Skip to content

Commit

Permalink
conflit avec ces propres résa
Browse files Browse the repository at this point in the history
Possibilité de remplacer les réservations en conflits si elles toutes au nom de l'utilisateur
  • Loading branch information
JeromeDevome committed Jul 13, 2024
1 parent 09d4aea commit ee721e0
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 16 deletions.
8 changes: 4 additions & 4 deletions admin/admin_import_xml_edt.php
Original file line number Diff line number Diff line change
Expand Up @@ -388,10 +388,10 @@ function entre_reservation($room_id,$jour_semaine,$name,$description,
// if (isset($_GET['del_entry_in_conflict']) and ($_GET['del_entry_in_conflict']=='yes'))
grrDelEntryInConflict($room_id, $reps[$i], $reps[$i] + $diff, $ignore_id, $repeat_id, 0);
// On teste s'il reste des conflits
if ($i == (count($reps)-1)) {
$tmp = mrbsCheckFree($room_id, $reps[$i], $reps[$i] + $diff, $ignore_id, $repeat_id);
} else
$tmp = mrbsCheckFree($room_id, $reps[$i], $reps[$i] + $diff, $ignore_id, $repeat_id);
if ($i == (count($reps)-1))
list($beneficaireConflit, $tmp) = mrbsCheckFree($room_id, $reps[$i], $reps[$i] + $diff, $ignore_id, $repeat_id);
else
list($beneficaireConflit, $tmp) = mrbsCheckFree($room_id, $reps[$i], $reps[$i] + $diff, $ignore_id, $repeat_id);
if(!empty($tmp)) $err = $err . $tmp;
}
}
Expand Down
2 changes: 1 addition & 1 deletion admin/controleurs/admin_import_entries_csv_direct.php
Original file line number Diff line number Diff line change
Expand Up @@ -220,7 +220,7 @@ function ajoute_reservation($room_id,$date,$heure_deb,$minute_deb,$heure_fin,$mi
$err = '';

// on vérifie que le créneau est bien libre
$occupied=mrbsCheckFree($room_id, $starttime, $endtime, 0, 0,"../");
list($beneficaireConflit, $occupied) = mrbsCheckFree($room_id, $starttime, $endtime, 0, 0,"../");
// echo date('c',$starttime)." ".date('c',$endtime)."</br>";
// echo $libre ;
//echo "créneau libre ";
Expand Down
8 changes: 4 additions & 4 deletions admin/controleurs/admin_import_entries_csv_udt.php
Original file line number Diff line number Diff line change
Expand Up @@ -385,10 +385,10 @@ function entre_reservation($room_id,$jour_semaine,$name,$description, $day,$mont
// if (isset($_GET['del_entry_in_conflict']) and ($_GET['del_entry_in_conflict']=='yes'))
grrDelEntryInConflict($room_id, $reps[$i], $reps[$i] + $diff, $ignore_id, $repeat_id, 0);
// On teste s'il reste des conflits
if ($i == (count($reps)-1)) {
$tmp = mrbsCheckFree($room_id, $reps[$i], $reps[$i] + $diff, $ignore_id, $repeat_id);
} else
$tmp = mrbsCheckFree($room_id, $reps[$i], $reps[$i] + $diff, $ignore_id, $repeat_id);
if ($i == (count($reps)-1))
list($beneficaireConflit, $tmp) = mrbsCheckFree($room_id, $reps[$i], $reps[$i] + $diff, $ignore_id, $repeat_id);
else
list($beneficaireConflit, $tmp) = mrbsCheckFree($room_id, $reps[$i], $reps[$i] + $diff, $ignore_id, $repeat_id);
if(!empty($tmp))
$err = $err . $tmp;
}
Expand Down
2 changes: 1 addition & 1 deletion admin/controleurs/admin_reservation_bloc.php
Original file line number Diff line number Diff line change
Expand Up @@ -173,7 +173,7 @@
if ($type_resa == "resa")
{
// Par sécurité, on teste quand même s'il reste des conflits
$err = mrbsCheckFree($row[0], $starttime, $endtime, 0,0);
list($beneficaireConflit, $err) = mrbsCheckFree($row[0], $starttime, $endtime, 0,0);
if (!$err)
mrbsCreateSingleEntry(0,$starttime, $endtime, 0, 0, $row[0], getUserName(), $beneficiaire, "", $name, $type_, $description, -1,array(),0,0,'-', 0, 0,0);
}
Expand Down
9 changes: 5 additions & 4 deletions edit_entry_handler.php
Original file line number Diff line number Diff line change
Expand Up @@ -579,7 +579,7 @@
if (isset($skip_entry_in_conflict) && ($skip_entry_in_conflict == 'yes')){
// stocke dans $ignore la liste des nouvelles réservations en conflit
for ($i = 0; $i < count($reps); $i++){
$tmp = mrbsCheckFree($room_id, $reps[$i], $reps[$i] + $diff, $ignore_id, $repeat_id);
list($beneficaireConflit, $tmp) = mrbsCheckFree($room_id, $reps[$i], $reps[$i] + $diff, $ignore_id, $repeat_id);
if (!empty($tmp)){
$ignore[] = $reps[$i];
}
Expand All @@ -591,7 +591,7 @@
{
if (isset($del_entry_in_conflict) && ($del_entry_in_conflict == 'yes'))
grrDelEntryInConflict($room_id, $reps[$i], $reps[$i] + $diff, $ignore_id, $repeat_id, 0);
$tmp = mrbsCheckFree($room_id, $reps[$i], $reps[$i] + $diff, $ignore_id, $repeat_id);
list($beneficaireConflit, $tmp) = mrbsCheckFree($room_id, $reps[$i], $reps[$i] + $diff, $ignore_id, $repeat_id);
if (!empty($tmp))
$conflits = $conflits . $tmp;
}
Expand All @@ -606,7 +606,8 @@
{
if (isset($del_entry_in_conflict) && ($del_entry_in_conflict == 'yes'))
grrDelEntryInConflict($room_id, $start_time, $end_time-1, $ignore_id, $repeat_id, 0);
$conflits .= mrbsCheckFree($room_id, $start_time, $end_time - 1, $ignore_id, $repeat_id);
list($beneficaireConflit, $tmp) = mrbsCheckFree($room_id, $start_time, $end_time - 1, $ignore_id, $repeat_id);
$conflits .= $tmp;
}
}
if ($conflits != ''){
Expand Down Expand Up @@ -809,7 +810,7 @@
echo $conflits;
if (!isset($hide_title))
echo "</UL>";
if (authGetUserLevel($user,$area,'area') >= 4){
if (authGetUserLevel($user,$area,'area') >= 4 || $beneficaireConflit > 0){
echo '<center>';
echo '<form method="POST">';
echo $hiddenInputs;
Expand Down
8 changes: 6 additions & 2 deletions include/mrbs_sql.inc.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ function mrbsCheckFree($room_id, $starttime, $endtime, $ignore, $repignore, $lin
{
global $vocab;
//SELECT any meetings which overlap ($starttime,$endtime) for this room:
$sql = "SELECT id, name, start_time FROM ".TABLE_PREFIX."_entry WHERE start_time < '".$endtime."' AND end_time > '".$starttime."' AND room_id = '".$room_id."' AND supprimer = 0";
$sql = "SELECT id, name, start_time, beneficiaire FROM ".TABLE_PREFIX."_entry WHERE start_time < '".$endtime."' AND end_time > '".$starttime."' AND room_id = '".$room_id."' AND supprimer = 0";
if ($ignore > 0)
$sql .= " AND id <> $ignore";
if ($repignore > 0)
Expand All @@ -52,8 +52,12 @@ function mrbsCheckFree($room_id, $starttime, $endtime, $ignore, $repignore, $lin
$area = mrbsGetRoomArea($room_id);
// Build a string listing all the conflicts:
$err = "";
$beneficaire = 1;
for ($i = 0; ($row = grr_sql_row($res, $i)); $i++)
{
if(getUserName() != $row[3])
$beneficaire = 0;

$starts = getdate($row[2]);
$param_ym = "area=$area&amp;year=$starts[year]&amp;month=$starts[mon]";
$param_ymd = $param_ym . "&amp;day=$starts[mday]";
Expand All @@ -63,7 +67,7 @@ function mrbsCheckFree($room_id, $starttime, $endtime, $ignore, $repignore, $lin
. " | <a href=\"".$link."week.php?room=$room_id&amp;$param_ymd\">".get_vocab("viewweek")."</a>"
. " | <a href=\"".$link."month.php?room=$room_id&amp;$param_ym\">".get_vocab("viewmonth")."</a>)</li>\n";
}
return $err;
return array($beneficaire, $err);
}
/** grrCheckOverlap()
*
Expand Down

0 comments on commit ee721e0

Please sign in to comment.