From 278be4cc6124cb6bba781143011ecb8ae1a5c3b7 Mon Sep 17 00:00:00 2001 From: bison-paolo Date: Wed, 16 Nov 2016 16:30:39 +0100 Subject: [PATCH] - Added migration script 020_dokumentstudiengang to add a new column called nachreichbar - Added property nachreichbar to class dokument into dokument.class.php - VileSci->Wartung->"Dokumente Zuteilung" in now handling the field nachreichbar --- .../migrations/020_dokumentstudiengang.php | 38 +++++++++++++++++++ include/dokument.class.php | 15 ++++++-- vilesci/stammdaten/studiengang_dokumente.php | 23 +++++++++++ 3 files changed, 72 insertions(+), 4 deletions(-) create mode 100644 application/migrations/020_dokumentstudiengang.php diff --git a/application/migrations/020_dokumentstudiengang.php b/application/migrations/020_dokumentstudiengang.php new file mode 100644 index 000000000..9bc398e40 --- /dev/null +++ b/application/migrations/020_dokumentstudiengang.php @@ -0,0 +1,38 @@ +startUP(); + + // Add nachreichbar to public.tbl_dokumentstudiengang + $columns = array( + 'nachreichbar' => array( + 'type' => 'boolean DEFAULT FALSE', + 'null' => false + ) + ); + $this->addColumn('public', 'tbl_dokumentstudiengang', $columns); + + $this->endUP(); + } + + public function down() + { + $this->startDown(); + + $this->dropColumn('public', 'tbl_dokumentstudiengang', 'nachreichbar'); + + $this->endDown(); + } +} \ No newline at end of file diff --git a/include/dokument.class.php b/include/dokument.class.php index 9b847ec17..908debe0b 100644 --- a/include/dokument.class.php +++ b/include/dokument.class.php @@ -32,6 +32,7 @@ class dokument extends basis_db public $bezeichnung; public $studiengang_kz; public $pflicht; + public $nachreichbar; public $bezeichnung_mehrsprachig; public $dokumentbeschreibung_mehrsprachig; @@ -403,6 +404,7 @@ class dokument extends basis_db $dok->dokument_kurzbz = $row->dokument_kurzbz; $dok->bezeichnung = $row->bezeichnung; $dok->pflicht = $this->db_parse_bool($row->pflicht); + $dok->nachreichbar = $this->db_parse_bool($row->nachreichbar); $dok->onlinebewerbung = $this->db_parse_bool($row->onlinebewerbung); $this->result[] = $dok; } @@ -435,6 +437,7 @@ class dokument extends basis_db $dok->dokument_kurzbz = $row->dokument_kurzbz; $dok->bezeichnung = $row->bezeichnung; $dok->pflicht = $this->db_parse_bool($row->pflicht); + $dok->nachreichbar = $this->db_parse_bool($row->nachreichbar); $dok->onlinebewerbung = $this->db_parse_bool($row->onlinebewerbung); $this->result[] = $dok; @@ -511,6 +514,7 @@ class dokument extends basis_db $this->studiengang_kz = $row->studiengang_kz; $this->onlinebewerbung = $this->db_parse_bool($row->onlinebewerbung); $this->pflicht = $this->db_parse_bool($row->pflicht); + $this->nachreichbar = $this->db_parse_bool($row->nachreichbar); $this->beschreibung_mehrsprachig = $sprache->parseSprachResult('beschreibung_mehrsprachig',$row); return true; } @@ -572,7 +576,7 @@ class dokument extends basis_db $qry.=" beschreibung_mehrsprachig[$idx],"; } - $qry.=' pflicht, onlinebewerbung) + $qry.=' pflicht, nachreichbar, onlinebewerbung) VALUES ('. $this->db_add_param($this->dokument_kurzbz).','. $this->db_add_param($this->studiengang_kz,FHC_INTEGER).','; @@ -581,6 +585,7 @@ class dokument extends basis_db $qry.=$this->db_add_param($value).','; $qry.= $this->db_add_param($this->pflicht,FHC_BOOLEAN).','. + $this->db_add_param($this->nachreichbar,FHC_BOOLEAN).','. $this->db_add_param($this->onlinebewerbung,FHC_BOOLEAN).')'; } else @@ -593,12 +598,13 @@ class dokument extends basis_db $idx = sprache::$index_arr[$key]; $qry.=" beschreibung_mehrsprachig[$idx]=".$this->db_add_param($value).","; } - $qry.=' pflicht='.$this->db_add_param($this->pflicht, FHC_BOOLEAN).' + $qry.=' pflicht='.$this->db_add_param($this->pflicht, FHC_BOOLEAN).', + nachreichbar='.$this->db_add_param($this->nachreichbar, FHC_BOOLEAN).' WHERE dokument_kurzbz='.$this->db_add_param($this->dokument_kurzbz).' AND studiengang_kz='.$this->db_add_param($this->studiengang_kz); } - + if($this->db_query($qry)) { return true; @@ -652,7 +658,7 @@ class dokument extends basis_db $bezeichnung_mehrsprachig = $sprache->getSprachQuery('bezeichnung_mehrsprachig'); $dokumentbeschreibung_mehrsprachig = $sprache->getSprachQuery('dokumentbeschreibung_mehrsprachig'); $beschreibung_mehrsprachig = $sprache->getSprachQuery('beschreibung_mehrsprachig'); - $qry = "SELECT distinct on (dokument_kurzbz) dokument_kurzbz, bezeichnung, pflicht, + $qry = "SELECT distinct on (dokument_kurzbz) dokument_kurzbz, bezeichnung, pflicht, nachreichbar $bezeichnung_mehrsprachig, $dokumentbeschreibung_mehrsprachig, $beschreibung_mehrsprachig FROM public.tbl_dokumentstudiengang JOIN public.tbl_prestudent using (studiengang_kz) @@ -673,6 +679,7 @@ class dokument extends basis_db $dok->dokument_kurzbz = $row->dokument_kurzbz; $dok->bezeichnung = $row->bezeichnung; $dok->pflicht= $this->db_parse_bool($row->pflicht); + $dok->nachreichbar= $this->db_parse_bool($row->nachreichbar); $dok->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row); $dok->dokumentbeschreibung_mehrsprachig = $sprache->parseSprachResult('dokumentbeschreibung_mehrsprachig', $row); $dok->beschreibung_mehrsprachig = $sprache->parseSprachResult('beschreibung_mehrsprachig', $row); diff --git a/vilesci/stammdaten/studiengang_dokumente.php b/vilesci/stammdaten/studiengang_dokumente.php index 1b85c217c..0f87ffc6a 100644 --- a/vilesci/stammdaten/studiengang_dokumente.php +++ b/vilesci/stammdaten/studiengang_dokumente.php @@ -32,6 +32,7 @@ $stg_kz = isset($_REQUEST['stg_kz']) ? $_REQUEST['stg_kz'] : '0'; $dokument_kurzbz = isset($_REQUEST['dokument_kurzbz']) ? $_REQUEST['dokument_kurzbz'] : ''; $onlinebewerbung = isset($_REQUEST['onlinebewerbung']); $pflicht = isset($_POST['pflicht']); +$nachreichbar = isset($_POST['nachreichbar']); $sprache = new sprache(); $sprache->getAll(true); @@ -58,6 +59,7 @@ if($action=='add') $dokument->studiengang_kz = $stg_kz; $dokument->onlinebewerbung = $onlinebewerbung; $dokument->pflicht = $pflicht; + $dokument->nachreichbar = $nachreichbar; $beschreibung_mehrsprachig=array(); foreach($sprache->result as $row_sprache) @@ -112,6 +114,21 @@ if($action === 'togglepflicht') { } } +if($action === 'togglenachreichbar') { + if($dokument_kurzbz != '' && $stg_kz != '') + { + $dokument=new dokument(); + if($dokument->loadDokumentStudiengang($dokument_kurzbz, $stg_kz)) + { + $dokument->nachreichbar = !$dokument->nachreichbar; + if(!$dokument->saveDokumentStudiengang()) + echo $dokument->errormsg; + } + else + echo 'Zuordnung ist nicht vorhanden'; + } +} + if($action=='saveDoc') { $dokBezeichnung=isset($_POST['dokument_bezeichnung'])?$_POST['dokument_bezeichnung']:''; @@ -351,6 +368,7 @@ else Dokumentname Online-Bewerbung Pflicht + Nachreichbar @@ -363,10 +381,12 @@ else $zugewieseneDokumente[]=$dok->dokument_kurzbz; $checked_onlinebewerbung = $dok->onlinebewerbung ? 'true' : 'false'; $checked_pflicht = $dok->pflicht ? 'true' : 'false'; + $checked_nachreichbar = $dok->nachreichbar ? 'true' : 'false'; echo ' '.$dok->bezeichnung.' + @@ -410,6 +430,9 @@ else pflicht?'checked="checked"':'').'> + + nachreichbar?'checked="checked"':'').'> +