mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-18 07:22:17 +00:00
Merge branch 'master' into feature-683/UmbenennungLehreinheit
This commit is contained in:
@@ -125,9 +125,9 @@ class InfoCenter extends Auth_Controller
|
||||
'zgvStatusUpdate' => 'lehre/zgvpruefung:rw',
|
||||
'saveAbsage' => 'infocenter:rw',
|
||||
'saveFreigabe' => 'infocenter:rw',
|
||||
'getNotiz' => 'infocenter:r',
|
||||
'getNotiz' => array('infocenter:r', 'lehre/zgvpruefung:r'),
|
||||
'saveNotiz' => array('infocenter:rw', 'lehre/zgvpruefung:rw'),
|
||||
'updateNotiz' => 'infocenter:rw',
|
||||
'updateNotiz' => array('infocenter:rw', 'lehre/zgvpruefung:rw'),
|
||||
'reloadZgvPruefungen' => 'infocenter:r',
|
||||
'reloadMessages' => 'infocenter:r',
|
||||
'reloadDoks' => 'infocenter:r',
|
||||
|
||||
@@ -4,6 +4,8 @@ if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class ZGVUeberpruefung extends Auth_Controller
|
||||
{
|
||||
const BERECHTIGUNG_KURZBZ = 'lehre/zgvpruefung';
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
@@ -12,14 +14,15 @@ class ZGVUeberpruefung extends Auth_Controller
|
||||
// Set required permissions
|
||||
parent::__construct(
|
||||
array(
|
||||
'index' => 'lehre/zgvpruefung:r',
|
||||
'getZgvStatusByPrestudent' => 'lehre/zgvpruefung:r'
|
||||
'index' => self::BERECHTIGUNG_KURZBZ.':r',
|
||||
'getZgvStatusByPrestudent' => self::BERECHTIGUNG_KURZBZ.':r'
|
||||
)
|
||||
);
|
||||
$this->load->model('crm/ZGVPruefungStatus_model', 'ZGVPruefungStatusModel');
|
||||
$this->load->model('crm/ZGVPruefung_model', 'ZGVPruefungModel');
|
||||
|
||||
$this->load->library('WidgetLib');
|
||||
$this->load->library('PermissionLib');
|
||||
|
||||
$this->setControllerId();
|
||||
$this->loadPhrases(
|
||||
@@ -31,7 +34,14 @@ class ZGVUeberpruefung extends Auth_Controller
|
||||
|
||||
public function index()
|
||||
{
|
||||
$this->load->view('system/infocenter/infocenterZgvUeberpruefung.php');
|
||||
$oeKurzbz = $this->permissionlib->getOE_isEntitledFor(self::BERECHTIGUNG_KURZBZ);
|
||||
|
||||
if (!$oeKurzbz)
|
||||
show_error('Keine Berechtigung.');
|
||||
|
||||
$data['oeKurz'] = $oeKurzbz;
|
||||
|
||||
$this->load->view('system/infocenter/infocenterZgvUeberpruefung.php', $data);
|
||||
}
|
||||
|
||||
public function getZgvStatusByPrestudent()
|
||||
|
||||
@@ -42,6 +42,34 @@ class Projektbetreuer_model extends DB_Model
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets Betreuer of a certain Type of a Projektarbeit.
|
||||
* Returns one row for each person.
|
||||
* @param int $projektarbeit_id
|
||||
* @param string $betreuerart_kurzbz
|
||||
* @return array success with number of Betreuer or error
|
||||
*/
|
||||
public function getBetreuerOfProjektarbeit($projektarbeit_id, $betreuerart_kurzbz)
|
||||
{
|
||||
$qry = "SELECT DISTINCT ON (pers.person_id) pers.person_id, betreuerart_kurzbz, vorname, nachname,
|
||||
trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as voller_name,
|
||||
anrede, titelpre, titelpost, gebdatum, geschlecht, pa.projekttyp_kurzbz,
|
||||
ben.uid, ben.alias, ma.personalnummer, mitarbeiter_uid, student_uid
|
||||
FROM lehre.tbl_projektarbeit pa
|
||||
JOIN lehre.tbl_projektbetreuer USING (projektarbeit_id)
|
||||
JOIN public.tbl_person pers USING (person_id)
|
||||
LEFT JOIN public.tbl_benutzer ben USING (person_id)
|
||||
LEFT JOIN public.tbl_mitarbeiter ma ON ben.uid = ma.mitarbeiter_uid
|
||||
WHERE ben.aktiv
|
||||
AND projektarbeit_id = ?
|
||||
AND betreuerart_kurzbz = ?
|
||||
ORDER BY pers.person_id, CASE WHEN ma.mitarbeiter_uid IS NULL THEN 1 ELSE 0 END, /*Mitarbeiter account first*/
|
||||
CASE WHEN ben.uid IS NULL THEN 1 ELSE 0 END, /*user with account first*/
|
||||
ben.insertamum";
|
||||
|
||||
return $this->execQuery($qry, array($projektarbeit_id, $betreuerart_kurzbz));
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Projektbetreuer data by authentification token
|
||||
* @param $zugangstoken
|
||||
@@ -60,4 +88,83 @@ class Projektbetreuer_model extends DB_Model
|
||||
|
||||
return $this->execQuery($qry, array($zugangstoken));
|
||||
}
|
||||
|
||||
/**
|
||||
* Holt Zweitbegutachter einer Projektarbeit mit Mail.
|
||||
* @param $erstbegutachter_person_id int person_id des Erstbegutachters
|
||||
* @param $projektarbeit_id int
|
||||
* @param $student_uid string uid des Studenten der Arbeit abgibt
|
||||
* @return object | bool
|
||||
*/
|
||||
public function getZweitbegutachterWithToken($erstbegutachter_person_id, $projektarbeit_id, $student_uid)
|
||||
{
|
||||
$qry_betr = "SELECT betr.person_id, betr.projektarbeit_id, pers.anrede, betr.zugangstoken, betr.zugangstoken_gueltigbis, tbl_benutzer.uid, kontakt,
|
||||
trim(COALESCE(titelpre,'')||' '||COALESCE(vorname,'')||' '||COALESCE(nachname,'')||' '||COALESCE(titelpost,'')) as voller_name,
|
||||
CASE WHEN tbl_benutzer.uid IS NULL THEN kontakt ELSE tbl_benutzer.uid || '@".DOMAIN."' END AS email, abg.abgabedatum
|
||||
FROM lehre.tbl_projektbetreuer betr
|
||||
JOIN lehre.tbl_projektarbeit parb ON betr.projektarbeit_id = parb.projektarbeit_id
|
||||
JOIN public.tbl_person pers ON betr.person_id = pers.person_id
|
||||
LEFT JOIN public.tbl_kontakt ON pers.person_id = tbl_kontakt.person_id AND kontakttyp = 'email' AND zustellung = true
|
||||
LEFT JOIN public.tbl_benutzer ON pers.person_id = tbl_benutzer.person_id
|
||||
LEFT JOIN campus.tbl_paabgabe abg ON betr.projektarbeit_id = abg.projektarbeit_id AND abg.paabgabetyp_kurzbz = 'end'
|
||||
WHERE betr.betreuerart_kurzbz = 'Zweitbegutachter'
|
||||
AND betr.projektarbeit_id = ?
|
||||
AND parb.student_uid = ?
|
||||
AND EXISTS (
|
||||
SELECT 1 FROM lehre.tbl_projektbetreuer
|
||||
WHERE person_id = ?
|
||||
AND betreuerart_kurzbz = 'Erstbegutachter'
|
||||
AND projektarbeit_id = betr.projektarbeit_id
|
||||
)
|
||||
AND (tbl_benutzer.aktiv OR tbl_benutzer.aktiv IS NULL)
|
||||
ORDER BY betr.insertamum DESC
|
||||
LIMIT 1";
|
||||
|
||||
return $this->execQuery($qry_betr, array($projektarbeit_id, $student_uid, $erstbegutachter_person_id));
|
||||
}
|
||||
|
||||
/**
|
||||
* Generiert neuen Token für externen Zweitbetreuer.
|
||||
* @param int $zweitbegutachter_person_id
|
||||
* @param int $projektarbeit_id
|
||||
* @return array
|
||||
*/
|
||||
public function generateZweitbegutachterToken($zweitbegutachter_person_id, $projektarbeit_id)
|
||||
{
|
||||
$betreuerUidQry = "SELECT uid, zugangstoken, zugangstoken_gueltigbis, tbl_projektbetreuer.person_id
|
||||
FROM lehre.tbl_projektbetreuer
|
||||
JOIN public.tbl_person USING(person_id)
|
||||
LEFT JOIN public.tbl_benutzer USING(person_id)
|
||||
WHERE projektarbeit_id = ?
|
||||
AND tbl_projektbetreuer.person_id = ?
|
||||
AND betreuerart_kurzbz = 'Zweitbegutachter'
|
||||
LIMIT 1";
|
||||
|
||||
$betreueruidres = $this->execQuery($betreuerUidQry, array($projektarbeit_id, $zweitbegutachter_person_id));
|
||||
|
||||
if (!hasData($betreueruidres))
|
||||
return error('Zweitbegutachter nicht gefunden');
|
||||
|
||||
$row_betr = getData($betreueruidres)[0];
|
||||
|
||||
if (!isset($row_betr->uid))
|
||||
{
|
||||
do {
|
||||
$token = generateToken(16);
|
||||
$qry_tokencheck = $this->load(array('zugangstoken' => $token));
|
||||
} while(hasData($qry_tokencheck));
|
||||
|
||||
$result = $this->update(
|
||||
array('projektarbeit_id' => $projektarbeit_id,
|
||||
'person_id' => $row_betr->person_id,
|
||||
'betreuerart_kurzbz' => 'Zweitbegutachter'),
|
||||
array('zugangstoken' => $token,
|
||||
'zugangstoken_gueltigbis' => date('Y-m-d', strtotime('+1 year')))
|
||||
);
|
||||
|
||||
return $result;
|
||||
}
|
||||
else
|
||||
return success("Account vorhanden, kein Token benötigt");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -12,7 +12,14 @@ class Variablenname_model extends DB_Model
|
||||
) sem
|
||||
WHERE start > now()
|
||||
LIMIT 1;',
|
||||
'infocenter_studiensgangtyp' => 'SELECT infocenter_studiensgangtyp FROM public.tbl_variablenname LIMIT 1'
|
||||
'infocenter_studiensgangtyp' => 'SELECT infocenter_studiensgangtyp FROM public.tbl_variablenname LIMIT 1;',
|
||||
'projektuebersicht_studiensemester' => 'SELECT studiensemester_kurzbz FROM (
|
||||
SELECT DISTINCT ON (studienjahr_kurzbz) start, studiensemester_kurzbz
|
||||
FROM public.tbl_studiensemester
|
||||
ORDER BY studienjahr_kurzbz, start
|
||||
) sem
|
||||
WHERE start > now()
|
||||
LIMIT 1;'
|
||||
);
|
||||
|
||||
/**
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
$INTERESSENT_STATUS = '\'Interessent\'';
|
||||
$STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
|
||||
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
|
||||
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Interessent rejected\', \'Attempt to register with existing mailadress\'';
|
||||
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Interessent rejected\', \'Attempt to register with existing mailadress\', \'Access code sent\', \'Personal data saved\'';
|
||||
$LOGDATA_NAME_PARKED = '\'Parked\'';
|
||||
$LOGDATA_NAME_ONHOLD = '\'Onhold\'';
|
||||
$LOGTYPE_KURZBZ = '\'Processstate\'';
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
$INTERESSENT_STATUS = '\'Interessent\'';
|
||||
$STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
|
||||
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
|
||||
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Attempt to register with existing mailadress\'';
|
||||
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Attempt to register with existing mailadress\', \'Access code sent\', \'Personal data saved\'';
|
||||
$REJECTED_STATUS = '\'Abgewiesener\'';
|
||||
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
|
||||
$STATUS_KURZBZ = '\'Wartender\', \'Bewerber\', \'Aufgenommener\', \'Student\'';
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
$INTERESSENT_STATUS = '\'Interessent\'';
|
||||
$STUDIENGANG_TYP = '\''.$this->variablelib->getVar('infocenter_studiensgangtyp').'\'';
|
||||
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
|
||||
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Attempt to register with existing mailadress\'';
|
||||
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'Attempt to register with existing mailadress\', \'Access code sent\', \'Personal data saved\'';
|
||||
$ADDITIONAL_STG = $this->config->item('infocenter_studiengang_kz');
|
||||
$STUDIENSEMESTER = '\''.$this->variablelib->getVar('infocenter_studiensemester').'\'';
|
||||
$ORG_NAME = '\'InfoCenter\'';
|
||||
|
||||
@@ -4,11 +4,6 @@ $APP = '\'infocenter\'';
|
||||
$INTERESSENT_STATUS = '\'Interessent\'';
|
||||
$TAETIGKEIT_KURZBZ = '\'bewerbung\', \'kommunikation\'';
|
||||
$LOGDATA_NAME = '\'Login with code\', \'Login with user\', \'New application\'';
|
||||
|
||||
$uid = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
$oeKurz = $rechte->getOEkurzbz('lehre/zgvpruefung');
|
||||
$oeKurz = '\''. implode('\',\'', $oeKurz) . '\'';
|
||||
|
||||
$query = '
|
||||
|
||||
@@ -120,21 +120,28 @@ if(!$projektarbeit_obj->load($projektarbeit_id))
|
||||
$titel = $projektarbeit_obj->titel;
|
||||
$student_uid = $projektarbeit_obj->student_uid;
|
||||
|
||||
// paarbeit sollte nur ab SS2021 online bewertet werden
|
||||
$qry_sem="SELECT 1
|
||||
FROM lehre.tbl_projektarbeit
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE projektarbeit_id=".$db->db_add_param($projektarbeit_id, FHC_INTEGER)."
|
||||
AND tbl_studiensemester.start::date >= (SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz = 'SS2021')::date
|
||||
LIMIT 1";
|
||||
$result_sem=$db->db_query($qry_sem);
|
||||
$num_rows_sem = $db->db_num_rows($result_sem);
|
||||
if($num_rows_sem < 0)
|
||||
// paarbeit sollte nur ab bestimmten Zeitpunkt online bewertet werden
|
||||
$num_rows_sem = $projektarbeit_obj->projektarbeitIsCurrent($projektarbeit_id);
|
||||
|
||||
if(!is_numeric($num_rows_sem) || $num_rows_sem < 0)
|
||||
{
|
||||
echo "<font color=\"#FF0000\">".$p->t('abgabetool/fehlerAktualitaetProjektarbeit')."</font><br> ";
|
||||
}
|
||||
|
||||
// Endupload sollte vor Benotung durchgeführt worden sein
|
||||
$qry_endupload="SELECT 1
|
||||
FROM campus.tbl_paabgabe
|
||||
WHERE projektarbeit_id=".$db->db_add_param($projektarbeit_id, FHC_INTEGER)."
|
||||
AND paabgabetyp_kurzbz='end'
|
||||
AND abgabedatum IS NOT NULL
|
||||
LIMIT 1";
|
||||
$result_endupload=$db->db_query($qry_endupload);
|
||||
$num_rows_endupload = $db->db_num_rows($result_endupload);
|
||||
if($num_rows_endupload < 0)
|
||||
{
|
||||
echo "<font color=\"#FF0000\">".$p->t('abgabetool/fehlerErmittelnEnduploadProjektarbeit')."</font><br> ";
|
||||
}
|
||||
|
||||
// Zweitbegutachter holen
|
||||
if($betreuerart=="Erstbegutachter")
|
||||
{
|
||||
@@ -457,7 +464,11 @@ while ($result_nam && $row_nam=$db->db_fetch_object($result_nam))
|
||||
$htmlstr .= "<table id='beurteilungheadertable' width=100%>\n";
|
||||
$htmlstr .= "<tr><td style='font-size:16px'>".$p->t('abgabetool/student').": <b>".$db->convert_html_chars($studentenname)."</b></td>";
|
||||
$htmlstr .= "<td width=10% align=center>";
|
||||
if ($num_rows_sem >= 1)
|
||||
|
||||
$semester_benotbar = $num_rows_sem >= 1;
|
||||
$endupload_vorhanden = $num_rows_endupload >= 1;
|
||||
|
||||
if ($semester_benotbar && $endupload_vorhanden)
|
||||
{
|
||||
$htmlstr .= "<form action='../../../index.ci.php/extensions/FHC-Core-Projektarbeitsbeurteilung/Projektarbeitsbeurteilung' title='Benotungsformular' target='_blank' method='GET'>";
|
||||
$htmlstr .= "<input type='hidden' name='projektarbeit_id' value='".$projektarbeit_id."'>\n";
|
||||
@@ -466,9 +477,10 @@ if ($num_rows_sem >= 1)
|
||||
}
|
||||
else
|
||||
{
|
||||
$quick_info = !$semester_benotbar ? $p->t('abgabetool/aeltereParbeitBenoten') : $p->t('abgabetool/keinEnduploadErfolgt');
|
||||
$htmlstr .= "<form action='javascript:void(0);'>";
|
||||
$htmlstr .= "<input type='submit' value='".$p->t('abgabetool/benoten')."' title='".$p->t('abgabetool/aeltereParbeitBenoten')."'
|
||||
alt='".$p->t('abgabetool/aeltereParbeitBenoten')."' disabled>";
|
||||
$htmlstr .= "<input type='submit' value='".$p->t('abgabetool/benoten')."' title='".$quick_info."'
|
||||
alt='".$quick_info."' disabled>";
|
||||
$htmlstr .= "</form>";
|
||||
}
|
||||
$htmlstr .= "</td>";
|
||||
|
||||
@@ -423,18 +423,9 @@ if($command=="update" && $error!=true)
|
||||
}
|
||||
else
|
||||
{
|
||||
// paarbeit sollte nur ab SS2021 online bewertet werden
|
||||
$qry_sem="SELECT 1
|
||||
FROM lehre.tbl_projektarbeit
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE projektarbeit_id=".$db->db_add_param($projektarbeit_id, FHC_INTEGER)."
|
||||
AND tbl_studiensemester.start::date >= (SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz = 'SS2021')::date
|
||||
LIMIT 1";
|
||||
|
||||
$result_sem=$db->db_query($qry_sem);
|
||||
$num_rows_sem = $db->db_num_rows($result_sem);
|
||||
if($num_rows_sem < 0)
|
||||
// paarbeit sollte nur ab bestimmten Zeitpunkt online bewertet werden
|
||||
$num_rows_sem = $projektarbeit_obj->projektarbeitIsCurrent($projektarbeit_id);
|
||||
if(!is_numeric($num_rows_sem) || $num_rows_sem < 0)
|
||||
{
|
||||
echo "<font color=\"#FF0000\">".$p->t('abgabetool/fehlerAktualitaetProjektarbeit')."</font><br> ";
|
||||
}
|
||||
|
||||
@@ -249,8 +249,8 @@ define('BIS_FUNKTIONSCODE_6_ARR', array(
|
||||
'Team'
|
||||
));
|
||||
|
||||
// Standortcode fuer Lehrgaenge
|
||||
define('BIS_STANDORTCODE_LEHRGAENGE', '0');
|
||||
// Standortcode fuer Lehrgaenge - Obsolete da Standort nun aus DB geholt wird
|
||||
//define('BIS_STANDORTCODE_LEHRGAENGE', '0');
|
||||
|
||||
// bPk Abfrage
|
||||
define('BPK_FUER_ALLE_BENUTZER_ABFRAGEN', false);
|
||||
|
||||
+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>
|
||||
|
||||
|
||||
@@ -1079,7 +1079,7 @@ function StudentAuswahl()
|
||||
StudentGesamtNotenTreeloaded=false;
|
||||
|
||||
stsem = getStudiensemester();
|
||||
|
||||
|
||||
var url = buildStudentRDFURI({
|
||||
'prestudent_id': prestudent_id,
|
||||
'studiensemester_kurzbz': stsem
|
||||
@@ -1188,18 +1188,18 @@ function StudentAuswahl()
|
||||
zgvort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvort" ));
|
||||
zgvnation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvnation" ));
|
||||
zgvdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdatum" ));
|
||||
zgv_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgv_erfuellt" ));
|
||||
zgv_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgv_erfuellt" ));
|
||||
zgvmaster_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmas_code" ));
|
||||
zgvmasterort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmaort" ));
|
||||
zgvmasternation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmanation" ));
|
||||
zgvmasterdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmadatum" ));
|
||||
zgvmasterdatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmadatum" ));
|
||||
zgvmas_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvmas_erfuellt" ));
|
||||
zgvdoktor_code = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktor_code" ));
|
||||
zgvdoktorort = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktorort" ));
|
||||
zgvdoktornation = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktornation" ));
|
||||
zgvdoktordatum = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktordatum" ));
|
||||
zgvdoktor_erfuellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zgvdoktor_erfuellt" ));
|
||||
|
||||
|
||||
aufnahmeschluessel = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#aufnahmeschluessel" ));
|
||||
facheinschlberuf = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#facheinschlberuf" ));
|
||||
bismelden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#bismelden" ));
|
||||
@@ -1221,7 +1221,7 @@ function StudentAuswahl()
|
||||
if(zgv_erfuellt=='t')
|
||||
document.getElementById('student-prestudent-checkbox-zgverfuellt').checked=true;
|
||||
else
|
||||
document.getElementById('student-prestudent-checkbox-zgverfuellt').checked=false;
|
||||
document.getElementById('student-prestudent-checkbox-zgverfuellt').checked=false;
|
||||
document.getElementById('student-prestudent-menulist-zgvmastercode').value=zgvmaster_code;
|
||||
document.getElementById('student-prestudent-textbox-zgvmasterort').value=zgvmasterort;
|
||||
MenulistSelectItemOnValue('student-prestudent-menulist-zgvmasternation', zgvmasternation);
|
||||
@@ -1229,7 +1229,7 @@ function StudentAuswahl()
|
||||
if(zgvmas_erfuellt=='t')
|
||||
document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').checked=true;
|
||||
else
|
||||
document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').checked=false;
|
||||
document.getElementById('student-prestudent-checkbox-zgvmaserfuellt').checked=false;
|
||||
document.getElementById('student-prestudent-menulist-zgvdoktorcode').value=zgvdoktor_code;
|
||||
document.getElementById('student-prestudent-textbox-zgvdoktorort').value=zgvdoktorort;
|
||||
MenulistSelectItemOnValue('student-prestudent-menulist-zgvdoktornation', zgvdoktornation);
|
||||
@@ -1598,7 +1598,7 @@ function StudentAuswahl()
|
||||
}
|
||||
|
||||
// ***** KONTAKTE *****
|
||||
document.getElementById('student-kontakt').setAttribute('src','kontakt.xul.php?person_id='+person_id);
|
||||
document.getElementById('student-kontakt').setAttribute('src','kontakt.xul.php?person_id='+person_id+'&'+gettimestamp());
|
||||
|
||||
// ***** Betriebsmittel *****
|
||||
document.getElementById('student-betriebsmittel').setAttribute('src','betriebsmitteloverlay.xul.php?person_id='+person_id+'&uid='+uid);
|
||||
@@ -1773,7 +1773,7 @@ function StudentPrestudentDisableFields(val)
|
||||
document.getElementById('student-prestudent-textbox-zgvort').disabled=val;
|
||||
document.getElementById('student-prestudent-menulist-zgvnation').disabled=val;
|
||||
document.getElementById('student-prestudent-textbox-zgvdatum').disabled=val;
|
||||
document.getElementById('student-prestudent-checkbox-zgverfuellt').disabled=val;
|
||||
document.getElementById('student-prestudent-checkbox-zgverfuellt').disabled=val;
|
||||
document.getElementById('student-prestudent-menulist-zgvmastercode').disabled=val;
|
||||
document.getElementById('student-prestudent-textbox-zgvmasterort').disabled=val;
|
||||
document.getElementById('student-prestudent-menulist-zgvmasternation').disabled=val;
|
||||
@@ -1784,7 +1784,7 @@ function StudentPrestudentDisableFields(val)
|
||||
document.getElementById('student-prestudent-menulist-zgvdoktornation').disabled=val;
|
||||
document.getElementById('student-prestudent-textbox-zgvdoktordatum').disabled=val;
|
||||
document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').disabled=val;
|
||||
|
||||
|
||||
document.getElementById('student-prestudent-menulist-aufnahmeschluessel').disabled=val;
|
||||
document.getElementById('student-prestudent-checkbox-facheinschlberuf').disabled=val;
|
||||
document.getElementById('student-prestudent-checkbox-bismelden').disabled=val;
|
||||
@@ -1852,7 +1852,7 @@ function StudentPrestudentSave()
|
||||
zgvort = document.getElementById('student-prestudent-textbox-zgvort').value;
|
||||
zgvnation = document.getElementById('student-prestudent-menulist-zgvnation').value;
|
||||
zgvdatum = document.getElementById('student-prestudent-textbox-zgvdatum').value;
|
||||
zgv_erfuellt = document.getElementById('student-prestudent-checkbox-zgverfuellt').checked;
|
||||
zgv_erfuellt = document.getElementById('student-prestudent-checkbox-zgverfuellt').checked;
|
||||
zgvmaster_code = document.getElementById('student-prestudent-menulist-zgvmastercode').value;
|
||||
zgvmasterort = document.getElementById('student-prestudent-textbox-zgvmasterort').value;
|
||||
zgvmasternation = document.getElementById('student-prestudent-menulist-zgvmasternation').value;
|
||||
@@ -1863,7 +1863,7 @@ function StudentPrestudentSave()
|
||||
zgvdoktornation = document.getElementById('student-prestudent-menulist-zgvdoktornation').value;
|
||||
zgvdoktordatum = document.getElementById('student-prestudent-textbox-zgvdoktordatum').value;
|
||||
zgvdoktor_erfuellt = document.getElementById('student-prestudent-checkbox-zgvdoktorerfuellt').checked;
|
||||
|
||||
|
||||
aufnahmeschluessel = document.getElementById('student-prestudent-menulist-aufnahmeschluessel').value;
|
||||
facheinschlberuf = document.getElementById('student-prestudent-checkbox-facheinschlberuf').checked;
|
||||
bismelden = document.getElementById('student-prestudent-checkbox-bismelden').checked;
|
||||
@@ -1912,7 +1912,7 @@ function StudentPrestudentSave()
|
||||
req.add('zgvort', zgvort);
|
||||
req.add('zgvnation', zgvnation);
|
||||
req.add('zgvdatum', ConvertDateToISO(zgvdatum));
|
||||
req.add('zgv_erfuellt', zgv_erfuellt);
|
||||
req.add('zgv_erfuellt', zgv_erfuellt);
|
||||
req.add('zgvmas_code', zgvmaster_code);
|
||||
req.add('zgvmaort', zgvmasterort);
|
||||
req.add('zgvmanation', zgvmasternation);
|
||||
@@ -1923,7 +1923,7 @@ function StudentPrestudentSave()
|
||||
req.add('zgvdoktornation', zgvdoktornation);
|
||||
req.add('zgvdoktordatum', ConvertDateToISO(zgvdoktordatum));
|
||||
req.add('zgvdoktor_erfuellt', zgvdoktor_erfuellt);
|
||||
|
||||
|
||||
req.add('aufnahmeschluessel', aufnahmeschluessel);
|
||||
req.add('facheinschlberuf', facheinschlberuf);
|
||||
req.add('bismelden', bismelden);
|
||||
@@ -2680,10 +2680,10 @@ function StudentKontoFilter()
|
||||
// ****
|
||||
// * Generiert eine student.rdf URI
|
||||
// ****
|
||||
function buildStudentRDFURI(queryparams, tree)
|
||||
function buildStudentRDFURI(queryparams, tree)
|
||||
{
|
||||
var baseurl = "<?php echo APP_ROOT; ?>rdf/student.rdf.php";
|
||||
if ( typeof tree !== "undefined" )
|
||||
if ( typeof tree !== "undefined" )
|
||||
{
|
||||
var col = tree.columns ? tree.columns["tree-verband-col-orgform"] : "tree-verband-col-orgform";
|
||||
queryparams.orgform = tree.view.getCellText(tree.currentIndex,col);
|
||||
@@ -2694,19 +2694,19 @@ function buildStudentRDFURI(queryparams, tree)
|
||||
// ****
|
||||
// * Generiert aus einer BasisURL und einem Dictionary von Parametern eine URI
|
||||
// ****
|
||||
function _buildURI(baseurl, queryparams)
|
||||
function _buildURI(baseurl, queryparams)
|
||||
{
|
||||
var str = [];
|
||||
var url = baseurl;
|
||||
for (var p in queryparams)
|
||||
for (var p in queryparams)
|
||||
{
|
||||
if ( queryparams.hasOwnProperty(p) && queryparams[p].length > 0 )
|
||||
if ( queryparams.hasOwnProperty(p) && queryparams[p].length > 0 )
|
||||
{
|
||||
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(queryparams[p]));
|
||||
}
|
||||
}
|
||||
var querystring = str.join("&");
|
||||
if ( querystring.length > 0 )
|
||||
if ( querystring.length > 0 )
|
||||
{
|
||||
url = url + '?' + querystring + '&' + gettimestamp();
|
||||
}
|
||||
@@ -2741,12 +2741,12 @@ function StudentKontoFilterStudenten(filter)
|
||||
var gruppe = getTreeCellText(tree, 'gruppe', tree.currentIndex);
|
||||
var typ = getTreeCellText(tree, 'typ', tree.currentIndex);
|
||||
var stsem = getTreeCellText(tree, 'stsem', tree.currentIndex);
|
||||
|
||||
|
||||
if(stsem=='')
|
||||
stsem = getStudiensemester();
|
||||
if(typ=='')
|
||||
typ='student';
|
||||
|
||||
|
||||
var url = buildStudentRDFURI({
|
||||
'studiengang_kz': stg_kz,
|
||||
'semester': sem,
|
||||
@@ -2758,9 +2758,9 @@ function StudentKontoFilterStudenten(filter)
|
||||
'filter2': filter,
|
||||
'buchungstyp': buchungstyp
|
||||
}, tree);
|
||||
|
||||
|
||||
console.log(url);
|
||||
|
||||
|
||||
var treeStudent=document.getElementById('student-tree');
|
||||
|
||||
try
|
||||
@@ -2831,7 +2831,7 @@ function StudentKontoFilterBuchungstyp()
|
||||
'typ': typ,
|
||||
'filter2': 'buchungstyp;' + filter
|
||||
}, tree);
|
||||
|
||||
|
||||
var treeStudent=document.getElementById('student-tree');
|
||||
|
||||
try
|
||||
@@ -3098,7 +3098,7 @@ function StudentKontoNeuSpeichern(dialog, person_ids, studiengang_kz)
|
||||
if(!confirm('Die Buchung ist bereits vorhanden. Trotzdem fortfahren?'))
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
req.add('type', 'neuebuchung');
|
||||
|
||||
req.add('person_ids', person_ids);
|
||||
@@ -3149,7 +3149,7 @@ function StudentCheckBuchung(person_ids, studiensemester_kurzbz, buchungstyp_kur
|
||||
var response = req.executePOST();
|
||||
|
||||
var val = new ParseReturnValue(response);
|
||||
|
||||
|
||||
return(val.dbdml_return);
|
||||
}
|
||||
|
||||
@@ -5653,7 +5653,7 @@ function StudentSuche()
|
||||
var url = buildStudentRDFURI({
|
||||
'filter': filter
|
||||
});
|
||||
|
||||
|
||||
var treeStudent=document.getElementById('student-tree');
|
||||
|
||||
try
|
||||
|
||||
@@ -492,7 +492,7 @@ $is_hidden = (!defined('FAS_STUDIERENDE_PROJEKTARBEIT_VERTRAGSDETAILS_ANZEIGEN')
|
||||
</template>
|
||||
</menulist>
|
||||
</row>
|
||||
<row>
|
||||
<row id="student-projektbetreuer-textbox-punkte-row">
|
||||
<label value="Punkte" control="student-projektbetreuer-textbox-punkte"/>
|
||||
<textbox id="student-projektbetreuer-textbox-punkte" disabled="true" maxlength="6"/>
|
||||
</row>
|
||||
|
||||
@@ -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
|
||||
// ****
|
||||
|
||||
@@ -469,5 +469,39 @@ class projektarbeit extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prüft ob Projektarbeit aktuell ist (ab bestimmtem Semester).
|
||||
* @param $projektarbeit_id
|
||||
* @return int -1 wenn Fehler, 0 wenn nicht aktuell, 1 wenn aktuell
|
||||
*/
|
||||
public function projektarbeitIsCurrent($projektarbeit_id)
|
||||
{
|
||||
// paarbeit sollte nur ab einem Studiensemester online bewertet werden
|
||||
$qry="SELECT 1
|
||||
FROM lehre.tbl_projektarbeit
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE projektarbeit_id=".$this->db_add_param($projektarbeit_id, FHC_INTEGER)."
|
||||
AND tbl_studiensemester.start::date >= (SELECT start FROM public.tbl_studiensemester WHERE studiensemester_kurzbz = 'SS2022')::date
|
||||
LIMIT 1";
|
||||
|
||||
$result_sem=$this->db_query($qry);
|
||||
|
||||
if (!$result_sem)
|
||||
{
|
||||
$this->errormsg = "Fehler beim Ermitteln der Projektarbeit Aktualität";
|
||||
return -1;
|
||||
}
|
||||
|
||||
$num_rows = $this->db_num_rows($result_sem);
|
||||
|
||||
if ($num_rows < 0)
|
||||
{
|
||||
$this->errormsg = "Fehler beim Ermitteln der Anzahl der aktuellen Projektarbeiten";
|
||||
}
|
||||
|
||||
return $num_rows;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
$this->phrasen['abgabetool/abgabetool']='Abgabetool';
|
||||
$this->phrasen['abgabetool/aeltereParbeitBenoten']='Projektarbeit für älteres Semester, bitte Word-Formular zur Benotung verwenden!';
|
||||
$this->phrasen['abgabetool/keinEnduploadErfolgt']='Endupload ist noch nicht erfolgt';
|
||||
$this->phrasen['abgabetool/typ']='Typ';
|
||||
$this->phrasen['abgabetool/titel']='Titel';
|
||||
$this->phrasen['abgabetool/betreuerart']='Betreuerart';
|
||||
@@ -89,4 +90,5 @@ $this->phrasen['abgabetool/zweitBegutachterEmailFehlt']='keine Zustellmail für
|
||||
$this->phrasen['abgabetool/projektbeurteilungDownload']='Projektbeurteilung herunterladen';
|
||||
$this->phrasen['abgabetool/projektbeurteilungErstDownload']='Erst-/Begutachter';
|
||||
$this->phrasen['abgabetool/projektbeurteilungZweitDownload']='Zweitbegutachter';
|
||||
$this->phrasen['abgabetool/fehlerErmittelnEndabgabeProjektarbeit']='Fehler beim Ermitteln des Enduplaods der Projektarbeit';
|
||||
?>
|
||||
|
||||
@@ -61,7 +61,7 @@ $this->phrasen['testtool/einfuehrungsText']='
|
||||
<h1 style="white-space: normal">Herzlich Willkommen zum Reihungstest</h1>
|
||||
<a href="'.APP_ROOT.'cms/dms.php?id=142964" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=142976" alt="Einfuehrungsvideo" style="border: 1px solid lightgray; border-radius: 10px; width:350px;"></a>
|
||||
<br><br>
|
||||
<a href="'.APP_ROOT.'cms/dms.php?id=143926" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1"> <b>Bachelor</b>-Leitfaden zum Ablauf des Reihungstests</a><br>
|
||||
<a href="'.APP_ROOT.'cms/dms.php?id=207694" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1"> <b>Bachelor</b>-Leitfaden zum Ablauf des Reihungstests</a><br>
|
||||
<a href="'.APP_ROOT.'cms/dms.php?id=143928" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1"> <b>Master</b>-Leitfaden zum Ablauf des Reihungstests</a>
|
||||
<br><br>
|
||||
Unter dem folgenden Link können Sie die korrekte Darstellung des Reihungstests testen:<br><br>
|
||||
@@ -71,7 +71,7 @@ $this->phrasen['testtool/einfuehrungsText']='
|
||||
<h1 style="white-space: normal">Welcome to the placement test</h1>
|
||||
<a href="'.APP_ROOT.'cms/dms.php?id=145596" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=142977" alt="Einfuehrungsvideo" style="border: 1px solid lightgray; border-radius: 10px; width:350px;"></a>
|
||||
<br><br>
|
||||
<a href="'.APP_ROOT.'cms/dms.php?id=143927" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1"> <b>Bachelor</b>-Guideline for placement test</a><br>
|
||||
<a href="'.APP_ROOT.'cms/dms.php?id=207696" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1"> <b>Bachelor</b>-Guideline for placement test</a><br>
|
||||
<a href="'.APP_ROOT.'cms/dms.php?id=143930" target="_blank"><img src="'.APP_ROOT.'cms/dms.php?id=46&version=1"> <b>Master</b>-Guideline for placement test</a>
|
||||
<br><br>
|
||||
Under the following link you can test the correct display of the placement test:<br><br>
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
$this->phrasen['abgabetool/abgabetool']='Submission tool';
|
||||
$this->phrasen['abgabetool/aeltereParbeitBenoten']='Thesis handed in for older semester, please use word form for assessment!';
|
||||
$this->phrasen['abgabetool/keinEnduploadErfolgt']='Final version not uploaded yet';
|
||||
$this->phrasen['abgabetool/typ']='Type';
|
||||
$this->phrasen['abgabetool/titel']='Title';
|
||||
$this->phrasen['abgabetool/betreuerart']='Supervisor type';
|
||||
@@ -89,4 +90,5 @@ $this->phrasen['abgabetool/zweitBegutachterEmailFehlt']='Second assessor has no
|
||||
$this->phrasen['abgabetool/projektbeurteilungDownload']='Thesis-Assessment download';
|
||||
$this->phrasen['abgabetool/projektbeurteilungErstDownload']='First-/Assessor';
|
||||
$this->phrasen['abgabetool/projektbeurteilungZweitDownload']='Second Assessor';
|
||||
$this->phrasen['abgabetool/fehlerErmittelnEndabgabeProjektarbeit']='Error when getting endupload of project work';
|
||||
?>
|
||||
|
||||
@@ -3418,6 +3418,20 @@ if ($result = @$db->db_query("SELECT 1 FROM public.tbl_variablenname WHERE name
|
||||
}
|
||||
}
|
||||
|
||||
// Add new name type in public.tbl_variablenname
|
||||
if ($result = @$db->db_query("SELECT 1 FROM public.tbl_variablenname WHERE name = 'projektuebersicht_studiensemester';"))
|
||||
{
|
||||
if ($db->db_num_rows($result) == 0)
|
||||
{
|
||||
$qry = "INSERT INTO public.tbl_variablenname(name, defaultwert) VALUES('projektuebersicht_studiensemester', null);";
|
||||
|
||||
if (!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_variablenname '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'public.tbl_variablenname: Added name "projektuebersicht_studiensemester"<br>';
|
||||
}
|
||||
}
|
||||
|
||||
// Add column projektphase_id to tbl_zeitaufzeichnung
|
||||
if(!$result = @$db->db_query("SELECT projektphase_id FROM campus.tbl_zeitaufzeichnung LIMIT 1"))
|
||||
{
|
||||
@@ -5940,6 +5954,7 @@ if ($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_tbl_zeita
|
||||
echo 'Index fuer campus.tbl_zeitaufzeichnung.uid hinzugefuegt<br>';
|
||||
}
|
||||
}
|
||||
|
||||
// Change size of wawi.tbl_kostenstelle.kostenstelle_nr from character varying(4) to character varying(6)
|
||||
if ($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA='wawi' AND TABLE_NAME='tbl_kostenstelle' AND COLUMN_NAME = 'kostenstelle_nr' AND character_maximum_length < 6"))
|
||||
{
|
||||
|
||||
@@ -1011,6 +1011,33 @@ $filters = array(
|
||||
',
|
||||
'oe_kurzbz' => null,
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'dataset_name' => 'projektuebersicht',
|
||||
'filter_kurzbz' => 'alleProjekte',
|
||||
'description' => '{Projektübersicht}',
|
||||
'sort' => 1,
|
||||
'default_filter' => true,
|
||||
'filter' => '
|
||||
{
|
||||
"name": "Projektübersicht",
|
||||
"columns": [
|
||||
{"name": "ProjectWorkID"},
|
||||
{"name": "ErstNachname"},
|
||||
{"name": "ErstAbgeschickt"},
|
||||
{"name": "ZweitNachname"},
|
||||
{"name": "ZweitAbgeschickt"},
|
||||
{"name": "StudentNachname"},
|
||||
{"name": "Note"},
|
||||
{"name": "Abgabedatum"},
|
||||
{"name": "Studiengang"},
|
||||
{"name": "Kommissionsmitglieder"}
|
||||
],
|
||||
"filters": []
|
||||
}
|
||||
',
|
||||
'oe_kurzbz' => null,
|
||||
),
|
||||
array(
|
||||
'app' => 'dvuh',
|
||||
'dataset_name' => 'storno',
|
||||
|
||||
+598
-41
@@ -8715,18 +8715,58 @@ Any unusual occurrences
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'plagiatscheckUnauffaellig',
|
||||
'phrase' => 'titelDerArbeit',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Der Plagiatscheck ist unauffällig.',
|
||||
'text' => 'Titel',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The plagiarism check reveals nothing of note.',
|
||||
'text' => 'Title of ',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'plagiatscheckBeschreibung',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Der Plagiatscheck wurde durchgeführt und bestätigt, dass der zentrale Inhalt der Arbeit im erforderlichen Ausmaß eigenständig verfasst wurde (vgl. Satzungsteil Studienrechtliche Bestimmungen / Prüfungsordnung, § 18 Abs. 2 und 3).',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The plagiarism check has been carried out and confirms that the central content of the paper has been written independently to the required extent (cf. part of the Statutes on Studies Act Provisions / Examination Regulations, § 18 Para. 2 and 3).',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'plagiatscheckBeschreibungMaster',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Der Plagiatscheck wurde durchgeführt und bestätigt, dass der zentrale Inhalt der Arbeit im erforderlichen Ausmaß eigenständig verfasst wurde (vgl. Satzungsteil Studienrechtliche Bestimmungen / Prüfungsordnung, § 18 Abs. 2 und 3).',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The plagiarism check has been carried out and confirms that the central content of the thesis has been written independently to the required extent (cf. part of the Statutes on Studies Act Provisions / Examination Regulations, § 18 Para. 2 and 3).',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
@@ -8826,7 +8866,7 @@ Any unusual occurrences
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The subject was handled in a suitable manner for a master thesis (well-structured, meaningful research questions or tasks, etc.)',
|
||||
'text' => 'The subject was handled in a suitable manner for a Master\'s thesis (well-structured, meaningful research questions or tasks, etc.)',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
@@ -8860,13 +8900,13 @@ Any unusual occurrences
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Der Lösungsansatz ist dem Stand der Technik entsprechend argumentiert und zeigt ein adäquates Problemverständnis.',
|
||||
'text' => 'Der Lösungsansatz ist für das Thema geeignet und entspricht dem Stand der Technik.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The approach to the solution is argued according to the state of the art and shows an adequate understanding of the problem.',
|
||||
'text' => 'The approach to the solution is suitable for the topic and corresponds to the state of the art.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
@@ -8900,13 +8940,33 @@ Any unusual occurrences
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Die methodische Vorgangsweise ist in Bezug auf die Ausrichtung der Arbeit (technisch-ingenieurwissenschaftlich, sozial-wirtschaftswissenschaftlich…) angemessen, gut begründet und wird korrekt umgesetzt.',
|
||||
'text' => 'Das Vorgehen ist in Bezug auf die fachspezifische Ausrichtung der Arbeit angemessen, anhand der Fachliteratur begründet und korrekt umgesetzt.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The methodological approach is appropriate, well-founded and correctly implemented in relation to the orientation of the work (technical-engineering, socio-economic…).',
|
||||
'text' => 'The procedure is appropriate in relation to the subject-specific orientation of the paper, justified on the basis of the specialist literature and correctly implemented.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'methodeTextMaster',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Das Vorgehen ist in Bezug auf die fachspezifische Ausrichtung der Arbeit angemessen, anhand der Fachliteratur begründet und korrekt umgesetzt.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The procedure is appropriate in relation to the subject-specific orientation of the thesis, justified on the basis of the specialist literature and correctly implemented.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
@@ -8940,33 +9000,13 @@ Any unusual occurrences
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Die Frage- bzw. Aufgabenstellungen wurden zielführend beantwortet; die Ergebnisse werden diskutiert.',
|
||||
'text' => 'Die Ergebnisse werden im Lichte der Fragestellung interpretiert und kritisch diskutiert im Hinblick auf ihren Mehrwert für Forschung und/oder Berufspraxis. Visualisierungen unterstützen die Argumentation.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The research questions or the tasks were answered in a manner appropriate with the objectives; the results are discussed.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'ereignisseDiskussionTextMaster',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Die Forschungsfrage(n) wurde(n) zielführend beantwortet; die Ergebnisse werden kritisch diskutiert und liefern einen Mehrwert für Forschung und/oder Berufspraxis.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The research question(s) was (were) answered in a manner appropriate with the objectives; the results are examined critically and provide added value for research and / or professional practice.',
|
||||
'text' => 'The results are interpreted in the light of the research question and critically discussed with regard to their added value for research and/or professional practice. Visualisations support the argumentation.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
@@ -8997,6 +9037,26 @@ Any unusual occurrences
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'eigenstaendigkeitText',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Die Arbeit wurde in selbständiger Arbeitsweise (z.B. eigenständige Lösung der Fragestellungen und aufgetretener Probleme) verfasst.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The paper was written in an independent way (e.g. independent solutions to the questions and problems that occurred)',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'eigenstaendigkeitTextMaster',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
@@ -9040,13 +9100,33 @@ Any unusual occurrences
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Die Arbeit ist schlüssig aufgebaut und gut strukturiert.',
|
||||
'text' => 'Die Arbeit ist schlüssig strukturiert.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The thesis is coherently arranged and well structured.',
|
||||
'text' => 'The paper is structured coherently.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'strukturTextMaster',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Die Arbeit ist schlüssig strukturiert.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The thesis is structured coherently.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
@@ -9080,13 +9160,13 @@ Any unusual occurrences
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Der Stil entspricht einer wissenschaftlichen Arbeit. Die Arbeit ist flüssig lesbar und weist eine klare, eindeutige und gendergerechte Sprache auf.',
|
||||
'text' => 'Rechtschreibung und Grammatik sind korrekt. Die Verwendung von Fachsprache ist angemessen. Die Anforderungen an gendergerechte Sprache sind nach den geltenden Richtlinien umgesetzt.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The style is suitable for a piece of scientific work. The thesis is easy to read and has a clear, unambiguous and gender-appropriate language.',
|
||||
'text' => 'Spelling and grammar are correct. The use of technical language is appropriate. The requirements for gender-appropriate language are implemented according to the applicable guidelines.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
@@ -9160,13 +9240,33 @@ Any unusual occurrences
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Die verwendeten Quellen sind passend, aktuell und werden ausreichend variiert.',
|
||||
'text' => 'Quellen und Literatur sind für die wissenschaftliche Auseinandersetzung mit dem Thema der Arbeit relevant, geben den aktuellen Stand der Forschung wieder und decken das Thema ab.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'The sources used are appropriate, current and sufficiently varied.',
|
||||
'text' => 'Sources and literature are relevant for the scientific discussion of the topic of the paper, reflect the current state of the art and cover the topic.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'literaturTextMaster',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Quellen und Literatur sind für die wissenschaftliche Auseinandersetzung mit dem Thema der Arbeit relevant, geben den aktuellen Stand der Forschung wieder und decken das Thema ab.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Sources and literature are relevant for the scientific discussion of the topic of the thesis, reflect the current state of the art and cover the topic.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
@@ -9380,13 +9480,33 @@ Any unusual occurrences
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Liegt die Punkteanzahl bei den Kriterien "1 - 5" oder "6 - 10" in Summe unter 50%%, ist die %s insgesamt als negativ zu beurteilen.',
|
||||
'text' => 'Liegt die Punkteanzahl bei den Kriterien "1 - 5" oder "6 - 10" in Summe unter 50%, ist die {0} insgesamt als negativ zu beurteilen.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'If the number of points for the criteria "1 - 5" or "6 - 10" is below 50%% in total, the %s is to be assessed as negative overall.',
|
||||
'text' => 'If the number of points for the criteria "1 - 5" or "6 - 10" is below 50% in total, the {0} is to be assessed as negative overall.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'notenschluesselHinweisNullPunkteEinKriterium',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Falls ein Kriterium mit 0 Punkten bewertet wird, ist die {0} insgesamt als negativ zu beurteilen.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'If a criterion is assessed with 0 points, the {0} is to be assessed as negative overall.',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
@@ -9580,13 +9700,13 @@ Any unusual occurrences
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Ist die Arbeit gut strukturiert?',
|
||||
'text' => 'Ist die Arbeit schlüssig strukturiert?',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Is the thesis well structured?',
|
||||
'text' => 'Is the thesis structured coherently?',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
@@ -9606,7 +9726,7 @@ Any unusual occurrences
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 's the structure understandable in terms of content and is it coherent in relation to the topic ("red thread")?',
|
||||
'text' => 'Is the structure understandable in terms of content and is it coherent in relation to the topic ("red thread")?',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
@@ -9812,6 +9932,443 @@ Any unusual occurrences
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'projektarbeitsbeurteilungUebersicht',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Projektarbeitsbeurteilungsübersicht',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Projekt Work Assessment Overview',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'abgabedatum',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Abgabe - Datum',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Upload - Date',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'freischaltung',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Freischaltung',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Activation',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'resendToken',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Token an Zweit-Begutachter*in senden',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Send token to Second Assessor',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'freischalten',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Freischalten',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Unlock',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'kommissionellePruefungHinweis',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Dies ist eine im Rahmen einer kommissionellen Wiederholungsprüfung vorgelegte Bachelorarbeit. Die Beurteilung erfolgt erst im Anschluss an eine Abstimmung der Mitglieder des Prüfungssenats.',
|
||||
'description' => '',
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'This is a Bachelor\'s thesis submitted within the frame of a committee re-sit examination. The assessment only takes place after a vote of the members of the examination commission.',
|
||||
'description' => '',
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'kommissionMailSenden',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Infomail an Mitglieder des Prüfungssenats senden',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Send infomail to members of the examination committee',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'kommissionMailGesendet',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Mail an Mitglieder des Prüfungssenats gesendet',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Sent mail to members of the examination committee',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'kommissionMailFehler',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Fehler beim Senden der Mail an Prüfungssenat',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Error when sending mail to commission members',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'zweitbetreuerBewertungFehlt',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Absenden erst nach Abschluss der Bewertung durch Zweitbegutachter*in möglich',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Sending only possible after completion of assessment by Second Assessor',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'nichtErfuellt',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'nicht erfüllt',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'not fulfilled',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'mindestanforderungErfuellt',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Mindestanforderung erfüllt',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'minimum requirement fulfilled',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'inWeitenTeilenErfuellt',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'in weiten Teilen erfüllt',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'fulfilled for the most part',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'vollstaendigErfuellt',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'vollständig erfüllt',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'fully fulfilled',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'kommissionsmitglieder',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Mitglieder Prüfungssenat',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Members of the examination commission',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'plagiatscheckNichtGesetzt',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Plagiatscheck auffällig, negative Beurteilung',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Plagiarism check not passed, negative assessment',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'titelBearbeiten',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Titel bearbeiten',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Edit title',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'titelGespeichert',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Titel gespeichert',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Title saved',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'titelSpeichernFehler',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Fehler beim Speichern des Titels',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Error when saving title',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'plagiatscheckHinweisNegativeBeurteilung',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => '(Bei Plagiat wird die Arbeit negativ bewertet.)',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => '(Plagiarism leads to a negative grade.)',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'plagiatscheck',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Plagiatscheck',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Plagiarism check',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'projektarbeitsbeurteilung',
|
||||
'category' => 'projektarbeitsbeurteilung',
|
||||
'phrase' => 'betreuernote',
|
||||
'insertvon' => 'system',
|
||||
'phrases' => array(
|
||||
array(
|
||||
'sprache' => 'German',
|
||||
'text' => 'Betreuernote',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
),
|
||||
array(
|
||||
'sprache' => 'English',
|
||||
'text' => 'Assessor grade',
|
||||
'description' => '',
|
||||
'insertvon' => 'system'
|
||||
)
|
||||
)
|
||||
),
|
||||
array(
|
||||
'app' => 'core',
|
||||
'category' => 'anrechnung',
|
||||
|
||||
@@ -58,6 +58,7 @@ else
|
||||
$datei='';
|
||||
$zaehl=0;
|
||||
$lehrgangsname = '';
|
||||
$standortcode = null;
|
||||
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_obj->load($ssem);
|
||||
@@ -158,16 +159,16 @@ if ($stg_kz == '')
|
||||
exit();
|
||||
}
|
||||
|
||||
// Standortcode
|
||||
if (defined('BIS_STANDORTCODE_LEHRGAENGE') && BIS_STANDORTCODE_LEHRGAENGE != '0')
|
||||
{
|
||||
$standortcode = BIS_STANDORTCODE_LEHRGAENGE;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "<H2>Standortcode für Lehrgänge fehlt.</H2>";
|
||||
exit;
|
||||
}
|
||||
// Standortcode - Obsolete da Standort nun aus DB geholt wird - auch kein Eintrag in vilesci.config->BIS_STANDORTCODE_LEHRGAENGE noetig
|
||||
#####if (defined('BIS_STANDORTCODE_LEHRGAENGE') && BIS_STANDORTCODE_LEHRGAENGE != '0')
|
||||
#####{
|
||||
##### $standortcode = BIS_STANDORTCODE_LEHRGAENGE;
|
||||
#####}
|
||||
#####else
|
||||
#####{
|
||||
##### echo "<H2>Standortcode für Lehrgänge fehlt.</H2>";
|
||||
##### exit;
|
||||
#####}
|
||||
|
||||
$datumobj=new datum();
|
||||
|
||||
@@ -178,6 +179,7 @@ if($result = $db->db_query($qry))
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$stgart=$row->typ;
|
||||
$standortcode = $row->standort_code;
|
||||
$lgartcode = $row->lgartcode;
|
||||
$qrylgart = "SELECT lgart_biscode FROM bis.tbl_lgartcode WHERE lgartcode=".$db->db_add_param($row->lgartcode);
|
||||
if($result_lgartcode = $db->db_query($qrylgart))
|
||||
|
||||
@@ -1269,7 +1269,7 @@ function GenerateXMLStudentBlock($row)
|
||||
}
|
||||
if($row_ap->sponsion=='' || $row_ap->sponsion==null)
|
||||
{
|
||||
$error_log.=(!empty($error_log)?', ':'')."Datum der Sponsion ('".$row_ap->sponsion."')";
|
||||
$error_log_hinweis.=(!empty($error_log_hinweis)?', ':'')."Datum der Sponsion ('".$row_ap->sponsion."')";
|
||||
}
|
||||
$ap++;
|
||||
}
|
||||
|
||||
@@ -1,475 +1,484 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger < christian.paminger@technikum-wien.at >
|
||||
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
|
||||
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
* Manfred Kindl < manfred.kindl@technikum-wien.at >
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../config/global.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/lehreinheit.class.php');
|
||||
require_once('../../include/lehreinheitmitarbeiter.class.php');
|
||||
require_once('../../include/lehreinheitgruppe.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/mitarbeiter.class.php');
|
||||
require_once('../../include/gruppe.class.php');
|
||||
require_once('../../include/bisverwendung.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
$user = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if (!$rechte->isBerechtigt('lehre/vorrueckung', null, 'suid'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->loadArray($rechte->getStgKz('lehre/vorrueckung'),'typ, kurzbz');
|
||||
|
||||
$stg_arr = array();
|
||||
|
||||
foreach ($stg_obj->result as $stg)
|
||||
{
|
||||
$stg_arr[$stg->studiengang_kz] = $stg->kuerzel;
|
||||
}
|
||||
|
||||
$studiengang_kz = (isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:'');
|
||||
$semester = (isset($_GET['semester'])?$_GET['semester']:'');
|
||||
$stsem_von = (isset($_GET['stsem_von'])?$_GET['stsem_von']:'');
|
||||
$stsem_nach = (isset($_GET['stsem_nach'])?$_GET['stsem_nach']:'');
|
||||
$text = '';
|
||||
$anzahl_lehreinheiten = 0;
|
||||
$anzahl_lehreinheitmitarbeiter = 0;
|
||||
$anzahl_lehreinheitgruppe = 0;
|
||||
$error_lehreinheit = 0;
|
||||
$error_lehreinheitmitarbeiter = 0;
|
||||
$error_lehreinheitgruppe = 0;
|
||||
|
||||
if ($stsem_von == '')
|
||||
{
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_von = $stsem_obj->getPrevious();
|
||||
}
|
||||
|
||||
if ($stsem_nach == '')
|
||||
{
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_obj->getNextStudiensemester();
|
||||
$stsem_nach = $stsem_obj->studiensemester_kurzbz;
|
||||
}
|
||||
|
||||
echo '<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Lehreinheit Vorrueckung</title>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
</head>
|
||||
<body style="background-color:#eeeeee;">
|
||||
<h2>Lehreinheiten Vorrückung</h2>
|
||||
';
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">';
|
||||
echo 'Studiengang: <SELECT name="studiengang_kz">';
|
||||
echo '<OPTION value="">---Stg auswählen---</OPTION>';
|
||||
foreach($stg_obj->result as $stg)
|
||||
{
|
||||
if ($studiengang_kz == $stg->studiengang_kz)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo '<OPTION value="'.$stg->studiengang_kz.'" '.$selected.'>'.$stg->kuerzel.' ('.$stg->kurzbzlang.')</OPTION>';
|
||||
}
|
||||
echo '</SELECT>';
|
||||
|
||||
echo ' Semester: <SELECT name="semester">';
|
||||
echo '<OPTION value="">-- Alle --</OPTION>';
|
||||
for ($i = 1;$i <= 10;$i++)
|
||||
{
|
||||
if ($semester == $i)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo '<OPTION value="'.$i.'" '.$selected.'>'.$i.'</OPTION>';
|
||||
}
|
||||
echo '</SELECT>';
|
||||
|
||||
echo ' Von: <SELECT name="stsem_von">';
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_obj->getAll();
|
||||
|
||||
foreach ($stsem_obj->studiensemester as $stsem)
|
||||
{
|
||||
if ($stsem_von == $stsem->studiensemester_kurzbz)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo '<OPTION value="'.$stsem->studiensemester_kurzbz.'" '.$selected.'>'.$stsem->studiensemester_kurzbz.'</OPTION>';
|
||||
}
|
||||
echo '</SELECT>';
|
||||
|
||||
echo ' Nach: <SELECT name="stsem_nach">';
|
||||
|
||||
foreach ($stsem_obj->studiensemester as $stsem)
|
||||
{
|
||||
if ($stsem_nach == $stsem->studiensemester_kurzbz)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo '<OPTION value="'.$stsem->studiensemester_kurzbz.'" '.$selected.'>'.$stsem->studiensemester_kurzbz.'</OPTION>';
|
||||
}
|
||||
|
||||
echo '</SELECT>';
|
||||
|
||||
echo ' <input type="submit" value="Vorrücken"><br>';
|
||||
|
||||
if (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
|
||||
&& is_numeric(VILESCI_STUNDENSATZ_VORRUECKUNG))
|
||||
{
|
||||
echo '<br><span style="color: blue">
|
||||
Alle Lehraufträge werden mit dem Stundensatz "'.VILESCI_STUNDENSATZ_VORRUECKUNG.'" vorgerückt
|
||||
</span>';
|
||||
}
|
||||
elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG == 'default')
|
||||
{
|
||||
echo '<br><span style="color: blue">
|
||||
Alle Lehraufträge werden mit dem aktuell hinterlegten Standard-Stundensatz der/des Lehrenden vorgerückt
|
||||
</span>';
|
||||
}
|
||||
elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG == 'nachbeschaeftigungsart')
|
||||
{
|
||||
echo '<br><span style="color: blue">
|
||||
Stundensätze werden abhängig von der Beschaeftigungsart aktualisiert.
|
||||
</span>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<br><span style="color: blue">
|
||||
Alle Lehraufträge werden mit dem Stundensatz des Vorjahres vorgerückt
|
||||
</span>';
|
||||
}
|
||||
|
||||
echo '</form>';
|
||||
|
||||
if ($studiengang_kz != '' && $stsem_von != '' && $stsem_nach != '')
|
||||
{
|
||||
$stg_obj = new studiengang();
|
||||
if (!$stg_obj->load($studiengang_kz))
|
||||
die('Studiengang kann nicht geladen werden');
|
||||
|
||||
if (!$rechte->isBerechtigt('lehre/vorrueckung', $stg_obj->oe_kurzbz, 'suid'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
echo '<br>Starte Vorrückung '.$stg_arr[$studiengang_kz]." $semester von $stsem_von nach $stsem_nach ...";
|
||||
|
||||
$qry = "SELECT tbl_lehreinheit.lehreinheit_id
|
||||
FROM
|
||||
lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz)." AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem_von);
|
||||
if ($semester != '')
|
||||
$qry .= " AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester);
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
$anzahl_von = $db->db_num_rows($result);
|
||||
}
|
||||
//Pruefen, ob schon eine Vorrueckung stattgefunden hat
|
||||
$qry_nach = "SELECT tbl_lehreinheit.lehreinheit_id
|
||||
FROM
|
||||
lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz)." AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem_nach);
|
||||
if ($semester != '')
|
||||
$qry_nach .= " AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester);
|
||||
|
||||
if ($result = $db->db_query($qry_nach))
|
||||
{
|
||||
$anzahl_nach = $db->db_num_rows($result);
|
||||
$baseurl = basename($_SERVER['REQUEST_URI']);
|
||||
if ($anzahl_nach >= $anzahl_von && !isset($_GET['continue']))
|
||||
{
|
||||
echo '<br><br><span style="color:red">Es sind schon Lehreinheiten fuer das
|
||||
'.$stsem_nach.' in '.$stg_arr[$studiengang_kz].' '.$semester.' vorhanden.
|
||||
Trotzdem fortsetzen?</span><br><br>
|
||||
<form action="'.$baseurl.'&continue" method="POST"><input type="submit" value="Fortsetzen"></form>';
|
||||
die ();
|
||||
}
|
||||
}
|
||||
|
||||
$stsem_nach_obj = new studiensemester();
|
||||
$stsem_nach_obj->load($stsem_nach);
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$text .= "<br>Lehreinheit $row->lehreinheit_id wird vorgerueckt";
|
||||
$le_obj = new lehreinheit();
|
||||
//Lehreinheit Neu Anlegen
|
||||
if ($le_obj->load($row->lehreinheit_id))
|
||||
{
|
||||
$le_obj->new = true;
|
||||
$le_obj->studiensemester_kurzbz = $stsem_nach;
|
||||
$le_obj->insertamum = date('Y-m-d H:i:s');
|
||||
$le_obj->insertvon = 'Vorrueckung_'.$user;
|
||||
$le_obj->ext_id = '';
|
||||
$le_obj->unr = '';
|
||||
|
||||
if ($le_obj->save())
|
||||
{
|
||||
$anzahl_lehreinheiten++;
|
||||
|
||||
//LehreinheitMitarbeiter Eintrag neu Anlengen
|
||||
$qry_lem = "SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id);
|
||||
|
||||
if ($result_lem = $db->db_query($qry_lem))
|
||||
{
|
||||
while ($row_lem = $db->db_fetch_object($result_lem))
|
||||
{
|
||||
$lem_obj = new lehreinheitmitarbeiter();
|
||||
if ($lem_obj->load($row->lehreinheit_id, $row_lem->mitarbeiter_uid))
|
||||
{
|
||||
// Pruefen ob der Lektor ueber die im Config festgelegte Stundengrenze
|
||||
// kommt und Meldung ausgeben
|
||||
$qry_stundengrenze="
|
||||
SELECT
|
||||
mitarbeiter_uid,fixangestellt,SUM(semesterstunden) AS summe, aktiv
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
|
||||
JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid)
|
||||
JOIN public.tbl_benutzer ON (uid=mitarbeiter_uid)
|
||||
WHERE
|
||||
mitarbeiter_uid=".$db->db_add_param($row_lem->mitarbeiter_uid)."
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem_von)."
|
||||
GROUP BY
|
||||
mitarbeiter_uid, fixangestellt, aktiv";
|
||||
|
||||
if ($result_stundengrenze = $db->db_query($qry_stundengrenze))
|
||||
{
|
||||
if ($row_stundengrenze = $db->db_fetch_object($result_stundengrenze))
|
||||
{
|
||||
if (!$db->db_parse_bool($row_stundengrenze->fixangestellt)
|
||||
&& $row_stundengrenze->summe > WARN_SEMESTERSTD_FREI)
|
||||
{
|
||||
$text .= " <span style='color:red'>
|
||||
Stundengrenze ".WARN_SEMESTERSTD_FREI." Stunden ueberschritten
|
||||
von $row_lem->mitarbeiter_uid</span>";
|
||||
}
|
||||
elseif ($db->db_parse_bool($row_stundengrenze->fixangestellt)
|
||||
&& $row_stundengrenze->summe > WARN_SEMESTERSTD_FIX)
|
||||
{
|
||||
$text .= " <span style='color:red'>
|
||||
Stundengrenze ".WARN_SEMESTERSTD_FIX." Stunden ueberschritten
|
||||
von $row_lem->mitarbeiter_uid</span>";
|
||||
}
|
||||
|
||||
// Meldung, wenn Benutzer inaktiv
|
||||
if ($db->db_parse_bool($row_stundengrenze->aktiv) == false)
|
||||
{
|
||||
$text .= "; <span style='color:orange'>Achtung! MitarbeiterIn
|
||||
<b>$row_lem->mitarbeiter_uid</b> ist nicht aktiv</span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
$lem_obj->lehreinheit_id = $le_obj->lehreinheit_id;
|
||||
$lem_obj->new = true;
|
||||
// Wenn VILESCI_STUNDENSATZ_VORRUECKUNG definiert ist,
|
||||
// wird nicht der Stundensatz des Vorjahres verwendet
|
||||
// Wenn VILESCI_STUNDENSATZ_VORRUECKUNG numerisch ist,
|
||||
// wird dieser Wert fuer den Stundensatz verwendet
|
||||
if (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
|
||||
&& is_numeric(VILESCI_STUNDENSATZ_VORRUECKUNG))
|
||||
{
|
||||
$lem_obj->stundensatz = VILESCI_STUNDENSATZ_VORRUECKUNG;
|
||||
}
|
||||
// Wenn VILESCI_STUNDENSATZ_VORRUECKUNG default ist,
|
||||
//wird der Standard-Stundensatz des jeweiligen Lektors geladen und gespeichert
|
||||
elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG == 'default')
|
||||
{
|
||||
$stundensatz = new mitarbeiter($row_lem->mitarbeiter_uid);
|
||||
$lem_obj->stundensatz = $stundensatz->stundensatz;
|
||||
}
|
||||
// Wenn VILESCI_STUNDENSATZ_VORRUECKUNG nachbeschaeftigungsart ist, wird
|
||||
// bei echten Dienstvertraegen mit voller inkludierter Lehre (-1) der Stundensatz auf null gesetzt
|
||||
// bei echten Dienstvertraegen mit teilweise oder nicht inkludierter Lehre der Default Stundensatz gesetzt
|
||||
// bei sonstigen Dienstvertraegen der Default Stundensatz gesetzt
|
||||
elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG == 'nachbeschaeftigungsart')
|
||||
{
|
||||
if ($lem_obj->stundensatz != '0')
|
||||
{
|
||||
$stundensatz = new mitarbeiter($row_lem->mitarbeiter_uid);
|
||||
$lem_obj->stundensatz = $stundensatz->stundensatz;
|
||||
|
||||
$bisverwendung = new bisverwendung();
|
||||
if(!$bisverwendung->getVerwendungRange($row_lem->mitarbeiter_uid, $stsem_nach_obj->start, $stsem_nach_obj->ende))
|
||||
{
|
||||
$bisverwendung->getLastAktVerwendung($row_lem->mitarbeiter_uid);
|
||||
$bisverwendung->result[] = $bisverwendung;
|
||||
}
|
||||
|
||||
foreach($bisverwendung->result as $row_verwendung)
|
||||
{
|
||||
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
|
||||
// geliefert da dies im Vertrag inkludiert ist.
|
||||
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
|
||||
{
|
||||
$lem_obj->stundensatz = '';
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$lem_obj->insertamum = date('Y-m-d H:i:s');
|
||||
$lem_obj->insertvon = 'Vorrueckung_'.$user;
|
||||
$lem_obj->ext_id = '';
|
||||
$lem_obj->vertrag_id = '';
|
||||
|
||||
if (!$lem_obj->save())
|
||||
{
|
||||
$error_lehreinheitmitarbeiter++;
|
||||
$text .= 'Fehler beim Anlegen des Lehreinheitmitarbeiter
|
||||
Eintrages: '.$lem_obj->errormsg;
|
||||
}
|
||||
else
|
||||
$anzahl_lehreinheitmitarbeiter++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$text .= 'Fehler beim Laden der Mitarbeiter';
|
||||
$error_lehreinheitmitarbeiter++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text .= 'Fehler beim Laden der Mitarbeiter '.$db->db_last_error();
|
||||
$error_lehreinheitmitarbeiter++;
|
||||
}
|
||||
|
||||
//LehreinheitGruppe Eintrag neu Anlegen
|
||||
$qry_leg = "
|
||||
SELECT
|
||||
lehreinheitgruppe_id
|
||||
FROM
|
||||
lehre.tbl_lehreinheitgruppe
|
||||
WHERE
|
||||
lehreinheit_id=".$db->db_add_param($row->lehreinheit_id)."
|
||||
AND NOT (tbl_lehreinheitgruppe.semester='0' AND tbl_lehreinheitgruppe.verband='I')";
|
||||
|
||||
if ($result_leg = $db->db_query($qry_leg))
|
||||
{
|
||||
while($row_leg = $db->db_fetch_object($result_leg))
|
||||
{
|
||||
$leg_obj = new lehreinheitgruppe();
|
||||
if ($leg_obj->load($row_leg->lehreinheitgruppe_id))
|
||||
{
|
||||
// Direktinskriptionsgruppen werden nicht vorgerückt
|
||||
if ($leg_obj->gruppe_kurzbz != '')
|
||||
{
|
||||
$grp = new gruppe();
|
||||
$grp->load($leg_obj->gruppe_kurzbz);
|
||||
if ($grp->direktinskription)
|
||||
continue;
|
||||
}
|
||||
|
||||
$leg_obj->lehreinheit_id = $le_obj->lehreinheit_id;
|
||||
$leg_obj->new = true;
|
||||
$leg_obj->insertamum = date('Y-m-d H:i:s');
|
||||
$leg_obj->insertvon = 'Vorrueckung_'.$user;
|
||||
$leg_obj->ext_id = '';
|
||||
|
||||
if (!$leg_obj->save())
|
||||
{
|
||||
$error_lehreinheitgruppe++;
|
||||
$text .= 'Fehler beim Anlegen des Lehreinheitgruppe Eintrages: '.$leg_obj->errormsg;
|
||||
}
|
||||
else
|
||||
$anzahl_lehreinheitgruppe++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$text .= 'Fehler beim Laden der Gruppe '.$leg_obj->errormsg.' '.$db->db_last_error();
|
||||
$error_lehreinheitgruppe++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text .= 'Fehler beim Auslesen der Gruppen';
|
||||
$error_lehreinheitgruppe++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_lehreinheit++;
|
||||
$text .= 'Fehler beim Speichern der Lehreinheit '.$le_obj->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_lehreinheit++;
|
||||
$text .= 'Fehler beim Laden der Lehreinheit '.$le_obj->errormsg;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text .= 'Fehler beim Laden der Lehreinheiten '.$db->db_last_error();
|
||||
$error_lehreinheit++;
|
||||
}
|
||||
|
||||
echo "<br><br>";
|
||||
echo "Vorgerueckte Lehreinheiten: $anzahl_lehreinheiten<br>";
|
||||
echo "Vorgerueckte LEMitarbeiter: $anzahl_lehreinheitmitarbeiter<br>";
|
||||
echo "Vorgerueckte LEGruppen: $anzahl_lehreinheitgruppe<br>";
|
||||
echo "Fehler bei Lehreinheiten: $error_lehreinheit<br>";
|
||||
echo "Fehler bei LEMitarbeiter: $error_lehreinheitmitarbeiter<br>";
|
||||
echo "Fehler bei LEGruppen: $error_lehreinheitmitarbeiter<br>";
|
||||
|
||||
echo '<br><br><hr>';
|
||||
echo $text;
|
||||
echo '<br><br><br><br><br><br><br><br>';
|
||||
}
|
||||
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Christian Paminger < christian.paminger@technikum-wien.at >
|
||||
* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at >
|
||||
* Rudolf Hangl < rudolf.hangl@technikum-wien.at >
|
||||
* Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at >
|
||||
* Manfred Kindl < manfred.kindl@technikum-wien.at >
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../config/global.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/lehreinheit.class.php');
|
||||
require_once('../../include/lehreinheitmitarbeiter.class.php');
|
||||
require_once('../../include/lehreinheitgruppe.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/mitarbeiter.class.php');
|
||||
require_once('../../include/gruppe.class.php');
|
||||
require_once('../../include/bisverwendung.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
$user = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
if (!$rechte->isBerechtigt('lehre/vorrueckung', null, 'suid'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->loadArray($rechte->getStgKz('lehre/vorrueckung'),'typ, kurzbz');
|
||||
|
||||
$stg_arr = array();
|
||||
|
||||
foreach ($stg_obj->result as $stg)
|
||||
{
|
||||
$stg_arr[$stg->studiengang_kz] = $stg->kuerzel;
|
||||
}
|
||||
|
||||
$studiengang_kz = (isset($_GET['studiengang_kz'])?$_GET['studiengang_kz']:'');
|
||||
$semester = (isset($_GET['semester'])?$_GET['semester']:'');
|
||||
$stsem_von = (isset($_GET['stsem_von'])?$_GET['stsem_von']:'');
|
||||
$stsem_nach = (isset($_GET['stsem_nach'])?$_GET['stsem_nach']:'');
|
||||
$text = '';
|
||||
$anzahl_lehreinheiten = 0;
|
||||
$anzahl_lehreinheitmitarbeiter = 0;
|
||||
$anzahl_lehreinheitgruppe = 0;
|
||||
$error_lehreinheit = 0;
|
||||
$error_lehreinheitmitarbeiter = 0;
|
||||
$error_lehreinheitgruppe = 0;
|
||||
|
||||
if ($stsem_von == '')
|
||||
{
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_von = $stsem_obj->getPrevious();
|
||||
}
|
||||
|
||||
if ($stsem_nach == '')
|
||||
{
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_obj->getNextStudiensemester();
|
||||
$stsem_nach = $stsem_obj->studiensemester_kurzbz;
|
||||
}
|
||||
|
||||
echo '<!DOCTYPE HTML>
|
||||
<html>
|
||||
<head>
|
||||
<title>Lehreinheit Vorrueckung</title>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
</head>
|
||||
<body style="background-color:#eeeeee;">
|
||||
<h2>Lehreinheiten Vorrückung</h2>
|
||||
';
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'" method="GET">';
|
||||
echo 'Studiengang: <SELECT name="studiengang_kz">';
|
||||
echo '<OPTION value="">---Stg auswählen---</OPTION>';
|
||||
$types = new studiengang();
|
||||
$types->getAllTypes();
|
||||
$typ = '';
|
||||
foreach($stg_obj->result as $row)
|
||||
{
|
||||
if ($typ != $row->typ || $typ == '')
|
||||
{
|
||||
if ($typ != '')
|
||||
echo '</optgroup>';
|
||||
echo '<optgroup label="'.($types->studiengang_typ_arr[$row->typ] != ''?$types->studiengang_typ_arr[$row->typ]:$row->typ).'">';
|
||||
}
|
||||
if($row->studiengang_kz == $studiengang_kz)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
echo '<option value="'.$row->studiengang_kz.'" '.$selected.'>'.$db->convert_html_chars($row->kuerzel.' - '.$row->bezeichnung).'</option>';
|
||||
$typ = $row->typ;
|
||||
}
|
||||
echo '</SELECT>';
|
||||
|
||||
echo ' Semester: <SELECT name="semester">';
|
||||
echo '<OPTION value="">-- Alle --</OPTION>';
|
||||
for ($i = 1;$i <= 10;$i++)
|
||||
{
|
||||
if ($semester == $i)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo '<OPTION value="'.$i.'" '.$selected.'>'.$i.'</OPTION>';
|
||||
}
|
||||
echo '</SELECT>';
|
||||
|
||||
echo ' Von: <SELECT name="stsem_von">';
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_obj->getAll();
|
||||
|
||||
foreach ($stsem_obj->studiensemester as $stsem)
|
||||
{
|
||||
if ($stsem_von == $stsem->studiensemester_kurzbz)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo '<OPTION value="'.$stsem->studiensemester_kurzbz.'" '.$selected.'>'.$stsem->studiensemester_kurzbz.'</OPTION>';
|
||||
}
|
||||
echo '</SELECT>';
|
||||
|
||||
echo ' Nach: <SELECT name="stsem_nach">';
|
||||
|
||||
foreach ($stsem_obj->studiensemester as $stsem)
|
||||
{
|
||||
if ($stsem_nach == $stsem->studiensemester_kurzbz)
|
||||
$selected = 'selected';
|
||||
else
|
||||
$selected = '';
|
||||
|
||||
echo '<OPTION value="'.$stsem->studiensemester_kurzbz.'" '.$selected.'>'.$stsem->studiensemester_kurzbz.'</OPTION>';
|
||||
}
|
||||
|
||||
echo '</SELECT>';
|
||||
|
||||
echo ' <input type="submit" value="Vorrücken"><br>';
|
||||
|
||||
if (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
|
||||
&& is_numeric(VILESCI_STUNDENSATZ_VORRUECKUNG))
|
||||
{
|
||||
echo '<br><span style="color: blue">
|
||||
Alle Lehraufträge werden mit dem Stundensatz "'.VILESCI_STUNDENSATZ_VORRUECKUNG.'" vorgerückt
|
||||
</span>';
|
||||
}
|
||||
elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG == 'default')
|
||||
{
|
||||
echo '<br><span style="color: blue">
|
||||
Alle Lehraufträge werden mit dem aktuell hinterlegten Standard-Stundensatz der/des Lehrenden vorgerückt
|
||||
</span>';
|
||||
}
|
||||
elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG == 'nachbeschaeftigungsart')
|
||||
{
|
||||
echo '<br><span style="color: blue">
|
||||
Stundensätze werden abhängig von der Beschaeftigungsart aktualisiert.
|
||||
</span>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<br><span style="color: blue">
|
||||
Alle Lehraufträge werden mit dem Stundensatz des Vorjahres vorgerückt
|
||||
</span>';
|
||||
}
|
||||
|
||||
echo '</form>';
|
||||
|
||||
if ($studiengang_kz != '' && $stsem_von != '' && $stsem_nach != '')
|
||||
{
|
||||
$stg_obj = new studiengang();
|
||||
if (!$stg_obj->load($studiengang_kz))
|
||||
die('Studiengang kann nicht geladen werden');
|
||||
|
||||
if (!$rechte->isBerechtigt('lehre/vorrueckung', $stg_obj->oe_kurzbz, 'suid'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
echo '<br>Starte Vorrückung '.$stg_arr[$studiengang_kz]." $semester von $stsem_von nach $stsem_nach ...";
|
||||
|
||||
$qry = "SELECT tbl_lehreinheit.lehreinheit_id
|
||||
FROM
|
||||
lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz)." AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem_von);
|
||||
if ($semester != '')
|
||||
$qry .= " AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester);
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
$anzahl_von = $db->db_num_rows($result);
|
||||
}
|
||||
//Pruefen, ob schon eine Vorrueckung stattgefunden hat
|
||||
$qry_nach = "SELECT tbl_lehreinheit.lehreinheit_id
|
||||
FROM
|
||||
lehre.tbl_lehreinheit JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id)
|
||||
WHERE
|
||||
tbl_lehrveranstaltung.studiengang_kz=".$db->db_add_param($studiengang_kz)." AND
|
||||
tbl_lehreinheit.studiensemester_kurzbz=".$db->db_add_param($stsem_nach);
|
||||
if ($semester != '')
|
||||
$qry_nach .= " AND tbl_lehrveranstaltung.semester=".$db->db_add_param($semester);
|
||||
|
||||
if ($result = $db->db_query($qry_nach))
|
||||
{
|
||||
$anzahl_nach = $db->db_num_rows($result);
|
||||
$baseurl = basename($_SERVER['REQUEST_URI']);
|
||||
if ($anzahl_nach >= $anzahl_von && !isset($_GET['continue']))
|
||||
{
|
||||
echo '<br><br><span style="color:red">Es sind schon Lehreinheiten fuer das
|
||||
'.$stsem_nach.' in '.$stg_arr[$studiengang_kz].' '.$semester.' vorhanden.
|
||||
Trotzdem fortsetzen?</span><br><br>
|
||||
<form action="'.$baseurl.'&continue" method="POST"><input type="submit" value="Fortsetzen"></form>';
|
||||
die ();
|
||||
}
|
||||
}
|
||||
|
||||
$stsem_nach_obj = new studiensemester();
|
||||
$stsem_nach_obj->load($stsem_nach);
|
||||
|
||||
if ($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$text .= "<br>Lehreinheit $row->lehreinheit_id wird vorgerueckt";
|
||||
$le_obj = new lehreinheit();
|
||||
//Lehreinheit Neu Anlegen
|
||||
if ($le_obj->load($row->lehreinheit_id))
|
||||
{
|
||||
$le_obj->new = true;
|
||||
$le_obj->studiensemester_kurzbz = $stsem_nach;
|
||||
$le_obj->insertamum = date('Y-m-d H:i:s');
|
||||
$le_obj->insertvon = 'Vorrueckung_'.$user;
|
||||
$le_obj->ext_id = '';
|
||||
$le_obj->unr = '';
|
||||
|
||||
if ($le_obj->save())
|
||||
{
|
||||
$anzahl_lehreinheiten++;
|
||||
|
||||
//LehreinheitMitarbeiter Eintrag neu Anlengen
|
||||
$qry_lem = "SELECT mitarbeiter_uid FROM lehre.tbl_lehreinheitmitarbeiter
|
||||
WHERE lehreinheit_id=".$db->db_add_param($row->lehreinheit_id);
|
||||
|
||||
if ($result_lem = $db->db_query($qry_lem))
|
||||
{
|
||||
while ($row_lem = $db->db_fetch_object($result_lem))
|
||||
{
|
||||
$lem_obj = new lehreinheitmitarbeiter();
|
||||
if ($lem_obj->load($row->lehreinheit_id, $row_lem->mitarbeiter_uid))
|
||||
{
|
||||
// Pruefen ob der Lektor ueber die im Config festgelegte Stundengrenze
|
||||
// kommt und Meldung ausgeben
|
||||
$qry_stundengrenze="
|
||||
SELECT
|
||||
mitarbeiter_uid,fixangestellt,SUM(semesterstunden) AS summe, aktiv
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
JOIN lehre.tbl_lehreinheit USING (lehreinheit_id)
|
||||
JOIN public.tbl_mitarbeiter USING (mitarbeiter_uid)
|
||||
JOIN public.tbl_benutzer ON (uid=mitarbeiter_uid)
|
||||
WHERE
|
||||
mitarbeiter_uid=".$db->db_add_param($row_lem->mitarbeiter_uid)."
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem_von)."
|
||||
GROUP BY
|
||||
mitarbeiter_uid, fixangestellt, aktiv";
|
||||
|
||||
if ($result_stundengrenze = $db->db_query($qry_stundengrenze))
|
||||
{
|
||||
if ($row_stundengrenze = $db->db_fetch_object($result_stundengrenze))
|
||||
{
|
||||
if (!$db->db_parse_bool($row_stundengrenze->fixangestellt)
|
||||
&& $row_stundengrenze->summe > WARN_SEMESTERSTD_FREI)
|
||||
{
|
||||
$text .= " <span style='color:red'>
|
||||
Stundengrenze ".WARN_SEMESTERSTD_FREI." Stunden ueberschritten
|
||||
von $row_lem->mitarbeiter_uid</span>";
|
||||
}
|
||||
elseif ($db->db_parse_bool($row_stundengrenze->fixangestellt)
|
||||
&& $row_stundengrenze->summe > WARN_SEMESTERSTD_FIX)
|
||||
{
|
||||
$text .= " <span style='color:red'>
|
||||
Stundengrenze ".WARN_SEMESTERSTD_FIX." Stunden ueberschritten
|
||||
von $row_lem->mitarbeiter_uid</span>";
|
||||
}
|
||||
|
||||
// Meldung, wenn Benutzer inaktiv
|
||||
if ($db->db_parse_bool($row_stundengrenze->aktiv) == false)
|
||||
{
|
||||
$text .= "; <span style='color:orange'>Achtung! MitarbeiterIn
|
||||
<b>$row_lem->mitarbeiter_uid</b> ist nicht aktiv</span>";
|
||||
}
|
||||
}
|
||||
}
|
||||
$lem_obj->lehreinheit_id = $le_obj->lehreinheit_id;
|
||||
$lem_obj->new = true;
|
||||
// Wenn VILESCI_STUNDENSATZ_VORRUECKUNG definiert ist,
|
||||
// wird nicht der Stundensatz des Vorjahres verwendet
|
||||
// Wenn VILESCI_STUNDENSATZ_VORRUECKUNG numerisch ist,
|
||||
// wird dieser Wert fuer den Stundensatz verwendet
|
||||
if (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
|
||||
&& is_numeric(VILESCI_STUNDENSATZ_VORRUECKUNG))
|
||||
{
|
||||
$lem_obj->stundensatz = VILESCI_STUNDENSATZ_VORRUECKUNG;
|
||||
}
|
||||
// Wenn VILESCI_STUNDENSATZ_VORRUECKUNG default ist,
|
||||
//wird der Standard-Stundensatz des jeweiligen Lektors geladen und gespeichert
|
||||
elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG == 'default')
|
||||
{
|
||||
$stundensatz = new mitarbeiter($row_lem->mitarbeiter_uid);
|
||||
$lem_obj->stundensatz = $stundensatz->stundensatz;
|
||||
}
|
||||
// Wenn VILESCI_STUNDENSATZ_VORRUECKUNG nachbeschaeftigungsart ist, wird
|
||||
// bei echten Dienstvertraegen mit voller inkludierter Lehre (-1) der Stundensatz auf null gesetzt
|
||||
// bei echten Dienstvertraegen mit teilweise oder nicht inkludierter Lehre der Default Stundensatz gesetzt
|
||||
// bei sonstigen Dienstvertraegen der Default Stundensatz gesetzt
|
||||
elseif (defined('VILESCI_STUNDENSATZ_VORRUECKUNG')
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG != ''
|
||||
&& VILESCI_STUNDENSATZ_VORRUECKUNG == 'nachbeschaeftigungsart')
|
||||
{
|
||||
if ($lem_obj->stundensatz != '0')
|
||||
{
|
||||
$stundensatz = new mitarbeiter($row_lem->mitarbeiter_uid);
|
||||
$lem_obj->stundensatz = $stundensatz->stundensatz;
|
||||
|
||||
$bisverwendung = new bisverwendung();
|
||||
if(!$bisverwendung->getVerwendungRange($row_lem->mitarbeiter_uid, $stsem_nach_obj->start, $stsem_nach_obj->ende))
|
||||
{
|
||||
$bisverwendung->getLastAktVerwendung($row_lem->mitarbeiter_uid);
|
||||
$bisverwendung->result[] = $bisverwendung;
|
||||
}
|
||||
|
||||
foreach($bisverwendung->result as $row_verwendung)
|
||||
{
|
||||
// Bei echten Dienstvertraegen mit voller inkludierter Lehre wird kein Stundensatz
|
||||
// geliefert da dies im Vertrag inkludiert ist.
|
||||
if ($row_verwendung->ba1code == 103 && $row_verwendung->inkludierte_lehre == -1)
|
||||
{
|
||||
$lem_obj->stundensatz = '';
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
$lem_obj->insertamum = date('Y-m-d H:i:s');
|
||||
$lem_obj->insertvon = 'Vorrueckung_'.$user;
|
||||
$lem_obj->ext_id = '';
|
||||
$lem_obj->vertrag_id = '';
|
||||
|
||||
if (!$lem_obj->save())
|
||||
{
|
||||
$error_lehreinheitmitarbeiter++;
|
||||
$text .= 'Fehler beim Anlegen des Lehreinheitmitarbeiter
|
||||
Eintrages: '.$lem_obj->errormsg;
|
||||
}
|
||||
else
|
||||
$anzahl_lehreinheitmitarbeiter++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$text .= 'Fehler beim Laden der Mitarbeiter';
|
||||
$error_lehreinheitmitarbeiter++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text .= 'Fehler beim Laden der Mitarbeiter '.$db->db_last_error();
|
||||
$error_lehreinheitmitarbeiter++;
|
||||
}
|
||||
|
||||
//LehreinheitGruppe Eintrag neu Anlegen
|
||||
$qry_leg = "
|
||||
SELECT
|
||||
lehreinheitgruppe_id
|
||||
FROM
|
||||
lehre.tbl_lehreinheitgruppe
|
||||
WHERE
|
||||
lehreinheit_id=".$db->db_add_param($row->lehreinheit_id)."
|
||||
AND NOT (tbl_lehreinheitgruppe.semester='0' AND tbl_lehreinheitgruppe.verband='I')";
|
||||
|
||||
if ($result_leg = $db->db_query($qry_leg))
|
||||
{
|
||||
while($row_leg = $db->db_fetch_object($result_leg))
|
||||
{
|
||||
$leg_obj = new lehreinheitgruppe();
|
||||
if ($leg_obj->load($row_leg->lehreinheitgruppe_id))
|
||||
{
|
||||
// Direktinskriptionsgruppen werden nicht vorgerückt
|
||||
if ($leg_obj->gruppe_kurzbz != '')
|
||||
{
|
||||
$grp = new gruppe();
|
||||
$grp->load($leg_obj->gruppe_kurzbz);
|
||||
if ($grp->direktinskription)
|
||||
continue;
|
||||
}
|
||||
|
||||
$leg_obj->lehreinheit_id = $le_obj->lehreinheit_id;
|
||||
$leg_obj->new = true;
|
||||
$leg_obj->insertamum = date('Y-m-d H:i:s');
|
||||
$leg_obj->insertvon = 'Vorrueckung_'.$user;
|
||||
$leg_obj->ext_id = '';
|
||||
|
||||
if (!$leg_obj->save())
|
||||
{
|
||||
$error_lehreinheitgruppe++;
|
||||
$text .= 'Fehler beim Anlegen des Lehreinheitgruppe Eintrages: '.$leg_obj->errormsg;
|
||||
}
|
||||
else
|
||||
$anzahl_lehreinheitgruppe++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$text .= 'Fehler beim Laden der Gruppe '.$leg_obj->errormsg.' '.$db->db_last_error();
|
||||
$error_lehreinheitgruppe++;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text .= 'Fehler beim Auslesen der Gruppen';
|
||||
$error_lehreinheitgruppe++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_lehreinheit++;
|
||||
$text .= 'Fehler beim Speichern der Lehreinheit '.$le_obj->errormsg;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$error_lehreinheit++;
|
||||
$text .= 'Fehler beim Laden der Lehreinheit '.$le_obj->errormsg;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$text .= 'Fehler beim Laden der Lehreinheiten '.$db->db_last_error();
|
||||
$error_lehreinheit++;
|
||||
}
|
||||
|
||||
echo "<br><br>";
|
||||
echo "Vorgerueckte Lehreinheiten: $anzahl_lehreinheiten<br>";
|
||||
echo "Vorgerueckte LEMitarbeiter: $anzahl_lehreinheitmitarbeiter<br>";
|
||||
echo "Vorgerueckte LEGruppen: $anzahl_lehreinheitgruppe<br>";
|
||||
echo "Fehler bei Lehreinheiten: $error_lehreinheit<br>";
|
||||
echo "Fehler bei LEMitarbeiter: $error_lehreinheitmitarbeiter<br>";
|
||||
echo "Fehler bei LEGruppen: $error_lehreinheitmitarbeiter<br>";
|
||||
|
||||
echo '<br><br><hr>';
|
||||
echo $text;
|
||||
echo '<br><br><br><br><br><br><br><br>';
|
||||
}
|
||||
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
Reference in New Issue
Block a user