Пример #1
0
 public function saveData($aGroupData)
 {
     if ($this->iGroupId === null) {
         $oGroup = new Group();
     } else {
         $oGroup = GroupQuery::create()->findPk($this->iGroupId);
     }
     $oGroup->setName($aGroupData['name']);
     if ($oGroup->isNew() && count(self::$ROLES) > 0) {
         foreach (self::$ROLES as $sRoleKey) {
             $oGroupRole = new GroupRole();
             $oGroupRole->setRoleKey($sRoleKey);
             $oGroup->addGroupRole($oGroupRole);
         }
     } else {
         foreach ($oGroup->getGroupRoles() as $oGroupRole) {
             $oGroupRole->delete();
         }
         foreach ($aGroupData['roles'] as $sRoleKey) {
             $oGroupRole = new GroupRole();
             $oGroupRole->setRoleKey($sRoleKey);
             $oGroup->addGroupRole($oGroupRole);
         }
     }
     return $oGroup->save();
 }