mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-21 08:52:21 +00:00
Merge branch 'master' into udf
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
<?php
|
||||
|
||||
if (!defined("BASEPATH")) exit("No direct script access allowed");
|
||||
|
||||
class Studienjahr extends VileSci_Controller
|
||||
{
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->load->model("organisation/Studienjahr_model", "StudienjahrModel");
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$this->listStudienjahr();
|
||||
}
|
||||
|
||||
public function listStudienjahr()
|
||||
{
|
||||
$studienjahr = $this->StudienjahrModel->load();
|
||||
if ($studienjahr->error)
|
||||
{
|
||||
show_error($studienjahr->retval);
|
||||
}
|
||||
|
||||
$data = array(
|
||||
"studienjahr" => $studienjahr->retval
|
||||
);
|
||||
$this->load->view("organisation/studienjahr.php", $data);
|
||||
}
|
||||
|
||||
public function editStudienjahr($studienjahr_kurzbez)
|
||||
{
|
||||
$studienjahr_kurzbez = str_replace("_", "/", $studienjahr_kurzbez);
|
||||
$studienjahr = $this->StudienjahrModel->load($studienjahr_kurzbez);
|
||||
if ($studienjahr->error)
|
||||
{
|
||||
show_error($studienjahr->retval);
|
||||
}
|
||||
$data = array(
|
||||
"studienjahr" => $studienjahr->retval
|
||||
);
|
||||
$this->load->view("organisation/studienjahrEdit.php", $data);
|
||||
}
|
||||
|
||||
public function newStudienjahr()
|
||||
{
|
||||
$this->StudienjahrModel->addOrder('studienjahr_kurzbz', "DESC");
|
||||
$allstudienjahrkurzbz = $this->StudienjahrModel->load();
|
||||
if ($allstudienjahrkurzbz->error)
|
||||
{
|
||||
show_error($allstudienjahrkurzbz->retval);
|
||||
}
|
||||
$studienjahrkurzbz = $allstudienjahrkurzbz->retval[0]->studienjahr_kurzbz;
|
||||
$years = $this->__getYearsFromStudienjahr($studienjahrkurzbz);
|
||||
$data = array(
|
||||
"studienjahrkurzbz" => ($years[0] + 1)."/".($years[1] + 1)
|
||||
);
|
||||
$this->load->view("organisation/studienjahrNew.php", $data);
|
||||
}
|
||||
|
||||
private function __getYearsFromStudienjahr($studienjahr_kurzbez)
|
||||
{
|
||||
$firstyear = intval(substr($studienjahr_kurzbez, 0, 4));
|
||||
$secondyear = intval(substr($studienjahr_kurzbez, 5, 2));
|
||||
return array($firstyear, $secondyear);
|
||||
}
|
||||
|
||||
public function insStudienjahr()
|
||||
{
|
||||
$data = $this->__retrieveStudienjahrData();
|
||||
$studienjahr = $this->StudienjahrModel->insert($data);
|
||||
|
||||
if ($studienjahr->error)
|
||||
{
|
||||
show_error($studienjahr->retval);
|
||||
}
|
||||
|
||||
redirect("/organisation/studienjahr/editStudienjahr/".str_replace("/", "_", $data['studienjahr_kurzbz']."?saved=true"));
|
||||
}
|
||||
|
||||
private function __retrieveStudienjahrData(){
|
||||
$studienjahr_kurzbz = $this->input->post("studienjahrkurzbz");
|
||||
$bezeichnung = $this->input->post("studienjahrbz");
|
||||
|
||||
$data = array(
|
||||
"studienjahr_kurzbz" => $studienjahr_kurzbz,
|
||||
"bezeichnung" => $bezeichnung,
|
||||
);
|
||||
|
||||
$validation = $this->_validate($data);
|
||||
if (isSuccess($validation))
|
||||
{
|
||||
return $data;
|
||||
} else
|
||||
{
|
||||
show_error($validation->retval);
|
||||
}
|
||||
}
|
||||
|
||||
private function _validate($data)
|
||||
{
|
||||
$studienjahr_kurzbz = $data['studienjahr_kurzbz'];
|
||||
$years = $this->__getYearsFromStudienjahr($studienjahr_kurzbz);
|
||||
//if not desired form or second year comes not right after the first
|
||||
$correctyears = $years[0] % 100 == $years[1] - 1;
|
||||
if (!preg_match("/^\d{4}\/\d{2}$/", $studienjahr_kurzbz) || !$correctyears)
|
||||
return error("Studienjahrbezeichnung muss folgende Form haben: Jahreszahl/letzeZweiZahlenDesNächstenJahres, z.B. 2017/18");
|
||||
return success("Semesterdaten sind valide");
|
||||
}
|
||||
|
||||
public function saveStudienjahr()
|
||||
{
|
||||
$data = $this->__retrieveStudienjahrData();
|
||||
$studienjahr = $this->StudienjahrModel->update($data['studienjahr_kurzbz'], $data);
|
||||
|
||||
if ($studienjahr->error)
|
||||
{
|
||||
show_error($studienjahr->retval);
|
||||
}
|
||||
|
||||
redirect("/organisation/studienjahr/editStudienjahr/".str_replace("/", "_", $data['studienjahr_kurzbz']."?saved=true"));
|
||||
}
|
||||
|
||||
public function deleteStudienjahr($studienjahr_kurzbez)
|
||||
{
|
||||
$studienjahr_kurzbez = str_replace("_", "/", $studienjahr_kurzbez);
|
||||
$studienjahr = $this->StudienjahrModel->delete($studienjahr_kurzbez);
|
||||
|
||||
if ($studienjahr->error)
|
||||
{
|
||||
show_error($studienjahr->retval);
|
||||
}
|
||||
|
||||
redirect("/organisation/studienjahr/listStudienjahr");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,166 @@
|
||||
<?php
|
||||
|
||||
if (!defined("BASEPATH")) exit("No direct script access allowed");
|
||||
|
||||
/**
|
||||
* Description of Semester
|
||||
*
|
||||
* @author root
|
||||
*/
|
||||
class Studiensemester extends VileSci_Controller
|
||||
{
|
||||
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
$this->load->model("organisation/Studiensemester_model", "StudiensemesterModel");
|
||||
$this->load->model("organisation/Studienjahr_model", "StudienjahrModel");
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$this->listStudiensemester();
|
||||
}
|
||||
|
||||
public function listStudiensemester()
|
||||
{
|
||||
$semester = $this->StudiensemesterModel->load();
|
||||
if ($semester->error)
|
||||
{
|
||||
show_error($semester->retval);
|
||||
}
|
||||
|
||||
$data = array(
|
||||
"semester" => $semester->retval
|
||||
);
|
||||
$this->load->view("organisation/studiensemester.php", $data);
|
||||
}
|
||||
|
||||
public function editStudiensemester($semester_kurzbez)
|
||||
{
|
||||
$semester = $this->StudiensemesterModel->load($semester_kurzbez);
|
||||
if ($semester->error)
|
||||
{
|
||||
show_error($semester->retval);
|
||||
}
|
||||
$this->StudienjahrModel->addOrder('studienjahr_kurzbz', "DESC");
|
||||
$allstudienjahre = $this->StudienjahrModel->load();
|
||||
if ($allstudienjahre->error)
|
||||
{
|
||||
show_error($allstudienjahre->retval);
|
||||
}
|
||||
$data = array(
|
||||
"semester" => $semester->retval,
|
||||
"allstudienjahre" => $allstudienjahre->retval
|
||||
);
|
||||
|
||||
$this->load->view("organisation/studiensemesterEdit.php", $data);
|
||||
}
|
||||
|
||||
public function newStudiensemester()
|
||||
{
|
||||
$this->StudienjahrModel->addOrder('studienjahr_kurzbz', "DESC");
|
||||
$allstudienjahre = $this->StudienjahrModel->load();
|
||||
if ($allstudienjahre->error)
|
||||
{
|
||||
show_error($allstudienjahre->retval);
|
||||
}
|
||||
|
||||
$data = array(
|
||||
"allstudienjahre" => $allstudienjahre->retval
|
||||
);
|
||||
|
||||
$this->load->view("organisation/studiensemesterNew.php", $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* inserts a Studiensemester
|
||||
* formats dates in english as required by database
|
||||
*/
|
||||
public function insStudiensemester()
|
||||
{
|
||||
$data = $this->__retrieveStudiensemesterData();
|
||||
$semester = $this->StudiensemesterModel->insert($data);
|
||||
|
||||
if ($semester->error)
|
||||
{
|
||||
show_error($semester->retval);
|
||||
}
|
||||
|
||||
redirect("/organisation/studiensemester/editStudiensemester/".$data['studiensemester_kurzbz']."?saved=true");
|
||||
}
|
||||
|
||||
|
||||
private function __retrieveStudiensemesterData()
|
||||
{
|
||||
$studiensemester_kurzbz = $this->input->post("semkurzbz");
|
||||
$bezeichnung = $this->input->post("sembz");
|
||||
$start = $this->input->post("semstart");
|
||||
$ende = $this->input->post("semende");
|
||||
$studienjahr_kurzbz = $this->input->post("studienjahrkurzbz");
|
||||
$beschreibung = $this->input->post("beschreibung");
|
||||
$onlinebewerbung = $this->input->post("onlinebewerbung");
|
||||
$onlinebewerbung = isset($onlinebewerbung);
|
||||
|
||||
$data = array(
|
||||
"studiensemester_kurzbz" => $studiensemester_kurzbz,
|
||||
"bezeichnung" => $bezeichnung,
|
||||
"start" => $start,
|
||||
"ende" => $ende,
|
||||
"studienjahr_kurzbz" => $studienjahr_kurzbz,
|
||||
"beschreibung" => $beschreibung,
|
||||
"onlinebewerbung" => $onlinebewerbung
|
||||
);
|
||||
|
||||
$validation = $this->_validate($data);
|
||||
if (isSuccess($validation))
|
||||
{
|
||||
//dateconversion
|
||||
$data["start"] = date_format(date_create($start), "Y-m-d");
|
||||
$data["ende"] = date_format(date_create($ende), "Y-m-d");
|
||||
return $data;
|
||||
} else
|
||||
{
|
||||
show_error($validation->retval);
|
||||
}
|
||||
}
|
||||
|
||||
private function _validate($data)
|
||||
{
|
||||
$datepattern = "/^\d{2}.\d{2}.\d{4}$/";
|
||||
|
||||
if (!preg_match("/^(WS|SS)\d{4}$/", $data['studiensemester_kurzbz']))
|
||||
return error("Semesterkurzbezeichnung muss mit WS oder SS beginnen und mit einer Jahreszahl enden, z.B. SS2017");
|
||||
if (!preg_match($datepattern, $data['start']))
|
||||
return error("Falsches Startdatumsformat. Richtiges Format: dd.mm.yyyy");
|
||||
if (!preg_match($datepattern, $data['ende']))
|
||||
return error("Falsches Enddatumsformat. Richtiges Format: dd.mm.yyyy");
|
||||
return success("Semesterdaten sind valide");
|
||||
}
|
||||
|
||||
public function saveStudiensemester()
|
||||
{
|
||||
$data = $this->__retrieveStudiensemesterData();
|
||||
$semester = $this->StudiensemesterModel->update($data['studiensemester_kurzbz'], $data);
|
||||
|
||||
if ($semester->error)
|
||||
{
|
||||
show_error($semester->retval);
|
||||
}
|
||||
|
||||
redirect("/organisation/studiensemester/editStudiensemester/".$data['studiensemester_kurzbz']."?saved=true");
|
||||
}
|
||||
|
||||
public function deleteStudiensemester($semester_kurzbez)
|
||||
{
|
||||
$semester = $this->StudiensemesterModel->delete($semester_kurzbez);
|
||||
|
||||
if ($semester->error)
|
||||
{
|
||||
show_error($semester->retval);
|
||||
}
|
||||
|
||||
redirect("/organisation/studiensemester/listStudiensemester");
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user