Ejemplo n.º 1
0
 public function editUserPermissionAction()
 {
     if (isset($_GET['user_id'])) {
         $user_id = $_GET['user_id'];
     }
     $model = new Model_Wep();
     $permissionSerialized = $model->getRowById('user_permission', 'user_id', $user_id);
     //print_r($permissionSerialized['object']);exit;
     $permissionObj = unserialize($permissionSerialized['object']);
     //print_r($permissionObj);exit;
     $default['fields'] = $permissionObj->getProperties();
     $form = new Form_Admin_Editpermission();
     $form->edit($default);
     if ($_POST) {
         try {
             $data = $_POST;
             $i = 0;
             //print_r($data);exit;
             $permissionObj = new Iati_WEP_UserPermission();
             foreach ($data['default_fields'] as $eachField) {
                 if ($eachField == 'add') {
                     $permissionObj->setProperties('add_activity_elements');
                     $permissionObj->setProperties('add_activity');
                     $defaultKey[$i++] = 'add_activity_elements';
                     $defaultKey[$i++] = 'add_activity';
                 } elseif ($eachField == 'edit') {
                     $permissionObj->setProperties('edit_activity_elements');
                     $permissionObj->setProperties('edit_activity');
                     $defaultKey[$i++] = 'edit_activity_elements';
                     $defaultKey[$i++] = 'edit_activity';
                 } else {
                     if ($eachField == 'delete') {
                         $permissionObj->setProperties('delete_activity');
                         $defaultKey[$i++] = 'delete_activity';
                     } else {
                         $permissionObj->setProperties($eachField);
                         $defaultKey[$i++] = $eachField;
                     }
                 }
                 //$defaultKey[$i] = $eachField;
                 //$i++;
             }
             $permissionObj->setProperties('view_activities');
             $fieldString = serialize($permissionObj);
             $defaultFields['object'] = $fieldString;
             $defaultFields['user_id'] = $user_id;
             $defaultFieldId = $model->updateRow('user_permission', $defaultFields, 'user_id', $user_id);
             //print_r($defaultKey);exit;
             $privilegeFields['resource'] = serialize($defaultKey);
             $privilegeFields['owner_id'] = $user_id;
             $privilegeFieldId = $model->updateRow('Privilege', $privilegeFields, 'owner_id', $user_id);
             $this->_helper->FlashMessenger->addMessage(array('message' => 'User permission updated.'));
             $this->_redirect('admin/view-profile?user_id=' . $user_id);
         } catch (Exception $e) {
             print $e;
         }
     }
     $this->view->form = $form;
     if ($identity->role != 'superadmin') {
         $this->view->blockManager()->enable('partial/primarymenu.phtml');
         $this->view->blockManager()->enable('partial/add-activity-menu.phtml');
         $this->view->blockManager()->enable('partial/usermgmtmenu.phtml');
     }
 }