diff --git a/cis/private/info/service_uebersicht.php b/cis/private/info/service_uebersicht.php index 23e73fc65..f9ff18748 100644 --- a/cis/private/info/service_uebersicht.php +++ b/cis/private/info/service_uebersicht.php @@ -23,6 +23,7 @@ require_once('../../../include/service.class.php'); require_once('../../../include/benutzerberechtigung.class.php'); require_once('../../../include/datum.class.php'); require_once('../../../include/phrasen.class.php'); +require_once('../../../include/person.class.php'); $user = get_uid(); $sprache = getSprache(); @@ -110,6 +111,9 @@ echo ' + + + @@ -119,10 +123,22 @@ foreach($service->result as $row) { if ($row->content_id!='') { + $person = new person(); + $person->getPersonFromBenutzer($row->design_uid); + $design = $person->nachname.' '.$person->vorname; + $person = new person(); + $person->getPersonFromBenutzer($row->betrieb_uid); + $betrieb = $person->nachname.' '.$person->vorname; + $person = new person(); + $person->getPersonFromBenutzer($row->operativ_uid); + $operativ = $person->nachname.' '.$person->vorname; echo ''; echo ''; echo ''; echo ''; + echo ''; + echo ''; + echo ''; echo ''; echo ''; } diff --git a/include/service.class.php b/include/service.class.php index b91460c6c..3a080026d 100755 --- a/include/service.class.php +++ b/include/service.class.php @@ -35,6 +35,9 @@ class service extends basis_db public $ext_id; // bigint public $oe_kurzbz; // varchar(32) public $content_id; // integer + public $design_uid; // varchar(32) + public $betrieb_uid; // varchar(32) + public $operativ_uid; // varchar(32) /** * Konstruktor - Laedt optional ein Service @@ -75,6 +78,9 @@ class service extends basis_db $this->ext_id = $row->ext_id; $this->oe_kurzbz = $row->oe_kurzbz; $this->content_id = $row->content_id; + $this->design_uid = $row->design_uid; + $this->betrieb_uid = $row->betrieb_uid; + $this->operativ_uid = $row->operativ_uid; return true; } @@ -110,6 +116,9 @@ class service extends basis_db $obj->ext_id = $row->ext_id; $obj->oe_kurzbz = $row->oe_kurzbz; $obj->content_id = $row->content_id; + $obj->design_uid = $row->design_uid; + $obj->betrieb_uid = $row->betrieb_uid; + $obj->operativ_uid = $row->operativ_uid; $this->result[] = $obj; } @@ -147,6 +156,9 @@ class service extends basis_db $obj->ext_id = $row->ext_id; $obj->oe_kurzbz = $row->oe_kurzbz; $obj->content_id = $row->content_id; + $obj->design_uid = $row->design_uid; + $obj->betrieb_uid = $row->betrieb_uid; + $obj->operativ_uid = $row->operativ_uid; $this->result[] = $obj; } @@ -208,6 +220,9 @@ class service extends basis_db $obj->oe_kurzbz = $row->oe_kurzbz; $obj->anzahl = $row->count; $obj->content_id = $row->content_id; + $obj->design_uid = $row->design_uid; + $obj->betrieb_uid = $row->betrieb_uid; + $obj->operativ_uid = $row->operativ_uid; $this->result[] = $obj; } @@ -257,6 +272,9 @@ class service extends basis_db $obj->ext_id = $row->ext_id; $obj->oe_kurzbz = $row->oe_kurzbz; $obj->content_id = $row->content_id; + $obj->design_uid = $row->design_uid; + $obj->betrieb_uid = $row->betrieb_uid; + $obj->operativ_uid = $row->operativ_uid; $this->result[] = $obj; } @@ -307,6 +325,9 @@ class service extends basis_db $obj->ext_id = $row->ext_id; $obj->oe_kurzbz = $row->oe_kurzbz; $obj->content_id = $row->content_id; + $obj->design_uid = $row->design_uid; + $obj->betrieb_uid = $row->betrieb_uid; + $obj->operativ_uid = $row->operativ_uid; $this->result[] = $obj; } @@ -342,12 +363,15 @@ class service extends basis_db if($new) { - $qry = "BEGIN;INSERT INTO public.tbl_service (bezeichnung, beschreibung, oe_kurzbz, content_id) + $qry = "BEGIN;INSERT INTO public.tbl_service (bezeichnung, beschreibung, oe_kurzbz, content_id, design_uid, betrieb_uid, operativ_uid) VALUES(". $this->db_add_param($this->bezeichnung).','. $this->db_add_param($this->beschreibung).','. $this->db_add_param($this->oe_kurzbz).','. - $this->db_add_param($this->content_id).');'; + $this->db_add_param($this->content_id).','. + $this->db_add_param($this->design_uid).','. + $this->db_add_param($this->betrieb_uid).','. + $this->db_add_param($this->operativ_uid).');'; } else { @@ -355,7 +379,10 @@ class service extends basis_db ' bezeichnung = '.$this->db_add_param($this->bezeichnung).','. ' beschreibung = '.$this->db_add_param($this->beschreibung).','. ' oe_kurzbz = '.$this->db_add_param($this->oe_kurzbz).','. - ' content_id = '.$this->db_add_param($this->content_id). + ' content_id = '.$this->db_add_param($this->content_id).','. + ' design_uid = '.$this->db_add_param($this->design_uid).','. + ' betrieb_uid = '.$this->db_add_param($this->betrieb_uid).','. + ' operativ_uid = '.$this->db_add_param($this->operativ_uid). ' WHERE service_id='.$this->db_add_param($this->service_id, FHC_INTEGER).';'; } diff --git a/locale/de-AT/services.php b/locale/de-AT/services.php index 424dfb6dd..bf77adbfd 100644 --- a/locale/de-AT/services.php +++ b/locale/de-AT/services.php @@ -4,4 +4,7 @@ $this->phrasen['services/uebersichtUeberServicesOrganisationseinheiten']='Übers $this->phrasen['services/details']='Details'; $this->phrasen['services/filtern']='Filtern'; $this->phrasen['services/leistung']='Leistung'; +$this->phrasen['services/design']='Design'; +$this->phrasen['services/betrieb']='Betrieb'; +$this->phrasen['services/operativ']='Operativ'; ?> \ No newline at end of file diff --git a/locale/en-US/services.php b/locale/en-US/services.php index 4cf5e261b..d3c0642fa 100644 --- a/locale/en-US/services.php +++ b/locale/en-US/services.php @@ -4,4 +4,7 @@ $this->phrasen['services/uebersichtUeberServicesOrganisationseinheiten']='Overvi $this->phrasen['services/details']='Details'; $this->phrasen['services/filtern']='Filter'; $this->phrasen['services/leistung']='Service'; +$this->phrasen['services/design']='Design'; +$this->phrasen['services/betrieb']='Running'; +$this->phrasen['services/operativ']='Operating'; ?> \ No newline at end of file diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index b87901e73..4faef4719 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -372,6 +372,22 @@ if(!$result = @$db->db_query("SELECT onlinebewerbung_studienplan FROM lehre.tbl_ echo '
lehre.tbl_studienplan: Spalte onlinebewerbung_studienplan hinzugefuegt!
'; } +// Column design_uid, betrieb_uid and operativ_uid to tbl_service +if(!$result = @$db->db_query("SELECT design_uid FROM public.tbl_service LIMIT 1;")) +{ + $qry = "ALTER TABLE public.tbl_service ADD COLUMN design_uid varchar(32); + ALTER TABLE public.tbl_service ADD COLUMN betrieb_uid varchar(32); + ALTER TABLE public.tbl_service ADD COLUMN operativ_uid varchar(32); + ALTER TABLE public.tbl_service ADD CONSTRAINT fk_tbl_service_design_uid FOREIGN KEY (design_uid) REFERENCES public.tbl_benutzer (uid) ON DELETE RESTRICT ON UPDATE CASCADE; + ALTER TABLE public.tbl_service ADD CONSTRAINT fk_tbl_service_betrieb_uid FOREIGN KEY (betrieb_uid) REFERENCES public.tbl_benutzer (uid) ON DELETE RESTRICT ON UPDATE CASCADE; + ALTER TABLE public.tbl_service ADD CONSTRAINT fk_tbl_service_operativ_uid FOREIGN KEY (operativ_uid) REFERENCES public.tbl_benutzer (uid) ON DELETE RESTRICT ON UPDATE CASCADE;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_service: '.$db->db_last_error().'
'; + else + echo '
public.tbl_service: Spalten design_uid,betrieb_uid,operativ_uid hinzugefuegt!
'; +} + // *** Pruefung und hinzufuegen der neuen Attribute und Tabellen echo '

Pruefe Tabellen und Attribute!

'; @@ -588,7 +604,7 @@ $tabellen=array( "public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id","bezeichnung_mehrsprachig"), "public.tbl_status_grund" => array("statusgrund_id","status_kurzbz","aktiv","bezeichnung_mehrsprachig","beschreibung"), "public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"), - "public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id"), + "public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id","design_uid","betrieb_uid","operativ_uid"), "public.tbl_sprache" => array("sprache","locale","flagge","index","content","bezeichnung"), "public.tbl_standort" => array("standort_id","adresse_id","kurzbz","bezeichnung","insertvon","insertamum","updatevon","updateamum","ext_id", "firma_id","code"), "public.tbl_statistik" => array("statistik_kurzbz","bezeichnung","url","gruppe","sql","content_id","insertamum","insertvon","updateamum","updatevon","berechtigung_kurzbz","publish","preferences"), diff --git a/vilesci/stammdaten/service_details.php b/vilesci/stammdaten/service_details.php index f6e27b697..0d833858b 100755 --- a/vilesci/stammdaten/service_details.php +++ b/vilesci/stammdaten/service_details.php @@ -25,6 +25,7 @@ require_once('../../include/service.class.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/datum.class.php'); require_once('../../include/organisationseinheit.class.php'); +require_once('../../include/benutzer.class.php'); if (!$db = new basis_db()) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); @@ -35,7 +36,7 @@ $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($user); if(!$rechte->isBerechtigt('basis/service')) - die('Sie haben keine Berechtigung fuer diese Seite'); + die($rechte->errormsg); $datum_obj = new datum(); ?> @@ -45,6 +46,36 @@ $datum_obj = new datum(); Service - Details + + + + + + + @@ -55,10 +86,14 @@ $datum_obj = new datum(); if($action=='save') { + $error = false; $bezeichnung = (isset($_POST['bezeichnung'])?$_POST['bezeichnung']:die('Bezeichnung fehlt')); $beschreibung = (isset($_POST['beschreibung'])?$_POST['beschreibung']:die('Beschreibung fehlt')); $oe_kurzbz = (isset($_POST['oe_kurzbz'])?$_POST['oe_kurzbz']:die('Organisationseinheit fehlt')); $content_id = (isset($_POST['content_id'])?$_POST['content_id']:die('Content_id fehlt')); + $design_uid = (isset($_POST['design_uid'])?$_POST['design_uid']:''); + $betrieb_uid = (isset($_POST['betrieb_uid'])?$_POST['betrieb_uid']:''); + $operativ_uid = (isset($_POST['operativ_uid'])?$_POST['operativ_uid']:''); $ext_id = (isset($_POST['ext_id'])?$_POST['ext_id']:die('ext_id fehlt')); $new = (isset($_POST['new'])?$_POST['new']:'true'); if($new=='true') @@ -70,28 +105,59 @@ $datum_obj = new datum(); if(!$service->load($service_id)) die($service->errormsg); - $service->new=false; + $service->new = false; } - $service->bezeichnung=$bezeichnung; + $service->bezeichnung = $bezeichnung; $service->beschreibung = $beschreibung; $service->ext_id = $ext_id; $service->oe_kurzbz = $oe_kurzbz; $service->content_id = $content_id; - if($service->save()) - { - echo 'Daten erfolgreich gespeichert'; - echo "\n"; - $action='update'; - $service_id = $service->service_id; - } - else + if ($design_uid != '' || $betrieb_uid != '' || $operativ_uid != '') { - $action='new'; - echo ''.$service->errormsg.''; + $benutzer = new benutzer(); + if ($design_uid != '' && !$benutzer->load($design_uid)) + { + echo 'Benutzer '.$design_uid.' ist nicht vorhanden'; + $error = true; + } + if ($betrieb_uid != '' && !$benutzer->load($betrieb_uid)) + { + echo 'Benutzer '.$betrieb_uid.' ist nicht vorhanden'; + $error = true; + } + if ($operativ_uid != '' && !$benutzer->load($operativ_uid)) + { + echo 'Benutzer '.$operativ_uid.' ist nicht vorhanden'; + $error = true; + } + } + + $service->design_uid = $design_uid; + $service->betrieb_uid = $betrieb_uid; + $service->operativ_uid = $operativ_uid; + + if ($error == false) + { + if($service->save()) + { + echo 'Daten erfolgreich gespeichert'; + echo "\n"; + $action='update'; + $service_id = $service->service_id; + } + else + { + $action='new'; + echo ''.$service->errormsg.''; + } + } + else + { + $action='update'; } } @@ -145,6 +211,18 @@ $datum_obj = new datum(); echo ' '; echo ''; echo ''; + echo ' '; + echo ' '; + echo ''; + echo ''; + echo ' '; + echo ' '; + echo ''; + echo ''; + echo ' '; + echo ' '; + echo ''; + echo ''; echo ' '; echo ' '; echo ''; diff --git a/vilesci/stammdaten/service_uebersicht.php b/vilesci/stammdaten/service_uebersicht.php index 2d8836fda..f7058255b 100755 --- a/vilesci/stammdaten/service_uebersicht.php +++ b/vilesci/stammdaten/service_uebersicht.php @@ -38,18 +38,22 @@ echo 'Service - - - + '; + + include('../../include/meta/jquery.php'); + include('../../include/meta/jquery-tablesorter.php'); + + echo'
'.$p->t("global/organisationseinheit").' '.$p->t("global/bezeichnung").' '.$p->t("services/leistung").''.$p->t("services/design").''.$p->t("services/betrieb").''.$p->t("services/operativ").' '.$p->t("services/details").'
',$row->oe_kurzbz,''.($row->content_id!=''?''.$row->bezeichnung.'':$row->bezeichnung).'',$row->beschreibung,'',$design,'',$betrieb,'',$operativ,''.($row->content_id!=''?'Details':'').'
Design
Betrieb
Operativ
Content_ID