Compare commits

..

9 Commits

Author SHA1 Message Date
Paolo e09283cb8a Merge branch 'master' into feature-70806/DMS_Erweiterung_Metadaten 2026-07-09 10:59:47 +02:00
Paolo 78709db3be Merge branch 'master' into feature-70806/DMS_Erweiterung_Metadaten 2026-06-11 12:51:56 +02:00
Paolo f9ef885aae Added missing columns in the system/dbupdate_3.4.php checks 2026-04-28 16:55:08 +02:00
Paolo 3675567034 Merge branch 'master' into feature-70806/DMS_Erweiterung_Metadaten 2026-04-27 12:58:48 +02:00
Paolo e2ba7820dc Merge branch 'master' into feature-70806/DMS_Erweiterung_Metadaten 2026-03-24 09:46:05 +01:00
Paolo f849b9179c - Rename "Organisationseinheit: (Upload, Ansicht, Änderungen)" to "Verantwortliche Organisationseinheit"
- Default Value for new Documents for "Gültig ab" should be the current Date
2026-03-10 15:51:05 +01:00
Paolo 09380e8ef6 Merge branch 'master' into feature-70806/DMS_Erweiterung_Metadaten 2026-02-23 14:27:51 +01:00
Paolo 469e2799c2 Added forgotten DB update file 2026-02-09 08:53:19 +01:00
Paolo 016e5fe426 DMS im CIS soll erweitert werden um folgende Felder:
Gültig ab ( Ab welchem Datum ist das Dokument gültig ) (Date)
Organsiationseinheit ( Wer ist für das Dokument verantwortlich ) (DropDown)
archiviert (Boolean)

Nötige Schritte

DB Felder hinzufügen
Legacy GUI Anpassung
Felder in DMS Lib nachziehen!
2026-02-05 14:33:06 +01:00
31 changed files with 257 additions and 124 deletions
@@ -259,7 +259,7 @@ class BetriebsmittelP extends FHCAPI_Controller
$kaution = $this->input->post('kaution');
if($kaution) $kaution = str_replace(',', '.', $kaution);
$ausgegebenam = $this->input->post('ausgegebenam');
$retouram = $this->input->post('retouram') == "" ? null : $this->input->post('retouram');
$retouram = $this->input->post('retouram');
// NOTE(chris): transform_kartennummer
if ($betriebsmitteltyp == 'Zutrittskarte' && $nummer)
@@ -9,9 +9,9 @@ class Detailheader extends FHCAPI_Controller
public function __construct()
{
parent::__construct([
'getHeader' => ['vertrag/mitarbeiter:r', 'basis/mitarbeiter:r'],
'getPersonAbteilung' => ['vertrag/mitarbeiter:r', 'basis/mitarbeiter:r'],
'getLeitungOrg' => ['vertrag/mitarbeiter:r', 'basis/mitarbeiter:r'],
'getHeader' => ['vertrag/mitarbeiter:r'],
'getPersonAbteilung' => ['vertrag/mitarbeiter:r'],
'getLeitungOrg' => ['vertrag/mitarbeiter:r'],
]);
}
@@ -294,10 +294,6 @@ class Funktionen extends FHCAPI_Controller
{
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
if($datum_von == '')
$datum_von = null;
if($datum_bis == '')
$datum_bis = null;
$result = $this->BenutzerfunktionModel->update(
[
@@ -371,9 +371,6 @@ class Abschlusspruefung extends FHCAPI_Controller
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
$datum = $formData['datum'] == '' ? null : $formData['datum'];
$sponsion = $formData['sponsion'] == '' ? null : $formData['sponsion'];
$result = $this->AbschlusspruefungModel->update(
[
'abschlusspruefung_id' => $abschlusspruefung_id
@@ -385,8 +382,8 @@ class Abschlusspruefung extends FHCAPI_Controller
'vorsitz' => $vorsitz,
'pruefungsantritt_kurzbz' => $formData['pruefungsantritt_kurzbz'],
'abschlussbeurteilung_kurzbz' => $formData['abschlussbeurteilung_kurzbz'],
'datum' => $datum,
'sponsion' => $sponsion,
'datum' => $formData['datum'],
'sponsion' => $formData['sponsion'],
'pruefer1' => $pruefer1,
'pruefer2' => $pruefer2,
'pruefer3' => $pruefer3,
@@ -170,8 +170,6 @@ class Dokumente extends FHCAPI_Controller
$this->terminateWithValidationErrors($this->form_validation->error_array());
}
$nachgereicht_am = $this->input->post('nachgereicht_am') == '' ? null : $this->input->post('nachgereicht_am');
$uid = getAuthUID();
$result = $this->AkteModel->update(
@@ -182,7 +180,7 @@ class Dokumente extends FHCAPI_Controller
'dokument_kurzbz' => $this->input->post('dokument_kurzbz'),
'anmerkung_intern' => $this->input->post('anmerkung_intern'),
'titel_intern' => $this->input->post('titel_intern'),
'nachgereicht_am' => $nachgereicht_am,
'nachgereicht_am' => $this->input->post('nachgereicht_am'),
'updateamum' => date('c'),
'updatevon' => $uid,
]
@@ -429,12 +429,9 @@ class Konto extends FHCAPI_Controller
'updateamum' => date('c'),
'updatevon' => getAuthUID()
];
foreach ($allowed as $field)
if ($this->input->post($field) !== null)
$data[$field] = $this->input->post($field);
if($data['buchungsdatum'] == '')
$data['buchungsdatum'] = null;
$result = $this->KontoModel->update($id, $data);
@@ -237,8 +237,8 @@ class Mobility extends FHCAPI_Controller
}
$formData = $this->input->post('formData');
$von = ($formData['von'] ?? '') ?: null;
$bis = ($formData['bis'] ?? '') ?: null;
$von = $formData['von'] ?? null;
$bis = $formData['bis'] ?? null;
$nation_code = $formData['nation_code'] ?? null;
$mobilitaetsprogramm_code = $formData['mobilitaetsprogramm_code'] ?? null;
$herkunftsland_code = $formData['herkunftsland_code'] ?? null;
@@ -193,7 +193,7 @@ class Prestudent extends FHCAPI_Controller
}
elseif (
$val === ''
&& in_array($prop, ['zgvnation', 'zgvmanation', 'zgvdoktornation', 'berufstaetigkeit_code', 'ausbildungcode', 'zgvdatum', 'zgvmadatum'])
&& in_array($prop, ['zgvnation', 'zgvmanation', 'zgvdoktornation', 'berufstaetigkeit_code', 'ausbildungcode'])
)
{
$val = null;
@@ -448,10 +448,8 @@ class Pruefung extends FHCAPI_Controller
}
}
$datum = $this->input->post('datum') == '' ? null : $this->input->post('datum');
if(intval($pruefung_id) > 0)
{
$result = $this->PruefungModel->update(
[
'pruefung_id' => $pruefung_id
@@ -461,7 +459,7 @@ class Pruefung extends FHCAPI_Controller
'mitarbeiter_uid' => $this->input->post('mitarbeiter_uid'),
'note' => $this->input->post('note'),
'pruefungstyp_kurzbz' => $this->input->post('pruefungstyp_kurzbz'),
'datum' => $datum,
'datum' => $this->input->post('datum'),
'anmerkung' => $this->input->post('anmerkung'),
'updatevon' => $authUID,
'updateamum' => date('c'),
@@ -474,7 +472,7 @@ class Pruefung extends FHCAPI_Controller
'lehreinheit_id' => $this->input->post('lehreinheit_id'),
'student_uid' => $this->input->post('student_uid'),
'mitarbeiter_uid' => $this->input->post('mitarbeiter_uid'),
'datum' => $datum,
'datum' => $this->input->post('datum'),
'pruefungstyp_kurzbz' => $this->input->post('pruefungstyp_kurzbz'),
'note' => $this->input->post('note'),
'anmerkung' => $this->input->post('anmerkung'),
@@ -522,7 +520,7 @@ class Pruefung extends FHCAPI_Controller
'studiensemester_kurzbz' => $studiensemester_kurzbz,
'note' => $this->input->post('note'),
'uebernahmedatum' => date('c'),
'benotungsdatum' => $datum,
'benotungsdatum' => $this->input->post('datum'),
'insertamum' => date('c'),
'insertvon' => $authUID,
'punkte' => $this->input->post('punkte') ? str_replace(',', '.', $this->input->post('punkte')) : null
@@ -557,7 +555,7 @@ class Pruefung extends FHCAPI_Controller
], [
'note' => $this->input->post('note'),
'uebernahmedatum' => date('c'),
'benotungsdatum' => $datum,
'benotungsdatum' => $this->input->post('datum'),
'updateamum' => date('c'),
'updatevon' => $authUID,
'punkte' => $this->input->post('punkte') ? str_replace(',', '.', $this->input->post('punkte')) : null
@@ -296,10 +296,6 @@ class Student extends FHCAPI_Controller
$fotoval = ($val == '') ? null : str_replace('data:image/jpeg;base64,', '', $val);
$update_person[$prop] = $fotoval;
}
else if ($prop == 'gebdatum')
{
$update_person[$prop] = ($val == '') ? null : $val;
}
else
{
$update_person[$prop] = $val;
@@ -122,47 +122,6 @@ class Studiensemester_model extends DB_Model
return $this->execQuery($query, array($studiensemester_kurzbz, $limit));
}
/**
* Returns the current study semester and the previous semesters of the same type (SS/WS).
*
* Example:
* - SS2026, limit 3: SS2026, SS2025, SS2024
* - WS2025, limit 2: WS2025, WS2024
*
* @param $studiensemester_kurzbz
* @param $limit
*/
public function getPreviousSameSemesterFrom($studiensemester_kurzbz, $limit = 1)
{
$qry = '
SELECT
studiensemester_kurzbz,
start,
ende
FROM
public.tbl_studiensemester
WHERE
SUBSTRING(studiensemester_kurzbz FROM 1 FOR 2) = SUBSTRING(? FROM 1 FOR 2)
AND start <= (
SELECT start
FROM public.tbl_studiensemester
WHERE studiensemester_kurzbz = ?
)
ORDER BY
start DESC
LIMIT ?
';
return $this->execQuery($qry,
[
$studiensemester_kurzbz,
$studiensemester_kurzbz,
$limit
]
);
}
/**
* getNearest
*/
@@ -260,6 +260,7 @@ class Benutzerfunktion_model extends DB_Model
return $this->execQuery($query, $parameters_array);
}
/**
* Get active Kompetenzfeldleitung bei UID.
*
@@ -295,6 +296,7 @@ class Benutzerfunktion_model extends DB_Model
return $this->execQuery($query, $parameters_array);
}
public function insertBenutzerfunktion($Json)
{
unset($Json['benutzerfunktion_id']);
+98 -7
View File
@@ -17,13 +17,14 @@
* Karl Burkhart <karl.burkhart@technikum-wien.at> and
* Manfred Kindl <manfred.kindl@technikum-wien.at>.
*/
require_once ('../config/cis.config.inc.php');
require_once ('../include/functions.inc.php');
require_once ('../include/dms.class.php');
require_once ('../include/benutzerberechtigung.class.php');
require_once ('../include/basis_db.class.php');
require_once ('../include/datum.class.php');
require_once ('../include/log.class.php');
require_once('../config/cis.config.inc.php');
require_once('../include/functions.inc.php');
require_once('../include/dms.class.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/basis_db.class.php');
require_once('../include/datum.class.php');
require_once('../include/log.class.php');
require_once('../include/organisationseinheit.class.php');
$db = new basis_db();
$user = get_uid();
@@ -52,6 +53,7 @@ if (! $rechte->isberechtigt('basis/dms', null, 's', null))
<script type="text/javascript" src="../vendor/jquery/sizzle/sizzle.js"></script>
<script type="text/javascript" src="../vendor/joeldbirch/superfish/dist/js/superfish.min.js"></script>
<script type="text/javascript" src="../include/tiny_mce/tiny_mce_popup.js"></script>
<script type="text/javascript" src="../include/js/jquery.ui.datepicker.translation.js"></script>
<style type="text/css">
.buttondesign
{
@@ -129,6 +131,8 @@ if (! $rechte->isberechtigt('basis/dms', null, 's', null))
{
//$('#divupload').hide();
jQuery('ul.sf-menu').superfish({speed:'fast', delay:200});
$(".datepicker_datum").datepicker($.datepicker.regional['de']);
});
function upload(id, name)
@@ -265,6 +269,11 @@ $mimetypes = array(
'image/png' => 'img_icon.png'
);
// Organsiationseinheit dropdown
$organisationseinheiten = new organisationseinheit();
$organisationseinheiten->getAll(true, null, 'organisationseinheittyp_kurzbz, bezeichnung');
$oe_typ = '';
// Hole Datei aus Import Verzeichnis
if ($importFile != '')
{
@@ -334,6 +343,9 @@ if (isset($_POST['fileupload']))
$schlagworte = $_POST['schlagworte'];
$mimetype = isset($_POST['mimetype']) ? $_POST['mimetype'] : '';
$cis_suche = isset($_POST['cis_suche']) ? true : false;
$gueltig_ab = isset($_POST['gueltig_ab']) ? $_POST['gueltig_ab'] : null;
$oe_kurzbz_verantwortlich = isset($_POST['oe_kurzbz_verantwortlich']) ? $_POST['oe_kurzbz_verantwortlich'] : null;
$archiviert = isset($_POST['archiviert']) ? true : false;
$ext = pathinfo($_FILES['userfile']['name'], PATHINFO_EXTENSION);
$filename = uniqid();
$filename .= ".".$ext;
@@ -377,6 +389,10 @@ if (isset($_POST['fileupload']))
$dms->beschreibung = $beschreibung;
$dms->schlagworte = $schlagworte;
$dms->cis_suche = $cis_suche;
$gueltig_ab_date = DateTime::createFromFormat('d.m.Y', $gueltig_ab);
$dms->gueltig_ab = $gueltig_ab_date->format('Y-m-d');
$dms->oe_kurzbz_verantwortlich = $oe_kurzbz_verantwortlich;
$dms->archiviert = $archiviert;
if ($dms->save(true))
{
@@ -414,6 +430,9 @@ if (isset($_POST['action']) && $_POST['action'] == 'rename')
$schlagworte = $_POST['schlagworte'];
$mimetype = isset($_POST['mimetype']) ? $_POST['mimetype'] : '';
$cis_suche = isset($_POST['cis_suche']) ? true : false;
$gueltig_ab = isset($_POST['gueltig_ab']) ? $_POST['gueltig_ab'] : null;
$oe_kurzbz_verantwortlich = isset($_POST['oe_kurzbz_verantwortlich']) ? $_POST['oe_kurzbz_verantwortlich'] : null;
$archiviert = isset($_POST['archiviert']) ? true : false;
$dms = new dms();
if ($dms->load($dms_id, $version))
@@ -432,6 +451,10 @@ if (isset($_POST['action']) && $_POST['action'] == 'rename')
}
$dms->updateamum = date('Y-m-d H:i:s');
$dms->updatevon = $user;
$gueltig_ab_date = DateTime::createFromFormat('d.m.Y', $gueltig_ab);
$dms->gueltig_ab = $gueltig_ab_date->format('Y-m-d');
$dms->oe_kurzbz_verantwortlich = $oe_kurzbz_verantwortlich;
$dms->archiviert = $archiviert;
if ($dms->save(false))
echo '<span class="ok">Dateiname wurde erfolgreich geändert</span>';
@@ -1017,6 +1040,8 @@ else
{
echo '<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page='.$page.'&dpp='.$dpp.'" method="POST" enctype="multipart/form-data">';
}
$tmp_date = date_create();
$gueltig_ab_date = $tmp_date->format('d.m.Y');
echo '
<input type="hidden" name="kategorie_kurzbz" id="kategorie_kurzbz" value="'.$kategorie_kurzbz.'">
<input type="hidden" name="dms_id" id="dms_id" value="">
@@ -1037,6 +1062,34 @@ else
<td>CIS-Suche</td>
<td><input type="checkbox" id="cis_suche_checkbox" name="cis_suche"></td>
</tr>
<tr>
<td>Gültig ab</td>
<td><input id="gueltig_ab" class="datepicker_datum" type="text" name="gueltig_ab" value="'.$gueltig_ab_date.'"></td>
</tr>
<tr>
<td>Verantwortliche Organisationseinheit</td>
<td>
<select name="oe_kurzbz_verantwortlich">
<option value="">-- Bitte Auswählen --</option>';
foreach ($organisationseinheiten->result as $oe)
{
if ($oe_typ != $oe->organisationseinheittyp_kurzbz || $oe_typ == '')
{
if ($oe_typ != '') echo '</optgroup>';
echo '<optgroup label="'.$oe->organisationseinheittyp_kurzbz.'">';
}
echo '<option value="'.$oe->oe_kurzbz.'">'.$oe->organisationseinheittyp_kurzbz.' '.$oe->bezeichnung.'</option>';
$oe_typ = $oe->organisationseinheittyp_kurzbz;
}
echo '
</select>
</td>
</tr>
<tr>
<td>Archiviert</td>
<td><input type="checkbox" id="archiviert_checkbox" name="archiviert"></td>
</tr>
<tr>
<td></td>
<td><input type="file" name="userfile"></td>
@@ -1555,6 +1608,7 @@ function drawFilesList($rows)
function drawRenameForm($dms_id, $version, $page = NULL, $dpp = NULL, $searching, $searchstring)
{
global $kategorie_kurzbz;
global $organisationseinheiten, $oe_typ;
$dms = new dms();
if ($dms->load($dms_id, $version))
@@ -1577,6 +1631,12 @@ function drawRenameForm($dms_id, $version, $page = NULL, $dpp = NULL, $searching
echo '&dpp='.$dpp;
echo '" method="POST">';
}
$gueltig_ab_date = '';
if ($dms->gueltig_ab != null || $dms->gueltig_ab != '')
{
$tmp_date = date_create($dms->gueltig_ab);
$gueltig_ab_date = $tmp_date->format('d.m.Y');
}
echo '
<table>
<tr>
@@ -1599,6 +1659,37 @@ function drawRenameForm($dms_id, $version, $page = NULL, $dpp = NULL, $searching
<td>CIS-Suche:</td>
<td><input type="checkbox" name="cis_suche" '.($dms->cis_suche == 'true'?'checked="checked"':'').'></td>
</tr>
<tr>
<td>Gültig ab</td>
<td><input id="gueltig_ab" class="datepicker_datum" type="text" name="gueltig_ab" value="'.$gueltig_ab_date.'"></td>
</tr>
<tr>
<td>Verantwortliche Organisationseinheit</td>
<td>
<select name="oe_kurzbz_verantwortlich">
<option value="">-- Bitte Auswählen --</option>';
foreach ($organisationseinheiten->result as $oe)
{
if ($oe_typ != $oe->organisationseinheittyp_kurzbz || $oe_typ == '')
{
if ($oe_typ != '') echo '</optgroup>';
echo '<optgroup label="'.$oe->organisationseinheittyp_kurzbz.'">';
}
$selected = '';
if ($oe->oe_kurzbz == $dms->oe_kurzbz_verantwortlich)
$selected = 'selected';
echo '<option '.$selected.' value="'.$oe->oe_kurzbz.'">'.$oe->organisationseinheittyp_kurzbz.' '.$oe->bezeichnung.'</option>';
$oe_typ = $oe->organisationseinheittyp_kurzbz;
}
echo '
</select>
</td>
</tr>
<tr>
<td>Archiviert</td>
<td><input type="checkbox" id="archiviert_checkbox" name="archiviert" '.($dms->archiviert == 'true'?'checked="checked"':'').'></td>
</tr>
</table>
<input type="hidden" name="action" value="rename">
<input type="hidden" name="dms_id" value="'.$dms_id.'">
+40 -3
View File
@@ -51,6 +51,9 @@ class dms extends basis_db
public $kategorie_oe_kurzbz;
public $berechtigung_kurzbz;
public $bezeichnung;
public $gueltig_ab;
public $oe_kurzbz_verantwortlich;
public $archiviert;
/**
* Konstruktor
@@ -97,6 +100,9 @@ class dms extends basis_db
$this->updatevon = $row->updatevon;
$this->cis_suche = $this->db_parse_bool($row->cis_suche);
$this->schlagworte = $row->schlagworte;
$this->gueltig_ab = $row->gueltig_ab;
$this->oe_kurzbz_verantwortlich = $row->oe_kurzbz_verantwortlich;
$this->archiviert = $this->db_parse_bool($row->archiviert);
return true;
}
@@ -148,7 +154,7 @@ class dms extends basis_db
$qry.="INSERT INTO campus.tbl_dms_version(dms_id, version,
filename, mimetype, name, beschreibung, letzterzugriff, insertamum, insertvon,
updateamum, updatevon, cis_suche, schlagworte) VALUES(".
updateamum, updatevon, cis_suche, schlagworte, oe_kurzbz_verantwortlich, gueltig_ab, archiviert) VALUES(".
$dms_id.','.
$this->db_add_param($this->version, FHC_INTEGER).','.
$this->db_add_param($this->filename).','.
@@ -161,7 +167,11 @@ class dms extends basis_db
$this->db_add_param($this->updateamum).','.
$this->db_add_param($this->updatevon).','.
$this->db_add_param($this->cis_suche, FHC_BOOLEAN).','.
$this->db_add_param($this->schlagworte).');';
$this->db_add_param($this->schlagworte).','.
$this->db_add_param($this->oe_kurzbz_verantwortlich).','.
$this->db_add_param($this->gueltig_ab).','.
$this->db_add_param($this->archiviert, FHC_BOOLEAN).
');';
}
else
{
@@ -179,7 +189,10 @@ class dms extends basis_db
" updateamum=".$this->db_add_param($this->updateamum).",".
" updatevon=".$this->db_add_param($this->updatevon).",".
" cis_suche=".$this->db_add_param($this->cis_suche, FHC_BOOLEAN).",".
" schlagworte=".$this->db_add_param($this->schlagworte).
" schlagworte=".$this->db_add_param($this->schlagworte).",".
" archiviert=".$this->db_add_param($this->archiviert, FHC_BOOLEAN).",".
" oe_kurzbz_verantwortlich=".$this->db_add_param($this->oe_kurzbz_verantwortlich).",".
" gueltig_ab=".$this->db_add_param($this->gueltig_ab).
" WHERE dms_id=".$this->db_add_param($this->dms_id,FHC_INTEGER)." AND version=".$this->db_add_param($this->version, FHC_INTEGER).";";
}
@@ -685,6 +698,9 @@ class dms extends basis_db
$obj->updateamum = $row->updateamum;
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
$obj->schlagworte = $row->schlagworte;
$obj->gueltig_ab = $row->gueltig_ab;
$obj->oe_kurzbz_verantwortlich = $row->oe_kurzbz_verantwortlich;
$obj->archiviert = $this->db_parse_bool($row->archiviert);
$this->result[] = $obj;
}
@@ -789,6 +805,9 @@ class dms extends basis_db
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
$obj->schlagworte = $row->schlagworte;
$obj->berechtigung_kurzbz = $row->berechtigung_kurzbz;
$obj->gueltig_ab = $row->gueltig_ab;
$obj->oe_kurzbz_verantwortlich = $row->oe_kurzbz_verantwortlich;
$obj->archiviert = $this->db_parse_bool($row->archiviert);
$this->result[] = $obj;
}
@@ -840,6 +859,9 @@ class dms extends basis_db
$obj->updateamum = $row->updateamum;
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
$obj->schlagworte = $row->schlagworte;
$obj->gueltig_ab = $row->gueltig_ab;
$obj->oe_kurzbz_verantwortlich = $row->oe_kurzbz_verantwortlich;
$obj->archiviert = $this->db_parse_bool($row->archiviert);
$this->result[] = $obj;
}
@@ -888,6 +910,9 @@ class dms extends basis_db
$obj->version = $row->version;
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
$obj->schlagworte = $row->schlagworte;
$obj->gueltig_ab = $row->gueltig_ab;
$obj->oe_kurzbz_verantwortlich = $row->oe_kurzbz_verantwortlich;
$obj->archiviert = $this->db_parse_bool($row->archiviert);
$this->result[] = $obj;
}
@@ -966,6 +991,9 @@ class dms extends basis_db
$obj->updateamum = $row->updateamum;
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
$obj->schlagworte = $row->schlagworte;
$obj->gueltig_ab = $row->gueltig_ab;
$obj->oe_kurzbz_verantwortlich = $row->oe_kurzbz_verantwortlich;
$obj->archiviert = $this->db_parse_bool($row->archiviert);
$this->result[] = $obj;
}
@@ -1017,6 +1045,9 @@ class dms extends basis_db
$obj->updateamum = $row->updateamum;
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
$obj->schlagworte = $row->schlagworte;
$obj->gueltig_ab = $row->gueltig_ab;
$obj->oe_kurzbz_verantwortlich = $row->oe_kurzbz_verantwortlich;
$obj->archiviert = $this->db_parse_bool($row->archiviert);
$this->result[] = $obj;
}
@@ -1069,6 +1100,9 @@ class dms extends basis_db
$obj->updateamum = $row->updateamum;
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
$obj->schlagworte = $row->schlagworte;
$obj->gueltig_ab = $row->gueltig_ab;
$obj->oe_kurzbz_verantwortlich = $row->oe_kurzbz_verantwortlich;
$obj->archiviert = $this->db_parse_bool($row->archiviert);
$this->result[] = $obj;
}
@@ -1425,6 +1459,9 @@ class dms extends basis_db
$obj->updateamum = $row->updateamum;
$obj->cis_suche = $this->db_parse_bool($row->cis_suche);
$obj->schlagworte = $row->schlagworte;
$obj->gueltig_ab = $row->gueltig_ab;
$obj->oe_kurzbz_verantwortlich = $row->oe_kurzbz_verantwortlich;
$obj->archiviert = $this->db_parse_bool($row->archiviert);
$this->result[] = $obj;
}
@@ -433,7 +433,6 @@ export default {
:label="$p.t('wawi/ausgegebenam')"
name="ausgegebenam"
v-model="formData.ausgegebenam"
model-type="yyyy-MM-dd"
auto-apply
:enable-time-picker="false"
text-input
@@ -450,7 +449,6 @@ export default {
:label="$p.t('wawi/retouram')"
name="retouram"
v-model="formData.retouram"
model-type="yyyy-MM-dd"
auto-apply
:enable-time-picker="false"
text-input
@@ -551,7 +551,6 @@ export default {
container-class="mb-3 col-3"
type="DatePicker"
v-model="formData.datum_von"
model-type="yyyy-MM-dd"
name="datum_von"
:label="$p.t('ui/from') + ' *'"
auto-apply
@@ -567,7 +566,6 @@ export default {
container-class="mb-3 col-3"
type="DatePicker"
v-model="formData.datum_bis"
model-type="yyyy-MM-dd"
name="datum_bis"
:label="$p.t('global/bis')"
auto-apply
@@ -470,7 +470,6 @@ export default {
:label="$p.t('admission', 'anmeldundRtAm')"
type="DatePicker"
v-model="formData.anmeldedatum"
model-type="yyyy-MM-dd"
auto-apply
:enable-time-picker="false"
text-input
@@ -293,7 +293,6 @@ export default {
:label="$p.t('person', 'geburtsdatum')"
type="DatePicker"
v-model="data.gebdatum"
model-type="yyyy-MM-dd"
name="gebdatum"
:clearable="false"
no-today
@@ -103,7 +103,6 @@ export default {
<form-input
type="DatePicker"
v-model="formData.nachgereicht_am"
model-type="yyyy-MM-dd"
name="nachgereicht_am"
:label="$p.t('dokumente/nachreichungAm')"
auto-apply
@@ -27,7 +27,7 @@ export default {
return {
filter: false,
studiengang_kz: false,
counterdate: luxon.DateTime.now().setZone(FHC_JS_DATA_STORAGE_OBJECT.timezone).toISODate()
counterdate: new Date()
};
},
computed: {
@@ -259,7 +259,6 @@ export default {
<form-input
type="DatePicker"
v-model="counterdate"
model-type="yyyy-MM-dd"
input-group
:enable-time-picker="false"
text-input
@@ -79,7 +79,6 @@ export default {
<form-input
type="DatePicker"
v-model="data.buchungsdatum"
model-type="yyyy-MM-dd"
name="buchungsdatum"
:label="$p.t('konto/buchungsdatum')"
:enable-time-picker="false"
@@ -88,7 +88,7 @@ export default {
this.data = {
buchungstyp_kurzbz: '',
betrag: '-0.00',
buchungsdatum: luxon.DateTime.now().setZone(FHC_JS_DATA_STORAGE_OBJECT.timezone).toISODate(),
buchungsdatum: new Date(),
buchungstext: '',
mahnspanne: 30,
studiensemester_kurzbz: this.currentSemester,
@@ -154,7 +154,6 @@ export default {
<form-input
type="DatePicker"
v-model="data.buchungsdatum"
model-type="yyyy-MM-dd"
name="buchungsdatum"
:label="$p.t('konto/buchungsdatum')"
:enable-time-picker="false"
@@ -467,7 +467,6 @@ export default {
:label="$p.t('ui', 'von')"
type="DatePicker"
v-model="formData.von"
model-type="yyyy-MM-dd"
auto-apply
:enable-time-picker="false"
text-input
@@ -502,7 +501,6 @@ export default {
:label="$p.t('global', 'bis')"
type="DatePicker"
v-model="formData.bis"
model-type="yyyy-MM-dd"
auto-apply
:enable-time-picker="false"
text-input
@@ -325,7 +325,6 @@ export default {
:label="$p.t('infocenter', 'zgvDatum')"
type="DatePicker"
v-model="data.zgvdatum"
model-type="yyyy-MM-dd"
name="zgvdatum"
no-today
auto-apply
@@ -390,7 +389,6 @@ export default {
:label="$p.t('lehre', 'zgvMasterDatum')"
type="DatePicker"
v-model="data.zgvmadatum"
model-type="yyyy-MM-dd"
name="zgvmadatum"
no-today
auto-apply
@@ -456,7 +454,6 @@ export default {
:label="$p.t('lehre', 'zgvDoktorDatum')"
type="DatePicker"
v-model="data.zgvdoktordatum"
model-type="yyyy-MM-dd"
name="zgvdoktordatum"
no-today
auto-apply
@@ -276,7 +276,6 @@ export default{
container-class="mb-3"
type="DatePicker"
v-model="formData.datum"
model-type="yyyy-MM-dd"
name="datum"
:label="$p.t('global/datum')"
auto-apply
@@ -292,7 +291,6 @@ export default{
container-class="mb-3"
type="DatePicker"
v-model="formData.bestaetigtam"
model-type="yyyy-MM-dd"
name="bestaetigtam"
:label="$p.t('lehre/bestaetigt_am')"
auto-apply
@@ -308,14 +306,13 @@ export default{
container-class="mb-3"
type="DatePicker"
v-model="formData.bewerbung_abgeschicktamum"
model-type="yyyy-MM-dd HH:mm:ss"
name="bewerbung_abgeschicktamum"
:label="$p.t('lehre/bewerbung_abgeschickt_am')"
auto-apply
:enable-time-picker="true"
format="dd.MM.yyyy HH:mm:ss"
:enable-time-picker="false"
format="dd.MM.yyyy"
text-input
preview-format="dd.MM.yyyy HH:mm:ss"
preview-format="dd.MM.yyyy"
:teleport="true"
:disabled="bisLocked || !hasPrestudentstatusPermission"
>
@@ -285,7 +285,6 @@ export default {
uid="stv-list-new-gebdatum"
name="gebdatum"
v-model="formDataPerson['gebdatum']"
model-type="yyyy-MM-dd"
:disabled="!!person"
@update:model-value="loadSuggestions"
text-input
+8 -16
View File
@@ -218,23 +218,15 @@ export const CoreFilterCmpt = {
},
columnsForFilter() {
if (!this.filteredColumns || !this.datasetMetadata) return [];
const localizedColumnTitles = this.tabulator.getLang().columns;
const isTabulatorLocalized = !!this.$props.tabulatorOptions.locale;
let filterTitles;
if (isTabulatorLocalized) {
const localizedColumnTitles = this.tabulator.getLang().columns;
filterTitles = this.filteredColumns.reduce((a, c) => {
a[c.field] = localizedColumnTitles[c.field];
return a;
}, {});
} else {
filterTitles = this.filteredColumns.reduce((a, c) => {
a[c.field] = c.title;
return a;
}, {});
}
const filterTitles = this.filteredColumns.reduce((a, c) => {
a[c.field] =
isTabulatorLocalized && localizedColumnTitles[c.field]
? localizedColumnTitles[c.field]
: c.title;
return a;
}, {});
return this.datasetMetadata.map((el) => ({
...el,
...{ title: filterTitles[el.name] },
Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

+2 -1
View File
@@ -90,6 +90,7 @@ require_once('dbupdate_3.4/61164_abgabetool_quality_gates.php');
require_once('dbupdate_3.4/69065_Projektarbeiten_Firmen_verwalten.php');
require_once('dbupdate_3.4/68744_StV_settings.php');
require_once('dbupdate_3.4/62889_reihungstest_ueberwachung_mit_constructor.php');
require_once('dbupdate_3.4/70806_DMS_Erweiterung_Metadaten.php');
require_once('dbupdate_3.4/71399_dashboard_update_widget_paths.php');
require_once('dbupdate_3.4/71645_studvw_messagetab_ladezeit.php');
require_once('dbupdate_3.4/71566_studienordnungsdokument_neuer_organisationseinheitstyp_programm.php');
@@ -160,7 +161,7 @@ $tabellen=array(
"campus.tbl_dms" => array("dms_id","oe_kurzbz","dokument_kurzbz","kategorie_kurzbz"),
"campus.tbl_dms_kategorie" => array("kategorie_kurzbz","bezeichnung","beschreibung","parent_kategorie_kurzbz","oe_kurzbz","berechtigung_kurzbz"),
"campus.tbl_dms_kategorie_gruppe" => array("kategorie_kurzbz","gruppe_kurzbz","insertamum","insertvon"),
"campus.tbl_dms_version" => array("dms_id","version","filename","mimetype","name","beschreibung","letzterzugriff","updateamum","updatevon","insertamum","insertvon","cis_suche","schlagworte"),
"campus.tbl_dms_version" => array("dms_id","version","filename","mimetype","name","beschreibung","letzterzugriff","updateamum","updatevon","insertamum","insertvon","cis_suche","schlagworte", "oe_kurzbz_verantwortlich", "gueltig_ab", "archiviert", "oe_kurzbz_verantwortlich", "archiviert", "gueltig_ab"),
"campus.tbl_erreichbarkeit" => array("erreichbarkeit_kurzbz","beschreibung","farbe"),
"campus.tbl_feedback" => array("feedback_id","betreff","text","datum","uid","lehrveranstaltung_id","updateamum","updatevon","insertamum","insertvon"),
"campus.tbl_freebusy" => array("freebusy_id","uid","freebusytyp_kurzbz","url","aktiv","bezeichnung","insertamum","insertvon","updateamum","updatevon"),
@@ -0,0 +1,88 @@
<?php
if (!defined('DB_NAME')) exit('No direct script access allowed');
// Check if the column campus.tbl_dms_version.oe_kurzbz_verantwortlich exists
if ($result = @$db->db_query("
SELECT 1
FROM information_schema.columns
WHERE table_schema = 'campus'
AND table_name = 'tbl_dms_version'
AND column_name = 'oe_kurzbz_verantwortlich';
"))
{
// If the column does not exist
if ($db->db_num_rows($result) == 0)
{
// Then try to create it
$info_msg = 'Added column campus.tbl_dms_version.oe_kurzbz_verantwortlich<br>';
if (!$result = @$db->db_query('ALTER TABLE IF EXISTS "campus"."tbl_dms_version" ADD COLUMN IF NOT EXISTS "oe_kurzbz_verantwortlich" VARCHAR(32) NULL;'))
$info_msg = '<strong>campus.tbl_dms_version '.$db->db_last_error().'</strong><br>';
echo $info_msg;
}
}
// Check if the column campus.tbl_dms_version.archiviert exists
if ($result = @$db->db_query("
SELECT 1
FROM information_schema.columns
WHERE table_schema = 'campus'
AND table_name = 'tbl_dms_version'
AND column_name = 'archiviert';
"))
{
// If the column does not exist
if ($db->db_num_rows($result) == 0)
{
// Then try to create it
$info_msg = 'Added column campus.tbl_dms_version.archiviert<br>';
if (!$result = @$db->db_query('ALTER TABLE IF EXISTS "campus"."tbl_dms_version" ADD COLUMN IF NOT EXISTS "archiviert" BOOLEAN NOT NULL DEFAULT FALSE;'))
$info_msg = '<strong>campus.tbl_dms_version '.$db->db_last_error().'</strong><br>';
echo $info_msg;
}
}
// Check if the column campus.tbl_dms_version.gueltig_ab exists
if ($result = @$db->db_query("
SELECT 1
FROM information_schema.columns
WHERE table_schema = 'campus'
AND table_name = 'tbl_dms_version'
AND column_name = 'gueltig_ab';
"))
{
// If the column does not exist
if ($db->db_num_rows($result) == 0)
{
// Then try to create it
$info_msg = 'Added column campus.tbl_dms_version.gueltig_ab<br>';
if (!$result = @$db->db_query('ALTER TABLE IF EXISTS "campus"."tbl_dms_version" ADD COLUMN IF NOT EXISTS "gueltig_ab" TIMESTAMP NULL;'))
$info_msg = '<strong>campus.tbl_dms_version '.$db->db_last_error().'</strong><br>';
echo $info_msg;
}
}
// Check if the foreign key fk_organisationseinheit_dms_verantwortlich exists
if ($result = @$db->db_query("
SELECT 1
FROM information_schema.constraint_column_usage
WHERE constraint_schema = 'campus'
AND constraint_name = 'fk_organisationseinheit_dms_verantwortlich';
"))
{
// If the foreign key does not exist
if ($db->db_num_rows($result) == 0)
{
// Then try to create it
$info_msg = 'Added foreign key fk_organisationseinheit_dms_verantwortlich<br>';
if (!$result = @$db->db_query('
ALTER TABLE "campus"."tbl_dms_version"
ADD CONSTRAINT "fk_organisationseinheit_dms_verantwortlich"
FOREIGN KEY ("oe_kurzbz_verantwortlich")
REFERENCES "public"."tbl_organisationseinheit" ("oe_kurzbz")
ON DELETE RESTRICT ON UPDATE CASCADE;
'))
$info_msg = '<strong>campus.tbl_dms_version '.$db->db_last_error().'</strong><br>';
echo $info_msg;
}
}