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