Loading doc/Tables.sql 0 → 100644 +81 −0 Changes for doc/Tables.sql: 81 added lines, 0 removed lines. Original line number Diff line number Diff line create table unicaen_evenement_etat ( id serial constraint pk_evenement_etat primary key, code varchar(255) not null constraint un_evenement_etat_code unique deferrable initially deferred, libelle varchar(255) not null, description varchar(2047) ); create table unicaen_evenement_type ( id serial constraint pk_evenement_type primary key, code varchar(255) not null constraint un_evenement_type_code unique deferrable initially deferred, libelle varchar(255) not null, description varchar(2047), parametres varchar(2047), recursion varchar(64) ); create table unicaen_evenement_instance ( id serial constraint pk_evenement_instance primary key, nom varchar(255) not null, description varchar(1024) not null, type_id integer not null constraint fk_evenement_instance_type references unicaen_evenement_type deferrable, etat_id integer not null constraint fk_evenement_instance_etat references unicaen_evenement_etat deferrable, parametres text, date_creation timestamp not null, date_planification timestamp not null, date_traitement timestamp, log text, parent_id integer constraint fk_evenement_instance_parent references unicaen_evenement_instance deferrable, date_fin timestamp ); create index ix_evenement_instance_type on unicaen_evenement_instance (type_id); create index ix_evenement_instance_etat on unicaen_evenement_instance (etat_id); create index ix_evenement_instance_parent on unicaen_evenement_instance (parent_id); create table unicaen_evenement_journal ( id serial constraint unicaen_evenement_journal_pk primary key, date_execution timestamp not null, log text, etat_id integer constraint unicaen_evenement_journal_unicaen_evenement_etat_id_fk references unicaen_evenement_etat on delete set null ); create unique index unicaen_evenement_journal_id_uindex on unicaen_evenement_journal (id); No newline at end of file doc/inserts.sql 0 → 100644 +46 −0 Changes for doc/inserts.sql: 46 added lines, 0 removed lines. Original line number Diff line number Diff line INSERT INTO unicaen_evenement_etat (id, code, libelle) VALUES (1, 'en_attente', 'En attente'); INSERT INTO unicaen_evenement_etat (id, code, libelle) VALUES (2, 'en_cours', 'En cours'); INSERT INTO unicaen_evenement_etat (id, code, libelle) VALUES (3, 'echec', 'Échec'); INSERT INTO unicaen_evenement_etat (id, code, libelle) VALUES (4, 'succes', 'Succès'); -- EVENEMENT -------------------------------------------------------------------------------------------------- INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace) VALUES ('evenementetat', 'Gestion des événements - État', 99991, 'UnicaenEvenement\Provider\Privilege'); INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE) WITH d(code, lib, ordre) AS ( SELECT 'etat_consultation', 'état - consultation', 10 UNION SELECT 'etat_ajout', 'état - ajout', 20 UNION SELECT 'etat_edition', 'état - édition', 30 UNION SELECT 'etat_suppression', 'état - suppression', 40 ) SELECT cp.id, d.code, d.lib, d.ordre FROM d JOIN unicaen_privilege_categorie cp ON cp.CODE = 'evenementetat'; INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace) VALUES ('evenementinstance', 'Gestion des événements - Instance', 99993, 'UnicaenEvenement\Provider\Privilege'); INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE) WITH d(code, lib, ordre) AS ( SELECT 'instance_consultation', 'instance - consultation', 10 UNION SELECT 'instance_ajout', 'instance - ajout', 20 UNION SELECT 'instance_edition', 'instance - édition', 30 UNION SELECT 'instance_suppression', 'instance - suppression', 40 UNION SELECT 'instance_traitement', 'instance - traitement', 100 ) SELECT cp.id, d.code, d.lib, d.ordre FROM d JOIN unicaen_privilege_categorie cp ON cp.CODE = 'evenementinstance'; INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace) VALUES ('evenementtype', 'Gestion des événements - Type', 99992, 'UnicaenEvenement\Provider\Privilege'); INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE) WITH d(code, lib, ordre) AS ( SELECT 'type_consultation', 'type - consultation', 10 UNION SELECT 'type_ajout', 'type - ajout', 20 UNION SELECT 'type_edition', 'type - édition', 30 UNION SELECT 'type_suppression', 'type - suppression', 40 ) SELECT cp.id, d.code, d.lib, d.ordre FROM d JOIN unicaen_privilege_categorie cp ON cp.CODE = 'evenementtype'; No newline at end of file readme.md +1 −1 Changes for readme.md: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -6,6 +6,6 @@ $ docker exec preecog php public/index.php traiter-evenements Déclaration dans la crontab ```sh # - Traitement des évènements en attente # - Traitement des événements en attente */1 * * * * root cd /var/www/html && php public/index.php traiter-evenements 1> /dev/null 2>&1 ``` No newline at end of file src/UnicaenEvenement/Controller/EvenementConsoleController.php +6 −6 Changes for src/UnicaenEvenement/Controller/EvenementConsoleController.php: 6 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ class EvenementConsoleController extends AbstractConsoleController /** * Temps d'exécution maximal (sec) du script de traitement des événements * !! celui-ci doit être en adéquation avec le cycle d'exécution du script de traitement des évènements en attente dans la crontab du serveur * !! celui-ci doit être en adéquation avec le cycle d'exécution du script de traitement des événements en attente dans la crontab du serveur * @file /etc/crontab */ const MAX_EXECUTION_TIME = 60; Loading @@ -46,7 +46,7 @@ class EvenementConsoleController extends AbstractConsoleController $this->getJournalService()->create($journal); $start = new DateTime(); $this->getConsole()->writeLine("\n* " . ($titre = "Traitement des évènements en attente") . " *\n", ColorInterface::LIGHT_GREEN); $this->getConsole()->writeLine("\n* " . ($titre = "Traitement des événements en attente") . " *\n", ColorInterface::LIGHT_GREEN); $this->getConsole()->writeLine("Debut du traitement", ColorInterface::GREEN); $this->getConsole()->writeLine("-------------------\n", ColorInterface::GREEN); Loading @@ -67,18 +67,18 @@ class EvenementConsoleController extends AbstractConsoleController try { if ($evenement !== null) { $this->evenementGestionService->traiterEvent($evenement); $this->getConsole()->writeLine(sprintf("- traitement de l'évènement #%s", $evenement->getId())); $texte .= "Traitement de l'évènement #". $evenement->getId()." <br/>"; $this->getConsole()->writeLine(sprintf("- traitement de l'événement #%s", $evenement->getId())); $texte .= "Traitement de l'événement #". $evenement->getId()." <br/>"; $nbOp++; } } catch (Exception $e) { $this->getConsole()->writeLine(sprintf("- échec du traitement de l'évènement #%s", $evenement->getId()), ColorInterface::RED); $this->getConsole()->writeLine(sprintf("- échec du traitement de l'événement #%s", $evenement->getId()), ColorInterface::RED); $texte .= "<strong> Échec du traitement </strong> <br/>"; } } if($nbOp == 0) { $this->getConsole()->writeLine("Aucun évènement à traiter."); $this->getConsole()->writeLine("Aucun événement à traiter."); } $this->getConsole()->writeLine("\n-------------------",ColorInterface::GREEN); Loading src/UnicaenEvenement/Controller/EvenementController.php +8 −8 Changes for src/UnicaenEvenement/Controller/EvenementController.php: 8 added lines, 8 removed lines. Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ class EvenementController extends AbstractActionController { public function afficherAction() : ViewModel { $evenement = $this->evenementService->find($this->params()->fromRoute('evenement')); $title = "Détail de l'évènement"; $title = "Détail de l'événement"; return new ViewModel([ 'title' => $title, Loading @@ -38,7 +38,7 @@ class EvenementController extends AbstractActionController { try { foreach ($evenements as $evenement) { if ($evenement) { // on ne traite que les évènements en attente // on ne traite que les événements en attente if ($evenement->getEtat()->getCode() == Etat::EN_ATTENTE AND $evenement->getDatePlanification() <= (new DateTime())) { $evenement = $this->evenementGestionService->traiterEvent($evenement); $etat = $evenement->getEtat(); Loading @@ -61,7 +61,7 @@ class EvenementController extends AbstractActionController { } return new JsonModel([ 'message' => "Traitement des évènements sélectionnés", 'message' => "Traitement des événements sélectionnés", 'status' => 'success', 'result' => $data, ]); Loading @@ -70,7 +70,7 @@ class EvenementController extends AbstractActionController { var_dump($e); die(); return new JsonModel([ 'message' => "Une erreur est survenue lors du traitement des évènements sélectionnés.", 'message' => "Une erreur est survenue lors du traitement des événements sélectionnés.", 'status' => 'error', 'result' => $data, ]); Loading @@ -92,14 +92,14 @@ class EvenementController extends AbstractActionController { $data[$evenement->getId()] = [$etat->getCode(), $etat->getLibelle()]; } return new JsonModel([ 'message' => "État des évènements sélectionnés modifié avec succès.", 'message' => "État des événements sélectionnés modifié avec succès.", 'status' => 'success', 'result' => $data, ]); } catch (Exception $e) { return new JsonModel([ 'message' => "Une erreur est survenue lors de la modification de l'état des évènements sélectionnés", 'message' => "Une erreur est survenue lors de la modification de l'état des événements sélectionnés", 'status' => 'error', 'result' => $data, ]); Loading @@ -123,7 +123,7 @@ class EvenementController extends AbstractActionController { $this->evenementService->commit(); return new JsonModel([ 'message' => "Évènements sélectionnés supprimés avec succès.", 'message' => "Événements sélectionnés supprimés avec succès.", 'status' => 'success', 'result' => $data, ]); Loading @@ -131,7 +131,7 @@ class EvenementController extends AbstractActionController { catch (Exception $e) { $this->evenementService->rollBack(); return new JsonModel([ 'message' => "Une erreur est survenue lors de la suppression des évènements sélectionnés.", 'message' => "Une erreur est survenue lors de la suppression des événements sélectionnés.", 'status' => 'error', ]); } Loading Loading
doc/Tables.sql 0 → 100644 +81 −0 Changes for doc/Tables.sql: 81 added lines, 0 removed lines. Original line number Diff line number Diff line create table unicaen_evenement_etat ( id serial constraint pk_evenement_etat primary key, code varchar(255) not null constraint un_evenement_etat_code unique deferrable initially deferred, libelle varchar(255) not null, description varchar(2047) ); create table unicaen_evenement_type ( id serial constraint pk_evenement_type primary key, code varchar(255) not null constraint un_evenement_type_code unique deferrable initially deferred, libelle varchar(255) not null, description varchar(2047), parametres varchar(2047), recursion varchar(64) ); create table unicaen_evenement_instance ( id serial constraint pk_evenement_instance primary key, nom varchar(255) not null, description varchar(1024) not null, type_id integer not null constraint fk_evenement_instance_type references unicaen_evenement_type deferrable, etat_id integer not null constraint fk_evenement_instance_etat references unicaen_evenement_etat deferrable, parametres text, date_creation timestamp not null, date_planification timestamp not null, date_traitement timestamp, log text, parent_id integer constraint fk_evenement_instance_parent references unicaen_evenement_instance deferrable, date_fin timestamp ); create index ix_evenement_instance_type on unicaen_evenement_instance (type_id); create index ix_evenement_instance_etat on unicaen_evenement_instance (etat_id); create index ix_evenement_instance_parent on unicaen_evenement_instance (parent_id); create table unicaen_evenement_journal ( id serial constraint unicaen_evenement_journal_pk primary key, date_execution timestamp not null, log text, etat_id integer constraint unicaen_evenement_journal_unicaen_evenement_etat_id_fk references unicaen_evenement_etat on delete set null ); create unique index unicaen_evenement_journal_id_uindex on unicaen_evenement_journal (id); No newline at end of file
doc/inserts.sql 0 → 100644 +46 −0 Changes for doc/inserts.sql: 46 added lines, 0 removed lines. Original line number Diff line number Diff line INSERT INTO unicaen_evenement_etat (id, code, libelle) VALUES (1, 'en_attente', 'En attente'); INSERT INTO unicaen_evenement_etat (id, code, libelle) VALUES (2, 'en_cours', 'En cours'); INSERT INTO unicaen_evenement_etat (id, code, libelle) VALUES (3, 'echec', 'Échec'); INSERT INTO unicaen_evenement_etat (id, code, libelle) VALUES (4, 'succes', 'Succès'); -- EVENEMENT -------------------------------------------------------------------------------------------------- INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace) VALUES ('evenementetat', 'Gestion des événements - État', 99991, 'UnicaenEvenement\Provider\Privilege'); INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE) WITH d(code, lib, ordre) AS ( SELECT 'etat_consultation', 'état - consultation', 10 UNION SELECT 'etat_ajout', 'état - ajout', 20 UNION SELECT 'etat_edition', 'état - édition', 30 UNION SELECT 'etat_suppression', 'état - suppression', 40 ) SELECT cp.id, d.code, d.lib, d.ordre FROM d JOIN unicaen_privilege_categorie cp ON cp.CODE = 'evenementetat'; INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace) VALUES ('evenementinstance', 'Gestion des événements - Instance', 99993, 'UnicaenEvenement\Provider\Privilege'); INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE) WITH d(code, lib, ordre) AS ( SELECT 'instance_consultation', 'instance - consultation', 10 UNION SELECT 'instance_ajout', 'instance - ajout', 20 UNION SELECT 'instance_edition', 'instance - édition', 30 UNION SELECT 'instance_suppression', 'instance - suppression', 40 UNION SELECT 'instance_traitement', 'instance - traitement', 100 ) SELECT cp.id, d.code, d.lib, d.ordre FROM d JOIN unicaen_privilege_categorie cp ON cp.CODE = 'evenementinstance'; INSERT INTO unicaen_privilege_categorie (code, libelle, ordre, namespace) VALUES ('evenementtype', 'Gestion des événements - Type', 99992, 'UnicaenEvenement\Provider\Privilege'); INSERT INTO unicaen_privilege_privilege(CATEGORIE_ID, CODE, LIBELLE, ORDRE) WITH d(code, lib, ordre) AS ( SELECT 'type_consultation', 'type - consultation', 10 UNION SELECT 'type_ajout', 'type - ajout', 20 UNION SELECT 'type_edition', 'type - édition', 30 UNION SELECT 'type_suppression', 'type - suppression', 40 ) SELECT cp.id, d.code, d.lib, d.ordre FROM d JOIN unicaen_privilege_categorie cp ON cp.CODE = 'evenementtype'; No newline at end of file
readme.md +1 −1 Changes for readme.md: 1 added line, 1 removed line. Original line number Diff line number Diff line Loading @@ -6,6 +6,6 @@ $ docker exec preecog php public/index.php traiter-evenements Déclaration dans la crontab ```sh # - Traitement des évènements en attente # - Traitement des événements en attente */1 * * * * root cd /var/www/html && php public/index.php traiter-evenements 1> /dev/null 2>&1 ``` No newline at end of file
src/UnicaenEvenement/Controller/EvenementConsoleController.php +6 −6 Changes for src/UnicaenEvenement/Controller/EvenementConsoleController.php: 6 added lines, 6 removed lines. Original line number Diff line number Diff line Loading @@ -23,7 +23,7 @@ class EvenementConsoleController extends AbstractConsoleController /** * Temps d'exécution maximal (sec) du script de traitement des événements * !! celui-ci doit être en adéquation avec le cycle d'exécution du script de traitement des évènements en attente dans la crontab du serveur * !! celui-ci doit être en adéquation avec le cycle d'exécution du script de traitement des événements en attente dans la crontab du serveur * @file /etc/crontab */ const MAX_EXECUTION_TIME = 60; Loading @@ -46,7 +46,7 @@ class EvenementConsoleController extends AbstractConsoleController $this->getJournalService()->create($journal); $start = new DateTime(); $this->getConsole()->writeLine("\n* " . ($titre = "Traitement des évènements en attente") . " *\n", ColorInterface::LIGHT_GREEN); $this->getConsole()->writeLine("\n* " . ($titre = "Traitement des événements en attente") . " *\n", ColorInterface::LIGHT_GREEN); $this->getConsole()->writeLine("Debut du traitement", ColorInterface::GREEN); $this->getConsole()->writeLine("-------------------\n", ColorInterface::GREEN); Loading @@ -67,18 +67,18 @@ class EvenementConsoleController extends AbstractConsoleController try { if ($evenement !== null) { $this->evenementGestionService->traiterEvent($evenement); $this->getConsole()->writeLine(sprintf("- traitement de l'évènement #%s", $evenement->getId())); $texte .= "Traitement de l'évènement #". $evenement->getId()." <br/>"; $this->getConsole()->writeLine(sprintf("- traitement de l'événement #%s", $evenement->getId())); $texte .= "Traitement de l'événement #". $evenement->getId()." <br/>"; $nbOp++; } } catch (Exception $e) { $this->getConsole()->writeLine(sprintf("- échec du traitement de l'évènement #%s", $evenement->getId()), ColorInterface::RED); $this->getConsole()->writeLine(sprintf("- échec du traitement de l'événement #%s", $evenement->getId()), ColorInterface::RED); $texte .= "<strong> Échec du traitement </strong> <br/>"; } } if($nbOp == 0) { $this->getConsole()->writeLine("Aucun évènement à traiter."); $this->getConsole()->writeLine("Aucun événement à traiter."); } $this->getConsole()->writeLine("\n-------------------",ColorInterface::GREEN); Loading
src/UnicaenEvenement/Controller/EvenementController.php +8 −8 Changes for src/UnicaenEvenement/Controller/EvenementController.php: 8 added lines, 8 removed lines. Original line number Diff line number Diff line Loading @@ -22,7 +22,7 @@ class EvenementController extends AbstractActionController { public function afficherAction() : ViewModel { $evenement = $this->evenementService->find($this->params()->fromRoute('evenement')); $title = "Détail de l'évènement"; $title = "Détail de l'événement"; return new ViewModel([ 'title' => $title, Loading @@ -38,7 +38,7 @@ class EvenementController extends AbstractActionController { try { foreach ($evenements as $evenement) { if ($evenement) { // on ne traite que les évènements en attente // on ne traite que les événements en attente if ($evenement->getEtat()->getCode() == Etat::EN_ATTENTE AND $evenement->getDatePlanification() <= (new DateTime())) { $evenement = $this->evenementGestionService->traiterEvent($evenement); $etat = $evenement->getEtat(); Loading @@ -61,7 +61,7 @@ class EvenementController extends AbstractActionController { } return new JsonModel([ 'message' => "Traitement des évènements sélectionnés", 'message' => "Traitement des événements sélectionnés", 'status' => 'success', 'result' => $data, ]); Loading @@ -70,7 +70,7 @@ class EvenementController extends AbstractActionController { var_dump($e); die(); return new JsonModel([ 'message' => "Une erreur est survenue lors du traitement des évènements sélectionnés.", 'message' => "Une erreur est survenue lors du traitement des événements sélectionnés.", 'status' => 'error', 'result' => $data, ]); Loading @@ -92,14 +92,14 @@ class EvenementController extends AbstractActionController { $data[$evenement->getId()] = [$etat->getCode(), $etat->getLibelle()]; } return new JsonModel([ 'message' => "État des évènements sélectionnés modifié avec succès.", 'message' => "État des événements sélectionnés modifié avec succès.", 'status' => 'success', 'result' => $data, ]); } catch (Exception $e) { return new JsonModel([ 'message' => "Une erreur est survenue lors de la modification de l'état des évènements sélectionnés", 'message' => "Une erreur est survenue lors de la modification de l'état des événements sélectionnés", 'status' => 'error', 'result' => $data, ]); Loading @@ -123,7 +123,7 @@ class EvenementController extends AbstractActionController { $this->evenementService->commit(); return new JsonModel([ 'message' => "Évènements sélectionnés supprimés avec succès.", 'message' => "Événements sélectionnés supprimés avec succès.", 'status' => 'success', 'result' => $data, ]); Loading @@ -131,7 +131,7 @@ class EvenementController extends AbstractActionController { catch (Exception $e) { $this->evenementService->rollBack(); return new JsonModel([ 'message' => "Une erreur est survenue lors de la suppression des évènements sélectionnés.", 'message' => "Une erreur est survenue lors de la suppression des événements sélectionnés.", 'status' => 'error', ]); } Loading