diff --git a/CHANGELOG.md b/CHANGELOG.md index 05c155569..f3c5c7b30 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -20,6 +20,7 @@ - **[FAS]** Mitarbeiterexport exportiert jetzt nur noch die markierten Personen - **[CORE]** Has many as possible javascripts and css present in the repository were removed. Their lack is overcome by the packages in the composer. In the meanwhile also the versions were updated - **[CIS]** Die Fotoliste wird jetzt mit unoconv erstellt. Die bestehende Vorlage für den Dokumentenexport muss hier angepasst werden +- **[CORE]** Resturlaubstage und Mehrarbeitsstunden wurden aus dem Core entfernt und können nicht mehr mit FH-Complete verwaltet werden. ### Updateinfo - **[CORE]** Infoscreen wurde umbenannt (informationsbildschirm.php) diff --git a/application/config/fhcomplete.php b/application/config/fhcomplete.php index 786937dd7..29c93e2e4 100644 --- a/application/config/fhcomplete.php +++ b/application/config/fhcomplete.php @@ -59,7 +59,6 @@ $config['fhc_acl'] = array 'campus.tbl_pruefungsstatus' => 'basis/pruefungsstatus', 'campus.tbl_pruefungstermin' => 'basis/pruefungstermin', 'campus.tbl_reservierung' => 'basis/reservierung', - 'campus.tbl_resturlaub' => 'basis/resturlaub', 'campus.tbl_studentbeispiel' => 'basis/studentbeispiel', 'campus.tbl_studentuebung' => 'basis/studentuebung', 'campus.tbl_template' => 'basis/template', diff --git a/application/config/roles.php b/application/config/roles.php index 2851de48f..6c2d0614b 100644 --- a/application/config/roles.php +++ b/application/config/roles.php @@ -55,7 +55,7 @@ $config['roles'] = array ( 'basis/adresse','basis/akte','basis/kontakt','basis/log','basis/nation','basis/notiz','basis/notizzuordnung', 'basis/person','basis/prestudent','basis/prestudentstatus','basis/status','basis/zgv','basis/zgvmaster', - 'lehre/studienplan','system/filters' + 'lehre/studienplan','system/filters','fs/dms' ) ) ); diff --git a/application/controllers/api/v1/ressource/Resturlaub.php b/application/controllers/api/v1/ressource/Resturlaub.php deleted file mode 100644 index 98cfe0979..000000000 --- a/application/controllers/api/v1/ressource/Resturlaub.php +++ /dev/null @@ -1,78 +0,0 @@ -load->model('ressource/resturlaub_model', 'ResturlaubModel'); - - - } - - /** - * @return void - */ - public function getResturlaub() - { - $resturlaubID = $this->get('resturlaub_id'); - - if (isset($resturlaubID)) - { - $result = $this->ResturlaubModel->load($resturlaubID); - - $this->response($result, REST_Controller::HTTP_OK); - } - else - { - $this->response(); - } - } - - /** - * @return void - */ - public function postResturlaub() - { - if ($this->_validate($this->post())) - { - if (isset($this->post()['resturlaub_id'])) - { - $result = $this->ResturlaubModel->update($this->post()['resturlaub_id'], $this->post()); - } - else - { - $result = $this->ResturlaubModel->insert($this->post()); - } - - $this->response($result, REST_Controller::HTTP_OK); - } - else - { - $this->response(); - } - } - - private function _validate($resturlaub = NULL) - { - return true; - } -} \ No newline at end of file diff --git a/application/controllers/system/infocenter/InfocenterDetails.php b/application/controllers/system/infocenter/InfocenterDetails.php index 8c0c231a9..acb72efc5 100644 --- a/application/controllers/system/infocenter/InfocenterDetails.php +++ b/application/controllers/system/infocenter/InfocenterDetails.php @@ -9,8 +9,16 @@ if (! defined("BASEPATH")) exit("No direct script access allowed"); */ class InfocenterDetails extends VileSci_Controller { - //app name for logging + //app and Verarbeitungstaetigkeit name for logging const APP = 'aufnahme'; + const TAETIGKEIT = 'bewerbung'; + const LOGPARAMS = array( + 'saveformalgep' => array('logtype' => 'Action', 'name' => 'document formally checked', 'message' => 'document %s formally checked, set to %s'), + 'savezgv' => array('logtype' => 'Action', 'name' => 'ZGV saved', 'message' => 'ZGV saved for degree program %s, prestudentid %s'), + 'abgewiesen' => array('logtype' => 'Processstate', 'name' => 'Interessent rejected', 'message' => 'Interessent with prestudentid %s was rejected for degree program %s'), + 'freigegeben' => array('logtype' => 'Processstate', 'name' => 'Interessent confirmed', 'message' => 'status Interessent for prestudentid %s was confirmed for degree program %s'), + 'savenotiz' => array('logtype' => 'Action', 'name' => 'note added', 'message' => 'note with title %s was added') + ); /** * constructor @@ -55,15 +63,6 @@ class InfocenterDetails extends VileSci_Controller if(!isset($stammdaten->retval)) return null; -/* $dokumente = $this->AkteModel->loadWhere(array('person_id' => $person_id)); - - if ($dokumente->error) - { - show_error($dokumente->retval); - } - - var_dump($dokumente->retval);*/ - $dokumente = $this->AkteModel->getAktenWithDokInfo($person_id, null, false); if ($dokumente->error) @@ -78,9 +77,7 @@ class InfocenterDetails extends VileSci_Controller show_error($dokumente->retval); } - //var_dump($dokumente->retval);die(); - - $logs = $this->personloglib->getLogs($person_id, $this::APP); + $logs = $this->personloglib->getLogs($person_id); $notizen = $this->NotizModel->getNotiz($person_id); @@ -107,7 +104,7 @@ class InfocenterDetails extends VileSci_Controller */ private function __loadPrestudentData($person_id) { - $zgvpruefungen = []; + $zgvpruefungen = array(); $prestudenten = $this->PrestudentModel->loadWhere(array('person_id' => $person_id)); @@ -140,7 +137,7 @@ class InfocenterDetails extends VileSci_Controller return 0; elseif($a->prestudentstatus->status_kurzbz === 'Interessent' && $b->prestudentstatus->status_kurzbz === 'Interessent') { - //infoonly Interessenten are behind new Interessenten + //infoonly Interessenten come after new Interessenten if($a->infoonly) return 1; elseif($b->infoonly) @@ -207,8 +204,8 @@ class InfocenterDetails extends VileSci_Controller } //write person log - $this->personloglib->log($person_id, 'Action', array('name' => 'Dokument formal geprüft', 'message' => 'Dokument '.$akte->titel.' formal geprüft, gesetzt auf '.(is_null($timestamp) ? 'NULL' : $timestamp), 'success' => 'true'), $this::APP, null, $this->uid); - //redirect to start page + $this->__log($person_id, 'saveformalgep', array(empty($akte->retval[0]->titel) ? $akte->retval[0]->bezeichnung : $akte->retval[0]->titel, is_null($timestamp) ? 'NULL' : $timestamp)); + redirect('/system/infocenter/InfocenterDetails/showDetails/'.$person_id.'#DokPruef'); } @@ -243,7 +240,7 @@ class InfocenterDetails extends VileSci_Controller //get extended Prestudent data for logging $logdata = $this->__getPersonAndStudiengangFromPrestudent($prestudent_id); - $this->personloglib->log($logdata['person_id'], 'Action', array('name' => 'Zgv gespeichert', 'message' => 'Zgv für Studiengang '.$logdata['studiengang_kurzbz'].' wurde gespeichert', 'success' => 'true'), $this::APP, null, $this->uid); + $this->__log($logdata['person_id'], 'savezgv', array($logdata['studiengang_kurzbz'], $prestudent_id)); $this->__redirectToStart($prestudent_id, 'ZgvPruef'); } @@ -274,7 +271,7 @@ class InfocenterDetails extends VileSci_Controller $logdata = $this->__getPersonAndStudiengangFromPrestudent($prestudent_id); - $this->personloglib->log($logdata['person_id'], 'Processstate', array('name' => 'Interessent abgewiesen', 'message' => 'Interessent wurde für Studiengang '.$logdata['studiengang_kurzbz'].' abgewiesen', 'success' => 'true'), $this::APP, null, $this->uid); + $this->__log($logdata['person_id'], 'abgewiesen', array($prestudent_id, $logdata['studiengang_kurzbz'])); $this->__redirectToStart($prestudent_id, 'ZgvPruef'); } @@ -303,7 +300,7 @@ class InfocenterDetails extends VileSci_Controller $logdata = $this->__getPersonAndStudiengangFromPrestudent($prestudent_id); - $this->personloglib->log($logdata['person_id'], 'Processstate', array('name' => 'Interessent freigegeben', 'message' => 'Interessent wurde für Studiengang '.$logdata['studiengang_kurzbz'].' freigegeben', 'success' => 'true'), $this::APP, null, $this->uid); + $this->__log($logdata['person_id'], 'freigegeben', array($prestudent_id, $logdata['studiengang_kurzbz'])); $this->__redirectToStart($prestudent_id, 'ZgvPruef'); } @@ -325,7 +322,7 @@ class InfocenterDetails extends VileSci_Controller show_error($result->retval); } - $this->personloglib->log($person_id, 'Action', array('name' => 'Notiz hinzugefügt', 'message' => 'Notiz mit Titel '.$titel.' wurde hinzugefügt', 'success' => 'true'), $this::APP, null, $this->uid); + $this->__log($person_id, 'savenotiz', array($titel)); redirect('/system/infocenter/InfocenterDetails/showDetails/'.$person_id.'#NotizAkt'); } @@ -390,4 +387,18 @@ class InfocenterDetails extends VileSci_Controller return array('person_id' => $person_id, 'studiengang_kurzbz' => $studiengang_kurzbz); } + /** + * helper function for logging + * @param $person_id + * @param $logname + * @param $messageparams + */ + private function __log($person_id, $logname, $messageparams) + { + $logparams = $this::LOGPARAMS[$logname]; + $this->personloglib->log($person_id, $logparams['logtype'], + array('name' => $logparams['name'], 'message' => vsprintf($logparams['message'], $messageparams), 'success' => 'true'), + $this::TAETIGKEIT, $this::APP, null, $this->uid); + } + } \ No newline at end of file diff --git a/application/libraries/PersonLogLib.php b/application/libraries/PersonLogLib.php index 6b63ba472..cf713825d 100644 --- a/application/libraries/PersonLogLib.php +++ b/application/libraries/PersonLogLib.php @@ -21,16 +21,18 @@ class PersonLogLib * @param int $person_id ID of the Person. * @param string $logtype_kurzbz Type of Log. * @param array $logdata Array of the JSON Data to save. + * @param string $taetigkeit_kurzbz * @param string $app Application that log belongs to. * @param string $oe_kurzbz Organisation Unit the Log belongs to. * @param string $user User who created the log. - * @return boolean true if success + * @return bool true if success */ - public function log($person_id, $logtype_kurzbz, $logdata, $app = 'core', $oe_kurzbz = null, $user = null) + public function log($person_id, $logtype_kurzbz, $logdata, $taetigkeit_kurzbz, $app = 'core', $oe_kurzbz = null, $user = null) { $data = array( 'person_id' => $person_id, 'zeitpunkt' => date('Y-m-d H:i:s'), + 'taetigkeit_kurzbz' => $taetigkeit_kurzbz, 'app' => $app, 'oe_kurzbz' => $oe_kurzbz, 'logtype_kurzbz' => $logtype_kurzbz, @@ -49,13 +51,14 @@ class PersonLogLib * Gets Logs for a Person, filtered by parameters. * Requirements for retrieving log: name is set * @param int $person_id ID of the Person. + * @param string $taetigkeit_kurzbz Verarbeitungstätigkeit * @param string $app Name of the App. - * @param string $oe_kurzbz Organisations Unit. - * @return object $result + * @param string $oe_kurzbz Organisation Unit. + * @return array */ - public function getLogs($person_id, $app = null, $oe_kurzbz = null) + public function getLogs($person_id, $taetigkeit_kurzbz = null, $app = null, $oe_kurzbz = null) { - $result = $this->ci->PersonLogModel->filterLog($person_id, $app, $oe_kurzbz); + $result = $this->ci->PersonLogModel->filterLog($person_id, $taetigkeit_kurzbz, $app, $oe_kurzbz); if (isSuccess($result)) { diff --git a/application/models/ressource/Resturlaub_model.php b/application/models/ressource/Resturlaub_model.php deleted file mode 100644 index a2f6fdf54..000000000 --- a/application/models/ressource/Resturlaub_model.php +++ /dev/null @@ -1,14 +0,0 @@ -dbTable = 'campus.tbl_resturlaub'; - $this->pk = 'mitarbeiter_uid'; - } -} diff --git a/application/models/system/PersonLog_model.php b/application/models/system/PersonLog_model.php index 4725815f3..02f52008c 100644 --- a/application/models/system/PersonLog_model.php +++ b/application/models/system/PersonLog_model.php @@ -35,11 +35,12 @@ class PersonLog_model extends CI_Model /** * Loads the last Log Entry of a Person * @param int $person_id ID of the Person. + * @param string $taetigkeit_kurzbz Verarbeitungstätigkeit * @param string $app Name of the App. * @param string $oe_kurzbz Organisations Unit. * @return object $result */ - public function getLastLog($person_id, $app = null, $oe_kurzbz = null) + public function getLastLog($person_id, $taetigkeit_kurzbz = null, $app = null, $oe_kurzbz = null) { // Check Permissions $this->load->library('PermissionLib'); @@ -49,6 +50,8 @@ class PersonLog_model extends CI_Model $this->db->order_by('zeitpunkt', 'DESC'); $this->db->order_by('log_id', 'DESC'); $this->db->limit(1); + if (!is_null($taetigkeit_kurzbz)) + $this->db->where('taetigkeit_kurzbz='.$this->db->escape($oe_kurzbz)); if (!is_null($app)) $this->db->where('app='.$this->db->escape($app)); if (!is_null($oe_kurzbz)) @@ -62,11 +65,12 @@ class PersonLog_model extends CI_Model /** * Load logs for a person, filtered by parameters * @param int $person_id ID of the Person. + * @param string $taetigkeit_kurzbz Verarbeitungstätigkeit * @param string $app Name of the App. * @param string $oe_kurzbz Organisations Unit. * @return object $result */ - public function filterLog($person_id, $app = null, $oe_kurzbz = null) + public function filterLog($person_id, $taetigkeit_kurzbz = null, $app = null, $oe_kurzbz = null) { // Check Permissions $this->load->library('PermissionLib'); @@ -75,6 +79,8 @@ class PersonLog_model extends CI_Model $this->db->order_by('zeitpunkt', 'DESC'); $this->db->order_by('log_id', 'DESC'); + if (!is_null($taetigkeit_kurzbz)) + $this->db->where('taetigkeit_kurzbz='.$this->db->escape($taetigkeit_kurzbz)); if (!is_null($app)) $this->db->where('app='.$this->db->escape($app)); if (!is_null($oe_kurzbz)) diff --git a/application/views/system/infocenter/infocenter.php b/application/views/system/infocenter/infocenter.php index f5969b7dd..b569026d4 100644 --- a/application/views/system/infocenter/infocenter.php +++ b/application/views/system/infocenter/infocenter.php @@ -1,27 +1,56 @@ load->view('templates/FHC-Header', array('title' => 'Info Center', 'jquery3' => true, 'tablesorter' => true)); +$this->load->view('templates/FHC-Header', array('title' => 'Info Center', 'jquery3' => true, 'bootstrap' => true, 'fontawesome' => true, 'sbadmintemplate' => true, 'tablesorter' => false, 'customCSSs' => 'vendor/FHC-vendor/jquery-tableso +rter/css/theme.default.css', 'customJSs' => array('vendor/FHC-vendor/jquery-tablesorter/js/jquery.tablesorter.js', 'vendor/FHC-vendor/jquery-tablesorter/js/jquery.tablesorter.widgets.js'))); ?> - - + +
+ +
+
+
+
+ +
+
+ + + + load->view('system/infocenter/infocenterData.php'); ?> - - - load->view('system/infocenter/infocenterData.php'); - ?> - - - - +
+
+
+ + load->view('templates/FHC-Footer'); ?> diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index b8a7de4bd..9035a9c4a 100644 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -1,5 +1,4 @@ ' SELECT @@ -29,10 +28,12 @@ FROM public.tbl_prestudentstatus pss INNER JOIN public.tbl_prestudent ps USING(prestudent_id) + JOIN public.tbl_studiengang USING(studiengang_kz) WHERE pss.status_kurzbz = \'Interessent\' AND pss.bestaetigtam IS NULL AND pss.bestaetigtvon IS NULL AND ps.person_id = p.person_id + AND tbl_studiengang.typ in(\'b\',\'m\') ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC LIMIT 1 ) AS "Studiensemester", @@ -41,10 +42,12 @@ FROM public.tbl_prestudentstatus pss INNER JOIN public.tbl_prestudent ps USING(prestudent_id) + JOIN public.tbl_studiengang USING(studiengang_kz) WHERE pss.status_kurzbz = \'Interessent\' AND pss.bestaetigtam IS NULL AND pss.bestaetigtvon IS NULL AND ps.person_id = p.person_id + AND tbl_studiengang.typ in(\'b\',\'m\') ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC LIMIT 1 ) AS "SendDate" @@ -52,28 +55,38 @@ WHERE EXISTS( SELECT 1 - FROM public.tbl_prestudent - WHERE person_id=p.person_id - AND \'Interessent\' = (SELECT status_kurzbz FROM public.tbl_prestudentstatus - WHERE prestudent_id=tbl_prestudent.prestudent_id - ORDER BY datum DESC, insertamum DESC, ext_id DESC - LIMIT 1 - ) - AND EXISTS (SELECT 1 FROM public.tbl_prestudentstatus - WHERE prestudent_id=tbl_prestudent.prestudent_id - AND status_kurzbz=\'Interessent\' AND bestaetigtam IS NULL and bestaetigtvon IS NULL - AND studiensemester_kurzbz IN ( - SELECT studiensemester_kurzbz - FROM public.tbl_studiensemester - WHERE (NOW() >= start AND NOW() <= ende) - OR start > NOW() - ) + FROM + public.tbl_prestudent + JOIN public.tbl_studiengang USING(studiengang_kz) + WHERE + person_id=p.person_id + AND tbl_studiengang.typ in(\'b\',\'m\') + AND \'Interessent\' = (SELECT status_kurzbz FROM public.tbl_prestudentstatus + WHERE prestudent_id=tbl_prestudent.prestudent_id + ORDER BY datum DESC, insertamum DESC, ext_id DESC + LIMIT 1 + ) + AND EXISTS ( + SELECT + 1 + FROM + public.tbl_prestudentstatus + WHERE + prestudent_id=tbl_prestudent.prestudent_id + AND status_kurzbz=\'Interessent\' + AND bestaetigtam IS NULL + AND bestaetigtvon IS NULL + AND studiensemester_kurzbz IN ( + SELECT studiensemester_kurzbz + FROM public.tbl_studiensemester + WHERE ende >= NOW() + ) ) ) ORDER BY "LastAction" DESC ', - 'hideHeader' => false, - 'hideSave' => false, + 'hideHeader' => true, + 'hideSave' => true, 'additionalColumns' => array('Details'), 'formatRaw' => function($fieldName, $fieldValue, $datasetRaw) { diff --git a/application/views/system/infocenter/infocenterDetails.php b/application/views/system/infocenter/infocenterDetails.php index 19e9dc1d9..8f6216c40 100644 --- a/application/views/system/infocenter/infocenterDetails.php +++ b/application/views/system/infocenter/infocenterDetails.php @@ -2,562 +2,602 @@ $this->load->view('templates/FHC-Header', array('title' => 'InfocenterDetails', 'jquery3' => true, 'bootstrap' => true, 'fontawesome' => true, 'bootstrapdatepicker' => true, 'datatables' => true, 'sbadmintemplate' => true)); ?> -
-
-
- -
-
-
-
-
-
-

Stammdaten

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Vornamevorname ?>
Nachname - nachname ?>
Geburtsdatum - gebdatum), 'd.m.Y') ?>
Sozialversicherungsnr - svnr ?>
Staatsbürgerschaft - staatsbuergerschaft ?>
Geschlecht - geschlecht ?>
Geburtsnation - geburtsnation ?>
Geburtsortgebort ?>
-
-
- - - - - - - - - - - - - - kontakte as $kontakt): ?> +
+
- - - - - - adressen as $adresse): ?> - - - - - - - - -
Kontakte
TypKontaktZustellungAnmerkung
kontakttyp); ?> - kontakttyp === 'email'): ?> - - kontakt; - if ($kontakt->kontakttyp === 'email'): - ?> - - - zustellung === true ? '' : ''; ?>anmerkung; ?>
- Adresse - - strasse.', '.$adresse->plz.' '.$adresse->ort : '' ?> - - zustelladresse === true ? '' : '' ?> - - heimatadresse === true ? 'Heimatadresse' : '').($adresse->heimatadresse === true && $adresse->rechnungsadresse === true ? ', ' : '').($adresse->rechnungsadresse === true ? 'Rechnungsadresse' : ''); ?> -
+ echo $this->widgetlib->widget( + 'FHC_navheader' + ); + + echo $this->widgetlib->widget( + 'FHC_navigation' + ); + ?> + +
+
+
+
+ +
+
+
+
+
+
+

Stammdaten

+
+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Vornamevorname ?>
Nachname + nachname ?>
Geburtsdatum + gebdatum), 'd.m.Y') ?>
Sozialversicherungsnr + svnr ?>
Staatsbürgerschaft + staatsbuergerschaft ?>
Geschlecht + geschlecht ?>
Geburtsnation + geburtsnation ?>
Geburtsortgebort ?>
+
+
+ + + + + + + + + + + + + + kontakte as $kontakt): ?> + + + + + + + + + adressen as $adresse): ?> + + + + + + + + +
Kontakte
TypKontaktZustellungAnmerkung
kontakttyp); ?> + kontakttyp === 'email'): ?> + + kontakt; + if ($kontakt->kontakttyp === 'email'): + ?> + + + zustellung === true ? '' : ''; ?>anmerkung; ?>
+ Adresse + + strasse.', '.$adresse->plz.' '.$adresse->ort : '' ?> + + zustelladresse === true ? '' : '' ?> + + heimatadresse === true ? 'Heimatadresse' : '').($adresse->heimatadresse === true && $adresse->rechnungsadresse === true ? ', ' : '').($adresse->rechnungsadresse === true ? 'Rechnungsadresse' : ''); ?> +
+
+
-
-
-
-
-
-
-
- -

Dokumentenprüfung

-
- - - - - - - - - - - formal_geprueft_amum) ? "checked" : ""; - ?> - - - - - - - +

Dokumentenprüfung

+
+
NameTypUploaddatumAusstellungsnationFormal geprüft
- titel) ? $dokument->bezeichnung : $dokument->titel ?> - dokument_bezeichnung ?>erstelltam), 'd.m.Y') ?>langtext ?> - /> - formal_geprueft_amum) ? date_format(date_create($dokument->formal_geprueft_amum), 'd.m.Y') : ''; ?> -
+ + + + + + + + + + formal_geprueft_amum) ? "checked" : ""; + ?> + + + + + + + - - - -
NameTypUploaddatumAusstellungsnationFormal geprüft
+ titel) ? $dokument->bezeichnung : $dokument->titel ?> + dokument_bezeichnung ?>erstelltam), 'd.m.Y') ?>langtext ?> + /> + formal_geprueft_amum) ? date_format(date_create($dokument->formal_geprueft_amum), 'd.m.Y') : ''; ?> +
- 0): ?> -
-

Nachzureichende Dokumente:

- - - - - - - - - - - - - - - - - - -
TypNachzureichen amAusstellungsnationAnmerkung
dokument_bezeichnung ?> - nachgereicht_am) ? date_format(date_create($dokument->nachgereicht_am), 'd.m.Y') : ''; ?> - - langtext ?> - - anmerkung; ?> -
- + + + + + 0): ?> +
+

Nachzureichende Dokumente:

+ + + + + + + + + + + + + + + + + + +
TypNachzureichen amAusstellungsnationAnmerkung
dokument_bezeichnung ?> + nachgereicht_am) ? date_format(date_create($dokument->nachgereicht_am), 'd.m.Y') : ''; ?> + + langtext ?> + + anmerkung; ?> +
+ +
+
-
- - -
-
-
-
-
- -

ZGV-Prüfung

-
-
-
- infoonly; ?> -
- -
-
-
-
-
-
- - prestudentstatus->bestaetigtam) ? "ja" : "nein" ?> -
-
-
-
- - prestudentstatus->status_kurzbz) ? $zgvpruefung->prestudentstatus->status_kurzbz : '' ?> -
-
-
-
- - prestudentstatus->studiensemester_kurzbz) ? $zgvpruefung->prestudentstatus->studiensemester_kurzbz : '' ?> -
-
-
-
- - prestudentstatus->ausbildungssemester) ? $zgvpruefung->prestudentstatus->ausbildungssemester : '' ?> -
-
-
-
-
-
- - zgv_bez; - else - echo $this->widgetlib->widget( - 'Zgv_widget', - array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgv_code), - array('name' => 'zgv', 'id' => 'zgv') - ); ?> -
-
-
-
- - zgvort; - else: - ?> - - -
-
-
-
- - zgvdatum), 'd.m.Y'); - else: - ?> - zgvdatum), 'd.m.Y') ?>" - name="zgvdatum"> - -
-
-
-
- - zgvnation_bez; - else - echo $this->widgetlib->widget( - 'Nation_widget', - array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgvnation_code), - array('name' => 'zgvnation', 'id' => 'zgvnation') - ); ?> -
-
-
- - studiengangtyp === 'm') : ?> -
-
-
- zgvmas_bez; - else - echo $this->widgetlib->widget( - 'Zgvmaster_widget', - array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgvmas_code), - array('name' => 'zgvmas', 'id' => 'zgvmas') - ); ?> -
-
-
-
- - zgvmaort; - else: - ?> - - -
-
-
-
- - zgvmadatum), 'd.m.Y'); - else: - ?> - zgvmadatum), 'd.m.Y') ?>" - name="zgvmadatum"> - -
-
-
-
- zgvmanation_bez; - else - echo $this->widgetlib->widget( - 'Nation_widget', - array(DropdownWidget::SELECTED_ELEMENT => $zgvpruefung->zgvmanation_code), - array('name' => 'zgvmanation', 'id' => 'zgvmanation') - ); ?> -
-
-
- - - -
-
- -
-
- -
- - -
-
-
-
-
- - -
- -
+
+
+
+
+
+ +

ZGV-Prüfung

+
+
+
+ infoonly; ?> +
+ +
+
+ +
+
+
+ + prestudentstatus->bestaetigtam) ? "ja" : "nein" ?>
-
- -
-
-
-
-
- -
-
- +
+
+
+
+
+
+
+
+
+
+ +

Notizen & Aktivitäten

+
+
+
+
+
+
+
+ +
+
+ +
+
+ +
+ +
+
+ + + + + + + + + + + + + + + + +
DatumNotizUser
insertamum), 'd.m.Y H:i:s') ?>titel ?>verfasser_uid ?>
+
+
+ + + + + + + + + + + + + + + +
DatumAktivitätUser
zeitpunkt), 'd.m.Y H:i:s') ?>logdata->name) ? $log->logdata->name : '' ?>insertvon ?>
- -
-
-
-
- -
-
-
-
-
-
- -

Notizen & Aktivitäten

-
-
-
-
-
-
-
- -
-
- -
-
- -
- -
-
- - - - - - - - - - - - - - - - -
DatumNotizUser
insertamum), 'd.m.Y H:i:s') ?>titel ?>verfasser_uid ?>
-
-
- - - - - - - - - - - - - - - -
DatumAktivitätUser
zeitpunkt), 'd.m.Y H:i:s') ?>logdata->name) ? $log->logdata->name : '' ?>insertvon ?>
-
+
- + -
-
-
- -
+
+
+ +
+ +
-
+
-
- -
+
+ +
-
+
-
- -
+
+ +
-
+
-
- -
- +
+ +
+ +
diff --git a/application/widgets/FHC_navheader.php b/application/widgets/FHC_navheader.php new file mode 100644 index 000000000..0c02ff9ad --- /dev/null +++ b/application/widgets/FHC_navheader.php @@ -0,0 +1,56 @@ + 'Infocenter', 'headertextlink' => base_url('index.ci.php/system/infocenter/InfoCenter')); + $data['items'] = array( + 'messages' => + array( + 'icon' => 'envelope', 'showall' => array('showalllink' => '#', 'showalltext' => 'Alle Nachrichten anzeigen'), 'children' => + array(array('link' => '#', 'html' => ' +
+ Maximillion Pegasus + + Gestern + +
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eleifend...
+ '), array('link' => '#', 'html' => ' +
+ Yugi Muto + + Vorgestern + +
+
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque eleifend...
+ ')) + ), + 'alerts' => + array( + 'icon' => 'bell', 'showall' => array('showalllink' => '#', 'showalltext' => 'Alle Aktionen anzeigen'), 'children' => + array(array('link' => '#', 'html' => ' +
+ Dokument hochgeladen + vor 2 Minuten +
'), array('link' => '#', 'html' => ' +
+ Nachricht versandt + vor 4 Minuten +
'), array('link' => '#', 'html' => ' +
+ InteressentIn freigegeben + vor 5 Minuten +
')) + ) + ); + } + + $this->view('widgets/fhcnavheader', $data); + } +} \ No newline at end of file diff --git a/application/widgets/FHC_navigation.php b/application/widgets/FHC_navigation.php new file mode 100644 index 000000000..c22a0930c --- /dev/null +++ b/application/widgets/FHC_navigation.php @@ -0,0 +1,75 @@ +_getFilterList('%InfoCenterSentApplication%'); + + $listFiltersNotSent = $this->_getFilterList('%InfoCenterNotSentApplication%'); + + $filtersarray = array('abgeschickt' => array('link' => '#', 'description' => 'Abgeschickt', 'expand' => true, 'children' => array()), + 'nichtabgeschickt' => array('link' => '#', 'description' => 'Nicht abgeschickt','expand' => true,'children' => array())); + + $this->_fillFilters($listFiltersSent, $filtersarray['abgeschickt']); + $this->_fillFilters($listFiltersNotSent, $filtersarray['nichtabgeschickt']); + + $data = array(); + $data['items'] = array('dashboard' => array('link' => '#', 'description' => 'Dashboard', 'icon' => 'dashboard'), + 'filters' => array('link' => '#', 'description' => 'Filter', 'icon' => 'filter','expand' => true, 'children' => + $filtersarray + )); + } + + $this->view('widgets/fhcnavigation', $data); + } + + private function _getFilterList($filter_kurzbz) + { + $this->load->model('system/Filters_model', 'FiltersModel'); + + $listFilters = array(); + + $personActionsArray = array( + 'app' => 'aufnahme', + 'dataset_name' => 'PersonActions', + 'person_id' => null, + 'default_filter' => false, + 'array_length(description, 1) >' => 0 + ); + + $this->FiltersModel->resetQuery(); + $this->FiltersModel->addSelect('filter_id, description'); + $this->FiltersModel->addOrder('sort', 'ASC'); + + $personActionsArray['filter_kurzbz ILIKE'] = $filter_kurzbz; + $filters = $this->FiltersModel->loadWhere($personActionsArray); + if (hasData($filters)) + { + for ($filtersCounter = 0; $filtersCounter < count($filters->retval); $filtersCounter++) + { + $filter = $filters->retval[$filtersCounter]; + + $listFilters[$filter->filter_id] = $filter->description[0]; + } + } + + return $listFilters; + } + + private function _fillFilters($filters, &$tofill) + { + foreach ($filters as $filterId => $description) + { + $toPrint = "%s=%s"; + $tofill['children'][] = array('link' => sprintf($toPrint, base_url('index.ci.php/system/infocenter/InfoCenter?filterId'), $filterId), 'description' => $description); + } + } +} \ No newline at end of file diff --git a/application/widgets/FilterWidget.php b/application/widgets/FilterWidget.php index 438862eb1..86e529302 100644 --- a/application/widgets/FilterWidget.php +++ b/application/widgets/FilterWidget.php @@ -291,6 +291,7 @@ class FilterWidget extends Widget @@ -1046,7 +1047,17 @@ class FilterWidget extends Widget break; case self::OP_GREATER_THAN: if (!is_numeric($activeFilterValue)) $activeFilterValue = 0; - $condition = ' > '.$activeFilterValue; + if (isset($activeFiltersOption[$field]) + && ($activeFiltersOption[$field] == self::OPT_DAYS + || $activeFiltersOption[$field] == self::OPT_MONTHS)) + { + $condition = ' > (NOW() - \''.$activeFilterValue.' '.$activeFiltersOption[$field].'\'::interval)'; + } + else + { + $condition = ' > '.$activeFilterValue; + } + break; case self::OP_LESS_THAN: if (!is_numeric($activeFilterValue)) $activeFilterValue = 0; diff --git a/cis/private/profile/resturlaub.php b/cis/private/profile/resturlaub.php deleted file mode 100644 index 2af595ff2..000000000 --- a/cis/private/profile/resturlaub.php +++ /dev/null @@ -1,131 +0,0 @@ - - * Andreas Oesterreicher - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - */ -// ** -// * @brief Uebersicht der Resturlaubstage - -require_once('../../../config/cis.config.inc.php'); -require_once('../../../include/functions.inc.php'); -require_once('../../../include/resturlaub.class.php'); -require_once('../../../include/benutzerberechtigung.class.php'); -require_once('../../../include/phrasen.class.php'); - -$sprache = getSprache(); -$p = new phrasen($sprache); - -$uid = get_uid(); - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($uid); - -if (!$rechte->isBerechtigt('admin',0) && !$rechte->isBerechtigt('mitarbeiter')) - die($p->t('global/keineBerechtigungFuerDieseSeite')); - -$db = new basis_db(); - -$jahr=date('Y'); -if (date('m')>8) -{ - $datum_beginn_iso=$jahr.'-09-01'; - $datum_beginn='1.Sept.'.$jahr; - $datum_ende_iso=($jahr+1).'-08-31'; - $datum_ende='31.Aug.'.($jahr+1); - $geschaeftsjahr=$jahr.'/'.($jahr+1); -} -else -{ - $datum_beginn_iso=($jahr-1).'-09-01'; - $datum_beginn='1.Sept.'.($jahr-1); - $datum_ende_iso=$jahr.'-08-31'; - $datum_ende='31.Aug.'.$jahr; - $geschaeftsjahr=($jahr-1).'/'.$jahr; -} - -echo ' - - - '.$p->t('zeitsperre/resturlaubstage').' - - - - - -

Resturlaubstage

- - - - - - - - - - '; - -$obj=new resturlaub(); -$obj->getResturlaubFixangestellte(); -$i=0; - -foreach ($obj->result as $row) -{ - echo ''; - echo ""; - echo ""; - - //Urlaub berechnen (date_part('month', vondatum)>9 AND date_part('year', vondatum)='".(date('Y')-1)."') OR (date_part('month', vondatum)<9 AND date_part('year', vondatum)='".date('Y')."') - $qry = "SELECT - (SELECT sum(bisdatum-vondatum+1) as anzahltage FROM campus.tbl_zeitsperre - WHERE zeitsperretyp_kurzbz='Urlaub' AND mitarbeiter_uid='".addslashes($row->mitarbeiter_uid)."' AND - ( - vondatum>='".addslashes($datum_beginn_iso)."' AND bisdatum<='".addslashes($datum_ende_iso)."' - )) as anzahltage, - (SELECT sum(bisdatum-vondatum+1) as anzahltage FROM campus.tbl_zeitsperre - WHERE zeitsperretyp_kurzbz='Urlaub' AND mitarbeiter_uid='".addslashes($row->mitarbeiter_uid)."' AND - ( - vondatum>='".addslashes($datum_beginn_iso)."' AND bisdatum<=now() - )) as anzahltageaktuell - "; - $tttt="\n"; - if($result_summe = $db->db_query($qry)) - { - if($row_summe = $db->db_fetch_object($result_summe)) - { - $gebuchterurlaub = $row_summe->anzahltage; - $gebuchterurlaubaktuell = $row_summe->anzahltageaktuell; - } - } - if($gebuchterurlaub=='') - $gebuchterurlaub=0; - if($gebuchterurlaubaktuell=='') - $gebuchterurlaubaktuell=0; - - echo ''; - echo ''; - echo ''; - $i++; -} - - echo ' -
'.$p->t('global/nachname').''.$p->t('global/vorname').''.$p->t('zeitsperre/resturlaubstagePerDatum',array($datum_beginn)).''.$p->t('zeitsperre/aktuellerStand').''.$p->t('zeitsperre/resturlaubstagePerDatum',array($datum_ende)).'
$row->nachname$row->vorname $row->vornamen$row->resturlaubstage'.($row->urlaubstageprojahr+$row->resturlaubstage-$gebuchterurlaubaktuell).''.($row->urlaubstageprojahr+$row->resturlaubstage-$gebuchterurlaub).'
- -'; -?> diff --git a/cis/private/profile/urlaubsfreigabe.php b/cis/private/profile/urlaubsfreigabe.php index 5d8f099a5..bb65142d8 100644 --- a/cis/private/profile/urlaubsfreigabe.php +++ b/cis/private/profile/urlaubsfreigabe.php @@ -26,7 +26,6 @@ require_once('../../../include/zeitsperre.class.php'); require_once('../../../include/person.class.php'); require_once('../../../include/benutzer.class.php'); require_once('../../../include/mitarbeiter.class.php'); -require_once('../../../include/resturlaub.class.php'); require_once('../../../include/benutzerberechtigung.class.php'); require_once('../../../include/addon.class.php'); @@ -156,26 +155,6 @@ if(isset($_GET['action']) && $_GET['action']=='freigabe') } -//Speichern der Resturlaubstage -if(isset($_POST['saveresturlaub'])) -{ - if(isset($_POST['resturlaubstage']) && is_numeric($_POST['resturlaubstage'])) - { - $resturlaub = new resturlaub(); - $resturlaub->load($uid); - - $resturlaub->resturlaubstage=$_POST['resturlaubstage']; - $resturlaub->updateamum=date('Y-m-d H:i:s'); - $resturlaub->updatevon = $user; - if($resturlaub->save()) - echo 'Resturlaubstage wurden erfolgreich gespeichert'; - else - echo 'Fehler beim Speichern der Resturlaubstage: '.$resturlaub->errormsg.''; - } - else - echo 'Fehler beim Speichern der Resturlaubstage: Resturlaub muss eine gueltige Zahl sein'; -} - //Monat zeichenen function draw_monat($monat) { @@ -225,93 +204,17 @@ function draw_monat($monat) } //Jahr mit Pfeilen zum blaettern anzeigen - if($uid!='') { echo '"; echo '
'; echo "Alle Mitarbeiter anzeigen
'; echo ''; - //echo '
'; - //echo '
'; - - //Anzeige Resturlaubsberechnung - - $resturlaub = new resturlaub(); - - if($resturlaub->load($uid)) - { - $resturlaubstage = $resturlaub->resturlaubstage; - $mehrarbeitsstunden = $resturlaub->mehrarbeitsstunden; - $anspruch = $resturlaub->urlaubstageprojahr; - } - else - { - $resturlaubstage=0; - $mehrarbeitsstunden=0; - // wenn mitarbeiter ist kein fixangestellter --> kein urlaubsanspruch - $mitarbeiter_anspruch = new mitarbeiter(); - $mitarbeiter_anspruch->load($uid); - if($mitarbeiter_anspruch->fixangestellt == true) - $anspruch=25; - else - $anspruch = 0; - } - - $jahr=date('Y'); - if (date('m')>8) - { - $datum_beginn_iso=$jahr.'-09-01'; - $datum_beginn='1.Sept.'.$jahr; - $datum_ende_iso=($jahr+1).'-08-31'; - $datum_ende='31.Aug.'.($jahr+1); - $geschaeftsjahr=$jahr.'/'.($jahr+1); - } - else - { - $datum_beginn_iso=($jahr-1).'-09-01'; - $datum_beginn='1.Sept.'.($jahr-1); - $datum_ende_iso=$jahr.'-08-31'; - $datum_ende='31.Aug.'.$jahr; - $geschaeftsjahr=($jahr-1).'/'.$jahr; - } - - //Urlaub berechnen - $gebuchterurlaub=0; - $qry = "SELECT sum(bisdatum-vondatum+1) as anzahltage FROM campus.tbl_zeitsperre - WHERE zeitsperretyp_kurzbz='Urlaub' AND mitarbeiter_uid='$uid' AND - ( - vondatum>='$datum_beginn_iso' AND bisdatum<='$datum_ende_iso' - )"; - $result = $db->db_query($qry); - $row = $db->db_fetch_object($result); - $gebuchterurlaub = $row->anzahltage; - if($gebuchterurlaub=='') - $gebuchterurlaub=0; echo '
'; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo "

Urlaub im Geschäftsjahr $geschaeftsjahr

Anspruch$anspruch Tage   ( jährlich )
+ Resturlaub"; - if(date('m')>8 && date('m')<11) - { - echo "
"; - echo " Tage"; - echo ""; - echo "
"; - } - else - { - echo "$resturlaubstage Tage"; - } - echo "
   ( Stichtag: $datum_beginn )
- aktuell gebuchter Urlaub $gebuchterurlaub Tage   ( $datum_beginn - $datum_ende )
aktueller Stand".($anspruch+$resturlaubstage-$gebuchterurlaub)." Tage   ( Stichtag: $datum_ende )
"; echo '
'; echo ''; - } echo '
'; diff --git a/cis/private/profile/urlaubstool.php b/cis/private/profile/urlaubstool.php index 2a225e01c..dfaa5d6f6 100644 --- a/cis/private/profile/urlaubstool.php +++ b/cis/private/profile/urlaubstool.php @@ -26,7 +26,6 @@ require_once('../../../config/cis.config.inc.php'); require_once('../../../include/functions.inc.php'); require_once('../../../include/zeitsperre.class.php'); require_once('../../../include/datum.class.php'); -require_once('../../../include/resturlaub.class.php'); require_once('../../../include/person.class.php'); require_once('../../../include/benutzer.class.php'); require_once('../../../include/mitarbeiter.class.php'); @@ -35,7 +34,6 @@ require_once('../../../include/phrasen.class.php'); require_once('../../../include/globals.inc.php'); require_once('../../../include/sprache.class.php'); - $sprache = getSprache(); $lang = new sprache(); $lang->load($sprache); @@ -503,77 +501,17 @@ echo ' ".$p->t('urlaubstool/urlaubstool')." (".$uid.")"; - //Anzeige Resturlaubsberechnung - echo ''; - echo '
'; - $resturlaub = new resturlaub(); +echo "

".$p->t('urlaubstool/urlaubstool')." (".$uid.")

"; - if($resturlaub->load($uid)) - { - $resturlaubstage = $resturlaub->resturlaubstage; - $mehrarbeitsstunden = $resturlaub->mehrarbeitsstunden; - $anspruch = $resturlaub->urlaubstageprojahr; - } - else - { - $resturlaubstage=0; - $mehrarbeitsstunden=0; - // wenn mitarbeiter ist kein fixangestellter --> kein urlaubsanspruch - $mitarbeiter_anspruch = new mitarbeiter(); - $mitarbeiter_anspruch->load($uid); - if($mitarbeiter_anspruch->fixangestellt == true) - $anspruch = 25; - else - $anspruch = 0; - } - - $jahr=date('Y'); - if (date('m')>8) - { - $datum_beginn_iso=$jahr.'-09-01'; - $datum_beginn='1.Sept.'.$jahr; - $datum_ende_iso=($jahr+1).'-08-31'; - $datum_ende='31.Aug.'.($jahr+1); - $geschaeftsjahr=$jahr.'/'.($jahr+1); - } - else - { - $datum_beginn_iso=($jahr-1).'-09-01'; - $datum_beginn='1.Sept.'.($jahr-1); - $datum_ende_iso=$jahr.'-08-31'; - $datum_ende='31.Aug.'.$jahr; - $geschaeftsjahr=($jahr-1).'/'.$jahr; - } - - //Urlaub berechnen - $gebuchterurlaub=0; - $qry = "SELECT sum(bisdatum-vondatum+1) as anzahltage FROM campus.tbl_zeitsperre - WHERE zeitsperretyp_kurzbz='Urlaub' AND mitarbeiter_uid='$uid' AND - ( - vondatum>='$datum_beginn_iso' AND bisdatum<='$datum_ende_iso' - )"; - $result = $db->db_query($qry); - $row = $db->db_fetch_object($result); - $gebuchterurlaub = $row->anzahltage; - if($gebuchterurlaub=='') - $gebuchterurlaub=0; - -$content_resturlaub .= '
'; -$content_resturlaub .= ""; -$content_resturlaub .= ""; -$content_resturlaub .= ""; -$content_resturlaub .= ""; -$content_resturlaub .= ""; -$content_resturlaub .= ""; -$content_resturlaub .= "

".$p->t('urlaubstool/urlaubImGeschaeftsjahr')." $geschaeftsjahr

".$p->t('urlaubstool/anspruch')."$anspruch ".$p->t('urlaubstool/tage')."   ( ".$p->t('urlaubstool/jaehrlich')." )
+ ".$p->t('urlaubstool/resturlaub')."$resturlaubstage ".$p->t('urlaubstool/tage')."   ( ".$p->t('urlaubstool/stichtag').": $datum_beginn )
- ".$p->t('urlaubstool/aktuellGebuchterUrlaub')." $gebuchterurlaub ".$p->t('urlaubstool/tage')."   ( $datum_beginn - $datum_ende )
".$p->t('urlaubstool/aktuellerStand')."".($anspruch+$resturlaubstage-$gebuchterurlaub)." ".$p->t('urlaubstool/tage')."   ( ".$p->t('urlaubstool/stichtag').": $datum_ende )
"; -$content_resturlaub .= '
'; +//Anzeige Resturlaubsberechnung +echo ''; +echo '
'; //Formular Auswahl Monat und Jahr für Kalender echo ' - +
'.$content_resturlaub.'
diff --git a/cis/private/profile/zeitsperre_resturlaub.php b/cis/private/profile/zeitsperre_resturlaub.php old mode 100644 new mode 100755 index d67c912c9..5ccffac99 --- a/cis/private/profile/zeitsperre_resturlaub.php +++ b/cis/private/profile/zeitsperre_resturlaub.php @@ -27,7 +27,6 @@ require_once('../../../config/cis.config.inc.php'); require_once('../../../include/functions.inc.php'); require_once('../../../include/zeitsperre.class.php'); require_once('../../../include/datum.class.php'); -require_once('../../../include/resturlaub.class.php'); require_once('../../../include/person.class.php'); require_once('../../../include/benutzer.class.php'); require_once('../../../include/mitarbeiter.class.php'); @@ -109,20 +108,19 @@ $( document ).ready(function() } } + $( ".datepicker_datum" ).datepicker({ + changeMonth: true, + changeYear: true, + dateFormat: "dd.mm.yy", + }); - $( ".datepicker_datum" ).datepicker({ - changeMonth: true, - changeYear: true, - dateFormat: "dd.mm.yy", - }); - - $( ".timepicker" ).timepicker({ - showPeriodLabels: false, - hourText: "'.$p->t("global/stunde").'", - minuteText: "'.$p->t("global/minute").'", - hours: {starts: 7,ends: 22}, - rows: 4, - }); + $( ".timepicker" ).timepicker({ + showPeriodLabels: false, + hourText: "'.$p->t("global/stunde").'", + minuteText: "'.$p->t("global/minute").'", + hours: {starts: 7,ends: 22}, + rows: 4, + }); }); '; @@ -229,6 +227,10 @@ function showHideBezeichnungDropDown() sp.innerHTML = str; } + else if (dd.options[dd.selectedIndex].value == 'DienstF') + { + sp.innerHTML = 'Dienstfreistellungen nur in Absprache mit Personalservice eintragen!
'; + } else { @@ -250,16 +252,6 @@ function setBisDatum()
-
"; - - $content_form.= "'; $content_form.= ""; $content_form.= '
@@ -365,11 +357,6 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_ $zeitsperre->insertvon = $uid; } -/* if(!$error && $zeitsperre->freigabeamum!='') - { - $error = true; - $error_msg.=$p->t('zeitsperre/urlaubKannNichtMehrEditiertWerden'); - } */ if(!$error && $_POST['zeitsperretyp_kurzbz']=='Urlaub') { if($zeitsperre->zeitsperre_id!='') @@ -414,9 +401,7 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_ $to.=','; $to.=trim($vg.'@'.DOMAIN); } -# $to_len=mb_strlen($to)-1; -# $to = mb_substr($to, 0,$to_len); - //$to = 'oesi@technikum-wien.at'; + $benutzer = new benutzer(); $benutzer->load($uid); if($datum_obj->formatDatum($zeitsperre->vondatum, 'm')>=9) @@ -627,8 +612,6 @@ for($i=0;$i<$num_rows_stunde;$i++) $content_form.= "
".$p->t('urlaubstool/vertretung')."
 
".$p->t('zeitsperre/achtungEsWerdenAlleEingegebenenTage')."
'; -// ******* RESTURLAUB ******** // -$content_resturlaub = ''; -$resturlaubstage = '0'; -$mehrarbeitsstunden = '0'; -$anspruch = '25'; - $resturlaub = new resturlaub(); - - if($resturlaub->load($uid)) - { - $resturlaubstage = $resturlaub->resturlaubstage; - $mehrarbeitsstunden = $resturlaub->mehrarbeitsstunden; - $anspruch = $resturlaub->urlaubstageprojahr; - }else - { - // wenn mitarbeiter ist kein fixangestellter --> kein urlaubsanspruch - $mitarbeiter_anspruch = new mitarbeiter(); - $mitarbeiter_anspruch->load($uid); - if($mitarbeiter_anspruch->fixangestellt == true) - $anspruch=25; - else - $anspruch = 0; - } -//Den Bereich fuer die Resturlaubstage nur anzeigen wenn dies -//im config angegeben ist -if(URLAUB_TOOLS) -{ - $jahr=date('Y'); - if (date('m')>8) - { - $datum_beginn_iso=$jahr.'-09-01'; - $datum_beginn='1.Sept.'.$jahr; - $datum_ende_iso=($jahr+1).'-08-31'; - $datum_ende='31.Aug.'.($jahr+1); - $geschaeftsjahr=$jahr.'/'.($jahr+1); - } - else - { - $datum_beginn_iso=($jahr-1).'-09-01'; - $datum_beginn='1.Sept.'.($jahr-1); - $datum_ende_iso=$jahr.'-08-31'; - $datum_ende='31.Aug.'.$jahr; - $geschaeftsjahr=($jahr-1).'/'.$jahr; - } - $content_resturlaub.="

".$p->t('zeitsperre/urlaubImGeschaeftsjahr')." $geschaeftsjahr

"; - /* - $content_resturlaub.='
'; - $content_resturlaub.=''; - $content_resturlaub.=''; - $content_resturlaub.=''; - $content_resturlaub.=''; - $content_resturlaub.=''; - $content_resturlaub.='
Resturlaubstage (31.08.)
Anspruch (01.09.)
Gesamturlaub
 
Aktuelle Mehrarbeitsstunden:
'; - */ - $gebuchterurlaub=0; - //Urlaub berechnen (date_part('month', vondatum)>9 AND date_part('year', vondatum)='".(date('Y')-1)."') OR (date_part('month', vondatum)<9 AND date_part('year', vondatum)='".date('Y')."') - $qry = "SELECT sum(bisdatum-vondatum+1) as anzahltage FROM campus.tbl_zeitsperre - WHERE zeitsperretyp_kurzbz='Urlaub' AND mitarbeiter_uid=".$db->db_add_param($uid)." AND - ( - vondatum>=".$db->db_add_param($datum_beginn_iso)." AND bisdatum<=".$db->db_add_param($datum_ende_iso)." - )"; - $tttt="\n"; - $result = $db->db_query($qry); - $row = $db->db_fetch_object($result); - $gebuchterurlaub = $row->anzahltage; - if($gebuchterurlaub=='') - $gebuchterurlaub=0; - $content_resturlaub.=""; - $content_resturlaub.=""; - $content_resturlaub.=""; - $content_resturlaub.=""; - $content_resturlaub .=""; - $content_resturlaub .=''; - $content_resturlaub.="
".$p->t('urlaubstool/anspruch')."$anspruch ".$p->t('urlaubstool/tage')."   ( ".$p->t('urlaubstool/jaehrlich')." )
+ ".$p->t('urlaubstool/resturlaub')."$resturlaubstage ".$p->t('urlaubstool/tage')."   ( ".$p->t('urlaubstool/stichtag').": $datum_beginn )
- ".$p->t('urlaubstool/aktuellGebuchterUrlaub')." $gebuchterurlaub ".$p->t('urlaubstool/tage')."   ( $datum_beginn - $datum_ende )
".$p->t('urlaubstool/aktuellerStand')."".($anspruch+$resturlaubstage-$gebuchterurlaub)." ".$p->t('urlaubstool/tage')."   ( ".$p->t('urlaubstool/stichtag').": $datum_ende )
".$p->t('zeitsperre/beschreibungSieheCisHandbuch')."
"; -} echo ''; echo ''; echo "'; -echo ""; +echo ""; echo ''; diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php old mode 100644 new mode 100755 index 636c368ff..6cc753665 --- a/cis/private/tools/zeitaufzeichnung.php +++ b/cis/private/tools/zeitaufzeichnung.php @@ -102,7 +102,11 @@ else $activities_str = "'".implode("','", $activities)."'"; // definiert bis zu welchem Datum die Eintragung nicht mehr möglich ist -$gesperrt_bis = '2015-08-31'; +if (defined('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS') && CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS != '') + $gesperrt_bis = CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS; +else + $gesperrt_bis = '2015-08-31'; + $sperrdatum = date('c', strtotime($gesperrt_bis)); // Uses urlencode to avoid XSS issues @@ -431,9 +435,9 @@ echo ' } return true; } - + /** - * kontrolliert Start- und Enddatum für CSV Export - + * kontrolliert Start- und Enddatum für CSV Export - * ob Startdatum nicht größer als Enddatum ist und ob die Zeitspanne nicht größer als 1000 Tage ist */ function checkdatumCSVExp(vondatumid, bisdatumid) @@ -452,7 +456,7 @@ echo ' Jahr=Datum.substring(6,10); bisDatum=Jahr+\'\'+Monat+\'\'+Tag; diff=bisDatum-vonDatum; - + if (bisDatum>=vonDatum) { if (diff>2000 && bisDatum != "" && vonDatum != "") @@ -724,9 +728,9 @@ if($projekt->getProjekteMitarbeiter($user, true)) '; - } + } echo ' diff --git a/cms/menu/menu_addon_zeitsperren.inc.php b/cms/menu/menu_addon_zeitsperren.inc.php index 7fef792b8..a430bd60d 100644 --- a/cms/menu/menu_addon_zeitsperren.inc.php +++ b/cms/menu/menu_addon_zeitsperren.inc.php @@ -51,17 +51,6 @@ class menu_addon_zeitsperren extends menu_addon 'name' => $p->t('menu/zeitsperren') ); - /* - if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter')) - { - $this->items[] = array('title' => $p->t('menu/resturlaub'), - 'target'=> 'content', - 'link' => 'private/profile/resturlaub.php', - 'name' => $p->t('menu/resturlaub') - ); - } - */ - if ($rechte->isBerechtigt('admin',0) || $rechte->isBerechtigt('mitarbeiter') || $fkt->checkFunktion('stvLtg')|| $fkt->checkFunktion('gLtg') || $fkt->checkFunktion('Leitung') || $fkt->checkFunktion('ass')) diff --git a/config/global.config-default.inc.php b/config/global.config-default.inc.php index 984d7c361..73ca346bb 100644 --- a/config/global.config-default.inc.php +++ b/config/global.config-default.inc.php @@ -41,6 +41,9 @@ define('CIS_PROFIL_FUNKTIONEN_ANZEIGEN',true); define('CIS_PROFIL_BETRIEBSMITTEL_ANZEIGEN',true); define('CIS_PROFIL_STUDIENINFORMATION_ANZEIGEN',true); +// Zeitaufzeichnung gesperrt_bis Datum YYYY-MM-DD +define('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS',''); + // Anzeige des Links zur Noteneingabe in der LVA Uebersicht define('CIS_LVALISTE_NOTENEINGABE_ANZEIGEN',true); diff --git a/content/mitarbeiter/mitarbeiterDBDML.php b/content/mitarbeiter/mitarbeiterDBDML.php index d8120b2bb..63235d960 100644 --- a/content/mitarbeiter/mitarbeiterDBDML.php +++ b/content/mitarbeiter/mitarbeiterDBDML.php @@ -33,7 +33,6 @@ require_once('../../include/mitarbeiter.class.php'); require_once('../../include/bisverwendung.class.php'); require_once('../../include/bisfunktion.class.php'); require_once('../../include/entwicklungsteam.class.php'); -require_once('../../include/resturlaub.class.php'); require_once('../../include/buchung.class.php'); require_once('../../include/pruefung.class.php'); require_once('../../include/projektbetreuer.class.php'); @@ -108,37 +107,11 @@ if(!$error) $mitarbeiter->kleriker = ($_POST['kleriker'] == 'true'?true:false); if($rechte->isBerechtigt('mitarbeiter/personalnummer')) { - $mitarbeiter->personalnummer = $_POST['personalnummer']; + $mitarbeiter->personalnummer = $_POST['personalnummer']; } if($mitarbeiter->save()) { - $resturlaub = new resturlaub(); - if($resturlaub->load($_POST['uid'])) - { - $resturlaub->new = false; - } - else - { - $resturlaub->new = true; - $resturlaub->insertamum = date('Y-m-d H:i:s'); - $resturlaub->insertvon = $user; - $resturlaub->mitarbeiter_uid = $_POST['uid']; - } - - $resturlaub->updateamum = date('Y-m-d H:i:s'); - $resturlaub->updatevon = $user; - $resturlaub->urlaubstageprojahr = $_POST['urlaubsanspruch']; - $resturlaub->resturlaubstage = $_POST['resturlaubstage']; - - if($resturlaub->save()) - { - $return = true; - } - else - { - $return = false; - $errormsg = 'Fehler beim Speichern der Resturlaubstage/Urlaubsanspruch'.$resturlaub->errormsg; - } + $return = true; } else { diff --git a/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php b/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php index 598a474c8..8202a2b33 100644 --- a/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php +++ b/content/mitarbeiter/mitarbeiterdetailoverlay.xul.php @@ -265,15 +265,12 @@ echo ''; - '; - - - - - + + + + - + diff --git a/content/mitarbeiter/mitarbeiteroverlay.js.php b/content/mitarbeiter/mitarbeiteroverlay.js.php index ee77e42af..c5340614d 100644 --- a/content/mitarbeiter/mitarbeiteroverlay.js.php +++ b/content/mitarbeiter/mitarbeiteroverlay.js.php @@ -445,8 +445,6 @@ function MitarbeiterDetailDisableFields(val) document.getElementById('mitarbeiter-detail-menulist-ausbildung').disabled=val; document.getElementById('mitarbeiter-detail-button-speichern').disabled=val; document.getElementById('mitarbeiter-detail-textbox-alias').disabled=val; - document.getElementById('mitarbeiter-detail-textbox-urlaubsanspruch').disabled=val; - document.getElementById('mitarbeiter-detail-textbox-resturlaubstage').disabled=val; document.getElementById('mitarbeiter-detail-checkbox-kleriker').disabled=val; } @@ -545,7 +543,6 @@ function MitarbeiterAuswahl() standort_id=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#standort_id" )); alias=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#alias" )); urlaubstageprojahr=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#urlaubstageprojahr" )); - resturlaubstage=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#resturlaubstage" )); kleriker=getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#kleriker" )); //Daten den Feldern zuweisen @@ -609,8 +606,7 @@ function MitarbeiterAuswahl() document.getElementById('mitarbeiter-detail-menulist-ort_kurzbz').value=ort_kurzbz; document.getElementById('mitarbeiter-detail-menulist-standort').value=standort_id; document.getElementById('mitarbeiter-detail-textbox-alias').value=alias; - document.getElementById('mitarbeiter-detail-textbox-urlaubsanspruch').value=urlaubstageprojahr; - document.getElementById('mitarbeiter-detail-textbox-resturlaubstage').value=resturlaubstage; + // ***** KONTAKTE ***** document.getElementById('mitarbeiter-kontakt').setAttribute('src','kontakt.xul.php?person_id='+person_id); @@ -832,9 +828,6 @@ function MitarbeiterSave() alias = document.getElementById('mitarbeiter-detail-textbox-alias').value; kleriker = document.getElementById('mitarbeiter-detail-checkbox-kleriker').checked; - urlaubsanspruch = document.getElementById('mitarbeiter-detail-textbox-urlaubsanspruch').value; - resturlaubstage = document.getElementById('mitarbeiter-detail-textbox-resturlaubstage').value; - if(geburtsdatum!='' && !CheckDatum(geburtsdatum)) { alert('Geburtsdatum ist ungueltig'); @@ -878,8 +871,6 @@ function MitarbeiterSave() req.add('ort_kurzbz', ort_kurzbz); req.add('standort_id', standort_id); req.add('alias', alias); - req.add('urlaubsanspruch', urlaubsanspruch); - req.add('resturlaubstage', resturlaubstage); req.add('kleriker', kleriker); req.add('personalnummer', personalnummer); diff --git a/include/mitarbeiter.class.php b/include/mitarbeiter.class.php index c9a53f902..a5922c433 100644 --- a/include/mitarbeiter.class.php +++ b/include/mitarbeiter.class.php @@ -70,7 +70,7 @@ class mitarbeiter extends benutzer if(!benutzer::load($uid)) return false; - $qry = "SELECT * FROM public.tbl_mitarbeiter LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid) + $qry = "SELECT * FROM public.tbl_mitarbeiter WHERE mitarbeiter_uid=".$this->db_add_param($uid).";"; if($this->db_query($qry)) @@ -90,9 +90,6 @@ class mitarbeiter extends benutzer $this->ext_id_mitarbeiter = $row->ext_id; $this->bismelden = $this->db_parse_bool($row->bismelden); $this->kleriker = $this->db_parse_bool($row->kleriker); - - $this->urlaubstageprojahr = $row->urlaubstageprojahr; - $this->resturlaubstage = $row->resturlaubstage; return true; } else @@ -663,7 +660,6 @@ class mitarbeiter extends benutzer $qry .= " FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)) JOIN public.tbl_person USING(person_id)) LEFT JOIN public.tbl_benutzerfunktion USING(uid) - LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid) WHERE true"; if($fix=='true') @@ -786,9 +782,6 @@ class mitarbeiter extends benutzer $obj->updateamum = $row->updateamum; $obj->updatevon = $row->updatevon; - $obj->urlaubstageprojahr = $row->urlaubstageprojahr; - $obj->resturlaubstage = $row->resturlaubstage; - if ($hasUDF) { $obj->p_udf_values = $row->p_udf_values; @@ -925,7 +918,10 @@ class mitarbeiter extends benutzer $qry = "SELECT distinct on(mitarbeiter_uid) *, tbl_benutzer.aktiv as aktiv, tbl_mitarbeiter.insertamum, tbl_mitarbeiter.insertvon, tbl_mitarbeiter.updateamum, tbl_mitarbeiter.updatevon, tbl_person.svnr - FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)) JOIN public.tbl_person USING(person_id)) LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid) + FROM + public.tbl_mitarbeiter + JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid) + JOIN public.tbl_person USING(person_id) WHERE lower(COALESCE(nachname,'') ||' '|| COALESCE(vorname,'')) ~* lower(".$this->db_add_param($filter).") OR lower(COALESCE(vorname,'') ||' '|| COALESCE(nachname,'')) ~* lower(".$this->db_add_param($filter).") OR uid ~* ".$this->db_add_param($filter)." "; @@ -977,9 +973,6 @@ class mitarbeiter extends benutzer $obj->updateamum = $row->updateamum; $obj->updatevon = $row->updatevon; - $obj->urlaubstageprojahr = $row->urlaubstageprojahr; - $obj->resturlaubstage = $row->resturlaubstage; - $this->result[] = $obj; } return false; @@ -1353,9 +1346,8 @@ class mitarbeiter extends benutzer $qry .= " FROM ((public.tbl_mitarbeiter JOIN public.tbl_benutzer ON(mitarbeiter_uid=uid)) JOIN public.tbl_person USING(person_id)) - LEFT JOIN public.tbl_benutzerfunktion USING(uid) - LEFT JOIN campus.tbl_resturlaub USING(mitarbeiter_uid) - WHERE uid in(".$this->db_implode4SQL($uid_arr).")";; + LEFT JOIN public.tbl_benutzerfunktion USING(uid) + WHERE uid in(".$this->db_implode4SQL($uid_arr).")";; if($this->db_query($qry)) { @@ -1402,9 +1394,6 @@ class mitarbeiter extends benutzer $obj->updateamum = $row->updateamum; $obj->updatevon = $row->updatevon; - $obj->urlaubstageprojahr = $row->urlaubstageprojahr; - $obj->resturlaubstage = $row->resturlaubstage; - if ($hasUDF) { $obj->p_udf_values = $row->p_udf_values; diff --git a/include/resturlaub.class.php b/include/resturlaub.class.php deleted file mode 100644 index f2e37cece..000000000 --- a/include/resturlaub.class.php +++ /dev/null @@ -1,207 +0,0 @@ -, - * Andreas Oesterreicher and - * Rudolf Hangl . - */ -/** - * Klasse bankverbindung - * @create 20-12-2006 - */ -require_once(dirname(__FILE__).'/basis_db.class.php'); - -class resturlaub extends basis_db -{ - public $new; - public $result = array(); - - //Tabellenspalten - public $mitarbeiter_uid; - public $resturlaubstage; - public $mehrarbeitsstunden; - public $urlaubstageprojahr; - public $updateamum; - public $updatevon; - public $insertamum; - public $insertvon; - - public $vorname; - public $vornamen; - public $nachname; - - /** - * Konstruktor - * @param $uid - */ - public function __construct($uid=null) - { - parent::__construct(); - - if($uid!=null) - $this->load($uid); - } - - /** - * Laedt die Resturlaubstage eines Mitarbeiters - * @param $mitarbeiter_uid ID der zu ladenden Resturlaubstage - * @return true wenn ok, false im Fehlerfall - */ - public function load($mitarbeiter_uid) - { - $qry = "SELECT * FROM campus.tbl_resturlaub WHERE mitarbeiter_uid=".$this->db_add_param($mitarbeiter_uid); - - if($this->db_query($qry)) - { - if($row = $this->db_fetch_object()) - { - $this->mitarbeiter_uid = $row->mitarbeiter_uid; - $this->resturlaubstage = $row->resturlaubstage; - $this->mehrarbeitsstunden = $row->mehrarbeitsstunden; - $this->urlaubstageprojahr = $row->urlaubstageprojahr; - $this->updateamum = $row->updateamum; - $this->updatevon = $row->updatevon; - $this->insertamum = $row->insertamum; - $this->insertvon = $row->insertvon; - return true; - } - else - { - $this->errormsg = 'Datensatz wurde nicht gefunden'; - return false; - } - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } - - /** - * Prueft die Variablen auf Gueltigkeit - * @return true wenn ok, false im Fehlerfall - */ - protected function validate() - { - if($this->resturlaubstage!='' && !is_numeric($this->resturlaubstage)) - { - $this->errormsg ='Resturlaubstage muss eine gueltige Zahl sein'; - return false; - } - if($this->mehrarbeitsstunden!='' && !is_numeric($this->mehrarbeitsstunden)) - { - $this->errormsg ='Mehrarbeitsstunden muss eine gueltige Zahl sein'; - return false; - } - if($this->urlaubstageprojahr<0) - { - $this->errormsg = 'Urlaubsanspruch darf nicht negativ sein'; - return false; - } - if($this->urlaubstageprojahr=='') - $this->urlaubstageprojahr='0'; - return true; - } - - /** - * Speichert den aktuellen Datensatz in die Datenbank - * Wenn $neu auf true gesetzt ist wird ein neuer Datensatz angelegt - * andernfalls wird der Datensatz mit der ID in $bankverbindung_id aktualisiert - * @return true wenn ok, false im Fehlerfall - */ - public function save() - { - //Variablen pruefen - if(!$this->validate()) - return false; - - if($this->new) - { - //Neuen Datensatz einfuegen - $qry = 'INSERT INTO campus.tbl_resturlaub (mitarbeiter_uid, resturlaubstage, mehrarbeitsstunden, urlaubstageprojahr, insertamum, insertvon, updateamum, updatevon) VALUES('. - $this->db_add_param($this->mitarbeiter_uid).', '. - $this->db_add_param($this->resturlaubstage).', '. - $this->db_add_param($this->mehrarbeitsstunden).', '. - $this->db_add_param($this->urlaubstageprojahr).', '. - $this->db_add_param($this->insertamum).', '. - $this->db_add_param($this->insertvon).', '. - $this->db_add_param($this->updateamum).', '. - $this->db_add_param($this->updatevon).');'; - } - else - { - //Updaten des bestehenden Datensatzes - $qry='UPDATE campus.tbl_resturlaub SET '. - 'resturlaubstage='.$this->db_add_param($this->resturlaubstage).', '. - 'mehrarbeitsstunden='.$this->db_add_param($this->mehrarbeitsstunden).', '. - 'urlaubstageprojahr='.$this->db_add_param($this->urlaubstageprojahr).', '. - 'updateamum='.$this->db_add_param($this->updateamum).', '. - 'updatevon='.$this->db_add_param($this->updatevon). - ' WHERE mitarbeiter_uid='.$this->db_add_param($this->mitarbeiter_uid).';'; - } - - if($this->db_query($qry)) - { - return true; - } - else - { - $this->errormsg = 'Fehler beim Speichern der Daten'; - return false; - } - } - - /** - * Liefert die Resturlaubstage der - * Fixangestellten - */ - public function getResturlaubFixangestellte() - { - $qry = "SELECT * FROM campus.vw_mitarbeiter LEFT JOIN campus.tbl_resturlaub ON(uid=mitarbeiter_uid) - WHERE fixangestellt=true AND aktiv=true ORDER BY nachname, vorname"; - - if($this->db_query($qry)) - { - while($row = $this->db_fetch_object()) - { - $obj = new resturlaub(); - - $obj->mitarbeiter_uid = $row->uid; - $obj->resturlaubstage = $row->resturlaubstage; - $obj->mehrarbeitsstunden = $row->mehrarbeitsstunden; - $obj->urlaubstageprojahr = $row->urlaubstageprojahr; - $obj->updateamum = $row->updateamum; - $obj->updatevon = $row->updatevon; - $obj->insertamum = $row->insertamum; - $obj->insertvon = $row->insertvon; - $obj->vorname = $row->vorname; - $obj->vornamen = $row->vornamen; - $obj->nachname = $row->nachname; - - $this->result[] = $obj; - } - return true; - } - else - { - $this->errormsg = 'Fehler beim Laden der Daten'; - return false; - } - } -} -?> diff --git a/include/tw/vilesci_menu_main.inc.php b/include/tw/vilesci_menu_main.inc.php index 81e86ed64..9247cd98d 100644 --- a/include/tw/vilesci_menu_main.inc.php +++ b/include/tw/vilesci_menu_main.inc.php @@ -118,8 +118,7 @@ $menu=array ( 'name'=>'Mitarbeiter','permissions'=>array('admin','mitarbeiter','support'), 'Übersicht'=>array('name'=>'Übersicht', 'link'=>'personen/lektor_uebersicht.php', 'target'=>'main'), - 'Zeitsperren'=>array('name'=>'Zeitsperren', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre')), - 'Resturlaub'=>array('name'=>'Urlaub', 'link'=>'personen/resturlaub_frameset.html', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre')) + 'Zeitsperren'=>array('name'=>'Zeitsperren/Urlaub', 'link'=>'personen/urlaubsverwaltung.php', 'target'=>'main','permissions'=>array('mitarbeiter/zeitsperre')), ), 'Betriebsmittel'=>array('name'=>'Betriebsmittel', 'link'=>'stammdaten/betriebsmittel_frameset.php', 'target'=>'main','permissions'=>array('basis/betriebsmittel')), 'AnwesenheitslistenBarcode'=>array('name'=>'Anwesenheitslisten mit Barcodes', 'link'=>'personen/anwesenheitslisten_barcode.php', 'target'=>'main','permissions'=>array('basis/person')), diff --git a/include/zeitsperre.class.php b/include/zeitsperre.class.php old mode 100644 new mode 100755 index 572e22b85..ce310451a --- a/include/zeitsperre.class.php +++ b/include/zeitsperre.class.php @@ -52,7 +52,7 @@ class zeitsperre extends basis_db public function __construct($zeitsperre_id=null) { parent::__construct(); - + if($zeitsperre_id != null) $this->load($zeitsperre_id); } @@ -60,7 +60,7 @@ class zeitsperre extends basis_db /** * Laedt alle Zeitsperren eines Benutzers wo ende>=now() ist * @param $uid - * @param $bisgrenze wenn true werden nur die Zeitsperren des + * @param $bisgrenze wenn true werden nur die Zeitsperren des * aktuellen Geschaeftsjahres geholt (1.9.-31.8.) * @return true wenn ok, false im Fehlerfall */ @@ -81,9 +81,9 @@ class zeitsperre extends basis_db (date_part('month',vondatum)<9 AND date_part('year', vondatum)>='".(date('Y'))."') )"; } - + $qry.= " ORDER BY vondatum DESC"; - + if($this->db_query($qry)) { @@ -242,7 +242,7 @@ class zeitsperre extends basis_db if(!is_null($new)) $this->new = $new; - + if($this->new) { //Neuen Datensatz anlegen @@ -344,7 +344,7 @@ class zeitsperre extends basis_db } return $erbk; } - + /** * Liefert die Vertretung der Zeitsperre * @return array wenn ok, false im Fehlerfall @@ -356,13 +356,13 @@ class zeitsperre extends basis_db foreach ($this->result as $zs) { $beginn=$datum_obj->mktime_fromdate($zs->vondatum); - $ende=$datum_obj->mktime_fromdate($zs->bisdatum); + $ende=$datum_obj->mktime_fromdate($zs->bisdatum); if ($datum>=$beginn && ((int)($datum/60/60/24)<=(int)($ende/60/60/24) || date('Y-m-d', $datum)==date('Y-m-d', $ende))) $vertretung[]=$zs->vertretung_uid; } return array_unique($vertretung); } - + /** * Liefert die Zeitsperren eines Users zu einem bestimmten Datum und Stunde * @@ -374,22 +374,22 @@ class zeitsperre extends basis_db public function getSperreByDate($user, $datum, $stunde) { $qry = " - SELECT - * - FROM - campus.tbl_zeitsperre - WHERE - vondatum<=".$this->db_add_param($datum)." + SELECT + * + FROM + campus.tbl_zeitsperre + WHERE + vondatum<=".$this->db_add_param($datum)." AND bisdatum>=".$this->db_add_param($datum)." AND - ((vondatum=".$this->db_add_param($datum)." AND vonstunde<=".$this->db_add_param($stunde).") OR vonstunde is null OR vondatum<>".$this->db_add_param($datum).") AND - ((bisdatum=".$this->db_add_param($datum)." AND bisstunde>=".$this->db_add_param($stunde).") OR bisstunde is null OR bisdatum<>".$this->db_add_param($datum).") AND + ((vondatum=".$this->db_add_param($datum)." AND vonstunde<=".$this->db_add_param($stunde).") OR vonstunde is null OR vondatum<>".$this->db_add_param($datum).") AND + ((bisdatum=".$this->db_add_param($datum)." AND bisstunde>=".$this->db_add_param($stunde).") OR bisstunde is null OR bisdatum<>".$this->db_add_param($datum).") AND mitarbeiter_uid=".$this->db_add_param($user); if($result = $this->db_query($qry)) { while($row = $this->db_fetch_object($result)) { - + $obj = new zeitsperre(); $obj->zeitsperre_id = $row->zeitsperre_id; @@ -420,10 +420,10 @@ class zeitsperre extends basis_db return false; } } - + /** * Prueft ob innerhalb des angegebenen Zeitraums bereits ein Urlaub eingetragen ist - * + * * @param $uid * @param $von * @param $bis @@ -431,15 +431,15 @@ class zeitsperre extends basis_db */ function UrlaubEingetragen($uid, $von, $bis, $id=null) { - + $qry = "SELECT - 1 - FROM - campus.tbl_zeitsperre - WHERE + 1 + FROM + campus.tbl_zeitsperre + WHERE zeitsperretyp_kurzbz='Urlaub' - AND mitarbeiter_uid=".$this->db_add_param($uid)." - AND + AND mitarbeiter_uid=".$this->db_add_param($uid)." + AND ( (vondatum BETWEEN ".$this->db_add_param($von)." AND ".$this->db_add_param($bis).") OR @@ -449,7 +449,7 @@ class zeitsperre extends basis_db )"; if(!is_null($id)) $qry.=" AND zeitsperre_id<>".$this->db_add_param($id); - + if($result = $this->db_query($qry)) { if($this->db_num_rows($result)>0) @@ -467,13 +467,13 @@ class zeitsperre extends basis_db return false; } } - + /** * Liefert die Zeitsperren eines Users für die Zeitaufzeichnung * * @param $uid * @param $anz_tage - * @return array 'datum'->'zeitsperre_kurzbz' + * @return array 'datum'->'zeitsperre_kurzbz' */ public function getZeitsperrenForZeitaufzeichnung($uid, $anz_tage=50) { @@ -481,21 +481,21 @@ class zeitsperre extends basis_db $this->result=array(); $qry = "select datum::date, freigabevon, zeitsperretyp_kurzbz - from (SELECT generate_series(vondatum::timestamp, bisdatum::timestamp, '1 day') as datum, freigabevon, mitarbeiter_uid, zeitsperretyp_kurzbz FROM campus.tbl_zeitsperre where vonstunde is null and bisstunde is null) a - where a.mitarbeiter_uid = ".$this->db_add_param($uid)." and datum>(now() - interval '".$anz_tage." Days') and zeitsperretyp_kurzbz in ('Krank','Urlaub', 'ZA', 'DienstV','PflegeU')"; - + from (SELECT generate_series(vondatum::timestamp, bisdatum::timestamp, '1 day') as datum, freigabevon, mitarbeiter_uid, zeitsperretyp_kurzbz FROM campus.tbl_zeitsperre where vonstunde is null and bisstunde is null) a + where a.mitarbeiter_uid = ".$this->db_add_param($uid)." and datum>(now() - interval '".$anz_tage." Days') and zeitsperretyp_kurzbz in ('Krank','Urlaub', 'ZA', 'DienstV','PflegeU', 'DienstF')"; + + - if($this->db_query($qry)) { while($row = $this->db_fetch_object()) { - if ($row->zeitsperretyp_kurzbz == 'Urlaub' && $row->freigabevon == NULL) + if ($row->zeitsperretyp_kurzbz == 'Urlaub' && $row->freigabevon == NULL) $result[$row->datum] = "Urlaubsantrag (Freigabe fehlt)"; - else + else $result[$row->datum] = $row->zeitsperretyp_kurzbz; $this->result = $result; @@ -508,8 +508,8 @@ class zeitsperre extends basis_db $this->errormsg = 'Fehler beim Laden der Zeitsperren'; return false; } - } - - + } + + } -?> \ No newline at end of file +?> diff --git a/rdf/lehrverbandsgruppe.rdf.php b/rdf/lehrverbandsgruppe.rdf.php index 840d9d5db..17ccc5ddd 100644 --- a/rdf/lehrverbandsgruppe.rdf.php +++ b/rdf/lehrverbandsgruppe.rdf.php @@ -60,12 +60,12 @@ else if(isset($_GET['studiengang_kz'])) $berechtigt_studiengang=array_merge($berechtigt_studiengang,array($_GET['studiengang_kz'])); - + // Pruefen ob Variable fuer number_displayed_studiensemester gesetzt ist, wenn nicht, einen neuen Eintrag anlegen $variable = new variable(); if ($variable->load($uid, 'number_displayed_past_studiensemester')) { - $number_displayed_past_studiensemester = $variable->wert; + $number_displayed_past_studiensemester = $variable->wert; } else { @@ -74,7 +74,7 @@ else $variable->name = 'number_displayed_past_studiensemester'; $variable->wert = ''; $variable->save(); - + $number_displayed_past_studiensemester = ''; } } @@ -214,15 +214,6 @@ function draw_orgformsubmenu($stg_kz, $orgform) - - Status bestätigt - - - studiensemester_kurzbz.']]> - statusbestaetigt - - - ZGV erfüllt @@ -232,6 +223,15 @@ function draw_orgformsubmenu($stg_kz, $orgform) + + Status bestätigt + + + studiensemester_kurzbz.']]> + statusbestaetigt + + + Reihungstest angemeldet @@ -301,8 +301,8 @@ function draw_orgformsubmenu($stg_kz, $orgform) $orgform_sequence[$stg_kz].= "\n\t\t\t\tstudiensemester_kurzbz/interessenten\">\n"; $orgform_sequence[$stg_kz].= "\t\t\t\tstudiensemester_kurzbz/interessenten/bewerbungnichtabgeschickt\" />\n"; $orgform_sequence[$stg_kz].= "\t\t\t\tstudiensemester_kurzbz/interessenten/bewerbungabgeschickt\" />\n"; - $orgform_sequence[$stg_kz].= "\t\t\t\tstudiensemester_kurzbz/interessenten/statusbestaetigt\" />\n"; $orgform_sequence[$stg_kz].= "\t\t\t\tstudiensemester_kurzbz/interessenten/zgv\" />\n"; + $orgform_sequence[$stg_kz].= "\t\t\t\tstudiensemester_kurzbz/interessenten/statusbestaetigt\" />\n"; $orgform_sequence[$stg_kz].= "\t\t\t\tstudiensemester_kurzbz/interessenten/reihungstestangemeldet\" />\n"; $orgform_sequence[$stg_kz].= "\t\t\t\tstudiensemester_kurzbz/interessenten/reihungstestnichtangemeldet\" />\n"; $orgform_sequence[$stg_kz].= "\t\t\t\t"; @@ -531,14 +531,6 @@ while ($row=$dbo->db_fetch_object()) - - - ]]> - studiengang_kz; ?>]]> - studiensemester_kurzbz; ?>]]> - - - ]]> @@ -547,6 +539,14 @@ while ($row=$dbo->db_fetch_object()) + + + ]]> + studiengang_kz; ?>]]> + studiensemester_kurzbz; ?>]]> + + + ]]> @@ -768,8 +768,8 @@ draw_orgformpart($stg_kz); echo "\n\t\t\t\tstudiensemester_kurzbz/interessenten\">\n"; echo "\t\t\t\tstudiensemester_kurzbz/interessenten/bewerbungnichtabgeschickt\" />\n"; echo "\t\t\t\tstudiensemester_kurzbz/interessenten/bewerbungabgeschickt\" />\n"; - echo "\t\t\t\tstudiensemester_kurzbz/interessenten/statusbestaetigt\" />\n"; echo "\t\t\t\tstudiensemester_kurzbz/interessenten/zgv\" />\n"; + echo "\t\t\t\tstudiensemester_kurzbz/interessenten/statusbestaetigt\" />\n"; echo "\t\t\t\tstudiensemester_kurzbz/interessenten/reihungstestangemeldet\" />\n"; echo "\t\t\t\tstudiensemester_kurzbz/interessenten/reihungstestnichtangemeldet\" />\n"; echo "\t\t\t\t"; diff --git a/rdf/personal.rdf.php b/rdf/personal.rdf.php index bebed7795..2cf5e2a86 100644 --- a/rdf/personal.rdf.php +++ b/rdf/personal.rdf.php @@ -190,8 +190,6 @@ function draw_row($mitarbeiter) mktime_fromtimestamp($mitarbeiter->updateamum)).']]> updateamum.']]> updatevon.']]> - resturlaubstage.']]> - urlaubstageprojahr.']]> kleriker?'Ja':'Nein').']]> diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 2c83bf4ca..a3d2fc089 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -1080,6 +1080,8 @@ if (!$result = @$db->db_query("SELECT 1 FROM system.tbl_verarbeitungstaetigkeit" VALUES('bewertung','Bewertung/Benotung','{\'Bewertung/Benotung\',\'Bewertung/Benotung\'}', true); INSERT INTO system.tbl_verarbeitungstaetigkeit(taetigkeit_kurzbz, bezeichnung, bezeichnung_mehrsprachig, aktiv) VALUES('lehrauftraege','Lehraufträge','{\'Lehraufträge\',\'Lehraufträge\'}', true); + INSERT INTO system.tbl_verarbeitungstaetigkeit(taetigkeit_kurzbz, bezeichnung, bezeichnung_mehrsprachig, aktiv) + VALUES('datenwartung','Datenwartung','{\'Datenwartung\',\'Datenwartung\'}', true); GRANT SELECT, UPDATE, INSERT, DELETE ON system.tbl_verarbeitungstaetigkeit TO vilesci; GRANT SELECT ON system.tbl_verarbeitungstaetigkeit TO web; @@ -1103,6 +1105,20 @@ if (!$result = @$db->db_query("SELECT taetigkeit_kurzbz FROM system.tbl_log")) echo '
Added Column taetigkeit_kurzbz to system.tbl_log'; } +// Add missing primary Key to system.tbl_filters.filter_id +if ($result = @$db->db_query("SELECT conname FROM pg_constraint WHERE conname = 'pk_filters_filter_id'")) +{ + if ($db->db_num_rows($result) == 0) + { + $qry = "ALTER TABLE system.tbl_filters ADD CONSTRAINT pk_filters_filter_id PRIMARY KEY (filter_id);"; + + if (!$db->db_query($qry)) + echo 'system.tbl_filters '.$db->db_last_error().'
'; + else + echo '
system.tbl_filters: added primary key on column filter_id'; + } +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -1181,7 +1197,6 @@ $tabellen=array( "campus.tbl_pruefungsanmeldung" => array("pruefungsanmeldung_id","uid","pruefungstermin_id","lehrveranstaltung_id","status_kurzbz","wuensche","reihung","kommentar","statusupdatevon","statusupdateamum","anrechnung_id","pruefungstyp_kurzbz","insertamum"), "campus.tbl_pruefungsstatus" => array("status_kurzbz","bezeichnung"), "campus.tbl_reservierung" => array("reservierung_id","ort_kurzbz","studiengang_kz","uid","stunde","datum","titel","beschreibung","semester","verband","gruppe","gruppe_kurzbz","veranstaltung_id","insertamum","insertvon"), - "campus.tbl_resturlaub" => array("mitarbeiter_uid","resturlaubstage","mehrarbeitsstunden","updateamum","updatevon","insertamum","insertvon","urlaubstageprojahr"), "campus.tbl_studentbeispiel" => array("student_uid","beispiel_id","vorbereitet","probleme","updateamum","updatevon","insertamum","insertvon"), "campus.tbl_studentuebung" => array("student_uid","mitarbeiter_uid","abgabe_id","uebung_id","note","mitarbeitspunkte","punkte","anmerkung","benotungsdatum","updateamum","updatevon","insertamum","insertvon"), "campus.tbl_template" => array("template_kurzbz","bezeichnung","xsd","xslt_xhtml","xslfo_pdf"), diff --git a/tests/codeception/_data/dump.sql b/tests/codeception/_data/dump.sql index 4f0f11d13..fcd0d7aef 100644 --- a/tests/codeception/_data/dump.sql +++ b/tests/codeception/_data/dump.sql @@ -61,7 +61,6 @@ DELETE FROM system.tbl_rolleberechtigung WHERE berechtigung_kurzbz IN ( 'basis/pruefungsstatus', 'basis/pruefungstermin', 'basis/reservierung', - 'basis/resturlaub', 'basis/studentbeispiel', 'basis/studentuebung', 'basis/template', @@ -293,7 +292,6 @@ DELETE FROM system.tbl_berechtigung WHERE berechtigung_kurzbz IN ( 'basis/pruefungsstatus', 'basis/pruefungstermin', 'basis/reservierung', - 'basis/resturlaub', 'basis/studentbeispiel', 'basis/studentuebung', 'basis/template', @@ -524,7 +522,6 @@ INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES(' INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/pruefungsstatus', 'Tbl_pruefungsstatus'); INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/pruefungstermin', 'Tbl_pruefungstermin'); INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/reservierung', 'Tbl_reservierung'); -INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/resturlaub', 'Tbl_resturlaub'); INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/studentbeispiel', 'Tbl_studentbeispiel'); INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/studentuebung', 'Tbl_studentuebung'); INSERT INTO system.tbl_berechtigung (berechtigung_kurzbz, beschreibung) VALUES('basis/template', 'Tbl_template'); @@ -754,7 +751,6 @@ INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/pruefungsstatus', 'admin', 'suid'); INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/pruefungstermin', 'admin', 'suid'); INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/reservierung', 'admin', 'suid'); -INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/resturlaub', 'admin', 'suid'); INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/studentbeispiel', 'admin', 'suid'); INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/studentuebung', 'admin', 'suid'); INSERT INTO system.tbl_rolleberechtigung (berechtigung_kurzbz, rolle_kurzbz, art) VALUES('basis/template', 'admin', 'suid'); @@ -1147,4 +1143,4 @@ INSERT INTO public.tbl_person VALUES (3, NULL, NULL, NULL, NULL, NULL, NULL, 'Mc -- INSERT INTO public.tbl_statistik VALUES ('Verplanungsübersicht', 'Verplanungsübersicht', 4, '../lehre/check/verplanungsuebersicht.php', 'LV-Plan', NULL, NULL, NULL, '2011-04-01 10:51:53', 'oesi', '2011-04-01 11:15:20', 'oesi', NULL, false, NULL); -- INSERT INTO public.tbl_statistik VALUES ('Zeitwünsche', 'Zeitwünsche', 5, '../lehre/zeitwuensche.php', 'LV-Plan', NULL, NULL, NULL, '2011-04-01 10:52:37', 'oesi', '2011-04-01 11:15:27', 'oesi', NULL, false, NULL); -- INSERT INTO public.tbl_statistik VALUES ('AnzahlStudierende', 'Aktuell Studierende im Haus', 16, '../../cis/private/lvplan/stpl_week_anzahl_studenten.php', 'Studierende', NULL, NULL, NULL, '2011-04-01 11:11:52', 'oesi', '2012-02-20 19:09:16', 'kindlm', NULL, false, NULL); --- INSERT INTO public.tbl_statistik VALUES ('ALVS-Statistik', 'ALVS-Statistik', 7, '../../content/statistik/alvsstatistik.php', 'Lehre', NULL, NULL, NULL, '2011-04-01 10:54:03', 'oesi', '2011-04-01 11:23:12', 'oesi', NULL, false, NULL); \ No newline at end of file +-- INSERT INTO public.tbl_statistik VALUES ('ALVS-Statistik', 'ALVS-Statistik', 7, '../../content/statistik/alvsstatistik.php', 'Lehre', NULL, NULL, NULL, '2011-04-01 10:54:03', 'oesi', '2011-04-01 11:23:12', 'oesi', NULL, false, NULL); diff --git a/tests/codeception/tests/api/v1/RessourceResturlaubCept.php b/tests/codeception/tests/api/v1/RessourceResturlaubCept.php deleted file mode 100644 index 0ef24f310..000000000 --- a/tests/codeception/tests/api/v1/RessourceResturlaubCept.php +++ /dev/null @@ -1,11 +0,0 @@ -wantTo("Test API call v1/ressource/Resturlaub/: Resturlaub"); -$I->amHttpAuthenticated("admin", "1q2w3"); -$I->haveHttpHeader("FHC-API-KEY", "testapikey@fhcomplete.org"); -$I->sendGET("v1/ressource/Resturlaub/Resturlaub", array("resturlaub_id" => "1")); -$I->seeResponseCodeIs(200); -$I->seeResponseIsJson(); -$I->seeResponseContainsJson(["error" => 0]); -$I->wait(); diff --git a/vilesci/personen/resturlaub.php b/vilesci/personen/resturlaub.php deleted file mode 100644 index 2b684a112..000000000 --- a/vilesci/personen/resturlaub.php +++ /dev/null @@ -1,242 +0,0 @@ - - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - */ - -require_once('../../config/vilesci.config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/person.class.php'); -require_once('../../include/benutzer.class.php'); -require_once('../../include/mitarbeiter.class.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/resturlaub.class.php'); -require_once('../../include/zeitsperre.class.php'); -require_once('../../include/benutzerberechtigung.class.php'); - -if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - -echo ' - - -Resturlaub - - - - - - - - -

Resturlaubstage

-

-'; - -$user = get_uid(); - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); -if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre')) - die('Sie haben keine Berechtigung fuer diese Seite'); - -$uid=(isset($_GET['uid'])?$_GET['uid']:''); -if(isset($_GET['type']) && $_GET['type']=='edit' && isset($_GET['uid'])) -{ - if(isset($_GET['del']) && isset($_GET['zeitsperre_id'])) - { - if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Aktion'); - - $zs_obj = new zeitsperre(); - - if(!$zs_obj->delete($_GET['zeitsperre_id'])) - { - die("Zeitsperren konnte nicht gelo¨scht werden!"); - } - } - - $ma = new mitarbeiter(); - $ma->load($_GET['uid']); - - $resturlaub = new resturlaub(); - $resturlaub->load($_GET['uid']); - echo 'Resturlaubstage von '.$ma->nachname.' '.$ma->vorname.':

'; - echo ' -
"; echo $content_form; echo '
'; echo $content_table; echo '
".$p->t("zeitaufzeichnung/neu")." | - + CSV Import | - + CSV Export"; if($anzprojekte > 0) echo " | ".$p->t("zeitaufzeichnung/projektexport").""; @@ -1262,7 +1266,7 @@ if($projekt->getProjekteMitarbeiter($user, true)) if(!$za_simple) { echo ' '.StringCut($db->convert_html_chars($service->bezeichnung),20,null,'...').' '.date('H:i', $datum->mktime_fromtimestamp($row->start)).' '.date('H:i', $datum->mktime_fromtimestamp($row->ende)).' '.$db->convert_html_chars($row->diff).'
- - - - - - - - - - - - - - - - - - - - - -
Resturlaubstage
Anspruch
Gesamturlaub
Mehrarbeitsstunden
-
'; - - echo "

Übersicht Zeitsperren

"; - echo ""; - echo" - - "; - echo " - - - - - - - - - - - - \n"; - echo ""; - echo ""; - $zeitsperre = new zeitsperre(); - $zeitsperre->getzeitsperren($uid); - - if (count($zeitsperre->result>0)) - { - foreach($zeitsperre->result as $row_urlaub) - { - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - } - } - else - echo ""; - - exit; -} - -if(isset($_GET['type']) && $_GET['type']=='save') -{ - if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Aktion'); - - $resturlaub = new resturlaub(); - - if($resturlaub->load($_GET['uid'])) - { - $resturlaub->new = false; - } - else - { - $resturlaub->new = true; - $resturlaub->insertamum = date('Y-m-d H:i:s'); - $resturlaub->insertvon = $user; - $resturlaub->mitarbeiter_uid=$_GET['uid']; - } - - $resturlaub->mehrarbeitsstunden = $_POST['mehrarbeitsstunden']; - if($resturlaub->mehrarbeitsstunden=='') - $resturlaub->mehrarbeitsstunden=0; - $resturlaub->resturlaubstage = $_POST['resturlaubstage']; - if($resturlaub->resturlaubstage=='') - $resturlaub->resturlaubstage=0; - $resturlaub->urlaubstageprojahr = $_POST['anspruch']; - if($resturlaub->urlaubstageprojahr=='') - $resturlaub->urlaubstageprojahr=0; - $resturlaub->updateamum = date('Y-m-d H:i:s'); - $resturlaub->updatevon = $user; - - if($resturlaub->save()) - { - echo 'Daten wurden gespeichert

'; - } - else - { - die('Fehler beim Speichern der Daten: '.$resturlaub->errormsg.'
Zurück
'); - } -} - -$qry = "SELECT * FROM campus.vw_mitarbeiter LEFT JOIN campus.tbl_resturlaub ON(uid=mitarbeiter_uid) - WHERE aktiv AND fixangestellt ORDER BY nachname, vorname"; - -echo "
  IDKurzbzBezeichnungVon-DatumVon-StundeBis-DatumBis-StundeVertretungErreichbarkeitFreigabeFreigabedatum
editzeitsperre_id' onclick='return conf_del()' target='uebersicht'>delete".$row_urlaub->zeitsperre_id."".$row_urlaub->zeitsperretyp_kurzbz."".$row_urlaub->bezeichnung."".$row_urlaub->vondatum."".$row_urlaub->vonstunde."".$row_urlaub->bisdatum."".$row_urlaub->bisstunde."".$row_urlaub->vertretung_uid."".$row_urlaub->erreichbarkeit_kurzbz."".$row_urlaub->freigabevon."".$row_urlaub->freigabeamum."
Kein Eintrag gefunden!
"; -echo " - - - - - - - - - - "; -if($result = $db->db_query($qry)) -{ - while($row = $db->db_fetch_object($result)) - { - echo ''; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ""; - echo ''; - } -} -echo '
NachnameVornameResturlaubstageAnspruchGesamturlaubMehrarbeitsstundenAktion
$row->nachname$row->vorname$row->resturlaubstage$row->urlaubstageprojahr".($row->resturlaubstage+$row->urlaubstageprojahr)."$row->mehrarbeitsstundenuid'>Bearbeiten
'; -?> - - - \ No newline at end of file diff --git a/vilesci/personen/resturlaub_details.php b/vilesci/personen/resturlaub_details.php deleted file mode 100644 index d0159b75d..000000000 --- a/vilesci/personen/resturlaub_details.php +++ /dev/null @@ -1,252 +0,0 @@ - - * Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > - * Rudolf Hangl < rudolf.hangl@technikum-wien.at > - * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > - */ -require_once('../../config/vilesci.config.inc.php'); -require_once('../../include/functions.inc.php'); -require_once('../../include/person.class.php'); -require_once('../../include/benutzer.class.php'); -require_once('../../include/mitarbeiter.class.php'); -require_once('../../include/studiengang.class.php'); -require_once('../../include/resturlaub.class.php'); -require_once('../../include/zeitsperre.class.php'); -require_once('../../include/benutzerberechtigung.class.php'); - -if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - -$user = get_uid(); - -$rechte = new benutzerberechtigung(); -$rechte->getBerechtigungen($user); - -if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre')) - die('Sie haben keine Berechtigung fuer diese Seite'); - -$reloadstr = ""; // neuladen der liste im oberen frame -$errorstr=''; -$htmlstr=''; - -$zeitsperre_arr=array(); -$vertretung_arr=array(); -$erreichbarkeit_arr=array(); -$freigabe_arr=array(); - -if(isset($_POST["schick"]) && $_POST['uid']!='') -{ - if(!$rechte->isBerechtigt('mitarbeiter/zeitsperre', null, 'suid')) - die('Sie haben keine Berechtigung fuer diese Aktion'); - - $zs = new zeitsperre(); - - if(isset($_POST['zeitsperre_id']) && $_POST['zeitsperre_id']!='') - { - if($zs->load($_POST['zeitsperre_id'])) - { - $zs->new=false; - } - } - else - { - $zs->new=true; - $zs->insertamum=date('Y-m-d H:i:s'); - $zs->insertvon = $user; - } - $zs->zeitsperretyp_kurzbz = $_POST['zeitsperretyp_kurzbz']; - $zs->bezeichnung = $_POST['bezeichnung']; - $zs->mitarbeiter_uid = $_POST['uid']; - $zs->vondatum = $_POST['vondatum']; - $zs->vonstunde = $_POST['vonstunde']; - $zs->bisdatum = $_POST['bisdatum']; - $zs->bisstunde = $_POST['bisstunde']; - $zs->vertretung_uid = $_POST['vertretung_uid']; - $zs->erreichbarkeit_kurzbz = $_POST['erreichbarkeit_kurzbz']; - $zs->freigabeamum = $_POST['freigabeamum']; - $zs->freigabevon = $_POST['freigabevon']; - $zs->updateamum = date('Y-m-d H:i:s'); - $zs->updatevon = $user; - if(!$zs->save()) - - $errorstr = "Fehler beim Speichern der Daten: $zs->errormsg"; - else - { - $reloadstr .= "\n"; - } - -} - - - -$qry = "SELECT * FROM campus.tbl_zeitsperretyp ORDER BY zeitsperretyp_kurzbz"; -if($result = $db->db_query($qry)) -{ - while($row = $db->db_fetch_object($result)) - { - $zeitsperre_arr[] = $row->zeitsperretyp_kurzbz; - } -} - -$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE uid not LIKE '\\\_%' ORDER BY nachname, vorname"; -if($result = $db->db_query($qry)) -{ - while($row = $db->db_fetch_object($result)) - { - $vertretung_arr[] = $row->uid; - } -} - -$qry = "SELECT * FROM campus.tbl_erreichbarkeit ORDER BY erreichbarkeit_kurzbz"; -if($result = $db->db_query($qry)) -{ - while($row = $db->db_fetch_object($result)) - { - $erreichbarkeit_arr[] = $row->erreichbarkeit_kurzbz; - } -} - -$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE uid not LIKE '\\\_%' ORDER BY nachname, vorname"; -if($result = $db->db_query($qry)) -{ - while($row = $db->db_fetch_object($result)) - { - $freigabe_arr[] = $row->uid; - } -} - -if (isset($_REQUEST['zeitsperre_id']) || isset($_REQUEST['neu'])) -{ - $zs = new zeitsperre(); - if (isset($_REQUEST['zeitsperre_id'])) - { - $zsid = $_REQUEST['zeitsperre_id']; - if (!$zs->load($zsid)) - $htmlstr .= "
Zeitsperre ".$zsid." existiert nicht
"; - } - else - { - $zs->mitarbeiter_uid=$_REQUEST['uid']; - } - $htmlstr .= "
Zeitsperre ".(!isset($zs->zeitsperre_id)?'':$zs->zeitsperre_id)."
\n"; - $htmlstr .= "
\n"; - $htmlstr .= "\n"; - $htmlstr .= "\n"; - $htmlstr .= "\n"; - $htmlstr .= "\n"; - - $htmlstr .= " \n"; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " \n"; - $htmlstr .= " "; - $htmlstr .= ""; - $htmlstr .= ""; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= ""; - $htmlstr .= ""; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= ""; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= ""; - $htmlstr .= ""; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= " "; - $htmlstr .= ""; - $htmlstr .= " "; - $htmlstr .= " "; - - $htmlstr .= " \n"; - $htmlstr .= "
TypBezeichnung
VertretungErreichbarkeit
Von-DatumVon-Stunde
Bis-DatumBis-Stunde
FreigabedatumFreigabe
\n"; - $htmlstr .= "
\n"; - $htmlstr .= "
\n"; - -} -$htmlstr .= "
".$errorstr."
\n"; -?> - - - - Zeitsperren - Details - - - - - - - - - \ No newline at end of file diff --git a/vilesci/personen/resturlaub_frameset.html b/vilesci/personen/resturlaub_frameset.html deleted file mode 100644 index f7289c02f..000000000 --- a/vilesci/personen/resturlaub_frameset.html +++ /dev/null @@ -1,21 +0,0 @@ - - - - - VileSci - - - - - - - - - <body bgcolor="#FFFFFF"> - This application works only with a frames-enabled browser.<br /> - <a href="main.php">Use without frames</a> - </body> - - - - \ No newline at end of file diff --git a/vilesci/stammdaten/personen_wartung.php b/vilesci/stammdaten/personen_wartung.php index 8fe6b8fa0..0b9cf1184 100644 --- a/vilesci/stammdaten/personen_wartung.php +++ b/vilesci/stammdaten/personen_wartung.php @@ -127,6 +127,8 @@ if(isset($radio_1) && isset($radio_2) && $radio_1>=0 && $radio_2>=0) $msg = "Daten erfolgreich gespeichert
"; $msg .= "
".mb_eregi_replace(';',';
',$sql_query_upd1); $db->db_query("COMMIT;"); + //Logeintrag schreiben + PersonLog($radio_2, 'Action', array('name' => 'Persons merged', 'message' => 'person with id '.$radio_1.' merged into person with id '.$radio_2, 'success' => 'true'), 'datenwartung', 'core', null, $uid); } else {