From cd22b2a7592edbd2fac8f65aa634da3ff530b94b Mon Sep 17 00:00:00 2001 From: JBthePenguin Date: Sat, 5 Jun 2021 00:30:48 +0200 Subject: [PATCH] ok for form to add entry for equipment not listed, next save entry and equipment in db --- materiels.tar.gz | Bin 17756 -> 18942 bytes src/lib/Category.php | 11 ++-- src/lib/Entry.php | 30 +++++++++++ src/lib/Equipment.php | 16 ++++++ src/lib/Location.php | 11 ++-- src/schema.sql | 9 ++-- src/templates/_nav.tpl | 4 +- src/templates/categories/index.tpl | 4 +- .../categories/modifier_categorie.tpl | 2 +- .../definitives/deja_repertorie.tpl} | 2 + src/templates/entrees/definitives/index.tpl | 11 ++++ .../entrees/definitives/non_repertorie.tpl | 51 ++++++++++++++++++ src/templates/localisations/index.tpl | 4 +- .../localisations/modifier_localisation.tpl | 2 +- .../entrees/definitives/deja_repertorie.php | 7 +++ src/www/admin/entrees/definitives/index.php | 7 +++ .../entrees/definitives/non_repertorie.php | 32 +++++++++++ 17 files changed, 178 insertions(+), 25 deletions(-) create mode 100644 src/lib/Entry.php create mode 100644 src/lib/Equipment.php rename src/templates/{entrees_definitives.tpl => entrees/definitives/deja_repertorie.tpl} (91%) create mode 100644 src/templates/entrees/definitives/index.tpl create mode 100644 src/templates/entrees/definitives/non_repertorie.tpl create mode 100644 src/www/admin/entrees/definitives/deja_repertorie.php create mode 100644 src/www/admin/entrees/definitives/index.php create mode 100644 src/www/admin/entrees/definitives/non_repertorie.php diff --git a/materiels.tar.gz b/materiels.tar.gz index 73fa49a86da17b29d29ad0ddeb51de18fffe8783..65b8a9dcc86d4cf194dd2fd9fe53e467c78b7b64 100644 GIT binary patch literal 18942 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 literal 17756 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 'int', - 'name' => 'string', - ]; + protected $columns_order = array( + 'id', + 'name', + ); public function add($data = []) { diff --git a/src/lib/Entry.php b/src/lib/Entry.php new file mode 100644 index 0000000..bc3c52a --- /dev/null +++ b/src/lib/Entry.php @@ -0,0 +1,30 @@ +kinds; + } +} diff --git a/src/lib/Equipment.php b/src/lib/Equipment.php new file mode 100644 index 0000000..5c3ef05 --- /dev/null +++ b/src/lib/Equipment.php @@ -0,0 +1,16 @@ + 'int', - 'name' => 'string', - ]; + protected $columns_order = array( + 'id', + 'name', + ); public function add($data = []) { diff --git a/src/schema.sql b/src/schema.sql index 78365bb..9a718bd 100644 --- a/src/schema.sql +++ b/src/schema.sql @@ -13,10 +13,9 @@ CREATE TABLE IF NOT EXISTS plugin_materiels_location ( CREATE TABLE IF NOT EXISTS plugin_materiels_equipment ( id integer NOT NULL PRIMARY KEY autoincrement, category_id integer NOT NULL, - designation varchar(255) NOT NULL, localisation_id integer NOT NULL, - current_value decimal NOT NULL DEFAULT 0, - number_of_materiels integer NOT NULL DEFAULT 1, + number_of_equipments integer NOT NULL, + designation varchar(255) NOT NULL, CONSTRAINT u_equipment_designation UNIQUE ( designation ), FOREIGN KEY ( category_id ) REFERENCES plugin_materiels_category( id ) ON DELETE RESTRICT ON UPDATE CASCADE, FOREIGN KEY ( localisation_id ) REFERENCES plugin_materiels_location( id ) ON DELETE RESTRICT ON UPDATE CASCADE @@ -25,6 +24,7 @@ CREATE TABLE IF NOT EXISTS plugin_materiels_equipment ( CREATE TABLE IF NOT EXISTS plugin_materiels_entry ( id integer NOT NULL PRIMARY KEY autoincrement, kind varchar(20) NOT NULL, + number_of_equipments integer NOT NULL, equipment_id integer NOT NULL, date_of_entry date NOT NULL, FOREIGN KEY ( equipment_id ) REFERENCES plugin_materiels_equipment( id ) ON DELETE RESTRICT ON UPDATE CASCADE @@ -33,6 +33,7 @@ CREATE TABLE IF NOT EXISTS plugin_materiels_entry ( CREATE TABLE IF NOT EXISTS plugin_materiels_temporary_entry ( id integer NOT NULL PRIMARY KEY autoincrement, kind varchar(20) NOT NULL, + number_of_equipments integer NOT NULL, equipment_id integer NOT NULL, start_date date NOT NULL, end_date date, @@ -42,6 +43,7 @@ CREATE TABLE IF NOT EXISTS plugin_materiels_temporary_entry ( CREATE TABLE IF NOT EXISTS plugin_materiels_output ( id integer NOT NULL PRIMARY KEY autoincrement, kind varchar(20) NOT NULL, + number_of_equipments integer NOT NULL, equipment_id integer NOT NULL, output_date date NOT NULL, FOREIGN KEY ( equipment_id ) REFERENCES plugin_materiels_entry( equipment_id ) ON DELETE RESTRICT ON UPDATE CASCADE @@ -50,6 +52,7 @@ CREATE TABLE IF NOT EXISTS plugin_materiels_output ( CREATE TABLE IF NOT EXISTS plugin_materiels_temporary_output ( id integer NOT NULL PRIMARY KEY autoincrement, kind varchar(20) NOT NULL, + number_of_equipments integer NOT NULL, equipment_id integer NOT NULL, start_date date NOT NULL, end_date date, diff --git a/src/templates/_nav.tpl b/src/templates/_nav.tpl index 151fd2f..4a3f698 100644 --- a/src/templates/_nav.tpl +++ b/src/templates/_nav.tpl @@ -1,9 +1,9 @@