diff --git a/app/Http/Controllers/Admin/.prettierrc b/app/Http/Controllers/Admin/.prettierrc deleted file mode 100644 index 222861c..0000000 --- a/app/Http/Controllers/Admin/.prettierrc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "tabWidth": 2, - "useTabs": false -} diff --git a/app/Http/Controllers/Admin/MainRoleSkillsController.php b/app/Http/Controllers/Admin/MainRoleSkillsController.php index 2de963a..d2dfa07 100644 --- a/app/Http/Controllers/Admin/MainRoleSkillsController.php +++ b/app/Http/Controllers/Admin/MainRoleSkillsController.php @@ -43,6 +43,7 @@ public function index() ->orWhereIn('scored_id', $scores) ->with([ 'mainRole:id,name,department_id', + 'mainRole.department:id,name', 'skill:id,name', 'score:id,alias' ]) @@ -95,46 +96,56 @@ public function create() public function store(StoreMainRoleSkills $request) { - try { - $create = []; - foreach ($request['skills'] as $skill) { - $create[] = [ - 'main_role_id' => $request['main_role_id'], - 'skill_id' => $skill['skill_id'], - 'scored_id' => $skill['scored_id'], - 'created_at' => now(), - 'updated_at' => now(), - ]; - } + $create = []; + foreach ($request['skills'] as $skill) { + $create[] = [ + 'main_role_id' => $request['main_role_id'], + 'skill_id' => $skill['skill_id'], + 'scored_id' => $skill['scored_id'], + 'created_at' => now(), + 'updated_at' => now(), + ]; + } - MainRoleSkills::insert($create); + MainRoleSkills::insert($create); - return $this->index(); - - } catch (\Illuminate\Database\QueryException $e) { - // Si hay error de restricción única - if ($e->getCode() === '23000') { - return back()->withErrors(['skills' => 'Una o más habilidades ya están asignadas a este rol.']); - } - throw $e; - } + return $this->index(); } - public function update(UpdateMainRoleSkills $request, MainRoleSkills $mainRoleSkills) + public function edit(MainRoleSkills $mainRoleSkills) { - $mainRoleSkills->update($request->all()); + $mainRoleSkills->load(['mainRole.department', 'skill.department', 'score']); + $scores = Score::orderBy('alias', 'ASC')->get(); + + return $this->vuew('edit', [ + 'mainRoleSkills' => $mainRoleSkills, + 'scores' => $scores, + ]); } - public function destroy($mainRoleId) + + public function update(UpdateMainRoleSkills $request, $id) + { + $mainRoleSkills = MainRoleSkills::findOrFail($id); + + $mainRoleSkills->update([ + 'scored_id' => $request->scored_id, + ]); + + return redirect()->back(); + } + + public function destroy($id) { try { - // Eliminar todas las habilidades asociadas a este rol principal - MainRoleSkills::where('main_role_id', $mainRoleId)->delete(); + $mainRoleSkills = MainRoleSkills::findOrFail($id); + + $mainRoleSkills->delete(); return $this->index(); } catch (\Throwable $th) { - Log::channel('mainRoleSkills')->error($th->getMessage()); - return response()->json(['error' => 'Error al eliminar las habilidades'], 500); + Log::error($th->getMessage()); + return response()->json(['error' => 'Error al eliminar las habilidades']); } } } diff --git a/app/Http/Requests/UpdateMainRoleSkills.php b/app/Http/Requests/UpdateMainRoleSkills.php index eeac835..85c3f59 100644 --- a/app/Http/Requests/UpdateMainRoleSkills.php +++ b/app/Http/Requests/UpdateMainRoleSkills.php @@ -32,8 +32,6 @@ public function authorize() public function rules() { return [ - 'main_role_id' => ['required', 'integer'], - 'skill_id' => ['required', 'integer'], 'scored_id' => ['required', 'integer'], ]; } diff --git a/resources/js/Components/App/SkillsRole.vue b/resources/js/Components/App/SkillsRole.vue index df4b4d3..da54744 100644 --- a/resources/js/Components/App/SkillsRole.vue +++ b/resources/js/Components/App/SkillsRole.vue @@ -1,22 +1,34 @@ - + {{title}} * - - - {{ $t('noRecords') }} - + + + {{ $t('noRecords') }} + {{ onError }} - \ No newline at end of file + diff --git a/resources/js/Components/Dashboard/Modal/Edit.vue b/resources/js/Components/Dashboard/Modal/Edit.vue index 6a71834..ec1ed6a 100644 --- a/resources/js/Components/Dashboard/Modal/Edit.vue +++ b/resources/js/Components/Dashboard/Modal/Edit.vue @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + Información: + + + + Rol: {{ model.main_role?.name }} + + + Departamento: + {{ model.main_role?.department?.name }} + + + Habilidad: {{ model.skill?.name }} + + - - + + + + Cambiar Puntuación + + + + Puntuación actual: + {{ model.score?.alias }} + + + + + + + diff --git a/resources/js/Pages/Admin/MainRoleSkills/Index.vue b/resources/js/Pages/Admin/MainRoleSkills/Index.vue index 6e57609..987357f 100644 --- a/resources/js/Pages/Admin/MainRoleSkills/Index.vue +++ b/resources/js/Pages/Admin/MainRoleSkills/Index.vue @@ -85,6 +85,7 @@ const goBack = () => { v-if="selectedRole" :mainRoleSkills="filteredMainRoleSkills" :selectedRole="selectedRole" + :scores="scores" @select="handleSkillSelect" />
{{ onError }}
+ Rol: {{ model.main_role?.name }} +
+ Departamento: + {{ model.main_role?.department?.name }} +
+ Habilidad: {{ model.skill?.name }} +
+ Puntuación actual: + {{ model.score?.alias }} +