When Magic's pane preview functionality is turned on, it breaks UUID on Fieldable Panels Panes. This happens because magic forces a pane form submission to generate the preview, which creates the FPP before it's saved by the user. This means that the following code fails, from fieldable_panels_panes/plugins/content_types/fieldable_panels_pane.inc:

if (!empty($entity->is_new)) {
  if (module_exists('uuid') && isset($entity->uuid)) {
    $entity_id = 'uuid:' . $entity->uuid;
  }
  else {
    $entity_id = 'fpid:' . $entity->fpid;
  }

This fails because when magic forces the save, $entity->uuid doesn't exist yet, but later when the user clicks "Save", $entity->uuid DOES exist but $entity->is_new isn't true anymore since magic already created it earlier to generate the preview. So $entity_id is ALWAYS 'fpid;...' and UUID's are never applied.

Workaround is to disable pane preview on admin/panopoly/settings/panopoly_magic.

Comments

dsnopek’s picture

The code in panopoly_magic_form_alter() starting at line 237, saves the FPP in a pretty hackity way for the preview... Maybe if it were to "fully save" the FPP using the Entity API, then the uuid module would set $entity->uuid and it would it work?

http://drupalcode.org/project/panopoly_magic.git/blob/refs/heads/7.x-1.x...

mglaman’s picture

Status: Active » Closed (won't fix)

Per #2246893: Does not properly set pane subtype on content edit form submit., this logic within Fieldable Panels Panes has been changed so a UUID will be provided regardless the ->is_new flag, marking this bug obsolete.