first commit
This commit is contained in:
84
apps/backend/modules/sfGuardGroup/actions/actions.class.php
Normal file
84
apps/backend/modules/sfGuardGroup/actions/actions.class.php
Normal file
@@ -0,0 +1,84 @@
|
||||
<?php
|
||||
|
||||
class sfGuardGroupActions extends autosfGuardGroupActions
|
||||
{
|
||||
public function validateEdit()
|
||||
{
|
||||
if (!$this->getUser()->isSuperAdmin())
|
||||
{
|
||||
return $this->redirect('sfGuardAuth/secure');
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function validateList()
|
||||
{
|
||||
if (!$this->getUser()->isSuperAdmin())
|
||||
{
|
||||
return $this->redirect('sfGuardAuth/secure');
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public function addFiltersCriteria($c)
|
||||
{
|
||||
$c->add(sfGuardGroupPeer::NAME, array('admin', 'user'), Criteria::NOT_IN);
|
||||
|
||||
parent::addFiltersCriteria($c);
|
||||
}
|
||||
|
||||
protected function savesfGuardGroup($sf_guard_group)
|
||||
{
|
||||
|
||||
$sf_guard_group->setDescription($this->getRequestParameter('sf_guard_group[description]'));
|
||||
|
||||
parent::savesfGuardGroup($sf_guard_group);
|
||||
|
||||
$this->savePermissions($sf_guard_group);
|
||||
|
||||
$this->saveModulePermissions($sf_guard_group);
|
||||
}
|
||||
|
||||
protected function saveModulePermissions(sfGuardGroup $group)
|
||||
{
|
||||
$group_id = $group->getId();
|
||||
|
||||
sfGuardGroupModulePermissionPeer::doDelete($group_id);
|
||||
|
||||
$permission = new sfGuardGroupModulePermission();
|
||||
|
||||
$permission->setId($group_id);
|
||||
|
||||
$permissions = $this->getRequestParameter('module_permission');
|
||||
|
||||
$permission->setPermissions($permissions);
|
||||
|
||||
$permission->save();
|
||||
}
|
||||
|
||||
protected function savePermissions(sfGuardGroup $group)
|
||||
{
|
||||
$group_id = $group->getId();
|
||||
|
||||
$c = new Criteria();
|
||||
|
||||
$c->add(sfGuardGroupPermissionPeer::GROUP_ID, $group_id);
|
||||
|
||||
sfGuardGroupPermissionPeer::doDelete($c);
|
||||
|
||||
$permissions = $this->getRequestParameter('permission');
|
||||
|
||||
foreach ($permissions as $id)
|
||||
{
|
||||
$permission = new sfGuardGroupPermission();
|
||||
|
||||
$permission->setGroupId($group_id);
|
||||
|
||||
$permission->setPermissionId($id);
|
||||
|
||||
$permission->save();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user