From 4e0dfbf28a7f5f685115c7ade427ba18bece6737 Mon Sep 17 00:00:00 2001 From: OliiverHacker Date: Tue, 23 Mar 2021 13:24:15 +0100 Subject: [PATCH 01/17] change studienblatt if AbbrecherIn --- rdf/studienblatt.xml.php | 31 +++++++++++++++++++++++++++---- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/rdf/studienblatt.xml.php b/rdf/studienblatt.xml.php index 7756901f5..e9e82cbbf 100644 --- a/rdf/studienblatt.xml.php +++ b/rdf/studienblatt.xml.php @@ -156,12 +156,26 @@ foreach($uid_arr as $uid) echo "\t\tregelstudiendauer!=0?$studienordnung->ects/$studienplan->regelstudiendauer:0)."]]>"; echo "\t\t"; + $status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,null,null))?$prestudent->status_kurzbz:''; + $abbrecher = 'false'; + if ($status_aktuell == 'Abbrecher') + { + $ausbildungssemester_titel = "Abgemeldet im Ausbildungssemester"; + $studiensemester_titel = "Abgemeldet im Studiensemester"; + } + else + { + $ausbildungssemester_titel = "Aktuelles Ausbildungssemester"; + $studiensemester_titel = "Abgemeldet im Studiensemester"; + } + echo "\t\t"; echo "\t\tausbildungssemester."]]>"; $studiensemester_aktuell = new studiensemester(); $studiensemester_aktuell->load($studiensemester); + echo "\t\t"; echo "\t\tbezeichnung."]]>"; // check ob Oeh-Beitrag bezahlt wurde @@ -184,15 +198,14 @@ foreach($uid_arr as $uid) $abschluss = $studiensemester_abschluss->jump($prestudent->studiensemester_kurzbz, $studienplan->regelstudiendauer-$prestudent->ausbildungssemester); $studiensemester_abschluss->load($abschluss); echo "\t\tbezeichnung."]]>"; - echo "\t\tende))."]]>"; $studiensemester_endedatum = new studiensemester(); $studiensemester_endedatum->load($studiensemester_endedatum->getaktorNext(1)); - echo "\t\tende))."]]>"; - $status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,null,null))?$prestudent->status_kurzbz:''; + $enddatum = date('d.m.Y',strtotime($studiensemester_abschluss->ende)); + $letztesStudiensemester_datum_titel = 'Voraussichtliches Abschlussdatum'; switch($status_aktuell) { case 'Student': @@ -209,12 +222,22 @@ foreach($uid_arr as $uid) break; case 'Abbrecher': $studierendenstatus_aktuell = 'AbbrecherIn'; + $letztesStudiensemester_datum_titel = 'Abgemeldet am:'; + $enddatum = date('d.m.Y',strtotime($prestudent->bestaetigtam)); + $abbrecher = "true"; break; default: $studierendenstatus_aktuell =''; } + echo "\t\t"; - echo "\t\t\n"; + echo "\t\tende))."]]>"; + + echo "\t\t"; + + echo "\t\t"; + + echo "\t\t\n"; echo "\t\tzgvdatum."]]>\n"; $zgv = new zgv($prestudent->zgv_code); echo "\t\tzgv_kurzbz."]]>\n"; From 3644cc690ca1bc16b1d80cf0c270d5c725fb8a89 Mon Sep 17 00:00:00 2001 From: OliiverHacker Date: Thu, 1 Apr 2021 21:28:27 +0200 Subject: [PATCH 02/17] Put Checks from xml to xsl for Abbrecher --- rdf/studienblatt.xml.php | 87 +++++++++++++++-------------------- system/xsl/Studienblatt_0.xsl | 39 ++++++++++++++-- 2 files changed, 72 insertions(+), 54 deletions(-) diff --git a/rdf/studienblatt.xml.php b/rdf/studienblatt.xml.php index e9e82cbbf..e6cd0f1f0 100644 --- a/rdf/studienblatt.xml.php +++ b/rdf/studienblatt.xml.php @@ -158,54 +158,7 @@ foreach($uid_arr as $uid) echo "\t\t"; $status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,null,null))?$prestudent->status_kurzbz:''; $abbrecher = 'false'; - if ($status_aktuell == 'Abbrecher') - { - $ausbildungssemester_titel = "Abgemeldet im Ausbildungssemester"; - $studiensemester_titel = "Abgemeldet im Studiensemester"; - } - else - { - $ausbildungssemester_titel = "Aktuelles Ausbildungssemester"; - $studiensemester_titel = "Abgemeldet im Studiensemester"; - } - echo "\t\t"; - echo "\t\tausbildungssemester."]]>"; - - $studiensemester_aktuell = new studiensemester(); - $studiensemester_aktuell->load($studiensemester); - - echo "\t\t"; - echo "\t\tbezeichnung."]]>"; - - // check ob Oeh-Beitrag bezahlt wurde - $oehbeitrag = $konto->getOehBeitragGesamt($uid, $studiensemester_aktuell->studiensemester_kurzbz); - echo "\t\t"; - - // check ob Quereinsteiger - $ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:''; - echo "\t\t"; - - $studiensemester_beginn = new studiensemester(); - $studienbeginn = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->studiensemester_kurzbz:''; - $studiensemester_beginn->load($studienbeginn); - - echo "\t\tbezeichnung."]]>"; - echo "\t\tstart))."]]>"; - - $prestudent->getLastStatus($student->prestudent_id,$studiensemester); - $studiensemester_abschluss = new studiensemester(); - $abschluss = $studiensemester_abschluss->jump($prestudent->studiensemester_kurzbz, $studienplan->regelstudiendauer-$prestudent->ausbildungssemester); - $studiensemester_abschluss->load($abschluss); - echo "\t\tbezeichnung."]]>"; - - $studiensemester_endedatum = new studiensemester(); - $studiensemester_endedatum->load($studiensemester_endedatum->getaktorNext(1)); - - $status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,null,null))?$prestudent->status_kurzbz:''; - - $enddatum = date('d.m.Y',strtotime($studiensemester_abschluss->ende)); - $letztesStudiensemester_datum_titel = 'Voraussichtliches Abschlussdatum'; switch($status_aktuell) { case 'Student': @@ -222,7 +175,6 @@ foreach($uid_arr as $uid) break; case 'Abbrecher': $studierendenstatus_aktuell = 'AbbrecherIn'; - $letztesStudiensemester_datum_titel = 'Abgemeldet am:'; $enddatum = date('d.m.Y',strtotime($prestudent->bestaetigtam)); $abbrecher = "true"; break; @@ -231,11 +183,44 @@ foreach($uid_arr as $uid) } echo "\t\t"; + echo "\t\tausbildungssemester."]]>"; + + $studiensemester_aktuell = new studiensemester(); + $studiensemester_aktuell->load($studiensemester); + + echo "\t\tbezeichnung."]]>"; + + // check ob Oeh-Beitrag bezahlt wurde + $oehbeitrag = $konto->getOehBeitragGesamt($uid, $studiensemester_aktuell->studiensemester_kurzbz); + echo "\t\t"; + + // check ob Quereinsteiger + $ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:''; + echo "\t\t"; + + $studiensemester_beginn = new studiensemester(); + $studienbeginn = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->studiensemester_kurzbz:''; + $studiensemester_beginn->load($studienbeginn); + + echo "\t\tbezeichnung."]]>"; + echo "\t\tstart))."]]>"; + + $prestudent->getLastStatus($student->prestudent_id,$studiensemester); + $studiensemester_abschluss = new studiensemester(); + $abschluss = $studiensemester_abschluss->jump($prestudent->studiensemester_kurzbz, $studienplan->regelstudiendauer-$prestudent->ausbildungssemester); + $studiensemester_abschluss->load($abschluss); + echo "\t\tbezeichnung."]]>"; + + $studiensemester_endedatum = new studiensemester(); + $studiensemester_endedatum->load($studiensemester_endedatum->getaktorNext(1)); + + $status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,null,null))?$prestudent->status_kurzbz:''; + + $enddatum = date('d.m.Y',strtotime($studiensemester_abschluss->ende)); + echo "\t\tende))."]]>"; - echo "\t\t"; - - echo "\t\t"; + echo "\t\t"; echo "\t\t\n"; echo "\t\tzgvdatum."]]>\n"; diff --git a/system/xsl/Studienblatt_0.xsl b/system/xsl/Studienblatt_0.xsl index 5d51c6752..dbb692cb4 100644 --- a/system/xsl/Studienblatt_0.xsl +++ b/system/xsl/Studienblatt_0.xsl @@ -426,7 +426,16 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Aktuelles Studiensemester + + + Abgemeldet im Studiensemester + + + + Aktuelles Studiensemester + + + @@ -435,7 +444,17 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Aktuelles Ausbildungssemester + + + Abgemeldet im Ausbildungssemester + + + + Aktuelles Ausbildungssemester + + + + @@ -451,6 +470,9 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn + + + Voraussichtlich letztes Studiensemester @@ -460,9 +482,20 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn + + - Voraussichtliches Abschlussdatum + + + Abgemeldet am + + + + Voraussichtliches Abschlussdatum + + + From 48105425fc8093a466813ab68f91914b7e9fe401 Mon Sep 17 00:00:00 2001 From: OliiverHacker Date: Fri, 2 Apr 2021 15:35:36 +0200 Subject: [PATCH 03/17] =?UTF-8?q?Edit=20Studienblatt=20in=20Englisch=20f?= =?UTF-8?q?=C3=BCr=20AbbrecherInnen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- system/xsl/StudienblattEng_0.xsl | 38 +++++++++++++++++++++++++++++--- 1 file changed, 35 insertions(+), 3 deletions(-) diff --git a/system/xsl/StudienblattEng_0.xsl b/system/xsl/StudienblattEng_0.xsl index bfed01a19..f7da3a5fe 100644 --- a/system/xsl/StudienblattEng_0.xsl +++ b/system/xsl/StudienblattEng_0.xsl @@ -463,7 +463,17 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Current Semester of Study + + + Semester resigned from Study + + + + Current Semester of Study + + + + @@ -482,7 +492,17 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn - Current Semester in Degree Program + + + Resignation Semester in Degree Program + + + + Current Semester in Degree Program + + + + @@ -516,6 +536,7 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn + Expected Final Semester of Study @@ -535,9 +556,20 @@ xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn + - Expected Date of Graduation + + + Resignation Date + + + + Expected Date of Graduation + + + + From 35f1b00d7a8d6da2d9b7ebe4aeafe3bd735d1eea Mon Sep 17 00:00:00 2001 From: OliiverHacker Date: Wed, 28 Apr 2021 12:53:57 +0200 Subject: [PATCH 04/17] display correct mitarbeiter ressources --- rdf/ressource.rdf.php | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/rdf/ressource.rdf.php b/rdf/ressource.rdf.php index fce26f36d..5306113b2 100644 --- a/rdf/ressource.rdf.php +++ b/rdf/ressource.rdf.php @@ -19,7 +19,7 @@ */ $projekt_kurzbz=(isset($_GET['projekt_kurzbz'])?$_GET['projekt_kurzbz']:null); -$projekt_phase=(isset($_GET['projekt_phase'])?$_GET['projekt_phase']:null); +$projekt_phase=(isset($_GET['projekt_phase'])?$_GET['projekt_phase']:null); if($projekt_phase != null && (is_numeric($projekt_phase) == false )) die('Ungültige ProjektphasenID'); @@ -81,7 +81,7 @@ $ressource = new ressource(); if($projekt_kurzbz!=null) $ressource->getProjectRessourcen($projekt_kurzbz); else if($projekt_phase!= null) - $ressource->getPhaseRessourcen($projekt_phase); + $ressource->getPhaseRessourcen($projekt_phase); else $ressource->getAllRessourcen(); @@ -171,7 +171,7 @@ function draw_ressource($ressource) else die('Fehler beim Laden der Mitarbeiter-daten'); - $mitarbeiter.="\n\t\t\tressource_id."\" />"; + $mitarbeiter.="\n\t\t\tressource_id.'/'.$ressource->projekt_ressource_id."\" />"; $typ ='Mitarbeiter'; } // Ressource ist ein Student @@ -229,7 +229,7 @@ function draw_ressource($ressource) } echo ' - + ressource_id.']]> bezeichnung.']]> @@ -242,7 +242,7 @@ function draw_ressource($ressource) insertvon.']]> updateamum.']]> updatevon.']]> - aufwand.']]> + aufwand.']]> funktion_kurzbz.']]> projekt_ressource_id.']]> From 898562e742b64d08e3a9bbcf47187516dee6cd97 Mon Sep 17 00:00:00 2001 From: OliiverHacker Date: Thu, 29 Apr 2021 11:06:51 +0200 Subject: [PATCH 05/17] fix bug when deleting ressource from project --- content/projekt/ressource.xml.php | 8 ++- include/ressource.class.php | 88 +++++++++++++++++++++++++++---- soap/ressource_projekt.soap.php | 6 ++- soap/ressource_projekt.wsdl.php | 2 +- 4 files changed, 88 insertions(+), 16 deletions(-) diff --git a/content/projekt/ressource.xml.php b/content/projekt/ressource.xml.php index 966b79a80..d6f6c47c2 100644 --- a/content/projekt/ressource.xml.php +++ b/content/projekt/ressource.xml.php @@ -259,16 +259,19 @@ echo ''; ]]> - + - + '; projektRessource.appendChild(new SOAPObject("projekt_kurzbz")).val(''); } projektRessource.appendChild(new SOAPObject("ressource_id")).val(ressource_id); + projektRessource.appendChild(new SOAPObject("projekt_ressource_id")).val(projekt_ressource_id); soapBody.appendChild(projektRessource); var sr = new SOAPRequest("deleteProjektRessource",soapBody); diff --git a/include/ressource.class.php b/include/ressource.class.php index 2e6915480..a0567a5e9 100644 --- a/include/ressource.class.php +++ b/include/ressource.class.php @@ -86,7 +86,7 @@ class ressource extends basis_db $this->insertamum = $row->insertamum; $this->insertvon = $row->insertvon; $this->updateamum = $row->updateamum; - $this->updatevon = $row->updatevon; + $this->updatevon = $row->updatevon; $this->funktion_kurzbz = $row->funktion_kurzbz; return true; } @@ -130,7 +130,7 @@ class ressource extends basis_db $obj->insertamum = $row->insertamum; $obj->insertvon = $row->insertvon; $obj->updateamum = $row->updateamum; - $obj->updatevon = $row->updatevon; + $obj->updatevon = $row->updatevon; $this->result[] = $obj; } //var_dump($this->result); @@ -174,7 +174,7 @@ class ressource extends basis_db $obj->insertvon = $row->insertvon; $obj->updateamum = $row->updateamum; $obj->updatevon = $row->updatevon; - $obj->aufwand = $row->aufwand; + $obj->aufwand = $row->aufwand; $obj->funktion_kurzbz = $row->funktion_kurzbz; $obj->projekt_ressource_id= $row->projekt_ressource_id; @@ -189,8 +189,8 @@ class ressource extends basis_db return false; } } - - + + /** * * Lädt die Projektressource @@ -203,15 +203,15 @@ class ressource extends basis_db $this->result=array(); if($this->db_query($qry)) - { + { if($row = $this->db_fetch_object()) { $this->ressource_id = $row->ressource_id; $this->beschreibung = $row->beschreibung; - $this->aufwand = $row->aufwand; + $this->aufwand = $row->aufwand; $this->funktion_kurzbz = $row->funktion_kurzbz; - $this->projekt_ressource_id= $row->projekt_ressource_id; - $this->projekt_kurzbz = $row->projekt_kurzbz; + $this->projekt_ressource_id= $row->projekt_ressource_id; + $this->projekt_kurzbz = $row->projekt_kurzbz; $this->projektphase_id = $row->projektphase_id; return true; } @@ -223,7 +223,7 @@ class ressource extends basis_db $this->errormsg = 'Fehler beim Laden der Daten'; return false; } - } + } /** * @@ -256,7 +256,7 @@ class ressource extends basis_db $obj->insertvon = $row->insertvon; $obj->updateamum = $row->updateamum; $obj->updatevon = $row->updatevon; - $obj->aufwand = $row->aufwand; + $obj->aufwand = $row->aufwand; $obj->funktion_kurzbz = $row->funktion_kurzbz; $obj->projekt_ressource_id = $row->projekt_ressource_id; $this->result[] = $obj; @@ -688,5 +688,71 @@ class ressource extends basis_db return false; } } + + /** + * Löscht eine Ressource zu Projekt Zuordnung + * @param type $ressource_id + * @param type $projekt_kurzbz + * @return boolean + */ + public function deleteFromProjektWithProjektRessourceId($ressource_id, $projekt_kurzbz, $project_ressource_id) + { + if($ressource_id == '' || !is_numeric($ressource_id)) + { + $this->errormsg = 'Ressource Id ist keine gültige Zahl'; + return false; + } + /*$qry="DELETE FROM fue.tbl_projekt_ressource WHERE ressource_id =".$this->db_add_param($ressource_id, FHC_INTEGER, false)." + AND projekt_kurzbz=".$this->db_add_param($projekt_kurzbz, FHC_STRING, false).';'; + */ + $qry=" + DELETE FROM fue.tbl_projekt_ressource pr + USING fue.tbl_ressource r + WHERE r.ressource_id =".$this->db_add_param($ressource_id, FHC_INTEGER, false). " + AND pr.projekt_ressource_id=".$this->db_add_param($project_ressource_id, FHC_INTEGER, false). " + AND pr.projekt_kurzbz=".$this->db_add_param($projekt_kurzbz, FHC_STRING, false).';'; + + if($this->db_query($qry)) + { + return true; + } + else + { + $this->errormsg = 'Fehler beim Löschen der Daten'; + return false; + } + } + + /** + * Löscht eine Ressource zu Phase Zuordnung + * @param type $ressource_id + * @param type $projekt_kurzbz + * @return boolean + */ + public function deleteFromPhaseWithProjektRessourceId($ressource_id, $projektphase_id, $project_ressource_id) + { + if($ressource_id == '' || !is_numeric($ressource_id)) + { + $this->errormsg = 'Ressource Id ist keine gültige Zahl'; + return false; + } + + if($projektphase_id == '' || !is_numeric($projektphase_id)) + { + $this->errormsg = 'Ressource Id ist keine gültige Zahl'; + return false; + } + + $qry="DELETE FROM fue.tbl_projekt_ressource WHERE ressource_id =".$this->db_add_param($ressource_id, FHC_INTEGER, false)." + AND projektphase_id=".$this->db_add_param($projektphase_id, FHC_INTEGER, false).';'; + + if($this->db_query($qry)) + return true; + else + { + $this->errormsg = 'Fehler beim Löschen der Daten'; + return false; + } + } } ?> diff --git a/soap/ressource_projekt.soap.php b/soap/ressource_projekt.soap.php index 4c1e13dec..065568269 100644 --- a/soap/ressource_projekt.soap.php +++ b/soap/ressource_projekt.soap.php @@ -70,7 +70,7 @@ function saveProjektRessource($username, $passwort, $projektRessource) $ressource->projekt_ressource_id=$projektRessource->projekt_ressource_id; $ressource->projektphase_id=$projektRessource->projektphase_id; $ressource->projekt_kurzbz=$projektRessource->projekt_kurzbz; - $ressource->ressource_id = $projektRessource->ressource_id; + $ressource->ressource_id = $projektRessource->ressource_id; $ressource->funktion_kurzbz = $projektRessource->funktion_kurzbz; $ressource->beschreibung = $projektRessource->beschreibung; $ressource->aufwand = $projektRessource->aufwand; @@ -113,8 +113,10 @@ function deleteProjektRessource($username, $passwort, $projektRessource) } else { + // von Projekt löschen - if($ressource->deleteFromProjekt($projektRessource->ressource_id, $projektRessource->projekt_kurzbz)) + //if($ressource->deleteFromProjekt($projektRessource->ressource_id, $projektRessource->projekt_kurzbz)) + if($ressource->deleteFromProjektWithProjektRessourceId($projektRessource->ressource_id, $projektRessource->projekt_kurzbz, $projektRessource->projekt_ressource_id)) return "Erfolg"; else return "Fehler beim Löschen"; diff --git a/soap/ressource_projekt.wsdl.php b/soap/ressource_projekt.wsdl.php index bc9071468..5024aa3a6 100644 --- a/soap/ressource_projekt.wsdl.php +++ b/soap/ressource_projekt.wsdl.php @@ -37,7 +37,7 @@ xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"> - + From c0b07ac1d2d3dac8229e58748b3a6855194f0a51 Mon Sep 17 00:00:00 2001 From: OliiverHacker Date: Thu, 29 Apr 2021 11:12:32 +0200 Subject: [PATCH 06/17] fix bug when deleting ressource from projectphasen --- include/ressource.class.php | 10 ++++++++-- soap/ressource_projekt.soap.php | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/include/ressource.class.php b/include/ressource.class.php index a0567a5e9..e01be0df4 100644 --- a/include/ressource.class.php +++ b/include/ressource.class.php @@ -743,9 +743,15 @@ class ressource extends basis_db return false; } - $qry="DELETE FROM fue.tbl_projekt_ressource WHERE ressource_id =".$this->db_add_param($ressource_id, FHC_INTEGER, false)." + /*$qry="DELETE FROM fue.tbl_projekt_ressource WHERE ressource_id =".$this->db_add_param($ressource_id, FHC_INTEGER, false)." AND projektphase_id=".$this->db_add_param($projektphase_id, FHC_INTEGER, false).';'; - + */ + $qry=" + DELETE FROM fue.tbl_projekt_ressource pr + USING fue.tbl_ressource r + WHERE r.ressource_id =".$this->db_add_param($ressource_id, FHC_INTEGER, false). " + AND pr.projekt_ressource_id=".$this->db_add_param($project_ressource_id, FHC_INTEGER, false). " + AND pr.projektphase_id=".$this->db_add_param($projektphase_id, FHC_INTEGER, false).';'; if($this->db_query($qry)) return true; else diff --git a/soap/ressource_projekt.soap.php b/soap/ressource_projekt.soap.php index 065568269..1a9f9b426 100644 --- a/soap/ressource_projekt.soap.php +++ b/soap/ressource_projekt.soap.php @@ -105,7 +105,7 @@ function deleteProjektRessource($username, $passwort, $projektRessource) if($projektRessource->projektphase_id != '') { // von Projektphase löschen - if($ressource->deleteFromPhase($projektRessource->ressource_id, $projektRessource->projektphase_id)) + if($ressource->deleteFromPhaseWithProjektRessourceId($projektRessource->ressource_id, $projektRessource->projektphase_id, $projektRessource->projekt_ressource_id)) return "Erfolg"; else return "Fehler beim Löschen"; From cefe34a68f59ac47405360e8651794c34b16ec97 Mon Sep 17 00:00:00 2001 From: manu Date: Mon, 10 May 2021 11:28:08 +0200 Subject: [PATCH 07/17] neue Funktion variableChangeValueIfNumber() --- content/fas.xul.php | 2 +- content/fasoverlay.js.php | 20 ++++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/content/fas.xul.php b/content/fas.xul.php index 3b273cd54..d1d43f473 100644 --- a/content/fas.xul.php +++ b/content/fas.xul.php @@ -95,7 +95,7 @@ foreach($addon_obj->result as $addon) - + diff --git a/content/fasoverlay.js.php b/content/fasoverlay.js.php index 39571b32a..f7a30158f 100644 --- a/content/fasoverlay.js.php +++ b/content/fasoverlay.js.php @@ -2099,6 +2099,26 @@ function variableChangeValue(variable) } } +// **** +// * Aendert eines Variablenwert nach Überprüfung der Eingabe auf gültigen Wert (kleiner 100) +// **** +function variableChangeValueIfNumber(variable) +{ + var variablevalue = getvariable(variable); + + if(variablevalue = prompt('Bitte geben Sie den neuen Wert fuer '+variable+' ein', variablevalue)) + { + if ((typeof(parseInt(variablevalue)) === 'number' && variablevalue < 100 )) + { + variableChange(variable, '', variablevalue); + } + else + { + alert(variablevalue + ' ist keine gültige Eingabe! Bitte eine Zahl eingeben!'); + } + } +} + // **** // * Sendet einen Request zum Aendern einer Variable // **** From 475f57d10fa0784211824263a16fd8345630cd6d Mon Sep 17 00:00:00 2001 From: manu Date: Wed, 12 May 2021 09:42:24 +0200 Subject: [PATCH 08/17] Erweiterung um Langbezeichnung --- content/student/studentiooverlay.xul.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/student/studentiooverlay.xul.php b/content/student/studentiooverlay.xul.php index 9d4eb89b9..b8ec3aae4 100644 --- a/content/student/studentiooverlay.xul.php +++ b/content/student/studentiooverlay.xul.php @@ -151,7 +151,7 @@ echo ''; From 847529d5aa9c5d7e16ec1ac8d961bfa349048ba3 Mon Sep 17 00:00:00 2001 From: OliiverHacker Date: Wed, 19 May 2021 09:03:20 +0200 Subject: [PATCH 09/17] nachname vorname tauschen --- .../controllers/lehre/lehrauftrag/Lehrauftrag.php | 1 - .../lehre/lehrauftrag/acceptLehrauftragData.php | 8 ++++---- .../lehre/lehrauftrag/approveLehrauftragData.php | 14 +++++++------- .../lehre/lehrauftrag/cancelledLehrauftragData.php | 2 +- .../lehre/lehrauftrag/orderLehrauftragData.php | 8 ++++---- 5 files changed, 16 insertions(+), 17 deletions(-) diff --git a/application/controllers/lehre/lehrauftrag/Lehrauftrag.php b/application/controllers/lehre/lehrauftrag/Lehrauftrag.php index 8a096338e..0fe70a302 100644 --- a/application/controllers/lehre/lehrauftrag/Lehrauftrag.php +++ b/application/controllers/lehre/lehrauftrag/Lehrauftrag.php @@ -270,7 +270,6 @@ class Lehrauftrag extends Auth_Controller private function _sendMail($lehrvertrag_data_arr) { // Cluster data of new lehrvertraege as needed to send mail - $lehrvertrag_data_arr = $this->_cluster_newVertragData($lehrvertrag_data_arr); foreach ($lehrvertrag_data_arr as $lehrvertrag_data) { diff --git a/application/views/lehre/lehrauftrag/acceptLehrauftragData.php b/application/views/lehre/lehrauftrag/acceptLehrauftragData.php index f09eb62a0..92c896ce7 100644 --- a/application/views/lehre/lehrauftrag/acceptLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/acceptLehrauftragData.php @@ -32,7 +32,7 @@ SELECT erteilt, akzeptiert, (SELECT - vorname || \' \' || nachname + nachname || \' \' || vorname FROM public.tbl_person JOIN public.tbl_benutzer benutzer USING (person_id) @@ -48,7 +48,7 @@ SELECT ) ) AS "bestellt_von", (SELECT - vorname || \' \' || nachname + nachname || \' \' || vorname FROM public.tbl_person JOIN public.tbl_benutzer benutzer USING (person_id) @@ -64,7 +64,7 @@ SELECT ) ) AS "erteilt_von", (SELECT - vorname || \' \' || nachname + nachname || \' \' || vorname FROM public.tbl_person JOIN public.tbl_benutzer benutzer USING (person_id) @@ -241,7 +241,7 @@ FROM \'Betreuung\' AS "typ", (betreuerart_kurzbz || \' \' || (SELECT - vorname || \' \' || nachname + nachname || \' \' || vorname FROM PUBLIC.tbl_person JOIN PUBLIC.tbl_benutzer USING (person_id) diff --git a/application/views/lehre/lehrauftrag/approveLehrauftragData.php b/application/views/lehre/lehrauftrag/approveLehrauftragData.php index 88b3eabd0..7c9669ae3 100644 --- a/application/views/lehre/lehrauftrag/approveLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/approveLehrauftragData.php @@ -34,7 +34,7 @@ SELECT erteilt, akzeptiert, (SELECT - vorname || \' \' || nachname + nachname || \' \' || vorname FROM public.tbl_person JOIN public.tbl_benutzer benutzer USING (person_id) @@ -50,7 +50,7 @@ SELECT ) ) AS "bestellt_von", (SELECT - vorname || \' \' || nachname + nachname || \' \' || vorname FROM public.tbl_person JOIN public.tbl_benutzer benutzer USING (person_id) @@ -66,7 +66,7 @@ SELECT ) ) AS "erteilt_von", (SELECT - vorname || \' \' || nachname + nachname || \' \' || vorname FROM public.tbl_person JOIN public.tbl_benutzer benutzer USING (person_id) @@ -128,7 +128,7 @@ FROM ( SELECT /* lehrauftraege also planned with dummies, therefore personalnummer is needed */ - ma.personalnummer, + (ma.personalnummer::text), lema.lehreinheit_id, lv.lehrveranstaltung_id, lv.bezeichnung AS "lv_bezeichnung", @@ -240,7 +240,7 @@ FROM pa.lehreinheit_id, lv.lehrveranstaltung_id, lv.bezeichnung AS "lv_bezeichnung", - pa.projektarbeit_id AS "projektarbeit_id", + (pa.projektarbeit_id::text) AS "projektarbeit_id", le.studiensemester_kurzbz, stg.studiengang_kz, upper(stg.typ || stg.kurzbz) AS "stg_typ_kurzbz", @@ -249,7 +249,7 @@ FROM \'Betreuung\' AS "typ", (betreuerart_kurzbz || \' \' || (SELECT - vorname || \' \' || nachname + nachname || \' \' || vorname FROM PUBLIC.tbl_person JOIN PUBLIC.tbl_benutzer USING (person_id) @@ -268,7 +268,7 @@ FROM ELSE (oe.organisationseinheittyp_kurzbz || \' \' || oe.bezeichnung) END AS "lv_oe_kurzbz", - (nachname || \' \' || vorname) AS "lektor", + (vorname || \' \' || nachname) AS "lektor", TRUNC(pb.stunden, 1) AS "stunden", TRUNC((pb.stunden * pb.stundensatz), 2) AS "betrag", vertrag_id, diff --git a/application/views/lehre/lehrauftrag/cancelledLehrauftragData.php b/application/views/lehre/lehrauftrag/cancelledLehrauftragData.php index 54948fb26..a3efb66b3 100644 --- a/application/views/lehre/lehrauftrag/cancelledLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/cancelledLehrauftragData.php @@ -14,7 +14,7 @@ $query = ' datum AS "storniert", ( SELECT - vorname || \' \' || nachname + nachname || \' \' || vorname FROM public.tbl_person JOIN public.tbl_benutzer benutzer USING (person_id) diff --git a/application/views/lehre/lehrauftrag/orderLehrauftragData.php b/application/views/lehre/lehrauftrag/orderLehrauftragData.php index aea7d5181..1ccfc55a4 100644 --- a/application/views/lehre/lehrauftrag/orderLehrauftragData.php +++ b/application/views/lehre/lehrauftrag/orderLehrauftragData.php @@ -65,7 +65,7 @@ SELECT erteilt, akzeptiert, (SELECT - vorname || \' \' || nachname + nachname || \' \' || vorname FROM public.tbl_person JOIN public.tbl_benutzer benutzer USING (person_id) @@ -81,7 +81,7 @@ SELECT ) ) AS "bestellt_von", (SELECT - vorname || \' \' || nachname + nachname || \' \' || vorname FROM public.tbl_person JOIN public.tbl_benutzer benutzer USING (person_id) @@ -97,7 +97,7 @@ SELECT ) ) AS "erteilt_von", (SELECT - vorname || \' \' || nachname + nachname || \' \' || vorname FROM public.tbl_person JOIN public.tbl_benutzer benutzer USING (person_id) @@ -281,7 +281,7 @@ FROM \'Betreuung\' AS "typ", (betreuerart_kurzbz || \' \' || (SELECT - vorname || \' \' || nachname + nachname || \' \' || vorname FROM PUBLIC.tbl_person JOIN PUBLIC.tbl_benutzer USING (person_id) From f52d3a455cbea650e9be050eca1f0a7a52c6bc3a Mon Sep 17 00:00:00 2001 From: OliiverHacker Date: Tue, 25 May 2021 16:35:41 +0200 Subject: [PATCH 10/17] add date validation --- content/student/studentDBDML.php | 10 ++++++++-- include/datum.class.php | 16 ++++++++++++++++ 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index becb31e88..5a32563c3 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -365,7 +365,6 @@ if(!$error) $error = true; $errormsg = 'Sie haben keine Schreibrechte fuer diesen Studiengang'; } - //Studentendaten speichern if(!$error) { @@ -377,7 +376,14 @@ if(!$error) $errormsg = 'Fehler beim Laden:'.$student->errormsg; $error = true; } - + $datum = new datum(); + $geb = $_POST['geburtsdatum']; + if(!$datum->verifyDate($geb)) + { + $return = false; + $errormsg = 'Datum ist nicht korrekt: '.$geb; + $error = true; + } if(!$error) { $student->uid = $_POST['uid']; diff --git a/include/datum.class.php b/include/datum.class.php index 9b7ebcc5e..e7aedd305 100644 --- a/include/datum.class.php +++ b/include/datum.class.php @@ -416,5 +416,21 @@ class datum return intval(substr($timestring, 0, 2)) + intval(substr($timestring, 3, 2)) / 60; } + /** + * Prueft das Datum + * @param $date = string + * @return true wenn ok, sonst false + */ + static public function verifyDate($date, $strict = true) + { + $dateTime = DateTime::createFromFormat('Y-m-d', $date); + if ($strict) { + $errors = DateTime::getLastErrors(); + if (!empty($errors['warning_count'])) { + return false; + } + } + return $dateTime !== false; + } } ?> From 1e013e371d117409249ebb1d5822f7601f997469 Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Tue, 25 May 2021 17:10:06 +0200 Subject: [PATCH 11/17] =?UTF-8?q?Bugfix-12064/Keine=20LV-Anzeige=20f=C3=BC?= =?UTF-8?q?r=20WS2020?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Beim Prüfen, ob ein Lehrvertrag für die Lehreinheit vorliegt, muss die UID übergeben werden, denn diese wird entweder über GET param übergeben oder mit dem aktuellen user gleichgesetzt. Signed-off-by: cris-technikum --- cis/private/profile/lva_liste.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cis/private/profile/lva_liste.php b/cis/private/profile/lva_liste.php index 4b0cedc02..6f78cf8c8 100644 --- a/cis/private/profile/lva_liste.php +++ b/cis/private/profile/lva_liste.php @@ -217,7 +217,7 @@ if ($num_rows > 0) && CIS_LV_LEKTORINNENZUTEILUNG_VERTRAGSPRUEFUNG_VON != '') { $vertrag = new vertrag(); - if (!$vertrag->isVertragErteiltLE($row->lehreinheit_id, $stdsem, $user)) + if (!$vertrag->isVertragErteiltLE($row->lehreinheit_id, $stdsem, $uid)) { continue; } From 5ac2c1f9a675805ff79023a127dc6390419bd117 Mon Sep 17 00:00:00 2001 From: cris-technikum Date: Wed, 26 May 2021 11:51:27 +0200 Subject: [PATCH 12/17] Bugfix-13280/Lehrtaetigkeitsbestaetigung: Betreuungen ohne Stundensatz In der Bestaetigung werden nun auch die Projektarbeitsbetreuungs-Stunden aufgerechnet, bei denen kein Stundensatz hinterlegt ist. Signed-off-by: cris-technikum --- include/projektbetreuer.class.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/include/projektbetreuer.class.php b/include/projektbetreuer.class.php index 3ab0dd30a..04ba36b26 100644 --- a/include/projektbetreuer.class.php +++ b/include/projektbetreuer.class.php @@ -335,7 +335,7 @@ class projektbetreuer extends basis_db } /** - * Retrieves all projektarbeiten by person (only with stundensatz > 0) + * Retrieves all projektarbeiten by person * @param $person_id * @return boolean If succeeded true and result-array with objects of each projektarbeit of the person. */ @@ -349,8 +349,6 @@ class projektbetreuer extends basis_db FROM lehre.tbl_projektbetreuer WHERE - (stundensatz IS NOT NULL) AND (stundensatz > 0) - AND person_id =' . $this->db_add_param($person_id, FHC_INTEGER); if ($this->db_query($qry)) From 5aacf9f9b287cfb77dcf63ebadd33571f00b3579 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 14 Jun 2021 13:13:03 +0200 Subject: [PATCH 13/17] =?UTF-8?q?Datumspr=C3=BCfung=20bei=20Geburtsdatum?= =?UTF-8?q?=20korrigiert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- content/student/studentDBDML.php | 7 ++++--- include/datum.class.php | 17 ----------------- 2 files changed, 4 insertions(+), 20 deletions(-) diff --git a/content/student/studentDBDML.php b/content/student/studentDBDML.php index 5a32563c3..79e330c7f 100644 --- a/content/student/studentDBDML.php +++ b/content/student/studentDBDML.php @@ -377,11 +377,12 @@ if(!$error) $error = true; } $datum = new datum(); - $geb = $_POST['geburtsdatum']; - if(!$datum->verifyDate($geb)) + + $gebdatum = $_POST['geburtsdatum']; + if($gebdatum!='' && !$datum->checkDatum($gebdatum)) { $return = false; - $errormsg = 'Datum ist nicht korrekt: '.$geb; + $errormsg = 'Geburtsdatum ist nicht korrekt.'; $error = true; } if(!$error) diff --git a/include/datum.class.php b/include/datum.class.php index e7aedd305..f09066009 100644 --- a/include/datum.class.php +++ b/include/datum.class.php @@ -415,22 +415,5 @@ class datum { return intval(substr($timestring, 0, 2)) + intval(substr($timestring, 3, 2)) / 60; } - - /** - * Prueft das Datum - * @param $date = string - * @return true wenn ok, sonst false - */ - static public function verifyDate($date, $strict = true) - { - $dateTime = DateTime::createFromFormat('Y-m-d', $date); - if ($strict) { - $errors = DateTime::getLastErrors(); - if (!empty($errors['warning_count'])) { - return false; - } - } - return $dateTime !== false; - } } ?> From 6595df95ad55923e25d07b5de3062d95dd0e6f29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 14 Jun 2021 15:36:17 +0200 Subject: [PATCH 14/17] Studienblatt - Endedatum bei Abbrechern korrigiert --- rdf/studienblatt.xml.php | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/rdf/studienblatt.xml.php b/rdf/studienblatt.xml.php index e6cd0f1f0..0aa752637 100644 --- a/rdf/studienblatt.xml.php +++ b/rdf/studienblatt.xml.php @@ -157,7 +157,7 @@ foreach($uid_arr as $uid) echo "\t\t"; $status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,null,null))?$prestudent->status_kurzbz:''; - $abbrecher = 'false'; + $abbrecher = false; switch($status_aktuell) { @@ -176,12 +176,12 @@ foreach($uid_arr as $uid) case 'Abbrecher': $studierendenstatus_aktuell = 'AbbrecherIn'; $enddatum = date('d.m.Y',strtotime($prestudent->bestaetigtam)); - $abbrecher = "true"; + $abbrecher = true; break; default: $studierendenstatus_aktuell =''; } - echo "\t\t"; + echo "\t\t"; echo "\t\tausbildungssemester."]]>"; @@ -207,7 +207,10 @@ foreach($uid_arr as $uid) $prestudent->getLastStatus($student->prestudent_id,$studiensemester); $studiensemester_abschluss = new studiensemester(); - $abschluss = $studiensemester_abschluss->jump($prestudent->studiensemester_kurzbz, $studienplan->regelstudiendauer-$prestudent->ausbildungssemester); + if($abbrecher) + $abschluss = $prestudent->studiensemester_kurzbz; + else + $abschluss = $studiensemester_abschluss->jump($prestudent->studiensemester_kurzbz, $studienplan->regelstudiendauer-$prestudent->ausbildungssemester); $studiensemester_abschluss->load($abschluss); echo "\t\tbezeichnung."]]>"; @@ -220,7 +223,10 @@ foreach($uid_arr as $uid) echo "\t\tende))."]]>"; - echo "\t\t"; + if($abbrecher) + echo "\t\tdatum))."]]>"; + else + echo "\t\t"; echo "\t\t\n"; echo "\t\tzgvdatum."]]>\n"; From 2d440585f4d00fbad1bb692976c361cd1e73c7e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Mon, 14 Jun 2021 16:40:27 +0200 Subject: [PATCH 15/17] Planner enhancements - Removed Loading of Mantis Tasks - Dont Load Ressource Overview on Startup - Set Projects Tab as Default on Startup --- content/planner.overlay.xul.php | 6 +- content/projekt/projekttask.overlay.js.php | 102 ++++++++++---------- content/projekt/projekttask.overlay.xul.php | 6 +- content/projekt/ressource.overlay.xul.php | 4 +- content/projekt/ressourcenauslastung.php | 17 +++- 5 files changed, 71 insertions(+), 64 deletions(-) diff --git a/content/planner.overlay.xul.php b/content/planner.overlay.xul.php index 5f6b4e800..1175827a3 100644 --- a/content/planner.overlay.xul.php +++ b/content/planner.overlay.xul.php @@ -107,9 +107,9 @@ echo ' - + - + @@ -176,7 +176,7 @@ echo ' - + diff --git a/content/projekt/projekttask.overlay.js.php b/content/projekt/projekttask.overlay.js.php index 464463ea1..2aa29b98d 100644 --- a/content/projekt/projekttask.overlay.js.php +++ b/content/projekt/projekttask.overlay.js.php @@ -25,7 +25,7 @@ require_once('../../config/vilesci.config.inc.php'); var TaskSelectID=null; //ID des Task Eintrages der nach dem Refresh markiert werden soll var filterErledigt; //Tasks filtern -var currentProjektPhaseID; +var currentProjektPhaseID; // ********** Observer und Listener ************* // // **** @@ -81,13 +81,13 @@ function LoadTasks(projekt_phase_id, filter) { // wenn phase übergeben wurde -> setzte globale variable if(projekt_phase_id != null && projekt_phase_id != '' && typeof optional && "undefined") - currentProjektPhaseID = projekt_phase_id; - + currentProjektPhaseID = projekt_phase_id; + // wenn filter übergeben wurde -> setze globale variable if(filter != null && filter != '' && typeof filter != "undefined") filterErledigt = filter; - - url = "rdf/projekttask.rdf.php?projektphase_id="+currentProjektPhaseID+"&"+gettimestamp(); + + url = "rdf/projekttask.rdf.php?projektphase_id="+currentProjektPhaseID+"&"+gettimestamp(); // überprüfe ob filter gesetzt ist if(filterErledigt != null) @@ -100,7 +100,7 @@ function LoadTasks(projekt_phase_id, filter) { treeTask.database.RemoveDataSource(oldDatasources.getNext()); } - + try { datasourceTreeTask.removeXMLSinkObserver(TaskTreeSinkObserver); @@ -108,7 +108,7 @@ function LoadTasks(projekt_phase_id, filter) } catch(e) {} - + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); datasourceTreeTask = rdfService.GetDataSource(url); datasourceTreeTask.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); @@ -116,7 +116,7 @@ function LoadTasks(projekt_phase_id, filter) treeTask.database.AddDataSource(datasourceTreeTask); datasourceTreeTask.addXMLSinkObserver(TaskTreeSinkObserver); treeTask.builder.addListener(TaskTreeListener); - + } catch(e) { @@ -153,7 +153,7 @@ function RessourceTaskLoad(menulist, id) datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); menulist.database.AddDataSource(datasource); menulist.builder.rebuild(); - + } @@ -167,7 +167,7 @@ function TaskTreeRefresh() //markierte Lehreinheit global speichern damit diese LE nach dem //refresh wieder markiert werden kann. var tree = document.getElementById('projekttask-tree'); - + try { TaskSelectID = getTreeCellText(tree, "projekttask-treecol-projekttask_id", tree.currentIndex); @@ -187,7 +187,7 @@ function TaskNeu() var tasktree=document.getElementById('projekttask-tree'); tasktree.view.selection.clearSelection(); tree = document.getElementById('tree-projektmenue'); - + //Projektphase_id holen var projektphase_id = getTreeCellText(tree, "treecol-projektmenue-projekt_phase_id", tree.currentIndex); @@ -199,12 +199,12 @@ function TaskNeu() //Details zuruecksetzen TaskDetailReset(); TaskDisableFields(false); - + document.getElementById('textbox-projekttaskdetail-projektphase_id').value=projektphase_id; document.getElementById('caption-projekttask-detail').label='Neuer Task'; - + //Detail Tab auswaehlen - document.getElementById('projekttask-tabs').selectedItem=document.getElementById('projekttask-tab-detail'); + document.getElementById('projekttask-tabs').selectedItem=document.getElementById('projekttask-tab-detail'); } // **** // * Selectiert die Lektorzuordnung nachdem der Tree @@ -222,7 +222,7 @@ function TaskTreeSelectTask() { //id der row holen id = getTreeCellText(tree, "projekttask-treecol-projekttask_id", i); - + //wenn dies die zu selektierende Zeile if(TaskSelectID==id) { @@ -264,7 +264,7 @@ function TaskDelete() var soapBody = new SOAPObject("deleteProjekttask"); soapBody.appendChild(new SOAPObject("projekttask_id")).val(id); var sr = new SOAPRequest("deleteProjekttask",soapBody); - + SOAPClient.Proxy="soap/projekttask.soap.php?"+gettimestamp(); SOAPClient.SendRequest(sr, clb_deleteProjekttask); } @@ -285,7 +285,7 @@ function clb_deleteProjekttask(respObj) return; } netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); - + TaskSelectID=''; datasourceTreeTask.Refresh(false); //non blocking SetStatusBarText('Eintrag wurde entfernt'); @@ -332,7 +332,7 @@ function showProjekttaskParsedown() //Werte holen projekttask_id = document.getElementById('textbox-projekttaskdetail-projekttask_id').value; - + if(!isNaN(projekttask_id) && projekttask_id != '') { window.open("projekt/parsedown.php?projekttask_id="+projekttask_id,"Projekttask"+projekttask_id); @@ -355,15 +355,15 @@ function saveProjekttaskDetail() aufwand = document.getElementById('textbox-projekttask-detail-aufwand').value; mantis_id = document.getElementById('textbox-projekttask-detail-mantis_id').value; scrumsprint_id = document.getElementById('textbox-projekttask-detail-scrumsprint_id').value; - ressource_id = MenulistGetSelectedValue('textbox-projekttask-detail-ressource'); + ressource_id = MenulistGetSelectedValue('textbox-projekttask-detail-ressource'); ende = document.getElementById('textbox-projekttask-detail-ende').iso; - + if(!isNaN(projektphase_id) && projektphase_id != '') { var soapBody = new SOAPObject("saveProjekttask"); //soapBody.appendChild(new SOAPObject("username")).val('joe'); //soapBody.appendChild(new SOAPObject("passwort")).val('waschl'); - + var task = new SOAPObject("task"); task.appendChild(new SOAPObject("projekttask_id")).val(projekttask_id); task.appendChild(new SOAPObject("projektphase_id")).val(projektphase_id); @@ -376,9 +376,9 @@ function saveProjekttaskDetail() task.appendChild(new SOAPObject("ressource_id")).val(ressource_id); task.appendChild(new SOAPObject("ende")).val(ende); soapBody.appendChild(task); - + var sr = new SOAPRequest("saveProjekttask",soapBody); - + SOAPClient.Proxy="soap/projekttask.soap.php?"+gettimestamp(); SOAPClient.SendRequest(sr, clb_saveProjekttask); }else @@ -402,7 +402,7 @@ function clb_saveProjekttask(respObj) } netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); document.getElementById('textbox-projekttaskdetail-projekttask_id').value=id; - + TaskSelectID=id; datasourceTreeTask.Refresh(false); //non blocking SetStatusBarText('Daten wurden gespeichert'); @@ -415,7 +415,7 @@ function clb_saveProjekttask(respObj) // **** function onselectProjekttask() { - + // Trick 17 (sonst gibt's ein Permission denied) netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect"); var tree = document.getElementById('projekttask-tree'); @@ -445,12 +445,12 @@ function onselectProjekttask() alert(e); return false; } - + var req = new phpRequest('../rdf/projekttask.rdf.php','',''); req.add('projekttask_id',id); var response = req.execute(); - + // Datasource holen var dsource=parseRDFString(response, 'http://www.technikum-wien.at/projekttask/alle-projekttasks'); @@ -472,7 +472,7 @@ function onselectProjekttask() var scrumsprint_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#scrumsprint_id" )); var ressource_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ressource_id" )); var ende=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#ende" )); - + //Daten den Feldern zuweisen var menulist = document.getElementById('textbox-projekttask-detail-ressource'); RessourceTaskLoad(menulist, projektphase_id); @@ -486,17 +486,17 @@ function onselectProjekttask() document.getElementById('textbox-projekttask-detail-scrumsprint_id').value=scrumsprint_id; MenulistSelectItemOnValue('textbox-projekttask-detail-ressource', ressource_id); //document.getElementById('textbox-projekttask-detail-ressource').value=ressource_id; - + //Notizen zu eines Tasks Laden notiz = document.getElementById('box-projekttask-notizen'); notiz.LoadNotizTree('','',projekttask_id,'','','','', '',''); - + //Mantis Tab reset document.getElementById('textbox-projekttask-mantis-issue_summary').value=bezeichnung; document.getElementById('textbox-projekttask-mantis-issue_description').value=beschreibung; //document.getElementById('textbox-projekttask-mantis-issue_project_id').value='1'; //document.getElementById('textbox-projekttask-mantis-issue_category').value='General'; - + document.getElementById('textbox-projekttask-mantis-mantis_id').value=''; document.getElementById('textbox-projekttask-mantis-issue_view_state_id').value=''; document.getElementById('textbox-projekttask-mantis-issue_view_state_name').value=''; @@ -525,9 +525,9 @@ function onselectProjekttask() document.getElementById('textbox-projekttask-mantis-issue_due_date').value=''; document.getElementById('textbox-projekttask-mantis-issue_steps_to_reproduce').value=''; document.getElementById('textbox-projekttask-mantis-issue_additional_information').value=''; - + //Mantis - if (mantis_id!='') + if (false && mantis_id!='') { var req = new phpRequest('../rdf/mantis.rdf.php','',''); req.add('issue_id',mantis_id); @@ -539,7 +539,7 @@ function onselectProjekttask() getService(Components.interfaces.nsIRDFService); subject = rdfService.GetResource("http://www.technikum-wien.at/mantis/" + mantis_id); predicateNS = "http://www.technikum-wien.at/mantis/rdf"; - + //Daten holen var issue_id = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_id" )); var issue_summary=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_summary" )); @@ -571,12 +571,12 @@ function onselectProjekttask() var issue_tags_name=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_tags_name" )); var issue_resolution_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_resolution_id" )); var issue_resolution_name=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_resolution_name" )); - var issue_due_date=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_due_date" )); + var issue_due_date=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_due_date" )); var issue_steps_to_reproduce=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_steps_to_reproduce" )); var issue_additional_information=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#issue_additional_information" )); ProjekttaskLoadCategories(issue_project_id); - + //Daten den Feldern zuweisen document.getElementById('textbox-projekttask-mantis-mantis_id').value=mantis_id; document.getElementById('textbox-projekttask-mantis-issue_summary').value=issue_summary; @@ -610,18 +610,18 @@ function onselectProjekttask() document.getElementById('textbox-projekttask-mantis-issue_due_date').value=issue_due_date; document.getElementById('textbox-projekttask-mantis-issue_steps_to_reproduce').value=issue_steps_to_reproduce; document.getElementById('textbox-projekttask-mantis-issue_additional_information').value=issue_additional_information; - document.getElementById('textbox-projekttask-mantis-issue_tags').value=issue_tags_name; + document.getElementById('textbox-projekttask-mantis-issue_tags').value=issue_tags_name; } } // **** -// * Beim Aendern des Mantis Projekts werden die zugehoerigen +// * Beim Aendern des Mantis Projekts werden die zugehoerigen // * Kategorien geladen // **** function ProjekttaskMantisProjektChange() { project_id=document.getElementById('menulist-projekttask-mantis-issue_project_id').value; - + if(project_id!='') ProjekttaskLoadCategories(project_id); } @@ -645,10 +645,10 @@ function ProjekttaskLoadCategories(project_id) } //Refresh damit die entfernten DS auch wirklich entfernt werden menulist.builder.rebuild(); - - var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); + + var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].getService(Components.interfaces.nsIRDFService); var datasource = rdfService.GetDataSourceBlocking(url); - + datasource.QueryInterface(Components.interfaces.nsIRDFRemoteDataSource); datasource.QueryInterface(Components.interfaces.nsIRDFXMLSink); menulist.database.AddDataSource(datasource); @@ -696,7 +696,7 @@ function saveProjekttaskMantis() var issue_steps_to_reproduce=document.getElementById('textbox-projekttask-mantis-issue_steps_to_reproduce').value; var issue_additional_information=document.getElementById('textbox-projekttask-mantis-issue_additional_information').value; var issue_tags = document.getElementById('textbox-projekttask-mantis-issue_tags').value; - + var soapBody = new SOAPObject("saveMantis"); soapBody.appendChild(new SOAPObject("projekttask_id")).val(projekttask_id); soapBody.appendChild(new SOAPObject("mantis_id")).val(mantis_id); @@ -731,25 +731,25 @@ function saveProjekttaskMantis() soapBody.appendChild(new SOAPObject("issue_due_date")).val(issue_due_date); soapBody.appendChild(new SOAPObject("issue_steps_to_reproduce")).val(issue_steps_to_reproduce); soapBody.appendChild(new SOAPObject("issue_additional_information")).val(issue_additional_information); - + var sr = new SOAPRequest("saveMantis",soapBody); SOAPClient.Proxy="soap/projekttask.soap.php?"+gettimestamp(); SOAPClient.SendRequest(sr, clb_saveProjekttaskMantis); - + // Tags speichern if(mantis_id != '') { var soapBody = new SOAPObject("saveTagsForIssue"); soapBody.appendChild(new SOAPObject("mantis_id")).val(mantis_id); - soapBody.appendChild(new SOAPObject("issue_tags")).val(issue_tags); + soapBody.appendChild(new SOAPObject("issue_tags")).val(issue_tags); var sr = new SOAPRequest("saveTagsForIssue",soapBody); SOAPClient.Proxy="soap/projekttask.soap.php?"+gettimestamp(); SOAPClient.SendRequest(sr, clb_saveProjekttaskMantis); } - + } // **** @@ -779,7 +779,7 @@ function ProjekttaskUpdateErledigt(event) var col = new Object(); var childElt = new Object(); //Tree holen - var tree = event.currentTarget; + var tree = event.currentTarget; //Treecol ermitteln in die geklickt wurde tree.treeBoxObject.getCellAt(event.clientX, event.clientY, row, col, childElt); //abbrechen wenn auf Header oder Scrollbar geklickt wurde @@ -798,7 +798,7 @@ function ProjekttaskUpdateErledigt(event) newval='false'; else newval='true'; - + var soapBody = new SOAPObject("setErledigt"); //soapBody.appendChild(new SOAPObject("username")).val('joe'); //soapBody.appendChild(new SOAPObject("passwort")).val('waschl'); @@ -807,8 +807,8 @@ function ProjekttaskUpdateErledigt(event) var sr = new SOAPRequest("setErledigt",soapBody); SOAPClient.Proxy="soap/projekttask.soap.php?"+gettimestamp(); - - SOAPClient.SendRequest(sr,function (respObj) + + SOAPClient.SendRequest(sr,function (respObj) { try { diff --git a/content/projekt/projekttask.overlay.xul.php b/content/projekt/projekttask.overlay.xul.php index cbce0e857..52c19828b 100644 --- a/content/projekt/projekttask.overlay.xul.php +++ b/content/projekt/projekttask.overlay.xul.php @@ -29,7 +29,7 @@ require_once('../../config/vilesci.config.inc.php'); echo ''; echo ''; -echo ''; + ?> - + - + diff --git a/content/projekt/ressource.overlay.xul.php b/content/projekt/ressource.overlay.xul.php index cd509cbfd..f291009b2 100644 --- a/content/projekt/ressource.overlay.xul.php +++ b/content/projekt/ressource.overlay.xul.php @@ -64,7 +64,7 @@ echo ''; - + '; } ?> - \ No newline at end of file + From 6376853734a233f6d3da89c31ca3a53e5bf42a0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Wed, 16 Jun 2021 15:10:43 +0200 Subject: [PATCH 17/17] =?UTF-8?q?Planner:=20Timming=20Problem=20beim=20Spe?= =?UTF-8?q?ichern=20von=20Ressourcen=20behoben=20das=20dazu=20f=C3=BChrte?= =?UTF-8?q?=20dass=20die=20Daten=20nicht=20immer=20gespeichert=20wurden?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../projekt/projekt_ressource.window.js.php | 137 +++++++++--------- 1 file changed, 69 insertions(+), 68 deletions(-) diff --git a/content/projekt/projekt_ressource.window.js.php b/content/projekt/projekt_ressource.window.js.php index bf0aed5de..480fb3551 100644 --- a/content/projekt/projekt_ressource.window.js.php +++ b/content/projekt/projekt_ressource.window.js.php @@ -6,76 +6,77 @@ require_once('../../include/functions.inc.php'); function updateProjektRessource() { - if(projekt_ressource_id!='') + if(projekt_ressource_id!='') + { + aufwand = document.getElementById("textbox-ressource-aufwand").value; + if (document.getElementById("leitung").selected) + funktion_kurzbz = 'Leitung'; + else + funktion_kurzbz = 'Mitarbeiter'; + + try + { + var soapBody = new SOAPObject("saveProjektRessource"); + var projektRessource = new SOAPObject("projektRessource"); + + projektRessource.appendChild(new SOAPObject("projekt_ressource_id")).val(projekt_ressource_id); + + if(projekt_kurzbz != '') + { + projektRessource.appendChild(new SOAPObject("projektphase_id")).val(''); + projektRessource.appendChild(new SOAPObject("projekt_kurzbz")).val(projekt_kurzbz); + var res_binding = window.opener.document.getElementById('box-projekt-ressourcen'); + } + else if(projektphase_id != '') + { + projektRessource.appendChild(new SOAPObject("projektphase_id")).val(projektphase_id); + projektRessource.appendChild(new SOAPObject("projekt_kurzbz")).val(''); + var res_binding = window.opener.document.getElementById('box-projekt-ressource-phase'); + } + + projektRessource.appendChild(new SOAPObject("ressource_id")).val(ressource_id); + projektRessource.appendChild(new SOAPObject("funktion_kurzbz")).val(funktion_kurzbz); + projektRessource.appendChild(new SOAPObject("beschreibung")).val(beschreibung); + projektRessource.appendChild(new SOAPObject("aufwand")).val(aufwand); + + soapBody.appendChild(projektRessource); + + var sr = new SOAPRequest("saveProjektRessource",soapBody); + SOAPClient.Proxy="soap/ressource_projekt.soap.php?"+gettimestamp(); + + function mycallb(obj, projekt_kurzbz, projektphase_id) + { + var ressourcebinding=obj; + var projekt = projekt_kurzbz; + var phase = projektphase_id; + + this.invoke=function (respObj) { + try + { + var id = respObj.Body[0].saveProjektRessourceResponse[0].message[0].Text; + } + catch(e) + { + var fehler = respObj.Body[0].Fault[0].faultstring[0].Text; + alert('Fehler: '+fehler); + return; + } + // Ressourcen Tree aktualisieren + ressourcebinding.LoadRessourceTree(projekt, phase); - aufwand = document.getElementById("textbox-ressource-aufwand").value; - if (document.getElementById("leitung").selected) - funktion_kurzbz = 'Leitung'; - else - funktion_kurzbz = 'Mitarbeiter'; - - - - try - { - var soapBody = new SOAPObject("saveProjektRessource"); - var projektRessource = new SOAPObject("projektRessource"); - - projektRessource.appendChild(new SOAPObject("projekt_ressource_id")).val(projekt_ressource_id); - - if(projekt_kurzbz != '') - { - projektRessource.appendChild(new SOAPObject("projektphase_id")).val(''); - projektRessource.appendChild(new SOAPObject("projekt_kurzbz")).val(projekt_kurzbz); - } - else if(projektphase_id != '') - { - projektRessource.appendChild(new SOAPObject("projektphase_id")).val(projektphase_id); - projektRessource.appendChild(new SOAPObject("projekt_kurzbz")).val(''); - } - - projektRessource.appendChild(new SOAPObject("ressource_id")).val(ressource_id); - projektRessource.appendChild(new SOAPObject("funktion_kurzbz")).val(funktion_kurzbz); - projektRessource.appendChild(new SOAPObject("beschreibung")).val(beschreibung); - projektRessource.appendChild(new SOAPObject("aufwand")).val(aufwand); - - soapBody.appendChild(projektRessource); - - var sr = new SOAPRequest("saveProjektRessource",soapBody); - SOAPClient.Proxy="soap/ressource_projekt.soap.php?"+gettimestamp(); - - function mycallb(obj) - { - var me=obj; - this.invoke=function (respObj) - { - try - { - var id = respObj.Body[0].saveProjektRessourceResponse[0].message[0].Text; - } - catch(e) - { - var fehler = respObj.Body[0].Fault[0].faultstring[0].Text; - alert('Fehler: '+fehler); - return; - } - me.RefreshRessource(); - } - } - - var cb=new mycallb(this); - - //SOAPClient.SendRequest(sr,cb.invoke); - SOAPClient.SendRequest(sr); - } - catch(e) - { - debug("Ressource load failed with exception: "+e); - } - + // Popup schließen + window.close(); } - //window.opener.location.reload(false); - window.close(); + } + // Callback fuer aktualisierung des Trees nach dem Speichern + var cb=new mycallb(res_binding, projekt_kurzbz, projektphase_id); + SOAPClient.SendRequest(sr,cb.invoke); + } + catch(e) + { + debug("Ressource load failed with exception: "+e); + } + } }