113 Commits

Author SHA1 Message Date
Mathieu Lagace 7c95145459 Merge branch 'dev' into 'master'
Version 3.2.0

See merge request TheGamecraft/c-cms!44
2019-08-26 19:00:52 +00:00
Mathieu Lagace 52f2d242da Merge branch '3.2.0' into 'dev'
3.2.0

See merge request TheGamecraft/c-cms!43
2019-08-26 18:55:43 +00:00
Mathieu Lagace 615752d61a Version 3.2.0 2019-08-26 14:53:30 -04:00
Mathieu Lagace 54adf4ea22 Version 3.2.0 2019-08-26 14:51:17 -04:00
Mathieu Lagace a630de66e2 Merge branch '3.2.0' into 'dev'
Add picture

See merge request TheGamecraft/c-cms!42
2019-08-26 15:47:09 +00:00
Mathieu Lagace 2b9cd625d6 Add picture 2019-08-26 11:43:36 -04:00
Mathieu Lagace d2a884b0bb Merge branch '3.2.0' into 'dev'
Fix Public View & add General Config

See merge request TheGamecraft/c-cms!41
2019-08-26 14:19:30 +00:00
Mathieu Lagace 1cb85d50ca Fix Public View & add General Config 2019-08-26 10:17:11 -04:00
Mathieu Lagace 82b5ef34bf Merge branch 'dev' into 'master'
Dev

See merge request TheGamecraft/c-cms!40
2019-08-23 19:50:27 +00:00
Mathieu Lagace e595c1d7de Merge branch '3.2.0' into 'dev'
Patch for the demo

See merge request TheGamecraft/c-cms!39
2019-08-23 19:43:49 +00:00
Mathieu Lagace db63c4ea4d Patch for the demo 2019-08-23 15:41:43 -04:00
Mathieu Lagace 9a32aa1730 Merge branch '3.2.0' into 'dev'
Disable unfinish Feature

See merge request TheGamecraft/c-cms!38
2019-08-21 17:48:08 +00:00
Mathieu Lagace bfdfcb87cf Disable unfinish Feature 2019-08-21 13:45:41 -04:00
Mathieu Lagace 1b4eecb54d Merge branch '3.2.0' into 'dev'
Bug Fix

See merge request TheGamecraft/c-cms!37
2019-08-21 14:54:47 +00:00
Mathieu Lagace 44efcd8e32 Bug Fix 2019-08-21 10:52:16 -04:00
Mathieu Lagace abf3da8030 Merge branch '3.2.0' into 'dev'
3.2.0

See merge request TheGamecraft/c-cms!36
2019-08-21 14:33:20 +00:00
Mathieu Lagace 1d3f07b7b7 Calendar Edit 2019-08-21 10:30:52 -04:00
Mathieu Lagace 7869a96c81 Test Setup PhpStorm 2019-08-19 10:29:58 -04:00
Mathieu Lagace 3b2937d189 Merge branch '3.2.0' into 'dev'
Big Calendar/Schedule update

See merge request TheGamecraft/c-cms!35
2019-08-18 21:29:20 +00:00
Mathieu Lagace cf5f7effbf Big Calendar/Schedule update 2019-08-18 17:26:49 -04:00
Mathieu Lagace e453c0edcc Merge branch '3.2.0' into 'dev'
Perfect Scrollbar and Issue #79

See merge request TheGamecraft/c-cms!34
2019-08-17 22:48:01 +00:00
Mathieu Lagace 3546298a08 Perfect Scrollbar and Issue #79 2019-08-17 18:46:02 -04:00
Mathieu Lagace d277180e45 Merge branch '3.2.0' into 'dev'
3.2.0

See merge request TheGamecraft/c-cms!33
2019-08-17 22:04:28 +00:00
Mathieu Lagace a63eafb833 Add Calendar in Admin 2019-08-17 18:02:09 -04:00
Mathieu Lagace d4b3b1b47d New Model for Event,Booking and Course 2019-08-17 11:43:52 -04:00
Mathieu Lagace c4d382dbf0 Merge branch '3.2.0' into 'dev'
Edit CI/CD

See merge request TheGamecraft/c-cms!32
2019-08-16 00:25:30 +00:00
Mathieu Lagace b850b38b85 Edit CI/CD 2019-08-15 20:23:34 -04:00
Mathieu Lagace 7d1a208534 Merge branch '3.2.0' into 'dev'
Edit CI/CD

See merge request TheGamecraft/c-cms!31
2019-08-16 00:17:31 +00:00
Mathieu Lagace f1ee7cfeaf Edit CI/CD 2019-08-15 20:15:34 -04:00
Mathieu Lagace ea03d22558 Merge branch '3.2.0' into 'dev'
Edit CI/CD to add Dev

See merge request TheGamecraft/c-cms!30
2019-08-15 23:58:43 +00:00
Mathieu Lagace 45566d373f Edit CI/CD to add Dev 2019-08-15 19:56:40 -04:00
Mathieu Lagace e9fd3407a7 Merge branch '3.2.0' into 'dev'
3.2.0

See merge request TheGamecraft/c-cms!29
2019-08-15 23:50:37 +00:00
Mathieu Lagace 1419032b64 Edit Material Design Dashboard 2019-08-15 19:48:41 -04:00
Mathieu Lagace 9f85296cea Add Material Design for Public and Admin 2019-08-14 15:29:37 -04:00
Mathieu Lagace cb3fdc44e2 MIse a jour Ci/Cd 2019-08-04 19:26:54 -04:00
Mathieu Lagace d57c648d7f Mise a jour CI/CD 2019-08-04 19:19:33 -04:00
Mathieu Lagace c6110b47e8 Mise a jour CI/CD 2019-08-04 19:11:00 -04:00
Mathieu Lagace fd73dc388d Ajout 736 CI/CD 2019-08-04 19:10:08 -04:00
Mathieu Lagace 818a84c3df Mise a jour Envoy 2019-08-04 18:54:03 -04:00
Mathieu Lagace 7364c3494c Mise a jour Envoy 2019-08-04 18:47:46 -04:00
Mathieu Lagace 76c60d512f Edit CI/CD 2019-08-04 17:40:34 -04:00
Mathieu Lagace 54d57c7b13 Add Docker 2019-08-04 17:19:53 -04:00
Mathieu Lagace e679cacb7d Ajout de Envoy 2019-08-04 17:06:43 -04:00
Mathieu Lagace b28b7cdab5 Merge branch 'dev' into 'master'
Dev

See merge request TheGamecraft/c-cms!28
2019-08-04 21:01:52 +00:00
Mathieu Lagace eee82e3b81 Release 3.1.0 2019-08-04 16:38:03 -04:00
Mathieu Lagace 97a7be702e Ajout des news & pictures & complementary activity 2019-08-04 14:26:14 -04:00
Mathieu Lagace 47128ea6fc test working tree 2019-08-04 10:07:32 -04:00
Dev Distant fdc2772ee2 workflow change 2019-08-04 09:56:40 -04:00
Mathieu Lagace c4f96fbfc4 Update .gitlab-ci.yml 2019-04-05 12:05:11 +00:00
Mathieu Lagace 75a4a0a080 Merge branch 'dev' into 'master'
v3.0.7a

See merge request TheGamecraft/c-cms!27
2019-04-05 12:00:22 +00:00
TheGamecraft f262392672 v3.0.7a 2019-01-31 11:47:01 -05:00
Mathieu Lagace 1679252930 Merge branch 'dev' into 'master'
3.0.7

See merge request TheGamecraft/c-cms!26
2018-12-03 22:22:50 +00:00
TheGamecraft 9dc4d1103f 3.0.7 2018-12-03 17:21:50 -05:00
Mathieu Lagace 07e409a922 Merge branch 'dev' into 'master'
3.0.6i

See merge request TheGamecraft/c-cms!25
2018-12-03 15:52:20 +00:00
TheGamecraft 0fddd138bf 3.0.6i 2018-12-03 10:51:24 -05:00
Mathieu Lagace 8bb9655c9f Merge branch 'dev' into 'master'
ALPHA 3.0.6h

See merge request TheGamecraft/c-cms!24
2018-11-27 22:18:38 +00:00
TheGamecraft f98cd85872 ALPHA 3.0.6h 2018-11-27 17:17:52 -05:00
Mathieu Lagace f6944d7b70 Merge branch 'dev' into 'master'
ALPHA 3.0.6g

See merge request TheGamecraft/c-cms!23
2018-11-14 16:37:54 +00:00
TheGamecraft fc9d14e735 ALPHA 3.0.6g 2018-11-14 11:37:04 -05:00
Mathieu Lagace fcf96df5e8 Merge branch 'dev' into 'master'
ALPHA 3.0.6f

See merge request TheGamecraft/c-cms!22
2018-11-13 18:40:47 +00:00
TheGamecraft 1ee9848312 ALPHA 3.0.6f 2018-11-13 13:40:15 -05:00
Mathieu Lagace 333679c510 Merge branch 'dev' into 'master'
Dev

See merge request TheGamecraft/c-cms!21
2018-11-13 18:27:23 +00:00
TheGamecraft f65a38ca26 Merge branch 'dev' of gitlab.com:TheGamecraft/c-cms into dev
Mise a juors
2018-11-13 13:24:25 -05:00
TheGamecraft 84e17938a7 ALPHA 3.0.6e 2018-11-13 13:23:59 -05:00
TheGamecraft 0690d36eb2 ALPHA 3.0.6d 2018-11-13 13:18:46 -05:00
Mathieu Lagace e0f3a26bc2 Merge branch 'dev' into 'master'
Dev

See merge request TheGamecraft/c-cms!19
2018-11-13 17:16:44 +00:00
Mathieu Lagace 96ec0fdb03 Delete .env.testing 2018-11-13 17:15:33 +00:00
TheGamecraft 01f8cf75b8 3.0.6c 2018-11-13 12:14:14 -05:00
Mathieu Lagace 72d51850c2 Merge branch 'dev' into 'master'
ALPHA 3.0.6b

See merge request TheGamecraft/c-cms!18
2018-11-12 16:11:55 +00:00
TheGamecraft e76a6e9f40 ALPHA 3.0.6b 2018-11-12 11:10:47 -05:00
Mathieu Lagace c58cf9ee8d Merge branch 'dev' into 'master'
Dev

See merge request TheGamecraft/c-cms!17
2018-11-08 17:20:02 +00:00
TheGamecraft 2b6bd17b8d ALPHA 3.0.6 2018-11-08 12:16:01 -05:00
TheGamecraft 87264660bc ALPHA 3.0.5e 2018-10-10 17:52:21 -04:00
Mathieu Lagace 932de1b154 Update readme.md 2018-09-26 21:20:42 +00:00
Mathieu Lagace 6353208b20 Merge branch 'dev' into 'master'
ALPHA 3.0.5d

See merge request TheGamecraft/c-cms!15
2018-09-26 14:48:49 +00:00
TheGamecraft d3dbd21da5 ALPHA 3.0.5d 2018-09-26 10:46:57 -04:00
Mathieu Lagace c5f9890ace Merge branch 'dev' into 'master'
ALPHA 3.0.5c

See merge request TheGamecraft/c-cms!14
2018-09-24 18:44:43 +00:00
TheGamecraft e554f011b4 ALPHA 3.0.5c 2018-09-24 14:43:32 -04:00
Mathieu Lagace 7b2d16642c Merge branch 'dev' into 'master'
ALPHA 3.0.5b

See merge request TheGamecraft/c-cms!13
2018-09-24 18:39:02 +00:00
TheGamecraft 64f5d54d3d ALPHA 3.0.5b 2018-09-24 14:37:47 -04:00
Mathieu Lagace 016e65b495 Merge branch 'dev' into 'master'
Dev

See merge request TheGamecraft/c-cms!12
2018-09-24 18:23:45 +00:00
TheGamecraft 23e4abc5c4 Merge branch 'dev' of gitlab.com:TheGamecraft/c-cms into dev
Voila
2018-09-24 14:21:00 -04:00
TheGamecraft ac829d58b9 ALPHA 3.0.5a 2018-09-24 14:19:28 -04:00
Mathieu Lagace c162184035 Update .gitlab-ci.yml 2018-09-24 18:14:24 +00:00
Mathieu Lagace 1a321d1021 Update .gitlab-ci.yml 2018-09-24 17:42:11 +00:00
Mathieu Lagace 0d8117c96d Update .gitlab-ci.yml 2018-09-24 17:37:46 +00:00
Mathieu Lagace 535048b687 Update .gitlab-ci.yml 2018-09-24 17:36:19 +00:00
Mathieu Lagace fc6255363e Merge branch 'dev' into 'master'
Dev

See merge request TheGamecraft/c-cms!11
2018-09-24 16:10:22 +00:00
Mathieu Lagace 7732bbe85e Merge branch 'TheGamecraft-dev-patch-96226' into 'dev'
The gamecraft dev patch 96226

See merge request TheGamecraft/c-cms!10
2018-09-24 16:09:07 +00:00
Mathieu Lagace 027e6e6b28 Update resources/views/public.blade.php
Deleted resources/views/default.blade.php
2018-09-24 16:08:08 +00:00
Mathieu Lagace ffe8032cc8 Deleted resources/views/public.blade.php 2018-09-24 16:07:49 +00:00
Mathieu Lagace 2ffa5d1ba3 Update .gitlab-ci.yml 2018-09-24 16:07:19 +00:00
Mathieu Lagace 839340acc2 Merge branch 'master' into 'dev'
Master

See merge request TheGamecraft/c-cms!9
2018-09-24 16:05:12 +00:00
Mathieu Lagace b44a8b94fb Update .gitlab-ci.yml 2018-09-24 15:34:43 +00:00
Mathieu Lagace 70bb173eb0 Update .gitlab-ci.yml 2018-09-24 15:22:38 +00:00
Mathieu Lagace 712246e6cb Update .gitlab-ci.yml 2018-09-24 15:19:14 +00:00
Mathieu Lagace c036745988 Update .gitlab-ci.yml 2018-09-24 15:15:21 +00:00
Mathieu Lagace d5151920d8 Update .gitlab-ci.yml 2018-09-24 15:08:32 +00:00
Mathieu Lagace bcc293a5d4 Update .gitlab-ci.yml 2018-09-24 15:05:19 +00:00
Mathieu Lagace 5922024c70 Update .gitlab-ci.yml 2018-09-24 15:03:54 +00:00
Mathieu Lagace f600c5cbb4 Update .gitlab-ci.yml 2018-09-24 15:00:05 +00:00
Mathieu Lagace 871877ca37 Update .gitlab-ci.yml 2018-09-24 14:54:13 +00:00
Mathieu Lagace 5597ded1ea Update .gitlab-ci.yml 2018-09-24 14:46:40 +00:00
Mathieu Lagace 34a4ebb2a8 Update .gitlab-ci.yml 2018-09-24 14:35:01 +00:00
Mathieu Lagace 1d13c8c8a9 Update .gitlab-ci.yml 2018-09-24 14:13:01 +00:00
Mathieu Lagace e3aa153cf8 Update .gitlab-ci.yml 2018-09-24 13:45:37 +00:00
Mathieu Lagace afa7e47ef3 Update .gitlab-ci.yml 2018-09-24 13:20:32 +00:00
Mathieu Lagace 033a2d65d8 Update .gitlab-ci.yml 2018-09-24 13:18:07 +00:00
Mathieu Lagace 863a701e08 Add .gitlab-ci.yml 2018-09-24 13:12:47 +00:00
Mathieu Lagace d5c6a534b5 Update CHANGELOG 2018-09-21 18:34:01 +00:00
Mathieu Lagace 0ddf99318d Merge branch 'dev' into 'master'
ALPHA 3.0.5

See merge request TheGamecraft/c-cms!8
2018-09-21 18:33:03 +00:00
TheGamecraft 3b593297cd ALPHA 3.0.5 2018-09-21 14:31:00 -04:00
Mathieu Lagace d41147346c Update CHANGELOG 2018-09-20 15:21:08 +00:00
7372 changed files with 467443 additions and 715230 deletions
+11 -10
View File
@@ -1,20 +1,20 @@
APP_NAME=C-CMS
APP_ENV=local
APP_KEY=base64:FQH+yWnhFyB+2gpByIg2Rybmqn5EXkL7VeFawzSJ/Lc=
APP_DEBUG=true
APP_URL=https://dev.c-cms.cf/
APP_KEY=
APP_DEBUG=false
APP_URL=https://dev.c-cms.cf/ # Adresse de votre site web
SQN_NUMBER=000
SQN_FULLNAME="Escadron 000 Exemple"
SQN_NUMBER=000 # Numéro de votre escadron
SQN_FULLNAME="Escadron 000 Exemple" # Nom complet de votre escadron
LOG_CHANNEL=stack
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=ddb_dev
DB_USERNAME=root
DB_PASSWORD=nHpz39lp
DB_DATABASE=ddb # Nom de la base de donnée
DB_USERNAME=user # Nom d'utilisateur pour ce connecter a la base de donnée
DB_PASSWORD=password # Mot de passe de la base de donnée
BROADCAST_DRIVER=log
CACHE_DRIVER=file
@@ -33,8 +33,8 @@ MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
NEXMO_KEY=f52074e0
NEXMO_SECRET=lXK9GasDUdotWqL3
NEXMO_KEY=4587feffd # Votre Clé Nexmo API
NEXMO_SECRET=54dasf4e8fa4s4fd4f5s # Votre Mot de passe Nexmo API
PUSHER_APP_ID=
PUSHER_APP_KEY=
@@ -43,3 +43,4 @@ PUSHER_APP_CLUSTER=mt1
MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
+11 -10
View File
@@ -1,15 +1,16 @@
/node_modules
/public/hot
/public/storage
/storage/*.key
/vendor
/.idea
/.vscode
/.vagrant
node_modules
public/hot
public/storage
storage/*.key
vendor
.idea
.vscode
.vagrant
Homestead.json
Homestead.yaml
npm-debug.log
yarn-error.log
.env
/public/assets/public
/resources/views/public.blade.php
.env.testing
public/theme
resources/views/public.blade.php
+70
View File
@@ -0,0 +1,70 @@
image: registry.gitlab.com/thegamecraft/c-cms:latest
services:
- mysql:5.7
variables:
MYSQL_DATABASE: homestead
MYSQL_ROOT_PASSWORD: secret
DB_HOST: mysql
DB_USERNAME: root
stages:
- build
- deploy
- deploy
build:
stage: build
script:
- cp .env.example .env
- composer install
- php artisan key:generate
deploy_697:
stage: deploy
script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- ~/.composer/vendor/bin/envoy run deploy_697 --commit="$CI_COMMIT_SHA"
environment:
name: escadron697
url: http://escadron697.ca
only:
- master
deploy_736:
stage: deploy
script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- ~/.composer/vendor/bin/envoy run deploy_736 --commit="$CI_COMMIT_SHA"
environment:
name: escadron736
url: http://736.exvps.ca
only:
- master
deploy_dev:
stage: deploy
script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- eval $(ssh-agent -s)
- ssh-add <(echo "$SSH_PRIVATE_KEY")
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
- ~/.composer/vendor/bin/envoy run deploy_dev --commit="$CI_COMMIT_SHA"
environment:
name: dev
url: http://dev.exvps.ca
only:
- dev
+58
View File
@@ -1,3 +1,61 @@
/** Version 3.2.0 **/
Nouveauté
Modernisation de l'affichage de l'horaire avec fullcalendar
Modernisation de la structure de la base de donnée de l'horaire
Modernisation de l'interface avec Material UI / Dashboard
Ajout d'une bibliothèque d'image
Ajout de nouvelle configuration
Le nombre de période dans l'horaire est maintenant dynamique
Le nombre de niveau dans l'horaire est maintenant dynamique
Les activitées sont maintenant dynamique
L'horaire est maintenant disponible sur le site publique
Les photos du calendrier sont disponible au publique depuis la page d'accueil
Bug
Correction de 22 bugs
/** ALPHA 3.0.5 **/
Front-End
Ajout d'un quantité d'item dans l'inventaire.
Modification de l'interface de la gestion d'inventaire pour accomoder l'ajout de quantité.
Ajout d'un indicateur de status sur la page de connexion..
Le rapport de bug est maintenant publique.
Ajout du dashboard administrateur.
Ajout d'option de configuration générale.'
Back End & API
Modification du model de réservation pour accomoder l'ajout de quantité.
Ajout d'une quantité d'item a l'inventaire.
Ajout d'un « Helper » pour connaitre le status des services.
Ajout d'une section « Alerte » dans le modele de page Admin.
Correction de bug
Correction de - Bug avec les heures quand il s'agit d'une activité "Autre" - #22
Correction de - Bug ECC" - #21
Correction de multiple bug
/** ALPHA 3.0.4 **/
Nouveauté
Création de l'espace cadet cadre.
Ajout de nouveau type d'icones.
Back End & API
Ajout de CSS spécifique au calendrier
Ajout d'un controller pour l'ECC
Correction de bug
Correction de multiple bug
/** ALPHA 3.0.3 **/
Nouveauté
+23
View File
@@ -0,0 +1,23 @@
# Set the base image for subsequent instructions
FROM php:7.2
# Update packages
RUN apt-get update
# Install PHP and composer dependencies
RUN apt-get install -qq git curl libmcrypt-dev libjpeg-dev libpng-dev libfreetype6-dev libbz2-dev autoconf libc-dev pkg-config
# Clear out the local repository of retrieved package files
RUN apt-get clean
# Install needed extensions
# Here you can install any other extension that you need during the test and deployment process
RUN docker-php-ext-install pdo_mysql zip
RUN pecl install mcrypt-1.0.1
# Install Composer
RUN curl --silent --show-error https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
# Install Laravel Envoy
RUN composer global require "laravel/envoy"
+141
View File
@@ -0,0 +1,141 @@
@servers(['web' => 'deployer@vps188754.vps.ovh.ca'])
@setup
$repository = 'git@gitlab.com:TheGamecraft/c-cms.git';
$release = date('YmdHis');
$releases_dir_697 = '/var/www/c-cms/escadron697/releases';
$app_dir_697 = '/var/www/c-cms/escadron697';
$new_release_dir_697 = $releases_dir_697 .'/'. $release;
$releases_dir_736 = '/var/www/c-cms/escadron736/releases';
$app_dir_736 = '/var/www/c-cms/escadron736';
$new_release_dir_736 = $releases_dir_736 .'/'. $release;
$releases_dir_dev = '/var/www/c-cms/dev/releases';
$app_dir_dev = '/var/www/c-cms/dev';
$new_release_dir_dev = $releases_dir_dev .'/'. $release;
@endsetup
@story('deploy_697')
clone_repository_697
run_composer_697
update_symlinks_697
@endstory
@story('deploy_736')
clone_repository_736
run_composer_736
update_symlinks_736
@endstory
@story('deploy_dev')
clone_repository_dev
run_composer_dev
update_symlinks_dev
@endstory
@task('clone_repository_697')
echo 'Cloning repository'
[ -d {{ $releases_dir_697 }} ] || mkdir {{ $releases_dir_697 }}
git clone --depth 1 {{ $repository }} {{ $new_release_dir_697 }}
cd {{ $new_release_dir_697 }}
git reset --hard {{ $commit }}
@endtask
@task('run_composer_697')
echo "Starting deployment ({{ $release }})"
cd {{ $new_release_dir_697 }}
composer install --prefer-dist --no-scripts -q -o
@endtask
@task('update_symlinks_697')
echo "Linking storage directory"
rm -rf {{ $new_release_dir_697 }}/storage
ln -nfs {{ $app_dir_697 }}/storage {{ $new_release_dir_697 }}/storage
echo 'Linking .env file'
ln -nfs {{ $app_dir_697 }}/.env {{ $new_release_dir_697 }}/.env
echo 'Linking current release'
ln -nfs {{ $new_release_dir_697 }} {{ $app_dir_697 }}/current
echo 'Setting permission'
chmod -R 777 {{ $app_dir_697 }}/current/bootstrap/
echo 'Migrate DB'
cd {{ $app_dir_697 }}/current/
php artisan migrate
php artisan db:seed --class=ConfigsTableSeeder
@endtask
@task('clone_repository_736')
echo 'Cloning repository'
[ -d {{ $releases_dir_736 }} ] || mkdir {{ $releases_dir_736 }}
git clone --depth 1 {{ $repository }} {{ $new_release_dir_736 }}
cd {{ $new_release_dir_736 }}
git reset --hard {{ $commit }}
@endtask
@task('run_composer_736')
echo "Starting deployment ({{ $release }})"
cd {{ $new_release_dir_736 }}
composer install --prefer-dist --no-scripts -q -o
@endtask
@task('update_symlinks_736')
echo "Linking storage directory"
rm -rf {{ $new_release_dir_736 }}/storage
ln -nfs {{ $app_dir_736 }}/storage {{ $new_release_dir_736 }}/storage
echo 'Linking .env file'
ln -nfs {{ $app_dir_736 }}/.env {{ $new_release_dir_736 }}/.env
echo 'Linking current release'
ln -nfs {{ $new_release_dir_736 }} {{ $app_dir_736 }}/current
echo 'Setting permission'
chmod -R 777 {{ $app_dir_736 }}/current/bootstrap/
echo 'Migrate DB'
cd {{ $app_dir_736 }}/current/
php artisan migrate
php artisan db:seed --class=ConfigsTableSeeder
@endtask
@task('clone_repository_dev')
echo 'Cloning repository'
[ -d {{ $releases_dir_dev }} ] || mkdir {{ $releases_dir_dev }}
git clone --depth 1 --single-branch -b dev {{ $repository }} {{ $new_release_dir_dev }}
cd {{ $new_release_dir_dev }}
git reset --hard {{ $commit }}
@endtask
@task('run_composer_dev')
echo "Starting deployment ({{ $release }})"
cd {{ $new_release_dir_dev }}
composer install --prefer-dist --no-scripts -q -o
@endtask
@task('update_symlinks_dev')
echo "Linking storage directory"
rm -rf {{ $new_release_dir_dev }}/storage
ln -nfs {{ $app_dir_dev }}/storage {{ $new_release_dir_dev }}/storage
echo 'Linking .env file'
ln -nfs {{ $app_dir_dev }}/.env {{ $new_release_dir_dev }}/.env
echo 'Linking current release'
ln -nfs {{ $new_release_dir_dev }} {{ $app_dir_dev }}/current
echo 'Setting permission'
chmod -R 777 {{ $app_dir_dev }}/current/bootstrap/
echo 'Migrate DB'
cd {{ $app_dir_dev }}/current/
php artisan migrate
php artisan db:seed --class=ConfigsTableSeeder
@endtask
+1 -1
View File
@@ -1,6 +1,6 @@
MIT License
Copyright (c) 2018 Mathieu Lagace
Copyright (c) 2019 Mathieu Lagace
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+16754
View File
File diff suppressed because it is too large Load Diff
+23
View 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');
}
}
+13
View File
@@ -0,0 +1,13 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class ComplementaryActivity extends Model
{
public function pictures()
{
return $this->morphMany('App\Picture', 'pictureable');
}
}
+13 -1
View File
@@ -6,5 +6,17 @@ use Illuminate\Database\Eloquent\Model;
class Config extends Model
{
//
protected $casts = [
'data' => 'array',
];
public function data()
{
return $this->data[0];
}
public static function getData($configName)
{
return Config::where('name',$configName)->first()->data();
}
}
+23
View 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');
}
}
+38
View File
@@ -0,0 +1,38 @@
<?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');
}
public function course($p,$l)
{
$courses = $this->courses;
foreach ($courses as $c)
{
if ($c->periode == $p && $c->level == $l)
{
return $c;
}
}
return false;
}
}
+17 -1
View File
@@ -26,7 +26,23 @@ class AdminController extends Controller
{
Log::saveLog('Affichage du tableau de bord');
return view('admin.dashboard');
$futureEvent_to_filtered = \App\Event::all()->sortBy('date_begin');
$futureEvent_to_filtered_pass_1 = collect();
$futureEvent = collect();
foreach ($futureEvent_to_filtered as $day) {
if (date('U',strtotime($day->date_begin)) >= date('U')) {
$futureEvent_to_filtered_pass_1->push($day);
}
}
foreach ($futureEvent_to_filtered_pass_1 as $day) {
if (date('U',strtotime($day->date_begin)) <= date('U',strtotime("+2 week"))) {
$futureEvent->push($day);
}
}
return view('admin.dashboard',['futureEvent' => $futureEvent->take(3),'userClasse' => \Auth::User()->getClasse()->forPage(1,6)]);
}
public function update()
@@ -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)
{
//
}
}
+228 -11
View File
@@ -34,6 +34,8 @@ class CalendarController extends Controller
{
Log::saveLog("Affichage de l'horaire");
$this->listClass();
return view('admin.calendar.calendar_display');
}
@@ -95,11 +97,10 @@ class CalendarController extends Controller
if ($activityToday->isEmpty()) {
echo '<a class="calendar-container calendar-empty" name="'.$today.'" type="button" data-toggle="modal" data-target="#scrollmodal" id="calendar_'.$calendar[(($i*7) + $a)].'" class="btn btn-block btn-calendar" onclick="openCalendar(this.name)"><div class="calendar-date">'.date("j", strtotime($today)).'</div></a>';
} else {
echo '<a class="calendar-container" name="'.$today.'" type="button" data-toggle="modal" data-target="#scrollmodal" id="calendar_'.$calendar[(($i*7) + $a)].'" class="btn btn-block btn-calendar" onclick="openCalendar(this.name)">';
echo '<a class="calendar-container" name="'.$today.'" type="button" data-toggle="modal" data-target="#scrollmodal" id="calendar_'.$calendar[(($i*7) + $a)].'" class="btn btn-block btn-calendar" onclick="openCalendar(this.name)"><div class="calendar-date">'.date("j", strtotime($today)).'</div>';
$text = "";
foreach ($activityToday as $activity) {
echo '<div class="calendar-date">'.date("j", strtotime($today)).'</div>
<div class="calendar-text" style="width:90%;">';
echo '<div class="calendar-text" style="width:90%;height:3rem;">';
switch ($activity->type) {
case 'regular':
echo '<div class="row" style="color:orange;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-book fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
@@ -133,8 +134,12 @@ class CalendarController extends Controller
echo '<div class="row" style="color:#DF0174;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-handshake-o fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
case 'other':
echo '<div class="row" style="color:#DF0174;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i><i class="fa fa-handshake-o fa-stack-1x fa-inverse"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
default:
echo '<div class="row" style="color:#0B615E;"><span class="fa-stack fa-lg col-md-2"><i class="fa fa-circle fa-stack-2x"></i></span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
echo '<div class="row" style="color:'.\App\ComplementaryActivity::find($activity->type)->calendar_color.';"><span class="fa-stack fa-lg col-md-2">'.\App\ComplementaryActivity::find($activity->type)->calendar_icon.'</span><div class="col-md-10 calendar_event_name">'.ucfirst($activity->data['event_name'])."</div></div>";
break;
}
echo '</div>';
@@ -191,9 +196,6 @@ class CalendarController extends Controller
'<a type="button" class="btn btn-danger" onclick="deleteEvent('.$date->id.');"><i class="fa fa-times-circle" style="color:white;"></i></a>'.
'</div>'.
'</div>'.
'<p>'.
"L'activité auras lieux a l'escadron entre 18h30 et 21h30".
'</p>'.
'<p>'.$date->data['event_desc'].
'</p>'
);
@@ -368,7 +370,11 @@ class CalendarController extends Controller
$UserList = User::all();
$LocalList = Local::all();
return view('admin.calendar.calendar_add' ,['RequestDate' => $date, 'Userslist' => $UserList, 'LocalsList' => $LocalList]);
return view('admin.calendar.calendar_add' ,[
'RequestDate' => $date,
'Userslist' => $UserList,
'LocalsList' => $LocalList,
'ComplementaryActivity' => \App\ComplementaryActivity::all()]);
}
public function edit($id)
@@ -445,14 +451,14 @@ class CalendarController extends Controller
$schedule->save();
/** Logs and Notification */
Log::saveLog("Ajout de l'activité, ".$schedule->name." à l'horaire le ".$schedule->date);
Log::saveLog("Ajout de l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date);
$userToNotify = $schedule->getUserToNotify();
\Notification::send($userToNotify, new Alert(\Auth::User()->id,"Ajout de l'activité, ".$schedule->name." à l'horaire le ".$schedule->date,"/admin/calendar"));
\Notification::send($userToNotify, new Alert(\Auth::User()->id,"Ajout de l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date,"/admin/calendar"));
if(\App\Config::where('name','is_schedule_build')->first()->state == 1)
{
\Notification::send($userToNotify, new mail(\Auth::User(),"Ajout d'une activité a l'horaire",\Auth::User()->fullname()." à ajouté l'activité, ".$schedule->name." à l'horaire le ".$schedule->date));
\Notification::send($userToNotify, new mail(\Auth::User(),"Ajout d'une activité a l'horaire",\Auth::User()->fullname()." à ajouté l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date));
}
return redirect('/admin/calendar');
@@ -461,6 +467,7 @@ class CalendarController extends Controller
public function patch($id)
{
$schedule = Schedule::find($id);
$original = clone($schedule);
$schedule->date = request('event_date');
$schedule->type = request('event_type');
@@ -522,6 +529,171 @@ class CalendarController extends Controller
$schedule->save();
/** Notification */
$asChange = false;
$userToNotify = $schedule->getUserToNotify();
$changes = [];
$found = false;
if ($schedule->type == "regular") {
for ($p=1; $p < 3; $p++) {
for ($n=1; $n < 4; $n++) {
$pUser = \App\User::find($schedule->data['n'.$n.'_p'.$p.'_instructor']);
foreach ($userToNotify as $user) {
if ($user->id == $pUser->id) {
$found = true;
}
}
if (!$found) {
$userToNotify->push($pUser);
}
}
}
}
if ($schedule->data['event_begin_time'] != $original->data['event_begin_time']) {
array_push($changes,"L'heure de début a été modifié de ".$original->data['event_begin_time']." à ".$schedule->data['event_begin_time']);
}
if ($schedule->data['event_end_time'] != $original->data['event_end_time']) {
array_push($changes,"L'heure de fin a été modifié de ".$original->data['event_end_time']." à ".$schedule->data['event_end_time']);
}
if ($schedule->type != $original->type) {
array_push($changes,"Le type d'évenement a été modifié de ".$original->type." à ".$schedule->type);
}
if ($schedule->data['event_name'] != $original->data['event_name']) {
array_push($changes,"Le nom de l'évenement a été modifié de ".$original->data['event_name']." à ".$schedule->data['event_name']);
}
if ($schedule->data['is_event_mandatory'] != $original->data['is_event_mandatory']) {
if ($schedule->data['is_event_mandatory'] == "on") {
array_push($changes,"L'évenement est maintenant obligatoire");
} else {
array_push($changes,"L'évenement n'est plus obligatoire");
}
}
if ($schedule->data['event_location'] != $original->data['event_location']) {
array_push($changes,"Le lieu de l'évenement a été modifié de ".$original->data['event_location']." à ".$schedule->data['event_location']);
}
if ($schedule->data['event_desc'] != $original->data['event_desc']) {
array_push($changes,"La description de l'évenement a été modifié de ".$original->data['event_desc']." à ".$schedule->data['event_desc']);
}
if ($schedule->type == "regular") {
/** Check Instructor */
if ($schedule->data['n1_p1_instructor'] != $original->data['n1_p1_instructor']) {
array_push($changes,"L'instructeur du niveau 1 pour la première période a été changé de ".\App\User::find($original->data['n1_p1_instructor'])->fullname()." à ".\App\User::find($schedule->data['n1_p1_instructor'])->fullname());
\Notification::send(\App\User::find($original->data['n1_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$original->data['n1_p1_name']." du ".$original->date." vous a été retiré."));
\Notification::send(\App\User::find($schedule->data['n1_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$schedule->data['n1_p1_name']." du ".$schedule->date." vous a été ajouté."));
}
if ($schedule->data['n1_p2_instructor'] != $original->data['n1_p2_instructor']) {
array_push($changes,"L'instructeur du niveau 1 pour la deuxième période a été changé de ".\App\User::find($original->data['n1_p2_instructor'])->fullname()." à ".\App\User::find($schedule->data['n1_p2_instructor'])->fullname());
\Notification::send(\App\User::find($original->data['n1_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$original->data['n1_p2_name']." du ".$original->date." vous a été retiré."));
\Notification::send(\App\User::find($schedule->data['n1_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$schedule->data['n1_p2_name']." du ".$schedule->date." vous a été ajouté."));
}
if ($schedule->data['n2_p1_instructor'] != $original->data['n2_p1_instructor']) {
array_push($changes,"L'instructeur du niveau 2 pour la première période a été changé de ".\App\User::find($original->data['n2_p1_instructor'])->fullname()." à ".\App\User::find($schedule->data['n2_p1_instructor'])->fullname());
\Notification::send(\App\User::find($original->data['n2_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$original->data['n2_p1_name']." du ".$original->date." vous a été retiré."));
\Notification::send(\App\User::find($schedule->data['n2_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$schedule->data['n2_p1_name']." du ".$schedule->date." vous a été ajouté."));
}
if ($schedule->data['n2_p2_instructor'] != $original->data['n2_p2_instructor']) {
array_push($changes,"L'instructeur du niveau 2 pour la deuxième période a été changé de ".\App\User::find($original->data['n2_p2_instructor'])->fullname()." à ".\App\User::find($schedule->data['n2_p2_instructor'])->fullname());
\Notification::send(\App\User::find($original->data['n2_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$original->data['n2_p2_name']." du ".$original->date." vous a été retiré."));
\Notification::send(\App\User::find($schedule->data['n2_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$schedule->data['n2_p2_name']." du ".$schedule->date." vous a été ajouté."));
}
if ($schedule->data['n3_p1_instructor'] != $original->data['n3_p1_instructor']) {
array_push($changes,"L'instructeur du niveau 3 pour la première période a été changé de ".\App\User::find($original->data['n3_p1_instructor'])->fullname()." à ".\App\User::find($schedule->data['n3_p1_instructor'])->fullname());
\Notification::send(\App\User::find($original->data['n3_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$original->data['n3_p1_name']." du ".$original->date." vous a été retiré."));
\Notification::send(\App\User::find($schedule->data['n3_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$schedule->data['n3_p1_name']." du ".$schedule->date." vous a été ajouté."));
}
if ($schedule->data['n3_p2_instructor'] != $original->data['n3_p2_instructor']) {
array_push($changes,"L'instructeur du niveau 3 pour la deuxième période a été changé de ".\App\User::find($original->data['n3_p2_instructor'])->fullname()." à ".\App\User::find($schedule->data['n3_p2_instructor'])->fullname());
\Notification::send(\App\User::find($original->data['n3_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$original->data['n3_p2_name']." du ".$original->date." vous a été retiré."));
\Notification::send(\App\User::find($schedule->data['n3_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le cours ".$schedule->data['n3_p2_name']." du ".$schedule->date." vous a été ajouté."));
}
/** Check OCOM */
if ($schedule->data['n1_p1_ocom'] != $original->data['n1_p1_ocom']) {
array_push($changes,"L'OCOM du niveau 1 pour la première période a été changé de ".$original->data['n1_p1_ocom']." à ".$schedule->data['n1_p1_ocom']);
\Notification::send(\App\User::find($schedule->data['n1_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","L'ocom du cours ".$schedule->data['n1_p1_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n1_p1_ocom']));
}
if ($schedule->data['n1_p2_ocom'] != $original->data['n1_p2_ocom']) {
array_push($changes,"L'OCOM du niveau 1 pour la deuxième période a été changé de ".$original->data['n1_p2_ocom']." à ".$schedule->data['n1_p2_ocom']);
\Notification::send(\App\User::find($schedule->data['n1_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","L'ocom du cours ".$schedule->data['n1_p2_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n1_p2_ocom']));
}
if ($schedule->data['n2_p1_ocom'] != $original->data['n2_p1_ocom']) {
array_push($changes,"L'OCOM du niveau 2 pour la première période a été changé de ".$original->data['n2_p1_ocom']." à ".$schedule->data['n2_p1_ocom']);
\Notification::send(\App\User::find($schedule->data['n2_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","L'ocom du cours ".$schedule->data['n2_p1_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n2_p1_ocom']));
}
if ($schedule->data['n2_p2_ocom'] != $original->data['n2_p2_ocom']) {
array_push($changes,"L'OCOM du niveau 2 pour la deuxième période a été changé de ".$original->data['n2_p2_ocom']." à ".$schedule->data['n2_p2_ocom']);
\Notification::send(\App\User::find($schedule->data['n2_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","L'ocom du cours ".$schedule->data['n2_p2_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n2_p2_ocom']));
}
if ($schedule->data['n3_p1_ocom'] != $original->data['n3_p1_ocom']) {
array_push($changes,"L'OCOM du niveau 3 pour la première période a été changé de ".$original->data['n3_p1_ocom']." à ".$schedule->data['n3_p1_ocom']);
\Notification::send(\App\User::find($schedule->data['n3_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","L'ocom du cours ".$schedule->data['n3_p1_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n3_p1_ocom']));
}
if ($schedule->data['n3_p2_ocom'] != $original->data['n3_p2_ocom']) {
array_push($changes,"L'OCOM du niveau 3 pour la deuxième période a été changé de ".$original->data['n3_p2_ocom']." à ".$schedule->data['n3_p2_ocom']);
\Notification::send(\App\User::find($schedule->data['n3_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","L'ocom du cours ".$schedule->data['n3_p2_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n3_p2_ocom']));
}
/** Check Local */
if ($schedule->data['n1_p1_local'] != $original->data['n1_p1_local']) {
array_push($changes,"Le local du niveau 1 pour la première période a été changé de ".$original->data['n1_p1_local']." à ".$schedule->data['n1_p1_local']);
}
if ($schedule->data['n1_p2_local'] != $original->data['n1_p2_local']) {
array_push($changes,"Le local du niveau 1 pour la deuxième période a été changé de ".$original->data['n1_p2_local']." à ".$schedule->data['n1_p2_local']);
}
if ($schedule->data['n2_p1_local'] != $original->data['n2_p1_local']) {
array_push($changes,"Le local du niveau 2 pour la première période a été changé de ".$original->data['n2_p1_local']." à ".$schedule->data['n2_p1_local']);
}
if ($schedule->data['n2_p2_local'] != $original->data['n2_p2_local']) {
array_push($changes,"Le local du niveau 2 pour la deuxième période a été changé de ".$original->data['n2_p2_local']." à ".$schedule->data['n2_p2_local']);
}
if ($schedule->data['n3_p1_local'] != $original->data['n3_p1_local']) {
array_push($changes,"Le local du niveau 3 pour la première période a été changé de ".$original->data['n3_p1_local']." à ".$schedule->data['n3_p1_local']);
}
if ($schedule->data['n3_p2_local'] != $original->data['n3_p2_local']) {
array_push($changes,"Le local du niveau 3 pour la deuxième période a été changé de ".$original->data['n3_p2_local']." à ".$schedule->data['n3_p2_local']);
}
/** Check Name */
if ($schedule->data['n1_p1_name'] != $original->data['n1_p1_name']) {
array_push($changes,"Le nom du cours niveau 1 pour la première période a été changé de ".$original->data['n1_p1_name']." à ".$schedule->data['n1_p1_name']);
\Notification::send(\App\User::find($schedule->data['n1_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le nom du cours ".$original->data['n1_p1_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n1_p1_name']));
}
if ($schedule->data['n1_p2_name'] != $original->data['n1_p2_name']) {
array_push($changes,"Le nom du cours niveau 1 pour la deuxième période a été changé de ".$original->data['n1_p2_name']." à ".$schedule->data['n1_p2_name']);
\Notification::send(\App\User::find($schedule->data['n1_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le nom du cours ".$original->data['n1_p2_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n1_p2_name']));
}
if ($schedule->data['n2_p1_name'] != $original->data['n2_p1_name']) {
array_push($changes,"Le nom du cours niveau 2 pour la première période a été changé de ".$original->data['n2_p1_name']." à ".$schedule->data['n2_p1_name']);
\Notification::send(\App\User::find($schedule->data['n2_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le nom du cours ".$original->data['n2_p1_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n2_p1_name']));
}
if ($schedule->data['n2_p2_name'] != $original->data['n2_p2_name']) {
array_push($changes,"Le nom du cours niveau 2 pour la deuxième période a été changé de ".$original->data['n2_p2_name']." à ".$schedule->data['n2_p2_name']);
\Notification::send(\App\User::find($schedule->data['n2_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le nom du cours ".$original->data['n2_p2_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n2_p2_name']));
}
if ($schedule->data['n3_p1_name'] != $original->data['n3_p1_name']) {
array_push($changes,"Le nom du cours niveau 3 pour la première période a été changé de ".$original->data['n3_p1_name']." à ".$schedule->data['n3_p1_name']);
\Notification::send(\App\User::find($schedule->data['n3_p1_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le nom du cours ".$original->data['n3_p1_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n3_p1_name']));
}
if ($schedule->data['n3_p2_name'] != $original->data['n3_p2_name']) {
array_push($changes,"Le nom du cours niveau 3 pour la deuxième période a été changé de ".$original->data['n3_p2_name']." à ".$schedule->data['n3_p2_name']);
\Notification::send(\App\User::find($schedule->data['n3_p2_instructor']), new mail(\Auth::User(),"Modification d'un de vos cours","Le nom du cours ".$original->data['n3_p2_name']." du ".$schedule->date." a été changé pour ".$schedule->data['n3_p2_name']));
}
}
\Notification::send($userToNotify, new Alert(\Auth::User()->id,"Modification de l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date,"/admin/calendar"));
$string_Change = "<ul>";
foreach ($changes as $value) {
$string_Change = $string_Change."<li>".$value."</li>";
}
$string_Change = $string_Change."</ul>";
if(\App\Config::where('name','is_schedule_build')->first()->state == 1)
{
\Notification::send($userToNotify, new mail(\Auth::User(),"Modification d'une activité a l'horaire",\Auth::User()->fullname()." à modifié l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date."<br>".$string_Change));
}
Log::saveLog("Modification de l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date);
return redirect('/admin/calendar');
}
@@ -533,5 +705,50 @@ class CalendarController extends Controller
$schedule = Schedule::find($id);
$schedule->delete();
\Notification::send($userToNotify, new Alert(\Auth::User()->id,"Suppresion de l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date,"/admin/calendar"));
if(\App\Config::where('name','is_schedule_build')->first()->state == 1)
{
\Notification::send($userToNotify, new mail(\Auth::User(),"Suppression d'une activité a l'horaire",\Auth::User()->fullname()." à supprimé l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date));
}
Log::saveLog("Suppression de l'activité, ".$schedule->data['event_name']." à l'horaire le ".$schedule->date);
}
private function listClass()
{
$schedules = \App\Schedule::all();
$filtered_schedules = collect();
$classes = [];
foreach($schedules as $schedule)
{
if($schedule->type == "regular")
{
$filtered_schedules->push($schedule);
}
}
foreach($filtered_schedules as $schedule)
{
array_push($classes,$schedule->data['n1_p1_ocom']);
array_push($classes,$schedule->data['n1_p2_ocom']);
array_push($classes,$schedule->data['n2_p1_ocom']);
array_push($classes,$schedule->data['n2_p2_ocom']);
array_push($classes,$schedule->data['n3_p1_ocom']);
array_push($classes,$schedule->data['n3_p2_ocom']);
}
$filtered_classes = array_unique($classes);
return $filtered_classes;
}
public function show()
{
$date = request('date');
return view('admin.calendar.modal.show',['schedules' => \App\Schedule::all()->where('date',$date),'date' => $date]);
}
}
@@ -0,0 +1,150 @@
<?php
namespace App\Http\Controllers;
use App\ComplementaryActivity;
use Illuminate\Http\Request;
class ComplementaryActivityController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('admin.configs.activity',['configs' => \App\Config::all(),'activities' => \App\ComplementaryActivity::all()]);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('admin.configs.activity-add');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store()
{
$activity = new ComplementaryActivity();
$activity->name = request('name');
$activity->admin_desc = request('admin_desc');
$activity->public_body = 'Veuillez modifier le text de description publique par défaut';
$activity->calendar_color = request('calendar_color');
$activity->calendar_icon = request('calendar_icon');
$activity->begin_time = request('begin_time');
$activity->end_time = request('end_time');
$activity->location = request('location');
$activity->public_slogan = "Veuillez modifier le slogan publique par défaut";
$activity->public_header_picture = "./assets/img/bg2.jpg";
$activity->location = request('location');
$activity->location = request('location');
if(request('is_mandatory') == 'on')
{
$activity->is_mandatory = true;
}
else
{
$activity->is_mandatory = false;
}
if(request('is_promoted') == 'on')
{
$activity->is_promoted = true;
}
else
{
$activity->is_promoted = false;
}
$activity->save();
return redirect('/admin/config/activity')->with('success','Activité ajouté avec succes');
}
/**
* Display the specified resource.
*
* @param \App\ComplementaryActivity $complementaryActivity
* @return \Illuminate\Http\Response
*/
public function show($id)
{
return view('public.activity',['activity' => ComplementaryActivity::find($id)]);
}
/**
* Show the form for editing the specified resource.
*
* @param \App\ComplementaryActivity $complementaryActivity
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
return view('admin.configs.activity-edit',['activity' => \App\ComplementaryActivity::find($id)]);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\ComplementaryActivity $complementaryActivity
* @return \Illuminate\Http\Response
*/
public function update($id)
{
$activity = ComplementaryActivity::find($id);
$activity->name = request('name');
$activity->admin_desc = request('admin_desc');
$activity->calendar_color = request('calendar_color');
$activity->calendar_icon = request('calendar_icon');
$activity->begin_time = request('begin_time');
$activity->end_time = request('end_time');
$activity->location = request('location');
if(request('is_mandatory') == 'true')
{
$activity->is_mandatory = true;
}
else
{
$activity->is_mandatory = false;
}
if(request('is_promoted') == 'true')
{
$activity->is_promoted = true;
}
else
{
$activity->is_promoted = false;
}
$activity->save();
return redirect('/admin/config/activity')->with('success','Modification sauvegarder avec succes');
}
/**
* Remove the specified resource from storage.
*
* @param \App\ComplementaryActivity $complementaryActivity
* @return \Illuminate\Http\Response
*/
public function destroy()
{
$id = request('id');
$activity = ComplementaryActivity::find($id);
$activity->delete();
}
}
+29 -3
View File
@@ -14,7 +14,7 @@ class ConfigController extends Controller
*/
public function index()
{
//
return view ('admin.configs.general',['configs' => Config::all()]);
}
/**
@@ -67,9 +67,35 @@ class ConfigController extends Controller
* @param \App\Config $config
* @return \Illuminate\Http\Response
*/
public function update(Request $request, Config $config)
public function update()
{
//
$configs = [
'is_schedule_public',
'is_schedule_build',
'escadron_name_full',
'escadron_name_short',
'escadron_number',
'escadron_phone',
'escadron_element',
'element_title',
'escadron_address',
'escadron_direct_googlemap_link',
'media_facebook',
'media_twitter',
'media_instagram',
'media_email',
];
foreach ($configs as $config) {
$c = \App\Config::all()->where('name',$config)->first();
$c->data = [request($config)];
$c->save();
}
\App\Log::saveLog('Modification de la configuration du site');
return redirect('/admin/config')->with('success','Modification sauvegarder avec succès !');
}
/**
+85
View 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)
{
//
}
}
+52 -4
View File
@@ -247,25 +247,43 @@ class ECCController extends Controller
foreach ($items_array as $item_array) {
if ($item_array != "") {
$items->push(\App\Item::find($item_array));
$item_array_ex = explode(":",$item_array);
$this_item = \App\Item::find($item_array_ex[0]);
$this_item->quantity = $item_array_ex[1];
$items->push($this_item);
}
}
}
return view('ecc.booking',['schedule' => $schedule, 'periode' => $periode, 'niveau' => $niveau, 'items' => $items, 'dispo_item' => $schedule->getInventory($periode)]);
}
public function booking_add($id,$periode,$niveau)
{
$schedule = Schedule::find($id);
$id_to_modify = "passet";
$qt_to_add = 0;
$periode_item = 'n'.$niveau.'_p'.$periode.'_item';
if (isset($schedule->$periode_item)) {
$array_items = explode("-",$schedule->$periode_item);
array_push($array_items,request('add'));
for ($i=0; $i < count($array_items); $i++) {
$array_item_id = explode(":",$array_items[$i]);
if ($array_item_id[0] == request('add')) {
$id_to_modify = $i;
$qt_to_add = $array_item_id[1];
}
}
if ($id_to_modify === "passet") {
array_push($array_items,request('add').":".request('qt'));
} else {
$toadd = $qt_to_add+request('qt');
$array_items[$id_to_modify] = request('add').":".$toadd;
}
} else {
$array_items = [];
array_push($array_items,request('add'));
array_push($array_items,request('add').":".request('qt'));
}
$final_items = implode("-",$array_items);
@@ -297,4 +315,34 @@ class ECCController extends Controller
return redirect('/ecc/inventory/'.$id.'/'.$niveau.'/'.$periode);
}
public function list()
{
return view('ecc.list');
}
public function files()
{
return view('ecc.files');
}
public function settings()
{
return view('ecc.settings');
}
public function UserPassword()
{
return view('ecc.settings.password');
}
public function UserAvatar()
{
return view('ecc.settings.avatar');
}
public function UserAdress()
{
return view('ecc.settings.adress');
}
}
+180
View File
@@ -0,0 +1,180 @@
<?php
namespace App\Http\Controllers;
use App\Event;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
class EventController extends Controller
{
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index()
{
//
}
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function create()
{
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return Response
*/
public function store()
{
$event = new Event();
$event->name = request('name');
$event->date_begin = request('begin');
$event->date_end = request('end');
$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');
$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++) {
$course = new \App\Course();
$users = \App\User::all();
$instructor = 1;
foreach ($users as $user) {
if($user->fullname() == request('instruc_n'.$l.'_p'.$p))
{
$instructor = $user->id;
}
}
$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->periode = $p;
$course->level = $l;
$course->comment = "";
$course->event_id = $event->id;
$course->save();
}
}
}
return redirect('/admin/calendar')->with('success','Événement ajouter à l\'horaire');
}
/**
* Display the specified resource.
*
* @param \App\Event $event
* @return Response
*/
public function show(Event $event)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param $id
* @return Response
*/
public function edit($id)
{
return view('admin.schedule.event.edit',['activity' => \App\Event::find($id)]);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Event $event
* @return Response
*/
public function update($id)
{
$event = Event::find($id);
$event->name = request('name');
$event->date_begin = request('begin');
$event->date_end = request('end');
$event->location = request('location');
if(request('is_mandatory') != null){
$event->is_mandatory = 1;
} else {
$event->is_mandatory = 0;
}
$event->desc = request('desc');
$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++) {
$course = new \App\Course();
$users = \App\User::all();
$instructor = 1;
foreach ($users as $user) {
if($user->fullname() == request('instruc_n'.$l.'_p'.$p))
{
$instructor = $user->id;
}
}
$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->periode = $p;
$course->level = $l;
$course->comment = "";
$course->event_id = $event->id;
$course->save();
}
}
}
return redirect('/admin/calendar')->with('success','Modification à l\'événement sauvegarder à l\'horaire');
}
/**
* Remove the specified resource from storage.
*
* @param \App\Event $event
* @return Response
*/
public function destroy(Event $event)
{
//
}
}
+89
View File
@@ -0,0 +1,89 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class FilesController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('admin.files.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 int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
public function guide()
{
return view('admin.files.guide');
}
}
+22 -4
View File
@@ -54,15 +54,29 @@ class InventoryController extends Controller
public function store($id,$periode,$niveau)
{
$schedule = Schedule::find($id);
$id_to_modify = "passet";
$qt_to_add = 0;
$periode_item = 'n'.$niveau.'_p'.$periode.'_item';
if (isset($schedule->$periode_item)) {
$array_items = explode("-",$schedule->$periode_item);
array_push($array_items,request('add'));
for ($i=0; $i < count($array_items); $i++) {
$array_item_id = explode(":",$array_items[$i]);
if ($array_item_id[0] == request('add')) {
$id_to_modify = $i;
$qt_to_add = $array_item_id[1];
}
}
if ($id_to_modify === "passet") {
array_push($array_items,request('add').":".request('qt'));
} else {
$toadd = $qt_to_add+request('qt');
$array_items[$id_to_modify] = request('add').":".$toadd;
}
} else {
$array_items = [];
array_push($array_items,request('add'));
array_push($array_items,request('add').":".request('qt'));
}
$final_items = implode("-",$array_items);
@@ -91,10 +105,14 @@ class InventoryController extends Controller
foreach ($items_array as $item_array) {
if ($item_array != "") {
$items->push(Item::find($item_array));
$item_array_ex = explode(":",$item_array);
$this_item = Item::find($item_array_ex[0]);
$this_item->quantity = $item_array_ex[1];
$items->push($this_item);
}
}
}
return view('admin.inventory.show',['schedule' => $schedule, 'periode' => $periode, 'niveau' => $niveau, 'items' => $items, 'dispo_item' => $schedule->getInventory($periode)]);
}
+2
View File
@@ -39,6 +39,7 @@ class ItemController extends Controller
$item->name = request('name');
$item->desc = request('desc');
$item->quantiy = request('qt');
$item->save();
@@ -82,6 +83,7 @@ class ItemController extends Controller
$item->name = request('name');
$item->desc = request('desc');
$item->quantity = request('qt');
$item->save();
+2 -16
View File
@@ -78,22 +78,8 @@ class MessageController extends Controller
*/
public function show($id)
{
$this_msg = Message::find($id);
if(isset($this_msg->data['as_seen']))
{
if (!strpos($this_msg->data['as_seen'],"-".\Auth::user()->id."-")) {
$data = [
'as_seen' => $this_msg->data['as_seen']."-".\Auth::user()->id."-",
'parameter' => $this_msg->data['parameter']
];
$this_msg->data = $data;
$this_msg->save();
}
}
return view('admin.message.show', ['message' => $this_msg]);
\Auth::User()->seenMessage($id);
return view('admin.message.show', ['message' => Message::find($id)]);
}
/**
+85
View File
@@ -0,0 +1,85 @@
<?php
namespace App\Http\Controllers;
use App\News;
use Illuminate\Http\Request;
class NewsController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('public.allnews',['news' => \App\News::paginate(9)]);
}
/**
* 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\News $news
* @return \Illuminate\Http\Response
*/
public function show($id)
{
return view('public.news', ['new' => \App\News::find($id)]);
}
/**
* Show the form for editing the specified resource.
*
* @param \App\News $news
* @return \Illuminate\Http\Response
*/
public function edit(News $news)
{
//
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\News $news
* @return \Illuminate\Http\Response
*/
public function update(Request $request, News $news)
{
//
}
/**
* Remove the specified resource from storage.
*
* @param \App\News $news
* @return \Illuminate\Http\Response
*/
public function destroy(News $news)
{
//
}
}
+110
View File
@@ -0,0 +1,110 @@
<?php
namespace App\Http\Controllers;
use App\Picture;
use Illuminate\Http\Request;
class PictureController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('public.allpicture',['pictures' => \App\Picture::paginate(\App\Config::getData('text_public_picture_nb'))]);
}
public function indexAdmin()
{
return view('admin.picture.index',['pictures' => \App\Picture::paginate(\App\Config::getData('text_public_picture_nb'))]);
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('admin.picture.add');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store()
{
$pic = new Picture();
$pic->title = request('title');
$pic->url = request('url');
$pic->desc = request('desc');
$pic->pictureable_id = 0;
$pic->pictureable_type = "";
$pic->save();
return redirect('/admin/picture')->with('success','Image ajoutée avec succès');
}
/**
* Display the specified resource.
*
* @param \App\Picture $picture
* @return \Illuminate\Http\Response
*/
public function show($id)
{
return view('public.picture',['picture' => \App\Picture::find($id)]);
}
/**
* Show the form for editing the specified resource.
*
* @param \App\Picture $picture
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
return view('admin.picture.edit',['picture' => Picture::find($id)]);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param \App\Picture $picture
* @return \Illuminate\Http\Response
*/
public function update($id)
{
$pic = Picture::find($id);
$pic->title = request('title');
$pic->url = request('url');
$pic->desc = request('desc');
$pic->save();
return redirect('/admin/picture')->with('success','Image sauvegarder avec succès');
}
/**
* Remove the specified resource from storage.
*
* @param \App\Picture $picture
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
$pic = Picture::find($id);
$pic->delete();
}
}
+94
View File
@@ -0,0 +1,94 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class PublicController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('public.index',[
'news' => \App\News::all()->sortByDesc('created_at')->take(3),
'activities' => \App\ComplementaryActivity::all()->where('is_promoted','1'),
'pictures' => \App\Picture::all()->sortByDesc('created_at')->take(\App\Config::getData('nb_activity_public'))
]);
}
/**
* 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 int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($config)
{
return view('admin.public.edit',['config' => \App\Config::where('name',$config)->first()]);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $config)
{
$config = \App\Config::where('name',$config)->first();
$config->data = [request('data')];
$config->save();
return redirect('/?editMode');;
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
//
}
}
+219 -1
View File
@@ -3,8 +3,226 @@
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use \App\Schedule;
use function GuzzleHttp\json_encode;
use PDF;
class ScheduleController extends Controller
{
//
public function index()
{
return view('admin.configs.schedule',['configs' => \App\Config::all()]);
}
public function update()
{
$configs = ['admin_periode_nb'];
foreach ($configs as $config) {
$c = \App\Config::all()->where('name',$config)->first();
$c->data = [request($config)];
$c->save();
}
$new_admin_periode_begin = [];
$new_admin_periode_end = [];
for ($i=1; $i <= request('admin_periode_nb'); $i++) {
if(request('admin_periode_begin_'.$i))
{
$new_admin_periode_begin[$i] = request('admin_periode_begin_'.$i);
}
else
{
$new_admin_periode_begin[$i] = "00:00";
}
if(request('admin_periode_end_'.$i))
{
$new_admin_periode_end[$i] = request('admin_periode_end_'.$i);
}
else
{
$new_admin_periode_end[$i] = "00:00";
}
}
$temp = \App\Config::all()->where('name','admin_periode_begin')->first();
$temp->data = $new_admin_periode_begin;
$temp->save();
$temp = \App\Config::all()->where('name','admin_periode_end')->first();
$temp->data = $new_admin_periode_end;
$temp->save();
return redirect('/admin/config/schedule')->with('success','Modification sauvegarder avec succès !');
}
public function apiIndex()
{
$start = strtotime(request()->start);
$end = strtotime(request()->end);
$allschedules = Schedule::all();
$allevents = \App\Event::all();
$events = [];
$jsonevents = [];
$schedules = [];
foreach ($allschedules as $schedule) {
if(strtotime($schedule->date) >= $start && strtotime($schedule->date) <= $end) {
array_push($schedules,$schedule);
}
}
foreach ($allevents as $event) {
if(strtotime($event->date_begin) >= $start && strtotime($event->date_begin) <= $end) {
array_push($events,$event);
}
else if(strtotime($event->date_end) >= $start && strtotime($event->date_end) <= $end) {
array_push($events,$event);
}
}
foreach ($schedules as $schedule) {
$color = $this->getColor($schedule->type);
$event = [
'title' => $schedule->data['event_name'],
'start' => $schedule->date.'T'.$schedule->data['event_begin_time'],
'end' => $schedule->date.'T'.$schedule->data['event_end_time'],
'color' => $color,
'source' => 'schedule',
'id' => $schedule->id
];
array_push($jsonevents,$event);
}
foreach ($events as $event) {
$color = $this->getColor($event->type);
$myevent = [
'title' => $event->name,
'start' => date('c',strtotime($event->date_begin)),
'end' => date('c',strtotime($event->date_end)),
'color' => $color,
'extraParams' => [
'db_type' => 'event'],
'id' => $event->id
];
array_push($jsonevents,$myevent);
}
return json_encode($jsonevents);
}
public function loadModal($id,$db_type)
{
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');
}
public function create($date)
{
$date = str_replace('/','-',$date);
return view('admin.schedule.event.add',['date' => $date]);
}
public function loadModalDefautType($type,$date)
{
$activity = \App\ComplementaryActivity::find($type);
$begin_time = $date." ".$activity->begin_time;
$end_time = $date." ".$activity->end_time;
return view('admin.schedule.modal.add',[
'activity' => \App\ComplementaryActivity::find($type),
'begin_time' => $begin_time,
'end_time' => $end_time
]);
}
public function delete($id)
{
$event = \App\Event::find($id);
$event->delete();
}
}
+89
View File
@@ -5,6 +5,8 @@ namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
use function GuzzleHttp\json_encode;
class UserController extends Controller
{
/**
@@ -173,4 +175,91 @@ class UserController extends Controller
$notification->delete();
return redirect(request('url'));
}
public function notificationmarkALL()
{
$notifications = \Auth::User()->unreadNotifications;
foreach($notifications as $notification)
{
$notification->delete();
}
return redirect()->back();
}
public function notificationmarkECC($id)
{
$notification = \Auth::User()->unreadNotifications->where('id',$id)->first();
$notification->delete();
return redirect('/ecc');
}
public function showUserProfil($id = 0)
{
if ($id == 0) {
$id = \Auth::User()->id;
}
return view('admin.user.profil',['user' => \App\User::find($id)]);
}
public function editUserAvatar($id)
{
$user = \Auth::User();
$user->avatar = $id;
$user->save();
return back()->with('success', 'Votre avatar a été mis à jour !');
}
public function UserAvatar()
{
return view('admin.user.profil.avatar');
}
public function UserPassword()
{
return view('admin.user.profil.password');
}
public function editUserPassword()
{
$user = \Auth::User();
$user->password = bcrypt(request('psw'));
$user->save();
return back()->with('success', 'Modification enregistré');
}
public function UserAdress()
{
return view('admin.user.profil.adress');
}
public function editUserAdress()
{
$user = \Auth::user();
$user->adress = request('adress');
$user->save();
return back()->with('success', 'Modification enregistré');
}
public function apiList()
{
$users = \App\User::all();
$name = [];
foreach ($users as $user) {
array_push($name, $user->fullname());
}
return json_encode($name);
}
}
+19
View File
@@ -0,0 +1,19 @@
<?php
function getStatus()
{
$client = new GuzzleHttp\Client();
$incidents = $client->get('https://status.exvps.ca/api/v1/incidents');
$isBroken = false;
$incidents_decode = json_decode($incidents->getBody(),true);
foreach ($incidents_decode['data'] as $incident) {
if (!$incident['is_resolved']) {
$isBroken = true;
}
}
return $isBroken;
}
+5
View File
@@ -17,4 +17,9 @@ class Item extends Model
$col_items->forget(0);
return $col_items;
}
public function bookings()
{
return $this->hasMany('App\Booking');
}
}
+18
View File
@@ -0,0 +1,18 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class News extends Model
{
public function user()
{
return $this->belongsTo('App\User');
}
public function pictures()
{
return $this->morphMany('App\Picture', 'pictureable');
}
}
+13
View File
@@ -0,0 +1,13 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Picture extends Model
{
public function pictureable()
{
return $this->morphTo();
}
}
+103 -15
View File
@@ -13,8 +13,10 @@ class Schedule extends Model
public function getInventory($periode)
{
$dispo = [];
$used = [];
$dispo_id = [];
$dispo_qt = [];
$used_id = [];
$used_qt = [];
$dispo_item = collect();
$string_periode = 'p'.$periode;
@@ -22,34 +24,72 @@ class Schedule extends Model
$inventory = Item::all();
foreach ($inventory as $item) {
array_push($dispo, $item->id);
array_push($dispo_id, $item->id);
array_push($dispo_qt, $item->quantity);
}
$n1 = 'n1_'.$string_periode.'_item';
$items_array = explode("-",$this->$n1);
foreach ($items_array as $item_array) {
array_push($used,$item_array);
if ($items_array[0] == "") {
unset($items_array[0]);
}
$items_array = array_values($items_array);
if ($items_array != "") {
foreach ($items_array as $item_array) {
$items_for = explode(":",$item_array);
array_push($used_id,$items_for[0]);
array_push($used_qt,$items_for[1]);
}
}
$n2 = 'n2_'.$string_periode.'_item';
$items_array = explode("-",$this->$n2);
if ($items_array[0] == "") {
unset($items_array[0]);
}
$items_array = array_values($items_array);
foreach ($items_array as $item_array) {
array_push($used,$item_array);
if ($items_array != "") {
foreach ($items_array as $item_array) {
$items_for = explode(":",$item_array);
array_push($used_id,$items_for[0]);
array_push($used_qt,$items_for[1]);
}
}
$n3 = 'n3_'.$string_periode.'_item';
$items_array = explode("-",$this->$n3);
foreach ($items_array as $item_array) {
array_push($used,$item_array);
if ($items_array[0] == "") {
unset($items_array[0]);
}
$items_array = array_values($items_array);
if ($items_array != "") {
foreach ($items_array as $item_array) {
$items_for = explode(":",$item_array);
array_push($used_id,$items_for[0]);
array_push($used_qt,$items_for[1]);
}
}
$dispo = array_diff($dispo,$used);
foreach ($dispo as $key) {
$dispo_item->push(Item::find($key));
for ($i=0; $i < count($used_id); $i++) {
for ($e=0; $e < count($dispo_id); $e++) {
if (isset($dispo_id[0])) {
if ($used_id[$i] == $dispo_id[$e]) {
$dispo_qt[$e] = $dispo_qt[$e] - $used_qt[$i];
if ($dispo_qt[$e] < 1) {
unset($dispo_id[$e]);
unset($dispo_qt[$e]);
}
}
}
}
}
$dispo_id = array_values($dispo_id);
$dispo_qt = array_values($dispo_qt);
for ($i=0; $i < count($dispo_id); $i++) {
$this_item = Item::find($dispo_id[$i]);
$this_item->quantity = $dispo_qt[$i];
$dispo_item->push($this_item);
}
return $dispo_item;
@@ -74,4 +114,52 @@ class Schedule extends Model
return $users;
}
}
public static function checkForWarning()
{
$schedule = Schedule::all();
$warning = collect();
$today = date('U');
foreach ($schedule as $activity) {
if ($activity->type == "regular") {
$time = date('U',strtotime($activity->date));
if ($time >= $today) {
for ($niv=1; $niv <= 3; $niv++) {
for ($pe=1; $pe <= 2; $pe++) {
/** Check name */
if ($activity->data['n'.$niv."_p".$pe."_name"] == "") {
$warning->push(['warning' => 'Il doit y avoir un nom pour le cours', 'niveau' => $niv, 'periode' => $pe,'date' => $activity->date]);
}
/** Check OCOM */
if ($activity->data['n'.$niv."_p".$pe."_ocom"] == "") {
$warning->push(['warning' => "Il doit y avoir un OCOM pour le cours", 'niveau' => $niv, 'periode' => $pe,'date' => $activity->date]);
} else {
$regex = '/[MC]['.$niv.']\d\d.\d\d/';
if (preg_match($regex,trim($activity->data['n'.$niv."_p".$pe."_ocom"])) == 0 && $activity->data['n'.$niv."_p".$pe."_ocom"] != "S.O") {
$warning->push(['warning' => "L'OCOM du cours de semble pas être valide", 'niveau' => $niv, 'periode' => $activity->data['n'.$niv."_p".$pe."_ocom"],'date' => $activity->date]);
}
}
/** Check Instructor */
if ($activity->data['n'.$niv."_p".$pe."_instructor"] == "") {
$warning->push(['warning' => "Il doit y avoir un instructeur pour le cours", 'niveau' => $niv, 'periode' => $pe,'date' => $activity->date]);
}
/** Check local */
if ($activity->data['n'.$niv."_p".$pe."_local"] == "") {
$warning->push(['warning' => "Il doit y avoir un local pour le cours", 'niveau' => $niv, 'periode' => $pe,'date' => $activity->date]);
}
}
}
}
}
}
return $warning;
}
}
+44 -1
View File
@@ -50,6 +50,21 @@ class User extends Authenticatable
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)
{
return $this->telephone;
@@ -208,7 +223,7 @@ class User extends Authenticatable
$filtered_schedule = collect();
foreach (\App\Schedule::all() as $day) {
foreach ($schedules as $day) {
if ($day->date >= date('Y-m-d')) {
$filtered_schedule->push($day);
}
@@ -236,4 +251,32 @@ class User extends Authenticatable
}
return $nbClasse;
}
public function seenMessage($id)
{
$this_msg = Message::find($id);
if(isset($this_msg->data['as_seen']))
{
$as_seen = explode("-",$this_msg->data['as_seen']);
if (array_search(strval($this->id),$as_seen) === false) {
array_push($as_seen,$this->id);
}
$as_seen = array_filter($as_seen);
$as_seen_str = implode('-',$as_seen);
$data = [
'as_seen' => $as_seen_str,
'parameter' => $this_msg->data['parameter']
];
$this_msg->data = $data;
$this_msg->save();
}
}
public function news()
{
return $this->hasMany('App\News');
}
}
+4 -1
View File
@@ -6,6 +6,8 @@
"type": "project",
"require": {
"php": "^7.1.3",
"barryvdh/laravel-dompdf": "^0.8.4",
"barryvdh/laravel-ide-helper": "v2.6.2",
"fideloper/proxy": "^4.0",
"guzzlehttp/guzzle": "^6.3",
"laravel/framework": "5.6.*",
@@ -26,7 +28,8 @@
],
"psr-4": {
"App\\": "app/"
}
},
"files": ["app/Http/helpers.php"]
},
"autoload-dev": {
"psr-4": {
Generated
+1945 -457
View File
File diff suppressed because it is too large Load Diff
+4
View File
@@ -158,9 +158,12 @@ return [
Illuminate\Validation\ValidationServiceProvider::class,
Illuminate\View\ViewServiceProvider::class,
/*
* Package Service Providers...
*/
Barryvdh\DomPDF\ServiceProvider::class,
'Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider',
/*
* Application Service Providers...
@@ -219,6 +222,7 @@ return [
'URL' => Illuminate\Support\Facades\URL::class,
'Validator' => Illuminate\Support\Facades\Validator::class,
'View' => Illuminate\Support\Facades\View::class,
'PDF' => Barryvdh\DomPDF\Facade::class,
],
@@ -42,7 +42,7 @@ class CreateUsersTable extends Migration
$table->string('user_see')->default('unknown');
$table->string('user_edit')->default('unknown');
$table->string('user_notify')->default('unknown');
$table->string('api_token', 60)->unique()->default(str_random(60));
$table->string('api_token', 60)->unique()->default(str_shuffle(str_random(60)));
$table->rememberToken();
$table->timestamps();
});
@@ -15,6 +15,7 @@ class CreateItemsTable extends Migration
{
Schema::create('items', function (Blueprint $table) {
$table->increments('id');
$table->integer('quantity');
$table->string('name');
$table->string('desc');
$table->timestamps();
@@ -0,0 +1,35 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateNewsTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('news', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->text('body');
$table->integer('user_id');
$table->boolean('publish');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('news');
}
}
@@ -0,0 +1,43 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateComplementaryActivitiesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('complementary_activities', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->text('public_body');
$table->text('public_slogan');
$table->string('public_header_picture');
$table->text('admin_desc');
$table->string('calendar_color')->default('blue');
$table->string('calendar_icon')->default('<i class="fa fa-question-circle"></i>');
$table->string('begin_time')->default('12:00');
$table->string('end_time')->default('13:00');
$table->string('location')->default('Escadron');
$table->boolean('is_mandatory')->default(false);
$table->boolean('is_promoted')->default(false);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('complementary_activities');
}
}
@@ -0,0 +1,36 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreatePicturesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('pictures', function (Blueprint $table) {
$table->increments('id');
$table->string('url');
$table->string('title');
$table->text('desc');
$table->integer('pictureable_id');
$table->string('pictureable_type');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('pictures');
}
}
@@ -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');
}
}
@@ -0,0 +1,113 @@
<?php
use Illuminate\Database\Seeder;
class ComplementaryActivitiesSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('complementary_activities')->insert([
[
'name' => 'Soirée d\'instruction régulière',
'calendar_color' => 'orange',
'calendar_icon' => '<i class="fas fa-book"></i>',
'begin_time' => '18:30',
'end_time' => '21:45',
'Location' => 'Escadron',
'public_body' => 'Veuillez modifier le text de description publique par défaut',
'public_slogan' => 'Veuillez modifier le slogan publique par défaut',
'public_header_picture' => './assets/img/bg2.jpg',
'admin_desc' => 'Veuillez modifier la description admin par défaut',
],
[
'name' => 'Congé',
'calendar_color' => 'red',
'calendar_icon' => '<i class="fa fa-times"></i>',
'begin_time' => '00:01',
'end_time' => '23:59',
'Location' => 'Escadron',
'public_body' => 'Veuillez modifier le text de description publique par défaut',
'public_slogan' => 'Veuillez modifier le slogan publique par défaut',
'public_header_picture' => './assets/img/bg2.jpg',
'admin_desc' => 'Veuillez modifier la description admin par défaut',
],
[
'name' => 'Financement',
'calendar_color' => 'light-green',
'calendar_icon' => '<i class="fa fa-usd"></i>',
'begin_time' => '00:01',
'end_time' => '23:59',
'Location' => 'Escadron',
'public_body' => 'Veuillez modifier le text de description publique par défaut',
'public_slogan' => 'Veuillez modifier le slogan publique par défaut',
'public_header_picture' => './assets/img/bg2.jpg',
'admin_desc' => 'Veuillez modifier la description admin par défaut',
],
[
'name' => 'Bénévolat',
'calendar_color' => 'green',
'calendar_icon' => '<i class="fa fa-handshake-o "></i>',
'begin_time' => '00:01',
'end_time' => '23:59',
'Location' => 'Escadron',
'public_body' => 'Veuillez modifier le text de description publique par défaut',
'public_slogan' => 'Veuillez modifier le slogan publique par défaut',
'public_header_picture' => './assets/img/bg2.jpg',
'admin_desc' => 'Veuillez modifier la description admin par défaut',
],
[
'name' => 'Autre',
'calendar_color' => 'purple',
'calendar_icon' => '<i class="fa fa-circle "></i>',
'begin_time' => '00:01',
'end_time' => '23:59',
'Location' => 'Escadron',
'public_body' => 'Veuillez modifier le text de description publique par défaut',
'public_slogan' => 'Veuillez modifier le slogan publique par défaut',
'public_header_picture' => './assets/img/bg2.jpg',
'admin_desc' => 'Veuillez modifier la description admin par défaut',
],
[
'name' => 'Précidrill',
'calendar_color' => 'blue',
'calendar_icon' => '<i class="fa fa-trophy"></i>',
'begin_time' => '19:00',
'end_time' => '21:00',
'Location' => 'Escadron',
'public_body' => 'Veuillez modifier le text de description publique par défaut',
'public_slogan' => 'Veuillez modifier le slogan publique par défaut',
'public_header_picture' => './assets/img/bg2.jpg',
'admin_desc' => 'Veuillez modifier la description admin par défaut',
],
[
'name' => 'Musique',
'calendar_color' => 'gold',
'calendar_icon' => '<i class="fa fa-music"></i>',
'begin_time' => '19:00',
'end_time' => '21:00',
'Location' => 'Escadron',
'public_body' => 'Veuillez modifier le text de description publique par défaut',
'public_slogan' => 'Veuillez modifier le slogan publique par défaut',
'public_header_picture' => './assets/img/bg2.jpg',
'admin_desc' => 'Veuillez modifier la description admin par défaut',
],
[
'name' => 'Tir de précision',
'calendar_color' => 'grey',
'calendar_icon' => '<i class="fa fa-bullseye"></i>',
'begin_time' => '19:00',
'end_time' => '21:00',
'Location' => 'Escadron',
'public_body' => 'Veuillez modifier le text de description publique par défaut',
'public_slogan' => 'Veuillez modifier le slogan publique par défaut',
'public_header_picture' => './assets/img/bg2.jpg',
'admin_desc' => 'Veuillez modifier la description admin par défaut',
]
]);
}
}
+225 -4
View File
@@ -11,17 +11,238 @@ class ConfigsTableSeeder extends Seeder
*/
public function run()
{
DB::table('configs')->insert([
$configs = [
[
'name' => 'is_schedule_public',
'state' => 0,
'data' => 'null'
'data' => '["true"]'
],
[
'name' => 'is_schedule_build',
'state' => 0,
'data' => 'null'
'data' => '["false"]'
],
[
'name' => 'text_public_banner_cadet_desc',
'state' => 0,
'data' => '["Les cadets de l\'air s\'adressent aux jeunes de 12 à 18 ans qui désirent vivre des expériences enrichissantes et relever de nouveaux défis, en participant à des activités stimulantes dans un cadre dynamique et chaleureux."]'
],
[
'name' => 'text_public_banner_apprendre_plus',
'state' => 0,
'data' => '["En apprendre plus!"]'
],
[
'name' => 'text_public_intro_title',
'state' => 0,
'data' => '["L\'escadron c\'est ..."]'
],
[
'name' => 'text_public_intro_desc',
'state' => 0,
'data' => '["De nombreuses activités hebdomadaires dont : les soirées du vendredi, les soirées de musique (fanfare), l\'entrainement au tir, une équipe de biathlon, des cours de pilotage et plus encore !"]'
],
[
'name' => 'text_public_picture_title',
'state' => 0,
'data' => '["Photos"]'
],
[
'name' => 'text_public_picture_desc',
'state' => 0,
'data' => '["Voici quelques photos de nos activités, même s\'il est mieux d\'y participer réellement!"]'
],
[
'name' => 'text_public_news_title',
'state' => 0,
'data' => '["Nouvelles"]'
],
[
'name' => 'text_public_news_desc',
'state' => 0,
'data' => '["Retrouver ici les dernieres nouvelles de l\'escadron"]'
],
[
'name' => 'text_public_news_button',
'state' => 0,
'data' => '["Voir toutes les nouvelles!"]'
],
[
'name' => 'text_public_schedule_desc',
'state' => 0,
'data' => '["Voici les activitées à venir !"]'
],
[
'name' => 'text_public_schedule_title',
'state' => 0,
'data' => '["Calendrier"]'
],
[
'name' => 'text_public_picture_nb',
'state' => 0,
'data' => '["6"]'
],
[
'name' => 'text_public_cta',
'state' => 0,
'data' => '["Êtes-vous prêt à en faire partie ?"]'
],
[
'name' => 'media_facebook',
'state' => 0,
'data' => '["https://www.facebook.com/"]'
],
[
'name' => 'media_twitter',
'state' => 0,
'data' => '["https://twitter.com"]'
],
[
'name' => 'media_instagram',
'state' => 0,
'data' => '["https://www.instagram.com"]'
],
[
'name' => 'media_email',
'state' => 0,
'data' => '["exemple@email.com"]'
],
[
'name' => 'escadron_address',
'state' => 0,
'data' => '["000 Rue Exemple, Québec, Canada"]'
],
[
'name' => 'escadron_name_full',
'state' => 0,
'data' => '["Escadron 000 Exemple"]'
],
[
'name' => 'escadron_name_short',
'state' => 0,
'data' => '["Escadron 000"]'
],
[
'name' => 'escadron_number',
'state' => 0,
'data' => '["000"]'
],
[
'name' => 'escadron_element',
'state' => 0,
'data' => '["Aviation"]'
],
[
'name' => 'element_title',
'state' => 0,
'data' => '["Cadet de l\'aviation royale du Canada"]'
],
[
'name' => 'escadron_direct_googlemap_link',
'state' => 0,
'data' => '["https://goo.gl/maps/iLwGZLwWXujwoAg59"]'
],
[
'name' => 'escadron_phone',
'state' => 0,
'data' => '["(418) 722-7712"]'
],
[
'name' => 'nb_activity_public',
'state' => 0,
'data' => '["3"]'
],
[
'name' => 'file_GP_Niv_1',
'state' => 0,
'data' => '["https://drive.google.com/uc?export=download&id=1tZhDqCvMor9p6lXxYek7Q0Xc8c2o5pG7"]'
],
[
'name' => 'file_GQ_Niv_1',
'state' => 0,
'data' => '["https://drive.google.com/uc?export=download&id=1MK6Lgr_qgP8vwBIiTyIveQu9p2rh1mXj"]'
],
[
'name' => 'file_GP_Niv_2',
'state' => 0,
'data' => '["https://drive.google.com/uc?export=download&id=1oLTavI1AQsXMdhZ4QqEkbecfV4j1LKDx"]'
],
[
'name' => 'file_GQ_Niv_2',
'state' => 0,
'data' => '["https://drive.google.com/uc?export=download&id=1YzIqyVEfCiGVEI_hKB-ZHt0pAgh-QRxe"]'
],
[
'name' => 'file_GP_Niv_3',
'state' => 0,
'data' => '["https://drive.google.com/uc?export=download&id=1FrczHmiGCeONlHCuuxHNx-BZ-qEfEBK8"]'
],
[
'name' => 'file_GQ_Niv_3',
'state' => 0,
'data' => '["https://drive.google.com/uc?export=download&id=1S-NFjqlixzC9GNZSqZ1_PqBDFcm-LS1t"]'
],
[
'name' => 'file_GP_Niv_4',
'state' => 0,
'data' => '["https://drive.google.com/uc?export=download&id=1EeibjlytdzEpRdzs-eg0pGL8TBv_ZCsu]'
],
[
'name' => 'file_GQ_Niv_4',
'state' => 0,
'data' => '["https://drive.google.com/uc?export=download&id=1VmVL4wb6llIc09HkWfzL8YOQYo3ygx86"]'
],
[
'name' => 'file_empty_lesson_plan',
'state' => 0,
'data' => '["https://drive.google.com/uc?export=download&id=1i1a0sjI8I3nzt4mlcLvznjqYF-12JgfQ"]'
],
[
'name' => 'admin_periode_begin',
'state' => 0,
'data' => '["1" => "19:10","2" => "20:30"]'
],
[
'name' => 'admin_periode_end',
'state' => 0,
'data' => '["1" => "20:10","2" => "21:20"]'
],
[
'name' => 'admin_periode_nb',
'state' => 0,
'data' => '["2"]'
],
[
'name' => 'admin_level_in_schedule_nb',
'state' => 0,
'data' => '["3"]'
],
[
'name' => 'public_index_img_url',
'state' => 0,
'data' => '["./assets/img/bg2.jpg"]'
]
]);
];
$actualConfigs = \App\Config::all();
$configToAdd = [];
foreach ($configs as $config) {
$found = false;
foreach ($actualConfigs as $actualConfig) {
if ($actualConfig->name == $config['name']) {
$found = true;
}
}
if (!$found) {
array_push($configToAdd, $config);
}
}
if ($configToAdd != []) {
DB::table('configs')->insert($configToAdd);
}
}
}
+3 -1
View File
@@ -14,7 +14,9 @@ class DatabaseSeeder extends Seeder
$this->call([
JobsTableSeeder::class,
RanksTableSeeder::class,
ConfigsTableSeeder::class
ConfigsTableSeeder::class,
UsersTableSeeder::class,
ComplementaryActivitiesSeeder::class,
]);
}
}
+28 -1
View File
@@ -11,6 +11,33 @@ class UsersTableSeeder extends Seeder
*/
public function run()
{
//
DB::table('users')->insert([
[
'firstname' => 'visiteur',
'lastname' => 'Autre',
'email' => 'visiteur@exvps.ca',
'password' => bcrypt('f329er8kl2jHJGHdEj12567'),
'rank' => '1',
'adress' => 'Inconnu',
'age' => '99',
'avatar' => '3',
'sexe' => 'm',
'job' => '1',
'api_token' => str_shuffle(str_random(60)),
],
[
'firstname' => 'Administrateur',
'lastname' => 'Administrateur',
'email' => 'admin@exvps.ca',
'password' => bcrypt('SuperAdmin'),
'rank' => '1',
'adress' => 'Inconnu',
'age' => '99',
'avatar' => '3',
'sexe' => 'm',
'job' => '1',
'api_token' => str_shuffle(str_random(60)),
]
]);
}
}
+1
View File
@@ -24,6 +24,7 @@
</filter>
<php>
<env name="APP_ENV" value="testing"/>
<env name="APP_KEY" value="base64:FQH+yWnhFyB+2gpByIg2Rybmqn5EXkL7VeFawzSJ/Lc="/>
<env name="BCRYPT_ROUNDS" value="4"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
-85
View File
@@ -2238,88 +2238,3 @@ header .form-inline {
padding: 5px; } }
/*# sourceMappingURL=style.css.map */
.calendar{
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;
display: flex;
}
.calendar-date{
float: left;
margin-left: 1rem;
}
.calendar-text{
float: right;
margin-top: 1.5rem;
}
.calendar-text > div {
text-align:start;
}
@media only screen and (max-width: 800px) {
.calendar-container{
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;
}
@@ -0,0 +1,20 @@
Copyright (c) 2019 Adam Shaw
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,8 @@
# FullCalendar Bootstrap Plugin
Bootstrap 4 theming for your calendar
[View the docs &raquo;](https://fullcalendar.io/docs/bootstrap-theme)
This package was created from the [FullCalendar monorepo &raquo;](https://github.com/fullcalendar/fullcalendar)
+36
View File
@@ -0,0 +1,36 @@
.fc.fc-bootstrap a {
text-decoration: none;
}
.fc.fc-bootstrap a[data-goto]:hover {
text-decoration: underline;
}
.fc-bootstrap hr.fc-divider {
border-color: inherit;
}
.fc-bootstrap .fc-today.alert {
border-radius: 0;
}
.fc-bootstrap a.fc-event:not([href]):not([tabindex]) {
color: #fff;
}
.fc-bootstrap .fc-popover.card {
position: absolute;
}
/* Popover
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap .fc-popover .card-body {
padding: 0;
}
/* TimeGrid Slats (lines that run horizontally)
--------------------------------------------------------------------------------------------------*/
.fc-bootstrap .fc-time-grid .fc-slats table {
/* some themes have background color. see through to slats */
background: none;
}
+12
View File
@@ -0,0 +1,12 @@
// Generated by dts-bundle v0.7.3-fork.1
// Dependencies for this module:
// ../../../../../@fullcalendar/core
declare module '@fullcalendar/bootstrap' {
import { Theme } from '@fullcalendar/core';
export class BootstrapTheme extends Theme {
}
const _default: import("@fullcalendar/core").PluginDef;
export default _default;
}
+83
View File
@@ -0,0 +1,83 @@
/*!
FullCalendar Bootstrap Plugin v4.3.0
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
import { createPlugin, Theme } from '@fullcalendar/core';
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
/* global Reflect, Promise */
var extendStatics = function(d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
function __extends(d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
var BootstrapTheme = /** @class */ (function (_super) {
__extends(BootstrapTheme, _super);
function BootstrapTheme() {
return _super !== null && _super.apply(this, arguments) || this;
}
return BootstrapTheme;
}(Theme));
BootstrapTheme.prototype.classes = {
widget: 'fc-bootstrap',
tableGrid: 'table-bordered',
tableList: 'table',
tableListHeading: 'table-active',
buttonGroup: 'btn-group',
button: 'btn btn-primary',
buttonActive: 'active',
today: 'alert alert-info',
popover: 'card card-primary',
popoverHeader: 'card-header',
popoverContent: 'card-body',
// day grid
// for left/right border color when border is inset from edges (all-day in timeGrid view)
// avoid `table` class b/c don't want margins/padding/structure. only border color.
headerRow: 'table-bordered',
dayRow: 'table-bordered',
// list view
listView: 'card card-primary'
};
BootstrapTheme.prototype.baseIconClass = 'fa';
BootstrapTheme.prototype.iconClasses = {
close: 'fa-times',
prev: 'fa-chevron-left',
next: 'fa-chevron-right',
prevYear: 'fa-angle-double-left',
nextYear: 'fa-angle-double-right'
};
BootstrapTheme.prototype.iconOverrideOption = 'bootstrapFontAwesome';
BootstrapTheme.prototype.iconOverrideCustomButtonOption = 'bootstrapFontAwesome';
BootstrapTheme.prototype.iconOverridePrefix = 'fa-';
var main = createPlugin({
themeClasses: {
bootstrap: BootstrapTheme
}
});
export default main;
export { BootstrapTheme };
+91
View File
@@ -0,0 +1,91 @@
/*!
FullCalendar Bootstrap Plugin v4.3.0
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@fullcalendar/core')) :
typeof define === 'function' && define.amd ? define(['exports', '@fullcalendar/core'], factory) :
(global = global || self, factory(global.FullCalendarBootstrap = {}, global.FullCalendar));
}(this, function (exports, core) { 'use strict';
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */
/* global Reflect, Promise */
var extendStatics = function(d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
};
function __extends(d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
}
var BootstrapTheme = /** @class */ (function (_super) {
__extends(BootstrapTheme, _super);
function BootstrapTheme() {
return _super !== null && _super.apply(this, arguments) || this;
}
return BootstrapTheme;
}(core.Theme));
BootstrapTheme.prototype.classes = {
widget: 'fc-bootstrap',
tableGrid: 'table-bordered',
tableList: 'table',
tableListHeading: 'table-active',
buttonGroup: 'btn-group',
button: 'btn btn-primary',
buttonActive: 'active',
today: 'alert alert-info',
popover: 'card card-primary',
popoverHeader: 'card-header',
popoverContent: 'card-body',
// day grid
// for left/right border color when border is inset from edges (all-day in timeGrid view)
// avoid `table` class b/c don't want margins/padding/structure. only border color.
headerRow: 'table-bordered',
dayRow: 'table-bordered',
// list view
listView: 'card card-primary'
};
BootstrapTheme.prototype.baseIconClass = 'fa';
BootstrapTheme.prototype.iconClasses = {
close: 'fa-times',
prev: 'fa-chevron-left',
next: 'fa-chevron-right',
prevYear: 'fa-angle-double-left',
nextYear: 'fa-angle-double-right'
};
BootstrapTheme.prototype.iconOverrideOption = 'bootstrapFontAwesome';
BootstrapTheme.prototype.iconOverrideCustomButtonOption = 'bootstrapFontAwesome';
BootstrapTheme.prototype.iconOverridePrefix = 'fa-';
var main = core.createPlugin({
themeClasses: {
bootstrap: BootstrapTheme
}
});
exports.BootstrapTheme = BootstrapTheme;
exports.default = main;
Object.defineProperty(exports, '__esModule', { value: true });
}));
+1
View File
@@ -0,0 +1 @@
.fc.fc-bootstrap a{text-decoration:none}.fc.fc-bootstrap a[data-goto]:hover{text-decoration:underline}.fc-bootstrap hr.fc-divider{border-color:inherit}.fc-bootstrap .fc-today.alert{border-radius:0}.fc-bootstrap a.fc-event:not([href]):not([tabindex]){color:#fff}.fc-bootstrap .fc-popover.card{position:absolute}.fc-bootstrap .fc-popover .card-body{padding:0}.fc-bootstrap .fc-time-grid .fc-slats table{background:0 0}
+6
View File
@@ -0,0 +1,6 @@
/*!
FullCalendar Bootstrap Plugin v4.3.0
Docs & License: https://fullcalendar.io/
(c) 2019 Adam Shaw
*/
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@fullcalendar/core")):"function"==typeof define&&define.amd?define(["exports","@fullcalendar/core"],t):t((e=e||self).FullCalendarBootstrap={},e.FullCalendar)}(this,function(e,t){"use strict";var o=function(e,t){return(o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var o in t)t.hasOwnProperty(o)&&(e[o]=t[o])})(e,t)};var r=function(e){function t(){return null!==e&&e.apply(this,arguments)||this}return function(e,t){function r(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}(t,e),t}(t.Theme);r.prototype.classes={widget:"fc-bootstrap",tableGrid:"table-bordered",tableList:"table",tableListHeading:"table-active",buttonGroup:"btn-group",button:"btn btn-primary",buttonActive:"active",today:"alert alert-info",popover:"card card-primary",popoverHeader:"card-header",popoverContent:"card-body",headerRow:"table-bordered",dayRow:"table-bordered",listView:"card card-primary"},r.prototype.baseIconClass="fa",r.prototype.iconClasses={close:"fa-times",prev:"fa-chevron-left",next:"fa-chevron-right",prevYear:"fa-angle-double-left",nextYear:"fa-angle-double-right"},r.prototype.iconOverrideOption="bootstrapFontAwesome",r.prototype.iconOverrideCustomButtonOption="bootstrapFontAwesome",r.prototype.iconOverridePrefix="fa-";var a=t.createPlugin({themeClasses:{bootstrap:r}});e.BootstrapTheme=r,e.default=a,Object.defineProperty(e,"__esModule",{value:!0})});
@@ -0,0 +1,33 @@
{
"name": "@fullcalendar/bootstrap",
"version": "4.3.0",
"title": "FullCalendar Bootstrap Plugin",
"description": "Bootstrap 4 theming for your calendar",
"keywords": [
"calendar",
"event",
"full-sized"
],
"homepage": "https://fullcalendar.io/",
"docs": "https://fullcalendar.io/docs/bootstrap-theme",
"bugs": "https://fullcalendar.io/reporting-bugs",
"repository": {
"type": "git",
"url": "https://github.com/fullcalendar/fullcalendar.git",
"homepage": "https://github.com/fullcalendar/fullcalendar"
},
"license": "MIT",
"author": {
"name": "Adam Shaw",
"email": "arshaw@arshaw.com",
"url": "http://arshaw.com/"
},
"copyright": "2019 Adam Shaw",
"peerDependencies": {
"@fullcalendar/core": "~4.3.0"
},
"main": "main.js",
"module": "main.esm.js",
"unpkg": "main.min.js",
"types": "main.d.ts"
}
@@ -0,0 +1,20 @@
Copyright (c) 2019 Adam Shaw
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,8 @@
# FullCalendar Core Package
Provides core functionality, including the Calendar class
[View the docs &raquo;](https://fullcalendar.io/docs/initialize-es6)
This package was created from the [FullCalendar monorepo &raquo;](https://github.com/fullcalendar/fullcalendar)
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+30
View File
@@ -0,0 +1,30 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.af = factory()));
}(this, function () { 'use strict';
var af = {
code: "af",
week: {
dow: 1,
doy: 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
},
buttonText: {
prev: "Vorige",
next: "Volgende",
today: "Vandag",
year: "Jaar",
month: "Maand",
week: "Week",
day: "Dag",
list: "Agenda"
},
allDayHtml: "Heeldag",
eventLimitText: "Addisionele",
noEventsMessage: "Daar is geen gebeurtenisse nie"
};
return af;
}));
+31
View File
@@ -0,0 +1,31 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-dz'] = factory()));
}(this, function () { 'use strict';
var arDz = {
code: "ar-dz",
week: {
dow: 0,
doy: 4 // The week that contains Jan 1st is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "السابق",
next: "التالي",
today: "اليوم",
month: "شهر",
week: "أسبوع",
day: "يوم",
list: "أجندة"
},
weekLabel: "أسبوع",
allDayText: "اليوم كله",
eventLimitText: "أخرى",
noEventsMessage: "أي أحداث لعرض"
};
return arDz;
}));
+31
View File
@@ -0,0 +1,31 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-kw'] = factory()));
}(this, function () { 'use strict';
var arKw = {
code: "ar-kw",
week: {
dow: 0,
doy: 12 // The week that contains Jan 1st is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "السابق",
next: "التالي",
today: "اليوم",
month: "شهر",
week: "أسبوع",
day: "يوم",
list: "أجندة"
},
weekLabel: "أسبوع",
allDayText: "اليوم كله",
eventLimitText: "أخرى",
noEventsMessage: "أي أحداث لعرض"
};
return arKw;
}));
+31
View File
@@ -0,0 +1,31 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-ly'] = factory()));
}(this, function () { 'use strict';
var arLy = {
code: "ar-ly",
week: {
dow: 6,
doy: 12 // The week that contains Jan 1st is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "السابق",
next: "التالي",
today: "اليوم",
month: "شهر",
week: "أسبوع",
day: "يوم",
list: "أجندة"
},
weekLabel: "أسبوع",
allDayText: "اليوم كله",
eventLimitText: "أخرى",
noEventsMessage: "أي أحداث لعرض"
};
return arLy;
}));
+31
View File
@@ -0,0 +1,31 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-ma'] = factory()));
}(this, function () { 'use strict';
var arMa = {
code: "ar-ma",
week: {
dow: 6,
doy: 12 // The week that contains Jan 1st is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "السابق",
next: "التالي",
today: "اليوم",
month: "شهر",
week: "أسبوع",
day: "يوم",
list: "أجندة"
},
weekLabel: "أسبوع",
allDayText: "اليوم كله",
eventLimitText: "أخرى",
noEventsMessage: "أي أحداث لعرض"
};
return arMa;
}));
+31
View File
@@ -0,0 +1,31 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-sa'] = factory()));
}(this, function () { 'use strict';
var arSa = {
code: "ar-sa",
week: {
dow: 0,
doy: 6 // The week that contains Jan 1st is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "السابق",
next: "التالي",
today: "اليوم",
month: "شهر",
week: "أسبوع",
day: "يوم",
list: "أجندة"
},
weekLabel: "أسبوع",
allDayText: "اليوم كله",
eventLimitText: "أخرى",
noEventsMessage: "أي أحداث لعرض"
};
return arSa;
}));
+31
View File
@@ -0,0 +1,31 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['ar-tn'] = factory()));
}(this, function () { 'use strict';
var arTn = {
code: "ar-tn",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "السابق",
next: "التالي",
today: "اليوم",
month: "شهر",
week: "أسبوع",
day: "يوم",
list: "أجندة"
},
weekLabel: "أسبوع",
allDayText: "اليوم كله",
eventLimitText: "أخرى",
noEventsMessage: "أي أحداث لعرض"
};
return arTn;
}));
+31
View File
@@ -0,0 +1,31 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ar = factory()));
}(this, function () { 'use strict';
var ar = {
code: "ar",
week: {
dow: 6,
doy: 12 // The week that contains Jan 1st is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "السابق",
next: "التالي",
today: "اليوم",
month: "شهر",
week: "أسبوع",
day: "يوم",
list: "أجندة"
},
weekLabel: "أسبوع",
allDayText: "اليوم كله",
eventLimitText: "أخرى",
noEventsMessage: "أي أحداث لعرض"
};
return ar;
}));
+31
View File
@@ -0,0 +1,31 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.bg = factory()));
}(this, function () { 'use strict';
var bg = {
code: "bg",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "назад",
next: "напред",
today: "днес",
month: "Месец",
week: "Седмица",
day: "Ден",
list: "График"
},
allDayText: "Цял ден",
eventLimitText: function (n) {
return "+още " + n;
},
noEventsMessage: "Няма събития за показване"
};
return bg;
}));
+32
View File
@@ -0,0 +1,32 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.bs = factory()));
}(this, function () { 'use strict';
var bs = {
code: "bs",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "Prošli",
next: "Sljedeći",
today: "Danas",
month: "Mjesec",
week: "Sedmica",
day: "Dan",
list: "Raspored"
},
weekLabel: "Sed",
allDayText: "Cijeli dan",
eventLimitText: function (n) {
return "+ još " + n;
},
noEventsMessage: "Nema događaja za prikazivanje"
};
return bs;
}));
+30
View File
@@ -0,0 +1,30 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.ca = factory()));
}(this, function () { 'use strict';
var ca = {
code: "ca",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Anterior",
next: "Següent",
today: "Avui",
month: "Mes",
week: "Setmana",
day: "Dia",
list: "Agenda"
},
weekLabel: "Set",
allDayText: "Tot el dia",
eventLimitText: "més",
noEventsMessage: "No hi ha esdeveniments per mostrar"
};
return ca;
}));
+32
View File
@@ -0,0 +1,32 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.cs = factory()));
}(this, function () { 'use strict';
var cs = {
code: "cs",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Dříve",
next: "Později",
today: "Nyní",
month: "Měsíc",
week: "Týden",
day: "Den",
list: "Agenda"
},
weekLabel: "Týd",
allDayText: "Celý den",
eventLimitText: function (n) {
return "+další: " + n;
},
noEventsMessage: "Žádné akce k zobrazení"
};
return cs;
}));
+30
View File
@@ -0,0 +1,30 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.da = factory()));
}(this, function () { 'use strict';
var da = {
code: "da",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Forrige",
next: "Næste",
today: "I dag",
month: "Måned",
week: "Uge",
day: "Dag",
list: "Agenda"
},
weekLabel: "Uge",
allDayText: "Hele dagen",
eventLimitText: "flere",
noEventsMessage: "Ingen arrangementer at vise"
};
return da;
}));
+33
View File
@@ -0,0 +1,33 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.de = factory()));
}(this, function () { 'use strict';
var de = {
code: "de",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Zurück",
next: "Vor",
today: "Heute",
year: "Jahr",
month: "Monat",
week: "Woche",
day: "Tag",
list: "Terminübersicht"
},
weekLabel: "KW",
allDayText: "Ganztägig",
eventLimitText: function (n) {
return "+ weitere " + n;
},
noEventsMessage: "Keine Ereignisse anzuzeigen"
};
return de;
}));
+30
View File
@@ -0,0 +1,30 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.el = factory()));
}(this, function () { 'use strict';
var el = {
code: "el",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4st is the first week of the year.
},
buttonText: {
prev: "Προηγούμενος",
next: "Επόμενος",
today: "Σήμερα",
month: "Μήνας",
week: "Εβδομάδα",
day: "Ημέρα",
list: "Ατζέντα"
},
weekLabel: "Εβδ",
allDayText: "Ολοήμερο",
eventLimitText: "περισσότερα",
noEventsMessage: "Δεν υπάρχουν γεγονότα για να εμφανιστεί"
};
return el;
}));
+17
View File
@@ -0,0 +1,17 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['en-au'] = factory()));
}(this, function () { 'use strict';
var enAu = {
code: "en-au",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
}
};
return enAu;
}));
+17
View File
@@ -0,0 +1,17 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['en-gb'] = factory()));
}(this, function () { 'use strict';
var enGb = {
code: "en-gb",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
}
};
return enGb;
}));
+17
View File
@@ -0,0 +1,17 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['en-nz'] = factory()));
}(this, function () { 'use strict';
var enNz = {
code: "en-nz",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
}
};
return enNz;
}));
+30
View File
@@ -0,0 +1,30 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['es-us'] = factory()));
}(this, function () { 'use strict';
var esUs = {
code: "es",
week: {
dow: 0,
doy: 6 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "Ant",
next: "Sig",
today: "Hoy",
month: "Mes",
week: "Semana",
day: "Día",
list: "Agenda"
},
weekLabel: "Sm",
allDayHtml: "Todo<br/>el día",
eventLimitText: "más",
noEventsMessage: "No hay eventos para mostrar"
};
return esUs;
}));
+30
View File
@@ -0,0 +1,30 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.es = factory()));
}(this, function () { 'use strict';
var es = {
code: "es",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Ant",
next: "Sig",
today: "Hoy",
month: "Mes",
week: "Semana",
day: "Día",
list: "Agenda"
},
weekLabel: "Sm",
allDayHtml: "Todo<br/>el día",
eventLimitText: "más",
noEventsMessage: "No hay eventos para mostrar"
};
return es;
}));
+32
View File
@@ -0,0 +1,32 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.et = factory()));
}(this, function () { 'use strict';
var et = {
code: "et",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Eelnev",
next: "Järgnev",
today: "Täna",
month: "Kuu",
week: "Nädal",
day: "Päev",
list: "Päevakord"
},
weekLabel: "näd",
allDayText: "Kogu päev",
eventLimitText: function (n) {
return "+ veel " + n;
},
noEventsMessage: "Kuvamiseks puuduvad sündmused"
};
return et;
}));
+30
View File
@@ -0,0 +1,30 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.eu = factory()));
}(this, function () { 'use strict';
var eu = {
code: "eu",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "Aur",
next: "Hur",
today: "Gaur",
month: "Hilabetea",
week: "Astea",
day: "Eguna",
list: "Agenda"
},
weekLabel: "As",
allDayHtml: "Egun<br/>osoa",
eventLimitText: "gehiago",
noEventsMessage: "Ez dago ekitaldirik erakusteko"
};
return eu;
}));
+33
View File
@@ -0,0 +1,33 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.fa = factory()));
}(this, function () { 'use strict';
var fa = {
code: "fa",
week: {
dow: 6,
doy: 12 // The week that contains Jan 1st is the first week of the year.
},
dir: 'rtl',
buttonText: {
prev: "قبلی",
next: "بعدی",
today: "امروز",
month: "ماه",
week: "هفته",
day: "روز",
list: "برنامه"
},
weekLabel: "هف",
allDayText: "تمام روز",
eventLimitText: function (n) {
return "بیش از " + n;
},
noEventsMessage: "هیچ رویدادی به نمایش"
};
return fa;
}));
+30
View File
@@ -0,0 +1,30 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.fi = factory()));
}(this, function () { 'use strict';
var fi = {
code: "fi",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Edellinen",
next: "Seuraava",
today: "Tänään",
month: "Kuukausi",
week: "Viikko",
day: "Päivä",
list: "Tapahtumat"
},
weekLabel: "Vk",
allDayText: "Koko päivä",
eventLimitText: "lisää",
noEventsMessage: "Ei näytettäviä tapahtumia"
};
return fi;
}));
+27
View File
@@ -0,0 +1,27 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['fr-ca'] = factory()));
}(this, function () { 'use strict';
var frCa = {
code: "fr",
buttonText: {
prev: "Précédent",
next: "Suivant",
today: "Aujourd'hui",
year: "Année",
month: "Mois",
week: "Semaine",
day: "Jour",
list: "Mon planning"
},
weekLabel: "Sem.",
allDayHtml: "Toute la<br/>journée",
eventLimitText: "en plus",
noEventsMessage: "Aucun événement à afficher"
};
return frCa;
}));
+31
View File
@@ -0,0 +1,31 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales['fr-ch'] = factory()));
}(this, function () { 'use strict';
var frCh = {
code: "fr-ch",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Précédent",
next: "Suivant",
today: "Courant",
year: "Année",
month: "Mois",
week: "Semaine",
day: "Jour",
list: "Mon planning"
},
weekLabel: "Sm",
allDayHtml: "Toute la<br/>journée",
eventLimitText: "en plus",
noEventsMessage: "Aucun événement à afficher"
};
return frCh;
}));
+31
View File
@@ -0,0 +1,31 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.fr = factory()));
}(this, function () { 'use strict';
var fr = {
code: "fr",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Précédent",
next: "Suivant",
today: "Aujourd'hui",
year: "Année",
month: "Mois",
week: "Semaine",
day: "Jour",
list: "Mon planning"
},
weekLabel: "Sem.",
allDayHtml: "Toute la<br/>journée",
eventLimitText: "en plus",
noEventsMessage: "Aucun événement à afficher"
};
return fr;
}));
+30
View File
@@ -0,0 +1,30 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.gl = factory()));
}(this, function () { 'use strict';
var gl = {
code: "gl",
week: {
dow: 1,
doy: 4 // The week that contains Jan 4th is the first week of the year.
},
buttonText: {
prev: "Ant",
next: "Seg",
today: "Hoxe",
month: "Mes",
week: "Semana",
day: "Día",
list: "Axenda"
},
weekLabel: "Sm",
allDayHtml: "Todo<br/>o día",
eventLimitText: "máis",
noEventsMessage: "Non hai eventos para amosar"
};
return gl;
}));
+27
View File
@@ -0,0 +1,27 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.he = factory()));
}(this, function () { 'use strict';
var he = {
code: "he",
dir: 'rtl',
buttonText: {
prev: "הקודם",
next: "הבא",
today: "היום",
month: "חודש",
week: "שבוע",
day: "יום",
list: "סדר יום"
},
allDayText: "כל היום",
eventLimitText: "אחר",
noEventsMessage: "אין אירועים להצגה",
weekLabel: "שבוע"
};
return he;
}));
+32
View File
@@ -0,0 +1,32 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.hi = factory()));
}(this, function () { 'use strict';
var hi = {
code: "hi",
week: {
dow: 0,
doy: 6 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "पिछला",
next: "अगला",
today: "आज",
month: "महीना",
week: "सप्ताह",
day: "दिन",
list: "कार्यसूची"
},
weekLabel: "हफ्ता",
allDayText: "सभी दिन",
eventLimitText: function (n) {
return "+अधिक " + n;
},
noEventsMessage: "कोई घटनाओं को प्रदर्शित करने के लिए"
};
return hi;
}));
+32
View File
@@ -0,0 +1,32 @@
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
typeof define === 'function' && define.amd ? define(factory) :
(global = global || self, (global.FullCalendarLocales = global.FullCalendarLocales || {}, global.FullCalendarLocales.hr = factory()));
}(this, function () { 'use strict';
var hr = {
code: "hr",
week: {
dow: 1,
doy: 7 // The week that contains Jan 1st is the first week of the year.
},
buttonText: {
prev: "Prijašnji",
next: "Sljedeći",
today: "Danas",
month: "Mjesec",
week: "Tjedan",
day: "Dan",
list: "Raspored"
},
weekLabel: "Tje",
allDayText: "Cijeli dan",
eventLimitText: function (n) {
return "+ još " + n;
},
noEventsMessage: "Nema događaja za prikaz"
};
return hr;
}));

Some files were not shown because too many files have changed in this diff Show More