From c744b03a6dfc3333c8db490507c4b6d12d3736fd Mon Sep 17 00:00:00 2001
From: "florian.azizian" <florian.azizian@maarch.org>
Date: Tue, 24 Nov 2020 11:24:58 +0100
Subject: [PATCH] FEAT #15407 TIME 1:00 Translation + clean scss + fix remove
 admin group

---
 lang/en.json                                  |  4 +
 lang/fr.json                                  |  4 +
 .../administration/group/group.component.html |  4 +-
 .../administration/group/group.component.scss |  1 -
 .../administration/group/group.component.ts   |  8 +-
 .../home/administration.component.scss        |  2 -
 .../administration/user/user.component.scss   |  1 -
 .../associated-documents.component.scss       | 77 -------------------
 .../document-list.component.scss              | 42 +---------
 .../main-document-detail.component.scss       | 46 +----------
 .../models/visa-workflow-models.component.ts  |  8 +-
 .../visa-workflow.component.html              |  2 +-
 .../visa-workflow/visa-workflow.component.ts  |  3 -
 .../password-modification.scss                |  1 -
 .../app/sidebar/sidebar.component.scss        | 36 ---------
 15 files changed, 21 insertions(+), 218 deletions(-)

diff --git a/lang/en.json b/lang/en.json
index 9f7eb362cb..d9ff39292c 100755
--- a/lang/en.json
+++ b/lang/en.json
@@ -314,6 +314,10 @@
 		"alreadyUsedPassword": "The password has already been used",
 		"noAssociatedGroup": "The user does not belong to any group",
 		"thumbnailNotFound": "Thumbnail not found or not readable.<br>Check docservers or ImageMagick configuration",
+		"noUserInWorkflow": "No user found in workflow",
+		"newTemplate": "New template",
+		"newTemplateDesc": "Current workflow will be saved",
+		"deleteTemplate": "So you really want to delete this template ?",
 		"homePage": "Home page"
 	}
 }
diff --git a/lang/fr.json b/lang/fr.json
index e4fd56c0aa..875d2fc439 100755
--- a/lang/fr.json
+++ b/lang/fr.json
@@ -349,6 +349,10 @@
 		"refused": "Refusé",
 		"results": "résultat(s)",
 		"thumbnailNotFound": "Imagette non trouvée ou non accessible.<br>Vérifier les docservers ou la configuration de ImageMagick",
+		"noUserInWorkflow": "Aucune personne dans le circuit",
+		"newTemplate": "Nouveau modèle",
+		"newTemplateDesc": "Le circuit en cours sera sauvegardé.",
+		"deleteTemplate": "Voulez-vous supprimer le modèle ?",
 		"subjectMandatory": "Veuillez renseigner tous les objets des documents",
 		"mainDocumentMandatory": "Veuillez choisir un document à signer",
 		"workflowUserstMandatory": "Veuillez choisir des utilisateurs pour le circuit",
diff --git a/src/frontend/app/administration/group/group.component.html b/src/frontend/app/administration/group/group.component.html
index e41ead76e1..39257d8767 100644
--- a/src/frontend/app/administration/group/group.component.html
+++ b/src/frontend/app/administration/group/group.component.html
@@ -19,9 +19,9 @@
         <ion-grid *ngIf="!creationMode">
             <ion-row>
                 <ion-col size="4" *ngFor="let privilege of group.privileges">
-                    <ion-item>
+                    <ion-item (click)="$event.preventDefault();togglePrivilege(privilege)" style="cursor: pointer">
                         <ion-toggle slot="start" [name]="privilege.id" color="primary" [checked]="privilege.checked"
-                            [(ngModel)]="privilege.checked" (ngModelChange)="togglePrivilege(privilege)"></ion-toggle>
+                            [(ngModel)]="privilege.checked"></ion-toggle>
                         <ion-label>{{'lang.' + privilege.id + 'Admin' | translate}}</ion-label>
                     </ion-item>
                 </ion-col>
diff --git a/src/frontend/app/administration/group/group.component.scss b/src/frontend/app/administration/group/group.component.scss
index b3ae31e058..26e806580f 100644
--- a/src/frontend/app/administration/group/group.component.scss
+++ b/src/frontend/app/administration/group/group.component.scss
@@ -1,4 +1,3 @@
-@import '../../../css/vars.scss';
 
 .privilegesList {
   padding-top: 10px;
diff --git a/src/frontend/app/administration/group/group.component.ts b/src/frontend/app/administration/group/group.component.ts
index 539e798315..0e9ec71855 100644
--- a/src/frontend/app/administration/group/group.component.ts
+++ b/src/frontend/app/administration/group/group.component.ts
@@ -242,7 +242,7 @@ export class GroupComponent implements OnInit {
     }
 
     async togglePrivilege(privilege: any) {
-        if (privilege.id === 'manage_groups') {
+        if (privilege.id === 'manage_groups' && privilege.checked) {
             const alert = await this.alertController.create({
                 // cssClass: 'custom-alert-danger',
                 header: this.translate.instant('lang.confirmMsg'),
@@ -252,13 +252,12 @@ export class GroupComponent implements OnInit {
                         text: this.translate.instant('lang.no'),
                         role: 'cancel',
                         cssClass: 'secondary',
-                        handler: () => {
-                            privilege.checked = !privilege.checked;
-                        }
+                        handler: () => {}
                     },
                     {
                         text: this.translate.instant('lang.yes'),
                         handler: () => {
+                            privilege.checked = !privilege.checked;
                             this.updatePrivilege(privilege);
                         }
                     }
@@ -267,6 +266,7 @@ export class GroupComponent implements OnInit {
             await alert.present();
 
         } else {
+            privilege.checked = !privilege.checked;
             this.updatePrivilege(privilege);
         }
     }
diff --git a/src/frontend/app/administration/home/administration.component.scss b/src/frontend/app/administration/home/administration.component.scss
index 8261a8113b..3b548e6058 100644
--- a/src/frontend/app/administration/home/administration.component.scss
+++ b/src/frontend/app/administration/home/administration.component.scss
@@ -1,5 +1,3 @@
-@import '../../../css/vars.scss';
-
 
 .container {
   flex: 1;
diff --git a/src/frontend/app/administration/user/user.component.scss b/src/frontend/app/administration/user/user.component.scss
index c655824dc5..06523365b0 100644
--- a/src/frontend/app/administration/user/user.component.scss
+++ b/src/frontend/app/administration/user/user.component.scss
@@ -1,4 +1,3 @@
-@import '../../../css/vars.scss';
 
 .avatarProfile {
   width: 65px;
diff --git a/src/frontend/app/document/associated-documents/associated-documents.component.scss b/src/frontend/app/document/associated-documents/associated-documents.component.scss
index 54e432aff3..9c4ec7d20d 100644
--- a/src/frontend/app/document/associated-documents/associated-documents.component.scss
+++ b/src/frontend/app/document/associated-documents/associated-documents.component.scss
@@ -1,4 +1,3 @@
-@import '../../../css/vars.scss';
 
 .mat-list-item {
     height: auto !important;
@@ -10,86 +9,10 @@
     border: solid 1px #E0E0E0;
 }
 
-.infosPj {
-    background: #F9F9F9;
-    border-top: solid 1px rgba(0, 0, 0, 0.12);
-    position: absolute;
-    width: 100%;
-    bottom: 0;
-    padding: 5px;
-
-    ::ng-deep.mat-expansion-panel-body {
-        padding: 0px;
-    }
-
-    ::ng-deep.mat-form-field-label {
-        color: $primary;
-    }
-}
-
-.subInfos {
-    display: block;
-    font-size: 12px;
-    color: $primary;
-    font-weight: bold;
-}
-
-.subInfosBottom {
-    font-size: 12px;
-    color: #666;
-}
-
 .mat-icon {
     height: auto;
 }
 
-.pjToolsContent {
-    position: absolute;
-    border: solid 1px #E0E0E0;
-    border-bottom-left-radius: 5px;
-    background: white;
-    padding: 10px;
-    font-weight: 600;
-    color: #135F7F;
-    font-size: 14px;
-    top: 10px;
-}
-
-.current {
-    box-shadow: 0px 0px 20px 0px #656565;
-}
-
-.panel-header {
-    box-shadow: 0px 0px 10px 0px #656565;
-    color: white;
-    background: $primary;
-    height: 65px;
-    display: flex;
-    justify-content: center;
-    position: relative;
-    font-size: 20px;
-    align-items: center;
-}
-.pjListContent {
-    padding-left: 30px;
-    padding-right: 30px;
-    flex: 1;
-    overflow: auto;
-}
-.panel-content {
-    display: flex;
-    flex-direction: column;
-    position: relative;
-    height: 100%;
-    overflow: hidden;
-}
-
-.closePanel {
-    position: absolute;
-    left: 0px;
-    font-size: 24px;
-}
-
 img {
     pointer-events: none;
 }
diff --git a/src/frontend/app/document/document-list/document-list.component.scss b/src/frontend/app/document/document-list/document-list.component.scss
index aa245ab70c..f025c92b9f 100644
--- a/src/frontend/app/document/document-list/document-list.component.scss
+++ b/src/frontend/app/document/document-list/document-list.component.scss
@@ -10,35 +10,6 @@
     border: solid 1px #E0E0E0;
 }
 
-.infosPj {
-    background: #F9F9F9;
-    border-top: solid 1px rgba(0, 0, 0, 0.12);
-    position: absolute;
-    width: 100%;
-    bottom: 0;
-    padding: 5px;
-
-    ::ng-deep.mat-expansion-panel-body {
-        padding: 0px;
-    }
-
-    ::ng-deep.mat-form-field-label {
-        color: $primary;
-    }
-}
-
-.subInfos {
-    display: block;
-    font-size: 12px;
-    color: $primary;
-    font-weight: bold;
-}
-
-.subInfosBottom {
-    font-size: 12px;
-    color: #666;
-}
-
 .mat-icon {
     height: auto;
 }
@@ -70,12 +41,7 @@
     font-size: 20px;
     align-items: center;
 }
-.pjListContent {
-    padding-left: 30px;
-    padding-right: 30px;
-    flex: 1;
-    overflow: auto;
-}
+
 .panel-content {
     display: flex;
     flex-direction: column;
@@ -84,12 +50,6 @@
     overflow: hidden;
 }
 
-.closePanel {
-    position: absolute;
-    left: 0px;
-    font-size: 24px;
-}
-
 img {
     pointer-events: none;
 }
diff --git a/src/frontend/app/document/main-document-detail/main-document-detail.component.scss b/src/frontend/app/document/main-document-detail/main-document-detail.component.scss
index 9c423914d4..864a02fb69 100644
--- a/src/frontend/app/document/main-document-detail/main-document-detail.component.scss
+++ b/src/frontend/app/document/main-document-detail/main-document-detail.component.scss
@@ -10,49 +10,10 @@
     border: solid 1px #E0E0E0;
 }
 
-.infosPj {
-    background: #F9F9F9;
-    border-top: solid 1px rgba(0, 0, 0, 0.12);
-    position: absolute;
-    width: 100%;
-    bottom: 0;
-    padding: 5px;
-
-    ::ng-deep.mat-expansion-panel-body {
-        padding: 0px;
-    }
-
-    ::ng-deep.mat-form-field-label {
-        color: $primary;
-    }
-}
-
-.subInfos {
-    display: block;
-    font-size: 12px;
-    color: $primary;
-    font-weight: bold;
-}
-
-.subInfosBottom {
-    font-size: 12px;
-    color: #666;
-}
-
 .mat-icon {
     height: auto;
 }
 
-.pjToolsContent {
-    position: absolute;
-    right: 0px;
-    border-bottom: solid 1px #E0E0E0;
-    border-left: solid 1px #E0E0E0;
-    border-bottom-left-radius: 5px;
-    background: white;
-    padding: 10px;
-}
-
 .current {
     box-shadow: 0px 0px 20px 0px #656565;
 }
@@ -68,12 +29,7 @@
     font-size: 20px;
     align-items: center;
 }
-.pjListContent {
-    padding-left: 30px;
-    padding-right: 30px;
-    flex: 1;
-    overflow: auto;
-}
+
 .panel-content {
     display: flex;
     flex-direction: column;
diff --git a/src/frontend/app/document/visa-workflow/models/visa-workflow-models.component.ts b/src/frontend/app/document/visa-workflow/models/visa-workflow-models.component.ts
index f37105f6dc..4131169576 100644
--- a/src/frontend/app/document/visa-workflow/models/visa-workflow-models.component.ts
+++ b/src/frontend/app/document/visa-workflow/models/visa-workflow-models.component.ts
@@ -33,8 +33,8 @@ export class VisaWorkflowModelsComponent implements OnInit {
 
     async createModel() {
         const alert = await this.alertController.create({
-            header: 'Nouveau modèle',
-            message: 'Le circuit en cours sera sauvegardé.',
+            header: this.translate.instant('lang.newTemplate'),
+            message: this.translate.instant('lang.newTemplateDesc'),
             inputs: [
                 {
                     name: 'title',
@@ -90,8 +90,8 @@ export class VisaWorkflowModelsComponent implements OnInit {
 
     async removeModel(model: any) {
         const alert = await this.alertController.create({
-            header: 'Supprimer',
-            message: 'Supprimer le modèle ?',
+            header: this.translate.instant('lang.delete'),
+            message: this.translate.instant('lang.deleteTemplate'),
             buttons: [
                 {
                     text: this.translate.instant('lang.no'),
diff --git a/src/frontend/app/document/visa-workflow/visa-workflow.component.html b/src/frontend/app/document/visa-workflow/visa-workflow.component.html
index d108a6046b..f35641f616 100644
--- a/src/frontend/app/document/visa-workflow/visa-workflow.component.html
+++ b/src/frontend/app/document/visa-workflow/visa-workflow.component.html
@@ -32,7 +32,7 @@
     </ng-container>
     <ion-list *ngIf="visaWorkflow.length === 0">
         <ion-item lines="none">
-            <ion-label class="ion-text-center" color="medium">Aucune personne dans le circuit</ion-label>
+            <ion-label class="ion-text-center" color="medium">{{'lang.noUserInWorkflow' | translate}}</ion-label>
         </ion-item>
     </ion-list>
     <ion-reorder-group (ionItemReorder)="doReorder($event)" [disabled]="!editMode">
diff --git a/src/frontend/app/document/visa-workflow/visa-workflow.component.ts b/src/frontend/app/document/visa-workflow/visa-workflow.component.ts
index df55d362b2..61d1ac7d45 100644
--- a/src/frontend/app/document/visa-workflow/visa-workflow.component.ts
+++ b/src/frontend/app/document/visa-workflow/visa-workflow.component.ts
@@ -39,7 +39,6 @@ export class VisaWorkflowComponent implements OnInit {
         public popoverController: PopoverController
     ) { }
 
-
     ngOnInit(): void {
         this.visaWorkflow.forEach((element: any, index: number) => {
             this.getAvatarUser(index);
@@ -140,8 +139,6 @@ export class VisaWorkflowComponent implements OnInit {
     }
 
     loadWorkflow(workflow: any) {
-        console.log('loadWorkflow', workflow);
-        
         this.visaWorkflow = workflow;
     }
 }
diff --git a/src/frontend/app/login/passwordModification/password-modification.scss b/src/frontend/app/login/passwordModification/password-modification.scss
index 548506b7a3..63f8df1382 100644
--- a/src/frontend/app/login/passwordModification/password-modification.scss
+++ b/src/frontend/app/login/passwordModification/password-modification.scss
@@ -1,4 +1,3 @@
-@import '../../../css/vars.scss';
 
 .alert-warning {
   text-align: center;
diff --git a/src/frontend/app/sidebar/sidebar.component.scss b/src/frontend/app/sidebar/sidebar.component.scss
index c7621bce1d..f5ae92d0a0 100644
--- a/src/frontend/app/sidebar/sidebar.component.scss
+++ b/src/frontend/app/sidebar/sidebar.component.scss
@@ -122,18 +122,6 @@
   }
 }
 
-.loadList {
-  position: absolute;
-  width: 100%;
-  height: 100%;
-  left: 0;
-  background-color: #ffffffb3;
-  z-index: 1;
-  display: flex;
-  align-items: baseline;
-  justify-content: center;
-}
-
 .profile-header {
   background: $primary;
   height: 95px;
@@ -174,30 +162,6 @@
   padding-right: 10px;
 }
 
-.logout-button {
-  font-size: 24px;
-  color: white;
-  position: absolute;
-  left: 10px;
-  bottom: 10px;
-}
-
-.admin-button {
-  font-size: 24px;
-  color: white;
-  position: absolute;
-  left: 50px;
-  bottom: 10px;
-}
-
-.closePanel {
-  color: white;
-  position: absolute;
-  right: 10px;
-  font-size: 24px;
-  bottom: 10px;
-}
-
 .filter {
   font-size: 10px;
   width: 95px;
-- 
GitLab