Example #1
0
 /**
  * [policyRBACEditedAction this action take after edit form will delete all of rabc relate with policy id
  * and insert the new one]
  * @param  [integer] $id [policy id]
  * @return [array]     [description]
  */
 public function policyRBACEditedAction($id)
 {
     $data = Input::all();
     //var_dump($data);exit();
     //Step 1. remove each rbac in table
     $role_obj = new RolePolicy();
     $role_obj->delDataById($id);
     $data_obj = new DataPolicy();
     $data_obj->delDataById($id);
     $cond_obj = new ConditionPolicy();
     $cond_obj->delDataById($id);
     $purp_obj = new PurposePolicy();
     $purp_obj->delDataById($id);
     $obl_obj = new ObligationPolicy();
     $obl_obj->delDataById($id);
     $action_obj = new ActionPolicy();
     $action_obj->delDataById($id);
     //Step 2. insert new rbac
     //For Role
     foreach ($data['rbac_role'] as $key => $value) {
         $role_data['role_id'] = $value;
         $role_data['policy_id'] = $id;
         $datas_role[] = $role_data;
     }
     RolePolicy::insert($datas_role);
     //For Data
     foreach ($data['rbac_data'] as $key => $value) {
         $_data['data_id'] = $value;
         $_data['policy_id'] = $id;
         $datas[] = $_data;
     }
     DataPolicy::insert($datas);
     //For Condition
     foreach ($data['rbac_condition'] as $key => $value) {
         $cond_data['cond_id'] = $value;
         $cond_data['policy_id'] = $id;
         $datas_cond[] = $cond_data;
     }
     ConditionPolicy::insert($datas_cond);
     //For Purpose
     foreach ($data['rbac_purpose'] as $key => $value) {
         $purp_data['purp_id'] = $value;
         $purp_data['policy_id'] = $id;
         $datas_purp[] = $purp_data;
     }
     PurposePolicy::insert($datas_purp);
     //For Obligation
     foreach ($data['rbac_obligation'] as $key => $value) {
         $obl_data['obl_id'] = $value;
         $obl_data['policy_id'] = $id;
         $datas_obl[] = $obl_data;
     }
     ObligationPolicy::insert($datas_obl);
     //For Action
     foreach ($data['rbac_action'] as $key => $value) {
         $action_data['action_id'] = $value;
         $action_data['policy_id'] = $id;
         $datas_action[] = $action_data;
     }
     ActionPolicy::insert($datas_action);
     return Redirect::to('/policy-rbac/' . $id)->with('success', 'อาร์บีเอซี:มีนโยบายคลังฯรหัส = ' . $id . ' แก้ไขสำเร็จ.')->with('rbac_data', self::policyRBACEditAction($id));
 }