Skip to content
Snippets Groups Projects
Unverified Commit 1dee111d authored by Peter Rotich's avatar Peter Rotich Committed by GitHub
Browse files

Merge pull request #4728 from aydreeihn/issue/quick-filters

Quick Filter Fixes:
parents 43794f99 838b70f0
No related branches found
No related tags found
No related merge requests found
......@@ -1980,6 +1980,24 @@ class ChoiceField extends FormField {
}
function applyQuickFilter($query, $qf_value, $name=false) {
global $thisstaff;
//special assignment quick filters
switch (true) {
case ($qf_value == 'assigned'):
case ($qf_value == '!assigned'):
$result = AssigneeChoiceField::getSearchQ($qf_value, $qf_value);
return $query->filter($result);
case (strpos($qf_value, 's') !== false):
case (strpos($qf_value, 't') !== false):
case ($qf_value == 'M'):
case ($qf_value == 'T'):
$value = array($qf_value => $qf_value);
$result = AssigneeChoiceField::getSearchQ('includes', $value);
return $query->filter($result);
break;
}
return $query->filter(array(
$name ?: $this->get('name') => $qf_value,
));
......
......@@ -1308,6 +1308,13 @@ class AssigneeChoiceField extends ChoiceField {
class AssignedField extends AssigneeChoiceField {
function getChoices($verbose=false) {
return array(
'assigned' => __('Assigned'),
'!assigned' => __('Unassigned'),
);
}
function getSearchMethods() {
return array(
'assigned' => __('assigned'),
......@@ -1399,8 +1406,14 @@ class DepartmentManagerSelectionField extends AgentSelectionField {
static $_members;
function getChoices($verbose=false) {
if (isset($this->_members))
$this->_members = Staff::getStaffMembers();
if (!isset($this->_members)) {
$managers = array();
$staff = Staff::objects()->filter(array('dept__manager_id__gt' => 0));
foreach ($staff as $s) {
$managers['s'.$s->getId()] = $s->getName()->name;
}
$this->_members = $managers;
}
return $this->_members;
}
......@@ -1414,9 +1427,9 @@ class TeamSelectionField extends AdvancedSearchSelectionField {
static $_teams;
function getChoices($verbose=false) {
if (!isset($this->_teams))
if (!isset($this->_teams) && $teams = Team::getTeams())
$this->_teams = array('T' => __('One of my teams')) +
Team::getTeams();
$teams;
return $this->_teams;
}
......
......@@ -37,16 +37,24 @@ $.pjax({
timeout: 2000,
container: '#pjax-container'});
return false;">
<ul <?php if (count($choices) > 20) echo 'style="height:500px;overflow-x:hidden;overflow-y:scroll;"'; ?>>
<?php foreach ($choices as $k=>$desc) {
$selected = isset($quick_filter) && $quick_filter == $k;
?>
<li <?php
if ($selected) echo 'class="active"';
?>>
<a href="#" data-value="<?php echo Format::htmlchars($k); ?>">
<?php echo Format::htmlchars($desc); ?></a>
</li>
<?php } ?>
</ul>
<ul <?php if ($choices && count($choices) > 20) echo 'style="height:500px;overflow-x:hidden;overflow-y:scroll;"'; ?>>
<?php if ($choices) {
foreach ($choices as $k=>$desc) {
$selected = isset($quick_filter) && $quick_filter == $k;
?>
<li <?php
if ($selected) echo 'class="active"';
?>>
<a href="#" data-value="<?php echo Format::htmlchars($k); ?>">
<?php echo Format::htmlchars($desc); ?></a>
</li>
<?php }
} else { ?>
<li>
<a href="#" data-value="0">
<?php echo __('None'); ?></a>
</li>
<?php }
?>
</ul>
</div>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment