Attribut Aktiv bei Dokumentvorlagen angelegt

This commit is contained in:
kindlm
2015-10-16 15:58:41 +02:00
parent 2cc11017f2
commit 361649195c
3 changed files with 51 additions and 13 deletions
+21 -6
View File
@@ -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 durchgefhrt 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
{
+14
View File
@@ -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 '<strong>public.tbl_vorlagestudiengang: '.$db->db_last_error().'</strong><br>';
else
echo '<br>public.tbl_vorlagestudiengang: Neue Spalte aktiv hinzugefuegt. Aktiv bei allen Vorlagen auf true gesetzt.';
}
echo '<br><br><br>';
@@ -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;
}
// Lschen einer Dokumentvorlage
// Loeschen einer Dokumentvorlage
if(isset($_GET['delete']))
{
@@ -210,7 +212,7 @@ else
echo "<OPTION value='".$_SERVER['PHP_SELF']."?vorlage_kurzbz=$vorlage_kurzbz&oe_kurzbz=' $selected>Alle Organisationseinheiten</OPTION>";
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
<tr>
<td>Anmerkung</td>
<td><textarea cols="80" rows="2" name="anmerkung">'.$db->convert_html_chars($vorlageOE->anmerkung_vorlagestudiengang).'</textarea></td>
</tr>
<tr>
<td>Aktiv</td>
<td><input type="checkbox" name="aktiv" id="aktiv" '.($vorlageOE->aktiv==true?'checked="checked"':'').'"></td>
</tr>';
if(!$neu)
$val = 'Änderung Speichern';
@@ -438,6 +444,7 @@ else
<td></td>
<td>
<input type="hidden" value="'.$vorlageOE->vorlagestudiengang_id.'" name="vorlagestudiengang_id" />
<input type="hidden" value="'.$oe_auswahl.'" name="oe_auswahl" />
<input type="submit" name="speichern" value="'.$val.'">
</td>
@@ -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 '<span style="font-size: 9pt">Anzahl: '.$db->db_num_rows($vorlage_version->result).'</span>';
@@ -465,6 +472,7 @@ if($vorlage_kurzbz!='' || $oe_kurzbz!='')
<th>Studiengang</th>
<th>Version</th>
<th>Anmerkung</th>
<th>Aktiv</th>
<th colspan="2"></th>
</tr>
</thead>
@@ -480,14 +488,15 @@ if($vorlage_kurzbz!='' || $oe_kurzbz!='')
$style='style="text-decoration: line-through"';
echo '
<tr>
<tr '.($row->aktiv==false?'style="color:grey"':'').'>
<td>'.$db->convert_html_chars($vorlage_bezeichnung).'</td>
<td '.$style.'>'.$db->convert_html_chars($oe->organisationseinheittyp_kurzbz.' '.$oe->bezeichnung).'</td>
<td>'.$db->convert_html_chars($row->studiengang_kz).'</td>
<td>'.$db->convert_html_chars($row->version).'</td>
<td>'.$db->convert_html_chars($row->anmerkung_vorlagestudiengang).'</td>
<td><a href="'.$_SERVER['PHP_SELF'].'?vorlagestudiengang_id='.$row->vorlagestudiengang_id.'&vorlage_kurzbz='.$vorlage_kurzbz.'&oe_kurzbz='.$row->oe_kurzbz.'">Edit</a></td>
<td><a href="'.$_SERVER['PHP_SELF'].'?vorlagestudiengang_id='.$row->vorlagestudiengang_id.'&vorlage_kurzbz='.$vorlage_kurzbz.'&oe_kurzbz='.$row->oe_kurzbz.'&delete" onclick="return confdel(\''.$vorlage_bezeichnung.'\',\''.$row->version.'\')">Delete</a></td>
<td>'.($row->aktiv==false?'inaktiv':'aktiv').'</td>
<td><a href="'.$_SERVER['PHP_SELF'].'?vorlagestudiengang_id='.$row->vorlagestudiengang_id.'&vorlage_kurzbz='.$vorlage_kurzbz.'&oe_auswahl='.$oe_auswahl.'">Edit</a></td>
<td><a href="'.$_SERVER['PHP_SELF'].'?vorlagestudiengang_id='.$row->vorlagestudiengang_id.'&vorlage_kurzbz='.$vorlage_kurzbz.'&oe_auswahl='.$oe_auswahl.'&delete" onclick="return confdel(\''.$vorlage_bezeichnung.'\',\''.$row->version.'\')">Delete</a></td>
</tr>';
}