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 '
| '.$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").' |
@@ -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 '| ',$row->oe_kurzbz,' | ';
echo ''.($row->content_id!=''?''.$row->bezeichnung.'':$row->bezeichnung).' | ';
echo '',$row->beschreibung,' | ';
+ echo '',$design,' | ';
+ echo '',$betrieb,' | ';
+ echo '',$operativ,' | ';
echo ''.($row->content_id!=''?'Details':'').' | ';
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 ' | Design | ';
+ echo ' | ';
+ echo '
';
+ echo '';
+ echo ' | Betrieb | ';
+ echo ' | ';
+ echo '
';
+ echo '';
+ echo ' | Operativ | ';
+ echo ' | ';
+ echo '
';
+ echo '';
echo ' | Content_ID | ';
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'