diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 48c50bb4a..d027e559e 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -121,6 +121,7 @@ class InfoCenter extends Auth_Controller 'unlockPerson' => 'infocenter:rw', 'saveFormalGeprueft' => 'infocenter:rw', 'saveDocTyp' => 'infocenter:rw', + 'updateStammdaten' => 'infocenter:rw', 'saveNachreichung' => 'infocenter:rw', 'getPrestudentData' => 'infocenter:r', 'getLastPrestudentWithZgvJson' => 'infocenter:r', @@ -172,11 +173,16 @@ class InfoCenter extends Auth_Controller $this->load->model('codex/Zgv_model', 'ZgvModel'); $this->load->model('codex/Zgvmaster_model', 'ZgvmasterModel'); $this->load->model('codex/Nation_model', 'NationModel'); + $this->load->model('person/Kontakt_model', 'KontaktModel'); + $this->load->model('person/Geschlecht_model', 'GeschlechtModel'); + $this->load->model('person/adresse_model', 'AdresseModel'); // Loads libraries $this->load->library('PersonLogLib'); $this->load->library('WidgetLib'); + $this->load->config('infocenter'); + $this->loadPhrases( array( 'global', @@ -1111,14 +1117,14 @@ class InfoCenter extends Auth_Controller public function reloadDoks($person_id) { - $dokumente_nachgereicht = $this->AkteModel->getAktenWithDokInfo($person_id, null, true); + $dokumente_nachgereicht = $this->AkteModel->getAktenWithDokInfo($person_id, null, true, false); $this->load->view('system/infocenter/dokNachzureichend.php', array('dokumente_nachgereicht' => $dokumente_nachgereicht->retval)); } public function reloadUebersichtDoks($person_id) { - $dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false); + $dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false, false); $this->DokumentModel->addOrder('bezeichnung'); $dokumentdata = array('dokumententypen' => (getData($this->DokumentModel->load()))); @@ -1320,6 +1326,126 @@ class InfoCenter extends Auth_Controller $this->outputJsonSuccess('success'); } + public function updateStammdaten() + { + if (isEmptyString($this->input->post('nachname')) || + isEmptyString($this->input->post('geschlecht')) || + isEmptyString($this->input->post('gebdatum'))) + { + $this->terminateWithJsonError($this->p->t('infocenter', 'stammdatenFeldFehlt')); + } + + $datum = explode('.', $this->input->post('gebdatum')); + + if (!checkdate($datum[1], $datum[0], $datum[2])) + { + $this->terminateWithJsonError($this->p->t('infocenter', 'datumUngueltig')); + } + + $person_id = $this->input->post('personid'); + + $update = $this->PersonModel->update( + array + ( + 'person_id' => $person_id + ), + array + ( + 'titelpre' => isEmptyString($this->input->post('titelpre')) ? null : $this->input->post('titelpre'), + 'vorname' => isEmptyString($this->input->post('vorname')) ? null : $this->input->post('vorname'), + 'nachname' => $this->input->post('nachname'), + 'titelpost' => isEmptyString($this->input->post('titelpost')) ? null : $this->input->post('titelpost'), + 'gebdatum' => isEmptyString($this->input->post('gebdatum')) ? null : date("Y-m-d", strtotime($this->input->post('gebdatum'))), + 'svnr' => isEmptyString($this->input->post('svnr')) ? null : $this->input->post('svnr'), + 'staatsbuergerschaft' => isEmptyString($this->input->post('buergerschaft')) ? null : $this->input->post('buergerschaft'), + 'geschlecht' => $this->input->post('geschlecht'), + 'geburtsnation' => isEmptyString($this->input->post('gebnation')) ? null : $this->input->post('gebnation'), + 'gebort' => isEmptyString($this->input->post('gebort')) ? null : $this->input->post('gebort'), + 'updateamum' => date('Y-m-d H:i:s'), + 'updatevon' => $this->_uid + ) + ); + + if (isError($update)) + $this->terminateWithJsonError($this->p->t('ui', 'fehlerBeimSpeichern')); + + $kontakte = $this->input->post('kontakt'); + foreach ($kontakte as $kontakt) + { + $kontaktExists = $this->KontaktModel->loadWhere(array( + 'kontakt_id' => $kontakt['id'], + 'person_id' => $person_id, + )); + + if (hasData($kontaktExists)) + { + $kontaktExists = getData($kontaktExists)[0]; + + if ($kontaktExists->kontakt === $kontakt['value']) + continue; + + $update = $this->KontaktModel->update( + array + ( + 'kontakt_id' => $kontakt['id'] + ), + array + ( + 'kontakt' => isEmptyString($kontakt['value']) ? null : $kontakt['value'], + 'updateamum' => date('Y-m-d H:i:s'), + 'updatevon' => $this->_uid + ) + ); + + if (isError($update)) + $this->terminateWithJsonError($this->p->t('ui', 'fehlerBeimSpeichern')); + } + } + + $adressen = $this->input->post('adresse'); + + foreach ($adressen as $adresse) + { + $adresseExists = $this->AdresseModel->loadWhere(array( + 'adresse_id' => $adresse['id'], + 'person_id' => $person_id, + )); + + if (hasData($adresseExists)) + { + $adresse = $adresse['value']; + $adresseExists = getData($adresseExists)[0]; + if ($adresseExists->strasse !== $adresse['strasse'] || + $adresseExists->plz !== $adresse['plz'] || + $adresseExists->ort !== $adresse['ort'] || + $adresseExists->nation !== $adresse['nation']) + { + $update = $this->AdresseModel->update( + array + ( + 'adresse_id' => $adresseExists->adresse_id + ), + array + ( + 'strasse' => isEmptyString($adresse['strasse']) ? null : $adresse['strasse'], + 'plz' => isEmptyString($adresse['plz']) ? null : $adresse['plz'], + 'ort' => isEmptyString($adresse['ort']) ? null : $adresse['ort'], + 'nation' => isEmptyString($adresse['nation']) ? null : $adresse['nation'], + 'updateamum' => date('Y-m-d H:i:s'), + 'updatevon' => $this->_uid + ) + ); + + if (isError($update)) + $this->terminateWithJsonError($this->p->t('ui', 'fehlerBeimSpeichern')); + } + + } + } + + $this->outputJsonSuccess('Success'); + } + public function saveNachreichung($person_id) { $nachreichungAm = $this->input->post('nachreichungAm'); @@ -1794,14 +1920,14 @@ class InfoCenter extends Auth_Controller if (!isset($stammdaten->retval)) return null; - $dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false); + $dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false, false); if (isError($dokumente)) { show_error(getError($dokumente)); } - $dokumente_nachgereicht = $this->AkteModel->getAktenWithDokInfo($person_id, null, true); + $dokumente_nachgereicht = $this->AkteModel->getAktenWithDokInfo($person_id, null, true, false); if (isError($dokumente_nachgereicht)) { @@ -1996,6 +2122,12 @@ class InfoCenter extends Auth_Controller $this->NationModel->addOrder('langtext'); $allNations = getData($this->NationModel->load()); + + $additional_stg = explode(',', ($this->config->item('infocenter_studiengang_kz'))); + + $this->GeschlechtModel->addOrder('sort'); + $allGenders = getData($this->GeschlechtModel->load()); + $data = array ( 'zgvpruefungen' => $zgvpruefungen, 'abwstatusgruende' => $abwstatusgruende, @@ -2004,6 +2136,8 @@ class InfoCenter extends Auth_Controller 'all_zgvs' => $allZGVs, 'all_zgvs_master' => $allZGVsMaster, 'all_nations' => $allNations, + 'additional_stg' => $additional_stg, + 'all_genders' => $allGenders ); return $data; @@ -2164,8 +2298,8 @@ class InfoCenter extends Auth_Controller $prestudentstatus = $prestudent->prestudentstatus; $person_id = $prestudent->person_id; $person = $this->PersonModel->getPersonStammdaten($person_id, true)->retval; - $dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false)->retval; - $dokumenteNachzureichen = $this->AkteModel->getAktenWithDokInfo($person_id, null, true)->retval; + $dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false, false)->retval; + $dokumenteNachzureichen = $this->AkteModel->getAktenWithDokInfo($person_id, null, true, false)->retval; //fill mail variables $interessentbez = $person->geschlecht == 'm' ? 'Ein Interessent' : 'Eine Interessentin'; @@ -2262,12 +2396,10 @@ class InfoCenter extends Auth_Controller public function getAbsageData() { - $studiengang_kz_all = $this->permissionlib->getSTG_isEntitledFor('infocenter'); - $stg_typ = $this->StudiengangModel->getStudiengangTyp($studiengang_kz_all, ['b', 'm']); + $stg_typ = $this->getStudienArtBerechtigung(['b', 'm']); - if (hasData($stg_typ)) + if (!is_null($stg_typ)) { - $stg_typ = getData($stg_typ); $statusgruende = $this->StatusgrundModel->getStatus(self::ABGEWIESENERSTATUS, true)->retval; $studienSemester = $this->variablelib->getVar('infocenter_studiensemester'); $studiengaenge = $this->StudiengangModel->getStudiengaengeWithOrgForm(array_column($stg_typ, 'typ'), $studienSemester); @@ -2283,15 +2415,16 @@ class InfoCenter extends Auth_Controller $this->outputJsonSuccess(null); } - public function getStudienArtBerechtigung() + public function getStudienArtBerechtigung($typ = null) { $studiengang_kz_all = $this->permissionlib->getSTG_isEntitledFor('infocenter'); - $stg_typ = $this->StudiengangModel->getStudiengangTyp($studiengang_kz_all, ['b', 'm', 'l']); + $stg_typ = $this->StudiengangModel->getStudiengangTyp($studiengang_kz_all, $typ); return getData($stg_typ); } + public function getStudienartData() { - $this->outputJsonSuccess($this->getStudienArtBerechtigung()); + $this->outputJsonSuccess($this->getStudienArtBerechtigung(['b', 'm', 'l'])); } public function saveAbsageForAll() diff --git a/application/models/crm/Akte_model.php b/application/models/crm/Akte_model.php index fe9db5330..15a38022e 100644 --- a/application/models/crm/Akte_model.php +++ b/application/models/crm/Akte_model.php @@ -171,7 +171,7 @@ class Akte_model extends DB_Model * @param bool $nachgereicht if true, retrieves only nachgereichte Dokumente. if false, only not nachgereichte. default: null, all Dokumente * @return array */ - public function getAktenWithDokInfo($person_id, $dokument_kurzbz = null, $nachgereicht = null) + public function getAktenWithDokInfo($person_id, $dokument_kurzbz = null, $nachgereicht = null, $archiv = null) { $this->addSelect('public.tbl_akte.*, bezeichnung_mehrsprachig, dokumentbeschreibung_mehrsprachig, public.tbl_dokument.bezeichnung as dokument_bezeichnung, bis.tbl_nation.*, ausstellungsdetails'); $this->addJoin('public.tbl_dokument', 'dokument_kurzbz'); @@ -184,6 +184,9 @@ class Akte_model extends DB_Model if(is_bool($nachgereicht)) $where['nachgereicht'] = $nachgereicht; + if (is_bool($archiv)) + $where['archiv'] = $archiv; + $dokumente = $this->loadWhere($where); if($dokumente->error) return $dokumente; diff --git a/application/models/crm/Prestudent_model.php b/application/models/crm/Prestudent_model.php index f37b715f4..d05b63303 100644 --- a/application/models/crm/Prestudent_model.php +++ b/application/models/crm/Prestudent_model.php @@ -309,13 +309,39 @@ class Prestudent_model extends DB_Model */ public function getLastPrestudent($person_id, $withzgv = false) { - $qry = 'SELECT * FROM public.tbl_prestudent - WHERE person_id = ? + $qry = 'SELECT * FROM public.tbl_prestudent ps %s + WHERE ps.person_id = ? ORDER BY updateamum DESC NULLS LAST, insertamum DESC NULLS LAST LIMIT 1'; - $zgvwhere = $withzgv === true ? 'AND zgv_code IS NOT NULL' : ''; + $zgvwhere = ''; + if ($withzgv === true) + { + $zgvwhere = ' + LEFT JOIN ( + SELECT ps2.zgvmas_code, + ps2.zgvmanation, + ps2.zgvmadatum, + ps2.zgvmaort, + ps2.zgvmas_erfuellt, + ps2.person_id + FROM tbl_prestudent ps2 + WHERE zgvmas_code IS NOT NULL + ORDER BY updateamum DESC NULLS LAST, insertamum DESC NULLS LAST + ) zgvmas ON zgvmas.person_id = ps.person_id + LEFT JOIN ( + SELECT ps2.zgv_code, + ps2.zgvnation, + ps2.zgvdatum, + ps2.zgvort, + ps2.zgv_erfuellt, + ps2.person_id + FROM tbl_prestudent ps2 + WHERE zgv_code IS NOT NULL + ORDER BY updateamum DESC NULLS LAST, insertamum DESC NULLS LAST + )zgv ON zgv.person_id = ps.person_id'; + } $qry = sprintf($qry, $zgvwhere); diff --git a/application/models/organisation/Studiengang_model.php b/application/models/organisation/Studiengang_model.php index e848cb4c2..f4f8b3c9e 100644 --- a/application/models/organisation/Studiengang_model.php +++ b/application/models/organisation/Studiengang_model.php @@ -508,13 +508,20 @@ class Studiengang_model extends DB_Model return $this->execQuery($query, array($typ, $semester)); } - public function getStudiengangTyp($studiengang_kz, $typ) + public function getStudiengangTyp($studiengang_kz, $typ = null) { $query = "SELECT DISTINCT(sgt.*) FROM tbl_studiengangstyp sgt JOIN tbl_studiengang sg on sgt.typ = sg.typ - WHERE studiengang_kz IN ? and sgt.typ IN ?"; + WHERE studiengang_kz IN ?"; - return $this->execQuery($query, array($studiengang_kz, $typ)); + $params[] = $studiengang_kz; + if (!is_null($typ)) + { + $query .= " AND sgt.typ IN ?"; + $params[] = $typ; + } + + return $this->execQuery($query, $params); } } diff --git a/application/models/person/Geschlecht_model.php b/application/models/person/Geschlecht_model.php new file mode 100644 index 000000000..60ac3ba15 --- /dev/null +++ b/application/models/person/Geschlecht_model.php @@ -0,0 +1,14 @@ +dbTable = 'public.tbl_geschlecht'; + $this->pk = 'geschlecht'; + } +} diff --git a/application/views/system/infocenter/infocenterDetails.php b/application/views/system/infocenter/infocenterDetails.php index 158feeb2c..066e5cff6 100644 --- a/application/views/system/infocenter/infocenterDetails.php +++ b/application/views/system/infocenter/infocenterDetails.php @@ -25,7 +25,8 @@ 'public/js/infocenter/messageList.js', 'public/js/infocenter/infocenterDetails.js', 'public/js/infocenter/zgvUeberpruefung.js', - 'public/js/infocenter/docUeberpruefung.js' + 'public/js/infocenter/docUeberpruefung.js', + 'public/js/infocenter/stammdaten.js' ), 'phrases' => array( 'infocenter' => array( diff --git a/application/views/system/infocenter/stammdaten.php b/application/views/system/infocenter/stammdaten.php index a80439bfe..f143c9c03 100644 --- a/application/views/system/infocenter/stammdaten.php +++ b/application/views/system/infocenter/stammdaten.php @@ -1,60 +1,104 @@
| p->t('person','titelpre')) ?> | -titelpre ?> | +
+ titelpre ?>
+ |
| p->t('person','vorname')) ?> | -vorname ?> | +
+ vorname ?>
+ |
| p->t('person','nachname')) ?> | - nachname ?> | +|
| p->t('person','titelpost')) ?> | +
+ titelpost ?>
+ |
|
| p->t('person','titelpost')) ?> | -titelpost ?> | -|
| p->t('person','geburtsdatum')) ?> | - gebdatum), 'd.m.Y') ?> | +|
| p->t('person','svnr')) ?> | - svnr ?> | +|
| p->t('person','staatsbuergerschaft')) ?> | - staatsbuergerschaft ?> | +|
| p->t('person','geschlecht')) ?> | - geschlecht ?> | + + + +|
| p->t('person','geburtsnation')) ?> | - geburtsnation ?> | +|
| p->t('person','geburtsort')) ?> | -gebort ?> | +
+ gebort ?>
+ |
| p->t('global','kontakt')) ?> | @@ -78,7 +122,7 @@kontakttyp) ?> | - kontakttyp.'">';?> + kontakttyp.'" data-id="'. $kontakt->kontakt_id .'" data-value="' . $kontakt->kontakt .'">';?> kontakttyp === 'email'): ?> kontakt; @@ -99,8 +143,30 @@ p->t('person','adresse')) ?> |
- strasse.', '.$adresse->plz.' '.$adresse->ort : '' ?>
- nationkurztext) ? ' '.$adresse->nationkurztext : '' ?> + +
+
+ strasse ?>
+
+ plz ?>
+
+ ort ?>
+
+ nationkurztext)): ?>
+
+ + + |
heimatadresse === true ? 'Heimatadresse' : '').
@@ -126,6 +192,16 @@
target='_blank'> p->t('infocenter','zugangBewerbung') ?>
+
diff --git a/application/views/system/infocenter/zgvpruefungen.php b/application/views/system/infocenter/zgvpruefungen.php
index 2e6ea90d2..1d26b9d55 100644
--- a/application/views/system/infocenter/zgvpruefungen.php
+++ b/application/views/system/infocenter/zgvpruefungen.php
@@ -2,7 +2,7 @@
infoonly;
$studiengangkurzbz = $studiengangbezeichnung = $studiengangtyp = '';
diff --git a/application/views/system/issues/issuesData.php b/application/views/system/issues/issuesData.php
index 501cf4b26..50b7c1483 100644
--- a/application/views/system/issues/issuesData.php
+++ b/application/views/system/issues/issuesData.php
@@ -56,7 +56,7 @@ $query .= "SELECT issue_id, fehlercode AS \"Fehlercode\", iss.fehlercode_extern
WHERE person_id = pers.person_id
ORDER BY prestudent_id DESC
) prestudents
- WHERE last_status IN ('Aufgenommener', 'Student', 'Incoming', 'Diplomand', 'Abbrecher', 'Unterbrecher', 'Absolvent')
+ WHERE last_status IN ('Abgewiesener','Aufgenommener', 'Student', 'Incoming', 'Diplomand', 'Abbrecher', 'Unterbrecher', 'Absolvent')
GROUP BY person_id
LIMIT 1;
) AS \"Zugehörigkeit\",
@@ -89,7 +89,9 @@ $query .= "SELECT issue_id, fehlercode AS \"Fehlercode\", iss.fehlercode_extern
LEFT JOIN public.tbl_funktion fu USING (funktion_kurzbz)
WHERE fehlercode = fr.fehlercode
GROUP BY fehlercode
- ) AS \"Organisationseinheit Zuständigkeiten\"
+ ) AS \"Organisationseinheit Zuständigkeiten\",
+ pers.bpk AS \"BPK\",
+ pers.matr_nr AS \"Matrikelnummer\"
FROM system.tbl_issue iss
JOIN system.tbl_fehler fr USING (fehlercode)
JOIN system.tbl_fehlertyp ftyp USING (fehlertyp_kurzbz)
@@ -173,7 +175,9 @@ $filterWidgetArray = array(
ucfirst($this->p->t('fehlermonitoring', 'zugehoerigkeit')),
ucfirst($this->p->t('fehlermonitoring', 'hauptzustaendig')),
ucfirst($this->p->t('fehlermonitoring', 'zustaendigePersonen')),
- ucfirst($this->p->t('fehlermonitoring', 'zustaendigeOrganisationseinheiten'))
+ ucfirst($this->p->t('fehlermonitoring', 'zustaendigeOrganisationseinheiten')),
+ 'BPK',
+ 'Matrikelnummer'
),
'formatRow' => function($datasetRaw) {
@@ -222,6 +226,16 @@ $filterWidgetArray = array(
$datasetRaw->{'Organisationseinheit Zuständigkeiten'} = '-';
}
+ if ($datasetRaw->{'BPK'} == null)
+ {
+ $datasetRaw->{'BPK'} = '-';
+ }
+
+ if ($datasetRaw->{'Matrikelnummer'} == null)
+ {
+ $datasetRaw->{'Matrikelnummer'} = '-';
+ }
+
return $datasetRaw;
},
'markRow' => function($datasetRaw) {
diff --git a/cis/private/lehre/fotoliste.pdf.php b/cis/private/lehre/fotoliste.pdf.php
index 353f3a2ad..881649ddf 100644
--- a/cis/private/lehre/fotoliste.pdf.php
+++ b/cis/private/lehre/fotoliste.pdf.php
@@ -180,7 +180,8 @@ $qry = 'SELECT DISTINCT ON
tbl_person.matr_nr,
tbl_person.geschlecht,
tbl_person.foto,
- tbl_person.foto_sperre
+ tbl_person.foto_sperre,
+ (tbl_bisio.bis::timestamp - tbl_bisio.von::timestamp) as daysout
FROM
campus.vw_student_lehrveranstaltung
JOIN public.tbl_benutzer USING(uid)
@@ -200,7 +201,7 @@ $qry = 'SELECT DISTINCT ON
if ($lehreinheit != '')
$qry .= ' AND vw_student_lehrveranstaltung.lehreinheit_id=' . $db->db_add_param($lehreinheit, FHC_INTEGER);
-$qry .= ' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC';
+$qry .= ' ORDER BY nachname, vorname, person_id, daysout DESC';
$stsem_obj = new studiensemester();
$stsem_obj->load($studiensemester);
diff --git a/cis/private/lehre/pruefung/pruefung.js.php b/cis/private/lehre/pruefung/pruefung.js.php
index f2435828d..a9677e808 100644
--- a/cis/private/lehre/pruefung/pruefung.js.php
+++ b/cis/private/lehre/pruefung/pruefung.js.php
@@ -353,10 +353,9 @@ function writePruefungsTable(e, data, anmeldung)
var time = termin[1].substring(0,5);
termin = termin[0].split("-");
- // Wie viele Monate vor Prüfungen dürfen sich Studierende anmelden?
- // Sperre "deaktiviert" indem man sich 24 Monate vorher anmelden darf
+ // Studierende dürfen sich 2 Monate vor Prüfungen anmelden
var minimumFrist = new Date(termin[0], termin[1]-1,termin[2]);
- minimumFrist.setMonth(minimumFrist.getMonth() - 24);
+ minimumFrist.setMonth(minimumFrist.getMonth() - 2);
termin = new Date(termin[0], termin[1]-1,termin[2]);
var frist = termin;
diff --git a/cis/private/profile/urlaubstool.php b/cis/private/profile/urlaubstool.php
index fc77a01d0..7a113f623 100644
--- a/cis/private/profile/urlaubstool.php
+++ b/cis/private/profile/urlaubstool.php
@@ -16,8 +16,9 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger ".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($fullName))."!"; - } - } - else - { - $vgmail=" ".$p->t('urlaubstool/konnteKeinFreigabemailVersendetWerden').""; - } -} - - -//Eintragung löschen -if((isset($_GET['delete']) || isset($_POST['delete']))) +if(isset($_GET['delete'])) { $zeitsperre = new zeitsperre(); + $zeitsperre->load($_GET['delete']); + + $vondatum = $zeitsperre->getVonDatum(); + $bisdatum = $zeitsperre->getBisDatum(); + $vondatum = $datum_obj->formatDatum($vondatum, 'd.m.Y'); + $bisdatum = $datum_obj->formatDatum($bisdatum, 'd.m.Y'); + if(!$zeitsperre->delete($_GET['delete'])) + { echo $zeitsperre->errormsg; + } + else + { + //Mail an Vorgesetzten + $prsn = new person(); + + $vorgesetzter = $ma->getVorgesetzte($uid); + if($vorgesetzter) + { + $to=''; + $fullName =''; + foreach($ma->vorgesetzte as $vg) + { + if($to!='') + { + $to.=', '.$vg.'@'.DOMAIN; + $name = $prsn->getFullNameFromBenutzer($vg); + $fullName.=', '.$name; + } + else + { + $to.=$vg.'@'.DOMAIN; + $name = $prsn->getFullNameFromBenutzer($vg); + $fullName.=$name; + } + } + + $benutzer = new benutzer(); + $benutzer->load($uid); + + //new sanchomail + $nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname; + $beschreibung = $zeitsperre->bezeichnung; + $subject = "Urlaub wurde gelöscht"; + $mailvorlage = 'Sancho_Mail_Urlaub_Loeschen'; + + $from='vilesci@'.DOMAIN; + + //Sanchomail mit Vorlage Sancho Mail Urlaub + $template_data = array( + 'vorgesetzter' => $fullName, + 'nameMitarbeiter' => $nameMitarbeiter, + 'beschreibung' =>$beschreibung, + 'vonDatum' => $vondatum, + 'bisDatum' => $bisdatum + ); + + if (sendSanchoMail($mailvorlage, $template_data, $to, $subject)) + { + $vgmail="".$p->t('urlaubstool/VorgesetzteInformiert', array($fullName)).""; + } + else + { + $vgmail=" ".$p->t('urlaubstool/fehlerBeimSendenAufgetreten', array($fullName))."!"; + } + } + } } //Eintragung speichern @@ -255,10 +262,10 @@ if(isset($_GET['speichern']) && isset($_GET['wtag'])) $wtag=$_GET['wtag']; $akette[0]=$wtag[0]; $ekette[0]=$wtag[0]; - for($i=1,$j=0;$i '.$p->t('zeitsperre/urlaubBereitsEingetragen').'' : - $vgmail .= ' '.$p->t('zeitsperre/zeitsperreEingetragen',[$date, $z->zeitsperretyp_kurzbz]). ''; + $z->zeitsperretyp_kurzbz == 'Urlaub' ? + $vgmail.=' '.$p->t('zeitsperre/urlaubBereitsEingetragen').'' : + $vgmail .= ' '.$p->t('zeitsperre/zeitsperreEingetragen', [$date, $z->zeitsperretyp_kurzbz]). ''; - break; - } + break; } } + } } if(!$error) { - for($i=0;$i ".$p->t('urlaubstool/fehlerBeimSendenAufgetreten',array($to))."!"; + $vgmail=" ".$p->t('urlaubstool/fehlerBeimSendenAufgetreten', array($to))."!"; } } else @@ -422,14 +463,13 @@ if(isset($_GET['speichern']) && isset($_GET['wtag'])) } } } - } //Eintragungen laden -if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr))) +if ((isset($wmonat) || isset($wmonat)) && (isset($wjahr) || isset($wjahr))) { //Urlaubstageage markieren - $mbeginn=mktime(0, 0, 0, ($wmonat+1) , 1, $jahre[$wjahr]); + $mbeginn=mktime(0, 0, 0, ($wmonat+1), 1, $jahre[$wjahr]); $ttt=getdate($mbeginn); $wotag="$ttt[wday]"; if ($wotag==0) @@ -447,22 +487,22 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr))) } //$wvon=date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , 1, $jahre[$wjahr])); //$wbis=date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $mende, $jahre[$wjahr])); - $ttt=getdate(mktime(0, 0, 0, ($wmonat+1) , $mende, $jahre[$wjahr])); + $ttt=getdate(mktime(0, 0, 0, ($wmonat+1), $mende, $jahre[$wjahr])); if($wmonat==0) { - $wvon=date("Y-m-d",mktime(0, 0, 0, 12 , $mendev-($wotag-1), ($jahre[$wjahr])-1)); + $wvon=date("Y-m-d", mktime(0, 0, 0, 12, $mendev-($wotag-1), ($jahre[$wjahr])-1)); } else { - $wvon=date("Y-m-d",mktime(0, 0, 0, ($wmonat) , $mendev-($wotag-1), ($jahre[$wjahr]))); + $wvon=date("Y-m-d", mktime(0, 0, 0, ($wmonat), $mendev-($wotag-1), ($jahre[$wjahr]))); } if($wmonat==11) { - $wbis=date("Y-m-d",mktime(0, 0, 0, 1 , (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr]+1)); + $wbis=date("Y-m-d", mktime(0, 0, 0, 1, (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr]+1)); } else { - $wbis=date("Y-m-d",mktime(0, 0, 0, ($wmonat+2) , (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr])); + $wbis=date("Y-m-d", mktime(0, 0, 0, ($wmonat+2), (7-($ttt['wday']==0?7:$ttt['wday'])), $jahre[$wjahr])); } $qry="SELECT * FROM campus.tbl_zeitsperre WHERE zeitsperretyp_kurzbz='Urlaub' @@ -477,19 +517,19 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr))) { //echo " ".$row->vondatum; //echo "-".$row->bisdatum; - for($i=1;$i<=$mende+($wotag-1)+(7-($ttt['wday']==0?7:$ttt['wday']));$i++) + for($i=1; $i<=$mende+($wotag-1)+(7-($ttt['wday']==0?7:$ttt['wday'])); $i++) { - if(date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $i-$wotag+1, $jahre[$wjahr]))>=$row->vondatum - && date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $i-$wotag+1, $jahre[$wjahr]))<=$row->bisdatum) + if(date("Y-m-d", mktime(0, 0, 0, ($wmonat+1), $i-$wotag+1, $jahre[$wjahr]))>=$row->vondatum + && date("Y-m-d", mktime(0, 0, 0, ($wmonat+1), $i-$wotag+1, $jahre[$wjahr]))<=$row->bisdatum) { - if($row->freigabevon!='' && $row->vondatum<=date("Y-m-d",time())) + if($row->freigabevon!='' && $row->vondatum<=date("Y-m-d", time())) { $hgfarbe[$i]='#bbb'; } - elseif ($row->freigabevon!='' && $row->vondatum>date("Y-m-d",time())) - { + elseif ($row->freigabevon!='' && $row->vondatum>date("Y-m-d", time())) + { $hgfarbe[$i]='#CDDDEE'; - } + } else { $hgfarbe[$i]='#FFFC7F'; @@ -513,7 +553,7 @@ if ((isset($wmonat) || isset($wmonat))&&(isset($wjahr) || isset($wjahr))) } } } - for($i=$mende+$wotag+(7-($ttt['wday']==0?7:$ttt['wday']));$i<44;$i++) + for($i=$mende+$wotag+(7-($ttt['wday']==0?7:$ttt['wday'])); $i<44; $i++) { $hgfarbe[$i]='#E9ECEE'; $datensatz[$i]=0; @@ -567,58 +607,60 @@ echo ' } }); '; -?> - - -
| ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|