From 27c9d653f733dfd46902fbfb076305ccba5f5bc3 Mon Sep 17 00:00:00 2001 From: JBthePenguin Date: Thu, 2 Sep 2021 14:06:03 +0200 Subject: [PATCH] ok for movement, delete old entry and output --- materiels.tar.gz | Bin 24186 -> 26322 bytes src/lib/Entry.php | 91 --------------- src/lib/Equipment.php | 6 + src/lib/Output.php | 106 ------------------ src/templates/_nav.tpl | 4 +- src/templates/entrees/ajouter_entree.tpl | 33 ------ src/templates/entrees/index.tpl | 37 ------ src/templates/entrees/non_repertorie.tpl | 14 --- src/templates/entrees/repertorie.tpl | 19 ---- src/templates/entrees/retour.tpl | 19 ---- src/templates/entrees/supprimer_entree.tpl | 9 -- src/templates/index.tpl | 17 +-- src/templates/modifier_materiel.tpl | 14 ++- src/templates/sorties/ajouter_sortie.tpl | 33 ------ src/templates/sorties/emprunte.tpl | 17 --- src/templates/sorties/index.tpl | 36 ------ src/templates/sorties/stock_disponible.tpl | 17 --- src/templates/sorties/supprimer_sortie.tpl | 9 -- .../admin/categories/modifier_categorie.php | 7 +- src/www/admin/entrees/index.php | 22 ---- src/www/admin/entrees/non_repertorie.php | 82 -------------- src/www/admin/entrees/repertorie.php | 54 --------- src/www/admin/entrees/retour.php | 66 ----------- src/www/admin/entrees/supprimer_entree.php | 52 --------- src/www/admin/index.php | 9 +- src/www/admin/modifier_materiel.php | 25 +++-- src/www/admin/sorties/emprunte.php | 64 ----------- src/www/admin/sorties/index.php | 22 ---- src/www/admin/sorties/stock_disponible.php | 67 ----------- src/www/admin/sorties/supprimer_sortie.php | 44 -------- 30 files changed, 52 insertions(+), 943 deletions(-) delete mode 100644 src/lib/Entry.php delete mode 100644 src/lib/Output.php delete mode 100644 src/templates/entrees/ajouter_entree.tpl delete mode 100644 src/templates/entrees/index.tpl delete mode 100644 src/templates/entrees/non_repertorie.tpl delete mode 100644 src/templates/entrees/repertorie.tpl delete mode 100644 src/templates/entrees/retour.tpl delete mode 100644 src/templates/entrees/supprimer_entree.tpl delete mode 100644 src/templates/sorties/ajouter_sortie.tpl delete mode 100644 src/templates/sorties/emprunte.tpl delete mode 100644 src/templates/sorties/index.tpl delete mode 100644 src/templates/sorties/stock_disponible.tpl delete mode 100644 src/templates/sorties/supprimer_sortie.tpl delete mode 100644 src/www/admin/entrees/index.php delete mode 100644 src/www/admin/entrees/non_repertorie.php delete mode 100644 src/www/admin/entrees/repertorie.php delete mode 100644 src/www/admin/entrees/retour.php delete mode 100644 src/www/admin/entrees/supprimer_entree.php delete mode 100644 src/www/admin/sorties/emprunte.php delete mode 100644 src/www/admin/sorties/index.php delete mode 100644 src/www/admin/sorties/stock_disponible.php delete mode 100644 src/www/admin/sorties/supprimer_sortie.php diff --git a/materiels.tar.gz b/materiels.tar.gz index 92c9038812260bccb974e2b2e3262e50c65cfcbb..a0baec7fee8dbb2c82788863ba34015195006c6b 100644 GIT binary patch literal 26322 zcmV)CK*GNtiwFS0yf9$^1MR)*RvSr{DBOR^r-;^akEHnoNQlcB8|a0xT*YY{JbL=i01)KL`gaXs#>%alJU7-K))!O3xKgKiT{7;hX z(_i1vk^SpyIG7+J43oe1fFg`XewfZ}7^d;fyhcZpbUcBs9HBJ*COEV1g0AEo*%exnT+Gqq}+EjnPXw(C* z-XxMmz4bjLMbs8QF7NIQhcED}=Qn2L2K2MM8+c7KT=o`!p8J|R9GZ6!NjLpTh)1!( zA4YzB;Wr$mY@k{yH(Il$PL7UG`^UX+-oDy9#wjFG45OI7ON4k3jbP2wM%^@#sZ%2_ zNPrOEG^P`1i)0`zUy$ps@42p${~uTsMEbuzOa9wfWBGr5b8Tyb=s*0kp#P8Y2>oAO zRfE`v9iXn%ZPv16HsF>%YFf(OJ;{$9OXO?|PmRVfj3Ym8;I8IF7D;Px)G6{jBtVnnLk5 z4Ti}Kp+E75{vh?ezWiRRJ!5`$=?~ti;G8A~Ga9KNQOV?N6r|7^cuW$X_uu)bFVvw) zpXZKn!aI%gMm=$_{CZRU%fF~6`1CrKT^=?5Nk z4}BRF_EEifW_}MRqccB-HmrZ-TJmqwdUVBNejkS;?ns}QY4^|LXe7U&mY`J4TOFrpk6+=@ zt03lp3;$<2iqyjg1&7YJu^vWg0qH*OXxs$|H{%_rj{WAfXFY#`P0j>#L1&^N^Q|2W zm7k<47?~Xg3qtV4ss>;;k~9v&i)Q|CtiW&hs~HH&XbkfeQZ<>8CI6Qez&6hLJ6(K|0+V_4R*#3NNJ}e?h9QVn6gID=RBCyEhm3#1JqQzH6zWe*sO11}`ySs-5F74rh!fKDtv1@g z#;a>qRByrG*^Kd{H3|G!f}7}GJ-4l~oxKyN*YYa!oA$oNhBQa~BR9Fb*^??3#{C;m zeLwE==Y^T+p`S|oPcj*gV;~N3-+Xx=6=072f34GA*ZN<#P5R$Pr@gU|{~zO-<^Q{t zExuA#7iNe=TXVXMpOSf}kDUV_@{#`G7t_q}C}{pM|3(vJmZkI(I3sbnw}~J3ejfN^ z6bBl$eIGbD4*T&J+PNyM`#%Fa_0`x-R#4>qkk=1904((@RD`^az|HiDxarqXB+0>r z#{5iu;P#)YKrE#o94x`VO8_c*HGm%ope2kFgM?98T!Wus9FGLJAT=CuX^FASoixgj z17enzW=oY8iO5NlOCOvi8df#_dJK#ZNQYSvkZ77b5yT5fW$<5+7iqa)`$^(nfD8g` z}07ZTh>eK4Q~UhfOkPk%tR4TUsBjE zYV3nLaXAy75Kw^hp-HqXv^WCVPo{wNuOX zPwj(4-C}q2hs|Lt$3QJ33Ri{2V!P@Qoh4Rlc4{Yji>g79{zJbO)&FzNS-N)PFbFSp zY9Id#cKY&FGyyjM@gHOlf)B$eh?Uv%Xi2bo`{)0tKPBp)|A3AJoE)iLLCMKka)*AL z?$q`Gln}XItI!KD9xn<|gNC7zLHS`27a$#@g$n-f3c)EcrkYd4>Uk7_W>kex3FyNH zgh%Vm;`#@`X+homJb{1m%sc;`_8P_iZEUo=TOE-9JDcn4?Zx?jjAv&2pLYg=;b@Fe zB)0gUfP6V}SCYRkxc^uGRQmrg$jApdAdEtwbYmcG_c8&@^Z#vjx3vGS+wOLd|8Fkh z{~qVb`~NtA4lS$NR!Cj}G-{*jQAs6k8`W_?@84~GjF#m=o8oCw^@MG*nK71KNZ5!% z1^TQ{QN%0iW**PGc!2Nb1I}YtR%y1IwOw|z!a!{FpY2nf z;p_f_T�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 z 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'plugin_materiels_entry', $data); - } - - public function get($id) - { - return DB::getInstance()->first('SELECT * FROM plugin_materiels_entry WHERE id = ?;', $id); - } - - public function delete($id) - { - DB::getInstance()->delete('plugin_materiels_entry', 'id = ' . $id); - } - - public function listAll() - { - return DB::getInstance()->get('SELECT * FROM plugin_materiels_entry ORDER BY entry_date DESC;'); - } - - public function listAllByEquipment($eqmt_id) - { - return DB::getInstance()->get('SELECT * FROM plugin_materiels_entry WHERE equipment_id = ? ORDER BY entry_date DESC;', $eqmt_id); - } - - public function PossibilityRentEqmtEntry($id, $eqmt_number, $date) - { - $after_entry_dates = DB::getInstance()->get( - "SELECT entry_date FROM plugin_materiels_entry WHERE kind = 'Retour de location / prêt' AND equipment_id = '{$id}' AND entry_date > '{$date}';"); - $entry_dates = array($date); - foreach ($after_entry_dates as $row) - { - array_push($entry_dates, $row->entry_date); - } - $eqmt = new Equipment; - foreach ($entry_dates as $entry_date) { - $out_of_stock_eqmt = $eqmt->CalculateOutOfStockByDate($id, $entry_date); - if ($out_of_stock_eqmt - $eqmt_number < 0) - { - return false; - } - } - return true; - } - - public function PossibilityDeleteEntry($entry) - { - $output = new Output; - if ($entry->kind == 'Location / Prêt') - { - return $output->PossibilityNoOwnedEqmtOutput( - $entry->equipment_id, $entry->equipment_number, $entry->entry_date); - } else - { - return $output->PossibilityOwnedEqmtOutput( - $entry->equipment_id, $entry->equipment_number, $entry->entry_date); - } - } - - public function AllDatesByEquipment($eqmt_id) - { - $entry_dates = DB::getInstance()->get( - 'SELECT DISTINCT entry_date FROM plugin_materiels_entry WHERE equipment_id = ? ORDER BY entry_date DESC;', $eqmt_id); - $entry_dates_array = array(); - foreach ($entry_dates as $row) - { - array_push($entry_dates_array, $row->entry_date); - } - return $entry_dates_array; - } -} diff --git a/src/lib/Equipment.php b/src/lib/Equipment.php index 8e98599..428b44f 100644 --- a/src/lib/Equipment.php +++ b/src/lib/Equipment.php @@ -223,14 +223,20 @@ class Equipment } public function ListAllBorrowedByCategory() + // return list of borrowed equipments ordered by category { + // get the list of all equipments ordered by category $eqmts_by_cat = $this->listAllByCategory(); + // construct list of equipments borrowed for all categories $eqmts_borrowed_by_cat = array(); foreach ($eqmts_by_cat as $cat => $eqmts) { + // construct list of equipments borrowed for one category $eqmts_borrowed = array(); foreach ($eqmts as $eqmt) { + // for each equipment calculte number of borrowed $borrowed = $this->CalculateNoOwned($eqmt->id); if ($borrowed) { + // add to the list if at least one is borrowed $eqmt->borrowed = $borrowed; array_push($eqmts_borrowed, $eqmt); } diff --git a/src/lib/Output.php b/src/lib/Output.php deleted file mode 100644 index a11fdb6..0000000 --- a/src/lib/Output.php +++ /dev/null @@ -1,106 +0,0 @@ -insert('plugin_materiels_output', $data); - } - - public function get($id) - { - return DB::getInstance()->first('SELECT * FROM plugin_materiels_output WHERE id = ?;', $id); - } - - public function delete($id) - { - DB::getInstance()->delete('plugin_materiels_output', 'id = ' . $id); - } - - public function listAll() - { - return DB::getInstance()->get('SELECT * FROM plugin_materiels_output ORDER BY output_date DESC;'); - } - - public function PossibilityOwnedEqmtOutput($id, $eqmt_number, $date) - { - $after_output_dates = DB::getInstance()->get( - "SELECT output_date FROM plugin_materiels_output WHERE kind IN ( - 'Vente', 'Don', 'Besoin', 'Autre (perte, vol, ...)', - 'Location / Prêt') AND equipment_id = '{$id}' AND output_date > '{$date}';"); - $output_dates = array($date); - foreach ($after_output_dates as $row) - { - array_push($output_dates, $row->output_date); - } - $eqmt = new Equipment; - foreach ($output_dates as $output_date) { - $available_eqmt = $eqmt->CalculateAvailableByDate($id, $output_date); - if ($available_eqmt - $eqmt_number < 0) - { - return false; - } - } - return true; - } - - public function PossibilityNoOwnedEqmtOutput($id, $eqmt_number, $date) - { - $after_output_dates = DB::getInstance()->get( - "SELECT output_date FROM plugin_materiels_output WHERE kind = 'Retour de location / prêt' AND equipment_id = '{$id}' AND output_date > '{$date}';"); - $output_dates = array($date); - foreach ($after_output_dates as $row) - { - array_push($output_dates, $row->output_date); - } - $eqmt = new Equipment; - foreach ($output_dates as $output_date) { - $borrowed_eqmt = $eqmt->CalculateNoOwnedByDate($id, $output_date); - if ($borrowed_eqmt - $eqmt_number < 0) - { - return false; - } - } - return true; - } - - public function PossibilityDeleteOutput($output) - { - $entry = new Entry; - if ($output->kind == 'Location / Prêt') - { - return $entry->PossibilityRentEqmtEntry( - $output->equipment_id, $output->equipment_number, $output->output_date); - } - return true; - } - - public function AllDatesByEquipment($eqmt_id) - { - $output_dates = DB::getInstance()->get( - 'SELECT DISTINCT output_date FROM plugin_materiels_output WHERE equipment_id = ? ORDER BY output_date DESC;', $eqmt_id); - $output_dates_array = array(); - foreach ($output_dates as $row) - { - array_push($output_dates_array, $row->output_date); - } - return $output_dates_array; - } -} diff --git a/src/templates/_nav.tpl b/src/templates/_nav.tpl index 48cb9ac..98bd414 100644 --- a/src/templates/_nav.tpl +++ b/src/templates/_nav.tpl @@ -1,11 +1,11 @@ + {include file="admin/_head.tpl" title="%s"|args:$plugin.nom current="plugin_%s"|args:$plugin.id} +