diff --git a/CHANGELOG.md b/CHANGELOG.md index 3e0abb406..336515567 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ - **[FAS]** Prüfungen im FAS werden nur noch vom aktuell ausgewählten Studiensemester angezeigt. Umschalten auf volle Ansicht möglich - **[CIS]** LVPlan Begrenzung der 4er Blockung aufgehoben. - **[CIS]** Im Menü 'Zeitsperren' Link zu Resturlaubsübersicht entfernt. Falls benötigt Verlinkung über CMS möglich. +- **[CORE]** Removed NOT NULL constraint on 'verfasser\_uid' from public.tbl\_notiz ### Updateinfo - **[FAS]** Für Lehraufträge muss eine Unoconv-Vorlage erstellt werden, da der für xsl-fo notwendige Seitenumbruch-Tag aus dem RDF entfernt wurde. diff --git a/cis/private/lehre/lesson.php b/cis/private/lehre/lesson.php old mode 100644 new mode 100755 index 7bbf7123a..b499fef1a --- a/cis/private/lehre/lesson.php +++ b/cis/private/lehre/lesson.php @@ -190,7 +190,7 @@ $( document ).ready(function() diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php index 08d718d9c..939bb34ff 100755 --- a/cis/private/lehre/pruefung/pruefung.js.php +++ b/cis/private/lehre/pruefung/pruefung.js.php @@ -30,6 +30,16 @@ $sprache = getSprache(); $lang = new sprache(); $lang->load($sprache); $p = new phrasen($sprache); + +if (defined('CIS_PRUEFUNGSANMELDUNG_FRIST')) +{ + $anmeldefrist = CIS_PRUEFUNGSANMELDUNG_FRIST; +} +else +{ + $anmeldefrist = 3; +} + ?> /* Copyright (C) 2013 fhcomplete.org @@ -318,7 +328,7 @@ function writePruefungsTable(e, data, anmeldung) var row = ""; var teilnehmer = ""; var button = ""; - row += " diff --git a/cis/private/lvplan/stpl_week.php b/cis/private/lvplan/stpl_week.php index 35611a8fe..478d08eab 100644 --- a/cis/private/lvplan/stpl_week.php +++ b/cis/private/lvplan/stpl_week.php @@ -37,6 +37,85 @@ if (!$db = new basis_db()) $uid=get_uid(); +//$type='ort'; +//$ort_kurzbz='EDV6.08'; +//$datum=1102260015; + +// Deutsche Umgebung +//$loc_de=setlocale(LC_ALL, 'de_AT@euro', 'de_AT','de_DE@euro', 'de_DE'); +//setlocale(LC_ALL, $loc_de); + +// Variablen uebernehmen +if (isset($_GET['type'])) + $type=$_GET['type']; +if (isset($_POST['type'])) + $type=$_POST['type']; +if (isset($_GET['datum'])) + $datum=$_GET['datum']; +if (isset($_POST['datum'])) + $datum=$_POST['datum']; + +if (isset($_GET['ort_kurzbz'])) + $ort_kurzbz=$_GET['ort_kurzbz']; +else if (isset($_POST['ort_kurzbz'])) + $ort_kurzbz=$_POST['ort_kurzbz']; +else + $ort_kurzbz=null; + +if (isset($_GET['pers_uid'])) + $pers_uid=$_GET['pers_uid']; + +if (isset($_GET['stg_kz'])) + $stg_kz=$_GET['stg_kz']; +else if (isset($_POST['stg_kz'])) + $stg_kz=$_POST['stg_kz']; +else + $stg_kz=null; + +if (isset($_GET['lva'])) + $lva=$_GET['lva']; +else if (isset($_POST['lva'])) + $lva=$_POST['lva']; +else + $lva=null; + +if (isset($_POST['sem'])) + $sem=$_POST['sem']; +else if (isset($_GET['sem'])) + $sem=$_GET['sem']; +else + $sem=null; + +if (isset($_POST['ver'])) + $ver=$_POST['ver']; +else if (isset($_GET['ver'])) + $ver=$_GET['ver']; +else + $ver=null; + +if (isset($_POST['grp'])) + $grp=$_POST['grp']; +else if (isset($_GET['grp'])) + $grp=$_GET['grp']; +else + $grp=null; + +if (isset($_POST['gruppe_kurzbz'])) + $gruppe_kurzbz=$_POST['gruppe_kurzbz']; +else if (isset($_GET['gruppe_kurzbz'])) + $gruppe_kurzbz=$_GET['gruppe_kurzbz']; +else + $gruppe_kurzbz=null; + +if (isset($_POST['user_uid'])) + $user_uid=$_POST['user_uid']; +if (isset($_POST['reserve'])) + $reserve=$_POST['reserve']; +if (isset($_POST['beschreibung'])) + $beschreibung=$_POST['beschreibung']; +if (isset($_POST['titel'])) + $titel=$_POST['titel']; + ?> @@ -145,18 +224,41 @@ $uid=get_uid(); }); --> - - - + loadAddons(); + foreach($addon_obj->result as $addon) + { + if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php')) + echo ''; + } + + // Wenn Seite fertig geladen ist Addons aufrufen + echo ' + + '; + ?> + -

t('lvplan/wochenplan');?>

"+e.organisationseinheit+""+e.lehrveranstaltung[0].bezeichnung+""; + row += "
"+e.organisationseinheit+""+e.lehrveranstaltung[0].bezeichnung+"
("+e.lehrveranstaltung[0].lehrform_kurzbz+", "+e.lehrveranstaltung[0].ects+" ECTS, "+e.pruefung.mitarbeiter_uid+")
"; e.pruefung.termine.forEach(function(d){ var storno = false; var anmeldung_id = null; @@ -336,7 +346,7 @@ function writePruefungsTable(e, data, anmeldung) var frist = termin; termin = termin.getDate()+"."+(termin.getMonth()+1)+"."+termin.getFullYear(); frist = frist.getTime(); - frist = frist - (3*24*60*60*1000); + frist = frist - (*24*60*60*1000); var fristDate = new Date(frist); frist = fristDate.getDate()+"."+(fristDate.getMonth()+1)+"."+fristDate.getFullYear(); @@ -345,7 +355,7 @@ function writePruefungsTable(e, data, anmeldung) if(!storno) button = "

t('pruefung/anmeldefristAbgelaufen'); ?>
"; else - button = "

Storno nicht mehr möglich.
"; + button = "

t('pruefung/stornoNichtMehrMoeglich'); ?>
"; } else if(anmeldung || e.lehrveranstaltung[0].angemeldet) { @@ -370,7 +380,7 @@ function writePruefungsTable(e, data, anmeldung) if(d.max === null) { - teilnehmer += "unbegrenzt
"; + teilnehmer += "t('pruefung/unbegrenzt'); ?>
"; } else { @@ -1309,6 +1319,7 @@ function unmarkMissingFormEntry() function loadLehrveranstaltungen() { var studiensemester_kurzbz = $("#studiensemester").val(); + //alert(studiensemester_kurzbz); var mitarbeiter_uid = $("#mitarbeiter_uid").val(); $.ajax({ dataType: 'json', diff --git a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php index e16ad3ccc..ed5c48cdf 100755 --- a/cis/private/lehre/pruefung/pruefungsanmeldung.json.php +++ b/cis/private/lehre/pruefung/pruefungsanmeldung.json.php @@ -31,6 +31,14 @@ require_once('../../../../include/mail.class.php'); require_once('../../../../include/anrechnung.class.php'); require_once('../../../../include/prestudent.class.php'); require_once('../../../../include/person.class.php'); +require_once('../../../../include/phrasen.class.php'); +require_once('../../../../include/globals.inc.php'); +require_once('../../../../include/sprache.class.php'); + +$sprache = getSprache(); +$lang = new sprache(); +$lang->load($sprache); +$p = new phrasen($sprache); $uid = get_uid(); @@ -361,117 +369,123 @@ function loadTermine() */ function saveAnmeldung($aktStudiensemester = null, $uid = null) { - $student = new student($uid); - $termin = new pruefungstermin($_REQUEST["termin_id"]); - $pruefung = new pruefung(); - $lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]); - $studiensemester = new studiensemester(); - $stdsem = $studiensemester->getLastOrAktSemester(0); - $lv_besucht = false; - $studienverpflichtung_id = filter_input(INPUT_POST, "studienverpflichtung_id"); + global $p; - //Defaulteinstellung für Anzahlprüfungsversuche (wird durch Addon "ktu" überschrieben) - $maxAnzahlVersuche = 0; + $student = new student($uid); + $termin = new pruefungstermin($_REQUEST["termin_id"]); + $pruefung = new pruefung(); + $lehrveranstaltung = new lehrveranstaltung($_REQUEST["lehrveranstaltung_id"]); + $studiensemester = new studiensemester(); + $stdsem = $studiensemester->getLastOrAktSemester(0); + $lv_besucht = false; + $studienverpflichtung_id = filter_input(INPUT_POST, "studienverpflichtung_id"); - //Defaulteinstellung für Code Note "unetnschuldigt ferngeblieben" (wird durch Addon "ktu" überschrieben) - $noteCode_uef = -1; + //Defaulteinstellung für Anzahlprüfungsversuche (wird durch Addon "ktu" überschrieben) + $maxAnzahlVersuche = 0; - $addon = new addon(); - foreach ($addon->aktive_addons as $a) - { - if($a === "ku") + //Defaulteinstellung für Code Note "unetnschuldigt ferngeblieben" (wird durch Addon "ktu" überschrieben) + $noteCode_uef = -1; + + $addon = new addon(); + foreach ($addon->aktive_addons as $a) { - require '../../../../addons/'.$a.'/cis/prfVerwaltung_array.php'; - switch($lehrveranstaltung->oe_kurzbz) - { - case $fakultaeten[0]["fakultaet"]: - $semCounter = $fakultaeten[0]["sem"]; - break; - case $fakultaeten[1]["fakultaet"]: - $semCounter = $fakultaeten[1]["sem"]; - break; - default: - $semCounter = 2; - break; - } - } - else - { - $semCounter = 99; - } - } - $i=0; - do - { - $lehrveranstaltung->load_lva_student($uid, $stdsem); - foreach($lehrveranstaltung->lehrveranstaltungen as $lv) - { - if($lv->lehrveranstaltung_id === $lehrveranstaltung->lehrveranstaltung_id) - { - $lv_besucht = true; - } - } - $stdsem = $studiensemester->getPreviousFrom($stdsem); - $lehrveranstaltung->lehrveranstaltungen = array(); - $i++; - } - while($i<=$semCounter && $lv_besucht === FALSE); - - if(!$lv_besucht) - { - $data['error']='true'; - $data['errormsg']='Besuch der Lehrveranstaltung liegt zu weit in der Vergangenheit.'; - return $data; - } - - $pruefung->getPruefungen($student->prestudent_id, NULL, $lehrveranstaltung->lehrveranstaltung_id); - $anmeldung_moeglich = true; - $anzahlPruefungen = count($pruefung->result); - if(isset($pruefungstyp_kurzbzArray)) - { - if($anzahlPruefungen < count($pruefungstyp_kurzbzArray)) - { - $pruefungstyp_kurzbz = $pruefungstyp_kurzbzArray[$anzahlPruefungen]; - } - } - else - { - $pruefungstyp_kurzbz = null; - } - - foreach($pruefung->result as $prf) - { - $note = new note($prf->note); - if($note->note === $noteCode_uef) - { - $pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id); - $pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id); - $p = new pruefungCis($pruefungstermin->pruefung_id); - $pruefungsfenster = new pruefungsfenster($p->pruefungsfenster_id); - $studiensemester = new studiensemester(); - $stdsem = $studiensemester->getaktorNext(); - $i=0; - while($i<2) - { - if($stdsem === $pruefungsfenster->studiensemester_kurzbz) + if($a === "ku") { - $anmeldung_moeglich = false; + require '../../../../addons/'.$a.'/cis/prfVerwaltung_array.php'; + switch($lehrveranstaltung->oe_kurzbz) + { + case $fakultaeten[0]["fakultaet"]: + $semCounter = $fakultaeten[0]["sem"]; + break; + case $fakultaeten[1]["fakultaet"]: + $semCounter = $fakultaeten[1]["sem"]; + break; + default: + $semCounter = 2; + break; + } + } + else + { + $semCounter = 99; + } + } + $i=0; + do + { + $lehrveranstaltung->load_lva_student($uid, $stdsem); + foreach($lehrveranstaltung->lehrveranstaltungen as $lv) + { + if($lv->lehrveranstaltung_id === $lehrveranstaltung->lehrveranstaltung_id) + { + $lv_besucht = true; + } } $stdsem = $studiensemester->getPreviousFrom($stdsem); + $lehrveranstaltung->lehrveranstaltungen = array(); $i++; - } + } + while($i<=$semCounter && $lv_besucht === FALSE); + + if(!$lv_besucht) + { + $data['error']='true'; + $data['errormsg']='Besuch der Lehrveranstaltung liegt zu weit in der Vergangenheit.'; + return $data; + } + + $pruefung->getPruefungen($student->prestudent_id, NULL, $lehrveranstaltung->lehrveranstaltung_id); + $anmeldung_moeglich = true; + $anzahlPruefungen = count($pruefung->result); + + // Defaulteinstellung für Prüfungstypen - schauen, ob bereits aus KTU-Addon geladen + if(!isset($pruefungstyp_kurzbzArray)) + $pruefungstyp_kurzbzArray = array("Termin1","Termin2","kommPruef"); + if(isset($pruefungstyp_kurzbzArray)) + { + if($anzahlPruefungen < count($pruefungstyp_kurzbzArray)) + { + $pruefungstyp_kurzbz = $pruefungstyp_kurzbzArray[$anzahlPruefungen]; + } } else { - if($note->positiv === FALSE && $anzahlPruefungen >= $maxAnzahlVersuche) - { - $anmeldung_moeglich = false; - } + $pruefungstyp_kurzbz = null; } - } - if($anmeldung_moeglich) - { + foreach($pruefung->result as $prf) + { + $note = new note($prf->note); + if($note->note === $noteCode_uef) + { + $pruefungsanmeldung = new pruefungsanmeldung($prf->pruefungsanmeldung_id); + $pruefungstermin = new pruefungstermin($pruefungsanmeldung->pruefungstermin_id); + $pf = new pruefungCis($pruefungstermin->pruefung_id); + $pruefungsfenster = new pruefungsfenster($pf->pruefungsfenster_id); + $studiensemester = new studiensemester(); + $stdsem = $studiensemester->getaktorNext(); + $i=0; + while($i<2) + { + if($stdsem === $pruefungsfenster->studiensemester_kurzbz) + { + $anmeldung_moeglich = false; + } + $stdsem = $studiensemester->getPreviousFrom($stdsem); + $i++; + } + } + else + { + if($note->positiv === FALSE && $anzahlPruefungen >= $maxAnzahlVersuche) + { + $anmeldung_moeglich = false; + } + } + } + + if($anmeldung_moeglich) + { if($termin->teilnehmer_max > $termin->getNumberOfParticipants() || $termin->teilnehmer_max == NULL) { $pruefung = new pruefungCis(); @@ -493,7 +507,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) if($creditpoints < $lehrveranstaltung->ects) { $data['error'] = 'true'; - $data['errormsg'] = 'Credit-Points-Guthaben ist zu gering.'; + $data['errormsg'] = $p->t('pruefung/zuWenigeCreditPoints'); return $data; } } @@ -507,7 +521,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) { $data['result'][$temp->pruefungstermin_id] = "true"; $data['error'] = 'true'; - $data['errormsg'] = 'Kollision mit anderer Anmeldung.'; + $data['errormsg'] = $p->t('pruefung/kollisionMitAndererAnmeldung'); } } if(isset($data['error']) && $data['error'] = 'true') @@ -518,14 +532,14 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) else { $data['error']='true'; - $data['errormsg']='Keine freien Plätze vorhanden.'; + $data['errormsg']=$p->t('pruefung/keineFreienPlaetzeVorhanden'); return $data; } } else { $data['error']='true'; - $data['errormsg']='Anmeldung auf Grund von Sperre nicht möglich.'; + $data['errormsg']=$p->t('pruefung/anmeldungAufgrundVonSperreNichtMoeglich'); return $data; } @@ -582,19 +596,19 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) else $to = $pruefung->mitarbeiter_uid."@".DOMAIN; $from = "noreply@".DOMAIN; - $subject = "Anmeldung zur Prüfung"; - $mail = new mail($to, $from, $subject, "Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen."); + $subject = $p->t('pruefung/emailLektorSubjectAnmeldung'); + $mail = new mail($to, $from, $subject, $p->t('pruefung/emailBodyBitteHtmlSicht')); $student = new student($uid); $datum = new datum(); $lv = new lehrveranstaltung($anmeldung->lehrveranstaltung_id); - $html = "StudentIn ".$student->vorname." ".$student->nachname." hat sich zur Prüfung ".$lv->bezeichnung." am ".$datum->formatDatum($termin->von, "m.d.Y")." von ".$datum->formatDatum($termin->von,"h:i")." Uhr bis ".$datum->formatDatum($termin->bis,"h:i")." Uhr angemeldet."; + $html = $p->t('pruefung/emailLektorStudentIn')." ".$student->vorname." ".$student->nachname." ".$p->t('pruefung/emailLektorHatSichZurPruefung')." ".$lv->bezeichnung." ".$p->t('pruefung/emailLektorAm')." ".$datum->formatDatum($termin->von, "m.d.Y")." ".$p->t('pruefung/emailLektorVon')." ".$datum->formatDatum($termin->von,"h:i")." ".$p->t('pruefung/emailLektorUhrBis')." ".$datum->formatDatum($termin->bis,"h:i")." ".$p->t('pruefung/emailLektorUhrAngemeldet'); $mail->setHTMLContent($html); $mail->send(); - $data['result'] = "Anmeldung erfolgreich!"; + $data['result'] = $p->t('pruefung/anmeldungErfolgreich'); $data['error']='false'; $data['errormsg']=''; } @@ -613,13 +627,13 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null) else { $data['error']='true'; - $data['errormsg']="Prestudent nicht gefunden."; + $data['errormsg']=$p->t('pruefung/prestudentNichtGefunden'); } } else { $data['error']='true'; - $data['errormsg']="Prestudent nicht gefunden."; + $data['errormsg']=$p->t('pruefung/prestudentNichtGefunden'); } return $data; } @@ -695,6 +709,7 @@ function getAllPruefungen($aktStudiensemester = null, $uid = null) */ function stornoAnmeldung($uid = null) { + global $p; $pruefungsanmeldung_id=$_REQUEST['pruefungsanmeldung_id']; $pruefungsanmeldung = new pruefungsanmeldung($pruefungsanmeldung_id); $anrechnung = new anrechnung($pruefungsanmeldung->anrechnung_id); @@ -702,7 +717,7 @@ function stornoAnmeldung($uid = null) { if($anrechnung->delete($anrechnung->anrechnung_id)) { - $data['result'] = 'Anmeldung erfolgreich gelöscht.'; + $data['result'] = $p->t('pruefung/anmeldungErfolgreichGeloescht'); $data['error'] = 'false'; $data['errormsg'] = ''; } @@ -723,6 +738,7 @@ function stornoAnmeldung($uid = null) */ function getAnmeldungenTermin() { + global $p; $lehrveranstaltung_id = $_REQUEST["lehrveranstaltung_id"]; $pruefungstermin_id = $_REQUEST["pruefungstermin_id"]; $pruefungstermin = new pruefungstermin($pruefungstermin_id); @@ -752,7 +768,7 @@ function getAnmeldungenTermin() } else { - $data['errormsg']= 'Keine Anmeldungen vorhanden'; + $data['errormsg']= $p->t('pruefung/keineAnmeldungenVorhanden'); } } return $data; @@ -786,6 +802,7 @@ function saveReihung() */ function anmeldungBestaetigen($uid) { + global $p; $pruefungsanmeldung_id = $_REQUEST["pruefungsanmeldung_id"]; $status = "bestaetigt"; $anmeldung = new pruefungsanmeldung(); @@ -801,27 +818,27 @@ function anmeldungBestaetigen($uid) $to = $anmeldung->uid."@".DOMAIN; $from = "noreply@".DOMAIN; - $subject = "Anmeldungsbestätigung zur Prüfung"; - $html = "Ihre Anmeldung zur Prüfung wurde von ".$ma->vorname." ".$ma->nachname." bestätigt.
"; + $subject = $p->t('pruefung/emailSubjectAnmeldungBestaetigung'); + $html = $p->t('pruefung/emailBody1')." ".$ma->vorname." ".$ma->nachname." ".$p->t('pruefung/emailBody2')."
"; $html .= "
"; - $html .= "Prüfung: ".$lv->bezeichnung."
"; + $html .= $p->t('pruefung/emailBodyPruefung')." ".$lv->bezeichnung."
"; if($pruefung->einzeln) { $date = $datum->formatDatum($termin->von, "Y-m-d h:i:s"); $date = strtotime($date); $date = $date+(60*$pruefung->pruefungsintervall*($anmeldung->reihung-1)); $von = date("h:i",$date); - $html .= "Termin: ".$datum->formatDatum($termin->von, "d.m.Y")." um ".$von."
"; - $html .= "Dauer: ".$pruefung->pruefungsintervall." Minuten
"; + $html .= $p->t('pruefung/emailBodyTermin')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailBodyUm')." ".$von."
"; + $html .= $p->t('pruefung/emailBodyDauer')." ".$pruefung->pruefungsintervall." ".$p->t('pruefung/emailBodyMinuten')."
"; } else - $html .= "Termin: ".$datum->formatDatum($termin->von, "d.m.Y")." um ".$datum->formatDatum($termin->von, "h:i")."
"; - $html .= "Ort: ".$ort->bezeichnung."
"; + $html .= $p->t('pruefung/emailBodyTermin')." ".$datum->formatDatum($termin->von, "d.m.Y")." ".$p->t('pruefung/emailBodyUm')." ".$datum->formatDatum($termin->von, "h:i")."
"; + $html .= $p->t('pruefung/anmeldungErfolgreich')." ".$ort->bezeichnung."
"; $html .= "
"; - $html .= "Link zur Anmeldung
"; + $html .= "".$p->t('pruefung/emailBodyLinkZurAnmeldung')."
"; $html .= "
"; - $mail = new mail($to, $from, $subject,"Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Link vollständig darzustellen."); + $mail = new mail($to, $from, $subject,$p->t('pruefung/emailBodyBitteHtmlSicht')); $mail->setHTMLContent($html); $mail->send(); diff --git a/cis/private/lehre/pruefung/pruefungsbewertung.js.php b/cis/private/lehre/pruefung/pruefungsbewertung.js.php new file mode 100644 index 000000000..e6369eb97 --- /dev/null +++ b/cis/private/lehre/pruefung/pruefungsbewertung.js.php @@ -0,0 +1,300 @@ + + */ + + +require_once('../../../../config/cis.config.inc.php'); +require_once('../../../../include/phrasen.class.php'); +require_once('../../../../include/globals.inc.php'); +require_once('../../../../include/sprache.class.php'); + +$sprache = getSprache(); +$lang = new sprache(); +$lang->load($sprache); +$p = new phrasen($sprache); + +?> + + +/** + * Error-Behandlung bei Ajax Requests + */ + + +function loadError(xhr, textStatus, errorThrown) +{ + if(xhr.status==200) + alert('Fehler:'+xhr.responseText); + else + alert('Fehler beim Laden der Daten. ErrorNr:'+xhr.status); +} + +/** + * Lädt alle Prüfungen eines Mitarbeiters + * @returns {undefined} + */ +function loadPruefungenMitarbeiter() +{ + var uid = $("#mitarbeiter_uid").val(); + $.ajax({ + dataType: 'json', + url: "./pruefungsbewertung.json.php", + type: "POST", + data: { + method: "getPruefungMitarbeiter", + mitarbeiter_uid: uid + }, + error: loadError + }).success(function(data){ + $("#pruefungen").find("h2").first().text("t('pruefung/pruefungPruefungenTitle'); ?> ("+uid+")"); + if(data.error === 'false') + { + var liste = ""; + data.result.forEach(function(e){ + liste += "

  • "+e.bezeichnung+"
      "; + e.pruefung.lehrveranstaltungen.forEach(function(d) + { + d.pruefung.termine.forEach(function(f){ + liste += "
    • "+convertDateTime(f.von)+"
    • "; + }); + }) + liste += "
    "; + }); + $("#pruefungenListe").html(liste); + } + else + { + $("#pruefungenListe").html(data.errormsg); + } + }); +} + +/** + * Lädt die Anmeldungen zu einer Prüfung + * @param {type} pruefungstermin_id ID des Prüfungstermins + * @param {type} lehrveranstaltung_id ID der Lehrveranstaltung + * @returns {undefined} + */ +function showTeilnehmer(pruefungstermin_id, lehrveranstaltung_id, lehrveranstaltung, datum) +{ + $("#modalOverlay").addClass("modalOverlay"); + $("#anmeldeDaten").empty(); + $("#anmeldungen").children("h2").text("Bewertungen zu "+lehrveranstaltung+" ("+datum+")"); + var noten = ""; + } + else + { + messageBox("message",data.errormsg, "red", "highlight", 1000); + } + }).complete(function(event, xhr, settings){ + var notenSelect = noten; + $.ajax({ + dataType: 'json', + url: "./pruefungsbewertung.json.php", + type: "POST", + data: { + method: "getAnmeldungenTermin", + pruefungstermin_id: pruefungstermin_id, + lehrveranstaltung_id: lehrveranstaltung_id + }, + error: loadError + }).success(function(data){ + var entry = ""; + if(data.error === "false") + { + data.result.forEach(function(d) + { + if(d.status_kurzbz === "bestaetigt") + { + var datum = d.von.split(" "); + if(d.pruefung.note===null) + { + entry = "
    "+d.student.vorname+" "+d.student.nachname+"
    "+notenSelect+"
    "; + } + else + { + entry = "
    "+d.student.vorname+" "+d.student.nachname+"
    "+notenSelect+"
    "; + } + $("#anmeldeDaten").append(entry); + if(d.pruefung.note!==null) + { + markAsSaved(document.getElementById(d.student.uid).firstChild); + $("#"+d.student.uid).find("select").val(d.pruefung.note); + } + else + { + markAsUnsaved(document.getElementById(d.student.uid).firstChild); + } + var t = $("#note_anmerkung_"+d.student.uid).parent().find('select').first().width(); + $("#note_anmerkung_"+d.student.uid).width(t); + } + }); + if(entry === "") + { + entry = "
    Keine Anmeldungen vorhanden.
    "; + $("#anmeldeDaten").html(entry); + } + } + else + { + entry = "
    "+data.errormsg+"
    "; + $("#anmeldeDaten").html(entry); + } + }).complete(function(event, xhr, settings){ + $("#modalOverlay").removeClass("modalOverlay"); + }); + }); +} + +/** + * Speichert eine Beurteilung + * @param {type} ele Element das die Funtkion aufruft + * @param {type} datum + * @param {type} pruefungsanmeldung_id ID der Anmeldung + * @param {type} pruefung_id ID der Prüfung + * @param {type} lehrveranstaltung_id ID der Lehrveranstaltung + * @returns {void} + */ +function saveBeurteilung(ele, datum, pruefungsanmeldung_id, pruefung_id, lehrveranstaltung_id) +{ + var student_uid = $(ele).parent().attr("id"); + var mitarbeiter_uid = $("#mitarbeiter_uid").val(); + var note = $(ele).parent().find("select").val(); + if((note === "null") || (note===null)) + { + messageBox("message", "Keine Note ausgewählt.", "red", "highlight", 1000); + return false; + } + var anmerkung = $("#note_anmerkung_"+student_uid).val(); + + $.ajax({ + dataType: 'json', + url: "./pruefungsbewertung.json.php", + type: "POST", + data: { + method: "saveBeurteilung", + pruefung_id: pruefung_id, + lehrveranstaltung_id: lehrveranstaltung_id, + student_uid: student_uid, + mitarbeiter_uid: mitarbeiter_uid, + note: note, + //TODO Datum der Prüfung oder der Beurteilung????? + datum: datum, + anmerkung: anmerkung, + pruefungsanmeldung_id: pruefungsanmeldung_id + }, + error: loadError + }).success(function(data){ + if(data.error != 'true') + { + markAsSaved(ele); + $(ele).attr("onclick", "updateBeurteilung(this,\""+data.result+"\")"); + } + else + { + messageBox("message",data.errormsg, "red", "highlight", 1000); + $(ele).parent().find("select").val(null); + } + }).complete(function(event, xhr, settings){ + + }); +} + +/** + * Aktualisiert eine Beurteilung + * @param {type} ele Element das die Funtkion aufruft + * @param {type} pruefung_id ID der Prüfung + * @returns {undefined} + */ +function updateBeurteilung(ele, pruefung_id) +{ + var student_uid = $(ele).parent().attr("id"); + var mitarbeiter_uid = $("#mitarbeiter_uid").val(); + var note = $(ele).parent().find("select").val(); + var anmerkung = $("#note_anmerkung_"+student_uid).val(); + if((note === "null") || (note===null)) + { + messageBox("message", "Keine Note ausgewählt.", "red", "highlight", 1000); + return false; + } + $.ajax({ + dataType: 'json', + url: "./pruefungsbewertung.json.php", + type: "POST", + data: { + method: "updateBeurteilung", + pruefung_id: pruefung_id, + note: note, + anmerkung: anmerkung + }, + error: loadError + }).success(function(data){ + if(data.error != 'true') + { + markAsSaved(ele); + } + else + { + messageBox("message",data.errormsg, "red", "highlight", 1000); + } + + + }).complete(function(event, xhr, settings){ + + }); +} + +/** + * Markiert einen Datensatz als gespeichert + * @param {type} ele Element das die Funtkion aufruft + * @returns {undefined} + */ +function markAsSaved(ele) +{ + $(ele).parent().removeClass("unsaved"); + $(ele).parent().addClass("saved"); +} + +/** + * Markiert einen Datensatz als ungespeichert + * @param {type} ele Element das die Funtkion aufruft + * @returns {undefined} + */ +function markAsUnsaved(ele) +{ + $(ele).parent().removeClass("saved"); + $(ele).parent().addClass("unsaved"); +} diff --git a/cis/private/lehre/pruefung/pruefungsbewertung.php b/cis/private/lehre/pruefung/pruefungsbewertung.php index 28894e13c..7137e0a35 100755 --- a/cis/private/lehre/pruefung/pruefungsbewertung.php +++ b/cis/private/lehre/pruefung/pruefungsbewertung.php @@ -62,7 +62,7 @@ if(empty($pruefung->result) && !$rechte->isBerechtigt('lehre/pruefungsanmeldungA - + diff --git a/cis/private/lehre/pruefung/pruefungstermin_festlegen.php b/cis/private/lehre/pruefung/pruefungstermin_festlegen.php index 909ea18bd..31428cdaf 100755 --- a/cis/private/lehre/pruefung/pruefungstermin_festlegen.php +++ b/cis/private/lehre/pruefung/pruefungstermin_festlegen.php @@ -195,7 +195,7 @@ if(empty($lehrveranstaltung->lehrveranstaltungen) && !$rechte->isBerechtigt('leh
  • t('global/studiensemester'); ?>: -
    t('lvplan/hauptmenue');?>
    -t("dms_link/lvPlanFAQ").'" class="hilfe" target="_blank">'.$p->t("global/hilfe").''; ?> +t("dms_link/lvPlanFAQ")!='') echo ''.$p->t("global/hilfe").''; ?>
    @@ -173,85 +275,6 @@ $uid=get_uid(); * Update: 15.11.2004 von Christian Paminger *****************************************************************************/ -//$type='ort'; -//$ort_kurzbz='EDV6.08'; -//$datum=1102260015; - -// Deutsche Umgebung -//$loc_de=setlocale(LC_ALL, 'de_AT@euro', 'de_AT','de_DE@euro', 'de_DE'); -//setlocale(LC_ALL, $loc_de); - -// Variablen uebernehmen -if (isset($_GET['type'])) - $type=$_GET['type']; -if (isset($_POST['type'])) - $type=$_POST['type']; -if (isset($_GET['datum'])) - $datum=$_GET['datum']; -if (isset($_POST['datum'])) - $datum=$_POST['datum']; - -if (isset($_GET['ort_kurzbz'])) - $ort_kurzbz=$_GET['ort_kurzbz']; -else if (isset($_POST['ort_kurzbz'])) - $ort_kurzbz=$_POST['ort_kurzbz']; -else - $ort_kurzbz=null; - -if (isset($_GET['pers_uid'])) - $pers_uid=$_GET['pers_uid']; - -if (isset($_GET['stg_kz'])) - $stg_kz=$_GET['stg_kz']; -else if (isset($_POST['stg_kz'])) - $stg_kz=$_POST['stg_kz']; -else - $stg_kz=null; - -if (isset($_GET['lva'])) - $lva=$_GET['lva']; -else if (isset($_POST['lva'])) - $lva=$_POST['lva']; -else - $lva=null; - -if (isset($_POST['sem'])) - $sem=$_POST['sem']; -else if (isset($_GET['sem'])) - $sem=$_GET['sem']; -else - $sem=null; - -if (isset($_POST['ver'])) - $ver=$_POST['ver']; -else if (isset($_GET['ver'])) - $ver=$_GET['ver']; -else - $ver=null; - -if (isset($_POST['grp'])) - $grp=$_POST['grp']; -else if (isset($_GET['grp'])) - $grp=$_GET['grp']; -else - $grp=null; - -if (isset($_POST['gruppe_kurzbz'])) - $gruppe_kurzbz=$_POST['gruppe_kurzbz']; -else if (isset($_GET['gruppe_kurzbz'])) - $gruppe_kurzbz=$_GET['gruppe_kurzbz']; -else - $gruppe_kurzbz=null; - -if (isset($_POST['user_uid'])) - $user_uid=$_POST['user_uid']; -if (isset($_POST['reserve'])) - $reserve=$_POST['reserve']; -if (isset($_POST['beschreibung'])) - $beschreibung=$_POST['beschreibung']; -if (isset($_POST['titel'])) - $titel=$_POST['titel']; - //Parameter pruefen if($stg_kz!='' && !is_numeric($stg_kz)) die('Studiengang ist ungueltig'); @@ -411,6 +434,5 @@ if (isset($count)) ?>


    t('lvplan/fehlerUndFeedback');?> t('lvplan/lvKoordinationsstelle');?>.

    - diff --git a/cis/public/bildupload.php b/cis/public/bildupload.php index bd3520534..80009f94e 100644 --- a/cis/public/bildupload.php +++ b/cis/public/bildupload.php @@ -90,7 +90,7 @@ $person = new person(); if(isset($_SESSION['prestudent/user'])) $person_id=$person->checkZugangscode($_SESSION['prestudent/user']); if(isset($_SESSION['incoming/user'])) - $person_id=$person->checkZugangscode($_SESSION['prestudent/user']); + $person_id=$person->checkZugangscode($_SESSION['incoming/user']); if($person_id!=$_GET['person_id']) die('Sie haben keine Berechtigung für diese Seite'); diff --git a/cis/public/incoming/akteupload.php b/cis/public/incoming/akteupload.php index 6d0eb0b54..b8f784946 100644 --- a/cis/public/incoming/akteupload.php +++ b/cis/public/incoming/akteupload.php @@ -165,12 +165,12 @@ if(isset($_GET['person_id'])) diff --git a/cis/public/incoming/incoming.php b/cis/public/incoming/incoming.php index 6f0847a17..82f31f756 100644 --- a/cis/public/incoming/incoming.php +++ b/cis/public/incoming/incoming.php @@ -645,12 +645,20 @@ else if($method=="lehrveranstaltungen") AND aktiv = true )a ) as anzahl FROM - lehre.tbl_lehrveranstaltung JOIN public.tbl_studiengang USING(studiengang_kz) + lehre.tbl_lehrveranstaltung + JOIN + public.tbl_studiengang USING(studiengang_kz) WHERE tbl_lehrveranstaltung.incoming>0 AND tbl_lehrveranstaltung.aktiv AND - tbl_lehrveranstaltung.lehre - AND tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000"; + tbl_lehrveranstaltung.lehre AND + tbl_lehrveranstaltung.lehrveranstaltung_id IN ( + SELECT lehrveranstaltung_id FROM lehre.tbl_studienplan_lehrveranstaltung + JOIN lehre.tbl_studienplan USING (studienplan_id) + JOIN lehre.tbl_studienordnung USING (studienordnung_id) + WHERE tbl_studienordnung.status_kurzbz='approved' + AND tbl_lehrveranstaltung.lehrveranstaltung_id=tbl_studienplan_lehrveranstaltung.lehrveranstaltung_id) AND + ((tbl_lehrveranstaltung.studiengang_kz>0 AND tbl_lehrveranstaltung.studiengang_kz<10000) OR tbl_lehrveranstaltung.studiengang_kz=10006)"; if (isset($_GET['studiengang']) && $_GET['studiengang'] !='') $qry .= "AND tbl_lehrveranstaltung.studiengang_kz=".$_GET['studiengang']; @@ -680,8 +688,8 @@ else if($method=="lehrveranstaltungen") while($row = $db->db_fetch_object($result)) { $freieplaetze = $row->incoming - $row->anzahl; - if($freieplaetze>0) - { + //if($freieplaetze>0) + //{ $studiengang = new studiengang(); $studiengang->load($row->studiengang_kz); $studiengang_language = ($sprache == 'German') ? $studiengang->bezeichnung : $studiengang->english; @@ -692,8 +700,10 @@ else if($method=="lehrveranstaltungen") $typ = 'MA'; echo ''; echo ''.$row->lehrveranstaltung_id.''; - if(!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id)) + if(!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze>0) echo ''.$p->t('global/anmelden').''; + elseif (!$preincoming->checkLehrveranstaltung($preincoming->preincoming_id, $row->lehrveranstaltung_id) && $freieplaetze==0) + echo ''.$p->t('incoming/noVacancies').''; else echo ''.$p->t('global/angemeldet').''; echo '',$studiengang_language,''; @@ -710,7 +720,7 @@ else if($method=="lehrveranstaltungen") '; echo '',($freieplaetze<$row->incoming?''.$freieplaetze.'/'.$row->incoming.'':$freieplaetze.'/'.$row->incoming),''; echo ''; - } + //} } } echo ''; diff --git a/cms/menu/menu_addon_lehrveranstaltungen.inc.php b/cms/menu/menu_addon_lehrveranstaltungen.inc.php index f87ca1c62..9100f6a2b 100755 --- a/cms/menu/menu_addon_lehrveranstaltungen.inc.php +++ b/cms/menu/menu_addon_lehrveranstaltungen.inc.php @@ -19,10 +19,10 @@ */ /** * Menue Addon zur Auswahl von LVs - * + * * Dieses Addon erstellt ein Formular zur Auswahl von Studiengang und Semester und zeigt die * zugehoerigen LVs an - * + * * Parameter fuer das Params Array: * - studiengang_kz * - semester @@ -44,9 +44,9 @@ class menu_addon_lehrveranstaltungen extends menu_addon global $params; parent::__construct(); - + $this->link=false; - + $sprache = getSprache(); $user = get_uid(); $student = new student(); @@ -55,17 +55,17 @@ class menu_addon_lehrveranstaltungen extends menu_addon $studiengang_kz=$student->studiengang_kz; $semester=$student->semester; } - + $p = new phrasen($sprache); - - + + $this->block.='