mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-22 17:32:18 +00:00
Compare commits
28 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| c84146fcbd | |||
| 35decf476c | |||
| 6cfc4b0973 | |||
| 6296b87ea5 | |||
| 576a44838f | |||
| c00e7a182c | |||
| fd1b5daf9c | |||
| c0b5f2f748 | |||
| b217681ee5 | |||
| 7841a73fc0 | |||
| 2064008f9e | |||
| 19b9906c86 | |||
| 2c3913a763 | |||
| 9111edf442 | |||
| b1c47da3c3 | |||
| 67eb238876 | |||
| a139cc8d2e | |||
| 35ecbdefa8 | |||
| 5f0b1ace51 | |||
| b891d8baa5 | |||
| 5dbcf9ce70 | |||
| c26db6cc40 | |||
| 8548b93ddc | |||
| bdc4782e9d | |||
| 0583990870 | |||
| 335753be8c | |||
| 8862f050e8 | |||
| 29f9b226ab |
@@ -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');
|
||||
$retouram = $this->input->post('retouram') == "" ? null : $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'],
|
||||
'getPersonAbteilung' => ['vertrag/mitarbeiter:r'],
|
||||
'getLeitungOrg' => ['vertrag/mitarbeiter:r'],
|
||||
'getHeader' => ['vertrag/mitarbeiter:r', 'basis/mitarbeiter:r'],
|
||||
'getPersonAbteilung' => ['vertrag/mitarbeiter:r', 'basis/mitarbeiter:r'],
|
||||
'getLeitungOrg' => ['vertrag/mitarbeiter:r', 'basis/mitarbeiter:r'],
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -294,6 +294,10 @@ 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,6 +371,9 @@ 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
|
||||
@@ -382,8 +385,8 @@ class Abschlusspruefung extends FHCAPI_Controller
|
||||
'vorsitz' => $vorsitz,
|
||||
'pruefungsantritt_kurzbz' => $formData['pruefungsantritt_kurzbz'],
|
||||
'abschlussbeurteilung_kurzbz' => $formData['abschlussbeurteilung_kurzbz'],
|
||||
'datum' => $formData['datum'],
|
||||
'sponsion' => $formData['sponsion'],
|
||||
'datum' => $datum,
|
||||
'sponsion' => $sponsion,
|
||||
'pruefer1' => $pruefer1,
|
||||
'pruefer2' => $pruefer2,
|
||||
'pruefer3' => $pruefer3,
|
||||
|
||||
@@ -170,6 +170,8 @@ 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(
|
||||
@@ -180,7 +182,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' => $this->input->post('nachgereicht_am'),
|
||||
'nachgereicht_am' => $nachgereicht_am,
|
||||
'updateamum' => date('c'),
|
||||
'updatevon' => $uid,
|
||||
]
|
||||
|
||||
@@ -429,9 +429,12 @@ 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'])
|
||||
&& in_array($prop, ['zgvnation', 'zgvmanation', 'zgvdoktornation', 'berufstaetigkeit_code', 'ausbildungcode', 'zgvdatum', 'zgvmadatum'])
|
||||
)
|
||||
{
|
||||
$val = null;
|
||||
|
||||
@@ -448,8 +448,10 @@ 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
|
||||
@@ -459,7 +461,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' => $this->input->post('datum'),
|
||||
'datum' => $datum,
|
||||
'anmerkung' => $this->input->post('anmerkung'),
|
||||
'updatevon' => $authUID,
|
||||
'updateamum' => date('c'),
|
||||
@@ -472,7 +474,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' => $this->input->post('datum'),
|
||||
'datum' => $datum,
|
||||
'pruefungstyp_kurzbz' => $this->input->post('pruefungstyp_kurzbz'),
|
||||
'note' => $this->input->post('note'),
|
||||
'anmerkung' => $this->input->post('anmerkung'),
|
||||
@@ -520,7 +522,7 @@ class Pruefung extends FHCAPI_Controller
|
||||
'studiensemester_kurzbz' => $studiensemester_kurzbz,
|
||||
'note' => $this->input->post('note'),
|
||||
'uebernahmedatum' => date('c'),
|
||||
'benotungsdatum' => $this->input->post('datum'),
|
||||
'benotungsdatum' => $datum,
|
||||
'insertamum' => date('c'),
|
||||
'insertvon' => $authUID,
|
||||
'punkte' => $this->input->post('punkte') ? str_replace(',', '.', $this->input->post('punkte')) : null
|
||||
@@ -555,7 +557,7 @@ class Pruefung extends FHCAPI_Controller
|
||||
], [
|
||||
'note' => $this->input->post('note'),
|
||||
'uebernahmedatum' => date('c'),
|
||||
'benotungsdatum' => $this->input->post('datum'),
|
||||
'benotungsdatum' => $datum,
|
||||
'updateamum' => date('c'),
|
||||
'updatevon' => $authUID,
|
||||
'punkte' => $this->input->post('punkte') ? str_replace(',', '.', $this->input->post('punkte')) : null
|
||||
|
||||
@@ -296,6 +296,10 @@ 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,6 +122,47 @@ 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,7 +260,6 @@ class Benutzerfunktion_model extends DB_Model
|
||||
return $this->execQuery($query, $parameters_array);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Get active Kompetenzfeldleitung bei UID.
|
||||
*
|
||||
@@ -296,7 +295,6 @@ class Benutzerfunktion_model extends DB_Model
|
||||
return $this->execQuery($query, $parameters_array);
|
||||
}
|
||||
|
||||
|
||||
public function insertBenutzerfunktion($Json)
|
||||
{
|
||||
unset($Json['benutzerfunktion_id']);
|
||||
|
||||
+7
-98
@@ -17,14 +17,13 @@
|
||||
* 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('../include/organisationseinheit.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');
|
||||
|
||||
$db = new basis_db();
|
||||
$user = get_uid();
|
||||
@@ -53,7 +52,6 @@ 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
|
||||
{
|
||||
@@ -131,8 +129,6 @@ 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)
|
||||
@@ -269,11 +265,6 @@ $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 != '')
|
||||
{
|
||||
@@ -343,9 +334,6 @@ 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;
|
||||
@@ -389,10 +377,6 @@ 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))
|
||||
{
|
||||
@@ -430,9 +414,6 @@ 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))
|
||||
@@ -451,10 +432,6 @@ 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>';
|
||||
@@ -1040,8 +1017,6 @@ 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="">
|
||||
@@ -1062,34 +1037,6 @@ 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>
|
||||
@@ -1608,7 +1555,6 @@ 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))
|
||||
@@ -1631,12 +1577,6 @@ 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>
|
||||
@@ -1659,37 +1599,6 @@ 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.'">
|
||||
|
||||
+3
-40
@@ -51,9 +51,6 @@ class dms extends basis_db
|
||||
public $kategorie_oe_kurzbz;
|
||||
public $berechtigung_kurzbz;
|
||||
public $bezeichnung;
|
||||
public $gueltig_ab;
|
||||
public $oe_kurzbz_verantwortlich;
|
||||
public $archiviert;
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
@@ -100,9 +97,6 @@ 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;
|
||||
}
|
||||
@@ -154,7 +148,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, oe_kurzbz_verantwortlich, gueltig_ab, archiviert) VALUES(".
|
||||
updateamum, updatevon, cis_suche, schlagworte) VALUES(".
|
||||
$dms_id.','.
|
||||
$this->db_add_param($this->version, FHC_INTEGER).','.
|
||||
$this->db_add_param($this->filename).','.
|
||||
@@ -167,11 +161,7 @@ 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->oe_kurzbz_verantwortlich).','.
|
||||
$this->db_add_param($this->gueltig_ab).','.
|
||||
$this->db_add_param($this->archiviert, FHC_BOOLEAN).
|
||||
');';
|
||||
$this->db_add_param($this->schlagworte).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -189,10 +179,7 @@ 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).",".
|
||||
" 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).
|
||||
" schlagworte=".$this->db_add_param($this->schlagworte).
|
||||
" WHERE dms_id=".$this->db_add_param($this->dms_id,FHC_INTEGER)." AND version=".$this->db_add_param($this->version, FHC_INTEGER).";";
|
||||
}
|
||||
|
||||
@@ -698,9 +685,6 @@ 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;
|
||||
}
|
||||
@@ -805,9 +789,6 @@ 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;
|
||||
}
|
||||
@@ -859,9 +840,6 @@ 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;
|
||||
}
|
||||
@@ -910,9 +888,6 @@ 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;
|
||||
}
|
||||
@@ -991,9 +966,6 @@ 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;
|
||||
}
|
||||
@@ -1045,9 +1017,6 @@ 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;
|
||||
}
|
||||
@@ -1100,9 +1069,6 @@ 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;
|
||||
}
|
||||
@@ -1459,9 +1425,6 @@ 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,6 +433,7 @@ 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
|
||||
@@ -449,6 +450,7 @@ 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,6 +551,7 @@ 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
|
||||
@@ -566,6 +567,7 @@ 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
|
||||
|
||||
+1
@@ -470,6 +470,7 @@ 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,6 +293,7 @@ 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,6 +103,7 @@ 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: new Date()
|
||||
counterdate: luxon.DateTime.now().setZone(FHC_JS_DATA_STORAGE_OBJECT.timezone).toISODate()
|
||||
};
|
||||
},
|
||||
computed: {
|
||||
@@ -259,6 +259,7 @@ export default {
|
||||
<form-input
|
||||
type="DatePicker"
|
||||
v-model="counterdate"
|
||||
model-type="yyyy-MM-dd"
|
||||
input-group
|
||||
:enable-time-picker="false"
|
||||
text-input
|
||||
|
||||
@@ -79,6 +79,7 @@ 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: new Date(),
|
||||
buchungsdatum: luxon.DateTime.now().setZone(FHC_JS_DATA_STORAGE_OBJECT.timezone).toISODate(),
|
||||
buchungstext: '',
|
||||
mahnspanne: 30,
|
||||
studiensemester_kurzbz: this.currentSemester,
|
||||
@@ -154,6 +154,7 @@ 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,6 +467,7 @@ 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
|
||||
@@ -501,6 +502,7 @@ 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,6 +325,7 @@ export default {
|
||||
:label="$p.t('infocenter', 'zgvDatum')"
|
||||
type="DatePicker"
|
||||
v-model="data.zgvdatum"
|
||||
model-type="yyyy-MM-dd"
|
||||
name="zgvdatum"
|
||||
no-today
|
||||
auto-apply
|
||||
@@ -389,6 +390,7 @@ export default {
|
||||
:label="$p.t('lehre', 'zgvMasterDatum')"
|
||||
type="DatePicker"
|
||||
v-model="data.zgvmadatum"
|
||||
model-type="yyyy-MM-dd"
|
||||
name="zgvmadatum"
|
||||
no-today
|
||||
auto-apply
|
||||
@@ -454,6 +456,7 @@ 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,6 +276,7 @@ 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
|
||||
@@ -291,6 +292,7 @@ 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
|
||||
@@ -306,13 +308,14 @@ 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="false"
|
||||
format="dd.MM.yyyy"
|
||||
:enable-time-picker="true"
|
||||
format="dd.MM.yyyy HH:mm:ss"
|
||||
text-input
|
||||
preview-format="dd.MM.yyyy"
|
||||
preview-format="dd.MM.yyyy HH:mm:ss"
|
||||
:teleport="true"
|
||||
:disabled="bisLocked || !hasPrestudentstatusPermission"
|
||||
>
|
||||
|
||||
@@ -285,6 +285,7 @@ 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
|
||||
|
||||
@@ -218,15 +218,23 @@ export const CoreFilterCmpt = {
|
||||
},
|
||||
columnsForFilter() {
|
||||
if (!this.filteredColumns || !this.datasetMetadata) return [];
|
||||
const localizedColumnTitles = this.tabulator.getLang().columns;
|
||||
|
||||
const isTabulatorLocalized = !!this.$props.tabulatorOptions.locale;
|
||||
const filterTitles = this.filteredColumns.reduce((a, c) => {
|
||||
a[c.field] =
|
||||
isTabulatorLocalized && localizedColumnTitles[c.field]
|
||||
? localizedColumnTitles[c.field]
|
||||
: c.title;
|
||||
return a;
|
||||
}, {});
|
||||
|
||||
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;
|
||||
}, {});
|
||||
}
|
||||
|
||||
return this.datasetMetadata.map((el) => ({
|
||||
...el,
|
||||
...{ title: filterTitles[el.name] },
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 48 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 79 KiB |
@@ -90,7 +90,6 @@ 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');
|
||||
@@ -161,7 +160,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", "oe_kurzbz_verantwortlich", "gueltig_ab", "archiviert", "oe_kurzbz_verantwortlich", "archiviert", "gueltig_ab"),
|
||||
"campus.tbl_dms_version" => array("dms_id","version","filename","mimetype","name","beschreibung","letzterzugriff","updateamum","updatevon","insertamum","insertvon","cis_suche","schlagworte"),
|
||||
"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"),
|
||||
|
||||
@@ -1,88 +0,0 @@
|
||||
<?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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user