/** * 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); } }
/** * 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']); } }
/** * 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'); }
/** * 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); }
/** * 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'); }
/** * 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); } } }