|
|
|
@ -251,19 +251,19 @@ function user_shifts() {
|
|
|
|
|
WHERE `start` < '" . sql_escape($shift['end']) . "' AND `end` > '" . sql_escape($shift['start']) . "'") > 0) {
|
|
|
|
|
error(_("You already subscribed to shift in the same timeslot. Please contact a dispatcher to join the shift."));
|
|
|
|
|
redirect(shift_link($shift));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
$needed_angeltypes = NeededAngelTypes_by_shift($shift['SID']);
|
|
|
|
|
if ($needed_angeltypes === false)
|
|
|
|
|
engelsystem_error('Unable to load needed angel types.');
|
|
|
|
|
$needed_angeltypes = NeededAngelTypes_by_shift($shift['SID']);
|
|
|
|
|
if ($needed_angeltypes === false)
|
|
|
|
|
engelsystem_error('Unable to load needed angel types.');
|
|
|
|
|
|
|
|
|
|
// you canot join if shift is full
|
|
|
|
|
foreach ($needed_angeltypes as $needed_angeltype)
|
|
|
|
|
if ($needed_angeltype['angel_type_id'] == $type_id)
|
|
|
|
|
if ($needed_angeltype['taken'] >= $needed_angeltype['count']) {
|
|
|
|
|
error(_("The shift is already full."));
|
|
|
|
|
redirect(shift_link($shift));
|
|
|
|
|
}
|
|
|
|
|
// you canot join if shift is full
|
|
|
|
|
foreach ($needed_angeltypes as $needed_angeltype)
|
|
|
|
|
if ($needed_angeltype['angel_type_id'] == $type_id)
|
|
|
|
|
if ($needed_angeltype['taken'] >= $needed_angeltype['count']) {
|
|
|
|
|
error(_("The shift is already full."));
|
|
|
|
|
redirect(shift_link($shift));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (in_array('user_shifts_admin', $privileges))
|
|
|
|
|
$type = sql_select("SELECT * FROM `AngelTypes` WHERE `id`=" . sql_escape($type_id) . " LIMIT 1");
|
|
|
|
|