Ejemplo n.º 1
0
 public function postSave(PropelPDO $con = null)
 {
     if ($this->permissionItemIdsChanged) {
         $currentPermissions = PermissionToPermissionItemPeer::retrieveByPermissionId($this->getId());
         $currentPermissionsItemIds = array_map(function ($element) {
             return $element->getPermissionItemId();
         }, $currentPermissions);
         // Remove old permissions
         $permissionsItemsToRemove = array_diff($currentPermissionsItemIds, $this->permissionItemIds);
         $this->deletePermissionItems($permissionsItemsToRemove);
         // Add new permissions
         $permissionsItemsToAdd = array_diff($this->permissionItemIds, $currentPermissionsItemIds);
         foreach ($permissionsItemsToAdd as $itemId) {
             if (!is_null($itemId) && $itemId !== '') {
                 $permissionToPermissionItem = new PermissionToPermissionItem();
                 $permissionToPermissionItem->setPermissionItemId($itemId);
                 $permissionToPermissionItem->setPermissionId($this->getId());
                 $permissionToPermissionItem->save();
             }
         }
     }
     $this->permissionItemIds = null;
     $this->permissionItemIdsChanged = false;
     return parent::postSave($con);
 }
Ejemplo n.º 2
0
 public function postSave(PropelPDO $con = null)
 {
     if ($this->permissionItemIdsChanged) {
         $this->deleteAllPermissionItems();
         foreach ($this->permissionItemIds as $itemId) {
             if (!is_null($itemId) && $itemId !== '') {
                 $permissionToPermissionItem = new PermissionToPermissionItem();
                 $permissionToPermissionItem->setPermissionItemId($itemId);
                 $permissionToPermissionItem->setPermissionId($this->getId());
                 $permissionToPermissionItem->save();
             }
         }
     }
     $this->permissionItemIds = null;
     $this->permissionItemIdsChanged = false;
     return parent::postSave($con);
 }
Ejemplo n.º 3
0
 /**
  * Returns a peer instance associated with this om.
  *
  * Since Peer classes are not to have any instance attributes, this method returns the
  * same instance for all member of this class. The method could therefore
  * be static, but this would prevent one from overriding the behavior.
  *
  * @return     PermissionPeer
  */
 public function getPeer()
 {
     if (self::$peer === null) {
         self::$peer = new PermissionPeer();
     }
     return self::$peer;
 }