Преглед изворни кода

Arreglo en la generación de las keys para las batchactions

Your Name пре 7 година
родитељ
комит
6166199939
1 измењених фајлова са 12 додато и 3 уклоњено
  1. 12 3
      Admin/WorkflowBaseAdmin.php

+ 12 - 3
Admin/WorkflowBaseAdmin.php

@@ -14,8 +14,9 @@ class WorkflowBaseAdmin extends BaseAdmin
     {
         $actions = parent::getBatchActions();
         $tmp = $actions;
-        $actions = [];
-        $actions['Default'] = array(
+        asort($tmp);
+        $actionsBase = [];
+        $actionsBase['Default'] = array(
             'label' => $this->trans('Default', array(), 'WorkflowLabel'),
             'group' => $tmp
         );
@@ -30,6 +31,7 @@ class WorkflowBaseAdmin extends BaseAdmin
             if (count($workflows) == 0) {
                 $workflows[] = $registry->get($tmpEntity);
             }
+            $actions += $this->addActions($workflows, 'Entity');
         } catch (\Exception $ex) {
         }
 
@@ -39,8 +41,14 @@ class WorkflowBaseAdmin extends BaseAdmin
             foreach ($this->batchWorkflows as $name) {
                 $workflows[] = $registry->get($tmpEntity, $name);
             }
+            $actions += $this->addActions($workflows, 'File');
         }
+        asort($actions);
+        return $actionsBase + $actions;
+    }
 
+    private function addActions($workflows, $place)
+    {
         foreach ($workflows as $workflow) {
             $definition = method_exists($workflow, 'getSubject')
                 ? $workflow->getDefinition($workflow->getSubject())
@@ -54,7 +62,7 @@ class WorkflowBaseAdmin extends BaseAdmin
                     $label = $transition->getName();
                 }
                 $label .= " ( {$transition->getName()} )";
-                $tmp[$workflow->getName() . ':' . $transition->getName()] = array(
+                $tmp["workflow:" . $place . ":" . $workflow->getName() . ':' . $transition->getName()] = array(
                     'label' => $label,
                     'ask_confirmation' => true,
                     'workflow' => array(
@@ -63,6 +71,7 @@ class WorkflowBaseAdmin extends BaseAdmin
                     ),
                 );
             }
+            asort($tmp);
             $actions[$workflow->getName()] = array(
                 'label' => $this->trans($workflow->getName(), array(), 'WorkflowLabel'),
                 'group' => $tmp