Skip to content
Snippets Groups Projects
Commit 1942a7d0 authored by nicrausaz's avatar nicrausaz
Browse files

Corrections API, Rapport

parent 8a2cb0c3
No related branches found
No related tags found
No related merge requests found
...@@ -68,6 +68,6 @@ class AccessLevelHelper ...@@ -68,6 +68,6 @@ class AccessLevelHelper
} }
} }
} }
return ["groups" => $user_alloweds, "role" => $user_role]; return ["groups" => array_unique($user_alloweds), "role" => $user_role];
} }
} }
\ No newline at end of file
...@@ -26,17 +26,18 @@ class ApplicantsController extends Controller ...@@ -26,17 +26,18 @@ class ApplicantsController extends Controller
public function getAll() public function getAll()
{ {
// Récupère toutes les candidatures autorisée // Récupère toutes les candidatures autorisées
$applicants = []; $applicants = [];
foreach ($this->user_permissions as $job) {
$job_applicants = 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 (count($job_applicants)) { $job_applicants = DB::table('applicant')
array_push($applicants, $job_applicants); ->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();
foreach ($job_applicants as $key => $applicant) {
if (in_array($applicant->job_short_value, $this->user_permissions)) {
array_push($applicants, $applicant);
} }
} }
return $applicants; return $applicants;
......
...@@ -8,7 +8,7 @@ use Illuminate\Support\Facades\DB; ...@@ -8,7 +8,7 @@ use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Lang; use Illuminate\Support\Facades\Lang;
use App\Helpers\AccessLevelHelper; use App\Helpers\AccessLevelHelper;
class PositionController extends Controller class PositionsController extends Controller
{ {
private $request; private $request;
private $user_permissions; private $user_permissions;
......
...@@ -33,8 +33,17 @@ class UsersController extends Controller ...@@ -33,8 +33,17 @@ class UsersController extends Controller
public function getPermittedJobs() public function getPermittedJobs()
{ {
// TODO: return full job values too $result = [];
return $this->user_permissions;
foreach (DB::table('job')->get() as $key => $value) {
foreach ($this->user_permissions as $key => $perm) {
if ($perm == $value->job_short_value) {
array_push($result, ["job_short_value" => $value->job_short_value, "job_full_value" => $value->job_full_value]);
}
}
}
return ($result);
// TODO: remove duplicates
} }
public function getCommentedAndMarkedApplicantsByUser() public function getCommentedAndMarkedApplicantsByUser()
......
...@@ -35,14 +35,14 @@ $router->group(['middleware' => 'jwt.auth'], function () use ($router) { ...@@ -35,14 +35,14 @@ $router->group(['middleware' => 'jwt.auth'], function () use ($router) {
$router->patch('api/status/applicant/{id:[0-9]+}', 'StatusController@updateApplicantStatus'); $router->patch('api/status/applicant/{id:[0-9]+}', 'StatusController@updateApplicantStatus');
// Positions, jobs and locations // Positions, jobs and locations
$router->get('api/positions', 'PositionController@getAll'); $router->get('api/positions', 'PositionsController@getAll');
$router->get('api/locations', 'PositionController@getAvailableLocations'); $router->get('api/locations', 'PositionsController@getAvailableLocations');
$router->get('api/jobs', 'PositionController@getAvailableJobs'); $router->get('api/jobs', 'PositionsController@getAvailableJobs');
$router->put('api/position', 'PositionController@createPosition'); $router->put('api/position', 'PositionsController@createPosition');
$router->put('api/location', 'PositionController@createLocation'); $router->put('api/location', 'PositionsController@createLocation');
$router->put('api/job', 'PositionController@createJob'); $router->put('api/job', 'PositionsController@createJob');
$router->patch('api/position/{id:[0-9]+}', 'PositionController@updatePosition'); $router->patch('api/position/{id:[0-9]+}', 'PositionsController@updatePosition');
$router->delete('api/position/{id:[0-9]+}', 'PositionController@deletePosition'); $router->delete('api/position/{id:[0-9]+}', 'PositionsController@deletePosition');
// Files // Files
$router->get('api/file/{id:[0-9]+}', 'FilesController@getFile'); $router->get('api/file/{id:[0-9]+}', 'FilesController@getFile');
......
No preview for this file type
No preview for this file type
...@@ -3,11 +3,17 @@ ...@@ -3,11 +3,17 @@
<h1>Postulations</h1> <h1>Postulations</h1>
<div> <div>
<!-- <pre> <!-- <pre>
{{$store.state.moduleApplications.applications[0]}} {{$store.state.moduleApplications.applications}}
</pre>--> </pre> -->
<v-card-title> <v-card-title>
Métier <v-select
{{$store.state.moduleUser.permittedJobs}} :items="$store.state.moduleUser.permittedJobs"
label="Métier (tous)"
item-text="job_full_value"
item-value="job_short_value"
v-model="jobFilter"
></v-select>
<v-spacer></v-spacer> <v-spacer></v-spacer>
<v-text-field <v-text-field
v-model="search" v-model="search"
...@@ -32,7 +38,7 @@ ...@@ -32,7 +38,7 @@
<v-checkbox :input-value="props.selected" primary hide-details></v-checkbox> <v-checkbox :input-value="props.selected" primary hide-details></v-checkbox>
</td> </td>
<td>{{ props.item.applicant_name }} {{ props.item.applicant_fsname }}</td> <td>{{ props.item.applicant_name }} {{ props.item.applicant_fsname }}</td>
<td>{{ props.item.applicant_formation }}, {{ props.item.applicant_formation_location }}</td> <td>{{ props.item.job_full_value }}, {{ props.item.location_site }}</td>
<td>{{ props.item.applicant_address_street }} {{ props.item.applicant_address_npa }}</td> <td>{{ props.item.applicant_address_street }} {{ props.item.applicant_address_npa }}</td>
<td>{{ props.item.applicant_mail }}</td> <td>{{ props.item.applicant_mail }}</td>
<td>{{ props.item.applicant_foreign_authorization }}</td> <td>{{ props.item.applicant_foreign_authorization }}</td>
...@@ -55,9 +61,6 @@ ...@@ -55,9 +61,6 @@
</tr> </tr>
</template> </template>
</v-data-table> </v-data-table>
<div class="text-xs-center pt-2">
<v-pagination v-model="pagination.page" :length="pages"></v-pagination>
</div>
</div> </div>
</div> </div>
</template> </template>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment