- Splitted Usersfilters_widget in:

- Aufnahmegruppe_widget
	- Reihungstest_widget
	- Studiengang_widget
	- Studiensemester_widget
	- Stufe_widget
- Renamed /system/Users controller to system/aufnahme/PrestudentMultiAssign
- Added method getPrestudentMultiAssign to Prestudent_model
- Changed WidgetLib to allow to set the name and the id html attributes
of a widget
This commit is contained in:
Paolo
2017-03-24 16:39:50 +01:00
parent 60ff6d145d
commit 1f65f7737c
18 changed files with 896 additions and 820 deletions
@@ -0,0 +1,36 @@
<?php
class Aufnahmegruppe_widget extends Widget
{
public function __construct($name, $args, $htmlArgs = array())
{
// Calling daddy
parent::__construct($name, $args, $htmlArgs);
}
public function display($widgetData)
{
// Gruppen
$this->load->model('organisation/Gruppe_model', 'GruppeModel');
$this->GruppeModel->addOrder('beschreibung');
$gruppen = $this->GruppeModel->loadWhere(array('aktiv' => true, 'aufnahmegruppe' => true));
if (hasData($gruppen))
{
// Adding an empty element at the beginning
$emptyElement = new stdClass();
$emptyElement->gruppe_kurzbz = Partial::HTML_DEFAULT_VALUE;
$emptyElement->beschreibung = 'Select a group...';
array_unshift($gruppen->retval, $emptyElement);
}
else
{
show_error($gruppen);
}
// Data to be used in the widget view
$widgetData['aufnahmegruppen'] = $gruppen->retval;
// Loads widget view
$this->view('widgets/aufnahmegruppe', $widgetData);
}
}
@@ -0,0 +1,56 @@
<?php
class Reihungstest_widget extends Widget
{
public function __construct($name, $args, $htmlArgs = array())
{
// Calling daddy
parent::__construct($name, $args, $htmlArgs);
}
public function display($widgetData)
{
// Reihungstest
$reihungstest = success(array()); // default value empty array
// If the parameters studiengang or studiensemester are given and are not empty
if (isset($widgetData) && is_array($widgetData)
&& ((isset($widgetData['studiengang']) && !empty($widgetData['studiengang']))
|| (isset($widgetData['studiensemester']) && !empty($widgetData['studiensemester']))))
{
$this->load->model('crm/Reihungstest_model', 'ReihungstestModel');
$this->ReihungstestModel->addSelect('reihungstest_id, concat(datum, \' \', uhrzeit, \' \', anmerkung) AS beschreibung');
$this->ReihungstestModel->addOrder('datum', 'DESC');
$parametersArray = array();
if ($widgetData['studiengang'] != null)
{
$parametersArray['studiengang_kz'] = $widgetData['studiengang'];
}
if ($widgetData['studiensemester'] != null)
{
$parametersArray['studiensemester_kurzbz'] = $widgetData['studiensemester'];
}
$reihungstest = $this->ReihungstestModel->loadWhere($parametersArray);
if (isError($reihungstest))
{
show_error($reihungstest);
}
}
if (!isError($reihungstest))
{
// Adding an empty element at the beginning
$emptyElement = new stdClass();
$emptyElement->reihungstest_id = Partial::HTML_DEFAULT_VALUE;
$emptyElement->beschreibung = 'Select a reihungstest...';
array_unshift($reihungstest->retval, $emptyElement);
}
// Data to be used in the widget view
$widgetData['reihungstests'] = $reihungstest->retval;
// Loads widget view
$this->view('widgets/reihungstest', $widgetData);
}
}
@@ -0,0 +1,37 @@
<?php
class Studiengang_widget extends Widget
{
public function __construct($name, $args, $htmlArgs = array())
{
// Calling daddy
parent::__construct($name, $args, $htmlArgs);
}
public function display($widgetData)
{
// Studiengaenge
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
$this->StudiengangModel->addOrder('kurzbzlang');
$studiengaenge = $this->StudiengangModel->loadWhere(array('aktiv' => true));
if (hasData($studiengaenge))
{
// Adding an empty element at the beginning
$emptyElement = new stdClass();
$emptyElement->studiengang_kz = Partial::HTML_DEFAULT_VALUE;
$emptyElement->kurzbzlang = 'Select a studiengang...';
$emptyElement->bezeichnung = '';
array_unshift($studiengaenge->retval, $emptyElement);
}
else
{
show_error($studiengaenge);
}
// Data to be used in the widget view
$widgetData['studiengaenge'] = $studiengaenge->retval;
// Loads widget view
$this->view('widgets/studiengang', $widgetData);
}
}
@@ -0,0 +1,37 @@
<?php
class Studiensemester_widget extends Widget
{
public function __construct($name, $args, $htmlArgs = array())
{
// Calling daddy
parent::__construct($name, $args, $htmlArgs);
}
public function display($widgetData)
{
// Studiensemester
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
$this->StudiengangModel->addSelect('studiensemester_kurzbz, studiensemester_kurzbz AS beschreibung');
$this->StudiengangModel->addOrder('studiensemester_kurzbz', 'DESC');
$studiensemester = $this->StudiensemesterModel->load();
if (hasData($studiensemester))
{
// Adding an empty element at the beginning
$emptyElement = new stdClass();
$emptyElement->studiensemester_kurzbz = Partial::HTML_DEFAULT_VALUE;
$emptyElement->beschreibung = 'Select a studiensemester...';
array_unshift($studiensemester->retval, $emptyElement);
}
else
{
show_error($studiensemester);
}
// Data to be used in the widget view
$widgetData['studiensemesters'] = $studiensemester->retval;
// Loads widget view
$this->view('widgets/studiensemester', $widgetData);
}
}
+37
View File
@@ -0,0 +1,37 @@
<?php
class Stufe_widget extends Widget
{
public function __construct($name, $args, $htmlArgs = array())
{
// Calling daddy
parent::__construct($name, $args, $htmlArgs);
}
public function display($widgetData)
{
// Stufe
$this->load->model('crm/Reihungstest_model', 'ReihungstestModel');
$this->ReihungstestModel->addSelect('DISTINCT ON(stufe) stufe, stufe AS beschreibung');
$this->ReihungstestModel->addOrder('stufe');
$stufen = $this->ReihungstestModel->loadWhere('stufe IS NOT NULL');
if (hasData($stufen))
{
// Adding an empty element at the beginning
$emptyElement = new stdClass();
$emptyElement->stufe = Partial::HTML_DEFAULT_VALUE;
$emptyElement->beschreibung = 'Select a stufe...';
array_unshift($stufen->retval, $emptyElement);
}
else
{
show_error($stufen);
}
// Data to be used in the widget view
$widgetData['stufen'] = $stufen->retval;
// Loads widget view
$this->view('widgets/stufe', $widgetData);
}
}
-183
View File
@@ -1,183 +0,0 @@
<?php
class Usersfilters_widget extends Widget
{
// Properties containing parameters given by the view
private $studiengang;
private $studiensemester;
private $gruppe;
private $reihungstest;
private $stufe;
public function __construct($name, $args)
{
// Calling daddy
parent::__construct($name, $args);
// Loads helper message to manage returning messages
$this->load->helper('message');
// Initialising properties
$this->_setProperties($args);
}
public function display($widgetData)
{
$errors = array(); // Array containing possible errors
// Studiengaenge
$this->load->model('organisation/Studiengang_model', 'StudiengangModel');
$this->StudiengangModel->addOrder('kurzbzlang');
$studiengaenge = $this->StudiengangModel->loadWhere(array('aktiv' => true));
if (hasData($studiengaenge))
{
// Adding an empty element at the beginning
$emptyElement = new stdClass();
$emptyElement->studiengang_kz = '-1';
$emptyElement->kurzbzlang = 'Select a studiengang...';
$emptyElement->bezeichnung = '';
array_unshift($studiengaenge->retval, $emptyElement);
}
else
{
$errors[] = $studiengaenge; // Adding the error to the array of errors
}
// Studiensemester
$this->load->model('organisation/Studiensemester_model', 'StudiensemesterModel');
$this->StudiengangModel->addSelect('studiensemester_kurzbz, studiensemester_kurzbz AS beschreibung');
$this->StudiengangModel->addOrder('studiensemester_kurzbz', 'DESC');
$studiensemester = $this->StudiensemesterModel->load();
if (hasData($studiensemester))
{
// Adding an empty element at the beginning
$emptyElement = new stdClass();
$emptyElement->studiensemester_kurzbz = '-1';
$emptyElement->beschreibung = 'Select a studiensemester...';
array_unshift($studiensemester->retval, $emptyElement);
}
else
{
$errors[] = $studiensemester; // Adding the error to the array of errors
}
// Gruppen
$this->load->model('organisation/Gruppe_model', 'GruppeModel');
$this->GruppeModel->addOrder('beschreibung');
$gruppen = $this->GruppeModel->loadWhere(array('aktiv' => true, 'aufnahmegruppe' => true));
if (hasData($gruppen))
{
// Adding an empty element at the beginning
$emptyElement = new stdClass();
$emptyElement->gruppe_kurzbz = '-1';
$emptyElement->beschreibung = 'Select a group...';
array_unshift($gruppen->retval, $emptyElement);
}
else
{
$errors[] = $gruppen; // Adding the error to the array of errors
}
// Stufe
$this->load->model('crm/Reihungstest_model', 'ReihungstestModel');
$this->ReihungstestModel->addSelect('DISTINCT ON(stufe) stufe, stufe AS beschreibung');
$this->ReihungstestModel->addOrder('stufe');
$stufen = $this->ReihungstestModel->loadWhere('stufe IS NOT NULL');
if (hasData($stufen))
{
// Adding an empty element at the beginning
$emptyElement = new stdClass();
$emptyElement->stufe = '-1';
$emptyElement->beschreibung = 'Select a stufe...';
array_unshift($stufen->retval, $emptyElement);
}
else
{
$errors[] = $stufen; // Adding the error to the array of errors
}
// Reihungstest
$reihungstest = success(array()); // default value empty array
// If the parameters studiengang or studiensemester are given and are not empty
if (($this->studiengang != null && !empty($this->studiengang))
|| ($this->studiensemester != null && !empty($this->studiensemester)))
{
$this->ReihungstestModel->resetQuery(); // cleans any previous setting
$this->ReihungstestModel->addSelect('reihungstest_id, concat(datum, \' \', uhrzeit, \' \', anmerkung) AS beschreibung');
$this->ReihungstestModel->addOrder('datum', 'DESC');
$parametersArray = array();
if ($this->studiengang != null)
{
$parametersArray['studiengang_kz'] = $this->studiengang;
}
if ($this->studiensemester != null)
{
$parametersArray['studiensemester_kurzbz'] = $this->studiensemester;
}
$reihungstest = $this->ReihungstestModel->loadWhere($parametersArray);
if (isError($reihungstest))
{
$errors[] = $reihungstest; // Adding the error to the array of errors
}
}
if (!isError($reihungstest))
{
// Adding an empty element at the beginning
$emptyElement = new stdClass();
$emptyElement->reihungstest_id = '-1';
$emptyElement->beschreibung = 'Select a reihungstest...';
array_unshift($reihungstest->retval, $emptyElement);
}
// Data to be used in the widget view
$viewData = array(
'studiengaenge' => $studiengaenge->retval,
'studiensemester' => $studiensemester->retval,
'gruppen' => $gruppen->retval,
'stufen' => $stufen->retval,
'reihungstest' => $reihungstest->retval,
'errors' => $errors,
'selectedStudiengang' => $this->studiengang,
'selectedStudiensemester' => $this->studiensemester,
'selectedGruppe' => $this->gruppe,
'selectedReihungstest' => $this->reihungstest,
'selectedStufe' => $this->stufe
);
// Loads widget view
$this->view('widgets/usersfilters', $viewData);
}
/**
* Initialising properties
*/
private function _setProperties($args)
{
if (isset($args) && is_array($args))
{
if (isset($args['studiengang']) && $args['studiengang'] != '-1')
{
$this->studiengang = $args['studiengang'];
}
if (isset($args['studiensemester']) && $args['studiensemester'] != '-1')
{
$this->studiensemester = $args['studiensemester'];
}
if (isset($args['gruppe']) && $args['gruppe'] != '-1')
{
$this->gruppe = $args['gruppe'];
}
if (isset($args['reihungstest']) && $args['reihungstest'] != '-1')
{
$this->reihungstest = $args['reihungstest'];
}
if (isset($args['stufe']) && $args['stufe'] != '-1')
{
$this->stufe = $args['stufe'];
}
}
}
}