mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-16 22:42:16 +00:00
Merge branch 'feature-245/LvTeilKopieren'
This commit is contained in:
+6
-2
@@ -26,6 +26,7 @@ require_once('../include/benutzerberechtigung.class.php');
|
||||
require_once('../include/studiensemester.class.php');
|
||||
require_once('../include/variable.class.php');
|
||||
require_once('../include/addon.class.php');
|
||||
require_once('../include/datum.class.php');
|
||||
|
||||
$user=get_uid();
|
||||
|
||||
@@ -45,6 +46,8 @@ if(!$variable->loadVariables($user))
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
$datum_obj = new datum();
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/fas'))
|
||||
die('Sie haben keine Berechtigung für diese Seite');
|
||||
|
||||
@@ -248,6 +251,7 @@ foreach($addon_obj->result as $addon)
|
||||
label = '$stsem->studiensemester_kurzbz'
|
||||
type = 'radio'
|
||||
command = 'menu-properties-studiensemester:command'
|
||||
tooltiptext = '(".$datum_obj->formatDatum($stsem->start, "d.m.Y")." - ".$datum_obj->formatDatum($stsem->ende, "d.m.Y").")'
|
||||
checked = ".($variable->variable->semester_aktuell==$stsem->studiensemester_kurzbz?"'true' ":"'false'")." />";
|
||||
}
|
||||
?>
|
||||
@@ -934,8 +938,8 @@ foreach($addon_obj->result as $addon)
|
||||
oncommand="studiensemesterChange('', 1)"
|
||||
/>
|
||||
</statusbarpanel>
|
||||
<statusbarpanel>
|
||||
<toolbarbutton id="statusbarpanel-semester-aktuell" label="Aktuelles Studiensemester" oncommand="getStudiensemesterAktuell()"/>
|
||||
<statusbarpanel id="statusbarpanel-panel-semester-aktuell">
|
||||
<toolbarbutton id="statusbarpanel-semester-aktuell" label="Aktuelles Studiensemester" oncommand="setStudiensemesterAktuell()"/>
|
||||
</statusbarpanel>
|
||||
<statusbarpanel id="statusbarpanel-db_table" label="<?php echo DB_NAME; ?>"/>
|
||||
<statusbarpanel id="statusbarpanel-text" label="<?php echo htmlspecialchars($error_msg); ?>" flex="4" crop="right" />
|
||||
|
||||
@@ -493,6 +493,14 @@ if(!$error)
|
||||
$variable->name = 'semester_aktuell';
|
||||
$variable->wert = $studiensemester_kurzbz;
|
||||
}
|
||||
elseif(isset($_POST['stsem_aktuell']))
|
||||
{
|
||||
$stsem = new studiensemester();
|
||||
$studiensemester_kurzbz = $stsem->getakt();
|
||||
|
||||
$variable->name = 'semester_aktuell';
|
||||
$variable->wert = $studiensemester_kurzbz;
|
||||
}
|
||||
elseif(isset($_POST['kontofilterstg']))
|
||||
{
|
||||
$variable->name = 'kontofilterstg';
|
||||
|
||||
@@ -1388,6 +1388,118 @@ if(!$error)
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ($_POST['do']=='copy')
|
||||
{
|
||||
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'sui')
|
||||
&& !$rechte->isBerechtigtMultipleOe('assistenz', $lva->getAllOe(), 'sui')
|
||||
&& !$rechte->isBerechtigtMultipleOe('lv-plan', $lva->getAllOe(), 'sui'))
|
||||
{
|
||||
$error = true;
|
||||
$return = false;
|
||||
$errormsg = 'Keine Berechtigung';
|
||||
}
|
||||
|
||||
if(!$leDAO->load($_POST['lehreinheit_id']))
|
||||
{
|
||||
$return = false;
|
||||
$error = true;
|
||||
$errormsg = 'Fehler beim Laden des LV-Teils';
|
||||
}
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
// Neue Lehreinheit anlegen
|
||||
$leDAO->new = true;
|
||||
$leDAO->unr = '';
|
||||
$leDAO->updateamum = date('Y-m-d H:i:s');
|
||||
$leDAO->updatevon = $user;
|
||||
$leDAO->insertamum = date('Y-m-d H:i:s');
|
||||
$leDAO->insertvon = $user;
|
||||
|
||||
if ($leDAO->save())
|
||||
{
|
||||
// Wenn Art "alle" oder "gruppen" ist, werden auch alle Lehreinheitgruppe kopiert
|
||||
if(isset($_POST['art']) && ($_POST['art'] == 'alle' || $_POST['art'] == 'gruppen'))
|
||||
{
|
||||
$legruppe = new lehreinheitgruppe();
|
||||
$legruppe->getLehreinheitgruppe($_POST['lehreinheit_id']);
|
||||
|
||||
if (count($legruppe->lehreinheitgruppe) > 0)
|
||||
{
|
||||
foreach ($legruppe->lehreinheitgruppe as $row)
|
||||
{
|
||||
$legruppe_new = new lehreinheitgruppe();
|
||||
$legruppe_new->lehreinheit_id = $leDAO->lehreinheit_id;
|
||||
$legruppe_new->studiengang_kz = $row->studiengang_kz;
|
||||
$legruppe_new->semester = $row->semester;
|
||||
$legruppe_new->verband = $row->verband;
|
||||
$legruppe_new->gruppe = $row->gruppe;
|
||||
$legruppe_new->gruppe_kurzbz = $row->gruppe_kurzbz;
|
||||
$legruppe_new->updateamum = date('Y-m-d H:i:s');
|
||||
$legruppe_new->updatevon = $user;
|
||||
$legruppe_new->insertamum = date('Y-m-d H:i:s');
|
||||
$legruppe_new->insertvon = $user;
|
||||
|
||||
if (!$legruppe_new->save(true))
|
||||
{
|
||||
$errormsg = 'Fehler beim Kopieren der Gruppe: '.$legruppe_new->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// Wenn Art "alle" oder "lektoren" ist, werden auch alle Lehreinheitmitarbeiter kopiert
|
||||
if(isset($_POST['art']) && ($_POST['art'] == 'alle' || $_POST['art'] == 'lektoren'))
|
||||
{
|
||||
$lema = new lehreinheitmitarbeiter();
|
||||
$lema->getLehreinheitmitarbeiter($_POST['lehreinheit_id']);
|
||||
|
||||
if (count($lema->lehreinheitmitarbeiter) > 0)
|
||||
{
|
||||
foreach ($lema->lehreinheitmitarbeiter as $row)
|
||||
{
|
||||
$lema_new = new lehreinheitmitarbeiter();
|
||||
$lema_new->lehreinheit_id = $leDAO->lehreinheit_id;
|
||||
$lema_new->mitarbeiter_uid = $row->mitarbeiter_uid;
|
||||
$lema_new->lehrfunktion_kurzbz = $row->lehrfunktion_kurzbz;
|
||||
$lema_new->semesterstunden = $row->semesterstunden;
|
||||
$lema_new->planstunden = $row->planstunden;
|
||||
$lema_new->stundensatz = $row->stundensatz;
|
||||
$lema_new->faktor = $row->faktor;
|
||||
$lema_new->anmerkung = $row->anmerkung;
|
||||
$lema_new->bismelden = $row->bismelden;
|
||||
$lema_new->updateamum = date('Y-m-d H:i:s');
|
||||
$lema_new->updatevon = $user;
|
||||
$lema_new->insertamum = date('Y-m-d H:i:s');
|
||||
$lema_new->insertvon = $user;
|
||||
$lema_new->ext_id = $row->ext_id;
|
||||
$lema_new->vertrag_id = $row->vertrag_id;
|
||||
|
||||
if (!$lema_new->save(true))
|
||||
{
|
||||
$errormsg = 'Fehler beim Kopieren der MitarbeiterInnen: '.$lema_new->errormsg;
|
||||
$return = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$return = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$return = false;
|
||||
$errormsg = $leDAO->errormsg;
|
||||
}
|
||||
}
|
||||
}
|
||||
else if ($_POST['do']=='delete') //Lehreinheit loeschen
|
||||
{
|
||||
if(!$rechte->isBerechtigtMultipleOe('admin', $lva->getAllOe(), 'suid') &&
|
||||
|
||||
@@ -521,7 +521,7 @@ function LeDelete()
|
||||
}
|
||||
|
||||
//Abfrage ob wirklich geloescht werden soll
|
||||
if (confirm('Wollen Sie diese Lehreinheit wirklich loeschen?'))
|
||||
if (confirm('Wollen Sie diesen LV-Teil wirklich loeschen?'))
|
||||
{
|
||||
//Script zum loeschen der Lehreinheit aufrufen
|
||||
var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','','');
|
||||
@@ -541,6 +541,52 @@ function LeDelete()
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * LV-Teile kopieren
|
||||
// ****
|
||||
function LeCopy(art)
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('lehrveranstaltung-tree');
|
||||
|
||||
if (tree.currentIndex==-1)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
//Ausgewaehlte LV-Teile holen
|
||||
var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-lehreinheit_id"] : "lehrveranstaltung-treecol-lehreinheit_id";
|
||||
var lehreinheit_id = tree.view.getCellText(tree.currentIndex,col);
|
||||
if(lehreinheit_id == '')
|
||||
{
|
||||
alert('Lehreinheit_id konnte nicht ermittelt werden');
|
||||
return false;
|
||||
}
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
alert(e);
|
||||
return false;
|
||||
}
|
||||
|
||||
//Script zum kopieren des LV-Teils aufrufen
|
||||
var req = new phpRequest('lvplanung/lehrveranstaltungDBDML.php','','');
|
||||
|
||||
req.add('type','lehreinheit');
|
||||
req.add('do','copy');
|
||||
req.add('art',art);
|
||||
req.add('lehreinheit_id',lehreinheit_id);
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
if(!val.dbdml_return)
|
||||
alert(val.dbdml_errormsg)
|
||||
|
||||
LvTreeRefresh();
|
||||
LeDetailReset();
|
||||
LeDetailDisableFields(true);
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Leert alle Eingabe- und Auswahlfelder
|
||||
// ****
|
||||
@@ -2673,7 +2719,7 @@ function LeMitarbeiterGesamtkosten()
|
||||
/*
|
||||
* Oeffnet alle Subtrees
|
||||
*/
|
||||
function LvTreeOpenAllSubtrees()
|
||||
function LvTreeOpenAllSubtrees(art)
|
||||
{
|
||||
var tree=document.getElementById('lehrveranstaltung-tree');
|
||||
|
||||
@@ -2682,10 +2728,21 @@ function LvTreeOpenAllSubtrees()
|
||||
else
|
||||
return false;
|
||||
|
||||
for(var i=items-1;i>=0;i--)
|
||||
if (art == 'aus')
|
||||
{
|
||||
if(!tree.view.isContainerOpen(i))
|
||||
tree.view.toggleOpenState(i);
|
||||
for(var i=items-1;i>=0;i--)
|
||||
{
|
||||
if(!tree.view.isContainerOpen(i))
|
||||
tree.view.toggleOpenState(i);
|
||||
}
|
||||
}
|
||||
else if (art == 'ein')
|
||||
{
|
||||
for(var i=items-1;i>=0;i--)
|
||||
{
|
||||
if(tree.view.isContainerOpen(i))
|
||||
tree.view.toggleOpenState(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -54,13 +54,21 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungnotenov
|
||||
<vbox id="LehrveranstaltungEditor" flex="1" uid="" stg_kz="">
|
||||
<popupset>
|
||||
<menupopup id="lehrveranstaltung-tree-popup">
|
||||
<menu id="lehrveranstaltung-tree-popup-lehreinheit-kopieren" label="LV-Teil kopieren">
|
||||
<menupopup id="lehrveranstaltung-tree-popup-lehreinheit-kopieren-popup">
|
||||
<menuitem label="Alles" oncommand="LeCopy('alle');" id="lehrveranstaltung-tree-popup-lehreinheit-kopieren-alle" hidden="false"/>
|
||||
<menuitem label="Nur LV-Teil" oncommand="LeCopy('lvteil');" id="lehrveranstaltung-tree-popup-lehreinheit-kopieren-lvteil" hidden="false"/>
|
||||
<menuitem label="Nur mit Gruppen" oncommand="LeCopy('gruppen');" id="lehrveranstaltung-tree-popup-lehreinheit-kopieren-gruppen" hidden="false"/>
|
||||
<menuitem label="Nur mit Lehrenden" oncommand="LeCopy('lektoren');" id="lehrveranstaltung-tree-popup-lehreinheit-kopieren-lektoren" hidden="false"/>
|
||||
</menupopup>
|
||||
</menu>
|
||||
<menuitem label="Entfernen" oncommand="LeDelete();" id="lehrveranstaltung-tree-popup-entf" disabled="false"/>
|
||||
</menupopup>
|
||||
</popupset>
|
||||
<toolbox>
|
||||
<toolbar id="lehrveranstaltung-nav-toolbar">
|
||||
<toolbarbutton id="lehrveranstaltung-toolbar-neu" label="Neuer LV-Teil" oncommand="LeNeu();" disabled="true" image="../skin/images/NeuDokument.png" tooltiptext="Neue Lehreinheit anlegen" />
|
||||
<toolbarbutton id="lehrveranstaltung-toolbar-del" label="Loeschen" oncommand="LeDelete();" disabled="true" image="../skin/images/DeleteIcon.png" tooltiptext="Lehreinheiten löschen"/>
|
||||
<toolbarbutton id="lehrveranstaltung-toolbar-neu" label="Neuer LV-Teil" oncommand="LeNeu();" disabled="true" image="../skin/images/NeuDokument.png" tooltiptext="Neuen LV-Teil anlegen" />
|
||||
<toolbarbutton id="lehrveranstaltung-toolbar-del" label="Loeschen" oncommand="LeDelete();" disabled="true" image="../skin/images/DeleteIcon.png" tooltiptext="LV-Teil löschen"/>
|
||||
<toolbarbutton id="lehrveranstaltung-toolbar-refresh" label="Aktualisieren" oncommand="LvTreeRefresh()" disabled="false" image="../skin/images/refresh.png" tooltiptext="Liste neu laden"/>
|
||||
<toolbarbutton id="lehrveranstaltung-toolbar-lehrauftrag" label="Lehrauftrag" oncommand="LvCreateLehrauftrag()" disabled="false" image="../skin/images/person.gif" tooltiptext="Lehrauftrag ausdrucken" hidden="true"/>
|
||||
|
||||
@@ -82,7 +90,8 @@ echo '<?xul-overlay href="'.APP_ROOT.'content/lvplanung/lehrveranstaltungnotenov
|
||||
<textbox id="lehrveranstaltung-toolbar-textbox-suche" control="lehrveranstaltung-toolbar-button-search" onkeypress="LehrveranstaltungSearchFieldKeyPress(event)" style="width: 300px" />
|
||||
<button id="lehrveranstaltung-toolbar-button-search" oncommand="LehrveranstaltungSuche()" label="Suchen"/>
|
||||
<spacer flex="1" />
|
||||
<toolbarbutton id="lehrveranstaltung-toolbar-opensubtrees" label="Aufklappen" tooltiptext="Klappt die Untermenüs auf - mehrmaliges klicken möglich um weiter aufzuklappen" oncommand="LvTreeOpenAllSubtrees()" disabled="false" image="../skin/images/tree-diagramm.png" />
|
||||
<toolbarbutton id="lehrveranstaltung-toolbar-opensubtrees" label="Aufklappen" tooltiptext="Klappt die Untermenüs auf - mehrmaliges klicken möglich um weiter aufzuklappen" oncommand="LvTreeOpenAllSubtrees('aus')" disabled="false" image="../skin/images/tree-diagramm.png" />
|
||||
<toolbarbutton id="lehrveranstaltung-toolbar-opensubtrees" label="Alles Einklappen" tooltiptext="Klappt alle Untermenüs ein" oncommand="LvTreeOpenAllSubtrees('ein')" disabled="false" image="../skin/images/modul.png" />
|
||||
</toolbar>
|
||||
</toolbox>
|
||||
|
||||
|
||||
@@ -375,6 +375,69 @@ function getStudiensemesterVariable()
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Setzt das aktuelle Studiensemester
|
||||
// ****
|
||||
function setStudiensemesterAktuell()
|
||||
{
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
|
||||
// Request absetzen
|
||||
|
||||
var url = '<?php echo APP_ROOT ?>content/fasDBDML.php';
|
||||
|
||||
var req = new phpRequest(url,'','');
|
||||
|
||||
req.add('type', 'variablechange');
|
||||
req.add('stsem_aktuell', 'stsem_aktuell');
|
||||
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if (!val.dbdml_return)
|
||||
{
|
||||
if(val.dbdml_errormsg=='')
|
||||
alert(response)
|
||||
else
|
||||
alert(val.dbdml_errormsg)
|
||||
}
|
||||
else
|
||||
{
|
||||
//Statusbar setzen
|
||||
document.getElementById("statusbarpanel-text").label = "Studiensemester erfolgreich geaendert";
|
||||
document.getElementById("statusbarpanel-semester").label = val.dbdml_data;
|
||||
//Menue setzen
|
||||
var items = document.getElementsByTagName('menuitem');
|
||||
|
||||
for(i in items)
|
||||
{
|
||||
if(items[i].label==val.dbdml_data && items[i].id=='menu-properies-studiensemester-name')
|
||||
{
|
||||
items[i].setAttribute('checked',true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
//MitarbeiterDetailStudiensemester_id = dbdml_errormsg;
|
||||
//Ansichten Refreshen
|
||||
try
|
||||
{
|
||||
StudentTreeRefresh();
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
|
||||
try
|
||||
{
|
||||
LvTreeRefresh();
|
||||
}
|
||||
catch(e)
|
||||
{}
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Laedt das Undo Menue Neu
|
||||
// ****
|
||||
|
||||
Reference in New Issue
Block a user