From 93df81be60e08fe0189876302ed34b543e52e870 Mon Sep 17 00:00:00 2001 From: Julien Corny Date: Tue, 10 Dec 2024 01:00:35 +0100 Subject: [PATCH 1/7] feat: create and set import buttons --- .../monitoring-lists.component.html | 19 ++++++-- .../monitoring-lists.component.ts | 48 ++++++++++++++++++- 2 files changed, 62 insertions(+), 5 deletions(-) diff --git a/frontend/app/components/monitoring-lists/monitoring-lists.component.html b/frontend/app/components/monitoring-lists/monitoring-lists.component.html index 9aa1536c6..d89a9440b 100644 --- a/frontend/app/components/monitoring-lists/monitoring-lists.component.html +++ b/frontend/app/components/monitoring-lists/monitoring-lists.component.html @@ -43,15 +43,28 @@ Ajouter {{ child0.template['label_art_undef_new'] || '' }} + +
{ // this.initDataTable(); // }); + + // get user cruved + const currentModule = this._moduleService.currentModule; + this.userCruved = currentModule.module_objects.MONITORINGS_SITES.cruved; + let cruvedImport: any = {}; + if (this._cruvedStore.cruved.IMPORT) { + cruvedImport = this._cruvedStore.cruved.IMPORT.module_objects.IMPORT.cruved; + } + const canCreateImport = cruvedImport.C > 0; + const canCreateMonitoring = this.userCruved.C > 0; + + this.canImport = canCreateImport && canCreateMonitoring; } initDataTable() { @@ -126,6 +147,29 @@ export class MonitoringListComponent implements OnInit { return nb == nbSelected ? `(${nb})` : `(${nbSelected}/${nb})`; } + getImportQueryParams() { + if ("observation" in this.obj.children) { + return { + id_module: this.obj.properties['id_module'], + id_base_site: this.obj.properties['id_base_site'], // todo: is it useful ? + id_dataset: this.obj.properties['id_dataset'], // todo: is it useful ? + id_base_visit: this.obj.properties['id_base_visit'] + } + } + if ("visit" in this.obj.children) { + return { + id_module: this.obj.parents['module'].properties['id_module'], + id_base_site: this.obj.properties['id_base_site'] + } + } + if ("site" in this.obj.children) { + return { + id_module: this.obj.properties['id_module'], + } + } + return {} + } + ngOnChanges(changes: SimpleChanges) { for (const propName of Object.keys(changes)) { const chng = changes[propName]; From d6e79e4ccda26168e576bfc47670fe50d13b627c Mon Sep 17 00:00:00 2001 From: Julien Corny Date: Fri, 13 Dec 2024 10:14:43 +0100 Subject: [PATCH 2/7] fix: add css on buttons --- .../monitoring-lists/monitoring-lists.component.css | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frontend/app/components/monitoring-lists/monitoring-lists.component.css b/frontend/app/components/monitoring-lists/monitoring-lists.component.css index 535d451fb..c53b649db 100644 --- a/frontend/app/components/monitoring-lists/monitoring-lists.component.css +++ b/frontend/app/components/monitoring-lists/monitoring-lists.component.css @@ -19,3 +19,7 @@ button:disabled { cursor: not-allowed; text-decoration: none; } + +#import-btn { + margin: 0 0.5rem; +} From ab513e789c1da566bfb6a590bc6bdd67b1230263 Mon Sep 17 00:00:00 2001 From: Julien Corny Date: Fri, 13 Dec 2024 11:50:53 +0100 Subject: [PATCH 3/7] prettier formatting --- .../monitoring-lists.component.ts | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/frontend/app/components/monitoring-lists/monitoring-lists.component.ts b/frontend/app/components/monitoring-lists/monitoring-lists.component.ts index 339dedeef..5bdc2286a 100644 --- a/frontend/app/components/monitoring-lists/monitoring-lists.component.ts +++ b/frontend/app/components/monitoring-lists/monitoring-lists.component.ts @@ -43,7 +43,7 @@ export class MonitoringListComponent implements OnInit { childrenColumns; queyParamsNewObject = {}; - importQueryParams = {} + importQueryParams = {}; // medias; canCreateChild: { [key: string]: boolean } = {}; @@ -56,8 +56,8 @@ export class MonitoringListComponent implements OnInit { private _configService: ConfigService, private _listService: ListService, public _cruvedStore: CruvedStoreService, - private _moduleService: ModuleService, - ) { } + private _moduleService: ModuleService + ) {} ngOnInit() { // Permet d'éviter une double initialisation du composant @@ -148,26 +148,26 @@ export class MonitoringListComponent implements OnInit { } getImportQueryParams() { - if ("observation" in this.obj.children) { + if ('observation' in this.obj.children) { return { id_module: this.obj.properties['id_module'], id_base_site: this.obj.properties['id_base_site'], // todo: is it useful ? id_dataset: this.obj.properties['id_dataset'], // todo: is it useful ? - id_base_visit: this.obj.properties['id_base_visit'] - } + id_base_visit: this.obj.properties['id_base_visit'], + }; } - if ("visit" in this.obj.children) { + if ('visit' in this.obj.children) { return { id_module: this.obj.parents['module'].properties['id_module'], - id_base_site: this.obj.properties['id_base_site'] - } + id_base_site: this.obj.properties['id_base_site'], + }; } - if ("site" in this.obj.children) { + if ('site' in this.obj.children) { return { id_module: this.obj.properties['id_module'], - } + }; } - return {} + return {}; } ngOnChanges(changes: SimpleChanges) { From 4a82fb992dde004a66d4b0a870c0410bec215342 Mon Sep 17 00:00:00 2001 From: Etienne Delclaux <150020787+edelclaux@users.noreply.github.com> Date: Wed, 22 Jan 2025 17:19:35 +0100 Subject: [PATCH 4/7] style: can Import computation Co-authored-by: Jacques Fize <4259846+jacquesfize@users.noreply.github.com> --- .../monitoring-lists/monitoring-lists.component.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/frontend/app/components/monitoring-lists/monitoring-lists.component.ts b/frontend/app/components/monitoring-lists/monitoring-lists.component.ts index 5bdc2286a..72dd2380d 100644 --- a/frontend/app/components/monitoring-lists/monitoring-lists.component.ts +++ b/frontend/app/components/monitoring-lists/monitoring-lists.component.ts @@ -72,10 +72,7 @@ export class MonitoringListComponent implements OnInit { if (this._cruvedStore.cruved.IMPORT) { cruvedImport = this._cruvedStore.cruved.IMPORT.module_objects.IMPORT.cruved; } - const canCreateImport = cruvedImport.C > 0; - const canCreateMonitoring = this.userCruved.C > 0; - - this.canImport = canCreateImport && canCreateMonitoring; + this.canImport = cruvedImport.C > 0 && this.userCruved.C > 0; } initDataTable() { From 84b61ed43f622aa834ef2a8c5f967c1fecf99fb4 Mon Sep 17 00:00:00 2001 From: Etienne Delclaux Date: Wed, 22 Jan 2025 17:36:14 +0100 Subject: [PATCH 5/7] chore: userCruved moved to the scope of ngOnInit --- .../monitoring-lists/monitoring-lists.component.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/app/components/monitoring-lists/monitoring-lists.component.ts b/frontend/app/components/monitoring-lists/monitoring-lists.component.ts index 72dd2380d..baba81186 100644 --- a/frontend/app/components/monitoring-lists/monitoring-lists.component.ts +++ b/frontend/app/components/monitoring-lists/monitoring-lists.component.ts @@ -49,7 +49,6 @@ export class MonitoringListComponent implements OnInit { canCreateChild: { [key: string]: boolean } = {}; toolTipNotAllowed: string = TOOLTIPMESSAGEALERT; - public userCruved: any; public canImport: boolean = false; constructor( @@ -67,12 +66,13 @@ export class MonitoringListComponent implements OnInit { // get user cruved const currentModule = this._moduleService.currentModule; - this.userCruved = currentModule.module_objects.MONITORINGS_SITES.cruved; + const userCruved = currentModule.module_objects.MONITORINGS_SITES.cruved; + let cruvedImport: any = {}; if (this._cruvedStore.cruved.IMPORT) { cruvedImport = this._cruvedStore.cruved.IMPORT.module_objects.IMPORT.cruved; } - this.canImport = cruvedImport.C > 0 && this.userCruved.C > 0; + this.canImport = cruvedImport.C > 0 && userCruved.C > 0; } initDataTable() { From 4ac6767cafce5b59ef527c01741ce106bb1d40fc Mon Sep 17 00:00:00 2001 From: Etienne Delclaux Date: Wed, 22 Jan 2025 18:06:26 +0100 Subject: [PATCH 6/7] fix: update route --- .../monitoring-lists.component.html | 2 +- .../monitoring-lists/monitoring-lists.component.ts | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/frontend/app/components/monitoring-lists/monitoring-lists.component.html b/frontend/app/components/monitoring-lists/monitoring-lists.component.html index d89a9440b..693e0aa04 100644 --- a/frontend/app/components/monitoring-lists/monitoring-lists.component.html +++ b/frontend/app/components/monitoring-lists/monitoring-lists.component.html @@ -50,7 +50,7 @@ *ngIf="this.canImport" color="primary" class="btn-action uppercase float-right" - [routerLink]="['/import']" + [routerLink]="[importRoute]" [queryParams]="this.getImportQueryParams()" > Importer diff --git a/frontend/app/components/monitoring-lists/monitoring-lists.component.ts b/frontend/app/components/monitoring-lists/monitoring-lists.component.ts index baba81186..b327dcb46 100644 --- a/frontend/app/components/monitoring-lists/monitoring-lists.component.ts +++ b/frontend/app/components/monitoring-lists/monitoring-lists.component.ts @@ -66,7 +66,8 @@ export class MonitoringListComponent implements OnInit { // get user cruved const currentModule = this._moduleService.currentModule; - const userCruved = currentModule.module_objects.MONITORINGS_SITES.cruved; + const userCruved = + this._cruvedStore.cruved[this.obj.moduleCode].module_objects.MONITORINGS_SITES.cruved; let cruvedImport: any = {}; if (this._cruvedStore.cruved.IMPORT) { @@ -75,6 +76,10 @@ export class MonitoringListComponent implements OnInit { this.canImport = cruvedImport.C > 0 && userCruved.C > 0; } + get importRoute(): string { + return `/import/${this.obj.moduleCode}/process/upload`; + } + initDataTable() { for (const key of Object.keys(this.obj.children)) { this.queyParamsNewObject[key] = {}; @@ -147,7 +152,6 @@ export class MonitoringListComponent implements OnInit { getImportQueryParams() { if ('observation' in this.obj.children) { return { - id_module: this.obj.properties['id_module'], id_base_site: this.obj.properties['id_base_site'], // todo: is it useful ? id_dataset: this.obj.properties['id_dataset'], // todo: is it useful ? id_base_visit: this.obj.properties['id_base_visit'], @@ -155,14 +159,11 @@ export class MonitoringListComponent implements OnInit { } if ('visit' in this.obj.children) { return { - id_module: this.obj.parents['module'].properties['id_module'], id_base_site: this.obj.properties['id_base_site'], }; } if ('site' in this.obj.children) { - return { - id_module: this.obj.properties['id_module'], - }; + return {}; } return {}; } From f47a1e7ad6b320b269ddcad4ceaaaf61c3c49f75 Mon Sep 17 00:00:00 2001 From: Etienne Delclaux Date: Thu, 23 Jan 2025 13:03:40 +0100 Subject: [PATCH 7/7] fix: remove unused module --- .../monitoring-lists/monitoring-lists.component.ts | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/frontend/app/components/monitoring-lists/monitoring-lists.component.ts b/frontend/app/components/monitoring-lists/monitoring-lists.component.ts index b327dcb46..0103b0403 100644 --- a/frontend/app/components/monitoring-lists/monitoring-lists.component.ts +++ b/frontend/app/components/monitoring-lists/monitoring-lists.component.ts @@ -4,7 +4,6 @@ import { ConfigService } from '../../services/config.service'; import { MonitoringObject } from '../../class/monitoring-object'; import { CruvedStoreService } from '@geonature_common/service/cruved-store.service'; -import { ModuleService } from '@geonature/services/module.service'; import { Utils } from '../../utils/utils'; import { TOOLTIPMESSAGEALERT } from '../../constants/guard'; @@ -54,8 +53,7 @@ export class MonitoringListComponent implements OnInit { constructor( private _configService: ConfigService, private _listService: ListService, - public _cruvedStore: CruvedStoreService, - private _moduleService: ModuleService + public _cruvedStore: CruvedStoreService ) {} ngOnInit() { @@ -65,7 +63,6 @@ export class MonitoringListComponent implements OnInit { // }); // get user cruved - const currentModule = this._moduleService.currentModule; const userCruved = this._cruvedStore.cruved[this.obj.moduleCode].module_objects.MONITORINGS_SITES.cruved;