From f5aa31ea71c95c33697ad3374d15f5e9a86245fb Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Wed, 30 Sep 2015 10:18:17 +0200 Subject: [PATCH 01/21] delete entries on csv-import --- cis/private/tools/zeitaufzeichnung.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index f3b0d3e37..5ef4d8807 100755 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -46,6 +46,7 @@ if (!$db = new basis_db()) die($p->t("global/fehlerBeimOeffnenDerDatenbankverbindung")); $user = get_uid(); + $datum = new datum(); if (check_infrastruktur($user)) @@ -62,7 +63,7 @@ else $activities_str = "'".implode("','", $activities)."'"; // definiert bis zu welchem Datum die Eintragung nicht mehr möglich ist -$gesperrt_bis = '2015-01-31'; +$gesperrt_bis = '2015-08-31'; $sperrdatum = date('c', strtotime($gesperrt_bis)); $zeitaufzeichnung_id = (isset($_GET['zeitaufzeichnung_id'])?$_GET['zeitaufzeichnung_id']:''); @@ -456,12 +457,17 @@ if(isset($_POST['save']) || isset($_POST['edit']) || isset($_POST['import'])) } } - if(!$zeit->save()) - { - echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$zeit->errormsg.'('.$zeit->start.')'; + if($data[2] != $data[3]) + { + if(!$zeit->save()) + { + echo ''.$p->t("global/fehlerBeimSpeichernDerDaten").': '.$zeit->errormsg.'('.$zeit->start.')'; + } + else + $anzahl++; } else - $anzahl++; + $anzahl++; $ende_vorher = $zeit->ende; } } From c5aa9e022b49107c0d8674e7ec52f3738554cc0c Mon Sep 17 00:00:00 2001 From: oesi Date: Wed, 30 Sep 2015 10:54:33 +0200 Subject: [PATCH 02/21] =?UTF-8?q?Sortierung=20ge=C3=A4ndert=20damit=20nach?= =?UTF-8?q?=20Raumnummern=20sortiert=20wird?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rdf/stundenplan_betriebsmittel.rdf.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rdf/stundenplan_betriebsmittel.rdf.php b/rdf/stundenplan_betriebsmittel.rdf.php index 31c8d3057..394c90d86 100644 --- a/rdf/stundenplan_betriebsmittel.rdf.php +++ b/rdf/stundenplan_betriebsmittel.rdf.php @@ -118,7 +118,7 @@ elseif(isset($_REQUEST['von']) && isset($_REQUEST['bis']) && $_REQUEST['xmlforma ) a JOIN lehre.tbl_lehrveranstaltung USING(lehrveranstaltung_id) JOIN public.tbl_studiengang USING(studiengang_kz) - ORDER BY datum, von, ort_kurzbz'; + ORDER BY datum, ort_kurzbz,von'; $stunde = new stunde(); $stunde->loadAll(); From 9c70aa9e928273b4b32cc8fcb07d0423ac8d37a1 Mon Sep 17 00:00:00 2001 From: Gerald Raab Date: Wed, 30 Sep 2015 11:38:21 +0200 Subject: [PATCH 03/21] =?UTF-8?q?anzeige=20addon=20nur=20f=C3=BCr=20inf=20?= =?UTF-8?q?raus?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/tools/zeitaufzeichnung.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php index 5ef4d8807..2e4f012c2 100755 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -109,7 +109,7 @@ $addon_obj = new addon(); $addon_obj->loadAddons(); foreach($addon_obj->result as $addon) { - if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php') && check_infrastruktur($user)) + if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php')) echo ''; } From 753176cb235dcad48b2faa304a391b92ad3cfa22 Mon Sep 17 00:00:00 2001 From: oesi Date: Wed, 30 Sep 2015 13:10:58 +0200 Subject: [PATCH 04/21] Fehler behoben bei dem Zahlungen die auf 0 stehen als offen angezegit wurden --- cis/private/profile/zahlungen.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/private/profile/zahlungen.php b/cis/private/profile/zahlungen.php index e76219d77..d2330e066 100644 --- a/cis/private/profile/zahlungen.php +++ b/cis/private/profile/zahlungen.php @@ -116,7 +116,7 @@ echo ''.$row['parent']->buchungstext.''; echo ''.($betrag<0?'-':($betrag>0?'+':'')).sprintf('%.2f',abs($row['parent']->betrag)).' €'; echo ''; - if($betrag==0 && $row['parent']->betrag<0) + if($betrag==0 && $row['parent']->betrag<=0) echo ''.$p->t('tools/bestaetigungDrucken').''; elseif($row['parent']->betrag>0) { From 12721c3eed8129fca001cb9b3684d370a1379f9e Mon Sep 17 00:00:00 2001 From: kindlm Date: Wed, 30 Sep 2015 14:56:59 +0200 Subject: [PATCH 05/21] =?UTF-8?q?echo=20$qry=20gel=C3=B6scht?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/organisationseinheit.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/organisationseinheit.class.php b/include/organisationseinheit.class.php index bb1be584d..eda9d28a4 100644 --- a/include/organisationseinheit.class.php +++ b/include/organisationseinheit.class.php @@ -573,7 +573,7 @@ class organisationseinheit extends basis_db OR (LOWER(bezeichnung)=LOWER('.$this->db_add_param($value).'))'; } $qry.= ' ORDER BY organisationseinheittyp_kurzbz, bezeichnung;'; - echo $qry; + if($this->db_query($qry)) { while($row = $this->db_fetch_object()) From fc871c3976bd490222b55a1829f4f1b1933625c0 Mon Sep 17 00:00:00 2001 From: oesi Date: Wed, 30 Sep 2015 17:29:48 +0200 Subject: [PATCH 06/21] =?UTF-8?q?Fehler=20behoben=20bei=20dem=20Studierend?= =?UTF-8?q?e=20nicht=20=C3=BCber=20die=20Suche=20gefunden=20wurde=20wenn?= =?UTF-8?q?=20diese=20keinen=20Vornamen=20oder=20Nachnamen=20eingetragen?= =?UTF-8?q?=20haben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- rdf/student.rdf.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rdf/student.rdf.php b/rdf/student.rdf.php index e612a4b01..8168de1d9 100644 --- a/rdf/student.rdf.php +++ b/rdf/student.rdf.php @@ -613,8 +613,8 @@ if($xmlformat=='rdf') FROM public.tbl_person JOIN tbl_prestudent USING (person_id) LEFT JOIN tbl_student using(prestudent_id) WHERE - nachname||' '||vorname ~* '".addslashes($filter)."' OR - vorname||' '||nachname ~* '".addslashes($filter)."' OR + COALESCE(nachname,'')||' '||COALESCE(vorname,'') ~* '".addslashes($filter)."' OR + COALESCE(vorname,'')||' '||COALESCE(nachname,'') ~* '".addslashes($filter)."' OR student_uid ~* '".addslashes($filter)."' OR matrikelnr = '".addslashes($filter)."' OR svnr = '".addslashes($filter)."';"; From 9daf4f74b51f5b09a95aba85a3abd38417d1e9f8 Mon Sep 17 00:00:00 2001 From: oesi Date: Wed, 30 Sep 2015 17:52:03 +0200 Subject: [PATCH 07/21] =?UTF-8?q?Notenimport=20mit=20Spezialnoten=20(zB=20?= =?UTF-8?q?met,=20nb,...)=20ist=20nun=20auch=20im=20FAS=20m=C3=B6glich?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/student/studentDBDML.php | 23 ++++++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 413ba3129..b52c54bc5 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -66,6 +66,7 @@ require_once('../../include/anrechnung.class.php'); require_once('../../include/lehrveranstaltung.class.php'); require_once('../../include/anwesenheit.class.php'); require_once('../../include/benutzerfunktion.class.php'); +require_once('../../include/note.class.php'); $user = get_uid(); $db = new basis_db(); @@ -2818,18 +2819,28 @@ if(!$error) $errormsg = ''; $angerechnet=false; + $noten_anmerkung_arr=array(); + $note_obj = new note(); + $note_obj->getAll(); + foreach($note_obj->result as $row) + $noten_anmerkung_arr[$row->anmerkung]=$row->note; + for($i=0;$i<$_POST['anzahl'];$i++) { if($_POST['matrikelnummer_'.$i]!='') { $zeugnisnote = new zeugnisnote(); $error = false; - if(!is_numeric(trim($_POST['matrikelnummer_'.$i])) || (isset($_POST['note_'.$i]) && !is_numeric($_POST['note_'.$i]))) + if(!is_numeric(trim($_POST['matrikelnummer_'.$i]))) { $error = true; - $errormsg = "\nMatrikelnummer oder Note ist ungueltig: ".$_POST['matrikelnummer_'.$i].' - '.$_POST['note_'.$i]; + $errormsg = "\nMatrikelnummer ist ungueltig: ".$_POST['matrikelnummer_'.$i]; + } + if((isset($_POST['note_'.$i]) && !is_numeric($_POST['note_'.$i]) && !isset($noten_anmerkung_arr[$_POST['note_'.$i]]))) + { + $error = true; + $errormsg = "\nNote ist ungueltig: ".$_POST['note_'.$i]; } - if(!$error) { $qry = "SELECT student_uid, studiengang_kz FROM public.tbl_student WHERE trim(matrikelnr)=".$db->db_add_param(trim($_POST['matrikelnummer_'.$i])); @@ -2911,6 +2922,12 @@ if(!$error) { $zeugnisnote->note = $_POST['note_'.$i]; $zeugnisnote->punkte = null; + // Wenn es nicht numerisch ist, dann nachsehen ob es eine anmerkung gibt die so heisst + // zB fuer met, nb, ar, etc + if(!is_numeric($zeugnisnote->note) && isset($noten_anmerkung_arr[$zeugnisnote->note])) + { + $zeugnisnote->note = $noten_anmerkung_arr[$zeugnisnote->note]; + } } elseif(isset($_POST['punkte_'.$i])) { From c4df88d56748b46b03bb01cf10962c4048abefde Mon Sep 17 00:00:00 2001 From: Nikolaus Krondraf Date: Thu, 1 Oct 2015 07:59:25 +0200 Subject: [PATCH 08/21] =?UTF-8?q?K=C3=BCrzel=20der=20Lehrform=20an=20das?= =?UTF-8?q?=20Ende=20der=20LV-Bezeichnung=20verschoben?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/private/lehre/notenliste.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/private/lehre/notenliste.php b/cis/private/lehre/notenliste.php index 6c7b6c3d2..3a19c6618 100644 --- a/cis/private/lehre/notenliste.php +++ b/cis/private/lehre/notenliste.php @@ -213,7 +213,7 @@ else $lv_obj->load($row->lehrveranstaltung_id); $i++; - $tbl.= "".$lv_obj->lehrform_kurzbz.' '.$lv_obj->bezeichnung_arr[$sprache].""; + $tbl.= "".$lv_obj->bezeichnung_arr[$sprache]." (".$lv_obj->lehrform_kurzbz.")"; $tbl.= ""; //Nur freigegebene Noten anzeigen From f812fce9946b52dd907c6e55132e072d5ea6abd4 Mon Sep 17 00:00:00 2001 From: kindlm Date: Thu, 1 Oct 2015 18:11:27 +0200 Subject: [PATCH 09/21] =?UTF-8?q?Diverse=20optische=20Korrekturen=20(Zeile?= =?UTF-8?q?numbr=C3=BCche)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Schema Addon wird nicht mehr bei Gegenpruefung berücksichtigt --- system/checksystem.php | 61 +++++++++++++++++++++++++++++------------- 1 file changed, 42 insertions(+), 19 deletions(-) diff --git a/system/checksystem.php b/system/checksystem.php index 1f5718b88..2f4ce526e 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -3244,7 +3244,7 @@ if(!$result = @$db->db_query("SELECT warn_semesterstunden_frei FROM public.tbl_o if(!$db->db_query($qry)) echo 'public.tbl_organisationseinheit '.$db->db_last_error().'
'; else - echo ' public.tbl_organisationseinheit: neue Spalte warn_semesterstunden_frei, warn_semesterstunden_fix hinzugefuegt!
'; + echo '
public.tbl_organisationseinheit: neue Spalte warn_semesterstunden_frei, warn_semesterstunden_fix hinzugefuegt!
'; } // Gruppe CMS_LOCK anlegen (benoetigt fuer das Sperren von CMS-Content) @@ -3259,7 +3259,7 @@ if($result = @$db->db_query("SELECT 1 FROM public.tbl_gruppe WHERE gruppe_kurzbz if(!$db->db_query($qry)) echo 'public.tbl_gruppe '.$db->db_last_error().'
'; else - echo ' public.tbl_gruppe: Gruppe CMS_LOCK angelegt (benoetigt fuer das Sperren von CMS-Content)
'; + echo '
public.tbl_gruppe: Gruppe CMS_LOCK angelegt (benoetigt fuer das Sperren von CMS-Content)
'; } } @@ -3276,7 +3276,7 @@ if($result = @$db->db_query("SELECT 1 FROM campus.tbl_dms_kategorie WHERE katego if(!$db->db_query($qry)) echo 'campus.tbl_dms_kategorie '.$db->db_last_error().'
'; else - echo ' campus.tbl_dms_kategorie: Kategorie Akte angelegt und mit Gruppe CMS_LOCK gesperrt
'; + echo '
campus.tbl_dms_kategorie: Kategorie Akte angelegt und mit Gruppe CMS_LOCK gesperrt
'; } } @@ -3293,7 +3293,7 @@ if($result = @$db->db_query("SELECT 1 FROM campus.tbl_dms_kategorie WHERE katego if(!$db->db_query($qry)) echo 'campus.tbl_dms_kategorie '.$db->db_last_error().'
'; else - echo ' campus.tbl_dms_kategorie: Kategorie Notiz angelegt und mit Gruppe CMS_LOCK gesperrt
'; + echo '
campus.tbl_dms_kategorie: Kategorie Notiz angelegt und mit Gruppe CMS_LOCK gesperrt
'; } } @@ -3329,7 +3329,7 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht if(!$db->db_query($qry)) echo 'system.tbl_berechtigung '.$db->db_last_error().'
'; else - echo ' system.tbl_berechtigung: Eigene Berechtigung lehre/lvinfo_freigabe fuer die Freigabe von LV-Infos hinzugefuegt!
'; + echo '
system.tbl_berechtigung: Eigene Berechtigung lehre/lvinfo_freigabe fuer die Freigabe von LV-Infos hinzugefuegt!
'; } } @@ -3349,7 +3349,7 @@ if($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_lehreinhei if(!$db->db_query($qry)) echo 'Indizes: '.$db->db_last_error().'
'; else - echo 'Diverse Indizes fuer Vertraege hinzugefuegt'; + echo '
Diverse Indizes fuer Vertraege hinzugefuegt'; } } @@ -3363,7 +3363,7 @@ if($result = $db->db_query("SELECT 1 FROM lehre.tbl_vertragstyp WHERE vertragsty if(!$db->db_query($qry)) echo 'Vertragstyp: '.$db->db_last_error().'
'; else - echo 'Vertragstyp Pruefungshonorar hinzugefuegt'; + echo '
Vertragstyp Pruefungshonorar hinzugefuegt'; } } @@ -3377,7 +3377,7 @@ if($result = $db->db_query("SELECT 1 FROM lehre.tbl_vertragstyp WHERE vertragsty if(!$db->db_query($qry)) echo 'Vertragstyp: '.$db->db_last_error().'
'; else - echo 'Vertragstyp Lehrauftrag hinzugefuegt'; + echo '
Vertragstyp Lehrauftrag hinzugefuegt'; } } @@ -3391,7 +3391,7 @@ if($result = $db->db_query("SELECT 1 FROM lehre.tbl_vertragsstatus WHERE vertrag if(!$db->db_query($qry)) echo 'Vertragsstatus: '.$db->db_last_error().'
'; else - echo 'Vertragsstatus Neu hinzugefuegt'; + echo '
Vertragsstatus Neu hinzugefuegt'; } } @@ -3405,7 +3405,7 @@ if($result = $db->db_query("SELECT 1 FROM lehre.tbl_vertragsstatus WHERE vertrag if(!$db->db_query($qry)) echo 'Vertragsstatus: '.$db->db_last_error().'
'; else - echo 'Vertragsstatus Abgerechnet hinzugefuegt'; + echo '
Vertragsstatus Abgerechnet hinzugefuegt'; } } @@ -3419,7 +3419,7 @@ if($result = $db->db_query("SELECT 1 FROM lehre.tbl_vertragsstatus WHERE vertrag if(!$db->db_query($qry)) echo 'Vertragsstatus: '.$db->db_last_error().'
'; else - echo 'Vertragsstatus retour hinzugefuegt'; + echo '
Vertragsstatus retour hinzugefuegt'; } } @@ -3433,7 +3433,7 @@ if($result = $db->db_query("SELECT 1 FROM lehre.tbl_vertragsstatus WHERE vertrag if(!$db->db_query($qry)) echo 'Vertragsstatus: '.$db->db_last_error().'
'; else - echo 'Vertragsstatus Storno hinzugefuegt'; + echo '
Vertragsstatus Storno hinzugefuegt'; } } @@ -3446,7 +3446,7 @@ if(!$result = @$db->db_query("SELECT lehrveranstaltung_id FROM lehre.tbl_vertrag if(!$db->db_query($qry)) echo 'Vertrag: '.$db->db_last_error().'
'; else - echo 'Vertrag: Spalte lehrveranstaltung_id hinzugefügt'; + echo '
Vertrag: Spalte lehrveranstaltung_id hinzugefügt'; } // Vertragsstatus gedruckt @@ -3459,7 +3459,7 @@ if($result = $db->db_query("SELECT 1 FROM lehre.tbl_vertragsstatus WHERE vertrag if(!$db->db_query($qry)) echo 'Vertragsstatus: '.$db->db_last_error().'
'; else - echo 'Vertragsstatus gedruckt hinzugefuegt'; + echo '
Vertragsstatus gedruckt hinzugefuegt'; } } @@ -3473,7 +3473,7 @@ if($result = $db->db_query("SELECT 1 FROM public.tbl_funktion WHERE funktion_kur if(!$db->db_query($qry)) echo 'Benutzerfunktion: '.$db->db_last_error().'
'; else - echo 'Benutzerfunktion awbefreit hinzugefuegt'; + echo '
Benutzerfunktion awbefreit hinzugefuegt'; } } @@ -3758,7 +3758,8 @@ foreach ($tabellen AS $attribute) } echo '

Gegenpruefung!

'; -$sql_query="SELECT schemaname,tablename FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema' AND schemaname != 'sync';"; +$error=false; +$sql_query="SELECT schemaname,tablename FROM pg_catalog.pg_tables WHERE schemaname != 'pg_catalog' AND schemaname != 'information_schema' AND schemaname != 'sync' AND schemaname != 'addon';"; if (!$result=@$db->db_query($sql_query)) echo '
'.$db->db_last_error().'
'; else @@ -3766,7 +3767,10 @@ if (!$result=@$db->db_query($sql_query)) { $fulltablename=$row->schemaname.'.'.$row->tablename; if (!isset($tabellen[$fulltablename])) + { echo 'Tabelle '.$fulltablename.' existiert in der DB, aber nicht in diesem Skript!
'; + $error=true; + } else if (!$result_fields=@$db->db_query("SELECT * FROM $fulltablename LIMIT 1;")) echo '
'.$db->db_last_error().'
'; @@ -3782,12 +3786,18 @@ if (!$result=@$db->db_query($sql_query)) break; } if (!$found) + { echo 'Attribut '.$fulltablename.'.'.$fieldnameDB.' existiert in der DB, aber nicht in diesem Skript!
'; + $error=true; + } } } +if($error==false) + echo '
Gegenpruefung fehlerfrei'; // ******** Berechtigungen Prüfen ************/ echo '

Berechtigungen pruefen

'; +$neue=false; $berechtigung_kurzbz=0; $beschreibung=1; $berechtigungen = array( @@ -3849,7 +3859,7 @@ $berechtigungen = array( array('lehre/studienordnung','Studienordnung'), array('lehre/vorrueckung','Lehreinheitenvorrückung'), array('lv-plan','Stundenplan'), - array('lv-plan/gruppenentfernen','erlaut das entfernen von Gruppen aus LVPlan vom FAS aus'), + array('lv-plan/gruppenentfernen','Erlaut das Entfernen von Gruppen aus LVPlan vom FAS aus'), array('mitarbeiter','FAS Mitarbeitermodul'), array('mitarbeiter/bankdaten','Bankdaten für Mitarbeiter und Studierende anzeigen'), array('mitarbeiter/personalnummer','Editieren der Personalnummer im FAS'), @@ -3917,9 +3927,12 @@ foreach($berechtigungen as $row) $db->db_add_param($row[$beschreibung]).');'; if($db->db_query($qry_insert)) - echo '
'.$row[$berechtigung_kurzbz].'/'.$row[$beschreibung].' hinzugefügt'; + { + echo '
'.$row[$berechtigung_kurzbz].' -> '.$row[$beschreibung].' hinzugefügt'; + $neue=true; + } else - echo '
Fehler: '.$row[$berechtigung_kurzbz].'/'.$row[$beschreibung].' hinzufügen nicht möglich'; + echo '
Fehler: '.$row[$berechtigung_kurzbz].' -> '.$row[$beschreibung].' hinzufügen nicht möglich'; //Wenn das Recht basis/vilesci neu angelegt wurde, dann dieses Recht jedem geben, der bisher auch Zugriff auf Vilesci hatte. if ($row[$berechtigung_kurzbz]=='basis/vilesci') @@ -3959,11 +3972,15 @@ foreach($berechtigungen as $row) } } } +if($neue==false) + echo '
Keine neuen Berechtigungen'; + // ******** Pruefen ob die Webservice Berechtigungen alle gesetzt sind ********** echo '

Webservice Berechtigungen pruefen

'; // berechtigung_kurzbz,methode,klasse +$neue=false; $berechtigung_kurzbz=0; $methode=1; $klasse=2; @@ -4018,12 +4035,18 @@ foreach($webservicerecht as $row) $db->db_add_param($row[$klasse]).');'; if($db->db_query($qry_insert)) + { echo '
'.$row[$berechtigung_kurzbz].'/'.$row[$methode].'->'.$row[$klasse].' hinzugefügt'; + $neue=true; + } else echo '
Fehler: '.$row[$berechtigung_kurzbz].'/'.$row[$methode].'->'.$row[$klasse].' hinzufügen nicht möglich'; } } } +if($neue==false) + echo '
Keine neuen Webservicerechte'; + echo ''; ?> From 61533035ede1d24982a970d215e5e567d9293560 Mon Sep 17 00:00:00 2001 From: oesi Date: Mon, 5 Oct 2015 11:06:09 +0200 Subject: [PATCH 10/21] Pruefungen werden nun auch angelegt wenn Noten Uebernommen oder importiert werden --- content/student/studentDBDML.php | 304 +++++++++++++------------------ 1 file changed, 124 insertions(+), 180 deletions(-) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index b52c54bc5..730b4cc6f 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -151,6 +151,114 @@ function generateMatrikelnummer($studiengang_kz, $studiensemester_kurzbz) } } +/** + * Wenn die Anwesenheit und einen bestimmten Prozentsatz faellt, wird ein Pruefungstermin abgezogen + * @param $studiensemester_kurzbz + * @param $student_uid + * @param $lehrveranstaltung_id + * @param $note + * @return null, error wird direkt in globale Variable geschrieben + */ +function NotePruefungAnlegen($studiensemester_kurzbz, $student_uid, $lehrveranstaltung_id, $note) +{ + global $return, $error, $errormsg; + + $db = new basis_db(); + $anwesenheit = new anwesenheit(); + $anwesenheit->loadAnwesenheitStudiensemester($studiensemester_kurzbz, $student_uid, $lehrveranstaltung_id); + + // Lehreinheit ermitteln + $error = false; + $qry = "SELECT lehreinheit_id FROM campus.vw_student_lehrveranstaltung " + . "WHERE uid=".$db->db_add_param($student_uid)." AND lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id)." " + . "ORDER BY lehreinheit_id ASC " + . "LIMIT 1"; + + if($result = $db->db_query($qry)) + { + if($row = $db->db_fetch_object($result)) + { + $lehreinheit_id = $row->lehreinheit_id; + } + else + { + $return = false; + $error = true; + $errormsg = 'Fehler beim Ermitteln der Lehreinheit ID'; + } + } + else + { + $return = false; + $error = true; + $errormsg = 'Fehler beim Ermitteln der Lehreinheit ID'; + } + + if(!$error) + { + $pruefung = new pruefung; + $pruefung->new = true; + $pruefung->student_uid = $student_uid; + $pruefung->lehreinheit_id = $lehreinheit_id; + $pruefung->datum = date("Y-m-d"); + + $stsem_obj = new studiensemester(); + $stsem_obj->load($studiensemester_kurzbz); + + // In Benutzerfunktion nachsehen ob eine Anwesenheitsbefreiung eingetragen ist + $benutzerfunktion = new benutzerfunktion(); + $benutzerfunktion->getBenutzerFunktionByUid($student_uid, 'awbefreit', $stsem_obj->start, $stsem_obj->ende); + + $anwesenheitsbefreit=false; + if(count($benutzerfunktion->result)>0) + $anwesenheitsbefreit=true; + + // Wenn nicht Anwesenheitsbefreit und Anwesenheit unter einem bestimmten Prozentsatz faellt dann wird ein + // Pruefungsantritt abgezogen + if(isset($anwesenheit->result[0]) && $anwesenheit->result[0]->prozent < FAS_ANWESENHEIT_ROT && !$anwesenheitsbefreit) + { + // 1. Termin mit "nicht beurteilt" erstellen + $pruefung->pruefungstyp_kurzbz = "Termin1"; + $pruefung->note = 7; + if($pruefung->save()) + { + // 2. Termin mit Note erstellen + $pruefung->pruefungstyp_kurzbz = "Termin2"; + $pruefung->note = $note; + if($pruefung->save()) + { + $return = true; + } + else + { + $errormsg = $pruefung->errormsg; + $return = false; + } + } + else + { + $errormsg = $pruefung->errormsg; + $return = false; + } + } + else + { + // 1. Termin mit Note erstellen + $pruefung->pruefungstyp_kurzbz = "Termin1"; + $pruefung->note = $note; + + if($pruefung->save()) + { + $return = true; + } + else + { + $errormsg = $pruefung->errormsg; + $return = false; + } + } + } +} if(!$error) { @@ -2588,101 +2696,8 @@ if(!$error) if(FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $return == true && $noten->new == true) { - $anwesenheit = new anwesenheit(); - $anwesenheit->loadAnwesenheitStudiensemester($studiensemester_kurzbz, $student_uid, $lehrveranstaltung_id); - - // Lehreinheit ermitteln - $error = false; - $qry = "SELECT lehreinheit_id FROM campus.vw_student_lehrveranstaltung " - . "WHERE uid=".$db->db_add_param($student_uid)." AND lehrveranstaltung_id=".$db->db_add_param($lehrveranstaltung_id)." " - . "ORDER BY lehreinheit_id ASC " - . "LIMIT 1"; - - if($result = $db->db_query($qry)) - { - if($row = $db->db_fetch_object($result)) - { - $lehreinheit_id = $row->lehreinheit_id; - } - else - { - $return = false; - $error = true; - $errormsg = 'Fehler beim Ermitteln der Lehreinheit ID'; - } - } - else - { - $return = false; - $error = true; - $errormsg = 'Fehler beim Ermitteln der Lehreinheit ID'; - } - - if(!$error) - { - $pruefung = new pruefung; - $pruefung->new = true; - $pruefung->student_uid = $student_uid; - $pruefung->lehreinheit_id = $lehreinheit_id; - $pruefung->datum = date("Y-m-d"); - - $stsem_obj = new studiensemester(); - $stsem_obj->load($studiensemester_kurzbz); - - // In Benutzerfunktion nachsehen ob eine Anwesenheitsbefreiung eingetragen ist - $benutzerfunktion = new benutzerfunktion(); - $benutzerfunktion->getBenutzerFunktionByUid($student_uid, 'awbefreit', $stsem_obj->start, $stsem_obj->ende); - - $anwesenheitsbefreit=false; - if(count($benutzerfunktion->result)>0) - $anwesenheitsbefreit=true; - - // Wenn nicht Anwesenheitsbefreit und Anwesenheit unter einem bestimmten Prozentsatz faellt dann wird ein - // Pruefungsantritt abgezogen - if(isset($anwesenheit->result[0]) && $anwesenheit->result[0]->prozent < FAS_ANWESENHEIT_ROT && !$anwesenheitsbefreit) - { - // 1. Termin mit "nicht beurteilt" erstellen - $pruefung->pruefungstyp_kurzbz = "Termin1"; - $pruefung->note = 7; - if($pruefung->save()) - { - // 2. Termin mit Note erstellen - $pruefung->pruefungstyp_kurzbz = "Termin2"; - $pruefung->note = $noten->note; - if($pruefung->save()) - { - $return = true; - } - else - { - $errormsg = $pruefung->errormsg; - $return = false; - } - } - else - { - $errormsg = $pruefung->errormsg; - $return = false; - } - } - else - { - // 1. Termin mit Note erstellen - $pruefung->pruefungstyp_kurzbz = "Termin1"; - $pruefung->note = $noten->note; - - if($pruefung->save()) - { - $return = true; - } - else - { - $errormsg = $pruefung->errormsg; - $return = false; - } - } - } - } + NotePruefungAnlegen($studiensemester_kurzbz, $student_uid, $lehrveranstaltung_id, $noten->note); + } } } } @@ -2792,6 +2807,13 @@ if(!$error) { $errormsg .= "\n".$zeugnisnote->errormsg; } + else + { + if(FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $zeugnisnote->new == true) + { + NotePruefungAnlegen($zeugnisnote->studiensemester_kurzbz, $zeugnisnote->student_uid, $zeugnisnote->lehrveranstaltung_id, $zeugnisnote->note); + } + } } else { @@ -2944,91 +2966,13 @@ if(!$error) { $errormsg .= "\n".$zeugnisnote->errormsg; } - - if(FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $errormsg == '' && $zeugnisnote->new == true) - { - $anwesenheit = new anwesenheit(); - $anwesenheit->loadAnwesenheitStudiensemester($semester_aktuell, $uid, $_POST['lehrveranstaltung_id']); - - // Lehreinheit ermitteln - $error = false; - $qry = "SELECT lehreinheit_id FROM campus.vw_student_lehrveranstaltung " - . "WHERE uid=".$db->db_add_param($uid)." AND lehrveranstaltung_id=".$db->db_add_param($_POST['lehrveranstaltung_id'])." " - . "ORDER BY lehreinheit_id ASC " - . "LIMIT 1"; - - if($result = $db->db_query($qry)) - { - if($row = $db->db_fetch_object($result)) - { - $lehreinheit_id = $row->lehreinheit_id; - } - else - { - $return = false; - $error = true; - $errormsg = 'Fehler beim Ermitteln der Lehreinheit ID'; - } - } - else - { - $return = false; - $error = true; - $errormsg = 'Fehler beim Ermitteln der Lehreinheit ID'; - } - - if(!$error) - { - $pruefung = new pruefung; - $pruefung->new = true; - $pruefung->student_uid = $uid; - $pruefung->lehreinheit_id = $lehreinheit_id; - $pruefung->datum = date("Y-m-d"); - - if(isset($anwesenheit->result[0]) && $anwesenheit->result[0]->prozent < FAS_ANWESENHEIT_ROT) - { - // 1. Termin mit "nicht beurteilt" erstellen - $pruefung->pruefungstyp_kurzbz = "Termin1"; - $pruefung->note = 7; - if($pruefung->save()) - { - // 2. Termin mit Note erstellen - $pruefung->pruefungstyp_kurzbz = "Termin2"; - $pruefung->note = $zeugnisnote->note; - if($pruefung->save()) - { - $return = true; - } - else - { - $errormsg = $pruefung->errormsg; - $return = false; - } - } - else - { - $errormsg = $pruefung->errormsg; - $return = false; - } - } - else - { - // 1. Termin mit Note erstellen - $pruefung->pruefungstyp_kurzbz = "Termin1"; - $pruefung->note = $zeugnisnote->note; - - if($pruefung->save()) - { - $return = true; - } - else - { - $errormsg = $pruefung->errormsg; - $return = false; - } - } - } - } + else + { + if(FAS_PRUEFUNG_BEI_NOTENEINGABE_ANLEGEN && $zeugnisnote->new == true) + { + NotePruefungAnlegen($semester_aktuell, $uid, $_POST['lehrveranstaltung_id'], $zeugnisnote->note); + } + } } } } From ceb8c55751bcb95d75ea68dd4af3058cccd6e8a8 Mon Sep 17 00:00:00 2001 From: oesi Date: Mon, 5 Oct 2015 11:32:39 +0200 Subject: [PATCH 11/21] =?UTF-8?q?Anmerkung=20kann=20nun=20beim=20Anlegen?= =?UTF-8?q?=20von=20Pr=C3=BCfungsvertr=C3=A4gen=20editiert=20werden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../lehrveranstaltungnotenoverlay.xul.php | 80 ++++++++++--------- .../lvplanung/lehrveranstaltungoverlay.js.php | 5 +- 2 files changed, 47 insertions(+), 38 deletions(-) diff --git a/content/lvplanung/lehrveranstaltungnotenoverlay.xul.php b/content/lvplanung/lehrveranstaltungnotenoverlay.xul.php index 3fd86810f..02d1dfc55 100644 --- a/content/lvplanung/lehrveranstaltungnotenoverlay.xul.php +++ b/content/lvplanung/lehrveranstaltungnotenoverlay.xul.php @@ -271,43 +271,49 @@ if(defined('FAS_GESAMTNOTE_PRUEFUNGSHONORAR') && FAS_GESAMTNOTE_PRUEFUNGSHONORAR - -