refactored search with free search term support (#1064)
This commit is contained in:
@@ -14,6 +14,7 @@ use App\Form\Type\CustomerType;
|
||||
use App\Form\Type\DateRangeType;
|
||||
use App\Form\Type\PageSizeType;
|
||||
use App\Form\Type\ProjectType;
|
||||
use App\Form\Type\SearchTermType;
|
||||
use App\Form\Type\TagsInputType;
|
||||
use App\Form\Type\UserRoleType;
|
||||
use App\Form\Type\UserType;
|
||||
@@ -50,11 +51,17 @@ abstract class AbstractToolbarForm extends AbstractType
|
||||
return '';
|
||||
}
|
||||
|
||||
protected function getSelectpickerConfig(): bool
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
protected function addUserChoice(FormBuilderInterface $builder)
|
||||
{
|
||||
$builder->add('user', UserType::class, [
|
||||
'label' => 'label.user',
|
||||
'required' => false,
|
||||
'selectpicker' => $this->getSelectpickerConfig(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -64,6 +71,7 @@ abstract class AbstractToolbarForm extends AbstractType
|
||||
'label' => 'label.user',
|
||||
'multiple' => true,
|
||||
'required' => false,
|
||||
'selectpicker' => $this->getSelectpickerConfig(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -88,6 +96,7 @@ abstract class AbstractToolbarForm extends AbstractType
|
||||
|
||||
return $repo->getQueryBuilderForFormType($query);
|
||||
},
|
||||
'selectpicker' => $this->getSelectpickerConfig(),
|
||||
]);
|
||||
}
|
||||
);
|
||||
@@ -98,7 +107,8 @@ abstract class AbstractToolbarForm extends AbstractType
|
||||
$builder->add('visibility', VisibilityType::class, [
|
||||
'required' => false,
|
||||
'placeholder' => null,
|
||||
'label' => $label
|
||||
'label' => $label,
|
||||
'selectpicker' => $this->getSelectpickerConfig(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -106,6 +116,7 @@ abstract class AbstractToolbarForm extends AbstractType
|
||||
{
|
||||
$builder->add('pageSize', PageSizeType::class, [
|
||||
'required' => false,
|
||||
'selectpicker' => $this->getSelectpickerConfig(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -113,6 +124,7 @@ abstract class AbstractToolbarForm extends AbstractType
|
||||
{
|
||||
$builder->add('role', UserRoleType::class, [
|
||||
'required' => false,
|
||||
'selectpicker' => $this->getSelectpickerConfig(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -149,6 +161,7 @@ abstract class AbstractToolbarForm extends AbstractType
|
||||
|
||||
return $repo->getQueryBuilderForFormType($query);
|
||||
},
|
||||
'selectpicker' => $this->getSelectpickerConfig(),
|
||||
]);
|
||||
}
|
||||
);
|
||||
@@ -177,6 +190,7 @@ abstract class AbstractToolbarForm extends AbstractType
|
||||
|
||||
return $repo->getQueryBuilderForFormType($query);
|
||||
},
|
||||
'selectpicker' => $this->getSelectpickerConfig(),
|
||||
]);
|
||||
}
|
||||
);
|
||||
@@ -196,6 +210,11 @@ abstract class AbstractToolbarForm extends AbstractType
|
||||
]);
|
||||
}
|
||||
|
||||
protected function addSearchTermInputField(FormBuilderInterface $builder)
|
||||
{
|
||||
$builder->add('searchTerm', SearchTermType::class);
|
||||
}
|
||||
|
||||
protected function addTimesheetStateChoice(FormBuilderInterface $builder)
|
||||
{
|
||||
$builder->add('state', ChoiceType::class, [
|
||||
@@ -207,6 +226,7 @@ abstract class AbstractToolbarForm extends AbstractType
|
||||
'entryState.running' => TimesheetQuery::STATE_RUNNING,
|
||||
'entryState.stopped' => TimesheetQuery::STATE_STOPPED
|
||||
],
|
||||
'selectpicker' => $this->getSelectpickerConfig(),
|
||||
]);
|
||||
}
|
||||
|
||||
@@ -221,6 +241,7 @@ abstract class AbstractToolbarForm extends AbstractType
|
||||
'entryState.exported' => TimesheetQuery::STATE_EXPORTED,
|
||||
'entryState.not_exported' => TimesheetQuery::STATE_NOT_EXPORTED
|
||||
],
|
||||
'selectpicker' => $this->getSelectpickerConfig(),
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user