|
@@ -66,23 +66,52 @@ class FiltersConfigurationService
|
|
|
public function suspendTimeConstraintFilters(): void
|
|
public function suspendTimeConstraintFilters(): void
|
|
|
{
|
|
{
|
|
|
if ($this->previousTimeConstraintState !== null) {
|
|
if ($this->previousTimeConstraintState !== null) {
|
|
|
- throw new \RuntimeException('date_time_filter is already suspended');
|
|
|
|
|
|
|
+ throw new \RuntimeException('time constraint is already suspended');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- $filters = $this->entityManager->getFilters();
|
|
|
|
|
-
|
|
|
|
|
- if (!$filters->isEnabled('date_time_filter')) {
|
|
|
|
|
|
|
+ if ($this->timeFiltersAllReadyDisabled()) {
|
|
|
$this->previousTimeConstraintState = false;
|
|
$this->previousTimeConstraintState = false;
|
|
|
-
|
|
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
- /** @var AbstractTimeFilter $filter */
|
|
|
|
|
- $filter = $filters->getFilter('date_time_filter');
|
|
|
|
|
|
|
+ $this->suspendDateTimeConstraintFilters();
|
|
|
|
|
+ $this->suspendActivityYearConstraintFilters();
|
|
|
|
|
|
|
|
- $this->previousTimeConstraintState = $filter->isDisabled() === false;
|
|
|
|
|
|
|
+ $this->previousTimeConstraintState = false;
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- $filter->setDisabled(true);
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Test si les filtres de temps sont déjà désactivés
|
|
|
|
|
+ * @return bool
|
|
|
|
|
+ */
|
|
|
|
|
+ private function timeFiltersAllReadyDisabled(): bool
|
|
|
|
|
+ {
|
|
|
|
|
+ $filters = $this->entityManager->getFilters();
|
|
|
|
|
+ return !$filters->isEnabled('date_time_filter') && !$filters->isEnabled('activity_year_filter');
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Suspend le filtre date_time_filter
|
|
|
|
|
+ * @return void
|
|
|
|
|
+ */
|
|
|
|
|
+ private function suspendDateTimeConstraintFilters(): void
|
|
|
|
|
+ {
|
|
|
|
|
+ $filters = $this->entityManager->getFilters();
|
|
|
|
|
+ /** @var AbstractTimeFilter $filter */
|
|
|
|
|
+ $dateTimeFilter = $filters->getFilter('date_time_filter');
|
|
|
|
|
+ $dateTimeFilter->setDisabled(true);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Suspend le filtre activity_year_filter
|
|
|
|
|
+ * @return void
|
|
|
|
|
+ */
|
|
|
|
|
+ private function suspendActivityYearConstraintFilters(): void
|
|
|
|
|
+ {
|
|
|
|
|
+ $filters = $this->entityManager->getFilters();
|
|
|
|
|
+ /** @var AbstractTimeFilter $filter */
|
|
|
|
|
+ $dateTimeFilter = $filters->getFilter('activity_year_filter');
|
|
|
|
|
+ $dateTimeFilter->setDisabled(true);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
/**
|
|
@@ -94,9 +123,20 @@ class FiltersConfigurationService
|
|
|
public function restoreTimeConstraintFilters(): void
|
|
public function restoreTimeConstraintFilters(): void
|
|
|
{
|
|
{
|
|
|
if ($this->previousTimeConstraintState === null) {
|
|
if ($this->previousTimeConstraintState === null) {
|
|
|
- throw new \RuntimeException('date_time_filter has not been suspended, can not be restored');
|
|
|
|
|
|
|
+ throw new \RuntimeException('time constraint has not been suspended, can not be restored');
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ $this->restoreDateTimeFilter();
|
|
|
|
|
+ $this->restoreActivityYearFilter();
|
|
|
|
|
+
|
|
|
|
|
+ $this->previousTimeConstraintState = null;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Restaure le filtre date_time_filter
|
|
|
|
|
+ * @return void
|
|
|
|
|
+ */
|
|
|
|
|
+ private function restoreDateTimeFilter(){
|
|
|
$filters = $this->entityManager->getFilters();
|
|
$filters = $this->entityManager->getFilters();
|
|
|
|
|
|
|
|
if ($filters->isEnabled('date_time_filter')) {
|
|
if ($filters->isEnabled('date_time_filter')) {
|
|
@@ -104,7 +144,19 @@ class FiltersConfigurationService
|
|
|
$filter = $filters->getFilter('date_time_filter');
|
|
$filter = $filters->getFilter('date_time_filter');
|
|
|
$filter->setDisabled($this->previousTimeConstraintState);
|
|
$filter->setDisabled($this->previousTimeConstraintState);
|
|
|
}
|
|
}
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- $this->previousTimeConstraintState = null;
|
|
|
|
|
|
|
+ /**
|
|
|
|
|
+ * Restaure le filtre activity_year_filter
|
|
|
|
|
+ * @return void
|
|
|
|
|
+ */
|
|
|
|
|
+ private function restoreActivityYearFilter(){
|
|
|
|
|
+ $filters = $this->entityManager->getFilters();
|
|
|
|
|
+
|
|
|
|
|
+ if ($filters->isEnabled('activity_year_filter')) {
|
|
|
|
|
+ /** @var AbstractTimeFilter $filter */
|
|
|
|
|
+ $filter = $filters->getFilter('activity_year_filter');
|
|
|
|
|
+ $filter->setDisabled($this->previousTimeConstraintState);
|
|
|
|
|
+ }
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|