From 0ee41a93814fa811d4c7c758ee9b4c90a37a944b Mon Sep 17 00:00:00 2001
From: Alex ORLUC <alex.orluc@maarch.org>
Date: Mon, 5 Oct 2020 17:05:43 +0200
Subject: [PATCH] FEAT #13271 TIME 0:10 fix saved criteria

---
 .../criteria-tool/criteria-tool.component.ts      |  3 ++-
 src/frontend/service/criteriaSearch.service.ts    | 15 +++++++++++++--
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.ts b/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.ts
index 929badd6e73..172482e55eb 100644
--- a/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.ts
+++ b/src/frontend/app/adv-search/criteria-tool/criteria-tool.component.ts
@@ -86,7 +86,8 @@ export class CriteriaToolComponent implements OnInit {
         private notify: NotificationService,
         private datePipe: DatePipe,
         private latinisePipe: LatinisePipe,
-        private sortPipe: SortPipe) {
+        private sortPipe: SortPipe
+    ) {
         _activatedRoute.queryParams.subscribe(
             params => {
                 this.searchTerm = params.value;
diff --git a/src/frontend/service/criteriaSearch.service.ts b/src/frontend/service/criteriaSearch.service.ts
index 5f8eae393b5..d2f243b0ca1 100644
--- a/src/frontend/service/criteriaSearch.service.ts
+++ b/src/frontend/service/criteriaSearch.service.ts
@@ -1,6 +1,7 @@
 import { DatePipe } from '@angular/common';
 import { Injectable } from '@angular/core';
 import { FunctionsService } from './functions.service';
+import { HeaderService } from './header.service';
 
 interface ListProperties {
     'page': number;
@@ -25,7 +26,8 @@ export class CriteriaSearchService {
 
     constructor(
         private datePipe: DatePipe,
-        public functions: FunctionsService
+        public functions: FunctionsService,
+        private headerService: HeaderService,
     ) { }
 
     initListsProperties(userId: number) {
@@ -34,6 +36,15 @@ export class CriteriaSearchService {
 
         if (crit !== null) {
             this.listsProperties = JSON.parse(sessionStorage.getItem('criteriaSearch_' + userId));
+        } else {
+            this.listsProperties = {
+                page : 0,
+                pageSize : 0,
+                order: 'creationDate',
+                orderDir: 'DESC',
+                criteria: [],
+                filters: []
+            };
         }
 
         return this.listsProperties;
@@ -60,7 +71,7 @@ export class CriteriaSearchService {
     }
 
     saveListsProperties() {
-        sessionStorage.setItem('criteriaSearch', JSON.stringify(this.listsProperties));
+        sessionStorage.setItem('criteriaSearch_' + this.headerService.user.id, JSON.stringify(this.listsProperties));
     }
 
     getCriteria() {
-- 
GitLab