Adapted widget to receive and display only passed OrgUnits in Dropdown

This commit is contained in:
Cris
2019-09-19 13:20:35 +02:00
committed by hainberg
parent cad203496f
commit 62cd1b6317
@@ -5,16 +5,34 @@ class Organisationseinheit_widget extends DropdownWidget
public function display($widgetData)
{
$this->load->model('organisation/Organisationseinheit_model', 'OrganisationseinheitModel');
if (isset($widgetData['typ']))
$typ = $widgetData['typ'];
{
$this->setElementsArray($this->OrganisationseinheitModel->getRecursiveList($widgetData['typ']));
}
// If 'organisationseinheit' (array of specific oe_kurzbz) is given, retrieve these organisational units only
elseif (isset($widgetData['organisationseinheit']) && !empty($widgetData['organisationseinheit']))
{
$condition = '
oe_kurzbz IN (\''. implode('\',\'', $widgetData['organisationseinheit']) . '\') AND
aktiv = TRUE
';
$this->addSelectToModel($this->OrganisationseinheitModel, 'oe_kurzbz', 'organisationseinheittyp_kurzbz || \' \' || bezeichnung');
$this->OrganisationseinheitModel->addOrder('organisationseinheittyp_kurzbz', 'ASC');
$this->setElementsArray(
$this->OrganisationseinheitModel->loadWhere($condition),
true,
$this->p->t('ui', 'bitteEintragWaehlen'),
'No organisational units found'
);
}
// Default: retrieve tree of all organisational units
else
$typ = null;
// NOTE: no need to call addSelectToModel because getRecursiveList already returns
// the correct names of the fields
$this->setElementsArray($this->OrganisationseinheitModel->getRecursiveList($typ));
{
// NOTE: no need to call addSelectToModel because getRecursiveList already returns
// the correct names of the fields
$this->setElementsArray($this->OrganisationseinheitModel->getRecursiveList());
}
$this->loadDropDownView($widgetData);
}