diff --git a/app/model/UzivatelListGrid.php b/app/model/UzivatelListGrid.php index efab725..aa31e16 100644 --- a/app/model/UzivatelListGrid.php +++ b/app/model/UzivatelListGrid.php @@ -293,15 +293,15 @@ public function getListOfUsersGrid($presenter, $name, $loggedUser, $id, $money, $grid->addFilterSelect('spolek_druzstvo', 'Zobrazit', array( 'all' => 'spolek i družstvo', - 'spolek' => 'pouze spolek', - 'druzstvo' => 'pouze družstvo')) + 'spolek' => 'spolek', + 'druzstvo' => 'družstvo')) ->setDefaultValue('all') ->setWhere(function ($value, $connection) { if ($value == 'spolek') { - return ($connection->where('spolek = ? AND druzstvo = ?', ['1','0'])); + return ($connection->where('spolek = ?', ['1'])); } if ($value == 'druzstvo') { - return ($connection->where('druzstvo = ? AND spolek = ?', ['1', '0'])); + return ($connection->where('druzstvo = ?', ['1'])); } return ($connection); }); @@ -325,6 +325,29 @@ public function getListOfUsersGrid($presenter, $name, $loggedUser, $id, $money, $tz->setDefaultValue('active'); } + $seznamStitku = $this->stitek->getSeznamStitku()->fetchPairs("id", "text"); + $seznamNotStitku = []; + foreach ($seznamStitku as $stitekId => $stitekText) { + $seznamNotStitku[-$stitekId] = "NOT " . $stitekText; + } + + $stitkyKFiltrovani[0] = "---"; + $stitkyKFiltrovani += $seznamStitku; + $stitkyKFiltrovani += $seznamNotStitku; + + $grid->addFilterSelect('stitek', 'Hledej štítek', $stitkyKFiltrovani) + ->setWhere(function ($value, $connection) { + if ($value > 0) { + return ($connection->where(":StitekUzivatele.Stitek_id = ?", $value)); + } elseif ($value < 0) { + return ($connection->whereOr([ + ":StitekUzivatele.Stitek_id != ?" => -$value, + ":StitekUzivatele.Stitek_id ?" => null, + ])); + } + return ($connection); + }); + if ($money) { $thisparams = $this->parameters; $grid->setRowCallback(function ($item, $tr) use ($seznamUzivateluCC, $presenter, $thisparams) {