From 361649195c184b3d2bafb8b2c75fb123fe7cb46a Mon Sep 17 00:00:00 2001 From: kindlm Date: Fri, 16 Oct 2015 15:58:41 +0200 Subject: [PATCH] Attribut Aktiv bei Dokumentvorlagen angelegt --- include/vorlage.class.php | 27 ++++++++++++++----- system/checksystem.php | 14 ++++++++++ .../dokumentvorlagen_verwaltung.php | 23 +++++++++++----- 3 files changed, 51 insertions(+), 13 deletions(-) diff --git a/include/vorlage.class.php b/include/vorlage.class.php index d9701a563..eb0debe39 100644 --- a/include/vorlage.class.php +++ b/include/vorlage.class.php @@ -46,6 +46,7 @@ class vorlage extends basis_db public $oe_kurzbz; // varchar(32) public $vorlagestudiengang_id; // bigint public $anmerkung_vorlagestudiengang; // text + public $aktiv; // boolean /** * Konstruktor @@ -171,6 +172,7 @@ class vorlage extends basis_db $this->style = $row->style; $this->berechtigung = $row->berechtigung; $this->anmerkung_vorlagestudiengang = $row->anmerkung_vorlagestudiengang; + $this->aktiv = $this->db_parse_bool($row->aktiv); return true; } else @@ -223,6 +225,7 @@ class vorlage extends basis_db $obj->style = $row->style; $obj->berechtigung = $row->berechtigung; $obj->anmerkung_vorlagestudiengang = $row->anmerkung_vorlagestudiengang; + $obj->aktiv = $this->db_parse_bool($row->aktiv); $this->result[]= $obj; } @@ -283,7 +286,7 @@ class vorlage extends basis_db if($new) { - $qry = "INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz,studiengang_kz,version,text,oe_kurzbz,style,berechtigung,anmerkung_vorlagestudiengang) VALUES(". + $qry = "INSERT INTO public.tbl_vorlagestudiengang(vorlage_kurzbz,studiengang_kz,version,text,oe_kurzbz,style,berechtigung,anmerkung_vorlagestudiengang,aktiv) VALUES(". $this->db_add_param($this->vorlage_kurzbz).','. $this->db_add_param($this->studiengang_kz).','. $this->db_add_param($this->version).','. @@ -291,6 +294,7 @@ class vorlage extends basis_db $this->db_add_param($this->oe_kurzbz).','. $this->db_add_param($this->style).','. $this->db_add_param($this->berechtigung).','. + $this->db_add_param($this->aktiv, FHC_BOOLEAN).', '. $this->db_add_param($this->anmerkung_vorlagestudiengang).');'; } else @@ -303,6 +307,7 @@ class vorlage extends basis_db oe_kurzbz='.$this->db_add_param($this->oe_kurzbz).', style='.$this->db_add_param($this->style).', berechtigung='.$this->db_add_param($this->berechtigung).', + aktiv='.$this->db_add_param($this->aktiv, FHC_BOOLEAN).', anmerkung_vorlagestudiengang='.$this->db_add_param($this->anmerkung_vorlagestudiengang).' WHERE vorlagestudiengang_id='.$this->db_add_param($this->vorlagestudiengang_id).';'; } @@ -375,12 +380,13 @@ class vorlage extends basis_db * * @param $oe_kurzbz Organisationseinheit der Vorlage * Fuer Kompatibilitaetszwecke kann hier statt der oe_kurzbz auch die Studiengangskennzahl uebergeben werden. - * In diesem Fall wird ein load der OE des Studiengangs durchgeführt und die entsprechende OE verwendet. - * @param $vorlage_kurzbz Name der Vorlage - * @param $version optional kann die Versionsnummer der Vorlage uebergeben werden + * In diesem Fall wird ein load der OE des Studiengangs durchgef�hrt und die entsprechende OE verwendet. + * @param string $vorlage_kurzbz Name der Vorlage + * @param integer $version optional kann die Versionsnummer der Vorlage uebergeben werden + * @param boolean $aktiv default:true. Optional. Wenn false: werden nur inaktive Vorlagen geladen. Wenn null, werden alle Vorlagen geladen. * @return boolean */ - public function getAktuelleVorlage($oe_kurzbz, $vorlage_kurzbz, $version=null) + public function getAktuelleVorlage($oe_kurzbz, $vorlage_kurzbz, $version=null, $aktiv=true) { $studiengang_kz=''; if(is_numeric($oe_kurzbz)) @@ -405,6 +411,10 @@ class vorlage extends basis_db { $qry.=" AND version=".$this->db_add_param($version, FHC_INTEGER); } + if(!is_null($aktiv) && $aktiv!='') + { + $qry.=" AND aktiv=".$this->db_add_param($aktiv, FHC_BOOLEAN); + } if($studiengang_kz<0) //Damit bei negativer studiengang_kz richtiges Ergebnis kommt { $qry .=" ORDER BY studiengang_kz ASC, version DESC LIMIT 1;"; @@ -427,6 +437,10 @@ class vorlage extends basis_db { $qry.=" AND version=".$this->db_add_param($version, FHC_INTEGER); } + if(!is_null($aktiv) && $aktiv!='') + { + $qry.=" AND aktiv=".$this->db_add_param($aktiv, FHC_BOOLEAN); + } $qry.=" ORDER BY version DESC LIMIT 1"; } @@ -443,6 +457,7 @@ class vorlage extends basis_db $this->style = $row->style; $this->berechtigung = $this->db_parse_array($row->berechtigung); $this->anmerkung_vorlagestudiengang = $row->anmerkung_vorlagestudiengang; + $this->aktiv = $this->db_parse_bool($row->aktiv); return true; } @@ -462,7 +477,7 @@ class vorlage extends basis_db if($oe->oe_parent_kurzbz!='') { - return $this->getAktuelleVorlage($oe->oe_parent_kurzbz, $vorlage_kurzbz, $version); + return $this->getAktuelleVorlage($oe->oe_parent_kurzbz, $vorlage_kurzbz, $version, $aktiv); } else { diff --git a/system/checksystem.php b/system/checksystem.php index 308bf950f..35db4ac51 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -3547,6 +3547,20 @@ if($result = @$db->db_query("SELECT 1 FROM system.tbl_berechtigung WHERE berecht } } +// Attribut Aktiv für tbl_vorlagestudiengang und alle bisherigen Vorlagen auf aktiv setzen +if(!$result = @$db->db_query("SELECT aktiv FROM public.tbl_vorlagestudiengang")) +{ + $qry = "ALTER TABLE public.tbl_vorlagestudiengang ADD COLUMN aktiv boolean NOT NULL default true; + + UPDATE public.tbl_vorlagestudiengang SET aktiv=true; + "; + + if(!$db->db_query($qry)) + echo 'public.tbl_vorlagestudiengang: '.$db->db_last_error().'
'; + else + echo '
public.tbl_vorlagestudiengang: Neue Spalte aktiv hinzugefuegt. Aktiv bei allen Vorlagen auf true gesetzt.'; +} + echo '


'; diff --git a/vilesci/stammdaten/dokumentvorlagen_verwaltung.php b/vilesci/stammdaten/dokumentvorlagen_verwaltung.php index 0e67dc992..3219cfcc9 100644 --- a/vilesci/stammdaten/dokumentvorlagen_verwaltung.php +++ b/vilesci/stammdaten/dokumentvorlagen_verwaltung.php @@ -37,6 +37,7 @@ if (!$db = new basis_db()) $user = get_uid(); $oe_kurzbz = (isset($_REQUEST['oe_kurzbz']) ? $_REQUEST['oe_kurzbz'] : null); +$oe_auswahl = (isset($_REQUEST['oe_auswahl']) ? $_REQUEST['oe_auswahl'] : $oe_kurzbz); $vorlage_kurzbz = (isset($_REQUEST['vorlage_kurzbz']) ? $_REQUEST['vorlage_kurzbz'] : null); $vorlagestudiengang_id = (isset($_REQUEST['vorlagestudiengang_id']) ? $_REQUEST['vorlagestudiengang_id'] : null); $neu = (isset($_REQUEST['neu']) ? true : false); @@ -118,7 +119,7 @@ if(isset($_POST['speichern'])) $studiengang_kz = 0; else $studiengang_kz = $studiengang->studiengang_kz; - + $dokumentvorlage->vorlage_kurzbz = $_POST['vorlage_kurzbz']; $dokumentvorlage->studiengang_kz = $studiengang_kz; $dokumentvorlage->version = $_POST['version']; @@ -127,6 +128,7 @@ if(isset($_POST['speichern'])) $dokumentvorlage->style = $_POST['style']; $dokumentvorlage->berechtigung = $_POST['berechtigung']; $dokumentvorlage->anmerkung_vorlagestudiengang = $_POST['anmerkung']; + $dokumentvorlage->aktiv = isset($_POST['aktiv']); if($dokumentvorlage->saveVorlageOE()) { @@ -141,7 +143,7 @@ if(isset($_POST['speichern'])) $neu=false; } -// L�schen einer Dokumentvorlage +// Loeschen einer Dokumentvorlage if(isset($_GET['delete'])) { @@ -210,7 +212,7 @@ else echo ""; foreach ($organisationseinheit->result as $row) { - if($row->oe_kurzbz==$oe_kurzbz) + if($row->oe_kurzbz==$oe_auswahl) $selected='selected'; else $selected=''; @@ -428,6 +430,10 @@ else Anmerkung + + + Aktiv + aktiv==true?'checked="checked"':'').'"> '; if(!$neu) $val = 'Änderung Speichern'; @@ -438,6 +444,7 @@ else + @@ -452,7 +459,7 @@ if($vorlage_kurzbz!='' || $oe_kurzbz!='') { $vorlage_version = new vorlage(); - $vorlage_version->getAllVersions($vorlage_kurzbz, $oe_kurzbz); + $vorlage_version->getAllVersions($vorlage_kurzbz, $oe_auswahl); $oe = new organisationseinheit(); $vorlage = new vorlage(); //echo 'Anzahl: '.$db->db_num_rows($vorlage_version->result).''; @@ -465,6 +472,7 @@ if($vorlage_kurzbz!='' || $oe_kurzbz!='') Studiengang Version Anmerkung + Aktiv @@ -480,14 +488,15 @@ if($vorlage_kurzbz!='' || $oe_kurzbz!='') $style='style="text-decoration: line-through"'; echo ' - + aktiv==false?'style="color:grey"':'').'> '.$db->convert_html_chars($vorlage_bezeichnung).' '.$db->convert_html_chars($oe->organisationseinheittyp_kurzbz.' '.$oe->bezeichnung).' '.$db->convert_html_chars($row->studiengang_kz).' '.$db->convert_html_chars($row->version).' '.$db->convert_html_chars($row->anmerkung_vorlagestudiengang).' - Edit - Delete + '.($row->aktiv==false?'inaktiv':'aktiv').' + Edit + Delete '; }