Test performance

This commit is contained in:
Lagacé Mathieu
2020-01-24 10:33:16 -05:00
parent ef6f403e1b
commit 03cf1c5493
48 changed files with 4699 additions and 1727 deletions

View File

@@ -6,6 +6,11 @@ use Illuminate\Database\Eloquent\Model;
class Event extends Model
{
protected $casts = [
'schedule' => 'array',
'msg' => 'array'
];
public function bookings()
{
return $this->morphMany('App\Booking', 'bookable');

View File

@@ -36,42 +36,76 @@ class EventController extends Controller
*/
public function store()
{
dd(\request());
$event = new Event();
$event->name = request('name');
$event->date_begin = request('begin');
$event->date_end = request('end');
$event->date_begin = request('begin_time');
$event->date_end = request('end_time');
$event->type = request('type');
$event->user_id = \Auth::user()->id;
$event->location = request('location');
if(request('is_mandatory') != null){
$event->is_mandatory = 1;
} else {
$event->is_mandatory = 0;
}
$event->desc = request('desc');
if(\request('msg'))
$event->desc = '';
if(\request("use_weekly_msg"))
{
$event->use_weekly_msg = 1;
$event->msg = request('msg');
}
else
{
$event->use_weekly_msg = 0;
$event->msg = "";
}
if(\request('date_msg'))
if(\request("use_schedule"))
{
$event->date_msg = request('date_msg');
$event->use_schedule = 1;
}
else
{
$event->date_msg = "";
$event->use_schedule = 0;
}
$event->calendar_color = \request('calendar_color');
$event->calendar_icon = \request('calendar_icon');
$nbLevel = 1;
$niveaux = [];
while (\request('level_name_'.$nbLevel))
{
array_push($niveaux,['name' => \request('level_name_'.$nbLevel)]);
$nbLevel++;
}
$nbPeriode = 1;
$periodes = [];
while (\request('periode_name_'.$nbPeriode))
{
array_push($periodes,[
'name' => \request('periode_name_'.$nbPeriode),
'begin_time' => \request('periode_begin_time_'.$nbPeriode),
'end_time' => \request('periode_end_time_'.$nbPeriode)
]);
$nbPeriode++;
}
$event->schedule = [
'periodes' => $periodes,
'niveaux' => $niveaux
];
$event->save();
if ($event->type == 1) {
for ($l=1; $l <= \App\Config::getData('admin_level_in_schedule_nb'); $l++) {
for ($p=1; $p <= \App\Config::getData('admin_periode_nb'); $p++) {
if ($event->use_schedule) {
for ($l=1; $l < $nbLevel; $l++) {
for ($p=1; $p < $nbPeriode; $p++) {
$course = new \App\Course();
@@ -88,7 +122,7 @@ class EventController extends Controller
$course->name = request('name_n'.$l.'_p'.$p);
$course->user_id = $instructor;
$course->ocom = request('ocom_n'.$l.'_p'.$p);
$course->location = request('loc_n'.$l.'_p'.$p);
$course->location = request('location_n'.$l.'_p'.$p);
$course->periode = $p;
$course->level = $l;

View File

@@ -99,9 +99,25 @@ class ScheduleController extends Controller
}
foreach ($events as $event) {
$color = $this->getColor($event->type);
if($event->calendar_color == null)
{
$color = $this->getColor($event->type);
}
else
{
$color = $event->calendar_color;
}
if($event->calendar_icon == null)
{
$icon = "";
}
else
{
$icon = $event->calendar_icon;
}
$myevent = [
'title' => $event->name,
'start' => date('c',strtotime($event->date_begin)),
@@ -109,7 +125,8 @@ class ScheduleController extends Controller
'color' => $color,
'extraParams' => [
'db_type' => 'event'],
'id' => $event->id
'id' => $event->id,
'icon' => $icon
];
array_push($jsonevents,$myevent);
}

View File

@@ -22,7 +22,8 @@
"laravel/dusk": "^5.6",
"mockery/mockery": "^1.0",
"nunomaduro/collision": "^2.0",
"phpunit/phpunit": "^7.0"
"phpunit/phpunit": "^7.0",
"staudenmeir/dusk-updater": "^1.1"
},
"autoload": {
"classmap": [

151
composer.lock generated
View File

@@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
"This file is @generated automatically"
],
"content-hash": "a086e5bc47221176f2f7258e41366c37",
"content-hash": "eb2e0f9a332c6bc503c5535d872c50e7",
"packages": [
{
"name": "barryvdh/laravel-dompdf",
@@ -184,16 +184,16 @@
},
{
"name": "composer/ca-bundle",
"version": "1.2.4",
"version": "1.2.5",
"source": {
"type": "git",
"url": "https://github.com/composer/ca-bundle.git",
"reference": "10bb96592168a0f8e8f6dcde3532d9fa50b0b527"
"reference": "62e8fc2dc550e5d6d8c9360c7721662670f58149"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/10bb96592168a0f8e8f6dcde3532d9fa50b0b527",
"reference": "10bb96592168a0f8e8f6dcde3532d9fa50b0b527",
"url": "https://api.github.com/repos/composer/ca-bundle/zipball/62e8fc2dc550e5d6d8c9360c7721662670f58149",
"reference": "62e8fc2dc550e5d6d8c9360c7721662670f58149",
"shasum": ""
},
"require": {
@@ -204,7 +204,7 @@
"require-dev": {
"phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8",
"psr/log": "^1.0",
"symfony/process": "^2.5 || ^3.0 || ^4.0"
"symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0"
},
"type": "library",
"extra": {
@@ -236,7 +236,7 @@
"ssl",
"tls"
],
"time": "2019-08-30T08:44:50+00:00"
"time": "2019-12-11T14:44:42+00:00"
},
{
"name": "composer/composer",
@@ -486,25 +486,25 @@
},
{
"name": "dnoegel/php-xdg-base-dir",
"version": "0.1",
"version": "v0.1.1",
"source": {
"type": "git",
"url": "https://github.com/dnoegel/php-xdg-base-dir.git",
"reference": "265b8593498b997dc2d31e75b89f053b5cc9621a"
"reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/265b8593498b997dc2d31e75b89f053b5cc9621a",
"reference": "265b8593498b997dc2d31e75b89f053b5cc9621a",
"url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
"reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd",
"shasum": ""
},
"require": {
"php": ">=5.3.2"
},
"require-dev": {
"phpunit/phpunit": "@stable"
"phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35"
},
"type": "project",
"type": "library",
"autoload": {
"psr-4": {
"XdgBaseDir\\": "src/"
@@ -515,7 +515,7 @@
"MIT"
],
"description": "implementation of xdg base directory specification for php",
"time": "2014-10-24T07:27:01+00:00"
"time": "2019-12-04T15:06:13+00:00"
},
{
"name": "doctrine/cache",
@@ -1176,16 +1176,16 @@
},
{
"name": "guzzlehttp/guzzle",
"version": "6.4.1",
"version": "6.5.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/guzzle.git",
"reference": "0895c932405407fd3a7368b6910c09a24d26db11"
"reference": "dbc2bc3a293ed6b1ae08a3651e2bfd213d19b6a5"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/0895c932405407fd3a7368b6910c09a24d26db11",
"reference": "0895c932405407fd3a7368b6910c09a24d26db11",
"url": "https://api.github.com/repos/guzzle/guzzle/zipball/dbc2bc3a293ed6b1ae08a3651e2bfd213d19b6a5",
"reference": "dbc2bc3a293ed6b1ae08a3651e2bfd213d19b6a5",
"shasum": ""
},
"require": {
@@ -1200,12 +1200,13 @@
"psr/log": "^1.1"
},
"suggest": {
"ext-intl": "Required for Internationalized Domain Name (IDN) support",
"psr/log": "Required for using the Log middleware"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-master": "6.3-dev"
"dev-master": "6.5-dev"
}
},
"autoload": {
@@ -1238,7 +1239,7 @@
"rest",
"web service"
],
"time": "2019-10-23T15:58:00+00:00"
"time": "2019-12-07T18:20:45+00:00"
},
{
"name": "guzzlehttp/promises",
@@ -1518,16 +1519,16 @@
},
{
"name": "laravel/framework",
"version": "v6.6.2",
"version": "v6.7.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/framework.git",
"reference": "27efba7e13aaf91a87ae9a63db158e943eb71410"
"reference": "ba4204f3a8b9672b6116398c165bd9c0c6eac077"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/27efba7e13aaf91a87ae9a63db158e943eb71410",
"reference": "27efba7e13aaf91a87ae9a63db158e943eb71410",
"url": "https://api.github.com/repos/laravel/framework/zipball/ba4204f3a8b9672b6116398c165bd9c0c6eac077",
"reference": "ba4204f3a8b9672b6116398c165bd9c0c6eac077",
"shasum": ""
},
"require": {
@@ -1660,7 +1661,7 @@
"framework",
"laravel"
],
"time": "2019-12-05T13:49:53+00:00"
"time": "2019-12-10T16:01:57+00:00"
},
{
"name": "laravel/helpers",
@@ -1717,16 +1718,16 @@
},
{
"name": "laravel/nexmo-notification-channel",
"version": "v2.2.1",
"version": "v2.3.0",
"source": {
"type": "git",
"url": "https://github.com/laravel/nexmo-notification-channel.git",
"reference": "7ff1765564f6ac4005c0734d5ca66556d63faab6"
"reference": "da1ba24ecd9877e461fc3fdd68761328eaf035e3"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/laravel/nexmo-notification-channel/zipball/7ff1765564f6ac4005c0734d5ca66556d63faab6",
"reference": "7ff1765564f6ac4005c0734d5ca66556d63faab6",
"url": "https://api.github.com/repos/laravel/nexmo-notification-channel/zipball/da1ba24ecd9877e461fc3fdd68761328eaf035e3",
"reference": "da1ba24ecd9877e461fc3fdd68761328eaf035e3",
"shasum": ""
},
"require": {
@@ -1770,7 +1771,7 @@
"nexmo",
"notifications"
],
"time": "2019-10-29T16:11:56+00:00"
"time": "2019-12-10T16:54:57+00:00"
},
{
"name": "laravel/tinker",
@@ -1892,16 +1893,16 @@
},
{
"name": "league/flysystem",
"version": "1.0.57",
"version": "1.0.61",
"source": {
"type": "git",
"url": "https://github.com/thephpleague/flysystem.git",
"reference": "0e9db7f0b96b9f12dcf6f65bc34b72b1a30ea55a"
"reference": "4fb13c01784a6c9f165a351e996871488ca2d8c9"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/0e9db7f0b96b9f12dcf6f65bc34b72b1a30ea55a",
"reference": "0e9db7f0b96b9f12dcf6f65bc34b72b1a30ea55a",
"url": "https://api.github.com/repos/thephpleague/flysystem/zipball/4fb13c01784a6c9f165a351e996871488ca2d8c9",
"reference": "4fb13c01784a6c9f165a351e996871488ca2d8c9",
"shasum": ""
},
"require": {
@@ -1972,7 +1973,7 @@
"sftp",
"storage"
],
"time": "2019-10-16T21:01:05+00:00"
"time": "2019-12-08T21:46:50+00:00"
},
{
"name": "monolog/monolog",
@@ -2757,16 +2758,16 @@
},
{
"name": "phpoption/phpoption",
"version": "1.6.0",
"version": "1.6.1",
"source": {
"type": "git",
"url": "https://github.com/schmittjoh/php-option.git",
"reference": "f4e7a6a1382183412246f0d361078c29fb85089e"
"reference": "a8593bf5176bf3d3f2966942c530be19b44ec87c"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/schmittjoh/php-option/zipball/f4e7a6a1382183412246f0d361078c29fb85089e",
"reference": "f4e7a6a1382183412246f0d361078c29fb85089e",
"url": "https://api.github.com/repos/schmittjoh/php-option/zipball/a8593bf5176bf3d3f2966942c530be19b44ec87c",
"reference": "a8593bf5176bf3d3f2966942c530be19b44ec87c",
"shasum": ""
},
"require": {
@@ -2807,7 +2808,7 @@
"php",
"type"
],
"time": "2019-11-30T20:20:49+00:00"
"time": "2019-12-11T13:45:14+00:00"
},
{
"name": "psr/container",
@@ -3106,20 +3107,20 @@
},
{
"name": "psy/psysh",
"version": "v0.9.11",
"version": "v0.9.12",
"source": {
"type": "git",
"url": "https://github.com/bobthecow/psysh.git",
"reference": "75d9ac1c16db676de27ab554a4152b594be4748e"
"reference": "90da7f37568aee36b116a030c5f99c915267edd4"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/75d9ac1c16db676de27ab554a4152b594be4748e",
"reference": "75d9ac1c16db676de27ab554a4152b594be4748e",
"url": "https://api.github.com/repos/bobthecow/psysh/zipball/90da7f37568aee36b116a030c5f99c915267edd4",
"reference": "90da7f37568aee36b116a030c5f99c915267edd4",
"shasum": ""
},
"require": {
"dnoegel/php-xdg-base-dir": "0.1",
"dnoegel/php-xdg-base-dir": "0.1.*",
"ext-json": "*",
"ext-tokenizer": "*",
"jakub-onderka/php-console-highlighter": "0.3.*|0.4.*",
@@ -3176,7 +3177,7 @@
"interactive",
"shell"
],
"time": "2019-11-27T22:44:29+00:00"
"time": "2019-12-06T14:19:43+00:00"
},
{
"name": "ralouphie/getallheaders",
@@ -6186,16 +6187,16 @@
},
{
"name": "phpunit/phpunit",
"version": "7.5.17",
"version": "7.5.18",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
"reference": "4c92a15296e58191a4cd74cff3b34fc8e374174a"
"reference": "fcf6c4bfafaadc07785528b06385cce88935474d"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4c92a15296e58191a4cd74cff3b34fc8e374174a",
"reference": "4c92a15296e58191a4cd74cff3b34fc8e374174a",
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fcf6c4bfafaadc07785528b06385cce88935474d",
"reference": "fcf6c4bfafaadc07785528b06385cce88935474d",
"shasum": ""
},
"require": {
@@ -6266,7 +6267,7 @@
"testing",
"xunit"
],
"time": "2019-10-28T10:37:36+00:00"
"time": "2019-12-06T05:14:37+00:00"
},
{
"name": "sebastian/code-unit-reverse-lookup",
@@ -6834,6 +6835,54 @@
"homepage": "https://github.com/sebastianbergmann/version",
"time": "2016-10-03T07:35:21+00:00"
},
{
"name": "staudenmeir/dusk-updater",
"version": "v1.1.3",
"source": {
"type": "git",
"url": "https://github.com/staudenmeir/dusk-updater.git",
"reference": "f3450cb8dbb9fdbc1a1aee144c666a44983394c2"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/staudenmeir/dusk-updater/zipball/f3450cb8dbb9fdbc1a1aee144c666a44983394c2",
"reference": "f3450cb8dbb9fdbc1a1aee144c666a44983394c2",
"shasum": ""
},
"require": {
"ext-openssl": "*",
"ext-zip": "*",
"php": ">=5.6.4"
},
"require-dev": {
"orchestra/testbench": "^4.0"
},
"type": "library",
"extra": {
"laravel": {
"providers": [
"Staudenmeir\\DuskUpdater\\DuskServiceProvider"
]
}
},
"autoload": {
"psr-4": {
"Staudenmeir\\DuskUpdater\\": "src/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "Jonas Staudenmeir",
"email": "mail@jonas-staudenmeir.de"
}
],
"description": "Updater for Laravel Dusk ChromeDriver binaries",
"time": "2019-09-16T12:22:08+00:00"
},
{
"name": "theseer/tokenizer",
"version": "1.1.3",

View File

@@ -22,9 +22,13 @@ class CreateEventsTable extends Migration
$table->string('user_id');
$table->string('location');
$table->boolean('is_mandatory');
$table->boolean('use_weekly_msg');
$table->boolean('use_schedule');
$table->text('desc');
$table->text('msg');
$table->string('date_msg');
$table->text('schedule');
$table->string('calendar_color');
$table->string('calendar_icon');
$table->timestamps();
});
}

View File

@@ -22,7 +22,7 @@ class CreateCoursesTable extends Migration
$table->string('location');
$table->text('comment');
$table->integer('event_id');
$table->integer('user_id');
$table->string('user_id');
$table->timestamps();
});
}

View File

@@ -17,8 +17,8 @@ class CreateEventTypesTable extends Migration
$table->bigIncrements('id');
$table->string('name');
$table->text('admin_desc');
$table->string('calendar_color')->default('blue');
$table->string('calendar_icon')->default('<i class="fa fa-question-circle"></i>');
$table->string('calendar_color')->default('#FFFFFF');
$table->string('calendar_icon')->default('fa fa-question-circle');
$table->string('begin_time')->default('12:00');
$table->string('end_time')->default('13:00');
$table->string('location')->default('Escadron');
@@ -27,6 +27,7 @@ class CreateEventTypesTable extends Migration
$table->string('weekly_msg_publication_time')->default('-5day');
$table->boolean('use_schedule')->default(false);
$table->text('schedule_model');
$table->text('weekly_msg');
$table->boolean('is_promoted')->default(false);
$table->timestamps();
});

View File

@@ -17,6 +17,7 @@ class DatabaseSeeder extends Seeder
ConfigsTableSeeder::class,
UsersTableSeeder::class,
ComplementaryActivitiesSeeder::class,
EventTypeSeeder::class,
]);
}
}

View File

@@ -0,0 +1,49 @@
<?php
use Illuminate\Database\Seeder;
class EventTypeSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('event_types')->insert([
[
'name' => 'Par défault',
'calendar_color' => '#A4A4A4',
'calendar_icon' => 'fas fa-book',
'begin_time' => '18:30',
'end_time' => '21:45',
'Location' => 'Escadron',
'is_mandatory' => '0',
'use_weekly_msg' => '0',
'weekly_msg' => '<p><strong>/* Nom de l\'évènement */</strong></p><p>Heure (Cadets):</p><p>Lieu:</p><p>Tenue:</p><p>Matériel:</p><p>/* Commentaire */</p>',
'weekly_msg_publication_time' => '-5days',
'use_schedule' => '0',
'schedule_model' => '{"periodes":[{"name":"Periode 1","begin_time":"19:00","end_time":"20:10"},{"name":"Pause","begin_time":"20:10","end_time":"20:30"},{"name":"Periode 2","begin_time":"20:30","end_time":"21:20"}],"niveaux":[{"name":"Niveau 1"},{"name":"Niveau 2"},{"name":"Niveau 3"}]}',
'is_promoted' => '0',
'admin_desc' => 'Veuillez modifier la description admin par défaut',
],
[
'name' => 'Soirée d\'instruction régulière',
'calendar_color' => 'orange',
'calendar_icon' => 'fas fa-book',
'begin_time' => '18:30',
'end_time' => '21:45',
'Location' => 'Escadron',
'is_mandatory' => '1',
'use_weekly_msg' => '1',
'weekly_msg' => '<p><strong>/* Nom de l\'évènement */</strong></p><p>Heure (Cadets):</p><p>Lieu:</p><p>Tenue:</p><p>Matériel:</p><p>/* Commentaire */</p>',
'weekly_msg_publication_time' => '-5days',
'use_schedule' => '1',
'schedule_model' => '{"periodes":[{"name":"Periode 1","begin_time":"19:00","end_time":"20:10"},{"name":"Pause","begin_time":"20:10","end_time":"20:30"},{"name":"Periode 2","begin_time":"20:30","end_time":"21:20"}],"niveaux":[{"name":"Niveau 1"},{"name":"Niveau 2"},{"name":"Niveau 3"}]}',
'is_promoted' => '0',
'admin_desc' => 'Veuillez modifier la description admin par défaut',
]
]);
}
}

21
phpunit.dusk.xml Normal file
View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="vendor/autoload.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="Browser Test Suite">
<directory suffix="Test.php">./tests/Browser</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./app</directory>
</whitelist>
</filter>
</phpunit>

4
public/js/app.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -11,6 +11,11 @@ function initFullCalendar(authToken) {
right: 'prev,next'
},
events: '/api/schedule/events',
eventRender: function(event, element) {
if(event.icon){
element.find(".fc-title").prepend("<i class='"+event.icon+"'></i>");
}
},
eventClick: function (info) {
$.get("/api/schedule/events/modal/full/" + info.event.id + "/"+ info.event.extendedProps.extraParams.db_type + "?api_token="+authToken, function (data) {
$("#modal-content").html(data);
@@ -102,4 +107,4 @@ function deleteEvent(pid){
})
}
})
}
}

View File

@@ -0,0 +1,312 @@
/*!
* Font Awesome Icon Picker
* https://farbelous.github.io/fontawesome-iconpicker/
*
* Originally written by (c) 2016 Javi Aguilar
* Licensed under the MIT License
* https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE
*
*/
.iconpicker-popover.popover {
position: absolute;
top: 0;
left: 0;
display: none;
max-width: none;
padding: 1px;
text-align: left;
width: 234px;
background: #f7f7f7;
z-index: 9;
}
.iconpicker-popover.popover.top,
.iconpicker-popover.popover.topLeftCorner,
.iconpicker-popover.popover.topLeft,
.iconpicker-popover.popover.topRight,
.iconpicker-popover.popover.topRightCorner {
margin-top: -10px;
}
.iconpicker-popover.popover.right,
.iconpicker-popover.popover.rightTop,
.iconpicker-popover.popover.rightBottom {
margin-left: 10px;
}
.iconpicker-popover.popover.bottom,
.iconpicker-popover.popover.bottomRightCorner,
.iconpicker-popover.popover.bottomRight,
.iconpicker-popover.popover.bottomLeft,
.iconpicker-popover.popover.bottomLeftCorner {
margin-top: 10px;
}
.iconpicker-popover.popover.left,
.iconpicker-popover.popover.leftBottom,
.iconpicker-popover.popover.leftTop {
margin-left: -10px;
}
.iconpicker-popover.popover.inline {
margin: 0 0 12px 0;
position: relative;
display: inline-block;
opacity: 1;
top: auto;
left: auto;
bottom: auto;
right: auto;
max-width: 100%;
box-shadow: none;
z-index: auto;
vertical-align: top;
}
.iconpicker-popover.popover.inline > .arrow {
display: none;
}
.dropdown-menu .iconpicker-popover.inline {
margin: 0;
border: none;
}
.dropdown-menu.iconpicker-container {
padding: 0;
}
.iconpicker-popover.popover .popover-title {
padding: 12px;
font-size: 13px;
line-height: 15px;
border-bottom: 1px solid #ebebeb;
background-color: #f7f7f7;
}
.iconpicker-popover.popover .popover-title input[type=search].iconpicker-search {
margin: 0 0 2px 0;
}
.iconpicker-popover.popover .popover-title-text ~ input[type=search].iconpicker-search {
margin-top: 12px;
}
.iconpicker-popover.popover .popover-content {
padding: 0px;
text-align: center;
}
.iconpicker-popover .popover-footer {
float: none;
clear: both;
padding: 12px;
text-align: right;
margin: 0;
border-top: 1px solid #ebebeb;
background-color: #f7f7f7;
}
.iconpicker-popover .popover-footer:before,
.iconpicker-popover .popover-footer:after {
content: " ";
display: table;
}
.iconpicker-popover .popover-footer:after {
clear: both;
}
.iconpicker-popover .popover-footer .iconpicker-btn {
margin-left: 10px;
}
.iconpicker-popover .popover-footer input[type=search].iconpicker-search {
/*width:auto;
float:left;*/
margin-bottom: 12px;
}
.iconpicker-popover.popover > .arrow,
.iconpicker-popover.popover > .arrow:after {
position: absolute;
display: block;
width: 0;
height: 0;
border-color: transparent;
border-style: solid;
}
.iconpicker-popover.popover > .arrow {
border-width: 11px;
}
.iconpicker-popover.popover > .arrow:after {
border-width: 10px;
content: "";
}
.iconpicker-popover.popover.top > .arrow,
.iconpicker-popover.popover.topLeft > .arrow,
.iconpicker-popover.popover.topRight > .arrow {
left: 50%;
margin-left: -11px;
border-bottom-width: 0;
border-top-color: #999999;
border-top-color: rgba(0, 0, 0, 0.25);
bottom: -11px;
}
.iconpicker-popover.popover.top > .arrow:after,
.iconpicker-popover.popover.topLeft > .arrow:after,
.iconpicker-popover.popover.topRight > .arrow:after {
content: " ";
bottom: 1px;
margin-left: -10px;
border-bottom-width: 0;
border-top-color: #ffffff;
}
.iconpicker-popover.popover.topLeft > .arrow {
left: 8px;
margin-left: 0;
}
.iconpicker-popover.popover.topRight > .arrow {
left: auto;
right: 8px;
margin-left: 0;
}
.iconpicker-popover.popover.right > .arrow,
.iconpicker-popover.popover.rightTop > .arrow,
.iconpicker-popover.popover.rightBottom > .arrow {
top: 50%;
left: -11px;
margin-top: -11px;
border-left-width: 0;
border-right-color: #999999;
border-right-color: rgba(0, 0, 0, 0.25);
}
.iconpicker-popover.popover.right > .arrow:after,
.iconpicker-popover.popover.rightTop > .arrow:after,
.iconpicker-popover.popover.rightBottom > .arrow:after {
content: " ";
left: 1px;
bottom: -10px;
border-left-width: 0;
border-right-color: #ffffff;
}
.iconpicker-popover.popover.rightTop > .arrow {
top: auto;
bottom: 8px;
margin-top: 0;
}
.iconpicker-popover.popover.rightBottom > .arrow {
top: 8px;
margin-top: 0;
}
.iconpicker-popover.popover.bottom > .arrow,
.iconpicker-popover.popover.bottomRight > .arrow,
.iconpicker-popover.popover.bottomLeft > .arrow {
left: 50%;
margin-left: -11px;
border-top-width: 0;
border-bottom-color: #999999;
border-bottom-color: rgba(0, 0, 0, 0.25);
top: -11px;
}
.iconpicker-popover.popover.bottom > .arrow:after,
.iconpicker-popover.popover.bottomRight > .arrow:after,
.iconpicker-popover.popover.bottomLeft > .arrow:after {
content: " ";
top: 1px;
margin-left: -10px;
border-top-width: 0;
border-bottom-color: #ffffff;
}
.iconpicker-popover.popover.bottomLeft > .arrow {
left: 8px;
margin-left: 0;
}
.iconpicker-popover.popover.bottomRight > .arrow {
left: auto;
right: 8px;
margin-left: 0;
}
.iconpicker-popover.popover.left > .arrow,
.iconpicker-popover.popover.leftBottom > .arrow,
.iconpicker-popover.popover.leftTop > .arrow {
top: 50%;
right: -11px;
margin-top: -11px;
border-right-width: 0;
border-left-color: #999999;
border-left-color: rgba(0, 0, 0, 0.25);
}
.iconpicker-popover.popover.left > .arrow:after,
.iconpicker-popover.popover.leftBottom > .arrow:after,
.iconpicker-popover.popover.leftTop > .arrow:after {
content: " ";
right: 1px;
border-right-width: 0;
border-left-color: #ffffff;
bottom: -10px;
}
.iconpicker-popover.popover.leftBottom > .arrow {
top: 8px;
margin-top: 0;
}
.iconpicker-popover.popover.leftTop > .arrow {
top: auto;
bottom: 8px;
margin-top: 0;
}
.iconpicker {
position: relative;
text-align: left;
text-shadow: none;
line-height: 0;
display: block;
margin: 0;
overflow: hidden;
}
.iconpicker * {
-webkit-box-sizing: content-box;
-moz-box-sizing: content-box;
box-sizing: content-box;
position: relative;
}
.iconpicker:before,
.iconpicker:after {
content: " ";
display: table;
}
.iconpicker:after {
clear: both;
}
.iconpicker .iconpicker-items {
position: relative;
clear: both;
float: none;
padding: 12px 0 0 12px;
background: #fff;
margin: 0;
overflow: hidden;
overflow-y: auto;
min-height: 49px;
max-height: 246px;
}
.iconpicker .iconpicker-items:before,
.iconpicker .iconpicker-items:after {
content: " ";
display: table;
}
.iconpicker .iconpicker-items:after {
clear: both;
}
.iconpicker .iconpicker-item {
float: left;
width: 14px;
height: 14px;
padding: 12px;
margin: 0 12px 12px 0;
text-align: center;
cursor: pointer;
border-radius: 3px;
font-size: 14px;
box-shadow: 0 0 0 1px #dddddd;
color: inherit;
/*&:nth-child(4n+4) {
margin-right: 0;
}
&:nth-last-child(-n+4) {
margin-bottom: 0;
}*/
}
.iconpicker .iconpicker-item:hover:not(.iconpicker-selected) {
background-color: #eeeeee;
}
.iconpicker .iconpicker-item.iconpicker-selected {
box-shadow: none;
color: #fff;
background: #000;
}
.iconpicker-component {
cursor: pointer;
}

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -210,6 +210,19 @@ function loadEventType(date)
var foo = $('#'+i);
foo.trumbowyg('html', val);
}
else if(i == "calendar_color")
{
var foo = $('#'+i);
foo.val(val);
pickr.setColor(val);
}
else if(i == "calendar_icon")
{
var foo = $('#'+i);
foo.val(val);
$('#calendar_icon_display').removeAttr('class');
$('#calendar_icon_display').addClass(val);
}
});
},
error: function () {
@@ -292,4 +305,4 @@ function updatePlantext(toggle,id)
$('#'+id).removeClass('text-success');
$('#'+id).html('Plan de cours non remis')
}
}
}

View File

@@ -1,6 +1,4 @@
{
"/js/app.js": "/js/app.js",
"/css/app.css": "/css/app.css",
"/css/material-dashboard.css": "/css/material-dashboard.css",
"/css/custom.css": "/css/custom.css"
}

View File

@@ -47,10 +47,10 @@
@else
@foreach ($futureEvent as $event)
<div class="col-md-12">
<div class="alert" style="background-color: {{\App\ComplementaryActivity::find($event->type)->calendar_color}}">
<div class="alert" style="background-color: @if($event->calendar_color == null){{ \App\ComplementaryActivity::find($event->type)->calendar_color}} @else {{$event->calendar_color}} @endif">
<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>
<h3 class="m-0 p-0" style="margin-top: -0.5rem !important;">@if($event->calendar_icon == null) {!! \App\ComplementaryActivity::find($event->type)->calendar_icon !!} @else <i class="{{$event->calendar_icon}}"></i> @endif</h3>
</div>
<div class="col-md">
{{$event->name}}

View File

@@ -13,14 +13,14 @@
</div>
</div>
<div class="col-4 text-right">
<button type="button" class="btn btn-sm btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<a type="button" class="btn btn-sm btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="sr-only">Toggle Dropdown</span>
</button>
</a>
<div class="dropdown-menu">
<button id="modeSwitchC{{$niveau}}-{{$periode}}" class="btn-secondary dropdown-item active m-1" onclick="selectCourseMode('course',{{$niveau}},{{$periode}})">Mode "Cours" pour cette période</button>
<button id="modeSwitchO{{$niveau}}-{{$periode}}" class="btn-secondary dropdown-item m-1" onclick="selectCourseMode('other',{{$niveau}},{{$periode}})">Mode "Autre" pour cette période</button>
<a id="modeSwitchC{{$niveau}}-{{$periode}}" class="btn-secondary dropdown-item active m-1" onclick="selectCourseMode('course',{{$niveau}},{{$periode}})">Mode "Cours" pour cette période</a>
<a id="modeSwitchO{{$niveau}}-{{$periode}}" class="btn-secondary dropdown-item m-1" onclick="selectCourseMode('other',{{$niveau}},{{$periode}})">Mode "Autre" pour cette période</a>
<div class="dropdown-divider"></div>
<button class="btn-secondary dropdown-item" href="#">Réinitialiser</button>
<a class="btn-secondary dropdown-item" href="#">Réinitialiser</a>
</div>
</div>
</div>
@@ -71,4 +71,4 @@
</div>
</div>
</div>
</div>
</div>

View File

@@ -9,13 +9,13 @@
</div>
</div>
<div class="col-3 text-right">
<button type="button" class="btn btn-link btn-sm dropdown-toggle dropdown-toggle-split text-white" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<a type="button" class="btn btn-link btn-sm dropdown-toggle dropdown-toggle-split text-white" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="sr-only">Toggle Dropdown</span>
</button>
</a>
<div class="dropdown-menu">
<button id="modeSwitchPeriodeC{{$level_id}}" class="btn-secondary dropdown-item m-1" onclick="selectCourseModeNiveau('course',{{$level_id}})">Mode "Cours" pour toutes les périodes</button>
<button id="modeSwitchPeriodeO{{$level_id}}" class="btn-secondary dropdown-item m-1" onclick="selectCourseModeNiveau('other',{{$level_id}})">Mode "Autre" pour toutes les période</button>
<a id="modeSwitchPeriodeC{{$level_id}}" class="btn-secondary dropdown-item m-1" onclick="selectCourseModeNiveau('course',{{$level_id}})">Mode "Cours" pour toutes les périodes</a>
<a id="modeSwitchPeriodeO{{$level_id}}" class="btn-secondary dropdown-item m-1" onclick="selectCourseModeNiveau('other',{{$level_id}})">Mode "Autre" pour toutes les période</a>
</div>
</div>
</div>
</div>
</div>

View File

@@ -10,12 +10,12 @@
</div>
</div>
<div class="col-3 text-right">
<button type="button" class="btn btn-sm btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<a type="button" class="btn btn-sm btn-secondary dropdown-toggle dropdown-toggle-split" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<span class="sr-only">Toggle Dropdown</span>
</button>
</a>
<div class="dropdown-menu">
<button id="modeSwitchPeriodeC{{$periode_id}}" class="btn-secondary dropdown-item m-1" onclick="selectCourseModePeriode('course',{{$periode_id}})">Mode "Cours" pour toute la période</button>
<button id="modeSwitchPeriodeO{{$periode_id}}" class="btn-secondary dropdown-item m-1" onclick="selectCourseModePeriode('other',{{$periode_id}})">Mode "Autre" pour toute la période</button>
<a id="modeSwitchPeriodeC{{$periode_id}}" class="btn-secondary dropdown-item m-1" onclick="selectCourseModePeriode('course',{{$periode_id}})">Mode "Cours" pour toute la période</a>
<a id="modeSwitchPeriodeO{{$periode_id}}" class="btn-secondary dropdown-item m-1" onclick="selectCourseModePeriode('other',{{$periode_id}})">Mode "Autre" pour toute la période</a>
</div>
</div>
</div>
@@ -40,4 +40,4 @@
<div class="col-1">
</div>
</div>
</div>

View File

@@ -8,9 +8,9 @@
@include('admin.schedule.editor.levelHeader',['level_id' => $loop->index+1,'level_name' => $niveau['name']])
@endforeach
<div class="col-1">
<button class="btn btn-primary btn-fab btn-fab-mini btn-round" onclick="addLevel()">
<a class="btn btn-primary btn-fab btn-fab-mini btn-round text-white" onclick="addLevel()">
<i class="material-icons">add</i>
</button>
</a>
</div>
</div>
@foreach($eventType->schedule_model['periodes'] as $periode)
@@ -24,8 +24,8 @@
@endforeach
<div class="row">
<div class="col-2 p-2">
<button class="btn btn-primary btn-fab btn-fab-mini btn-round" onclick="addPeriode()">
<a class="btn btn-primary btn-fab btn-fab-mini btn-round text-white" onclick="addPeriode()">
<i class="material-icons">add</i>
</button>
</a>
</div>
</div>
</div>

View File

@@ -1,15 +1,15 @@
@extends('layouts.admin.main')
@section('content')
<div class="row">
<div class="col-9">
<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/add" method="POST">
@csrf
<form action="/admin/schedule/event/add" method="POST">
<div class="row">
@csrf
<div class="col-9">
<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 ">
<div class="row" id="container">
<div id="accordion" class="col-12" role="tablist">
<div class="card card-collapse">
@@ -106,65 +106,149 @@
</div>
</div>
<button type="submit" class="btn btn-primary mt-5">Sauvegarder</button>
</form>
</div>
</div>
</div>
</div>
<div class="col-3">
<div class="card ">
<div class="card-header card-header-primary">
<h4 class="card-title">Options</h4>
</div>
<div class="card-body ">
<div class="form-group">
<label for="type">Type d'événement</label>
<small class="text-muted d-block">Choisir le type d'activité supprimera vos modification actuel</small>
<select class="form-control selectpicker" data-style="btn btn-link" name="type" id="type" onchange="loadEventType('{{$date}}')" required>
@foreach (\App\EventType::all() as $item)
<option value="{{$item->id}}">{{$item->name}}</option>
@endforeach
</select>
<div class="col-3">
<div class="card ">
<div class="card-header card-header-primary">
<h4 class="card-title">Options</h4>
</div>
<div class="form-group">
<label class="m-0" for="type">Activité obligatoire</label>
<small class="text-muted d-block">L'activité est-elle obligatoire pour tout les cadets ?</small>
<div class="togglebutton">
<label>
<input id="is_mandatory" name="is_mandatory" type="checkbox">
<span class="toggle"></span>
L'activité est obligatoire
</label>
<div class="card-body ">
<div class="form-group">
<label for="type">Type d'événement</label>
<small class="text-muted d-block">Choisir le type d'activité supprimera vos modification actuel</small>
<select class="form-control selectpicker" data-style="btn btn-link" name="type" id="type" onchange="loadEventType('{{$date}}')" required>
@foreach (\App\EventType::all() as $item)
<option value="{{$item->id}}">{{$item->name}}</option>
@endforeach
</select>
</div>
</div>
<div class="form-group">
<label class="m-0" for="type">Message de la semaine</label>
<small class="text-muted d-block">Inclure des messages de la semaine avec l'activité ?</small>
<div class="togglebutton">
<label>
<input id="use_weekly_msg" type="checkbox" name="use_weekly_msg" onchange="switchUseWeeklyMsg()">
<span class="toggle"></span>
Avec message de la semaine
</label>
<div class="form-group">
<label class="m-0" for="type">Activité obligatoire</label>
<small class="text-muted d-block">L'activité est-elle obligatoire pour tout les cadets ?</small>
<div class="togglebutton">
<label>
<input id="is_mandatory" name="is_mandatory" type="checkbox">
<span class="toggle"></span>
L'activité est obligatoire
</label>
</div>
</div>
</div>
<div class="form-group">
<label class="m-0" for="type">Horaire</label>
<small class="text-muted d-block">Inclure un horaire avec l'activité ?</small>
<div class="togglebutton">
<label>
<input type="checkbox" id="use_schedule" name="use_schedule" checked onchange="switchUseSchedule()">
<span class="toggle"></span>
Avec horaire
</label>
<div class="form-group">
<label class="m-0" for="type">Message de la semaine</label>
<small class="text-muted d-block">Inclure des messages de la semaine avec l'activité ?</small>
<div class="togglebutton">
<label>
<input id="use_weekly_msg" type="checkbox" name="use_weekly_msg" onchange="switchUseWeeklyMsg()">
<span class="toggle"></span>
Avec message de la semaine
</label>
</div>
</div>
<div class="form-group">
<label class="m-0" for="type">Horaire</label>
<small class="text-muted d-block">Inclure un horaire avec l'activité ?</small>
<div class="togglebutton">
<label>
<input type="checkbox" id="use_schedule" name="use_schedule" checked onchange="switchUseSchedule()">
<span class="toggle"></span>
Avec horaire
</label>
</div>
</div>
<div id="accordion-apparence" role="tablist">
<div class="card card-collapse">
<div class="card-header" role="tab" id="heading-apparence">
<h5 class="mb-0">
<a data-toggle="collapse" href="#col-apparence" aria-expanded="false" aria-controls="col-apparence">
Apparence
<i class="material-icons">keyboard_arrow_down</i>
</a>
</h5>
</div>
<div id="col-apparence" class="collapse" role="tabpanel" aria-labelledby="headingOne" data-parent="#accordion-apparence">
<div class="card-body">
<div class="form-group iconpicker-container">
<label for="type">Icone</label>
<small class="text-muted d-block">Icone de l'activité</small>
<div class="input-group iconpicker-container">
<input id="calendar_icon" name="calendar_icon" data-placement="bottomRight" class="form-control icp icp-auto iconpicker-element iconpicker-input" value="fas fa-archive" type="text">
<span class="input-group-addon"><i id="calendar_icon_display" class="fas fa-assistive-listening-systems"></i></span>
</div>
</div>
<div class="form-group">
<label for="type">Couleur</label>
<small class="text-muted d-block">Couleur de l'activité</small>
<div class="input-group iconpicker-container">
<input class="form-control" type="text" name="calendar_color" id="calendar_color" value="#2196F3" onclick="pickr.show()">
<span class="color-picker"></span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
@endsection
@section('custom_scripts')
<script src="https://cdn.jsdelivr.net/npm/@simonwep/pickr/dist/pickr.min.js"></script>
<script src="/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.js"></script>
<script>
$('.icp-auto').iconpicker({ placement: 'left',animation: 'false'});
const pickr = Pickr.create({
el: '.color-picker',
theme: 'monolith', // or 'monolith', or 'nano'
swatches: [
'rgba(244, 67, 54, 1)',
'rgba(233, 30, 99, 1)',
'rgba(156, 39, 176, 1)',
'rgba(103, 58, 183, 1)',
'rgba(63, 81, 181, 1)',
'rgba(33, 150, 243, 1)',
'rgba(3, 169, 244, 1)',
'rgba(0, 188, 212, 1)',
'rgba(0, 150, 136, 1)',
'rgba(76, 175, 80, 1)',
'rgba(139, 195, 74, 1)',
'rgba(205, 220, 57, 1)',
'rgba(255, 235, 59, 1)',
'rgba(255, 193, 7, 1)'
],
comparison: false,
default: '#2196F3',
components: {
// Main components
preview: true,
opacity: false,
hue: true,
// Input / output Options
interaction: {
hex: true,
rgba: false,
hsla: false,
hsva: false,
cmyk: false,
input: true,
clear: false,
save: false
}
}
});
pickr.on('change', (color,instance) => {
$('#calendar_color').val(color.toHEXA().toString());
});
</script>
<script src="/js/calendar.js"></script>
<script src="/js/plugins/schedule/editor.js"></script>
<script src="/js/plugins/autocomplete.js"></script>
@@ -172,6 +256,7 @@
$(function () {
console.log('Document READY loading schedule editor');
loadEventType('{{$date}}');
})
</script>
@endsection
@endsection

View File

@@ -1,86 +0,0 @@
@extends('layouts.ecc.main')
@section('content')
<div class="row">
<div class="col-sm-12">
<div class="col-sm-6">
<div class="card">
<div class="content">
<table class="table" id="book">
<thead>
<tr>
<th>Quantité</th>
<th>Nom</th>
<th>Description</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach ($items as $item)
<tr>
<td>{{$item->quantity}}</td>
<td scope="row">{{$item->name}}</td>
<td>{{$item->desc}}</td>
<td style="width:12%"><form action="/ecc/inventory/remove/{{$schedule->id}}/{{$periode}}/{{$niveau}}" method="post">{{ csrf_field() }}<button type="submit" name="remove" class="btn btn-danger" value="{{$item->id}}:{{$item->quantity}}"><i class="fa fa-arrow-right"></i></button></form></td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="card">
<div class="content">
<table class="table" id="tobook">
<thead>
<tr>
<th></th>
<th>Nom</th>
<th>Description</th>
<th>Quantité</th>
</tr>
</thead>
<tbody>
@foreach ($dispo_item as $item)
<tr>
<td style="width:12%"><form action="/ecc/inventory/add/{{$schedule->id}}/{{$periode}}/{{$niveau}}" method="post">{{ csrf_field() }}<button type="submit" name="add" class="btn btn-success" value="{{$item->id}}"><i class="fa fa-arrow-left"></i></button></td>
<td scope="row">{{$item->name}}</td>
<td>{{$item->desc}}</td>
<td><input type="number" class="form-control" name="qt" id="qt" min="1" max="{{$item->quantity}}" value="{{$item->quantity}}"></form><td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('active_page')
<?php $active_page = "inventory" ?>
@endsection
@section('custom_scripts')
<script>
(function($) {
$(document).ready(function() {
$('#book').DataTable({
"order": [[ 0, "desc" ]],
"lengthMenu": [[25, 50, -1], [25, 50, "All"]],
});
});
})(jQuery);
(function($) {
$(document).ready(function() {
$('#tobook').DataTable({
"order": [[ 0, "desc" ]],
"lengthMenu": [[25, 50, -1], [25, 50, "All"]],
});
});
})(jQuery);
</script>
@endsection

View File

@@ -1,21 +0,0 @@
@extends('layouts.ecc.main')
@section('content')
<div class="row">
<div class="col-sm-12">
<div class="card">
<div class="content">
<div class="calendar"></div>
</div>
</div>
</div>
</div>
@endsection
@section('active_page')
<?php $active_page = "calendar" ?>
@endsection
@section('custom_scripts')
<script src="/assets/js/calendar/calendar_ecc.js"></script>
@endsection

View File

@@ -1,273 +0,0 @@
@extends('layouts.ecc.main')
@section('content')
<div class="row">
<div class="col-sm-12">
@if (count($schedules) == 0)
<div class="card">
<div class="content">
<div class="alert alert-danger">
<span>Aucune activité pour cette journée !</span>
</div>
<a href="/ecc/calendar" class="btn btn-link btn-block">Retour a l'horaire</a>
</div>
</div>
@endif
@foreach ($schedules as $schedule)
<div class="card">
<div class="content">
<div class="row">
<div class="col-sm-11 col-sx-8">
<h5>{{$schedule->data['event_name']}}</h5>
</div>
<div class="col-sm-1 col-sx-4">
<div class="float-right">
@if ($schedule->data['is_event_mandatory'] == "on")
<span class="label label-warning">Obligatoire</span>
@else
<span class="label label-primary">Non Obligatoire</span>
@endif
</div>
</div>
</div>
{{$schedule->data['event_begin_time']}} à {{$schedule->data['event_end_time']}}<br>{{$schedule->data['event_location']}}<p>{!!$schedule->data['event_desc']!!}</p>
@if ($schedule->type == "regular")
<div>
<div class="row">
<div class="col-sm-2">
Niveau
</div>
<div class="col-sm-5">
Période 1
</div>
<div class="col-sm-5">
Période 2
</div>
</div>
<div class="row">
<div class="col-sm-2">
1
</div>
<div class="col-sm-5">
<div class="content">
<div class="row">
<div class="col-sm-6">
{{\App\User::find($schedule->data['n1_p1_instructor'])->fullname()}}
</div>
<div class="col-sm-6">
@if ($schedule->data['n1_p1_instructor'] == \Auth::User()->id)
@if ($schedule->data['n1_p1_plandone'] == "on")
<span class="label label-success">Remis</span>
@else
<span class="label label-danger">Non remis</span>
@endif
@endif
</div>
</div>
<br>
<div class="row">
<div class="col-sm-6">
{{$schedule->data['n1_p1_ocom']}} - {{$schedule->data['n1_p1_name']}}
</div>
<div class="col-sm-6">
{{\App\Local::find($schedule->data['n1_p1_local'])->name}}
</div>
</div>
<div class="row">
@if ($schedule->data['n1_p1_instructor'] == \Auth::User()->id)
<div class="col-sm-12" style="margin-top:2rem"><a href="/ecc/inventory/{{$schedule->id}}/1/1" name="" id="" class="btn btn-primary btn-block" href="#" >Réserver du matériel</a></div>
@endif
</div>
</div>
</div>
<div class="col-sm-5">
<div class="content">
<div class="row">
<div class="col-sm-6">
{{\App\User::find($schedule->data['n1_p2_instructor'])->fullname()}}
</div>
<div class="col-sm-6">
@if ($schedule->data['n1_p2_instructor'] == \Auth::User()->id)
@if ($schedule->data['n1_p2_plandone'] == "on")
<span class="label label-success">Remis</span>
@else
<span class="label label-danger">Non remis</span>
@endif
@endif
</div>
</div>
<br>
<div class="row">
<div class="col-sm-6">
{{$schedule->data['n1_p2_ocom']}} - {{$schedule->data['n1_p2_name']}}
</div>
<div class="col-sm-6">
{{\App\Local::find($schedule->data['n1_p2_local'])->name}}
</div>
</div>
<div class="row">
@if ($schedule->data['n1_p2_instructor'] == \Auth::User()->id)
<div class="col-sm-12" style="margin-top:2rem"><a href="/ecc/inventory/{{$schedule->id}}/1/2" name="" id="" class="btn btn-primary btn-block" href="#" >Réserver du matériel</a></div>
@endif
</div>
</div>
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-2">
2
</div>
<div class="col-sm-5">
<div class="content">
<div class="row">
<div class="col-sm-6">
{{\App\User::find($schedule->data['n2_p1_instructor'])->fullname()}}
</div>
<div class="col-sm-6">
@if ($schedule->data['n2_p1_instructor'] == \Auth::User()->id)
@if ($schedule->data['n2_p1_plandone'] == "on")
<span class="label label-success">Remis</span>
@else
<span class="label label-danger">Non remis</span>
@endif
@endif
</div>
</div>
<br>
<div class="row">
<div class="col-sm-6">
{{$schedule->data['n2_p1_ocom']}} - {{$schedule->data['n2_p1_name']}}
</div>
<div class="col-sm-6">
{{\App\Local::find($schedule->data['n2_p1_local'])->name}}
</div>
</div>
<div class="row">
@if ($schedule->data['n2_p1_instructor'] == \Auth::User()->id)
<div class="col-sm-12" style="margin-top:2rem"><a href="/ecc/inventory/{{$schedule->id}}/2/1" name="" id="" class="btn btn-primary btn-block" href="#" >Réserver du matériel</a></div>
@endif
</div>
</div>
</div>
<div class="col-sm-5">
<div class="content">
<div class="row">
<div class="col-sm-6">
{{\App\User::find($schedule->data['n2_p2_instructor'])->fullname()}}
</div>
<div class="col-sm-6">
@if ($schedule->data['n2_p2_instructor'] == \Auth::User()->id)
@if ($schedule->data['n2_p2_plandone'] == "on")
<span class="label label-success">Remis</span>
@else
<span class="label label-danger">Non remis</span>
@endif
@endif
</div>
</div>
<br>
<div class="row">
<div class="col-sm-6">
{{$schedule->data['n2_p2_ocom']}} - {{$schedule->data['n2_p2_name']}}
</div>
<div class="col-sm-6">
{{\App\Local::find($schedule->data['n2_p2_local'])->name}}
</div>
</div>
<div class="row">
@if ($schedule->data['n2_p2_instructor'] == \Auth::User()->id)
<div class="col-sm-12" style="margin-top:2rem"><a href="/ecc/inventory/{{$schedule->id}}/2/2" name="" id="" class="btn btn-primary btn-block" href="#" >Réserver du matériel</a></div>
@endif
</div>
</div>
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-2">
3
</div>
<div class="col-sm-5">
<div class="content">
<div class="row">
<div class="col-sm-6">
{{\App\User::find($schedule->data['n3_p1_instructor'])->fullname()}}
</div>
<div class="col-sm-6">
@if ($schedule->data['n3_p1_instructor'] == \Auth::User()->id)
@if ($schedule->data['n3_p1_plandone'] == "on")
<span class="label label-success">Remis</span>
@else
<span class="label label-danger">Non remis</span>
@endif
@endif
</div>
</div>
<br>
<div class="row">
<div class="col-sm-6">
{{$schedule->data['n3_p1_ocom']}} - {{$schedule->data['n3_p1_name']}}
</div>
<div class="col-sm-6">
{{\App\Local::find($schedule->data['n3_p1_local'])->name}}
</div>
</div>
<div class="row">
@if ($schedule->data['n3_p1_instructor'] == \Auth::User()->id)
<div class="col-sm-12" style="margin-top:2rem"><a href="/ecc/inventory/{{$schedule->id}}/3/1" name="" id="" class="btn btn-primary btn-block" href="#" >Réserver du matériel</a></div>
@endif
</div>
</div>
</div>
<div class="col-sm-5">
<div class="content">
<div class="row">
<div class="col-sm-6">
{{\App\User::find($schedule->data['n3_p2_instructor'])->fullname()}}
</div>
<div class="col-sm-6">
@if ($schedule->data['n3_p2_instructor'] == \Auth::User()->id)
@if ($schedule->data['n3_p2_plandone'] == "on")
<span class="label label-success">Remis</span>
@else
<span class="label label-danger">Non remis</span>
@endif
@endif
</div>
</div>
<br>
<div class="row">
<div class="col-sm-6">
{{$schedule->data['n3_p2_ocom']}} - {{$schedule->data['n3_p2_name']}}
</div>
<div class="col-sm-6">
{{\App\Local::find($schedule->data['n3_p2_local'])->name}}
</div>
</div>
<div class="row">
@if ($schedule->data['n3_p2_instructor'] == \Auth::User()->id)
<div class="col-sm-12" style="margin-top:2rem"><a href="/ecc/inventory/{{$schedule->id}}/3/2" name="" id="" class="btn btn-primary btn-block" href="#" >Réserver du matériel</a></div>
@endif
</div>
</div>
</div>
</div>
</div>
@else
Autre
@endif
</div>
</div>
@endforeach
</div>
</div>
@endsection
@section('active_page')
<?php $active_page = "calendar" ?>
@endsection
@section('custom_scripts')
@endsection

View File

@@ -1,240 +0,0 @@
@extends('layouts.ecc.main')
@section('content')
<div class="row">
<div class="col-lg-6 col-sm-6">
<div class="card">
<div class="content">
<div class="row">
<div class="col-xs-2">
<div class="icon-big icon-warning text-center">
<i class="ti-book"></i>
</div>
</div>
<div class="col-xs-10">
<div class="numbers">
<p>Cours a venir</p>
{{count($AlluserClasse)}}
</div>
</div>
</div>
<hr>
<div class="row">
@if(count($AlluserClasse) == 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>
</div>
</div>
@endif
@foreach ($userClasse as $classe)
<div class="col-sm-12">
@if ($classe['plan_done'] == "on")
<div class="alert alert-success alert-with-icon">
<span data-notify="icon" class="ti-crown"></span>
<span data-notify="message">Le cours {{$classe['ocom']}} - {{$classe['name']}} du {{$classe['date']}} est remis.<br>
@if ($classe['material'] != "")
- Vous avez réservé
@foreach (\App\Item::explodeItems($classe['material']) as $item)
@if (\App\Item::explodeItems($classe['material'])->last() == $item && \App\Item::explodeItems($classe['material'])->first() != $item)
et
@endif
{{$item->name}}
@endforeach
@else
- Aucun matériel réservé
@endif
</span>
</div>
@else
<div class="alert alert-warning alert-with-icon">
<span data-notify="icon" class="ti-alert"></span>
<span data-notify="message">Le cours {{$classe['ocom']}} - {{$classe['name']}} du {{$classe['date']}} n'est pas remis.<br>
@if ($classe['material'] != "")
- Vous avez réservé
@foreach (\App\Item::explodeItems($classe['material']) as $item)
@if (\App\Item::explodeItems($classe['material'])->last() == $item && \App\Item::explodeItems($classe['material'])->first() != $item)
et
@endif
{{$item->name}}
@endforeach
@else
- Aucun matériel réservé
@endif
</span>
</div>
@endif
</div>
@endforeach
</div>
<div class="footer">
<hr />
<div class="stats">
<i class="ti-reload"></i> Updated now
</div>
</div>
</div>
</div>
<div class="card">
<div class="content">
<div class="row">
<div class="col-xs-2">
<div class="icon-big icon-info text-center">
<i class="ti-book"></i>
</div>
</div>
<div class="col-xs-10">
<div class="numbers">
<p>Guide pédagogique et plan de cours</p>
</div>
</div>
</div>
<div class="row">
<div class="text-center">
<div class="col-sm-6" style="padding:3rem;">
<p>Guide pédagogique et de qualification du niveau 1<br><br><div class="row"><div class="col-sm-12">
<a href="https://drive.google.com/uc?export=download&id=1tZhDqCvMor9p6lXxYek7Q0Xc8c2o5pG7" target="_blank" class="btn btn-block btn-info">Guide pédagogique</a></div></div></p>
</div>
<div class="col-sm-6" style="padding:3rem;">
<p>Guide pédagogique et de qualification du niveau 2<br><br><div class="row"><div class="col-sm-12">
<a href="https://drive.google.com/uc?export=download&id=1oLTavI1AQsXMdhZ4QqEkbecfV4j1LKDx" target="_blank" class="btn btn-block btn-success">Guide pédagogique</a></div></div></p>
</div>
<div class="col-sm-6" style="padding:3rem;">
<p>Guide pédagogique et de qualification du niveau 3<br><br><div class="row"><div class="col-sm-12">
<a href="https://drive.google.com/uc?export=download&id=1FrczHmiGCeONlHCuuxHNx-BZ-qEfEBK8" target="_blank" class="btn btn-block btn-warning">Guide pédagogique</a></div></div></p>
</div>
<div class="col-sm-6" style="padding:3rem;">
<p>Guide pédagogique et de qualification du niveau 4<br><br><div class="row"><div class="col-sm-12">
<a href="https://drive.google.com/uc?export=download&id=1EeibjlytdzEpRdzs-eg0pGL8TBv_ZCsu" target="_blank" class="btn btn-block btn-secondary">Guide pédagogique</a></div></div></p>
</div>
</div>
</div>
<hr>
<p class="text-center">Plan de cours vierge</p>
<a href="https://drive.google.com/uc?export=download&id=1i1a0sjI8I3nzt4mlcLvznjqYF-12JgfQ" target="_blank" class="btn btn-block btn-info">Télécharger</a>
</div>
</div>
</div>
<div class="col-lg-6 col-sm-12">
<div class="row">
<div class="col-md-6 col-sm-12">
<div class="card" style="height:320px;">
<div class="content">
<div class="row">
<div class="col-xs-12">
<div class="card-user" style="height:320px;">
<div class="container-fluid">
<div class="author">
<img class="avatar border-white" src="/assets/admin/images/avatar/user-{{\Auth::User()->avatar}}.jpg" alt="..." style="width:100px;height:100px;margin-top:90px;">
<h4 class="title">{{\Auth::User()->fullname()}}<br>
<small>{{\App\Rank::find(\Auth::User()->rank)->name}}</small>
</h4>
</div>
</div>
<hr>
<div class="text-center">
<div class="row">
<div class="col-xs-6">
<h5>{{\Auth::User()->age}}<br><small>Âge</small></h5>
</div>
<div class="col-xs-6">
<h5>{{strtoupper(\Auth::User()->sexe)}}<br><small>Sexe</small></h5>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="row">
<div class="col-sm-12">
<div class="card" style="height: 130px;">
<div class="content">
<div class="row">
<div class="col-xs-5">
<div class="icon-big icon-danger text-center">
<i class="ti-pulse"></i>
</div>
</div>
<div class="col-xs-7">
<div class="numbers">
<p>Activité sur le site</p>
{{\Auth::User()->countActivity()}}
</div>
</div>
</div>
<div class="footer">
<hr>
<div class="stats">
<i class="ti-timer"></i> Dans la dernière année
</div>
</div>
</div>
</div>
</div>
<div class="col-sm-12">
<div class="card" style="height: 170px;">
<div class="content">
<div class="row">
<div class="col-xs-5">
<div class="icon-big icon-success text-center">
<i class="ti-pulse"></i>
</div>
</div>
<div class="col-xs-7">
<div class="numbers">
<p>Nombre de cours à données</p>
{{\Auth::User()->countClasse()}}
</div>
</div>
</div>
<div class="footer">
<hr>
<div class="stats">
<i class="ti-timer"></i>Jusqu'a la fin de l'année
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
<div class="content">
<div class="row">
<div class="col-xs-2">
<div class="icon-big icon-info text-center">
<i class="ti-email"></i>
</div>
</div>
<div class="col-xs-10">
<div class="numbers">
<p>Messages</p>
</div>
</div>
</div>
<div class="row">
@foreach ($messages as $message)
<div class="col-md-6 col-sx-12 text-center" style="margin-top:15px;margin-bottom:10px;">
<p>{{$message->title}}<br><h5><small>par {{\App\User::find($message->user_id)->fullname()}}</small></h5></p>
<div style="height:250px;overflow:hidden;">{!! $message->body !!}</div>
<a href="/ecc/message/{{$message->id}}" class="btn btn-primary">Afficher plus</a>
</div>
@endforeach
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('active_page')
<?php $active_page = "dashboard" ?>
@endsection

View File

@@ -1,130 +0,0 @@
@extends('layouts.ecc.main')
@section('content')
<div class="row">
<div class="col-md-12 offset-md-4">
<div class="card">
<div class="content">
<div class="row">
<div class="col-xs-2">
<div class="icon-big icon-info text-center">
<i class="ti-list"></i>
</div>
</div>
<div class="col-xs-10">
<div class="numbers">
<p>Fichiers</p>
</div>
</div>
</div>
<div class="content table-responsive table-full-width">
<table class="table table-striped">
<thead>
<th style="width:85%;">Fichier</th>
<th></th>
</tr></thead>
<tbody>
<tr>
<td><strong>Ordre d'opération</strong><hr></td>
<td></td>
</tr>
<tr>
<td>Mini Ordre Operation Projet Soirée Journée Vierge</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=1sqkeUp-djZDjltitGvjR0efMQgyB_sos">Télécharger</a></td>
</tr>
<tr>
<td>Mini Ordre Operation Vierge</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=1RjSSwK9NIVUFbHKlu0hbkK5IeTnAFWq9">Télécharger</a></td>
</tr>
<tr>
<td><strong>Tenues</strong><hr></td>
<td></td>
</tr>
<tr>
<td>Liste des tenues</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=1JUXaPQhHGJffE7CTnB1BAkqwM8g9t8ef">Télécharger</a></td>
</tr>
<tr>
<td><strong>Énoncé de fonction</strong><hr></td>
<td></td>
</tr>
<tr>
<td>Cadet commandant</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=1DdI9eOptKarpApsUdO-6gkDFYtD6DHi8">Télécharger</a></td>
</tr>
<tr>
<td>Cadet commandant adjoint</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=1jDuKQzY3Dam0J9mSGDWiv2I1agDYacRm">Télécharger</a></td>
</tr>
<tr>
<td>Chef entrainement</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=12p8rGhSZloPFurD--RZO9KQVoRmXAEnE">Télécharger</a></td>
</tr>
<tr>
<td>Instructeur sénior</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=13fNufhR2hYhKgeiHUo0W_V-vF_W8SPkC">Télécharger</a></td>
</tr>
<tr>
<td>Instructeur</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=1Y1gEsNP7mz2SmJPwxi7YUfpxgioJKvR0">Télécharger</a></td>
</tr>
<tr>
<td>Assistant Instructeur</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=1BxKj0J20QZ5hVQ1womwS8GUWvuq-VsJy">Télécharger</a></td>
</tr>
<tr>
<td>Commandant de section</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=1jOmyNFZ2rSOwCFjcoABx6VFcvEMKCf73">Télécharger</a></td>
</tr>
<tr>
<td>Commandant de la garde</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=18T3rQQ-RN551meOGGPD8Ni2wbpvKNfYz">Télécharger</a></td>
</tr>
<tr>
<td>Commandant adjoint de section</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=1A5NkPhSJ5E-bIPiLRwa7VAOXQrrHIzn6">Télécharger</a></td>
</tr>
<tr>
<td>Commandant adjoint de garde</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=1ncphhTpBm9uhq0isGFNzDs_-TRPrxfKw">Télécharger</a></td>
</tr>
<tr>
<td>Cadet cadre de la logistique</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=1PcmlegtAqmdX2ufGQMubkNxfkrCcSIge">Télécharger</a></td>
</tr>
<tr>
<td>Cadet cadre de l'administration</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=1haEG9jSabp10VtI7EV2OyLctn9-63T8G">Télécharger</a></td>
</tr>
<tr>
<td>Commandant adjoint de section</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=1A5NkPhSJ5E-bIPiLRwa7VAOXQrrHIzn6">Télécharger</a></td>
</tr>
<tr>
<td><strong>Divers</strong><hr></td>
<td></td>
</tr>
<tr>
<td>Information NECPC</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=1KG0IoPxpqctqqVwCfM0WyKq4y6RDBtUJ">Télécharger</a></td>
</tr>
<tr>
<td>Évaluation pratique sur la coordination dun ordre dopération sur le terrain</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=1AAPB7IdpIw8UGJwIoTNQZ3cg9ODfWrAp">Télécharger</a></td>
</tr>
<tr>
<td>RENCONTRE PRÉILIMINAIRE DINSTRUCTION</td>
<td><a class="btn btn-primary" href="https://drive.google.com/uc?export=download&id=16lT4YzNjGWd2SFmgSbmj1LcPG9cDkkyo">Télécharger</a></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('active_page')
<?php $active_page = "files" ?>
@endsection

View File

@@ -1,55 +0,0 @@
@extends('layouts.ecc.main')
@section('content')
<div class="row">
<div class="col-md-12 offset-md-4">
<div class="card">
<div class="content">
<div class="row">
<div class="col-xs-2">
<div class="icon-big icon-info text-center">
<i class="ti-book"></i>
</div>
</div>
<div class="col-xs-10">
<div class="numbers">
<p>Guide pédagogique et plan de cours</p>
</div>
</div>
</div>
<div class="row">
<div class="text-center">
<div class="col-sm-6" style="padding:3rem;">
<p>Guide pédagogique et de qualification du niveau 1<br><br><div class="row"><div class="col-md-6 col-sm-12">
<a href="{{ \App\Config::getData('file_GP_Niv_1')}}" target="_blank" class="btn btn-block btn-info">Guide pédagogique</a></div><div class="col-md-6 col-sm-12">
<a href="{{ \App\Config::getData('file_GQ_Niv_2')}}" target="_blank" class="btn btn-block btn-info">Guide qualification</a></div></div></p>
</div>
<div class="col-sm-6" style="padding:3rem;">
<p>Guide pédagogique et de qualification du niveau 2<br><br><div class="row"><div class="col-md-6 col-sm-12">
<a href="{{ \App\Config::getData('file_GP_Niv_2')}}" target="_blank" class="btn btn-block btn-success">Guide pédagogique</a></div><div class="col-md-6 col-sm-12">
<a href="{{ \App\Config::getData('file_GQ_Niv_2')}}" target="_blank" class="btn btn-block btn-success">Guide qualification</a></div></div></p>
</div>
<div class="col-sm-6" style="padding:3rem;">
<p>Guide pédagogique et de qualification du niveau 3<br><br><div class="row"><div class="col-md-6 col-sm-12">
<a href="{{ \App\Config::getData('file_GP_Niv_3')}}" target="_blank" class="btn btn-block btn-warning">Guide pédagogique</a></div><div class="col-md-6 col-sm-12">
<a href="{{ \App\Config::getData('file_GQ_Niv_3')}}" target="_blank" class="btn btn-block btn-warning">Guide qualification</a></div></div></p>
</div>
<div class="col-sm-6" style="padding:3rem;">
<p>Guide pédagogique et de qualification du niveau 4<br><br><div class="row"><div class="col-md-6 col-sm-12">
<a href="{{ \App\Config::getData('file_GP_Niv_4')}}" target="_blank" class="btn btn-block btn-secondary">Guide pédagogique</a></div><div class="col-md-6 col-sm-12">
<a href="{{ \App\Config::getData('file_GQ_Niv_4')}}" target="_blank" class="btn btn-block btn-secondary">Guide qualification</a></div></div></p>
</div>
</div>
</div>
<hr>
<p class="text-center">Plan de cours vierge</p>
<a href="{{ \App\Config::getData('file_empty_lesson_plan')}}" target="_blank" class="btn btn-block btn-info">Télécharger</a>
</div>
</div>
</div>
</div>
@endsection
@section('active_page')
<?php $active_page = "guide" ?>
@endsection

View File

@@ -1,35 +0,0 @@
@extends('layouts.ecc.main')
@section('content')
<div class="row">
<div class="col-md-12 offset-md-4">
<div class="card">
<div class="content">
<div class="row">
<div class="col-xs-2">
<div class="icon-big icon-info text-center">
<i class="ti-list"></i>
</div>
</div>
<div class="col-xs-10">
<div class="numbers">
<p>Liste des cadets</p>
</div>
</div>
</div>
<div class="row">
<div class="text-center">
<div class="col-sm-6" style="padding:3rem;">
<p>Liste nominative des cadets<br><br><div class="row"><div class="col-md-6 col-sm-12"><a href="https://drive.google.com/open?id=1gEknIEu17Gkfp50ja8cJWvxWLJ2R0KEQ" target="_blank" class="btn btn-block btn-info">Télécharger</a></div></div></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('active_page')
<?php $active_page = "list" ?>
@endsection

View File

@@ -1,25 +0,0 @@
@extends('layouts.ecc.main')
@section('content')
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="content">
<div class="row">
<div class="col-xs-11">
<p>{{$message->title}}<br><h5><small>par {{\App\User::find($message->user_id)->fullname()}}</small></h5></p>
<div style="height:21.5rem;overflow:hidden;">{!! $message->body !!}</div><br>
</div>
</div>
<div class="row text-center">
<a class="btn btn-primary" href="/ecc/messages" role="button">Retour a la liste des messages</i></a>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('active_page')
<?php $active_page = "message" ?>
@endsection

View File

@@ -1,41 +0,0 @@
@extends('layouts.ecc.main')
@section('content')
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="content">
<div class="row">
<div class="col-xs-2">
<div class="icon-big icon-info text-center">
<i class="ti-email"></i>
</div>
</div>
<div class="col-xs-10">
<div class="numbers">
<p>Messages</p>
</div>
</div>
</div>
<div class="row">
@foreach ($messages as $message)
<div class="col-md-6 col-sx-12 text-center" style="margin-top:15px;margin-bottom:70px;">
<p>{{$message->title}}<br><h5><small>par {{\App\User::find($message->user_id)->fullname()}}</small></h5></p>
<div style="height:21.5rem;overflow:hidden;">{!! $message->body !!}</div><br>
<a href="/ecc/message/{{$message->id}}" class="btn btn-primary">Afficher plus</a>
</div>
@endforeach
</div>
<div class="row text-center">
<a class="btn btn-primary" href="/ecc/messages/{{$page-1}}" role="button"><i class="ti-arrow-left"></i></a>
<a class="btn btn-primary" href="/ecc/messages/{{$page+1}}" role="button"><i class="ti-arrow-right"></i></a>
</div>
</div>
</div>
</div>
</div>
@endsection
@section('active_page')
<?php $active_page = "message" ?>
@endsection

View File

@@ -1,50 +0,0 @@
@extends('layouts.ecc.main')
@section('content')
<div class="row">
<div class="col-md-12 offset-md-4">
<div class="card">
<div class="content">
<div class="row">
<div class="col-xs-2">
<div class="icon-big icon-info text-center">
<i class="fa fa-cogs"></i>
</div>
</div>
<div class="col-xs-10">
<div class="numbers">
<p>Options</p>
</div>
</div>
</div>
<div class="row" style="padding:25px;">
<h5>Mes options</h5>
<div class="row">
<div class="col-sm-6">
<div class="text-center">
<div class="list-group">
<a href="/ecc/settings/password" class="list-group-item list-group-item-action">Modifier mon mot de passe</a>
<a href="/ecc/settings/avatar" class="list-group-item list-group-item-action">Modifier ma photo de profil</a>
</div>
</div>
</div>
<div class="col-sm-6">
<div class="text-center">
<div class="list-group">
<a href="/ecc/settings/adress" class="list-group-item list-group-item-action">Modifier mon adresse</a>
<a href="/ecc/settings/phone" class="list-group-item list-group-item-action disabled">Modifier mon numéro de téléphone</a>
</div>
</div>
</div>
</div>
</div>
<hr>
</div>
</div>
</div>
</div>
@endsection
@section('active_page')
<?php $active_page = "guide" ?>
@endsection

View File

@@ -1,50 +0,0 @@
@extends('layouts.ecc.main')
@section('content')
<div class="row">
<div class="col-md-12 offset-md-4">
<div class="card">
<div class="content">
<div class="row">
<div class="col-xs-2">
<div class="icon-big icon-info text-center">
<i class="fa fa-cogs"></i>
</div>
</div>
<div class="col-xs-10">
<div class="numbers">
<p>Options</p>
</div>
</div>
</div>
<div class="row" style="padding:25px;">
<h5>Modifier mon adresse</h5>
@if (session('status'))
<div class="alert alert-success">
<button type="button" aria-hidden="true" class="close">×</button>
<span><b> {{session('status')}}</span>
</div>
@endif
<form autocomplete="off" action="/ecc/settings/edit/adress" method="POST">
@csrf
<div class="form-group">
<label for="adress">Entrer votre nouvelle adresse</label>
<input type="text" class="form-control" name="adress" id="adress" placeholder="17 ave Pico">
</div>
<button type="submit" id="submit" class="btn btn-primary">Enregistrer</button>
</form>
</div>
<hr>
</div>
</div>
</div>
</div>
@endsection
@section('active_page')
<?php $active_page = "guide" ?>
@endsection
@section('custom_scripts')
<script src="/assets/admin/assets/js/user.js"></script>
@endsection

View File

@@ -1,55 +0,0 @@
@extends('layouts.ecc.main')
@section('content')
<div class="row">
<div class="col-md-12 offset-md-4">
<div class="card">
<div class="content">
<div class="row">
<div class="col-xs-2">
<div class="icon-big icon-info text-center">
<i class="fa fa-cogs"></i>
</div>
</div>
<div class="col-xs-10">
<div class="numbers">
<p>Options</p>
</div>
</div>
</div>
<div class="row" style="padding:25px;">
<h5>Modifier mon mot de passe</h5>
@if (session('status'))
<div class="alert alert-success">
<button type="button" aria-hidden="true" class="close">×</button>
<span><b> {{session('status')}}</span>
</div>
@endif
Votre Avatar
<div class="mx-auto d-block">
<img class="rounded-circle mx-auto d-block" src="/assets/admin/images/avatar/user-{{\Auth::User()->avatar}}.jpg" alt="Card image cap" style="height:12rem">
</div>
<hr>
Cliquer sur un avatar pour mettre a jour votre avatar
<div class="row">
@for ($i = 1; $i < 16; $i++)
<div class="col-md-6 col-lg-4">
<a href="/ecc/settings/edit/avatar/{{$i}}"><img class="rounded-circle mx-auto d-block" src="/assets/admin/images/avatar/user-{{$i}}.jpg" alt="Card image cap" style="height:12rem"></a>
</div>
@endfor
</div>
</div>
<hr>
</div>
</div>
</div>
</div>
@endsection
@section('active_page')
<?php $active_page = "guide" ?>
@endsection
@section('custom_scripts')
<script src="/assets/admin/assets/js/user.js"></script>
@endsection

View File

@@ -1,57 +0,0 @@
@extends('layouts.ecc.main')
@section('content')
<div class="row">
<div class="col-md-12 offset-md-4">
<div class="card">
<div class="content">
<div class="row">
<div class="col-xs-2">
<div class="icon-big icon-info text-center">
<i class="fa fa-cogs"></i>
</div>
</div>
<div class="col-xs-10">
<div class="numbers">
<p>Options</p>
</div>
</div>
</div>
<div class="row" style="padding:25px;">
<h5>Modifier mon mot de passe</h5>
@if (session('status'))
<div class="alert alert-success">
<button type="button" aria-hidden="true" class="close">×</button>
<span><b> Votre mot de passe a été mis a jour !</span>
</div>
@endif
<form autocomplete="off" action="/ecc/settings/edit/password" method="POST">
@csrf
<div class="alert alert-warning" id="psw_alert" role="alert" style="display:none;">
Les mot de passe doivent être identique
</div>
<div class="form-group">
<label for="pws">Entrer votre nouveau mot de passe</label>
<input type="password" class="form-control" name="psw" id="psw" placeholder="Mot de passe" onkeyup="checkPassword()">
</div>
<div class="form-group">
<label for="pwsc">Confirmer votre nouveau mot de passe</label>
<input type="password" class="form-control" name="pswc" id="pswc" placeholder="Mot de passe" onkeyup="checkPassword()">
</div>
<button type="submit" id="submit" class="btn btn-primary" disabled>Enregistrer</button>
</form>
</div>
<hr>
</div>
</div>
</div>
</div>
@endsection
@section('active_page')
<?php $active_page = "guide" ?>
@endsection
@section('custom_scripts')
<script src="/assets/admin/assets/js/user.js"></script>
@endsection

View File

@@ -1,234 +0,0 @@
@extends('layouts.ecc.main')
@section('content')
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="container">
<h5><i class="fa fa-star" aria-hidden="true" style="color:gold"></i> Mise a jour 3.0.6</h5>
<p>
Front-End
<ul style="margin-left: 28px;list-style-type: none;">
<li><i class="fa fa-plus" aria-hidden="true" style="color: green;width:1.2rem;"></i> Ajout d'un bouton pour supprimer toute les notifications</li>
<li><i class="fa fa-exclamation" aria-hidden="true" style="color: orange;width:1.2rem;"></i> Modification de l'affichage des activités a venir</li>
<li><i class="fa fa-exclamation" aria-hidden="true" style="color: orange;width:1.2rem;"></i> Modification de l'affichage des cours a venir</li>
</ul>
</p>
<hr>
<p>
Back End & API
<ul style="margin-left: 28px;list-style-type: none;">
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Ajout des notifications par Email.</li>
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Ajout des notifications pas SMS</li>
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Ajout de la suppression massive de notifications</li>
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Multiples autres ajouts</li>
</ul>
</p>
<hr>
<p>
Correction de bug
<ul style="margin-left: 28px;list-style-type: none;">
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/26"> - Largeur colonne profil utilisateur - #26</a></li>
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/25"> - Bug dans la création d'horaire - Message automatique qui reste lors de changement d'act. - #25</a></li>
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/24"> - Email page d'accueil - #24</a></li>
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/32"> - Notification Lu - #32</a></li>
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/23"> - Message qui gosse dans l'horaire - #23</a></li>
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de multiple bug</li>
</ul>
</p>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
<div class="container">
<h5><i class="fa fa-star" aria-hidden="true" style="color:gold"></i> Mise a jour 3.0.5</h5>
<p>
Front-End
<ul style="margin-left: 28px;list-style-type: none;">
<li><i class="fa fa-plus" aria-hidden="true" style="color: green;width:1.2rem;"></i> Ajout d'un quantité d'item dans l'inventaire.</li>
<li><i class="fa fa-exclamation" aria-hidden="true" style="color: orange;width:1.2rem;"></i> Modification de l'interface de la gestion d'inventaire pour accomoder l'ajout de quantité.</li>
<li><i class="fa fa-plus" aria-hidden="true" style="color: green;width:1.2rem;"></i> Ajout d'un indicateur de status sur la page de connexion..</li>
<li><i class="fa fa-exclamation" aria-hidden="true" style="color: orange;width:1.2rem;"></i> Le rapport de bug est maintenant publique.</li>
<li><i class="fa fa-plus" aria-hidden="true" style="color: green;width:1.2rem;"></i> Ajout du dashboard administrateur.</li>
<li><i class="fa fa-plus" aria-hidden="true" style="color: green;width:1.2rem;"></i> Ajout d'option de configuration générale.'</li>
</ul>
</p>
<hr>
<p>
Back End & API
<ul style="margin-left: 28px;list-style-type: none;">
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Modification du model de réservation pour accomoder l'ajout de quantité.</li>
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Ajout d'une quantité d'item a l'inventaire.</li>
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Ajout d'un « Helper » pour connaitre le status des services.</li>
<li><i class="fa fa-plug" aria-hidden="true" style="color: #0174DF;width:1.2rem;"></i> Ajout d'une section « Alerte » dans le modele de page Admin.</li>
</ul>
</p>
<hr>
<p>
Correction de bug
<ul style="margin-left: 28px;list-style-type: none;">
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/22"> - Bug avec les heures quand il s'agit d'une activité "Autre" - #22</a></li>
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de <a href="https://gitlab.com/TheGamecraft/c-cms/issues/21"> - Bug ECC" - #21</a></li>
<li><i class="fa fa-bug" aria-hidden="true" style="color: green;width:1.2rem;"></i> Correction de multiple bug</li>
</ul>
</p>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
<div class="container">
<h5><i class="fa fa-star" aria-hidden="true" style="color:gold"></i> Mise a jour 3.0.4</h5>
<p>
Nouveauté
<ul>
<li>Création de l'espace cadet cadre</li>
<ul>
<li>Création du tableau de bord</li>
<li>Création de la section message</li>
<li>Création de la section plan de cours</li>
<li>Création de la section guide pédagogique</li>
<li>Création de la section horaire</li>
<li>Création de la section mise a jour</li>
</ul>
<li>Ajout de nouveau type d'icones</li>
</ul>
Back End & API
<ul>
<li>Ajout de CSS spécifique au calendrier</li>
<li>Ajout d'un controller pour l'ECC</li>
</ul>
Correction de bug
<ul>
<li>Correction de multiple bug</li>
</ul>
</p>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
<div class="container">
<h5><i class="fa fa-star" aria-hidden="true" style="color:gold"></i> Mise a jour 3.0.3</h5>
<p>
Nouveauté
<ul>
<li>Mise à jour de la section notification.</li>
<li>Ajout d'une option pour bloquer les notifications de l'horaire lors de ça construction initiale.</li>
</ul>
Back End & API
<ul>
<li>A Mise à jours du nom de l'adresse d'envois de Email</li>
<li>Mise à jours de l'adresse d'envois de Email</li>
<li>Ajout de la suppression de notification</li>
<li>Ajout de notification Email et Alert lors de l'ajout d'evenement a l'horaire</li>
</ul>
Correction de bug
<ul>
<li>Correction de multiple bug</li>
</ul>
</p>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
<div class="container">
<h5><i class="fa fa-star" aria-hidden="true" style="color:gold"></i> Mise a jour 3.0.2</h5>
<p>
Nouveauté
<ul>
<li>Amélioration générale de l'horaire</li>
<li>Ajout de la section message</li>
<li>Ajout de la section statistique</li>
<li>Ajout de la section utilisateur</li>
<li>Ajout de la section configuration</li>
<li>Ajout de modèle de poste</li>
<li>Ajout de modèle de grade</li>
<li>Ajout de notification par Email</li>
<li>Ajout de notification par SMS</li>
<li>Ajout de notification interne</li>
</ul>
Back End & API
<ul>
<li>Ajout d'une liste de locaux dynamique</li>
<li>Ajout d'une liste de poste dynamique</li>
<li>Ajout d'une liste de grade dynamique</li>
<li>Ajout d'une authentification par token pour les requetes API</li>
<li>Ajout d'un "Middleware" pour les staffs</li>
<li>Ajout d'un "Middleware" pour les admins</li>
<li>Ajout du plugin DataTable</li>
<li>Modification de la table de données des permissions de "Boolean" a "String"</li>
<li>Ajout de page d'erreur personnalisé</li>
</ul>
Correction de bug
<ul>
<li>Correction de multiple bug</li>
</ul>
</p>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
<div class="container">
<h5><i class="fa fa-star" aria-hidden="true" style="color:gold"></i> Mise a jour 3.0.1e</h5>
<p>
Nouveauté
<ul>
<li>Amélioration générale de l'horaire</li>
<li>Ajout du model d'activité</li>
<li>Ajout de la migration d'activité</li>
<li>Ajout du CSS du calendrier</li>
<li>Ajout d'un préloader</li>
<li>Ajout de photos sur la page publique</li>
</ul>
Correction de bug
<ul>
<li>Correction de multiple bug</li>
</ul>
</p>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
<div class="container">
<h5><i class="fa fa-star" aria-hidden="true" style="color:gold"></i> Mise a jour 3.0.1d</h5>
<p>
Nouveauté
<ul>
<li>Ajout du prototype de l'horaire</li>
</ul>
Correction de bug
<ul>
<li>Correction de multiple bug</li>
</ul>
</p>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card">
<div class="container">
<h5><i class="fa fa-star" aria-hidden="true" style="color:gold"></i> Mise a jour 3.0.1c</h5>
<p>
Nouveauté
<ul>
<li>Ajout du systeme de logs</li>
</ul>
Correction de bug
<ul>
<li>Correction de multiple bug</li>
</ul>
</p>
</div>
</div>
</div>
</div>
@endsection
@section('active_page')
<?php $active_page = "update" ?>
@endsection

View File

@@ -25,8 +25,10 @@
<link href='/assets/fullcalendar/core/main.css' rel='stylesheet' />
<link href='/assets/fullcalendar/daygrid/main.css' rel='stylesheet' />
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.18.0/ui/trumbowyg.css">
<link rel="stylesheet" href="/assets/jquery-ui-1.12.1/jquery-ui.theme.css">
<link rel="stylesheet" href="/css/contextLoader.min.css">
<link rel="stylesheet" href="/js/plugins/fontawesome-icon-picker/fontawesome-iconpicker.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@simonwep/pickr/dist/themes/monolith.min.css"/>
<!-- Custom CSS -->
<link rel="stylesheet" href="/css/custom.css">
<link rel="stylesheet" href="/css/custom.css">

View File

@@ -6,6 +6,7 @@
<script src="/js/core/bootstrap-material-design.min.js"></script>
<script src="/js/material-dashboard.js"></script>
<!-- Plugin for the momentJs -->
<script src="/js/plugins/moment.min.js"></script>
<!-- Plugin for Sweet Alert -->
@@ -25,8 +26,6 @@
<!-- Notifications Plugin -->
<script src="/js/plugins/bootstrap-notify.js"></script>
<script src="/assets/jquery-ui-1.12.1/jquery-ui.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.18.0/trumbowyg.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.18.0/langs/fr.js"></script>
<script src="/js/notify.js"></script>

View File

@@ -1,7 +0,0 @@
<footer class="footer">
<div class="container-fluid">
<div class="copyright pull-right">
&copy; <script>document.write(new Date().getFullYear())</script> - <a href="https://gitlab.com/TheGamecraft/c-cms/">C-CMS</a><br>Template made with <i class="fa fa-heart heart"></i> by <a href="http://www.creative-tim.com">Creative Tim</a><div>Icons by <a href="https://www.flaticon.com/authors/pixel-buddha" title="Pixel Buddha">Pixel Buddha</a> under license <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a></div>
</div>
</div>
</footer>

View File

@@ -1,28 +0,0 @@
<head>
<meta charset="utf-8" />
<link rel="icon" type="image/png" href="/assets/ecc/favicon.png">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<title>Espace Cadet Cadre</title>
<meta content='width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0' name='viewport' />
<meta name="viewport" content="width=device-width" />
<!-- Bootstrap core CSS -->
<link href="/assets/ecc/assets/css/bootstrap.min.css" rel="stylesheet" />
<!-- Animation library for notifications -->
<link href="/assets/ecc/assets/css/animate.min.css" rel="stylesheet"/>
<!-- Paper Dashboard core CSS -->
<link href="/assets/ecc/assets/css/paper-dashboard.css" rel="stylesheet"/>
<link href="/assets/css/calendar.css" rel="stylesheet"/>
<!-- Fonts and icons -->
<link href="http://maxcdn.bootstrapcdn.com/font-awesome/latest/css/font-awesome.min.css" rel="stylesheet">
<link href='https://fonts.googleapis.com/css?family=Muli:400,300' rel='stylesheet' type='text/css'>
<link href="/assets/ecc/assets/css/themify-icons.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/v/bs4/dt-1.10.18/datatables.min.css"/>
</head>

View File

@@ -1,49 +0,0 @@
<?php
$nbOfNotification = 0;
foreach (Auth::user()->unreadNotifications as $notification) {
$nbOfNotification = $nbOfNotification + 1;
}
?>
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar bar1"></span>
<span class="icon-bar bar2"></span>
<span class="icon-bar bar3"></span>
</button>
</div>
<div class="collapse navbar-collapse">
<ul class="nav navbar-nav navbar-right">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i><img src="/assets/icons/alarm.svg" style="height:20px;margin-top:-8px;"></i>
<p class="notification">{{$nbOfNotification}}</p>
<p>Notifications</p>
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="/ecc/notication/mark" class="btn btn-warning">Marquer toutes les notifications comme lue</a></li>
@foreach (Auth::user()->unreadNotifications as $notification)
<li style="width:250px"><form method="post" action="/ecc/notication/mark/{{$notification->id}}">{{csrf_field()}}<button style="border:none;margin:5px;background-color:white" name="url" type="submit" value="{{$notification->data['url']}}"><p>{{$notification->data['msg']}}</p></button></form></li>
@endforeach
</ul>
</li>
<li>
<a href="/ecc/settings">
<i><img src="/assets/icons/settings.svg" style="height:20px;margin-top:-8px;"></i>
<p>Options</p>
</a>
</li>
<li>
<a href="/logout">
<p>Déconnexion</p>
</a>
</li>
</ul>
</div>
</div>
</nav>

View File

@@ -1,33 +0,0 @@
<!doctype html>
<html lang="en">
@include('layouts.ecc.head')
<body>
<div class="wrapper">
@include('layouts.ecc.sidebar')
<div class="main-panel">
@include('layouts.ecc.header')
<div class="content">
<div class="container-fluid">
@yield('content')
</div>
</div>
@include('layouts.ecc.footer')
</div>
</div>
</body>
@include('layouts.ecc.scripts')
@yield('custom_scripts')
</html>

View File

@@ -1,27 +0,0 @@
<!-- Core JS Files -->
<script
src="https://code.jquery.com/jquery-3.3.1.js"
integrity="sha256-2Kok7MbOyxpgUVvAk/HJ2jigOSYS2auK4Pfzbm7uH60="
crossorigin="anonymous">
</script>
<script src="/assets/ecc/assets/js/bootstrap.min.js" type="text/javascript"></script>
<!-- Checkbox, Radio & Switch Plugins -->
<script src="/assets/ecc/assets/js/bootstrap-checkbox-radio.js"></script>
<!-- Charts Plugin -->
<script src="/assets/ecc/assets/js/chartist.min.js"></script>
<!-- Notifications Plugin -->
<script src="/assets/ecc/assets/js/bootstrap-notify.js"></script>
<!-- Google Maps Plugin -->
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js"></script>
<!-- Paper Dashboard Core javascript and methods for Demo purpose -->
<script src="/assets/ecc/assets/js/paper-dashboard.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/v/bs4/dt-1.10.18/datatables.min.js"></script>
<script>
var api_token = "<?php echo Auth::User()->api_token ?>";
</script>

View File

@@ -1,69 +0,0 @@
<div class="sidebar" data-background-color="black" data-active-color="warning">
<!--
Tip 1: you can change the color of the sidebar's background using: data-background-color="white | black"
Tip 2: you can change the color of the active button using the data-active-color="primary | info | success | warning | danger"
-->
<div class="sidebar-wrapper">
<div class="logo" style="padding:0px">
<a href="/ecc" class="simple-text">
<img src="/assets/ecc/assets/img/ECCLOGO.png" alt="LOGO" style="width:65%">
</a>
</div>
@yield('active_page')
<ul class="nav">
<li @if ($active_page == "dashboard") class="active" @endif>
<a href="/ecc">
<i><img src="/assets/icons/browser.svg" style="height:30px;margin-top:-10px;"></i>
<p>Dashboard</p>
</a>
</li>
<li @if ($active_page == "message") class="active" @endif>
<a href="/ecc/messages">
<i><img src="/assets/icons/news.svg" style="height:32px;margin-top:-11px;"></i>
<p>Messages</p>
</a>
</li>
<li @if ($active_page == "calendar") class="active" @endif>
<a href="/ecc/calendar">
<i><img src="/assets/icons/calendar.svg" style="height:32px;margin-top:-11px;"></i>
<p>Horaire</p>
</a>
</li>
<li @if ($active_page == "guide") class="active" @endif>
<a href="/ecc/guide">
<i><img src="/assets/icons/book.svg" style="height:32px;margin-top:-11px;"></i>
<p>Guide Pédagogique</p>
</a>
</li>
<li @if ($active_page == "list") class="active" @endif>
<a href="/ecc/list">
<i><img src="/assets/icons/id-card.svg" style="height:32px;margin-top:-11px;"></i>
<p>Liste des cadets</p>
</a>
</li>
<li @if ($active_page == "file") class="active" @endif>
<a href="/ecc/files">
<i><img src="/assets/icons/save.svg" style="height:32px;margin-top:-11px;"></i>
<p>Fichier</p>
</a>
</li>
<br>
<li @if ($active_page == "update") class="active" @endif>
<a href="/ecc/update">
<i><img src="/assets/icons/timer.svg" style="height:27px;margin-top:-11px;"></i>
<p style="font-size: 11px;">Mise à jour</p>
</a>
</li>
<li @if ($active_page == "file") class="active" @endif>
<a href="https://gitlab.com/TheGamecraft/c-cms/issues">
<i><img src="/assets/icons/hospital.svg" style="height:20px;margin-top:-11px;"></i>
<p style="font-size: 11px;">Signaler un bug</p>
</a>
</li>
</ul>
</div>
</div>

View File

@@ -6,7 +6,7 @@ use Illuminate\Foundation\Testing\DatabaseMigrations;
use Laravel\Dusk\Browser;
use Tests\DuskTestCase;
class LoginTest extends DuskTestCase
class xLoginTest extends DuskTestCase
{
public function testLogin()
{