Primer commit proyecto Laravel
This commit is contained in:
@@ -0,0 +1,169 @@
|
||||
<div>
|
||||
<!-- Generate API Token -->
|
||||
<x-form-section submit="createApiToken">
|
||||
<x-slot name="title">
|
||||
{{ __('Create API Token') }}
|
||||
</x-slot>
|
||||
|
||||
<x-slot name="description">
|
||||
{{ __('API tokens allow third-party services to authenticate with our application on your behalf.') }}
|
||||
</x-slot>
|
||||
|
||||
<x-slot name="form">
|
||||
<!-- Token Name -->
|
||||
<div class="col-span-6 sm:col-span-4">
|
||||
<x-label for="name" value="{{ __('Token Name') }}" />
|
||||
<x-input id="name" type="text" class="mt-1 block w-full" wire:model="createApiTokenForm.name" autofocus />
|
||||
<x-input-error for="name" class="mt-2" />
|
||||
</div>
|
||||
|
||||
<!-- Token Permissions -->
|
||||
@if (Laravel\Jetstream\Jetstream::hasPermissions())
|
||||
<div class="col-span-6">
|
||||
<x-label for="permissions" value="{{ __('Permissions') }}" />
|
||||
|
||||
<div class="mt-2 grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
@foreach (Laravel\Jetstream\Jetstream::$permissions as $permission)
|
||||
<label class="flex items-center">
|
||||
<x-checkbox wire:model="createApiTokenForm.permissions" :value="$permission"/>
|
||||
<span class="ms-2 text-sm text-gray-600">{{ $permission }}</span>
|
||||
</label>
|
||||
@endforeach
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
</x-slot>
|
||||
|
||||
<x-slot name="actions">
|
||||
<x-action-message class="me-3" on="created">
|
||||
{{ __('Created.') }}
|
||||
</x-action-message>
|
||||
|
||||
<x-button>
|
||||
{{ __('Create') }}
|
||||
</x-button>
|
||||
</x-slot>
|
||||
</x-form-section>
|
||||
|
||||
@if ($this->user->tokens->isNotEmpty())
|
||||
<x-section-border />
|
||||
|
||||
<!-- Manage API Tokens -->
|
||||
<div class="mt-10 sm:mt-0">
|
||||
<x-action-section>
|
||||
<x-slot name="title">
|
||||
{{ __('Manage API Tokens') }}
|
||||
</x-slot>
|
||||
|
||||
<x-slot name="description">
|
||||
{{ __('You may delete any of your existing tokens if they are no longer needed.') }}
|
||||
</x-slot>
|
||||
|
||||
<!-- API Token List -->
|
||||
<x-slot name="content">
|
||||
<div class="space-y-6">
|
||||
@foreach ($this->user->tokens->sortBy('name') as $token)
|
||||
<div class="flex items-center justify-between">
|
||||
<div class="break-all">
|
||||
{{ $token->name }}
|
||||
</div>
|
||||
|
||||
<div class="flex items-center ms-2">
|
||||
@if ($token->last_used_at)
|
||||
<div class="text-sm text-gray-400">
|
||||
{{ __('Last used') }} {{ $token->last_used_at->diffForHumans() }}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if (Laravel\Jetstream\Jetstream::hasPermissions())
|
||||
<button class="cursor-pointer ms-6 text-sm text-gray-400 underline" wire:click="manageApiTokenPermissions({{ $token->id }})">
|
||||
{{ __('Permissions') }}
|
||||
</button>
|
||||
@endif
|
||||
|
||||
<button class="cursor-pointer ms-6 text-sm text-red-500" wire:click="confirmApiTokenDeletion({{ $token->id }})">
|
||||
{{ __('Delete') }}
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
</x-slot>
|
||||
</x-action-section>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<!-- Token Value Modal -->
|
||||
<x-dialog-modal wire:model.live="displayingToken">
|
||||
<x-slot name="title">
|
||||
{{ __('API Token') }}
|
||||
</x-slot>
|
||||
|
||||
<x-slot name="content">
|
||||
<div>
|
||||
{{ __('Please copy your new API token. For your security, it won\'t be shown again.') }}
|
||||
</div>
|
||||
|
||||
<x-input x-ref="plaintextToken" type="text" readonly :value="$plainTextToken"
|
||||
class="mt-4 bg-gray-100 px-4 py-2 rounded font-mono text-sm text-gray-500 w-full break-all"
|
||||
autofocus autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
@showing-token-modal.window="setTimeout(() => $refs.plaintextToken.select(), 250)"
|
||||
/>
|
||||
</x-slot>
|
||||
|
||||
<x-slot name="footer">
|
||||
<x-secondary-button wire:click="$set('displayingToken', false)" wire:loading.attr="disabled">
|
||||
{{ __('Close') }}
|
||||
</x-secondary-button>
|
||||
</x-slot>
|
||||
</x-dialog-modal>
|
||||
|
||||
<!-- API Token Permissions Modal -->
|
||||
<x-dialog-modal wire:model.live="managingApiTokenPermissions">
|
||||
<x-slot name="title">
|
||||
{{ __('API Token Permissions') }}
|
||||
</x-slot>
|
||||
|
||||
<x-slot name="content">
|
||||
<div class="grid grid-cols-1 md:grid-cols-2 gap-4">
|
||||
@foreach (Laravel\Jetstream\Jetstream::$permissions as $permission)
|
||||
<label class="flex items-center">
|
||||
<x-checkbox wire:model="updateApiTokenForm.permissions" :value="$permission"/>
|
||||
<span class="ms-2 text-sm text-gray-600">{{ $permission }}</span>
|
||||
</label>
|
||||
@endforeach
|
||||
</div>
|
||||
</x-slot>
|
||||
|
||||
<x-slot name="footer">
|
||||
<x-secondary-button wire:click="$set('managingApiTokenPermissions', false)" wire:loading.attr="disabled">
|
||||
{{ __('Cancel') }}
|
||||
</x-secondary-button>
|
||||
|
||||
<x-button class="ms-3" wire:click="updateApiToken" wire:loading.attr="disabled">
|
||||
{{ __('Save') }}
|
||||
</x-button>
|
||||
</x-slot>
|
||||
</x-dialog-modal>
|
||||
|
||||
<!-- Delete Token Confirmation Modal -->
|
||||
<x-confirmation-modal wire:model.live="confirmingApiTokenDeletion">
|
||||
<x-slot name="title">
|
||||
{{ __('Delete API Token') }}
|
||||
</x-slot>
|
||||
|
||||
<x-slot name="content">
|
||||
{{ __('Are you sure you would like to delete this API token?') }}
|
||||
</x-slot>
|
||||
|
||||
<x-slot name="footer">
|
||||
<x-secondary-button wire:click="$toggle('confirmingApiTokenDeletion')" wire:loading.attr="disabled">
|
||||
{{ __('Cancel') }}
|
||||
</x-secondary-button>
|
||||
|
||||
<x-danger-button class="ms-3" wire:click="deleteApiToken" wire:loading.attr="disabled">
|
||||
{{ __('Delete') }}
|
||||
</x-danger-button>
|
||||
</x-slot>
|
||||
</x-confirmation-modal>
|
||||
</div>
|
||||
@@ -0,0 +1,13 @@
|
||||
<x-app-layout>
|
||||
<x-slot name="header">
|
||||
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
|
||||
{{ __('API Tokens') }}
|
||||
</h2>
|
||||
</x-slot>
|
||||
|
||||
<div>
|
||||
<div class="max-w-7xl mx-auto py-10 sm:px-6 lg:px-8">
|
||||
@livewire('api.api-token-manager')
|
||||
</div>
|
||||
</div>
|
||||
</x-app-layout>
|
||||
@@ -0,0 +1,47 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('title',"Crear Area")
|
||||
|
||||
@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 Area</h6>
|
||||
<a href="{{route('area.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">
|
||||
<form action="{{route('area.store')}}" method="POST">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name">
|
||||
|
||||
@error('name')
|
||||
<div class="alert alert-danger">
|
||||
<strong>{{$message}}</strong>
|
||||
</div>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
@foreach ($roles as $role)
|
||||
<div class="form-check">
|
||||
<input type="checkbox" class="form-check-input cb"
|
||||
id="{{ $role->id }}"
|
||||
name="roles[]" value="{{ $role->id }}"
|
||||
>
|
||||
<label class="form-check-label" for="{{ $role->id }}">
|
||||
{{ $role->name }}
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
<input class="btn btn-primary" type="submit" value="Create">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,56 @@
|
||||
@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 Área</h6>
|
||||
<a href="{{route('area.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
|
||||
<a href="{{route('area.index')}}">Regresar</a>
|
||||
<form action="{{route('area.update',$area->id)}}" method="POST">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name" value="{{ $area->name }}">
|
||||
|
||||
@error('name')
|
||||
<div class="alert alert-danger">
|
||||
<strong>{{$message}}</strong>
|
||||
</div>
|
||||
@enderror
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
@foreach ($roles as $role)
|
||||
<div class="form-check">
|
||||
<input type="checkbox" class="form-check-input cb"
|
||||
id="{{ $role->id }}"
|
||||
name="roles[]" value="{{ $role->id }}"
|
||||
{{ $area->existe($role->id) ? 'checked' : '' }}
|
||||
>
|
||||
<label class="form-check-label" for="{{ $role->id }}">
|
||||
{{ $role->name }}
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
<input class="btn btn-primary" type="submit" value="Guardar cambios">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,75 @@
|
||||
@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">areas</h6>
|
||||
@can('area.create')
|
||||
<a href="{{route('area.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 Área</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>Opciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse ($areas as $area)
|
||||
<tr style="width:100%">
|
||||
<td>{{$area->id}}</td>
|
||||
<td><a href="{{route('area.show',$area->id)}}">{{$area->name}}</a></td>
|
||||
<td class="row mx-auto">
|
||||
@can('area.edit')
|
||||
<div class="col-sm-6 col-md-6"><a class="btn btn-primary" href="{{route('area.edit',$area->id)}}">Edit</a></div>
|
||||
@endcan
|
||||
|
||||
@can('area.destroy')
|
||||
<div class="col-sm-6 col-md-6">
|
||||
<form class="delete-form" action="{{route('area.destroy',$area->id)}}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<input type="submit" value="DELETE" class="btn btn-danger">
|
||||
</form>
|
||||
</div>
|
||||
@endcan
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<p>Sin areas.</p>
|
||||
@endforelse
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
@section('scripts')
|
||||
@include('layouts._partials.tablaScript')
|
||||
@include('layouts._partials.delete')
|
||||
@endsection
|
||||
@@ -0,0 +1,22 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('title',"show")
|
||||
|
||||
@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">Datos del Area</h6>
|
||||
<a href="{{route('area.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">
|
||||
<h1>{{$area->name}}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,28 @@
|
||||
<x-guest-layout>
|
||||
<x-authentication-card>
|
||||
<x-slot name="logo">
|
||||
<x-authentication-card-logo />
|
||||
</x-slot>
|
||||
|
||||
<div class="mb-4 text-sm text-gray-600">
|
||||
{{ __('This is a secure area of the application. Please confirm your password before continuing.') }}
|
||||
</div>
|
||||
|
||||
<x-validation-errors class="mb-4" />
|
||||
|
||||
<form method="POST" action="{{ route('password.confirm') }}">
|
||||
@csrf
|
||||
|
||||
<div>
|
||||
<x-label for="password" value="{{ __('Password') }}" />
|
||||
<x-input id="password" class="block mt-1 w-full" type="password" name="password" required autocomplete="current-password" autofocus />
|
||||
</div>
|
||||
|
||||
<div class="flex justify-end mt-4">
|
||||
<x-button class="ms-4">
|
||||
{{ __('Confirm') }}
|
||||
</x-button>
|
||||
</div>
|
||||
</form>
|
||||
</x-authentication-card>
|
||||
</x-guest-layout>
|
||||
@@ -0,0 +1,34 @@
|
||||
<x-guest-layout>
|
||||
<x-authentication-card>
|
||||
<x-slot name="logo">
|
||||
<x-authentication-card-logo />
|
||||
</x-slot>
|
||||
|
||||
<div class="mb-4 text-sm text-gray-600">
|
||||
{{ __('Forgot your password? No problem. Just let us know your email address and we will email you a password reset link that will allow you to choose a new one.') }}
|
||||
</div>
|
||||
|
||||
@session('status')
|
||||
<div class="mb-4 font-medium text-sm text-green-600">
|
||||
{{ $value }}
|
||||
</div>
|
||||
@endsession
|
||||
|
||||
<x-validation-errors class="mb-4" />
|
||||
|
||||
<form method="POST" action="{{ route('password.email') }}">
|
||||
@csrf
|
||||
|
||||
<div class="block">
|
||||
<x-label for="email" value="{{ __('Email') }}" />
|
||||
<x-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email')" required autofocus autocomplete="username" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-end mt-4">
|
||||
<x-button>
|
||||
{{ __('Email Password Reset Link') }}
|
||||
</x-button>
|
||||
</div>
|
||||
</form>
|
||||
</x-authentication-card>
|
||||
</x-guest-layout>
|
||||
@@ -0,0 +1,86 @@
|
||||
@include('layouts._partials.error')
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
@include('layouts._partials.head')
|
||||
@section('title',"Inicio")
|
||||
@livewireStyles
|
||||
</head>
|
||||
|
||||
|
||||
<body class="bg-gradient-primary">
|
||||
|
||||
<div class="container">
|
||||
|
||||
<!-- Outer Row -->
|
||||
<div class="row justify-content-center">
|
||||
|
||||
<div class="col-xl-10 col-lg-12 col-md-9">
|
||||
|
||||
<div class="card o-hidden border-0 shadow-lg my-5">
|
||||
<div class="card-body p-0">
|
||||
<!-- Nested Row within Card Body -->
|
||||
<div class="row">
|
||||
<div class="col-lg-6 d-none d-lg-block bg-login-image"></div>
|
||||
<div class="col-lg-6">
|
||||
<div class="p-5">
|
||||
<div class="text-center">
|
||||
<h1 class="h4 text-gray-900 mb-4">Bienvenido!</h1>
|
||||
<x-validation-errors class="mb-4" />
|
||||
</div>
|
||||
|
||||
<form method="POST" action="{{ route('login') }}" class="user">
|
||||
@csrf
|
||||
|
||||
<div class="form-group">
|
||||
<input type="email" class="form-control form-control-user" id="email" name="email" aria-describedby="emailHelp" placeholder="Correo electrónico..." :value="old('email')" required autofocus autocomplete="username">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<input type="password" class="form-control form-control-user" id="password" name="password" placeholder="Contraseña" required autocomplete="current-password">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="custom-control custom-checkbox small">
|
||||
<input type="checkbox" class="custom-control-input" id="remember_me" name="remember">
|
||||
<label class="custom-control-label" for="remember_me">Recuerdame</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="submit" value="Entrar" class="btn btn-primary btn-user btn-block">
|
||||
|
||||
</form>
|
||||
|
||||
<hr>
|
||||
|
||||
@if (Route::has('password.request'))
|
||||
<div class="text-center">
|
||||
<a class="small" href="{{ route('password.request') }}">Olvide mi contraseña</a>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="text-center">
|
||||
<a class="small" href="{{ route('register') }}">Registrarme!</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@include('layouts._partials.scripts')
|
||||
@livewireScripts
|
||||
@yield('scripts')
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
@include('layouts._partials.error')
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
@include('layouts._partials.head')
|
||||
@section('title',"Inicio")
|
||||
@livewireStyles
|
||||
</head>
|
||||
|
||||
|
||||
<body class="bg-gradient-primary">
|
||||
|
||||
<div class="container">
|
||||
|
||||
<!-- Outer Row -->
|
||||
<div class="row justify-content-center">
|
||||
|
||||
<div class="col-xl-10 col-lg-12 col-md-9">
|
||||
|
||||
<div class="card o-hidden border-0 shadow-lg my-5">
|
||||
<div class="card-body p-0">
|
||||
<!-- Nested Row within Card Body -->
|
||||
<div class="row">
|
||||
<div class="col-lg-6 d-none d-lg-block bg-login-image"></div>
|
||||
<div class="col-lg-6">
|
||||
<div class="p-5">
|
||||
<div class="text-center">
|
||||
<h1 class="h4 text-gray-900 mb-4">Bienvenido!</h1>
|
||||
<x-validation-errors class="mb-4" />
|
||||
</div>
|
||||
|
||||
<form method="POST" action="{{ route('register') }}" class="user">
|
||||
@csrf
|
||||
|
||||
<div class="form-group">
|
||||
<label>Nombre</label>
|
||||
<input type="name" class="form-control form-control-user" id="name" name="name" placeholder="Nombre" required autofocus autocomplete="name">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Correo electrónico</label>
|
||||
<input type="email" class="form-control form-control-user" id="email" name="email" aria-describedby="emailHelp" placeholder="Correo electrónico..." :value="old('email')" required autofocus autocomplete="username">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Teléfono</label>
|
||||
<input type="number" class="form-control form-control-user" name="telefono" autocomplete="off" required autofocus autocomplete="telefono">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Contraseña</label>
|
||||
<input type="password" class="form-control form-control-user" id="password" name="password" placeholder="Contraseña" required autocomplete="current-password">
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label>Confirmar contraseña</label>
|
||||
<input type="password" class="form-control form-control-user" id="password" name="password" placeholder="Confirmar contraseña" required autocomplete="current-password">
|
||||
</div>
|
||||
|
||||
|
||||
<input type="submit" value="Registrar" class="btn btn-primary btn-user btn-block">
|
||||
|
||||
</form>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="text-center">
|
||||
<a class="small" href="{{ route('login') }}">Regresar!</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
@include('layouts._partials.scripts')
|
||||
@livewireScripts
|
||||
@yield('scripts')
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,36 @@
|
||||
<x-guest-layout>
|
||||
<x-authentication-card>
|
||||
<x-slot name="logo">
|
||||
<x-authentication-card-logo />
|
||||
</x-slot>
|
||||
|
||||
<x-validation-errors class="mb-4" />
|
||||
|
||||
<form method="POST" action="{{ route('password.update') }}">
|
||||
@csrf
|
||||
|
||||
<input type="hidden" name="token" value="{{ $request->route('token') }}">
|
||||
|
||||
<div class="block">
|
||||
<x-label for="email" value="{{ __('Email') }}" />
|
||||
<x-input id="email" class="block mt-1 w-full" type="email" name="email" :value="old('email', $request->email)" required autofocus autocomplete="username" />
|
||||
</div>
|
||||
|
||||
<div class="mt-4">
|
||||
<x-label for="password" value="{{ __('Password') }}" />
|
||||
<x-input id="password" class="block mt-1 w-full" type="password" name="password" required autocomplete="new-password" />
|
||||
</div>
|
||||
|
||||
<div class="mt-4">
|
||||
<x-label for="password_confirmation" value="{{ __('Confirm Password') }}" />
|
||||
<x-input id="password_confirmation" class="block mt-1 w-full" type="password" name="password_confirmation" required autocomplete="new-password" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-end mt-4">
|
||||
<x-button>
|
||||
{{ __('Reset Password') }}
|
||||
</x-button>
|
||||
</div>
|
||||
</form>
|
||||
</x-authentication-card>
|
||||
</x-guest-layout>
|
||||
@@ -0,0 +1,58 @@
|
||||
<x-guest-layout>
|
||||
<x-authentication-card>
|
||||
<x-slot name="logo">
|
||||
<x-authentication-card-logo />
|
||||
</x-slot>
|
||||
|
||||
<div x-data="{ recovery: false }">
|
||||
<div class="mb-4 text-sm text-gray-600" x-show="! recovery">
|
||||
{{ __('Please confirm access to your account by entering the authentication code provided by your authenticator application.') }}
|
||||
</div>
|
||||
|
||||
<div class="mb-4 text-sm text-gray-600" x-cloak x-show="recovery">
|
||||
{{ __('Please confirm access to your account by entering one of your emergency recovery codes.') }}
|
||||
</div>
|
||||
|
||||
<x-validation-errors class="mb-4" />
|
||||
|
||||
<form method="POST" action="{{ route('two-factor.login') }}">
|
||||
@csrf
|
||||
|
||||
<div class="mt-4" x-show="! recovery">
|
||||
<x-label for="code" value="{{ __('Code') }}" />
|
||||
<x-input id="code" class="block mt-1 w-full" type="text" inputmode="numeric" name="code" autofocus x-ref="code" autocomplete="one-time-code" />
|
||||
</div>
|
||||
|
||||
<div class="mt-4" x-cloak x-show="recovery">
|
||||
<x-label for="recovery_code" value="{{ __('Recovery Code') }}" />
|
||||
<x-input id="recovery_code" class="block mt-1 w-full" type="text" name="recovery_code" x-ref="recovery_code" autocomplete="one-time-code" />
|
||||
</div>
|
||||
|
||||
<div class="flex items-center justify-end mt-4">
|
||||
<button type="button" class="text-sm text-gray-600 hover:text-gray-900 underline cursor-pointer"
|
||||
x-show="! recovery"
|
||||
x-on:click="
|
||||
recovery = true;
|
||||
$nextTick(() => { $refs.recovery_code.focus() })
|
||||
">
|
||||
{{ __('Use a recovery code') }}
|
||||
</button>
|
||||
|
||||
<button type="button" class="text-sm text-gray-600 hover:text-gray-900 underline cursor-pointer"
|
||||
x-cloak
|
||||
x-show="recovery"
|
||||
x-on:click="
|
||||
recovery = false;
|
||||
$nextTick(() => { $refs.code.focus() })
|
||||
">
|
||||
{{ __('Use an authentication code') }}
|
||||
</button>
|
||||
|
||||
<x-button class="ms-4">
|
||||
{{ __('Log in') }}
|
||||
</x-button>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</x-authentication-card>
|
||||
</x-guest-layout>
|
||||
@@ -0,0 +1,45 @@
|
||||
<x-guest-layout>
|
||||
<x-authentication-card>
|
||||
<x-slot name="logo">
|
||||
<x-authentication-card-logo />
|
||||
</x-slot>
|
||||
|
||||
<div class="mb-4 text-sm text-gray-600">
|
||||
{{ __('Before continuing, could you verify your email address by clicking on the link we just emailed to you? If you didn\'t receive the email, we will gladly send you another.') }}
|
||||
</div>
|
||||
|
||||
@if (session('status') == 'verification-link-sent')
|
||||
<div class="mb-4 font-medium text-sm text-green-600">
|
||||
{{ __('A new verification link has been sent to the email address you provided in your profile settings.') }}
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div class="mt-4 flex items-center justify-between">
|
||||
<form method="POST" action="{{ route('verification.send') }}">
|
||||
@csrf
|
||||
|
||||
<div>
|
||||
<x-button type="submit">
|
||||
{{ __('Resend Verification Email') }}
|
||||
</x-button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div>
|
||||
<a
|
||||
href="{{ route('profile.show') }}"
|
||||
class="underline text-sm text-gray-600 hover:text-gray-900 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"
|
||||
>
|
||||
{{ __('Edit Profile') }}</a>
|
||||
|
||||
<form method="POST" action="{{ route('logout') }}" class="inline">
|
||||
@csrf
|
||||
|
||||
<button type="submit" class="underline text-sm text-gray-600 hover:text-gray-900 rounded-md focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500 ms-2">
|
||||
{{ __('Log Out') }}
|
||||
</button>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</x-authentication-card>
|
||||
</x-guest-layout>
|
||||
@@ -0,0 +1,54 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('title',"Crear campania")
|
||||
|
||||
@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 campaña</h6>
|
||||
<a href="{{route('campan.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">
|
||||
<form action="{{route('campan.store')}}" method="POST">
|
||||
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name">
|
||||
|
||||
@error('name')
|
||||
<div class="alert alert-danger">
|
||||
<strong>{{$message}}</strong>
|
||||
</div>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Inicio del periodo</label>
|
||||
<input class="form-control" name="periodoInicial" type="date">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Fin del periodo</label>
|
||||
<input class="form-control" name="periodoFinal" type="date">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="status">Seleccionar status</label>
|
||||
<select class="form-control" name="status" id="status">
|
||||
<option value="1">Activo</option>
|
||||
<option value="0">Inactivo</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary" type="submit" value="Crear">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,60 @@
|
||||
@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 Campaña</h6>
|
||||
<a href="{{route('campan.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('campan.update',$campan->id)}}" method="POST">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name" value="{{ $campan->name }}">
|
||||
|
||||
@error('name')
|
||||
<div class="alert alert-danger">
|
||||
<strong>{{$message}}</strong>
|
||||
</div>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Inicio del periodo</label>
|
||||
<input class="form-control" name="periodoInicial" type="date" value="{{ $campan->periodoInicial }}">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Fin del periodo</label>
|
||||
<input class="form-control" name="periodoFinal" type="date" value="{{ $campan->periodoFinal }}">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="status">Seleccionar status</label>
|
||||
<select class="form-control" name="status" id="status">
|
||||
<option value="1" {{ $campan->status ==1 ? 'selected' : '' }}>Activo</option>
|
||||
<option value="0" {{ $campan->status ==0 ? 'selected' : '' }}>Inactivo</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="btn btn-primary" type="submit" value="Guardar cambios">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,73 @@
|
||||
@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">campañas</h6>
|
||||
@can('campan.create')
|
||||
<a href="{{route('campan.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 Campaña</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>Opciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse ($campans as $campan)
|
||||
<tr style="width:100%">
|
||||
<td>{{$campan->id}}</td>
|
||||
<td><a href="{{route('campan.show',$campan->id)}}">{{$campan->name}}</a></td>
|
||||
<td class="row mx-auto">
|
||||
@can('campan.edit')
|
||||
<div class="col-sm-6 col-md-6"><a class="btn btn-primary" href="{{route('campan.edit',$campan)}}">Edit</a></div>
|
||||
@endcan
|
||||
|
||||
@can('campan.destroy')
|
||||
<div class="col-sm-6 col-md-6">
|
||||
<form class="delete-form" action="{{route('campan.destroy',$campan)}}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<input type="submit" value="DELETE" class="btn btn-danger">
|
||||
</form>
|
||||
</div>
|
||||
@endcan
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<p>Sin campañas.</p>
|
||||
@endforelse
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
@section('scripts')
|
||||
@include('layouts._partials.tablaScript')
|
||||
@include('layouts._partials.delete')
|
||||
@endsection
|
||||
@@ -0,0 +1,22 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('title',"show")
|
||||
|
||||
@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">Datos de la campaña</h6>
|
||||
<a href="{{route('campan.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">
|
||||
<h1>{{$campan->name}}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,47 @@
|
||||
@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 carrera</h6>
|
||||
<a href="{{route('carrera.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">
|
||||
<form action="{{route('carrera.store')}}" method="POST">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="status">Seleccionar nivel</label>
|
||||
<select class="form-control" name="nivel" id="nivel">
|
||||
@foreach ($nivels as $nivel)
|
||||
<option value="{{ $nivel->id }}">{{ $nivel->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="status">Seleccionar status</label>
|
||||
<select class="form-control" name="status" id="status">
|
||||
<option value="1">Activo</option>
|
||||
<option value="0">Inactivo</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary" type="submit" value="Crear">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,139 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('head')
|
||||
@include('layouts._partials.tablaStyle')
|
||||
@endsection
|
||||
|
||||
@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 carrera</h6>
|
||||
<a href="{{route('carrera.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('carrera.update',$carrera->id)}}" method="POST">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name" value="{{$carrera->name}}">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="status">Seleccionar nivel</label>
|
||||
<select class="form-control" name="status" id="status">
|
||||
@foreach ($nivels as $nivel)
|
||||
<option value="{{ $nivel->id }}"{{ $carrera->nivel== $nivel->id ? 'selected' : '' }} >{{ $nivel->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="status">Seleccionar status</label>
|
||||
<select class="form-control" name="status" id="status" value="{{ $carrera->status }}">
|
||||
<option value="1" {{ $carrera->status=='1' ? 'selected' : '' }}>Activo</option>
|
||||
<option value="0" {{ $carrera->status=='0' ? 'selected' : '' }}>Inactivo</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary" type="submit" value="Actualizar">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- contenedor de materias --}}
|
||||
<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">Materiales</h6>
|
||||
@can('material.create')
|
||||
<button onclick="Livewire.dispatch('create-material')" class="d-sm-inline-block btn btn-sm btn-success shadow-sm"><i class="fas fa-download fa-sm text-white-50"></i> Agregar</button>
|
||||
@endcan
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
@if (session('infoMaterial'))
|
||||
<div class="alert alert-success">
|
||||
<strong>{{session('infoMaterial')}}</strong>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<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>Opciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse ($carrera->carreraMaterial as $material)
|
||||
<tr style="width:100%">
|
||||
<td>{{$material->id}}</td>
|
||||
<td>{{$material->name}}</td>
|
||||
<td class="row mx-auto">
|
||||
@can('material.edit')
|
||||
<div class="col-sm-6 col-md-6"><a href="#"
|
||||
onclick="Livewire.dispatch('edit-material', { id: {{ $material->id }} })"
|
||||
class="btn btn-sm btn-primary">
|
||||
Editar
|
||||
</a></div>
|
||||
@endcan
|
||||
|
||||
@can('material.destroy')
|
||||
<div class="col-sm-6 col-md-6">
|
||||
<form class="delete-form" action="{{route('material.destroy',$material->id)}}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<input class="d-none" name="carrera" value="{{$material->id}}">
|
||||
<input type="submit" value="DELETE" class="btn btn-danger">
|
||||
</form>
|
||||
</div>
|
||||
@endcan
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<p>Sin materiales.</p>
|
||||
@endforelse
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
<livewire:modal-materias :carrera="$carrera"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
@section('scripts')
|
||||
@include('layouts._partials.tablaScript')
|
||||
@include('layouts._partials.delete')
|
||||
|
||||
<script>
|
||||
document.addEventListener('livewire:init', () => {
|
||||
Livewire.on('open-material-modal', () => {
|
||||
$('#exampleModal').modal('show');
|
||||
});
|
||||
});
|
||||
</script>
|
||||
@endsection
|
||||
@@ -0,0 +1,74 @@
|
||||
@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">Carreras</h6>
|
||||
@can('carrera.create')
|
||||
<a href="{{route('carrera.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 carrera</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>Opciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse ($carreras as $carrera)
|
||||
<tr style="width:100%">
|
||||
<td>{{$carrera->id}}</td>
|
||||
<td><a href="{{route('carrera.show',$carrera->id)}}">{{$carrera->name}}</a></td>
|
||||
<td class="row mx-auto">
|
||||
@can('carrera.edit')
|
||||
<div class="col-sm-6 col-md-6"><a class="btn btn-primary" href="{{route('carrera.edit',$carrera->id)}}">Edit</a></div>
|
||||
@endcan
|
||||
|
||||
@can('carrera.destroy')
|
||||
<div class="col-sm-6 col-md-6">
|
||||
<form class="delete-form" action="{{route('carrera.destroy',$carrera->id)}}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<input type="submit" value="DELETE" class="btn btn-danger">
|
||||
</form>
|
||||
</div>
|
||||
@endcan
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<p>Sin carreras.</p>
|
||||
@endforelse
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
@section('scripts')
|
||||
@include('layouts._partials.tablaScript')
|
||||
@include('layouts._partials.delete')
|
||||
@endsection
|
||||
@@ -0,0 +1,23 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('title',"show")
|
||||
|
||||
@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">Datos carrera</h6>
|
||||
<a href="{{route('carrera.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">
|
||||
<h1>{{$carrera->name}}</h1>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,10 @@
|
||||
@props(['on'])
|
||||
|
||||
<div x-data="{ shown: false, timeout: null }"
|
||||
x-init="@this.on('{{ $on }}', () => { clearTimeout(timeout); shown = true; timeout = setTimeout(() => { shown = false }, 2000); })"
|
||||
x-show.transition.out.opacity.duration.1500ms="shown"
|
||||
x-transition:leave.opacity.duration.1500ms
|
||||
style="display: none;"
|
||||
{{ $attributes->merge(['class' => 'text-sm text-gray-600']) }}>
|
||||
{{ $slot->isEmpty() ? 'Saved.' : $slot }}
|
||||
</div>
|
||||
@@ -0,0 +1,12 @@
|
||||
<div {{ $attributes->merge(['class' => 'md:grid md:grid-cols-3 md:gap-6']) }}>
|
||||
<x-section-title>
|
||||
<x-slot name="title">{{ $title }}</x-slot>
|
||||
<x-slot name="description">{{ $description }}</x-slot>
|
||||
</x-section-title>
|
||||
|
||||
<div class="mt-5 md:mt-0 md:col-span-2">
|
||||
<div class="px-4 py-5 sm:p-6 bg-white shadow sm:rounded-lg">
|
||||
{{ $content }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,5 @@
|
||||
<svg viewBox="0 0 317 48" fill="none" xmlns="http://www.w3.org/2000/svg" {{ $attributes }}>
|
||||
<path d="M74.09 30.04V13h-4.14v21H82.1v-3.96h-8.01zM95.379 19v1.77c-1.08-1.35-2.7-2.19-4.89-2.19-3.99 0-7.29 3.45-7.29 7.92s3.3 7.92 7.29 7.92c2.19 0 3.81-.84 4.89-2.19V34h3.87V19h-3.87zm-4.17 11.73c-2.37 0-4.14-1.71-4.14-4.23 0-2.52 1.77-4.23 4.14-4.23 2.4 0 4.17 1.71 4.17 4.23 0 2.52-1.77 4.23-4.17 4.23zM106.628 21.58V19h-3.87v15h3.87v-7.17c0-3.15 2.55-4.05 4.56-3.81V18.7c-1.89 0-3.78.84-4.56 2.88zM124.295 19v1.77c-1.08-1.35-2.7-2.19-4.89-2.19-3.99 0-7.29 3.45-7.29 7.92s3.3 7.92 7.29 7.92c2.19 0 3.81-.84 4.89-2.19V34h3.87V19h-3.87zm-4.17 11.73c-2.37 0-4.14-1.71-4.14-4.23 0-2.52 1.77-4.23 4.14-4.23 2.4 0 4.17 1.71 4.17 4.23 0 2.52-1.77 4.23-4.17 4.23zM141.544 19l-3.66 10.5-3.63-10.5h-4.26l5.7 15h4.41l5.7-15h-4.26zM150.354 28.09h11.31c.09-.51.15-1.02.15-1.59 0-4.41-3.15-7.92-7.59-7.92-4.71 0-7.92 3.45-7.92 7.92s3.18 7.92 8.22 7.92c2.88 0 5.13-1.17 6.54-3.21l-3.12-1.8c-.66.87-1.86 1.5-3.36 1.5-2.04 0-3.69-.84-4.23-2.82zm-.06-3c.45-1.92 1.86-3.03 3.93-3.03 1.62 0 3.24.87 3.72 3.03h-7.65zM164.516 34h3.87V12.1h-3.87V34zM185.248 34.36c3.69 0 6.9-2.01 6.9-6.3V13h-2.1v15.06c0 3.03-2.07 4.26-4.8 4.26-2.19 0-3.93-.78-4.62-2.61l-1.77 1.05c1.05 2.43 3.57 3.6 6.39 3.6zM203.124 18.64c-4.65 0-7.83 3.45-7.83 7.86 0 4.53 3.24 7.86 7.98 7.86 3.03 0 5.34-1.41 6.6-3.45l-1.74-1.02c-.81 1.44-2.46 2.55-4.83 2.55-3.18 0-5.55-1.89-5.97-4.95h13.17c.03-.3.06-.63.06-.93 0-4.11-2.85-7.92-7.44-7.92zm0 1.92c2.58 0 4.98 1.71 5.4 5.01h-11.19c.39-2.94 2.64-5.01 5.79-5.01zM221.224 20.92V19h-4.32v-4.2l-1.98.6V19h-3.15v1.92h3.15v9.09c0 3.6 2.25 4.59 6.3 3.99v-1.74c-2.91.12-4.32.33-4.32-2.25v-9.09h4.32zM225.176 22.93c0-1.62 1.59-2.37 3.15-2.37 1.44 0 2.97.57 3.6 2.1l1.65-.96c-.87-1.86-2.79-3.06-5.25-3.06-3 0-5.13 1.89-5.13 4.29 0 5.52 8.76 3.39 8.76 7.11 0 1.77-1.68 2.4-3.45 2.4-2.01 0-3.57-.99-4.11-2.52l-1.68.99c.75 1.92 2.79 3.45 5.79 3.45 3.21 0 5.43-1.77 5.43-4.32 0-5.52-8.76-3.39-8.76-7.11zM244.603 20.92V19h-4.32v-4.2l-1.98.6V19h-3.15v1.92h3.15v9.09c0 3.6 2.25 4.59 6.3 3.99v-1.74c-2.91.12-4.32.33-4.32-2.25v-9.09h4.32zM249.883 21.49V19h-1.98v15h1.98v-8.34c0-3.72 2.34-4.98 4.74-4.98v-1.92c-1.92 0-3.69.63-4.74 2.73zM263.358 18.64c-4.65 0-7.83 3.45-7.83 7.86 0 4.53 3.24 7.86 7.98 7.86 3.03 0 5.34-1.41 6.6-3.45l-1.74-1.02c-.81 1.44-2.46 2.55-4.83 2.55-3.18 0-5.55-1.89-5.97-4.95h13.17c.03-.3.06-.63.06-.93 0-4.11-2.85-7.92-7.44-7.92zm0 1.92c2.58 0 4.98 1.71 5.4 5.01h-11.19c.39-2.94 2.64-5.01 5.79-5.01zM286.848 19v2.94c-1.26-2.01-3.39-3.3-6.06-3.3-4.23 0-7.74 3.42-7.74 7.86s3.51 7.86 7.74 7.86c2.67 0 4.8-1.29 6.06-3.3V34h1.98V19h-1.98zm-5.91 13.44c-3.33 0-5.91-2.61-5.91-5.94 0-3.33 2.58-5.94 5.91-5.94s5.91 2.61 5.91 5.94c0 3.33-2.58 5.94-5.91 5.94zM309.01 18.64c-1.92 0-3.75.87-4.86 2.73-.84-1.74-2.46-2.73-4.56-2.73-1.8 0-3.42.72-4.59 2.55V19h-1.98v15H295v-8.31c0-3.72 2.16-5.13 4.32-5.13 2.13 0 3.51 1.41 3.51 4.08V34h1.98v-8.31c0-3.72 1.86-5.13 4.17-5.13 2.13 0 3.66 1.41 3.66 4.08V34h1.98v-9.36c0-3.75-2.31-6-5.61-6z" class="fill-black"/>
|
||||
<path d="M11.395 44.428C4.557 40.198 0 32.632 0 24 0 10.745 10.745 0 24 0a23.891 23.891 0 0113.997 4.502c-.2 17.907-11.097 33.245-26.602 39.926z" fill="#6875F5"/>
|
||||
<path d="M14.134 45.885A23.914 23.914 0 0024 48c13.255 0 24-10.745 24-24 0-3.516-.756-6.856-2.115-9.866-4.659 15.143-16.608 27.092-31.75 31.751z" fill="#6875F5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
@@ -0,0 +1,4 @@
|
||||
<svg viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg" {{ $attributes }}>
|
||||
<path d="M11.395 44.428C4.557 40.198 0 32.632 0 24 0 10.745 10.745 0 24 0a23.891 23.891 0 0113.997 4.502c-.2 17.907-11.097 33.245-26.602 39.926z" fill="#6875F5"/>
|
||||
<path d="M14.134 45.885A23.914 23.914 0 0024 48c13.255 0 24-10.745 24-24 0-3.516-.756-6.856-2.115-9.866-4.659 15.143-16.608 27.092-31.75 31.751z" fill="#6875F5"/>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 428 B |
@@ -0,0 +1,6 @@
|
||||
<a href="/">
|
||||
<svg class="size-16" viewbox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M11.395 44.428C4.557 40.198 0 32.632 0 24 0 10.745 10.745 0 24 0a23.891 23.891 0 0113.997 4.502c-.2 17.907-11.097 33.245-26.602 39.926z" fill="#6875F5"/>
|
||||
<path d="M14.134 45.885A23.914 23.914 0 0024 48c13.255 0 24-10.745 24-24 0-3.516-.756-6.856-2.115-9.866-4.659 15.143-16.608 27.092-31.75 31.751z" fill="#6875F5"/>
|
||||
</svg>
|
||||
</a>
|
||||
@@ -0,0 +1,9 @@
|
||||
<div class="min-h-screen flex flex-col sm:justify-center items-center pt-6 sm:pt-0 bg-gray-100">
|
||||
<div>
|
||||
{{ $logo }}
|
||||
</div>
|
||||
|
||||
<div class="w-full sm:max-w-md mt-6 px-6 py-4 bg-white shadow-md overflow-hidden sm:rounded-lg">
|
||||
{{ $slot }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,48 @@
|
||||
@props(['style' => session('flash.bannerStyle', 'success'), 'message' => session('flash.banner')])
|
||||
|
||||
<div x-data="{{ json_encode(['show' => true, 'style' => $style, 'message' => $message]) }}"
|
||||
:class="{ 'bg-indigo-500': style == 'success', 'bg-red-700': style == 'danger', 'bg-yellow-500': style == 'warning', 'bg-gray-500': style != 'success' && style != 'danger' && style != 'warning'}"
|
||||
style="display: none;"
|
||||
x-show="show && message"
|
||||
x-on:banner-message.window="
|
||||
style = event.detail.style;
|
||||
message = event.detail.message;
|
||||
show = true;
|
||||
">
|
||||
<div class="max-w-screen-xl mx-auto py-2 px-3 sm:px-6 lg:px-8">
|
||||
<div class="flex items-center justify-between flex-wrap">
|
||||
<div class="w-0 flex-1 flex items-center min-w-0">
|
||||
<span class="flex p-2 rounded-lg" :class="{ 'bg-indigo-600': style == 'success', 'bg-red-600': style == 'danger', 'bg-yellow-600': style == 'warning' }">
|
||||
<svg x-show="style == 'success'" class="size-5 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
|
||||
</svg>
|
||||
<svg x-show="style == 'danger'" class="size-5 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m9-.75a9 9 0 11-18 0 9 9 0 0118 0zm-9 3.75h.008v.008H12v-.008z" />
|
||||
</svg>
|
||||
<svg x-show="style != 'success' && style != 'danger' && style != 'warning'" class="size-5 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M11.25 11.25l.041-.02a.75.75 0 011.063.852l-.708 2.836a.75.75 0 001.063.853l.041-.021M21 12a9 9 0 11-18 0 9 9 0 0118 0zm-9-3.75h.008v.008H12V8.25z" />
|
||||
</svg>
|
||||
<svg x-show="style == 'warning'" class="size-5 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<circle cx="12" cy="12" r="10" stroke="currentColor" stroke-width="1.5" fill="none" />
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M12 8v4m0 4v.01 0 0 " />
|
||||
</svg>
|
||||
</span>
|
||||
|
||||
<p class="ms-3 font-medium text-sm text-white truncate" x-text="message"></p>
|
||||
</div>
|
||||
|
||||
<div class="shrink-0 sm:ms-3">
|
||||
<button
|
||||
type="button"
|
||||
class="-me-1 flex p-2 rounded-md focus:outline-none sm:-me-2 transition"
|
||||
:class="{ 'hover:bg-indigo-600 focus:bg-indigo-600': style == 'success', 'hover:bg-red-600 focus:bg-red-600': style == 'danger', 'hover:bg-yellow-600 focus:bg-yellow-600': style == 'warning'}"
|
||||
aria-label="Dismiss"
|
||||
x-on:click="show = false">
|
||||
<svg class="size-5 text-white" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,3 @@
|
||||
<button {{ $attributes->merge(['type' => 'submit', 'class' => 'inline-flex items-center px-4 py-2 bg-gray-800 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest hover:bg-gray-700 focus:bg-gray-700 active:bg-gray-900 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 disabled:opacity-50 transition ease-in-out duration-150']) }}>
|
||||
{{ $slot }}
|
||||
</button>
|
||||
@@ -0,0 +1 @@
|
||||
<input type="checkbox" {!! $attributes->merge(['class' => 'rounded border-gray-300 text-indigo-600 shadow-sm focus:ring-indigo-500']) !!}>
|
||||
@@ -0,0 +1,27 @@
|
||||
@props(['id' => null, 'maxWidth' => null])
|
||||
|
||||
<x-modal :id="$id" :maxWidth="$maxWidth" {{ $attributes }}>
|
||||
<div class="bg-white px-4 pt-5 pb-4 sm:p-6 sm:pb-4">
|
||||
<div class="sm:flex sm:items-start">
|
||||
<div class="mx-auto shrink-0 flex items-center justify-center size-12 rounded-full bg-red-100 sm:mx-0 sm:size-10">
|
||||
<svg class="size-6 text-red-600" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M12 9v3.75m-9.303 3.376c-.866 1.5.217 3.374 1.948 3.374h14.71c1.73 0 2.813-1.874 1.948-3.374L13.949 3.378c-.866-1.5-3.032-1.5-3.898 0L2.697 16.126zM12 15.75h.007v.008H12v-.008z" />
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<div class="mt-3 text-center sm:mt-0 sm:ms-4 sm:text-start">
|
||||
<h3 class="text-lg font-medium text-gray-900">
|
||||
{{ $title }}
|
||||
</h3>
|
||||
|
||||
<div class="mt-4 text-sm text-gray-600">
|
||||
{{ $content }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row justify-end px-6 py-4 bg-gray-100 text-end">
|
||||
{{ $footer }}
|
||||
</div>
|
||||
</x-modal>
|
||||
@@ -0,0 +1,46 @@
|
||||
@props(['title' => __('Confirm Password'), 'content' => __('For your security, please confirm your password to continue.'), 'button' => __('Confirm')])
|
||||
|
||||
@php
|
||||
$confirmableId = md5($attributes->wire('then'));
|
||||
@endphp
|
||||
|
||||
<span
|
||||
{{ $attributes->wire('then') }}
|
||||
x-data
|
||||
x-ref="span"
|
||||
x-on:click="$wire.startConfirmingPassword('{{ $confirmableId }}')"
|
||||
x-on:password-confirmed.window="setTimeout(() => $event.detail.id === '{{ $confirmableId }}' && $refs.span.dispatchEvent(new CustomEvent('then', { bubbles: false })), 250);"
|
||||
>
|
||||
{{ $slot }}
|
||||
</span>
|
||||
|
||||
@once
|
||||
<x-dialog-modal wire:model.live="confirmingPassword">
|
||||
<x-slot name="title">
|
||||
{{ $title }}
|
||||
</x-slot>
|
||||
|
||||
<x-slot name="content">
|
||||
{{ $content }}
|
||||
|
||||
<div class="mt-4" x-data="{}" x-on:confirming-password.window="setTimeout(() => $refs.confirmable_password.focus(), 250)">
|
||||
<x-input type="password" class="mt-1 block w-3/4" placeholder="{{ __('Password') }}" autocomplete="current-password"
|
||||
x-ref="confirmable_password"
|
||||
wire:model="confirmablePassword"
|
||||
wire:keydown.enter="confirmPassword" />
|
||||
|
||||
<x-input-error for="confirmable_password" class="mt-2" />
|
||||
</div>
|
||||
</x-slot>
|
||||
|
||||
<x-slot name="footer">
|
||||
<x-secondary-button wire:click="stopConfirmingPassword" wire:loading.attr="disabled">
|
||||
{{ __('Cancel') }}
|
||||
</x-secondary-button>
|
||||
|
||||
<x-button class="ms-3" dusk="confirm-password-button" wire:click="confirmPassword" wire:loading.attr="disabled">
|
||||
{{ $button }}
|
||||
</x-button>
|
||||
</x-slot>
|
||||
</x-dialog-modal>
|
||||
@endonce
|
||||
@@ -0,0 +1,3 @@
|
||||
<button {{ $attributes->merge(['type' => 'button', 'class' => 'inline-flex items-center justify-center px-4 py-2 bg-red-600 border border-transparent rounded-md font-semibold text-xs text-white uppercase tracking-widest hover:bg-red-500 active:bg-red-700 focus:outline-none focus:ring-2 focus:ring-red-500 focus:ring-offset-2 transition ease-in-out duration-150']) }}>
|
||||
{{ $slot }}
|
||||
</button>
|
||||
@@ -0,0 +1,17 @@
|
||||
@props(['id' => null, 'maxWidth' => null])
|
||||
|
||||
<x-modal :id="$id" :maxWidth="$maxWidth" {{ $attributes }}>
|
||||
<div class="px-6 py-4">
|
||||
<div class="text-lg font-medium text-gray-900">
|
||||
{{ $title }}
|
||||
</div>
|
||||
|
||||
<div class="mt-4 text-sm text-gray-600">
|
||||
{{ $content }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flex flex-row justify-end px-6 py-4 bg-gray-100 text-end">
|
||||
{{ $footer }}
|
||||
</div>
|
||||
</x-modal>
|
||||
@@ -0,0 +1 @@
|
||||
<a {{ $attributes->merge(['class' => 'block w-full px-4 py-2 text-start text-sm leading-5 text-gray-700 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 transition duration-150 ease-in-out']) }}>{{ $slot }}</a>
|
||||
@@ -0,0 +1,37 @@
|
||||
@props(['align' => 'right', 'width' => '48', 'contentClasses' => 'py-1 bg-white', 'dropdownClasses' => ''])
|
||||
|
||||
@php
|
||||
$alignmentClasses = match ($align) {
|
||||
'left' => 'ltr:origin-top-left rtl:origin-top-right start-0',
|
||||
'top' => 'origin-top',
|
||||
'none', 'false' => '',
|
||||
default => 'ltr:origin-top-right rtl:origin-top-left end-0',
|
||||
};
|
||||
|
||||
$width = match ($width) {
|
||||
'48' => 'w-48',
|
||||
'60' => 'w-60',
|
||||
default => 'w-48',
|
||||
};
|
||||
@endphp
|
||||
|
||||
<div class="relative" x-data="{ open: false }" @click.away="open = false" @close.stop="open = false">
|
||||
<div @click="open = ! open">
|
||||
{{ $trigger }}
|
||||
</div>
|
||||
|
||||
<div x-show="open"
|
||||
x-transition:enter="transition ease-out duration-200"
|
||||
x-transition:enter-start="transform opacity-0 scale-95"
|
||||
x-transition:enter-end="transform opacity-100 scale-100"
|
||||
x-transition:leave="transition ease-in duration-75"
|
||||
x-transition:leave-start="transform opacity-100 scale-100"
|
||||
x-transition:leave-end="transform opacity-0 scale-95"
|
||||
class="absolute z-50 mt-2 {{ $width }} rounded-md shadow-lg {{ $alignmentClasses }} {{ $dropdownClasses }}"
|
||||
style="display: none;"
|
||||
@click="open = false">
|
||||
<div class="rounded-md ring-1 ring-black ring-opacity-5 {{ $contentClasses }}">
|
||||
{{ $content }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,24 @@
|
||||
@props(['submit'])
|
||||
|
||||
<div {{ $attributes->merge(['class' => 'md:grid md:grid-cols-3 md:gap-6']) }}>
|
||||
<x-section-title>
|
||||
<x-slot name="title">{{ $title }}</x-slot>
|
||||
<x-slot name="description">{{ $description }}</x-slot>
|
||||
</x-section-title>
|
||||
|
||||
<div class="mt-5 md:mt-0 md:col-span-2">
|
||||
<form wire:submit="{{ $submit }}">
|
||||
<div class="px-4 py-5 bg-white sm:p-6 shadow {{ isset($actions) ? 'sm:rounded-tl-md sm:rounded-tr-md' : 'sm:rounded-md' }}">
|
||||
<div class="grid grid-cols-6 gap-6">
|
||||
{{ $form }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (isset($actions))
|
||||
<div class="flex items-center justify-end px-4 py-3 bg-gray-50 text-end sm:px-6 shadow sm:rounded-bl-md sm:rounded-br-md">
|
||||
{{ $actions }}
|
||||
</div>
|
||||
@endif
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,5 @@
|
||||
@props(['for'])
|
||||
|
||||
@error($for)
|
||||
<p {{ $attributes->merge(['class' => 'text-sm text-red-600']) }}>{{ $message }}</p>
|
||||
@enderror
|
||||
@@ -0,0 +1,3 @@
|
||||
@props(['disabled' => false])
|
||||
|
||||
<input {{ $disabled ? 'disabled' : '' }} {!! $attributes->merge(['class' => 'border-gray-300 focus:border-indigo-500 focus:ring-indigo-500 rounded-md shadow-sm']) !!}>
|
||||
@@ -0,0 +1,5 @@
|
||||
@props(['value'])
|
||||
|
||||
<label {{ $attributes->merge(['class' => 'block font-medium text-sm text-gray-700']) }}>
|
||||
{{ $value ?? $slot }}
|
||||
</label>
|
||||
@@ -0,0 +1,43 @@
|
||||
@props(['id', 'maxWidth'])
|
||||
|
||||
@php
|
||||
$id = $id ?? md5($attributes->wire('model'));
|
||||
|
||||
$maxWidth = [
|
||||
'sm' => 'sm:max-w-sm',
|
||||
'md' => 'sm:max-w-md',
|
||||
'lg' => 'sm:max-w-lg',
|
||||
'xl' => 'sm:max-w-xl',
|
||||
'2xl' => 'sm:max-w-2xl',
|
||||
][$maxWidth ?? '2xl'];
|
||||
@endphp
|
||||
|
||||
<div
|
||||
x-data="{ show: @entangle($attributes->wire('model')) }"
|
||||
x-on:close.stop="show = false"
|
||||
x-on:keydown.escape.window="show = false"
|
||||
x-show="show"
|
||||
id="{{ $id }}"
|
||||
class="jetstream-modal fixed inset-0 overflow-y-auto px-4 py-6 sm:px-0 z-50"
|
||||
style="display: none;"
|
||||
>
|
||||
<div x-show="show" class="fixed inset-0 transform transition-all" x-on:click="show = false" x-transition:enter="ease-out duration-300"
|
||||
x-transition:enter-start="opacity-0"
|
||||
x-transition:enter-end="opacity-100"
|
||||
x-transition:leave="ease-in duration-200"
|
||||
x-transition:leave-start="opacity-100"
|
||||
x-transition:leave-end="opacity-0">
|
||||
<div class="absolute inset-0 bg-gray-500 opacity-75"></div>
|
||||
</div>
|
||||
|
||||
<div x-show="show" class="mb-6 bg-white rounded-lg overflow-hidden shadow-xl transform transition-all sm:w-full {{ $maxWidth }} sm:mx-auto"
|
||||
x-trap.inert.noscroll="show"
|
||||
x-transition:enter="ease-out duration-300"
|
||||
x-transition:enter-start="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95"
|
||||
x-transition:enter-end="opacity-100 translate-y-0 sm:scale-100"
|
||||
x-transition:leave="ease-in duration-200"
|
||||
x-transition:leave-start="opacity-100 translate-y-0 sm:scale-100"
|
||||
x-transition:leave-end="opacity-0 translate-y-4 sm:translate-y-0 sm:scale-95">
|
||||
{{ $slot }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,11 @@
|
||||
@props(['active'])
|
||||
|
||||
@php
|
||||
$classes = ($active ?? false)
|
||||
? 'inline-flex items-center px-1 pt-1 border-b-2 border-indigo-400 text-sm font-medium leading-5 text-gray-900 focus:outline-none focus:border-indigo-700 transition duration-150 ease-in-out'
|
||||
: 'inline-flex items-center px-1 pt-1 border-b-2 border-transparent text-sm font-medium leading-5 text-gray-500 hover:text-gray-700 hover:border-gray-300 focus:outline-none focus:text-gray-700 focus:border-gray-300 transition duration-150 ease-in-out';
|
||||
@endphp
|
||||
|
||||
<a {{ $attributes->merge(['class' => $classes]) }}>
|
||||
{{ $slot }}
|
||||
</a>
|
||||
@@ -0,0 +1,11 @@
|
||||
@props(['active'])
|
||||
|
||||
@php
|
||||
$classes = ($active ?? false)
|
||||
? 'block w-full ps-3 pe-4 py-2 border-l-4 border-indigo-400 text-start text-base font-medium text-indigo-700 bg-indigo-50 focus:outline-none focus:text-indigo-800 focus:bg-indigo-100 focus:border-indigo-700 transition duration-150 ease-in-out'
|
||||
: 'block w-full ps-3 pe-4 py-2 border-l-4 border-transparent text-start text-base font-medium text-gray-600 hover:text-gray-800 hover:bg-gray-50 hover:border-gray-300 focus:outline-none focus:text-gray-800 focus:bg-gray-50 focus:border-gray-300 transition duration-150 ease-in-out';
|
||||
@endphp
|
||||
|
||||
<a {{ $attributes->merge(['class' => $classes]) }}>
|
||||
{{ $slot }}
|
||||
</a>
|
||||
@@ -0,0 +1,3 @@
|
||||
<button {{ $attributes->merge(['type' => 'button', 'class' => 'inline-flex items-center px-4 py-2 bg-white border border-gray-300 rounded-md font-semibold text-xs text-gray-700 uppercase tracking-widest shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2 disabled:opacity-25 transition ease-in-out duration-150']) }}>
|
||||
{{ $slot }}
|
||||
</button>
|
||||
@@ -0,0 +1,5 @@
|
||||
<div class="hidden sm:block">
|
||||
<div class="py-8">
|
||||
<div class="border-t border-gray-200"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,13 @@
|
||||
<div class="md:col-span-1 flex justify-between">
|
||||
<div class="px-4 sm:px-0">
|
||||
<h3 class="text-lg font-medium text-gray-900">{{ $title }}</h3>
|
||||
|
||||
<p class="mt-1 text-sm text-gray-600">
|
||||
{{ $description }}
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="px-4 sm:px-0">
|
||||
{{ $aside ?? '' }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,21 @@
|
||||
@props(['team', 'component' => 'dropdown-link'])
|
||||
|
||||
<form method="POST" action="{{ route('current-team.update') }}" x-data>
|
||||
@method('PUT')
|
||||
@csrf
|
||||
|
||||
<!-- Hidden Team ID -->
|
||||
<input type="hidden" name="team_id" value="{{ $team->id }}">
|
||||
|
||||
<x-dynamic-component :component="$component" href="#" x-on:click.prevent="$root.submit();">
|
||||
<div class="flex items-center">
|
||||
@if (Auth::user()->isCurrentTeam($team))
|
||||
<svg class="me-2 size-5 text-green-400" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M9 12.75L11.25 15 15 9.75M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
|
||||
</svg>
|
||||
@endif
|
||||
|
||||
<div class="truncate">{{ $team->name }}</div>
|
||||
</div>
|
||||
</x-dynamic-component>
|
||||
</form>
|
||||
@@ -0,0 +1,11 @@
|
||||
@if ($errors->any())
|
||||
<div {{ $attributes }}>
|
||||
<div class="font-medium text-red-600">{{ __('Whoops! Something went wrong.') }}</div>
|
||||
|
||||
<ul class="mt-3 list-disc list-inside text-sm text-red-600">
|
||||
@foreach ($errors->all() as $error)
|
||||
<li>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
</div>
|
||||
@endif
|
||||
@@ -0,0 +1,96 @@
|
||||
<div class="p-6 lg:p-8 bg-white border-b border-gray-200">
|
||||
<x-application-logo class="block h-12 w-auto" />
|
||||
|
||||
<h1 class="mt-8 text-2xl font-medium text-gray-900">
|
||||
Welcome to your Jetstream application!
|
||||
</h1>
|
||||
|
||||
<p class="mt-6 text-gray-500 leading-relaxed">
|
||||
Laravel Jetstream provides a beautiful, robust starting point for your next Laravel application. Laravel is designed
|
||||
to help you build your application using a development environment that is simple, powerful, and enjoyable. We believe
|
||||
you should love expressing your creativity through programming, so we have spent time carefully crafting the Laravel
|
||||
ecosystem to be a breath of fresh air. We hope you love it.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="bg-gray-200 bg-opacity-25 grid grid-cols-1 md:grid-cols-2 gap-6 lg:gap-8 p-6 lg:p-8">
|
||||
<div>
|
||||
<div class="flex items-center">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" class="size-6 stroke-gray-400">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M12 6.042A8.967 8.967 0 006 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 016 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 016-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0018 18a8.967 8.967 0 00-6 2.292m0-14.25v14.25" />
|
||||
</svg>
|
||||
<h2 class="ms-3 text-xl font-semibold text-gray-900">
|
||||
<a href="https://laravel.com/docs">Documentation</a>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<p class="mt-4 text-gray-500 text-sm leading-relaxed">
|
||||
Laravel has wonderful documentation covering every aspect of the framework. Whether you're new to the framework or have previous experience, we recommend reading all of the documentation from beginning to end.
|
||||
</p>
|
||||
|
||||
<p class="mt-4 text-sm">
|
||||
<a href="https://laravel.com/docs" class="inline-flex items-center font-semibold text-indigo-700">
|
||||
Explore the documentation
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="ms-1 size-5 fill-indigo-500">
|
||||
<path fill-rule="evenodd" d="M5 10a.75.75 0 01.75-.75h6.638L10.23 7.29a.75.75 0 111.04-1.08l3.5 3.25a.75.75 0 010 1.08l-3.5 3.25a.75.75 0 11-1.04-1.08l2.158-1.96H5.75A.75.75 0 015 10z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="flex items-center">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" class="size-6 stroke-gray-400">
|
||||
<path stroke-linecap="round" d="M15.75 10.5l4.72-4.72a.75.75 0 011.28.53v11.38a.75.75 0 01-1.28.53l-4.72-4.72M4.5 18.75h9a2.25 2.25 0 002.25-2.25v-9a2.25 2.25 0 00-2.25-2.25h-9A2.25 2.25 0 002.25 7.5v9a2.25 2.25 0 002.25 2.25z" />
|
||||
</svg>
|
||||
<h2 class="ms-3 text-xl font-semibold text-gray-900">
|
||||
<a href="https://laracasts.com">Laracasts</a>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<p class="mt-4 text-gray-500 text-sm leading-relaxed">
|
||||
Laracasts offers thousands of video tutorials on Laravel, PHP, and JavaScript development. Check them out, see for yourself, and massively level up your development skills in the process.
|
||||
</p>
|
||||
|
||||
<p class="mt-4 text-sm">
|
||||
<a href="https://laracasts.com" class="inline-flex items-center font-semibold text-indigo-700">
|
||||
Start watching Laracasts
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" class="ms-1 size-5 fill-indigo-500">
|
||||
<path fill-rule="evenodd" d="M5 10a.75.75 0 01.75-.75h6.638L10.23 7.29a.75.75 0 111.04-1.08l3.5 3.25a.75.75 0 010 1.08l-3.5 3.25a.75.75 0 11-1.04-1.08l2.158-1.96H5.75A.75.75 0 015 10z" clip-rule="evenodd" />
|
||||
</svg>
|
||||
</a>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="flex items-center">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" class="size-6 stroke-gray-400">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M2.25 15.75l5.159-5.159a2.25 2.25 0 013.182 0l5.159 5.159m-1.5-1.5l1.409-1.409a2.25 2.25 0 013.182 0l2.909 2.909m-18 3.75h16.5a1.5 1.5 0 001.5-1.5V6a1.5 1.5 0 00-1.5-1.5H3.75A1.5 1.5 0 002.25 6v12a1.5 1.5 0 001.5 1.5zm10.5-11.25h.008v.008h-.008V8.25zm.375 0a.375.375 0 11-.75 0 .375.375 0 01.75 0z" />
|
||||
</svg>
|
||||
<h2 class="ms-3 text-xl font-semibold text-gray-900">
|
||||
<a href="https://tailwindcss.com/">Tailwind</a>
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<p class="mt-4 text-gray-500 text-sm leading-relaxed">
|
||||
Laravel Jetstream is built with Tailwind, an amazing utility first CSS framework that doesn't get in your way. You'll be amazed how easily you can build and maintain fresh, modern designs with this wonderful framework at your fingertips.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="flex items-center">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" class="size-6 stroke-gray-400">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M16.5 10.5V6.75a4.5 4.5 0 10-9 0v3.75m-.75 11.25h10.5a2.25 2.25 0 002.25-2.25v-6.75a2.25 2.25 0 00-2.25-2.25H6.75a2.25 2.25 0 00-2.25 2.25v6.75a2.25 2.25 0 002.25 2.25z" />
|
||||
</svg>
|
||||
<h2 class="ms-3 text-xl font-semibold text-gray-900">
|
||||
Authentication
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<p class="mt-4 text-gray-500 text-sm leading-relaxed">
|
||||
Authentication and registration views are included with Laravel Jetstream, as well as support for user email verification and resetting forgotten passwords. So, you're free to get started with what matters most: building your application.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,30 @@
|
||||
@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 concepto</h6>
|
||||
<a href="{{route('concepto.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">
|
||||
<form action="{{route('concepto.store')}}" method="POST">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name">
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary" type="submit" value="Crear">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,36 @@
|
||||
@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 concepto</h6>
|
||||
<a href="{{route('concepto.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('concepto.update',$concepto->id)}}" method="POST">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name" value="{{$concepto->name}}">
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary" type="submit" value="Update">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -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">Conceptos</h6>
|
||||
@can('concepto.create')
|
||||
<a href="{{route('concepto.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 concepto</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>Opciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse ($conceptos as $concepto)
|
||||
<tr style="width:100%">
|
||||
<td>{{$concepto->id}}</td>
|
||||
<td><a href="{{route('concepto.show',$concepto->id)}}">{{$concepto->name}}</a></td>
|
||||
<td class="row mx-auto">
|
||||
@can('concepto.edit')
|
||||
<div class="col-sm-6 col-md-6"><a class="btn btn-primary" href="{{route('concepto.edit',$concepto->id)}}">Edit</a></div>
|
||||
@endcan
|
||||
|
||||
@can('concepto.destroy')
|
||||
<div class="col-sm-6 col-md-6">
|
||||
<form class="delete-form" action="{{route('concepto.destroy',$concepto->id)}}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<input type="submit" value="DELETE" class="btn btn-danger">
|
||||
</form>
|
||||
</div>
|
||||
@endcan
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<p>Sin conceptos.</p>
|
||||
@endforelse
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
@section('scripts')
|
||||
@include('layouts._partials.tablaScript')
|
||||
@include('layouts._partials.delete')
|
||||
@endsection
|
||||
@@ -0,0 +1,22 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('title',"show")
|
||||
|
||||
@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">Datos del concepto</h6>
|
||||
<a href="{{route('concepto.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">
|
||||
<h1>{{$concepto->name}}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,15 @@
|
||||
<x-app-layout>
|
||||
<x-slot name="header">
|
||||
<h2 class="font-semibold text-xl text-gray-800 leading-tight">
|
||||
{{ __('Dashboard') }}
|
||||
</h2>
|
||||
</x-slot>
|
||||
|
||||
<div class="py-12">
|
||||
<div class="max-w-7xl mx-auto sm:px-6 lg:px-8">
|
||||
<div class="bg-white overflow-hidden shadow-xl sm:rounded-lg">
|
||||
<x-welcome />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</x-app-layout>
|
||||
@@ -0,0 +1,36 @@
|
||||
@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 duración</h6>
|
||||
<a href="{{route('duration.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">
|
||||
<form action="{{route('duration.store')}}" method="POST">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="status">Seleccionar status</label>
|
||||
<select class="form-control" name="status" id="status">
|
||||
<option value="1">Activo</option>
|
||||
<option value="0">Inactivo</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="btn btn-primary" type="submit" value="Crear">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,37 @@
|
||||
@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">Crear duración</h6>
|
||||
<a href="{{route('duration.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">
|
||||
<form action="{{route('duration.update',$duration->id)}}" method="POST">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name" value="{{$duration->name}}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="status">Seleccionar status</label>
|
||||
<select class="form-control" name="status" id="status" value="{{ $duration->status }}">
|
||||
<option value="1" {{ $duration->status=='1' ? 'selected' : '' }}>Activo</option>
|
||||
<option value="0" {{ $duration->status=='0' ? 'selected' : '' }}>Inactivo</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="btn btn-primary" type="submit" value="Update">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,72 @@
|
||||
@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">Duraciones</h6>
|
||||
@can('duration.create')
|
||||
<a href="{{route('duration.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 duració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>Status</th>
|
||||
<th>Opciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse ($durations as $duration)
|
||||
<tr style="width:100%">
|
||||
<td>{{$duration->id}}</td>
|
||||
<td><a href="{{route('duration.show',$duration->id)}}">{{$duration->name}}</a></td>
|
||||
<td>{{ $duration->status=='1' ? 'Activo' : 'Inactivo' }}</td>
|
||||
<td class="row mx-auto">
|
||||
@can('duration.edit')
|
||||
<div class="col-sm-6 col-md-6"><a class="btn btn-primary" href="{{route('duration.edit',$duration->id)}}">Edit</a></div>
|
||||
@endcan
|
||||
|
||||
@can('duration.destroy')
|
||||
<div class="col-sm-6 col-md-6">
|
||||
<form class="delete-form" action="{{route('duration.destroy',$duration->id)}}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<input type="submit" value="DELETE" class="btn btn-danger">
|
||||
</form>
|
||||
</div>
|
||||
@endcan
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<p>Sin duraciones.</p>
|
||||
@endforelse
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
@section('scripts')
|
||||
@include('layouts._partials.tablaScript')
|
||||
@include('layouts._partials.delete')
|
||||
@endsection
|
||||
@@ -0,0 +1,23 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('title',"show")
|
||||
|
||||
@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">Datos de la duración</h6>
|
||||
<a href="{{route('duration.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">
|
||||
<h1>{{$duration->name}}</h1>
|
||||
<p>Status: {{ $duration->status=='1' ? 'Activo' : 'Inactivo' }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,23 @@
|
||||
@component('mail::message')
|
||||
{{ __('You have been invited to join the :team team!', ['team' => $invitation->team->name]) }}
|
||||
|
||||
@if (Laravel\Fortify\Features::enabled(Laravel\Fortify\Features::registration()))
|
||||
{{ __('If you do not have an account, you may create one by clicking the button below. After creating an account, you may click the invitation acceptance button in this email to accept the team invitation:') }}
|
||||
|
||||
@component('mail::button', ['url' => route('register')])
|
||||
{{ __('Create Account') }}
|
||||
@endcomponent
|
||||
|
||||
{{ __('If you already have an account, you may accept this invitation by clicking the button below:') }}
|
||||
|
||||
@else
|
||||
{{ __('You may accept this invitation by clicking the button below:') }}
|
||||
@endif
|
||||
|
||||
|
||||
@component('mail::button', ['url' => $acceptUrl])
|
||||
{{ __('Accept Invitation') }}
|
||||
@endcomponent
|
||||
|
||||
{{ __('If you did not expect to receive an invitation to this team, you may discard this email.') }}
|
||||
@endcomponent
|
||||
@@ -0,0 +1,28 @@
|
||||
<script>
|
||||
forms= document.querySelectorAll('.delete-form');
|
||||
|
||||
forms.forEach(form => {
|
||||
form.addEventListener('submit',(e)=>{
|
||||
e.preventDefault();
|
||||
|
||||
Swal.fire({
|
||||
title: "Eliminar registro",
|
||||
text: "estas seguro?",
|
||||
icon: "warning",
|
||||
showCancelButton: true,
|
||||
confirmButtonText: "Eliminar",
|
||||
cancelButtonText: "regresar",
|
||||
}).then((result) => {
|
||||
if (result.isConfirmed) {
|
||||
form.submit();
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
@if(session('swal'))
|
||||
<script>
|
||||
Swal.fire(@json(session('swal')))
|
||||
</script>
|
||||
@endif
|
||||
@@ -0,0 +1,4 @@
|
||||
<?php
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
ini_set('display_errors', 0);
|
||||
?>
|
||||
@@ -0,0 +1,12 @@
|
||||
<footer class="sticky-footer bg-white">
|
||||
<div class="container my-auto">
|
||||
<div class="copyright text-center my-auto">
|
||||
<span>Copyright © Your Website 2021</span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
|
||||
<a class="scroll-to-top rounded" href="#page-top">
|
||||
<i class="fas fa-angle-up"></i>
|
||||
</a>
|
||||
@@ -0,0 +1,21 @@
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
@yield('head')
|
||||
|
||||
<link href="{{asset('assets/vendor/fontawesome-free/css/all.min.css')}}" rel="stylesheet" type="text/css">
|
||||
<!-- Custom fonts for this template-->
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
|
||||
rel="stylesheet">
|
||||
|
||||
<!-- Custom styles for this template-->
|
||||
<link href="{{asset('assets/css/sb-admin-2.min.css')}}" rel="stylesheet">
|
||||
<link href="{{asset('assets/css/style.css')}}" rel="stylesheet">
|
||||
<title>@yield('title')</title>
|
||||
</head>
|
||||
@@ -0,0 +1,209 @@
|
||||
|
||||
<header>
|
||||
<!-- Topbar -->
|
||||
<nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">
|
||||
|
||||
<!-- Sidebar Toggle (Topbar) -->
|
||||
<button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
|
||||
<i class="fa fa-bars"></i>
|
||||
</button>
|
||||
|
||||
<!-- Topbar Search -->
|
||||
<form
|
||||
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control bg-light border-0 small" placeholder="Buscar..."
|
||||
aria-label="Search" aria-describedby="basic-addon2">
|
||||
<div class="input-group-append">
|
||||
<button class="btn btn-primary" type="button">
|
||||
<i class="fas fa-search fa-sm"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<!-- Topbar Navbar -->
|
||||
<ul class="navbar-nav ml-auto">
|
||||
<!-- Nav Item - Search Dropdown (Visible Only XS) -->
|
||||
<li class="nav-item dropdown no-arrow d-sm-none">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
|
||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fas fa-search fa-fw"></i>
|
||||
</a>
|
||||
<!-- Dropdown - Messages -->
|
||||
<div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in"
|
||||
aria-labelledby="searchDropdown">
|
||||
<form class="form-inline mr-auto w-100 navbar-search">
|
||||
<div class="input-group">
|
||||
<input type="text" class="form-control bg-light border-0 small"
|
||||
placeholder="Search for..." aria-label="Search"
|
||||
aria-describedby="basic-addon2">
|
||||
<div class="input-group-append">
|
||||
<button class="btn btn-primary" type="button">
|
||||
<i class="fas fa-search fa-sm"></i>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<!-- Nav Item - Alerts -->
|
||||
<li class="nav-item dropdown no-arrow mx-1">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
|
||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fas fa-bell fa-fw"></i>
|
||||
<!-- Counter - Alerts -->
|
||||
<span class="badge badge-danger badge-counter">3+</span>
|
||||
</a>
|
||||
<!-- Dropdown - Alerts -->
|
||||
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
|
||||
aria-labelledby="alertsDropdown">
|
||||
<h6 class="dropdown-header">
|
||||
Alerts Center
|
||||
</h6>
|
||||
<a class="dropdown-item d-flex align-items-center" href="#">
|
||||
<div class="mr-3">
|
||||
<div class="icon-circle bg-primary">
|
||||
<i class="fas fa-file-alt text-white"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="small text-gray-500">December 12, 2019</div>
|
||||
<span class="font-weight-bold">A new monthly report is ready to download!</span>
|
||||
</div>
|
||||
</a>
|
||||
<a class="dropdown-item d-flex align-items-center" href="#">
|
||||
<div class="mr-3">
|
||||
<div class="icon-circle bg-success">
|
||||
<i class="fas fa-donate text-white"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="small text-gray-500">December 7, 2019</div>
|
||||
$290.29 has been deposited into your account!
|
||||
</div>
|
||||
</a>
|
||||
<a class="dropdown-item d-flex align-items-center" href="#">
|
||||
<div class="mr-3">
|
||||
<div class="icon-circle bg-warning">
|
||||
<i class="fas fa-exclamation-triangle text-white"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="small text-gray-500">December 2, 2019</div>
|
||||
Spending Alert: We've noticed unusually high spending for your account.
|
||||
</div>
|
||||
</a>
|
||||
<a class="dropdown-item text-center small text-gray-500" href="#">Show All Alerts</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<!-- Nav Item - Messages -->
|
||||
<li class="nav-item dropdown no-arrow mx-1">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"
|
||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<i class="fas fa-envelope fa-fw"></i>
|
||||
<!-- Counter - Messages -->
|
||||
<span class="badge badge-danger badge-counter">7</span>
|
||||
</a>
|
||||
<!-- Dropdown - Messages -->
|
||||
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
|
||||
aria-labelledby="messagesDropdown">
|
||||
<h6 class="dropdown-header">
|
||||
Message Center
|
||||
</h6>
|
||||
<a class="dropdown-item d-flex align-items-center" href="#">
|
||||
<div class="dropdown-list-image mr-3">
|
||||
<img class="rounded-circle" src="img/undraw_profile_1.svg"
|
||||
alt="...">
|
||||
<div class="status-indicator bg-success"></div>
|
||||
</div>
|
||||
<div class="font-weight-bold">
|
||||
<div class="text-truncate">Hi there! I am wondering if you can help me with a
|
||||
problem I've been having.</div>
|
||||
<div class="small text-gray-500">Emily Fowler · 58m</div>
|
||||
</div>
|
||||
</a>
|
||||
<a class="dropdown-item d-flex align-items-center" href="#">
|
||||
<div class="dropdown-list-image mr-3">
|
||||
<img class="rounded-circle" src="img/undraw_profile_2.svg"
|
||||
alt="...">
|
||||
<div class="status-indicator"></div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="text-truncate">I have the photos that you ordered last month, how
|
||||
would you like them sent to you?</div>
|
||||
<div class="small text-gray-500">Jae Chun · 1d</div>
|
||||
</div>
|
||||
</a>
|
||||
<a class="dropdown-item d-flex align-items-center" href="#">
|
||||
<div class="dropdown-list-image mr-3">
|
||||
<img class="rounded-circle" src="img/undraw_profile_3.svg"
|
||||
alt="...">
|
||||
<div class="status-indicator bg-warning"></div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="text-truncate">Last month's report looks great, I am very happy with
|
||||
the progress so far, keep up the good work!</div>
|
||||
<div class="small text-gray-500">Morgan Alvarez · 2d</div>
|
||||
</div>
|
||||
</a>
|
||||
<a class="dropdown-item d-flex align-items-center" href="#">
|
||||
<div class="dropdown-list-image mr-3">
|
||||
<img class="rounded-circle" src="img/undraw_profile_3.svg"
|
||||
alt="...">
|
||||
<div class="status-indicator bg-success"></div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="text-truncate">Am I a good boy? The reason I ask is because someone
|
||||
told me that people say this to all dogs, even if they aren't good...</div>
|
||||
<div class="small text-gray-500">Chicken the Dog · 2w</div>
|
||||
</div>
|
||||
</a>
|
||||
<a class="dropdown-item text-center small text-gray-500" href="#">Read More Messages</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
<div class="topbar-divider d-none d-sm-block"></div>
|
||||
|
||||
<!-- Nav Item - User Information -->
|
||||
<li class="nav-item dropdown no-arrow">
|
||||
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
|
||||
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
|
||||
<span class="mr-2 d-none d-lg-inline text-gray-600 small">{{ Auth::user()->name }}</span>
|
||||
<img class="img-profile rounded-circle"
|
||||
src="img/undraw_profile.svg">
|
||||
</a>
|
||||
<!-- Dropdown - User Information -->
|
||||
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
|
||||
aria-labelledby="userDropdown">
|
||||
|
||||
<a class="dropdown-item" href="{{ route('profile.show') }}">
|
||||
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
|
||||
Mi perfil
|
||||
</a>
|
||||
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="fas fa-cogs fa-sm fa-fw mr-2 text-gray-400"></i>
|
||||
Settings
|
||||
</a>
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="fas fa-list fa-sm fa-fw mr-2 text-gray-400"></i>
|
||||
Activity Log
|
||||
</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<form id="logout-form" action="{{ route('logout') }}" method="POST" style="display: none;">
|
||||
@csrf
|
||||
</form>
|
||||
<a class="dropdown-item" href="{{ route('logout') }}" onclick="event.preventDefault(); document.getElementById('logout-form').submit();">
|
||||
<i class="fas fa-sign-out-alt fa-sm fa-fw mr-2" style="color:rgb(252, 32, 32);"></i>
|
||||
<span>Salir</span>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</nav>
|
||||
</header>
|
||||
@@ -0,0 +1,269 @@
|
||||
|
||||
|
||||
<div class="sidebar bg-primary" id="sidebar">
|
||||
<!-- Sidebar -->
|
||||
<ul class="navbar-nav sidebar sidebar-dark accordion" id="accordionSidebar">
|
||||
<!-- Sidebar - Brand -->
|
||||
<a class="sidebar-brand d-flex align-items-center justify-content-center" href="">
|
||||
<div class="sidebar-brand-icon">
|
||||
<img src="https://1000marcas.net/wp-content/uploads/2020/03/logo-Xbox.png" alt="SECUIEP Logo" style="width: 40px; height: auto;">
|
||||
</div>
|
||||
<div class="sidebar-brand-text mx-3">SECUIEP</div>
|
||||
</a>
|
||||
<!-- Divider -->
|
||||
<hr class="sidebar-divider my-0">
|
||||
|
||||
<!-- Nav Item - Dashboard -->
|
||||
<li class="nav-item active">
|
||||
<a class="nav-link" href="{{ route('dashboard') }}">
|
||||
<i class="fas fa-fw fa-tachometer-alt"></i>
|
||||
<span>Dashboard</span></a>
|
||||
</li>
|
||||
<!-- Divider -->
|
||||
<hr class="sidebar-divider">
|
||||
<!-- Heading -->
|
||||
<div class="sidebar-heading" style="color:white">Modulos</div>
|
||||
|
||||
|
||||
|
||||
<!-- Roles -->
|
||||
|
||||
|
||||
<!-- Nav Item - Utilities Collapse Menu -->
|
||||
@hasrole('Admin')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#Administrador"
|
||||
aria-expanded="true" aria-controls="Administrador">
|
||||
<i class="fas fa-star" style="color:rgb(255, 153, 0);"></i>
|
||||
<span>Administrador</span>
|
||||
</a>
|
||||
<div id="Administrador" class="collapse" aria-labelledby="headingUtilities"
|
||||
data-parent="#accordionSidebar">
|
||||
<div class="bg-white py-2 collapse-inner rounded">
|
||||
<h6 class="collapse-header">Herramientas:</h6>
|
||||
|
||||
@can('plantel.index')
|
||||
<a class="collapse-item" href="{{ route('plantel.index') }}" style="color:#85888e">Planteles</a>
|
||||
@endcan
|
||||
|
||||
@can('carrera.index')
|
||||
<a class="collapse-item" href="{{ route('carrera.index') }}" style="color:#85888e">Carreras</a>
|
||||
@endcan
|
||||
|
||||
@can('duration.index')
|
||||
<a class="collapse-item" href="{{ route('duration.index') }}" style="color:#85888e">Duraciones</a>
|
||||
@endcan
|
||||
|
||||
@can('plan.index')
|
||||
<a class="collapse-item" href="{{ route('plan.index') }}" style="color:#85888e">Planes de estudio</a>
|
||||
@endcan
|
||||
|
||||
@can('nivel.index')
|
||||
<a class="collapse-item" href="{{ route('nivel.index') }}" style="color:#85888e">Niveles</a>
|
||||
@endcan
|
||||
|
||||
@can('permission.index')
|
||||
<a class="collapse-item" href="{{ route('permission.index') }}" style="color:#85888e">Permisos</a>
|
||||
@endcan
|
||||
|
||||
@can('role.index')
|
||||
<a class="collapse-item" href="{{ route('role.index') }}" style="color:#85888e">Roles</a>
|
||||
@endcan
|
||||
|
||||
@can('user.index')
|
||||
<a class="collapse-item" href="{{ route('user.index') }}" style="color:#85888e">Usuarios</a>
|
||||
@endcan
|
||||
|
||||
@can('area.index')
|
||||
<a class="collapse-item" href="{{ route('area.index') }}" style="color:#85888e">Areas</a>
|
||||
@endcan
|
||||
|
||||
@can('campan.index')
|
||||
<a class="collapse-item" href="{{ route('campan.index') }}" style="color:#85888e">Campañas</a>
|
||||
@endcan
|
||||
|
||||
@can('turno.index')
|
||||
<a class="collapse-item" href="{{ route('turno.index') }}" style="color:#85888e">Turnos</a>
|
||||
@endcan
|
||||
|
||||
@can('medio.index')
|
||||
<a class="collapse-item" href="{{ route('medio.index') }}" style="color:#85888e">Medios de contacto</a>
|
||||
@endcan
|
||||
|
||||
@can('plane.index')
|
||||
<a class="collapse-item" href="{{ route('plane.index') }}" style="color:#85888e">Planes de pago</a>
|
||||
@endcan
|
||||
|
||||
@can('concepto.index')
|
||||
<a class="collapse-item" href="{{ route('concepto.index') }}" style="color:#85888e">Conceptos</a>
|
||||
@endcan
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@endrole
|
||||
|
||||
<!-- Nav Item - Utilities Collapse Menu -->
|
||||
{{-- <li class="nav-item">
|
||||
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#Inventario"
|
||||
aria-expanded="true" aria-controls="Inventario">
|
||||
<i class="fas fa-fw fa-wrench" style="color: #e8e8e8;"></i>
|
||||
<span>Inventario</span>
|
||||
</a>
|
||||
<div id="Inventario" class="collapse" aria-labelledby="headingUtilities"
|
||||
data-parent="#accordionSidebar">
|
||||
<div class="bg-white py-2 collapse-inner rounded">
|
||||
<h6 class="collapse-header">Herramientas:</h6>
|
||||
<a class="collapse-item" href="inicio_inventario.php" style="color:#85888e">Pagina Principal</a>
|
||||
<a class="collapse-item" href="proveedores.php" style="color:#85888e">Proveedores</a>
|
||||
<a class="collapse-item" href="historial_compras.php" style="color:#85888e">Historial de compras</a>
|
||||
<a class="collapse-item" href="evalucion.php" style="color:#85888e">Evaluación</a>
|
||||
</div>
|
||||
</div>
|
||||
</li> --}}
|
||||
|
||||
|
||||
{{-- <li class="nav-item">
|
||||
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#ControlEscolar"
|
||||
aria-expanded="true" aria-controls="ControlEscolar">
|
||||
<i class="fas fa-book" style="color: #e8e8e8;"></i>
|
||||
<span>Control Escolar</span>
|
||||
</a>
|
||||
<div id="ControlEscolar" class="collapse" aria-labelledby="ControlEscolar" data-parent="#accordionSidebar">
|
||||
<div class="bg-white py-2 collapse-inner rounded">
|
||||
<h6 class="collapse-header">Herramientas</h6>
|
||||
<a class="collapse-item" href="dal.php" style="color:#85888e">Alumnos</a>
|
||||
<a class="collapse-item" href="calificaciones.php" style="color:#85888e">Calificaciones</a>
|
||||
</div>
|
||||
</div>
|
||||
</li> --}}
|
||||
|
||||
@hasrole('Promotor')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#Promocion"
|
||||
aria-expanded="true" aria-controls="Promocion">
|
||||
<i class="fas fa-fw fa-bullhorn" style="color: #e8e8e8;"></i>
|
||||
<span>Promoción</span>
|
||||
</a>
|
||||
<div id="Promocion" class="collapse" aria-labelledby="Promocion" data-parent="#accordionSidebar">
|
||||
<div class="bg-white py-2 collapse-inner rounded">
|
||||
<h6 class="collapse-header">Herramientas</h6>
|
||||
|
||||
@can('prospecto.index')
|
||||
<a class="collapse-item" href="{{ route('prospecto.index') }}" style="color:#85888e">Prospectos</a>
|
||||
@endcan
|
||||
<a class="collapse-item" href="difusion.php" style="color:#85888e">Difusión</a>
|
||||
<a class="collapse-item" href="informes.php" style="color:#85888e">Informes</a>
|
||||
<a class="collapse-item" href="referencias.php" style="color:#85888e">Referencias</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
@endrole
|
||||
|
||||
@hasrole(['Prospecto','Alumno'])
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{ route('pago.index') }}">
|
||||
<i class="fas fa-money-bill-alt" style="color: #e8e8e8;"></i>
|
||||
<span>Mis pagos</span></a>
|
||||
</li>
|
||||
@endrole
|
||||
|
||||
{{-- <li class="nav-item">
|
||||
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#Finanzas"
|
||||
aria-expanded="true" aria-controls="Finanzas">
|
||||
<i class="fas fa-money-bill-alt" style="color: #e8e8e8;"></i>
|
||||
<span>Finanzas</span>
|
||||
</a>
|
||||
<div id="Finanzas" class="collapse" aria-labelledby="Finanzas" data-parent="#accordionSidebar">
|
||||
<div class="bg-white py-2 collapse-inner rounded">
|
||||
<h6 class="collapse-header">Herramientas</h6>
|
||||
<a class="collapse-item" href="dal.php" style="color:#85888e">Alumnos</a>
|
||||
<a class="collapse-item" href="calificaciones.php" style="color:#85888e">Calificaciones</a>
|
||||
</div>
|
||||
</div>
|
||||
</li> --}}
|
||||
|
||||
|
||||
|
||||
|
||||
<!-- /Roles -->
|
||||
|
||||
|
||||
<!-- Divider -->
|
||||
<hr class="sidebar-divider">
|
||||
<!-- Heading -->
|
||||
<div class="sidebar-heading" style="color:white">Adicionales</div>
|
||||
|
||||
<!-- Nav Item - Chats -->
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="chats.php">
|
||||
<i class="fas fa-fw fa-comments" style="color: #e8e8e8;"></i>
|
||||
<span>Chats</span></a>
|
||||
</li>
|
||||
|
||||
<!-- Nav Item - Utilities Collapse Menu -->
|
||||
<li class="nav-item">
|
||||
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities"
|
||||
aria-expanded="true" aria-controls="collapseUtilities">
|
||||
<i class="fas fa-id-badge" style="color: #e8e8e8;"></i>
|
||||
<span>Asistencia</span>
|
||||
</a>
|
||||
<div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities"
|
||||
data-parent="#accordionSidebar">
|
||||
<div class="bg-white py-2 collapse-inner rounded">
|
||||
<h6 class="collapse-header">Herramientas:</h6>
|
||||
<a class="collapse-item" href="unidad.php" style="color:gray">Mi unidad</a>
|
||||
|
||||
<a class="collapse-item" href="asistencia.php" style="color:gray">Generar Chequeos</a>
|
||||
|
||||
<a class="collapse-item" href="mapa.php" style="color:gray">Rastreo</a>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
|
||||
|
||||
<!-- Nav Item - Chats -->
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="calendario.php">
|
||||
<i class="fas fa-fw fa-calendar" style="color: #e8e8e8;"></i>
|
||||
<span>Calendario</span></a>
|
||||
</li>
|
||||
|
||||
<!-- Nav Item - Chats -->
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="blog.php">
|
||||
<i class="fas fa-fw fa-blog" style="color: #e8e8e8;"></i>
|
||||
<span>Blog</span></a>
|
||||
</li>
|
||||
|
||||
|
||||
<!-- Nav Item - notes -->
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="reporte_sistemas.php">
|
||||
<i class="fas fa-file-alt" style="color: #e8e8e8;"></i>
|
||||
<span>Reporte de sistemas</span></a>
|
||||
</li>
|
||||
|
||||
|
||||
<!-- Nav Item - notes -->
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="tienda.php">
|
||||
<i class="fas fa-store" style="color: #e8e8e8;"></i>
|
||||
<span>Tienda Online</span></a>
|
||||
</li>
|
||||
|
||||
|
||||
<!-- Nav Item - notes -->
|
||||
@can('note.index')
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{{route('note.index')}}">
|
||||
<i class="fas fa-fw fa-sticky-note" style="color: #e8e8e8;"></i>
|
||||
<span>Notas</span></a>
|
||||
</li>
|
||||
@endcan
|
||||
|
||||
<!-- Sidebar Toggler (Sidebar) -->
|
||||
<div class="text-center d-none d-md-inline">
|
||||
<button class="rounded-circle border-0" id="sidebarToggle"></button>
|
||||
</div>
|
||||
</ul>
|
||||
</div>
|
||||
@@ -0,0 +1,19 @@
|
||||
|
||||
|
||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
|
||||
<!-- Bootstrap core JavaScript-->
|
||||
|
||||
<script src="{{asset('assets/vendor/bootstrap/js/bootstrap.bundle.min.js')}}"></script>
|
||||
<script src="{{asset('assets/vendor/jquery-easing/jquery.easing.min.js')}}"></script>
|
||||
<!-- Custom scripts for all pages-->
|
||||
<script src="{{asset('assets/js/sb-admin-2.min.js')}}"></script>
|
||||
<script src="{{asset('assets/js/index.js')}}"></script>
|
||||
|
||||
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11.10.8"></script>
|
||||
|
||||
<script src="https://kit.fontawesome.com/60c5f946a0.js" crossorigin="anonymous"></script>
|
||||
{{-- <script src="{{asset('assets/js/admin.js')}}"></script> --}}
|
||||
|
||||
<!-- <script src="{{asset('assets/vendor/chart.js/Chart.min.js')}}"></script>
|
||||
<script src="{{asset('assets/js/demo/chart-area-demo.js')}}"></script>
|
||||
<script src="{{asset('assets/js/demo/chart-pie-demo.js')}}"></script> -->
|
||||
@@ -0,0 +1,58 @@
|
||||
<script src="https://cdn.datatables.net/2.1.8/js/dataTables.js"></script>
|
||||
<script src="https://cdn.datatables.net/2.1.8/js/dataTables.bootstrap.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/3.1.2/js/dataTables.buttons.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/3.1.2/js/buttons.bootstrap.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/pdfmake.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/vfs_fonts.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/3.1.2/js/buttons.html5.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/3.1.2/js/buttons.print.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/3.1.2/js/buttons.colVis.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/responsive/3.0.3/js/dataTables.responsive.js"></script>
|
||||
<script src="https://cdn.datatables.net/responsive/3.0.3/js/responsive.bootstrap.js"></script>
|
||||
|
||||
<script> new DataTable('#tcont', {
|
||||
responsive: true,
|
||||
language: {
|
||||
"decimal": "",
|
||||
"emptyTable": "No hay información",
|
||||
"info": "Mostrando _START_ a _END_ de _TOTAL_ Entradas",
|
||||
"infoEmpty": "Mostrando 0 to 0 of 0 Entradas",
|
||||
"infoFiltered": "(Filtrado de _MAX_ total entradas)",
|
||||
"infoPostFix": "",
|
||||
"thousands": ",",
|
||||
"lengthMenu": "Mostrar _MENU_ Entradas",
|
||||
"loadingRecords": "Cargando...",
|
||||
"processing": "Procesando...",
|
||||
"search": "Buscar:",
|
||||
"zeroRecords": "Sin resultados encontrados"
|
||||
},
|
||||
lengthMenu: [
|
||||
[10, 25, 50, -1],
|
||||
['10 filas', '25 filas', '50 filas', 'Todos']
|
||||
],
|
||||
layout: {
|
||||
topStart: {
|
||||
buttons: ['colvis', 'pageLength']
|
||||
},
|
||||
topEnd: ['search'],
|
||||
bottomStart: [{
|
||||
buttons: [{
|
||||
extend: 'excel',
|
||||
title: 'Excel'
|
||||
},
|
||||
{
|
||||
extend: 'pdfHtml5',
|
||||
title: 'PDF'
|
||||
},
|
||||
{
|
||||
extend: 'print'
|
||||
}
|
||||
]
|
||||
}, 'info'],
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$("#tcont_wrapper").removeClass("form-inline");
|
||||
$("#tcont_wrapper").addClass("w-100"); </script>
|
||||
@@ -0,0 +1,59 @@
|
||||
<script src="https://cdn.datatables.net/2.1.8/js/dataTables.js"></script>
|
||||
<script src="https://cdn.datatables.net/2.1.8/js/dataTables.bootstrap.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/3.1.2/js/dataTables.buttons.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/3.1.2/js/buttons.bootstrap.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/jszip/3.10.1/jszip.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/pdfmake.min.js"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.2.7/vfs_fonts.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/3.1.2/js/buttons.html5.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/3.1.2/js/buttons.print.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/buttons/3.1.2/js/buttons.colVis.min.js"></script>
|
||||
<script src="https://cdn.datatables.net/responsive/3.0.3/js/dataTables.responsive.js"></script>
|
||||
<script src="https://cdn.datatables.net/responsive/3.0.3/js/responsive.bootstrap.js"></script>
|
||||
|
||||
<script> new DataTable('#tcont', {
|
||||
responsive: true,
|
||||
order: [],
|
||||
language: {
|
||||
"decimal": "",
|
||||
"emptyTable": "No hay información",
|
||||
"info": "Mostrando _START_ a _END_ de _TOTAL_ Entradas",
|
||||
"infoEmpty": "Mostrando 0 to 0 of 0 Entradas",
|
||||
"infoFiltered": "(Filtrado de _MAX_ total entradas)",
|
||||
"infoPostFix": "",
|
||||
"thousands": ",",
|
||||
"lengthMenu": "Mostrar _MENU_ Entradas",
|
||||
"loadingRecords": "Cargando...",
|
||||
"processing": "Procesando...",
|
||||
"search": "Buscar:",
|
||||
"zeroRecords": "Sin resultados encontrados"
|
||||
},
|
||||
lengthMenu: [
|
||||
[10, 25, 50, -1],
|
||||
['10 filas', '25 filas', '50 filas', 'Todos']
|
||||
],
|
||||
layout: {
|
||||
topStart: {
|
||||
buttons: ['colvis', 'pageLength']
|
||||
},
|
||||
topEnd: ['search'],
|
||||
bottomStart: [{
|
||||
buttons: [{
|
||||
extend: 'excel',
|
||||
title: 'Excel'
|
||||
},
|
||||
{
|
||||
extend: 'pdfHtml5',
|
||||
title: 'PDF'
|
||||
},
|
||||
{
|
||||
extend: 'print'
|
||||
}
|
||||
]
|
||||
}, 'info'],
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$("#tcont_wrapper").removeClass("form-inline");
|
||||
$("#tcont_wrapper").addClass("w-100"); </script>
|
||||
@@ -0,0 +1,5 @@
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/2.3.2/css/dataTables.bootstrap.css">
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/buttons/3.1.2/css/buttons.bootstrap.css">
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/responsive/3.0.3/css/responsive.bootstrap.css">
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.5.0/css/rowReorder.dataTables.css">
|
||||
<link rel="stylesheet" href="https://cdn.datatables.net/responsive/3.0.4/css/responsive.dataTables.css">
|
||||
@@ -0,0 +1,30 @@
|
||||
@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">
|
||||
<h6 class="m-0 font-weight-bold text-primary">Página principal</h6>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<div class="container-fluid">
|
||||
<h1>Pendientes</h1>
|
||||
<ul>
|
||||
<li>creacion de materiales para las carreras</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="{{ str_replace('_', '-', app()->getLocale()) }}">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="">
|
||||
<meta name="csrf-token" content="{{ csrf_token() }}">
|
||||
|
||||
<link href="{{asset('assets/vendor/fontawesome-free/css/all.min.css')}}" rel="stylesheet" type="text/css">
|
||||
<!-- Custom fonts for this template-->
|
||||
<link
|
||||
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
|
||||
rel="stylesheet">
|
||||
|
||||
<!-- Custom styles for this template-->
|
||||
<link href="{{asset('assets/css/sb-admin-2.min.css')}}" rel="stylesheet">
|
||||
<link href="{{asset('assets/css/style.css')}}" rel="stylesheet">
|
||||
</head>
|
||||
<body class="bg-primary">
|
||||
{{ $slot }}
|
||||
@livewireScripts
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,62 @@
|
||||
@include('layouts._partials.error')
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html lang="es">
|
||||
<head>
|
||||
@include('layouts._partials.head')
|
||||
|
||||
{{-- Livewire styles --}}
|
||||
@livewireStyles
|
||||
</head>
|
||||
|
||||
<body id="page-top">
|
||||
<div id="wrapper">
|
||||
|
||||
@include('layouts._partials.menu')
|
||||
|
||||
<div id="content-wrapper" class="d-flex flex-column">
|
||||
<div id="content">
|
||||
@include('layouts._partials.header')
|
||||
@yield('content')
|
||||
</div>
|
||||
|
||||
@include('layouts._partials.footer')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{-- JS base --}}
|
||||
@include('layouts._partials.scripts')
|
||||
|
||||
{{-- Livewire --}}
|
||||
@livewireScripts
|
||||
|
||||
{{-- scripts por vista --}}
|
||||
@yield('scripts')
|
||||
|
||||
|
||||
<script>
|
||||
window.addEventListener('swal', event => {
|
||||
|
||||
console.log('Evento swal recibido:', event.detail);
|
||||
|
||||
if (!event.detail) return;
|
||||
|
||||
Swal.fire({
|
||||
icon: event.detail.icon ?? 'info',
|
||||
title: event.detail.title ?? 'Aviso',
|
||||
text: event.detail.text ?? '',
|
||||
});
|
||||
});
|
||||
</script>
|
||||
|
||||
<script>
|
||||
window.addEventListener('close-modal', () => {
|
||||
const modal = bootstrap.Modal.getInstance(
|
||||
document.getElementById('logoutSessionsModal')
|
||||
);
|
||||
modal?.hide();
|
||||
});
|
||||
</script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,22 @@
|
||||
<div>
|
||||
<div class="form-group">
|
||||
<label>Nivel:</label>
|
||||
<select wire:model.live="selectedNivel" class="form-control" name="nivel">
|
||||
<option value="">Selecciona el nivel</option>
|
||||
@foreach($niveles as $nivel)
|
||||
<option value="{{ $nivel->id }}">{{ $nivel->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="form-group mt-3">
|
||||
<label>Carrera:</label>
|
||||
{{-- wire:key evita problemas de re-renderizado --}}
|
||||
<select wire:model="selectedCarrera" class="form-control" wire:key="carreras-select" name="carrera">
|
||||
@foreach($carreras as $carrera)
|
||||
<option value="{{ $carrera->id }}">{{ $carrera->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,124 @@
|
||||
<div wire:ignore.self class="modal fade" id="exampleModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
@if ($concepto)
|
||||
<h5 class="modal-title">Modificación de concepto</h5>
|
||||
@else
|
||||
<h5 class="modal-title">Creación de concepto</h5>
|
||||
@endif
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
@if ($concepto)
|
||||
|
||||
<form action="{{route('concepto.update',$concepto->id)}}" method="POST">
|
||||
@csrf
|
||||
@method('PUT')
|
||||
<div class="mb-3">
|
||||
<label for="tipo">Seleccionar concepto</label>
|
||||
<select class="form-control" name="name" id="name">
|
||||
@foreach($conceptos as $concept)
|
||||
<option value="{{ $concept->id }}" {{ $concepto->name==$concept->id ? 'selected' : '' }}>{{ $concept->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class=" mb-1">Fecha de pago</label>
|
||||
<input type="date" class="form-control" name="fecha_pago" wire:model="fecha_pago">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class=" mb-1">monto</label>
|
||||
<input type="number" class="form-control" name="monto" value="{{$concepto->monto}}">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="recargo">Recargo</label>
|
||||
<select class="form-control" name="recargo" id="recargo" value="{{ $concepto->recargo }}">
|
||||
<option value="1" {{ $concepto->recargo=='1' ? 'selected' : '' }}>Activo</option>
|
||||
<option value="0" {{ $concepto->recargo=='0' ? 'selected' : '' }}>Inactivo</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="tipo">Seleccionar tipo</label>
|
||||
|
||||
<select class="form-control" name="tipo" id="tipo">
|
||||
@foreach($tipos as $tipo)
|
||||
<option value="{{ $tipo->id }}" {{ $concepto->tipo == $tipo->id ? 'selected' : ''}}>{{ $tipo->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<div class="mb-3 d-none">
|
||||
<label class=" mb-1">Plan</label>
|
||||
<input class="form-control" name="plane" value="{{ $plane->id }}" type="number">
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary" type="submit" value="Guardar cambios">
|
||||
</form>
|
||||
|
||||
@else
|
||||
<form action="{{route('concepto.store')}}" method="POST">
|
||||
@csrf
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="tipo">Seleccionar concepto</label>
|
||||
<select class="form-control" name="name" id="name">
|
||||
@foreach($conceptos as $concepto)
|
||||
<option value="{{ $concepto->id }}" >{{ $concepto->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class=" mb-1">Fecha de pago</label>
|
||||
<input type="date" class="form-control" name="fecha_pago" >
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class=" mb-1">Monto</label>
|
||||
<input type="number" class="form-control" name="monto" >
|
||||
</div>
|
||||
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="recargo">Recargo</label>
|
||||
<select class="form-control" name="recargo" id="recargo">
|
||||
<option value="1">Activo</option>
|
||||
<option value="0">Inactivo</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="tipo">Seleccionar tipo</label>
|
||||
|
||||
<select class="form-control" name="tipo" id="tipo">
|
||||
@foreach($tipos as $tipo)
|
||||
<option value="{{ $tipo->id }}" >{{ $tipo->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="mb-3 d-none">
|
||||
<label class=" mb-1">Plan</label>
|
||||
<input class="form-control" name="plane" value="{{$plane->id }}" type="number">
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary" type="submit" value="Agregar">
|
||||
</form>
|
||||
@endif
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,196 @@
|
||||
<div>
|
||||
|
||||
@if($full)
|
||||
<button onclick="Livewire.dispatch('create-prospecto')" class="d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i class="fas fa-download fa-sm text-white-50"></i> Inscribir</button>
|
||||
@endif
|
||||
|
||||
<div wire:key="modal-prospecto-{{ $prospecto?->id ?? '' }}">
|
||||
|
||||
|
||||
@if ($prospecto)
|
||||
|
||||
<form wire:submit.prevent="{{ $prospecto ? 'actualizarProspecto' : 'guardarProspecto' }}" autocomplete="off">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-6">
|
||||
<label>Nombre</label>
|
||||
<input class="form-control"
|
||||
wire:model.defer="pname"
|
||||
name="prospecto_name"
|
||||
autocomplete="off">
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<label>Correo</label>
|
||||
<input class="form-control"
|
||||
wire:model.defer="pemail"
|
||||
name="prospecto_email"
|
||||
autocomplete="off">
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mt-2">
|
||||
<label>Teléfono</label>
|
||||
<input class="form-control"
|
||||
wire:model.defer="ptelefono"
|
||||
name="prospecto_phone"
|
||||
autocomplete="off">
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mt-2">
|
||||
<label>Dirección</label>
|
||||
<input class="form-control"
|
||||
wire:model.defer="pdireccion"
|
||||
name="prospecto_address"
|
||||
autocomplete="off">
|
||||
</div>
|
||||
|
||||
@if(!$prospecto)
|
||||
<div class="col-md-6 mt-2">
|
||||
<label>Password</label>
|
||||
<input type="password"
|
||||
class="form-control"
|
||||
wire:model.defer="ppassword"
|
||||
name="prospecto_password"
|
||||
autocomplete="new-password">
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
{{-- ================= PLANTEL ================= --}}
|
||||
<div class="mt-2">
|
||||
<label>Campus</label>
|
||||
<select class="form-control" wire:model.live="pplantels" name="prospecto_plantel">
|
||||
<option value="">Seleccione</option>
|
||||
@foreach($plantels as $p)
|
||||
@if($user->existe($p->id))
|
||||
<option value="{{ $p->id }}">{{ $p->name }}</option>
|
||||
@endif
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{{-- ================= ROL ================= --}}
|
||||
<div class="mt-2">
|
||||
<label>Rol</label>
|
||||
<select class="form-control" wire:model="proles" name="prospecto_rol">
|
||||
<option value="">Seleccione</option>
|
||||
@foreach($roles as $r)
|
||||
<option value="{{ $r->id }}">{{ $r->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
{{-- ================= NIVEL ================= --}}
|
||||
<div class="mt-2">
|
||||
<label>Nivel</label>
|
||||
<select class="form-control" wire:model.live="selectedNivel" name="prospecto_nivel">
|
||||
<option value="">Seleccione</option>
|
||||
@foreach($niveles as $n)
|
||||
<option value="{{ $n->id }}">{{ $n->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{{-- ================= PLAN ================= --}}
|
||||
<div class="mt-2">
|
||||
<label>Plan</label>
|
||||
<select class="form-control" wire:model.live="selectedplan" name="prospecto_plan" {{ $active }}>
|
||||
<option value="">Seleccione</option>
|
||||
@foreach($plans as $pl)
|
||||
<option value="{{ $pl->id }}">
|
||||
{{ $pl->name }} - {{ $pl->rvoe }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{{-- ================= CAMPAÑA ================= --}}
|
||||
<div class="mt-2">
|
||||
<label>Campaña</label>
|
||||
<select class="form-control" wire:model="pciclo" name="prospecto_ciclo">
|
||||
<option value="">Seleccione</option>
|
||||
@foreach($campans as $c)
|
||||
<option value="{{ $c->id }}">{{ $c->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{{-- ================= TURNO ================= --}}
|
||||
<div class="mt-2">
|
||||
<label>Turno</label>
|
||||
<select class="form-control" wire:model="pturno" name="prospecto_turno">
|
||||
<option value="">Seleccione</option>
|
||||
@foreach($turnos as $t)
|
||||
<option value="{{ $t->id }}">{{ $t->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{{-- ================= MEDIO ================= --}}
|
||||
<div class="mt-2">
|
||||
<label>Medio</label>
|
||||
<select class="form-control" wire:model="pmedio" name="prospecto_medio">
|
||||
<option value="">Seleccione</option>
|
||||
@foreach($medios as $m)
|
||||
<option value="{{ $m->id }}">{{ $m->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="text-end mt-4">
|
||||
<button class="btn btn-primary">
|
||||
{{ $prospecto ? 'Actualizar' : 'Guardar' }}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
<div class="row pt-5">
|
||||
<div class="col-md-4">
|
||||
<div class="mt-2">
|
||||
<label>Plan de pago</label>
|
||||
<select wire:model.live="selectedplane" class="form-control">
|
||||
<option value="">Selecciona plan de pago</option>
|
||||
@foreach ($planesPago as $plan)
|
||||
<option value="{{ $plan->id }}">
|
||||
{{ $plan->name }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
<button type="button" class="btn btn-success" wire:click="plan">
|
||||
Asignar plan
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-8">
|
||||
@if(count($conceptos))
|
||||
<ul class="list-group mt-3">
|
||||
@foreach ($conceptos as $concepto)
|
||||
<li class="list-group-item d-flex justify-content-between">
|
||||
|
||||
<span>@foreach ($conceptosNombres as $tconcepto)
|
||||
@if ($concepto->name == $tconcepto->id)
|
||||
{{$tconcepto->name}}
|
||||
@endif
|
||||
@endforeach</span>
|
||||
<span>{{ $concepto->fecha_pago }}</span>
|
||||
<span>{{ $concepto->monto }}</span>
|
||||
</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@else
|
||||
|
||||
@endif
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,130 @@
|
||||
<div wire:ignore.self class="modal fade" id="exampleModal" tabindex="-1" role="dialog">
|
||||
<div class="modal-dialog" role="document">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header">
|
||||
@if ($material)
|
||||
<h5 class="modal-title">Modificación de material</h5>
|
||||
@else
|
||||
<h5 class="modal-title">Creación de material</h5>
|
||||
@endif
|
||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||
<span aria-hidden="true">×</span>
|
||||
</button>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
@if ($material)
|
||||
|
||||
<form action="{{route('material.update',$material->id)}}" method="POST">
|
||||
@csrf
|
||||
@method('PUT')
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name" value="{{$material->name}}">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Objetivo</label>
|
||||
<input class="form-control" name="objetivo" value="{{$material->objetivo}}">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Creditos</label>
|
||||
<input class="form-control" name="creditos" type="number" value="{{$material->creditos}}">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Horas Totales</label>
|
||||
<input class="form-control" name="horas" type="number" value="{{$material->horas}}">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Ciclo</label>
|
||||
<input class="form-control" name="ciclo" type="number" value="{{$material->ciclo}}">
|
||||
</div>
|
||||
<div class="mb-3 d-none">
|
||||
<label class="small mb-1">Carrera</label>
|
||||
<input class="form-control" name="carrera" value="{{ $carrera->id }}" type="number">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Clave</label>
|
||||
<input class="form-control" name="clave" value="{{$material->clave}}">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Serial</label>
|
||||
<input class="form-control" name="serial" value="{{$material->serial}}">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="status">Seleccionar status</label>
|
||||
<select class="form-control" name="status" id="status">
|
||||
<option value="1" {{ $material->status == 1 ? 'selected' : ''}}>Activo</option>
|
||||
<option value="0" {{ $material->status == 0 ? 'selected' : ''}}>Inactivo</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary" type="submit" value="Guardar cambios">
|
||||
</form>
|
||||
|
||||
@else
|
||||
<form action="{{route('material.store')}}" method="POST">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Objetivo</label>
|
||||
<input class="form-control" name="objetivo">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Creditos</label>
|
||||
<input class="form-control" name="creditos" type="number">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Horas Totales</label>
|
||||
<input class="form-control" name="horas" type="number">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Ciclo</label>
|
||||
<input class="form-control" name="ciclo" type="number">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Clave</label>
|
||||
<input class="form-control" name="clave">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Serial</label>
|
||||
<input class="form-control" name="serial">
|
||||
</div>
|
||||
|
||||
<div class="mb-3 d-none">
|
||||
<label class="small mb-1">Carrera</label>
|
||||
<input class="form-control" name="carrera" value="{{ $carrera->id }}" type="number">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="status">Seleccionar status</label>
|
||||
<select class="form-control" name="status" id="status">
|
||||
<option value="1">Activo</option>
|
||||
<option value="0">Inactivo</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary" type="submit" value="Agregar">
|
||||
</form>
|
||||
@endif
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,173 @@
|
||||
<div>
|
||||
|
||||
<div wire:ignore.self class="modal fade" id="exampleModal" tabindex="-1">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
|
||||
{{-- CLAVE TOTAL: evita que Livewire recicle inputs --}}
|
||||
<div wire:key="modal-prospecto-{{ $prospecto?->id ?? 'create' }}">
|
||||
|
||||
<div class="modal-header">
|
||||
<h5 class="modal-title">
|
||||
{{ $prospecto ? 'Modificar prospecto' : 'Nuevo prospecto' }}
|
||||
</h5>
|
||||
<button type="button" class="close" data-dismiss="modal">
|
||||
<span>×</span>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="modal-body">
|
||||
|
||||
{{-- FORM UNICO --}}
|
||||
<form
|
||||
wire:submit.prevent="{{ $prospecto ? 'actualizarProspecto' : 'guardarProspecto' }}"
|
||||
autocomplete="off"
|
||||
>
|
||||
|
||||
{{-- ================= USUARIO ================= --}}
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-6">
|
||||
<label>Nombre</label>
|
||||
<input class="form-control"
|
||||
wire:model.defer="pname"
|
||||
name="prospecto_name"
|
||||
autocomplete="off">
|
||||
</div>
|
||||
|
||||
<div class="col-md-6">
|
||||
<label>Correo</label>
|
||||
<input class="form-control"
|
||||
wire:model.defer="pemail"
|
||||
name="prospecto_email"
|
||||
autocomplete="off">
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mt-2">
|
||||
<label>Teléfono</label>
|
||||
<input class="form-control"
|
||||
wire:model.defer="ptelefono"
|
||||
name="prospecto_phone"
|
||||
autocomplete="off">
|
||||
</div>
|
||||
|
||||
<div class="col-md-6 mt-2">
|
||||
<label>Dirección</label>
|
||||
<input class="form-control"
|
||||
wire:model.defer="pdireccion"
|
||||
name="prospecto_address"
|
||||
autocomplete="off">
|
||||
</div>
|
||||
|
||||
@if(!$prospecto)
|
||||
<div class="col-md-6 mt-2">
|
||||
<label>Password</label>
|
||||
<input type="password"
|
||||
class="form-control"
|
||||
wire:model.defer="ppassword"
|
||||
name="prospecto_password"
|
||||
autocomplete="new-password">
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
{{-- ================= PLANTEL ================= --}}
|
||||
<div class="mt-2">
|
||||
<label>Campus</label>
|
||||
<select class="form-control" wire:model.live="pplantels" name="prospecto_plantel">
|
||||
<option value="">Seleccione</option>
|
||||
@foreach($plantels as $p)
|
||||
@if($user->existe($p->id))
|
||||
<option value="{{ $p->id }}">{{ $p->name }}</option>
|
||||
@endif
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{{-- ================= ROL ================= --}}
|
||||
<div class="mt-2">
|
||||
<label>Rol</label>
|
||||
<select class="form-control" wire:model="proles" name="prospecto_rol">
|
||||
<option value="">Seleccione</option>
|
||||
@foreach($roles as $r)
|
||||
<option value="{{ $r->id }}">{{ $r->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
{{-- ================= NIVEL ================= --}}
|
||||
<div class="mt-2">
|
||||
<label>Nivel</label>
|
||||
<select class="form-control" wire:model.live="selectedNivel" name="prospecto_nivel">
|
||||
<option value="">Seleccione</option>
|
||||
@foreach($niveles as $n)
|
||||
<option value="{{ $n->id }}">{{ $n->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{{-- ================= PLAN ================= --}}
|
||||
<div class="mt-2">
|
||||
<label>Plan</label>
|
||||
<select class="form-control" wire:model.live="selectedplan" name="prospecto_plan" {{ $active }}>
|
||||
<option value="">Seleccione</option>
|
||||
@foreach($plans as $pl)
|
||||
<option value="{{ $pl->id }}">
|
||||
{{ $pl->name }} - {{ $pl->rvoe }}
|
||||
</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{{-- ================= CAMPAÑA ================= --}}
|
||||
<div class="mt-2">
|
||||
<label>Campaña</label>
|
||||
<select class="form-control" wire:model="pciclo" name="prospecto_ciclo">
|
||||
<option value="">Seleccione</option>
|
||||
@foreach($campans as $c)
|
||||
<option value="{{ $c->id }}">{{ $c->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{{-- ================= TURNO ================= --}}
|
||||
<div class="mt-2">
|
||||
<label>Turno</label>
|
||||
<select class="form-control" wire:model="pturno" name="prospecto_turno">
|
||||
<option value="">Seleccione</option>
|
||||
@foreach($turnos as $t)
|
||||
<option value="{{ $t->id }}">{{ $t->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{{-- ================= MEDIO ================= --}}
|
||||
<div class="mt-2">
|
||||
<label>Medio</label>
|
||||
<select class="form-control" wire:model="pmedio" name="prospecto_medio">
|
||||
<option value="">Seleccione</option>
|
||||
@foreach($medios as $m)
|
||||
<option value="{{ $m->id }}">{{ $m->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="text-end mt-4">
|
||||
<button class="btn btn-primary">
|
||||
{{ $prospecto ? 'Actualizar' : 'Guardar' }}
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,36 @@
|
||||
@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 medio</h6>
|
||||
<a href="{{route('medio.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">
|
||||
<form action="{{route('medio.store')}}" method="POST">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="status">Seleccionar status</label>
|
||||
<select class="form-control" name="status" id="status">
|
||||
<option value="1">Activo</option>
|
||||
<option value="0">Inactivo</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="btn btn-primary" type="submit" value="Crear">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,43 @@
|
||||
@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 medio</h6>
|
||||
<a href="{{route('medio.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('medio.update',$medio->id)}}" method="POST">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name" value="{{$medio->name}}">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="status">Seleccionar status</label>
|
||||
<select class="form-control" name="status" id="status" value="{{ $medio->status }}">
|
||||
<option value="1" {{ $medio->status=='1' ? 'selected' : '' }}>Activo</option>
|
||||
<option value="0" {{ $medio->status=='0' ? 'selected' : '' }}>Inactivo</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="btn btn-primary" type="submit" value="Update">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -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">Medios</h6>
|
||||
@can('medio.create')
|
||||
<a href="{{route('medio.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 medio</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>Opciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse ($medios as $medio)
|
||||
<tr style="width:100%">
|
||||
<td>{{$medio->id}}</td>
|
||||
<td><a href="{{route('medio.show',$medio->id)}}">{{$medio->name}}</a></td>
|
||||
<td class="row mx-auto">
|
||||
@can('medio.edit')
|
||||
<div class="col-sm-6 col-md-6"><a class="btn btn-primary" href="{{route('medio.edit',$medio->id)}}">Edit</a></div>
|
||||
@endcan
|
||||
|
||||
@can('medio.destroy')
|
||||
<div class="col-sm-6 col-md-6">
|
||||
<form class="delete-form" action="{{route('medio.destroy',$medio->id)}}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<input type="submit" value="DELETE" class="btn btn-danger">
|
||||
</form>
|
||||
</div>
|
||||
@endcan
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<p>Sin medios.</p>
|
||||
@endforelse
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
@section('scripts')
|
||||
@include('layouts._partials.tablaScript')
|
||||
@include('layouts._partials.delete')
|
||||
@endsection
|
||||
@@ -0,0 +1,23 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('title',"show")
|
||||
|
||||
@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">Datos del medio</h6>
|
||||
<a href="{{route('medio.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">
|
||||
<h1>{{$medio->name}}</h1>
|
||||
<p>Status: {{ $medio->status=='1' ? 'Activo' : 'Inactivo' }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,219 @@
|
||||
<nav x-data="{ open: false }" class="bg-white border-b border-gray-100">
|
||||
<!-- Primary Navigation Menu -->
|
||||
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
|
||||
<div class="flex justify-between h-16">
|
||||
<div class="flex">
|
||||
<!-- Logo -->
|
||||
<div class="shrink-0 flex items-center">
|
||||
<a href="{{ route('dashboard') }}">
|
||||
<x-application-mark class="block h-9 w-auto" />
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<!-- Navigation Links -->
|
||||
<div class="hidden space-x-8 sm:-my-px sm:ms-10 sm:flex">
|
||||
<x-nav-link href="{{ route('dashboard') }}" :active="request()->routeIs('dashboard')">
|
||||
{{ __('Dashboard') }}
|
||||
</x-nav-link>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="hidden sm:flex sm:items-center sm:ms-6">
|
||||
<!-- Teams Dropdown -->
|
||||
@if (Laravel\Jetstream\Jetstream::hasTeamFeatures())
|
||||
<div class="ms-3 relative">
|
||||
<x-dropdown align="right" width="60">
|
||||
<x-slot name="trigger">
|
||||
<span class="inline-flex rounded-md">
|
||||
<button type="button" class="inline-flex items-center px-3 py-2 border border-transparent text-sm leading-4 font-medium rounded-md text-gray-500 bg-white hover:text-gray-700 focus:outline-none focus:bg-gray-50 active:bg-gray-50 transition ease-in-out duration-150">
|
||||
{{ Auth::user()->currentTeam->name }}
|
||||
|
||||
<svg class="ms-2 -me-0.5 size-4" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M8.25 15L12 18.75 15.75 15m-7.5-6L12 5.25 15.75 9" />
|
||||
</svg>
|
||||
</button>
|
||||
</span>
|
||||
</x-slot>
|
||||
|
||||
<x-slot name="content">
|
||||
<div class="w-60">
|
||||
<!-- Team Management -->
|
||||
<div class="block px-4 py-2 text-xs text-gray-400">
|
||||
{{ __('Manage Team') }}
|
||||
</div>
|
||||
|
||||
<!-- Team Settings -->
|
||||
<x-dropdown-link href="{{ route('teams.show', Auth::user()->currentTeam->id) }}">
|
||||
{{ __('Team Settings') }}
|
||||
</x-dropdown-link>
|
||||
|
||||
@can('create', Laravel\Jetstream\Jetstream::newTeamModel())
|
||||
<x-dropdown-link href="{{ route('teams.create') }}">
|
||||
{{ __('Create New Team') }}
|
||||
</x-dropdown-link>
|
||||
@endcan
|
||||
|
||||
<!-- Team Switcher -->
|
||||
@if (Auth::user()->allTeams()->count() > 1)
|
||||
<div class="border-t border-gray-200"></div>
|
||||
|
||||
<div class="block px-4 py-2 text-xs text-gray-400">
|
||||
{{ __('Switch Teams') }}
|
||||
</div>
|
||||
|
||||
@foreach (Auth::user()->allTeams() as $team)
|
||||
<x-switchable-team :team="$team" />
|
||||
@endforeach
|
||||
@endif
|
||||
</div>
|
||||
</x-slot>
|
||||
</x-dropdown>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<!-- Settings Dropdown -->
|
||||
<div class="ms-3 relative">
|
||||
<x-dropdown align="right" width="48">
|
||||
<x-slot name="trigger">
|
||||
@if (Laravel\Jetstream\Jetstream::managesProfilePhotos())
|
||||
<button class="flex text-sm border-2 border-transparent rounded-full focus:outline-none focus:border-gray-300 transition">
|
||||
<img class="size-8 rounded-full object-cover" src="{{ Auth::user()->profile_photo_url }}" alt="{{ Auth::user()->name }}" />
|
||||
</button>
|
||||
@else
|
||||
<span class="inline-flex rounded-md">
|
||||
<button type="button" class="inline-flex items-center px-3 py-2 border border-transparent text-sm leading-4 font-medium rounded-md text-gray-500 bg-white hover:text-gray-700 focus:outline-none focus:bg-gray-50 active:bg-gray-50 transition ease-in-out duration-150">
|
||||
{{ Auth::user()->name }}
|
||||
|
||||
<svg class="ms-2 -me-0.5 size-4" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M19.5 8.25l-7.5 7.5-7.5-7.5" />
|
||||
</svg>
|
||||
</button>
|
||||
</span>
|
||||
@endif
|
||||
</x-slot>
|
||||
|
||||
<x-slot name="content">
|
||||
<!-- Account Management -->
|
||||
<div class="block px-4 py-2 text-xs text-gray-400">
|
||||
{{ __('Manage Account') }}
|
||||
</div>
|
||||
|
||||
<x-dropdown-link href="{{ route('profile.show') }}">
|
||||
{{ __('Profile') }}
|
||||
</x-dropdown-link>
|
||||
|
||||
@if (Laravel\Jetstream\Jetstream::hasApiFeatures())
|
||||
<x-dropdown-link href="{{ route('api-tokens.index') }}">
|
||||
{{ __('API Tokens') }}
|
||||
</x-dropdown-link>
|
||||
@endif
|
||||
|
||||
<div class="border-t border-gray-200"></div>
|
||||
|
||||
<!-- Authentication -->
|
||||
<form method="POST" action="{{ route('logout') }}" x-data>
|
||||
@csrf
|
||||
|
||||
<x-dropdown-link href="{{ route('logout') }}"
|
||||
@click.prevent="$root.submit();">
|
||||
{{ __('Log Out') }}
|
||||
</x-dropdown-link>
|
||||
</form>
|
||||
</x-slot>
|
||||
</x-dropdown>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Hamburger -->
|
||||
<div class="-me-2 flex items-center sm:hidden">
|
||||
<button @click="open = ! open" class="inline-flex items-center justify-center p-2 rounded-md text-gray-400 hover:text-gray-500 hover:bg-gray-100 focus:outline-none focus:bg-gray-100 focus:text-gray-500 transition duration-150 ease-in-out">
|
||||
<svg class="size-6" stroke="currentColor" fill="none" viewBox="0 0 24 24">
|
||||
<path :class="{'hidden': open, 'inline-flex': ! open }" class="inline-flex" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6h16M4 12h16M4 18h16" />
|
||||
<path :class="{'hidden': ! open, 'inline-flex': open }" class="hidden" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M6 18L18 6M6 6l12 12" />
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Responsive Navigation Menu -->
|
||||
<div :class="{'block': open, 'hidden': ! open}" class="hidden sm:hidden">
|
||||
<div class="pt-2 pb-3 space-y-1">
|
||||
<x-responsive-nav-link href="{{ route('dashboard') }}" :active="request()->routeIs('dashboard')">
|
||||
{{ __('Dashboard') }}
|
||||
</x-responsive-nav-link>
|
||||
</div>
|
||||
|
||||
<!-- Responsive Settings Options -->
|
||||
<div class="pt-4 pb-1 border-t border-gray-200">
|
||||
<div class="flex items-center px-4">
|
||||
@if (Laravel\Jetstream\Jetstream::managesProfilePhotos())
|
||||
<div class="shrink-0 me-3">
|
||||
<img class="size-10 rounded-full object-cover" src="{{ Auth::user()->profile_photo_url }}" alt="{{ Auth::user()->name }}" />
|
||||
</div>
|
||||
@endif
|
||||
|
||||
<div>
|
||||
<div class="font-medium text-base text-gray-800">{{ Auth::user()->name }}</div>
|
||||
<div class="font-medium text-sm text-gray-500">{{ Auth::user()->email }}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="mt-3 space-y-1">
|
||||
<!-- Account Management -->
|
||||
<x-responsive-nav-link href="{{ route('profile.show') }}" :active="request()->routeIs('profile.show')">
|
||||
{{ __('Profile') }}
|
||||
</x-responsive-nav-link>
|
||||
|
||||
@if (Laravel\Jetstream\Jetstream::hasApiFeatures())
|
||||
<x-responsive-nav-link href="{{ route('api-tokens.index') }}" :active="request()->routeIs('api-tokens.index')">
|
||||
{{ __('API Tokens') }}
|
||||
</x-responsive-nav-link>
|
||||
@endif
|
||||
|
||||
<!-- Authentication -->
|
||||
<form method="POST" action="{{ route('logout') }}" x-data>
|
||||
@csrf
|
||||
|
||||
<x-responsive-nav-link href="{{ route('logout') }}"
|
||||
@click.prevent="$root.submit();">
|
||||
{{ __('Log Out') }}
|
||||
</x-responsive-nav-link>
|
||||
</form>
|
||||
|
||||
<!-- Team Management -->
|
||||
@if (Laravel\Jetstream\Jetstream::hasTeamFeatures())
|
||||
<div class="border-t border-gray-200"></div>
|
||||
|
||||
<div class="block px-4 py-2 text-xs text-gray-400">
|
||||
{{ __('Manage Team') }}
|
||||
</div>
|
||||
|
||||
<!-- Team Settings -->
|
||||
<x-responsive-nav-link href="{{ route('teams.show', Auth::user()->currentTeam->id) }}" :active="request()->routeIs('teams.show')">
|
||||
{{ __('Team Settings') }}
|
||||
</x-responsive-nav-link>
|
||||
|
||||
@can('create', Laravel\Jetstream\Jetstream::newTeamModel())
|
||||
<x-responsive-nav-link href="{{ route('teams.create') }}" :active="request()->routeIs('teams.create')">
|
||||
{{ __('Create New Team') }}
|
||||
</x-responsive-nav-link>
|
||||
@endcan
|
||||
|
||||
<!-- Team Switcher -->
|
||||
@if (Auth::user()->allTeams()->count() > 1)
|
||||
<div class="border-t border-gray-200"></div>
|
||||
|
||||
<div class="block px-4 py-2 text-xs text-gray-400">
|
||||
{{ __('Switch Teams') }}
|
||||
</div>
|
||||
|
||||
@foreach (Auth::user()->allTeams() as $team)
|
||||
<x-switchable-team :team="$team" component="responsive-nav-link" />
|
||||
@endforeach
|
||||
@endif
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
@@ -0,0 +1,49 @@
|
||||
@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 nivel</h6>
|
||||
<a href="{{route('nivel.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">
|
||||
<form action="{{route('nivel.store')}}" method="POST">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
@foreach ($plantels as $plantel)
|
||||
<div class="form-check">
|
||||
<input type="checkbox" class="form-check-input cb"
|
||||
id="{{ $plantel->id }}"
|
||||
name="plantels[]" value="{{ $plantel->id }}"
|
||||
>
|
||||
<label class="form-check-label" for="{{ $plantel->id }}">
|
||||
{{ $plantel->name }}
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="status">Seleccionar status</label>
|
||||
<select class="form-control" name="status" id="status">
|
||||
<option value="1">Activo</option>
|
||||
<option value="0">Inactivo</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="btn btn-primary" type="submit" value="Crear">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,59 @@
|
||||
@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 nivel</h6>
|
||||
<a href="{{route('nivel.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('nivel.update',$nivel->id)}}" method="POST">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name" value="{{$nivel->name}}">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label>Seleccionar campus</label>
|
||||
|
||||
@foreach ($plantels as $plantel)
|
||||
<div class="form-check">
|
||||
<input type="checkbox" class="form-check-input cb"
|
||||
id="{{ $plantel->id }}"
|
||||
name="plantels[]" value="{{ $plantel->id }}"
|
||||
{{ $nivel->existe($plantel->id) ? 'checked' : '' }}
|
||||
>
|
||||
<label class="form-check-label" for="{{ $plantel->id }}">
|
||||
{{ $plantel->name }}
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label for="status">Seleccionar status</label>
|
||||
<select class="form-control" name="status" id="status" value="{{ $nivel->status }}">
|
||||
<option value="1" {{ $nivel->status=='1' ? 'selected' : '' }}>Activo</option>
|
||||
<option value="0" {{ $nivel->status=='0' ? 'selected' : '' }}>Inactivo</option>
|
||||
</select>
|
||||
</div>
|
||||
<input class="btn btn-primary" type="submit" value="Update">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -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">Niveles</h6>
|
||||
@can('nivel.create')
|
||||
<a href="{{route('nivel.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 nivel</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>Titulo</th>
|
||||
<th>Opciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse ($nivels as $nivel)
|
||||
<tr style="width:100%">
|
||||
<td>{{$nivel->id}}</td>
|
||||
<td><a href="{{route('nivel.show',$nivel->id)}}">{{$nivel->name}}</a></td>
|
||||
<td class="row mx-auto">
|
||||
@can('nivel.edit')
|
||||
<div class="col-sm-6 col-md-6"><a class="btn btn-primary" href="{{route('nivel.edit',$nivel->id)}}">Edit</a></div>
|
||||
@endcan
|
||||
|
||||
@can('nivel.destroy')
|
||||
<div class="col-sm-6 col-md-6">
|
||||
<form class="delete-form" action="{{route('nivel.destroy',$nivel->id)}}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<input type="submit" value="DELETE" class="btn btn-danger">
|
||||
</form>
|
||||
</div>
|
||||
@endcan
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<p>Sin niveles.</p>
|
||||
@endforelse
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
@section('scripts')
|
||||
@include('layouts._partials.tablaScript')
|
||||
@include('layouts._partials.delete')
|
||||
@endsection
|
||||
@@ -0,0 +1,23 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('title',"show")
|
||||
|
||||
@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">Datos del nivel</h6>
|
||||
<a href="{{route('nivel.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">
|
||||
<h1>{{$nivel->name}}</h1>
|
||||
<p>Status: {{ $nivel->status=='1' ? 'Activo' : 'Inactivo' }}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,31 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('title',"Crear")
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold text-primary">Crear Nota</h6>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<a href="{{route('note.index')}}">Regresar</a>
|
||||
<form action="{{route('note.store')}}" method="POST">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">title</label>
|
||||
<input class="form-control" name="title">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">description</label>
|
||||
<input class="form-control" name="description">
|
||||
</div>
|
||||
<input class="btn btn-primary" type="submit" value="Create">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,32 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('title',"Edit")
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold text-primary">Editar nota</h6>
|
||||
</div>
|
||||
|
||||
<div class="card-body">
|
||||
<a href="{{route('note.index')}}">Regresar</a>
|
||||
<form action="{{route('note.update',$note->id)}}" method="POST">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">title</label>
|
||||
<input class="form-control" name="title" value="{{$note->title}}">
|
||||
</div>
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">description</label>
|
||||
<input class="form-control" name="description" value="{{$note->description}}">
|
||||
</div>
|
||||
<input class="btn btn-primary" type="submit" value="Update">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,76 @@
|
||||
@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">Notas</h6>
|
||||
@can('note.create')
|
||||
<a href="{{route('note.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 nota</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>Titulo</th>
|
||||
<th>Descripción</th>
|
||||
<th>Opciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse ($notes as $note)
|
||||
<tr style="width:100%">
|
||||
|
||||
<td>{{$note->id}}</td>
|
||||
<td><a href="{{route('note.show',$note->id)}}">{{$note->title}}</a></td>
|
||||
<td>{{$note->description}}</td>
|
||||
<td class="row mx-auto">
|
||||
@can('note.edit')
|
||||
<div class="col-sm-6 col-md-6"><a class="btn btn-primary" href="{{route('note.edit',$note->id)}}">Edit</a></div>
|
||||
@endcan
|
||||
|
||||
@can('note.destroy')
|
||||
<div class="col-sm-6 col-md-6">
|
||||
<form action="{{route('note.destroy',$note->id)}}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<input type="submit" value="DELETE" class="btn btn-danger">
|
||||
</form>
|
||||
</div>
|
||||
@endcan
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<p>Sin notas.</p>
|
||||
@endforelse
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
@section('scripts')
|
||||
@include('layouts._partials.tablaScript')
|
||||
@endsection
|
||||
@@ -0,0 +1,23 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('title',"show")
|
||||
|
||||
@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">Datos de la nota</h6>
|
||||
<a href="{{route('note.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">
|
||||
<h1>{{$note->title}}</h1>
|
||||
<p>{{$note->description}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,81 @@
|
||||
@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">Mis pagos</h6>
|
||||
</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>Fecha de pago</th>
|
||||
<th>Concepto</th>
|
||||
<th>Monto</th>
|
||||
<th>Opciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse ($pagos as $pago)
|
||||
<tr style="width:100%">
|
||||
<td>{{$pago->fecha_pago}}</td>
|
||||
<td>
|
||||
@foreach ($nombres as $tconcepto)
|
||||
@if ($pago->concepto == $tconcepto->id)
|
||||
{{$tconcepto->name}}
|
||||
@endif
|
||||
@endforeach
|
||||
</td>
|
||||
<td>{{$pago->monto}}</td>
|
||||
<td class="row mx-auto">
|
||||
|
||||
<form action="{{ route('pagar', $pago->id) }}" method="POST">
|
||||
@csrf
|
||||
<button class="btn btn-success">
|
||||
Pagar
|
||||
</button>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<p>Sin pagos.</p>
|
||||
@endforelse
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
@section('scripts')
|
||||
@include('layouts._partials.tablaSinOrden')
|
||||
|
||||
@if (session('swal'))
|
||||
<script>
|
||||
Swal.fire({
|
||||
icon: "{{ session('swal.icon') }}",
|
||||
title: "{{ session('swal.title') }}",
|
||||
text: "{{ session('swal.text') }}",
|
||||
});
|
||||
</script>
|
||||
@endif
|
||||
@endsection
|
||||
@@ -0,0 +1,39 @@
|
||||
@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 Permiso</h6>
|
||||
<a href="{{route('permission.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('permission.store')}}" method="POST">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Descripción</label>
|
||||
<input class="form-control" name="description">
|
||||
</div>
|
||||
<input class="btn btn-primary" type="submit" value="Crear">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,41 @@
|
||||
@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 permiso</h6>
|
||||
<a href="{{route('permission.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('permission.update',$permission->id)}}" method="POST">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name" value="{{$permission->name}}">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Descripción</label>
|
||||
<input class="form-control" name="description" value="{{$permission->description}}">
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary" type="submit" value="Guardar">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,74 @@
|
||||
@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">Permisos</h6>
|
||||
<a href="{{route('permission.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 permiso</a>
|
||||
</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>Descripción</th>
|
||||
<th>Opciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse ($permissions as $permission)
|
||||
<tr style="width:100%">
|
||||
<td>{{$permission->id}}</td>
|
||||
<td><a href="{{route('permission.show',$permission->id)}}">{{$permission->name}}</a></td>
|
||||
<td>{{$permission->description}}</td>
|
||||
<td class="row mx-auto">
|
||||
@can('permission.edit')
|
||||
<div class="col-sm-6 col-md-6"><a class="btn btn-primary" href="{{route('permission.edit',$permission->id)}}">Edit</a></div>
|
||||
@endcan
|
||||
|
||||
@can('permission.destroy')
|
||||
<div class="col-sm-6 col-md-6">
|
||||
<form class="delete-form" action="{{route('permission.destroy',$permission->id)}}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<input type="submit" value="DELETE" class="btn btn-danger">
|
||||
</form>
|
||||
</div>
|
||||
@endcan
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<p>Sin permisos.</p>
|
||||
@endforelse
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
@section('scripts')
|
||||
@include('layouts._partials.tablaScript')
|
||||
@include('layouts._partials.delete')
|
||||
@endsection
|
||||
@@ -0,0 +1,21 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('title',"show")
|
||||
|
||||
@section('content')
|
||||
|
||||
<div class="container-fluid">
|
||||
<div class="card shadow mb-4">
|
||||
<div class="card-header py-3">
|
||||
<h6 class="m-0 font-weight-bold text-primary">Datos del Permiso</h6>
|
||||
<a href="{{route('permission.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 class="card-body">
|
||||
<h1>{{$permission->name}}</h1>
|
||||
<p>{{$permission->description}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,71 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('title',"Crear Rol")
|
||||
|
||||
@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 Plan</h6>
|
||||
<a href="{{route('plan.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">
|
||||
<form action="{{route('plan.store')}}" method="POST">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name">
|
||||
|
||||
@error('name')
|
||||
<div class="alert alert-danger">
|
||||
<strong>{{$message}}</strong>
|
||||
</div>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Rvoe</label>
|
||||
<input class="form-control" name="rvoe">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="duration_id">Seleccionar duración</label>
|
||||
<select class="form-control" name="duration_id" id="duration_id">
|
||||
@foreach ($durations as $duration )
|
||||
<option value="{{ $duration->id }}">{{ $duration->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Periodos de la duración</label>
|
||||
<input class="form-control" name="duracion">
|
||||
</div>
|
||||
|
||||
<livewire:carreras/>
|
||||
|
||||
<div class="mb-3">
|
||||
@foreach ($plantels as $plantel)
|
||||
<div class="form-check">
|
||||
<input type="checkbox" class="form-check-input cb"
|
||||
id="{{ $plantel->id }}"
|
||||
name="plantels[]" value="{{ $plantel->id }}"
|
||||
>
|
||||
<label class="form-check-label" for="{{ $plantel->id }}">
|
||||
{{ $plantel->name }}
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
|
||||
<input class="btn btn-primary" type="submit" value="Create">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,80 @@
|
||||
@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 plan</h6>
|
||||
<a href="{{route('plan.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('plan.update',$plan->id)}}" method="POST">
|
||||
@method('PUT')
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name" value="{{ $plan->name }}">
|
||||
|
||||
@error('name')
|
||||
<div class="alert alert-danger">
|
||||
<strong>{{$message}}</strong>
|
||||
</div>
|
||||
@enderror
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Rvoe</label>
|
||||
<input class="form-control" name="rvoe" value="{{ $plan->rvoe }}">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="duration_id">Seleccionar duración</label>
|
||||
<select class="form-control" name="duration_id" id="duration_id">
|
||||
@foreach ($durations as $duration )
|
||||
<option value="{{ $duration->id }}" {{ $duration->id==$plan->duration_id ? 'selected' : '' }} >{{ $duration->name }}</option>
|
||||
@endforeach
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Periodos de la duración</label>
|
||||
<input class="form-control" name="duracion" value="{{ $plan->duracion }}">
|
||||
</div>
|
||||
|
||||
<livewire:carreras :plan="$plan"/>
|
||||
|
||||
<div class="mb-3">
|
||||
<label>Seleccionar campus</label>
|
||||
|
||||
@foreach ($plantels as $plantel)
|
||||
<div class="form-check">
|
||||
<input type="checkbox" class="form-check-input cb"
|
||||
id="{{ $plantel->id }}"
|
||||
name="plantels[]" value="{{ $plantel->id }}"
|
||||
{{ $plan->existe($plantel->id) ? 'checked' : '' }}
|
||||
>
|
||||
<label class="form-check-label" for="{{ $plantel->id }}">
|
||||
{{ $plantel->name }}
|
||||
</label>
|
||||
</div>
|
||||
@endforeach
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary" type="submit" value="Guardar cambios">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,75 @@
|
||||
@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">plans</h6>
|
||||
@can('plan.create')
|
||||
<a href="{{route('plan.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 plan</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>Opciones</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@forelse ($plans as $plan)
|
||||
<tr style="width:100%">
|
||||
<td>{{$plan->id}}</td>
|
||||
<td><a href="{{route('plan.show',$plan->id)}}">{{$plan->name}}</a></td>
|
||||
<td class="row mx-auto">
|
||||
@can('plan.edit')
|
||||
<div class="col-sm-6 col-md-6"><a class="btn btn-primary" href="{{route('plan.edit',$plan->id)}}">Edit</a></div>
|
||||
@endcan
|
||||
|
||||
@can('plan.destroy')
|
||||
<div class="col-sm-6 col-md-6">
|
||||
<form class="delete-form" action="{{route('plan.destroy',$plan->id)}}" method="POST">
|
||||
@csrf
|
||||
@method('DELETE')
|
||||
<input type="submit" value="DELETE" class="btn btn-danger">
|
||||
</form>
|
||||
</div>
|
||||
@endcan
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
@empty
|
||||
<p>Sin planes.</p>
|
||||
@endforelse
|
||||
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
|
||||
|
||||
@section('scripts')
|
||||
@include('layouts._partials.tablaScript')
|
||||
@include('layouts._partials.delete')
|
||||
@endsection
|
||||
@@ -0,0 +1,22 @@
|
||||
@extends('layouts.landing')
|
||||
|
||||
@section('title',"show")
|
||||
|
||||
@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">Datos del plan</h6>
|
||||
<a href="{{route('plan.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">
|
||||
<h1>{{$plan->name}}</h1>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
@@ -0,0 +1,38 @@
|
||||
@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 plan</h6>
|
||||
<a href="{{route('plane.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">
|
||||
<form action="{{route('plane.store')}}" method="POST">
|
||||
@csrf
|
||||
<div class="mb-3">
|
||||
<label class="small mb-1">Nombre</label>
|
||||
<input class="form-control" name="name">
|
||||
</div>
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="status">Seleccionar status</label>
|
||||
<select class="form-control" name="status" id="status">
|
||||
<option value="1">Activo</option>
|
||||
<option value="0">Inactivo</option>
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<input class="btn btn-primary" type="submit" value="Crear">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@endsection
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user