mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-25 16:44:28 +00:00
- Renamed controllers/system/Test.php to controllers/system/TestFilterWidget.php
- Fixed problem with table sorter in views/templates/header.php - Added checkboxes functionality to FilterWidget to render automatically the select column - Added additionalColumns functionality to add additional columns to the dataset table - Added formatRaw functionality to give an anonymous function as parameter to format every single raw of the dataset table - The filter can be loaded from DB also by filter_id
This commit is contained in:
@@ -1,66 +0,0 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class Test extends VileSci_Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->load->library('WidgetLib');
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function sql()
|
||||
{
|
||||
echo $this->widgetlib->widget(
|
||||
'FilterWidget',
|
||||
array(
|
||||
'app' => 'core',
|
||||
'datasetName' => 'Arbeitspakete',
|
||||
'query' => '
|
||||
SELECT p.person_id AS "PersonId",
|
||||
p.nachname AS "Nachname",
|
||||
p.vorname AS "Vorname",
|
||||
k.kontakt AS "Email",
|
||||
p.aktiv AS "Aktiv"
|
||||
FROM public.tbl_person p INNER JOIN public.tbl_kontakt k USING(person_id)
|
||||
WHERE p.aktiv = TRUE
|
||||
AND p.person_id = k.person_id
|
||||
AND k.kontakttyp = \'email\'
|
||||
AND p.person_id < 1000
|
||||
'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function direct()
|
||||
{
|
||||
echo $this->widgetlib->widget(
|
||||
'FilterWidget',
|
||||
array(
|
||||
'app' => 'core',
|
||||
'datasetName' => 'Arbeitspakete',
|
||||
'filter_kurzbz' => 'This filter filters',
|
||||
'query' => '
|
||||
SELECT p.person_id AS "PersonId",
|
||||
p.nachname AS "Nachname",
|
||||
p.vorname AS "Vorname",
|
||||
k.kontakt AS "Email",
|
||||
p.aktiv AS "Aktiv"
|
||||
FROM public.tbl_person p INNER JOIN public.tbl_kontakt k USING(person_id)
|
||||
WHERE p.aktiv = TRUE
|
||||
AND p.person_id = k.person_id
|
||||
AND k.kontakttyp = \'email\'
|
||||
AND p.person_id < 1000
|
||||
'
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
if (! defined('BASEPATH')) exit('No direct script access allowed');
|
||||
|
||||
class TestFilterWidget extends VileSci_Controller
|
||||
{
|
||||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->load->library('WidgetLib');
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public function sql()
|
||||
{
|
||||
echo $this->widgetlib->widget(
|
||||
'FilterWidget',
|
||||
array(
|
||||
'app' => 'core',
|
||||
'datasetName' => 'kontakts',
|
||||
'filterKurzbz' => 'This filter filters',
|
||||
'query' => '
|
||||
SELECT p.person_id AS "PersonId",
|
||||
p.nachname AS "Nachname",
|
||||
p.vorname AS "Vorname",
|
||||
k.kontakt AS "Email",
|
||||
p.aktiv AS "Aktiv"
|
||||
FROM public.tbl_person p INNER JOIN public.tbl_kontakt k USING(person_id)
|
||||
WHERE p.aktiv = TRUE
|
||||
AND p.person_id = k.person_id
|
||||
AND k.kontakttyp = \'email\'
|
||||
AND p.person_id < 1000
|
||||
',
|
||||
'checkboxes' => array('PersonId'),
|
||||
'additionalColumns' => array('Delete', 'Edit'),
|
||||
'formatRaw' => function($fieldName, $fieldValue, $datasetRaw) {
|
||||
|
||||
if ($fieldName == 'PersonId')
|
||||
{
|
||||
$datasetRaw->{$fieldName} = '<a href="view/'.$datasetRaw->PersonId.'">'.$fieldValue.'</a>';
|
||||
}
|
||||
if ($fieldName == 'Delete')
|
||||
{
|
||||
$datasetRaw->{$fieldName} = '<a href="delete/'.$datasetRaw->PersonId.'">Delete</a>';
|
||||
}
|
||||
if ($fieldName == 'Edit')
|
||||
{
|
||||
$datasetRaw->{$fieldName} = '<a href="edit/'.$datasetRaw->PersonId.'">Edit</a>';
|
||||
}
|
||||
|
||||
return $datasetRaw;
|
||||
}
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user