mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-23 18:02:18 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
@@ -166,8 +166,12 @@ class AntragJob extends JOB_Controller
|
||||
|
||||
$data['table'] = $data['table_' . DEFAULT_LANGUAGE];
|
||||
|
||||
//Mail an Stgl und Assistenz
|
||||
$to = $leitung['Details']->uid . '@' . DOMAIN;
|
||||
$cc = $leitung['Details']->email;
|
||||
|
||||
// NOTE(chris): Sancho mail
|
||||
if (sendSanchoMail("Sancho_Mail_Antrag_Stgl", $data, $leitung['Details']->uid . '@' . DOMAIN, 'Anträge - Aktion(en) erforderlich'))
|
||||
if (sendSanchoMail("Sancho_Mail_Antrag_Stgl", $data, $to, 'Anträge - Aktion(en) erforderlich', DEFAULT_SANCHO_HEADER_IMG, DEFAULT_SANCHO_FOOTER_IMG, '', $cc))
|
||||
$count++;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ class Rueckstellung_model extends DB_Model
|
||||
$this->addLimit(1);
|
||||
$this->addJoin('tbl_rueckstellung_status', 'status_kurzbz');
|
||||
$this->addSelect('*,
|
||||
array_to_json(bezeichnung_mehrsprachig::varchar[])->>'.$language_index . 'as bezeichnung');
|
||||
array_to_json(bezeichnung_mehrsprachig::varchar[])->>'.$language_index . ' as bezeichnung');
|
||||
$this->addOrder('datum_bis', 'DESC');
|
||||
|
||||
$where['person_id'] = $person_id;
|
||||
|
||||
@@ -142,7 +142,7 @@ FROM
|
||||
WHEN oe.organisationseinheittyp_kurzbz = \'Department\' THEN (\'DEP \' || oe.bezeichnung)
|
||||
ELSE (oe.organisationseinheittyp_kurzbz || \' \' || oe.bezeichnung)
|
||||
END AS "lv_oe_kurzbz",
|
||||
TRUNC(lema.semesterstunden, 1) AS "stunden",
|
||||
TRUNC(lema.semesterstunden, 2) AS "stunden",
|
||||
TRUNC((lema.semesterstunden * lema.stundensatz), 2) AS "betrag",
|
||||
vertrag_id,
|
||||
vertragsstunden AS "vertrag_stunden",
|
||||
@@ -375,9 +375,9 @@ $filterWidgetArray = array(
|
||||
orgform_kurzbz: {visible: false, headerFilter:"input"},
|
||||
person_id: {visible: false, headerFilter:"input"},
|
||||
lv_oe_kurzbz: {visible: false, headerFilter:"input"},
|
||||
stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:1},
|
||||
stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:2},
|
||||
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
|
||||
bottomCalc:"sum", bottomCalcParams:{precision:1}
|
||||
bottomCalc:"sum", bottomCalcParams:{precision:2}
|
||||
},
|
||||
betrag: {align:"right", formatter: form_formatNulltoStringNumber,
|
||||
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
|
||||
|
||||
@@ -149,7 +149,7 @@ FROM
|
||||
ELSE (oe.organisationseinheittyp_kurzbz || \' \' || oe.bezeichnung)
|
||||
END AS "lv_oe_kurzbz",
|
||||
(person.nachname || \' \' || person.vorname) AS "lektor",
|
||||
TRUNC(lema.semesterstunden, 1) AS "stunden",
|
||||
TRUNC(lema.semesterstunden, 2) AS "stunden",
|
||||
lema.stundensatz,
|
||||
TRUNC((lema.semesterstunden * lema.stundensatz), 2) AS "betrag",
|
||||
vertrag_id,
|
||||
@@ -400,9 +400,9 @@ $filterWidgetArray = array(
|
||||
person_id: {visible: false, headerFilter:"input"},
|
||||
lv_oe_kurzbz: {visible: false, headerFilter:"input"},
|
||||
lektor: {headerFilter:"input", widthGrow: 2},
|
||||
stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:1},
|
||||
stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:2},
|
||||
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
|
||||
bottomCalc:"sum", bottomCalcParams:{precision:1}},
|
||||
bottomCalc:"sum", bottomCalcParams:{precision:2}},
|
||||
stundensatz: {visible: true, align:"right", formatter: form_formatNulltoStringNumber,
|
||||
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator},
|
||||
betrag: {align:"right", formatter: form_formatNulltoStringNumber,
|
||||
|
||||
@@ -159,7 +159,7 @@ FROM
|
||||
(
|
||||
SELECT
|
||||
/* lehrauftraege also planned with dummies, therefore personalnummer is needed */
|
||||
ma.personalnummer,
|
||||
ma.personalnummer::text,
|
||||
lema.lehreinheit_id,
|
||||
lv.lehrveranstaltung_id,
|
||||
lv.bezeichnung AS "lv_bezeichnung",
|
||||
@@ -179,7 +179,7 @@ FROM
|
||||
ELSE (oe.organisationseinheittyp_kurzbz || \' \' || oe.bezeichnung)
|
||||
END AS "lv_oe_kurzbz",
|
||||
(person.nachname || \' \' || person.vorname) AS "lektor",
|
||||
TRUNC(lema.semesterstunden, 1) AS "stunden",
|
||||
TRUNC(lema.semesterstunden, 2) AS "stunden",
|
||||
lema.stundensatz,
|
||||
TRUNC((lema.semesterstunden * lema.stundensatz), 2) AS "betrag",
|
||||
vertrag_id,
|
||||
@@ -219,7 +219,7 @@ FROM
|
||||
(SELECT
|
||||
uid
|
||||
FROM
|
||||
public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
|
||||
public.tbl_benutzer JOIN public.tbl_mitarbeiter ma
|
||||
ON tbl_benutzer.uid = ma.mitarbeiter_uid
|
||||
WHERE
|
||||
person_id = tmp_projektbetreuung.person_id
|
||||
@@ -272,7 +272,7 @@ FROM
|
||||
pa.lehreinheit_id,
|
||||
lv.lehrveranstaltung_id,
|
||||
lv.bezeichnung AS "lv_bezeichnung",
|
||||
pa.projektarbeit_id AS "projektarbeit_id",
|
||||
pa.projektarbeit_id::text AS "projektarbeit_id",
|
||||
le.studiensemester_kurzbz,
|
||||
stg.studiengang_kz,
|
||||
upper(stg.typ || stg.kurzbz) AS "stg_typ_kurzbz",
|
||||
@@ -414,7 +414,7 @@ $filterWidgetArray = array(
|
||||
row_index: {visible: false},
|
||||
personalnummer: {visible: false, headerFilter:"input"},
|
||||
auftrag: {
|
||||
headerFilter:"input", widthGrow: 2,
|
||||
headerFilter:"input", widthGrow: 2,
|
||||
bottomCalc:"count", bottomCalcFormatter:function(cell){return "'. ucfirst($this->p->t('global', 'anzahl')). ': " + cell.getValue();}
|
||||
},
|
||||
stg_typ_kurzbz: {headerFilter:"input"},
|
||||
@@ -432,9 +432,9 @@ $filterWidgetArray = array(
|
||||
person_id: {visible: false, headerFilter:"input"},
|
||||
lv_oe_kurzbz: {headerFilter:"input"},
|
||||
lektor: {headerFilter:"input", widthGrow: 2},
|
||||
stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:1},
|
||||
stunden: {align:"right", formatter: form_formatNulltoStringNumber, formatterParams:{precision:2},
|
||||
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator,
|
||||
bottomCalc:"sum", bottomCalcParams:{precision:1}},
|
||||
bottomCalc:"sum", bottomCalcParams:{precision:2}},
|
||||
stundensatz: {visible: true, align:"right", formatter: form_formatNulltoStringNumber,
|
||||
headerFilter:"input", headerFilterFunc: hf_filterStringnumberWithOperator},
|
||||
betrag: {align:"right", formatter: form_formatNulltoStringNumber,
|
||||
|
||||
@@ -79,7 +79,12 @@ else if (defined('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS') && CIS_ZEITAUFZEICHNUNG_GE
|
||||
else
|
||||
$gesperrt_bis = '2015-08-31';
|
||||
|
||||
//echo $gesperrt_bis;
|
||||
//Default-Wert für Max-Intervall in Tagen für Zeitsperre, über Config veränderbar
|
||||
$maxDauerZS = 730;
|
||||
|
||||
if (defined('CIS_ZEITSPERREN_MAX_DAUER') && CIS_ZEITSPERREN_MAX_DAUER != '') {
|
||||
$maxDauerZS = CIS_ZEITSPERREN_MAX_DAUER;
|
||||
}
|
||||
|
||||
//Stundentabelleholen
|
||||
if(! $result_stunde=$db->db_query("SELECT * FROM lehre.tbl_stunde ORDER BY stunde"))
|
||||
@@ -204,66 +209,72 @@ function berechnen()
|
||||
|
||||
function checkdatum()
|
||||
{
|
||||
if(document.getElementById('vondatum').value.length<10)
|
||||
if (document.getElementById('vondatum').value.length < 10)
|
||||
{
|
||||
alert('<?php echo $p->t('zeitsperre/vonDatumIstUngueltigNullenAngeben');?>');
|
||||
return false;
|
||||
}
|
||||
|
||||
if(document.getElementById('bisdatum').value.length<10)
|
||||
if (document.getElementById('bisdatum').value.length < 10)
|
||||
{
|
||||
alert('<?php echo $p->t('zeitsperre/bisDatumIstUngueltigNullenAngeben');?>');
|
||||
return false;
|
||||
}
|
||||
|
||||
var Datum, Tag, Monat,Jahr,vonDatum,bisDatum, diff;
|
||||
var Datum, Tag, Monat, Jahr, vonDatum, bisDatum, vonDatumDate, bisDatumDate, diff, diffTime, diffmax;
|
||||
|
||||
Datum=document.getElementById('vondatum').value;
|
||||
Tag=Datum.substring(0,2);
|
||||
Monat=Datum.substring(3,5);
|
||||
if (parseInt(Monat,10)<1 || parseInt(Monat,10)>12)
|
||||
{
|
||||
alert('<?php echo $p->t('zeitsperre/vonDatumMonat');?>'+ document.getElementById('vondatum').value+ ' <?php echo $p->t('zeitsperre/istNichtRichtig');?>.');
|
||||
Datum = document.getElementById('vondatum').value;
|
||||
Tag = Datum.substring(0, 2);
|
||||
Monat = Datum.substring(3, 5);
|
||||
if (parseInt(Monat, 10) < 1 || parseInt(Monat, 10) > 12)
|
||||
{
|
||||
alert('<?php echo $p->t('zeitsperre/vonDatumMonat');?>' + document.getElementById('vondatum').value + ' <?php echo $p->t('zeitsperre/istNichtRichtig');?>.');
|
||||
document.getElementById('vondatum').focus();
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
Jahr=Datum.substring(6,10);
|
||||
Jahr = Datum.substring(6, 10);
|
||||
|
||||
vonDatum=Jahr+''+Monat+''+Tag;
|
||||
vonDatum = Jahr + '' + Monat + '' + Tag;
|
||||
vonDatumDate = Jahr + '-' + Monat + '-' + Tag;
|
||||
|
||||
Datum=document.getElementById('bisdatum').value;
|
||||
Tag=Datum.substring(0,2);
|
||||
Monat=Datum.substring(3,5);
|
||||
if (parseInt(Monat,10)<1 || parseInt(Monat,10)>12)
|
||||
{
|
||||
alert('<?php echo $p->t('zeitsperre/bisDatumMonat');?>'+ document.getElementById('bisdatum').value+ ' <?php echo $p->t('zeitsperre/istNichtRichtig');?>.');
|
||||
Datum = document.getElementById('bisdatum').value;
|
||||
Tag = Datum.substring(0, 2);
|
||||
Monat = Datum.substring(3, 5);
|
||||
if (parseInt(Monat, 10) < 1 || parseInt(Monat, 10) > 12) {
|
||||
alert('<?php echo $p->t('zeitsperre/bisDatumMonat');?>' + document.getElementById('bisdatum').value + ' <?php echo $p->t('zeitsperre/istNichtRichtig');?>.');
|
||||
document.getElementById('bisdatum').focus();
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
Jahr=Datum.substring(6,10);
|
||||
Jahr = Datum.substring(6, 10);
|
||||
bisDatum = Jahr + '' + Monat + '' + Tag;
|
||||
bisDatumDate = Jahr + '-' + Monat + '-' + Tag;
|
||||
|
||||
bisDatum=Jahr+''+Monat+''+Tag;
|
||||
bisDatumDate = new Date(bisDatumDate);
|
||||
vonDatumDate = new Date(vonDatumDate);
|
||||
|
||||
diff=bisDatum-vonDatum;
|
||||
diffTime = bisDatumDate.getTime() - vonDatumDate.getTime();
|
||||
diff = Math.ceil(diffTime / (1000 * 60 * 60 * 24));
|
||||
diffmax = <?php echo $maxDauerZS ;?>
|
||||
|
||||
if (vonDatum>bisDatum)
|
||||
{
|
||||
alert('<?php echo $p->t('zeitsperre/vonDatum');?> '+ document.getElementById('vondatum').value+ ' <?php echo $p->t('zeitsperre/istGroesserAlsBisDatum');?> '+document.getElementById('bisdatum').value);
|
||||
if (vonDatum > bisDatum) {
|
||||
alert('<?php echo $p->t('zeitsperre/vonDatum');?> ' + document.getElementById('vondatum').value + ' <?php echo $p->t('zeitsperre/istGroesserAlsBisDatum');?> ' + document.getElementById('bisdatum').value);
|
||||
document.getElementById('vondatum').focus();
|
||||
return false;
|
||||
}
|
||||
else if (diff>14)
|
||||
{
|
||||
Check = confirm('<?php echo $p->t('zeitaufzeichnung/zeitraumAuffallendHoch');?>');
|
||||
return false;
|
||||
}
|
||||
else if (diff > 14 && diff < diffmax) {
|
||||
Check = confirm('<?php echo $p->t('zeitaufzeichnung/zeitraumAuffallendHoch');?>');
|
||||
document.getElementById('bisdatum').focus();
|
||||
if (Check == false)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
if (Check == false)
|
||||
return false;
|
||||
else
|
||||
return true;
|
||||
} else if (diff >= diffmax) {
|
||||
alert('<?php echo $p->t('zeitsperre/bisDatumGroesserMax');?> ');
|
||||
document.getElementById('bisdatum').focus();
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -445,7 +456,8 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
$date=explode('.',$_POST['bisdatum']);
|
||||
if (@checkdate($date[1], $date[0], $date[2]))
|
||||
{
|
||||
$bisdatum=$date[2].$date[1].$date[0];
|
||||
$bisdatum=$date[2].$date[1].$date[0];
|
||||
$bisdatum_iso = $date[2].'-'.$date[1].'-'.$date[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -464,6 +476,17 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
$error_msg .= $p->t('zeitsperre/vonDatumGroesserAlsBisDatum').'! ';
|
||||
}
|
||||
|
||||
//check if bis-Datum zu weit in der Zukunft
|
||||
$bis = new DateTime($bisdatum);
|
||||
$von = new DateTime($vondatum);
|
||||
|
||||
$intervall = $bis->diff($von);
|
||||
if ($intervall->days >= $maxDauerZS)
|
||||
{
|
||||
$error=true;
|
||||
$error_msg = $p->t('zeitsperre/bisDatumGroesserMax');
|
||||
}
|
||||
|
||||
//von-datum pruefen TODO
|
||||
if($vondatum_iso < $gesperrt_bis && in_array($_POST['zeitsperretyp_kurzbz'],$typen_arr))
|
||||
{
|
||||
|
||||
@@ -294,5 +294,4 @@ define ('DEFAULT_ALLIN_DIENSTVERTRAG',[111]);
|
||||
//Echter Dienstvertrag
|
||||
define ('DEFAULT_ECHTER_DIENSTVERTRAG',[103,111]);
|
||||
|
||||
|
||||
?>
|
||||
|
||||
@@ -47,6 +47,9 @@ define('CIS_PROFIL_STUDIENINFORMATION_ANZEIGEN',true);
|
||||
// Zeitaufzeichnung gesperrt_bis Datum YYYY-MM-DD
|
||||
define('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS','');
|
||||
|
||||
// maximale Dauer einer Zeitsperre in Tagen
|
||||
define('CIS_ZEITSPERREN_MAX_DAUER', 730);
|
||||
|
||||
// Anzeige des Links zur Noteneingabe in der LVA Uebersicht
|
||||
define('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN',true);
|
||||
|
||||
|
||||
@@ -212,7 +212,7 @@
|
||||
<!ENTITY menu-dokumente-diplsupplement.accesskey "S">
|
||||
|
||||
<!ENTITY menu-dokumente-antrag.key "N">
|
||||
<!ENTITY menu-dokumente-antrag.label "Antrag">
|
||||
<!ENTITY menu-dokumente-antrag.label "Verwaltung des Studierendenstatus">
|
||||
<!ENTITY menu-dokumente-antrag.accesskey "N">
|
||||
|
||||
<!ENTITY menu-dokumente-antrag-abmeldung.key "A">
|
||||
|
||||
@@ -26,6 +26,7 @@ $this->phrasen['zeitsperre/vonDatumMonat']='Von-Datum Monat';
|
||||
$this->phrasen['zeitsperre/bisDatumMonat']='Bis-Datum Monat';
|
||||
$this->phrasen['zeitsperre/istGroesserAlsBisDatum']='ist größer als das Bis-Datum';
|
||||
$this->phrasen['zeitsperre/vonDatum']='Von-Datum';
|
||||
$this->phrasen['zeitsperre/bisDatumGroesserMax']='BisDatum liegt zu weit in der Zukunft, nicht zulässig!';
|
||||
|
||||
$this->phrasen['zeitsperre/resturlaubstage']='Resturlaubstage';
|
||||
$this->phrasen['zeitsperre/aktuellerStand']='aktueller Stand';
|
||||
|
||||
@@ -26,6 +26,7 @@ $this->phrasen['zeitsperre/vonDatumMonat']='From-date month';
|
||||
$this->phrasen['zeitsperre/bisDatumMonat']='To-date month';
|
||||
$this->phrasen['zeitsperre/istGroesserAlsBisDatum']='is later than To-date';
|
||||
$this->phrasen['zeitsperre/vonDatum']='From-date';
|
||||
$this->phrasen['zeitsperre/bisDatumGroesserMax']='TO-Date value is too far in the future, action not permitted';
|
||||
|
||||
$this->phrasen['zeitsperre/resturlaubstage']='Carry-over days';
|
||||
$this->phrasen['zeitsperre/aktuellerStand']='Available vacation';
|
||||
|
||||
@@ -44,7 +44,10 @@ export default {
|
||||
this.table.replaceData(this.ajaxUrl + (stg || ''));
|
||||
},
|
||||
download() {
|
||||
this.table.download("csv", "data.csv");
|
||||
this.table.download("csv", "data.csv", {
|
||||
delimiter: ';',
|
||||
bom: true
|
||||
});
|
||||
},
|
||||
getHistory() {
|
||||
if (this.lastHistoryClickedId === null)
|
||||
|
||||
@@ -34,6 +34,7 @@ require_once('../../include/datum.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/addon.class.php');
|
||||
require_once('../../include/benutzerfunktion.class.php');
|
||||
require_once('../../include/phrasen.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
@@ -63,6 +64,16 @@ $message='';
|
||||
$error=false;
|
||||
$mlAbgeschickt = '';
|
||||
|
||||
//Phrasen
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
|
||||
//Default-Wert für Max-Intervall in Tagen für Zeitsperre, über Config veränderbar
|
||||
$maxDauerZS = 730;
|
||||
|
||||
if (defined('CIS_ZEITSPERREN_MAX_DAUER') && CIS_ZEITSPERREN_MAX_DAUER != '') {
|
||||
$maxDauerZS = CIS_ZEITSPERREN_MAX_DAUER;
|
||||
}
|
||||
//prüfen, ob addon casetime aktiviert ist
|
||||
$addon_obj = new addon();
|
||||
$addoncasetime = $addon_obj->checkActiveAddon("casetime");
|
||||
@@ -205,6 +216,24 @@ if(isset($_POST['save']))
|
||||
if(!$berechtigt)
|
||||
die('Sie haben keine Berechtigung für diese Aktion');
|
||||
|
||||
//Validierungen Felder Bis-Datum und Von-Datum
|
||||
if($vondatum > $bisdatum)
|
||||
{
|
||||
$errormsg = $p->t('zeitsperre/vonDatumGroesserAlsBisDatum').'! ';
|
||||
$error=true;
|
||||
}
|
||||
|
||||
//Check if Bisdatum zu weit in der Zukunft
|
||||
$von = new DateTime($vondatum);
|
||||
$bis = new DateTime($bisdatum);
|
||||
|
||||
$intervall = $bis->diff($von);
|
||||
if ($intervall->days > $maxDauerZS)
|
||||
{
|
||||
$error=true;
|
||||
$errormsg = $p->t('zeitsperre/bisDatumGroesserMax');
|
||||
}
|
||||
|
||||
//Speichern der Daten
|
||||
$zeitsperre = new zeitsperre();
|
||||
|
||||
@@ -225,6 +254,8 @@ if(isset($_POST['save']))
|
||||
$zeitsperre->mitarbeiter_uid=$uid;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if(!$error)
|
||||
{
|
||||
$zeitsperre->zeitsperretyp_kurzbz=$zeitsperretyp_kurzbz;
|
||||
|
||||
Reference in New Issue
Block a user