Example #1
0
 /** 
  * observe policy event deleting
  * 1. validate delete
  * 2. act, accept or refuse
  * 
  * @param $model
  * @return bool
  */
 public function deleting($model)
 {
     $errors = new MessageBag();
     //1. validate deleting
     $validating_policy = new POO();
     if (!$validating_policy->validatedeleting($model)) {
         $errors->add('Policy', $validating_policy->getError());
     }
     if ($errors->count()) {
         $model['errors'] = $errors;
         return false;
     }
     return true;
 }
Example #2
0
 /**
  * store a Policy of an org
  *
  * 1. Save Policy
  * 2. Save Contacs
  * @return Response
  */
 public function store($org_id = null)
 {
     if (!Input::has('policy')) {
         return new JSend('error', (array) Input::all(), 'Tidak ada data Policy.');
     }
     $errors = new MessageBag();
     $contact = [];
     DB::beginTransaction();
     //1. Validate Policy Parameter
     $policy = Input::get('policy');
     if (is_null($policy['id'])) {
         $is_new = true;
     } else {
         $is_new = false;
     }
     $policy_rules = ['code' => 'required'];
     //1a. Get original data
     $policy_data = \App\ThunderID\OrganisationManagementV1\Models\Policy::findornew($policy['id']);
     //1b. Validate Basic Policy Parameter
     $validator = Validator::make($policy, $policy_rules);
     if (!$validator->passes()) {
         $errors->add('Policy', $validator->errors());
     } else {
         $validating_policy = new POO();
         if (!$validating_policy->validate($policy)) {
             $errors->add('Policy', $validating_policy->getError());
         } else {
             //if validator passed, save Policy
             $validated_policy = new POO();
             $validated_policy = $validated_policy->parse($policy);
             $policy_data['organisation_id'] = $org_id;
             $policy_data = $policy_data->fill($validated_policy);
             if (!$policy_data->save()) {
                 $errors->add('Policy', $policy_data->getError());
             }
         }
     }
     //End of validate Policy
     if ($errors->count()) {
         DB::rollback();
         return new JSend('error', (array) Input::all(), $errors);
     }
     DB::commit();
     $final_Policy = \App\ThunderID\OrganisationManagementV1\Models\Policy::id($policy_data['id'])->organisationid($org_id)->first()->toArray();
     return new JSend('success', (array) $final_Policy);
 }