mirror of
https://gitlab.com/TheGamecraft/c-cms.git
synced 2026-04-21 10:49:10 -04:00
Merge branch '3.2.0' into 'dev'
3.2.0 See merge request TheGamecraft/c-cms!33
This commit is contained in:
23
app/Booking.php
Normal file
23
app/Booking.php
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Booking extends Model
|
||||||
|
{
|
||||||
|
public function bookable()
|
||||||
|
{
|
||||||
|
return $this->morphTo();
|
||||||
|
}
|
||||||
|
|
||||||
|
public function user()
|
||||||
|
{
|
||||||
|
return $this->belongsTo('App\User');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function item()
|
||||||
|
{
|
||||||
|
return $this->belongsTo('App\Item');
|
||||||
|
}
|
||||||
|
}
|
||||||
23
app/Course.php
Normal file
23
app/Course.php
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Course extends Model
|
||||||
|
{
|
||||||
|
public function bookings()
|
||||||
|
{
|
||||||
|
return $this->morphMany('App\Booking', 'bookable');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function user()
|
||||||
|
{
|
||||||
|
return $this->belongsTo('App\User');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function event()
|
||||||
|
{
|
||||||
|
return $this->belongsTo('App\Event');
|
||||||
|
}
|
||||||
|
}
|
||||||
23
app/Event.php
Normal file
23
app/Event.php
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class Event extends Model
|
||||||
|
{
|
||||||
|
public function bookings()
|
||||||
|
{
|
||||||
|
return $this->morphMany('App\Booking', 'bookable');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function courses()
|
||||||
|
{
|
||||||
|
return $this->hasMany('App\Course');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function user()
|
||||||
|
{
|
||||||
|
return $this->belongsTo('App\User');
|
||||||
|
}
|
||||||
|
}
|
||||||
85
app/Http/Controllers/BookingController.php
Normal file
85
app/Http/Controllers/BookingController.php
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Booking;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class BookingController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Display a listing of the resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for creating a new resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function create()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store a newly created resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function store(Request $request)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the specified resource.
|
||||||
|
*
|
||||||
|
* @param \App\Booking $booking
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function show(Booking $booking)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for editing the specified resource.
|
||||||
|
*
|
||||||
|
* @param \App\Booking $booking
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function edit(Booking $booking)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the specified resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @param \App\Booking $booking
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function update(Request $request, Booking $booking)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specified resource from storage.
|
||||||
|
*
|
||||||
|
* @param \App\Booking $booking
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function destroy(Booking $booking)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -72,9 +72,9 @@ class ConfigController extends Controller
|
|||||||
$config = Config::all()->where('name',request('perm'))->first();
|
$config = Config::all()->where('name',request('perm'))->first();
|
||||||
|
|
||||||
if (request('value') == "true") {
|
if (request('value') == "true") {
|
||||||
$config->state = 1;
|
$config->data = ["true"];
|
||||||
} else {
|
} else {
|
||||||
$config->state = 0;
|
$config->data = ["false"];
|
||||||
}
|
}
|
||||||
|
|
||||||
$config->save();
|
$config->save();
|
||||||
|
|||||||
85
app/Http/Controllers/CourseController.php
Normal file
85
app/Http/Controllers/CourseController.php
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Course;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class CourseController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Display a listing of the resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for creating a new resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function create()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store a newly created resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function store(Request $request)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the specified resource.
|
||||||
|
*
|
||||||
|
* @param \App\Course $course
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function show(Course $course)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for editing the specified resource.
|
||||||
|
*
|
||||||
|
* @param \App\Course $course
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function edit(Course $course)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the specified resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @param \App\Course $course
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function update(Request $request, Course $course)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specified resource from storage.
|
||||||
|
*
|
||||||
|
* @param \App\Course $course
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function destroy(Course $course)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
85
app/Http/Controllers/EventController.php
Normal file
85
app/Http/Controllers/EventController.php
Normal file
@@ -0,0 +1,85 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\Event;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class EventController extends Controller
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Display a listing of the resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function index()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for creating a new resource.
|
||||||
|
*
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function create()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Store a newly created resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function store(Request $request)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Display the specified resource.
|
||||||
|
*
|
||||||
|
* @param \App\Event $event
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function show(Event $event)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for editing the specified resource.
|
||||||
|
*
|
||||||
|
* @param \App\Event $event
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function edit(Event $event)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the specified resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @param \App\Event $event
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function update(Request $request, Event $event)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specified resource from storage.
|
||||||
|
*
|
||||||
|
* @param \App\Event $event
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function destroy(Event $event)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
|
|||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use \App\Schedule;
|
use \App\Schedule;
|
||||||
use function GuzzleHttp\json_encode;
|
use function GuzzleHttp\json_encode;
|
||||||
|
use PDF;
|
||||||
|
|
||||||
class ScheduleController extends Controller
|
class ScheduleController extends Controller
|
||||||
{
|
{
|
||||||
@@ -57,72 +58,145 @@ class ScheduleController extends Controller
|
|||||||
|
|
||||||
public function apiIndex()
|
public function apiIndex()
|
||||||
{
|
{
|
||||||
$schedules = Schedule::all();
|
$start = substr(request()->start,0,10);
|
||||||
$activity = \App\ComplementaryActivity::all();
|
$end = substr(request()->end,0,10);
|
||||||
|
$allschedules = Schedule::all();
|
||||||
|
|
||||||
|
$allevents = \App\Event::all();
|
||||||
$events = [];
|
$events = [];
|
||||||
|
$jsonevents = [];
|
||||||
|
$schedules = [];
|
||||||
|
|
||||||
|
foreach ($allschedules as $schedule) {
|
||||||
|
if($schedule->date >= $start && $schedule->date <= $end) {
|
||||||
|
array_push($schedules,$schedule);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach ($allevents as $event) {
|
||||||
|
if($event->date_begin >= $start && $event->date_begin <= $end) {
|
||||||
|
array_push($events,$event);
|
||||||
|
}
|
||||||
|
else if($event->date_end >= $start && $event->date_end <= $end) {
|
||||||
|
array_push($events,$event);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
foreach ($schedules as $schedule) {
|
foreach ($schedules as $schedule) {
|
||||||
$color = 'blue';
|
|
||||||
switch ($schedule->type) {
|
$color = $this->getColor($schedule->type);
|
||||||
case 'regular':
|
|
||||||
$color = 'orange';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'pilotage':
|
|
||||||
$color = '#58D3F7';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'drill':
|
|
||||||
$color = 'blue';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'music':
|
|
||||||
$color = 'green';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'biathlon':
|
|
||||||
$color = 'red';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'marksmanship':
|
|
||||||
$color = 'grey';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'founding':
|
|
||||||
$color = '#00FF40';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'volunteer':
|
|
||||||
$color = '#DF0174';
|
|
||||||
break;
|
|
||||||
|
|
||||||
case 'other':
|
|
||||||
$color = '#DF0174';
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
if ($activity->find($schedule->type)) {
|
|
||||||
$color = $activity->find($schedule->type)->calendar_color;
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
};
|
|
||||||
|
|
||||||
$event = [
|
$event = [
|
||||||
'title' => $schedule->data['event_name'],
|
'title' => $schedule->data['event_name'],
|
||||||
'start' => $schedule->date.'T'.$schedule->data['event_begin_time'],
|
'start' => $schedule->date.'T'.$schedule->data['event_begin_time'],
|
||||||
'end' => $schedule->date.'T'.$schedule->data['event_end_time'],
|
'end' => $schedule->date.'T'.$schedule->data['event_end_time'],
|
||||||
'color' => $color,
|
'color' => $color,
|
||||||
|
'source' => 'schedule',
|
||||||
'id' => $schedule->id
|
'id' => $schedule->id
|
||||||
];
|
];
|
||||||
array_push($events,$event);
|
array_push($jsonevents,$event);
|
||||||
}
|
}
|
||||||
|
|
||||||
return json_encode($events);
|
foreach ($events as $event) {
|
||||||
|
|
||||||
|
$color = $this->getColor($event->type);
|
||||||
|
|
||||||
|
$myevent = [
|
||||||
|
'title' => $event->name,
|
||||||
|
'start' => $event->date_begin,
|
||||||
|
'end' => $event->date_end,
|
||||||
|
'color' => $color,
|
||||||
|
'extraParams' => [
|
||||||
|
'db_type' => 'event'],
|
||||||
|
'id' => $event->id
|
||||||
|
];
|
||||||
|
array_push($jsonevents,$myevent);
|
||||||
|
}
|
||||||
|
|
||||||
|
return json_encode($jsonevents);
|
||||||
}
|
}
|
||||||
|
|
||||||
public function loadModal($id)
|
public function loadModal($id,$db_type)
|
||||||
{
|
{
|
||||||
return view('public.modal.schedule',['event' => \App\Schedule::find($id)]);
|
if($db_type == "event")
|
||||||
|
{
|
||||||
|
$event = \App\Event::find($id);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$event = \App\Schedule::find($id);
|
||||||
|
}
|
||||||
|
return view('public.modal.schedule',['event' => $event]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function loadModalFull($id,$db_type)
|
||||||
|
{
|
||||||
|
if($db_type == "event")
|
||||||
|
{
|
||||||
|
$event = \App\Event::find($id);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$event = \App\Schedule::find($id);
|
||||||
|
}
|
||||||
|
return view('admin.schedule.modal.show',['event' => $event]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getColor($type)
|
||||||
|
{
|
||||||
|
$activity = \App\ComplementaryActivity::all();
|
||||||
|
$color = 'blue';
|
||||||
|
switch ($type) {
|
||||||
|
case 'regular':
|
||||||
|
$color = 'orange';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'pilotage':
|
||||||
|
$color = '#58D3F7';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'drill':
|
||||||
|
$color = 'blue';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'music':
|
||||||
|
$color = 'green';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'biathlon':
|
||||||
|
$color = 'red';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'marksmanship':
|
||||||
|
$color = 'grey';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'founding':
|
||||||
|
$color = '#00FF40';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'volunteer':
|
||||||
|
$color = '#DF0174';
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'other':
|
||||||
|
$color = '#DF0174';
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
if ($activity->find($type)) {
|
||||||
|
$color = $activity->find($type)->calendar_color;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
};
|
||||||
|
return $color;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function printtopdf($id)
|
||||||
|
{
|
||||||
|
$event = \App\Event::find($id);
|
||||||
|
$pdf = PDF::loadView('admin.schedule.modal.show',['event' => $event]);
|
||||||
|
return $pdf->download($event->date_begin.'.pdf');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,4 +17,9 @@ class Item extends Model
|
|||||||
$col_items->forget(0);
|
$col_items->forget(0);
|
||||||
return $col_items;
|
return $col_items;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function bookings()
|
||||||
|
{
|
||||||
|
return $this->hasMany('App\Booking');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
15
app/User.php
15
app/User.php
@@ -50,6 +50,21 @@ class User extends Authenticatable
|
|||||||
return $this->hasMany(Message::class);
|
return $this->hasMany(Message::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function events()
|
||||||
|
{
|
||||||
|
return $this->hasMany('App\Event');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function bookings()
|
||||||
|
{
|
||||||
|
return $this->hasMany('App\Booking');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function courses()
|
||||||
|
{
|
||||||
|
return $this->hasMany('App\Course');
|
||||||
|
}
|
||||||
|
|
||||||
public function routeNotificationForNexmo($notification)
|
public function routeNotificationForNexmo($notification)
|
||||||
{
|
{
|
||||||
return $this->telephone;
|
return $this->telephone;
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
"type": "project",
|
"type": "project",
|
||||||
"require": {
|
"require": {
|
||||||
"php": "^7.1.3",
|
"php": "^7.1.3",
|
||||||
|
"barryvdh/laravel-dompdf": "^0.8.4",
|
||||||
"fideloper/proxy": "^4.0",
|
"fideloper/proxy": "^4.0",
|
||||||
"guzzlehttp/guzzle": "^6.3",
|
"guzzlehttp/guzzle": "^6.3",
|
||||||
"laravel/framework": "5.6.*",
|
"laravel/framework": "5.6.*",
|
||||||
|
|||||||
245
composer.lock
generated
245
composer.lock
generated
@@ -4,8 +4,64 @@
|
|||||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
|
||||||
"This file is @generated automatically"
|
"This file is @generated automatically"
|
||||||
],
|
],
|
||||||
"content-hash": "b914f34bb5ca62a2b7d916629dc30d1a",
|
"content-hash": "a92d2a9579b7e0ef7e3c8b77e8c5dcde",
|
||||||
"packages": [
|
"packages": [
|
||||||
|
{
|
||||||
|
"name": "barryvdh/laravel-dompdf",
|
||||||
|
"version": "v0.8.4",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/barryvdh/laravel-dompdf.git",
|
||||||
|
"reference": "3fd817065e1c820b1ddace8b2bf65ca45088df4f"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/barryvdh/laravel-dompdf/zipball/3fd817065e1c820b1ddace8b2bf65ca45088df4f",
|
||||||
|
"reference": "3fd817065e1c820b1ddace8b2bf65ca45088df4f",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"dompdf/dompdf": "^0.8",
|
||||||
|
"illuminate/support": "5.5.x|5.6.x|5.7.x|5.8.x",
|
||||||
|
"php": ">=7"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-master": "0.8-dev"
|
||||||
|
},
|
||||||
|
"laravel": {
|
||||||
|
"providers": [
|
||||||
|
"Barryvdh\\DomPDF\\ServiceProvider"
|
||||||
|
],
|
||||||
|
"aliases": {
|
||||||
|
"PDF": "Barryvdh\\DomPDF\\Facade"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Barryvdh\\DomPDF\\": "src"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Barry vd. Heuvel",
|
||||||
|
"email": "barryvdh@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A DOMPDF Wrapper for Laravel",
|
||||||
|
"keywords": [
|
||||||
|
"dompdf",
|
||||||
|
"laravel",
|
||||||
|
"pdf"
|
||||||
|
],
|
||||||
|
"time": "2019-02-26T18:07:43+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "dnoegel/php-xdg-base-dir",
|
"name": "dnoegel/php-xdg-base-dir",
|
||||||
"version": "0.1",
|
"version": "0.1",
|
||||||
@@ -168,6 +224,72 @@
|
|||||||
],
|
],
|
||||||
"time": "2019-07-30T19:33:28+00:00"
|
"time": "2019-07-30T19:33:28+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "dompdf/dompdf",
|
||||||
|
"version": "v0.8.3",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/dompdf/dompdf.git",
|
||||||
|
"reference": "75f13c700009be21a1965dc2c5b68a8708c22ba2"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/dompdf/dompdf/zipball/75f13c700009be21a1965dc2c5b68a8708c22ba2",
|
||||||
|
"reference": "75f13c700009be21a1965dc2c5b68a8708c22ba2",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"ext-dom": "*",
|
||||||
|
"ext-mbstring": "*",
|
||||||
|
"phenx/php-font-lib": "0.5.*",
|
||||||
|
"phenx/php-svg-lib": "0.3.*",
|
||||||
|
"php": ">=5.4.0"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^4.8|^5.5|^6.5",
|
||||||
|
"squizlabs/php_codesniffer": "2.*"
|
||||||
|
},
|
||||||
|
"suggest": {
|
||||||
|
"ext-gd": "Needed to process images",
|
||||||
|
"ext-gmagick": "Improves image processing performance",
|
||||||
|
"ext-imagick": "Improves image processing performance"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"extra": {
|
||||||
|
"branch-alias": {
|
||||||
|
"dev-develop": "0.7-dev"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"Dompdf\\": "src/"
|
||||||
|
},
|
||||||
|
"classmap": [
|
||||||
|
"lib/"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"LGPL-2.1"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Ménager",
|
||||||
|
"email": "fabien.menager@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Brian Sweeney",
|
||||||
|
"email": "eclecticgeek@gmail.com"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Gabriel Bull",
|
||||||
|
"email": "me@gabrielbull.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "DOMPDF is a CSS 2.1 compliant HTML to PDF converter",
|
||||||
|
"homepage": "https://github.com/dompdf/dompdf",
|
||||||
|
"time": "2018-12-14T02:40:31+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "dragonmantank/cron-expression",
|
"name": "dragonmantank/cron-expression",
|
||||||
"version": "v2.3.0",
|
"version": "v2.3.0",
|
||||||
@@ -1319,6 +1441,83 @@
|
|||||||
],
|
],
|
||||||
"time": "2018-07-02T15:55:56+00:00"
|
"time": "2018-07-02T15:55:56+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "phenx/php-font-lib",
|
||||||
|
"version": "0.5.1",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/PhenX/php-font-lib.git",
|
||||||
|
"reference": "760148820110a1ae0936e5cc35851e25a938bc97"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/PhenX/php-font-lib/zipball/760148820110a1ae0936e5cc35851e25a938bc97",
|
||||||
|
"reference": "760148820110a1ae0936e5cc35851e25a938bc97",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "^4.8"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-4": {
|
||||||
|
"FontLib\\": "src/FontLib"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"LGPL-3.0"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Ménager",
|
||||||
|
"email": "fabien.menager@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A library to read, parse, export and make subsets of different types of font files.",
|
||||||
|
"homepage": "https://github.com/PhenX/php-font-lib",
|
||||||
|
"time": "2017-09-13T16:14:37+00:00"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "phenx/php-svg-lib",
|
||||||
|
"version": "v0.3.2",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/PhenX/php-svg-lib.git",
|
||||||
|
"reference": "ccc46ef6340d4b8a4a68047e68d8501ea961442c"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/PhenX/php-svg-lib/zipball/ccc46ef6340d4b8a4a68047e68d8501ea961442c",
|
||||||
|
"reference": "ccc46ef6340d4b8a4a68047e68d8501ea961442c",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"sabberworm/php-css-parser": "8.1.*"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "~5.0"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"Svg\\": "src/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"LGPL-3.0"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Fabien Ménager",
|
||||||
|
"email": "fabien.menager@gmail.com"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "A library to read, parse and export to PDF SVG files.",
|
||||||
|
"homepage": "https://github.com/PhenX/php-svg-lib",
|
||||||
|
"time": "2018-06-03T10:10:03+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "php-http/guzzle6-adapter",
|
"name": "php-http/guzzle6-adapter",
|
||||||
"version": "v1.1.1",
|
"version": "v1.1.1",
|
||||||
@@ -1927,6 +2126,50 @@
|
|||||||
],
|
],
|
||||||
"time": "2018-07-19T23:38:55+00:00"
|
"time": "2018-07-19T23:38:55+00:00"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "sabberworm/php-css-parser",
|
||||||
|
"version": "8.1.0",
|
||||||
|
"source": {
|
||||||
|
"type": "git",
|
||||||
|
"url": "https://github.com/sabberworm/PHP-CSS-Parser.git",
|
||||||
|
"reference": "850cbbcbe7fbb155387a151ea562897a67e242ef"
|
||||||
|
},
|
||||||
|
"dist": {
|
||||||
|
"type": "zip",
|
||||||
|
"url": "https://api.github.com/repos/sabberworm/PHP-CSS-Parser/zipball/850cbbcbe7fbb155387a151ea562897a67e242ef",
|
||||||
|
"reference": "850cbbcbe7fbb155387a151ea562897a67e242ef",
|
||||||
|
"shasum": ""
|
||||||
|
},
|
||||||
|
"require": {
|
||||||
|
"php": ">=5.3.2"
|
||||||
|
},
|
||||||
|
"require-dev": {
|
||||||
|
"phpunit/phpunit": "*"
|
||||||
|
},
|
||||||
|
"type": "library",
|
||||||
|
"autoload": {
|
||||||
|
"psr-0": {
|
||||||
|
"Sabberworm\\CSS": "lib/"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"notification-url": "https://packagist.org/downloads/",
|
||||||
|
"license": [
|
||||||
|
"MIT"
|
||||||
|
],
|
||||||
|
"authors": [
|
||||||
|
{
|
||||||
|
"name": "Raphael Schweikert"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"description": "Parser for CSS Files written in PHP",
|
||||||
|
"homepage": "http://www.sabberworm.com/blog/2010/6/10/php-css-parser",
|
||||||
|
"keywords": [
|
||||||
|
"css",
|
||||||
|
"parser",
|
||||||
|
"stylesheet"
|
||||||
|
],
|
||||||
|
"time": "2016-07-19T19:14:21+00:00"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "swiftmailer/swiftmailer",
|
"name": "swiftmailer/swiftmailer",
|
||||||
"version": "v6.2.1",
|
"version": "v6.2.1",
|
||||||
|
|||||||
@@ -157,10 +157,12 @@ return [
|
|||||||
Illuminate\Translation\TranslationServiceProvider::class,
|
Illuminate\Translation\TranslationServiceProvider::class,
|
||||||
Illuminate\Validation\ValidationServiceProvider::class,
|
Illuminate\Validation\ValidationServiceProvider::class,
|
||||||
Illuminate\View\ViewServiceProvider::class,
|
Illuminate\View\ViewServiceProvider::class,
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Package Service Providers...
|
* Package Service Providers...
|
||||||
*/
|
*/
|
||||||
|
Barryvdh\DomPDF\ServiceProvider::class,
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Application Service Providers...
|
* Application Service Providers...
|
||||||
@@ -219,6 +221,7 @@ return [
|
|||||||
'URL' => Illuminate\Support\Facades\URL::class,
|
'URL' => Illuminate\Support\Facades\URL::class,
|
||||||
'Validator' => Illuminate\Support\Facades\Validator::class,
|
'Validator' => Illuminate\Support\Facades\Validator::class,
|
||||||
'View' => Illuminate\Support\Facades\View::class,
|
'View' => Illuminate\Support\Facades\View::class,
|
||||||
|
'PDF' => Barryvdh\DomPDF\Facade::class,
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
|
class CreateEventsTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('events', function (Blueprint $table) {
|
||||||
|
$table->increments('id');
|
||||||
|
$table->string('name');
|
||||||
|
$table->string('date_begin');
|
||||||
|
$table->string('date_end');
|
||||||
|
$table->string('type');
|
||||||
|
$table->string('user_id');
|
||||||
|
$table->string('location');
|
||||||
|
$table->boolean('is_mandatory');
|
||||||
|
$table->text('desc');
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('events');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
|
class CreateCoursesTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('courses', function (Blueprint $table) {
|
||||||
|
$table->increments('id');
|
||||||
|
$table->string('name');
|
||||||
|
$table->string('ocom');
|
||||||
|
$table->integer('periode');
|
||||||
|
$table->integer('level');
|
||||||
|
$table->string('location');
|
||||||
|
$table->text('comment');
|
||||||
|
$table->integer('event_id');
|
||||||
|
$table->integer('user_id');
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('courses');
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
|
||||||
|
class CreateBookingsTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('bookings', function (Blueprint $table) {
|
||||||
|
$table->increments('id');
|
||||||
|
$table->integer('item_id');
|
||||||
|
$table->integer('amount');
|
||||||
|
$table->integer('bookable_id');
|
||||||
|
$table->string('bookable_type');
|
||||||
|
$table->integer('user_id');
|
||||||
|
$table->text('comment');
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('bookings');
|
||||||
|
}
|
||||||
|
}
|
||||||
184
public/css/custom.css
vendored
184
public/css/custom.css
vendored
@@ -1,87 +1,107 @@
|
|||||||
.calendar{
|
.calendar {
|
||||||
margin-top: 50px;
|
margin-top: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-body-column {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-container {
|
||||||
|
width: 14%;
|
||||||
|
height: 7.5rem;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle !important;
|
||||||
|
border: solid 1px #d9d9d9 !important;
|
||||||
|
padding: 0px !important;
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-date {
|
||||||
|
float: left;
|
||||||
|
margin-left: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-text {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-text>div {
|
||||||
|
text-align: start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar_event_name {
|
||||||
|
height: 3rem;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 800px) {
|
||||||
|
.calendar-container {
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
.calendar-head {
|
||||||
.calendar-body-column {
|
display: none;
|
||||||
display: flex;
|
|
||||||
}
|
}
|
||||||
.calendar-container{
|
.calendar-empty {
|
||||||
width: 14%;
|
display: none;
|
||||||
height: 7.5rem;
|
|
||||||
text-align: center;
|
|
||||||
vertical-align: middle !important;
|
|
||||||
border: solid 1px #d9d9d9 !important;
|
|
||||||
padding: 0px !important;
|
|
||||||
background-color: white;
|
|
||||||
}
|
}
|
||||||
.calendar-date{
|
}
|
||||||
float: left;
|
|
||||||
margin-left: 1rem;
|
.btn-calendar {
|
||||||
|
padding: 36px 0;
|
||||||
|
height: 7.5rem;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-calendar:hover {
|
||||||
|
background-color: #f2f2f26e;
|
||||||
|
}
|
||||||
|
|
||||||
|
.thead-dark {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #212529;
|
||||||
|
border-color: #32383e;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.loader {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.loader-bg {
|
||||||
|
width: 70px;
|
||||||
|
margin-top: 50px;
|
||||||
|
margin-bottom: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.loader-spinner {
|
||||||
|
position: absolute;
|
||||||
|
border: 16px solid #f3f3f3;
|
||||||
|
border-top: 16px solid #272c33;
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 120px;
|
||||||
|
height: 120px;
|
||||||
|
animation: spin 2s linear infinite;
|
||||||
|
left: 0px;
|
||||||
|
right: 0px;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
top: 44px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
}
|
}
|
||||||
.calendar-text{
|
100% {
|
||||||
float: right;
|
transform: rotate(360deg);
|
||||||
}
|
}
|
||||||
.calendar-text > div {
|
}
|
||||||
text-align:start;
|
|
||||||
}
|
.cs-notification:hover {
|
||||||
.calendar_event_name {
|
background-color: #F2F2F2 !important;
|
||||||
height: 3rem;
|
color: white;
|
||||||
overflow: hidden;
|
}
|
||||||
}
|
|
||||||
@media only screen and (max-width: 800px) {
|
.modal-lg {
|
||||||
.calendar-container{
|
max-width: 1150px !important;
|
||||||
width: 100%;
|
}
|
||||||
}
|
|
||||||
.calendar-head{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.calendar-empty{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-calendar{
|
|
||||||
padding: 36px 0;
|
|
||||||
height: 7.5rem;
|
|
||||||
margin: 0px;
|
|
||||||
}
|
|
||||||
.btn-calendar:hover{
|
|
||||||
background-color: #f2f2f26e;
|
|
||||||
}
|
|
||||||
.thead-dark {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #212529;
|
|
||||||
border-color: #32383e;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.loader{
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.loader-bg{
|
|
||||||
width: 70px;
|
|
||||||
margin-top: 50px;
|
|
||||||
margin-bottom: 50px;
|
|
||||||
}
|
|
||||||
.loader-spinner {
|
|
||||||
position: absolute;
|
|
||||||
border: 16px solid #f3f3f3;
|
|
||||||
border-top: 16px solid #272c33;
|
|
||||||
border-radius: 50%;
|
|
||||||
width: 120px;
|
|
||||||
height: 120px;
|
|
||||||
animation: spin 2s linear infinite;
|
|
||||||
left: 0px;
|
|
||||||
right: 0px;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
top: 44px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes spin {
|
|
||||||
0% { transform: rotate(0deg); }
|
|
||||||
100% { transform: rotate(360deg); }
|
|
||||||
}
|
|
||||||
.cs-notification:hover {
|
|
||||||
background-color: #F2F2F2 !important;
|
|
||||||
color:white;
|
|
||||||
}
|
|
||||||
40
public/js/calendar.js
vendored
Normal file
40
public/js/calendar.js
vendored
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
function initFullCalendar(authToken) {
|
||||||
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
|
var calendarEl = document.getElementById('fullCalendar');
|
||||||
|
|
||||||
|
var calendar = new FullCalendar.Calendar(calendarEl, {
|
||||||
|
plugins: ['dayGrid','interaction'],
|
||||||
|
locale: 'fr-ca',
|
||||||
|
header: {
|
||||||
|
left: 'title',
|
||||||
|
center: '',
|
||||||
|
right: 'prev,next'
|
||||||
|
},
|
||||||
|
events: '/api/schedule/events',
|
||||||
|
eventClick: function (info) {
|
||||||
|
$.get("/api/schedule/full/events/" + info.event.id + "/"+ info.event.extendedProps.extraParams.db_type + "/modal?api_token="+authToken, function (data) {
|
||||||
|
$("#modal-content").html(data);
|
||||||
|
});
|
||||||
|
$('#schedulemodal').modal('toggle')
|
||||||
|
},
|
||||||
|
dateClick: function (info) {
|
||||||
|
var date = moment(info.date).format("YYYY-MM-DD");
|
||||||
|
Swal.fire({
|
||||||
|
title: 'Ajouter un evenement?',
|
||||||
|
text: "Voulez vous ajouter un evenement le "+date,
|
||||||
|
type: 'warning',
|
||||||
|
showCancelButton: true,
|
||||||
|
confirmButtonText: 'Oui',
|
||||||
|
cancelButtonText: 'Non',
|
||||||
|
}).then((result) => {
|
||||||
|
if (result.value) {
|
||||||
|
window.location.href = '/admin/schedule/add/'+date;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
calendar.render();
|
||||||
|
});
|
||||||
|
|
||||||
|
}
|
||||||
184
resources/custom.css
vendored
184
resources/custom.css
vendored
@@ -1,87 +1,107 @@
|
|||||||
.calendar{
|
.calendar {
|
||||||
margin-top: 50px;
|
margin-top: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-body-column {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-container {
|
||||||
|
width: 14%;
|
||||||
|
height: 7.5rem;
|
||||||
|
text-align: center;
|
||||||
|
vertical-align: middle !important;
|
||||||
|
border: solid 1px #d9d9d9 !important;
|
||||||
|
padding: 0px !important;
|
||||||
|
background-color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-date {
|
||||||
|
float: left;
|
||||||
|
margin-left: 1rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-text {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar-text>div {
|
||||||
|
text-align: start;
|
||||||
|
}
|
||||||
|
|
||||||
|
.calendar_event_name {
|
||||||
|
height: 3rem;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 800px) {
|
||||||
|
.calendar-container {
|
||||||
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
.calendar-head {
|
||||||
.calendar-body-column {
|
display: none;
|
||||||
display: flex;
|
|
||||||
}
|
}
|
||||||
.calendar-container{
|
.calendar-empty {
|
||||||
width: 14%;
|
display: none;
|
||||||
height: 7.5rem;
|
|
||||||
text-align: center;
|
|
||||||
vertical-align: middle !important;
|
|
||||||
border: solid 1px #d9d9d9 !important;
|
|
||||||
padding: 0px !important;
|
|
||||||
background-color: white;
|
|
||||||
}
|
}
|
||||||
.calendar-date{
|
}
|
||||||
float: left;
|
|
||||||
margin-left: 1rem;
|
.btn-calendar {
|
||||||
|
padding: 36px 0;
|
||||||
|
height: 7.5rem;
|
||||||
|
margin: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-calendar:hover {
|
||||||
|
background-color: #f2f2f26e;
|
||||||
|
}
|
||||||
|
|
||||||
|
.thead-dark {
|
||||||
|
color: #fff;
|
||||||
|
background-color: #212529;
|
||||||
|
border-color: #32383e;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.loader {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.loader-bg {
|
||||||
|
width: 70px;
|
||||||
|
margin-top: 50px;
|
||||||
|
margin-bottom: 50px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.loader-spinner {
|
||||||
|
position: absolute;
|
||||||
|
border: 16px solid #f3f3f3;
|
||||||
|
border-top: 16px solid #272c33;
|
||||||
|
border-radius: 50%;
|
||||||
|
width: 120px;
|
||||||
|
height: 120px;
|
||||||
|
animation: spin 2s linear infinite;
|
||||||
|
left: 0px;
|
||||||
|
right: 0px;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
top: 44px;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes spin {
|
||||||
|
0% {
|
||||||
|
transform: rotate(0deg);
|
||||||
}
|
}
|
||||||
.calendar-text{
|
100% {
|
||||||
float: right;
|
transform: rotate(360deg);
|
||||||
}
|
}
|
||||||
.calendar-text > div {
|
}
|
||||||
text-align:start;
|
|
||||||
}
|
.cs-notification:hover {
|
||||||
.calendar_event_name {
|
background-color: #F2F2F2 !important;
|
||||||
height: 3rem;
|
color: white;
|
||||||
overflow: hidden;
|
}
|
||||||
}
|
|
||||||
@media only screen and (max-width: 800px) {
|
.modal-lg {
|
||||||
.calendar-container{
|
width: 80%;
|
||||||
width: 100%;
|
}
|
||||||
}
|
|
||||||
.calendar-head{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
.calendar-empty{
|
|
||||||
display: none;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
.btn-calendar{
|
|
||||||
padding: 36px 0;
|
|
||||||
height: 7.5rem;
|
|
||||||
margin: 0px;
|
|
||||||
}
|
|
||||||
.btn-calendar:hover{
|
|
||||||
background-color: #f2f2f26e;
|
|
||||||
}
|
|
||||||
.thead-dark {
|
|
||||||
color: #fff;
|
|
||||||
background-color: #212529;
|
|
||||||
border-color: #32383e;
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.loader{
|
|
||||||
text-align: center;
|
|
||||||
}
|
|
||||||
.loader-bg{
|
|
||||||
width: 70px;
|
|
||||||
margin-top: 50px;
|
|
||||||
margin-bottom: 50px;
|
|
||||||
}
|
|
||||||
.loader-spinner {
|
|
||||||
position: absolute;
|
|
||||||
border: 16px solid #f3f3f3;
|
|
||||||
border-top: 16px solid #272c33;
|
|
||||||
border-radius: 50%;
|
|
||||||
width: 120px;
|
|
||||||
height: 120px;
|
|
||||||
animation: spin 2s linear infinite;
|
|
||||||
left: 0px;
|
|
||||||
right: 0px;
|
|
||||||
margin-left: auto;
|
|
||||||
margin-right: auto;
|
|
||||||
top: 44px;
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes spin {
|
|
||||||
0% { transform: rotate(0deg); }
|
|
||||||
100% { transform: rotate(360deg); }
|
|
||||||
}
|
|
||||||
.cs-notification:hover {
|
|
||||||
background-color: #F2F2F2 !important;
|
|
||||||
color:white;
|
|
||||||
}
|
|
||||||
@@ -4,14 +4,7 @@
|
|||||||
<div class="col-sm-12 col-lg-12">
|
<div class="col-sm-12 col-lg-12">
|
||||||
<div class="card">
|
<div class="card">
|
||||||
<div class="card-body pb-0">
|
<div class="card-body pb-0">
|
||||||
<div class="dropdown float-right">
|
<div id="fullCalendar"></div>
|
||||||
<button class="btn bg-transparent dropdown-toggle theme-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown">
|
|
||||||
<i class="fa fa-cog"></i>
|
|
||||||
</button>
|
|
||||||
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="calendar"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -61,8 +54,14 @@
|
|||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@section('custom_scripts')
|
@section('custom_scripts')
|
||||||
<div class="log"></div>
|
<script src='/assets/fullcalendar/core/main.js'></script>
|
||||||
|
<script src='/assets/fullcalendar/daygrid/main.js'></script>
|
||||||
|
<script src='/assets/fullcalendar/interaction/main.js'></script>
|
||||||
|
<script src="/js/calendar.js"></script>
|
||||||
|
<div class="log"></div>
|
||||||
<script>
|
<script>
|
||||||
|
initFullCalendar(api_token)
|
||||||
|
|
||||||
function deleteEvent(pid){
|
function deleteEvent(pid){
|
||||||
swal({
|
swal({
|
||||||
title: 'Êtes vous certain ?',
|
title: 'Êtes vous certain ?',
|
||||||
@@ -97,4 +96,10 @@
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
</script>
|
</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">
|
||||||
|
<div class="modal-content" id="modal-content">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
@@ -12,14 +12,14 @@
|
|||||||
<div class="col col-md-8"><label for="text-input" class=" form-control-label">Horaire publique</label><small class="form-text text-muted">L'horaire est t-il disponible publique sur la page d'accueil du site</small></div>
|
<div class="col col-md-8"><label for="text-input" class=" form-control-label">Horaire publique</label><small class="form-text text-muted">L'horaire est t-il disponible publique sur la page d'accueil du site</small></div>
|
||||||
<div class="col col-md-4" style="margin: auto;">
|
<div class="col col-md-4" style="margin: auto;">
|
||||||
<label for="disabled-input" class=" form-control-label"></label>
|
<label for="disabled-input" class=" form-control-label"></label>
|
||||||
<label class="switch switch-3d switch-primary mr-3" style="margin-left: 3rem;"><input id="is_schedule_public" name="is_schedule_public" class="switch-input" @if($configs->where('name','is_schedule_public')->first()->state == 1) checked="true" @endif type="checkbox" onchange="saveChange('is_schedule_public')"><span class="switch-label"></span><span class="switch-handle"></span></label>
|
<label class="switch switch-3d switch-primary mr-3" style="margin-left: 3rem;"><input id="is_schedule_public" name="is_schedule_public" class="switch-input" @if(\App\Config::getData('is_schedule_public') === "true") checked="true" @endif type="checkbox" onchange="saveChange('is_schedule_public')"><span class="switch-label"></span><span class="switch-handle"></span></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-6">
|
<div class="col-md-6">
|
||||||
<div class="col col-md-8"><label for="text-input" class=" form-control-label">Horaire complet</label><small class="form-text text-muted">L'horaire est t-il complet ? Si cette option est désactivé les utilisateurs ne reseverons pas de notification concernant l'horaire</small></div>
|
<div class="col col-md-8"><label for="text-input" class=" form-control-label">Horaire complet</label><small class="form-text text-muted">L'horaire est t-il complet ? Si cette option est désactivé les utilisateurs ne reseverons pas de notification concernant l'horaire</small></div>
|
||||||
<div class="col col-md-4" style="margin: auto;">
|
<div class="col col-md-4" style="margin: auto;">
|
||||||
<label for="disabled-input" class=" form-control-label"></label>
|
<label for="disabled-input" class=" form-control-label"></label>
|
||||||
<label class="switch switch-3d switch-primary mr-3" style="margin-left: 3rem;"><input id="is_schedule_build" name="is_schedule_build" class="switch-input" @if($configs->where('name','is_schedule_build')->first()->state == 1) checked="true" @endif type="checkbox" onchange="saveChange('is_schedule_build')"><span class="switch-label"></span><span class="switch-handle"></span></label>
|
<label class="switch switch-3d switch-primary mr-3" style="margin-left: 3rem;"><input id="is_schedule_build" name="is_schedule_build" class="switch-input" @if(\App\Config::getData('is_schedule_build') === "true") checked="true" @endif type="checkbox" onchange="saveChange('is_schedule_build')"><span class="switch-label"></span><span class="switch-handle"></span></label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
105
resources/views/admin/schedule/modal/show.blade.php
Normal file
105
resources/views/admin/schedule/modal/show.blade.php
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
@extends('layouts.modal.schedule.show')
|
||||||
|
|
||||||
|
@section('content')
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6">
|
||||||
|
Du <strong>{{$event->date_begin}}</strong> au <strong>{{$event->date_end}}</strong><br>
|
||||||
|
<small>{{$event->location}} </small>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-6 text-right">
|
||||||
|
@if ($event->is_mandatory)
|
||||||
|
<span class="badge badge-pill badge-warning">Obligatoire</span>
|
||||||
|
@else
|
||||||
|
<span class="badge badge-pill badge-info">Optionnel</span>
|
||||||
|
@endif
|
||||||
|
@if (is_int($event->type))
|
||||||
|
<span class="badge badge-pill badge-default">{{$event->type}}</span>
|
||||||
|
@else
|
||||||
|
<span class="badge badge-pill" style="background-color: {{\App\ComplementaryActivity::find($event->type)->calendar_color}}">{{\App\ComplementaryActivity::find($event->type)->name}}</span>
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row mt-4">
|
||||||
|
<div class="col-md-12">
|
||||||
|
{{$event->desc}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@if (!$event->courses->isEmpty())
|
||||||
|
<div class="row mt-4">
|
||||||
|
<div class="col-md-12">
|
||||||
|
<h4 class="title text-center">Horaire</h4>
|
||||||
|
<div class="row d-none d-md-flex">
|
||||||
|
<div class="col-md-2 m-3"></div>
|
||||||
|
@for ($p = 1; $p <= \App\Config::getData('admin_periode_nb'); $p++)
|
||||||
|
<div class="col-md m-3">
|
||||||
|
Période {{$p}} <small>{{\App\Config::all()->where('name','admin_periode_begin')->first()->data[$p]}} à {{\App\Config::all()->where('name','admin_periode_end')->first()->data[$p]}} </small>
|
||||||
|
</div>
|
||||||
|
@endfor
|
||||||
|
</div>
|
||||||
|
@for ($l = 1; $l <= \App\Config::getData('admin_level_in_schedule_nb'); $l++)
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-2 m-3">
|
||||||
|
Niveau {{$l}}
|
||||||
|
</div>
|
||||||
|
@for ($p = 1; $p <= \App\Config::getData('admin_periode_nb'); $p++)
|
||||||
|
<div class="col-md m-3">
|
||||||
|
@foreach ($event->courses as $course)
|
||||||
|
@if ($course->periode == $p && $course->level == $l)
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-6 my-2">
|
||||||
|
{{$course->name}}
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 my-2 text-sm-right">
|
||||||
|
{{\App\User::find($course->user_id)->fullname()}}
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 my-2">
|
||||||
|
{{$course->ocom}}
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 my-2 text-sm-right">
|
||||||
|
{{$course->location}}
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-12">
|
||||||
|
<a class="btn btn-primary btn-sm btn-block" data-toggle="collapse" href="#collapse{{$l.$p}}" aria-expanded="false" aria-controls="collapse{{$l.$p}}">Réservation de materiel</a>
|
||||||
|
<div class="collapse" id="collapse{{$l.$p}}">
|
||||||
|
<div class="m-3">
|
||||||
|
@if (!$course->bookings->isEmpty())
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-sm-8 p-2">
|
||||||
|
<strong>Item</strong>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4 text-right p-2">
|
||||||
|
<strong>Quantité</strong>
|
||||||
|
</div>
|
||||||
|
<hr>
|
||||||
|
@foreach ($course->bookings as $booking)
|
||||||
|
<div class="col-sm-8 p-2">
|
||||||
|
<a href="/admin/item/{{$booking->item->id}}">{{$booking->item->name}}</a>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-4 text-right p-2">
|
||||||
|
{{$booking->amount}}
|
||||||
|
</div>
|
||||||
|
@endforeach
|
||||||
|
</div>
|
||||||
|
@else
|
||||||
|
<p class="text-center">
|
||||||
|
<strong>Aucune réservation</strong>
|
||||||
|
</p>
|
||||||
|
@endif
|
||||||
|
<hr>
|
||||||
|
<a class="btn btn-primary btn-sm btn-block mt-2" href="/admin/booking/course/{{$course->id}}" role="button">Modifier les réservation</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
@endforeach
|
||||||
|
</div>
|
||||||
|
@endfor
|
||||||
|
</div>
|
||||||
|
@endfor
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endif
|
||||||
|
|
||||||
|
@endsection
|
||||||
@@ -20,5 +20,9 @@
|
|||||||
<!-- Material Dashboard CSS -->
|
<!-- Material Dashboard CSS -->
|
||||||
<link href="/css/material-dashboard.css" rel="stylesheet">
|
<link href="/css/material-dashboard.css" rel="stylesheet">
|
||||||
|
|
||||||
|
<!-- Plugin CSS -->
|
||||||
|
<link href='/assets/fullcalendar/core/main.css' rel='stylesheet' />
|
||||||
|
<link href='/assets/fullcalendar/daygrid/main.css' rel='stylesheet' />
|
||||||
|
|
||||||
<!-- Custom CSS -->
|
<!-- Custom CSS -->
|
||||||
<link rel="stylesheet" href="/css/custom.css">
|
<link rel="stylesheet" href="/css/custom.css">
|
||||||
@@ -13,8 +13,6 @@
|
|||||||
<script src="/js/plugins/bootstrap-datetimepicker.min.js"></script>
|
<script src="/js/plugins/bootstrap-datetimepicker.min.js"></script>
|
||||||
<!-- DataTables.net Plugin, full documentation here: https://datatables.net/ -->
|
<!-- DataTables.net Plugin, full documentation here: https://datatables.net/ -->
|
||||||
<script src="/js/plugins/jquery.dataTables.min.js"></script>
|
<script src="/js/plugins/jquery.dataTables.min.js"></script>
|
||||||
<!-- Full Calendar Plugin, full documentation here: https://github.com/fullcalendar/fullcalendar -->
|
|
||||||
<script src="/js/plugins/fullcalendar.min.js"></script>
|
|
||||||
<!-- Plugin for the Sliders, full documentation here: http://refreshless.com/nouislider/ -->
|
<!-- Plugin for the Sliders, full documentation here: http://refreshless.com/nouislider/ -->
|
||||||
<script src="/js/plugins/nouislider.min.js" ></script>
|
<script src="/js/plugins/nouislider.min.js" ></script>
|
||||||
<!-- Include a polyfill for ES6 Promises (optional) for IE11, UC Browser and Android browser support SweetAlert -->
|
<!-- Include a polyfill for ES6 Promises (optional) for IE11, UC Browser and Android browser support SweetAlert -->
|
||||||
|
|||||||
14
resources/views/layouts/modal/schedule/show.blade.php
Normal file
14
resources/views/layouts/modal/schedule/show.blade.php
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
<div class="modal-header">
|
||||||
|
<h5 class="modal-title" id="exampleModalLabel">{{$event->name}}</h5>
|
||||||
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
|
<span aria-hidden="true">×</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="modal-body">
|
||||||
|
|
||||||
|
@yield('content')
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
|
||||||
|
</div>
|
||||||
@@ -22,16 +22,16 @@
|
|||||||
<i class="material-icons">airplanemode_active</i> L'escadron
|
<i class="material-icons">airplanemode_active</i> L'escadron
|
||||||
</a>
|
</a>
|
||||||
<div class="dropdown-menu">
|
<div class="dropdown-menu">
|
||||||
<a class="dropdown-item" href="#">
|
<a class="dropdown-item" href="#news">
|
||||||
<i class="material-icons mr-2">new_releases</i>Nouvelles
|
<i class="material-icons mr-2">new_releases</i>Nouvelles
|
||||||
</a>
|
</a>
|
||||||
<a class="dropdown-item" href="#">
|
<a class="dropdown-item" href="#activity">
|
||||||
<i class="material-icons mr-2">landscape</i>Nos Activitées
|
<i class="material-icons mr-2">landscape</i>Nos Activitées
|
||||||
</a>
|
</a>
|
||||||
<a class="dropdown-item" href="#">
|
<a class="dropdown-item" href="#picture">
|
||||||
<i class="material-icons mr-2">photo_camera</i>Photos
|
<i class="material-icons mr-2">photo_camera</i>Photos
|
||||||
</a>
|
</a>
|
||||||
<a class="dropdown-item" href="#">
|
<a class="dropdown-item" href="#calendar">
|
||||||
<i class="material-icons mr-2">calendar_today</i>Calendrier
|
<i class="material-icons mr-2">calendar_today</i>Calendrier
|
||||||
</a>
|
</a>
|
||||||
<a class="dropdown-item" href="#cta">
|
<a class="dropdown-item" href="#cta">
|
||||||
|
|||||||
@@ -65,8 +65,8 @@
|
|||||||
events: '/api/schedule/events',
|
events: '/api/schedule/events',
|
||||||
eventClick: function(info) {
|
eventClick: function(info) {
|
||||||
console.log(info.event.id)
|
console.log(info.event.id)
|
||||||
$.get( "/api/schedule/events/"+info.event.id+"/modal", function( data ) {
|
$.get( "/api/schedule/events/" + info.event.id + "/"+ info.event.extendedProps.extraParams.db_type + "/modal", function( data ) {
|
||||||
$( "#schedulemodal" ).html( data );
|
$( "#modal-content" ).html( data );
|
||||||
});
|
});
|
||||||
$('#schedulemodal').modal('toggle')
|
$('#schedulemodal').modal('toggle')
|
||||||
}
|
}
|
||||||
@@ -77,24 +77,10 @@
|
|||||||
|
|
||||||
</script>
|
</script>
|
||||||
<div class="modal fade" id="schedulemodal" tabindex="-1" role="dialog" aria-labelledby="schedulemodal" aria-hidden="true">
|
<div class="modal fade" id="schedulemodal" tabindex="-1" role="dialog" aria-labelledby="schedulemodal" aria-hidden="true">
|
||||||
<div class="modal-dialog" role="document">
|
<div class="modal-dialog w-100 modal-lg mx-2 mx-lg-auto" role="document">
|
||||||
<div class="modal-content">
|
<div class="modal-content" id="modal-content"></div>
|
||||||
<div class="modal-header">
|
|
||||||
<h5 class="modal-title" id="exampleModalLabel">Modal title</h5>
|
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
||||||
<span aria-hidden="true">×</span>
|
|
||||||
</button>
|
|
||||||
</div>
|
|
||||||
<div class="modal-body">
|
|
||||||
...
|
|
||||||
</div>
|
|
||||||
<div class="modal-footer">
|
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
|
||||||
<button type="button" class="btn btn-primary">Save changes</button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
@@ -1,17 +1,34 @@
|
|||||||
<div class="modal-dialog" role="document">
|
<div class="modal-header">
|
||||||
<div class="modal-content">
|
<h5 class="modal-title" id="exampleModalLabel">{{$event->name}}</h5>
|
||||||
<div class="modal-header">
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
||||||
<h5 class="modal-title" id="exampleModalLabel">{{$event->data['event_name']}}</h5>
|
<span aria-hidden="true">×</span>
|
||||||
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
</button>
|
||||||
<span aria-hidden="true">×</span>
|
</div>
|
||||||
</button>
|
<div class="modal-body">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6">
|
||||||
|
Du <strong>{{$event->date_begin}}</strong> au <strong>{{$event->date_end}}</strong><br>
|
||||||
|
<small>{{$event->location}} </small>
|
||||||
</div>
|
</div>
|
||||||
<div class="modal-body">
|
<div class="col-md-6 text-right">
|
||||||
{{$event->type}}
|
@if ($event->is_mandatory)
|
||||||
</div>
|
<span class="badge badge-pill badge-warning">Obligatoire</span>
|
||||||
<div class="modal-footer">
|
@else
|
||||||
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
|
<span class="badge badge-pill badge-info">Optionnel</span>
|
||||||
<button type="button" class="btn btn-primary">Save changes</button>
|
@endif
|
||||||
|
@if (is_int($event->type))
|
||||||
|
<span class="badge badge-pill badge-default">{{$event->type}}</span>
|
||||||
|
@else
|
||||||
|
<span class="badge badge-pill" style="background-color: {{\App\ComplementaryActivity::find($event->type)->calendar_color}}">{{\App\ComplementaryActivity::find($event->type)->name}}</span>
|
||||||
|
@endif
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="row mt-4">
|
||||||
|
<div class="col-md-12">
|
||||||
|
{{$event->desc}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="modal-footer">
|
||||||
|
<button type="button" class="btn btn-secondary" data-dismiss="modal">Fermer</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -13,7 +13,7 @@ use Illuminate\Http\Request;
|
|||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
Route::get('/schedule/events','ScheduleController@apiIndex');
|
Route::get('/schedule/events','ScheduleController@apiIndex');
|
||||||
Route::get('/schedule/events/{id}/modal','ScheduleController@loadModal');
|
Route::get('/schedule/events/{id}/{db_type}/modal','ScheduleController@loadModal');
|
||||||
|
|
||||||
Route::middleware('auth:api')->group(function () {
|
Route::middleware('auth:api')->group(function () {
|
||||||
Route::get('/user', function (Request $request) {
|
Route::get('/user', function (Request $request) {
|
||||||
@@ -26,6 +26,8 @@ Route::middleware('auth:api')->group(function () {
|
|||||||
Route::post('/calendar/loadDay', 'CalendarController@show');
|
Route::post('/calendar/loadDay', 'CalendarController@show');
|
||||||
Route::post('/calendar/delete', 'CalendarController@delete');
|
Route::post('/calendar/delete', 'CalendarController@delete');
|
||||||
|
|
||||||
|
Route::get('/schedule/full/events/{id}/{db_type}/modal','ScheduleController@loadModalFull');
|
||||||
|
|
||||||
/** Message Route */
|
/** Message Route */
|
||||||
Route::post('/message/delete', 'MessageController@destroy');
|
Route::post('/message/delete', 'MessageController@destroy');
|
||||||
|
|
||||||
|
|||||||
@@ -36,11 +36,13 @@ Route::middleware(['auth','admin'])->group(function () {
|
|||||||
|
|
||||||
/** Calendar */
|
/** Calendar */
|
||||||
Route::get('/admin/calendar', 'CalendarController@index');
|
Route::get('/admin/calendar', 'CalendarController@index');
|
||||||
Route::get('/admin/calendar/add/{type}/{date}', ['uses' =>'CalendarController@add']);
|
Route::get('/admin/calendar/add/{date}', ['uses' =>'CalendarController@add']);
|
||||||
Route::get('/admin/calendar/edit/{id}', ['uses' =>'CalendarController@edit']);
|
Route::get('/admin/calendar/edit/{id}', ['uses' =>'CalendarController@edit']);
|
||||||
Route::post('/admin/calendar/add', 'CalendarController@store');
|
Route::post('/admin/calendar/add', 'CalendarController@store');
|
||||||
Route::patch('/admin/calendar/edit/{id}', ['uses' =>'CalendarController@patch']);
|
Route::patch('/admin/calendar/edit/{id}', ['uses' =>'CalendarController@patch']);
|
||||||
|
|
||||||
|
Route::get('/admin/calendar/pdf/{id}','ScheduleController@printtopdf');
|
||||||
|
|
||||||
/** Statistique */
|
/** Statistique */
|
||||||
Route::get('/admin/stats/log' , 'LogController@index');
|
Route::get('/admin/stats/log' , 'LogController@index');
|
||||||
|
|
||||||
@@ -82,6 +84,11 @@ Route::middleware(['auth','admin'])->group(function () {
|
|||||||
Route::post('/admin/inventory/add/{id}/{periode}/{niveau}' , 'InventoryController@store');
|
Route::post('/admin/inventory/add/{id}/{periode}/{niveau}' , 'InventoryController@store');
|
||||||
Route::post('/admin/inventory/remove/{id}/{periode}/{niveau}' , 'InventoryController@destroy');
|
Route::post('/admin/inventory/remove/{id}/{periode}/{niveau}' , 'InventoryController@destroy');
|
||||||
|
|
||||||
|
/** Booking */
|
||||||
|
Route::get('/admin/booking/{type}/{id}',function() {
|
||||||
|
return 'A faire';
|
||||||
|
});
|
||||||
|
|
||||||
/** Item */
|
/** Item */
|
||||||
Route::get('/admin/item/add' , 'ItemController@create');
|
Route::get('/admin/item/add' , 'ItemController@create');
|
||||||
Route::get('/admin/item/edit/{id}' , 'ItemController@edit');
|
Route::get('/admin/item/edit/{id}' , 'ItemController@edit');
|
||||||
|
|||||||
Reference in New Issue
Block a user