/**
  * afterSave
  *
  * @param Model $model
  * @param boolean $created
  * @return void
  */
 public function afterSave(Model $model, $created)
 {
     if (!$created) {
         $parent = $model->parentNode();
         $parent = $model->node($parent);
         $node = $model->node();
         $aro = $node[0];
         $aro['Aro']['parent_id'] = $parent[0]['Aro']['id'];
         $model->Aro->save($aro);
     }
 }
Example #2
0
 /**
  * afterSave
  *
  * @param Model $model
  * @param boolean $created
  * @return void
  */
 public function afterSave(Model $model, $created)
 {
     // update ACO alias
     if (!empty($model->data['User']['username'])) {
         $node = $model->node();
         $aro = $node[0];
         $model->Aro->id = $aro['Aro']['id'];
         $model->Aro->saveField('alias', $model->data['User']['username']);
     }
 }
Example #3
0
 /**
  * afterSave
  *
  * @param Model $model
  * @param boolean $created
  * @return void
  */
 public function afterSave(Model $model, $created, $options = array())
 {
     // update ACO alias
     if (!empty($model->data['User']['username'])) {
         $node = $model->node();
         $aro = $node[0];
         $model->Aro->id = $aro['Aro']['id'];
         $model->Aro->saveField('alias', $model->data['User']['username']);
     }
     Cache::clearGroup('acl', 'permissions');
 }
Example #4
0
 /**
  * afterSave
  *
  * Update the corresponding ACO record alias
  */
 public function afterSave(Model $model, $created)
 {
     $node = $model->node();
     $aro = $node[0];
     if (!empty($model->data[$model->alias]['alias'])) {
         $aro['Aro']['alias'] = sprintf('Role-%s', Inflector::slug($model->data[$model->alias]['alias']));
     }
     if (!empty($model->data[$model->alias]['parent_id'])) {
         $aro['Aro']['parent_id'] = $model->data['Role']['parent_id'];
     }
     $model->Aro->save($aro);
 }
Example #5
0
 /**
  * afterSave
  *
  * Update the corresponding ACO record alias
  */
 public function afterSave(Model $model, $created, $options = array())
 {
     $node = $model->node();
     $aro = $node[0];
     if (!empty($model->data[$model->alias]['alias'])) {
         $aro['Aro']['alias'] = sprintf('Role-%s', Inflector::slug($model->data[$model->alias]['alias']));
     }
     if (!empty($model->data[$model->alias]['parent_id'])) {
         $aro['Aro']['parent_id'] = $model->data['Role']['parent_id'];
     }
     $model->Aro->save($aro);
     Cache::clearGroup('acl', 'permissions');
 }
Example #6
0
 /**
  * afterSave
  *
  * Creates an ACO record for current model record, and give permissions to the
  * creator. If 'RolePermission' is present, 'grant' or 'inherit' permissions
  * for the role.
  */
 public function afterSave(Model $model, $created, $options = array())
 {
     if (empty($model->data[$model->alias][$model->primaryKey])) {
         return;
     }
     $node = $model->node();
     $aco = $node[0];
     $alias = $model->alias;
     $aco['Aco']['alias'] = sprintf('%s.%s', $alias, $model->data[$alias][$model->primaryKey]);
     $model->Aco->save($aco);
     if ($created && ($user = AuthComponent::user())) {
         $aro = array('User' => $user);
         $model->Aco->Permission->allow($aro, $aco['Aco']['alias']);
     }
     if (!empty($model->data['RolePermission'])) {
         foreach ($model->data['RolePermission'] as $roleId => $checked) {
             $aro = array('model' => 'Role', 'foreign_key' => $roleId);
             $aco = array('model' => $model->alias, 'foreign_key' => $model->id);
             $model->Aco->Permission->allow($aro, $aco, '*', $checked ? 1 : 0);
         }
     }
 }