Author: david
Date: Mon Nov 1 15:00:53 2010
New Revision: 8752
Log:
Refactor common code into AclGroupEditDefaultAclAction. Refs issue #1867.
Modified:
trunk/plugins/qbAclPlugin/modules/aclGroup/actions/editActorAclAction.class.php
trunk/plugins/qbAclPlugin/modules/aclGroup/actions/editDefaultAclAction.class.php
Modified:
trunk/plugins/qbAclPlugin/modules/aclGroup/actions/editActorAclAction.class.php
==============================================================================
---
trunk/plugins/qbAclPlugin/modules/aclGroup/actions/editActorAclAction.class.php
Mon Nov 1 14:43:11 2010 (r8751)
+++
trunk/plugins/qbAclPlugin/modules/aclGroup/actions/editActorAclAction.class.php
Mon Nov 1 15:00:53 2010 (r8752)
@@ -17,24 +17,15 @@
* along with Qubit Toolkit. If not, see <http://www.gnu.org/licenses/>.
*/
-class AclGroupEditActorAclAction extends sfAction
+class AclGroupEditActorAclAction extends AclGroupEditDefaultAclAction
{
+ public static $NAMES = array(
+ 'actor'
+ );
+
public function execute($request)
{
- $this->form = new sfForm;
- $this->group = new QubitAclGroup;
-
- if (isset($this->request->id))
- {
- $this->group = QubitAclGroup::getById($this->request->id);
-
- if (!isset($this->group))
- {
- $this->forward404();
- }
- }
-
- $this->form->getValidatorSchema()->setOption('allow_extra_fields', true);
+ parent::execute($request);
// Always include root actor permissions
$this->actors = array(QubitActor::ROOT_ID => null);
@@ -71,56 +62,4 @@
}
}
}
-
- protected function processForm()
- {
- foreach ($this->request->acl as $key => $value)
- {
- // If key has an underscore, then we are creating a new permission
- if (1 == preg_match('/([\w]+)_(.*)/', $key, $matches))
- {
- $actor = null;
- list ($action, $uri) = array_slice($matches, 1, 2);
- $params = $this->context->routing->parse(Qubit::pathInfo($uri));
- if (isset($params['id']))
- {
- $actor = QubitActor::getById($params['id']);
- }
-
- if (null === $actor)
- {
- continue;
- }
-
- if (QubitAcl::INHERIT != $value && isset(QubitAcl::$ACTIONS[$action]))
- {
- $aclPermission = new QubitAclPermission;
- $aclPermission->action = $action;
- $aclPermission->grantDeny = (QubitAcl::GRANT == $value) ? 1 : 0;
- $aclPermission->object = $actor;
-
- $this->group->aclPermissions[] = $aclPermission;
- }
- }
-
- // Otherwise, update an existing permission
- else if (null !== $aclPermission = QubitAclPermission::getById($key))
- {
- if ($value == QubitAcl::INHERIT)
- {
- $aclPermission->delete();
- }
- else
- {
- $aclPermission->grantDeny = (QubitAcl::GRANT == $value) ? 1 : 0;
- $this->group->aclPermissions[] = $aclPermission;
- }
- }
- }
-
- // Save updates
- $this->group->save();
-
- return $this;
- }
}
Modified:
trunk/plugins/qbAclPlugin/modules/aclGroup/actions/editDefaultAclAction.class.php
==============================================================================
---
trunk/plugins/qbAclPlugin/modules/aclGroup/actions/editDefaultAclAction.class.php
Mon Nov 1 14:43:11 2010 (r8751)
+++
trunk/plugins/qbAclPlugin/modules/aclGroup/actions/editDefaultAclAction.class.php
Mon Nov 1 15:00:53 2010 (r8752)
@@ -52,6 +52,7 @@
switch ($resource->className)
{
case 'QubitInformationObject':
+ case 'QubitActor':
$aclPermission->object = $resource;
break;
--
You received this message because you are subscribed to the Google Groups
"Qubit Toolkit Commits" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/qubit-commits?hl=en.