mirror of
https://gitlab.com/TheGamecraft/c-cms.git
synced 2026-04-21 02:39:10 -04:00
begin of schedule editor
This commit is contained in:
702
app/Http/Controllers/OCOMController.php
Normal file
702
app/Http/Controllers/OCOMController.php
Normal file
@@ -0,0 +1,702 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use App\OCOM;
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
use function GuzzleHttp\Psr7\str;
|
||||||
|
|
||||||
|
class OCOMController 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()
|
||||||
|
{
|
||||||
|
|
||||||
|
$text = "Niveau 1,,,,,,,,,Niveau 2,,,,,,,,,Niveau 3,,,,,,,,,Niveau 4,,,,,,,
|
||||||
|
N° de l'OREN,Objectif de rendement,N° de l’OCOM,Objectif de compétence,Nbredepériode,,Nbre dans horaire,Instructeur,,N° de l’OREN,Objectif de rendement,N° de l’OCOM,Objectif de compétence,Nbre de période,,Nbre dans horaire,Instructeur,,\"N° de
|
||||||
|
l’OREN\",\"Objectif de
|
||||||
|
rendement\",\"N° de
|
||||||
|
l’OCOM\",Objectif de compétence,Nbredepériodes,,Nbre dans horaire,Instructeur,,N° de l'OREN,Objectif de rendement,N° de l’OCOM,Objectif de compétence,Nbredepériode,,Nbre dans horaire,Instructeur
|
||||||
|
100,\"Participer à l'instruction
|
||||||
|
sur les relations sociales positives pour les jeunes\",S.O.,Sous-module 1 — Nos attentes face aux cadets,2,,,,,X01,\"Participer à des activités sur le
|
||||||
|
civisme\",MX01.01A,Participer à une visite reliée au civisme,3,,,,,X01,\"Participer à des
|
||||||
|
activités sur le civisme\",MX01.01A,Participer à une visite reliée au civisme,3,,,,,400,Participer à l'instruction sur les relations sociales positives pour les jeunes,S.O.,Sous-module 1 – Votre responsabilité en tant que chef à influencer les relations sociales positives,2,,,
|
||||||
|
,,S.O.,\"Sous-module 2 — Ce qui peut se produire
|
||||||
|
lorsque les comportements dépassent ou ne répondent pas aux attentes\",1,,,,,,,MX01.01B,\"Assister à une présentation donnée par
|
||||||
|
un organisme communautaire\",3,,,,,,,MX01.01B,\"Assister à une présentation donnée par un
|
||||||
|
organisme communautaire\",3,,,,,,,S.O.,Sous-module 2 – Ce que les plaintes et le consentement sont et la façon de pratiquer la réduction du risque,2,,,
|
||||||
|
,,S.O.,\"Sous-module 3 — Ce que sont le harcèlement,
|
||||||
|
les actes criminels et la violence faite aux enfants et où on peut obtenir de l’aide\",1,,,,,,,MX01.01C,\"Assister à une présentation donnée par
|
||||||
|
un citoyen d'intérêt\",3,,,,,,,MX01.01C,\"Assister à une présentation donnée par un citoyen
|
||||||
|
d’intérêt\",3,,,,,,,S.O.,Sous-module 3 – Votre responsabilité en tant que chef pour aider à gérer les conflits,2,,,
|
||||||
|
,,S.O.,Sous-module 4- ,2,,,,,,,MX01.01D,\"Participer au défi de la citoyenneté
|
||||||
|
canadienne\",3,,,,,,,MX01.01D,Participer au défi de la citoyenneté canadienne,3,,,,,,,,OREN 400 - Total des périodes d’instruction obligatoires,6,,,
|
||||||
|
,,\"OREN 100 - Total des périodes d’instruction
|
||||||
|
obligatoires\",,6,,0,,,,,MX01.01E,\"Organiser une cérémonie de
|
||||||
|
citoyenneté\",3,,,, ,,,MX01.01E,Organiser une cérémonie de citoyenneté,3,,,,,,,,OREN 400 - Total des périodes d’instruction complémentaires,0,,,
|
||||||
|
X01,\"Participer à des activités
|
||||||
|
sur le civisme\",MX01.01A,Participer à une visite reliée au civisme,3,,,,,,,MX01.01F,Participer à une élection,3,,,,,,,MX01.01F,Participer à une élection,3,,,,,X01,Participer à des activités sur le civisme,MX01.01A,Participer à une visite reliée au civisme,3,,,
|
||||||
|
,,MX01.01B,\"Assister à une présentation donnée par un
|
||||||
|
organisme communautaire\",3,,,,,,,MX01.01G,\"Participer à des activités relatives aux
|
||||||
|
vidéos sur les Minutes du Patrimoine\",3,,,,,,,MX01.01G,\"Participer à des activités relatives aux vidéos sur les
|
||||||
|
Minutes du Patrimoine\",3,,,,,,,MX01.01B,Assister à une présentation donnée par un organisme communautaire,3,,,
|
||||||
|
,,MX01.01C,\"Assister à une présentation donnée par un
|
||||||
|
citoyen d'intérêt\",3,,,,,,,MX01.01H,\"Participer à des ateliers
|
||||||
|
d'apprentissage sur le civisme\",3,,,,,,,MX01.01H,\"Participer à des ateliers d’apprentissage sur le
|
||||||
|
civisme\",3,,,,,,,MX01.01C,Assister à une présentation donnée par un citoyen d'intérêt,3,,,
|
||||||
|
,,MX01.01D,Participer au défi de la citoyenneté canadienne,3,,,,,,,CX01.01,Participer à des activités sur le civisme,18,,,,,,,CX01.01,Participer à des activités sur le civisme,18,,,,,,,MX01.01D,Participer au défi de la citoyenneté canadienne,3,,,
|
||||||
|
,,MX01.01E,Organiser une cérémonie de citoyenneté,3,,,,,,,\"OREN X01 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,3,,0,,,,,OREN X01 - Total des périodes d’instruction obligatoires,,3,,,,,,,MX01.01E,Organiser une cérémonie de citoyenneté,3,,,
|
||||||
|
,,MX01.01F,Participer à une élection,3,,,,,,,\"OREN X01 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,18,,,,,,,\"OREN X01 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,18,,,,,,,MX01.01F,Participer à une élection,3,,,
|
||||||
|
,,MX01.01G,\"Participer à des activités relatives aux vidéos
|
||||||
|
sur les Minutes du Patrimoine\",3,,,,,X02,\"Effectuer un service
|
||||||
|
communautaire\",MX02.01,Effectuer un service communautaire,9,,,,,X02,\"Effectuer un service
|
||||||
|
communautaire\",MX02.01,Effectuer un service communautaire,9,,,,,,,MX01.01G,Participer à des activités relatives aux vidéos sur les minutes du Patrimoine,3,,,
|
||||||
|
,,MX01.01H,\"Participer à des ateliers d'apprentissage sur le
|
||||||
|
civisme\",3,,,,,,,CX02.01,Effectuer un service communautaire,18,,,,,,,CX02.01,Effectuer un service communautaire,18,,,,,,,MX01.01H,Participer à des ateliers d'apprentissage sur le civisme,3,,,
|
||||||
|
,,CX01.01,Participer à des activités sur le civisme,18,,,,,,,\"OREN X02 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,9,,,,,,,OREN X02 - Total des périodes d’instruction obligatoires,,9,,,,,,,CX01.01,Participer à des activités sur le civisme,18,,,
|
||||||
|
,,\"OREN X01 - Total des périodes d’instruction
|
||||||
|
obligatoires\",,3,,0,,,,,\"OREN X02 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,18,,,,,,,\"OREN X02 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,18,,,,,,,,OREN X01 - Total des périodes d’instruction obligatoires,3,,,
|
||||||
|
,,\"OREN X01 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,18,,,,,203,\"Démontrer des qualités de
|
||||||
|
leadership auprès des pairs\",M203.01,Discuter du leadership entre pairs,1,,1,,,303,\"Exercer le rôle d’un
|
||||||
|
chef d’équipe\",M303.01,Définir le rôle d’un chef d’équipe,2,,2,,,,,,OREN X01 - Total des périodes d’instruction complémentaires,18,,,
|
||||||
|
X02,\"Effectuer un service
|
||||||
|
communautaire\",MX02.01,Effectuer un service communautaire,9,,,,,,,M203.02,Discuter des principes de leadership,1,,1,,,,,M303.02,Participer à une relation de mentorat,1,,1,,,X02,Effectuer un service communautaire,MX02.01,Effectuer un service communautaire,9,,,
|
||||||
|
,,CX02.01,Effectuer un service communautaire,18,,,,,,,M203.03,\"Discuter de la communication efficace
|
||||||
|
entre pairs\",1,,1,,,,,M303.03,Pratiquer l’auto-évaluation,1,,1,,,,,CX02.01,Effectuer un service communautaire,18,,,
|
||||||
|
,,\"OREN X01 - Total des périodes d’instruction
|
||||||
|
obligatoires\",,9,,0,,,,,M203.04,\"Démontrer la dynamique de groupe
|
||||||
|
positive\",2,,2,,,,,M303.04,Communiquer à titre de chef d’équipe,2,,2,,,,,,OREN X02 - Total des périodes d’instruction obligatoires,9,,,
|
||||||
|
,,\"OREN X01 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,18,,0,,,,,M203.05,Discuter des comportements influents,1,,1,,,,,M303.05,Superviser les cadets,2,,2,,,,,,OREN X02 - Total des périodes d’instruction complémentaires,18,,,
|
||||||
|
103,\"Participer à titre de
|
||||||
|
membre d'une équipe\",M103.01,\"Identifier les responsabilités d'un suiveur dans
|
||||||
|
une équipe\",1,,1,,,,,M203.06,Utiliser la résolution de problème,2,,2,,,,,M303.06,Résoudre les problèmes,2,,2,,,403,Agir à titre de chef d'équipe,M403.01,Décrire les besoins et les attentes des membres d'une équipe,1,,,
|
||||||
|
,,M103.02,\"Établir un objectif personnel pour l'année
|
||||||
|
d'instruction\",1,,1,,,,,M203.07,\"Discuter de l'intégrité personnelle
|
||||||
|
comme qualité de leadership\",1,,1,,,,,M303.07,\"Diriger les cadets tout au long d’une tâche en
|
||||||
|
leadership\",2,,2,,,,,M403.02,Choisir une approche de leadership,2,,,
|
||||||
|
,,M103.03,\"Participer à des activités de promotion du
|
||||||
|
travail d’équipe\",2,,2,,,,,M203.08,\"Participer à des activités de promotion
|
||||||
|
du travail d’équipe\",1,,1,,,,,COREN de l’OREN 303,,0,,,,,,,M403.03,Motiver les membres d’une équipe,2,,,
|
||||||
|
,,C103.02,Participer à des présentations de soi,1,,,,,,,C203.02,Utiliser la résolution de problème,2,,,,,,,C303.02,Donner une présentation au sujet d’un chef,2,,,,,,,M403.04,Donner de la rétroaction aux membres de l'équipe,2,,,
|
||||||
|
,,C103.03,\"Participer à des activités de promotion du
|
||||||
|
travail d’équipe\",1,,,,,,,C203.03,Discuter des caractéristiques d'un chef,2,,,,,,,C203.01,Consigner des entrées dans un journal réflectif,3,,,,,,,M403.05,Participer à une relation de mentorat,2,,,
|
||||||
|
,,\"OREN 103 - Total des périodes d’instruction
|
||||||
|
obligatoires\",,4,,4,,,,,C203.04,\"Participer à une présentation donnée
|
||||||
|
par un chef\",2,,,,,,,C203.02,Utiliser la résolution de problème,2,,,,,,,M403.06,Agir à titre de chef d'équipe lors d’une affectation à un poste de leadership,1,,,
|
||||||
|
,,\"OREN 103 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,3,,0,,,,,C203.05,\"Participer à des activités de
|
||||||
|
renforcement de la confiance\",1,,,,,,,C203.04,Participer à une présentation donnée par un chef,2,,,,,,,COREN de l'OREN 403,,0,,,
|
||||||
|
X04,\"Suivre la participation à
|
||||||
|
des activités physiques\",MX04.01,\"Participer à 60 minutes d'activités physiques
|
||||||
|
d'intensité modérée à élevée (APIME) et suivre la participation à des activités physiques\",3,,,,,,,C203.06,\"Participer à des activités de résolution
|
||||||
|
de problème\",2,,,,,,,C203.05,\"Participer à des activités de renforcement de la
|
||||||
|
confiance\",1,,,,,,,C403.01,Participer à un séminaire sur le leadership,4 x 3,,,
|
||||||
|
,,MX04.02,\"Identifier des stratégies en vue d'accroître
|
||||||
|
la participation à des activités physiques et participer à l'évaluation de la condition physique des cadets\",3,,,,,,,\"OREN 203 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,10,,10,,,,,C203.06,Participer à des activités de résolution de problème,2,,,,,,,C303.01,Diriger une activité de promotion du travail d’équipe,3,,,
|
||||||
|
,,MX04.03,\"Participer à l’évaluation de la condition
|
||||||
|
physique des cadets et identifier des stratégies en vue d'accroître la bonne forme physique personnelle\",3,,,,,,,\"OREN 203 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,12,,,,,,,C103.03,\"Participer à des activités de promotion du travail
|
||||||
|
d’équipe\",1,,,,,,,C303.02,Donner une présentation au sujet d'un chef,2,,,
|
||||||
|
,,CX04.01,\"Participer à l’évaluation de la condition
|
||||||
|
physique des cadets et identifier des stratégies en vue d'accroître la bonne forme physique personnelle\",3,,,,,X04,\"Suivre la participation à des
|
||||||
|
activités physiques\",MX04.01,\"Participer à 60 minutes d'activités
|
||||||
|
physiques d'intensité modérée à élevée (APIME) et suivre la
|
||||||
|
participation à des activités physiques\",3,,,,,,,OREN 303 - Total des périodes d’instruction obligatoires,,12,,,,,,,,OREN 403 - Total des périodes d’instruction obligatoires,10,,,
|
||||||
|
,,CX04.02,\"Participer à des activités qui renforcent les trois
|
||||||
|
éléments de la bonne forme physique\",3,,,,,,,MX04.02,\"Identifier des stratégies en vue
|
||||||
|
d'accroître la participation à des activités physiques et participer à l'évaluation de la condition physique des cadets\",3,,,,,,,OREN 303 - Total des périodes d’instruction complémentaires,,16,,,,,,,,OREN 403 - Total des périodes d’instruction complémentaires,17,,,
|
||||||
|
,,CX04.03,Participer à un cours de cuisine,3,,,,,,,MX04.03,\"Participer à l’évaluation de la condition
|
||||||
|
physique des cadets et identifier des stratégies en vue d'accroître la bonne forme physique\",3,,,,,X04,\"Suivre la
|
||||||
|
participation à des activités physiques\",MX04.01,\"Participer à 60 minutes d’activités physiques
|
||||||
|
d’intensité modérée à élevée (APIME) et suivre la participation à des activités physiques\",3,,,,,X04,Suivre la participation à des activités physiques,MX04.01,Participer à 60 minutes d'activités physiques d'intensité modérée à élevée (APME) et suivre la participation à des activités physiques,3,,,
|
||||||
|
,,CX04.04,\"Assister à une présentation sur la bonne forme
|
||||||
|
physique et le mode de vie sain\",3,,,,,,,CX04.01,\"Participer à l’évaluation de la condition
|
||||||
|
physique des cadets et identifier des stratégies en vue d'accroître la bonne forme physique personnelle\",3,,,,,,,MX04.02,\"Identifier des stratégies en vue d’accroître la
|
||||||
|
participation à des activités physiques et participer à l’évaluation de la condition physique des cadets\",3,,,,,,,MX04.02,\"Identifier des stratégies en vue d'accroître la participation à des activités physiques et participer à l'évaluation de la condition
|
||||||
|
physique des cadets\",3,,,
|
||||||
|
,,CX04.05,Assister à un événement sportif amateur local,3,,1,,,,,CX04.02,\"Participer aux activités qui renforcent
|
||||||
|
les trois éléments de la condition physique\",3,,,,,,,MX04.03,\"Participer à l’évaluation de la condition physique des
|
||||||
|
cadets et élaborer des stratégies en vue d’accroître la bonne forme physique personnelle\",3,,,,,,,MX04.03,\"Participer à l'évaluation de la condition physique des cadets et élaborer des stratégies en vue d'accroître la bonne
|
||||||
|
forme physique personnelle\",3,,,
|
||||||
|
,,\"OREN X04 - Total des périodes d’instruction
|
||||||
|
obligatoires\",,9,,0,,,,,CX04.03,Participer à une classe de cuisine,3,,,,,,,CX04.01,\"Participer à l’évaluation de la condition physique des
|
||||||
|
cadets et élaborer des stratégies en vue d’accroître la bonne forme physique personnelle\",3,,,,,,,CX04.01,\"Participer à l'évaluation de la condition physique des cadets et élaborer des stratégies en vue d'accroître la bonne
|
||||||
|
forme physique personnelle\",3,,,
|
||||||
|
,,\"OREN X04 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,15,,1,,,,,CX04.04,\"Participer à une présentation sur la
|
||||||
|
bonne forme physique et le mode de vie sain\",3,,,,,,,CX04.02,\"Participer à des activités qui renforcent les trois
|
||||||
|
éléments de la bonne forme physique\",3,,,,,,,CX04.02,\"Participer à des activités qui renforcent les
|
||||||
|
trois éléments de la bonne forme physique\",3,,,
|
||||||
|
X05,\"Participer à des activités
|
||||||
|
physiques\",MX05.01,Participer à des activités physiques,9,,,,,,,CX04.05,\"Assister à un événement sportif
|
||||||
|
amateur local\",3,,1,,,,,CX04.03,Participer à un cours de cuisine,3,,,,,,,CX04.03,Participer à un cours de cuisine,3,,,
|
||||||
|
,,CX05.01,Participer à des activités physiques,9,,,,,,,\"OREN X04 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,9,,1,,,,,CX04.04,\"Assister à une présentation sur la bonne forme
|
||||||
|
physique et le mode de vie sain\",3,,,,,,,CX04.04,\"Assister à une présentation sur la bonne
|
||||||
|
forme physique et le mode de vie sain\",3,,,
|
||||||
|
,,CX05.02,Participer à un tournoi,9,,,,,,,\"OREN X04 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,15,,,,,,,CX04.05,Assister à un événement sportif amateur local,3,,1,,,,,CX04.05,\"Assister à un événement sportif amateur
|
||||||
|
local\",3,,,
|
||||||
|
,,\"OREN X05 - Total des périodes d’instruction
|
||||||
|
obligatoires\",,9,,,,,X05,\"Participer à des activités
|
||||||
|
physiques\",MX05.01,Participer à des activités physiques,9,,,,,,,OREN X04 - Total des périodes d’instruction obligatoires,,9,,,,,,,,\"OREN X04 - Total des périodes
|
||||||
|
d’instruction obligatoires\",9,,,
|
||||||
|
,,\"OREN X05 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,18,,,,,,,CX05.01,Participer à des activités physiques,9,,,,,,,\"OREN X04 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,15,,,,,,,,\"OREN X04 - Total des périodes
|
||||||
|
d’instruction complémentaires\",15,,,
|
||||||
|
106,\"Tirer avec la carabine à
|
||||||
|
air comprimé des cadets\",M106.01,\"Identifier les parties et les caractéristiques
|
||||||
|
d’une carabine à air comprimé Daisy 853C\",1,,,,,,,CX05.02,Participer à un tournoi,9,,,,,X05,\"Participer à des
|
||||||
|
activités physiques\",MX05.01,Participer à des activités physiques,9,,,,,X05,Participer à des activités physiques,MX05.01,Participer à des activités physiques,9,,,
|
||||||
|
,,M106.02,\"Appliquer les mesures de sécurité au
|
||||||
|
maniement de la carabine à air comprimé des cadets\",1,,,,,,,\"OREN X05 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,9,,0,,,,,CX05.01,Participer à des activités physiques,9,,,,,,,CX05.01,Participer à des activités physiques,9,,,
|
||||||
|
,,M106.03,\"Appliquer les techniques d'instruction
|
||||||
|
élémentaire de tir de précision\",2,,,,,,,\"OREN X05 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,18,,,,,,,CX05.02,Participer à un tournoi,9,,,,,,,CX05.02,Participer à un tournoi,9,,,
|
||||||
|
,,M106.04,\"Respecter les règles et les commandements
|
||||||
|
sur un champ de tir pour carabine à air comprimé\",1,,,,,206,\"Tirer avec la carabine à air
|
||||||
|
comprimé des cadets pendant une activité récréative de tir de précision\",M206.01,\"Participer à une activité récréative de
|
||||||
|
tir de précision\",3,,,,,,,OREN X05 - Total des périodes d’instruction obligatoires,,9,,,,,,,,OREN X05 - Total des périodes d’instruction obligatoires,9,,,
|
||||||
|
,,M106.05,\"Participer à une activité de familiarisation sur
|
||||||
|
le tir de précision à l'aide de la carabine à air comprimé des cadets\",3,,,,,,,C206.01,\"Pratiquer les techniques de tenue de la
|
||||||
|
carabine\",1,,,,,,,\"OREN X05 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,18,,,,,,,,OREN X05 - Total des périodes d’instruction complémentaires,18,,,
|
||||||
|
,,C106.01,\"Participer à une activité récréative de tir de
|
||||||
|
précision\",3,,,,,,,C206.02,Pratiquer les techniques de visée,2,,,,,306,\"Tirer avec la
|
||||||
|
carabine à air comprimé des cadets pendant une activité récréative de tir de précision\",M306.01,Participer à une activité récréative de tir de précision,3,,3,,,406,\"Tirer avec la carabine à air comprimé des cadets pendant une activité
|
||||||
|
récréative de tir de précision\",M406.01,Participer à une activité récréative de tir de précision,3,,,
|
||||||
|
,,C106.02,\"Nettoyer et entreposer la carabine à air
|
||||||
|
comprimé des cadets\",1,,,,,,,C206.03,Pratiquer les techniques de tir,1,,,,,,,C306.01,Identifier les associations civiles de tir de précision,1,,,,,,,C406.01,Aider l'officier de sécurité de champ de tir (OSCT),1,,,
|
||||||
|
,,,OREN 106 - Total des périodes d’instruction obligatoires,8,,0,,,,,C106.01,\"Participer à une activité récréative de
|
||||||
|
tir de précision avec la carabine à air comprimé\",6,,,,,,,C306.02,Corriger l’erreur de tir,2,,,,,,,C406.02,Marquer les cibles de tir de précision,1,,,
|
||||||
|
,,,OREN 106 - Total des périodes d’instruction complémentaires,4,,0,,,,,\"OREN 206 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,3,,0,,,,,C306.03,\"Tirer avec la carabine à air comprimé des cadets en
|
||||||
|
position debout\",2,,,,,,,C306.01,Identifier les associations civiles de tir de précision,1,,,
|
||||||
|
,,M107.01,Discuter de la première année de l'instruction,1,,,,,,,\"OREN 206 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,10,,,,,,,C206.01,Pratiquer les techniques de tenue de la carabine,1,,,,,,,C306.02,Corriger l'erreur de tir,2,,,
|
||||||
|
,,M107.02,\"Identifier les grades des cadets de l'Air et des
|
||||||
|
officiers de l'ARC\",1,,1,,,207,\"Servir dans un escadron de
|
||||||
|
cadets de l’Air\",M207.01,\"Identifier les occasions d'instruction du
|
||||||
|
niveau de compétence deux\",1,,,,,,,C206.02,Pratiquer les techniques de visée,2,,,,,,,C306.03,Adopter la position debout avec la carabine à air comprimé des cadets,2,,,
|
||||||
|
107,\"Servir dans un escadron
|
||||||
|
de cadets de l’Air\",M107.03,\"Respecter les règles et les procédures de
|
||||||
|
salutation\",1,,,,,,,M207.02,\"Reconnaître les aspects historiques
|
||||||
|
des Cadets de l’Aviation royale du Canada (CARC)\",1,,1,,,,,C206.03,Pratiquer les techniques de tir,1,,,,,,,C106.01,Participer à une activité récréative de tir de précision,6,,,
|
||||||
|
,,M107.04,\"Énoncer les objectifs et la devise du
|
||||||
|
programme des cadets de l’Air\",1,,,,,,,M207.03,\"Reconnaître les rôles et
|
||||||
|
responsabilités du répondant local\",1,,,,,,,C106.01,Participer à une activité récréative de tir de précision,6,,,,,,,,OREN 406 - Total des périodes d’instruction obligatoires,3,,,
|
||||||
|
,,M107.05,Porter l'uniforme de cadet de l'Air,2,,,,,,,M207.04,\"Identifier les occasions d'instruction de
|
||||||
|
deuxième année du CIEC\",1,,,,,,,OREN 306 - Total des périodes d’instruction obligatoires,,3,,,,,,,,OREN 406 - Total des périodes d’instruction complémentaires,13,,,
|
||||||
|
,,M107.06,Discuter des occasions d’instruction d’été,1,,1,,,,,C207.01,\"Identifier la structure des grades
|
||||||
|
des cadets de la Marine Royale canadienne et des cadets royaux de l'Armée canadienne\",1,,,,,,,OREN 306 - Total des périodes d’instruction complémentaires,,15,,,,,407,Servir dans un escadron de cadets de l’Air,M407.01,Discuter des occasions d'instruction du niveau de compétence quatre,1,,,
|
||||||
|
,,C107.01,Entretenir l’uniforme de cadet de l’air,2,,,,,,,C207.02,\"Visiter un corps de cadets de la Marine
|
||||||
|
royale canadienne / corps de cadets royaux de l'Armée canadienne ou un escadron de cadets de l’Air\",3,,,,,307,\"Servir dans un
|
||||||
|
escadron de cadets de l’Air\",M307.01,\"Identifier les occasions d’instruction du niveau de
|
||||||
|
compétence trois\",1,,,,,,,M407.02,\"Discuter des occasions d’instruction de quatrième année au Centre d’instruction
|
||||||
|
d’été des cadets (CIEC)\",1,,,
|
||||||
|
,,C107.02,Identifier la structure des grades MR de l'ARC,1,,,,,,,C207.03,Décrire l'unité d'affiliation,1,,,,,,,M307.02,\"Identifier les occasions d’instruction de troisième
|
||||||
|
année du CIEC\",1,,,,,,,C407.01,Se préparer pour un conseil de mérite,3,,,
|
||||||
|
,,C107.03,Visiter l'escadron,1,,,,,,,C207.04,\"Participer à une visite de l'unité
|
||||||
|
d'affiliation\",3,,,,,,,M307.03,\"Reconnaître le partenariat entre la Ligue des cadets
|
||||||
|
de l’Air du Canada et le ministère de la Défense nationale\",1,,1,,,,,C407.02,\"Décrire la procédure de demande pour participer aux cours et aux échanges
|
||||||
|
nationaux\",1,,,
|
||||||
|
,,C107.04,\"Participer à une activité relative à l'histoire de
|
||||||
|
l’escadron\",2,,,,,,,C107.04,\"Participer à une activité relative à
|
||||||
|
l'histoire de l’escadron\",2,,,,,,,C307.01,\"Participer à une présentation donnée par un
|
||||||
|
conférencier invité d’une Unité régionale de soutien aux cadets\",2,,,,,,,C307.01,\"Participer à une présentation donnée par
|
||||||
|
un conférencier invité d'une Unité régionale de soutien aux cadets (URSC)\",2,,,
|
||||||
|
,,,OREN 106 - Total des périodes d’instruction obligatoires,7,,2,,,,,\"OREN 207 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,4,,1,,,,,C307.02,\"Participer à une présentation donnée par l’officier de
|
||||||
|
liaison – cadets\",2,,,,,,,C307.02,\"Participer à une présentation donnée par
|
||||||
|
l’officier de liaison des cadets (OLC)\",2,,,
|
||||||
|
,,,OREN 106 - Total des périodes d’instruction complémentaires,6,,0,,,,,\"OREN 207 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,10,,,,,,,C307.03,\"Participer à une présentation donnée par un
|
||||||
|
conférencier invité de la Ligue des cadets de l’Air du Canada\",2,,,,,,,C307.03,\"Participer à une présentation donnée par
|
||||||
|
un conférencier invité de la Ligue des cadets de l'Air du Canada (LCAC)\",2,,,
|
||||||
|
,,M108.01,\"Adopter les positions garde-à-vous, en place
|
||||||
|
repos et repos\",1,,1,,,208,\"Exécuter l’exercice militaire
|
||||||
|
en tant que membre d’une escouade\",M208.01,\"Tourner à gauche et à droite en
|
||||||
|
marchant\",2,,1,,,,,OREN 307 - Total des périodes d’instruction obligatoires,,3,,,,,,,C307.04,\"Identifier les procédures de demande de bourse de pilotage de planeur et de bourse
|
||||||
|
de pilotage d'avion\",2,,,
|
||||||
|
,,M108.02,Exécuter un salut à la halte sans armes,1,,,,,,,M208.02,Former une file indienne de la halte,1,,1,,,,,OREN 307 - Total des périodes d’instruction complémentaires,,6,,,,,,,C307.05,Participer à une présentation sur le programme du Prix du Duc d'Édimbourg,1,,,
|
||||||
|
,,M108.03,Tourner à la halte,1,,,,,,,C208.01,\"S'exercer à la prise d'armes dans le
|
||||||
|
cadre d'une revue\",2,,,,,308,\"Diriger une
|
||||||
|
escouade avant un rassemblement\",M308.01,Préparer une escouade pour le rassemblement,3,,2,,,,,,OREN 407 - Total des périodes d’instruction obligatoires,2,,,
|
||||||
|
,,M108.04,\"Exécuter les mouvements pour resserrer les
|
||||||
|
rangs vers la droite et vers la gauche\",1,,,,,,,C208.02,\"Exécuter l’exercice militaire avec des
|
||||||
|
armes\",8,,,,,,,M308.02,Donner des commandements,1,,1,,,,,,OREN 407 - Total des périodes d’instruction complémentaires,13,,,
|
||||||
|
108,\"Exécuter les
|
||||||
|
mouvements d'exercice militaire dans le cadre d'une revue annuelle\",M108.05,Exécuter des pas vers l'avant et vers l'arrière,1,,,,,,,C108.01,\"Exécuter des mouvements d’exercice
|
||||||
|
militaire supplémentaires\",6,,,,,,,COREN de l’OREN 308,,0,,,,,408,Commander une section lors d’un rassemblement,M408.01,Discuter de la façon de commander une section lors d’un rassemblement,1,,,
|
||||||
|
,,M108.06,\"Exécuter les mouvements requis pour
|
||||||
|
l'alignement par la droite\",1,,1,,,,,\"OREN 208 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,3,,,,,,,C308.01,Exécuter un exercice militaire relatif aux drapeaux,4,,,,,,,M408.02,Décrire la séquence d’un rassemblement,1,,,
|
||||||
|
,,M108.07,\"Exécuter les mouvements pour ouvrir et fermer
|
||||||
|
les rangs\",1,,,,,,,\"OREN 208 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,16,,,,,,,C308.02,Donner des commandements,2,,,,,,,M408.03,Commander une escouade,1,,,
|
||||||
|
,,M108.08,Marche et halte au pas cadencé,1,,1,,,211,\"Participer à des activités
|
||||||
|
récréatives de biathlon d’été\",C211.01,Identifier les occasions de biathlon civil,1,,,,,,,C208.01,\"S’exercer à l’exercice de prise d’armes dans le
|
||||||
|
cadre d’une revue\",2,,,,,,,M408.04,Inspecter un cadet lors d'un rassemblement,1,,,
|
||||||
|
,,M108.09,\"Exécuter les mouvements pour avancer et
|
||||||
|
s'arrêter au pas cadencé en marquant le pas\",1,,1,,,,,C211.02,Courir sur un terrain accidenté,1,,,,,,,C208.02,Exécuter l’exercice militaire avec des armes,8,,,,,,,COREN de l'OREN 408,,0,,,
|
||||||
|
,,M108.10,Exécuter un salut à la marche,1,,,,,,,C211.03,\"Tirer avec la carabine à air comprimé
|
||||||
|
des cadets en se servant d’une bretelle, après une activité physique\",1,,,,,,,OREN 308 - Total des périodes d’instruction obligatoires,,4,,,,,,,C408.01,Discuter de l’histoire de l’exercice militaire,1,,,
|
||||||
|
,,M108.11,\"Exécuter un salut dans une escouade à la
|
||||||
|
marche\",1,,,,,,,C211.04,\"Participer à une activité compétitive de
|
||||||
|
biathlon d'été\",6,,,,,,,OREN 308 - Total des périodes d’instruction complémentaires,,16,,,,,,,C408.02,Observer une reconstitution historique de l’exercice militaire,3,,,
|
||||||
|
,,M108.12,\"Exécuter les mouvements d'exercice militaire
|
||||||
|
dans le cadre d'une revue annuelle\",3,,,,,,,\"OREN 211 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,9,,,,,309,\"Enseigner une
|
||||||
|
leçon\",M309.01,Expliquer les principes d’instruction,2,,2,,,,,C308.01,Exécuter un exercice militaire avec drapeaux,6,,,
|
||||||
|
,,C108.01,\"Exécuter des mouvements d’exercice militaire
|
||||||
|
supplémentaires\",6,,1,,,X20,\"Participer à des activités de
|
||||||
|
familiarisation des FAC\",MX20.01A,Participer à une activité des FAC,-,,,,,,,M309.02,Identifier les méthodes d’instruction,2,,2,,,,,C308.02,Donner des commandements,2,,,
|
||||||
|
,,C108.02,Participer à une compétition d’exercice militaire,3,,,,,,,MX20.01B,\"Participer à une visite de familiarisation
|
||||||
|
des FAC\",-,,,,,,,M309.03,Décrire les techniques de communication efficace,1,,1,,,,,C208.01,S'exercer à l'exercice de prise d'armes dans le cadre d'une revue,2,,,
|
||||||
|
,,\"OREN 108 - Total des périodes d’instruction
|
||||||
|
obligatoires\",,14,,4,,,,,MX20.01C,Tirer avec le fusil C7,-,,,,,,,M309.04,Décrire les techniques de question,1,,,,,,,C208.02,Exécuter un exercice militaire avec armes,8,,,
|
||||||
|
,,\"OREN 108 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,9,,1,,,,,MX20.01D,Participer à un dîner régimentaire,4,,4,,,,,M309.05,Choisir les aides didactiques appropriées,2,,2,,,,,,OREN 408 - Total des périodes d’instruction obligatoires,4,,,
|
||||||
|
111,\"Participer à des activités
|
||||||
|
récréatives de biathlon d’été\",C111.01,\"Participer à une séance d’information sur le
|
||||||
|
biathlon\",1,,,,,,,MX20.01E,Assister à une présentation des FAC,-,,,,,,,M309.06,Planifier une leçon,2,,2,,,,,,OREN 408 - Total des périodes d’instruction complémentaires,22,,,
|
||||||
|
,,C111.02,Courir des sprints courts,1,,,,,,,MX20.01F,\"Assister à une cérémonie
|
||||||
|
commémorative des FAC\",-,,,,,,,M309.07,Enseigner une leçon de 15 minutes,3,,2,,,409,Enseigner une leçon,M409.01,Identifier les méthodes d’instruction,2,,,
|
||||||
|
,,C111.03,\"Simuler un tir avec la carabine à air comprimé
|
||||||
|
des cadets après une activité physique\",1,,,,,,,MX20.01G,\"Participer à des activités relatives aux
|
||||||
|
vidéos des FAC\",-,,,,,,,309 PC,,0,,,,,,,M409.02,\"Identifier les éléments d'un environnement
|
||||||
|
d'apprentissage positif\",2,,,
|
||||||
|
,,C111.04,\"Participer à une activité récréative de biathlon
|
||||||
|
d'été\",6,,,,,,,MX20.01H,\"Participer à des ateliers
|
||||||
|
d'apprentissage des FAC\",-,,,,,,,C309.01,Donner un exposé oral d’une minute,2,,2,,,,,M409.03,Décrire les besoins de l’apprenant,2,,,
|
||||||
|
,,\"OREN 111 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,9,,0,,,,,CX20.01,\"Participer à des activités de
|
||||||
|
familiarisation des FAC\",18,,,,,,,C309.02,Planifier une leçon,2,,,,,,,M409.04,Expliquer l’évaluation,1,,,
|
||||||
|
X20,\"Participer à des activités
|
||||||
|
de familiarisation des Forces armées canadiennes (FAC)\",MX20.01A,Participer à une activité des FAC,-,,,,,,,\"OREN X20 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,6,,,,,,,C309.03,Enseigner une leçon de 15 minutes,3,,2,,,,,M409.05,Enseigner une leçon de 30 minutes,3,,,
|
||||||
|
,,MX20.01B,\"Participer à une visite de familiarisation des
|
||||||
|
FAC\",-,,,,,,,\"OREN X20 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,18,,,,,,,C309.04,\"Identifier les formations pour l’instruction d’exercice
|
||||||
|
militaire\",1,,,,,,,\"COREN de
|
||||||
|
l'OREN 409\",,0,,,
|
||||||
|
,,MX20.01C,Tirer avec le fusil C7,-,,,,,230,\"Discuter de l'histoire de
|
||||||
|
l'aviation canadienne\",M230.01,\"Discuter des aéronefs pilotés pendant
|
||||||
|
les Première et Seconde Guerres mondiales\",1,,1,,,,,C309.05,Planifier une leçon d’exercice militaire,2,,,,,,,C409.01,Planifier une leçon,2,,,
|
||||||
|
,,MX20.01D,Participer à un dîner régimentaire,4,,4,,,,,M230.02,\"Discuter des événements qui ont
|
||||||
|
marqué l'histoire militaire canadienne du 20esiècle\",1,,1,,,,,C309.06,\"Enseigner une leçon d’exercice militaire de
|
||||||
|
15 minutes\",3,,,,,,,C409.02,Enseigner une leçon de 30 minutes,3,,,
|
||||||
|
,,MX20.01E,Assister à une présentation des FAC,-,,,,,,,C230.01,\"Participer à une présentation donnée
|
||||||
|
par un membre du bureau des conférenciers du Projet Mémoire\",2,,,,,,,OREN 309 - Total des périodes d’instruction obligatoires,,13,,,,,,,C409.03,Agir à titre d’instructeur adjoint,3,,,
|
||||||
|
,,MX20.01F,\"Assister à une cérémonie commémorative des
|
||||||
|
FAC\",-,,,,,,,C230.02,Visiter un musée d’aviation de la région,3,,,,,,,OREN 309 - Total des périodes d’instruction complémentaires,,13,,,,,,,C409.04,\"Participer à un atelier de planification de
|
||||||
|
leçon créative\",3,,,
|
||||||
|
,,MX20.01G,\"Participer à des activités relatives aux vidéos
|
||||||
|
des FAC\",-,,,,,,,C230.03,\"Discuter des événements qui
|
||||||
|
ont marqué l'histoire de l'aviation canadienne\",1,,,,,311,\"Participer à une
|
||||||
|
activité récréative de biathlon d’été\",C311.01,\"Pratiquer la visée et le tir à la carabine à air
|
||||||
|
comprimé des cadets après une activité physique\",3,,,,,,,C409.05,\"Agir à titre d’instructeur adjoint d’exercice
|
||||||
|
militaire\",3,,,
|
||||||
|
,,MX20.01H,\"Participer à des ateliers d'apprentissage des
|
||||||
|
FAC\",-,,,,,,,C130.03,\"Visionner la vidéo intitulée « Sur des
|
||||||
|
ailes canadiennes »\",8,,1,,,,,C311.02,Participer à une activité récréative de biathlon d’été,6,,,,,,,C409.06,\"Enseigner une leçon d'exercice militaire de
|
||||||
|
30 minutes\",3,,,
|
||||||
|
,,CX20.01,\"Participer à des activités de familiarisation des
|
||||||
|
FAC\",18,,,,,,,\"OREN 230 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,2,,,,,,,C211.01,Identifier les occasions de biathlon civil,1,,,,,,,C309.04,\"Identifier les formations pour l'instruction
|
||||||
|
d'exercice militaire\",1,,,
|
||||||
|
,,\"OREN X20 - Total des périodes d'instruction
|
||||||
|
obligatoires\",,6,,4,,,,,\"OREN 230 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,14,,,,,,,C211.02,Courir sur un terrain accidenté,1,,,,,,,C309.05,Planifier une leçon d'exercice militaire,2,,,
|
||||||
|
,,\"OREN X20 - Total des périodes d'instruction
|
||||||
|
complémentaires\",,18,,0,,,231,Expliquer les principes de vol,M231.01,\"Identifier les quatre forces qui agissent
|
||||||
|
sur un aéronef\",2,,2,,,,,C211.03,\"Tirer avec la carabine à air comprimé des cadets
|
||||||
|
en se servant d’une bretelle, après une activité physique\",1,,,,,,,C309.06,Enseigner une leçon d'exercice militaire de 15 minutes,3,,,
|
||||||
|
121,\"Participer à des activités
|
||||||
|
de familiarisation avec les communautés canadiennes
|
||||||
|
de l'aviation, de l'aérospatiale et des activités d’opérations d’aérodrome\",M121.01,\"Discuter des occasions offertes au sein de
|
||||||
|
l’aviation\",1,,1,,,,,M231.02,\"Décrire la façon dont la portance se
|
||||||
|
développe sur une voilure d'aéronef\",2,,2,,,,,C211.04,Participer à une activité compétitive de biathlon d’été,6,,,,,,,,OREN 409 - Total des périodes d’instruction obligatoires,10,,,
|
||||||
|
,,C121.01,\"Participer à une présentation donnée par
|
||||||
|
un membre de l'Aviation canadienne, de l'aérospatiale ou du personnel des opérations d'aérodrome\",8,,,,,,,M231.03,\"Décrire les types de traînée qui
|
||||||
|
agissent sur un aéronef\",2,,,,,,,C111.01,Participer à une séance d’information sur le biathlon,1,,,,,,,,OREN 409 - Total des périodes d’instruction complémentaires,23,,,
|
||||||
|
,,\"OREN 121 - Total des périodes d’instruction
|
||||||
|
obligatoires\",,1,,1,,,,,M231.04,\"Décrire les mouvements axiaux d'un
|
||||||
|
aéronef\",1,,,,,,,C111.02,Courir des sprints courts,1,,,,,311,Participer à une activité récréative de biathlon d'été,C311.01,Pratiquer la visée et le tir à la carabine à air comprimé des cadets après une activité physique,3,,,
|
||||||
|
129,\"Communiquer au moyen
|
||||||
|
de l’alphabet phonétique et des chiffres\",M129.01,Réciter l’alphabet et les chiffres phonétiques,1,,,,,,,M231.05,Décrire les gouvernes d'un aéronef,2,,,,,,,C111.03,\"Tirer avec la carabine à air comprimé des cadets
|
||||||
|
après une activité physique\",1,,,,,,,C311.02,Participer à une activité récréative de biathlon d'été,6,,,
|
||||||
|
,,\"OREN 129 - Total des périodes d’instruction
|
||||||
|
obligatoires\",,1,,0,,,,,C231.01,\"Faire fonctionner une voilure
|
||||||
|
expérimentale\",2,,,,,,,C111.04,Participer à une activité récréative de biathlon d’été,6,,,,,,,C211.01,Identifier les occasions de biathlon civil,1,,,
|
||||||
|
,,\"OREN 129 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,0,,,,,,,C231.02,\"Faire voler un planeur Colditz en
|
||||||
|
papier\",2,,,,,,,OREN 311 - Total des périodes d’instruction obligatoires,,0,,,,,,,C211.02,Courir sur un terrain accidenté,1,,,
|
||||||
|
130,\"Participer à des activités
|
||||||
|
d’aviation\",M130.01,\"Identifier les avions militaires, civils et ceux
|
||||||
|
utilisés par les cadets\",2,,,,,,,C231.03,Visiter une école de pilotage,3,,,,,,,OREN 311 - Total des périodes d’instruction complémentaires,,27,,,,,,,C211.03,\"Tirer avec la carabine à air comprimé des cadets en se servant d'une bretelle, après une activité physique\",1,,,
|
||||||
|
,,M130.02,Décrire les composants principaux d’un avion,1,,1,,,,,C231.04,\"Participer à une présentation donnée
|
||||||
|
par un conférencier invité du milieu de l'aviation local\",2,,,,,X20,\"Participer à
|
||||||
|
des activités de familiarisation des Forces armées canadiennes (FAC)\",MX20.01A,Participer à une activité des FAC,-,,,,,,,C211.04,Participer à une activité compétitive de biathlon d'été,6,,,
|
||||||
|
,,M130.03,Assembler un modèle réduit d'avion,2,,,,,,,C231.05,Visiter un simulateur de vol,3,,,,,,,MX20.01B,Participer à une visite de familiarisation des FAC,-,,,,,,,C111.01,Participer à une séance d’information sur le biathlon,1,,,
|
||||||
|
,,M130.04,\"Visionner la vidéo intitulée « Sur des ailes
|
||||||
|
canadiennes»\",1,,,,,,,C231.06,\"Assister à un spectacle aérien de la
|
||||||
|
région\",6,,,,,,,MX20.01C,Tirer avec le fusil C7,-,,,,,,,C111.02,Courir des sprints courts,1,,,
|
||||||
|
,,C130.01,Participer à l'inspection extérieure d’un aéronef,1,,,,,,,\"OREN 231 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,9,,,,,,,MX20.01D,Participer à un dîner régimentaire,4,,4,,,,,C111.03,Tirer avec la carabine à air comprimé des cadets après une activité physique,1,,,
|
||||||
|
,,C130.02,Identifier des avions internationaux,1,,,,,,,\"OREN 231 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,18,,,,,,,MX20.01E,Assister à une présentation des FAC,-,,,,,,,C111.04,Participer à une activité récréative de biathlon d'été,6,,,
|
||||||
|
,,C130.03,\"Visionner la vidéo intitulée « Sur des ailes
|
||||||
|
canadiennes»\",8,,,,,232,\"Identifier les caractéristiques
|
||||||
|
d'un aéronef à moteur à pistons\",M232.01,\"Identifier les types de moteurs
|
||||||
|
d'aéronef\",1,,,,,,,MX20.01F,Assister à une cérémonie commémorative des FAC,-,,,,,,,,OREN 311 - Total des périodes d’instruction obligatoires,0,,,
|
||||||
|
,,C130.04,Visiter un musée d’aviation de la région,3,,,,,,,M232.02,\"Identifier les composants des moteurs
|
||||||
|
à combustion interne et moteur à pistons\",2,,,,,,,MX20.01G,\"Participer à des activités relatives aux vidéos des
|
||||||
|
FAC\",-,,,,,,,,OREN 311 - Total des périodes d’instruction complémentaires,27,,,
|
||||||
|
,,C130.05,Assister à un spectacle aérien local,6,,,,,,,M232.03,\"Expliquer les cycles d'un moteur à
|
||||||
|
pistons à quatre temps\",2,,,,,,,MX20.01H,Participer à des ateliers d’apprentissage des FAC,-,,,,,X20,Participer à des activités de familiarisation des Forces armées canadiennes (FAC),MX20.01A,Participer à une activité des FAC,-,,,
|
||||||
|
,,\"OREN 130 - Total des périodes d’instruction
|
||||||
|
obligatoires\",,6,,1,,,,,M232.04,\"Reconnaître les fonctions de l'huile
|
||||||
|
dans un moteur à pistons à quatre temps\",1,,,,,,,CX20.01,Participer à des activités de familiarisation des FAC,18,,,,,,,MX20.01B,\"Participer à une visite de familiarisation des
|
||||||
|
FAC\",-,,,
|
||||||
|
,,\"OREN 130 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,19,,0,,,,,C232.01,\"Identifier les caractéristiques des
|
||||||
|
turbines à gaz\",2,,,,,,,OREN X20 - Total des périodes d’instruction obligatoires,,6,,,,,,,MX20.01C,Tirer avec le fusil C7,-,,,
|
||||||
|
140,\"Participer à des activités
|
||||||
|
aérospatiales\",M140.01,Lancer une fusée à eau,3,,3,,,,,C232.02,\"Identifier les caractéristiques des
|
||||||
|
moteurs-fusées\",2,,,,,,,\"OREN X20 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,18,,,,,,,MX20.01D,Participer à un dîner régimentaire,4,,,
|
||||||
|
,,C140.01,Lancer une fusée en mousse,2,,,,,,,C232.03,\"Identifier les caractéristiques des
|
||||||
|
moteurs d'hélicoptère\",2,,,,,331,\"Décrire les
|
||||||
|
principes de vol\",M331.01,Décrire la stabilité d’un aéronef,2,,2,,,,,MX20.01E,Assister à une présentation des FAC,-,,,
|
||||||
|
,,C140.02,Discuter des cycles de sommeil dans l'espace,2,,,,,,,\"OREN 232 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,6,,,,,,,C331.01,Réviser les principes de vol,1,,,,,,,MX20.01F,\"Assister à une cérémonie commémorative
|
||||||
|
des FAC\",-,,,
|
||||||
|
,,\"OREN 140 - Total des périodes d’instruction
|
||||||
|
obligatoires\",,3,,3,,,,,\"OREN 232 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,6,,,,,,,C331.02,Lire les instruments anémométriques,2,,,,,,,MX20.01G,\"Participer à des activités relatives aux
|
||||||
|
vidéos des FAC\",-,,,
|
||||||
|
,,\"OREN 140 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,4,,0,,,240,\"Participer à des activités
|
||||||
|
aérospatiales\",M240.01,\"Explorer les avancées technologiques
|
||||||
|
actuelles en aérospatiale\",1,,,,,,,C331.03,\"Identifier les aspects de l’aérodynamique d’un
|
||||||
|
hélicoptère\",1,,,,,,,MX20.01H,\"Participer à des ateliers d'apprentissage
|
||||||
|
des FAC\",-,,,
|
||||||
|
160,\"Participer à des
|
||||||
|
activités d’opérations d’aérodrome\",M160.01,Identifier les parties principales d’un aérodrome,1,,,,,,,M240.02,\"Inventer un objet comportant une
|
||||||
|
technologie spatiale\",2,,,,,,,C331.04,\"Faire la démonstration des assiettes et des
|
||||||
|
mouvements dans un simulateur de vol\",3,,,,,,,CX20.01,\"Participer à des activités de familiarisation
|
||||||
|
des FAC\",18,,,
|
||||||
|
,,M160.02,Identifier les caractéristiques d’une piste,1,,,,,,,M240.03,\"Participer à une mise en situation de
|
||||||
|
survie dans l'espace\",1,,,,,,,C331.05,\"Participer à une présentation donnée par un
|
||||||
|
conférencier invité du milieu de l’aviation local\",2,,,,,,,,\"OREN X20 - Total des périodes
|
||||||
|
d’instruction obligatoires\",6,,,
|
||||||
|
,,M160.03,Fabriquer un modèle réduit d'aérodrome,2,,,,,,,C240.01,\"Participer à une activité de
|
||||||
|
communication non verbale\",1,,,,,,,OREN 331 - Total des périodes d’instruction obligatoires,,2,,,,,,,,OREN X20 - Total des périodes d’instruction complémentaires,18,,,
|
||||||
|
,,C160.01,Visiter un aérodrome local,3,,,,,,,C240.02,\"Inventer un système de communication
|
||||||
|
pour l'espace\",2,,,,,,,OREN 331 - Total des périodes d’instruction complémentaires,,9,,,,,429,Communiquer en utilisant les procédures radio pour les transmissions destinées à l'aviation,C429.01,Expliquer le règlement et les procédures d’opération pour les transmissions destinées à l’aviation et la délivrance de licence,1,,,
|
||||||
|
,,\"OREN 160 - Total des périodes d’instruction
|
||||||
|
obligatoires\",,4,,0,,,,,C240.03,Identifier les parties d'une fusée,1,,,,,336,\"Identifier les
|
||||||
|
conditions météorologiques\",M336.01,Décrire les propriétés de l’atmosphère,1,,1,,,,,C429.02,Communiquer en utilisant les procédures radio pour les transmissions destinées à l'aviation,1,,,
|
||||||
|
,,\"OREN 160 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,3,,0,,,,,C240.04,\"Naviguer au moyen d’un système
|
||||||
|
mondial de positionnement (GPS)\",3,,,,,,,M336.02,Expliquer la formation des nuages,1,,1,,,,,C429.03,\"Décrire les longueurs d’ondes, les signaux, les licences et l’équipement radio\",1,,,
|
||||||
|
170,\"Discuter de la
|
||||||
|
construction et de la maintenance des aéronefs\",C170.01,Regarder des segments de Comment c'est fait,2,,,,,,,C240.05,\"Simuler une situation de survie dans
|
||||||
|
l'espace\",2,,,,,,,M336.03,\"Expliquer les effets de la pression d’air sur la
|
||||||
|
température\",1,,,,,,,C429.04,\"Expliquer les communications de secours, d’urgence et de sécurité\",1,,,
|
||||||
|
,,C170.02,\"Visiter des installations de maintenance
|
||||||
|
d’aviation de la région\",3,,,,,,,C240.06,\"S'orienter à l'aide des constellations
|
||||||
|
pendant un exercice d'entraînement en campagne\",1,,,,,,,M336.04,\"Expliquer les effets de l’humidité et de la
|
||||||
|
température sur les conditions météorologiques\",2,,,,,,,COREN de l’OREN 429,,2,,,
|
||||||
|
,,\"OREN 170 - Total des périodes d’instruction
|
||||||
|
obligatoires\",,0,,,,,,,\"OREN 240 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,4,,,,,,,\"331/336/
|
||||||
|
COREN de l’OREN 337\",Sujets sur l’aviation - Évaluation combinée,1,,,,,,,,OREN 429 - Total des périodes d’instruction obligatoires,0,,,
|
||||||
|
,,\"OREN 170 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,5,,0,,,,,\"OREN 240 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,10,,,,,,,C336.01,\"Lire un message d’observation météorologique
|
||||||
|
régulière pour l’aviation (METAR)\",2,,,,,,,,OREN 429 - Total des périodes d’instruction complémentaires,6,,,
|
||||||
|
190,\"Participer à un exercice
|
||||||
|
de survie pour équipage de vol\",M190.01,\"Emballer l’équipement personnel nécessaire
|
||||||
|
pour un exercice en campagne\",2,,2,,,260,\"Participer à des activités
|
||||||
|
d’opérations d’aérodrome\",M260.01,\"Expliquer les aspects du contrôle de la
|
||||||
|
circulation aérienne\",1,,,,,,,C336.02,Visiter une installation météorologique,3,,,,,431,Expliquer les principes de vol,M431.01,Expliquer les caractéristiques d’une voilure,1,,,
|
||||||
|
,,M190.02,\"Entretenir l’équipement personnel et avoir une
|
||||||
|
bonne hygiène en campagne\",1,,1,,,,,M260.02,\"Identifier les aspects des opérations
|
||||||
|
d'aérodrome de base\",1,,,,,,,C336.03,\"Participer à une présentation donnée par un
|
||||||
|
spécialiste des services de vol\",2,,,,,,,M431.02,Décrire les instruments de vol,2,,,
|
||||||
|
,,M190.03,Observer les politiques et procédures du site,2,,,,,,,C260.01,\"Visiter l'installation de sécurité d'un
|
||||||
|
aérodrome\",3,,,,,,,OREN 336 - Total des périodes d’instruction obligatoires,,6,,,,,,,C431.01,Expliquer les facteurs qui affectent le vol,2,,,
|
||||||
|
,,M190.04,Discuter de la psychologie de la survie,2,,,,,,,C260.02,\"Visiter une tour de contrôle de la
|
||||||
|
circulation aérienne\",3,,,,,,,OREN 336 - Total des périodes d’instruction complémentaires,,7,,,,,,,C431.02,\"Faire la démonstration des virages, des montées et des descentes dans un simulateur de vol\",3,,,
|
||||||
|
,,M190.05,Identifier les types d’abri,1,,,,,,,C260.03,\"Participer à une présentation donnée
|
||||||
|
par un employé d'aérodrome\",2,,,,,337,\"Démontrer les
|
||||||
|
compétences en navigation aérienne\",M337.01,Mesurer la distance le long d’un itinéraire,1,,,,,,,C431.03,Faire voler un aéronef radiocommandé,3,,,
|
||||||
|
,,M190.06,\"Allumer, entretenir et éteindre un feu\",3,,,,,,,C260.04,\"Effectuer le guidage des aéronefs au
|
||||||
|
sol\",1,,,,,,,M337.02,\"Déterminer une position sur une carte aéronautique
|
||||||
|
de navigation VFR (VNC)\",1,,,,,,,,OREN 431 - Total des périodes d’instruction obligatoires,3,,,
|
||||||
|
,,M190.07,\"Dresser, démonter et emballer des tentes\",3,,,,,,,C260.05,Visiter un aérodrome,3,,,,,,,C337.01,\"Faire fonctionner une radio pour les transmissions
|
||||||
|
destinées à l’aviation\",1,,,,,,,,OREN 431 - Total des périodes d’instruction complémentaires,8,,,
|
||||||
|
,,C190.01,\"Participer à une présentation donnée par un
|
||||||
|
membre d'une organisation de survie ou une communauté de recherche et sauvetage (SAR)\",2,,,,,,,\"OREN 260 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,2,,,,,,,C337.03,Pratiquer des compétences en navigation aérienne,1,,,,,432,Décrire les systèmes de moteur d’avion,M432.01,Décrire les circuits carburant,1,,,
|
||||||
|
,,C190.02,Faire des nœuds et des brêlages,2,,,,,,,\"OREN 260 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,18,,,,,,,OREN 337 - Total des périodes d’instruction obligatoires,,2,,,,,,,M432.02,Décrire les systèmes d’hélice,1,,,
|
||||||
|
,,C190.03,Construire un abri de style houchie,3,,,,,270,\"Discuter de la construction
|
||||||
|
et de la maintenance des aéronefs\",M270.01,\"Identifier les aspects de la construction
|
||||||
|
des aéronefs\",2,,,,,,,OREN 337 - Total des périodes d’instruction complémentaires,,2,,,,,,,M432.03,Décrire les instruments du moteur,1,,,
|
||||||
|
,,C190.04,Recueillir de l’eau potable en campagne,2,,,,,,,M270.02,\"Identifier les exigences de
|
||||||
|
maintenance des aéronefs\",2,,,,,340,\"Identifier les
|
||||||
|
aspects de l’exploration spatiale\",M340.01,Identifier des astronautes canadiens,1,,,,,,,C432.01,Décrire le circuit d’allumage et le système électrique,1,,,
|
||||||
|
,,C190.05,\"Identifier les blessures causées par
|
||||||
|
l’environnement\",1,,,,,,,M270.03,\"Discuter des occasions d'éducation
|
||||||
|
et d'emploi dans le domaine de la construction et de la maintenance d'aéronef\",2,,,,,,,M340.02,Discuter de l’histoire de l’exploration spatiale habitée,1,,,,,,,C432.02,Décrire les systèmes de suralimentation par turbocompresseur et par surpression,1,,,
|
||||||
|
,,C190.06,Respecter l’environnement en campagne,1,,,,,,,C270.01,\"Participer à une présentation
|
||||||
|
donnée par un employé du domaine de l'industrie de la construction aéronautique et de la maintenance d'aéronef\",2,,,,,,,C340.01,Identifier des astronautes canadiens,2,,,,,,,C432.03,Décrire les turbines à gaz,1,,,
|
||||||
|
,,C190.07,Identifier des habitats d'animaux et d'insectes,1,,,,,,,C270.02,\"Identifier les activités de l'Outil
|
||||||
|
d’apprentissage multimédia interactif (OAMI) du Conseil canadien de l'entretien des aéronefs (CCEA)\",1,,,,,,,C340.02,Discuter du Programme spatial canadien,1,,,,,,,,OREN 432 - Total des périodes d’instruction obligatoires,3,,,
|
||||||
|
,,\"OREN 190 - Total des périodes d’instruction
|
||||||
|
obligatoires\",,14,,3,,,,,C270.03,\"Visiter une installation de construction
|
||||||
|
ou de maintenance d’aéronefs\",3,,,,,,,C340.03,Discuter de l’exploration spatiale inhabitée,2,,,,,,,,OREN 432 - Total des périodes d’instruction complémentaires,3,,,
|
||||||
|
,,\"OREN 190 - Total des périodes d’instruction
|
||||||
|
complémentaires\",,12,,0,,,,,C270.04,\"Visionner la vidéo intitulée « World’s
|
||||||
|
Biggest Airliner: The Airbus A380 – Coming Together »\",2,,,,,,,C340.04,Décrire les éléments du ciel nocturne,1,,,,,436,Expliquer les aspects de météorologie,M436.01,Expliquer les vents,1,,,
|
||||||
|
,,,,,,,,,,,\"OREN 270 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,6,,,,,,,C340.05,Simuler la vie dans l’espace,3,,,,,,,M436.02,Décrire les masses et les fronts d’air,3,,,
|
||||||
|
,,,,,,,,,,,\"OREN 270 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,8,,,,,,,C340.06,Lancer une fusée à eau,3,,,,,,,C436.01,Expliquer le brouillard,1,,,
|
||||||
|
,,,,,,,,,290,\"Participer à un exercice
|
||||||
|
d'entraînement en campagne\",M290.01,\"Préparer, allumer, entretenir et éteindre
|
||||||
|
un feu de signalement\",2,,,,,,,C340.07,\"Identifier les composants du système mondial de
|
||||||
|
positionnement (GPS)\",2,,,,,,,C436.02,Décrire les conditions météorologiques violentes,1,,,
|
||||||
|
,,,,,,,,,,,M290.02,Construire un abri de style appentis,3,,,,,,,C340.08,\"Décrire les aspects de la Station spatiale
|
||||||
|
internationale (SSI)\",1,,,,,,,C436.03,Analyser les renseignements météorologiques,3,,,
|
||||||
|
,,,,,,,,,,,M290.03,Construire un collet simple,2,,,,,,,C340.09,\"Participer à une présentation donnée par un
|
||||||
|
conférencier invité du milieu de l’astronomie ou de l’aérospatiale\",2,,,,,,,,OREN 436 - Total des périodes d’instruction obligatoires,4,,,
|
||||||
|
,,,,,,,,,,,M290.04,Fabriquer des signaux sol-air,2,,,,,,,C340.10,Identifier les programmes d’astronomie en ligne,1,,,,,,,,OREN 436 - Total des périodes d’instruction complémentaires,5,,,
|
||||||
|
,,,,,,,,,,,M290.05,\"Identifier les techniques de randonnée
|
||||||
|
pédestre\",2,,,,,,,OREN 340 - Total des périodes d’instruction obligatoires,,2,,,,,437,Expliquer les aspects de la navigation aérienne,M437.01,Définir les termes de navigation aérienne,2,,,
|
||||||
|
,,,,,,,,,,,M290.06,Faire fonctionner une radio portative,1,,,,,,,OREN 340 - Total des périodes d’instruction complémentaires,,18,,,,,,,M437.02,Décrire le compas magnétique,1,,,
|
||||||
|
,,,,,,,,,,,C290.01,\"Participer à une présentation donnée
|
||||||
|
par un membre d’un organisme de survie\",2,,,,,360,\"Reconnaître
|
||||||
|
les aspects des opérations d’aérodrome\",C360.01,Identifier les types d’aérodrome,1,,,,,,,\"431 / 432
|
||||||
|
436 /
|
||||||
|
437 PC\",Sujets sur l’aviation - Évaluation combinée,1,,,
|
||||||
|
,,,,,,,,,,,C290.02,\"Discuter du dépouillement et de la
|
||||||
|
cuisson des petits animaux\",1,,,,,,,C360.02,\"Expliquer les aspects du balisage lumineux d’un
|
||||||
|
aérodrome\",1,,,,,,,C437.01,Résoudre des problèmes de navigation à l’aide d’un calculateur de vol manuel,2,,,
|
||||||
|
,,,,,,,,,,,C290.03,Creuser une caverne dans la neige,3,,,,,,,C360.03,\"Fabriquer un modèle réduit d’espace aérien d’un
|
||||||
|
aérodrome\",3,,,,,,,C437.02,Utiliser une carte aéronautique de navigation VFR [règles de vol à vue] (VNC),2,,,
|
||||||
|
,,,,,,,,,,,C290.04,\"Recueillir de l’eau potable avec un
|
||||||
|
distillateur solaire\",2,,,,,,,C360.04,\"Identifier la façon dont l’équipement est utilisé à un
|
||||||
|
aérodrome\",1,,,,,,,,OREN 437 - Total des périodes d’instruction obligatoires,4,,,
|
||||||
|
,,,,,,,,,,,C290.05,Participer à une randonnée pédestre,6,,,,,,,C360.05,\"Identifier les aspects des interventions d’urgence et
|
||||||
|
de la sécurité des aérodromes\",1,,,,,,,,OREN 437 - Total des périodes d’instruction complémentaires,4,,,
|
||||||
|
,,,,,,,,,,,\"OREN 290 – Total des périodes d’instruction
|
||||||
|
obligatoires\",,12,,,,,,,C360.06,\"Expliquer les aspects des services de la circulation
|
||||||
|
aérienne (ATS)\",1,,,,,440,Discuter des structures aérospatiales,M440.01,Identifier les matériaux aérospatiaux,1,,,
|
||||||
|
,,,,,,,,,,,\"OREN 290 – Total des périodes d’instruction
|
||||||
|
complémentaires\",,14,,,,,,,OREN 360 - Total des périodes d’instruction obligatoires,,0,,,,,,,M440.02,Décrire les satellites canadiens,1,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,OREN 360 - Total des périodes d’instruction complémentaires,,8,,,,,,,C440.01,Décrire les modèles réduits de fusées,2,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,370,\"Reconnaître
|
||||||
|
les aspects de la construction
|
||||||
|
aéronautique et de la maintenance des aéronefs\",M370.01,\"Identifier les composants du circuit statique du
|
||||||
|
système Pitot\",1,,,,,,,C440.02,Lancer un petit modèle réduit de fusée,3,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,M370.02,Identifier les avionneurs,1,,,,,,,C440.03,\"Discuter des caractéristiques des planètes
|
||||||
|
du système solaire\",2,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,M370.03,\"Décrire les procédures d’inspection de routine des
|
||||||
|
aéronefs\",1,,,,,,,C440.04,\"Appliquer la science des matériaux de
|
||||||
|
longerons\",3,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C370.01,\"Identifier les tâches requises pour la maintenance
|
||||||
|
des aéronefs\",1,,,,,,,C440.05,Décrire la robotique,1,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C370.02,\"Décrire les matériaux utilisés pour la construction
|
||||||
|
d’aéronef\",1,,,,,,,C440.06,Utiliser des cartes du ciel,2,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C370.03,\"Identifier les outils électriques et l’équipement de
|
||||||
|
base utilisés pour la construction aéronautique et la maintenance des aéronefs\",1,,,,,,,C440.07,Utiliser un télescope,2,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C370.04,Fabriquer un modèle réduit de biplan en aluminium,12,,,,,,,C440.08,\"Regarder la vidéo intitulée BLAST! (Balloon-Borne Large Aperture Sub- Millimetre Telescope [télescope submillimétrique à grande ouverture
|
||||||
|
emporté par ballon])\",3,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C370.05,Visiter un projet de restauration d’aéronef,3,,,,,,,C440.09,\"Décrire le lien entre la gravité et l’espace-
|
||||||
|
temps\",2,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C270.01,\"Participer à une présentation donnée par
|
||||||
|
un employé de l’industrie de la construction aéronautique et de la maintenance d’avion\",2,,,,,,,C440.10,Discuter de l'énergie cinétique potentielle,1,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C270.03,\"Visiter une installation de construction ou de
|
||||||
|
maintenance d’aéronefs\",3,,,,,,,C440.11,\"Regarder la vidéo intitulée Einstein’s Big
|
||||||
|
Idea\",5,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,OREN 370 - Total des périodes d’instruction obligatoires,,3,,,,,,,,OREN 440 - Total des périodes d’instruction obligatoires,2,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,\"OREN 370 - Total des périodes d’instruction complémentaires
|
||||||
|
(max de 12)\",,23,,,,,,,,\"OREN 440 - Total des périodes d'instruction complémentaires (max de
|
||||||
|
9)\",26,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,390,\"Naviguer sur un
|
||||||
|
itinéraire à l’aide d’une carte et d’une boussole\",M390.01,Identifier les parties d’une boussole,1,,1,,,460,Décrire les occasions de carrière en opérations d’aérodrome,C460.01,Décrire les occasions de carrière en opérations d’aérodrome,1,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,M390.02,\"Identifier les données marginales et les signes
|
||||||
|
conventionnels\",2,,,,,,,C460.02,Décrire les occasions de carrière en contrôle de la circulation aérienne (ATC),1,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,M390.03,Déterminer des coordonnées de quadrillage (coord),2,,,,,,,C460.03,Décrire les occasions de carrière en sécurité des aéroports,1,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,M390.04,Déterminer la distance sur une carte et sur le terrain,3,,,,,,,,OREN 460 - Total des périodes d’instruction obligatoires,0,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,M390.05,\"Déterminer des relèvements sur une carte et sur le
|
||||||
|
terrain\",2,,,,,,,,OREN 460 - Total des périodes d’instruction complémentaires,3,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,COREN de l’OREN 390,,4,,,,,470,Discuter des aspects de la construction aéronautique et de la maintenance des aéronefs,C470.01,Discuter des avionneurs,1,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C390.01,Identifier les types de cartes,1,,1,,,,,C470.02,Discuter de l'assemblage d'un aéronef,1,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C390.02,Interpréter les courbes de niveau,1,,,,,,,C470.03,Identifier la quincaillerie aéronautique,1,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C390.03,Orienter une carte par inspection,1,,,,,,,C470.04,Démonter et remonter un petit moteur,3,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C390.04,Orienter une carte en utilisant une boussole,1,,,,,,,,OREN 470 - Total des périodes d’instruction obligatoires,0,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C390.05,Calculer la déclinaison magnétique,2,,,,,,,,OREN 470 - Total des périodes d’instruction complémentaires,6,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C390.06,Déterminer la direction à l’aide du soleil,1,,,,,490,Participer à un exercice de survie pour équipage de vol,M490.01,Assembler une trousse de survie d'urgence,1,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C390.07,Déterminer la direction la nuit,1,,,,,,,M490.02,Faire fonctionner un réchaud et un fanal,3,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C390.08,Utiliser les techniques de marquage,1,,,,,,,M490.03,Faire des nœuds et des brêlages,2,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C390.09,Identifier les éléments du ciel nocturne,4,,,,,,,M490.04,\"Naviguer vers un point de cheminement à l’aide d’un récepteur du système mondial
|
||||||
|
de positionnement (GPS)\",4,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C390.10,\"Identifier les méthodes de préparation et de cuisson
|
||||||
|
d’un petit animal ou d’un poisson\",2,,,,,,,M490.05,\"Allumer des feux grâce à un allumage
|
||||||
|
improvisé\",4,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C390.11,Fabriquer des outils de campement,4,,,,,,,\"COREN de
|
||||||
|
l'OREN 490\",,0,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C390.12,\"Donner les premiers soins mineurs dans un
|
||||||
|
environnement de campagne\",4,,,,,,,C490.01,\"Décrire les préoccupations climatiques et
|
||||||
|
saisonnières\",1,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C390.13,\"Agir en tant que membre d’une équipe de recherche
|
||||||
|
et sauvetage (SAR) au sol\",4,,,,,,,C490.02,\"Improviser des outils à utiliser dans une
|
||||||
|
situation de survie\",2,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C390.14,\"Participer à une présentation donnée par un
|
||||||
|
conférencier invité du milieu de la recherche et sauvetage (SAR)\",2,,,,,,,C490.03,Déplacer un blessé vers un abri,3,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,C290.04,Recueillir de l’eau potable avec un distillateur solaire,2,,,,,,,C490.04,Utiliser les outils de façon sécuritaire,3,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,OREN 390 - Total des périodes d’instruction obligatoires,,14,,,,,,,C490.05,\"Naviguer sur un itinéraire à l'aide d'une
|
||||||
|
carte et d'une boussole\",4,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,\"OREN 390 - Total des périodes d’instruction complémentaires
|
||||||
|
(max de 18)\",,31,,,,,,,C490.06,\"Monter, démonter et emballer des tentes\",4,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,C490.07,\"Construire un houchie ou un abri de style
|
||||||
|
appentis\",3,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,OREN 490 - Total des périodes d’instruction obligatoires,14,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,OREN 490 - Total des périodes d’instruction complémentaires,20,,,
|
||||||
|
,,,,,,,,,,,,,,,,,,,,,,,,,,,S.O.,Participer à une revue annuelle (ACR),,,3,,,";
|
||||||
|
|
||||||
|
\App\OCOM::truncate();
|
||||||
|
|
||||||
|
$matches = [];
|
||||||
|
$orens = [];
|
||||||
|
preg_match_all('/[X\d]\d\d,[^,]*/',$text,$matches);
|
||||||
|
foreach ($matches[0] as $match)
|
||||||
|
{
|
||||||
|
$match = str_replace('"',"",$match);
|
||||||
|
$match = trim(preg_replace('/\s\s+/', ' ', $match));
|
||||||
|
$oren = "";
|
||||||
|
preg_match('/[X\d]\d\d/',$match,$oren);
|
||||||
|
$value = preg_replace('/[X\d]\d\d,/','',$match);
|
||||||
|
if($value != "")
|
||||||
|
{
|
||||||
|
$orens[$oren[0]] = preg_replace('/[X\d]\d\d,/','',$match);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
preg_match_all('/[MC]\S\d\d.\d\d[A-Z]?,[^,]*,\d/',$text,$matches);
|
||||||
|
|
||||||
|
foreach ($matches[0] as $match)
|
||||||
|
{
|
||||||
|
$newocom = new OCOM();
|
||||||
|
|
||||||
|
$match = str_replace('"',"",$match);
|
||||||
|
|
||||||
|
$ocom = "";
|
||||||
|
preg_match('/[MC]\S\d\d.\d\d[A-Z]?/',$match,$ocom);
|
||||||
|
|
||||||
|
$oren = "";
|
||||||
|
preg_match('/[X\d]\d\d/',$ocom[0],$oren);
|
||||||
|
|
||||||
|
$obj_competence = str_replace($ocom[0].",","",$match);
|
||||||
|
$obj_competence = trim(preg_replace('/\s\s+/', ' ', $obj_competence));
|
||||||
|
|
||||||
|
$nbPeriode = preg_replace('/[MC]\S\d\d.\d\d[A-Z]?,[^,]*,/','',$match);
|
||||||
|
$newocom->nbPeriode = $nbPeriode;
|
||||||
|
|
||||||
|
$obj_competence = str_replace(",".$nbPeriode,'',$obj_competence);
|
||||||
|
|
||||||
|
$newocom->ocom = $ocom[0];
|
||||||
|
$newocom->oren = $oren[0];
|
||||||
|
$newocom->objectif_competence = $obj_competence;
|
||||||
|
$newocom->objectif_rendement = $orens[$oren[0]];
|
||||||
|
$newocom->save();
|
||||||
|
}
|
||||||
|
dd(\App\OCOM::all());
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 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\OCOM $oCOM
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function show(OCOM $oCOM)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Show the form for editing the specified resource.
|
||||||
|
*
|
||||||
|
* @param \App\OCOM $oCOM
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function edit(OCOM $oCOM)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update the specified resource in storage.
|
||||||
|
*
|
||||||
|
* @param \Illuminate\Http\Request $request
|
||||||
|
* @param \App\OCOM $oCOM
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function update(Request $request, OCOM $oCOM)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Remove the specified resource from storage.
|
||||||
|
*
|
||||||
|
* @param \App\OCOM $oCOM
|
||||||
|
* @return \Illuminate\Http\Response
|
||||||
|
*/
|
||||||
|
public function destroy(OCOM $oCOM)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
}
|
||||||
23
app/Http/Controllers/ScheduleEditorController.php
Normal file
23
app/Http/Controllers/ScheduleEditorController.php
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Http\Controllers;
|
||||||
|
|
||||||
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
|
class ScheduleEditorController extends Controller
|
||||||
|
{
|
||||||
|
public function getCourse(int $id = null)
|
||||||
|
{
|
||||||
|
return view('admin.schedule.editor.course');
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getCourseEmpty(int $niveau,int $periode)
|
||||||
|
{
|
||||||
|
return view('admin.schedule.editor.course',['periode' => $periode, 'niveau' => $niveau]);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function getTemplate()
|
||||||
|
{
|
||||||
|
return view('admin.schedule.editor.template');
|
||||||
|
}
|
||||||
|
}
|
||||||
10
app/OCOM.php
Normal file
10
app/OCOM.php
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App;
|
||||||
|
|
||||||
|
use Illuminate\Database\Eloquent\Model;
|
||||||
|
|
||||||
|
class OCOM extends Model
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
@@ -6,6 +6,7 @@ use Illuminate\Support\ServiceProvider;
|
|||||||
use Illuminate\Support\Facades\Schema;
|
use Illuminate\Support\Facades\Schema;
|
||||||
use Illuminate\Support\Collection;
|
use Illuminate\Support\Collection;
|
||||||
use Illuminate\Pagination\LengthAwarePaginator;
|
use Illuminate\Pagination\LengthAwarePaginator;
|
||||||
|
use Illuminate\Support\Facades\Blade;
|
||||||
|
|
||||||
class AppServiceProvider extends ServiceProvider
|
class AppServiceProvider extends ServiceProvider
|
||||||
{
|
{
|
||||||
@@ -40,6 +41,10 @@ class AppServiceProvider extends ServiceProvider
|
|||||||
]
|
]
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Blade::directive('loaderDot', function () {
|
||||||
|
return '<div class="text-center"><div class="lds-ellipsis"><div></div><div></div><div></div><div></div></div></div>';
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
class CreateOCOMSTable extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function up()
|
||||||
|
{
|
||||||
|
Schema::create('o_c_o_m_s', function (Blueprint $table) {
|
||||||
|
$table->bigIncrements('id');
|
||||||
|
$table->string('ocom');
|
||||||
|
$table->string('objectif_competence');
|
||||||
|
$table->string('nbPeriode');
|
||||||
|
$table->string('objectif_rendement');
|
||||||
|
$table->string('oren');
|
||||||
|
$table->timestamps();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function down()
|
||||||
|
{
|
||||||
|
Schema::dropIfExists('o_c_o_m_s');
|
||||||
|
}
|
||||||
|
}
|
||||||
1
public/css/contextLoader.min.css
vendored
Normal file
1
public/css/contextLoader.min.css
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
.timeline-item{background: #fff;border: 1px solid;border-color: #e5e6e9 #dfe0e4 #d0d1d5;border-radius: 3px;padding: 2%;margin: 0 auto;width: 100%;height: 100%;}@keyframes placeHolderShimmer{0%{ background-position: -468px 0;} 100%{background-position: 468px 0;}}.animated-background{animation-duration: 1s;animation-fill-mode: forwards;animation-iteration-count: infinite;animation-name: placeHolderShimmer;animation-timing-function: linear;background: #f6f7f8;background: linear-gradient(to right, #eeeeee 8%, #dddddd 18%, #eeeeee 33%);background-size: 800px 104px;height: 96px;position: relative;}.background-masker{background: #fff;position: absolute;}.background-masker.header-top,.background-masker.header-bottom,.background-masker.subheader-bottom{top: 0;left: 40px;right: 0px;height: 10px;}.background-masker.header-left,.background-masker.subheader-left,.background-masker.header-right,.background-masker.subheader-right{top: 10px;left: 40px;height: 8px;width: 10px;}.background-masker.header-bottom{top: 18px;height: 6px;}.background-masker.subheader-left,.background-masker.subheader-right{top: 24px;height: 6px;}.background-masker.header-right,.background-masker.subheader-right{width: auto;left: 300px;right: 0px;}.background-masker.subheader-right{left: 230px;}.background-masker.subheader-bottom{top: 30px;height: 10px;}.background-masker.content-top,.background-masker.content-second-line,.background-masker.content-third-line,.background-masker.content-second-end,.background-masker.content-third-end,.background-masker.content-first-end{top: 40px;left: 0;right: 0;height: 6px;}.background-masker.content-top{height: 20px;}.background-masker.content-first-end,.background-masker.content-second-end,.background-masker.content-third-end{width: auto;left: 380px;right: 0;top: 60px;height: 8px;}.background-masker.content-second-line{top: 68px;}.background-masker.content-second-end{left: 420px;top: 74px;}.background-masker.content-third-line{top: 82px;}.background-masker.content-third-end{left: 300px;top: 88px;}
|
||||||
58
public/css/custom.css
vendored
58
public/css/custom.css
vendored
@@ -3,6 +3,64 @@
|
|||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.lds-ellipsis {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
}
|
||||||
|
.lds-ellipsis div {
|
||||||
|
position: absolute;
|
||||||
|
top: 33px;
|
||||||
|
width: 13px;
|
||||||
|
height: 13px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #dee2e6;
|
||||||
|
animation-timing-function: cubic-bezier(0, 1, 1, 0);
|
||||||
|
}
|
||||||
|
.lds-ellipsis div:nth-child(1) {
|
||||||
|
left: 8px;
|
||||||
|
animation: lds-ellipsis1 0.6s infinite;
|
||||||
|
}
|
||||||
|
.lds-ellipsis div:nth-child(2) {
|
||||||
|
left: 8px;
|
||||||
|
animation: lds-ellipsis2 0.6s infinite;
|
||||||
|
}
|
||||||
|
.lds-ellipsis div:nth-child(3) {
|
||||||
|
left: 32px;
|
||||||
|
animation: lds-ellipsis2 0.6s infinite;
|
||||||
|
}
|
||||||
|
.lds-ellipsis div:nth-child(4) {
|
||||||
|
left: 56px;
|
||||||
|
animation: lds-ellipsis3 0.6s infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes lds-ellipsis1 {
|
||||||
|
0% {
|
||||||
|
transform: scale(0);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes lds-ellipsis3 {
|
||||||
|
0% {
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: scale(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes lds-ellipsis2 {
|
||||||
|
0% {
|
||||||
|
transform: translate(0, 0);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: translate(24px, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.container-fluid {
|
.container-fluid {
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
|
|||||||
2
public/js/plugins/contextLoader.min.js
vendored
Normal file
2
public/js/plugins/contextLoader.min.js
vendored
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
|
||||||
|
contextLoader={};contextLoader.htmlContent='<div class="timeline-item"><div class="animated-background"><div class="background-masker header-top"></div><div class="background-masker header-left"></div><div class="background-masker header-right"></div><div class="background-masker header-bottom"></div><div class="background-masker subheader-left"></div><div class="background-masker subheader-right"></div><div class="background-masker subheader-bottom"></div><div class="background-masker content-top"></div><div class="background-masker content-first-end"></div><div class="background-masker content-second-line"></div><div class="background-masker content-second-end"></div><div class="background-masker content-third-line"></div><div class="background-masker content-third-end"></div></div></div>';contextLoader.addLoader = function(theDiv){document.querySelector(theDiv).innerHTML = contextLoader.htmlContent;}
|
||||||
38
public/js/plugins/schedule/editor.js
vendored
Normal file
38
public/js/plugins/schedule/editor.js
vendored
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
function initScheduleEditor(id, periode, niveau)
|
||||||
|
{
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/api/schedule/editor/init?api_token='+api_token,
|
||||||
|
success: function (template) {
|
||||||
|
$("#"+id).html(template);
|
||||||
|
for (let pniveau = 1; pniveau <= 3; pniveau++) {
|
||||||
|
for (let pperiode = 1; pperiode <= 3; pperiode++) {
|
||||||
|
loadCourse(pniveau,pperiode);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
initAutoComplete("AutoComplete");
|
||||||
|
},
|
||||||
|
error: function () {
|
||||||
|
showNotification('error','Impossible d\'initialiser l\'éditeur d\'horaire ...','top', 'center')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadTemplate(id)
|
||||||
|
{
|
||||||
|
$.get('/api/schedule/editor/init?api_token='+api_token, function ( data ) {$("#"+id).html(data);});
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadCourse(periode,niveau)
|
||||||
|
{
|
||||||
|
$.ajax({
|
||||||
|
type: 'GET',
|
||||||
|
url: '/api/schedule/editor/course/'+niveau+'/'+periode+'?api_token='+api_token,
|
||||||
|
success: function (course) {
|
||||||
|
$("#container-"+niveau+"-"+periode).html(course);
|
||||||
|
},
|
||||||
|
error: function () {
|
||||||
|
showNotification('error','Impossible de charger les cours ...','top', 'center')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
58
resources/custom.css
vendored
58
resources/custom.css
vendored
@@ -3,6 +3,64 @@
|
|||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.lds-ellipsis {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
width: 80px;
|
||||||
|
height: 80px;
|
||||||
|
}
|
||||||
|
.lds-ellipsis div {
|
||||||
|
position: absolute;
|
||||||
|
top: 33px;
|
||||||
|
width: 13px;
|
||||||
|
height: 13px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: #dee2e6;
|
||||||
|
animation-timing-function: cubic-bezier(0, 1, 1, 0);
|
||||||
|
}
|
||||||
|
.lds-ellipsis div:nth-child(1) {
|
||||||
|
left: 8px;
|
||||||
|
animation: lds-ellipsis1 0.6s infinite;
|
||||||
|
}
|
||||||
|
.lds-ellipsis div:nth-child(2) {
|
||||||
|
left: 8px;
|
||||||
|
animation: lds-ellipsis2 0.6s infinite;
|
||||||
|
}
|
||||||
|
.lds-ellipsis div:nth-child(3) {
|
||||||
|
left: 32px;
|
||||||
|
animation: lds-ellipsis2 0.6s infinite;
|
||||||
|
}
|
||||||
|
.lds-ellipsis div:nth-child(4) {
|
||||||
|
left: 56px;
|
||||||
|
animation: lds-ellipsis3 0.6s infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes lds-ellipsis1 {
|
||||||
|
0% {
|
||||||
|
transform: scale(0);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes lds-ellipsis3 {
|
||||||
|
0% {
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: scale(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@keyframes lds-ellipsis2 {
|
||||||
|
0% {
|
||||||
|
transform: translate(0, 0);
|
||||||
|
}
|
||||||
|
100% {
|
||||||
|
transform: translate(24px, 0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.container-fluid {
|
.container-fluid {
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
}
|
}
|
||||||
|
|||||||
614
resources/theme/material-dashboard/assets/js/plugins/bootstrap-switch.js
vendored
Normal file
614
resources/theme/material-dashboard/assets/js/plugins/bootstrap-switch.js
vendored
Normal file
@@ -0,0 +1,614 @@
|
|||||||
|
import jquery from 'jquery'
|
||||||
|
|
||||||
|
const $ = jquery || window.jQuery || window.$
|
||||||
|
|
||||||
|
class BootstrapSwitch {
|
||||||
|
constructor (element, options = {}) {
|
||||||
|
this.$element = $(element)
|
||||||
|
this.options = $.extend(
|
||||||
|
{},
|
||||||
|
$.fn.bootstrapSwitch.defaults,
|
||||||
|
this._getElementOptions(),
|
||||||
|
options
|
||||||
|
)
|
||||||
|
this.prevOptions = {}
|
||||||
|
this.$wrapper = $('<div>', {
|
||||||
|
class: () => {
|
||||||
|
const classes = []
|
||||||
|
classes.push(this.options.state ? 'on' : 'off')
|
||||||
|
if (this.options.size) {
|
||||||
|
classes.push(this.options.size)
|
||||||
|
}
|
||||||
|
if (this.options.disabled) {
|
||||||
|
classes.push('disabled')
|
||||||
|
}
|
||||||
|
if (this.options.readonly) {
|
||||||
|
classes.push('readonly')
|
||||||
|
}
|
||||||
|
if (this.options.indeterminate) {
|
||||||
|
classes.push('indeterminate')
|
||||||
|
}
|
||||||
|
if (this.options.inverse) {
|
||||||
|
classes.push('inverse')
|
||||||
|
}
|
||||||
|
if (this.$element.attr('id')) {
|
||||||
|
classes.push(`id-${this.$element.attr('id')}`)
|
||||||
|
}
|
||||||
|
return classes
|
||||||
|
.map(this._getClass.bind(this))
|
||||||
|
.concat([this.options.baseClass], this._getClasses(this.options.wrapperClass))
|
||||||
|
.join(' ')
|
||||||
|
}
|
||||||
|
})
|
||||||
|
this.$container = $('<div>', { class: this._getClass('container') })
|
||||||
|
this.$on = $('<span>', {
|
||||||
|
html: this.options.onText,
|
||||||
|
class: `${this._getClass('handle-on')} ${this._getClass(this.options.onColor)}`
|
||||||
|
})
|
||||||
|
this.$off = $('<span>', {
|
||||||
|
html: this.options.offText,
|
||||||
|
class: `${this._getClass('handle-off')} ${this._getClass(this.options.offColor)}`
|
||||||
|
})
|
||||||
|
this.$label = $('<span>', {
|
||||||
|
html: this.options.labelText,
|
||||||
|
class: this._getClass('label')
|
||||||
|
})
|
||||||
|
|
||||||
|
this.$element.on('init.bootstrapSwitch', this.options.onInit.bind(this, element))
|
||||||
|
this.$element.on('switchChange.bootstrapSwitch', (...args) => {
|
||||||
|
if (this.options.onSwitchChange.apply(element, args) === false) {
|
||||||
|
if (this.$element.is(':radio')) {
|
||||||
|
$(`[name="${this.$element.attr('name')}"]`).trigger('previousState.bootstrapSwitch', true)
|
||||||
|
} else {
|
||||||
|
this.$element.trigger('previousState.bootstrapSwitch', true)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
this.$container = this.$element.wrap(this.$container).parent()
|
||||||
|
this.$wrapper = this.$container.wrap(this.$wrapper).parent()
|
||||||
|
this.$element
|
||||||
|
.before(this.options.inverse ? this.$off : this.$on)
|
||||||
|
.before(this.$label)
|
||||||
|
.before(this.options.inverse ? this.$on : this.$off)
|
||||||
|
|
||||||
|
if (this.options.indeterminate) {
|
||||||
|
this.$element.prop('indeterminate', true)
|
||||||
|
}
|
||||||
|
|
||||||
|
this._init()
|
||||||
|
this._elementHandlers()
|
||||||
|
this._handleHandlers()
|
||||||
|
this._labelHandlers()
|
||||||
|
this._formHandler()
|
||||||
|
this._externalLabelHandler()
|
||||||
|
this.$element.trigger('init.bootstrapSwitch', this.options.state)
|
||||||
|
}
|
||||||
|
|
||||||
|
setPrevOptions () {
|
||||||
|
this.prevOptions = { ...this.options }
|
||||||
|
}
|
||||||
|
|
||||||
|
state (value, skip) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.state }
|
||||||
|
if (
|
||||||
|
(this.options.disabled || this.options.readonly) ||
|
||||||
|
(this.options.state && !this.options.radioAllOff && this.$element.is(':radio'))
|
||||||
|
) { return this.$element }
|
||||||
|
if (this.$element.is(':radio')) {
|
||||||
|
$(`[name="${this.$element.attr('name')}"]`).trigger('setPreviousOptions.bootstrapSwitch')
|
||||||
|
} else {
|
||||||
|
this.$element.trigger('setPreviousOptions.bootstrapSwitch')
|
||||||
|
}
|
||||||
|
if (this.options.indeterminate) {
|
||||||
|
this.indeterminate(false)
|
||||||
|
}
|
||||||
|
this.$element
|
||||||
|
.prop('checked', Boolean(value))
|
||||||
|
.trigger('change.bootstrapSwitch', skip)
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
toggleState (skip) {
|
||||||
|
if (this.options.disabled || this.options.readonly) { return this.$element }
|
||||||
|
if (this.options.indeterminate) {
|
||||||
|
this.indeterminate(false)
|
||||||
|
return this.state(true)
|
||||||
|
} else {
|
||||||
|
return this.$element.prop('checked', !this.options.state).trigger('change.bootstrapSwitch', skip)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
size (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.size }
|
||||||
|
if (this.options.size != null) {
|
||||||
|
this.$wrapper.removeClass(this._getClass(this.options.size))
|
||||||
|
}
|
||||||
|
if (value) {
|
||||||
|
this.$wrapper.addClass(this._getClass(value))
|
||||||
|
}
|
||||||
|
this._width()
|
||||||
|
this._containerPosition()
|
||||||
|
this.options.size = value
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
animate (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.animate }
|
||||||
|
if (this.options.animate === Boolean(value)) { return this.$element }
|
||||||
|
return this.toggleAnimate()
|
||||||
|
}
|
||||||
|
|
||||||
|
toggleAnimate () {
|
||||||
|
this.options.animate = !this.options.animate
|
||||||
|
this.$wrapper.toggleClass(this._getClass('animate'))
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
disabled (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.disabled }
|
||||||
|
if (this.options.disabled === Boolean(value)) { return this.$element }
|
||||||
|
return this.toggleDisabled()
|
||||||
|
}
|
||||||
|
|
||||||
|
toggleDisabled () {
|
||||||
|
this.options.disabled = !this.options.disabled
|
||||||
|
this.$element.prop('disabled', this.options.disabled)
|
||||||
|
this.$wrapper.toggleClass(this._getClass('disabled'))
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
readonly (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.readonly }
|
||||||
|
if (this.options.readonly === Boolean(value)) { return this.$element }
|
||||||
|
return this.toggleReadonly()
|
||||||
|
}
|
||||||
|
|
||||||
|
toggleReadonly () {
|
||||||
|
this.options.readonly = !this.options.readonly
|
||||||
|
this.$element.prop('readonly', this.options.readonly)
|
||||||
|
this.$wrapper.toggleClass(this._getClass('readonly'))
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
indeterminate (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.indeterminate }
|
||||||
|
if (this.options.indeterminate === Boolean(value)) { return this.$element }
|
||||||
|
return this.toggleIndeterminate()
|
||||||
|
}
|
||||||
|
|
||||||
|
toggleIndeterminate () {
|
||||||
|
this.options.indeterminate = !this.options.indeterminate
|
||||||
|
this.$element.prop('indeterminate', this.options.indeterminate)
|
||||||
|
this.$wrapper.toggleClass(this._getClass('indeterminate'))
|
||||||
|
this._containerPosition()
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
inverse (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.inverse }
|
||||||
|
if (this.options.inverse === Boolean(value)) { return this.$element }
|
||||||
|
return this.toggleInverse()
|
||||||
|
}
|
||||||
|
|
||||||
|
toggleInverse () {
|
||||||
|
this.$wrapper.toggleClass(this._getClass('inverse'))
|
||||||
|
const $on = this.$on.clone(true)
|
||||||
|
const $off = this.$off.clone(true)
|
||||||
|
this.$on.replaceWith($off)
|
||||||
|
this.$off.replaceWith($on)
|
||||||
|
this.$on = $off
|
||||||
|
this.$off = $on
|
||||||
|
this.options.inverse = !this.options.inverse
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
onColor (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.onColor }
|
||||||
|
if (this.options.onColor) {
|
||||||
|
this.$on.removeClass(this._getClass(this.options.onColor))
|
||||||
|
}
|
||||||
|
this.$on.addClass(this._getClass(value))
|
||||||
|
this.options.onColor = value
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
offColor (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.offColor }
|
||||||
|
if (this.options.offColor) {
|
||||||
|
this.$off.removeClass(this._getClass(this.options.offColor))
|
||||||
|
}
|
||||||
|
this.$off.addClass(this._getClass(value))
|
||||||
|
this.options.offColor = value
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
onText (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.onText }
|
||||||
|
this.$on.html(value)
|
||||||
|
this._width()
|
||||||
|
this._containerPosition()
|
||||||
|
this.options.onText = value
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
offText (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.offText }
|
||||||
|
this.$off.html(value)
|
||||||
|
this._width()
|
||||||
|
this._containerPosition()
|
||||||
|
this.options.offText = value
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
labelText (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.labelText }
|
||||||
|
this.$label.html(value)
|
||||||
|
this._width()
|
||||||
|
this.options.labelText = value
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
handleWidth (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.handleWidth }
|
||||||
|
this.options.handleWidth = value
|
||||||
|
this._width()
|
||||||
|
this._containerPosition()
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
labelWidth (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.labelWidth }
|
||||||
|
this.options.labelWidth = value
|
||||||
|
this._width()
|
||||||
|
this._containerPosition()
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
baseClass (value) {
|
||||||
|
return this.options.baseClass
|
||||||
|
}
|
||||||
|
|
||||||
|
wrapperClass (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.wrapperClass }
|
||||||
|
if (!value) {
|
||||||
|
value = $.fn.bootstrapSwitch.defaults.wrapperClass
|
||||||
|
}
|
||||||
|
this.$wrapper.removeClass(this._getClasses(this.options.wrapperClass).join(' '))
|
||||||
|
this.$wrapper.addClass(this._getClasses(value).join(' '))
|
||||||
|
this.options.wrapperClass = value
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
radioAllOff (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.radioAllOff }
|
||||||
|
const val = Boolean(value)
|
||||||
|
if (this.options.radioAllOff === val) { return this.$element }
|
||||||
|
this.options.radioAllOff = val
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
onInit (value) {
|
||||||
|
if (typeof value === 'undefined') { return this.options.onInit }
|
||||||
|
if (!value) {
|
||||||
|
value = $.fn.bootstrapSwitch.defaults.onInit
|
||||||
|
}
|
||||||
|
this.options.onInit = value
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
onSwitchChange (value) {
|
||||||
|
if (typeof value === 'undefined') {
|
||||||
|
return this.options.onSwitchChange
|
||||||
|
}
|
||||||
|
if (!value) {
|
||||||
|
value = $.fn.bootstrapSwitch.defaults.onSwitchChange
|
||||||
|
}
|
||||||
|
this.options.onSwitchChange = value
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
destroy () {
|
||||||
|
const $form = this.$element.closest('form')
|
||||||
|
if ($form.length) {
|
||||||
|
$form.off('reset.bootstrapSwitch').removeData('bootstrap-switch')
|
||||||
|
}
|
||||||
|
this.$container
|
||||||
|
.children()
|
||||||
|
.not(this.$element)
|
||||||
|
.remove()
|
||||||
|
this.$element
|
||||||
|
.unwrap()
|
||||||
|
.unwrap()
|
||||||
|
.off('.bootstrapSwitch')
|
||||||
|
.removeData('bootstrap-switch')
|
||||||
|
return this.$element
|
||||||
|
}
|
||||||
|
|
||||||
|
_getElementOptions () {
|
||||||
|
return {
|
||||||
|
state: this.$element.is(':checked'),
|
||||||
|
size: this.$element.data('size'),
|
||||||
|
animate: this.$element.data('animate'),
|
||||||
|
disabled: this.$element.is(':disabled'),
|
||||||
|
readonly: this.$element.is('[readonly]'),
|
||||||
|
indeterminate: this.$element.data('indeterminate'),
|
||||||
|
inverse: this.$element.data('inverse'),
|
||||||
|
radioAllOff: this.$element.data('radio-all-off'),
|
||||||
|
onColor: this.$element.data('on-color'),
|
||||||
|
offColor: this.$element.data('off-color'),
|
||||||
|
onText: this.$element.data('on-text'),
|
||||||
|
offText: this.$element.data('off-text'),
|
||||||
|
labelText: this.$element.data('label-text'),
|
||||||
|
handleWidth: this.$element.data('handle-width'),
|
||||||
|
labelWidth: this.$element.data('label-width'),
|
||||||
|
baseClass: this.$element.data('base-class'),
|
||||||
|
wrapperClass: this.$element.data('wrapper-class')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
_width () {
|
||||||
|
const $handles = this.$on
|
||||||
|
.add(this.$off)
|
||||||
|
.add(this.$label)
|
||||||
|
.css('width', '')
|
||||||
|
const handleWidth = this.options.handleWidth === 'auto'
|
||||||
|
? Math.round(Math.max(this.$on.width(), this.$off.width()))
|
||||||
|
: this.options.handleWidth
|
||||||
|
$handles.width(handleWidth)
|
||||||
|
this.$label.width((index, width) => {
|
||||||
|
if (this.options.labelWidth !== 'auto') { return this.options.labelWidth }
|
||||||
|
if (width < handleWidth) { return handleWidth }
|
||||||
|
return width
|
||||||
|
})
|
||||||
|
this._handleWidth = this.$on.outerWidth()
|
||||||
|
this._labelWidth = this.$label.outerWidth()
|
||||||
|
this.$container.width((this._handleWidth * 2) + this._labelWidth)
|
||||||
|
return this.$wrapper.width(this._handleWidth + this._labelWidth)
|
||||||
|
}
|
||||||
|
|
||||||
|
_containerPosition (state = this.options.state, callback) {
|
||||||
|
this.$container.css('margin-left', () => {
|
||||||
|
const values = [0, `-${this._handleWidth}px`]
|
||||||
|
if (this.options.indeterminate) {
|
||||||
|
return `-${this._handleWidth / 2}px`
|
||||||
|
}
|
||||||
|
if (state) {
|
||||||
|
if (this.options.inverse) {
|
||||||
|
return values[1]
|
||||||
|
} else {
|
||||||
|
return values[0]
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if (this.options.inverse) {
|
||||||
|
return values[0]
|
||||||
|
} else {
|
||||||
|
return values[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
_init () {
|
||||||
|
const init = () => {
|
||||||
|
this.setPrevOptions()
|
||||||
|
this._width()
|
||||||
|
this._containerPosition()
|
||||||
|
setTimeout(() => {
|
||||||
|
if (this.options.animate) {
|
||||||
|
return this.$wrapper.addClass(this._getClass('animate'))
|
||||||
|
}
|
||||||
|
}, 50)
|
||||||
|
}
|
||||||
|
if (this.$wrapper.is(':visible')) {
|
||||||
|
init()
|
||||||
|
return
|
||||||
|
}
|
||||||
|
const initInterval = window.setInterval(() => {
|
||||||
|
if (this.$wrapper.is(':visible')) {
|
||||||
|
init()
|
||||||
|
return window.clearInterval(initInterval)
|
||||||
|
}
|
||||||
|
}, 50)
|
||||||
|
}
|
||||||
|
|
||||||
|
_elementHandlers () {
|
||||||
|
return this.$element.on({
|
||||||
|
'setPreviousOptions.bootstrapSwitch': this.setPrevOptions.bind(this),
|
||||||
|
|
||||||
|
'previousState.bootstrapSwitch': () => {
|
||||||
|
this.options = this.prevOptions
|
||||||
|
if (this.options.indeterminate) {
|
||||||
|
this.$wrapper.addClass(this._getClass('indeterminate'))
|
||||||
|
}
|
||||||
|
this.$element
|
||||||
|
.prop('checked', this.options.state)
|
||||||
|
.trigger('change.bootstrapSwitch', true)
|
||||||
|
},
|
||||||
|
|
||||||
|
'change.bootstrapSwitch': (event, skip) => {
|
||||||
|
event.preventDefault()
|
||||||
|
event.stopImmediatePropagation()
|
||||||
|
const state = this.$element.is(':checked')
|
||||||
|
this._containerPosition(state)
|
||||||
|
if (state === this.options.state) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.options.state = state
|
||||||
|
this.$wrapper
|
||||||
|
.toggleClass(this._getClass('off'))
|
||||||
|
.toggleClass(this._getClass('on'))
|
||||||
|
if (!skip) {
|
||||||
|
if (this.$element.is(':radio')) {
|
||||||
|
$(`[name="${this.$element.attr('name')}"]`)
|
||||||
|
.not(this.$element)
|
||||||
|
.prop('checked', false)
|
||||||
|
.trigger('change.bootstrapSwitch', true)
|
||||||
|
}
|
||||||
|
this.$element.trigger('switchChange.bootstrapSwitch', [state])
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
'focus.bootstrapSwitch': event => {
|
||||||
|
event.preventDefault()
|
||||||
|
this.$wrapper.addClass(this._getClass('focused'))
|
||||||
|
},
|
||||||
|
|
||||||
|
'blur.bootstrapSwitch': event => {
|
||||||
|
event.preventDefault()
|
||||||
|
this.$wrapper.removeClass(this._getClass('focused'))
|
||||||
|
},
|
||||||
|
|
||||||
|
'keydown.bootstrapSwitch': event => {
|
||||||
|
if (!event.which || this.options.disabled || this.options.readonly) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
if (event.which === 37 || event.which === 39) {
|
||||||
|
event.preventDefault()
|
||||||
|
event.stopImmediatePropagation()
|
||||||
|
this.state(event.which === 39)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
_handleHandlers () {
|
||||||
|
this.$on.on('click.bootstrapSwitch', event => {
|
||||||
|
event.preventDefault()
|
||||||
|
event.stopPropagation()
|
||||||
|
this.state(false)
|
||||||
|
return this.$element.trigger('focus.bootstrapSwitch')
|
||||||
|
})
|
||||||
|
return this.$off.on('click.bootstrapSwitch', event => {
|
||||||
|
event.preventDefault()
|
||||||
|
event.stopPropagation()
|
||||||
|
this.state(true)
|
||||||
|
return this.$element.trigger('focus.bootstrapSwitch')
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
_labelHandlers () {
|
||||||
|
const handlers = {
|
||||||
|
click (event) { event.stopPropagation() },
|
||||||
|
|
||||||
|
'mousedown.bootstrapSwitch touchstart.bootstrapSwitch': event => {
|
||||||
|
if (this._dragStart || this.options.disabled || this.options.readonly) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
event.preventDefault()
|
||||||
|
event.stopPropagation()
|
||||||
|
this._dragStart = (event.pageX || event.originalEvent.touches[0].pageX) - parseInt(this.$container.css('margin-left'), 10)
|
||||||
|
if (this.options.animate) {
|
||||||
|
this.$wrapper.removeClass(this._getClass('animate'))
|
||||||
|
}
|
||||||
|
this.$element.trigger('focus.bootstrapSwitch')
|
||||||
|
},
|
||||||
|
|
||||||
|
'mousemove.bootstrapSwitch touchmove.bootstrapSwitch': event => {
|
||||||
|
if (this._dragStart == null) { return }
|
||||||
|
const difference = (event.pageX || event.originalEvent.touches[0].pageX) - this._dragStart
|
||||||
|
event.preventDefault()
|
||||||
|
if (difference < -this._handleWidth || difference > 0) { return }
|
||||||
|
this._dragEnd = difference
|
||||||
|
this.$container.css('margin-left', `${this._dragEnd}px`)
|
||||||
|
},
|
||||||
|
|
||||||
|
'mouseup.bootstrapSwitch touchend.bootstrapSwitch': event => {
|
||||||
|
if (!this._dragStart) { return }
|
||||||
|
event.preventDefault()
|
||||||
|
if (this.options.animate) {
|
||||||
|
this.$wrapper.addClass(this._getClass('animate'))
|
||||||
|
}
|
||||||
|
if (this._dragEnd) {
|
||||||
|
const state = this._dragEnd > -(this._handleWidth / 2)
|
||||||
|
this._dragEnd = false
|
||||||
|
this.state(this.options.inverse ? !state : state)
|
||||||
|
} else {
|
||||||
|
this.state(!this.options.state)
|
||||||
|
}
|
||||||
|
this._dragStart = false
|
||||||
|
},
|
||||||
|
|
||||||
|
'mouseleave.bootstrapSwitch': () => {
|
||||||
|
this.$label.trigger('mouseup.bootstrapSwitch')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.$label.on(handlers)
|
||||||
|
}
|
||||||
|
|
||||||
|
_externalLabelHandler () {
|
||||||
|
const $externalLabel = this.$element.closest('label')
|
||||||
|
$externalLabel.on('click', event => {
|
||||||
|
event.preventDefault()
|
||||||
|
event.stopImmediatePropagation()
|
||||||
|
if (event.target === $externalLabel[0]) {
|
||||||
|
this.toggleState()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
_formHandler () {
|
||||||
|
const $form = this.$element.closest('form')
|
||||||
|
if ($form.data('bootstrap-switch')) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
$form
|
||||||
|
.on('reset.bootstrapSwitch', () => {
|
||||||
|
window.setTimeout(() => {
|
||||||
|
$form.find('input')
|
||||||
|
.filter(function () { return $(this).data('bootstrap-switch') })
|
||||||
|
.each(function () { return $(this).bootstrapSwitch('state', this.checked) })
|
||||||
|
}, 1)
|
||||||
|
})
|
||||||
|
.data('bootstrap-switch', true)
|
||||||
|
}
|
||||||
|
|
||||||
|
_getClass (name) {
|
||||||
|
return `${this.options.baseClass}-${name}`
|
||||||
|
}
|
||||||
|
|
||||||
|
_getClasses (classes) {
|
||||||
|
if (!$.isArray(classes)) {
|
||||||
|
return [this._getClass(classes)]
|
||||||
|
}
|
||||||
|
return classes.map(this._getClass.bind(this))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$.fn.bootstrapSwitch = function (option, ...args) {
|
||||||
|
function reducer (ret, next) {
|
||||||
|
const $this = $(next)
|
||||||
|
const existingData = $this.data('bootstrap-switch')
|
||||||
|
const data = existingData || new BootstrapSwitch(next, option)
|
||||||
|
if (!existingData) {
|
||||||
|
$this.data('bootstrap-switch', data)
|
||||||
|
}
|
||||||
|
if (typeof option === 'string') {
|
||||||
|
return data[option].apply(data, args)
|
||||||
|
}
|
||||||
|
return ret
|
||||||
|
}
|
||||||
|
return Array.prototype.reduce.call(this, reducer, this)
|
||||||
|
}
|
||||||
|
$.fn.bootstrapSwitch.Constructor = BootstrapSwitch
|
||||||
|
$.fn.bootstrapSwitch.defaults = {
|
||||||
|
state: true,
|
||||||
|
size: null,
|
||||||
|
animate: true,
|
||||||
|
disabled: false,
|
||||||
|
readonly: false,
|
||||||
|
indeterminate: false,
|
||||||
|
inverse: false,
|
||||||
|
radioAllOff: false,
|
||||||
|
onColor: 'primary',
|
||||||
|
offColor: 'default',
|
||||||
|
onText: 'ON',
|
||||||
|
offText: 'OFF',
|
||||||
|
labelText: ' ',
|
||||||
|
handleWidth: 'auto',
|
||||||
|
labelWidth: 'auto',
|
||||||
|
baseClass: 'bootstrap-switch',
|
||||||
|
wrapperClass: 'wrapper',
|
||||||
|
onInit: () => {},
|
||||||
|
onSwitchChange: () => {}
|
||||||
|
}
|
||||||
36
resources/views/admin/schedule/editor/course.blade.php
Normal file
36
resources/views/admin/schedule/editor/course.blade.php
Normal file
@@ -0,0 +1,36 @@
|
|||||||
|
<div class="row pt-2 pb-2 border-bottom border-right">
|
||||||
|
<div class="col-6 mb-1">
|
||||||
|
<div class="form-group label-floating">
|
||||||
|
<input type="text" placeholder="OCOM du cours" class="form-control" />
|
||||||
|
<span class="form-control-feedback">
|
||||||
|
<i class="material-icons">done</i>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-6">
|
||||||
|
<div class="form-group label-floating">
|
||||||
|
<input type="text" placeholder="Nom du cours" class="form-control" />
|
||||||
|
<span class="form-control-feedback">
|
||||||
|
<i class="material-icons">clear</i>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-6 mb-1">
|
||||||
|
<div class="form-group label-floating">
|
||||||
|
<input type="text" placeholder="Lieu du cours" class="form-control" />
|
||||||
|
<span class="form-control-feedback">
|
||||||
|
<i class="material-icons">done</i>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-6">
|
||||||
|
<div class="form-group label-floating">
|
||||||
|
<div class="autocomplete">
|
||||||
|
<input type="text" placeholder="Nom de l'instructeur" id="instruc_n{{$niveau}}_p{{$periode}}" class="form-control AutoComplete" aria-describedby="nameHelp" autocomplete="off" required>
|
||||||
|
</div>
|
||||||
|
<span class="form-control-feedback">
|
||||||
|
<i class="material-icons">done</i>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
63
resources/views/admin/schedule/editor/template.blade.php
Normal file
63
resources/views/admin/schedule/editor/template.blade.php
Normal file
@@ -0,0 +1,63 @@
|
|||||||
|
<div class="row">
|
||||||
|
<div class="col-2 p-3 border-right border-bottom bg-dark text-white">
|
||||||
|
<b>
|
||||||
|
Niveau/Periode
|
||||||
|
</b>
|
||||||
|
</div>
|
||||||
|
@for($i = 1; $i <= 3; $i++)
|
||||||
|
<div class="col border-right border-bottom bg-dark text-white">
|
||||||
|
<div class="form-group label-floating">
|
||||||
|
<input type="text" placeholder="Niveau" class="form-control text-white" value="Niveau {{$i}}" />
|
||||||
|
<span class="form-control-feedback">
|
||||||
|
<i class="material-icons">clear</i>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endfor
|
||||||
|
<div class="col-1">
|
||||||
|
<button class="btn btn-primary btn-fab btn-fab-mini btn-round">
|
||||||
|
<i class="material-icons">add</i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@for($j = 1; $j <= 3; $j++)
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-2 d-inline border-right border-bottom bg-light">
|
||||||
|
<div class="form-group label-floating">
|
||||||
|
<input type="text" placeholder="Période" class="form-control" value="Période {{$j}}" />
|
||||||
|
<span class="form-control-feedback">
|
||||||
|
<i class="material-icons">clear</i>
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-6">
|
||||||
|
<div class="form-group label-floating">
|
||||||
|
<input type="time" class="form-control" value="00:00" />
|
||||||
|
<span class="form-control-feedback"><i class="material-icons">clear</i></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-6">
|
||||||
|
<div class="form-group label-floating">
|
||||||
|
<input type="time" class="form-control" value="00:00" />
|
||||||
|
<span class="form-control-feedback"><i class="material-icons">clear</i></span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@for($i = 1; $i <= 3; $i++)
|
||||||
|
<div id="container-{{$i}}-{{$j}}" niveau="{{$i}}" periode="{{$j}}" class="col scheduleEditor-course">
|
||||||
|
@loaderDot
|
||||||
|
</div>
|
||||||
|
@endfor
|
||||||
|
<div class="col-1">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@endfor
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-2 p-2">
|
||||||
|
<button class="btn btn-primary btn-fab btn-fab-mini btn-round">
|
||||||
|
<i class="material-icons">add</i>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@@ -2,54 +2,128 @@
|
|||||||
|
|
||||||
@section('content')
|
@section('content')
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="card ">
|
<div class="col-9">
|
||||||
<div class="card-header card-header-primary">
|
<div class="card ">
|
||||||
<h4 class="card-title">Ajouter un événement à l'horaire</h4>
|
<div class="card-header card-header-primary">
|
||||||
</div>
|
<h4 class="card-title">Ajouter un événement à l'horaire</h4>
|
||||||
<div class="card-body ">
|
</div>
|
||||||
<form action="/admin/schedule/event/add" method="POST">
|
<div class="card-body ">
|
||||||
@csrf
|
<form action="/admin/schedule/event/add" method="POST">
|
||||||
|
@csrf
|
||||||
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="type">Type d'événement</label>
|
<label for="type">Type d'événement</label>
|
||||||
<select class="form-control selectpicker" data-style="btn btn-link" name="type" id="type" onchange="switchType('{{$date}}')" required>
|
<select class="form-control selectpicker" data-style="btn btn-link" name="type" id="type" onchange="switchType('{{$date}}')" required>
|
||||||
@foreach (\App\ComplementaryActivity::all() as $item)
|
@foreach (\App\ComplementaryActivity::all() as $item)
|
||||||
<option value="{{$item->id}}">{{$item->name}}</option>
|
<option value="{{$item->id}}">{{$item->name}}</option>
|
||||||
@endforeach
|
@endforeach
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="row" id="container">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<button type="submit" class="btn btn-primary mt-5">Sauvegarder</button>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-3">
|
||||||
|
<div class="card ">
|
||||||
|
<div class="card-header card-header-primary">
|
||||||
|
<h4 class="card-title">Options</h4>
|
||||||
|
</div>
|
||||||
|
<div class="card-body ">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="m-0" for="type">Activité obligatoire</label>
|
||||||
|
<small class="text-muted d-block">L'activité est-elle obligatoire pour tout les cadets ?</small>
|
||||||
|
<div class="togglebutton">
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" checked="">
|
||||||
|
<span class="toggle"></span>
|
||||||
|
L'activité est obligatoire
|
||||||
|
</label>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="row" id="container">
|
<div class="form-group">
|
||||||
|
<label class="m-0" for="type">Message de la semaine</label>
|
||||||
|
<small class="text-muted d-block">Inclure des messages de la semaine avec l'activité ?</small>
|
||||||
|
<div class="togglebutton">
|
||||||
|
<label>
|
||||||
|
<input id="msg_toggle" type="checkbox" checked="">
|
||||||
|
<span class="toggle"></span>
|
||||||
|
Avec message de la semaine
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<button type="submit" class="btn btn-primary mt-5">Sauvegarder</button>
|
<div class="form-group">
|
||||||
</form>
|
<label class="m-0" for="type">Horaire</label>
|
||||||
|
<small class="text-muted d-block">Inclure un horaire avec l'activité ?</small>
|
||||||
|
<div class="togglebutton">
|
||||||
|
<label>
|
||||||
|
<input type="checkbox" checked="" id="schedule_toggle">
|
||||||
|
<span class="toggle"></span>
|
||||||
|
Avec horaire
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@section('custom_scripts')
|
@section('custom_scripts')
|
||||||
<script src="/js/calendar.js"></script>
|
<script src="/js/calendar.js"></script>
|
||||||
<script>
|
<script src="/js/plugins/schedule/editor.js"></script>
|
||||||
switchType('{{$date}}')
|
<script src="/js/plugins/autocomplete.js"></script>
|
||||||
$('.datetimepicker').datetimepicker({
|
<script>
|
||||||
icons: {
|
switchType('{{$date}}')
|
||||||
time: "fa fa-clock-o",
|
$('.datetimepicker').datetimepicker({
|
||||||
date: "fa fa-calendar",
|
icons: {
|
||||||
up: "fa fa-chevron-up",
|
time: "fa fa-clock-o",
|
||||||
down: "fa fa-chevron-down",
|
date: "fa fa-calendar",
|
||||||
previous: 'fa fa-chevron-left',
|
up: "fa fa-chevron-up",
|
||||||
next: 'fa fa-chevron-right',
|
down: "fa fa-chevron-down",
|
||||||
today: 'fa fa-screenshot',
|
previous: 'fa fa-chevron-left',
|
||||||
clear: 'fa fa-trash',
|
next: 'fa fa-chevron-right',
|
||||||
close: 'fa fa-remove'
|
today: 'fa fa-screenshot',
|
||||||
}
|
clear: 'fa fa-trash',
|
||||||
});
|
close: 'fa fa-remove'
|
||||||
$('select').selectpicker();
|
}
|
||||||
</script>
|
});
|
||||||
|
$('select').selectpicker();
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
$('#msg_toggle').change(
|
||||||
|
function () {
|
||||||
|
if($(this).is(":checked"))
|
||||||
|
{
|
||||||
|
$('#collmessagedelasemaine').removeClass('d-none');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$('#collmessagedelasemaine').addClass('d-none');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
$('#schedule_toggle').change(
|
||||||
|
function () {
|
||||||
|
if($(this).is(":checked"))
|
||||||
|
{
|
||||||
|
$('#collschedule').removeClass('d-none');
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$('#collschedule').addClass('d-none');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
)
|
||||||
|
</script>
|
||||||
|
<script>
|
||||||
|
$( document ).ready(initScheduleEditor("scheduleEditor",3,4));
|
||||||
|
</script>
|
||||||
@endsection
|
@endsection
|
||||||
@@ -1,198 +1,208 @@
|
|||||||
<div class="col-md-12 mt-4 text-center">
|
<div id="accordion" class="col-12" role="tablist">
|
||||||
<h4>Information Générale</h4>
|
<div class="card card-collapse">
|
||||||
</div>
|
<div class="card-header" role="tab" id="headingOne">
|
||||||
<div class="col-md-12">
|
<h5 class="mb-0">
|
||||||
<div class="form-group">
|
<a data-toggle="collapse" href="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
|
||||||
<label for="name">Nom de l'événement</label>
|
<b>Information générale</b>
|
||||||
<input type="text" name="name" id="name" class="form-control" placeholder="" aria-describedby="nameHelp" value="{{$activity->name}}" required>
|
<i class="material-icons">keyboard_arrow_down</i>
|
||||||
<small id="nameHelp" class="text-muted">Veuillez entrer le nom de l'événement</small>
|
</a>
|
||||||
</div>
|
</h5>
|
||||||
</div>
|
|
||||||
<div class="col-lg-3 col-md-4">
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="label-control">Date et Heure de début</label>
|
|
||||||
<input name="begin" type="text" id="datetimepickerbegin" class="form-control datetimepicker" required/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-3 col-md-4">
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="label-control">Date et Heure de fin</label>
|
|
||||||
<input name="end" type="text" id="datetimepickerend" class="form-control datetimepicker" required/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-lg-6 col-md-4">
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="name">Lieux</label>
|
|
||||||
<input type="text" name="location" id="location" class="form-control" placeholder="" aria-describedby="nameHelp" value="{{$activity->location}}" required>
|
|
||||||
<small id="nameHelp" class="text-muted">Veuillez entrer le lieu de l'événement</small>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-12 my-auto text-center">
|
|
||||||
<div class="form-group">
|
|
||||||
<div class="form-check">
|
|
||||||
<label class="form-check-label">
|
|
||||||
<input class="form-check-input" name="is_mandatory" type="checkbox" value="1"
|
|
||||||
@if ($activity->is_mandatory == 1)
|
|
||||||
checked
|
|
||||||
@endif>
|
|
||||||
L'événement est t-il obligatoire pour tous les cadets ?
|
|
||||||
<span class="form-check-sign">
|
|
||||||
<span class="check"></span>
|
|
||||||
</span>
|
|
||||||
</label>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
</div>
|
<div id="collapseOne" class="collapse show" role="tabpanel" aria-labelledby="headingOne" data-parent="#accordion">
|
||||||
<div class="col-md-12 mt-4 text-center">
|
|
||||||
<h4>Options Supplémentaires</h4>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-12 mt-4">
|
|
||||||
<ul class="nav nav-pills mb-3 justify-content-center" id="pills-tab" role="tablist">
|
|
||||||
<li class="nav-item w-25">
|
|
||||||
<a class="nav-link active w-100" id="pills-home-tab" data-toggle="pill" href="#comment" role="tab" aria-controls="pills-home" aria-selected="true">Description</a>
|
|
||||||
</li>
|
|
||||||
<li class="nav-item w-25">
|
|
||||||
<a class="nav-link" id="pills-profile-tab" data-toggle="pill" href="#msg" role="tab" aria-controls="pills-profile" aria-selected="false">Message de la semaine</a>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
<div class="tab-content" id="pills-tabContent">
|
|
||||||
<div class="tab-pane fade show active" id="comment" role="tabpanel" aria-labelledby="pills-home-tab">
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="desc">Description</label>
|
|
||||||
<textarea class="form-control richeditor" name="desc" id="desc" rows="6" required>{{$activity->admin_desc}}</textarea>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="tab-pane fade" id="msg" role="tabpanel" aria-labelledby="pills-profile-tab">
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-md-6">
|
|
||||||
<div class="form-group">
|
|
||||||
<label class="label-control">Date et heure de publication des messages de la semaine</label>
|
|
||||||
<input name="date_msg" type="text" id="datetimepickermsg" class="form-control datetimepicker"/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="desc">Message de le semaine</label>
|
<label for="name">Nom de l'événement</label>
|
||||||
<textarea class="form-control richeditor" name="msg" id="msg" rows="6">{{\App\Config::getData('default_weekly_msg')}}</textarea>
|
<input type="text" name="name" id="name" class="form-control" placeholder="" aria-describedby="nameHelp" value="{{$activity->name}}" required>
|
||||||
|
<small id="nameHelp" class="text-muted">Veuillez entrer le nom de l'événement</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-3 col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="label-control">Date et Heure de début</label>
|
||||||
|
<input name="begin" type="text" id="datetimepickerbegin" class="form-control datetimepicker" required/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-3 col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="label-control">Date et Heure de fin</label>
|
||||||
|
<input name="end" type="text" id="datetimepickerend" class="form-control datetimepicker" required/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-lg-6 col-md-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="name">Lieux</label>
|
||||||
|
<input type="text" name="location" id="location" class="form-control" placeholder="" aria-describedby="nameHelp" value="{{$activity->location}}" required>
|
||||||
|
<small id="nameHelp" class="text-muted">Veuillez entrer le lieu de l'événement</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12 mt-4">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="desc">Description</label>
|
||||||
|
<textarea class="form-control richeditor" name="desc" id="desc" rows="6" required>{{$activity->admin_desc}}</textarea>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="card card-collapse" id="collmessagedelasemaine">
|
||||||
|
<div class="card-header" role="tab" id="headingTwo">
|
||||||
|
<h5 class="mb-0">
|
||||||
|
<a class="collapsed" data-toggle="collapse" href="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
|
||||||
|
<b>Message de la semaine</b>
|
||||||
|
<i class="material-icons">keyboard_arrow_down</i>
|
||||||
|
</a>
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<div id="collapseTwo" class="collapse" role="tabpanel" aria-labelledby="headingTwo" data-parent="#accordion">
|
||||||
|
<div class="card-body">
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-6">
|
||||||
|
<div class="form-group">
|
||||||
|
<label class="label-control">Date et heure de publication des messages de la semaine</label>
|
||||||
|
<input name="date_msg" type="text" id="datetimepickermsg" class="form-control datetimepicker"/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-12">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="desc">Message de le semaine</label>
|
||||||
|
<textarea class="form-control richeditor" name="msg" id="msg" rows="6">{{\App\Config::getData('default_weekly_msg')}}</textarea>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="card card-collapse" id="collschedule">
|
||||||
|
<div class="card-header" role="tab" id="headingThree">
|
||||||
|
<h5 class="mb-0">
|
||||||
|
<a class="collapsed" data-toggle="collapse" href="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
|
||||||
|
<b>Horaire</b>
|
||||||
|
<i class="material-icons">keyboard_arrow_down</i>
|
||||||
|
</a>
|
||||||
|
</h5>
|
||||||
|
</div>
|
||||||
|
<div id="collapseThree" class="collapse" role="tabpanel" aria-labelledby="headingThree" data-parent="#accordion">
|
||||||
|
<div class="card-body" style="overflow: scroll">
|
||||||
|
<div id="scheduleEditor" class="m-3" style="width: 90vw">
|
||||||
|
@loaderDot
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@if ($activity->id == 1)
|
@if ($activity->id == 99)
|
||||||
<div class="col-md-12 mt-4 text-center">
|
<div class="col-md-12 mt-4 text-center">
|
||||||
<h4>Horaire d'instruction</h4>
|
<h4>Horaire d'instruction</h4>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-12">
|
<div class="col-md-12">
|
||||||
<div id="accordion" role="tablist">
|
<div id="accordion" role="tablist">
|
||||||
@for ($i = 1; $i <= \App\Config::getData('admin_level_in_schedule_nb'); $i++)
|
@for ($i = 1; $i <= \App\Config::getData('admin_level_in_schedule_nb'); $i++)
|
||||||
<div class="card card-collapse">
|
<div class="card card-collapse">
|
||||||
<div class="card-header" role="tab" id="heading{{$i}}">
|
<div class="card-header" role="tab" id="heading{{$i}}">
|
||||||
<h5 class="mb-0">
|
<h5 class="mb-0">
|
||||||
<a data-toggle="collapse" href="#collapse{{$i}}" aria-expanded="true" aria-controls="collapse{{$i}}">
|
<a data-toggle="collapse" href="#collapse{{$i}}" aria-expanded="true" aria-controls="collapse{{$i}}">
|
||||||
Horaire Niveau {{$i}}
|
Horaire Niveau {{$i}}
|
||||||
<i class="material-icons">keyboard_arrow_down</i>
|
<i class="material-icons">keyboard_arrow_down</i>
|
||||||
</a>
|
</a>
|
||||||
</h5>
|
</h5>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="collapse{{$i}}" class="collapse" role="tabpanel" aria-labelledby="heading{{$i}}" data-parent="#accordion">
|
<div id="collapse{{$i}}" class="collapse" role="tabpanel" aria-labelledby="heading{{$i}}" data-parent="#accordion">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
|
|
||||||
@for ($p = 1; $p <= \App\Config::getData('admin_periode_nb'); $p++)
|
@for ($p = 1; $p <= \App\Config::getData('admin_periode_nb'); $p++)
|
||||||
<h4 class="mt-3" >Période {{$p}}</h4>
|
<h4 class="mt-3" >Période {{$p}}</h4>
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="col-sm-6 my-2">
|
<div class="col-sm-6 my-2">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="name">Nom du cours</label>
|
<label for="name">Nom du cours</label>
|
||||||
<input type="text" name="name_n{{$i}}_p{{$p}}" id="name_n{{$i}}_p{{$p}}" class="form-control" aria-describedby="nameHelp" required @if(env('APP_DEBUG') == true)value="Nom du cours"@endif>
|
<input type="text" name="name_n{{$i}}_p{{$p}}" id="name_n{{$i}}_p{{$p}}" class="form-control" aria-describedby="nameHelp" required @if(env('APP_DEBUG') == true)value="Nom du cours"@endif>
|
||||||
<small id="nameHelp" class="text-muted">Veuillez entrer le nom du cours</small>
|
<small id="nameHelp" class="text-muted">Veuillez entrer le nom du cours</small>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6">
|
<div class="col-sm-6">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label for="name">Instructeur</label>
|
<label for="name">Instructeur</label>
|
||||||
<div class="autocomplete">
|
<div class="autocomplete">
|
||||||
<input type="text" name="instruc_n{{$i}}_p{{$p}}" id="instruc_n{{$i}}_p{{$p}}" class="form-control AutoComplete" aria-describedby="nameHelp" autocomplete="off" required>
|
<input type="text" name="instruc_n{{$i}}_p{{$p}}" id="instruc_n{{$i}}_p{{$p}}" class="form-control AutoComplete" aria-describedby="nameHelp" autocomplete="off" required>
|
||||||
|
</div>
|
||||||
|
<small id="nameHelp" class="text-muted">Veuillez entrer le nom de l'instructeur</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 my-2">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="name">OCOM</label>
|
||||||
|
<input type="text" name="ocom_n{{$i}}_p{{$p}}" id="ocom_n{{$i}}_p{{$p}}" class="form-control" aria-describedby="nameHelp" required @if(env('APP_DEBUG') == true)value="OCOM"@endif>
|
||||||
|
<small id="nameHelp" class="text-muted">Veuillez entrer l'OCOM</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-sm-6 my-2">
|
||||||
|
<div class="form-group">
|
||||||
|
<label for="name">Lieux</label>
|
||||||
|
<input type="text" name="loc_n{{$i}}_p{{$p}}" id="loc_n{{$i}}_p{{$p}}" class="form-control" placeholder="" aria-describedby="nameHelp" required @if(env('APP_DEBUG') == true)value="Lieu"@endif>
|
||||||
|
<small id="nameHelp" class="text-muted">Veuillez entrer le lieux</small>
|
||||||
</div>
|
</div>
|
||||||
<small id="nameHelp" class="text-muted">Veuillez entrer le nom de l'instructeur</small>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-sm-6 my-2">
|
<hr>
|
||||||
<div class="form-group">
|
@endfor
|
||||||
<label for="name">OCOM</label>
|
</div>
|
||||||
<input type="text" name="ocom_n{{$i}}_p{{$p}}" id="ocom_n{{$i}}_p{{$p}}" class="form-control" aria-describedby="nameHelp" required @if(env('APP_DEBUG') == true)value="OCOM"@endif>
|
|
||||||
<small id="nameHelp" class="text-muted">Veuillez entrer l'OCOM</small>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="col-sm-6 my-2">
|
|
||||||
<div class="form-group">
|
|
||||||
<label for="name">Lieux</label>
|
|
||||||
<input type="text" name="loc_n{{$i}}_p{{$p}}" id="loc_n{{$i}}_p{{$p}}" class="form-control" placeholder="" aria-describedby="nameHelp" required @if(env('APP_DEBUG') == true)value="Lieu"@endif>
|
|
||||||
<small id="nameHelp" class="text-muted">Veuillez entrer le lieux</small>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<hr>
|
|
||||||
@endfor
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
@endfor
|
||||||
@endfor
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
|
||||||
@endif
|
@endif
|
||||||
<script src="/js/plugins/autocomplete.js"></script>
|
|
||||||
<script>
|
<script>
|
||||||
var begin = "<?php echo $begin_time ?>";
|
var begin = "<?php echo $begin_time ?>";
|
||||||
var end = "<?php echo $end_time ?>";
|
var end = "<?php echo $end_time ?>";
|
||||||
var msg = "<?php echo $msg_time ?>";
|
var msg = "<?php echo $msg_time ?>";
|
||||||
$('#datetimepickerbegin').datetimepicker({
|
$('#datetimepickerbegin').datetimepicker({
|
||||||
icons: {
|
icons: {
|
||||||
time: "fa fa-clock-o",
|
time: "fa fa-clock-o",
|
||||||
date: "fa fa-calendar",
|
date: "fa fa-calendar",
|
||||||
up: "fa fa-chevron-up",
|
up: "fa fa-chevron-up",
|
||||||
down: "fa fa-chevron-down",
|
down: "fa fa-chevron-down",
|
||||||
previous: 'fa fa-chevron-left',
|
previous: 'fa fa-chevron-left',
|
||||||
next: 'fa fa-chevron-right',
|
next: 'fa fa-chevron-right',
|
||||||
today: 'fa fa-screenshot',
|
today: 'fa fa-screenshot',
|
||||||
clear: 'fa fa-trash',
|
clear: 'fa fa-trash',
|
||||||
close: 'fa fa-remove'
|
close: 'fa fa-remove'
|
||||||
},
|
},
|
||||||
date: new Date(begin)
|
date: new Date(begin)
|
||||||
});
|
});
|
||||||
$('#datetimepickerend').datetimepicker({
|
$('#datetimepickerend').datetimepicker({
|
||||||
icons: {
|
icons: {
|
||||||
time: "fa fa-clock-o",
|
time: "fa fa-clock-o",
|
||||||
date: "fa fa-calendar",
|
date: "fa fa-calendar",
|
||||||
up: "fa fa-chevron-up",
|
up: "fa fa-chevron-up",
|
||||||
down: "fa fa-chevron-down",
|
down: "fa fa-chevron-down",
|
||||||
previous: 'fa fa-chevron-left',
|
previous: 'fa fa-chevron-left',
|
||||||
next: 'fa fa-chevron-right',
|
next: 'fa fa-chevron-right',
|
||||||
today: 'fa fa-screenshot',
|
today: 'fa fa-screenshot',
|
||||||
clear: 'fa fa-trash',
|
clear: 'fa fa-trash',
|
||||||
close: 'fa fa-remove'
|
close: 'fa fa-remove'
|
||||||
},
|
},
|
||||||
date: new Date(end)
|
date: new Date(end)
|
||||||
});
|
});
|
||||||
$('#datetimepickermsg').datetimepicker({
|
$('#datetimepickermsg').datetimepicker({
|
||||||
icons: {
|
icons: {
|
||||||
time: "fa fa-clock-o",
|
time: "fa fa-clock-o",
|
||||||
date: "fa fa-calendar",
|
date: "fa fa-calendar",
|
||||||
up: "fa fa-chevron-up",
|
up: "fa fa-chevron-up",
|
||||||
down: "fa fa-chevron-down",
|
down: "fa fa-chevron-down",
|
||||||
previous: 'fa fa-chevron-left',
|
previous: 'fa fa-chevron-left',
|
||||||
next: 'fa fa-chevron-right',
|
next: 'fa fa-chevron-right',
|
||||||
today: 'fa fa-screenshot',
|
today: 'fa fa-screenshot',
|
||||||
clear: 'fa fa-trash',
|
clear: 'fa fa-trash',
|
||||||
close: 'fa fa-remove'
|
close: 'fa fa-remove'
|
||||||
},
|
},
|
||||||
date: new Date(msg)
|
date: new Date(msg)
|
||||||
});
|
});
|
||||||
$('.richeditor').trumbowyg({
|
$('.richeditor').trumbowyg({
|
||||||
lang: 'fr'
|
lang: 'fr'
|
||||||
});
|
});
|
||||||
initAutoComplete("AutoComplete");
|
|
||||||
</script>
|
</script>
|
||||||
@@ -26,7 +26,7 @@
|
|||||||
<link href='/assets/fullcalendar/daygrid/main.css' rel='stylesheet' />
|
<link href='/assets/fullcalendar/daygrid/main.css' rel='stylesheet' />
|
||||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.18.0/ui/trumbowyg.css">
|
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.18.0/ui/trumbowyg.css">
|
||||||
<link rel="stylesheet" href="/assets/jquery-ui-1.12.1/jquery-ui.theme.css">
|
<link rel="stylesheet" href="/assets/jquery-ui-1.12.1/jquery-ui.theme.css">
|
||||||
|
<link rel="stylesheet" href="/css/contextLoader.min.css">
|
||||||
|
|
||||||
<!-- Custom CSS -->
|
<!-- Custom CSS -->
|
||||||
<link rel="stylesheet" href="/css/custom.css">
|
<link rel="stylesheet" href="/css/custom.css">
|
||||||
@@ -30,6 +30,7 @@
|
|||||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.18.0/langs/fr.js"></script>
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/Trumbowyg/2.18.0/langs/fr.js"></script>
|
||||||
<script src="/js/notify.js"></script>
|
<script src="/js/notify.js"></script>
|
||||||
|
|
||||||
|
<script src="/js/plugins/contextLoader.min.js"></script>
|
||||||
<script>
|
<script>
|
||||||
var api_token = "<?php echo Auth::User()->api_token ?>";
|
var api_token = "<?php echo Auth::User()->api_token ?>";
|
||||||
$('.sidebar .sidebar-wrapper, .main-panel').perfectScrollbar();
|
$('.sidebar .sidebar-wrapper, .main-panel').perfectScrollbar();
|
||||||
|
|||||||
@@ -16,12 +16,11 @@ Route::get('/schedule/events','ScheduleController@apiIndex');
|
|||||||
Route::get('/schedule/events/modal/{id}/{db_type}','ScheduleController@loadModal');
|
Route::get('/schedule/events/modal/{id}/{db_type}','ScheduleController@loadModal');
|
||||||
|
|
||||||
Route::middleware('auth:api')->group(function () {
|
Route::middleware('auth:api')->group(function () {
|
||||||
Route::get('/user', function (Request $request) {
|
|
||||||
return $request->user();
|
|
||||||
});
|
|
||||||
|
|
||||||
Route::get('/schedule/events/modal/full/{id}/{db_type}','ScheduleController@loadModalFull')->middleware('perm:schedule_see');
|
Route::get('/schedule/events/modal/full/{id}/{db_type}','ScheduleController@loadModalFull')->middleware('perm:schedule_see');
|
||||||
Route::get('/schedule/events/add/modal/{type}/{date}','ScheduleController@loadModalDefautType')->middleware('perm:schedule_add');
|
Route::get('/schedule/events/add/modal/{type}/{date}','ScheduleController@loadModalDefautType')->middleware('perm:schedule_add');
|
||||||
|
Route::get('/schedule/editor/init','ScheduleEditorController@getTemplate')->middleware('perm:schedule_edit');
|
||||||
|
Route::get('/schedule/editor/course/{niveau}/{periode}','ScheduleEditorController@getCourseEmpty')->middleware('perm:schedule_edit');
|
||||||
Route::post('/schedule/event/delete/{id}','ScheduleController@delete')->middleware('perm:schedule_delete');
|
Route::post('/schedule/event/delete/{id}','ScheduleController@delete')->middleware('perm:schedule_delete');
|
||||||
|
|
||||||
/** Booking */
|
/** Booking */
|
||||||
@@ -41,6 +40,9 @@ Route::middleware('auth:api')->group(function () {
|
|||||||
Route::post('/user/delete', 'UserController@destroy')->middleware('perm:user_delete');
|
Route::post('/user/delete', 'UserController@destroy')->middleware('perm:user_delete');
|
||||||
Route::get('/user/list', 'UserController@apiList')->middleware('perm:user_see');
|
Route::get('/user/list', 'UserController@apiList')->middleware('perm:user_see');
|
||||||
|
|
||||||
|
/** OCOM Route */
|
||||||
|
Route::get('/ocom/list', 'UserController@apiList')->middleware('perm:user_see');
|
||||||
|
|
||||||
/** Inventory Route */
|
/** Inventory Route */
|
||||||
Route::post('/item/delete', 'ItemController@destroy')->middleware('perm:inventory_delete');
|
Route::post('/item/delete', 'ItemController@destroy')->middleware('perm:inventory_delete');
|
||||||
|
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ use Illuminate\Support\Facades\Storage;
|
|||||||
/* Basic Auth Route */
|
/* Basic Auth Route */
|
||||||
Auth::routes();
|
Auth::routes();
|
||||||
Route::get('logout', 'Auth\LoginController@logout')->name('logout');
|
Route::get('logout', 'Auth\LoginController@logout')->name('logout');
|
||||||
|
Route::get("/test",'OCOMController@create');
|
||||||
|
|
||||||
|
|
||||||
/** Public Route */
|
/** Public Route */
|
||||||
@@ -27,10 +27,6 @@ Route::get('/activity/{id}', 'ComplementaryActivityController@show');
|
|||||||
Route::get('/picture/{id}', 'PictureController@show');
|
Route::get('/picture/{id}', 'PictureController@show');
|
||||||
Route::get('/pictures', 'PictureController@index');
|
Route::get('/pictures', 'PictureController@index');
|
||||||
|
|
||||||
Route::get('/test',function(){
|
|
||||||
clog('add','success','Test');
|
|
||||||
});
|
|
||||||
|
|
||||||
Route::middleware(['auth'])->group(function () {
|
Route::middleware(['auth'])->group(function () {
|
||||||
|
|
||||||
/* Espace Administration Route */
|
/* Espace Administration Route */
|
||||||
|
|||||||
Reference in New Issue
Block a user