Skip to content
Snippets Groups Projects
Commit 58b1b71c authored by André Noack's avatar André Noack Committed by Jan-Hendrik Willms
Browse files

Resolve #3907 "Temporäre Buchungsrechte: Rechte- und Buchungszeitraum identisch"

Closes #3907

Merge request studip/studip!2764
parent cd51a9d0
No related branches found
No related tags found
No related merge requests found
......@@ -2296,29 +2296,14 @@ class Resource extends SimpleORMap implements StudipItem
return 'admin';
}
//Check for a temporary permission first:
$perm_string = '';
$temp_perm = null;
$begin = time();
$end = $begin;
//If $time range is set and contains two DateTime objects
//we can include that in the search for temporary permissions.
if ($time_range) {
if ($time_range[0] instanceof DateTime) {
$begin = $time_range[0]->getTimestamp();
} else {
$begin = $time_range[0];
}
if ($time_range[1] instanceof DateTime) {
$end = $time_range[1]->getTimestamp();
} else {
$end = $time_range[1];
}
}
//Check for a temporary permission first:
//check only against current timestamp
if (!$permanent_only) {
$temp_perm = ResourceTemporaryPermission::findOneBySql(
'(resource_id = :resource_id) AND (user_id = :user_id)
......@@ -2375,8 +2360,18 @@ class Resource extends SimpleORMap implements StudipItem
$perm_string = $global_perm;
}
//Now we must check for global resource locks:
if ($perm_string && $time_range && $this->lockable) {
if ($time_range[0] instanceof DateTime) {
$begin = $time_range[0]->getTimestamp();
} else {
$begin = $time_range[0];
}
if ($time_range[1] instanceof DateTime) {
$end = $time_range[1]->getTimestamp();
} else {
$end = $time_range[1];
}
if (GlobalResourceLock::isLocked($begin, $end)) {
//A permission level exists for the user.
//The user gets "user" permissions in case
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment