Added pagination to Pipework and Linework
This commit is contained in:
@@ -17,13 +17,21 @@ class LineworkController extends mfBaseController {
|
||||
protected function indexAction() {
|
||||
$this->layout()->setTemplate("Linework/Index");
|
||||
$filter = [];
|
||||
|
||||
$this->layout->set("filter", $this->request->filter);
|
||||
|
||||
if($this->request->filter) {
|
||||
$filter = $this->getPreparedFilter($this->request->filter);
|
||||
}
|
||||
|
||||
// pagination defaults
|
||||
$pagination = [];
|
||||
$pagination['start'] = 0;
|
||||
$pagination['count'] = 5;
|
||||
$pagination['maxItems'] = 0;
|
||||
|
||||
if(is_numeric($this->request->s)) {
|
||||
$pagination['start'] = intval($this->request->s);
|
||||
}
|
||||
//var_dump($pagination);exit;
|
||||
$my_networks = [];
|
||||
|
||||
// get allowed networks
|
||||
@@ -56,40 +64,43 @@ class LineworkController extends mfBaseController {
|
||||
unset($filter['network_id']);
|
||||
|
||||
// get Buildings in networks
|
||||
$networks = [];
|
||||
$my_network_ids = [];
|
||||
$terminations = [];
|
||||
foreach($my_networks as $network) {
|
||||
if(!array_key_exists($network->name, $networks)) {
|
||||
$networks[$network->name] = [];
|
||||
}
|
||||
|
||||
$termination_search = [
|
||||
"network_id" => $network->id,
|
||||
"workflow_finished" => 0
|
||||
];
|
||||
$my_network_ids[] = $network->id;
|
||||
}
|
||||
|
||||
|
||||
$termination_search = [
|
||||
"network_id" => $my_network_ids,
|
||||
"workflow_finished" => 0
|
||||
];
|
||||
|
||||
if(is_array($filter) && count($filter)) {
|
||||
foreach($filter as $name => $value) {
|
||||
$termination_search[$name] = $value;
|
||||
}
|
||||
//$building_search = array_merge($building_search, $filter);
|
||||
if(is_array($filter) && count($filter)) {
|
||||
foreach($filter as $name => $value) {
|
||||
$termination_search[$name] = $value;
|
||||
}
|
||||
|
||||
|
||||
|
||||
if($this->me->is("lineworker") && !$this->me->is(["Admin","pipeplanner", "lineplanner","netowner"])) {
|
||||
$this->log->debug("is lineworker");
|
||||
$termination_search["lineworker_id"] = ($this->me->address->parent_id) ? $this->me->address->parent_id : $this->me->address_id;
|
||||
|
||||
if(!count($filter)) {
|
||||
$termination_search["status_id"] = 3;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if($this->me->is("lineworker") && !$this->me->is(["Admin","pipeplanner", "lineplanner","netowner"])) {
|
||||
$this->log->debug("is lineworker");
|
||||
$termination_search["lineworker_id"] = ($this->me->address->parent_id) ? $this->me->address->parent_id : $this->me->address_id;
|
||||
|
||||
if(!count($filter)) {
|
||||
$termination_search["status_id"] = 3;
|
||||
}
|
||||
|
||||
foreach(TerminationModel::search($termination_search) as $b) {
|
||||
if(!array_key_exists($b->id, $networks[$network->name])) {
|
||||
$networks[$network->name][$b->id] = $b;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$networks = [];
|
||||
|
||||
$pagination['maxItems'] = TerminationModel::count($termination_search);
|
||||
foreach(TerminationModel::search($termination_search, $pagination) as $term) {
|
||||
if(!array_key_exists($term->network->name, $networks)) {
|
||||
$networks[$term->network->name] = [];
|
||||
}
|
||||
if(!array_key_exists($term->id, $networks[$term->network->name])) {
|
||||
$networks[$term->network->name][$term->id] = $term;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -112,12 +123,11 @@ class LineworkController extends mfBaseController {
|
||||
$i += ($wfitem->width) ? $wfitem->width : 1;
|
||||
}
|
||||
}
|
||||
//var_dump($item_colspan);exit;
|
||||
$this->layout()->set("termination_wf_colspan", $item_colspan);
|
||||
$this->layout()->set("networks", $networks);
|
||||
//var_dump(reset(reset($networks))->workflowitems);exit;
|
||||
|
||||
|
||||
$this->layout()->set("wfColspan", $item_colspan);
|
||||
$this->layout()->set("networks", $networks);
|
||||
$this->layout()->set("pagination", $pagination);
|
||||
|
||||
}
|
||||
|
||||
private function getPreparedFilter($filter) {
|
||||
|
||||
Reference in New Issue
Block a user