From 57a644cf998e984a149b127c89d81a3a4bbde2a6 Mon Sep 17 00:00:00 2001 From: oesi Date: Mon, 1 Jun 2015 17:54:04 +0200 Subject: [PATCH 01/16] =?UTF-8?q?-=20Kollisionsfreie=20User=20werden=20in?= =?UTF-8?q?=20Verbandsansicht=20nicht=20mehr=20als=20Kollision=20angezeigt?= =?UTF-8?q?=20-=20Drop=20auf=20Lehrstunde=20ist=20jetzt=20auch=20f=C3=BCr?= =?UTF-8?q?=20bereits=20verplante=20Stunden=20m=C3=B6glich=20-=20Stunde=20?= =?UTF-8?q?und=20Tag=20Info=20wird=20jetzt=20auch=20dann=20angezeigt=20wen?= =?UTF-8?q?n=20eine=20Stunde=20verschoben=20wird?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/dragboard.js.php | 36 ++++++++++++++++++++++++ content/lvplanung/timetable-week.xul.php | 7 +++++ include/lehrstunde.class.php | 2 ++ include/wochenplan.class.php | 9 ++++-- skin/tempus.css | 2 +- 5 files changed, 52 insertions(+), 4 deletions(-) diff --git a/content/dragboard.js.php b/content/dragboard.js.php index 07012ca78..b4fc7da1e 100644 --- a/content/dragboard.js.php +++ b/content/dragboard.js.php @@ -460,17 +460,53 @@ var boardObserver= { var styleNow=evt.target.getAttribute("style"); if (evt.target.tagName=="label") + { evt.target.setAttribute("style","background-color:#AAFFAA;"); + + var tagesinfo = evt.target.parentNode.getElementsByClassName('stplweek_tagesinfo'); + if(typeof tagesinfo[0]!='undefined') + { + var Tagesinfostyle = tagesinfo[0].getAttribute("style"); + tagesinfo[0].setAttribute("style",Tagesinfostyle+";visibility:visible;"); + } + } else + { evt.target.setAttribute("style",styleNow+";border:1px dashed black;"); + + var tagesinfo = evt.target.getElementsByClassName('stplweek_tagesinfo'); + if(typeof tagesinfo[0]!='undefined') + { + var Tagesinfostyle = tagesinfo[0].getAttribute("style"); + tagesinfo[0].setAttribute("style",Tagesinfostyle+";visibility:visible;"); + } + } }, onDragExit: function (evt,flavour,session) { var styleNow=evt.target.getAttribute("style"); if (evt.target.tagName=="label") + { evt.target.setAttribute("style",""); + + var tagesinfo = evt.target.parentNode.getElementsByClassName('stplweek_tagesinfo'); + if(typeof tagesinfo[0]!='undefined') + { + var Tagesinfostyle = tagesinfo[0].getAttribute("style"); + tagesinfo[0].setAttribute("style",Tagesinfostyle+";visibility:hidden;"); + } + } else + { evt.target.setAttribute("style",styleNow+";border:1px solid black;"); + + var tagesinfo = evt.target.getElementsByClassName('stplweek_tagesinfo'); + if(typeof tagesinfo[0]!='undefined') + { + var Tagesinfostyle = tagesinfo[0].getAttribute("style"); + tagesinfo[0].setAttribute("style",Tagesinfostyle+";visibility:hidden;"); + } + } }, onDragOver: function(evt,flavour,session) { diff --git a/content/lvplanung/timetable-week.xul.php b/content/lvplanung/timetable-week.xul.php index 04cd4fef9..16ed153d1 100644 --- a/content/lvplanung/timetable-week.xul.php +++ b/content/lvplanung/timetable-week.xul.php @@ -275,6 +275,10 @@ if ($aktion=='stpl_move' || $aktion=='stpl_set') $lehrstunde->ort_kurzbz=$ort; if ($aktion=='stpl_set') $lehrstunde->ort_kurzbz=$new_ort; + + if($new_unr!='') + $lehrstunde->unr = $new_unr; + $kollision=$lehrstunde->kollision($db_stpl_table); if ($kollision && !$ignore_kollision) $kollision_msg.=$lehrstunde->errormsg; @@ -308,6 +312,9 @@ if ($aktion=='stpl_move' || $aktion=='stpl_set') $lehrstunde->ort_kurzbz=$ort; if ($aktion=='stpl_set') $lehrstunde->ort_kurzbz=$new_ort; + if($new_unr!='') + $lehrstunde->unr = $new_unr; + $kollision=$lehrstunde->kollision($db_stpl_table); if ($kollision && !$ignore_kollision) $kollision_msg.=$lehrstunde->errormsg; diff --git a/include/lehrstunde.class.php b/include/lehrstunde.class.php index ba3fe65d1..50310123f 100644 --- a/include/lehrstunde.class.php +++ b/include/lehrstunde.class.php @@ -156,6 +156,8 @@ class lehrstunde extends basis_db $sql_query='UPDATE '.$stpl_table; $sql_query.=" SET datum=".$this->db_add_param($this->datum).", stunde=".$this->db_add_param($this->stunde); $sql_query.=", ort_kurzbz=".$this->db_add_param($this->ort_kurzbz).", mitarbeiter_uid=".$this->db_add_param($this->lektor_uid); + if($this->unr!='') + $sql_query.=", unr=".$this->db_add_param($this->unr); $sql_query.=", updateamum=now(), updatevon=".$this->db_add_param($uid); $sql_query.=" WHERE $stpl_id=".$this->db_add_param($this->stundenplan_id); diff --git a/include/wochenplan.class.php b/include/wochenplan.class.php index 4aac262b2..6f3b9eba0 100644 --- a/include/wochenplan.class.php +++ b/include/wochenplan.class.php @@ -1417,9 +1417,12 @@ class wochenplan extends basis_db if(isset($lktcheck[$lehrstunde->lektor]) && $lktcheck[$lehrstunde->lektor]!=$lehrstunde->unr) { - $kollision++; - $kollisionsmeldungen[$lehrstunde->unr][]=" LektorIn ".$lehrstunde->lektor; //." ".$lehrstunde->unr."!=".$lktcheck[$lehrstunde->lektor]; - $kollisionsmeldungen[$lktcheck[$lehrstunde->lektor]][]=" LektorIn ".$lehrstunde->lektor; //." ".$lehrstunde->unr."!=".$lktcheck[$lehrstunde->lektor]; + if(!in_array($lehrstunde->lektor_uid, unserialize(KOLLISIONSFREIE_USER))) + { + $kollision++; + $kollisionsmeldungen[$lehrstunde->unr][]=" LektorIn ".$lehrstunde->lektor; //." ".$lehrstunde->unr."!=".$lktcheck[$lehrstunde->lektor]; + $kollisionsmeldungen[$lktcheck[$lehrstunde->lektor]][]=" LektorIn ".$lehrstunde->lektor; //." ".$lehrstunde->unr."!=".$lktcheck[$lehrstunde->lektor]; + } } else $lktcheck[$lehrstunde->lektor]=$lehrstunde->unr; diff --git a/skin/tempus.css b/skin/tempus.css index 52c5fa1e1..0b48efb26 100644 --- a/skin/tempus.css +++ b/skin/tempus.css @@ -154,11 +154,11 @@ toolbarbutton.stplweekoverlay-toolbarbutton:hover .stplweek_vbox:hover .stplweek_tagesinfo { - color: #AAAAAA; visibility:visible; } .stplweek_tagesinfo { + color: #AAAAAA; visibility:hidden; } From 35c779775db36d608d04effcc3414c0b83991ba4 Mon Sep 17 00:00:00 2001 From: oesi Date: Mon, 1 Jun 2015 17:56:37 +0200 Subject: [PATCH 02/16] Warnings bei der Dokumentenanzeige von Outgoing behoben --- include/akte.class.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/akte.class.php b/include/akte.class.php index fbcdc48ea..31bf9a1ca 100644 --- a/include/akte.class.php +++ b/include/akte.class.php @@ -342,7 +342,8 @@ class akte extends basis_db { $qry = "SELECT akte_id, person_id, dokument_kurzbz, mimetype, erstelltam, gedruckt, - titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid + titel, bezeichnung, updateamum, insertamum, updatevon, insertvon, uid, + dms_id,nachgereicht,anmerkung,titel_intern,anmerkung_intern FROM public.tbl_akte WHERE person_id=".$this->db_add_param($person_id, FHC_INTEGER); $qry.=" AND dokument_kurzbz IN ('Lebenslf','Motivat','LearnAgr')"; @@ -372,7 +373,7 @@ class akte extends basis_db $akten->nachgereicht = $this->db_parse_bool($row->nachgereicht); $akten->anmerkung = $row->anmerkung; $akten->titel_intern = $row->titel_intern; - $akten->anmerkung_intern = $row->anmerkung_inter; + $akten->anmerkung_intern = $row->anmerkung_intern; $this->result[] = $akten; } From f5ed1f15e4e578804c7a6616a0b3e614302f887e Mon Sep 17 00:00:00 2001 From: oesi Date: Tue, 2 Jun 2015 15:07:16 +0200 Subject: [PATCH 03/16] Leistungsbeurteilung ausblendbar --- config/global.config-default.inc.php | 1 + include/tw/cis_menu_lv.inc.php | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index a457962f2..0c4ac7fcc 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -16,6 +16,7 @@ define('CIS_LEHRVERANSTALTUNG_MAILSTUDIERENDE_ANZEIGEN',true); define('CIS_LEHRVERANSTALTUNG_STUDENTENUPLOAD_ANZEIGEN',true); define('CIS_LEHRVERANSTALTUNG_SEMESTERPLAN_ANZEIGEN',true); define('CIS_LEHRVERANSTALTUNG_LVINFO_ANZEIGEN',true); +define('CIS_LEHRVERANSTALTUNG_LEISTUNGSUEBERSICHT_ANZEIGEN',true); define('CIS_LEHRVERANSTALTUNG_SEMESTERINFO_ANZEIGEN',true); define('CIS_LEHRVERANSTALTUNG_LEHRFACH_ANZEIGEN',false); define('CIS_LEHRVERANSTALTUNG_GESAMTNOTE_ANZEIGEN', true); diff --git a/include/tw/cis_menu_lv.inc.php b/include/tw/cis_menu_lv.inc.php index 5db91a048..1604e1f8f 100644 --- a/include/tw/cis_menu_lv.inc.php +++ b/include/tw/cis_menu_lv.inc.php @@ -327,7 +327,7 @@ function checkZeilenUmbruch() } } } - if($angemeldet || $is_lector) + if(CIS_LEHRVERANSTALTUNG_LEISTUNGSUEBERSICHT_ANZEIGEN && ($angemeldet || $is_lector)) { if(isset($dest_dir) && isset($dir_empty) && $dir_empty == false) { From fc7383a9e6b8e4fbcb5dc027ccbf3627d267313a Mon Sep 17 00:00:00 2001 From: oesi Date: Tue, 2 Jun 2015 15:31:06 +0200 Subject: [PATCH 04/16] Icon nicht sichtbar wenn Leistungsbeurteilung/Anwesenheit nicht sichtbar --- include/tw/cis_menu_lv.inc.php | 125 +++++++++++++++++---------------- 1 file changed, 64 insertions(+), 61 deletions(-) diff --git a/include/tw/cis_menu_lv.inc.php b/include/tw/cis_menu_lv.inc.php index 1604e1f8f..1d9b2d40b 100644 --- a/include/tw/cis_menu_lv.inc.php +++ b/include/tw/cis_menu_lv.inc.php @@ -273,76 +273,79 @@ function checkZeilenUmbruch() checkZeilenUmbruch(); - $eintraegeprozeile++; - echo ''; + if(CIS_LEHRVERANSTALTUNG_LEISTUNGSUEBERSICHT_ANZEIGEN || $is_lector) + { - if($angemeldet || $is_lector) - echo '
'; + $eintraegeprozeile++; + echo ''; + + if(CIS_LEHRVERANSTALTUNG_LEISTUNGSUEBERSICHT_ANZEIGEN && ($angemeldet || $is_lector)) + echo '
'; - if($is_lector) - { - //Anwesenheitsliste - echo "".$p->t('lehre/anwesenheitsUndNotenlisten')."
"; - } + if($is_lector) + { + //Anwesenheitsliste + echo "".$p->t('lehre/anwesenheitsUndNotenlisten')."
"; + } - //Leistungsuebersicht - $dir_name=$DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester.'/'.mb_strtolower($short_short_name).'/leistung'; + //Leistungsuebersicht + $dir_name=$DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester.'/'.mb_strtolower($short_short_name).'/leistung'; - $dest_dir = @dir($dir_name); - if(!@is_dir($dest_dir->path)) - { - if(!@is_dir(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz))) + $dest_dir = @dir($dir_name); + if(!@is_dir($dest_dir->path)) { - exec('mkdir -m 755 '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz))); - exec('sudo chown www-data:teacher '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz))); - } - if(!@is_dir(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester)) - { - exec('mkdir -m 755 '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester)); - exec('sudo chown www-data:teacher '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester)); - } - if(!@is_dir(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester.'/'.mb_strtolower($short_short_name))) - { - exec('mkdir -m 755 '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester.'/'.mb_strtolower($short_short_name))); - exec('sudo chown www-data:teacher '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester.'/'.mb_strtolower($short_short_name))); - } - if(!@is_dir(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester.'/'.mb_strtolower($short_short_name).'/leistung')) - { - exec('mkdir -m 775 '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester.'/'.mb_strtolower($short_short_name).'/leistung')); - exec('sudo chown www-data:teacher '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester.'/'.mb_strtolower($short_short_name).'/leistung')); - } - } - - if($dest_dir) - { - $dir_empty = true; - - while($entry = $dest_dir->read()) - { - if($entry != "." && $entry != "..") + if(!@is_dir(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz))) { - $dir_empty = false; - - break; + exec('mkdir -m 755 '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz))); + exec('sudo chown www-data:teacher '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz))); + } + if(!@is_dir(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester)) + { + exec('mkdir -m 755 '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester)); + exec('sudo chown www-data:teacher '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester)); + } + if(!@is_dir(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester.'/'.mb_strtolower($short_short_name))) + { + exec('mkdir -m 755 '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester.'/'.mb_strtolower($short_short_name))); + exec('sudo chown www-data:teacher '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester.'/'.mb_strtolower($short_short_name))); + } + if(!@is_dir(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester.'/'.mb_strtolower($short_short_name).'/leistung')) + { + exec('mkdir -m 775 '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester.'/'.mb_strtolower($short_short_name).'/leistung')); + exec('sudo chown www-data:teacher '.escapeshellarg(DOC_ROOT.'/documents/'.mb_strtolower($kurzbz).'/'.$semester.'/'.mb_strtolower($short_short_name).'/leistung')); } } - } - if(CIS_LEHRVERANSTALTUNG_LEISTUNGSUEBERSICHT_ANZEIGEN && ($angemeldet || $is_lector)) - { - if(isset($dest_dir) && isset($dir_empty) && $dir_empty == false) - { - echo ''; - echo ''.$p->t('lehre/leistungsuebersicht').''; - echo ''; - } - else - { - echo ''.$p->t('lehre/leistungsuebersicht').''; - } - } - echo ''; - + if($dest_dir) + { + $dir_empty = true; + + while($entry = $dest_dir->read()) + { + if($entry != "." && $entry != "..") + { + $dir_empty = false; + + break; + } + } + } + if(CIS_LEHRVERANSTALTUNG_LEISTUNGSUEBERSICHT_ANZEIGEN && ($angemeldet || $is_lector)) + { + if(isset($dest_dir) && isset($dir_empty) && $dir_empty == false) + { + echo ''; + echo ''.$p->t('lehre/leistungsuebersicht').''; + echo ''; + } + else + { + echo ''.$p->t('lehre/leistungsuebersicht').''; + } + } + + echo ''; + } checkZeilenUmbruch(); //Keine Newsgroups fuer Studiengang '0' (Freifaecher) anzeigen From 4453c2cf4cdcc06824aea0de46f122ae63796d6d Mon Sep 17 00:00:00 2001 From: oesi Date: Tue, 2 Jun 2015 15:34:58 +0200 Subject: [PATCH 05/16] Bug Fixed --- include/tw/cis_menu_lv.inc.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/tw/cis_menu_lv.inc.php b/include/tw/cis_menu_lv.inc.php index 1d9b2d40b..3102c9e34 100644 --- a/include/tw/cis_menu_lv.inc.php +++ b/include/tw/cis_menu_lv.inc.php @@ -279,7 +279,7 @@ function checkZeilenUmbruch() $eintraegeprozeile++; echo ''; - if(CIS_LEHRVERANSTALTUNG_LEISTUNGSUEBERSICHT_ANZEIGEN && ($angemeldet || $is_lector)) + if((CIS_LEHRVERANSTALTUNG_LEISTUNGSUEBERSICHT_ANZEIGEN && $angemeldet) || $is_lector) echo '
'; if($is_lector) From d544aae0d17817d71e67c4e75af348649bc643e9 Mon Sep 17 00:00:00 2001 From: oesi Date: Thu, 4 Jun 2015 09:32:01 +0200 Subject: [PATCH 06/16] Terminliste und Export bei Studierenden, Mitarbeitern und Lehrveranstaltungen/Lehreinheiten --- .../lvplanung/lehrveranstaltungoverlay.js.php | 38 +++++ .../lehrveranstaltungoverlay.xul.php | 2 + content/mitarbeiter/mitarbeiteroverlay.js.php | 17 +++ .../mitarbeiter/mitarbeiteroverlay.xul.php | 2 + content/statistik/termine.xls.php | 128 +++++++++++++++++ content/student/studentenoverlay.xul.php | 2 + content/student/studentoverlay.js.php | 20 +++ content/termine.js.php | 75 ++++++++++ content/termine.xul.php | 130 ++++++++++++++++++ include/anwesenheit.class.php | 35 +++++ include/basis_db.class.php | 1 + include/lehrstunde.class.php | 76 ++++++++++ include/pgsql.class.php | 18 +++ rdf/termine.rdf.php | 97 +++++++++++++ 14 files changed, 641 insertions(+) create mode 100644 content/statistik/termine.xls.php create mode 100644 content/termine.js.php create mode 100644 content/termine.xul.php create mode 100644 rdf/termine.rdf.php diff --git a/content/lvplanung/lehrveranstaltungoverlay.js.php b/content/lvplanung/lehrveranstaltungoverlay.js.php index fe986a6fb..1b84e253e 100644 --- a/content/lvplanung/lehrveranstaltungoverlay.js.php +++ b/content/lvplanung/lehrveranstaltungoverlay.js.php @@ -759,6 +759,12 @@ function LeAuswahl() document.getElementById('lehrveranstaltung-tab-lvangebot').collapsed=false; LvAngebotLoad(lehrveranstaltung_id); + if(document.getElementById('lehrveranstaltung-tabs').selectedItem==document.getElementById('lehrveranstaltung-tab-termine')) + { + // Termine Laden + document.getElementById('lehrveranstaltung-termine').setAttribute('src','termine.xul.php?lehrveranstaltung_id='+lehrveranstaltung_id); + } + LeDetailDisableFields(true); //Details zuruecksetzen LeDetailReset(); @@ -779,6 +785,12 @@ function LeAuswahl() //LV-Angebot Tab ausblenden document.getElementById('lehrveranstaltung-tab-lvangebot').collapsed=true; + if(document.getElementById('lehrveranstaltung-tabs').selectedItem==document.getElementById('lehrveranstaltung-tab-termine')) + { + // Termine Laden + document.getElementById('lehrveranstaltung-termine').setAttribute('src','termine.xul.php?lehreinheit_id='+lehreinheit_id); + } + document.getElementById('lehrveranstaltung-toolbar-neu').disabled=true; document.getElementById('lehrveranstaltung-toolbar-del').disabled=false; @@ -2327,3 +2339,29 @@ function LvAngebotNew() LvAngebotReset(); LvAngebotGruppeTreeRefresh(); } + +/** + * Laedt die Termine einer Lehrveranstaltung/Lehreinheit wenn auf den Tab gewechselt wird + */ +function LehrveranstaltungTermineIFrameLoad() +{ + var tree = document.getElementById('lehrveranstaltung-tree'); + + if (tree.currentIndex==-1) + return; + try + { + //Ausgewaehlte Lehreinheit holen + var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-lehreinheit_id"] : "lehrveranstaltung-treecol-lehreinheit_id"; + var lehreinheit_id=tree.view.getCellText(tree.currentIndex,col); + var col = tree.columns ? tree.columns["lehrveranstaltung-treecol-lehrveranstaltung_id"] : "lehrveranstaltung-treecol-lehrveranstaltung_id"; + var lehrveranstaltung_id=tree.view.getCellText(tree.currentIndex,col); + + if(lehreinheit_id!='') + document.getElementById('lehrveranstaltung-termine').setAttribute('src','termine.xul.php?lehreinheit_id='+lehreinheit_id); + else + document.getElementById('lehrveranstaltung-termine').setAttribute('src','termine.xul.php?lehrveranstaltung_id='+lehrveranstaltung_id); + } + catch(e) + {} +} diff --git a/content/lvplanung/lehrveranstaltungoverlay.xul.php b/content/lvplanung/lehrveranstaltungoverlay.xul.php index e74717768..fde02e919 100644 --- a/content/lvplanung/lehrveranstaltungoverlay.xul.php +++ b/content/lvplanung/lehrveranstaltungoverlay.xul.php @@ -248,6 +248,7 @@ echo ' + @@ -257,6 +258,7 @@ echo ' +