From 86207cf53bfd04856e8bd951c47a28936794ef97 Mon Sep 17 00:00:00 2001
From: Alex ORLUC <alex.orluc@maarch.org>
Date: Wed, 4 Mar 2020 22:33:11 +0100
Subject: [PATCH] FEAT #13119 TIME 2 fix modal css (part3) + clean code

---
 .../administration/administration.module.ts   |   7 -
 ...inistration-groupList-modal.component.html |  14 +-
 ...ministration-settings-modal.component.html | 201 ++++++++++--------
 .../basket/basket-administration.component.ts |   4 +-
 .../list/list-administration.component.ts     |   1 -
 ...ministration-redirect-modal.component.html |  68 +++---
 .../contacts-list-administration.component.ts |  38 ++--
 ...ministration-redirect-modal.component.html |  48 +++--
 .../doctypes-administration.component.ts      |   2 +-
 ...ministration-redirect-modal.component.html |  81 +++----
 .../entities-administration.component.ts      |   7 +-
 ...ministration-redirect-modal.component.html |  65 +++---
 .../group/groups-administration.component.ts  |   2 +-
 .../technical-administration.component.html   |  10 -
 .../technical-administration.component.scss   |  18 --
 .../technical-administration.component.ts     |  50 -----
 ...tration-checkEntities-modal.component.html |  15 +-
 ...te-administration-checkEntities-modal.scss |  17 +-
 .../template-administration.component.ts      |   2 +
 .../account-link/account-link.component.html  |  54 +++--
 .../account-link/account-link.component.scss  |  13 +-
 ...ministration-redirect-modal.component.html |  43 ++--
 .../user/user-administration.component.ts     |   4 +-
 ...ministration-redirect-modal.component.html | 149 +++++++------
 .../users-administration-redirect-modal.scss  |  16 +-
 .../user/users-administration.component.ts    |   5 +-
 src/frontend/css/maarch-material-modal.scss   |   6 +-
 27 files changed, 439 insertions(+), 501 deletions(-)
 delete mode 100644 src/frontend/app/administration/technical/technical-administration.component.html
 delete mode 100644 src/frontend/app/administration/technical/technical-administration.component.scss
 delete mode 100644 src/frontend/app/administration/technical/technical-administration.component.ts

diff --git a/src/frontend/app/administration/administration.module.ts b/src/frontend/app/administration/administration.module.ts
index fe1513e7370..aef6cfa0183 100755
--- a/src/frontend/app/administration/administration.module.ts
+++ b/src/frontend/app/administration/administration.module.ts
@@ -41,8 +41,6 @@ import { TemplatesAdministrationComponent }             from './template/templat
 import { TemplateAdministrationComponent, TemplateAdministrationCheckEntitiesModalComponent }              from './template/template-administration.component';
 import { SecuritiesAdministrationComponent }            from './security/securities-administration.component';
 import { SendmailAdministrationComponent }              from './sendmail/sendmail-administration.component';
-
-import { TechnicalAdministrationComponent }             from './technical/technical-administration.component';
 import { ListAdministrationComponent }                  from './basket/list/list-administration.component';
 import { ShippingsAdministrationComponent }              from './shipping/shippings-administration.component';
 import { ShippingAdministrationComponent }              from './shipping/shipping-administration.component';
@@ -105,8 +103,6 @@ import { TagAdministrationComponent }              from './tag/tag-administratio
         TemplateAdministrationComponent,
         SecuritiesAdministrationComponent,
         SendmailAdministrationComponent,
-        TechnicalAdministrationComponent,
-        ListAdministrationComponent,
         ListAdministrationComponent,
         TemplateAdministrationCheckEntitiesModalComponent,
         ShippingsAdministrationComponent,
@@ -131,10 +127,7 @@ import { TagAdministrationComponent }              from './tag/tag-administratio
         BasketAdministrationSettingsModalComponent,
         BasketAdministrationGroupListModalComponent,
         DoctypesAdministrationRedirectModalComponent,
-        TechnicalAdministrationComponent,
         ContactsListAdministrationRedirectModalComponent,
-        ListAdministrationComponent,
-        ListAdministrationComponent,
         TemplateAdministrationCheckEntitiesModalComponent,
         AccountLinkComponent
     ],
diff --git a/src/frontend/app/administration/basket/basket-administration-groupList-modal.component.html b/src/frontend/app/administration/basket/basket-administration-groupList-modal.component.html
index 2467a88471e..2e61b3a21bd 100755
--- a/src/frontend/app/administration/basket/basket-administration-groupList-modal.component.html
+++ b/src/frontend/app/administration/basket/basket-administration-groupList-modal.component.html
@@ -1,12 +1,12 @@
-<h2 mat-dialog-title color="primary">{{lang.linkGroup}}</h2>
-
-<mat-dialog-content>
-    <mat-nav-list>
+<div class="mat-dialog-content-container">
+    <h2 mat-dialog-title color="primary">{{lang.linkGroup}}</h2>
+    <mat-dialog-content>
+        <mat-nav-list>
             <span *ngFor="let group of data.groups">
                 <mat-list-item *ngIf="group.isUsed == false" (click)="validateForm(group);">
                     {{group.group_desc}}
                 </mat-list-item>
             </span>
-
-    </mat-nav-list>
-</mat-dialog-content>
\ No newline at end of file
+        </mat-nav-list>
+    </mat-dialog-content>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/administration/basket/basket-administration-settings-modal.component.html b/src/frontend/app/administration/basket/basket-administration-settings-modal.component.html
index c79b4a98fc0..501f5606975 100755
--- a/src/frontend/app/administration/basket/basket-administration-settings-modal.component.html
+++ b/src/frontend/app/administration/basket/basket-administration-settings-modal.component.html
@@ -1,95 +1,108 @@
-<h2 mat-dialog-title color="primary">{{lang.actionParameters}}
-    <small>{{data.action.label_action}}</small>
-</h2>
-<mat-dialog-content>
-    <form #settingGroupsBasket="ngForm">
-        <div class="container-fluid">
-            <div class="col-md-6">
-                <mat-checkbox [disabled]="data.action.default_action_list == true" id="usedInActionPage" name="usedInActionPage" color="primary"
-                    [(ngModel)]="data.action.used_in_action_page">{{lang.usedInActionPage}}</mat-checkbox>
+<div class="mat-dialog-content-container">
+    <h2 mat-dialog-title>{{lang.actionParameters}}
+        <small>{{data.action.label_action}}</small>
+    </h2>
+    <mat-dialog-content>
+        <form #settingGroupsBasket="ngForm">
+            <div class="container-fluid">
+                <div class="col-md-6">
+                    <mat-checkbox [disabled]="data.action.default_action_list == true" id="usedInActionPage"
+                        name="usedInActionPage" color="primary" [(ngModel)]="data.action.used_in_action_page">
+                        {{lang.usedInActionPage}}</mat-checkbox>
+                </div>
+                <div class="col-md-6">
+                    <mat-checkbox [disabled]="data.action.default_action_list == true" id="usedInBasketlist"
+                        name="usedInBasketlist" color="primary" [(ngModel)]="data.action.used_in_basketlist">
+                        {{lang.usedInBasketlist}}</mat-checkbox>
+                </div>
             </div>
-            <div class="col-md-6">
-                <mat-checkbox [disabled]="data.action.default_action_list == true" id="usedInBasketlist" name="usedInBasketlist" color="primary"
-                    [(ngModel)]="data.action.used_in_basketlist">{{lang.usedInBasketlist}}</mat-checkbox>
-            </div>
-        </div>
-        <mat-tab-group>
-            <mat-tab *ngIf="data.action.keyword == 'redirect'">
-                <ng-template mat-tab-label *ngIf="data.action.keyword == 'redirect'">
-                    {{lang.redirects}}
-                </ng-template>
-                <mat-accordion>
-                    <mat-expansion-panel (opened)="initService()">
-                        <mat-expansion-panel-header>
-                            <mat-panel-title>
-                                {{lang.toEntities}}
-                            </mat-panel-title>
-                        </mat-expansion-panel-header>
-                        <mat-form-field>
-                            <input matInput id="jstree_search" name="jstree_search" type="text" placeholder="{{lang.searchEntities}}">
-                        </mat-form-field>
-                        <div id="jstree"></div>
-                    </mat-expansion-panel>
-                    <mat-expansion-panel (opened)="initService2()" *ngIf="data.action.keyword == 'redirect'">
-                        <mat-expansion-panel-header>
-                            <mat-panel-title>
-                                {{lang.toUsersEntities}}
-                            </mat-panel-title>
-                        </mat-expansion-panel-header>
-                        <mat-form-field>
-                            <input matInput id="jstree_search2" name="jstree_search2" type="text" placeholder="{{lang.searchEntities}}">
-                        </mat-form-field>
-                        <div id="jstree2"></div>
-                    </mat-expansion-panel>
-                </mat-accordion>
-            </mat-tab>
-            <mat-tab label="{{lang.otherParameters}}">
-                <mat-form-field>
-                    <textarea matInput name="clause" title="{{lang.whereClauseAction}}" placeholder="{{lang.whereClauseAction}}" [(ngModel)]="data.action.where_clause"
-                        matTextareaAutosize matAutosizeMinRows="1"></textarea>
-                </mat-form-field>
-                <mat-accordion>
-                    <mat-expansion-panel>
-                        <mat-expansion-panel-header>
-                            <mat-panel-title>
-                                {{lang.keywordHelp}}
-                            </mat-panel-title>
-                        </mat-expansion-panel-header>
-                        <mat-list role="list" style="width: 400px;padding: 5px;">
-                            <p style="font-size:10px;">{{lang.keywordHelpDesc_11}}</p>
-                            <div style="border:1px black solid; padding:3px;font-size:10px;">
-                                <b>DESTINATION = @my_primary_entity or DESTINATION in (@subentities[@my_primary_entity])</b>
-                            </div>
-                            <h4 mat-line style="font-weight:bold;font-size:10px;">@user :</h4>
-                            <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_1}}</p>
-                            <h4 mat-line style="font-weight:bold;font-size:10px;">@user_id :</h4>
-                            <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_12}}</p>
-                            <h4 mat-line style="font-weight:bold;font-size:10px;">@email :</h4>
-                            <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_2}}</p>
-                            <h4 mat-line style="font-weight:bold;font-size:10px;">@my_entities :</h4>
-                            <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_3}}</p>
-                            <h4 mat-line style="font-weight:bold;font-size:10px;">@my_primary_entity :</h4>
-                            <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_4}}</p>
-                            <h4 mat-line style="font-weight:bold;font-size:10px;">@subentities[('entity_1',...,'entity_n')] :</h4>
-                            <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_5}}</p>
-                            <h4 mat-line style="font-weight:bold;font-size:10px;">@parent_entity['entity_id'] :</h4>
-                            <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_6}}</p>
-                            <h4 mat-line style="font-weight:bold;font-size:10px;">@sisters_entities['entity_id'] :</h4>
-                            <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_7}}</p>
-                            <h4 mat-line style="font-weight:bold;font-size:10px;">@entity_type['type'] :</h4>
-                            <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_8}}</p>
-                            <h4 mat-line style="font-weight:bold;font-size:10px;">@all_entities :</h4>
-                            <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_9}}</p>
-                            <h4 mat-line style="font-weight:bold;font-size:10px;">@immediate_children['entity_1',..., 'entity_id'] :</h4>
-                            <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_10}}</p>
-                        </mat-list>
-                    </mat-expansion-panel>
-                </mat-accordion>
-            </mat-tab>
-        </mat-tab-group>
-    </form>
-</mat-dialog-content>
-<mat-dialog-actions>
-    <button mat-raised-button type="submit" [disabled]="!data.action.used_in_basketlist && !data.action.used_in_action_page"
-        color="primary" style="margin:auto;" (click)="saveSettings()">{{lang.validate}}</button>
-</mat-dialog-actions>
\ No newline at end of file
+            <mat-tab-group>
+                <mat-tab *ngIf="data.action.keyword == 'redirect'">
+                    <ng-template mat-tab-label *ngIf="data.action.keyword == 'redirect'">
+                        {{lang.redirects}}
+                    </ng-template>
+                    <mat-accordion>
+                        <mat-expansion-panel (opened)="initService()">
+                            <mat-expansion-panel-header>
+                                <mat-panel-title>
+                                    {{lang.toEntities}}
+                                </mat-panel-title>
+                            </mat-expansion-panel-header>
+                            <mat-form-field>
+                                <input matInput id="jstree_search" name="jstree_search" type="text"
+                                    placeholder="{{lang.searchEntities}}">
+                            </mat-form-field>
+                            <div id="jstree"></div>
+                        </mat-expansion-panel>
+                        <mat-expansion-panel (opened)="initService2()" *ngIf="data.action.keyword == 'redirect'">
+                            <mat-expansion-panel-header>
+                                <mat-panel-title>
+                                    {{lang.toUsersEntities}}
+                                </mat-panel-title>
+                            </mat-expansion-panel-header>
+                            <mat-form-field>
+                                <input matInput id="jstree_search2" name="jstree_search2" type="text"
+                                    placeholder="{{lang.searchEntities}}">
+                            </mat-form-field>
+                            <div id="jstree2"></div>
+                        </mat-expansion-panel>
+                    </mat-accordion>
+                </mat-tab>
+                <mat-tab label="{{lang.otherParameters}}">
+                    <mat-form-field>
+                        <textarea matInput name="clause" title="{{lang.whereClauseAction}}"
+                            placeholder="{{lang.whereClauseAction}}" [(ngModel)]="data.action.where_clause"
+                            matTextareaAutosize matAutosizeMinRows="1"></textarea>
+                    </mat-form-field>
+                    <mat-accordion>
+                        <mat-expansion-panel>
+                            <mat-expansion-panel-header>
+                                <mat-panel-title>
+                                    {{lang.keywordHelp}}
+                                </mat-panel-title>
+                            </mat-expansion-panel-header>
+                            <mat-list role="list" style="width: 400px;padding: 5px;">
+                                <p style="font-size:10px;">{{lang.keywordHelpDesc_11}}</p>
+                                <div style="border:1px black solid; padding:3px;font-size:10px;">
+                                    <b>DESTINATION = @my_primary_entity or DESTINATION in
+                                        (@subentities[@my_primary_entity])</b>
+                                </div>
+                                <h4 mat-line style="font-weight:bold;font-size:10px;">@user :</h4>
+                                <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_1}}</p>
+                                <h4 mat-line style="font-weight:bold;font-size:10px;">@user_id :</h4>
+                                <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_12}}</p>
+                                <h4 mat-line style="font-weight:bold;font-size:10px;">@email :</h4>
+                                <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_2}}</p>
+                                <h4 mat-line style="font-weight:bold;font-size:10px;">@my_entities :</h4>
+                                <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_3}}</p>
+                                <h4 mat-line style="font-weight:bold;font-size:10px;">@my_primary_entity :</h4>
+                                <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_4}}</p>
+                                <h4 mat-line style="font-weight:bold;font-size:10px;">
+                                    @subentities[('entity_1',...,'entity_n')] :</h4>
+                                <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_5}}</p>
+                                <h4 mat-line style="font-weight:bold;font-size:10px;">@parent_entity['entity_id'] :</h4>
+                                <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_6}}</p>
+                                <h4 mat-line style="font-weight:bold;font-size:10px;">@sisters_entities['entity_id'] :
+                                </h4>
+                                <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_7}}</p>
+                                <h4 mat-line style="font-weight:bold;font-size:10px;">@entity_type['type'] :</h4>
+                                <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_8}}</p>
+                                <h4 mat-line style="font-weight:bold;font-size:10px;">@all_entities :</h4>
+                                <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_9}}</p>
+                                <h4 mat-line style="font-weight:bold;font-size:10px;">
+                                    @immediate_children['entity_1',..., 'entity_id'] :</h4>
+                                <p mat-line style="font-size:10px;">{{lang.keywordHelpDesc_10}}</p>
+                            </mat-list>
+                        </mat-expansion-panel>
+                    </mat-accordion>
+                </mat-tab>
+            </mat-tab-group>
+        </form>
+    </mat-dialog-content>
+    <span class="divider-modal"></span>
+    <mat-dialog-actions>
+        <button mat-raised-button type="submit"
+            [disabled]="!data.action.used_in_basketlist && !data.action.used_in_action_page" color="primary"
+            style="margin:auto;" (click)="saveSettings()">{{lang.validate}}</button>
+    </mat-dialog-actions>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/administration/basket/basket-administration.component.ts b/src/frontend/app/administration/basket/basket-administration.component.ts
index 0dbff80e425..fb9d3a79c33 100755
--- a/src/frontend/app/administration/basket/basket-administration.component.ts
+++ b/src/frontend/app/administration/basket/basket-administration.component.ts
@@ -152,7 +152,7 @@ export class BasketAdministrationComponent implements OnInit {
     }
 
     openSettings(group: any, action: any) {
-        this.config = { data: { group: group, action: action } };
+        this.config = { panelClass: 'maarch-modal', data: { group: group, action: action } };
         this.dialogRef = this.dialog.open(BasketAdministrationSettingsModalComponent, this.config);
         this.dialogRef.afterClosed().subscribe((result: any) => {
             if (result) {
@@ -261,7 +261,7 @@ export class BasketAdministrationComponent implements OnInit {
     }
 
     linkGroup() {
-        this.config = { data: { basketId: this.basket.id, groups: this.allGroups, linkedGroups: this.basketGroups } };
+        this.config = { panelClass: 'maarch-modal', data: { basketId: this.basket.id, groups: this.allGroups, linkedGroups: this.basketGroups } };
         this.dialogRef = this.dialog.open(BasketAdministrationGroupListModalComponent, this.config);
         this.dialogRef.afterClosed().subscribe((result: any) => {
             if (result) {
diff --git a/src/frontend/app/administration/basket/list/list-administration.component.ts b/src/frontend/app/administration/basket/list/list-administration.component.ts
index 9c1e087b17f..d2113002f70 100644
--- a/src/frontend/app/administration/basket/list/list-administration.component.ts
+++ b/src/frontend/app/administration/basket/list/list-administration.component.ts
@@ -12,7 +12,6 @@ declare function $j(selector: any): any;
     selector: 'list-administration',
     templateUrl: "list-administration.component.html",
     styleUrls: ['list-administration.component.scss'],
-    providers: [NotificationService],
 })
 export class ListAdministrationComponent implements OnInit {
 
diff --git a/src/frontend/app/administration/contact/list/contacts-list-administration-redirect-modal.component.html b/src/frontend/app/administration/contact/list/contacts-list-administration-redirect-modal.component.html
index 05fc61ff7c2..266a7c82a3a 100644
--- a/src/frontend/app/administration/contact/list/contacts-list-administration-redirect-modal.component.html
+++ b/src/frontend/app/administration/contact/list/contacts-list-administration-redirect-modal.component.html
@@ -1,32 +1,42 @@
-<h1 mat-dialog-title>{{lang.contactsReassign}}</h1>
-<mat-dialog-content style="overflow:inherit;">
-    <form #redirectConfForm="ngForm">
-        <div class="modal-body">
-            <div class="alert alert-warning" role="alert">
-                {{lang.contactLinkedToMails}}
-            </div>
-            <div class="input-group">
-                <mat-radio-group id="processMode" name="processMode" style="display: inline-flex;flex-direction: column;" [(ngModel)]="this.processMode"
-                    color="primary" required>
-                    <mat-radio-button value="delete" color="primary">
-                        {{lang.deleteContactwithtoutReassign}}
-                    </mat-radio-button>
-                    <mat-radio-button value="reaffect" color="primary">
-                        {{lang.reaffectContactRedirect}}
-                    </mat-radio-button>
-                </mat-radio-group>
-                <plugin-autocomplete *ngIf="this.processMode == 'reaffect'" [labelPlaceholder]="lang.contactReplacement" [labelList]="lang.availableContacts" [routeDatas]="['/rest/autocomplete/contacts']" [targetSearchKey]="'contact'" (triggerEvent)="setRedirectUser($event)" singleMode required></plugin-autocomplete>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{lang.contactsReassign}}</h1>
+    <mat-dialog-content>
+        <form #redirectConfForm="ngForm">
+            <div class="modal-body">
+                <div class="alert-message alert-message-danger" role="alert">
+                    {{lang.contactLinkedToMails}}
+                </div>
+                <div class="input-group">
+                    <mat-radio-group id="processMode" name="processMode"
+                        style="display: inline-flex;flex-direction: column;" [(ngModel)]="this.processMode"
+                        color="primary" required>
+                        <mat-radio-button value="delete" color="primary">
+                            {{lang.deleteContactwithtoutReassign}}
+                        </mat-radio-button>
+                        <mat-radio-button value="reaffect" color="primary">
+                            {{lang.reaffectContactRedirect}}
+                        </mat-radio-button>
+                    </mat-radio-group>
+                    <plugin-autocomplete *ngIf="this.processMode == 'reaffect'"
+                        [labelPlaceholder]="lang.contactReplacement" [labelList]="lang.availableContacts"
+                        [routeDatas]="['/rest/autocomplete/contacts']" [targetSearchKey]="'contact'"
+                        (triggerEvent)="setRedirectUser($event)" singleMode required></plugin-autocomplete>
 
-                <div *ngIf="this.processMode" class="alert-message alert-message-info" role="alert" style="max-width: inherit;">
-                    <span *ngIf="this.processMode == 'delete'"><em>{{lang.deleteContactInformations}}</em></span>
-                    <span *ngIf="this.processMode == 'reaffect'"><em>{{lang.reaffectContactInformations}}</em></span>
+                    <div *ngIf="this.processMode" class="alert-message alert-message-info" role="alert">
+                        <span *ngIf="this.processMode == 'delete'"><em>{{lang.deleteContactInformations}}</em></span>
+                        <span
+                            *ngIf="this.processMode == 'reaffect'"><em>{{lang.reaffectContactInformations}}</em></span>
+                    </div>
                 </div>
             </div>
-        </div>
-        <mat-dialog-actions>
-            <button mat-raised-button color="primary" type="submit" [disabled]="!redirectConfForm.form.valid || (!this.redirectContact && this.processMode == 'reaffect')"
-                (click)="dialogRef.close({contactId:this.redirectContact, processMode:this.processMode})">{{lang.delete}}</button>
-            <button class="actions" color="" mat-raised-button (click)="dialogRef.close('')">{{lang.cancel}}</button>
-        </mat-dialog-actions>
-    </form>
-</mat-dialog-content>
+        </form>
+    </mat-dialog-content>
+    <span class="divider-modal"></span>
+    <mat-dialog-actions>
+        <button mat-raised-button color="primary" type="submit"
+            [disabled]="!redirectConfForm.form.valid || (!this.redirectContact && this.processMode == 'reaffect')"
+            (click)="dialogRef.close({contactId:this.redirectContact, processMode:this.processMode})">{{lang.delete}}</button>
+        <button class="actions" color="" mat-raised-button
+            (click)="dialogRef.close('')">{{lang.cancel}}</button>
+    </mat-dialog-actions>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/administration/contact/list/contacts-list-administration.component.ts b/src/frontend/app/administration/contact/list/contacts-list-administration.component.ts
index f2dafd22347..c84dab793e5 100644
--- a/src/frontend/app/administration/contact/list/contacts-list-administration.component.ts
+++ b/src/frontend/app/administration/contact/list/contacts-list-administration.component.ts
@@ -1,12 +1,12 @@
-import {Component, OnInit, ViewChild, EventEmitter, Inject} from '@angular/core';
+import { Component, OnInit, ViewChild, EventEmitter, Inject } from '@angular/core';
 import { HttpClient } from '@angular/common/http';
 import { LANG } from '../../../translate.component';
 import { NotificationService } from '../../../notification.service';
-import { HeaderService }        from '../../../../service/header.service';
+import { HeaderService } from '../../../../service/header.service';
 import { MatSidenav } from '@angular/material/sidenav';
 import { AppService } from '../../../../service/app.service';
 import { Observable, merge, Subject, of as observableOf, of } from 'rxjs';
-import {MatPaginator, MatSort, MatDialog, MAT_DIALOG_DATA, MatDialogRef} from '@angular/material';
+import { MatPaginator, MatSort, MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material';
 import { takeUntil, startWith, switchMap, map, catchError, filter, exhaustMap, tap, debounceTime, distinctUntilChanged } from 'rxjs/operators';
 import { ConfirmComponent } from '../../../../plugins/modal/confirm.component';
 import { FormControl } from '@angular/forms';
@@ -27,7 +27,7 @@ export class ContactsListAdministrationComponent implements OnInit {
     loading: boolean = false;
 
     filtersChange = new EventEmitter();
-    
+
     data: any;
 
     displayedColumnsContact: string[] = ['filling', 'firstname', 'lastname', 'company', 'formatedAddress', 'actions'];
@@ -39,43 +39,43 @@ export class ContactsListAdministrationComponent implements OnInit {
 
     searchContact = new FormControl();
     search: string = '';
-    dialogRef                               : MatDialogRef<any>;
+    dialogRef: MatDialogRef<any>;
 
     @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;
     @ViewChild('tableContactListSort', { static: true }) sort: MatSort;
 
     private destroy$ = new Subject<boolean>();
 
-    subMenus:any [] = [
+    subMenus: any[] = [
         {
             icon: 'fa fa-book',
             route: '/administration/contacts/list',
-            label : this.lang.contactsList,
+            label: this.lang.contactsList,
             current: true
         },
         {
             icon: 'fa fa-code',
             route: '/administration/contacts/contactsCustomFields',
-            label : this.lang.customFieldsAdmin,
+            label: this.lang.customFieldsAdmin,
             current: false
         },
         {
             icon: 'fa fa-cog',
             route: '/administration/contacts/contacts-parameters',
-            label : this.lang.contactsParameters,
+            label: this.lang.contactsParameters,
             current: false
         },
         {
             icon: 'fa fa-users',
             route: '/administration/contacts/contacts-groups',
-            label : this.lang.contactsGroups,
+            label: this.lang.contactsGroups,
             current: false
         },
     ];
-    
+
     constructor(
-        public http: HttpClient, 
-        private notify: NotificationService, 
+        public http: HttpClient,
+        private notify: NotificationService,
         private headerService: HeaderService,
         public appService: AppService,
         public dialog: MatDialog,
@@ -141,7 +141,7 @@ export class ContactsListAdministrationComponent implements OnInit {
     deleteContact(contact: any) {
 
         if (contact.isUsed) {
-            this.dialogRef = this.dialog.open(ContactsListAdministrationRedirectModalComponent, {autoFocus: false});
+            this.dialogRef = this.dialog.open(ContactsListAdministrationRedirectModalComponent, { panelClass: 'maarch-modal', autoFocus: false });
             this.dialogRef.afterClosed().subscribe((result: any) => {
                 if (typeof result != "undefined" && result != '') {
                     var queryparams = '';
@@ -180,7 +180,7 @@ export class ContactsListAdministrationComponent implements OnInit {
 
         dialogRef.afterClosed().pipe(
             filter((data: string) => data === 'ok'),
-            exhaustMap(() => this.http.put(`../../rest/contacts/${contact.id}/activation`, {enabled : !contact.enabled})),
+            exhaustMap(() => this.http.put(`../../rest/contacts/${contact.id}/activation`, { enabled: !contact.enabled })),
             tap((data: any) => {
                 this.refreshDao();
                 if (!contact.enabled === true) {
@@ -208,7 +208,7 @@ export class ContactsListAdministrationComponent implements OnInit {
                         this.search = '';
                         this.paginator.pageIndex = 0;
                         this.refreshDao();
-                    }   
+                    }
                 }),
                 debounceTime(300),
                 filter(value => value.length > 2),
@@ -249,7 +249,7 @@ export class ContactListHttpDao {
     constructor(private http: HttpClient) { }
 
     getRepoIssues(sort: string, order: string, page: number, href: string, search: string): Observable<ContactList> {
-        
+
         let offset = page * 10;
         const requestUrl = `${href}?limit=10&offset=${offset}&order=${order}&orderBy=${sort}&search=${search}`;
 
@@ -262,8 +262,8 @@ export class ContactListHttpDao {
     providers: [NotificationService]
 })
 export class ContactsListAdministrationRedirectModalComponent {
-    lang: any               = LANG;
-    modalTitle: string      = this.lang.confirmAction;
+    lang: any = LANG;
+    modalTitle: string = this.lang.confirmAction;
     redirectContact: number;
     processMode: string = 'delete';
 
diff --git a/src/frontend/app/administration/doctype/doctypes-administration-redirect-modal.component.html b/src/frontend/app/administration/doctype/doctypes-administration-redirect-modal.component.html
index 450e5f9fe9f..a367cf5c5e8 100755
--- a/src/frontend/app/administration/doctype/doctypes-administration-redirect-modal.component.html
+++ b/src/frontend/app/administration/doctype/doctypes-administration-redirect-modal.component.html
@@ -1,27 +1,29 @@
-<h2 mat-dialog-title>{{lang.documentTypeReplacement}}</h2>
-<form #changeDoctypeForm="ngForm">
+<div class="mat-dialog-content-container">
+    <h2 mat-dialog-title>{{lang.documentTypeReplacement}}</h2>
     <mat-dialog-content>
-        <div class="alert alert-info" role="alert">
-            <mat-list>
-                <mat-list-item>
-                    <mat-icon color="primary" mat-list-icon class="fa fa-file fa-2x"></mat-icon>
-                    <p mat-line>
-                        <b>{{data.count}}</b> {{lang.documents}}
-                    </p>
-                </mat-list-item>
-            </mat-list>
-        </div>               
-        <mat-form-field>
-            <mat-select id="new_type_id" name="new_type_id" title="{{lang.transferToDoctype}}" placeholder="{{lang.transferToDoctype}}"
-                [(ngModel)]="data.new_type_id" required>
-                <mat-option *ngFor="let type of data.types" [disabled]="type.disabled" [value]="type.type_id">
-                    {{type.description}}
-                </mat-option>
-            </mat-select>
-        </mat-form-field>
+        <form #changeDoctypeForm="ngForm">
+            <div class="alert-message alert-message-info" role="alert">
+                <mat-list>
+                    <mat-list-item>
+                        <mat-icon color="primary" mat-list-icon class="fa fa-file fa-2x"></mat-icon>
+                        <p mat-line>
+                            <b>{{data.count}}</b> {{lang.documents}}
+                        </p>
+                    </mat-list-item>
+                </mat-list>
+            </div>
+            <mat-form-field>
+                <mat-select id="new_type_id" name="new_type_id" title="{{lang.transferToDoctype}}"
+                    placeholder="{{lang.transferToDoctype}}" [(ngModel)]="data.new_type_id" required>
+                    <mat-option *ngFor="let type of data.types" [disabled]="type.disabled" [value]="type.type_id">
+                        {{type.description}}
+                    </mat-option>
+                </mat-select>
+            </mat-form-field>
+        </form>
     </mat-dialog-content>
     <mat-dialog-actions>
-        <button style="margin:auto;" mat-raised-button color="warn" type="submit" class="btn btn-danger" (click)="dialogRef.close(data)"
-            [disabled]="!changeDoctypeForm.form.valid">{{lang.delete}}</button>
+        <button mat-raised-button color="warn" type="submit"
+            (click)="dialogRef.close(data)" [disabled]="!changeDoctypeForm.form.valid">{{lang.delete}}</button>
     </mat-dialog-actions>
-</form>
\ No newline at end of file
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/administration/doctype/doctypes-administration.component.ts b/src/frontend/app/administration/doctype/doctypes-administration.component.ts
index 97abb14467a..4f99c16d178 100755
--- a/src/frontend/app/administration/doctype/doctypes-administration.component.ts
+++ b/src/frontend/app/administration/doctype/doctypes-administration.component.ts
@@ -368,7 +368,7 @@ export class DoctypesAdministrationComponent implements OnInit {
                         $j('#jstree').jstree('select_node', this.doctypes[0]);
                         this.notify.success(this.lang.documentTypeDeleted);
                     } else {
-                        this.config = { data: {count: data.deleted, types: data.doctypes} };
+                        this.config = { panelClass: 'maarch-modal', data: {count: data.deleted, types: data.doctypes} };
                         this.dialogRef = this.dialog.open(DoctypesAdministrationRedirectModalComponent, this.config);
                         this.dialogRef.afterClosed().subscribe((result: any) => {
                         if (result) {
diff --git a/src/frontend/app/administration/entity/entities-administration-redirect-modal.component.html b/src/frontend/app/administration/entity/entities-administration-redirect-modal.component.html
index f212abf1c71..55b8dfd1a08 100755
--- a/src/frontend/app/administration/entity/entities-administration-redirect-modal.component.html
+++ b/src/frontend/app/administration/entity/entities-administration-redirect-modal.component.html
@@ -1,38 +1,43 @@
-<h2 mat-dialog-title>{{lang.entityReplacement}}</h2>
-<mat-dialog-content>
-    <div class="alert alert-info" role="alert">
-        <mat-list>
-            <mat-list-item *ngIf="data.entity.documents > 0">
-                <mat-icon color="primary" mat-list-icon class="fa fa-file fa-2x"></mat-icon>
-                <p mat-line>
-                    <b>{{data.entity.entity_label}}</b> {{lang.isDestTo}}
-                    <b>{{data.entity.documents}}</b> {{lang.documents}}</p>
-            </mat-list-item>
-            <mat-list-item *ngIf="data.entity.instances > 0">
-                <mat-icon color="primary" mat-list-icon class="fa fa-sitemap fa-2x"></mat-icon>
-                <p mat-line>
-                    <b>{{data.entity.entity_label}}</b> {{lang.isCopyTo}}
-                    <b>{{data.entity.instances}}</b> {{lang.documents}}</p>
-            </mat-list-item>
-            <mat-list-item *ngIf="data.entity.users.length > 0">
-                <mat-icon color="primary" mat-list-icon class="fa fa-user fa-2x"></mat-icon>
-                <p mat-line>
-                    <b>{{data.entity.entity_label}}</b> {{lang.isLinkedTo | lowercase}}
-                    <b>{{data.entity.users.length}}</b> {{lang.usersAlt | lowercase}}</p>
-            </mat-list-item>
-            <mat-list-item *ngIf="data.entity.templates.length > 0">
-                <mat-icon color="primary" mat-list-icon class="fa fa-file-alt fa-2x"></mat-icon>
-                <p mat-line>
-                    <b>{{data.entity.entity_label}}</b> {{lang.isLinkedTo | lowercase}}
-                    <b>{{data.entity.templates.length}}</b> {{lang.templates | lowercase}}</p>
-            </mat-list-item>
-        </mat-list>
-    </div>
-    <plugin-autocomplete [labelPlaceholder]="lang.chooseEntity" [labelList]="lang.availableEntities" [routeDatas]="['/rest/autocomplete/entities']"
-        [targetSearchKey]="'idToDisplay'" [subInfoKey]="'descriptionToDisplay'" (triggerEvent)="setRedirectEntity($event)"
-        singleMode required></plugin-autocomplete>
-</mat-dialog-content>
-<mat-dialog-actions>
-    <button style="margin:auto;" mat-raised-button color="warn" type="submit" class="btn btn-danger" (click)="dialogRef.close(data.entity)"
-        [disabled]="data.entity.redirectEntity === undefined || data.entity.redirectEntity == data.entity.entity_id">{{lang.delete}}</button>
-</mat-dialog-actions>
+<div class="mat-dialog-content-container">
+    <h2 mat-dialog-title>{{lang.entityReplacement}}</h2>
+    <mat-dialog-content>
+        <div class="alert-message alert-message-info" role="alert">
+            <mat-list>
+                <mat-list-item *ngIf="data.entity.documents > 0">
+                    <mat-icon color="primary" mat-list-icon class="fa fa-file fa-2x"></mat-icon>
+                    <p mat-line>
+                        <b>{{data.entity.entity_label}}</b> {{lang.isDestTo}}
+                        <b>{{data.entity.documents}}</b> {{lang.documents}}</p>
+                </mat-list-item>
+                <mat-list-item *ngIf="data.entity.instances > 0">
+                    <mat-icon color="primary" mat-list-icon class="fa fa-sitemap fa-2x"></mat-icon>
+                    <p mat-line>
+                        <b>{{data.entity.entity_label}}</b> {{lang.isCopyTo}}
+                        <b>{{data.entity.instances}}</b> {{lang.documents}}</p>
+                </mat-list-item>
+                <mat-list-item *ngIf="data.entity.users.length > 0">
+                    <mat-icon color="primary" mat-list-icon class="fa fa-user fa-2x"></mat-icon>
+                    <p mat-line>
+                        <b>{{data.entity.entity_label}}</b> {{lang.isLinkedTo | lowercase}}
+                        <b>{{data.entity.users.length}}</b> {{lang.usersAlt | lowercase}}</p>
+                </mat-list-item>
+                <mat-list-item *ngIf="data.entity.templates.length > 0">
+                    <mat-icon color="primary" mat-list-icon class="fa fa-file-alt fa-2x"></mat-icon>
+                    <p mat-line>
+                        <b>{{data.entity.entity_label}}</b> {{lang.isLinkedTo | lowercase}}
+                        <b>{{data.entity.templates.length}}</b> {{lang.templates | lowercase}}</p>
+                </mat-list-item>
+            </mat-list>
+        </div>
+        <plugin-autocomplete [labelPlaceholder]="lang.chooseEntity" [labelList]="lang.availableEntities"
+            [routeDatas]="['/rest/autocomplete/entities']" [targetSearchKey]="'idToDisplay'"
+            [subInfoKey]="'descriptionToDisplay'" (triggerEvent)="setRedirectEntity($event)" singleMode required>
+        </plugin-autocomplete>
+    </mat-dialog-content>
+    <span class="divider-modal"></span>
+    <mat-dialog-actions>
+        <button mat-raised-button color="warn" type="submit" class="btn btn-danger"
+            (click)="dialogRef.close(data.entity)"
+            [disabled]="data.entity.redirectEntity === undefined || data.entity.redirectEntity == data.entity.entity_id">{{lang.delete}}</button>
+    </mat-dialog-actions>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/administration/entity/entities-administration.component.ts b/src/frontend/app/administration/entity/entities-administration.component.ts
index 8778ee60a0b..c929ca96935 100755
--- a/src/frontend/app/administration/entity/entities-administration.component.ts
+++ b/src/frontend/app/administration/entity/entities-administration.component.ts
@@ -392,7 +392,7 @@ export class EntitiesAdministrationComponent implements OnInit {
 
     removeEntity() {
         if (this.currentEntity.documents > 0 || this.currentEntity.redirects > 0 || this.currentEntity.instances > 0 || this.currentEntity.users.length > 0 || this.currentEntity.templates.length > 0) {
-            this.config = { data: { entity: this.currentEntity } };
+            this.config = { panelClass: 'maarch-modal', data: { entity: this.currentEntity } };
             this.dialogRef = this.dialog.open(EntitiesAdministrationRedirectModalComponent, this.config);
             this.dialogRef.afterClosed().subscribe((result: any) => {
                 if (result) {
@@ -778,7 +778,10 @@ export class EntitiesAdministrationComponent implements OnInit {
     }
 }
 @Component({
-    templateUrl: "entities-administration-redirect-modal.component.html"
+    templateUrl: "entities-administration-redirect-modal.component.html",
+    styles: [
+        ".alert-message { max-width: inherit; }"
+    ]
 })
 export class EntitiesAdministrationRedirectModalComponent {
     lang: any = LANG;
diff --git a/src/frontend/app/administration/group/groups-administration-redirect-modal.component.html b/src/frontend/app/administration/group/groups-administration-redirect-modal.component.html
index 0cb1fa20c18..5a29178b107 100755
--- a/src/frontend/app/administration/group/groups-administration-redirect-modal.component.html
+++ b/src/frontend/app/administration/group/groups-administration-redirect-modal.component.html
@@ -1,30 +1,35 @@
-<h2 mat-dialog-title>{{lang.groupRedirect}}</h2>
-<mat-dialog-content style="overflow:inherit;">
-    <form #changeGroupUsersForm="ngForm">
-        <div class="alert alert-warning" role="alert">
-            Le groupe
-            <b>{{this.data.group_desc}}</b> {{lang.isAssociatedTo}} <b>{{this.data.users.length}}</b> {{lang.usersAlt}}:
-            <mat-list>
-                <mat-list-item *ngFor="let user of this.data.users" style="height:25px;">
-                    <mat-icon mat-list-icon class="fa fa-user" color="primary"></mat-icon>
-                    <h4 mat-line></h4>
-                    <p mat-line> {{user.firstname}} {{user.lastname}}</p>
-                </mat-list-item>
-            </mat-list>
-        </div>
-        <mat-form-field>
-            <mat-select id="groups_redirect" name="groups_redirect" title="{{lang.chooseRedirectGroup}}" placeholder="{{lang.chooseRedirectGroup}}" [(ngModel)]="this.data.group_redirect"
-                required>
-                <mat-option value="_NO_REPLACEMENT">-- {{lang.noReplacement}} --</mat-option>
-                <mat-optgroup label="{{lang.groups}}">
-                    <mat-option *ngFor="let group of this.data.groupsForAssign" [value]="group.id">
-                        {{group.group_desc}}
-                    </mat-option>
-                </mat-optgroup>      
-            </mat-select>
-        </mat-form-field>
-        <mat-dialog-actions>
-            <button mat-raised-button color="primary" type="submit" [disabled]="!changeGroupUsersForm.form.valid" (click)="dialogRef.close(this.data.group_redirect)">{{lang.validate}}</button>
-        </mat-dialog-actions>
-    </form>
-</mat-dialog-content>
+<div class="mat-dialog-content-container">
+    <h2 mat-dialog-title>{{lang.groupRedirect}}</h2>
+    <mat-dialog-content>
+        <form #changeGroupUsersForm="ngForm">
+            <div class="alert-message alert-message-info" role="alert">
+                Le groupe
+                <b>{{this.data.group_desc}}</b> {{lang.isAssociatedTo}} <b>{{this.data.users.length}}</b>
+                {{lang.usersAlt}}:
+                <mat-list>
+                    <mat-list-item *ngFor="let user of this.data.users" style="height:25px;">
+                        <mat-icon mat-list-icon class="fa fa-user" color="primary"></mat-icon>
+                        <h4 mat-line></h4>
+                        <p mat-line> {{user.firstname}} {{user.lastname}}</p>
+                    </mat-list-item>
+                </mat-list>
+            </div>
+            <mat-form-field>
+                <mat-select id="groups_redirect" name="groups_redirect" title="{{lang.chooseRedirectGroup}}"
+                    placeholder="{{lang.chooseRedirectGroup}}" [(ngModel)]="this.data.group_redirect" required>
+                    <mat-option value="_NO_REPLACEMENT">-- {{lang.noReplacement}} --</mat-option>
+                    <mat-optgroup label="{{lang.groups}}">
+                        <mat-option *ngFor="let group of this.data.groupsForAssign" [value]="group.id">
+                            {{group.group_desc}}
+                        </mat-option>
+                    </mat-optgroup>
+                </mat-select>
+            </mat-form-field>
+        </form>
+    </mat-dialog-content>
+    <span class="divider-modal"></span>
+    <mat-dialog-actions>
+        <button mat-raised-button color="primary" type="submit" [disabled]="!changeGroupUsersForm.form.valid"
+            (click)="dialogRef.close(this.data.group_redirect)">{{lang.validate}}</button>
+    </mat-dialog-actions>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/administration/group/groups-administration.component.ts b/src/frontend/app/administration/group/groups-administration.component.ts
index 7da00bc65c5..b7070de3cad 100755
--- a/src/frontend/app/administration/group/groups-administration.component.ts
+++ b/src/frontend/app/administration/group/groups-administration.component.ts
@@ -97,7 +97,7 @@ export class GroupsAdministrationComponent implements OnInit {
                     this.groupsForAssign.push(tmpGroup);
                 }
             });
-            this.config = { data: { id: group.id, group_desc: group.group_desc, groupsForAssign: this.groupsForAssign, users: group.users } };
+            this.config = { panelClass: 'maarch-modal', data: { id: group.id, group_desc: group.group_desc, groupsForAssign: this.groupsForAssign, users: group.users } };
             this.dialogRef = this.dialog.open(GroupsAdministrationRedirectModalComponent, this.config);
             this.dialogRef.afterClosed().subscribe((result: string) => {
                 if (result) {
diff --git a/src/frontend/app/administration/technical/technical-administration.component.html b/src/frontend/app/administration/technical/technical-administration.component.html
deleted file mode 100644
index ac94d226485..00000000000
--- a/src/frontend/app/administration/technical/technical-administration.component.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<div class="adminTitle">{{lang.parameters}}</div>
-<div *ngIf="loading" class="adminLoading">
-    <mat-spinner></mat-spinner>
-</div>
-<mat-nav-list *ngIf="!loading">
-    <mat-list-item *ngFor="let modService of technicalServices" (click)="goToSpecifiedAdministration(modService)">
-        <mat-icon color="primary" mat-list-icon class="{{modService.style}} fa-2x"></mat-icon>
-        <p mat-line> {{modService.name}} </p>
-      </mat-list-item>
-</mat-nav-list>
\ No newline at end of file
diff --git a/src/frontend/app/administration/technical/technical-administration.component.scss b/src/frontend/app/administration/technical/technical-administration.component.scss
deleted file mode 100644
index bc2547e329a..00000000000
--- a/src/frontend/app/administration/technical/technical-administration.component.scss
+++ /dev/null
@@ -1,18 +0,0 @@
-.adminTitle {
-    text-align: center;
-    font-weight: bold;
-    opacity: 0.3;
-}
-
-.adminLoading {
-    display: flex;
-    height: 100%;
-
-    .mat-spinner {
-        margin: auto;
-    }
-}
-
-mat-icon {
-    height: auto;
-}
\ No newline at end of file
diff --git a/src/frontend/app/administration/technical/technical-administration.component.ts b/src/frontend/app/administration/technical/technical-administration.component.ts
deleted file mode 100644
index bca52663d70..00000000000
--- a/src/frontend/app/administration/technical/technical-administration.component.ts
+++ /dev/null
@@ -1,50 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-import { HttpClient } from '@angular/common/http';
-import { Router } from '@angular/router';
-import { LANG } from '../../translate.component';
-import { MatBottomSheet } from '@angular/material/bottom-sheet';
-
-declare function $j(selector: any): any;
-
-declare const angularGlobals: any;
-
-
-@Component({
-    templateUrl: "technical-administration.component.html",
-    styleUrls: ['technical-administration.component.scss'],
-})
-export class TechnicalAdministrationComponent implements OnInit {
-
-    mobileQuery                     : MediaQueryList;
-
-    coreUrl                         : string;
-    lang                            : any       = LANG;
-    loading                         : boolean   = false;
-
-    technicalServices               : any[]     = [];
-
-
-    constructor(public http: HttpClient, private router: Router, private bottomSheet: MatBottomSheet) {
-        $j("link[href='merged_css.php']").remove();
-    }
-
-    ngOnInit(): void {
-        this.coreUrl = angularGlobals.coreUrl;
-
-        this.loading = true;
-
-        // TO DO : change route for real technical services
-        this.http.get(this.coreUrl + 'rest/administration')
-            .subscribe((data: any) => {
-                this.technicalServices = data.administrations.supervision;
-                this.loading = false;
-            }, () => {
-                location.href = "index.php";
-            });
-    }
-
-    goToSpecifiedAdministration(service: any): void {
-        this.router.navigate([service.servicepage]);
-        this.bottomSheet.dismiss();
-    }
-}
diff --git a/src/frontend/app/administration/template/template-administration-checkEntities-modal.component.html b/src/frontend/app/administration/template/template-administration-checkEntities-modal.component.html
index f2c9e061b09..ef0d2570a38 100644
--- a/src/frontend/app/administration/template/template-administration-checkEntities-modal.component.html
+++ b/src/frontend/app/administration/template/template-administration-checkEntities-modal.component.html
@@ -1,7 +1,7 @@
-<h1 mat-dialog-title>{{lang.templateAssociateEntities}}</h1>
-<mat-dialog-content >
-    <div class="modal-body">
-        <div class="alert alert-warning" role="alert">
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{lang.templateAssociateEntities}}</h1>
+    <mat-dialog-content>
+        <div class="alert-message alert-message-info" role="alert">
             <p>{{lang.templateCheckEntities}}<b>{{lang['AR'+data.template_attachment_type]}}</b></p>
         </div>
         <mat-list>
@@ -10,9 +10,8 @@
                 <span mat-line> {{entity.entity_label}} </span>
             </mat-list-item>
         </mat-list>
-    </div>
+    </mat-dialog-content>
     <mat-dialog-actions>
-        <button mat-raised-button color="primary" type="submit"
-            (click)="dialogRef.close()">{{lang.close}}</button>
+        <button mat-raised-button color="primary" type="submit" (click)="dialogRef.close()">{{lang.close}}</button>
     </mat-dialog-actions>
-</mat-dialog-content>
\ No newline at end of file
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/administration/template/template-administration-checkEntities-modal.scss b/src/frontend/app/administration/template/template-administration-checkEntities-modal.scss
index 80ef80f773f..7cb09b6d8a3 100644
--- a/src/frontend/app/administration/template/template-administration-checkEntities-modal.scss
+++ b/src/frontend/app/administration/template/template-administration-checkEntities-modal.scss
@@ -1,16 +1,3 @@
-.mat-dialog-content{
-    height: auto !important;
-    min-width: 30vw;
-    max-height: 90vh;
-    overflow: hidden !important;
-    padding: 24px !important;
-}
-
-.modal-body{
-    min-height: auto;
-}
-
-mat-list{
-    overflow: auto;
-    max-height: 50vh;
+.alert-message {
+    max-width: inherit;
 }
\ No newline at end of file
diff --git a/src/frontend/app/administration/template/template-administration.component.ts b/src/frontend/app/administration/template/template-administration.component.ts
index f8f74afb574..9ea2006e0ec 100755
--- a/src/frontend/app/administration/template/template-administration.component.ts
+++ b/src/frontend/app/administration/template/template-administration.component.ts
@@ -321,6 +321,7 @@ export class TemplateAdministrationComponent implements OnInit {
                 .subscribe((data: any) => {
                     if (data.checkEntities) {
                         this.config = {
+                            panelClass: 'maarch-modal',
                             data: {
                                 entitiesList: data.checkEntities,
                                 template_attachment_type: this.template.template_attachment_type
@@ -342,6 +343,7 @@ export class TemplateAdministrationComponent implements OnInit {
                 .subscribe((data: any) => {
                     if (data.checkEntities) {
                         this.config = {
+                            panelClass: 'maarch-modal',
                             data: {
                                 entitiesList: data.checkEntities,
                                 template_attachment_type: this.template.template_attachment_type
diff --git a/src/frontend/app/administration/user/account-link/account-link.component.html b/src/frontend/app/administration/user/account-link/account-link.component.html
index 3a6d86c0e6d..f9f5afbfe3b 100644
--- a/src/frontend/app/administration/user/account-link/account-link.component.html
+++ b/src/frontend/app/administration/user/account-link/account-link.component.html
@@ -1,23 +1,33 @@
-<h1 mat-dialog-title>{{lang.linkAccount}}</h1>
-<mat-dialog-content class="modal-container">
-  <plugin-autocomplete [labelPlaceholder]="lang.searchUserInMaarchParapheur" [routeDatas]="['/rest/autocomplete/maarchParapheurUsers?exludeAlreadyConnected=true']" [targetSearchKey]="'idToDisplay'" [subInfoKey]="'email'" (triggerEvent)="selectUser($event)" appearance="outline"></plugin-autocomplete>
-  <mat-list *ngIf="externalUser.inMaarchParapheur">
-    <mat-list-item >
-      <mat-icon class="avatarAccount" color="primary" mat-list-icon
-        [style.background-image]="'url('+externalUser.picture+')'"></mat-icon>
-      <h4 mat-line>{{externalUser.firstname}} {{externalUser.lastname}}</h4>
-      <p mat-line style="color:#666">{{externalUser.email}}</p>
-      <button mat-icon-button color="warn" [title]="lang.unlinkAccount" (click)="unlinkMaarchParapheurAccount()">
+<div class="mat-dialog-content-container">
+  <h1 mat-dialog-title>{{lang.linkAccount}}</h1>
+  <mat-dialog-content>
+    <plugin-autocomplete [labelPlaceholder]="lang.searchUserInMaarchParapheur"
+      [routeDatas]="['/rest/autocomplete/maarchParapheurUsers?exludeAlreadyConnected=true']"
+      [targetSearchKey]="'idToDisplay'" [subInfoKey]="'email'" (triggerEvent)="selectUser($event)" appearance="outline">
+    </plugin-autocomplete>
+    <mat-list *ngIf="externalUser.inMaarchParapheur">
+      <mat-list-item>
+        <mat-icon class="avatarAccount" color="primary" mat-list-icon
+          [style.background-image]="'url('+externalUser.picture+')'"></mat-icon>
+        <h4 mat-line>{{externalUser.firstname}} {{externalUser.lastname}}</h4>
+        <p mat-line style="color:#666">{{externalUser.email}}</p>
+        <button mat-icon-button color="warn" [title]="lang.unlinkAccount" (click)="unlinkMaarchParapheurAccount()">
           <mat-icon class="fas fa-unlink"></mat-icon>
-      </button>
-    </mat-list-item>
-  </mat-list>
-  <mat-form-field *ngIf="!externalUser.inMaarchParapheur">
-    <input type="text" matInput placeholder="{{lang.newLoginInMaarchParapheur}}" [(ngModel)]="externalUser.login">
-  </mat-form-field>
-  <div *ngIf="!externalUser.inMaarchParapheur" class="alert-message alert-message-danger" role="alert" style="margin-top: 30px;" [innerHTML]="lang.maarchParapheurAccountMsg + ' <b>' + externalUser.login + '</b> ' + lang.maarchParapheurAccountMsg2"></div>
-</mat-dialog-content>
-<mat-dialog-actions>
-  <button color="primary" mat-raised-button (click)="this.dialogRef.close(externalUser);" [disabled]="externalUser.login === ''">{{lang.validate}}</button>
-  <button  mat-raised-button (click)="this.dialogRef.close('');">{{lang.cancel}}</button>
-</mat-dialog-actions>
\ No newline at end of file
+        </button>
+      </mat-list-item>
+    </mat-list>
+    <mat-form-field *ngIf="!externalUser.inMaarchParapheur">
+      <input type="text" matInput placeholder="{{lang.newLoginInMaarchParapheur}}" [(ngModel)]="externalUser.login">
+    </mat-form-field>
+    <div *ngIf="!externalUser.inMaarchParapheur" class="alert-message alert-message-danger" role="alert"
+      style="margin-top: 30px;"
+      [innerHTML]="lang.maarchParapheurAccountMsg + ' <b>' + externalUser.login + '</b> ' + lang.maarchParapheurAccountMsg2">
+    </div>
+  </mat-dialog-content>
+  <span class="divider-modal"></span>
+  <mat-dialog-actions>
+    <button color="primary" mat-raised-button (click)="this.dialogRef.close(externalUser);"
+      [disabled]="externalUser.login === ''">{{lang.validate}}</button>
+    <button mat-raised-button (click)="this.dialogRef.close('');">{{lang.cancel}}</button>
+  </mat-dialog-actions>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/administration/user/account-link/account-link.component.scss b/src/frontend/app/administration/user/account-link/account-link.component.scss
index f8b37d5023b..918b435f553 100644
--- a/src/frontend/app/administration/user/account-link/account-link.component.scss
+++ b/src/frontend/app/administration/user/account-link/account-link.component.scss
@@ -1,8 +1,5 @@
 @import '../../../../css/vars.scss';
 
-.mat-dialog-title {
-    padding: 10px;
-}
 .avatarAccount {
     border: solid 3px #F99830;
     height: 45px !important;
@@ -10,12 +7,4 @@
     background-size: cover;
     background-repeat: no-repeat;
     background-position: center;
-}
-
-.modal-container{
-    height: auto;
-}
-
-.modal-body{
-    min-height: auto;
-}
+}
\ No newline at end of file
diff --git a/src/frontend/app/administration/user/user-administration-redirect-modal.component.html b/src/frontend/app/administration/user/user-administration-redirect-modal.component.html
index 157cd4156b9..4f9ac32bcdc 100755
--- a/src/frontend/app/administration/user/user-administration-redirect-modal.component.html
+++ b/src/frontend/app/administration/user/user-administration-redirect-modal.component.html
@@ -1,14 +1,17 @@
-<h1 mat-dialog-title>{{lang.redirects}}</h1>
-<mat-dialog-content style="overflow:inherit;">
-    <form #redirectConfForm="ngForm">
-        <div class="modal-body">
-            <div class="alert alert-warning" role="alert" *ngIf="data.hasConfidentialityInstances" [innerHTML]="lang.redirectConfidentialInfo">
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{lang.redirects}}</h1>
+    <mat-dialog-content>
+        <form #redirectConfForm="ngForm">
+
+            <div class="alert-message alert-message-info" role="alert" *ngIf="data.hasConfidentialityInstances"
+                [innerHTML]="lang.redirectConfidentialInfo">
             </div>
-            <div class="alert alert-warning" role="alert" *ngIf="data.hasListTemplates" [innerHTML]="lang.redirectModelInfo">
+            <div class="alert-message alert-message-info" role="alert" *ngIf="data.hasListTemplates"
+                [innerHTML]="lang.redirectModelInfo">
             </div>
             <div class="input-group">
-                <mat-radio-group id="processMode" name="processMode" style="display: inline-flex;flex-direction: column;" [(ngModel)]="this.processMode"
-                    color="primary">
+                <mat-radio-group id="processMode" name="processMode"
+                    style="display: inline-flex;flex-direction: column;" [(ngModel)]="this.processMode" color="primary">
                     <mat-radio-button value="" checked="true" color="primary">
                         {{lang.doNothingRedirect}}
                     </mat-radio-button>
@@ -19,18 +22,24 @@
                         {{lang.reaffectUserRedirect}}
                     </mat-radio-button>
                 </mat-radio-group>
-                <plugin-autocomplete *ngIf="this.processMode == 'reaffect'" [labelPlaceholder]="lang.userReplacement" [labelList]="lang.availableUsers" [routeDatas]="['/rest/autocomplete/users']" [targetSearchKey]="'idToDisplay'" [subInfoKey]="'descriptionToDisplay'" (triggerEvent)="setRedirectUser($event)" singleMode required></plugin-autocomplete>
+                <plugin-autocomplete *ngIf="this.processMode == 'reaffect'" [labelPlaceholder]="lang.userReplacement"
+                    [labelList]="lang.availableUsers" [routeDatas]="['/rest/autocomplete/users']"
+                    [targetSearchKey]="'idToDisplay'" [subInfoKey]="'descriptionToDisplay'"
+                    (triggerEvent)="setRedirectUser($event)" singleMode required></plugin-autocomplete>
 
                 <div class="alert-message alert-message-info" role="alert" style="max-width: inherit;">
                     <span *ngIf="this.processMode == ''"><em>{{lang.doNothingRedirectInformations}}</em></span>
                     <span *ngIf="this.processMode == 'delete'" [innerHTML]="lang.removeUserRedirectInformations"></span>
-                    <span *ngIf="this.processMode == 'reaffect'"><em>{{lang.reaffectUserRedirectInformations}}</em></span>
+                    <span
+                        *ngIf="this.processMode == 'reaffect'"><em>{{lang.reaffectUserRedirectInformations}}</em></span>
                 </div>
             </div>
-        </div>
-        <mat-dialog-actions>
-            <button mat-raised-button color="primary" type="submit" [disabled]="!this.redirectUser && this.processMode == 'reaffect'"
-                (click)="dialogRef.close({newUser:this.redirectUser,processMode:this.processMode})">{{lang.validate}}</button>
-        </mat-dialog-actions>
-    </form>
-</mat-dialog-content>
\ No newline at end of file
+        </form>
+    </mat-dialog-content>
+    <span class="divider-modal"></span>
+    <mat-dialog-actions>
+        <button mat-raised-button color="primary" type="submit"
+            [disabled]="!this.redirectUser && this.processMode == 'reaffect'"
+            (click)="dialogRef.close({newUser:this.redirectUser,processMode:this.processMode})">{{lang.validate}}</button>
+    </mat-dialog-actions>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/administration/user/user-administration.component.ts b/src/frontend/app/administration/user/user-administration.component.ts
index 20b423a1c15..6b349c36513 100755
--- a/src/frontend/app/administration/user/user-administration.component.ts
+++ b/src/frontend/app/administration/user/user-administration.component.ts
@@ -203,7 +203,7 @@ export class UserAdministrationComponent implements OnInit {
     }
 
     linkMaarchParapheurAccount() {
-        const dialogRef = this.dialog.open(AccountLinkComponent, { autoFocus: false, data: { user: this.user } });
+        const dialogRef = this.dialog.open(AccountLinkComponent, { panelClass: 'maarch-modal', autoFocus: false, data: { user: this.user } });
         dialogRef.afterClosed().subscribe(result => {
             if (result) {
                 if (result.inMaarchParapheur) {
@@ -486,7 +486,7 @@ export class UserAdministrationComponent implements OnInit {
                             this.notify.error(err.error.errors);
                         });
                 } else {
-                    this.config = { data: { hasConfidentialityInstances: data['hasConfidentialityInstances'], hasListTemplates: data['hasListTemplates'] } };
+                    this.config = { panelClass: 'maarch-modal', data: { hasConfidentialityInstances: data['hasConfidentialityInstances'], hasListTemplates: data['hasListTemplates'] } };
                     this.dialogRef = this.dialog.open(UserAdministrationRedirectModalComponent, this.config);
                     this.dialogRef.afterClosed().subscribe((result: any) => {
                         this.mode = 'delete';
diff --git a/src/frontend/app/administration/user/users-administration-redirect-modal.component.html b/src/frontend/app/administration/user/users-administration-redirect-modal.component.html
index 3efed8e4d5a..9f76e3004c4 100755
--- a/src/frontend/app/administration/user/users-administration-redirect-modal.component.html
+++ b/src/frontend/app/administration/user/users-administration-redirect-modal.component.html
@@ -1,86 +1,81 @@
-<h1 mat-dialog-title>{{modalTitle}}</h1>
-
-<form #changeDiffListDestForm="ngForm">
-    <div>
+<div class="mat-dialog-content-container">
+    <h1 mat-dialog-title>{{modalTitle}}</h1>
+    <mat-dialog-content>
         <ng-container *ngIf="data.isDeletable">
-            <mat-dialog-content>
-                <div class="modal-body" *ngIf="data.inDiffListDest">
-                    <h2>{{lang.redirectUserListDiff}}</h2>
-                    <div class="alert alert-warning" role="alert">
-                        <b>{{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b>&nbsp;<span
-                            [innerHTML]="lang.chooseNewDest"></span> :
-                    </div>
-
-                    <div *ngFor="let redirectModel of data.redirectListModels; index as i" id="{{redirectModel.object_id}}"
-                        class="form-group">
-                        <plugin-autocomplete [labelPlaceholder]="lang.newDest + ' : ' + redirectModel.title" [labelList]="lang.availableUsers" [routeDatas]="['/rest/autocomplete/users']" [targetSearchKey]="'idToDisplay'" [subInfoKey]="'descriptionToDisplay'" (triggerEvent)="setRedirectUserListModels(i, $event)" singleMode required></plugin-autocomplete>
-                    </div>
+            <ng-container *ngIf="data.inDiffListDest">
+                <h2>{{lang.redirectUserListDiff}}</h2>
+                <div class="alert-message alert-message-info" role="alert">
+                    <b>{{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b>&nbsp;<span
+                        [innerHTML]="lang.chooseNewDest"></span> :
                 </div>
 
-                <div class="modal-body" *ngIf="data.isResDestUser">
-                    <h2>{{lang.redirectUserListInstances}}</h2>
-                    <div class="alert alert-warning" role="alert">
-                        <b>{{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b>&nbsp;<span
-                            [innerHTML]="lang.chooseNewDestUser"></span> :
-                    </div>
-
-                    <div id="{{this.data.userDestRedirect.user_id}}" class="form-group">
-                        <plugin-autocomplete [labelPlaceholder]="lang.newDestRes" [labelList]="lang.availableUsers" [routeDatas]="['/rest/autocomplete/users']" [targetSearchKey]="'idToDisplay'" [subInfoKey]="'descriptionToDisplay'" (triggerEvent)="setRedirectUserRes($event)" singleMode required></plugin-autocomplete>
-                    </div>
+                <div *ngFor="let redirectModel of data.redirectListModels; index as i" id="{{redirectModel.object_id}}"
+                    class="form-group">
+                    <plugin-autocomplete [labelPlaceholder]="lang.newDest + ' : ' + redirectModel.title"
+                        [labelList]="lang.availableUsers" [routeDatas]="['/rest/autocomplete/users']"
+                        [targetSearchKey]="'idToDisplay'" [subInfoKey]="'descriptionToDisplay'"
+                        (triggerEvent)="setRedirectUserListModels(i, $event)" singleMode required></plugin-autocomplete>
                 </div>
-
-                <div class="modal-body" *ngIf="!data.inDiffListDest && !data.isResDestUser">
-                    <div class="alert" role="alert">
-                        <b *ngIf="data.userDestRedirect.mode == 'delete'">{{lang.delete}}
-                            {{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b>&nbsp;
-                        <b *ngIf="data.userDestRedirect.mode == 'suspend'">{{lang.suspend}}
-                            {{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b>&nbsp;
-                    </div>
+            </ng-container>
+            <ng-container *ngIf="data.isResDestUser">
+                <h2>{{lang.redirectUserListInstances}}</h2>
+                <div class="alert-message alert-message-info" role="alert">
+                    <b>{{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b>&nbsp;<span
+                        [innerHTML]="lang.chooseNewDestUser"></span> :
                 </div>
 
-            </mat-dialog-content>
-        </ng-container>
-
-        <ng-container *ngIf="!data.isDeletable">
-            <mat-dialog-content>
-                <div class="modal-body">
-                    <div class="alert alert-warning" role="alert">
-                        <p><span [innerHTML]="lang.userIsNotDeletable"></span> <b>{{this.data.userDestRedirect.firstname}}
-                                {{this.data.userDestRedirect.lastname}}</b>&nbsp;</p>
-                        <p><span [innerHTML]="lang.userIsDeletableBy"></span></p>
-                    </div>
+                <div id="{{this.data.userDestRedirect.user_id}}" class="form-group">
+                    <plugin-autocomplete [labelPlaceholder]="lang.newDestRes" [labelList]="lang.availableUsers"
+                        [routeDatas]="['/rest/autocomplete/users']" [targetSearchKey]="'idToDisplay'"
+                        [subInfoKey]="'descriptionToDisplay'" (triggerEvent)="setRedirectUserRes($event)" singleMode
+                        required></plugin-autocomplete>
                 </div>
-
-                <div class="modal-body" *ngIf="data.inTemplateList" class="col-md-6">
-                    <mat-list>
-                        <p mat-line>{{lang.diffusionList}}</p>
-                        <mat-list-item *ngFor="let templateEntity of data.listTemplateEntities">
-                            <mat-icon mat-list-icon><i class="fa fa-share-alt" color="primary"></i></mat-icon>
-                            <p mat-line><span> {{templateEntity}} </span></p>
-                        </mat-list-item>
-                    </mat-list>
-                </div>
-
-                <div class="modal-body" *ngIf="data.inInstanceList" class="col-md-6">
-                    <mat-list>
-                        <p mat-line>{{lang.mailEntitiesList}}</p>
-                        <mat-list-item *ngFor="let instanceEntity of data.listInstanceEntities">
-                            <mat-icon mat-list-icon><i class="fa fa-inbox" color="primary"></i></mat-icon>
-                            <p mat-line><span> {{instanceEntity}} </span></p>
-                        </mat-list-item>
-                    </mat-list>
+            </ng-container>
+            <ng-container *ngIf="!data.inDiffListDest && !data.isResDestUser">
+                <div class="alert" role="alert">
+                    <b *ngIf="data.userDestRedirect.mode == 'delete'">{{lang.delete}}
+                        {{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b>&nbsp;
+                    <b *ngIf="data.userDestRedirect.mode == 'suspend'">{{lang.suspend}}
+                        {{this.data.userDestRedirect.firstname}} {{this.data.userDestRedirect.lastname}}</b>&nbsp;
                 </div>
-            </mat-dialog-content>
+            </ng-container>
         </ng-container>
-
-        <mat-dialog-actions>
-            <button mat-raised-button color="warn" *ngIf="data.userDestRedirect.mode == 'delete' && data.isDeletable"
-                type="submit" class="btn btn-danger" (click)="dialogRef.close(this.data)" [disabled]="!sendFunction()">{{lang.delete}}
-                {{lang.user}}</button>
-            <button mat-raised-button color="primary" *ngIf="data.userDestRedirect.mode == 'suspend' && data.isDeletable"
-                type="submit" (click)="dialogRef.close(this.data)" [disabled]="!sendFunction()">{{lang.suspend}}
-                {{lang.user}}</button>
-            <button mat-raised-button color="primary" *ngIf="!data.isDeletable" type="submit" (click)="dialogRef.close()">{{lang.close}}</button>
-        </mat-dialog-actions>
-    </div>
-</form>
\ No newline at end of file
+        <ng-container *ngIf="!data.isDeletable">
+            <div class="alert-message alert-message-info" role="alert">
+                <p><span [innerHTML]="lang.userIsNotDeletable"></span> <b>{{this.data.userDestRedirect.firstname}}
+                        {{this.data.userDestRedirect.lastname}}</b>&nbsp;</p>
+                <p><span [innerHTML]="lang.userIsDeletableBy"></span></p>
+            </div>
+            <div class="modal-body" *ngIf="data.inTemplateList" class="col-md-6">
+                <mat-list>
+                    <p mat-line>{{lang.diffusionList}}</p>
+                    <mat-list-item *ngFor="let templateEntity of data.listTemplateEntities">
+                        <mat-icon mat-list-icon><i class="fa fa-share-alt" color="primary"></i></mat-icon>
+                        <p mat-line><span> {{templateEntity}} </span></p>
+                    </mat-list-item>
+                </mat-list>
+            </div>
+            <div class="modal-body" *ngIf="data.inInstanceList" class="col-md-6">
+                <mat-list>
+                    <p mat-line>{{lang.mailEntitiesList}}</p>
+                    <mat-list-item *ngFor="let instanceEntity of data.listInstanceEntities">
+                        <mat-icon mat-list-icon><i class="fa fa-inbox" color="primary"></i></mat-icon>
+                        <p mat-line><span> {{instanceEntity}} </span></p>
+                    </mat-list-item>
+                </mat-list>
+            </div>
+        </ng-container>
+    </mat-dialog-content>
+    <span class="divider-modal"></span>
+    <mat-dialog-actions>
+        <button mat-raised-button color="warn" *ngIf="data.userDestRedirect.mode == 'delete' && data.isDeletable"
+            type="submit" class="btn btn-danger" (click)="dialogRef.close(this.data)"
+            [disabled]="!sendFunction()">{{lang.delete}}
+            {{lang.user}}</button>
+        <button mat-raised-button color="primary" *ngIf="data.userDestRedirect.mode == 'suspend' && data.isDeletable"
+            type="submit" (click)="dialogRef.close(this.data)" [disabled]="!sendFunction()">{{lang.suspend}}
+            {{lang.user}}</button>
+        <button mat-raised-button color="primary" *ngIf="!data.isDeletable" type="submit"
+            (click)="dialogRef.close()">{{lang.close}}</button>
+    </mat-dialog-actions>
+</div>
\ No newline at end of file
diff --git a/src/frontend/app/administration/user/users-administration-redirect-modal.scss b/src/frontend/app/administration/user/users-administration-redirect-modal.scss
index 80935ad615e..341bf2502e0 100644
--- a/src/frontend/app/administration/user/users-administration-redirect-modal.scss
+++ b/src/frontend/app/administration/user/users-administration-redirect-modal.scss
@@ -1,15 +1,7 @@
-.mat-dialog-content{
-    max-height: 80vh;
-}
-
-.modal-body{
-    min-height: auto;
-}
-
-mat-dialog-actions{
-    justify-content: center;
-}
-
 mat-icon{
     height: auto !important;
+}
+
+.alert-message {
+    max-width: 100%;
 }
\ No newline at end of file
diff --git a/src/frontend/app/administration/user/users-administration.component.ts b/src/frontend/app/administration/user/users-administration.component.ts
index ff656176847..c3ee2a4c2e3 100755
--- a/src/frontend/app/administration/user/users-administration.component.ts
+++ b/src/frontend/app/administration/user/users-administration.component.ts
@@ -18,7 +18,7 @@ declare var angularGlobals: any;
 @Component({
     templateUrl: "users-administration.component.html",
     styleUrls: ['users-administration.component.scss'],
-    providers: [NotificationService, AppService]
+    providers: [AppService]
 })
 export class UsersAdministrationComponent implements OnInit {
 
@@ -146,6 +146,7 @@ export class UsersAdministrationComponent implements OnInit {
 
                     if (response.isDeletable) {
                         this.config = {
+                            panelClass: 'maarch-modal',
                             data: {
                                 userDestRedirect: user,
                                 isDeletable: response.isDeletable,
@@ -155,6 +156,7 @@ export class UsersAdministrationComponent implements OnInit {
                         };
                     } else {
                         this.config = {
+                            panelClass: 'maarch-modal',
                             data: {
                                 userDestRedirect: user,
                                 isDeletable: response.isDeletable,
@@ -417,7 +419,6 @@ export class UsersAdministrationComponent implements OnInit {
 @Component({
     templateUrl: "users-administration-redirect-modal.component.html",
     styleUrls: ['users-administration-redirect-modal.scss'],
-    providers: [NotificationService]
 })
 export class UsersAdministrationRedirectModalComponent {
     lang: any               = LANG;
diff --git a/src/frontend/css/maarch-material-modal.scss b/src/frontend/css/maarch-material-modal.scss
index 0e027ab9a72..1001f7b55c6 100644
--- a/src/frontend/css/maarch-material-modal.scss
+++ b/src/frontend/css/maarch-material-modal.scss
@@ -32,7 +32,8 @@
   .mat-dialog-title {
     margin: 0;
     padding: 5px;
-    padding-left: 10px;
+    padding-left: 20px;
+    padding-right: 20px;
     background: $primary;
     color: white;
     display: flex;
@@ -78,7 +79,8 @@
   .mat-dialog-title {
     margin: 0;
     padding: 5px;
-    padding-left: 10px;
+    padding-left: 20px;
+    padding-right: 20px;
     background: $primary;
     color: white;
     display: flex;
-- 
GitLab