/** * 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; }
/** * 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); }