Se crean las especificaciones de los documentos a requerir por nivel, a su vez permitir al alumno subirlos

This commit is contained in:
2026-03-31 11:56:34 -06:00
parent cfd9d2ac68
commit 588a63ed24
61 changed files with 1487 additions and 326 deletions
@@ -0,0 +1,93 @@
@extends('layouts.landing')
@section('title',"Crear")
@section('content')
<div class="container-fluid">
<div class="card shadow mb-4">
<div class="card-header py-3">
<div class="d-sm-flex align-items-center justify-content-between">
<h6 class="m-0 font-weight-bold text-primary">Crear documentación</h6>
<a href="{{route('documentotipo.index')}}" class="d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i class="fas fa-download fa-sm text-white-50"></i> Regresar</a>
</div>
</div>
<div class="card-body">
<h3>Crear tipo de documento</h3>
@if(session('success'))
<div class="alert alert-success">
{{ session('success') }}
</div>
@endif
<form method="POST" action="{{ route('documentotipo.store') }}">
@csrf
{{-- NOMBRE --}}
<div class="mb-3">
<label>Nombre</label>
<input type="text" name="name" class="form-control" required>
</div>
{{-- SLUG --}}
<div class="mb-3">
<label>Slug</label>
<input type="text" name="slug" class="form-control" required>
</div>
{{-- EXTENSIONES --}}
<div class="mb-3">
<label>Extensiones permitidas</label>
<div class="form-check">
<label>
<input type="checkbox" name="extensiones[]" value="pdf" class="form-check-input cb">
PDF
</label>
</div>
<div class="form-check">
<label>
<input type="checkbox" name="extensiones[]" value="jpg" class="form-check-input cb">
JPG
</label>
</div>
<div class="form-check">
<label>
<input type="checkbox" name="extensiones[]" value="png" class="form-check-input cb">
PNG
</label>
</div>
</div>
<div class="mb-3">
<label>Niveles a impartir</label>
@foreach ($nivels as $nivel)
<div class="form-check">
<input type="checkbox" class="form-check-input cb"
id="n-{{ $nivel->id }}"
name="nivels[]" value="{{ $nivel->id }}"
>
<label class="form-check-label" for="n-{{ $nivel->id }}">
{{ $nivel->name }}
</label>
</div>
@endforeach
</div>
<button class="btn btn-primary">Guardar</button>
</form>
</div>
</div>
</div>
@endsection
+87
View File
@@ -0,0 +1,87 @@
@extends('layouts.landing')
@section('title',"Edit")
@section('content')
<div class="container-fluid">
<div class="card shadow mb-4">
<div class="card-header py-3">
<div class="d-sm-flex align-items-center justify-content-between">
<h6 class="m-0 font-weight-bold text-primary">Editar documentación</h6>
<a href="{{route('documentotipo.index')}}" class="d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i class="fas fa-download fa-sm text-white-50"></i> Regresar</a>
</div>
</div>
<div class="card-body">
@if (session('info'))
<div class="alert alert-success">
<strong>{{session('info')}}</strong>
</div>
@endif
<form action="{{route('documentotipo.update',$documentotipo->id)}}" method="POST">
@method('PUT')
@csrf
{{-- NOMBRE --}}
<div class="mb-3">
<label>Nombre</label>
<input type="text" name="name" class="form-control" value="{{$documentotipo->name}}" required>
</div>
{{-- SLUG --}}
<div class="mb-3">
<label>Slug</label>
<input type="text" name="slug" class="form-control" value="{{$documentotipo->slug}}" required>
</div>
{{-- EXTENSIONES --}}
<div class="mb-3">
<label>Extensiones permitidas</label>
<div class="form-check">
<label>
<input type="checkbox" name="extensiones[]" value="pdf" class="form-check-input cb" {{ in_array('pdf', $documentotipo->extensiones ?? []) ? 'checked' : '' }}>
PDF
</label>
</div>
<div class="form-check">
<label>
<input type="checkbox" name="extensiones[]" value="jpg" class="form-check-input cb" {{ in_array('jpg', $documentotipo->extensiones ?? []) ? 'checked' : '' }}>
JPG
</label>
</div>
<div class="form-check">
<label>
<input type="checkbox" name="extensiones[]" value="png" class="form-check-input cb" {{ in_array('png', $documentotipo->extensiones ?? []) ? 'checked' : '' }}>
PNG
</label>
</div>
</div>
<div class="mb-3">
<label>Niveles a impartir</label>
@foreach ($nivels as $nivel)
<div class="form-check">
<input type="checkbox" class="form-check-input cb"
id="n-{{ $nivel->id }}"
name="nivels[]" value="{{ $nivel->id }}"
{{ $documentotipo->niveles->contains($nivel->id) ? 'checked' : '' }}
>
<label class="form-check-label" for="n-{{ $nivel->id }}">
{{ $nivel->name }}
</label>
</div>
@endforeach
</div>
<input class="btn btn-primary" type="submit" value="Actualizar">
</form>
</div>
</div>
</div>
@endsection
+70
View File
@@ -0,0 +1,70 @@
@extends('layouts.landing')
@section('head')
@include('layouts._partials.tablaStyle')
@endsection
@section('title',"Inicio")
@section('content')
<div class="container-fluid">
<div class="card shadow mb-4">
<div class="card-header py-3">
<div class="d-sm-flex align-items-center justify-content-between">
<h6 class="m-0 font-weight-bold text-primary">Documentación</h6>
@can('documentoTipo.create')
<a href="{{route('documentotipo.create')}}" class="d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i class="fas fa-download fa-sm text-white-50"></i> Crear documentación</a>
@endcan
</div>
</div>
<div class="card-body">
<div class="container-fluid">
<table id="tcont" class="table table-striped table-bordered nowrap table-hover" style="width:100%;">
<thead>
<tr>
<th>Id</th>
<th>Nombre</th>
<th>row</th>
</tr>
</thead>
<tbody>
@forelse ($documentotipos as $row)
<tr style="width:100%">
<td>{{$row->id}}</td>
<td><a href="{{route('documentotipo.show',$row->id)}}">{{$row->name}}</a></td>
<td class="row mx-auto">
@can('documentoTipo.edit')
<div class="col-sm-6 col-md-6"><a class="btn btn-primary" href="{{route('documentotipo.edit',$row->id)}}">Edit</a></div>
@endcan
@can('documentoTipo.destroy')
<div class="col-sm-6 col-md-6">
<form class="delete-form" action="{{route('documentotipo.destroy',$row->id)}}" method="POST">
@csrf
@method('DELETE')
<input type="submit" value="DELETE" class="btn btn-danger">
</form>
</div>
@endcan
</td>
</tr>
@empty
<p>Sin documentación.</p>
@endforelse
</tbody>
</table>
</div>
</div>
</div>
</div>
@endsection
@section('scripts')
@include('layouts._partials.tablaScript')
@include('layouts._partials.delete')
@endsection