function ConnectedGroupCreateController(n,t,i,r,u,f){var e=this;f.yammer=e;e.Config=t;e.$location=n;e.currentUser=u.Email;e.ConnectedGroup={DisplayName:"",Description:"",Privacy:"Private",OrganinsationUnitId:"",Owners:[],Members:[]};e.selectedOrganisation=null;e.selectedOrganisationUnit=null;f.$watch("yammer.selectedOrganisation.ID",function(n,t){e.orgError=!1;n!==t&&n==undefined&&(e.orgError=!0)});e.formSubmitClick=function(t){if(e.orgError=!1,e.selectedOrganisation.ID==undefined&&(e.orgError=!0),t.$invalid){i.error("Please correct errors with form");return}e.ConnectedGroup.OrganisationId=e.selectedOrganisation.ID;e.ConnectedGroup.OrganisationUnitId=e.selectedOrganisationUnit.ID;r.CreateConnectedGroup(e.ConnectedGroup).$promise.then(function(){n.path("/Yammer")})}}function ConnectedGroupEditController(n,t,i,r,u,f,e,o){var s=this;s.Config=t;s.$location=n;s.currentUser=u.Email;s.ConnectedGroup=o.YammerGroup;s.selectedOrganisation=s.ConnectedGroup.OrganisationId;s.selectedOrganisationUnit=s.ConnectedGroup.OrganisationUnitId;s.UpdateEnabled=s.ConnectedGroup.Status===0&&e.contains("YAMMER_CONNECTED_GROUP_UPDATE ");s.DeleteEnabled=s.ConnectedGroup.Status===0&&e.contains("YAMMER_CONNECTED_GROUP_DELETE ");s.formSubmitClick=function(t){if(t.$invalid){i.error("Please correct errors with form");return}s.ConnectedGroup.OrganisationUnitId=s.selectedOrganisationUnit.ID;r.Update(s.ConnectedGroup).$promise.then(function(){n.path("/Yammer")})}}function ConnectedGroupListController(n,t,i,r,u,f){var e=this,o,s;e.Config=u;e.itemsOnPage=e.Config.UserList_ItemsOnPage;e.Status=e.Config.YammerStatus;e.$location=n;e.PermissionChecker=r;e.ConnectedGroupListColumns=[{key:"DisplayName",title:"Display Name"},{key:"OrganisationName",title:"Organisation"},{key:"OrganisationOuName",title:"Organisation Unit"},{key:"Status",title:"Status"}];e.ConnectedGroupSearchParams={};o=function(n){_.chain(n).keys().each(function(t){n[t]===""&&delete n[t]})};e.callSearchAPI=function(){e.showEmptyTable=!0;o(e.ConnectedGroupSearchParams);f.GetConnectedGroup(e.ConnectedGroupSearchParams).$promise.then(function(n){e.requestSearchItems=i("orderObjectBy")(n.Groups,"DisplayName");e.requestSearchItems.length===0?e.displayedTable=[]:(t.SearchYammerSearchResults=e.requestSearchItems,e.displayedTable=[].concat(e.requestSearchItems))})};e.searchIfEnterKey=function(n){n.which===13&&e.callSearchAPI()};s=function(){angular.isUndefined(t.SearchYammerSearchResults)&&(t.SearchYammerSearchResults={});Object.keys(t.SearchYammerSearchResults).length>0&&(e.showEmptyTable=!0,e.requestSearchItems=t.SearchYammerSearchResults)};s()}var UnauthorisedApp,configFunction;!window.console&&(window.console={})&&(window.console.log=function(){});String.prototype.endsWith||(String.prototype.endsWith=function(n,t){return(t===undefined||t>this.length)&&(t=this.length),this.substring(t-n.length,t)===n});angular.module("signalRConnection",["angular-growl"]).run(["ApiResultNotifier",function(n){n.connect()}]);var MainApp=angular.module("UserAdminApp",["ngRoute","ngMessages","ngStorage","ngResource","smart-table","ui.bootstrap","ui.bootstrap.tpls","ui.bootstrap.datetimepicker","signalRConnection","treeControl","angularFileUpload","UserAdminAppServices","UserAdminAppControllers","UserAdminAppDirectives","UserAdminAppFilters","blockUI","ngSanitize","UserAdminStatisticsController",]),userAdminAppServicesModule=angular.module("UserAdminAppServices",[]),userAdminAppFiltersModule=angular.module("UserAdminAppFilters",[]),userAdminAppControllersModule=angular.module("UserAdminAppControllers",["UserAdminAppServices"]),userAdminAppDirectivesModule=angular.module("UserAdminAppDirectives",["UserAdminAppServices"]),userAdminStatisticsModule=angular.module("UserAdminStatisticsController",["chart.js"]),isPermissionPresent=function(n){var r=!1,t,i;if(sessionStorage&&(t=sessionStorage.getItem("JWTPermission")),t!=null&&(t=angular.fromJson(t),t.length!=0))for(i=0;i<t.length;i++)if(t[i].PermissionCode==n){r=!0;break}return r},addDefaultResolves=function(n){var t=n.when;n.when=function(i,r){return r.resolve||(r.resolve={}),angular.extend(r.resolve,{SecurityPermissions:["JWTtoken",function(n){return n.fetchPermissions()}]}),t.call(n,i,r)}},configFunction=function(n,t,i,r,u){i.defaults.headers.common.Authorization="Bearer "+sessionStorage.getItem("JWToken");i.interceptors.push("JwtTokenAuthenticationInterceptor");u.templateUrl="./Angular/Apps/UserAdmin/Common/Views/angular-block-ui.ng.html";u.autoInjectBodyBlock=!0;u.requestFilter=function(n){return n.url.match(/GetEmailSuggestion/)?!1:n.url.match(/BlockDevice/)?!1:void 0};r.globalTimeToLive(1e4);addDefaultResolves(n);n.when("/createUser",{templateUrl:"./Angular/Apps/UserAdmin/UserAndMailbox/Views/CreateUser.html",controller:"CreateUserController"}).when("/resetPassword",{templateUrl:"./Angular/Apps/UserAdmin/UserAndMailbox/Views/ResetPassword.html",controller:"ResetPasswordController"}).when("/createContact",{templateUrl:"./Angular/Apps/UserAdmin/Contact/Views/CreateContact.html",controller:"UserAdminCreateContactController"}).when("/viewDetails/:upn",{templateUrl:"./Angular/Apps/UserAdmin/UserAndMailbox/Views/viewDetails.html",controller:"UserAdminViewDetailsController",resolve:{CurrentUser:["FetchUPN",function(n){return n.Get().$promise}]}}).when("/joiner",{templateUrl:"./Angular/Apps/UserAdmin/UserAndMailbox/Views/Joiner.html",controller:"UserAdminJoinerController"}).when("/Users/SetOutOfOffice",{templateUrl:"./Angular/Apps/UserAdmin/UserAndMailbox/Views/SetOutOfOffice.html",controller:"UserAdminOutOfOfficeController"}).when("/authenticateUser/:ID",{templateUrl:"./Angular/Apps/UserAdmin/UserAndMailbox/Views/AuthenticateUser.html",controller:"UserAdminAuthenticateUserController"}).when("/mailboxList/:ID",{templateUrl:"./Angular/Apps/UserAdmin/UserAndMailbox/Views/MailboxList.html",controller:"UserAdminMailboxListController"}).when("/User/LoginEvents",{templateUrl:"./Angular/Apps/UserAdmin/UserAndMailbox/Views/LoginEvents.html",controller:"LoginEventsController",resolve:{LoginEvents:["$route","LoginEventAPI",function(n,t){return t.Get({upn:n.current.params.upn}).$promise}]}}).when("/StaticDL/Create",{templateUrl:"./Angular/Apps/UserAdmin/DistributionList/Views/CreateDistributionList.html",controller:"UserAdminCreateDistributionListController"}).when("/DistributionLists",{templateUrl:"./Angular/Apps/UserAdmin/DistributionList/Views/DistributionList.html",controller:"UserAdminListDistributionController"}).when("/DL/Edit/:DistributionListEmailAddress",{templateUrl:"./Angular/Apps/UserAdmin/DistributionList/Views/EditDistributionList.html",controller:"UserAdminEditDistributionListController"}).when("/Contact/bulkEditContact",{templateUrl:"./Angular/Apps/UserAdmin/Contact/Views/BulkEditContact.html",controller:"UserAdminBulkEditContactController"}).when("/Users/bulkEditUser",{templateUrl:"./Angular/Apps/UserAdmin/UserAndMailbox/Views/BulkEditUser.html",controller:"UserAdminBulkEditUserController"}).when("/Users/DelegateMailboxAccess/:userPrincipalName",{templateUrl:"./Angular/Apps/UserAdmin/UserAndMailbox/Views/DelegateMailboxAccess.html",controller:"UserAdminDelegateMailboxAccessController"}).when("/OrganisationLists",{templateUrl:"./Angular/Apps/UserAdmin/Organisation/Views/OrganisationList.html",controller:"UserAdminOrganisationListController"}).when("/SiteLists",{templateUrl:"./Angular/Apps/UserAdmin/Site/Views/SiteList.html",controller:"SiteListController"}).when("/Sites/SiteView/:ID",{templateUrl:"./Angular/Apps/UserAdmin/Site/Views/ViewSiteDetails.html",controller:"ViewSiteDetailsController"}).when("/UserPolicies",{templateUrl:"./Angular/Apps/UserAdmin/UserPolicies/Views/UserPolicySearch.html",controller:"UserAdminUserPolicySearchController"}).when("/UserPolicies/Create",{templateUrl:"./Angular/Apps/UserAdmin/UserPolicies/Views/CreateUserPolicy.html",controller:"UserAdminCreateUserPolicyController"}).when("/BookingCalendars",{templateUrl:"./Angular/Apps/UserAdmin/BookingCalendars/Views/BookingCalendarSearch.html",controller:"BookingCalendarSearchController"}).when("/BookingCalendar/Add",{templateUrl:"./Angular/Apps/UserAdmin/BookingCalendars/Views/BookingCalendarCreate.html",controller:"UserAdminCreateBookingCalendarController"}).when("/BookingCalendar/Edit/:BookingID",{templateUrl:"./Angular/Apps/UserAdmin/BookingCalendars/Views/EditBookingCalendar.html",controller:"UserAdminEditBookingCalendarController",resolve:{BookingCalendarAPIResponse:["$route","BookingCalendarAPI",function(n,t){return t.Get({bookingID:n.current.params.BookingID}).$promise}]}}).when("/SharePointCollection",{templateUrl:"./Angular/Apps/UserAdmin/SharePointCollection/Views/SharePointCollectionSearch.html",controller:"UserAdminSharePointCollectionSearchController"}).when("/SharePointCollection/Create",{templateUrl:"./Angular/Apps/UserAdmin/SharePointCollection/Views/CreateSharePointCollection.html",controller:"UserAdminCreateSharePointCollectionController"}).when("/SharePointProjectWebApp/Create",{templateUrl:"./Angular/Apps/UserAdmin/SharePointCollection/Views/CreateSharePointWebApp.html",controller:"UserAdminCreateSharePointWebAppController"}).when("/SharePointCollection/Edit/:ID",{templateUrl:"./Angular/Apps/UserAdmin/SharePointCollection/Views/EditSharePointCollection.html",controller:"UserAdminEditSharePointCollectionController"}).when("/Policy/Edit/:UserPolicyID",{templateUrl:"./Angular/Apps/UserAdmin/UserPolicies/Views/EditUserPolicy.html",controller:"UserAdminEditUserPolicyController"}).when("/Users/OrganisationView",{templateUrl:"./Angular/Apps/UserAdmin/Organisation/Views/OrganisationView.html",controller:"UserAdminOrganisationViewController"}).when("/Users/SharedMailbox",{templateUrl:"./Angular/Apps/UserAdmin/SharedMailbox/Views/SharedMailbox.html",controller:"UserAdminSharedMailboxController"}).when("/ResourceMailbox",{templateUrl:"./Angular/Apps/UserAdmin/ResourceMailbox/Views/ResourceMailbox.html",controller:"UserAdminResourceMailboxController"}).when("/ListContacts",{templateUrl:"./Angular/Apps/UserAdmin/Contact/Views/ListContacts.html",controller:"UserAdminListContactsController"}).when("/editContact/:EmailAddress",{templateUrl:"./Angular/Apps/UserAdmin/Contact/Views/EditContact.html",controller:"UserAdminEditContactListController"}).when("/viewSharedUser/:upn",{templateUrl:"./Angular/Apps/UserAdmin/SharedMailbox/Views/viewSharedUser.html",controller:"UserAdminViewSharedUserController"}).when("/viewResourceMailbox/:ID",{templateUrl:"./Angular/Apps/UserAdmin/ResourceMailbox/Views/viewResourceMailbox.html",controller:"UserAdminViewResourceMailboxController"}).when("/Users/AddRole/:upn",{templateUrl:"./Angular/Apps/UserAdmin/UserAndMailbox/Views/AddRole.html",controller:"UserAdminEditRoleController"}).when("/DynamicDL/Create",{templateUrl:"./Angular/Apps/UserAdmin/DistributionList/Views/CreateDynamicDistributionList.html",controller:"UserAdminCreateDynamicDistributionListController"}).when("/DynamicDL/Edit/:ID",{templateUrl:"./Angular/Apps/UserAdmin/DistributionList/Views/EditDynamicDistributionList.html",controller:"UserAdminEditDynamicDistributionListController"}).when("/Audit",{templateUrl:"./Angular/Apps/UserAdmin/Audit/Views/Audit.html",controller:"UserAdminAuditController"}).when("/Audit/viewAuditDetail/:ID",{templateUrl:"./Angular/Apps/UserAdmin/Audit/Views/ViewAuditDetail.html",controller:"UserAdminViewAuditDetailController"}).when("/Reports",{templateUrl:"./Angular/Apps/UserAdmin/AdminReports/Views/AdminReports.html",controller:"UserAdminReportController"}).when("/Statistics",{templateUrl:"./Angular/Apps/UserAdmin/AdminReports/Views/Statistics.html",controller:"UserAdminStatisticsController"}).when("/O365LicenceReport",{templateUrl:"./Angular/Apps/UserAdmin/AdminReports/Views/O365LicenceReport.html",controller:"UserAdminO365LicenceReportController"}).when("/UploadNewUsers",{templateUrl:"./Angular/Apps/UserAdmin/UserAndMailbox/Views/UploadNewUsers.html",controller:"UserAdminUploadNewUsersController"}).when("/UploadNewContacts",{templateUrl:"./Angular/Apps/UserAdmin/Contact/Views/UploadNewContacts.html",controller:"UserAdminUploadNewContactsController",resolve:{JWTtokenHelper:["JWTtoken",function(n){return n.fetchPermissions()}]}}).when("/ViewNotifications",{templateUrl:"./Angular/Apps/UserAdmin/Notification/Views/ListUserNotifications.html",controller:"UserAdminListUserNotificationController"}).when("/AccessDenied",{templateUrl:"./Angular/Apps/UserAdmin/Common/Views/AccessDenied.html",controller:"UserAdminAccessDeniedController"}).when("/UploadOrganisationsBulkEdit",{templateUrl:"./Angular/Apps/UserAdmin/Organisation/Views/UploadOrganisationsBulkEdit.html",controller:"UserAdminUploadOrganisationsBulkEditController"}).when("/Users/Mailbox",{templateUrl:"./Angular/Apps/UserAdmin/UserAndMailbox/Views/Permissions.html",controller:"UserAdminPermissionsController"}).when("/Teams/Add",{templateUrl:"./Angular/Apps/UserAdmin/Teams/Views/CreateTeam.html",controller:"TeamsCreateController",resolve:{CurrentUser:["FetchUPN",function(n){return n.Get().$promise}]}}).when("/Teams/:teamId",{templateUrl:"./Angular/Apps/UserAdmin/Teams/Views/EditTeam.html",controller:"TeamsEditController",resolve:{TeamAPIResponse:["$route","TeamsAPI",function(n,t){return t.Get({teamId:n.current.params.teamId}).$promise}],CurrentUser:["FetchUPN",function(n){return n.Get().$promise}]}}).when("/Teams",{templateUrl:"./Angular/Apps/UserAdmin/Teams/Views/TeamsList.html",controller:"TeamsListController"}).when("/enroll",{templateUrl:"./Angular/Apps/UserAdmin/ATP/Views/Enroll.html",controller:"EnrollmentController"}).when("/ATPGroup",{templateUrl:"./Angular/Apps/UserAdmin/ATP/Views/AtpGroupSearch.html",controller:"AtpGroupSearchController"}).when("/ATPUser",{templateUrl:"./Angular/Apps/UserAdmin/ATP/Views/AtpUserSearch.html",controller:"AtpUserSearchController"}).when("/ManageATP/:Id",{templateUrl:"./Angular/Apps/UserAdmin/ATP/Views/manageUser.html",controller:"ManageUserController"}).when("/ManageUser/:UserID",{templateUrl:"./Angular/Apps/UserAdmin/ATP/Views/ManageAtpUser.html",controller:"ManageAtpUserController"}).when("/ElevatedPermission",{templateUrl:"./Angular/Apps/UserAdmin/ATP/Views/ManageElevatedAccess.html",controller:"ManageElevatedAccessController"}).when("/List",{templateUrl:"./Angular/Apps/UserAdmin/ApprovalRequests/Views/approvalRequest.html",controller:"ApprovalRequestsController",resolve:{CurrentUser:["FetchUPN",function(n){return n.Get().$promise}]}}).when("/List/:requestID",{templateUrl:"./Angular/Apps/UserAdmin/ApprovalRequests/Views/approvalRequest.html",controller:"ApprovalRequestsController",resolve:{CurrentUser:["FetchUPN",function(n){return n.Get().$promise}]}}).when("/Yammer",{templateUrl:"./Angular/Apps/UserAdmin/Yammer/Views/ConnectedGroupList.html",controller:"ConnectedGroupListController",controllerAs:"yammerList"}).when("/Yammer/Create",{templateUrl:"./Angular/Apps/UserAdmin/Yammer/Views/CreateConnectedGroup.html",controller:"ConnectedGroupCreateController",controllerAs:"yammer",resolve:{CurrentUser:["FetchUPN",function(n){return n.Get().$promise}]}}).when("/Yammer/:yammerID",{templateUrl:"./Angular/Apps/UserAdmin/Yammer/Views/EditConnectedGroup.html",controller:"ConnectedGroupEditController",controllerAs:"yammer",resolve:{YammerAPIResponse:["$route","YammerAPI",function(n,t){return t.Get({yammerID:n.current.params.yammerID}).$promise}],CurrentUser:["FetchUPN",function(n){return n.Get().$promise}]}}).when("/EligibleGuestInviters",{templateUrl:"./Angular/Apps/UserAdmin/EligibleGuestInviters/Views/EligibleGuestInvitersList.html",controller:"EligibleGuestInvitersListController"}).when("/EligibleGuestInviters/Request",{templateUrl:"./Angular/Apps/UserAdmin/EligibleGuestInviters/Views/EligibleGuestInvitersRequest.html",controller:"EligibleGuestInvitersRequestController"}).when("/EligibleGuestInviters/Edit/:ID",{templateUrl:"./Angular/Apps/UserAdmin/EligibleGuestInviters/Views/EligibleGuestInvitersEdit.html",controller:"EligibleGuestInvitersEditController"}).when("/ExternalOrganisationAccess",{templateUrl:"./Angular/Apps/UserAdmin/ExternalOrganisationAccess/Views/ManageExternalOrgAccess.html",controller:"ManageExternalOrgAccessController"}).when("/ExternalOrganisationAccess/Request",{templateUrl:"./Angular/Apps/UserAdmin/ExternalOrganisationAccess/Views/ManageExternalOrgAccessRequest.html",controller:"ManageExternalOrgAccessRequestController",resolve:{CurrentUser:["FetchUPN",function(n){return n.Get().$promise}]}}).when("/ExternalOrganisationAccess/Edit/:ID",{templateUrl:"./Angular/Apps/UserAdmin/ExternalOrganisationAccess/Views/EditManageExternalOrgAccessRequest.html",controller:"EditManageExternalOrgAccessRequestController",resolve:{CurrentUser:["FetchUPN",function(n){return n.Get().$promise}]}}).when("/ExternalFederatedGroups",{templateUrl:"./Angular/Apps/UserAdmin/ExternalFederatedGroups/Views/ManageExternalFedGroups.html",controller:"ManageExternalFedGroupsController"}).when("/ExternalFederatedGroups/Request",{templateUrl:"./Angular/Apps/UserAdmin/ExternalFederatedGroups/Views/ManageExternalFedGroupsRequest.html",controller:"ManageExternalFedGroupsRequestController"}).when("/ExternalFederatedGroups/Edit/:ID",{templateUrl:"./Angular/Apps/UserAdmin/ExternalFederatedGroups/Views/ManageExternalFedGroupsEdit.html",controller:"ManageExternalFedGroupsEditController",resolve:{CurrentUser:["FetchUPN",function(n){return n.Get().$promise}]}}).when("/Sponsor",{templateUrl:"./Angular/Apps/UserAdmin/GuestAccess/Views/SponsorRequest.html",controller:"SponsorRequestController",resolve:{CurrentUser:["FetchUPN",function(n){return n.Get().$promise}]}}).when("/ViewSponsors",{templateUrl:"./Angular/Apps/UserAdmin/GuestAccess/Views/ViewSponsors.html",controller:"ViewSponsorsController",resolve:{CurrentUser:["FetchUPN",function(n){return n.Get().$promise}]}}).when("/BulkAddGuests",{templateUrl:"./Angular/Apps/UserAdmin/GuestAccess/Views/BulkAddGuests.html",controller:"BulkAddGuestsController",resolve:{CurrentUser:["FetchUPN",function(n){return n.Get().$promise}]}}).otherwise({templateUrl:"./Angular/Apps/UserAdmin/UserAndMailbox/Views/ListUsers.html",controller:"UserAdminListUsersController"})};configFunction.$inject=["$routeProvider","$locationProvider","$httpProvider","growlProvider","blockUIConfig"];MainApp.config(configFunction);MainApp.run(["$location","$rootScope","$http","$sessionStorage",function(n,t,i){t.$on("$routeChangeSuccess",function(t,i){i.$$route==undefined||i.$$route.originalPath!="/createContact"||isPermissionPresent("CONTACT_CREATE")?i.$$route==undefined||i.$$route.originalPath!="/Users/SharedMailbox"||isPermissionPresent("SHARED_MAILBOX_CREATE")?i.$$route==undefined||i.$$route.originalPath!="/ResourceMailbox"||isPermissionPresent("CREATE_RESOURCE_MAILBOX")?i.$$route==undefined||i.$$route.originalPath!="/viewResourceMailbox"||isPermissionPresent("READ_RESOURCE_MAILBOX")?i.$$route==undefined||i.$$route.originalPath!="/createUser"||isPermissionPresent("USER_CREATE")?i.$$route==undefined||i.$$route.originalPath!="/StaticDL/Create"||isPermissionPresent("STATIC_DISTRIBUTION_LIST_CREATE")?i.$$route==undefined||i.$$route.originalPath!="/DynamicDL/Create"||isPermissionPresent("DYNAMIC_DISTRIBUTION_LIST_CREATE")?i.$$route==undefined||i.$$route.originalPath!="/DynamicDL/Create"||isPermissionPresent("DYNAMIC_DISTRIBUTION_LIST_CREATE")?i.$$route==undefined||i.$$route.originalPath!="/Audit"||isPermissionPresent("AUDIT_READ")||isPermissionPresent("ATP_AUDIT_READ")||isPermissionPresent("GUEST_ATTESTATION_VIEW")?i.$$route==undefined||i.$$route.originalPath!="/Reports"||isPermissionPresent("REPORTS")||isPermissionPresent("ATP_REPORTS_READ")||isPermissionPresent("O365_LICENCE_REPORTING")?i.$$route==undefined||i.$$route.originalPath!="/UploadOrganisationsBulkEdit"||isPermissionPresent("UPDATE_ORG_CREATION_LIMITS")?i.$$route==undefined||i.$$route.originalPath!="/OrganisationLists"||isPermissionPresent("OU_READ")?i.$$route==undefined||i.$$route.originalPath!="/Users/OrganisationView"||isPermissionPresent("OU_READ")?i.$$route==undefined||i.$$route.originalPath!="/SharePointCollection"||isPermissionPresent("SHAREPOINT_COLLECTION_READ")?i.$$route==undefined||i.$$route.originalPath!="/SharePointCollection/Create"||isPermissionPresent("SHAREPOINT_COLLECTION_CREATE")?i.$$route==undefined||i.$$route.originalPath!="/SharePointProjectWebApp/Create"||isPermissionPresent("PWA_CREATE")?i.$$route==undefined||i.$$route.originalPath!="/SharePointCollection/Edit/:ID"||isPermissionPresent("SHAREPOINT_COLLECTION_UPDATE")?i.$$route==undefined||i.$$route.originalPath!="/UserPolicies"||isPermissionPresent("USERPOLICY_READ")?i.$$route==undefined||i.$$route.originalPath!="/UserPolicies/Create"||isPermissionPresent("USERPOLICY_CREATE")?i.$$route==undefined||i.$$route.originalPath!="/Policy/Edit/:UserPolicyID"||isPermissionPresent("USERPOLICY_UPDATE")?i.$$route==undefined||i.$$route.originalPath!="/BookingCalendar/Add"||isPermissionPresent("BOOKING_CALENDAR_CREATE")?i.$$route==undefined||i.$$route.originalPath!="/BookingCalendar/Edit"||isPermissionPresent("BOOKING_CALENDAR_UPDATE")?i.$$route==undefined||i.$$route.originalPath!="/BookingCalendars"||isPermissionPresent("BOOKING_CALENDAR_READ")?i.$$route==undefined||i.$$route.originalPath!="/ATPGroup"||isPermissionPresent("ATP_GROUP_READ")?i.$$route==undefined||i.$$route.originalPath!="/ATPUser"||isPermissionPresent("ATP_GROUP_READ")?i.$$route==undefined||i.$$route.originalPath!="/enroll"||isPermissionPresent("ATP_OU_ENROL")?i.$$route==undefined||i.$$route.originalPath!="/ElevatedPermission"||isPermissionPresent("ATP_ADMIN_ACCESS_REQUEST")?i.$$route==undefined||i.$$route.originalPath!="/List"||isPermissionPresent("ATP_USER")||isPermissionPresent("GUEST_ATTESTATION_VIEW")||isPermissionPresent("APPROVE_SELF_SERVICE_LEAVER_JOINER_REQUEST")||isPermissionPresent("TEAMS_GROUP_CREATE")?i.$$route==undefined||i.$$route.originalPath!="/EligibleGuestInviters"||isPermissionPresent("GUEST_INVITER_VIEW")?i.$$route==undefined||i.$$route.originalPath!="/ExternalOrganisationAccess"||isPermissionPresent("GUEST_EXT_ORG_VIEW")?i.$$route==undefined||i.$$route.originalPath!="/ExternalFederatedGroups"||isPermissionPresent("GUEST_EXT_FED_VIEW")?i.$$route==undefined||i.$$route.originalPath!="/Sponsor"||isPermissionPresent("GUEST_USER_CREATE")?i.$$route==undefined||i.$$route.originalPath!="/ViewSponsors"||isPermissionPresent("GUEST_USER_VIEW")||n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied"):n.path("/AccessDenied")});$(function(){var t=function(){sessionStorage.removeItem("JWToken");sessionStorage.removeItem("JWTPermission");sessionStorage.clear()},n=document.getElementById("navBarLoginLogoutLink");n&&n.addEventListener("click",t)});sessionStorage&&sessionStorage.getItem("JWToken")!==null&&(i.defaults.headers.common.Authorization="Bearer "+sessionStorage.getItem("JWToken"))}]);var UserApp=angular.module("UserApp",["ngRoute","ngMessages","ngStorage","ngResource","smart-table","ui.bootstrap","ui.bootstrap.tpls","ui.bootstrap.datetimepicker","signalRConnection","treeControl","angularFileUpload","UserAdminAppServices","UserAdminAppControllers","UserAdminAppDirectives","UserAdminAppFilters","blockUI","ngSanitize"]),userAdminAppServicesModule=angular.module("UserAdminAppServices",[]),userAdminAppFiltersModule=angular.module("UserAdminAppFilters",[]),userAdminAppControllersModule=angular.module("UserAdminAppControllers",["UserAdminAppServices"]),userAdminAppDirectivesModule=angular.module("UserAdminAppDirectives",["UserAdminAppServices"]),isPermissionPresent=function(n){var r=!1,t,i;if(sessionStorage&&(t=sessionStorage.getItem("JWTPermission")),t!=null&&(t=angular.fromJson(t),t.length!=0))for(i=0;i<t.length;i++)if(t[i].PermissionCode==n){r=!0;break}return r},configFunction=function(n,t,i,r,u){i.defaults.headers.common.Authorization="Bearer "+sessionStorage.getItem("JWToken");i.interceptors.push("JwtTokenAuthenticationInterceptor");r.globalTimeToLive(1e4);u.templateUrl="./Angular/Apps/UserAdmin/Common/Views/angular-block-ui.ng.html";u.autoInjectBodyBlock=!0;u.requestFilter=function(n){return n.url.match(/GetEmailSuggestion/)?!1:n.url.match(/BlockDevice/)?!1:void 0};n.when("/Users/SharedMailbox",{templateUrl:"./Angular/Apps/User/NonAdminSharedMailbox/Views/ListSharedMailboxs.html",controller:"ListSharedMailboxController",resolve:{JWTtokenHelper:["JWTtoken",function(n){return n.fetchPermissions()}]}}).when("/SelfLeaverOrJoiner",{templateUrl:"./Angular/Apps/User/NonAdminSelfLeaverOrJoiner/Views/SelfLeaverOrJoiner.html",controller:"UserEditSelfLeaverOrJoinerController",resolve:{JWTtokenHelper:["JWTtoken",function(n){return n.fetchPermissions()}]}}).when("/SelfServicerDisableMFA",{templateUrl:"./Angular/Apps/User/NonAdminSelfServiceDisableMFA/Views/SelfServiceDisableMFA.html",controller:"UserEditSelfServiceDisableMFAController",resolve:{JWTtokenHelper:["JWTtoken",function(n){return n.fetchPermissions()}]}}).when("/Teams",{templateUrl:"./Angular/Apps/User/NonAdminTeams/Views/ListTeams.html",controller:"ListTeamsController",resolve:{JWTtokenHelper:["JWTtoken",function(n){return n.fetchPermissions()}]}}).when("/Teams/Add",{templateUrl:"./Angular/Apps/User/NonAdminTeams/Views/CreateTeams.html",controller:"CreateTeamsController",resolve:{JWTtokenHelper:["JWTtoken",function(n){return n.fetchPermissions()}],CurrentUser:["FetchUPN",function(n){return n.Get().$promise}]}}).when("/Teams/:teamId",{templateUrl:"./Angular/Apps/User/NonAdminTeams/Views/ViewTeams.html",controller:"EditTeamsController",resolve:{TeamAPIResponse:["$route","TeamsNonAdminAPI",function(n,t){return t.Get({teamId:n.current.params.teamId}).$promise}],JWTtokenHelper:["JWTtoken",function(n){return n.fetchPermissions()}],CurrentUser:["FetchUPN",function(n){return n.Get().$promise}]}}).when("/viewSharedUser/:ID",{templateUrl:"./Angular/Apps/User/NonAdminSharedMailbox/Views/ViewSharedMailbox.html",controller:"ViewSharedMailboxController",resolve:{JWTtokenHelper:["JWTtoken",function(n){return n.fetchPermissions()}]}}).when("/StaticDL/Create",{templateUrl:"./Angular/Apps/User/NonAdminDistributionList/Views/CreateDistributionList.html",controller:"UserCreateDistributionListController",resolve:{JWTtokenHelper:["JWTtoken",function(n){return n.fetchPermissions()}]}}).when("/StaticDL/Create",{templateUrl:"./Angular/Apps/User/NonAdminDistributionList/Views/CreateDistributionList.html",controller:"UserCreateDistributionListController",resolve:{JWTtokenHelper:["JWTtoken",function(n){return n.fetchPermissions()}]}}).when("/DistributionLists",{templateUrl:"./Angular/Apps/User/NonAdminDistributionList/Views/DistributionList.html",controller:"UserListDistributionController",resolve:{JWTtokenHelper:["JWTtoken",function(n){return n.fetchPermissions()}]}}).when("/DL/Edit/:DistributionListEmailAddress",{templateUrl:"./Angular/Apps/User/NonAdminDistributionList/Views/EditDistributionList.html",controller:"UserEditDistributionListController",resolve:{JWTtokenHelper:["JWTtoken",function(n){return n.fetchPermissions()}]}}).when("/DynamicDL/Create",{templateUrl:"./Angular/Apps/User/NonAdminDistributionList/Views/CreateDynamicDistributionList.html",controller:"UserCreateDynamicDistributionListController",resolve:{JWTtokenHelper:["JWTtoken",function(n){return n.fetchPermissions()}]}}).when("/DynamicDL/Edit/:ID",{templateUrl:"./Angular/Apps/User/NonAdminDistributionList/Views/EditDynamicDistributionList.html",controller:"UserDynamicDistributionListController",resolve:{JWTtokenHelper:["JWTtoken",function(n){return n.fetchPermissions()}]}}).when("/AccessDenied",{templateUrl:"./Angular/Apps/UserAdmin/Common/Views/AccessDenied.html",controller:"UserAdminAccessDeniedController"}).otherwise({templateUrl:"./Angular/Apps/User/NonAdminDistributionList/Views/DistributionList.html",controller:"UserListDistributionController",resolve:{JWTtokenHelper:["JWTtoken",function(n){return n.fetchPermissions()}]}})};configFunction.$inject=["$routeProvider","$locationProvider","$httpProvider","growlProvider","blockUIConfig"];UserApp.config(configFunction);UserApp.run(["$location","$rootScope","$http","$sessionStorage",function(n,t,i){sessionStorage&&sessionStorage.getItem("JWToken")!==null&&(i.defaults.headers.common.Authorization="Bearer "+sessionStorage.getItem("JWToken"))}]);userAdminAppControllersModule.controller("ConfirmBulkeditController",["$modalInstance","$scope",function(n,t){t.confirmBulkEdit=function(){n.close()};t.cancelBulkEdit=function(){n.dismiss("cancel")};t.tabKeyPressOnModal=function(){event.keyCode===9&&$("#confirmEditModalClose").focus()}}]);userAdminAppControllersModule.controller("ConfirmDeleteController",["$modalInstance","$scope",function(n,t){t.deleteText=typeof t.$parent.DeleteText!="undefined"?t.$parent.DeleteText:"Please confirm you wish to delete the selected object";t.ConfirmDelete=function(){n.close()};t.CancelDelete=function(){n.dismiss("cancel")}}]);userAdminAppControllersModule.controller("ConfirmBulkMembershipRemovalDirectiveController",["$modalInstance","$scope",function(n,t){t.confirmBulkMembershipRemoval=function(){n.close()};t.cancelBulkMembershipRemoval=function(){n.dismiss("cancel")}}]);userAdminAppControllersModule.controller("JWTtokenExpiryLogoutAlertController",["$modalInstance","$scope",function(n,t){t.ConfirmExpire=function(){n.close()}}]);userAdminAppControllersModule.controller("ListUsersColumnPicker",["$scope","$modalInstance","items","names",function(n,t,i,r){var u,f,e;n.items=i;n.names=r;u=[];for(f in i)u[f]=i[f];n.ok=function(){t.close()};n.cancel=function(){for(var i in u)n.items[i]=u[i];t.dismiss("cancel")};n.isUnselectionAllowed=function(t){e()&&(n.items[t]=!0)};e=function(){var t=!0;return angular.forEach(n.names,function(i){angular.isDefined(n.items[i.key])&&n.items[i.key]==!0&&(t=!1)}),t}}]);userAdminAppControllersModule.controller("PermissionTabsListDirectiveController",["$scope","PermissionsMembershipColumns",function(n,t){n.bulkRemoveList=[];n.permissionsMembershipColumns=new t;n.renderValuesToDisplaySubscriptions=function(n){return n};n.toggleAll=function(){n.bulkRemoveList=[];var t=n.isAllSelected;angular.forEach(n.listItems,function(i){i.selected=t;i.selected?n.selectItem(i):n.unselectItem(i)})};n.optionToggled=function(t){n.isAllSelected=n.listItems.every(function(n){return n.selected});t.selected?n.selectItem(t):n.unselectItem(t)};n.selectItem=function(t){var r=t.EmailAddress,u=t.selected,f=t.EntityType,e=t.Name,o=t.Organisation,s=t.Type,i={};u&&(i={EmailAddress:r,EntityType:f,Name:e,Organisation:o,Type:s},n.bulkRemoveList.push(i))};n.unselectItem=function(t){(t!==undefined||t!==null)&&n.bulkRemoveList.pop(t)}}]);userAdminAppControllersModule.controller("UserAdminAccessDeniedController",["$scope",function(){}]);userAdminAppDirectivesModule.directive("genericUserList",["$modal","$http","$sessionStorage","GenericUserListVisibleColumns","GenericUserListColumns","$timeout","$rootScope",function(n,t,i,r,u,f,e){return{templateUrl:"Angular/Apps/UserAdmin/Common/Views/GenericUserList.html",restrict:"E",scope:{userListItems:"=users"},link:function(t){t.animationsEnabled=!1;t.showAdvancedSearch=!1;t.selectedUsers=[];t.itemsOnPage="10";t.userID="";t.userListColumnsVisible=i.GenericUserListColumns;t.userListColumnsVisible||(t.userListColumnsVisible=new r);t.userListColumns=new u;t.openColumnPicker=function(){var r=t.userListColumnsVisible,u=n.open({animation:t.animationsEnabled,templateUrl:"./Angular/Apps/UserAdmin/Common/Views/ListUsersColumnPicker.html",controller:"ListUsersColumnPicker",size:"lg",resolve:{items:function(){return t.userListColumnsVisible},names:function(){return t.userListColumns}}});u.result.then(function(){i.GenericUserListColumns=t.userListColumnsVisible},function(){t.userListColumnsVisible=r})};t.displayedTable=[].concat(t.userListItems);t.renderValuesToDisplaySubscriptions=function(n,t,i){var r="";return angular.isArray(n)?(angular.forEach(n,function(n){r=r!=""?r+", "+n.Description:n.Description}),r.length>t&&(r=r.slice(0,t-3)+"...")):r=i=="Organisation"||i=="OrganisationUnit"?n.Name:n,r};t.renderTitleForTooltipSubscriptions=function(n,t){var i="";return angular.isArray(n)&&(angular.forEach(n,function(n){i=i!=""?i+", "+n.Description:n.Description}),i.length<=t&&(i="")),i};e.$watch(function(){angular.element('[data-toggle="tooltip"]').tooltip({container:"body"})});t.UserPickerSelectClick=function(){t.$emit("UserListBackButtonClickedEvent")}}}}]);userAdminAppDirectivesModule.directive("inputDropdown",["$http","$sessionStorage","$rootScope","$document","$window","$timeout",function(n,t,i,r,u,f){return{restrict:"EA",require:"ngModel",scope:{list:"=",onSelect:"&",markLeaver:"@",isDropDown:"@",defaultOrg:"@?",contactUserOrganisation:"@?contactUserOrg",requestfromContactPage:"@?requestfromContact",requestFromAudit:"@?",basedOnPermission:"@",permissionCode:"@",selectedOrga:"=?",novalidationRequired:"@",organisationFromStatistics:"@?",fromDirectiveFn:"=method",o365LicenceTypes:"="},templateUrl:"./Angular/Apps/UserAdmin/Common/Views/OrganisationDropdown.html",link:function(i,e,o,s){var h,l,c;if($('[data-toggle="popover"]').popover(),i.selectedOrg={Name:"Select Organisation"},i.orgDropDownShow=!1,i.requestedPage="",i.select_org=i.selectedOrga,e.addClass("input-dropdown"),i.list=[],h=i.requestfromContactPage,l=i.requestFromAudit,h=="true"&&(c=JSON.parse(i.contactUserOrganisation)),angular.isUndefined(i.selectedOrga)?($(".organisationDropdownDiv").removeClass("organisationDropdownDiv2"),$(".organisationDropdownDiv").addClass("organisationDropdownDiv1")):($(".organisationDropdownDiv").removeClass("organisationDropdownDiv1"),$(".organisationDropdownDiv").addClass("organisationDropdownDiv2")),angular.isUndefined(o.novalidationRequired)&&(i.novalidationRequired=!0),angular.isUndefined(i.selectedOrga)||i.selectedOrga=="")if(i.defaultOrg)switch(i.organisationFromStatistics){case"true":i.select_org="Select Organisation";break;case"false":i.selectedOrg.Name="All my organisations";i.selectedOrg.ID="";i.select_org=i.selectedOrg.Name}else i.select_org="Select Organisation";h=="true"&&(i.selectedOrg=c,i.selectedOrg.Name=c.Name,i.select_org=i.selectedOrg.Name);l=="true"&&(i.selectedOrg=t.NHSorganisationData,i.selectedOrg.Name=t.NHSorganisationData.Name,i.select_org=t.NHSorganisationData.Name,(angular.isUndefined(t.NHSorganisationData.Name)||angular.isUndefined(t.NHSorganisationData.Name))&&(i.selectedOrg.Name=i.select_org="Select Organisation"));angular.isUndefined(i.markLeaver)&&(i.markLeaver=!1);angular.isUndefined(i.isDropDown)&&(i.isDropDown=!0);angular.isUndefined(i.isDefaultOrg)&&(i.isDefaultOrg=!0);angular.isUndefined(i.basedOnPermission)&&(i.basedOnPermission=!0);angular.isUndefined(i.requestFromAudit)||(i.requestedPage="audit");angular.isUndefined(i.PermissionCode)&&(i.permissionCode="USER_CREATE");i.novalidationRequired==!0&&(s.$validators.SelectedOrganisationShortname=function(){return h=="true"&&(i.selectedOrg.ShortName=c.ShortName),i.selectedOrg.ShortName==undefined||i.selectedOrg.ShortName==""||i.selectedOrg.ShortName==null?!1:!0},s.$validators.SelectedOrganisationRequired=function(){return i.selectedOrg.Name=="Select Organisation"||i.selectedOrg.Name==""||i.selectedOrg.Name==null||i.selectedOrg.Name=="No item Found"?!1:!0});i.select=function(t,r){if(i.selectedOrg={},angular.copy(r,i.selectedOrg),i.selectedOrg!=""||i.selectedOrg!=null||i.selectedOrg.Name!="No item Found"){i.orgDropDownShow=!1;i.select_org=i.selectedOrg.Name;i.searchText=i.selectedOrg.Name;i.onSelect({$event:t,value:r});i.select_org=="All my organisations"&&(i.selectedOrg.ID="ALL");i.organisationFromStatistics==="true"&&n({method:"GET",url:baseUrlValue+"admin/Report/OrganisationStatistics/"+i.selectedOrg.ID}).success(function(n){i.fromDirectiveFn(n)}).error(function(){})}};i.orgDropdownToggle=function(n){if(i.orgDropDownShow)i.orgDropDownShow=!1,i.searchText="";else{i.orgList();i.orgDropDownShow=!0;var t=u.document.getElementById("inputSearchText");f(function(){t.focus()},500)}n.stopPropagation()};i.orgDropdownOpen=function(){if(!i.orgDropDownShow){i.orgList();i.orgDropDownShow=!0;var n=u.document.getElementById("inputSearchText");i.defaultOrg&&$("#adminReportsButtonGenerateReport").attr("disabled",!0);switch(i.organisationFromStatistics){case"true":i.selectedOrg.Name="Select Organisation";i.selectedOrg.ID="";i.select_org=i.selectedOrg.Name;break;case"false":i.selectedOrg.Name==="All my organisations"&&(i.selectedOrg.Name="All my organisations",i.selectedOrg.ID="",i.select_org=i.selectedOrg.Name)}f(function(){n.focus()},500)}};r.bind("click",function(n){var t=e.find(n.target).length>0;(n.target.type==="submit"&&(t=!0),t)||(i.orgDropDownShow=!1,i.searchText="",i.defaultOrg&&$("#adminReportsButtonGenerateReport").attr("disabled",!1),i.safeApply=function(n){var t=this.$root.$$phase;t=="$apply"||t=="$digest"?n&&typeof n=="function"&&n():this.$apply(n)})});i.orgList=function(){$("#createUser_formResult").removeClass("alert-success alert-danger").html("");n({method:"post",url:baseUrlValue+"admin/organisations?basedOnPermission="+i.basedOnPermission+"&isDropDown="+i.isDropDown+"&isRequestFromMarkAsLeaver="+i.markLeaver+"&requestedPage="+i.requestedPage,data:{FilterParams:{OrganisationType:"Organisation",Name:i.searchText},PermissionCode:i.permissionCode,O365LicenceTypes:i.o365LicenceTypes}}).success(function(n){(n==[]||n=="")&&(n=[{Name:"No item Found"}]);angular.copy(n,i.list);i.defaultOrg&&n[0].Name!="No item Found"&&n.length!=1&&(i.list.length+1,i.list.splice(0,0,{Name:"All my organisations",ID:""}))}).error(function(){})};i.callAPI=function(){i.searchText.length>=3?i.orgList():i.searchText.length==0&&i.orgList()}}}}]);userAdminAppDirectivesModule.directive("inputOrgOuDropdown",["ViewOrganisationAPI",function(n){return{restrict:"E",scope:{permissionCode:"@",selectedOrganisation:"=",selectedOu:"="},templateUrl:"./Angular/Apps/UserAdmin/Common/Views/OrgOuDropdown.html",controller:["$scope","$attrs",function(t,i){var r,u;t.selectedOrganisation=t.selectedOrganisation||{};t.selectedOu=t.selectedOu||null;t.showOrganisationDropdown=!i.hasOwnProperty("hideOrganisation");t.treedata=[];t.selected={};t.expandedNodes=[];t.isOrganisationSeleted=!1;t.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};t.organisationChange=function(i){if(t.selectedOrganisation=i,t.selectedOrganisation!=null||t.selectedOrganisation!==undefined||t.selectedOrganisation.ShortName===""||t.selectedOrganisation.ShortName==null||t.selectedOrganisation.ShortName==undefined){angular.copy([],t.treedata);var r=n.ViewOrganisation(t.selectedOrganisation).$promise;return r.then(function(n){t.isOrganisationSeleted=!0;t.treedata.push(angular.copy(n));t.expandedNodes=[t.treedata[0]];t.selectedOu=t.treedata[0]}),r}angular.copy([],t.treedata);t.selectedOrganisation=undefined;t.isOrganisationSeleted=!1};r=function(n,i){if(i===undefined&&(i=t.treedata[0]),i.ID===n)return i;var u=null;return i.ChildOrganisations.forEach(function(t){var i=r(n,t);i!==null&&(u=i)}),u};t.selectedOrganisation!==null&&t.selectedOu!==null&&(u=t.selectedOu,t.organisationChange({ID:t.selectedOrganisation}).then(function(){t.selectedOu=r(u);t.selectedOrganisation=r(t.selectedOrganisation.ID)}))}]}}]);userAdminAppDirectivesModule.directive("radioValidation",[function(){var n=!0;return{restrict:"A",require:"ngModel",scope:{radioValidation:"&",value:"@"},link:function(t,i,r,u){u.$validators.radioValidation=function(i){return n||i===t.value};t.radioValidation!==undefined&&t.$watch(function(){return t.radioValidation()},function(t,i){t!==i&&(t?(n=!1,u.$validate()):(n=!0,u.$validate()))},!0)}}}]);userAdminAppDirectivesModule.directive("shortnameValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.shortnamepattern=function(t){var i=t;return n.IsValidShortname(i)};u.$validators.shortnamerequired=function(t){var i=t;return n.IsValidShortnameLength(i,r.nodeStatus)};r.$observe("nodeStatus",function(){u.$validate()})}}}]);userAdminAppDirectivesModule.directive("emailSizeValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.emailsize=function(i){var r=i;return n.IsValidEmailSize(t,r)}}}}]);userAdminAppDirectivesModule.directive("tooltipInitialisation",[function(){return{restrict:"A",link:function(){$('[data-toggle="tooltip"]').tooltip()}}}]);userAdminAppDirectivesModule.directive("adGroupNameValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.name=function(t){var i=t;return n.IsValidADGroupName(i)}}}}]);userAdminAppDirectivesModule.directive("adTenantNameValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.name=function(t){var i=t;return n.IsValidADTenantName(i)}}}}]);userAdminAppDirectivesModule.directive("auditTargetObjectNameValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.name=function(t){var i=t;return n.IsValidAuditTargetObjectName(i)}}}}]);userAdminAppDirectivesModule.directive("confirmBulkedit",["$modal",function(n){function t(n){switch(n){case"markAsLeaver":return"Angular/Apps/UserAdmin/Common/Views/BulkEditMarkAsLeaverConfirmation.html";case"transfer":return"Angular/Apps/UserAdmin/Common/Views/BulkEditTransferConfirmation.html";default:return"Angular/Apps/UserAdmin/Common/Views/BulkEditConfirmation.html"}}return{restrict:"A",scope:{confirmBulkedit:"&?",selector:"@?"},replace:!1,link:function(i,r){r.bind("click",function(){var r=n.open({animation:!1,templateUrl:t(i.selector),controller:"ConfirmBulkeditController"});r.result.then(function(){i.confirmBulkedit()},function(){})})}}}]);userAdminAppDirectivesModule.directive("confirmBulkMembershipRemoval",["$modal",function(n){return{restrict:"A",scope:{confirmBulkMembershipRemoval:"&?"},replace:!1,link:function(t,i){i.bind("click",function(){var i=n.open({animation:!1,templateUrl:"Angular/Apps/UserAdmin/Common/Views/BulkMembershipRemovalConfirmation.html",controller:"ConfirmBulkMembershipRemovalDirectiveController"});i.result.then(function(){t.confirmBulkMembershipRemoval()},function(){})})}}}]);userAdminAppDirectivesModule.directive("confirmDelete",["$modal",function(n){return{restrict:"A",scope:{confirmDelete:"&"},replace:!1,link:function(t,i,r){t.DeleteText=r.confirmDeleteText;i.bind("click",function(){if(i.text()=="Delete"||i.text()=="delete"){var r=n.open({animation:!1,templateUrl:"Angular/Apps/UserAdmin/Common/Views/DeleteConfirmation.html",controller:"ConfirmDeleteController",scope:t});r.result.then(function(){t.confirmDelete()},function(){})}else t.confirmDelete()})}}}]);userAdminAppDirectivesModule.directive("customValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.custom=function(t){var i=t;return n.IsValidCustomAttributes(i)}}}}]);userAdminAppDirectivesModule.directive("customValidatorDdl",["DirectiveHelpers",function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){r.$validators.myCattrMsg=function(n){var t=!1,i;return n.Field==="Custom Attribute 1"||n.Field==="Custom Attribute 2"||n.Field==="Custom Attribute 3"||n.Field==="Custom Attribute 4"||n.Field==="Custom Attribute5"?(i=/^[ a-z0-9A-Z!@#=\$%\&\_\-\\(\)[\]\"\+\*\^\.\?\n\r]*$/,t=i.test(n)?!0:!1):t=!0,t}}}}]);userAdminAppDirectivesModule.directive("descriptionValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.description=function(t){var i=t;return n.IsValidDescription(i)}}}}]);userAdminAppDirectivesModule.directive("domainNameValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.domain=function(t){var i=t;return n.IsValidDomainName(i)}}}}]);userAdminAppDirectivesModule.directive("emailNameValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.emailname=function(t,i){var r=t||i;return n.IsValidEmailName(r)}}}}]);userAdminAppDirectivesModule.directive("emailValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.email=function(t,i){var r=t||i;return n.IsValidEmail(r)}}}}]);userAdminAppDirectivesModule.directive("focusChangeDetect",function(){return function(n,t){t.bind("focus",function(){n.currentInputFocus||(n.currentInputFocus={});n.currentInputFocus.element=t})}});userAdminAppDirectivesModule.directive("idValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.id=function(t){var i=t;return n.IsValidID(i)}}}}]);userAdminAppDirectivesModule.directive("multipleEmailValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.email=function(t,i){var r=t||i;return n.IsMultipleValidEmail(r)}}}}]);userAdminAppDirectivesModule.directive("nhsMultipleEmailValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.email=function(i,u){var f=i||u,e=t.$eval(r.emailDomain);return n.IsMultipleValidNhsEmail(f,e)}}}}]);userAdminAppDirectivesModule.directive("organisationNameValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.organisationname=function(t){var i=t;return n.IsValidOrganisationName(i)}}}}]);userAdminAppDirectivesModule.directive("nhsEmailNameValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.email=function(t,i){var r=t||i;return n.IsValidNhsEmailName(r)}}}}]);userAdminAppDirectivesModule.directive("nhsEmailValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.email=function(t,i){var r=t||i;return n.IsValidNhsEmail(r)}}}}]);userAdminAppDirectivesModule.directive("nhsEmailWithDomainValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.email=function(i,u){var f=i||u,e=t.$eval(r.emailDomain);return n.IsValidNhsEmailWithDomain(f,e)}}}}]);userAdminAppDirectivesModule.directive("nonNhsEmailValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.email=function(t,i){var r=t||i;return n.IsValidNonNhsEmail(r)}}}}]);userAdminAppDirectivesModule.directive("notesValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.note=function(t){var i=t;return n.IsValidNotes(i)}}}}]);userAdminAppDirectivesModule.directive("numbersOnlyValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.number=function(t,i){var r=t||i;return n.IsValidNumber(r)}}}}]);userAdminAppDirectivesModule.directive("nameValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.name=function(t){var i=t;return n.IsValidName(i)}}}}]);userAdminAppDirectivesModule.directive("dlNameValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.name=function(t){var i=t;return n.IsValidDLName(i)}}}}]);userAdminAppDirectivesModule.directive("organisationDescriptionValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.addorganisationdescription=function(t){var i=t;return n.IsValidOrganisationDescription(i)}}}}]);userAdminAppDirectivesModule.directive("permissionTabList",["$sessionStorage",function(){return{templateUrl:"./Angular/Apps/UserAdmin/Common/Views/PermissionTabsList.html",controller:"PermissionTabsListDirectiveController",restrict:"EA",require:"ngModel",scope:{listItems:"=?",listItemsCopy:"=?",fromDirectiveFn:"=method"},link:function(){}}}]);userAdminAppDirectivesModule.directive("stPersist",function(){return{require:"^stTable",link:function(n,t,i,r){var u=i.stPersist,f,e;n.$watch(function(){return r.tableState()},function(n,t){n!==t&&localStorage.setItem(u,JSON.stringify(n))},!0);localStorage.getItem(u)&&(f=JSON.parse(localStorage.getItem(u)),e=r.tableState(),angular.extend(e,f),r.pipe())}}});userAdminAppDirectivesModule.directive("phonenumberValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.phonenumber=function(t,i){var r=t||i;return n.IsValidPhoneNumber(r)}}}}]);userAdminAppDirectivesModule.directive("placeholder",function(){var n=document.createElement("input");return"placeholder"in n?{}:{restrict:"A",require:"ngModel",link:function(n,t,i,r){var u,s=i.placeholder,e=/((e.g.)|(Job Title)|(Email))/.test(s),f=function(){e?o():t.val(i.placeholder)},o=function(){t.val("")};n.$watch(i.ngModel,function(n){u=n||""});t.bind("focus",function(){u==""&&o()});t.bind("blur",function(){t.val()==""&&f()});r.$formatters.unshift(function(n){return n?n:(f(),u="",e?"":i.placeholder)});i.$observe("placeholder",function(n){f();n=""})}}});userAdminAppDirectivesModule.directive("queryBuilder",["$compile","$http","growl","DistributionListAPI","DistributionListSearchParams",function(n,t,i,r){return{restrict:"E",scope:{Group:"=group",parentSubmitButtonClickedStatus:"=?submitClickStatus",fieldData:"=?",disableFields:"=",isAdmin:"=?",config:"=?config"},templateUrl:"Angular/Apps/UserAdmin/Common/Views/QueryBuilderDirective.html",compile:function(t){var u,i;return u=t.contents().remove(),$(function(){$('[data-toggle="tooltip"]').tooltip()}),function(t,f){var e,o;t.organisationList=[];t.Department=[];t.clinicalSpeciality=[];t.clinicalRole=[];t.workArea=[];t.Sdl=[];t.clinicalRole=t.fieldData.clinicalRole;t.clinicalSpeciality=t.fieldData.clinicalSpeciality;t.workArea=t.fieldData.workArea;t.Sdl=t.fieldData.Sdl;t.IncludeChildOrganisations=t.IncludeChildOrganisations;t.operators=[{name:"AND"},{name:"OR"}];t.operatorsIncSdl=[{name:"INCLUDE"}];t.operatorsExcSdl=[{name:"EXCLUDE"}];t.fields=[{name:"Country"},{name:"Department"},{name:"Organisation"},{name:"Post Code"},{name:"Site Code"},];t.fieldsIncludeExcludeSDL=[{name:"SDL"}];t.conditions=[{name:"=",PSEquivalent:"-eq"},{name:"!=",PSEquivalent:"-ne"}];t.countries=["England"];t.addCondition=function(){t.Group.Rules.Field==="Organisation"?t.Group.Rules.push({Condition:"-eq",Field:"Country",Data:"",ODSCode:"",IncludeChildOrganisations:""}):t.Group.Rules.push({Condition:"-eq",Field:"Country",Data:""})};(t.Group.Operator==="INCLUDE"||t.Group.Operator==="EXCLUDE")&&t.Group.Rules.length==0&&t.Group.Rules.push({Condition:"-eq",Field:"SDL",Data:""});t.removeCondition=function(n){t.Group.Rules.splice(n,1)};t.addGroup=function(){t.Group.Rules.push({Group:{Operator:"AND",Rules:[]}})};t.removeGroup=function(){"Group"in t.$parent&&t.$parent.Group.Rules.splice(t.$parent.$index,1)};t.findOUs=function(){var n=[];return t.Group===undefined||t.Group.Rules===undefined?n:(angular.forEach(t.Group.Rules,function(t){t.Field==="Organisation"&&t.Departments!==undefined&&t.Departments.length>0&&(n=_.pluck(t.Departments,"Name"))}),n.length===0&&angular.isDefined(t.$parent.Group)&&angular.forEach(t.$parent.Group.Rules,function(t){t.Field==="Organisation"&&t.Departments!==undefined&&t.Departments.length>0&&(n=_.pluck(t.Departments,"Name"))}),n)};e=function(n){var t=[];return angular.forEach(n.ChildOrganisations,function(n){n.OrganisationType==="OU"&&t.push({Name:n.Name});var i=e(n);i.length>0&&(t=_.union(t,i))}),t};t.findSites=function(){var n=[];return t.Group===undefined||t.Group.Rules===undefined?n:(angular.forEach(t.Group.Rules,function(t){t.Field==="Organisation"&&t.Sites!==undefined&&t.Sites.length>0&&(n=t.Sites)}),n.length===0&&angular.isDefined(t.$parent.Group)&&angular.forEach(t.$parent.Group.Rules,function(t){t.Field==="Organisation"&&t.Sites!==undefined&&t.Sites.length>0&&(n=t.Sites)}),n)};o=function(){var n=[];return t.isAdmin?r.GetSiteList({id:t.organisationList.ID}).$promise.then(function(t){angular.forEach(t,function(t){t.Name.includes(t.ODSCode)?n.push(t.Name):n.push(t.Name+" - "+t.ODSCode)})}):r.GetNonAdminSiteList({id:t.organisationList.ID}).$promise.then(function(t){angular.forEach(t,function(t){t.Name.includes(t.ODSCode)?n.push(t.Name):n.push(t.Name+" - "+t.ODSCode)})}),n};t.getOrganisation=function(n,i){angular.copy(n,t.organisationList);i.Data=t.organisationList.Name;i.ODSCode=t.organisationList.ODSCode;i.ID=n.ID;i.Departments=[];r.GetOrganistion({Id:i.ID,shortResponse:!0}).$promise.then(function(n){i.Departments=e(n);i.Sites=o()})};i||(i=n(u));f.append(i(t,function(n){return n}))}}}}]);userAdminAppDirectivesModule.directive("selectMultiplePicker",["$timeout",function(n){return{restrict:"A",require:"ngModel",link:function(t,r,u){var f=u.ngOptions.split(" "),e;for(i=0;i<f.length;i++)if(f[i]=="in"){e=f[i+1];break}t.$watch(e,function(t){t!==undefined&&t.length>0&&n(function(){r.selectpicker("refresh")})},!0)}}}]);userAdminAppDirectivesModule.directive("selectRequiredValidator",["DirectiveHelpers",function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){r.$validators.selectrequired=function(){var n=t.val();if(n==""||n==undefined||n==null)return!1}}}}]);userAdminAppDirectivesModule.directive("sharedMailBoxEmailValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.sharedmailboxemail=function(t){var i=t;return n.IsValidSharedEmailName(i)}}}}]);userAdminAppDirectivesModule.directive("sharedMailBoxNameValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.sharedmailboxname=function(t){var i=t;return n.IsValidSharedMailBoxName(i)}}}}]);userAdminAppDirectivesModule.directive("sharePointNameValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.name=function(t){var i=t;return n.IsValidUserAdminSharePointName(i)}}}}]);userAdminAppDirectivesModule.directive("shortnameRequired",["DirectiveHelpers",function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){r.$validators.shortname=function(n,t){var i=n||t;return i!=""&&i!=undefined&&i!=null?i.ShortName==""||i.ShortName==null||i.ShortName==undefined?!1:!0:!0}}}}]);userAdminAppDirectivesModule.directive("showTooltipBasedOnPermission",["DirectiveHelpers",function(){return{restrict:"A",scope:{abc:"=abc"},link:function(n,t){n.abc==!1&&(t.attr("data-toggle","tooltip"),t.attr("data-html","true"),t.attr("data-placement","top"),t.attr("title","You do not have permission to update the user"),t.removeAttr("show-tooltip-based-on-permission"))}}}]);userAdminAppDirectivesModule.directive("underScoreUserNameValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.name=function(t){var i=t;return n.IsValidUnderScoreUserName(i)}}}}]);userAdminAppDirectivesModule.directive("urlValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.url=function(t){var i=t;return n.IsValidURL(i)}}}}]);userAdminAppDirectivesModule.directive("userNameValidator",["DirectiveHelpers",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.name=function(t){var i=t;return n.IsValidUserName(i)}}}}]);userAdminAppDirectivesModule.directive("userPicker",["$modal","$http","$sessionStorage","UserListVisibleColumns","UserListColumns","UserAdminListSearchParams","$timeout","$rootScope","$filter","$parse","$window","PermissionChecker","Config",function(n,t,i,r,u,f,e,o,s,h,c,l,a){return{templateUrl:"Angular/Apps/UserAdmin/Common/Views/UserPicker.html",restrict:"E",scope:{selectedUsers:"=returnTo",filterUsers:"@filterUsers",includeContacts:"@",maxSelection:"=?",timeDelay:"@?",fulllist:"@?",allLeavers:"@?",allUser:"@?",allContact:"@?",allSelect:"@?",allOrganisationUsers:"@?",refreshSearchUserList:"@?",oganisationListUserPolicyId:"=oganisationListUserPolicyId",userPolicyLicenseCount:"=userPolicyLicenseCount",selectedOrganisationIds:"=selectedOrganisationIds",sharepointOwner:"@?",atpManageUser:"@?",managePwa:"@?",b2bGuestInviterGroup:"@?",userPolicy:"@?",bookingCalendar:"@?",isFromBookingCalendarCreate:"@?"},link:function(h,c,v){var tt,k,d;h.includeContacts=h.$parent.$eval(h.includeContacts);h.animationsEnabled=!1;h.showAdvancedSearch=!1;h.selectedUsers=[];h.itemsOnPage=a.UserPicker_ItemsOnPage;h.userID="";h.simpleSearchText="";var y="",g=[],nt=[];angular.isUndefined(h.timeDelay)&&(h.timeDelay=0);h.isUserListEmpty=!1;h.Status=a.Userpicker_UserStatus;tt=[{label:a.MailboxLocations[0],value:!0},{label:a.MailboxLocations[1],value:!1}];h.MailboxLocations=tt;h.oganisationListUserPolicyId?(h.Emailtypes=a.Userpolicypicker_Emailtypes,h.Status=a.UserPolicyPicker_UserStatus):h.atpManageUser?(h.Emailtypes=a.ATPManageUserpicker_Emailtypes,h.Status=a.ATPManageUserpicker_UserStatus):h.Emailtypes=a.Userpicker_Emailtypes;h.isAdmin=!1;l.contains("IS_ADMIN")&&(h.isAdmin=!0);l.contains("USER_READ")&&(h.isUserRead=!0);angular.isUndefined(h.allUser)&&(h.allUser=!1);angular.isUndefined(h.allContact)&&(h.allContact=!1);angular.isUndefined(h.allSelect)&&(h.allSelect=!1);h.userListColumnsVisible=i.NHSmailuserListColumns;h.userListColumnsVisible||(h.userListColumnsVisible=new r);h.userListColumns=new u;h.openColumnPicker=function(){var t=h.userListColumnsVisible,r=n.open({animation:h.animationsEnabled,templateUrl:"./Angular/Apps/UserAdmin/Common/Views/ListUsersColumnPicker.html",controller:"ListUsersColumnPicker",size:"lg",resolve:{items:function(){return h.userListColumnsVisible},names:function(){return h.userListColumns}}});r.result.then(function(){i.NHSmailuserListColumns=h.userListColumnsVisible},function(){h.userListColumnsVisible=t})};var ut=function(){i.userPickerSearchParams==undefined&&(i.userPickerSearchParams={});i.userPickerSearchResults==undefined&&(i.userPickerSearchResults={});g=i.userPickerSearchParams==undefined?{}:i.userPickerSearchParams;nt=i.userPickerSearchResults==undefined?{}:i.userPickerSearchResults},p=function(n){var t=h.$parent.$eval(h.filterUsers);return v.filterUsers!=undefined&&angular.forEach(t,function(t,i){angular.isArray(t)?angular.forEach(t,function(t){n=s("removeElementFromArrayOfObject")(n,i,t)}):n=s("removeElementFromArrayOfObject")(n,i,t)}),n},ft=function(){if(ut(),angular.isUndefined(i.userPickerSearchResults)&&(i.userPickerSearchResults={}),Object.keys(i.userPickerSearchResults).length!=0&&(h.showEmptyTable=!0,h.userListItems=p(i.userPickerSearchResults),i.userPickerSearchParams.simpleOrAdvanced=="advanced")){var n={};angular.copy(i.userPickerSearchParams,n);h.UserListAdvancedSearchParams=n;n={}}};h.modalMarkupLoaded=function(){ft()};h.modalMarkupLoaded();h.sorting={getSortExpression:function(n){return n=="Location"?"IsCloudMailbox":n}};var et="",ot=function(n,t){angular.isUndefined(i.userPickerSearchParams)&&(i.userPickerSearchParams={});t!=et&&(i.userPickerSearchParams={});i.userPickerSearchParams=n;i.userPickerSearchParams.simpleOrAdvanced=t},w=function(){if(y=="advanced"&&h.UserListAdvancedSearchParams!=[]){var n={};angular.copy(h.UserListAdvancedSearchParams,n);h.UserListAdvancedSearchParams.Organisation!==undefined&&h.UserListAdvancedSearchParams.Organisation.Name!==undefined&&(n.Organisation=h.UserListAdvancedSearchParams.Organisation.Name);ot(n,"advanced");n={}}i.userPickerSearchResults=h.userListItems};h.callAPI=function(n,i,r){h.getUserList={};i&&(n.matchAny=!0);clearInterval(h.myInterval);n.VisibleColumns=_.chain(h.userListColumnsVisible).pick(function(n){return n}).keys().value();h.getUserList.FilterParams=n;h.getUserList.MatchAny=i;h.getUserList.AllUsers=l.getRoleName()=="Local Admin"||l.getRoleName()=="Tenant Admin"||l.getRoleName()=="Local Primary Admin"||l.getRoleName()=="Local Helpdesk"||l.getRoleName()=="Connector"?!0:!1;h.allOrganisationUsers===undefined||h.allOrganisationUsers===null||h.allOrganisationUsers===""?h.allOrganisationUsers=!0:h.allOrganisationUsers==="false"?h.allOrganisationUsers=!1:h.allOrganisationUsers==="true"&&(h.allOrganisationUsers=!0);h.atpManageUser&&(h.getUserList.FromATP=!0);h.managePwa=="true"&&(h.getUserList.FromPWA=!0);h.userPolicy&&(h.allOrganisationUsers=!1,h.getUserList.FromUserPolicy=!0);h.b2bGuestInviterGroup&&h.selectedOrganisationIds!==undefined&&h.selectedOrganisationIds.length>0&&(h.getUserList.FromB2BGuestInviterGroup=!0,h.allOrganisationUsers=!1,h.getUserList.SelectedOrganisationIds=h.selectedOrganisationIds);h.bookingCalendar&&h.selectedOrganisationIds!==undefined&&h.selectedOrganisationIds.length>0&&(h.allOrganisationUsers=!0,h.getUserList.FromBookingCalendar=!0,h.getUserList.SelectedOrganisationIds=h.selectedOrganisationIds);h.isAdmin===!0&&h.isUserRead===!0&&h.sharepointOwner==undefined?(h.fulllist=h.fulllist||!1,h.allLeavers=h.allLeavers||!1,h.oganisationListUserPolicyId!==undefined&&h.oganisationListUserPolicyId.length>0&&(h.getUserList.FromUserPolicy=!0,h.getUserList.SelectedOrganisationIds=h.oganisationListUserPolicyId),e(function(){t({method:"post",url:baseUrlValue+"admin/useraccounts?fulllist="+h.fulllist+"&allLeavers="+h.allLeavers+"&allOrganisationUsers="+h.allOrganisationUsers,data:h.getUserList}).success(function(u){if(h.userListItems=p(u),h.isUserListEmpty=h.userListItems.length==0?!0:!1,w(),(h.includeContacts===!0||h.includeContacts==="true")&&h.getUserList.FromUserPolicy===undefined&&h.getUserList.FromB2BGuestInviterGroup===undefined){if(y==="simple"||y==="advanced"&&h.getUserList.FilterParams.EmailType===""||y==="advanced"&&h.getUserList.FilterParams.EmailType==="Contact"||y==="advanced"&&h.getUserList.FilterParams.EmailType===null){var f={};f.AllContacts=l.getRoleName()=="Local Admin"||l.getRoleName()=="Tenant Admin"||l.getRoleName()=="Local Primary Admin"||l.getRoleName()=="Local Helpdesk"||l.getRoleName()=="Connector"?!0:!1;f.FilterParams=rt(n);i&&(f.matchAny=!0);t({method:"post",url:baseUrlValue+"admin/mailcontacts",data:f}).success(function(n){contactsUsers=it(n);contactsUsers=p(contactsUsers);h.userListItems=h.userListItems.concat(contactsUsers);h.isUserListEmpty=h.userListItems.length==0?!0:!1;r||b()}).error(function(){})}}else r||b()}).error(function(){})},h.timeDelay)):h.isAdmin===!0&&h.isUserRead===!0&&h.sharepointOwner=="true"?(h.fulllist=h.fulllist||!1,h.allLeavers=h.allLeavers||!1,h.oganisationListUserPolicyId!==undefined&&h.oganisationListUserPolicyId.length>0&&(h.getUserList.FilterParams.Organisation={ID:h.oganisationListUserPolicyId[0]}),e(function(){t({method:"post",url:baseUrlValue+"SharePointCollection/SearchOwningUsers",data:h.getUserList}).success(function(n){h.userListItems=p(n);h.isUserListEmpty=h.userListItems.length==0?!0:!1;w()}).error(function(){})},h.timeDelay)):t({method:"post",url:baseUrlValue+"useraccountswithoutpermission",data:h.getUserList}).success(function(u){if(h.userListItems=p(u),h.isUserListEmpty=h.userListItems.length===0?!0:!1,w(),h.includeContacts==!0||h.includeContacts=="true"){if(y==="advanced"&&h.getUserList.FilterParams.EmailType===""||y==="advanced"&&h.getUserList.FilterParams.EmailType==="Contact"||y==="advanced"&&h.getUserList.FilterParams.EmailType===null){var f={};f.FilterParams=rt(n);i&&(f.matchAny=!0);f.WithOutPermission=!0;t({method:"post",url:baseUrlValue+"mailcontactswithoutpermission",data:f}).success(function(n){contactsUsers=it(n);contactsUsers=p(contactsUsers);h.userListItems=h.userListItems.concat(contactsUsers);h.isUserListEmpty=h.userListItems.length==0?!0:!1;w();r||b()}).error(function(){})}}else r||b()}).error(function(){})};var st=function(){h.currentInputFocus&&setTimeout(function(){h.currentInputFocus.element.focus()},500)},it=function(n){var t=[];return angular.forEach(n,function(n){var i={};i.DisplayName=n.DisplayName;i.Email=n.EmailAddress;i.Status=n.Status;i.FirstName=n.FirstName;i.LastName=n.LastName;i.MobileNumber=n.MobileNumber;i.Telephone=n.Telephone;i.EmailType=n.EmailType;i.ID=n.ID;t.push(i)}),t},rt=function(n){var t={};return n&&(t.Title="",t.DisplayName=n.DisplayName,t.EmailAddress=n.Email,t.Status=n.Status,t.FirstName=n.FirstName,t.LastName=n.LastName,t.MobileNumber=n.MobileNumber,t.Telephone=n.Telephone,t.UserType=n.EmailType),t},b=function(){var t,n;for(h.selectedUsers=s("removeDuplicates")(h.selectedUsers,"ID"),t=0;t<h.selectedUsers.length;t++)for(n=0;n<h.userListItems.length;n++)if(h.selectedUsers[t].ID==h.userListItems[n].ID){h.userListItems[n].selected=!0;h.userListItems[n].isChecked=!0;break}};h.selectUserOnRowClick=function(n){n.Status=="Pending"||n.Status=="PendingErr"||n.Status=="Deleted"||n.Status=="MigrationPending"||n.Status=="Restoring"||(n.isChecked=!n.isChecked,h.selectUser(n))};h.selectAllRows=function(){angular.forEach(h.displayedTable,function(n){n.Status=="Pending"||n.Status=="PendingErr"||n.Status=="Deleted"||n.Status=="MigrationPending"||n.Status=="Restoring"||(n.isChecked=h.allRowsSelected,n.selected=h.allRowsSelected,h.selectUser(n))})};k=function(){h.allRowsSelected=!1;angular.forEach(h.userListItems,function(n){n.isChecked=h.allRowsSelected;n.selected=h.allRowsSelected})};h.selectUser=function(n){var t=n.Email,i=n.isChecked;angular.isDefined(h.maxSelection)&&h.maxSelection!="all"?h.selectedUsers.length<h.maxSelection&&!i?h.selectedUsers=s("removeElementFromArrayOfObject")(h.selectedUsers,"Email",t):h.selectedUsers.length<h.maxSelection&&i?h.selectedUsers.push(n):h.selectedUsers.length==h.maxSelection&&(h.selectedUsers=s("removeElementFromArrayOfObject")(h.selectedUsers,"Email",t),h.selectedUsers=[],angular.forEach(h.userListItems,function(t){t.ID==n.ID&&n.isChecked?(t.isChecked=n.isChecked,h.selectedUsers.push(n)):t.isChecked=!1})):i?h.selectedUsers.push(n):h.selectedUsers=s("removeElementFromArrayOfObject")(h.selectedUsers,"Email",t)};h.$on("OrganisationChanged",function(){angular.copy([],h.userListItems)});h.refreshSearchUserList?angular.copy([],h.userListItems):h.displayedTable=[].concat(h.userListItems);h.UserListAdvancedSearchParams||(h.UserListAdvancedSearchParams=f());h.UserListAdvancedSearchParams&&h.UserListAdvancedSearchParams.Organisation&&(h.UserListAdvancedSearchParams.Organisation={Name:h.UserListAdvancedSearchParams.Organisation});d=!1;h.advancedSearch=function(){h.isFromBookingCalendarCreate==="true"&&(h.UserListAdvancedSearchParams.IsCloudMailbox=!0);h.callAPI(h.UserListAdvancedSearchParams);y="advanced"};h.dropDownBasedSearch=function(){d=!1;h.showOrHideDefaultView();k()};h.renderValuesToDisplay=function(n,t,i){var r="",u;if(i=="Roles"&&angular.isDefined(n[i])){if(n[i].length!=0){for(u=0;u<n[i].length;u++)r=r+"<br>"+n[i][u].RoleDefinition.DisplayName;r=r.substring(4)}}else(i=="OrganisationUnit"||i=="Organisation")&&angular.isDefined(n[i])?n[i]!=null&&(r=n[i].Name):i=="Subscriptions"&&angular.isDefined(n[i])?(angular.forEach(n[i],function(n){r=r!=""?r+", "+n.Description:n.Description}),r.length>t&&(r=r.slice(0,t-3)+"...")):r=i=="Location"&&angular.isDefined(n.IsCloudMailbox)?n.IsCloudMailbox?a.MailboxLocations[0]:n.IsCloudMailbox==!1?a.MailboxLocations[1]:"":n[i];return r};h.renderTitleForTooltipSubscriptions=function(n,t,i){var r="";return i=="Subscriptions"&&angular.isDefined(n)&&(angular.forEach(n,function(n){r=r!=""?r+", "+n.Description:n.Description}),r.length<=t&&(r="")),r};o.$watch(function(){angular.element('[data-toggle="tooltip"]').tooltip({container:"body"})});h.UserPickerCancelClick=function(){angular.copy([],h.selectedUsers);k();h.showAdvancedSearch=!1;e(function(){angular.element(".pagination > li:first-child > a").click()},0,!1);i.currentSource="";h.$emit("UserPickerSelectionCancelled")};h.isCheckCountExceedsLimit=!1;h.checkedCount=function(){return h.displayedTable.filter(function(n){return n.isChecked}).length};h.UserPickerSelectClick=function(){if(h.checkedCount()>h.userPolicyLicenseCount&&h.oganisationListUserPolicyId!==undefined){h.isCheckCountExceedsLimit=!0;return}h.isCheckCountExceedsLimit=!1;k();h.showAdvancedSearch=!1;e(function(){angular.element(".pagination > li:first-child > a").click()},0,!1);h.$emit("UserPickerSelectionDone")};h.showOrHideDefaultView=function(){h.showEmptyTable=!0;h.advancedSearch()};h.searchUserOnEnterAdvanced=function(n){d=!1;n.which===13&&h.showOrHideDefaultView()};h.$watch("displayedTable",function(n){var t=!0;n!=null&&n.length===0&&(t=!1);angular.forEach(h.displayedTable,function(n){n!==undefined&&n.selected!==undefined&&n.selected||(t=!1)});h.allRowsSelected=t?!0:!1});h.$on("$locationChangeSuccess",function(){h.UserPickerCancelClick()})}}}]);userAdminAppDirectivesModule.directive("policyPicker",["$http","$sessionStorage","UserPolicyPickerColumns","UserPolicyPickerSearchParams","$filter","UserPolicyAPI","Config","$timeout",function(n,t,i,r,u,f,e,o){return{templateUrl:"Angular/Apps/UserAdmin/Common/Views/UserPolicyListPicker.html",restrict:"E",scope:{selectedPolicy:"=returnTo",selectedPolicyId:"=giveId"},link:function(n){var s,h;n.animationsEnabled=!1;n.itemsOnPage=e.policyPicker_ItemsOnPage;n.isSearchPolicyProcessingError=!1;n.isSearchPolicyEmpty=!1;s="";n.selectedPolicy="";n.selectedPolicyId="";n.SearchPolicyRequest={};n.isCheckCountExceedsLimit=!1;n.UserPolicyPickerColumns=new i;var c="",l=function(n,i){angular.isUndefined(t.UserPolicyPickerSearchParams)&&(t.UserPolicyPickerSearchParams={});i!=c&&(t.UserPolicyPickerSearchParams={});t.UserPolicyPickerSearchParams=n;t.UserPolicyPickerSearchParams.simpleOrAdvanced=i},a=function(){if(s=="simple"&&n.SearchPolicySimpleSearchParams!=[]){var i={};angular.copy(n.SearchPolicySimpleSearchParams,i);l(i,"simple");i={}}t.SearchPolicyPickerSearchResults=n.SearchPolicyPickerItems},v=function(){angular.isUndefined(t.SearchPolicyPickerSearchResults)&&(t.SearchPolicyPickerSearchResults={});Object.keys(t.SearchPolicyPickerSearchResults).length!=0&&(n.showEmptyTable=!0,n.SearchPolicyPickerItems=t.SearchPolicyPickerSearchResults)};v();n.callAPI=function(t){clearInterval(n.myInterval);clearInterval(n.myInterval);n.isSearchPolicyProcessingError=!1;n.SearchPolicyRequest=t;f.Search(n.SearchPolicyRequest).$promise.then(function(t){t?(n.SearchPolicyPickerItems=u("orderObjectBy")(t,"UserPolicyName"),n.SearchPolicyPickerItems.length==0?(n.isSearchPolicyEmpty=!0,n.SearchPolicyDisplayedTable=[]):(n.isSearchPolicyEmpty=!1,n.SearchPolicyDisplayedTable=[].concat(n.SearchPolicyPickerItems)),a()):n.isSearchPolicyProcessingError=!0})};n.SearchPolicySimpleSearchParams||(n.SearchPolicySimpleSearchParams=r());n.simpleSearch=function(){s="simple";n.callAPI(n.SearchPolicySimpleSearchParams)};n.showOrHideDefaultView=function(){n.showEmptyTable=!0;n.simpleSearch()};n.searchUserOnEnterAdvanced=function(t){check=!1;t.which===13&&n.showOrHideDefaultView()};n.checkedCount=function(){return n.SearchPolicyDisplayedTable.filter(function(n){return n.isChecked}).length};h=function(){n.allRowsSelected=!1;angular.forEach(n.SearchPolicyPickerItems,function(t){t.isChecked=n.allRowsSelected;t.selected=n.allRowsSelected})};n.UserPolicyPickerSelectClick=function(){if(n.isCheckCountExceedsLimit=!1,n.checkedCount()>1){n.isCheckCountExceedsLimit=!0;return}h();n.showAdvancedSearch=!1;o(function(){angular.element(".pagination > li:first-child > a").click()},0,!1);n.$emit("UserPolicyPickerSelectionDone");n.selectedPolicy="";n.selectedPolicyId=""};n.selectUserOnRowClick=function(t){t.isChecked=!t.isChecked;n.UserPolicyPickerCheckboxClick(t)};n.UserPolicyPickerCheckboxClick=function(t){t.isChecked?(angular.forEach(n.SearchPolicyDisplayedTable,function(n){n.isChecked=!1}),t.isChecked=!0,n.selectedPolicy=t.UserPolicyName,n.selectedPolicyId=t.UserPolicyID):(angular.forEach(n.SearchPolicyDisplayedTable,function(n){n.isChecked=!1}),n.selectedPolicy="",n.selectedPolicyId="");event.stopPropagation()};n.UserPolicyPickerCancelClick=function(){n.selectedPolicy="";n.selectedPolicyId="";h();n.showAdvancedSearch=!1;o(function(){angular.element(".pagination > li:first-child > a").click()},0,!1);t.currentSource="";n.$emit("UserPolicyPickerSelectionCancelled")};n.$on("$locationChangeSuccess",function(){n.UserPolicyPickerCancelClick()})}}}]);userAdminAppDirectivesModule.directive("conditionalTooltip",[function(){return{restrict:"A",scope:{tooltipMessage:"=tooltipMessage",key:"=key"},link:function(n,t){n.key=="Subscriptions"&&(t.attr("data-toggle","tooltip"),t.attr("data-html","true"),t.attr("data-placement","top"),t.attr("title",n.tooltipMessage));t.removeAttr("conditional-tooltip");t.removeAttr("key");t.removeAttr("tooltip-message")}}}]);userAdminAppDirectivesModule.directive("userList",["$filter","$rootScope",function(n,t){var i=!1;return{restrict:"E",require:"ngModel",templateUrl:"Angular/Apps/UserAdmin/Common/Views/UserListInputBox.html",scope:{showProperty:"@",min:"@",max:"@",require:"&",currentUser:"=?",displayVersion:"@?",userPicker:"=",userPickerResults:"=",isAdmin:"=admin"},link:function(n,r,u,f){n.test={isCurrentUserIncluded:!1};n.currentuser=u.currentUser===undefined?!1:!0;var e=function(t){return f.$viewValue.length!==0&&!_.every(f.$viewValue,function(i){return n.showProperty===undefined?i!==t:i[n.showProperty]!==t})},o=function(t){return n.showProperty===undefined?t:t[n.showProperty]};f.$render=function(){n.users=n.showProperty===undefined||f.$viewValue.length===0?f.$viewValue:_.pluck(f.$viewValue,n.showProperty);n.test.isCurrentUserIncluded=e(n.currentUser)};n.removeUser=function(t){f.$touched=!0;var i=_.filter(f.$viewValue,function(i){return n.showProperty===undefined?i!==t:i[n.showProperty]!==t});f.$setViewValue(i);n.test.isCurrentUserIncluded=!1;f.$render()};n.max&&(f.$validators.max=function(t){var r=parseInt(n.max);return i||t.length<=r});n.min&&(f.$validators.min=function(t){var r=parseInt(n.min);return i||t.length>=r});n.require!==undefined&&n.$watch(function(){return n.require()},function(n,t){n!==t&&(n?(i=!1,f.$validate()):(i=!0,f.$validate()))},!0);n.addCurrentUser=function(){f.$touched=!0;e(n.currentUser)?n.removeUser(n.currentUser):(f.$setViewValue(f.$viewValue.concat(n.currentUser)),f.$render())};n.addUsers=function(){angular.copy([],n.userPickerResults);f.$touched=!0;var i=t.$on("UserPickerSelectionDone",function(){var t=[],u,e;angular.forEach(n.userPickerResults,function(i){i.Email!=null&&(n.showProperty===undefined?t.push(i.Email):t.push({EmailAddress:i.Email,ID:i.ID,EmailType:i.EmailType}))});u=f.$viewValue.concat(t);e=_.chain(u).sortBy(o).uniq(!0,o).value();f.$setViewValue(e);f.$render();i();r();n.userPicker=!1}),r=t.$on("UserPickerSelectionCancelled",function(){i();r();n.userPicker=!1});n.userPicker=!0};f.$validate()}}}]);userAdminAppDirectivesModule.directive("usersList",["$filter","$rootScope",function(n,t){var i=!1;return{restrict:"E",require:"ngModel",templateUrl:"Angular/Apps/UserAdmin/Common/Views/UsersListCurrentUser.html",scope:{showProperty:"@",min:"@",max:"@",require:"&",currentUser:"=?",userPicker:"=",userPickerResults:"="},link:function(n,r,u,f){var o=function(t){return f.$viewValue.length!==0&&!_.every(f.$viewValue,function(i){return n.showProperty===undefined?i!==t:i[n.showProperty]!==t})},e=function(t){return n.showProperty===undefined?t:t[n.showProperty]};f.$render=function(){n.users=n.showProperty===undefined||f.$viewValue.length===0?f.$viewValue:_.pluck(f.$viewValue,n.showProperty)};n.removeUser=function(t){f.$touched=!0;var i=_.filter(f.$viewValue,function(i){return n.showProperty===undefined?i!==t:i[n.showProperty]!==t});f.$setViewValue(i);n.isCurrentUserIncluded=!1;f.$render()};n.max&&(f.$validators.max=function(t){var r=parseInt(n.max);return i||t.length<=r});n.min&&(f.$validators.min=function(t){var r=parseInt(n.min);return i||t.length>=r});n.require!==undefined&&n.$watch(function(){return n.require()},function(n,t){n!==t&&(n?(i=!1,f.$validate()):(i=!0,f.$validate()))},!0);n.addCurrentUser=function(){f.$touched=!0;n.isCurrentUserIncluded?o(n.currentUser.EmailAddress)||(f.$setViewValue(f.$viewValue.concat(n.currentUser)),f.$render()):n.removeUser(n.currentUser.EmailAddress)};n.addUsers=function(){angular.copy([],n.userPickerResults);f.$touched=!0;var i=t.$on("UserPickerSelectionDone",function(){var t=[],u,o;angular.forEach(n.userPickerResults,function(n){n.Email!=null&&t.push({EmailAddress:n.Email,ID:n.ID,EmailType:n.EmailType})});u=f.$viewValue.concat(t);o=_.chain(u).sortBy(e).uniq(!0,e).value();f.$setViewValue(o);f.$render();i();r();n.userPicker=!1}),r=t.$on("UserPickerSelectionCancelled",function(){i();r();n.userPicker=!1});n.userPicker=!0};f.$setViewValue([]);f.$validate()}}}]),function(){userAdminAppFiltersModule.filter("ChangeNameOnBulkPage",function(){return function(n){switch(n){case"User":return n+"s";case"Shared":return n+" Mailboxes";case"Resource":return n+" Mailboxes";default:return"Items"}}})}();userAdminAppFiltersModule.filter("deviceDateFormat",function(){return function(n,t){var i=[];return angular.forEach(n,function(n){if(n[t]!==null)var r=new Date(n[t]),u=r.getHours()+":"+r.getMinutes()+":"+r.getSeconds(),f=r.getMonth()+1<10?"0"+(r.getMonth()+1):r.getMonth()+1,e=r.getDate()+"-"+f+"-"+r.getFullYear(),o=u+" "+e;n[t]=o;i.push(n)}),i}});userAdminAppFiltersModule.filter("EntitySegregateFilter",["Config","Entities",function(n,t){return function(i){var u=new t,r={},r={smbs:u.smbs,rmbs:u.rmbs,users:u.users,sdls:u.sdls,ddls:u.ddls,O365Group:u.O365Group,UserPolicy:u.UserPolicy};return angular.forEach(i,function(t){t.EntityType===n.Shared?r.smbs.List.push(t):t.EntityType===n.Resource?r.rmbs.List.push(t):t.EntityType===n.Static?r.sdls.List.push(t):t.EntityType===n.Dynamic?r.ddls.List.push(t):t.EntityType===n.Users?r.users.List.push(t):t.EntityType===n.O365Group?r.O365Group.List.push(t):t.EntityType===n.UserPolicy&&r.UserPolicy.List.push(t)}),r}}]);userAdminAppFiltersModule.filter("FirstArrayMinusSecondArray",["$filter",function(n){return function(t,i){var r=[];return angular.forEach(t,function(t){n("filter")(i,t,!0).length==0&&r.push(t)}),r}}]);userAdminAppFiltersModule.filter("CapitalisedInitials",function(){return function(n){var t="",i=n.split(" ");return angular.forEach(i,function(n){t=t+n.charAt(0)}),angular.uppercase(t)}});userAdminAppFiltersModule.filter("capitalize",function(){return function(n,t){var i=t?/([^\W_]+[^\s-]*) */g:/([^\W_]+[^\s-]*)/;return!n?"":n.replace(i,function(n){return n.charAt(0).toUpperCase()+n.substr(1).toLowerCase()})}});userAdminAppControllersModule.filter("orderObjectBy",function(){return function(n,t){var i=[];for(var r in n)r!="$promise"&&r!="$resolved"&&i.push(n[r]);return i.sort(function(n,i){var r="",u="";return n[t]!==null&&i[t]!==null&&n[t]!==undefined&&i[t]!==undefined&&(r=n[t].toLowerCase(),u=i[t].toLowerCase()),r<u?-1:r>u?1:0}),i}}),function(){userAdminAppFiltersModule.filter("OrganisationAddressLengthFilter",function(){return function(n){return n.Address.length>64?(n.Address=n.Address.substring(0,239),n):n}})}();userAdminAppFiltersModule.filter("department",function(){return function(n,t,i){var r=!1,u=0,f=0;return angular.forEach(t,function(n){n.Field==="Organisation"&&n.Condition==="-eq"&&n.Data!=""&&n.ODSCode!=""&&(r=!0);n.Field==="Organisation"&&u++;n.Field==="Department"&&f++}),r?u===1?f>0?t[i].ODSCode!==undefined&&t[i].ODSCode!==""?n:_.filter(n,function(n){return n.name!=="Organisation"}):n:_.filter(n,function(n){return n.name!=="Department"}):_.filter(n,function(n){return n.name!=="Department"})}});userAdminAppFiltersModule.filter("removeDuplicates",function(){return function(n,t){var i=[],r=[];return angular.forEach(n,function(n){var u=n[t];r.indexOf(u)===-1&&(r.push(u),i.push(n))}),i}});userAdminAppFiltersModule.filter("removeElementFromArrayOfObject",function(){return function(n,t,i){var r=[];return angular.forEach(n,function(n){var u=n[t];u!=i&&r.push(n)}),r}});userAdminAppControllersModule.filter("unique",function(){return function(n,t){var i=[],r=[];return angular.forEach(n,function(n){var u=n[t];r.indexOf(u)===-1&&(r.push(u),i.push(n))}),i}});userAdminAppFiltersModule.filter("toArray",function(){"use strict";return function(n){return(n instanceof Object)?Object.keys(n).map(function(t){return Object.defineProperty(n[t],"$key",{__proto__:null,value:t})}):n}}),function(){userAdminAppServicesModule.service("ApiErrorHandler",["growl",function(n){return function(t){var i="Request failed";angular.isDefined(t.data.Errors)&&t.data.Errors.length>0?t.data.Errors[0].Code===51?$location.path("/AccessDenied"):(i+=": "+t.data.Errors[0].Message,i+=": "+t.data.Errors[0].Detail):angular.isDefined(t.data.Message)?i+=": "+t.data.Message:t.status===0&&(i="Request to server timed out");n.error(i,{ttl:1e4});throw t;}}])}();userAdminAppServicesModule.service("ApiResultNotifier",["growl",function(n){var i="notificationHub",r="apiResultNotification",u=".",t;this.connect=function(){t=$.hubConnection(u+"/signalr",{useDefaultPath:!1});var f=t.createHubProxy(i);f.on(r,function(t,i){var r={ttl:2e4,disableCountDown:!0};t?n.success("<b>success:<\/b> "+i,r):n.error("<b>error:<\/b> "+i,r)});t.start().done(function(){}).fail(function(){})};this.disconnect=function(){t&&t.stop()}}]);userAdminAppControllersModule.constant("Config",{XhrTimeout:12e4,XhrContactListTimeout:6e5,DDL_TentantApprovalThreshold:5e4,SDL_MaxRecipients:1e4,DL_NonSpecificSendersMaxRecipients:500,DL_MaxSpecificSenders:100,DL_MaxOwners:25,Contact_DefaultTitle:"Mr",Contact_DefaultUserType:"Employee",ListContacts_ItemsOnPage:10,ListContacts_PredefinedStatus:["Active","Disabled","Deleted","Leaver","NULL","Pending"],ResourceMailboxSize:4,ResourceMailbox_Create_SetTimeout:500,ResourceMailbox_EmailType:["Resource","Room","Unknown","Equipment"],ResourceMailbox_Status:["Pending","Disabled","Suspended","PendingError","Locked","Deleted"],SelfServiceLeaverJoinerReasonForLeaving:["Joining another organisation","Career redirection","Organisation restructuring","Organisation closed"],SharedMailboxSize:4,NewValueDuplicateLength:100,NewValueMembersDuplicateLength:250,EnterKeyPressEventValue:13,Growl_TimeToLeave:1e4,Growl_Telephone:5e3,OrganisationList_ItemsOnPage:10,OrganisationList_PredefinedStatus:["Active","Closed","Pending"],ErrorLimit:100,SharedMailbox_PredefinedStatus:["Active","Disabled","Locked","Deleted","Inactive","Leaver"],SharedMailbox_Emailtypes:["Shared"],Sharedmailbox_neededPermission:"SHARED_MAILBOX_UPDATE",Sharedmailbox_OrgType:"Organisation",Userpicker_UserStatus:["Active","Disabled","Locked","Deleted","Inactive","Leaver"],Userpicker_Emailtypes:["Shared","User","Contact","Resource"],UserPicker_ItemsOnPage:"10",policyPicker_ItemsOnPage:"10",O365subscriptions:["Office 365 Enterprise E1","Office 365 Enterprise E5","Office 365 FrontLine Workers F3","Office 365 Enterprise E3","Office 365 User","Office 365 Administrator","Microsoft 365 E3"],Userpolicypicker_Emailtypes:["User"],UserPolicyPicker_UserStatus:["Active","Disabled","Locked","Inactive","Leaver"],ATPManageUserpicker_Emailtypes:["User"],ATPManageUserpicker_UserStatus:["Active","Disabled","Locked","Inactive"],ATPRoles:["ATP_Global_Admin","ATP_Local_Admin","ATP_SOC_Reporter","ATP_Approver","ATP_Global_Service_Desk","ATP_X26-SOC-ATP-Controllers","ATP_X26-SOC-ATP-Managers","ATP_SRV_Reporter","ATP_EXT_Reporter"],ATPImportMemberLimit:"250",B2BRoles:["B2B_Approver","Invite Guest Users"],ExtOrgStatus:["Active","Rejected","Pending"],FedGroupsStatus:["Pending","Approved Group Details Required","Approved Guest Invite Acknowledgement Required","Initial Sync in Progress","Active","Rejected"],UserList_UserStatus:["Active","Disabled","Locked","Deleted","Inactive","Leaver"],UserList_Emailtypes:["Shared","User","Resource"],UserList_ItemsOnPage:"10",MailboxLocations:["Exchange Online","Exchange On-Premise"],Organisation_MobileDevicePolicy:["Only Allow Compliant Devices","90 Day Password Expiry","8 Character Passwords","8 Character and 90 day expiry Passwords"],Shared:"Shared",Resource:"Resource",Static:"Static",Dynamic:"Dynamic",Users:"User",O365Group:"O365Group",UserPolicy:"UserPolicy",O365LicenceTypes:["PROJECTPROFESSIONAL","PROJECTESSENTIALS","PROJECTPREMIUM"],MaxMicrosoftQouta:24576,TeamsStatus:["Active","Deleted","Pending"],TeamsMaxMembers:2500,TeamsMaxOwners:100,TeamsMaxNameLength:100,TeamsMaxDescriptionLength:250,TeamsNameFormat:"[a-zA-Z0-9-(),\\s]+",Title:[{name:"Mr",value:"Mr"},{name:"Mrs",value:"Mrs"},{name:"Miss",value:"Miss"},{name:"Ms",value:"Ms"},{name:"Dr",value:"Dr"},{name:"Brother",value:"Brother"},{name:"Canon",value:"Canon"},{name:"Father",value:"Father"},{name:"Lady",value:"Lady"},{name:"Lord",value:"Lord"},{name:"Major",value:"Major"},{name:"Nurse",value:"Nurse"},{name:"Professor",value:"Professor"},{name:"Rabbi",value:"Rabbi"},{name:"Reverend",value:"Reverend"},{name:"Right Reverend Monsignor",value:"Right Reverend Monsignor"},{name:"Sir",value:"Sir"},{name:"Sister",value:"Sister"}],YammerPrivacyOptions:[{key:"Private",title:"Private - Only Yammer group owners can add members"},{key:"Public",title:"Public - Anyone on NHSmail can join"}],YammerMaxMembers:2500,YammerMaxOwners:100,YammerMaxNameLength:100,YammerMaxDescriptionLength:250,YammerNameFormat:"[a-zA-Z0-9-(),\\s]+",YammerStatus:["Active","Deleted"],Countries:["England","Scotland","Northern Ireland","Wales","Afghanistan","Albania","Algeria","Andorra","Angola","Antigua & Deps","Argentina","Armenia","Australia","Austria","Azerbaijan","Bahamas","Bahrain","Bangladesh","Barbados","Belarus","Belgium","Belize","Benin","Bhutan","Bolivia","Bosnia Herzegovina","Botswana","Brazil","Brunei","Bulgaria","Burkina","Burundi","Cambodia","Cameroon","Canada","Cape Verde","Central African Rep","Chad","Chile","China","Colombia","Comoros","Congo","Congo (Democratic Rep)","Costa Rica","Croatia","Cuba","Cyprus","Czech Republic","Denmark","Djibouti","Dominica","Dominican Republic","East Timor","Ecuador","Egypt","El Salvador","Equatorial Guinea","Eritrea","Estonia","Ethiopia","Fiji","Finland","France","Gabon","Gambia","Georgia","Germany","Ghana","Greece","Grenada","Guatemala","Guinea","Guinea-Bissau","Guyana","Haiti","Honduras","Hungary","Iceland","India","Indonesia","Iran","Iraq","Ireland (Republic)","Israel","Italy","Ivory Coast","Jamaica","Japan","Jordan","Kazakhstan","Kenya","Kiribati","Korea North","Korea South","Kosovo","Kuwait","Kyrgyzstan","Laos","Latvia","Lebanon","Lesotho","Liberia","Libya","Liechtenstein","Lithuania","Luxembourg","Macedonia","Madagascar","Malawi","Malaysia","Maldives","Mali","Malta","Marshall Islands","Mauritania","Mauritius","Mexico","Micronesia","Moldova","Monaco","Mongolia","Montenegro","Morocco","Mozambique","Myanmar, (Burma)","Namibia","Nauru","Nepal","Netherlands","New Zealand","Nicaragua","Niger","Nigeria","Norway","Oman","Pakistan","Palau","Panama","Papua New Guinea","Paraguay","Peru","Philippines","Poland","Portugal","Qatar","Romania","Russian Federation","Rwanda","St Kitts & Nevis","St Lucia","Saint Vincent & the Grenadines","Samoa","San Marino","Sao Tome & Principe","Saudi Arabia","Senegal","Serbia","Seychelles","Sierra Leone","Singapore","Slovakia","Slovenia","Solomon Islands","Somalia","South Africa","South Sudan","Spain","Sri Lanka","Sudan","Suriname","Swaziland","Sweden","Switzerland","Syria","Taiwan","Tajikistan","Tanzania","Thailand","Togo","Tonga","Trinidad & Tobago","Tunisia","Turkey","Turkmenistan","Tuvalu","Uganda","Ukraine","United Arab Emirates","United States","Uruguay","Uzbekistan","Vanuatu","Vatican City","Venezuela","Vietnam","Yemen","Zambia","Zimbabwe"]});userAdminAppServicesModule.service("HttpParamSerializerPolyfillService",function(){function i(n){return Object.keys(n).sort()}function r(n,t,r){for(var u=i(n),f=0;f<u.length;f++)t.call(r,n[u[f]],u[f]);return u}function n(n,t){return encodeURIComponent(n).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%20/g,t?"%20":"+")}function t(n){return e(n)?angular.isDate(n)?n.toISOString():angular.toJson(n):n}function u(n){return typeof n=="undefined"}function e(n){return n!==null&&typeof n=="object"}var f=Array.isArray;this.serialize=function(i){if(!i)return"";var e=[];return r(i,function(i,r){i===null||u(i)||(f(i)?angular.forEach(i,function(i){e.push(n(r)+"="+n(t(i)))}):e.push(n(r)+"="+n(t(i))))}),e.join("&")}});userAdminAppServicesModule.factory("JwtTokenAuthenticationInterceptor",["$q","$window","$injector",function(n,t,i){return{request:function(t){var r,f,e,o,u;return t.url.endsWith("GetJwtTokenFromPrincipal")||t.url.endsWith(".html")?t:(r=t.headers.Authorization.replace("Bearer ",""),f=!1,r!==undefined&&r!=="null"&&(e=r.split("."),o=$.base64.atob(e[1]),f=Math.round((new Date).getTime()/1e3)<=angular.fromJson(o).exp),!f)?(sessionStorage.removeItem("JWToken"),sessionStorage.removeItem("JWTPermission"),u=n.defer(),i.get("JWTtoken").fetchPermissions().then(function(){var n="Bearer "+sessionStorage.getItem("JWToken");t.headers.Authorization=n;u.resolve(t)},function(){u.reject()}),u.promise):t}}}]);userAdminAppControllersModule.factory("O365API",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var r="Request failed";angular.isDefined(n.data.ModelState)&&angular.isDefined(n.data.ModelState["sharePoint.SharePointURL"][0])?r=n.data.ModelState["sharePoint.SharePointURL"][0]:angular.isDefined(n.data.Result.Errors)&&n.data.Result.Errors.length>0?n.data.Result.Errors[0].ErrorCode===51?i.path("/AccessDenied"):n.data.Result.Errors[0].ErrorCode===102?r=n.data.Result.Errors[0].Message:(r+=": "+n.data.Result.Errors[0].Message,r+=". "+n.data.Result.Errors[0].Detail):angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");t.error(r,{ttl:1e4})}return n(baseUrlValue,{},{GetSharePointURL:{method:"GET",isArray:!0,url:baseUrlValue+"Configuration",interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppServicesModule.factory("PermissionChecker",[function(){var t=[],n=[];return{contains:function(n){var r=sessionStorage.getItem("JWTPermission"),i=angular.fromJson(r),t;if(i.length!==0)for(t=0;t<i.length;t++)if(i[t].PermissionCode===n)return!0;return!1},getRoleName:function(){var t=sessionStorage.getItem("JWTPermission"),i=null,n;if(t!=null)return n=angular.fromJson(t),n.length!==0&&(i=n[0].RoleName),i},populateRoleNames:function(){var n=sessionStorage.getItem("JWTPermission"),i;n!=null&&(i=angular.fromJson(n),i.forEach(function(n){var i=n.RoleName==="Local Admin",r=n.RoleName==="Authorisations",u=n.RoleName==="Local Primary Admin",f=n.RoleName==="Tenant Admin";(i||r||u||f)&&t.push(n.RoleName)}))},getRoleNames:function(){return t},getUserRoles:function(){var t=sessionStorage.getItem("JWTPermission"),i;return t!=null&&(i=angular.fromJson(t),i.forEach(function(t){n.indexOf(t.RoleName)==-1&&n.push(t.RoleName)})),n}}}]);userAdminAppControllersModule.factory("PicklistAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var r="Request failed";angular.isDefined(n.data.Errors)&&n.data.Errors.length>0?n.data.Errors[0].Code===51?i.path("/AccessDenied"):(r+=": "+n.data.Errors[0].Message,r+=". "+n.data.Errors[0].Detail):angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");t.error(r,{ttl:1e4})}return n(baseUrlValue,{},{GetClinicalRole:{method:"GET",isArray:!0,url:baseUrlValue+"GetClinicalRole",interceptor:{responseError:u},timeout:r.XhrTimeout},GetClinicalSpeciality:{method:"GET",isArray:!0,url:baseUrlValue+"GetClinicalSpeciality",interceptor:{responseError:u},timeout:r.XhrTimeout},GetWorkArea:{method:"GET",isArray:!0,url:baseUrlValue+"GetWorkAreaDetails",interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppServicesModule.factory("ConvertEntityService",function(){return{setValuesFromSource:function(n){this.storedObject=n;this.storedObject.requestfromContact=!0},getValuestoDestination:function(){return this.storedObject},clearServiceInstance:function(){},setEmailTypesSources:function(n){this.storedTypes=n},getEmailTypesSources:function(){return this.storedTypes}}});userAdminAppServicesModule.factory("GlobalDataService",[function(){var n={setOutOfOfficeUserData:function(t){n.outOfOfficeUserData.email=t},getOutOfOfficeUserData:function(){return n.outOfOfficeUserData},outOfOfficeUserData:{email:null},organisationList:[]};return n}]);userAdminAppServicesModule.factory("DirectiveHelpers",[function(){return{IsValidEmail:function(n){if(angular.isDefined(n)){if(n.length==0)return!0}else return!0;return/^[a-zA-Z0-9-'_.]+[@]([a-zA-Z0-9-]+\.)+[a-zA-Z]+$/.test(n)},IsValidPhoneNumber:function(n){var i;if(n!=undefined&&n!=null){var t=(n.match(/[0-9]/g)||[]).length,r=n.length;return r==0?!0:t>50||t<8?!1:(i=/^[+\-()\[\]extEXT#\s\d]*$/,i.test(n))}return!0},IsValidNumber:function(n){if(n!=undefined&&n!=""){var t=new RegExp("^[0-9]+$");return t.test(n)}return!0},IsValidNonNhsEmail:function(n){n=angular.lowercase(n);if(angular.isDefined(n)){if(n.length==0)return!0}else return!0;return/^[a-zA-Z0-9_'.-]+[@]([a-zA-Z0-9-]+\.)+[a-zA-Z]+$/.test(n)?!/[@](([a-zA-Z]+\.)?)+nhs.net$/i.test(n)||/[@]nhs.uk$/i.test(n)?!0:!1:!1},IsValidNhsEmailName:function(n){n=angular.lowercase(n);return angular.isDefined(n)&&n.length==0?!0:/^[-a-zA-Z0-9\'.]+$/.test(n)?!0:!1},IsValidEmailName:function(n){n=angular.lowercase(n);return angular.isDefined(n)&&n.length==0?!0:/^[a-zA-Z.]+$/.test(n)?!0:!1},IsValidSharedEmailName:function(n){n=angular.lowercase(n);return angular.isDefined(n)&&n.length==0?!0:/^[a-zA-Z0-9-_.]+$/.test(n)?!0:!1},IsValidNhsEmail:function(n){if(angular.isDefined(n)){if(n.length==0)return!0}else return!0;return/^[a-zA-Z0-9_.]+[@]([a-zA-Z0-9]+\.)+[a-zA-Z]+$/.test(n)?/[@]nhs.net$/i.test(n)?!0:!1:!1},IsValidNhsEmailWithDomain:function(n,t){var i=/[@]nhs.net$/i;if(t&&(i=new RegExp(t+"$","i")),angular.isDefined(n)){if(n.length==0)return!0}else return!0;return/^[a-zA-Z0-9_.]+[@]([a-zA-Z0-9]+\.)+[a-zA-Z]+$/.test(n)?i.test(n)?!0:!1:!1},IsMultipleValidNhsEmail:function(n,t){var r=n.split(","),e,u,f;if(angular.isDefined(r)){if(r.length==1&&r[0]=="")return!0}else return!0;for(e=/^[a-zA-Z0-9_.]+[@]([a-zA-Z0-9]+\.)+[a-zA-Z]+$/,u=/[@]nhs.net$/i,t&&(u=new RegExp(t+"$","i")),f=!0,i=0;i<r.length;i++)if(emailAddr=r[i],e.test(emailAddr))if(u.test(emailAddr))f=!0;else return!1;else return!1;return f},IsMultipleValidEmail:function(n){var t=n.split(","),u,r;if(angular.isDefined(t)){if(t.length==1&&t[0]=="")return!0}else return!0;for(u=/^[a-zA-Z0-9_.]+[@]([a-zA-Z0-9]+\.)+[a-zA-Z]+$/,r=!0,i=0;i<t.length;i++)if(emailAddr=t[i],u.test(emailAddr))r=!0;else return!1;return r},IsValidName:function(n){return angular.isDefined(n)?n.length==0?!0:n.match(/\s{2,}/)?!1:/^[a-zA-Z0-9-()\'\s&\[\]\/\.,:]+$/.test(n)?!0:!1:!0},IsValidUserName:function(n){return angular.isDefined(n)?n.length==0?!0:n.match(/\s{2,}/)?!1:/^[a-zA-Z0-9-\'\s]+$/.test(n)?!0:!1:!0},IsValidUnderScoreUserName:function(n){return angular.isDefined(n)?n.length==0?!0:n.match(/\s{2,}/)?!1:/^[a-zA-Z0-9\_\s]+$/.test(n)?!0:!1:!0},IsValidUserAdminSharePointName:function(n){return angular.isDefined(n)?n.length==0?!0:/^[a-zA-Z0-9\_]+$/.test(n)?!0:!1:!0},IsValidAuditTargetObjectName:function(n){if(angular.isDefined(n)){if(n.length==0)return!0}else return!0;return/^[a-zA-Z0-9-_.\s';/,()&\[\]:]*[@]?[a-zA-Z0-9-_.\s]*$/.test(n)},IsValidDLName:function(n){return angular.isDefined(n)?n.length==0?!0:n.match(/\s{1,}/)?!1:/^[a-zA-Z0-9-()\'\s&\[\]\/\.,:]+$/.test(n)?!0:!1:!0},IsValidOrganisationName:function(n){return angular.isDefined(n)&&n.match(/\s{2,}/)?!1:/^[a-zA-Z0-9-()\'\s&\[\]\/\.,:]+$/.test(n)?!0:!1},IsValidOrganisationDescription:function(n){return/[\<\>\\\/]/.test(n)?!1:!0},IsValidSharedMailBoxName:function(n){return angular.isDefined(n)&&n.match(/\s{1,}/)?!1:/^[a-zA-Z0-9-()&',\[\]\s\.]+$/.test(n)?!0:!1},IsValidURL:function(n){return angular.isDefined(n)?n.length==0?!0:/^((?:https?\:\/\/|http\.)(?:[-a-z0-9]+\.)*[-a-z0-9]+.*)+[.]+[a-zA-Z0-7/@?^=%&amp;\/~+#-]+$/.test(n):!0},IsValidDomainName:function(n){return angular.isDefined(n)?n.length==0?!0:/^(?:[a-z0-9](?:[a-z0-9-_:/*]{0,100}[a-z0-9])?\.)+[a-z0-9][a-z0-9-_:/*]{0,100}[a-z0-9]+$/.test(n):!0},IsValidDescription:function(n){return/^[ a-z0-9A-Z~!@+#=\$%^\&\*\_\-`|\\\(\){}\[\]\:\;\"\'\<\>\,\.\?\/]*$/.test(n)?!0:!1},IsValidNotes:function(n){return/^[ a-z0-9A-Z!@#=\$%\&\_\-\\(\)[\]\"\,\+\*\^\.\?\n\r:]*$/.test(n)?!0:!1},IsValidCustomAttributes:function(n){return/^[ a-zA-Z\d\s]*$/.test(n)?!0:!1},IsValidShortname:function(n){return angular.isDefined(n)?n.length==0?!0:/^[a-z0-9-]{1,15}$/.test(n):!0},IsValidShortnameLength:function(n,t){if(angular.isDefined(n)){if(n.length>0||n.length==0&&t=="Pending")return!0;if(n.length==0&&t!="Pending")return!1}},IsValidID:function(n){return angular.isDefined(n)?n.length==0?!0:/^\b[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-\b[0-9a-fA-F]{12}\b$/.test(n):!0},IsValidADTenantName:function(n){return angular.isDefined(n)?n.length==0?!0:/.onmicrosoft.com$/.test(n)&&/^[a-zA-Z0-9-()\'\s&\[\]\/\.,:]+$/.test(n)?!0:!1:!0},IsValidADGroupName:function(n){return angular.isDefined(n)?n.length==0?!0:/^[a-zA-Z0-9-_(){}'&.,`~!#$%^\s]+$/.test(n)?!0:!1:!0},IsValidEmailSize:function(n,t){return!n.isMailBoxSizeSubscriptionModalEnabled||!n.userDetails.IsCloudMailbox||n.countLargeMailboxes<n.quotaLimitSize||t===""||t==4}}}]);userAdminAppServicesModule.factory("Entities",["Config",function(n){return function(){return{smbs:{Type:n.Shared,List:[]},rmbs:{Type:n.Resource,List:[]},users:{Type:n.User,List:[]},sdls:{Type:n.Static,List:[]},ddls:{Type:n.Dynamic,List:[]},O365Group:{Type:n.O365Group,List:[]},UserPolicy:{Type:n.UserPolicy,List:[]}}}}]);userAdminAppServicesModule.factory("JWTtoken",["$http","$q","$timeout","$interval","growl",function(n,t,i,r,u){var f={getNewJWT:function(){return n.get(baseUrl+"TokenAPI/GetJwtTokenFromPrincipal").then(function(t){sessionStorage.setItem("JWToken",t.data);n.defaults.headers.common.Authorization="Bearer "+t.data},function(){location.reload()})},getPermissions:function(t){return n({method:"POST",url:baseUrlValue+"GetPermissionsBasedOnUserRole",data:{InputToken:t}}).then(function(n){var t=angular.toJson(n.data,!0);sessionStorage.setItem("JWTPermission",t)},function(){u.error("There was a problem authenticating your session please login again")})},fetchPermissions:function(){var n=sessionStorage.getItem("JWToken"),t=sessionStorage.getItem("JWTPermission");return n&&t?!0:this.getNewJWT().then(function(){return f.getPermissions()})}};return f}]),function(){userAdminAppServicesModule.factory("FetchMailboxCount",["Config","$resource",function(n,t){function i(t){var i="Request failed";angular.isDefined(t.data.Errors)&&t.data.Errors.length>0?t.data.Errors[0].Code===51?$location.path("/AccessDenied"):(i+=": "+t.data.Errors[0].Message,i+=". "+t.data.Errors[0].Detail):angular.isDefined(t.data.Message)?i+=": "+t.data.Message:t.status===0&&(i="Request to server timed out");growl.error(i,{ttl:n.Growl_TimeToLeave})}return t(baseUrlValue+"admin/audit/mailboxcount",{},{Get:{method:"GET",params:{listAuditRequest:"@listAuditRequest"},url:baseUrlValue+"admin/audit/mailboxcount/:listAuditRequest",interceptor:{responseError:i},timeout:n.XhrTimeout}})}])}(),function(){userAdminAppServicesModule.factory("FetchUPN",["$resource","$location","growl","Config",function(n,t,i,r){function u(n){$(".modal-backdrop").remove();var u="Request failed";n.data?angular.isDefined(n.data.Errors)&&n.data.Errors.length>0?n.data.Errors[0].Code===51?t.path("/AccessDenied"):(u+=": "+n.data.Errors[0].Message,u+=". "+n.data.Errors[0].Detail):angular.isDefined(n.data.Message)&&(u+=": "+n.data.Message):n.status===0&&(u="Request to server timed out");i.error(u,{ttl:r.Growl_TimeToLeave})}return n(baseUrlValue+"",{},{Get:{method:"GET",url:baseUrlValue+"admin/useraccounts/me",interceptor:{responseError:u},timeout:r.XhrTimeout}})}])}();userAdminAppServicesModule.factory("GenericUserListVisibleColumns",function(){return function(){this.FirstName=!1;this.LastName=!1;this.DisplayName=!0;this.Email=!0;this.JobTitle=!1;this.MobilePhone=!1;this.OfficePhone=!0;this.Fax=!1;this.Status=!0;this.EmailType=!0;this.MailboxStatus=!0;this.Pager=!1;this.ClinicalRole=!1;this.WorkArea=!1;this.ClinicalSpeciality=!1;this.AdminRole=!1;this.Subscriptions=!1;this.Organisation=!1;this.OrganisationUnit=!1}});userAdminAppServicesModule.factory("GenericUserListColumns",function(){return function(){return[{title:"First Name",key:"FirstName"},{title:"Last Name",key:"LastName"},{title:"Display Name",key:"DisplayName"},{title:"Job title",key:"JobTitle"},{title:"Mailbox Type",key:"EmailType"},{title:"Status",key:"Status"},{title:"Email",key:"Email"},{title:"Telephone",key:"OfficePhone"},{title:"Mobile Phone",key:"MobilePhone"},{title:"Pager",key:"Pager"},{title:"Fax",key:"Fax"},{title:"Admin Role",key:"AdminRole"},{title:"Subscriptions",key:"Subscriptions"},{title:"Organisation Name",key:"Organisation"},{title:"Organisation Unit Name",key:"OrganisationUnit"}]}});userAdminAppServicesModule.factory("OrganisationObjectHelperService",[function(){var n={getPathOfOUinOrgAsName:function(n){var i="",t;if(n!=null)for(i=n.Name,t=n;t.ParentOrganisation!=null;)i=t.ParentOrganisation.Name+" > "+i,t=t.ParentOrganisation;return i},getPathOfNodeInTreeObject:function(t,i,r){if(t.ID==i.ID)return r;if(i.ChildOrganisations.length>0){var u=null;return angular.forEach(i.ChildOrganisations,function(i,f){var e=r+".ChildOrganisations["+f+"]";(u==null||u==undefined)&&(u=n.getPathOfNodeInTreeObject(t,i,e))}),u}return null},getExpandedTreeNodesTillSelectedNode:function(t,i,r){if(t.ID==i.ID)return r.length==0?r:(r.pop(),r);if(i.ChildOrganisations.length>0){var u=null;return r.length==0&&u==null&&r.push(i),angular.forEach(i.ChildOrganisations,function(i){var f=[].concat(r);f.push(i);(u==null||u==undefined)&&(u=n.getExpandedTreeNodesTillSelectedNode(t,i,f))}),u}return null},getNamePathOfNodeInTreeObjectRecursiveSearch:function(t,i,r){if(t.ID==i.ID)return r==""||r==null||r==undefined?t.Name:r;if(i.ChildOrganisations.length>0){var u=null;return(r==""||r==null||r==undefined)&&u==null&&(r=i.Name),angular.forEach(i.ChildOrganisations,function(i){var f=r+" > "+i.Name;(u==null||u==undefined)&&(u=n.getNamePathOfNodeInTreeObjectRecursiveSearch(t,i,f))}),u}return null},setValueForAKeyInAllNodesOfTree:function(t,i,r){return r[t]=i,r.ChildOrganisations.length>0&&angular.forEach(r.ChildOrganisations,function(r){r[t]=i;r.ChildOrganisations.length>0&&n.setValueForAKeyInAllNodesOfTree(t,i,r)}),null},isValidShortname:function(n){return n===undefined||n===null||n===""?!1:!0}};return n}]);userAdminAppServicesModule.factory("ResetPasswordService",function(){return{setValuesFromSource:function(n){this.storedObject=n},getValuestoDestination:function(){return this.storedObject},clearServiceInstance:function(){}}});userAdminAppServicesModule.factory("UserPolicyPickerColumns",function(){return function(){return[{title:"Organisation",key:"OrganisationName"},{title:"Policy Name",key:"UserPolicyName"},{title:"Licence Description",key:"LicenceDescription"}]}});userAdminAppServicesModule.factory("UserPolicyPickerSearchParams",function(){return function(){return{OrganisationName:"",UserPolicyName:"",LicenceDescription:""}}}),function(){userAdminAppServicesModule.factory("ViewOrganisationAPI",["$resource","Config","growl",function(n,t,i){function r(n){$(".modal-backdrop").remove();var r="Request failed";angular.isDefined(n.data.Errors)&&n.data.Errors.length>0?n.data.Errors[0].Code===51?$location.path("/AccessDenied"):(r+=": "+n.data.Errors[0].Message,r+=". "+n.data.Errors[0].Detail):angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");i.error(r,{ttl:t.Growl_TimeToLeave})}return n(baseUrlValue+"",{},{ViewOrganisation:{method:"POST",url:baseUrlValue+"ViewOrganisation",interceptor:{responseError:r},timeout:t.XhrTimeout}})}])}();userAdminAppControllersModule.controller("CreateUserController",["$scope","$http","$location","$filter","$timeout","growl","ConvertEntityService","$routeParams","OrganisationObjectHelperService","PicklistAPI","UserAPI","PasswordService",function(n,t,i,r,u,f,e,o,s,h,c,l){function w(){n.userDetails={};n.userDetails.Title=n.ConvertedContact.Title;n.userDetails.firstName=n.ConvertedContact.FirstName;n.userDetails.lastName=n.ConvertedContact.LastName;n.userDetails.displayName=n.ConvertedContact.DisplayName;n.userDetails.mobilePhone=n.ConvertedContact.MobileNumber;n.userDetails.officePhone=n.ConvertedContact.Telephone;n.userDetails.Pager=n.ConvertedContact.Pager;n.userDetails.Fax=n.ConvertedContact.Fax;n.userDetails.ClinicalSpeciality=n.ConvertedContact.ClinicalSpeciality;n.userDetails.ClinicalRole=n.ConvertedContact.ClinicalRole;n.userDetails.WorkArea=n.ConvertedContact.WorkArea;n.userDetails.Organisation=n.ConvertedContact.Organisation;n.userDetails.OrganisationUnit=n.ConvertedContact.OrganisationUnit;n.userDetails.notes=n.ConvertedContact.Notes;n.selectedContactOrganisationName=n.ConvertedContact.Organisation.Name;n.SelectedOrganisationID=n.ConvertedContact.Organisation.ID;n.SelectedOrganisation=n.ConvertedContact.Organisation;n.isOrganisationSeleted=!0;n.selectEditText="Edit"}function y(){n.userDetails={};n.userDetails.firstName="";n.userDetails.lastName="";n.userDetails.displayName="";n.isOrganisationSeleted=!1;n.ConvertedContact=undefined;n.isRequestfromContactPage=!1;n.userDetails.Organisation={};n.selectEditText="Select";n.SelectedOrganisation={}}var a=o.param,v,p;n.isRequestfromContactPage=a;n.SelectedOrganisation={};n.selectedContactOrganisationName="";n.userDetails={};n.selectEditText="";a?(n.ConvertedContact=e.getValuestoDestination(),n.ConvertedContact!=undefined?w():y()):y();n.selectOtherEmail=!0;n.IsCreateExoUserFeatureSelected=!1;n.userDetails.suggestEmailText="Select Other Email";n.userDetails.email="";n.userDetails.emailCheckError=!1;n.userDetails.emailCheckSuccess=!1;n.domain=domainAddress;n.userDetails.emailSize=4;n.userDetails.emailType="user";n.treedata=[];n.selected={};n.expandedNodes=[];n.currentNode;n.isMailBoxLimitReached=!1;n.isEditSubscriptionPermissionPresent=!1;n.siteDetails=[];v={ttl:2e4,disableCountDown:!0};n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.TitleList=[{name:"Mr",value:"Mr"},{name:"Mr.",value:"Mr."},{name:"Mrs",value:"Mrs"},{name:"Miss",value:"Miss"},{name:"Ms",value:"Ms"},{name:"Dr",value:"Dr"},{name:"Brother",value:"Brother"},{name:"Canon",value:"Canon"},{name:"Father",value:"Father"},{name:"Lady",value:"Lady"},{name:"Lord",value:"Lord"},{name:"Major",value:"Major"},{name:"Nurse",value:"Nurse"},{name:"Professor",value:"Professor"},{name:"Rabbi",value:"Rabbi"},{name:"Reverend",value:"Reverend"},{name:"Right Reverend Monsignor",value:"Right Reverend Monsignor"},{name:"Sir",value:"Sir"},{name:"Sister",value:"Sister"}];n.hideCustomError=function(){n.userDetails.emailCheckSuccess=!1;n.userDetails.emailCheckError=!1};c.GetCreateUserFeatureOption().$promise.then(function(t){n.IsCreateExoUserFeatureSelected=t.option==="true"});n.checkAvailableButtonClick=function(){n.createUser_form.createUserInputEmailCopy.$setDirty();n.userDetails.email=n.userDetails.mailBoxEmail+n.domain;t({method:"POST",url:baseUrlValue+"CheckEmailAvailability",data:n.userDetails}).success(function(t){t?(n.userDetails.emailCheckError=!1,n.userDetails.emailCheckSuccess=!0):(n.userDetails.emailCheckError=!0,n.userDetails.emailCheckSuccess=!1)})};n.getEmailSuggestion=function(){n.userDetails.firstName!=""&&n.userDetails.firstName!=undefined&&n.userDetails.lastName!=""&&n.userDetails.lastName!=undefined?(n.suggestEmail={},n.suggestEmail.firstName=angular.lowercase(n.userDetails.firstName.replace(/\s+/g,"")),n.suggestEmail.lastName=angular.lowercase(n.userDetails.lastName.replace(/\s+/g,"")),n.suggestEmail.domainAddress=n.domain,t({method:"POST",url:baseUrlValue+"GetEmailSuggestion",data:n.suggestEmail}).success(function(t){n.userDetails.email_list=t}).error(function(){f.error("<b>error: Couldn't get email suggestions for name. Please re-enter name.",v)})):n.userDetails.email_list=[]};n.userDetails.Type="Employee";n.emailSkype="Email & Teams";n.SetRandomPassword=function(){n.userDetails.Password=l.GenerateRandomPassword(!1)};n.CreateUserSubmitClick=function(i){if($("#createUser_formResult").removeClass("alert-success alert-danger").html(""),!i.$invalid){if(n.selectOtherEmail)if(n.createUser_form.createUserSelectEmail.$setDirty(),n.createUser_form.createUserSelectEmail.$valid)n.userDetails.email=angular.lowercase(n.userDetails.mailBoxSelectEmail)+n.domain;else return!1;else if(n.createUser_form.createUserInputEmailCopy.$setDirty(),n.createUser_form.createUserInputEmailCopy.$valid)n.userDetails.email=angular.lowercase(n.userDetails.mailBoxEmail)+n.domain;else return!1;n.userDetails.email&&t({method:"POST",url:baseUrlValue+"CheckEmailAvailability",data:n.userDetails}).success(function(t){if(t)n.userDetails.emailCheckError=!1,n.userDetails.Organisation={ID:n.SelectedOrganisation.ID,Name:n.SelectedOrganisation.Name,Country:n.currentNode.Country,County:n.currentNode.County,ODSCode:n.SelectedOrganisation.ODSCode,isSecondaryEmailAliasEnabled:n.currentNode.IsSecondaryEmailAliasEnabled},n.userDetails.OrganisationUnit={ID:n.currentNode.ID,Name:n.currentNode.Name,ODSCode:n.currentNode.ODSCode,isSecondaryEmailAliasEnabled:n.currentNode.IsSecondaryEmailAliasEnabled},n.createUser(i);else return n.userDetails.emailCheckError=!0,!1})}};n.createUser=function(){n.userDetails.O365ArchivingEnabled=!0;n.userDetails.emailSize=4;n.userDetails.emailType="user";n.SelectedSiteId!=""&&n.SelectedSiteId!=undefined&&(n.userDetails.siteId=n.SelectedSiteId);a&&n.ConvertedContact!=undefined?n.ConvertedContact!=undefined&&t({method:"post",url:baseUrlValue+"ConvertContactToUser/"+n.ConvertedContact.ID,data:n.userDetails}).success(function(t){n.userDetails=t;i.path("/")}):t({method:"post",url:baseUrlValue+"CreateUserAndMailbox",data:n.userDetails}).success(function(t){n.userDetails=t;i.path("/")}).error(function(n){var t="<b>error<\/b> : User creation failed with following error: ",i;if(n.Errors){for(t+="<ul>",i=0;i<n.Errors.length;i++)t+="<li>"+n.Errors[i].Message+"<\/li>";t+="<\/ul>"}else t+=" status code "+n.status;f.error(t,v)})};n.CreateUserCancelClick=function(){window.history.back()};a||(n.userDetails.firstName="",n.userDetails.lastName="",n.userDetails.displayName="");p=n.$watchGroup(["userDetails.firstName","userDetails.lastName","SelectedOrganisation.Name"],function(t,i){n.firstNameCopy="";n.lastNameCopy="";n.SelectedOrganisationCopy="";(t[0]!==i[0]||t[1]!==i[1]||t[2]!==i[2])&&(n.firstNameCopy=n.createUser_form.createUserInputFirstName.$valid&&n.userDetails.firstName!=undefined?r("capitalize")(n.userDetails.firstName,!0):"",n.lastNameCopy=n.createUser_form.createUserInputLastName.$valid&&n.userDetails.lastName!=undefined?n.userDetails.lastName.toUpperCase():"",n.SelectedOrganisationCopy=n.createUser_form.createUserSelectOrganisation.$valid&&n.SelectedOrganisation.Name!=undefined?n.SelectedOrganisation.Name:"",n.userDetails.displayName=n.userDetails.firstName!=""||n.userDetails.lastName!=""?n.lastNameCopy+", "+n.firstNameCopy+" ("+n.SelectedOrganisationCopy.toUpperCase()+")":"",n.lastNameCopy==""&&n.firstNameCopy==""&&(n.userDetails.displayName=""),(n.lastNameCopy==""||n.firstNameCopy=="")&&(n.userDetails.email_list=[],n.userDetails.mailBoxSelectEmail=""))});n.$watch("userDetails.firstName+userDetails.lastName",function(t,i){n.firstNameCopy="";n.lastNameCopy="";t!=i?n.createUser_form.createUserInputFirstName.$valid&&n.createUser_form.createUserInputLastName.$valid&&(n.userDetails.email_list=[],n.userDetails.mailBoxSelectEmail="",n.getEmailSuggestion()):a==!0&&i!=""&&n.createUser_form.createUserInputFirstName.$valid&&n.createUser_form.createUserInputLastName.$valid&&(n.userDetails.email_list=[],n.userDetails.mailBoxSelectEmail="",n.getEmailSuggestion())});n.stopUpdating=function(){p()};$(function(){$('[data-toggle="tooltip"]').tooltip()});n.userDetails.Subscriptions=[{ID:1,Description:"Email & Teams"}];n.userSubscriptionChange=function(t,i){if(i){var u={ID:t,Description:i};n.userDetails.Subscriptions.push(u)}else n.userDetails.Subscriptions=r("filter")(n.userDetails.Subscriptions,function(n){return n.ID!==t})};n.modalMarkupLoaded=function(){if(a&&n.ConvertedContact!=undefined&&(angular.copy([],n.treedata),t({method:"POST",url:baseUrlValue+"ViewOrganisation?dropdown=true",data:n.SelectedOrganisation}).success(function(t){n.isOrganisationSeleted=!0;a&&n.ConvertedContact!=undefined&&(n.isOrganisationSeleted=!1);n.treedata.push(t);var i=s.getPathOfNodeInTreeObject(n.ConvertedContact.OrganisationUnit,n.treedata[0],"treedata[0]");angular.copy([],n.expandedNodes);n.expandedNodes=s.getExpandedTreeNodesTillSelectedNode(n.$eval(i),n.treedata[0],[]);n.currentNode=n.$eval(i);n.originallySelectedNodeBeforeEdit=n.$eval(i);n.currentNode=n.originallySelectedNodeBeforeEdit}).error(function(){f.error("<b>error: couldn't get details for organisation",v)}),c.GetSiteList({id:n.SelectedOrganisation.ID}).$promise.then(function(t){n.siteDetails=t;n.siteNameAndOdsCode()}),n.ConvertedContact!=null)){var i={};i.user=null;i.startDate=moment().startOf("month").toISOString();i.endDate=moment().toISOString();i.targetObject=null;i.targetOrganisation=n.SelectedOrganisation.ID;i.actions=["Create"];i.objectTypes=["User Mailbox","Shared Mailbox","Organisation"];t({method:"GET",url:baseUrlValue+"admin/audit/mailboxcount",params:i}).success(function(t){n.mailboxCount=t}).error(function(){f.error("<b>error: failed to retrieve mailbox creation limit for organisation",v)})}n.editWorkAreaIsActive=!1;n.editClinicalSpecialityIsActive=!1;n.editClinicalRolesIsActive=!1;n.getWorkAreaDetails=function(){n.editWorkAreaIsActive=!0;n.workArea=h.GetWorkArea()};n.getClinicalSpecialityDetails=function(){n.editClinicalSpecialityIsActive=!0;n.clinicalSpeciality=h.GetClinicalSpeciality()};n.getClinicalRoleDetails=function(){n.editClinicalRolesIsActive=!0;n.clinicalRole=h.GetClinicalRole()}};n.modalMarkupLoaded();n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.organisationChange()};n.organisationChange=function(){if(n.SelectedOrganisation!=null&&n.SelectedOrganisation!="undefined"){angular.copy([],n.treedata);t({method:"POST",url:baseUrlValue+"ViewOrganisation?dropdown=true",data:n.SelectedOrganisation}).success(function(t){n.isOrganisationSeleted=!0;n.treedata.push(t);n.expandedNodes=[n.treedata[0]];n.currentNode=n.treedata[0]}).error(function(){f.error("<b>error: couldn't get details for organisation",v)});var i={};i.user=null;i.startDate=moment().startOf("month").toISOString();i.endDate=moment().toISOString();i.targetObject=null;i.targetOrganisation=n.SelectedOrganisation.ID;i.actions=["Create"];i.objectTypes=["User Mailbox","Shared Mailbox","Organisation"];t({method:"GET",url:baseUrlValue+"admin/audit/mailboxcount",params:i}).success(function(t){n.mailboxCount=t;n.isMailBoxLimitReached=n.mailboxCount.MailBoxCreated>=n.mailboxCount.MailBoxLimit?!0:!1;n.mailboxCountDisplayMessage="Mailboxes Created: "+n.mailboxCount.MailBoxCreated+"/"+n.mailboxCount.MailBoxLimit;n.isMailBoxLimitReached&&(n.mailboxCountDisplayMessage=n.mailboxCountDisplayMessage+"(Limit Reached)")}).error(function(){f.error("<b>error: failed to retrieve mailbox creation limit for organisation",v)});c.GetSiteList({id:n.SelectedOrganisation.ID}).$promise.then(function(t){n.siteDetails=t;n.siteNameAndOdsCode()})}else angular.copy([],n.treedata),n.SelectedOrganisation=undefined,n.isOrganisationSeleted=!1};n.isEditSubscriptionAllowed=function(){var t=[];return n.isEditSubscriptionPermissionPresent||t.push("disablelinkText"),t};n.siteNameAndOdsCode=function(){angular.forEach(n.siteDetails,function(n){n.Name.includes(n.ODSCode)||(n.Name=n.Name+" - "+n.ODSCode)})}}]);userAdminAppControllersModule.controller("LoginEventsController",["$scope","$routeParams","$filter","LoginEventAPI","LoginEvents",function(n,t,i,r,u){var o=function(t){r.Get({upn:t}).$promise.then(function(t){t.Data.Success&&(n.report=angular.fromJson(t.Report),n.report.forEach(f),n.report.length>0&&(n.isListEmpty=!1,n.columns=_.keys(n.report[0])))})},f=function(n){n.Timestamp=i("date")(n.Timestamp,"d/M/yy HH:mm:ss")},e=function(t){t.Data.Success&&(n.report=angular.fromJson(t.Report),n.report.forEach(f),n.report.length>0?(n.isListEmpty=!1,n.columns=_.keys(n.report[0])):(n.isListEmpty=!0,n.columns=["Timestamp"]))};e(u)}]);userAdminAppControllersModule.controller("ResetPasswordController",["$routeParams","$scope","$location","$sessionStorage","growl","PasswordService","UserAPI",function(n,t,i,r,u,f,e){t.ApplicationAccount=n.ApplicationAccount==="true";t.BulkReset=n.UPN?!1:!0;t.Upn=n.UPN;t.userDetails={chkNextLogOn:!0,emailAddress:"",notes:""};t.BulkReset?(t.userDetails.emailAddress=r.GlobalUserDataList?r.GlobalUserDataList:[],t.userDetails.notes=r.userActionDetails.Notes):t.userDetails.emailAddress=t.Upn;t.SetRandomPassword=function(){t.userDetails.Password=f.GenerateRandomPassword(t.ApplicationAccount)};t.ResetPasswordSubmitClick=function(n){if(!n.$invalid){var i=t.BulkReset?e.BulkResetPassword(t.userDetails):e.ResetPassword(t.userDetails);i.$promise.then(function(){delete r.GlobalUserDataList;delete r.GlobalBulkDataListObj;delete r.GlobalUserEmailAndUpnList},function(){u.error("Error when trying to reset passwords")});t.Back()}};t.Back=function(){t.BulkReset?i.url("/"):i.url("/viewDetails/"+encodeURIComponent(t.Upn))}}]);userAdminAppControllersModule.controller("UserAdminAuthenticateUserController",["$scope","$http","$filter","$routeParams","growl","UserAPI","$modal",function(n,t,i,r,u,f){n.userAuthenticateItems={};n.viewUserParams={};n.securityQuestions={};n.viewUserParams.ID=r.ID;n.securityQuestions.ID=r.ID;$(".body-content").attr("aria-live","polite");n.Authentication=!1;window.location.href.indexOf("loaded")===-1&&t({method:"POST",url:baseUrlValue+"admin/useraccounts/"+n.viewUserParams.ID+"/authenticate",data:n.viewUserParams}).success(function(t){n.userAuthenticateItems=t}).error(function(){});n.authenticateUserSubmitClick=function(t){if(n.formSubmitted=!0,t.FirsAnswerFirstCharacterPosition0.$invalid==!0&&t.FirsAnswerSecondCharacterPosition0.$invalid==!0&&t.SecondAnswerFirstCharacterPosition1.$invalid==!1&&t.SecondAnswerSecondCharacterPosition1.$invalid==!0){(t.FirsAnswerFirstCharacterPosition0.$modelValue==""||t.FirsAnswerFirstCharacterPosition0.$modelValue==undefined)&&(angular.element("#FirsAnswerFirstCharacterPosition0")[0].value="");(t.FirsAnswerSecondCharacterPosition0.$modelValue==""||t.FirsAnswerSecondCharacterPosition0.$modelValue==undefined)&&(angular.element("#FirsAnswerSecondCharacterPosition0")[0].value="");(t.SecondAnswerSecondCharacterPosition1.$modelValue==""||t.SecondAnswerSecondCharacterPosition1.$modelValue==undefined)&&(angular.element("#SecondAnswerSecondCharacterPosition1")[0].value="");return}if(t.FirsAnswerFirstCharacterPosition0.$modelValue==""||t.FirsAnswerFirstCharacterPosition0.$modelValue==undefined||t.FirsAnswerSecondCharacterPosition0.$modelValue==""||t.FirsAnswerSecondCharacterPosition0.$modelValue==undefined||t.SecondAnswerSecondCharacterPosition1.$modelValue==""||t.SecondAnswerSecondCharacterPosition1.$modelValue==undefined){(t.FirsAnswerFirstCharacterPosition0.$modelValue==""||t.FirsAnswerFirstCharacterPosition0.$modelValue==undefined)&&(angular.element("#FirsAnswerFirstCharacterPosition0")[0].value="");(t.FirsAnswerSecondCharacterPosition0.$modelValue==""||t.FirsAnswerSecondCharacterPosition0.$modelValue==undefined)&&(angular.element("#FirsAnswerSecondCharacterPosition0")[0].value="");(t.SecondAnswerSecondCharacterPosition1.$modelValue==""||t.SecondAnswerSecondCharacterPosition1.$modelValue==undefined)&&(angular.element("#SecondAnswerSecondCharacterPosition1")[0].value="");return}f.AuthenticateUser(n.userAuthenticateItems).$promise.then(function(t){t&&(n.securityQuestions=t,n.getStatusIcon(t),t.IsAuthenticationSuccessful&&(u.success("<b>success: <\/b>User Authentication is successful."),window.history.back(),window.location=window.location+"#loaded"),n.securityQuestions.AuthenticateLocked&&angular.element("#confirmUserAuthLockedModal").modal("show"))})};n.confirmUserAuthLocked=function(){angular.element("#confirmUserAuthLockedModal").modal("hide");window.history.back()};n.getStatusIcon=function(n){n&&n.securityQuestions&&(n.securityQuestions[0].IsFirstAnswerCorrect?(angular.element("#spnError").removeClass("ua-error"),angular.element("#spnError").addClass("ua-success"),angular.element("#spnError").attr("title","You have entered the correct answer.")):(angular.element("#spnError").removeClass("ua-success"),angular.element("#spnError").addClass("ua-error"),angular.element("#spnError").attr("title","You have entered wrong answer. Please enter again.")),n.securityQuestions[0].IsSecondAnswerCorrect==!0?(angular.element("#spnError2").removeClass("ua-error"),angular.element("#spnError2").addClass("ua-success"),angular.element("#spnError2").attr("title","You have entered the correct answer.")):(angular.element("#spnError2").removeClass("ua-success"),angular.element("#spnError2").addClass("ua-error"),angular.element("#spnError2").attr("title","You have entered wrong answer. Please enter again.")),n.securityQuestions[1].IsSecondAnswerCorrect==!0?(angular.element("#spnError3").removeClass("ua-error"),angular.element("#spnError3").addClass("ua-success"),angular.element("#spnError3").attr("title","You have entered the correct answer.")):(angular.element("#spnError3").removeClass("ua-success"),angular.element("#spnError3").addClass("ua-error"),angular.element("#spnError3").attr("title","You have entered wrong answer. Please enter again.")))};n.userAuthenticateButtonBackClick=function(){window.history.back()}}]);userAdminAppControllersModule.controller("UserAdminBulkEditUserController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","PermissionChecker","SharedMailboxAPI","ResourceMailboxAPI","OrganisationObjectHelperService","ViewOrganisationAPI","BulkMailBoxAPI","growl","ConvertEntityService","BulkMailBoxAPI","UserAPI","MailboxTypeDetector",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,l,y,p){n.editUserEmailList=u.GlobalUserDataList;n.globalBulkDataListObj=u.GlobalBulkDataListObj;n.userAction={};n.userUpdatePermission=!1;n.viewUserParams={};n.SelectedOrganisation={};n.SelectedSiteId="00000000-0000-0000-0000-000000000000";n.treedata=[];n.expandedNodes=[];n.currentNode=null;n.treedataMailMover=[];n.expandedNodesMailMover=[];n.currentNodeMailMover=null;n.UserJoinerDetailsList=[];n.lastNameCopy="";n.firstNameCopy="";n.DisplayName="";n.userAction.EmailAndUpnList=u.GlobalUserEmailAndUpnList;n.userAction.UpnList=[];n.userAction.GlobalApplicationAccountTypeList=u.GlobalApplicationAccountTypeList;n.emailType=u.GlobalEmailType;n.hasUserDelete=!0;n.hasSharedMailboxDelete=!0;n.hasResourseMailboxDelete=!0;n.userAction.Notes="";n.notesDisableValidate=!1;u.userActionDetails=n.userAction;angular.forEach(u.GlobalUserEmailAndUpnList,function(t){n.userAction.UpnList.indexOf(t)==-1&&n.userAction.UpnList.push(t)});e.contains("USER_UPDATE")&&(n.userUpdatePermission=!0);e.contains("USER_DELETE")&&(n.hasUserDelete=!1);e.contains("SHARED_MAILBOX_DELETE")&&(n.hasSharedMailboxDelete=!1);e.contains("DELETE_RESOURCE_MAILBOX")&&(n.hasResourseMailboxDelete=!1);n.notesValidateDisbleButtons=function(){n.editUser_form.$$success.maxlength["0"].$invalid?(n.hasSharedMailboxDelete=!0,n.hasResourseMailboxDelete=!0,n.hasUserDelete=!0,n.notesDisableValidate=!0):(n.hasSharedMailboxDelete=!1,n.hasResourseMailboxDelete=!1,n.notesDisable=!1,n.hasUserDelete=!1,n.notesDisableValidate=!1)};n.userResetPasswordClick=function(){if(p.DetectMultipleMailboxes(n.userAction.GlobalApplicationAccountTypeList)){a.error("The list contains both application and non-applciation accounts.Please navigate back and select only one type");return}var i=_.any(u.GlobalApplicationAccountTypeList);t.path("/resetPassword");t.search("ApplicationAccount",i?"true":"false")};n.setOutOfOfficeClick=function(){u.userActionDetails.Notes!=undefined&&(n.userAction.Notes=u.userActionDetails.Notes);t.path("/Users/SetOutOfOffice")};n.userDeleteClick=function(){$("#editUser_formResult").removeClass("alert-success alert-danger").html("");n.userAction.Action="Delete";l.BulkDeleteUser(n.userAction).$promise.then(function(){w()})};n.userDisableClick=function(){$("#editUser_formResult").removeClass("alert-success alert-danger").html("");n.userAction.Action="Disable";l.BulkDisableUser(n.userAction).$promise.then(function(){w()})};n.userEnableClick=function(){$("#editUser_formResult").removeClass("alert-success alert-danger").html("");n.userAction.Action="Enable";l.BulkEnableUser(n.userAction).$promise.then(function(){w()})};n.userUnlockClick=function(){$("#editUser_formResult").removeClass("alert-success alert-danger").html("");n.userAction.Action="UnlockUser";l.BulkUnlockUser(n.userAction).$promise.then(function(){w()})};n.editUserCancelClick=function(){w()};n.userMarkAsLeaver=function(){$("#editUser_formResult").removeClass("alert-success alert-danger").html("");n.userAction.Action="MarkAsLeaver";l.BulkMarkAsLeaver(n.userAction).$promise.then(function(){w()})};n.mailBoxTransferClick=function(){n.transferRequired=!0;n.isOrganisationSelected=!1;$("#SharedMailboxMoverModal").modal("show")};n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.organisationChange()};n.organisationChange=function(){n.SelectedOrganisation!==null&&n.SelectedOrganisation!==undefined?(angular.copy([],n.treedataMailMover),angular.copy([],n.expandedNodesMailMover),angular.copy(null,n.currentNodeMailMover),c.ViewOrganisation(n.SelectedOrganisation).$promise.then(function(t){n.isOrganisationSelected=!0;n.treedataMailMover.push(angular.copy(t));n.expandedNodesMailMover=[n.treedataMailMover[0]];n.currentNodeMailMover=n.treedataMailMover[0]}),y.GetSiteList({id:n.SelectedOrganisation.ID}).$promise.then(function(t){n.siteDetails=t;n.siteNameAndOdsCode()})):(angular.copy([],n.treedataMailMover),n.SelectedOrganisation=undefined,n.isOrganisationSelected=!1)};n.sharedDeleteClick=function(){l.BulkDeleteSharedMailbox(n.userAction).$promise.then(function(){w()})};n.resourceDeleteClick=function(){l.BulkDeleteResourceMailbox(n.userAction).$promise.then(function(){w()})};n.transferMailbox=function(){if(!h.isValidShortname(n.SelectedOrganisation.ShortName)){a.warning("The selected organisation does not have a shortname, cannot transfer mailbox. Please contact support to have a shortname configured.");return}switch(n.emailType){case"Shared":angular.forEach(n.editUserEmailList,function(t){var i=t.split("@")[0].substr(t.split("@")[0].indexOf(".")+1),r=angular.lowercase(n.SelectedOrganisation.ShortName+"."+i)+n.getEmailDomain(),u={OrganisationID:n.SelectedOrganisation.ID,OrganisationUnitId:n.currentNodeMailMover.ID,OldUserPrincipalName:t,NewUserPrincipalName:r,Notes:n.userAction.Notes};o.Transfer(u).$promise.then(function(){angular.element("#SharedMailboxMoverModal").modal("hide");n.isOrganisationSelected=!1;$(".modal-backdrop").remove();w()})});break;case"Resource":angular.forEach(n.editUserEmailList,function(t){var i=t.split("@")[0].substr(t.split("@")[0].indexOf(".")+1),r=angular.lowercase(n.SelectedOrganisation.ShortName+"."+i)+n.getEmailDomain(),u={OrganisationID:n.SelectedOrganisation.ID,OrganisationUnitId:n.currentNodeMailMover.ID,OldUserPrincipalName:t,NewUserPrincipalName:r,Notes:n.userAction.Notes};s.Transfer(u).$promise.then(function(){angular.element("#SharedMailboxMoverModal").modal("hide");n.isOrganisationSelected=!1;$(".modal-backdrop").remove();w()})});break;case"User":angular.forEach(n.globalBulkDataListObj,function(t){n.lastNameCopy=t.LastName;n.firstNameCopy=t.FirstName;n.DisplayName=n.lastNameCopy+", "+n.firstNameCopy+" ("+n.SelectedOrganisation.Name.toUpperCase()+")";var i={UserPrincipalName:t.UserPrincipleName,Status:t.Status,DisplayName:n.DisplayName};n.UserJoinerDetailsList.push(i)});(n.SelectedSite!=undefined||n.SelectedSite!=null)&&(n.SelectedSiteId=n.SelectedSite.ID);var t={OrganisationID:n.SelectedOrganisation.ID,OrganisationUnitId:n.currentNodeMailMover.ID,UserJoinerDetailsList:n.UserJoinerDetailsList,SiteId:n.SelectedSiteId,Action:"Transfer",Notes:n.userAction.Notes};y.UserBulkTransfer(t).$promise.then(function(){angular.element("#SharedMailboxMoverModal").modal("hide");n.isOrganisationSelected=!1;$(".modal-backdrop").remove();w()})}n.transferRequired=!1};n.cancelMailboxMoving=function(){n.transferRequired=!1;n.isOrganisationSelected=!1;$("#SharedMailboxMoverModal").modal("hide");$(".modal-backdrop").remove()};n.getEmailDomain=function(){return domainAddress};n.siteNameAndOdsCode=function(){angular.forEach(n.siteDetails,function(n){n.Name.includes(n.ODSCode)||(n.Name=n.Name+" - "+n.ODSCode)})};var w=function(){delete u.GlobalUserDataList;delete u.GlobalBulkDataListObj;delete u.GlobalUserEmailAndUpnList;t.path("/")}}]);userAdminAppControllersModule.controller("UserAdminDelegateMailboxAccessController",["$scope","$location","$routeParams","growl","UserAPI",function(n,t,i,r,u){n.DelegateUserMailboxDetails={UsersWithSendAsAccess:[],UsersWithSendOnBehalfOfAccess:[],UsersWithFullAccess:[],Upn:i.userPrincipalName};n.selectedEmail=[];n.showUserpicker=!1;n.maxOwners=100;u.GetMailboxDelegationDetails({upn:i.userPrincipalName}).$promise.then(function(t){n.DelegateUserMailboxDetails.UsersWithSendAsAccess=t.UsersWithSendAsAccess;n.DelegateUserMailboxDetails.UsersWithSendOnBehalfOfAccess=t.UsersWithSendOnBehalfOfAccess;n.DelegateUserMailboxDetails.UsersWithFullAccess=t.UsersWithFullAccess},function(){r.error("Error while getting delegate details");window.history.back()});n.delegateMailboxAccessCompleteClick=function(){n.delegateMailboxAccess_form.$valid&&u.SetMailboxDelegationDetails(n.DelegateUserMailboxDetails).$promise.then(function(){t.path("/viewDetails/"+i.userPrincipalName)})};n.delegateMailboxAccessCancelClick=function(){t.path("/viewDetails/"+i.userPrincipalName)};$(function(){$('[data-toggle="tooltip"]').tooltip({container:"body"})})}]);userAdminAppControllersModule.controller("UserAdminEditRoleController",["$scope","$location","$http","$sessionStorage","$timeout","$rootScope","$routeParams","$filter","$parse","$window","UserAPI",function(n,t,i,r,u,f,e,o,s,h,c){n.organisationRequest={};n.roleList=[];n.organisationRequest.FilterParams={};n.organisationRequest.FilterParams.OrganisationType="Organisation";n.showSpinnerFlag=!0;n.treedata=[];n.treeDataLoaded=!1;n.parentOrgID="";n.parentOrgName="";n.selectedNode="";n.IsOrganisationUnSelected=!1;n.IsRoleUnSelected=!1;n.IsOUUnSelected=!1;n.addedRoleDetails={};n.addedRoleDetails.Role={};n.addedRoleDetails.Organisation={};n.addedRoleDetails.OrganisationUnit={};n.UserRoles=[];n.addRole={};n.addRole.SelectedOrganisation={};c.GetAdminRoles().$promise.then(function(t){n.roleList=t;removeNonEditableAdminRoles()});n.pick=function(t){angular.copy(t,n.addRole.SelectedOrganisation);n.organisationChange()};n.organisationChange=function(){n.addRole.SelectedOrganisation!=null&&n.addRole.SelectedOrganisation!=="undefined"?(n.IsOrganisationUnSelected=!1,angular.copy([],n.treedata),i({method:"POST",url:baseUrlValue+"ViewOrganisation",data:n.addRole.SelectedOrganisation}).success(function(t){n.treedata.push(t);n.selected=n.treedata[0];n.expandedNodes=[n.treedata[0]];n.selectedNode=n.treedata[0]})):(angular.copy([],n.treedata),n.selected=undefined,n.IsOrganisationUnSelected=!0)};n.roleChange=function(){n.IsRoleUnSelected=n.addRole.SelectedRole!=null&&n.addRole.SelectedRole!=="undefined"&&n.addRole.SelectedRole!==""?!1:!0};n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.addRoleCancelClick=function(){t.path("/viewDetails/"+e.upn).search({editRole:!0})};n.addRoleUpdateClick=function(){var i=!1;(n.rolesAdmin1=h.sessionStorage.getItem(e.upn),n.rolesAdmin1=angular.fromJson(n.rolesAdmin1),n.IsOrganisationUnSelected=n.addRole!=undefined&&n.addRole.SelectedOrganisation!=undefined&&n.addRole.SelectedOrganisation.ID!=undefined?!1:!0,n.IsRoleUnSelected=n.addRole!=undefined&&n.addRole.SelectedRole!=undefined&&n.addRole.SelectedRole!==""?!1:!0,n.IsOrganisationUnSelected||n.IsRoleUnSelected)||(n.rolesAdmin1!=null&&n.rolesAdmin1!=="undefined"&&angular.copy(n.rolesAdmin1,n.UserRoles),n.addedRoleDetails.RoleDefinition=n.addRole.SelectedRole,n.addedRoleDetails.Organisation=n.addRole.SelectedOrganisation,n.addedRoleDetails.OrganisationUnit=n.selected,angular.forEach(n.UserRoles,function(t){t.RoleDefinition.ID===n.addedRoleDetails.RoleDefinition.ID&&t.Organisation.ID===n.addedRoleDetails.Organisation.ID&&t.OrganisationUnit.ID==n.addedRoleDetails.OrganisationUnit.ID&&(i=!0)}),i===!1&&(n.UserRoles.push(n.addedRoleDetails),h.sessionStorage.setItem(e.upn,JSON.stringify(n.UserRoles))),t.path("/viewDetails/"+e.upn).search({editRole:!0}))};n.validate=function(){n.IsOrganisationUnSelected=n.addRole.SelectedOrganisation!=undefined&&n.addRole.SelectedOrganisation.ID!=undefined?!1:!0;n.IsOUUnSelected=n.selectedNode.OrganisationType==="OU"?!1:!0;n.addRole.SelectedRole!=undefined&&n.addRole.SelectedRole!==""?n.IsRoleUnSelected=!1:n.IsOUUnSelected=!0;n.IsOrganisationUnSelected||n.IsOUUnSelected||n.IsOUUnSelected};removeNonEditableAdminRoles=function(){n.roleList=n.roleList.filter(function(n){return n.DisplayName!=="Invite Guest Users"})}}]);userAdminAppControllersModule.controller("UserAdminJoinerController",["$scope","$http","$location","$filter","$parse","UserAPI","growl",function(n,t,i,r,u,f,e){n.RecipientsTempCopy=[];n.treedata=[];n.selected={};n.expandedNodes=[];n.currentNode;n.SelectedOrganisation={};n.isOrganisationSelected=!1;n.joiner={};n.joiner.UserJoinerDetailsList=[];n.joiner.OrganisationID="";n.joiner.OrganisationUnitId="";n.joiner.SiteId="00000000-0000-0000-0000-000000000000";n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.RecipientsListErrors={required:!1};n.userPickerFilter={Status:["Pending","Disabled","Suspended","PendingErr","Deleted","Active","Inactive","Deleting","Enabling","Disabling","Deleted_Permanent"]};n.setupUserPickerDone=function(t){var i=n.$on("UserPickerSelectionDone",function(){var h=u(t)(n),f=[],e,o,s;angular.forEach(n.selectedEmail,function(n){n.UserPrincipalName!=null&&(e={UserPrincipalName:n.UserPrincipalName,Status:n.Status,DisplayName:n.DisplayName},f.push(e))});o=h.concat(f);s=r("removeDuplicates")(o,"UserPrincipalName");u(t).assign(n,s);i();n.showUserpicker=!1;n.addJoiner_form.completeButton=!1})};n.addJoiner=function(t){angular.copy([],n.selectedEmail);n.showUserpicker=!0;n.addJoiner_form.completeButton=!0;n.RecipientsListErrors.required=!1;n.setupUserPickerDone(t)};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1;n.addJoiner_form.completeButton=!1});n.EmailDistribution="";n.removeRecipient=function(t){n.RecipientsTempCopy=r("filter")(n.RecipientsTempCopy,function(n){return n.UserPrincipalName!=t.UserPrincipalName})};n.joinerCancelClick=function(){window.history.back()};n.joiner_formSubmitClick=function(r){if($("#joiner_formResult").removeClass("alert-success alert-danger").html(""),n.RecipientsTempCopy.length==0){n.RecipientsListErrors.required=!0;return}(angular.copy(n.RecipientsTempCopy,n.joiner.UserJoinerDetailsList),r.$invalid)||(n.joiner.OrganisationUnitId=n.currentNode.ID,(n.SelectedSite!=undefined||n.SelectedSite!=null)&&(n.joiner.SiteId=n.SelectedSite.ID),angular.forEach(n.joiner.UserJoinerDetailsList,function(t){t.UserPrincipalName!=null&&(t.DisplayName=t.DisplayName.replace(/\(.*?\)/,"("+n.SelectedOrganisation.Name.toUpperCase()+")"))}),t({method:"put",url:baseUrlValue+"admin/useraccounts/MarkAsJoiner",data:n.joiner}).success(function(t){n.distributionList=t;i.path("/")}).error(function(n){var t="Request failed: ";t+=n.Errors.length>0?n.Errors[0].Message:"Unable to connect to server please try again.";e.error(t);i.path("/")}))};n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.joiner.OrganisationID=n.SelectedOrganisation.ID;n.organisationChange()};n.organisationChange=function(){n.SelectedOrganisation!=null&&n.SelectedOrganisation!="undefined"?(angular.copy([],n.treedata),t({method:"POST",url:baseUrlValue+"ViewOrganisation",data:n.SelectedOrganisation}).success(function(t){n.isOrganisationSelected=!0;n.treedata.push(t);n.expandedNodes=[n.treedata[0]];n.currentNode=n.treedata[0]}).error(function(n){var i="Request failed, Unable to fetch organisational unit details for the user",t;if(n.Errors){for(i+="<ul>",t=0;t<n.Errors.length;t++)i+="<li>"+n.Errors[t].Message+n.Errors[t].FieldName+" "+n.Errors[t].Detail+"<\/li>";i+="<\/ul>"}else i+=" status code "+n.status;$("#joiner_formResult").addClass("alert-danger").html(i)}),f.GetSiteList({id:n.SelectedOrganisation.ID}).$promise.then(function(t){n.siteDetails=t;n.siteNameAndOdsCode()})):(angular.copy([],n.treedata),n.SelectedOrganisation=undefined,n.isOrganisationSelected=!1)};n.siteNameAndOdsCode=function(){angular.forEach(n.siteDetails,function(n){n.Name.includes(n.ODSCode)||(n.Name=n.Name+" - "+n.ODSCode)})}}]);userAdminAppControllersModule.controller("UserAdminListUsersController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","UserListVisibleColumns","UserListColumns","UserAdminListSearchParams","GlobalDataService","$timeout","$rootScope","$window","PermissionChecker","$filter","Config","growl","MailboxTypeDetector","ConvertEntityService","HttpParamSerializerPolyfillService",function(n,t,i,r,u,f,e,o,s,h,f,c,l,a,v,y,p,w){var k,b;n.showAndDisableAddButton=!1;n.showAndHideCreateUserDropDown=!1;n.showAndHideCreateSharedMailBoxDropDown=!1;n.showAndDisableCSVButton=!0;n.showAndDisableBulkEditButton=!0;n.ListOrgRequest={};n.getUserList={};n.animationsEnabled=!1;n.itemsOnPage=y.UserList_ItemsOnPage;n.selectedEmail=[];n.selectedEmailType=[];n.applicationAccountType=[];n.BulkTranferObj=[];n.userID="";n.Status=y.UserList_UserStatus;n.Emailtypes=y.UserList_Emailtypes;k=[{label:y.MailboxLocations[0],value:!0},{label:y.MailboxLocations[1],value:!1}];n.MailboxLocations=k;n.showAndHideJoinerDropDown=!1;n.isUserListProcessingError=!1;n.BulkTransferButton=!1;n.emailAndUpnPairs=[];n.isUserListEmpty=!1;b="";n.userAction={};n.userAction.EmailAndUpnList=u.GlobalUserEmailAndUpnList;n.userAction.GlobalApplicationAccountTypeList=u.GlobalApplicationAccountTypeList;n.openColumnPicker=function(){var t=n.userListColumnsVisible,r=i.open({animation:n.animationsEnabled,templateUrl:"./Angular/Apps/UserAdmin/Common/Views/ListUsersColumnPicker.html",controller:"ListUsersColumnPicker",size:"lg",resolve:{items:function(){return n.userListColumnsVisible},names:function(){return n.userListColumns}}});r.result.then(function(){u.NHSmailuserListColumns=n.userListColumnsVisible},function(){n.userListColumnsVisible=t})};n.userListColumnsVisible=u.NHSmailuserListColumns;n.userListColumnsVisible||(n.userListColumnsVisible=new e);n.userListColumns=new o;var g="",d=function(){n.allRowsSelected=!1;angular.forEach(n.userListItems,function(t){t.isChecked=n.allRowsSelected;t.selected=n.allRowsSelected})},nt=function(n,t){angular.isUndefined(u.userListSearchParams)&&(u.userListSearchParams={});t!=g&&(u.userListSearchParams={});u.userListSearchParams=n;u.userListSearchParams.simpleOrAdvanced=t},tt=function(){if(b=="advanced"&&n.UserListAdvancedSearchParams!=[]){var t={};angular.copy(n.UserListAdvancedSearchParams,t);nt(t,"advanced");t={}}u.userListSearchResults=n.userListItems},it=function(){if(angular.isUndefined(u.userListSearchResults)&&(u.userListSearchResults={}),Object.keys(u.userListSearchResults).length!=0&&(n.showEmptyTable=!0,n.userListItems=u.userListSearchResults,d(),u.userListSearchParams.simpleOrAdvanced=="advanced")){var t={};angular.copy(u.userListSearchParams,t);n.UserListAdvancedSearchParams=t;t={}}};n.modalMarkupLoaded=function(){it();a.contains("USER_CREATE")&&(n.showAndHideCreateUserDropDown=!0,n.showAndHideJoinerDropDown=!0);a.contains("SHARED_MAILBOX_CREATE")&&(n.showAndHideCreateSharedMailBoxDropDown=!0);a.contains("CREATE_RESOURCE_MAILBOX")&&(n.showAndHideCreateResourceMailBoxDropDown=!0);a.contains("BULK_USER_CREATE")&&(n.showAndDisableCSVButton=!1);n.showAndHideCreateUserDropDown!=!1||n.showAndHideCreateSharedMailBoxDropDown!=!1||n.showAndHideCreateResourceMailBoxDropDown||(n.showAndDisableAddButton=!0);(a.contains("USER_UPDATE")||a.contains("USER_DELETE")||a.contains("SHARED_MAILBOX_UPDATE")||a.contains("SHARED_MAILBOX_DELETE")||a.contains("DELETE_RESOURCE_MAILBOX")||a.contains("UPDATE_RESOURCE_MAILBOX"))&&(n.showAndDisableBulkEditButton=!1)};n.modalMarkupLoaded();n.sorting={getSortExpression:function(n){return n=="Location"?"IsCloudMailbox":n}};n.callAPI=function(t,i){i&&(t.matchAny=!0);clearInterval(n.myInterval);n.isUserListProcessingError=!1;t.VisibleColumns=_.chain(n.userListColumnsVisible).pick(function(n){return n}).keys().value();n.getUserList.FilterParams=t;n.getUserList.MatchAny=i;r({method:"POST",url:baseUrlValue+"admin/useraccounts",data:n.getUserList}).success(function(t){n.userListItems=v("orderObjectBy")(t,"DisplayName");n.isUserListEmpty=n.userListItems.length==0?!0:!1;tt();n.currentInputFocus&&setTimeout(function(){n.currentInputFocus.element.focus()},500)}).error(function(){n.isUserListProcessingError=!0})};n.viewUserDetails=function(n){u[n.ID]=undefined;n.EmailType=="Shared"?t.url("/viewSharedUser/"+encodeURIComponent(n.UserPrincipalName)):n.EmailType=="Resource"?t.url("/viewResourceMailbox/"+n.ID):t.url("/viewDetails/"+encodeURIComponent(n.UserPrincipalName))};n.selectUser=function(t){var r=t.Email,o=t.selected,h=t.EmailType,c=t.Status,l=t.DisplayName,a=t.FirstName,v=t.LastName,y=t.UserPrincipalName,p=t.IsApplicationAccount,s={},i=n.selectedEmail.indexOf(r);i>=0&&!o&&(n.selectedEmail.splice(i,1),n.selectedEmailType.splice(i,1),n.applicationAccountType.splice(i,1),n.emailAndUpnPairs.splice(2*i,2),n.BulkTranferObj.splice(i,1));i<0&&o&&(n.selectedEmail.push(r),n.selectedEmailType.push(h),n.applicationAccountType.push(p),n.emailAndUpnPairs.push(r),n.emailAndUpnPairs.push(t.UserPrincipalName),s={UserPrincipleName:y,Status:c,DisplayName:l,FirstName:a,LastName:v},n.BulkTranferObj.push(s));n.selectedEmail.length==1&&(n.userID=t.ID);var u=0,f=0,e=0;angular.forEach(n.selectedEmailType,function(t){n.selectedEmailType.length>1&&(t=="User"&&u++,t=="Shared"&&f++,t=="Resource"&&e++)});u>1&&$(".listUsersBulkExportDetailsButton").attr("disabled",!1);(f>=1||e>=1)&&$(".listUsersBulkExportDetailsButton").attr("disabled",!0);(f>=1||e>=1)&&u>=1&&$(".listUsersBulkExportDetailsButton").attr("disabled",!1);n.selectedEmail.length>1&&n.showAndDisableBulkEditButton==!1&&$(".listUsersEditButton").attr("disabled",!1);n.selectedEmail.length<=1&&($(".listUsersEditButton").attr("disabled",!0),$(".listUsersBulkExportDetailsButton").attr("disabled",!0))};n.editUserDetails=function(){if(w.DetectMultipleMailboxes(n.selectedEmailType)){p.error("Please select any one mail box type for bulk edit");return}n.selectedEmail.length>1?(u.GlobalUserDataList=n.selectedEmail,u.GlobalBulkDataListObj=n.BulkTranferObj,u.GlobalEmailType=n.selectedEmailType[0],u.GlobalUserEmailAndUpnList=n.emailAndUpnPairs,u.GlobalApplicationAccountTypeList=n.applicationAccountType,t.path("/Users/bulkEditUser")):t.url("/viewDetails/"+encodeURIComponent(n.UserPrincipalName))};n.exportBulkUserDetailsClick=function(){if(w.DetectMultipleMailboxes(n.selectedEmailType)){p.error("Please select mailbox type as user for bulk export details");return}n.selectedEmail.length>1?(u.GlobalUserDataList=n.selectedEmail,u.GlobalUserEmailAndUpnList=n.emailAndUpnPairs,n.userAction.EmailAndUpnList=u.GlobalUserEmailAndUpnList,n.userAction.GlobalApplicationAccountTypeList=u.GlobalApplicationAccountTypeList,r({method:"POST",url:"ExportCSV/ExportBulkUserDetails",data:n.userAction,responseType:"blob"}).success(function(n,t){var r,u,i;t===200&&(r=new Blob([n],{type:"text/csv"}),window.navigator&&window.navigator.msSaveBlob?window.navigator.msSaveBlob(r,"UserDetails.csv"):(u=(window.URL||window.webkitURL).createObjectURL(r),i=angular.element("<a><\/a>"),i.attr("href",u),i.attr("download","UserDetails.csv"),i.attr("style","display:none"),angular.element(document.body).append(i),i[0].click()))}).error(function(){p.error("Request failed")})):t.url("/viewDetails/"+encodeURIComponent(n.UserPrincipalName))};n.displayedTable=[].concat(n.userListItems);n.UserListAdvancedSearchParams||(n.UserListAdvancedSearchParams=s());n.advancedSearch=function(){b="advanced";n.selectedEmail.length>1&&(delete u.GlobalUserDataList,delete u.GlobalUserEmailAndUpnList);n.callAPI(n.UserListAdvancedSearchParams);n.allRowsSelected=!1};n.renderValuesToDisplay=function(n,t,i){var r="",u;if(i=="Roles"&&angular.isDefined(n[i])){if(n[i].length!=0){for(u=0;u<n[i].length;u++)r=r+"<br>"+n[i][u].RoleDefinition.DisplayName;r=r.substring(4)}}else(i=="OrganisationUnit"||i=="Organisation")&&angular.isDefined(n[i])?r=n[i].Name:i=="Subscriptions"&&angular.isDefined(n[i])?(angular.forEach(n[i],function(n){r=r!=""?r+", "+n.Description:n.Description}),r.length>t&&(r=r.slice(0,t-3)+"...")):r=i=="Location"&&angular.isDefined(n.IsCloudMailbox)?n.IsCloudMailbox?y.MailboxLocations[0]:y.MailboxLocations[1]:n[i];return r};n.renderTitleForTooltipSubscriptions=function(n,t,i){var r="";return i=="Subscriptions"&&angular.isDefined(n)&&(angular.forEach(n,function(n){r=r!=""?r+", "+n.Description:n.Description}),r.length<=t&&(r="")),r};n.gotoCSVUpload=function(){t.path("/UploadNewUsers")};c.$watch(function(){angular.element('[data-toggle="tooltip"]').tooltip({container:"body"})});n.showOrHideDefaultView=function(){n.showEmptyTable=!0;n.advancedSearch()};n.searchUserOnEnterAdvanced=function(t){check=!1;t.which===13&&n.showOrHideDefaultView()};n.dropDownBasedSearch=function(){check=!1;n.showOrHideDefaultView();d()};n.selectAllRows=function(){angular.forEach(n.displayedTable,function(t){t.Status!="Pending"&&t.Status!="PendingErr"&&t.Status!="Deleted"&&t.Status!="Deleted_Permanent"&&t.Status!="Deleting"&&t.Status!="Restoring"&&t.Status!="Delete%"&&t.Status!="Pending%"&&a.contains("USER_READ")&&a.contains("SHARED_MAILBOX_READ")&&a.contains("READ_RESOURCE_MAILBOX")&&(t.isChecked=n.allRowsSelected,t.selected=n.allRowsSelected,n.selectUser(t))})};n.$watch("displayedTable",function(t){var i=!0;t.length===0&&(i=!1);angular.forEach(n.displayedTable,function(n){n!==undefined&&n.selected!==undefined&&n.selected||(i=!1)});n.allRowsSelected=i?!0:!1})}]);userAdminAppControllersModule.controller("UserAdminMailboxListController",["$scope","$http","MailboxListColumns","$routeParams","$filter","PermissionChecker",function(n,t,i,r,u,f){n.Email="";n.itemsOnPage="10";n.isUserListEmpty=!1;n.mailboxListColumns=new i;n.selectedDevices=[];n.selectedDevices.DeviceIds=[];f.contains("USER_UPDATE")&&(n.userUpdatePermission=!0);n.getMobileDevices=function(){t({method:"get",url:baseUrlValue+"admin/mobiledevicestatistics/"+n.email}).success(function(t){n.mailboxList=t;(n.mailboxList!==undefined||n.mailboxList!==null)&&(n.mailboxList=u("deviceDateFormat")(n.mailboxList,"FirstSyncTime"),n.mailboxList=u("deviceDateFormat")(n.mailboxList,"LastSuccessSync"),n.displayedTable=n.mailboxList);n.isUserListEmpty=t==null?!0:!1}).error(function(){})};n.getEmail=function(){var t=$(location).attr("href");subUrl=t.match(/[^\/]*$/)[0];n.email=subUrl;n.getMobileDevices()};n.getEmail();n.userMailboxListButtonBackClick=function(){window.history.back()};n.blockDevice=function(){n.selectedDevices.IsDeviceBlocked=!0;n.selectedDevices.UserPrincipal=n.email;angular.forEach(n.selectedDevices.DeviceIds,function(i){var r={UserPrincipal:n.email,IsDeviceBlocked:!0,DeviceId:i};t({method:"POST",url:baseUrlValue+"admin/BlockDevice",data:r}).success(function(){}).error(function(){})})};n.unblockDevice=function(){n.selectedDevices.IsDeviceBlocked=!1;n.selectedDevices.UserPrincipal=n.email;angular.forEach(n.selectedDevices.DeviceIds,function(i){var r={UserPrincipal:n.email,IsDeviceBlocked:!1,DeviceId:i};t({method:"POST",url:baseUrlValue+"admin/BlockDevice",data:r}).success(function(){}).error(function(){})})};n.selectAllRows=function(){angular.forEach(n.displayedTable,function(t){t.isChecked=n.allRowsSelected;t.selected=n.allRowsSelected;n.selectUser(t)})};n.selectUser=function(t){var r=t.DeviceID,u=t.selected,i=n.selectedDevices.DeviceIds.indexOf(r);i>=0&&!u&&n.selectedDevices.DeviceIds.splice(i,1);i<0&&u&&n.selectedDevices.DeviceIds.push(r);n.$watch("displayedTable",function(t){var i=!0;t!==undefined&&t.length===0&&(i=!1);angular.forEach(n.displayedTable,function(n){n!==undefined&&n.selected!==undefined&&n.selected||(i=!1)});n.allRowsSelected=i?!0:!1})};n.wipeDevicesClick=function(){angular.element("#wipeDevicesInfo").modal("show")};n.confirmWipe=function(){angular.element("#wipeDevicesInfo").modal("hide");angular.forEach(n.selectedDevices.DeviceIds,function(i){var r={UserPrincipal:n.email,DeviceId:i};t({method:"POST",url:baseUrlValue+"admin/WipeDevice",data:r}).success(function(){}).error(function(){})})}}]);userAdminAppControllersModule.controller("UserAdminOutOfOfficeController",["$scope","$http","$filter","$location","$sessionStorage","GlobalDataService","$location","ConvertEntityService",function(n,t,i,r,u,f,r){var o,e,s;moment.locale("en");n.editUserEmailList=u.GlobalUserDataList?u.GlobalUserDataList:[];n.emailType=u.GlobalEmailType;n.outOfOffice={};n.toggleAction=!0;n.outOfOffice.StartDate="";n.outOfOffice.EndDate="";o=u.setOutOfOfficeUserData;e={};n.hh=!1;u.userActionDetails!=undefined&&u.userActionDetails.Notes!=undefined&&(n.userActionOnNotes=u.userActionDetails.Notes);s=/^(?=\d)(?:(?!(?:(?:0?[5-9]|1[0-4])(?:\.|-|\/)10(?:\.|-|\/)(?:1582))|(?:(?:0?[3-9]|1[0-3])(?:\.|-|\/)0?9(?:\.|-|\/)(?:1752)))(31(?!(?:\.|-|\/)(?:0?[2469]|11))|30(?!(?:\.|-|\/)0?2)|(?:29(?:(?!(?:\.|-|\/)0?2(?:\.|-|\/))|(?=\D0?2\D(?:(?!000[04]|(?:(?:1[^0-6]|[2468][^048]|[3579][^26])00))(?:(?:(?:\d\d)(?:[02468][048]|[13579][26])(?!\x20BC))|(?:00(?:42|3[0369]|2[147]|1[258]|09)\x20BC))))))|2[0-8]|1\d|0?[1-9])([-.\/])(1[012]|(?:0?[1-9]))\2((?=(?:00(?:4[0-5]|[0-3]?\d)\x20BC)|(?:\d{4}(?:$|(?=\x20\d)\x20)))\d{4}(?:\x20BC)?)(?:$|(?=\x20\d)\x20))?((?:(?:0?[1-9]|1[012])(?::[0-5]\d){0,2}(?:\x20[aApP][mM]))|(?:[01]\d|2[0-3])(?::[0-5]\d){1,2})$/g;n.modalMarkupLoaded=function(){n.editUserEmailList.length<1?(e.EmailAddress=o.email,t({method:"post",url:baseUrlValue+"GetOutOfOfficeDetails",data:e}).success(function(t){t.Action=="Enabled"||t.Action=="Scheduled"?n.toggleAction=!0:t.Action=="Disabled"&&(n.toggleAction=!1);t.StartDate!=null&&t.EndDate!=null&&(n.outOfOffice.StartDate=new Date(t.StartDate),n.outOfOffice.EndDate=new Date(t.EndDate));n.outOfOffice.InternalMessage=t.InternalMessage;n.outOfOffice.ExternalMessage=t.ExternalMessage}).error(function(n){var i="Request failed, Unable to fetch out of office user details for the user",t;if(n.Errors){for(i+="<ul>",t=0;t<n.Errors.length;t++)i+="<li>"+n.Errors[t].Message+n.Errors[t].FieldName+" "+n.Errors[t].Detail+"<\/li>";i+="<\/ul>"}else i+=" status code "+n.status;$("#createContact_formResult").addClass("alert-danger").html(i)})):(n.outOfOffice.InternalMessage="",n.outOfOffice.ExternalMessage="",e.EmailAddress=n.editUserEmailList)};n.modalMarkupLoaded();n.SetOutOfOfficeCancelClick=function(){delete u.GlobalUserDataList;delete u.GlobalBulkDataListObj;delete u.GlobalUserEmailAndUpnList;window.history.back()};n.SetOutOfOfficeSubmitClick=function(i){var f,s;if($("#createContact_formResult").removeClass("alert-success alert-danger").html(""),n.toggleAction!=!0||!i.$invalid&&!n.outOfOffice.isEndDateInValid){if(n.isApiCallError=!1,n.outOfOffice.Action="Enabled",n.outOfOffice.Notes=n.userActionOnNotes,angular.isDefined(n.outOfOffice.StartDate)&&n.outOfOffice.StartDate!=""&&angular.isDefined(n.outOfOffice.EndDate)&&n.outOfOffice.EndDate!=""&&(n.outOfOffice.Action="Scheduled",n.outOfOffice.StartDate=moment(n.outOfOffice.StartDate).format("YYYY-MM-DD[T]HH:mm:ssZ"),n.outOfOffice.EndDate=moment(n.outOfOffice.EndDate).format("YYYY-MM-DD[T]HH:mm:ssZ")),f="",n.editUserEmailList.length>1)n.outOfOffice.EmailAddress=u.GlobalUserDataList,n.toggleAction==!1&&(n.outOfOffice.Action="Disabled"),f=baseUrlValue+"BulkSetOutOfOffice";else{if(e.EmailAddress==null){s="Out of office replies can not be set as there is no mailbox for this user";$("#createContact_formResult").addClass("alert-danger").html(s);return}n.outOfOffice.EmailAddress=o.email;n.toggleAction==!1&&(angular.copy({},n.outOfOffice),n.outOfOffice.EmailAddress=o.email,n.outOfOffice.Action="Disabled");f=baseUrlValue+"SetOutOfOffice"}t({method:"post",url:f,data:n.outOfOffice}).success(function(){delete u.GlobalUserDataList;delete u.GlobalBulkDataListObj;delete u.GlobalUserEmailAndUpnList;n.editUserEmailList.length>1?r.url("/"):r.url("/viewDetails/"+encodeURIComponent(u.setOutOfOfficeUserData.email))}).error(function(n){var i="Request failed, Unable to fetch out of office user details for the user",t;if(n.Errors){for(i+="<ul>",t=0;t<n.Errors.length;t++)i+="<li>"+n.Errors[t].Message+n.Errors[t].FieldName+" "+n.Errors[t].Detail+"<\/li>";i+="<\/ul>"}else i+=" status code "+n.status;$("#createContact_formResult").addClass("alert-danger").html(i)})}};n.$watch("outOfOffice.StartDate",function(t,r){t!==r&&(n.StartDate_copy=i("date")(n.outOfOffice.StartDate,"dd-MM-yyyy HH:mm"))});n.$watch("StartDate_copy",function(t,i){t!=i&&s.test(t)&&t.length==16?(n.outOfOffice.StartDate=new Date(t.replace(/(\d{2})-(\d{2})-(\d{4}) (\d{2}):(\d{2})/,"$2/$1/$3 $4:$5")),n.outOfOffice.isEndDateInValid=!1,n.invalidDateErrorMessage=""):n.setOutOfOffice_form.setOutOfOfficeInputStartDat.$dirty&&(n.outOfOffice.isEndDateInValid=!0,n.invalidDateErrorMessage="Please enter date in 'DD:MM:YYYY HH:MM' format")});n.$watch("outOfOffice.EndDate",function(t,r){t!==r&&(n.EndDate_copy=i("date")(n.outOfOffice.EndDate,"dd-MM-yyyy HH:mm"))});n.$watch("EndDate_copy",function(t,i){t!==i&&s.test(t)&&t.length==16?(n.outOfOffice.EndDate=new Date(t.replace(/(\d{2})-(\d{2})-(\d{4}) (\d{2}):(\d{2})/,"$2/$1/$3 $4:$5")),n.outOfOffice.isEndDateInValid=!1,n.invalidDateErrorMessage=""):n.setOutOfOffice_form.setOutOfOfficeInputEndDate.$dirty&&(n.outOfOffice.isEndDateInValid=!0,n.invalidDateErrorMessage="Please enter date in 'DD:MM:YYYY HH:MM' format")});n.$watchGroup(["outOfOffice.StartDate","outOfOffice.EndDate"],function(t,i){(t[0]!==i[0]||t[1]!==i[1])&&(n.outOfOffice.EndDate==""||n.outOfOffice.EndDate==null?(n.outOfOffice.isEndDateInValid=!1,n.invalidDateErrorMessage=""):n.outOfOffice.StartDate==""||n.outOfOffice.StartDate==null?(new Date).getTime()>n.outOfOffice.EndDate.getTime()?(n.outOfOffice.isEndDateInValid=!0,n.invalidDateErrorMessage="End Date must not be in the past"):(n.outOfOffice.isEndDateInValid=!1,n.invalidDateErrorMessage=""):n.outOfOffice.StartDate.getTime()>n.outOfOffice.EndDate.getTime()?(n.outOfOffice.isEndDateInValid=!0,n.invalidDateErrorMessage="End Date must be after start date"):n.outOfOffice.StartDate.getTime()==n.outOfOffice.EndDate.getTime()?(n.outOfOffice.isEndDateInValid=!0,n.invalidDateErrorMessage="Start date and End Date can not be same"):(n.outOfOffice.isEndDateInValid=!1,n.invalidDateErrorMessage=""))})}]);userAdminAppControllersModule.controller("UserAdminPermissionsController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","$rootScope","$filter","$parse","growl","PermissionsMembershipColumns","Config","UserAPI","$location",function(n,t,i,r,u,f,e,o,s,h,c,l,a,t){var v,b,k;n.itemsOnPage=l.UserList_ItemsOnPage;n.mainData={};n.segregatedList={};n.segregatedList.smbs={};n.segregatedListCopy={};n.selection={};n.selection.isAllSelected=!1;n.selection.isAllSelected2=!1;n.selection.isAllSelected3=!1;n.selection.isAllSelected4=!1;n.selection.isAllSelected5=!1;n.selection.isAllSelected6=!1;n.selection.isAllUserPolicySelected=!1;n.bulkRemoveList=[];n.bulkRemoveList2=[];n.bulkRemoveList3=[];n.bulkRemoveList4=[];n.bulkRemoveList5=[];n.bulkRemoveList6=[];n.bulkRemoveUserPolicyList=[];n.segregatedList.smbs.List=[];v={};v.email=u.UserForPermissions.UPN;var p=!1,w=!1,y=!1;n.highlightOnlyOwner="";n.permissionsMembershipColumns=new c;b=function(t){return n.segregatedList.smbs.List.some(function(n){return n.Name===t&&n.Type==="Owner"&&!n.selected})};k=function(t){return n.segregatedList.smbs.List.every(function(n){return n.Name===t&&n.Type==="Member"&&!n.selected})};r({method:"post",url:baseUrlValue+"admin/MailboxPermission",data:v}).success(function(t){n.aggregatedList=t;var i=o("EntitySegregateFilter")(n.aggregatedList);n.segregatedList=i;angular.copy(n.segregatedList,n.segregatedListCopy);n.renderValuesToDisplaySubscriptions=function(n){return n}});n.toggleAll=function(){n.bulkRemoveList=[];var t=!1;t=n.selection.isAllSelected?!0:!1;angular.forEach(n.segregatedList.smbs.List,function(i){i.selected=t;i.selected?n.selectItem(i):n.unselectItem(i)})};n.optionToggled=function(t){n.selection.isAllSelected=n.segregatedList.smbs.List.every(function(n){return n.selected});t.selected?n.selectItem(t):n.unselectItem(t)};n.selectItem=function(t){var u=t.EmailAddress,f=t.selected,e=t.EntityType,o=t.Name,s=t.Organisation,i=t.Type,r={};f&&(r={EntityEmailAddress:u,MembershipType:i,EntityType:e},n.bulkRemoveList.push(r),y=i==="Member"?b(o,i):!1)};n.unselectItem=function(t){var u=t.EmailAddress,f=t.selected,e=t.EntityType,r=t.Name,o=t.Organisation,i=t.Type;(t!==undefined||t!==null)&&(n.bulkRemoveList.pop(t),y=i==="Member"?k(r,i):!1)};n.toggleAll2=function(){n.bulkRemoveList2=[];var t=!1;t=n.selection.isAllSelected2?!0:!1;angular.forEach(n.segregatedList.rmbs.List,function(i){i.selected=t;i.selected?n.selectItem2(i):n.unselectItem2(i)})};n.optionToggled2=function(t){n.selection.isAllSelected2=n.segregatedList.rmbs.List.every(function(n){return n.selected});t.selected?n.selectItem2(t):n.unselectItem2(t)};n.selectItem2=function(t){var r=t.EmailAddress,u=t.selected,f=t.EntityType,o=t.Name,s=t.Organisation,e=t.Type,i={};u&&(i={EntityEmailAddress:r,MembershipType:e,EntityType:f},n.bulkRemoveList2.push(i))};n.unselectItem2=function(t){(t!==undefined||t!==null)&&n.bulkRemoveList2.pop(t)};n.toggleAll3=function(){n.bulkRemoveList3=[];var t=!1;t=n.selection.isAllSelected3?!0:!1;angular.forEach(n.segregatedList.sdls.List,function(i){i.selected=t;i.selected?n.selectItem3(i):n.unselectItem3(i)})};n.optionToggled3=function(t){n.selection.isAllSelected3=n.segregatedList.sdls.List.every(function(n){return n.selected});t.selected?n.selectItem3(t):(n.unselectItem3(t),p=!1)};n.selectItem3=function(t){var u=t.EmailAddress,r=t.selected,f=t.EntityType,o=t.Name,s=t.Organisation,e=t.Type,i;p=n.highlightOnlyOwner=t.IsOnlyOwnerToSDL;i={};r=p===!0?!1:!0;r&&(i={EntityEmailAddress:u,MembershipType:e,EntityType:f},n.bulkRemoveList3.push(i))};n.unselectItem3=function(t){(t!==undefined||t!==null)&&n.bulkRemoveList3.pop(t)};n.toggleAll4=function(){n.bulkRemoveList4=[];var t=!1;t=n.selection.isAllSelected4?!0:!1;angular.forEach(n.segregatedList.ddls.List,function(i){i.selected=t;i.selected?n.selectItem4(i):n.unselectItem4(i)})};n.optionToggled4=function(t){n.selection.isAllSelected4=n.segregatedList.ddls.List.every(function(n){return n.selected});t.selected?n.selectItem4(t):n.unselectItem4(t)};n.selectItem4=function(t){var r=t.EmailAddress,u=t.selected,f=t.EntityType,o=t.Name,s=t.Organisation,e=t.Type,i={};u&&(i={EntityEmailAddress:r,MembershipType:e,EntityType:f},n.bulkRemoveList4.push(i))};n.unselectItem4=function(t){(t!==undefined||t!==null)&&n.bulkRemoveList4.pop(t)};n.toggleAll5=function(){n.bulkRemoveList5=[];var t=!1;t=n.selection.isAllSelected5?!0:!1;angular.forEach(n.segregatedList.user.List,function(i){i.selected=t;i.selected?n.selectItem5(i):n.unselectItem5(i)})};n.optionToggled5=function(t){n.selection.isAllSelected5=n.segregatedList.user.List.every(function(n){return n.selected});t.selected?n.selectItem5(t):n.unselectItem5(t)};n.selectItem5=function(t){var r=t.EmailAddress,u=t.selected,f=t.EntityType,o=t.Name,s=t.Organisation,e=t.Type,i={};u&&(i={EntityEmailAddress:r,MembershipType:e,EntityType:f},n.bulkRemoveList5.push(i))};n.unselectItem5=function(t){(t!==undefined||t!==null)&&n.bulkRemoveList5.pop(t)};n.toggleAll6=function(){n.bulkRemoveList6=[];var t=!1;t=n.selection.isAllSelected6?!0:!1;angular.forEach(n.segregatedList.O365Group.List,function(i){i.selected=t;i.selected?n.selectItem6(i):n.unselectItem6(i)})};n.optionToggled6=function(t){n.selection.isAllSelected6=n.segregatedList.O365Group.List.every(function(n){return n.selected});t.selected?n.selectItem6(t):n.unselectItem6(t)};n.selectItem6=function(t){var u=t.EmailAddress,r=t.selected,f=t.EntityType,o=t.Name,s=t.Organisation,e=t.Type,i;w=n.highlightOnlyOwner=t.IsOnlyOwnerToO365Group;i={};r=w===!0?!1:!0;r&&(i={EntityEmailAddress:u,MembershipType:e,EntityType:f},n.bulkRemoveList6.push(i))};n.unselectItem6=function(t){(t!==undefined||t!==null)&&n.bulkRemoveList6.pop(t)};n.removePermissions=function(){if(p){h.error("The current user is the only owner of one of the static distribution lists. Please add atleast one more owner to it");return}if(w){h.error("The current user is the only owner of one of the O365 Groups. Please add atleast one more owner.");return}if(y){h.error("User is the owner of the Shared Mailbox so cannot be removed from Member list");return}var i=n.bulkRemoveList.concat(n.bulkRemoveList2).concat(n.bulkRemoveList3).concat(n.bulkRemoveList4).concat(n.bulkRemoveList5).concat(n.bulkRemoveList6).concat(n.bulkRemoveUserPolicyList),r={RemovedUserEmailAddress:v.email,entityDetails:i};if(i.length===0){h.error("Please select atleast one item to proceed with removal");return}a.RemoveMembership(r).$promise.then(function(){t.path("/viewDetails/"+v.email)})};n.backToDetailsPage=function(){window.history.back()}}]);userAdminAppControllersModule.controller("UserAdminUploadNewUsersController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","$rootScope","FileUploader","UserAPI","blockUI",function(n,t,i,r,u,f,e,o,s,h){function l(n){return n===undefined||n===null?0:n.length}function p(){n.showValidationResults=!1;n.showCreateResults=!1;n.showResultsSuccessCount=!0;n.uploadedFile="";n.totalRecordCount=0;n.validRecordCount=0;n.detailList=[];n.updateUserList=[];n.createMessage=""}function w(){n.fileErrors={fileTooBig:!1,wrongExtension:!1}}var y;n.selectedFile="";var a="admin/useraccounts/bulk/upload/validate",b="admin/useraccounts/bulk/upload",c=100,v={};n.IsCreateExoUserFeatureSelected=!1;p();w();$(function(){$('[data-toggle="tooltip"]').tooltip()});n.uploader=new o({url:baseUrlValue+a,headers:{Authorization:"Bearer "+sessionStorage.getItem("JWToken")},removeAfterUpload:!0});s.GetCreateUserFeatureOption().$promise.then(function(t){n.IsCreateExoUserFeatureSelected=t.option==="true"});n.uploader.onAfterAddingFile=function(t){n.selectedFile=t.file.name;p();w()};n.uploader.onBeforeUploadItem=function(){h.start()};n.uploader.onCompleteAll=function(){h.stop();document.getElementById("csvUploaderControl").value=""};n.resultToString=function(n){var t="Local ID: "+n.User.ExternalSyncId+" OUTCOME: "+n.State;return n.Message!==null&&(t+=": "+(n.Message||"")),t};n.uploader.onSuccessItem=function(t,i){t.url.indexOf("validate")!==-1?(n.uploadedFile=t.file.name,n.totalRecordCount=i.length,n.results=_.groupBy(i,"State"),n.categories=_.allKeys(n.results),n.validRecordCount=n.totalRecordCount-l(n.results.UNPROCESSED)-l(n.results.INVALID)-l(n.results.ACCESS_DENIED),n.showValidationResults=!0,v=t):(n.createMessage="Bulk upload request started. You will receive an email with the results once the update has completed.",n.showCreateResults=!0,n.showValidationResults=!1)};n.createDisabled=function(){return n.totalRecordCount===0||n.validRecordCount===0||n.createMessage==="Bulk create request failed"};n.uploader.onErrorItem=function(t,i){var r;if(n.uploadedFile=t.file.name,i.NumberOfRecords!=undefined){if(i.NumberOfRecords)for(n.totalRecordCount=i.NumberOfRecords,n.validRecordCount=i.NumberOfValidRecords,r=0;r<i.Errors.length;r++){if(r>c){n.detailList.push("error list limited to first "+c);break}n.detailList.push(i.Errors[r].Detail)}else n.showResultsSuccessCount=!1,i.Errors&&i.Errors.length>0?n.detailList.push(i.Errors[0].Message+": "+i.Errors[0].Detail):n.detailList.push("Failed to parse file");n.showValidationResults=!0}else{if(n.createMessage="Bulk create request failed",i.Errors)for(r=0;r<i.Errors.length;r++){if(r>c){n.detailList.push("error list limited to first "+c);break}n.detailList.push(i.Errors[r].Detail)}n.showCreateResults=!0}};y=4194304;n.validateUpload=function(){var t=n.uploader.queue[0].file;if(t.size>y){n.fileErrors.fileTooBig=!0;n.uploader.clearQueue();return}if(t.name.split(".").pop()!="csv"){n.fileErrors.wrongExtension=!0;n.uploader.clearQueue();return}n.uploader.queue[0].url=baseUrlValue+a;n.uploader.uploadAll()};n.createUpload=function(){n.uploader.url=baseUrlValue+b;n.uploader.addToQueue(v._file);n.uploader.uploadAll()};n.cancelClick=function(){window.history.back()}}]);userAdminAppControllersModule.controller("UserAdminViewDetailsController",["$scope","$location","$routeParams","$modal","UserAPI","$sessionStorage","UserListVisibleColumns","UserListColumns","GlobalDataService","DirectiveHelpers","$filter","OrganisationObjectHelperService","$window","PermissionChecker","growl","Config","$http","ViewOrganisationAPI","FetchUPN","PicklistAPI","CurrentUser","OrganisationListAPI",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g,nt){function at(){a.sessionStorage.removeItem(i.upn);a.sessionStorage.removeItem("userData");a.sessionStorage.removeItem("userEmail");delete f.setOutOfOfficeUserData;delete f.ApplicationAccountValue;delete f.UserForPermissions}var st,wt,gt,ni,vt,yt;n.showAndHideDeleteButton=!1;n.isEditSubscriptionPermissionPresent=!1;n.userAction={};n.CustomAttributeValue1="";n.CustomAttributeValue2="";n.CustomAttributeValue3="";n.CustomAttributeValue4="";n.CustomAttributeValue5="";n.suggestEmailText="Select Other Email";n.delMailboxAction={};n.deleteRestoreMailboxData={};f.UserForPermissions={};f.UserForPermissions.UPN="";n.UserRoles=[];n.FilterParameters={};n.RoleDetails={};n.mailBoxSelectEmail={};n.mailBoxInputEmail="";n.isStartDateInValid=!1;n.MsLiveEventsEnabled=!1;n.IsEXOUser=!1;n.IsMsLiveEventEligible=!1;n.IsO365ArchivingEligible=!1;n.O365ArchivingEnabled=!1;n.exoArchive=!1;n.isEndDateInValid=!1;n.isEndDateAfterStartDate=!0;n.customAttributesList=[];n.selectOtherEmail=!0;n.emailUpdateRequired=!1;n.userDetails={};n.localCustomAttr=[];n.SelectedOrganisation={};n.SelectedOrganisation.Name="";n.SelectedSiteId="00000000-0000-0000-0000-000000000000";n.userDetails.emailCheckError=!1;n.userDetails.emailIsCurrentEmailError=!1;n.userDetails.emailNotSelectedFromSuggestions=!1;n.userDetails.emailEntryNotValid=!1;n.userDetails.emailCheckSuccess=!1;n.confirmButtonDisabled=!0;n.isShowMailStatistic=!1;n.isShowMailStatisticError=!1;n.isShowMailSubscription=!1;n.isShowMailSubscriptionError=!1;n.disableMailboxStatistic=!0;n.disableMobileDevices=!0;n.skypeCheckboxHidden=!0;n.userDetails.VoiceAndVideo=!1;n.userDetails.DialIn=!1;n.MailboxesSubsEnabled=!1;n.disableEditField=!0;n.disableUserPolicyEditField=!1;n.voiceAndVideoSubscriptionModal=!1;n.dialInSubscriptionModal=!1;n.userDetails.IsApplicationAccount=!1;n.isHideFromAddressList=!1;st="";n.emailListForAliasSuggestion=[];n.formParams={};n.treedataMailMover=[];n.expandedNodesMailMover=[];n.currentNodeMailMover=null;n.NASEnabled=!1;var ti=!1,ut=[],tt=[],it=[],pt=[];n.UserGlobalRoles=!1;n.resetPasswordDisabledForOtherRoles=!0;n.disableMobilePhoneHidden=!1;n.disableDeleteOneDrive=!1;n.PopDisable=!1;n.disableMailboxSearch=!1;n.isUserPolicyVisible=!1;n.MFALabelName="Enable MFA";n.currentIsDefaultUserPolicy="";n.TitleList=[{name:"Mr",value:"Mr"},{name:"Mr.",value:"Mr."},{name:"Mrs",value:"Mrs"},{name:"Miss",value:"Miss"},{name:"Ms",value:"Ms"},{name:"Ms.",value:"Ms."},{name:"Dr",value:"Dr"},{name:"Brother",value:"Brother"},{name:"Canon",value:"Canon"},{name:"Father",value:"Father"},{name:"Lady",value:"Lady"},{name:"Lord",value:"Lord"},{name:"Major",value:"Major"},{name:"Nurse",value:"Nurse"},{name:"Professor",value:"Professor"},{name:"Rabbi",value:"Rabbi"},{name:"Reverend",value:"Reverend"},{name:"Right Reverend Monsignor",value:"Right Reverend Monsignor"},{name:"Sir",value:"Sir"},{name:"Sister",value:"Sister"}];n.SelectedSite={SiteId:"",SiteName:""};wt="USER_UPDATE";n.isEditRoleAllowed=!0;var ft=/^(?=\d)(?:(?!(?:(?:0?[5-9]|1[0-4])(?:\.|-|\/)10(?:\.|-|\/)(?:1582))|(?:(?:0?[3-9]|1[0-3])(?:\.|-|\/)0?9(?:\.|-|\/)(?:1752)))(31(?!(?:\.|-|\/)(?:0?[2469]|11))|30(?!(?:\.|-|\/)0?2)|(?:29(?:(?!(?:\.|-|\/)0?2(?:\.|-|\/))|(?=\D0?2\D(?:(?!000[04]|(?:(?:1[^0-6]|[2468][^048]|[3579][^26])00))(?:(?:(?:\d\d)(?:[02468][048]|[13579][26])(?!\x20BC))|(?:00(?:42|3[0369]|2[147]|1[258]|09)\x20BC))))))|2[0-8]|1\d|0?[1-9])([-.\/])(1[012]|(?:0?[1-9]))\2((?=(?:00(?:4[0-5]|[0-3]?\d)\x20BC)|(?:\d{4}(?:$|(?=\x20\d)\x20)))\d{4}(?:\x20BC)?)(?:$|(?=\x20\d)\x20))?((?:(?:0?[1-9]|1[012])(?::[0-5]\d){0,2}(?:\x20[aApP][mM]))|(?:[01]\d|2[0-3])(?::[0-5]\d){1,2})$/,ii=/^[-a-zA-Z0-9\'.]+$/,ri=/Pending/gi,ui=/Delete/gi;n.del=!1;n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.userUpdatePermission=!1;n.userExportDetailsPermission=!1;n.ApplicationUpdatePermission=!1;n.AUPStatus="";n.treedata=[];n.expandedNodes=[];n.currentNode=null;n.domain=domainAddress;n.userRestorePermission=!1;n.isGlobalAdminRoles=!1;n.userMFAReEnrolPermission=!1;v.populateRoleNames();v.contains("USER_UPDATE")&&(n.userUpdatePermission=!0);v.contains("USER_READ")&&(n.userExportDetailsPermission=!0);v.contains("MFA_REENROL")&&(n.userMFAReEnrolPermission=!0);v.contains("APPLICATION_MAILBOX")&&(n.ApplicationUpdatePermission=!0);v.contains("USER_DELETE")&&(n.showAndHideDeleteButton=!0);v.contains("TOP_UP_UPDATE")&&(n.isEditSubscriptionPermissionPresent=!0);v.contains("TOP_UP_UPDATE")&&(n.disableEditField=!1);v.contains("USER_RESTORE")&&(n.userRestorePermission=!0);(v.getRoleName()=="Global Helpdesk"||v.getRoleName()=="Local Helpdesk"||v.getRoleName()=="Authorisations"||v.getRoleName()=="Audit"||v.getRoleName()=="Connector")&&(n.isEditRoleAllowed=!1);var bt,et=function(n){return n=="Deleted"||n=="Deleting"||n=="Restoring"||n=="Deleted (Leaver)"},kt=function(n){return n=="Disabled"||n=="Disabling"||n=="Enabling"||n=="Disabled (Leaver)"},fi=function(n){return n=="Disabling"||n=="Enabling"||n=="Disabled (Leaver)"},ot=function(n){return n=="Disabling"||n=="Enabling"||n=="Deleting"||n=="Restoring"||n=="Unlocking"},ht=function(n){return et(n)||kt(n)},ei=function(n){return ht(n)&&n!="Inactive"||n=="Deleted_Permanent"||n=="PendingErr"},ct=function(n){return ot(n)||n=="Deleted_Permanent"||n=="PendingErr"||n=="Deleted (Leaver)"},oi=function(n){return ht(n)||n=="Inactive"||n=="Deleted_Permanent"||n=="MigrationPending"||n=="Pending"||n=="PendingErr"},si=function(n){return ht(n)||n=="Deleted_Permanent"||n=="Pending"||n=="PendingErr"||n=="MigrationPending"},lt=function(n){return et(n)||n=="Deleted_Permanent"||n=="Pending"||n=="PendingErr"||n=="MigrationPending"},hi=function(n){return ot(n)||n=="Deleted_Permanent"||n=="MigrationPending"||n=="PendingErr"||n=="Pending"},ci=function(n){return n!="Locked"},li=function(n){return lt(n)||ct(n)||fi(n)},ai=function(n){return lt(n)||ct(n)||kt(n)};n.getDisableMailboxStatistic=function(){n.userDetails.Status=="Deleted"||n.userDetails.Status=="Deleted (Leaver)"||n.userDetails.Status=="Deleting"||n.userDetails.Status=="Restoring"||n.userDetails.Status=="Pending"||n.userDetails.Status=="MigrationPending"||n.userDetails.Status=="Deleted_Permanent"?(n.disableMailboxStatistic=!0,n.disableMobileDevices=!0):(n.disableMailboxStatistic=!1,n.disableMobileDevices=!1)};var dt=function(n){return n=="Active (Leaver)"||n=="Enabling"||n=="Disabling"||n=="Disabled (Leaver)"||n=="Deleted"||n=="Deleted_Permanent"||n=="Deleting"||n=="Restoring"||n=="PendingErr"||n=="Deleted (Leaver)"||n=="Pending"||n=="Disabled"||n=="MigrationPending"},vi=function(n){return ri.test(n)},yi=function(n){return ui.test(n)},pi=function(n){return et(n)||ot(n)||n=="Deleted_Permanent"||n=="Pending"||n=="PendingErr"},wi=function(n){return et(n)||ot(n)||n=="Deleted_Permanent"||n=="PendingErr"},bi=function(){return n.userDetails.Status=="MigrationPending"},ki=function(t){n.resetPasswordDisabled=ei(t);n.authenticateUserDisabled=ct(t);n.delegateMailboxDisabled=oi(t);n.setOutOfOfficeDisabled=si(t);n.enableDisableDisabled=lt(t);n.MFAReEnrolUserDetailsDisabled=pi(t);n.exportUserDetailsDisabled=wi(t);n.deleteUndeleteDisabled=hi(t);n.unlockUserDisabled=ci(t);n.markAsLeaverDisabled=dt(t);n.transferButtonDisabled=li(t);n.permissionButtonDisabled=ai(t);n.checkPendingOtherSuffixes=vi(t);n.checkDeleteOtherSuffixes=yi(t);n.disableDeleteOneDrive=bi();n.getDisableMailboxStatistic()},di=function(t){t=="Deleted"||t=="Deleted (Leaver)"?(angular.element("#viewDetailsDeleteUndeleteMailbox").text("Restore"),n.del=!1):(angular.element("#viewDetailsDeleteUndeleteMailbox").text("Delete"),n.del=!0)},gi=function(n){n=="Disabled"||n=="Inactive"||n=="Disabled (Leaver)"?angular.element("#viewDetailsEnableDisable").text("Enable"):angular.element("#viewDetailsEnableDisable").text("Disable")},nr=function(n){di(n);gi(n)},tr=function(n){n=="Locked"?$("#viewDetailsEnableDisable").hide():$("#viewDetailsEnableDisable").show()},ir=function(t){n.delMailboxAction=t=="Deleted"||t=="Deleted (Leaver)"?"Restore":"Delete"},rr=function(t){n.userAction.Action=t=="Locked"?"UnlockUser":t=="Disabled"||t=="Inactive"||t=="Disabled (Leaver)"?"Enable":"Disable"},ur=function(n){ir(n);rr(n)},rt=function(n){ki(n);nr(n);tr(n);ur(n)},fr=function(n){return n==="Local Admin"},er=function(n){return n==="Authorisations"};gt=function(){n.isVoiceAndVideoSubscriptionModalEnabled=n.VoiceAndVideoSubsEnabled;n.isDialInSubscriptionModalDisabled=n.DialInEnabled&&n.VoiceAndVideoSubsEnabled};ni=function(){v.contains("TOP_UP_UPDATE")?gt():n.disableEditField=!0};n.modalMarkupLoaded=function(){u.GetUserDetails({upn:i.upn}).$promise.then(function(t){function l(){var r=a.sessionStorage.getItem(i.upn);r=angular.fromJson(r);r!=null&&e&&r.length>0?angular.forEach(r,function(t){n.UserRoles.push(t)}):angular.forEach(t.Roles,function(t){n.UserRoles.push(t);a.sessionStorage.setItem(i.upn,JSON.stringify(n.UserRoles))})}function v(){angular.forEach(n.UserRoles,function(n){n.RoleDefinition.DisplayName!="O365_EVENTS"?(n.isRemoveCrossVisible=p.ATPRoles.indexOf(n.RoleDefinition.DisplayName)!==-1,n.isRemoveCrossVisible||(n.isRemoveCrossVisible=p.B2BRoles.indexOf(n.RoleDefinition.DisplayName)!==-1),tt.some(f)||n.RoleDefinition.DisplayName=="Global Admin"&&(n.isRemoveCrossVisible=!0)):n.isRemoveCrossVisible=!0})}var u,r,e;n.userListItems=t;n.userListItems.IsCloudMailbox?(n.IsEXOUser=!0,n.userListItems.MailboxLocation=p.MailboxLocations[0]):n.userListItems.MailboxLocation=p.MailboxLocations[1];n.IsMsLiveEventEligible=n.userListItems.IsMsLiveEventEligible;n.MsLiveEventsEnabled=n.userListItems.MsLiveEventsEnabled;n.IsO365ArchivingEligible=n.userListItems.IsO365ArchivingEligible;n.O365ArchivingEnabled=n.userListItems.O365ArchivingEnabled;n.IsO365ArchivingEligible&&n.IsEXOUser?(n.exoArchive=!0,n.O365ArchivingEnabled=!0):n.O365ArchivingEnabled=!1;(n.IsMsLiveEventEligible||!n.IsEXOUser)&&$("#onoffswitchOrgTabDiv").tooltip("disable");n.NASEnabled=t.Organisation.NASEnabled;angular.forEach(t.Roles,function(n){ut.push(n.RoleDefinition.DisplayName)});var f=function(n){return n=="Global Admin"},o=function(n){return n=="Global Report Admin"},h=function(n){return n=="Local Report Admin"};if(angular.forEach(g.Roles,function(n){tt.push(n.RoleDefinition.DisplayName)}),tt.some(f)&&ut.some(f)&&(n.resetPasswordDisabledForOtherRoles=!0),!tt.some(f)&&ut.some(f)&&(n.resetPasswordDisabledForOtherRoles=!1),tt.some(f)&&!ut.some(f)&&(n.resetPasswordDisabledForOtherRoles=!0),(tt.some(o)||tt.some(h))&&(n.resetPasswordDisabledForOtherRoles=!1),n.userListItems.IsMFAEnabled?(n.IsMFAEnabled=!0,n.MFALabelName="Disable MFA"):(n.IsMFAEnabled=!1,n.MFALabelName="Enable MFA"),n.AuthenticationLocked=n.userListItems.AuthenticationLocked?!1:!0,n.userListItems.HideMobileFromAddressList||(n.disableMobilePhoneHidden=!0),n.userListItems.CustomAttributesList)for(u=n.userListItems.CustomAttributesList,r=0;r<u.length;r++)switch(u[r].CustomAttributeKey){case"1":n.CustomAttributeValue1=u[r].CustomAttributeValue;break;case"2":n.CustomAttributeValue2=u[r].CustomAttributeValue;break;case"3":n.CustomAttributeValue3=u[r].CustomAttributeValue;break;case"4":n.CustomAttributeValue4=u[r].CustomAttributeValue;break;case"5":n.CustomAttributeValue5=u[r].CustomAttributeValue}n.ApplicationAccountValue=n.userListItems.IsApplicationAccount;n.userListItems.AUPAcceptedStatus==!1?(n.AUPStatus="Not Accepted",n.disableUserPolicyEditField=!0):n.AUPStatus="Accepted";n.userDataCopy=angular.fromJson(a.sessionStorage.getItem("userData"));n.userDetails=n.userDataCopy!=undefined||n.userDataCopy!=null?n.userDataCopy:n.userListItems;(n.userDetails.Status=="MigrationPending"||n.userDetails.Status=="Pending")&&(n.PopDisable=!0);angular.forEach(n.userDetails.Subscriptions,function(t){(t.ID==2||t.ID==5||t.ID==6)&&(n.userListItems.VoiceAndVideo=!0,n.voiceAndVideoSubscriptionModal=!0);t.ID==4&&(n.dialInSubscriptionModal=!0)});n.voiceAndVideoSubscriptionModal==!1?(n.dialInSubscriptionModal=!1,n.isDialInSubscriptionModalDisabled=!0):(n.isDialInSubscriptionModalDisabled=n.DialInEnabled&&n.VoiceAndVideoSubsEnabled?!0:!1,n.isDialInSubscriptionModalDisabled=!1);n.disableAllInputFields=n.userDetails.Status==="Deleted"||n.userDetails.Status==="Deleting"||n.userDetails.Status==="Deleted_Permanent"||n.userDetails.Status==="Deleted (Leaver)"||n.userDetails.Status==="PendingErr"?!0:!1;(n.userDetails.Status==="Pending"||n.userDetails.Status==="MigrationPending")&&(n.disableUserPolicyEditField=!0);n.SelectedSite.SiteId=n.userListItems.SiteId;n.SelectedSite.SiteName=n.userListItems.SiteName;n.userAction.EmailAddress=n.userListItems.Email;n.initialEmailAddress=n.userListItems.Email;n.emailAliases=n.userListItems.EmailAliases;angular.forEach(n.emailAliases,function(t,i){t.toLowerCase().includes("sip:")&&(n.emailAliases[i]="")});n.noEmailAlises=n.emailAliases.length==0||n.userDetails.Status=="MigrationPending";n.initialFirstName=n.userListItems.FirstName;n.initialLastName=n.userListItems.LastName;st=n.userListItems.Email.substring(0,n.userListItems.Email.lastIndexOf("@"));n.userAction.UserPrincipalName=n.userDetails.UserPrincipalName;n.deleteRestoreMailboxData.UserPrincipalName=n.userDetails.UserPrincipalName;n.deleteRestoreMailboxData.permission=wt;s.setOutOfOfficeUserData(n.userDetails.Email);n.OUHierarchyView();e=i.editRole;ti=e;i.editRole=!1;n.userDetails.IsApplicationAccount=n.userListItems.IsApplicationAccount===undefined?!1:n.userListItems.IsApplicationAccount;n.userDetails.IsApplicationAccount==!0&&(n.isHideFromAddressList=!0);n.currentIsDefaultUserPolicy=n.userListItems.UserPolicyName;n.currentSelectedPolicyId=n.userListItems.UserPolicyId;l();v();bt=n.$watchGroup(["userDetails.FirstName","userDetails.LastName"],function(){n.firstNameCopy="";n.lastNameCopy="";$("#userDetails_formResult").removeClass("alert-success alert-danger").html("");n.userDetails.emailCheckError=!1;n.userDetails.emailCheckSuccess=!1;n.mailBoxInputEmail="";n.firstNameCopy=n.userDetails_form.userDetailsInputFirstName.$valid&&n.userDetails.FirstName!=undefined?c("capitalize")(n.userDetails.FirstName,!0):"";n.lastNameCopy=n.userDetails_form.userDetailsInputLastName.$valid&&n.userDetails.LastName!=undefined?n.userDetails.LastName.toUpperCase():"";n.userDetails.FirstName===n.initialFirstName&&n.userDetails.LastName===n.initialLastName?(n.emailUpdateRequired=!1,n.userDetails.DisplayName=n.lastNameCopy+", "+n.firstNameCopy+" ("+n.userDetails.Organisation.Name.toUpperCase()+")"):(n.userDetails.FirstName!=""||n.userDetails.LastName!=""?(n.userDetails.DisplayName=n.lastNameCopy+", "+n.firstNameCopy+" ("+n.userDetails.Organisation.Name.toUpperCase()+")",n.emailUpdateRequired=!0,n.getEmailSuggestion()):n.userDetails.DisplayName="",n.lastNameCopy==""&&n.firstNameCopy==""&&(n.userDetails.DisplayName=""))});n.stopUpdating=function(){bt()};rt(n.userDetails.Status);d.GetClinicalRole().$promise.then(function(t){n.clinicalRole=t;n.clinicalRole=c("orderObjectBy")(n.clinicalRole,"Description");angular.forEach(n.UserRoles,function(t){angular.forEach(n.clinicalRole,function(n){var i=n.Description.split("NHSmail Administration - "),r=i[1];t.RoleDefinition.DisplayName===r&&pt.push(n)})});angular.forEach(pt,function(t){n.userDetails.ClinicalRole.push(t)});n.userDetails.ClinicalRole=c("unique")(n.userDetails.ClinicalRole,"ID")})})};n.modalMarkupLoaded();n.viewMarkAsLeaverConfiramtion=function(){n.confirm()};n.cancelMarkAsLeaverConfiramtion=function(){n.hideModal("MarkAsLeaverConfiramtionModal")};n.confirm=function(){u.MarkAsLeaver({OrganisationID:n.userDetails.Organisation.ID,UPN:n.userDetails.UserPrincipalName}).$promise.then(function(){n.userDetails.Status="Active (Leaver)";dt(n.userDetails.Status);(n.userDetails.Status=="Active (Leaver)"||"Disabled(Leaver)")&&(n.SelectedSite.SiteId="",n.SelectedSite.SiteName="");n.hideModal("MarkAsLeaverModal");t.path("/")})};n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.organisationChange()};n.organisationChange=function(){n.SelectedOrganisation!==null&&n.SelectedOrganisation!==undefined?(angular.copy([],n.treedataMailMover),angular.copy([],n.expandedNodesMailMover),angular.copy(null,n.currentNodeMailMover),b.ViewOrganisation(n.SelectedOrganisation).$promise.then(function(t){n.isOrganisationSelected=!0;n.treedataMailMover.push(angular.copy(t));n.expandedNodesMailMover=[n.treedataMailMover[0]];n.currentNodeMailMover=n.treedataMailMover[0]}),u.GetSiteList({id:n.SelectedOrganisation.ID}).$promise.then(function(t){n.siteDetails=t;n.siteNameAndOdsCode()})):(angular.copy([],n.treedataMailMover),n.SelectedOrganisation=undefined,n.isOrganisationSelected=!1)};n.$watch("SelectedOrganisation.Name",function(t,i){t!==i&&(n.confirmButtonDisabled=t!=="Select Organisation"?!1:!0)});n.markAsLeaverDisabledAfterConfirm=function(){if(n.userDetails.Status=="Active (Leaver)"||n.userDetails.MarkAsLeaverDate!=null)return!0};n.unlockUser=function(){u.Unlock({initialEmailAddress:n.initialEmailAddress},n.userAction).$promise.then(function(){n.userAction.Action=="UnlockUser"&&(n.userDetails.Status="Unlocking",rt(n.userDetails.Status))})};n.enableDisable=function(){n.userAction.Action=="Enable"?u.EnableUser(n.userAction).$promise.then(function(){n.userDetails.Status=n.userDetails.Status=="Disabled (Leaver)"?"Active (Leaver)":"Enabling";rt(n.userDetails.Status)}):n.userAction.Action=="Disable"&&u.DisableUser(n.userAction).$promise.then(function(){n.userDetails.Status="Disabling";rt(n.userDetails.Status)})};n.deleteUndeleteMailbox=function(){n.delMailboxAction=="Delete"?w({method:"delete",url:baseUrlValue+"DeleteMailbox",headers:{"Content-Type":"application/json;charset=utf-8"},data:n.deleteRestoreMailboxData}).success(function(){n.userDetails.Status="Deleting";n.disableAllInputFields=!0;n.disableMailboxSearch=!0;rt(n.userDetails.Status);t.path("/")}).error(function(t){var i="Delete request failed: ";i+=angular.isDefined(t.Errors)&&t.Errors[0].ErrorCode==132?t.Errors[0].Message:"user status must be Active to be deleted";y.error(i);n.disableAllInputFields=!1;n.disableMailboxSearch=!1}):$("#userRestoreModal").modal("show")};n.confirmUserRestore=function(){u.RestoreMailbox(n.deleteRestoreMailboxData).$promise.then(function(){n.userDetails.Status="Restoring";rt(n.userDetails.Status)});$("#userRestoreModal").modal("hide")};n.cancelUserRestore=function(){n.hideModal("userRestoreModal")};n.userDetailsCancelClick=function(){at();t.path("/")};$(".tree-nav").treed();n.SetOutOfOfficeClick=function(){f.setOutOfOfficeUserData={email:n.userDetails.Email};t.path("/Users/SetOutOfOffice")};n.userResetPassword=function(){t.path("/resetPassword");t.search("UPN",n.userDetails.Email);t.search("ApplicationAccount",n.userListItems.IsApplicationAccount?"true":"false")};n.CreateDynamicID=function(n){return"ViewDetails"+n.replace(/[^a-zA-Z]/g,"")};n.editCustomAttribute=!1;n.getCustomAttribute=function(){!n.userUpdatePermission||n.disableAllInputFields?event.stopPropagation():n.editCustomAttribute=!0};n.editClinicalRolesIsActive=!1;n.editClinicalSpecialityIsActive=!1;n.editWorkAreaIsActive=!1;n.getClinicalRoleDetails=function(){!n.userUpdatePermission||n.disableAllInputFields?event.stopPropagation():n.editClinicalRolesIsActive=!0};n.getClinicalSpecialityDetails=function(){!n.userUpdatePermission||n.disableAllInputFields?event.stopPropagation():(n.editClinicalSpecialityIsActive=!0,n.clinicalSpeciality=d.GetClinicalSpeciality())};n.getWorkAreaDetails=function(){!n.userUpdatePermission||n.disableAllInputFields?event.stopPropagation():(n.workArea=d.GetWorkArea(),n.editWorkAreaIsActive=!0)};n.compareNewlyAddedRoles=function(){var t,i;angular.forEach(n.UserRoles,function(n){_.contains(it,n.RoleDefinition.DisplayName)||it.push(n.RoleDefinition.DisplayName)});t=_.difference(it,ut);t.length==0&&(n.UserGlobalRoles=!1);i=!0;angular.forEach(t,function(t){i&&(t=="Global Admin"||t=="Global Helpdesk"||t=="Tenant Admin"?(n.UserGlobalRoles=!0,i=!1):n.UserGlobalRoles=!1)})};n.updateUserDetailsClick=function(t){($("#userDetails_formResult").removeClass("alert-success alert-danger").html(""),(t.customAttrtxt1&&t.customAttrtxt2&&t.customAttrtxt3&&t.customAttrtxt4&&t.customAttrtxt5)==undefined?(n.CustomAttributeValue1="",n.CustomAttributeValue2="",n.CustomAttributeValue3="",n.CustomAttributeValue4="",n.CustomAttributeValue5=""):(n.CustomAttributeValue1=t.customAttrtxt1.$modelValue,n.CustomAttributeValue2=t.customAttrtxt2.$modelValue,n.CustomAttributeValue3=t.customAttrtxt3.$modelValue,n.CustomAttributeValue4=t.customAttrtxt4.$modelValue,n.CustomAttributeValue5=t.customAttrtxt5.$modelValue),t.$invalid)||(n.compareNewlyAddedRoles(),n.UserGlobalRoles?angular.element("#verifyGlobalAdminRolesModal").modal("show"):vt())};vt=function(){var i,r;if(n.userDetails.O365ArchivingEnabled=n.O365ArchivingEnabled,n.userDetails.MsLiveEventsEnabled=n.MsLiveEventsEnabled,n.userDetails.SiteId=n.SelectedSite.SiteId,n.userDetails.SiteName=n.SelectedSite.SiteName,n.userDetails.emailIsCurrentEmailError=!1,n.userDetails.emailNotSelectedFromSuggestions=!1,n.userDetails.emailEntryNotValid=!1,n.userDetails.emailCheckError!==!0){if(n.emailUpdateRequired)if(n.selectOtherEmail){if(n.userDetails.NewEmail=angular.lowercase(n.mailBoxSelectEmail)+n.domain,n.mailBoxSelectEmail===""){n.userDetails.emailNotSelectedFromSuggestions=!0;return}n.userDetails.NewEmail=n.userDetails.NewEmail===n.userDetails.Email?null:angular.lowercase(n.mailBoxSelectEmail)+n.domain;n.userDetails.Email=n.initialEmailAddress}else{if(n.mailBoxInputEmail===""||!h.IsValidNhsEmailName(n.mailBoxInputEmail)){n.userDetails.emailEntryNotValid=!0;return}if(i=angular.lowercase(n.mailBoxInputEmail)+n.domain,i!==angular.lowercase(n.initialEmailAddress))n.userDetails.NewEmail=n.userDetails.NewEmail===n.userDetails.Email?null:i,n.userDetails.Email=n.initialEmailAddress;else if(i===angular.lowercase(n.initialEmailAddress))n.userDetails.emailIsCurrentEmailError=!1;else{n.userDetails.emailIsCurrentEmailError=!0;return}}angular.copy(n.UserRoles,n.userDetails.Roles);n.currentNode!=null&&(r={ID:n.currentNode.ID},angular.copy(r,n.userDetails.OrganisationUnit));n.currentNode!=null&&(n.userDetails.OrganisationUnit={ID:n.currentNode.ID,Name:n.currentNode.Name});n.customAttributesList=[{CustomAttributeKey:1,CustomAttributeValue:n.CustomAttributeValue1},{CustomAttributeKey:2,CustomAttributeValue:n.CustomAttributeValue2},{CustomAttributeKey:3,CustomAttributeValue:n.CustomAttributeValue3},{CustomAttributeKey:4,CustomAttributeValue:n.CustomAttributeValue4},{CustomAttributeKey:5,CustomAttributeValue:n.CustomAttributeValue5}];n.userDetails.CustomAttributesList=n.customAttributesList;n.userDetails.UserPolicyId=n.currentSelectedPolicyId;w({method:"PUT",url:baseUrlValue+"admin/useraccounts/"+n.userDetails.UserPrincipalName,data:n.userDetails}).success(function(){at();t.path("/")}).error(function(n){var i=" ",t;if(n.Errors){for(t=0;t<n.Errors.length;t++)i=n.Errors[t].Message;y.error(i)}})}};n.confirmGlobalAdminRoles=function(){vt();angular.element("#verifyGlobalAdminRolesModal").modal("hide")};n.cancelGlobalAdminRoles=function(){angular.element("#verifyGlobalAdminRolesModal").modal("hide")};n.addAdminRole=function(){!n.userUpdatePermission||n.disableAllInputFields?event.stopPropagation():(a.sessionStorage.setItem(i.upn,JSON.stringify(n.UserRoles)),t.path("/Users/AddRole/"+n.userDetails.UserPrincipalName))};n.delegateUserMailbox=function(){t.path("/Users/DelegateMailboxAccess/"+n.userDetails.UserPrincipalName)};n.fetchAllBasedOnPermissions=function(){var i={UPN:n.userDetails.UserPrincipalName};f.UserForPermissions.UPN=i.UPN;t.path("/Users/Mailbox")};n.removeRole=function(t){var u=[],e=!1,i,r,f;angular.forEach(n.UserRoles,function(n){n.RoleDefinition.ID==t.RoleDefinition.ID&&n.Organisation.ID==t.Organisation.ID&&n.OrganisationUnit.ID==t.OrganisationUnit.ID?e=!0:u.push(n)});angular.copy(u,n.UserRoles);it.length>0&&it.splice(_.indexOf(it,t.RoleDefinition.DisplayName),1);i=!1;angular.forEach(n.UserRoles,function(n){n.RoleDefinition.ID===t.RoleDefinition.ID&&(i=!0)});r=[];f=!1;i||(angular.forEach(n.userDetails.ClinicalRole,function(i){var o=i.Description.split("NHSmail Administration - "),u=o[1],e;t.RoleDefinition.DisplayName===u?(f=!0,e=_.findIndex(n.clinicalRole,{Description:"NHSmail Administration - "+u}),n.clinicalRole.splice(e,1)):r.push(i)}),angular.copy(r,n.userDetails.ClinicalRole),n.userDetails.ClinicalRole=c("unique")(n.userDetails.ClinicalRole,"ID"))};n.editUserOU=function(){!n.userUpdatePermission||n.disableAllInputFields?event.stopPropagation():(angular.copy([],n.treedata),angular.copy([],n.expandedNodes),angular.copy(null,n.currentNode),$("#userDetails_formResult").removeClass("alert-success alert-danger").html(""),b.ViewOrganisation(n.userDetails.Organisation).$promise.then(function(t){n.treedata.push(t);var i=l.getPathOfNodeInTreeObject(n.userDetails.OrganisationUnit,n.treedata[0],"treedata[0]");angular.copy([],n.expandedNodes);n.expandedNodes=l.getExpandedTreeNodesTillSelectedNode(n.$eval(i),n.treedata[0],[]);n.currentNode=n.$eval(i);n.originallySelectedNodeBeforeEdit=n.$eval(i);angular.element("#editUserEditOUModal").modal("show")}))};n.OUHierarchyView=function(){b.ViewOrganisation(n.userDetails.Organisation).$promise.then(function(t){var i,r;n.OUHierarchyInOrganisation=l.getNamePathOfNodeInTreeObjectRecursiveSearch(n.userDetails.OrganisationUnit,t,"");t!==null&&(i={},i.targetOrganisation=n.userDetails.Organisation.ID,nt.GetCount(i).$promise.then(function(t){n.countLargeMailboxes=t.LargeMailboxCount}),n.quotaLimitSize=t.LargeMailboxQuotaLimit,t.organisationProperties!==null&&(r=t.organisationProperties.PropertiesDetails,ni(),n.disableVoiceAndVideoSubscription=v.contains("TOP_UP_UPDATE")&&n.VoiceAndVideoSubsEnabled?!1:!0),(t.organisationProperties==null||t.organisationProperties==undefined)&&(n.disableEditField=!0))})};n.editSite=function(){!n.userUpdatePermission||n.disableAllInputFields?event.stopPropagation():(angular.element("#siteModal").modal("show"),u.GetSiteList({id:n.userDetails.Organisation.ID}).$promise.then(function(t){n.userDetails.sites=t;n.siteNameAndOdsCodeList()}))};n.siteConfirm=function(){n.site!=undefined||n.site!=null?(n.SelectedSite.SiteId=n.site.ID,n.SelectedSite.SiteName=n.site.Name):(n.SelectedSite.SiteId="00000000-0000-0000-0000-000000000000",n.SelectedSite.SiteName=null);n.hideModal("siteModal")};n.siteNameAndOdsCodeList=function(){angular.forEach(n.userDetails.sites,function(n){n.Name.includes(n.ODSCode)||(n.Name=n.Name+"  -  "+n.ODSCode)})};n.CancelOUEdit=function(){n.currentNode=n.originallySelectedNodeBeforeEdit;n.hideModal("editUserEditOUModal")};n.ConfirmOUEdit=function(){angular.copy(n.currentNode,n.userDetails.OrganisationUnit);n.OUHierarchyInOrganisation=l.getNamePathOfNodeInTreeObjectRecursiveSearch(n.currentNode,n.treedata[0],"");n.hideModal("editUserEditOUModal")};n.$watch("mailBoxInputEmail",function(t,i){t!==i&&n.checkAvailableButtonClick();t===""&&(n.userDetails.emailCheckSuccess=!1)});n.checkAvailableButtonClick=function(){if(n.userDetails.emailIsCurrentEmailError=!1,n.userDetails.emailNotSelectedFromSuggestions=!1,n.userDetails.emailEntryNotValid=!1,n.mailBoxInputEmail===""){n.userDetails.emailEntryNotValid=!0;return}n.$watch("mailBoxInputEmail",function(n,t){n!=t&&!ii.test(n)});n.userDetails_form.userDetailsInputEmailCopy.$setDirty();n.userDetails.Email=n.mailBoxInputEmail+n.domain;w({method:"POST",url:baseUrlValue+"CheckEmailAvailability",data:n.userDetails}).success(function(t){t?(n.userDetails.emailCheckError=!1,n.userDetails.emailCheckSuccess=!0):(n.userDetails.emailCheckError=!0,n.userDetails.emailCheckSuccess=!1);n.userDetails.Email=n.initialEmailAddress})};n.selectOtherEmailButtonClick=function(){n.userDetails.emailEntryNotValid=!1;n.selectOtherEmail=n.selectOtherEmail===!1?!0:!1;n.suggestEmailText=n.selectOtherEmail?"Select Other Email":"Suggest Email"};n.$watch("userDetails.FirstName+userDetails.LastName",function(t,i){n.firstNameCopy="";n.lastNameCopy="";t!==i&&(n.userDetails_form&&n.userDetails_form.userDetailsInputFirstName.$valid&&n.userDetails_form.userDetailsInputLastName.$valid?n.getEmailSuggestion():(n.userDetails.email_list="",n.mailBoxSelectEmail=""))});n.getEmailSuggestion=function(){n.userDetails.FirstName!==""&&n.userDetails.LastName!==""?(n.suggestEmail={},n.suggestEmail.firstName=angular.lowercase(n.userDetails.FirstName.replace(/\s+/g,"")),n.suggestEmail.lastName=angular.lowercase(n.userDetails.LastName.replace(/\s+/g,"")),n.suggestEmail.domainAddress=n.domain,u.GetEmailSuggestion(n.suggestEmail).$promise.then(function(t){n.userDetails.email_list=t;n.userDetails.email_list!=undefined&&(n.userDetails.email_list.unshift(st),n.mailBoxSelectEmail=n.userDetails.email_list[0])})):n.userDetails.email_list=""};n.editSubscription=function(){(n.isEditSubscriptionPermissionPresent||!n.disableAllInputFields)&&(n.skypeCheckboxHidden=n.skypeCheckboxHidden?!1:!0)};n.ShowMailboxStatistic=function(){w({method:"GET",url:baseUrlValue+"admin/UserMailboxStatistics/"+n.userDetails.UserPrincipalName}).success(function(t){n.MailboxStatistics=t;n.MailboxStatistics!==null&&n.MailboxStatistics!==undefined&&n.MailboxStatistics.LastLogonTime!=null?(n.isShowMailStatistic=!0,n.isShowMailStatisticError=!1):(n.isShowMailStatistic=!1,n.isShowMailStatisticError=!0);angular.element("#mailboxStatisticsInfo").modal("show")}).error(function(){})};n.showSubscriptions=function(){n.disableEditField||n.disableAllInputFields||!n.userUpdatePermission?event.stopPropagation():w({method:"POST",url:baseUrlValue+"admin/CheckPermissionToUpdateUsersubscriptions/"+i.upn,data:n.userDetails}).success(function(t){t?(n.isShowMailSubscription=!0,angular.element("#subscriptionsInfo").modal("show"),n.subscriptionData=n.userDetails.EmailSize):(n.voiceAndVideoSubscriptionModal=!1,y.error("User does not have permission to view/edit user mailbox"))})};n.subscripConfirm=function(){var i,r;if(n.subscriptionsForm.$invalid)return!1;$("#subscriptionsInfo").modal("hide");var t=n.subscriptionData,f=n.userDetails.EmailSize,e=n.voiceAndVideoSubscriptionModal;n.userDetails.EmailSize=t===""||t===undefined?f:t;n.userDetails.VoiceAndVideo=e;i=n.dialInSubscriptionModal;n.userDetails.DialIn=i;r={EmailSize:n.userDetails.EmailSize,IsSkypeEnabled:n.userDetails.VoiceAndVideo===!0,IsDialInEnabled:n.userDetails.DialIn===!0,Upn:n.userDetails.UserPrincipalName};u.UpdateUserSubscriptions({upn:n.userDetails.UserPrincipalName},r).$promise.then(function(){n.dialInSubscriptionModal&&n.checkDialIn()})};n.showSubscriptionsDetails=function(){return item.Description==="Email & Teams"&&userDetails.Status!=="Active"?!0:!1};n.ShowMobileDevices=function(){var i=n.userListItems.Email||"";t.url("/mailboxList/"+i)};n.applicationClick=function(){n.userDetails.IsApplicationAccount?(angular.element("#applicationAccountInfo").modal("show"),n.isHideFromAddressList=!0,n.userDetails.HideFromAddressList=!0):(n.userDetails.IsApplicationAccount==!1,n.isHideFromAddressList=!1,n.userDetails.HideFromAddressList=!1);yt(!1)};n.applicationAccountCancel=function(){n.userDetails.IsApplicationAccount=!1;n.isHideFromAddressList=!1;n.userDetails.HideFromAddressList=!1};n.applicationAccountConfirm=function(){n.userDetails.IsApplicationAccount=!0;yt(!0);n.isHideFromAddressList=!0;n.userDetails.HideFromAddressList=!0};yt=function(t){n.userDetails.IsApplicationAccount=t;$("#applicationAccountInfo").on("hidden.bs.modal",function(){$(document).find("#userDetailsApplicationAccount").prop("checked",t)})};n.getUserDetails=function(){k.Get().$promise.then(function(t){n.EmailAddressLoggedIn=t.Email})};n.getUserDetails();n.$watch("formParams.StartDate",function(t,i){t!==i&&t!=undefined&&(n.formParams.StartDate_copy=c("date")(n.formParams.StartDate,"dd-MM-yyyy HH:mm"))});n.$watch("formParams.StartDate_copy",function(t,i){t!==i&&(ft.test(t)&&t.length==16?(n.formParams.StartDate=new Date(t.replace(/(\d{2})-(\d{2})-(\d{4}) (\d{2}):(\d{2})/,"$2/$1/$3 $4:$5")),n.isStartDateInValid=!1,n.invalidStartDateErrorMessage="",n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""):ft.test(t)==!1&&(t==""?(n.isStartDateInValid=!1,n.invalidStartDateErrorMessage="",n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""):(n.isStartDateInValid=!0,n.invalidStartDateErrorMessage="Please  enter start date in 'DD-MM-YYYY HH:MM' format",n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""),n.formParams.StartDate=undefined))});n.$watch("formParams.EndDate",function(t,i){t!==i&&t!=undefined&&(n.formParams.EndDate_copy=c("date")(n.formParams.EndDate,"dd-MM-yyyy HH:mm"))});n.$watch("formParams.EndDate_copy",function(t,i){t!==i&&(ft.test(t)&&t.length==16?(n.formParams.EndDate=new Date(t.replace(/(\d{2})-(\d{2})-(\d{4}) (\d{2}):(\d{2})/,"$2/$1/$3 $4:$5")),n.isEndDateInValid=!1,n.invalidEndDateErrorMessage="",n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""):ft.test(t)==!1&&(t==""?(n.isEndDateInValid=!1,n.invalidEndDateErrorMessage="",n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""):(n.isEndDateInValid=!0,n.invalidEndDateErrorMessage="Please  enter end date in 'DD-MM-YYYY HH:MM' format",n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""),n.formParams.EndDate=undefined))});n.$watchGroup(["formParams.StartDate","formParams.EndDate"],function(t){t[0]!=undefined&&t[1]!=undefined&&(n.formParams.StartDate.getTime()>n.formParams.EndDate.getTime()?(n.isEndDateAfterStartDate=!1,n.EndDateAfterStartDateErrorMessage="End Date must be after start date"):n.formParams.StartDate.getTime()==n.formParams.EndDate.getTime()?(n.isEndDateAfterStartDate=!1,n.EndDateAfterStartDateErrorMessage="Start date and End Date can not be same"):(n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""))});n.viewUserTransferClick=function(){n.transferRequired=!0;n.isOrganisationSelected=!1;$("#userMoverModal").modal("show")};n.getEmailDomain=function(){return domainAddress};n.transferOrganisation=function(){if(!l.isValidShortname(n.SelectedOrganisation.ShortName)){y.warning("The selected organisation does not have a shortname, cannot transfer mailbox. Please contact support to have a shortname configured.");return}updateDisplayNameAfterTransfer();(n.SelectedSite!=undefined||n.SelectedSite!=null)&&(n.SelectedSiteId=n.SelectedSite.ID);var i={OrganisationID:n.SelectedOrganisation.ID,OrganisationUnitId:n.currentNodeMailMover.ID,SiteId:n.SelectedSiteId,User:{IsCloudMailbox:n.userDetails.IsCloudMailbox},UserJoinerDetailsList:{UserPrincipalName:n.userDetails.UserPrincipalName,Status:n.userDetails.Status,DisplayName:n.userDetails.DisplayName}};n.transferRequired=!1;u.Transfer(i).$promise.then(function(){at();n.hideModal("userMoverModal");n.isOrganisationSelected=!1;t.path("/")})};updateDisplayNameAfterTransfer=function(){n.userDetails_form.userDetailsInputEmail.$valid&&(n.userDetails.DisplayName=n.lastNameCopy+", "+n.firstNameCopy+" ("+n.SelectedOrganisation.Name.toUpperCase()+")")};n.viewDeleteOneDriveData=function(){$("#DeleteOneDriveDataModal").modal("show")};n.cancelDeleteOneDrive=function(){n.hideModal("DeleteOneDriveDataModal")};n.DeleteOneDrive=function(){u.DeleteOneDriveData({upn:n.userDetails.UserPrincipalName}).$promise.then(function(i){i.Result.Success==!0?(n.hideModal("DeleteOneDriveDataModal"),y.success("Sucessfuly Deleted One Drive"),t.path("/")):(n.hideModal("DeleteOneDriveDataModal"),y.error(i.MessageDescription),t.path("/"))})};n.cancelTransfer=function(){n.transferRequired=!1;n.isOrganisationSelected=!1;n.hideModal("userMoverModal")};n.showPopImapSmtp=function(){n.protocolStatus=null;n.showModal("popImapModal");u.GetMailboxProtocolStatus({upn:n.userDetails.UserPrincipalName}).$promise.then(function(t){n.protocolStatus=t})};n.setPopImapSmtp=function(t,i){u.SetMailboxProtocolStatus({enabled:i,upn:t});n.hideModal("popImapModal")};n.showMFA=function(){u.ReEnrolMFA({upn:n.userDetails.UserPrincipalName}).$promise.then(function(){})};n.disableMFA=function(){var i={UPN:n.userDetails.UserPrincipalName};u.DisableMFA(i).$promise.then(function(){n.IsMFAEnabled=!1;t.path("/")})};n.hideModal=function(n){angular.element("#"+n).modal("hide");$(".modal-backdrop").remove()};n.showModal=function(n){angular.element("#"+n).modal("show")};n.exportUserDetails=function(){a.location.href="ExportCSV/ExportUserDetails?email="+i.upn};n.siteNameAndOdsCode=function(){angular.forEach(n.siteDetails,function(n){n.Name.includes(n.ODSCode)||(n.Name=n.Name+" - "+n.ODSCode)})};n.mobileNoClick=function(){n.disableMobilePhoneHidden=!0;angular.element("#userDetailsInputMobilePhone").removeClass("eyelashIcon-wrapper");n.userDetails.MobilePhone=""};n.onSelectDefaultPolicy=function(){n.isUserPolicyVisible=!0;var t=n.$on("UserPolicyPickerSelectionDone",function(){n.selectedPolicy!=""&&(n.currentIsDefaultUserPolicy=n.selectedPolicy,n.currentSelectedPolicyId=n.selectedPolicyId);t();n.isUserPolicyVisible=!1})};n.$on("UserPolicyPickerSelectionCancelled",function(){n.isUserPolicyVisible=!1})}]),function(){userAdminAppServicesModule.service("BulkMailBoxAPI",["growl","Config","$resource",function(n,t,i){function r(t){var i="Request failed";angular.isDefined(t.data.Errors)&&t.data.Errors.length>0?t.data.Errors[0].Code===51?$location.path("/AccessDenied"):(i+=": "+t.data.Errors[0].Message,i+=": "+t.data.Errors[0].Detail):angular.isDefined(t.data.Message)?i+=": "+t.data.Message:t.status===0&&(i="Request to server timed out");n.error(i,{ttl:1e4})}return i(baseUrlValue+"admin/bulkEditUser/",{},{BulkEnableUser:{method:"POST",url:baseUrlValue+"BulkEnableUser",interceptor:{responseError:r},timeout:t.XhrTimeout},BulkDisableUser:{method:"POST",url:baseUrlValue+"BulkDisableUser",interceptor:{responseError:r},timeout:t.XhrTimeout},BulkDeleteUser:{method:"POST",url:baseUrlValue+"admin/useraccounts/bulk/delete",interceptor:{responseError:r},timeout:t.XhrTimeout},BulkUnlockUser:{method:"POST",url:baseUrlValue+"BulkUnlockUser",interceptor:{responseError:r},timeout:t.XhrTimeout},BulkMarkAsLeaver:{method:"POST",url:baseUrlValue+"BulkMarkAsLeaver",interceptor:{responseError:r},timeout:t.XhrTimeout},BulkDeleteSharedMailbox:{method:"POST",url:baseUrlValue+"BulkSharedMailbox",interceptor:{responseError:r},timeout:t.XhrTimeout},BulkDeleteResourceMailbox:{method:"POST",url:baseUrlValue+"BulkResourceMailbox",interceptor:{responseError:r},timeout:t.XhrTimeout}})}])}(),function(){userAdminAppServicesModule.service("LoginEventAPI",["growl","Config","$resource","ApiErrorHandler",function(n,t,i,r){return i(baseUrlValue+"admin/audit/logonevents",{},{Get:{method:"GET",params:{upn:"@upn"},interceptor:{responseError:r},timeout:t.XhrTimeout},GetMyEvents:{method:"GET",url:baseUrlValue+"audit/mylogonevents",interceptor:{responseError:r},timeout:t.XhrTimeout}})}])}();userAdminAppServicesModule.factory("PasswordService",function(){return{GenerateRandomPassword:function(n){function i(n){for(var t="",i="abcdefghijklmnopqrstuvwxyz0123456789",r=0;r<n;r++)t+=i.charAt(Math.floor(Math.random()*i.length));return t}var t=i(17);return n?t.slice(0,4)+"-"+t.slice(4,8)+"-"+t.slice(8,12)+"-"+t.slice(12,17):t.slice(0,4)+"-"+t.slice(4,8)+"-"+t.slice(8,12)}}}).directive("passwordValidator",[function(){return{require:"ngModel",restrict:"A",link:function(n,t,i,r){var u=n.ApplicationAccount?/.{20,}/:/.{10,}/;r.$validators.password=function(n){return r.$isEmpty(n)?!0:u.test(n)?!0:!1}}}}]);userAdminAppServicesModule.factory("UserListColumns",function(){return function(){return[{title:"First Name",key:"FirstName"},{title:"Last Name",key:"LastName"},{title:"Display Name",key:"DisplayName"},{title:"Job Title",key:"JobTitle"},{title:"Mailbox Type",key:"EmailType"},{title:"Status",key:"Status"},{title:"Email",key:"Email"},{title:"Telephone",key:"OfficePhone"},{title:"Mobile Phone",key:"MobilePhone"},{title:"Pager",key:"Pager"},{title:"Fax",key:"Fax"},{title:"Admin Role",key:"Roles"},{title:"Subscriptions",key:"Subscriptions"},{title:"Organisation",key:"Organisation"},{title:"Organisation Unit",key:"OrganisationUnit"},{title:"Site Name",key:"SiteName"},{title:"Parent Organisation",key:"ParentOrganisation"},{title:"Mailbox Location",key:"Location"}]}});userAdminAppServicesModule.factory("UserAdminListSearchParams",function(){return function(){return{FirstName:"",LastName:"",DisplayName:"",Email:"",JobTitle:"",MobilePhone:"",OfficePhone:"",Fax:"",EmailType:"",MailboxStatus:"",Pager:"",ClinicalRole:"",WorkArea:"",ClinicalSpeciality:"",AdminRole:"",Subscriptions:"",Organisation:"",OrganisationUnit:"",SiteName:"",ParentOrganisation:""}}});userAdminAppServicesModule.factory("UserListVisibleColumns",function(){return function(){this.FirstName=!1;this.LastName=!1;this.DisplayName=!0;this.Email=!0;this.JobTitle=!1;this.MobilePhone=!1;this.OfficePhone=!1;this.Fax=!1;this.Status=!0;this.EmailType=!0;this.Pager=!1;this.Department=!1;this.Roles=!1;this.Subscriptions=!1;this.Organisation=!1;this.OrganisationUnit=!1;this.SiteName=!1;this.ParentOrganisation=!1;this.Location=!0}});userAdminAppServicesModule.factory("MailboxListColumns",function(){return function(){return[{title:"Name",key:"DeviceFriendlyName"},{title:"Type",key:"DeviceType"},{title:"OS",key:"DeviceOS"},{title:"ID",key:"DeviceID"},{title:"First Sync",key:"FirstSyncTime"},{title:"Last Sync",key:"LastSuccessSync"},{title:"Status",key:"Status"},{title:"Access State",key:"DeviceAccessState"},{title:"Policy Applied",key:"DevicePolicyApplied"},{title:"Policy Status",key:"DevicePolicyApplicationStatus"},{title:"Wipe Availability",key:"IsRemoteWipeSupported"}]}}),function(){userAdminAppServicesModule.service("MailboxTypeDetector",[function(){return{DetectMultipleMailboxes:function(n){function i(n){return n!==r}var t=n,r=t[0];return t.some(i)}}}])}();userAdminAppServicesModule.factory("PermissionsMembershipColumns",function(){return function(){return[{title:"Type",key:"Type"},{title:"Name",key:"Name"},{title:"EmailAddress",key:"EmailAddress"},{title:"Organisation",key:"Organisation"}]}}),function(){userAdminAppServicesModule.service("UserAPI",["growl","Config","$resource",function(n,t,i){function r(t){var i="Request failed";angular.isDefined(t.data.Errors)&&t.data.Errors.length>0?t.data.Errors[0].Code===51?$location.path("/AccessDenied"):t.data.Errors[0].ErrorCode===132&&t.data.Errors[0].FieldName=="Mark As Leaver"?i="Mark as leaver request failed: "+t.data.Errors[0].Message:t.data.Errors[0].ErrorCode===132&&t.data.Errors[0].FieldName=="Transfer User"?i="Transfer user request failed: "+t.data.Errors[0].Message:t.data.Errors[0].ErrorCode===136&&t.data.Errors[0].FieldName=="Security answers"?i+=": "+t.data.Errors[0].Message:(i+=": "+t.data.Errors[0].Message,i+=": "+t.data.Errors[0].Detail):angular.isDefined(t.data.Message)?i+=": "+t.data.Message:t.status===0&&(i="Request to server timed out");n.error(i,{ttl:1e4})}return i(baseUrlValue+"",{},{GetUserDetails:{method:"GET",params:{upn:"@upn"},url:baseUrlValue+"admin/useraccounts/:upn",interceptor:{responseError:r},timeout:t.XhrTimeout},MarkAsLeaver:{method:"POST",url:baseUrlValue+"MarkAsLeaver",interceptor:{responseError:r},timeout:t.XhrTimeout},EnableUser:{method:"POST",url:baseUrlValue+"EnableUser",interceptor:{responseError:r},timeout:t.XhrTimeout},DisableUser:{method:"POST",url:baseUrlValue+"DisableUser",interceptor:{responseError:r},timeout:t.XhrTimeout},RestoreMailbox:{method:"POST",url:baseUrlValue+"RestoreMailbox",interceptor:{responseError:r},timeout:t.XhrTimeout},Unlock:{method:"PUT",params:{initialEmailAddress:"@initialEmailAddress"},url:baseUrlValue+"admin/useraccounts/:initialEmailAddress/unlock",interceptor:{responseError:r},timeout:t.XhrTimeout},GetSiteList:{method:"GET",params:{id:"@id"},url:baseUrlValue+"GetSiteList/:id",isArray:!0,interceptor:{responseError:r},timeout:t.XhrTimeout},CheckEmailAvailability:{method:"POST",url:baseUrlValue+"CheckEmailAvailability",interceptor:{responseError:r},timeout:t.XhrTimeout},GetEmailSuggestion:{method:"POST",url:baseUrlValue+"GetEmailSuggestion",isArray:!0,interceptor:{responseError:r},timeout:t.XhrTimeout},UserMailboxStatistics:{method:"GET",params:{upn:"@upn"},url:baseUrlValue+"admin/UserMailboxStatistics/:upn",isArray:!0,interceptor:{responseError:r},timeout:t.XhrTimeout},UpdateUserSubscriptions:{method:"PUT",url:baseUrlValue+"admin/UpdateUserSubscriptions",interceptor:{responseError:r},timeout:t.XhrTimeout},Permissions:{method:"POST",isArray:!0,url:baseUrlValue+"admin/MailboxPermission",interceptor:{responseError:r},timeout:t.XhrTimeout},Transfer:{method:"PUT",url:baseUrlValue+"TransferUser",interceptor:{responseError:r},timeout:t.XhrTimeout},UserBulkTransfer:{method:"POST",url:baseUrlValue+"BulkTransferUser",interceptor:{responseError:r},timeout:t.XhrTimeout},RemoveMembership:{method:"POST",url:baseUrlValue+"admin/bulk/removemembership",interceptor:{responseError:r},timeout:t.XhrTimeout},GetAdminRoles:{method:"GET",isArray:!0,url:baseUrlValue+"GetAdminRole",interceptor:{responseError:r},timeout:t.XhrTimeout},GetMailboxProtocolStatus:{method:"GET",params:{upn:"@upn"},url:baseUrlValue+"admin/user/protocols",interceptor:{responseError:r},timeout:t.XhrTimeout},SetMailboxProtocolStatus:{method:"PUT",params:{enabled:"@enabled",upn:"@upn"},url:baseUrlValue+"admin/user/protocols",interceptor:{responseError:r},timeout:t.XhrTimeout},GetMailboxDelegationDetails:{method:"GET",params:{upn:"@upn"},url:baseUrlValue+"admin/user/delegates",interceptor:{responseError:r},timeout:t.XhrTimeout},SetMailboxDelegationDetails:{method:"PUT",url:baseUrlValue+"admin/user/delegates",interceptor:{responseError:r},timeout:t.XhrTimeout},DeleteOneDriveData:{method:"POST",params:{upn:"@upn"},url:baseUrlValue+"admin/onedrive/",interceptor:{responseError:r},timeout:t.XhrTimeout},ResetPassword:{method:"POST",url:baseUrlValue+"SetPassword",interceptor:{responseError:r},timeout:t.XhrTimeout},BulkResetPassword:{method:"POST",url:baseUrlValue+"BulkSetPassword",interceptor:{responseError:r},timeout:t.XhrTimeout},ReEnrolMFA:{method:"PUT",params:{enabled:"@enabled",upn:"@upn"},url:baseUrlValue+"admin/user/mfa/:upn",interceptor:{responseError:r},timeout:t.XhrTimeout},AuthenticateUser:{method:"POST",url:baseUrlValue+"admin/AuthenticateUser",interceptor:{responseError:r},timeout:t.XhrTimeout},DisableMFA:{method:"PUT",url:baseUrlValue+"DisableMFA",interceptor:{responseError:r},timeout:t.XhrTimeout},GetCreateUserFeatureOption:{method:"GET",params:{feature:"CreateExoUser"},url:baseUrlValue+"config/options",interceptor:{responseError:r},timeout:t.XhrTimeout,transformResponse:function(n){return{option:angular.fromJson(n)}}}})}])}();userAdminAppControllersModule.controller("UserAdminSharedMailboxController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","$rootScope","$filter","Config","$parse","FetchUPN","SharedMailboxAPI","ViewOrganisationAPI","FetchMailboxCount",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v){var y,p;n.SharedMailboxRequest={};n.sharedMailbox={};n.sharedMailbox.UsersWithSendAsAccess=[];n.sharedMailbox.UsersWithFullAccess=[];n.sharedMailbox.RemoveUsersWithSendAsAccess=[];n.sharedMailbox.RemoveUsersWithFullAccess=[];n.sharedMailbox.MailboxSize=s.SharedMailboxSize;n.newValueDuplicateLength=s.NewValueDuplicateLength;n.newValueMembersDuplicateLength=s.NewValueMembersDuplicateLength;n.UsersWithSendAsAccessTempCopy=[];n.UsersWithFullAccessTempCopy=[];n.selectedEmail=[];n.showUserpicker=!1;n.UsersWithSendAsAccessTempCopyLimitExceeded=!1;n.UsersWithFullAccessTempCopyLimitExceeded=!1;n.domain=domainAddress;n.organisationRequest={};n.organisationRequest.FilterParams={};n.organisationRequest.FilterParams.OrganisationType="Organisation";n.sharedMailbox.SelectedOrganisation={};n.isMailBoxLimitReached=!1;n.sharedMailbox.SelectUserAsOwner=!1;n.selectedUserAsOwnerFromUserPicker=!1;y={};n.sharedMailbox.SelectUserAsOwner=!1;n.OwnersLimitExceededWithAddMySelf=!1;n.getUserDetails=function(){c.Get().$promise.then(function(n){y.EmailAddress=n.Email;y.ID=n.ID;y.EmailType=n.EmailType})};n.getUserDetails();n.filteritems={EmailType:"Shared"};n.treedata=[];n.expandedNodes=[];n.currentNode;n.isOrganisationSeleted=!1;n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.OwningUserListErrors={required:!1};n.modalMarkupLoaded=function(){$("#sharedMailbox_formResult").removeClass("alert-success alert-danger").html("")};n.modalMarkupLoaded();p=n.$watchGroup(["sharedMailbox.Name","sharedMailbox.EmailName","sharedMailbox.SelectedOrganisation.ShortName"],function(t,i){if(n.mailboxNameCopy="",n.SelectedOrganisationCopy="",t[0]!==i[0]){var r=n.sharedMailbox.SelectedOrganisation.ShortName;n.sharedMailbox_form.sharedMailboxInputEmailName.$valid?n.sharedMailbox.EmailAddress=angular.lowercase(r+"."+n.sharedMailbox.EmailName)+n.domain:n.sharedMailbox_form.sharedMailboxInputEmailName.$invalid&&(n.sharedMailbox.EmailAddress="");n.mailboxNameCopy=n.sharedMailbox_form.sharedMailboxInputName.$valid&&n.sharedMailbox.Name!=undefined?o("capitalize")(n.sharedMailbox.Name,!0):"";n.SelectedOrganisationCopy=n.sharedMailbox_form.sharedMailboxDropDownOrganisation.$valid&&n.sharedMailbox.SelectedOrganisation.Name!=undefined?n.sharedMailbox.SelectedOrganisation.Name:"";n.sharedMailbox.displayName=n.sharedMailbox.Name!=""?n.mailboxNameCopy.toUpperCase()+" ("+n.SelectedOrganisationCopy.toUpperCase()+")":"";n.mailboxNameCopy==""&&(n.sharedMailbox.displayName="")}else n.sharedMailbox.EmailAddress=""});n.stopUpdating=function(){p()};n.pick=function(t){angular.copy(t,n.sharedMailbox.SelectedOrganisation);n.OrganisationNameOptions=n.sharedMailbox.SelectedOrganisation;n.organisationChange()};n.organisationChange=function(){if(n.sharedMailbox.SelectedOrganisation.ShortName==""||n.sharedMailbox.SelectedOrganisation.ShortName==null||n.sharedMailbox.SelectedOrganisation.ShortName==undefined){n.isOrganisationSeleted=!1;return}if(n.sharedMailbox.SelectedOrganisation!=null&&n.sharedMailbox.SelectedOrganisation!=undefined){angular.copy([],n.treedata);angular.copy([],n.treedata);a.ViewOrganisation(n.sharedMailbox.SelectedOrganisation).$promise.then(function(t){n.isOrganisationSeleted=!0;n.treedata.push(t);n.expandedNodes=[n.treedata[0]];n.currentNode=n.treedata[0]});var t={};t.user=null;t.startDate=moment().startOf("month").toISOString();t.endDate=moment().toISOString();t.targetObject=null;t.targetOrganisation=n.sharedMailbox.SelectedOrganisation.ID;t.actions=["Create"];t.objectTypes=["User Mailbox","Shared Mailbox","Organisation"];v.get(t).$promise.then(function(t){n.mailboxCount=t;n.isMailBoxLimitReached=n.mailboxCount.MailBoxCreated>=n.mailboxCount.MailBoxLimit?!0:!1;n.mailboxCountDisplayMessage="Mailboxes Created: "+n.mailboxCount.MailBoxCreated+"/"+n.mailboxCount.MailBoxLimit;n.isMailBoxLimitReached&&(n.mailboxCountDisplayMessage=n.mailboxCountDisplayMessage+"(Limit Reached)")})}else angular.copy([],n.treedata),n.sharedMailbox.SelectedOrganisation=undefined,n.isOrganisationSeleted=!1};n.initializeListSizeExceedingErrorMessage=function(){n.UsersWithSendAsAccessTempCopyLimitExceeded=!1;n.UsersWithFullAccessTempCopyLimitExceeded=!1};n.removeUser=function(t,i){t.EmailAddress===y.EmailAddress&&(n.sharedMailbox.SelectUserAsOwner=!1);var r=h(i)(n),u=o("removeElementFromArrayOfObject")(r,"EmailAddress",t.EmailAddress);h(i).assign(n,u)};$("#sharedMailboxSelectUserAsOwner").click(function(){if(n.UsersWithFullAccessTempCopy.length===0&&(n.OwningUserListErrors.required=!1)){n.OwningUserListErrors.required=!0;return}n.OwningUserListErrors.required=!1});n.addUser=function(t){u.currentSource=t;$("#sharedMailbox_formResult").removeClass("alert-success alert-danger").html("");n.OwningUserListErrors.required=!1;n.initializeListSizeExceedingErrorMessage();angular.copy([],n.selectedEmail);n.showUserpicker=!0;var i=n.$on("UserPickerSelectionDone",function(){var r=u.currentSource,l=h(r)(n),e=[],s;angular.forEach(n.selectedEmail,function(n){n.Email!=null&&(s={EmailAddress:n.Email},e.push(s))});var a=l.concat(e),f=o("removeDuplicates")(a,"EmailAddress"),c=t+"LimitExceeded";r==="UsersWithFullAccessTempCopy"&&(f.length<=n.newValueDuplicateLength?h(r).assign(n,f):h(c).assign(n,!0));r==="UsersWithSendAsAccessTempCopy"&&(f.length<=n.newValueMembersDuplicateLength?h(r).assign(n,f):h(c).assign(n,!0));i();n.showUserpicker=!1;r==="UsersWithFullAccessTempCopy"&&angular.forEach(e,function(t){t.EmailAddress===y.EmailAddress&&(n.sharedMailbox.SelectUserAsOwner=!0,n.selectedUserAsOwnerFromUserPicker=!0)})})};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1});n.sharedMailboxCreateClick=function(t){var f,i,r,u;if($("#userDetails_formResult").removeClass("alert-success alert-danger").html(""),n.OwningUserListErrors.required=!1,n.UsersWithFullAccessTempCopy.length===0){n.OwningUserListErrors.required=!0;return}if(n.UsersWithFullAccessTempCopy.length>100&&n.sharedMailbox.SelectUserAsOwner){n.OwnersLimitExceededWithAddMySelf=!0;return}if(n.OwnersLimitExceededWithAddMySelf=!1,!t.$invalid&&n.sharedMailbox.SelectedOrganisation&&n.sharedMailbox.SelectedOrganisation.Name!=undefined&&!n.sharedMailbox.SelectedOrganisation.ID!=undefined){if(angular.equals(n.UsersWithSendAsAccessTempCopy,n.sharedMailbox.UsersWithSendAsAccess)&&angular.equals(n.UsersWithFullAccessTempCopy,n.sharedMailbox.UsersWithFullAccess)){f="No user list changed. Please add or remove users from any list to proceed.";$("#sharedMailbox_formResult").addClass("alert-danger").html(f);return}angular.copy([],n.sharedMailbox.RemoveUsersWithSendAsAccess);angular.copy([],n.sharedMailbox.RemoveUsersWithFullAccess);n.sharedMailbox.RemoveUsersWithSendAsAccess=o("FirstArrayMinusSecondArray")(n.sharedMailbox.UsersWithSendAsAccess,n.UsersWithSendAsAccessTempCopy);n.sharedMailbox.RemoveUsersWithFullAccess=o("FirstArrayMinusSecondArray")(n.sharedMailbox.UsersWithFullAccess,n.UsersWithFullAccessTempCopy);angular.copy(n.UsersWithSendAsAccessTempCopy,n.sharedMailbox.UsersWithSendAsAccess);i=[];angular.forEach(n.UsersWithFullAccessTempCopy,function(t){i.indexOf(t.EmailAddress)!==-1?n.UsersWithFullAccessTempCopy.pop():i.push(t.EmailAddress)});angular.copy(n.UsersWithFullAccessTempCopy,n.sharedMailbox.UsersWithFullAccess);r=[];u=[];angular.forEach(n.sharedMailbox.UsersWithSendAsAccess,function(n){n.EmailAddress!=null&&r.push(n.EmailAddress)});angular.forEach(n.sharedMailbox.UsersWithFullAccess,function(n){n.EmailAddress!=null&&u.push(n.EmailAddress)});angular.copy(r,n.sharedMailbox.UsersWithSendAsAccess);angular.copy(u,n.sharedMailbox.UsersWithFullAccess);n.sharedMailbox.Organisation={ID:n.sharedMailbox.SelectedOrganisation.ID,Name:n.sharedMailbox.SelectedOrganisation.Name,Country:n.sharedMailbox.SelectedOrganisation.Country,ODSCode:n.sharedMailbox.SelectedOrganisation.ODSCode,Address:n.sharedMailbox.SelectedOrganisation.Address,PostCode:n.sharedMailbox.SelectedOrganisation.PostCode,ParentOrganisation:n.sharedMailbox.SelectedOrganisation.ParentOrganisation,County:n.sharedMailbox.SelectedOrganisation.County};n.sharedMailbox.OrganisationUnit={ID:n.currentNode.ID,Name:n.currentNode.Name};n.SharedMailboxRequest=n.sharedMailbox;l.Create(n.SharedMailboxRequest).$promise.then(function(){setTimeout(function(){window.history.back()},500)})}};n.sharedMailboxCancelClick=function(){window.history.back()};n.selectUnselectOwner=function(){n.sharedMailbox.SelectUserAsOwner?n.UsersWithFullAccessTempCopy.push(y):(n.OwnersLimitExceededWithAddMySelf=!1,n.removeUser(y,"UsersWithFullAccessTempCopy"))}}]);userAdminAppControllersModule.controller("UserAdminViewSharedUserController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","$rootScope","$routeParams","$filter","$parse","$q","OrganisationObjectHelperService","PermissionChecker","FetchUPN","SharedMailboxAPI","ViewOrganisationAPI","growl","Config",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b){var tt,k,d,g,nt;n.isOrganisationSelected=!1;n.OldEmailAddress="";n.viewSharedMailbox={};n.viewSharedMailbox.upn=o.upn;n.viewSharedMailbox.SharedMailboxGuid="";n.SelectedOrganisation={};n.diableAllfields=!1;n.disableDeletefield=!1;n.disableRestorefield=!1;n.deleteRestoreMailboxData={};tt="SHARED_MAILBOX_UPDATE";n.viewSharedMailbox.UsersWithSendAsAccess=[];n.viewSharedMailbox.UsersWithFullAccess=[];n.viewSharedMailbox.RemoveUsersWithSendAsAccess=[];n.viewSharedMailbox.RemoveUsersWithFullAccess=[];n.UsersWithSendAsAccessTempCopy=[];n.UsersWithFullAccessTempCopy=[];n.selectedEmail=[];n.OrganisationInDisplayName="";n.showUserpicker=!1;n.organisationRequest={};n.organisationRequest.FilterParams={};n.organisationRequest.FilterParams.OrganisationType="Organisation";n.sharedUpdatePermission=!1;n.sharedDeletePermission=!1;n.sharedTransferPermission=!1;n.IsOrganisationUnSelected=!1;n.IsGetOrganisationListCallSuccess;n.IsGetMailBoxDetailsCallSuccess;n.treedata=[];n.expandedNodes=[];n.currentNode=null;n.treedataMailMover=[];n.expandedNodesMailMover=[];n.currentNodeMailMover=null;n.del=!1;n.shareMailboxRestorePermission=!1;n.newValueDuplicateLength=b.NewValueDuplicateLength;n.newValueMembersDuplicateLength=b.NewValueMembersDuplicateLength;n.disableEditField=!0;n.isShowMailSubscription=!1;n.isSubmitClickValidation=!1;a.contains("SHARED_MAILBOX_UPDATE")&&(n.sharedUpdatePermission=!0);a.contains("SHARED_MAILBOX_DELETE")&&(n.sharedDeletePermission=!0);a.contains("IS_ADMIN")&&(n.sharedTransferPermission=!0,n.sharedUpdatePermission=!0);a.contains("SHARED_MAILBOX_RESTORE")&&(n.shareMailboxRestorePermission=!0);n.filteritems={EmailType:["Shared","Room","Unknown","Equipment"],Status:["Pending","Disabled","Suspended","PendingError","Deleted"]};n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.OwningUserListErrors={required:!1};k={};d=!0;n.viewSharedMailbox.SelectUserAsOwner=!1;n.selectedUserAsOwnerFromUserPicker=!1;n.markupLoaded=!1;n.getUserDetails=function(){v.Get().$promise.then(function(t){k.EmailAddress=t.Email;k.ID=t.ID;k.EmailType=t.EmailType;angular.forEach(n.UsersWithFullAccessTempCopy,function(t){t.EmailAddress===k.EmailAddress&&(n.viewSharedMailbox.SelectUserAsOwner=!0)})})};n.getUserDetails();n.$watch("viewSharedMailbox.SelectUserAsOwner",function(t,i){t!==i&&t?n.UsersWithFullAccessTempCopy.push(k):t===i||t||(upn="",n.removeUser(k,"UsersWithFullAccessTempCopy"))});n.modalMarkupLoaded=function(){$("#viewSharedMailbox_formResult").removeClass("alert-success alert-danger").html("");y.Get({upn:n.viewSharedMailbox.upn}).$promise.then(function(t){angular.copy(t,n.viewSharedMailbox);n.viewSharedMailbox.MailboxLocation=n.viewSharedMailbox.IsCloudMailbox?b.MailboxLocations[0]:b.MailboxLocations[1];n.viewSharedMailbox.MailboxLocation==b.MailboxLocations[0]&&(n.disableEditField=!0);angular.copy([],n.viewSharedMailbox.UsersWithSendAsAccess);angular.copy([],n.viewSharedMailbox.UsersWithFullAccess);var i=n.viewSharedMailbox.DisplayName,r=n.viewSharedMailbox.Organisation.Name,u=n.viewSharedMailbox.Organisation.ODSCode.toLowerCase();n.OrganisationInDisplayName=r;i.toLowerCase().includes(r.toLowerCase())||i.toLowerCase().includes(u)||n.viewSharedMailbox.IsCareSmb||i.toLowerCase().indexOf("pharmacy")==0||i.toLowerCase().indexOf("nhspharmacy")==0?n.viewSharedMailbox.Name=i.substring(0,i.indexOf(" (")):(n.viewSharedMailbox.Name=i,n.viewSharedMailbox.DisplayName=n.viewSharedMailbox.Organisation.ShortName=="nhsdental"||"dentistry"||"care"||"nhspharmacy"?n.viewSharedMailbox.Name:n.viewSharedMailbox.Name+" ("+r+")");n.OUHierarchyInOrganisation=l.getPathOfOUinOrgAsName(n.viewSharedMailbox.OrganisationUnit);angular.forEach(t.UsersWithFullAccess,function(t){var i={EmailAddress:t};n.viewSharedMailbox.UsersWithFullAccess.push(i)});angular.forEach(t.UsersWithSendAsAccess,function(t){var i={EmailAddress:t};n.viewSharedMailbox.UsersWithSendAsAccess.push(i)});angular.copy(n.viewSharedMailbox.UsersWithSendAsAccess,n.UsersWithSendAsAccessTempCopy);angular.copy(n.viewSharedMailbox.UsersWithFullAccess,n.UsersWithFullAccessTempCopy);n.markupLoaded=!0;n.EmailName=n.viewSharedMailbox.EmailAddress.split("@")[0].substr(n.viewSharedMailbox.EmailAddress.split("@")[0].indexOf(".")+1);n.SelectedOrganisation=t.Organisation;n.viewSharedMailbox.OldEmailAddress=n.viewSharedMailbox.EmailAddress;n.viewSharedMailbox.UserPrincipalName=n.viewSharedMailbox.EmailAddress;n.viewSharedMailbox.Status!=undefined&&n.viewSharedMailbox.Status=="Deleted"&&(n.diableAllfields=!0,angular.element("#viewDetailsDeleteUndeleteMailbox").text("Restore"),n.del=!1);n.viewSharedMailbox.Status!=undefined&&n.viewSharedMailbox.Status=="Restore"&&(n.diableAllfields=!1,angular.element("#viewDetailsDeleteUndeleteMailbox").text("Deleted"),n.del=!0);n.viewSharedMailbox.Status!=undefined&&n.viewSharedMailbox.Status=="Deleting"&&(n.diableAllfields=!0,n.disableDeletefield=!0,n.del=!1);n.viewSharedMailbox.Status!=undefined&&n.viewSharedMailbox.Status=="Restoring"&&(n.diableAllfields=!0,n.disableRestorefield=!0,n.del=!0);n.disableEditField=a.contains("SHARED_MAILBOX_UPDATE")&&!n.viewSharedMailbox.IsCloudMailbox?!1:!0;n.operationStarted=!1;n.getDisableMailboxStatistic()})};n.showSubscriptions=function(){n.disableEditField?event.stopPropagation():(n.isShowMailSubscription=!0,angular.element("#subscriptionsInfo").modal("show"),n.subscriptionData=n.viewSharedMailbox.MailboxSize)};n.subscripConfirm=function(){var t=n.subscriptionData,i=n.viewSharedMailbox.MailboxSize;n.viewSharedMailbox.MailboxSize=t===""||t===undefined?i:t;n.MailboxSize=n.viewSharedMailbox.MailboxSize};n.modalMarkupLoaded();n.checkForRemoveOnLoad=!0;n.$watch("viewSharedMailbox.UsersWithFullAccess",function(){n.markupLoaded&&d&&(n.getUserDetails(),d=!1)});n.removeUser=function(t,i){if(!n.checkForRemoveOnLoad){t.EmailAddress===k.EmailAddress&&i==="UsersWithFullAccessTempCopy"&&(n.viewSharedMailbox.SelectUserAsOwner=!1);var r=h(i)(n),u=s("removeElementFromArrayOfObject")(r,"EmailAddress",t.EmailAddress);h(i).assign(n,u)}n.checkForRemoveOnLoad=!1};$("#editSharedMailboxSelectUserAsOwner").click(function(){if(n.UsersWithFullAccessTempCopy.length===0&&(n.OwningUserListErrors.required=!1)){n.OwningUserListErrors.required=!0;return}n.OwningUserListErrors.required=!1});n.addUser=function(t){u.currentSource=t;$("#viewSharedMailbox_formResult").removeClass("alert-success alert-danger").html("");n.OwningUserListErrors.required=!1;angular.copy([],n.selectedEmail);n.showUserpicker=!0;var i=n.$on("UserPickerSelectionDone",function(){var r=u.currentSource,l=h(t)(n),o=[],c;angular.forEach(n.selectedEmail,function(n){n.Email!=null&&(c={EmailAddress:n.Email},o.push(c))});var a=l.concat(o),f=s("removeDuplicates")(a,"EmailAddress"),e=t+"LimitExceeded";r==="UsersWithFullAccessTempCopy"&&(f.length<=n.newValueDuplicateLength?(h(r).assign(n,f),h(e).assign(n,!1)):h(e).assign(n,!0));r==="UsersWithSendAsAccessTempCopy"&&(f.length<=n.newValueMembersDuplicateLength?(h(r).assign(n,f),h(e).assign(n,!1)):h(e).assign(n,!0));i();n.showUserpicker=!1;r==="UsersWithFullAccessTempCopy"&&angular.forEach(o,function(t){t.EmailAddress===k.EmailAddress&&(n.viewSharedMailbox.SelectUserAsOwner=!0,n.selectedUserAsOwnerFromUserPicker=!0)})})};g=n.$watchGroup(["EmailName","viewSharedMailbox.Name"],function(t,i,r){var u="org",f;n.SelectedOrganisation.ShortName&&(u=n.SelectedOrganisation.ShortName);n.mailboxNameCopy="";t!=i&&((u===undefined||u===""||u===null)&&(u=""),n.viewSharedMailbox_form.viewSharedMailboxInputEmailName.$valid&&n.viewSharedMailbox_form.viewSharedMailboxInputEmailName.$dirty&&u!==""&&n.EmailName!==undefined&&n.EmailName!==null?n.viewSharedMailbox.EmailAddress=angular.lowercase(u+"."+n.EmailName)+n.getEmailDomain():n.viewSharedMailbox_form.viewSharedMailboxInputEmailName.$invalid&&!r.viewSharedMailbox_form.viewSharedMailboxInputEmailName.$dirty&&(n.viewSharedMailbox.EmailAddress=""),n.viewSharedMailbox_form.viewSharedMailboxInputName.$valid&&n.viewSharedMailbox.Name!=undefined&&(n.mailboxNameCopy=s("capitalize")(n.viewSharedMailbox.Name,!0)),n.viewSharedMailbox_form.viewSharedMailboxInputName.$valid&&n.viewSharedMailbox_form.viewSharedMailboxInputName.$dirty&&n.viewSharedMailbox.Name!==""&&(f=n.viewSharedMailbox.DisplayName,n.viewSharedMailbox.DisplayName=n.mailboxNameCopy.toUpperCase()+" ("+n.OrganisationInDisplayName.toUpperCase()+")"))});n.stopUpdating=function(){g()};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1});n.viewSharedMailboxDelete=function(){y.Delete({EmailAddress:n.deleteRestoreMailboxData.EmailAddress}).$promise.then(function(){n.diableAllfields=!0;angular.element(".underLine").css("pointer-events","none");angular.element("#usharedMailboxStatus").text("Deleting");angular.element("#viewDetailsDeleteUndeleteMailbox").text("Restore");n.viewSharedMailbox.Status="Deleting";n.operationStarted=!0;n.del=!1;t.path("/")})};n.viewSharedMailboxRestore=function(){n.deleteRestoreMailboxData.EmailAddress=n.viewSharedMailbox.EmailAddress;y.Restore({EmailAddress:n.deleteRestoreMailboxData.EmailAddress}).$promise.then(function(){n.diableAllfields=!0;t.path("/")});$("#sharedMailboxRestoreModal").modal("hide")};n.cancelSharedMailboxRestore=function(){$("#sharedMailboxRestoreModal").modal("hide")};n.viewSharedMailboxDeleteClick=function(){if(n.deleteRestoreMailboxData.EmailAddress=n.viewSharedMailbox.EmailAddress,n.deleteRestoreMailboxData.SharedMailboxGuid=n.viewSharedMailbox.SharedMailboxGuid,n.viewSharedMailbox.Status=="Deleted")$("#sharedMailboxRestoreModal").modal("show");else if(n.viewSharedMailbox.Status=="Active")n.viewSharedMailboxDelete();else return $("#viewSharedMailbox_formResult").addClass("alert-danger").html("Delete request failed: user status must be Active to be deleted"),!1};n.viewSharedMailboxCancelClick=function(){window.history.back()};n.ShowMailboxStatistic=function(){y.GetSharedMailboxStatistics({name:n.viewSharedMailbox.UserPrincipalName}).$promise.then(function(t){n.SharedMailboxStatistics=t;n.SharedMailboxStatistics!==null&&n.SharedMailboxStatistics!==undefined&&n.SharedMailboxStatistics.LastLogonTime!=null?(n.isShowMailStatistic=!0,n.isShowMailStatisticError=!1):(n.isShowMailStatistic=!1,n.isShowMailStatisticError=!0);angular.element("#sharedMailboxStatisticsInfo").modal("show")})};n.getDisableMailboxStatistic=function(){n.MailboxSizeInBytes=(1073741824*n.viewSharedMailbox.MailboxSize).toLocaleString();n.disableMailboxStatistic=n.viewSharedMailbox.Status=="Deleted"||n.viewSharedMailbox.Status=="Deleted (Leaver)"||n.viewSharedMailbox.Status=="Deleting"||n.viewSharedMailbox.Status=="Restoring"||n.viewSharedMailbox.Status=="Pending"?!0:!1};n.getEmailDomain=function(){return domainAddress};n.editSharedMailboxOU=function(){angular.copy([],n.treedata);angular.copy([],n.expandedNodes);angular.copy(null,n.currentNode);$("#viewSharedMailbox_formResult").removeClass("alert-success alert-danger").html("");p.ViewOrganisation(n.viewSharedMailbox.Organisation).$promise.then(function(t){n.treedata.push(t);var i=l.getPathOfNodeInTreeObject(n.viewSharedMailbox.OrganisationUnit,n.treedata[0],"treedata[0]");angular.copy([],n.expandedNodes);i&&(n.expandedNodes=l.getExpandedTreeNodesTillSelectedNode(n.$eval(i),n.treedata[0],[]),n.currentNode=n.$eval(i),n.originallySelectedNodeBeforeEdit=n.$eval(i),angular.element("#viewSharedMailboxEditOUModal").modal("show"))})};n.CancelOUEdit=function(){n.currentNode=n.originallySelectedNodeBeforeEdit;angular.element("#viewSharedMailboxEditOUModal").modal("hide")};n.ConfirmOUEdit=function(){angular.copy(n.currentNode,n.viewSharedMailbox.OrganisationUnit);n.OUHierarchyInOrganisation=l.getNamePathOfNodeInTreeObjectRecursiveSearch(n.currentNode,n.treedata[0],"");angular.element("#viewSharedMailboxEditOUModal").modal("hide")};n.$watch("viewSharedMailbox_form.$valid",function(t,i){t!==i&&(n.disableTransferButton=t==!1||n.viewSharedMailbox.Status=="Deleting"||n.viewSharedMailbox.Status=="Restoring"?!0:!1)});n.viewSharedMailboxTransferClick=function(){n.transferRequired=!0;n.isOrganisationSelected=!1;$("#SharedMailboxMoverModal").modal("show")};n.transferMailbox=function(){if(!l.isValidShortname(n.SelectedOrganisation.ShortName)){w.warning("The selected organisation does not have a shortname, cannot transfer mailbox. Please contact support to have a shortname configured.");return}nt();updateDisplayNameAfterTransfer();var i={OrganisationID:n.SelectedOrganisation.ID,OrganisationUnitId:n.currentNodeMailMover.ID,OldUserPrincipalName:n.viewSharedMailbox.OldEmailAddress,NewUserPrincipalName:n.viewSharedMailbox.EmailAddress,DisplayName:n.viewSharedMailbox.DisplayName};n.transferRequired=!1;y.Transfer(i).$promise.then(function(){angular.element("#SharedMailboxMoverModal").modal("hide");n.isOrganisationSelected=!1;$(".modal-backdrop").remove();t.path("/")})};nt=function(){var t=n.SelectedOrganisation.ShortName;n.viewSharedMailbox_form.viewSharedMailboxInputEmailName.$valid?n.viewSharedMailbox.EmailAddress=angular.lowercase(t+"."+n.EmailName)+n.getEmailDomain():n.viewSharedMailbox_form.viewSharedMailboxInputEmailName.$invalid?n.viewSharedMailbox.EmailAddress="":n.EmailAddress=""};updateDisplayNameAfterTransfer=function(){n.viewSharedMailbox_form.viewSharedMailboxInputName.$valid&&(n.viewSharedMailbox.DisplayName=n.viewSharedMailbox.Name+" ("+n.SelectedOrganisation.Name.toUpperCase()+")")};n.selectUnselectOwner=function(){n.viewSharedMailbox.SelectUserAsOwner?n.UsersWithFullAccessTempCopy.push(k):(n.UsersWithFullAccessTempCopyLimitExceeded=!1,n.removeUser(k,"UsersWithFullAccessTempCopy"))};n.cancelMailboxMoving=function(){n.transferRequired=!1;n.isOrganisationSelected=!1;$("#SharedMailboxMoverModal").modal("hide");$(".modal-backdrop").remove()};n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.organisationChange()};n.organisationChange=function(){n.SelectedOrganisation!==null&&n.SelectedOrganisation!==undefined?(angular.copy([],n.treedataMailMover),angular.copy([],n.expandedNodesMailMover),angular.copy(null,n.currentNodeMailMover),p.ViewOrganisation(n.SelectedOrganisation).$promise.then(function(t){n.isOrganisationSelected=!0;n.treedataMailMover.push(angular.copy(t));n.expandedNodesMailMover=[n.treedataMailMover[0]];n.currentNodeMailMover=n.treedataMailMover[0]})):(angular.copy([],n.treedataMailMover),n.SelectedOrganisation=undefined,n.isOrganisationSelected=!1)};n.viewSharedMailboxSubmitClick=function(t){var i;if($("#viewSharedMailbox_formResult").removeClass("alert-success alert-danger").html(""),n.OwningUserListErrors.required=!1,n.UsersWithFullAccessTempCopy=s("removeDuplicates")(n.UsersWithFullAccessTempCopy,"EmailAddress"),n.UsersWithFullAccessTempCopy.length===0){n.OwningUserListErrors.required=!0;return}if(n.UsersWithFullAccessTempCopy.length>100&&n.viewSharedMailbox.SelectUserAsOwner){n.UsersWithFullAccessTempCopyLimitExceeded=!0;n.isSubmitClickValidation=!0;return}if(n.UsersWithFullAccessTempCopyLimitExceeded=!1,n.isSubmitClickValidation=!1,!t.$invalid){if(n.SelectedOrganisation!=undefined&&n.SelectedOrganisation.ID!=undefined)n.IsOrganisationUnSelected=!1,n.viewSharedMailbox.OrganisationId=n.SelectedOrganisation.ID;else{n.IsOrganisationUnSelected=!0;return}angular.copy([],n.viewSharedMailbox.RemoveUsersWithSendAsAccess);angular.copy([],n.viewSharedMailbox.RemoveUsersWithFullAccess);n.viewSharedMailbox.RemoveUsersWithSendAsAccess=s("FirstArrayMinusSecondArray")(n.viewSharedMailbox.UsersWithSendAsAccess,n.UsersWithSendAsAccessTempCopy);n.viewSharedMailbox.RemoveUsersWithFullAccess=s("FirstArrayMinusSecondArray")(n.viewSharedMailbox.UsersWithFullAccess,n.UsersWithFullAccessTempCopy);angular.copy(n.UsersWithSendAsAccessTempCopy,n.viewSharedMailbox.UsersWithSendAsAccess);i=[];angular.forEach(n.UsersWithFullAccessTempCopy,function(t){i.indexOf(t.EmailAddress)!==-1?n.UsersWithFullAccessTempCopy.pop():i.push(t.EmailAddress)});angular.copy(n.UsersWithFullAccessTempCopy,n.viewSharedMailbox.UsersWithFullAccess);var r=[],u=[],f=[],e=[];angular.forEach(n.viewSharedMailbox.UsersWithSendAsAccess,function(n){n.EmailAddress!=null&&r.push(n.EmailAddress)});angular.forEach(n.viewSharedMailbox.UsersWithFullAccess,function(n){n.EmailAddress!=null&&u.push(n.EmailAddress)});angular.forEach(n.viewSharedMailbox.RemoveUsersWithSendAsAccess,function(n){n.EmailAddress!=null&&f.push(n.EmailAddress)});angular.forEach(n.viewSharedMailbox.RemoveUsersWithFullAccess,function(n){n.EmailAddress!=null&&e.push(n.EmailAddress)});angular.copy(r,n.viewSharedMailbox.UsersWithSendAsAccess);angular.copy(u,n.viewSharedMailbox.UsersWithFullAccess);angular.copy(f,n.viewSharedMailbox.RemoveUsersWithSendAsAccess);angular.copy(e,n.viewSharedMailbox.RemoveUsersWithFullAccess);n.currentNode!=null&&(n.viewSharedMailbox.OrganisationUnit={ID:n.currentNode.ID,Name:n.currentNode.Name});y.Update(n.viewSharedMailbox).$promise.then(function(){window.history.back()})}}}]),function(){userAdminAppServicesModule.factory("SharedMailboxAPI",["$resource","Config","growl",function(n,t,i){function r(n){var r="Request failed";angular.isDefined(n.data.Errors)&&n.data.Errors.length>0?n.data.Errors[0].Code===51?$location.path("/AccessDenied"):(r+=": "+n.data.Errors[0].Message,r+=": "+n.data.Errors[0].Detail):angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");i.error(r,{ttl:t.Growl_TimeToLeave})}return n(baseUrlValue,{},{Get:{method:"GET",params:{upn:"@upn"},url:baseUrlValue+"GetSharedMailboxDetails/:upn",interceptor:{responseError:r},timeout:t.XhrTimeout},Delete:{method:"DELETE",params:{EmailAddress:"@EmailAddress"},url:baseUrlValue+"SharedMailbox/:EmailAddress",interceptor:{responseError:r},timeout:t.XhrTimeout},Restore:{method:"POST",params:{EmailAddress:"@EmailAddress"},url:baseUrlValue+"RestoreSharedMailbox/:EmailAddress",interceptor:{responseError:r},timeout:t.XhrTimeout},Update:{method:"PUT",url:baseUrlValue+"UpdateSharedMailbox",interceptor:{responseError:r},timeout:t.XhrTimeout},Transfer:{method:"PUT",url:baseUrlValue+"TransferSharedMailbox",interceptor:{responseError:r},timeout:t.XhrTimeout},Create:{method:"POST",url:baseUrlValue+"CreateSharedMailbox",interceptor:{responseError:r},timeout:t.XhrTimeout},GetSharedMailboxStatistics:{method:"GET",params:{name:"@name"},url:baseUrlValue+"admin/SharedMailboxStatistics/:name",interceptor:{responseError:r},timeout:t.XhrTimeout}})}])}();userAdminAppControllersModule.controller("UserAdminResourceMailboxController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","$rootScope","$filter","Config","$parse","FetchUPN","ResourceMailboxAPI","ViewOrganisationAPI","FetchMailboxCount",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v){var y,p;n.ResourceMailboxRequest={};n.resourceMailbox={};n.resourceMailbox.UsersWithSendAsAccess=[];n.resourceMailbox.UsersWithFullAccess=[];n.resourceMailbox.RemoveUsersWithSendAsAccess=[];n.resourceMailbox.RemoveUsersWithFullAccess=[];n.resourceMailbox.MailboxSize=s.ResourceMailboxSize;n.newValueDuplicateLength=s.NewValueDuplicateLength;n.UsersWithSendAsAccessTempCopy=[];n.UsersWithFullAccessTempCopy=[];n.selectedEmail=[];n.showUserpicker=!1;n.UsersWithSendAsAccessTempCopyLimitExceeded=!1;n.UsersWithFullAccessTempCopyLimitExceeded=!1;n.domain=domainAddress;n.organisationRequest={};n.organisationRequest.FilterParams={};n.organisationRequest.FilterParams.OrganisationType="Organisation";n.resourceMailbox.SelectedOrganisation={};n.isMailBoxLimitReached=!1;n.resourceMailbox.SelectUserAsOwner=!1;n.selectedUserAsOwnerFromUserPicker=!1;n.resourceMailbox.BookingResponse="Automatic";n.OwnersLimitExceededWithAddMySelf=!1;y={};n.getUserDetails=function(){c.Get().$promise.then(function(t){y.EmailAddress=t.Email;y.ID=t.ID;y.EmailType=t.EmailType;angular.forEach(n.UsersWithFullAccessTempCopy,function(t){t.EmailAddress===y.EmailAddress&&(n.viewResourceMailbox.SelectUserAsOwner=!0)})})};n.$watch("resourceMailbox.SelectUserAsOwner",function(t,i){t!==i&&t?n.UsersWithFullAccessTempCopy.push(y):t===i||t||(upn="",n.removeUser(y,"UsersWithFullAccessTempCopy"))});n.getUserDetails();n.filteritems={EmailType:"Resource"};n.treedata=[];n.expandedNodes=[];n.currentNode;n.isOrganisationSeleted=!1;n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.OwningUserListErrors={required:!1};n.modalMarkupLoaded=function(){$("#resourceMailbox_formResult").removeClass("alert-success alert-danger").html("")};n.modalMarkupLoaded();p=n.$watchGroup(["resourceMailbox.Name","resourceMailbox.EmailName","resourceMailbox.SelectedOrganisation.ShortName"],function(t,i){if(n.mailboxNameCopy="",n.SelectedOrganisationCopy="",t[0]!==i[0]){var r=n.resourceMailbox.SelectedOrganisation.ShortName;n.resourceMailbox_form.resourceMailboxInputEmailName.$valid?n.resourceMailbox.EmailAddress=angular.lowercase(r+"."+n.resourceMailbox.EmailName)+n.domain:n.resourceMailbox_form.resourceMailboxInputEmailName.$invalid&&(n.resourceMailbox.EmailAddress="");n.mailboxNameCopy=n.resourceMailbox_form.resourceMailboxInputName.$valid&&n.resourceMailbox.Name!=undefined?o("capitalize")(n.resourceMailbox.Name,!0):"";n.SelectedOrganisationCopy=n.resourceMailbox_form.resourceMailboxDropDownOrganisation.$valid&&n.resourceMailbox.SelectedOrganisation.Name!=undefined?n.resourceMailbox.SelectedOrganisation.Name:"";n.resourceMailbox.displayName=n.resourceMailbox.Name!=""?n.mailboxNameCopy+" ("+n.SelectedOrganisationCopy.toUpperCase()+")":"";n.mailboxNameCopy==""&&(n.resourceMailbox.displayName="")}else n.resourceMailbox.EmailAddress=""});n.stopUpdating=function(){p()};n.pick=function(t){angular.copy(t,n.resourceMailbox.SelectedOrganisation);n.OrganisationNameOptions=n.resourceMailbox.SelectedOrganisation;n.organisationChange()};n.organisationChange=function(){if(n.resourceMailbox.SelectedOrganisation.ShortName==""||n.resourceMailbox.SelectedOrganisation.ShortName==null||n.resourceMailbox.SelectedOrganisation.ShortName==undefined){n.isOrganisationSeleted=!1;return}if(n.resourceMailbox.SelectedOrganisation!=null&&n.resourceMailbox.SelectedOrganisation!=undefined){angular.copy([],n.treedata);angular.copy([],n.treedata);a.ViewOrganisation(n.resourceMailbox.SelectedOrganisation).$promise.then(function(t){n.isOrganisationSeleted=!0;n.treedata.push(t);n.expandedNodes=[n.treedata[0]];n.currentNode=n.treedata[0]});var t={};t.user=null;t.startDate=moment().startOf("month").toISOString();t.endDate=moment().toISOString();t.targetObject=null;t.targetOrganisation=n.resourceMailbox.SelectedOrganisation.ID;t.actions=["Create"];t.objectTypes=["User Mailbox","Resource Mailbox","Organisation"];v.get(t).$promise.then(function(t){n.mailboxCount=t;n.isMailBoxLimitReached=n.mailboxCount.MailBoxCreated>=n.mailboxCount.MailBoxLimit?!0:!1;n.mailboxCountDisplayMessage="Mailboxes Created: "+n.mailboxCount.MailBoxCreated+"/"+n.mailboxCount.MailBoxLimit;n.isMailBoxLimitReached&&(n.mailboxCountDisplayMessage=n.mailboxCountDisplayMessage+"(Limit Reached)")})}else angular.copy([],n.treedata),n.resourceMailbox.SelectedOrganisation=undefined,n.isOrganisationSeleted=!1};n.initializeListSizeExceedingErrorMessage=function(){n.UsersWithSendAsAccessTempCopyLimitExceeded=!1;n.UsersWithFullAccessTempCopyLimitExceeded=!1};n.removeUser=function(t,i){t.EmailAddress===y.EmailAddress&&(n.resourceMailbox.SelectUserAsOwner=!1);var r=h(i)(n),u=o("removeElementFromArrayOfObject")(r,"EmailAddress",t.EmailAddress);h(i).assign(n,u)};$("#resourceMailboxSelectUserAsOwner").click(function(){if(n.UsersWithFullAccessTempCopy.length===0&&(n.OwningUserListErrors.required=!1)){n.OwningUserListErrors.required=!0;return}n.OwningUserListErrors.required=!1});n.addUser=function(t){u.currentSource=t;$("#resourceMailbox_formResult").removeClass("alert-success alert-danger").html("");n.OwningUserListErrors.required=!1;n.initializeListSizeExceedingErrorMessage();angular.copy([],n.selectedEmail);n.showUserpicker=!0;var i=n.$on("UserPickerSelectionDone",function(){var r=u.currentSource,a=h(r)(n),f=[],s,c,e,l;angular.forEach(n.selectedEmail,function(n){n.Email!=null&&(s={EmailAddress:n.Email},f.push(s))});c=a.concat(f);e=o("removeDuplicates")(c,"EmailAddress");e.length<=n.newValueDuplicateLength?h(r).assign(n,e):(l=t+"LimitExceeded",h(l).assign(n,!0));i();n.showUserpicker=!1;r==="UsersWithFullAccessTempCopy"&&angular.forEach(f,function(t){t.EmailAddress===y.EmailAddress&&(n.resourceMailbox.SelectUserAsOwner=!0,n.selectedUserAsOwnerFromUserPicker=!0)})})};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1});n.resourceMailboxCreateClick=function(t){var f,i,r,u;if($("#userDetails_formResult").removeClass("alert-success alert-danger").html(""),n.OwningUserListErrors.required=!1,n.UsersWithFullAccessTempCopy.length===0){n.OwningUserListErrors.required=!0;return}if(n.UsersWithFullAccessTempCopy.length>100&&n.resourceMailbox.SelectUserAsOwner){n.OwnersLimitExceededWithAddMySelf=!0;return}if(n.OwnersLimitExceededWithAddMySelf=!1,!t.$invalid&&n.resourceMailbox.SelectedOrganisation&&n.resourceMailbox.SelectedOrganisation.Name!=undefined&&!n.resourceMailbox.SelectedOrganisation.ID!=undefined){if(angular.equals(n.UsersWithSendAsAccessTempCopy,n.resourceMailbox.UsersWithSendAsAccess)&&angular.equals(n.UsersWithFullAccessTempCopy,n.resourceMailbox.UsersWithFullAccess)){f="No user list changed. Please add or remove users from any list to proceed.";$("#resourceMailbox_formResult").addClass("alert-danger").html(f);return}angular.copy([],n.resourceMailbox.RemoveUsersWithSendAsAccess);angular.copy([],n.resourceMailbox.RemoveUsersWithFullAccess);n.resourceMailbox.RemoveUsersWithSendAsAccess=o("FirstArrayMinusSecondArray")(n.resourceMailbox.UsersWithSendAsAccess,n.UsersWithSendAsAccessTempCopy);n.resourceMailbox.RemoveUsersWithFullAccess=o("FirstArrayMinusSecondArray")(n.resourceMailbox.UsersWithFullAccess,n.UsersWithFullAccessTempCopy);angular.copy(n.UsersWithSendAsAccessTempCopy,n.resourceMailbox.UsersWithSendAsAccess);i=[];angular.forEach(n.UsersWithFullAccessTempCopy,function(t){i.indexOf(t.EmailAddress)!==-1?n.UsersWithFullAccessTempCopy.pop():i.push(t.EmailAddress)});angular.copy(n.UsersWithFullAccessTempCopy,n.resourceMailbox.UsersWithFullAccess);r=[];u=[];angular.forEach(n.resourceMailbox.UsersWithSendAsAccess,function(n){n.EmailAddress!=null&&r.push(n.EmailAddress)});angular.forEach(n.resourceMailbox.UsersWithFullAccess,function(n){n.EmailAddress!=null&&u.push(n.EmailAddress)});angular.copy(r,n.resourceMailbox.UsersWithSendAsAccess);angular.copy(u,n.resourceMailbox.UsersWithFullAccess);n.resourceMailbox.Organisation={ID:n.resourceMailbox.SelectedOrganisation.ID,Name:n.resourceMailbox.SelectedOrganisation.Name,Country:n.resourceMailbox.SelectedOrganisation.Country,ODSCode:n.resourceMailbox.SelectedOrganisation.ODSCode,Address:n.resourceMailbox.SelectedOrganisation.Address,PostCode:n.resourceMailbox.SelectedOrganisation.PostCode,ParentOrganisation:n.resourceMailbox.SelectedOrganisation.ParentOrganisation,County:n.resourceMailbox.SelectedOrganisation.County};n.resourceMailbox.OrganisationUnit={ID:n.currentNode.ID,Name:n.currentNode.Name};n.ResourceMailboxRequest=n.resourceMailbox;n.BookingResponse="Automatic";$("#confirmBookingResponseModal").modal("show")}};n.confirmBookingResponse=function(){l.Create(n.ResourceMailboxRequest).$promise.then(function(){t.path("/")});angular.element("#confirmBookingResponseModal").modal("hide")};n.cancelbookingResponse=function(){angular.element("#confirmBookingResponseModal").modal("hide")};n.resourceMailboxCancelClick=function(){t.path("/")};n.selectUnselectOwner=function(){n.resourceMailbox.SelectUserAsOwner?n.UsersWithFullAccessTempCopy.push(y):(n.OwnersLimitExceededWithAddMySelf=!1,n.removeUser(y,"UsersWithFullAccessTempCopy"))}}]);userAdminAppControllersModule.controller("UserAdminViewResourceMailboxController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","$rootScope","$routeParams","$filter","$parse","$q","Config","OrganisationObjectHelperService","PermissionChecker","FetchUPN","ResourceMailboxAPI","ViewOrganisationAPI","growl",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b){var g,k,d,nt,tt;n.isOrganisationSelected=!1;n.OldEmailAddress="";n.viewResourceMailbox={};n.viewResourceMailbox.ID=o.ID;n.SelectedOrganisation={};n.diableAllfields=!1;n.disableDeletefield=!1;n.disableRestorefield=!1;n.deleteRestoreMailboxData={};g="UPDATE_RESOURCE_MAILBOX";n.viewResourceMailbox.UsersWithSendAsAccess=[];n.viewResourceMailbox.UsersWithFullAccess=[];n.viewResourceMailbox.RemoveUsersWithSendAsAccess=[];n.viewResourceMailbox.RemoveUsersWithFullAccess=[];n.UsersWithSendAsAccessTempCopy=[];n.UsersWithFullAccessTempCopy=[];n.selectedEmail=[];n.OrganisationInDisplayName="";n.showUserpicker=!1;n.organisationRequest={};n.organisationRequest.FilterParams={};n.organisationRequest.FilterParams.OrganisationType="Organisation";n.newValueDuplicateLength=l.NewValueDuplicateLength;n.newValueMembersDuplicateLength=l.NewValueMembersDuplicateLength;n.resourceUpdatePermission=!1;n.resourceDeletePermission=!1;n.resourceReadPermission=!1;n.IsOrganisationUnSelected=!1;n.IsGetOrganisationListCallSuccess;n.IsGetMailBoxDetailsCallSuccess;n.treedata=[];n.expandedNodes=[];n.currentNode=null;n.treedataMailMover=[];n.expandedNodesMailMover=[];n.currentNodeMailMover=null;n.del=!1;n.resourceMailboxRestorePermission=!1;n.isSubmitClickValidation=!1;n.viewResourceMailbox.BookingResponse="Automatic";v.contains("UPDATE_RESOURCE_MAILBOX")&&(n.resourceUpdatePermission=!0);v.contains("DELETE_RESOURCE_MAILBOX")&&(n.resourceDeletePermission=!0);v.contains("READ_RESOURCE_MAILBOX")&&(n.resourceReadPermission=!0);v.contains("SHARED_MAILBOX_RESTORE")&&(n.resourceMailboxRestorePermission=!0);n.filteritems={EmailType:l.ResourceMailbox_EmailType,Status:l.ResourceMailbox_Status};n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.OwningUserListErrors={required:!1};k={};d=!0;n.viewResourceMailbox.SelectUserAsOwner=!1;n.selectedUserAsOwnerFromUserPicker=!1;n.markupLoaded=!1;n.getUserDetails=function(){y.Get().$promise.then(function(t){k.EmailAddress=t.Email;k.ID=t.ID;k.EmailType=t.EmailType;angular.forEach(n.UsersWithFullAccessTempCopy,function(t){t.EmailAddress===k.EmailAddress&&(n.viewResourceMailbox.SelectUserAsOwner=!0)})})};n.getUserDetails();n.$watch("viewResourceMailbox.SelectUserAsOwner",function(t,i){t!==i&&t?n.UsersWithFullAccessTempCopy.push(k):t===i||t||(upn="",n.removeUser(k,"UsersWithFullAccessTempCopy"))});n.modalMarkupLoaded=function(){$("#viewResourceMailbox_formResult").removeClass("alert-success alert-danger").html("");p.Get({Id:n.viewResourceMailbox.ID}).$promise.then(function(t){angular.copy(t,n.viewResourceMailbox);n.viewResourceMailbox.MailboxLocation=n.viewResourceMailbox.IsCloudMailbox?l.MailboxLocations[0]:l.MailboxLocations[1];angular.copy([],n.viewResourceMailbox.UsersWithSendAsAccess);angular.copy([],n.viewResourceMailbox.UsersWithFullAccess);var i=n.viewResourceMailbox.DisplayName,r=n.viewResourceMailbox.Organisation.Name;n.OrganisationInDisplayName=r;t.BookingResponse==null||t.BookingResponse==undefined?n.viewResourceMailbox.BookingResponse="Automatic":n.BookingResponse=t.BookingResponse;i.toLowerCase().includes(r.toLowerCase())?n.viewResourceMailbox.Name=i.substring(0,i.indexOf(" (")):(n.viewResourceMailbox.Name=i,n.viewResourceMailbox.DisplayName=n.viewResourceMailbox.Name+" ("+r+")");n.OUHierarchyInOrganisation=a.getPathOfOUinOrgAsName(n.viewResourceMailbox.OrganisationUnit);angular.forEach(t.UsersWithFullAccess,function(t){var i={EmailAddress:t};n.viewResourceMailbox.UsersWithFullAccess.push(i)});angular.forEach(t.UsersWithSendAsAccess,function(t){var i={EmailAddress:t};n.viewResourceMailbox.UsersWithSendAsAccess.push(i)});angular.copy(n.viewResourceMailbox.UsersWithSendAsAccess,n.UsersWithSendAsAccessTempCopy);angular.copy(n.viewResourceMailbox.UsersWithFullAccess,n.UsersWithFullAccessTempCopy);n.markupLoaded=!0;n.EmailName=n.viewResourceMailbox.EmailAddress.split("@")[0].substr(n.viewResourceMailbox.EmailAddress.split("@")[0].indexOf(".")+1);n.SelectedOrganisation=t.Organisation;n.viewResourceMailbox.OldEmailAddress=n.viewResourceMailbox.EmailAddress;n.deleteRestoreMailboxData.Permission=g;n.viewResourceMailbox.Status!=undefined&&n.viewResourceMailbox.Status=="Deleted"&&(n.diableAllfields=!0,angular.element("#viewDetailsDeleteUndeleteMailbox").text("Restore"),n.del=!1);n.viewResourceMailbox.Status!=undefined&&n.viewResourceMailbox.Status=="Restore"&&(n.diableAllfields=!1,angular.element("#viewDetailsDeleteUndeleteMailbox").text("Deleted"),n.del=!0);n.viewResourceMailbox.Status!=undefined&&n.viewResourceMailbox.Status=="Deleting"&&(n.diableAllfields=!0,n.disableDeletefield=!0,n.del=!1);n.viewResourceMailbox.Status!=undefined&&n.viewResourceMailbox.Status=="Restoring"&&(n.diableAllfields=!0,n.disableRestorefield=!0,n.del=!0);n.operationStarted=!1})};n.modalMarkupLoaded();n.checkForRemoveOnLoad=!0;n.$watch("viewResourceMailbox.UsersWithFullAccess",function(){n.markupLoaded&&d&&(n.getUserDetails(),d=!1)});n.removeUser=function(t,i){if(!n.checkForRemoveOnLoad){t.EmailAddress===k.EmailAddress&&i==="UsersWithFullAccessTempCopy"&&(n.viewResourceMailbox.SelectUserAsOwner=!1);var r=h(i)(n),u=s("removeElementFromArrayOfObject")(r,"EmailAddress",t.EmailAddress);h(i).assign(n,u)}n.checkForRemoveOnLoad=!1};$("#editSharedMailboxSelectUserAsOwner").click(function(){if(n.UsersWithFullAccessTempCopy.length===0&&(n.OwningUserListErrors.required=!1)){n.OwningUserListErrors.required=!0;return}n.OwningUserListErrors.required=!1});n.addUser=function(t){u.currentSource=t;$("#viewResourceMailbox_formResult").removeClass("alert-success alert-danger").html("");n.OwningUserListErrors.required=!1;angular.copy([],n.selectedEmail);n.showUserpicker=!0;var i=n.$on("UserPickerSelectionDone",function(){var r=u.currentSource,l=h(t)(n),o=[],c;angular.forEach(n.selectedEmail,function(n){n.Email!=null&&(c={EmailAddress:n.Email},o.push(c))});var a=l.concat(o),f=s("removeDuplicates")(a,"EmailAddress"),e=t+"LimitExceeded";r==="UsersWithFullAccessTempCopy"&&(f.length<=n.newValueDuplicateLength?(h(r).assign(n,f),h(e).assign(n,!1)):h(e).assign(n,!0));r==="UsersWithSendAsAccessTempCopy"&&(f.length<=n.newValueMembersDuplicateLength?(h(r).assign(n,f),h(e).assign(n,!1)):h(e).assign(n,!0));i();n.showUserpicker=!1;r==="UsersWithFullAccessTempCopy"&&angular.forEach(o,function(t){t.EmailAddress===k.EmailAddress&&(n.viewResourceMailbox.SelectUserAsOwner=!0,n.selectedUserAsOwnerFromUserPicker=!0)})})};nt=n.$watchGroup(["EmailName","viewResourceMailbox.Name"],function(t,i,r){var u="org",f;n.SelectedOrganisation.ShortName&&(u=n.SelectedOrganisation.ShortName);n.mailboxNameCopy="";t!=i&&((u===undefined||u===""||u===null)&&(u=""),n.viewResourceMailbox_form.viewResourceMailboxInputEmailName.$valid&&n.viewResourceMailbox_form.viewResourceMailboxInputEmailName.$dirty&&u!==""&&n.EmailName!==undefined&&n.EmailName!==null?n.viewResourceMailbox.EmailAddress=angular.lowercase(u+"."+n.EmailName)+n.getEmailDomain():n.viewResourceMailbox_form.viewResourceMailboxInputEmailName.$invalid&&!r.viewResourceMailbox_form.viewResourceMailboxInputEmailName.$dirty&&(n.viewResourceMailbox.EmailAddress=""),n.viewResourceMailbox_form.viewResourceMailboxInputName.$valid&&n.viewResourceMailbox.Name!=undefined&&(n.mailboxNameCopy=s("capitalize")(n.viewResourceMailbox.Name,!0)),n.viewResourceMailbox_form.viewResourceMailboxInputName.$valid&&n.viewResourceMailbox_form.viewResourceMailboxInputName.$dirty&&n.viewResourceMailbox.Name!==""&&(f=n.viewResourceMailbox.DisplayName,n.viewResourceMailbox.DisplayName=n.mailboxNameCopy+" ("+n.OrganisationInDisplayName.toUpperCase()+")"))});n.stopUpdating=function(){nt()};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1});n.viewResourceMailboxDelete=function(){p.Delete({EmailAddress:n.deleteRestoreMailboxData.EmailAddress}).$promise.then(function(){n.diableAllfields=!0;angular.element(".underLine").css("pointer-events","none");angular.element("#uresourceMailboxStatus").text("Deleting");angular.element("#viewDetailsDeleteUndeleteMailbox").text("Restore");n.viewResourceMailbox.Status="Deleting";n.operationStarted=!0;n.del=!1;t.path("/")})};n.viewResourceMailboxRestore=function(){p.Restore(n.deleteRestoreMailboxData).$promise.then(function(){n.diableAllfields=!1;t.path("/")});$("#resourceMailboxRestoreModal").modal("hide")};n.cancelResourceMailboxRestore=function(){$("#resourceMailboxRestoreModal").modal("hide")};n.viewResourceMailboxDeleteClick=function(){if(n.deleteRestoreMailboxData.EmailAddress=n.viewResourceMailbox.EmailAddress,n.deleteRestoreMailboxData.ResourceMailboxGuid=o.ID,n.viewResourceMailbox.Status=="Deleted")$("#resourceMailboxRestoreModal").modal("show");else if(n.viewResourceMailbox.Status=="Active")n.viewResourceMailboxDelete();else return $("#viewResourceMailbox_formResult").addClass("alert-danger").html("Delete request failed: user status must be Active to be deleted"),!1};n.viewResourceMailboxCancelClick=function(){t.path("/")};n.getEmailDomain=function(){return domainAddress};n.editResourceMailboxOU=function(){angular.copy([],n.treedata);angular.copy([],n.expandedNodes);angular.copy(null,n.currentNode);$("#viewResourceMailbox_formResult").removeClass("alert-success alert-danger").html("");w.ViewOrganisation(n.viewResourceMailbox.Organisation).$promise.then(function(t){n.treedata.push(t);var i=a.getPathOfNodeInTreeObject(n.viewResourceMailbox.OrganisationUnit,n.treedata[0],"treedata[0]");angular.copy([],n.expandedNodes);i&&(n.expandedNodes=a.getExpandedTreeNodesTillSelectedNode(n.$eval(i),n.treedata[0],[]),n.currentNode=n.$eval(i),n.originallySelectedNodeBeforeEdit=n.$eval(i),angular.element("#viewResourceMailboxEditOUModal").modal("show"))})};n.CancelOUEdit=function(){n.currentNode=n.originallySelectedNodeBeforeEdit;angular.element("#viewResourceMailboxEditOUModal").modal("hide")};n.ConfirmOUEdit=function(){angular.copy(n.currentNode,n.viewResourceMailbox.OrganisationUnit);n.OUHierarchyInOrganisation=a.getNamePathOfNodeInTreeObjectRecursiveSearch(n.currentNode,n.treedata[0],"");angular.element("#viewResourceMailboxEditOUModal").modal("hide")};n.$watch("viewResourceMailbox_form.$valid",function(t,i){t!==i&&(n.disableTransferButton=t==!1||n.viewResourceMailbox.Status=="Deleting"||n.viewResourceMailbox.Status=="Restoring"?!0:!1)});n.viewResourceMailboxTransferClick=function(){n.transferRequired=!0;n.isOrganisationSelected=!1;$("#ResourceMailboxMoverModal").modal("show")};n.transferMailbox=function(){if(!a.isValidShortname(n.SelectedOrganisation.ShortName)){b.warning("The selected organisation does not have a shortname, cannot transfer mailbox. Please contact support to have a shortname configured.");return}tt();updateDisplayNameAfterTransfer();var i={OrganisationID:n.SelectedOrganisation.ID,OrganisationUnitId:n.currentNodeMailMover.ID,OldUserPrincipalName:n.viewResourceMailbox.OldEmailAddress,NewUserPrincipalName:n.viewResourceMailbox.EmailAddress,DisplayName:n.viewResourceMailbox.DisplayName,Notes:n.viewResourceMailbox.Notes};n.transferRequired=!1;p.Transfer(i).$promise.then(function(){angular.element("#ResourceMailboxMoverModal").modal("hide");n.isOrganisationSelected=!1;$(".modal-backdrop").remove();t.path("/")})};tt=function(){var t=n.SelectedOrganisation.ShortName;n.viewResourceMailbox_form.viewResourceMailboxInputEmailName.$valid?n.viewResourceMailbox.EmailAddress=angular.lowercase(t+"."+n.EmailName)+n.getEmailDomain():n.viewResourceMailbox_form.viewResourceMailboxInputEmailName.$invalid?n.viewResourceMailbox.EmailAddress="":n.EmailAddress=""};updateDisplayNameAfterTransfer=function(){n.viewResourceMailbox_form.viewResourceMailboxInputName.$valid&&(n.viewResourceMailbox.DisplayName=n.viewResourceMailbox.Name+" ("+n.SelectedOrganisation.Name.toUpperCase()+")")};n.cancelMailboxMoving=function(){n.transferRequired=!1;n.isOrganisationSelected=!1;$("#ResourceMailboxMoverModal").modal("hide");$(".modal-backdrop").remove()};n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.organisationChange()};n.organisationChange=function(){n.SelectedOrganisation!==null&&n.SelectedOrganisation!==undefined?(angular.copy([],n.treedataMailMover),angular.copy([],n.expandedNodesMailMover),angular.copy(null,n.currentNodeMailMover),w.ViewOrganisation(n.SelectedOrganisation).$promise.then(function(t){n.isOrganisationSelected=!0;n.treedataMailMover.push(angular.copy(t));n.expandedNodesMailMover=[n.treedataMailMover[0]];n.currentNodeMailMover=n.treedataMailMover[0]})):(angular.copy([],n.treedataMailMover),n.SelectedOrganisation=undefined,n.isOrganisationSelected=!1)};n.selectUnselectOwner=function(){n.viewResourceMailbox.SelectUserAsOwner?n.UsersWithFullAccessTempCopy.push(k):(n.UsersWithFullAccessTempCopyLimitExceeded=!1,n.removeUser(k,"UsersWithFullAccessTempCopy"))};n.viewResourceMailboxSubmitClick=function(i){var r;if($("#viewResourceMailbox_formResult").removeClass("alert-success alert-danger").html(""),n.OwningUserListErrors.required=!1,n.UsersWithFullAccessTempCopy.length===0){n.OwningUserListErrors.required=!0;return}if(n.UsersWithFullAccessTempCopy.length>100&&n.viewResourceMailbox.SelectUserAsOwner){n.UsersWithFullAccessTempCopyLimitExceeded=!0;n.isSubmitClickValidation=!0;return}if(n.UsersWithFullAccessTempCopyLimitExceeded=!1,n.isSubmitClickValidation=!1,!i.$invalid){if(n.SelectedOrganisation!=undefined&&n.SelectedOrganisation.ID!=undefined)n.IsOrganisationUnSelected=!1,n.viewResourceMailbox.OrganisationId=n.SelectedOrganisation.ID;else{n.IsOrganisationUnSelected=!0;return}angular.copy([],n.viewResourceMailbox.RemoveUsersWithSendAsAccess);angular.copy([],n.viewResourceMailbox.RemoveUsersWithFullAccess);n.viewResourceMailbox.RemoveUsersWithSendAsAccess=s("FirstArrayMinusSecondArray")(n.viewResourceMailbox.UsersWithSendAsAccess,n.UsersWithSendAsAccessTempCopy);n.viewResourceMailbox.RemoveUsersWithFullAccess=s("FirstArrayMinusSecondArray")(n.viewResourceMailbox.UsersWithFullAccess,n.UsersWithFullAccessTempCopy);angular.copy(n.UsersWithSendAsAccessTempCopy,n.viewResourceMailbox.UsersWithSendAsAccess);r=[];angular.forEach(n.UsersWithFullAccessTempCopy,function(t){r.indexOf(t.EmailAddress)!==-1?n.UsersWithFullAccessTempCopy.pop():r.push(t.EmailAddress)});angular.copy(n.UsersWithFullAccessTempCopy,n.viewResourceMailbox.UsersWithFullAccess);var u=[],f=[],e=[],o=[];angular.forEach(n.viewResourceMailbox.UsersWithSendAsAccess,function(n){n.EmailAddress!=null&&u.push(n.EmailAddress)});angular.forEach(n.viewResourceMailbox.UsersWithFullAccess,function(n){n.EmailAddress!=null&&f.push(n.EmailAddress)});angular.forEach(n.viewResourceMailbox.RemoveUsersWithSendAsAccess,function(n){n.EmailAddress!=null&&e.push(n.EmailAddress)});angular.forEach(n.viewResourceMailbox.RemoveUsersWithFullAccess,function(n){n.EmailAddress!=null&&o.push(n.EmailAddress)});angular.copy(u,n.viewResourceMailbox.UsersWithSendAsAccess);angular.copy(f,n.viewResourceMailbox.UsersWithFullAccess);angular.copy(e,n.viewResourceMailbox.RemoveUsersWithSendAsAccess);angular.copy(o,n.viewResourceMailbox.RemoveUsersWithFullAccess);n.currentNode!=null&&(n.viewResourceMailbox.OrganisationUnit={ID:n.currentNode.ID,Name:n.currentNode.Name});n.BookingResponse=n.viewResourceMailbox.BookingResponse;p.Update(n.viewResourceMailbox).$promise.then(function(){t.path("/")})}}}]),function(){userAdminAppServicesModule.factory("ResourceMailboxAPI",["$resource","Config","growl",function(n,t,i){function r(n){var r="Request failed";angular.isDefined(n.data.Errors)&&n.data.Errors.length>0?n.data.Errors[0].Code===51?$location.path("/AccessDenied"):(r+=": "+n.data.Errors[0].Message,r+=". "+n.data.Errors[0].Detail):angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");i.error(r,{ttl:t.Growl_TimeToLeave})}return n(baseUrlValue,{},{Create:{method:"POST",url:baseUrlValue+"/api/admin/CreateResourceMailbox",interceptor:{responseError:r},timeout:t.XhrTimeout},Get:{method:"GET",params:{Id:"@Id"},url:baseUrlValue+"/api/admin/ResourceMailbox/:Id",interceptor:{responseError:r},timeout:t.XhrTimeout},Delete:{method:"DELETE",params:{EmailAddress:"@EmailAddress"},url:baseUrlValue+"/api/admin/ResourceMailbox/:EmailAddress",interceptor:{responseError:r},timeout:t.XhrTimeout},Transfer:{method:"POST",url:baseUrlValue+"/api/admin/TransferResourceMailbox",interceptor:{responseError:r},timeout:t.XhrTimeout},Restore:{method:"POST",url:baseUrlValue+"/api/admin/RestoreResourceMailbox",interceptor:{responseError:r},timeout:t.XhrTimeout},Update:{method:"PUT",url:baseUrlValue+"/api/admin/ResourceMailbox",interceptor:{responseError:r},timeout:t.XhrTimeout}})}])}();userAdminAppControllersModule.controller("UserAdminBulkEditContactController",["$scope","$location","$sessionStorage","PermissionChecker","$http",function(n,t,i,r,u){n.emailAddress=i.GlobalUserDataList;n.hasContactDelete=!r.contains("CONTACT_DELETE");n.contactDeleteClick=function(){u({method:"DELETE",url:baseUrlValue+"api/contact/bulk",headers:{"Content-Type":"application/json;charset=utf-8"},data:n.emailAddress}).success(function(n){n.Success==!0&&t.path("/ListContacts/")}).error(function(){})};n.editContactCancelClick=function(){window.history.back()}}]);userAdminAppControllersModule.controller("UserAdminCreateContactController",["$scope","$http","$location","$filter","growl","Config","ContactAPI","ViewOrganisationAPI","PicklistAPI",function(n,t,i,r,u,f,e,o,s){n.contactDetails={};n.treedata=[];n.selected={};n.expandedNodes=[];n.currentNode;n.isOrganisationSeleted=!1;n.SelectedOrganisation={};n.contactDetails.firstName="";n.contactDetails.lastName="";n.contactDetails.displayName="";n.contactDetails.SipAddress="";n.contactDetails.Title=f.Contact_DefaultTitle;n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.CreateContactCancelClick=function(){window.history.back()};n.CreateContactSubmitClick=function(t){($("#createContact_formResult").removeClass("alert-success alert-danger").html(""),t.$invalid)||(n.contactDetails.Organisation={ID:n.SelectedOrganisation.ID,Name:n.SelectedOrganisation.Name,Country:n.SelectedOrganisation.Country,ODSCode:n.SelectedOrganisation.ODSCode},n.contactDetails.OrganisationUnit={ID:n.currentNode.ID,Name:n.currentNode.Name},n.contactDetails.SipAddress=n.SipAddress,e.Create(n.contactDetails).$promise.then(function(n){return u.info("Create contact request in progress"),i.path("/ListContacts"),n}))};n.$watch("contactDetails.firstName+contactDetails.lastName",function(t,i){n.firstNameCopy="";n.lastNameCopy="";t!==i&&(n.firstNameCopy=n.createContact_form.createContactInputFirstName.$valid&&n.contactDetails.firstName!=undefined?n.contactDetails.firstName:"",n.lastNameCopy=n.createContact_form.createContactInputLastName.$valid&&n.contactDetails.lastName!=undefined?n.contactDetails.lastName:"",n.contactDetails.displayName=n.contactDetails.firstName!=""||n.contactDetails.lastName!=""?n.lastNameCopy+", "+n.firstNameCopy:"",n.lastNameCopy==""&&n.firstNameCopy==""&&(n.contactDetails.displayName=""))});var h=n.$watchGroup(["contactDetails.firstName","contactDetails.lastName","SelectedOrganisation.Name"],function(t,i){n.firstNameCopy="";n.lastNameCopy="";n.SelectedOrganisationCopy="";(t[0]!==i[0]||t[1]!==i[1]||t[2]!==i[2])&&(n.firstNameCopy=n.createContact_form.createContactInputFirstName.$valid&&n.contactDetails.firstName!=undefined?r("capitalize")(n.contactDetails.firstName,!0):"",n.lastNameCopy=n.createContact_form.createContactInputFirstName.$valid&&n.contactDetails.lastName!=undefined?n.contactDetails.lastName.toUpperCase():"",n.SelectedOrganisationCopy=n.createContact_form.createContactSelectOrganisation.$valid&&n.SelectedOrganisation.Name!=undefined?n.SelectedOrganisation.Name:"",n.contactDetails.displayName=n.contactDetails.firstName!=""||n.contactDetails.lastName!=""?n.lastNameCopy+", "+n.firstNameCopy+" ("+n.SelectedOrganisationCopy.toUpperCase()+")":"",n.lastNameCopy==""&&n.firstNameCopy==""&&(n.contactDetails.displayName=""),(n.lastNameCopy==""||n.firstNameCopy=="")&&(n.contactDetails.email_list="",n.contactDetails.mailBoxSelectEmail=""))});n.stopUpdating=function(){h()};n.modalMarkupLoaded=function(){$("#createUser_formResult").removeClass("alert-success alert-danger").html("");n.workArea=s.GetWorkArea();n.clinicalSpeciality=s.GetClinicalSpeciality();n.clinicalRole=s.GetClinicalRole()};n.modalMarkupLoaded();n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.organisationChange()};n.organisationChange=function(){n.SelectedOrganisation!=null&&n.SelectedOrganisation!="undefined"?(angular.copy([],n.treedata),o.ViewOrganisation(n.SelectedOrganisation).$promise.then(function(t){n.isOrganisationSeleted=!0;n.treedata.push(t);n.expandedNodes=[n.treedata[0]];n.currentNode=n.treedata[0]})):(angular.copy([],n.treedata),n.SelectedOrganisation=undefined,n.isOrganisationSeleted=!1)}}]);userAdminAppControllersModule.controller("UserAdminEditContactListController",["$scope","$rootScope","$location","$routeParams","$modal","$http","$sessionStorage","$filter","OrganisationObjectHelperService","PermissionChecker","ConvertEntityService","Config","ContactAPI","ViewOrganisationAPI","PicklistAPI",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y){n.contactDetails={};n.contactDetails.isRequestedfromContactpage=!0;n.OrganisationParentAndChildDetails="";n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.treedata=[];n.expandedNodes=[];n.currentNode=null;n.contactUpdatePermission=!1;n.contactDeletePermission=!1;n.contactTransferPermitted=!1;n.SelectedOrganisation={};n.treedataContactMover=[];n.expandedNodesContact=[];n.SipAddress="";n.currentNodeContactMover=null;h.contains("CONTACT_UPDATE")&&(n.contactUpdatePermission=!0);h.contains("CONTACT_DELETE")&&(n.contactDeletePermission=!0);h.contains("IS_ADMIN")&&n.contactUpdatePermission&&(n.contactTransferPermitted=!0);h.contains("USER_CREATE")&&(n.contactCoversionPermitted=!0);n.modalMarkupLoaded=function(){n.viewContactListParams={};n.viewContactListParams.EmailAddress=r.EmailAddress;a.GetMailContactDetails(n.viewContactListParams).$promise.then(function(t){n.contactDetails=t;n.contactDetails.OldEmailAddress=n.contactDetails.EmailAddress;n.OrganisationParentAndChildDetails=s.getPathOfOUinOrgAsName(n.contactDetails.OrganisationUnit);n.initialFirstName=n.contactDetails.FirstName;n.initialLastName=n.contactDetails.LastName;n.SipAddress=n.contactDetails.SipAddress==null?"":n.contactDetails.SipAddress})};n.modalMarkupLoaded();n.editClinicalRolesIsActive=!1;n.editClinicalSpecialityIsActive=!1;n.editWorkAreaIsActive=!1;n.getClinicalRoleDetails=function(){n.clinicalRole=y.GetClinicalRole();n.editClinicalRolesIsActive=!0};n.getClinicalSpecialityDetails=function(){n.editClinicalSpecialityIsActive=!0;n.clinicalSpeciality=y.GetClinicalSpeciality()};n.getWorkAreaDetails=function(){n.workArea=y.GetWorkArea();n.editWorkAreaIsActive=!0};n.updatecontactDetailsClick=function(t){if($("#contactDetails_formResult").removeClass("alert-success alert-danger").html(""),!t.$invalid){if(n.currentNode!=null){var r={ID:n.currentNode.ID,Name:n.currentNode.Name};angular.copy(r,n.contactDetails.OrganisationUnit)}n.contactDetails.SipAddress=n.SipAddress;a.UpdateMailContact(n.contactDetails).$promise.then(function(){i.path("/ListContacts")})}};n.editContactListDeleteClick=function(){$("#contactDetails_formResult").removeClass("alert-success alert-danger").html("");a.DeleteMailContact({MCEmailAddress:n.contactDetails.OldEmailAddress}).$promise.then(function(){i.path("/ListContacts")})};n.contactDetailsCancelClick=function(){window.history.back()};n.editContactOU=function(){angular.copy([],n.treedata);angular.copy([],n.expandedNodes);angular.copy(null,n.currentNode);$("#userDetails_formResult").removeClass("alert-success alert-danger").html("");v.ViewOrganisation(n.contactDetails.Organisation).$promise.then(function(t){n.treedata.push(t);var i=s.getPathOfNodeInTreeObject(n.contactDetails.OrganisationUnit,n.treedata[0],"treedata[0]");angular.copy([],n.expandedNodes);n.expandedNodes=s.getExpandedTreeNodesTillSelectedNode(n.$eval(i),n.treedata[0],[]);n.currentNode=n.$eval(i);n.originallySelectedNodeBeforeEdit=n.$eval(i);angular.element("#editContactEditOUModal").modal("show")})};n.CancelOUEdit=function(){n.currentNode=n.originallySelectedNodeBeforeEdit;angular.element("#editContactEditOUModal").modal("hide")};n.ConfirmOUEdit=function(){angular.copy(n.currentNode,n.contactDetails.OrganisationUnit);n.OrganisationParentAndChildDetails=s.getNamePathOfNodeInTreeObjectRecursiveSearch(n.currentNode,n.treedata[0],"");angular.element("#editContactEditOUModal").modal("hide")};n.contactTransferClick=function(){n.isOrganisationSelected=!1;$("#ContactMoverModal").modal("show")};n.contactConverttoUserClick=function(){$("#confirmConvertModel").modal("show")};n.ConfirmConvert=function(){$("#confirmConvertModel").modal("hide");$(".modal-backdrop").remove();c.setValuesFromSource(n.contactDetails);n.contactDetails.Organisation.Name="Select Organisation";i.path("/createUser/").search({param:!0})};n.CancelConvert=function(){$("#confirmConvertModel").modal("hide")};n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.organisationChange()};n.organisationChange=function(){n.SelectedOrganisation!=null&&n.SelectedOrganisation!="undefined"?(angular.copy([],n.treedataContactMover),angular.copy([],n.expandedNodesContact),angular.copy(null,n.currentNodeContactMover),v.ViewOrganisation(n.SelectedOrganisation).$promise.then(function(t){n.isOrganisationSelected=!0;n.treedataContactMover.push(angular.copy(t));n.expandedNodesContact=[n.treedataContactMover[0]];n.currentNodeContactMover=n.treedataContactMover[0]})):(angular.copy([],n.treedataContactMover),n.SelectedOrganisation=undefined,n.isOrganisationSelected=!1)};n.cancelContactMoving=function(){n.isOrganisationSelected=!1;$("#ContactMoverModal").modal("hide");$(".modal-backdrop").remove()};n.transferContact=function(){var t={OrganisationID:n.SelectedOrganisation.ID,OrganisationUnitId:n.currentNodeContactMover.ID,EmailAddress:n.contactDetails.OldEmailAddress,DisplayName:n.initialLastName.toUpperCase()+", "+o("capitalize")(n.initialFirstName,!0)+" ("+n.SelectedOrganisation.Name.toUpperCase()+")"};a.TransferMailContact(t).$promise.then(function(){angular.element("#ContactMoverModal").modal("hide");n.isOrganisationSelected=!1;$(".modal-backdrop").remove();i.path("/ListContacts")})};deregisterWatch=n.$watchGroup(["contactDetails.FirstName","contactDetails.LastName",],function(t,i){n.firstNameCopy="";n.lastNameCopy="";(t[0]!==i[0]||t[1]!==i[1]||t[2]!==i[2])&&(n.firstNameCopy=n.contactDetails_form.contactDetailsInputLastName.$valid&&n.contactDetails.FirstName!=undefined?o("capitalize")(n.contactDetails.FirstName,!0):"",n.lastNameCopy=n.contactDetails_form.contactDetailsInputLastName.$valid&&n.contactDetails.LastName!=undefined?n.contactDetails.LastName.toUpperCase():"",n.contactDetails.DisplayName=n.contactDetails.FirstName!=""||n.contactDetails.LastName!=""?n.lastNameCopy+", "+n.firstNameCopy+" ("+n.contactDetails.Organisation.Name.toUpperCase()+")":"",n.lastNameCopy==""&&n.firstNameCopy==""&&(n.contactDetails.DisplayName=""),(n.lastNameCopy==""||n.firstNameCopy=="")&&(n.contactDetails.email_list="",n.contactDetails.mailBoxSelectEmail=""))});n.stopUpdating=function(){deregisterWatch()}}]);userAdminAppControllersModule.controller("UserAdminListContactsController",["$scope","$location","$modal","$http","$sessionStorage","ContactListVisibleColumns","ContactListColumns","UserContactListSearchParams","$timeout","$rootScope","$window","PermissionChecker","$filter","Config","ContactAPI",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y){var p;n.animationsEnabled=!1;n.emailAndUpnPairs=[];n.itemsOnPage=v.ListContacts_ItemsOnPage;n.ListParams={};n.isAddContactPermissionGranted=!1;n.isContactListProcessingError=!1;n.Status=v.ListContacts_PredefinedStatus;p="";n.selectedEmail=[];n.isContactListEmpty=!1;n.showAndDisableCSVButton=!0;n.openColumnPicker=function(){var t=n.contactListColumnsVisible,r=i.open({animation:n.animationsEnabled,templateUrl:"./Angular/Apps/UserAdmin/Common/Views/ListUsersColumnPicker.html",controller:"ListUsersColumnPicker",size:"lg",resolve:{items:function(){return n.contactListColumnsVisible},names:function(){return n.contactListColumns}}});r.result.then(function(){u.NHSmailContactListColumns=n.contactListColumnsVisible},function(){n.contactListColumnsVisible=t})};n.contactListColumnsVisible=u.NHSmailContactListColumns;n.contactListColumnsVisible||(n.contactListColumnsVisible=new f);n.contactListColumns=new e;var b="",w=function(){n.allContactSelected=!1;angular.forEach(n.contactListItems,function(t){t.isChecked=n.allContactSelected;t.selected=n.allContactSelected})},k=function(n,t){angular.isUndefined(u.contactListSearchParams)&&(u.contactListSearchParams={});t!=b&&(u.contactListSearchParams={});u.contactListSearchParams=n;u.contactListSearchParams.simpleOrAdvanced=t},d=function(){if(p=="advanced"&&n.ContactListAdvancedSearchParams!=[]){var t={};angular.copy(n.ContactListAdvancedSearchParams,t);k(t,"advanced");t={}}u.contactListSearchResults=n.contactListItems},g=function(){if(angular.isUndefined(u.contactListSearchResults)&&(u.contactListSearchResults={}),Object.keys(u.contactListSearchResults).length!=0&&(n.showEmptyTable=!0,n.contactListItems=u.contactListSearchResults,w(),u.contactListSearchParams.simpleOrAdvanced=="advanced")){var t={};angular.copy(u.contactListSearchParams,t);n.ContactListAdvancedSearchParams=t;t={}}};n.modalMarkupLoaded=function(){g();l.contains("CONTACT_CREATE")&&(n.isAddContactPermissionGranted=!0);l.contains("CONTACT_CREATE")&&(n.showAndDisableCSVButton=!1)};n.modalMarkupLoaded();n.callAPI=function(t,i){i&&(t.matchAny=!0);clearInterval(n.myInterval);n.isContactListProcessingError=!1;n.ListParams.FilterParams=t;n.ListParams.MatchAny=i;y.ListContacts(n.ListParams).$promise.then(function(t){t!==undefined&&(n.contactListItems=JSON.parse(angular.toJson(t)),n.contactListItems=a("orderObjectBy")(n.contactListItems,"DisplayName"),n.isContactListEmpty=n.contactListItems.length==0?!0:!1,d(),n.currentInputFocus&&setTimeout(function(){n.currentInputFocus.element.focus()},500))})};n.viewContactDetails=function(n){t.url("/editContact/"+n)};n.selectContact=function(t){var r=t.EmailAddress,u=t.selected,i=n.selectedEmail.indexOf(r);i>=0&&!u&&(n.selectedEmail.splice(i,1),n.emailAndUpnPairs.splice(2*i,2));i<0&&u&&(n.selectedEmail.push(r),n.emailAndUpnPairs.push(r),n.emailAndUpnPairs.push(t.UserPrincipalName));n.selectedEmail.length==1&&(n.userID=t.ID);n.selectedEmail.length>1&&l.contains("CONTACT_DELETE")?$(".listContactEditButton").attr("disabled",!1):$(".listContactEditButton").attr("disabled",!0)};n.editContactDetails=function(){n.selectedEmail.length>1?(u.GlobalUserDataList=n.selectedEmail,u.GlobalUserEmailAndUpnList=n.emailAndUpnPairs,t.path("/Contact/bulkEditContact")):t.url("/EditContact/"+encodeURIComponent(n.UserPrincipalName))};n.displayedTable=[].concat(n.contactListItems);n.ContactListAdvancedSearchParams||(n.ContactListAdvancedSearchParams=o());n.advancedSearch=function(){p="advanced";n.callAPI(n.ContactListAdvancedSearchParams,!1);n.allContactSelected=!1};n.showOrHideDefaultView=function(){n.showEmptyTable=!0;n.advancedSearch()};n.searchUserOnEnterAdvanced=function(t){check=!1;t.which===13&&n.showOrHideDefaultView()};n.dropDownBasedSearch=function(){check=!1;n.showOrHideDefaultView();w()};n.selectAllRows=function(){angular.forEach(n.displayedTable,function(t){t.Status=="Pending"||t.Status=="PendingErr"||t.Status=="Deleted"||(t.isChecked=n.allContactSelected,t.selected=n.allContactSelected,n.selectContact(t))})};n.$watch("displayedTable",function(t){var i=!0;t.length===0&&(i=!1);angular.forEach(n.displayedTable,function(n){n!==undefined&&n.selected!==undefined&&n.selected||(i=!1)});n.allContactSelected=i?!0:!1});n.gotoCSVUpload=function(){t.path("/UploadNewContacts")}}]);userAdminAppControllersModule.controller("UserAdminUploadNewContactsController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","$rootScope","FileUploader","blockUI",function(n,t,i,r,u,f,e,o,s){function c(n){return n===undefined||n===null?0:n.length}function y(){n.showValidationResults=!1;n.showCreateResults=!1;n.showResultsSuccessCount=!0;n.uploadedFile="";n.totalRecordCount=0;n.validRecordCount=0;n.detailList=[];n.updateUserList=[];n.createMessage=""}function p(){n.fileErrors={fileTooBig:!1,wrongExtension:!1}}var v;n.selectedFile="";var l="admin/contacts/bulk/upload/validate",w="admin/contacts/bulk/upload",h=100,a={};y();p();$(function(){$('[data-toggle="tooltip"]').tooltip()});n.uploader=new o({url:baseUrlValue+l,headers:{Authorization:"Bearer "+sessionStorage.getItem("JWToken")},removeAfterUpload:!0});n.uploader.onAfterAddingFile=function(t){n.selectedFile=t.file.name;y();p()};n.uploader.onBeforeUploadItem=function(){s.start()};n.uploader.onCompleteAll=function(){s.stop();document.getElementById("csvUploaderControl").value=""};n.resultToString=function(n){var t="Local ID: "+n.Contact.ExternalSyncId+" OUTCOME: "+n.State;return n.Message!==null&&(t+=": "+(n.Message||"")),t};n.uploader.onSuccessItem=function(t,i){t.url.indexOf("validate")!==-1?(n.uploadedFile=t.file.name,n.totalRecordCount=i.length,n.results=_.groupBy(i,"State"),n.categories=_.allKeys(n.results),n.validRecordCount=n.totalRecordCount-c(n.results.UNPROCESSED)-c(n.results.INVALID)-c(n.results.ACCESS_DENIED),n.showValidationResults=!0,a=t):(n.createMessage="Bulk upload request started. You will receive an email with the results once the update has completed.",n.showCreateResults=!0,n.showValidationResults=!1)};n.createDisabled=function(){return n.totalRecordCount===0||n.validRecordCount===0||n.createMessage==="Bulk create request failed"};n.uploader.onErrorItem=function(t,i){var r;if(n.uploadedFile=t.file.name,i.NumberOfRecords!=undefined){if(i.NumberOfRecords)for(n.totalRecordCount=i.NumberOfRecords,n.validRecordCount=i.NumberOfValidRecords,r=0;r<i.Errors.length;r++){if(r>h){n.detailList.push("error list limited to first "+h);break}n.detailList.push(i.Errors[r].Detail)}else n.showResultsSuccessCount=!1,i.Errors&&i.Errors.length>0?n.detailList.push(i.Errors[0].Message+": "+i.Errors[0].Detail):n.detailList.push("Failed to parse file");n.showValidationResults=!0}else{if(n.createMessage="Bulk create request failed",i.Errors)for(r=0;r<i.Errors.length;r++){if(r>h){n.detailList.push("error list limited to first "+h);break}n.detailList.push(i.Errors[r].Detail)}n.showCreateResults=!0}};v=4194304;n.validateUpload=function(){var t=n.uploader.queue[0].file;if(t.size>v){n.fileErrors.fileTooBig=!0;n.uploader.clearQueue();return}if(t.name.split(".").pop()!="csv"){n.fileErrors.wrongExtension=!0;n.uploader.clearQueue();return}n.uploader.queue[0].url=baseUrlValue+l;n.uploader.uploadAll()};n.createUpload=function(){n.uploader.url=baseUrlValue+w;n.uploader.addToQueue(a._file);n.uploader.uploadAll()};n.cancelClick=function(){window.history.back()}}]);userAdminAppControllersModule.factory("ContactAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){n.config.url.indexOf("GetMailContactDetails")!==-1&&n.Errors[0].ErrorCode==51&&i.path("/AccessDenied");n.config.url.indexOf("TransferMailContact")!==-1&&(angular.element("#ContactMoverModal").modal("hide"),$scope.isOrganisationSelected=!1,$(".modal-backdrop").remove());var u="Request failed";angular.isDefined(n.data.Errors)&&n.data.Errors.length>0?n.data.Errors[0].Code===51?i.path("/AccessDenied"):(u+=": "+n.data.Errors[0].Message,u+=". "+n.data.Errors[0].Detail):angular.isDefined(n.data.Message)?u+=": "+n.data.Message:n.status===0&&(u="Request to server timed out");t.error(u,{ttl:r.Growl_TimeToLeave})}return n(baseUrlValue,{},{Create:{method:"POST",url:baseUrlValue+"CreateMailContact",interceptor:{responseError:u},timeout:r.XhrTimeout},ListContacts:{method:"POST",url:baseUrlValue+"admin/mailcontacts",isArray:!0,interceptor:{responseError:u},timeout:r.XhrContactListTimeout},GetMailContactDetails:{method:"POST",url:baseUrlValue+"GetMailContactDetails",interceptor:{responseError:u},timeout:r.XhrTimeout},UpdateMailContact:{method:"POST",url:baseUrlValue+"UpdateMailContact",interceptor:{responseError:u},timeout:r.XhrTimeout},TransferMailContact:{method:"PUT",url:baseUrlValue+"TransferMailContact",interceptor:{responseError:u},timeout:r.XhrTimeout},DeleteMailContact:{method:"DELETE",params:{MCEmailAddress:"@MCEmailAddress"},url:baseUrlValue+"DeleteMailContact/:MCEmailAddress",interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppServicesModule.factory("ContactListColumns",function(){return function(){return[{title:"Title",key:"Title"},{title:"First Name",key:"FirstName"},{title:"Last Name",key:"LastName"},{title:"Display Name",key:"DisplayName"},{title:"MobileNumber",key:"MobileNumber"},{title:"Pager",key:"Pager"},{title:"Fax",key:"Fax"},{title:"Telephone",key:"Telephone"},{title:"Email",key:"EmailAddress"},{title:"Notes",key:"Notes"},{title:"Status",key:"Status"},{title:"Organisation",key:"Organisation"},{title:"Organisation Unit",key:"OrganisationUnit"},{title:"Country",key:"Country"}]}});userAdminAppServicesModule.factory("UserContactListSearchParams",function(){return function(){return{Title:"",FirstName:"",LastName:"",DisplayName:"",MobileNumber:"",Pager:"",Fax:"",Telephone:"",UserType:"",EmailAddress:"",Notes:"",Status:"",Organisation:"",OrganisationUnit:"",Country:""}}});userAdminAppServicesModule.factory("ContactListVisibleColumns",function(){return function(){this.DisplayName=!0;this.Status=!0;this.EmailAddress=!0;this.Telephone=!0;this.FirstName=!1;this.LastName=!1;this.MobileNumber=!1;this.Pager=!1;this.Fax=!1;this.UserType=!1;this.Organisation=!1;this.OrganisationUnit=!1;this.Country=!1}});userAdminAppControllersModule.controller("UserAdminCreateDistributionListController",["$scope","$http","$location","$filter","$parse","$rootScope","$sessionStorage","Config",function(n,t,i,r,u,f,e,o){var h,s,c;n.distributionList={};n.distributionList.HideGroupFromAddressList=!1;n.OwningUsersTempCopy=[];n.SpecificSendersTempCopy=[];n.RecipientsTempCopy=[];n.distributionList.AuthorisedSendersType="specificSenders";n.distributionList.MemberJoinRestriction="Closed";n.distributionList.MemberDepartRestriction="Open";n.treedata=[];n.selected={};n.expandedNodes=[];n.currentNode;n.isOrganisationSeleted=!1;n.distributionList.Organisation={};n.checkSpecificSenders=!1;n.distributionList.SelectUserAsOwner=!1;n.selectedUserAsOwnerFromUserPicker=!1;n.maxValue=25;h="";s={};n.getUserDetails=function(){var n,i,r;sessionStorage&&(n=sessionStorage.getItem("JWToken"),n!==null&&n!==""&&n.length>1&&(i=n.split(".")[1],i!==""&&(r=i.replace("-","+").replace("_","/"),r!==""&&(h=JSON.parse(window.atob(r)).upn))));t({method:"GET",url:baseUrlValue+"admin/useraccounts/"+h}).success(function(n){s.EmailAddress=n.Email;s.EmailType=n.EmailType;s.ID=n.ID}).error(function(){$("#distributionList_formResult").html("Unable to retrieve user details")})};n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.OwningUserListErrors={required:!1};n.SpecificSendersListErrors={required:!1};n.userPickerFilter={Status:["Pending","Disabled","Suspended","PendingError","Deleted"]};n.showContact=!1;n.organisationRequest={};n.organisationRequest.FilterParams={};n.organisationRequest.FilterParams.OrganisationType="Organisation";n.organisationRequest.PermissionCode="STATIC_DISTRIBUTION_LIST_CREATE";n.$watchGroup(["distributionList.Name","distributionList.Organisation.ShortName"],function(t,i){if((t[0]!==i[0]||t[1]!==i[1])&&t[1]!=null&&t[1]!=undefined&&t[1]!=""){var r=n.distributionList.Organisation.ShortName.toLowerCase();n.distributionList_form.distributionListInputDLName.$valid?n.distributionList.DistributionListEmailAddress=r+"."+n.distributionList.Name+n.getEmailDomain():n.distributionList_form.distributionListInputDLName.$invalid&&(n.distributionList.DistributionListEmailAddress="")}else n.distributionList.DistributionListEmailAddress=""});n.setupUserPickerDone=function(){var t=n.$on("UserPickerSelectionDone",function(){var i=e.currentSource,l=u(i)(n),f=[],o,h,c;angular.forEach(n.selectedEmail,function(n){n.Email!=null&&(o={EmailAddress:n.Email,ID:n.ID,EmailType:n.EmailType},f.push(o))});h=l.concat(f);c=r("removeDuplicates")(h,"EmailAddress");u(i).assign(n,c);t();n.showUserpicker=!1;n.showUserpickercontact=!1;i==="OwningUsersTempCopy"&&angular.forEach(f,function(t){t.EmailAddress===s.EmailAddress&&(n.distributionList.SelectUserAsOwner=!0,n.selectedUserAsOwnerFromUserPicker=!0)})})};n.addUsersListClick=function(t,i){e.currentSource=t;angular.copy([],n.selectedEmail);i==!0?(n.showUserpicker=!1,n.showUserpickercontact=!0):(n.showUserpickercontact=!1,n.showUserpicker=!0);n.OwningUserListErrors.required=!1;n.SpecificSendersListErrors.required=!1;n.setupUserPickerDone(t)};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1;n.showUserpickercontact=!1});n.distributionList.OwningUsers=[];n.EmailOwnersDistribution="";n.removeOwner=function(t){t.EmailAddress===s.EmailAddress&&(n.distributionList.SelectUserAsOwner=!1);n.OwningUsersTempCopy=r("filter")(n.OwningUsersTempCopy,function(n){return n.EmailAddress!=t.EmailAddress});n.OwningUsersTempCopy.length<10&&(n.showAddOwnersToDistributionListCountExceedingLimitErrorMessage=!1,n.addOwnersToDistributionListCountExceedingLimitErrorMessage="")};n.distributionList.SpecificAuthorisedSenders=[];n.EmailSpecific="";n.removeSpecificSender=function(t){n.SpecificSendersTempCopy=r("filter")(n.SpecificSendersTempCopy,function(n){return n.EmailAddress!=t.EmailAddress});n.SpecificSendersTempCopy.length<o.DL_MaxSpecificSenders&&(n.showaddSpecificSendersToDistributionListCountExceedingLimitErrorMessage=!1,n.addSpecificSendersToDistributionListCountExceedingLimitErrorMessage="")};n.distributionList.Recipients=[];n.EmailDistribution="";n.removeRecipient=function(t){n.RecipientsTempCopy=r("filter")(n.RecipientsTempCopy,function(n){return n.EmailAddress!=t.EmailAddress})};c=function(){(n.RecipientsTempCopy!=null||n.RecipientsTempCopy!=undefined)&&(n.checkSpecificSenders=n.RecipientsTempCopy.length>o.DL_NonSpecificSendersMaxRecipients?n.distributionList.AuthorisedSendersType==="specificSenders"&&n.SpecificSendersTempCopy.length>0?!1:!0:!1)};n.distributionList_formSubmitClick=function(r){if($("#distributionList_formResult").removeClass("alert-success alert-danger").html(""),n.OwningUserListErrors.required=!1,n.SpecificSendersListErrors.required=!1,n.OwningUsersTempCopy.length===0){n.OwningUserListErrors.required=!0;return}if(n.distributionList.AuthorisedSendersType=="specificSenders"){if(n.SpecificSendersTempCopy.length==0){n.SpecificSendersListErrors.required=!0;return}}else n.SpecificSendersListErrors.required=!1;if(c(),!n.checkSpecificSenders){var u=[];if(angular.forEach(n.OwningUsersTempCopy,function(t){u.indexOf(t.EmailAddress)!==-1?n.OwningUsersTempCopy.pop():u.push(t.EmailAddress)}),angular.copy(n.OwningUsersTempCopy,n.distributionList.OwningUsers),angular.copy(n.SpecificSendersTempCopy,n.distributionList.SpecificAuthorisedSenders),angular.copy(n.RecipientsTempCopy,n.distributionList.Recipients),n.distributionList.AuthorisedSendersType==="specificSenders"&&(n.distributionList.SpecificAuthorisedSenders.length===0||n.distributionList.SpecificAuthorisedSenders==null)){n.showAddSpecificSendersToDistributionListCountEmptyEmailStringAdd=!0;n.addSpecificSendersToDistributionListCountExceedingLimitErrorMessage="Operation not allowed. Must have atleast one entry to save.";return}((n.distributionList.AuthorisedSendersType==="onlyInside"||n.distributionList.AuthorisedSendersType==="all")&&(n.distributionList.SpecificAuthorisedSenders=[]),r.$invalid)||(n.distributionList.Organisation={ID:n.distributionList.Organisation.ID,Name:n.distributionList.Organisation.Name,Country:n.distributionList.Organisation.Country,ODSCode:n.distributionList.Organisation.ODSCode,Address:n.distributionList.Organisation.Address,PostCode:n.distributionList.Organisation.PostCode,ShortName:n.distributionList.Organisation.ShortName},n.distributionList.OrganisationUnit={ID:n.currentNode.ID,Name:n.currentNode.Name},n.distributionList.Type="Static",t({method:"post",url:baseUrlValue+"admin/distributionlists/static",data:n.distributionList}).success(function(){i.path("/DistributionLists")}).error(function(n){var t="Request failed: ";t+=n.Errors.length>0?n.Errors[0].Message+" "+n.Errors[0].FieldName:"Unable to connect to server please try again.";$("#distributionList_formResult").addClass("alert-danger").html(t)}))}};n.getEmailDomain=function(){return domainAddress};n.distributionListCancelClick=function(){window.history.back()};$(function(){$('[data-toggle="tooltip"]').tooltip()});n.modalMarkupLoaded=function(){$("#createUser_formResult").removeClass("alert-success alert-danger").html("")};n.modalMarkupLoaded();n.getUserDetails();n.pick=function(t){angular.copy(t,n.distributionList.Organisation);n.organisationChange()};n.organisationChange=function(){if(n.distributionList.Organisation.ShortName==""||n.distributionList.Organisation.ShortName==null||n.distributionList.Organisation.ShortName==undefined){n.isOrganisationSeleted=!1;return}n.distributionList.Organisation!=null&&n.distributionList.Organisation!="undefined"?(angular.copy([],n.treedata),t({method:"POST",url:baseUrlValue+"ViewOrganisation",data:n.distributionList.Organisation}).success(function(t){n.isOrganisationSeleted=!0;n.treedata.push(t);n.expandedNodes=[n.treedata[0]];n.currentNode=n.treedata[0]}).error(function(n){var i="Request failed, Unable to fetch organisational unit details for the user",t;if(n.Errors){for(i+="<ul>",t=0;t<n.Errors.length;t++)i+="<li>"+n.Errors[t].Message+n.Errors[t].FieldName+" "+n.Errors[t].Detail+"<\/li>";i+="<\/ul>"}else i+=" status code "+n.status;$("#createUser_formResult").addClass("alert-danger").html(i)})):(angular.copy([],n.treedata),n.distributionList.Organisation=undefined,n.isOrganisationSeleted=!1)};n.selectUnselectOwner=function(){n.distributionList.SelectUserAsOwner?n.OwningUsersTempCopy.push(s):(n.removeOwner(s),n.removeOwner(s,"OwningUsersTempCopy"))}}]);userAdminAppControllersModule.controller("UserAdminCreateDynamicDistributionListController",["$scope","$http","$location","$filter","$parse","$timeout","$q","OrganisationObjectHelperService","$window","PicklistAPI","$sessionStorage","growl","DistributionListAPI","DistributionListService","DistributionListSearchParams","Config","CustomAttributeValidator",function(n,t,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b){function nt(n){switch(n){case"-eq":n="=";break;case"-ne":n="!="}return n}function d(n){if(!n)return"";var t="";for(t="(",i=0;i<n[0].Rules.length;i++)i>0&&(t+=" "+n[0].Operator+" "),t+=n[0].Rules[i].Group?d(n[0].Rules[i].Group):n[0].Rules[i].Field+" "+nt(n[0].Rules[i].Condition)+" "+n[0].Rules[i].Data;if(t+=")",n[1]!=null&&n[1].Operator=="INCLUDE")for(i=0;i<n[1].Rules.length;i++)t+=" + "+n[1].Rules[i].Data;if(n[1]!=null&&n[1].Operator=="EXCLUDE")for(i=0;i<n[1].Rules.length;i++)t+=" - "+n[1].Rules[i].Data;if(n[2]!=null&&n[2].Operator=="EXCLUDE")for(i=0;i<n[2].Rules.length;i++)t+=" - "+n[2].Rules[i].Data;if(n[2]!=null&&n[2].Operator=="INCLUDE")for(i=0;i<n[2].Rules.length;i++)t+=" + "+n[2].Rules[i].Data;return t}var k,g;n.distributionList={};n.distributionList.HideGroupFromAddressList=!1;n.OwningUsersTempCopy=[];n.SpecificSendersTempCopy=[];n.RecipientsTempCopy=[];n.distributionList.AuthorisedSendersType="specificSenders";n.queryTargetUsers=[];n.treedata=[];n.showTargetUsers=!1;n.showUserpicker=!1;n.showUserpickercontact=!1;n.departmentsCopy={};n.expandedNodes=[];n.RulesTemp=[];n.currentNode;n.isOrganisationSeleted=!1;n.checkSpecificSenders=!1;n.distributionList.Organisation={};n.fieldOptions={};n.distributionListRequest={};n.IncludeSdlGroup=!1;n.ExcludeSdlGroup=!1;n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.OwningUserListErrors={required:!1};n.SpecificSendersListErrors={required:!1};n.userPickerFilter={Status:["Pending","Disabled","Suspended","PendingError","Deleted"]};n.showContact=!1;n.userSelectionLimit=1;n.organisationRequest={};n.organisationRequest.FilterParams={};n.organisationRequest.FilterParams.OrganisationType="Organisation";n.organisationRequest.PermissionCode="DYNAMIC_DISTRIBUTION_LIST_CREATE";n.DistributionListSearchParams=p();n.DistributionListSearchParams.matchAny=!0;n.distributionListRequest.FilterParams={FilterParms:n.DistributionListSearchParams,MatchAny:n.DistributionListSearchParams.matchAny};n.fieldOptions.clinicalRole=c.GetClinicalRole();n.fieldOptions.clinicalSpeciality=c.GetClinicalSpeciality();n.fieldOptions.workArea=c.GetWorkArea();n.$watchGroup(["distributionList.Name","distributionList.Organisation.ShortName"],function(t,i){if((t[0]!==i[0]||t[1]!==i[1])&&t[1]!=null&&t[1]!=undefined&&t[1]!==""){var r=n.distributionList.Organisation.ShortName.toLowerCase();n.distributionList_form.distributionListInputDLName.$valid?n.distributionList.DistributionListEmailAddress=r+"."+n.distributionList.Name+n.getEmailDomain():n.distributionList_form.distributionListInputDLName.$invalid&&(n.distributionList.DistributionListEmailAddress="")}else n.distributionList.DistributionListEmailAddress=""});n.setupUserPickerDone=function(t){var i=n.$on("UserPickerSelectionDone",function(){var r=l.currentSource,c=f(r)(n),e=[],o,s,h;angular.forEach(n.selectedEmail,function(n){n.Email!=null&&(o={EmailAddress:n.Email,ID:n.ID,EmailType:n.EmailType},e.push(o))});s=c.concat(e);h=u("removeDuplicates")(s,"EmailAddress");f(r).assign(n,h);i();t==="OwningUsersTempCopy"&&(n.OwningUsersTempCopy.length===0?n.isOwningUserPresent=!1:n.OwningUsersTempCopy.length===1&&(n.isOwningUserPresent=!0));n.showUserpicker=!1;n.showUserpickercontact=!1;n.showOwnerUserpicker=!1})};n.addUsersListClick=function(t,i){l.currentSource=t;n.userSelectionLimit=t==="OwningUsersTempCopy"?1:"all";angular.copy([],n.selectedEmail);i===!0?(n.showUserpicker=!1,n.showUserpickercontact=!0,n.showOwnerUserpicker=!1):(n.showUserpickercontact=!1,t==="OwningUsersTempCopy"?(n.showUserpicker=!0,n.showOwnerUserpicker=!1):(n.showUserpicker=!1,n.showOwnerUserpicker=!0));n.OwningUserListErrors.required=!1;n.SpecificSendersListErrors.required=!1;n.setupUserPickerDone(t)};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1;n.showUserpickercontact=!1;n.showOwnerUserpicker=!1});n.distributionList.OwningUsers=[];n.EmailOwnersDistribution="";n.removeOwner=function(t){n.OwningUsersTempCopy=u("filter")(n.OwningUsersTempCopy,function(n){return n.EmailAddress!==t.EmailAddress});n.OwningUsersTempCopy.length===0?n.isOwningUserPresent=!1:n.OwningUsersTempCopy.length===1&&(n.isOwningUserPresent=!0)};n.distributionList.SpecificAuthorisedSenders=[];n.EmailSpecific="";n.removeSpecificSender=function(t){n.SpecificSendersTempCopy=u("filter")(n.SpecificSendersTempCopy,function(n){return n.EmailAddress!==t.EmailAddress});n.SpecificSendersTempCopy.length<100&&(n.showaddSpecificSendersToDistributionListCountExceedingLimitErrorMessage=!1,n.addSpecificSendersToDistributionListCountExceedingLimitErrorMessage="")};k=function(){(n.queryTargetUsers!=null||n.queryTargetUsers!=undefined)&&(n.checkSpecificSenders=n.queryTargetUsers.RecipientCount>w.DL_NonSpecificSendersMaxRecipients?n.distributionList.AuthorisedSendersType==="specificSenders"&&n.SpecificSendersTempCopy.length>0?!1:!0:!1)};n.ConfirmCreate=function(){v.Create(n.departmentsCopy).$promise.then(function(){r.path("/DistributionLists")});$("#distributionListApprovalModalMaxMembers").modal("hide");$(".modal-backdrop").remove();r.path("/DistributionLists")};n.CancelCreate=function(){$("#distributionListApprovalModalMaxMembers").modal("hide");$(".modal-backdrop").remove()};n.distributionList_formSubmitClick=function(t){var i,r,u;if($("#distributionList_formResult").removeClass("alert-success alert-danger").html(""),n.OwningUserListErrors.required=!1,n.SpecificSendersListErrors.required=!1,n.OwningUsersTempCopy.length===0){n.OwningUserListErrors.required=!0;a.warning("An owner needs to be set");return}if(n.ExcludeSdlGroup&&!n.IncludeSdlGroup&&n.distributionList.QueryBuilderGroup[0].Rules.length===0){a.warning("You cannot create a DDL that only contains an exclude rule, you must add a non-exclude rule before you can save your changes.");return}if(n.distributionList.AuthorisedSendersType==="specificSenders"){if(n.SpecificSendersTempCopy.length===0){n.SpecificSendersListErrors.required=!0;a.warning("At least 1 sender needs to be configured");return}}else n.SpecificSendersListErrors.required=!1;if(angular.copy(n.distributionList.QueryBuilderGroup.Rules,n.RulesTemp),i=b.allowOrRestrictCustomAttribute(n.RulesTemp),!i.allowCustomAttribute){a.error(i.errorMessage);return}if(r=b.isValidCustomAttribute(n.RulesTemp),!r.allowCustomAttribute){a.error(r.errorMessage);return}if(angular.copy(n.OwningUsersTempCopy,n.distributionList.OwningUsers),angular.copy(n.SpecificSendersTempCopy,n.distributionList.SpecificAuthorisedSenders),angular.copy(n.RecipientsTempCopy,n.distributionList.Recipients),n.distributionList.AuthorisedSendersType==="specificSenders"&&(n.distributionList.SpecificAuthorisedSenders.length===0||n.distributionList.SpecificAuthorisedSenders==null)){n.showAddSpecificSendersToDistributionListCountEmptyEmailStringAdd=!0;n.addSpecificSendersToDistributionListCountExceedingLimitErrorMessage="Operation not allowed. Must have atleast one entry to save.";a.warning("At least 1 sender needs to be configured");return}if((n.distributionList.AuthorisedSendersType==="onlyInside"||n.distributionList.AuthorisedSendersType==="all")&&(n.distributionList.SpecificAuthorisedSenders=[]),t.$invalid||angular.element(".alert.alert-danger.queryBuilderError").length>=1){a.warning("There's a validation error on the form");return}angular.forEach(n.distributionList.QueryBuilderGroup.Rules,function(n,t){if(t.length===0){a.warning("Add at least one rule to the Dynamic Distribution List");return}});n.distributionList.Organisation={ID:n.distributionList.Organisation.ID,Name:n.distributionList.Organisation.Name,Country:n.distributionList.Organisation.Country,ODSCode:n.distributionList.Organisation.ODSCode,Address:n.distributionList.Organisation.Address,PostCode:n.distributionList.Organisation.PostCode,ShortName:n.distributionList.Organisation.ShortName};n.distributionList.OrganisationUnit={ID:n.currentNode.ID,Name:n.currentNode.Name};n.distributionList.Type="Dynamic";angular.copy(n.distributionList,n.departmentsCopy);angular.forEach(n.distributionList.QueryBuilderGroup.Rules,function(){n.departmentsCopy.QueryBuilderGroup.Rules.length>0&&angular.forEach(n.departmentsCopy.QueryBuilderGroup.Rules,function(t,i){(n.departmentsCopy.QueryBuilderGroup.Rules[i].Field==="Department"||n.departmentsCopy.QueryBuilderGroup.Rules[i].Field==="Organisation")&&(n.departmentsCopy.QueryBuilderGroup.Rules[i].Departments=null)})});u={};u.queryBuilderGroup=n.distributionList.QueryBuilderGroup;v.ViewTargetUsers(u).$promise.then(function(t){if(n.queryTargetUsers=t,n.queryTargetUsers!=null||n.queryTargetUsers!=undefined){if(k(),n.checkSpecificSenders){a.warning("Specific senders must be set on large distribution lists");return}$("#distributionListApprovalModalMaxMembers").modal("show")}})};n.getEmailDomain=function(){return domainAddress};n.distributionListCancelClick=function(){window.history.back()};$(function(){$('[data-toggle="tooltip"]').tooltip()});n.modalMarkupLoaded=function(){$("#distributionList_formResult").removeClass("alert-success alert-danger").html("")};n.modalMarkupLoaded();n.pick=function(t){angular.copy(t,n.distributionList.Organisation);n.organisationChange()};n.organisationChange=function(){if(n.distributionList.Organisation.ShortName===""||n.distributionList.Organisation.ShortName==null||n.distributionList.Organisation.ShortName==undefined){n.isOrganisationSeleted=!1;return}n.distributionList.Organisation!=null&&n.distributionList.Organisation!=="undefined"?(angular.copy([],n.treedata),v.GetOrganistion({Id:n.distributionList.Organisation.ID,shortResponse:!0}).$promise.then(function(t){n.isOrganisationSeleted=!0;n.treedata.push(t);n.expandedNodes=[n.treedata[0]];n.currentNode=n.treedata[0]})):(angular.copy([],n.treedata),n.distributionList.Organisation=undefined,n.isOrganisationSeleted=!1)};g='{"Group": {"Operator": "AND","Rules": []}}';n.distributionList.QueryBuilderGroup=[{Operator:"AND",Rules:[]}];n.IncludeSdlGroup&&n.distributionList.QueryBuilderGroup.push({Operator:"INCLUDE",Rules:[]});n.ExcludeSdlGroup&&n.distributionList.QueryBuilderGroup.push({Operator:"EXCLUDE",Rules:[]});n.$watch("distributionList.QueryBuilderGroup",function(t){n.output=d(t)},!0);n.selectUnselectIncludeSdlGroups=function(){if(n.IncludeSdlGroup==undefined||n.IncludeSdlGroup)n.distributionList.QueryBuilderGroup.push({Operator:"INCLUDE",Rules:[]});else{var t=_.findIndex(n.distributionList.QueryBuilderGroup,{Operator:"INCLUDE"});n.distributionList.QueryBuilderGroup.splice(t,1)}};n.selectUnselectExcludeSdlGroups=function(){if(n.ExcludeSdlGroup==undefined||n.ExcludeSdlGroup)n.distributionList.QueryBuilderGroup.push({Operator:"EXCLUDE",Rules:[]});else{var t=_.findIndex(n.distributionList.QueryBuilderGroup,{Operator:"EXCLUDE"});n.distributionList.QueryBuilderGroup.splice(t,1)}};n.viewTargetUsersClicked=function(){n.viewTargetButtonClicked=!0;e(function(){var t,i,r;if(!(angular.element(".alert.alert-danger.queryBuilderError").length>=1)){if(angular.copy(n.distributionList.QueryBuilderGroup.Rules,n.RulesTemp),t=b.allowOrRestrictCustomAttribute(n.RulesTemp),!t.allowCustomAttribute){a.error(t.errorMessage);return}if(i=b.isValidCustomAttribute(n.RulesTemp),!i.allowCustomAttribute){a.error(i.errorMessage);return}r={};r.queryBuilderGroup=n.distributionList.QueryBuilderGroup;v.ViewTargetUsers(r).$promise.then(function(t){n.queryTargetUsers=t;(n.queryTargetUsers!=null||n.queryTargetUsers!=undefined)&&(n.showTargetUsers=!0)})}})};n.$on("UserListBackButtonClickedEvent",function(){n.showTargetUsers=!1})}]);userAdminAppControllersModule.controller("UserAdminEditDistributionListController",["$scope","$location","$routeParams","$modal","$http","$filter","$parse","FileUploader","OrganisationObjectHelperService","HttpParamSerializerPolyfillService","$window","PermissionChecker","$sessionStorage","blockUI","growl","DistributionListAPI","DistributionListService","FetchUPN","Config","UserAPI",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k){function et(){n.showValidationResults=!1;n.showUploadResults=!1;n.showSuccessResult=!1;n.showErrorResults=!1;n.uploadedFile="";n.totalImportedRecordCount=0;n.detailList=[]}function ot(){n.fileErrors={fileTooBig:!1,wrongExtension:!1}}var st="",d={},g=!0,nt,ht,tt,it,ft;n.maxValue=25;n.editDistributionList={};n.OwningUsersTempCopy=[];n.SpecificSendersTempCopy=[];n.RecipientsTempCopy=[];n.isPendingDisabled=!1;n.isDeleteDisabled=!0;n.isExportDisabled=!0;n.isOrganisationSelected=!1;n.SelectedOrganisation={};n.IsOrganisationUnSelected=!1;n.OrganisationParentAndChildDetails="";n.checkSpecificSenders=!1;n.maxRecipients=k.DL_NonSpecificSendersMaxRecipients;n.MobileDevicePolicyList=k.Organisation_MobileDevicePolicy;n.editDistributionList.SelectUserAsOwner=!1;n.selectedUserAsOwnerFromUserPicker=!1;n.getUserDetails=function(){b.Get().$promise.then(function(t){st=t.Email;d.EmailAddress=t.Email;d.EmailType=t.EmailType;d.ID=t.ID;angular.forEach(n.OwningUsersTempCopy,function(t){t.EmailAddress===d.EmailAddress&&(n.editDistributionList.SelectUserAsOwner=!0)})})};nt=k.SDL_MaxRecipients;n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.OldEmailAddress="";n.treedata=[];n.expandedNodes=[];n.currentNode=null;n.treedataStaticDLMover=[];n.expandedNodesStaticDLMover=[];n.currentNodeStaticDLMover=null;ht={ttl:2e4,disableCountDown:!0};n.isUpdateAllowed=!1;n.isCreateAllowed=!1;n.OwningUserListErrors={required:!1};n.SpecificSendersListErrors={required:!1};n.userPickerFilter={Status:["Pending","Disabled","Suspended","PendingError","Deleted"]};n.showContact=!1;n.modalMarkupLoaded=function(){n.viewDistributionParams={};n.viewDistributionParams.DistributionListEmailAddress=i.DistributionListEmailAddress;u({method:"post",url:baseUrlValue+"GetStaticDistributionList",data:n.viewDistributionParams}).success(function(t){n.editDistributionList=t;n.dsl=t.DistributionListEmailAddress;n.OldEmailAddress=n.dsl;n.OrganisationParentAndChildDetails=s.getPathOfOUinOrgAsName(n.editDistributionList.OrganisationUnit);(n.editDistributionList.Recipients==null||n.editDistributionList.Recipients==undefined)&&(n.editDistributionList.Recipients=[]);(n.editDistributionList.OwningUsers==null||n.editDistributionList.OwningUsers==undefined)&&(n.editDistributionList.OwningUsers=[]);(n.editDistributionList.SpecificAuthorisedSenders==null||n.editDistributionList.SpecificAuthorisedSenders==undefined)&&(n.editDistributionList.SpecificAuthorisedSenders=[]);n.OwningUsersTempCopy=n.editDistributionList.OwningUsers;n.SpecificSendersTempCopy=n.editDistributionList.SpecificAuthorisedSenders;n.RecipientsTempCopy=n.editDistributionList.Recipients;n.editDistributionList.MobileDevicePolicy=n.editDistributionList.MobileDevicePolicy===null||n.editDistributionList.MobileDevicePolicy===undefined||n.editDistributionList.MobileDevicePolicy===""?"NHS Corporate (Managed)":n.editDistributionList.MobileDevicePolicy;n.isPendingDisabled=n.editDistributionList.Status=="Pending"||n.editDistributionList.Status=="Rejected"||n.editDistributionList.Status=="Deleted"?!0:n.editDistributionList.Status=="Active"?!1:!1;n.editDistributionList.Status==="Pending"&&(n.isUpdateAllowed=!1,p.GetApprovals({dlID:n.editDistributionList.ID}).$promise.then(function(t){n.myApprovals=_.where(t,{UserCanUpdate:!0,IsApproved:null});n.otherApprovals=_.where(t,{UserCanUpdate:!1,IsApproved:null})}))}).error(function(n){n.Errors[0].ErrorCode===51?t.path("/AccessDenied"):n.Errors[0].Detail!==undefined?y.error(n.Errors[0].Message):n.Errors[0].Message!==undefined?y.error(n.Errors[0].Message):y.error("There was a problem retrieving the distribution list")});n.$watch("editDistributionList.Name + editDistributionList.Organisation",function(t,i){var r,u;i!=null&&t!=i&&(r="",n.editDistributionList.Organisation.ShortName&&(r=angular.lowercase(n.editDistributionList.Organisation.ShortName)),(r==undefined||r==""||r==null)&&(r="org"),n.editDistributionList_form.editDistributionListInputDLName.$valid?(u=r+"."+n.editDistributionList.Name+n.getEmailDomain(),angular.lowercase(u)!=angular.lowercase(n.editDistributionList.DistributionListEmailAddress)?(n.editDistributionList.NewEmail=u,n.dsl=u):n.editDistributionList.NewEmail=null):n.editDistributionList_form.editDistributionListInputDLName.$invalid&&(n.editDistributionList.NewEmail=null))});l.contains("STATIC_DISTRIBUTION_LIST_DELETE")&&(n.isDeleteDisabled=!1);l.contains("STATIC_DISTRIBUTION_LIST_UPDATE")&&(n.isUpdateAllowed=!0);"CREATE_DISTRIBUTION_LIST"&&(n.isCreateAllowed=!0);l.contains("REPORTS")&&(n.isExportDisabled=!1)};n.modalMarkupLoaded();n.getUserDetails();n.$watch("OwningUsersTempCopy",function(t){t.length>0&&g&&(n.getUserDetails(),g=!1)});n.GetDistributionListAPI=function(){u({method:"put",url:baseUrlValue+"admin/distributionlists/static/"+n.editDistributionList.DistributionListEmailAddress,data:n.editDistributionList}).success(function(){t.path("/DistributionLists")}).error(function(n){var i="Request failed: ",t;if(n.Errors){for(i+="<ul>",t=0;t<n.Errors.length;t++)i+="<li>"+n.Errors[t].Message+n.Errors[t].FieldName+" "+n.Errors[t].Detail+"<\/li>";i+="<\/ul>"}else i+=" status code "+n.status;y.error(i)})};n.setupUserPickerDone=function(t){var i=n.$on("UserPickerSelectionDone",function(){var r=a.currentSource,l=e(r)(n),u=[],s,h,o,c;angular.forEach(n.selectedEmail,function(n){n.Email!=null&&(s={EmailAddress:n.Email,ID:n.ID,EmailType:n.EmailType},u.push(s))});h=l.concat(u);o=f("removeDuplicates")(h,"EmailAddress");o.length<=2e4?e(r).assign(n,o):(c=t+"LimitExceeded",e(c).assign(n,!0));i();n.showUserpicker=!1;n.showUserpickercontact=!1;r==="OwningUsersTempCopy"&&angular.forEach(u,function(t){t.EmailAddress===d.EmailAddress&&(n.editDistributionList.SelectUserAsOwner=!0,n.selectedUserAsOwnerFromUserPicker=!0)})})};n.EmailOwnersDistribution="";n.addUsersListClick=function(t,i){a.currentSource=t;angular.copy([],n.selectedEmail);i==!0?(n.showUserpicker=!1,n.showUserpickercontact=!0):(n.showUserpickercontact=!1,n.showUserpicker=!0);n.OwningUserListErrors.required=!1;n.SpecificSendersListErrors.required=!1;n.setupUserPickerDone(t)};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1;n.showUserpickercontact=!1});n.removeOwner=function(t){t.EmailAddress===d.EmailAddress&&(n.editDistributionList.SelectUserAsOwner=!1);n.OwningUsersTempCopy=f("filter")(n.OwningUsersTempCopy,function(n){return n.EmailAddress!=t.EmailAddress});n.OwningUsersTempCopy.length<50&&(n.showAddOwnersToDistributionListCountExceedingLimitErrorMessage=!1,n.showAddOwnersToDistributionListCountEmptyEmailStringAdd=!1,n.addOwnersToDistributionListCountExceedingLimitErrorMessage="")};n.EmailSpecific="";n.removeSpecificSender=function(t){n.SpecificSendersTempCopy=f("filter")(n.SpecificSendersTempCopy,function(n){return n.EmailAddress!=t.EmailAddress});n.SpecificSendersTempCopy.length<200&&(n.showaddSpecificSendersToDistributionListCountExceedingLimitErrorMessage=!1,n.showAddSpecificSendersToDistributionListCountEmptyEmailStringAdd=!1,n.addSpecificSendersToDistributionListCountExceedingLimitErrorMessage="")};n.EmailDistribution="";n.removeRecipient=function(t){n.RecipientsTempCopy=f("filter")(n.RecipientsTempCopy,function(n){return n.EmailAddress!=t.EmailAddress})};tt=function(){(n.RecipientsTempCopy!=null||n.RecipientsTempCopy!=undefined)&&(n.checkSpecificSenders=n.RecipientsTempCopy.length>nt?n.editDistributionList.AuthorisedSendersType=="specificSenders"&&n.SpecificSendersTempCopy.length>0?!1:!0:!1)};n.acceptSecurityPolicyDLClick=function(){$("#editDistributionlistMessageModerationModal").modal("hide");n.GetDistributionListAPI()};n.cancelSecurityPolicyDLClick=function(){$("#editDistributionlistMessageModerationModal").modal("hide")};n.editDistributionList_formSubmitClick=function(i){var r,f;if($("#editDistributionList_formResult").removeClass("alert-success alert-danger").html(""),n.OwningUserListErrors.required=!1,n.SpecificSendersListErrors.required=!1,n.OwningUsersTempCopy.length==0){n.OwningUserListErrors.required=!0;return}if(n.editDistributionList.AuthorisedSendersType=="specificSenders"){if(n.SpecificSendersTempCopy.length==0){n.SpecificSendersListErrors.required=!0;return}}else n.SpecificSendersListErrors.required=!1;if(n.editDistributionList.OwningUsers=[],n.editDistributionList.SpecificAuthorisedSenders=[],n.editDistributionList.Recipients=[],tt(),!n.checkSpecificSenders){if(r=[],angular.forEach(n.OwningUsersTempCopy,function(t){r.indexOf(t.EmailAddress)!==-1?n.OwningUsersTempCopy.pop():r.push(t.EmailAddress)}),angular.copy(n.OwningUsersTempCopy,n.editDistributionList.OwningUsers),angular.copy(n.SpecificSendersTempCopy,n.editDistributionList.SpecificAuthorisedSenders),angular.copy(n.RecipientsTempCopy,n.editDistributionList.Recipients),n.editDistributionList.MobileDevicePolicy=n.editDistributionList.MobileDevicePolicy===null||n.editDistributionList.MobileDevicePolicy===undefined||n.editDistributionList.MobileDevicePolicy===""?"NHS Corporate (Managed)":n.editDistributionList.MobileDevicePolicy,n.editDistributionList.AuthorisedSendersType=="specificSenders"&&(n.editDistributionList.SpecificAuthorisedSenders==null||n.editDistributionList.SpecificAuthorisedSenders.length==0)){n.showaddSpecificSendersToDistributionListCountExceedingLimitErrorMessage=!0;n.addSpecificSendersToDistributionListCountExceedingLimitErrorMessage="Operation not allowed. Must have atleast one entry to save.";return}((n.editDistributionList.AuthorisedSendersType=="onlyInside"||n.editDistributionList.AuthorisedSendersType=="all")&&(n.editDistributionList.SpecificAuthorisedSenders=[]),i.$invalid)||(n.currentNode!=null&&(f={ID:n.currentNode.ID,Name:n.currentNode.Name},angular.copy(f,n.editDistributionList.OrganisationUnit)),n.editDistributionList.Type="Static",n.editDistributionList.Status==="Active"&&(l.getRoleName()=="Local Admin"&&n.editDistributionList.SecurityGroup==!0?$("#editDistributionlistMessageModerationModal").modal("show"):n.GetDistributionListAPI()),n.editDistributionList.Status==="Pending"&&u({method:"put",url:baseUrlValue+"/distributionlists/Update/"+n.editDistributionList.DistributionListEmailAddress,data:n.editDistributionList}).success(function(){t.path("/DistributionLists")}).error(function(n){var i="Request failed: ",t;if(n.Errors){for(i+="<ul>",t=0;t<n.Errors.length;t++)i+="<li>"+n.Errors[t].Message+n.Errors[t].FieldName+" "+n.Errors[t].Detail+"<\/li>";i+="<\/ul>"}else i+=" status code "+n.status;y.error(i)}))}};n.editDistributionListCancelClick=function(){window.history.back()};$(function(){$('[data-toggle="tooltip"]').tooltip()});n.editDistributioListDeleteClick=function(){n.deleteStaticDLObj=n.editDistributionList.DistributionListEmailAddress;u({method:"DELETE",url:baseUrlValue+"DeleteStaticDistributionList",headers:{"Content-Type":"application/json;charset=utf-8"},data:{DLEmailAddress:n.deleteStaticDLObj}}).success(function(){a.loadlist=1;t.path("/DistributionLists")}).error(function(n){var t="Request failed: ";t+=n.Errors.length>0?n.Errors[0].Message:"Unable to connect to server please try again.";y.error(t)})};n.getEmailDomain=function(){return domainAddress};n.editDistributionListOU=function(){angular.copy([],n.treedata);angular.copy([],n.expandedNodes);angular.copy(null,n.currentNode);$("#userDetails_formResult").removeClass("alert-success alert-danger").html("");u({method:"POST",url:baseUrlValue+"ViewOrganisation",data:n.editDistributionList.Organisation}).success(function(t){n.treedata.push(t);var i=s.getPathOfNodeInTreeObject(n.editDistributionList.OrganisationUnit,n.treedata[0],"treedata[0]");angular.copy([],n.expandedNodes);n.expandedNodes=s.getExpandedTreeNodesTillSelectedNode(n.$eval(i),n.treedata[0],[]);n.currentNode=n.$eval(i);n.originallySelectedNodeBeforeEdit=n.$eval(i);angular.element("#editDistributionListEditOUModal").modal("show")}).error(function(n){var i="Request failed, Unable to fetch organisational unit details for the user",t;if(n.Errors){for(i+="<ul>",t=0;t<n.Errors.length;t++)i+="<li>"+n.Errors[t].Message+n.Errors[t].FieldName+" "+n.Errors[t].Detail+"<\/li>";i+="<\/ul>"}else i+=" status code "+n.status;y.error(errorMessage)})};n.CancelOUEdit=function(){n.currentNode=n.originallySelectedNodeBeforeEdit;angular.element("#editDistributionListEditOUModal").modal("hide")};n.ConfirmOUEdit=function(){angular.copy(n.currentNode,n.editDistributionList.OrganisationUnit);n.OrganisationParentAndChildDetails=s.getNamePathOfNodeInTreeObjectRecursiveSearch(n.currentNode,n.treedata[0],"");angular.element("#editDistributionListEditOUModal").modal("hide")};n.editDistributioListTransferClick=function(){$("#StaticDLMoverModal").modal("show")};n.ImportStaticDLRecipents=function(){$("#importRecipentsUploadCSVModal").modal("show")};n.$watch("editDistributionList_form.$valid",function(t,i){t!==i&&(n.disableTransferButton=t==!1||n.editDistributionList.Status=="Pending"?!0:!1)});n.hideApproveButton=!0;n.hideRejectButton=!0;n.$watch("editDistributionList",function(t,i){t!==i&&n.isCreateAllowed==!0&&(n.editDistributionList!=undefined||n.editDistributionList!=null)&&(n.editDistributionList.Status==="Pending"&&(n.isDeleteDisabled=!0,n.disableTransferButton=!0,n.hideApproveButton=!1,n.hideRejectButton=!1),n.editDistributionList.Status==="Active"&&(n.isDeleteDisabled=!1,n.disableTransferButton=!1,n.hideApproveButton=!0,n.hideRejectButton=!0))});n.editDistributionListApproveClick=function(t){var i=_.first(n.myApprovals);n.myApprovals.length>0&&p.SetApproval({approved:t,approvalID:i.ID,id:n.editDistributionList.ID})};n.cancelStaticDLMoving=function(){$("#StaticDLMoverModal").modal("hide");n.isOrganisationSelected=!1};n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.organisationChange()};n.organisationChange=function(){n.SelectedOrganisation!=null&&n.SelectedOrganisation!="undefined"?(angular.copy([],n.treedataStaticDLMover),angular.copy([],n.expandedNodesStaticDLMover),angular.copy(null,n.currentNodeStaticDLMover),u({method:"POST",url:baseUrlValue+"ViewOrganisation",data:n.SelectedOrganisation}).success(function(t){n.isOrganisationSelected=!0;n.treedataStaticDLMover.push(angular.copy(t));n.expandedNodesStaticDLMover=[n.treedataStaticDLMover[0]];n.currentNodeStaticDLMover=n.treedataStaticDLMover[0]}).error(function(n){var t,i;if($(".modal-backdrop").remove(),t="Request failed, Unable to fetch organisational unit details for the user",n.Errors){for(t+="<ul>",i=0;i<n.Errors.length;i++)t+="<li>"+n.Errors[i].Message+n.Errors[i].FieldName+" "+n.Errors[i].Detail+"<\/li>";t+="<\/ul>"}else t+=" status code "+n.status;y.error(t)})):(angular.copy([],n.treedata),n.SelectedOrganisation=undefined,n.isOrganisationSelected=!1)};n.transferStaticDL=function(){if(!s.isValidShortname(n.SelectedOrganisation.ShortName)){y.warning("The selected organisation does not have a shortname, cannot transfer mailbox. Please contact support to have a shortname configured.");return}it();var i={OrganisationID:n.SelectedOrganisation.ID,OrganisationUnitId:n.currentNodeStaticDLMover.ID,OldEmailAddress:n.OldEmailAddress,NewEmailAddress:n.dsl};p.TransferSDL(i).$promise.then(function(){angular.element("#StaticDLMoverModal").modal("hide");n.isOrganisationSelected=!1;$(".modal-backdrop").remove();t.path("/DistributionLists")},function(){n.dsl=n.OldEmailAddress;angular.element("#StaticDLMoverModal").modal("hide");n.isOrganisationSelected=!1;$(".modal-backdrop").remove()})};it=function(){var t=n.SelectedOrganisation.ShortName;n.editDistributionList_form.editDistributionListInputEmailOwnOrganisation.$valid?n.dsl=angular.lowercase(t+"."+n.editDistributionList.Name)+n.getEmailDomain():n.viewSharedMailbox_form.editDistributionListInputEmailOwnOrganisation.$invalid?n.dsl="":n.EmailAddress=""};n.ExportStaticDL=function(){var t={};t.ID=n.editDistributionList.ID;t.EmailAddress=n.editDistributionList.DistributionListEmailAddress;c.location.href="ExportCSV/ExportRecipientList?"+h.serialize(t)};var rt="admin/distributionlists/static/uploadmembers",ut=100;et();ot();n.uploader=new o({url:baseUrlValue+rt,headers:{Authorization:"Bearer "+sessionStorage.getItem("JWToken")},removeAfterUpload:!0});n.uploader.onSuccessItem=function(t,i){var u,r;for(n.uploadedFile=t.file.name,n.editDistributionList.Recipients=[],n.TempRecipients={},u=i.length,r=0;r<i.length;r++)n.TempRecipients.EmailAddress=i[r].EmailAddress,n.TempRecipients.ID=i[r].ID,n.editDistributionList.Recipients.push({EmailAddress:n.TempRecipients.EmailAddress,EmailType:null,ID:n.TempRecipients.ID});n.RecipientsTempCopy=[];angular.copy(n.editDistributionList.Recipients,n.RecipientsTempCopy);n.totalImportedRecordCount=n.editDistributionList.Recipients.length;n.showUploadResults=!0;n.showSuccessResult=!0;n.showErrorResults=!1};n.uploader.onErrorItem=function(t,i){if(n.uploadedFile=t.file.name,i.Errors.length>0)for(var r=0;r<i.Errors.length;r++){if(r>ut){n.detailList.push("error list limited to first "+ut);break}i.Errors[r].Detail==null?n.detailList.push(i.Errors[r].Message):n.detailList.push(i.Errors[r].Detail)}else i.Errors&&i.Errors.length>0?n.detailList.push(i.Errors[0].Message+": "+i.Errors[0].Detail):n.detailList.push("Failed to parse file");n.showUploadResults=!0;n.showSuccessResult=!1;n.showErrorResults=!0};n.uploader.onAfterAddingFile=function(t){n.selectedFile=t.file.name;et();ot()};n.uploader.onBeforeUploadItem=function(){v.start()};n.uploader.onCompleteAll=function(){v.stop()};ft=4194304;n.Upload=function(){var t=n.uploader.queue[0].file;if(t.size>ft){n.fileErrors.fileTooBig=!0;n.uploader.clearQueue();return}if(t.name.split(".").pop()!="csv"){n.fileErrors.wrongExtension=!0;n.uploader.clearQueue();return}n.uploader.url=baseUrlValue+rt;n.uploader.uploadAll();$("#importRecipentsUploadCSVModal").modal("hide");document.getElementById("csvRecipientsUploaderInput").value=""};n.cancelImport=function(){n.selectedFile="";$("#fileValidationError").hide();$("#importRecipentsUploadCSVModal").modal("hide")};n.clear=function(){angular.element("input[type='file']").val(null);n.selectedFile="";n.uploader.clearQueue()};n.selectUnselectOwner=function(){n.editDistributionList.SelectUserAsOwner?n.OwningUsersTempCopy.push(d):n.removeOwner(d,"OwningUsersTempCopy")}}]);userAdminAppControllersModule.controller("UserAdminEditDynamicDistributionListController",["$scope","$location","$routeParams","$modal","$http","$filter","$parse","$timeout","$q","OrganisationObjectHelperService","$window","PermissionChecker","$sessionStorage","growl","DistributionListAPI","DistributionListService","Config","CustomAttributeValidator","PicklistAPI","DistributionListSearchParams",function(n,t,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g){function rt(n){switch(n){case"-eq":n="=";break;case"-ne":n="!="}return n}function tt(t){if(!t)return"";var r="";for(r="(",i=0;i<t[0].Rules.length;i++)i>0&&(r+=" "+t[0].Operator+" "),r+=t[0].Rules[i].Group?tt(t[0].Rules[i].Group):t[0].Rules[i].Field+" "+rt(t[0].Rules[i].Condition)+" "+t[0].Rules[i].Data;if(r+=")",t[1]!=null&&t[1].Operator=="INCLUDE")for(n.includeSdlGroup=t[1].Operator=="INCLUDE"?!0:!1,i=0;i<t[1].Rules.length;i++)r+=" + "+t[1].Rules[i].Data;if(t[1]!=null&&t[1].Operator=="EXCLUDE")for(n.excludeSdlGroup=t[1].Operator=="EXCLUDE"?!0:!1,i=0;i<t[1].Rules.length;i++)r+=" - "+t[1].Rules[i].Data;if(t[2]!=null&&t[2].Operator=="EXCLUDE")for(n.excludeSdlGroup=t[2].Operator=="EXCLUDE"?!0:!1,i=0;i<t[2].Rules.length;i++)r+=" - "+t[2].Rules[i].Data;if(t[2]!=null&&t[2].Operator=="INCLUDE")for(n.includeSdlGroup=t[2].Operator=="INCLUDE"?!0:!1,i=0;i<t[2].Rules.length;i++)r+=" + "+t[2].Rules[i].Data;return r}var nt,it;n.editDistributionList={};n.editDistributionList.Type="";n.OwningUsersTempCopy=[];n.SpecificSendersTempCopy=[];n.RecipientsTempCopy=[];n.departmentsCopy={};n.OrganisationParentAndChildDetails="";n.distributionListRequest={};n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.OldEmailAddress="";n.SelectedOrganisation={};n.isOrganisationSelected=!1;n.treedata=[];n.showTargetUsers=!1;n.showUserpicker=!1;n.showUserpickercontact=!1;n.expandedNodes=[];n.currentNode=null;n.treedataDynamicDLMover=[];n.expandedNodesDynamicDLMover=[];n.currentNodeDynamicDLMover=null;n.fieldOptions={};n.RulesTemp=[];n.fieldDataLoaded=!1;n.isCreateAllowed=!1;n.isUpdateAllowed=!1;n.DynamicDLDeletePermission=!1;n.checkSpecificSenders=!1;n.distributionListRequest={};n.OwningUserListErrors={required:!1};n.SpecificSendersListErrors={required:!1};n.userPickerFilter={Status:["Pending","Disabled","Suspended","PendingError","Deleted"]};n.showContact=!1;n.userSelectionLimit=1;n.DistributionListSearchParams=g();n.DistributionListSearchParams.matchAny=!0;n.distributionListRequest.FilterParams={FilterParms:n.DistributionListSearchParams,MatchAny:n.DistributionListSearchParams.matchAny};n.fieldOptions.clinicalRole=d.GetClinicalRole();n.fieldOptions.clinicalSpeciality=d.GetClinicalSpeciality();n.fieldOptions.workArea=d.GetWorkArea();n.modalMarkupLoaded=function(){a.contains("DYNAMIC_DISTRIBUTION_LIST_UPDATE")&&(n.isUpdateAllowed=!0);a.contains("DYNAMIC_DISTRIBUTION_LIST_DELETE")&&(n.DynamicDLDeletePermission=!0);a.contains("CREATE_DISTRIBUTION_LIST")&&(n.isCreateAllowed=!0);n.viewDistributionParams={};n.viewDistributionParams.ID=r.ID;p.Get({dlID:n.viewDistributionParams.ID}).$promise.then(function(t){n.editDistributionList=t;n.editDistributionList.Status==="Pending"?(n.isUpdateAllowed=!1,p.GetApprovals({dlID:n.editDistributionList.ID}).$promise.then(function(t){n.myApprovals=_.where(t,{UserCanUpdate:!0,IsApproved:null});n.otherApprovals=_.where(t,{UserCanUpdate:!1,IsApproved:null})})):n.editDistributionList.Status!=="Active"&&(n.isUpdateAllowed=!1);n.dsl=t.DistributionListEmailAddress;n.OldEmailAddress=n.dsl;(n.editDistributionList.SpecificAuthorisedSenders==null||n.editDistributionList.SpecificAuthorisedSenders==undefined)&&(n.editDistributionList.SpecificAuthorisedSenders=[]);n.OrganisationParentAndChildDetails=c.getPathOfOUinOrgAsName(n.editDistributionList.OrganisationUnit);(n.editDistributionList.Recipients==null||n.editDistributionList.Recipients==undefined)&&(n.editDistributionList.Recipients=[]);(n.editDistributionList.OwningUsers==null||n.editDistributionList.OwningUsers==undefined)&&(n.editDistributionList.OwningUsers=[]);(n.editDistributionList.SpecificAuthorisedSenders==null||n.editDistributionList.SpecificAuthorisedSenders==undefined)&&(n.editDistributionList.SpecificAuthorisedSenders=[]);n.OwningUsersTempCopy=n.editDistributionList.OwningUsers;n.SpecificSendersTempCopy=n.editDistributionList.SpecificAuthorisedSenders;n.RecipientsTempCopy=n.editDistributionList.Recipients;n.OwningUsersTempCopy.length===0?n.isOwningUserPresent=!1:n.OwningUsersTempCopy.length===1&&(n.isOwningUserPresent=!0)});n.$watch("editDistributionList.Name + editDistributionList.Organisation",function(t,i){var r,u;i!=null&&t!==i&&(r="",n.editDistributionList.Organisation.ShortName&&(r=angular.lowercase(n.editDistributionList.Organisation.ShortName)),(r==undefined||r==""||r==null)&&(r="org"),n.editDistributionList_form.editDistributionListInputDLName.$valid?(u=r+"."+n.editDistributionList.Name+n.getEmailDomain(),angular.lowercase(u)!=angular.lowercase(n.editDistributionList.DistributionListEmailAddress)?(n.editDistributionList.NewEmail=u,n.dsl=u):n.editDistributionList.NewEmail=null):n.editDistributionList_form.editDistributionListInputDLName.$invalid&&(n.editDistributionList.NewEmail=null))})};n.modalMarkupLoaded();n.setupUserPickerDone=function(t){var i=n.$on("UserPickerSelectionDone",function(){var u=v.currentSource,h=o(u)(n),f=[],s,r;angular.forEach(n.selectedEmail,function(n){if(n.Email!=null){var t={EmailAddress:n.Email,ID:n.ID,EmailType:n.EmailType};f.push(t)}});s=h.concat(f);r=e("removeDuplicates")(s,"EmailAddress");r.length<=b.DL_MaxSpecificSenders?o(u).assign(n,r):y.error("Could not add new senders. The maximum allowed senders is "+b.DL_MaxSpecificSenders);i();t==="OwningUsersTempCopy"&&(n.OwningUsersTempCopy.length===0?n.isOwningUserPresent=!1:n.OwningUsersTempCopy.length===1&&(n.isOwningUserPresent=!0));n.showUserpicker=!1;n.showUserpickercontact=!1;n.showOwnerUserpicker=!1})};n.EmailOwnersDistribution="";n.addUsersListClick=function(t,i){v.currentSource=t;n.userSelectionLimit=t=="OwningUsersTempCopy"?1:"all";angular.copy([],n.selectedEmail);i==!0?(n.showUserpicker=!1,n.showUserpickercontact=!0,n.showOwnerUserpicker=!1):(n.showUserpickercontact=!1,t=="OwningUsersTempCopy"?(n.showUserpicker=!0,n.showOwnerUserpicker=!1):(n.showUserpicker=!1,n.showOwnerUserpicker=!0));n.OwningUserListErrors.required=!1;n.SpecificSendersListErrors.required=!1;n.setupUserPickerDone(t)};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1;n.showUserpickercontact=!1;n.showOwnerUserpicker=!1});n.$on("UserPickerSelectionDone",function(){n.showUserpicker=!1;n.showUserpickercontact=!1;n.showOwnerUserpicker=!1});n.removeOwner=function(t){n.OwningUsersTempCopy=e("filter")(n.OwningUsersTempCopy,function(n){return n.EmailAddress!=t.EmailAddress});n.OwningUsersTempCopy.length==0?n.isOwningUserPresent=!1:n.OwningUsersTempCopy.length==1&&(n.isOwningUserPresent=!0)};n.EmailSpecific="";n.removeSpecificSender=function(t){n.SpecificSendersTempCopy=e("filter")(n.SpecificSendersTempCopy,function(n){return n.EmailAddress!=t.EmailAddress});n.SpecificSendersTempCopy.length<100&&(n.showaddSpecificSendersToDistributionListCountExceedingLimitErrorMessage=!1,n.showAddSpecificSendersToDistributionListCountEmptyEmailStringAdd=!1,n.addSpecificSendersToDistributionListCountExceedingLimitErrorMessage="")};n.EmailDistribution="";n.removeRecipient=function(t){n.RecipientsTempCopy=e("filter")(n.RecipientsTempCopy,function(n){return n.EmailAddress!=t.EmailAddress})};nt=function(){(n.queryTargetUsers!=null||n.queryTargetUsers!=undefined)&&(n.checkSpecificSenders=n.queryTargetUsers.RecipientCount>b.DL_NonSpecificSendersMaxRecipients?n.editDistributionList.AuthorisedSendersType==="specificSenders"&&n.SpecificSendersTempCopy.length>0?!1:!0:!1)};n.callApi=function(){p.Update(n.departmentsCopy).$promise.then(function(){t.path("/DistributionLists")})};n.ConfirmCreate=function(){n.callApi();$("#distributionListApprovalModalMaxMembers").modal("hide");$(".modal-backdrop").remove();t.path("/DistributionLists")};n.CancelCreate=function(){$("#distributionListApprovalModalMaxMembers").modal("hide");$(".modal-backdrop").remove()};n.editDistributionList_formSubmitClick=function(t){var i,r,u,f;if($("#editDistributionList_formResult").removeClass("alert-success alert-danger").html(""),n.OwningUserListErrors.required=!1,n.SpecificSendersListErrors.required=!1,n.OwningUsersTempCopy.length===0){n.OwningUserListErrors.required=!0;y.warning("An owner needs to be set");return}if(n.excludeSdlGroup&&!n.includeSdlGroup&&n.editDistributionList.QueryBuilderGroup[0].Rules.length===0){y.warning("You cannot create a DDL that only contains an exclude rule, you must add a non-exclude rule before you can save your changes.");return}if(n.editDistributionList.AuthorisedSendersType==="specificSenders"){if(n.SpecificSendersTempCopy.length===0){n.SpecificSendersListErrors.required=!0;y.warning("At least 1 sender needs to be configured");return}}else n.SpecificSendersListErrors.required=!1;if(n.editDistributionList.OwningUsers=[],n.editDistributionList.SpecificAuthorisedSenders=[],n.editDistributionList.Recipients=[],angular.copy(n.editDistributionList.QueryBuilderGroup.Rules,n.RulesTemp),i=k.allowOrRestrictCustomAttribute(n.RulesTemp),!i.allowCustomAttribute){y.error(i.errorMessage);return}if(r=k.isValidCustomAttribute(n.RulesTemp),!r.allowCustomAttribute){y.error(r.errorMessage);return}if(angular.copy(n.OwningUsersTempCopy,n.editDistributionList.OwningUsers),angular.copy(n.SpecificSendersTempCopy,n.editDistributionList.SpecificAuthorisedSenders),angular.copy(n.RecipientsTempCopy,n.editDistributionList.Recipients),n.editDistributionList.AuthorisedSendersType==="specificSenders"&&(n.editDistributionList.SpecificAuthorisedSenders==null||n.editDistributionList.SpecificAuthorisedSenders.length===0)){n.showaddSpecificSendersToDistributionListCountExceedingLimitErrorMessage=!0;n.addSpecificSendersToDistributionListCountExceedingLimitErrorMessage="Operation not allowed. Must have at least one entry to save.";y.warning("At least 1 sender needs to be configured");return}if((n.editDistributionList.AuthorisedSendersType==="onlyInside"||n.editDistributionList.AuthorisedSendersType==="all")&&(n.editDistributionList.SpecificAuthorisedSenders=[]),t.$invalid||angular.element(".alert.alert-danger.queryBuilderError").length>=1){y.warning("There's a validation error on the form");return}angular.forEach(n.editDistributionList.QueryBuilderGroup.Rules,function(n,t){if(t.length===0){y.warning("Add at least one rule to the Dynamic Distribution List");return}});n.currentNode!=null&&(u={ID:n.currentNode.ID,Name:n.currentNode.Name},angular.copy(u,n.editDistributionList.OrganisationUnit));n.editDistributionList.Type="Dynamic";n.editDistributionList.Status==="Active"&&(angular.copy(n.editDistributionList,n.departmentsCopy),angular.forEach(n.editDistributionList.QueryBuilderGroup.Rules,function(){n.departmentsCopy.QueryBuilderGroup.Rules.length>0&&angular.forEach(n.departmentsCopy.QueryBuilderGroup.Rules,function(t,i){(n.departmentsCopy.QueryBuilderGroup.Rules[i].Field==="Department"||n.departmentsCopy.QueryBuilderGroup.Rules[i].Field==="Organisation")&&(n.departmentsCopy.QueryBuilderGroup.Rules[i].Departments=null)})}),f={queryBuilderGroup:n.editDistributionList.QueryBuilderGroup,DistributionListEmailAddress:n.OldEmailAddress},p.ViewTargetUsers(f).$promise.then(function(t){if(n.queryTargetUsers=t,n.queryTargetUsers!=null||n.queryTargetUsers!=undefined){if(nt(),n.checkSpecificSenders){y.warning("Specific senders must be set on large distribution lists");return}$("#distributionListApprovalModalMaxMembers").modal("show")}}))};n.editDistributionListCancelClick=function(){window.history.back()};$(function(){$('[data-toggle="tooltip"]').tooltip()});n.getEmailDomain=function(){return domainAddress};n.editDistributionListOU=function(){angular.copy([],n.treedata);angular.copy([],n.expandedNodes);angular.copy(null,n.currentNode);p.GetOrganistion({Id:n.editDistributionList.Organisation.ID,shortResponse:!0}).$promise.then(function(t){n.treedata.push(t);var i=c.getPathOfNodeInTreeObject(n.editDistributionList.OrganisationUnit,n.treedata[0],"treedata[0]");angular.copy([],n.expandedNodes);n.expandedNodes=c.getExpandedTreeNodesTillSelectedNode(n.$eval(i),n.treedata[0],[]);n.currentNode=n.$eval(i);n.originallySelectedNodeBeforeEdit=n.$eval(i);angular.element("#editDistributionListEditOUModal").modal("show")})};n.selectUnselectIncludeSdlGroups=function(){if(n.includeSdlGroup==undefined||n.includeSdlGroup)n.editDistributionList.QueryBuilderGroup.push({Operator:"INCLUDE",Rules:[]});else{var t=_.findIndex(n.editDistributionList.QueryBuilderGroup,{Operator:"INCLUDE"});n.editDistributionList.QueryBuilderGroup.splice(t,1)}};n.selectUnselectExcludeSdlGroups=function(){if(n.excludeSdlGroup==undefined||n.excludeSdlGroup)n.editDistributionList.QueryBuilderGroup.push({Operator:"EXCLUDE",Rules:[]});else{var t=_.findIndex(n.editDistributionList.QueryBuilderGroup,{Operator:"EXCLUDE"});n.editDistributionList.QueryBuilderGroup.splice(t,1)}};n.$watch("editDistributionList.QueryBuilderGroup",function(t){n.output=tt(t)},!0);n.viewTargetUsersClicked=function(){n.viewTargetButtonClicked=!0;s(function(){var t,i,r;if(!(angular.element(".alert.alert-danger.queryBuilderError").length>=1)){if(angular.copy(n.editDistributionList.QueryBuilderGroup.Rules,n.RulesTemp),t=k.allowOrRestrictCustomAttribute(n.RulesTemp),!t.allowCustomAttribute){y.error(t.errorMessage);return}if(i=k.isValidCustomAttribute(n.RulesTemp),!i.allowCustomAttribute){y.error(i.errorMessage);return}r={queryBuilderGroup:n.editDistributionList.QueryBuilderGroup,DistributionListEmailAddress:n.OldEmailAddress};p.ViewTargetUsers(r).$promise.then(function(t){n.queryTargetUsers=t;(n.queryTargetUsers!=null||n.queryTargetUsers!=undefined)&&(n.showTargetUsers=!0)})}})};n.$on("UserListBackButtonClickedEvent",function(){n.showTargetUsers=!1});n.CancelOUEdit=function(){n.currentNode=n.originallySelectedNodeBeforeEdit;angular.element("#editDistributionListEditOUModal").modal("hide")};n.ConfirmOUEdit=function(){angular.copy(n.currentNode,n.editDistributionList.OrganisationUnit);n.OrganisationParentAndChildDetails=c.getNamePathOfNodeInTreeObjectRecursiveSearch(n.currentNode,n.treedata[0],"");angular.element("#editDistributionListEditOUModal").modal("hide")};n.editDynamicDistributioListDeleteClick=function(){p.Delete({email:n.editDistributionList.DistributionListEmailAddress}).$promise.then(function(){v.loadlist=1;t.path("/DistributionLists")})};n.editDynamicDistributionListTransferClick=function(){$("#DynamicDLMoverModal").modal("show")};n.$watch("editDistributionList_form.$valid",function(t,i){t!==i&&(n.isCreateAllowed==!0&&(n.editDistributionList!=undefined||n.editDistributionList!=null)&&((n.editDistributionList.Status=="Pending"||n.editDistributionList.Status=="PendingForCreate"||n.editDistributionList.Status=="PendingForUpdate")&&(n.isDeleteDisabled=!0,n.disableTransferButton=!0),n.editDistributionList.Status=="Active"&&(n.isDeleteDisabled=!1,n.disableTransferButton=!1)),a.getRoleName()=="Tenant Admin"&&(n.editDistributionList.Status=="Pending"?(n.isDeleteDisabled=!0,n.disableTransferButton=!0):(n.isDeleteDisabled=!1,n.disableTransferButton=!1)))});n.$watch("editDistributionList",function(t,i){t!==i&&n.isCreateAllowed==!0&&(n.editDistributionList!=undefined||n.editDistributionList!=null)&&(n.editDistributionList.Status==="Pending"&&(n.isDeleteDisabled=!0,n.disableTransferButton=!0),n.editDistributionList.Status==="Active"&&(n.isDeleteDisabled=!1,n.disableTransferButton=!1))});n.editDistributionListApprovalClick=function(t){var i=_.first(n.myApprovals);n.myApprovals.length>0&&p.SetApproval({approved:t,approvalID:i.ID,id:n.editDistributionList.ID})};n.cancelDynamicDLMoving=function(){$("#DynamicDLMoverModal").modal("hide");n.isOrganisationSelected=!1};n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.organisationChange()};n.organisationChange=function(){n.SelectedOrganisation!=null&&n.SelectedOrganisation!==undefined?(angular.copy([],n.treedataDynamicDLMover),angular.copy([],n.expandedNodesDynamicDLMover),angular.copy(null,n.currentNodeDynamicDLMover),p.GetOrganistion({Id:n.SelectedOrganisation.ID,shortResponse:!0}).$promise.then(function(t){n.isOrganisationSelected=!0;n.treedataDynamicDLMover.push(angular.copy(t));n.expandedNodesDynamicDLMover=[n.treedataDynamicDLMover[0]];n.currentNodeDynamicDLMover=n.treedataDynamicDLMover[0]})):(angular.copy([],n.treedata),n.SelectedOrganisation=undefined,n.isOrganisationSelected=!1)};n.transferDynamicDL=function(){if(!c.isValidShortname(n.SelectedOrganisation.ShortName)){y.warning("The selected organisation does not have a shortname, cannot transfer mailbox. Please contact support to have a shortname configured.");return}it();var i={OrganisationID:n.SelectedOrganisation.ID,OrganisationUnitId:n.currentNodeDynamicDLMover.ID,OldEmailAddress:n.OldEmailAddress,NewEmailAddress:n.dsl};p.TransferDDL(i).$promise.then(function(){angular.element("#DynamicDLMoverModal").modal("hide");n.isOrganisationSelected=!1;$(".modal-backdrop").remove();t.path("/DistributionLists")},function(){n.dsl=n.OldEmailAddress;angular.element("#DynamicDLMoverModal").modal("hide");n.isOrganisationSelected=!1;$(".modal-backdrop").remove()})};it=function(){var t=n.SelectedOrganisation.ShortName;n.editDistributionList_form.editDistributionListInputEmailOwnOrganisation.$valid?n.dsl=angular.lowercase(t+"."+n.editDistributionList.Name)+n.getEmailDomain():n.viewSharedMailbox_form.editDistributionListInputEmailOwnOrganisation.$invalid?n.dsl="":n.EmailAddress=""}}]);userAdminAppControllersModule.controller("UserAdminListDistributionController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","DistributionListVisibleColumns","DistributionListColumns","DistributionListSearchParams","$window","PermissionChecker","$filter",function(n,t,i,r,u,f,e,o,s,h,c,l){var a;n.animationsEnabled=!1;n.showAndHideCreateStaticDistributionDropDown=!1;n.showCreateDynamicDistributionDropDown=!1;n.isDisabledAddButton=!1;n.itemsOnPage="10";n.getDistribution="";n.isDistributionListProcessingError=!1;n.Status=["Active","Disabled","Unknown","Pending","Rejected"];n.Type=["Dynamic","Static"];n.Hidden=["False","True"];n.isDistributionListEmpty=!1;a="";n.openListDistributionColumnPicker=function(){var t=n.distributionListColumnsVisible,r=i.open({animation:n.animationsEnabled,templateUrl:"./Angular/Apps/UserAdmin/Common/Views/ListUsersColumnPicker.html",controller:"ListUsersColumnPicker",size:"lg",resolve:{items:function(){return n.distributionListColumnsVisible},names:function(){return n.distributionListColumns}}});r.result.then(function(){u.NHSmailDistributionListColumns=n.distributionListColumnsVisible},function(){n.distributionListColumnsVisible=t})};n.distributionListRequest={};n.distributionListColumnsVisible=u.NHSmailDistributionListColumns;n.distributionListColumnsVisible||(n.distributionListColumnsVisible=new e);n.distributionListColumns=new o;var v="",y=function(n,t){angular.isUndefined(u.distributionListSearchParams)&&(u.distributionListSearchParams={});t!=v&&(u.distributionListSearchParams={});u.distributionListSearchParams=n;u.distributionListSearchParams.simpleOrAdvanced=t},p=function(){if(a=="advanced"&&n.DistributionListAdvancedSearchParams!=[]){var t={};angular.copy(n.DistributionListAdvancedSearchParams,t);y(t,"advanced");t={}}u.distributionListSearchResults=n.distributionListItems},w=function(){if(angular.isUndefined(u.distributionListSearchResults)&&(u.distributionListSearchResults={}),Object.keys(u.distributionListSearchResults).length!=0&&(n.showEmptyTable=!0,n.distributionListItems=u.distributionListSearchResults,u.distributionListSearchParams.simpleOrAdvanced=="advanced")){var t={};angular.copy(u.distributionListSearchParams,t);n.DistributionListAdvancedSearchParams=t;t={}}};n.modalMarkupLoaded=function(){w();c.contains("STATIC_DISTRIBUTION_LIST_CREATE")&&(n.showAndHideCreateStaticDistributionDropDown=!0);c.contains("DYNAMIC_DISTRIBUTION_LIST_CREATE")&&(n.showCreateDynamicDistributionDropDown=!0);n.showAndHideCreateStaticDistributionDropDown==!1&&n.showCreateDynamicDistributionDropDown==!1&&(n.isDisabledAddButton=!0);u.loadlist==1&&(setTimeout(function(){angular.element("#SimpleSearchButton").triggerHandler("click")},2100),u.loadlist=0)};n.modalMarkupLoaded();n.callAPI=function(t,i){i&&(t.matchAny=!0);clearInterval(n.myInterval);n.isDistributionListProcessingError=!1;n.distributionListRequest.FilterParams=t;n.distributionListRequest.MatchAny=i;n.distributionListRequest.FilterParams.HideGroupFromAddressList!=="False"&&n.distributionListRequest.FilterParams.HideGroupFromAddressList!=="True"&&(n.distributionListRequest.FilterParams.HideGroupFromAddressList="");n.distributionListRequest.IsRequestFromProfile=!1;r({method:"POST",url:baseUrlValue+"GetDistributionLists",data:n.distributionListRequest}).success(function(t){n.distributionListItems=l("orderObjectBy")(t,"Name");n.isDistributionListEmpty=n.distributionListItems.length==0?!0:!1;p();n.currentInputFocus&&setTimeout(function(){n.currentInputFocus.element.focus()},500)}).error(function(){n.isDistributionListProcessingError=!0});u.loadlist=0};n.viewDistributionDetails=function(n){n.Type=="Static"?t.url("/DL/Edit/"+n.DistributionListEmailAddress):n.Type=="Dynamic"&&t.url("/DynamicDL/Edit/"+n.DistributionListEmailAddress)};n.distributionDisplayedTable=[].concat(n.distributionListItems);n.DistributionListAdvancedSearchParams||(n.DistributionListAdvancedSearchParams=s());n.advancedSearch=function(){a="advanced";n.callAPI(n.DistributionListAdvancedSearchParams)};n.showOrHideDefaultView=function(){n.showEmptyTable=!0;n.advancedSearch()};n.searchUserOnEnterAdvanced=function(t){check=!1;t.which===13&&n.showOrHideDefaultView()};n.dropDownBasedSearch=function(){check=!1;n.showOrHideDefaultView()}}]);userAdminAppFiltersModule.filter("customAttributesOnlyFilter",function(){return function(n){var t=[];return angular.forEach(n,function(n){(n.Field==="Custom Attribute 1"||n.Field==="Custom Attribute 2"||n.Field==="Custom Attribute 3"||n.Field==="Custom Attribute 4"||n.Field==="Custom Attribute 5")&&t.push(n)}),t}}),function(){userAdminAppServicesModule.service("CustomAttributeValidator",["$filter",function(n){var t=!0,i=!0,r=!1,u=!1,e=function(n){return n.Field=="Custom Attribute 1"||n.Field=="Custom Attribute 2"||n.Field=="Custom Attribute 3"||n.Field=="Custom Attribute 4"||n.Field=="Custom Attribute 5"},f=function(n){return n.Field==="Organisation"},l=function(n){return n.some(e)?n.some(f)?(r=!1,!0):!1:(r=u?n.some(f)?!1:!0:!1,!0)},o=function(n){l(n)?r?t=!1:n.some(f)&&(t=!0):t=!1},s=function(n){var i=[],h=[],r=n.sort(function(n){return n.hasOwnProperty("Group")&&n.Group!==null?1:0});return t&&angular.forEach(r,function(n){n.hasOwnProperty("Group")&&n.Group!==null?(h.push(n),r.indexOf(n)===r.length-1&&angular.forEach(h,function(n){n.Group!==null&&t&&(i.some(f)?o(i):s(n.Group.Rules))})):(i.push(n),i.some(e)&&(u=!0),r.indexOf(n)===r.length-1&&(o(i),u=!1))}),t},a=function(n){if(n.Field=="Custom Attribute 1"||n.Field=="Custom Attribute 2"||n.Field=="Custom Attribute 3"||n.Field=="Custom Attribute 4"||n.Field=="Custom Attribute 5")return/^[ a-zA-Z\d\s]*$/.test(n.Data)?!0:!1},v=function(n){return n.some(e)?n.every(a)?!0:!1:!0},h=function(t){caArray=n("customAttributesOnlyFilter")(t);i=v(caArray)?!0:!1},c=function(n){var r=[],u=[],t=n.sort(function(n){return n.hasOwnProperty("Group")&&n.Group!==null?1:0});return i&&angular.forEach(t,function(n){n.hasOwnProperty("Group")&&n.Group!==null?(u.push(n),t.indexOf(n)===t.length-1&&angular.forEach(u,function(n){n.Group!==null&&i&&(h(r),c(n.Group.Rules))})):(r.push(n),t.indexOf(n)===t.length-1&&h(r))}),i};return{allowOrRestrictCustomAttribute:function(n){return s(n)?{allowCustomAttribute:!0}:(t=!0,r=!1,u=!1,{errorMessage:"Please select organisation for all custom attributes",allowCustomAttribute:!1})},isValidCustomAttribute:function(n){return c(n)?{allowCustomAttribute:!0}:(i=!0,{errorMessage:"Custom attibutes allow only alphanumeric characters and spaces",allowCustomAttribute:!1})}}}])}();userAdminAppControllersModule.factory("DistributionListAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var r="Request failed";angular.isDefined(n.data.Errors)&&n.data.Errors.length>0?n.data.Errors[0].Code===51?i.path("/AccessDenied"):r=n.data.Errors[0].ErrorCode===82?n.data.Errors[0].Message:n.data.Errors[0].Detail:angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");t.error(r,{ttl:1e4})}return n(baseUrlValue+"admin/distributionlists/",{},{ViewTargetUsers:{method:"POST",url:baseUrlValue+"admin/distributionlists/dynamic/viewtargetuser",interceptor:{responseError:u},timeout:6e5},Get:{method:"GET",params:{dlID:"@ID"},url:baseUrlValue+"admin/distributionlists/dynamic/:dlID",interceptor:{responseError:u},timeout:r.XhrTimeout},GetNonAdmin:{method:"GET",params:{dlID:"@ID"},url:baseUrlValue+"GetDynamicDistributionListForNonAdmin/:dlID",interceptor:{responseError:u},timeout:r.XhrTimeout},Create:{method:"POST",url:baseUrlValue+"admin/distributionlists/dynamic",interceptor:{responseError:u},timeout:6e5},CreateStatic:{method:"POST",url:baseUrlValue+"admin/distributionlists/static",interceptor:{responseError:u}},GetDistributionList:{method:"POST",params:{FilterParams:"@FilterParams"},url:baseUrlValue+"GetDistributionLists",isArray:!0,interceptor:{responseError:u},timeout:6e5},Update:{method:"PUT",params:{dlID:"@ID"},url:baseUrlValue+"admin/distributionlists/dynamic/:dlID",interceptor:{responseError:u},timeout:6e5},Delete:{method:"DELETE",params:{email:"@email"},url:baseUrlValue+"admin/distributionlists/dynamic/:email",interceptor:{responseError:u},timeout:r.XhrTimeout},GetApprovals:{method:"GET",params:{dlID:"@dlID"},url:baseUrlValue+"admin/distributionlists/:dlID/approvals",isArray:!0,interceptor:{responseError:u},timeout:r.XhrTimeout},GetApprovalsByEmail:{method:"GET",params:{DLemail:"@DLemail"},url:baseUrlValue+"admin/distributionlists/:DLemail/approvalsbyemail",isArray:!0,interceptor:{responseError:u},timeout:r.XhrTimeout},SetApproval:{method:"PUT",params:{approved:"@approved",id:"@id",approvalID:"@approvalID"},url:baseUrlValue+"admin/distributionlists/approvals/:id/:approvalID?isApproved=:approved",interceptor:{responseError:u},timeout:r.XhrTimeout},TransferSDL:{method:"PUT",url:baseUrlValue+"TransferStaticDistributionList",interceptor:{responseError:u},timeout:r.XhrTimeout},TransferDDL:{method:"PUT",url:baseUrlValue+"TransferDynamicDistributionList",interceptor:{responseError:u},timeout:r.XhrTimeout},GetOrganistion:{method:"GET",params:{shortResponse:"@shortResponse",Id:"@Id"},url:baseUrlValue+"admin/organisations/:Id?dropdown=:shortResponse",interceptor:{responseError:u},timeout:r.XhrTimeout},GetMyOrganisation:{method:"GET",url:baseUrlValue+"organisationswithoutpermission",interceptor:{responseError:u},timeout:r.XhrTimeout},GetSiteList:{method:"GET",params:{id:"@id"},url:baseUrlValue+"GetSiteList/:id",isArray:!0,interceptor:{responseError:u},timeout:r.XhrTimeout},GetNonAdminSiteList:{method:"GET",params:{id:"@id"},url:baseUrlValue+"GetSiteListWithOutPermission/:id",isArray:!0,interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppServicesModule.factory("DistributionListColumns",function(){return function(){return[{title:"Name",key:"Name"},{title:"Owner",key:"OwningUsers"},{title:"Hidden",key:"HideGroupFromAddressList"},{title:"Type",key:"Type"},{title:"Email",key:"DistributionListEmailAddress"},{title:"Status",key:"Status"},{title:"Country",key:"Country"},]}});userAdminAppServicesModule.factory("DistributionListSearchParams",function(){return function(){return{Name:"",OwningUsers:"",HideGroupFromAddressList:"",Type:"",DistributionListEmailAddress:"",Status:"",Description:"",Country:""}}});userAdminAppControllersModule.factory("DistributionListService",["Config","DistributionListAPI",function(n,t){var i=function(n,i){n.Organisation.ShortName!==""&&n.Organisation.ShortName!=null&&n.Organisation.ShortName!=undefined&&(n.Organisation!=null&&n.Organisation!=="undefined"?(angular.copy([],i.treedata),t.GetOrganistion({Id:n.Organisation.ID,shortResponse:!0}).$promise.then(function(n){i.treedata.push(n);i.expandedNodes=[i.treedata[0]];i.currentNode=i.treedata[0]})):(angular.copy([],i.treedata),n.Organisation=undefined))};return{organisationChange:i}}]);userAdminAppServicesModule.factory("DistributionListVisibleColumns",function(){return function(){this.Name=!0;this.OwningUsers=!0;this.HideGroupFromAddressList=!0;this.Type=!0;this.DistributionListEmailAddress=!0;this.Status=!0;this.Description=!1;this.Country=!1}});userAdminAppControllersModule.controller("UserAdminOrganisationListController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","OrganisationListVisibleColumns","OrganisationListColumns","OrganisationListSearchParams","GlobalDataService","$timeout","Config","$rootScope","$window","PermissionChecker","$filter","OrganisationListAPI","HttpParamSerializerPolyfillService",function(n,t,i,r,u,f,e,o,s,h,f,c,l,a,v,y,p){var w;n.animationsEnabled=!1;n.itemsOnPage=c.OrganisationList_ItemsOnPage;n.selectedEmail=[];n.userID="";n.organisationListItems="";n.ListOrgRequest={};n.ParentOrg={};n.Orgstatus={};u.OrganisationID="";n.isOrganisationListProcessingError=!1;n.isOrgCreationlimitEditPermission=!1;n.isOrganisationListEmpty=!1;n.Status=c.OrganisationList_PredefinedStatus;n.Type=[];w="";n.disableExportButton=!1;n.openColumnPicker=function(){var t=n.organisationListColumnsVisible,r=i.open({animation:n.animationsEnabled,templateUrl:"./Angular/Apps/UserAdmin/Common/Views/ListUsersColumnPicker.html",controller:"ListUsersColumnPicker",size:"lg",resolve:{items:function(){return n.organisationListColumnsVisible},names:function(){return n.organisationListColumns}}});r.result.then(function(){u.NHSmailorganisationListColumns=n.organisationListColumnsVisible},function(){n.organisationListColumnsVisible=t})};n.organisationListColumnsVisible=u.NHSmailorganisationListColumns;n.organisationListColumnsVisible||(n.organisationListColumnsVisible=new e);p.GetTypeList().$promise.then(function(t){n.Type=t});n.organisationListColumns=new o;var b="",k=function(n,t){angular.isUndefined(u.orgListSearchParams)&&(u.orgListSearchParams={});t!=b&&(u.orgListSearchParams={});u.orgListSearchParams=n;u.orgListSearchParams.simpleOrAdvanced=t},d=function(){if(w=="advanced"&&n.OrganisationListAdvancedSearchParams!=[]){var t={};angular.copy(n.OrganisationListAdvancedSearchParams,t);k(t,"advanced");t={}}u.orgListSearchResults=n.organisationListItems},g=function(){if(angular.isUndefined(u.orgListSearchResults)&&(u.orgListSearchResults={}),Object.keys(u.orgListSearchResults).length!=0&&(n.showEmptyTable=!0,n.organisationListItems=u.orgListSearchResults,u.orgListSearchParams.simpleOrAdvanced=="advanced")){var t={};angular.copy(u.orgListSearchParams,t);n.OrganisationListAdvancedSearchParams=t;n.OrganisationListAdvancedSearchParams.Type!=[]&&(n.Type[0]=n.OrganisationListAdvancedSearchParams.Type);t={}}};n.modalMarkupLoaded=function(){g();v.contains("UPDATE_ORG_CREATION_LIMITS")&&(n.isOrgCreationlimitEditPermission=!0);n.organisationListItems.length!=0&&(n.disableExportButton=!0)};n.modalMarkupLoaded();n.callAPI=function(t,i){i&&(t.matchAny=!0);clearInterval(n.myInterval);n.isOrganisationListProcessingError=!1;n.ListOrgRequest.FilterParams=t;n.ListOrgRequest.MatchAny=i;p.GetList(n.ListOrgRequest).$promise.then(function(t){n.organisationListItems=y("orderObjectBy")(t,"Name");n.organisationListItems.forEach(function(n){var t=n.Status?n.Status.Status:"";n.Status=t});n.organisationListItems.length==0?(n.isOrganisationListEmpty=!0,n.disableExportButton=!1):(n.isOrganisationListEmpty=!1,n.disableExportButton=!0);n.OrganisationListAdvancedSearchParams.Status!=null&&n.OrganisationListAdvancedSearchParams.Status.Status!=null&&(n.OrganisationListAdvancedSearchParams.Status=n.Orgstatus.Status);n.OrganisationListAdvancedSearchParams.ParentOrganisation&&(n.OrganisationListAdvancedSearchParams.ParentOrganisation="");d();n.currentInputFocus&&setTimeout(function(){n.currentInputFocus.element.focus()},500)})};n.ExportOrgDetails=function(){var t=n.OrganisationListAdvancedSearchParams;t.Status={Status:n.OrganisationListAdvancedSearchParams.Status};r({method:"POST",url:"ExportCSV/ExportOrganisationList",data:t,responseType:"blob"}).success(function(i,r){var f,e,u;r===200&&(f=new Blob([i],{type:"text/csv"}),window.navigator&&window.navigator.msSaveBlob?window.navigator.msSaveBlob(f,"Organisation_List.csv"):(e=(window.URL||window.webkitURL).createObjectURL(f),u=angular.element("<a><\/a>"),u.attr("href",e),u.attr("download","Organisation_List.csv"),u.attr("style","display:none"),angular.element(document.body).append(u),u[0].click()));n.OrganisationListAdvancedSearchParams.Status!=null&&n.OrganisationListAdvancedSearchParams.Status.Status!=null&&(n.OrganisationListAdvancedSearchParams.Status=t.Status.Status)}).error(function(){growl.error("Request failed")})};n.displayedTable=[].concat(n.organisationListItems);n.OrganisationListAdvancedSearchParams||(n.OrganisationListAdvancedSearchParams=s());n.advancedSearch=function(){n.OrganisationListAdvancedSearchParams.ParentOrganisation&&(n.ParentOrg.Name=n.OrganisationListAdvancedSearchParams.ParentOrganisation,n.OrganisationListAdvancedSearchParams.ParentOrganisation=n.ParentOrg);n.OrganisationListAdvancedSearchParams.Status!==undefined&&n.OrganisationListAdvancedSearchParams.Status!==null&&(n.OrganisationListAdvancedSearchParams.Status.Status==undefined&&n.OrganisationListAdvancedSearchParams.Status.Status==null?(n.Orgstatus.Status=n.OrganisationListAdvancedSearchParams.Status,n.OrganisationListAdvancedSearchParams.Status=n.Orgstatus):(n.Orgstatus.Status=n.OrganisationListAdvancedSearchParams.Status.Status,n.OrganisationListAdvancedSearchParams.Status=n.Orgstatus));w="advanced";n.callAPI(n.OrganisationListAdvancedSearchParams)};n.viewOrganisation=function(n){u.OrganisationID=n;t.url("/Users/OrganisationView")};n.renderValuesToDisplayOrganisationData=function(n,t){var i="";return angular.isObject(n)?t=="Status"?i=n.Status:t=="ParentOrganisation"&&(i=n!=null?n.Name:null):i=n,i};l.$watch(function(){angular.element('[data-toggle="tooltip"]').tooltip({container:"body"})});n.gotoCSVUpload=function(){t.path("/UploadOrganisationsBulkEdit")};n.showOrHideDefaultView=function(){n.showEmptyTable=!0;n.advancedSearch()};n.searchUserOnEnterAdvanced=function(t){check=!1;t.which===13&&n.showOrHideDefaultView()};n.dropDownBasedSearch=function(){check=!1;n.showOrHideDefaultView()}}]);userAdminAppControllersModule.controller("UserAdminOrganisationViewController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","$rootScope","$window","$parse","$filter","OrganisationObjectHelperService","$q","PermissionChecker","OrganisationPropertiesHelper","OrganisationListAPI","Config","growl",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w){var g,nt,b,d;n.TempShortName="";n.organisation={};n.treedata=[];n.backupData=[];n.tabsetHide=!0;n.organisation.ID=u.OrganisationID;n.parentOrgID="";n.parentOrgName="";n.currentNode="";n.viewMode=!1;n.currentNode.ChildOrganisations=[];n.parentNode="";n.OrganisationTypeList="";n.cancelDisabled=!0;n.elemDisabled=!0;n.supportElemDisabled=!0;n.deleteButtonDisabled=!0;n.addButtonDisabled=!1;n.warningMessage="";n.cancelOfNewlyCreatedClicked=!1;n.shortNameDisabled=!0;n.isEditCreationLimitPermitted=!1;n.isShortNameChanged=!1;n.IsSecurityGroupChanged=!1;n.isOuChanged=!1;n.mailboxCount_backup={};n.isOuUpdatePermitted=!1;n.isMailboxSubscriptionPermitted=!0;n.isDialInLimitChangePermitted=!1;n.isOuReadPermitted=!1;n.isSaveChangesDisabled=!1;n.MobileDevicePolicy=p.Organisation_MobileDevicePolicy;n.organisationMobilePolicy={};g=0;nt=!1;n.organisationOutlookAccess={};n.currentNode.IsSecondaryEmailAliasEnabled=!1;n.isUserPolicyVisible=!1;n.isDefaultUserPolicy=!0;n.isOrgPageVisible=!0;n.isDefaultPolicy=!1;n.country="";n.currentIsDefaultUserPolicy="";n.isUserNotGlobalOrTenantAdmin=!0;n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.showTabDetails=function(t){t&&(n.tabsetHide=!1)};o.onresize=function(t){n.resetTreePanel(t);n.$apply()};b=function(n,t){return(n===undefined||n===null||n==="")&&(n=t),n};n.showSelected=function(t){var i;n.currentNode=t;(n.currentNode.Website==null||n.currentNode.Website==undefined)&&n.currentNode.ID!==n.parentOrgID&&(i=c.getPathOfNodeInTreeObject(n.currentNode.ParentOrganisation,n.treedata[0],"treedata[0]"),n.currentNode.Website=n.$eval(i).Website);(n.currentNode.Address==null||n.currentNode.Address==undefined||n.currentNode.Address==="")&&n.currentNode.ID!==n.parentOrgID&&(i=c.getPathOfNodeInTreeObject(n.currentNode.ParentOrganisation,n.treedata[0],"treedata[0]"),n.currentNode.Address=n.$eval(i).Address);t.Type&&(n.currentNode.TypeList={Code:t.Type});n.selectedOU=t.OrganisationType;n.selectedOU==="OU"&&(n.selectedOU="Organisation Unit");n.showTabDetails(t.ID);n.isOuUpdatePermitted||(n.cancelDisabled=!1,n.deleteButtonDisabled=!0,n.elemDisabled=!0,n.supportElemDisabled=!1,n.addButtonDisabled=!0);!n.shortNameDisabled||n.isEditCreationLimitPermitted||n.isOuUpdatePermitted?n.currentNode.ID===n.treedata[0].ID&&n.currentNode.Status.Status=="Active"?(n.cancelDisabled=!0,n.deleteButtonDisabled=!0,n.elemDisabled=!0,n.supportElemDisabled=!1,n.addButtonDisabled=!1):n.currentNode.ID===n.treedata[0].ID&&n.currentNode.Status.Status==="Edit"?(n.cancelDisabled=!1,n.deleteButtonDisabled=!0,n.elemDisabled=!0,n.supportElemDisabled=!1,n.addButtonDisabled=!1):n.currentNode.ID===n.treedata[0].ID&&n.currentNode.Status.Status==="Pending"?(n.cancelDisabled=!1,n.deleteButtonDisabled=!0,n.elemDisabled=!0,n.supportElemDisabled=!0,n.addButtonDisabled=!0):n.currentNode.Status.Status==="Delete"?(n.addButtonDisabled=!0,n.cancelDisabled=!1,n.deleteButtonDisabled=!0,n.elemDisabled=!0,n.supportElemDisabled=!0):n.currentNode.Status.Status=="Create"?(n.addButtonDisabled=!1,n.cancelDisabled=!1,n.deleteButtonDisabled=!0,n.elemDisabled=!1,n.supportElemDisabled=!1):n.currentNode.Status.Status=="Active"?(n.addButtonDisabled=!1,n.cancelDisabled=!0,n.deleteButtonDisabled=!1,n.elemDisabled=!1,n.supportElemDisabled=!1):n.currentNode.Status.Status=="Edit"&&(n.addButtonDisabled=!1,n.cancelDisabled=!1,n.deleteButtonDisabled=!1,n.elemDisabled=!1,n.supportElemDisabled=!1):n.cancelDisabled=!0;n.$watch("currentNode.ShortName",function(t){n.selectedOU=="Organisation Unit"||n.currentNode.ParentOrganisation!=null?n.isShortNameChanged=!1:n.TempShortName!=t?(n.cancelDisabled=!1,n.isShortNameChanged=n.currentNode.ShortName!=""?!0:!1):n.isShortNameChanged=!1});n.$watch("organisationMailboxlimit.SecurityGroupEnabled",function(t,i){n.IsSecurityGroupChanged=i!==t?!0:!1})};n.changeOrgansationUnitThoughError=function(){};n.resetTreePanel=function(n){n.stopPropagation();var i=angular.element(o.innerWidth)[0],t=$(".treesection");i>760?(t.css({left:"0px"}).addClass("visible"),$(".bg-overlay").show()):(t.css({left:"-1000px"}).removeClass("visible"),$(".bg-overlay").hide())};n.toggleTreePanel=function(){var n=$(".treesection");n.hasClass("visible")?(n.animate({left:"-1000px"},"slow").removeClass("visible"),$(".bg-overlay").hide()):(n.animate({left:"-15px"},"slow").addClass("visible"),$(".bg-overlay").show())};n.createSubTree=function(){var i="00000000-0000-0000-0000-000000000000",t={};return t.ID=i,t.Name="",t.ShortName="",t.ODSCode=n.currentNode.ODSCode,t.Type=null,t.Status={},t.Status.ID=i,t.Status.Status="Create",t.Address=n.currentNode.Address,t.PostCode=n.currentNode.PostCode,t.Telephone=n.currentNode.Telephone,t.Fax=n.currentNode.Fax,t.Email=n.currentNode.Email,t.Website=n.currentNode.Website,t.CreatedTimestamp=new Date,t.UpdatedTimestamp=new Date,t.OrganisationType="OU",t.ParentOrganisation={},t.ParentOrganisation.Name=n.currentNode.Name,t.ParentOrganisation.ID=n.currentNode.ID,t.ParentOrganisation.Path=n.currentNode.Path,t.ParentOrganisation.TenantID=n.currentNode.TenantID,t.ChildOrganisations=[],t};n.addOrganisationUnit=function(){var t={},i;if(n.currentNode.Status.Status==="Delete"){n.addButtonDisabled=!0;return}if(t=n.createSubTree(),n.currentNode.Name==="")return n.warningMessage="Please enter Organisation Name",$("#warningMessageID").modal("show"),!1;angular.element("#addOrganisation_form").scope().addOrganisation_form.$invalid||(angular.element("#addOrganisation_form").scope().addOrganisation_form.$setPristine(),angular.element("#addOrganisation_form").scope().addOrganisation_form.$setUntouched(),n.currentNode.ChildOrganisations.push(t),i=c.getPathOfNodeInTreeObject(t,n.treedata[0],"treedata[0]"),n.expandedNodes.push(n.currentNode),n.currentNode=s(i)(n),n.showSelected(n.currentNode))};n.cancelChangesInOrganisationClick=function(){var t,i,r,u=[],f=[];if(n.currentNode.Status.Status!="Active"){if(n.currentNode.Status.Status=="Edit")t=c.getPathOfNodeInTreeObject(n.currentNode,n.treedata[0],"treedata[0]"),i=c.getPathOfNodeInTreeObject(n.currentNode,n.backupData[0],"backupData[0]"),angular.copy(n.currentNode.ChildOrganisations,u),angular.copy(n.$eval(i),n.$eval(t)),n.currentNode=s(t)(n),angular.copy(u,n.currentNode.ChildOrganisations),n.showSelected(n.currentNode);else if(n.currentNode.Status.Status=="Create")n.cancelOfNewlyCreatedClicked=!0,r=c.getPathOfNodeInTreeObject(n.currentNode.ParentOrganisation,n.treedata[0],"treedata[0]"),angular.copy(n.$eval(r),f),angular.copy(h("removeElementFromArrayOfObject")(f.ChildOrganisations,"ID",n.currentNode.ID),n.$eval(r).ChildOrganisations),n.currentNode=n.$eval(r),angular.element("#addOrganisation_form").scope().addOrganisation_form.$setPristine(),angular.element("#addOrganisation_form").scope().addOrganisation_form.$setUntouched(),n.showSelected(n.currentNode);else if(n.currentNode.Status.Status=="Delete"){if(r=c.getPathOfNodeInTreeObject(n.currentNode.ParentOrganisation,n.treedata[0],"treedata[0]"),n.$eval(r).Status.Status=="Delete")return n.warningMessage="You have tried to undelete "+n.currentNode.Name+", this cannot be done as it's parent Organisation Structure is already deleted",$("#warningMessageID").modal("show"),!1;t=c.getPathOfNodeInTreeObject(n.currentNode,n.treedata[0],"treedata[0]");i=c.getPathOfNodeInTreeObject(n.currentNode,n.backupData[0],"backupData[0]");angular.copy(n.currentNode.ChildOrganisations,u);angular.copy(n.$eval(i),n.$eval(t));n.currentNode=s(t)(n);angular.copy(u,n.currentNode.ChildOrganisations);n.showSelected(n.currentNode);$(".tree-selected").parent().hasClass("deleted-leaf")?$(".tree-selected").parent().removeClass("deleted-leaf"):$(".tree-selected").parent().removeClass("deleted-tree-branch")}else n.currentNode.Status.Status=="Pending"&&(t=c.getPathOfNodeInTreeObject(n.currentNode,n.treedata[0],"treedata[0]"),i=c.getPathOfNodeInTreeObject(n.currentNode,n.backupData[0],"backupData[0]"),angular.copy(n.$eval(i),n.$eval(t)),n.showSelected(n.currentNode));n.cancelOfNewlyCreatedClicked=!1}};n.deleteOrganisationUnit=function(){var t,i,u,r;if(n.currentNode.ID!=n.treedata[0].ID){for(t=!0,i=!1,r=0;r<n.currentNode.ChildOrganisations.length;r++)if(n.currentNode.ChildOrganisations[r].Status.Status!="Delete"){t=!1;break}if(u=c.getPathOfNodeInTreeObject(n.currentNode.ParentOrganisation,n.treedata[0],"treedata[0]"),n.$eval(u).Status.Status=="Delete"&&(i=!0),n.currentNode.ChildOrganisations.length>0&&!t)return n.warningMessage="You have tried to delete "+n.currentNode.Name+", this cannot be deleted while it contains Organisation Structure",$("#warningMessageID").modal("show"),!1;if(i)return n.warningMessage="You have tried to delete "+n.currentNode.Name+", this cannot be deleted as it's parent Organisation Structure is already deleted",$("#warningMessageID").modal("show"),!1;t&&!i&&(n.currentNode.Status.Status="Delete",n.elemDisabled=!0,n.supportElemDisabled=!0,n.cancelDisabled=!1,n.addButtonDisabled=!0)}};n.hideWarningMsg=function(){$("#warningMessageID").modal("hide")};n.fillParentChildRelationships=function(t){for(var i=0;i<t.ChildOrganisations.length;i++)t.ChildOrganisations[i].ParentOrganisation={},t.ChildOrganisations[i].ParentOrganisation.ID=t.ID,t.ChildOrganisations[i].ParentOrganisation.Name=t.Name,n.fillParentChildRelationships(t.ChildOrganisations[i])};n.modalMarkupLoaded=function(){var t={};t.user=null;t.startDate=moment().startOf("month").toISOString();t.endDate=moment().toISOString();t.targetObject=null;t.targetOrganisation=n.organisation.ID;t.actions=["Create"];t.objectTypes=["User Mailbox","Shared Mailbox","Organisation"];y.GetCount(t).$promise.then(function(t){angular.copy(t,n.mailboxcount_backup);n.organisationMailboxlimit=t;y.ViewList(n.organisation).$promise.then(function(t){n.currentIsDefaultUserPolicy=t.DefaultUserPolicy;y.GetUnitTypes({Code:"OrgUnitType"}).$promise.then(function(i){n.OrganisationTypeList=i;n.organisationMailboxlimit&&((n.organisationMailboxlimit.DefaultCalendarPermission===undefined||n.organisationMailboxlimit.DefaultCalendarPermission===null)&&(n.organisationMailboxlimit.DefaultCalendarPermission="FreeOrBusy"),(n.organisationMailboxlimit.InsideOrganisationCalendarPermission===undefined||n.organisationMailboxlimit.InsideOrganisationCalendarPermission===null)&&(n.organisationMailboxlimit.InsideOrganisationCalendarPermission="FreeOrBusy"),n.organisationMailboxlimit.IsSecondaryEmailAliasEnabled===undefined&&(n.organisationMailboxlimit.IsSecondaryEmailAliasEnabled=!1),(n.organisationMailboxlimit.SecurityGroupEnabled===undefined||n.organisationMailboxlimit.SecurityGroupEnabled===null)&&(n.organisationMailboxlimit.SecurityGroupEnabled=!1),(n.organisationMailboxlimit.NonAdminTeamsCreationEnabled===undefined||n.organisationMailboxlimit.NonAdminTeamsCreationEnabled===null)&&(n.organisationMailboxlimit.NonAdminTeamsCreationEnabled=!1));(n.organisationMobilePolicy.MobilePolicy===undefined||n.organisationMobilePolicy.MobilePolicy===null)&&(n.organisationMobilePolicy.MobilePolicy="NHS Corporate (Managed)");(n.organisationOutlookAccess.OutlookAccessDisabled===undefined||n.organisationOutlookAccess.OutlookAccessDisabled===null)&&(n.organisationOutlookAccess.OutlookAccessDisabled=!1);n.treedata.push(h("OrganisationAddressLengthFilter")(t));n.fillParentChildRelationships(n.treedata[0]);angular.copy(n.treedata,n.backupData);t.organisationProperties!=null&&n.organisationMailboxlimit!==null&&n.organisationMailboxlimit!==undefined&&(v.getAllOrganisationProperies(t.organisationProperties),n.currentSelectedPolicyId=v.getDefaultPolicyID(),n.organisationMailboxlimit.DefaultCalendarPermission=v.isDefaultCalendarPermissionEnabled(),n.organisationMailboxlimit.InsideOrganisationCalendarPermission=v.isInsideOrganisationCalendarPermissionEnabled(),n.organisationMailboxlimit.SecurityGroupEnabled=v.isSecurityGroupEnabled(),n.organisationMailboxlimit.SkypeVoiceAndVideoSubscriptionsEnabled=v.isSkypeVoiceAndVideoSubscriptionsEnabled(),n.organisationMailboxlimit.SkypeEnabled=v.isSkypeEnabled(),n.organisationMobilePolicy.MobilePolicy=v.isMobilePolicyEnabled(),n.organisationMailboxlimit.FileTransferEnabled=v.isFileTransferEnabled(),n.organisationMailboxlimit.RecordingEnabled=v.isRecordingEnabled(),n.organisationMailboxlimit.DialInEnabled=v.isDialInEnabled(),n.organisationMailboxlimit.AVVLicenseLimit=v.getAVVLicenseLimit(),n.organisationMailboxlimit.DialInLicenseLimit=v.getDialInLicenseLimit(),n.organisationMailboxlimit.NonAdminTeamsCreationEnabled=v.isNonAdminTeamsCreationEnabled());n.organisationOutlookAccess.OutlookAccessDisabled=v.isOutlookAccessDisabled();n.currentNode=n.treedata[0];n.expandedNodes=[n.treedata[0]];n.parentOrgID=n.treedata[0].ID;n.parentOrgName=n.treedata[0].ParentOrganisation!=null||n.treedata[0].ParentOrganisation!=undefined?n.treedata[0].ParentOrganisation.Name:n.treedata[0].Name;n.parentOrgPath=n.treedata[0].Path;n.parentOrgTenantID=n.treedata[0].TenantID;n.TempShortName=n.currentNode.ShortName;n.showSelected(n.currentNode);a.contains("ORG_SHORTNAME_EDIT")&&(n.shortNameDisabled=!1);a.contains("SET_CREATION_LIMITS")&&(n.isEditCreationLimitPermitted=!0);a.contains("OU_UPDATE")&&(n.isOuUpdatePermitted=!0);a.contains("TOP_UP_ADMIN")&&(n.isMailboxSubscriptionPermitted=!1,n.isAVVLicenseLimitChangePermitted=!0,n.isDialInLimitChangePermitted=!0);!n.shortNameDisabled||n.isEditCreationLimitPermitted||n.isOuUpdatePermitted||(n.isSaveChangesDisabled=!0);n.showSelected(n.currentNode);a.contains("PODS_ADMIN")&&(n.podsType=n.currentNode.ShortName=="nhsdental"?"Dentistry":n.currentNode.ShortName=="care"?"Care":n.currentNode.ShortName=="optometry"?"Optometry":n.currentNode.Type=="PHARMACY"||n.currentNode.Type=="PHARMACY HEADQUARTER"?"Pharmacy":undefined,n.podsType!=undefined&&(n.isRequestForPharmacy=n.podsType=="Pharmacy",n.podsType=="Pharmacy"||n.podsType=="Dentistry"?k():rt()))})})})};var tt=function(){if(n.registrationDetails!=undefined)switch(n.registrationDetails.Status){case 0:n.registrationDetails.Status="Not Registered";break;case 1:n.registrationDetails.Status=n.isRequestForPharmacy?"Requires Approval":"No Minimum Data";break;case 2:n.registrationDetails.Status=n.isRequestForPharmacy?"Approved":"OTC Generated";break;case 3:n.registrationDetails.Status="Provisioned";break;case 4:n.registrationDetails.Status="Bulk/Manual";break;case 5:n.registrationDetails.Status="Provisioning";break;default:n.registrationDetails.Status="Undefined"}},it=function(){if(n.registrationDetails!=undefined)switch(n.registrationDetails.Type){case 0:n.registrationDetails.Type="Single";break;case 1:n.registrationDetails.Type="Multiple";break;default:n.registrationDetails.Type="Single"}},k=function(t){var i=t!=undefined?t:n.currentNode.ODSCode;y.GetPODSRegistration({ODSCode:i,isRequestForPharmacy:n.isRequestForPharmacy}).$promise.then(function(t){t!=undefined&&t.Attempts!=undefined?(n.registrationDetails=t,n.isActivated=n.registrationDetails.Status!=1,n.enableResetAttemptButton=n.registrationDetails.Status==3?!0:n.registrationDetails.Attempts<=0,tt(),it()):n.podsType=undefined})},rt=function(){y.getAllSites({ODSCode:n.currentNode.ODSCode}).$promise.then(function(t){t!=undefined&&(n.Sites=t);n.podsType=n.Sites.length>0?n.podsType:undefined})};n.SelectedSite=function(n){n!=undefined&&n!=null&&k(n)};n.ResetRegistrationAttempt=function(){y.ResetRegistrationAttempt({registrationId:n.registrationDetails.Id,isRequestForPharmacy:n.isRequestForPharmacy}).$promise.then(function(n){n!=undefined?k():w.error("Reset counter update Failed.")})};n.PharmacyResendActivationEmail=function(){y.PharmacyResendActivationEmail({registrationId:n.registrationDetails.Id}).$promise.then(function(n){n!=undefined?(w.success("Resend approval email successfully."),k()):w.error("Failed resend pharmacy activation email.")})};n.modalMarkupLoaded();n.$watch("currentNode.Name",function(n,t){t!=n&&n.$valid});n.viewOrganisationCancelClick=function(){window.history.back()};n.selectOrganisationType=function(){n.currentNode.Type=n.currentNode.TypeList.Code};n.isNodeChangeDenied=function(){if(angular.isDefined(angular.element("#addOrganisation_form").scope())&&n.currentNode!=""&&angular.element("#addOrganisation_form").scope().addOrganisation_form.$invalid&&n.currentNode.Status.Status!="Delete")return!0};d=function(){var t=n.$watchCollection("currentNode",function(i,r){if(!angular.equals(i,r)){var u={};i.ID==r.ID&&i!=""&&(i.Status.Status=="Active"||i.Status.Status=="Pending")&&(r.Status.Status=="Active"||i.Status.Status=="Pending")&&(i.Status.Status=="Active"||i.Status.Status=="Pending"?(angular.copy(n.currentNode,u),u.Status.Status="Edit",angular.copy(u,n.currentNode),t(),d(),n.showSelected(n.currentNode),i.ID!=n.treedata[0].ID&&(n.isOuChanged=!0)):i.Status.Status=="Create"&&(n.currentNode.ShortName=n.treedata[0].ShortName,t(),d()))}})};d();n.viewOrganisationSubmitClick=function(){var r=l.defer(),h=r.promise,u=l.defer(),c=u.promise,f=l.defer(),v=f.promise,e=l.defer(),p=e.promise,w=l.defer(),k=w.promise,i=[],o,s;if(($("#viewOrganisation_formResult").removeClass("alert-success alert-danger").html(""),!angular.element("#addOrganisation_form").scope().addOrganisation_form.$invalid)&&(!angular.isDefined(angular.element("#organisationDescription_form").scope())||!angular.element("#organisationDescription_form").scope().organisationDescription_form.$invalid)&&(!angular.isDefined(angular.element("#OrganisationMailboxLimit_form").scope())||!angular.element("#OrganisationMailboxLimit_form").scope().OrganisationMailboxLimit_form.$invalid&&!n.AVVLicenseLimitExceedError&&!n.DialInLicenseLimitExceedError)){if(n.country=="England"&&(n.currentIsDefaultUserPolicy==""||n.currentIsDefaultUserPolicy=="undefined")){n.isDefaultPolicy=!0;return}n.editOrgFuncCall=function(){a.contains("OU_UPDATE")&&(i.push(c),y.Edit(n.treedata[0]).$promise.then(function(){u.resolve()}))};n.isShortNameChanged&&a.contains("ORG_SHORTNAME_EDIT")?(i.push(h),n.updateShortNameRequest={OrganisationID:n.treedata[0].ID,ShortName:n.treedata[0].ShortName},y.UpdateShortName(n.updateShortNameRequest).$promise.then(function(){r.resolve();n.isOuChanged&&n.editOrgFuncCall()})):n.editOrgFuncCall();o={OrganisationID:n.treedata[0].ID,PropertiesDetails:[{PropertyKey:"DefaultPolicy",PropertyValue:b(n.currentSelectedPolicyId,"00000000-0000-0000-0000-000000000000")},{PropertyKey:"SecurityGroupEnabled",PropertyValue:b(n.organisationMailboxlimit.SecurityGroupEnabled,!1)},{PropertyKey:"DefaultCalendarPermission",PropertyValue:b(n.organisationMailboxlimit.DefaultCalendarPermission,"FreeOrBusy")},{PropertyKey:"InsideOrganisationCalendarPermission",PropertyValue:b(n.organisationMailboxlimit.InsideOrganisationCalendarPermission,"FreeOrBusy")},{PropertyKey:"SkypeEnabled",PropertyValue:b(n.organisationMailboxlimit.SkypeEnabled,!0)},{PropertyKey:"MobilePolicy",PropertyValue:b(n.organisationMobilePolicy.MobilePolicy,"NHS Corporate (Managed)")},{PropertyKey:"OutlookAccessDisabled",PropertyValue:b(n.organisationOutlookAccess.OutlookAccessDisabled,!1)},{PropertyKey:"FileTransferEnabled",PropertyValue:b(n.organisationMailboxlimit.FileTransferEnabled,!1)},{PropertyKey:"SkypeVoiceAndVideoSubscriptionsEnabled",PropertyValue:b(n.organisationMailboxlimit.SkypeVoiceAndVideoSubscriptionsEnabled,!1)},{PropertyKey:"RecordingEnabled",PropertyValue:b(n.organisationMailboxlimit.RecordingEnabled,!1)},{PropertyKey:"DialInEnabled",PropertyValue:b(n.organisationMailboxlimit.DialInEnabled,!1)},{PropertyKey:"AVVLicenseLimit",PropertyValue:b(n.organisationMailboxlimit.AVVLicenseLimit,"0")},{PropertyKey:"DialInLicenseLimit",PropertyValue:b(n.organisationMailboxlimit.DialInLicenseLimit,"0")},{PropertyKey:"SkypeVoiceAndVideoConsumedLicenses",PropertyValue:b(n.organisationMailboxlimit.SkypeVoiceAndVideoConsumedLicenses,"0")},{PropertyKey:"SkypeDialInConsumedLicenses",PropertyValue:b(n.organisationMailboxlimit.SkypeDialInConsumedLicenses,"0")},{PropertyKey:"NonAdminTeamsCreationEnabled",PropertyValue:b(n.organisationMailboxlimit.NonAdminTeamsCreationEnabled,!1)}]};a.contains("ORG_SHORTNAME_EDIT")?(i.push(p),y.UpdateOrganisationSettings(o).$promise.then(function(){e.resolve()})):t.path("/OrganisationLists");!angular.equals(n.organisationMailboxlimit,n.mailboxCount_backup)&&a.contains("SET_CREATION_LIMITS")&&(i.push(v),s={OrganisationId:n.organisation.ID,MailBoxLimit:n.organisationMailboxlimit.IsDefaultMailBoxLimit?null:n.organisationMailboxlimit.MailBoxLimit,DefaultMailBoxLimit:n.organisationMailboxlimit.IsDefaultMailBoxLimit},y.UpdateMailboxLimit(s).$promise.then(function(){f.resolve()}));l.all(i).then(function(){t.path("/OrganisationLists")},function(){})}};n.orgShortnameChanged=function(){n.isShortNameChanged=!0};a.contains("ORGANISATION_SET_POLICIES")&&(n.isUserNotGlobalOrTenantAdmin=!1);n.AVVLicenseLimitExceedError=!1;n.DialInLicenseLimitExceedError=!1;n.onSelectDefaultPolicy=function(){n.isUserPolicyVisible=!0;n.isOrgPageVisible=!1;var t=n.$on("UserPolicyPickerSelectionDone",function(){n.currentIsDefaultUserPolicy=n.selectedPolicy;n.currentSelectedPolicyId=n.selectedPolicyId;t();n.isOrgPageVisible=!0;n.isUserPolicyVisible=!1})};n.$on("UserPolicyPickerSelectionCancelled",function(){n.isOrgPageVisible=!0;n.isUserPolicyVisible=!1})}]);userAdminAppControllersModule.controller("UserAdminUploadOrganisationsBulkEditController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","$rootScope","FileUploader","Config","blockUI",function(n,t,i,r,u,f,e,o,s,h){function y(){n.showValidationResults=!1;n.showCreateResults=!1;n.showResultsSuccessCount=!0;n.uploadedFile="";n.totalRecordCount=0;n.validRecordCount=0;n.detailList=[];n.createMessage=""}function p(){n.fileErrors={fileTooBig:!1,wrongExtension:!1}}var v;n.selectedFile="";n.csvLink="Content/Sample Files/BulkUploadOrganisationSample.csv";var c="admin/organisations/bulk/upload/validate",w="admin/organisations/bulk/upload",l=s.ErrorLimit,a={};y();p();n.uploader=new o({url:baseUrlValue+c,headers:{Authorization:"Bearer "+sessionStorage.getItem("JWToken")},removeAfterUpload:!0});n.uploader.onAfterAddingFile=function(t){n.selectedFile=t.file.name;y();p()};n.uploader.onBeforeUploadItem=function(){h.start()};n.uploader.onCompleteAll=function(){h.stop();document.getElementById("csvUploaderControl").value=""};n.uploader.onSuccessItem=function(t,i){i&&(i.NumberOfRecords!=undefined?(n.uploadedFile=t.file.name,n.totalRecordCount=i.NumberOfRecords,n.validRecordCount=i.NumberOfValidRecords,n.showValidationResults=!0,a=t):(n.createMessage="Bulk upload request started",n.showCreateResults=!0))};n.createDisabled=function(){return n.totalRecordCount==0||n.totalRecordCount!=n.validRecordCount};n.uploader.onErrorItem=function(t,i){var r;if(n.uploadedFile=t.file.name,i.NumberOfRecords!=undefined){if(i.NumberOfRecords)for(n.totalRecordCount=i.NumberOfRecords,n.validRecordCount=i.NumberOfValidRecords,r=0;r<i.Errors.length;r++){if(r>l){n.detailList.push("error list limited to first "+l);break}n.detailList.push(i.Errors[r].Detail)}else n.showResultsSuccessCount=!1,i.Errors&&i.Errors.length>0?n.detailList.push(i.Errors[0].Message+": "+i.Errors[0].Detail):n.detailList.push("Failed to parse file");n.showValidationResults=!0}else{if(n.createmessage="bulk update request failed",i.errors)for(r=0;r<i.errors.length;r++){if(r>showerrorlimit){n.detaillist.push("error list limited to first "+showerrorlimit);break}n.detaillist.push(i.errors[r].detail)}n.showcreateresults=!0}};v=4194304;n.validateUpload=function(){var t=n.uploader.queue[0].file;if(t.size>v){n.fileErrors.fileTooBig=!0;n.uploader.clearQueue();return}if(t.name.split(".").pop()!="csv"){n.fileErrors.wrongExtension=!0;n.uploader.clearQueue();return}n.uploader.queue[0].url=baseUrlValue+c;n.uploader.uploadAll()};n.createUpload=function(){n.uploader.url=baseUrlValue+w;n.uploader.addToQueue(a._file);n.uploader.uploadAll()};n.cancelClick=function(){window.history.back()}}]),function(){userAdminAppServicesModule.factory("OrganisationListAPI",["$resource","Config","growl",function(n,t,i){function r(n){var r="Request failed";angular.isDefined(n.data.Errors)&&n.data.Errors.length>0?n.data.Errors[0].Code===51?$location.path("/AccessDenied"):(r+=": "+n.data.Errors[0].Message,r+=". "+n.data.Errors[0].Detail):angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");i.error(r,{ttl:t.Growl_TimeToLeave})}return n(baseUrlValue,{},{GetTypeList:{method:"POST",url:baseUrlValue+"GetOrganisationTypeList",isArray:!0,interceptor:{responseError:r},timeout:t.XhrTimeout},GetList:{method:"POST",url:baseUrlValue+"GetOrganisationList",isArray:!0,interceptor:{responseError:r},timeout:t.XhrTimeout},ViewList:{method:"POST",url:baseUrlValue+"ViewOrganisation",interceptor:{responseError:r},timeout:t.XhrTimeout},GetUnitTypes:{method:"POST",url:baseUrlValue+"GetLookupValues",isArray:!0,interceptor:{responseError:r},timeout:t.XhrTimeout},GetCount:{method:"GET",url:baseUrlValue+"admin/audit/mailboxcount",interceptor:{responseError:r},timeout:t.XhrTimeout},Edit:{method:"POST",url:baseUrlValue+"EditOrganisation",interceptor:{responseError:r},timeout:t.XhrTimeout},UpdateShortName:{method:"PUT",url:baseUrlValue+"admin/UpdateShortNameorganisations",interceptor:{responseError:r},timeout:t.XhrTimeout},UpdateMailboxLimit:{method:"POST",url:baseUrlValue+"UpdateOrganisationMailBoxLimit/",interceptor:{responseError:r},timeout:t.XhrTimeout},UpdateOrganisationSettings:{method:"PUT",url:baseUrlValue+"admin/EditOrganisationProperties",interceptor:{responseError:r},timeout:t.XhrTimeout},GetPODSRegistration:{method:"POST",params:{ODSCode:"@ODSCode",isRequestForPharmacy:"@isRequestForPharmacy"},url:baseUrlValue+"admin/registration",interceptor:{responseError:r},timeout:t.XhrTimeout},ResetRegistrationAttempt:{method:"POST",params:{registrationId:"@registrationId",isRequestForPharmacy:"@isRequestForPharmacy"},url:baseUrlValue+"admin/registration/attempt/reset",interceptor:{responseError:r},timeout:t.XhrTimeout},getAllSites:{method:"POST",params:{ODSCode:"@ODSCode"},isArray:!0,url:baseUrlValue+"admin/registration/site",interceptor:{responseError:r},timeout:t.XhrTimeout},PharmacyResendActivationEmail:{method:"POST",params:{registrationId:"@registrationId"},url:baseUrlValue+"admin/registration/resend/activation/email",interceptor:{responseError:r},timeout:t.XhrTimeout}})}])}();userAdminAppServicesModule.factory("OrganisationListColumns",function(){return function(){return[{title:"Name",key:"Name"},{title:"Type",key:"Type"},{title:"Status",key:"Status"},{title:"ODS Code",key:"ODSCode"},{title:"Country",key:"Country"},{title:"Short Name",key:"ShortName"},{title:"Parent Organisation",key:"ParentOrganisation"},{title:"Address",key:"Address"},{title:"Postcode",key:"PostCode"},{title:"Telephone",key:"Telephone"},{title:"Fax",key:"Fax"},{title:"Website",key:"Website"},{title:"SecondaryEmailAliasEnabled",key:"IsSecondaryEmailAliasEnabled"}]}});userAdminAppServicesModule.factory("OrganisationListSearchParams",function(){return function(){return{Name:"",ShortName:"",ODSCode:"",Type:"",ParentOrganisation:"",Status:"",Country:"",Address:"",PostCode:"",Telephone:"",Fax:"",Website:""}}});userAdminAppServicesModule.factory("OrganisationListVisibleColumns",function(){return function(){this.Name=!0;this.Type=!0;this.Status=!0;this.ODSCode=!0;this.Country=!0;this.ShortName=!1;this.ParentOrganisation=!1;this.Address=!1;this.PostCode=!1;this.Telephone=!1;this.Fax=!1;this.Website=!1;this.IsSecondaryEmailAliasEnabled=!1}}),function(){userAdminAppServicesModule.factory("OrganisationPropertiesHelper",[function(){var n=!1,t=!1,i=!1,r=!1,u=!1,f=!0,e=!1,o=!1,s=!1,h=!1,c=!1,l="",a="",v="";return{getAllOrganisationProperies:function(y){for(var w=y.PropertiesDetails,p=0;p<w.length;p++)w[p].PropertyKey==="DefaultPolicy"&&(v=w[p].PropertyValue),w[p].PropertyKey==="DefaultCalendarPermission"&&(n=w[p].PropertyValue),w[p].PropertyKey==="InsideOrganisationCalendarPermission"&&(t=w[p].PropertyValue),w[p].PropertyKey==="SecurityGroupEnabled"&&(i=JSON.parse(w[p].PropertyValue)),w[p].PropertyKey==="SkypeVoiceAndVideoSubscriptionsEnabled"&&(r=JSON.parse(w[p].PropertyValue)),w[p].PropertyKey==="SkypeEnabled"&&(f=JSON.parse(w[p].PropertyValue)),w[p].PropertyKey==="MobilePolicy"&&(u=w[p].PropertyValue),w[p].PropertyKey==="OutlookAccessDisabled"&&(e=JSON.parse(w[p].PropertyValue)),w[p].PropertyKey==="FileTransferEnabled"&&(o=JSON.parse(w[p].PropertyValue)),w[p].PropertyKey==="RecordingEnabled"&&(s=JSON.parse(w[p].PropertyValue)),w[p].PropertyKey==="DialInEnabled"&&(h=JSON.parse(w[p].PropertyValue)),w[p].PropertyKey==="AVVLicenseLimit"&&(l=JSON.parse(w[p].PropertyValue)),w[p].PropertyKey==="DialInLicenseLimit"&&(a=JSON.parse(w[p].PropertyValue)),w[p].PropertyKey==="NonAdminTeamsCreationEnabled"&&(c=JSON.parse(w[p].PropertyValue))},isDefaultCalendarPermissionEnabled:function(){return n===undefined?!1:n},isInsideOrganisationCalendarPermissionEnabled:function(){return t===undefined?!1:t},isSecurityGroupEnabled:function(){return i===undefined?!1:i},isSkypeVoiceAndVideoSubscriptionsEnabled:function(){return r===undefined?!1:r},isSkypeEnabled:function(){return f===undefined?!0:f},isMobilePolicyEnabled:function(){return u===undefined?!1:u},isOutlookAccessDisabled:function(){return e===undefined?!1:e},isFileTransferEnabled:function(){return o===undefined?!1:o},isRecordingEnabled:function(){return s===undefined?!1:s},isDialInEnabled:function(){return h===undefined?!1:h},isNonAdminTeamsCreationEnabled:function(){return c===undefined?!1:c},getAVVLicenseLimit:function(){return l===undefined?"0":l},getDialInLicenseLimit:function(){return a===undefined?"0":a},getDefaultPolicyID:function(){return v===undefined?"00000000-0000-0000-0000-000000000000":v}}}])}();userAdminAppControllersModule.controller("SiteListController",["$scope","$modal","$http","$location","$sessionStorage","SiteListVisibleColumns","SiteListColumns","SiteListSearchParams","$window","$filter","SiteAPI","HttpParamSerializerPolyfillService",function(n,t,i,r,u,f,e,o,s,h,c,l){var a;n.animationsEnabled=!1;a="";n.isSiteListProcessingError=!1;n.ListParams={};n.ParentOrg={};n.isSiteListEmpty=!1;n.siteListItems="";n.disableExportButton=!1;n.Type=[];n.openColumnPicker=function(){var i=n.siteListColumnsVisible,r=t.open({animation:n.animationsEnabled,templateUrl:"./Angular/Apps/UserAdmin/Common/Views/ListUsersColumnPicker.html",controller:"ListUsersColumnPicker",size:"lg",resolve:{items:function(){return n.siteListColumnsVisible},names:function(){return n.siteListColumns}}});r.result.then(function(){u.NHSmailSiteListColumns=n.siteListColumnsVisible},function(){n.siteListColumnsVisible=i})};n.siteListColumnsVisible=u.NHSmailSiteListColumns;n.siteListColumnsVisible||(n.siteListColumnsVisible=new f);n.siteListColumns=new e;c.GetTypeList().$promise.then(function(t){n.Type=t});var v="",y=function(n,t){angular.isUndefined(u.siteListSearchParams)&&(u.siteListSearchParams={});t!=v&&(u.siteListSearchParams={});u.siteListSearchParams=n;u.siteListSearchParams.simpleOrAdvanced=t},p=function(){if(a=="advanced"&&n.SiteListAdvancedSearchParams!=[]){var t={};angular.copy(n.SiteListAdvancedSearchParams,t);y(t,"advanced");t={}}u.siteListSearchResults=n.siteListItems},w=function(){if(angular.isUndefined(u.siteListSearchResults)&&(u.siteListSearchResults={}),Object.keys(u.siteListSearchResults).length!=0&&(n.showEmptyTable=!0,n.siteListItems=u.siteListSearchResults,u.siteListSearchParams.simpleOrAdvanced=="advanced")){var t={};angular.copy(u.siteListSearchParams,t);n.SiteListAdvancedSearchParams=t;n.SiteListAdvancedSearchParams.SiteType!=[]&&(n.Type[0]=n.SiteListAdvancedSearchParams.SiteType);t={}}};n.modalMarkupLoaded=function(){w();n.siteListItems.length!=0&&(n.disableExportButton=!0)};n.modalMarkupLoaded();n.callAPI=function(t,i){i&&(t.matchAny=!0);clearInterval(n.myInterval);n.isSiteListProcessingError=!1;n.ListParams.FilterParams=t;n.ListParams.MatchAny=i;c.GetSitesList(n.ListParams).$promise.then(function(t){t!==undefined&&(n.siteListItems=h("orderObjectBy")(t,"Name"),n.siteListItems.length==0?(n.isSiteListEmpty=!0,n.disableExportButton=!1):(n.isSiteListEmpty=!1,n.disableExportButton=!0),p(),n.currentInputFocus&&setTimeout(function(){n.currentInputFocus.element.focus()},500))})};n.ExportSitesDetails=function(){var t=n.SiteListAdvancedSearchParams;s.location.href="ExportCSV/ExportSites?"+l.serialize(t)};n.displayedTable=[].concat(n.siteListItems);n.SiteListAdvancedSearchParams||(n.SiteListAdvancedSearchParams=o());n.advancedSearch=function(){n.SiteListAdvancedSearchParams.Organisation&&(n.ParentOrg.Name=n.SiteListAdvancedSearchParams.Organisation.Name,n.SiteListAdvancedSearchParams.Organisation.Name=n.ParentOrg.Name);a="advanced";n.callAPI(n.SiteListAdvancedSearchParams,!1)};n.showOrHideDefaultView=function(){n.showEmptyTable=!0;n.advancedSearch()};n.searchUserOnEnterAdvanced=function(t){check=!1;t.which===13&&n.showOrHideDefaultView()};n.dropDownBasedSearch=function(){check=!1;n.showOrHideDefaultView()};n.renderValuesToDisplaySiteData=function(n,t,i){return i=="Organisation"&&angular.isDefined(n)?n.Name:n};n.viewSiteDetails=function(n){r.url("/Sites/SiteView/"+n.ID)}}]);userAdminAppControllersModule.controller("ViewSiteDetailsController",["$scope","$http","growl","$routeParams","SiteAPI",function(n,t,i,r,u){n.siteDetails={};n.elemDisabled=!0;n.Type="SITE";n.modalMarkupLoaded=function(){n.viewSiteListParams={};n.viewSiteListParams.ID=r.ID;u.ViewSiteList({id:n.viewSiteListParams.ID}).$promise.then(function(t){n.siteDetails=t})};n.modalMarkupLoaded();n.siteDetailsCancelClick=function(){window.history.back()}}]),function(){userAdminAppServicesModule.factory("SiteAPI",["$resource","Config","growl",function(n,t,i){function r(n){var r="Request failed";angular.isDefined(n.data.Errors)&&n.data.Errors.length>0?n.data.Errors[0].Code===51?$location.path("/AccessDenied"):(r+=": "+n.data.Errors[0].Message,r+=". "+n.data.Errors[0].Detail):angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");i.error(r,{ttl:t.Growl_TimeToLeave})}return n(baseUrlValue,{},{GetSitesList:{method:"POST",url:baseUrlValue+"GetSiteList",isArray:!0,interceptor:{responseError:r},timeout:t.XhrTimeout},ViewSiteList:{method:"GET",params:{id:"@id"},url:baseUrlValue+"sites/:id",interceptor:{responseError:r},timeout:t.XhrTimeout},GetTypeList:{method:"GET",url:baseUrlValue+"GetSiteTypeList",isArray:!0,interceptor:{responseError:r},timeout:t.XhrTimeout}})}])}();userAdminAppServicesModule.factory("SiteListColumns",function(){return function(){return[{title:"Name",key:"Name"},{title:"Type",key:"SiteType"},{title:"Status",key:"SiteStatus"},{title:"ODS Code",key:"ODSCode"},{title:"Country",key:"Country"},{title:"Parent Organisation",key:"Organisation"},{title:"Address",key:"Address"},{title:"Postcode",key:"PostCode"},{title:"Telephone",key:"TelePhone"},{title:"Fax",key:"Fax"},{title:"Website",key:"Website"}]}});userAdminAppServicesModule.factory("SiteListSearchParams",function(){return function(){return{Name:"",SiteType:"",SiteStatus:"",ODSCode:"",Country:"",Organisation:"",Address:"",PostCode:"",TelePhone:"",Fax:"",Website:""}}});userAdminAppServicesModule.factory("SiteListVisibleColumns",function(){return function(){this.Name=!0;this.SiteType=!0;this.SiteStatus=!0;this.ODSCode=!0;this.Country=!0;this.Organisation=!1;this.Address=!1;this.PostCode=!1;this.TelePhone=!1;this.Fax=!1;this.Website=!1}});userAdminAppControllersModule.controller("UserAdminAuditController",["$scope","$location","$modal","$http","$filter","$sessionStorage","GlobalDataService","$timeout","AuditListVisibleColumns","AuditListColumns","$rootScope","HttpParamSerializerPolyfillService","growl","$window","PermissionChecker",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y){var nt,p,k,tt,w,it;moment.locale("en");n.auditListItems="";n.itemsOnPage="10";n.searchRequested=!1;var d=[],g=[];f.targetOrganisationName="";nt="";n.formParams={userPerformingAction:"",targetObject:"",SelectedOrganisation:undefined,selectedObjTypes:[],selectedActions:[],StartDate:undefined,StartDate_copy:undefined,EndDate:undefined,EndDate_copy:undefined};n.ListOfOrganisations_backup={};n.isStartDateInValid=!1;n.isEndDateInValid=!1;n.isEndDateAfterStartDate=!0;n.formParams.SelectedOrganisation={};n.isRequestfromAuditPage=!1;n.isATPAuditUser=!y.contains("ATP_AUDIT_READ");n.isAtpUser=!1;y.contains("ATP_USER")&&(n.isAtpUser=!0);n.selectActions=[{id:1,label:"Create"},{id:2,label:"Update"},{id:3,label:"Delete"},{id:4,label:"Other"}];n.selectObjTypes=[];y.contains("AUDIT_READ")&&(n.selectObjTypes=[{id:1,label:"User Mailbox"},{id:2,label:"Shared Mailbox"},{id:3,label:"Distribution List"},{id:4,label:"Contact"},{id:5,label:"Organisation"},{id:6,label:"User Policy"},{id:7,label:"Project Web App"},{id:8,label:"SharePoint"},{id:9,label:"Teams"},{id:10,label:"Resource Mailbox"},{id:11,label:"O365 Group"},{id:12,label:"Yammer"},{id:13,label:"Booking Calendar"}]);y.contains("ATP_AUDIT_READ")&&(p=n.selectObjTypes.length,n.selectObjTypes.push({id:++p,label:"ATP Group"},{id:++p,label:"ATP Request"},{id:++p,label:"ATP Report"}));y.contains("AUDIT_READ")&&y.contains("GUEST_ATTESTATION_VIEW")&&(p=n.selectObjTypes.length,n.selectObjTypes.push({id:++p,label:"Azure AD External Organisations"},{id:++p,label:"Azure AD Federated Groups"}));y.contains("GUEST_ATTESTATION_VIEW")&&(k=n.selectObjTypes.length,n.selectObjTypes.push({id:++k,label:"Azure AD Guest Inviter Group"},{id:++k,label:"Azure AD Guest Users"}));FilterParameters={};var b=/^(?=\d)(?:(?!(?:(?:0?[5-9]|1[0-4])(?:\.|-|\/)10(?:\.|-|\/)(?:1582))|(?:(?:0?[3-9]|1[0-3])(?:\.|-|\/)0?9(?:\.|-|\/)(?:1752)))(31(?!(?:\.|-|\/)(?:0?[2469]|11))|30(?!(?:\.|-|\/)0?2)|(?:29(?:(?!(?:\.|-|\/)0?2(?:\.|-|\/))|(?=\D0?2\D(?:(?!000[04]|(?:(?:1[^0-6]|[2468][^048]|[3579][^26])00))(?:(?:(?:\d\d)(?:[02468][048]|[13579][26])(?!\x20BC))|(?:00(?:42|3[0369]|2[147]|1[258]|09)\x20BC))))))|2[0-8]|1\d|0?[1-9])([-.\/])(1[012]|(?:0?[1-9]))\2((?=(?:00(?:4[0-5]|[0-3]?\d)\x20BC)|(?:\d{4}(?:$|(?=\x20\d)\x20)))\d{4}(?:\x20BC)?)(?:$|(?=\x20\d)\x20))?((?:(?:0?[1-9]|1[012])(?::[0-5]\d){0,2}(?:\x20[aApP][mM]))|(?:[01]\d|2[0-3])(?::[0-5]\d){1,2})$/,rt=function(n){angular.isUndefined(f.NHSmailauditSearchParams)&&(f.NHSmailauditSearchParams={});n!=nt&&(f.orgListSearchParams={});f.NHSmailauditSearchParams=n},ut=function(){var t,i;n.formParams!=[]&&(t={},angular.copy(n.formParams,t),rt(t),t={});i=n.ListOfOrganisations;f.NHSmailauditSearchResults=n.auditListItems;f.NHSorganisationData=i},ft=function(){f.NHSmailauditSearchParams==undefined&&(f.NHSmailauditSearchParams={});f.NHSmailauditSearchResults==undefined&&(f.NHSmailauditSearchResults={});d=f.NHSmailauditSearchParams==undefined?{}:f.NHSmailauditSearchParams;g=f.NHSmailauditSearchResults==undefined?{}:f.NHSmailauditSearchResults;f.NHSorganisationData==undefined&&(f.NHSorganisationData={})};ft();tt=function(){if(angular.isUndefined(f.NHSmailauditSearchResults)&&(f.NHSmailauditSearchResults={}),Object.keys(f.NHSmailauditSearchResults).length!=0){if(n.searchRequested=!0,n.auditListItems=f.NHSmailauditSearchResults,n.displayedTable=[].concat(n.auditListItems),n.ListOfOrganisations=f.NHSorganisationData,n.isRequestfromAuditPage=!0,Object.keys(f.NHSmailauditSearchResults).length!=0){var t={};angular.copy(f.NHSmailauditSearchParams,t);n.formParams=t;t={}}}else n.isRequestfromAuditPage=!1;(f.NHSmailauditSearchResults!=null||f.NHSmailauditSearchResults!=undefined)&&Object.keys(f.NHSmailauditSearchResults).length!=0&&(n.ListOfOrganisations_backup=f.NHSorganisationData,n.formParams.SelectedOrganisation.Name=f.NHSorganisationData.selected,n.renderValuesToDisplayAuditData(f.NHSmailauditSearchResults[0].TargetOrganisation,"TargetOrganisation"))};n.auditListColumnsVisible=new s;n.auditListColumns=new h;w=function(n){for(var i=[],t=0;t<n.length;++t)i.push(n[t].label);return i};n.renderValuesToDisplayAuditData=function(n,t){var i="";switch(t){case"Timestamp":i=moment(n).format("DD/MM/YYYY HH:mm");break;default:i=n}return i};n.searchClick=function(){if(n.formParams.targetObject==""&&n.formParams.userPerformingAction==""&&n.formParams.SelectedOrganisation.ID==undefined){a.warning("Please select either User Performing Action or Target Object or Organisation ");return}if(n.auditSearch_form.$invalid){a.error("Please remove all errors on the page");return}FilterParameters.user=n.formParams.userPerformingAction;FilterParameters.targetObject=n.formParams.targetObject;FilterParameters.targetOrganisation=n.formParams.SelectedOrganisation.ID;FilterParameters.startDate=n.formParams.StartDate;FilterParameters.endDate=n.formParams.EndDate;FilterParameters.actions=w(n.formParams.selectedActions);FilterParameters.objectTypes=w(n.formParams.selectedObjTypes);FilterParameters.objectTypes.find&&n.ListOfOrganisations!==n.ListOfOrganisations_backup&&angular.copy(n.ListOfOrganisations,n.ListOfOrganisations_backup);n.isAtpUser&&n.formParams.selectedObjTypes.length==0&&(FilterParameters.objectTypes=w(n.selectObjTypes));it(FilterParameters)};it=function(t){var i=t;n.searchRequested=!0;r({method:"GET",url:baseUrlValue+"admin/audit/records",params:i}).success(function(t){n.auditListItems=t;ut();n.displayedTable=[].concat(n.auditListItems)}).error(function(){n.auditListItems=[];a.error("Either your search criteria has no matching results or you do not have required permissions")})};n.modalMarkupLoaded=function(){tt()};n.pick=function(t){angular.copy(t,n.formParams.SelectedOrganisation);n.ListOfOrganisations=n.formParams.SelectedOrganisation};n.modalMarkupLoaded();n.organisationChange=function(){};n.$watch("formParams.StartDate",function(t,i){t!==i&&t!=undefined&&(n.formParams.StartDate_copy=u("date")(n.formParams.StartDate,"dd-MM-yyyy HH:mm"))});n.$watch("formParams.StartDate_copy",function(t,i){t!==i&&(b.test(t)&&t.length==16?(n.formParams.StartDate=new Date(t.replace(/(\d{2})-(\d{2})-(\d{4}) (\d{2}):(\d{2})/,"$2/$1/$3 $4:$5")),n.isStartDateInValid=!1,n.invalidStartDateErrorMessage="",n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""):b.test(t)==!1&&(t==""?(n.isStartDateInValid=!1,n.invalidStartDateErrorMessage="",n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""):(n.isStartDateInValid=!0,n.invalidStartDateErrorMessage="Please  enter start date in 'DD-MM-YYYY HH:MM' format",n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""),n.formParams.StartDate=undefined))});n.$watch("formParams.EndDate",function(t,i){t!==i&&t!=undefined&&(n.formParams.EndDate_copy=u("date")(n.formParams.EndDate,"dd-MM-yyyy HH:mm"))});n.$watch("formParams.EndDate_copy",function(t,i){t!==i&&(b.test(t)&&t.length==16?(n.formParams.EndDate=new Date(t.replace(/(\d{2})-(\d{2})-(\d{4}) (\d{2}):(\d{2})/,"$2/$1/$3 $4:$5")),n.isEndDateInValid=!1,n.invalidEndDateErrorMessage="",n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""):b.test(t)==!1&&(t==""?(n.isEndDateInValid=!1,n.invalidEndDateErrorMessage="",n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""):(n.isEndDateInValid=!0,n.invalidEndDateErrorMessage="Please  enter end date in 'DD-MM-YYYY HH:MM' format",n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""),n.formParams.EndDate=undefined))});n.$watchGroup(["formParams.StartDate","formParams.EndDate"],function(t){t[0]!=undefined&&t[1]!=undefined&&(n.formParams.StartDate.getTime()>n.formParams.EndDate.getTime()?(n.isEndDateAfterStartDate=!1,n.EndDateAfterStartDateErrorMessage="End Date must be after start date"):n.formParams.StartDate.getTime()==n.formParams.EndDate.getTime()?(n.isEndDateAfterStartDate=!1,n.EndDateAfterStartDateErrorMessage="Start date and End Date can not be same"):(n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""))});n.viewAuditDetails=function(i,r){f.targetOrganisationName=r;f.NHSmailauditSearchParams=n.formParams;t.url("/Audit/viewAuditDetail/"+i)};n.ExportAuditSearch=function(){var t={};t.user=n.formParams.userPerformingAction;t.targetObject=n.formParams.targetObject;t.targetOrganisation=n.formParams.SelectedOrganisation.ID;t.startDate=n.formParams.StartDate;t.endDate=n.formParams.EndDate;t.actions=w(n.formParams.selectedActions);t.objectTypes=w(n.formParams.selectedObjTypes);t.OrganisationName=n.formParams.SelectedOrganisation.Name;n.isAtpUser&&n.formParams.selectedObjTypes.length==0&&(t.objectTypes=w(n.selectObjTypes));v.location.href="ExportCSV/ExportAudit?"+l.serialize(t)}}]);userAdminAppControllersModule.controller("UserAdminViewAuditDetailController",["$scope","$location","$routeParams","$modal","$http","$filter","$sessionStorage","GlobalDataService","$window",function(n,t,i,r,u,f,e,o,s){var h=i.ID;n.OrganisationName=e.targetOrganisationName;n.summary={};n.detail={};n.apiErrorText="";n.modalMarkupLoaded=function(){n.apiErrorText="";u({method:"GET",url:baseUrlValue+"admin/audit/records/"+h}).success(function(t){o.organisationList=t;n.summary=t.Summary;n.detail=JSON.parse(t.Detail);n.summary.Timestamp=moment(t.Summary.Timestamp).format("DD/MM/YY HH:mm")}).error(function(t,i){n.apiErrorText="Can't fetch record: API call failed, error code: "+i})};n.modalMarkupLoaded();n.renderOrganisation=function(n){if(!o.organisationList)return n;var t=f("filter")(o.organisationList,{ID:n},!0);return t.length?t[0].Name:n};n.ExportAuditDetails=function(){s.location.href="ExportCSV/ExportAuditDetails?auditID="+h}}]);userAdminAppServicesModule.factory("AuditListColumns",function(){return function(){return[{title:"Timestamp",key:"Timestamp"},{title:"User",key:"User"},{title:"Target Object",key:"TargetObject"},{title:"Target Organisation",key:"TargetOrganisation"},{title:"Target Organisation",key:"OrganisationName"},{title:"Object Type",key:"ObjectType"},{title:"Action",key:"Action"}]}});userAdminAppServicesModule.factory("AuditListVisibleColumns",function(){return function(){this.User=!0;this.TargetObject=!0;this.OrganisationName=!0;this.ObjectType=!0;this.Action=!0;this.Timestamp=!0}});userAdminAppControllersModule.controller("UserAdminReportController",["$scope","$location","$modal","$http","$timeout","$rootScope","$window","PermissionChecker",function(n,t,i,r,u,f,e,o){n.adminReports={};n.isOrganisationSelected=!1;n.SelectedOrganisation={};n.reportTypeSelected="MailboxReport";n.pick=function(t){angular.copy(t,n.SelectedOrganisation)};n.SelectedOrganisation.Name="All my organisations";n.select_org=n.SelectedOrganisation.Name;n.isATPUser=!o.contains("ATP_REPORTS_READ");n.organisationChange=function(){n.SelectedOrganisation!=null&&n.SelectedOrganisation!="undefined"&&r({method:"POST",url:baseUrlValue+"ViewOrganisation",data:n.SelectedOrganisation}).success(function(){n.isOrganisationSeleted=!0}).error(function(n){var i="Request failed, Unable to fetch organisational unit details for the user",t;if(n.Errors){for(i+="<ul>",t=0;t<n.Errors.length;t++)i+="<li>"+n.Errors[t].Message+n.Errors[t].FieldName+" "+n.Errors[t].Detail+"<\/li>";i+="<\/ul>"}else i+=" status code "+n.status;$("#adminReports_formResult").addClass("alert-danger").html(i)})};n.GenerateReport=function(i){if(i.$invalid&&angular.isDefined(i.$error.SelectedOrganisationRequired)){i.adminReportsSelectOrganisation.$setDirty();return}n.SelectedOrganisation.Name=="All my organisations"&&(n.SelectedOrganisation.ID="ALL");n.reportTypeSelected=="ATPGroupManagementReport"||n.reportTypeSelected=="ATPUserMembershipReport"?o.contains("ATP_REPORTS_READ")?e.location.href="ExportCSV/ExportListBasedOnOrganisation?OrganisationID="+n.SelectedOrganisation.ID+"&type="+n.reportTypeSelected:t.path("/AccessDenied"):n.reportTypeSelected=="Office365LicenceAllocationReport"?o.contains("O365_LICENCE_REPORTING")?e.location.href="ExportCSV/ExportListBasedOnOrganisation?OrganisationID="+n.SelectedOrganisation.ID+"&type="+n.reportTypeSelected:t.path("/AccessDenied"):n.reportTypeSelected=="OneDriveUserConsumptionReport"?o.contains("O365_LICENCE_REPORTING")?e.location.href="ExportCSV/ExportListBasedOnOrganisation?OrganisationID="+n.SelectedOrganisation.ID+"&type="+n.reportTypeSelected:t.path("/AccessDenied"):n.reportTypeSelected=="TeamsUserActivityReport"?o.contains("O365_LICENCE_REPORTING")?e.location.href="ExportCSV/ExportListBasedOnOrganisation?OrganisationID="+n.SelectedOrganisation.ID+"&type="+n.reportTypeSelected:t.path("/AccessDenied"):n.reportTypeSelected=="SharepointSiteUsageDetailReport"?o.contains("O365_LICENCE_REPORTING")?e.location.href="ExportCSV/ExportListBasedOnOrganisation?OrganisationID="+n.SelectedOrganisation.ID+"&type="+n.reportTypeSelected:t.path("/AccessDenied"):n.reportTypeSelected=="TeamsUsageReport"?o.contains("O365_LICENCE_REPORTING")?e.location.href="ExportCSV/ExportListBasedOnOrganisation?OrganisationID="+n.SelectedOrganisation.ID+"&type="+n.reportTypeSelected:t.path("/AccessDenied"):n.reportTypeSelected=="O365NationalLicenceReport"?o.contains("O365_NATIONAL_LICENCE_REPORT")?e.location.href="ExportCSV/ExportListBasedOnOrganisation?OrganisationID="+n.SelectedOrganisation.ID+"&type="+n.reportTypeSelected:t.path("/AccessDenied"):n.reportTypeSelected=="O365LicenseReport"?o.contains("O365_LICENCE_REPORTING")?e.location.href="ExportCSV/ExportListBasedOnOrganisation?OrganisationID="+n.SelectedOrganisation.ID+"&type="+n.reportTypeSelected:t.path("/AccessDenied"):n.reportTypeSelected=="AzureADWhitelistedExternalOrganisationsReport"?o.contains("GUEST_EXT_ORG_REPORT")?e.location.href="ExportCSV/ExportListBasedOnOrganisation?OrganisationID="+n.SelectedOrganisation.ID+"&type="+n.reportTypeSelected:t.path("/AccessDenied"):n.reportTypeSelected=="AzureADGuestAccessReport"?o.contains("GUEST_INVITER_REPORT")?e.location.href="ExportCSV/ExportListBasedOnOrganisation?OrganisationID="+n.SelectedOrganisation.ID+"&type="+n.reportTypeSelected:t.path("/AccessDenied"):n.reportTypeSelected=="AzureADExternalFederatedGroupsReport"?o.contains("GUEST_EXT_FED_REPORT")?e.location.href="ExportCSV/ExportListBasedOnOrganisation?OrganisationID="+n.SelectedOrganisation.ID+"&type="+n.reportTypeSelected:t.path("/AccessDenied"):o.contains("REPORTS")?e.location.href="ExportCSV/ExportListBasedOnOrganisation?OrganisationID="+n.SelectedOrganisation.ID+"&type="+n.reportTypeSelected:t.path("/AccessDenied")}}]);userAdminStatisticsModule.controller("UserAdminStatisticsController",["$scope",function(n){var t,i,r;n.adminReports={};n.isOrganisationSelected=!1;n.SelectedOrganisation={};n.reportTypeSelected="DashboardReport";n.pick=function(t){angular.copy(t,n.SelectedOrganisation)};n.showOrganisationChart=!0;n.visibleOnlyForWideReport=!0;n.myColors=["#339947","#009ccc","#fbbc3d","#a8ce4b","#f06673","#8bd4ea","#803690","#00ADF9","#DCDCDC","#46BFBD","#FDB45C","#949FB1","#4D5360"];n.blackColor="#000000";t=[];n.CombinedResult=[];i=[];r=[];n.GetStatistics=function(e){var s,l,h,a,o,c;if(n.SelectedOrganisation.Name=="All my organisations"?(n.visibleOnlyForWideReport=!1,n.showOrganisationChart=!0):(n.showOrganisationChart=!1,n.visibleOnlyForWideReport=!0),n.showOrganisationChart){if(!n.visibleOnlyForWideReport){u(e[0].TotalSDLsForFirst10Organisation);n.labels7=r;n.manuData7=i;n.data7=t;u(e[0].TotalDDLsForFirst10Organisation);n.manuData9=i;n.data9=t;f();u(e[0].TotalSMsForFirst10Organisation);n.labels8=r;n.manuData8=i;n.data8=t;u(e[0].TotalActiveUsersForFirst10Organisation);n.labels10=r;n.manuData10=i;n.data10=t;u(e[0].TotalRMsForFirst10Organisation);n.labels11=r;n.manuData11=i;n.data11=t;u(e[0].TotalActiveContactsForFirst10Organisation);n.labels12=r;n.manuData12=i;n.data12=t;var v=$("#DLs").get(0).getContext("2d"),k=new Chart(v,{type:"bar",data:{labels:n.labels7,datasets:[{data:n.manuData7,backgroundColor:"#009ccc",label:"SDL"},{data:n.manuData9,backgroundColor:"#fbbc3d",label:"DDL"}]},options:{responsive:!0,scales:{xAxes:[{stacked:!0,barPercentage:.3}],yAxes:[{stacked:!0,ticks:{beginAtZero:!0,min:0}}]}}}),y=$("#SMs").get(0).getContext("2d"),d=new Chart(y,{type:"bar",data:{labels:n.labels8,datasets:[{data:n.manuData8,backgroundColor:n.myColors}]},options:{responsive:!0,scales:{yAxes:[{ticks:{beginAtZero:!0,min:0}}],xAxes:[{barPercentage:.3,ticks:{beginAtZero:!0,min:0}}]}}}),p=$("#ActiveUsers").get(0).getContext("2d"),g=new Chart(p,{type:"bar",data:{labels:n.labels10,datasets:[{data:n.manuData10,backgroundColor:n.myColors}]},options:{responsive:!0,scales:{yAxes:[{ticks:{beginAtZero:!0,min:0}}],xAxes:[{barPercentage:.3,ticks:{beginAtZero:!0,min:0}}]}}}),w=$("#RMBs").get(0).getContext("2d"),nt=new Chart(w,{type:"bar",data:{labels:n.labels11,datasets:[{data:n.manuData11,backgroundColor:n.myColors}]},options:{responsive:!0,scales:{yAxes:[{ticks:{beginAtZero:!0,min:0}}],xAxes:[{barPercentage:.3,ticks:{beginAtZero:!0,min:0}}]}}}),b=$("#ActiveContacts").get(0).getContext("2d"),tt=new Chart(b,{type:"bar",data:{labels:n.labels12,datasets:[{data:n.manuData12,backgroundColor:n.myColors}]},options:{responsive:!0,scales:{yAxes:[{ticks:{beginAtZero:!0,min:0}}],xAxes:[{barPercentage:.3,ticks:{beginAtZero:!0,min:0}}]}}})}}else $("#barMailboxesCreatedOverTime").remove(),$("#barChartAlignMailbox").append('<canvas width="200" height="200" ng-hide="checkData(data2)" id="barMailboxesCreatedOverTime" class="chart chart-bar optimalSize"><\/canvas>'),s=document.querySelector("#barMailboxesCreatedOverTime").getContext("2d"),l=new Chart(s,{type:"bar",data:{labels:["30 Days","60 Days","90 Days"],datasets:[{data:[e[0].TotalMailBoxesCreatedInThirtyDays,e[0].TotalMailBoxesCreatedInSixtyDays,e[0].TotalMailBoxesCreatedInNinetyDays],backgroundColor:n.myColors}]},options:{responsive:!0,tooltips:{mode:"label"},elements:{line:{fill:!1}},scales:{yAxes:[{type:"linear",display:!0,labels:{show:!0},ticks:{beginAtZero:!0,userCallback:function(n){if(Math.floor(n)===n)return n}}}]}}}),$("#barTotalObjects").remove(),$("#barChartAlignTotalObj").append('<canvas width="200" height="200" ng-hide="checkData(data3)" id="barTotalObjects" class="chart chart-bar optimalSize"><\/canvas>'),h=document.querySelector("#barTotalObjects").getContext("2d"),a=new Chart(h,{type:"bar",data:{labels:["Users","Shared","Resources","Contacts"],datasets:[{data:[e[0].TotalUserMailboxes,e[0].TotalUserSharedMailboxes,e[0].TotalResourceMailboxes,e[0].TotalContacts],backgroundColor:n.myColors}]},options:{responsive:!0,tooltips:{mode:"label"},elements:{line:{fill:!1}},scales:{yAxes:[{type:"linear",display:!0,labels:{show:!0},ticks:{beginAtZero:!0,userCallback:function(n){if(Math.floor(n)===n)return n}}}]}}}),n.labels=["Active Users","Inactive Users","Disabled Users","Leavers","Deleted User Mailboxes"],n.data=[e[0].TotalActiveUsers,e[0].TotalInactiveUsers,e[0].TotalDisabledUsers,e[0].TotalLeavers,e[0].TotalDeletedUserMailboxes],n.labels1=["% Of Active Users","% Of Inactive Users"],n.data1=[e[0].PercentageOfTotalActiveUsers,e[0].PercentageOfTotalInactiveUsers],n.labels2=["30 Days","60 Days","90 Days"],n.data2=[e[0].TotalMailBoxesCreatedInThirtyDays,e[0].TotalMailBoxesCreatedInSixtyDays,e[0].TotalMailBoxesCreatedInNinetyDays],n.labels3=["Users","Shared","Resources","Contacts"],n.data3=[e[0].TotalUserMailboxes,e[0].TotalUserSharedMailboxes,e[0].TotalResourceMailboxes,e[0].TotalContacts],n.labels4=["Security Policy Enforced","Security Policy Not Enforced"],o=Math.round(e[0].TotalMobileDevices*e[0].PercentageOfTotalMobileDevicesPolicyEnforced/100),c=e[0].TotalMobileDevices-o,n.data4=[o,c],n.labels5=["Leaver","Joiner"],n.data5=[e[0].TotalLeavers,e[0].TotalJoiners],n.labels6=["Static Distribution Lists","Dynamic Distribution Lists"],n.data6=[e[0].TotalSDLCount,e[0].TotalDDLCount]};var u=function(n){if(n!=undefined){t=[];i=[];r=[];for(var u=0;u<n.length;u++)Object.getOwnPropertyNames(n[u]).forEach(function(f){t.push({Name:f,Count:n[u][f]});i.push(n[u][f]);r.push(f.substring(0,3))})}},f=function(){var t,i;for(n.CombinedResult=[],t=0;t<n.data7.length;t++)for(i=0;i<n.data9.length;i++)n.data7[t].Name==n.data9[i].Name&&n.CombinedResult.push({Name:n.data7[t].Name,TotalSDL:n.data7[t].Count,TotalDDL:n.data9[t].Count})},e=function(n){return n===0};n.checkData=function(n){if(n!==undefined)return n.every(e)}}]);userAdminAppServicesModule.factory("O365LicenceDetailsListColumns",function(){return function(){return[{title:"Subscription ID",key:"SubscriptionID"},{title:"Organisation Name",key:"OrganisationName"},{title:"Licence Type",key:"LicenceType"},{title:"Total Licences",key:"TotalLicences"},{title:"Total Consumed Licences",key:"TotalConsumedLicences"},{title:"Available Licences",key:"AvailableLicences"},{title:"Start Date",key:"LicenceStartDate"},{title:"Expiry Date",key:"LicenceExpirtyDate"},{title:"Status",key:"Status"},{title:"Updated Date",key:"LastUpdated"}]}});userAdminAppServicesModule.factory("O365LicenceDetailsListVisibleColumns",function(){return function(){this.SubscriptionID=!0;this.OrganisationName=!0;this.LicenceType=!0;this.TotalLicences=!0;this.TotalConsumedLicences=!0;this.AvailableLicences=!0;this.LicenceStartDate=!0;this.LicenceExpirtyDate=!0;this.Status=!0;this.LastUpdated=!0}});userAdminAppControllersModule.controller("UserAdminListUserNotificationController",["$scope","$location","$modal","$http","$timeout","UserNotificationColumns","GlobalDataService",function(n,t,i,r,u,f){n.animationsEnabled=!1;n.itemsOnPage="10";n.selectedEmail=[];n.userID="";n.userNotificationColumns=new f;r({method:"get",url:baseUrlValue+"GetUserNotification"}).success(function(t){n.userNotificationItems=t;$(".announcements .count").html(n.userNotificationItems.length)}).error(function(){});n.updateViewedNotification=function(t){t.Viewed=!0;r({method:"post",url:baseUrlValue+"UpdateNotification",data:t}).success(function(){for(var i=[],t=0;t<n.userNotificationItems.length;t++)n.userNotificationItems[t].Viewed==!1&&i.push(n.userNotificationItems[t]);$(".announcements .count").html(i.length)}).error(function(){})};n.Notifications=[];n.selectNotification=function(t){var r=t.NotificationId,u=t.selected,i=n.Notifications.indexOf(r);i>=0&&!u&&n.Notifications.splice(i,1);i<0&&u&&n.Notifications.push(r);n.Notifications.length>0?$(".notificationDeleteButton").attr("disabled",!1):$(".notificationDeleteButton").attr("disabled",!0)};n.deleteNotifications=function(){r({method:"post",url:baseUrlValue+"DeleteNotifications",data:n.Notifications}).success(function(){for(var t,i=0;i<n.Notifications.length;i++)for(t=0;t<n.userNotificationItems.length;t++)n.userNotificationItems[t].NotificationId==n.Notifications[i]&&n.userNotificationItems.splice(t,1);n.userNotificationItems.length=="0"&&$(".notificationDeleteButton").attr("disabled",!0);$(".announcements .count").html(n.userNotificationItems.length)}).error(function(){})}}]);userAdminAppServicesModule.factory("UserNotificationColumns",function(){return function(){return[{title:"Notification",key:"Description"},{title:"Type",key:"Type"},{title:"Status",key:"Status"},{title:"Completed/Total",key:"GroupProgress"},{title:"Created",key:"CreatedDate"}]}});userAdminAppControllersModule.controller("UserAdminCreateUserPolicyController",["$scope","$location","$modal","UserPolicyAPI","UserPolicyService","FileUploader","$sessionStorage","$timeout","ViewOrganisationAPI","growl","$routeParams","$filter","$parse","$window","PermissionChecker","blockUI","FetchUPN","Config","LicenceSettingService",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k){function it(){n.showValidationResults=!1;n.showUploadResults=!1;n.showSuccessResult=!1;n.showErrorResults=!1;n.uploadedFile="";n.totalImportedRecordCount=0;n.detailList=[]}function rt(){n.fileErrors={fileTooBig:!1,wrongExtension:!1}}function ut(){angular.forEach(n.LicenceListAddOns,function(t){var i=n.licenseTypeAddOnsOptions.filter(function(n){return n.LicenceCount<=0&&n.ID===t});if(i!=="undefined"&&i.length>0){n.NoAddOnLicenseError=!0;return}})}function ft(){var t=[];return angular.forEach(n.LicenceListAddOns,function(i){var r=n.licenseTypeAddOnsOptions.filter(function(n){return n.LicenceCount>0&&n.ID===i});r!=undefined&&r.length>0&&t.push(r[0])}),t}function et(){if(n.NoAddOnLicenseError||n.licenseTypeValue.LicenceCount==undefined){var t=ft();t=Math.min.apply(Math,t.map(function(n){return n.LicenceCount}));n.minPlanOrAddOnLicenseCount=n.licenseTypeValue.LicenceCount==undefined||t<n.licenseTypeValue.LicenceCount?t:n.licenseTypeValue.LicenceCount}else n.minPlanOrAddOnLicenseCount=n.licenseTypeValue.LicenceCount}var nt,d,g,tt;n.ApplicationsPolicySettings=[];n.UserPolicyAppSetting=[];n.ApplicationLabel={};n.ApplicationLabelValue={};n.SelectedOrganisation={};n.userPolicyDetails={};n.IsmfaHidden=!1;n.mfaButtonDisabled=!0;n.createPolicyDescription={};n.licenseTypeValue={};n.licenceCountError={};n.LicenseID="";n.O365SubscriptionID="";n.O365SubscriptionDescription="";n.policyName="";n.userPolicyName="";n.userPolicyDetails.ID="";n.createPolicyDescription.desc="";n.LicenceListAddOns=[];n.o365SubscriptionsOptions=[];n.licenseTypeAddOnsOptions=[];n.isOfficeO365SettingsProcessingError=!1;n.isLicenceListProcessingError=!1;n.isLicenceCountAvailable=!1;n.isCreateUserPolicyProcessingError=!1;n.minPlanOrAddOnLicenseCount=0;n.importUsersList={};nt=u.MaxSizeOfUserUpload();n.MaxSizeOfUserUploadError=!1;n.MaxUsersExceedsError=!1;n.DialInError=!1;n.selectedO365Subscription="";n.UserPolicySetting=[];n.UserPolicyUISetting=[];n.LicenceSettings=[];n.ApplicationSettings={};n.ApplicationUISettings={};n.MicrosoftProjectOnline=!1;n.SharePointStandard=!1;n.SharePointDisableError=!1;n.SharePointDisableAddOnError=!1;n.SharePointStandardError=!1;n.IsMicrosoftStreamOn=!1;n.MicrosoftTeamsOn=!1;n.TeamsCallRecordingError=!1;n.IsUpdatePermissionDisable=!1;n.setTeamsCallRecordingDetails={};n.setTeamsCallRecordingDetails.ActivatedUsers=[];n.setTeamsCallRecordingDetails.DeactivatedUsers=[];n.isOffice365AddOnSettingsVisible=!0;n.isOfficeOnlineAvailable=!1;n.mfaSubscriptionGroupSwitch=!1;n.PowerBIFreeSwitch=!1;n.AllowedSenders=null;n.setToDoInfo="";n.toDoInformation="This application will only be available for Exchange Online users";n.mfaWarning="";n.mfaO365Error="MFA cannot be enabled for Non O365 organization";n.f3LicenceDescription="Office 365 FrontLine Workers F3";n.UserPolicyAddonUiSettings={};n.ImportUsers=function(){if(n.licenseTypeValue.LicenceCount==0||n.NoAddOnLicenseError){n.NoUserUploadError=!0;n.showUploadResults=!0;n.isAddUserDisabled=!1;return}n.isUploadDisabled=!0;$("#importUsersUploadCSVModal").modal("show")};n.o365SubscriptionsChangedValue=function(t){n.UserPolicySetting=[];n.UserPolicyUISetting=[];n.LicenceSettings=[];n.ApplicationSettings={};n.ApplicationUISettings={};n.SharePointStandard=!1;n.SharePointDisableError=!1;n.SharePointDisableAddOnError=!1;n.SharePointStandardError=!1;n.NoUserUploadError=!1;n.isOfficeOnlineAvailable=!1;n.NoAddOnLicenseError=!1;n.showUploadResults=!1;n.IsTeamsCallRecordingOn=!1;n.TeamsCallRecordingDisabled=!0;n.newMfaError=!1;n.SelectedLicences=[];n.AddOnLicences=[];n.UserPolicyAddonUiSettings=[];n.LicenseID=u.licenseTypeschangedValue(t);n.O365SubscriptionID=t.ID;n.O365SubscriptionDescription=t.Description;n.SelectedLicences.push(n.O365SubscriptionDescription);n.isAddUserDisabled=u.ToggleToolTip();n.licenseTypeAddOnsOptions.push({ID:"emptyID"});n.LicenceSettings=k.GetLicenceSettings(n.LicenseID);n.mfaButtonDisabled=!1;angular.forEach(n.o365SubscriptionsOptions,function(i){i.LicenceTypeID==n.LicenseID&&i.ID==n.O365SubscriptionID&&(angular.forEach(i.O365ApplicationsList,function(i){n.ApplicationSettings={};n.ApplicationUISettings={};n.ApplicationSettings.SettingKey=i.ApplicationName;n.ApplicationSettings.SettingValue=!1;n.ApplicationUISettings.SettingKey=i.ApplicationName;n.ApplicationUISettings.SettingUIKey=i.Description;(i.Description=="Microsoft Stream"||i.Description=="Microsoft Teams")&&(n.ApplicationUISettings.SettingValue=!0,n.ApplicationSettings.SettingValue=!0,n.IsMicrosoftStreamOn=!0);i.Description=="Microsoft Stream"?t.LicenceDescription!==n.f3LicenceDescription?(n.TeamsCallRecordingChange(!0),n.TeamsCallRecordingDisabled=!1):(n.TeamsCallRecordingChange(!1),n.TeamsCallRecordingDisabled=!0):i.Description=="Microsoft Teams"?(n.MicrosoftTeamsOn=!0,n.TeamsCallRecordingChange(!0)):n.ApplicationUISettings.SettingValue=!1;n.UserPolicySetting.push(n.ApplicationSettings);n.UserPolicyUISetting.push(n.ApplicationUISettings);n.ApplicationSettings.SettingKey=="SHAREPOINTWAC"&&(n.isOfficeOnlineAvailable=!0);n.ApplicationSettings.SettingKey.indexOf("_TODO_")!==-1&&(n.setToDoInfo=n.toDoInformation)}),n.licenseTypeValue.LicenceCount=i.LicenceCount,n.licenseTypeValue.Description=i.Description,n.isLicenceCountAvailable=!0)})};n.updateCombinedSubscriptions=function(){var t=[],i,r,u;n.UserPolicyUISettingKeyList=[];angular.forEach(n.UserPolicyUISetting,function(t){n.UserPolicyUISettingKeyList.push(t.SettingKey)});n.AddOnLicences.length==0&&(n.UserPolicyAddonUiSettings=[]);n.AddOnLicences.length>0&&(i=[],t=[],angular.forEach(n.AddOnLicences,function(r){var u={Description:r.LicenceDescription,UserpolicyUi:[]};angular.forEach(r.O365ApplicationsList,function(t){var r={SettingUIKey:"",SettingValue:!0,SettingSku:""};n.UserPolicyUISettingKeyList.indexOf(t.ApplicationName)==-1&&(r.SettingUIKey=t.Description,r.SettingSku=t.ApplicationName,n.UserPolicyAddonUiSettings.length>0&&angular.forEach(n.UserPolicyAddonUiSettings,function(n){angular.forEach(n.UserpolicyUi,function(n){n.SettingSku==t.ApplicationName&&(r.SettingValue=n.SettingValue)})}),i.indexOf(t.ApplicationName)==-1&&(u.UserpolicyUi.push(r),i.push(t.ApplicationName)))});u.UserpolicyUi.length>0&&t.push(u)}),n.UserPolicyAddonUiSettings=t);n.selectedO365Subscription.LicenceType=="Local"?n.AddOnLicences.length>0?(n.licenseTypeValue.LicenceCount=n.selectedO365Subscription.LicenceCount,angular.forEach(n.AddOnLicences,function(t){t.ID!=null&&(n.licenseTypeValue.LicenceCount==null||n.licenseTypeValue.LicenceCount>t.LicenceCount)&&(n.licenseTypeValue.LicenceCount=t.LicenceCount,n.licenseTypeValue.Description=t.Description)})):n.licenseTypeValue.LicenceCount=n.selectedO365Subscription.LicenceCount:n.selectedO365Subscription.LicenceType=="National"&&n.AddOnLicences.length>0?(r=Math.min.apply(null,n.AddOnLicences.map(function(n){return n.LicenceCount})),u=n.selectedO365Subscription.Description,angular.forEach(n.AddOnLicences,function(n){n.LicenceCount==r&&(u=n.Description)}),n.licenseTypeValue.LicenceCount=r,n.licenseTypeValue.Description=u):(n.licenseTypeValue.LicenceCount=undefined,angular.forEach(n.AddOnLicences,function(t){t.ID!=null&&(n.licenseTypeValue.LicenceCount==undefined&&(n.licenseTypeValue.LicenceCount=t.LicenceCount,n.licenseTypeValue.Description=t.Description),n.licenseTypeValue.LicenceCount>t.LicenceCount&&(n.licenseTypeValue.LicenceCount=t.LicenceCount,n.licenseTypeValue.Description=t.Description))}));n.SelectedLicences=[];typeof n.selectedO365Subscription.Description!="undefined"&&n.selectedO365Subscription.Description!==null&&(n.SelectedLicences[0]=n.selectedO365Subscription.Description);angular.forEach(n.AddOnLicences,function(t){n.SelectedLicences.length===0?n.SelectedLicences.push(t.Description):n.SelectedLicences.push("\n"+t.Description)});n.isAddUserDisabled=n.validateAddUser()};n.MFAChangedValue=function(t){n.mfaSubscriptionGroupSwitch=t;n.mfaSubscriptionGroupSwitch?n.getMfaCount():n.isAddUserDisabled=n.validateAddUser()};n.IsTeamsCallRecordingOn=!1;n.TeamsCallRecordingDisabled=!0;n.TeamsCallRecordingChange=function(t){n.selectedO365Subscription.LicenceDescription!==n.f3LicenceDescription?t==!0?(n.IsTeamsCallRecordingOn=!0,$(".team-call-recording[title]").tooltip("disable")):(n.IsTeamsCallRecordingOn=!1,n.IsMicrosoftStreamOn==!0&&n.MicrosoftTeamsOn==!0?$(".team-call-recording[title]").tooltip("disable"):$(".team-call-recording[title]").tooltip("enable")):$(".team-call-recording[title]").tooltip("disable")};n.ApplicationAddon=function(t,i){n.ApplicationLabel=t;n.ApplicationLabelValue=i;angular.forEach(n.UserPolicyAddonUiSettings,function(t){angular.forEach(t.UserpolicyUi,function(t){t.SettingSku==n.ApplicationLabel&&(t.SettingValue=n.ApplicationLabelValue)})})};n.ApplicationAddon=function(t,i){n.ApplicationLabel=t;n.ApplicationLabelValue=i;angular.forEach(n.UserPolicyAddonUiSettings,function(t){angular.forEach(t.UserpolicyUi,function(t){t.SettingSku==n.ApplicationLabel&&(t.SettingValue=n.ApplicationLabelValue)})})};n.Appplications=function(t,i){n.ApplicationLabel=t;n.ApplicationLabelValue=i;(n.ApplicationLabel=="STREAM_O365_E1"||n.ApplicationLabel=="STREAM_O365_E3"||n.ApplicationLabel=="STREAM_O365_E5")&&n.ApplicationLabelValue==!0?(n.IsMicrosoftStreamOn=!0,n.TeamsCallRecordingChange(!0)):(n.ApplicationLabel=="STREAM_O365_E1"||n.ApplicationLabel=="STREAM_O365_E3"||n.ApplicationLabel=="STREAM_O365_E5")&&n.ApplicationLabelValue==!1&&(n.IsMicrosoftStreamOn=!1,n.TeamsCallRecordingChange(!1));n.ApplicationLabel=="TEAMS1"&&n.ApplicationLabelValue==!0?(n.MicrosoftTeamsOn=!0,n.TeamsCallRecordingChange(!0)):n.ApplicationLabel=="TEAMS1"&&n.ApplicationLabelValue==!1&&(n.MicrosoftTeamsOn=!1,n.TeamsCallRecordingChange(!1),n.TeamsCallRecordingError=n.IsTeamsCallRecordingOn?!0:!1);n.IsMicrosoftStreamOn==!0&&n.MicrosoftTeamsOn==!0?(n.TeamsCallRecordingDisabled=n.selectedO365Subscription.LicenceDescription!==n.f3LicenceDescription?!1:!0,n.TeamsCallRecordingError=!1,$(".team-call-recording[title]").tooltip("disable")):(n.TeamsCallRecordingDisabled=!0,n.IsTeamsCallRecordingOn=!1,n.selectedO365Subscription.LicenceDescription!==n.f3LicenceDescription?$(".team-call-recording[title]").tooltip("enable"):$(".team-call-recording[title]").tooltip("disable"));angular.forEach(n.UserPolicySetting,function(t){n.ApplicationsPolicySettings=[];t.SettingKey==n.ApplicationLabel&&(t.SettingKey=t.SettingKey,t.SettingValue=n.ApplicationLabelValue)});angular.copy(n.UserPolicySetting,n.ApplicationsPolicySettings);n.ApplicationLabel=="SHAREPOINTDESKLESS"&&n.ApplicationLabelValue==!1||n.ApplicationLabel=="SHAREPOINTENTERPRISE"&&n.ApplicationLabelValue==!1||n.ApplicationLabel=="SHAREPOINTSTANDARD"&&n.ApplicationLabelValue==!1?angular.forEach(n.UserPolicySetting,function(t){t.SettingKey=="SHAREPOINTWAC"&&t.SettingValue==!0&&(n.SharePointDisableError=!0)}):n.ApplicationLabel=="SHAREPOINTDESKLESS"&&n.ApplicationLabelValue==!0||n.ApplicationLabel=="SHAREPOINTENTERPRISE"&&n.ApplicationLabelValue==!0||n.ApplicationLabel=="SHAREPOINTSTANDARD"&&n.ApplicationLabelValue==!0||n.ApplicationLabel=="SHAREPOINTWAC"&&n.ApplicationLabelValue==!1?n.SharePointDisableError=!1:n.ApplicationLabel=="SHAREPOINTWAC"&&n.ApplicationLabelValue==!0&&angular.forEach(n.UserPolicySetting,function(t){(t.SettingKey=="SHAREPOINTDESKLESS"||t.SettingKey=="SHAREPOINTENTERPRISE"||t.SettingKey=="SHAREPOINTSTANDARD")&&t.SettingValue==!1&&(n.SharePointDisableError=!0)});n.ApplicationLabel=="SHAREPOINTSTANDARD"&&n.ApplicationLabelValue==!0&&n.selectedO365Subscription.LicenceDescription=="Office 365 Enterprise E1"?(n.SharePointStandard=!0,n.SharePointStandardError=n.MicrosoftProjectOnline==!0?!0:!1):n.ApplicationLabel=="SHAREPOINTSTANDARD"&&n.ApplicationLabelValue==!1&&n.selectedO365Subscription.LicenceDescription=="Office 365 Enterprise E1"&&(n.SharePointStandard=!1,n.SharePointStandardError=!1)};n.AddOns=function(t,i){n.ApplicationLabel=t;n.ApplicationLabelValue=i;angular.forEach(n.licenseTypeAddOnsOptions,function(t){var i=n.LicenceListAddOns.indexOf(t.LicenceTypeID);t.AccountSku===n.ApplicationLabel&&n.ApplicationLabelValue?i===-1&&n.LicenceListAddOns.push(t.LicenceTypeID):t.AccountSku!==n.ApplicationLabel||n.ApplicationLabelValue||i>-1&&n.LicenceListAddOns.splice(i,1);n.NoUserUploadError=!1;n.NoAddOnLicenseError=!1;n.showUploadResults=!1;ut()});n.ApplicationLabel=="PROJECTPREMIUM"&&n.ApplicationLabelValue==!0?(n.MicrosoftProjectOnline=!0,n.SharePointStandardError=n.SharePointStandard==!0?!0:!1):n.ApplicationLabel=="PROJECTPREMIUM"&&n.ApplicationLabelValue==!1&&(n.MicrosoftProjectOnline=!1,n.SharePointStandardError=!1);n.isAddUserDisabled=n.validateAddUser()};checkAddOnCondition=function(){n.DialInError=!1;angular.forEach(n.AddOnLicences,function(t){t.LicenceDescription=="Dial-in Conferencing"&&n.selectedO365Subscription.LicenceDescription!="Office 365 Enterprise E1"&&n.selectedO365Subscription.LicenceDescription!="Office 365 Enterprise E3"&&n.selectedO365Subscription.LicenceDescription!="Office 365 User"&&n.selectedO365Subscription.LicenceDescription!="Office 365 Administrator"&&(n.DialInError=!0)})};n.CreatePolicy=function(i){if(o(function(){n.LicenseID!=""&&n.LicenceValidation()}),!i.$invalid){if(checkMFACondition(),n.validateMaxUsers()){n.MaxUsersExceedsError=!0;n.showUploadResults=!0;return}if(n.MaxUsersExceedsError=!1,!n.SharePointDisableError&&!n.SharePointDisableAddOnError&&!n.TeamsCallRecordingError&&!n.SharePointStandardError){if(!n.LicenseValid){n.LicenseValid=!1;return}(checkAddOnCondition(),n.DialInError)||(n.ApplicationsPolicySettings=[],angular.copy(n.UserPolicySetting,n.ApplicationsPolicySettings),n.UserPolicyAppSetting=[],n.UserPolicyAppSetting.push({SettingKey:"MFA",SettingValue:n.mfaSubscriptionGroupSwitch}),n.UserPolicyAppSetting.push({SettingKey:"TEAMSCALLRECORDING",SettingValue:n.IsTeamsCallRecordingOn}),n.UserPolicyAppSetting.push({SettingKey:"POWERBIFREE",SettingValue:n.PowerBIFreeSwitch}),angular.forEach(n.LicenceSettings,function(t){n.UserPolicyAppSetting.push({SettingKey:t.SettingKey,SettingValue:t.SettingValue})}),n.O365LicenceGroups=[],n.LicenseID!==null&&n.LicenseID!=="undefined"&&n.LicenseID!==""&&n.O365LicenceGroups.push({O365LicenceTypesID:n.LicenseID}),angular.forEach(n.LicenceListAddOns,function(t){n.O365LicenceGroups.push({O365LicenceTypesID:t})}),n.AddOnSubsID=[],angular.forEach(n.AddOnLicences,function(t){t.ID!==undefined&&n.AddOnSubsID.push({O365SubscriptionID:t.ID})}),n.TeamsCallRecordingDisabled||(n.IsTeamsCallRecordingOn?n.setTeamsCallRecordingDetails.ActivatedUsers=n.UserList:n.setTeamsCallRecordingDetails.DeactivatedUsers=n.UserList),angular.forEach(n.UserPolicyAddonUiSettings,function(t){angular.forEach(t.UserpolicyUi,function(t){var i={SettingKey:t.SettingSku,SettingValue:t.SettingValue};n.ApplicationsPolicySettings.push(i)})}),n.userPolicyDetails={Name:n.userPolicyName,Description:n.createPolicyDescription.desc,AllowedSenders:n.AllowedSenders,LicenceTypeID:n.LicenseID,O365ApplicationSetting:n.ApplicationsPolicySettings,UserPolicySetting:n.UserPolicyAppSetting,O365LicenceGroups:n.O365LicenceGroups,OwningOrganisation:{OrganisationID:n.SelectedOrganisation.ID,OrganisationName:n.SelectedOrganisation.Name,ODSCode:n.SelectedOrganisation.ODSCode},IsO365AddOnEnabled:n.isOffice365AddOnSettingsVisible,UserList:n.UserList,O365SubscriptionID:n.O365SubscriptionID,AddonSubscriptionList:n.AddOnSubsID,MfaSubscriptionGroupSwitch:n.mfaSubscriptionGroupSwitch,TeamsCallRecordingSettings:{OrganisationId:n.SelectedOrganisation.ID,AddedUsers:n.setTeamsCallRecordingDetails.ActivatedUsers,RemovedUsers:n.setTeamsCallRecordingDetails.DeactivatedUsers},LicencesSettings:{Users:n.UserList}},r.Create(n.userPolicyDetails).$promise.then(function(i){return i===undefined?i:(i.Result.Success&&(n.userPolicyDetails.ID=i.UserPolicyID),t.path("/UserPolicies"),i)}).catch(function(n){n.name=="TypeError"&&t.path("/UserPolicies")}))}}};n.permissionCode="USERPOLICY_CREATE";n.isAddAuthVisible=!1;n.expandCollapseAddAuth=function(){n.isAddAuthVisible=!n.isAddAuthVisible};n.userPolicyCancelClick=function(){window.history.back()};n.isAddUserDisabled=!1;n.validateAddUser=function(){return n.SelectedOrganisation.Name!==""&&angular.isDefined(n.SelectedOrganisation.Name)?n.isOffice365AddOnSettingsVisible?n.selectedO365Subscription!==""||n.SelectedLicences.length>0||n.LicenceListAddOns.length>0||n.PowerBIFreeSwitch||n.mfaSubscriptionGroupSwitch&&n.mfaLicenseCount>0?($(".add-user-wrapper[title]").tooltip("disable"),!0):($(".add-user-wrapper[title]").tooltip("enable"),!1):($(".add-user-wrapper[title]").tooltip("disable"),!0):($(".add-user-wrapper[title]").tooltip("enable"),!1)};checkMFACondition=function(){n.newMfaError=b.O365subscriptions.indexOf(n.selectedO365Subscription.LicenceDescription)==-1};n.validateMaxUsers=function(){var t=n.UserPolicyMembersTempCopy.length;return t>n.licenseTypeValue.LicenceCount?(n.licenceCountError.Description=n.licenseTypeValue.Description,n.licenceCountError.LicenceCount=n.licenseTypeValue.LicenceCount,!0):n.mfaSubscriptionGroupSwitch&&n.newMfaError&&t>n.mfaLicenseCount?(n.licenceCountError.Description="MFA",n.licenceCountError.LicenceCount=n.mfaLicense.LicenceCount,!0):!1};n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.userPolicyNameChange();n.organisationChange();n.LicenseValid=!0;n.$broadcast("OrganisationChanged");n.callAPIForLicenceList();n.isAddUserDisabled=n.validateAddUser()};n.organisationChange=function(){n.SelectedOrganisation!=null&&n.SelectedOrganisation!="undefined"?(angular.copy([],n.treedata),n.UserPolicyMembersTempCopy=[],n.UserList=[],n.LicenseID="",n.O365SubscriptionID="",n.isLicenceCountAvailable=!1,n.fileErrors.fileTooBig=!1,n.fileErrors.wrongExtension=!1,n.showValidationResults=!1,n.showUploadResults=!1,n.showSuccessResult=!1,n.showErrorResults=!1,n.MicrosoftProjectOnline=!1,n.SharePointStandard=!1,n.SharePointDisableError=!1,n.SharePointDisableAddOnError=!1,n.SharePointStandardError=!1,n.IsTeamsCallRecordingOn=!1,n.TeamsCallRecordingDisabled=!0,n.AddOnLicences=[],n.SelectedLicences=[],n.mfaSubscriptionGroupSwitch&&n.getMfaCount()):(angular.copy([],n.treedata),n.SelectedOrganisation=undefined,n.isOrganisationSeleted=!1)};n.isODSCodeAdded=!1;n.ODSCodeDetails={};n.userPolicyNameChange=function(){n.ODSCodeDetails=u.UserPolicyNameChange(n.SelectedOrganisation.ODSCode,n.policyName,n.isODSCodeAdded);n.userPolicyName=n.ODSCodeDetails.userPolicyName;n.isODSCodeAdded=n.ODSCodeDetails.isODSCodeAdded};n.LicenceValidationObj={};n.LicenseValid=!0;n.LicenseError="";n.LicenceValidation=function(){n.LicenceValidationObj={OwningOrganisationID:n.SelectedOrganisation.ID,LicenseTypeID:n.LicenseID};r.ValidateLicence(n.LicenceValidationObj).$promise.then(function(t){return t.Success==!1?(n.LicenseValid=!1,n.LicenseError=t.Errors[0].Message,t):t.Success==!0?(n.LicenseValid=!0,t):void 0})};n.callAPIForLicenceList=function(){n.isLicenceListProcessingError=!1;r.GetO365SubscriptionsList({orgId:n.SelectedOrganisation.ID}).$promise.then(function(t){if(t==undefined)return n.isLicenceListProcessingError=!0,t;n.o365SubscriptionsOptions=t;var i=n.o365SubscriptionsOptions.filter(function(n){return n.IsMFA});return i.length==0?(n.mfaLicense={LicenceCount:0},n.mfaButtonDisabled=!0,n.mfaSubscriptionGroupSwitch=!1):n.mfaLicense=i[0],i.length>0&&(n.mfaWarning=""),n.o365SubscriptionsOptions=n.o365SubscriptionsOptions.filter(function(n){return!(n.IsAddOn||n.IsMFA)}),n.AddOnLicences=[],n.licenseTypeAddOnsOptions=t,n.licenseTypeAddOnsOptions=n.licenseTypeAddOnsOptions.filter(function(n){return n.IsAddOn}),n.licenseTypeAddOnsOptions.length==0&&n.licenseTypeAddOnsOptions.push({ID:"emptyID"}),n.licenseTypeValue={},t})};d="userPolicy/ImportUsers";g=100;it();rt();n.uploader=new f({url:baseUrlValue+d,headers:{Authorization:"Bearer "+sessionStorage.getItem("JWToken")},removeAfterUpload:!0});n.uploader.onSuccessItem=function(t,i){var f,r,u;for(n.uploadedFile=t.file.name,n.importUsersList.Recipients=[],n.TempUsers={},f=i.length,r=0;r<n.UserPolicyMembersTempCopy.length;r++)n.importUsersList.Recipients.push({EmailAddress:n.UserPolicyMembersTempCopy[r].EmailAddress,EmailType:null,ID:n.UserPolicyMembersTempCopy[r].ID});for(u=0;u<i.length;u++)n.TempUsers.EmailAddress=i[u].EmailAddress,n.TempUsers.ID=i[u].ID,n.importUsersList.Recipients.push({EmailAddress:n.TempUsers.EmailAddress,EmailType:null,ID:n.TempUsers.ID}),n.UserList.push(n.TempUsers.ID);angular.copy(n.importUsersList.Recipients,n.UserPolicyMembersTempCopy);n.UserPolicyMembersTempCopy=l("removeDuplicates")(n.UserPolicyMembersTempCopy,"EmailAddress");n.totalImportedRecordCount=i.length;n.totalImportedRecordCount>nt?(n.MaxSizeOfUserUploadError=!0,n.showUploadResults=!0,n.showSuccessResult=!1,n.showErrorResults=!1,n.isUploadDisabled=!0,n.IsUpdatePermissionDisable=!0):(n.showUploadResults=!0,n.showSuccessResult=!0,n.showErrorResults=!1,n.isUploadDisabled=!0,n.IsUpdatePermissionDisable=!1)};n.uploader.onErrorItem=function(t,i){if(n.uploadedFile=t.file.name,i.Errors.length>0)for(var r=0;r<i.Errors.length;r++){if(r>g){n.detailList.push("error list limited to first "+g);break}i.Errors[r].FieldName==="UserPrincipalName"?n.detailList.push(i.Errors[r].Detail+" can not be added to the user policy because, "+i.Errors[r].Message):i.Errors[r].FieldName==="EmailAddress"?n.detailList.push(i.Errors[r].Message+i.Errors[r].Detail):n.detailList.push(i.Errors[r].Message)}else i.Errors&&i.Errors.length>0?n.detailList.push(i.Errors[0].Message+": "+i.Errors[0].Detail):n.detailList.push("Failed to parse file");n.showUploadResults=!0;n.showSuccessResult=!1;n.showErrorResults=!0;n.isUploadDisabled=!0};n.uploader.onAfterAddingFile=function(t){n.selectedFile=t.file.name;n.isUploadDisabled=n.selectedFile!==""?!1:!0;it();rt()};n.uploader.onBeforeUploadItem=function(t){t.method="PUT";t.formData.push({OrgId:n.SelectedOrganisation.ID});t.formData.push({UserPolicyId:""});t.formData.push({LicenceId:n.LicenseID});t.formData.push({O365SubscriptionID:n.O365SubscriptionID});p.start()};n.uploader.onCompleteAll=function(){p.stop()};n.isCreateUserPolicyVisible=!0;n.isAddUserPolicyMembersVisible=!1;n.UserPolicyMembersTempCopy=[];n.UserList=[];n.organisationListUserPolicyId=[];n.setupUserPickerDone=function(){var t=n.$on("UserPickerSelectionDone",function(){var f=e.currentSource,o=a(f)(n),s=[],i=[],r,u;angular.forEach(n.selectedEmail,function(t){t.Email!=null&&(r={EmailAddress:t.Email,ID:t.ID,EmailType:t.EmailType},i.push(r),n.UserList.push(r.ID))});s=o==""?i:o.concat(i);u=l("removeDuplicates")(s,"EmailAddress");a(f).assign(n,u);t();n.isCreateUserPolicyVisible=!0;n.isAddUserPolicyMembersVisible=!1;n.UserPolicyMembersTempCopy=u})};n.isUploadDisabled=!0;tt=4194304;n.Upload=function(){if(angular.isUndefined(n.uploader.queue)){n.isUploadDisabled=!0;return}n.isUploadDisabled=!1;var t=n.uploader.queue[0].file;if(t.size>tt){n.fileErrors.fileTooBig=!0;n.uploader.clearQueue();return}if(t.name.split(".").pop()!="csv"){n.fileErrors.wrongExtension=!0;n.uploader.clearQueue();return}n.uploader.url=baseUrlValue+d;n.uploader.uploadAll();$("#importUsersUploadCSVModal").modal("hide");document.getElementById("csvUsersUploaderInput").value=""};n.cancelImport=function(){n.selectedFile="";n.fileErrors.wrongExtension=!1;$("#importUsersUploadCSVModal").modal("hide");n.isUploadDisabled=!0};n.clear=function(){angular.element("input[type='file']").val(null);n.selectedFile="";n.uploader.clearQueue();n.isUploadDisabled=!0};n.NoUserUploadError=!1;n.NoAddOnLicenseError=!1;n.addMembersListClick=function(t){if(ut(),et(),n.licenseTypeValue.LicenceCount==0||n.NoAddOnLicenseError){n.NoUserUploadError=!0;n.showUploadResults=!0;n.isAddUserDisabled=!1;return}n.fileErrors.fileTooBig=!1;n.fileErrors.wrongExtension=!1;n.showValidationResults=!1;n.showUploadResults=!1;n.showSuccessResult=!1;n.showErrorResults=!1;e.currentSource=t;angular.copy([],n.selectedEmail);n.isCreateUserPolicyVisible=!1;n.isAddUserPolicyMembersVisible=!0;n.setupUserPickerDone(t)};n.removeMembers=function(t){n.UserPolicyMembersTempCopy=l("filter")(n.UserPolicyMembersTempCopy,function(n){return n.EmailAddress!=t.EmailAddress});n.UserList=[];angular.forEach(n.UserPolicyMembersTempCopy,function(t){n.UserList.push(t.ID)});n.validateMaxUsers()||(n.MaxUsersExceedsError=!1,n.showUploadResults=!1)};n.$on("UserPickerSelectionCancelled",function(){n.isCreateUserPolicyVisible=!0;n.isAddUserPolicyMembersVisible=!1});n.PowerBIFreeToggle=function(){n.isAddUserDisabled=n.validateAddUser()};n.getMfaCount=function(){var t=[n.SelectedOrganisation.ID],i={orgID:t};r.GetMFALicenseCount(i).$promise.then(function(t){n.mfaLicenseCount=t.MfaLicense.LicenseCount;n.isAddUserDisabled=n.validateAddUser()})};n.DisplayLicenceLimitMessage=function(){return n.selectedO365Subscription.LicenceType=="National"&&n.AddOnLicences.length>0||n.selectedO365Subscription.LicenceType=="Local"||n.AddOnLicences!=undefined&&n.AddOnLicences.length>0?!0:!1}}]);userAdminAppControllersModule.controller("UserAdminEditUserPolicyController",["$scope","$location","$modal","UserPolicyAPI","UserPolicyService","FileUploader","$sessionStorage","$timeout","ViewOrganisationAPI","growl","$routeParams","$filter","$parse","$window","PermissionChecker","blockUI","FetchUPN","Config",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b){function tt(){n.showValidationResults=!1;n.showUploadResults=!1;n.showSuccessResult=!1;n.showErrorResults=!1;n.uploadedFile="";n.totalImportedRecordCount=0;n.detailList=[]}function it(){n.fileErrors={fileTooBig:!1,wrongExtension:!1}}function rt(){angular.forEach(n.LicenceListAddOns,function(t){var i=n.licenseTypeAddOnsOptions.filter(function(n){return n.LicenceCount<=0&&n.ID===t});if(i!=="undefined"&&i.length>0){n.NoAddOnLicenseError=!0;return}})}function ut(){var t=[];return angular.forEach(n.LicenceListAddOns,function(i){var r=n.licenseTypeAddOnsOptions.filter(function(n){return n.LicenceCount>0&&n.ID===i});r!=undefined&&r.length>0&&t.push(r[0])}),t}function ft(){if(n.NoAddOnLicenseError||n.licenseTypeValue.LicenceCount==undefined){var t=ut();t=Math.min.apply(Math,t.map(function(n){return n.LicenceCount}));n.minPlanOrAddOnLicenseCount=n.licenseTypeValue.LicenceCount==undefined||t<n.licenseTypeValue.LicenceCount?t:n.licenseTypeValue.LicenceCount}else n.minPlanOrAddOnLicenseCount=n.licenseTypeValue.LicenceCount}var g,k,d,nt;n.ApplicationSettingsConfig={};n.ApplicationToggeled=[];n.UserPolicyAppSetting=[];n.UserPolicyAppSettingTemp=[];n.ApplicationLabel={};n.ApplicationLabelValue={};n.importUsersListData={};n.UserPolicyMembersTempCopy=[];n.UserPolicySettingsTempCopy=[];n.SelectedOrganisation={};n.OrganisationCountry="";n.isRemoveUserEnabled=!0;n.edituserPolicyDetails={};n.IsmfaHidden=!1;n.licenceCountError={};n.editcreatePolicyDescription={};n.editUserPolicy={};n.licenseTypeValue={};n.policyName="";n.userPolicyName="";n.IsO365SubscriptionsEditable=!0;n.isBaseLicenceChanged=!1;n.editcreatePolicyDescription.desc="";n.LicenceListAddOns=[];n.o365SubscriptionsOptions=[];n.InitialO365SubscriptionList=[];n.AddonSubscriptionList=[];n.AddOnLicences=[];n.licenseTypeAddOnsOptions=[];n.licenseTypeAddOnsOptionsBefore=[];n.isOfficeO365SettingsProcessingError=!1;n.isLicenceListProcessingError=!1;n.isLicenceCountAvailable=!1;n.isCreateUserPolicyProcessingError=!1;n.IsUpdatePermissionDisable=!1;n.isOfficeOnlineAvailable=!1;n.isDisabledCurrently=!0;n.minPlanOrAddOnLicenseCount=0;n.importUsersList={};g=u.MaxSizeOfUserUpload();n.MaxSizeOfUserUploadError=!1;n.MaxUsersExceedsError=!1;n.isPolicyEditEnabled="";n.DialInError=!1;n.newMfaError=!1;n.selectedbaselicence="";n.newselectedLicenseType="";n.selectedO365Subscription="";n.selectedO365SubscriptionsDescription="";n.oldMFAValue="";n.newMFAValue="";n.oldTeamsCallRecordingValue="";n.newTeamsCallRecordingValue="";n.existingUserList=[];n.addedUserList=[];n.removedUserList=[];n.removedAddOns=[];n.addedAddOns=[];n.setTeamsCallRecordingDetails={};n.setTeamsCallRecordingDetails.AddedUsers=[];n.setTeamsCallRecordingDetails.RemovedUsers=[];n.IsTeamsCallRecordingOn=!1;n.IsMicrosoftStreamOn=!1;n.MicrosoftTeamsOn=!1;n.TeamsCallRecordingError=!1;n.TeamsCallRecordingDisabled=!0;n.TeamsCallRecordingOldValue="";n.MicrosoftProjectOnline=!1;n.SharePointStandard=!1;n.SharePointStandardError=!1;n.SharePointDisableError=!1;n.SharePointDisableAddOnError=!1;n.isOffice365AddOnSettingsVisible=!1;n.isMailEnabledVisible=!0;n.mfaSubscriptionGroupSwitch=!1;n.PowerBIFreeSwitch=!1;n.largeMailBoxSizeButtonVisible=!1;n.LargeMailBoxSizeEnabled=!1;n.MailEnabledValue=!1;n.AllowedSenders=null;n.EnableDisableTitle="To enable Teams call recording, an O365 licence must be selected with Stream and Teams application enabled.";n.mfaWarning="";n.setToDoInfo="";n.toDoInformation="This application will only be available for Exchange Online users";n.mfaO365Error="MFA cannot be enabled for Non O365 organization";n.f3LicenceDescription="Office 365 FrontLine Workers F3";n.isNationalPolicy=!1;n.UserPolicyAddonUiSettings={};n.addOnLicenseAppList=[];n.ImportUsers=function(){if(n.licenseTypeValue.LicenceCount==0||n.NoAddOnLicenseError){n.NoUserUploadError=!0;n.showUploadResults=!0;n.isAddUserDisabled=!1;return}n.isUploadDisabled=!0;$("#importUsersUploadCSVModal").modal("show")};n.TeamsCallRecordingChange=function(t){t==!0&&n.IsMicrosoftStreamOn==!0&&n.MicrosoftTeamsOn==!0?(n.IsTeamsCallRecordingOn=!0,$(".team-call-recording[title]").tooltip("disable")):(n.IsTeamsCallRecordingOn=!1,n.IsMicrosoftStreamOn==!0&&n.MicrosoftTeamsOn==!0?$(".team-call-recording[title]").tooltip("disable"):$(".team-call-recording[title]").tooltip("enable"));angular.forEach(n.editUserPolicy.UserPolicySetting,function(n){n.SettingKey=="TEAMSCALLRECORDING"&&(n.SettingValue=t,n.SettingEdited=!0)})};n.MailEnabledchangedValue=function(t){n.MailEnabledValue=t};n.initializeApplications=function(){angular.copy(n.editUserPolicy.UserPolicySetting,n.UserPolicySettingsTempCopy);angular.forEach(n.editUserPolicy.UserPolicySetting,function(n){n.SettingEdited=n.SettingKey.indexOf("STREAM_O365_")!==-1||n.SettingKey.indexOf("TEAMS1")!==-1?!0:!1})};n.getDisabledTeamsCallRecordingKey=function(){var n={};return n.SettingKey="TEAMSCALLRECORDING",n.SettingValue=!1,n};n.removeDisabledTeamsCallRecordingKey=function(){var t=-1,i=n.getDisabledTeamsCallRecordingKey(),r=i;t=n.ApplicationToggeled.map(function(n){return n.SettingKey}).indexOf(r.SettingKey);n.ApplicationToggeled.splice(t,1)};n.ApplicationAddon=function(t,i){if(n.ApplicationLabel=t,n.ApplicationLabelValue=i,angular.forEach(n.UserPolicyAddonUiSettings,function(t){angular.forEach(t.UserpolicyUi,function(t){t.SettingSku==n.ApplicationLabel&&(t.SettingValue=n.ApplicationLabelValue)})}),(n.ApplicationLabel=="SHAREPOINTDESKLESS"||n.ApplicationLabel=="SHAREPOINTENTERPRISE"||n.ApplicationLabel=="SHAREPOINTSTANDARD")&&n.ApplicationLabelValue==!0&&(n.SharePointDisableAddOnError=!1),(n.ApplicationLabel=="SHAREPOINTDESKLESS"||n.ApplicationLabel=="SHAREPOINTENTERPRISE"||n.ApplicationLabel=="SHAREPOINTSTANDARD")&&n.ApplicationLabelValue==!1){var r=!0;angular.forEach(n.UserPolicyAddonUiSettings,function(t){angular.forEach(t.UserpolicyUi,function(t){(t.SettingSku=="SHAREPOINTDESKLESS"||t.SettingSku=="SHAREPOINTENTERPRISE"||t.SettingSku=="SHAREPOINTSTANDARD")&&t.SettingValue==!0&&(r=!1,n.SharePointDisableAddOnError=!1)})});r&&angular.forEach(n.UserPolicyAddonUiSettings,function(t){angular.forEach(t.UserpolicyUi,function(t){t.SettingSku=="SHAREPOINTWAC"&&t.SettingValue==!0&&(n.SharePointDisableAddOnError=!0)})})}n.ApplicationLabel=="SHAREPOINTWAC"&&n.ApplicationLabelValue==!0&&(n.SharePointDisableAddOnError=!0,angular.forEach(n.UserPolicyAddonUiSettings,function(t){angular.forEach(t.UserpolicyUi,function(t){t.SettingSku=="SHAREPOINTDESKLESS"&&t.SettingValue==!0&&(n.SharePointDisableAddOnError=!1);t.SettingSku=="SHAREPOINTENTERPRISE"&&t.SettingValue==!0&&(n.SharePointDisableAddOnError=!1);t.SettingSku=="SHAREPOINTSTANDARD"&&t.SettingValue==!0&&(n.SharePointDisableAddOnError=!1)})}));n.ApplicationLabel=="SHAREPOINTWAC"&&n.ApplicationLabelValue==!1&&(n.SharePointDisableAddOnError=!1)};n.Appplications=function(t,i){n.ApplicationLabel=t;n.ApplicationLabelValue=i;(n.ApplicationLabel=="MFA"||n.ApplicationLabel=="POWERBIFREE")&&(n.PowerBIFreeSwitch==!0||n.mfaSubscriptionGroupSwitch==!0||n.O365SubscriptionID!==null||n.AddOnLicences.length>0?(n.isAddUserDisabled=!0,$(".add-user-wrapper[title]").tooltip("disable")):(n.isAddUserDisabled=!1,$(".add-user-wrapper[title]").tooltip("enable")));n.ApplicationLabel=="TEAMSCALLRECORDING"&&n.ApplicationLabelValue==!0?(n.IsTeamsCallRecordingOn=!0,n.removeDisabledTeamsCallRecordingKey(),$(".team-call-recording")["0"].dataset.originalTitle=""):n.ApplicationLabel=="TEAMSCALLRECORDING"&&n.ApplicationLabelValue==!1&&(n.IsTeamsCallRecordingOn=!1,$(".team-call-recording")["0"].dataset.originalTitle=n.EnableDisableTitle);n.ApplicationLabel=="Microsoft Stream"&&n.ApplicationLabelValue==!0?(n.IsMicrosoftStreamOn=!0,$(".team-call-recording")["0"].dataset.originalTitle=""):n.ApplicationLabel=="Microsoft Stream"&&n.ApplicationLabelValue==!1&&(n.IsMicrosoftStreamOn=!1);n.ApplicationLabel=="Microsoft Teams"&&n.ApplicationLabelValue==!0?n.MicrosoftTeamsOn=!0:n.ApplicationLabel=="Microsoft Teams"&&n.ApplicationLabelValue==!1&&(n.MicrosoftTeamsOn=!1);(n.ApplicationLabel=="Microsoft Teams"||n.ApplicationLabel=="Microsoft Stream")&&(n.IsMicrosoftStreamOn==!0&&n.MicrosoftTeamsOn==!0?(n.TeamsCallRecordingDisabled=!1,n.IsTeamsCallRecordingOn=!0,n.TeamsCallRecordingError=!1):n.IsMicrosoftStreamOn==!0&&n.MicrosoftTeamsOn==!1||n.IsMicrosoftStreamOn==!1&&n.MicrosoftTeamsOn==!0?(n.TeamsCallRecordingDisabled=!0,n.IsTeamsCallRecordingOn=!1,n.removeDisabledTeamsCallRecordingKey()):(n.TeamsCallRecordingDisabled=!0,n.IsTeamsCallRecordingOn=!1,n.removeDisabledTeamsCallRecordingKey()));n.MicrosoftTeamsOn==!1||n.IsMicrosoftStreamOn==!1?($(".team-call-recording")["0"].dataset.originalTitle=n.EnableDisableTitle,$(".team-call-recording[title]").tooltip("enable")):$(".team-call-recording")["0"].dataset.originalTitle="";n.newselectedLicenseType==n.f3LicenceDescription&&(n.TeamsCallRecordingDisabled=!0,n.IsTeamsCallRecordingOn=!1,$(".team-call-recording")["0"].dataset.originalTitle="",$(".team-call-recording[title]").tooltip("disable"));angular.forEach(n.editUserPolicy.UserPolicySetting,function(t){t.SettingKey==n.ApplicationLabel&&(t.SettingValue=n.ApplicationLabelValue,t.SettingEdited=!0)});n.ApplicationLabel=="SharePoint (includes OneDrive)"&&n.ApplicationLabelValue==!1?angular.forEach(n.editUserPolicy.UserPolicySetting,function(t){t.SettingKey=="Office Online"&&t.SettingValue==!0&&(n.SharePointDisableError=!0)}):n.ApplicationLabel=="SharePoint (includes OneDrive)"&&n.ApplicationLabelValue==!0||n.ApplicationLabel=="Office Online"&&n.ApplicationLabelValue==!1?n.SharePointDisableError=!1:n.ApplicationLabel=="Office Online"&&n.ApplicationLabelValue==!0&&angular.forEach(n.editUserPolicy.UserPolicySetting,function(t){t.SettingKey=="SharePoint (includes OneDrive)"&&t.SettingValue==!1&&(n.SharePointDisableError=!0)});n.ApplicationLabel=="SharePoint (includes OneDrive)"&&n.ApplicationLabelValue==!0&&n.newselectedLicenseType=="Office 365 Enterprise E1"?(n.SharePointStandard=!0,n.SharePointStandardError=n.MicrosoftProjectOnline==!0?!0:!1):n.ApplicationLabel=="SharePoint (includes OneDrive)"&&n.ApplicationLabelValue==!1&&n.newselectedLicenseType=="Office 365 Enterprise E1"&&(n.SharePointStandard=!1,n.SharePointStandardError=!1)};n.AddOns=function(t,i){n.ApplicationLabel=t;n.ApplicationLabelValue=i;angular.forEach(n.licenseTypeAddOnsOptions,function(t){var i=n.LicenceListAddOns.indexOf(t.LicenceTypeID);t.AccountSku===n.ApplicationLabel&&n.ApplicationLabelValue?i===-1&&n.LicenceListAddOns.push(t.LicenceTypeID):t.AccountSku!==n.ApplicationLabel||n.ApplicationLabelValue||i>-1&&n.LicenceListAddOns.splice(i,1)});n.ApplicationLabel=="PROJECTPREMIUM"&&n.ApplicationLabelValue==!0?(n.MicrosoftProjectOnline=!0,n.SharePointStandardError=n.SharePointStandard==!0&&n.newselectedLicenseType=="Office 365 Enterprise E1"?!0:!1):n.ApplicationLabel=="PROJECTPREMIUM"&&n.ApplicationLabelValue==!1&&(n.MicrosoftProjectOnline=!1,n.SharePointStandardError=!1);n.NoUserUploadError=!1;n.NoAddOnLicenseError=!1;n.showUploadResults=!1;rt()};n.UserPolicySetting=[];n.UserPolicyUISetting=[];n.ApplicationSettings={};n.ApplicationUISettings={};n.o365SubscriptionsChangedValue=function(t){n.editUserPolicy.UserPolicySetting=[];n.LicenseValid=!0;n.isBaseLicenceChanged=!0;n.editUserPolicy.LicenceTypeID=t.LicenceTypeID;n.editUserPolicy.O365SubscriptionID=t.ID;n.newselectedLicenseType=t.LicenceDescription;n.selectedO365SubscriptionsDescription=t.Description;n.UserPolicySetting=[];n.UserPolicyUISetting=[];n.ApplicationSettings={};n.ApplicationUISettings={};n.SharePointDisableError=!1;n.SharePointDisableAddOnError=!1;n.SharePointStandard=!1;n.SharePointStandardError=!1;n.NoUserUploadError=!1;n.NoAddOnLicenseError=!1;n.showUploadResults=!1;n.IsmfaHidden=!1;n.LicenseID=u.licenseTypeschangedValue(t);n.O365SubscriptionID=t.ID;n.isAddUserDisabled=u.ToggleToolTip();n.licenceCountCheck=t.LicenceCount;r.GetLicenceSettings({licenceID:n.LicenseID}).$promise.then(function(t){angular.forEach(t,function(t){var i={};i.SettingKey=t.SettingKey;i.SettingValue=!1;i.Description=t.Description;i.SettingType="1";n.editUserPolicy.UserPolicySetting.push(i)})});angular.forEach(n.o365SubscriptionsOptions,function(i){i.ID==n.O365SubscriptionID&&(angular.forEach(i.O365ApplicationsList,function(i){n.ApplicationSettings={};n.ApplicationUISettings={};n.ApplicationSettings.SettingKey=i.ApplicationName;n.ApplicationSettings.SettingValue=!1;n.ApplicationSettings.SettingType="0";n.ApplicationUISettings.SettingKey=i.ApplicationName;n.ApplicationUISettings.SettingUIKey=i.Description;i.Description=="Microsoft Stream"||i.Description=="Microsoft Teams"?(n.ApplicationUISettings.SettingValue=!0,n.ApplicationSettings.SettingValue=!0,n.IsMicrosoftStreamOn=!0,t.LicenceDescription!==n.f3LicenceDescription?(n.MicrosoftTeamsOn=!0,n.TeamsCallRecordingChange(!0),n.TeamsCallRecordingDisabled=!1):(n.TeamsCallRecordingChange(!1),n.TeamsCallRecordingDisabled=!0)):n.ApplicationUISettings.SettingValue=!1;n.UserPolicySetting.push(n.ApplicationSettings);n.UserPolicyUISetting.push(n.ApplicationUISettings);n.ApplicationSettings.SettingKey=="SHAREPOINTWAC"&&(n.isOfficeOnlineAvailable=!0)}),n.licenseTypeValue.LicenceCount=i.LicenceCount,n.isLicenceCountAvailable=!0)});angular.copy(n.UserPolicySetting,n.editUserPolicy.UserPolicySetting);n.initializeApplications();n.assignDescriptionAsSettingKey(n.editUserPolicy.UserPolicySetting);n.assignDescriptionAsSettingKey(n.UserPolicySettingsTempCopy);n.updateCombinedSubscriptions()};n.updateCombinedSubscriptions=function(){if(n.O365SubscriptionID!==null||n.AddOnLicences.length>0||n.PowerBIFreeSwitch||n.mfaSubscriptionGroupSwitch?($(".add-user-wrapper[title]").tooltip("disable"),n.isAddUserDisabled=!0):($(".add-user-wrapper[title]").tooltip("enable"),n.isAddUserDisabled=!1),n.selectedO365SubscriptionsDescription.includes("Local"))n.AddOnLicences.length>0?(n.licenseTypeValue.LicenceCount=n.licenceCountCheck,angular.forEach(n.licenseTypeAddOnsOptions,function(t){angular.forEach(n.AddOnLicences,function(i){t.ID==i.ID&&(n.licenseTypeValue.LicenceCount==null||n.licenseTypeValue.LicenceCount>=t.LicenceCount)&&(n.licenseTypeValue.LicenceCount=t.LicenceCount)})})):n.licenseTypeValue.LicenceCount=n.licenceCountCheck;else if(n.selectedO365SubscriptionsDescription.includes("National")&&n.AddOnLicences.length>0){var t=Math.min.apply(null,n.AddOnLicences.map(function(n){return n.LicenceCount}));n.licenseTypeValue.LicenceCount=t}else n.licenseTypeValue.LicenceCount=undefined,angular.forEach(n.AddOnLicences,function(t){t.ID!=null&&(n.licenseTypeValue.LicenceCount==undefined&&(n.licenseTypeValue.LicenceCount=t.LicenceCount),n.licenseTypeValue.LicenceCount>t.LicenceCount&&(n.licenseTypeValue.LicenceCount=t.LicenceCount))});n.SelectedLicences=[];n.selectedO365SubscriptionsDescription!=""&&(n.SelectedLicences[0]=n.selectedO365SubscriptionsDescription);angular.forEach(n.AddOnLicences,function(t){angular.forEach(t,function(t,i){n.getUniqueSelectedLicences(t,i)})});n.updateAddOnLicenses()};n.getUniqueSelectedLicences=function(t,i){n.SelectedLicences.indexOf(t)==-1&&i=="ID"&&angular.forEach(n.licenseTypeAddOnsOptions,function(i){i.ID==t&&(n.SelectedLicences.length===0?n.SelectedLicences.push(i.Description):n.SelectedLicences.push("\n"+i.Description))})};n.selectedOrganisation={};n.selectedAddOrganisation={};n.isAddAuthVisible=!1;n.expandCollapseAddAuth=function(){n.isAddAuthVisible=!n.isAddAuthVisible};n.userPolicyCancelClick=function(){window.history.back()};n.LicenceValidation=function(){n.LicenceValidationObj={OwningOrganisationID:n.SelectedOrganisation.ID,LicenseTypeID:n.LicenseID};r.ValidateLicence(n.LicenceValidationObj).$promise.then(function(t){return t.Success==!1?(n.LicenseValid=!1,n.LicenseError=t.Errors[0].Message,t):t.Success==!0?(n.LicenseValid=!0,t):void 0})};n.modalMarkupLoaded=function(){n.viewUserPolicy={};n.viewUserPolicy.UserPolicyID=c.UserPolicyID;r.GetPolicyDetails({userPolicyID:n.viewUserPolicy.UserPolicyID}).$promise.then(function(t){var r,i;if(t==undefined)return h.error("There was a problem retrieving the User Policy Details"),t;for(n.editUserPolicy=t,n.isNationalPolicy=n.editUserPolicy.IsNationalPolicy,n.isOffice365AddOnSettingsVisible=n.editUserPolicy.IsO365AddOnEnabled,n.userPolicyName=n.editUserPolicy.Name,n.editcreatePolicyDescription.desc=n.editUserPolicy.Description,n.SelectedOrganisation.Name=n.editUserPolicy.OwningOrganisation.OrganisationName,n.SelectedOrganisation.ID=n.editUserPolicy.OwningOrganisation.OrganisationID,n.SelectedOrganisation.ODSCode=n.editUserPolicy.OwningOrganisation.ODSCode,n.O365SubscriptionID=n.editUserPolicy.O365SubscriptionID,n.AddonSubscriptionList=n.editUserPolicy.AddonSubscriptionList,n.OrganisationCountry=n.editUserPolicy.OwningOrganisation.Country,angular.forEach(n.AddonSubscriptionList,function(t){t.O365SubscriptionID!=undefined&&n.InitialO365SubscriptionList.push({O365SubscriptionID:t.O365SubscriptionID})}),n.OrganisationCountry.toUpperCase()=="ENGLAND"&&(n.isRemoveUserEnabled=!1),n.getMfaCount(),n.LicenseValid=!0,n.editUserPolicy.O365SubscriptionID!==""&&(n.isLicenceCountAvailable=!0),n.editUserPolicy.O365SubscriptionID==null?(n.IsO365SubscriptionsEditable=!0,n.IsmfaHidden=!0):n.IsO365SubscriptionsEditable=!1,n.splitODSPolicyName(),n.assignExistingUsers(),n.importUsersListData.Recipients=[],n.TempImportUsers={},r=n.editUserPolicy.UserBasicInfo.length,i=0;i<r;i++)n.TempImportUsers.EmailAddress=n.editUserPolicy.UserBasicInfo[i].Email,n.TempImportUsers.ID=n.editUserPolicy.UserBasicInfo[i].ID,n.importUsersListData.Recipients.push({EmailAddress:n.TempImportUsers.EmailAddress,ID:n.TempImportUsers.ID});return o(function(){angular.copy(n.importUsersListData.Recipients,n.UserPolicyMembersTempCopy);n.UserList=[];angular.forEach(n.UserPolicyMembersTempCopy,function(t){n.UserList.push(t.ID)});n.deletePermissionChecker();n.isExportMembersChecker()}),angular.forEach(n.editUserPolicy.UserPolicySetting,function(t){t.SettingValue=="true"?t.SettingValue=!0:t.SettingValue=="false"&&(t.SettingValue=!1);t.SettingKey.indexOf("_TODO_")!==-1&&(n.setToDoInfo=n.toDoInformation);(t.SettingKey=="STREAM_O365_E1"||t.SettingKey=="STREAM_O365_E3"||t.SettingKey=="STREAM_O365_E5")&&t.SettingValue==!0?n.IsMicrosoftStreamOn=!0:t.SettingKey=="TEAMS1"&&t.SettingValue==!0&&(n.MicrosoftTeamsOn=!0);t.SettingKey=="TEAMSCALLRECORDING"&&t.SettingValue==!0?(n.TeamsCallRecordingDisabled=!1,n.TeamsCallRecordingError=!1,n.TeamsCallRecordingOldValue=!0,n.IsTeamsCallRecordingOn=!0,$(".team-call-recording")["0"].dataset.originalTitle=""):t.SettingKey=="TEAMSCALLRECORDING"&&t.SettingValue==!1&&(n.TeamsCallRecordingOldValue=!1,n.IsTeamsCallRecordingOn=!1,n.MicrosoftTeamsOn==!1||n.IsMicrosoftStreamOn==!1?($(".team-call-recording")["0"].dataset.originalTitle=n.EnableDisableTitle,$(".team-call-recording[title]").tooltip("enable"),n.TeamsCallRecordingDisabled=!0):($(".team-call-recording")["0"].dataset.originalTitle="",n.TeamsCallRecordingDisabled=!1));t.SettingKey=="SHAREPOINTSTANDARD"&&t.SettingValue==!0?n.SharePointStandard=!0:t.SettingKey=="SHAREPOINTSTANDARD"&&t.SettingValue==!1&&(n.SharePointStandard=!1,n.SharePointStandardError=!1);t.SettingKey=="POWERBIFREE"&&t.SettingValue==!0?n.PowerBIFreeSwitch=!0:t.SettingKey=="POWERBIFREE"&&t.SettingValue==!1&&(n.PowerBIFreeSwitch=!1);t.SettingKey=="MFA"&&t.SettingValue==!0&&(n.mfaSubscriptionGroupSwitch=!0);t.SettingKey=="LARGEMAILBOXSIZE"&&(n.largeMailBoxSizeButtonVisible=!0,t.SettingValue==!0&&(n.LargeMailBoxSizeEnabled=!0))}),n.initializeApplications(),n.organisationListUserPolicyId=n.AllOrgID,n.callAPIForLicenceList(),n.MailEnabled=n.editUserPolicy.MailEnabled,n.validateAddUser(),t})};n.modalMarkupLoaded();n.validateAddUser=function(){return n.SelectedOrganisation.Name!==""?n.isOffice365AddOnSettingsVisible?n.O365SubscriptionID!==null&&n.AddonSubscriptionList.length!==0&&n.PowerBIFreeSwitch==!1&&n.mfaLicenseCount>0?($(".add-user-wrapper[title]").tooltip("disable"),!0):($(".add-user-wrapper[title]").tooltip("enable"),n.isAddUserDisabled=!1,!1):($(".add-user-wrapper[title]").tooltip("disable"),!0):($(".add-user-wrapper[title]").tooltip("enable"),n.isAddUserDisabled=!1,!1)};checkMFACondition=function(){n.selectedbaselicence=n.selectedO365Subscription.LicenceDescription==undefined?n.newselectedLicenseType:n.selectedO365Subscription.LicenceDescription;n.newMfaError=b.O365subscriptions.indexOf(n.selectedbaselicence)==-1};n.validateMaxUsers=function(){var t=n.addedUserList.length-n.removedUserList.length;return(n.originalMfaState==!1&&n.mfaSubscriptionGroupSwitch==!0&&(t=n.UserList.length),t>n.licenseTypeValue.LicenceCount)?(n.licenceCountError.Description=n.licenseTypeValue.Description,n.licenceCountError.LicenceCount=n.licenseTypeValue.LicenceCount,!0):n.mfaSubscriptionGroupSwitch&&n.newMfaError&&t>n.mfaLicense.LicenceCount?(n.licenceCountError.Description="MFA",n.licenceCountError.LicenceCount=n.mfaLicense.LicenceCount,!0):!1};n.isAddUserDisabled=n.validateAddUser();n.updateAddOnLicenses=function(){var i=[],t;n.UserPolicyUISettingKeyList=[];n.userPolicyUiDescriptionList=[];n.UserPolicySettingKeyList=[];n.getLicenseDesc="";angular.forEach(n.editUserPolicy.UserPolicySetting,function(t){if(t.SubscriptionId===n.editUserPolicy.O365SubscriptionID){n.getLicenseDesc=t.LicenceDescription;return}});angular.forEach(n.editUserPolicy.UserPolicySetting,function(t){n.UserPolicyUISettingKeyList.push(t.SettingKey);n.UserPolicySettingKeyList.push(t);n.userPolicyUiDescriptionList.push(t.Description)});n.AddOnLicences.length==0&&(n.UserPolicyAddonUiSettings=[]);n.AddOnLicences.length>0&&(t=[],i=[],angular.forEach(n.AddOnLicences,function(r){angular.forEach(n.licenseTypeAddOnsOptions,function(u){if(r.ID==u.ID){var f={Description:u.LicenceDescription,UserpolicyUi:[]};angular.forEach(u.O365ApplicationsList,function(i){var r={SettingUIKey:"",SettingValue:"",SettingSku:"",SubscriptionId:u.ID},s,e,o;n.UserPolicyUISettingKeyList.indexOf(i.ApplicationName)==-1&&n.userPolicyUiDescriptionList.indexOf(i.ApplicationName)==-1?(r.SettingUIKey=i.Description,r.SettingValue=!0,n.UserPolicyAddonUiSettings.length>0&&angular.forEach(n.UserPolicyAddonUiSettings,function(n){angular.forEach(n.UserpolicyUi,function(n){n.SettingSku==i.ApplicationName&&(r.SettingValue=n.SettingValue)})}),r.SettingSku=i.ApplicationName,t.indexOf(i.ApplicationName)==-1&&(f.UserpolicyUi.push(r),t.push(i.ApplicationName))):(s=!1,e=n.UserPolicyUISettingKeyList.indexOf(i.ApplicationName),e==-1&&(s=!0,e=n.userPolicyUiDescriptionList.indexOf(i.ApplicationName)),o=n.UserPolicySettingKeyList[e],typeof o!="undefined"&&o.SubscriptionId==u.ID&&(r.SettingUIKey=i.Description,r.SettingValue=o.SettingValue,r.SettingSku=i.ApplicationName,t.indexOf(i.ApplicationName)==-1&&(f.UserpolicyUi.push(r),t.push(i.ApplicationName)),s?n.userPolicyUiDescriptionList.splice(e,1):n.UserPolicyUISettingKeyList.splice(e,1),n.UserPolicySettingKeyList.splice(e,1),n.editUserPolicy.UserPolicySetting.splice(e,1)))});f.UserpolicyUi.length>0&&i.push(f)}})}),n.UserPolicyAddonUiSettings=i)};n.callAPIForLicenceList=function(){n.isLicenceListProcessingError=!1;r.GetO365SubscriptionsList({orgId:n.SelectedOrganisation.ID}).$promise.then(function(t){if(t==undefined)return n.isLicenceListProcessingError=!0,t;n.o365SubscriptionsOptions=t;var i=n.o365SubscriptionsOptions.filter(function(n){return n.IsMFA});return n.isNationalPolicy!=!0&&(i.length==0?(n.mfaLicense={LicenceCount:0},n.mfaWarning=n.mfaLengthError,n.mfaButtonDisabled=!0,n.mfaSubscriptionGroupSwitch=!1):(n.mfaLicense=i[0],i.length>0&&(n.mfaWarning=""))),n.o365SubscriptionsOptions=n.o365SubscriptionsOptions.filter(function(n){return!(n.IsAddOn||n.IsMFA)}),n.licenseTypeAddOnsOptions=t,n.licenseTypeAddOnsOptions=n.licenseTypeAddOnsOptions.filter(function(n){return n.IsAddOn}),angular.forEach(n.AddonSubscriptionList,function(t){var i=n.licenseTypeAddOnsOptions.filter(function(n){return n.ID==t.O365SubscriptionID});t.O365SubscriptionID!=null&&n.AddOnLicences.push({ID:t.O365SubscriptionID,LicenceCount:i[0].LicenceCount})}),n.licenseTypeValue={},angular.forEach(n.o365SubscriptionsOptions,function(t){t.ID==n.editUserPolicy.O365SubscriptionID&&(n.newselectedLicenseType=t.LicenceDescription,n.selectedO365SubscriptionsDescription=t.Description,n.licenseTypeValue.LicenceCount=t.LicenceCount,n.licenseTypeValue.Description=t.Description,n.licenceCountCheck=t.LicenceCount,n.isAddUserDisabled=!0,n.newselectedLicenseType!==n.f3LicenceDescription?$(".team-call-recording[title]").tooltip("enable"):(n.TeamsCallRecordingDisabled=!0,$(".team-call-recording")["0"].dataset.originalTitle="",$(".team-call-recording[title]").tooltip("disable")));n.updateCombinedSubscriptions()}),angular.forEach(n.editUserPolicy.O365LicenceGroups,function(t){var i=n.licenseTypeAddOnsOptions.map(function(n){return n.LicenceTypeID}).indexOf(t.O365LicenceTypesID);i>-1&&(n.licenseTypeAddOnsOptions[i].SettingValue=!0,n.licenseTypeAddOnsOptionsBefore.push(n.licenseTypeAddOnsOptions[i].LicenceTypeID),n.licenseTypeAddOnsOptions[i].AccountSku=="PROJECTPREMIUM"&&n.licenseTypeAddOnsOptions[i].SettingValue==!0?(n.MicrosoftProjectOnline=!0,n.newselectedLicenseType=="Office 365 Enterprise E1"&&n.SharePointStandard==!0?n.SharePointStandardError=!0:n.newselectedLicenseType=="Office 365 Enterprise E1"&&n.SharePointStandard==!1&&(n.SharePointStandardError=!1)):n.licenseTypeAddOnsOptions[i].AccountSku=="PROJECTPREMIUM"&&n.licenseTypeAddOnsOptions[i].SettingValue==!1&&(n.MicrosoftProjectOnline=!1,n.SharePointStandardError=!1))}),n.assignDescriptionAsSettingKey(n.editUserPolicy.UserPolicySetting),n.assignDescriptionAsSettingKey(n.UserPolicySettingsTempCopy),t})};k="userPolicy/ImportUsers";d=100;tt();it();n.uploader=new f({url:baseUrlValue+k,headers:{Authorization:"Bearer "+sessionStorage.getItem("JWToken")},removeAfterUpload:!0});n.uploader.onSuccessItem=function(t,i){var f,r,u;for(n.removedUserList=n.existingUserList,n.uploadedFile=t.file.name,n.importUsersList.Recipients=[],n.TempUsers={},f=i.length,r=0;r<n.UserPolicyMembersTempCopy.length;r++)n.importUsersList.Recipients.push({EmailAddress:n.UserPolicyMembersTempCopy[r].EmailAddress,EmailType:null,ID:n.UserPolicyMembersTempCopy[r].ID});for(u=0;u<i.length;u++)n.TempUsers.EmailAddress=i[u].EmailAddress,n.TempUsers.ID=i[u].ID,n.importUsersList.Recipients.push({EmailAddress:n.TempUsers.EmailAddress,EmailType:null,ID:n.TempUsers.ID}),n.UserList.push(n.TempUsers.ID),n.assignAddedUsers(n.TempUsers.ID);angular.copy(n.importUsersList.Recipients,n.UserPolicyMembersTempCopy);n.UserPolicyMembersTempCopy=l("removeDuplicates")(n.UserPolicyMembersTempCopy,"EmailAddress");n.totalImportedRecordCount=i.length;n.totalImportedRecordCount>g?(n.MaxSizeOfUserUploadError=!0,n.showUploadResults=!0,n.showSuccessResult=!1,n.showErrorResults=!1,n.isUploadDisabled=!0,n.IsUpdatePermissionDisable=!0):(n.showUploadResults=!0,n.showSuccessResult=!0,n.showErrorResults=!1,n.isUploadDisabled=!0,n.IsUpdatePermissionDisable=!1)};n.uploader.onErrorItem=function(t,i){if(n.uploadedFile=t.file.name,i.Errors.length>0)for(var r=0;r<i.Errors.length;r++){if(r>d){n.detailList.push("error list limited to first "+d);break}i.Errors[r].FieldName==="UserPrincipalName"?n.detailList.push(i.Errors[r].Detail+" can not be added to the user policy because, "+i.Errors[r].Message):i.Errors[r].FieldName==="EmailAddress"?n.detailList.push(i.Errors[r].Message+i.Errors[r].Detail):n.detailList.push(i.Errors[r].Message)}else i.Errors&&i.Errors.length>0?n.detailList.push(i.Errors[0].Message+": "+i.Errors[0].Detail):n.detailList.push("Failed to parse file");n.showUploadResults=!0;n.showSuccessResult=!1;n.showErrorResults=!0;n.isUploadDisabled=!0};n.uploader.onAfterAddingFile=function(t){n.selectedFile=t.file.name;n.isUploadDisabled=n.selectedFile!==""?!1:!0;tt();it()};n.uploader.onBeforeUploadItem=function(t){t.method="PUT";t.formData.push({OrgId:n.SelectedOrganisation.ID});t.formData.push({UserPolicyId:n.viewUserPolicy.UserPolicyID});t.formData.push({O365SubscriptionID:n.editUserPolicy.O365SubscriptionID});p.start()};n.uploader.onCompleteAll=function(){p.stop()};n.isExportMembersDisabled=!1;n.isExportMembersChecker=function(){n.isExportMembersDisabled=y.contains("USERPOLICY_READ")&&n.UserPolicyMembersTempCopy.length==0?!0:!1};n.exportMembers=function(){v.location.href="ExportCSV/ExportUserPolicyMembers?userPolicyID="+n.viewUserPolicy.UserPolicyID};n.isEditUserPolicyVisible=!0;n.isAddUserPolicyMembersVisible=!1;n.UserPolicyMembersTempCopy=[];n.UserList=[];n.organisationListUserPolicyId=[];n.setupUserPickerDone=function(){var t=n.$on("UserPickerSelectionDone",function(){var f=e.currentSource,o=a(f)(n),r=[],i,s,u;angular.forEach(n.selectedEmail,function(t){t.Email!=null&&(i={EmailAddress:t.Email,ID:t.ID,EmailType:t.EmailType},r.push(i),n.UserList.push(i.ID),n.assignAddedUsers(i.ID))});s=o==""?r:o.concat(r);u=l("removeDuplicates")(s,"EmailAddress");a(f).assign(n,u);t();n.isEditUserPolicyVisible=!0;n.isAddUserPolicyMembersVisible=!1;n.UserPolicyMembersTempCopy=u})};n.isUploadDisabled=!0;nt=4194304;n.Upload=function(){if(angular.isUndefined(n.uploader.queue)){n.isUploadDisabled=!0;return}n.isUploadDisabled=!1;var t=n.uploader.queue[0].file;if(t.size>nt){n.fileErrors.fileTooBig=!0;n.uploader.clearQueue();return}if(t.name.split(".").pop()!="csv"){n.fileErrors.wrongExtension=!0;n.uploader.clearQueue();return}n.uploader.url=baseUrlValue+k;n.uploader.uploadAll();$("#importUsersUploadCSVModal").modal("hide");document.getElementById("csvUsersUploaderInput").value=""};n.cancelImport=function(){n.selectedFile="";n.fileErrors.wrongExtension=!1;$("#importUsersUploadCSVModal").modal("hide");n.isUploadDisabled=!0};n.clear=function(){angular.element("input[type='file']").val(null);n.selectedFile="";n.uploader.clearQueue();n.isUploadDisabled=!0};n.addMembersListClick=function(t){if(rt(),ft(),n.licenseTypeValue.LicenceCount==0||n.NoAddOnLicenseError){n.NoUserUploadError=!0;n.showUploadResults=!0;n.isAddUserDisabled=!1;return}n.fileErrors.fileTooBig=!1;n.fileErrors.wrongExtension=!1;n.showValidationResults=!1;n.showUploadResults=!1;n.showSuccessResult=!1;n.showErrorResults=!1;e.currentSource=t;angular.copy([],n.selectedEmail);n.isEditUserPolicyVisible=!1;n.isAddUserPolicyMembersVisible=!0;n.setupUserPickerDone(t)};n.removeMembers=function(t){n.UserPolicyMembersTempCopy=l("filter")(n.UserPolicyMembersTempCopy,function(n){return n.EmailAddress!=t.EmailAddress});n.UserList=[];angular.forEach(n.UserPolicyMembersTempCopy,function(t){n.UserList.push(t.ID)});n.assignRemovedUsers(t.ID);n.removeUsersFromAddedUserList(t.ID);n.validateMaxUsers()||(n.MaxUsersExceedsError=!1,n.showUploadResults=!1)};n.$on("UserPickerSelectionCancelled",function(){n.isEditUserPolicyVisible=!0;n.isAddUserPolicyMembersVisible=!1});n.assignDescriptionAsSettingKey=function(t){angular.forEach(t,function(t){t.SettingKey=="MFA"&&(n.mfaSubscriptionGroupSwitch=t.SettingValue,n.originalMfaState=t.SettingValue);t.SettingKey=="TEAMSCALLRECORDING"&&(n.IsTeamsCallRecordingOn=t.SettingValue);t.SettingKey=="POWERBIFREE"&&(n.PowerBIFreeSwitch=t.SettingValue);t.SettingKey=="SHAREPOINTWAC"&&(n.isOfficeOnlineAvailable=!0);angular.forEach(n.o365SubscriptionsOptions,function(i){i.ID==n.editUserPolicy.O365SubscriptionID&&angular.forEach(i.O365ApplicationsList,function(n){t.SettingKey==n.ApplicationName&&(t.SettingKey=n.Description)})});var i=[];angular.forEach(n.editUserPolicy.AddonSubscriptionList,function(n){i.push(n.O365SubscriptionID)});angular.forEach(n.licenseTypeAddOnsOptions,function(n){i.indexOf(n.ID)!=1&&angular.forEach(n.O365ApplicationsList,function(n){t.SettingKey==n.ApplicationName&&(t.SettingKey=n.Description)})})})};n.updateToggledApplications=function(){angular.forEach(n.editUserPolicy.UserPolicySetting,function(t){t.SettingEdited&&angular.forEach(n.UserPolicySettingsTempCopy,function(i){t.SettingKey===i.SettingKey&&(t.SettingValue!==i.SettingValue?n.ApplicationToggeled.push({SettingKey:t.SettingKey,SettingValue:t.SettingValue,SubscriptionId:t.SubscriptionId}):t.SettingKey.indexOf("Microsoft Stream")!==-1||t.SettingKey.indexOf("Microsoft Teams")!==-1?n.ApplicationToggeled.push({SettingKey:t.SettingKey,SettingValue:t.SettingValue,SubscriptionId:t.SubscriptionId}):t.SettingKey.indexOf("Microsoft Teams")!==-1&&n.ApplicationToggeled.push({SettingKey:t.SettingKey,SettingValue:t.SettingValue,SubscriptionId:t.SubscriptionId}))})});var t=-1;angular.copy(n.ApplicationToggeled,n.UserPolicyAppSettingTemp);angular.forEach(n.UserPolicyAppSettingTemp,function(i){(i.SettingKey=="MFA"||i.SettingKey=="TEAMSCALLRECORDING"||i.SettingKey=="POWERBIFREE"||i.SettingKey=="LARGEMAILBOXSIZE")&&(n.UserPolicyAppSetting.push(i),t=n.ApplicationToggeled.map(function(n){return n.SettingKey}).indexOf(i.SettingKey),n.ApplicationToggeled.splice(t,1))});n.UserPolicyAppSetting.some(function(n){return n.SettingKey==="TEAMSCALLRECORDING"})||n.UserPolicyAppSetting.push({SettingKey:"TEAMSCALLRECORDING",SettingValue:n.IsTeamsCallRecordingOn});n.UserPolicyAppSetting.some(function(n){return n.SettingKey==="MFA"})||n.UserPolicyAppSetting.push({SettingKey:"MFA",SettingValue:n.mfaSubscriptionGroupSwitch});n.UserPolicyAppSetting.some(function(n){return n.SettingKey==="POWERBIFREE"})||n.UserPolicyAppSetting.push({SettingKey:"POWERBIFREE",SettingValue:n.PowerBIFreeSwitch});angular.forEach(n.ApplicationToggeled,function(t){angular.forEach(n.o365SubscriptionsOptions,function(i){i.ID==n.editUserPolicy.O365SubscriptionID&&angular.forEach(i.O365ApplicationsList,function(n){t.SettingKey==n.Description&&(t.SettingKey=n.ApplicationName)})})})};n.isODSCodeAdded=!1;n.splitODSPolicyName=function(){n.editUserPolicy.Name==="PODS_NationalPolicy"?n.policyName=n.editUserPolicy.Name.replace("PODS_",""):n.editUserPolicy.Name.includes(n.SelectedOrganisation.ODSCode+"_")&&(n.policyName=n.editUserPolicy.Name.replace(n.SelectedOrganisation.ODSCode+"_",""))};n.ODSCodeDetails={};n.userPolicyNameChange=function(){n.ODSCodeDetails=u.UserPolicyNameChange(n.SelectedOrganisation.ODSCode,n.policyName,n.isODSCodeAdded);n.userPolicyName=n.ODSCodeDetails.userPolicyName;n.isODSCodeAdded=n.ODSCodeDetails.isODSCodeAdded;n.deletePermissionChecker();n.deletePermission&&(n.deletePermission=n.isODSCodeAdded)};checkAddOnCondition=function(){n.selectedbaselicence=n.selectedO365Subscription.LicenceDescription==undefined?n.newselectedLicenseType:n.selectedO365Subscription.LicenceDescription;n.DialInError=!1;angular.forEach(n.AddOnLicences,function(t){t.LicenceDescription=="Dial-in Conferencing"&&n.selectedbaselicence!="Office 365 Enterprise E1"&&n.selectedbaselicence!="Office 365 Enterprise E3"&&n.selectedbaselicence!="Office 365 User"&&n.selectedbaselicence!="Office 365 Administrator"&&(n.DialInError=!0)})};n.updateUserPolicy=function(i){var u,f;if(!i.$invalid){if(checkMFACondition(),n.validateMaxUsers()){n.MaxUsersExceedsError=!0;n.showUploadResults=!0;return}if(n.MaxUsersExceedsError=!1,!n.SharePointDisableError&&!n.SharePointDisableAddOnError&&!n.TeamsCallRecordingError&&!n.SharePointStandardError){if(!n.LicenseValid){n.LicenseValid=!1;return}(checkAddOnCondition(),n.DialInError)||(n.updateToggledApplications(),n.O365LicenceGroups=[],n.editUserPolicy.LicenceTypeID!==null&&n.editUserPolicy.LicenceTypeID!=="undefined"&&n.editUserPolicy.LicenceTypeID!==""&&n.O365LicenceGroups.push({UserPolicyID:n.viewUserPolicy.UserPolicyID,O365LicenceTypesID:n.editUserPolicy.LicenceTypeID}),u=n.licenseTypeAddOnsOptions.filter(function(n){if(n.hasOwnProperty("SettingValue")&&n.SettingValue)return n}).map(function(n){return n.LicenceTypeID}),angular.forEach(u,function(t){n.O365LicenceGroups.push({UserPolicyID:n.viewUserPolicy.UserPolicyID,O365LicenceTypesID:t})}),n.addOnLicenseAppList=[],angular.forEach(n.UserPolicyAddonUiSettings,function(t){angular.forEach(t.UserpolicyUi,function(t){var i={SettingKey:t.SettingSku,SettingValue:t.SettingValue,SubscriptionId:t.SubscriptionId};n.addOnLicenseAppList.push(i)})}),n.AddOnSubsID=[],angular.forEach(n.AddOnLicences,function(t){t.ID!==undefined&&n.AddOnSubsID.push({O365SubscriptionID:t.ID,UserPolicyID:n.ID})}),n.setTeamsCallRecordingSettings(),n.ApplicationToggeled=l("removeDuplicates")(n.ApplicationToggeled,"SettingKey"),n.edituserPolicyDetails={ID:n.viewUserPolicy.UserPolicyID,Name:n.userPolicyName,Description:n.editcreatePolicyDescription.desc,IsO365AddOnEnabled:n.isOffice365AddOnSettingsVisible,OwningOrganisation:{OrganisationID:n.SelectedOrganisation.ID,OrganisationName:n.SelectedOrganisation.Name,ODSCode:n.SelectedOrganisation.ODSCode},UserList:n.UserList,RemovedUserList:n.removedUserList,MailEnabled:n.MailEnabledValue,LicenceTypeID:n.editUserPolicy.LicenceTypeID,UserPolicySetting:n.UserPolicyAppSetting,AddOnApplicationSetting:n.addOnLicenseAppList,O365LicenceGroups:n.O365LicenceGroups,O365ApplicationSetting:n.ApplicationToggeled,O365SubscriptionID:n.O365SubscriptionID,AddonSubscriptionList:n.AddOnSubsID,TeamsCallRecordingSettings:{UserPolicyId:n.viewUserPolicy.UserPolicyID,OrganisationId:n.SelectedOrganisation.ID,AddedUsers:n.setTeamsCallRecordingDetails.AddedUsers,RemovedUsers:n.setTeamsCallRecordingDetails.RemovedUsers},LicencesSettings:{Users:n.UserList}},n.isNationalPolicy&&(n.edituserPolicyDetails.O365ApplicationSetting=[],n.UserPolicySettingTemp=[],angular.forEach(n.edituserPolicyDetails.UserPolicySetting,function(t){t.SettingKey==="MFA"&&n.UserPolicySettingTemp.push(t)}),n.edituserPolicyDetails.UserPolicySetting=n.UserPolicySettingTemp),f=JSON.stringify(n.licenseTypeAddOnsOptionsBefore)!=JSON.stringify(u),n.removedAddOns=l("FirstArrayMinusSecondArray")(n.licenseTypeAddOnsOptionsBefore,u),n.addedAddOns=l("FirstArrayMinusSecondArray")(u,n.licenseTypeAddOnsOptionsBefore),n.removedAddOnLicenceTypeIds=[],n.removedAddOns.forEach(function(t){angular.forEach(n.licenseTypeAddOnsOptions,function(i){i.ID==t.O365SubscriptionID&&n.removedAddOnLicenceTypeIds.push(i.LicenceTypeID)})}),n.addedAddOnLicenceTypeIds=[],n.addedAddOns.forEach(function(t){angular.forEach(n.licenseTypeAddOnsOptions,function(i){i.ID==t.O365SubscriptionID&&n.addedAddOnLicenceTypeIds.push(i.LicenceTypeID)})}),n.editUserPolicy.LicenceTypeID!==""&&n.editUserPolicy.LicenceTypeID!==null&&(n.addedUserList.length>0||n.removedUserList.length>0)||n.isOffice365AddOnSettingsVisible&&n.LicenceListAddOns.length>0&&n.UserList.length>0||f||n.isBaseLicenceChanged||n.ApplicationToggeled.length>0||n.UserPolicyAppSetting.length>0||n.addedUserList.length>0||n.removedUserList.length>0||n.userPolicyName!=n.editUserPolicy.Name||n.editcreatePolicyDescription.desc!=n.editUserPolicy.Description||JSON.stringify(n.AddOnSubsID)!=JSON.stringify(n.InitialO365SubscriptionList)?r.Update(n.edituserPolicyDetails).$promise.then(function(n){return n===undefined?n:(n.Result.Success||h.error(n.Result.Errors[0].Message+" "+n.Result.Errors[0].Detail,{ttl:1e4}),t.path("/UserPolicies"),n)}).catch(function(n){n.name=="TypeError"&&t.path("/UserPolicies")}):t.path("/UserPolicies"))}}};n.assignExistingUsers=function(){angular.forEach(n.editUserPolicy.UserPolicySetting,function(t){t.SettingKey==="MFA"&&(n.oldMFAValue=t.SettingValue);t.SettingKey==="TeamsCallRecording"&&(n.oldTeamsCallRecordingValue=t.SettingValue)});angular.forEach(n.editUserPolicy.UserBasicInfo,function(t){n.existingUserList.push(t.ID)})};n.assignAddedUsers=function(t){n.addedUserList.push(t)};n.assignRemovedUsers=function(t){angular.forEach(n.existingUserList,function(i){i===t&&n.removedUserList.push(t)})};n.removeUsersFromAddedUserList=function(t){angular.forEach(n.addedUserList,function(i,r){t===i&&n.addedUserList.splice(r,1)})};n.setTeamsCallRecordingSettings=function(){n.newTeamsCallRecordingValue=n.IsTeamsCallRecordingOn;n.TeamsCallRecordingOldValue!=n.newTeamsCallRecordingValue?n.newTeamsCallRecordingValue==!0?(n.setTeamsCallRecordingDetails.AddedUsers=n.UserList,n.setTeamsCallRecordingDetails.RemovedUsers=n.removedUserList):n.setTeamsCallRecordingDetails.RemovedUsers=n.UserList:n.TeamsCallRecordingOldValue==!0?(n.addedUserList.length>0&&(n.setTeamsCallRecordingDetails.AddedUsers=n.UserList),n.removedUserList.length>0&&(n.setTeamsCallRecordingDetails.RemovedUsers=n.removedUserList)):n.TeamsCallRecordingOldValue==!1&&(n.setTeamsCallRecordingDetails.RemovedUsers=n.UserList)};n.setPowerBIFreeLicenseSettings=function(){n.newPowerBIFreeLicenseValue=n.PowerBIFreeSwitch.toString();n.oldPowerBIFreeLicenseValue!==n.newPowerBIFreeLicenseValue?n.newPowerBIFreeLicenseValue==="true"?(n.setPowerBIFreeLicenseDetails.AddedUsers=n.UserList,n.setPowerBIFreeLicenseDetails.RemovedUsers=n.removedUserList):n.setPowerBIFreeLicenseDetails.RemovedUsers=n.UserList:n.oldPowerBIFreeLicenseValue==="true"&&(n.addedUserList.length>0&&(n.setPowerBIFreeLicenseDetails.AddedUsers=n.addedUserList),n.removedUserList.length>0&&(n.setPowerBIFreeLicenseDetails.RemovedUsers=n.removedUserList))};n.LicenceSettingsChange=function(){r.GetLicenceSettings({licenceID:n.editUserPolicy.LicenceTypeID}).$promise.then(function(t){angular.forEach(t,function(t){t.SettingsKey=="LARGEMAILBOXSIZE"&&t.SettingsValue=="true"?n.LargeMailBoxSizeEnabled=!0:t.SettingsKey=="LARGEMAILBOXSIZE"&&t.SettingsValue=="false"&&(n.LargeMailBoxSizeEnabled=!1)})})};n.deletePermission=!1;n.deletePermissionChecker=function(){n.deletePermission=y.contains("USERPOLICY_DELETE")&&n.UserPolicyMembersTempCopy.length==0?!0:!1};n.deleteUserPolicy=function(){r.DeleteUserPolicy({userPolicyID:n.viewUserPolicy.UserPolicyID}).$promise.then(function(n){return n==undefined?n:n.Result.Success?(t.path("/UserPolicies"),n):(h.error(n.Result.Errors[0].Message+" "+n.Result.Errors[0].Detail,{ttl:1e4}),n)})};n.getMfaCount=function(){var t=[n.SelectedOrganisation.ID],i={orgID:t};r.GetMFALicenseCount(i).$promise.then(function(t){n.mfaLicenseCount=t.MfaLicense.LicenseCount})};n.DisplayLicenceLimitMessage=function(){return n.selectedO365SubscriptionsDescription.includes("National")&&n.AddOnLicences.length>0||n.selectedO365SubscriptionsDescription.includes("Local")||n.AddOnLicences!=undefined&&n.AddOnLicences.length>0?!0:!1}}]);userAdminAppControllersModule.controller("UserAdminUserPolicySearchController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","SearchPolicyVisibleColumns","SearchPolicyColumns","SearchPolicySearchParams","$window","PermissionChecker","$filter",function(n,t,i,r,u,f,e,o,s,h,c,l){var a;n.animationsEnabled=!1;n.showAndHideCreateSearchPolicyDropDown=!1;n.showCreateDynamicCreateSearchDropDown=!1;n.isDisabledAddButton=!0;n.itemsOnPage="10";n.getDistribution="";n.isSearchPolicyProcessingError=!1;n.Status=["Active","Disabled","Unknown","Pending","Rejected"];n.Type=["Dynamic","Static"];n.Hidden=["False","True"];n.isSearchPolicyEmpty=!1;n.role="USERPOLICY_CREATE";a="";n.isPolicyEditDisabled=!1;n.openSearchPolicyColumnPicker=function(){var t=n.SearchPolicyColumnsVisible,r=i.open({animation:n.animationsEnabled,templateUrl:"./Angular/Apps/UserAdmin/Common/Views/ListUsersColumnPicker.html",controller:"ListUsersColumnPicker",size:"lg",resolve:{items:function(){return n.SearchPolicyColumnsVisible},names:function(){return n.SearchPolicyColumns}}});r.result.then(function(){u.NHSmailSearchPolicyColumns=n.SearchPolicyColumnsVisible},function(){n.SearchPolicyColumnsVisible=t})};n.SearchPolicyRequest={};n.SearchPolicyColumnsVisible=u.NHSmailSearchPolicyColumns;n.SearchPolicyColumnsVisible||(n.SearchPolicyColumnsVisible=new e);n.SearchPolicyColumns=new o;var v="",y=function(n,t){angular.isUndefined(u.SearchPolicySearchParams)&&(u.SearchPolicySearchParams={});t!=v&&(u.SearchPolicySearchParams={});u.SearchPolicySearchParams=n;u.SearchPolicySearchParams.simpleOrAdvanced=t},p=function(){if(a=="advanced"&&n.SearchPolicyAdvancedSearchParams!=[]){var t={};angular.copy(n.SearchPolicyAdvancedSearchParams,t);y(t,"advanced");t={}}u.SearchPolicySearchResults=n.SearchPolicyItems},w=function(){if(angular.isUndefined(u.SearchPolicySearchResults)&&(u.SearchPolicySearchResults={}),Object.keys(u.SearchPolicySearchResults).length!=0&&(n.showEmptyTable=!0,n.SearchPolicyItems=u.SearchPolicySearchResults,u.SearchPolicySearchParams.simpleOrAdvanced=="advanced")){var t={};angular.copy(u.SearchPolicySearchParams,t);t={}}};n.modalMarkupLoaded=function(){w();c.contains("USERPOLICY_CREATE")?(n.isDisabledAddButton=!1,n.showAndHideCreateSearchPolicyDropDown=!0):(n.isDisabledAddButton=!0,n.showAndHideCreateSearchPolicyDropDown=!1);c.contains("USERPOLICY_UPDATE")&&(n.isPolicyEditDisabled=!1)};n.modalMarkupLoaded();n.callAPI=function(t,i){i&&(t.matchAny=!0);clearInterval(n.myInterval);n.isSearchPolicyProcessingError=!1;n.SearchPolicyRequest=t;n.SearchPolicyRequest.MatchAny=i;r({method:"POST",url:baseUrlValue+"userPolicy/search",data:n.SearchPolicyRequest}).success(function(t){n.SearchPolicyItems=l("orderObjectBy")(t,"UserPolicyName");n.SearchPolicyItems.length==0?(n.isSearchPolicyEmpty=!0,n.SearchPolicyDisplayedTable=[]):(n.isSearchPolicyEmpty=!1,n.SearchPolicyDisplayedTable=[].concat(n.SearchPolicyItems));p();n.currentInputFocus&&setTimeout(function(){n.currentInputFocus.element.focus()},500)}).error(function(){n.isSearchPolicyProcessingError=!0})};n.viewPolicyDetails=function(n){t.url("/Policy/Edit/"+n.UserPolicyID)};n.SearchPolicyAdvancedSearchParams||(n.SearchPolicyAdvancedSearchParams=s());n.advancedSearch=function(){a="advanced";n.callAPI(n.SearchPolicyAdvancedSearchParams)};n.showOrHideDefaultView=function(){n.showEmptyTable=!0;n.advancedSearch()};n.searchUserOnEnterAdvanced=function(t){check=!1;t.which===13&&n.showOrHideDefaultView()};n.dropDownBasedSearch=function(){check=!1;n.showOrHideDefaultView()}}]);userAdminAppServicesModule.factory("LicenceSettingService",["UserPolicyAPI",function(n){return{GetLicenceSettings:function(t){var i=[];return n.GetLicenceSettings({licenceID:t}).$promise.then(function(n){n!=undefined&&angular.forEach(n,function(n){var t=[];t.SettingKey=n.SettingKey;t.SettingValue=!1;t.Description=n.Description;i.push(t)})}),i}}}]);userAdminAppServicesModule.factory("SearchPolicyColumns",function(){return function(){return[{title:"User Policy Name",key:"UserPolicyName"},{title:"Organisation",key:"OrganisationName"},{title:"ODS",key:"ODSCode"}]}});userAdminAppServicesModule.factory("SearchPolicySearchParams",function(){return function(){return{UserPolicyName:"",OrganisationName:"",ODSCode:""}}});userAdminAppServicesModule.factory("SearchPolicyVisibleColumns",function(){return function(){this.UserPolicyName=!0;this.OrganisationName=!0;this.ODSCode=!0}});userAdminAppControllersModule.factory("UserPolicyAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var r="Request failed";angular.isDefined(n.data.Result.Errors)&&n.data.Result.Errors.length>0?n.data.Result.Errors[0].ErrorCode===51?i.path("/AccessDenied"):n.data.Result.Errors[0].ErrorCode===102?r=n.data.Result.Errors[0].Message:(r+=": "+n.data.Result.Errors[0].Message,r+=". "+n.data.Result.Errors[0].Detail):angular.isDefined(n.data.Result.Errors[0].Message)?r+=": "+n.data.Result.Errors[0].Message:n.status===0?r="Request to server timed out":n.data.Result.Errors[0].ErrorCode===3&&(r=n.data.Result.Errors[0].Message+" "+n.data.Result.Errors[0].Detail);t.error(r,{ttl:1e4})}return n(baseUrlValue,{},{Create:{method:"POST",url:baseUrlValue+"userPolicy",interceptor:{responseError:u},timeout:r.XhrTimeout},Update:{method:"PUT",url:baseUrlValue+"userPolicy/editUserPolicy",interceptor:{responseError:u},timeout:r.XhrTimeout},IsO365AddOnEnabled:{method:"GET",params:{orgId:"@orgId"},url:baseUrlValue+"admin/organisations/isO365AddOnEnabled/:orgId",interceptor:{responseError:u},timeout:r.XhrTimeout},GetO365SubscriptionsList:{method:"GET",params:{orgId:"@orgId"},url:baseUrlValue+"admin/organisations/o365SubscriptionsList/:orgId",isArray:!0,interceptor:{responseError:u},timeout:r.XhrTimeout},GetPolicyDetails:{method:"GET",params:{userPolicyID:"@userPolicyID"},url:baseUrlValue+"userPolicy/:userPolicyID",interceptor:{responseError:u},timeout:r.XhrTimeout},DeleteUserPolicy:{method:"DELETE",params:{userPolicyID:"@userPolicyID"},url:baseUrlValue+"userPolicy/:userPolicyID",interceptor:{responseError:u},timeout:r.XhrTimeout},ValidateLicence:{method:"POST",url:baseUrlValue+"userPolicy/validateGroupLicense",interceptor:{responseError:u},timeout:r.XhrTimeout},GetLicenceSettings:{method:"GET",params:{licenceID:"@licenceID"},url:baseUrlValue+"userPolicy/licencesettings/:licenceID",isArray:!0,interceptor:{responseError:u},timeout:r.XhrTimeout},GetMFALicenseCount:{method:"GET",params:{orgId:"@orgId"},url:baseUrlValue+"userPolicy/MFA/LicenseCount",interceptor:{responseError:u},timeout:r.XhrTimeout},Search:{method:"POST",url:baseUrlValue+"userPolicy/search",isArray:!0,interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppServicesModule.factory("UserPolicyService",function(){var n="",t={},i="";return{licenseTypeschangedValue:function(n){return this.licenseTypeValue=n,this.licenseTypeValue.LicenceTypeID},ToggleToolTip:function(){return t.Name!==""?n?i!==""?($(".add-user-wrapper[title]").tooltip("disable"),!0):($(".add-user-wrapper[title]").tooltip("enable"),!1):($(".add-user-wrapper[title]").tooltip("disable"),!0):($(".add-user-wrapper[title]").tooltip("enable"),!1)},MaxSizeOfUserUpload:function(){return 5e3},UserPolicyNameChange:function(n,t,i){var r="";return n!==undefined&&t!==undefined&&t!==""&&t!==null?(r=n+"_"+t,i=!0):(r="",i=!1),{userPolicyName:r,isODSCodeAdded:i}}}});userAdminAppControllersModule.controller("UserAdminOfficeApplicationsController",["$scope","$location","$modal","$http","$timeout","growl","$routeParams","$filter","$parse","$window","PermissionChecker",function(n,t,i,r,u,f,e,o,s,h){n.officeSuite="Office Suite";n.goToOfficePortalLink=function(){h.open("https://login.microsoftonline.com/login.srf?wa=wsignin1.0&whr=domain.com&wreply=https://office.live.com","_blank")};n.goToOfficeApplications=function(n){h.open(n,"_blank")};n.imageSrc=baseUrl+"Images/";n.officeAppDetails=[{name:"ExcelTile",description:"ExcelTile",image:"ExcelTile.jpg",url:"https://office.live.com/start/Excel.aspx?auth=2&nf=1"},{name:"MicrosoftTeamsTile",description:"MicrosoftTeamsTile",image:"MicrosoftTeamsTile.jpg",url:"https://teams.microsoft.com/_"},{name:"OneDrive",description:"OneDrive",image:"OneDrive.jpg",url:"https://myoffice.accenture.com/"},{name:"OneNoteTile",description:"OneNoteTile",image:"OneNoteTile.jpg",url:"https://www.onenote.com/"},{name:"PowerPointTile",description:"PowerPointTile",image:"PowerPointTile.jpg",url:"https://office.live.com/start/PowerPoint.aspx?auth=2&nf=1"},{name:"SharePointTile",description:"SharePointTile",image:"SharePointTile.jpg",url:"https://products.office.com/en-IN/sharepoint/collaboration?ms.officeurl=sharepoint"},{name:"WordTile",description:"WordTile",image:"WordTile.jpg",url:"https://office.live.com/start/Word.aspx?auth=2&nf=1"}]}]);userAdminAppControllersModule.controller("UserAdminCreateSharePointCollectionController",["$scope","$location","$modal","$sessionStorage","SharePointCollectionService","$http","$timeout","growl","$routeParams","$filter","$parse","$window","PermissionChecker","SharePointCollectionAPI","O365API",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y){n.sharePointManagementTitle="Create SharePoint Collection";n.isSharePointManagementVisible=!0;n.isAddOwnersVisible=!1;n.SelectedOrganisation={};n.sharePointCollection={};n.createsharePointCollection={};n.sharePointCollection.name="";n.createsharePointCollection.name="";n.sharePointCollection.address="";n.sharePointCollection.desc="";n.sharePointCollection.sharePointQuota="";n.sharePointCollection.externalSharing=!1;n.maxsharepointquota=u.MaxSharePointQuota();n.sharePointQuotaEnter=u.SharePointQuotaEnter();n.defaultSharePointQuota=u.DefaultSharePointQuota();n.Maxquota=!1;n.QuotaMsg=!1;n.sharepointMinquotaEnterError=!1;n.sharepointMaxLimitError=!1;n.sharepointquotaError=!1;n.sharepointquotaExceedError=!1;n.sharePointCollection.ownerList=[];n.OwningUsersTempCopy=[];n.isOwningUserPresent=!0;n.role="SHAREPOINT_COLLECTION_CREATE";n.OwningUserListErrors=u.OwningUserListErrors();n.organisationListUserPolicyId=[];n.TemplateSelected={};n.Templates=[];n.$on("UserPickerSelectionDone",function(){n.isSharePointManagementVisible=!0;n.showOwnerUserpicker=!1});n.$on("UserPickerSelectionCancelled",function(){n.isSharePointManagementVisible=!0;n.showOwnerUserpicker=!1});n.setupUserPickerDone=function(t){u.setupUserPickerDone(t,n)};n.addUsersListClick=function(t,i){u.addUsersListClick(t,i,n)};n.removeOwner=function(t){u.removeOwner(t,n)};n.sharepointquota=function(){n.sharepointquotaError=!1;v.GetQuota({dlID:n.SelectedOrganisation.ID}).$promise.then(function(t){return t!==undefined?(n.maxsharepointquota=t.storageQuota,n.maxsharepointquota>24576?(n.QuotaMsg=!0,n.Maxquota=!1):(n.Maxquota=!0,n.QuotaMsg=!1),t.storageQuota<n.defaultSharePointQuota)?(n.sharepointMinquotaError=!0,n.sharePointCollection.sharePointQuota="",t):(n.sharePointCollection.sharePointQuota=n.defaultSharePointQuota.toString(),t):(n.sharepointquotaError=!0,t)})};n.sharepointquotachanged=function(t){n.sharePointQuotaEnter=t;n.sharepointMaxLimitError=n.sharePointQuotaEnter>24576?!0:!1;n.sharepointMinquotaEnterError=n.sharePointQuotaEnter<n.defaultSharePointQuota?!0:!1;n.sharepointquotaExceedError=n.sharePointQuotaEnter>n.maxsharepointquota?!0:!1};n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.sharePointNameChange();n.organisationChange();n.$broadcast("OrganisationChanged");n.organisationListUserPolicyId[0]=n.SelectedOrganisation.ID};n.organisationChange=function(){n.SelectedOrganisation!=null&&n.SelectedOrganisation!="undefined"?(n.sharepointquota(),angular.copy([],n.treedata),n.OwningUsersTempCopy=[],n.sharePointCollection.ownerList=[],n.isOwningUserPresent=!1,n.sharepointquotaExceedError=!1,n.sharepointMinquotaError=!1,n.sharepointMinquotaEnterError=!1):(angular.copy([],n.treedata),n.SelectedOrganisation=undefined)};n.URL="";n.modalMarkupLoaded=function(){y.GetSharePointURL().$promise.then(function(i){return i!==undefined?(n.URL=i[0].ConfigurationValue,n.sharePointCollection.address=i[0].ConfigurationValue,i):(t.path("/SharePointCollection"),i)})};n.isODSCodeAdded=!1;n.ODSCodeError=!1;n.ODSCodeDetails={};n.sharePointNameChange=function(){n.ODSCodeDetails=u.SharePointNameChange(n.SelectedOrganisation.ODSCode,n.sharePointCollection.name,n.isODSCodeAdded);n.createsharePointCollection.name=n.ODSCodeDetails.SharePointName;n.isODSCodeAdded=n.ODSCodeDetails.isODSCodeAdded;n.sharePointCollection.address=n.URL+n.createsharePointCollection.name};n.sharePointCollectionCancelClick=function(){window.history.back()};n.modalMarkupLoaded();n.createSharePointCollection=function(i){if(n.role!=="SHAREPOINT_COLLECTION_CREATE"){t.path("/AccessDenied");return}if(i.$invalid){if(n.OwningUsersTempCopy.length===0){n.OwningUserListErrors.required=!0;return}return}if(n.OwningUsersTempCopy.length===0){n.OwningUserListErrors.required=!0;return}n.sharepointMinquotaError||n.sharepointMinquotaEnterError||(n.sharePointCollectionDetails={Title:n.createsharePointCollection.name,SharePointURL:n.sharePointCollection.address,Description:n.sharePointCollection.desc,OrganisationID:n.SelectedOrganisation.ID,StorageLimit:n.sharePointCollection.sharePointQuota,Owner:n.OwningUsersTempCopy[0].EmailAddress,IsExternallyShared:n.sharePointCollection.externalSharing},n.TemplateSelected!=null&&angular.isDefined(n.TemplateSelected.Template)&&(n.sharePointCollectionDetails.Template=n.TemplateSelected.Template),v.Create(n.sharePointCollectionDetails).$promise.then(function(n){return n==undefined?(t.path("/SharePointCollection/Create"),n):(t.path("/SharePointCollection"),n)}))};v.GetTemplates({includePWAtemplate:!1}).$promise.then(function(t){if(t!=undefined)return n.Templates=t,t})}]);userAdminAppControllersModule.controller("UserAdminCreateSharePointWebAppController",["$scope","$location","$modal","$sessionStorage","SharePointCollectionService","$http","$timeout","growl","$routeParams","$filter","$parse","$window","PermissionChecker","SharePointCollectionAPI","O365API","Config",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p){n.isSharePointManagementVisible=!0;n.isAddOwnersVisible=!1;n.SelectedOrganisation={};n.sharePointCollection={};n.createsharePointCollection={};n.sharePointCollection.name="";n.createsharePointCollection.name="";n.sharePointCollection.address="";n.sharePointCollection.desc="";n.sharePointCollection.sharePointQuota="";n.maxsharepointquota=u.MaxSharePointQuota();n.sharePointQuotaEnter=u.SharePointQuotaEnter();n.defaultSharePointQuota=u.DefaultSharePointQuota();n.Maxquota=!1;n.QuotaMsg=!1;n.sharepointMinquotaEnterError=!1;n.sharepointMaxLimitError=!1;n.sharepointquotaError=!1;n.sharepointquotaExceedError=!1;n.sharePointCollection.ownerList=[];n.OwningUsersTempCopy=[];n.isOwningUserPresent=!0;n.role="PWA_CREATE";n.URL="";n.isODSCodeAdded=!1;n.ODSCodeError=!1;n.ODSCodeDetails={};n.MaxMicrosoftQouta=p.MaxMicrosoftQouta;n.O365LicenceTypes=p.O365LicenceTypes;n.OwningUserListErrors=u.OwningUserListErrors();n.organisationListUserPolicyId=[];n.sharePointManagementTitle="Create Project Web App";n.$on("UserPickerSelectionDone",function(){n.isSharePointManagementVisible=!0;n.showOwnerUserpicker=!1});n.$on("UserPickerSelectionCancelled",function(){n.isSharePointManagementVisible=!0;n.showOwnerUserpicker=!1});n.setupUserPickerDone=function(t){u.setupUserPickerDone(t,n)};n.addUsersListClick=function(t,i){u.addUsersListClick(t,i,n)};n.removeOwner=function(t){u.removeOwner(t,n)};n.sharepointquota=function(){n.sharepointquotaError=!1;v.GetQuota({dlID:n.SelectedOrganisation.ID}).$promise.then(function(t){return t!==undefined?(n.maxsharepointquota=t.storageQuota,n.maxsharepointquota>n.MaxMicrosoftQouta?(n.QuotaMsg=!0,n.Maxquota=!1):(n.Maxquota=!0,n.QuotaMsg=!1),t.storageQuota<n.defaultSharePointQuota)?(n.sharepointMinquotaError=!0,n.sharePointCollection.sharePointQuota="",t):(n.sharePointCollection.sharePointQuota=n.defaultSharePointQuota.toString(),t):(n.sharepointquotaError=!0,t)})};n.sharepointquotachanged=function(t){n.sharePointQuotaEnter=t;n.sharepointMaxLimitError=n.sharePointQuotaEnter>n.MaxMicrosoftQouta?!0:!1;n.sharepointMinquotaEnterError=n.sharePointQuotaEnter<n.defaultSharePointQuota?!0:!1;n.sharepointquotaExceedError=n.sharePointQuotaEnter>n.maxsharepointquota?!0:!1};n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.sharePointNameChange();n.organisationChange();n.$broadcast("OrganisationChanged");n.organisationListUserPolicyId[0]=n.SelectedOrganisation.ID};n.organisationChange=function(){n.SelectedOrganisation!=null&&n.SelectedOrganisation!="undefined"?(n.sharepointquota(),angular.copy([],n.treedata),n.OwningUsersTempCopy=[],n.sharePointCollection.ownerList=[],n.isOwningUserPresent=!1,n.sharepointquotaExceedError=!1,n.sharepointMinquotaError=!1,n.sharepointMinquotaEnterError=!1):(angular.copy([],n.treedata),n.SelectedOrganisation=undefined)};n.GetURL=function(){y.GetSharePointURL().$promise.then(function(i){return i!==undefined?(n.URL=i[0].ConfigurationValue,n.sharePointCollection.address=i[0].ConfigurationValue,i):(t.path("/SharePointCollection"),i)})};n.modalMarkupLoaded=function(){n.GetURL()};n.sharePointNameChange=function(){n.ODSCodeDetails=u.SharePointNameChange(n.SelectedOrganisation.ODSCode,n.sharePointCollection.name,n.isODSCodeAdded);n.createsharePointCollection.name=n.ODSCodeDetails.SharePointName;n.isODSCodeAdded=n.ODSCodeDetails.isODSCodeAdded;n.sharePointCollection.address=n.URL+n.createsharePointCollection.name};n.sharePointCollectionCancelClick=function(){window.history.back()};n.modalMarkupLoaded();n.createSharePointCollection=function(i){if(n.role!=="PWA_CREATE"){t.path("/AccessDenied");return}if(i.$invalid){if(n.OwningUsersTempCopy.length===0){n.OwningUserListErrors.required=!0;return}return}if(n.OwningUsersTempCopy.length===0){n.OwningUserListErrors.required=!0;return}n.sharepointMinquotaError||n.sharepointMinquotaEnterError||(n.sharePointCollectionDetails={Title:n.createsharePointCollection.name,SharePointURL:n.sharePointCollection.address,Description:n.sharePointCollection.desc,OrganisationID:n.SelectedOrganisation.ID,StorageLimit:n.sharePointCollection.sharePointQuota,Owner:n.OwningUsersTempCopy[0].EmailAddress,Template:"PWA_0"},v.Create(n.sharePointCollectionDetails).$promise.then(function(n){return n==undefined?(t.path("/SharePointProjectWebApp/Create"),n):(t.path("/SharePointCollection"),n)}))}}]);userAdminAppControllersModule.controller("UserAdminEditSharePointCollectionController",["$scope","$location","$modal","$sessionStorage","$http","$timeout","growl","$routeParams","$filter","$parse","$window","PermissionChecker","SharePointCollectionAPI","SharePointCollectionService",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v){n.sharePointTitle="SharePoint Collection";n.sharePointManagementTitle="Edit SharePoint Collection";n.sharePointCollectionDetailsLabel="SharePoint Collection Details";n.sharePointCollectionNameLabel="SharePoint Collection Name";n.sharePointCollectionAddressLabel="SharePoint Collection Address";n.sharePointCollectionTemplateLabel="SharePoint Collection Template";n.sharePointQuotaLabel="SharePoint Quota(GB)";n.sharePointOwnerLabel="SharePoint Owner";n.sharePointSettingsLabel="Sharepoint Settings";n.isSharePointManagementVisible=!0;n.isAddOwnersVisible=!1;n.SelectedOrganisation={};n.selectedAddOrganisation={};n.sharePointCollection={};n.OwningUsersTempCopy=[];n.organisationListUserPolicyId=[];n.role="SHAREPOINT_COLLECTION_UPDATE";n.isOwningUserPresent=!0;n.isEditable=!1;n.maxsharepointquota=v.MaxSharePointQuota();n.sharePointCollection.externalSharing=!1;n.currentStorageUsage=v.CurrentStorageUsage();n.sharePointQuotaEnter=v.SharePointQuotaEnter();n.defaultSharePointQuota=v.DefaultSharePointQuota();n.Maxquota=!1;n.QuotaMsg=!1;n.sharepointquotaExceedError=!1;n.CurrentStorageError=!1;n.sharepointMinquotaEnterError=!1;n.sharepointMaxLimitError=!1;n.PWADirectiveFlag=!1;n.EnableDelete=l.contains("SHAREPOINT_COLLECTION_DELETE");n.sharepointquota=function(){a.GetQuota({dlID:n.SelectedOrganisation.ID}).$promise.then(function(t){return t!==undefined?(n.maxsharepointquota=t.storageQuota,n.maxsharepointquota>24576?(n.QuotaMsg=!0,n.Maxquota=!1):(n.Maxquota=!0,n.QuotaMsg=!1),t):t})};n.MaxEditableQuota=0;n.sharepointquotachanged=function(){n.sharePointQuotaEnter=parseInt(n.sharePointCollection.sharePointQuota);n.MaxEditableQuota=n.editSharePointCollectionDetails.StorageLimit+n.maxsharepointquota;n.sharepointMinquotaEnterError=n.sharePointQuotaEnter<n.defaultSharePointQuota||isNaN(n.sharePointQuotaEnter)?!0:!1;n.sharepointquotaExceedError=n.sharePointQuotaEnter>n.MaxEditableQuota?!0:!1;n.sharepointMaxLimitError=n.sharePointQuotaEnter>24576?!0:!1;n.sharePointQuotaEnter<=n.currentStorageUsage?(n.CurrentStorageError=!0,n.isEditable=!0):(n.CurrentStorageError=!1,n.isEditable=!1)};n.OwningUserListErrors=v.OwningUserListErrors();n.$on("UserPickerSelectionDone",function(){n.isSharePointManagementVisible=!0;n.showOwnerUserpicker=!1});n.$on("UserPickerSelectionCancelled",function(){n.isSharePointManagementVisible=!0;n.showOwnerUserpicker=!1});n.setupUserPickerDone=function(t){v.setupUserPickerDone(t,n)};n.addUsersListClick=function(t,i){v.addUsersListClick(t,i,n)};n.removeOwner=function(t){v.removeOwner(t,n)};n.sharePointCollectionCancelClick=function(){window.history.back()};n.modalMarkupLoaded=function(){n.viewSharePointCollectionDetails={};n.viewSharePointCollectionDetails.ID=o.ID;a.GetSharePointCollectionDetails({ID:n.viewSharePointCollectionDetails.ID}).$promise.then(function(i){return i==undefined?(t.path("/SharePointCollection"),i):(n.editSharePointCollectionDetails=i.SharePointCollectionDetails,n.sharePointCollection.name=n.editSharePointCollectionDetails.Title,n.sharePointCollection.address=n.editSharePointCollectionDetails.SharePointURL,n.sharePointCollection.desc=n.editSharePointCollectionDetails.Description,n.SelectedOrganisation.Name=n.editSharePointCollectionDetails.Organisation.Name,n.SelectedOrganisation.ID=n.editSharePointCollectionDetails.Organisation.ID,n.organisationListUserPolicyId[0]=n.SelectedOrganisation.ID,n.SelectedOrganisation.ODSCode=n.editSharePointCollectionDetails.Organisation.ODSCode,n.sharePointCollection.externalSharing=n.editSharePointCollectionDetails.IsExternallyShared,n.sharePointCollection.sharePointQuota=n.editSharePointCollectionDetails.StorageLimit,n.sharepointquota(),n.currentStorageUsage=n.editSharePointCollectionDetails.CurrentStorageUsage,n.sharePointCollection.UpdatedBy=n.editSharePointCollectionDetails.UpdatedBy,n.sharePointCollection.CreatedOn=n.editSharePointCollectionDetails.CreatedOn,n.sharePointCollection.LastUpdated=n.editSharePointCollectionDetails.LastUpdated,n.sharePointCollection._TemplateName=n.editSharePointCollectionDetails._TemplateName,n.sharePointCollection.TemplateDescription=n.editSharePointCollectionDetails._TemplateName==""?n.editSharePointCollectionDetails.TemplateDescription:n.editSharePointCollectionDetails.TemplateDescription+" ("+n.sharePointCollection._TemplateName+")",n.OwningUsersTempCopy.push({EmailAddress:n.editSharePointCollectionDetails._ownerUPN,ID:""}),n.OwningUsersTempCopy.length>0&&(n.isOwningUserPresent=!0),n.sharePointCollection.sharePointQuota<=n.currentStorageUsage?(n.CurrentStorageError=!0,n.isEditable=!0):(n.CurrentStorageError=!1,n.isEditable=!1),(n.sharePointCollection._TemplateName=="PWA_0"||n.sharePointCollection._TemplateName=="PWA#0")&&(n.PWADirectiveFlag=!0,n.sharePointTitle="Project Web App",n.sharePointManagementTitle="Edit Project Web App",n.sharePointCollectionDetailsLabel="Project Web App Details",n.sharePointCollectionNameLabel="Name",n.sharePointCollectionAddressLabel="Web App Address",n.sharePointCollectionTemplateLabel="Template",n.sharePointQuotaLabel="Storage Quota(GB)",n.sharePointOwnerLabel="Web App Owner",n.sharePointCollection.TemplateDescription=n.sharePointCollection._TemplateName),i)})};n.modalMarkupLoaded();n.updateSharePointCollection=function(i){if(i.$invalid){if(n.OwningUsersTempCopy.length===0){n.OwningUserListErrors.required=!0;return}return}if(n.OwningUsersTempCopy.length===0){n.OwningUserListErrors.required=!0;return}n.sharepointMinquotaEnterError||n.CurrentStorageError||n.sharepointquotaExceedError||(n.sharePointCollection._TemplateName=n.sharePointCollection._TemplateName.replace("#","_"),n.sharePointCollectionDetails={ID:n.viewSharePointCollectionDetails.ID,Title:n.sharePointCollection.name,SharePointURL:n.sharePointCollection.address,Description:n.sharePointCollection.desc,OrganisationID:n.SelectedOrganisation.ID,StorageLimit:parseInt(n.sharePointCollection.sharePointQuota),Owner:n.OwningUsersTempCopy[0].EmailAddress,IsExternallyShared:n.sharePointCollection.externalSharing,Template:n.sharePointCollection._TemplateName,TemplateName:n.sharePointCollection._TemplateName},a.Update(n.sharePointCollectionDetails).$promise.then(function(){t.path("/SharePointCollection")}))};n.deleteSharePointCollection=function(){a.Delete({ID:n.viewSharePointCollectionDetails.ID}).$promise.then(function(n){return n==undefined?n:n.Success?(t.path("/SharePointCollection"),n):(e.error(n.Errors[0].Message+" "+n.Errors[0].Detail,{ttl:1e4}),n)})}}]);userAdminAppControllersModule.controller("UserAdminSharePointCollectionSearchController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","SearchSharePointCollectionVisibleColumns","SearchSharePointCollectionColumns","SearchSharePointCollectionSearchParams","SharePointCollectionService","SharePointCollectionAPI","$window","PermissionChecker","$filter",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v){var y;n.sharePointManagementTitle="SharePoint Management";n.animationsEnabled=!1;n.showAndHideCreateSearchSharePointCollectionDropDown=!1;n.showCreateDynamicCreateSearchDropDown=!1;n.isDisabledAddButton=!0;n.itemsOnPage=h.ItemsOnPage();n.isSearchSharePointCollectionProcessingError=!1;n.isSearchSharePointCollectionEmpty=!1;n.role="SHAREPOINT_COLLECTION_CREATE";y="";n.isSharePointCollectionEditDisabled=!1;n.TemplateName;n.TemplateSelected={};n.openSearchSharePointCollectionColumnPicker=function(){var t=n.SearchSharePointCollectionColumnsVisible,r=i.open({animation:n.animationsEnabled,templateUrl:"./Angular/Apps/UserAdmin/Common/Views/ListUsersColumnPicker.html",controller:"ListUsersColumnPicker",size:"lg",resolve:{items:function(){return n.SearchSharePointCollectionColumnsVisible},names:function(){return n.SearchSharePointCollectionColumns}}});r.result.then(function(){u.NHSmailSearchSharePointCollectionColumns=n.SearchSharePointCollectionColumnsVisible},function(){n.SearchSharePointCollectionColumnsVisible=t})};n.SearchSharePointCollectionRequest={};n.SearchSharePointCollectionColumnsVisible=u.NHSmailSearchSharePointCollectionColumns;n.SearchSharePointCollectionColumnsVisible||(n.SearchSharePointCollectionColumnsVisible=new e);n.SearchSharePointCollectionColumns=new o;var p="",w=function(n,t){angular.isUndefined(u.SearchSharePointCollectionSearchParams)&&(u.SearchSharePointCollectionSearchParams={});t!=p&&(u.SearchSharePointCollectionSearchParams={});u.SearchSharePointCollectionSearchParams=n;u.SearchSharePointCollectionSearchParams.simpleOrAdvanced=t},b=function(){if(y=="advanced"&&n.SearchSharePointCollectionAdvancedSearchParams!=[]){var t={};angular.copy(n.SearchSharePointCollectionAdvancedSearchParams,t);w(t,"advanced");t={}}u.SearchSharePointCollectionSearchResults=n.SearchSharePointCollectionItems},k=function(){if(angular.isUndefined(u.SearchSharePointCollectionSearchResults)&&(u.SearchSharePointCollectionSearchResults={}),Object.keys(u.SearchSharePointCollectionSearchResults).length!=0&&(n.showEmptyTable=!0,n.SearchSharePointCollectionItems=u.SearchSharePointCollectionSearchResults,u.SearchSharePointCollectionSearchParams.simpleOrAdvanced=="advanced")){var t={};angular.copy(u.SearchSharePointCollectionSearchParams,t);t={}}};n.modalMarkupLoaded=function(){k();n.role!=="SHAREPOINT_COLLECTION_CREATE"?(n.isDisabledAddButton=!0,n.showAndHideCreateSearchSharePointCollectionDropDown=!1):(n.isDisabledAddButton=!1,n.showAndHideCreateSearchSharePointCollectionDropDown=!0);n.showAndHideCreateSearchProjectWebAppDropDown=a.contains("PWA_CREATE")?!0:!1;a.contains("SHAREPOINT_COLLECTION_UPDATE")&&(n.isSharePointCollectionEditDisabled=!1)};n.modalMarkupLoaded();n.onSuccessCallBack=function(t){n.SearchSharePointCollectionItems=v("orderObjectBy")(t,"Name");n.SearchSharePointCollectionItems.length==0?(n.isSearchSharePointCollectionEmpty=!0,n.SearchSharePointCollectionDisplayedTable=[]):(n.isSearchSharePointCollectionEmpty=!1,n.SearchSharePointCollectionDisplayedTable=[].concat(n.SearchSharePointCollectionItems));b();n.currentInputFocus&&setTimeout(function(){n.currentInputFocus.element.focus()},500)};n.callAPI=function(t,i){i&&(t.matchAny=!0);clearInterval(n.myInterval);n.isSearchSharePointCollectionProcessingError=!1;n.SearchSharePointCollectionRequest=t;n.SearchSharePointCollectionRequest.MatchAny=i;c.Search(n.SearchSharePointCollectionRequest).$promise.then(function(t){if(t==undefined)return n.isSearchSharePointCollectionProcessingError=!0,t;n.onSuccessCallBack(t);return t})};n.viewSharePointCollectionDetails=function(n){t.url("/SharePointCollection/Edit/"+n.ID)};n.SearchSharePointCollectionAdvancedSearchParams||(n.SearchSharePointCollectionAdvancedSearchParams=s());n.advancedSearch=function(){y="advanced";n.callAPI(n.SearchSharePointCollectionAdvancedSearchParams)};n.showOrHideDefaultView=function(){n.showEmptyTable=!0;n.advancedSearch()};n.searchUserOnEnterAdvanced=function(t){check=!1;t.which===13&&n.showOrHideDefaultView()};n.dropDownBasedSearch=function(t){n.SearchSharePointCollectionAdvancedSearchParams.TemplateName=t.TemplateSelected.Template;check=!1;n.showOrHideDefaultView()};c.GetTemplates({includePWAtemplate:!0}).$promise.then(function(t){if(t!=undefined)return n.TemplateName=t,t})}]);userAdminAppControllersModule.factory("SharePointCollectionAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var r="Request failed";angular.isDefined(n.data.ModelState)&&angular.isDefined(n.data.ModelState.sharePoint[0])?r=n.data.ModelState.sharePoint[0]:angular.isDefined(n.data.Result.Errors)&&n.data.Result.Errors.length>0?n.data.Result.Errors[0].ErrorCode===51?i.path("/AccessDenied"):n.data.Result.Errors[0].ErrorCode===102?r=n.data.Result.Errors[0].Message:(r+=": "+n.data.Result.Errors[0].Message,r+=". "+n.data.Result.Errors[0].Detail):angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");t.error(r,{ttl:1e4})}return n(baseUrlValue,{},{Create:{method:"POST",url:baseUrlValue+"SharePointCollection/Create",interceptor:{responseError:u},timeout:r.XhrTimeout},Update:{method:"PUT",url:baseUrlValue+"SharePointCollection/",interceptor:{responseError:u},timeout:r.XhrTimeout},Search:{method:"POST",isArray:!0,url:baseUrlValue+"SharePointCollection/Search",interceptor:{responseError:u},timeout:r.XhrTimeout},GetQuota:{method:"GET",params:{dlID:"@ID"},url:baseUrlValue+"SharePointQuota/:dlID",interceptor:{responseError:u},timeout:r.XhrTimeout},GetSharePointCollectionDetails:{method:"GET",params:{ID:"@ID"},url:baseUrlValue+"SharePointCollection/:ID",interceptor:{responseError:u},timeout:r.XhrTimeout},GetTemplates:{method:"GET",params:{includePWAtemplate:"@includePWAtemplate"},isArray:!0,url:baseUrlValue+"SharePointCollection/Templates",interceptor:{responseError:u},timeout:r.XhrTimeout},Delete:{method:"DELETE",params:{ID:"@ID"},url:baseUrlValue+"SharePointCollection/:ID",interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppServicesModule.factory("SharePointCollectionService",["$sessionStorage","$filter","$parse",function(n,t,i){return{DefaultSharePointQuota:function(){return 1},MaxSharePointQuota:function(){return 0},SharePointQuotaEnter:function(){return 0},CurrentStorageUsage:function(){return 0},ItemsOnPage:function(){return"10"},OwningUserListErrors:function(){return{required:!1}},addUsersListClick:function(t,i,r){r.isSharePointManagementVisible=!1;n.currentSource=t;r.userSelectionLimit=t==="OwningUsersTempCopy"?1:"all";angular.copy([],r.selectedEmail);r.showOwnerUserpicker=!0;r.OwningUserListErrors.required=!1;r.setupUserPickerDone(t,r)},setupUserPickerDone:function(r,u){var f=u.$on("UserPickerSelectionDone",function(){var c=n.currentSource,e=[],o,s,h;angular.forEach(u.selectedEmail,function(n){n.Email!=null&&(o={EmailAddress:n.Email,ID:n.ID,EmailType:n.EmailType},e.push(o))});s=e;h=t("removeDuplicates")(s,"EmailAddress");i(c).assign(u,h);f();r==="OwningUsersTempCopy"&&(u.OwningUsersTempCopy.length===0?u.isOwningUserPresent=!1:u.OwningUsersTempCopy.length===1&&(u.isOwningUserPresent=!0));u.showOwnerUserpicker=!1})},removeOwner:function(n,i){i.OwningUsersTempCopy=t("filter")(i.OwningUsersTempCopy,function(t){return t.EmailAddress!==n.EmailAddress});i.OwningUsersTempCopy.length===0?i.isOwningUserPresent=!1:i.OwningUsersTempCopy.length===1&&(i.isOwningUserPresent=!0);i.sharePointCollection.ownerList=[];angular.forEach(i.OwningUsersTempCopy,function(n){i.sharePointCollection.ownerList.push(n.ID)})},SharePointNameChange:function(n,t,i){var r="";return n!==undefined&&t!==undefined&&t!==""&&t!==null?(r=n+"_"+t,i=!0):(r="",i=!1),{SharePointName:r,isODSCodeAdded:i}}}}]);userAdminAppServicesModule.factory("SearchSharePointCollectionColumns",function(){return function(){return[{title:"SharePoint Title",key:"Title"},{title:"SharePoint URL",key:"SharePointURL"},{title:"Organisation",key:"OrganisationName"},{title:"ODS code",key:"ODSCode"},{title:"Type",key:"Template"},{title:"Template",key:"TemplateName"}]}});userAdminAppServicesModule.factory("SearchSharePointCollectionSearchParams",function(){return function(){return{Title:"",SharePointURL:"",OrganisationName:"",ODSCode:"",Template:"",TemplateName:""}}});userAdminAppServicesModule.factory("SearchSharePointCollectionVisibleColumns",function(){return function(){this.Title=!0;this.SharePointURL=!0;this.OrganisationName=!0;this.ODSCode=!0;this.Template=!0;this.TemplateName=!1}});userAdminAppControllersModule.controller("AtpGroupSearchController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","AtpGroupSearchColumns","AtpGroupSearchParams","AtpGroupSearchVisibleColumns","AtpGroupAPI","AtpGroupService","$window","PermissionChecker","$filter",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v){var w,b,k,y,p;n.atpGroupManagementTitle="ATP Group Management";n.itemsOnPage=c.ItemsOnPage();n.isAtpGroupSearchProcessingError=!1;n.isAtpGroupEditDisabled=!1;n.isAtpGroupSearchEmpty=!1;n.atpGroupSearchColumns=new e;n.atpGroupSearchColumnsVisible=new s;n.atpGroupSearchParams=new o;w=[];b=[];n.callSearchAPI=function(){n.showEmptyTable=!0;n.atpGroupSearchDisplayedTable=[];n.atpGroupSearchParams=c.RemoveEmptyAttributes(n.atpGroupSearchParams);h.Search(n.atpGroupSearchParams).$promise.then(function(t){n.atpGroupSearchItems=v("orderObjectBy")(t.Groups,"GroupName");n.atpGroupSearchItems.length===0?(n.atpGroupSearchDisplayedTable=[],n.isAtpGroupSearchEmpty=!0):(n.atpGroupSearchDisplayedTable=[].concat(n.atpGroupSearchItems),n.isAtpGroupSearchEmpty=!1,p())})};k=n.AtpGroupSearchColumnsVisible;n.searchIfEnterKey=function(t){t.which===13&&n.callSearchAPI()};n.viewAtpGroupDetails=function(n){t.url("/ManageATP/"+n.Id)};y=function(n){angular.isUndefined(u.atpGroupSearchResult)&&(u.atpGroupSearchResult=[]);u.atpGroupSearchResult=n};p=function(){var t=[];angular.copy(n.atpGroupSearchDisplayedTable,t);y(t);t=[];u.atpGroupSearchResult=n.atpGroupSearchDisplayedTable};n.assignDataToUsersListFromSession=function(){angular.isUndefined(u.atpGroupSearchResult)&&(u.atpGroupSearchResult={});Object.keys(u.atpGroupSearchResult).length!=0&&(n.showEmptyTable=!0,n.atpGroupSearchItems=u.atpGroupSearchResult,n.atpGroupSearchDisplayedTable=[].concat(n.atpGroupSearchItems),n.isAtpGroupSearchEmpty=!1)};n.assignDataToUsersListFromSession()}]);userAdminAppControllersModule.controller("AtpUserSearchController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","AtpUserSearchColumns","AtpUserSearchParams","AtpUserSearchVisibleColumns","AtpUserAPI","AtpUserService","$window","PermissionChecker","$filter",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v){n.atpUserManagementTitle="ATP User Management";n.itemsOnPage=c.ItemsOnPage();n.isAtpUserSearchProcessingError=!1;n.isAtpUserEditDisabled=!1;n.isAtpUserSearchEmpty=!1;n.atpUserSearchColumns=new e;n.atpUserSearchColumnsVisible=new s;n.atpUserSearchParams=new o;n.callSearchAPI=function(){n.showEmptyTable=!0;n.atpUserSearchDisplayedTable=[];n.atpUserSearchParams=c.RemoveEmptyAttributes(n.atpUserSearchParams);h.Search(n.atpUserSearchParams).$promise.then(function(t){n.atpUserSearchItems=v("orderObjectBy")(t.ATPUsers,"UserName");n.atpUserSearchItems.length===0?(n.atpUserSearchDisplayedTable=[],n.isAtpUserSearchEmpty=!0):(n.atpUserSearchDisplayedTable=[].concat(n.atpUserSearchItems),n.isAtpUserSearchEmpty=!1,p())})};n.searchIfEnterKey=function(t){t.which===13&&n.callSearchAPI()};n.viewAtpUserDetails=function(n){t.url("/ManageUser/"+n.UserID)};var y=function(n){angular.isUndefined(u.atpUserSearchResult)&&(u.atpUserSearchResult=[]);u.atpUserSearchResult=n},p=function(){var t=[];angular.copy(n.atpUserSearchDisplayedTable,t);y(t);t=[];u.atpUserSearchResult=n.atpUserSearchDisplayedTable};n.assignDataToUsersListFromSession=function(){angular.isUndefined(u.atpUserSearchResult)&&(u.atpUserSearchResult={});Object.keys(u.atpUserSearchResult).length!=0&&(n.showEmptyTable=!0,n.atpUserSearchItems=u.atpUserSearchResult,n.atpUserSearchDisplayedTable=[].concat(n.atpUserSearchItems),n.isAtpUserSearchEmpty=!1)};n.assignDataToUsersListFromSession()}]);userAdminAppControllersModule.controller("EnrollmentController",["$scope","ViewOrganisationAPI","$sessionStorage","$parse","$filter","$location","growl","$route","AtpGroupAPI",function(n,t,i,r,u,f,e,o,s){n.enrollment={};n.enrollment.Organisation={};n.treedata=[];n.selected={};n.expandedNodes=[];n.currentNode;n.isOrganisationSeleted=!1;n.OwningUsersTempCopy=[];n.enrollment.OwningUsers=[];var h={};n.maxValue=5;n.namePattern=/^[a-zA-Z]*$/;n.mandatoryMsg=!1;n.userPickerFilter={EmailType:["Shared","Contact","Resource"],Status:["Active (Leaver)","Disabled (Leaver)","Deleted","Deleted (Leaver)","Deleting","Deleted_Permanent","Pending"]};n.enrollGroupNames=[];n.enrollGroupNameSuffixes=["-ATP-CONTROLLERS","-ATP-REPORTERS"];n.appendODSCode=function(){n.enrollGroupNames=[];angular.forEach(n.enrollGroupNameSuffixes,function(t){n.subOrganisation==""||n.subOrganisation==undefined?n.enrollGroupNames.push(n.enrollment.Organisation.ODSCode+t):n.enrollGroupNames.push(n.enrollment.Organisation.ODSCode+"-"+n.subOrganisation+t)})};n.pick=function(t){angular.copy(t,n.enrollment.Organisation);n.organisationChange()};n.organisationChange=function(){if(n.enrollment.Organisation.ShortName==""||n.enrollment.Organisation.ShortName==null||n.enrollment.Organisation.ShortName==undefined){n.isOrganisationSeleted=!1;return}n.enrollment.Organisation!=null&&n.enrollment.Organisation!="undefined"?(n.isOrganisationSeleted=!0,n.appendODSCode()):(n.enrollment.Organisation=undefined,n.isOrganisationSeleted=!1)};n.OwningUserListErrors={required:!1};n.SpecificSendersListErrors={required:!1};n.addUsersListClick=function(t,r){i.currentSource=t;angular.copy([],n.selectedEmail);r==!0?(n.showUserpicker=!1,n.showUserpickercontact=!0):(n.showUserpickercontact=!1,n.showUserpicker=!0);n.SpecificSendersListErrors.required=!1;n.setupUserPickerDone(t)};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1});n.setupUserPickerDone=function(){var t=n.$on("UserPickerSelectionDone",function(){var f=i.currentSource,l=r(f)(n),e=[],o,s,c;angular.forEach(n.selectedEmail,function(n){n.Email!=null&&(o={EmailAddress:n.Email,ID:n.ID,EmailType:n.EmailType},e.push(o))});s=l.concat(e);c=u("removeDuplicates")(s,"EmailAddress");r(f).assign(n,c);t();n.showUserpicker=!1;n.showUserpickercontact=!1;f==="OwningUsersTempCopy"&&(angular.forEach(e,function(t){t.EmailAddress===h.EmailAddress&&(n.distributionList.SelectUserAsOwner=!0,n.selectedUserAsOwnerFromUserPicker=!0)}),n.OwningUsersTempCopy.length>0&&(n.mandatoryMsg=!1))})};n.enrollment_formSubmitClick=function(t){if(n.OwningUserListErrors.required=!1,n.OwningUsersTempCopy.length===0){n.mandatoryMsg=!0;return}n.OwningUsersTempCopy.length>5||t.$invalid||(angular.forEach(n.OwningUsersTempCopy,function(t){t.EmailAddress!=""&&n.enrollment.OwningUsers.push(t.EmailAddress)}),n.enrollmentDetails={ParentOrgID:n.enrollment.Organisation.ID,ChildOrgID:n.enrollment.Organisation.ID,Owners:n.enrollment.OwningUsers,SubOrgText:n.subOrganisation},s.Create(n.enrollmentDetails).$promise.then(function(){o.reload()}))};n.removeOwner=function(t){t.EmailAddress===h.EmailAddress&&(n.distributionList.SelectUserAsOwner=!1);n.OwningUsersTempCopy=u("filter")(n.OwningUsersTempCopy,function(n){return n.EmailAddress!=t.EmailAddress})}}]);userAdminAppControllersModule.controller("ManageAtpUserController",["$scope","$modal","$http","$sessionStorage","PermissionChecker","$filter","$location","AtpUserDetailsColumns","AtpUserDetailsSearchParams","AtpUserDetailsVisibleColumns","AtpUserDetailsService","ManageATPUserAPI","AtpUserDetailsService","$routeParams","growl","Config","$route",function(n,t,i,r,u,f,e,o,s,h,c,l,c,a,v,y,p){n.userDetails={};n.userATPGroups={};n.TitleList=y.Title;n.itemsOnPage=c.ItemsOnPage();n.isAtpUserDetailsSearchProcessingError=!1;n.isAtpUserDetailsEditDisabled=!1;n.isAtpUserDetailsSearchEmpty=!1;n.atpUserDetailsSearchColumns=new o;n.atpUserDetailsSearchColumnsVisible=new h;n.atpUserDetailsSearchParams=new s;n.mfaSubscriptionGroupSwitch=!1;n.powerBISubscriptionGroupSwitch=!1;n.groupDeletePermission=!1;u.contains("ATP_OU_DELETE")&&(n.groupDeletePermission=!0);n.modalMarkupLoaded=function(){n.viewATPGroupUsers={};n.showEmptyTable=!0;n.atpUserDetailsDisplayedTable=[];n.atpUserSearchParams=c.RemoveEmptyAttributes(n.atpUserSearchParams);n.viewATPGroupUsers.UserID=a.UserID;l.GetUserATPDetails({UserID:n.viewATPGroupUsers.UserID}).$promise.then(function(t){if(t==undefined)return v.error("There was a problem retrieving the ATP User Group Details"),t;n.atpUserDetailsSearchItems=f("orderObjectBy")(t.UserATPGroups,"GroupName");n.atpUserDetailsSearchItems.length===0?(n.atpUserDetailsDisplayedTable=[],n.isAtpUserDetailsSearchEmpty=!0):(n.atpUserDetailsDisplayedTable=[].concat(n.atpUserDetailsSearchItems),n.isAtpUserDetailsSearchEmpty=!1,b());angular.forEach(n.atpUserDetailsDisplayedTable,function(n){(n.UpdatedDate!=""||n.UpdatedDate!=undefined)&&(n.UpdatedDate=f("date")(new Date(n.UpdatedDate),"dd-MM-yyyy HH:mm"))});n.isAtpUserDetailsEmpty=!1;n.ManageATPGroupMembership=t;n.userDetails=n.ManageATPGroupMembership.UserDetails;n.userATPGroups=n.ManageATPGroupMembership.UserATPGroups;n.ManageATPGroupMembership.O365LicenceTypes!=null?(n.ManageATPGroupMembership.O365LicenceTypes.indexOf("MFAEnabled")>=0&&(n.mfaSubscriptionGroupSwitch=!0),n.ManageATPGroupMembership.O365LicenceTypes.indexOf("PowerBIEnabled")>=0&&(n.powerBISubscriptionGroupSwitch=!0)):(n.mfaSubscriptionGroupSwitch=!1,n.powerBISubscriptionGroupSwitch=!1)})};n.modalMarkupLoaded();var w=function(n){angular.isUndefined(r.atpUserDetailsSearchResult)&&(r.atpUserDetailsSearchResult=[]);r.atpUserDetailsSearchResult=n},b=function(){var t=[];angular.copy(n.atpUserDetailsDisplayedTable,t);w(t);t=[];r.atpUserDetailsSearchResult=n.atpUserDetailsDisplayedTable};n.assignDataToUsersListFromSession=function(){angular.isUndefined(r.atpUserDetailsSearchResult)&&(r.atpUserDetailsSearchResult={});Object.keys(r.atpUserDetailsSearchResult).length!=0&&(n.showEmptyTable=!0,n.atpUserDetailsSearchItems=r.atpUserDetailsSearchResult,n.atpUserDetailsDisplayedTable=[].concat(n.atpUserDetailsSearchItems),n.isAtpUserSearchEmpty=!1)};n.assignDataToUsersListFromSession();n.atpGroupCancelClick=function(){window.history.back()};n.atpRefreshClick=function(){p.reload()};n.RemoveUserFromAtpGroup=function(t){n.RemoveMemberDetails={atpGroupId:t.AtpGroupID,userID:t.UserID};l.RemoveMemberFromATPGroup(n.RemoveMemberDetails).$promise.then(function(){p.reload()})}}]);userAdminAppControllersModule.controller("ManageElevatedAccessController",["$scope","$route","AtpUserAPI",function(n,t,i){n.roles=[];i.getRole({type:"EPR"}).$promise.then(function(t){(t!=[]||t!=""||typeof t!="undefined")&&(n.roles=t)});n.elevatedAccess_formSubmitClick=function(r){r.$invalid||(n.request={RequestedRoleId:n.requestedRole,TimeDurationRequested:n.duration,BusinessJustification:n.reason},i.requestElevatedPermission(n.request).$promise.then(function(){t.reload()}))}}]);userAdminAppControllersModule.controller("ManageUserController",["$scope","$location","$modal","$sessionStorage","PermissionChecker","$parse","$filter","$location","ManageATPUserAPI","AtpUserService","$routeParams","FileUploader","blockUI","$window","growl","Config","FetchUPN",function(n,t,i,r,u,f,e,t,o,s,h,c,l,a,v,y,p){function g(){n.showUploadResults=!1;n.showSuccessResult=!1;n.showErrorResults=!1;n.uploadedFile="";n.totalImportedRecordCount=0;n.detailList=[]}function nt(){n.fileErrors={fileTooBig:!1,wrongExtension:!1}}var tt,w,d;n.ATPGroupDetails={};n.OwningUsersTempCopy={};n.ATPMembersTempCopy={};n.ATPMembers=[];n.OwningUsers=[];n.ManageATPGroupMembership={};n.importUsersList={};n.isOwningUserPresent=!0;tt={};n.maxValue=5;n.groupDeletePermission=!1;n.showGroupAction=!1;n.isAddOwnerDisabled=!1;n.ATPMembersLimit=y.ATPImportMemberLimit;n.userPickerFilter={EmailType:["Shared","Contact","Resource"],Status:["Active (Leaver)","Disabled (Leaver)","Deleted","Deleted (Leaver)","Deleting","Deleted_Permanent","Pending"]};u.contains("ATP_OU_DELETE")&&(n.groupDeletePermission=!0);u.contains("ATP_GROUP_UPDATE")&&(n.showGroupAction=!0);n.modalMarkupLoaded=function(){n.viewATPGroupUsers={};n.viewATPGroupUsers.ATPGroupID=h.Id;o.GetATPGroupUserDetails({ATPGroupID:n.viewATPGroupUsers.ATPGroupID}).$promise.then(function(t){var i,r,f;if(t==undefined)return v.error("There was a problem retrieving the ATP User Group Details"),t;n.ManageATPGroupMembership=t;n.ATPGroupDetails.Id=n.ManageATPGroupMembership.ResponseData.ID;n.ATPGroupDetails.Name=n.ManageATPGroupMembership.ResponseData.Name;(n.ATPGroupDetails.Name.toUpperCase()=="X26-SOC-ATP-REPORTERS"||n.ATPGroupDetails.Name.toUpperCase()=="X26-SRV-ATP-REPORTERS"||n.ATPGroupDetails.Name.toUpperCase()=="X26-EXT-ATP-REPORTERS")&&(n.isAddOwnerDisabled=!0);n.ATPGroupDetails.OrganisationId=n.ManageATPGroupMembership.ResponseData.ParentOrgID;n.ATPGroupDetails.OrganisationUnitId=n.ManageATPGroupMembership.ResponseData.ChildOrgID;n.ATPGroupDetails.ChildOrgID=n.ManageATPGroupMembership.ResponseData.ChildOrgID;n.ATPGroupDetails.UserPrincipalName=n.ManageATPGroupMembership.ResponseData.UserPrincipalName;n.ATPGroupDetails.OrgName=n.ManageATPGroupMembership.ResponseData.GroupOrganisation.Name;n.ATPGroupDetails.CreatedOn=n.ManageATPGroupMembership.ResponseData.CreatedOn;n.ATPGroupDetails.UpdatedOn=n.ManageATPGroupMembership.ResponseData.UpdatedOn;n.ManageATPGroupMembership.ResponseData.UpdatedBy!=null&&n.ManageATPGroupMembership.ResponseData.UpdatedBy!=undefined&&(n.ATPGroupDetails.UpdatedBy=n.ManageATPGroupMembership.ResponseData.UpdatedBy.Email);n.ATPMembersTempCopy=n.ManageATPGroupMembership.ResponseData.UserDetail;n.OwningUsersTempCopy=n.ManageATPGroupMembership.ResponseData.Owners;i=[];r=[];angular.forEach(n.ATPMembersTempCopy,function(n){n.Email!=null&&(tempObj={ID:n.ID,Email:n.Email,EmailType:n.EmailType},i.push(tempObj))});angular.copy(i,n.ATPMembers);angular.forEach(n.OwningUsersTempCopy,function(n){n.Email!=null&&(tempObj={ID:n.ID,Email:n.Email,EmailType:n.EmailType},r.push(tempObj))});angular.copy(r,n.OwningUsers);n.isExportMembersChecker();f=function(n){return n==="ATP_Global_Admin"};p.Get().$promise.then(function(t){t!=null&&angular.forEach(n.OwningUsers,function(i){(i.Email.toUpperCase()==t.Email.toUpperCase()||u.getUserRoles().some(f))&&(n.showGroupAction=!0)})})})};n.manageUser_formSubmitClick=function(i){if((n.ATPMembersListErrors.required=!1,n.OwningUserListErrors.required=!1,!(n.OwningUsers.length>5))&&!(n.ATPMembers.length>n.ATPMembersLimit)&&!i.$invalid){var r=[],u=[];angular.forEach(n.ATPMembers,function(n){r.push(n.Email)});angular.forEach(n.OwningUsers,function(n){u.push(n.Email)});n.manageUser={ID:n.ATPGroupDetails.Id,Name:n.ATPGroupDetails.Name,OrganisationID:n.ATPGroupDetails.OrganisationId,Owner:u,Members:r};o.UpdateATPGroupUserDetails(n.manageUser).$promise.then(function(){t.path("/ATPGroup")})}};n.modalMarkupLoaded();n.ATPMembersListErrors={required:!1};n.OwningUserListErrors={required:!1};n.SpecificSendersListErrors={required:!1};n.removeMembers=function(t){n.ATPMembers=e("filter")(n.ATPMembers,function(n){return n.Email!=t.Email})};n.addMembersListClick=function(t,i){r.currentSource=t;angular.copy([],n.selectedEmail);i==!0?(n.showUserpicker=!1,n.showUserpickercontact=!0):(n.showUserpickercontact=!1,n.showUserpicker=!0);n.fileErrors.fileTooBig=!1;n.fileErrors.wrongExtension=!1;n.showUploadResults=!1;n.showSuccessResult=!1;n.showErrorResults=!1;n.ATPMembersListErrors.required=!1;n.OwningUserListErrors.required=!1;n.SpecificSendersListErrors.required=!1;n.setupUserPickerDone(t)};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1});n.setupUserPickerDone=function(){var t=n.$on("UserPickerSelectionDone",function(){var i=r.currentSource,c=f(i)(n),u=[],o,s,h;angular.forEach(n.selectedEmail,function(n){n.Email!=null&&(o={Email:n.Email,ID:n.ID,EmailType:n.EmailType},u.push(o))});s=c.concat(u);h=e("removeDuplicates")(s,"Email");f(i).assign(n,h);t();n.showUserpicker=!1;n.showUserpickercontact=!1})};n.atpGroupCancelClick=function(){window.history.back()};n.deleteConfirm=function(){$("#confirmModal").modal("show")};n.deleteATPGroup=function(i){$("#confirmModal").modal("hide");i=="confirm"&&(n.ATPGroupDetails.Name.toUpperCase()=="X26-SOC-ATP-REPORTERS"||n.ATPGroupDetails.Name.toUpperCase()=="X26-SRV-ATP-REPORTERS"||n.ATPGroupDetails.Name.toUpperCase()=="X26-EXT-ATP-REPORTERS"?v.error("ATP Group "+n.ATPGroupDetails.Name+" can not be deleted."):(n.deleteDetails={atpGroupId:n.ATPGroupDetails.Id,name:n.ATPGroupDetails.Name},o.DeleteATPGroup(n.deleteDetails).$promise.then(function(){t.path("/ATPGroup")})))};n.removeOwner=function(t){n.OwningUsers=e("filter")(n.OwningUsers,function(n){return n.Email!=t.Email})};w=s.MaxSizeOfUserUpload();n.MaxSizeOfUserUploadError=!1;n.ImportUsers=function(){n.isUploadDisabled=!0;$("#importUsersUploadCSVModal").modal("show")};var b="ATP/ImportUsers",k=100;g();nt();n.uploader=new c({url:baseUrlValue+b,headers:{Authorization:"Bearer "+sessionStorage.getItem("JWToken")},removeAfterUpload:!0});n.uploader.onSuccessItem=function(t,i){var u,r;for(n.uploadedFile=t.file.name,n.importUsersList.Recipients=[],n.ATPMembers=[],n.UserList=[],n.TempUsers={},u=i.length,r=0;r<i.length;r++)n.TempUsers.EmailAddress=i[r].EmailAddress,n.TempUsers.ID=i[r].ID,n.importUsersList.Recipients.push({Email:n.TempUsers.EmailAddress,EmailType:null,ID:n.TempUsers.ID}),n.UserList.push(n.TempUsers.ID);angular.copy(n.importUsersList.Recipients,n.ATPMembers);n.totalImportedRecordCount=n.importUsersList.Recipients.length;n.importUsersList.Recipients.length>w?(n.MaxSizeOfUserUploadError=!0,n.showUploadResults=!0,n.showSuccessResult=!1,n.showErrorResults=!1,n.isUploadDisabled=!0):(n.showUploadResults=!0,n.showSuccessResult=!0,n.showErrorResults=!1,n.isUploadDisabled=!0)};n.uploader.onErrorItem=function(t,i){if(n.uploadedFile=t.file.name,i.Errors.length>0)for(var r=0;r<i.Errors.length;r++){if(r>k){n.detailList.push("error list limited to first "+k);break}i.Errors[r].FieldName==="UserPrincipalName"?n.detailList.push(i.Errors[r].Detail+" can not be added because, "+i.Errors[r].Message):n.detailList.push(i.Errors[r].Message)}else i.Errors&&i.Errors.length>0?n.detailList.push(i.Errors[0].Message+": "+i.Errors[0].Detail):n.detailList.push("Failed to parse file");n.showUploadResults=!0;n.showSuccessResult=!1;n.showErrorResults=!0;n.isUploadDisabled=!0};n.uploader.onAfterAddingFile=function(t){n.selectedFile=t.file.name;n.isUploadDisabled=n.selectedFile!==""?!1:!0;g();nt()};n.uploader.onBeforeUploadItem=function(t){t.method="PUT";t.formData.push({OrgId:n.ATPGroupDetails.OrganisationId});t.formData.push({ATPGroupId:n.ATPGroupDetails.Id});l.start()};n.uploader.onCompleteAll=function(){l.stop()};n.isUploadDisabled=!0;d=4194304;n.Upload=function(){if(angular.isUndefined(n.uploader.queue)){n.isUploadDisabled=!0;return}n.isUploadDisabled=!1;var t=n.uploader.queue[0].file;if(t.size>d){n.fileErrors.fileTooBig=!0;n.uploader.clearQueue();return}if(t.name.split(".").pop()!="csv"){n.fileErrors.wrongExtension=!0;n.uploader.clearQueue();return}n.uploader.url=baseUrlValue+b;n.uploader.uploadAll();$("#importUsersUploadCSVModal").modal("hide");document.getElementById("csvUsersUploaderInput").value=""};n.cancelImport=function(){n.selectedFile="";n.fileErrors.wrongExtension=!1;$("#importUsersUploadCSVModal").modal("hide");n.isUploadDisabled=!0};n.clear=function(){angular.element("input[type='file']").val(null);n.selectedFile="";n.uploader.clearQueue();n.isUploadDisabled=!0};n.isExportMembersDisabled=!0;n.isExportMembersChecker=function(){n.isExportMembersDisabled=u.contains("ATP_GROUP_READ")?!1:!0};n.ExportMembers=function(){a.location.href="ExportCSV/ExportAtpGroupMembers?atpGroupID="+n.ATPGroupDetails.Id}}]);userAdminAppControllersModule.factory("AtpGroupAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var r="Request failed";angular.isDefined(n.data.Result.Errors)&&n.data.Result.Errors.length>0?n.data.Result.Errors[0].ErrorCode===51?i.path("/AccessDenied"):n.data.Result.Errors[0].ErrorCode===102?r=n.data.Result.Errors[0].Message:(r+=": "+n.data.Result.Errors[0].Message,r+=". "+n.data.Result.Errors[0].Detail):angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");t.error(r,{ttl:1e4})}return n(baseUrlValue,{},{Search:{method:"GET",params:{GroupName:"@GroupName",OrganisationName:"@OrganisationName"},url:baseUrlValue+"ATP",interceptor:{responseError:u},timeout:r.XhrTimeout},Create:{method:"POST",params:{enrollmentDetails:"@enrollmentDetails"},url:baseUrlValue+"ATP/create",interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppServicesModule.factory("AtpGroupSearchColumns",function(){return function(){return[{title:"Group Name",key:"GroupName"},{title:"Organisation Name",key:"OrganisationName"},]}});userAdminAppServicesModule.factory("AtpGroupSearchParams",function(){return function(){return{GroupName:"",OrganisationName:""}}});userAdminAppServicesModule.factory("AtpGroupSearchVisibleColumns",function(){return function(){this.GroupName=!0;this.OrganisationName=!0}});userAdminAppServicesModule.factory("AtpGroupService",["$sessionStorage","$filter","$parse",function(){return{ItemsOnPage:function(){return"10"},RemoveEmptyAttributes:function(n){return _.chain(n).keys().each(function(t){n[t]===""&&delete n[t]}),n}}}]);userAdminAppControllersModule.factory("AtpUserAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var r="Request failed";angular.isDefined(n.data.Result.Errors)&&n.data.Result.Errors.length>0?n.data.Result.Errors[0].ErrorCode===51?i.path("/AccessDenied"):n.data.Result.Errors[0].ErrorCode===102?r=n.data.Result.Errors[0].Message:(r+=": "+n.data.Result.Errors[0].Message,r+=". "+n.data.Result.Errors[0].Detail):angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");t.error(r,{ttl:1e4})}return n(baseUrlValue,{},{Search:{method:"GET",params:{UserName:"@UserName",OrganisationName:"@OrganisationName"},url:baseUrlValue+"ATP/Users",interceptor:{responseError:u},timeout:r.XhrTimeout},getRole:{method:"GET",params:{type:"@type"},url:baseUrlValue+"roles",isArray:!0,interceptor:{responseError:u},timeout:r.XhrTimeout},requestElevatedPermission:{method:"POST",params:{request:"@request"},url:baseUrlValue+"ATP/ElevatedPermissions/Request",interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppServicesModule.factory("AtpUserDetailsColumns",function(){return function(){return[{title:"Group Name",key:"GroupName"},{title:"Group Organisation Name",key:"OrganisationName"},{title:"Group Last Updated",key:"UpdatedDate"},{title:"Action",key:"isDeletable"}]}});userAdminAppServicesModule.factory("AtpUserDetailsSearchParams",function(){return function(){return{GroupName:"",OrganisationName:"",UpdatedDate:"",isDeletable:"",Action:""}}});userAdminAppServicesModule.factory("AtpUserDetailsService",["$sessionStorage","$filter","$parse",function(){return{ItemsOnPage:function(){return"10"},RemoveEmptyAttributes:function(n){return _.chain(n).keys().each(function(t){n[t]===""&&delete n[t]}),n}}}]);userAdminAppServicesModule.factory("AtpUserDetailsVisibleColumns",function(){return function(){this.GroupName=!0;this.OrganisationName=!0;this.UpdatedDate=!0;this.isDeletable=!0;this.Action=!1}});userAdminAppServicesModule.factory("AtpUserSearchColumns",function(){return function(){return[{title:"Display Name",key:"UserName"},{title:"Email",key:"Email"},{title:"Status",key:"Status"},{title:"Organisation Name",key:"OrganisationName"},]}});userAdminAppServicesModule.factory("AtpUserSearchParams",function(){return function(){return{UserName:"",Email:"",Status:"",OrganisationName:""}}});userAdminAppServicesModule.factory("AtpUserSearchVisibleColumns",function(){return function(){this.UserName=!0;this.Email=!0;this.Status=!0;this.OrganisationName=!0}});userAdminAppServicesModule.factory("AtpUserService",["$sessionStorage","$filter","$parse",function(){return{ItemsOnPage:function(){return"10"},RemoveEmptyAttributes:function(n){return _.chain(n).keys().each(function(t){n[t]===""&&delete n[t]}),n},MaxSizeOfUserUpload:function(){return 5e3}}}]);userAdminAppControllersModule.factory("ManageATPUserAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var r="Request failed";angular.isDefined(n.data.Result.Errors)&&n.data.Result.Errors.length>0?n.data.Result.Errors[0].ErrorCode===51?i.path("/AccessDenied"):n.data.Result.Errors[0].ErrorCode===102?r=n.data.Result.Errors[0].Message:(r+=": "+n.data.Result.Errors[0].Message,r+=". "+n.data.Result.Errors[0].Detail):angular.isDefined(n.data.Result.Errors[0].Message)?r+=": "+n.data.Result.Errors[0].Message:n.status===0?r="Request to server timed out":n.data.Result.Errors[0].ErrorCode===3&&(r=n.data.Result.Errors[0].Message+" "+n.data.Result.Errors[0].Detail);t.error(r,{ttl:1e4})}return n(baseUrlValue,{},{GetATPGroupUserDetails:{method:"GET",params:{Id:"@ATPGroupID"},url:baseUrlValue+"ATP/:ATPGroupID",interceptor:{responseError:u},timeout:r.XhrTimeout},UpdateATPGroupUserDetails:{method:"PUT",url:baseUrlValue+"ATP/",interceptor:{responseError:u},timeout:r.XhrTimeout},RemoveMemberFromATPGroup:{method:"DELETE",url:baseUrlValue+"ATP/RemoveMember",interceptor:{responseError:u},timeout:r.XhrTimeout},GetUserATPDetails:{method:"GET",params:{UserID:"@UserID"},url:baseUrlValue+"ATP/GetUsers/:UserID",interceptor:{responseError:u},timeout:r.XhrTimeout},DeleteATPGroup:{method:"DELETE",url:baseUrlValue+"ATP/",interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppControllersModule.controller("TeamsCreateController",["$scope","$location","Config","growl","TeamsAPI","CurrentUser","PermissionChecker",function(n,t,i,r,u,f,e){n.Config=i;n.$location=t;n.teamsPrivacyOptions=[{key:"Private",title:"Private - Only team owners can add members"}];e.contains("TEAMS_PUBLIC_GROUP_CREATE")&&n.teamsPrivacyOptions.push({key:"Public",title:"Public - Anyone on NHSmail can join"});n.currentUser=f.Email;n.team={DisplayName:"",Description:"",Privacy:"Private",OrganinsationUnitId:"",Owners:[],Members:[]};n.selectedOrganisation=null;n.selectedOrganisationUnit=null;n.$watch("selectedOrganisation.ID",function(t,i){n.orgError=!1;t!==i&&t==undefined&&(n.orgError=!0)});n.ownersError=!1;n.HiddenFromAddressList=!0;n.validateOwners=function(){var t={Owners:n.team.Owners};u.ValidateOwners(t).$promise.then(function(t){t!=undefined&&t.IsValid?n.ownersError=!1:(n.ownersError=!0,r.error(t.ErrorMessage))})};n.formSubmitClick=function(){if(n.orgError=!1,n.selectedOrganisation.ID==undefined&&(n.orgError=!0),n.form.$invalid){r.error("Please correct errors with form");return}if(n.ownersError){r.error("Please correct errors with selected owners, they all must have an O365 license provisioned.");return}n.team.OrganisationId=n.selectedOrganisation.ID;n.team.OrganisationUnitId=n.selectedOrganisationUnit.ID;u.CreateTeam(n.team).$promise.then(function(){t.path("/Teams")})}}]);userAdminAppControllersModule.controller("TeamsEditController",["$scope","$location","$routeParams","Config","growl","TeamsAPI","PermissionChecker","CurrentUser","TeamAPIResponse",function(n,t,i,r,u,f,e,o,s){n.Config=r;n.$location=t;n.PermissionChecker=e;n.TeamsAPI=f;n.currentUser=o.Email;n.team=s.Team;n.selectedOrganisation=s.Team.OrganisationId;n.selectedOrganisationUnit=s.Team.OrganisationUnitId;n.ownersError=!1;n.teamsPrivacyOptions=[{key:"Private",title:"Private - Only team owners can add members"},{key:"Public",title:"Public - Anyone on NHSmail can join"}];n.PrivacyEnabled=!0;n.UpdateEnabled=n.team.Status==="Active"&&e.contains("TEAMS_GROUP_UPDATE");n.DeleteEnabled=n.team.Status==="Active"&&e.contains("TEAMS_GROUP_DELETE");n.checkEditPermissions=function(){e.contains("TEAMS_PUBLIC_GROUP_UPDATE")||n.team.Privacy!="Private"||(n.PrivacyEnabled=!1);e.contains("TEAMS_PUBLIC_GROUP_DELETE")||n.team.Privacy!="Public"||(n.DeleteEnabled=!1)};var h=function(){n.validateOwners();n.checkEditPermissions()};n.validateOwners=function(){var t={Owners:n.team.Owners};f.ValidateOwners(t).$promise.then(function(t){t!=undefined&&t.IsValid?n.ownersError=!1:(n.ownersError=!0,u.error(t.ErrorMessage))})};n.formSubmitClick=function(){if(n.form.$invalid){u.error("Please correct errors with form");return}if(n.ownersError){u.error("Please correct errors with selected owners, they all must have an O365 license provisioned.");return}n.team.OrganisationUnitId=n.selectedOrganisationUnit.ID;f.Update(n.team).$promise.then(function(){t.path("/Teams")})};n.deleteTeams=function(){f.Delete({teamId:n.team.Id}).$promise.then(function(){t.path("/Teams")})};h()}]);userAdminAppControllersModule.controller("TeamsListController",["$scope","$location","$sessionStorage","$filter","PermissionChecker","Config","growl","TeamsAPI",function(n,t,i,r,u,f,e,o){n.itemsOnPage=f.UserList_ItemsOnPage;n.Status=f.TeamsStatus;n.$location=t;n.PermissionChecker=u;n.teamsListColumns=[{key:"DisplayName",title:"Display Name"},{key:"OrganisationName",title:"Organisation"},{key:"OrganisationOuName",title:"Organisation Unit"},{key:"Status",title:"Status"}];n.TeamsListSearchParams={};var s=function(n){_.chain(n).keys().each(function(t){n[t]===""&&delete n[t]})};n.GetTeam=function(n){(n.Status=="Active"||n.Status=="Deleted")&&t.path("/Teams/"+n.Id)};n.callSearchAPI=function(){n.showEmptyTable=!0;s(n.TeamsListSearchParams);o.GetTeams(n.TeamsListSearchParams).$promise.then(function(t){n.displayedTable=r("orderObjectBy")(t.Teams,"DisplayName");n.teamsListItems=[].concat(n.displayedTable)})};n.searchIfEnterKey=function(t){t.which===13&&n.callSearchAPI()}}]),function(){userAdminAppServicesModule.service("TeamsAPI",["growl","Config","$resource","$location",function(n,t,i,r){function u(t){var i="Request failed";angular.isDefined(t.data.Errors)&&t.data.Errors.length>0?t.data.Errors[0].Code===51?r.path("/AccessDenied"):(i+=": "+t.data.Errors[0].Message,i+=": "+t.data.Errors[0].Detail):angular.isDefined(t.data.Message)?i+=": "+t.data.Message:t.status===0&&(i="Request to server timed out");n.error(i,{ttl:1e4});throw t;}return i(baseUrlValue+"admin/teams/:teamId",{teamId:"@Id"},{GetTeams:{method:"GET",interceptor:{responseError:u},timeout:t.XhrTimeout},Get:{method:"GET",params:{teamId:"@teamId"},interceptor:{responseError:u},timeout:t.XhrTimeout},CreateTeam:{method:"POST",url:baseUrlValue+"admin/teams/create",interceptor:{responseError:u},timeout:t.XhrTimeout},Delete:{method:"DELETE",interceptor:{responseError:u},timeout:t.XhrTimeout},Update:{method:"PUT",interceptor:{responseError:u},timeout:t.XhrTimeout},ValidateOwners:{method:"POST",url:baseUrlValue+"admin/teams/validateowners",interceptor:{responseError:u},timeout:t.XhrTimeout}})}])}();userAdminAppControllersModule.controller("UserCreateDistributionListController",["$scope","$http","$location","$filter","$parse","JWTtokenHelper","$window","PermissionChecker","$sessionStorage","DistributionListService","DistributionListAPI","Config","growl","FetchUPN",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v){var p,y;n.distributionList={HideGroupFromAddressList:!1,AuthorisedSendersType:"specificSenders",MemberJoinRestriction:"Closed",MemberDepartRestriction:"Open",Organisation:{},ApprovalStatus:"",OwningUsers:[],SpecificAuthorisedSenders:[],Recipients:[],Type:"Static"};n.tree={treedata:[],expandedNodes:[],currentNode:null,opts:{injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}}};n.maxOwners=l.DL_MaxOwners;n.maxSenders=l.DL_MaxSpecificSenders;n.maxRecipients=l.SDL_MaxRecipients;n.nonSpecificSendersMaxRecipients=l.DL_NonSpecificSendersMaxRecipients;n.userPickerFilter={Status:["Pending","Disabled","Suspended","PendingError","Deleted"]};p="";n.currentUser={};n.getUserList={};n.getUserDetails=function(){var t={};t.FilterParams={};t.MatchAny=!0;t.AllUsers=!1;v.Get().$promise.then(function(i){t.FilterParams.Email=i.Email;n.currentUser.EmailAddress=i.Email;n.currentUser.ID=i.ID;n.currentUser.EmailType=i.EmailType})};y=function(n){return n===undefined||n===null||n===""?!0:!1};n.$watchGroup(["distributionList.Name","distributionList.Organisation.ShortName"],function(t,i,r){if(t[0]!==i[0]||t[1]!==i[1]){var u=r.distributionList.Organisation.ShortName.toLowerCase();n.distributionList.DistributionListEmailAddress=y(u)||y(n.distributionList.Name)?"":u+"."+n.distributionList.Name+n.getEmailDomain()}});n.formSubmit=function(t){if(t.$invalid){a.warning("Please correct the form validation errors");return}n.distributionList.Organisation={ID:n.distributionList.Organisation.ID};n.distributionList.OrganisationUnit={ID:n.tree.currentNode.ID};c.CreateStatic(n.distributionList).$promise.then(function(){$("#distributionListApprovalModal").modal("hide");$(".modal-backdrop").remove();i.path("/DistributionLists")})};n.getEmailDomain=function(){return domainAddress};n.distributionListCancelClick=function(){i.path("/DistributionLists")};$(function(){$('[data-toggle="tooltip"]').tooltip()});n.modalMarkupLoaded=function(){c.GetMyOrganisation().$promise.then(function(t){n.distributionList.Organisation=t;h.organisationChange(n.distributionList,n.tree)})};n.modalMarkupLoaded();n.getUserDetails()}]);userAdminAppControllersModule.controller("UserCreateDynamicDistributionListController",["$scope","$http","$location","$filter","$parse","$timeout","JWTtokenHelper","PicklistAPI","$window","PermissionChecker","$sessionStorage","growl","DistributionListAPI","DistributionListService","Config","CustomAttributeValidator","DistributionListSearchParams",function(n,t,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b){function tt(n){switch(n){case"-eq":n="=";break;case"-ne":n="!="}return n}function g(n){if(!n)return"";var t="";for(t="(",i=0;i<n[0].Rules.length;i++)i>0&&(t+=" "+n[0].Operator+" "),t+=n[0].Rules[i].Group?g(n[0].Rules[i].Group):n[0].Rules[i].Field+" "+tt(n[0].Rules[i].Condition)+" "+n[0].Rules[i].Data;if(t+=")",n[1]!=null&&n[1].Operator=="INCLUDE")for(i=0;i<n[1].Rules.length;i++)t+=" + "+n[1].Rules[i].Data;if(n[1]!=null&&n[1].Operator=="EXCLUDE")for(i=0;i<n[1].Rules.length;i++)t+=" - "+n[1].Rules[i].Data;if(n[2]!=null&&n[2].Operator=="EXCLUDE")for(i=0;i<n[2].Rules.length;i++)t+=" - "+n[2].Rules[i].Data;if(n[2]!=null&&n[2].Operator=="INCLUDE")for(i=0;i<n[2].Rules.length;i++)t+=" + "+n[2].Rules[i].Data;return t}var k,d,nt;n.distributionList={};n.distributionList.HideGroupFromAddressList=!1;n.OwningUsers=[];n.SpecificSendersTempCopy=[];n.RecipientsTempCopy=[];n.distributionList.AuthorisedSendersType="specificSenders";n.queryTargetUsers=[];n.treedata=[];n.showTargetUsers=!1;n.showUserpicker=!1;n.expandedNodes=[];n.currentNode;k="Pending";n.isOrganisationSeleted=!1;n.distributionList.Organisation={};n.RulesTemp=[];n.fieldOptions={};n.distributionListRequest={};n.IncludeSdlGroup=!1;n.ExcludeSdlGroup=!1;n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.checkSpecificSenders=!1;n.OwningUserListErrors={required:!1};n.SpecificSendersListErrors={required:!1};n.userPickerFilter={Status:["Pending","Disabled","Suspended","PendingError","Deleted"]};n.showContact=!1;n.userSelectionLimit=1;n.organisationRequest={};n.organisationRequest.FilterParams={};n.organisationRequest.FilterParams.OrganisationType="Organisation";n.DistributionListSearchParams=b();n.DistributionListSearchParams.matchAny=!0;n.distributionListRequest.FilterParams={FilterParms:n.DistributionListSearchParams,MatchAny:n.DistributionListSearchParams.matchAny};n.fieldOptions.clinicalRole=s.GetClinicalRole();n.fieldOptions.clinicalSpeciality=s.GetClinicalSpeciality();n.fieldOptions.workArea=s.GetWorkArea();n.isAdmin=!1;c.contains("IS_ADMIN")&&(n.isAdmin=!0);n.$watchGroup(["distributionList.Name","distributionList.Organisation.ShortName"],function(t,i){if((t[0]!==i[0]||t[1]!==i[1])&&t[1]!=null&&t[1]!=undefined&&t[1]!=""){var r=n.distributionList.Organisation.ShortName.toLowerCase();n.distributionList_form.distributionListInputDLName.$valid?n.distributionList.DistributionListEmailAddress=r+"."+n.distributionList.Name+n.getEmailDomain():n.distributionList_form.distributionListInputDLName.$invalid&&(n.distributionList.DistributionListEmailAddress="")}else n.distributionList.DistributionListEmailAddress=""});n.setupUserPickerDone=function(t){var i=n.$on("UserPickerSelectionDone",function(){var r=l.currentSource,c=f(r)(n),e=[],o,s,h;angular.forEach(n.selectedEmail,function(n){n.Email!=null&&(o={EmailAddress:n.Email,ID:n.ID,EmailType:n.EmailType},e.push(o))});s=c.concat(e);h=u("removeDuplicates")(s,"EmailAddress");f(r).assign(n,h);i();t=="OwningUsers"&&(n.OwningUsers.length==0?n.isOwningUserPresent=!1:n.OwningUsers.length==1&&(n.isOwningUserPresent=!0));n.showUserpicker=!1;n.showUserpickercontact=!1})};n.addUsersListClick=function(t,i){l.currentSource=t;n.userSelectionLimit=t==="OwningUsers"?1:"all";angular.copy([],n.selectedEmail);i===!0?(n.showUserpicker=!1,n.showUserpickercontact=!0):(n.showUserpickercontact=!1,n.showUserpicker=!0);n.OwningUserListErrors.required=!1;n.SpecificSendersListErrors.required=!1;n.setupUserPickerDone(t)};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1;n.showUserpickercontact=!1});n.distributionList.OwningUsers=[];n.EmailOwnersDistribution="";n.removeOwner=function(t){n.OwningUsers=u("filter")(n.OwningUsers,function(n){return n.EmailAddress!=t.EmailAddress});n.OwningUsers.length==0?n.isOwningUserPresent=!1:n.OwningUsers.length==1&&(n.isOwningUserPresent=!0)};n.distributionList.SpecificAuthorisedSenders=[];n.EmailSpecific="";n.removeSpecificSender=function(t){n.SpecificSendersTempCopy=u("filter")(n.SpecificSendersTempCopy,function(n){return n.EmailAddress!=t.EmailAddress});n.SpecificSendersTempCopy.length<100&&(n.showaddSpecificSendersToDistributionListCountExceedingLimitErrorMessage=!1,n.addSpecificSendersToDistributionListCountExceedingLimitErrorMessage="")};d=function(){(n.queryTargetUsers!=null||n.queryTargetUsers!=undefined)&&(n.checkSpecificSenders=n.queryTargetUsers.RecipientCount>p.DL_NonSpecificSendersMaxRecipients?n.distributionList.AuthorisedSendersType==="specificSenders"&&n.SpecificSendersTempCopy.length>0?!1:!0:!1)};n.ConfirmCreate=function(){v.Create(n.distributionList).$promise.then(function(){r.path("/DistributionLists")});$("#distributionListApprovalModalMaxMembers").modal("hide");$(".modal-backdrop").remove();r.path("/DistributionLists")};n.CancelCreate=function(){$("#distributionListApprovalModalMaxMembers").modal("hide");$(".modal-backdrop").remove()};n.distributionList_formSubmitClick=function(t){var i,r,u;if($("#distributionList_formResult").removeClass("alert-success alert-danger").html(""),n.OwningUserListErrors.required=!1,n.SpecificSendersListErrors.required=!1,n.OwningUsers.length===0){n.OwningUserListErrors.required=!0;a.warning("An owner needs to be set");return}if(n.ExcludeSdlGroup&&!n.IncludeSdlGroup&&n.distributionList.QueryBuilderGroup[0].Rules.length===0){a.warning("You cannot create a DDL that only contains an exclude rule, you must add a non-exclude rule before you can save your changes.");return}if(n.distributionList.AuthorisedSendersType==="specificSenders"){if(n.SpecificSendersTempCopy.length===0){n.SpecificSendersListErrors.required=!0;a.warning("At least 1 sender needs to be configured");return}}else n.SpecificSendersListErrors.required=!1;if(angular.copy(n.OwningUsers,n.distributionList.OwningUsers),angular.copy(n.SpecificSendersTempCopy,n.distributionList.SpecificAuthorisedSenders),angular.copy(n.RecipientsTempCopy,n.distributionList.Recipients),n.distributionList.AuthorisedSendersType==="specificSenders"&&(n.distributionList.SpecificAuthorisedSenders.length===0||n.distributionList.SpecificAuthorisedSenders==null)){n.showAddSpecificSendersToDistributionListCountEmptyEmailStringAdd=!0;n.addSpecificSendersToDistributionListCountExceedingLimitErrorMessage="Operation not allowed. Must have atleast one entry to save.";a.warning("At least 1 sender needs to be configured");return}if((n.distributionList.AuthorisedSendersType==="onlyInside"||n.distributionList.AuthorisedSendersType==="all")&&(n.distributionList.SpecificAuthorisedSenders=[]),t.$invalid||angular.element(".alert.alert-danger.queryBuilderError").length>=1){a.warning("There's a validation error on the form");return}if(angular.forEach(n.distributionList.QueryBuilderGroup.Rules,function(n,t){if(t.length===0){a.warning("Add at least one rule to the Dynamic Distribution List");return}}),angular.copy(n.distributionList.QueryBuilderGroup.Rules,n.RulesTemp),i=w.allowOrRestrictCustomAttribute(n.RulesTemp),!i.allowCustomAttribute){a.error(i.errorMessage);return}if(r=w.isValidCustomAttribute(n.RulesTemp),!r.allowCustomAttribute){a.error(r.errorMessage);return}n.distributionList.Type="Dynamic";n.distributionList.ApprovalStatus=k;n.distributionList.Organisation={ID:n.distributionList.Organisation.ID,Name:n.distributionList.Organisation.Name,Country:n.distributionList.Organisation.Country,ODSCode:n.distributionList.Organisation.ODSCode,Address:n.distributionList.Organisation.Address,PostCode:n.distributionList.Organisation.PostCode,OrganisationStatus:{Status:n.distributionList.ApprovalStatus},Type:n.distributionList.Type,ShortName:n.distributionList.Organisation.ShortName};n.distributionList.OrganisationUnit={ID:n.currentNode.ID,Name:n.currentNode.Name};u={};u.queryBuilderGroup=n.distributionList.QueryBuilderGroup;v.ViewTargetUsers(u).$promise.then(function(t){if(n.queryTargetUsers=t,n.queryTargetUsers!=null||n.queryTargetUsers!=undefined){if(d(),n.checkSpecificSenders){a.warning("Specific senders must be set on large distribution lists");return}$("#distributionListApprovalModalMaxMembers").modal("show")}})};n.getEmailDomain=function(){return domainAddress};n.distributionListCancelClick=function(){window.history.back()};$(function(){$('[data-toggle="tooltip"]').tooltip()});n.modalMarkupLoaded=function(){$("#distributionList_formResult").removeClass("alert-success alert-danger").html("");v.GetMyOrganisation().$promise.then(function(t){n.distributionList.Organisation=t;n.organisationChange()})};n.modalMarkupLoaded();n.pick=function(t){angular.copy(t,n.distributionList.Organisation);n.organisationChange()};n.organisationChange=function(){if(n.distributionList.Organisation.ShortName===""||n.distributionList.Organisation.ShortName==null||n.distributionList.Organisation.ShortName==undefined){n.isOrganisationSeleted=!1;return}n.distributionList.Organisation!=null&&n.distributionList.Organisation!=="undefined"?(angular.copy([],n.treedata),v.GetOrganistion({Id:n.distributionList.Organisation.ID,shortResponse:!0}).$promise.then(function(t){n.isOrganisationSeleted=!0;n.treedata.push(t);n.expandedNodes=[n.treedata[0]];n.currentNode=n.treedata[0]})):(angular.copy([],n.treedata),n.distributionList.Organisation=undefined,n.isOrganisationSeleted=!1)};nt='{"Group": {"Operator": "AND","Rules": []}}';n.distributionList.QueryBuilderGroup=[{Operator:"AND",Rules:[]}];n.IncludeSdlGroup&&n.distributionList.QueryBuilderGroup.push({Operator:"INCLUDE",Rules:[]});n.ExcludeSdlGroup&&n.distributionList.QueryBuilderGroup.push({Operator:"EXCLUDE",Rules:[]});n.$watch("distributionList.QueryBuilderGroup",function(t){n.output=g(t)},!0);n.selectUnselectIncludeSdlGroups=function(){if(n.IncludeSdlGroup==undefined||n.IncludeSdlGroup)n.distributionList.QueryBuilderGroup.push({Operator:"INCLUDE",Rules:[]});else{var t=_.findIndex(n.distributionList.QueryBuilderGroup,{Operator:"INCLUDE"});n.distributionList.QueryBuilderGroup.splice(t,1)}};n.selectUnselectExcludeSdlGroups=function(){if(n.ExcludeSdlGroup==undefined||n.ExcludeSdlGroup)n.distributionList.QueryBuilderGroup.push({Operator:"EXCLUDE",Rules:[]});else{var t=_.findIndex(n.distributionList.QueryBuilderGroup,{Operator:"EXCLUDE"});n.distributionList.QueryBuilderGroup.splice(t,1)}};n.viewTargetUsersClicked=function(){n.viewTargetButtonClicked=!0;e(function(){var t,i,r;if(!(angular.element(".alert.alert-danger.queryBuilderError").length>=1)){if(angular.copy(n.distributionList.QueryBuilderGroup.Rules,n.RulesTemp),t=w.allowOrRestrictCustomAttribute(n.RulesTemp),!t.allowCustomAttribute){a.error(t.errorMessage);return}if(i=w.isValidCustomAttribute(n.RulesTemp),!i.allowCustomAttribute){a.error(i.errorMessage);return}r={};r.queryBuilderGroup=n.distributionList.QueryBuilderGroup;v.ViewTargetUsers(r).$promise.then(function(t){n.queryTargetUsers=t;(n.queryTargetUsers!=null||n.queryTargetUsers!=undefined)&&(n.showTargetUsers=!0)})}})};n.$on("UserListBackButtonClickedEvent",function(){n.showTargetUsers=!1})}]);userAdminAppControllersModule.controller("UserEditDistributionListController",["$scope","$location","$routeParams","$modal","$http","$filter","$parse","FileUploader","JWTtokenHelper","OrganisationObjectHelperService","HttpParamSerializerPolyfillService","$window","PermissionChecker","$sessionStorage","blockUI","growl","DistributionListAPI","DistributionListService","Config","FetchUPN",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d){function ht(){n.showValidationResults=!1;n.showUploadResults=!1;n.showSuccessResult=!1;n.showErrorResults=!1;n.uploadedFile="";n.totalImportedRecordCount=0;n.detailList=[]}function ct(){n.fileErrors={fileTooBig:!1,wrongExtension:!1}}var g,ft,tt,st;n.editDistributionList={};n.OwningUsersTempCopy=[];n.SpecificSendersTempCopy=[];n.RecipientsTempCopy=[];n.isPendingDisabled=!1;n.isDeleteDisabled=!0;n.isOrganisationSelected=!1;n.SelectedOrganisation={};n.IsOrganisationUnSelected=!1;n.OrganisationParentAndChildDetails="";n.checkSpecificSenders=!1;n.disableExportRecipients=!1;n.Config=k;g={};n.maxValue=25;n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.OldEmailAddress="";n.treedata=[];n.expandedNodes=[];n.currentNode=null;n.treedataStaticDLMover=[];n.expandedNodesStaticDLMover=[];n.currentNodeStaticDLMover=null;n.isUpdateAllowed=!1;n.OwningUserListErrors={required:!1};n.SpecificSendersListErrors={required:!1};n.userPickerFilter={Status:["Pending","Disabled","Suspended","PendingError","Deleted"]};n.showContact=!1;var nt={},it=!0,rt="";n.editDistributionList.SelectUserAsOwner=!1;n.selectedUserAsOwnerFromUserPicker=!1;n.getUserDetails=function(){var t={};t.FilterParams={};t.MatchAny=!0;t.AllUsers=!1;d.Get().$promise.then(function(i){t.FilterParams.Email=i.Email;nt.EmailAddress=i.Email;nt.ID=i.ID;nt.EmailType=i.EmailType;angular.forEach(n.OwningUsersTempCopy,function(t){t.EmailAddress===nt.EmailAddress&&(n.editDistributionList.SelectUserAsOwner=!0)})})};var lt=function(n){if(angular.isDefined(n)&&angular.isDefined(g))return n.Name===g.Name&&n.HideGroupFromAddressList===g.HideGroupFromAddressList&&n.MemberJoinRestriction===g.MemberJoinRestriction&&n.MemberDepartRestriction===g.MemberDepartRestriction&&n.ModerationFlag===g.ModerationFlag&&n.Description===g.Description&&n.AuthorisedSendersType===g.AuthorisedSendersType&&ut(n.SpecificAuthorisedSenders,g.SpecificAuthorisedSenders)&&ut(n.OwningUsers,g.OwningUsers)},ut=function(n,t){var i=[],r=[];return(angular.forEach(n,function(n){i.push(n.EmailAddress)}),angular.forEach(t,function(n){r.push(n.EmailAddress)}),i.length===r.length)?_.difference(i,r).length===0?!0:!1:!1},at=function(n){return n===rt?!0:!1};n.modalMarkupLoaded=function(){n.viewDistributionParams={};n.viewDistributionParams.DistributionListEmailAddress=i.DistributionListEmailAddress;u({method:"post",url:baseUrlValue+"GetStaticDistributionListForNonAdmin",data:n.viewDistributionParams}).success(function(t){angular.copy(t,g);n.editDistributionList=t;n.dsl=t.DistributionListEmailAddress;n.OldEmailAddress=n.dsl;n.OrganisationParentAndChildDetails=h.getPathOfOUinOrgAsName(n.editDistributionList.OrganisationUnit);rt=h.getPathOfOUinOrgAsName(n.editDistributionList.OrganisationUnit);(n.editDistributionList.Recipients==null||n.editDistributionList.Recipients==undefined)&&(n.editDistributionList.Recipients=[]);(n.editDistributionList.OwningUsers==null||n.editDistributionList.OwningUsers==undefined)&&(n.editDistributionList.OwningUsers=[]);(n.editDistributionList.SpecificAuthorisedSenders==null||n.editDistributionList.SpecificAuthorisedSenders==undefined)&&(n.editDistributionList.SpecificAuthorisedSenders=[]);n.OwningUsersTempCopy=n.editDistributionList.OwningUsers;n.SpecificSendersTempCopy=n.editDistributionList.SpecificAuthorisedSenders;n.RecipientsTempCopy=n.editDistributionList.Recipients;n.isPendingDisabled=n.editDistributionList.Status=="Pending"||n.editDistributionList.Status=="Rejected"||n.editDistributionList.status=="Deleted"?!0:n.editDistributionList.Status=="Active"?!1:!1;n.disableExportRecipients=n.editDistributionList.Recipients.length>0?!1:!0}).error(function(n){n.Errors[0].ErrorCode==51&&t.path("/AccessDenied")});n.$watch("editDistributionList.Name + editDistributionList.Organisation",function(t,i){var r,u;i!=null&&t!=i&&(r="",n.editDistributionList.Organisation.ShortName&&(r=angular.lowercase(n.editDistributionList.Organisation.ShortName)),(r==undefined||r==""||r==null)&&(r="org"),n.editDistributionList_form.editDistributionListInputDLName.$valid?(u=r+"."+n.editDistributionList.Name+n.getEmailDomain(),angular.lowercase(u)!=angular.lowercase(n.editDistributionList.DistributionListEmailAddress)?(n.editDistributionList.NewEmail=u,n.dsl=u):n.editDistributionList.NewEmail=null):n.editDistributionList_form.editDistributionListInputDLName.$invalid&&(n.editDistributionList.NewEmail=null))});a.contains("STATIC_DISTRIBUTION_LIST_DELETE")&&(n.isDeleteDisabled=!1);a.contains("STATIC_DISTRIBUTION_LIST_UPDATE")&&(n.isUpdateAllowed=!0)};n.modalMarkupLoaded();n.$watch("OwningUsersTempCopy",function(t){t.length>0&&it&&(n.getUserDetails(),it=!1)});n.setupUserPickerDone=function(t){var i=n.$on("UserPickerSelectionDone",function(){var r=v.currentSource,l=e(r)(n),u=[],s,h,o,c;angular.forEach(n.selectedEmail,function(n){n.Email!=null&&(s={EmailAddress:n.Email,ID:n.ID,EmailType:n.EmailType},u.push(s))});h=l.concat(u);o=f("removeDuplicates")(h,"EmailAddress");o.length<=1e4?e(r).assign(n,o):(c=t+"LimitExceeded",e(c).assign(n,!0));i();n.showUserpicker=!1;n.showUserpickercontact=!1;r==="OwningUsersTempCopy"&&angular.forEach(u,function(t){t.EmailAddress===nt.EmailAddress&&(n.editDistributionList.SelectUserAsOwner=!0,n.selectedUserAsOwnerFromUserPicker=!0)})})};n.EmailOwnersDistribution="";n.addUsersListClick=function(t,i){v.currentSource=t;angular.copy([],n.selectedEmail);i==!0?(n.showUserpicker=!1,n.showUserpickercontact=!0):(n.showUserpickercontact=!1,n.showUserpicker=!0);n.OwningUserListErrors.required=!1;n.SpecificSendersListErrors.required=!1;n.setupUserPickerDone(t)};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1;n.showUserpickercontact=!1});n.removeOwner=function(t){t.EmailAddress===nt.EmailAddress&&(n.editDistributionList.SelectUserAsOwner=!1);n.OwningUsersTempCopy=f("filter")(n.OwningUsersTempCopy,function(n){return n.EmailAddress!=t.EmailAddress});n.OwningUsersTempCopy.length<50&&(n.showAddOwnersToDistributionListCountExceedingLimitErrorMessage=!1,n.showAddOwnersToDistributionListCountEmptyEmailStringAdd=!1,n.addOwnersToDistributionListCountExceedingLimitErrorMessage="")};n.EmailSpecific="";n.removeSpecificSender=function(t){n.SpecificSendersTempCopy=f("filter")(n.SpecificSendersTempCopy,function(n){return n.EmailAddress!=t.EmailAddress});n.editDistributionList.SpecificSendersTempCopy.length<200&&(n.showaddSpecificSendersToDistributionListCountExceedingLimitErrorMessage=!1,n.showAddSpecificSendersToDistributionListCountEmptyEmailStringAdd=!1,n.addSpecificSendersToDistributionListCountExceedingLimitErrorMessage="")};n.EmailDistribution="";n.removeRecipient=function(t){n.RecipientsTempCopy=f("filter")(n.RecipientsTempCopy,function(n){return n.EmailAddress!=t.EmailAddress})};ft=function(){(n.RecipientsTempCopy!=null||n.RecipientsTempCopy!=undefined)&&(n.checkSpecificSenders=n.RecipientsTempCopy.length>k.SDL_MaxRecipients?n.editDistributionList.AuthorisedSendersType=="specificSenders"&&n.SpecificSendersTempCopy.length>0?!1:!0:!1)};tt=function(){u({method:"put",url:baseUrlValue+"distributionlists/UpdateForNonAdminUser/"+n.editDistributionList.DistributionListEmailAddress,data:n.editDistributionList}).success(function(){t.path("/DistributionLists")}).error(function(n){var i="Request failed: ",t;if(n.Errors){for(i+="<ul>",t=0;t<n.Errors.length;t++)i+="<li>"+n.Errors[t].Message+n.Errors[t].FieldName+" "+n.Errors[t].Detail+"<\/li>";i+="<\/ul>"}else i+=" status code "+n.status;$("#editDistributionList_formResult").addClass("alert-danger").html(i)})};n.editDistributionList_formSubmitClick=function(t){var i,r;if($("#editDistributionList_formResult").removeClass("alert-success alert-danger").html(""),n.OwningUserListErrors.required=!1,n.SpecificSendersListErrors.required=!1,!(n.OwningUsersTempCopy.length>k.DL_MaxOwners)){if(n.OwningUsersTempCopy.length===0){n.OwningUserListErrors.required=!0;return}if(n.editDistributionList.AuthorisedSendersType==="specificSenders"){if(n.SpecificSendersTempCopy.length===0){n.SpecificSendersListErrors.required=!0;return}}else n.SpecificSendersListErrors.required=!1;if(n.editDistributionList.OwningUsers=[],n.editDistributionList.SpecificAuthorisedSenders=[],n.editDistributionList.Recipients=[],ft(),!n.checkSpecificSenders){if(i=[],angular.forEach(n.OwningUsersTempCopy,function(t){i.indexOf(t.EmailAddress)!==-1?n.OwningUsersTempCopy.pop():i.push(t.EmailAddress)}),angular.copy(n.OwningUsersTempCopy,n.editDistributionList.OwningUsers),angular.copy(n.SpecificSendersTempCopy,n.editDistributionList.SpecificAuthorisedSenders),angular.copy(n.RecipientsTempCopy,n.editDistributionList.Recipients),n.editDistributionList.AuthorisedSendersType=="specificSenders"&&(n.editDistributionList.SpecificAuthorisedSenders==null||n.editDistributionList.SpecificAuthorisedSenders.length==0)){n.showaddSpecificSendersToDistributionListCountExceedingLimitErrorMessage=!0;n.addSpecificSendersToDistributionListCountExceedingLimitErrorMessage="Operation not allowed. Must have atleast one entry to save.";return}((n.editDistributionList.AuthorisedSendersType=="onlyInside"||n.editDistributionList.AuthorisedSendersType=="all")&&(n.editDistributionList.SpecificAuthorisedSenders=[]),t.$invalid)||(n.currentNode!=null&&(r={ID:n.currentNode.ID,Name:n.currentNode.Name},angular.copy(r,n.editDistributionList.OrganisationUnit)),n.editDistributionList.Type="Static",n.editDistributionList.Status=="Active"&&(n.isDeleteDisabled=!0),n.editDistributionList.Status=="Pending"&&(n.isDeleteDisabled=!1),n.editDistributionList.Status=="Active"&&(!lt(n.editDistributionList)||!at(n.OrganisationParentAndChildDetails)||n.editDistributionList.Recipients.length>n.editDistributionList.RecipientLimit?$("#distributionListApprovalModal").modal("show"):(tt(),$("#distributionListApprovalModal").modal("hide"))),n.editDistributionList.Status=="Pending"&&u({method:"put",url:baseUrlValue+"/distributionlists/UpdateForNonAdminUser/"+n.editDistributionList.DistributionListEmailAddress,data:n.editDistributionList}).success(function(){}).error(function(n){var i="Request failed: ",t;if(n.Errors){for(i+="<ul>",t=0;t<n.Errors.length;t++)i+="<li>"+n.Errors[t].Message+n.Errors[t].FieldName+" "+n.Errors[t].Detail+"<\/li>";i+="<\/ul>"}else i+=" status code "+n.status;$("#editDistributionList_formResult").addClass("alert-danger").html(i)}))}}};n.editDistributionListCancelClick=function(){window.history.back()};n.ConfirmCreate=function(){$("#distributionListApprovalModal").modal("hide");$(".modal-backdrop").remove();tt();t.path("/DistributionLists")};$(function(){$('[data-toggle="tooltip"]').tooltip()});n.editDistributioListDeleteClick=function(){n.deleteStaticDLObj=n.editDistributionList.DistributionListEmailAddress;u({method:"DELETE",url:baseUrlValue+"DeleteNonAdminStaticDistributionList",headers:{"Content-Type":"application/json;charset=utf-8"},data:{DLEmailAddress:n.deleteStaticDLObj}}).success(function(){t.path("/DistributionLists")}).error(function(n){var t="Request failed: ";t+=n.Errors.length>0?n.Errors[0].Message:"Unable to connect to server please try again.";$("#editDistributionList_formResult").addClass("alert-danger").html(t)})};n.getEmailDomain=function(){return domainAddress};n.editDistributionListOU=function(){angular.copy([],n.treedata);angular.copy([],n.expandedNodes);angular.copy(null,n.currentNode);$("#userDetails_formResult").removeClass("alert-success alert-danger").html("");u({method:"POST",url:baseUrlValue+"ViewOrganisationWithOutPermission",data:n.editDistributionList.Organisation}).success(function(t){n.treedata.push(t);var i=h.getPathOfNodeInTreeObject(n.editDistributionList.OrganisationUnit,n.treedata[0],"treedata[0]");angular.copy([],n.expandedNodes);n.expandedNodes=h.getExpandedTreeNodesTillSelectedNode(n.$eval(i),n.treedata[0],[]);n.currentNode=n.$eval(i);n.originallySelectedNodeBeforeEdit=n.$eval(i);angular.element("#editDistributionListEditOUModal").modal("show")}).error(function(n){var i="Request failed, Unable to fetch organisational unit details for the user",t;if(n.Errors){for(i+="<ul>",t=0;t<n.Errors.length;t++)i+="<li>"+n.Errors[t].Message+n.Errors[t].FieldName+" "+n.Errors[t].Detail+"<\/li>";i+="<\/ul>"}else i+=" status code "+n.status;$("#createUser_formResult").addClass("alert-danger").html(i)})};n.CancelOUEdit=function(){n.currentNode=n.originallySelectedNodeBeforeEdit;angular.element("#editDistributionListEditOUModal").modal("hide")};n.ConfirmOUEdit=function(){angular.copy(n.currentNode,n.editDistributionList.OrganisationUnit);n.OrganisationParentAndChildDetails=h.getNamePathOfNodeInTreeObjectRecursiveSearch(n.currentNode,n.treedata[0],"");angular.element("#editDistributionListEditOUModal").modal("hide")};n.ImportNonAdminStaticDLRecipents=function(){$("#importRecipientsNonAdminUploadCSVModal").modal("show")};n.$watch("editDistributionList_form.$valid",function(t,i){t!==i&&(n.isDeleteDisabled=t==!1||n.editDistributionList.Status=="Pending"||n.editDistributionList.Status=="Rejected"?!0:!1)});n.ExportNonAdminStaticDL=function(){var t={};t.ID=n.editDistributionList.ID;t.EmailAddress=n.editDistributionList.DistributionListEmailAddress;l.location.href="ExportCSV/ExportRecipientListForNonAdmin?"+c.serialize(t)};var et="distributionlists/static/uploadmembersfornonadmin/"+i.DistributionListEmailAddress,ot=100;ht();ct();n.uploader=new o({url:baseUrlValue+et,headers:{Authorization:"Bearer "+sessionStorage.getItem("JWToken")},removeAfterUpload:!0});n.uploader.onSuccessItem=function(t,i){var u,r;for(n.uploadedFile=t.file.name,n.editDistributionList.Recipients=[],n.TempRecipients={},u=i.length,r=0;r<i.length;r++)n.TempRecipients.EmailAddress=i[r].EmailAddress,n.TempRecipients.ID=i[r].ID,n.editDistributionList.Recipients.push({EmailAddress:n.TempRecipients.EmailAddress,EmailType:null,ID:n.TempRecipients.ID});n.RecipientsTempCopy=[];angular.copy(n.editDistributionList.Recipients,n.RecipientsTempCopy);n.totalImportedRecordCount=n.editDistributionList.Recipients.length;n.showUploadResults=!0;n.showSuccessResult=!0;n.showErrorResults=!1};n.uploader.onErrorItem=function(t,i){if(n.uploadedFile=t.file.name,i.Errors.length>0)for(var r=0;r<i.Errors.length;r++){if(r>ot){n.detailList.push("error list limited to first "+ot);break}i.Errors[r].Detail==null?n.detailList.push(i.Errors[r].Message):n.detailList.push(i.Errors[r].Detail)}else i.Errors&&i.Errors.length>0?n.detailList.push(i.Errors[0].Message+": "+i.Errors[0].Detail):n.detailList.push("Failed to parse file");n.showUploadResults=!0;n.showSuccessResult=!1;n.showErrorResults=!0};n.uploader.onAfterAddingFile=function(t){n.selectedFile=t.file.name;ht();ct()};n.uploader.onBeforeUploadItem=function(){y.start()};n.uploader.onCompleteAll=function(){y.stop()};st=4194304;n.Upload=function(){var t=n.uploader.queue[0].file;if(t.size>st){n.fileErrors.fileTooBig=!0;n.uploader.clearQueue();return}if(t.name.split(".").pop()!="csv"){n.fileErrors.wrongExtension=!0;n.uploader.clearQueue();return}n.uploader.url=baseUrlValue+et;n.uploader.uploadAll();$("#importRecipientsNonAdminUploadCSVModal").modal("hide");document.getElementById("csvRecipientsUploaderInput").value=""};n.cancelImport=function(){n.selectedFile="";$("#fileValidationError").hide();$("#importRecipientsNonAdminUploadCSVModal").modal("hide")};n.clear=function(){angular.element("input[type='file']").val(null);n.selectedFile="";n.uploader.clearQueue()};n.selectUnselectOwners=function(){n.editDistributionList.SelectUserAsOwner?n.OwningUsersTempCopy.push(nt):n.removeOwner(nt,"OwningUsersTempCopy")}}]);userAdminAppControllersModule.controller("UserDynamicDistributionListController",["$scope","$location","$routeParams","$modal","$http","$filter","$parse","$timeout","$q","OrganisationObjectHelperService","JWTtokenHelper","$window","PicklistAPI","PermissionChecker","$sessionStorage","growl","DistributionListAPI","DistributionListService","Config","CustomAttributeValidator","DistributionListSearchParams",function(n,t,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b,k,d,g,nt){function rt(n){switch(n){case"-eq":n="=";break;case"-ne":n="!="}return n}function it(t){if(!t)return"";var r="";for(r="(",i=0;i<t[0].Rules.length;i++)i>0&&(r+=" "+t[0].Operator+" "),r+=t[0].Rules[i].Group?it(t[0].Rules[i].Group):t[0].Rules[i].Field+" "+rt(t[0].Rules[i].Condition)+" "+t[0].Rules[i].Data;if(r+=")",t[1]!=null&&t[1].Operator=="INCLUDE")for(n.includeSdlGroup=t[1].Operator=="INCLUDE"?!0:!1,i=0;i<t[1].Rules.length;i++)r+=" + "+t[1].Rules[i].Data;if(t[1]!=null&&t[1].Operator=="EXCLUDE")for(n.excludeSdlGroup=t[1].Operator=="EXCLUDE"?!0:!1,i=0;i<t[1].Rules.length;i++)r+=" - "+t[1].Rules[i].Data;if(t[2]!=null&&t[2].Operator=="EXCLUDE")for(n.excludeSdlGroup=t[2].Operator=="EXCLUDE"?!0:!1,i=0;i<t[2].Rules.length;i++)r+=" - "+t[2].Rules[i].Data;if(t[2]!=null&&t[2].Operator=="INCLUDE")for(n.includeSdlGroup=t[2].Operator=="INCLUDE"?!0:!1,i=0;i<t[2].Rules.length;i++)r+=" + "+t[2].Rules[i].Data;return r}var tt;n.editDistributionList={};n.OwningUsersTempCopy=[];n.SpecificSendersTempCopy=[];n.RecipientsTempCopy=[];n.OrganisationParentAndChildDetails="";n.distributionListRequest={};n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.OldEmailAddress="";n.SelectedOrganisation={};n.isOrganisationSelected=!1;n.treedata=[];n.expandedNodes=[];n.currentNode=null;n.treedataDynamicDLMover=[];n.expandedNodesDynamicDLMover=[];n.currentNodeDynamicDLMover=null;n.fieldOptions={};n.fieldDataLoaded=!1;n.DynamicDLDeletePermission=!1;n.RulesTemp=[];n.checkSpecificSenders=!1;n.OwningUserListErrors={required:!1};n.SpecificSendersListErrors={required:!1};n.userPickerFilter={Status:["Pending","Disabled","Suspended","PendingError","Deleted"]};n.showContact=!1;n.userSelectionLimit=1;n.DistributionListSearchParams=nt();n.DistributionListSearchParams.matchAny=!0;n.distributionListRequest.FilterParams={FilterParms:n.DistributionListSearchParams,MatchAny:n.DistributionListSearchParams.matchAny};n.fieldOptions.clinicalRole=v.GetClinicalRole();n.fieldOptions.clinicalSpeciality=v.GetClinicalSpeciality();n.fieldOptions.workArea=v.GetWorkArea();n.modalMarkupLoaded=function(){n.viewDistributionParams={};n.viewDistributionParams.ID=r.ID;b.GetNonAdmin({dlID:n.viewDistributionParams.ID}).$promise.then(function(t){n.editDistributionList=t;n.isUpdateAllowed=!0;n.editDistributionList.Status==="Pending"?(n.isUpdateAllowed=!1,b.GetApprovalsByEmail({DLemail:n.viewDistributionParams.ID}).$promise.then(function(t){n.myApprovals=_.where(t,{UserCanUpdate:!0,IsApproved:null});n.otherApprovals=_.where(t,{UserCanUpdate:!1,IsApproved:null})})):n.editDistributionList.Status!=="Active"&&(n.isUpdateAllowed=!1);n.dsl=t.DistributionListEmailAddress;n.OldEmailAddress=n.dsl;(n.editDistributionList.SpecificAuthorisedSenders==null||n.editDistributionList.SpecificAuthorisedSenders==undefined)&&(n.editDistributionList.SpecificAuthorisedSenders=[]);n.OrganisationParentAndChildDetails=c.getPathOfOUinOrgAsName(n.editDistributionList.OrganisationUnit);(n.editDistributionList.Recipients==null||n.editDistributionList.Recipients==undefined)&&(n.editDistributionList.Recipients=[]);(n.editDistributionList.OwningUsers==null||n.editDistributionList.OwningUsers==undefined)&&(n.editDistributionList.OwningUsers=[]);(n.editDistributionList.SpecificAuthorisedSenders==null||n.editDistributionList.SpecificAuthorisedSenders==undefined)&&(n.editDistributionList.SpecificAuthorisedSenders=[]);n.OwningUsersTempCopy=n.editDistributionList.OwningUsers;n.SpecificSendersTempCopy=n.editDistributionList.SpecificAuthorisedSenders;n.RecipientsTempCopy=n.editDistributionList.Recipients;n.OwningUsersTempCopy.length===0?n.isOwningUserPresent=!1:n.OwningUsersTempCopy.length===1&&(n.isOwningUserPresent=!0)});n.$watch("editDistributionList.Name + editDistributionList.Organisation",function(t,i){var r,u;i!=null&&t!==i&&(r="",n.editDistributionList.Organisation.ShortName&&(r=angular.lowercase(n.editDistributionList.Organisation.ShortName)),(r==undefined||r==="")&&(r="org"),n.editDistributionList_form.editDistributionListInputDLName.$valid?(u=r+"."+n.editDistributionList.Name+n.getEmailDomain(),angular.lowercase(u)!=angular.lowercase(n.editDistributionList.DistributionListEmailAddress)?(n.editDistributionList.NewEmail=u,n.dsl=u):n.editDistributionList.NewEmail=null):n.editDistributionList_form.editDistributionListInputDLName.$invalid&&(n.editDistributionList.NewEmail=null))})};n.modalMarkupLoaded();n.setupUserPickerDone=function(t){var i=n.$on("UserPickerSelectionDone",function(){var u=p.currentSource,c=o(u)(n),f=[],s,h,r;angular.forEach(n.selectedEmail,function(n){n.Email!=null&&(s={EmailAddress:n.Email,ID:n.ID,EmailType:n.EmailType},f.push(s))});h=c.concat(f);r=e("removeDuplicates")(h,"EmailAddress");r.length<=d.DL_MaxSpecificSenders?o(u).assign(n,r):w.error("Could not add new senders. The maximum allowed senders is "+d.DL_MaxSpecificSenders);i();t==="OwningUsersTempCopy"&&(n.OwningUsersTempCopy.length===0?n.isOwningUserPresent=!1:n.OwningUsersTempCopy.length===1&&(n.isOwningUserPresent=!0));n.showUserpicker=!1;n.showUserpickercontact=!1;n.showOwnerUserpicker=!1})};n.EmailOwnersDistribution="";n.addUsersListClick=function(t,i){p.currentSource=t;n.userSelectionLimit=t==="OwningUsersTempCopy"?1:"all";angular.copy([],n.selectedEmail);i===!0?(n.showUserpicker=!1,n.showUserpickercontact=!0,n.showOwnerUserpicker=!1):(n.showUserpickercontact=!1,n.showUserpicker=!0);n.OwningUserListErrors.required=!1;n.SpecificSendersListErrors.required=!1;n.setupUserPickerDone(t)};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1;n.showUserpickercontact=!1});n.$on("UserPickerSelectionDone",function(){n.showUserpicker=!1;n.showUserpickercontact=!1});n.removeOwner=function(t){n.OwningUsersTempCopy=e("filter")(n.OwningUsersTempCopy,function(n){return n.EmailAddress!=t.EmailAddress});n.OwningUsersTempCopy.length==0?n.isOwningUserPresent=!1:n.OwningUsersTempCopy.length==1&&(n.isOwningUserPresent=!0)};n.EmailSpecific="";n.removeSpecificSender=function(t){n.SpecificSendersTempCopy=e("filter")(n.SpecificSendersTempCopy,function(n){return n.EmailAddress!=t.EmailAddress});n.SpecificSendersTempCopy.length<100&&(n.showaddSpecificSendersToDistributionListCountExceedingLimitErrorMessage=!1,n.showAddSpecificSendersToDistributionListCountEmptyEmailStringAdd=!1,n.addSpecificSendersToDistributionListCountExceedingLimitErrorMessage="")};n.EmailDistribution="";n.removeRecipient=function(t){n.RecipientsTempCopy=e("filter")(n.RecipientsTempCopy,function(n){return n.EmailAddress!=t.EmailAddress})};tt=function(){(n.queryTargetUsers!=null||n.queryTargetUsers!=undefined)&&(n.checkSpecificSenders=n.queryTargetUsers.RecipientCount>d.DL_NonSpecificSendersMaxRecipients?n.editDistributionList.AuthorisedSendersType==="specificSenders"&&n.SpecificSendersTempCopy.length>0?!1:!0:!1)};n.callApi=function(){b.Update(n.editDistributionList).$promise.then(function(){t.path("/DistributionLists")})};n.ConfirmCreate=function(){n.callApi();$("#distributionListApprovalModalMaxMembers").modal("hide");$(".modal-backdrop").remove();t.path("/DistributionLists")};n.CancelCreate=function(){$("#distributionListApprovalModalMaxMembers").modal("hide");$(".modal-backdrop").remove()};n.editDistributionList_formSubmitClick=function(t){var i,r,u,f;if($("#editDistributionList_formResult").removeClass("alert-success alert-danger").html(""),n.OwningUserListErrors.required=!1,n.SpecificSendersListErrors.required=!1,n.OwningUsersTempCopy.length===0){n.OwningUserListErrors.required=!0;w.warning("An owner needs to be set");return}if(n.excludeSdlGroup&&!n.includeSdlGroup&&n.editDistributionList.QueryBuilderGroup[0].Rules.length===0){w.warning("You cannot create a DDL that only contains an exclude rule, you must add a non-exclude rule before you can save your changes.");return}if(n.editDistributionList.AuthorisedSendersType==="specificSenders"){if(n.SpecificSendersTempCopy.length===0){n.SpecificSendersListErrors.required=!0;w.warning("At least 1 sender needs to be configured");return}}else n.SpecificSendersListErrors.required=!1;if(angular.copy(n.editDistributionList.QueryBuilderGroup.Rules,n.RulesTemp),i=g.allowOrRestrictCustomAttribute(n.RulesTemp),!i.allowCustomAttribute){w.error(i.errorMessage);return}if(r=g.isValidCustomAttribute(n.RulesTemp),!r.allowCustomAttribute){w.error(r.errorMessage);return}if(n.editDistributionList.OwningUsers=[],n.editDistributionList.SpecificAuthorisedSenders=[],n.editDistributionList.Recipients=[],angular.copy(n.OwningUsersTempCopy,n.editDistributionList.OwningUsers),angular.copy(n.SpecificSendersTempCopy,n.editDistributionList.SpecificAuthorisedSenders),angular.copy(n.RecipientsTempCopy,n.editDistributionList.Recipients),n.editDistributionList.AuthorisedSendersType==="specificSenders"&&(n.editDistributionList.SpecificAuthorisedSenders==null||n.editDistributionList.SpecificAuthorisedSenders.length===0)){n.showaddSpecificSendersToDistributionListCountExceedingLimitErrorMessage=!0;n.addSpecificSendersToDistributionListCountExceedingLimitErrorMessage="Operation not allowed. Must have at least one entry to save.";w.warning("At least 1 sender needs to be configured");return}if((n.editDistributionList.AuthorisedSendersType==="onlyInside"||n.editDistributionList.AuthorisedSendersType==="all")&&(n.editDistributionList.SpecificAuthorisedSenders=[]),t.$invalid||angular.element(".alert.alert-danger.queryBuilderError").length>=1){w.warning("There's a validation error on the form");return}angular.forEach(n.editDistributionList.QueryBuilderGroup.Rules,function(n,t){if(t.length===0){w.warning("Add at least one rule to the Dynamic Distribution List");return}});n.currentNode!=null&&(u={ID:n.currentNode.ID,Name:n.currentNode.Name},angular.copy(u,n.editDistributionList.OrganisationUnit));n.editDistributionList.Type="Dynamic";n.editDistributionList.Status==="Active"&&(f={queryBuilderGroup:n.editDistributionList.QueryBuilderGroup,DistributionListEmailAddress:n.OldEmailAddress},b.ViewTargetUsers(f).$promise.then(function(t){if(n.queryTargetUsers=t,n.queryTargetUsers!=null||n.queryTargetUsers!=undefined){if(tt(),n.checkSpecificSenders){w.warning("Specific senders must be set on large distribution lists");return}$("#distributionListApprovalModalMaxMembers").modal("show")}}))};n.editDistributionListCancelClick=function(){window.history.back()};$(function(){$('[data-toggle="tooltip"]').tooltip()});n.getEmailDomain=function(){return domainAddress};n.editDistributionListOU=function(){angular.copy([],n.treedata);angular.copy([],n.expandedNodes);angular.copy(null,n.currentNode);b.GetOrganistion({Id:n.editDistributionList.Organisation.ID,shortResponse:!0}).$promise.then(function(t){n.treedata.push(t);var i=c.getPathOfNodeInTreeObject(n.editDistributionList.OrganisationUnit,n.treedata[0],"treedata[0]");angular.copy([],n.expandedNodes);n.expandedNodes=c.getExpandedTreeNodesTillSelectedNode(n.$eval(i),n.treedata[0],[]);n.currentNode=n.$eval(i);n.originallySelectedNodeBeforeEdit=n.$eval(i);angular.element("#editDistributionListEditOUModal").modal("show")})};n.selectUnselectIncludeSdlGroups=function(){if(n.includeSdlGroup==undefined||n.includeSdlGroup)n.editDistributionList.QueryBuilderGroup.push({Operator:"INCLUDE",Rules:[]});else{var t=_.findIndex(n.editDistributionList.QueryBuilderGroup,{Operator:"INCLUDE"});n.editDistributionList.QueryBuilderGroup.splice(t,1)}};n.selectUnselectExcludeSdlGroups=function(){if(n.excludeSdlGroup==undefined||n.excludeSdlGroup)n.editDistributionList.QueryBuilderGroup.push({Operator:"EXCLUDE",Rules:[]});else{var t=_.findIndex(n.editDistributionList.QueryBuilderGroup,{Operator:"EXCLUDE"});n.editDistributionList.QueryBuilderGroup.splice(t,1)}};n.$watch("editDistributionList.QueryBuilderGroup",function(t){n.output=it(t)},!0);n.viewTargetUsersClicked=function(){n.viewTargetButtonClicked=!0;s(function(){var t,i,r;if(!(angular.element(".alert.alert-danger.queryBuilderError").length>=1)){if(angular.copy(n.editDistributionList.QueryBuilderGroup.Rules,n.RulesTemp),t=g.allowOrRestrictCustomAttribute(n.RulesTemp),!t.allowCustomAttribute){w.error(t.errorMessage);return}if(i=g.isValidCustomAttribute(n.RulesTemp),!i.allowCustomAttribute){w.error(i.errorMessage);return}r={queryBuilderGroup:n.editDistributionList.QueryBuilderGroup,DistributionListEmailAddress:n.OldEmailAddress};b.ViewTargetUsers(r).$promise.then(function(t){n.queryTargetUsers=t;(n.queryTargetUsers!=null||n.queryTargetUsers!=undefined)&&(n.showTargetUsers=!0)})}})};n.$on("UserListBackButtonClickedEvent",function(){n.showTargetUsers=!1});n.CancelOUEdit=function(){n.currentNode=n.originallySelectedNodeBeforeEdit;angular.element("#editDistributionListEditOUModal").modal("hide")};n.ConfirmOUEdit=function(){angular.copy(n.currentNode,n.editDistributionList.OrganisationUnit);n.OrganisationParentAndChildDetails=c.getNamePathOfNodeInTreeObjectRecursiveSearch(n.currentNode,n.treedata[0],"");angular.element("#editDistributionListEditOUModal").modal("hide")};n.editDynamicDistributioListDeleteClick=function(){b.Delete({email:n.editDistributionList.DistributionListEmailAddress}).$promise.then(function(){t.path("/DistributionLists")})};n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.organisationChange()};n.organisationChange=function(){n.SelectedOrganisation!=null&&n.SelectedOrganisation!==undefined?(angular.copy([],n.treedataDynamicDLMover),angular.copy([],n.expandedNodesDynamicDLMover),angular.copy(null,n.currentNodeDynamicDLMover),b.GetOrganistion({Id:n.SelectedOrganisation.ID,shortResponse:!0}).$promise.then(function(t){n.isOrganisationSelected=!0;n.treedataDynamicDLMover.push(angular.copy(t));n.expandedNodesDynamicDLMover=[n.treedataDynamicDLMover[0]];n.currentNodeDynamicDLMover=n.treedataDynamicDLMover[0]})):(angular.copy([],n.treedata),n.SelectedOrganisation=undefined,n.isOrganisationSelected=!1)}}]);userAdminAppControllersModule.controller("UserListDistributionController",["$scope","$location","$modal","$http","$timeout","DistributionListVisibleColumns","DistributionListColumns","DistributionListSearchParams","JWTtokenHelper","$window","$sessionStorage","PermissionChecker","$filter",function(n,t,i,r,u,f,e,o,s,h,c,l,a){var v;n.animationsEnabled=!1;n.showAdvancedSearch=!1;n.showAndHideCreateStaticDistributionDropDown=!1;n.showCreateDynamicDistributionDropDown=!1;n.isDisabledAddButton=!1;n.itemsOnPage="10";n.getDistribution="";n.isDistributionListProcessingError=!1;n.Status=["Active","Disabled","Unknown","Pending","Rejected"];n.Type=["Dynamic","Static"];n.Hidden=["False","True"];n.isDistributionListEmpty=!1;v="";n.openListDistributionColumnPicker=function(){var t=n.distributionListColumnsVisible,r=i.open({animation:n.animationsEnabled,templateUrl:"./Angular/Apps/UserAdmin/Common/Views/ListUsersColumnPicker.html",controller:"ListUsersColumnPicker",size:"lg",resolve:{items:function(){return n.distributionListColumnsVisible},names:function(){return n.distributionListColumns}}});r.result.then(function(){h.sessionStorage.NHSmailDistributionListColumns=angular.toJson(n.distributionListColumnsVisible)},function(){n.distributionListColumnsVisible=t})};n.distributionListRequest={};l.contains("STATIC_DISTRIBUTION_LIST_CREATE")&&(n.showAndHideCreateStaticDistributionDropDown=!0);l.contains("DYNAMIC_DISTRIBUTION_LIST_CREATE")&&(n.showCreateDynamicDistributionDropDown=!0);n.showAndHideCreateStaticDistributionDropDown==!1&&n.showCreateDynamicDistributionDropDown==!1&&(n.isDisabledAddButton=!0);n.distributionListColumnsVisible=angular.fromJson(h.sessionStorage.NHSmailDistributionListColumns);n.distributionListColumnsVisible||(n.distributionListColumnsVisible=new f);n.distributionListColumns=new e;var y="",p=function(n,t){angular.isUndefined(c.distributionListSearchParams)&&(c.distributionListSearchParams={});t!=y&&(c.distributionListSearchParams={});c.distributionListSearchParams=n;c.distributionListSearchParams.simpleOrAdvanced=t},w=function(){if(v=="advanced"&&n.DistributionListAdvancedSearchParams!=[]){var t={};angular.copy(n.DistributionListAdvancedSearchParams,t);p(t,"advanced");t={}}c.distributionListProfileSearchResults=n.distributionListItems},b=function(){if(angular.isUndefined(c.distributionListProfileSearchResults)&&(c.distributionListProfileSearchResults={}),Object.keys(c.distributionListProfileSearchResults).length!=0&&(n.showEmptyTable=!0,n.distributionListItems=c.distributionListProfileSearchResults,c.distributionListSearchParams.simpleOrAdvanced=="advanced")){var t={};angular.copy(c.distributionListSearchParams,t);n.DistributionListAdvancedSearchParams=t;t={}}};n.modalMarkupLoaded=function(){b()};n.modalMarkupLoaded();n.callAPI=function(t,i){i&&(t.matchAny=!0);clearInterval(n.myInterval);n.isDistributionListProcessingError=!1;n.distributionListRequest.FilterParams=t;n.distributionListRequest.MatchAny=i;n.distributionListRequest.FilterParams.HideGroupFromAddressList!=="False"&&n.distributionListRequest.FilterParams.HideGroupFromAddressList!=="True"&&(n.distributionListRequest.FilterParams.HideGroupFromAddressList="");n.distributionListRequest.IsRequestFromProfile=!0;r({method:"POST",url:baseUrlValue+"GetDistributionLists",data:n.distributionListRequest}).success(function(t){n.distributionListItems=a("orderObjectBy")(t,"Name");n.isDistributionListEmpty=n.distributionListItems.length==0?!0:!1;w();n.currentInputFocus&&setTimeout(function(){n.currentInputFocus.element.focus()},500)}).error(function(){n.isDistributionListProcessingError=!0})};n.viewDistributionDetails=function(n){n.Type=="Static"?t.url("/DL/Edit/"+n.DistributionListEmailAddress):n.Type=="Dynamic"&&t.url("/DynamicDL/Edit/"+n.DistributionListEmailAddress)};n.distributionDisplayedTable=[].concat(n.distributionListItems);n.DistributionListAdvancedSearchParams||(n.DistributionListAdvancedSearchParams=o());n.advancedSearch=function(){v="advanced";n.callAPI(n.DistributionListAdvancedSearchParams)};n.searchUserOnEnter=function(t){t.which===13&&n.showOrHideDefaultViewSimpleSearch()};n.showOrHideDefaultView=function(){n.showEmptyTable=!0;n.advancedSearch()};n.searchUserOnEnterAdvanced=function(t){check=!1;t.which===13&&n.showOrHideDefaultView()};n.dropDownBasedSearch=function(){check=!1;n.showOrHideDefaultView()}}]);userAdminAppControllersModule.controller("ListSharedMailboxController",["$scope","$location","$modal","$sessionStorage","$timeout","SharedMailboxVisibleColumns","SharedMailboxListColumns","UserAdminListSearchParams","GlobalDataService","$rootScope","JWTtokenHelper","$window","PermissionChecker","Config","$filter","SharedMailboxNonAdminAPI",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p){var w,b;n.showAndDisableAddButton=!1;n.showAndHideCreateUserDropDown=!1;n.showAndHideCreateSharedMailBoxDropDown=!1;n.showAndDisableCSVButton=!0;n.ListOrgRequest={};n.animationsEnabled=!1;n.showAdvancedSearch=!1;n.itemsOnPage=v.ItemsOnPage;n.enterKeyPressEventValue=v.EnterKeyPressEventValue;n.characterLimitMax=v.CharacterLimitMax;n.selectedEmail=[];n.userID="";n.Status=v.SharedMailbox_PredefinedStatus;n.Emailtypes=v.SharedMailbox_Emailtypes;n.showAndHideJoinerDropDown=!1;n.isUserListProcessingError=!1;n.emailAndUpnPairs=[];n.getUserList={};n.isUserListEmpty=!1;w="";n.openColumnPicker=function(){var t=n.userListColumnsVisible,u=i.open({animation:n.animationsEnabled,templateUrl:"./Angular/Apps/UserAdmin/Common/Views/ListUsersColumnPicker.html",controller:"ListUsersColumnPicker",size:"lg",resolve:{items:function(){return n.userListColumnsVisible},names:function(){return n.userListColumns}}});u.result.then(function(){r.NHSsharedMailboxesListColumns=n.userListColumnsVisible},function(){n.userListColumnsVisible=t})};n.userListColumnsVisible=r.NHSsharedMailboxesListColumns;n.userListColumnsVisible||(b=new f,n.userListColumnsVisible=b);n.userListColumns=new e;var k="",d=function(n,t){angular.isUndefined(r.userListSearchParams)&&(r.userListSearchParams={});t!=k&&(r.userListSearchParams={});r.userListSearchParams=n;r.userListSearchParams.simpleOrAdvanced=t},g=function(){if(w=="advanced"&&n.UserListAdvancedSearchParams!=[]){var t={};angular.copy(n.UserListAdvancedSearchParams,t);d(t,"advanced");t={}}r.userListSearchResults=n.userListItems};n.modalMarkupLoaded=function(){};n.modalMarkupLoaded();n.callAPI=function(t,i){i&&(t.matchAny=!0);clearInterval(n.myInterval);n.isUserListProcessingError=!1;n.getUserList.FilterParams=t;t!=undefined&&(n.getUserList.FilterParams.EmailAddress=t.Email);n.getUserList.MatchAny=i;p.ListSharedMailbox(n.getUserList).$promise.then(function(t){n.userListItems=y("orderObjectBy")(t,"DisplayName");n.isUserListEmpty=n.userListItems.length==0?!0:!1;n.currentInputFocus&&setTimeout(function(){n.currentInputFocus.element.focus()},500)})};n.viewUserDetails=function(n){t.url("/viewSharedUser/"+n.EmailAddress)};n.displayedTable=[].concat(n.userListItems);n.UserListAdvancedSearchParams||(n.UserListAdvancedSearchParams=o());n.advancedSearch=function(){w="advanced";n.callAPI(n.UserListAdvancedSearchParams)};n.UserListSimpleSearchParams||(n.UserListSimpleSearchParams=o());n.simpleSearch=function(){$.each(n.userListColumnsVisible,function(t,i){n.UserListSimpleSearchParams[t]=i?t=="Organisation"||t=="OrganisationUnit"?{Name:n.simpleSearchText}:n.simpleSearchText:""});$.each(n.UserListAdvancedSearchParams,function(t){n.UserListAdvancedSearchParams[t]=""});w="simple";n.callAPI(n.UserListSimpleSearchParams,!0)};n.renderValuesToDisplaySubscriptions=function(t,i,r){var u="",f;if(r=="EmailType"&&(t="Shared"),r=="Roles"&&angular.isDefined(t)){if(t.length!=0){for(f=0;f<t.length;f++)u=u+"<br>"+t[f].RoleDefinition.DisplayName;u=u.substring(4)}}else(r=="OrganisationUnit"||r=="Organisation")&&angular.isDefined(t)?u=t.Name:r=="Subscriptions"&&angular.isDefined(t)?(angular.forEach(t,function(n){u=u!=""?u+", "+n.Description:n.Description}),u.length>i&&(u=u.slice(0,i-n.characterLimitMax)+"...")):u=t;return u};n.renderTitleForTooltipSubscriptions=function(n,t,i){var r="";return i=="Subscriptions"&&angular.isDefined(n)&&(angular.forEach(n,function(n){r=r!=""?r+", "+n.Description:n.Description}),r.length<=t&&(r="")),r};n.showOrHideDefaultView=function(){n.showEmptyTable=!0;n.advancedSearch()};n.searchUserOnEnterAdvanced=function(t){check=!1;t.which===n.enterKeyPressEventValue&&n.showOrHideDefaultView()};n.dropDownBasedSearch=function(){check=!1;n.showOrHideDefaultView()}}]);userAdminAppControllersModule.controller("ViewSharedMailboxController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","$rootScope","$routeParams","$filter","$parse","$q","OrganisationObjectHelperService","JWTtokenHelper","PermissionChecker","SharedMailboxNonAdminAPI","Config",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p){var k;n.isOrganisationSelected=!1;n.OldEmailAddress="";n.viewSharedMail={};n.viewSharedMailbox={};n.FilterParams={};n.FilterParams.EmailAddress=o.ID;n.viewSharedMail.FilterParams=n.FilterParams;n.viewSharedMail.MatchAny=!0;n.SelectedOrganisation={};n.diableAllfields=!1;n.deleteRestoreMailboxData={};k=p.Sharedmailbox_neededPermission;n.viewSharedMailbox.UsersWithSendAsAccess=[];n.viewSharedMailbox.UsersWithFullAccess=[];n.viewSharedMailbox.RemoveUsersWithSendAsAccess=[];n.viewSharedMailbox.RemoveUsersWithFullAccess=[];n.UsersWithSendAsAccessTempCopy=[];n.UsersWithFullAccessTempCopy=[];n.selectedEmail=[];n.showUserpicker=!1;n.organisationRequest={};n.organisationRequest.FilterParams={};n.organisationRequest.FilterParams.OrganisationType=p.Sharedmailbox_OrgType;n.sharedUpdatePermission=!1;n.sharedDeletePermission=!1;n.sharedTransferPermission=!1;n.IsOrganisationUnSelected=!1;n.IsGetOrganisationListCallSuccess;n.IsGetMailBoxDetailsCallSuccess;n.treedata=[];n.expandedNodes=[];n.currentNode=null;n.treedataMailMover=[];n.expandedNodesMailMover=[];n.currentNodeMailMover=null;n.del=!1;n.newValueDuplicateLength=p.NewValueDuplicateLength;n.newValueMembersDuplicateLength=p.NewValueMembersDuplicateLength;v.contains("SHARED_MAILBOX_UPDATE")&&(n.sharedUpdatePermission=!0);v.contains("SHARED_MAILBOX_DELETE")&&(n.sharedDeletePermission=!0);v.contains("IS_ADMIN")&&(n.sharedTransferPermission=!0);n.filteritems={EmailType:["Shared","Room","Unknown","Equipment"],Status:["Pending","Disabled","Suspended","PendingError","Locked","Deleted"]};n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.OwningUserListErrors={required:!1};var b="",w={},d=!0;n.viewSharedMailbox.SelectUserAsOwner=!1;n.selectedUserAsOwnerFromUserPicker=!1;n.getUserDetails=function(){var t,i,r;sessionStorage&&(t=sessionStorage.getItem("JWToken"),t!==null&&t!==""&&t.length>1&&(i=t.split(".")[1],i!==""&&(r=i.replace("-","+").replace("_","/"),r!==""&&(b=JSON.parse(window.atob(r)).upn))),b!==""&&(w.EmailAddress=b,angular.forEach(n.UsersWithFullAccessTempCopy,function(t){t.EmailAddress===w.EmailAddress&&(n.viewSharedMailbox.SelectUserAsOwner=!0)})))};n.$watch("viewSharedMailbox.SelectUserAsOwner",function(t,i){t!==i&&t?n.UsersWithFullAccessTempCopy.push(w):t===i||t||(b="",n.removeUser(w,"UsersWithFullAccessTempCopy"))});n.modalMarkupLoaded=function(){$("#viewSharedMailbox_formResult").removeClass("alert-success alert-danger").html("");y.ListSharedMailbox(n.viewSharedMail).$promise.then(function(t){angular.copy(t[0],n.viewSharedMailbox);angular.copy([],n.viewSharedMailbox.UsersWithSendAsAccess);angular.copy([],n.viewSharedMailbox.UsersWithFullAccess);n.OUHierarchyInOrganisation=l.getPathOfOUinOrgAsName(n.viewSharedMailbox.OrganisationUnit);angular.forEach(t[0].UsersWithFullAccess,function(t){var i={EmailAddress:t};n.viewSharedMailbox.UsersWithFullAccess.push(i)});angular.forEach(t[0].UsersWithSendAsAccess,function(t){var i={EmailAddress:t};n.viewSharedMailbox.UsersWithSendAsAccess.push(i)});angular.copy(n.viewSharedMailbox.UsersWithSendAsAccess,n.UsersWithSendAsAccessTempCopy);angular.copy(n.viewSharedMailbox.UsersWithFullAccess,n.UsersWithFullAccessTempCopy);n.EmailName=n.viewSharedMailbox.EmailAddress.split("@")[0].substring(n.viewSharedMailbox.EmailAddress.indexOf(".")+1);n.SelectedOrganisation=t[0].Organisation;n.viewSharedMailbox.OldEmailAddress=n.viewSharedMailbox.EmailAddress;n.deleteRestoreMailboxData.Permission=k;n.viewSharedMailbox.Status!=undefined&&n.viewSharedMailbox.Status=="Deleted"&&(n.diableAllfields=!0,angular.element("#viewDetailsDeleteUndeleteMailbox").text("Restore"),n.del=!1);n.viewSharedMailbox.Status!=undefined&&n.viewSharedMailbox.Status=="Restore"&&(n.diableAllfields=!1,angular.element("#viewDetailsDeleteUndeleteMailbox").text("Deleted"),n.del=!0);n.operationStarted=!1})};n.modalMarkupLoaded();n.$watch("viewSharedMailbox.UsersWithFullAccess",function(t){t.length>0&&d&&(n.getUserDetails(),d=!1)});n.removeUser=function(t,i){t.EmailAddress===w.EmailAddress&&i==="UsersWithFullAccessTempCopy"&&(n.viewSharedMailbox.SelectUserAsOwner=!1);var r=h(i)(n),u=s("removeElementFromArrayOfObject")(r,"EmailAddress",t.EmailAddress);h(i).assign(n,u)};$("#editSharedMailboxSelectUserAsOwner").click(function(){if(n.UsersWithFullAccessTempCopy.length===0&&(n.OwningUserListErrors.required=!1)){n.OwningUserListErrors.required=!0;return}n.OwningUserListErrors.required=!1});n.addUser=function(t){u.currentSource=t;$("#viewSharedMailbox_formResult").removeClass("alert-success alert-danger").html("");n.OwningUserListErrors.required=!1;angular.copy([],n.selectedEmail);n.showUserpicker=!0;var i=n.$on("UserPickerSelectionDone",function(){var r=u.currentSource,l=h(t)(n),o=[],c;angular.forEach(n.selectedEmail,function(n){n.Email!=null&&(c={EmailAddress:n.Email},o.push(c))});var a=l.concat(o),f=s("removeDuplicates")(a,"EmailAddress"),e=t+"LimitExceeded";r==="UsersWithFullAccessTempCopy"&&(f.length<=n.newValueDuplicateLength?(h(r).assign(n,f),h(e).assign(n,!1)):h(e).assign(n,!0));r==="UsersWithSendAsAccessTempCopy"&&(f.length<=n.newValueMembersDuplicateLength?(h(r).assign(n,f),h(e).assign(n,!1)):h(e).assign(n,!0));i();n.showUserpicker=!1;r==="UsersWithFullAccessTempCopy"&&angular.forEach(o,function(t){t.EmailAddress===w.EmailAddress&&(n.viewSharedMailbox.SelectUserAsOwner=!0,n.selectedUserAsOwnerFromUserPicker=!0)})})};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1});n.viewSharedMailboxCancelClick=function(){window.history.back()};n.viewSharedMailboxSubmitClick=function(t){var i;if($("#viewSharedMailbox_formResult").removeClass("alert-success alert-danger").html(""),n.OwningUserListErrors.required=!1,n.UsersWithFullAccessTempCopy.length===0){n.OwningUserListErrors.required=!0;return}if(!t.$invalid){if(n.SelectedOrganisation!=undefined&&n.SelectedOrganisation.ID!=undefined)n.IsOrganisationUnSelected=!1,n.viewSharedMailbox.OrganisationId=n.SelectedOrganisation.ID;else{n.IsOrganisationUnSelected=!0;return}angular.copy([],n.viewSharedMailbox.RemoveUsersWithSendAsAccess);angular.copy([],n.viewSharedMailbox.RemoveUsersWithFullAccess);n.viewSharedMailbox.RemoveUsersWithSendAsAccess=s("FirstArrayMinusSecondArray")(n.viewSharedMailbox.UsersWithSendAsAccess,n.UsersWithSendAsAccessTempCopy);n.viewSharedMailbox.RemoveUsersWithFullAccess=s("FirstArrayMinusSecondArray")(n.viewSharedMailbox.UsersWithFullAccess,n.UsersWithFullAccessTempCopy);angular.copy(n.UsersWithSendAsAccessTempCopy,n.viewSharedMailbox.UsersWithSendAsAccess);i=[];angular.forEach(n.UsersWithFullAccessTempCopy,function(t){i.indexOf(t.EmailAddress)!==-1?n.UsersWithFullAccessTempCopy.pop():i.push(t.EmailAddress)});angular.copy(n.UsersWithFullAccessTempCopy,n.viewSharedMailbox.UsersWithFullAccess);var r=[],u=[],f=[],e=[];angular.forEach(n.viewSharedMailbox.UsersWithSendAsAccess,function(n){n.EmailAddress!=null&&r.push(n.EmailAddress)});angular.forEach(n.viewSharedMailbox.UsersWithFullAccess,function(n){n.EmailAddress!=null&&u.push(n.EmailAddress)});angular.forEach(n.viewSharedMailbox.RemoveUsersWithSendAsAccess,function(n){n.EmailAddress!=null&&f.push(n.EmailAddress)});angular.forEach(n.viewSharedMailbox.RemoveUsersWithFullAccess,function(n){n.EmailAddress!=null&&e.push(n.EmailAddress)});angular.copy(r,n.viewSharedMailbox.UsersWithSendAsAccess);angular.copy(u,n.viewSharedMailbox.UsersWithFullAccess);angular.copy(f,n.viewSharedMailbox.RemoveUsersWithSendAsAccess);angular.copy(e,n.viewSharedMailbox.RemoveUsersWithFullAccess);n.currentNode!=null&&(n.viewSharedMailbox.OrganisationUnit={ID:n.currentNode.ID,Name:n.currentNode.Name});y.UpdateSharedMailbox(n.viewSharedMailbox).$promise.then(function(){window.history.back()})}};n.getEmailDomain=function(){return domainAddress};n.disableUpdateButton=function(){return n.viewSharedMailbox.Status!=undefined&&n.viewSharedMailbox.Status=="Deleted"?!0:!1}}]);userAdminAppControllersModule.factory("SharedMailboxNonAdminAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var u="Request failed";angular.isDefined(n.data.Errors)&&n.data.Errors.length>0?n.data.Errors[0].Code===51?i.path("/AccessDenied"):(u+=": "+n.data.Errors[0].Message,u+=". "+n.data.Errors[0].Detail):angular.isDefined(n.data.Message)?u+=": "+n.data.Message:n.status===0&&(u="Request to server timed out");t.error(u,{ttl:r.Growl_TimeToLeave})}return n(baseUrlValue,{},{ListSharedMailbox:{method:"POST",url:baseUrlValue+"GetListOfSharedMailboxForTheLoggedInUser",isArray:!0,interceptor:{responseError:u}},UpdateSharedMailbox:{method:"PUT",url:baseUrlValue+"UpdateNonAdminSharedMailbox",interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppServicesModule.factory("SharedMailboxListColumns",function(){return function(){return[{title:"First Name",key:"FirstName"},{title:"Last Name",key:"LastName"},{title:"Display Name",key:"DisplayName"},{title:"Job Title",key:"JobTitle"},{title:"Mailbox Type",key:"EmailType"},{title:"Status",key:"Status"},{title:"Email",key:"Email"},{title:"Telephone",key:"OfficePhone"},{title:"Mobile Phone",key:"MobilePhone"},{title:"Pager",key:"Pager"},{title:"Fax",key:"Fax"},{title:"Admin Role",key:"Roles"},{title:"Subscriptions",key:"Subscriptions"},{title:"Organisation",key:"Organisation"},{title:"Organisation Unit",key:"OrganisationUnit"},{title:"Site Name",key:"SiteName"},{title:"Parent Organisation",key:"ParentOrganisation"}]}});userAdminAppServicesModule.factory("SharedMailboxVisibleColumns",function(){return function(){this.FirstName=!1;this.LastName=!1;this.DisplayName=!0;this.Email=!0;this.JobTitle=!1;this.MobilePhone=!1;this.OfficePhone=!1;this.Fax=!1;this.Status=!0;this.EmailType=!0;this.Pager=!1;this.Department=!1;this.Roles=!1;this.Subscriptions=!1;this.Organisation=!1;this.OrganisationUnit=!1;this.SiteName=!1;this.ParentOrganisation=!1}});userAdminAppControllersModule.controller("CreateTeamsController",["$scope","$location","Config","growl","TeamsNonAdminAPI","PermissionChecker","DistributionListService","CurrentUser",function(n,t,i,r,u,f,e,o){n.Config=i;n.$location=t;n.team={DisplayName:"",Description:"",Privacy:"Private",OrganinsationUnitId:"",Owners:[],Members:[]};n.team.HiddenFromAddressList=!0;n.currentUser=o.Email;n.team.Owners.push(n.currentUser);n.modalMarkupLoaded=function(){u.GetMyOrganisation().$promise.then(function(t){n.team.Organisation=t;e.organisationChange(n.team,n.tree)})};n.modalMarkupLoaded();n.tree={treedata:[],expandedNodes:[],currentNode:null,opts:{injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}}};n.$watch("selectedOrganisation.ID",function(t,i){n.orgError=!1;t!==i&&t==undefined&&(n.orgError=!0)});n.ownersError=!1;n.validateOwners=function(){var t={Owners:n.team.Owners};u.ValidateOwners(t).$promise.then(function(t){t!=undefined&&t.IsValid?n.ownersError=!1:(n.ownersError=!0,r.error(t.ErrorMessage))})};n.CreateTeams=function(){n.formSubmitClick=function(){if(n.orgError=!1,n.form.$invalid){$("#CreateTeamsModal").modal("hide");r.error("Please correct errors with form");return}if(n.ownersError){r.error("Please correct errors with selected owners, they all must have an O365 license provisioned.");return}n.team.OrganisationId=n.team.Organisation.ID;n.team.OrganisationUnitId=n.tree.currentNode.ID;n.team.Privacy="Private";$("#CreateTeamsModal").modal("show")}};n.confirmTeamsCreate=function(){u.CreateTeam(n.team).$promise.then(function(){t.path("/Teams")});$("#CreateTeamsModal").modal("hide")};n.cancelCreateTeams=function(){$("#CreateTeamsModal").modal("hide")}}]);userAdminAppControllersModule.controller("EditTeamsController",["$scope","$location","Config","growl","TeamsNonAdminAPI","DistributionListService","TeamAPIResponse","CurrentUser",function(n,t,i,r,u,f,e,o){n.Config=i;n.$location=t;n.TeamsNonAdminAPI=u;n.currentUser=o.Email;n.tree={treedata:[],expandedNodes:[],currentNode:null,opts:{injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}}};n.team=e.Team;n.selectedOrganisation=e.Team.OrganisationId;n.selectedOrganisationUnit=e.Team.OrganisationUnitId;n.ownersError=!1;n.UpdateEnabled=n.team.Status==="Active";n.DeleteEnabled=n.team.Status==="Active";var s=function(){u.GetMyOrganisation().$promise.then(function(t){n.team.Organisation=t;f.organisationChange(n.team,n.tree)});n.validateOwners()};n.validateOwners=function(){var t={Owners:n.team.Owners};u.ValidateOwners(t).$promise.then(function(t){t!=undefined&&t.IsValid?n.ownersError=!1:(n.ownersError=!0,r.error(t.ErrorMessage))})};n.formSubmitClick=function(){if(n.form.$invalid){r.error("Please correct errors with form");return}if(n.ownersError){r.error("Please correct errors with selected owners, they all must have an O365 license provisioned.");return}n.team.OrganisationUnitId=n.tree.currentNode.ID;u.Update(n.team).$promise.then(function(){t.path("/Teams")})};n.deleteTeams=function(){u.Delete({teamId:n.team.Id}).$promise.then(function(){t.path("/Teams")})};s()}]);userAdminAppControllersModule.controller("ListTeamsController",["$scope","$location","$filter","PermissionChecker","Config","TeamsNonAdminAPI",function(n,t,i,r,u,f){n.showAndDisableAddButton=!0;n.itemsOnPage=u.UserList_ItemsOnPage;n.Status=u.TeamsStatus;n.$location=t;n.PermissionChecker=r;n.teamsListColumns=[{key:"DisplayName",title:"Display Name"},{key:"OrganisationName",title:"Organisation"},{key:"OrganisationOuName",title:"Organisation Unit"},{key:"Status",title:"Status"},{key:"CreatedOn",title:"CreatedOn"}];n.TeamsListSearchParams={};n.modalMarkupLoaded=function(){f.GetMyOrganisationProperties().$promise.then(function(t){t!==null&&(n.showAndDisableAddButton=t.value=="False")})};n.modalMarkupLoaded();var e=function(n){_.chain(n).keys().each(function(t){n[t]===""&&delete n[t]})};n.GetTeam=function(n){(n.Status=="Active"||n.Status=="Deleted")&&t.path("/Teams/"+n.Id)};n.callSearchAPI=function(){n.showEmptyTable=!0;e(n.TeamsListSearchParams);f.GetTeams(n.TeamsListSearchParams).$promise.then(function(t){n.displayedTable=i("orderObjectBy")(t.Teams,"DisplayName");n.teamsListItems=[].concat(n.displayedTable)})};n.searchIfEnterKey=function(t){t.which===13&&n.callSearchAPI()}}]),function(){userAdminAppServicesModule.service("TeamsNonAdminAPI",["growl","Config","$resource","$location",function(n,t,i,r){function u(t){var i="Request failed";angular.isDefined(t.data.Errors)&&t.data.Errors.length>0?t.data.Errors[0].Code===51?r.path("/AccessDenied"):(i+=": "+t.data.Errors[0].Message,i+=": "+t.data.Errors[0].Detail):angular.isDefined(t.data.Message)?i+=": "+t.data.Message:t.status===0&&(i="Request to server timed out");n.error(i,{ttl:1e4});throw t;}return i(baseUrlValue+{},{teamId:"@Id"},{GetTeams:{method:"GET",url:baseUrlValue+"admin/teams/NonAdminSearch",interceptor:{responseError:u},timeout:t.XhrTimeout},Get:{method:"GET",params:{teamId:"@teamId"},url:baseUrlValue+"admin/teams/GetNonAdminTeam/:teamId",interceptor:{responseError:u},timeout:t.XhrTimeout},CreateTeam:{method:"POST",url:baseUrlValue+"admin/teams/NonAdminCreate",interceptor:{responseError:u},timeout:t.XhrTimeout},Delete:{method:"DELETE",url:baseUrlValue+"admin/teams/DeleteNonAdminTeam/:teamId",interceptor:{responseError:u},timeout:t.XhrTimeout},Update:{method:"PUT",url:baseUrlValue+"admin/teams/NonAdminUpdate/:teamId",interceptor:{responseError:u},timeout:t.XhrTimeout},ValidateOwners:{method:"POST",url:baseUrlValue+"admin/teams/NonAdminValidateOwners",interceptor:{responseError:u},timeout:t.XhrTimeout},GetMyOrganisation:{method:"GET",url:baseUrlValue+"organisationswithoutpermission",interceptor:{responseError:u},timeout:t.XhrTimeout},GetMyOrganisationProperties:{method:"GET",url:baseUrlValue+"organisationpropertieswithoutpermission",interceptor:{responseError:u},timeout:t.XhrTimeout}})}])}();UnauthorisedApp=angular.module("UnauthorisedApp",["ngRoute","ngMessages","ngResource","blockUI","angular-growl"]);configFunction=function(n,t,i,r,u){r.globalTimeToLive(1e4);u.templateUrl="./Angular/Apps/Unauthorised/Common/Views/angular-block-ui.ng.html";u.autoInjectBodyBlock=!0;u.requestFilter=function(n){if(n.url.match(/GetEmailSuggestion/))return!1};n.when("/confirm/:ID",{caseInsensitiveMatch:!0,templateUrl:"./Angular/Apps/Unauthorised/NewpharmacyRegistration/Views/Confirm.html",controller:"NewpharmacyRegistrationConfirmController"}).when("/dentistry",{templateUrl:"./Angular/Apps/Unauthorised/DentistryRegistration/Views/DentistryRegistration.html",controller:"DentistryRegistrationController"}).when("/careprovider",{templateUrl:"./Angular/Apps/Unauthorised/SocialcareRegistration/Views/SocialcareRegistration.html",controller:"SocialcareRegistrationController"}).when("/",{templateUrl:"./Angular/Apps/Unauthorised/NewpharmacyRegistration/Views/NewpharmacyRegistration.html",controller:"NewpharmacyRegistrationController"}).when("/locum/:GUID",{caseInsensitiveMatch:!0,templateUrl:"./Angular/Apps/Unauthorised/LocumRegistration/Views/LocumRegistration.html",controller:"LocumRegistrationController"}).otherwise({templateUrl:"./Angular/Apps/Unauthorised/PageNotFound/Views/PageNotFound.html",controller:"PageNotFoundController"})};configFunction.$inject=["$routeProvider","$locationProvider","$httpProvider","growlProvider","blockUIConfig"];UnauthorisedApp.config(configFunction);UnauthorisedApp.run(["$location","$rootScope","$http",function(n,t){t.$on("$locationChangeStart",function(){})}]);angular.module("UnauthorisedApp").directive("compareTo",function(){return{require:"ngModel",scope:{otherModelValue:"=compareTo"},link:function(n,t,i,r){r.$validators.compareTo=function(t){return typeof n.otherModelValue=="undefined"?!1:t.toLowerCase()==n.otherModelValue.toLowerCase()};n.$watch("otherModelValue",function(){r.$validate()})}}});angular.module("UnauthorisedApp").directive("emailIsNotUsedValidator",function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){r.$validators.exists=function(t,i){for(var u=t||i,r=0;r<n.members.length;r++)if(u==n.members[r].PersonalEmail)return!1;return!0}}}});angular.module("UnauthorisedApp").directive("mobileIsNotUsedValidator",["RegistrationApi",function(n){return{restrict:"A",require:"ngModel",link:function(t,i,r,u){u.$validators.exists=function(n,i){var f=n||i,u;if(r.podstype!=="Locum")for(u=0;u<t.members.length;u++)if(f==t.members[u].Mobile)return!1;return!0};u.$validators.available=function(i,f){var e=i||f;return typeof e!="undefined"&&e!=""&&e.length==11&&/^(07\d{8,12}|447\d{7,11})$/.test(e)&&n.CheckMobileNumberExist({ODSCode:t.odscode,PodsType:r.podstype,MobileNumber:e}).$promise.then(function(n){n&&n.DoesMobileNoExist!=undefined&&u.$setValidity("available",!n.DoesMobileNoExist)}),!0}}}}]);angular.module("UnauthorisedApp").directive("notNhsEmailValidator",function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){r.$validators.email=function(n,t){var r=n||t,i=angular.lowercase(r);if(angular.isDefined(i)){if(i.length===0)return!0}else return!0;return/^[a-zA-Z0-9_'.-]+[@]([a-zA-Z0-9-]+\.)+[a-zA-Z]+$/.test(i)?!/[@](([a-zA-Z]+\.)?)+nhs.net$/i.test(i)||/[@]nhs.uk$/i.test(i)?!0:!1:!1}}}});angular.module("UnauthorisedApp").directive("pharmaciesDropdown",["$http","$rootScope","$document","$window","$timeout",function(n,t,i,r,u){return{restrict:"EA",require:"ngModel",scope:{selectedPharm:"=ngModel"},templateUrl:"Angular/Apps/Unauthorised/Common/Views/PharmaciesDropdown.html",link:function(t,i){$('[data-toggle="popover"]').popover();t.selectedPharm={Name:"Select Pharmacy"};t.phDropDownShow=!1;i.addClass("input-dropdown");t.list=[];t.phDropdownOpen=function(){t.phDropDownShow||(t.phList(),t.phDropDownShow=!0)};t.select_pharm="Select Pharmacy";t.select=function(n,i){t.selectedPharm={};angular.copy(i,t.selectedPharm);(t.selectedPharm!=""||t.selectedPharm!=null||t.selectedPharm.OrganisationName!="No item Found")&&(t.phDropDownShow=!1,t.select_pharm=t.selectedPharm.OrganisationName,t.searchText=t.selectedPharm.OrganisationName)};t.phList=function(){n({method:"POST",url:baseUrlValue+"pharmacy/pharmacies",data:filterParams={OrganisationName:t.searchText}}).success(function(n){(n==[]||n=="")&&(n=[{Name:"No item found"}]);angular.copy(n,t.list)})};t.phDropdownToggle=function(n){if(t.phDropDownShow)t.phDropDownShow=!1,t.searchText="";else{t.phList();t.phDropDownShow=!0;var i=r.document.getElementById("inputSearchText");u(function(){i.focus()},500)}n.stopPropagation()};t.callAPI=function(){t.searchText.length>=3?t.phList():t.searchText.length==0&&t.phList()}}}}]);angular.module("UnauthorisedApp").directive("ukMobilePhoneValidator",[function(){return{restrict:"A",require:"ngModel",link:function(n,t,i,r){r.$validators.phonenumber=function(n,t){var i=n||t,u;if(i!=undefined&&i!=null){var r=(i.match(/[0-9]/g)||[]).length,f=i.length;return f==0?!0:r>50||r<8?!1:(u=/^(07\d{8,12}|447\d{7,11})$/,u.test(i))}return!0}}}}]);angular.module("UnauthorisedApp").directive("postcode",["$rootScope","$document","growl","RegistrationApi",function(n,t,i,r){return{restrict:"EA",require:["^form","ngModel"],scope:{form:"=",podType:"=podType",fromDirectiveFn:"=method"},templateUrl:"Angular/Apps/Unauthorised/Common/Views/Postcode.html",link:function(n,t,i){function u(){n.postcode=[];angular.forEach(n.list,function(t){n.postcode[t.OrganisationName]=t.PostalCode})}function f(){n.OrgId=[];n.Idarr=[];n.InvalidFlagArr=[];angular.forEach(n.list,function(t){n.OrgId[t.OrganisationName]=t.OrganisationID;n.Idarr[t.OrganisationName]=t.Id;n.InvalidFlagArr[t.OrganisationName]=t.AllRequiredRegFieldsNotPopulatedOrInvalid})}$(function(){$('[data-toggle="tooltip"]').tooltip()});n.list=[];n.phDropDownShow=!0;n.odsDropdownerror=!1;n.IsOrgAlreadyRegistered=!1;n.IsOrgAlreadyRegisteredDentistry=!1;n.IsOrgAlreadyRegisteredCareAdmin=!1;n.IsOrgLocked=!1;n.RemainingTimeToUnlock="";n.postcodePattern="^[a-z|A-Z|]+[a-z|A-Z|0-9| ]*";n.postcodeToolTip="Please enter at least the first three characters of your organisation’s postcode. If you enter a complete postcode then the number of organisations to look through within the next box will be reduced.";n.formatPostcode=function(){if(n.orgName="",n.odsCode="",n.responseMessage="",n.form.postcodeValue.$invalid){n.IsOrgLocked=!1;n.IsOrgAlreadyRegistered=!1;n.IsOrgAlreadyRegisteredDentistry=!1;n.IsOrgAlreadyRegisteredCareAdmin=!1;angular.copy([],n.list);return}if(typeof(n.orgName=="undefined"||n.orgName=="")&&(n.IsOrgLocked=!1,n.IsOrgAlreadyRegistered=!1,n.IsOrgAlreadyRegisteredDentistry=!1,n.IsOrgAlreadyRegisteredCareAdmin=!1),n.value=n.postcodeValue,typeof n.postcodeValue!="undefined"&&n.value.length>=3){angular.copy([],n.list);n.responseMessage="";switch(i.podtype){case"dentistry":Api=r.DentistryPostcodeLookup({PostCode:n.value});break;case"careprovider":Api=r.CareProviderPostcodeLookup({PostCode:n.value});break;case"pharmacy":Api=r.PharmacyPostcodeLookup({PostCode:n.value});break;default:Api=r.DentistryPostcodeLookup({PostCode:n.value})}Api.$promise.then(function(t){t==[]||t==""||typeof t=="undefined"?n.responseMessage="Postcode mismatch, Cannot find an organisation name at this postcode.":(angular.copy(t,n.list),u(),i.podtype=="pharmacy"&&f(),t.length==1&&(n.orgName=n.list[0].OrganisationName,n.fullPostcode=n.list[0].PostalCode,i.podtype=="pharmacy"&&(n.OrganisationId=n.list[0].OrganisationID,n.Id=n.list[0].Id,n.InvalidFlag=n.list[0].AllRequiredRegFieldsNotPopulatedOrInvalid),n.populateODSCode()))})}};n.populateODSCode=function(){if(typeof n.orgName=="undefined"&&(n.IsOrgLocked=!1,n.IsOrgAlreadyRegistered=!1,n.IsOrgAlreadyRegisteredDentistry=!1,n.IsOrgAlreadyRegisteredCareAdmin=!1),typeof n.orgName!="undefined"){angular.forEach(n.list,function(t){t.OrganisationName==n.orgName&&(t.IsSiteLocked?(n.IsOrgLocked=!0,n.RemainingTimeToUnlock=t.SiteUnlockDuration,n.fromDirectiveFn(!0)):t.Status==3?(n.IsOrgLocked=!1,i.podtype=="pharmacy"?(n.IsOrgAlreadyRegistered=!0,n.IsOrgAlreadyRegisteredDentistry=!1,n.IsOrgAlreadyRegisteredCareAdmin=!1,n.fromDirectiveFn(!0)):i.podtype=="dentistry"?(n.IsOrgAlreadyRegistered=!1,n.IsOrgAlreadyRegisteredDentistry=!0,n.IsOrgAlreadyRegisteredCareAdmin=!1,n.fromDirectiveFn(!0)):i.podtype=="careprovider"&&(n.IsOrgAlreadyRegistered=!1,n.IsOrgAlreadyRegisteredDentistry=!1,n.IsOrgAlreadyRegisteredCareAdmin=!0,n.fromDirectiveFn(!0))):(n.IsOrgLocked=!1,n.IsOrgAlreadyRegistered=!1,n.IsOrgAlreadyRegisteredDentistry=!1,n.IsOrgAlreadyRegisteredCareAdmin=!1,n.fromDirectiveFn(!1)))});var t=n.orgName.split("-"),r=t.length-1;n.odsCode=t[r].trim();n.fullPostcode=n.postcode[n.orgName];i.podtype=="pharmacy"&&(n.OrganisationId=n.OrgId[n.orgName],n.Id=n.Idarr[n.orgName],n.InvalidFlag=n.InvalidFlagArr[n.orgName])}else n.odsCode="",n.fullPostcode=""}}}}]);angular.module("UnauthorisedApp").filter("capitalize",function(){return function(n,t){var i=t?/([^\W_]+[^\s-]*) */g:/([^\W_]+[^\s-]*)/;return!n?"":n.replace(i,function(n){return n.charAt(0).toUpperCase()+n.substr(1).toLowerCase()})}});angular.module("UnauthorisedApp").service("ApiResultNotifier",["growl",function(n){var i="notificationHub",r="apiResultNotification",u=".",t;this.connect=function(){t=$.hubConnection(u+"/signalr",{useDefaultPath:!1});var f=t.createHubProxy(i);f.on(r,function(t,i){var r={ttl:2e4,disableCountDown:!0};t?n.success("<b>success:<\/b> "+i,r):n.error("<b>error:<\/b> "+i,r)});t.start().done(function(){}).fail(function(){})};this.disconnect=function(){t&&t.stop()}}]);angular.module("UnauthorisedApp").constant("Config",{Title:[{name:"Mr",value:"Mr"},{name:"Mrs",value:"Mrs"},{name:"Miss",value:"Miss"},{name:"Ms",value:"Ms"},{name:"Dr",value:"Dr"},{name:"Brother",value:"Brother"},{name:"Canon",value:"Canon"},{name:"Father",value:"Father"},{name:"Lady",value:"Lady"},{name:"Lord",value:"Lord"},{name:"Major",value:"Major"},{name:"Nurse",value:"Nurse"},{name:"Professor",value:"Professor"},{name:"Rabbi",value:"Rabbi"},{name:"Reverend",value:"Reverend"},{name:"Right Reverend Monsignor",value:"Right Reverend Monsignor"},{name:"Sir",value:"Sir"},{name:"Sister",value:"Sister"}],SocialCareRole:[{name:"Administration & Clerical ",value:"Administration & Clerical "},{name:"Care Assistant",value:"Care Assistant"},{name:"Care Manager / Deputy",value:"Care Manager / Deputy"},{name:"Home Care Assistant",value:"Home Care Assistant"},{name:"Home Help Worker",value:"Home Help Worker"},{name:"Management",value:"Management"},{name:"Other",value:"Other"},],DentistRole:[{name:"Administration & Clerical ",value:"Administration & Clerical "},{name:"Dental Hygienist",value:"Dental Hygienist"},{name:"Dental Nurse",value:"Dental Nurse"},{name:"Dental Technician",value:"Dental Technician"},{name:"Dental Trainee",value:"Dental Trainee"},{name:"Dentist",value:"Dentist"},{name:"Management",value:"Management"},{name:"Other",value:"Other"},],Town:[{name:"Bath",value:"BATH"},{name:"Birmingham",value:"BIRMINGHAM"},{name:"Blackburn",value:"BLACKBURN"},{name:"Blackpool",value:"BLACKPOOL"},{name:"Bolton",value:"BOLTON"},{name:"Bournemouth",value:"BOURNMOUTH"},{name:"Bradford",value:"BRADFORD"},{name:"Brighton",value:"BRIGHTON"},{name:"Bristol",value:"BRISTOL"},{name:"Bromley",value:"BROMLEY"},{name:"Cambridge",value:"CAMBRIDGE"},{name:"Canterbury",value:"CANTERBURY"},{name:"Carlisle",value:"CARLISLE"},{name:"Chelmsford",value:"CHELMSFORD"},{name:"Chester",value:"CHESTER"},{name:"Cleveland ",value:"CLEVELAND"},{name:"Colchester",value:"COLCHESTER"},{name:"Coventry",value:"COVENTRY"},{name:"Crewe",value:"CREWE"},{name:"Croydon",value:"CROYDON"},{name:"Darlington",value:"DARLINGTON"},{name:"Dartford",value:"DARTFORD"},{name:"Derby",value:"DERBY"},{name:"Doncaster",value:"DONCASTER"},{name:"Dorchester",value:"DORCHESTER"},{name:"Dudley",value:"DUDLEY"},{name:"Durham",value:"DURHAM"},{name:"Enfield",value:"ENFIELD"},{name:"Exeter",value:"EXETER"},{name:"Gloucester",value:"GLOUCESTER"},{name:"Guildford",value:"GUILDFORD"},{name:"Halifax",value:"HALIFAX"},{name:"Harrogate",value:"HARROGATE"},{name:"Harrow",value:"HARROW"},{name:"Hemel Hempstead",value:"HEMELHEMP"},{name:"Hereford",value:"HEREFORD"},{name:"Huddersfield",value:"HUDDERSFLD"},{name:"Hull",value:"HULL"},{name:"Ilford",value:"ILFORD"},{name:"Ipswich",value:"IPSWICH"},{name:"Kingston Upon Thames",value:"KINGSTONUT"},{name:"Lancaster",value:"LANCASTER"},{name:"Leeds",value:"LEEDS"},{name:"Leicester",value:"LEICESTER"},{name:"Lincoln",value:"LINCOLN"},{name:"Liverpool",value:"LIVERPOOL"},{name:"London E",value:"ELONDON"},{name:"London EC",value:"ECLONDON"},{name:"London N",value:"NLONDON"},{name:"London NW",value:"NWLONDON"},{name:"London SE",value:"SELONDON"},{name:"London SW",value:"SWLONDON"},{name:"London WC",value:"WCLONDON"},{name:"London W",value:"WLONDON"},{name:"Luton",value:"LUTON"},{name:"Manchester",value:"MANCHESTER"},{name:"Medway",value:"MEDWAY"},{name:"Milton Keynes",value:"MILTONKEYN"},{name:"Newcastle upon Tyne",value:"NEWCASTLE"},{name:"Northampton",value:"NORTHAMPTN"},{name:"Norwich",value:"NORWICH"},{name:"Nottingham",value:"NOTTINGHAM"},{name:"Oldham",value:"OLDHAM"},{name:"Oxford",value:"OXFORD"},{name:"Peterborough",value:"PETERBORO"},{name:"Plymouth",value:"PLYMOUTH"},{name:"Portsmouth",value:"PORTSMOUTH"},{name:"Preston",value:"PRESTON"},{name:"Reading",value:"READING"},{name:"Redhill",value:"REDHILL"},{name:"Romford",value:"ROMFORD"},{name:"Salisbury",value:"SALISBURY"},{name:"Sheffield",value:"SHEFFIELD"},{name:"Shrewsbury",value:"SHREWSBURY"},{name:"Slough",value:"SLOUGH"},{name:"Southall",value:"SOUTHALL"},{name:"Southampton",value:"SOUTHAMPTN"},{name:"Southend on Sea",value:"SOUTHEND"},{name:"St. Albans",value:"STALBANS"},{name:"Stevenage",value:"STEVENAGE"},{name:"Stockport",value:"STOCKPORT"},{name:"Stoke on Trent",value:"STOKETRENT"},{name:"Sunderland",value:"SUNDERLAND"},{name:"Sutton",value:"SUTTON"},{name:"Swindon",value:"SWINDON"},{name:"Taunton",value:"TAUNTON"},{name:"Telford",value:"TELFORD"},{name:"Tonbridge",value:"TONBRIDGE"},{name:"Torquay",value:"TORQUAY"},{name:"Truro",value:"TRURO"},{name:"Twickenham",value:"TWICKENHAM"},{name:"Wakefield",value:"WAKEFIELD"},{name:"Walsall",value:"WALSALL"},{name:"Warrington",value:"WARRINGTON"},{name:"Watford",value:"WATFORD"},{name:"Wigan",value:"WIGAN"},{name:"Wolverhampton",value:"WOLVERHPTN"},{name:"Worcester",value:"WORCESTER"},{name:"York",value:"YORK"}],MaxTimeToUnlockSite:60,DSPTWaiverDate:"2021-6-30"});angular.module("UnauthorisedApp").service("PharmacyAuthInjector",["$http",function(n){this.SetCreds=function(t,i){var r=$.base64.encode(t+":"+i);return n.defaults.headers.common.Authorization="Basic "+r,n}}]);angular.module("UnauthorisedApp").service("RegistrationApi",["growl","$resource",function(n,t){function i(t){var i="Request failed";t.data!=null&&angular.isDefined(t.data.Errors)&&t.data.Errors.length>0?t.data.Errors[0].Code===51?$location.path("/AccessDenied"):(i+=": "+t.data.Errors[0].Message,i+=": "+t.data.Errors[0].Detail):t.data!=null&&angular.isDefined(t.data.Message)?i+=": "+t.data.Message:t.status===0&&(i="Request to server timed out");n.error(i,{ttl:1e4})}return t(baseUrlValue+"",{},{DentistryPostcodeLookup:{method:"GET",params:{PostCode:"@PostCode"},url:baseUrlValue+"dentistry/dentistries",isArray:!0,interceptor:{responseError:i},timeout:6e4},CareProviderPostcodeLookup:{method:"GET",params:{PostCode:"@PostCode"},url:baseUrlValue+"social/socialcare",isArray:!0,interceptor:{responseError:i},timeout:6e4},ValidateStep0:{method:"POST",params:{userDetails:"@userDetails"},url:baseUrlValue+"dentistry/Step0",interceptor:{responseError:i},timeout:6e4},ValidateStep1:{method:"POST",params:{userDetails:"@userDetails"},url:baseUrlValue+"dentistry/Step1",interceptor:{responseError:i},timeout:6e4},generateEmailOTC:{method:"POST",params:{ODSCode:"@ODSCode",isCareRequest:"@isCareRequest"},url:baseUrlValue+"otc/email",interceptor:{responseError:i},timeout:3e4},generatePostOTC:{method:"POST",params:{ODSCode:"@ODSCode",isCareRequest:"@isCareRequest"},url:baseUrlValue+"otc/post",interceptor:{responseError:i},timeout:3e4},generateAltPostOTC:{method:"POST",params:{ODSCode:"@ODSCode",isCareRequest:"@isCareRequest"},url:baseUrlValue+"otc/altpost",interceptor:{responseError:i},timeout:3e4},registerDentistry:{method:"POST",params:{regDetails:"@regDetails"},url:baseUrlValue+"dentistry/member",interceptor:{responseError:i},timeout:375e3},ValidateCareproviderStep0:{method:"POST",params:{userDetails:"@userDetails"},url:baseUrlValue+"careprovider/Step0",interceptor:{responseError:i},timeout:6e4},ValidateCareproviderStep1:{method:"POST",params:{userDetails:"@userDetails"},url:baseUrlValue+"careprovider/Step1",interceptor:{responseError:i},timeout:6e4},registerCareprovider:{method:"POST",params:{regDetails:"@regDetails"},url:baseUrlValue+"careprovider/member",interceptor:{responseError:i},timeout:375e3},PharmacyPostcodeLookup:{method:"GET",params:{PostCode:"@PostCode"},url:baseUrlValue+"pharmacy/pharmacylist",isArray:!0,interceptor:{responseError:i},timeout:6e4},ValidatePharmacyStep1:{method:"POST",params:{userDetails:"@userDetails"},url:baseUrlValue+"pharmacy",interceptor:{responseError:i},timeout:6e4},VerifyLocationID:{method:"GET",params:{CQCLocationID:"@CQCLocationID"},url:baseUrlValue+"cqc/verify",interceptor:{responseError:i},timeout:3e4},VerifyOTC:{method:"GET",params:{OTC:"@OTC",ODSCode:"@ODSCode"},url:baseUrlValue+"otc/verify",interceptor:{responseError:i},timeout:3e4},CheckMobileNumberExist:{method:"POST",params:{ODSCode:"@ODSCode",PodsType:"@PodsType",MobileNumber:"@MobileNumber"},url:baseUrlValue+"pods/check/mobile",interceptor:{responseError:i},timeout:6e4},GetLocumDetails:{method:"GET",params:{id:"@ID"},url:baseUrlValue+"locum",interceptor:{responseError:i},timeout:6e4},CreateLocumAccount:{method:"POST",params:{LocumDetails:"@LocumDetails"},url:baseUrlValue+"locum/member",interceptor:{responseError:i},timeout:375e3},GetCreateUserFeatureOption:{method:"GET",params:{feature:"CreateExoUser"},url:baseUrlValue+"config/options",interceptor:{responseError:i},timeout:6e4,transformResponse:function(n){return{option:angular.fromJson(n)}}}})}]);angular.module("UnauthorisedApp").controller("PharmacyRegistrationConfirmController",["$scope","$http","$routeParams","PharmacyAuthInjector",function(n,t,i){n.onLoad=function(){function f(){t({method:"post",url:baseUrlValue+"pharmacy/"+n.pharmacyId}).success(function(){u(r.FINISHED)}).error(function(n,t){t=="410"?u(r.OBSOLETE):u(r.ERROR)})}function u(t){n.uiState.mode=t;n.uiState.isProvisioningAvailable=t==r.PROVISIONING;n.uiState.isFinishAvailable=t==r.FINISHED;n.uiState.isObsoleteAvailable=t==r.OBSOLETE;n.uiState.isErrorAvailable=t==r.ERROR}n.pharmacyId=i.ID;n.pharmacyDetails={};n.errors=[];const r={PROVISIONING:"Provisioning",FINISHED:"Finished",OBSOLETE:"Obsolete",ERROR:"Error"};n.uiState={mode:r.CONFIRM,isProvisioningAvailable:!1,isFinishAvailable:!1,isObsoleteAvailable:!1,isErrorAvailable:!1,messages:[]};n.pharmacyId!==""&&(u(r.PROVISIONING),f())}}]);angular.module("UnauthorisedApp").controller("PharmacyRegistrationController",["$scope","$http","PharmacyAuthInjector","$location",function(n,t,i){function e(){return{Id:n.baseModel.Pharmacy.Id,OrganisationId:n.baseModel.Pharmacy.OrganisationId,RegistrationNo:n.baseModel.RegistrationNo,ODSCode:n.baseModel.ODSCode,RegisteredEmail:n.baseModel.RegisteredEmail,UID:n.baseModel.UID,Town:n.baseModel.Town}}function o(){return{number:n.members.length,PersonalEmail:"",FirstMame:"",LastName:"",Title:"",Mobile:"",MemberType:n.members.length>0?1:0}}function s(){return{Pharmacy:{},ODSCode:"",RegistrationNo:"",RegisteredEmail:"",UID:0,Town:"",TownConfirm:""}}function u(){n.newMemberShown=n.members.length<n.maxMembers||n.uiState.isInEdit}function f(t){n.uiState.mode=t;n.uiState.isOdsCheckAvailable=t==r.ODS;n.uiState.isMemberAvailable=t==r.MEMBER;n.uiState.isConfirmAvailable=t==r.CONFIRM;n.uiState.isFinishAvailable=t==r.FINISH}n.IsCreateExoUserFeatureSelected;n.baseModel=s();n.checkedPharmacy={};n.members=[];n.newMember={};n.errors=[];n.minMembers=minMembers;n.maxMembers=maxMembers;n.emailPattern="^[a-zA-Z0-9_'.-]+[@]([a-zA-Z0-9-]+.)+[a-zA-Z]+";n.namePattern=/^[a-zA-Z]*$/;$(function(){$('[data-toggle="tooltip"]').tooltip()});const r={ODS:"OdsCheck",MEMBER:"MemberAdd",FINISH:"Finish",CONFIRM:"Confirm"};n.uiState={mode:r.ODS,isOdsCheckAvailable:!0,isMemberAvailable:!1,isConfirmAvailable:!1,isFinishAvailable:!1,isInEdit:!1,messages:[]};n.checkODSClick=function(i){(n.ssErrors=[],i.$invalid)||t({method:"post",url:baseUrlValue+"pharmacy",data:e()}).success(function(t){(t==[]||t=="")&&(t=[{Name:"No item found"}]);angular.copy(t,n.checkedPharmacy);n.newMember=o();f(r.MEMBER);u()}).error(function(t,i){i=="404"&&n.ssErrors.push("Pharmacy details incorrect, please check the details you specified. For support please email pharmacyadmin@nhs.net")})};n.memberClick=function(){var t=!1;n.ssErrors=[];n.members.length<n.minMembers&&(n.ssErrors.push("Please specify at least "+n.minMembers+" members"),t=!0);typeof n.baseModel.Town!="undefined"&&n.baseModel.Town||(n.ssErrors.push("Please specify a valid Town Name"),t=!0);typeof n.baseModel.TownConfirm!="undefined"&&n.baseModel.TownConfirm||(n.ssErrors.push("Please confirm the Town Name"),t=!0);t==!1&&f(r.CONFIRM)};n.confirmClick=function(){i.SetCreds(n.checkedPharmacy.Id,n.checkedPharmacy.ODSCode);t({method:"post",url:baseUrlValue+"pharmacy/"+n.checkedPharmacy.Id+"/Town",data:e()}).success(function(){return t({method:"post",url:baseUrlValue+"pharmacy/"+n.checkedPharmacy.Id+"/Members",data:n.members}).success(function(){f(r.FINISH)})})};n.memberAddClick=function(t){t.$invalid||(n.members.push(n.newMember),n.newMember=o(),t.$setPristine(),t.$setUntouched(),n.ssErrors=[],n.uiState.isInEdit=!1,u())};n.editMember=function(t){for(var i=0;i<n.members.length;i++)if(t==n.members[i].number){n.newMember=n.members[i];n.members.splice(i,1);break}n.uiState.isInEdit=!0;u()};n.removeMember=function(t){for(var i=0;i<n.members.length;i++)if(t==n.members[i].number){n.members.splice(i,1);break}u()};n.TitleList=[{name:"Mr",value:"Mr"},{name:"Mr.",value:"Mr."},{name:"Mrs",value:"Mrs"},{name:"Miss",value:"Miss"},{name:"Ms",value:"Ms"},{name:"Dr",value:"Dr"},{name:"Brother",value:"Brother"},{name:"Canon",value:"Canon"},{name:"Father",value:"Father"},{name:"Lady",value:"Lady"},{name:"Lord",value:"Lord"},{name:"Major",value:"Major"},{name:"Nurse",value:"Nurse"},{name:"Professor",value:"Professor"},{name:"Rabbi",value:"Rabbi"},{name:"Reverend",value:"Reverend"},{name:"Right Reverend Monsignor",value:"Right Reverend Monsignor"},{name:"Sir",value:"Sir"},{name:"Sister",value:"Sister"}]}]);angular.module("UnauthorisedApp").controller("DentistryRegistrationController",["$scope","$location","$sce","growl","Config","RegistrationApi",function(n,t,i,r,u,f){function o(){n.showBlockMessage=!0;n.showValForm=!1;n.showValFooter=!1;n.questionnaire=!1;n.showRegTitle=!1}function a(){n.showVal1=!0;n.showVal2=!1;n.showVal3=!1;n.showVal4=!1;n.showVal5=!1;n.showValForm=!1;n.showQuestionnaireVal=!0;n.showValFooter=!1}function v(t,r){t.IsDentistryDetailsMatched==!0?(n.newMember=h(),n.setUIState(e.MEMBER),s()):(n.OTCode=n.CQCContactId=n.CQCLocationId="",r.$setPristine(),r.$setUntouched(),n.regHtmlMessage="",n.cqcSuccess="",t.CQCContactIDAttempts==3?(n.uiState.isCQCError=!0,n.uiState.isCQCAvailable=!1):t.HasReachedMaximumAttempts==!0?(message="You have reached the maximum number of attempts to enter your organisation details. Please wait for 60 min(s) before trying again",n.regHtmlMessage=i.trustAsHtml(message)):(message='There appears to be a problem with the field that you have populated. Please double check these items carefully. If you are still experiencing issues then please contact: <a href="mailto:dentistadmin@nhs.net"> dentistadmin@nhs.net<\/a>',n.regHtmlMessage=i.trustAsHtml(message)))}function s(){n.newMemberShown=n.members.length<n.maxMembers||n.uiState.isInEdit}function h(){return checkValue=n.members.length>0?!1:!0,n.checkbox1[n.members.length]=checkValue,n.checkbox2[n.members.length]=checkValue,{number:n.number,PersonalEmail:"",FirstName:"",LastName:"",Title:"",Role:"",Mobile:"",MemberType:n.members.length==0?"Owner":"Member",AddToSharedMailbox:n.members.length==0?!0:!1}}function y(){return town=n.town,typeof n.town=="undefined"&&(town=n.townConfirm),angular.copy(n.members,c),n.getRoleJson(),regDetails={Members:c,ODSCode:n.odscode,PostalCode:n.postcode,OrganisationName:n.dentalName,Town:town,OTC:n.OTCode,CQCContactID:n.CQCContactId,CQCLocationID:n.CQCLocationId,CQCEmailAddress:n.emailAddressRegister}}function l(t){angular.forEach(n.members,function(i){t===i.number&&(i.AddToSharedMailbox=n.checkbox1[t]===!0?!0:!1,i.MemberType=n.checkbox2[t]===!0?"Owner":"Member")})}n.ssErrors=[];n.IsCreateExoUserFeatureSelected=!1;n.emailPattern="^[a-zA-Z0-9_'.-]+[@]([a-zA-Z0-9-]+.)+[a-zA-Z]+";n.codePattern="^[A-Za-z0-9]{1,5}-[0-9]{6,11}$";n.OTcodePattern="^[0-9]*";n.namePattern=/^[a-zA-Z]*$/;n.emailDisplay=!1;n.emailRequired=!1;n.showValFormMessage=!1;n.questionnaire=!0;n.optionAnswered="";n.regMessage="";n.regErrorMessage="";n.OTCStyle="";n.CQCStyle="";n.codeReqMsg=!1;n.questopt1=!1;n.questopt2=!1;n.questopt3=!1;n.questopt4=!1;n.questopt5=!1;n.result={q:"",a:""};n.emailAddressRegister=null;n.odscodeRegister=null;n.members=[];n.minMembers=minMembers;n.maxMembers=maxMembers;n.regHtmlMessage="";n.checkbox1=[];n.checkbox2=[];n.adminCount=1;n.regTitle="Dentistry Pre-Requisite Questionnaire";n.showRegTitle=!0;n.regSuccessMessage="";n.memberTop="margin-top:-30px;";var c=[];n.highlightStyle={"background-color":"#ccc","border-color":"black","font-weight":"bold",color:"black"};n.number=0;n.TitleList=u.Title;n.RoleList=u.DentistRole;n.TownList=u.Town;n.disableButton=!1;a();$(function(){$('[data-toggle="tooltip"]').tooltip()});n.ctrlFn=function(t){n.disableButton=t==!0?!0:!1};n.submit=function(t){if(n.ssErrors=[],!t.$invalid){n.ssErrors=[];n.emailAddressRegister=null;n.odscodeRegister=t.odsCode.$modelValue;typeof t.emailAddress.$modelValue!="undefined"&&(n.emailAddressRegister=t.emailAddress.$modelValue);n.Stage0Model=n.initStage0Model(t);var i={ODSCode:n.odscodeRegister,CQCEmailAddress:n.emailAddressRegister};f.ValidateStep0(i).$promise.then(function(t){(t!=[]||t!=""||typeof t!="undefined")&&n.goToStep1(t)})}};n.goToStep1=function(t){if(n.cqcSuccess="",n.cqcValidated="",n.regMessage="",n.regSuccessMessage="",t.AllRequiredRegFieldsNotPopulatedOrInvalid==!1){if(n.result.q==3&&n.result.a=="yes"&&(n.cqcSuccess="Thanks, please use the One-Time Passcode that has been sent to you to complete the required information on this page:",n.regTitle="Dentistry Registration",o(),n.setUIState(e.CQC),n.populateStage0values(n.Stage0Model)),n.result.q==4&&n.result.a=="yes"&&(n.cqcSuccess="Please provide the details for your organisation below to proceed with your registration:",n.regTitle="Dentistry Registration",o(),n.setUIState(e.CQC),n.populateStage0values(n.Stage0Model)),n.result.q==5&&n.result.a=="no"&&(otcResult=n.generateOTC("post")),n.result.q==5&&n.result.a=="yes")if(t.IsDentistryDetailsMatched==!1){if(t.MaxCQCEmailAttemptsReached<=2){n.ssErrors.push("We have been unable to validate your email address, Please try again to provide a valid email address.");return}message="We have been unable to validate your email address, a One-Time Passcode will be posted to your organisation's postal address. Once you have received this code please return to this page within 16 days to complete your registration.";f.generatePostOTC({ODSCode:n.odscodeRegister}).$promise.then(function(){o();n.regErrorMessage=i.trustAsHtml(message);n.regTitle="Dentistry One-Time Passcode Request Received"},function(t){n.regErrorMessage=i.trustAsHtml(t);r.error(t,{ttl:1e4})})}else otcResult=n.generateOTC("email")}else t.IsAlternateRegistrationWorkFlow==!0?t.IsAlternateRegistrationWorkFlowOTPSent==!0?(n.cqcSuccess="Thanks, please use the One-Time Passcode that has been sent to you to complete the required information on this page:",n.regTitle="Dentistry Registration",o(),n.setUIState(e.CQCAlt),n.populateStage0values(n.Stage0Model)):(message='A One-Time Passcode will be posted to your organisation\'s postal address. Once you have received this code please return to this page within 16 days to complete your registration.<br><br><a href="https://portal.nhs.net" class="btn btn-primary">Go to homepage<\/a>',f.generateAltPostOTC({ODSCode:n.odscodeRegister}).$promise.then(function(){o();n.regErrorMessage=i.trustAsHtml(message);n.regTitle="Dentistry One-Time Passcode Request Received"},function(t){n.regErrorMessage=i.trustAsHtml(t);r.error(t,{ttl:1e4})})):(message="We are sorry but the data authentication information required to validate your registration is not yet populated in the NHSmail database. Please try again in 4-6 weeks.",n.regErrorMessage=i.trustAsHtml(message),o())};n.generateOTC=function(t){t=="email"?f.generateEmailOTC({ODSCode:n.odscodeRegister}).$promise.then(function(t){t.Success==!0&&(n.cqcSuccess="Thanks, please use the One-Time Passcode that has been sent to your email address to complete the required information on this page:",n.regTitle="Dentistry Registration",n.setUIState(e.CQC),n.populateStage0values(n.Stage0Model))},function(n){r.error(n,{ttl:1e4})}):f.generatePostOTC({ODSCode:n.odscodeRegister}).$promise.then(function(){o();message='A One-Time Passcode will be posted to your organisation\'s postal address. Once you have received this code please return to this page within 16 days to complete your registration.<br><br><a href="https://portal.nhs.net" class="btn btn-primary">Go to homepage<\/a>';n.regSuccessMessage=i.trustAsHtml(message);n.regTitle="Dentistry One-Time Passcode Request Received"},function(n){r.error(n,{ttl:1e4})})};const e={ODS:"OdsCheck",CQC:"CQCCheck",MEMBER:"MemberAdd",FINISH:"Finish",CONFIRM:"Confirm",CQCError:"CQCError",CQCAlt:"CQCAlt",PROVISIONING:"Provisioning"};n.uiState={mode:e.ODS,isOdsAvailable:!0,isCQCAvailable:!1,isMemberAvailable:!1,isConfirmAvailable:!1,isFinishAvailable:!1,isCQCError:!1,isCQCUnAvailable:!1,isProvisioningAvailable:!1};n.setUIState=function(t){n.uiState.mode=t;n.uiState.isOdsAvailable=t==e.ODS;n.uiState.isCQCAvailable=t==e.CQC;n.uiState.isMemberAvailable=t==e.MEMBER;n.uiState.isConfirmAvailable=t==e.CONFIRM;n.uiState.isFinishAvailable=t==e.FINISH;n.uiState.isCQCError=t==e.CQCError;n.uiState.isCQCUnAvailable=t==e.CQCAlt;n.uiState.isProvisioningAvailable=t==e.PROVISIONING};f.GetCreateUserFeatureOption().$promise.then(function(t){n.IsCreateExoUserFeatureSelected=t.option==="true"});n.showYesActions=function(t){switch(t){case 1:message='Please do not register for another NHSmail account, please refer to the <a href="https://support.nhs.net/article-categories/joining-nhsmail/">NHSmail support pages <\/a> for further guidance.';n.regErrorMessage=i.trustAsHtml(message);n.showQuestionnaireVal=!1;n.showVal1=!1;n.questopt1=!0;break;case 2:n.showVal3=!0;n.questopt2=!0;n.q2yes=n.highlightStyle;break;case 3:n.regMessage="Thanks, please use the One-Time Passcode that you have already received on the next page to proceed with the registration. Please enter the details for your organisation below to move to the next step:";n.questionnaire=!1;n.regTitle="Dentistry Registration";n.showValForm=!0;n.showValFooter=!0;n.emailDisplay=!1;n.emailRequired=!1;n.optionAnswered="OTC";n.questopt3=!0;n.result={q:3,a:"yes"};break;case 4:n.regMessage="Thanks, please provide your organisation details below to proceed:";n.questionnaire=!1;n.regTitle="Dentistry Registration";n.showValForm=!0;n.showValFooter=!0;n.emailDisplay=!1;n.emailRequired=!1;n.optionAnswered="CQC";n.questopt4=!0;n.result={q:4,a:"yes"};break;case 5:n.regMessage="Thanks, please complete the boxes below:";n.questionnaire=!1;n.regTitle="Dentistry Registration";n.emailDisplay=!0;n.emailRequired=!0;n.showValForm=!0;n.showValFooter=!0;n.optionAnswered="OTC";n.questopt5=!0;n.result={q:5,a:"yes"}}};n.showNoActions=function(t){switch(t){case 1:n.showVal2=!0;n.questopt1=!0;n.q1no=n.highlightStyle;break;case 2:message="All dental practices must have completed the Data Security and Protection Toolkit before joining NHSmail. Alternatively an IG Toolkit v14.1 submission is valid until 31/03/2019. <a href='https://www.dsptoolkit.nhs.uk'>www.dsptoolkit.nhs.uk<\/a>";n.regErrorMessage=i.trustAsHtml(message);n.showQuestionnaireVal=!1;n.showVal1=!1;n.showVal2=!1;n.questopt2=!0;break;case 3:n.showVal4=!0;n.questopt3=!0;n.q3no=n.highlightStyle;break;case 4:n.showVal5=!0;n.questopt4=!0;n.q4no=n.highlightStyle;break;case 5:n.regMessage="Thanks, Please enter your organisation details below to generate the One-Time Passcode.";n.questionnaire=!1;n.regTitle="Dentistry Registration";n.showValForm=!0;n.showValFooter=!0;n.questopt5=!0;n.result={q:5,a:"no"};n.quest5answer=!0}};n.initStage0Model=function(t){return{odscode:t.odsCode.$modelValue,postcode:t.fullPostcode.$modelValue,dentalName:t.orgName.$modelValue,optionAnswered:n.optionAnswered}};n.populateStage0values=function(t){n.postcode=t.postcode;n.odscode=t.odscode;n.dentalName=t.dentalName;t.optionAnswered=="OTC"&&(n.OTCStyle={border:"2px solid #000"});t.optionAnswered=="CQC"&&(n.CQCStyle={border:"2px solid #000"})};n.validateCodes=function(){n.codeReqMsg=n.dentistry_stage1_form.CQCContactId.$invalid&&n.dentistry_stage1_form.OTCode.$invalid?!0:!1};n.checkCQC=function(t){if(t.$name=="alt_stage1_form")n.newMember=h(),n.setUIState(e.MEMBER),n.uiState.isMemberAvailable=!0,s();else{if(n.cqcErrors=[],t.CQCLocationId.$invalid)return;if(t.CQCContactId.$valid||t.OTCode.$valid){var i={ODSCode:n.odscode,OTC:n.OTCode,CQCContactID:n.CQCContactId,CQCLocationID:n.CQCLocationId};f.ValidateStep1(i).$promise.then(function(n){n&&v(n,t)},function(n){r.error(n,{ttl:1e4})})}else n.codeReqMsg=!0,n.cqcErrors.push("You have not fully completed this form, please populate all of the boxes within this screen before proceeding.")}};n.newMember=h();s();n.memberAddClick=function(t){(n.uiState.isConfirmAvailable=!1,n.adminCountMsg=!1,t.$invalid)||(n.memberTop="margin-top:0px;",n.members.push(n.newMember),n.number++,l(n.newMember.number),n.newMember=h(),t.$setPristine(),t.$setUntouched(),n.ssErrors=[],n.uiState.isInEdit=!1,s())};n.editMember=function(t){n.adminCountMsg=!1;for(var i=0;i<n.members.length;i++)if(t==n.members[i].number){n.newMember=n.members[i];n.members.splice(i,1);break}n.uiState.isInEdit=!0;n.uiState.isConfirmAvailable=!1;s()};n.removeMember=function(t){n.adminCountMsg=!1;for(var i=0;i<n.members.length;i++)if(t==n.members[i].number){n.members.splice(i,1);n.checkbox2[t]===!0&&n.adminCount--;break}n.uiState.isConfirmAvailable=!1;s()};n.$watchGroup(["newMember.Title","newMember.FirstName","newMember.LastName","newMember.Mobile","newMember.PersonalEmail","newMember.Role"],function(t){(t[0]!==""||t[1]!==""||t[2]!==""||t[3]!==""||t[4]!==""||t[5]!=="")&&(n.uiState.isConfirmAvailable=!1)});n.memberClick=function(t){n.adminCountMsg=!1;var i=!1;n.ssErrors=[];t.$setPristine();t.$setUntouched();n.newMember=h();n.members.length<n.minMembers&&(n.ssErrors.push("Please specify at least "+n.minMembers+" members"),i=!0);typeof n.town!="undefined"&&n.town||typeof n.townConfirm!="undefined"&&n.townConfirm||(n.ssErrors.push("Please specify a valid Town Name"),i=!0);i==!1&&(n.uiState.isConfirmAvailable=!0)};n.finalMessage=!1;n.finalErrorMessage=!1;n.confirmClick=function(){var t=!1;n.ssErrors=[];n.uiState.isConfirmAvailable=!1;typeof n.town!="undefined"&&n.town||typeof n.townConfirm!="undefined"&&n.townConfirm?(n.regDetails=y(),n.setUIState(e.PROVISIONING),f.registerDentistry(n.regDetails).$promise.then(function(t){t?n.finalMessage=!0:n.finalErrorMessage=!0;n.setUIState(e.FINISH)},function(t){r.error(t,{ttl:1e4});n.finalErrorMessage=!0;n.setUIState(e.FINISH)})):(n.ssErrors.push("Please specify a valid Town Name"),t=!0)};n.getRoleJson=function(){angular.forEach(c,function(n){requestRole=[{Description:n.Role}];n.Role=requestRole})};n.townMsgShow=!0;n.townErrorMsg=function(){n.uiState.isConfirmAvailable=!1;n.townMsgShow=!0;n.addTown_form.townConfirm.$valid&&(n.townMsgShow=!1)};n.$watch("town",function(t,i){t!==i&&(n.uiState.isConfirmAvailable=!1)});n.adminCountMsg=!1;n.checkAdminCount=function(t,i){n.uiState.isConfirmAvailable=!1;n.adminCountMsg=!1;i=="member"&&(n.checkbox2[t]===!0?(n.adminCount=n.adminCount+1,n.checkbox1[t]=!0):n.adminCount=n.adminCount-1);i=="mailbox"&&n.checkbox1[t]===!1&&n.checkbox2[t]===!0&&(n.adminCount=n.adminCount-1,n.checkbox2[t]=!1);n.adminCount>3&&(n.checkbox2[t]=!1,n.adminCountMsg=!0,n.adminCount=n.adminCount-1);l(t)};n.showStep1=function(t){t=="default"?(n.setUIState(e.CQC),n.uiState.isCQCError=!1):(n.uiState.isCQCError=!1,n.uiState.isOdsAvailable=!0,n.generateOTC("post"))};n.dispLocId=!1;n.dispOrgDetails=!1;n.otcSuccess=!0;n.locationIdSuccess=!0;n.$watchGroup(["altOTC","altLocationId"],function(t){t[0]!==""&&(n.otcSuccess=!0);t[1]!==""&&(n.locationIdSuccess=!0)});n.verifyAltFlow=function(t){n.otcSuccess=!0;n.locationIdSuccess=!0;t=="OTC"&&(n.dispLocId=!1,f.VerifyOTC({OTC:n.altOTC,ODSCode:n.odscode}).$promise.then(function(t){t.Success==!0?(n.dispLocId=!0,n.regCQCHtmlMessage="",n.cqcValidated=""):(n.otcSuccess=!1,n.altOTC="");t.HasReachedMaximumAttempts==!0&&(message='You have reached the maximum number of invalid attempts. Your organisation will not be visible in registration portal anymore. For support please email <a href="mailto:dentistadmin@nhs.net">dentistadmin@nhs.net<\/a>.',n.regCQCHtmlMessage=i.trustAsHtml(message))},function(){}));t=="LocationId"&&(n.dispOrgDetails=!1,f.VerifyLocationID({CQCLocationID:n.altLocationId,ODSCode:n.odscode}).$promise.then(function(t){n.cqc=t;n.cqc.CQCOrganisationName!=null?(n.dispOrgDetails=!0,n.regCQCHtmlMessage="",n.cqcValidated=""):(n.locationIdSuccess=!1,n.altLocationId="");t.HasReachedMaximumAttempts==!0&&(message='You have reached the maximum number of invalid attempts. Your organisation will not be visible in registration portal anymore. For support please email <a href="mailto:dentistadmin@nhs.net">dentistadmin@nhs.net<\/a>.',n.regCQCHtmlMessage=i.trustAsHtml(message))},function(){}))};n.regCQCHtmlMessage="";n.allowSubmit=!0;n.validateAltStep1=function(t,r){n.cqcValidated="";n.message="";t?n.cqc.CQCPostCode==n.postcode?(n.allowSubmit=!1,n.OTCode=n.altOTC,n.CQCLocationId=n.altLocationId,n.cqcValidated="Thanks for confirming your CQC registration details. Please click the Next button to proceed with the registration."):(n.message="The postcode for the CQC record does not match the postcode that we hold on file, please reconfirm that you have entered the correct CQC Location ID.",n.dispOrgDetails=!1,r.$setUntouched(),n.altLocationId=""):(n.allowSubmit=!0,n.dispLocId=!1,n.dispOrgDetails=!1,n.otcSuccess=!0,n.locationIdSuccess=!0,n.altLocationId="",n.altOTC="",n.cqcValidated="",r.$setUntouched(),n.message="Please re-enter the One-Time Passcode and CQC Location Id");n.message!=""&&(n.regCQCHtmlMessage=i.trustAsHtml(n.message))}}]);angular.module("UnauthorisedApp").controller("PageNotFoundController",function(){});angular.module("UnauthorisedApp").controller("SocialcareRegistrationController",["$scope","$location","$sce","growl","Config","RegistrationApi",function(n,t,i,r,u,f){function a(){n.showVal1=!0;n.showVal2=!1;n.showVal3=!1;n.showVal4=!1;n.showVal5=!1;n.showValForm=!1;n.showQuestionnaireVal=!0;n.showValFooter=!1}function v(t,r){t.IsDetailsMatched==!0?(n.newMember=c(),n.setUIState(e.MEMBER),s()):(n.OTCode=n.CQCContactId=n.CQCLocationId="",r.$setPristine(),r.$setUntouched(),n.regHtmlMessage="",n.cqcSuccess="",t.CQCContactIDAttempts==3?(n.uiState.isCQCError=!0,n.uiState.isCQCAvailable=!1):t.HasReachedMaximumAttempts==!0?(message="You have reached the maximum number of attempts to enter your organisation details. Please wait for 60 min(s) before trying again",n.regHtmlMessage=i.trustAsHtml(message)):(message='There appears to be a problem with the field that you have populated. Please double check these items carefully. If you are still experiencing issues then please contact: <a href="mailto:careadmin@nhs.net">careadmin@nhs.net <\/a>',n.regHtmlMessage=i.trustAsHtml(message)))}function s(){n.newMemberShown=n.members.length<n.maxMembers||n.uiState.isInEdit}function c(){return checkValue=n.members.length>0?!1:!0,n.checkbox1[n.members.length]=checkValue,n.checkbox2[n.members.length]=checkValue,{number:n.number,PersonalEmail:"",FirstName:"",LastName:"",Title:"",Role:"",Mobile:"",MemberType:n.members.length==0?"Owner":"Member",AddToSharedMailbox:n.members.length==0?!0:!1}}function y(){return angular.copy(n.members,h),n.getRoleJson(),regDetails={Members:h,ODSCode:n.odscode,PostalCode:n.postcode,OrganisationName:n.organisationName,Town:n.Town,OTC:n.OTCode,CQCContactID:n.CQCContactId,CQCLocationID:n.CQCLocationId,CQCEmailAddress:n.emailAddressRegister}}function l(t){angular.forEach(n.members,function(i){t===i.number&&(i.AddToSharedMailbox=n.checkbox1[t]===!0?!0:!1,i.MemberType=n.checkbox2[t]===!0?"Owner":"Member")})}var h,o;n.ssErrors=[];n.emailPattern="^[a-zA-Z0-9_'.-]+[@]([a-zA-Z0-9-]+.)+[a-zA-Z]+";n.codePattern="^[A-Za-z0-9]{1,5}-[0-9]{6,11}$";n.OTcodePattern="^[0-9]*";n.namePattern=/^[a-zA-Z]*$/;n.emailDisplay=!1;n.emailRequired=!1;n.showValFormMessage=!1;n.questionnaire=!0;n.optionAnswered="";n.regMessage="";n.regErrorMessage="";n.OTCStyle="";n.CQCStyle="";n.codeReqMsg=!1;n.questopt1=!1;n.questopt2=!1;n.questopt3=!1;n.questopt4=!1;n.questopt5=!1;n.result={q:"",a:""};n.emailAddressRegister=null;n.odscodeRegister=null;n.members=[];n.minMembers=minMembers;n.maxMembers=maxMembers;n.regHtmlMessage="";n.checkbox1=[];n.checkbox2=[];n.adminCount=1;n.regTitle="Care Provider Pre-Requisite Questionnaire";n.showRegTitle=!0;n.regSuccessMessage="";n.memberTop="margin-top:-30px;";h=[];n.Town="";n.TownConfirm="";n.highlightStyle={"background-color":"#ccc","border-color":"black","font-weight":"bold",color:"black"};n.number=0;n.TitleList=u.Title;n.RoleList=u.SocialCareRole;n.dsptWaiverDate=u.DSPTWaiverDate;n.disableButton=!1;o=new Date(n.dsptWaiverDate);n.formattedWaiverDate=o.getDate()+"/"+(o.getMonth()+1)+"/"+o.getFullYear();a();$(function(){$('[data-toggle="tooltip"]').tooltip()});n.ctrlFn=function(t){n.disableButton=t==!0?!0:!1};n.submit=function(t){if(n.ssErrors=[],!t.$invalid){n.ssErrors=[];n.emailAddressRegister=null;n.odscodeRegister=t.odsCode.$modelValue;typeof t.emailAddress.$modelValue!="undefined"&&(n.emailAddressRegister=t.emailAddress.$modelValue);n.Stage0Model=n.initStage0Model(t);var i={ODSCode:n.odscodeRegister,CQCEmailAddress:n.emailAddressRegister};f.ValidateCareproviderStep0(i).$promise.then(function(t){(t!=[]||t!=""||typeof t!="undefined")&&n.goToStep1(t)})}};n.goToStep1=function(t){if(n.cqcSuccess="",n.regMessage="",n.cqcValidated="",n.regSuccessMessage="",t.AllRequiredRegFieldsNotPopulatedOrInvalid==!1){if(n.result.q==4&&n.result.a=="yes"&&(n.cqcSuccess="Thanks, please use the One-Time Passcode that has been sent to you to complete the required information on this page:",n.regTitle="Care Provider Registration",n.hideStep0(),n.setUIState(e.CQC),n.populateStage0values(n.Stage0Model)),n.result.q==3&&n.result.a=="yes"&&(n.cqcSuccess="Please provide the details for your organisation below to proceed with your registration:",n.regTitle="Care Provider Registration",n.hideStep0(),n.setUIState(e.CQC),n.populateStage0values(n.Stage0Model)),n.result.q==5&&n.result.a=="no"&&(otcResult=n.generateOTC("post")),n.result.q==5&&n.result.a=="yes")if(t.IsDetailsMatched==!1){if(t.MaxCQCEmailAttemptsReached<=2){n.ssErrors.push("We have been unable to validate your email address, Please try again to provide a valid email address.");return}message="We have been unable to validate your email address, a One-Time Passcode will be posted to your organisation's postal address. Once you have received this code please return to this page within 16 days to complete your registration.";f.generatePostOTC({ODSCode:n.odscodeRegister,isCareRequest:!0}).$promise.then(function(){n.hideStep0();n.regErrorMessage=i.trustAsHtml(message);n.regTitle="Care Provider One-Time Passcode Request Received"},function(t){n.regErrorMessage=i.trustAsHtml(t);r.error(t,{ttl:1e4})})}else otcResult=n.generateOTC("email")}else t.IsAlternateRegistrationWorkFlow==!0?t.IsAlternateRegistrationWorkFlowOTPSent==!0?(n.cqcSuccess="Thanks, please use the One-Time Passcode that has been sent to you to complete the required information on this page:",n.regTitle="Care Provider Registration",n.hideStep0(),n.setUIState(e.CQCAlt),n.populateStage0values(n.Stage0Model)):(message='A One-Time Passcode will be posted to your organisation\'s postal address. Once you have received this code please return to this page within 16 days to complete your registration.<br><br><a href="https://portal.nhs.net" class="btn btn-primary">Go to homepage<\/a>',f.generateAltPostOTC({ODSCode:n.odscodeRegister,isCareRequest:!0}).$promise.then(function(){n.hideStep0();n.regErrorMessage=i.trustAsHtml(message);n.regTitle="Care Provider One-Time Passcode Request Received"},function(t){n.regErrorMessage=i.trustAsHtml(t);r.error(t,{ttl:1e4})})):(message="We are sorry but the data authentication information required to validate your registration is not yet populated in the NHSmail database. Please try again in 4-6 weeks.",n.regErrorMessage=i.trustAsHtml(message),n.hideStep0())};n.hideStep0=function(){n.showBlockMessage=!0;n.showValForm=!1;n.showValFooter=!1;n.questionnaire=!1;n.showRegTitle=!1};n.generateOTC=function(t){t=="email"?f.generateEmailOTC({ODSCode:n.odscodeRegister,isCareRequest:!0}).$promise.then(function(t){t.Success==!0&&(n.cqcSuccess="Thanks, please use the One-Time Passcode that has been sent to your email address to complete the required information on this page:",n.regTitle="Care Provider Registration",n.setUIState(e.CQC),n.populateStage0values(n.Stage0Model))},function(n){r.error(n,{ttl:1e4})}):f.generatePostOTC({ODSCode:n.odscodeRegister,isCareRequest:!0}).$promise.then(function(){n.hideStep0();message='A One-Time Passcode will be posted to your organisation\'s postal address. Once you have received this code please return to this page within 16 days to complete your registration.<br><br><a href="https://portal.nhs.net" class="btn btn-primary">Go to homepage<\/a>';n.regSuccessMessage=i.trustAsHtml(message);n.regTitle="Care Provider One-Time Passcode Request Received"},function(n){r.error(n,{ttl:1e4})})};const e={ODS:"OdsCheck",CQC:"CQCCheck",MEMBER:"MemberAdd",FINISH:"Finish",CONFIRM:"Confirm",CQCError:"CQCError",CQCAlt:"CQCAlt",PROVISIONING:"Provisioning"};n.uiState={mode:e.ODS,isOdsAvailable:!0,isCQCAvailable:!1,isMemberAvailable:!1,isConfirmAvailable:!1,isFinishAvailable:!1,isCQCError:!1,isCQCUnAvailable:!1,isProvisioningAvailable:!1};n.setUIState=function(t){n.uiState.mode=t;n.uiState.isOdsAvailable=t==e.ODS;n.uiState.isCQCAvailable=t==e.CQC;n.uiState.isMemberAvailable=t==e.MEMBER;n.uiState.isConfirmAvailable=t==e.CONFIRM;n.uiState.isFinishAvailable=t==e.FINISH;n.uiState.isCQCError=t==e.CQCError;n.uiState.isCQCUnAvailable=t==e.CQCAlt;n.uiState.isProvisioningAvailable=t==e.PROVISIONING};f.GetCreateUserFeatureOption().$promise.then(function(t){n.IsCreateExoUserFeatureSelected=t.option==="true"});n.showYesActions=function(t){switch(t){case 1:message='Please do not register for another NHSmail account, please refer to the <a href="https://support.nhs.net/article-categories/joining-nhsmail/">NHSmail support pages <\/a> for further guidance.';n.regErrorMessage=i.trustAsHtml(message);n.showQuestionnaireVal=!1;n.showVal1=!1;n.questopt1=!0;break;case 2:n.showVal3=!0;n.questopt2=!0;n.q2yes=n.highlightStyle;break;case 3:n.regMessage="Thanks, please provide your organisation details below to proceed:";n.questionnaire=!1;n.regTitle="Care Provider Registration";n.showValForm=!0;n.showValFooter=!0;n.emailDisplay=!1;n.emailRequired=!1;n.optionAnswered="CQC";n.questopt3=!0;n.result={q:3,a:"yes"};break;case 4:n.regMessage="Thanks, please use the One-Time Passcode that you have already received on the next page to proceed with the registration. Please enter the details for your organisation below to move to the next step:";n.questionnaire=!1;n.regTitle="Care Provider Registration";n.showValForm=!0;n.showValFooter=!0;n.emailDisplay=!1;n.emailRequired=!1;n.optionAnswered="OTC";n.questopt4=!0;n.result={q:4,a:"yes"};break;case 5:n.regMessage="Thanks, please complete the boxes below:";n.questionnaire=!1;n.regTitle="Care Provider Registration";n.emailDisplay=!0;n.emailRequired=!0;n.showValForm=!0;n.showValFooter=!0;n.optionAnswered="OTC";n.questopt5=!0;n.result={q:5,a:"yes"}}};n.showNoActions=function(t){switch(t){case 1:n.showVal2=!0;n.questopt1=!0;n.q1no=n.highlightStyle;break;case 2:var r=new Date,u=r.getMonth(),f=r.getDate(),e=r.getFullYear(),s=new Date(e,u,f);s>o?(message="All care provider organisations must have completed the Data Security and Protection Toolkit before joining NHSmail.",n.regErrorMessage=i.trustAsHtml(message),n.showQuestionnaireVal=!1,n.showVal1=!1,n.showVal2=!1,n.questopt2=!0):(n.showVal3=!0,n.questopt2=!0,n.q2no=n.highlightStyle);break;case 3:n.showVal4=!0;n.questopt3=!0;n.q3no=n.highlightStyle;break;case 4:n.showVal5=!0;n.questopt4=!0;n.q4no=n.highlightStyle;break;case 5:n.regMessage="Thanks, Please enter your organisation details below to generate the One-Time Passcode.";n.questionnaire=!1;n.regTitle="Care Provider Registration";n.showValForm=!0;n.showValFooter=!0;n.questopt5=!0;n.result={q:5,a:"no"};n.quest5answer=!0}};n.initStage0Model=function(t){return{odscode:t.odsCode.$modelValue,postcode:t.fullPostcode.$modelValue,organisationName:t.orgName.$modelValue,optionAnswered:n.optionAnswered}};n.populateStage0values=function(t){n.postcode=t.postcode;n.odscode=t.odscode;n.organisationName=t.organisationName;t.optionAnswered=="OTC"&&(n.OTCStyle={border:"2px solid #000"});t.optionAnswered=="CQC"&&(n.CQCStyle={border:"2px solid #000"})};n.validateCodes=function(){n.codeReqMsg=n.stage1_form.CQCContactId.$invalid&&n.stage1_form.OTCode.$invalid?!0:!1};n.checkCQC=function(t){if(console.log(t.$name),t.$name=="alt_stage1_form")n.newMember=c(),n.setUIState(e.MEMBER),s();else{if(n.cqcErrors=[],t.CQCLocationId.$invalid)return;if(t.CQCContactId.$valid||t.OTCode.$valid){var i={ODSCode:n.odscode,OTC:n.OTCode,CQCContactID:n.CQCContactId,CQCLocationID:n.CQCLocationId};f.ValidateCareproviderStep1(i).$promise.then(function(n){n&&v(n,t)},function(n){r.error(n,{ttl:1e4})})}else n.codeReqMsg=!0,n.cqcErrors.push("You have not fully completed this form, please populate all of the boxes within this screen before proceeding.")}};n.memberAddClick=function(t){(n.uiState.isConfirmAvailable=!1,t.$invalid)||(n.memberTop="margin-top:0px;",n.members.push(n.newMember),n.number++,l(n.newMember.number),n.newMember=c(),t.$setPristine(),t.$setUntouched(),n.ssErrors=[],n.uiState.isInEdit=!1,s())};n.editMember=function(t){n.adminCountMsg=!1;n.uiState.isConfirmAvailable=!1;for(var i=0;i<n.members.length;i++)if(t==n.members[i].number){n.newMember=n.members[i];n.members.splice(i,1);break}n.uiState.isInEdit=!0;n.uiState.isConfirmAvailable=!1;s()};n.removeMember=function(t){n.adminCountMsg=!1;for(var i=0;i<n.members.length;i++)if(t==n.members[i].number){n.members.splice(i,1);n.checkbox2[t]===!0&&n.adminCount--;break}n.uiState.isConfirmAvailable=!1;s()};n.$watchGroup(["newMember.Title","newMember.FirstName","newMember.LastName","newMember.Mobile","newMember.PersonalEmail","newMember.Role"],function(t){(t[0]!==""||t[1]!==""||t[2]!==""||t[3]!==""||t[4]!==""||t[5]!=="")&&(n.uiState.isConfirmAvailable=!1)});n.memberClick=function(t){n.adminCountMsg=!1;var i=!1;n.ssErrors=[];t.$setPristine();t.$setUntouched();n.newMember=c();n.members.length<n.minMembers&&(n.ssErrors.push("Please specify at least "+n.minMembers+" members"),i=!0);typeof n.Town!="undefined"&&n.Town||(n.ssErrors.push("Please specify a valid Town Name"),i=!0);typeof n.TownConfirm!="undefined"&&n.TownConfirm||(n.ssErrors.push("Please confirm the Town Name"),i=!0);i==!1&&(n.uiState.isConfirmAvailable=!0)};n.finalMessage=!1;n.finalErrorMessage=!1;n.confirmClick=function(){var t=!1;n.ssErrors=[];n.uiState.isConfirmAvailable=!1;typeof n.Town!="undefined"&&n.Town||(n.ssErrors.push("Please specify a valid Town Name"),t=!0);typeof n.TownConfirm!="undefined"&&n.TownConfirm||(n.ssErrors.push("Please confirm the Town Name"),t=!0);t==!1&&(n.regDetails=y(),n.setUIState(e.PROVISIONING),f.registerCareprovider(n.regDetails).$promise.then(function(t){t?n.finalMessage=!0:n.finalErrorMessage=!0;n.setUIState(e.FINISH)},function(t){r.error(t,{ttl:1e4});n.finalErrorMessage=!0;n.setUIState(e.FINISH)}))};n.getRoleJson=function(){angular.forEach(h,function(n){requestRole=[{Description:n.Role}];n.Role=requestRole})};n.townMsgShow=!0;n.$watchGroup(["Town","TownConfirm"],function(t,i){t[0]!==i[0]&&(n.uiState.isConfirmAvailable=!1);t[1]!==i[1]&&(n.uiState.isConfirmAvailable=!1)});n.adminCountMsg=!1;n.checkAdminCount=function(t,i){n.uiState.isConfirmAvailable=!1;n.adminCountMsg=!1;i=="member"&&(n.checkbox2[t]===!0?(n.adminCount=n.adminCount+1,n.checkbox1[t]=!0):n.adminCount=n.adminCount-1);i=="mailbox"&&n.checkbox1[t]===!1&&n.checkbox2[t]===!0&&(n.adminCount=n.adminCount-1,n.checkbox2[t]=!1);n.adminCount>3&&(n.checkbox2[t]=!1,n.adminCountMsg=!0,n.adminCount=n.adminCount-1);l(t)};n.showStep1=function(t){t=="default"?(n.setUIState(e.CQC),n.uiState.isCQCError=!1):(n.uiState.isCQCError=!1,n.uiState.isOdsAvailable=!0,n.generateOTC("post"))};n.dispLocId=!1;n.dispOrgDetails=!1;n.otcSuccess=!0;n.locationIdSuccess=!0;n.$watchGroup(["altOTC","altLocationId"],function(t){t[0]!==""&&(n.otcSuccess=!0);t[1]!==""&&(n.locationIdSuccess=!0)});n.verifyAltFlow=function(t){n.otcSuccess=!0;n.locationIdSuccess=!0;t=="OTC"&&(n.dispLocId=!1,f.VerifyOTC({OTC:n.altOTC,ODSCode:n.odscode}).$promise.then(function(t){t.Success==!0?(n.dispLocId=!0,n.cqcValidated="",n.regCQCHtmlMessage=""):(n.otcSuccess=!1,n.altOTC="");t.HasReachedMaximumAttempts==!0&&(message='You have reached the maximum number of invalid attempts. Your organisation will not be visible in registration portal anymore. For support please email <a href="mailto:careadmin@nhs.net">careadmin@nhs.net<\/a>.',n.regCQCHtmlMessage=i.trustAsHtml(message))},function(){}));t=="LocationId"&&(n.dispOrgDetails=!1,f.VerifyLocationID({CQCLocationID:n.altLocationId,ODSCode:n.odscode}).$promise.then(function(t){n.cqc=t;n.cqc.CQCOrganisationName!=null?(n.dispOrgDetails=!0,n.cqcValidated="",n.regCQCHtmlMessage=""):(n.locationIdSuccess=!1,n.altLocationId="");t.HasReachedMaximumAttempts==!0&&(message='You have reached the maximum number of invalid attempts. Your organisation will not be visible in registration portal anymore. For support please email <a href="mailto:careadmin@nhs.net">careadmin@nhs.net<\/a>.',n.regCQCHtmlMessage=i.trustAsHtml(message))},function(){}))};n.regCQCHtmlMessage="";n.allowSubmit=!0;n.validateAltStep1=function(t,r){n.cqcValidated="";n.message="";t?n.cqc.CQCPostCode==n.postcode?(n.allowSubmit=!1,n.OTCode=n.altOTC,n.CQCLocationId=n.altLocationId,n.cqcValidated="Thanks for confirming your CQC registration details. Please click the Next button to proceed with the registration."):(n.message="The postcode for the CQC record does not match the postcode that we hold on file, please reconfirm that you have entered the correct CQC Location ID.",n.altLocationId="",n.dispOrgDetails=!1,r.$setUntouched()):(n.allowSubmit=!0,n.dispLocId=!1,n.dispOrgDetails=!1,n.otcSuccess=!0,n.locationIdSuccess=!0,n.altLocationId="",n.altOTC="",n.cqcValidated="",r.$setUntouched(),n.message="Please re-enter the One-Time Passcode and CQC Location Id");n.message!=""&&(n.regCQCHtmlMessage=i.trustAsHtml(n.message))}}]);angular.module("UnauthorisedApp").controller("NewpharmacyRegistrationConfirmController",["$scope","$http","$routeParams","PharmacyAuthInjector",function(n,t,i){n.onLoad=function(){function f(){t({method:"post",url:baseUrlValue+"pharmacy/"+n.pharmacyId}).success(function(){u(r.FINISHED)}).error(function(n,t){t=="410"?u(r.OBSOLETE):u(r.ERROR)})}function u(t){n.uiState.mode=t;n.uiState.isProvisioningAvailable=t==r.PROVISIONING;n.uiState.isFinishAvailable=t==r.FINISHED;n.uiState.isObsoleteAvailable=t==r.OBSOLETE;n.uiState.isErrorAvailable=t==r.ERROR}n.pharmacyId=i.ID;n.pharmacyDetails={};n.errors=[];const r={PROVISIONING:"Provisioning",FINISHED:"Finished",OBSOLETE:"Obsolete",ERROR:"Error"};n.uiState={mode:r.CONFIRM,isProvisioningAvailable:!1,isFinishAvailable:!1,isObsoleteAvailable:!1,isErrorAvailable:!1,messages:[]};n.pharmacyId!==""&&(u(r.PROVISIONING),f())}}]);angular.module("UnauthorisedApp").controller("NewpharmacyRegistrationController",["$scope","$location","$http","$sce","PharmacyAuthInjector","growl","Config","RegistrationApi",function(n,t,i,r,u,f,e,o){function v(){o.generatePostOTC({ODSCode:n.odscodeRegister}).$promise.then(function(){n.hideStep0();message='A One-Time Passcode will be posted to your organisation\'s postal address. Once you have received this code please return to this page within 16 days to complete your registration.<br><br><a href="https://portal.nhs.net" class="btn btn-primary">Go to homepage<\/a>';n.regSuccessMessage=r.trustAsHtml(message);n.regTitle="Pharmacy One-Time Passcode Request Received"},function(t){message="Error in generating OTC";n.regErrorMessage=r.trustAsHtml(message);f.error(t,{ttl:1e4})})}function y(){n.showVal1=!0;n.showVal2=n.showVal3=n.showVal4=n.showVal5=!1;n.showValForm=n.showValFooter=!1;n.questionnaire=n.showQuestionnaireVal=!0;n.questopt1=n.questopt2=n.questopt3=n.questopt4=n.questopt5=!1;n.optionAnswered="";n.regMessage="";n.regErrorMessage="";n.OTCStyle="";n.CQCStyle="";n.codeReqMsg=!1;n.result={q:"",a:""};n.checkbox1=[];n.checkbox2=[];n.adminCount=1;n.regTitle="Pharmacy Pre-Requisite Questionnaire";n.showRegTitle=!0;n.regSuccessMessage="";n.memberTop="margin-top:-30px;";n.Town="";n.TownConfirm=""}function l(){return{Id:n.Id,OrganisationId:n.OrganisationId,RegistrationNo:n.registrationNumber,ODSCode:n.odscode,RegisteredEmail:n.registeredEmail,UID:0,Town:n.Town,OTC:{OTC1:n.OTCode}}}function h(){n.newMemberShown=n.members.length<n.maxMembers||n.uiState.isInEdit}function c(){return checkValue=n.members.length>0?!1:!0,n.checkbox1[n.number]=!0,n.checkbox2[n.number]=checkValue,{number:n.number,PersonalEmail:"",FirstName:"",LastName:"",Title:"",Mobile:"",MemberType:n.members.length==0?"Owner":"Member",AddToSharedMailbox:!0}}function a(t){angular.forEach(n.members,function(i){t===i.number&&(i.AddToSharedMailbox=n.checkbox1[t]===!0?!0:!1,i.MemberType=n.checkbox2[t]===!0?"Owner":"Member")})}n.ssErrors=[];n.emailPattern="^[a-zA-Z0-9_'.-]+[@]([a-zA-Z0-9-]+.)+[a-zA-Z]+";n.OTcodePattern="^[0-9]*";n.namePattern=/^[a-zA-Z]*$/;n.members=[];n.minMembers=minMembers;n.maxMembers=maxMembers;n.highlightStyle={"background-color":"#ccc","border-color":"black","font-weight":"bold",color:"black"};n.number=0;n.checkedPharmacy={};n.TitleList=e.Title;n.disableButton=!1;y();$(function(){$('[data-toggle="tooltip"]').tooltip()});n.ctrlFn=function(t){n.disableButton=t==!0?!0:!1};n.submit=function(t){(n.odscodeRegister=null,n.ssErrors=[],t.$invalid)||(n.ssErrors=[],n.odscodeRegister=t.odsCode.$modelValue,n.Stage0Model=n.initStage0Model(t),n.Stage0Model.InvalidFlag===!0?(message="We are sorry but the data authentication information required to validate your registration is not yet populated in the NHSmail database. Please try again in 4-6 weeks.",n.regErrorMessage=r.trustAsHtml(message),n.hideStep0(),n.regMessage=""):n.goToStep1())};n.goToStep1=function(){n.cqcSuccess="";n.regMessage="";n.regSuccessMessage="";n.result.q==4&&n.result.a=="yes"&&(n.regTitle="Pharmacy Registration",n.hideStep0(),n.setUIState(s.CQC),n.populateStage0values(n.Stage0Model));n.result.q==5&&(n.result.a=="yes"?(n.regTitle="Pharmacy Registration",n.hideStep0(),n.setUIState(s.CQC),n.populateStage0values(n.Stage0Model)):otcResult=v())};n.hideStep0=function(){n.showBlockMessage=!0;n.showValForm=!1;n.showValFooter=!1;n.questionnaire=!1;n.showRegTitle=!1};const s={ODS:"OdsCheck",CQC:"CQCCheck",MEMBER:"MemberAdd",FINISH:"Finish",CONFIRM:"Confirm"};o.GetCreateUserFeatureOption().$promise.then(function(t){n.IsCreateExoUserFeatureSelected=t.option==="true"});n.uiState={mode:s.ODS,isOdsAvailable:!0,isCQCAvailable:!1,isMemberAvailable:!1,isConfirmAvailable:!1,isFinishAvailable:!1};n.setUIState=function(t){n.uiState.mode=t;n.uiState.isOdsAvailable=t==s.ODS;n.uiState.isCQCAvailable=t==s.CQC;n.uiState.isMemberAvailable=t==s.MEMBER;n.uiState.isConfirmAvailable=t==s.CONFIRM;n.uiState.isFinishAvailable=t==s.FINISH};n.showYesActions=function(t){switch(t){case 1:message='Please do not register for another NHSmail account, please refer to the <a href="https://support.nhs.net/article-categories/joining-nhsmail/">NHSmail support pages <\/a> for further guidance.';n.regErrorMessage=r.trustAsHtml(message);n.showQuestionnaireVal=!1;n.showVal1=!1;n.questopt1=!0;break;case 2:n.showVal3=!0;n.questopt2=!0;n.q2yes=n.highlightStyle;break;case 3:n.showVal4=!0;n.questopt3=!0;n.q3yes=n.highlightStyle;break;case 4:n.regMessage="Thanks, please use the One-Time Passcode that you have already received on the next page to proceed with the registration. Please enter the details for your organisation below to move to the next step:";n.questionnaire=!1;n.regTitle="Pharmacy Registration";n.showValForm=!0;n.showValFooter=!0;n.optionAnswered="OTC";n.questopt4=!0;n.result={q:4,a:"yes"};break;case 5:n.regMessage="Thanks, please enter your organisation's postal code and then select your organisation from the drop-down list below. You will be asked to enter the email address that is registered with the BSA for your organisation on the next page to continue with the registration.";n.questionnaire=!1;n.regTitle="Pharmacy Registration";n.showValForm=!0;n.showValFooter=!0;n.optionAnswered="BSA";n.questopt5=!0;n.result={q:5,a:"yes"}}};n.showNoActions=function(t){switch(t){case 1:n.showVal2=!0;n.questopt1=!0;n.q1no=n.highlightStyle;break;case 2:message="All pharmacy organisations must have completed the Data Security and Protection Toolkit before joining NHSmail. Alternatively an IG Toolkit v14.1 submission is valid until 31/03/2019. <a href='https://www.dsptoolkit.nhs.uk'>www.dsptoolkit.nhs.uk<\/a>";n.regErrorMessage=r.trustAsHtml(message);n.showQuestionnaireVal=!1;n.showVal1=!1;n.showVal2=!1;n.questopt2=!0;break;case 3:n.questionnaire=!1;message='A valid GPhC number is required to complete your registration, please visit <a href="https://www.pharmacyregulation.org/">https://www.pharmacyregulation.org/<\/a> for further details.';n.regErrorMessage=r.trustAsHtml(message);n.showQuestionnaireVal=!1;break;case 4:n.showVal5=!0;n.questopt4=!0;n.q4no=n.highlightStyle;break;case 5:n.regMessage="Thanks, Please enter your organisation details below to generate the One-Time Passcode.";n.questionnaire=!1;n.regTitle="Pharmacy Registration";n.showValForm=!0;n.showValFooter=!0;n.questopt5=!0;n.result={q:5,a:"no"};n.quest5answer=!0}};n.initStage0Model=function(t){return{odscode:t.odsCode.$modelValue,postcode:t.fullPostcode.$modelValue,organisationName:t.orgName.$modelValue,optionAnswered:n.optionAnswered,OrganisationId:t.OrganisationId.$modelValue,Id:t.Id.$modelValue,InvalidFlag:t.InvalidFlag.$modelValue}};n.populateStage0values=function(t){n.postcode=t.postcode;n.odscode=t.odscode;n.organisationName=t.organisationName;n.OrganisationId=t.OrganisationId;n.Id=t.Id;t.optionAnswered=="OTC"&&(n.OTCStyle={border:"2px solid #000"});t.optionAnswered=="BSA"&&(n.BSAStyle={border:"2px solid #000"})};n.validateCodes=function(){n.codeReqMsg=n.stage1_form.registeredEmail.$invalid&&n.stage1_form.OTCode.$invalid?!0:!1};n.checkCQC=function(t){if(n.cqcErrors=[],!t.registrationNumber.$invalid)if(t.registeredEmail.$valid||t.OTCode.$valid){var i=l();o.ValidatePharmacyStep1(i).$promise.then(function(i){i.Success==!1?(n.registrationNumber="",n.registeredEmail="",n.OTCode=undefined,t.$setPristine(),t.$setUntouched(),i.HasReachedMaximumAttempts==!0?n.cqcErrors.push(r.trustAsHtml("You have reached the maximum number of attempts to enter your organisation details. Please wait for 60 min(s) before trying again")):n.cqcErrors.push(r.trustAsHtml('There appears to be a problem with the field that you have populated. Please double check these items carefully. If you are still experiencing issues then please contact: <a href="mailto:pharmacyadmin@nhs.net"> pharmacyadmin@nhs.net<\/a>'))):(angular.copy(i,n.checkedPharmacy),n.newMember=c(),n.setUIState(s.MEMBER),h())}),function(t){f.error(t,{ttl:1e4});t=="404"&&n.cqcErrors.push("Pharmacy details incorrect, please check the details you specified. For support please email pharmacyadmin@nhs.net")}}else n.codeReqMsg=!0,n.cqcErrors.push("You have not fully completed this form, please populate all of the boxes within this screen before proceeding.")};n.newMember=c();h();n.memberAddClick=function(t){(n.adminCountMsg=!1,n.uiState.isConfirmAvailable=!1,t.$invalid)||(n.memberTop="margin-top:0px;",n.members.push(n.newMember),n.number++,a(n.newMember.number),n.newMember=c(),t.$setPristine(),t.$setUntouched(),n.ssErrors=[],n.uiState.isInEdit=!1,h())};n.editMember=function(t){n.adminCountMsg=!1;for(var i=0;i<n.members.length;i++)if(t==n.members[i].number){n.newMember=n.members[i];n.members.splice(i,1);break}n.uiState.isInEdit=!0;n.uiState.isConfirmAvailable=!1;h()};n.removeMember=function(t){n.adminCountMsg=!1;for(var i=0;i<n.members.length;i++)if(t==n.members[i].number){n.members.splice(i,1);n.checkbox2[t]===!0&&n.adminCount--;break}n.uiState.isConfirmAvailable=!1;h()};n.$watchGroup(["newMember.Title","newMember.FirstName","newMember.LastName","newMember.Mobile","newMember.PersonalEmail"],function(t){(t[0]!==""||t[1]!==""||t[2]!==""||t[3]!==""||t[4]!=="")&&(n.uiState.isConfirmAvailable=!1)});n.memberClick=function(t){n.adminCountMsg=!1;var i=!1;n.ssErrors=[];t.$setPristine();t.$setUntouched();n.newMember=c();n.members.length<n.minMembers&&(n.ssErrors.push("Please specify at least "+n.minMembers+" members"),i=!0);typeof n.Town!="undefined"&&n.Town||(n.ssErrors.push("Please specify a valid Town Name"),i=!0);typeof n.TownConfirm!="undefined"&&n.TownConfirm||(n.ssErrors.push("Please confirm the Town Name"),i=!0);i==!1&&(n.uiState.isConfirmAvailable=!0)};n.finalMessage=!1;n.finalErrorMessage=!1;n.confirmClick=function(){var r=!1;n.ssErrors=[];n.uiState.isConfirmAvailable=!1;typeof n.Town!="undefined"&&n.Town||(n.ssErrors.push("Please specify a valid Town Name"),r=!0);typeof n.TownConfirm!="undefined"&&n.TownConfirm||(n.ssErrors.push("Please confirm the Town Name"),r=!0);r==!1&&(n.isOTCRequest=typeof n.OTCode!="undefined"?!0:!1,u.SetCreds(n.checkedPharmacy.Id,n.checkedPharmacy.ODSCode),i({method:"post",url:baseUrlValue+"pharmacy/"+n.checkedPharmacy.Id+"/Town",data:l()}).success(function(){return i({method:"post",url:baseUrlValue+"pharmacy/"+n.checkedPharmacy.Id+"/Members/"+n.isOTCRequest,data:n.members}).success(function(){n.isOTCRequest?t.url("/confirm/"+encodeURIComponent(n.checkedPharmacy.Id)):(n.finalMessage=!0,n.setUIState(s.FINISH))}).error(function(){n.finalErrorMessage=!0;n.setUIState(s.FINISH)})}))};n.townMsgShow=!0;n.$watchGroup(["Town","TownConfirm"],function(t,i){t[0]!==i[0]&&(n.uiState.isConfirmAvailable=!1);t[1]!==i[1]&&(n.uiState.isConfirmAvailable=!1)});n.adminCountMsg=!1;n.checkAdminCount=function(t,i){n.uiState.isConfirmAvailable=!1;n.adminCountMsg=!1;i=="member"&&(n.checkbox2[t]===!0?(n.adminCount=n.adminCount+1,n.checkbox1[t]=!0):n.adminCount=n.adminCount-1);i=="mailbox"&&n.checkbox1[t]===!1&&n.checkbox2[t]===!0&&(n.adminCount=n.adminCount-1,n.checkbox2[t]=!1);n.adminCount>3&&(n.checkbox2[t]=!1,n.adminCountMsg=!0,n.adminCount=n.adminCount-1);a(t)}}]);angular.module("UnauthorisedApp").controller("LocumRegistrationController",["$scope","$location","$sce","growl","Config","RegistrationApi","$routeParams",function(n,t,i,r,u,f,e){function o(){n.showVal1=!0;n.showVal2=!1;n.showVal3=!1;n.showVal4=!1;n.showValForm=!1;n.showValFooter=!1;n.showValFormMessage=!1;n.questionnaire=!0}n.GUID=e.GUID;n.IsCreateExoUserFeatureSelected=!1;n.locumDetails={};n.GMCPattern=/^[A-Za-z0-9]*$/;n.OTcodePattern="^[0-9]*";n.regTitle="GP Locum Registration";n.odscode=n.GUID;n.regHtmlMessage=n.regErrorMessage="";n.RemainingTimeToUnlock=u.MaxTimeToUnlockSite;n.isFinishAvailable=n.AlreadyRegisteredMessage=n.finalErrorMessage=n.finalMessage=n.MaxAttemptMessage=!1;f.GetLocumDetails({ID:n.GUID}).$promise.then(function(t){(typeof t!="undefined"||t!=[]||t!=""||typeof t!="undefined")&&(angular.copy(t.details,n.locumDetails),n.locumDetails.Status==3?n.isFinishAvailable=n.AlreadyRegisteredMessage=!0:n.locumDetails.isSiteLocked&&n.locumDetails.siteUnlockDuration!=-1?(n.RemainingTimeToUnlock=n.locumDetails.siteUnlockDuration,n.isFinishAvailable=n.MaxAttemptMessage=!0):o())});f.GetCreateUserFeatureOption().$promise.then(function(t){n.IsCreateExoUserFeatureSelected=t.option==="true"});$(function(){$('[data-toggle="tooltip"]').tooltip()});n.showYesActions=function(t){switch(t){case 1:message='<p>Please do not register for another NHSmail account if you already have one.<\/p> <br /> <p>Please refer to the <a href="https://support.nhs.net/article-categories/joining-nhsmail/">NHSmail support pages <\/a> for further guidance.<\/p>';n.regErrorMessage=i.trustAsHtml(message);n.questionnaire=!1;break;case 2:n.showVal3=!0;n.questopt2=!0;n.q2yes="highlight-style";break;case 3:n.regTitle="GP Locum Registration";n.questionnaire=!1;n.showValForm=!0;n.showValFooter=!0;n.showValFormMessage=!0}};n.showNoActions=function(t){switch(t){case 1:n.showVal2=!0;n.questopt1=!0;n.q1no="highlight-style";break;case 2:message="<p>Please complete your Data Security Awareness training before registering for NHSmail.<\/p><p>Instructions on how to complete the e-Learning for Healthcare - Data Security Awareness training can be found in the <a href='https://s3-eu-west-1.amazonaws.com/comms-mat/Training-Materials/Guidance/HowtocompletetheNHSmailGPLocumRegistrationPortal.pdf' target='_blank'>GP Locum Portal Registration Guide<\/a>.<\/p>";n.regErrorMessage=i.trustAsHtml(message);n.questionnaire=!1;n.showVal1=!1;n.showVal2=!1;break;case 3:message="Please contact <a href='mailto:locumadmin@nhs.net'>locumadmin@nhs.net<\/a> if your name was displayed incorrectly.";n.regErrorMessage=i.trustAsHtml(message);n.questionnaire=!1}};n.submit=function(t){(n.ssErrors=[],t.$invalid)||(n.LocumDetails={ID:n.GUID,GMCNumber:n.GMC,OTC:{OTC1:n.OTCode},Mobile:n.MobilePhone},f.CreateLocumAccount(n.LocumDetails).$promise.then(function(t){(t!=[]||t!=""||typeof t!="undefined")&&(n.showValForm=!1,n.questionnaire=!1,t.IsLocumDetailsMatched===!1||t===!1?t.attempts==10?(n.RemainingTimeToUnlock=u.MaxTimeToUnlockSite,n.isFinishAvailable=n.MaxAttemptMessage=!0):(message='There appears to be a problem with the fields that you have populated. Please try again. If you are still experiencing issues then please refer to the <a href="https://support.nhs.net/article-categories/joining-nhsmail/">NHSmail support guide<\/a>.',n.regHtmlMessage=i.trustAsHtml(message),n.showValForm=!0,n.showValFormMessage=!1,n.GMC=n.OTCode=n.MobilePhone=""):n.isFinishAvailable=n.finalMessage=!0)}))}}]);userAdminAppControllersModule.controller("ApprovalRequestsController",["$scope","$location","$route","$modal","ApprovalAPI","RequestSearchColumns","RequestSearchParams","RequestSearchVisibleColumns","$sessionStorage","$timeout","Config","$routeParams","$filter","PermissionChecker","CurrentUser",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y){var b;n.APIRequest=[];n.itemsOnPage=c.UserList_ItemsOnPage;n.isRequestListEmpty=!1;n.disableApproved=!0;n.disableRejected=!0;n.selectedRequest=[];n.AllowAction=!0;n.Status=["Approved","Rejected","Pending"];n.PermissionRequest={};n.allRowsSelected=!1;n.RequestDateCreated={DateCreated:""};n.invalidrequestDateCreatedErrorMessage="";n.isrequestDateCreatedInValid=!1;n.guestExtensionReqDescription="Guest account access extension request";n.reqID="";n.TeamReqID="";n.approverComments="";n.CategoryType="";n.EmailAddress="";n.Date="";n.invalidComment=!1;n.CommentError=!1;n.currentUser=y.ID;n.tempRequest="";var p="",k="",w=/^([0-9]{2})\-([0-9]{2})\-([0-9]{4})$/;n.userHavUpdatePermissions=function(){return v.contains("ATP_ADMIN_ACCESS_APPROVE")||v.contains("GUEST_ATTESTATION_UPDATE")||v.contains("GUEST_EXT_ORG_REQUEST_UPDATE")||v.contains("GUEST_EXT_GROUP_REQUEST_UPDATE")||v.contains("APPROVE_SELF_SERVICE_LEAVER_JOINER_REQUEST")||v.contains("TEAMS_GROUP_CREATE")};n.userHavUpdatePermissions()?(n.AllowAction=!0,n.currentUser=y.ID):n.AllowAction=!1;n.selectAllRows=function(){angular.forEach(n.requestTable,function(t){n.shouldBeDisabled(t)||(n.updateSelected(t,n.allRowsSelected),n.disableApproved=n.allRowsSelected==!1?n.disableRejected=!0:n.disableRejected=!1,t.isChecked=n.allRowsSelected,t.selected=n.allRowsSelected,n.userHavUpdatePermissions()&&n.currentUser===t.RequestingUserId&&(t.isChecked=!1,t.selected=!1))})};n.selectUser=function(t){n.updateSelected(t,t.selected);n.disableApproved=n.selectedRequest.length>0?n.disableRejected=!1:n.disableRejected=!0;t.isChecked=t.selected};n.updateSelected=function(t,i){var r=t.Id,u;i||(u=n.selectedRequest.indexOf(r),n.selectedRequest.splice(u,1));i&&n.selectedRequest.push(r);n.selectedRequest=_.uniq(n.selectedRequest)};n.UpdateRequest=function(t){requestID=[];var r="",f="";n.tempRequest==""?angular.forEach(n.requestTable,function(n){n.selected==!0&&(requestID.push(n.Id),r=n.Category,f=n.RequestDescription)}):(requestID.push(n.tempRequest.Id),r=n.tempRequest.Category,f=n.tempRequest.RequestDescription);APIrequest={RequestIds:requestID,ApprovalStatus:t,Category:r};r==="ATP"?u.updateRequest(APIrequest).$promise.then(function(){i.reload()}):r==="B2B"&&(f.includes("allowlist request")?u.updateRequestB2BExtOrg(APIrequest).$promise.then(function(){i.reload()}):f.toLowerCase().includes("federated")?u.updateRequestB2BFedGrp(APIrequest).$promise.then(function(){i.reload()}):u.updateRequestB2B(APIrequest).$promise.then(function(){i.reload()}))};n.SelfServiceClick=function(t){n.approverComments==""?n.invalidComment=!0:n.approverComments==null||n.approverComments==undefined?n.CommentError=!0:($("#LeaverJoinerDetails").modal("hide"),APIrequest={RequestIds:n.reqID,ApprovalStatus:t,Category:n.CategoryType,Comment:n.approverComments,Email:n.EmailAddress},u.updateSelfServiceRequest(APIrequest).$promise.then(function(){i.reload()}))};n.TeamCreationClick=function(t){n.TeamsApproverComments==""?n.invalidComment=!0:n.TeamsApproverComments==null||n.TeamsApproverComments==undefined?n.CommentError=!0:($("#TeamCreationDetails").modal("hide"),APIrequest={RequestIds:n.TeamReqID,ApprovalStatus:t,Category:n.CategoryType,Comment:n.TeamsApproverComments},u.updateTeamsCreationRequest(APIrequest).$promise.then(function(){i.reload()}))};n.hideCommentErrorText=function(){n.invalidComment=!1;n.CommentError=!1};n.viewRequestDetails=function(t,i){n.modalRequest="";i.RequestDescription.match("X26-SOC-ATP-Reporters")?(i.TimeDurationRequested="N/A",i.BusinessJustification="N/A"):i.RequestDescription.match(n.guestExtensionReqDescription)?(i.TimeDurationRequested="",i.BusinessJustification=""):i.RequestDescription.match("Allowlist")?i.TimeDurationRequested="":i.RequestDescription.match("X26-SRV-ATP-Reporters")?(i.TimeDurationRequested="N/A",i.BusinessJustification="N/A"):i.RequestDescription.match("X26-EXT-ATP-Reporters")&&(i.TimeDurationRequested="N/A",i.BusinessJustification="N/A");i.Category=="B2B"&&i.TimeDurationRequested==0&&(i.TimeDurationRequested="N/A");n.modalRequest=i;n.invalidComment=!1;n.CommentError=!1;(i.Category=="Leaver"||i.Category=="Transfer")&&(n.Date=a("date")(i.DateCreated,"dd/MM/yyyy"),n.reqID=i.Id,n.CategoryType=i.Category,n.EmailAddress=i.RequesterEmail,n.approverComments="",i.ApprovalStatus=="Approved"||i.ApprovalStatus=="Rejected"||i.ApprovalStatus=="NA"?n.DisableApproveRejectButton=!0:i.ApprovalStatus=="Pending"&&(n.DisableApproveRejectButton=!1),$("#LeaverJoinerDetails").modal("show"));i.Category=="TeamCreate"&&(n.Date=a("date")(i.DateCreated,"dd/MM/yyyy"),n.TeamReqID=i.Id,n.CategoryType=i.Category,n.TeamsApproverComments="",i.ApprovalStatus=="Approved"||i.ApprovalStatus=="Rejected"||i.ApprovalStatus=="NA"?n.DisableTeamApproveRejectButton=!0:i.ApprovalStatus=="Pending"&&(n.DisableTeamApproveRejectButton=!1),$("#TeamCreationDetails").modal("show"));(i.Category=="B2B"||i.Category=="ATP")&&(n.tempRequest=i,i.ApprovalStatus=="Approved"||i.ApprovalStatus=="Rejected"||n.currentUser==i.RequestingUserId?n.DisableApproveButton=n.DisableRejectButton=!0:i.ApprovalStatus=="Pending"&&(n.DisableApproveButton=n.DisableRejectButton=!1),$("#RequestDetails").modal("show"))};n.shouldBeDisabled=function(t){if(n.AllowAction==!0)return t.ApprovalStatus!=="Pending"||t.Category=="TeamCreate"||t.Category=="Leaver"||t.Category=="Transfer"||n.currentUser==t.RequestingUserId||n.cannotUpdateRow(t)?!0:!1};n.cannotUpdateRow=function(t){return t.RequestDescription===n.guestExtensionReqDescription&&!v.contains("GUEST_ATTESTATION_UPDATE")?!0:!1};n.renderValuesToDisplayRequest=function(n,t){return stringToRender="",stringToRender=n,t=="DateCreated"&&(stringToRender=a("date")(new Date(n),"dd-MM-yyyy")),stringToRender};n.$watch("RequestAdvancedSearchParams.DateCreated",function(t,i){t!==i&&t!=undefined&&(n.RequestDateCreated.DateCreated=a("date")(t,"dd-MM-yyyy"))});n.$watch("RequestDateCreated.DateCreated",function(t,i){t!==i&&(w.test(t)&&t.length==10?(n.RequestAdvancedSearchParams.DateCreated=new Date(t.replace(/(\d{2})-(\d{2})-(\d{4})/,"$2/$1/$3")),n.isrequestDateCreatedInValid=!1,n.invalidrequestDateCreatedErrorMessage=""):w.test(t)==!1&&(t==""?(n.isrequestDateCreatedInValid=!1,n.invalidrequestDateCreatedErrorMessage=""):(n.isrequestDateCreatedInValid=!0,n.invalidrequestDateCreatedErrorMessage="Please  enter start date in 'DD-MM-YYYY' format"),n.RequestAdvancedSearchParams.DateCreated=undefined))});n.refreshClick=function(){i.reload()};n.requestSearchVisibleColumns=s.RequestSearchColumns;n.requestSearchVisibleColumns||(n.requestSearchVisibleColumns=new o);n.requestSearchColumns=new f;n.requestSearchParams=s.RequestSearchParams;n.requestSearchParams||(n.requestSearchParams=new e);var d=function(n,t){angular.isUndefined(s.RequestSearchParams)&&(s.RequestSearchParams={});t!=k&&(s.RequestSearchParams={});s.RequestSearchParams=n;s.RequestSearchParams.simpleOrAdvanced=t},g=function(){if(p=="advanced"&&n.RequestAdvancedSearchParams!=[]){var t={};angular.copy(n.RequestAdvancedSearchParams,t);d(t,"advanced");t={}}s.RequestSearchResults=n.requestSearchItems},nt=function(){angular.isUndefined(s.RequestSearchResults)&&(s.RequestSearchResults={});Object.keys(s.RequestSearchResults).length!=0&&(n.showEmptyTable=!0,n.requestSearchItems=s.RequestSearchResults)};nt();n.showOrHideDefaultViewAdvancedSearch=function(){n.showEmptyTable=!0;n.advancedSearch()};n.searchUserOnEnterAdvancedSearch=function(t){t.which===13&&n.showOrHideDefaultViewAdvancedSearch()};n.RequestAdvancedSearchParams||(n.RequestAdvancedSearchParams=e());n.advancedSearch=function(){p="advanced";n.callSearchAPI(n.RequestAdvancedSearchParams);n.allRowsSelected=!1};n.dropDownBasedSearch=function(){check=!1;n.showOrHideDefaultViewAdvancedSearch()};b=function(n){return _.chain(n).keys().each(function(t){(n[t]===""||n[t]===undefined)&&delete n[t]}),n};n.callSearchAPI=function(t){angular.copy(t,n.PermissionRequest);(n.PermissionRequest.Category===""||n.PermissionRequest.Category===undefined)&&(n.PermissionRequest.Category="ALL");n.PermissionRequest.DateCreated=n.PermissionRequest.DateCreated===""||n.PermissionRequest.DateCreated===undefined?undefined:n.PermissionRequest.DateCreated.toLocaleDateString();n.PermissionRequest.RequesterName=n.PermissionRequest.RequesterName===""||n.PermissionRequest.RequesterName===undefined?undefined:n.PermissionRequest.RequesterName;n.PermissionRequest.RequestingUserId=n.PermissionRequest.RequestingUserId===""||n.PermissionRequest.RequestingUserId===undefined?undefined:n.PermissionRequest.RequestingUserId;b(n.PermissionRequest);l.requestID!="undefined"&&(n.PermissionRequest.Id=l.requestID);u.getRequests(n.PermissionRequest).$promise.then(function(t){(t!=[]||t!=""||typeof t!="undefined")&&(n.showEmptyTable=!0,n.requestSearchItems=t.ResponseData,n.requestSearchItems.length===0?(n.requestTable=[],n.isRequestListEmpty=!0):(n.requestTable=[].concat(n.requestSearchItems),n.isRequestListEmpty=!1),g(),angular.forEach(n.requestTable,function(n){(n.RequesterName!=""||n.RequesterName!=undefined)&&n.RequesterOrganisationName!=""&&n.RequesterOrganisationName!=undefined&&(n.RequesterName=n.RequesterName+" ("+n.RequesterOrganisationName+")")}))})};n.callSearchAPI(n.RequestAdvancedSearchParams)}]);userAdminAppControllersModule.factory("ApprovalAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var r="Request failed";angular.isDefined(n.data.Result.Errors)&&n.data.Result.Errors.length>0?n.data.Result.Errors[0].ErrorCode===51?i.path("/AccessDenied"):n.data.Result.Errors[0].ErrorCode===102?r=n.data.Result.Errors[0].Message:(r+=": "+n.data.Result.Errors[0].Message,r+=". "+n.data.Result.Errors[0].Detail):angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");t.error(r,{ttl:1e4})}return n(baseUrlValue,{},{getRequests:{method:"GET",url:baseUrlValue+"ATP/ElevatedPermissions",interceptor:{responseError:u},timeout:r.XhrTimeout},updateRequest:{method:"POST",params:{APIrequest:"@APIrequest"},url:baseUrlValue+"ATP/ElevatedPermissions/Process",interceptor:{responseError:u},timeout:r.XhrTimeout},updateRequestB2B:{method:"POST",params:{B2Brequest:"@B2Brequest"},url:baseUrlValue+"ATP/GuestUserAttestation/ProcessB2B",interceptor:{responseError:u},timeout:r.XhrTimeout},updateRequestB2BExtOrg:{method:"PUT",params:{B2BExtOrgrequest:"@B2BExtOrgrequest"},url:baseUrlValue+"B2B/extorganisation",interceptor:{responseError:u},timeout:r.XhrTimeout},updateRequestB2BFedGrp:{method:"PUT",params:{B2BFedGrprequest:"@B2BFedGrprequest"},url:baseUrlValue+"admin/externalfederatedgroups/extfederatedgroup",interceptor:{responseError:u},timeout:r.XhrTimeout},updateSelfServiceRequest:{method:"POST",params:{APIrequest:"@APIrequest"},url:baseUrlValue+"ATP/Leaver",interceptor:{responseError:u},timeout:r.XhrTimeout},updateTeamsCreationRequest:{method:"POST",params:{APIrequest:"@APIrequest"},url:baseUrlValue+"admin/teams/TeamsUpdateRequest",interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppServicesModule.factory("RequestSearchColumns",function(){return function(){return[{title:"Request Date",key:"DateCreated"},{title:"Requester Display Name",key:"RequesterName"},{title:"Requester Email",key:"RequesterEmail"},{title:"Category",key:"Category"},{title:"Request",key:"RequestDescription"},{title:"Status",key:"ApprovalStatus"},]}});userAdminAppServicesModule.factory("RequestSearchParams",function(){return function(){return{DateCreated:"",RequesterName:"",RequestingUserId:"",Category:"",RequestDescription:"",ApprovalStatus:""}}});userAdminAppServicesModule.factory("RequestSearchVisibleColumns",function(){return function(){this.DateCreated=!0;this.RequesterName=!0;this.RequesterEmail=!0;this.Category=!0;this.RequestDescription=!0;this.ApprovalStatus=!0}});userAdminAppControllersModule.controller("EligibleGuestInvitersEditController",["$scope","$modal","$location","EligibleGuestInvitersAPI","EligibleGuestInvitersService","$routeParams","growl","Config","$route","$filter","PermissionChecker","$window","FileUploader","blockUI","$parse","$sessionStorage","$filter",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,h){function d(){n.showUploadResults=!1;n.showSuccessResult=!1;n.showErrorResults=!1;n.uploadedFile="";n.totalImportedRecordCount=0;n.detailList=[]}function g(){n.fileErrors={fileTooBig:!1,wrongExtension:!1}}var w,b,k;n.editGuestInviterGroup={};n.groupDeletePermission=!1;n.showGroupAction=!0;n.showGroupAction=!1;n.isCreateDisabled=!0;n.guestInviters={};n.GuestInviterMembers=[];n.UserList=[];n.importUsersList={};n.NHSMailUsers=[];n.GuestInviterMembersEmailOnly=[];n.EligibleGuestInviterPage=!0;n.selectedOrganisationIds=[];(c.getUserRoles().indexOf("Global Admin")!==-1||c.contains("GUEST_INVITER_DELETE"))&&(n.groupDeletePermission=!0,n.showGroupAction=!0,n.isCreateDisabled=!1);n.modalMarkupLoaded=function(){n.GuestInvitersGroup={};n.GuestInvitersGroup.ID=f.ID;r.GetDetails({id:n.GuestInvitersGroup.ID}).$promise.then(function(t){if(t==undefined)return e.error("There was a problem retrieving Guest Inviters Group Details"),t;n.guestInvitersData=t;n.guestInviters.Organisation=n.guestInvitersData.OrganisationName;n.guestInviters.OrganisationID=n.guestInvitersData.OrganisationId;n.guestInviters.GroupName=n.guestInvitersData.GroupName;n.guestInviters.CreatedOn=n.guestInvitersData.CreatedOn;n.guestInviters.UpdatedOn=n.guestInvitersData.LastUpdated;n.guestInviters.UpdatedBy=n.guestInvitersData.UpdatedBy.UPN;var i=[];n.GuestInviterMembersEmailOnly=[];n.selectedOrganisationIds.push(n.guestInviters.OrganisationID);angular.forEach(n.guestInvitersData.MembersList,function(t){t.Email!=null&&(tempObj={ID:t.ID,EmailAddress:t.Email,EmailType:t.EmailType},i.push(tempObj),n.GuestInviterMembersEmailOnly.push(t.Email),n.UserList.push(t.Email))});angular.copy(i,n.GuestInviterMembers)})};n.modalMarkupLoaded();n.viewDeleteGroupData=function(){$("#DeleteGroupDataModal").modal("show")};n.cancelDeleteGroup=function(){$("#DeleteGroupDataModal").modal("hide")};n.DeleteGroup=function(){n.editGuestInviterGroup.ID=n.GuestInvitersGroup.ID;n.editGuestInviterGroup.GroupName=n.guestInviters.GroupName;n.editGuestInviterGroup.OrganisationId=n.guestInviters.OrganisationID;n.editGuestInviterGroup.Members=n.UserList;n.editGuestInviterGroup.LastUpdated=n.guestInviters.UpdatedOn;r.DeleteGroup(n.editGuestInviterGroup).$promise.then(function(t){t!==undefined?(n.hideModal("DeleteGroupDataModal"),i.path("/EligibleGuestInviters")):($("#DeleteGroupDataModal").modal("hide"),n.groupDeletePermission=!0,e.error(t.MessageDescription),i.path("/"))})};n.hideModal=function(n){angular.element("#"+n).modal("hide");$(".modal-backdrop").remove()};n.isExportMembersDisabled=!0;n.isExportMembersChecker=function(){n.isExportMembersDisabled=c.contains("GUEST_INVITER_VIEW")?!1:!0};n.isExportMembersChecker();n.ExportMembers=function(){l.location.href="ExportCSV/ExportB2BGroupMembers?B2BInviterGroupID="+n.GuestInvitersGroup.ID};n.cancelRequest=function(){window.history.back()};n.submitRequest=function(t){if(!t.$invalid){if(typeof n.UserList=="undefined"){i.path("/EligibleGuestInviters");return}if(angular.equals(n.UserList,n.GuestInviterMembersEmailOnly)){i.path("/EligibleGuestInviters");return}n.editGuestInviterGroup.ID=n.GuestInvitersGroup.ID;n.editGuestInviterGroup.GroupName=n.guestInviters.GroupName;n.editGuestInviterGroup.OrganisationId=n.guestInviters.OrganisationID;n.editGuestInviterGroup.Members=n.UserList;n.editGuestInviterGroup.LastUpdated=n.guestInviters.UpdatedOn;r.Edit(n.editGuestInviterGroup).$promise.then(function(n){if(n!==undefined)return i.path("/EligibleGuestInviters"),n})}};n.removeMembers=function(t){n.GuestInviterMembers=h("filter")(n.GuestInviterMembers,function(n){return n.EmailAddress!=t.EmailAddress});n.UserList=[];angular.forEach(n.GuestInviterMembers,function(t){n.UserList.push(t.EmailAddress)})};n.isImportMembersDisabled=!0;n.isImportMembersChecker=function(){n.isImportMembersDisabled=c.contains("GUEST_INVITER_UPDATE")?!1:!0};n.isImportMembersChecker();n.MaxSizeOfUserUpload=u.MaxSizeOfUserUpload();n.MaxSizeOfUserUploadError=!1;n.ImportMembers=function(){n.isUploadDisabled=!0;$("#importUsersUploadCSVModal").modal("show")};w="B2B/importusers";b=100;d();g();n.uploader=new a({url:baseUrlValue+w,headers:{Authorization:"Bearer "+sessionStorage.getItem("JWToken")},removeAfterUpload:!0});n.uploader.onSuccessItem=function(t,i){var u,r;for(n.uploadedFile=t.file.name,n.importUsersList.Recipients=[],n.GuestInviterMembers=[],n.UserList=[],n.TempUsers={},u=i.length,r=0;r<i.length;r++)n.TempUsers.EmailAddress=i[r].EmailAddress,n.TempUsers.ID=i[r].ID,n.importUsersList.Recipients.push({EmailAddress:n.TempUsers.EmailAddress,EmailType:null,ID:n.TempUsers.ID}),n.UserList.push(n.TempUsers.EmailAddress);angular.copy(n.importUsersList.Recipients,n.GuestInviterMembers);n.totalImportedRecordCount=n.importUsersList.Recipients.length;n.importUsersList.Recipients.length>n.MaxSizeOfUserUpload?(n.MaxSizeOfUserUploadError=!0,n.showUploadResults=!0,n.showSuccessResult=!1,n.showErrorResults=!1,n.isUploadDisabled=!0):(n.showUploadResults=!0,n.showSuccessResult=!0,n.showErrorResults=!1,n.isUploadDisabled=!0)};n.uploader.onErrorItem=function(t,i){if(n.uploadedFile=t.file.name,i.Errors.length>0)for(var r=0;r<i.Errors.length;r++){if(r>b){n.detailList.push("error list limited to first "+b);break}i.Errors[r].FieldName==="UserPrincipalName"?n.detailList.push(i.Errors[r].Detail+" can not be added because, "+i.Errors[r].Message):n.detailList.push(i.Errors[r].Message)}else i.Errors&&i.Errors.length>0?n.detailList.push(i.Errors[0].Message+": "+i.Errors[0].Detail):n.detailList.push("Failed to parse file");n.showUploadResults=!0;n.showSuccessResult=!1;n.showErrorResults=!0;n.isUploadDisabled=!0};n.uploader.onAfterAddingFile=function(t){n.selectedFile=t.file.name;n.isUploadDisabled=n.selectedFile!==""?!1:!0;d();g()};n.uploader.onBeforeUploadItem=function(t){t.method="PUT";t.formData.push({OrgId:n.guestInviters.OrganisationID});v.start()};n.uploader.onCompleteAll=function(){v.stop()};n.isUploadDisabled=!0;k=o.MaxFileSizeForCSVUpload*1048576;n.Upload=function(){if(angular.isUndefined(n.uploader.queue)){n.isUploadDisabled=!0;return}n.isUploadDisabled=!1;var t=n.uploader.queue[0].file;if(t.size>k){n.fileErrors.fileTooBig=!0;n.uploader.clearQueue();return}if(t.name.split(".").pop()!="csv"){n.fileErrors.wrongExtension=!0;n.uploader.clearQueue();return}n.uploader.url=baseUrlValue+w;n.uploader.uploadAll();$("#importUsersUploadCSVModal").modal("hide");document.getElementById("csvUsersUploaderInput").value=""};n.cancelImport=function(){n.selectedFile="";n.fileErrors.wrongExtension=!1;$("#importUsersUploadCSVModal").modal("hide");n.isUploadDisabled=!0};n.clear=function(){angular.element("input[type='file']").val(null);n.selectedFile="";n.uploader.clearQueue();n.isUploadDisabled=!0};n.setupUserPickerDone=function(){var t=n.$on("UserPickerSelectionDone",function(){var u=p.currentSource,f=y(u)(n),r=[],e,o,i;angular.forEach(n.selectedEmail,function(n){n.Email!=null&&(e={EmailAddress:n.Email,ID:n.ID,EmailType:n.EmailType},r.push(e))});o=f==""?r:f.concat(r);i=h("removeDuplicates")(o,"EmailAddress");i=_.sortBy(i,function(n){return n.EmailAddress.toLowerCase()});y(u).assign(n,i);t();n.EligibleGuestInviterPage=!0;n.GuestInviterMembers=i;angular.forEach(n.GuestInviterMembers,function(t){n.UserList.push(t.EmailAddress)});n.UserList=_.uniq(n.UserList)})};n.addMembersListClick=function(t){n.fileErrors.fileTooBig=!1;n.fileErrors.wrongExtension=!1;n.showValidationResults=!1;n.showUploadResults=!1;n.showSuccessResult=!1;n.showErrorResults=!1;p.currentSource=t;angular.copy([],n.selectedEmail);n.EligibleGuestInviterPage=!1;n.setupUserPickerDone(t)};n.removeMembers=function(t){n.GuestInviterMembers=h("filter")(n.GuestInviterMembers,function(n){return n.EmailAddress!=t.EmailAddress});n.UserList=[];angular.forEach(n.GuestInviterMembers,function(t){n.UserList.push(t.EmailAddress)})};n.$on("UserPickerSelectionCancelled",function(){n.EligibleGuestInviterPage=!0})}]);userAdminAppControllersModule.controller("EligibleGuestInvitersListController",["$scope","$location","$modal","$http","$sessionStorage","$timeout","EligibleGuestInvitersColumns","EligibleGuestInvitersParams","EligibleGuestInvitersVisibleColumns","EligibleGuestInvitersAPI","EligibleGuestInvitersService","$window","PermissionChecker","Config","$filter",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y){n.manageEligibleGuestInvitersTitle="Manage Eligible Guest Inviters";n.itemsOnPage=v.UserList_ItemsOnPage;n.isEligibleGuestInvitersProcessingError=!1;n.isEligibleGuestInvitersEmpty=!1;n.isDisabledAddButton=!0;n.showAndHideEligibleGuestInvitersDropDown=!0;n.eligibleGuestInvitersColumns=new e;n.eligibleGuestInvitersColumnsVisible=new s;n.eligibleGuestInvitersParams=new o;a.contains("GUEST_INVITER_CREATE")&&(n.isDisabledAddButton=!1);n.callSearchAPI=function(){n.showEmptyTable=!0;n.eligibleGuestInvitersDisplayedTable=[];c.RemoveEmptyAttributes(n.eligibleGuestInvitersParams);h.Search(n.eligibleGuestInvitersParams).$promise.then(function(t){n.eligibleGuestInvitersItems=y("orderObjectBy")(t.GuestInviterGroups,"GroupName");n.eligibleGuestInvitersItems.length===0?(n.eligibleGuestInvitersDisplayedTable=[],n.isEligibleGuestInvitersEmpty=!0):(n.eligibleGuestInvitersDisplayedTable=[].concat(n.eligibleGuestInvitersItems),n.isEligibleGuestInvitersEmpty=!1,w())})};n.searchIfEnterKey=function(t){t.which===13&&n.callSearchAPI()};n.viewEligibleGuestInvitersDetails=function(){return};var p=function(n){angular.isUndefined(u.eligibleGuestInvitersResult)&&(u.eligibleGuestInvitersResult=[]);u.eligibleGuestInvitersResult=n},w=function(){var t=[];angular.copy(n.eligibleGuestInvitersDisplayedTable,t);p(t);t=[];u.eligibleGuestInvitersResult=n.eligibleGuestInvitersDisplayedTable};n.assignDataToEligibleGuestInvitersListFromSession=function(){angular.isUndefined(u.eligibleGuestInvitersResult)&&(u.eligibleGuestInvitersResult={});Object.keys(u.eligibleGuestInvitersResult).length!=0&&(n.showEmptyTable=!0,n.eligibleGuestInvitersItems=u.eligibleGuestInvitersResult,n.eligibleGuestInvitersDisplayedTable=[].concat(n.eligibleGuestInvitersItems),n.isEligibleGuestInvitersEmpty=!1)};n.assignDataToEligibleGuestInvitersListFromSession();n.viewEligibleGuestInvitersDetails=function(n){t.url("/EligibleGuestInviters/Edit/"+n.ID)}}]);userAdminAppControllersModule.controller("EligibleGuestInvitersRequestController",["$scope","$modal","$http","$sessionStorage","PermissionChecker","$filter","$location","EligibleGuestInvitersAPI","EligibleGuestInvitersService","$routeParams","growl","Config","$route","FileUploader","blockUI",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y){function k(){n.showUploadResults=!1;n.showSuccessResult=!1;n.showErrorResults=!1;n.uploadedFile="";n.totalImportedRecordCount=0;n.detailList=[]}function d(){n.fileErrors={fileTooBig:!1,wrongExtension:!1}}var b;n.modalMarkupLoaded=function(){n.createGuestInviterGroup={};n.importUsersList={};n.requestDetails={};n.requestDetails.selectedOrganisation={};n.requestDetails.groupName="";n.requestDetails.NHSMailUsers=[];n.isImportDisabled=!0;n.UsersRequiredError=!1;n.PermissionChecker=u;n.PermissionChecker.contains("GUEST_INVITER_CREATE")&&(n.permissionCode="GUEST_INVITER_CREATE")};n.modalMarkupLoaded();n.pick=function(t){angular.copy(t,n.requestDetails.selectedOrganisation);n.$broadcast("OrganisationChanged");n.populateGroupName();n.requestDetails.NHSMailUsers=[];n.requestDetails.UserList=[];n.isImportDisabled=!1;n.showUploadResults=!1;n.UsersRequiredError=!1;n.allowToCreateGroup()};n.populateGroupName=function(){n.requestDetails.groupName=n.requestDetails.selectedOrganisation.ODSCode+"_Guest_Inviters"};n.removeNHSMailUsers=function(t){n.requestDetails.NHSMailUsers=f("filter")(n.requestDetails.NHSMailUsers,function(n){return n.EmailAddress!=t.EmailAddress});n.requestDetails.UserList=[];angular.forEach(n.requestDetails.NHSMailUsers,function(t){n.requestDetails.UserList.push(t.EmailAddress)})};n.isCreateDisabled=!0;n.isGroupAlreadyExists=!1;n.allowToCreateGroup=function(){o.AllowCreate({orgId:n.requestDetails.selectedOrganisation.ID}).$promise.then(function(t){return t.Success?(n.isCreateDisabled=!0,n.isGroupAlreadyExists=!0,t):(n.isCreateDisabled=!1,n.isGroupAlreadyExists=!1,t)})};n.cancelRequest=function(){window.history.back()};n.submitRequest=function(t){if(!t.$invalid){if(n.requestDetails.UserList.length===0){n.showUploadResults=!0;n.UsersRequiredError=!0;return}n.createGuestInviterGroup.GroupName=n.requestDetails.groupName;n.createGuestInviterGroup.OrganisationId=n.requestDetails.selectedOrganisation.ID;n.createGuestInviterGroup.Members=n.requestDetails.UserList;o.Create(n.createGuestInviterGroup).$promise.then(function(n){if(n!==undefined)return e.path("/EligibleGuestInviters"),n})}};n.MaxSizeOfUserUpload=s.MaxSizeOfUserUpload();n.MaxSizeOfUserUploadError=!1;n.ImportUsers=function(){n.isUploadDisabled=!0;$("#importUsersUploadCSVModal").modal("show")};var p="B2B/importusers",w=100;k();d();n.uploader=new v({url:baseUrlValue+p,headers:{Authorization:"Bearer "+sessionStorage.getItem("JWToken")},removeAfterUpload:!0});n.uploader.onSuccessItem=function(t,i){var u,r;for(n.uploadedFile=t.file.name,n.importUsersList.Recipients=[],n.requestDetails.NHSMailUsers=[],n.requestDetails.UserList=[],n.TempUsers={},u=i.length,r=0;r<i.length;r++)n.TempUsers.EmailAddress=i[r].EmailAddress,n.TempUsers.ID=i[r].ID,n.importUsersList.Recipients.push({EmailAddress:n.TempUsers.EmailAddress,EmailType:null,ID:n.TempUsers.ID}),n.requestDetails.UserList.push(n.TempUsers.EmailAddress);angular.copy(n.importUsersList.Recipients,n.requestDetails.NHSMailUsers);n.totalImportedRecordCount=n.importUsersList.Recipients.length;n.importUsersList.Recipients.length>n.MaxSizeOfUserUpload?(n.MaxSizeOfUserUploadError=!0,n.showUploadResults=!0,n.showSuccessResult=!1,n.showErrorResults=!1,n.isUploadDisabled=!0,n.UsersRequiredError=!1):(n.showUploadResults=!0,n.showSuccessResult=!0,n.showErrorResults=!1,n.isUploadDisabled=!0,n.UsersRequiredError=!1)};n.uploader.onErrorItem=function(t,i){if(n.uploadedFile=t.file.name,i.Errors.length>0)for(var r=0;r<i.Errors.length;r++){if(r>w){n.detailList.push("error list limited to first "+w);break}i.Errors[r].FieldName==="UserPrincipalName"?n.detailList.push(i.Errors[r].Detail+" can not be added because, "+i.Errors[r].Message):n.detailList.push(i.Errors[r].Message)}else i.Errors&&i.Errors.length>0?n.detailList.push(i.Errors[0].Message+": "+i.Errors[0].Detail):n.detailList.push("Failed to parse file");n.showUploadResults=!0;n.showSuccessResult=!1;n.showErrorResults=!0;n.isUploadDisabled=!0;n.UsersRequiredError=!1};n.uploader.onAfterAddingFile=function(t){n.selectedFile=t.file.name;n.isUploadDisabled=n.selectedFile!==""?!1:!0;k();d()};n.uploader.onBeforeUploadItem=function(t){t.method="PUT";t.formData.push({OrgId:n.requestDetails.selectedOrganisation.ID});y.start()};n.uploader.onCompleteAll=function(){y.stop()};n.isUploadDisabled=!0;b=l.MaxFileSizeForCSVUpload*1048576;n.Upload=function(){if(angular.isUndefined(n.uploader.queue)){n.isUploadDisabled=!0;return}n.isUploadDisabled=!1;var t=n.uploader.queue[0].file;if(t.size>b){n.fileErrors.fileTooBig=!0;n.uploader.clearQueue();return}if(t.name.split(".").pop()!="csv"){n.fileErrors.wrongExtension=!0;n.uploader.clearQueue();return}n.uploader.url=baseUrlValue+p;n.uploader.uploadAll();$("#importUsersUploadCSVModal").modal("hide");document.getElementById("csvUsersUploaderInput").value=""};n.cancelImport=function(){n.selectedFile="";n.fileErrors.wrongExtension=!1;$("#importUsersUploadCSVModal").modal("hide");n.isUploadDisabled=!0};n.clear=function(){angular.element("input[type='file']").val(null);n.selectedFile="";n.uploader.clearQueue();n.isUploadDisabled=!0}}]);userAdminAppControllersModule.factory("EligibleGuestInvitersAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var r="Request failed";angular.isDefined(n.data.Result.Errors)&&n.data.Result.Errors.length>0?n.data.Result.Errors[0].ErrorCode===51?i.path("/AccessDenied"):n.data.Result.Errors[0].ErrorCode===102?r=n.data.Result.Errors[0].Message:(r+=": "+n.data.Result.Errors[0].Message,r+=". "+n.data.Result.Errors[0].Detail):angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");t.error(r,{ttl:1e4})}return n(baseUrlValue,{},{Search:{method:"GET",url:baseUrlValue+"B2B/guestinvitergroup",interceptor:{responseError:u},timeout:r.XhrTimeout},Create:{method:"POST",url:baseUrlValue+"B2B/guestinvitergroup",interceptor:{responseError:u},timeout:r.XhrTimeout},AllowCreate:{method:"GET",params:{orgId:"@orgId"},url:baseUrlValue+"B2B/invitergroup/:orgId",interceptor:{responseError:u},timeout:r.XhrTimeout},GetDetails:{method:"GET",params:{id:"@id"},url:baseUrlValue+"B2B/guestinvitergroup/:id",interceptor:{responseError:u},timeout:r.XhrTimeout},ExportMembers:{method:"POST",params:{id:"@id"},url:baseUrlValue+"B2B/exportmembers/:id",interceptor:{responseError:u},timeout:r.XhrTimeout},Edit:{method:"POST",url:baseUrlValue+"B2B/editguestinvitergroupmembers",interceptor:{responseError:u},timeout:r.XhrTimeout},DeleteGroup:{method:"POST",url:baseUrlValue+"B2B/deleteguestinvitergroup",interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppServicesModule.factory("EligibleGuestInvitersColumns",function(){return function(){return[{title:"Eligible Guest Inviters Group",key:"GroupName"},{title:"Organisation",key:"OrganisationName"},{title:"ODS",key:"ODSCode"}]}});userAdminAppServicesModule.factory("EligibleGuestInvitersParams",function(){return function(){return{GroupName:"",OrganisationName:"",ODSCode:""}}});userAdminAppServicesModule.factory("EligibleGuestInvitersService",["$sessionStorage","$filter","$parse",function(){return{RemoveEmptyAttributes:function(n){return _.chain(n).keys().each(function(t){n[t]===""&&delete n[t]}),n},MaxSizeOfUserUpload:function(){return 1e5}}}]);userAdminAppServicesModule.factory("EligibleGuestInvitersVisibleColumns",function(){return function(){this.GroupName=!0;this.OrganisationName=!0;this.ODSCode=!0}});userAdminAppControllersModule.controller("ConnectedGroupCreateController",ConnectedGroupCreateController);ConnectedGroupCreateController.$inject=["$location","Config","growl","YammerAPI","CurrentUser","$scope"];userAdminAppControllersModule.controller("ConnectedGroupEditController",ConnectedGroupEditController);ConnectedGroupEditController.$inject=["$location","Config","growl","YammerAPI","CurrentUser","$routeParams","PermissionChecker","YammerAPIResponse",];userAdminAppControllersModule.controller("ConnectedGroupListController",ConnectedGroupListController);ConnectedGroupListController.$inject=["$location","$sessionStorage","$filter","PermissionChecker","Config","YammerAPI"],function(){userAdminAppServicesModule.service("YammerAPI",["growl","Config","$resource",function(n,t,i){function r(t){var i="Request failed";angular.isDefined(t.data.Errors)&&t.data.Errors.length>0?t.data.Errors[0].Code===51?$location.path("/AccessDenied"):(i+=": "+t.data.Errors[0].Message,i+=": "+t.data.Errors[0].Detail):angular.isDefined(t.data.Message)?i+=": "+t.data.Message:t.status===0&&(i="Request to server timed out");n.error(i,{ttl:1e4});throw t;}return i(baseUrlValue+"admin/yammer/:yammerID",{yammerID:"@yammerID"},{GetConnectedGroup:{method:"GET",interceptor:{responseError:r},timeout:t.XhrTimeout},CreateConnectedGroup:{method:"POST",interceptor:{responseError:r},timeout:t.XhrTimeout},Update:{method:"PUT",interceptor:{responseError:r},timeout:t.XhrTimeout},Get:{method:"GET",params:{yammerID:"@yammerID"},interceptor:{responseError:r},timeout:t.XhrTimeout}})}])}();userAdminAppControllersModule.controller("EditManageExternalOrgAccessRequestController",["$scope","$location","Config","growl","ExternalOrgAPI","ExternalOrgService","$routeParams","PermissionChecker","FetchUPN","CurrentUser",function(n,t,i,r,u,f,e,o,s,h){n.requestDetails={};n.requestDetails.ID=e.ID;n.requestDetails.SponsorID1="";n.requestDetails.SponsorID2="";n.requestDetails.Telephone="";n.requestDetails.PrimaryContactTelephone="";n.requestDetails.SecondaryContactTelephone="";n.Sponsor1="";n.Sponsor2="";n.isRequestPageVisible=!0;n.countries=i.Countries;n.currentUserRoles=h.Roles;n.disableDelete=o.contains("GUEST_EXT_ORG_DELETE");n.hideDelete=!o.contains("GUEST_EXT_ORG_DELETE");n.disableUpdate=o.contains("GUEST_EXT_ORG_EDIT");n.hideUpdate=!o.contains("GUEST_EXT_ORG_EDIT");n.userB2BAdmin=!o.contains("IS_GLOBAL_ADMIN")&&o.contains("GUEST_EXT_ORG_EDIT");n.isDomainAlreadyExists=!1;n.isFedGrpsExists=!1;n.pendingStatus=!1;n.TelephoneError=!1;n.PrimaryContactTelephoneError=!1;n.SecondaryContactTelephoneError=!1;o.populateRoleNames();o.contains("GUEST_EXT_ORG_EDIT")&&(n.userUpdatePermission=!0);s.Get().$promise.then(function(t){n.loggedInUserUPN=t.Email});u.GetDetails({id:n.requestDetails.ID}).$promise.then(function(t){if(t==undefined)return r.error("There was a problem retrieving External Organisation Details"),t;n.requestDetailsData=t;n.requestDetails.OrganisationName=n.requestDetailsData.Details.OrganisationName;n.requestDetails.OrganisationDomain=n.requestDetailsData.Details.OrganisationDomain;n.requestDetails.Description=n.requestDetailsData.Details.Description;n.requestDetails.Status=n.requestDetailsData.Details.ApprovalStatus;n.requestDetails.CreatedOn=n.requestDetailsData.Details.CreatedOn;n.requestDetails.LastUpdated=n.requestDetailsData.Details.UpdatedOn;n.requestDetails.UpdatedBy=n.requestDetailsData.Details.UpdatedBy.UPN;n.requestDetails.Address=n.requestDetailsData.Details.Address;n.requestDetails.Telephone=n.requestDetailsData.Details.Telephone;n.requestDetails.Country=n.requestDetailsData.Details.Country;n.requestDetails.PrimaryContactName=n.requestDetailsData.Details.PrimaryContactName;n.requestDetails.SecondaryContactName=n.requestDetailsData.Details.SecondaryContactName;n.requestDetails.PrimaryContactTelephone=n.requestDetailsData.Details.PrimaryContactTelephone;n.requestDetails.SecondaryContactTelephone=n.requestDetailsData.Details.SecondaryContactTelephone;n.requestDetails.PrimaryContactEmail=n.requestDetailsData.Details.PrimaryContactEmail;n.requestDetails.SecondaryContactEmail=n.requestDetailsData.Details.SecondaryContactEmail;n.requestDetails.SponsorID1=n.requestDetailsData.Details.SponsorID1;n.requestDetails.SponsorID2=n.requestDetailsData.Details.SponsorID2;n.Sponsor1=n.requestDetailsData.Details.Sponsor1Email;n.Sponsor2=n.requestDetailsData.Details.Sponsor2Email;n.Sponsor2=="00000000-0000-0000-0000-000000000000"&&(n.Sponsor2="",n.requestDetails.SponsorID2="");n.isFedGrpsExists=n.requestDetailsData.Details.FederatedGroups==null||n.requestDetailsData.Details.FederatedGroups.length==0?!1:!0;n.pendingStatus=n.requestDetails.Status==f.PendingStatus()});n.checkDomainExists=function(){n.requestDetails.OrganisationDomain!=undefined&&u.DomainExists({orgDomain:n.requestDetails.OrganisationDomain}).$promise.then(function(t){return t.Success?(n.isDomainAlreadyExists=!0,t):(n.isDomainAlreadyExists=!1,t)})};n.requestCancelClick=function(){window.history.back()};n.validateTelephone=function(t){t=="Telephone"&&(n.TelephoneError=n.requestDetails.Telephone==""||n.requestDetails.Telephone.charAt(0)=="0"?!1:!0);t=="Primary"&&(n.PrimaryContactTelephoneError=n.requestDetails.PrimaryContactTelephone==""||n.requestDetails.PrimaryContactTelephone.charAt(0)=="0"?!1:!0);t=="Secondary"&&(n.SecondaryContactTelephoneError=n.requestDetails.SecondaryContactTelephone==""||n.requestDetails.SecondaryContactTelephone.charAt(0)=="0"?!1:!0)};n.requestSubmitClick=function(e){if(!e.$invalid&&!n.TelephoneError&&!n.PrimaryContactTelephoneError&&!n.SecondaryContactTelephoneError){if(n.userB2BAdmin&&n.loggedInUserUPN!=n.requestDetailsData.Details.Sponsor1Email&&n.loggedInUserUPN!=n.requestDetailsData.Details.Sponsor2Email){r.error("Not Authorised",{ttl:i.Growl_TimeToLeave});return}f.RemoveEmptyAttributes(n.requestDetails);u.Update(n.requestDetails).$promise.then(function(n){if(n!=undefined)return t.path("/ExternalOrganisationAccess"),n})}};n.$on("UserPickerSelectionCancelled",function(){n.isRequestPageVisible=!0});n.$on("UserPickerSelectionDone",function(){n.sponsorNumber==1?(n.requestDetails.SponsorID1=n.selectedEmail[0].ID,n.Sponsor1=n.selectedEmail[0].DisplayName,n.ExtOrgRequest_form.sponsorOne.$setDirty()):(n.requestDetails.SponsorID2=n.selectedEmail[0].ID,n.Sponsor2=n.selectedEmail[0].DisplayName,n.ExtOrgRequest_form.sponsorTwo.$setDirty());n.isRequestPageVisible=!0});n.addSponsorClick=function(t){n.sponsorNumber=t;angular.copy([],n.selectedEmail);n.isRequestPageVisible=!1};n.delete=function(){u.Delete({ID:n.requestDetails.ID}).$promise.then(function(n){if(n!=undefined)return t.path("/ExternalOrganisationAccess"),n})};n.errorOrgDeletionClick=function(){angular.element("#errorOrgDeletionModal").modal("show")};n.confirmErrorOrgDeletion=function(){angular.element("#errorOrgDeletionModal").modal("hide")}}]);userAdminAppControllersModule.controller("ManageExternalOrgAccessController",["$scope","$location","$sessionStorage","$filter","PermissionChecker","Config","growl","ExternalOrgColumns","ExternalOrgParams","ExternalOrgVisibleColumns","ExternalOrgAPI","ExternalOrgService",function(n,t,i,r,u,f,e,o,s,h,c,l){n.$location=t;n.PermissionChecker=u;n.itemsOnPage=f.UserList_ItemsOnPage;n.isExternalOrgProcessingError=!1;n.isExternalOrgEmpty=!1;n.showAndHideExternalOrgDropDown=!0;n.ExternalOrgColumns=new o;n.ExternalOrgColumnsVisible=new h;n.ExternalOrgParams=new s;n.Status=f.ExtOrgStatus;n.callSearchAPI=function(){n.showEmptyTable=!0;n.ExternalOrgDisplayedTable=[];l.RemoveEmptyAttributes(n.ExternalOrgParams);c.Search(n.ExternalOrgParams).$promise.then(function(t){n.ExternalOrgItems=t.ExternalOrganisations;n.ExternalOrgItems.length===0?(n.ExternalOrgDisplayedTable=[],n.isExternalOrgEmpty=!0):(n.ExternalOrgDisplayedTable=[].concat(n.ExternalOrgItems),n.isExternalOrgEmpty=!1,v())})};n.searchIfEnterKey=function(t){t.which===13&&n.callSearchAPI()};n.dropDownBasedSearch=function(t){t&&n.callSearchAPI()};n.viewExternalOrgDetails=function(){return};var a=function(n){angular.isUndefined(i.ExternalOrgResult)&&(i.ExternalOrgResult=[]);i.ExternalOrgResult=n},v=function(){var t=[];angular.copy(n.ExternalOrgDisplayedTable,t);a(t);t=[];i.ExternalOrgResult=n.ExternalOrgDisplayedTable};n.assignDataToExternalOrgListFromSession=function(){angular.isUndefined(i.ExternalOrgResult)&&(i.ExternalOrgResult={});Object.keys(i.ExternalOrgResult).length!=0&&(n.showEmptyTable=!0,n.ExternalOrgItems=i.ExternalOrgResult,n.ExternalOrgDisplayedTable=[].concat(n.ExternalOrgItems),n.isExternalOrgEmpty=!1)};n.assignDataToExternalOrgListFromSession()}]);userAdminAppControllersModule.controller("ManageExternalOrgAccessRequestController",["$scope","$location","$sessionStorage","$filter","$parse","PermissionChecker","Config","growl","ExternalOrgAPI","ExternalOrgService","CurrentUser",function(n,t,i,r,u,f,e,o,s,h,c){n.requestDetails={};n.requestDetails.SponsorID1="";n.requestDetails.SponsorID2="";n.requestDetails.Telephone="";n.requestDetails.PrimaryContactTelephone="";n.requestDetails.SecondaryContactTelephone="";n.Sponsor1="";n.Sponsor2="";n.hasPermission=!1;n.isRequestPageVisible=!0;n.countries=e.Countries;n.TelephoneError=!1;n.PrimaryContactTelephoneError=!1;n.SecondaryContactTelephoneError=!1;$(function(){$('[data-toggle="tooltip"]').tooltip()});f.contains("GUEST_EXT_ORG_CREATE")?(n.requestDetails.SponsorID1=c.ID,n.Sponsor1=c.DisplayName,n.hasPermission=!0):n.hasPermission=!1;n.checkDomainExists=function(){n.requestDetails.OrganisationDomain!=undefined&&s.DomainExists({orgDomain:n.requestDetails.OrganisationDomain}).$promise.then(function(t){return t.Success?(n.isDomainAlreadyExists=!0,t):(n.isDomainAlreadyExists=!1,t)})};n.clearDomainExists=function(){n.isDomainAlreadyExists=!1};n.requestCancelClick=function(){window.history.back()};n.validateTelephone=function(t){t=="Telephone"&&(n.TelephoneError=n.requestDetails.Telephone==""||n.requestDetails.Telephone.charAt(0)=="0"?!1:!0);t=="Primary"&&(n.PrimaryContactTelephoneError=n.requestDetails.PrimaryContactTelephone==""||n.requestDetails.PrimaryContactTelephone.charAt(0)=="0"?!1:!0);t=="Secondary"&&(n.SecondaryContactTelephoneError=n.requestDetails.SecondaryContactTelephone==""||n.requestDetails.SecondaryContactTelephone.charAt(0)=="0"?!1:!0)};n.requestSubmitClick=function(i){i.$invalid||n.TelephoneError||n.PrimaryContactTelephoneError||n.SecondaryContactTelephoneError||(h.RemoveEmptyAttributes(n.requestDetails),s.Submit(n.requestDetails).$promise.then(function(n){if(n!=undefined)return t.path("/ExternalOrganisationAccess"),n}))};n.$on("UserPickerSelectionCancelled",function(){n.isRequestPageVisible=!0});n.$on("UserPickerSelectionDone",function(){n.requestDetails.SponsorID2=n.selectedEmail[0].ID;n.Sponsor2=n.selectedEmail[0].DisplayName;n.isRequestPageVisible=!0});n.addSponsorClick=function(){angular.copy([],n.selectedEmail);n.isRequestPageVisible=!1}}]);userAdminAppControllersModule.factory("ExternalOrgAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var r="Request failed";angular.isDefined(n.data.Result.Errors)&&n.data.Result.Errors.length>0?n.data.Result.Errors[0].ErrorCode===51?i.path("/AccessDenied"):n.data.Result.Errors[0].ErrorCode===102?r=n.data.Result.Errors[0].Message:(r+=": "+n.data.Result.Errors[0].Message,r+=". "+n.data.Result.Errors[0].Detail):angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");t.error(r,{ttl:1e4})}return n(baseUrlValue,{},{Search:{method:"GET",url:baseUrlValue+"B2B/externalorganisations",interceptor:{responseError:u},timeout:r.XhrTimeout},Submit:{method:"POST",url:baseUrlValue+"B2B/externalorganisations",interceptor:{responseError:u},timeout:r.XhrTimeout},Update:{method:"PUT",url:baseUrlValue+"B2B/externalorganisations",interceptor:{responseError:u},timeout:r.XhrTimeout},DomainExists:{method:"GET",params:{orgDomain:"@orgDomain"},url:baseUrlValue+"B2B/extorganisation/:orgDomain",interceptor:{responseError:u},timeout:r.XhrTimeout},GetDetails:{method:"GET",params:{id:"@id"},url:baseUrlValue+"B2B/externalOrganisation/:id",interceptor:{responseError:u},timeout:r.XhrTimeout},Delete:{method:"DELETE",params:{ID:"@ID"},url:baseUrlValue+"B2B/externalorganisations/:ID",interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppServicesModule.factory("ExternalOrgColumns",function(){return function(){return[{title:"Organisation Name",key:"OrganisationName"},{title:"Organisation Domain",key:"OrganisationDomain"},{title:"Status",key:"ApprovalStatus"}]}});userAdminAppServicesModule.factory("ExternalOrgParams",function(){return function(){return{OrganisationName:"",OrganisationDomain:"",ApprovalStatus:""}}});userAdminAppServicesModule.factory("ExternalOrgService",["$sessionStorage","$filter","$parse",function(){return{RemoveEmptyAttributes:function(n){return _.chain(n).keys().each(function(t){n[t]===""&&delete n[t]}),n},DeletedStatus:function(){return"Deleted"},PendingStatus:function(){return"Pending"}}}]);userAdminAppServicesModule.factory("ExternalOrgVisibleColumns",function(){return function(){this.OrganisationName=!0;this.OrganisationDomain=!0;this.ApprovalStatus=!0}});userAdminAppControllersModule.controller("ManageExternalFedGroupsController",["$scope","$location","$sessionStorage","$filter","PermissionChecker","Config","growl","ExtFedGroupsAPI","ExtFedGroupsService","ExternalFedGroupsColumns","ExternalFedGroupsVisibleColumns","ExternalFedGroupsParams",function(n,t,i,r,u,f,e,o,s,h,c,l){n.PermissionChecker=u;n.itemsOnPage=f.UserList_ItemsOnPage;n.isExternalFedGroupsProcessingError=!1;n.isExternalFedGroupsEmpty=!1;n.showAndHideExternalFedGroupsDropDown=!0;n.ExternalFedGroupsColumns=new h;n.ExternalFedGroupsVisibleColumns=new c;n.ExternalFedGroupsParams=new l;n.Status=f.FedGroupsStatus;n.callSearchAPI=function(){n.showEmptyTable=!0;n.ExternalFedGroupsDisplayedTable=[];s.RemoveEmptyAttributes(n.ExternalFedGroupsParams);o.Search(n.ExternalFedGroupsParams).$promise.then(function(t){n.ExternalFedGroupsItems=t.ExternalFederatedGroups;n.ExternalFedGroupsItems.length===0?(n.ExternalFedGroupsDisplayedTable=[],n.isExternalFedGroupsEmpty=!0):(n.ExternalFedGroupsDisplayedTable=[].concat(n.ExternalFedGroupsItems),n.isExternalFedGroupsEmpty=!1,v())})};n.searchIfEnterKey=function(t){t.which===13&&n.callSearchAPI()};n.dropDownBasedSearch=function(t){t&&n.callSearchAPI()};var a=function(n){angular.isUndefined(i.ExternalFedGroupsResult)&&(i.ExternalFedGroupsResult=[]);i.ExternalFedGroupsResult=n},v=function(){var t=[];angular.copy(n.ExternalFedGroupsDisplayedTable,t);a(t);t=[];i.ExternalFedGroupsResult=n.ExternalFedGroupsDisplayedTable};n.assignDataToExternalFedGroupsListFromSession=function(){angular.isUndefined(i.ExternalFedGroupsResult)&&(i.ExternalFedGroupsResult={});Object.keys(i.ExternalFedGroupsResult).length!=0&&(n.showEmptyTable=!0,n.ExternalFedGroupsItems=i.ExternalFedGroupsResult,n.ExternalFedGroupsDisplayedTable=[].concat(n.ExternalFedGroupsItems),n.isExternalFedGroupsEmpty=!1)};n.assignDataToExternalFedGroupsListFromSession();n.viewExternalFedGroupsDetails=function(i){if(n.PermissionChecker.contains("GUEST_EXT_FED_VIEW"))t.url("/ExternalFederatedGroups/Edit/"+i.Id);else return}}]);userAdminAppControllersModule.controller("ManageExternalFedGroupsEditController",["$scope","$location","PermissionChecker","$routeParams","growl","ExtFedGroupsAPI","ExtFedGroupsService","CurrentUser",function(n,t,i,r,u,f,e,o){n.modalMarkupLoaded=function(){n.viewFedGroupDetails={};n.viewFedGroupDetails.ID=r.ID;n.viewFedGroupDetails.AzureADTenantName="";n.viewFedGroupDetails.FederatedGroupID="";n.updateSetupFedGroupDetails={};n.PermissionChecker=i;n.currentUserRoles=o.Roles;n.azureFedGroupCheckDisabled=!0;n.portalServiceAccCheckDisabled=!0;n.activate=!1;n.activating=!1;n.activated=!1;n.testConnection=!1;n.connectionTested=!1;n.enableUpdateFields=!1;n.approvedStatus=e.ApprovedStatus();n.approvedAcknowledgementStatus=e.ApprovedAcknowledgementStatus();n.InitialSyncinProgressStatus=e.InitialSyncinProgressStatus();n.DeletedStatus=e.DeletedStatus();f.GetFedGroupDetails({ID:n.viewFedGroupDetails.ID}).$promise.then(function(i){return i==undefined?(t.path("/ExternalFederatedGroups"),i):(n.viewFedGroupDetails=i,n.viewFedGroupDetails.AzureADTenantName=n.viewFedGroupDetails.AzureADTenantName==null?"":n.viewFedGroupDetails.AzureADTenantName,n.viewFedGroupDetails.FederatedGroupID=n.viewFedGroupDetails.FederatedGroupID==null?"":n.viewFedGroupDetails.FederatedGroupID,n.setPortalServiceAck(),n.isConnectionTested(n.viewFedGroupDetails.IsConnectionTested,!1),n.isActivated(n.viewFedGroupDetails.IsActivated),n.activating=n.viewFedGroupDetails.Status==n.InitialSyncinProgressStatus,i)})};n.modalMarkupLoaded();n.$watchGroup(["viewFedGroupDetails.AzureADTenantName","viewFedGroupDetails.FederatedGroupName","viewFedGroupDetails.FederatedGroupID"],function(t){n.azureFedGroupCheckDisabled=t[0]!=undefined&&t[0]!=""&&t[0]!=null&&t[1]!=undefined&&t[1]!=""&&t[1]!=null&&t[2]!=undefined&&t[2]!=""&&t[2]!=null&&n.PermissionChecker.contains("GUEST_EXT_FED_EDIT")&&n.viewFedGroupDetails.IsGroupDetailsUpdated==!1?!1:!0});n.testConnectionClick=function(){f.TestConnection({FederatedGroupID:n.viewFedGroupDetails.FederatedGroupID,AzureADTenantName:n.viewFedGroupDetails.AzureADTenantName,FederatedGroupName:n.viewFedGroupDetails.FederatedGroupName,Id:n.viewFedGroupDetails.ID,B2BOrganisationName:n.viewFedGroupDetails.B2BOrganisationName}).$promise.then(function(t){return n.isConnectionTested(t.TestConnectionStatus,!0),t})};n.isConnectionTested=function(t,i){t?(n.activate=!0,n.testConnection=!1,n.connectionTested=!0,i&&u.success("Test Connection Sucessful.")):i?(n.activate=!1,n.testConnection=!1,n.connectionTested=!1,n.enableUpdateFields=!0,n.viewFedGroupDetails.IsGroupDetailsUpdated=!1,n.azureFedGroupCheckDisabled=!1,u.error("Test Connection Failed.")):n.testConnection=n.PermissionChecker.contains("IS_GLOBAL_ADMIN")&&n.PermissionChecker.contains("GUEST_EXT_FED_EDIT")&&n.viewFedGroupDetails.IsGuestInviteAcknowledged?!0:!1};n.isActivated=function(t){t&&(n.activated=!0)};n.setPortalServiceAck=function(){n.portalServiceAccCheckDisabled=n.viewFedGroupDetails.IsGroupDetailsUpdated&&!n.viewFedGroupDetails.IsGuestInviteAcknowledged&&n.PermissionChecker.contains("GUEST_EXT_FED_EDIT")&&n.PermissionChecker.contains("IS_GLOBAL_ADMIN")?!1:!0;n.viewFedGroupDetails.IsGroupDetailsUpdated||(n.viewFedGroupDetails.IsGuestInviteAcknowledged=!1)};n.$watchGroup(["viewFedGroupDetails.IsGroupDetailsUpdated","viewFedGroupDetails.IsGuestInviteAcknowledged"],function(t,i){n.updateButtonDisabled=!0;n.PermissionChecker.contains("GUEST_EXT_FED_EDIT")&&(t[0]==!0&&i[0]!==undefined||t[1]==!0&&i[1]!==undefined)&&(n.updateButtonDisabled=!1)});n.updateCancel=function(){window.history.back()};n.updateFedGroup=function(i){i.$invalid||(n.updateSetupFedGroupDetails.ID=n.viewFedGroupDetails.ID,n.updateSetupFedGroupDetails.B2BOrganisationName=n.viewFedGroupDetails.B2BOrganisationName,n.updateSetupFedGroupDetails.AzureADTenantName=n.viewFedGroupDetails.AzureADTenantName,n.updateSetupFedGroupDetails.FederatedGroupName=n.viewFedGroupDetails.FederatedGroupName,n.updateSetupFedGroupDetails.FederatedGroupID=n.viewFedGroupDetails.FederatedGroupID,n.updateSetupFedGroupDetails.IsGuestInviteAcknowledged=n.viewFedGroupDetails.IsGuestInviteAcknowledged,e.RemoveEmptyAttributes(n.updateSetupFedGroupDetails),f.UpdateSetup(n.updateSetupFedGroupDetails).$promise.then(function(n){if(n!=undefined)return t.path("/ExternalFederatedGroups"),n}))};n.activateFedGroup=function(i){i.$invalid||(n.activating=!0,n.updateSetupFedGroupDetails.ID=n.viewFedGroupDetails.ID,f.ActivateGroup(n.updateSetupFedGroupDetails).$promise.then(function(n){if(n!=undefined)return t.path("/ExternalFederatedGroups"),n}))};n.deleteRequest=function(){f.DeleteGroup({ID:n.viewFedGroupDetails.ID}).$promise.then(function(n){if(n!=undefined)return t.path("/ExternalFederatedGroups"),n})}}]);userAdminAppControllersModule.controller("ManageExternalFedGroupsRequestController",["$scope","$location","$sessionStorage","$filter","$parse","PermissionChecker","growl","ExtFedGroupsAPI",function(n,t,i,r,u,f,e,o){n.requestDetails={};n.hasPermission=!1;n.isRequestPageVisible=!0;n.ExternalDomainSelected;n.ExtDomains=[];n.hasPermission=f.contains("GUEST_EXT_FED_CREATE")?!0:!1;n.requestCancelClick=function(){window.history.back()};n.ExtDomainChange=function(){angular.isDefined(n.ExternalDomainSelected)&&(n.requestDetails.B2BOrganisationID=n.ExternalDomainSelected.ID,n.requestDetails.B2BOrganisationDomain=n.ExternalDomainSelected.OrganisationDomain)};o.ExternalDomain().$promise.then(function(t){if(t!=undefined)return n.ExtDomains=t.ExternalOrganisations,t});n.requestSubmitClick=function(i){i.$invalid||o.Submit(n.requestDetails).$promise.then(function(n){if(n!=undefined)return t.path("/ExternalFederatedGroups"),n})}}]);userAdminAppServicesModule.factory("ExternalFedGroupsColumns",function(){return function(){return[{title:"Group Name",key:"FederatedGroupName"},{title:"Organisation Name",key:"B2BOrganisationName"},{title:"Domain Name",key:"OrganisationDomain"},{title:"Status",key:"Status"}]}});userAdminAppServicesModule.factory("ExternalFedGroupsParams",function(){return function(){return{FederatedGroupName:"",B2BOrganisationName:"",OrganisationDomain:"",Status:""}}});userAdminAppServicesModule.factory("ExternalFedGroupsVisibleColumns",function(){return function(){this.FederatedGroupName=!0;this.B2BOrganisationName=!0;this.OrganisationDomain=!0;this.Status=!0}});userAdminAppControllersModule.factory("ExtFedGroupsAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var r="Request failed";angular.isDefined(n.data.Result.Errors)&&n.data.Result.Errors.length>0?n.data.Result.Errors[0].ErrorCode===51?i.path("/AccessDenied"):n.data.Result.Errors[0].ErrorCode===102?r=n.data.Result.Errors[0].Message:(r+=": "+n.data.Result.Errors[0].Message,r+=". "+n.data.Result.Errors[0].Detail):angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");t.error(r,{ttl:1e4})}return n(baseUrlValue,{},{Search:{method:"GET",url:baseUrlValue+"admin/externalfederatedgroups",interceptor:{responseError:u},timeout:r.XhrTimeout},ExternalDomain:{method:"GET",url:baseUrlValue+"B2B/externalorganisations/allowedlist",interceptor:{responseError:u},timeout:r.XhrTimeout},Submit:{method:"POST",url:baseUrlValue+"admin/externalfederatedgroups",interceptor:{responseError:u},timeout:r.XhrTimeout},GetFedGroupDetails:{method:"GET",params:{ID:"@ID"},url:baseUrlValue+"admin/externalfederatedgroups/:ID",interceptor:{responseError:u},timeout:r.XhrTimeout},UpdateSetup:{method:"PUT",url:baseUrlValue+"admin/externalfederatedgroups/setup",interceptor:{responseError:u},timeout:r.XhrTimeout},DeleteGroup:{method:"DELETE",params:{ID:"@ID"},url:baseUrlValue+"admin/externalfederatedgroups/:ID",interceptor:{responseError:u},timeout:r.XhrTimeout},TestConnection:{method:"POST",url:baseUrlValue+"admin/externalfederatedgroups/testConnection",interceptor:{responseError:u},timeout:r.XhrTimeout},ActivateGroup:{method:"POST",url:baseUrlValue+"admin/externalfederatedgroups/activate",interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppServicesModule.factory("ExtFedGroupsService",["$sessionStorage","$filter","$parse",function(){return{RemoveEmptyAttributes:function(n){return _.chain(n).keys().each(function(t){n[t]===""&&delete n[t]}),n},ApprovedStatus:function(){return"Approved Group Details Required"},ApprovedAcknowledgementStatus:function(){return"Approved Guest Invite Acknowledgement Required"},InitialSyncinProgressStatus:function(){return"Initial Sync in Progress"},DeletedStatus:function(){return"Deleted"}}}]);userAdminAppControllersModule.controller("BulkAddGuestsController",["$scope","PermissionChecker","$location","GuestAccessService","Config","FileUploader","blockUI",function(n,t,i,r,u,f,e){function h(){n.uploadedFile=""}function c(){n.fileErrors={fileTooBig:!1,wrongExtension:!1}}var o,s;n.modalMarkupLoaded=function(){n.PermissionChecker=t;n.PermissionChecker.contains("GUEST_USER_CREATE")&&(n.permissionCode="GUEST_USER_CREATE")};n.modalMarkupLoaded();n.cancelClick=function(){i.path("/ViewSponsors")};n.MaxSizeOfUserUpload=r.MaxSizeOfUserUpload();n.MaxSizeOfUserUploadError=!1;o="B2B/importbulkguests";h();c();n.uploader=new f({url:baseUrlValue+o,headers:{Authorization:"Bearer "+sessionStorage.getItem("JWToken")},removeAfterUpload:!0});n.uploader.onAfterAddingFile=function(t){n.selectedFile=t.file.name;h();c();let i=n.uploader.queue[n.uploader.queue.length-1];n.uploader.queue=[];n.uploader.queue.push(i)};n.uploader.onBeforeUploadItem=function(n){n.method="PUT";e.start()};n.uploader.onCompleteAll=function(){e.stop()};s=u.MaxFileSizeForCSVUpload*1048576;n.Upload=function(){if(!angular.isUndefined(n.uploader.queue)){var t=n.uploader.queue[0].file;if(t.size>s){n.fileErrors.fileTooBig=!0;n.uploader.clearQueue();return}if(t.name.split(".").pop()!="csv"){n.fileErrors.wrongExtension=!0;n.uploader.clearQueue();return}n.uploader.url=baseUrlValue+o;n.uploader.uploadAll();document.getElementById("csvUsersUploaderInput").value="";i.path("/ViewSponsors")}};n.clear=function(){angular.element("input[type='file']").val(null);n.selectedFile="";n.uploader.clearQueue()}}]);userAdminAppControllersModule.controller("SponsorRequestController",["$scope","$location","$routeParams","growl","Config","$route","$filter","PermissionChecker","GuestAccessAPI","GuestAccessService",function(n,t,i,r,u,f,e,o,s,h){n.requestDetails=[{Mail:""}];n.emailAddressList=[];n.minGuestUsers=h.MinEmailAddress();n.maxGuestUsers=h.MaxEmailAddress();n.hasCreatePermission=o.contains("GUEST_USER_CREATE");n.hasMinGuestUser=!1;n.cancelClick=function(){t.path("/ViewSponsors")};n.addEmailAddress=function(){n.requestDetails.push({Mail:""});n.hasMinGuestUser=!1};n.removeEmailAddress=function(t){n.requestDetails.splice(t,1);n.hasMinGuestUser=!1};n.sendRequest=function(i){if(!i.$invalid){if(n.emailAddressList=h.EmailAddressList(n.requestDetails),n.emailAddressList.length<n.minGuestUsers){n.hasMinGuestUser=!0;return}n.hasMinGuestUser=!1;s.SendRequest(n.emailAddressList).$promise.then(function(n){if(n!=undefined)return t.path("/ViewSponsors"),n})}}}]);userAdminAppControllersModule.controller("ViewSponsorsController",["$scope","growl","Config","$route","$filter","PermissionChecker","$window","blockUI","$parse","$sessionStorage","$filter","CurrentUser","GuestAccessAPI","GuestAccessColumns",function(n,t,i,r,u,f,e,o,s,h,u,c,l,a){$(function(){$('[data-toggle="tooltip"]').tooltip()});n.isDisabledAddButton=!0;n.disableDeleteButton=!0;n.disableRestoreButton=!0;n.selectedRequest=[];n.GuestEmailAddress={};n.sponsoredUsersColumns=new a;n.itemsOnPage=i.UserList_ItemsOnPage;n.userDataCopy=angular.fromJson(e.sessionStorage.getItem("userData"));(n.userDataCopy!=undefined||n.userDataCopy!=null)&&(n.userDetails=n.userDataCopy);f.contains("GUEST_USER_CREATE")&&(n.isDisabledAddButton=!1);n.showEmptyTable=!0;var v=!0;n.selectUser=function(t){t.selected?v?(n.GuestEmailAddress.Email=t.EmailAddress,v=!1,t.Status=="Active"?(n.disableDeleteButton=!1,n.disableRestoreButton=!0):(n.disableDeleteButton=!0,n.disableRestoreButton=!1)):t.selected=!1:t.EmailAddress==n.GuestEmailAddress.Email&&(n.GuestEmailAddress={},v=!0,n.disableDeleteButton=!0,n.disableRestoreButton=!0)};n.restoreGuestUsers=function(){$("#RestoreGuestUserModal").modal("show")};n.cancelRestoreGuestUser=function(){$("#RestoreGuestUserModal").modal("hide")};n.deleteGuestUsers=function(){$("#DeleteGuestUserModal").modal("show")};n.confirmGuestUserDelete=function(){l.DeleteSponsoredUsers({EmailAddress:n.GuestEmailAddress.Email}).$promise.then(function(){$("#DeleteGuestUserModal").modal("hide");r.reload()})};n.confirmGuestUserRestore=function(){l.RestoreSponsoredUsers({EmailAddress:n.GuestEmailAddress.Email}).$promise.then(function(){$("#RestoreGuestUserModal").modal("hide");r.reload()})};n.sponsoredUsersDisplayedTable=[];l.GetSponsoredUsers({id:c.ID}).$promise.then(function(t){t!=undefined&&(n.sponsoredUsers=t.GuestUserDetails,n.sponsoredUsers.length===0?(n.sponsoredUsersDisplayedTable=[],n.isSponsoredUserEmpty=!0):(n.sponsoredUsersDisplayedTable=[].concat(n.sponsoredUsers),n.isSponsoredUserEmpty=!1))});n.refreshClick=function(){r.reload()}}]);userAdminAppControllersModule.factory("GuestAccessAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var r="Request failed";angular.isDefined(n.data.Result.Errors)&&n.data.Result.Errors.length>0?n.data.Result.Errors[0].ErrorCode===51?i.path("/AccessDenied"):n.data.Result.Errors[0].ErrorCode===102?r=n.data.Result.Errors[0].Message:(r+=": "+n.data.Result.Errors[0].Message,r+=". "+n.data.Result.Errors[0].Detail):angular.isDefined(n.data.Message)?r+=": "+n.data.Message:n.status===0&&(r="Request to server timed out");t.error(r,{ttl:1e4})}return n(baseUrlValue,{},{ExternalDomain:{method:"GET",url:baseUrlValue+"B2B/externalorganisations/allowedlist",interceptor:{responseError:u},timeout:r.XhrTimeout},SendRequest:{method:"POST",url:baseUrlValue+"B2B/sponsorGuestUser",interceptor:{responseError:u},timeout:r.XhrTimeout},GetSponsoredUsers:{method:"GET",params:{id:"@id"},url:baseUrlValue+"B2B/sponsoredusers/:id",interceptor:{responseError:u},timeout:r.XhrTimeout},DeleteSponsoredUsers:{method:"DELETE",params:{EmailAddress:"@EmailAddress"},url:baseUrlValue+"B2B/SponsorGuestUser/:EmailAddress",interceptor:{responseError:u},timeout:r.XhrTimeout},RestoreSponsoredUsers:{method:"POST",params:{EmailAddress:"@EmailAddress"},url:baseUrlValue+"B2B/RestoreSponsorGuestUser/:EmailAddress",interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppServicesModule.factory("GuestAccessColumns",function(){return function(){return[{title:"Display Name",key:"DisplayName"},{title:"Email Address",key:"EmailAddress"},{title:"Creation Date",key:"CreationDate"},{title:"Status",key:"Status"},{title:"Expiry Date",key:"ExpiryDate"}]}});userAdminAppServicesModule.factory("GuestAccessService",["$sessionStorage","$filter","$parse",function(){return{MinEmailAddress:function(){return 1},MaxEmailAddress:function(){return 5},EmailAddressList:function(n){var t=[];return angular.forEach(n,function(n){n.Mail.length>0&&t.push(n.Mail)}),t},RemoveEmptyAttributes:function(n){return _.chain(n).keys().each(function(t){n[t]===""&&delete n[t]}),n},MaxSizeOfUserUpload:function(){return 1e5}}}]);userAdminAppControllersModule.controller("UserEditSelfLeaverOrJoinerController",["$scope","$location","$modal","$http","$timeout","$route","$routeParams","$window","$sessionStorage","$filter","$rootScope","OrganisationObjectHelperService","PermissionChecker","SelfServiceNonAdminAPI","ViewOrganisationAPI","growl","Config","FetchUPN",function(n,t,i,r,u,f,e,o,s,h,c,l,a,v,y,p,w,b){var d,k;moment.locale("en");n.selfServiceRequest={};n.selfService={};n.isOrganisationSelected=!1;n.SelectedOrganisation={};n.organisationRequest={};n.ReasonForLeaving=w.SelfServiceLeaverJoinerReasonForLeaving;n.organisationRequest.FilterParams={};n.ReasonForLeaving=w.SelfServiceLeaverJoinerReasonForLeaving;n.organisationRequest.FilterParams.OrganisationType="Organisation";n.SelectedOrganisation.Name="";n.treedata=[];n.selected={};n.expandedNodes=[];n.currentNode;n.SubmitButtonClicked=!1;d={};n.shouldBeDisabled=!1;n.disableOnChecked=!0;n.hidemyDiv=!1;n.todaysDate="";n.date=new Date;n.isStartDateInValid=!1;n.isEndDateInValid=!1;n.isEndDateAfterStartDate=!0;n.isEndDateInValid=!1;n.shouldBeDisabledIcon=!1;n.checkboxselected=!1;n.pastDateDisableDiv=!1;n.formParams={StartDate:undefined,StartDate_copy:undefined};k=/^(?=\d)(?:(?!(?:(?:0?[5-9]|1[0-4])(?:\.|-|\/)10(?:\.|-|\/)(?:1582))|(?:(?:0?[3-9]|1[0-3])(?:\.|-|\/)0?9(?:\.|-|\/)(?:1752)))(31(?!(?:\.|-|\/)(?:0?[2469]|11))|30(?!(?:\.|-|\/)0?2)|(?:29(?:(?!(?:\.|-|\/)0?2(?:\.|-|\/))|(?=\D0?2\D(?:(?!000[04]|(?:(?:1[^0-6]|[2468][^048]|[3579][^26])00))(?:(?:(?:\d\d)(?:[02468][048]|[13579][26])(?!\x20BC))|(?:00(?:42|3[0369]|2[147]|1[258]|09)\x20BC))))))|2[0-8]|1\d|0?[1-9])([-.\/])(1[012]|(?:0?[1-9]))\2((?=(?:00(?:4[0-5]|[0-3]?\d)\x20BC)|(?:\d{4}(?:$|(?=\x20\d)\x20)))\d{4}(?:\x20BC)?)(?:$|(?=\x20\d)\x20))?((?:(?:0?[1-9]|1[012])(?::[0-5]\d){0,2}(?:\x20[aApP][mM]))|(?:[01]\d|2[0-3])(?::[0-5]\d){1,2})$/;n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.OrganisationNameOptions=n.SelectedOrganisation};$("#userProfile_SelfServiceInfo").modal("show");n.cancelLeaverRequest=function(){window.location.href=baseUrl+"Profile"};n.getUserDetails=function(){b.Get().$promise.then(function(t){n.EmailAddressLoggedIn=t.Email;n.CurrentOrganisationName=t.Organisation.Name})};n.getUserDetails();n.selectDate=function(){n.selectedRow?(n.formParams.StartDate_copy="Already Left",n.shouldBeDisabled=!0,n.shouldBeDisabledIcon=!0,n.disableOnChecked=!1,n.checkboxselected=!1,n.hidemyDiv=!0,n.pastDateDisableDiv=!1,n.isStartDateInValid=!1):(n.shouldBeDisabled=!1,n.shouldBeDisabledIcon=!1,n.disableOnChecked=!0,n.hidemyDiv=!1)};n.$watch("formParams.StartDate",function(t,i){var r=new Date;i==undefined&&(i="");t!==i&&t!=undefined&&(n.formParams.StartDate_copy=h("date")(n.formParams.StartDate,"dd/MM/yyyy"),n.pastDateDisableDiv=n.formParams.StartDate.setHours(0,0,0,0)<r.setHours(0,0,0,0))});n.$watch("formParams.StartDate_copy",function(t,i){var r=new Date;t!==i&&t!=undefined&&(n.formParams.StartDate_copy=h("date")(n.formParams.StartDate,"dd/MM/yyyy"),n.pastDateDisableDiv=n.formParams.StartDate.setHours(0,0,0,0)<r.setHours(0,0,0,0));t!==i&&(k.test(t)&&t.length==16?(n.formParams.StartDate=new Date(t.replace(/(\d{2})-(\d{2})-(\d{4}) (\d{2}):(\d{2})/,"$2/$1/$3 $4:$5")),n.isStartDateInValid=!1,n.invalidStartDateErrorMessage="",n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""):k.test(t)==!1&&(t==""||t==undefined||t.length==10?(n.isStartDateInValid=!1,n.invalidStartDateErrorMessage="",n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""):(n.isStartDateInValid=!0,n.invalidStartDateErrorMessage="Please select date in 'DD-MM-YYYY' format",n.isEndDateAfterStartDate=!0,n.EndDateAfterStartDateErrorMessage=""),n.formParams.StartDate=undefined))});n.SelfUserSubmitClick=function(t){if((n.isStartDateInValid==!0||n.pastDateDisableDiv==!0)&&(t.$invalid=!0),n.selectedRow&&(t.$invalid=n.SelfServiceLeaverData==undefined?!0:!1),n.CurrentOrganisationName==n.SelectedOrganisation.Name&&(t.$invalid=!0,p.error("<b> error <\/b>: An exception has occurred. User cannot be moved/transferred to same organisation")),!t.$invalid){(n.formParams.StartDate_copy==undefined||n.formParams.StartDate_copy==null)&&(n.formParams.StartDate_copy="Already Left");var i={Comment:n.SelfServiceLeaverData,TentativeLeavingDate:n.formParams.StartDate_copy,OrganisationID:n.SelectedOrganisation.ID};n.SubmitButtonClicked=!0;v.Update(i).$promise.then(function(){u(function(){window.location.href=baseUrl+"Profile"},5e3)})}}}]);userAdminAppControllersModule.factory("SelfServiceNonAdminAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var u="Request failed";angular.isDefined(n.data.Errors)&&n.data.Errors.length>0?n.data.Errors[0].Code===51?i.path("/AccessDenied"):(u+=": "+n.data.Errors[0].Message,u+=". "+n.data.Errors[0].Detail):angular.isDefined(n.data.Message)?u+=": "+n.data.Message:n.status===0&&(u="Request to server timed out");t.error(u,{ttl:r.Growl_TimeToLeave})}return n(baseUrlValue,{},{Update:{method:"PUT",url:baseUrlValue+"LeaverJoinerSelfService",interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppControllersModule.controller("UserEditSelfServiceDisableMFAController",["$scope","$location","$modal","$timeout","$window","SelfServiceNonAdminDisableMFAAPI","growl","Config","FetchUPN",function(n,t,i,r,u,f,e,o,s){n.ConfirmButtonClicked=!1;$("#userProfile_SelfServiceDisableInfo").modal("show");n.cancelMFADisableRequest=function(){window.location.href=baseUrl+"Profile"};n.getUserDetails=function(){s.Get().$promise.then(function(t){n.EmailAddressLoggedIn=t.Email;n.CurrentOrganisationName=t.Organisation.Name})};n.getUserDetails();n.DisableMFAConfirm=function(){n.ConfirmButtonClicked=!0;f.Update().$promise.then(function(){r(function(){window.location.href=baseUrl+"Profile"},5e3)})}}]);userAdminAppControllersModule.factory("SelfServiceNonAdminDisableMFAAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var u="Request failed";angular.isDefined(n.data.Errors)&&n.data.Errors.length>0?n.data.Errors[0].Code===51?i.path("/AccessDenied"):(u+=": "+n.data.Errors[0].Message,u+=". "+n.data.Errors[0].Detail):angular.isDefined(n.data.Message)?u+=": "+n.data.Message:n.status===0&&(u="Request to server timed out");t.error(u,{ttl:r.Growl_TimeToLeave})}return n(baseUrlValue,{},{Update:{method:"PUT",url:baseUrlValue+"DisableMFASelfService",interceptor:{responseError:u},timeout:r.XhrTimeout}})}]);userAdminAppControllersModule.controller("UserAdminCreateBookingCalendarController",["$scope","$sessionStorage","$filter","Config","$parse","growl","BookingCalendarAPI","ViewOrganisationAPI",function(n,t,i,r,u,f,e,o){n.bookingCalendarRequest={};n.bookingCalendar={};n.UsersVisitors=[];n.UsersAdmin=[];n.bookingCalendar.Admins=[];n.bookingCalendar.Viewers=[];n.newValueDuplicateLength=r.NewValueDuplicateLength;n.newValueMembersDuplicateLength=r.NewValueMembersDuplicateLength;n.UsersVisitorsTempCopy=[];n.UsersAdminTempCopy=[];n.selectedEmail=[];n.UsersDuplicate=[];n.UsersDuplicateConcat="";n.isUserDuplicate=!1;n.showUserpicker=!1;n.showUserpickerInputEmail=!1;n.selectedOrganisationIds=[];n.showOrganisationSelectedErr=!1;n.UsersVisitorsTempCopyLimitExceeded=!1;n.UsersAdminTempCopyLimitExceeded=!1;n.organisationRequest={};n.organisationRequest.FilterParams={};n.organisationRequest.FilterParams.OrganisationType="Organisation";n.SelectedOrganisation={};n.showBookingCalendarAlert=!0;n.isMailBoxLimitReached=!1;n.filteritems={EmailType:["Shared","Contact","Resource"],IsCloudMailbox:!1,Status:["Pending","Disabled","Suspended","PendingError","Deleted","Deleting","Disabled (Leaver)","Deleted (Leaver)","Deleted_Permanent","Restoring"]};n.userPickerFilter={Status:["Pending","Disabled","Suspended","PendingError","Deleted","Deleting","Disabled (Leaver)","Deleted (Leaver)","Deleted_Permanent","Restoring"]};n.treedata=[];n.expandedNodes=[];n.currentNode;n.isOrganisationSeleted=!1;n.opts={injectClasses:{ul:"c-ul",li:"c-li",liSelected:"c-liSelected",iExpanded:"c-iExpanded",iCollapsed:"c-iCollapsed",iLeaf:"c-iLeaf",label:"c-label",labelSelected:"c-labelSelected"}};n.AminUserListErrors={required:!1};n.modalMarkupLoaded=function(){$("#bookingCalendar_formResult").removeClass("alert-success alert-danger").html("")};n.modalMarkupLoaded();var s;s=n.$watchGroup(["bookingCalendar.serviceName","bookingCalendar.clinicName","SelectedOrganisation.ShortName"],function(t,i){if(t[0]!==i[0]){if(n.bookingCalendar_form.bookingCalendarInputName.$valid&&n.bookingCalendar.serviceName!=undefined&&n.bookingCalendar_form.bookingCalendarInputClinicName.$valid&&n.bookingCalendar.clinicName!=undefined&&n.bookingCalendar_form.bookingCalendarDropDownOrganisation.$valid&&n.SelectedOrganisation.ShortName!=undefined){var r=n.SelectedOrganisation.ShortName;n.bookingCalendar.displayName=r+" "+n.bookingCalendar.serviceName+" "+n.bookingCalendar.clinicName}}else n.bookingCalendar.displayName=""});n.stopUpdating=function(){s()};n.pick=function(t){angular.copy(t,n.SelectedOrganisation);n.OrganisationNameOptions=n.SelectedOrganisation;n.organisationChange();n.$broadcast("OrganisationChanged")};n.organisationChange=function(){if(n.SelectedOrganisation.ShortName==""||n.SelectedOrganisation.ShortName==null||n.SelectedOrganisation.ShortName==undefined){n.isOrganisationSeleted=!1;return}n.SelectedOrganisation!=null&&n.SelectedOrganisation!=undefined?(angular.copy([],n.treedata),angular.copy([],n.treedata),angular.copy([],n.selectedOrganisationIds),o.ViewOrganisation(n.SelectedOrganisation).$promise.then(function(t){n.isOrganisationSeleted=!0;n.treedata.push(t);n.expandedNodes=[n.treedata[0]];n.currentNode=n.treedata[0];n.showOrganisationSelectedErr=!1;n.selectedOrganisationIds.push(n.SelectedOrganisation.ID)})):(angular.copy([],n.treedata),n.SelectedOrganisation=undefined,n.isOrganisationSeleted=!1)};n.initializeListSizeExceedingErrorMessage=function(){n.UsersVisitorsTempCopyLimitExceeded=!1;n.UsersAdminTempCopyLimitExceeded=!1};n.removeUser=function(t,r){var f=u(r)(n),e=i("removeElementFromArrayOfObject")(f,"emailAddress",t.emailAddress);u(r).assign(n,e)};n.addUser=function(r){n.UsersDuplicate=[];n.isUserDuplicate=!1;t.currentSource=r;$("#bookingCalendar_formResult").removeClass("alert-success alert-danger").html("");n.AminUserListErrors.required=!1;n.initializeListSizeExceedingErrorMessage();angular.copy([],n.selectedEmail);n.showUserpicker=!0;var f=n.$on("UserPickerSelectionDone",function(){var e=t.currentSource,l=u(e)(n),s=[],h;angular.forEach(n.selectedEmail,function(t){var i=!1;t.Email!=null&&(e==="UsersAdminTempCopy"&&n.UsersVisitorsTempCopy.filter(function(r){r.emailAddress===t.Email&&(i=!0,n.UsersDuplicate.push(t.Email))})[0],e==="UsersVisitorsTempCopy"&&n.UsersAdminTempCopy.filter(function(r){r.emailAddress===t.Email&&(i=!0,n.UsersDuplicate.push(t.Email))})[0],i==!1&&(h={emailAddress:t.Email,displayName:t.DisplayName},s.push(h)))});n.UsersDuplicate.length!=0&&(n.isUserDuplicate=!0,n.UsersDuplicateConcat=n.UsersDuplicate.join(","));var a=l.concat(s),o=i("removeDuplicates")(a,"emailAddress"),c=r+"LimitExceeded";e==="UsersAdminTempCopy"&&(o.length<=n.newValueDuplicateLength?u(e).assign(n,o):u(c).assign(n,!0));e==="UsersVisitorsTempCopy"&&(o.length<=n.newValueMembersDuplicateLength?u(e).assign(n,o):u(c).assign(n,!0));f();n.showUserpicker=!1})};n.addEmailAddress=function(i){if(n.isOrganisationSeleted){t.currentSource=i;n.showOrganisationSelectedErr=!1;n.showBookingCalendarAlert=!1;$("#bookingCalendar_formResult").removeClass("alert-success alert-danger").html("");angular.copy([],n.selectedEmail);n.showUserpickerInputEmail=!0;var r=n.$on("UserPickerSelectionDone",function(){var i=t.currentSource;angular.forEach(n.selectedEmail,function(t){t.Email!=null&&u(i).assign(n,t.Email)});r();n.showUserpickerInputEmail=!1;n.showBookingCalendarAlert=!0})}else n.showOrganisationSelectedErr=!0};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1;n.showUserpickerInputEmail=!1;n.showBookingCalendarAlert=!0});n.bookingCalendarCreateClick=function(t){var o,i,r,u;if($("#userDetails_formResult").removeClass("alert-success alert-danger").html(""),n.AminUserListErrors.required=!1,n.UsersAdminTempCopy.length===0){n.AminUserListErrors.required=!0;return}if(!t.$invalid&&n.SelectedOrganisation&&n.SelectedOrganisation.Name!=undefined&&!n.SelectedOrganisation.ID!=undefined){if(angular.equals(n.UsersVisitorsTempCopy,n.UsersVisitors)&&angular.equals(n.UsersAdminTempCopy,n.UsersAdmin)){o="No user list changed. Please add or remove users from any list to proceed.";$("#bookingCalendar_formResult").addClass("alert-danger").html(o);return}angular.copy(n.UsersVisitorsTempCopy,n.UsersVisitors);i=[];angular.forEach(n.UsersAdminTempCopy,function(t){i.indexOf(t.emailAddress)!==-1?n.UsersAdminTempCopy.pop():i.push(t)});angular.copy(n.UsersAdminTempCopy,n.UsersAdmin);r=[];u=[];angular.forEach(n.UsersVisitors,function(n){n.emailAddress!=null&&r.push(n)});angular.forEach(n.UsersAdmin,function(n){n.emailAddress!=null&&u.push(n)});angular.copy(r,n.bookingCalendar.Viewers);angular.copy(u,n.bookingCalendar.Admins);n.bookingCalendar.organisationId=n.SelectedOrganisation.ID;n.bookingCalendar.organisationUnitId=n.currentNode.ID;n.bookingCalendarRequest=n.bookingCalendar;e.Create(n.bookingCalendarRequest).$promise.then(function(n){f.success("<b>success: <\/b>"+n.Message);window.history.back()})}};n.bookingCalendarCancelClick=function(){window.history.back()}}]);userAdminAppControllersModule.controller("UserAdminEditBookingCalendarController",["$scope","$sessionStorage","$filter","Config","$parse","growl","$routeParams","PermissionChecker","BookingCalendarAPI","BookingCalendarAPIResponse",function(n,t,i,r,u,f,e,o,s,h){n.bookingCalendarRequest={};n.bookingCalendarDeleteRequest={};n.bookingCalendar=h;n.UsersVisitors=h.Viewers;n.UsersAdmin=h.Admins;n.newValueDuplicateLength=r.NewValueDuplicateLength;n.newValueMembersDuplicateLength=r.NewValueMembersDuplicateLength;n.UsersVisitorsTempCopy=h.Viewers;n.UsersAdminTempCopy=h.Admins;n.Phone=h.Phone;n.EmailAddress=h.EmailAddress;n.selectedEmail=[];n.UsersDuplicate=[];n.UsersDuplicateConcat="";n.isUserDuplicate=!1;n.showUserpicker=!1;n.showUserpickerInputEmail=!1;n.selectedOrganisationIds=[];n.showOrganisationSelectedErr=!1;n.UsersVisitorsTempCopyLimitExceeded=!1;n.UsersAdminTempCopyLimitExceeded=!1;n.showBookingCalendarAlert=!0;n.isMailBoxLimitReached=!1;n.removedAdmins=[];n.removedViewers=[];n.addedAdmins=[];n.addedViewers=[];n.UpdateEnabled=n.bookingCalendar.Status==="Active"&&o.contains("BOOKING_CALENDAR_UPDATE");n.DeleteEnabled=n.bookingCalendar.Status==="Active"&&o.contains("BOOKING_CALENDAR_DELETE");n.filteritems={EmailType:["Shared","Contact","Resource"],IsCloudMailbox:!1,Status:["Pending","Disabled","Suspended","PendingError","Deleted","Deleting","Disabled (Leaver)","Deleted (Leaver)","Deleted_Permanent","Restoring"]};n.userPickerFilter={Status:["Pending","Disabled","Suspended","PendingError","Deleted","Deleting","Disabled (Leaver)","Deleted (Leaver)","Deleted_Permanent","Restoring"]};n.selectedOrganisation=h.OrganisationId;n.selectedOrganisationUnit=h.OrganisationUnitId;n.selectedOrganisationIds.push(h.OrganisationId);n.initializeListSizeExceedingErrorMessage=function(){n.UsersVisitorsTempCopyLimitExceeded=!1;n.UsersAdminTempCopyLimitExceeded=!1};n.AminUserListErrors={required:!1};n.modalMarkupLoaded=function(){$("#bookingCalendar_formResult").removeClass("alert-success alert-danger").html("")};n.modalMarkupLoaded();n.removeUser=function(t,r){var s=u(r)(n),h=i("removeElementFromArrayOfObject")(s,"EmailAddress",t.EmailAddress),f,e,o;u(r).assign(n,h);f={EmailAddress:t.EmailAddress,DisplayName:t.DisplayName,Id:t.Id,Action:"remove"};r=="UsersAdminTempCopy"&&(e=!1,angular.forEach(n.addedAdmins,function(i,r){i.EmailAddress==t.EmailAddress&&(e=!0,n.addedAdmins.splice(r,1))}),e||n.removedAdmins.push(f));r=="UsersVisitorsTempCopy"&&(o=!1,angular.forEach(n.addedViewers,function(i,r){i.EmailAddress==t.EmailAddress&&(o=!0,n.addedViewers.splice(r,1))}),o||n.removedViewers.push(f))};n.addUser=function(r){n.UsersDuplicate=[];n.isUserDuplicate=!1;t.currentSource=r;$("#bookingCalendar_formResult").removeClass("alert-success alert-danger").html("");n.AminUserListErrors.required=!1;n.initializeListSizeExceedingErrorMessage();angular.copy([],n.selectedEmail);n.showUserpicker=!0;var f=n.$on("UserPickerSelectionDone",function(){var e=t.currentSource,l=u(e)(n),h=[],o;angular.forEach(n.selectedEmail,function(t){var i=!1,u,f;t.Email!=null&&(n.UsersVisitorsTempCopy.filter(function(r){r.EmailAddress===t.Email&&e!=="UsersVisitorsTempCopy"&&(i=!0,n.UsersDuplicate.push(t.Email))})[0],n.UsersAdminTempCopy.filter(function(r){r.EmailAddress===t.Email&&e!=="UsersAdminTempCopy"&&(i=!0,n.UsersDuplicate.push(t.Email))})[0],i==!1&&(o={EmailAddress:t.Email,DisplayName:t.DisplayName,Id:"",Action:"add"},h.push(o),r=="UsersAdminTempCopy"&&(u=!1,angular.forEach(n.removedAdmins,function(i,r){i.EmailAddress==t.Email&&(u=!0,n.removedAdmins.splice(r,1))}),u||n.addedAdmins.push(o)),r=="UsersVisitorsTempCopy"&&(f=!1,angular.forEach(n.removedViewers,function(i,r){i.EmailAddress==t.Email&&(f=!0,n.removedViewers.splice(r,1))}),f||n.addedViewers.push(o))))});n.UsersDuplicate.length!=0&&(n.isUserDuplicate=!0,n.UsersDuplicateConcat=n.UsersDuplicate.join(","));var a=l.concat(h),s=i("removeDuplicates")(a,"EmailAddress"),c=r+"LimitExceeded";e==="UsersAdminTempCopy"&&(s.length<=n.newValueDuplicateLength?u(e).assign(n,s):u(c).assign(n,!0));e==="UsersVisitorsTempCopy"&&(s.length<=n.newValueMembersDuplicateLength?u(e).assign(n,s):u(c).assign(n,!0));f();n.showUserpicker=!1})};n.addEmailAddress=function(i){if(n.selectedOrganisation==undefined)n.showOrganisationSelectedErr=!0;else{t.currentSource=i;n.showOrganisationSelectedErr=!1;n.showBookingCalendarAlert=!1;n.$broadcast("OrganisationChanged");$("#bookingCalendar_formResult").removeClass("alert-success alert-danger").html("");angular.copy([],n.selectedEmail);n.showUserpickerInputEmail=!0;var r=n.$on("UserPickerSelectionDone",function(){var i=t.currentSource;angular.forEach(n.selectedEmail,function(t){t.Email!=null&&u(i).assign(n,t.Email)});r();n.showUserpickerInputEmail=!1;n.showBookingCalendarAlert=!0})}};n.$on("UserPickerSelectionCancelled",function(){n.showUserpicker=!1;n.showUserpickerInputEmail=!1;n.showBookingCalendarAlert=!0});n.bookingCalendarEditClick=function(t){var u,i,r;if($("#userDetails_formResult").removeClass("alert-success alert-danger").html(""),n.AminUserListErrors.required=!1,n.UsersAdminTempCopy.length===0){n.AminUserListErrors.required=!0;return}if(!t.$invalid&&h.OrganisationId!=undefined){if(angular.equals(n.UsersVisitorsTempCopy,n.UsersVisitors)&&angular.equals(n.UsersAdminTempCopy,n.UsersAdmin)&&n.Phone===n.bookingCalendar.Phone&&n.EmailAddress===n.bookingCalendar.EmailAddress){u="No user list, phone or reply email address changed. Please add or remove users from any list, change phone or reply email address to proceed.";$("#bookingCalendar_formResult").addClass("alert-danger").html(u);return}i=[];r=[];angular.forEach(n.addedViewers,function(n){n.EmailAddress!=null&&i.push(n)});angular.forEach(n.removedViewers,function(n){n.EmailAddress!=null&&i.push(n)});angular.forEach(n.addedAdmins,function(n){n.EmailAddress!=null&&r.push(n)});angular.forEach(n.removedAdmins,function(n){n.EmailAddress!=null&&r.push(n)});n.bookingCalendarRequest.BookingId=e.BookingID;n.bookingCalendarRequest.Admins=[];n.bookingCalendarRequest.Viewers=[];angular.copy(i,n.bookingCalendarRequest.Viewers);angular.copy(r,n.bookingCalendarRequest.Admins);n.bookingCalendarRequest.Phone=n.bookingCalendar.Phone;n.bookingCalendarRequest.EmailAddress=n.bookingCalendar.EmailAddress;n.bookingCalendarRequest.OrganisationID=h.OrganisationId;n.bookingCalendarRequest.DisplayName=n.bookingCalendar.DisplayName;s.Update(n.bookingCalendarRequest).$promise.then(function(n){f.success("<b>success: <\/b>"+n.Message);window.history.back()}).catch(function(){f.error("There was a problem Updating the Booking Calendars")})}};n.deleteBookingCalendar=function(){n.bookingCalendarDeleteRequest.BookingId=e.BookingID;s.Delete({BookingId:e.BookingID,orgId:n.bookingCalendar.OrganisationId,name:n.bookingCalendar.DisplayName}).$promise.then(function(n){f.success("<b>success: <\/b>"+n.Message);window.history.back()}).catch(function(){f.error("There was a problem Deleting the Booking Calendars")})};n.bookingCalendarCancelClick=function(){window.history.back()}}]);userAdminAppControllersModule.controller("BookingCalendarSearchController",["$scope","$location","$filter","BookingCalendarAPI","PermissionChecker","Config","growl",function(n,t,i,r,u,f,e){n.itemsOnPage=f.UserList_ItemsOnPage;n.Status=["Active","Updating","Deleted"];n.$location=t;n.PermissionChecker=u;n.isSearchBookingCalendarEmpty=!1;n.bookingCalendarSearchColumns=[{key:"DisplayName",title:"Display Name"},{key:"EmailAddress",title:"Reply Email Address"},{key:"OrganisationName",title:"Organisation"},{key:"Status",title:"Status"}];n.bookingCalendarSearchParams={DisplayName:"",EmailAddress:"",OrganisationName:""};var o=function(n){_.chain(n).keys().each(function(t){n[t]===""&&delete n[t]})};n.callSearchAPI=function(){n.showEmptyTable=!0;o(n.bookingCalendarSearchParams);r.Search(n.bookingCalendarSearchParams).$promise.then(function(t){n.bookingCalendarList=i("orderObjectBy")(t,"DisplayName");n.bookingCalendarList.length==0?(n.isSearchBookingCalendarEmpty=!0,n.bookingCalendarItems=[]):(n.isSearchBookingCalendarEmpty=!1,n.bookingCalendarItems=[].concat(n.bookingCalendarList))}).catch(function(){e.error("There was a problem retrieving the Booking Calendars")})};n.searchIfEnterKey=function(t){t.which===13&&n.callSearchAPI()}}]);userAdminAppControllersModule.factory("BookingCalendarAPI",["$resource","growl","$location","Config",function(n,t,i,r){function u(n){var r="Request failed";angular.isDefined(n.data.Result.Errors)&&n.data.Result.Errors.length>0?n.data.Result.Errors[0].ErrorCode===51?i.path("/AccessDenied"):n.data.Result.Errors[0].ErrorCode===102?r=n.data.Result.Errors[0].Message:(r+=": "+n.data.Result.Errors[0].Message,r+=". "+n.data.Result.Errors[0].Detail):angular.isDefined(n.data.Result.Errors[0].Message)?r+=": "+n.data.Result.Errors[0].Message:n.status===0?r="Request to server timed out":n.data.Result.Errors[0].ErrorCode===3&&(r=n.data.Result.Errors[0].Message+" "+n.data.Result.Errors[0].Detail);t.error(r,{ttl:1e4})}return n(baseUrlValue+"bookingCalendar/:bookingID",{bookingID:"@bookingID"},{Search:{method:"POST",url:baseUrlValue+"bookingCalendar/search",isArray:!0,interceptor:{responseError:u},timeout:r.XhrTimeout},Create:{method:"POST",url:baseUrlValue+"bookingCalendar/create",interceptor:{responseError:u},timeout:r.XhrTimeout},Get:{method:"GET",params:{bookingID:"@bookingID"},interceptor:{responseError:u},timeout:r.XhrTimeout},Update:{method:"PUT",url:baseUrlValue+"bookingCalendar",interceptor:{responseError:u},timeout:r.XhrTimeout},Delete:{method:"DELETE",params:{BookingId:"@BookingId",orgId:"@orgId",name:"@name"},url:baseUrlValue+"bookingCalendar/:BookingId",interceptor:{responseError:u},timeout:r.XhrTimeout}})}])