/** * [policyRBACSaveAction for save each policy and rbac option] * @param [integer] $id [policy id] * @return [none] [redirect to rbac-policy page] */ public function policyRBACSaveAction($id) { $data = Input::all(); $rules = array('rbac_role' => array('required'), 'rbac_data' => array('required'), 'rbac_action' => array('required'), 'rbac_condition' => array('required')); // Build the custom messages array. $messages = array('rbac_role.required' => 'กรุณาระบุชื่อบทบาท', 'rbac_data.required' => 'กรุณาระบุชื่อข้อมูล', 'rbac_action.required' => 'กรุณาระบุชื่อการกระทำ', 'rbac_condition.required' => 'กรุณาระบุชื่อเงื่อนไข'); // Create a new validator instance. $validator = Validator::make($data, $rules, $messages); if ($validator->passes()) { //For Role RolePolicy::where('policy_id', '=', $id)->delete(); foreach ($data['rbac_role'] as $key => $value) { $role_data['role_id'] = $value; $role_data['policy_id'] = $id; $datas_role[] = $role_data; } // var_dump($datas_role);exit; RolePolicy::insert($datas_role); //For Data DataPolicy::where('policy_id', '=', $id)->delete(); foreach ($data['rbac_data'] as $key => $value) { $_data['data_id'] = $value; $_data['policy_id'] = $id; $datas[] = $_data; } DataPolicy::insert($datas); //For Condition ConditionPolicy::where('policy_id', '=', $id)->delete(); foreach ($data['rbac_condition'] as $key => $value) { $cond_data['cond_id'] = $value; $cond_data['policy_id'] = $id; $datas_cond[] = $cond_data; } //var_dump($datas_cond);exit; ConditionPolicy::insert($datas_cond); //For Purpose PurposePolicy::where('policy_id', '=', $id)->delete(); if (isset($data['rbac_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 ObligationPolicy::where('policy_id', '=', $id)->delete(); if (isset($data['rbac_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 ActionPolicy::where('policy_id', '=', $id)->delete(); 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)); } else { return Redirect::to('/policy-rbac/' . $id)->withErrors($validator); } }
/** * [delDataById description] * @param integer $id policy id * @return array $datas data id information and count */ public function delDataById($id) { $data = ConditionPolicy::where('policy_id', '=', $id)->delete(); }