{"version":3,"sources":["app/app.min.js"],"names":["$scope","switchUserProfile","$http","$state","$modal","headers","Authorization","m","n","e","open","o","g","element","bind","attrs","$observe","$on","get","srcLoaded","sessionStorage","directive","UserDetailId","id","tracker","$compile","then","response","clear","webRtcClient","makeCall","scope","setVideoElements","angular","conn","userProfile","currentUser","$rootScope","themeSettings","appSettings","theme","self","status","init","myId","$safeApply","canCall","hangUpCall","title","myVideoElement","prop","chartConfig","options","refreshOn","chart","tooltip","point","templateUrl","controller","seriesData","onPointClick","template","result","portfolioData","loadAumOverTime","type","isNonClient","global","currentValueChart","ack","goalTrackChartCtrl","xAxis","window","isLoaded","length","setSelectedTab","tab","navigation","toggleSidebarExpanded","current","loadCommentaryItem","commentaryData","loadCommentary","toggleAddTaskMode","backdrop","isAddTaskMode","addTask","updateSettings","linkProvider","report","has","onDemandDocumentInit","showFidelityModal","balanceSheetChart","goalTracking","rmd","loadRmd","account","accountsData","sidebarExpanded","app","activity","profile","annuities","showUnitsPrice","showCostBasis","integrationSettings","integration","externalId","email","performance","customAttributes","getInceptionDate","a","createElement","portfolio","installIt","name","authorization","userGuid","tabs","dateSelected","loadGroup","group","loadAccount","accounts","_fs_namespace","document","categoryList","console","activityList","newCategory","omitCount","$watch","b","s","q","push","_api","previousName","openChatWindow","openCalendar","advisor","chatStatus","isImageWide","v","cancelWatcher","i","p","downloadFile","staticFilesData","downloads","files","restart","log","consent","arguments","identifyAccount","acctId","clearUserCookie","extendedOptions","iframeResizer","_w","y","requiresToken","$eval","_v","FS","identify","loginUserId","displayName","inProgress","entity","firmId_int","searchText","url","loginLevel_str","member","householdMember","$q","client","memberData","clientId","allowEditSSN","deleteAccount","update","params","oldPassword","$stateParams","newPassword","entityId","$modalInstance","content","message","endDate","dismiss","entityObj","isString","$sce","trustAsResourceUrl","args","isCalendar","tempToken","oas_token","getDifferentToken","searchClients","promiseTracker","setTimeout","databases","alClientId","goToVendor","vendor","promiseId","trackerMsgs","remove","token","appInitMgr","String","hex","replace","c","Math","min","max","toString","setColors","user","twoFactor","constant","openModal","openUserProfile","internal","openSettings","$timeout","openCommentaryManager","reports","unstorable","parameters","openDownloadManager","rssEnabled","openAcknowledgementManager","types","list","field","match","isVideoStmtsLoaded","loadGlobalFiles","groupedSettings","rawSettings","isSettingValid","setting","togglePhoneVerification","stateTab","canEditBilling","verificationPin","subscription","schedule","userDtl","sectionDescriptions","Object","acknowledgement","provider","cloudStorageProviders","isManaged","isPerformanceExcluded","registrationName","isEnabled","newValue","oldValue","loadSettings","startUpSettings","any","state","isClientLoaded","topLevelNav","find","nameParts","insightDashboards","registrationId","children","dashboard","icon","cleanLogout","timeout","minutes","location","host","activityMap","forEach","bucket","keys","responses","entityOptions","data","reduce","accountActivitySummaryDetail","inclusionOption","config","balanceSheet","liabilities","isCurrentLevel","settingLevel","showInsightDashboards","trackerMsg","buildNavigation","rssData","tasksData","checkIfAlreadyTradedToday","item","newTask","dueDate","formatted","body","generateTrades","trade","amount","cashTradeAmount","Date","create","component","updates","$ctrl","section","Emails","Phones","Cards","step","$window","CommunitySAML","showSF_Comm_Label","sfCommunityButtonLabel","showSF_Comm_Text","sfCommunityText","cloudStorageData","egnyte","settings","label","resolve","href","getLinkProviderUrl","domain","noop","unlinkProvider","refreshFolder","loadFolder","cloud","selectedFolder","folder","addFolder","newFolder","folderFormOpen","deleteFileOrFolder","fileOrFolder","file","getFileUrl","uploadFiles","$files","isEmpty","canAddFolder","canUploadFile","reportsData","loadReport","setRb3Dates","option","range","start","date","startDate","end","useInception","setDates","rangeName","addMonths","beginningOfMonth","endOfMonth","addYears","beginningOfYear","endOfYear","getStartOfQuarter","addDays","selected","value","runReport","errorMessage","subTitle","reportName","messages","runTo","reportOptions","calculateInception","statementsData","pershingDocumentData","fidelityDocumentData","onDemandDocumentService","setOnDemandDocuments","categoryName","documentList","index","statements","findIndex","firstLastName","category","loadCategory","pillBarLabel","hasCustodianToken","downloadStatement","onDemandDocument","concat","playVideoStatement","video","getVideoUrl","windowClass","openStatementSettings","unlinkFidelityAccount","getDefaultObject","this","refreshDate","validateDates","refreshError","fidelityToken","getFidelityDocuments","getPershingDocuments","documentSettings","documents","getStartDate","getEndDate","usePershingDocuments","useFidelityDocuments","loadActivity","loadAnnuities","expandSelectedGroup","holdings","expanded","showAssetGainLossSummary","asset","resolves","assetId","loadHoldings","$broadcast","showActivity","showPerformance","loadPerformance","loadData","inceptionDate","isBefore","clone","canView","stopPropagation","applyQuickDate","quickDate","changeSettings","setAndRefresh","isAfter","manageLinkedAccounts","refreshPendingAccounts","processByAllError","error","byAllError","level","includes","isBlank","allowLinkedAccounts","portfolioDataOptions","portfolioSettings","all","showDateRange","APP_CONFIG","balanceSheetData","refreshChartSeries","series","addManualAccount","mode","categories","addAccount","addByAllAccount","baseApiUrl","refreshByAllAccounts","editAccount","originalAccount","extend","accountToEdit","copy","updateAccount","editCategoryName","oldName","updateCategoryName","legend","plotOptions","stacking","groupPadding","pointPadding","formatter","x","Highcharts","numberFormat","stackTotal","labels","enabled","yAxis","text","linkMode","byallAggregationEnabled","load","loadGoalTracking","$location","tradingData","colorizer","loadFromSummary","groups","items","isOpen","openAddProductModal","modalScope","$new","accountId","addNewAsset","modelingInfo","customAllocations","target","product","targetPercent","removeAsset","selectAsset","copyModel","activeTab","inactiveTab","currentModel","currentModelCopy","oldItem","productId","currentPercent","saveAllocation","saveAccountModelingInfo","errorsOrData","isArray","join","hideResolution","rebalance","rebalanceAccount","goToTrades","path","selectChartItem","updateTargetChart","productName","ticker","getAccountModelingInfo","allocationSummary","accountList","sortBy","selfDirected","color","strategistManaged","isSelfDirected","groupName","colors","getShadesOfColor","number","percent","isValid","transactionList","advisorList","processDateList","transList","numOfBuys","numOfSells","numOfCancels","numOfTrades","format","Array","tritm","regRepNumber","processDate","details","trans","quantity","parseFloat","price","orderType","toLowerCase","loadGridAndSummary","loadAvailableDates","statementStartDate","statementEndDate","availableDates","map","changeDateRange","setNewDate","exportToExcel","columns","post","openTrans","userDetail","address","address1","city","zip","transDtl","disclaimerYear","getFullYear","deleteInstance","instanceId","deletedIds","trades","refreshTrades","getCurrentTrades","restrict","link","toggled","activityCategories","currentName","omitValue","cat","updateActivityList","count","addCategory","none","syncOmitCount","each","key","catName","getCategory","advisorCalendarUrl","undefined","image","Image","onload","naturalWidth","naturalHeight","src","attr","isActive","indexOf","css","primaryBgColor","set","child","hasClass","defaultOptions","enablePublicMethods","checkOrigin","JSON","parse","iFrameResize","setHeight","offset","autoHeightOffset","parseInt","height","innerHeight","unbind","bigMode","remainingOptions","subtract","highlightedOptions","highlightedValues","moveSome","highlightedItems","sourceArray","destinationArray","moveAll","add","priority","compile","pre","newScopeInit","$set","commonFormatter","props","placeholder","representative","brokerdealer","ria","benchmark","unmasquerade","mapFn","userId","entityName","required","search","getData","encodeURIComponent","Unmasquerade","dateInput","quickTradeCtrl","setAccountTradeInfo","quickTrade","resetQuickTrade","product2","setType","setAction","custodian","action","amountPlaceholder","Shares","Dollars","Percent","addTrade","cash","postTrade","validateTrade","validation","submitTrades","onTradesCreated","removeTrade","tradeableAccounts","mainTracker","exclude","findAll","selectedItem","onSelect","selectItem","deferred","defer","addPromise","promise","srcLoadTracker","treeId","treeModel","nodeId","nodeLabel","nodeChildren","currentNode","showFiles","angularTreeview","selectNode","selectedNode","collapsed","getIcon","node","html","append","valueAsOfDateCtrl","loadCurrentValue","currentValue","total","hangUp","closeWindow","closeChatWindow","toggleWindowSize","smallWindow","advisorSettings","service","ADVISOR_ID","peer","theirVideoElement","calleeOnline","callInProgress","windowOpen","cleanUpPeer","destroyed","destroy","pollAgain","pollForPresence","videoChatPollInterval","connect","on","theirId","util","supports","audioVideo","onunload","onbeforeunload","navigator","getUserMedia","webkitGetUserMedia","mozGetUserMedia","Peer","peerApiKey","err","myElement","theirElement","audio","myStream","call","URL","createObjectURL","theirStream","existingCall","close","allocationChartCtrl","pie","allowPointSelect","cursor","innerSize","dataLabels","pointFormat","credits","events","click","$apply","toUpperCase","margin","style","fontSize","selectOn","split","eventName","event","getHighcharts","setState","refresh","select","aumOverTimeChartCtrl","borderWidth","xDateFormat","followTouchMove","shared","areaspline","lineWidth","pointStart","aumOverTime","UTC","pointInterval","marker","radius","symbol","gridLineColor","aumValues","fillOpacity","naiValues","subtitle","currentValueChartCtrl","column","crop","overflow","setChartData","values","valueProperty","valueDecimals","valuePrefix","overviewChartCtrl","performanceChartCtrl","performancePeriods","removedIndexes","splice","benchmarks","rotation","align","fontFamily","tickPixelInterval","riskTargetChartCtrl","inverted","columnrange","visible","plotLines","width","zIndex","font-size","font-weight","low","high","risk","upper","lower","score","riskScore","filter","$filter","isNaN","j","k","val","trustAsHtml","tel","country","trim","slice","viewSSNInfo","allowEdit","addAlternateAddress","deleteAlternateAddress","cancel","memberTypes","isAdd","personal","contact","addresses","gender","abbr","sex","save","isAddMode","errors","newPassword2","basicAuth","encodeBase64","ChangePassword","ignoreExceptions","ignoreAuthModule","msg","closeError","passwordRuleInfo","promises","additionalAssetIds","include","getUnrealizedGainLoss","results","gainLoss","costBasis","longTermGainLoss","shortTermGainLoss","Upload","addClient","clients","clientToAdd","removeClient","importClients","rejectedFiles","invalidFile","upload","success","send","subject","isHtml","extraHeaders","access_token","clientFormatter","updateDbToken","AlClientId","selectedClient","updateUserToken","userDetailId","reload","searchInProgress","getAkoya","tokens","linkType","unlinkVendor","financialInstitution","akoyaTokenId","alert","tokenName","goback","back","linkedbuttons","manage","editToken","togglelinkedaccounts","isNew","NameToken","displayname","EditToken","selectedToken","availableVendors","merge","sort","btnText","iconType","editname","editCommentary","commentary","isEditMode","newCommentary","publishDate","saveCommentary","commentaryList","deleteCommentary","getCommentaryForEdit","deleteFile","uploadFile","settingsLevels","repSettingsLevels","originalSettings","completeSettings","landingPage","optionList","fillCloudProviderList","cloudProviders","reject","isLinked","getSettingsForEdit","dataSets","complete","editable","promptName","allowedEntities","entities","isAllowed","experianDBEO","hasFidelityPID","hasPershingPLINK","groupBy","settingsGroups","primaryColorSetting","gs","colorKeyPressCheck","siteUrl","loginUrl","alClientGuid","rep","bd","isRep","originalEntityId","isBD","settingParts","camelize","setSelectedGroup","selectedGroup","resetEntity","landingPageOption","modifiedSettings","optionLevel","startsWith","lastUpdated","stringify","postSave","modifiedCount","successMessage","saveSettings","resetValue","resetSetting","originalSetting","setImageValue","reader","FileReader","readAsDataURL","toggleCloudProvider","apiUrl","protocol","hash","shareFile","openNewOAuthTab","assign","oauthTab","opener","win","timer","setInterval","closed","clearInterval","closeWindowAfterOAuth","test","isAdmin","isAdvisor","riaSettingsEnabled","states","parentState","decline","userOriginal","sendEmail","isMethodChange","changes","address2","getChanges","methodChange","statementDeliveryMethodId","isEStatement","markDirty","isDirty","put","lastVerifiedPhone","daysOfWeek","setSubscriptionPhrase","phrase","enabledDestinations","destinations","frequency","dayOfMonth","ordinalize","dayOfWeek","timeOfDayAsDate","paymentForm","verboseUser","mobilePhone","isVerified","verifyPhone","termsAndConditions","editSubscription","setAchImage","controlName","achImageTop","removeCCInfoFromHousehold","modifyCCInfo","ccInfo","storedPaymentInfo","unsubscribe","destination","billingForm","validationErrors","subscriptions","destinationName","requiredFields","saveBilling","ccPaymentType","titleize","monthly","selectedKey","weekly","timeOfDay","paymentType","forceTwoFactor","bluePay","twoFactorRequired","forcePrompt","basic","phone","authentication","notifications","billing","capitalize","ccPaymentMethod","creditCard","ccToken","ccType","eCheckParts","ccNum","unescapeURL","achAccountType","achAccountNum","ccExpiration","ccNumber","cvv2","cache","twoFactorMsg","verify","$close","terms","resetInterval","daysOfMonth","upto","cancelActivity","accountNumberFormatter","acctNumber","loadAcknowledgementList","acknowledgements","loadAcknowledgement","viewResponses","newAcknowledgement","expiresOn","acknowledgementText","displayOrder","acknowledgementType","saveAcknowledgement","method","unshift","deleteAcknowledgement","handelError","hasError","loading","userData","FirstName","LastName","DateOfBirth","Last4SSN","submit","loadingMessage","allocationData","groupsExpanded","getSortedList","accountSort","desc","applyMinStartDate","minStartDate","buildAccount","groupEntityId","accountName","maskedAccountNumber","riskBudget","subAdvisor","isAdditionalAccount","currentDownloadError","managed","getAccounts","showUnmanagedAccounts","unmanaged","trading","showAllocations","riskTargets","dummyGrouping","createGroups","groupId","existingGroup","accountGrouping","portfolioGroups","riskReg","registrations","upperLimit","lowerLimit","isOdd","totalAccounts","totalGroups","sum","childAccount","maskedCustodialAccountNumber","unmanagedAccountsTitle","displayRelatedHouseholds","relatedHouseholds","entityIds","groupings","grouping","lastBusinessDay","activitySummaryCategory","unmanagedActivitySummaryCategory","activitySummaryDetail","includeBondAccrual","returnStyle","clientPerformanceInclude","household","fkEntity","summaries","when","getInceptionDateForEntity","hideTracker","defaultValue","pending","marketValue","accountNumber","getFilteredData","inclusionSetting","asOfDate","showAccountNumberCharacters","showAccountNumber","includeInactive","sidebarInclude","toQueryString","accountMap","assets","getRawData","mustBeActive","mustHaveValue","historicallyLinkedAccount","shouldBeIncluded","filterFn","5","6","7","107","dummyDateForNonManaged","getCurrentValueForEntity","invested","isCash","getHoldingsForEntity","groupingId","groupingField","9","11","12","15","16","74","addToGroup","unitBalance","percentageOfEntity","totalGainLoss","foundGroup","sortOrder","portfolioGroup","totalValue","foundAccount","custodialAccountNumber","fundFamily","managementStyle","mgmtStyle","modelName","isPositionOnlyRecon","$document","timeoutToZero","thread","Number","advisorActivityTimeout","appendReturnUrl","optionLists","settingsUrl","markStartUpVideoAsWatched","localStorage","oas_portal_last_video","getTrustedResourceUrl","startUpVideoMp4Url","markStartUpTextAsRead","oas_portal_last_message","startUpText","sendAcknowledgementResponse","cleanSettingValue","forEditMode","intersect","extractFromRawSettings","from","accountActivityCategoryMap","activityCategoryMap","activityDetail","activityCode","getDay","wealthAccess","wealthAccessWidgets","oas_portal_theme","startUpPrompt","getQueryString","mainLogo","webAcknowledgements","insightPrivilege","readIsGranted","code","settingName","RISKCATEGORYNAME","MGMTSTYLENAME","experian","FIDELITYPID","PERSHINGPLINKID","inclusionOptionNumeric","markFn","promptType","videoSources","startUpVideoWebmUrl","startUpVideoOgvUrl","canEdit","updatedSettings","saveChanges","dataToSave","isDefined","processRawData","portfolioValue","portfolioCategory","abs","chartData","chartCallback","modifiedAccount","newName","oldCategory","deleteCategory","currentProvider","actualAdvisorSharedProvider","providers","fileExtensionIconMap","avi","bmp","doc","docx","flv","gif","gz","jpg","mov","mp3","mp4","mpg","pdf","png","psd","ppt","pptx","rar","svg","txt","wav","wma","wmv","xls","xlsx","getFileIcon","last","setSelectedFolder","breadcrumbs","buildBreadcrumbs","insert","parent","additionalProps","linked","unlinked","forceRefresh","folders","childFolder","isVirtual","isFolder","clearVirtualStatus","advisorShared","salesForce","netDocuments","advisorSharedProvider","underlyingProviders","prospectFolder","colorLuminance","lum","rgb","substr","round","applyColors","properties","matchBorderToBackground","property","primaryBorderColor","colorsFinalized","getAdjustedColor","baseColor","luminosity","numberOfShades","Color","brighten","isFutureDate","beginningOfDay","existingItem","firstName","lastName","isImpersonating","actualUserId","entityProperty","isPortalAdmin","databaseCount","alClientName","extended","box","slogan","dropBox","factory","$injector","bsid","oas","utils","generateGuid","request","App","AppPath","BrowserSessionId","responseError","ignore","statusText","detail","isObject","escapeHTML","holdingsGrouping","performanceGrouping","totals","unrealizedGainLoss","summary","highchartsColors","lastColorUsed","getEntityName","ensureSafeGrouping","groupingName","setFromCache","cachedData","targetVal","sourceVal","addToCache","getNextColor","resetLastColorUsed","dateRangeOptions","customPeriodIndex","quickDates","defaultDateRange","buildGroupingOption","defaultSettingName","netAmountInvested","utc","getTime","originalGroups","groupingParam","assetLevelPerformance","periods","performanceCalculationMethod","performanceCalcMethod","showZeroValueAssets","showZeroValueAssetsPerformance","showMoneyMarketPerformance","showBenchmarkMask","showHouseholdBenchmarks","showBenchmarks","rawData","groupByEntity","entityIdField","locatedItem","syncGroupNames","syncedData","fkGroupEntity","dateRanges","dateRange","dateRangeName","numBenchmarksToDisplay","numChartBenchmarks","fillOutBenchmarkSpots","startIndex","_loop","limit","_loop2","endValue","selectedEntity","combineSameTickers","tickers","firstAsset","isSameTicker","useZeroInceptionValue","accountNumbersToShow","fkActivitySummaryType","bondAccrual","begin","activitySummaryTypeName","transactions","accruedIncomeChange","marketValueChange","showAccruedIncomeChange","remaining","isSatisfied","regRmdSatisfied","rmdAmount","rmdRemaining","accountType","rmdSatisfied","asOfDateDisabled","dateRangeDisabled","getCleanReport","isRb3","requiredOptions","$type","dateSource","deliveryOptions","parameter","isInvoiceReport","input","entityParameter","display","runToOptions","storageType","locationHeader","rb3DateRanges","docSettings","adHocReportDateInputs","reportFormat","cloudStorageEnabled","spacify","folderPath","hideExcelFormat","sortedList","parentCategory","rss","rssUrl","jsonp","feed","pubDate","csv","fileName","rpt1099Enabled","quarterlyStmtsEnabled","yearEndStmtsEnabled","custodialStmtsEnabled","form5498Enabled","feeLettersEnabled","qualifiedTradeConfirmsEnabled","insightPresentationsEnabled","showStatementDescription","hideDescription","useFirstWordOfBlobText","fileDate","blobText","foundDates","findDates","createdDate","fileYear","setFileDate","existingCategory","sortField","groupOn","l","blobDesc","encodeURI","videoId","urlPart","isCrmDocument","crmDocumentsEnabled","tasks","inProcess","completed","declined","new","applyIcon","task","canRead","getModelAllocation","modelAggId","previousColor","isAlreadyTraded","sweepAsset","cashInfo","cashValue","minimum","minimumCashDollarAmount","cashValuePostTrade","tradeableAssets","currentShares","existingAccount","foundItem","aggregateModel","verboseAccount","listData","nextColor","minCashPercent","almostEquals","custodialCash","tradeDefinition","reason","newTrade","existingTrades","tradesToValidate","t","exchangeProductId","tradeType","productIdFrom","productIdTo","assetIdFrom","assetIdTo","ADVIZR_SETTINGS","hideBanner","isBannerHidden","advizrSettings","baseUrl","householdId","members","oldCards","oldEmails","oldPhones","updateCategoryEntries","updatedCategoryInfo","oldCategoryInfo","tempid","equals","removeEntryFromCategory","entry","showsection","resolvedata","resolveHouseholdRequest","memberSubscriberNumber","subscriberNumber","memberSOAUpdateInfo","updateHouseholdMember","SubscriberNumber","listEmails","listPhones","listCards","Member","createMemberSOAUpdateRequestBody","newMember","addNewHouseholdMember","dob","getUTCFullYear","getUTCMonth","getUTCDate","updateDobForTimezone","address3","address4","createNewMemberRequestBody","client_id","clientid","isadd","enrollmember","enroll","errorType","acceptTerms","submitEnrollment","postData","ApplicantChallengeId","challengeId","questionData","answers","failedAttempt","selectAnswer","memberid","questions","requiredInfo","DOB","SSN","ssn","enrollment","needs_Verify","applicantChallengeId","getQuestions","pershingDocumentsEnabled","queryString","getStartDateString","getEndDateString","formatCustodianDocuments","hasDateRange","fidelityDocumentsEnabled","documentData","getToken","hasAnyDocuments","custodianName","_loop3","documentType","RegExp","documentDate","documentDescription","noDocuments","noDocumentsMessage","isDate","today","setFullYear","toLocaleDateString","month","day","year","getMonth","prototype"],"mappings":"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","file":"app.min.js","sourcesContent":["'use strict';\n\napp.controller('AppCtrl', function AppCtrl($scope, $http, $state, $modal, currentUser, appSettings) {\n //PRIVATE METHODS\n function showNextAcknowledgement() {\n if (appSettings.global.acknowledgements.length) {\n var currentPrompt = appSettings.global.acknowledgements.shift();\n\n $modal.open({ templateUrl: \"app/modals/start-up-prompt.html\", controller: \"StartUpPromptCtrl\", windowClass: [\"Disclaimer\", \"Notification\", \"Administrator\"].any(currentPrompt.type) ? \"wide\" : null, backdrop: 'static', keyboard: false, resolve: { startUpSettings: function () { return currentPrompt; } } })\n .result\n .then(function () {\n showNextAcknowledgement();\n }, angular.noop);\n }\n }\n\n function loadSaleMove() {\n currentUser.isLoaded\n .then(function () {\n var installIt = function (externalId, email, siteId) {\n var params = '?site_id=' + siteId;\n let userName = '';\n if (currentUser.profile.entityName) {\n userName = currentUser.profile.entityName;\n }\n var installSaleMove = function (a) { !function (a, b, c, d) { var e = a.createElement(b), f = a.getElementsByTagName(b)[0]; e.async = 1, e.src = c, e.type = \"text/javascript\", d && e.addEventListener(\"load\", d), f.parentNode.insertBefore(e, f) }(document, \"script\", \"https://api.glia.com/salemove_integration.js\" + params, a) };\n installSaleMove(function () {\n sm.getApi({ version: 'v1' }).then(function (salemove) {\n salemove.updateInformation({\n externalId: externalId,\n email: email,\n name: userName,\n customAttributes: {\n UserLevel: \"client\"\n }\n });\n });\n });\n };\n $http.get(\"/Integrations/SaleMove/Cobrowse/SiteId\")\n .then(function (response) {\n if (response && response.data) {\n var siteId = response.data;\n installIt(currentUser.authorization.userGuid, currentUser.profile.email, siteId);\n } else {\n console.log('SiteID failed not loading Glia.');\n }\n });\n });\n }\n\n function loadFullStory() {\n window._fs_debug = false;\n window._fs_host = 'fullstory.com';\n window._fs_script = 'edge.fullstory.com/s/fs.js';\n window._fs_org = '195743';\n window._fs_namespace = 'FS';\n (function(m,n,e,t,l,o,g,y){\n if (e in m) {if(m.console && m.console.log) { m.console.log('FullStory namespace conflict. Please set window[\"_fs_namespace\"].');} return;}\n g=m[e]=function(a,b,s){g.q?g.q.push([a,b,s]):g._api(a,b,s);};g.q=[];\n o=n.createElement(t);o.async=1;o.crossOrigin='anonymous';o.src='https://'+window._fs_script;\n y=n.getElementsByTagName(t)[0];y.parentNode.insertBefore(o,y);\n g.identify=function(i,v,s){g(l,{uid:i},s);if(v){g(l,v,s);}};g.setUserVars=function(v,s){g(l,v,s);};g.event=function(i,v,s){g('event',{n:i,p:v},s);};\n g.anonymize=function(){g.identify(!!0);};\n g.shutdown=function(){g(\"rec\",!1);};g.restart=function(){g(\"rec\",!0);};\n g.log = function(a,b){g(\"log\",[a,b]);};\n g.consent=function(a){g(\"consent\",!arguments.length||a);};\n g.identifyAccount=function(i,v){o='account';v=v||{};v.acctId=i;g(o,v);};\n g.clearUserCookie=function(){};\n g.setVars=function(n, p){g('setVars',[n,p]);};\n g._w={};y='XMLHttpRequest';g._w[y]=m[y];y='fetch';g._w[y]=m[y];\n if(m[y]){m[y]=function(){return g._w[y].apply(this,arguments);};}\n g._v=\"1.3.0\";\n })(window,document,window._fs_namespace,'script','user');\n\n currentUser.isLoaded\n .then(function () {\n window.FS.identify(currentUser.authorization.loginUserId, {\n displayName: currentUser.profile.name,\n email: currentUser.profile.email,\n firmName_str: currentUser.authorization.alClientName,\n firmId_int: currentUser.authorization.alClientId,\n loginLevel_str: currentUser.profile.isNonClient ? 'Impersonator' : 'Household'\n });\n });\n }\n\n\n //PUBLIC METHODS\n $scope.switchUserProfile = function (id) {\n $http.get('/security/token', { headers: { Authorization: \"Switch \" + sessionStorage.oas_token, UserDetailId: id }, tracker: 'main', trackerMsg: 'Switching profiles' })\n .then(function (response) {\n sessionStorage.clear();\n sessionStorage.oas_token = response.data.access_token;\n window.location.reload();\n });\n };\n\n\n //INITIALIZE\n $scope.userProfile = currentUser.profile;\n $scope.themeSettings = appSettings.theme;\n $scope.globalSettings = appSettings.global;\n $scope.updateSettings = appSettings.updates;\n\n appSettings.isLoaded\n .then(function () {\n document.title = appSettings.global.portalName;\n\n currentUser.isLoaded\n .then(function () {\n if (currentUser.twoFactor.forcePrompt) {\n $modal.open({ templateUrl: \"app/modals/user-profile.html\", controller: \"UserProfileCtrl\", windowClass: \"wide\", backdrop: \"static\" })\n .result\n .then(angular.noop, angular.noop);\n } else {\n if (currentUser.profile.isNonClient) {\n appSettings.global.acknowledgements.forEach(function (ack) {\n if (ack.type === \"Disclaimer\" || ack.type === \"Notification\") {\n ack.type = \"Administrator\";\n }\n });\n }\n\n showNextAcknowledgement();\n }\n\n //webRtcClient.init(currentUser.authorization.userId, appSettings.advisor.videoChatUser.id);\n });\n });\n\n if (!window.location.host.has(\"local\")) {\n loadSaleMove();\n loadFullStory();\n }\n});\n\n'use strict';\n\napp.controller('DashboardCtrl', function DashboardCtrl($scope, $q, $sce, $stateParams, APP_CONFIG, currentUser, portfolioData) {\n $q.all([currentUser.isLoaded, portfolioData.isLoaded])\n .then(function () {\n var params = {\n dashboardId: $stateParams.id,\n entityId: currentUser.authorization.entityId,\n startDate: portfolioData.options.startDate.formatted(),\n endDate: portfolioData.options.endDate.formatted()\n };\n\n var page = '/dashboardembed?id={dashboardId}&entityEnum=5&entityId={entityId}&datePickers=show&startDate={startDate}&endDate={endDate}'.assign(params);\n\n $scope.url = $sce.trustAsResourceUrl(APP_CONFIG.insightUrl + '?t=' + sessionStorage.oas_token + '&p=' + encodeURIComponent(page));\n });\n});\n\n'use strict';\n\napp.controller('MainTrackerCtrl', function MainTrackerCtrl($scope, $rootScope, promiseTracker) {\n $scope.trackerMsgs = [];\n $rootScope.mainTracker = promiseTracker('main')\n .on('start', function(args, promiseId) {\n $scope.trackerMsgs.push({id: promiseId, msg: args.trackerMsg});\n })\n .on('done', function(args, promiseId) {\n $scope.trackerMsgs.remove({id: promiseId});\n });\n});\n\n'use strict';\n\napp.controller('SiteHeaderCtrl', function SiteHeaderCtrl($scope, $http, $state, $modal, appSettings, appInitMgr) {\n //PRIVATE METHODS\n function init () {\n appSettings.isLoaded\n .then(function () {\n var insightDashboards = [];\n\n var buildNavigation = function () {\n var navigation = {tabs: []};\n\n var isEnabled = function (setting) {\n if (angular.isString(setting)) {\n return appSettings.getFromDotNotationStr(setting);\n } else if (angular.isArray(setting)) {\n return setting.any(isEnabled);\n }\n\n return true;\n };\n\n var getTabTitle = function (stateTab) {\n if(stateTab.title == \"Salesforce Tab\"){\n return appSettings.integration.sfCommunityMainTab;\n }\n if(stateTab.title == \"Salesforce Sub Tab\"){\n return appSettings.integration.sfCommunitySubTab;\n }\n if (stateTab.titleOverride) {\n return appSettings.getFromDotNotationStr(stateTab.titleOverride) || stateTab.title;\n } else {\n return stateTab.title;\n }\n };\n\n $state.get().forEach(function (state) {\n if (!state.tab || !isEnabled(state.tab.enabled)) return;\n\n var nameParts = state.name.split(\".\");\n\n if (nameParts.length === 1) {\n navigation.tabs.push({id: nameParts[0], title: getTabTitle(state.tab), icon: state.tab.icon, children: []});\n } else {\n var topLevelNav = navigation.tabs.find({id: nameParts[0]});\n if (topLevelNav) {\n if (topLevelNav.id === \"insight\") {\n insightDashboards.forEach(function (dashboard) {\n topLevelNav.children.push({title: dashboard.name, icon: state.tab.icon, state: state.name + '({id: ' + dashboard.id + '})'});\n });\n } else {\n topLevelNav.children.push({title: getTabTitle(state.tab), icon: state.tab.icon, state: state.name});\n }\n }\n }\n });\n\n navigation.tabs.remove(function (t) {return t.children.length === 0;});\n\n navigation.tabs.forEach(function (topLevelNav) {\n topLevelNav.state = topLevelNav.children[0].state;\n\n if ($state.includes(topLevelNav.id)) {\n navigation.selected = topLevelNav;\n }\n });\n\n $scope.navigation = navigation;\n };\n\n if (appSettings.integration.showInsightDashboards) {\n $http.get(\"/Reporting/Dashboards?dashboardLevel=Portfolio\", {tracker: 'main', trackerMsg: \"Loading dashboards\"})\n .then(function (response) {\n insightDashboards = response.data;\n buildNavigation();\n });\n } else {\n buildNavigation();\n }\n });\n }\n\n function openModal(templateUrl, controller, isWide) {\n $modal.open({templateUrl: templateUrl, controller: controller, windowClass: isWide ? \"wide\" : null, backdrop: 'static'})\n .result\n .then(angular.noop, angular.noop);\n }\n\n\n //PUBLIC METHODS\n $scope.setSelectedTab = function (tab) {\n $scope.navigation.selected = tab;\n };\n\n $scope.openChangePassword = function () {\n openModal(\"app/modals/change-password.html\", \"ChangePasswordCtrl\");\n };\n\n $scope.openUserProfile = function () {\n openModal(\"app/modals/user-profile.html\", \"UserProfileCtrl\", true);\n };\n\n $scope.openLoginAs = function () {\n openModal(\"app/modals/login-as.html\", \"LoginAsCtrl\");\n };\n\n $scope.openSettings = function () {\n openModal(\"app/modals/settings.html\", \"SettingsCtrl\", true);\n };\n\n $scope.openCommentaryManager = function () {\n openModal(\"app/modals/manage-commentary.html\", \"ManageCommentaryCtrl\", true);\n };\n\n $scope.openDownloadManager = function () {\n openModal(\"app/modals/manage-downloads.html\", \"ManageDownloadsCtrl\", true);\n };\n\n $scope.openAcknowledgementManager = function () {\n openModal(\"app/modals/web-acknowledgement-mgr.html\", \"WebAcknowledgementMgrCtrl\", true);\n };\n\n $scope.openInviteClients = function () {\n openModal(\"app/modals/invite-clients.html\", \"InviteClientsCtrl\", true);\n };\n\n $scope.logout = function () {\n appInitMgr.cleanLogout(false);\n };\n\n\n //INITIALIZE\n init();\n});\n\n'use strict';\n\napp.controller('UpdatesCtrl', function UpdatesCtrl($scope, $http, appSettings, rssData, tasksData, commentaryData) {\n //PUBLIC METHODS\n $scope.toggleSidebarExpanded = function() {\n $scope.current.sidebarExpanded = !$scope.current.sidebarExpanded;\n };\n\n $scope.loadCommentaryItem = function(item) {\n commentaryData.loadCommentary(item);\n };\n\n $scope.toggleAddTaskMode = function() {\n $scope.current.isAddTaskMode = !$scope.current.isAddTaskMode;\n };\n\n $scope.addTask = function() {\n tasksData.addTask($scope.newTask.title, $scope.newTask.dueDate.formatted(false), $scope.newTask.body)\n .then(function() {\n $scope.newTask.title = null;\n $scope.newTask.dueDate = Date.create('1 week from now');\n $scope.newTask.body = null;\n $scope.toggleAddTaskMode();\n });\n };\n\n\n //INITIALIZE\n $scope.updateSettings = appSettings.updates;\n\n $scope.rss = rssData.rss;\n $scope.commentary = commentaryData.commentary;\n $scope.tasks = tasksData.tasks;\n\n $scope.current = {sidebarExpanded: false, isAddTaskMode: false};\n $scope.newTask = {title: null, dueDate: Date.create('1 week from now'), body: null};\n});\n\n'use strict';\r\n\r\napp.controller('SalesforceSSOCtrl', function SalesforceSSOCtrl($scope, $window, appSettings) {\r\n\r\n $window.open('/api/v1/Integrations/Salesforce/OrionConnect/Action/SAML?Authorization=' + sessionStorage.oas_token)\r\n\r\n $scope.CommunitySAML = function() {\r\n $window.open('/api/v1/Integrations/Salesforce/OrionConnect/Action/SAML?Authorization=' + sessionStorage.oas_token)\r\n };\r\n\r\n appSettings.isLoaded.then(function () {\r\n $scope.showSF_Comm_Label = appSettings.integration.sfCommunityButtonLabel;\r\n $scope.showSF_Comm_Text = appSettings.integration.sfCommunityText;\r\n })\r\n});\n'use strict';\n\napp.controller('CloudStorageCtrl', function CloudStorageCtrl($scope, $modal, cloudStorageData, cloudStorageProviders) {\n //PUBLIC METHODS\n $scope.linkProvider = function (provider) {\n if (provider.name === cloudStorageProviders.egnyte.name) {\n var settings = {title: \"Egnyte\", icon: \"fa-cloud\", label: \"Enter Domain\", message: \".egnyte.com\"};\n $modal.open({templateUrl: \"app/modals/input-prompt.html\", controller: \"InputPromptCtrl\", resolve: {settings: function () {return settings;}}})\n .result\n .then(function (result) {\n if (!result) return;\n\n window.location.href = cloudStorageData.getLinkProviderUrl(provider, {domain: result});\n }, angular.noop);\n } else {\n window.location.href = cloudStorageData.getLinkProviderUrl(provider);\n }\n };\n\n $scope.unlinkProvider = function (provider) {\n $modal.open({templateUrl: \"app/modals/confirm.html\", controller: \"ConfirmCtrl\", resolve: {content: function() {return {title:'Confirm Action', message: \"Are you sure you want to disconnect \" + provider.name + \"?\"};}}})\n .result\n .then(function (result) {\n if (result === \"OK\") {\n cloudStorageData.unlinkProvider(provider);\n }\n }, angular.noop);\n };\n\n $scope.refreshFolder = function () {\n cloudStorageData.loadFolder($scope.cloud.selectedFolder, true);\n };\n\n $scope.loadFolder = function (folder) {\n cloudStorageData.loadFolder(folder, false);\n };\n\n $scope.addFolder = function () {\n cloudStorageData.addFolder($scope.current.newFolder);\n $scope.current.newFolder = null;\n $scope.current.folderFormOpen = false;\n };\n\n $scope.deleteFileOrFolder = function (fileOrFolder) {\n $modal.open({templateUrl: \"app/modals/confirm.html\", controller: \"ConfirmCtrl\", resolve: {content: function() {return {title:'Confirm Action', message: \"Are you sure you want to delete \" + fileOrFolder.name + \"?\"};}}})\n .result\n .then(function (result) {\n if (result === \"OK\") {\n cloudStorageData.deleteFileOrFolder(fileOrFolder);\n }\n }, angular.noop);\n };\n\n $scope.downloadFile = function (file) {\n window.location.href = cloudStorageData.getFileUrl(file);\n };\n\n $scope.uploadFiles = function ($files) {\n if ($files.isEmpty()) return;\n\n cloudStorageData.uploadFiles($files);\n };\n\n $scope.canAddFolder = function () {\n if ($scope.cloud.selectedFolder)\n return cloudStorageData.canAddFolder($scope.cloud.selectedFolder);\n else\n return true;\n };\n\n $scope.canUploadFile = function () {\n if ($scope.cloud.selectedFolder)\n return cloudStorageData.canUploadFile($scope.cloud.selectedFolder);\n else\n return true;\n };\n\n //INITIALIZE\n $scope.current = {};\n $scope.cloud = cloudStorageData.data;\n});\n\n'use strict';\n\napp.controller('ReportsCtrl', function ReportsCtrl($scope, $http, $modal, accountsData, reportsData) {\n //PUBLIC METHODS\n $scope.loadReport = function (report) {\n reportsData.loadReport(report);\n $scope.toggleSidebarExpanded();\n };\n\n $scope.toggleSidebarExpanded = function () {\n $scope.current.sidebarExpanded = !$scope.current.sidebarExpanded;\n };\n\n $scope.setRb3Dates = function (option, range) {\n option.start.date = Date.create(range.startDate);\n option.end.date = Date.create(range.endDate);\n $scope.current.useInception = false;\n };\n\n $scope.setDates = function(rangeName) {\n var startDate = Date.create('today');\n var endDate = Date.create('today');\n\n switch (rangeName) {\n case \"last-month\":\n startDate.addMonths(-1).beginningOfMonth();\n endDate.addMonths(-1).endOfMonth();\n break;\n case \"last-year\":\n startDate.addYears(-1).beginningOfYear();\n endDate.addYears(-1).endOfYear();\n break;\n case \"last-quarter\":\n endDate = endDate.getStartOfQuarter().addDays(-1);\n startDate = endDate.getStartOfQuarter();\n break;\n case \"MTD\":\n startDate.beginningOfMonth();\n break;\n case \"QTD\":\n startDate = startDate.getStartOfQuarter();\n break;\n case \"YTD\":\n startDate.beginningOfYear();\n break;\n }\n\n $scope.reports.selected.unstorable[0].parameters.find({name: \"StartDate\"}).value = startDate;\n $scope.reports.selected.unstorable[0].parameters.find({name: \"EndDate\"}).value = endDate;\n $scope.current.useInception = false;\n };\n\n $scope.runReport = function () {\n reportsData.runReport($scope.current.useInception)\n .then(function (location) {\n if (location === \"error\") {\n var errorMessage = {\n title: \"Report Generation Failed\",\n subTitle: \"Unable to generate \" + $scope.reports.selected.reportName\n };\n $modal.open({templateUrl: \"app/modals/error-message.html\", controller: \"ErrorMessageCtrl\", resolve: {errorMessage: function() {return errorMessage;}}})\n .result\n .then(angular.noop, angular.noop);\n } else if (location) {\n window.location.href = location;\n } else {\n $scope.current.messages.push({name: $scope.reports.selected.reportName, runTo: $scope.reports.selected.runTo.displayName});\n }\n });\n };\n\n\n //INITIALIZE\n $scope.current = {sidebarExpanded: false, useInception: false, messages: []};\n $scope.reports = reportsData.reports;\n $scope.accounts = accountsData.accounts;\n $scope.reportOptions = reportsData.options;\n\n\n //SCOPE WATCHERS\n $scope.$watch(\"current.useInception\", function (newValue, oldValue) {\n //had to use a watch because ng-click on a btn-checkbox acts weird\n if (newValue === oldValue || !newValue) {\n return;\n }\n\n reportsData.calculateInception();\n });\n});\n\n'use strict';\n\napp.controller('StatementsCtrl', function StatementsCtrl($scope, $modal, appSettings, statementsData, pershingDocumentData, fidelityDocumentData, onDemandDocumentService) {\n //PRIVATE METHODS\n function init() {\n $scope.statements = statementsData.statements;\n $scope.documentSettings = appSettings.documents;\n $scope.current = { sidebarExpanded: false, startDate: \"\", endDate: \"\" };\n $scope.current.pillBarLabel = 'Year';\n onDemandDocumentInit();\n };\n //On Demand Documents \n function onDemandDocumentInit() {\n $scope.current.startDate = onDemandDocumentService.getStartDate();\n $scope.current.endDate = onDemandDocumentService.getEndDate();\n if ($scope.statements.list.findIndex(i => i.name == \"Pershing Documents\") < 0) {\n pershingDocumentData.usePershingDocuments()\n .then(function (result) {\n if (result) {\n pershingDocumentData.getPershingDocuments($scope.current.startDate, $scope.current.endDate)\n .then(function (documentList) {\n $scope.statements.list.push(documentList);\n });\n }\n });\n }\n if ($scope.statements.list.findIndex(i => i.name == \"Fidelity Documents\") < 0) {\n fidelityDocumentData.useFidelityDocuments()\n .then(function (result) {\n if (result) {\n $scope.statements.list.push(fidelityDocumentData.getDefaultObject());\n }\n });\n }\n }\n function refreshDate(category) {\n if (!category || !category.name) {\n return;\n }\n if (!onDemandDocumentService.validateDates($scope.current.startDate, $scope.current.endDate)) {\n $scope.current.refreshError = true;\n return;\n }\n else{\n $scope.current.refreshError = false;\n }\n if (category.name == \"Fidelity Documents\") {\n if (category.fidelityToken) {\n fidelityDocumentData.getFidelityDocuments(category.fidelityToken, $scope.current.startDate, $scope.current.endDate)\n .then(function (documentList) {\n setOnDemandDocuments(\"Fidelity Documents\", documentList);\n });\n }\n else {\n showFidelityModal();\n return;\n }\n }\n if (category.name == \"Pershing Documents\") {\n pershingDocumentData.getPershingDocuments($scope.current.startDate, $scope.current.endDate)\n .then(function (documentList) {\n setOnDemandDocuments(\"Pershing Documents\", documentList);\n });\n }\n return;\n };\n function setOnDemandDocuments(categoryName, documentList) {\n let index = $scope.statements.list.findIndex(i => i.name == categoryName);\n if(documentList.firstLastName){\n $scope.statements.list[index].firstLastName = documentList.firstLastName;\n }\n $scope.statements.list[index] = documentList;\n $scope.current.category = documentList;\n }\n\n //Fidelity\n function showFidelityModal() {\n $modal.open({ templateUrl: \"app/modals/fidelityClientToken.html\", controller: \"FidelityClientTokenCtrl\", backdrop: \"static\" })\n .result\n .then(function (documentList) {\n setOnDemandDocuments(\"Fidelity Documents\", documentList);\n });\n }\n function unlinkFidelityAccount() {\n setOnDemandDocuments(\"Fidelity Documents\", fidelityDocumentData.getDefaultObject());\n this.loadCategory($scope.current.category);\n }\n\n //Public methods\n $scope.toggleSidebarExpanded = function () {\n $scope.current.sidebarExpanded = !$scope.current.sidebarExpanded;\n };\n\n $scope.loadCategory = function (category) {\n if (category.label) {\n $scope.current.pillBarLabel = category.label;\n } else {\n $scope.current.pillBarLabel = 'Year';\n }\n\n if (category.name == 'Fidelity Documents' && category.hasCustodianToken != true) {\n showFidelityModal();\n return;\n }\n $scope.current.category = category;\n $scope.toggleSidebarExpanded();\n };\n\n $scope.downloadStatement = function (file) {\n if (file.onDemandDocument) {\n window.location.href = `${file.href}&Authorization=${sessionStorage.oas_token}`;\n return;\n }\n statementsData.downloadFile(file);\n };\n\n $scope.playVideoStatement = function (video) {\n var url = statementsData.getVideoUrl(video);\n $modal.open({ templateUrl: \"app/modals/iframe.html\", controller: \"IFrameCtrl\", windowClass: \"wide\", resolve: { args: function () { return { url: url }; } } })\n .result\n .then(angular.noop, angular.noop);\n };\n\n $scope.openStatementSettings = function () {\n $modal.open({ templateUrl: \"app/modals/statement-settings.html\", controller: \"StatementSettingsCtrl\", backdrop: \"static\" })\n .result\n .then(angular.noop, angular.noop);\n };\n\n $scope.unlinkFidelityAccount = unlinkFidelityAccount;\n $scope.refreshDate = refreshDate;\n\n //INITIALIZE\n $scope.statements = {};\n init();\n});\n\n'use strict';\n\napp.controller('ActivityCtrl', function ActivityCtrl($scope, portfolioData) {\n //INITIALIZE\n $scope.activity = portfolioData.activity;\n\n\n //EVENT REGISTRATION\n $scope.$on(\"refresh-data\", function () {\n portfolioData.loadActivity();\n });\n});\n\n'use strict';\n\napp.controller('AnnuitiesCtrl', function AnnuitiesCtrl($scope, portfolioData) {\n //INITIALIZE\n $scope.annuities = portfolioData.annuities;\n\n\n //EVENT REGISTRATION\n $scope.$on(\"refresh-data\", function () {\n portfolioData.loadAnnuities();\n });\n});\n\n'use strict';\n\napp.controller('HoldingsCtrl', function HoldingsCtrl($scope, $state, $modal, appSettings, portfolioData) {\n //PRIVATE METHODS\n function init() {\n if ($state.current.name === \"portfolio.overview\") {\n $scope.showUnitsPrice = true;\n } else {\n appSettings.isLoaded\n .then(function () {\n $scope.showUnitsPrice = !appSettings.portfolio.showCostBasis;\n });\n }\n }\n\n\n //PUBLIC METHODS\n $scope.expandSelectedGroup = function (point) {\n $scope.holdings.data.forEach(function (group) {\n group.expanded = group.name === point.name;\n });\n };\n\n $scope.showAssetGainLossSummary = function (asset) {\n var resolves = {\n entity: function () {return 8;},\n entityId: function() {return asset.assetId;},\n entityObj: function() {return asset;}\n };\n\n $modal.open({templateUrl: \"app/modals/gain-loss-summary.html\", controller: \"GainLossSummaryCtrl\", resolve: resolves, windowClass: \"wide\"})\n .result\n .then(angular.noop, angular.noop);\n };\n\n\n //INITIALIZE\n $scope.integrationSettings = appSettings.integration; //used for AdvisoryWorld's version of holdings.html\n init();\n\n\n\n //EVENT REGISTRATION\n $scope.$on(\"refresh-data\", function () {\n $scope.showCostBasis = $state.current.name === \"portfolio.holdings\" && appSettings.portfolio.showCostBasis;\n \n portfolioData.loadHoldings(function () {\n $scope.$broadcast(\"holdings-loaded\");\n });\n\n if (appSettings.portfolio.showActivity) {\n portfolioData.loadAumOverTime(angular.noop, true);\n portfolioData.loadActivity(true);\n }\n\n if (appSettings.portfolio.showPerformance) {\n portfolioData.loadPerformance(angular.noop, true);\n }\n });\n});\n\n'use strict';\n\napp.controller('PerformanceCtrl', function PerformanceCtrl($scope, portfolioData) {\n //PUBLIC METHODS\n $scope.expandSelectedGroup = function (point) {\n $scope.performance.data.forEach(function (group) {\n group.expanded = group.name === point.category;\n });\n };\n\n\n //INITIALIZE\n $scope.performance = portfolioData.performance;\n\n\n //EVENT REGISTRATION\n $scope.$on(\"refresh-data\", function () {\n portfolioData.loadPerformance(function () {\n $scope.$broadcast(\"performance-loaded\");\n });\n });\n});\n\n'use strict';\n\napp.controller('PortfolioBaseCtrl', function PortfolioBaseCtrl($scope, $q, accountsData, portfolioData, appSettings, $modal) {\n //PRIVATE METHODS\n function loadData() {\n accountsData.getInceptionDate()\n .then(function (inceptionDate) {\n if ($scope.current.startDate.isBefore(inceptionDate)) {\n $scope.current.startDate = inceptionDate;\n portfolioData.options.startDate = $scope.current.startDate;\n\n if ($scope.current.endDate.isBefore(inceptionDate)) {\n $scope.current.endDate = inceptionDate.clone();\n portfolioData.options.endDate = $scope.current.endDate;\n }\n }\n\n $scope.$broadcast(\"refresh-data\");\n });\n }\n\n //PUBLIC METHODS\n $scope.loadGroup = function (group, e) {\n if ((group.entity === 6 && group.canView) || group.entity === 107) {\n $scope.loadAccount(group);\n e.stopPropagation();\n }\n };\n\n $scope.loadAccount = function (account) {\n if (account !== accountsData.accounts.selected) {\n accountsData.accounts.selected = account;\n loadData();\n }\n $scope.toggleSidebarExpanded();\n };\n\n $scope.applyQuickDate = function (quickDate) {\n $scope.current.startDate = quickDate.startDate;\n $scope.current.endDate = quickDate.endDate || Date.create('today');\n $scope.changeSettings();\n };\n\n $scope.changeSettings = function () {\n var setAndRefresh = function () {\n if ($scope.current.startDate.isAfter($scope.current.endDate)) {\n $scope.current.startDate = $scope.current.endDate.clone();\n }\n portfolioData.options.startDate = $scope.current.startDate;\n portfolioData.options.endDate = $scope.current.endDate;\n loadData();\n };\n\n if (!$scope.current.startDate) {\n accountsData.getInceptionDate()\n .then(function (inceptionDate) {\n $scope.current.startDate = inceptionDate;\n setAndRefresh();\n });\n } else {\n setAndRefresh();\n }\n };\n\n $scope.toggleSidebarExpanded = function () {\n $scope.current.sidebarExpanded = !$scope.current.sidebarExpanded;\n };\n\n $scope.manageLinkedAccounts = function () {\n $modal.open({templateUrl: \"app/modals/manage-linked-accounts.html\", controller: \"ManageLinkedAccountsCtrl\", windowClass: \"modal-fit\"})\n .result\n .then(function () {\n accountsData.refreshPendingAccounts();\n }, angular.noop);\n };\n\n $scope.processByAllError = function (error) {\n var byAllError = {\n level: 0,\n message: \"\"\n };\n\n if (error) {\n if (error.includes(\"1007\")) {\n byAllError.level = 1;\n byAllError.message = \"1007: Login credential issue\";\n } else if (error.includes(\"1004\")) {\n byAllError.level = 1;\n byAllError.message = \"1004: Cannot connect to financial institution\";\n } else if (error.includes(\"2003\")) {\n byAllError.level = 1;\n byAllError.message = \"2003: The account is not available to this login\";\n } else if (error.includes(\"2005\")) {\n byAllError.level = 1;\n byAllError.message = \"2005: The account does not allow data to be downloaded\";\n } else if (error.isBlank()) {\n byAllError.level = 0;\n byAllError.message = \"\";\n } else {\n byAllError.level = 2;\n byAllError.message = \"An issue has occurred when attempting to download account information\";\n }\n\n if (byAllError.level !== 0) {\n if (appSettings.portfolio.allowLinkedAccounts && byAllError.level === 1) {\n byAllError.message += \"\\n - Click here to update the account connection.\";\n } else {\n byAllError.message += \"\\n - Please try again later. If the problem persists, contact your advisor.\";\n }\n }\n }\n\n return byAllError;\n };\n\n\n //INITIALIZE\n $scope.accounts = accountsData.accounts;\n $scope.holdings = portfolioData.holdings;\n $scope.portfolioDataOptions = portfolioData.options;\n $scope.current = {sidebarExpanded: false, startDate: null, endDate: null};\n $scope.portfolioSettings = appSettings.portfolio;\n\n\n //EVENT REGISTRATION\n $scope.$on('$stateChangeSuccess', function () {\n $q.all([accountsData.isClientLoaded, portfolioData.isLoaded])\n .then(function () {\n $scope.current.startDate = portfolioData.options.startDate;\n $scope.current.endDate = portfolioData.options.endDate;\n $scope.current.showDateRange = portfolioData.options.showDateRange;\n $scope.changeSettings();\n });\n });\n});\n\n\napp.controller('BalanceSheetCtrl', function BalanceSheetCtrl($scope, $modal, APP_CONFIG, appSettings, balanceSheetData) {\n //PRIVATE METHODS\n function init() {\n appSettings.isLoaded\n .then(function () {\n $scope.linkMode = appSettings.portfolio.byallAggregationEnabled ? 'byall' : null;\n });\n\n balanceSheetData.load(refreshChartSeries);\n }\n\n function refreshChartSeries() {\n $scope.balanceSheetChart.series = balanceSheetData.balanceSheet.chart;\n }\n\n \n //PUBLIC METHODS\n $scope.addManualAccount = function () {\n var account = {mode: \"manual\", type: \"assets\", category: balanceSheetData.balanceSheet.categories[0]};\n \n $modal.open({templateUrl: \"app/modals/balance-sheet-account-editor.html\", controller: \"BalanceSheetAccountEditorCtrl\", resolve: {account: function(){ return account; }}})\n .result\n .then(function (result) {\n balanceSheetData.addAccount(result).then(refreshChartSeries);\n }, angular.noop);\n };\n \n $scope.addByAllAccount = function () {\n var url = APP_CONFIG.baseApiUrl + \"/Integrations/ByAllAccounts/SSO?balanceOnly=true&Authorization=\" + sessionStorage.oas_token;\n\n $modal.open({templateUrl: \"app/modals/iframe.html\", controller: \"IFrameCtrl\", windowClass: \"wide\", resolve: {args: function(){ return {url: url, isCalendar: true}; }}})\n .result\n .then(function () {\n balanceSheetData.refreshByAllAccounts().then(refreshChartSeries);\n }, angular.noop);\n };\n\n $scope.editAccount = function (type, category, account) {\n var originalAccount = angular.extend({mode: 'edit', type: type, category: category}, account);\n var accountToEdit = angular.copy(originalAccount);\n\n $modal.open({templateUrl: \"app/modals/balance-sheet-account-editor.html\", controller: \"BalanceSheetAccountEditorCtrl\", resolve: {account: function(){ return accountToEdit; }}})\n .result\n .then(function (result) {\n if (result === \"delete\") {\n balanceSheetData.deleteAccount(type, category, account.id).then(refreshChartSeries);\n } else {\n balanceSheetData.updateAccount(originalAccount, result).then(refreshChartSeries);\n }\n }, angular.noop);\n };\n\n $scope.editCategoryName = function (type, oldName) {\n var settings = {title: oldName, icon: \"fa-edit\", label: \"New Name\"};\n $modal.open({templateUrl: \"app/modals/input-prompt.html\", controller: \"InputPromptCtrl\", resolve: {settings: function () {return settings;}}})\n .result\n .then(function (result) {\n balanceSheetData.updateCategoryName(type, oldName, result).then(refreshChartSeries);\n }, angular.noop);\n };\n \n \n //INITIALIZE\n $scope.balanceSheetChart = {\n options: {\n legend: false,\n chart: {type: 'bar'},\n plotOptions: {series: {stacking: 'normal', groupPadding: 0.15, pointPadding: 0.01}},\n tooltip: {\n formatter: function () {\n return '' + this.x + '
' + this.series.name + ': ' + '$' + Highcharts.numberFormat(this.y, 2, '.', ',') + '
' + 'Total: $' + Highcharts.numberFormat(this.point.stackTotal, 2, '.', ',')\n }\n }\n },\n xAxis: {categories: ['Assets', 'Liabilities'], labels: {enabled: false}},\n yAxis: {title: {text: ''}, min: 0},\n series: balanceSheetData.balanceSheet.chart || [],\n title: {text: ''}\n };\n\n $scope.balanceSheet = balanceSheetData.balanceSheet;\n\n init();\n});\n'use strict';\n\napp.controller('GoalTrackingCtrl', function GoalTrackingCtrl($scope, $q, appSettings, accountsData, portfolioData) {\n //INITIALIZE\n $scope.goalTracking = portfolioData.goalTracking;\n\n $q.all([accountsData.isClientLoaded, appSettings.isLoaded])\n .then(function () {\n portfolioData.loadGoalTracking(function () {\n $scope.$broadcast(\"goal-tracking-loaded\");\n });\n });\n});\n\n'use strict';\n\napp.controller('RmdCtrl', function RmdCtrl($scope, portfolioData) {\n //INITIALIZE\n $scope.rmd = portfolioData.rmd;\n portfolioData.loadRmd();\n\n portfolioData.isLoaded\n .then(function () {\n $scope.$broadcast(\"refresh-data\");\n });\n});\n\n'use strict';\n\napp.controller('AllocationsCtrl', function AllocationsCtrl($scope, $timeout, $location, $modal, accountsData, tradingData, colorizer) {\n //PUBLIC METHODS\n $scope.loadFromSummary = function (account) {\n accountsData.accounts.groups.find(function (group) {return group.items.any(account);}).isOpen = true;\n\n $scope.loadAccount(account);\n };\n\n $scope.openAddProductModal = function () {\n var modalScope = $scope.$new();\n modalScope.accountId = $scope.account.id;\n modalScope.current = {};\n\n $modal.open({templateUrl: \"add-product.html\", backdrop: 'static', scope: modalScope})\n .result\n .then(function (result) {\n tradingData.addNewAsset($scope.account.modelingInfo.customAllocations[$scope.tabs.selected.id].items, $scope.account.chart[$scope.tabs.selected.id].target, result.product, result.targetPercent);\n }, angular.noop);\n };\n\n $scope.removeAsset = function (tab, asset) {\n $scope.account.modelingInfo.customAllocations[tab].items.remove(asset);\n };\n\n $scope.selectAsset = function (index) {\n $scope.$broadcast(\"allocation-selected\", {index: index});\n };\n\n $scope.copyModel = function () {\n var activeTab = $scope.tabs.selected;\n var inactiveTab = $scope.tabs.list[activeTab.id === \"newMoney\" ? 0 : 1];\n\n $modal.open({templateUrl: \"app/modals/confirm.html\", controller: \"ConfirmCtrl\", resolve: {content: function() {return {title:'Confirm Action', message: \"This will remove all assets from the \" + activeTab.name + \" tab and replace them with the assets from the \" + inactiveTab.name + \" tab. Do you want to continue?\"};}}})\n .result\n .then(function (result) {\n if (result === \"OK\") {\n var currentModel = $scope.account.modelingInfo.customAllocations[activeTab.id];\n var currentModelCopy = angular.copy(currentModel.items);\n\n currentModel.items = angular.copy($scope.account.modelingInfo.customAllocations[inactiveTab.id].items);\n\n currentModel.items.forEach(function (item) {\n var oldItem = currentModelCopy.find({productId: item.productId});\n item.currentPercent = oldItem ? oldItem.currentPercent : 0;\n });\n }\n }, angular.noop);\n };\n\n $scope.saveAllocation = function () {\n tradingData.saveAccountModelingInfo($scope.account)\n .then(function (errorsOrData) {\n if (angular.isArray(errorsOrData)) {\n var errorMessage = {\n title: \"Validation Errors\",\n subTitle: \"
Come check out the new client portal!
', isHtml: true};\n});\n\n'use strict';\n\napp.controller('LoginAsCtrl', function LoginAsCtrl($scope, $http, $modalInstance, currentUser) {\n //PRIVATE VARIABLES\n var tempToken = sessionStorage.oas_token;\n\n\n //PRIVATE METHODS\n function init() {\n getDifferentToken()\n .then(function (token) {\n tempToken = token;\n\n $http.get(\"/Authorization/Databases\", {tracker: 'main', trackerMsg: 'Loading databases', headers: {Authorization: \"Session \" + tempToken}})\n .then(function (response) {\n $scope.current.databases = response.data;\n });\n });\n }\n\n function getDifferentToken(extraHeaders) {\n var headers = angular.extend({Authorization: \"Switch \" + tempToken}, extraHeaders);\n\n return $http.get('/security/token', {headers: headers, tracker: 'main', trackerMsg: 'Requesting new token'})\n .then(function (response) {\n return response.data.access_token;\n });\n }\n\n\n //PUBLIC METHODS\n $scope.searchClients = function (searchText) {\n return $http.get(\"/Security/Profiles/Search/\" + encodeURIComponent(searchText) + \"?Entity=5\", {headers: {Authorization: \"Session \" + tempToken}})\n .then(function (response) {\n return response.data;\n });\n };\n\n $scope.clientFormatter = function (profile) {\n return !profile ? '' : (profile.entityId || profile.userId) + ': ' + profile.entityName + ' (' + profile.loginUserId + ')';\n };\n\n $scope.updateDbToken = function () {\n getDifferentToken({AlClientId: $scope.current.alClientId})\n .then(function (token) {\n $scope.current.selectedClient = null;\n tempToken = token;\n });\n };\n\n $scope.updateUserToken = function () {\n getDifferentToken({UserDetailId: $scope.current.selectedClient.userDetailId})\n .then(function (token) {\n $modalInstance.close();\n\n //just to allow the modal to close and not look so abrupt\n setTimeout(function () {\n sessionStorage.clear();\n sessionStorage.oas_token = token;\n window.location.reload();\n }, 750);\n });\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss();\n };\n\n\n //INITIALIZE\n $scope.current = {databases: null, alClientId: currentUser.authorization.alClientId, selectedClient: null, searchInProgress: false};\n init();\n});\n\n'use strict';\n\napp.controller('ManageLinkedAccountsCtrl', function ManageLinkedAccountsCtrl($scope, $http, $q, $modal, $modalInstance, $sce, APP_CONFIG, appSettings) {\n\n //PRIVATE METHODS\n function init() {\n getAkoya();\n $http.get('/Integrations/Akoya/Legacy/Institution', null)\n .then((response) => {\n response.data.forEach((item) => {\n if(item.icon == null)\n {\n item.icon = 'styles/img/add-institution.png';\n }\n if (item.id == 'byall') {\n angular.merge(item, { sort: 6, btnText: 'Add Other Institutions', icon: '/styles/img/add-institution.png', linkType: 'link', url: APP_CONFIG.baseApiUrl + '/Integrations/ByAllAccounts/SSO?balanceOnly=false&Authorization=' + sessionStorage.oas_token });\n }\n else {\n item.url += sessionStorage.oas_token;\n if(item.icon != 'styles/img/add-institution.png'){\n if(item.iconType == 'svg'){\n item.iconType = 'svg+xml';\n }\n item.icon = \"data:image/\" + item.iconType + \";base64, \" + item.icon;\n }\n }\n $scope.availableVendors.push(item);\n });\n\n if ($scope.availableVendors.length === 1) {\n $scope.goToVendor($scope.availableVendors[0]);\n }\n\n $scope.back = false;\n $scope.linkedbuttons = true;\n $scope.displayname = true;\n $scope.editname = false;\n $scope.editToken = false;\n });\n }\n\n function getAkoya() {\n $http.get('/Integrations/Akoya/GetAkoya', null)\n .then(\n function (response) {\n if (response.data) {\n $scope.tokens = response.data;\n }\n }\n );\n }\n\n //PUBLIC METHODS\n $scope.goToVendor = function (vendor) {\n if (vendor.linkType === 'link') {\n window.location.href = vendor.url + '&cpt=' + sessionStorage.oas_token;\n } else if (vendor.linkType === 'newtab') {\n window.open(vendor.url, \"_blank\");\n $modalInstance.close();\n } else if (vendor.linkType === 'script') {\n $scope[vendor.url]();\n } else {\n $scope.current.url = $sce.trustAsResourceUrl(vendor.url);\n }\n }\n\n $scope.unlinkVendor = function (event, token) {\n event.stopPropagation();\n\n switch (token.financialInstitution.toLowerCase()) {\n case \"transamerica\":\n case \"fidelity\":\n case \"mikomo\":\n $http.get('/Integrations/Akoya/Revoke/' + token.financialInstitution.toLowerCase() + '?akoyaTokenId=' + token.akoyaTokenId, null)\n .then(\n function (response) {\n getAkoya();\n }\n );\n break;\n\n default:\n // Technically, should never get here, which means it will get here.\n alert(`No Revoke available for ${token.tokenName}`);\n break;\n }\n }\n\n $scope.goback = function () {\n $scope.back = false;\n $scope.linkedbuttons = true;\n $scope.new = false;\n $scope.manage = false;\n $scope.editToken = false;\n }\n\n $scope.close = function () {\n $modalInstance.close();\n }\n\n $scope.togglelinkedaccounts = function (isNew) {\n if (isNew == true) {\n $scope.new = true;\n $scope.manage = false;\n } else {\n $scope.new = false;\n $scope.manage = true;\n }\n $scope.back = true;\n $scope.linkedbuttons = false;\n }\n\n $scope.NameToken = function (event, token) {\n $http.get('/Integrations/Akoya/EditToken?akoyaTokenId=' + token.akoyaTokenId + '&tokenname=' + token.tokenName, null)\n .then(\n function () {\n $scope.displayname = true;\n $scope.editToken = false;\n $scope.new = false;\n $scope.manage = true;\n getAkoya();\n }\n );\n }\n\n $scope.EditToken = function (token) {\n $scope.manage = false;\n $scope.editToken = true;\n $scope.selectedToken = token;\n }\n\n //INITIALIZE\n $scope.current = { url: null };\n $scope.availableVendors = [];\n\n init();\n});\n\n'use strict';\n\napp.controller('ManageCommentaryCtrl', function ManageCommentaryCtrl($scope, $modalInstance, commentaryData) {\n //PRIVATE METHODS\n function init() {\n commentaryData.getCommentaryForEdit()\n .then(function (data) {\n $scope.commentaryList = data;\n });\n }\n\n\n //PUBLIC METHODS\n $scope.editCommentary = function (commentary) {\n $scope.current.commentary = angular.copy(commentary);\n $scope.current.isEditMode = true;\n };\n\n $scope.newCommentary = function () {\n $scope.editCommentary({publishDate: Date.create('today')});\n };\n\n $scope.saveCommentary = function () {\n commentaryData.saveCommentary($scope.current.commentary)\n .then(function (data) {\n if ($scope.current.commentary.id) {\n angular.extend($scope.commentaryList.find({id: $scope.current.commentary.id}), data);\n } else {\n $scope.commentaryList.push(data);\n }\n\n $scope.current.isEditMode = false;\n });\n };\n\n $scope.deleteCommentary = function () {\n commentaryData.deleteCommentary($scope.current.commentary)\n .then(function () {\n $scope.commentaryList.remove({id: $scope.current.commentary.id});\n $scope.current.isEditMode = false;\n });\n };\n\n $scope.close = function () {\n $modalInstance.close();\n };\n\n\n //INITIALIZE\n $scope.current = {isEditMode: false, commentary: null};\n\n init();\n});\n\n'use strict';\n\napp.controller('ManageDownloadsCtrl', function ManageDownloadsCtrl($scope, $modalInstance, staticFilesData) {\n // PUBLIC METHODS\n $scope.close = function () {\n $modalInstance.close();\n };\n\n $scope.downloadFile = function (file) {\n staticFilesData.downloadFile(file);\n };\n\n $scope.deleteFile = function (file) {\n staticFilesData.deleteFile(file);\n };\n\n $scope.upload = function (files) {\n staticFilesData.uploadFile(files[0]);\n };\n\n\n //INITIALIZE\n $scope.downloads = staticFilesData.files;\n});\n\n'use strict';\n\napp.controller('SettingsCtrl', function SettingsCtrl($scope, $http, $state, $modal, $modalInstance, appSettings, currentUser, cloudStorageProviders, APP_CONFIG, settingsLevels, repSettingsLevels) {\n //PRIVATE VARIABLES\n let rawSettings, groupedSettings, originalSettings, completeSettings;\n const landingPage = {setting: null, optionList: []};\n\n //PRIVATE METHODS\n function init () {\n if (currentUser.profile.isAdmin || currentUser.profile.isAdvisor) {\n $scope.settingsLevels = settingsLevels;\n } else if (currentUser.profile.isRep || currentUser.profile.isBD) {\n $scope.settingsLevels = repSettingsLevels;\n $scope.current.level = null;\n }\n\n if (!appSettings.config.riaSettingsEnabled) {\n delete $scope.settingsLevels.ria;\n }\n\n const states = $state.get();\n states.forEach(function (state) {\n const nameParts = state.name.split('.');\n\n if (!state.tab || nameParts.length === 1) {\n return;\n }\n\n const parentState = states.find({name: nameParts[0]});\n\n if (parentState.tab.title !== 'Insight') {\n landingPage.optionList.push({\n url: parentState.url + state.url,\n name: parentState.tab.title + ' - ' + state.tab.title,\n enabled: state.tab.enabled === 'portfolio.showActivity' ? null : state.tab.enabled || parentState.tab.enabled\n });\n }\n });\n landingPage.optionList = landingPage.optionList.sortBy('name');\n\n loadSettings();\n\n $http.get('/Integrations/AdvisorCloudStorage/List', {headers: {Unmasquerade: 'true'}, tracker: 'main', trackerMsg: 'Loading cloud storage providers'})\n .then(function (response) {\n if (response.data.length > 0) {\n $scope.cloudProviders = [{name: response.data[0].provider, isLinked: true}];\n } else {\n fillCloudProviderList();\n }\n });\n }\n\n function fillCloudProviderList() {\n $scope.cloudProviders = cloudStorageProviders.reject('advisorShared').values().map(function (provider) {return {name: provider.name, isLinked: false};});\n }\n\n function loadSettings() {\n appSettings.getSettingsForEdit($scope.current.level, $scope.current.entity)\n .then(function (dataSets) {\n completeSettings = dataSets.complete;\n\n const data = dataSets.editable;\n\n landingPage.setting = null;\n\n if (APP_CONFIG.mode === 'settings-only') {\n data.remove({promptName: 'default-landing-page'});\n }\n\n data.forEach(function (setting) {\n if (setting.promptName === 'default-landing-page') {\n setting.options = landingPage.optionList;\n landingPage.setting = setting;\n }\n\n if (setting.allowedEntities) {\n const entities = [\n {name: \"Broker/Dealer\", isAllowed: false},\n {name: \"Representative\", isAllowed: false}\n ];\n\n setting.allowedEntities.forEach(function (entity) {\n entities.find({name: entity}).isAllowed = true;\n });\n\n setting.allowedEntities = entities;\n }\n });\n\n if (!appSettings.integration.experianDBEO) {\n data.remove({displayName: 'Experian'});\n }\n if (!appSettings.integration.hasFidelityPID) {\n data.remove({displayName: 'Fidelity Documents Enabled'});\n }\n if (!appSettings.integration.hasPershingPLINK) {\n data.remove({displayName: 'Pershing Documents Enabled'});\n }\n\n rawSettings = data;\n originalSettings = angular.copy(rawSettings); //create a copy so we update only settings that change\n\n groupedSettings = rawSettings.groupBy('category');\n\n const groups = [\n {name: 'Global', icon: 'fa-globe'},\n {name: 'Advisor', icon: 'fa-user'},\n {name: 'Portfolio', icon: 'fa-briefcase'},\n {name: 'Updates', icon: 'fa-envelope'},\n {name: 'Documents', icon: 'fa-folder-open'},\n {name: 'Trading', icon: 'fa-bell'},\n {name: 'Integration', icon: 'fa-cubes'}\n ];\n\n $scope.settingsGroups = [];\n\n groups.forEach(function (group) {\n const key = group.name.toLowerCase();\n\n if (groupedSettings[key]) {\n groupedSettings[key] = groupedSettings[key].sortBy('displayOrder');\n $scope.settingsGroups.push(group);\n\n const primaryColorSetting = groupedSettings[key].find(gs => gs.promptName.toLowerCase() === 'theme-primary-bg-color');\n if (primaryColorSetting) {\n $scope.colorKeyPressCheck(primaryColorSetting);\n }\n }\n });\n });\n\n $scope.current.siteUrl = `${APP_CONFIG.loginUrl}?g=${currentUser.authorization.alClientGuid}`;\n if ($scope.current.level === settingsLevels.rep.value || $scope.current.level === settingsLevels.bd.value) {\n $scope.current.siteUrl += `&e=${$scope.current.level}&i=${$scope.current.entity.id}`;\n } else if (currentUser.profile.isRep) {\n $scope.current.siteUrl += `&e=4&i=${currentUser.authorization.originalEntityId}`;\n } else if (currentUser.profile.isBD) {\n $scope.current.siteUrl += `&e=2&i=${currentUser.authorization.originalEntityId}`;\n }\n }\n\n function isEnabled(setting) {\n if (angular.isString(setting)) {\n const settingParts = setting.split('.');\n if (settingParts[1] === 'wealthAccess') {\n settingParts[1] = 'wealthAccessWidgets';\n }\n const foundSetting = completeSettings.find(function (x) {\n return x.category === settingParts[0] && x.promptName.camelize(false) === settingParts[1];\n });\n return foundSetting.value;\n } else if (angular.isArray(setting)) {\n return setting.any(isEnabled);\n }\n\n return true;\n }\n\n //PUBLIC VARIABLES\n $scope.isSettingValid = true;\n\n //PUBLIC METHODS\n $scope.isCurrentLevel = function (settingLevel) {\n const level = $scope.current.level;\n\n switch (settingLevel) {\n case 'Household':\n return level === settingsLevels.client.value;\n case 'Representative':\n return level === settingsLevels.rep.value || (currentUser.profile.isRep && level === null);\n case 'RIA Table':\n return level === settingsLevels.ria.value;\n case 'Broker/Dealer':\n return level === settingsLevels.bd.value || (currentUser.profile.isBD && level === null);\n case 'Advisor':\n return level === settingsLevels.advisor.value;\n default:\n return false;\n }\n };\n\n $scope.setSelectedGroup = function (name) {\n $scope.selectedGroup = groupedSettings[name.toLowerCase()];\n };\n\n $scope.resetEntity = function () {\n $scope.current.entity = null;\n\n if ($scope.current.level === settingsLevels.advisor.value || (currentUser.profile.isRep || currentUser.profile.isBD)) {\n loadSettings();\n }\n };\n\n $scope.save = function () {\n if (landingPage.setting) {\n const landingPageOption = landingPage.optionList.find({url: landingPage.setting.value});\n\n if (!isEnabled(landingPageOption.enabled)) {\n const errorMessage = {\n title: 'Invalid Setting Value',\n subTitle: `The default landing page cannot be set to ${landingPageOption.name} because that page is not enabled.`,\n hideResolution: true\n };\n\n $modal.open({templateUrl: 'app/modals/error-message.html', controller: 'ErrorMessageCtrl', resolve: {errorMessage: function() {return errorMessage;}}})\n .result\n .then(angular.noop, angular.noop);\n\n return;\n }\n }\n\n const modifiedSettings = angular.copy(rawSettings); //using a copy so user doesn't see JSON stringified values while save in progress\n\n originalSettings.forEach(function (setting) {\n modifiedSettings.remove({category: setting.category, promptName: setting.promptName, value: setting.value, optionLevel: setting.optionLevel, allowedEntities: setting.allowedEntities});\n });\n\n modifiedSettings.forEach(function (setting) {\n if (setting.type.startsWith('JSON')) {\n if (setting.type === 'JSONRichText') {\n setting.value.lastUpdated = Date.create();\n }\n setting.value = JSON.stringify(setting.value);\n } else if (setting.type === 'Date' && !setting.value) {\n setting.value = ''; //table does not allow nulls\n } else if (setting.type === 'CheckBox') {\n setting.value = setting.value.toString();\n }\n\n if (setting.allowedEntities) {\n setting.allowedEntities = setting.allowedEntities.remove({isAllowed: false}).map('name');\n }\n });\n\n const postSave = function () {\n if (APP_CONFIG.mode === 'settings-only') {\n const modifiedCount = modifiedSettings.length;\n\n const successMessage = {\n title: 'Save Successful',\n subTitle: modifiedCount > 1 ? `${modifiedCount} settings were updated.` : modifiedCount > 0 ? 'One setting was updated.' : 'No settings were updated.',\n icon: 'fa-check-circle-o text-success',\n hideResolution: true\n };\n\n $modal.open({templateUrl: 'app/modals/error-message.html', controller: 'ErrorMessageCtrl', resolve: {errorMessage: function() {return successMessage;}}})\n .result\n .then(angular.noop, loadSettings);\n } else {\n $modalInstance.close();\n setTimeout(function () {window.location.reload();}, 300);\n }\n };\n\n if (modifiedSettings.length) {\n appSettings.saveSettings(modifiedSettings, $scope.current.level, $scope.current.entity)\n .then(function () {\n postSave();\n });\n } else {\n postSave();\n }\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss();\n };\n\n $scope.resetValue = function (setting) {\n appSettings.resetSetting(setting, $scope.current.level, $scope.current.entity)\n .then(function () {\n const originalSetting = originalSettings.find({promptName: setting.promptName});\n angular.extend(originalSetting, setting);\n });\n };\n\n $scope.setImageValue = function (files, event, rejectedFiles, setting) {\n if (files.isEmpty() && rejectedFiles.isEmpty()) {\n return;\n }\n\n if (rejectedFiles.length) {\n setting.invalidFile = true;\n } else {\n setting.invalidFile = false;\n\n const reader = new FileReader();\n reader.onload = function (e) {\n $scope.$apply(function () {\n setting.value = e.target.result;\n });\n };\n reader.readAsDataURL(files[0]);\n }\n };\n\n $scope.toggleCloudProvider = function (provider) { \n if (provider.isLinked) {\n $http.delete('/Integrations/AdvisorCloudStorage/Credentials', {headers: {Unmasquerade: 'true'}, tracker: 'main', trackerMsg: `Removing link to ${provider.name}`})\n .then(function () {\n fillCloudProviderList();\n });\n } else {\n const props = {apiUrl: APP_CONFIG.baseApiUrl, provider: provider.name, protocol: window.location.protocol, host: window.location.host, token: sessionStorage.oas_token};\n //ShareFile does not provide a hash # = %23 when returning parameters\n props.hash = props.provider === cloudStorageProviders.shareFile.name ? \"%23\" : \"\";\n\n if (props.provider === cloudStorageProviders.egnyte.name) {\n const settings = {title: 'Egnyte', icon: 'fa-cloud', label: 'Enter Domain', message: '.egnyte.com'};\n $modal.open({templateUrl: 'app/modals/input-prompt.html', controller: 'InputPromptCtrl', resolve: {settings: function () {return settings;}}})\n .result\n .then(function (result) {\n if (!result) {\n return;\n } \n props.domain = result;\n props.hash = '%26';\n const egnyteUrl = '{apiUrl}/Integrations/AdvisorCloudStorage/{provider}/Redirect?url={protocol}//{host}/advisorcloudstorage-credentials.html?provider={provider}{hash}dm={domain}&domain={domain}&token={token}&Authorization={token}'.assign(props);\n openNewOAuthTab(egnyteUrl);\n }, angular.noop);\n } else if (props.provider === 'Dropbox') {\n const dropBoxUrl = '{apiUrl}/Integrations/AdvisorCloudStorage/{provider}/Redirect?url={protocol}//{host}/advisorcloudstorage-credentials.html?provider={provider}{hash}&token={token}&Authorization={token}'.assign(props);\n openNewOAuthTab(dropBoxUrl);\n } else if (props.provider === 'ShareFile') {\n const shareFileUrl = '{apiUrl}/Integrations/AdvisorCloudStorage/{provider}/Redirect?url={protocol}//{host}/advisorcloudstorage-credentials.html?provider={provider}{hash}&token={token}&Authorization={token}'.assign(props);\n openNewOAuthTab(shareFileUrl);\n } else if (props.provider === 'Box') {\n const boxUrl = '{apiUrl}/Integrations/AdvisorCloudStorage/{provider}/Redirect?url={protocol}//{host}/advisorcloudstorage-credentials.html?provider={provider}{hash}&token={token}&Authorization={token}'.assign(props);\n openNewOAuthTab(boxUrl);\n } else if (props.provider === 'NetDocuments') {\n const netDocumentsUrl = '{apiUrl}/Integrations/AdvisorCloudStorage/{provider}/Redirect?url={protocol}//{host}/advisorcloudstorage-credentials.html?provider={provider}{hash}&token={token}&Authorization={token}'.assign(props);\n openNewOAuthTab(netDocumentsUrl);\n } else {\n window.location.href = '{apiUrl}/Integrations/AdvisorCloudStorage/{provider}/Redirect?url={protocol}//{host}/advisorcloudstorage-credentials.html?provider={provider}{hash}&Authorization={token}'.assign(props);\n }\n }\n\n function openNewOAuthTab(url) {\n const oauthTab = window.open();\n oauthTab.opener = null;\n oauthTab.location = url;\n closeWindowAfterOAuth(oauthTab);\n }\n\n function closeWindowAfterOAuth(win) {\n const timer = setInterval(function () {\n if (win.closed) {\n clearInterval(timer);\n location.reload();\n }\n }, 2000);\n }\n };\n\n $scope.colorKeyPressCheck = function(setting) {\n if (setting && setting.promptName === 'theme-primary-bg-color') {\n const reg = /^#[0-9A-F]{6}$/i;\n $scope.isSettingValid = reg.test(setting.value);\n }\n };\n\n //INITIALIZE\n $scope.current = {level: settingsLevels.advisor.value, entity: null, siteUrl: null};\n init();\n\n\n //SCOPE WATCHERS\n $scope.$watch('current.entity', function (newValue, oldValue) {\n //couldn't get typeahead-on-select to work when wrapped in oas-search directive\n if (!newValue || newValue === oldValue) {\n return;\n }\n\n loadSettings();\n });\n});\n\n'use strict';\n\napp.controller('StartUpPromptCtrl', function StartUpPromptCtrl($scope, $modal, appInitMgr, startUpSettings) {\n //PUBLIC METHODS\n $scope.decline = function () {\n $modal.open({templateUrl: \"app/modals/confirm.html\", controller: \"ConfirmCtrl\", resolve: {content: function() {return {title:'Confirm Action', message: \"Without accepting, you will be logged out from the portal. Are you sure you want to decline?\"};}}})\n .result\n .then(function (result) {\n if (result === \"OK\") {\n appInitMgr.cleanLogout(false);\n }\n }, angular.noop);\n };\n\n\n //INITIALIZE\n $scope.settings = startUpSettings;\n});\n\napp.controller('StatementSettingsCtrl', function StatementSettingsCtrl($scope, $http, $modalInstance, currentUser) {\n //PRIVATE VARIABLES\n var userOriginal = null;\n\n\n //PRIVATE METHODS\n function init() {\n $http.get('/Portfolio/Clients/Verbose/' + currentUser.authorization.entityId, {tracker: 'main', trackerMsg: 'Loading user profile'})\n .then(function (response) {\n $scope.user = response.data;\n userOriginal = angular.copy($scope.user);\n\n if ($scope.user.portfolio.statementDeliveryMethodId === 2) {\n $scope.current.isEStatement = true;\n }\n });\n }\n\n function sendEmail(isMethodChange) {\n var data = {\n email: $scope.user.portfolio.email,\n subject: \"Profile information changed\",\n body: \"Profile information has been updated.\" + getChanges(isMethodChange),\n isMethodChange: isMethodChange\n };\n\n $http.post(\"/Reporting/PortalTask/EStatementEmail\", data, {tracker: 'main', trackerMsg: 'Sending Confirmation Email'});\n }\n\n function getChanges(isMethodChange) {\n var changes = \"\";\n\n if (isMethodChange) {\n changes += \"Statement delivery method change\" + \".\\r\\n\";\n }\n if ($scope.user.portfolio.email !== userOriginal.portfolio.email) {\n changes += \"Email changed from \" + userOriginal.portfolio.email + \" to \" + $scope.user.portfolio.email + \".\\r\\n\";\n }\n if ($scope.user.portfolio.address1 !== userOriginal.portfolio.address1) {\n changes += userOriginal.portfolio.address1 + \" changed to \" + $scope.user.portfolio.address1 + \".\\r\\n\";\n }\n if ($scope.user.portfolio.address2 !== userOriginal.portfolio.address2) {\n changes += userOriginal.portfolio.address2 + \" changed to \" + $scope.user.portfolio.address2 + \".\\r\\n\";\n }\n if ($scope.user.portfolio.city !== userOriginal.portfolio.city) {\n changes += userOriginal.portfolio.city + \" changed to \" + $scope.user.portfolio.city + \".\\r\\n\";\n }\n if ($scope.user.portfolio.state !== userOriginal.portfolio.state) {\n changes += userOriginal.portfolio.state + \" changed to \" + $scope.user.portfolio.state + \".\\r\\n\";\n }\n if ($scope.user.portfolio.zip !== userOriginal.portfolio.zip) {\n changes += userOriginal.portfolio.zip + \" changed to \" + $scope.user.portfolio.zip + \".\\r\\n\";\n }\n\n return changes;\n }\n\n\n //PUBLIC METHODS\n $scope.methodChange = function () {\n $scope.user.portfolio.statementDeliveryMethodId = $scope.current.isEStatement ? 2 : 1;\n\n $scope.markDirty();\n };\n\n $scope.markDirty = function () {\n if ($scope.user !== userOriginal) {\n $scope.current.isDirty = true;\n }\n };\n\n $scope.update = function () {\n var data = $scope.user;\n\n $http.put('/Portfolio/Clients/Verbose/' + currentUser.authorization.entityId, data, {tracker: 'main', trackerMsg: 'Saving user profile', headers: {Unmasquerade: \"false\"}})\n .then(function () {\n if (userOriginal.portfolio.statementDeliveryMethodId !== $scope.user.portfolio.statementDeliveryMethodId) {\n sendEmail(true);\n } else {\n sendEmail(false);\n }\n\n $modalInstance.close($scope.user);\n });\n };\n\n $scope.cancel = function () {\n $modalInstance.dismiss();\n };\n\n\n //INITIALIZE\n $scope.current = {isEStatement: false, isDirty: false};\n\n init();\n});\n\n'use strict';\n\napp.controller('UserProfileCtrl', function UserProfileCtrl($scope, $q, $http, $modal, $modalInstance, appSettings, appInitMgr, currentUser) {\n //PRIVATE VARIABLES\n var daysOfWeek = [\n {id: 1, name: \"Sunday\"},\n {id: 2, name: \"Monday\"},\n {id: 3, name: \"Tuesday\"},\n {id: 4, name: \"Wednesday\"},\n {id: 5, name: \"Thursday\"},\n {id: 6, name: \"Friday\"},\n {id: 7, name: \"Saturday\"}\n ];\n var lastVerifiedPhone;\n $scope.paymentForm = 'app/modals/paymentForm/payment-form.html';\n\n\n //PRIVATE METHODS\n function init() {\n $http.get('/Portfolio/Clients/' + currentUser.authorization.entityId, {tracker: 'main', trackerMsg: 'Loading user profile'})\n .then(function (response) {\n $scope.user = response.data;\n });\n\n $http.get(\"/Authorization/User/Verbose?expand=portfolio&expand=personal\", {tracker: 'main', trackerMsg: 'Loading authentication settings'})\n .then(function (response) {\n $scope.verboseUser = response.data;\n\n if (currentUser.twoFactor.required) {\n $scope.verboseUser.portfolio.twoFactor = true;\n }\n\n lastVerifiedPhone = $scope.verboseUser.personal.mobilePhone.isVerified ? $scope.verboseUser.personal.mobilePhone.number : \"NOT-VERIFIED\";\n });\n\n $http.get(\"/Reporting/Notifications/SubscriptionWithDestination/NotificationSubscriptions\", {tracker: 'main', trackerMsg: 'Loading notifications'})\n .then(function (response) {\n $scope.subscriptions = response.data;\n\n $scope.subscriptions.forEach(function (subscription) {\n if (subscription.type !== \"Advisor Blast\") {\n if (subscription.schedule.frequency === \"Weekly\" && subscription.destinations.any({enabled: true})) {\n subscription.schedule.dayOfWeek = daysOfWeek.find({name: Object.find(subscription.schedule.weekly, true).capitalize()}).id;\n }\n\n subscription.schedule.timeOfDayAsDate = Date.create(\"1900-01-01 \" + subscription.schedule.timeOfDay);\n\n setSubscriptionPhrase(subscription);\n }\n });\n });\n\n if ($scope.current.canEditBilling) {\n $http.get('/Settings/CustomSettings/bluepay_pay_methods')\n .then(function(response){\n var paymethod;\n if (response.data){\n paymethod = JSON.parse(response.data.value).id;\n switch(paymethod){\n case \"check\":\n $scope.current.ccPaymentMethod = 'check';\n break;\n case \"credit\":\n $scope.current.ccPaymentMethod = 'credit';\n break;\n case \"both\":\n default:\n $scope.current.ccPaymentMethod = 'both';\n break;\n }\n }\n });\n\n $http.get(\"/Portfolio/Clients/Verbose/\" + currentUser.authorization.entityId + \"?expand=creditCard\", {tracker: 'main', trackerMsg: 'Loading credit card information'})\n .then(function (response) {\n var creditCard = response.data.creditCard;\n\n if (creditCard.ccToken) {\n $scope.current.storedPaymentInfo = true;\n\n if (creditCard.ccType === \"ACH\") {\n var eCheckParts = creditCard.ccNum.unescapeURL().split(':');\n $scope.ccInfo.achAccountType = eCheckParts[0] === 'C' ? 'checking' : 'savings';\n $scope.ccInfo.achAccountNum = eCheckParts[2];\n $scope.current.ccPaymentType = 'check';\n $scope.current.ccPaymentMethod = 'check';\n } else {\n $scope.ccInfo.ccExpiration = null;\n $scope.ccInfo.ccNumber = creditCard.ccNum;\n $scope.ccInfo.ccType = creditCard.ccType.toLowerCase();\n $scope.ccInfo.cvv2 = $scope.ccInfo.ccType === 'amex' ? 'xxxx' : 'xxx';\n $scope.current.ccPaymentType = 'credit';\n $scope.current.ccPaymentMethod = 'credit';\n }\n }\n });\n }\n\n if (currentUser.twoFactor.required) {\n $http.get('/Settings/EntityOptions/Database/Code/69MESSAGER', {cache: true})\n .then(function (response) {\n $scope.current.twoFactorMsg = response.data.value;\n });\n }\n }\n\n function setSubscriptionPhrase(subscription) {\n var phrase;\n var enabledDestinations = subscription.destinations.findAll({enabled: true});\n\n if (enabledDestinations.length) {\n phrase = \"Send to \" + enabledDestinations.map(\"destinationName\").join(\" and \");\n\n switch (subscription.schedule.frequency) {\n case \"Monthly\":\n phrase += \" on the \" + subscription.schedule.dayOfMonth.ordinalize() + \" of the month\";\n break;\n case \"Weekly\":\n phrase += \" every \" + daysOfWeek.find({id: subscription.schedule.dayOfWeek}).name;\n break;\n case \"Daily\":\n phrase += \" every day\";\n break;\n }\n\n phrase += \" at \" + Date.create(subscription.schedule.timeOfDayAsDate).format(\"{h}:{mm} {tt}\");\n }\n\n subscription.phrase = phrase;\n }\n\n\n //PUBLIC METHODS\n $scope.togglePhoneVerification = function () {\n $scope.verboseUser.personal.mobilePhone.isVerified = $scope.verboseUser.personal.mobilePhone.number === lastVerifiedPhone;\n };\n\n $scope.verifyPhone = function () {\n $q.all([\n $http.get(\"/Settings/Apps/notifications/Options/TermsConditions\", {tracker: 'main', trackerMsg: \"Loading terms & conditions\"}),\n $http.post(\"/Utility/SMS/SendPIN?phoneNumber=\" + $scope.verboseUser.personal.mobilePhone.number, null, {tracker: 'main', trackerMsg: 'Sending verification text'})\n ])\n .then(function (responses) {\n var resolve = {\n termsAndConditions: function () {return responses[0].data.value;}\n };\n\n $modal.open({templateUrl: \"pin-verification.html\", controller: \"PinVerificationCtrl\", backdrop: 'static', resolve: resolve})\n .result\n .then(function (result) {\n if (result) {\n $scope.verboseUser.personal.mobilePhone.isVerified = true;\n lastVerifiedPhone = $scope.verboseUser.personal.mobilePhone.number;\n }\n }, angular.noop);\n });\n };\n\n $scope.editSubscription = function (subscription) {\n var resolve = {\n subscription: function () {return subscription;},\n daysOfWeek: function () {return daysOfWeek;}\n };\n\n $modal.open({templateUrl: \"edit-subscription.html\", controller: \"EditSubscriptionCtrl\", backdrop: 'static', resolve: resolve})\n .result\n .then(function (result) {\n if (result) {\n angular.extend(subscription, result);\n setSubscriptionPhrase(subscription);\n }\n }, angular.noop);\n };\n\n $scope.setAchImage = function (controlName) {\n $scope.current.achImageTop = !controlName ? 1 : controlName === 'account' ? -199 : -99;\n };\n\n $scope.removeCCInfoFromHousehold = function () {\n $modal.open({templateUrl: \"app/modals/confirm.html\", controller: \"ConfirmCtrl\", resolve: {content: function() {return {title:'Confirm Action', message: \"Are you sure you want to remove your payment information?\"};}}})\n .result\n .then(function (result) {\n if (result === \"OK\") {\n $http.delete('/Integrations/BluePay/' + currentUser.authorization.entityId, {tracker: 'main', trackerMsg: 'Removing payment information'})\n .then(function () {\n $scope.modifyCCInfo();\n });\n }\n }, angular.noop);\n };\n\n $scope.modifyCCInfo = function () {\n $scope.ccInfo = {};\n $scope.current.storedPaymentInfo = false;\n };\n\n $scope.unsubscribe = function (subscription) {\n subscription.destinations.forEach(function (destination) {\n destination.enabled = false;\n });\n setSubscriptionPhrase(subscription);\n };\n\n $scope.save = function (billingForm) {\n var validationErrors = [];\n if ($scope.verboseUser.portfolio.twoFactor && (!$scope.verboseUser.personal.email || !$scope.verboseUser.personal.mobilePhone.number)) {\n validationErrors.push(\"Email address and phone number are required for 2-factor authentication.\");\n }\n\n if (!$scope.verboseUser.personal.email && $scope.subscriptions.any(function (s) {return (s.destinations.find({destinationName: \"Email\"}) || {enabled: false}).enabled;})) {\n validationErrors.push(\"Email notifications require a valid email address.\");\n }\n\n if ((!$scope.verboseUser.personal.mobilePhone.number || !$scope.verboseUser.personal.mobilePhone.isVerified) && $scope.subscriptions.any(function (s) {return (s.destinations.find({destinationName: \"SMS Text\"}) || {enabled: false}).enabled;})) {\n validationErrors.push(\"SMS Text notifications require a verified phone number.\");\n }\n\n var saveBilling = false;\n\n if ($scope.current.canEditBilling && !$scope.current.storedPaymentInfo) {\n var requiredFields;\n if ($scope.current.ccPaymentType === 'check') {\n requiredFields = ['achRoutingNum', 'achAccountNum'];\n } else if ($scope.current.ccPaymentType === 'credit') {\n requiredFields = ['ccNumber', 'cvv2', 'ccExpiration'];\n }\n\n if (requiredFields) {\n saveBilling = true;\n requiredFields.add(['ccFirstNameOnCard', 'ccLastNameOnCard', 'ccAddress1', 'ccCity', 'ccState', 'ccZip', 'ccCountry', 'ccEmail', 'ccPhone']);\n\n requiredFields.forEach(function (field) {\n if (!$scope.ccInfo[field]) {\n validationErrors.push(field.replace('ach', '').replace('cc', '').titleize() + \" is a required field for saving billing information.\");\n }\n });\n }\n }\n\n if (validationErrors.length) {\n var errorMessage = {\n title: \"Validation Errors\",\n subTitle: \"Terms and Conditions
\\\n\\\n
Your use of this service means that you have accepted these terms in their entirety. If you do not agree with these terms in their entirety, please terminate the service immediately. These terms (hereinafter referred to as “Terms and Conditions”) apply to your use of any products and/or services (the “Services”) offered or provided by CSID (as hereinafter defined), Orion Advisor Technology, LLC (“Orion”), or their respective corporate affiliates.
\\\n \\\nUSE OF SERVICES:
\\\n\\\n
Adviser agrees that Adviser clients will use Services only for their benefit. Adviser will be responsible for all use of Adviser’s clients’ membership numbers and must notify Orion immediately of any unauthorized use of Adviser’s clients’ membership numbers, or the theft or misplacement of a membership number.
\\\n\\\n
Adviser understands that by enrolling for the Services, Adviser’s clients are providing \"written instructions\" in accordance with the federal Fair Credit Reporting Act, as amended (\"FCRA\"), for Orion and its service providers, which may include CSIdentity Corporation (“CSID”), to obtain information from Adviser’s clients’ personal credit profile from Experian, Equifax, and Transunion, the three major credit reporting agencies. Adviser authorizes Orion and its service providers to use an Adviser’s client’s social security number to access an Adviser’s client’s personal credit profile, to verify identity, and to provide credit monitoring, reporting and scoring products.
\\\n\\\n
DISPUTE RESOLUTION BY BINDING ARBITRATION:
\\\n \\\nPLEASE READ THIS CAREFULLY.
\\\n\\\n
IT AFFECTS YOUR RIGHTS.
\\\n\\\n
SUMMARY:
\\\n\\\n
MOST CUSTOMER CONCERNS CAN BE RESOLVED QUICKLY AND TO THE CUSTOMER\\'S SATISFACTION BY CALLING CUSTOMER SERVICE AT 877-899-1115. IN THE UNLIKELY EVENT THAT CUSTOMER SERVICE IS UNABLE TO RESOLVE A COMPLAINT YOU MAY HAVE WITH ORION OR ORION’S SERVICE PROVIDER(S) TO YOUR SATISFACTION (OR IF ORION AND/OR ORION’S SERVICE PROVIDER(S) HAVE NOT BEEN ABLE TO RESOLVE A DISPUTE WITH YOU AFTER ATTEMPTING TO DO SO INFORMALLY), YOU, ON THE ONE HAND, AND ORION AND/OR ORION’S SERVICE PROVIDER(S), ON THE OTHER, EACH AGREE TO RESOLVE THOSE DISPUTES THROUGH BINDING ARBITRATION OR SMALL CLAIMS COURT INSTEAD OF IN COURTS OF GENERAL JURISDICTION TO THE FULLEST EXTENT PERMITTED BY LAW.
\\\n\\\n
ARBITRATION IS MORE INFORMAL THAN A LAWSUIT IN COURT. ARBITRATION USES A NEUTRAL ARBITRATOR INSTEAD OF A JUDGE OR JURY, ALLOWS FOR MORE LIMITED DISCOVERY THAN IN COURT, AND IS SUBJECT TO VERY LIMITED REVIEW BY COURTS. ARBITRATORS CAN AWARD THE SAME DAMAGES AND RELIEF THAT A COURT CAN AWARD. ANY ARBITRATION UNDER THESE TERMS AND CONDITIONS WILL TAKE PLACE ON AN INDIVIDUAL BASIS; CLASS ARBITRATIONS AND CLASS ACTIONS ARE NOT PERMITTED. WE WILL PAY ALL COSTS OF ARBITRATION, NO MATTER WHO WINS, SO LONG AS YOUR CLAIM IS NOT FRIVOLOUS. HOWEVER, IN ARBITRATION, YOU, ON THE ONE HAND, AND ORION AND/OR ORION’S SERVICE PROVIDER(S), ON THE OTHER, WOULD BE ENTITLED TO RECOVER ATTORNEYS\\' FEES FROM EACH OTHER PARTY TO THE SAME EXTENT AS YOU AND THEY WOULD BE IN COURT.
\\\n\\\n
Arbitration Agreement:
\\\n(B) ARBITRATION - You, on the one hand, and Orion and/or Orion’s service provider(s), on the other, agree that any claim or dispute (\"Claim\") between us shall, at the election of any one of us, be resolved by binding arbitration administered by the American Arbitration Association (\"AAA\") under its rules for consumer arbitrations. It is the parties\\' intent that this arbitration provision be construed broadly, including that this arbitration provision includes any Claims by you against Orion or Orion’s service provider(s) as well as their respective corporate affiliates for claims arising out of these Terms and Conditions directly related to the services or product/service websites. However, any disputes or claims you may have which relate to your credit report, or any claims arising out of or relating to the Fair Credit Reporting Act (\"FCRA\") and/or the FCRA\\'s state law equivalent(s), are not subject to or governed by this agreement to arbitrate.
\\\n\\\n
You agree that, by entering into these Terms and Conditions, you, Orion and Orion’s service provider(s) are each waiving the right to a trial by jury or to participate in a class action. At your request, we will promptly reimburse you for your payment of your arbitration filing fee. (The filing fee enrollly is $200 for claims under $10,000 but is subject to change by the arbitration provider. If you are unable to pay this fee, we will pay it directly after receiving a written request). The arbitrator may award declaratory or injunctive relief only in favor of the individual party seeking relief and only to the extent necessary to provide relief warranted by that party\\'s individual Claim. YOU, ON ONE HAND, AND ORION AND/OR ORION’S SERVICE PROVIDER(S), ON THE OTHER, AGREE THAT EACH MAY BRING CLAIMS AGAINST THE OTHER ONLY IN YOUR OR ITS INDIVIDUAL CAPACITY, AND NOT AS A PLAINTIFF OR CLASS MEMBER IN ANY PURPORTED CLASS OR REPRESENTATIVE PROCEEDING.
\\\n\\\n
Further, unless you, on one hand, and Orion and/or Orion’s service provider(s), on the other, agree otherwise, the arbitrator may not consolidate more than one person\\'s Claims, and may not otherwise preside over any form of a representative or class proceeding. If this specific provision in the preceding sentence is found to be unenforceable, then the entirety of this arbitration provision in this section shall be null and void. Notwithstanding any of the foregoing provisions, any party may bring an individual action in small claims court. The parties to the Terms and Conditions acknowledge that this arbitration agreement is made pursuant to a transaction involving interstate commerce, and shall be governed by the Federal Arbitration Act, 9 U.S.C. § 1 et seq. (\"FAA\"). Judgment upon any arbitration award may be entered in any court having jurisdiction. The arbitrator shall follow substantive law to the extent consistent with the FAA and shall honor any claims or privileges recognized by law. The terms of this section shall survive any termination, cancellation or expiration of the Terms and Conditions.
\\\n\\\n
LIABILITY - NEITHER ORION, CSID, NOR ANY OF THEIR RESPECTIVE AFFILIATES SHALL HAVE ANY LIABILITY TO YOU AS AN AGENT IN OBTAINING COPIES OF: YOUR PERSONAL CREDIT REPORT, CREDIT ALERT REPORT, QUARTERLY UPDATE, OR CREDIT SCORE. NEITHER ORION, CSID, NOR ANY OF THEIR RESPECTIVE AFFILIATES OR CREDIT INFORMATION SUBCONTRACTORS MAKE ANY WARRANTY, EXPRESS OR IMPLIED, FOR THE ACCURACY OF THE INFORMATION CONTAINED IN OR PROVIDED IN CONJUNCTION WITH THE SERVICES. NEITHER ORION, CSID, NOR ANY OF THEIR RESPECTIVE AFFILIATES ASSUME ANY LIABILITY FOR DAMAGES, DIRECT OR INDIRECT, CONSEQUENTIAL OR INCIDENTAL, IN CONNECTION WITH THE PERFORMANCE OF THE SERVICES OR YOUR REQUEST, USE OR ATTEMPTED USE OF THE SERVICES. NEITHER ORION, NOR ANY OF THEIR RESPECTIVE AFFILIATES OR CREDIT INFORMATION SUBCONTRACTORS ARE RESPONSIBLE FOR NEGATIVE FACTUAL INFORMATION CONTAINED IN ANY REPORTS YOU RECEIVE AS PART OF THE SERVICE. THE AGGREGATE LIABILITY OF ALL SUCH PARTIES TO YOU IN ANY EVENT IS LIMITED TO THE AMOUNT WHICH YOU HAVE PAID ORION FOR YOUR MEMBERSHIP. THE SERVICES ARE NOT CREDIT COUNSELING SERVICES AND DO NOT PROMISE TO HELP YOU OBTAIN A LOAN OR IMPROVE YOUR CREDIT RECORD, HISTORY, OR RATING. THE TERMS OF THIS SECTION SHALL SURVIVE ANY TERMINATION, CANCELLATION, OR EXPIRATION OF THE TERMS AND CONDITIONS.
\\\n\\\n
VANTAGESCORE 3.0 CREDIT SCORE
\\\n\\\n
VantageScore 3.0, with scores ranging from 300 to 850, is a user-friendly credit score model developed by the three major nationwide credit reporting agencies, Experian®, TransUnion®, and Equifax®. VantageScore 3.0 is used by some but not all lenders. Higher scores represent a greater likelihood that you\\'ll pay back your debts so you are viewed as being a lower credit risk to lenders. A lower score indicates to lenders that you may be a higher credit risk.
\\\n\\\n
There are three different major credit reporting agencies, Experian, TransUnion, and Equifax that maintain a record of your credit history known as your credit file. Credit scores are based on the information in your credit file at the time it is requested. Your credit file information can vary from agency to agency because some lenders report your credit history to only one or two of the agencies. So your credit scores can vary if the information they have on file for you is different. Since the information in your file can change over time, your credit scores also may be different from day-to-day. Different credit scoring models can also give a different assessment of the credit risk (risk of default) for the same consumer and same credit file.
\\\n\\\n
There are different credit scoring models which may be used by lenders and insurers. Your lender may not use VantageScore 3.0, so don\\'t be surprised if your lender gives you a score that\\'s different from your VantageScore. (And your VantageScore 3.0 may differ from your score under other types of VantageScores). Just remember that your associated risk level is often the same even if the number is not. For some consumers, however, the risk assessment of VantageScore 3.0 could vary, sometimes substantially, from a lender’s score. If the lender\\'s score is lower than your VantageScore 3.0, it is possible that this difference can lead to higher interest rates and sometimes credit denial.
\\\n',\n subscriberNumber: null,\n memberid: null,\n questions: null,\n challengeId: null,\n answers: [],\n failedAttempt: false,\n requiredInfo: {\n name: null,\n DOB: null,\n SSN: null\n },\n ssn: null,\n member: resolvedata.member\n };\n $scope.memberTypes = [];\n\n function init() {\n if(resolvedata.member.subscriberNumber == \"\" || resolvedata.member.subscriberNumber == null){\n $scope.enroll.step = 1;\n }else{\n \n $scope.enroll.subscriberNumber = resolvedata.member.subscriberNumber;\n \n if(resolvedata.member.enrollment.needs_Verify === true){\n $scope.enroll.step = 2;\n }else{\n $scope.enroll.step = 3;\n }\n }\n }\n\n init();\n\n\n //SCOPE WATCHERS\n $scope.$watch(\"enroll.step\", function (newValue, oldValue) {\n if (!newValue || newValue === oldValue) return;\n switch (newValue) {\n case 3: {\n getQuestions();\n break;\n }\n\n }\n });\n\n});\n\n'use strict';\r\n\r\napp.service('pershingDocumentData', function pershingDocumentData($http, $q, currentUser, appSettings, onDemandDocumentService) {\r\n this.usePershingDocuments = function () {\r\n return $q(function (resolve) {\r\n $q.all([currentUser.isLoaded, appSettings.isLoaded]).then(function () {\r\n if (appSettings.documents.custodialStmtsEnabled && appSettings.documents.pershingDocumentsEnabled && appSettings.integration.hasPershingPLINK) {\r\n $http.get(`/Integrations/Custodian/Client/${currentUser.authorization.entityId}`, { ignoreExceptions: true })\r\n .then(function (response) {\r\n if (response.data.result.any(\"Pershing\")) {\r\n resolve(true);\r\n }\r\n resolve(false);\r\n });\r\n }\r\n else {\r\n resolve(false);\r\n }\r\n });\r\n });\r\n }\r\n this.getPershingDocuments = function (startDate, endDate) {\r\n return $q(function (resolve) {\r\n let baseUrl = `/Integrations/Custodian/Document/Custodian/Pershing/Client/${currentUser.authorization.entityId}`;\r\n let queryString = `?startDate=${onDemandDocumentService.getStartDateString(startDate)}&endDate=${onDemandDocumentService.getEndDateString(endDate)}`\r\n $http.get(`${baseUrl}${queryString}`, { ignoreExceptions: true, tracker: 'main', trackerMsg: 'Loading Pershing Documents' })\r\n .then(function (response) {\r\n let data = response.data;\r\n onDemandDocumentService.formatCustodianDocuments('Pershing', data)\r\n .then(function (list) {\r\n list.hasDateRange = true;\r\n resolve(list);\r\n });\r\n });\r\n });\r\n }\r\n});\n'use strict';\r\n\r\napp.service('fidelityDocumentData', function fidelityDocumentData($http, $q, currentUser, appSettings, onDemandDocumentService) {\r\n this.useFidelityDocuments = function () {\r\n return $q(function (resolve) {\r\n $q.all([currentUser.isLoaded, appSettings.isLoaded]).then(function () {\r\n if (appSettings.documents.custodialStmtsEnabled && appSettings.documents.fidelityDocumentsEnabled && appSettings.integration.hasFidelityPID) {\r\n $http.get(`/Integrations/Custodian/Client/${currentUser.authorization.entityId}`, { ignoreExceptions: true })\r\n .then(function (response) {\r\n if (response.data.result.any(\"Fidelity\")) {\r\n resolve(true);\r\n }\r\n resolve(false);\r\n });\r\n }\r\n else {\r\n resolve(false);\r\n }\r\n });\r\n });\r\n };\r\n this.getFidelityDocuments = function (fidelityToken, startDate, endDate) {\r\n return $q(function (resolve, reject) {\r\n let baseUrl = `/Integrations/Custodian/Document/Custodian/Fidelity/Client/${currentUser.authorization.entityId}`;\r\n let queryString = `?custodianToken=${fidelityToken}&startDate=${onDemandDocumentService.getStartDateString(startDate)}&endDate=${onDemandDocumentService.getEndDateString(endDate)}`;\r\n $http.get(`${baseUrl}${queryString}`, { ignoreExceptions: true, tracker: 'main', trackerMsg: 'Loading Fidelity Documents' })\r\n .then(function (documentData) {\r\n let data = documentData.data;\r\n onDemandDocumentService.formatCustodianDocuments('Fidelity', data)\r\n .then(function (list) {\r\n list.hasCustodianToken = true;\r\n list.hasDateRange = true;\r\n list.fidelityToken = fidelityToken;\r\n resolve(list);\r\n });\r\n }).catch(function (e) {\r\n reject(e);\r\n });;\r\n });\r\n };\r\n this.getToken = function () {\r\n $modal.open({ templateUrl: \"app/modals/statement-settings.html\", controller: \"StatementSettingsCtrl\", backdrop: \"static\" })\r\n .result\r\n .then(angular.noop, angular.noop);\r\n };\r\n this.getDefaultObject = function () {\r\n return { name: 'Fidelity Documents', firstLastName: \"\", items: [], groups: { list: [], selected: {} }, sortField: 'fileDate', label: 'Documents', hasAnyDocuments: false, hasDateRange: true };\r\n }\r\n});\n'use strict';\r\n\r\napp.service('onDemandDocumentService', function onDemandDocumentService($q) {\r\n this.formatCustodianDocuments = function (custodianName, data) {\r\n return $q(function (resolve, reject) {\r\n if (!angular.isString(custodianName)) {\r\n reject(\"custodianName is not set or is not a string.\")\r\n }\r\n let list = { name: `${custodianName} Documents`, items: [], groups: { list: [], selected: {} }, sortField: 'fileDate', label: 'Documents', hasAnyDocuments: false, hasDateRange: true };\r\n for (let documentType in data) {\r\n let group = { name: documentType.replace(new RegExp('_', 'g'), ' '), items: [] };\r\n data[documentType].forEach(function (document, index) {\r\n document.fileDate = new Date(document.documentDate);\r\n document.blobDesc = document.documentDescription;\r\n document.blobText = `${custodianName} ${document.documentType.replace(new RegExp('_', 'g'), ' ').toLowerCase()}`;\r\n document.onDemandDocument = true;\r\n document.icon = \"fa fa-file-pdf-o\";\r\n group.items.push(document);\r\n group.items = group.items.sortBy('fileDate', true);\r\n list.hasAnyDocuments = true;\r\n });\r\n list.groups.list.push(group);\r\n }\r\n if (list.hasAnyDocuments) {\r\n list.groups.selected = list.groups.list[0];\r\n } else {\r\n list.noDocuments = true;\r\n list.noDocumentsMessage = `You have no ${custodianName} Documents at this time.`;\r\n }\r\n resolve(list);\r\n });\r\n };\r\n this.getStartDate = function (startDate) {\r\n if (isDate(startDate)) {\r\n return startDate;\r\n }\r\n let today = new Date();\r\n today.setFullYear(today.getFullYear() - 1);\r\n return today;\r\n\r\n }\r\n this.getEndDate = function getEndDate(endDate) {\r\n if (isDate(endDate)) {\r\n return endDate;\r\n }\r\n return new Date();\r\n }\r\n this.getStartDateString = function (startDate) {\r\n startDate = this.getStartDate(startDate);\r\n return startDate.toLocaleDateString('en-US', { month: '2-digit', day: '2-digit', year: 'numeric' });\r\n }\r\n this.getEndDateString = function (endDate) {\r\n endDate = this.getEndDate(endDate);\r\n return endDate.toLocaleDateString('en-US', { month: '2-digit', day: '2-digit', year: 'numeric' });\r\n }\r\n\r\n this.validateDates = function (startDate, endDate) {\r\n if (!isDate(startDate) || !isDate(endDate)) {\r\n return false;\r\n }\r\n if (startDate > endDate) {\r\n return false;\r\n }\r\n if (((endDate.getMonth() - startDate.getMonth()) +\r\n ((endDate.getFullYear() - startDate.getFullYear()) * 12) > 24)) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n let isDate = function (date) {\r\n if (Object.prototype.toString.call(date) === \"[object Date]\") {\r\n return true;\r\n }\r\n return false;\r\n };\r\n});"]}