Loading module/Oscar/src/Oscar/Controller/AdministrationController.php +2 −2 Original line number Diff line number Diff line Loading @@ -1750,8 +1750,8 @@ class AdministrationController extends AbstractOscarController implements if (array_key_exists($t->getId(), $infos)) { $dt['documents_total'] = $infos[$t->getId()]; if ($hasSearchAccess) { $dt['documents_view'] = $this->url()->fromRoute('contract/advancedsearch') . '?q=&criteria[]=td%3B' . $t->getId() . '%3B0'; $dt['documents_view'] = $this->url()->fromRoute('contract/search-global') . '?q=&f[]=dt%3B' . $t->getId() . '%3B0'; } } $out['types'][] = $dt; Loading module/Oscar/src/Oscar/Controller/ProjectGrantController.php +1 −0 Original line number Diff line number Diff line Loading @@ -2898,6 +2898,7 @@ class ProjectGrantController extends AbstractOscarController implements UseNotif $filtersOptions['disciplines'] = $this->getProjectGrantSearchService()->getFilterOptionsDisciplines(); $filtersOptions['keywords'] = $this->getProjectGrantSearchService()->getFilterOptionsKeywords(); $filtersOptions['status'] = $this->getAdministrationConfigService()->activityStatusSelect(true, true, false); $filtersOptions['documentsTypes'] = $this->getProjectGrantSearchService()->getFilterOptionsDocumentTypes(); $filtersOptions['milestones'] = $milestonesType; $filtersOptions['milestonesProgressions'] = $milestonesProgressions; $filtersOptions['rolesPersons'] = $rolesPersons; Loading module/Oscar/src/Oscar/Service/ProjectGrantService.php +30 −1 Original line number Diff line number Diff line Loading @@ -2702,6 +2702,11 @@ class ProjectGrantService implements UseGearmanJobLauncherService, UseOscarConfi "label" => $this->getOscarConfigurationService()->oscarText("Type"), "raw" => 'at;;;' ], "dt" => [ "key" => 'dt', "label" => $this->getOscarConfigurationService()->oscarText("Type de document"), "raw" => 'dt;;;' ], "ap" => [ "key" => 'ap', "label" => $this->getOscarConfigurationService()->oscarText("Personne impliquée"), Loading Loading @@ -3018,7 +3023,31 @@ class ProjectGrantService implements UseGearmanJobLauncherService, UseOscarConfi break; ///////////////////////////////////////////// STATUS ////////////////////////////////////////////// TYPE de DOCUMENT case 'dt': $idsDoc = ""; $value1 = explode(',', $value1); try { $reverse = $value2 == "1"; $filteredIds = $this->getActivitiesIdsWithTypeDocument( $value1, $reverse ); } catch (Exception $e) { $this->getLoggerService()->warning($e->getMessage()); throw new OscarException("Un problème est survenu en filtrant sur les types de documents"); } if (!array_key_exists('dt', $filterES)) { $filterES['dt'] = []; } $filterES['dt'][] = [ 'terms' => [ 'id' => $filteredIds ] ]; break; ///////////////////////////////////////////// DISCIPLINE case 'dis': if( !$value1 ){ $error = "Aucune discipline"; Loading ui/src/views/ActivityList.vue +9 −1 Original line number Diff line number Diff line Loading @@ -98,7 +98,6 @@ <option value="">Ajouter un filtre</option> <option :value="f.key" v-for="(f,k) in filtersOptions.filters">{{ k +" : " + f.label }}</option> </select> <section class="activity-filters"> <div v-for="filter in filters"> <activity-search-filter-type Loading Loading @@ -178,6 +177,14 @@ @filter-update="handlerUpdateFilter(filter, $event)" @remove="handlerRemoveFilter(filter)" /> <activity-search-filter-multi-select-value v-else-if="filter.type == 'dt'" :values="filtersOptions.documentsTypes" :filter="filter" @filter-update="handlerUpdateFilter(filter, $event)" @remove="handlerRemoveFilter(filter)" /> <activity-search-filter-generic v-else :filter="filter" Loading Loading @@ -450,6 +457,7 @@ export default { handlerAddFilter(evt){ try { let filter = this.filtersOptions.filters[evt.target.value]; console.log(filter); this.handlerAddFilterFromRaw(filter.raw); evt.target.value = ""; } catch (err) { Loading Loading
module/Oscar/src/Oscar/Controller/AdministrationController.php +2 −2 Original line number Diff line number Diff line Loading @@ -1750,8 +1750,8 @@ class AdministrationController extends AbstractOscarController implements if (array_key_exists($t->getId(), $infos)) { $dt['documents_total'] = $infos[$t->getId()]; if ($hasSearchAccess) { $dt['documents_view'] = $this->url()->fromRoute('contract/advancedsearch') . '?q=&criteria[]=td%3B' . $t->getId() . '%3B0'; $dt['documents_view'] = $this->url()->fromRoute('contract/search-global') . '?q=&f[]=dt%3B' . $t->getId() . '%3B0'; } } $out['types'][] = $dt; Loading
module/Oscar/src/Oscar/Controller/ProjectGrantController.php +1 −0 Original line number Diff line number Diff line Loading @@ -2898,6 +2898,7 @@ class ProjectGrantController extends AbstractOscarController implements UseNotif $filtersOptions['disciplines'] = $this->getProjectGrantSearchService()->getFilterOptionsDisciplines(); $filtersOptions['keywords'] = $this->getProjectGrantSearchService()->getFilterOptionsKeywords(); $filtersOptions['status'] = $this->getAdministrationConfigService()->activityStatusSelect(true, true, false); $filtersOptions['documentsTypes'] = $this->getProjectGrantSearchService()->getFilterOptionsDocumentTypes(); $filtersOptions['milestones'] = $milestonesType; $filtersOptions['milestonesProgressions'] = $milestonesProgressions; $filtersOptions['rolesPersons'] = $rolesPersons; Loading
module/Oscar/src/Oscar/Service/ProjectGrantService.php +30 −1 Original line number Diff line number Diff line Loading @@ -2702,6 +2702,11 @@ class ProjectGrantService implements UseGearmanJobLauncherService, UseOscarConfi "label" => $this->getOscarConfigurationService()->oscarText("Type"), "raw" => 'at;;;' ], "dt" => [ "key" => 'dt', "label" => $this->getOscarConfigurationService()->oscarText("Type de document"), "raw" => 'dt;;;' ], "ap" => [ "key" => 'ap', "label" => $this->getOscarConfigurationService()->oscarText("Personne impliquée"), Loading Loading @@ -3018,7 +3023,31 @@ class ProjectGrantService implements UseGearmanJobLauncherService, UseOscarConfi break; ///////////////////////////////////////////// STATUS ////////////////////////////////////////////// TYPE de DOCUMENT case 'dt': $idsDoc = ""; $value1 = explode(',', $value1); try { $reverse = $value2 == "1"; $filteredIds = $this->getActivitiesIdsWithTypeDocument( $value1, $reverse ); } catch (Exception $e) { $this->getLoggerService()->warning($e->getMessage()); throw new OscarException("Un problème est survenu en filtrant sur les types de documents"); } if (!array_key_exists('dt', $filterES)) { $filterES['dt'] = []; } $filterES['dt'][] = [ 'terms' => [ 'id' => $filteredIds ] ]; break; ///////////////////////////////////////////// DISCIPLINE case 'dis': if( !$value1 ){ $error = "Aucune discipline"; Loading
ui/src/views/ActivityList.vue +9 −1 Original line number Diff line number Diff line Loading @@ -98,7 +98,6 @@ <option value="">Ajouter un filtre</option> <option :value="f.key" v-for="(f,k) in filtersOptions.filters">{{ k +" : " + f.label }}</option> </select> <section class="activity-filters"> <div v-for="filter in filters"> <activity-search-filter-type Loading Loading @@ -178,6 +177,14 @@ @filter-update="handlerUpdateFilter(filter, $event)" @remove="handlerRemoveFilter(filter)" /> <activity-search-filter-multi-select-value v-else-if="filter.type == 'dt'" :values="filtersOptions.documentsTypes" :filter="filter" @filter-update="handlerUpdateFilter(filter, $event)" @remove="handlerRemoveFilter(filter)" /> <activity-search-filter-generic v-else :filter="filter" Loading Loading @@ -450,6 +457,7 @@ export default { handlerAddFilter(evt){ try { let filter = this.filtersOptions.filters[evt.target.value]; console.log(filter); this.handlerAddFilterFromRaw(filter.raw); evt.target.value = ""; } catch (err) { Loading