Calendar Edit

This commit is contained in:
Mathieu Lagace
2019-08-21 10:30:52 -04:00
parent 7869a96c81
commit 1d3f07b7b7
28 changed files with 20899 additions and 165 deletions

1498
resources/custom.css vendored

File diff suppressed because it is too large Load Diff

View File

@@ -61,40 +61,6 @@
<div class="log"></div>
<script>
initFullCalendar(api_token)
function deleteEvent(pid){
swal({
title: 'Êtes vous certain ?',
text: "Vous ne pourrez annuler cette action",
type: 'warning',
showCancelButton: true,
confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33',
confirmButtonText: 'Oui',
cancelButtonText: 'Non'
}).then((result) => {
if (result.value) {
(function($) {
$.post('/api/calendar/delete?api_token='+api_token, { id: pid } , function(data) {
console.log('Delete');
});
})(jQuery);
swal(
'Supprimé!',
"L'évenement a été supprimé",
'success'
).then((result) => {
if (result.value) {
location.reload();
}
})
}
})
}
</script>
<div class="modal fade" id="schedulemodal" tabindex="-1" role="dialog" aria-labelledby="schedulemodal" aria-hidden="true">
<div class="modal-dialog w-100 modal-lg mx-2 mx-lg-auto" role="document">

View File

@@ -5,14 +5,14 @@
<div class="col-md-12">
<div class="card">
<div class="card-header card-header-primary">
<h4 class="card-title"> Cours a venir</h4>
<h4 class="card-title"> Cours à venir</h4>
</div>
<div class="card-body">
@if(count($userClasse) == 0)
<div class="col-sm-12">
<div class="alert alert-info alert-with-icon">
<span data-notify="icon" class="ti-alert"></span>
<span data-notify="message">Aucun cours a venir</span>
<span data-notify="message">Aucun cours à venir</span>
</div>
</div>
@endif
@@ -63,7 +63,7 @@
<div class="col-sm-6 col-lg-6">
<div class="card">
<div class="card-header card-header-primary">
<h4 class="card-title">Activité a venir</h4>
<h4 class="card-title">Activité à venir</h4>
</div>
<div class="card-body">
<div class="row">
@@ -71,12 +71,26 @@
<div class="col-sm-12">
<div class="alert alert-infi alert-with-icon">
<span data-notify="icon" class="ti-alert"></span>
<span data-notify="message">Aucune activité a venir</span>
<span data-notify="message">Aucune activité à venir</span>
</div>
</div>
@endif
@foreach ($futureEvent as $event)
<div class="col-md-6 col-sm-12"><i class="fa fa-star" aria-hidden="true" style="color:gold"></i> {{$event->data['event_name']}}<div class="float-right">{{$event->data['event_begin_time']}}</div></div>
<div class="col-md-12">
<div class="alert" style="background-color: {{\App\ComplementaryActivity::find($event->type)->calendar_color}}">
<div class="row text-white">
<div class="col-md-2 text-capitalize m-auto d-none d-md-flex">
<h3 class="m-0 p-0" style="margin-top: -0.5rem !important;">{!! \App\ComplementaryActivity::find($event->type)->calendar_icon !!}</h3>
</div>
<div class="col-md">
{{$event->name}}
</div>
<div class="col-md-4">
{{$event->date_begin}}
</div>
</div>
</div>
</div>
@endforeach
</div>
<br>

View File

@@ -4,7 +4,7 @@
<div class="row">
<div class="card ">
<div class="card-header card-header-primary">
<h4 class="card-title">Ajouter un evenement a l'horaire</h4>
<h4 class="card-title">Ajouter un événement à l'horaire</h4>
</div>
<div class="card-body ">
<form action="/admin/schedule/event/add" method="POST">
@@ -13,7 +13,7 @@
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label for="type">Type d'évenement</label>
<label for="type">Type d'événement</label>
<select class="form-control selectpicker" data-style="btn btn-link" name="type" id="type" onchange="switchType('{{$date}}')" required>
@foreach (\App\ComplementaryActivity::all() as $item)
<option value="{{$item->id}}">{{$item->name}}</option>

View File

@@ -0,0 +1,188 @@
@extends('layouts.admin.main')
@section('content')
<div class="row">
<div class="card ">
<div class="card-header card-header-primary">
<h4 class="card-title">Ajouter un événement à l'horaire</h4>
</div>
<div class="card-body ">
<form action="/admin/schedule/event/edit/{{$activity->id}}" method="POST">
@csrf
<div class="row">
<div class="col-md-12">
<div class="form-group">
<label for="type">Type d'événement</label>
<select class="form-control selectpicker" data-style="btn btn-link" name="type" id="type" disabled required>
@foreach (\App\ComplementaryActivity::all() as $item)
<option value="{{$item->id}}">{{$item->name}}</option>
@endforeach
</select>
</div>
</div>
</div>
<div class="row" id="container">
<div class="col-md-12">
<div class="form-group">
<label for="name">Nom de l'événement</label>
<input type="text" name="name" id="name" class="form-control" placeholder="" aria-describedby="nameHelp" value="{{$activity->name}}" required>
<small id="nameHelp" class="text-muted">Veuillez entrer le nom de l'événement</small>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label class="label-control">Date et Heure de début</label>
<input name="begin" type="text" id="datetimepickerbegin" class="form-control datetimepicker" required/>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label class="label-control">Date et Heure de fin</label>
<input name="end" type="text" id="datetimepickerend" class="form-control datetimepicker" required/>
</div>
</div>
<div class="col-md-5">
<div class="form-group">
<label for="name">Lieux</label>
<input type="text" name="location" id="location" class="form-control" placeholder="" aria-describedby="nameHelp" value="{{$activity->location}}" required>
<small id="nameHelp" class="text-muted">Veuillez entrer le lieu de l'événement</small>
</div>
</div>
<div class="col-md-3 m-auto">
<div class="form-group">
<div class="form-check">
<label class="form-check-label">
<input class="form-check-input" name="is_mandatory" type="checkbox" value="1"
@if ($activity->is_mandatory == 1)
checked
@endif>
L'événement est obligatoire
<span class="form-check-sign">
<span class="check"></span>
</span>
</label>
</div>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label for="desc">Commentaire</label>
<br>
<textarea class="form-control" name="desc" id="desc" rows="6" required>{!!$activity->desc!!}</textarea>
</div>
</div>
@if ($activity->type == 1)
<div class="col-md-12">
<div id="accordion" role="tablist">
@for ($i = 1; $i <= \App\Config::getData('admin_level_in_schedule_nb'); $i++)
<div class="card card-collapse">
<div class="card-header" role="tab" id="heading{{$i}}">
<h5 class="mb-0">
<a data-toggle="collapse" href="#collapse{{$i}}" aria-expanded="true" aria-controls="collapse{{$i}}">
Horaire Niveau {{$i}}
<i class="material-icons">keyboard_arrow_down</i>
</a>
</h5>
</div>
<div id="collapse{{$i}}" class="collapse" role="tabpanel" aria-labelledby="heading{{$i}}" data-parent="#accordion">
<div class="card-body">
@for ($p = 1; $p <= \App\Config::getData('admin_periode_nb'); $p++)
<h4 class="mt-3" >Période {{$p}}</h4>
<div class="row">
<div class="col-sm-6 my-2">
<div class="form-group">
<label for="name">Nom du cours</label>
<input type="text" name="name_n{{$i}}_p{{$p}}" id="name_n{{$i}}_p{{$p}}" class="form-control" aria-describedby="nameHelp" required value="{{$activity->course($p,$i)->name}}">
<small id="nameHelp" class="text-muted">Veuillez entrer le nom du cours</small>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<div class="form-group">
<label for="name">Instructeur</label>
<input type="text" name="instruc_n{{$i}}_p{{$p}}" id="instruc_n{{$i}}_p{{$p}}" class="form-control basicAutoComplete" aria-describedby="nameHelp" required value="{{\App\User::find($activity->course($p,$i)->user_id)->fullname()}}">
<small id="nameHelp" class="text-muted">Veuillez entrer le nom de l'instructeur</small>
</div>
</div>
</div>
<div class="col-sm-6 my-2">
<div class="form-group">
<label for="name">OCOM</label>
<input type="text" name="ocom_n{{$i}}_p{{$p}}" id="ocom_n{{$i}}_p{{$p}}" class="form-control" aria-describedby="nameHelp" required value="{{$activity->course($p,$i)->ocom}}">
<small id="nameHelp" class="text-muted">Veuillez entrer l'OCOM</small>
</div>
</div>
<div class="col-sm-6 my-2">
<div class="form-group">
<label for="name">Lieux</label>
<input type="text" name="loc_n{{$i}}_p{{$p}}" id="loc_n{{$i}}_p{{$p}}" class="form-control" placeholder="" aria-describedby="nameHelp" required value="{{$activity->course($p,$i)->location}}">
<small id="nameHelp" class="text-muted">Veuillez entrer le lieux</small>
</div>
</div>
<div class="col-sm-12">
<button type="button" class="btn btn-primary btn-block" disabled>Réservation de materiel (Disponible une fois l'événement sauvegarder)</button>
</div>
</div>
<hr>
@endfor
</div>
</div>
</div>
@endfor
</div>
</div>
@endif
</div>
<button type="submit" class="btn btn-primary mt-5">Sauvegarder</button>
</form>
</div>
</div>
</div>
@endsection
@section('custom_scripts')
<script src="/js/calendar.js"></script>
<script>
var begin = "<?php echo $activity->date_begin ?>";
var end = "<?php echo $activity->date_end ?>";
$('#datetimepickerbegin').datetimepicker({
icons: {
time: "fa fa-clock-o",
date: "fa fa-calendar",
up: "fa fa-chevron-up",
down: "fa fa-chevron-down",
previous: 'fa fa-chevron-left',
next: 'fa fa-chevron-right',
today: 'fa fa-screenshot',
clear: 'fa fa-trash',
close: 'fa fa-remove'
},
date: new Date(begin)
});
$('#datetimepickerend').datetimepicker({
icons: {
time: "fa fa-clock-o",
date: "fa fa-calendar",
up: "fa fa-chevron-up",
down: "fa fa-chevron-down",
previous: 'fa fa-chevron-left',
next: 'fa fa-chevron-right',
today: 'fa fa-screenshot',
clear: 'fa fa-trash',
close: 'fa fa-remove'
},
date: new Date(end)
});
$('#desc').trumbowyg({
lang: 'fr'
});
$( ".basicAutoComplete" ).autocomplete({
source: '/api/user/list?api_token='+api_token
});
</script>
@endsection

View File

@@ -1,13 +1,13 @@
<div class="col-md-12">
<div class="form-group">
<label for="name">Nom de l'evenement</label>
<label for="name">Nom de l'événement</label>
<input type="text" name="name" id="name" class="form-control" placeholder="" aria-describedby="nameHelp" value="{{$activity->name}}" required>
<small id="nameHelp" class="text-muted">Veuillez entrer le nom de l'evenement</small>
<small id="nameHelp" class="text-muted">Veuillez entrer le nom de l'événement</small>
</div>
</div>
<div class="col-md-2">
<div class="form-group">
<label class="label-control">Date et Heure de debut</label>
<label class="label-control">Date et Heure de début</label>
<input name="begin" type="text" id="datetimepickerbegin" class="form-control datetimepicker" required/>
</div>
</div>
@@ -21,7 +21,7 @@
<div class="form-group">
<label for="name">Lieux</label>
<input type="text" name="location" id="location" class="form-control" placeholder="" aria-describedby="nameHelp" value="{{$activity->location}}" required>
<small id="nameHelp" class="text-muted">Veuillez entrer le nom de l'evenement</small>
<small id="nameHelp" class="text-muted">Veuillez entrer le nom de l'événement</small>
</div>
</div>
<div class="col-md-3 m-auto">
@@ -31,8 +31,8 @@
<input class="form-check-input" name="is_mandatory" type="checkbox" value="1"
@if ($activity->is_mandatory == 1)
checked
@endif required>
L'evenement est obligatoire
@endif>
L'événement est obligatoire
<span class="form-check-sign">
<span class="check"></span>
</span>
@@ -65,7 +65,7 @@
<div class="card-body">
@for ($p = 1; $p <= \App\Config::getData('admin_periode_nb'); $p++)
<h4 class="mt-3" >Periode {{$p}}</h4>
<h4 class="mt-3" >Période {{$p}}</h4>
<div class="row">
<div class="col-sm-6 my-2">
<div class="form-group">
@@ -98,7 +98,7 @@
</div>
</div>
<div class="col-sm-12">
<button type="button" class="btn btn-primary btn-block" disabled>Réservation de materiel (Disponible une fois l'evenement sauvegarder)</button>
<button type="button" class="btn btn-primary btn-block" disabled>Réservation de materiel (Disponible une fois l'événement sauvegarder)</button>
</div>
</div>
<hr>

View File

@@ -28,7 +28,7 @@
@endif
@endif
@if (\App\Config::getData('is_schedule_public') === "false")
@if (\App\Config::getData('is_schedule_public') == null)
@if (\Auth::User()->getPerm('schedule_edit'))
<div class="alert alert-danger" role="alert">
Attention ! L'horaire n'est présentement pas visible par le publique ! <a href="/admin/config#schedule_public">Cliquer ici pour accéder aux options</a>
@@ -36,7 +36,7 @@
@endif
@endif
@if (\App\Config::getData('is_schedule_public') === "false")
@if (\App\Config::getData('is_schedule_build') == null)
@if (\Auth::User()->getPerm('schedule_edit'))
<div class="alert alert-warning" role="alert">
Attention ! L'horaire n'est pas marqué comme complet, les utilisateurs ne receverons pas de notification concernant l'horaire <a href="/admin/config#schedule_build">Cliquer ici pour accéder aux options</a>

View File

@@ -14,7 +14,7 @@
<div class="btn-group">
<a class="btn btn-primary" href="/admin/schedule/edit/{{$event->id}}" data-toggle="tooltip" data-placement="bottom" title="Modifier"><i class="material-icons">edit</i></a>
<a class="btn btn-primary" href="/admin/schedule/pdf/event/{{$event->id}}" target="_blank" data-toggle="tooltip" data-placement="bottom" title="Imprimer"><i class="material-icons">print</i></a>
<a class="btn btn-danger" data-toggle="tooltip" data-placement="bottom" title="Supprimer"><i class="material-icons">close</i></a>
<button class="btn btn-danger" data-toggle="tooltip" data-placement="bottom" title="Supprimer" onclick="deleteEvent({{$event->id}})"><i class="material-icons">close</i></button>
</div>
</div>
<div class="col-md-6 text-right">

View File

@@ -1,7 +1,7 @@
<div class="inner">
<div class="title text-center">
<h1>{{ App\Config::getData('text_public_news_title')}}<a class="badge badge-primary edit-btn" href="/admin/public/edit/text_public_news_title" style="display: none;"><i class="fa fa-pencil" aria-hidden="true"></i></a></h1>
<p>{{ App\Config::getData('text_public_news_desc')}} <a class="badge badge-primary edit-btn" href="/admin/public/edit/text_public_news_desc" style="display: none;"><i class="fa fa-pencil" aria-hidden="true"></i></a></p>
<h1>{{ App\Config::getData('text_public_schedule_title')}}<a class="badge badge-primary edit-btn" href="/admin/public/edit/text_public_schedule_title" style="display: none;"><i class="fa fa-pencil" aria-hidden="true"></i></a></h1>
<p>{{ App\Config::getData('text_public_schedule_desc')}} <a class="badge badge-primary edit-btn" href="/admin/public/edit/text_public_schedule_desc" style="display: none;"><i class="fa fa-pencil" aria-hidden="true"></i></a></p>
</div>
<hr class="mx-5">
<div id="public_calendar"></div>

View File

@@ -1,7 +1,8 @@
<!-- Required meta tags -->
<title>{{ App\Config::getData('escadron_name_full')}}</title>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=no" />
<meta charset="utf-8">
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<!-- Fonts and icons -->
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Roboto+Slab:400,700|Material+Icons" />
@@ -9,7 +10,7 @@
<!-- Material CSS -->
<link rel="stylesheet" href="/css/material-kit.css" />
<link rel="stylesheet" href="/css/material-dashboard.css" />
<link rel="stylesheet" href="/css/custom.css" />
<!-- Plugin CSS -->
<link href='/assets/fullcalendar/core/main.css' rel='stylesheet' />

View File

@@ -1,61 +1,60 @@
<!-- Navbar -->
<nav class="navbar navbar-transparent navbar-color-on-scroll fixed-top navbar-expand-lg" color-on-scroll="100" id="sectionsNav">
<nav class="navbar navbar-color-on-scroll fixed-top navbar-expand-lg navbar-transparent" color-on-scroll="100" id="sectionsNav">
<div class="container">
<div class="navbar-wrapper">
<a class="navbar-brand" href="#pablo">{{ App\Config::getData('escadron_name_full')}}</a>
</div>
<button class="navbar-toggler" type="button" data-toggle="collapse" aria-controls="navigation-index" aria-expanded="false" aria-label="Toggle navigation">
<span class="sr-only">Toggle navigation</span>
<span class="navbar-toggler-icon icon-bar"></span>
<span class="navbar-toggler-icon icon-bar"></span>
<span class="navbar-toggler-icon icon-bar"></span>
</button>
<div class="collapse navbar-collapse justify-content-end">
<ul class="navbar-nav">
<li class="nav-item">
<a href="/" class="nav-link">
<i class="material-icons">home</i> Accueil
</a>
</li>
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" data-toggle="dropdown" href="#0" role="button" aria-haspopup="true" aria-expanded="false">
<i class="material-icons">airplanemode_active</i>
@switch(\App\Config::getData('escadron_element'))
@case('Marine')
L'équipage
@break
@case('Terre')
Le corps de cadet
@break
@default
L'escadron
@endswitch
</a>
<div class="dropdown-menu">
<a class="dropdown-item" href="#news">
<i class="material-icons mr-2">new_releases</i>Nouvelles
</a>
<a class="dropdown-item" href="#activity">
<i class="material-icons mr-2">landscape</i>Nos Activitées
</a>
<a class="dropdown-item" href="#picture">
<i class="material-icons mr-2">photo_camera</i>Photos
</a>
<a class="dropdown-item" href="#calendar">
<i class="material-icons mr-2">calendar_today</i>Calendrier
</a>
<a class="dropdown-item" href="#cta">
<i class="material-icons">location_on</i> Nous rejoindre
</a>
</div>
</li>
<li class="nav-item ">
<a href="/login" class="nav-link">
<i class="material-icons">lock_open</i> Connexion
</a>
</li>
</ul>
</div>
<div class="navbar-translate">
<a class="navbar-brand" href="/">
{{ App\Config::getData('escadron_name_full')}} </a>
<button class="navbar-toggler" type="button" data-toggle="collapse" aria-expanded="false" aria-label="Toggle navigation">
<span class="sr-only">Toggle navigation</span>
<span class="navbar-toggler-icon"></span>
<span class="navbar-toggler-icon"></span>
<span class="navbar-toggler-icon"></span>
</button>
</div>
<div class="collapse navbar-collapse">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a href="/" class="nav-link">
<i class="material-icons">home</i> Accueil
</a>
</li>
<li class="dropdown nav-item">
<a href="#" class="dropdown-toggle nav-link" data-toggle="dropdown">
<i class="material-icons">airplanemode_active</i>
@switch(\App\Config::getData('escadron_element'))
@case('Marine')
L'équipage
@break
@case('Terre')
Le corps de cadet
@break
@default
L'escadron
@endswitch
</a>
<div class="dropdown-menu dropdown-with-icons">
<a href="/#news" class="dropdown-item">
<i class="material-icons mr-2">new_releases</i>Nouvelles
</a>
<a href="/#activity" class="dropdown-item">
<i class="material-icons mr-2">landscape</i>Nos Activitées
</a>
<a href="/#picture" class="dropdown-item">
<i class="material-icons mr-2">photo_camera</i>Photos
</a>
<a href="/#calendar" class="dropdown-item">
<i class="material-icons mr-2">calendar_today</i>Calendrier
</a>
<a href="/#cta" class="dropdown-item">
<i class="material-icons">location_on</i> Nous rejoindre
</a>
</div>
</li>
<li class="nav-item">
<a class="nav-link" href="/login">
<i class="material-icons">lock_open</i> Connexion
</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- End Navbar -->
</nav>

View File

@@ -13,7 +13,7 @@
</head>
<body class="index-page sidebar-collapse">
<body>
<!-- Include Header -->
@include('layouts.public.header')