- Added class DropdownWidget

- Extended functionalities to Widget class
- Only one view for the dropdown html element
- Updated system/aufnahme/prestudentMultiAssign.php
- Updated affected widgets
This commit is contained in:
Paolo
2017-03-27 17:23:20 +02:00
parent 7bcaccee84
commit 61317978ce
13 changed files with 294 additions and 360 deletions
+10 -32
View File
@@ -1,44 +1,22 @@
<?php
class Aufnahmegruppe_widget extends Widget
class Aufnahmegruppe_widget extends DropdownWidget
{
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 if (isError($gruppen))
{
show_error($gruppen);
}
else
{
// Adding an element to the array
$emptyElement = new stdClass();
$emptyElement->gruppe_kurzbz = Partial::HTML_DEFAULT_VALUE;
$emptyElement->beschreibung = 'No aufnahmegruppe found';
array_unshift($gruppen->retval, $emptyElement);
}
// Data to be used in the widget view
$widgetData['aufnahmegruppen'] = $gruppen->retval;
$this->addSelectToModel($this->GruppeModel, 'gruppe_kurzbz', 'beschreibung');
// Loads widget view
$this->view('widgets/aufnahmegruppe', $widgetData);
$this->setElementsArray(
$this->GruppeModel->loadWhere(array('aktiv' => true, 'aufnahmegruppe' => true)),
true,
'Select a group...',
'No aufnahmegruppe found'
);
$this->loadDropDownView($widgetData);
}
}
+18 -42
View File
@@ -1,27 +1,20 @@
<?php
class Reihungstest_widget extends Widget
class Reihungstest_widget extends DropdownWidget
{
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
$this->load->model('crm/Reihungstest_model', 'ReihungstestModel');
$this->ReihungstestModel->addOrder('datum', 'DESC');
$this->addSelectToModel($this->ReihungstestModel, 'reihungstest_id', 'CONCAT(datum, \' \', uhrzeit, \' \', anmerkung)');
$parametersArray = 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'];
@@ -30,38 +23,21 @@ class Reihungstest_widget extends Widget
{
$parametersArray['studiensemester_kurzbz'] = $widgetData['studiensemester'];
}
$reihungstest = $this->ReihungstestModel->loadWhere($parametersArray);
if (isError($reihungstest))
{
show_error($reihungstest);
}
}
if (!isError($reihungstest))
else
{
if (hasData($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);
}
else
{
// Adding an element to the array
$emptyElement = new stdClass();
$emptyElement->reihungstest_id = Partial::HTML_DEFAULT_VALUE;
$emptyElement->beschreibung = 'No reihungstest found';
array_unshift($reihungstest->retval, $emptyElement);
}
// To NOT select anything
// Set 0 = 1 in the where clause of the query
$parametersArray['0'] = '1';
}
// Data to be used in the widget view
$widgetData['reihungstests'] = $reihungstest->retval;
$this->setElementsArray(
$this->ReihungstestModel->loadWhere($parametersArray),
true,
'Select a reihungstest...',
'No reihungstest found'
);
// Loads widget view
$this->view('widgets/reihungstest', $widgetData);
$this->loadDropDownView($widgetData);
}
}
+10 -34
View File
@@ -1,46 +1,22 @@
<?php
class Studiengang_widget extends Widget
class Studiengang_widget extends DropdownWidget
{
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 if (isError($studiengaenge))
{
show_error($studiengaenge);
}
else
{
// Adding an element to the array
$emptyElement = new stdClass();
$emptyElement->studiengang_kz = Partial::HTML_DEFAULT_VALUE;
$emptyElement->kurzbzlang = 'No studiengaenge found';
$emptyElement->bezeichnung = '';
array_unshift($studiengaenge->retval, $emptyElement);
}
// Data to be used in the widget view
$widgetData['studiengaenge'] = $studiengaenge->retval;
$this->addSelectToModel($this->StudiengangModel, 'studiengang_kz', '\'(\' || kurzbzlang || \') \' || bezeichnung');
// Loads widget view
$this->view('widgets/studiengang', $widgetData);
$this->setElementsArray(
$this->StudiengangModel->loadWhere(array('aktiv' => true)),
true,
'Select a studiengang...',
'No studiengaenge found'
);
$this->loadDropDownView($widgetData);
}
}
+11 -34
View File
@@ -1,45 +1,22 @@
<?php
class Studiensemester_widget extends Widget
class Studiensemester_widget extends DropdownWidget
{
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 if (isError($studiensemester))
{
show_error($studiensemester);
}
else
{
// Adding an element to the array
$emptyElement = new stdClass();
$emptyElement->studiensemester_kurzbz = Partial::HTML_DEFAULT_VALUE;
$emptyElement->beschreibung = 'No studiensemester found';
array_unshift($studiensemester->retval, $emptyElement);
}
$this->StudiensemesterModel->addOrder('studiensemester_kurzbz', 'DESC');
// Data to be used in the widget view
$widgetData['studiensemesters'] = $studiensemester->retval;
$this->addSelectToModel($this->StudiensemesterModel, 'studiensemester_kurzbz', 'studiensemester_kurzbz');
// Loads widget view
$this->view('widgets/studiensemester', $widgetData);
$this->setElementsArray(
$this->StudiensemesterModel->load(),
true,
'Select a studiensemester...',
'No studiensemester found'
);
$this->loadDropDownView($widgetData);
}
}
+11 -33
View File
@@ -1,45 +1,23 @@
<?php
class Stufe_widget extends Widget
class Stufe_widget extends DropdownWidget
{
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->addSelect('DISTINCT ON(stufe) stufe');
$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 if (isError($stufen))
{
show_error($stufen);
}
else
{
// Adding an element to the array
$emptyElement = new stdClass();
$emptyElement->stufe = Partial::HTML_DEFAULT_VALUE;
$emptyElement->beschreibung = 'No stufen found';
array_unshift($stufen->retval, $emptyElement);
}
// Data to be used in the widget view
$widgetData['stufen'] = $stufen->retval;
$this->addSelectToModel($this->ReihungstestModel, 'stufe', 'stufe');
// Loads widget view
$this->view('widgets/stufe', $widgetData);
$this->setElementsArray(
$this->ReihungstestModel->loadWhere('stufe IS NOT NULL'),
true,
'Select a stufe...',
'No stufen found'
);
$this->loadDropDownView($widgetData);
}
}