grade controller
Browse files
.gitignore
CHANGED
|
@@ -51,3 +51,4 @@ use cases general.puml
|
|
| 51 |
model.dbml
|
| 52 |
new.dbml
|
| 53 |
nuevo.dbml
|
|
|
|
|
|
| 51 |
model.dbml
|
| 52 |
new.dbml
|
| 53 |
nuevo.dbml
|
| 54 |
+
**.mermaid
|
app/app/Http/Controllers/PersonaController.php
CHANGED
|
@@ -8,30 +8,19 @@ use Illuminate\Http\Request;
|
|
| 8 |
use Illuminate\Validation\Rule;
|
| 9 |
use Illuminate\Support\Facades\Validator;
|
| 10 |
|
| 11 |
-
class PersonaController extends Controller
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
* Display a listing of the resource.
|
| 15 |
-
*/
|
| 16 |
-
public function index()
|
| 17 |
-
{
|
| 18 |
$personas = Persona::all();
|
| 19 |
return view('admin.personas.index', ['personas'=>$personas]);
|
| 20 |
}
|
| 21 |
|
| 22 |
-
/**
|
| 23 |
-
* Show the form for creating a new resource.
|
| 24 |
-
*/
|
| 25 |
public function create(){
|
| 26 |
return view('admin.personas.create');
|
| 27 |
}
|
| 28 |
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
*/
|
| 32 |
-
public function store(Request $request)
|
| 33 |
-
{
|
| 34 |
-
//dd($request->all());
|
| 35 |
$request->validate([
|
| 36 |
'nombre' => 'required|string|max:255',
|
| 37 |
'apellido_paterno' => 'required|string|max:255',
|
|
@@ -57,31 +46,19 @@ class PersonaController extends Controller
|
|
| 57 |
->with('icono', 'success');
|
| 58 |
}
|
| 59 |
|
| 60 |
-
|
| 61 |
-
* Display the specified resource.
|
| 62 |
-
*/
|
| 63 |
-
public function show($id)
|
| 64 |
-
{
|
| 65 |
$personas = Persona::findOrFail($id);
|
| 66 |
$roles = Rol::all();
|
| 67 |
return view('admin.personas.show', ['personas'=>$personas]);
|
| 68 |
}
|
| 69 |
|
| 70 |
-
|
| 71 |
-
* Show the form for editing the specified resource.
|
| 72 |
-
*/
|
| 73 |
-
public function edit($id)
|
| 74 |
-
{
|
| 75 |
$persona = Persona::with(['usuario', 'alumno', 'tutor',])->findOrFail($id);
|
| 76 |
$roles = Rol::all();
|
| 77 |
return view('admin.personas.edit', compact('persona', 'roles'));
|
| 78 |
}
|
| 79 |
|
| 80 |
-
|
| 81 |
-
* Update the specified resource in storage.
|
| 82 |
-
*/
|
| 83 |
-
public function update(Request $request, string $id)
|
| 84 |
-
{
|
| 85 |
$request->validate([
|
| 86 |
'nombre' => 'required|string|max:50',
|
| 87 |
'apellido_paterno' => 'required|string|max:50',
|
|
@@ -107,11 +84,7 @@ class PersonaController extends Controller
|
|
| 107 |
->with('icono', 'success');
|
| 108 |
}
|
| 109 |
|
| 110 |
-
|
| 111 |
-
* Remove the specified resource from storage.
|
| 112 |
-
*/
|
| 113 |
-
public function destroy(string $id)
|
| 114 |
-
{
|
| 115 |
$personas = Persona::findOrFail($id);
|
| 116 |
$personas->delete();
|
| 117 |
|
|
|
|
| 8 |
use Illuminate\Validation\Rule;
|
| 9 |
use Illuminate\Support\Facades\Validator;
|
| 10 |
|
| 11 |
+
class PersonaController extends Controller{
|
| 12 |
+
|
| 13 |
+
public function index(){
|
|
|
|
|
|
|
|
|
|
|
|
|
| 14 |
$personas = Persona::all();
|
| 15 |
return view('admin.personas.index', ['personas'=>$personas]);
|
| 16 |
}
|
| 17 |
|
|
|
|
|
|
|
|
|
|
| 18 |
public function create(){
|
| 19 |
return view('admin.personas.create');
|
| 20 |
}
|
| 21 |
|
| 22 |
+
|
| 23 |
+
public function store(Request $request){
|
|
|
|
|
|
|
|
|
|
|
|
|
| 24 |
$request->validate([
|
| 25 |
'nombre' => 'required|string|max:255',
|
| 26 |
'apellido_paterno' => 'required|string|max:255',
|
|
|
|
| 46 |
->with('icono', 'success');
|
| 47 |
}
|
| 48 |
|
| 49 |
+
public function show($id){
|
|
|
|
|
|
|
|
|
|
|
|
|
| 50 |
$personas = Persona::findOrFail($id);
|
| 51 |
$roles = Rol::all();
|
| 52 |
return view('admin.personas.show', ['personas'=>$personas]);
|
| 53 |
}
|
| 54 |
|
| 55 |
+
public function edit($id){
|
|
|
|
|
|
|
|
|
|
|
|
|
| 56 |
$persona = Persona::with(['usuario', 'alumno', 'tutor',])->findOrFail($id);
|
| 57 |
$roles = Rol::all();
|
| 58 |
return view('admin.personas.edit', compact('persona', 'roles'));
|
| 59 |
}
|
| 60 |
|
| 61 |
+
public function update(Request $request, string $id){
|
|
|
|
|
|
|
|
|
|
|
|
|
| 62 |
$request->validate([
|
| 63 |
'nombre' => 'required|string|max:50',
|
| 64 |
'apellido_paterno' => 'required|string|max:50',
|
|
|
|
| 84 |
->with('icono', 'success');
|
| 85 |
}
|
| 86 |
|
| 87 |
+
public function destroy(string $id){
|
|
|
|
|
|
|
|
|
|
|
|
|
| 88 |
$personas = Persona::findOrFail($id);
|
| 89 |
$personas->delete();
|
| 90 |
|
app/app/Http/Controllers/RolController.php
CHANGED
|
@@ -10,11 +10,8 @@ use Illuminate\Support\Facades\Validator;
|
|
| 10 |
|
| 11 |
class RolController extends Controller
|
| 12 |
{
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
*/
|
| 16 |
-
public function index()
|
| 17 |
-
{
|
| 18 |
$usuario = auth()->user();
|
| 19 |
$usuarioRol = $usuario->id_rol;
|
| 20 |
|
|
@@ -26,19 +23,13 @@ class RolController extends Controller
|
|
| 26 |
return view('admin.roles.index', ['roles'=>$roles]);
|
| 27 |
}
|
| 28 |
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
*/
|
| 32 |
-
public function create()
|
| 33 |
-
{
|
| 34 |
return view('admin.roles.create');
|
| 35 |
}
|
| 36 |
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
*/
|
| 40 |
-
public function store(Request $request)
|
| 41 |
-
{
|
| 42 |
$request->validate([
|
| 43 |
'nombre_rol' => 'required|string|max:100|unique:roles,nombre_rol',
|
| 44 |
]);
|
|
@@ -51,29 +42,20 @@ class RolController extends Controller
|
|
| 51 |
->with('icono', 'success');
|
| 52 |
}
|
| 53 |
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
*/
|
| 57 |
-
public function show($id)
|
| 58 |
-
{
|
| 59 |
$roles = Rol::findOrFail($id);
|
| 60 |
return view('admin.roles.show', ['roles'=>$roles]);
|
| 61 |
}
|
| 62 |
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
*/
|
| 66 |
-
public function edit($id)
|
| 67 |
-
{
|
| 68 |
$roles = Rol::findOrFail($id);
|
| 69 |
return view('admin.roles.edit', ['roles'=>$roles]);
|
| 70 |
}
|
| 71 |
|
| 72 |
-
|
| 73 |
-
|
| 74 |
-
*/
|
| 75 |
-
public function update(Request $request, string $id)
|
| 76 |
-
{
|
| 77 |
$request->validate([
|
| 78 |
'nombre_rol' => ['required', 'string', 'max:15', Rule::unique('roles', 'nombre_rol')->ignore($id, 'id_rol')],
|
| 79 |
]);
|
|
@@ -86,11 +68,7 @@ class RolController extends Controller
|
|
| 86 |
->with('icono', 'success');
|
| 87 |
}
|
| 88 |
|
| 89 |
-
|
| 90 |
-
* Remove the specified resource from storage.
|
| 91 |
-
*/
|
| 92 |
-
public function destroy($id)
|
| 93 |
-
{
|
| 94 |
Rol::destroy($id);
|
| 95 |
return redirect()->route('roles.index')->with('mensaje', 'Se elimino el rol de la manera correcta')
|
| 96 |
->with('icono', 'success');
|
|
|
|
| 10 |
|
| 11 |
class RolController extends Controller
|
| 12 |
{
|
| 13 |
+
|
| 14 |
+
public function index(){
|
|
|
|
|
|
|
|
|
|
| 15 |
$usuario = auth()->user();
|
| 16 |
$usuarioRol = $usuario->id_rol;
|
| 17 |
|
|
|
|
| 23 |
return view('admin.roles.index', ['roles'=>$roles]);
|
| 24 |
}
|
| 25 |
|
| 26 |
+
|
| 27 |
+
public function create(){
|
|
|
|
|
|
|
|
|
|
| 28 |
return view('admin.roles.create');
|
| 29 |
}
|
| 30 |
|
| 31 |
+
|
| 32 |
+
public function store(Request $request){
|
|
|
|
|
|
|
|
|
|
| 33 |
$request->validate([
|
| 34 |
'nombre_rol' => 'required|string|max:100|unique:roles,nombre_rol',
|
| 35 |
]);
|
|
|
|
| 42 |
->with('icono', 'success');
|
| 43 |
}
|
| 44 |
|
| 45 |
+
|
| 46 |
+
public function show($id){
|
|
|
|
|
|
|
|
|
|
| 47 |
$roles = Rol::findOrFail($id);
|
| 48 |
return view('admin.roles.show', ['roles'=>$roles]);
|
| 49 |
}
|
| 50 |
|
| 51 |
+
|
| 52 |
+
public function edit($id){
|
|
|
|
|
|
|
|
|
|
| 53 |
$roles = Rol::findOrFail($id);
|
| 54 |
return view('admin.roles.edit', ['roles'=>$roles]);
|
| 55 |
}
|
| 56 |
|
| 57 |
+
|
| 58 |
+
public function update(Request $request, string $id){
|
|
|
|
|
|
|
|
|
|
| 59 |
$request->validate([
|
| 60 |
'nombre_rol' => ['required', 'string', 'max:15', Rule::unique('roles', 'nombre_rol')->ignore($id, 'id_rol')],
|
| 61 |
]);
|
|
|
|
| 68 |
->with('icono', 'success');
|
| 69 |
}
|
| 70 |
|
| 71 |
+
public function destroy($id){
|
|
|
|
|
|
|
|
|
|
|
|
|
| 72 |
Rol::destroy($id);
|
| 73 |
return redirect()->route('roles.index')->with('mensaje', 'Se elimino el rol de la manera correcta')
|
| 74 |
->with('icono', 'success');
|
app/app/Models/Alumno.php
CHANGED
|
@@ -25,11 +25,6 @@ class Alumno extends Model
|
|
| 25 |
'promedio_general' => 0.0
|
| 26 |
];
|
| 27 |
|
| 28 |
-
//public function todos()
|
| 29 |
-
//{
|
| 30 |
-
// DB::table('alumnos')->insert
|
| 31 |
-
//}
|
| 32 |
-
|
| 33 |
public function persona()//: HasOne
|
| 34 |
{
|
| 35 |
return $this->belongsTo(Persona::class, 'persona_id');
|
|
|
|
| 25 |
'promedio_general' => 0.0
|
| 26 |
];
|
| 27 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 28 |
public function persona()//: HasOne
|
| 29 |
{
|
| 30 |
return $this->belongsTo(Persona::class, 'persona_id');
|
app/app/Models/Rol.php
CHANGED
|
@@ -12,21 +12,15 @@ class Rol extends Model
|
|
| 12 |
protected $table = 'roles';
|
| 13 |
protected $primaryKey = 'id_rol';
|
| 14 |
|
| 15 |
-
public function usuarios()
|
| 16 |
-
{
|
| 17 |
-
echo('<script>alert("hola");</script>');
|
| 18 |
return $this->hasOne(Usuario::class, 'usuario_rol', 'rol_id', 'usuario_id');
|
| 19 |
-
|
| 20 |
}
|
| 21 |
|
| 22 |
-
public function roles()
|
| 23 |
-
{
|
| 24 |
return $this->belongsToMany(Rol::class, 'usuario_rol', 'usuario_id', 'rol_id');
|
| 25 |
}
|
| 26 |
|
| 27 |
-
public function grupos()
|
| 28 |
-
{
|
| 29 |
return $this->belongsTo(Grupo::class, 'id_grupo');
|
| 30 |
}
|
| 31 |
-
|
| 32 |
}
|
|
|
|
| 12 |
protected $table = 'roles';
|
| 13 |
protected $primaryKey = 'id_rol';
|
| 14 |
|
| 15 |
+
public function usuarios() {
|
|
|
|
|
|
|
| 16 |
return $this->hasOne(Usuario::class, 'usuario_rol', 'rol_id', 'usuario_id');
|
|
|
|
| 17 |
}
|
| 18 |
|
| 19 |
+
public function roles() {
|
|
|
|
| 20 |
return $this->belongsToMany(Rol::class, 'usuario_rol', 'usuario_id', 'rol_id');
|
| 21 |
}
|
| 22 |
|
| 23 |
+
public function grupos() {
|
|
|
|
| 24 |
return $this->belongsTo(Grupo::class, 'id_grupo');
|
| 25 |
}
|
|
|
|
| 26 |
}
|
app/database/migrations/2024_10_04_173959_create_roles.php
CHANGED
|
@@ -9,19 +9,18 @@ return new class extends Migration
|
|
| 9 |
/**
|
| 10 |
* Run the migrations.
|
| 11 |
*/
|
| 12 |
-
public function up()
|
| 13 |
-
{
|
| 14 |
Schema::create('roles', function (Blueprint $table) {
|
| 15 |
$table->id('id_rol');
|
| 16 |
$table->string('nombre_rol', 20);
|
| 17 |
$table->timestamps();
|
| 18 |
});
|
| 19 |
}
|
|
|
|
| 20 |
/**
|
| 21 |
* Reverse the migrations.
|
| 22 |
*/
|
| 23 |
-
public function down()
|
| 24 |
-
{
|
| 25 |
Schema::dropIfExists('roles');
|
| 26 |
}
|
| 27 |
};
|
|
|
|
| 9 |
/**
|
| 10 |
* Run the migrations.
|
| 11 |
*/
|
| 12 |
+
public function up(){
|
|
|
|
| 13 |
Schema::create('roles', function (Blueprint $table) {
|
| 14 |
$table->id('id_rol');
|
| 15 |
$table->string('nombre_rol', 20);
|
| 16 |
$table->timestamps();
|
| 17 |
});
|
| 18 |
}
|
| 19 |
+
|
| 20 |
/**
|
| 21 |
* Reverse the migrations.
|
| 22 |
*/
|
| 23 |
+
public function down(){
|
|
|
|
| 24 |
Schema::dropIfExists('roles');
|
| 25 |
}
|
| 26 |
};
|
app/resources/views/layouts/admin.blade.php
CHANGED
|
@@ -261,53 +261,6 @@ scratch. This page gets rid of all links and provides the needed markup only.
|
|
| 261 |
</ul>
|
| 262 |
</li>
|
| 263 |
|
| 264 |
-
<li class="nav-item">
|
| 265 |
-
<a href="#" class="nav-link active">
|
| 266 |
-
<i class="nav-icon fas"><i class="bi bi-pencil-square"></i></i>
|
| 267 |
-
<p>
|
| 268 |
-
Calificaciones
|
| 269 |
-
<i class="right fas fa-angle-left"></i>
|
| 270 |
-
</p>
|
| 271 |
-
</a>
|
| 272 |
-
<ul class="nav nav-treeview" style="display: none;">
|
| 273 |
-
<li class="nav-item">
|
| 274 |
-
<a href="{{url('/admin/calificaciones/primertrimestre')}}" class="nav-link">
|
| 275 |
-
<i class="far fa-circle nav-icon"></i>
|
| 276 |
-
<p>Primer trimestre</p>
|
| 277 |
-
</a>
|
| 278 |
-
</li>
|
| 279 |
-
<li class="nav-item">
|
| 280 |
-
<a href="{{url('/admin/calificaciones/segundotrimestre')}}" class="nav-link">
|
| 281 |
-
<i class="far fa-circle nav-icon"></i>
|
| 282 |
-
<p>Segundo trimestre</p>
|
| 283 |
-
</a>
|
| 284 |
-
</li>
|
| 285 |
-
<li class="nav-item">
|
| 286 |
-
<a href="{{url('/admin/calificaciones/tercertrimestre')}}" class="nav-link">
|
| 287 |
-
<i class="far fa-circle nav-icon"></i>
|
| 288 |
-
<p>Tercer trimestre</p>
|
| 289 |
-
</a>
|
| 290 |
-
</li>
|
| 291 |
-
<li class="nav-item">
|
| 292 |
-
<a href="{{url('/admin/calificaciones/cuartotrimestre')}}" class="nav-link">
|
| 293 |
-
<i class="far fa-circle nav-icon"></i>
|
| 294 |
-
<p>Cuarto trimestre</p>
|
| 295 |
-
</a>
|
| 296 |
-
</li>
|
| 297 |
-
<li class="nav-item">
|
| 298 |
-
<a href="{{url('/admin/calificaciones/quintotrimestre')}}" class="nav-link">
|
| 299 |
-
<i class="far fa-circle nav-icon"></i>
|
| 300 |
-
<p>Quinto trimestre</p>
|
| 301 |
-
</a>
|
| 302 |
-
</li>
|
| 303 |
-
<li class="nav-item">
|
| 304 |
-
<a href="{{ route('calificaciones.final.list') }}" class="nav-link">
|
| 305 |
-
<i class="far fa-circle nav-icon"></i>
|
| 306 |
-
<p>Calificaciones finales</p>
|
| 307 |
-
</a>
|
| 308 |
-
</li>
|
| 309 |
-
</ul>
|
| 310 |
-
</li>
|
| 311 |
|
| 312 |
<li class="nav-item">
|
| 313 |
<a href="#" class="nav-link active">
|
|
|
|
| 261 |
</ul>
|
| 262 |
</li>
|
| 263 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 264 |
|
| 265 |
<li class="nav-item">
|
| 266 |
<a href="#" class="nav-link active">
|