Ejemplo n.º 1
0
 private function installActions(Module $module, $data)
 {
     if (!isset($data['actions'])) {
         return;
     }
     $actions = [];
     foreach ($data['actions'] as $name => $options) {
         $a = new Action();
         $a->setName($name);
         $a->setModule($module);
         if (isset($options['title'])) {
             $a->setTitle($options['title']);
         }
         if (isset($options['description'])) {
             $a->setDescription($options['description']);
         }
         if (isset($options['class'])) {
             $a->setClassName($options['class']);
         }
         // add acl
         if (isset($options['acl'])) {
             foreach ($options['acl'] as $group) {
                 $a->addGroup($this->getGroup($group));
             }
         }
         $a->save();
         $actions[$name] = $a->getId();
     }
     return $actions;
 }
Ejemplo n.º 2
0
 private function updateActions(Module $model, ModuleSchema $module)
 {
     $actions = [];
     foreach ($module->getActionNames() as $name) {
         $action = $module->getAction($name);
         $a = new Action();
         $a->setName($name);
         $a->setModule($model);
         $a->setTitle($action->getTitle());
         $a->setDescription($action->getDescription());
         $a->setClassName($action->getClass());
         // add acl
         foreach ($action->getAcl() as $group) {
             $a->addGroup($this->getGroup($group));
         }
         $a->save();
         $actions[$name] = $a->getId();
     }
     // remove obsolete actions
     ActionQuery::create()->filterByModule($model)->where('Action.Name NOT IN ?', $module->getActionNames()->toArray())->delete();
     return $actions;
 }
Ejemplo n.º 3
0
 /**
  * @param ChildAction $action The ChildAction object to add.
  */
 protected function doAddAction(ChildAction $action)
 {
     $this->collActions[] = $action;
     $action->setModule($this);
 }