diff --git a/canapGEST/API/app/Http/Controllers/ApplicantsController.php b/canapGEST/API/app/Http/Controllers/ApplicantsController.php index 716fc6aa39163097510036fda03eb36f7b4dfd29..b8a54ce0ccacdc5d47c9f42f586139fc2f89a162 100644 --- a/canapGEST/API/app/Http/Controllers/ApplicantsController.php +++ b/canapGEST/API/app/Http/Controllers/ApplicantsController.php @@ -30,10 +30,20 @@ class ApplicantsController extends Controller $applicants = []; $job_applicants = DB::table('applicant') + ->join('position', 'applicant.fk_position', '=', 'position.position_id') + ->join('job', 'position.fk_job', '=', 'job.job_id') + ->join('location', 'position.fk_location', '=', 'location.location_id') + ->get(); + + if (AccessLevelHelper::hasPermittedRole($this->user_role, 'formateur')) { + $job_applicants = DB::table('applicant') ->join('position', 'applicant.fk_position', '=', 'position.position_id') ->join('job', 'position.fk_job', '=', 'job.job_id') ->join('location', 'position.fk_location', '=', 'location.location_id') + ->where('fk_status', 'Valide') ->get(); + } + foreach ($job_applicants as $key => $applicant) { if (in_array($applicant->job_short_value, $this->user_permissions)) { @@ -49,11 +59,20 @@ class ApplicantsController extends Controller if (AccessLevelHelper::isJobValid($job)) { $has_access = AccessLevelHelper::hasAccessToJob($job, $this->user_permissions); if ($has_access) { - return DB::table('applicant') - ->join('position', 'applicant.fk_position', '=', 'position.position_id') - ->join('job', 'position.fk_job', '=', 'job.job_id') - ->where('job_short_value', $job) - ->get(); + if (AccessLevelHelper::hasPermittedRole($this->user_role, 'formateur')) { + return DB::table('applicant') + ->join('position', 'applicant.fk_position', '=', 'position.position_id') + ->join('job', 'position.fk_job', '=', 'job.job_id') + ->where('job_short_value', $job) + ->where('fk_status', 'Valide') + ->get(); + } else { + return DB::table('applicant') + ->join('position', 'applicant.fk_position', '=', 'position.position_id') + ->join('job', 'position.fk_job', '=', 'job.job_id') + ->where('job_short_value', $job) + ->get(); + } } else { return abort(403, lang::get('http.unauthorized')); } @@ -68,8 +87,13 @@ class ApplicantsController extends Controller $has_access = AccessLevelHelper::hasAccessToJob($applicant_job, $this->user_permissions); if ($has_access) { - $data = $this->getOne($id); - return response()->json($data, 200); + $data = AccessLevelHelper::hasPermittedRole($this->user_role, 'formateur') ? $this->getOne($id, true) : $this->getOne($id, false); + + if ($data['personal_data'] == null) { + return abort(403, lang::get('http.unauthorized')); + } else { + return response()->json($data, 200); + } } else { return abort(403, lang::get('http.unauthorized')); } @@ -93,7 +117,10 @@ class ApplicantsController extends Controller $has_access = AccessLevelHelper::hasAccessToJob($applicant_job, $this->user_permissions); if ($has_access) { $tmp_file_path = sys_get_temp_dir() . '\\' .$id .'-export.json'; - $json = json_encode($this->getOne($id)); + $json = AccessLevelHelper::hasPermittedRole($this->user_role, 'formateur') ? json_encode($this->getOne($id, true)) : json_encode($this->getOne($id, false)); + if (json_decode($json)->personal_data == null) { + return abort(403, lang::get('http.unauthorized')); + } File::put($tmp_file_path, $json); return response()->download($tmp_file_path, $id .'-export.json', ['Content-Type' => 'application/json'])->deleteFileAfterSend(true); } else { @@ -101,10 +128,14 @@ class ApplicantsController extends Controller } } - private function getOne($id) + private function getOne($id, $status_restricted) { // get applicant - $applicant = DB::table('applicant')->where('applicant_id', $id)->first(); + if ($status_restricted) { + $applicant = DB::table('applicant')->where('applicant_id', $id)->where('fk_status', 'Valide')->first(); + } else { + $applicant = DB::table('applicant')->where('applicant_id', $id)->first(); + } // get responsibles $main_resp = DB::table('applicant')->where('applicant_id', $id) ->select('responsible_id', 'responsible_gender', 'responsible_name', 'responsible_fsname', 'responsible_street', 'responsible_npa', 'responsible_phone') diff --git a/canapGEST/Documentation/Exports PDF/Rapport_Nicolas_Crausaz_18.04.19.pdf b/canapGEST/Documentation/Exports PDF/Rapport_Nicolas_Crausaz_18.04.19.pdf deleted file mode 100644 index 0c4eaa6564e2f2de046df603a88c11ec39a710f2..0000000000000000000000000000000000000000 Binary files a/canapGEST/Documentation/Exports PDF/Rapport_Nicolas_Crausaz_18.04.19.pdf and /dev/null differ diff --git a/canapGEST/Documentation/journal_travail.xlsx b/canapGEST/Documentation/journal_travail.xlsx index 7a7bee3ed0b6e8877cc40309297fe010f63738c9..bd803e57132a4661342354698f3bb149a7722861 100644 Binary files a/canapGEST/Documentation/journal_travail.xlsx and b/canapGEST/Documentation/journal_travail.xlsx differ diff --git a/canapGEST/Site/README.md b/canapGEST/Site/README.md index ecadf251bfd199e4b7d10257b41c87ca5334b4ef..c8626f517a53592896c951a84bc3461ee057750f 100644 --- a/canapGEST/Site/README.md +++ b/canapGEST/Site/README.md @@ -1,4 +1,4 @@ -# vuetify-test +# Canap-gest ## Project setup ``` diff --git a/canapGEST/Site/package-lock.json b/canapGEST/Site/package-lock.json index 6c2c0555b476eb4b372ebce76693ebe6e62cd9ae..79a8748d90fb16ae28814cd00acd22ac2d77458f 100644 --- a/canapGEST/Site/package-lock.json +++ b/canapGEST/Site/package-lock.json @@ -1,5 +1,5 @@ { - "name": "vuetify-test", + "name": "ganap-gest", "version": "0.1.0", "lockfileVersion": 1, "requires": true, diff --git a/canapGEST/Site/package.json b/canapGEST/Site/package.json index 7f7bba355aa54f72195693203ea6d516488c064d..82b4faf0c7ce27b197bdd66e7da2809aa2f55f66 100644 --- a/canapGEST/Site/package.json +++ b/canapGEST/Site/package.json @@ -1,5 +1,5 @@ { - "name": "vuetify-test", + "name": "canap-gest", "version": "0.1.0", "private": true, "scripts": {