From 4aacfb204f4eeb24854a7e3df649564c02d60d64 Mon Sep 17 00:00:00 2001 From: JBthePenguin Date: Fri, 11 Jun 2021 14:36:42 +0200 Subject: [PATCH] ok for validate form of borrowed equipement output, next modify entry --- materiels.tar.gz | Bin 22218 -> 22948 bytes src/lib/Equipment.php | 9 +++++++++ src/lib/Output.php | 20 ++++++++++++++++++++ src/templates/entrees/retour.tpl | 2 +- src/www/admin/sorties/emprunte.php | 29 +++++++++++++++++++++++++++++ 5 files changed, 59 insertions(+), 1 deletion(-) diff --git a/materiels.tar.gz b/materiels.tar.gz index 11982c1c0c64afde9f478f3f982320580d2027da..4ed84ab83db7f6c0e03ed479df24c71e99bb0b06 100644 GIT binary patch literal 22948 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 delta 22217 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%0Do}_ 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 diff --git a/src/lib/Equipment.php b/src/lib/Equipment.php index eafd9e1..98f9b21 100644 --- a/src/lib/Equipment.php +++ b/src/lib/Equipment.php @@ -200,4 +200,13 @@ class Equipment } return $eqmts_borrowed_by_cat; } + + public function CalculateNoOwnedByDate($id, $date) + { + $entries = DB::getInstance()->firstColumn( + "SELECT sum(equipment_number) FROM plugin_materiels_entry WHERE kind = 'Location / Prêt' AND equipment_id = '{$id}' AND entry_date <= '{$date}';"); + $outputs = DB::getInstance()->firstColumn( + "SELECT sum(equipment_number) FROM plugin_materiels_output WHERE kind = 'Retour de location / prêt' AND equipment_id = '{$id}' AND output_date <= '{$date}';"); + return $entries - $outputs; + } } diff --git a/src/lib/Output.php b/src/lib/Output.php index b8234e4..d7e4b57 100644 --- a/src/lib/Output.php +++ b/src/lib/Output.php @@ -55,4 +55,24 @@ class Output } 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; + } } diff --git a/src/templates/entrees/retour.tpl b/src/templates/entrees/retour.tpl index 1fc3c03..f3c0b98 100644 --- a/src/templates/entrees/retour.tpl +++ b/src/templates/entrees/retour.tpl @@ -8,7 +8,7 @@ {if $eqmts} {foreach from=$eqmts item="eqmt"} - + {/foreach} {/if} diff --git a/src/www/admin/sorties/emprunte.php b/src/www/admin/sorties/emprunte.php index cdc3522..fc229ac 100644 --- a/src/www/admin/sorties/emprunte.php +++ b/src/www/admin/sorties/emprunte.php @@ -23,6 +23,35 @@ $csrf_key = 'add_output'; $eqmts_by_cat = $eqmt->ListAllBorrowedByCategory(); +if (f('save') && $form->check($csrf_key) && !$form->hasErrors()) +{ + $eqmt_id = f('equipment_id'); + $eqmt_number = (int) f('equipment_number'); + $output_date_format = date_create_from_format( + "d/m/Y", f('output_date'))->format("Y-m-d"); + if ($output->PossibilityNoOwnedEqmtOutput($eqmt_id, $eqmt_number, $output_date_format)) + { + $output->add([ + 'kind' => 'Retour de location / prêt', + 'equipment_number' => $eqmt_number, + 'equipment_id' => $eqmt_id, + 'output_date' => $output_date_format, + 'additional_comment' => f('additional_comment'), + ]); + Utils::redirect(PLUGIN_URL . 'sorties/index.php'); + } else + { + $output_date = f('output_date'); + $selected_eqmt = $eqmt_id; + $default_date = $output_date; + $default_comment = f('additional_comment'); + + $equiment = $eqmt->get($eqmt_id); + $form->addError( + "Il est impossible de sortir " . (string) $eqmt_number . " " . $equiment->designation . " à la date du " . (string) $output_date . '.'); + } +} + $cancel_link = PLUGIN_URL . 'sorties/index.php'; $legend_part = "emprunté"; $tpl_materiel_name = "emprunte";