[PORTAL-16 PORTAL-18] Widget ms; staging
[portal.git] / ecomp-portal-FE-common / client / app / views / user-notifications-admin / user.notifications.controller.js
index 51c7bb7..4207bc6 100644 (file)
-/*-\r
- * ================================================================================\r
- * ECOMP Portal\r
- * ================================================================================\r
- * Copyright (C) 2017 AT&T Intellectual Property\r
- * ================================================================================\r
- * Licensed under the Apache License, Version 2.0 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- * \r
- *      http://www.apache.org/licenses/LICENSE-2.0\r
- * \r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- * ================================================================================\r
- */\r
-'use strict';\r
-\r
-(function () {\r
-\r
-    class userNotificationsCtrl {\r
-        constructor($scope, $log, notificationService, confirmBoxService, $modal, ngDialog, $state) {\r
-\r
-               var priorityItems={"1":"Normal","2":"Important"};\r
-               $scope.priorityItems=priorityItems;\r
-               $scope.searchString='';\r
-            $scope.externalNotification="External System";\r
-               $scope.itemExpired={"background-color":"silver "};\r
-               $scope.showInput = true;\r
-               $scope.totalPages1 = 0;\r
-               $scope.viewPerPage1 = 15;\r
-               $scope.currentPage1 = 1;\r
-               $scope.showLoader = false;\r
-               $scope.firstPlay = true;\r
-               // Start with empty list to silence error in console\r
-               $scope.tableData = [];\r
-               $scope.tableAdminNotifItems = [];\r
-                let getAdminNotifications = () => {\r
-               $scope.isLoadingTable = true;\r
-               notificationService.getAdminNotification().then(res => {\r
-                $scope.adminNotifications = res.data;\r
-                $scope.isLoadingTable = false;\r
-                $scope.tableData = res.data;\r
-                       var totalItems = $scope.tableData.length;\r
-                       $scope.totalPages1  = Math.ceil(totalItems / $scope.viewPerPage1);\r
-                       $scope.showLoader = false;\r
-                       $scope.currentPage1=1;\r
-                       var endIndex = 1 * $scope.viewPerPage1;\r
-                       var startIndex = endIndex - $scope.viewPerPage1;\r
-                       $scope.tableAdminNotifItems = $scope.tableData.slice(startIndex, endIndex); \r
-               }).catch(err => {\r
-                $log.error('userNotificationsCtrl:getAdminNotifications:: error ', err);\r
-                $scope.isLoadingTable = false;\r
-            });\r
-             }\r
-                \r
-          getAdminNotifications();           \r
-\r
-               $scope.customPageHandler = function(num) {\r
-                       $scope.currentPage1=num;\r
-                       var endIndex = num * $scope.viewPerPage1;\r
-                       var startIndex = endIndex - $scope.viewPerPage1;\r
-                       $scope.tableAdminNotifItems = $scope.tableData.slice(startIndex, endIndex);\r
-               };\r
-                 \r
-\r
-          \r
-\r
-               \r
-           $scope.removeUserNotification = function (selectedAdminNotification) {\r
-                selectedAdminNotification.activeYn = 'N';\r
-                confirmBoxService.deleteItem(selectedAdminNotification.msgHeader)\r
-                    .then(isConfirmed => {\r
-                        if (isConfirmed) {\r
-                            notificationService.updateAdminNotification(selectedAdminNotification)\r
-                                .then(() => {\r
-                                    getAdminNotifications();\r
-                                }).catch(err => {\r
-                                    switch (err.status) {\r
-                                        case '409':         // Conflict\r
-                                            // handleConflictErrors(err);\r
-                                            break;\r
-                                        case '500':         // Internal Server\r
-                                                                                                                       // Error\r
-                                            confirmBoxService.showInformation('There was a problem updating the notification. ' +\r
-                                                'Please try again later. Error: ' + err.status).then(isConfirmed => { });\r
-                                            break;\r
-                                        case '403':         // Forbidden...\r
-                                                                                                                       // possible\r
-                                                                                                                       // webjunction error\r
-                                                                                                                       // to try again\r
-                                            confirmBoxService.showInformation('There was a problem updating the notification. ' +\r
-                                                'Please try again. If the problem persists, then try again later. Error: ' + err.status).then(isConfirmed => { });\r
-                                            break;\r
-                                        default:\r
-                                            confirmBoxService.showInformation('There was a problem updating the notification. ' +\r
-                                                'Please try again. If the problem persists, then try again later. Error: ' + err.status).then(isConfirmed => { });\r
-                                    }\r
-                                    $log.error('UserNotifCtlr::updateAdminNOtif failed: ' + JSON.stringify(err));\r
-                                }).finally(() => {\r
-                                    var objOffsetVersion = objAgent.indexOf("MSIE");\r
-                                    if (objOffsetVersion != -1) {\r
-                                        $window.location.reload();       \r
-                                    }\r
-                                });\r
-                        }\r
-                    }).catch(err => {\r
-                        $log.error('UserNotifCtlr::deleteItem error: ' + err);\r
-                    });\r
-            }\r
-           \r
-\r
-          \r
-                $scope.showDetailedJsonMessage=function (selectedAdminNotification) {\r
-                        notificationService.getMessageRecipients(selectedAdminNotification.notificationId).then(res =>{\r
-                     $scope.messageRecipients = res;\r
-                                var messageObject=JSON.parse(selectedAdminNotification.msgDescription);\r
-                                var html="";\r
-                                html+='<p>'+'Message Source'+' : '+selectedAdminNotification.msgSource+'</p>';\r
-                                html+='<p>'+'Message Title'+' : '+selectedAdminNotification.msgHeader+'</p>';\r
-                                html+='<p>'+'Message Recipient'+' : '+$scope.messageRecipients+'</p>';\r
-\r
-                                for(var field in  messageObject){\r
-                                        if(field=='eventDate'||field=='lastModifiedDate'){\r
-                                                html+='<p>'+field+' : '+new Date(+messageObject[field])+'</p>';\r
-                                                 \r
-                                        }else{\r
-                                        html+='<p>'+field+' : '+messageObject[field]+'</p>';\r
-                                        \r
-                                        }\r
-                                }\r
-\r
-                    var modalInstance = ngDialog.open({\r
-                                   templateUrl: 'app/views/user-notifications-admin/user.notifications.Json.details.modal.page.html',\r
-                                   controller: 'userNotificationCtrl',\r
-                                   resolve: {\r
-                                       message: function () {\r
-                                               var message = {\r
-                                                          title:    '',\r
-                                               text:    html\r
-                                               \r
-                                               };\r
-                                         return message;\r
-                                       },\r
-                                    \r
-                                     }\r
-                                 }); \r
-                    \r
-                }).catch(err => {\r
-                 $log.error('userNotificationsCtrl:getMessageRecipients:: error ', err);\r
-                 $scope.isLoadingTable = false;\r
-             });\r
-\r
-                        };\r
-    \r
-                        \r
-            $scope.editUserNotificationModal = function (selectedAdminNotification) {\r
-\r
-                // retrieve roleIds here\r
-                selectedAdminNotification.roleIds = null;\r
-                notificationService.getNotificationRoles(selectedAdminNotification.notificationId)\r
-                    .then(res => {\r
-                        selectedAdminNotification.roleIds = res.data;\r
-\r
-                        $scope.openUserNotificationModal(selectedAdminNotification);\r
-                    }).catch(err => {\r
-                        $log.error('UserNotifCtlr:getNotificationRoles:: error ', err);\r
-\r
-                    });\r
-            }\r
-\r
-            $scope.openUserNotificationModal = function (selectedAdminNotification) {\r
-                let data = null;\r
-                if (selectedAdminNotification) {\r
-                    data = {\r
-                        notif: selectedAdminNotification\r
-                    }\r
-                }\r
-                ngDialog.open({\r
-                    templateUrl: 'app/views/user-notifications-admin/user.notifications.modal.page.html',\r
-                    controller: 'userNotificationsModalCtrl',\r
-                    controllerAs: 'userNotifModal',\r
-                    data: data\r
-                }).closePromise.then(function (needUpdate) {\r
-                    getAdminNotifications();\r
-                });\r
-            }\r
-\r
-        }\r
-    }\r
-    userNotificationsCtrl.$inject = ['$scope', '$log', 'notificationService', 'confirmBoxService', '$modal', 'ngDialog', '$state'];\r
-    angular.module('ecompApp').controller('userNotificationsCtrl', userNotificationsCtrl);\r
-})();\r
+/*-
+ * ================================================================================
+ * ECOMP Portal
+ * ================================================================================
+ * Copyright (C) 2017 AT&T Intellectual Property
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ * 
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ================================================================================
+ */
+'use strict';
+
+(function () {
+
+    class userNotificationsCtrl {
+        constructor($scope, $log, notificationService, confirmBoxService, $modal, ngDialog, $state) {
+
+               var priorityItems={"1":"Normal","2":"Important"};
+               $scope.priorityItems=priorityItems;
+               $scope.searchString='';
+            $scope.externalNotification="External System";
+               $scope.itemExpired={"background-color":"silver "};
+               $scope.showInput = true;
+               $scope.totalPages1 = 0;
+               $scope.viewPerPage1 = 15;
+               $scope.currentPage1 = 1;
+               $scope.showLoader = false;
+               $scope.firstPlay = true;
+               // Start with empty list to silence error in console
+               $scope.tableData = [];
+               $scope.tableAdminNotifItems = [];
+                let getAdminNotifications = () => {
+               $scope.isLoadingTable = true;
+               notificationService.getAdminNotification().then(res => {
+                $scope.adminNotifications = res.data;
+                $scope.isLoadingTable = false;
+                $scope.tableData = res.data;
+                       var totalItems = $scope.tableData.length;
+                       $scope.totalPages1  = Math.ceil(totalItems / $scope.viewPerPage1);
+                       $scope.showLoader = false;
+                       $scope.currentPage1=1;
+                       var endIndex = 1 * $scope.viewPerPage1;
+                       var startIndex = endIndex - $scope.viewPerPage1;
+                       $scope.tableAdminNotifItems = $scope.tableData.slice(startIndex, endIndex); 
+               }).catch(err => {
+                $log.error('userNotificationsCtrl:getAdminNotifications:: error ', err);
+                $scope.isLoadingTable = false;
+            });
+             }
+                
+          getAdminNotifications();           
+
+               $scope.customPageHandler = function(num) {
+                       $scope.currentPage1=num;
+                       var endIndex = num * $scope.viewPerPage1;
+                       var startIndex = endIndex - $scope.viewPerPage1;
+                       $scope.tableAdminNotifItems = $scope.tableData.slice(startIndex, endIndex);
+               };
+                 
+
+          
+
+               
+           $scope.removeUserNotification = function (selectedAdminNotification) {
+                selectedAdminNotification.activeYn = 'N';
+                confirmBoxService.deleteItem(selectedAdminNotification.msgHeader)
+                    .then(isConfirmed => {
+                        if (isConfirmed) {
+                            notificationService.updateAdminNotification(selectedAdminNotification)
+                                .then(() => {
+                                    getAdminNotifications();
+                                }).catch(err => {
+                                    switch (err.status) {
+                                        case '409':         // Conflict
+                                            // handleConflictErrors(err);
+                                            break;
+                                        case '500':         // Internal Server
+                                                                                                                       // Error
+                                            confirmBoxService.showInformation('There was a problem updating the notification. ' +
+                                                'Please try again later. Error: ' + err.status).then(isConfirmed => { });
+                                            break;
+                                        case '403':         // Forbidden...
+                                                                                                                       // possible
+                                                                                                                       // webjunction error
+                                                                                                                       // to try again
+                                            confirmBoxService.showInformation('There was a problem updating the notification. ' +
+                                                'Please try again. If the problem persists, then try again later. Error: ' + err.status).then(isConfirmed => { });
+                                            break;
+                                        default:
+                                            confirmBoxService.showInformation('There was a problem updating the notification. ' +
+                                                'Please try again. If the problem persists, then try again later. Error: ' + err.status).then(isConfirmed => { });
+                                    }
+                                    $log.error('UserNotifCtlr::updateAdminNOtif failed: ' + JSON.stringify(err));
+                                }).finally(() => {
+                                    var objOffsetVersion = objAgent.indexOf("MSIE");
+                                    if (objOffsetVersion != -1) {
+                                        $window.location.reload();       
+                                    }
+                                });
+                        }
+                    }).catch(err => {
+                        $log.error('UserNotifCtlr::deleteItem error: ' + err);
+                    });
+            }
+           
+
+          
+                $scope.showDetailedJsonMessage=function (selectedAdminNotification) {
+                        notificationService.getMessageRecipients(selectedAdminNotification.notificationId).then(res =>{
+                     $scope.messageRecipients = res;
+                                var messageObject=JSON.parse(selectedAdminNotification.msgDescription);
+                                var html="";
+                                html+='<p>'+'Message Source'+' : '+selectedAdminNotification.msgSource+'</p>';
+                                html+='<p>'+'Message Title'+' : '+selectedAdminNotification.msgHeader+'</p>';
+                                html+='<p>'+'Message Recipient'+' : '+$scope.messageRecipients+'</p>';
+
+                                for(var field in  messageObject){
+                                        if(field=='eventDate'||field=='lastModifiedDate'){
+                                                html+='<p>'+field+' : '+new Date(+messageObject[field])+'</p>';
+                                                 
+                                        }else{
+                                        html+='<p>'+field+' : '+messageObject[field]+'</p>';
+                                        
+                                        }
+                                }
+
+                    var modalInstance = ngDialog.open({
+                                   templateUrl: 'app/views/user-notifications-admin/user.notifications.Json.details.modal.page.html',
+                                   controller: 'userNotificationCtrl',
+                                   resolve: {
+                                       message: function () {
+                                               var message = {
+                                                          title:    '',
+                                               text:    html
+                                               
+                                               };
+                                         return message;
+                                       },
+                                    
+                                     }
+                                 }); 
+                    
+                }).catch(err => {
+                 $log.error('userNotificationsCtrl:getMessageRecipients:: error ', err);
+                 $scope.isLoadingTable = false;
+             });
+
+                        };
+    
+                        
+            $scope.editUserNotificationModal = function (selectedAdminNotification) {
+
+                // retrieve roleIds here
+                selectedAdminNotification.roleIds = null;
+                notificationService.getNotificationRoles(selectedAdminNotification.notificationId)
+                    .then(res => {
+                        selectedAdminNotification.roleIds = res.data;
+
+                        $scope.openUserNotificationModal(selectedAdminNotification);
+                    }).catch(err => {
+                        $log.error('UserNotifCtlr:getNotificationRoles:: error ', err);
+
+                    });
+            }
+
+            $scope.openUserNotificationModal = function (selectedAdminNotification) {
+                let data = null;
+                if (selectedAdminNotification) {
+                    data = {
+                        notif: selectedAdminNotification
+                    }
+                }
+                ngDialog.open({
+                    templateUrl: 'app/views/user-notifications-admin/user.notifications.modal.page.html',
+                    controller: 'userNotificationsModalCtrl',
+                    controllerAs: 'userNotifModal',
+                    data: data
+                }).closePromise.then(function (needUpdate) {
+                    getAdminNotifications();
+                });
+            }
+
+        }
+    }
+    userNotificationsCtrl.$inject = ['$scope', '$log', 'notificationService', 'confirmBoxService', '$modal', 'ngDialog', '$state'];
+    angular.module('ecompApp').controller('userNotificationsCtrl', userNotificationsCtrl);
+})();