Neues Recht lehre/reservierungAdvanced in LV-Plan implementiert

- Reservierungen können damit überschrieben werden
- Wenn Raum grundsätzlich nicht reservierbar, wird eine entsprechende Meldung angezeigt.
This commit is contained in:
Manfred Kindl
2019-03-01 13:42:34 +01:00
parent d1588d00dc
commit 63877ef8f9
5 changed files with 26 additions and 10 deletions
+6 -3
View File
@@ -40,6 +40,9 @@ if (!$db = new basis_db())
$uid=get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
// Variablen uebernehmen
if (isset($_GET['type']))
$type=$_GET['type'];
@@ -331,12 +334,12 @@ if (isset($reserve) && $raumres)
$stpl = new stundenplan('stundenplan');
$stpldev = new stundenplan('stundenplandev');
if(!$stpl->isBelegt($ort_kurzbz, $datum_res, $stunde)
&& !$stpldev->isBelegt($ort_kurzbz, $datum_res, $stunde))
if((!$stpl->isBelegt($ort_kurzbz, $datum_res, $stunde)
&& !$stpldev->isBelegt($ort_kurzbz, $datum_res, $stunde)) || $rechte->isBerechtigt('lehre/reservierungAdvanced'))
{
$reservierung = new reservierung();
if(!$reservierung->isReserviert($ort_kurzbz, $datum_res, $stunde))
if(!$reservierung->isReserviert($ort_kurzbz, $datum_res, $stunde) || $rechte->isBerechtigt('lehre/reservierungAdvanced'))
{
if (empty($_REQUEST['titel']) && empty($_REQUEST['beschreibung']))
echo "<br>".$p->t('lvplan/titelUndBeschreibungFehlt')."! <br>";
+16 -5
View File
@@ -645,6 +645,7 @@ class wochenplan extends basis_db
die($this->db_last_error());
$result_stunde = $this->db_result;
$num_rows_stunde = $this->db_num_rows($result_stunde);
$raumReservierbar = true;
$stundenplandev_belegt = array();
// Formularbeginn wenn Lektor
@@ -670,7 +671,10 @@ class wochenplan extends basis_db
}
}
else
$raumres=false;
{
$raumres = false;
$raumReservierbar = false;
}
}
//Tabelle zeichnen
@@ -696,6 +700,8 @@ class wochenplan extends basis_db
if (!date("w",$this->datum))
$this->datum=jump_day($this->datum,1);
$datum=$datum_mon=$this->datum;
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user_uid);
for ($i=1; $i<=TAGE_PRO_WOCHE; $i++)
{
@@ -887,7 +893,7 @@ class wochenplan extends basis_db
}
// Ausgabe einer Stunde im Raster (HTML)
echo ' <td nowrap valign="top">';
echo ' <td nowrap valign="top" align="center">';
foreach($uEinheiten as $key=>$uEinheit)
{
@@ -945,6 +951,8 @@ class wochenplan extends basis_db
}
echo '</A></DIV>';
}
if ($rechte->isBerechtigt('lehre/reservierungAdvanced', null, 'sui'))
echo '<INPUT type="checkbox" name="reserve'.$i.'_'.$j.'" value="'.date("Y-m-d",$datum).'">';
echo '</td>'.$this->crlf;
}
}
@@ -978,9 +986,6 @@ class wochenplan extends basis_db
echo ' <td>'.$p->t('global/titel').':</td><td><input onchange="if (this.value.length>0 && document.getElementById(\'beschreibung\').value.length<1) {document.getElementById(\'beschreibung\').value=document.getElementById(\'titel\').value;document.getElementById(\'beschreibung\').focus();};" type="text" id="titel" name="titel" size="10" maxlength="10" value="" /></td> '.$this->crlf;
echo ' <td>'.$p->t('global/beschreibung').':</td><td colspan="6"> <input onchange="if (this.value.length<1 && document.getElementById(\'titel\').value.length>0) {alert(\'Achtung! Speichern nur mit Beschreibung moeglich!\');this.focus();};" type="text" id="beschreibung" name="beschreibung" size="20" maxlength="32" value="" /> </td>'.$this->crlf;
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user_uid);
//Pruefen ob die erweiterte Reservierungsrechte vorhanden sind
if ($rechte->isBerechtigt('lehre/reservierung', null, 'sui'))
{
@@ -1109,6 +1114,12 @@ class wochenplan extends basis_db
echo '</tr></table></form>';
echo ' <a href="stpl_reserve_list.php">'.$p->t('lvplan/reservierungenLoeschen').' </a>';
}
elseif ($this->type=='ort' && $raumReservierbar == false)
{
echo '<table><tr><td><br>';
echo '<span style="color: orange">'.$p->t('lvplan/raumNichtReservierbar').'</span>';
echo '</td></tr></table>';
}
else
{
if ($this->type=='ort')
+1
View File
@@ -98,4 +98,5 @@ $this->phrasen['lvplan/status']='Status';
$this->phrasen['lvplan/automatischeMail']='Dies ist eine automatische Mail!';
$this->phrasen['lvplan/folgendeAenderungen']='Es haben sich folgende Aenderungen in Ihrem LV-Plan ergeben:';
$this->phrasen['lvplan/reserviertInDev']='reserviert<br>für<br>lehre';
$this->phrasen['lvplan/raumNichtReservierbar']='Die Möglichkeit der Reservierung ist für diesen Raum deaktiviert.';
?>
+1
View File
@@ -97,4 +97,5 @@ $this->phrasen['lvplan/status']='Status';
$this->phrasen['lvplan/automatischeMail']='This is an automatic email!';
$this->phrasen['lvplan/folgendeAenderungen']='There have been the following changes in your Schedule:';
$this->phrasen['lvplan/reserviertInDev']='not<br>available';
$this->phrasen['lvplan/raumNichtReservierbar']='Reservation is disabled for this room.';
?>
+2 -2
View File
@@ -37,7 +37,7 @@ $datum_obj = new datum();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($uid);
if(!$rechte->isBerechtigt('lehre/reservierung', null, 'sui'))
if(!$rechte->isBerechtigt('lehre/reservierungAdvanced', null, 'sui'))
die('<span class="error">Sie haben keine Berechtigung für diese Seite</span>');
$stgid=(isset($_REQUEST['stgid'])?$_REQUEST['stgid']:0);
@@ -247,7 +247,7 @@ echo '
<hr>
</form>';
if($rechte->isBerechtigt('lehre/reservierung', null, 'sui'))
if($rechte->isBerechtigt('lehre/reservierungAdvanced', null, 'sui'))
{
if ($type=="save")
{