From fff8f43b821684afb488ff90bfc36ae6fafe7329 Mon Sep 17 00:00:00 2001
From: Henri Queneau <henri.queneau@maarch.org>
Date: Wed, 9 Aug 2017 18:35:32 +0200
Subject: [PATCH] FEAT #5802 suite du travail sur la creation d une
 notification

---
 ...notification-administration.component.html | 31 +++++++++++
 .../administration-routing.module.js          |  2 +-
 .../administration-routing.module.ts          |  2 +-
 .../notification-administration.component.js  | 54 ++++++++++++++++++
 .../notification-administration.component.ts  | 55 +++++++++++++++++++
 .../notifications-administration.component.js |  2 +-
 .../notifications-administration.component.ts |  2 +-
 .../js/angular/lang/lang-en.js                |  1 +
 .../js/angular/lang/lang-en.ts                |  1 +
 .../js/angular/lang/lang-fr.js                |  1 +
 .../js/angular/lang/lang-fr.ts                |  1 +
 11 files changed, 148 insertions(+), 4 deletions(-)
 create mode 100644 apps/maarch_entreprise/Views/notification-administration.component.html
 create mode 100644 apps/maarch_entreprise/js/angular/app/administration/notification-administration.component.js
 create mode 100644 apps/maarch_entreprise/js/angular/app/administration/notification-administration.component.ts

diff --git a/apps/maarch_entreprise/Views/notification-administration.component.html b/apps/maarch_entreprise/Views/notification-administration.component.html
new file mode 100644
index 00000000000..f9388322f1e
--- /dev/null
+++ b/apps/maarch_entreprise/Views/notification-administration.component.html
@@ -0,0 +1,31 @@
+ <div *ngIf="loading">
+    <i class="fa fa-spinner fa-spin fa-5x" style="margin-left: 50%;margin-top: 16%;font-size: 8em"></i>
+</div> 
+<nav class="navbar navbar-default" style="font-size:17px !important;" id="toolBox">
+    <div class="container-fluid">
+        <div class="navbar-header">
+            <a class="navbar-brand" routerLink="/administration/notifications" style="cursor: pointer">
+                <i class="fa fa-arrow-circle-left" title="{{lang.back}}"></i>
+            </a>
+        </div>
+        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
+            <ul class="nav navbar-nav navbar-right">
+                
+            </ul>
+        </div>
+    </div>
+</nav>
+<h1 style="margin-top: 0"><i class="fa fa-check-circle fa-2x"></i> {{pageTitle}}</h1>
+<div class="container-fluid" style="border-left:solid 1px white;border-right:solid 1px white;background-color: #CEE9F1;border-top: solid 2px #FDD16C;border-bottom: solid 2px #FDD16C;padding:10px;">
+<div class="col-md-6 col-md-offset-3">
+    <!-- <form class="form-horizontal" (ngSubmit)="submitStatus()" #statusFormUp="ngForm">
+        <div class="form-group">
+            <div class="col-sm-12">
+                <div class="input-group">
+                    <span class="input-group-addon"><i aria-hidden="true" class="fa fa-hashtag" title="{{lang.identifier}}"></i><sup class="mandatory" title="champ requis"><i class="fa fa-asterisk" aria-hidden="true"></i></sup></span>
+                    <input [(ngModel)]="status.id" class="form-control" [disabled]="mode == 'update'" maxlength="10" name="id" id="id" title="{{lang.identifier}}" type="text" required>
+                </div>
+            </div>
+        </div> 
+    </form>    -->
+</div>
diff --git a/apps/maarch_entreprise/js/angular/app/administration/administration-routing.module.js b/apps/maarch_entreprise/js/angular/app/administration/administration-routing.module.js
index 927a1b40ea9..8cf727c6b7e 100755
--- a/apps/maarch_entreprise/js/angular/app/administration/administration-routing.module.js
+++ b/apps/maarch_entreprise/js/angular/app/administration/administration-routing.module.js
@@ -49,7 +49,7 @@ AdministrationRoutingModule = __decorate([
                 { path: 'administration/actions/new', component: action_administration_component_1.ActionAdministrationComponent },
                 { path: 'administration/actions/:id', component: action_administration_component_1.ActionAdministrationComponent },
                 { path: 'administration/notifications', component: notifications_administration_component_1.NotificationsAdministrationComponent },
-                { path: 'administration/notification', component: notification_administration_component_1.NotificationAdministrationComponent },
+                { path: 'administration/notifications/new', component: notification_administration_component_1.NotificationAdministrationComponent },
             ]),
         ],
         exports: [
diff --git a/apps/maarch_entreprise/js/angular/app/administration/administration-routing.module.ts b/apps/maarch_entreprise/js/angular/app/administration/administration-routing.module.ts
index 0bef08eee46..41b21394b13 100755
--- a/apps/maarch_entreprise/js/angular/app/administration/administration-routing.module.ts
+++ b/apps/maarch_entreprise/js/angular/app/administration/administration-routing.module.ts
@@ -37,7 +37,7 @@ import { NotificationAdministrationComponent }       from './notification-admini
             { path: 'administration/actions/new', component: ActionAdministrationComponent },
             { path: 'administration/actions/:id', component: ActionAdministrationComponent },
             { path: 'administration/notifications', component: NotificationsAdministrationComponent },
-            { path: 'administration/notification', component: NotificationAdministrationComponent },
+            { path: 'administration/notifications/new', component: NotificationAdministrationComponent },
         ]),
     ],
     exports: [
diff --git a/apps/maarch_entreprise/js/angular/app/administration/notification-administration.component.js b/apps/maarch_entreprise/js/angular/app/administration/notification-administration.component.js
new file mode 100644
index 00000000000..aa52e232536
--- /dev/null
+++ b/apps/maarch_entreprise/js/angular/app/administration/notification-administration.component.js
@@ -0,0 +1,54 @@
+"use strict";
+var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
+    var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
+    if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
+    else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
+    return c > 3 && r && Object.defineProperty(target, key, r), r;
+};
+var __metadata = (this && this.__metadata) || function (k, v) {
+    if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
+};
+Object.defineProperty(exports, "__esModule", { value: true });
+var core_1 = require("@angular/core");
+var http_1 = require("@angular/common/http");
+var translate_component_1 = require("../translate.component");
+var router_1 = require("@angular/router");
+var NotificationAdministrationComponent = (function () {
+    function NotificationAdministrationComponent(http, route, router) {
+        this.http = http;
+        this.route = route;
+        this.router = router;
+        this.notification = {};
+        this.loading = false;
+        this.lang = translate_component_1.LANG;
+    }
+    NotificationAdministrationComponent.prototype.ngOnInit = function () {
+        var _this = this;
+        this.coreUrl = angularGlobals.coreUrl;
+        this.prepareNotifications();
+        this.loading = true;
+        this.route.params.subscribe(function (params) {
+            if (typeof params['id'] == "undefined") {
+                _this.creationMode = true;
+                _this.loading = false;
+            }
+        });
+    };
+    NotificationAdministrationComponent.prototype.prepareNotifications = function () {
+        $j('#inner_content').remove();
+    };
+    NotificationAdministrationComponent.prototype.updateBreadcrumb = function (applicationName) {
+        if ($j('#ariane')[0]) {
+            $j('#ariane')[0].innerHTML = "<a href='index.php?reinit=true'>" + applicationName + "</a> > <a onclick='location.hash = \"/administration\"' style='cursor: pointer'>Administration</a> > <a onclick='location.hash = \"/administration/notifications\"' style='cursor: pointer'>notifications</a>";
+        }
+    };
+    return NotificationAdministrationComponent;
+}());
+NotificationAdministrationComponent = __decorate([
+    core_1.Component({
+        templateUrl: angularGlobals["notification-administrationView"],
+        styleUrls: ['../../node_modules/bootstrap/dist/css/bootstrap.min.css']
+    }),
+    __metadata("design:paramtypes", [http_1.HttpClient, router_1.ActivatedRoute, router_1.Router])
+], NotificationAdministrationComponent);
+exports.NotificationAdministrationComponent = NotificationAdministrationComponent;
diff --git a/apps/maarch_entreprise/js/angular/app/administration/notification-administration.component.ts b/apps/maarch_entreprise/js/angular/app/administration/notification-administration.component.ts
new file mode 100644
index 00000000000..530dd4bba1d
--- /dev/null
+++ b/apps/maarch_entreprise/js/angular/app/administration/notification-administration.component.ts
@@ -0,0 +1,55 @@
+import { Component, OnInit } from '@angular/core';
+import { HttpClient } from '@angular/common/http';
+import { LANG } from '../translate.component';
+import { ActivatedRoute, Router } from '@angular/router';
+
+declare function $j(selector: any) : any;
+declare function successNotification(message: string) : void;
+declare function errorNotification(message: string) : void;
+
+declare var angularGlobals : any;
+
+@Component({
+    templateUrl : angularGlobals["notification-administrationView"],
+    styleUrls   : ['../../node_modules/bootstrap/dist/css/bootstrap.min.css']
+})
+export class NotificationAdministrationComponent implements OnInit {
+
+    coreUrl             : string;
+    notificationId              : string;
+    creationMode                : boolean;
+    notification                : any         = {};
+    loading                     : boolean   = false;
+    lang                        : any       = LANG;
+
+
+    constructor(public http: HttpClient, private route: ActivatedRoute, private router: Router) {
+    }
+
+    ngOnInit(): void {
+        this.coreUrl = angularGlobals.coreUrl;
+
+        this.prepareNotifications();
+
+        this.loading = true;
+
+        this.route.params.subscribe(params => {
+        if (typeof params['id'] == "undefined") {
+                this.creationMode = true;
+                this.loading = false;
+            }
+        });
+    }
+
+    prepareNotifications() {
+        $j('#inner_content').remove();
+    }
+
+    updateBreadcrumb(applicationName: string){
+        if ($j('#ariane')[0]) {
+            $j('#ariane')[0].innerHTML = "<a href='index.php?reinit=true'>" + applicationName + "</a> > <a onclick='location.hash = \"/administration\"' style='cursor: pointer'>Administration</a> > <a onclick='location.hash = \"/administration/notifications\"' style='cursor: pointer'>notifications</a>";
+        }
+    }
+
+
+}
diff --git a/apps/maarch_entreprise/js/angular/app/administration/notifications-administration.component.js b/apps/maarch_entreprise/js/angular/app/administration/notifications-administration.component.js
index 4192e17ab80..bc95522ff2a 100644
--- a/apps/maarch_entreprise/js/angular/app/administration/notifications-administration.component.js
+++ b/apps/maarch_entreprise/js/angular/app/administration/notifications-administration.component.js
@@ -38,7 +38,7 @@ var NotificationsAdministrationComponent = (function () {
     };
     NotificationsAdministrationComponent.prototype.updateBreadcrumb = function (applicationName) {
         $j('#ariane')[0].innerHTML = "<a href='index.php?reinit=true'>" + applicationName + "</a> > " +
-            "<a onclick='location.hash = \"/administration\"' style='cursor: pointer'>" + this.lang.admin + "</a> > " + this.lang.admin_status;
+            "<a onclick='location.hash = \"/administration\"' style='cursor: pointer'>" + this.lang.administration + "</a> > " + this.lang.admin_notifications;
     };
     NotificationsAdministrationComponent.prototype.deleteNotification = function (notification) {
         var _this = this;
diff --git a/apps/maarch_entreprise/js/angular/app/administration/notifications-administration.component.ts b/apps/maarch_entreprise/js/angular/app/administration/notifications-administration.component.ts
index b640a6c2985..3d7e49c7640 100644
--- a/apps/maarch_entreprise/js/angular/app/administration/notifications-administration.component.ts
+++ b/apps/maarch_entreprise/js/angular/app/administration/notifications-administration.component.ts
@@ -46,7 +46,7 @@ export class NotificationsAdministrationComponent implements OnInit {
 
     updateBreadcrumb(applicationName: string){
         $j('#ariane')[0].innerHTML = "<a href='index.php?reinit=true'>" + applicationName + "</a> > "+
-                                            "<a onclick='location.hash = \"/administration\"' style='cursor: pointer'>" + this.lang.admin + "</a> > " + this.lang.admin_status;
+                                            "<a onclick='location.hash = \"/administration\"' style='cursor: pointer'>" + this.lang.administration + "</a> > " + this.lang.admin_notifications;
     }
 
     deleteNotification(notification : any){
diff --git a/apps/maarch_entreprise/js/angular/lang/lang-en.js b/apps/maarch_entreprise/js/angular/lang/lang-en.js
index ff224e6ae0e..455e2b6db10 100755
--- a/apps/maarch_entreprise/js/angular/lang/lang-en.js
+++ b/apps/maarch_entreprise/js/angular/lang/lang-en.js
@@ -67,4 +67,5 @@ exports.LANG_EN = {
     "notification": "notification",
     "notificationsListTitle": "Notifications list",
     "newNotification": "New notification",
+    "admin_notifications": "Administration of notifications",
 };
diff --git a/apps/maarch_entreprise/js/angular/lang/lang-en.ts b/apps/maarch_entreprise/js/angular/lang/lang-en.ts
index 6de99d71128..792c3a2a041 100755
--- a/apps/maarch_entreprise/js/angular/lang/lang-en.ts
+++ b/apps/maarch_entreprise/js/angular/lang/lang-en.ts
@@ -67,4 +67,5 @@ export const LANG_EN = {
     "notification"              : "notification",
     "notificationsListTitle"    : "Notifications list",
     "newNotification"           : "New notification",
+    "admin_notifications"       : "Administration of notifications",
 };
\ No newline at end of file
diff --git a/apps/maarch_entreprise/js/angular/lang/lang-fr.js b/apps/maarch_entreprise/js/angular/lang/lang-fr.js
index 82fdd7e1241..f14019e891d 100755
--- a/apps/maarch_entreprise/js/angular/lang/lang-fr.js
+++ b/apps/maarch_entreprise/js/angular/lang/lang-fr.js
@@ -69,6 +69,7 @@ exports.LANG_FR = {
     "notification": "notification",
     "notificationsListTitle": "Liste des notifications",
     "newNotification": "Nouvelle notification",
+    "admin_notifications": "Administration des notifications",
     //Lists
     available: "disponible",
     display: "affichage",
diff --git a/apps/maarch_entreprise/js/angular/lang/lang-fr.ts b/apps/maarch_entreprise/js/angular/lang/lang-fr.ts
index a2b9dccbdd2..6a9b013405b 100755
--- a/apps/maarch_entreprise/js/angular/lang/lang-fr.ts
+++ b/apps/maarch_entreprise/js/angular/lang/lang-fr.ts
@@ -69,6 +69,7 @@ export const LANG_FR = {
     "notification"              : "notification",
     "notificationsListTitle"    : "Liste des notifications",
     "newNotification"           : "Nouvelle notification",
+    "admin_notifications"       : "Administration des notifications",
 
 
     //Lists
-- 
GitLab