{"version":3,"sources":["com.shared/shared.module.js","com.shared/_common/directives/print/print.js","com.shared/_common/directives/multilingualinput/multilingualinput.js","com.shared/_common/directives/multilingualinput/flags.constants.js","com.admin/clients/clients.module.js","com.admin/clients/referrals/survey/controller.js","com.admin/clients/referrals/referral/controller.js","com.admin/clients/referrals/phonetriage/controller.js","com.admin/clients/referrals/managernotes/controller.js","com.admin/manager/module.js","com.admin/clients/referrals/import/import.controller.js","com.admin/clients/referrals/firstmeeting/controller.js","com.admin/clients/referrals/finaldischarge/controller.js","com.admin/clients/referrals/exercises/exercise.controller.js","com.admin/clients/referrals/exercises/controller.js","com.admin/clients/referrals/discharge/controller.js","com.admin/clients/referrals/dashboard/search.controller.js","com.admin/clients/referrals/dashboard/controller.js","com.admin/clients/referrals/dashboard/closecase.controller.js","com.admin/clients/referrals/calendar/controller.js","com.admin/clients/referrals/audits/settings.controller.js","com.admin/clients/referrals/audits/newaudit.controller.js","com.admin/clients/referrals/audits/controller.js","com.admin/clients/referrals/audits/audits.service.js","com.admin/clients/referrals/appointments/controller.js","com.admin/clients/referrals/appointments/appointment.controller.js","com.admin/clients/configuration/tos/tos.controller.js","com.admin/clients/configuration/theme/theme.form.controller.js","com.admin/clients/configuration/pdf/pdf.form.controller.js","com.admin/clients/configuration/localization/localizationform.controller.js","com.admin/clients/configuration/localization/localization.constants.js","com.admin/clients/configuration/extras/extras.controller.js","com.admin/clients/configuration/emailbyconditiontype/emailbyconditiontype.controller.js","com.admin/clients/configuration/disclaimer/disclaimer.controller.js","com.admin/clients/configuration/appointmenttypecost/appointmenttypecost.controller.js","com.admin/clients/configuration/company/company.form.controller.js","com.shared/_common/services/surveys.service.js","com.shared/_common/services/surveypdf.service.js","com.shared/_common/services/reports.service.js","com.shared/_common/services/multilingual.service.js","com.shared/_common/services/enums.service.js","com.shared/_common/services/dashboard.service.js","com.shared/_common/services/api.service.js","com.shared/_common/providers/routehelper.provider.js","com.shared/_common/providers/modalhelper.provider.js","com.shared/_common/providers/data.provider.js","com.shared/_common/providers/confighelper.provider.js","com.shared/_common/filters/numberfixedlen.js","com.shared/_common/filters/htmltrusted.js","com.shared/_common/filters/htmltoplaintext.js","com.shared/_common/filters/fromnow.js","com.shared/_common/filters/fileicon.js","com.shared/_common/filters/bytes.js","com.shared/_common/directives/ngmatch.js","app.js","com.shared/_common/directives/goback.js","com.shared/_common/directives/errsrc.js","com.shared/_common/directives/clickoff.js","com.shared/_common/directives/bytes.js","com.shared/_common/directives/autosubmitform.js","com.shared/_common/constants/localemap.js","com.shared/_common/constants/errorpages.js","com.shared/_common/constants/error.constants.js","com.shared/_common/constants/enums.js","com.shared/_common/constants/calendar.js","com.shared/_common/constants/avtivitylog.constants.js","com.shared/_common/constants/api.constants.js","com.shared/_common/configs/translate.config.js","com.shared/_common/configs/routes.config.js","com.shared/_common/configs/permission.config.js","com.shared/_common/configs/mwlconfirm.config.js","com.shared/_common/configs/location.config.js","com.shared/_common/configs/localstorage.config.js","com.shared/_common/configs/http.config.js","com.shared/_common/configs/dynlocale.config.js","com.shared/_common/configs/datepicker.config.js","com.shared/_common/configs/api.config.js","com.shared/_common/configs/analytics.config.js","com.shared/auth/reset-exp-pass/reset-exp-pass.controller.js","com.shared/auth/forgotpass/controller.js","com.shared/auth/auth.module.js","com.shared/auth/controllers/role_choice.controller.js","com.shared/auth/controllers/login.controller.js","com.shared/auth/controllers/confirm.controller.js","com.admin/users/users.module.js","com.admin/users/controllers/users.controller.js","com.admin/users/controllers/user.form.controller.js","com.admin/users/controllers/user.changePass.controller.js","com.admin/manager/survey/controller.js","com.admin/manager/reports/controller.js","com.admin/manager/referrals/search.controller.js","com.admin/manager/referrals/extrasession.controller.js","com.admin/manager/referrals/controller.js","com.admin/manager/referrals/closecase.controller.js","com.admin/manager/referral/controller.js","com.admin/manager/phonetriage/controller.js","com.admin/manager/managernotes/controller.js","com.admin/manager/firstmeeting/controller.js","com.admin/manager/finaldischarge/controller.js","com.admin/manager/exercises/exercise.controller.js","com.admin/manager/exercises/controller.js","com.admin/manager/discharge/controller.js","com.admin/manager/dashboard/controller.js","com.admin/manager/calendar/controller.js","com.admin/manager/appointments/controller.js","com.admin/manager/appointments/appointment.controller.js","com.admin/configuration/configuration.module.js","com.admin/configuration/offline/offline.modals.js","com.admin/configuration/offline/offline.message.controller.js","com.admin/configuration/offline/offline.controller.js","com.admin/configuration/pdf/pdf.form.controller.js","com.admin/configuration/localization/localizationform.controller.js","com.admin/configuration/localization/localization.constants.js","com.admin/clients/validation/controller.js","com.admin/configuration/company/company.form.controller.js","com.admin/clients/surveys/edit.controller.js","com.admin/clients/surveys/controller.js","com.admin/clients/reports/controller.js","com.admin/clients/referrals/routes.js","com.admin/clients/referrals/modals.js","com.admin/clients/portalmanagers/edit.controller.js","com.admin/clients/portalmanagers/controller.js","com.admin/clients/overview/overview.js","com.admin/clients/init/controller.js","com.admin/clients/imageitems/edit.controller.js","com.admin/clients/imageitems/controller.js","com.admin/clients/dashboard/controller.js","com.admin/clients/details/controller.js","com.admin/clients/configuration/controller.js","com.admin/clients/client/controller.js","com.landing/referral/referral.module.js","com.landing/referral/controllers/referral.controller.js","com.landing/referral/controllers/redirect.controller.js","com.shared/_common/forgot.password.controller.js","com.shared/client/client.module.js","com.shared/client/client.service.js","com.shared/client/client.inderceptor.js","com.shared/filemanager/filemanager.module.js","com.shared/filemanager/filemanager.services.js","com.shared/filemanager/filemanager.modals.js","com.shared/filemanager/filemanager.form.controller.js","com.shared/auth/auth.service.js","com.shared/auth/auth.routes.js","com.shared/auth/auth.modals.js","com.shared/auth/auth.inderceptor.js","com.shared/auth/auth.constants.js","com.admin/admin.module.js","com.admin/_common/admin.routes.js","com.admin/_common/admin.controller.js","com.admin/users/users.service.js","com.admin/users/users.routes.js","com.admin/users/users.modals.js","com.admin/users/users.constants.js","com.admin/manager/routes.js","com.admin/manager/modals.js","com.admin/menus/menus.module.js","com.admin/menus/menus.constants.js","com.admin/manage/manage.module.js","com.admin/manage/manage.routes.js","com.admin/manage/manage.controller.js","com.admin/manage/manage.constants.js","com.admin/fixedcontent/fixedcontent.module.js","com.admin/fixedcontent/fixedcontent.services.js","com.admin/fixedcontent/fixedcontent.routes.js","com.admin/fixedcontent/fixedcontent.controller.js","com.admin/fixedcontent/fixedcontent.constants.js","com.admin/configuration/configuration.service.js","com.admin/configuration/configuration.routes.js","com.admin/configuration/configuration.modals.js","com.admin/configuration/configuration.controller.js","com.admin/clients/clients.service.js","com.admin/clients/clients.routes.js","com.admin/clients/clients.modals.js","com.admin/clients/clients.constants.js","com.landing/surveypdf/surveypdf.module.js","com.landing/surveypdf/surveypdf.routes.js","com.landing/surveypdf/surveypdf.controller.js","com.landing/referral/referral.routes.js","com.landing/landing.module.js","com.landing/error/controller.js","com.landing/landing.routes.js","com.landing/landing.modals.js","run.js","bootstrap.js"],"names":["angular","module","slPrint","$compile","$sce","$templateRequest","$templateCache","directive","restrict","scope","model","link","element","attrs","bind","event","template","then","html","$eval","$watch","value","contents","iframe","elm","document","createElement","setAttribute","parent","append","find","doc","contentDocument","contentWindow","alert","navigator","userAgent","write","close","window","indexOf","execCommand","focus","print","$inject","slMultilingualInput","MultilingualInputController","$scope","LocaleMap","FlagsConstant","vm","this","Label","Prop","Languages","_","map","loc","Flags","templateUrl","Model","controller","controllerAs","bindToController","constant","el-gr","en-gb","ReferralsSurveyController","$stateParams","AuthService","SurveysService","activate","Back","IsArchived","IsCaseClosed","_ClientID","ID","HideFirstMeeting","ShowFinalDischarge","LoadSurveys","loading","GetSurveys","surveys","each","survey","key","Route","code","Surveys","error","toaster","pop","statusText","LoadReferral","GetReferralWithInfo","ReferralID","referral","Referral","data","ClientID","ReferralsReferralController","EnumsService","ClientsService","ReferralType","Gender","WorkStatus","SurveyPdfService","ConditionType","NatureOfWork","TypeOfReferral","AnsaJobTitle","AnsaWorkLocation","$parent","CanEditConfirm","Roles","CanEditDraft","LoadSurvey","GetSurveyByCode","CustomAndReferralSurvey","IsActive","CustomSurvey","CanEdit","Questionnaire","JSON","parse","Configuration","ReferralAbsenceDate","Date","ReferralReturnedToWorkDate","ReferralExpectedDateOfReturn","GetReferral","SetupReferralInfo","IsDraft","HasAppointmentReason","ClosedWithoutReachingMinimumAppointmentsReason","CanDischargeOrCloseCase","DisplayMessageForValidDischargeWithPainScoreForFullRecovery","getManagerList","GetPortalManagers","portalManagers","ClientManagers","selectedPortalManager","filter","portalManager","Person","Full","ReferralManager","First","Email","Address","DisplayManagerListInput","isUndefined","ManagerListChanged","Submit","exportToPdf","SubmitReferral","ExportPDF","download","GetClientEnum","ReferralsPhoneTriageController","$filter","Diagnosis","AssessmentTypes","TriageAssessmentFindings","ActionPlan","ProposedManagement","InitationNotify","InitationPeriod","BodyRegionOfInjury","MechanismOfInjury","CustomQuestionnaire","Components","ManageSurveyComponentsForView","SplitNum","console","log","ReferralSurvey","LoadPhoneTriage","PhoneTriage","PhoneTriageDate","PhoneTriageAbsenceDate","PhoneTriageReturnedToWorkDate","PhoneTriageExpectedDischargeDate","PhoneTriageExpectedDateOfReturn","DisplaySaveAndSend","WithoutAppointment","GetPhoneTriageByReferralId","phonetriageWithInfo","PhoneTriageFindings","split","el","length","PhoneTriageActionplans","DisplayAltDiagnosis","AltDiagnosis","SurveyStatus","_questions","GetSurveyQuestions","PhoneTriagePain","pain_score","min","PhoneTriageNoTreatment","no_treatment_recovery","join","PhoneTriageAltDiagnosisOther","SendEmail","InitiatedTime","InitiatedMovement","CausedByAccident","OccupationalHealthRepeatUser","AccidentReported","CausedByErgonomicFactors","IsAggravated","SubmitPhoneTriage","phonetriage","isArray","phoneTriageFindings","phoneTriageFindingsArray","forEach","phoneTriageFinding","index","push","phoneTriageActionPlans","phoneTriageActionPlansArray","phoneTriageActionPlan","phoneTriageBodyRegionOfInjury","phoneTriageBodyRegionOfInjuryArray","bodyRegionOfInjury","DSEChanged","PhoneTriageDseasses","PhoneTriageAdvanced","ReferralsNotesController","LoadManagerNotes","GetManagerNoteByReferralId","managernotesWithInfo","ManagerNote","ManagerNotes","SubmitManagerNote","managernotes","ReferralImportController","$modalInstance","ModalParams","SubmitFiles","ValidateFiles","Files","MessagesSend","fileURIs","_fileURIs","FileURI","ImportReferrals","referralsInserted","SupportedFileFormatsForErrorMessage","allValid","file","ext","name","supportedFileFormats","supportedFileFormatsForErrorMessage","supportedFileFormat","ReferralsFirstMeetingController","ChronicityOfInjury","LoadFirstMeeting","FirstMeeting","TherapyGoals","FirstMeetingDate","FirstMeetingAbsenceDate","FirstMeetingReturnedToWorkDate","FirstMeetingExpectedDateOfReturn","FirstMeetingExpectedDischargeDate","GetFirstMeetingByReferralId","firstmeetingWithInfo","DisplayGoal","DisplayGoal1","DisplayGoal2","FirstMeetingPain","FirstMeetingNoTreatment","SubmitFirstMeeting","firstmeeting","RemoveTherapyGoal","splice","ReferralsFinalDischargeController","LoadFinalDischarge","Discharge","IsFinal","DischargeDate","DischargeAbsenceDate","DischargeReturnedToWorkDate","DischargeExpectedDateOfReturn","GetDischargeByReferralId","dischargeWithInfo","DischargePain","SubmitDischarge","discharge","ExerciseController","LoadIllnesses","GetIllnesses","illnesses","Illnesses","LoadImageItems","GetImageItems","imageItems","ImageItems","LoadOrCreateExercise","Exercise","InitExerciseImages","CheckAll","ChosenImages","exerciseImage","FilterImageItems","SelectedIllness","illness","illnessIndex","IllnessID","ModifyExerciseImages","SubmitExercise","exercise","existingExerciseImage","existingExerciseImageIndex","exerciseImageIndex","ImageID","imageID","ExerciseID","ReferralsExercisesController","ReferralsModals","Role","LoadExercises","ExercisesList","GetExerciseByReferralID","exerciseWithInfo","Exercises","ExerciseModal","DeleteExercise","response","ReferralsDischargeController","ExtraSessionStatus","LoadDischarge","CanDischarge","DischargeExtraSessionsNumber","more_sessions","minimumAppointmentsToDischarge","APP","Client","Extra","MinimumAppointmentsToDischarge","ClosedWithoutReachingMinimumAppointments","AppointmentCount","DischargeRequestMoreSessions","ExtraSessions","ExtraSessionAmount","DischargeGoalsAchieved","DischargeGoalsFailedExplanation","finishSubmit","CustomFilter","Submitted","ReferralSearchController","SearchTerm","SearchReferrals","ReferralsWithInfo","ReferralSelect","referralInfo","referralID","hideFirstMeeting","showFinalDischarge","ReferralsDashboardController","$state","PhysioTypes","id","label","PhysioType","LoadReferrals","GetReferrals","ref","backgroundStyle","ColorIndicator","background-color","SearchReferralsModal","go","CloseCase","_referralID","ImportReferralsModal","importedReferralsInfo","setIndicator","SetReferralIndicator","CloseCaseController","GetReferralWithAppointmentCount","ValidDischargeWithPainScoreForFullRecovery","CanSubmit","CaseClosedComment","ReferralsCalendarController","LoadCalendar","CalendarOptions","isLoading","loading_calendar","CalendarSources","events","start","end","timezone","callback","GetCalendarEvents","From","toISOString","To","appointments","Appointments","AuditSettingsController","AuditNumber","CommaSeperatedEmails","Save","SaveConfiguration","Audit.AuditNumber","Audit.CommaSeperatedEmails","Audit","NewAuditController","AuditsService","createAudit","responseFail","Message","AuditsController","LoadAudits","getAudits","Audits","AuditSettingsModal","AuditSettings","NewAuditModal","NewAudit","$q","$http","$cookies","get","Service","results","post","service","factory","ReferralsAppointmentsController","AttendStatus","AppointmentType","LoadAppointments","AppointmentTime","Appointment","AppointmentDate","AppointmentsList","GetAppointmentByReferralId","appointmentWithInfo","AppointmentModal","DeleteAppointment","AppointmentID","AppointmentController","Times","constructor","Array","times","LoadAppointment","hour","moment","utc","slice","minutes","appointmentDate","year","month","day","date","add","hours","SubmitAppointment","appointment","ClientTosFormController","Tos","Company.Tos","ClientThemeFormController","Theme","PortalRedirectTo","PortalRedirectToMessage","PortalRedirectToCounter","ColorScheme","File","SaveWithLogo","SimpleSave","UploadFile","_logo","Logo","_data","mapObject","val","stringify","ClientPdfFormController","Pdf","CompanyLogo","ClientLocalizationFormController","LocalesConstant","TimezonesConstant","Locale","Timezone","System.Language","Language","System.Locale","System.Timezone","Locales","Timezones","Code","Name","ClientExrasFormController","Extra.MinimumAppointmentsToDischarge","EmailByConditionTypeFormController","ConditionTypes","conditionTypeEmails","ConditionTypeMails","ConditionTypeMails.data","ClientDisclaimerFormController","Disclaimer","Company.Disclaimer","ClientAppointmentTypeCostController","AppointmentTypes","GetAppointmentTypeCosts","result","appointmentTypeCost","AppointmentTypeCosts","π","appointmentTypeCosts","Key","SaveAppointmentTypeCosts","ClientCompanyFormController","Company","ExtraSessionEmails","replace","ExtraSessionResponseEmails","ExtraNewReferralEmails","_config","GetClient","_client","CompanyName","Contact","SaveClient","$data","CalendarLanguages","Upload","IsCustom","list","CID","rl","GetSurveyById","SurveyID","SurveyCode","GetAnonymousSurvey","GetSurveyByRole","RoleType","SaveSurvey","Survey","put","SaveSurveys","IsExternal","filterPhonetriage","filterFirstMeeting","filterDischarge","isArchived","isCaseClosed","isExternal","_term","_isArchived","_isCaseClosed","term","save","Indicator","SetReferralManagerIndicator","DeleteReferral","FileUris","files","upload","url","SubmitExtraSession","ExtraSession","params","_options","minTime","Business","HoursFrom","format","maxTime","HoursTo","defaultView","contentHeight","lang","System","editable","allDaySlot","lazyFetching","timeFormat","slotDuration","Duration","header","left","center","right","eventClick","CalendarEventClickCallback","extend","DisableSurveyQuestions","questionnaires","questionnaire","questions","question","disabled","_dateOfBirthday","ReferralDateOfBirth","_day","getDate","_month","getMonth","_year","getFullYear","questionKeys","alias","splitIn","groups","group","i","j","GetImageItemById","ImageItemID","SaveImageItem","ImageItem","DeleteImageItem","GetPortalManagerById","PortalManagerID","SavePortalManager","PortalManager","DeletePortalManager","GetOcupHealthNurseList","GetClientManagers","schema","referralSchema","referralData","cloneReferralSchema","copy","cloneReferralData","cloneSchema","cloneData","getSettings","settings","keyValuePairs","merge","_mapSurvey","_load","_schema","pdfMake","createPdf","pageMargins","currentPage","pageCount","_header","footer","_footer","content","_container","styles","alignment","bold","fontSize","subheader","sectionHeader","margin","tableContainer","tableHeader","defaultStyle","resolve","Base64ClientCompanyLogo","Base64MasterCompanyLogo","columns","image","width","text","style","toString","_body","keyValuePairGroup","title","_columns","maxColumns","pdfColumns","_tableContainer","table","widths","body","layout","columnIndex","keyValuePair","getSurveyPdfByCodeAndEmail","RecipientEmail","aliasesToIgnore","groupAlias","questionIndex","keyValues","dynFunctions","keyValue","_referralData","questionAlias","ReferralServiceArea","ReferralServiceAreaEnum","ReferralPerson","Last","ReferralAddress","Street","Zip","Phone","PayrollNumber","OccupationalHealthAwareOfAbsence","ReferralProfession","ReferralWorkLocation","ReferralDescription","_phonetriageData","PhoneTriageDoctor","PhoneTriageGP","PhoneTriageFIT","PhoneTriageHasReturnPlan","PhoneTriageReturnPlan","PhoneTriageDiagnosisOther","PhoneTriageAvoid","PhoneTriageCando","PhoneTriageComments","IsInjuryRelated","PhoneTriageInformationToManagerAndPatient","InformedConsentGainedToInform","InformedConsentGainedToAssessAndTreat","InformedConsentConsequences","InformedConsentRightWithDraw","InformedConsentRightReport","InformedConsentLimitConfidentiality","PhoneTriageRiskasses","SeenGP","AssessmentFindings","TriageAdvice","ReturnProposedPlan","HandsonInfo","_firstmeetingData","FirstMeetingDoctor","FirstMeetingGP","FirstMeetingFIT","FirstMeetingHasReturnPlan","FirstMeetingReturnPlan","FirstMeetingDiagnosisOther","FirstMeetingAltDiagnosisOther","FirstMeetingFindings","FirstMeetingAvoid","FirstMeetingCando","FirstMeetingRiskasses","FirstMeetingDseasses","FirstMeetingAdvanced","FirstMeetingErgoasses","therapygoals","therapygoal","FirstGoalText1","FirstGoalText2","FirstMeetingInformationToManagerAndPatient","_dischargeData","DischargeDoctor","DischargeTreatments","DischargePhoneTriage","DischargeHandsOn","DischargePercentageProgressTherapist","DischargePercentageProgressPatient","DischargeNotWorkingDetails","DischargeOutcome","DischargeInformationToManagerAndPatient","DischargeGP","_managernotesData","ManagerNoteComments","finaldischarge","ReportService","GetKPIBasicReport","dateFrom","dateTo","GetKPIAdvancedReport","GetEfficiencyReport","GetTypeOfInjuryReport","GetConditionTypeReport","GetSameInjuryWithPreviousReferralReport","GetTypeOfInjuryPerDepartmentReport","GetHighestTypeOfInjuryPerDepartmentReport","GetReferralsConfirmedWithin24HoursReport","GetHandlingRequestReport","GetChronicityReport","GetTypeOfWorkReport","GetGeneralReport","MultilingualService","Extend","item","_ret","locale","language","Translations","_i","translation","Clean","_prop","_cleanItem","_d","omit","enumList","domain","_currentDomain","_ClientDomain","clientEnum","existsExplicitRefTypesForContract","type","elements","toUpperCase","DashboardService","GetChart","GetRecentReferrals","GetLateReferrals","GetStatistics","GetLatestAppointments","GetDischargesPerMonth","GetNewUsersPerMonth","GetNumberOfDaysSavedPerMonth","GetAppointmentsPerMonth","GetEfficiencyPerMonth","api","$resource","config","isString","configObj","resource","unnatural","orig","defaultConfig","methods","extraMethods","update","method","routerHelperProvider","$locationProvider","$stateProvider","$urlRouterProvider","RouterHelper","configureStates","states","otherwisePath","state","Debug","views","hasOtherwise","otherwise","getStates","$get","provider","modalHelperProvider","modalHelper","$uibModal","configureModals","modals","modal","obj","ModalResultComplete","ModalResultFailed","reason","reject","backdrop","open","DataProvider","query","$promise","create","remove","configHelperProvider","ConfigHelper","notifyConfig","configName","message","numberFixedLen","a","b","htmlTrusted","trustAsHtml","htmlToPlaintext","String","fromNow","fileicon","_icons","application/pdf","application/powerpoint","application/x-msword","application/x-msexcel","application/x-mspowerpoint","audio/x-mpeg-3","image/gif","image/png","image/tiff","image/jpeg","video/avi","video/mpeg","video/msvideo","video/quicktime","application/zip","bytes","precision","isNaN","parseFloat","isFinite","units","number","Math","floor","pow","toFixed","ngMatch","$parse","elem","ctrl","directiveId","firstPassword","validator","temp","v","$setValidity","$parsers","unshift","$formatters","$observe","$viewValue","require","goBack","$window","history","back","errSrc","ngSrc","$set","src","clickOff","isOff","$digest","autoSubmitForm","$timeout","$attrs","$on","formData","submit","greek","english","GENERIC","Icon","ERR_CONNECTION_REFUSED","Description","TranslateConfig","$translateProvider","useStaticFilesLoader","prefix","suffix","preferredLanguage","RoutesConfig","configHelper","routerHelper","_states","_state","IsAuth","Domain","States","Manager","Admin","Anonymous","err","ErrorPages","Err","run","PermissionsConfig","Permission","RoleTypes","defineRole","roletype","contains","MwlconfirmConfig","confirmationPopoverDefaults","confirmText","cancelText","confirmButtonType","cancelButtonType","placement","LocationConfig","html5Mode","LocalStoreageConfig","localStorageServiceProvider","_defaultType","setPrefix","Alias","setStorageType","HttpConfig","$httpProvider","_interceptors","_interceptor","interceptors","DynLocaleConfig","tmhDynamicLocaleProvider","_pattern","localeLocationPattern","DatepickerConfig","uibDatepickerConfig","uibDatepickerPopupConfig","showButtonBar","datepickerPopup","showWeeks","startingDay","DP","DPPU","ApiConfig","ApiEndpoints","ApiEndpoint","AnalyticsConfig","AnalyticsProvider","setAccount","GoogleTrackCode","trackUrlParams","ignoreFirstPageLoad","setPageEvent","logAllCalls","AuthResetExpPassController","UserResetPassword","OldPass","NewPass","NewPassRepeat","ResetExpPassword","IntervMonths","UserSettings","PassIntervMonths","AuthResetPassController","ValidPassword","User","newPass","ResetPassword","UserName","NewPassword","Token","token","AuthRoleChoiceController","FixedContentService","LoginMessages","ClientService","LoginRoles","SelectedRole","Alert","ANAUTHORIZED","SIGNOUT","REGISTERED","TIMEOUT","Proceed","Modal","AuthLoginController","AuthModals","MockData","credentials","username","Username","password","Password","SignIn","GetSettings","LoadSettings","AUTHERROR","Details","error_description","UNAVAILABLE","ForgotPassword","AuthConfirmController","Confirm","FormValidate","ConfirmAccount","u","repeatpassword","UsersController","UsersService","UsersModals","GetUsers","user","role","RoleId","Users","UserForm","UserID","UserChangePassword","ForceExpirePassword","UserActivityLog","UserDelete","DeleteUser","UserFormController","UserRoles","GetClients","clients","client","Clients","LoadUser","Physio","GetUser","Id","SaveUser","dismiss","RoleChanged","UserChangePassController","ManagerSurveyController","ManagerReportsController","Reports","ReportLoading","KPIBasicReportResult","EfficiencyReportResults","KPIAdvancedReportResult","TypeOfInjuryReportResults","ConditionTypeReportResults","SameInjuryWithPreviousReferralReportResults","TypeOfInjuryPerDepartmentReportResults","HighestTypeOfInjuryPerDepartmentReportResults","ReferralsConfirmedWithin24HoursReportResults","HandlingRequestReportResults","ChronicityReportResults","TypeOfWorkReportResults","location","href","ExtraSessionController","SubmitAnswer","Answer","extraSession","ManagerReferralsController","ManagerColorIndicator","ManageExtraSessionsModal","setManagerIndicator","ManagerCloseCaseController","ManagerReferralController","ManagerPhoneTriageController","ManagerNotesController","ManagerFirstMeetingController","ManagerFinalDischargeController","ManagerExerciseController","ManagerExercisesController","ManagerDischargeController","ManagerDashboardController","Display","ChartLoading","SetChart","serviceResults","Chart","Data","Labels","Series","Options","legend","display","archivedReferrals","activeReferrals","totalReferrals","totalAppointments","ArchivedReferrals","ActiveReferrals","CaseClosed","RecentReferralsLoading","RecentReferrals","LateReferralsLoading","LateReferrals","StatisticsLoading","Statistics","LatestAppointmentsLoading","LatestAppointments","NewUsersPerMonthCount","NewUsersPerMonthCountLoading","DischargesPerMonthCount","DischargesPerMonthCountLoading","NumberOfDaysSaved","NumberOfDaysSavedLoading","ManagerCalendarController","ManagerAppointmentsController","ManagerAppointmentController","OfflineModals","getModals","size","OfflineMessageController","ConfigurationService","Offline.Description","Offline","OfflineConfigurationController","OfflineMessage","SurveyPdfFormController","clone","LocalizationFormController","ClientValidateController","ValidateClients","Results","CompanyFormController","ClientSurveysController","ReferralRoles","_removeRoleAndSurvey","SimilarEntitiesFound","Type","_initialRoleCanEdit","nogroup","InitialLoadToGroups","_surveyCode","LoadCustomSurvey","group_alias","can_be_deleted","question_alias","question_index","_question","mandatory","similar_entity","attributes","attribute","_attributes","_basicQuestions","MissingDependenciesText","customSurvey","decodedCustomSurvey","clonedCustomSurveyGroups","customQuestionsInGroups","attribute_value","attribute_key","basic_attribute","basic_attribute_key","_loadedCustomSurvery","SaveCode","CustomSurveyObject","LoadedSurveys","ShowSurveyAlert","_surveysAreTheSame","CanSave","json","toJson","Sort","SurveysToSave","_getGUID","_customSurvey","indexOfRole","_indexOfRoleInLoadedSurvey","_componentsWithDependenciesMissing","ComponentsWithDependenciesMissing","_hasMissingDependencies","_displayMissingDependencies","AddNewGroup","AddToCustomSurveyGroups","NewGroup","RemoveGroup","GroupAlias","ShowOptions","EnableGroupNameEdit","isEnabled","GroupToBeEdited","enabled","EditGroupName","OldGroupAlias","oldGroupAlias","group_key","toLowerCase","ItemMoved","_checkIfGroupCanBeDeleted","_checkIfSimilarEntitiesExist","ClearSelectedRolesAndSurveys","ClearAndNew","roleType","roleTypeIdx","surveysAreTheSame","_tempSurvey","c","num","random","similar_entity_exists","similar_entity_index","_group","_group_alias","foundArray","where","found_component","found_component_index","_text","componentWithDependenciesMissing","DisplayText","textToDisplay","hasMissingDependencies","DependedComponents","dependedComponent","HasMissingDependencies","surveyCode","canEditArray","ClientsModals","EditSurvey","_surveyID","ReportsController","setHours","appRun","abstract","PortalManagerEditController","LoadPortalManager","PortalManagersController","LoadPortalManagers","PortalManagers","PortalManagerModal","_PortalManagerID","ClientsOverviewController","ClientStatuses","CanCreateClient","LoadClients","CreateClient","Init","ClientInitController","ImageItemEditController","LoadImageItem","imageItem","InitImageIllnesses","ModifyImageIllnesses","ImageItemPhoto","existingImageIllness","existingImageIllnessIndex","imageIllness","imageIllnessIndex","ChosenIllnesses","imageIllnessID","ImageitemsController","ImageItemModal","_imageItemID","ClientDashboardController","PhysioDisplay","AppointmentsPerMonth","AppointmentsPerMonthLoading","EfficiencyPerMonth","EfficiencyPerMonthLoading","ClientDetailsController","LoadClient","ClientConfigurationController","LoadConfiguration","GetConfiguration","configuration","FindLocale","SwitchDebug","System.Debug","SwitchEmailByCondition","ConditionTypeMails.Enable","EmailByConditionModal","EmailByConditionTypeForm","CompanyModal","CompanyForm","TosModal","CompanyTos","DisclaimerModal","CompanyDisclaimer","LocalizationModal","LocalizationForm","ThemeModal","ThemeForm","Title","Thank","ExtrasModal","ExtrasForm","PdfModal","PdfForm","AppointmentTypeCostModal","AppointmentTypeCostForm","ClientController","ClientMenu","Constraint","constraint","ReferralLandingController","getOcupHealthNurseList","OcupHealthNurses","clientOhs","DisplayOhsListInput","OhsListChanged","ReferralOcHealthNurse","selectedOhs","tempReferralType","tempTypeOfReferral","substring","DisclaimerChecked","ReferralRedirectController","$interval","$sanitize","Counter","_message","DisplayMessage","Redirect","counter","RedirectTo","ForgotPassController","$translate","tmhDynamicLocale","use","set","bootstrap","ParseSettings","PostSettings","Settings","ClientInterceptor","request","headers","FileManagerService","Send","GetFile","FileID","SaveFile","FileManagerModals","FileManagerFormController","localStorageService","AuthorizationData","isEmpty","ExpiresAt","isTemporaryPassword","grant_type","client_id","Content-Type","transformRequest","$","param","access_token","unix","expires_in","userName","roles","UseRefreshTokens","refresh_token","SignOut","permissions","only","redirectTo","AuthInterceptor","$injector","authData","Authorization","responseError","rejection","status","except","AdminController","AdminTopMenu","ChooseRole","validatePasswordReset","interv","setInterval","lastMove","subtract","isAfter","clearInterval","ResetSession","FixedModal","IsTemporaryPassword","TopMenu","PasswordChanged","PasswordChangeFailed","userid","oldPass","Parent","IsRight","ManageController","ManageMenu","Menu","Hide","ContentConstant","Load","View","Content","Contents","_routes","State","Url","FixedContentController","ConfigurationModals","ConfigurationController","findLocale","deferred","defer","progress","evt","notify","parseInt","loaded","total","promise","_LoadClient","_LoadConfiguration","SurveyPdfLandingController","EmailIsNotValid","DownloadPdf","PdfEmail","validSurveyPdf","SurveyPdf","SurveySchema","ReferralSchema","SurveyData","ReferralData","LandingErrorController","_errors","generic","noclient","LandingModals","$rootScope","hasChecked","checklistmodel","to","preventDefault","questionRequired","LoadApp","LoadDomain","loader","innerHTML","Msg","OverideDomain","hostname","shift","IsBootstraped","_angular","_headers","AuthHeader","parentNode","removeChild","errorResponse","itm","custom","codes","LOADING","description","GERROR","devmessage","refresh","OFFLINE","NORESPONSE","EMPTYCLIENT","CONFIGNOTFOUND","_template","LoadClientCss","rel","media","getElementsByTagName","appendChild","authHeader","localStorage","getItem","ready","_parseBool","variable","_parseUrl","_parseJson","ex","getElementById","injector"],"mappings":"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CA35B,QAAA+5B,UAEA,QAMA,OAAAp6B,WAhCAP,QACAC,OAAA,cACAM,UAAA,iBAAA+5B,gBAEAA,eAAA13B,SAAA,WAAA,WCTA,WACA,YAEA5C,SAAAC,OAAA,cAEA+D,SAAA,aACA42B,MAAA,QACAC,QAAA,aCPA,WACA,YAEA76B,SAAAC,OAAA,OAEA+D,SAAA,cACA82B,SACAC,KAAA,qBACA9gB,QAAA,iBAEA+gB,wBACAD,KAAA,SACA9gB,QAAA,oBACAghB,YAAA,uDCbA,WACA,YAEAj7B,SAAAC,OAAA,cAEA+D,SAAA,cACA82B,SACAC,KAAA,qBACA9gB,QAAA,iBAEA+gB,wBACAD,KAAA,SACA9gB,QAAA,oBACAghB,YAAA,uDCbA,WACA,YAEAj7B,SAAAC,OAAA,OAEA+D,SAAA,gBACA,SACA,QACA,6BACA,+BACA,oBACA,UACA,UACA,gBACA,UACA,cACA,uBACA,sBACA,mCACA,wBACA,kCACA,mCACA,0CACA,iBACA,gBACA,4BACA,sBACA,uBACA,8BACA,UACA,cACA,gBACA,0BACA,iBACA,qBACA,yBACA,WACA,yBACA,wCACA,sBACA,cACA,cACA,iBACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,eACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,kBACA,wBACA,gBAKAA,SAAA,gBACA,WACA,0BACA,0BACA,mCACA,+BACA,qCACA,oBACA,yBACA,oCACA,8BACA,2BACA,oBACA,iCACA,qBACA,sCACA,8CACA,kCACA,qBACA,wCACA,kCACA,oBACA,8CACA,+BACA,4CACA,6BACA,oBACA,qBACA,0CACA,oBACA,sBACA,yBACA,kBACA,yCACA,uCACA,+BACA,+BACA,6BACA,oCACA,kBACA,wCACA,mBACA,uBACA,sCACA,kBACA,2BACA,2BACA,iCACA,iCACA,sBACA,0BACA,iBACA,6BACA,yBACA,+BACA,mBACA,uBACA,uBACA,oBACA,2BACA,kBACA,qBACA,oCACA,sBACA,uBACA,yBACA,wBACA,oCACA,gCACA,gCACA,0CACA,kBACA,gCACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,KACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,KACA,MACA,KACA,MACA,KACA,OACA,MACA,MACA,MACA,KACA,SACA,SACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,QACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,MACA,OACA,MACA,OACA,OACA,MACA,KACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,OACA,OACA,OACA,MACA,QACA,MACA,MACA,KACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,OACA,MACA,MACA,KACA,KACA,KACA,KACA,OAGAA,SAAA,oBACA,uBACA,kBACA,6BACA,uBACA,yBACA,uBACA,2BACA,8BACA,mCACA,kCACA,iCACA,mBACA,qBACA,8BACA,qBACA,wBACA,wBACA,cACA,gBACA,YACA,eACA,cACA,iBACA,qBACA,gBACA,gBACA,kBACA,YACA,aACA,gBACA,qBACA,YACA,kBACA,eACA,cACA,oBACA,YACA,eACA,YACA,kBACA,cACA,aACA,gBACA,UACA,aACA,oBACA,mBACA,cACA,cACA,mBACA,YACA,qBACA,gBACA,aACA,YACA,YACA,cACA,qBACA,aACA,WACA,oBACA,cACA,aACA,aACA,mBACA,eACA,qBACA,WACA,YACA,2BACA,8BACA,4BACA,+BAGAA,SAAA,UACA,OACA,WAGAA,SAAA,sBACA,WACA,0CAGAA,SAAA,aACA,oBACA,kBACA,sBACA,oBACA,SACA,uBACA,UACA,SACA,cACA,SACA,YACA,aACA,cACA,MACA,cACA,cACA,UACA,iBAGAA,SAAA,cACA,wBACA,qBACA,yBAGAA,SAAA,mBACA,WACA,WACA,iBAGAA,SAAA,4BACA,+BACA,qBACA,mBACA,gBACA,WACA,kBACA,0BAGAA,SAAA,sBACA,UACA,WACA,WAGAA,SAAA,gBACA,WACA,SAGAA,SAAA,gBACA,iBACA,mBACA,WACA,YAGAA,SAAA,mBACA,QACA,UACA,YACA,YACA,kBACA,kBACA,WACA,aACA,eACA,eACA,qBACA,qBACA,qBACA,0BAGAA,SAAA,iBACA,cACA,kBACA,qBAGAA,SAAA,sBACA,QACA,WACA,UACA,qBAGAA,SAAA,sBACA,OACA,WACA,MACA,QACA,UACA,QACA,OACA,SACA,aACA,cACA,aACA,MACA,QACA,OACA,MACA,QACA,OACA,SAGAA,SAAA,kBACA,+BACA,gBACA,wBACA,yCAGAA,SAAA,mBACA,uBACA,6BACA,sCAGAA,SAAA,mBACA,kCACA,6BAGAA,SAAA,gBACA,SAEA,YACA,gBAGAA,SAAA,qBACA,OACA,kBACA,oBACA,cACA,QACA,oBACA,kBACA,MACA,SACA,kBACA,YACA,gBAGAA,SAAA,WACA,mBACA,sBACA,oBACA,wBACA,wBACA,4CACA,uCACA,+CACA,6CACA,0BACA,oBACA,sBACA,mBAGAA,SAAA,kDACA,kDACA,0BACA,aACA,eACA,kCAGAA,SAAA,cACA,UACA,WACA,mBACA,sBACA,2BACA,6BACA,6BACA,gCACA;IChgBA,WACA,YAEAhE,SAAAC,OAAA,OAEA+D,SAAA,kBACA+S,MAAA,aACA1V,MAAA,YAEA0V,MAAA,eACA1V,MAAA,cAGA2C,SAAA,kBACA+S,MAAA,UACA1V,MAAA,KAEA0V,MAAA,UACA1V,MAAA,KAEA0V,MAAA,WACA1V,MAAA,OAGA2C,SAAA,YAAA,MAAA,MAAA,MAAA,MAAA,MAAA,MAAA,QAEAA,SAAA,qBACA42B,MAAA,KACAC,QAAA,UC5BA,WACA,YAEA76B,SAAAC,OAAA,cAEA+D,SAAA,cACA,SACA,SACA,SACA,UAGAA,SAAA,mBCZA,WACA,YAEAhE,SAAAC,OAAA,cAEA+D,SAAA,gBACA,cACA,QACA,UACA,UACA,YACA,gBACA,eACA,gBACA,aACA,eACA,eACA,YACA,aACA,YACA,aACA,SACA,qBACA,UACA,wBACA,iBACA,wBCzBA,WA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","file":"app.2.79.0.min.js","sourcesContent":["(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared', [\r\n\r\n 'app.shared.auth',\r\n 'app.shared.client',\r\n 'app.shared.filemanager',\r\n\r\n // Third Parties\r\n 'LocalStorageModule',\r\n 'angular-google-analytics',\r\n 'checklist-model',\r\n 'credit-cards',\r\n 'daterangepicker',\r\n 'mwl.confirm',\r\n 'ngFileUpload',\r\n 'ngResource',\r\n 'ngSanitize',\r\n 'pascalprecht.translate',\r\n 'permission',\r\n 'tmh.dynamicLocale',\r\n 'toaster',\r\n 'ui.bootstrap',\r\n 'ui.calendar',\r\n 'ui.router',\r\n 'ui.router.tabs',\r\n 'dndLists',\r\n 'rzModule',\r\n\r\n // 'ngBootstrap',\r\n // 'jkuri.slimscroll',\r\n // 'ncy-angular-breadcrumb',\r\n ]);\r\n})();\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .directive('slPrint', slPrint)\r\n\r\n slPrint.$inject = ['$compile', '$sce', '$templateRequest', '$templateCache'];\r\n\r\n function slPrint($compile, $sce, $templateRequest, $templateCache) {\r\n\r\n var directive = {\r\n // templateUrl: 'src/com.shared/directives/multilingualinput/multilingualinput.html',\r\n restrict: 'EA',\r\n // link: link,\r\n scope: {\r\n model: \"=\"\r\n },\r\n link: function(scope, element, attrs) {\r\n\r\n element.bind('click', function(event) {\r\n\r\n $templateRequest(attrs.template)\r\n .then(function(html) {\r\n html = scope.$eval(html);\r\n\r\n scope.$watch(\r\n function(scope) {\r\n // watch the 'compile' expression for changes\r\n return scope.$eval(html);\r\n },\r\n function(value) {\r\n // when the 'compile' expression changes\r\n // assign it into the current DOM\r\n element.html(value);\r\n\r\n // compile the new DOM and link it to the current\r\n // scope.\r\n // NOTE: we only compile .childNodes so that\r\n // we don't get into infinite loop compiling ourselves\r\n $compile(element.contents())(scope);\r\n }\r\n );\r\n\r\n var iframe;\r\n //var html = $templateCache.get(attrs.template);\r\n var elm = document.createElement('iframe');\r\n \r\n elm.setAttribute('class', 'print-frame');\r\n elm.setAttribute('style', 'display: none;');\r\n\r\n element.parent().append(elm);\r\n\r\n iframe = element.parent().find('.print-frame')[0];\r\n\r\n var compiled = $compile(html)(scope);\r\n\r\n var doc;\r\n if (iframe.contentDocument) { // DOM\r\n doc = iframe.contentDocument;\r\n } else if (iframe.contentWindow) { // IE win\r\n doc = iframe.contentWindow.document;\r\n } else {\r\n alert('Wonder what browser this is... ' + navigator.userAgent);\r\n }\r\n\r\n doc.write(html);\r\n doc.close();\r\n\r\n if (window.navigator.userAgent.indexOf(\"MSIE\") > 0) {\r\n iframe.contentWindow.document.execCommand('print', false, null);\r\n } else {\r\n iframe.contentWindow.focus();\r\n iframe.contentWindow.print();\r\n }\r\n });\r\n })\r\n }\r\n };\r\n\r\n return directive;\r\n }\r\n\r\n\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .directive('slMultilingualInput', slMultilingualInput)\r\n\r\n slMultilingualInput.$inject = []\r\n\r\n function slMultilingualInput() {\r\n\r\n var directive = {\r\n templateUrl: 'src/com.shared/_common/directives/multilingualinput/multilingualinput.html',\r\n restrict: 'EA',\r\n // link: link,\r\n scope: {\r\n Model: '=model',\r\n Label: '@label',\r\n Prop: '@prop',\r\n },\r\n controller: MultilingualInputController,\r\n controllerAs: 'vm',\r\n bindToController: true // because the scope is isolated\r\n };\r\n\r\n return directive;\r\n\r\n MultilingualInputController.$inject = ['$scope', 'LocaleMap', 'FlagsConstant'];\r\n\r\n function MultilingualInputController($scope, LocaleMap, FlagsConstant) {\r\n\r\n var vm = this;\r\n vm.Label = vm.Label || vm.Prop;\r\n vm.Languages = _.map(LocaleMap,function(loc){\r\n return loc\r\n });\r\n vm.Flags = FlagsConstant;\r\n\r\n }\r\n }\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .constant('FlagsConstant', {\r\n \"el-gr\":\"gr\",\r\n \"en-gb\":\"gb\"\r\n });\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients', [\r\n 'colorpicker.module',\r\n 'ngCookies',\r\n 'chart.js'\r\n ]);\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ReferralsSurveyController', ReferralsSurveyController);\r\n\r\n ReferralsSurveyController.$inject = ['$stateParams', 'AuthService', 'SurveysService'];\r\n\r\n function ReferralsSurveyController($stateParams, AuthService, SurveysService) {\r\n var vm = this;\r\n\r\n vm.LoadSurveys = LoadSurveys;\r\n vm.LoadReferral = LoadReferral;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $stateParams.IsArchived ? \"admin.clients.client.archived\" : $stateParams.IsCaseClosed ? \"admin.clients.client.closedcases\" : \"admin.clients.client.referrals\";\r\n SurveysService._ClientID = $stateParams.ID;\r\n vm.HideFirstMeeting = $stateParams.HideFirstMeeting;\r\n vm.ShowFinalDischarge = $stateParams.ShowFinalDischarge;\r\n vm.LoadSurveys();\r\n }\r\n\r\n function LoadSurveys() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveys(true)\r\n .then(function(surveys) {\r\n _.each(surveys, function(survey, key) {\r\n survey.Route = \"admin.clients.client.survey.\" + survey.code;\r\n });\r\n\r\n vm.Surveys = surveys;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the survey\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadReferral();\r\n });\r\n }\r\n\r\n function LoadReferral() {\r\n SurveysService\r\n .GetReferralWithInfo($stateParams.ReferralID)\r\n .then(function(referral) {\r\n // console.log(\"referral\",referral);\r\n vm.Referral = referral;\r\n vm.HideFirstMeeting = referral.data.HideFirstMeeting;\r\n vm.ClientID = $stateParams.ID;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the survey\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ReferralsReferralController', ReferralsReferralController);\r\n\r\n ReferralsReferralController.$inject = [\r\n '$scope', '$stateParams','EnumsService', 'SurveysService', 'AuthService','ClientsService', 'ReferralType', 'Gender',\r\n 'WorkStatus', 'toaster', 'SurveyPdfService', 'ConditionType', 'NatureOfWork', 'TypeOfReferral', 'AnsaJobTitle', 'AnsaWorkLocation'];\r\n\r\n function ReferralsReferralController(\r\n $scope, $stateParams,EnumsService, SurveysService, AuthService,ClientsService, ReferralType, Gender,\r\n WorkStatus, toaster, SurveyPdfService, ConditionType, NatureOfWork, TypeOfReferral, AnsaJobTitle, AnsaWorkLocation) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.Gender = Gender;\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType);\r\n vm.WorkStatus =EnumsService.GetClientEnum(WorkStatus);\r\n vm.ConditionType = ConditionType;\r\n vm.NatureOfWork = NatureOfWork;\r\n vm.TypeOfReferral = EnumsService.GetClientEnum(TypeOfReferral);\r\n vm.AnsaJobTitle = AnsaJobTitle;\r\n vm.AnsaWorkLocation = EnumsService.GetClientEnum(AnsaWorkLocation);\r\n\r\n // custom variables\r\n vm.ClientManagers = [];\r\n\r\n vm.ManagerListChanged = ManagerListChanged;\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadReferral = LoadReferral;\r\n\r\n vm.Submit = Submit;\r\n vm.ExportPDF = ExportPDF;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.CanEditConfirm = AuthService.Roles[0] === 'RECEPTIONIST' ? true : false;\r\n vm.CanEditDraft = AuthService.Roles[0] === 'MODERATOR' ? true : false;\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"referral\", true)\r\n .then(function(CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.Questionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n vm.Questionnaire.CanEdit = vm.CanEdit;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the survey\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadReferral();\r\n });\r\n }\r\n\r\n function LoadReferral() {\r\n vm.Referral = {};\r\n vm.Referral.ReferralAbsenceDate = new Date();\r\n vm.Referral.ReferralReturnedToWorkDate = new Date();\r\n vm.Referral.ReferralExpectedDateOfReturn = new Date();\r\n\r\n SurveysService\r\n .GetReferral($stateParams.ReferralID)\r\n .then(function(referral) {\r\n vm.Referral = SurveysService.SetupReferralInfo(referral);\r\n vm.IsDraft = vm.Referral.IsDraft;\r\n vm.HasAppointmentReason = vm.Referral.ClosedWithoutReachingMinimumAppointmentsReason;\r\n\r\n // TODO: ean yparksei thema se afto to view tha prepei na ta fortono sto call. kanonika de tha eprepe na yparxei thema kathos eite apo to close calse,\r\n // eite apo to discharge tha prepei na exei lhksei to opoio thema yphrxe. edo apla deixnoume thn apofash\r\n vm.CanDischargeOrCloseCase = true;\r\n vm.DisplayMessageForValidDischargeWithPainScoreForFullRecovery = false;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the referral\", error.statusText);\r\n })\r\n .finally(function() {\r\n getManagerList();\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function getManagerList() {\r\n SurveysService\r\n .GetPortalManagers()\r\n .then(function(portalManagers) {\r\n vm.ClientManagers = portalManagers;\r\n vm.selectedPortalManager = _.filter(vm.ClientManagers, function(portalManager){\r\n return portalManager.Person.Full == vm.Referral.ReferralManager.First &&\r\n portalManager.Person.Email.Address == vm.Referral.ReferralManager.Email.Address;\r\n })[0];\r\n\r\n // ean einai undefined tote kata 99% o manager exei svhstei apo th lista opote theloume na deiksoume to onoma tou kai na mporei na to allaksei xeirokinhta\r\n vm.DisplayManagerListInput = _.isUndefined(vm.selectedPortalManager);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the manager list\", error.statusText);\r\n });\r\n }\r\n\r\n function ManagerListChanged() {\r\n if(_.isUndefined(vm.Referral.ReferralManager)) {\r\n vm.Referral.ReferralManager = {};\r\n vm.Referral.ReferralManager.Email = {};\r\n }\r\n vm.Referral.ReferralManager.First = vm.selectedPortalManager.Person.Full;\r\n vm.Referral.ReferralManager.Email.Address = vm.selectedPortalManager.Person.Email.Address;\r\n }\r\n\r\n function Submit(exportToPdf) {\r\n \r\n //Ήταν προσαρμογή γιατί το ng-combodate έδινε ημερομηνία με timeoffset τώρα διορθώθηκε και δίνει καθαρή ημερομηνία χωρίς ώρα\r\n //πλέον δεν είναι χρήσιμο. 28/10/2017\r\n //console.log(\"ref1\",vm.Referral.ReferralDateOfBirth);\r\n //vm.Referral.ReferralDateOfBirth = new Date(vm.Referral.ReferralDateOfBirth);\r\n //var userTimezoneOffset = vm.Referral.ReferralDateOfBirth.getTimezoneOffset() * 60000;\r\n //vm.Referral.ReferralDateOfBirth = new Date(vm.Referral.ReferralDateOfBirth.getTime() - userTimezoneOffset);\r\n //console.log(\"userTimezoneOffset\",userTimezoneOffset);\r\n //console.log(\"ref2\",vm.Referral.ReferralDateOfBirth);\r\n\r\n SurveysService\r\n .SubmitReferral(vm.Referral)\r\n .then(function(referral) {\r\n toaster.pop('success',\"Referral was saved.\", \"Saved!\");\r\n\r\n if(!angular.isUndefined(exportToPdf)) {\r\n vm.ExportPDF();\r\n vm.loading = false;\r\n }\r\n else {\r\n vm.LoadReferral();\r\n }\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n function ExportPDF() {\r\n SurveyPdfService\r\n .download(vm.Questionnaire, vm.Referral);\r\n }\r\n }\r\n})();\r\n","(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ReferralsPhoneTriageController', ReferralsPhoneTriageController);\r\n\r\n ReferralsPhoneTriageController.$inject = [\r\n '$filter', '$scope', '$stateParams','EnumsService', 'AuthService','ClientsService', 'SurveysService', 'WorkStatus',\r\n 'Diagnosis', 'AssessmentTypes', 'TriageAssessmentFindings', 'ActionPlan', 'ProposedManagement',\r\n 'toaster', 'ReferralType', 'InitationNotify', 'InitationPeriod', 'Gender', 'SurveyPdfService', 'ConditionType', 'NatureOfWork', 'TypeOfReferral', 'BodyRegionOfInjury', 'MechanismOfInjury'];\r\n\r\n function ReferralsPhoneTriageController(\r\n $filter, $scope, $stateParams,EnumsService, AuthService,ClientsService, SurveysService, WorkStatus,\r\n Diagnosis, AssessmentTypes, TriageAssessmentFindings, ActionPlan, ProposedManagement,\r\n toaster, ReferralType, InitationNotify, InitationPeriod, Gender, SurveyPdfService, ConditionType, NatureOfWork, TypeOfReferral, BodyRegionOfInjury, MechanismOfInjury) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.Gender = Gender;\r\n vm.InitationNotify = InitationNotify;\r\n vm.InitationPeriod = InitationPeriod;\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType);\r\n vm.WorkStatus = EnumsService.GetClientEnum(WorkStatus);\r\n vm.Diagnosis = Diagnosis;\r\n vm.TriageAssessmentFindings = TriageAssessmentFindings;\r\n vm.AssessmentTypes = AssessmentTypes;\r\n vm.ActionPlan = ActionPlan;\r\n vm.ProposedManagement = ProposedManagement;\r\n vm.ConditionType = ConditionType;\r\n vm.NatureOfWork = NatureOfWork;\r\n vm.TypeOfReferral = EnumsService.GetClientEnum(TypeOfReferral);\r\n vm.BodyRegionOfInjury = BodyRegionOfInjury;\r\n vm.SplitNum = 2;\r\n vm.MechanismOfInjury = MechanismOfInjury;\r\n\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadPhoneTriage = LoadPhoneTriage;\r\n vm.DSEChanged = DSEChanged\r\n\r\n vm.Submit = Submit;\r\n vm.ExportPDF = ExportPDF;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType);\r\n vm.WorkStatus =EnumsService.GetClientEnum(WorkStatus);\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"phonetriage\", true)\r\n .then(function (CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.CustomQuestionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n vm.Components = vm.IsActive ? SurveysService.ManageSurveyComponentsForView(vm.CustomQuestionnaire, vm.SplitNum) : '';\r\n console.log(\"vm.Components\",vm.Components);\r\n vm.Questionnaire = JSON.parse(CustomAndReferralSurvey.ReferralSurvey.Configuration);\r\n }, function (error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function () {\r\n vm.LoadPhoneTriage();\r\n });\r\n }\r\n\r\n function LoadPhoneTriage() {\r\n vm.PhoneTriage = {};\r\n vm.PhoneTriage.ReferralID = $stateParams.ReferralID;\r\n vm.PhoneTriage.PhoneTriageDate = new Date();\r\n vm.PhoneTriage.PhoneTriageAbsenceDate = new Date();\r\n vm.PhoneTriage.PhoneTriageReturnedToWorkDate = new Date();\r\n vm.PhoneTriage.PhoneTriageExpectedDischargeDate = null; //new Date();\r\n vm.PhoneTriage.PhoneTriageExpectedDateOfReturn = new Date();\r\n vm.DisplaySaveAndSend = true;\r\n vm.WithoutAppointment = false;\r\n\r\n SurveysService\r\n .GetPhoneTriageByReferralId($stateParams.ReferralID)\r\n .then(function (phonetriageWithInfo) {\r\n phonetriageWithInfo = phonetriageWithInfo.data;\r\n vm.Referral = SurveysService.SetupReferralInfo(phonetriageWithInfo.Referral);\r\n\r\n if (phonetriageWithInfo.PhoneTriage !== null && !angular.isUndefined(phonetriageWithInfo.PhoneTriage.PhoneTriageFindings) && phonetriageWithInfo.PhoneTriage.PhoneTriageFindings !== null) {\r\n phonetriageWithInfo.PhoneTriage.PhoneTriageFindings = phonetriageWithInfo.PhoneTriage.PhoneTriageFindings.split(',').filter(function (el) { return el.length !== 0; });\r\n }\r\n if (phonetriageWithInfo.PhoneTriage !== null && !angular.isUndefined(phonetriageWithInfo.PhoneTriage.PhoneTriageActionplans) && phonetriageWithInfo.PhoneTriage.PhoneTriageActionplans !== null) {\r\n phonetriageWithInfo.PhoneTriage.PhoneTriageActionplans = phonetriageWithInfo.PhoneTriage.PhoneTriageActionplans.split(',').filter(function (el) { return el.length !== 0; });\r\n }\r\n if (phonetriageWithInfo.PhoneTriage !== null && !angular.isUndefined(phonetriageWithInfo.PhoneTriage.BodyRegionOfInjury) && phonetriageWithInfo.PhoneTriage.BodyRegionOfInjury !== null) {\r\n phonetriageWithInfo.PhoneTriage.BodyRegionOfInjury = phonetriageWithInfo.PhoneTriage.BodyRegionOfInjury.split(',').filter(function (el) { return el.length !== 0; });\r\n }\r\n\r\n // ean einai null den theloume na spasei to object pou ftiaksame tin arxh\r\n if (phonetriageWithInfo.PhoneTriage !== null) {\r\n vm.PhoneTriage = phonetriageWithInfo.PhoneTriage;\r\n vm.DisplayAltDiagnosis = vm.PhoneTriage.AltDiagnosis !== null ? true : false;\r\n vm.DisplaySaveAndSend = vm.PhoneTriage.SurveyStatus == \"NOT_SENT\";\r\n }\r\n else {\r\n // orizoume thn timh sto min gia na min exei NaN sto init\r\n var _questions = SurveysService.GetSurveyQuestions(vm.CustomQuestionnaire, [\"pain_score\", \"no_treatment_recovery\"]);\r\n vm.PhoneTriage.PhoneTriagePain = _questions.pain_score.min;\r\n vm.PhoneTriage.PhoneTriageNoTreatment = _questions.no_treatment_recovery.min;\r\n vm.DisplayAltDiagnosis = false;\r\n }\r\n\r\n vm.WithoutAppointment = phonetriageWithInfo.WithoutAppointment;\r\n vm.DisplaySaveAndSend = vm.DisplaySaveAndSend && !vm.WithoutAppointment;\r\n }, function (error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function () {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function Submit(exportToPdf) {\r\n vm.loading = true;\r\n if (!angular.isUndefined(vm.PhoneTriage.PhoneTriageFindings) && vm.PhoneTriage.PhoneTriageFindings !== null) {\r\n vm.PhoneTriage.PhoneTriageFindings = vm.PhoneTriage.PhoneTriageFindings.join(',');\r\n }\r\n if (!angular.isUndefined(vm.PhoneTriage.PhoneTriageActionplans) && vm.PhoneTriage.PhoneTriageActionplans !== null) {\r\n vm.PhoneTriage.PhoneTriageActionplans = vm.PhoneTriage.PhoneTriageActionplans.join(',');\r\n }\r\n if (!angular.isUndefined(vm.PhoneTriage.BodyRegionOfInjury) && vm.PhoneTriage.BodyRegionOfInjury !== null) {\r\n vm.PhoneTriage.BodyRegionOfInjury = vm.PhoneTriage.BodyRegionOfInjury.join(',');\r\n }\r\n if (!vm.DisplayAltDiagnosis) {\r\n vm.PhoneTriage.AltDiagnosis = null;\r\n vm.PhoneTriage.PhoneTriageAltDiagnosisOther = null;\r\n }\r\n\r\n vm.PhoneTriage.SurveyStatus = vm.SendEmail ? \"SENT\" : \"NOT_SENT\";\r\n\r\n vm.PhoneTriage.InitiatedTime = vm.PhoneTriage.InitiatedTime == 1;\r\n vm.PhoneTriage.InitiatedMovement = vm.PhoneTriage.InitiatedMovement == 1;\r\n\r\n vm.PhoneTriage.CausedByAccident = vm.PhoneTriage.CausedByAccident == 1;\r\n vm.PhoneTriage.OccupationalHealthRepeatUser = vm.PhoneTriage.OccupationalHealthRepeatUser == 1;\r\n vm.PhoneTriage.AccidentReported = vm.PhoneTriage.AccidentReported == 1;\r\n vm.PhoneTriage.CausedByErgonomicFactors = vm.PhoneTriage.CausedByErgonomicFactors == 1;\r\n vm.PhoneTriage.IsAggravated = vm.PhoneTriage.IsAggravated == 1;\r\n\r\n SurveysService\r\n .SubmitPhoneTriage(vm.PhoneTriage)\r\n .then(function (phonetriage) {\r\n $scope.$parent.vm.HideFirstMeeting = vm.PhoneTriage.ProposedManagement == \"ADVISE_AND_EDUCATION_PHONE_CONSULTING\";\r\n toaster.pop('success', \"Phone Triage was saved.\", \"Saved!\");\r\n\r\n if (!angular.isUndefined(exportToPdf)) {\r\n vm.ExportPDF();\r\n }\r\n\r\n vm.LoadPhoneTriage();\r\n }, function (error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n function ExportPDF() {\r\n if (angular.isUndefined(vm.PhoneTriage.PhoneTriageFindings) || vm.PhoneTriage.PhoneTriageFindings === null) {\r\n vm.PhoneTriage.PhoneTriageFindings = \"\";\r\n }\r\n else if (_.isArray(vm.PhoneTriage.PhoneTriageFindings)) {\r\n vm.PhoneTriage.PhoneTriageFindings = vm.PhoneTriage.PhoneTriageFindings.join(',');\r\n }\r\n if (angular.isUndefined(vm.PhoneTriage.PhoneTriageActionplans) || vm.PhoneTriage.PhoneTriageActionplans === null) {\r\n vm.PhoneTriage.PhoneTriageActionplans = \"\";\r\n }\r\n else if (_.isArray(vm.PhoneTriage.PhoneTriageActionplans)) {\r\n vm.PhoneTriage.PhoneTriageActionplans = vm.PhoneTriage.PhoneTriageActionplans.join(',');\r\n }\r\n if (angular.isUndefined(vm.PhoneTriage.BodyRegionOfInjury) || vm.PhoneTriage.BodyRegionOfInjury === null) {\r\n vm.PhoneTriage.BodyRegionOfInjury = \"\";\r\n }\r\n else if (_.isArray(vm.PhoneTriage.BodyRegionOfInjury)) {\r\n vm.PhoneTriage.BodyRegionOfInjury = vm.PhoneTriage.BodyRegionOfInjury.join(',');\r\n }\r\n\r\n var phoneTriageFindings = vm.PhoneTriage.PhoneTriageFindings.split(',');\r\n var phoneTriageFindingsArray = [];\r\n angular.forEach(phoneTriageFindings, function (phoneTriageFinding, index) {\r\n phoneTriageFindingsArray.push($filter('translate')(phoneTriageFinding));\r\n });\r\n vm.PhoneTriage.PhoneTriageFindings = phoneTriageFindingsArray.join(',');\r\n\r\n var phoneTriageActionPlans = vm.PhoneTriage.PhoneTriageActionplans.split(',');\r\n var phoneTriageActionPlansArray = [];\r\n angular.forEach(phoneTriageActionPlans, function (phoneTriageActionPlan, index) {\r\n phoneTriageActionPlansArray.push($filter('translate')(phoneTriageActionPlan));\r\n });\r\n vm.PhoneTriage.PhoneTriageActionplans = phoneTriageActionPlansArray.join(',');\r\n\r\n var phoneTriageBodyRegionOfInjury = vm.PhoneTriage.BodyRegionOfInjury.split(',');\r\n var phoneTriageBodyRegionOfInjuryArray = [];\r\n angular.forEach(phoneTriageBodyRegionOfInjury, function (bodyRegionOfInjury, index) {\r\n phoneTriageBodyRegionOfInjuryArray.push($filter('translate')(bodyRegionOfInjury));\r\n });\r\n vm.PhoneTriage.BodyRegionOfInjury = phoneTriageBodyRegionOfInjuryArray.join(',');\r\n\r\n SurveyPdfService\r\n .download(vm.CustomQuestionnaire, vm.PhoneTriage, vm.Questionnaire, vm.Referral);\r\n }\r\n\r\n function DSEChanged() {\r\n if (vm.PhoneTriage.PhoneTriageDseasses) {\r\n vm.PhoneTriage.PhoneTriageAdvanced = \"STANDARD\";\r\n }\r\n else {\r\n vm.PhoneTriage.PhoneTriageAdvanced = null;\r\n }\r\n }\r\n\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ReferralsNotesController', ReferralsNotesController);\r\n\r\n ReferralsNotesController.$inject = ['$scope', '$stateParams','EnumsService', 'AuthService', 'SurveysService', 'toaster', 'ReferralType', 'Gender', 'WorkStatus', 'SurveyPdfService'];\r\n\r\n function ReferralsNotesController($scope, $stateParams,EnumsService, AuthService, SurveysService, toaster, ReferralType, Gender, WorkStatus, SurveyPdfService) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.Gender = Gender;\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType);\r\n vm.WorkStatus = EnumsService.GetClientEnum(WorkStatus);\r\n\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadManagerNotes = LoadManagerNotes;\r\n\r\n vm.Submit = Submit;\r\n vm.ExportPDF = ExportPDF;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"managernotes\", true)\r\n .then(function(CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.CustomQuestionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n vm.Questionnaire = JSON.parse(CustomAndReferralSurvey.ReferralSurvey.Configuration);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the survey\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadManagerNotes();\r\n });\r\n }\r\n\r\n function LoadManagerNotes() {\r\n SurveysService\r\n .GetManagerNoteByReferralId($stateParams.ReferralID, false)\r\n .then(function(managernotesWithInfo) {\r\n managernotesWithInfo = managernotesWithInfo.data;\r\n vm.Referral = SurveysService.SetupReferralInfo(managernotesWithInfo.Referral);\r\n if(managernotesWithInfo.ManagerNote !== null){\r\n vm.ManagerNotes = managernotesWithInfo.ManagerNote;\r\n }\r\n else {\r\n vm.ManagerNotes = {};\r\n vm.ManagerNotes.ReferralID = $stateParams.ReferralID;\r\n }\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the manager notes\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function Submit(exportToPdf) {\r\n SurveysService\r\n .SubmitManagerNote(vm.ManagerNotes)\r\n .then(function(managernotes) {\r\n toaster.pop('success',\"Manager Notes were saved.\", \"Saved!\");\r\n\r\n if(!angular.isUndefined(exportToPdf)) {\r\n vm.ExportPDF();\r\n vm.loading = false;\r\n }\r\n else {\r\n vm.LoadManagerNotes();\r\n }\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n function ExportPDF() {\r\n SurveyPdfService\r\n .download(vm.CustomQuestionnaire, vm.ManagerNotes, vm.Questionnaire, vm.Referral);\r\n }\r\n }\r\n})();\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager', [\r\n 'chart.js'\r\n ])\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ReferralImportController', ReferralImportController);\r\n\r\n ReferralImportController.$inject = ['$stateParams', '$modalInstance', 'SurveysService', 'toaster', 'ModalParams'];\r\n\r\n function ReferralImportController($stateParams, $modalInstance, SurveysService, toaster, ModalParams) {\r\n var vm = this;\r\n\r\n var supportedFileFormats = [\"msg\"];\r\n\r\n vm.SubmitFiles = SubmitFiles;\r\n\r\n activate();\r\n\r\n function activate() {\r\n\r\n }\r\n\r\n function SubmitFiles() {\r\n vm.loading = true;\r\n\r\n if(!ValidateFiles(vm.Files)) {\r\n toaster.pop(\r\n 'error',\"Error!\",\r\n \"Some of the chosen file formats are not supported. Please select files of the following formats

Supported formats: \" + SupportedFileFormatsForErrorMessage() + \"\",\r\n 3000,\r\n 'trustedHtml'\r\n );\r\n vm.loading = false;\r\n return;\r\n }\r\n\r\n SurveysService\r\n .MessagesSend(vm.Files)\r\n .then(function(fileURIs) {\r\n\r\n var _fileURIs = [];\r\n angular.forEach(fileURIs, function(value, key) {\r\n _fileURIs.push(value.FileURI);\r\n });\r\n\r\n SurveysService\r\n .ImportReferrals(_fileURIs)\r\n .then(function(referralsInserted) {\r\n vm.loading = false;\r\n $modalInstance.close(referralsInserted);\r\n }, function(error) {\r\n toaster.pop('error',\"Error!\", \"Message(s) could not be converted into Referral(s)\");\r\n vm.loading = false;\r\n });\r\n });\r\n }\r\n\r\n function ValidateFiles(Files) {\r\n var allValid = true;\r\n\r\n angular.forEach(Files, function(file, index) {\r\n var ext = file.name.split(\".\").pop();\r\n if(supportedFileFormats.indexOf(ext) === -1) {\r\n allValid = false;\r\n }\r\n });\r\n\r\n return allValid;\r\n }\r\n\r\n function SupportedFileFormatsForErrorMessage() {\r\n var supportedFileFormatsForErrorMessage = [];\r\n\r\n angular.forEach(supportedFileFormats, function(supportedFileFormat, index) {\r\n supportedFileFormatsForErrorMessage.push(\".\" + supportedFileFormat);\r\n });\r\n\r\n return supportedFileFormatsForErrorMessage.join(', ');\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ReferralsFirstMeetingController', ReferralsFirstMeetingController);\r\n\r\n ReferralsFirstMeetingController.$inject = [\r\n '$scope', '$stateParams','EnumsService', 'AuthService', 'SurveysService', 'WorkStatus',\r\n 'Diagnosis', 'ActionPlan', 'ProposedManagement', 'AssessmentTypes', 'toaster',\r\n 'ReferralType', 'Gender', 'SurveyPdfService', 'ConditionType', 'NatureOfWork', 'TypeOfReferral', 'ChronicityOfInjury'];\r\n\r\n function ReferralsFirstMeetingController(\r\n $scope, $stateParams,EnumsService, AuthService, SurveysService, WorkStatus,\r\n Diagnosis, ActionPlan, ProposedManagement, AssessmentTypes, toaster,\r\n ReferralType, Gender, SurveyPdfService, ConditionType, NatureOfWork, TypeOfReferral, ChronicityOfInjury) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.Gender = Gender;\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType);\r\n vm.WorkStatus =EnumsService.GetClientEnum(WorkStatus);\r\n vm.Diagnosis = Diagnosis;\r\n vm.ActionPlan = ActionPlan;\r\n vm.ProposedManagement = ProposedManagement;\r\n vm.AssessmentTypes = AssessmentTypes;\r\n vm.ConditionType = ConditionType;\r\n vm.NatureOfWork = NatureOfWork;\r\n vm.TypeOfReferral = EnumsService.GetClientEnum(TypeOfReferral);\r\n vm.ChronicityOfInjury = ChronicityOfInjury;\r\n vm.SplitNum = 2;\r\n\r\n vm.DSEChanged = DSEChanged;\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadFirstMeeting = LoadFirstMeeting;\r\n\r\n vm.RemoveTherapyGoal = RemoveTherapyGoal;\r\n vm.Submit = Submit;\r\n vm.ExportPDF = ExportPDF;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"firstmeeting\", true)\r\n .then(function(CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.CustomQuestionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n vm.Components = vm.IsActive ? SurveysService.ManageSurveyComponentsForView(vm.CustomQuestionnaire, vm.SplitNum) : '';\r\n vm.Questionnaire = JSON.parse(CustomAndReferralSurvey.ReferralSurvey.Configuration);\r\n })\r\n .finally(function() {\r\n vm.LoadFirstMeeting();\r\n });\r\n }\r\n\r\n function LoadFirstMeeting() {\r\n vm.FirstMeeting = {};\r\n vm.FirstMeeting.TherapyGoals = [];\r\n vm.FirstMeeting.ReferralID = $stateParams.ReferralID;\r\n vm.FirstMeeting.FirstMeetingDate = new Date();\r\n vm.FirstMeeting.FirstMeetingAbsenceDate = new Date();\r\n vm.FirstMeeting.FirstMeetingReturnedToWorkDate = new Date();\r\n vm.FirstMeeting.FirstMeetingExpectedDateOfReturn = new Date();\r\n vm.FirstMeeting.FirstMeetingExpectedDischargeDate = new Date();\r\n vm.DisplaySaveAndSend = true;\r\n vm.WithoutAppointment = false;\r\n\r\n SurveysService\r\n .GetFirstMeetingByReferralId($stateParams.ReferralID)\r\n .then(function(firstmeetingWithInfo) {\r\n firstmeetingWithInfo = firstmeetingWithInfo.data;\r\n vm.Referral = SurveysService.SetupReferralInfo(firstmeetingWithInfo.Referral);\r\n\r\n if(firstmeetingWithInfo.FirstMeeting !== null && !angular.isUndefined(firstmeetingWithInfo.FirstMeeting.TherapyGoals)) {\r\n vm.DisplayGoal = firstmeetingWithInfo.FirstMeeting.TherapyGoals.length >= 1 ? true : false;\r\n vm.DisplayGoal1 = firstmeetingWithInfo.FirstMeeting.TherapyGoals.length >= 2 ? true : false;\r\n vm.DisplayGoal2 = firstmeetingWithInfo.FirstMeeting.TherapyGoals.length >= 3 ? true : false;\r\n }\r\n\r\n // ean einai null den theloume na spasei to object pou ftiaksame tin arxh\r\n if(firstmeetingWithInfo.FirstMeeting !== null) {\r\n vm.FirstMeeting = firstmeetingWithInfo.FirstMeeting;\r\n vm.DisplayAltDiagnosis = vm.FirstMeeting.AltDiagnosis !== null ? true : false;\r\n vm.DisplaySaveAndSend = vm.FirstMeeting.SurveyStatus == \"NOT_SENT\";\r\n }\r\n else{\r\n // orizoume thn timh sto min gia na min exei NaN sto init\r\n var _questions = SurveysService.GetSurveyQuestions(vm.CustomQuestionnaire, [\"pain_score\",\"no_treatment_recovery\"]);\r\n vm.FirstMeeting.FirstMeetingPain = _questions.pain_score.min;\r\n vm.FirstMeeting.FirstMeetingNoTreatment = _questions.no_treatment_recovery.min;\r\n vm.DisplayAltDiagnosis = false;\r\n }\r\n\r\n vm.WithoutAppointment = firstmeetingWithInfo.WithoutAppointment;\r\n vm.DisplaySaveAndSend = vm.DisplaySaveAndSend && !vm.WithoutAppointment;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function Submit(exportToPdf) {\r\n vm.loading = true;\r\n vm.DisplayGoal = false;\r\n vm.DisplayGoal1 = false;\r\n vm.DisplayGoal2 = false;\r\n\r\n if(!vm.DisplayAltDiagnosis) {\r\n vm.FirstMeeting.AltDiagnosis = null;\r\n vm.FirstMeeting.PhoneTriageAltDiagnosisOther = null;\r\n }\r\n\r\n vm.FirstMeeting.SurveyStatus = vm.SendEmail ? \"SENT\" : \"NOT_SENT\";\r\n\r\n SurveysService\r\n .SubmitFirstMeeting(vm.FirstMeeting)\r\n .then(function(firstmeeting) {\r\n toaster.pop('success',\"First Meeting was saved.\", \"Saved!\");\r\n\r\n if(!angular.isUndefined(exportToPdf)) {\r\n vm.ExportPDF();\r\n }\r\n\r\n vm.LoadFirstMeeting();\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n function RemoveTherapyGoal(key) {\r\n vm.FirstMeeting.TherapyGoals.splice(key, 1);\r\n }\r\n\r\n function ExportPDF() {\r\n SurveyPdfService\r\n .download(vm.CustomQuestionnaire, vm.FirstMeeting, vm.Questionnaire, vm.Referral);\r\n }\r\n\r\n function DSEChanged()\r\n {\r\n if(vm.PhoneTriage.PhoneTriageDseasses)\r\n {\r\n vm.PhoneTriage.PhoneTriageAdvanced = \"STANDARD\";\r\n }\r\n else {\r\n vm.PhoneTriage.PhoneTriageAdvanced =null;\r\n }\r\n }\r\n\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ReferralsFinalDischargeController', ReferralsFinalDischargeController);\r\n\r\n ReferralsFinalDischargeController.$inject = ['$scope', '$stateParams','EnumsService', 'WorkStatus', 'AuthService', 'SurveysService', 'toaster', 'ReferralType', 'Gender', 'SurveyPdfService'];\r\n\r\n function ReferralsFinalDischargeController($scope, $stateParams,EnumsService, WorkStatus, AuthService, SurveysService, toaster, ReferralType, Gender, SurveyPdfService) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.Gender = Gender;\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType);\r\n vm.WorkStatus = EnumsService.GetClientEnum(WorkStatus);\r\n vm.SplitNum = 2;\r\n\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadFinalDischarge = LoadFinalDischarge;\r\n\r\n vm.Submit = Submit;\r\n vm.ExportPDF = ExportPDF;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"finaldischarge\", true)\r\n .then(function(CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.CustomQuestionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n vm.Components = vm.IsActive ? SurveysService.ManageSurveyComponentsForView(vm.CustomQuestionnaire, vm.SplitNum) : '';\r\n vm.Questionnaire = JSON.parse(CustomAndReferralSurvey.ReferralSurvey.Configuration);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadFinalDischarge();\r\n });\r\n }\r\n\r\n function LoadFinalDischarge() {\r\n vm.Discharge = {};\r\n vm.Discharge.ReferralID = $stateParams.ReferralID;\r\n vm.Discharge.IsFinal = 1;\r\n vm.Discharge.IsArchived = true;\r\n vm.Discharge.DischargeDate = new Date();\r\n vm.Discharge.DischargeAbsenceDate = new Date();\r\n vm.Discharge.DischargeReturnedToWorkDate = new Date();\r\n vm.Discharge.DischargeExpectedDateOfReturn = new Date();\r\n vm.DisplaySaveAndSend = true;\r\n\r\n SurveysService\r\n .GetDischargeByReferralId($stateParams.ReferralID, true)\r\n .then(function(dischargeWithInfo) {\r\n dischargeWithInfo = dischargeWithInfo.data;\r\n vm.Referral = SurveysService.SetupReferralInfo(dischargeWithInfo.Referral);\r\n\r\n // ean einai null den theloume na spasei to object pou ftiaksame tin arxh\r\n if(dischargeWithInfo.Discharge !== null) {\r\n vm.Discharge = dischargeWithInfo.Discharge;\r\n vm.DisplaySaveAndSend = vm.Discharge.SurveyStatus == \"NOT_SENT\";\r\n }\r\n else{\r\n // orizoume thn timh sto min gia na min exei NaN sto init\r\n var _questions = SurveysService.GetSurveyQuestions(vm.CustomQuestionnaire, [\"pain_score\"]);\r\n vm.Discharge.DischargePain = _questions.pain_score.min;\r\n }\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function Submit(exportToPdf) {\r\n vm.loading = true;\r\n vm.Discharge.SurveyStatus = vm.SendEmail ? \"SENT\" : \"NOT_SENT\";\r\n\r\n SurveysService\r\n .SubmitDischarge(vm.Discharge)\r\n .then(function(discharge) {\r\n toaster.pop('success',\"Final Discharge was saved.\", \"Saved!\");\r\n\r\n if(!angular.isUndefined(exportToPdf)) {\r\n vm.ExportPDF();\r\n }\r\n\r\n vm.LoadFinalDischarge();\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n function ExportPDF() {\r\n SurveyPdfService\r\n .download(vm.CustomQuestionnaire, vm.Discharge, vm.Questionnaire, vm.Referral);\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ExerciseController', ExerciseController);\r\n\r\n ExerciseController.$inject = ['$stateParams', '$modalInstance', 'SurveysService', 'toaster', 'ModalParams'];\r\n\r\n function ExerciseController($stateParams, $modalInstance, SurveysService, toaster, ModalParams) {\r\n var vm = this;\r\n\r\n vm.ChosenImages = [];\r\n\r\n vm.LoadIllnesses = LoadIllnesses;\r\n vm.LoadImageItems = LoadImageItems;\r\n vm.LoadOrCreateExercise = LoadOrCreateExercise;\r\n vm.CheckAll = CheckAll;\r\n vm.FilterImageItems = FilterImageItems;\r\n vm.Submit = Submit;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.CustomQuestionnaire = ModalParams.CustomQuestionnaire;\r\n vm.LoadIllnesses();\r\n }\r\n\r\n function LoadIllnesses() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetIllnesses()\r\n .then(function(illnesses) {\r\n vm.Illnesses = illnesses;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n vm.LoadImageItems();\r\n });\r\n }\r\n\r\n function LoadImageItems() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetImageItems()\r\n .then(function(imageItems) {\r\n vm.ImageItems = imageItems;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadOrCreateExercise();\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function LoadOrCreateExercise() {\r\n if(ModalParams.Exercise) {\r\n vm.Exercise = ModalParams.Exercise;\r\n }\r\n else {\r\n vm.Exercise = {};\r\n vm.Exercise.ReferralID = ModalParams.ReferralID;\r\n }\r\n InitExerciseImages();\r\n }\r\n\r\n function CheckAll() {\r\n vm.ChosenImages = _.map(vm.ImageItems, function(exerciseImage) {\r\n return exerciseImage.ID;\r\n });\r\n }\r\n\r\n function FilterImageItems() {\r\n if(vm.SelectedIllness !== null) {\r\n _.each(vm.ImageItems, function(exerciseImage, index) {\r\n exerciseImage.IsActive = false;\r\n _.each(exerciseImage.Illnesses, function(illness, illnessIndex) {\r\n if(illness.IllnessID == vm.SelectedIllness) {\r\n exerciseImage.IsActive = true;\r\n }\r\n });\r\n });\r\n }\r\n else {\r\n _.each(vm.ImageItems, function(exerciseImage, index) {\r\n exerciseImage.IsActive = true;\r\n });\r\n }\r\n }\r\n\r\n function Submit() {\r\n vm.loading = true;\r\n vm.Exercise.ImageItems = ModifyExerciseImages();\r\n vm.Exercise.SurveyStatus = vm.SendEmail ? \"SENT\" : \"NOT_SENT\";\r\n SurveysService\r\n .SubmitExercise(vm.Exercise)\r\n .then(function(exercise) {\r\n vm.loading = false;\r\n toaster.pop('success',\"Exercise was saved.\", \"Saved!\");\r\n $modalInstance.close(exercise);\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function InitExerciseImages() {\r\n _.each(vm.Exercise.ImageItems, function(existingExerciseImage, existingExerciseImageIndex) {\r\n _.each(vm.ImageItems, function(exerciseImage, exerciseImageIndex) {\r\n if(exerciseImage.ID == existingExerciseImage.ImageID) {\r\n vm.ChosenImages.push(existingExerciseImage.ImageID);\r\n }\r\n });\r\n });\r\n }\r\n\r\n function ModifyExerciseImages() {\r\n return _.map(vm.ChosenImages, function(imageID) {\r\n return {\r\n ExerciseID: -1, // to ekana etsi giati panta sto admin vazoume nea den kanoume pote update, apla to vazo gia na uparexei kati kai na mhn einai null\r\n ImageID: imageID\r\n };\r\n });\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ReferralsExercisesController', ReferralsExercisesController);\r\n\r\n ReferralsExercisesController.$inject = ['$scope', '$stateParams','EnumsService', 'AuthService', 'SurveysService', 'toaster', 'ReferralType', 'Gender', 'WorkStatus', 'ReferralsModals'];\r\n\r\n function ReferralsExercisesController($scope, $stateParams,EnumsService, AuthService, SurveysService, toaster, ReferralType, Gender, WorkStatus, ReferralsModals) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.Gender = Gender;\r\n vm.ReferralType=EnumsService.GetClientEnum(ReferralType);\r\n vm.WorkStatus = EnumsService.GetClientEnum(WorkStatus);\r\n\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadExercises = LoadExercises;\r\n\r\n vm.ExerciseModal = ExerciseModal;\r\n vm.DeleteExercise = DeleteExercise;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.Role = AuthService.Roles[0];\r\n\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"exercises\", true)\r\n .then(function(CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.CustomQuestionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n vm.Questionnaire = JSON.parse(CustomAndReferralSurvey.ReferralSurvey.Configuration);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the survey\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadExercises();\r\n });\r\n }\r\n\r\n function LoadExercises() {\r\n vm.ExercisesList = [];\r\n\r\n SurveysService\r\n .GetExerciseByReferralID($stateParams.ReferralID, false)\r\n .then(function(exerciseWithInfo) {\r\n exerciseWithInfo = exerciseWithInfo.data;\r\n vm.Referral = SurveysService.SetupReferralInfo(exerciseWithInfo.Referral);\r\n\r\n // ean einai null den theloume na spasei h lista pou ftiaksame tin arxh\r\n if(exerciseWithInfo.Exercises !== null) {\r\n vm.ExercisesList = exerciseWithInfo.Exercises;\r\n }\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function ExerciseModal(Exercise) {\r\n ReferralsModals.Exercise({\r\n Exercise: Exercise,\r\n CustomQuestionnaire: vm.CustomQuestionnaire,\r\n ReferralID: $stateParams.ReferralID\r\n })\r\n .then(function() {\r\n vm.loading = true;\r\n vm.LoadExercises();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function DeleteExercise(ExerciseID) {\r\n vm.loading = true;\r\n SurveysService\r\n .DeleteExercise(ExerciseID)\r\n .then(function(response) {\r\n vm.loading = false;\r\n vm.LoadExercises();\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not delete the data\", error.statusText);\r\n });\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ReferralsDischargeController', ReferralsDischargeController);\r\n\r\n ReferralsDischargeController.$inject = [\r\n '$scope', '$stateParams','EnumsService', 'WorkStatus', 'AuthService', 'SurveysService',\r\n 'toaster', 'ReferralType', 'Gender', 'ExtraSessionStatus', 'SurveyPdfService',\r\n 'ClosedWithoutReachingMinimumAppointmentsReason'\r\n ];\r\n\r\n function ReferralsDischargeController(\r\n $scope, $stateParams,EnumsService, WorkStatus, AuthService, SurveysService,\r\n toaster, ReferralType, Gender, ExtraSessionStatus, SurveyPdfService,\r\n ClosedWithoutReachingMinimumAppointmentsReason\r\n ) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.Gender = Gender;\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType);\r\n vm.WorkStatus =EnumsService.GetClientEnum(WorkStatus);\r\n vm.SplitNum = 2;\r\n vm.ClosedWithoutReachingMinimumAppointmentsReason = ClosedWithoutReachingMinimumAppointmentsReason;\r\n\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadDischarge = LoadDischarge;\r\n\r\n vm.Submit = Submit;\r\n vm.ExportPDF = ExportPDF;\r\n vm.CustomFilter = CustomFilter;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"discharge\", true)\r\n .then(function(CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.CustomQuestionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n vm.Components = vm.IsActive ? SurveysService.ManageSurveyComponentsForView(vm.CustomQuestionnaire, vm.SplitNum) : '';\r\n vm.Questionnaire = JSON.parse(CustomAndReferralSurvey.ReferralSurvey.Configuration);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadDischarge();\r\n });\r\n }\r\n\r\n function LoadDischarge() {\r\n vm.Discharge = {};\r\n vm.Discharge.ReferralID = $stateParams.ReferralID;\r\n vm.Discharge.DischargeDate = new Date();\r\n vm.Discharge.DischargeAbsenceDate = new Date();\r\n vm.Discharge.DischargeReturnedToWorkDate = new Date();\r\n vm.Discharge.DischargeExpectedDateOfReturn = new Date();\r\n vm.DisplaySaveAndSend = true;\r\n vm.WithoutAppointment = false;\r\n\r\n SurveysService\r\n .GetDischargeByReferralId($stateParams.ReferralID, false)\r\n .then(function(dischargeWithInfo) {\r\n dischargeWithInfo = dischargeWithInfo.data;\r\n vm.Referral = SurveysService.SetupReferralInfo(dischargeWithInfo.Referral);\r\n\r\n // ean einai null den theloume na spasei to object pou ftiaksame tin arxh\r\n if(dischargeWithInfo.Discharge !== null) {\r\n vm.Discharge = dischargeWithInfo.Discharge;\r\n vm.CanDischarge = true;\r\n vm.CanDischargeOrCloseCase = true;\r\n vm.DisplaySaveAndSend = vm.Discharge.SurveyStatus == \"NOT_SENT\";\r\n }\r\n else{\r\n // orizoume thn timh sto min gia na min exei NaN sto init\r\n var _questions = SurveysService.GetSurveyQuestions(vm.CustomQuestionnaire, [\"pain_score\",\"more_sessions\"]);\r\n vm.Discharge.DischargePain = _questions.pain_score.min;\r\n vm.Discharge.DischargeExtraSessionsNumber = _questions.more_sessions.min;\r\n vm.CanDischarge = dischargeWithInfo.CanDischarge;\r\n vm.CanDischargeOrCloseCase = dischargeWithInfo.CanDischargeOrCloseCase;\r\n }\r\n\r\n // afto einai se update kai eno afora to canDischarge mporei na allaksei, opote to ekana ksexoristo\r\n vm.CanDischarge = vm.CanDischarge && vm.CanDischargeOrCloseCase;\r\n\r\n vm.WithoutAppointment = dischargeWithInfo.WithoutAppointment;\r\n vm.DisplaySaveAndSend = vm.DisplaySaveAndSend && !vm.WithoutAppointment;\r\n\r\n var minimumAppointmentsToDischarge = APP.Client.Extra.MinimumAppointmentsToDischarge !== null ? APP.Client.Extra.MinimumAppointmentsToDischarge : 0;\r\n vm.Referral.ClosedWithoutReachingMinimumAppointments = dischargeWithInfo.AppointmentCount < minimumAppointmentsToDischarge && minimumAppointmentsToDischarge > 0 ? true : false;\r\n vm.HasAppointmentReason = vm.Referral.ClosedWithoutReachingMinimumAppointmentsReason;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function Submit(exportToPdf) {\r\n vm.loading = true;\r\n\r\n if(vm.Discharge.DischargeRequestMoreSessions && vm.Discharge.DischargeExtraSessionsNumber > 0) {\r\n vm.Discharge.IsArchived = false;\r\n // efoson exoume extra sessions request pername sto object ExtraSessions afta pou prepei gia na apothikeftoun\r\n vm.Discharge.ExtraSessions = [];\r\n vm.Discharge.ExtraSessions[0] = {};\r\n vm.Discharge.ExtraSessions[0].ExtraSessionAmount = vm.Discharge.DischargeExtraSessionsNumber;\r\n vm.Discharge.ExtraSessions[0].ExtraSessionStatus = ExtraSessionStatus[0];\r\n }\r\n\r\n\r\n if(!angular.isUndefined(vm.Discharge.DischargeGoalsAchieved) && vm.Discharge.DischargeGoalsAchieved) {\r\n vm.Discharge.DischargeGoalsFailedExplanation = null;\r\n }\r\n\r\n vm.Discharge.SurveyStatus = vm.SendEmail ? \"SENT\" : \"NOT_SENT\";\r\n\r\n if(vm.Discharge.SurveyStatus===\"SENT\" && (!vm.Discharge.DischargeRequestMoreSessions || vm.Discharge.DischargeExtraSessionsNumber == 0))\r\n {\r\n vm.Discharge.IsArchived = true;\r\n }\r\n\r\n\r\n SurveysService\r\n .SubmitDischarge(vm.Discharge)\r\n .then(function(discharge) {\r\n\r\n if(vm.Referral.ClosedWithoutReachingMinimumAppointments) {\r\n SurveysService\r\n .SubmitReferral(vm.Referral)\r\n .then(function(referral) {\r\n finishSubmit(exportToPdf);\r\n });\r\n }\r\n else {\r\n finishSubmit(exportToPdf);\r\n }\r\n\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n // TODO: NA GINEI ENA SERVICE\r\n function CustomFilter() {\r\n // afora to pain recovery kai an epileksei to excellent progress\r\n if(vm.Discharge.DischargePain > 0 && vm.Referral.ClosedWithoutReachingMinimumAppointmentsReason === 'HAS_MADE_EXCELLENT_PROGRESS_AND_CAN_SELF_MANAGE') {\r\n vm.CanDischarge = false;\r\n vm.DisplayMessageForValidDischargeWithPainScoreForFullRecovery = true;\r\n }\r\n else if(vm.HasAppointmentReason === null && vm.CanDischargeOrCloseCase && vm.CanEdit) {\r\n vm.CanDischarge = true;\r\n vm.DisplayMessageForValidDischargeWithPainScoreForFullRecovery = false;\r\n }\r\n }\r\n\r\n function finishSubmit(exportToPdf) {\r\n vm.Submitted = true;\r\n toaster.pop('success',\"Discharge was saved.\", \"Saved!\");\r\n if(!angular.isUndefined(exportToPdf)) {\r\n vm.ExportPDF();\r\n }\r\n\r\n vm.LoadDischarge();\r\n }\r\n\r\n function ExportPDF() {\r\n SurveyPdfService\r\n .download(vm.CustomQuestionnaire, vm.Discharge, vm.Questionnaire, vm.Referral);\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ReferralSearchController', ReferralSearchController);\r\n\r\n ReferralSearchController.$inject = ['$stateParams', '$modalInstance', 'SurveysService', 'toaster'];\r\n\r\n function ReferralSearchController($stateParams, $modalInstance, SurveysService, toaster) {\r\n var vm = this;\r\n\r\n vm.SearchReferrals = SearchReferrals;\r\n vm.ReferralSelect = ReferralSelect;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.IsArchived = $stateParams.IsArchived;\r\n vm.IsCaseClosed = $stateParams.IsCaseClosed;\r\n vm.SearchTerm = \"\";\r\n }\r\n\r\n function SearchReferrals() {\r\n if(vm.SearchTerm.length < 3) {\r\n toaster.pop('warning',\"Search failed!\", \"Please enter a search term with at least 3 characters\");\r\n return;\r\n }\r\n\r\n vm.loading = true;\r\n SurveysService\r\n .SearchReferrals(vm.SearchTerm, vm.IsArchived, vm.IsCaseClosed)\r\n .then(function(data) {\r\n vm.ReferralsWithInfo = data;\r\n vm.ClientID = $stateParams.ID;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function ReferralSelect(ReferralID, HideFirstMeeting, ShowFinalDischarge) {\r\n var referralInfo = {\r\n referralID: ReferralID,\r\n hideFirstMeeting: HideFirstMeeting,\r\n showFinalDischarge: ShowFinalDischarge\r\n };\r\n $modalInstance.close(referralInfo);\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ReferralsDashboardController', ReferralsDashboardController);\r\n\r\n ReferralsDashboardController.$inject = ['$stateParams', '$state', 'SurveysService', 'ReferralsModals', 'AuthService'];\r\n\r\n function ReferralsDashboardController($stateParams, $state, SurveysService, ReferralsModals, AuthService) {\r\n var vm = this;\r\n\r\n vm.LoadReferrals = LoadReferrals;\r\n vm.SearchReferralsModal = SearchReferralsModal;\r\n vm.CloseCase = CloseCase;\r\n vm.ImportReferralsModal = ImportReferralsModal;\r\n vm.setIndicator = setIndicator;\r\n vm.filter = \"all\";\r\n // vm.DeleteReferral = DeleteReferral;\r\n\r\n vm.PhysioTypes = [];\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.PhysioTypes.push({\r\n id: {},\r\n label: \"-- Any --\"\r\n });\r\n vm.PhysioTypes.push({\r\n id: false,\r\n label: \"Internal\"\r\n });\r\n vm.PhysioTypes.push({\r\n id: true,\r\n label: \"External\"\r\n });\r\n\r\n vm.IsArchived = $stateParams.IsArchived;\r\n vm.IsCaseClosed = $stateParams.IsCaseClosed;\r\n vm.Role = AuthService.Roles[0];\r\n vm.PhoneTriage = vm.Role == \"PHYSIO\" ? true : false;\r\n vm.FirstMeeting = false;\r\n vm.Discharge = false;\r\n SurveysService._ClientID = $stateParams.ID;\r\n vm.PhysioType = {};\r\n vm.LoadReferrals();\r\n }\r\n\r\n function LoadReferrals() {\r\n vm.loading = true;\r\n\r\n switch(vm.filter) {\r\n case \"pt\":\r\n vm.PhoneTriage = 0;\r\n vm.FirstMeeting = -1;\r\n vm.Discharge = -1;\r\n break;\r\n case \"fm\":\r\n vm.PhoneTriage = -1;\r\n vm.FirstMeeting = 0;\r\n vm.Discharge = -1;\r\n break;\r\n case \"dc\":\r\n vm.PhoneTriage = -1;\r\n vm.FirstMeeting = -1;\r\n vm.Discharge = 0;\r\n break;\r\n default:\r\n vm.PhoneTriage = -1;\r\n vm.FirstMeeting = -1;\r\n vm.Discharge = -1;\r\n break;\r\n }\r\n\r\n SurveysService\r\n .GetReferrals(vm.PhoneTriage, vm.FirstMeeting, vm.Discharge, vm.IsArchived, vm.IsCaseClosed, vm.PhysioType)\r\n .then(function(data) {\r\n vm.ReferralsWithInfo = data;\r\n vm.ClientID = $stateParams.ID;\r\n _.each(vm.ReferralsWithInfo, function(ref){ ref.backgroundStyle = ref.ColorIndicator!=null?{'background-color':ref.ColorIndicator}:{} }) ; \r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function SearchReferralsModal() {\r\n ReferralsModals.SearchReferrals()\r\n .then(function(referralInfo) {\r\n if(!_.isUndefined(referralInfo) && !_.isUndefined(referralInfo.referralID)) {\r\n $state.go(\"admin.clients.client.survey.referral\", {\r\n ReferralID: referralInfo.referralID,\r\n HideFirstMeeting: referralInfo.hideFirstMeeting,\r\n IsArchived: vm.IsArchived,\r\n ShowFinalDischarge: referralInfo.showFinalDischarge,\r\n IsCaseClosed: vm.IsCaseClosed\r\n });\r\n }\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function CloseCase(_referralID) {\r\n ReferralsModals.CloseCase({\r\n ReferralID: _referralID\r\n })\r\n .then(function() {\r\n vm.LoadReferrals();\r\n });\r\n }\r\n\r\n function ImportReferralsModal() {\r\n ReferralsModals.ImportReferrals()\r\n .then(function(importedReferralsInfo) {\r\n vm.LoadReferrals();\r\n });\r\n }\r\n\r\n function setIndicator(Referral) {\r\n SurveysService.SetReferralIndicator(Referral.ReferralID,Referral.ColorIndicator);\r\n console.log('refColor',Referral.ColorIndicator);\r\n Referral.backgroundStyle = Referral.ColorIndicator!=null?{'background-color':Referral.ColorIndicator}:{} \r\n }\r\n\r\n // function DeleteReferral(ReferralID) {\r\n // vm.loading = true;\r\n // SurveysService\r\n // .DeleteReferral(ReferralID)\r\n // .then(function(response) {\r\n // vm.loading = false;\r\n // vm.LoadReferrals();\r\n // });\r\n // }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('CloseCaseController', CloseCaseController);\r\n\r\n CloseCaseController.$inject = ['$stateParams', '$modalInstance', 'SurveysService', 'toaster', 'ModalParams', 'ClosedWithoutReachingMinimumAppointmentsReason'];\r\n\r\n function CloseCaseController($stateParams, $modalInstance, SurveysService, toaster, ModalParams, ClosedWithoutReachingMinimumAppointmentsReason) {\r\n var vm = this;\r\n\r\n vm.ClosedWithoutReachingMinimumAppointmentsReason = ClosedWithoutReachingMinimumAppointmentsReason;\r\n vm.Submit = Submit;\r\n vm.CustomFilter = CustomFilter;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetReferralWithAppointmentCount(ModalParams.ReferralID)\r\n .then(function(referral) {\r\n referral = referral.data;\r\n vm.Referral = referral.Referral;\r\n vm.Referral.IsCaseClosed = true;\r\n\r\n vm.CanDischargeOrCloseCase = referral.CanDischargeOrCloseCase;\r\n vm.ValidDischargeWithPainScoreForFullRecovery = referral.ValidDischargeWithPainScoreForFullRecovery;\r\n vm.DisplayMessageForValidDischargeWithPainScoreForFullRecovery = vm.ValidDischargeWithPainScoreForFullRecovery && vm.Referral.ClosedWithoutReachingMinimumAppointmentsReason === 'HAS_MADE_EXCELLENT_PROGRESS_AND_CAN_SELF_MANAGE';\r\n vm.CanSubmit = vm.CanDischargeOrCloseCase;\r\n\r\n var minimumAppointmentsToDischarge = APP.Client.Extra.MinimumAppointmentsToDischarge !== null ? APP.Client.Extra.MinimumAppointmentsToDischarge : 0;\r\n vm.Referral.ClosedWithoutReachingMinimumAppointments = referral.AppointmentCount < minimumAppointmentsToDischarge && minimumAppointmentsToDischarge > 0 ? true : false;\r\n vm.HasAppointmentReason = null; // afto mporei na xreiastei na allaksei giati tora panta tou dino th dynatothta na allaksei afto pou epelekse apo to discharge\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n // TODO: NA GINEI ENA SERVICE\r\n function CustomFilter() {\r\n // afora to pain recovery kai an epileksei to excellent progress\r\n if(!vm.ValidDischargeWithPainScoreForFullRecovery && vm.Referral.ClosedWithoutReachingMinimumAppointmentsReason === 'HAS_MADE_EXCELLENT_PROGRESS_AND_CAN_SELF_MANAGE') {\r\n vm.CanSubmit = false;\r\n vm.DisplayMessageForValidDischargeWithPainScoreForFullRecovery = true;\r\n }\r\n else {\r\n vm.CanSubmit = true;\r\n vm.DisplayMessageForValidDischargeWithPainScoreForFullRecovery = false;\r\n }\r\n }\r\n\r\n function Submit() {\r\n vm.Referral.CaseClosedComment = vm.CaseClosedComment;\r\n SurveysService\r\n .SubmitReferral(vm.Referral)\r\n .then(function(referral) {\r\n toaster.pop('success',\"Case was closed.\", \"Case Closed!\");\r\n $modalInstance.close(referral);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ReferralsCalendarController', ReferralsCalendarController);\r\n\r\n ReferralsCalendarController.$inject = ['$state', '$stateParams','SurveysService', 'AuthService'];\r\n\r\n function ReferralsCalendarController($state, $stateParams, SurveysService, AuthService) {\r\n var vm = this;\r\n\r\n vm.LoadCalendar = LoadCalendar;\r\n\r\n activate();\r\n\r\n function activate() {\r\n SurveysService._ClientID = $stateParams.ID;\r\n vm.LoadCalendar();\r\n }\r\n\r\n function LoadCalendar() {\r\n vm.CalendarOptions = SurveysService.CalendarOptions({\r\n loading: function(isLoading) {\r\n vm.loading_calendar = isLoading;\r\n }\r\n });\r\n\r\n vm.CalendarSources = [{\r\n // currentTimezone: APP.Client.System.Timezone,\r\n events: function(start, end, timezone, callback) {\r\n SurveysService\r\n .GetCalendarEvents({\r\n From: start.toISOString(),\r\n To: end.toISOString()\r\n })\r\n .then(function(appointments) {\r\n appointments = appointments.data;\r\n if (appointments.length) {\r\n vm.Appointments = appointments;\r\n callback(appointments);\r\n }\r\n vm.loading_calendar = false;\r\n }, function(error) {\r\n vm.loading_calendar = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n }];\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('AuditSettingsController', AuditSettingsController);\r\n\r\n AuditSettingsController.$inject = ['$state', '$stateParams','ClientsService', 'ModalParams', 'toaster', '$modalInstance'];\r\n\r\n function AuditSettingsController($state, $stateParams, ClientsService, ModalParams, toaster, $modalInstance) {\r\n var vm = this;\r\n\r\n vm.Save = Save;\r\n\r\n activate();\r\n\r\n function activate() {\r\n ClientsService._ClientID = $stateParams.ID;\r\n vm.AuditNumber = ModalParams.AuditNumber;\r\n vm.CommaSeperatedEmails = ModalParams.CommaSeperatedEmails;\r\n }\r\n\r\n function Save() {\r\n vm.loading = true;\r\n ClientsService\r\n .SaveConfiguration({\r\n \"Audit.AuditNumber\": vm.AuditNumber,\r\n \"Audit.CommaSeperatedEmails\": vm.CommaSeperatedEmails\r\n }, false)\r\n .then(function() {\r\n vm.loading = false;\r\n\r\n APP.Client.Audit.AuditNumber = vm.AuditNumber;\r\n APP.Client.Audit.CommaSeperatedEmails = vm.CommaSeperatedEmails;\r\n\r\n toaster.pop('success',\"Terms of Use were saved.\", \"Saved!\");\r\n $modalInstance.close();\r\n });\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('NewAuditController', NewAuditController);\r\n\r\n NewAuditController.$inject = ['$state', '$stateParams', 'toaster', '$modalInstance', 'AuditsService'];\r\n\r\n function NewAuditController($state, $stateParams, toaster, $modalInstance, AuditsService) {\r\n var vm = this;\r\n\r\n vm.Save = Save;\r\n\r\n activate();\r\n\r\n function activate() {\r\n\r\n }\r\n\r\n function Save() {\r\n var _response;\r\n vm.loading = true;\r\n AuditsService\r\n .createAudit()\r\n .then(function(response) {\r\n vm.loading = false;\r\n toaster.pop('success', \"Saved!\", \"New audit was created successfully.\");\r\n $modalInstance.close();\r\n }, function(responseFail) {\r\n toaster.pop('warning', \"Not Saved!\", responseFail.data.Message);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('AuditsController', AuditsController);\r\n\r\n AuditsController.$inject = ['$state', '$stateParams','SurveysService', 'AuditsService', 'ReferralsModals'];\r\n\r\n function AuditsController($state, $stateParams, SurveysService, AuditsService, ReferralsModals) {\r\n var vm = this;\r\n\r\n vm.LoadAudits = LoadAudits;\r\n vm.NewAuditModal = NewAuditModal;\r\n vm.AuditSettingsModal = AuditSettingsModal;\r\n\r\n activate();\r\n\r\n function activate() {\r\n SurveysService._ClientID = $stateParams.ID;\r\n vm.LoadAudits();\r\n }\r\n\r\n function LoadAudits() {\r\n vm.loading = true;\r\n AuditsService\r\n .getAudits()\r\n .then(function(Audits) {\r\n vm.Audits = Audits;\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function AuditSettingsModal() {\r\n ReferralsModals.AuditSettings({\r\n AuditNumber: APP.Client.Audit.AuditNumber,\r\n CommaSeperatedEmails: APP.Client.Audit.CommaSeperatedEmails\r\n })\r\n .then(function() {\r\n activate();\r\n });\r\n }\r\n\r\n function NewAuditModal() {\r\n ReferralsModals.NewAudit()\r\n .then(function() {\r\n activate();\r\n });\r\n }\r\n }\r\n})();\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .factory('AuditsService', AuditsService);\r\n\r\n AuditsService.$inject = ['$q', '$http', '$filter', '$cookies', 'SurveysService'];\r\n\r\n function AuditsService($q, $http, $filter, $cookies, SurveysService) {\r\n\r\n var service = {\r\n getAudits: getAudits,\r\n createAudit: createAudit\r\n };\r\n\r\n return service;\r\n\r\n function getAudits() {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/audits/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl'))\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/audits\")\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function createAudit() {\r\n return $http\r\n .post(APP.Service + '/audits/createaudit?CID=' + SurveysService._ClientID + '&rl=' + $cookies.get('rl'))\r\n .then(function(results) {\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ReferralsAppointmentsController', ReferralsAppointmentsController);\r\n\r\n ReferralsAppointmentsController.$inject = ['$scope', '$stateParams','EnumsService', 'AuthService', 'SurveysService', 'toaster', 'AttendStatus', 'ReferralType', 'Gender', 'WorkStatus', 'AppointmentType', 'ReferralsModals'];\r\n\r\n function ReferralsAppointmentsController($scope, $stateParams,EnumsService, AuthService, SurveysService, toaster, AttendStatus, ReferralType, Gender, WorkStatus, AppointmentType, ReferralsModals) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.AttendStatus = AttendStatus;\r\n vm.Gender = Gender;\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType);\r\n vm.WorkStatus = EnumsService.GetClientEnum(WorkStatus);\r\n vm.AppointmentType = EnumsService.GetClientEnum(AppointmentType);\r\n\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadAppointments = LoadAppointments;\r\n\r\n vm.AppointmentModal = AppointmentModal;\r\n vm.DeleteAppointment = DeleteAppointment;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.Role = AuthService.Roles[0];\r\n\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"appointments\", true)\r\n .then(function(CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.CustomQuestionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n vm.Questionnaire = JSON.parse(CustomAndReferralSurvey.ReferralSurvey.Configuration);\r\n // vm.Questionnaire = SurveysService.DisableSurveyQuestions(vm.Questionnaire);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the survey\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadAppointments();\r\n });\r\n }\r\n\r\n function LoadAppointments() {\r\n vm.AppointmentTime = null;\r\n vm.Appointment = {};\r\n vm.Appointment.ReferralID = $stateParams.ReferralID;\r\n vm.Appointment.AppointmentDate = new Date();\r\n\r\n vm.AppointmentsList = [];\r\n\r\n SurveysService\r\n .GetAppointmentByReferralId($stateParams.ReferralID, false)\r\n .then(function(appointmentWithInfo) {\r\n appointmentWithInfo = appointmentWithInfo.data;\r\n vm.Referral = SurveysService.SetupReferralInfo(appointmentWithInfo.Referral);\r\n\r\n // ean einai null den theloume na spasei h lista pou ftiaksame tin arxh\r\n if(appointmentWithInfo.Appointments !== null) {\r\n vm.AppointmentsList = appointmentWithInfo.Appointments;\r\n }\r\n \r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function AppointmentModal(Appointment) {\r\n ReferralsModals.Appointment({\r\n Appointment: Appointment,\r\n CustomQuestionnaire: vm.CustomQuestionnaire,\r\n ReferralID: $stateParams.ReferralID\r\n })\r\n .then(function() {\r\n vm.loading = true;\r\n vm.LoadAppointments();\r\n });\r\n }\r\n\r\n function DeleteAppointment(AppointmentID) {\r\n vm.loading = true;\r\n SurveysService\r\n .DeleteAppointment(AppointmentID)\r\n .then(function(response) {\r\n vm.loading = false;\r\n vm.LoadAppointments();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not delete the data\", error.statusText);\r\n });\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('AppointmentController', AppointmentController);\r\n\r\n AppointmentController.$inject = ['$stateParams', '$modalInstance','EnumsService', 'SurveysService', 'toaster', 'AttendStatus', 'AppointmentType', 'ModalParams'];\r\n\r\n function AppointmentController($stateParams, $modalInstance,EnumsService, SurveysService, toaster, AttendStatus, AppointmentType, ModalParams) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.AttendStatus = AttendStatus;\r\n vm.AppointmentType = EnumsService.GetClientEnum(AppointmentType); \r\n\r\n vm.LoadAppointment = LoadAppointment;\r\n\r\n vm.Submit = Submit;\r\n\r\n activate();\r\n\r\n function activate() {\r\n if(APP.Client.Appointment.Times.constructor === Array) {\r\n // epeidi einai string thn ora pou to eftiaxna paizei to else, alla ean meta dosoume diaxeirish kai apothikevei sosta array de thelo na spasei to project\r\n }\r\n else {\r\n var times = JSON.parse(\"[\" + APP.Client.Appointment.Times + \"]\");\r\n vm.Times = times[0];\r\n }\r\n\r\n vm.CustomQuestionnaire = ModalParams.CustomQuestionnaire;\r\n\r\n if(ModalParams.Appointment) {\r\n vm.LoadAppointment(ModalParams.Appointment);\r\n }\r\n else {\r\n vm.Appointment = {};\r\n vm.Appointment.ReferralID = ModalParams.ReferralID;\r\n vm.Appointment.AppointmentDate = new Date();\r\n }\r\n }\r\n\r\n function LoadAppointment(Appointment) {\r\n var hour = ('0' + moment.utc(Appointment.AppointmentDate).get(\"hour\")).slice(-2);\r\n var minutes = ('0' + moment.utc(Appointment.AppointmentDate).get(\"minutes\")).slice(-2);\r\n vm.AppointmentTime = hour + \":\" + minutes;\r\n vm.Appointment = ModalParams.Appointment;\r\n }\r\n\r\n function Submit() {\r\n var appointmentDate = moment(vm.Appointment.AppointmentDate);\r\n\r\n vm.Appointment.AppointmentDate = moment.utc({\r\n year: appointmentDate.year(),\r\n month: appointmentDate.month(),\r\n day: appointmentDate.date()\r\n })\r\n .add(moment(vm.AppointmentTime, \"HH:mm\").hours(), 'h')\r\n .add(moment(vm.AppointmentTime, \"HH:mm\").minutes(), 'm')\r\n .toISOString();\r\n // .toISOString();\r\n\r\n // vm.Appointment.AppointmentDate = moment(vm.Appointment.AppointmentDate)\r\n // .add(moment(vm.AppointmentTime, \"HH:mm\").hours(), 'h')\r\n // .add(moment(vm.AppointmentTime, \"HH:mm\").minutes(), 'm');\r\n\r\n SurveysService\r\n .SubmitAppointment(vm.Appointment)\r\n .then(function(appointment) {\r\n toaster.pop('success',\"Appointment was saved.\", \"Saved!\");\r\n $modalInstance.close(appointment);\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientTosFormController', ClientTosFormController);\r\n\r\n ClientTosFormController.$inject = ['ModalParams', '$modalInstance', 'ClientsService', 'toaster'];\r\n\r\n function ClientTosFormController(ModalParams, $modalInstance, ClientsService, toaster) {\r\n var vm = this;\r\n\r\n vm.Save = Save;\r\n vm.loading = false;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Tos = ModalParams.Tos;\r\n }\r\n\r\n function Save() {\r\n vm.loading = true;\r\n\r\n ClientsService\r\n .SaveConfiguration({\r\n \"Company.Tos\": vm.Tos\r\n }, false)\r\n .then(function() {\r\n vm.loading = false;\r\n\r\n toaster.pop('success',\"Terms of Use were saved.\", \"Saved!\");\r\n $modalInstance.close();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n }\r\n}());\r\n"," (function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientThemeFormController', ClientThemeFormController);\r\n\r\n ClientThemeFormController.$inject = ['ModalParams', '$modalInstance', 'ClientsService', 'toaster'];\r\n\r\n function ClientThemeFormController(ModalParams, $modalInstance, ClientsService, toaster) {\r\n var vm = this;\r\n\r\n vm.Save = Save;\r\n vm.SaveWithLogo = SaveWithLogo;\r\n vm.SimpleSave = SimpleSave;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Theme = ModalParams.Theme;\r\n vm.PortalRedirectTo = ModalParams.PortalRedirectTo;\r\n vm.PortalRedirectToMessage = ModalParams.PortalRedirectToMessage;\r\n vm.PortalRedirectToCounter = ModalParams.PortalRedirectToCounter;\r\n vm.Theme.ColorScheme = JSON.parse(ModalParams.Theme.ColorScheme);\r\n }\r\n\r\n function Save() {\r\n vm.loading = true;\r\n\r\n if(vm.File) {\r\n vm.SaveWithLogo();\r\n }\r\n else {\r\n vm.SimpleSave();\r\n }\r\n }\r\n\r\n function SaveWithLogo() {\r\n if(vm.File) {\r\n ClientsService\r\n .UploadFile({\r\n File: vm.File\r\n })\r\n .then(function(_logo) {\r\n vm.Theme.Logo = _logo;\r\n vm.SimpleSave();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not upload the logo\", error.statusText);\r\n });\r\n }\r\n }\r\n\r\n function SimpleSave() {\r\n var _data = {};\r\n\r\n _.mapObject(vm.Theme, function(val, key) {\r\n _data[\"Theme.\" + key] = val;\r\n });\r\n\r\n _data[\"Theme.ColorScheme\"] = JSON.stringify(_data[\"Theme.ColorScheme\"]);\r\n\r\n _data[\"Extra.PortalRedirectTo\"] = vm.PortalRedirectTo;\r\n _data[\"Extra.PortalRedirectToMessage\"] = vm.PortalRedirectToMessage;\r\n _data[\"Extra.PortalRedirectToCounter\"] = vm.PortalRedirectToCounter;\r\n\r\n ClientsService\r\n .SaveConfiguration(_data)\r\n .then(function(response) {\r\n vm.loading = false;\r\n\r\n toaster.pop('success',\"Theme details were saved.\", \"Saved!\");\r\n $modalInstance.close();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n }\r\n }());\r\n"," (function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientPdfFormController', ClientPdfFormController);\r\n\r\n ClientPdfFormController.$inject = ['ModalParams', '$modalInstance', 'ClientsService', 'toaster'];\r\n\r\n function ClientPdfFormController(ModalParams, $modalInstance, ClientsService, toaster) {\r\n var vm = this;\r\n\r\n vm.Save = Save;\r\n vm.SaveWithLogo = SaveWithLogo;\r\n vm.SimpleSave = SimpleSave;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Pdf = ModalParams.Pdf;\r\n }\r\n\r\n function Save() {\r\n vm.loading = true;\r\n\r\n if(vm.File) {\r\n vm.SaveWithLogo();\r\n }\r\n else {\r\n vm.SimpleSave();\r\n }\r\n }\r\n\r\n function SaveWithLogo() {\r\n if(vm.File) {\r\n ClientsService\r\n .UploadFile({\r\n File: vm.File\r\n })\r\n .then(function(_logo) {\r\n vm.Pdf.CompanyLogo = _logo;\r\n vm.SimpleSave();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not upload the logo\", error.statusText);\r\n });\r\n }\r\n }\r\n\r\n function SimpleSave() {\r\n var _data = {};\r\n\r\n _.mapObject(vm.Pdf, function(val, key) {\r\n _data[\"Pdf.\" + key] = val;\r\n });\r\n\r\n ClientsService\r\n .SaveConfiguration(_data)\r\n .then(function(response) {\r\n vm.loading = false;\r\n\r\n toaster.pop('success',\"Pdf details were saved.\", \"Saved!\");\r\n $modalInstance.close();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n }\r\n }());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientLocalizationFormController', ClientLocalizationFormController);\r\n\r\n ClientLocalizationFormController.$inject = ['ModalParams', '$modalInstance', 'ClientsService', 'toaster', 'LocalesConstant', 'TimezonesConstant'];\r\n\r\n function ClientLocalizationFormController(ModalParams, $modalInstance, ClientsService, toaster, LocalesConstant, TimezonesConstant) {\r\n var vm = this;\r\n vm.Locales = LocalesConstant;\r\n vm.Timezones = TimezonesConstant;\r\n vm.Save = Save;\r\n vm.loading = false;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Locale = ModalParams.Locale;\r\n vm.Timezone = ModalParams.Timezone;\r\n }\r\n\r\n function Save() {\r\n vm.loading = true;\r\n\r\n ClientsService\r\n .SaveConfiguration({\r\n \"System.Language\": vm.Language,\r\n \"System.Locale\": vm.Locale,\r\n \"System.Timezone\": vm.Timezone\r\n })\r\n .then(function() {\r\n vm.loading = false;\r\n\r\n toaster.pop('success',\"Localization were saved.\", \"Saved!\");\r\n $modalInstance.close();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n }\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .constant('LocalesConstant', [{\r\n Code: \"el-gr\",\r\n Name: \"Greek / Greece\",\r\n }, {\r\n Code: \"en-gb\",\r\n Name: \"English / Great Britain\",\r\n }])\r\n .constant('TimezonesConstant', [\r\n \"Europe/Athens\"\r\n ]);\r\n\r\n}());\r\n"," (function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientExrasFormController', ClientExrasFormController);\r\n\r\n ClientExrasFormController.$inject = ['ModalParams', '$modalInstance', 'ClientsService', 'toaster', '$filter'];\r\n\r\n function ClientExrasFormController(ModalParams, $modalInstance, ClientsService, toaster, $filter) {\r\n var vm = this;\r\n\r\n vm.Save = Save;\r\n vm.loading = false;\r\n // vm.stripFormat = stripFormat;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.MinimumAppointmentsToDischarge = ModalParams.MinimumAppointmentsToDischarge;\r\n // vm.PortalRedirectTo = ModalParams.PortalRedirectTo;\r\n // vm.PortalRedirectToMessage = ModalParams.PortalRedirectToMessage;\r\n // vm.PortalRedirectToCounter = ModalParams.PortalRedirectToCounter;\r\n }\r\n\r\n function Save() {\r\n vm.loading = true;\r\n\r\n ClientsService\r\n .SaveConfiguration({\r\n \"Extra.MinimumAppointmentsToDischarge\": vm.MinimumAppointmentsToDischarge,\r\n // \"Extra.PortalRedirectTo\": vm.PortalRedirectTo,\r\n // \"Extra.PortalRedirectToMessage\": vm.PortalRedirectToMessage,\r\n // \"Extra.PortalRedirectToCounter\": vm.PortalRedirectToCounter\r\n })\r\n .then(function() {\r\n vm.loading = false;\r\n\r\n toaster.pop('success',\"Extra Configuration was saved.\", \"Saved!\");\r\n $modalInstance.close();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n // function stripFormat(html) {\r\n // return $filter('htmlToPlaintext')(html);\r\n // }\r\n }\r\n }());\r\n"," (function() {\r\n 'use strict';\r\n \r\n angular\r\n .module('app.admin.clients')\r\n .controller('EmailByConditionTypeFormController', EmailByConditionTypeFormController);\r\n\r\n EmailByConditionTypeFormController.$inject = ['ModalParams', '$modalInstance', 'ClientsService','ConditionType', 'toaster', '$filter'];\r\n\r\n function EmailByConditionTypeFormController(ModalParams, $modalInstance, ClientsService, ConditionType, toaster, $filter) {\r\n var vm = this;\r\n\r\n vm.Save = Save;\r\n vm.loading = false;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.ConditionTypes = ConditionType;\r\n vm.conditionTypeEmails = ModalParams.ConditionTypeMails!=''? JSON.parse(ModalParams.ConditionTypeMails):{};\r\n }\r\n\r\n function Save() {\r\n vm.loading = true;\r\n ClientsService\r\n .SaveConfiguration({\r\n \"ConditionTypeMails.data\": JSON.stringify(vm.conditionTypeEmails)\r\n })\r\n .then(function() {\r\n vm.loading = false;\r\n\r\n toaster.pop('success',\"Extra Configuration was saved.\", \"Saved!\");\r\n $modalInstance.close();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n }\r\n }());\r\n"," (function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientDisclaimerFormController', ClientDisclaimerFormController);\r\n\r\n ClientDisclaimerFormController.$inject = ['ModalParams', '$modalInstance', 'ClientsService', 'toaster'];\r\n\r\n function ClientDisclaimerFormController(ModalParams, $modalInstance, ClientsService, toaster) {\r\n var vm = this;\r\n\r\n vm.Save = Save;\r\n vm.loading = false;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Disclaimer = ModalParams.Disclaimer;\r\n }\r\n\r\n function Save() {\r\n vm.loading = true;\r\n\r\n ClientsService\r\n .SaveConfiguration({\r\n \"Company.Disclaimer\": vm.Disclaimer\r\n })\r\n .then(function() {\r\n vm.loading = false;\r\n\r\n toaster.pop('success',\"Disclaimer was saved.\", \"Saved!\");\r\n $modalInstance.close();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n }\r\n }());\r\n"," (function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientAppointmentTypeCostController', ClientAppointmentTypeCostController);\r\n\r\n ClientAppointmentTypeCostController.$inject = ['ModalParams', '$modalInstance','EnumsService', '$stateParams' , 'SurveysService', 'toaster', 'AppointmentType'];\r\n\r\n function ClientAppointmentTypeCostController(ModalParams, $modalInstance,EnumsService, $stateParams, SurveysService, toaster, AppointmentType) {\r\n var vm = this;\r\n\r\n vm.Save = Save;\r\n vm.AppointmentTypeCosts = {};\r\n\r\n activate();\r\n\r\n function activate() {\r\n SurveysService._ClientID = $stateParams.ID;\r\n\r\n vm.AppointmentTypes = EnumsService.GetClientEnum(AppointmentType); \r\n\r\n vm.loading = true;\r\n SurveysService\r\n .GetAppointmentTypeCosts()\r\n .then(function(result) {\r\n result = result.data;\r\n _.each(result, function(appointmentTypeCost) {\r\n vm.AppointmentTypeCosts[appointmentTypeCost.AppointmentType] = appointmentTypeCost;\r\n });\r\n\r\n vm.loading = false;π\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function Save() {\r\n vm.loading = true;\r\n\r\n var appointmentTypeCosts = [];\r\n _.each(vm.AppointmentTypeCosts, function(appointmentTypeCost,Key) {\r\n if(_.isUndefined(appointmentTypeCost.AppointmentType))\r\n {\r\n appointmentTypeCost.AppointmentType = Key;\r\n }\r\n appointmentTypeCosts.push(appointmentTypeCost);\r\n });\r\n\r\n //console.log(appointmentTypeCosts);\r\n SurveysService\r\n .SaveAppointmentTypeCosts(appointmentTypeCosts)\r\n .then(function(result) {\r\n vm.loading = false;\r\n\r\n toaster.pop('success',\"Appointment type costs saved.\", \"Saved!\");\r\n $modalInstance.close();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n }\r\n }());\r\n"," (function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientCompanyFormController', ClientCompanyFormController);\r\n\r\n ClientCompanyFormController.$inject = ['ModalParams', '$modalInstance', 'ClientsService', 'toaster'];\r\n\r\n function ClientCompanyFormController(ModalParams, $modalInstance, ClientsService, toaster) {\r\n var vm = this;\r\n\r\n vm.Save = Save;\r\n vm.SaveWithLogo = SaveWithLogo;\r\n vm.SimpleSave = SimpleSave;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Company = ModalParams.Company;\r\n }\r\n\r\n function Save() {\r\n vm.loading = true;\r\n\r\n if(vm.File) {\r\n vm.SaveWithLogo();\r\n }\r\n else {\r\n vm.SimpleSave();\r\n }\r\n }\r\n\r\n function SaveWithLogo() {\r\n ClientsService\r\n .UploadFile({\r\n File: vm.File\r\n })\r\n .then(function(_logo) {\r\n vm.Company.Logo = _logo;\r\n vm.SimpleSave();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not upload the logo\", error.statusText);\r\n });\r\n }\r\n\r\n function SimpleSave() {\r\n var _data = {};\r\n\r\n vm.Company.ExtraSessionEmails = vm.Company.ExtraSessionEmails.replace(/[\\s]/g, '');\r\n vm.Company.ExtraSessionResponseEmails = vm.Company.ExtraSessionResponseEmails.replace(/[\\s]/g, '');\r\n vm.Company.ExtraNewReferralEmails = vm.Company.ExtraNewReferralEmails.replace(/[\\s]/g, '');\r\n\r\n _.mapObject(vm.Company, function(val, key) {\r\n _data[\"Company.\" + key] = val;\r\n });\r\n\r\n ClientsService\r\n .SaveConfiguration(_data)\r\n .then(function(_config) {\r\n\r\n ClientsService\r\n .GetClient(ClientsService._ClientID)\r\n .then(function(_client) {\r\n\r\n _client.CompanyName = vm.Company.Name;\r\n _client.Contact = {\r\n Name: vm.Company.Person,\r\n Email: vm.Company.Email\r\n };\r\n\r\n ClientsService\r\n .SaveClient(_client)\r\n .then(function(response) {\r\n vm.loading = false;\r\n\r\n toaster.pop('success',\"Company details were saved.\", \"Saved!\");\r\n $modalInstance.close();\r\n });\r\n\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n\r\n });\r\n }\r\n }\r\n }());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .factory('SurveysService', SurveysService);\r\n\r\n SurveysService.$inject = ['$data', '$http', '$state', '$cookies', 'CalendarLanguages', 'Upload'];\r\n\r\n function SurveysService($data, $http, $state, $cookies, CalendarLanguages, Upload) {\r\n var service = {\r\n _ClientID: null,\r\n\r\n GetSurveys: GetSurveys,\r\n GetSurveyById: GetSurveyById,\r\n GetSurveyByCode: GetSurveyByCode,\r\n GetAnonymousSurvey: GetAnonymousSurvey,\r\n GetSurveyByRole: GetSurveyByRole,\r\n SaveSurvey: SaveSurvey,\r\n SaveSurveys: SaveSurveys,\r\n\r\n GetReferrals: GetReferrals,\r\n SearchReferrals: SearchReferrals,\r\n GetReferral: GetReferral,\r\n GetReferralWithAppointmentCount: GetReferralWithAppointmentCount,\r\n GetReferralWithInfo:GetReferralWithInfo,\r\n SubmitReferral: SubmitReferral,\r\n DeleteReferral: DeleteReferral,\r\n SetReferralIndicator:SetReferralIndicator,\r\n SetReferralManagerIndicator:SetReferralManagerIndicator,\r\n MessagesSend: MessagesSend,\r\n ImportReferrals: ImportReferrals,\r\n\r\n GetPhoneTriageByReferralId: GetPhoneTriageByReferralId,\r\n SubmitPhoneTriage: SubmitPhoneTriage,\r\n\r\n GetFirstMeetingByReferralId: GetFirstMeetingByReferralId,\r\n SubmitFirstMeeting: SubmitFirstMeeting,\r\n\r\n GetDischargeByReferralId: GetDischargeByReferralId,\r\n SubmitDischarge: SubmitDischarge,\r\n SubmitExtraSession: SubmitExtraSession,\r\n\r\n GetManagerNoteByReferralId: GetManagerNoteByReferralId,\r\n SubmitManagerNote: SubmitManagerNote,\r\n\r\n GetAppointmentByReferralId: GetAppointmentByReferralId,\r\n SubmitAppointment: SubmitAppointment,\r\n DeleteAppointment: DeleteAppointment,\r\n\r\n GetAppointmentTypeCosts: GetAppointmentTypeCosts,\r\n SaveAppointmentTypeCosts: SaveAppointmentTypeCosts,\r\n\r\n CalendarOptions: CalendarOptions,\r\n CalendarEventClickCallback: CalendarEventClickCallback,\r\n GetCalendarEvents: GetCalendarEvents,\r\n\r\n DisableSurveyQuestions: DisableSurveyQuestions,\r\n SetupReferralInfo: SetupReferralInfo,\r\n GetSurveyQuestions: GetSurveyQuestions,\r\n ManageSurveyComponentsForView: ManageSurveyComponentsForView,\r\n\r\n GetIllnesses: GetIllnesses,\r\n\r\n GetImageItems: GetImageItems,\r\n GetImageItemById: GetImageItemById,\r\n SaveImageItem: SaveImageItem,\r\n DeleteImageItem: DeleteImageItem,\r\n\r\n GetPortalManagers: GetPortalManagers,\r\n GetPortalManagerById: GetPortalManagerById,\r\n SavePortalManager: SavePortalManager,\r\n DeletePortalManager: DeletePortalManager,\r\n\r\n GetOcupHealthNurseList: GetOcupHealthNurseList,\r\n\r\n GetExerciseByReferralID: GetExerciseByReferralID,\r\n SubmitExercise: SubmitExercise,\r\n DeleteExercise: DeleteExercise,\r\n\r\n GetClientManagers: GetClientManagers,\r\n };\r\n\r\n return service;\r\n\r\n // Surveys\r\n function GetSurveys(IsCustom) {\r\n return $data\r\n .list(\"surveys\", {\r\n IsCustom: IsCustom,\r\n CID: service._ClientID,\r\n rl: $cookies.get('rl'),\r\n });\r\n }\r\n\r\n function GetSurveyById(SurveyID) {\r\n return $data\r\n .get(\"surveys\", {\r\n ID: SurveyID,\r\n CID: service._ClientID,\r\n rl: $cookies.get('rl'),\r\n });\r\n }\r\n\r\n function GetSurveyByCode(SurveyCode, IsCustom) {\r\n return $data\r\n .get(\"surveys\", {\r\n Code: SurveyCode,\r\n IsCustom: IsCustom,\r\n CID: service._ClientID,\r\n rl: $cookies.get('rl'),\r\n });\r\n }\r\n\r\n // xrhsimopoieitai otan kaloume to survey apo to portal\r\n function GetAnonymousSurvey() {\r\n return $http.get(APP.Service + '/surveys/portal');\r\n }\r\n\r\n // xrhsimopoietai otan kaloume survey sto admin gia na epeksergastoume ta components tou\r\n function GetSurveyByRole(SurveyCode, IsCustom, RoleType) {\r\n return $data\r\n .get(\"surveys\", {\r\n Code: SurveyCode,\r\n IsCustom: IsCustom,\r\n Role: RoleType,\r\n CID: service._ClientID,\r\n rl: $cookies.get('rl'),\r\n });\r\n }\r\n\r\n // DEPRECATED - pleon xrhsimopoietai h SaveSurveys\r\n function SaveSurvey(Survey) {\r\n if(Survey.ID) {\r\n return $http.put(APP.Service + '/surveys/'+ Survey.ID+'/?CID='+service._ClientID, Survey);\r\n }\r\n else {\r\n return $http.post(APP.Service + '/surveys', Surveys);\r\n }\r\n }\r\n\r\n function SaveSurveys(Surveys) {\r\n return $http.post(APP.Service + '/surveys/save_multiple_surveys?CID=' + service._ClientID + '&rl=' + $cookies.get('rl'), Surveys);\r\n }\r\n\r\n // Referrals\r\n function GetReferrals(PhoneTriage, FirstMeeting, Discharge, IsArchived, IsCaseClosed, IsExternal) {\r\n return $data\r\n .list(\"referrals\", {\r\n filterPhonetriage: PhoneTriage,\r\n filterFirstMeeting: FirstMeeting,\r\n filterDischarge: Discharge,\r\n isArchived: IsArchived,\r\n isCaseClosed: IsCaseClosed,\r\n isExternal: IsExternal,\r\n CID: service._ClientID\r\n });\r\n }\r\n\r\n function GetReferralWithInfo(ReferralID) {\r\n return $http.get(APP.Service + '/referrals/referralWithInfo?id=' + ReferralID + \"&CID=\" + service._ClientID);\r\n }\r\n\r\n\r\n\r\n function SearchReferrals(_term, _isArchived, _isCaseClosed) {\r\n return $data\r\n .list(\"referrals\", {\r\n term: _term,\r\n isArchived: _isArchived,\r\n isCaseClosed: _isCaseClosed,\r\n CID: service._ClientID,\r\n });\r\n }\r\n\r\n function GetReferral(ReferralID) {\r\n return $data\r\n .get(\"referrals\", {\r\n ID: ReferralID,\r\n CID: service._ClientID,\r\n });\r\n }\r\n\r\n function GetReferralWithAppointmentCount(ReferralID) {\r\n if(service._ClientID !== null) {\r\n return $http.get(APP.Service + '/referrals/referralwithappointmentcount?id=' + ReferralID + \"&CID=\" + service._ClientID);\r\n }\r\n else {\r\n return $http.get(APP.Service + '/referrals/referralwithappointmentcount?id=' + ReferralID);\r\n }\r\n }\r\n\r\n function SubmitReferral(Referral) {\r\n if(service._ClientID !== null) {\r\n if(Referral.ID) {\r\n return $http.put(APP.Service + '/referrals/'+ Referral.ID+'/?CID='+service._ClientID, Referral);\r\n }\r\n else {\r\n return $http.post(APP.Service + '/referrals?CID='+service._ClientID, Referral);\r\n }\r\n }\r\n else {\r\n return $data.save(\"referrals\", Referral);\r\n }\r\n }\r\n\r\n function SetReferralIndicator(ReferralID,Indicator) {\r\n if(service._ClientID !== null) {\r\n return $http.put(APP.Service + '/referrals/SetReferralIndicator?id='+ ReferralID+'&indicator='+Indicator.replace(\"#\", \"%23\")+'&CID='+service._ClientID); \r\n }\r\n \r\n }\r\n\r\n function SetReferralManagerIndicator(ReferralID,Indicator) {\r\n return $http.put(APP.Service + '/referrals/SetManagerReferralIndicator?id='+ ReferralID+'&indicator='+Indicator.replace(\"#\", \"%23\")); \r\n }\r\n \r\n\r\n function DeleteReferral(ReferralID) {\r\n return $http.delete(APP.Service + '/referrals/' + ReferralID + \"/?CID=\" + service._ClientID);\r\n }\r\n\r\n function ImportReferrals(FileUris) {\r\n if(service._ClientID !== null) {\r\n return $http.post(APP.Service + '/notificationparser/notifications?CID='+service._ClientID, FileUris);\r\n }\r\n else {\r\n return $http.post(APP.Service + '/notificationparser/notifications', FileUris)\r\n }\r\n }\r\n\r\n function MessagesSend(files) {\r\n var _data = {};\r\n if (files.length > 1)\r\n _data.file = files;\r\n else {\r\n _data.files = files;\r\n }\r\n\r\n if(service._ClientID !== null) {\r\n return Upload\r\n .upload({\r\n url: APP.Service + '/notificationparser/upload?CID='+service._ClientID,\r\n data: _data\r\n });\r\n }\r\n else {\r\n return Upload\r\n .upload({\r\n url: APP.Service + '/notificationparser/upload',\r\n data: _data\r\n });\r\n }\r\n }\r\n\r\n // PhoneTriages\r\n function GetPhoneTriageByReferralId(ReferralID) {\r\n if(service._ClientID !== null) {\r\n return $http.get(APP.Service + '/phonetriages/byreferral?referralID=' + ReferralID + \"&CID=\" + service._ClientID);\r\n }\r\n else {\r\n return $http.get(APP.Service + '/phonetriages/byreferral?referralID=' + ReferralID);\r\n }\r\n }\r\n\r\n function SubmitPhoneTriage(PhoneTriage) {\r\n if(service._ClientID !== null) {\r\n if(PhoneTriage.ID) {\r\n return $http.put(APP.Service + '/phonetriages/'+ PhoneTriage.ID+'/?CID='+service._ClientID, PhoneTriage);\r\n }\r\n else {\r\n return $http.post(APP.Service + '/phonetriages?CID='+service._ClientID, PhoneTriage);\r\n }\r\n }\r\n else {\r\n return $data.save(\"phonetriages\", PhoneTriage);\r\n }\r\n }\r\n\r\n // FirstMeetings\r\n function GetFirstMeetingByReferralId(ReferralID) {\r\n if(service._ClientID !== null) {\r\n return $http.get(APP.Service + '/firstmeetings/byreferral?referralID=' + ReferralID + \"&CID=\" + service._ClientID);\r\n }\r\n else {\r\n return $http.get(APP.Service + '/firstmeetings/byreferral?referralID=' + ReferralID);\r\n }\r\n }\r\n\r\n function SubmitFirstMeeting(FirstMeeting) {\r\n if(service._ClientID !== null) {\r\n if(FirstMeeting.ID) {\r\n return $http.put(APP.Service + '/firstmeetings/'+ FirstMeeting.ID+'/?CID='+service._ClientID, FirstMeeting);\r\n }\r\n else {\r\n return $http.post(APP.Service + '/firstmeetings?CID='+service._ClientID, FirstMeeting);\r\n }\r\n }\r\n else {\r\n return $data.save(\"firstmeetings\", FirstMeeting);\r\n }\r\n }\r\n\r\n // Discharges\r\n function GetDischargeByReferralId(ReferralID, IsFinal) {\r\n if(service._ClientID !== null) {\r\n return $http.get(APP.Service + '/discharges/byreferral?referralID=' + ReferralID + \"&isFinal=\" + IsFinal + \"&CID=\" + service._ClientID);\r\n }\r\n else {\r\n return $http.get(APP.Service + '/discharges/byreferral?referralID=' + ReferralID + \"&isFinal=\" + IsFinal);\r\n }\r\n }\r\n\r\n function SubmitDischarge(Discharge) {\r\n if(service._ClientID !== null) {\r\n if(Discharge.ID) {\r\n return $http.put(APP.Service + '/discharges/'+ Discharge.ID+'/?CID='+service._ClientID, Discharge);\r\n }\r\n else {\r\n return $http.post(APP.Service + '/discharges?CID='+service._ClientID, Discharge);\r\n }\r\n }\r\n else {\r\n return $data.save(\"discharges\", Discharge);\r\n }\r\n }\r\n\r\n function SubmitExtraSession(ExtraSession) {\r\n if(service._ClientID !== null) {\r\n console.log(\"den mporei na ginei kati apo moderator, physio\");\r\n }\r\n else {\r\n if(ExtraSession.ID) {\r\n return $http.put(APP.Service + '/discharges/saveextrasession?id='+ ExtraSession.ID, ExtraSession);\r\n }\r\n else {\r\n console.log(\"den mporei na ginei apothikefsh apo afto to shmeio, mono update!\");\r\n }\r\n }\r\n }\r\n\r\n // ManagerNotes\r\n function GetManagerNoteByReferralId(ReferralID, IsFinal) {\r\n if(service._ClientID !== null) {\r\n return $http.get(APP.Service + '/managernotes/byreferral?referralID=' + ReferralID + \"&CID=\" + service._ClientID);\r\n }\r\n else {\r\n return $http.get(APP.Service + '/managernotes/byreferral?referralID=' + ReferralID);\r\n }\r\n }\r\n\r\n function SubmitManagerNote(ManagerNote) {\r\n if(service._ClientID !== null) {\r\n if(ManagerNote.ID) {\r\n return $http.put(APP.Service + '/managernotes/'+ ManagerNote.ID+'/?CID='+service._ClientID, ManagerNote);\r\n }\r\n else {\r\n return $http.post(APP.Service + '/managernotes?CID='+service._ClientID, ManagerNote);\r\n }\r\n }\r\n else {\r\n return $data\r\n .save(\"managernotes\", ManagerNote);\r\n }\r\n }\r\n\r\n // Appointments\r\n function GetAppointmentByReferralId(ReferralID, IsFinal) {\r\n if(service._ClientID !== null) {\r\n return $http.get(APP.Service + '/appointments/byreferral?referralID=' + ReferralID + \"&CID=\" + service._ClientID);\r\n }\r\n else {\r\n return $http.get(APP.Service + '/appointments/byreferral?referralID=' + ReferralID);\r\n }\r\n }\r\n\r\n function SubmitAppointment(Appointment) {\r\n if(service._ClientID !== null) {\r\n if(Appointment.ID) {\r\n return $http.put(APP.Service + '/appointments/'+ Appointment.ID+'/?CID='+service._ClientID, Appointment);\r\n }\r\n else {\r\n return $http.post(APP.Service + '/appointments?CID='+service._ClientID, Appointment);\r\n }\r\n }\r\n else {\r\n return $data.save(\"appointments\", Appointment);\r\n }\r\n }\r\n\r\n function DeleteAppointment(AppointmentID) {\r\n if(service._ClientID !== null) {\r\n return $http.delete(APP.Service + '/appointments/' + AppointmentID + \"/?CID=\" + service._ClientID);\r\n }\r\n else {\r\n return $http.delete(APP.Service + '/appointments/' + AppointmentID);\r\n }\r\n }\r\n\r\n // Appointment Type Costs\r\n function GetAppointmentTypeCosts() {\r\n if(service._ClientID !== null) {\r\n return $http.get(APP.Service + '/appointmenttypecosts?CID=' + service._ClientID);\r\n }\r\n else {\r\n return $http.get(APP.Service + '/appointmenttypecosts');\r\n }\r\n }\r\n\r\n function SaveAppointmentTypeCosts(AppointmentTypeCosts) {\r\n return $http.post(APP.Service + '/appointmenttypecosts/save_multiple_typecosts?CID=' + service._ClientID + '&rl=' + $cookies.get('rl'), AppointmentTypeCosts);\r\n }\r\n\r\n // Calendar\r\n function CalendarOptions(params) {\r\n var _options = {\r\n minTime: moment.utc(APP.Client.Business.HoursFrom, \"HH:mm\").format(\"HH:mm:ss\"),\r\n maxTime: moment.utc(APP.Client.Business.HoursTo, \"HH:mm\").format(\"HH:mm:ss\"),\r\n defaultView: 'agendaWeek',\r\n contentHeight: 'auto',\r\n lang: CalendarLanguages[APP.Client.System.Language],\r\n editable: true,\r\n allDaySlot: false,\r\n lazyFetching: false,\r\n\r\n // timezone: APP.Client.System.Timezone,\r\n\r\n timeFormat: 'HH:mm',\r\n slotDuration: APP.Client.Business.Duration,\r\n\r\n header: {\r\n left: 'today agendaDay,agendaWeek',\r\n center: '',\r\n right: 'prev,next'\r\n },\r\n eventClick: service.CalendarEventClickCallback\r\n }\r\n\r\n angular.extend(_options,params);\r\n return _options;\r\n }\r\n\r\n function CalendarEventClickCallback(appointment) {\r\n if (appointment.ReferralID) {\r\n if(service._ClientID !== null) {\r\n $state.go(\"admin.clients.client.survey.referral\", {\r\n ReferralID: appointment.ReferralID,\r\n HideFirstMeeting: appointment.HideFirstMeeting,\r\n IsArchived: false\r\n });\r\n }\r\n else {\r\n $state.go(\"admin.manager_survey.referral\", {\r\n ID: appointment.ReferralID,\r\n HideFirstMeeting: appointment.HideFirstMeeting,\r\n IsArchived: false\r\n });\r\n }\r\n }\r\n }\r\n\r\n function GetCalendarEvents(params) {\r\n // Params: From, To\r\n if(service._ClientID !== null) {\r\n return $http.get(APP.Service + '/appointments/calendar?from=' + params.From + \"&to=\" + params.To + \"&CID=\" + service._ClientID);\r\n }\r\n else {\r\n return $http.get(APP.Service + '/appointments/calendar', {params: params});\r\n }\r\n }\r\n\r\n // Custom\r\n function DisableSurveyQuestions(survey) {\r\n _.each(survey, function(questionnaires, key) {\r\n _.each(questionnaires, function(questionnaire, key) {\r\n _.each(questionnaire.questions, function(question, key) {\r\n question.disabled = true;\r\n })\r\n })\r\n });\r\n return survey;\r\n }\r\n\r\n function SetupReferralInfo(referral) {\r\n var _dateOfBirthday = new Date(referral.ReferralDateOfBirth);\r\n var _day = _dateOfBirthday.getDate();\r\n var _month = _dateOfBirthday.getMonth();\r\n _month = _month + 1; // giati ksekinaei apo 0\r\n _month = _month > 9 ? _month : \"0\" + _month; // an einai 1-9 tote vazoume kai to 0 mprosta giati allios gamietai kai ekane to bug me thn -1 mera\r\n var _year = _dateOfBirthday.getFullYear();\r\n\r\n referral.ReferralDateOfBirth = new Date(_year + \"-\" + _month + \"-\" + _day);\r\n return referral;\r\n }\r\n\r\n // TODO: gia na kalyterepsoume tous xronous tha mporousame na vlepoume ean to length ton duo pinakon - questionKeys & returned array - einai idio\r\n // kai an einai tote na kanoume break, alla den douleve to break kai den ithela na spataliso allo xrono. 15/02/2015\r\n function GetSurveyQuestions(survey, questionKeys) {\r\n var _questions = [];\r\n _.each(survey, function(questionnaires, key) {\r\n _.each(questionnaires, function(questionnaire, key) {\r\n _.each(questionnaire.questions, function(question, key) {\r\n if(questionKeys.indexOf(question.alias) !== -1) {\r\n _questions[question.alias] = question;\r\n }\r\n })\r\n })\r\n });\r\n return _questions;\r\n }\r\n\r\n // apo ta surveys, gia kathe group, spaei to view se questions.length / splitIn gia na deiksei sto layout\r\n function ManageSurveyComponentsForView(survey, splitIn) {\r\n var groups = {};\r\n _.each(survey.groups, function(group, alias) {\r\n groups[alias] = {};\r\n for(var i = 0; i < group.questions.length; i+=splitIn) {\r\n groups[alias][i] = [];\r\n for(var j = 0; j < splitIn; j++) {\r\n if(!_.isUndefined(group.questions[i+j])) {\r\n groups[alias][i].push(group.questions[i+j]);\r\n }\r\n }\r\n }\r\n });\r\n return groups;\r\n }\r\n\r\n // Illnesses\r\n function GetIllnesses() {\r\n return $data\r\n .list(\"illnesses\", {\r\n CID: service._ClientID\r\n });\r\n }\r\n\r\n // ImageItems\r\n function GetImageItems() {\r\n return $data\r\n .list(\"imageitems\", {\r\n CID: service._ClientID\r\n });\r\n }\r\n\r\n function GetImageItemById(ImageItemID) {\r\n return $data\r\n .get(\"imageitems\", {\r\n ID: ImageItemID,\r\n CID: service._ClientID,\r\n rl: $cookies.get('rl')\r\n });\r\n }\r\n\r\n function SaveImageItem(ImageItem) {\r\n if(ImageItem.ID) {\r\n return $http.put(APP.Service + '/imageitems/'+ ImageItem.ID + '/?CID=' + service._ClientID, ImageItem);\r\n }\r\n else {\r\n return $http.post(APP.Service + '/imageitems/?CID=' + service._ClientID, ImageItem);\r\n }\r\n }\r\n\r\n function DeleteImageItem(ImageItemID) {\r\n return $http.delete(APP.Service + '/imageitems/' + ImageItemID + \"/?CID=\" + service._ClientID);\r\n }\r\n\r\n // PortalManagers\r\n function GetPortalManagers() {\r\n return $data\r\n .list(\"portalmanagers\", {\r\n CID: service._ClientID\r\n });\r\n } \r\n\r\n function GetPortalManagerById(PortalManagerID) {\r\n return $data\r\n .get(\"portalmanagers\", {\r\n ID: PortalManagerID,\r\n CID: service._ClientID,\r\n rl: $cookies.get('rl')\r\n });\r\n }\r\n\r\n function SavePortalManager(PortalManager) {\r\n if(PortalManager.ID) {\r\n return $http.put(APP.Service + '/portalmanagers/'+ PortalManager.ID + '/?CID=' + service._ClientID, PortalManager);\r\n }\r\n else {\r\n return $http.post(APP.Service + '/portalmanagers/?CID=' + service._ClientID, PortalManager);\r\n }\r\n }\r\n\r\n function DeletePortalManager(PortalManagerID) {\r\n return $http.delete(APP.Service + '/portalmanagers/' + PortalManagerID + \"/?CID=\" + service._ClientID);\r\n }\r\n\r\n \r\n // Occupational health nurses\r\n function GetOcupHealthNurseList() {\r\n return $data\r\n .list(\"ocupHealthNurses\", {\r\n CID: service._ClientID\r\n });\r\n }\r\n\r\n\r\n // Exercises\r\n function GetExerciseByReferralID(ReferralID) {\r\n if(service._ClientID !== null) {\r\n return $http.get(APP.Service + '/exercises/byreferral?referralID=' + ReferralID + \"&CID=\" + service._ClientID);\r\n }\r\n else {\r\n return $http.get(APP.Service + '/exercises/byreferral?referralID=' + ReferralID);\r\n }\r\n }\r\n\r\n function SubmitExercise(Exercise) {\r\n if(service._ClientID !== null) {\r\n if(Exercise.ID) {\r\n return $http.put(APP.Service + '/exercises/'+ Exercise.ID +'/?CID='+service._ClientID, Exercise);\r\n }\r\n else {\r\n return $http.post(APP.Service + '/exercises?CID='+service._ClientID, Exercise);\r\n }\r\n }\r\n else {\r\n return $data.save(\"exercises\", Exercise);\r\n }\r\n }\r\n\r\n function DeleteExercise(ExerciseID) {\r\n if(service._ClientID !== null) {\r\n return $http.delete(APP.Service + '/exercises/' + ExerciseID + \"/?CID=\" + service._ClientID);\r\n }\r\n else {\r\n return $http.delete(APP.Service + '/exercises/' + ExerciseID);\r\n }\r\n }\r\n\r\n // DEPRECATED: Xrhsimopoieitai to PortalManagers pleon, giati ithele ksexoristh diaxeirish. ego to krathsa parola afta giati mporei na allaksei kati sto mellon\r\n // Client Managers list\r\n function GetClientManagers() {\r\n if(service._ClientID !== null) {\r\n return $http.get(APP.Service + '/users/getclientmanagers?CID=' + service._ClientID);\r\n }\r\n else {\r\n return $http.get(APP.Service + '/users/getclientmanagers');\r\n }\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .factory('SurveyPdfService', SurveyPdfService);\r\n\r\n SurveyPdfService.$inject = ['$q', '$http', '$filter', '$cookies', 'SurveysService'];\r\n\r\n function SurveyPdfService($q, $http, $filter, $cookies, SurveysService) {\r\n\r\n /*\r\n TODO:\r\n guid gia to name tou arxeiou\r\n den deixnei to extrasessionnumber sto pdf eno sto map yparxei\r\n */\r\n\r\n var pdfColumns = 2;\r\n\r\n var dynFunctions = {\r\n referral: _referralData,\r\n phonetriage: _phonetriageData,\r\n firstmeeting: _firstmeetingData,\r\n discharge: _dischargeData,\r\n managernotes: _managernotesData,\r\n finaldischarge: _dischargeData,\r\n };\r\n\r\n var service = {\r\n download: download,\r\n getSurveyPdfByCodeAndEmail: getSurveyPdfByCodeAndEmail\r\n };\r\n\r\n return service;\r\n\r\n function download(schema, data, referralSchema, referralData) {\r\n var cloneReferralSchema = angular.copy(referralSchema);\r\n var cloneReferralData = angular.copy(referralData);\r\n var cloneSchema = angular.copy(schema);\r\n var cloneData = angular.copy(data);\r\n\r\n getSettings()\r\n .then(function(settings) {\r\n var keyValuePairs = {};\r\n\r\n // ta tou referral data (pou deixnoume panta)\r\n if(!angular.isUndefined(cloneReferralSchema)) {\r\n angular.merge(keyValuePairs, _mapSurvey(cloneReferralSchema, cloneReferralData, [\"description_of_current_injury\"]));\r\n }\r\n\r\n // ta tou survey data\r\n angular.merge(keyValuePairs, _mapSurvey(cloneSchema, cloneData));\r\n\r\n _load(keyValuePairs, settings)\r\n .then(function(_schema) {\r\n pdfMake\r\n .createPdf(_schema)\r\n .download(\"TruePhysio\" + \".pdf\");\r\n });\r\n });\r\n }\r\n\r\n function _load(keyValuePairs, settings) {\r\n\r\n var _schema = {\r\n pageMargins: [ 20, 100, 20, 20 ],\r\n\r\n header: function(currentPage, pageCount) {\r\n return _header(currentPage, pageCount, settings);\r\n },\r\n\r\n footer: function(currentPage, pageCount) {\r\n return _footer(currentPage, pageCount, settings);\r\n },\r\n\r\n content: _container(keyValuePairs),\r\n\r\n styles: {\r\n header: {\r\n \t\t\talignment: 'center',\r\n bold: true,\r\n fontSize: 15\r\n \t\t},\r\n \t\tsubheader: {\r\n \t\t\talignment: 'center',\r\n bold: true,\r\n fontSize: 12\r\n \t\t},\r\n \t\tsectionHeader: {\r\n \t\t\tfontSize: 12,\r\n \t\t\tbold: true,\r\n \t\t\tmargin: [0, 30, 0, 8]\r\n \t\t},\r\n \t\ttableContainer: {\r\n \t\t\tmargin: [0, 5, 0, 15],\r\n \t\t},\r\n \t\ttableHeader: {\r\n \t\t\tbold: true,\r\n \t\t\talignment: 'right'\r\n \t\t}\r\n },\r\n\r\n defaultStyle: {\r\n fontSize: 9,\r\n },\r\n };\r\n\r\n return $q.resolve(_schema);\r\n }\r\n\r\n function _header(currentPage, pageCount, settings) {\r\n if(settings.Base64ClientCompanyLogo !== \"\" && settings.Base64MasterCompanyLogo !== \"\") {\r\n return {\r\n margin: [20, 20, 20, 0],\r\n columns: [\r\n {\r\n image: settings.Base64ClientCompanyLogo,\r\n width: 120,\r\n },\r\n [\r\n {\r\n text: APP.Client.Company.Name,\r\n style: 'header'\r\n },\r\n {\r\n text: '- TRUE PHYSIO REFERRAL -',\r\n style: 'subheader'\r\n }\r\n ],\r\n {\r\n image: settings.Base64MasterCompanyLogo,\r\n width: 120,\r\n },\r\n ]\r\n };\r\n }\r\n else if(settings.Base64ClientCompanyLogo === \"\" && settings.Base64MasterCompanyLogo !== \"\") {\r\n return {\r\n margin: [20, 20, 20, 0],\r\n columns: [\r\n {\r\n text: \"\",\r\n width: 120,\r\n },\r\n [\r\n {\r\n text: APP.Client.Company.Name,\r\n style: 'header'\r\n },\r\n {\r\n text: '- TRUE PHYSIO REFERRAL -',\r\n style: 'subheader'\r\n }\r\n ],\r\n {\r\n image: settings.Base64MasterCompanyLogo,\r\n width: 120,\r\n },\r\n ]\r\n };\r\n }\r\n else if(settings.Base64ClientCompanyLogo !== \"\" && settings.Base64MasterCompanyLogo === \"\") {\r\n return {\r\n margin: [20, 20, 20, 0],\r\n columns: [\r\n {\r\n image: settings.Base64ClientCompanyLogo,\r\n width: 120,\r\n },\r\n [\r\n {\r\n text: APP.Client.Company.Name,\r\n style: 'header'\r\n },\r\n {\r\n text: '- TRUE PHYSIO REFERRAL -',\r\n style: 'subheader'\r\n }\r\n ],\r\n {\r\n text: \"\",\r\n width: 120,\r\n },\r\n ]\r\n };\r\n }\r\n }\r\n\r\n function _footer(currentPage, pageCount, settings) {\r\n return {\r\n text: currentPage.toString() + ' of ' + pageCount,\r\n alignment: 'center'\r\n };\r\n }\r\n\r\n function _container(keyValuePairs) {\r\n var _body = [];\r\n\r\n angular.forEach(keyValuePairs, function(keyValuePairGroup, alias) {\r\n // group label\r\n _body.push({\r\n text: keyValuePairGroup.title,\r\n style: 'sectionHeader'\r\n });\r\n\r\n // exoume N columns\r\n var _columns = [];\r\n var maxColumns = keyValuePairGroup.keyValuePairs.length >= pdfColumns ? pdfColumns : keyValuePairGroup.keyValuePairs.length;\r\n\r\n var _tableContainer = {\r\n style: 'tableContainer',\r\n \t\t\ttable: {\r\n \t widths: [],\r\n \t\t\t\tbody: []\r\n \t\t\t},\r\n \t\t\tlayout: 'noBorders'\r\n };\r\n\r\n // ftiaxnoume N columns me max to poso exei oristhei. an einai ligotera, kratame to length ton items pou uparxoun se ena group\r\n // kathos kai to width tou table container\r\n for(var i = 0; i < maxColumns; i++) {\r\n _columns[i] = {\r\n table: {\r\n widths: [100, 100],\r\n body: []\r\n },\r\n layout: 'noBorders'\r\n };\r\n\r\n _tableContainer.table.widths.push('*');\r\n }\r\n\r\n var columnIndex = 0;\r\n angular.forEach(keyValuePairGroup.keyValuePairs, function(keyValuePair, index) {\r\n _columns[columnIndex].table.body.push([{\r\n text: keyValuePair.key,\r\n style: 'tableHeader'\r\n }, keyValuePair.value+\"\"]);\r\n\r\n if(++columnIndex >= pdfColumns) {\r\n columnIndex = 0;\r\n }\r\n });\r\n\r\n _tableContainer.table.body.push(_columns);\r\n\r\n _body.push(_tableContainer);\r\n });\r\n\r\n return _body;\r\n }\r\n\r\n /* Check if valid for download */\r\n function getSurveyPdfByCodeAndEmail(Code, RecipientEmail) {\r\n return $http\r\n .get(APP.Service + \"/surveypdfs?code=\" + Code + \"&email=\" + RecipientEmail)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n\r\n /* Settings */\r\n function getSettings() {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/surveypdfs/settings/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl'))\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/surveypdfs/settings\")\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n /* Mapping Functions - Schema with Data */\r\n function _mapSurvey(schema, data, aliasesToIgnore) {\r\n var keyValuePairs = {};\r\n\r\n angular.forEach(schema.groups, function(group, groupAlias) {\r\n if(group.questions.length > 0 && groupAlias != \"nogroup\") {\r\n keyValuePairs[groupAlias] = {\r\n title: group.title,\r\n keyValuePairs: []\r\n };\r\n\r\n angular.forEach(group.questions, function(question, questionIndex) {\r\n if(angular.isUndefined(aliasesToIgnore) || (!angular.isUndefined(aliasesToIgnore) && aliasesToIgnore.indexOf(question.alias) === -1)) {\r\n var keyValues = dynFunctions[schema.alias](question.alias, data);\r\n angular.forEach(keyValues, function(keyValue, index) {\r\n keyValuePairs[groupAlias].keyValuePairs.push(keyValue);\r\n });\r\n }\r\n });\r\n\r\n // ean to group den exei katholou items tote mhn to deikseis\r\n if(keyValuePairs[groupAlias].keyValuePairs.length === 0) {\r\n delete keyValuePairs[groupAlias];\r\n }\r\n }\r\n });\r\n\r\n return keyValuePairs;\r\n }\r\n\r\n function _referralData(questionAlias, data) {\r\n var keyValues = [];\r\n\r\n switch(questionAlias) {\r\n case 'referral_type':\r\n keyValues.push({\r\n key: \"Work Area\",\r\n value: $filter('translate')(data.ReferralType) || \" - \"\r\n });\r\n break;\r\n case 'ansa_employee_job_title':\r\n keyValues.push({\r\n key: \"Job Title (employee)\",\r\n value: $filter('translate')(data.ReferralType) || \" - \"\r\n });\r\n break;\r\n case 'workplace':\r\n keyValues.push({\r\n key: \"Workplace\",\r\n value: data.ReferralServiceArea || \" - \"\r\n });\r\n break;\r\n case 'ansa_employee_work_location':\r\n keyValues.push({\r\n key: \"Work Location (employee)\",\r\n value: $filter('translate')(data.ReferralServiceAreaEnum) || \" - \"\r\n });\r\n break;\r\n case 'forename':\r\n keyValues.push({\r\n key: \"Forename\",\r\n value: data.ReferralPerson.First || \" - \"\r\n });\r\n break;\r\n case 'surname':\r\n keyValues.push({\r\n key: \"Surname\",\r\n value: data.ReferralPerson.Last || \" - \"\r\n });\r\n break;\r\n case 'home_address':\r\n keyValues.push({\r\n key: \"Home Address\",\r\n value: data.ReferralAddress.Street || \" - \"\r\n });\r\n break;\r\n case 'postcode':\r\n keyValues.push({\r\n key: \"Postcode\",\r\n value: data.ReferralAddress.Zip || \" - \"\r\n });\r\n break;\r\n case 'date_of_birth':\r\n keyValues.push({\r\n key: \"Date of birth\",\r\n value: $filter('date')(data.ReferralDateOfBirth, 'dd/MM/yyyy') || \" - \"\r\n });\r\n break;\r\n case 'gender':\r\n keyValues.push({\r\n key: \"Gender\",\r\n value: $filter('translate')(data.ReferralPerson.Gender) || \" - \"\r\n });\r\n break;\r\n case 'telephone_number':\r\n keyValues.push({\r\n key: \"Telephone number\",\r\n value: data.ReferralPerson.Phone || \" - \"\r\n });\r\n break;\r\n case 'ansa_contactable_telephone_number':\r\n keyValues.push({\r\n key: \"Contactable Telephone number\",\r\n value: data.ReferralPerson.Phone || \" - \"\r\n });\r\n break;\r\n case 'email':\r\n keyValues.push({\r\n key: \"Email\",\r\n value: data.ReferralPerson.Email.Address || \" - \"\r\n });\r\n break;\r\n case 'payroll_number':\r\n keyValues.push({\r\n key: \"Payroll number\",\r\n value: data.PayrollNumber || \" - \"\r\n });\r\n break;\r\n case 'work_status':\r\n keyValues.push({\r\n key: \"Work Status\",\r\n value: $filter('translate')(data.WorkStatus) || \" - \"\r\n });\r\n\r\n if(data.WorkStatus == 'RETURNED_TO_WORK' || data.WorkStatus == 'OFF_WORK') {\r\n keyValues.push({\r\n key: \"Date absence started\",\r\n value: $filter('date')(data.ReferralAbsenceDate, 'dd/MM/yyyy') || \" - \"\r\n });\r\n }\r\n\r\n if(data.WorkStatus == 'RETURNED_TO_WORK') {\r\n keyValues.push({\r\n key: \"Date returned to work\",\r\n value: $filter('date')(data.ReferralReturnedToWorkDate, 'dd/MM/yyyy') || \" - \"\r\n });\r\n }\r\n\r\n if(data.WorkStatus == 'OFF_WORK') {\r\n keyValues.push({\r\n key: \"Expected date of return\",\r\n value: $filter('date')(data.ReferralExpectedDateOfReturn, 'dd/MM/yyyy') || \" - \"\r\n });\r\n\r\n keyValues.push({\r\n key: \"Are Occupational Health aware of absence?\",\r\n value: data.OccupationalHealthAwareOfAbsence ? 'Yes' : 'No' || \" - \"\r\n });\r\n }\r\n break;\r\n case 'job':\r\n keyValues.push({\r\n key: \"Job/job role\",\r\n value: data.ReferralProfession || \" - \"\r\n });\r\n break;\r\n case 'managers_name':\r\n case 'ansa_managers_name_list':\r\n keyValues.push({\r\n key: \"Managers name\",\r\n value: data.ReferralManager.First || \" - \"\r\n });\r\n break;\r\n case 'managers_phone_number':\r\n keyValues.push({\r\n key: \"Managers telephone number\",\r\n value: data.ReferralManager.Phone || \" - \"\r\n });\r\n break;\r\n case 'managers_email':\r\n keyValues.push({\r\n key: \"Managers email\",\r\n value: data.ReferralManager.Email.Address || \" - \"\r\n });\r\n break;\r\n case 'work_location':\r\n keyValues.push({\r\n key: \"Work Location\",\r\n value: data.ReferralWorkLocation || \" - \"\r\n });\r\n break;\r\n case 'description_of_current_injury':\r\n keyValues.push({\r\n key: \"Description of Current Injury\",\r\n value: data.ReferralDescription || \" - \"\r\n });\r\n break;\r\n case 'ansa_description_of_symptoms':\r\n keyValues.push({\r\n key: \"Description of symptoms\",\r\n value: data.ReferralDescription || \" - \"\r\n });\r\n break;\r\n case 'condition_type':\r\n keyValues.push({\r\n key: \"Please state which of the following applies to this condition\",\r\n value: $filter('translate')(data.ConditionType) || \" - \"\r\n });\r\n\r\n break;\r\n case 'nature_of_work':\r\n keyValues.push({\r\n key: \"Nature of work\",\r\n value: $filter('translate')(data.NatureOfWork) || \" - \"\r\n });\r\n\r\n break;\r\n case 'type_of_referral':\r\n keyValues.push({\r\n key: \"Type of Referral\",\r\n value: $filter('translate')(data.TypeOfReferral) || \" - \"\r\n });\r\n\r\n break;\r\n }\r\n\r\n return keyValues;\r\n }\r\n\r\n function _phonetriageData(questionAlias, data) {\r\n var keyValues = [];\r\n\r\n switch(questionAlias) {\r\n case 'assessment_date':\r\n keyValues.push({\r\n key: \"Date of assessment\",\r\n value: $filter('date')(data.PhoneTriageDate, 'dd/MM/yyyy') || \" - \"\r\n });\r\n break;\r\n case 'expected_discharge_date':\r\n keyValues.push({\r\n key: \"Expected discharge date\",\r\n value: $filter('date')(data.PhoneTriageExpectedDischargeDate, 'dd/MM/yyyy') || \" - \"\r\n });\r\n break;\r\n case 'doctor':\r\n keyValues.push({\r\n key: \"Assessor\",\r\n value: data.PhoneTriageDoctor || \" - \"\r\n });\r\n break;\r\n case 'seen_gp':\r\n keyValues.push({\r\n key: \"Seen by GP\",\r\n value: data.PhoneTriageGP ? 'Yes' : 'No' || \" - \"\r\n });\r\n break;\r\n case 'fit_note':\r\n keyValues.push({\r\n key: \"FIT note\",\r\n value: data.PhoneTriageFIT ? 'Yes' : 'No' || \" - \"\r\n });\r\n\r\n if(data.PhoneTriageFIT) {\r\n keyValues.push({\r\n key: \"FIT note\",\r\n value: data.PhoneTriageHasReturnPlan ? 'Yes' : 'No' || \" - \"\r\n });\r\n }\r\n\r\n if(data.PhoneTriageHasReturnPlan) {\r\n keyValues.push({\r\n key: \"FIT note\",\r\n value: data.PhoneTriageReturnPlan || \" - \"\r\n });\r\n }\r\n break;\r\n case 'work_status':\r\n keyValues.push({\r\n key: \"Working status\",\r\n value: $filter('translate')(data.WorkStatus) || \" - \"\r\n });\r\n\r\n if(data.WorkStatus == 'RETURNED_TO_WORK' || data.WorkStatus == 'OFF_WORK') {\r\n keyValues.push({\r\n key: \"Date absence started\",\r\n value: $filter('date')(data.PhoneTriageAbsenceDate, 'dd/MM/yyyy') || \" - \"\r\n });\r\n }\r\n\r\n if(data.WorkStatus == 'RETURNED_TO_WORK') {\r\n keyValues.push({\r\n key: \"Date returned to work\",\r\n value: $filter('date')(data.PhoneTriageReturnedToWorkDate, 'dd/MM/yyyy') || \" - \"\r\n });\r\n }\r\n\r\n if(data.WorkStatus == 'OFF_WORK') {\r\n keyValues.push({\r\n key: \"Expected date of return\",\r\n value: $filter('date')(data.PhoneTriageExpectedDateOfReturn, 'dd/MM/yyyy') || \" - \"\r\n });\r\n\r\n keyValues.push({\r\n key: \"Are Occupational Health aware of absence?\",\r\n value: data.OccupationalHealthAwareOfAbsence ? 'Yes' : 'No' || \" - \"\r\n });\r\n }\r\n break;\r\n case 'diagnosis':\r\n keyValues.push({\r\n key: \"Possible diagnosis\",\r\n value: $filter('translate')(data.Diagnosis) || \" - \"\r\n });\r\n\r\n if(data.Diagnosis == 'PLEASE_STATE') {\r\n keyValues.push({\r\n key: \"\",\r\n value: data.PhoneTriageDiagnosisOther || \" - \"\r\n });\r\n }\r\n\r\n if(data.AltDiagnosis !== null) {\r\n keyValues.push({\r\n key: \"Second Possible diagnosis\",\r\n value: $filter('translate')(data.AltDiagnosis) || \" - \"\r\n });\r\n\r\n if(data.AltDiagnosis == 'PLEASE_STATE') {\r\n keyValues.push({\r\n key: \"\",\r\n value: data.PhoneTriageAltDiagnosisOther || \" - \"\r\n });\r\n }\r\n }\r\n break;\r\n case 'triage_findings':\r\n keyValues.push({\r\n key: \"Triage assessment impression\",\r\n value: data.PhoneTriageFindings || \" - \"\r\n });\r\n break;\r\n case 'tasks_avoid':\r\n keyValues.push({\r\n key: \"Tasks to avoid\",\r\n value: data.PhoneTriageAvoid || \" - \"\r\n });\r\n break;\r\n case 'tasks_cando':\r\n keyValues.push({\r\n key: \"Tasks can do\",\r\n value: data.PhoneTriageCando || \" - \"\r\n });\r\n break;\r\n case 'no_treatment_recovery':\r\n keyValues.push({\r\n key: \"Average Days of absence without treatment\",\r\n value: data.PhoneTriageNoTreatment || \" - \"\r\n });\r\n break;\r\n case 'actionplans':\r\n keyValues.push({\r\n key: \"Action plan\",\r\n value: data.PhoneTriageActionplans || \" - \"\r\n });\r\n break;\r\n case 'proposedmanagement':\r\n keyValues.push({\r\n key: \"Proposed Management\",\r\n value: data.ProposedManagement || \" - \"\r\n });\r\n break;\r\n case 'comments':\r\n keyValues.push({\r\n key: \"General comments\",\r\n value: data.PhoneTriageComments || \" - \"\r\n });\r\n break;\r\n case 'injury_related':\r\n keyValues.push({\r\n key: \"Is injury related\",\r\n value: data.IsInjuryRelated ? 'Yes' : 'No' || \" - \"\r\n });\r\n break;\r\n case 'pain_score':\r\n keyValues.push({\r\n key: \"Pain score (VAS)\",\r\n value: data.PhoneTriagePain\r\n });\r\n break;\r\n case 'information_to_manager_and_patient':\r\n keyValues.push({\r\n key: \"Information to Manager and Patient\",\r\n value: data.PhoneTriageInformationToManagerAndPatient || \" - \"\r\n });\r\n break;\r\n case 'condition_type':\r\n keyValues.push({\r\n key: \"Please state which of the following applies to this condition\",\r\n value: $filter('translate')(data.ConditionType) || \" - \"\r\n });\r\n\r\n break;\r\n case 'nature_of_work':\r\n keyValues.push({\r\n key: \"Nature of work\",\r\n value: $filter('translate')(data.NatureOfWork) || \" - \"\r\n });\r\n\r\n break;\r\n case 'informed_consent_gained_to_inform':\r\n keyValues.push({\r\n key: \"Informed consent gained from employee to inform Occupational Health / Industrial Hygiene\",\r\n value: data.InformedConsentGainedToInform ? 'Yes' : 'No' || \" - \"\r\n });\r\n\r\n break;\r\n case 'informed_consent_gained_to_assess_and_treat':\r\n keyValues.push({\r\n key: \"Informed consent gained from employee to assess and treat\",\r\n value: data.InformedConsentGainedToAssessAndTreat ? 'Yes' : 'No' || \" - \"\r\n });\r\n\r\n break;\r\n case 'informed_consent_gained_of_consequences':\r\n keyValues.push({\r\n key: \"Consent to inform patient of any potential consequences of withdrawing consent, that their employer will be informed of their withdrawal of consent and may make fitness for work decisions without the results of the physiotherapy assessment\",\r\n value: data.InformedConsentConsequences ? 'Yes' : 'No' || \" - \"\r\n });\r\n\r\n break;\r\n case 'informed_consent_gained_of_right_withdraw':\r\n keyValues.push({\r\n key: \"Consent to inform patient of their right to withdraw consent to participate in the assessment or in any part of the assessment and for the report to be sent\",\r\n value: data.InformedConsentRightWithDraw ? 'Yes' : 'No' || \" - \"\r\n });\r\n\r\n break;\r\n case 'informed_consent_gained_of_right_report':\r\n keyValues.push({\r\n key: \"Consent to inform patient of right to request to see and comment on the report before it is sent, to whom the report arising from the assessment will be sent to, and how they can access a copy\",\r\n value: data.InformedConsentRightReport ? 'Yes' : 'No' || \" - \"\r\n });\r\n\r\n break;\r\n case 'informed_consent_gained_of_limit_confidentiality':\r\n keyValues.push({\r\n key: \"Consent to inform patient of limits to confidentiality and what information is to be shared with whom (i.e. medical or non-medical such as Human Resources or Health and Safety)\",\r\n value: data.InformedConsentLimitConfidentiality ? 'Yes' : 'No' || \" - \"\r\n });\r\n\r\n break;\r\n case 'risk_asses':\r\n keyValues.push({\r\n key: \"Manual Handling Risk Assessment\",\r\n value: data.PhoneTriageRiskasses ? 'Yes' : 'No'\r\n });\r\n break;\r\n case 'dse_asses':\r\n keyValues.push({\r\n key: \"DSE Assessment\",\r\n value: data.PhoneTriageDseasses ? 'Yes' : 'No'\r\n });\r\n\r\n if(data.PhoneTriageDseasses) {\r\n keyValues.push({\r\n key: \"DSE Assessment\",\r\n value: $filter('translate')(data.PhoneTriageAdvanced) || \" - \"\r\n });\r\n }\r\n break;\r\n case 'body_region_of_injury':\r\n keyValues.push({\r\n key: \"Body region of injury\",\r\n value: data.BodyRegionOfInjury || \" - \"\r\n });\r\n break;\r\n \r\n case 'caused_by_accident':\r\n keyValues.push({\r\n key: \"Was the condition caused by an accident at work?\",\r\n value: data.CausedByAccident ? 'Yes' : 'No'\r\n });\r\n break;\r\n case 'caused_by_ergonomic_factors':\r\n keyValues.push({\r\n key: \"Do you (Physio) or the employee believe the condition was caused by ergonomic factors at work?\",\r\n value: data.CausedByErgonomicFactors ? 'Yes' : 'No'\r\n });\r\n break;\r\n case 'is_aggravated':\r\n keyValues.push({\r\n key: \"Is the condition aggravated (made worse) by work tasks?\",\r\n value: data.IsAggravated ? 'Yes' : 'No'\r\n });\r\n break;\r\n case 'initiation':\r\n keyValues.push({\r\n key: \"Was your pain/problem initiated by a specific event in time?\",\r\n value: data.InitiatedTime ? 'Yes' : 'No'\r\n });\r\n break;\r\n case 'has_gp_seen':\r\n keyValues.push({\r\n key: \"Has the patient seen their GP regarding their symptoms? (If so when and where?)\",\r\n value: data.SeenGP\r\n });\r\n break;\r\n case 'assessment_findings':\r\n keyValues.push({\r\n key: \"Triage assessment findings (History, symptoms, and aggravating/easing factors. Avoid medical jargon and abbreviations). Include ACTIVITIES OUTSIDE OF WORK here and their relevance to the condition.\",\r\n value: data.AssessmentFindings\r\n });\r\n break;\r\n case 'triage_advice':\r\n keyValues.push({\r\n key: \"Triage advice given for managing at work and for ADL's.\",\r\n value: data.TriageAdvice\r\n });\r\n break;\r\n case 'proposed_plan':\r\n keyValues.push({\r\n key: \"Proposed plan to return to work OR useful advice for modifications, rest breaks at work. Please detail amendments, requirements or restrictions.\",\r\n value: data.ReturnProposedPlan\r\n });\r\n break;\r\n case 'handson_info':\r\n keyValues.push({\r\n key: \"If applicable please detail relevant information for 'hands-on' physiotherapy regarding location, therapist, any preferences or requirements for access/gender of treating therapist etc.\",\r\n value: data.HandsonInfo\r\n });\r\n break;\r\n }\r\n\r\n return keyValues;\r\n }\r\n\r\n function _firstmeetingData(questionAlias, data) {\r\n var keyValues = [];\r\n\r\n switch(questionAlias) {\r\n case 'assessment_date':\r\n keyValues.push({\r\n key: \"Date of assessment\",\r\n value: $filter('date')(data.FirstMeetingDate, 'dd/MM/yyyy') || \" - \"\r\n });\r\n break;\r\n case 'expected_discharge_date':\r\n keyValues.push({\r\n key: \"Expected discharge date\",\r\n value: $filter('date')(data.FirstMeetingExpectedDischargeDate, 'dd/MM/yyyy') || \" - \"\r\n });\r\n break;\r\n case 'doctor':\r\n keyValues.push({\r\n key: \"Assessor\",\r\n value: data.FirstMeetingDoctor || \" - \"\r\n });\r\n break;\r\n case 'seen_gp':\r\n keyValues.push({\r\n key: \"Seen by GP\",\r\n value: data.FirstMeetingGP ? 'Yes' : 'No' || \" - \"\r\n });\r\n break;\r\n case 'fit_note':\r\n keyValues.push({\r\n key: \"FIT note\",\r\n value: data.FirstMeetingFIT ? 'Yes' : 'No' || \" - \"\r\n });\r\n\r\n if(data.FirstMeetingFIT) {\r\n keyValues.push({\r\n key: \"FIT note\",\r\n value: data.FirstMeetingHasReturnPlan ? 'Yes' : 'No' || \" - \"\r\n });\r\n }\r\n\r\n if(data.FirstMeetingHasReturnPlan) {\r\n keyValues.push({\r\n key: \"FIT note\",\r\n value: data.FirstMeetingReturnPlan || \" - \"\r\n });\r\n }\r\n break;\r\n case 'work_status':\r\n keyValues.push({\r\n key: \"Working status\",\r\n value: $filter('translate')(data.WorkStatus) || \" - \"\r\n });\r\n\r\n if(data.WorkStatus == 'RETURNED_TO_WORK' || data.WorkStatus == 'OFF_WORK') {\r\n keyValues.push({\r\n key: \"Date absence started\",\r\n value: $filter('date')(data.FirstMeetingAbsenceDate, 'dd/MM/yyyy') || \" - \"\r\n });\r\n }\r\n\r\n if(data.WorkStatus == 'RETURNED_TO_WORK') {\r\n keyValues.push({\r\n key: \"Date returned to work\",\r\n value: $filter('date')(data.FirstMeetingReturnedToWorkDate, 'dd/MM/yyyy') || \" - \"\r\n });\r\n }\r\n\r\n if(data.WorkStatus == 'OFF_WORK') {\r\n keyValues.push({\r\n key: \"Expected date of return\",\r\n value: $filter('date')(data.FirstMeetingExpectedDateOfReturn, 'dd/MM/yyyy') || \" - \"\r\n });\r\n }\r\n break;\r\n case 'diagnosis':\r\n keyValues.push({\r\n key: \"Possible diagnosis\",\r\n value: $filter('translate')(data.Diagnosis) || \" - \"\r\n });\r\n\r\n if(data.Diagnosis == 'PLEASE_STATE') {\r\n keyValues.push({\r\n key: \"\",\r\n value: data.FirstMeetingDiagnosisOther || \" - \"\r\n });\r\n }\r\n\r\n if(data.AltDiagnosis !== null) {\r\n keyValues.push({\r\n key: \"Second Possible diagnosis\",\r\n value: $filter('translate')(data.AltDiagnosis) || \" - \"\r\n });\r\n\r\n if(data.AltDiagnosis == 'PLEASE_STATE') {\r\n keyValues.push({\r\n key: \"\",\r\n value: data.FirstMeetingAltDiagnosisOther || \" - \"\r\n });\r\n }\r\n }\r\n break;\r\n case 'clinical_findings':\r\n keyValues.push({\r\n key: \"Clinical assessment findings\",\r\n value: data.FirstMeetingFindings || \" - \"\r\n });\r\n break;\r\n case 'tasks_avoid':\r\n keyValues.push({\r\n key: \"Tasks to avoid\",\r\n value: data.FirstMeetingAvoid || \" - \"\r\n });\r\n break;\r\n case 'tasks_cando':\r\n keyValues.push({\r\n key: \"Tasks can do\",\r\n value: data.FirstMeetingCando || \" - \"\r\n });\r\n break;\r\n case 'no_treatment_recovery':\r\n keyValues.push({\r\n key: \"Average Days of absence without treatment\",\r\n value: data.FirstMeetingNoTreatment || \" - \"\r\n });\r\n break;\r\n case 'risk_asses':\r\n keyValues.push({\r\n key: \"Manual Handling Risk Assessment\",\r\n value: data.FirstMeetingRiskasses ? 'Yes' : 'No'\r\n });\r\n break;\r\n case 'dse_asses':\r\n keyValues.push({\r\n key: \"DSE Assessment\",\r\n value: data.FirstMeetingDseasses ? 'Yes' : 'No'\r\n });\r\n\r\n if(data.FirstMeetingDseasses) {\r\n keyValues.push({\r\n key: \"DSE Assessment\",\r\n value: $filter('translate')(data.FirstMeetingAdvanced) || \" - \"\r\n });\r\n }\r\n break;\r\n case 'ergo_asses':\r\n keyValues.push({\r\n key: \"Ergonomic Assessment\",\r\n value: data.FirstMeetingErgoasses ? 'Yes' : 'No'\r\n });\r\n break;\r\n case 'pain_score':\r\n keyValues.push({\r\n key: \"Pain score (VAS)\",\r\n value: data.FirstMeetingPain \r\n });\r\n break;\r\n case 'therapygoals':\r\n var therapygoals = [];\r\n angular.forEach(data.TherapyGoals, function(therapygoal, index) {\r\n if(!angular.isUndefined(therapygoal.FirstGoalText1)) {\r\n therapygoals.push(therapygoal.FirstGoalText1);\r\n }\r\n if(!angular.isUndefined(therapygoal.FirstGoalText2)) {\r\n therapygoals.push(therapygoal.FirstGoalText2);\r\n }\r\n });\r\n\r\n therapygoals = therapygoals.length > 0 ? therapygoals.join(', ') : \" - \";\r\n\r\n keyValues.push({\r\n key: \"Therapy Goals\",\r\n value: therapygoals\r\n });\r\n break;\r\n case 'information_to_manager_and_patient':\r\n keyValues.push({\r\n key: \"Information to Manager and Patient\",\r\n value: data.FirstMeetingInformationToManagerAndPatient || \" - \"\r\n });\r\n break;\r\n case 'informed_consent_gained_to_assess_and_treat':\r\n keyValues.push({\r\n key: \"Informed consent gained from employee to assess and treat\",\r\n value: data.InformedConsentGainedToAssessAndTreat ? 'Yes' : 'No' || \" - \"\r\n });\r\n break;\r\n case 'chronicity_of_injury':\r\n keyValues.push({\r\n key: \"Chronicity of injury\",\r\n value: $filter('translate')(data.ChronicityOfInjury) || \" - \"\r\n });\r\n break;\r\n }\r\n\r\n return keyValues;\r\n }\r\n\r\n function _dischargeData(questionAlias, data) {\r\n var keyValues = [];\r\n\r\n switch(questionAlias) {\r\n case 'discharge_date':\r\n keyValues.push({\r\n key: \"Date of discharge\",\r\n value: $filter('date')(data.DischargeDate, 'dd/MM/yyyy') || \" - \"\r\n });\r\n break;\r\n case 'doctor':\r\n keyValues.push({\r\n key: \"Assessor\",\r\n value: data.DischargeDoctor || \" - \"\r\n });\r\n break;\r\n case 'treatments':\r\n keyValues.push({\r\n key: \"Number of treatments\",\r\n value: data.DischargeTreatments || \" - \"\r\n });\r\n break;\r\n case 'phonetriage':\r\n keyValues.push({\r\n key: \"Telephone triage\",\r\n value: data.DischargePhoneTriage || \" - \"\r\n });\r\n\r\n if(data.FirstMeetingFIT) {\r\n keyValues.push({\r\n key: \"FIT note\",\r\n value: data.FirstMeetingHasReturnPlan ? 'Yes' : 'No' || \" - \"\r\n });\r\n }\r\n\r\n if(data.FirstMeetingHasReturnPlan) {\r\n keyValues.push({\r\n key: \"FIT note\",\r\n value: data.FirstMeetingReturnPlan || \" - \"\r\n });\r\n }\r\n break;\r\n case 'handson':\r\n keyValues.push({\r\n key: \"Hands on\",\r\n value: data.DischargeHandsOn || \" - \"\r\n });\r\n\r\n // if(data.WorkStatus == 'OFF_WORK') {\r\n // keyValues.push({\r\n // key: \"Date absence started\",\r\n // value: $filter('date')(data.FirstMeetingAbsenceDate, 'dd/MM/yyyy') || \" - \"\r\n // });\r\n // }\r\n //\r\n // if(data.WorkStatus == 'RETURNED_TO_WORK') {\r\n // keyValues.push({\r\n // key: \"Date returned to work\",\r\n // value: $filter('date')(data.FirstMeetingReturnedToWorkDate, 'dd/MM/yyyy') || \" - \"\r\n // });\r\n // }\r\n break;\r\n case 'pain_score':\r\n keyValues.push({\r\n key: \"Final pain score (VAS)\",\r\n value: data.DischargePain \r\n });\r\n break;\r\n case 'progress_therapist':\r\n keyValues.push({\r\n key: \"Percentage progress ( Therapist Perception )\",\r\n value: data.DischargePercentageProgressTherapist || \" - \"\r\n });\r\n break;\r\n case 'progress_patient':\r\n keyValues.push({\r\n key: \"Percentage progress ( Patient Perception )\",\r\n value: data.DischargePercentageProgressPatient || \" - \"\r\n });\r\n\r\n if(data.FirstMeetingDseasses) {\r\n keyValues.push({\r\n key: \"DSE Assessment\",\r\n value: data.FirstMeetingAdvanced || \" - \"\r\n });\r\n }\r\n break;\r\n case 'work_status':\r\n keyValues.push({\r\n key: \"Working status\",\r\n value: $filter('translate')(data.WorkStatus) || \" - \"\r\n });\r\n\r\n if(data.WorkStatus == 'RETURNED_TO_WORK' || data.WorkStatus == 'OFF_WORK') {\r\n keyValues.push({\r\n key: \"Date absence started\",\r\n value: $filter('date')(data.DischargeAbsenceDate, 'dd/MM/yyyy') || \" - \"\r\n });\r\n }\r\n\r\n if(data.WorkStatus == 'RETURNED_TO_WORK') {\r\n keyValues.push({\r\n key: \"Date returned to work\",\r\n value: $filter('date')(data.DischargeReturnedToWorkDate, 'dd/MM/yyyy') || \" - \"\r\n });\r\n }\r\n\r\n if(data.WorkStatus == 'OFF_WORK') {\r\n keyValues.push({\r\n key: \"Expected date of return\",\r\n value: $filter('date')(data.DischargeExpectedDateOfReturn, 'dd/MM/yyyy') || \" - \"\r\n });\r\n }\r\n break;\r\n case 'not_working_details':\r\n keyValues.push({\r\n key: \"If not back, please detail reason and intended action plan\",\r\n value: data.DischargeNotWorkingDetails || \" - \"\r\n });\r\n break;\r\n case 'summary':\r\n keyValues.push({\r\n key: \"Treatment summary and outcome\",\r\n value: data.DischargeOutcome || \" - \"\r\n });\r\n break;\r\n case 'more_sessions':\r\n keyValues.push({\r\n key: \"Request more Sessions\",\r\n value: data.DischargeRequestMoreSessions ? 'Yes' : 'No' || \" - \"\r\n });\r\n\r\n if(data.DischargeRequestMoreSessions) {\r\n keyValues.push({\r\n key: \"Extra Sessions Requested\",\r\n value: data.DischargeExtraSessionsNumber || \" - \"\r\n });\r\n }\r\n break;\r\n case 'goals_achieved':\r\n keyValues.push({\r\n key: \"Goals Achieved?\",\r\n value: data.DischargeGoalsAchieved ? 'Yes' : 'No' || \" - \"\r\n });\r\n\r\n if(!data.DischargeGoalsAchieved) {\r\n keyValues.push({\r\n key: \"Why?\",\r\n value: data.DischargeGoalsFailedExplanation || \" - \"\r\n });\r\n }\r\n break;\r\n case 'information_to_manager_and_patient':\r\n keyValues.push({\r\n key: \"Information to Manager and Patient\",\r\n value: data.DischargeInformationToManagerAndPatient || \" - \"\r\n });\r\n break;\r\n case 'informed_consent_gained_to_assess_and_treat':\r\n keyValues.push({\r\n key: \"Informed consent gained from employee to assess and treat\",\r\n value: data.InformedConsentGainedToAssessAndTreat ? 'Yes' : 'No' || \" - \"\r\n });\r\n\r\n break;\r\n case 'seen_gp':\r\n keyValues.push({\r\n key: \"Seen by GP\",\r\n value: data.DischargeGP ? 'Yes' : 'No' || \" - \"\r\n });\r\n break;\r\n }\r\n\r\n return keyValues;\r\n }\r\n\r\n function _managernotesData(questionAlias, data) {\r\n var keyValues = [];\r\n\r\n switch(questionAlias) {\r\n case 'manager_notes':\r\n keyValues.push({\r\n key: \"Comments\",\r\n value: data.ManagerNoteComments || \" - \"\r\n });\r\n break;\r\n }\r\n\r\n return keyValues;\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .factory('ReportService', ReportService);\r\n\r\n ReportService.$inject = ['$q', '$http', '$filter', '$cookies', 'SurveysService'];\r\n\r\n function ReportService($q, $http, $filter, $cookies, SurveysService) {\r\n\r\n var service = {\r\n GetKPIBasicReport: GetKPIBasicReport,\r\n GetKPIAdvancedReport: GetKPIAdvancedReport,\r\n GetEfficiencyReport: GetEfficiencyReport,\r\n GetTypeOfInjuryReport: GetTypeOfInjuryReport,\r\n GetConditionTypeReport: GetConditionTypeReport,\r\n GetSameInjuryWithPreviousReferralReport: GetSameInjuryWithPreviousReferralReport,\r\n GetTypeOfInjuryPerDepartmentReport: GetTypeOfInjuryPerDepartmentReport,\r\n GetHighestTypeOfInjuryPerDepartmentReport: GetHighestTypeOfInjuryPerDepartmentReport,\r\n GetReferralsConfirmedWithin24HoursReport: GetReferralsConfirmedWithin24HoursReport,\r\n GetHandlingRequestReport: GetHandlingRequestReport,\r\n GetChronicityReport: GetChronicityReport,\r\n GetTypeOfWorkReport: GetTypeOfWorkReport,\r\n GetGeneralReport: GetGeneralReport,\r\n };\r\n\r\n return service;\r\n\r\n function GetKPIBasicReport(dateFrom, dateTo) {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/reports/kpi_basic_report/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl') + \"&dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/reports/kpi_basic_report/\" + \"?dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetKPIAdvancedReport(dateFrom, dateTo) {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/reports/kpi_advanced_report/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl') + \"&dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/reports/kpi_advanced_report/\" + \"?dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetEfficiencyReport(dateFrom, dateTo) {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/reports/efficiency_report/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl') + \"&dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/reports/efficiency_report/\" + \"?dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetTypeOfInjuryReport(dateFrom, dateTo) {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/reports/type_of_injury_report/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl') + \"&dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/reports/type_of_injury_report/\" + \"?dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetConditionTypeReport(dateFrom, dateTo) {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/reports/condition_type_report/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl') + \"&dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/reports/condition_type_report/\" + \"?dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetSameInjuryWithPreviousReferralReport(dateFrom, dateTo) {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/reports/same_injury_with_previous_referral_report/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl') + \"&dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/reports/same_injury_with_previous_referral_report/\" + \"?dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetTypeOfInjuryPerDepartmentReport(dateFrom, dateTo) {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/reports/type_of_injury_per_department_report/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl') + \"&dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/reports/type_of_injury_per_department_report/\" + \"?dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetHighestTypeOfInjuryPerDepartmentReport(dateFrom, dateTo) {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/reports/highest_type_of_injury_per_department_report/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl') + \"&dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/reports/highest_type_of_injury_per_department_report/\" + \"?dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetReferralsConfirmedWithin24HoursReport(dateFrom, dateTo) {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/reports/referrals_confirmed_within_24_hours_report/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl') + \"&dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/reports/referrals_confirmed_within_24_hours_report/\" + \"?dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetHandlingRequestReport(dateFrom, dateTo) {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/reports/handling_request_report/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl') + \"&dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/reports/handling_request_report/\" + \"?dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetChronicityReport(dateFrom, dateTo) {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/reports/chronicity_report/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl') + \"&dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/reports/chronicity_report/\" + \"?dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetTypeOfWorkReport(dateFrom, dateTo) {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/reports/type_of_work_report/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl') + \"&dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/reports/type_of_work_report/\" + \"?dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetGeneralReport(dateFrom, dateTo) {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/reports/general_report/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl') + \"&dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/reports/general_report/\" + \"?dateTimeFrom=\" + dateFrom + \"&dateTimeTo=\" + dateTo)\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .factory('MultilingualService', MultilingualService)\r\n\r\n MultilingualService.$inject = [\"LocaleMap\"];\r\n\r\n function MultilingualService(LocaleMap) {\r\n\r\n var service = {\r\n Extend: Extend,\r\n Clean: Clean,\r\n }\r\n\r\n return service;\r\n\r\n function Extend(item) {\r\n var _ret = [];\r\n _.each(LocaleMap, function(locale,language) {\r\n\r\n if (typeof item === \"undefined\") {\r\n item = {};\r\n }\r\n if (typeof item.Translations === \"undefined\") {\r\n item.Translations = [];\r\n }\r\n\r\n var _i = _.find(item.Translations, function(translation) {\r\n return translation.Language.Code == locale;\r\n })\r\n\r\n if (_.isUndefined(_i)) {\r\n _ret.push({\r\n Language: {\r\n Code: locale\r\n }\r\n });\r\n } else {\r\n _i.Language = {\r\n Code: locale\r\n }\r\n _ret.push(_i);\r\n }\r\n\r\n })\r\n\r\n item.Translations = _ret;\r\n return item;\r\n }\r\n\r\n function Clean(_prop) {\r\n if (_.isArray(_prop)) {\r\n _prop = _.map(_prop, function(item) {\r\n return _cleanItem(item);\r\n });\r\n } else {\r\n _prop = _cleanItem(_prop);\r\n }\r\n return _prop;\r\n }\r\n\r\n function _cleanItem(item) {\r\n var _d = _.find(item.Translations, function(i) {\r\n return i.Language.Code == APP.Client.System.Locale;\r\n });\r\n _d = _.omit(_d, ['Language', 'ID']);\r\n _.extend(item, _d);\r\n return _.omit(item, 'Translations');\r\n }\r\n\r\n }\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .factory('EnumsService', EnumsService);\r\n\r\n EnumsService.$inject = ['$q', '$http', '$filter', '$cookies', 'ClientsService'];\r\n\r\n function EnumsService($q, $http, $filter, $cookies, ClientsService) {\r\n\r\n var service = {\r\n GetClientEnum: GetClientEnum\r\n };\r\n\r\n return service;\r\n\r\n function GetClientEnum(enumList,domain) {\r\n var _currentDomain = ClientsService._ClientDomain;\r\n if(!_.isUndefined(domain) && domain!= null && domain.length>0 )\r\n {\r\n _currentDomain = domain;\r\n }\r\n var clientEnum = [];\r\n //Ελέγχουμε αν υπάρχουν δηλωμένα types ειδικά για αυτό το συμβόλαιο\r\n var existsExplicitRefTypesForContract = _.find(enumList, function (type) {\r\n var result = false;\r\n var elements = type.split('#');\r\n if (elements.length > 1 && _currentDomain.toUpperCase() == elements[0].toUpperCase()) {\r\n result = true;\r\n }\r\n return result\r\n });\r\n //Φιλτράρουμε τα types για το συμβόλαιο\r\n clientEnum = _.filter(enumList, function (type) {\r\n var result = false;\r\n var elements = type.split('#');\r\n if (elements.length > 1 && _currentDomain.toUpperCase() == elements[0].toUpperCase()) {\r\n result = true;\r\n }\r\n else if (elements.length == 1 && !existsExplicitRefTypesForContract) {\r\n result = true;\r\n }\r\n\r\n return result\r\n });\r\n\r\n //Αφαιρούμε από τα types την ενδειξη του συμβολαίου για να δουλέψει η προεπιλογή ngmodel με αυτό που επιστρέφει το api.\r\n clientEnum = _.map(clientEnum, function (type) {\r\n var result = '';\r\n var elements = type.split('#');\r\n if (elements.length > 1 && _currentDomain.toUpperCase() == elements[0].toUpperCase()) {\r\n result = elements[1].toUpperCase();\r\n }\r\n else if (elements.length == 1 && !existsExplicitRefTypesForContract) {\r\n result = type;\r\n }\r\n\r\n return result\r\n });\r\n\r\n return clientEnum;\r\n }\r\n\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .factory('DashboardService', DashboardService);\r\n\r\n DashboardService.$inject = ['$q', '$http', '$filter', '$cookies', 'SurveysService'];\r\n\r\n function DashboardService($q, $http, $filter, $cookies, SurveysService) {\r\n\r\n var service = {\r\n GetChart: GetChart,\r\n GetRecentReferrals: GetRecentReferrals,\r\n GetLateReferrals: GetLateReferrals,\r\n GetStatistics: GetStatistics,\r\n GetLatestAppointments: GetLatestAppointments,\r\n GetDischargesPerMonth: GetDischargesPerMonth,\r\n GetNewUsersPerMonth: GetNewUsersPerMonth,\r\n GetNumberOfDaysSavedPerMonth: GetNumberOfDaysSavedPerMonth,\r\n GetAppointmentsPerMonth: GetAppointmentsPerMonth,\r\n GetEfficiencyPerMonth: GetEfficiencyPerMonth,\r\n };\r\n\r\n return service;\r\n\r\n function GetChart() {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/dashboard/chart/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl'))\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/dashboard/chart\")\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetRecentReferrals() {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/dashboard/recent_referrals/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl'))\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/dashboard/recent_referrals\")\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetLateReferrals() {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/dashboard/late_referrals/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl'))\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/dashboard/late_referrals\")\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetStatistics() {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/dashboard/statistics/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl'))\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/dashboard/statistics\")\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetLatestAppointments() {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/dashboard/latest_appointments/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl'))\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/dashboard/latest_appointments\")\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetDischargesPerMonth() {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/dashboard/discharges_per_month/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl'))\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/dashboard/discharges_per_month\")\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetNewUsersPerMonth() {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/dashboard/new_users_per_month/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl'))\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/dashboard/new_users_per_month\")\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetNumberOfDaysSavedPerMonth() {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/dashboard/number_of_days_saved_per_month/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl'))\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/dashboard/number_of_days_saved_per_month\")\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetAppointmentsPerMonth() {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/dashboard/appointments_per_month/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl'))\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/dashboard/appointments_per_month\")\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n function GetEfficiencyPerMonth() {\r\n if(SurveysService._ClientID !== null) {\r\n return $http\r\n .get(APP.Service + \"/dashboard/efficiency_per_month/?CID=\" + SurveysService._ClientID + '&rl=' + $cookies.get('rl'))\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n else {\r\n return $http\r\n .get(APP.Service + \"/dashboard/efficiency_per_month\")\r\n .then(function(results){\r\n return results.data;\r\n });\r\n }\r\n }\r\n\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .factory('api', api)\r\n\r\n api.$inject = ['$resource'];\r\n\r\n function api($resource) {\r\n\r\n var service = {\r\n defaultConfig: {\r\n ID: '@ID'\r\n },\r\n extraMethods: {\r\n 'update': {\r\n method: 'PUT'\r\n }\r\n },\r\n add: add,\r\n }\r\n\r\n return service;\r\n\r\n function add(config) {\r\n var params,\r\n url;\r\n\r\n // If the add() function is called with a\r\n // String, create the default configuration.\r\n if (angular.isString(config)) {\r\n var configObj = {\r\n resource: config,\r\n url: APP.Service + '/' + config\r\n };\r\n\r\n config = configObj;\r\n }\r\n\r\n // If the url follows the expected pattern, we can set cool defaults\r\n if (!config.unnatural) {\r\n var orig = angular.copy(service.defaultConfig);\r\n params = angular.extend(orig, config.params);\r\n url = config.url + '/:ID';\r\n\r\n // otherwise we have to declare the entire configuration.\r\n } else {\r\n params = config.params;\r\n url = config.url;\r\n }\r\n\r\n // If we supply a method configuration, use that instead of the default extra.\r\n var methods = config.methods || service.extraMethods;\r\n\r\n service[config.resource] = $resource(url, params, methods);\r\n }\r\n\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .provider('routerHelper', routerHelperProvider);\r\n\r\n routerHelperProvider.$inject = ['$locationProvider', '$stateProvider', '$urlRouterProvider'];\r\n /* @ngInject */\r\n function routerHelperProvider($locationProvider, $stateProvider, $urlRouterProvider) {\r\n /* jshint validthis:true */\r\n this.$get = RouterHelper;\r\n\r\n // $locationProvider.html5Mode(true);\r\n\r\n RouterHelper.$inject = ['$state'];\r\n\r\n function RouterHelper($state) {\r\n var hasOtherwise = false;\r\n\r\n var service = {\r\n configureStates: configureStates,\r\n getStates: getStates\r\n };\r\n\r\n return service;\r\n\r\n function configureStates(states, otherwisePath) {\r\n states.forEach(function(state) {\r\n\r\n var config = {\r\n controllerAs: 'vm',\r\n };\r\n\r\n angular.extend(config, state.config);\r\n\r\n if (APP.Client.System.Debug) {\r\n // console.log(\"[INIT:STATE] %s\", state.state);\r\n }\r\n\r\n if (config.views) {\r\n _.each(config.views, function(item) {\r\n item.controllerAs = 'vm';\r\n });\r\n }\r\n\r\n $stateProvider.state(state.state, config);\r\n });\r\n if (otherwisePath && !hasOtherwise) {\r\n hasOtherwise = true;\r\n $urlRouterProvider.otherwise(otherwisePath);\r\n }\r\n }\r\n\r\n function getStates() {\r\n return $state.get();\r\n }\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .provider('modalHelper', modalHelperProvider);\r\n\r\n modalHelperProvider.$inject = [];\r\n /* @ngInject */\r\n function modalHelperProvider() {\r\n /* jshint validthis:true */\r\n this.$get = modalHelper;\r\n\r\n modalHelper.$inject = ['$uibModal', '$q', 'toaster'];\r\n\r\n function modalHelper($uibModal, $q, toaster) {\r\n\r\n var service = {\r\n configureModals: configureModals\r\n };\r\n\r\n return service;\r\n\r\n function configureModals(modals) {\r\n var _ret = {};\r\n angular.forEach(modals, function(modal) {\r\n _ret[modal.modal] = function(obj) {\r\n var config = {\r\n controllerAs: 'vm',\r\n backdrop: \"static\",\r\n resolve: {\r\n ModalParams: function() {\r\n return obj || {};\r\n }\r\n }\r\n };\r\n angular.extend(config, modal.config);\r\n\r\n return $uibModal\r\n .open(config)\r\n .result\r\n .then(ModalResultComplete)\r\n .catch(ModalResultFailed);\r\n\r\n function ModalResultComplete(response) {\r\n return response;\r\n }\r\n\r\n function ModalResultFailed(reason) {\r\n if (reason && reason !== \"backdrop click\") {\r\n return $q.reject();\r\n }\r\n }\r\n };\r\n });\r\n return _ret;\r\n }\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .provider('$data', DataProvider);\r\n\r\n DataProvider.$inject = [];\r\n\r\n function DataProvider() {\r\n var provider = this;\r\n provider.list = list;\r\n provider.get = get;\r\n provider.$get = $data;\r\n\r\n function list(resource, query) {\r\n return [\r\n 'data',\r\n function(data) { // inject the data service\r\n return data.list(resource, query);\r\n }\r\n ]\r\n }\r\n\r\n function get(resource, query) {\r\n return [\r\n 'data',\r\n function(data) {\r\n return data.get(resource, query);\r\n }\r\n ]\r\n }\r\n\r\n $data.$inject = ['api'];\r\n function $data(api) {\r\n\r\n var service = {\r\n list: list,\r\n get: get,\r\n save: save,\r\n create: create,\r\n update: update,\r\n remove: remove\r\n };\r\n\r\n return service;\r\n\r\n\r\n function list(resource, query) {\r\n return api[resource].query(query).$promise;\r\n }\r\n\r\n function get(resource, query) {\r\n return api[resource].get(query).$promise;\r\n }\r\n\r\n function save(resource, model) {\r\n if (model.ID) {\r\n return service.update(resource, model);\r\n } else {\r\n return service.create(resource, model);\r\n }\r\n }\r\n\r\n function create(resource, model) {\r\n return api[resource].save(model).$promise;\r\n }\r\n\r\n function update(resource, model) {\r\n return api[resource].update(model).$promise;\r\n }\r\n\r\n function remove(resource, model) {\r\n return api[resource].remove({\r\n ID: model.ID\r\n }).$promise;\r\n }\r\n\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .provider('configHelper', configHelperProvider);\r\n\r\n configHelperProvider.$inject = [];\r\n\r\n function configHelperProvider() {\r\n /* jshint validthis:true */\r\n this.$get = ConfigHelper;\r\n\r\n // $locationProvider.html5Mode(true);\r\n\r\n ConfigHelper.$inject = [];\r\n\r\n function ConfigHelper() {\r\n\r\n var service = {\r\n notifyConfig: notifyConfig\r\n };\r\n\r\n return service;\r\n\r\n //function notifyConfig() {}\r\n function notifyConfig(configName, message) {\r\n message = message || {};\r\n if (APP.Client.System.Debug) {\r\n console.log(\"%c CONFIG - \" + configName + \" \", 'background: #9C27B0; color: #FFF', message);\r\n }\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .filter('numberFixedLen', numberFixedLen)\r\n\r\n numberFixedLen.$inject = []\r\n\r\n function numberFixedLen() {\r\n return function(a, b) {\r\n return (1e4 + a + \"\").slice(-b)\r\n }\r\n }\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .filter('htmlTrusted', htmlTrusted)\r\n\r\n htmlTrusted.$inject = ['$sce']\r\n\r\n function htmlTrusted($sce) {\r\n return function(text) {\r\n return $sce.trustAsHtml(text);\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .filter('htmlToPlaintext', htmlToPlaintext)\r\n\r\n htmlToPlaintext.$inject = []\r\n\r\n function htmlToPlaintext() {\r\n return function(text) {\r\n return text ? String(text).replace(/<[^>]+>/gm, '') : '';\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .filter('fromNow', fromNow)\r\n\r\n fromNow.$inject = []\r\n\r\n function fromNow() {\r\n return function(date) {\r\n return moment(date).fromNow();\r\n }\r\n }\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .filter('fileicon', fileicon)\r\n\r\n fileicon.$inject = []\r\n\r\n function fileicon() {\r\n var _icons = {\r\n \"application/pdf\": \"fa-file-pdf-o\",\r\n \"application/powerpoint\": \"fa-file-powerpoint-o\",\r\n \"application/x-msword\": \"fa-file-word-o\",\r\n \"application/x-msexcel\": \"fa-file-excel-o\",\r\n \"application/x-mspowerpoint\": \"fa-file-powerpoint-o\",\r\n \"audio/x-mpeg-3\": \"fa-file-audio-o\",\r\n \"image/gif\": \"fa-file-image-o\",\r\n \"image/png\": \"fa-file-image-o\",\r\n \"image/tiff\": \"fa-file-image-o\",\r\n \"image/jpeg\": \"fa-file-image-o\",\r\n \"video/avi\": \"fa-file-video-o\",\r\n \"video/mpeg\": \"fa-file-video-o\",\r\n \"video/msvideo\": \"fa-file-video-o\",\r\n \"video/quicktime\": \"fa-file-video-o\",\r\n \"application/zip\": \"fa-file-zip-o\"\r\n };\r\n return function(a) {\r\n return _icons[a] || \"fa-file-o\";\r\n }\r\n }\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .filter('bytes', bytes)\r\n\r\n bytes.$inject = []\r\n\r\n function bytes() {\r\n return function(bytes, precision) {\r\n if (isNaN(parseFloat(bytes)) || !isFinite(bytes)) return '-';\r\n if (typeof precision === 'undefined') precision = 1;\r\n var units = ['bytes', 'kB', 'MB', 'GB', 'TB', 'PB'],\r\n number = Math.floor(Math.log(bytes) / Math.log(1024));\r\n return (bytes / Math.pow(1024, Math.floor(number))).toFixed(precision) + ' ' + units[number];\r\n }\r\n }\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .directive('ngMatch', ngMatch)\r\n\r\n ngMatch.$inject = ['$parse']\r\n\r\n function ngMatch($parse) {\r\n\r\n var directive = {\r\n link: link,\r\n restrict: 'A',\r\n require: '?ngModel'\r\n };\r\n return directive;\r\n\r\n function link(scope, elem, attrs, ctrl) {\r\n // if ngModel is not defined, we don't need to do anything\r\n if (!ctrl) return;\r\n if (!attrs[directiveId]) return;\r\n\r\n var firstPassword = $parse(attrs[directiveId]);\r\n\r\n var validator = function(value) {\r\n var temp = firstPassword(scope),\r\n v = value === temp;\r\n ctrl.$setValidity('match', v);\r\n return value;\r\n }\r\n\r\n ctrl.$parsers.unshift(validator);\r\n ctrl.$formatters.push(validator);\r\n attrs.$observe(directiveId, function() {\r\n validator(ctrl.$viewValue);\r\n });\r\n\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular.module('app', [\r\n 'app.admin',\r\n // 'app.master',\r\n 'app.landing',\r\n 'app.shared',\r\n ]);\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app')\r\n .directive('goBack', goBack);\r\n\r\n goBack.$inject = ['$window'];\r\n\r\n function goBack($window) {\r\n return {\r\n restrict: 'A',\r\n link: function(scope, element) {\r\n element.bind('click', function() {\r\n $window.history.back();\r\n });\r\n }\r\n };\r\n }\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .directive('errSrc', errSrc)\r\n\r\n errSrc.$inject = []\r\n\r\n function errSrc() {\r\n return {\r\n link: function(scope, element, attrs) {\r\n if(!attrs.ngSrc){\r\n attrs.$set('src', attrs.errSrc);\r\n }\r\n\r\n element.bind('error', function() {\r\n\r\n if (attrs.errSrc == \"REMOVE\") {\r\n element.remove();\r\n return;\r\n }\r\n if (attrs.src != attrs.errSrc) {\r\n attrs.$set('src', attrs.errSrc);\r\n }\r\n });\r\n\r\n }\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .directive('clickOff', clickOff)\r\n\r\n clickOff.$inject = []\r\n\r\n function clickOff() {\r\n return {\r\n restrict: 'A',\r\n link: function(scope, element, attrs) {\r\n var isOff;\r\n isOff = true;\r\n angular.element(document.body).bind('click', function() {\r\n if (isOff) {\r\n scope.$eval(attrs.clickOff);\r\n scope.$digest();\r\n }\r\n return isOff = true;\r\n });\r\n return element.bind('click', function() {\r\n isOff = false;\r\n });\r\n }\r\n };\r\n }\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .directive('bytes', bytes)\r\n\r\n bytes.$inject = []\r\n\r\n function bytes() {\r\n return function(bytes, precision) {\r\n if (isNaN(parseFloat(bytes)) || !isFinite(bytes)) return '-';\r\n if (typeof precision === 'undefined') precision = 1;\r\n var units = ['bytes', 'kB', 'MB', 'GB', 'TB', 'PB'],\r\n number = Math.floor(Math.log(bytes) / Math.log(1024));\r\n return (bytes / Math.pow(1024, Math.floor(number))).toFixed(precision) + ' ' + units[number];\r\n }\r\n }\r\n\r\n}());\r\n","\r\n/* jshint -W097, -W033 */\r\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .directive('autoSubmitForm', autoSubmitForm)\r\n\r\n autoSubmitForm.$inject = ['$timeout', '$sce']\r\n\r\n function autoSubmitForm($timeout, $sce) {\r\n\r\n var directive = {\r\n replace: true,\r\n scope: {},\r\n template: '
' +\r\n '
' +\r\n '' +\r\n '
' +\r\n '
',\r\n link: function ($scope, element, $attrs) {\r\n $scope.$on($attrs['event'], function (event, data) {\r\n /* console.log('DATA', data);\r\n data.redirectUrl = $sce.trustAsUrl(data.redirectUrl),\r\n console.log('DATA2', data);*/\r\n $scope.formData = data;\r\n console.log('redirecting now!',element);\r\n var timer = $timeout(function () {\r\n element.submit();\r\n //$timeout.cancel(timer);\r\n },500);\r\n \r\n })\r\n }\r\n };\r\n\r\n return directive;\r\n }\r\n\r\n}());","(function() {\r\n 'use strict';\r\n\r\n angular.module('app.shared')\r\n\r\n .constant('LocaleMap', {\r\n \"greek\": \"el-gr\",\r\n \"english\": \"en-gb\",\r\n });\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular.module('app')\r\n\r\n .constant('ErrorPages', {\r\n \"GENERIC\": {\r\n \"Icon\": \"exclamation-circle\",\r\n \"Message\": \"Generic Error\"\r\n },\r\n \"ERR_CONNECTION_REFUSED\": {\r\n \"Icon\": \"unlink\",\r\n \"Message\": \"Could not connect\",\r\n \"Description\": \"Server is anavailable. Please try again later.\"\r\n },\r\n })\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular.module('app.shared')\r\n\r\n .constant('ErrorPages', {\r\n \"GENERIC\": {\r\n \"Icon\": \"exclamation-circle\",\r\n \"Message\": \"Generic Error\"\r\n },\r\n \"ERR_CONNECTION_REFUSED\": {\r\n \"Icon\": \"unlink\",\r\n \"Message\": \"Could not connect\",\r\n \"Description\": \"Server is anavailable. Please try again later.\"\r\n },\r\n })\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular.module('app')\r\n\r\n .constant('ReferralType', [\r\n \"PEOPLE\",\r\n \"PLACE\",\r\n \"STRATEGY_CUSTOMER_SERVICES\",\r\n \"DEMOCRACY_LAW_TRANSFORMATION\",\r\n \"FINANCE_RESOURCES\",\r\n \"ENTRUST\",\r\n \"SCHOOLS\",\r\n \"PUBLIC_HEALTH\",\r\n \"ECONOMY\",\r\n \"HEALTH_CARE\",\r\n \"FAMILIES_COMMUNITIES\",\r\n \"STRATEGY_GOV_CHANGE\",\r\n \"STOKECC#CHILDREN_FAMILY_SERVICES\",\r\n \"STOKECC#CITY_DIRECTOR\",\r\n \"STOKECC#PLACE_GROWTH_PROSPERITY\",\r\n \"STOKECC#HOUSING_CUSTOMER_SERVICE\",\r\n \"STOKECC#PUBLIC_HEALTH_ADULT_SOCIAL_CARE\",\r\n \"STOKECC#UNITAS\",\r\n \"STOKECC#OTHER\",\r\n \"AP#PLANT_OPERATORS_BAYMAN\",\r\n \"AP#PLANT_SUPERVISOR\",\r\n \"AP#WAREHOUSE_FOREMAN\",\r\n \"AP#GENERAL_DUTIES_OPERATIVE\",\r\n \"AP#APEX\",\r\n \"AP#ENGINEER\",\r\n \"AP#TECHNICIAN\",\r\n \"AP#PACKAGE_GASES_DRIVER\",\r\n \"AP#BULK_DRIVER\",\r\n \"AP#CRYOEASE_DRIVER\",\r\n \"AP#SALES_CENTRE_DRIVER\",\r\n \"AP#ADMIN\",\r\n \"SCC#CORPORATE_SERVICES\",\r\n \"SCC#ECONOMY_INFRASTRUCTURE_AND_SKILLS\",\r\n \"SCC#HEALTH_AND_CARE\",\r\n \"SCC#SCHOOLS\",\r\n \"SCC#ENTRUST\",\r\n \"AISIN#ZONE_1_A\",\r\n \"AISIN#ZONE_1\",\r\n \"AISIN#ZONE_2\",\r\n \"AISIN#ZONE_3\",\r\n \"AISIN#ZONE_4\",\r\n \"AISIN#ZONE_5\",\r\n \"AISIN#ZONE_6\",\r\n \"AISIN#ZONE_7\",\r\n \"AISIN#ZONE_8\",\r\n \"AISIN#ZONE_9\",\r\n \"AISIN#ZONE_10_A\",\r\n \"AISIN#ZONE_10_B\",\r\n \"AISIN#ZONE_10_C\",\r\n \"AISIN#ZONE_10_D\",\r\n \"AISIN#ZONE_10_E\",\r\n \"AISIN#ZONE_10_F\",\r\n \"AISIN#ZONE_10_G\",\r\n \"SCC#CHILDREN_FAMILIES\",\r\n \"SCC#FINANCE\"\r\n ])\r\n\r\n\r\n\r\n .constant('AnsaJobTitle', [\r\n \"ABORTIST\",\r\n \"BUILDING_SUPPORT_OFFICE\",\r\n \"BUSINESS_CHANGE_OFFICER\",\r\n \"BUSINESS_DEVELOPMENT_COORDINATOR\",\r\n \"BUSINESS_DEVELOPMENT_OFFICER\",\r\n \"BUSINESS_MANAGER_PARKS_AND_GROUNDS\",\r\n \"MANAGING_DIRECTOR\",\r\n \"WASTE_RECYCLING_LOADER\",\r\n \"WASTE_RECYCLING_HGV_DRIVER_LOADER\",\r\n \"WASTE_RECYCLING_TEAM_LEADER\",\r\n \"SENIOR_TECHNICAL_OFFICER\",\r\n \"TECHNICAL_OFFICER\",\r\n \"WASTE_FLEET_OPERATIONS_MANAGER\",\r\n \"LGV_SWEEPER_DRIVER\",\r\n \"SENIOR_TEAM_LEADER_STREET_CLEANSING\",\r\n \"WASTE_RECYCLING_AND_TEAM_LEADER_PERFORMANCE\",\r\n \"WASTE_RECYCLING_AND_TEAM_LEADER\",\r\n \"OPERATIONS_MANAGER\",\r\n \"WASTE_COLLECTION_AND_TRANSFER_MANAGER\",\r\n \"TRASNFER_STATION_PLANT_OPERATOR\",\r\n \"MODERN_APPRENTICE\",\r\n \"BUSINESS_MANAGER_WASTE_AND_STREET_CLEANSING\",\r\n \"TEAM_LEADER_BUSINESS_SUPPORT\",\r\n \"PARKS_INSPECTION_AND_DELIVERY_TEAM_LEADER\",\r\n \"SENIOR_TEAM_LEADER_GROUNDS\",\r\n \"GROUNDS_OPERATIVE\",\r\n \"GROUNDS_SUPERVISOR\",\r\n \"STREET_CLEANSING_AND_GROUNDS_SUPERVISOR\",\r\n \"MARKET_SUPERVISOR\",\r\n \"MARKETS_TEAM_LEADER\",\r\n \"MARKET_DRIVER_OPERATOR\",\r\n \"MARKET_OPERATOR\",\r\n \"ENVIRONMENTAL_SERVICES_ADMIN_ASSISTANT\",\r\n \"PARKS_PLANNING_AND_DESIGN_CONSULTANT\",\r\n \"PARKS_DEVELOPMENT_CONSULTANS\",\r\n \"PARKS_AND_RECREATION_MANAGER\",\r\n \"PUBLIC_CONVENIENCE_CLEANER\",\r\n \"FLEET_AND_DRIVER_TRAINING_MANAGER\",\r\n \"MECHANIC_FITTER\",\r\n \"INTERNAL_MAINTENANCE_WORKSHOP_MANAGER\",\r\n \"TRADES_ASSISTANT\",\r\n \"WORKSHOP_TEAM_LEADER\",\r\n \"SENIOR_TEAM_LEADER_BUSINESS_SUPPORT\",\r\n \"TRAINER_AUDITOR\",\r\n \"BUSINESS_SUPPORT_OFFICER\",\r\n \"WASTE_CONTRACT_INSPECTOR\",\r\n \"CONTRACT_AND_PROCUMENT_MANAGER\",\r\n \"CONTRACT_AND_PROCUMENT_OFFICER\",\r\n \"HR_BUSINESS_PARTNER\",\r\n \"GROUP_HEAD_OF_HR_AND_OD\",\r\n \"SWEEPER_DRIVER\",\r\n \"STREET_CLEANSING_OPERATIVE\",\r\n \"SCHOOL_CROSSING_PATROL\",\r\n \"TRANSPORT_OPERATIONS_OFFICER\",\r\n \"DRIVER_ATTENDANT\",\r\n \"OPERATIONS_ASSISTANT\",\r\n \"LSTF_PROJECT_OFFICER\",\r\n \"TRANSPORT_MANAGER\",\r\n \"ADMINISTRATIVE_ASSISTANT\",\r\n \"FINANCE_OFFICER\",\r\n \"MONITORING_OFFICER\",\r\n \"PUBLICITY_AND_INFORMATION_OFFICER\",\r\n \"CONTRACTS_ASSISTANT\",\r\n \"SENIOR_ADMINISTRATOR\",\r\n \"SHOPMOBILITY_ATTENDANT\",\r\n \"ACCESSIBILITY_OFFICER\",\r\n \"CONTRACTS_AND_PERFORMANCE_MANAGER\",\r\n \"SPECIALISED_TRANSPORT_MANAGER\",\r\n \"BUSINESS_AND_PROJECTS_MANAGER\",\r\n \"CONTRACTS_AND_PROCUREMENT_ADMINISTRATOR\",\r\n \"FINANCE_MANAGER\",\r\n \"SPECIALISED_TRANSPORT_OFFICER\",\r\n \"GBM\",\r\n \"ROM\",\r\n \"TM\",\r\n \"BSM\",\r\n \"HSM\",\r\n \"HBP\",\r\n \"STL\",\r\n \"TL\",\r\n \"SWT\",\r\n \"FSO\",\r\n \"BSO\",\r\n \"STO\",\r\n \"CO\",\r\n \"EO\",\r\n \"TWO\",\r\n \"DL\",\r\n \"LOA\",\r\n \"CW\",\r\n \"SSO\",\r\n \"CG\",\r\n \"SSOS\",\r\n \"HWO\",\r\n \"SGM\",\r\n \"AGM\",\r\n \"WT\",\r\n \"APPREN\",\r\n \"ARBMAN\",\r\n \"BIN\",\r\n \"BUS\",\r\n \"BFO\",\r\n \"BMO\",\r\n \"BSM\",\r\n \"BTM\",\r\n \"CTC\",\r\n \"CLE\",\r\n \"CTM\",\r\n \"CM\",\r\n \"CO\",\r\n \"CEO\",\r\n \"CPM\",\r\n \"CPA\",\r\n \"CTR\",\r\n \"CSA\",\r\n \"DMD\",\r\n \"DHRCS\",\r\n \"DRI\",\r\n \"ENV\",\r\n \"FCM\",\r\n \"FWM\",\r\n \"GTA\",\r\n \"GDA\",\r\n \"HGD\",\r\n \"HRAD\",\r\n \"HRA\",\r\n \"HRSM\",\r\n \"LER\",\r\n \"LVMA\",\r\n \"LVMO\",\r\n \"MCL\",\r\n \"MM\",\r\n \"MPO\",\r\n \"NED\",\r\n \"OPAD\",\r\n \"OPSO\",\r\n \"PADM\",\r\n \"PAMD\",\r\n \"PARC\",\r\n \"PADA\",\r\n \"PAID\",\r\n \"PAAS\",\r\n \"PRCO\",\r\n \"PRDM\",\r\n \"REC\",\r\n \"SSSO\",\r\n \"STLW\",\r\n \"STTL\",\r\n \"STI\",\r\n \"STRTL\",\r\n \"SSO\",\r\n \"SSS\",\r\n \"SC\",\r\n \"SCO\",\r\n \"SGSC\",\r\n \"TLFL\",\r\n \"TLWR\",\r\n \"TSPO\",\r\n \"TRAD\",\r\n \"TRSM\",\r\n \"TRIN\",\r\n \"TRTL\",\r\n \"WTPO\",\r\n \"WTSM\",\r\n \"WTSP\",\r\n \"WELL\",\r\n \"BER\",\r\n \"OTL\",\r\n \"CT\",\r\n \"BA\",\r\n \"BM\",\r\n \"HP\",\r\n \"AA\"\r\n ])\r\n\r\n .constant('AnsaWorkLocation', [\r\n \"ANSA_PYMS_LANE_DEPOT\",\r\n \"ANSA_WESTFIELDS\",\r\n \"ANSA_COMMERCIAL_ROAD_DEPOT\",\r\n \"ANSA_WEST_PARK_DEPOT\",\r\n \"ANSA_MUNICIPAL_OFFICES\",\r\n \"ANSA_BRUNSWICK_WHARF\",\r\n \"ANSA_CREWE_INDOOR_MARKET\",\r\n \"ANSA_MACCLESFIELD_TOWN_HALL\",\r\n \"ANSA_MACCLESFIELD_OUTDOOR_MARKET\",\r\n \"ANSA_MACCLESFIELD_INDOOR_MARKET\",\r\n \"ANSA_CREWE_MUNICIPAL_BUILDINGS\",\r\n \"ANSA_QUEENS_PARK\",\r\n \"ANSA_PHOENIX_HOUSE\",\r\n \"ANSA_BROOKS_LANE_MIDDLEWICH\",\r\n \"ANSA_CLEDFORD_LANE\",\r\n \"ORBITAS#ORBITAS_SOUTH\",\r\n \"ORBITAS#ORBITAS_NORTH\",\r\n \"AP#ABERDEEN\",\r\n \"AP#API_DUBLIN\",\r\n \"AP#BARDON\",\r\n \"AP#BARGEDDIE\",\r\n \"AP#BARNSLEY\",\r\n \"AP#BASINGSTOKE\",\r\n \"AP#BASINGSTOKE_ETG\",\r\n \"AP#BELFAST_SC\",\r\n \"AP#BILLINGHAM\",\r\n \"AP#BLACKPOOL_SC\",\r\n \"AP#BOW_SC\",\r\n \"AP#CARDIFF\",\r\n \"AP#CARRINGTON\",\r\n \"AP#MILLENNIUM_GATE\",\r\n \"AP#DIDCOT\",\r\n \"AP#DUBLIN_DEPOT\",\r\n \"AP#DUNDEE_SC\",\r\n \"AP#EDMONTON\",\r\n \"AP#ELLESMERE_PORT\",\r\n \"AP#FAWLEY\",\r\n \"AP#EXETER_SC\",\r\n \"AP#GALWAY\",\r\n \"AP#GATESHEAD_SC\",\r\n \"AP#HAMILTON\",\r\n \"AP#HERSHAM\",\r\n \"AP#HOME_BASED\",\r\n \"AP#HULL\",\r\n \"AP#HULL_SC\",\r\n \"AP#INVERGORDON_SC\",\r\n \"AP#INTEL_LEIXLIP\",\r\n \"AP#LIMERICK\",\r\n \"AP#LLANWERN\",\r\n \"AP#MANCHESTER_SC\",\r\n \"AP#MARGAM\",\r\n \"AP#PETERBOROUGH_SC\",\r\n \"AP#MOTHERWELL\",\r\n \"AP#RAINHAM\",\r\n \"AP#REDCAR\",\r\n \"AP#SLOUGH\",\r\n \"AP#SOUTHALL\",\r\n \"AP#STALLINGBOROUGH\",\r\n \"AP#STANLOW\",\r\n \"AP#STOKE\",\r\n \"AP#MIDDLESBRO_EFW\",\r\n \"AP#THETFORD\",\r\n \"AP#TASANIO\",\r\n \"AP#WALKDEN\",\r\n \"AP#WEST_BROMWICH\",\r\n \"AP#WORCESTER\",\r\n \"AP#POLANENPARK_AMS\",\r\n \"AP#CREWE\",\r\n \"AP#NEWARK\",\r\n \"AES#AES_FOWLCHURCH_DEPOT\",\r\n \"AES#AES_WATERSWALLOWS_DEPOT\",\r\n \"AES#AES_SILVERLANDS_DEPOT\",\r\n \"AES#AES_SURREYSTREET_DEPOT\"\r\n ])\r\n\r\n .constant('Gender', [\r\n \"MALE\",\r\n \"FEMALE\"\r\n ])\r\n\r\n .constant('ProposedManagement', [\r\n \"HANDS_ON\",\r\n \"ADVISE_AND_EDUCATION_PHONE_CONSULTING\"\r\n ])\r\n\r\n .constant('Diagnosis', [\r\n \"CERVICAL_WHIPLASH\",\r\n \"CERVICAL_SPINAL\",\r\n \"MECHANICAL_THORACIC\",\r\n \"MECHANICAL_LUMBAR\",\r\n \"LUMBAR\",\r\n \"SHOULDER_IMPINGEMENT\",\r\n \"ROTATOR\",\r\n \"TENNIS\",\r\n \"OTHER_ELBOW\",\r\n \"CARPAL\",\r\n \"WRIST_LOW\",\r\n \"WRIST_HIGH\",\r\n \"KNEE_MEDIAL\",\r\n \"ACL\",\r\n \"ANKLE_FIRST\",\r\n \"ANKLE_THIRD\",\r\n \"PLANTAR\",\r\n \"PLEASE_STATE\"\r\n ])\r\n\r\n .constant('ActionPlan', [\r\n \"HOME_EXERCISE_PROGRAM\",\r\n \"THINK_WELL_SERVICE\",\r\n \"ADVICE_AND_EDUCATION\"\r\n ])\r\n\r\n .constant('AssessmentTypes', [\r\n \"STANDARD\",\r\n \"ADVANCED\",\r\n \"HEALTHSAFETY\"\r\n ])\r\n\r\n .constant('TriageAssessmentFindings', [\r\n \"MECHANICAL_JOINT_DYSFUNCTION\",\r\n \"SOFT_TISSUE_INJURY\",\r\n \"LOSS_OF_FUNCTION\",\r\n \"LOSS_OF_RANGE\",\r\n \"SWELLING\",\r\n \"DISK_IRRITATION\",\r\n \"NERVE_ROOT_IRRITATION\"\r\n ])\r\n\r\n .constant('ExtraSessionStatus', [\r\n \"PENDING\",\r\n \"ACCEPTED\",\r\n \"DENIED\"\r\n ])\r\n\r\n .constant('SurveyStatus', [\r\n \"NOT_SENT\",\r\n \"SENT\"\r\n ])\r\n\r\n .constant('AttendStatus', [\r\n \"DID_NOT_ATTEND\",\r\n \"UNABLE_TO_ATTEND\",\r\n \"ATTENDED\",\r\n \"PENDING\"\r\n ])\r\n\r\n .constant('AppointmentType', [\r\n \"PHONE\",\r\n \"INITIAL\",\r\n \"FOLLOW_UP\",\r\n \"DISCHARGE\",\r\n \"FOLLOW_UP_PHONE\",\r\n \"PHONE_DISCHARGE\",\r\n \"AP#PHONE\",\r\n \"AP#INITIAL\",\r\n \"AP#FOLLOW_UP\",\r\n \"AP#DISCHARGE\",\r\n \"AP#FOLLOW_UP_PHONE\",\r\n \"AP#PHONE_DISCHARGE\",\r\n \"AP#ASSESSMENT_ONLY\",\r\n \"AP#HANDS_ON_TREATMENT\"\r\n ])\r\n\r\n .constant('ConditionType', [\r\n \"WORK_INJURY\",\r\n \"WORK_AGGRAVATED\",\r\n \"NON_WORK_RELATED\"\r\n ])\r\n\r\n .constant('ChronicityOfInjury', [\r\n \"ACUTE\",\r\n \"SUBACUTE\",\r\n \"CHRONIC\",\r\n \"ACUTE_ON_CHRONIC\"\r\n ])\r\n\r\n .constant('BodyRegionOfInjury', [\r\n \"NECK\",\r\n \"SHOULDER\",\r\n \"ARM\",\r\n \"ELBOW\",\r\n \"FOREARM\",\r\n \"WRIST\",\r\n \"HAND\",\r\n \"FINGER\",\r\n \"UPPER_BACK\",\r\n \"MIDDLE_BACK\",\r\n \"LOWER_BACK\",\r\n \"HIP\",\r\n \"THIGH\",\r\n \"KNEE\",\r\n \"LEG\",\r\n \"ANKLE\",\r\n \"FOOT\",\r\n \"TOES\"\r\n ])\r\n\r\n .constant('TypeOfReferral', [\r\n \"OCCUPATIONAL_HEALTH_REFERRAL\",\r\n \"SELF_REFERRAL\",\r\n \"STOKECC#SELF_REFERRAL\",\r\n \"STOKECC#OCCUPATIONAL_HEALTH_REFERRAL\"\r\n ])\r\n\r\n .constant('InitationPeriod', [\r\n \"AT_WORK_IN_WORK_TIME\",\r\n \"DURING_SPECIFIC_WORK_TASKS\",\r\n \"DURING_ACTIVITIES_OUTSIDE_OF_WORK\"\r\n ])\r\n\r\n .constant('InitationNotify', [\r\n \"RECORDED_IN_SITE_FIRST_AID_BOOK\",\r\n \"NOTIFIED_YOUR_SUPERVISOR\"\r\n ])\r\n\r\n .constant('NatureOfWork', [\r\n \"MANUAL\",\r\n //\"OFFICE_BASED\",\r\n \"SEDENTARY\",\r\n \"SEMI_MANUAL\"\r\n ])\r\n\r\n .constant('MechanismOfInjury', [\r\n \"HOSE\",\r\n \"PULLING_LIFTING\",\r\n \"CHRONIC_CONDITION\",\r\n \"HOBBY_SPORT\",\r\n \"OTHER\",\r\n \"CYLINDER_HANDLING\",\r\n \"INSIDIOUS_ONSET\",\r\n \"RTA\",\r\n \"VALVES\",\r\n \"HOME_ACTIVITIES\",\r\n \"OTHER_MSK\",\r\n \"OFFICE_ERGO\"\r\n ])\r\n\r\n .constant('Reports', [\r\n \"KPI_BASIC_REPORT\",\r\n \"KPI_ADVANCED_REPORT\",\r\n \"EFFICIENCY_REPORT\",\r\n \"TYPE_OF_INJURY_REPORT\",\r\n \"CONDITION_TYPE_REPORT\",\r\n \"SAME_INJURY_WITH_PREVIOUS_REFERRAL_REPORT\",\r\n \"TYPE_OF_INJURY_PER_DEPARTMENT_REPORT\",\r\n \"HIGHEST_TYPE_OF_INJURY_PER_DEPARTMENT_REPORT\",\r\n \"REFERRALS_CONFIRMED_WITHIN_24_HOURS_REPORT\",\r\n \"HANDLING_REQUEST_REPORT\",\r\n \"CHRONICITY_REPORT\",\r\n \"TYPE_OF_WORK_REPORT\",\r\n \"GENERAL_REPORT\"\r\n ])\r\n\r\n .constant('ClosedWithoutReachingMinimumAppointmentsReason', [\r\n \"HAS_MADE_EXCELLENT_PROGRESS_AND_CAN_SELF_MANAGE\",\r\n \"DOES_NOT_WISH_TO_ATTEND\",\r\n \"NO_CONTACT\",\r\n \"CASE_ON_HOLD\",\r\n \"REQUIRES_MEDICAL_INTERVENTION\"\r\n ])\r\n\r\n .constant('WorkStatus', [\r\n \"IN_WORK\",\r\n \"OFF_WORK\",\r\n \"RETURNED_TO_WORK\",\r\n \"AP#RETURNED_TO_WORK\",\r\n \"AP#AT_WORK_NORMAL_DUTIES\",\r\n \"AP#AT_WORK_MODIFIED_DUTIES\",\r\n \"AP#OFF_WORK_SELF_CERTIFIED\",\r\n \"AP#OFF_WORK_WITH_DOCTORS_NOTE\",\r\n \"AP#OTHER\"\r\n\r\n ]);\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular.module('app')\r\n\r\n .constant('ScheduleTypes', [{\r\n \"label\": \"Every Week\",\r\n \"value\": \"WEEKDAY\",\r\n }, {\r\n \"label\": \"Once a Month\",\r\n \"value\": \"MONTHDAY\",\r\n }])\r\n\r\n .constant('DurationTypes', [{\r\n \"label\": \"45 mins\",\r\n \"value\": 45,\r\n }, {\r\n \"label\": \"60 mins\",\r\n \"value\": 60,\r\n }, {\r\n \"label\": \"120 mins\",\r\n \"value\": 120,\r\n }])\r\n\r\n .constant('WeekDays', ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'])\r\n\r\n .constant('CalendarLanguages', {\r\n \"greek\": \"el\",\r\n \"english\": \"en\"\r\n });\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular.module('app.shared')\r\n\r\n .constant(\"EventTypes\", [\r\n \"CREATE\",\r\n \"UPDATE\",\r\n \"DELETE\",\r\n \"OTHER\"\r\n ])\r\n \r\n .constant(\"DataTypes\", [\r\n// \"SESSION\",\r\n// \"CLASS\",\r\n// \"STUDENT\",\r\n// \"ENROLMENT\"\r\n ])\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular.module('app.shared')\r\n\r\n .constant('ApiEndpoints', [\r\n 'filemanager',\r\n 'users',\r\n 'surveys',\r\n 'clients',\r\n 'referrals',\r\n 'configuration',\r\n 'phonetriages',\r\n 'firstmeetings',\r\n 'discharges',\r\n 'managernotes',\r\n 'appointments',\r\n 'illnesses',\r\n 'imageitems',\r\n 'exercises',\r\n 'surveypdfs',\r\n 'audits',\r\n 'notificationparser',\r\n 'reports',\r\n 'appointmentstypecosts',\r\n 'portalmanagers',\r\n 'ocupHealthNurses',\r\n ]);\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .config(TranslateConfig);\r\n\r\n TranslateConfig.$inject = ['configHelperProvider', '$translateProvider'];\r\n\r\n function TranslateConfig(configHelperProvider, $translateProvider) {\r\n\r\n $translateProvider.useStaticFilesLoader({\r\n prefix: '/translations/',\r\n suffix: '.json'\r\n });\r\n // καταστρέφει τα ελληνικα\r\n // $translateProvider.useSanitizeValueStrategy('sanitize');\r\n $translateProvider.preferredLanguage('en-gb');\r\n\r\n configHelperProvider.$get().notifyConfig(\"Translate\", \"Initialized\");\r\n\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .run(RoutesConfig);\r\n\r\n RoutesConfig.$inject = ['configHelper', 'routerHelper'];\r\n\r\n function RoutesConfig(configHelper, routerHelper) {\r\n\r\n var _states = getStates();\r\n routerHelper.configureStates(_states, \"/rd\");\r\n\r\n configHelper.notifyConfig(\"Basic Routes\", _.map(_states, function(_state) {\r\n return _state.state;\r\n }));\r\n\r\n }\r\n\r\n function getStates() {\r\n return [{\r\n state: 'rd',\r\n config: {\r\n url: \"/rd\",\r\n controller: function($state, AuthService) {\r\n if (!AuthService.IsAuth && APP.Domain === null) {\r\n $state.go(\"auth.login\");\r\n return;\r\n }\r\n if (!AuthService.IsAuth && APP.Domain !== null) {\r\n $state.go(APP.States.Anonymous);\r\n return;\r\n }\r\n\r\n if (AuthService.IsAuth && APP.Domain !== null && AuthService.Roles[0] === \"MANAGER\") {\r\n $state.go(APP.States.Manager);\r\n return;\r\n }\r\n\r\n if (AuthService.IsAuth && APP.Domain !== null && AuthService.Roles[0] !== \"MANAGER\") {\r\n $state.go(\"auth.logout\");\r\n return;\r\n }\r\n\r\n if (AuthService.IsAuth && APP.Domain === null && AuthService.Roles[0] === \"MANAGER\") {\r\n $state.go(\"auth.logout\");\r\n return;\r\n }\r\n\r\n if (AuthService.IsAuth && APP.Domain === null && AuthService.Roles[0] !== \"MANAGER\") {\r\n $state.go(APP.States.Admin);\r\n return;\r\n }\r\n\r\n }\r\n }\r\n }, {\r\n state: 'rc',\r\n config: {\r\n url: \"/rc\",\r\n controller: function($state, AuthService) {\r\n if (!AuthService.IsAuth && APP.Domain === null) {\r\n $state.go(\"auth.login\");\r\n return;\r\n }\r\n if (!AuthService.IsAuth && APP.Domain !== null) {\r\n $state.go(APP.States.Anonymous);\r\n return;\r\n }\r\n\r\n if (AuthService.IsAuth && APP.Domain !== null && AuthService.Roles[0] === \"MANAGER\") {\r\n $state.go(\"auth.rc\");\r\n return;\r\n }\r\n\r\n if (AuthService.IsAuth && APP.Domain !== null && AuthService.Roles[0] !== \"MANAGER\") {\r\n $state.go(\"auth.logout\");\r\n return;\r\n }\r\n\r\n if (AuthService.IsAuth && APP.Domain === null && AuthService.Roles[0] === \"MANAGER\") {\r\n $state.go(\"auth.logout\");\r\n return;\r\n }\r\n\r\n if (AuthService.IsAuth && APP.Domain === null && AuthService.Roles[0] !== \"MANAGER\") {\r\n $state.go(\"auth.rc\");\r\n return;\r\n }\r\n\r\n }\r\n }\r\n }, {\r\n state: 'error',\r\n config: {\r\n url: '/error?err',\r\n templateUrl: \"src/com.shared/views/_common/error.html\",\r\n params: {\r\n err: \"GENERIC\"\r\n },\r\n controller: function($scope, $stateParams, ErrorPages) {\r\n $scope.Err = ErrorPages[$scope.$stateParams.err];\r\n }\r\n }\r\n }];\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .run(PermissionsConfig);\r\n\r\n PermissionsConfig.$inject = ['configHelper', 'Permission', 'AuthService', 'RoleTypes'];\r\n\r\n function PermissionsConfig(configHelper, Permission, AuthService, RoleTypes) {\r\n\r\n Permission.defineRole('Anonymous', function() {\r\n return !AuthService.IsAuth;\r\n });\r\n\r\n _.each(RoleTypes, function(roletype) {\r\n Permission.defineRole(roletype, function() {\r\n return AuthService.IsAuth && _.contains(AuthService.Roles, roletype);\r\n })\r\n });\r\n\r\n configHelper.notifyConfig(\"Permissions\", RoleTypes)\r\n\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .run(MwlconfirmConfig);\r\n\r\n MwlconfirmConfig.$inject = ['configHelper', 'confirmationPopoverDefaults'];\r\n\r\n function MwlconfirmConfig(configHelper, confirmationPopoverDefaults) {\r\n\r\n confirmationPopoverDefaults.confirmText = \"Yes\";\r\n confirmationPopoverDefaults.cancelText = \"No\";\r\n confirmationPopoverDefaults.confirmButtonType = \"danger\";\r\n confirmationPopoverDefaults.cancelButtonType = \"default\";\r\n confirmationPopoverDefaults.placement = \"left\";\r\n\r\n configHelper.notifyConfig(\"Popover Confirm\", confirmationPopoverDefaults)\r\n\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .config(LocationConfig);\r\n\r\n LocationConfig.$inject = ['configHelperProvider', '$locationProvider'];\r\n\r\n function LocationConfig(configHelperProvider, $locationProvider) {\r\n $locationProvider.html5Mode(true);\r\n\r\n configHelperProvider.$get().notifyConfig(\"Location HTML5\", true);\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .config(LocalStoreageConfig);\r\n\r\n LocalStoreageConfig.$inject = ['configHelperProvider', 'localStorageServiceProvider'];\r\n\r\n function LocalStoreageConfig(configHelperProvider, localStorageServiceProvider) {\r\n\r\n var _defaultType = \"localStorage\";\r\n\r\n localStorageServiceProvider\r\n .setPrefix(APP.Alias)\r\n .setStorageType(_defaultType); // or localStorage for long term\r\n\r\n configHelperProvider.$get().notifyConfig(\"LocalStorage\", \"Type: \" + _defaultType);\r\n\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .config(HttpConfig);\r\n\r\n HttpConfig.$inject = ['configHelperProvider', '$httpProvider'];\r\n\r\n function HttpConfig(configHelperProvider, $httpProvider) {\r\n\r\n var _interceptors = [\r\n //'ErrorInterceptor',\r\n 'AuthInterceptor',\r\n 'ClientInterceptor',\r\n ];\r\n\r\n _.each(_interceptors, function(_interceptor) {\r\n $httpProvider.interceptors.push(_interceptor);\r\n })\r\n\r\n configHelperProvider.$get().notifyConfig(\"Http Interceptors\", _interceptors);\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .config(DynLocaleConfig);\r\n\r\n DynLocaleConfig.$inject = ['configHelperProvider', 'tmhDynamicLocaleProvider'];\r\n\r\n function DynLocaleConfig(configHelperProvider, tmhDynamicLocaleProvider) {\r\n var _pattern = null;\r\n if (APP.Debug) {\r\n _pattern = \"/libs/angular-i18n/angular-locale_{{locale}}.js\";\r\n } else {\r\n _pattern = \"//cdnjs.cloudflare.com/ajax/libs/angular-i18n/1.4.7/angular-locale_{{locale}}.js\";\r\n }\r\n tmhDynamicLocaleProvider.localeLocationPattern(_pattern)\r\n\r\n configHelperProvider.$get().notifyConfig(\"Angular Locale\", _pattern);\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .config(DatepickerConfig);\r\n\r\n DatepickerConfig.$inject = ['configHelperProvider','uibDatepickerConfig', 'uibDatepickerPopupConfig'];\r\n\r\n function DatepickerConfig(configHelperProvider, uibDatepickerConfig, uibDatepickerPopupConfig) {\r\n \r\n uibDatepickerPopupConfig.showButtonBar = false;\r\n uibDatepickerPopupConfig.datepickerPopup = 'mediumDate';\r\n uibDatepickerConfig.showWeeks = false;\r\n uibDatepickerConfig.startingDay = 1;\r\n\r\n configHelperProvider.$get().notifyConfig(\"Datepicker\", {\r\n DP: uibDatepickerConfig,\r\n DPPU: uibDatepickerPopupConfig,\r\n });\r\n }\r\n\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .run(ApiConfig);\r\n\r\n ApiConfig.$inject = [\"configHelper\", 'api', 'ApiEndpoints'];\r\n\r\n function ApiConfig(configHelper, api, ApiEndpoints) {\r\n\r\n _.each(ApiEndpoints, function(ApiEndpoint) {\r\n api.add(ApiEndpoint);\r\n })\r\n\r\n configHelper.notifyConfig(\"Api\", ApiEndpoints);\r\n\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared')\r\n .config(AnalyticsConfig);\r\n\r\n AnalyticsConfig.$inject = ['configHelperProvider', 'AnalyticsProvider'];\r\n\r\n function AnalyticsConfig(configHelperProvider, AnalyticsProvider) {\r\n\r\n if (APP.Client.System.Debug) {\r\n return;\r\n }\r\n\r\n AnalyticsProvider.setAccount(APP.GoogleTrackCode);\r\n\r\n AnalyticsProvider.trackUrlParams(true);\r\n AnalyticsProvider.ignoreFirstPageLoad(true);\r\n AnalyticsProvider.setPageEvent('$stateChangeSuccess');\r\n\r\n if (APP.Client.System.Debug) {\r\n AnalyticsProvider.logAllCalls(true);\r\n }\r\n\r\n configHelperProvider.$get().notifyConfig(\"Google Analytics\", APP.GoogleTrackCode);\r\n\r\n }\r\n\r\n}());\r\n","(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('app')\r\n .controller('AuthResetExpPassController', AuthResetExpPassController);\r\n\r\n AuthResetExpPassController.$inject = ['$state', '$stateParams', 'AuthService', 'toaster', '$modalInstance'];\r\n\r\n function AuthResetExpPassController($state, $stateParams, AuthService, toaster, $modalInstance) {\r\n var vm = this;\r\n\r\n if (APP.Client.UserSettings) {\r\n vm.IntervMonths = APP.Client.UserSettings.PassIntervMonths;\r\n } else {\r\n vm.IntervMonths = \"2\";\r\n }\r\n vm.UserResetPassword = UserResetPassword;\r\n\r\n activate();\r\n\r\n function activate() {}\r\n\r\n\r\n function UserResetPassword() {\r\n\r\n vm.error = null\r\n\r\n if (!vm.OldPass) {\r\n vm.error = \"Old password is required\"\r\n return;\r\n }\r\n if (typeof vm.NewPass === \"undefined\" || vm.NewPass.length < 6) {\r\n vm.error = \"Password has to be 6 characters or more\"\r\n return;\r\n }\r\n if (vm.NewPass !== vm.NewPassRepeat) {\r\n vm.error = \"Passwords must match\"\r\n return;\r\n }\r\n\r\n vm.loading = true;\r\n AuthService\r\n .ResetExpPassword({\r\n OldPass: vm.OldPass,\r\n NewPass: vm.NewPass,\r\n IntervMonths: vm.IntervMonths,\r\n })\r\n .then(function () {\r\n vm.loading = false;\r\n $modalInstance.close(\"OK\");\r\n }, function (error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not reset the password\", error.data.Message);\r\n });\r\n }\r\n }\r\n\r\n}());","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app')\r\n .controller('AuthResetPassController', AuthResetPassController);\r\n\r\n AuthResetPassController.$inject = ['$state', '$stateParams', 'AuthService', 'toaster'];\r\n\r\n function AuthResetPassController($state, $stateParams, AuthService, toaster) {\r\n var vm = this;\r\n\r\n vm.ValidPassword = ValidPassword;\r\n vm.UserResetPassword = UserResetPassword;\r\n\r\n activate();\r\n\r\n function activate() {}\r\n\r\n function ValidPassword() {\r\n if(typeof vm.User === \"undefined\")\r\n {\r\n return false;\r\n }\r\n else if(vm.User !== null)\r\n {\r\n if(typeof vm.User.newPass === \"undefined\")\r\n {\r\n return false;\r\n }\r\n if(vm.User.newPass.length >= 6)\r\n {\r\n return true;\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n }\r\n else\r\n {\r\n return false;\r\n }\r\n }\r\n\r\n \tfunction UserResetPassword(){\r\n vm.loading = true;\r\n \t\tAuthService\r\n \t\t\t.ResetPassword({\r\n \t\t\t\tUserName: vm.User.UserName,\r\n \t\t\t\tNewPassword: vm.User.newPass,\r\n \t\t\t\tToken: $stateParams.token\r\n \t\t\t})\r\n \t\t\t.then(function() {\r\n vm.loading = true;\r\n $state.go('auth.login');\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not reset the password\", error.data.Message);\r\n });\r\n \t}\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.auth', [])\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.auth')\r\n .controller('AuthRoleChoiceController', AuthRoleChoiceController);\r\n\r\n AuthRoleChoiceController.$inject = ['AuthService', '$stateParams', '$state', 'FixedContentService', 'LoginMessages', 'ClientService', 'LoginRoles'];\r\n\r\n function AuthRoleChoiceController(AuthService, $stateParams, $state, FixedContentService, LoginMessages, ClientService, LoginRoles) {\r\n var vm = this;\r\n\r\n vm.loading = false;\r\n vm.Proceed = Proceed;\r\n\r\n vm.Roles = LoginRoles;\r\n vm.Modal = Modal;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.SelectedRole = false;\r\n switch ($stateParams.ref) {\r\n case \"au\": //Anauthorized\r\n vm.Alert = LoginMessages.ANAUTHORIZED;\r\n break;\r\n case \"so\": //Sign Out\r\n vm.Alert = LoginMessages.SIGNOUT;\r\n break;\r\n case \"re\": //registered\r\n vm.Alert = LoginMessages.REGISTERED;\r\n break;\r\n case \"to\": //registered\r\n vm.Alert = LoginMessages.TIMEOUT;\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n function Proceed() {\r\n console.log(vm.Roles);\r\n console.log(AuthService.Roles);\r\n console.log(vm.SelectedRole);\r\n $cookies.put('rl', vm.SelectedRole);\r\n // $state.go(\"rd\");\r\n }\r\n\r\n function FilterRoles() {\r\n _.map(AuthService.Roles, function(role) {\r\n if(LoginRoles.indexOf(role) != -1) {\r\n vm.Roles.push(role);\r\n }\r\n });\r\n }\r\n\r\n function Modal(alias) {\r\n FixedContentService.Modal(alias);\r\n }\r\n\r\n }\r\n\r\n}());\r\n","(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.auth')\r\n .controller('AuthLoginController', AuthLoginController);\r\n\r\n AuthLoginController.$inject = ['AuthService', '$stateParams', '$state', 'FixedContentService', 'LoginMessages', 'ClientService', 'AuthModals'];\r\n\r\n function AuthLoginController(AuthService, $stateParams, $state, FixedContentService, LoginMessages, ClientService, AuthModals) {\r\n var vm = this;\r\n\r\n vm.loading = false;\r\n vm.SignIn = SignIn;\r\n vm.ForgotPassword = ForgotPassword;\r\n\r\n vm.Modal = Modal;\r\n\r\n activate();\r\n\r\n function activate() {\r\n switch ($stateParams.ref) {\r\n case \"au\": //Anauthorized\r\n vm.Alert = LoginMessages.ANAUTHORIZED;\r\n break;\r\n case \"so\": //Sign Out\r\n vm.Alert = LoginMessages.SIGNOUT;\r\n break;\r\n case \"re\": //registered\r\n vm.Alert = LoginMessages.REGISTERED;\r\n break;\r\n case \"to\": //registered\r\n vm.Alert = LoginMessages.TIMEOUT;\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (APP.MockData) {\r\n vm.credentials = {\r\n username: APP.MockData.Username,\r\n password: APP.MockData.Password\r\n };\r\n }\r\n\r\n }\r\n\r\n function SignIn() {\r\n\r\n vm.loading = true;\r\n vm.Alert = false;\r\n AuthService\r\n .SignIn(vm.credentials)\r\n .then(function (response) {\r\n ClientService\r\n .GetSettings()\r\n .then(function () {\r\n ClientService.LoadSettings();\r\n $state.go(\"rd\");\r\n // $state.go(\"rc\");\r\n });\r\n\r\n }, function (response) {\r\n if (response.error) {\r\n vm.Alert = LoginMessages.AUTHERROR;\r\n vm.Alert.Details = response.error_description;\r\n } else {\r\n vm.Alert = LoginMessages.UNAVAILABLE;\r\n }\r\n\r\n })\r\n .finally(function () {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function Modal(alias) {\r\n FixedContentService.Modal(alias);\r\n }\r\n\r\n function ForgotPassword() {\r\n AuthModals\r\n .ForgotPassword()\r\n .then(function () {\r\n console.log('Modal opened');\r\n });\r\n }\r\n\r\n }\r\n\r\n}());","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.auth')\r\n .controller('AuthConfirmController', AuthConfirmController);\r\n\r\n AuthConfirmController.$inject = ['$state', '$stateParams', 'AuthService'];\r\n\r\n function AuthConfirmController($state, $stateParams, AuthService) {\r\n var vm = this;\r\n\r\n vm.Alert = false;\r\n vm.password = \"\";\r\n vm.repeatpassword = \"\";\r\n\r\n vm.Confirm = Confirm;\r\n vm.FormValidate = FormValidate;\r\n\r\n activate();\r\n\r\n function activate() {\r\n\r\n }\r\n\r\n function Confirm() {\r\n vm.loading = true;\r\n\r\n if (vm.FormValidate()) {\r\n vm.loading = false;\r\n return false;\r\n }\r\n\r\n AuthService\r\n .ConfirmAccount({\r\n UserName: $stateParams.u,\r\n Token: $stateParams.token,\r\n Password: vm.password\r\n })\r\n .then(function() {\r\n $state.go(\"auth.login\", {\r\n ref: \"re\"\r\n });\r\n }, function(reason) {\r\n vm.Alert = reason.data.Message;\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function FormValidate() {\r\n\r\n vm.Alert = false;\r\n\r\n if (vm.password.length < 6 || vm.password.length > 64) {\r\n vm.Alert = \"IsRequired\";\r\n }\r\n if (vm.password != vm.repeatpassword) {\r\n vm.Alert = \"Match\";\r\n }\r\n if (vm.password.length < 6 || vm.password.length > 64 && vm.password.length !== 0) {\r\n vm.Alert = \"Length\";\r\n }\r\n\r\n return vm.Alert;\r\n\r\n }\r\n\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.users', [])\r\n\r\n}());\r\n","(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.users')\r\n .controller('UsersController', UsersController);\r\n\r\n UsersController.$inject = ['UsersService', 'UsersModals', 'toaster'];\r\n\r\n function UsersController(UsersService, UsersModals, toaster) {\r\n\r\n var vm = this;\r\n\r\n vm.UserForm = UserForm;\r\n vm.UserResetPassword = UserResetPassword;\r\n vm.UserActivityLog = UserActivityLog;\r\n vm.UserDelete = UserDelete;\r\n vm.ForceExpirePassword = ForceExpirePassword;\r\n activate();\r\n\r\n function activate() {\r\n GetUsers();\r\n }\r\n\r\n function GetUsers() {\r\n vm.loading = true;\r\n return UsersService\r\n .GetUsers()\r\n .then(function (response) {\r\n _.each(response, function (user, key) {\r\n user.Roles = _.map(user.Roles, function (role) {\r\n return role.RoleId;\r\n });\r\n });\r\n\r\n vm.Users = response;\r\n })\r\n .finally(function () {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function UserForm(UserID) {\r\n UsersModals\r\n .UserForm({\r\n UserID: UserID\r\n })\r\n .then(function () {\r\n // do nothing...\r\n })\r\n .finally(function () {\r\n GetUsers();\r\n });\r\n }\r\n\r\n function UserResetPassword(User) {\r\n UsersModals\r\n .UserChangePassword({\r\n User: User\r\n })\r\n .then(function () {\r\n // GetUsers();\r\n });\r\n }\r\n\r\n function ForceExpirePassword(User) {\r\n UsersService\r\n .ForceExpirePassword(User)\r\n .then(function () {\r\n toaster.pop('success', \"User password expired\");\r\n })\r\n }\r\n\r\n function UserActivityLog(User) {}\r\n\r\n function UserDelete(User) {\r\n vm.loading = true;\r\n UsersService\r\n .DeleteUser(User)\r\n .then(function () {\r\n GetUsers();\r\n })\r\n .finally(function () {\r\n vm.loading = false;\r\n });\r\n }\r\n }\r\n\r\n}());"," (function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.users')\r\n .controller('UserFormController', UserFormController);\r\n\r\n UserFormController.$inject = ['UsersService', 'ClientsService', 'ModalParams', 'UserRoles', \"$modalInstance\"];\r\n\r\n function UserFormController(UsersService, ClientsService, ModalParams, UserRoles, $modalInstance) {\r\n var vm = this;\r\n vm.Roles = UserRoles;\r\n vm.SaveUser = SaveUser;\r\n vm.RoleChanged = RoleChanged;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.loading = true;\r\n ClientsService\r\n .GetClients()\r\n .then(function(data) {\r\n var clients = [];\r\n _.each(data, function(client, key) {\r\n clients.push({key: client.ID, value: client.CompanyName});\r\n });\r\n\r\n vm.Clients = clients;\r\n })\r\n .finally(function() {\r\n if (ModalParams.UserID) {\r\n LoadUser();\r\n }\r\n else {\r\n vm.User = {};\r\n vm.User.Physio = {};\r\n vm.User.Physio.IsExternal = 0;\r\n vm.loading = false;\r\n }\r\n });\r\n }\r\n\r\n function LoadUser() {\r\n UsersService\r\n .GetUser(ModalParams.UserID)\r\n .then(function(response) {\r\n if(response.Role === \"MANAGER\") {\r\n response.Clients = response.Clients[0];\r\n }\r\n vm.User = response;\r\n vm.User.Id = ModalParams.UserID;\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function SaveUser() {\r\n vm.loading = true;\r\n\r\n if(!angular.isArray(vm.User.Clients)) {\r\n vm.User.Clients = [vm.User.Clients];\r\n }\r\n\r\n UsersService\r\n .SaveUser(vm.User)\r\n .then(function(response) {\r\n $modalInstance.close(response);\r\n }, function(reason) {\r\n $modalInstance.dismiss(reason);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function RoleChanged() {\r\n delete vm.User.Clients;\r\n }\r\n }\r\n }());\r\n"," (function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.users')\r\n .controller('UserChangePassController', UserChangePassController);\r\n\r\n UserChangePassController.$inject = ['UsersService', 'AuthService', 'ModalParams', \"$modalInstance\", 'toaster'];\r\n\r\n function UserChangePassController(UsersService, AuthService, ModalParams, $modalInstance, toaster) {\r\n var vm = this;\r\n vm.UserChangePassword = UserChangePassword;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.User = ModalParams.User;\r\n // if (ModalParams.UserID) {\r\n // LoadUser();\r\n // }\r\n }\r\n\r\n // function LoadUser() {\r\n // vm.loading = true;\r\n // UsersService\r\n // .GetUser(ModalParams.UserID)\r\n // .then(function(response) {\r\n // vm.User = response;\r\n // console.log(vm.User);\r\n // })\r\n // .finally(function() {\r\n // vm.loading = false;\r\n // });\r\n // }\r\n\r\n function UserChangePassword() {\r\n vm.loading = true;\r\n AuthService\r\n .ForgotPassword({\r\n Email: vm.User.Email,\r\n UserName: vm.User.UserName\r\n })\r\n .then(function() {\r\n vm.loading = false;\r\n toaster.pop('success', \"Reset Password Sent\", \"An email has been sent to the user!\");\r\n $modalInstance.close();\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Reset Password not Sent\", error.statusText);\r\n });\r\n\r\n // vm.loading = true;\r\n // UsersService\r\n // .UserChangePassword(vm.User)\r\n // .then(function(response) {\r\n // $modalInstance.close(response);\r\n // }, function(reason) {\r\n // $modalInstance.dismiss(reason);\r\n // })\r\n // .finally(function() {\r\n // vm.loading = false;\r\n // });\r\n }\r\n }\r\n }());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ManagerSurveyController', ManagerSurveyController);\r\n\r\n ManagerSurveyController.$inject = ['$stateParams', 'AuthService', 'SurveysService'];\r\n\r\n function ManagerSurveyController($stateParams, AuthService, SurveysService) {\r\n var vm = this;\r\n\r\n vm.LoadSurveys = LoadSurveys;\r\n vm.LoadReferral = LoadReferral;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $stateParams.IsArchived ? \"admin.manager_archived\" : \"admin.manager_referrals\";\r\n vm.HideFirstMeeting = $stateParams.HideFirstMeeting;\r\n vm.ShowFinalDischarge = $stateParams.ShowFinalDischarge;\r\n vm.LoadSurveys();\r\n }\r\n\r\n function LoadSurveys() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveys(true)\r\n .then(function(surveys) {\r\n _.each(surveys, function(survey, key) {\r\n survey.Route = \"admin.manager_survey.\" + survey.code;\r\n });\r\n\r\n vm.Surveys = surveys;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the survey\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadReferral();\r\n });\r\n }\r\n\r\n function LoadReferral() {\r\n SurveysService\r\n .GetReferral($stateParams.ID)\r\n .then(function(referral) {\r\n vm.Referral = referral;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n }\r\n)\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ManagerReportsController', ManagerReportsController);\r\n\r\n ManagerReportsController.$inject = ['$stateParams', 'DashboardService', 'AuthService', 'SurveysService', 'Reports', 'ReportService', 'Diagnosis', 'ConditionType'];\r\n\r\n function ManagerReportsController($stateParams, DashboardService, AuthService, SurveysService, Reports, ReportService, Diagnosis, ConditionType) {\r\n\r\n var vm = this;\r\n\r\n vm.Diagnosis = Diagnosis;\r\n vm.ConditionType = ConditionType;\r\n\r\n vm.GetKPIBasicReport = GetKPIBasicReport;\r\n vm.GetKPIAdvancedReport = GetKPIAdvancedReport;\r\n vm.GetEfficiencyReport = GetEfficiencyReport;\r\n vm.GetTypeOfInjuryReport = GetTypeOfInjuryReport;\r\n vm.GetConditionTypeReport = GetConditionTypeReport;\r\n vm.GetSameInjuryWithPreviousReferralReport = GetSameInjuryWithPreviousReferralReport;\r\n vm.GetTypeOfInjuryPerDepartmentReport = GetTypeOfInjuryPerDepartmentReport;\r\n vm.GetHighestTypeOfInjuryPerDepartmentReport = GetHighestTypeOfInjuryPerDepartmentReport;\r\n vm.GetReferralsConfirmedWithin24HoursReport = GetReferralsConfirmedWithin24HoursReport;\r\n vm.GetHandlingRequestReport = GetHandlingRequestReport;\r\n vm.GetChronicityReport = GetChronicityReport;\r\n vm.GetTypeOfWorkReport = GetTypeOfWorkReport;\r\n vm.GetGeneralReport = GetGeneralReport;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Reports = Reports;\r\n }\r\n\r\n function GetKPIBasicReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetKPIBasicReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.KPIBasicReportResult = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetEfficiencyReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetEfficiencyReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.EfficiencyReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetKPIAdvancedReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetKPIAdvancedReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.KPIAdvancedReportResult = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetTypeOfInjuryReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetTypeOfInjuryReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.TypeOfInjuryReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetConditionTypeReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetConditionTypeReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.ConditionTypeReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetSameInjuryWithPreviousReferralReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetSameInjuryWithPreviousReferralReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.SameInjuryWithPreviousReferralReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetTypeOfInjuryPerDepartmentReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetTypeOfInjuryPerDepartmentReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.TypeOfInjuryPerDepartmentReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetHighestTypeOfInjuryPerDepartmentReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetHighestTypeOfInjuryPerDepartmentReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.HighestTypeOfInjuryPerDepartmentReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetReferralsConfirmedWithin24HoursReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetReferralsConfirmedWithin24HoursReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.ReferralsConfirmedWithin24HoursReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetHandlingRequestReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetHandlingRequestReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.HandlingRequestReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetChronicityReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetChronicityReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.ChronicityReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetTypeOfWorkReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetTypeOfWorkReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.TypeOfWorkReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetGeneralReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetGeneralReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n window.location.href = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n }\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ReferralSearchController', ReferralSearchController);\r\n\r\n ReferralSearchController.$inject = ['$stateParams', '$modalInstance', 'SurveysService', 'toaster'];\r\n\r\n function ReferralSearchController($stateParams, $modalInstance, SurveysService, toaster) {\r\n var vm = this;\r\n\r\n vm.SearchReferrals = SearchReferrals;\r\n vm.ReferralSelect = ReferralSelect;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.IsArchived = $stateParams.IsArchived;\r\n vm.IsCaseClosed = $stateParams.IsCaseClosed;\r\n vm.SearchTerm = \"\";\r\n }\r\n\r\n function SearchReferrals() {\r\n if(vm.SearchTerm.length < 3) {\r\n toaster.pop('warning',\"Search failed!\", \"Please enter a search term with at least 3 characters\");\r\n return;\r\n }\r\n\r\n vm.loading = true;\r\n SurveysService\r\n .SearchReferrals(vm.SearchTerm, vm.IsArchived, vm.IsCaseClosed)\r\n .then(function(data) {\r\n vm.ReferralsWithInfo = data;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function ReferralSelect(ReferralID, HideFirstMeeting, ShowFinalDischarge) {\r\n var referralInfo = {\r\n referralID: ReferralID,\r\n hideFirstMeeting: HideFirstMeeting,\r\n showFinalDischarge: ShowFinalDischarge\r\n };\r\n $modalInstance.close(referralInfo);\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ExtraSessionController', ExtraSessionController);\r\n\r\n ExtraSessionController.$inject = ['$stateParams', '$modalInstance', 'SurveysService', 'toaster', 'ModalParams'];\r\n\r\n function ExtraSessionController($stateParams, $modalInstance, SurveysService, toaster, ModalParams) {\r\n var vm = this;\r\n\r\n vm.SubmitAnswer = SubmitAnswer;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.ExtraSession = ModalParams.ExtraSession;\r\n vm.IsArchived = $stateParams.IsArchived;\r\n }\r\n\r\n function SubmitAnswer(Answer) {\r\n vm.ExtraSession.ExtraSessionStatus = Answer;\r\n vm.loading = true;\r\n SurveysService\r\n .SubmitExtraSession(vm.ExtraSession)\r\n .then(function(extraSession) {\r\n vm.loading = false;\r\n $modalInstance.close(extraSession);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ManagerReferralsController', ManagerReferralsController);\r\n\r\n ManagerReferralsController.$inject = ['$state', '$stateParams','SurveysService', 'ReferralsModals', 'AuthService'];\r\n\r\n // ManagerModals\r\n function ManagerReferralsController($state, $stateParams, SurveysService, ReferralsModals, AuthService) {\r\n var vm = this;\r\n\r\n vm.LoadReferrals = LoadReferrals;\r\n vm.SearchReferralsModal = SearchReferralsModal;\r\n vm.ManageExtraSessionsModal = ManageExtraSessionsModal;\r\n vm.CloseCase = CloseCase;\r\n vm.filter = \"all\";\r\n vm.PhysioTypes = [];\r\n vm.setManagerIndicator = setManagerIndicator;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.PhysioTypes.push({\r\n id: {},\r\n label: \"-- Any --\"\r\n });\r\n vm.PhysioTypes.push({\r\n id: false,\r\n label: \"Internal\"\r\n });\r\n vm.PhysioTypes.push({\r\n id: true,\r\n label: \"External\"\r\n });\r\n\r\n vm.IsArchived = $stateParams.IsArchived;\r\n vm.IsCaseClosed = $stateParams.IsCaseClosed;\r\n vm.Role = AuthService.Roles[0];\r\n vm.PhoneTriage = false;\r\n vm.FirstMeeting = false;\r\n vm.Discharge = false;\r\n vm.PhysioType = {};\r\n vm.LoadReferrals();\r\n }\r\n\r\n function LoadReferrals() {\r\n vm.loading = true;\r\n\r\n switch(vm.filter) {\r\n case \"pt\":\r\n vm.PhoneTriage = 0;\r\n vm.FirstMeeting = -1;\r\n vm.Discharge = -1;\r\n break;\r\n case \"fm\":\r\n vm.PhoneTriage = -1;\r\n vm.FirstMeeting = 0;\r\n vm.Discharge = -1;\r\n break;\r\n case \"dc\":\r\n vm.PhoneTriage = -1;\r\n vm.FirstMeeting = -1;\r\n vm.Discharge = 0;\r\n break;\r\n default:\r\n vm.PhoneTriage = -1;\r\n vm.FirstMeeting = -1;\r\n vm.Discharge = -1;\r\n break;\r\n }\r\n\r\n SurveysService\r\n .GetReferrals(vm.PhoneTriage, vm.FirstMeeting, vm.Discharge, vm.IsArchived, vm.IsCaseClosed, vm.PhysioType)\r\n .then(function(data) {\r\n vm.ReferralsWithInfo = data;\r\n vm.ClientID = $stateParams.ID;\r\n _.each(vm.ReferralsWithInfo, function(ref){ ref.backgroundStyle = ref.ManagerColorIndicator!=null?{'background-color':ref.ManagerColorIndicator}:{} }) ; \r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n }); \r\n }\r\n\r\n function SearchReferralsModal() {\r\n ReferralsModals.SearchReferrals()\r\n .then(function(referralInfo) {\r\n if(!_.isUndefined(referralInfo) && !_.isUndefined(referralInfo.referralID)) {\r\n $state.go(\"admin.manager_survey.referral\", {\r\n ID: referralInfo.referralID,\r\n HideFirstMeeting: referralInfo.hideFirstMeeting,\r\n IsArchived: vm.IsArchived,\r\n ShowFinalDischarge: referralInfo.showFinalDischarge,\r\n IsCaseClosed: vm.IsCaseClosed\r\n });\r\n }\r\n });\r\n }\r\n\r\n function ManageExtraSessionsModal(ExtraSession) {\r\n ReferralsModals.ExtraSessions({\r\n ExtraSession: ExtraSession\r\n })\r\n .then(function(referralInfo) {\r\n vm.LoadReferrals();\r\n });\r\n }\r\n\r\n function CloseCase(_referralID) {\r\n ReferralsModals.CloseCase({\r\n ReferralID: _referralID\r\n })\r\n .then(function() {\r\n vm.LoadReferrals();\r\n });\r\n }\r\n\r\n function setManagerIndicator(Referral) {\r\n SurveysService.SetReferralManagerIndicator(Referral.ReferralID,Referral.ManagerColorIndicator);\r\n Referral.backgroundStyle = Referral.ManagerColorIndicator!=null?{'background-color':Referral.ManagerColorIndicator}:{} \r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ManagerManagerCloseCaseController', ManagerCloseCaseController);\r\n\r\n ManagerCloseCaseController.$inject = ['$stateParams', '$modalInstance', 'SurveysService', 'toaster', 'ModalParams', 'ClosedWithoutReachingMinimumAppointmentsReason'];\r\n\r\n function ManagerCloseCaseController($stateParams, $modalInstance, SurveysService, toaster, ModalParams, ClosedWithoutReachingMinimumAppointmentsReason) {\r\n var vm = this;\r\n\r\n vm.ClosedWithoutReachingMinimumAppointmentsReason = ClosedWithoutReachingMinimumAppointmentsReason;\r\n vm.Submit = Submit;\r\n vm.CustomFilter = CustomFilter;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetReferralWithAppointmentCount(ModalParams.ReferralID)\r\n .then(function(referral) {\r\n referral = referral.data;\r\n vm.Referral = referral.Referral;\r\n vm.Referral.IsCaseClosed = true;\r\n\r\n vm.CanDischargeOrCloseCase = referral.CanDischargeOrCloseCase;\r\n vm.ValidDischargeWithPainScoreForFullRecovery = referral.ValidDischargeWithPainScoreForFullRecovery;\r\n vm.DisplayMessageForValidDischargeWithPainScoreForFullRecovery = vm.ValidDischargeWithPainScoreForFullRecovery && vm.Referral.ClosedWithoutReachingMinimumAppointmentsReason === 'HAS_MADE_EXCELLENT_PROGRESS_AND_CAN_SELF_MANAGE';\r\n vm.CanSubmit = vm.CanDischargeOrCloseCase;\r\n\r\n var minimumAppointmentsToDischarge = APP.Client.Extra.MinimumAppointmentsToDischarge !== null ? APP.Client.Extra.MinimumAppointmentsToDischarge : 0;\r\n vm.Referral.ClosedWithoutReachingMinimumAppointments = referral.AppointmentCount < minimumAppointmentsToDischarge && minimumAppointmentsToDischarge > 0 ? true : false;\r\n vm.HasAppointmentReason = null; // afto mporei na xreiastei na allaksei giati tora panta tou dino th dynatothta na allaksei afto pou epelekse apo to discharge\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n // TODO: NA GINEI ENA SERVICE\r\n function CustomFilter() {\r\n // afora to pain recovery kai an epileksei to excellent progress\r\n if(!vm.ValidDischargeWithPainScoreForFullRecovery && vm.Referral.ClosedWithoutReachingMinimumAppointmentsReason === 'HAS_MADE_EXCELLENT_PROGRESS_AND_CAN_SELF_MANAGE') {\r\n vm.CanSubmit = false;\r\n vm.DisplayMessageForValidDischargeWithPainScoreForFullRecovery = true;\r\n }\r\n else {\r\n vm.CanSubmit = true;\r\n vm.DisplayMessageForValidDischargeWithPainScoreForFullRecovery = false;\r\n }\r\n }\r\n\r\n function Submit() {\r\n vm.Referral.CaseClosedComment = vm.CaseClosedComment;\r\n SurveysService\r\n .SubmitReferral(vm.Referral)\r\n .then(function(referral) {\r\n toaster.pop('success',\"Case was closed.\", \"Case Closed!\");\r\n $modalInstance.close(referral);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ManagerReferralController', ManagerReferralController);\r\n\r\n ManagerReferralController.$inject = [\r\n '$scope', '$stateParams','EnumsService', 'SurveysService', 'AuthService', 'ReferralType', 'Gender',\r\n 'WorkStatus', 'toaster', 'SurveyPdfService', 'ConditionType', 'NatureOfWork', 'TypeOfReferral', 'AnsaJobTitle', 'AnsaWorkLocation'];\r\n\r\n function ManagerReferralController(\r\n $scope, $stateParams,EnumsService, SurveysService, AuthService, ReferralType, Gender,\r\n WorkStatus, toaster, SurveyPdfService, ConditionType, NatureOfWork, TypeOfReferral, AnsaJobTitle, AnsaWorkLocation) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.Gender = Gender;\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType,APP.Domain);\r\n vm.WorkStatus = EnumsService.GetClientEnum(WorkStatus,APP.Domain);\r\n vm.ConditionType = ConditionType;\r\n vm.NatureOfWork = NatureOfWork;\r\n vm.TypeOfReferral = EnumsService.GetClientEnum(TypeOfReferral,APP.Domain);\r\n vm.AnsaJobTitle = AnsaJobTitle;\r\n vm.AnsaWorkLocation = EnumsService.GetClientEnum(AnsaWorkLocation,APP.Domain);\r\n\r\n // custom variables\r\n vm.ClientManagers = [];\r\n\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadReferral = LoadReferral;\r\n\r\n vm.Submit = Submit;\r\n vm.ExportPDF = ExportPDF;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.CanEditConfirm = AuthService.Roles[0] === 'RECEPTIONIST' ? true : false;\r\n vm.CanSubmit = AuthService.Roles[0] === 'MANAGER' ? true : false;\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"referral\", true)\r\n .then(function(CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.Questionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the survey\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadReferral();\r\n });\r\n }\r\n\r\n function LoadReferral() {\r\n vm.Referral = {};\r\n vm.Referral.ReferralAbsenceDate = new Date();\r\n vm.Referral.ReferralReturnedToWorkDate = new Date();\r\n vm.Referral.ReferralExpectedDateOfReturn = new Date();\r\n\r\n SurveysService\r\n .GetReferral($stateParams.ID)\r\n .then(function(referral) {\r\n vm.Referral = SurveysService.SetupReferralInfo(referral);\r\n vm.HasAppointmentReason = vm.Referral.ClosedWithoutReachingMinimumAppointmentsReason;\r\n // TODO: ean yparksei thema se afto to view tha prepei na ta fortono sto call. kanonika de tha eprepe na yparxei thema kathos eite apo to close calse,\r\n // eite apo to discharge tha prepei na exei lhksei to opoio thema yphrxe. edo apla deixnoume thn apofash\r\n vm.CanDischargeOrCloseCase = true;\r\n vm.DisplayMessageForValidDischargeWithPainScoreForFullRecovery = false;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function Submit(exportToPdf) {\r\n SurveysService\r\n .SubmitReferral(vm.Referral)\r\n .then(function(referral) {\r\n toaster.pop('success',\"Referral was saved.\", \"Saved!\");\r\n\r\n if(!angular.isUndefined(exportToPdf)) {\r\n vm.ExportPDF();\r\n vm.loading = false;\r\n }\r\n else {\r\n vm.LoadReferral();\r\n }\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n function ExportPDF() {\r\n SurveyPdfService\r\n .download(vm.Questionnaire, vm.Referral);\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ManagerPhoneTriageController', ManagerPhoneTriageController);\r\n\r\n ManagerPhoneTriageController.$inject = [\r\n '$filter', '$scope', '$stateParams','EnumsService', 'AuthService', 'SurveysService', 'WorkStatus',\r\n 'Diagnosis', 'AssessmentTypes', 'TriageAssessmentFindings', 'ActionPlan', 'ProposedManagement',\r\n 'toaster', 'ReferralType', 'Gender', 'SurveyPdfService', 'ConditionType', 'NatureOfWork', 'TypeOfReferral', 'BodyRegionOfInjury', 'MechanismOfInjury'];\r\n\r\n function ManagerPhoneTriageController(\r\n $filter, $scope, $stateParams,EnumsService, AuthService, SurveysService, WorkStatus,\r\n Diagnosis, AssessmentTypes, TriageAssessmentFindings, ActionPlan, ProposedManagement,\r\n toaster, ReferralType, Gender, SurveyPdfService, ConditionType, NatureOfWork, TypeOfReferral, BodyRegionOfInjury, MechanismOfInjury) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.Gender = Gender;\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType,APP.Domain);\r\n vm.WorkStatus = EnumsService.GetClientEnum(WorkStatus,APP.Domain);\r\n vm.Diagnosis = Diagnosis;\r\n vm.TriageAssessmentFindings = TriageAssessmentFindings;\r\n vm.AssessmentTypes = AssessmentTypes;\r\n vm.ActionPlan = ActionPlan;\r\n vm.ProposedManagement = ProposedManagement;\r\n vm.ConditionType = ConditionType;\r\n vm.NatureOfWork = NatureOfWork;\r\n vm.TypeOfReferral = EnumsService.GetClientEnum(TypeOfReferral,APP.Domain);\r\n vm.BodyRegionOfInjury = BodyRegionOfInjury;\r\n vm.SplitNum = 2;\r\n vm.MechanismOfInjury = MechanismOfInjury;\r\n\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadPhoneTriage = LoadPhoneTriage;\r\n\r\n vm.Submit = Submit;\r\n vm.ExportPDF = ExportPDF;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"phonetriage\", true)\r\n .then(function(CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.CustomQuestionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n vm.Components = vm.IsActive ? SurveysService.ManageSurveyComponentsForView(vm.CustomQuestionnaire, vm.SplitNum) : '';\r\n vm.Questionnaire = JSON.parse(CustomAndReferralSurvey.ReferralSurvey.Configuration);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the survey\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadPhoneTriage();\r\n });\r\n }\r\n\r\n function LoadPhoneTriage() {\r\n vm.PhoneTriage = {};\r\n vm.PhoneTriage.ReferralID = $stateParams.ID;\r\n vm.PhoneTriage.PhoneTriageDate = new Date();\r\n vm.PhoneTriage.PhoneTriageAbsenceDate = new Date();\r\n vm.PhoneTriage.PhoneTriageReturnedToWorkDate = new Date();\r\n vm.PhoneTriage.PhoneTriageExpectedDischargeDate = new Date();\r\n vm.PhoneTriage.PhoneTriageExpectedDateOfReturn = new Date();\r\n vm.DisplaySaveAndSend = true;\r\n vm.WithoutAppointment = false;\r\n\r\n SurveysService\r\n .GetPhoneTriageByReferralId($stateParams.ID)\r\n .then(function(phonetriageWithInfo) {\r\n phonetriageWithInfo = phonetriageWithInfo.data;\r\n vm.Referral = SurveysService.SetupReferralInfo(phonetriageWithInfo.Referral);\r\n\r\n if(phonetriageWithInfo.PhoneTriage !== null && !angular.isUndefined(phonetriageWithInfo.PhoneTriage.PhoneTriageFindings) && phonetriageWithInfo.PhoneTriage.PhoneTriageFindings !== null) {\r\n phonetriageWithInfo.PhoneTriage.PhoneTriageFindings = phonetriageWithInfo.PhoneTriage.PhoneTriageFindings.split(',').filter(function(el) {return el.length !== 0;});\r\n }\r\n if(phonetriageWithInfo.PhoneTriage !== null && !angular.isUndefined(phonetriageWithInfo.PhoneTriage.PhoneTriageActionplans) && phonetriageWithInfo.PhoneTriage.PhoneTriageActionplans !== null) {\r\n phonetriageWithInfo.PhoneTriage.PhoneTriageActionplans = phonetriageWithInfo.PhoneTriage.PhoneTriageActionplans.split(',').filter(function(el) {return el.length !== 0;});\r\n }\r\n if(phonetriageWithInfo.PhoneTriage !== null && !angular.isUndefined(phonetriageWithInfo.PhoneTriage.BodyRegionOfInjury) && phonetriageWithInfo.PhoneTriage.BodyRegionOfInjury !== null) {\r\n phonetriageWithInfo.PhoneTriage.BodyRegionOfInjury = phonetriageWithInfo.PhoneTriage.BodyRegionOfInjury.split(',').filter(function(el) {return el.length !== 0;});\r\n }\r\n\r\n // ean einai null den theloume na spasei to object pou ftiaksame tin arxh\r\n if(phonetriageWithInfo.PhoneTriage !== null) {\r\n vm.PhoneTriage = phonetriageWithInfo.PhoneTriage;\r\n vm.DisplayAltDiagnosis = vm.PhoneTriage.AltDiagnosis !== null ? true : false;\r\n vm.DisplaySaveAndSend = vm.PhoneTriage.SurveyStatus == \"NOT_SENT\";\r\n }\r\n else{\r\n // orizoume thn timh sto min gia na min exei NaN sto init\r\n var _questions = SurveysService.GetSurveyQuestions(vm.CustomQuestionnaire, [\"pain_score\",\"no_treatment_recovery\"]);\r\n vm.PhoneTriage.PhoneTriagePain = _questions.pain_score.min;\r\n vm.PhoneTriage.PhoneTriageNoTreatment = _questions.no_treatment_recovery.min;\r\n vm.DisplayAltDiagnosis = false;\r\n }\r\n\r\n vm.WithoutAppointment = phonetriageWithInfo.WithoutAppointment;\r\n vm.DisplaySaveAndSend = vm.DisplaySaveAndSend && !vm.WithoutAppointment;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function Submit(exportToPdf) {\r\n vm.loading = true;\r\n if(!angular.isUndefined(vm.PhoneTriage.PhoneTriageFindings) && vm.PhoneTriage.PhoneTriageFindings !== null) {\r\n vm.PhoneTriage.PhoneTriageFindings = vm.PhoneTriage.PhoneTriageFindings.join(',');\r\n }\r\n if(!angular.isUndefined(vm.PhoneTriage.PhoneTriageActionplans) && vm.PhoneTriage.PhoneTriageActionplans !== null) {\r\n vm.PhoneTriage.PhoneTriageActionplans = vm.PhoneTriage.PhoneTriageActionplans.join(',');\r\n }\r\n if(!angular.isUndefined(vm.PhoneTriage.BodyRegionOfInjury) && vm.PhoneTriage.BodyRegionOfInjury !== null) {\r\n vm.PhoneTriage.BodyRegionOfInjury = vm.PhoneTriage.BodyRegionOfInjury.join(',');\r\n }\r\n if(!vm.DisplayAltDiagnosis) {\r\n vm.PhoneTriage.AltDiagnosis = null;\r\n vm.PhoneTriage.PhoneTriageAltDiagnosisOther = null;\r\n }\r\n\r\n vm.PhoneTriage.SurveyStatus = vm.SendEmail ? \"SENT\" : \"NOT_SENT\";\r\n\r\n SurveysService\r\n .SubmitPhoneTriage(vm.PhoneTriage)\r\n .then(function(phonetriage) {\r\n $scope.$parent.vm.HideFirstMeeting = vm.PhoneTriage.ProposedManagement == \"ADVISE_AND_EDUCATION_PHONE_CONSULTING\";\r\n toaster.pop('success',\"Phone Triage was saved.\", \"Saved!\");\r\n\r\n if(!angular.isUndefined(exportToPdf)) {\r\n vm.ExportPDF();\r\n }\r\n\r\n vm.LoadPhoneTriage();\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n function ExportPDF() {\r\n if(angular.isUndefined(vm.PhoneTriage.PhoneTriageFindings) || vm.PhoneTriage.PhoneTriageFindings === null) {\r\n\t vm.PhoneTriage.PhoneTriageFindings = \"\";\r\n\t\t }\r\n else if(_.isArray(vm.PhoneTriage.PhoneTriageFindings)) {\r\n vm.PhoneTriage.PhoneTriageFindings = vm.PhoneTriage.PhoneTriageFindings.join(',');\r\n }\r\n\t\t if(angular.isUndefined(vm.PhoneTriage.PhoneTriageActionplans) || vm.PhoneTriage.PhoneTriageActionplans === null) {\r\n\t vm.PhoneTriage.PhoneTriageActionplans = \"\";\r\n\t\t }\r\n else if(_.isArray(vm.PhoneTriage.PhoneTriageActionplans)) {\r\n vm.PhoneTriage.PhoneTriageActionplans = vm.PhoneTriage.PhoneTriageActionplans.join(',');\r\n }\r\n\t\t if(angular.isUndefined(vm.PhoneTriage.BodyRegionOfInjury) || vm.PhoneTriage.BodyRegionOfInjury === null) {\r\n\t vm.PhoneTriage.BodyRegionOfInjury = \"\";\r\n\t\t }\r\n else if(_.isArray(vm.PhoneTriage.BodyRegionOfInjury)) {\r\n vm.PhoneTriage.BodyRegionOfInjury = vm.PhoneTriage.BodyRegionOfInjury.join(',');\r\n }\r\n\r\n var phoneTriageFindings = vm.PhoneTriage.PhoneTriageFindings.split(',');\r\n var phoneTriageFindingsArray = [];\r\n angular.forEach(phoneTriageFindings, function(phoneTriageFinding, index) {\r\n phoneTriageFindingsArray.push($filter('translate')(phoneTriageFinding));\r\n });\r\n\r\n vm.PhoneTriage.PhoneTriageFindings = phoneTriageFindingsArray.join(',');\r\n\r\n var phoneTriageActionPlans = vm.PhoneTriage.PhoneTriageActionplans.split(',');\r\n var phoneTriageActionPlansArray = [];\r\n angular.forEach(phoneTriageActionPlans, function(phoneTriageActionPlan, index) {\r\n phoneTriageActionPlansArray.push($filter('translate')(phoneTriageActionPlan));\r\n });\r\n vm.PhoneTriage.PhoneTriageActionplans = phoneTriageActionPlansArray.join(',');\r\n\r\n var phoneTriageBodyRegionOfInjury = vm.PhoneTriage.BodyRegionOfInjury.split(',');\r\n var phoneTriageBodyRegionOfInjuryArray = [];\r\n angular.forEach(phoneTriageBodyRegionOfInjury, function(bodyRegionOfInjury, index) {\r\n phoneTriageBodyRegionOfInjuryArray.push($filter('translate')(bodyRegionOfInjury));\r\n });\r\n vm.PhoneTriage.BodyRegionOfInjury = phoneTriageBodyRegionOfInjuryArray.join(',');\r\n\r\n SurveyPdfService\r\n .download(vm.CustomQuestionnaire, vm.PhoneTriage, vm.Questionnaire, vm.Referral);\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ManagerNotesController', ManagerNotesController);\r\n\r\n ManagerNotesController.$inject = ['$scope', '$stateParams','EnumsService', 'AuthService', 'SurveysService', 'toaster', 'ReferralType', 'Gender', 'WorkStatus', 'SurveyPdfService'];\r\n\r\n function ManagerNotesController($scope, $stateParams,EnumsService, AuthService, SurveysService, toaster, ReferralType, Gender, WorkStatus, SurveyPdfService) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.Gender = Gender;\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType,APP.Domain);\r\n vm.WorkStatus = EnumsService.GetClientEnum(WorkStatus,APP.Domain);\r\n\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadManagerNotes = LoadManagerNotes;\r\n\r\n vm.Submit = Submit;\r\n vm.ExportPDF = ExportPDF;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"managernotes\", true)\r\n .then(function(CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.CustomQuestionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n vm.Questionnaire = JSON.parse(CustomAndReferralSurvey.ReferralSurvey.Configuration);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the survey\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadManagerNotes();\r\n });\r\n }\r\n\r\n function LoadManagerNotes(exportToPdf) {\r\n\r\n SurveysService\r\n .GetManagerNoteByReferralId($stateParams.ID, false)\r\n .then(function(managernotesWithInfo) {\r\n managernotesWithInfo = managernotesWithInfo.data;\r\n vm.Referral = SurveysService.SetupReferralInfo(managernotesWithInfo.Referral);\r\n if(managernotesWithInfo.ManagerNote !== null){\r\n vm.ManagerNotes = managernotesWithInfo.ManagerNote;\r\n }\r\n else {\r\n vm.ManagerNotes = {};\r\n vm.ManagerNotes.ReferralID = $stateParams.ID;\r\n }\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function Submit(exportToPdf) {\r\n SurveysService\r\n .SubmitManagerNote(vm.ManagerNotes)\r\n .then(function(managernotes) {\r\n toaster.pop('success',\"Manager Notes were saved.\", \"Saved!\");\r\n\r\n if(!angular.isUndefined(exportToPdf)) {\r\n vm.ExportPDF();\r\n vm.loading = false;\r\n }\r\n else {\r\n vm.LoadManagerNotes();\r\n }\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n function ExportPDF() {\r\n SurveyPdfService\r\n .download(vm.CustomQuestionnaire, vm.ManagerNotes, vm.Questionnaire, vm.Referral);\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ManagerFirstMeetingController', ManagerFirstMeetingController);\r\n\r\n ManagerFirstMeetingController.$inject = [\r\n '$scope', '$stateParams','EnumsService', 'AuthService', 'SurveysService', 'WorkStatus',\r\n 'Diagnosis', 'ActionPlan', 'ProposedManagement', 'AssessmentTypes', 'toaster',\r\n 'ReferralType', 'Gender', 'SurveyPdfService', 'ConditionType', 'NatureOfWork', 'TypeOfReferral'];\r\n\r\n function ManagerFirstMeetingController(\r\n $scope, $stateParams,EnumsService, AuthService, SurveysService, WorkStatus,\r\n Diagnosis, ActionPlan, ProposedManagement, AssessmentTypes, toaster,\r\n ReferralType, Gender, SurveyPdfService, ConditionType, NatureOfWork, TypeOfReferral) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.Gender = Gender;\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType,APP.Domain);\r\n vm.WorkStatus = EnumsService.GetClientEnum(WorkStatus,APP.Domain);\r\n vm.Diagnosis = Diagnosis;\r\n vm.ActionPlan = ActionPlan;\r\n vm.ProposedManagement = ProposedManagement;\r\n vm.AssessmentTypes = AssessmentTypes;\r\n vm.ConditionType = ConditionType;\r\n vm.NatureOfWork = NatureOfWork;\r\n vm.TypeOfReferral = TypeOfReferral;\r\n vm.SplitNum = 2;\r\n\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadFirstMeeting = LoadFirstMeeting;\r\n\r\n vm.RemoveTherapyGoal = RemoveTherapyGoal;\r\n vm.Submit = Submit;\r\n vm.ExportPDF = ExportPDF;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"firstmeeting\", true)\r\n .then(function(CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.CustomQuestionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n vm.Components = vm.IsActive ? SurveysService.ManageSurveyComponentsForView(vm.CustomQuestionnaire, vm.SplitNum) : '';\r\n vm.Questionnaire = JSON.parse(CustomAndReferralSurvey.ReferralSurvey.Configuration);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the survey\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadFirstMeeting();\r\n });\r\n }\r\n\r\n function LoadFirstMeeting() {\r\n vm.FirstMeeting = {};\r\n vm.FirstMeeting.TherapyGoals = [];\r\n vm.FirstMeeting.ReferralID = $stateParams.ID;\r\n vm.FirstMeeting.FirstMeetingDate = new Date();\r\n vm.FirstMeeting.FirstMeetingAbsenceDate = new Date();\r\n vm.FirstMeeting.FirstMeetingReturnedToWorkDate = new Date();\r\n vm.FirstMeeting.FirstMeetingExpectedDateOfReturn = new Date();\r\n vm.FirstMeeting.FirstMeetingExpectedDischargeDate = new Date();\r\n vm.DisplaySaveAndSend = true;\r\n vm.WithoutAppointment = false;\r\n\r\n SurveysService\r\n .GetFirstMeetingByReferralId($stateParams.ID)\r\n .then(function(firstmeetingWithInfo) {\r\n firstmeetingWithInfo = firstmeetingWithInfo.data;\r\n vm.Referral = SurveysService.SetupReferralInfo(firstmeetingWithInfo.Referral);\r\n\r\n if(firstmeetingWithInfo.FirstMeeting !== null && !angular.isUndefined(firstmeetingWithInfo.FirstMeeting.TherapyGoals)) {\r\n vm.DisplayGoal = firstmeetingWithInfo.FirstMeeting.TherapyGoals.length >= 1 ? true : false;\r\n vm.DisplayGoal1 = firstmeetingWithInfo.FirstMeeting.TherapyGoals.length >= 2 ? true : false;\r\n vm.DisplayGoal2 = firstmeetingWithInfo.FirstMeeting.TherapyGoals.length >= 3 ? true : false;\r\n }\r\n\r\n // ean einai null den theloume na spasei to object pou ftiaksame tin arxh\r\n if(firstmeetingWithInfo.FirstMeeting !== null) {\r\n vm.FirstMeeting = firstmeetingWithInfo.FirstMeeting;\r\n vm.DisplayAltDiagnosis = vm.FirstMeeting.AltDiagnosis !== null ? true : false;\r\n vm.DisplaySaveAndSend = vm.FirstMeeting.SurveyStatus == \"NOT_SENT\";\r\n }\r\n else{\r\n // orizoume thn timh sto min gia na min exei NaN sto init\r\n var _questions = SurveysService.GetSurveyQuestions(vm.CustomQuestionnaire, [\"pain_score\",\"no_treatment_recovery\"]);\r\n vm.FirstMeeting.FirstMeetingPain = _questions.pain_score.min;\r\n vm.FirstMeeting.FirstMeetingNoTreatment = _questions.no_treatment_recovery.min;\r\n vm.DisplayAltDiagnosis = false;\r\n }\r\n\r\n vm.WithoutAppointment = firstmeetingWithInfo.WithoutAppointment;\r\n vm.DisplaySaveAndSend = vm.DisplaySaveAndSend && !vm.WithoutAppointment;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function Submit(exportToPdf) {\r\n vm.loading = true;\r\n vm.DisplayGoal = false;\r\n vm.DisplayGoal1 = false;\r\n vm.DisplayGoal2 = false;\r\n\r\n vm.FirstMeeting.SurveyStatus = vm.SendEmail ? \"SENT\" : \"NOT_SENT\";\r\n\r\n SurveysService\r\n .SubmitFirstMeeting(vm.FirstMeeting)\r\n .then(function(firstmeeting) {\r\n toaster.pop('success',\"First Meeting was saved.\", \"Saved!\");\r\n\r\n if(!angular.isUndefined(exportToPdf)) {\r\n vm.ExportPDF();\r\n }\r\n\r\n vm.LoadFirstMeeting();\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n function RemoveTherapyGoal(key) {\r\n vm.FirstMeeting.TherapyGoals.splice(key, 1);\r\n }\r\n\r\n function ExportPDF() {\r\n SurveyPdfService\r\n .download(vm.CustomQuestionnaire, vm.FirstMeeting, vm.Questionnaire, vm.Referral);\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ManagerFinalDischargeController', ManagerFinalDischargeController);\r\n\r\n ManagerFinalDischargeController.$inject = ['$scope', '$stateParams','EnumsService', 'WorkStatus', 'AuthService', 'SurveysService', 'toaster', 'ReferralType', 'Gender', 'SurveyPdfService'];\r\n\r\n function ManagerFinalDischargeController($scope, $stateParams,EnumsService, WorkStatus, AuthService, SurveysService, toaster, ReferralType, Gender, SurveyPdfService) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.Gender = Gender;\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType,APP.Domain);\r\n vm.WorkStatus = EnumsService.GetClientEnum(WorkStatus,APP.Domain);\r\n vm.SplitNum = 2;\r\n\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadFinalDischarge = LoadFinalDischarge;\r\n\r\n vm.Submit = Submit;\r\n vm.ExportPDF = ExportPDF;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"finaldischarge\", true)\r\n .then(function(CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.CustomQuestionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n vm.Components = vm.IsActive ? SurveysService.ManageSurveyComponentsForView(vm.CustomQuestionnaire, vm.SplitNum) : '';\r\n vm.Questionnaire = JSON.parse(CustomAndReferralSurvey.ReferralSurvey.Configuration);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the survey\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadFinalDischarge();\r\n });\r\n }\r\n\r\n function LoadFinalDischarge() {\r\n vm.Discharge = {};\r\n vm.Discharge.ReferralID = $stateParams.ID;\r\n vm.Discharge.IsFinal = 1;\r\n vm.Discharge.IsArchived = true;\r\n vm.Discharge.DischargeDate = new Date();\r\n vm.Discharge.DischargeAbsenceDate = new Date();\r\n vm.Discharge.DischargeReturnedToWorkDate = new Date();\r\n vm.Discharge.DischargeExpectedDateOfReturn = new Date();\r\n vm.DisplaySaveAndSend = true;\r\n\r\n SurveysService\r\n .GetDischargeByReferralId($stateParams.ID, true)\r\n .then(function(dischargeWithInfo) {\r\n vm.Referral = SurveysService.SetupReferralInfo(dischargeWithInfo.Referral);\r\n\r\n // ean einai null den theloume na spasei to object pou ftiaksame tin arxh\r\n if(dischargeWithInfo.Discharge !== null) {\r\n vm.Discharge = dischargeWithInfo.Discharge;\r\n vm.DisplaySaveAndSend = vm.Discharge.SurveyStatus == \"NOT_SENT\";\r\n }\r\n else{\r\n // orizoume thn timh sto min gia na min exei NaN sto init\r\n var _questions = SurveysService.GetSurveyQuestions(vm.CustomQuestionnaire, [\"pain_score\"]);\r\n vm.Discharge.DischargePain = _questions.pain_score.min;\r\n }\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function Submit(exportToPdf) {\r\n vm.loading = true;\r\n vm.Discharge.SurveyStatus = vm.SendEmail ? \"SENT\" : \"NOT_SENT\";\r\n\r\n SurveysService\r\n .SubmitDischarge(vm.Discharge)\r\n .then(function(discharge) {\r\n toaster.pop('success',\"Final Discharge was saved.\", \"Saved!\");\r\n\r\n if(!angular.isUndefined(exportToPdf)) {\r\n vm.ExportPDF();\r\n }\r\n\r\n vm.LoadFinalDischarge();\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n function ExportPDF() {\r\n SurveyPdfService\r\n .download(vm.CustomQuestionnaire, vm.Discharge, vm.Questionnaire, vm.Referral);\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ManagerExerciseController', ManagerExerciseController);\r\n\r\n ManagerExerciseController.$inject = ['$stateParams', '$modalInstance', 'SurveysService', 'toaster', 'ModalParams'];\r\n\r\n function ManagerExerciseController($stateParams, $modalInstance, SurveysService, toaster, ModalParams) {\r\n var vm = this;\r\n\r\n vm.ChosenImages = [];\r\n\r\n vm.LoadIllnesses = LoadIllnesses;\r\n vm.LoadImageItems = LoadImageItems;\r\n vm.LoadOrCreateExercise = LoadOrCreateExercise;\r\n vm.CheckAll = CheckAll;\r\n vm.FilterImageItems = FilterImageItems;\r\n vm.Submit = Submit;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.CustomQuestionnaire = ModalParams.CustomQuestionnaire;\r\n vm.LoadIllnesses();\r\n }\r\n\r\n function LoadIllnesses() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetIllnesses()\r\n .then(function(illnesses) {\r\n vm.Illnesses = illnesses;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n vm.LoadImageItems();\r\n });\r\n }\r\n\r\n function LoadImageItems() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetImageItems()\r\n .then(function(imageItems) {\r\n vm.ImageItems = imageItems;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadOrCreateExercise();\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function LoadOrCreateExercise() {\r\n if(ModalParams.Exercise) {\r\n vm.Exercise = ModalParams.Exercise;\r\n }\r\n else {\r\n vm.Exercise = {};\r\n vm.Exercise.ReferralID = ModalParams.ReferralID;\r\n }\r\n InitExerciseImages();\r\n }\r\n\r\n function CheckAll() {\r\n vm.ChosenImages = _.map(vm.ImageItems, function(exerciseImage) {\r\n return exerciseImage.ID;\r\n });\r\n }\r\n\r\n function FilterImageItems() {\r\n if(vm.SelectedIllness !== null) {\r\n _.each(vm.ImageItems, function(exerciseImage, index) {\r\n exerciseImage.IsActive = false;\r\n _.each(exerciseImage.Illnesses, function(illness, illnessIndex) {\r\n if(illness.IllnessID == vm.SelectedIllness) {\r\n exerciseImage.IsActive = true;\r\n }\r\n });\r\n });\r\n }\r\n else {\r\n _.each(vm.ImageItems, function(exerciseImage, index) {\r\n exerciseImage.IsActive = true;\r\n });\r\n }\r\n }\r\n\r\n function Submit() {\r\n vm.loading = true;\r\n vm.Exercise.ImageItems = ModifyExerciseImages();\r\n vm.Exercise.SurveyStatus = vm.SendEmail ? \"SENT\" : \"NOT_SENT\";\r\n SurveysService\r\n .SubmitExercise(vm.Exercise)\r\n .then(function(exercise) {\r\n vm.loading = false;\r\n toaster.pop('success',\"Exercise was saved.\", \"Saved!\");\r\n $modalInstance.close(exercise);\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n function InitExerciseImages() {\r\n _.each(vm.Exercise.ImageItems, function(existingExerciseImage, existingExerciseImageIndex) {\r\n _.each(vm.ImageItems, function(exerciseImage, exerciseImageIndex) {\r\n if(exerciseImage.ID == existingExerciseImage.ImageID) {\r\n vm.ChosenImages.push(existingExerciseImage.ImageID);\r\n }\r\n });\r\n });\r\n }\r\n\r\n function ModifyExerciseImages() {\r\n return _.map(vm.ChosenImages, function(imageID) {\r\n return {\r\n ExerciseID: -1, // to ekana etsi giati panta sto admin vazoume nea den kanoume pote update, apla to vazo gia na uparexei kati kai na mhn einai null\r\n ImageID: imageID\r\n };\r\n });\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ManagerExercisesController', ManagerExercisesController);\r\n\r\n ManagerExercisesController.$inject = ['$scope', '$stateParams','EnumsService', 'AuthService', 'SurveysService', 'toaster', 'ReferralType', 'Gender', 'WorkStatus', 'ReferralsModals'];\r\n\r\n function ManagerExercisesController($scope, $stateParams,EnumsService, AuthService, SurveysService, toaster, ReferralType, Gender, WorkStatus, ReferralsModals) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.Gender = Gender;\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType,APP.Domain);\r\n vm.WorkStatus = EnumsService.GetClientEnum(WorkStatus,APP.Domain);\r\n\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadExercises = LoadExercises;\r\n\r\n vm.ExerciseModal = ExerciseModal;\r\n vm.DeleteExercise = DeleteExercise;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.Role = AuthService.Roles[0];\r\n\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"exercises\", true)\r\n .then(function(CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.CustomQuestionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n vm.Questionnaire = JSON.parse(CustomAndReferralSurvey.ReferralSurvey.Configuration);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the survey\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadExercises();\r\n });\r\n }\r\n\r\n function LoadExercises() {\r\n vm.ExercisesList = [];\r\n\r\n SurveysService\r\n .GetExerciseByReferralID($stateParams.ID, false)\r\n .then(function(exerciseWithInfo) {\r\n exerciseWithInfo = exerciseWithInfo.data;\r\n vm.Referral = SurveysService.SetupReferralInfo(exerciseWithInfo.Referral);\r\n\r\n // ean einai null den theloume na spasei h lista pou ftiaksame tin arxh\r\n if(exerciseWithInfo.Exercises !== null) {\r\n vm.ExercisesList = exerciseWithInfo.Exercises;\r\n }\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function ExerciseModal(Exercise) {\r\n ReferralsModals.Exercise({\r\n Exercise: Exercise,\r\n CustomQuestionnaire: vm.CustomQuestionnaire,\r\n ReferralID: $stateParams.ID\r\n })\r\n .then(function() {\r\n vm.loading = true;\r\n vm.LoadExercises();\r\n });\r\n }\r\n\r\n function DeleteExercise(ExerciseID) {\r\n vm.loading = true;\r\n SurveysService\r\n .DeleteExercise(ExerciseID)\r\n .then(function(response) {\r\n vm.loading = false;\r\n vm.LoadExercises();\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not delete the data\", error.statusText);\r\n });\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ManagerDischargeController', ManagerDischargeController);\r\n\r\n ManagerDischargeController.$inject = [\r\n '$scope', '$stateParams','EnumsService', 'WorkStatus', 'AuthService', 'SurveysService',\r\n 'toaster', 'ReferralType', 'Gender', 'SurveyPdfService',\r\n ];\r\n\r\n function ManagerDischargeController(\r\n $scope, $stateParams,EnumsService, WorkStatus, AuthService, SurveysService,\r\n toaster, ReferralType, Gender, SurveyPdfService,\r\n ClosedWithoutReachingMinimumAppointmentsReason\r\n ) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.Gender = Gender;\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType,APP.Domain);\r\n vm.WorkStatus = EnumsService.GetClientEnum(WorkStatus,APP.Domain);\r\n vm.SplitNum = 2;\r\n vm.ClosedWithoutReachingMinimumAppointmentsReason = ClosedWithoutReachingMinimumAppointmentsReason;\r\n\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadDischarge = LoadDischarge;\r\n\r\n vm.Submit = Submit;\r\n vm.ExportPDF = ExportPDF;\r\n vm.CustomFilter = CustomFilter;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"discharge\", true)\r\n .then(function(CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.CustomQuestionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n vm.Components = vm.IsActive ? SurveysService.ManageSurveyComponentsForView(vm.CustomQuestionnaire, vm.SplitNum) : '';\r\n vm.Questionnaire = JSON.parse(CustomAndReferralSurvey.ReferralSurvey.Configuration);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the survey\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadDischarge();\r\n });\r\n }\r\n\r\n function LoadDischarge() {\r\n vm.Discharge = {};\r\n vm.Discharge.ReferralID = $stateParams.ID;\r\n vm.Discharge.DischargeDate = new Date();\r\n vm.Discharge.DischargeAbsenceDate = new Date();\r\n vm.Discharge.DischargeReturnedToWorkDate = new Date();\r\n vm.Discharge.DischargeExpectedDateOfReturn = new Date();\r\n vm.DisplaySaveAndSend = true;\r\n vm.WithoutAppointment = false;\r\n\r\n SurveysService\r\n .GetDischargeByReferralId($stateParams.ID, false)\r\n .then(function(dischargeWithInfo) {\r\n dischargeWithInfo = dischargeWithInfo.data;\r\n vm.Referral = SurveysService.SetupReferralInfo(dischargeWithInfo.Referral);\r\n\r\n // ean einai null den theloume na spasei to object pou ftiaksame tin arxh\r\n if(dischargeWithInfo.Discharge !== null) {\r\n vm.Discharge = dischargeWithInfo.Discharge;\r\n vm.CanDischarge = true;\r\n vm.CanDischargeOrCloseCase = true;\r\n vm.DisplaySaveAndSend = vm.Discharge.SurveyStatus == \"NOT_SENT\";\r\n }\r\n else{\r\n // orizoume thn timh sto min gia na min exei NaN sto init\r\n var _questions = SurveysService.GetSurveyQuestions(vm.CustomQuestionnaire, [\"pain_score\",\"more_sessions\"]);\r\n vm.Discharge.DischargePain = _questions.pain_score.min;\r\n vm.Discharge.DischargeExtraSessionsNumber = _questions.more_sessions.min;\r\n vm.CanDischarge = dischargeWithInfo.CanDischarge;\r\n vm.CanDischargeOrCloseCase = dischargeWithInfo.CanDischargeOrCloseCase;\r\n }\r\n\r\n // afto einai se update kai eno afora to canDischarge mporei na allaksei, opote to ekana ksexoristo\r\n vm.CanDischarge = vm.CanDischarge && vm.CanDischargeOrCloseCase;\r\n\r\n vm.WithoutAppointment = firstmeetingWithInfo.WithoutAppointment;\r\n vm.DisplaySaveAndSend = vm.DisplaySaveAndSend && !vm.WithoutAppointment;\r\n\r\n var minimumAppointmentsToDischarge = APP.Client.Extra.MinimumAppointmentsToDischarge !== null ? APP.Client.Extra.MinimumAppointmentsToDischarge : 0;\r\n vm.Referral.ClosedWithoutReachingMinimumAppointments = dischargeWithInfo.AppointmentCount < minimumAppointmentsToDischarge && minimumAppointmentsToDischarge > 0 ? true : false;\r\n vm.HasAppointmentReason = vm.Referral.ClosedWithoutReachingMinimumAppointmentsReason;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function Submit(exportToPdf) {\r\n vm.loading = true;\r\n\r\n if(vm.Discharge.DischargeRequestMoreSessions && vm.Discharge.DischargeExtraSessionsNumber > 0) {\r\n vm.Discharge.IsArchived = false;\r\n // efoson exoume extra sessions request pername sto object ExtraSessions afta pou prepei gia na apothikeftoun\r\n vm.Discharge.ExtraSessions = [];\r\n vm.Discharge.ExtraSessions[0] = {};\r\n vm.Discharge.ExtraSessions[0].ExtraSessionAmount = vm.Discharge.DischargeExtraSessionsNumber;\r\n vm.Discharge.ExtraSessions[0].ExtraSessionStatus = ExtraSessionStatus[0];\r\n }\r\n\r\n\r\n if(!angular.isUndefined(vm.Discharge.DischargeGoalsAchieved) && vm.Discharge.DischargeGoalsAchieved) {\r\n vm.Discharge.DischargeGoalsFailedExplanation = null;\r\n }\r\n\r\n vm.Discharge.SurveyStatus = vm.SendEmail ? \"SENT\" : \"NOT_SENT\";\r\n\r\n if(vm.Discharge.SurveyStatus===\"SENT\" && (!vm.Discharge.DischargeRequestMoreSessions || vm.Discharge.DischargeExtraSessionsNumber == 0))\r\n {\r\n vm.Discharge.IsArchived = true;\r\n }\r\n\r\n SurveysService\r\n .SubmitDischarge(vm.Discharge)\r\n .then(function(discharge) {\r\n\r\n if(vm.Referral.ClosedWithoutReachingMinimumAppointments) {\r\n SurveysService\r\n .SubmitReferral(vm.Referral)\r\n .then(function(referral) {\r\n finishSubmit(exportToPdf);\r\n });\r\n }\r\n else {\r\n finishSubmit(exportToPdf);\r\n }\r\n\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n // TODO: NA GINEI ENA SERVICE\r\n function CustomFilter() {\r\n // afora to pain recovery kai an epileksei to excellent progress\r\n if(vm.Discharge.DischargePain > 0 && vm.Referral.ClosedWithoutReachingMinimumAppointmentsReason === 'HAS_MADE_EXCELLENT_PROGRESS_AND_CAN_SELF_MANAGE') {\r\n vm.CanDischarge = false;\r\n vm.DisplayMessageForValidDischargeWithPainScoreForFullRecovery = true;\r\n }\r\n else if(vm.HasAppointmentReason === null && vm.CanDischargeOrCloseCase && vm.CanEdit) {\r\n vm.CanDischarge = true;\r\n vm.DisplayMessageForValidDischargeWithPainScoreForFullRecovery = false;\r\n }\r\n }\r\n\r\n function finishSubmit(exportToPdf) {\r\n vm.Submitted = true;\r\n toaster.pop('success',\"Discharge was saved.\", \"Saved!\");\r\n if(!angular.isUndefined(exportToPdf)) {\r\n vm.ExportPDF();\r\n }\r\n\r\n vm.LoadDischarge();\r\n }\r\n\r\n function ExportPDF() {\r\n SurveyPdfService\r\n .download(vm.CustomQuestionnaire, vm.Discharge, vm.Questionnaire, vm.Referral);\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ManagerDashboardController', ManagerDashboardController);\r\n\r\n ManagerDashboardController.$inject = ['$stateParams', 'DashboardService', 'AuthService', 'SurveysService'];\r\n\r\n function ManagerDashboardController($stateParams, DashboardService, AuthService, SurveysService) {\r\n\r\n var vm = this;\r\n\r\n activate();\r\n\r\n function activate() {\r\n GetChart();\r\n GetRecentReferrals();\r\n GetLateReferrals();\r\n GetStatistics();\r\n GetLatestAppointments();\r\n\r\n vm.Display = AuthService.Roles[0] === \"MANAGER\" || AuthService.Roles[0] === \"MODERATOR\";\r\n\r\n if(vm.Display) {\r\n GetDischargesPerMonth();\r\n GetNewUsersPerMonth();\r\n GetNumberOfDaysSavedPerMonth();\r\n }\r\n }\r\n\r\n function GetChart() {\r\n vm.ChartLoading = true;\r\n DashboardService\r\n .GetChart()\r\n .then(function(result) {\r\n SetChart(result);\r\n vm.ChartLoading = false;\r\n });\r\n }\r\n\r\n function SetChart(serviceResults) {\r\n vm.Chart = {};\r\n vm.Chart.Data = [];\r\n vm.Chart.Labels = [];\r\n vm.Chart.Series = ['Archived Referrals', 'New Referrals', 'Total Referrals', 'Total Appointments'];\r\n vm.Chart.Options = {legend:{display:false}};\r\n\r\n var closedCases = [];\r\n var archivedReferrals = [];\r\n\r\n var activeReferrals = [];\r\n var totalReferrals = [];\r\n var totalAppointments = [];\r\n angular.forEach(serviceResults, function(result, label) {\r\n vm.Chart.Labels.push(label);\r\n\r\n //closedCases.push(result.Data.CaseClosed);\r\n archivedReferrals.push(result.Data.ArchivedReferrals);\r\n activeReferrals.push(result.Data.ActiveReferrals);\r\n totalReferrals.push(result.Data.ArchivedReferrals +result.Data.CaseClosed + result.Data.ActiveReferrals);\r\n totalAppointments.push(result.Data.Appointments);\r\n });\r\n\r\n vm.Chart.Data.push(archivedReferrals, activeReferrals, totalReferrals, totalAppointments);\r\n }\r\n\r\n function GetRecentReferrals() {\r\n vm.RecentReferralsLoading = true;\r\n DashboardService\r\n .GetRecentReferrals()\r\n .then(function(result) {\r\n vm.RecentReferrals = result;\r\n vm.RecentReferralsLoading = false;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the recent referrals\", error.statusText);\r\n });\r\n }\r\n\r\n function GetLateReferrals() {\r\n vm.LateReferralsLoading = true;\r\n DashboardService\r\n .GetLateReferrals()\r\n .then(function(result) {\r\n vm.LateReferrals = result;\r\n vm.LateReferralsLoading = false;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the late referrals\", error.statusText);\r\n });\r\n }\r\n\r\n function GetStatistics() {\r\n vm.StatisticsLoading = true;\r\n DashboardService\r\n .GetStatistics()\r\n .then(function(result) {\r\n vm.Statistics = result;\r\n vm.StatisticsLoading = false;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the statistics\", error.statusText);\r\n });\r\n }\r\n\r\n function GetLatestAppointments() {\r\n vm.LatestAppointmentsLoading = true;\r\n DashboardService\r\n .GetLatestAppointments()\r\n .then(function(result) {\r\n vm.LatestAppointments = result;\r\n vm.LatestAppointmentsLoading = false;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the latest appointments\", error.statusText);\r\n });\r\n }\r\n\r\n function GetNewUsersPerMonth() {\r\n vm.NewUsersPerMonthCount = 0;\r\n vm.NewUsersPerMonthCountLoading = true;\r\n DashboardService\r\n .GetNewUsersPerMonth()\r\n .then(function(result) {\r\n vm.NewUsersPerMonthCount = result;\r\n vm.NewUsersPerMonthCountLoading = false;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the new users\", error.statusText);\r\n });\r\n }\r\n\r\n function GetDischargesPerMonth() {\r\n vm.DischargesPerMonthCount = 0;\r\n vm.DischargesPerMonthCountLoading = true;\r\n DashboardService\r\n .GetDischargesPerMonth()\r\n .then(function(result) {\r\n vm.DischargesPerMonthCount = result;\r\n vm.DischargesPerMonthCountLoading = false;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the discharges\", error.statusText);\r\n });\r\n }\r\n\r\n function GetNumberOfDaysSavedPerMonth() {\r\n vm.NumberOfDaysSaved = 0;\r\n vm.NumberOfDaysSavedLoading = true;\r\n DashboardService\r\n .GetNumberOfDaysSavedPerMonth()\r\n .then(function(result) {\r\n vm.NumberOfDaysSaved = result;\r\n vm.NumberOfDaysSavedLoading = false;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the number of days saved\", error.statusText);\r\n });\r\n }\r\n\r\n }\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ManagerCalendarController', ManagerCalendarController);\r\n\r\n ManagerCalendarController.$inject = ['$state', '$stateParams','SurveysService', 'AuthService'];\r\n\r\n // ManagerModals\r\n function ManagerCalendarController($state, $stateParams, SurveysService, AuthService) {\r\n var vm = this;\r\n\r\n vm.LoadCalendar = LoadCalendar;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.LoadCalendar();\r\n }\r\n\r\n function LoadCalendar() {\r\n vm.CalendarOptions = SurveysService.CalendarOptions({\r\n loading: function(isLoading) {\r\n vm.loading_calendar = isLoading;\r\n }\r\n });\r\n\r\n vm.CalendarSources = [{\r\n // currentTimezone: APP.Client.System.Timezone,\r\n events: function(start, end, timezone, callback) {\r\n SurveysService\r\n .GetCalendarEvents({\r\n From: start.toISOString(),\r\n To: end.toISOString()\r\n })\r\n .then(function(appointments) {\r\n appointments = appointments.data;\r\n if (appointments.length) {\r\n vm.Appointments = appointments;\r\n callback(appointments);\r\n }\r\n vm.loading_calendar = false;\r\n }, function(error) {\r\n vm.loading_calendar = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n }];\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ManagerAppointmentsController', ManagerAppointmentsController);\r\n\r\n ManagerAppointmentsController.$inject = ['$scope', '$stateParams','EnumsService', 'AuthService', 'SurveysService', 'toaster', 'AttendStatus', 'ReferralType', 'Gender', 'WorkStatus', 'AppointmentType', 'ReferralsModals'];\r\n\r\n function ManagerAppointmentsController($scope, $stateParams,EnumsService, AuthService, SurveysService, toaster, AttendStatus, ReferralType, Gender, WorkStatus, AppointmentType, ReferralsModals) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.AttendStatus = AttendStatus;\r\n vm.Gender = Gender;\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType,APP.Domain);\r\n vm.WorkStatus = EnumsService.GetClientEnum(WorkStatus,APP.Domain);\r\n vm.AppointmentType =EnumsService.GetClientEnum(AppointmentType,APP.Domain) ;\r\n\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.LoadAppointments = LoadAppointments;\r\n\r\n vm.AppointmentModal = AppointmentModal;\r\n vm.DeleteAppointment = DeleteAppointment;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Back = $scope.$parent.vm.Back;\r\n vm.Role = AuthService.Roles[0];\r\n\r\n vm.LoadSurvey();\r\n }\r\n\r\n function LoadSurvey() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveyByCode(\"appointments\", true)\r\n .then(function(CustomAndReferralSurvey) {\r\n vm.IsActive = CustomAndReferralSurvey.CustomSurvey.IsActive;\r\n vm.CanEdit = CustomAndReferralSurvey.CustomSurvey.CanEdit;\r\n vm.CustomQuestionnaire = vm.IsActive ? JSON.parse(CustomAndReferralSurvey.CustomSurvey.Configuration) : '';\r\n vm.Questionnaire = JSON.parse(CustomAndReferralSurvey.ReferralSurvey.Configuration);\r\n // vm.Questionnaire = SurveysService.DisableSurveyQuestions(vm.Questionnaire);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.LoadAppointments();\r\n });\r\n }\r\n\r\n function LoadAppointments() {\r\n vm.AppointmentTime = null;\r\n vm.Appointment = {};\r\n vm.Appointment.ReferralID = $stateParams.ID;\r\n vm.Appointment.AppointmentDate = new Date();\r\n\r\n vm.AppointmentsList = [];\r\n\r\n SurveysService\r\n .GetAppointmentByReferralId($stateParams.ID, false)\r\n .then(function(appointmentWithInfo) {\r\n appointmentWithInfo = appointmentWithInfo.data;\r\n vm.Referral = SurveysService.SetupReferralInfo(appointmentWithInfo.Referral);\r\n\r\n // ean einai null den theloume na spasei h lista pou ftiaksame tin arxh\r\n if(appointmentWithInfo.Appointments !== null) {\r\n vm.AppointmentsList = appointmentWithInfo.Appointments;\r\n }\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function AppointmentModal(Appointment) {\r\n ReferralsModals.Appointment({\r\n Appointment: Appointment,\r\n CustomQuestionnaire: vm.CustomQuestionnaire,\r\n ReferralID: $stateParams.ID\r\n })\r\n .then(function() {\r\n vm.loading = true;\r\n vm.LoadAppointments();\r\n });\r\n }\r\n\r\n function DeleteAppointment(AppointmentID) {\r\n vm.loading = true;\r\n SurveysService\r\n .DeleteAppointment(AppointmentID)\r\n .then(function(response) {\r\n vm.loading = false;\r\n vm.LoadAppointments();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not delete the data\", error.statusText);\r\n });\r\n }\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .controller('ManagerAppointmentController', ManagerAppointmentController);\r\n\r\n ManagerAppointmentController.$inject = ['$stateParams', '$modalInstance','EnumsService', 'SurveysService', 'toaster', 'AttendStatus', 'AppointmentType', 'ModalParams'];\r\n\r\n function ManagerAppointmentController($stateParams, $modalInstance,EnumsService, SurveysService, toaster, AttendStatus, AppointmentType, ModalParams) {\r\n var vm = this;\r\n\r\n // enums\r\n vm.AttendStatus = AttendStatus;\r\n vm.AppointmentType = EnumsService.GetClientEnum(AppointmentType,APP.Domain); ;\r\n\r\n vm.LoadAppointment = LoadAppointment;\r\n\r\n vm.Submit = Submit;\r\n\r\n activate();\r\n\r\n function activate() {\r\n if(APP.Client.Appointment.Times.constructor === Array) {\r\n // epeidi einai string thn ora pou to eftiaxna paizei to else, alla ean meta dosoume diaxeirish kai apothikevei sosta array de thelo na spasei to project\r\n }\r\n else {\r\n var times = JSON.parse(\"[\" + APP.Client.Appointment.Times + \"]\");\r\n vm.Times = times[0];\r\n }\r\n\r\n vm.CustomQuestionnaire = ModalParams.CustomQuestionnaire;\r\n\r\n if(ModalParams.Appointment) {\r\n vm.LoadAppointment(ModalParams.Appointment);\r\n }\r\n else {\r\n vm.Appointment = {};\r\n vm.Appointment.ReferralID = ModalParams.ReferralID;\r\n vm.Appointment.AppointmentDate = new Date();\r\n }\r\n }\r\n\r\n function LoadAppointment(Appointment) {\r\n var hour = ('0' + moment.utc(Appointment.AppointmentDate).get(\"hour\")).slice(-2);\r\n var minutes = ('0' + moment.utc(Appointment.AppointmentDate).get(\"minutes\")).slice(-2);\r\n vm.AppointmentTime = hour + \":\" + minutes;\r\n vm.Appointment = ModalParams.Appointment;\r\n }\r\n\r\n function Submit() {\r\n var appointmentDate = moment(vm.Appointment.AppointmentDate);\r\n\r\n vm.Appointment.AppointmentDate = moment.utc({\r\n year: appointmentDate.year(),\r\n month: appointmentDate.month(),\r\n day: appointmentDate.date()\r\n })\r\n .add(moment(vm.AppointmentTime, \"HH:mm\").hours(), 'h')\r\n .add(moment(vm.AppointmentTime, \"HH:mm\").minutes(), 'm')\r\n .toISOString();\r\n\r\n SurveysService\r\n .SubmitAppointment(vm.Appointment)\r\n .then(function(appointment) {\r\n toaster.pop('success',\"Appointment was saved.\", \"Saved!\");\r\n $modalInstance.close(appointment);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n }\r\n})();\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.configuration', [\r\n 'textAngular',\r\n 'colorpicker.module',\r\n 'ngMap',\r\n ]);\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.configuration')\r\n .factory('OfflineModals', OfflineModals);\r\n\r\n OfflineModals.$inject = ['modalHelper'];\r\n\r\n function OfflineModals(modalHelper) {\r\n return modalHelper.configureModals(getModals());\r\n\r\n function getModals() {\r\n return [{\r\n modal: \"OfflineMessage\",\r\n config: {\r\n templateUrl: 'src/com.admin/configuration/offline/views/offline.message.modal.html',\r\n controller: \"OfflineMessageController\",\r\n size:\"md\"\r\n }\r\n }];\r\n }\r\n }\r\n\r\n}());\r\n"," (function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.configuration')\r\n .controller('OfflineMessageController', OfflineMessageController);\r\n\r\n OfflineMessageController.$inject = [\"$modalInstance\", 'ConfigurationService'];\r\n\r\n function OfflineMessageController($modalInstance, ConfigurationService) {\r\n var vm = this;\r\n\r\n vm.Description = angular.copy(APP.Client.Offline.Description);\r\n vm.Save = Save;\r\n\r\n activate();\r\n\r\n function activate() {}\r\n\r\n function Save() {\r\n vm.loading = true;\r\n\r\n ConfigurationService\r\n .Save({\r\n \"Offline.Description\": vm.Description,\r\n })\r\n .then(function() {\r\n APP.Client.Offline.Description = angular.copy(vm.Description);\r\n $modalInstance.close();\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n }());\r\n"," (function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.configuration')\r\n .controller('OfflineConfigurationController', OfflineConfigurationController);\r\n\r\n OfflineConfigurationController.$inject = ['OfflineModals'];\r\n\r\n function OfflineConfigurationController(OfflineModals) {\r\n var vm = this;\r\n\r\n vm.OfflineMessage = OfflineMessage;\r\n\r\n activate();\r\n\r\n function activate() {}\r\n\r\n function OfflineMessage() {\r\n OfflineModals\r\n .OfflineMessage();\r\n }\r\n\r\n }\r\n\r\n }());\r\n"," (function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('SurveyPdfFormController', SurveyPdfFormController);\r\n\r\n SurveyPdfFormController.$inject = ['ModalParams', '$modalInstance', 'ConfigurationService', 'toaster'];\r\n\r\n function SurveyPdfFormController(ModalParams, $modalInstance, ConfigurationService, toaster) {\r\n var vm = this;\r\n vm.Pdf = _.clone(APP.Client.Pdf);\r\n\r\n vm.Save = Save;\r\n vm.SaveWithLogo = SaveWithLogo;\r\n vm.SimpleSave = SimpleSave;\r\n\r\n activate();\r\n\r\n function activate() {}\r\n\r\n function Save() {\r\n vm.loading = true;\r\n\r\n if(vm.File) {\r\n vm.SaveWithLogo();\r\n }\r\n else {\r\n vm.SimpleSave();\r\n }\r\n }\r\n\r\n function SaveWithLogo() {\r\n if(vm.File) {\r\n ConfigurationService\r\n .UploadFile({\r\n File: vm.File\r\n })\r\n .then(function(_logo) {\r\n vm.Pdf.CompanyLogo = _logo;\r\n vm.SimpleSave();\r\n });\r\n }\r\n }\r\n\r\n function SimpleSave() {\r\n var _data = {};\r\n\r\n _.mapObject(vm.Pdf, function(val, key) {\r\n _data[\"Pdf.\" + key] = val;\r\n });\r\n\r\n ConfigurationService\r\n .Save(_data)\r\n .then(function(response) {\r\n vm.loading = false;\r\n APP.Client.Pdf = vm.Pdf;\r\n\r\n toaster.pop('success',\"Pdf details were saved.\", \"Saved!\");\r\n $modalInstance.close();\r\n });\r\n }\r\n }\r\n }());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.configuration')\r\n .controller('LocalizationFormController', LocalizationFormController);\r\n\r\n LocalizationFormController.$inject = ['ModalParams', '$modalInstance', 'ConfigurationService', 'toaster', 'LocalesConstant', 'TimezonesConstant', 'ClientService'];\r\n\r\n function LocalizationFormController(ModalParams, $modalInstance, ConfigurationService, toaster, LocalesConstant, TimezonesConstant, ClientService) {\r\n var vm = this;\r\n vm.Locales = LocalesConstant;\r\n vm.Locale = APP.Client.System.Locale;\r\n vm.Timezones = TimezonesConstant;\r\n vm.Timezone = APP.Client.System.Timezone;\r\n vm.Save = Save;\r\n vm.loading = false;\r\n activate();\r\n\r\n function activate() {}\r\n\r\n function Save() {\r\n vm.loading = true;\r\n\r\n var _data = {};\r\n\r\n _.mapObject(vm.Company, function(val, key) {\r\n _data[\"Company.\" + key] = val;\r\n });\r\n\r\n ConfigurationService\r\n .Save({\r\n \"System.Language\": vm.Language,\r\n \"System.Locale\": vm.Locale,\r\n })\r\n .then(function() {\r\n vm.loading = false;\r\n\r\n APP.Client.System.Locale = vm.Locale;\r\n APP.Client.System.Timezone = vm.Timezone;\r\n\r\n ClientService.LoadSettings();\r\n\r\n toaster.pop('success',\"Localization were saved.\", \"Saved!\");\r\n $modalInstance.close();\r\n });\r\n }\r\n\r\n }\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.configuration')\r\n .constant('LocalesConstant', [{\r\n Code: \"el-gr\",\r\n Name: \"Greek / Greece\",\r\n }, {\r\n Code: \"en-gb\",\r\n Name: \"English / Great Britain\",\r\n }])\r\n .constant('TimezonesConstant', [\r\n \"Europe/Athens\",\r\n \"Europe/London\"\r\n ]);\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientValidateController', ClientValidateController);\r\n\r\n ClientValidateController.$inject = ['ClientsService'];\r\n\r\n function ClientValidateController(ClientsService) {\r\n var vm = this;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.loading = true;\r\n ClientsService\r\n .ValidateClients()\r\n .then(function(results) {\r\n console.log(results);\r\n vm.Results = results;\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n }\r\n\r\n}());\r\n"," (function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.configuration')\r\n .controller('CompanyFormController', CompanyFormController);\r\n\r\n CompanyFormController.$inject = ['ModalParams', '$modalInstance', 'ConfigurationService', 'toaster'];\r\n\r\n function CompanyFormController(ModalParams, $modalInstance, ConfigurationService, toaster) {\r\n var vm = this;\r\n vm.Company = _.clone(APP.Client.Company);\r\n vm.Save = Save;\r\n vm.loading = false;\r\n\r\n activate();\r\n\r\n function activate() {}\r\n\r\n function Save() {\r\n vm.loading = true;\r\n\r\n var _data = {}\r\n\r\n _.mapObject(vm.Company, function(val, key) {\r\n _data[\"Company.\" + key] = val;\r\n });\r\n\r\n ConfigurationService\r\n .Save(_data)\r\n .then(function() {\r\n vm.loading = false;\r\n APP.Client.Company = vm.Company;\r\n\r\n toaster.pop('success',\"Company details were saved.\", \"Saved!\")\r\n $modalInstance.close();\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n }());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientSurveysEditController', ClientSurveysController);\r\n\r\n ClientSurveysController.$inject = [\"ModalParams\", 'SurveysService', '$modalInstance', 'ReferralRoles', 'toaster'];\r\n\r\n function ClientSurveysController(ModalParams, SurveysService, $modalInstance, ReferralRoles, toaster) {\r\n\r\n var vm = this;\r\n\r\n vm.Roles = ReferralRoles;\r\n\r\n // xrhsimopoieitai gia ton elegxo tou an exei svhstei apo to basic survey alla yparxei sto custom (search 'remote_from_custom')\r\n vm._basicQuestions = [];\r\n vm._surveyCode = \"\";\r\n\r\n // afto to array xrhsimopoieitai gia na elegxoume ean ta epilegmena surveys einai idiou savecode\r\n vm.LoadedSurveys = [];\r\n\r\n vm.CustomSurvey = {};\r\n vm.CustomSurvey.questions = {};\r\n vm.CustomSurvey.attributes = {};\r\n vm.CustomSurvey.groups = {};\r\n\r\n vm.LoadSurvey = LoadSurvey;\r\n vm.InitialLoadToGroups = InitialLoadToGroups;\r\n vm.LoadCustomSurvey = LoadCustomSurvey;\r\n\r\n vm.SaveSurvey = SaveSurvey;\r\n vm.AddNewGroup = AddNewGroup;\r\n vm.RemoveGroup = RemoveGroup;\r\n\r\n vm.GroupToBeEdited = [];\r\n vm.EnableGroupNameEdit = EnableGroupNameEdit;\r\n vm.EditGroupName = EditGroupName;\r\n vm.SimilarEntitiesFound = false;\r\n\r\n vm.AddToCustomSurveyGroups = AddToCustomSurveyGroups;\r\n vm.ItemMoved = ItemMoved;\r\n\r\n vm.ClearSelectedRolesAndSurveys = ClearSelectedRolesAndSurveys;\r\n vm.ClearAndNew = ClearAndNew;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.LoadSurvey(false);\r\n }\r\n\r\n function LoadSurvey(RoleType) {\r\n vm.loading = true;\r\n // ean yparxei hdh o rolos tote prepei na ton vgaloume\r\n if(!_.isUndefined(vm.UserRoles) && vm.UserRoles !== null && vm.UserRoles.indexOf(RoleType) > -1) {\r\n _removeRoleAndSurvey(RoleType);\r\n vm.loading = false;\r\n vm.SimilarEntitiesFound = false;\r\n }\r\n else {\r\n SurveysService\r\n .GetSurveyById(ModalParams.SurveyID)\r\n .then(function(survey) {\r\n vm.Survey = survey;\r\n vm.Survey.questionnaire = JSON.parse(survey.Configuration);\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n vm.CustomSurvey = {};\r\n vm.CustomSurvey.code = vm.Survey.code;\r\n vm.CustomSurvey.Name = vm.Survey.Name;\r\n vm.CustomSurvey.Type = vm.Survey.Type;\r\n vm.CustomSurvey.IsCustom = true;\r\n vm.CustomSurvey.IsActive = vm.Survey.IsActive;\r\n vm.CustomSurvey.CanEdit = _initialRoleCanEdit(vm.Survey.code, RoleType);\r\n vm.CustomSurvey.Configuration = \"\";\r\n\r\n vm.CustomSurvey.groups = {};\r\n vm.CustomSurvey.groups.nogroup = {\r\n title: \"No Group\",\r\n questions: []\r\n };\r\n\r\n vm.InitialLoadToGroups();\r\n\r\n vm._surveyCode = vm.Survey.code;\r\n if(RoleType) {\r\n vm.LoadCustomSurvey(RoleType);\r\n }\r\n else {\r\n vm.loading = false;\r\n }\r\n });\r\n }\r\n }\r\n\r\n function InitialLoadToGroups() {\r\n _.each(vm.Survey.questionnaire.groups, function(group, group_alias) {\r\n vm.CustomSurvey.groups[group_alias] = {\r\n title: group.title,\r\n can_be_deleted: true,\r\n questions: []\r\n };\r\n\r\n _.each(group.questions, function(question_alias, question_index) {\r\n var _question = {\r\n alias: question_alias,\r\n mandatory: vm.Survey.questionnaire.questions[question_alias].mandatory,\r\n similar_entity: vm.Survey.questionnaire.questions[question_alias].similar_entity\r\n };\r\n\r\n if(_question.mandatory) {\r\n vm.CustomSurvey.groups[group_alias].can_be_deleted = false;\r\n }\r\n\r\n _.each(vm.Survey.questionnaire.questions[question_alias].attributes, function(attribute, key) {\r\n _question[key] = attribute.value;\r\n });\r\n\r\n vm.CustomSurvey.groups[group_alias].questions.push(_question);\r\n\r\n // prostethike gia tin anagh pou uparxoun similar components. to similar_entity theoreitai attribute, not basic attribute\r\n var _attributes = vm.Survey.questionnaire.questions[question_alias].attributes;\r\n // opote ean uparxei afto to attribute tote valto sth lista gia ton elegxo\r\n if(!_.isUndefined(vm.Survey.questionnaire.questions[question_alias].similar_entity)) {\r\n _attributes.similar_entity = vm.Survey.questionnaire.questions[question_alias].similar_entity;\r\n }\r\n vm._basicQuestions[question_alias] = _attributes;\r\n });\r\n });\r\n }\r\n\r\n function LoadCustomSurvey(RoleType) {\r\n vm.MissingDependenciesText = \"\";\r\n\r\n SurveysService\r\n .GetSurveyByRole(vm._surveyCode, true, RoleType)\r\n .then(function(customSurvey) {\r\n vm.CustomSurvey = customSurvey.CustomSurvey;\r\n\r\n var decodedCustomSurvey = JSON.parse(customSurvey.CustomSurvey.Configuration);\r\n vm.CustomSurvey.groups = decodedCustomSurvey.groups;\r\n\r\n // ginetai clone ton group giati ginotan mutate me to splice\r\n var clonedCustomSurveyGroups = decodedCustomSurvey.groups;\r\n // aftos o pinakas xreiazetai gia na elegxoume gia to poies erothseis den yparxoun sto custom kai na prostehoun. xrhsimopoietai parakato (search 'add_to_custom')\r\n var customQuestionsInGroups = [];\r\n\r\n // oi custom erothseis pernane apo elegxo gia na:\r\n // 1. doume an exei svhstei kapoia apo to basic tote prepei na pesei sto lako ths sparths\r\n // 2. doume ean exei allaksei kapoio attribute, etsi oste na to afairesoume an den xreiazetai\r\n _.each(clonedCustomSurveyGroups, function(group, group_alias) {\r\n _.each(group.questions, function(question, question_index) {\r\n\r\n // remote_from_custom: kathe erothsh pou exei svhsei apo to basic survey kai yphrxe sto custom svhnetai. prepei na ginei apothikeush gia na paiksei h allagh giati prepei na allaksei to custom json\r\n if(_.isUndefined(vm._basicQuestions[question.alias])) {\r\n vm.CustomSurvey.groups[group_alias].questions.splice(question_index,1);\r\n }\r\n else {\r\n // koitame ean yparxoun allages sta attribute kai svhnoume afta pou den yparxoun sto basic\r\n // h prosthetoume afta pou yparxoun apo to basic\r\n _.each(question, function(attribute_value, attribute_key) {\r\n\r\n // to alias & to mandatory & to similar_entity den theloume na elegxontai giati einai panta mesa kai einai systemika.\r\n if(attribute_key !== \"alias\" && attribute_key !== \"mandatory\") {\r\n // ean den yparxei sto basic ena attribute apo to custom tote svhsto\r\n if(_.isUndefined(vm._basicQuestions[question.alias][attribute_key])) {\r\n delete vm.CustomSurvey.groups[group_alias].questions[question_index][attribute_key];\r\n }\r\n\r\n // gia kathe ena apo ta basic pou den yparxoun sto custom, tote prosthese ta\r\n _.each(vm._basicQuestions[question.alias], function(basic_attribute, basic_attribute_key) {\r\n if(_.isUndefined(vm.CustomSurvey.groups[group_alias].questions[question_index][basic_attribute_key])) {\r\n vm.CustomSurvey.groups[group_alias].questions[question_index][basic_attribute_key] = basic_attribute;\r\n }\r\n });\r\n }\r\n });\r\n customQuestionsInGroups.push(question.alias);\r\n }\r\n });\r\n });\r\n\r\n // add_to_custom: kathe erothsh pou den yparxei sto custom prostithetai sto nogroup\r\n _.each(vm.Survey.questionnaire.questions, function(question, question_alias) {\r\n if(customQuestionsInGroups.indexOf(question_alias) === -1) {\r\n var _question = {\r\n alias: question_alias,\r\n mandatory: vm.Survey.questionnaire.questions[question_alias].mandatory,\r\n similar_entity: vm.Survey.questionnaire.questions[question_alias].similar_entity\r\n };\r\n\r\n _.each(question.attributes, function(attribute, key) {\r\n // ean einai pinakas tote vazoume atofio to attribute kathos to value einai olos o pinakas, allios to property value\r\n if(_.isArray(attribute)) {\r\n _question[key] = attribute;\r\n }\r\n else {\r\n _question[key] = attribute.value;\r\n }\r\n });\r\n\r\n vm.CustomSurvey.groups.nogroup.questions.push(_question);\r\n }\r\n });\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n // antikeimeno gia na vlepoume poia custom kai mh surveys exoun epilexthei\r\n var _loadedCustomSurvery = {\r\n ID: vm.CustomSurvey.ID,\r\n SaveCode: vm.CustomSurvey.SaveCode,\r\n RoleType: RoleType,\r\n CustomSurveyObject: angular.copy(vm.CustomSurvey)\r\n };\r\n\r\n vm.LoadedSurveys.push(_loadedCustomSurvery);\r\n\r\n // ean den einai idia tote emfanizoume minima (vm.ShowSurveyAlert = true) kai den mporei na apothikefsei (vm.CanSave = false)\r\n vm.ShowSurveyAlert = !_surveysAreTheSame();\r\n vm.CanSave = !vm.ShowSurveyAlert;\r\n\r\n if(vm.LoadedSurveys.length > 0) {\r\n // fortonoume to object tou protou index apo to array ton surveys\r\n vm.CustomSurvey = vm.LoadedSurveys[0].CustomSurveyObject;\r\n }\r\n\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function SaveSurvey() {\r\n var json = {};\r\n json.alias = vm.Survey.code;\r\n json.title = vm.Survey.Name;\r\n json.groups = vm.CustomSurvey.groups;\r\n\r\n // orizoume to configuration gia na apothikeftei, kathos kai to role type\r\n vm.CustomSurvey.Configuration = angular.toJson(json);\r\n vm.CustomSurvey.Sort = vm.Survey.Sort;\r\n\r\n // svhnoume ta helper properties gia na etoimasoume to object na petaksei sto Api\r\n delete vm.CustomSurvey.groups;\r\n\r\n var SurveysToSave = [];\r\n vm.CustomSurvey.SaveCode = _getGUID();\r\n _.each(vm.UserRoles, function(value, key) {\r\n var _customSurvey = angular.copy(vm.CustomSurvey);\r\n _customSurvey.RoleType = value;\r\n\r\n var indexOfRole = _indexOfRoleInLoadedSurvey(value);\r\n _customSurvey.ID = !_.isUndefined(vm.LoadedSurveys[indexOfRole].ID) ? vm.LoadedSurveys[indexOfRole].ID : -1;\r\n\r\n SurveysToSave.push(_customSurvey);\r\n });\r\n\r\n var _componentsWithDependenciesMissing = {};\r\n\r\n // apothikevoume ta nea\r\n SurveysService\r\n .SaveSurveys(SurveysToSave)\r\n .then(function(ComponentsWithDependenciesMissing){\r\n _componentsWithDependenciesMissing = ComponentsWithDependenciesMissing;\r\n toaster.pop('success',\"Survey was saved.\", \"Saved!\");\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n if(_hasMissingDependencies(_componentsWithDependenciesMissing)) {\r\n _displayMissingDependencies(_componentsWithDependenciesMissing);\r\n }\r\n vm.UserRoles = null;\r\n vm.LoadedSurveys = [];\r\n vm.LoadSurvey(false);\r\n });\r\n }\r\n\r\n function AddNewGroup() {\r\n vm.AddToCustomSurveyGroups(vm.NewGroup, [], false);\r\n }\r\n\r\n function RemoveGroup(GroupAlias) {\r\n if(vm.CustomSurvey.groups[GroupAlias].can_be_deleted) {\r\n _.each(vm.CustomSurvey.groups[GroupAlias].questions, function(value, key) {\r\n vm.CustomSurvey.groups.nogroup.questions.push(value);\r\n if(!_.isUndefined(vm.ShowOptions) && !_.isUndefined(vm.ShowOptions[value.alias])) {\r\n vm.ShowOptions[value.alias] = false;\r\n }\r\n });\r\n\r\n delete vm.CustomSurvey.groups[GroupAlias];\r\n }\r\n else {\r\n toaster.pop('info',\"Group can not be deleted.\", \"This Group has mandatory components and can not be deleted!\");\r\n }\r\n }\r\n\r\n function EnableGroupNameEdit(GroupAlias, isEnabled) {\r\n if(_.isUndefined(vm.GroupToBeEdited[GroupAlias])) {\r\n vm.GroupToBeEdited[GroupAlias] = {};\r\n }\r\n\r\n vm.GroupToBeEdited[GroupAlias].enabled = isEnabled;\r\n\r\n if(isEnabled) {\r\n vm.GroupToBeEdited[GroupAlias].title = vm.CustomSurvey.groups[GroupAlias].title;\r\n }\r\n else {\r\n vm.CustomSurvey.groups[GroupAlias].title = vm.GroupToBeEdited[GroupAlias].title;\r\n }\r\n }\r\n\r\n function EditGroupName(OldGroupAlias) {\r\n vm.AddToCustomSurveyGroups(vm.CustomSurvey.groups[OldGroupAlias].title, vm.CustomSurvey.groups[OldGroupAlias].questions, OldGroupAlias);\r\n }\r\n\r\n function AddToCustomSurveyGroups(title, questions, oldGroupAlias) {\r\n var group_key = title.toLowerCase().replace(/ /g, '_').replace(/[^\\w\\s]/gi, '');\r\n if(_.isUndefined(vm.CustomSurvey.groups[group_key])) {\r\n vm.CustomSurvey.groups[group_key] = {\r\n title: title,\r\n can_be_deleted: true,\r\n questions: questions\r\n };\r\n // an den dothike old group alias tote etrekse apo new group\r\n if(!oldGroupAlias){\r\n vm.NewGroup = \"\";\r\n }\r\n else {\r\n delete vm.CustomSurvey.groups[oldGroupAlias];\r\n vm.GroupToBeEdited[oldGroupAlias] = false;\r\n }\r\n }\r\n else {\r\n toaster.pop('info',\"Group Exists.\", \"This group already exists!\");\r\n }\r\n }\r\n\r\n function ItemMoved(GroupAlias, index) {\r\n vm.CustomSurvey.groups[GroupAlias].questions.splice(index, 1);\r\n _checkIfGroupCanBeDeleted();\r\n _checkIfSimilarEntitiesExist();\r\n }\r\n\r\n function ClearSelectedRolesAndSurveys() {\r\n vm.UserRoles = [];\r\n vm.LoadedSurveys = [];\r\n vm.ShowSurveyAlert = false;\r\n vm.CanSave = false;\r\n }\r\n\r\n function ClearAndNew() {\r\n vm.LoadSurvey(false);\r\n vm.ShowSurveyAlert = false;\r\n vm.CanSave = true;\r\n }\r\n\r\n function _removeRoleAndSurvey(RoleType) {\r\n vm.UserRoles.splice(vm.UserRoles.indexOf(RoleType), 1);\r\n\r\n var indexOfRole = _indexOfRoleInLoadedSurvey(RoleType);\r\n vm.LoadedSurveys.splice(indexOfRole, 1);\r\n\r\n vm.ShowSurveyAlert = !_surveysAreTheSame();\r\n vm.CanSave = !vm.ShowSurveyAlert;\r\n\r\n if(vm.LoadedSurveys.length > 0) {\r\n // fortonoume to object tou protou index apo to array ton surveys\r\n vm.CustomSurvey = vm.LoadedSurveys[0].CustomSurveyObject;\r\n }\r\n }\r\n\r\n function _indexOfRoleInLoadedSurvey(RoleType) {\r\n var indexOfRole;\r\n _.find(vm.LoadedSurveys, function(roleType, roleTypeIdx){\r\n if(roleType.RoleType == RoleType) {\r\n indexOfRole = roleTypeIdx;\r\n }\r\n });\r\n return indexOfRole;\r\n }\r\n\r\n // elegxei ean ola ta epilegmena surveys exoun ton idio kodiko\r\n function _surveysAreTheSame() {\r\n var surveysAreTheSame = true;\r\n if(vm.LoadedSurveys.length > 0) {\r\n var _tempSurvey = vm.LoadedSurveys[0];\r\n _.each(vm.LoadedSurveys, function(survey, key){\r\n if(_tempSurvey.SaveCode !== survey.SaveCode) {\r\n surveysAreTheSame = false;\r\n }\r\n _tempSurvey = survey;\r\n });\r\n }\r\n return surveysAreTheSame;\r\n }\r\n\r\n // dhmiourgei guid kathe fora pou apothikevoume survey\r\n function _getGUID() {\r\n return 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'.replace(/[x]/g, function(c) {\r\n var num = Math.random() *16 | 0, v = c === 'x' ? num : (num&0x3|0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n // kathe fora pou ginetai metakinhsh enos item, tote prepei na elegxoume tis listes me ta group gia to ean yparxei mandatory gia na min mporei na svhstei\r\n function _checkIfGroupCanBeDeleted() {\r\n _.each(vm.CustomSurvey.groups, function(group, group_alias) {\r\n group.can_be_deleted = true;\r\n _.each(group.questions, function(question, question_index) {\r\n if(question.mandatory) {\r\n vm.CustomSurvey.groups[group_alias].can_be_deleted = false;\r\n }\r\n });\r\n });\r\n }\r\n\r\n // kathe fora pou ginetai metakinhsh enos item, tote prepei na elegxoume tis listes me ta group gia to ean yparxei similar entity\r\n // etsi oste na mhn mporei na apothikefsei kai na vgainei katallhlo minima\r\n function _checkIfSimilarEntitiesExist() {\r\n vm.SimilarEntitiesFound = false;\r\n\r\n // reset all similar_entity_exists\r\n _.each(vm.CustomSurvey.groups, function(group, group_alias) {\r\n _.each(group.questions, function(question, question_index) {\r\n question.similar_entity_exists = false;\r\n });\r\n });\r\n\r\n // elegxoume ta components pou den einai sto nogroup gia na doume ean yparxoun similar_entity\r\n _.each(vm.CustomSurvey.groups, function(group, group_alias) {\r\n if(group_alias != \"nogroup\"){\r\n _.each(group.questions, function(question, question_index) {\r\n // ean vrethikan similar prepei na psaksoume na doume se poia group einai gia na deiksoume to info triangle\r\n if(question.similar_entity) {\r\n _.each(question.similar_entity, function(similar_entity, similar_entity_index) {\r\n // PROSOXH: gia kathe ena entity prepei na psakso se ola ta group na do ean yparxei to similar. den katafera na to kano kalytero, opote tha xreiastei sto mellon na to kanoume kalytero\r\n _.each(vm.CustomSurvey.groups, function(_group, _group_alias) {\r\n if(_group_alias !== \"nogroup\"){\r\n var foundArray = _.where(vm.CustomSurvey.groups[_group_alias].questions, {\r\n alias: similar_entity\r\n });\r\n\r\n if(foundArray.length > 0) {\r\n vm.SimilarEntitiesFound = true;\r\n _.each(foundArray, function(found_component, found_component_index) {\r\n found_component.similar_entity_exists = true;\r\n });\r\n }\r\n }\r\n });\r\n });\r\n }\r\n });\r\n }\r\n });\r\n\r\n vm.CanSave = !vm.ShowSurveyAlert && !vm.SimilarEntitiesFound;\r\n }\r\n\r\n function _displayMissingDependencies(ComponentsWithDependenciesMissing) {\r\n var _text = \"\";\r\n vm.MissingDependenciesText = _text;\r\n }\r\n\r\n function _hasMissingDependencies(ComponentsWithDependenciesMissing) {\r\n var hasMissingDependencies = false;\r\n _.each(ComponentsWithDependenciesMissing, function(componentWithDependenciesMissing, key) {\r\n _.each(componentWithDependenciesMissing.DependedComponents, function(dependedComponent, key) {\r\n if(dependedComponent.HasMissingDependencies) {\r\n hasMissingDependencies = true;\r\n }\r\n });\r\n });\r\n return hasMissingDependencies;\r\n }\r\n\r\n function _initialRoleCanEdit(surveyCode, role) {\r\n if(role) {\r\n var canEditArray = {\r\n referral: [\"MODERATOR\", \"PHYSIO\", \"ANONYMOUS\"],\r\n phonetriage: [\"PHYSIO\"],\r\n firstmeeting: [\"PHYSIO\"],\r\n discharge: [\"PHYSIO\"],\r\n finaldischarge: [\"PHYSIO\"],\r\n managernotes: [\"MANAGER\"],\r\n appointments: [\"MODERATOR\", \"PHYSIO\", \"RECEPTIONIST\"]\r\n };\r\n\r\n return canEditArray[surveyCode].indexOf(role) !== -1;\r\n }\r\n return false;\r\n }\r\n }\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientSurveysController', ClientSurveysController);\r\n\r\n ClientSurveysController.$inject = ['$stateParams', 'SurveysService', 'ClientsModals'];\r\n\r\n function ClientSurveysController($stateParams, SurveysService, ClientsModals) {\r\n\r\n var vm = this;\r\n\r\n vm.LoadSurveys = LoadSurveys;\r\n vm.EditSurvey = EditSurvey;\r\n\r\n activate();\r\n\r\n function activate() {\r\n SurveysService._ClientID = $stateParams.ID;\r\n vm.LoadSurveys();\r\n }\r\n\r\n function LoadSurveys() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetSurveys(false)\r\n .then(function(surveys) {\r\n vm.Surveys = surveys;\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function EditSurvey(_surveyID) {\r\n ClientsModals\r\n .EditSurvey({\r\n SurveyID: _surveyID\r\n })\r\n .then(function(client) {\r\n vm.LoadSurveys();\r\n });\r\n }\r\n\r\n }\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ReportsController', ReportsController);\r\n\r\n ReportsController.$inject = ['$stateParams', 'DashboardService', 'AuthService', 'SurveysService', 'Reports', 'ReportService', 'Diagnosis', 'ConditionType'];\r\n\r\n function ReportsController($stateParams, DashboardService, AuthService, SurveysService, Reports, ReportService, Diagnosis, ConditionType) {\r\n\r\n var vm = this;\r\n\r\n vm.Diagnosis = Diagnosis;\r\n vm.ConditionType = ConditionType;\r\n\r\n vm.GetKPIBasicReport = GetKPIBasicReport;\r\n vm.GetKPIAdvancedReport = GetKPIAdvancedReport;\r\n vm.GetEfficiencyReport = GetEfficiencyReport;\r\n vm.GetTypeOfInjuryReport = GetTypeOfInjuryReport;\r\n vm.GetConditionTypeReport = GetConditionTypeReport;\r\n vm.GetSameInjuryWithPreviousReferralReport = GetSameInjuryWithPreviousReferralReport;\r\n vm.GetTypeOfInjuryPerDepartmentReport = GetTypeOfInjuryPerDepartmentReport;\r\n vm.GetHighestTypeOfInjuryPerDepartmentReport = GetHighestTypeOfInjuryPerDepartmentReport;\r\n vm.GetReferralsConfirmedWithin24HoursReport = GetReferralsConfirmedWithin24HoursReport;\r\n vm.GetHandlingRequestReport = GetHandlingRequestReport;\r\n vm.GetChronicityReport = GetChronicityReport;\r\n vm.GetTypeOfWorkReport = GetTypeOfWorkReport;\r\n vm.GetGeneralReport = GetGeneralReport;\r\n\r\n activate();\r\n\r\n function activate() {\r\n SurveysService._ClientID = $stateParams.ID;\r\n\r\n vm.Reports = Reports;\r\n }\r\n\r\n function GetKPIBasicReport(dateFrom, dateTo) {\r\n //console.log(\"dt\",dateFrom);\r\n vm.ReportLoading = true;\r\n\r\n dateFrom.setHours(12);\r\n dateTo.setHours(12);\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetKPIBasicReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.KPIBasicReportResult = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetEfficiencyReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetEfficiencyReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.EfficiencyReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetKPIAdvancedReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetKPIAdvancedReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.KPIAdvancedReportResult = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetTypeOfInjuryReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetTypeOfInjuryReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.TypeOfInjuryReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetConditionTypeReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetConditionTypeReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.ConditionTypeReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetSameInjuryWithPreviousReferralReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetSameInjuryWithPreviousReferralReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.SameInjuryWithPreviousReferralReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetTypeOfInjuryPerDepartmentReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetTypeOfInjuryPerDepartmentReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.TypeOfInjuryPerDepartmentReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetHighestTypeOfInjuryPerDepartmentReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetHighestTypeOfInjuryPerDepartmentReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.HighestTypeOfInjuryPerDepartmentReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetReferralsConfirmedWithin24HoursReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetReferralsConfirmedWithin24HoursReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.ReferralsConfirmedWithin24HoursReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetHandlingRequestReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetHandlingRequestReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.HandlingRequestReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetChronicityReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetChronicityReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.ChronicityReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetTypeOfWorkReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetTypeOfWorkReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n vm.TypeOfWorkReportResults = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n\r\n function GetGeneralReport(dateFrom, dateTo) {\r\n vm.ReportLoading = true;\r\n\r\n dateFrom = dateFrom.toISOString();\r\n dateTo = dateTo.toISOString();\r\n\r\n ReportService\r\n .GetGeneralReport(dateFrom, dateTo)\r\n .then(function(result) {\r\n window.location.href = result;\r\n vm.ReportLoading = false;\r\n }, function(error) {\r\n vm.ReportLoading = false;\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n });\r\n }\r\n }\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .run(appRun);\r\n\r\n appRun.$inject = ['routerHelper'];\r\n\r\n function appRun(routerHelper) {\r\n routerHelper.configureStates(getStates());\r\n }\r\n\r\n function getStates() {\r\n return [{\r\n state: 'admin.clients.client.referrals',\r\n config: {\r\n url: '/referrals',\r\n params: {\r\n IsArchived: false,\r\n IsCaseClosed: false\r\n },\r\n templateUrl: 'src/com.admin/clients/referrals/dashboard/view.html',\r\n controller: \"ReferralsDashboardController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.archived',\r\n config: {\r\n url: '/archived',\r\n params: {\r\n IsArchived: true,\r\n IsCaseClosed: false\r\n },\r\n templateUrl: 'src/com.admin/clients/referrals/dashboard/view.html',\r\n controller: \"ReferralsDashboardController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.closedcases',\r\n config: {\r\n url: '/closedcases',\r\n params: {\r\n IsArchived: false,\r\n IsCaseClosed: true\r\n },\r\n templateUrl: 'src/com.admin/clients/referrals/dashboard/view.html',\r\n controller: \"ReferralsDashboardController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.calendar',\r\n config: {\r\n url: '/calendar',\r\n templateUrl: 'src/com.admin/clients/referrals/calendar/view.html',\r\n controller: \"ReferralsCalendarController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.audits',\r\n config: {\r\n url: \"/audits\",\r\n templateUrl: 'src/com.admin/clients/referrals/audits/view.html',\r\n controller: \"AuditsController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.survey',\r\n config: {\r\n abstract: true,\r\n url: \"/referrals/:ReferralID\",\r\n params: {\r\n ReferralID: null,\r\n HideFirstMeeting: false,\r\n IsArchived: false,\r\n ShowFinalDischarge: false,\r\n IsCaseClosed: false\r\n },\r\n templateUrl: 'src/com.admin/clients/referrals/survey/view.html',\r\n controller: \"ReferralsSurveyController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.survey.referral',\r\n config: {\r\n url: \"/referral\",\r\n templateUrl: 'src/com.admin/clients/referrals/referral/view.html',\r\n controller: \"ReferralsReferralController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.survey.phonetriage',\r\n config: {\r\n url: \"/phonetriage\",\r\n templateUrl: 'src/com.admin/clients/referrals/phonetriage/view.html',\r\n controller: \"ReferralsPhoneTriageController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.survey.firstmeeting',\r\n config: {\r\n url: \"/firstmeeting\",\r\n templateUrl: 'src/com.admin/clients/referrals/firstmeeting/view.html',\r\n controller: \"ReferralsFirstMeetingController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.survey.discharge',\r\n config: {\r\n url: \"/discharge\",\r\n templateUrl: 'src/com.admin/clients/referrals/discharge/view.html',\r\n controller: \"ReferralsDischargeController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.survey.managernotes',\r\n config: {\r\n url: \"/managernotes\",\r\n templateUrl: 'src/com.admin/clients/referrals/managernotes/view.html',\r\n controller: \"ReferralsNotesController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.survey.finaldischarge',\r\n config: {\r\n url: \"/finaldischarge\",\r\n templateUrl: 'src/com.admin/clients/referrals/finaldischarge/view.html',\r\n controller: \"ReferralsFinalDischargeController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.survey.appointments',\r\n config: {\r\n url: \"/appointments\",\r\n templateUrl: 'src/com.admin/clients/referrals/appointments/view.html',\r\n controller: \"ReferralsAppointmentsController\",\r\n }\r\n }];\r\n }\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .factory('ReferralsModals', ReferralsModals);\r\n\r\n ReferralsModals.$inject = ['modalHelper'];\r\n\r\n function ReferralsModals(modalHelper) {\r\n return modalHelper.configureModals(getModals());\r\n\r\n function getModals() {\r\n return [{\r\n modal: \"SearchReferrals\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/referrals/dashboard/search.modal.html',\r\n controller: \"ReferralSearchController\",\r\n size:\"lg\",\r\n },\r\n }, {\r\n modal: \"CloseCase\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/referrals/dashboard/closecase.modal.html',\r\n controller: \"CloseCaseController\",\r\n size:\"lg\",\r\n },\r\n }, {\r\n modal: \"Appointment\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/referrals/appointments/appointment.modal.html',\r\n controller: \"AppointmentController\",\r\n size:\"lg\",\r\n },\r\n }, {\r\n modal: \"Exercise\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/referrals/exercises/exercise.modal.html',\r\n controller: \"ExerciseController\",\r\n size:\"lg\",\r\n },\r\n }, {\r\n modal: \"AuditSettings\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/referrals/audits/settings.modal.html',\r\n controller: \"AuditSettingsController\",\r\n size:\"md\",\r\n },\r\n }, {\r\n modal: \"NewAudit\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/referrals/audits/newaudit.modal.html',\r\n controller: \"NewAuditController\",\r\n size:\"md\",\r\n },\r\n }];\r\n }\r\n }\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('PortalManagerEditController', PortalManagerEditController);\r\n\r\n PortalManagerEditController.$inject = [\"ModalParams\", 'SurveysService', 'ClientsService', '$modalInstance', 'toaster'];\r\n\r\n function PortalManagerEditController(ModalParams, SurveysService, ClientsService, $modalInstance, toaster) {\r\n\r\n var vm = this;\r\n\r\n vm.LoadPortalManager = LoadPortalManager;\r\n vm.Save = Save;\r\n\r\n activate();\r\n\r\n function activate() {\r\n if(!_.isUndefined(ModalParams.PortalManagerID)) {\r\n vm.LoadPortalManager();\r\n }\r\n }\r\n\r\n function LoadPortalManager() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetPortalManagerById(ModalParams.PortalManagerID)\r\n .then(function(PortalManager) {\r\n vm.PortalManager = PortalManager;\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function Save() {\r\n SurveysService\r\n .SavePortalManager(vm.PortalManager)\r\n .then(function(PortalManager){\r\n toaster.pop('success', \"Portal Manager was saved.\", \"Saved!\");\r\n $modalInstance.close();\r\n });\r\n }\r\n }\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('PortalManagersController', PortalManagersController);\r\n\r\n PortalManagersController.$inject = ['$stateParams', 'SurveysService', 'ClientsModals'];\r\n\r\n function PortalManagersController($stateParams, SurveysService, ClientsModals) {\r\n\r\n var vm = this;\r\n\r\n vm.LoadPortalManagers = LoadPortalManagers;\r\n vm.PortalManagerModal = PortalManagerModal;\r\n vm.DeletePortalManager = DeletePortalManager;\r\n\r\n activate();\r\n\r\n function activate() {\r\n SurveysService._ClientID = $stateParams.ID;\r\n vm.LoadPortalManagers();\r\n }\r\n\r\n function LoadPortalManagers() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetPortalManagers()\r\n .then(function(PortalManagers) {\r\n vm.PortalManagers = PortalManagers;\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function PortalManagerModal(_PortalManagerID) {\r\n ClientsModals\r\n .PortalManager({\r\n PortalManagerID: _PortalManagerID\r\n })\r\n .then(function() {\r\n vm.LoadPortalManagers();\r\n });\r\n }\r\n\r\n function DeletePortalManager(PortalManagerID) {\r\n vm.loading = true;\r\n SurveysService\r\n .DeletePortalManager(PortalManagerID)\r\n .then(function(response) {\r\n vm.loading = false;\r\n vm.LoadPortalManagers();\r\n });\r\n }\r\n }\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientsOverviewController', ClientsOverviewController);\r\n\r\n ClientsOverviewController.$inject = ['$state', 'ClientsService', 'AuthService', 'ClientsModals', 'ClientStatuses'];\r\n\r\n function ClientsOverviewController($state, ClientsService, AuthService, ClientsModals, ClientStatuses) {\r\n var vm = this;\r\n\r\n vm.ClientStatuses = ClientStatuses;\r\n\r\n vm.LoadClients = LoadClients;\r\n vm.CreateClient = CreateClient;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.CanCreateClient = AuthService.Roles[0] === 'MASTER' ? true : false;\r\n vm.LoadClients();\r\n }\r\n\r\n function LoadClients() {\r\n vm.loading = true;\r\n ClientsService\r\n .GetClients()\r\n .then(function(data) {\r\n vm.Clients = data;\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function CreateClient() {\r\n ClientsModals\r\n .Init()\r\n .then(function(client) {\r\n $state.go(\"admin.clients.client.dashboard\", {\r\n ID: client.ID\r\n });\r\n });\r\n }\r\n\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientInitController', ClientInitController);\r\n\r\n ClientInitController.$inject = ['ClientsService', '$modalInstance'];\r\n\r\n function ClientInitController(ClientsService, $modalInstance) {\r\n var vm = this;\r\n\r\n vm.Client = {};\r\n vm.SaveClient = SaveClient;\r\n\r\n activate();\r\n\r\n function activate() {}\r\n\r\n function SaveClient() {\r\n \r\n vm.loading = true;\r\n ClientsService\r\n .SaveClient(vm.Client)\r\n .then(function(response) {\r\n $modalInstance.close(response.Client);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n }\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ImageItemEditController', ImageItemEditController);\r\n\r\n ImageItemEditController.$inject = [\"ModalParams\", 'SurveysService', 'ClientsService', '$modalInstance', 'toaster'];\r\n\r\n function ImageItemEditController(ModalParams, SurveysService, ClientsService, $modalInstance, toaster) {\r\n\r\n var vm = this;\r\n\r\n vm.LoadIllnesses = LoadIllnesses;\r\n vm.LoadImageItem = LoadImageItem;\r\n vm.Save = Save;\r\n vm.SaveWithLogo = SaveWithLogo;\r\n vm.SimpleSave = SimpleSave;\r\n vm.ChosenIllnesses = [];\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.LoadIllnesses();\r\n }\r\n\r\n function LoadIllnesses() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetIllnesses()\r\n .then(function(illnesses) {\r\n vm.Illnesses = illnesses;\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n if(!_.isUndefined(ModalParams.ImageItemID)) {\r\n vm.LoadImageItem();\r\n }\r\n });\r\n }\r\n\r\n function LoadImageItem() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetImageItemById(ModalParams.ImageItemID)\r\n .then(function(imageItem) {\r\n vm.ImageItem = imageItem;\r\n InitImageIllnesses();\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function Save() {\r\n if(vm.File) {\r\n vm.SaveWithLogo();\r\n }\r\n else {\r\n vm.SimpleSave();\r\n }\r\n }\r\n\r\n function SaveWithLogo() {\r\n vm.ImageItem.Illnesses = ModifyImageIllnesses();\r\n ClientsService\r\n .UploadFile({\r\n File: vm.File\r\n })\r\n .then(function(image) {\r\n vm.ImageItem.ImageItemPhoto = image;\r\n vm.SimpleSave();\r\n });\r\n }\r\n\r\n function SimpleSave() {\r\n vm.ImageItem.Illnesses = ModifyImageIllnesses();\r\n SurveysService\r\n .SaveImageItem(vm.ImageItem)\r\n .then(function(imageItem){\r\n toaster.pop('success',\"Excercise Image was saved.\", \"Saved!\");\r\n $modalInstance.close();\r\n });\r\n }\r\n\r\n function InitImageIllnesses() {\r\n _.each(vm.ImageItem.Illnesses, function(existingImageIllness, existingImageIllnessIndex) {\r\n _.each(vm.Illnesses, function(imageIllness, imageIllnessIndex) {\r\n if(imageIllness.ID == existingImageIllness.IllnessID) {\r\n vm.ChosenIllnesses.push(existingImageIllness.IllnessID);\r\n }\r\n });\r\n });\r\n }\r\n\r\n function ModifyImageIllnesses() {\r\n return _.map(vm.ChosenIllnesses, function(imageIllnessID) {\r\n return {\r\n ImageID: -1, // to ekana etsi giati panta sto admin vazoume nea den kanoume pote update, apla to vazo gia na uparexei kati kai na mhn einai null\r\n IllnessID: imageIllnessID\r\n };\r\n });\r\n }\r\n }\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ImageitemsController', ImageitemsController);\r\n\r\n ImageitemsController.$inject = ['$stateParams', 'SurveysService', 'ClientsModals'];\r\n\r\n function ImageitemsController($stateParams, SurveysService, ClientsModals) {\r\n\r\n var vm = this;\r\n\r\n vm.LoadImageItems = LoadImageItems;\r\n vm.ImageItemModal = ImageItemModal;\r\n vm.DeleteImageItem = DeleteImageItem;\r\n\r\n activate();\r\n\r\n function activate() {\r\n SurveysService._ClientID = $stateParams.ID;\r\n vm.LoadImageItems();\r\n }\r\n\r\n function LoadImageItems() {\r\n vm.loading = true;\r\n SurveysService\r\n .GetImageItems()\r\n .then(function(imageItems) {\r\n vm.ImageItems = imageItems;\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n\r\n function ImageItemModal(_imageItemID) {\r\n ClientsModals\r\n .ImageItem({\r\n ImageItemID: _imageItemID\r\n })\r\n .then(function() {\r\n vm.LoadImageItems();\r\n });\r\n }\r\n\r\n function DeleteImageItem(ImageItemID) {\r\n vm.loading = true;\r\n SurveysService\r\n .DeleteImageItem(ImageItemID)\r\n .then(function(response) {\r\n vm.loading = false;\r\n vm.LoadImageItems();\r\n });\r\n }\r\n }\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientDashboardController', ClientDashboardController);\r\n\r\n ClientDashboardController.$inject = ['$stateParams', '$state', 'DashboardService', 'AuthService', 'SurveysService'];\r\n\r\n function ClientDashboardController($stateParams, $state, DashboardService, AuthService, SurveysService) {\r\n\r\n var vm = this;\r\n\r\n activate();\r\n\r\n function activate() {\r\n // console.log(AuthService);\r\n if(AuthService.IsExternal) {\r\n $state.go(\"admin.clients.client.referrals\");\r\n }\r\n\r\n SurveysService._ClientID = $stateParams.ID;\r\n\r\n GetChart();\r\n GetRecentReferrals();\r\n GetLateReferrals();\r\n GetStatistics();\r\n GetLatestAppointments();\r\n\r\n vm.Display = AuthService.Roles[0] === \"MASTER\" || AuthService.Roles[0] === \"MODERATOR\";\r\n vm.PhysioDisplay = AuthService.Roles[0] === \"PHYSIO\";\r\n\r\n GetDischargesPerMonth();\r\n\r\n if(vm.Display) {\r\n GetNewUsersPerMonth();\r\n GetNumberOfDaysSavedPerMonth();\r\n }\r\n\r\n if(vm.PhysioDisplay) {\r\n GetAppointmentsPerMonth();\r\n GetEfficiencyPerMonth();\r\n }\r\n }\r\n\r\n function GetChart() {\r\n vm.ChartLoading = true;\r\n DashboardService\r\n .GetChart()\r\n .then(function(result) {\r\n SetChart(result);\r\n vm.ChartLoading = false;\r\n });\r\n }\r\n\r\n function SetChart(serviceResults) {\r\n vm.Chart = {};\r\n vm.Chart.Data = [];\r\n vm.Chart.Labels = [];\r\n vm.Chart.Series = ['Archived Referrals', 'New Referrals', 'Total Referrals', 'Total Appointments'];\r\n vm.Chart.Options = {legend:{display:false}};\r\n //Chart.defaults.global.legend.display = false;\r\n\r\n var closedCases = [];\r\n var archivedReferrals = [];\r\n var activeReferrals = [];\r\n var totalReferrals = [];\r\n var totalAppointments = [];\r\n\r\n angular.forEach(serviceResults, function(result, label) {\r\n console.log(label,result.Data);\r\n vm.Chart.Labels.push(label);\r\n\r\n //closedCases.push(result.Data.CaseClosed);\r\n archivedReferrals.push(result.Data.ArchivedReferrals);\r\n activeReferrals.push(result.Data.ActiveReferrals);\r\n totalReferrals.push(result.Data.ArchivedReferrals +result.Data.CaseClosed + result.Data.ActiveReferrals);\r\n totalAppointments.push(result.Data.Appointments);\r\n });\r\n\r\n vm.Chart.Data.push(archivedReferrals, activeReferrals, totalReferrals, totalAppointments);\r\n }\r\n\r\n function GetRecentReferrals() {\r\n vm.RecentReferralsLoading = true;\r\n DashboardService\r\n .GetRecentReferrals()\r\n .then(function(result) {\r\n vm.RecentReferrals = result;\r\n vm.RecentReferralsLoading = false;\r\n });\r\n }\r\n\r\n function GetLateReferrals() {\r\n vm.LateReferralsLoading = true;\r\n DashboardService\r\n .GetLateReferrals()\r\n .then(function(result) {\r\n vm.LateReferrals = result;\r\n vm.LateReferralsLoading = false;\r\n });\r\n }\r\n\r\n function GetStatistics() {\r\n vm.StatisticsLoading = true;\r\n DashboardService\r\n .GetStatistics()\r\n .then(function(result) {\r\n vm.Statistics = result;\r\n vm.StatisticsLoading = false;\r\n });\r\n }\r\n\r\n function GetLatestAppointments() {\r\n vm.LatestAppointmentsLoading = true;\r\n DashboardService\r\n .GetLatestAppointments()\r\n .then(function(result) {\r\n vm.LatestAppointments = result;\r\n vm.LatestAppointmentsLoading = false;\r\n });\r\n }\r\n\r\n function GetNewUsersPerMonth() {\r\n vm.NewUsersPerMonthCount = 0;\r\n vm.NewUsersPerMonthCountLoading = true;\r\n DashboardService\r\n .GetNewUsersPerMonth()\r\n .then(function(result) {\r\n vm.NewUsersPerMonthCount = result;\r\n vm.NewUsersPerMonthCountLoading = false;\r\n });\r\n }\r\n\r\n function GetDischargesPerMonth() {\r\n vm.DischargesPerMonthCount = 0;\r\n vm.DischargesPerMonthCountLoading = true;\r\n DashboardService\r\n .GetDischargesPerMonth()\r\n .then(function(result) {\r\n vm.DischargesPerMonthCount = result;\r\n vm.DischargesPerMonthCountLoading = false;\r\n });\r\n }\r\n\r\n function GetNumberOfDaysSavedPerMonth() {\r\n vm.NumberOfDaysSaved = 0;\r\n vm.NumberOfDaysSavedLoading = true;\r\n DashboardService\r\n .GetNumberOfDaysSavedPerMonth()\r\n .then(function(result) {\r\n vm.NumberOfDaysSaved = result;\r\n vm.NumberOfDaysSavedLoading = false;\r\n });\r\n }\r\n\r\n function GetAppointmentsPerMonth() {\r\n vm.AppointmentsPerMonth = 0;\r\n vm.AppointmentsPerMonthLoading = true;\r\n DashboardService\r\n .GetAppointmentsPerMonth()\r\n .then(function(result) {\r\n vm.AppointmentsPerMonth = result;\r\n vm.AppointmentsPerMonthLoading = false;\r\n });\r\n }\r\n\r\n function GetEfficiencyPerMonth() {\r\n vm.EfficiencyPerMonth = 0;\r\n vm.EfficiencyPerMonthLoading = true;\r\n DashboardService\r\n .GetEfficiencyPerMonth()\r\n .then(function(result) {\r\n vm.EfficiencyPerMonth = result;\r\n vm.EfficiencyPerMonthLoading = false;\r\n });\r\n }\r\n\r\n }\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientDetailsController', ClientDetailsController);\r\n\r\n ClientDetailsController.$inject = ['ClientsService', 'ModalParams', '$modalInstance'];\r\n\r\n function ClientDetailsController(ClientsService, ModalParams, $modalInstance) {\r\n var vm = this;\r\n\r\n vm.Client = {};\r\n vm.LoadClient = LoadClient;\r\n vm.SaveClient = SaveClient;\r\n\r\n activate();\r\n\r\n function activate() {\r\n if (ModalParams.ID) {\r\n vm.LoadClient();\r\n }\r\n }\r\n\r\n function LoadClient() {\r\n vm.loading = true;\r\n ClientsService\r\n .GetClient(ModalParams.ID)\r\n .then(function(Client) {\r\n vm.Client = Client;\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function SaveClient() {\r\n vm.loading = true;\r\n ClientsService\r\n .SaveClient(vm.Client)\r\n .then(function(Client) {\r\n $modalInstance.close(Client);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n }\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientConfigurationController', ClientConfigurationController);\r\n\r\n ClientConfigurationController.$inject = ['$scope', '$stateParams', 'ClientsModals', 'ClientsService', 'LocalesConstant'];\r\n\r\n function ClientConfigurationController($scope, $stateParams, ClientsModals, ClientsService, LocalesConstant) {\r\n\r\n var vm = this;\r\n\r\n vm.LoadConfiguration = LoadConfiguration;\r\n vm.SwitchDebug = SwitchDebug;\r\n vm.FindLocale = FindLocale;\r\n\r\n // modals\r\n vm.CompanyModal = CompanyModal;\r\n vm.TosModal = TosModal;\r\n vm.DisclaimerModal = DisclaimerModal;\r\n vm.LocalizationModal = LocalizationModal;\r\n vm.ThemeModal = ThemeModal;\r\n vm.ExtrasModal = ExtrasModal;\r\n vm.PdfModal = PdfModal;\r\n vm.AppointmentTypeCostModal = AppointmentTypeCostModal;\r\n\r\n vm.EmailByConditionModal = EmailByConditionModal;\r\n vm.SwitchEmailByCondition = SwitchEmailByCondition;\r\n\r\n activate();\r\n\r\n function activate() {\r\n ClientsService._ClientID = $stateParams.ID;\r\n vm.LoadConfiguration();\r\n }\r\n\r\n function LoadConfiguration() {\r\n ClientsService\r\n .GetConfiguration()\r\n .then(function(configuration) {\r\n vm.Configuration = configuration;\r\n vm.FindLocale();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not load the data\", error.statusText);\r\n });\r\n }\r\n\r\n function SwitchDebug() {\r\n vm.Configuration[\"System.Debug\"] = vm.Configuration[\"System.Debug\"] == 'TRUE' ? 'FALSE' : 'TRUE';\r\n ClientsService\r\n .SaveConfiguration({\r\n \"System.Debug\": vm.Configuration[\"System.Debug\"]\r\n })\r\n .then(function() {\r\n activate();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n function SwitchEmailByCondition() {\r\n vm.Configuration[\"ConditionTypeMails.Enable\"] = vm.Configuration[\"ConditionTypeMails.Enable\"] == 'TRUE' ? 'FALSE' : 'TRUE';\r\n ClientsService\r\n .SaveConfiguration({\r\n \"ConditionTypeMails.Enable\": vm.Configuration[\"ConditionTypeMails.Enable\"]\r\n })\r\n .then(function() {\r\n activate();\r\n }, function(error) {\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n });\r\n }\r\n\r\n function EmailByConditionModal() {\r\n ClientsModals.EmailByConditionTypeForm({\r\n ConditionTypeMails:vm.Configuration[\"ConditionTypeMails.Data\"] \r\n })\r\n .then(function() {\r\n activate();\r\n });\r\n }\r\n\r\n \r\n\r\n\r\n function FindLocale(){\r\n vm.Locale = _.find(LocalesConstant,function(locale){\r\n return locale.Code == vm.Configuration[\"System.Locale\"];\r\n });\r\n }\r\n\r\n function CompanyModal() {\r\n ClientsModals.CompanyForm({\r\n Company: {\r\n Address: vm.Configuration[\"Company.Address\"],\r\n Email: vm.Configuration[\"Company.Email\"],\r\n Logo: vm.Configuration[\"Company.Logo\"],\r\n Name: vm.Configuration[\"Company.Name\"],\r\n Person: vm.Configuration[\"Company.Person\"],\r\n Phone: vm.Configuration[\"Company.Phone\"],\r\n ExtraSessionEmails: vm.Configuration[\"Company.ExtraSessionEmails\"],\r\n ExtraSessionResponseEmails: vm.Configuration[\"Company.ExtraSessionResponseEmails\"],\r\n ExtraNewReferralEmails: vm.Configuration[\"Company.ExtraNewReferralEmails\"]\r\n }\r\n })\r\n .then(function() {\r\n activate();\r\n });\r\n }\r\n\r\n function TosModal() {\r\n ClientsModals.CompanyTos({\r\n Tos: vm.Configuration[\"Company.Tos\"]\r\n })\r\n .then(function() {\r\n activate();\r\n });\r\n }\r\n\r\n function DisclaimerModal() {\r\n ClientsModals.CompanyDisclaimer({\r\n Disclaimer: vm.Configuration[\"Company.Disclaimer\"]\r\n })\r\n .then(function() {\r\n activate();\r\n });\r\n }\r\n\r\n function LocalizationModal() {\r\n ClientsModals.LocalizationForm({\r\n Locale: vm.Configuration[\"System.Locale\"],\r\n Timezone: vm.Configuration[\"System.Timezone\"]\r\n })\r\n .then(function() {\r\n activate();\r\n });\r\n }\r\n\r\n function ThemeModal() {\r\n ClientsModals.ThemeForm({\r\n Theme: {\r\n Title: vm.Configuration[\"Theme.Title\"],\r\n Logo: vm.Configuration[\"Theme.Logo\"],\r\n ColorScheme: vm.Configuration[\"Theme.ColorScheme\"],\r\n Thank: vm.Configuration[\"Theme.Thank\"],\r\n },\r\n PortalRedirectTo: vm.Configuration[\"Extra.PortalRedirectTo\"],\r\n PortalRedirectToMessage: vm.Configuration[\"Extra.PortalRedirectToMessage\"],\r\n PortalRedirectToCounter: vm.Configuration[\"Extra.PortalRedirectToCounter\"]\r\n })\r\n .then(function() {\r\n activate();\r\n });\r\n }\r\n\r\n function ExtrasModal() {\r\n ClientsModals.ExtrasForm({\r\n MinimumAppointmentsToDischarge: vm.Configuration[\"Extra.MinimumAppointmentsToDischarge\"],\r\n // PortalRedirectTo: vm.Configuration[\"Extra.PortalRedirectTo\"],\r\n // PortalRedirectToMessage: vm.Configuration[\"Extra.PortalRedirectToMessage\"],\r\n // PortalRedirectToCounter: vm.Configuration[\"Extra.PortalRedirectToCounter\"]\r\n })\r\n .then(function() {\r\n activate();\r\n });\r\n }\r\n\r\n function PdfModal() {\r\n ClientsModals.PdfForm({\r\n Pdf: {\r\n CompanyLogo: vm.Configuration[\"Pdf.CompanyLogo\"]\r\n }\r\n })\r\n .then(function() {\r\n activate();\r\n });\r\n }\r\n\r\n function AppointmentTypeCostModal() {\r\n ClientsModals.AppointmentTypeCostForm()\r\n .then(function() {\r\n activate();\r\n });\r\n }\r\n }\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .controller('ClientController', ClientController);\r\n\r\n ClientController.$inject = [\"$stateParams\", 'ClientsService', 'ClientMenu', 'AuthService'];\r\n\r\n function ClientController($stateParams, ClientsService, ClientMenu, AuthService) {\r\n var vm = this;\r\n\r\n vm.ClientMenu = _.filter(ClientMenu, function(item) {\r\n var result =true;\r\n // if (!item.Roles)\r\n // {\r\n // result=true;\r\n // }\r\n if(_.contains(item.Roles, AuthService.Roles[0]))\r\n {\r\n _.each(item.Constraint, function(constraint) {\r\n if(constraint == \"NOTEXTERNAL\") {\r\n result = !AuthService.IsExternal;\r\n }\r\n });\r\n }\r\n else {\r\n result= false;\r\n }\r\n return result;\r\n });\r\n\r\n vm.Client = {\r\n ID: $stateParams.ID\r\n };\r\n\r\n vm.LoadClient = LoadClient;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.LoadClient();\r\n }\r\n\r\n function LoadClient() {\r\n vm.loading = true;\r\n ClientsService\r\n .GetClient(vm.Client.ID)\r\n .then(function(client) {\r\n vm.Client = client;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve user data\", error.statusText);\r\n })\r\n .finally(function() {\r\n ClientsService._ClientID = vm.Client.ID;\r\n ClientsService\r\n .GetConfiguration()\r\n .then(function(configuration) {\r\n vm.Logo = configuration[\"Company.Logo\"];\r\n APP.Client.Company.Name = vm.Client.CompanyName;\r\n APP.Client.Logo = vm.Logo;\r\n APP.Client.Appointment = {};\r\n APP.Client.Business = {};\r\n APP.Client.Audit = {};\r\n APP.Client.Extra = {};\r\n APP.Client.Appointment.Duration = configuration[\"Appointment.Duration\"];\r\n APP.Client.Appointment.Times = configuration[\"Appointment.Times\"];\r\n APP.Client.Audit.AuditNumber = configuration[\"Audit.AuditNumber\"];\r\n APP.Client.Audit.CommaSeperatedEmails = configuration[\"Audit.CommaSeperatedEmails\"];\r\n APP.Client.Business.Duration = configuration[\"Business.Duration\"];\r\n APP.Client.Business.HoursFrom = configuration[\"Business.HoursFrom\"];\r\n APP.Client.Business.HoursTo = configuration[\"Business.HoursTo\"];\r\n APP.Client.Extra.MinimumAppointmentsToDischarge = configuration[\"Extra.MinimumAppointmentsToDischarge\"];\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n });\r\n }\r\n\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.landing.referral', ['ngComboDatePicker']);\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.landing.referral')\r\n .controller('ReferralLandingController', ReferralLandingController);\r\n\r\n ReferralLandingController.$inject = [\r\n '$sce', '$state','$resource', '$cookies','EnumsService', 'SurveysService','ReferralType','Gender',\r\n 'WorkStatus', 'toaster', 'ConditionType', 'NatureOfWork', 'TypeOfReferral', 'AnsaJobTitle', 'AnsaWorkLocation', 'MechanismOfInjury'];\r\n\r\n function ReferralLandingController(\r\n $sce, $state, $resource, $cookies,EnumsService, SurveysService, ReferralType, Gender,\r\n WorkStatus, toaster, ConditionType, NatureOfWork, TypeOfReferral, AnsaJobTitle, AnsaWorkLocation, MechanismOfInjury) {\r\n\r\n var vm = this;\r\n\r\n // enums\r\n vm.Gender = Gender;\r\n \r\n vm.ConditionType = ConditionType;\r\n vm.NatureOfWork = NatureOfWork;\r\n \r\n vm.AnsaJobTitle = AnsaJobTitle;\r\n vm.MechanismOfInjury = MechanismOfInjury;\r\n\r\n // custom variables\r\n vm.ClientManagers = [];\r\n\r\n vm.OhsListChanged = OhsListChanged;\r\n vm.ManagerListChanged = ManagerListChanged;\r\n vm.GetSurveyByCode = GetSurveyByCode;\r\n vm.Submit = Submit;\r\n\r\n vm.Disclaimer = \"\";\r\n vm.DisclaimerChecked = false;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.ReferralType =EnumsService.GetClientEnum(ReferralType,APP.Domain);\r\n vm.WorkStatus =EnumsService.GetClientEnum(WorkStatus,APP.Domain);\r\n vm.TypeOfReferral =EnumsService.GetClientEnum(TypeOfReferral,APP.Domain);\r\n vm.AnsaWorkLocation = EnumsService.GetClientEnum(AnsaWorkLocation,APP.Domain);\r\n // vm.ReferralType = _.filter(ReferralType, function(type)\r\n // { var result = false;\r\n // var elements = type.split('#'); \r\n // if(elements.length>1 && APP.Domain.toUpperCase()==elements[0].toUpperCase())\r\n // {\r\n // result =true;\r\n // }\r\n \r\n // return result\r\n // });\r\n // vm.ReferralType = vm.ReferralType.length == 0 ? _.filter(ReferralType, function(type){var elements = type.split('#'); return elements.length<=1; }):vm.ReferralType;\r\n\r\n // vm.TypeOfReferral = _.filter(TypeOfReferral, function(type)\r\n // { var result = false;\r\n // var elements = type.split('#'); \r\n // if(elements.length>1 && APP.Domain.toUpperCase()==elements[0].toUpperCase())\r\n // {\r\n // result =true;\r\n // }\r\n \r\n // return result\r\n // });\r\n\r\n // vm.TypeOfReferral = vm.TypeOfReferral.length == 0 ? _.filter(TypeOfReferral, function(type){var elements = type.split('#'); return elements.length<=1; }):vm.TypeOfReferral;\r\n\r\n vm.Disclaimer = $sce.trustAsHtml(APP.Client.Company.Disclaimer);\r\n vm.GetSurveyByCode();\r\n }\r\n\r\n function GetSurveyByCode() {\r\n vm.Referral = {};\r\n vm.Referral.ReferralAbsenceDate = new Date();\r\n vm.Referral.ReferralReturnedToWorkDate = new Date();\r\n vm.Referral.ReferralExpectedDateOfReturn = new Date();\r\n\r\n SurveysService\r\n .GetAnonymousSurvey()\r\n .then(function(referral) {\r\n referral = referral.data;\r\n vm.IsActive = referral.CustomSurvey.IsActive;\r\n vm.Questionnaire = vm.IsActive ? JSON.parse(referral.CustomSurvey.Configuration) : '';\r\n vm.Questionnaire.CanEdit = true;\r\n vm.CanEdit = true;\r\n }, function(error) {\r\n toaster.pop('error', \"Could not retrieve the data\", error.statusText);\r\n })\r\n .finally(function() {\r\n getManagerList();\r\n getOcupHealthNurseList();\r\n });\r\n }\r\n\r\n function getManagerList() {\r\n SurveysService\r\n .GetPortalManagers()\r\n .then(function(portalManagers) {\r\n vm.ClientManagers = portalManagers;\r\n vm.DisplayManagerListInput = vm.ClientManagers.length === 0;\r\n });\r\n }\r\n\r\n function ManagerListChanged() {\r\n if(_.isUndefined(vm.Referral.ReferralManager)) {\r\n vm.Referral.ReferralManager = {};\r\n vm.Referral.ReferralManager.Email = {};\r\n }\r\n vm.Referral.ReferralManager.First = vm.selectedPortalManager.Person.Full;\r\n vm.Referral.ReferralManager.Email.Address = vm.selectedPortalManager.Person.Email.Address;\r\n }\r\n\r\n function getOcupHealthNurseList() {\r\n SurveysService\r\n .GetOcupHealthNurseList()\r\n .then(function(OcupHealthNurses) {\r\n vm.clientOhs = OcupHealthNurses;\r\n vm.DisplayOhsListInput = vm.clientOhs.length === 0;\r\n });\r\n }\r\n\r\n function OhsListChanged() {\r\n if(_.isUndefined(vm.Referral.ReferralOcHealthNurse)) {\r\n vm.Referral.ReferralOcHealthNurse = {};\r\n vm.Referral.ReferralOcHealthNurse.Email = {};\r\n }\r\n vm.Referral.ReferralOcHealthNurse.First = vm.selectedOhs.Person.Full;\r\n vm.Referral.ReferralOcHealthNurse.Email.Address = vm.selectedOhs.Person.Email.Address;\r\n }\r\n\r\n function Submit() {\r\n vm.loading = true;\r\n var tempReferralType = vm.Referral.ReferralType;\r\n var tempTypeOfReferral = vm.Referral.TypeOfReferral;\r\n if(!_.isUndefined(vm.Referral.ReferralType) && vm.Referral.ReferralType.indexOf('#')>0)\r\n {\r\n vm.Referral.ReferralType = vm.Referral.ReferralType.substring(vm.Referral.ReferralType.indexOf('#')+1);\r\n }\r\n\r\n if(!_.isUndefined(vm.Referral.TypeOfReferral) && vm.Referral.TypeOfReferral.indexOf('#')>0)\r\n {\r\n vm.Referral.TypeOfReferral = vm.Referral.TypeOfReferral.substring(vm.Referral.TypeOfReferral.indexOf('#')+1);\r\n }\r\n \r\n SurveysService\r\n .SubmitReferral(vm.Referral)\r\n .then(function(referral) {\r\n vm.loading = false;\r\n\r\n if(APP.Client.Extra.PortalRedirectToCounter <= 0) {\r\n window.location.href = APP.Client.Extra.PortalRedirectTo;\r\n }\r\n else {\r\n window.location.href = \"/redirect\";\r\n }\r\n }, function(error) {\r\n vm.loading = false;\r\n toaster.pop('error', \"Could not save the data\", error.statusText);\r\n })\r\n .finally(function(){\r\n vm.Referral.ReferralType=tempReferralType;\r\n vm.Referral.TypeOfReferral= tempTypeOfReferral;\r\n });\r\n }\r\n }\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.landing.referral')\r\n .controller('ReferralRedirectController', ReferralRedirectController);\r\n\r\n ReferralRedirectController.$inject = ['$interval', '$sanitize', '$scope'];\r\n\r\n function ReferralRedirectController($interval, $sanitize, $scope) {\r\n\r\n var vm = this;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.Counter = APP.Client.Extra.PortalRedirectToCounter;\r\n var _message = $sanitize(APP.Client.Extra.PortalRedirectToMessage).split(\"__DISPLAY_COUNTER__\");\r\n\r\n $scope.$watch(\"vm.Counter\", function (value) {\r\n DisplayMessage(_message, value);\r\n });\r\n\r\n Redirect();\r\n }\r\n\r\n function DisplayMessage(_message, counter) {\r\n if(_message.length > 1) {\r\n vm.Message = _message[0] + vm.Counter + _message[1];\r\n }\r\n else {\r\n vm.Message = _message[0];\r\n }\r\n }\r\n\r\n function Redirect() {\r\n $interval(function() {\r\n RedirectTo();\r\n --vm.Counter;\r\n }, 1000);\r\n }\r\n\r\n function RedirectTo() {\r\n if(vm.Counter <= 0) {\r\n window.location.href = APP.Client.Extra.PortalRedirectTo;\r\n return false;\r\n }\r\n }\r\n }\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app')\r\n .controller('ForgotPassController', ForgotPassController);\r\n\r\n ForgotPassController.$inject = ['AuthService', '$stateParams', '$state', 'FixedContentService', 'LoginMessages', 'UsersService', '$modalInstance', 'toaster'];\r\n\r\n function ForgotPassController(AuthService, $stateParams, $state, FixedContentService, LoginMessages, UsersService, $modalInstance, toaster) {\r\n var vm = this;\r\n\r\n vm.loading = false;\r\n vm.ResetPassword = ResetPassword;\r\n\r\n function ResetPassword()\r\n {\r\n vm.loading = true;\r\n AuthService\r\n .ForgotPassword({\r\n Email: vm.User.Email,\r\n UserName: vm.User.UserName\r\n })\r\n .then(function() {\r\n vm.loading = false;\r\n toaster.pop('success', \"Reset Password Sent\", \"An email has been sent to the specified email. Please follow the instructions there to reset your password.\");\r\n $modalInstance.close();\r\n }, function(error) {\r\n vm.loading = false;\r\n //error.statusText\r\n toaster.pop('error', \"Either the specified username or email does exist in the system\", \"\");\r\n });\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.client', [])\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.client')\r\n .factory('ClientService', ClientService)\r\n\r\n ClientService.$inject = ['$http', '$translate', 'tmhDynamicLocale'];\r\n\r\n function ClientService($http, $translate, tmhDynamicLocale) {\r\n\r\n var service = {\r\n LoadSettings: LoadSettings,\r\n GetSettings: GetSettings,\r\n PostSettings: PostSettings,\r\n }\r\n\r\n return service;\r\n\r\n function LoadSettings() {\r\n $translate.use(APP.Client.System.Locale);\r\n tmhDynamicLocale.set(APP.Client.System.Locale);\r\n moment.locale(APP.Client.System.Locale);\r\n // moment.tz.setDefault(APP.Client.System.Timezone);\r\n }\r\n\r\n function GetSettings() {\r\n return $http\r\n .get(APP.Service + '/configuration')\r\n .then(function(response) {\r\n window.bootstrap.LoadSettings(response.data);\r\n window.bootstrap.ParseSettings();\r\n });\r\n }\r\n\r\n function PostSettings(Settings) {\r\n return $http\r\n .post(APP.Service + '/configuration', Settings)\r\n .then(function(response) {\r\n APP.Client = response.data;\r\n });\r\n }\r\n\r\n }\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.client')\r\n .factory('ClientInterceptor', ClientInterceptor);\r\n\r\n ClientInterceptor.$inject = ['$q'];\r\n\r\n function ClientInterceptor($q) {\r\n\r\n return {\r\n request: function(config) {\r\n config.headers = config.headers || {};\r\n if (APP.Domain != null) {\r\n config.headers[\"X-Domain\"] = APP.Domain;\r\n }\r\n return config;\r\n }\r\n };\r\n\r\n }\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.filemanager', [])\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.filemanager')\r\n .factory('FileManagerService', FileManagerService);\r\n\r\n FileManagerService.$inject = ['$data', 'Upload'];\r\n\r\n function FileManagerService($data, Upload) {\r\n\r\n var service = {\r\n Send: Send,\r\n GetFile: GetFile,\r\n SaveFile: SaveFile,\r\n };\r\n\r\n return service;\r\n\r\n function Send(files) {\r\n\r\n var _data = {};\r\n if (files.length > 1)\r\n _data.file = files;\r\n else {\r\n _data.files = files;\r\n }\r\n\r\n return Upload\r\n .upload({\r\n url: APP.Service + '/filemanager/upload',\r\n data: _data\r\n })\r\n .then(function(response) {\r\n return response.data;\r\n });\r\n\r\n }\r\n\r\n function GetFile(FileID) {\r\n return $data\r\n .get(\"filemanager\", {\r\n ID: FileID\r\n })\r\n }\r\n\r\n function SaveFile(File) {\r\n return $data\r\n .save(\"filemanager\", File)\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.filemanager')\r\n .factory('FileManagerModals', FileManagerModals);\r\n\r\n FileManagerModals.$inject = ['modalHelper'];\r\n\r\n function FileManagerModals(modalHelper) {\r\n return modalHelper.configureModals(getModals());\r\n\r\n function getModals() {\r\n return [{\r\n modal: \"FileForm\",\r\n config: {\r\n templateUrl: 'src/com.shared/filemanager/views/form.modal.html',\r\n controller: \"FileManagerFormController\",\r\n size: \"md\",\r\n },\r\n }];\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.filemanager')\r\n .controller(\"FileManagerFormController\", FileManagerFormController);\r\n\r\n FileManagerFormController.$inject = ['$modalInstance', 'FileManagerService', 'ModalParams', 'toaster'];\r\n\r\n function FileManagerFormController($modalInstance, FileManagerService, ModalParams, toaster) {\r\n var vm = this;\r\n\r\n vm.Save = Save;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.loading = true;\r\n FileManagerService\r\n .GetFile(ModalParams.FileID)\r\n .then(function(response) {\r\n vm.File = response;\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n });\r\n }\r\n\r\n function Save() {\r\n return FileManagerService\r\n .SaveFile(vm.File)\r\n .then(function(response) {\r\n $modalInstance.close(response);\r\n })\r\n .catch(function(reason) {\r\n toaster.pop('error', reason, \"Save Failed!\");\r\n $modalInstance.dismiss(reason);\r\n });\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.auth')\r\n .factory('AuthService', AuthService);\r\n\r\n AuthService.$inject = ['$http', '$q', 'localStorageService', 'ClientService'];\r\n\r\n function AuthService($http, $q, localStorageService, ClientService) {\r\n var service = {\r\n IsAuth: false,\r\n Username: null,\r\n ExpiresAt: 0,\r\n Roles: [],\r\n IsExternal: false,\r\n\r\n Init: Init,\r\n SignIn: SignIn,\r\n SignOut: SignOut,\r\n ConfirmAccount: ConfirmAccount,\r\n\r\n ForgotPassword: ForgotPassword,\r\n ResetPassword: ResetPassword,\r\n ResetExpPassword: ResetExpPassword,\r\n }\r\n\r\n return service;\r\n\r\n function Init() {\r\n\r\n var AuthorizationData = localStorageService.get('AuthorizationData');\r\n // console.log(\"AuthorizationData\",AuthorizationData);\r\n if (!_.isEmpty(AuthorizationData)) {\r\n service.IsAuth = true;\r\n service.Username = AuthorizationData.Username;\r\n service.Roles = AuthorizationData.Roles;\r\n service.ExpiresAt = AuthorizationData.ExpiresAt;\r\n service.isTemporaryPassword = AuthorizationData.isTemporaryPassword;\r\n service.IsExternal = AuthorizationData.IsExternal;\r\n }\r\n\r\n }\r\n\r\n function SignIn(credentials) {\r\n\r\n return $http\r\n .post(APP.Service + '/token', {\r\n grant_type: \"password\",\r\n Username: credentials.username,\r\n password: credentials.password,\r\n client_id: APP.ClientID\r\n }, {\r\n headers: {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n },\r\n transformRequest: function (value) {\r\n return $.param(value);\r\n },\r\n })\r\n .then(function (response) {\r\n // console.log(\"response.data\",response.data);\r\n // console.log(\"Sum\", moment().unix() + response.data.expires_in)\r\n localStorageService.set('AuthorizationData', {\r\n Token: response.data.access_token,\r\n ExpiresAt: moment().unix() + response.data.expires_in,\r\n Username: response.data.userName,\r\n Roles: response.data.roles.split(\",\"),\r\n isTemporaryPassword: response.data.isTemporaryPassword,\r\n IsExternal: response.data.IsExternal === \"true\"\r\n });\r\n\r\n if (APP.UseRefreshTokens) {\r\n localStorageService.set('RefreshToken', response.data.refresh_token);\r\n }\r\n\r\n service.IsAuth = true;\r\n service.Roles = response.data.roles.split(\",\");\r\n service.Username = credentials.Username;\r\n service.isTemporaryPassword = response.data.isTemporaryPassword;\r\n service.ExpiresAt = moment().unix() + response.data.expires_in;\r\n service.IsExternal = response.data.IsExternal === \"true\";\r\n\r\n }, function (err) {\r\n service.SignOut();\r\n return $q.reject(err.data);\r\n });\r\n\r\n }\r\n\r\n function SignOut() {\r\n localStorageService.remove('AuthorizationData');\r\n localStorageService.remove('RefreshToken');\r\n service.IsAuth = false;\r\n service.Username = null;\r\n }\r\n\r\n function ConfirmAccount(data) {\r\n return $http.post(APP.Service + '/confirm', data);\r\n }\r\n\r\n function ForgotPassword(data) {\r\n return $http.post(APP.Service + '/forgotpassword', data);\r\n }\r\n\r\n function ResetPassword(data) {\r\n return $http.post(APP.Service + '/resetpassword', data);\r\n }\r\n\r\n function ResetExpPassword(data) {\r\n return $http.post(APP.Service + '/resetexppassword', data);\r\n }\r\n }\r\n\r\n}());","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.auth')\r\n .run(appRun);\r\n\r\n appRun.$inject = ['routerHelper'];\r\n\r\n function appRun(routerHelper) {\r\n routerHelper.configureStates(getStates());\r\n }\r\n\r\n function getStates() {\r\n return [{\r\n state: 'auth',\r\n config: {\r\n abstract: true,\r\n template: \"\",\r\n }\r\n }, {\r\n state: 'auth.login',\r\n config: {\r\n url: '/login',\r\n params: {\r\n ref: null\r\n },\r\n templateUrl: \"src/com.shared/auth/views/login.html\",\r\n controller: \"AuthLoginController\",\r\n data: {\r\n permissions: {\r\n only: ['Anonymous'],\r\n redirectTo: \"rd\"\r\n }\r\n }\r\n }\r\n }, {\r\n state: 'auth.logout',\r\n config: {\r\n url: '/logout',\r\n template: \"\",\r\n controller: function(AuthService, $state) {\r\n AuthService.SignOut();\r\n $state.go(\"auth.login\", {\r\n ref: \"so\"\r\n });\r\n },\r\n }\r\n }, {\r\n state: 'auth.confirm',\r\n config: {\r\n url: '/confirm?:u&:token',\r\n templateUrl: \"src/com.shared/auth/views/confirm.html\",\r\n controller: \"AuthConfirmController\",\r\n data: {\r\n permissions: {\r\n only: ['Anonymous'],\r\n redirectTo: \"rd\"\r\n }\r\n }\r\n }\r\n }, {\r\n state: 'auth.forgotpass',\r\n config: {\r\n url: '/reset?:u&:token',\r\n templateUrl: \"src/com.shared/auth/forgotpass/reset.html\",\r\n controller: \"AuthResetPassController\",\r\n data: {\r\n permissions: {\r\n only: ['Anonymous'],\r\n redirectTo: \"auth.login\"\r\n }\r\n }\r\n }\r\n }, {\r\n state: 'auth.rc',\r\n config: {\r\n url: '/rc',\r\n params: {\r\n ref: null\r\n },\r\n templateUrl: \"src/com.shared/auth/views/role_choice.html\",\r\n controller: \"AuthRoleChoiceController\",\r\n data: {\r\n permissions: {\r\n only: ['Anonymous'],\r\n redirectTo: \"rd\"\r\n }\r\n }\r\n }\r\n }];\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.auth')\r\n .factory('AuthModals', AuthModals);\r\n\r\n AuthModals.$inject = ['modalHelper'];\r\n\r\n function AuthModals(modalHelper) {\r\n return modalHelper.configureModals(getModals());\r\n\r\n function getModals() {\r\n return [{\r\n modal: \"ForgotPassword\",\r\n config: {\r\n templateUrl: 'src/com.shared/_common/modals/forgotpass.html',\r\n controller: \"ForgotPassController\",\r\n }\r\n\r\n }, {\r\n modal: \"ResetExpPassword\",\r\n config: {\r\n templateUrl: 'src/com.shared/auth/reset-exp-pass/reset-exp-pass.view.html',\r\n controller: \"AuthResetExpPassController\",\r\n }\r\n\r\n }];\r\n }\r\n }\r\n\r\n}());","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.auth')\r\n .factory('AuthInterceptor', AuthInterceptor);\r\n\r\n AuthInterceptor.$inject = ['$q', '$injector', 'localStorageService'];\r\n\r\n function AuthInterceptor($q, $injector, localStorageService) {\r\n\r\n return {\r\n request: function(config) {\r\n config.headers = config.headers || {};\r\n var authData = localStorageService.get('AuthorizationData');\r\n if (authData) {\r\n config.headers.Authorization = 'Bearer ' + authData.Token;\r\n }\r\n return config;\r\n },\r\n responseError: function(rejection) {\r\n if (rejection.status === 401) {\r\n var AuthService = $injector.get('AuthService');\r\n AuthService.SignOut();\r\n var $state = $injector.get('$state');\r\n $state.go('auth.login', {\r\n ref: \"au\"\r\n });\r\n }\r\n return $q.reject(rejection);\r\n }\r\n };\r\n\r\n }\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.shared.auth')\r\n .constant('LoginMessages', {\r\n ANAUTHORIZED: {\r\n Type: \"danger\",\r\n Message: \"You were signed out\",\r\n Details: \"This happend because you tried to access a page that you are not authorized to.\",\r\n },\r\n SIGNOUT: {\r\n Type: \"success\",\r\n Message: \"You were signed out successfully\",\r\n Details: \"You may login again using the form\",\r\n },\r\n REGISTERED: {\r\n Type: \"success\",\r\n Message: \"Your account is ready, you can login now.\",\r\n Details: false,\r\n },\r\n AUTHERROR: {\r\n Type: \"danger\",\r\n Message: \"Authentication Error\",\r\n Details: null,\r\n },\r\n UNAVAILABLE: {\r\n Type: \"danger\",\r\n Message: \"Service is not available.\",\r\n Details: \"Please try again later. If the problem insist, contact your system administrator\",\r\n },\r\n TIMEOUT: {\r\n Type: \"danger\",\r\n Message: \"You were signed out\",\r\n Details: \"Your logged in session has been timed out. Pleas login again.\",\r\n },\r\n })\r\n .constant('RoleTypes', [\r\n \"MASTER\",\r\n \"PHYSIO\",\r\n \"MODERATOR\",\r\n \"MANAGER\",\r\n \"RECEPTIONIST\"\r\n ]);\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin', [\r\n\r\n 'app.admin.clients',\r\n 'app.admin.configuration',\r\n 'app.admin.fixedcontent',\r\n 'app.admin.manage',\r\n 'app.admin.manager',\r\n 'app.admin.menus',\r\n 'app.admin.users',\r\n\r\n ]);\r\n})();\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin')\r\n .run(RoutesConfig);\r\n\r\n RoutesConfig.$inject = ['routerHelper'];\r\n\r\n function RoutesConfig(routerHelper) {\r\n routerHelper.configureStates(getStates());\r\n }\r\n\r\n function getStates() {\r\n return [{\r\n state: 'admin',\r\n config: {\r\n abstract: true,\r\n templateUrl: \"src/com.admin/_common/_layout.html\",\r\n data: {\r\n permissions: {\r\n except: ['Anonymous'],\r\n redirectTo: 'auth.login'\r\n }\r\n },\r\n controller: \"AdminController\",\r\n }\r\n }];\r\n }\r\n\r\n}());\r\n","(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin')\r\n .controller('AdminController', AdminController);\r\n\r\n AdminController.$inject = ['$state', '$cookies', 'AuthService', 'AuthModals', 'FixedContentService', 'AdminTopMenu', 'LoginRoles'];\r\n\r\n function AdminController($state, $cookies, AuthService, AuthModals, FixedContentService, AdminTopMenu, LoginRoles) {\r\n var vm = this;\r\n\r\n vm.ResetSession = ResetSession;\r\n vm.IsTemporaryPassword = AuthService.IsTemporaryPassword;\r\n vm.ExpiresAt = AuthService.ExpiresAt;\r\n vm.Role = AuthService.Roles[0];\r\n vm.TopMenu = _.filter(AdminTopMenu, function (item) {\r\n if (!item.Roles) return true;\r\n return _.contains(item.Roles, AuthService.Roles[0]);\r\n });\r\n vm.FixedModal = FixedModal;\r\n vm.lastMove = new Date()\r\n\r\n activate();\r\n\r\n function activate() {\r\n ChooseRole();\r\n vm.Username = AuthService.Username;\r\n if (AuthService.ExpiresAt < moment().unix()) {\r\n // console.log(\"Bilias7\");\r\n $state.go(\"auth.logout\", {\r\n ref: \"to\"\r\n });\r\n return;\r\n }\r\n\r\n validatePasswordReset()\r\n\r\n vm.interv = setInterval(function () {\r\n console.log(\"last move\", vm.lastMove)\r\n if (moment().subtract(15, 'minutes').isAfter(vm.lastMove)) {\r\n clearInterval(vm.interv)\r\n $state.go(\"auth.logout\", {\r\n ref: \"to\"\r\n });\r\n }\r\n }, 1 * 60 * 1000)\r\n }\r\n\r\n function ResetSession() {\r\n vm.lastMove = new Date();\r\n }\r\n\r\n function FixedModal(alias, size) {\r\n FixedContentService.Modal(alias, size);\r\n }\r\n\r\n function ChooseRole() {\r\n var roles = [];\r\n // console.log(AuthService.Roles);\r\n _.map(AuthService.Roles, function (role) {\r\n if (LoginRoles.indexOf(role) != -1) {\r\n roles.push(role);\r\n }\r\n });\r\n $cookies.put('rl', roles[0]);\r\n }\r\n\r\n function validatePasswordReset() {\r\n return;\r\n //if (APP.Client.UserSettings) {\r\n // if (moment()\r\n // .subtract(parseInt(APP.Client.UserSettings.PassIntervMonths), 'months')\r\n // .isBefore(APP.Client.UserSettings.LastPassChange)\r\n // ) {\r\n // return;\r\n // }\r\n //}\r\n //AuthModals\r\n // .ResetExpPassword()\r\n // .then(function (result) {\r\n // if (result == \"OK\") {\r\n // $state.go(\"auth.logout\", {\r\n // ref: \"to\"\r\n // });\r\n // }\r\n // })\r\n }\r\n }\r\n\r\n}());","/* jshint -W097, -W033 */\r\n(function () {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.users')\r\n .factory('UsersService', UsersService);\r\n\r\n UsersService.$inject = ['$data', '$q', '$http'];\r\n\r\n function UsersService($data, $q, $http) {\r\n var service = {\r\n GetUsers: GetUsers,\r\n GetUser: GetUser,\r\n SaveUser: SaveUser,\r\n DeleteUser: DeleteUser,\r\n UserChangePassword: UserChangePassword,\r\n ForceExpirePassword: ForceExpirePassword,\r\n }\r\n\r\n return service;\r\n\r\n function GetUsers() {\r\n return $data\r\n .list(\"users\")\r\n .then(function (results) {\r\n return results;\r\n })\r\n }\r\n\r\n function GetUser(UserID) {\r\n return $data\r\n .get(\"users\", {\r\n ID: UserID\r\n })\r\n .then(function (results) {\r\n return results;\r\n })\r\n }\r\n\r\n function SaveUser(user) {\r\n if (user.Id) {\r\n return $http\r\n .put(APP.Service + '/users/' + user.Id, user)\r\n .then(function (results) {\r\n return results.data;\r\n });\r\n } else {\r\n return $data\r\n .save(\"users\", user)\r\n .then(function (results) {\r\n return results;\r\n })\r\n }\r\n }\r\n\r\n function UserChangePassword(user) {\r\n return $http.put(APP.Service + '/users/changepassword', {\r\n userid: user.Id,\r\n oldPass: user.oldPass,\r\n newPass: user.newPass\r\n })\r\n .then(PasswordChanged)\r\n .catch(PasswordChangeFailed);\r\n\r\n function PasswordChanged(response) {\r\n return response.data;\r\n }\r\n\r\n function PasswordChangeFailed(reason) {\r\n return $q.reject(reason);\r\n }\r\n }\r\n\r\n function DeleteUser(user) {\r\n return $http.delete(APP.Service + '/users/DeleteUser?id=' + user.Id)\r\n }\r\n\r\n function ForceExpirePassword(user) {\r\n return $http.get(APP.Service + '/users/' + user.Id + '/force-exp-password')\r\n }\r\n }\r\n}());","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.users')\r\n .run(appRun);\r\n\r\n appRun.$inject = ['routerHelper'];\r\n\r\n function appRun(routerHelper) {\r\n routerHelper.configureStates(getStates());\r\n }\r\n\r\n function getStates() {\r\n return [{\r\n state: 'admin.manage.users',\r\n config: {\r\n url: '/users',\r\n controller: \"UsersController\",\r\n templateUrl: 'src/com.admin/users/views/users.html'\r\n }\r\n }];\r\n }\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.users')\r\n .factory('UsersModals', UsersModals);\r\n\r\n UsersModals.$inject = ['modalHelper'];\r\n\r\n function UsersModals(modalHelper) {\r\n return modalHelper.configureModals(getModals());\r\n\r\n function getModals() {\r\n return [{\r\n modal: \"UserForm\",\r\n config: {\r\n templateUrl: 'src/com.admin/users/views/user.form.modal.html',\r\n controller: \"UserFormController\",\r\n }\r\n }, {\r\n modal: \"UserChangePassword\",\r\n config: {\r\n templateUrl: 'src/com.admin/users/views/modal.userchangepassword.html',\r\n controller: \"UserChangePassController\"\r\n },\r\n }];\r\n }\r\n }\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.users')\r\n .constant('UserRoles', [\r\n \"PHYSIO\",\r\n \"MODERATOR\",\r\n \"MANAGER\",\r\n \"RECEPTIONIST\"\r\n ])\r\n\r\n // xrhsimopoieitai sto login gia na paroume thn lista me ton rolo pou exei kapoios user\r\n .constant('LoginRoles', [\r\n \"MASTER\",\r\n \"PHYSIO\",\r\n \"MODERATOR\",\r\n \"MANAGER\",\r\n \"RECEPTIONIST\"\r\n ])\r\n\r\n // h diafora me to apo pano einai oti xrhsimopoieitai sta surveys, pou yparxei kai o anonymous\r\n .constant('ReferralRoles', [\r\n \"ANONYMOUS\",\r\n \"PHYSIO\",\r\n \"MODERATOR\",\r\n \"MANAGER\",\r\n \"RECEPTIONIST\"\r\n ]);\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .run(appRun);\r\n\r\n appRun.$inject = ['routerHelper'];\r\n\r\n function appRun(routerHelper) {\r\n routerHelper.configureStates(getStates());\r\n }\r\n\r\n function getStates() {\r\n return [{\r\n state: 'admin.manager',\r\n config: {\r\n url: '/dashboard',\r\n templateUrl: 'src/com.admin/manager/dashboard/view.html',\r\n controller: \"ManagerDashboardController\",\r\n }\r\n }, {\r\n state: 'admin.manager_referrals',\r\n config: {\r\n url: '/referrals',\r\n params: {\r\n IsArchived: false,\r\n IsCaseClosed: false\r\n },\r\n templateUrl: 'src/com.admin/manager/referrals/views/view.html',\r\n controller: \"ManagerReferralsController\",\r\n }\r\n }, {\r\n state: 'admin.manager_archived',\r\n config: {\r\n url: '/archived',\r\n params: {\r\n IsArchived: true,\r\n IsCaseClosed: false\r\n },\r\n templateUrl: 'src/com.admin/manager/referrals/views/view.html',\r\n controller: \"ManagerReferralsController\",\r\n }\r\n }, {\r\n state: 'admin.manager_closedcases',\r\n config: {\r\n url: '/closedcases',\r\n params: {\r\n IsArchived: false,\r\n IsCaseClosed: true\r\n },\r\n templateUrl: 'src/com.admin/manager/referrals/views/view.html',\r\n controller: \"ManagerReferralsController\",\r\n }\r\n }, {\r\n state: 'admin.manager_calendar',\r\n config: {\r\n url: '/calendar',\r\n templateUrl: 'src/com.admin/manager/calendar/view.html',\r\n controller: \"ManagerCalendarController\",\r\n }\r\n }, {\r\n state: 'admin.manager_survey',\r\n config: {\r\n abstract: true,\r\n url: \"/referrals/:ID\",\r\n params: {\r\n ID: null,\r\n HideFirstMeeting: false,\r\n IsArchived: false,\r\n ShowFinalDischarge: false,\r\n IsCaseClosed: false\r\n },\r\n templateUrl: 'src/com.admin/manager/survey/view.html',\r\n controller: \"ManagerSurveyController\",\r\n }\r\n }, {\r\n state: 'admin.manager_survey.referral',\r\n config: {\r\n url: \"/referral\",\r\n templateUrl: 'src/com.admin/manager/referral/view.html',\r\n controller: \"ManagerReferralController\",\r\n }\r\n }, {\r\n state: 'admin.manager_survey.phonetriage',\r\n config: {\r\n url: \"/phonetriage\",\r\n templateUrl: 'src/com.admin/manager/phonetriage/view.html',\r\n controller: \"ManagerPhoneTriageController\",\r\n }\r\n }, {\r\n state: 'admin.manager_survey.firstmeeting',\r\n config: {\r\n url: \"/firstmeeting\",\r\n templateUrl: 'src/com.admin/manager/firstmeeting/view.html',\r\n controller: \"ManagerFirstMeetingController\",\r\n }\r\n }, {\r\n state: 'admin.manager_survey.discharge',\r\n config: {\r\n url: \"/discharge\",\r\n templateUrl: 'src/com.admin/manager/discharge/view.html',\r\n controller: \"ManagerDischargeController\",\r\n }\r\n }, {\r\n state: 'admin.manager_survey.managernotes',\r\n config: {\r\n url: \"/managernotes\",\r\n templateUrl: 'src/com.admin/manager/managernotes/view.html',\r\n controller: \"ManagerNotesController\",\r\n }\r\n }, {\r\n state: 'admin.manager_survey.finaldischarge',\r\n config: {\r\n url: \"/finaldischarge\",\r\n templateUrl: 'src/com.admin/manager/finaldischarge/view.html',\r\n controller: \"ManagerFinalDischargeController\",\r\n }\r\n }, {\r\n state: 'admin.manager_survey.appointments',\r\n config: {\r\n url: \"/appointments\",\r\n templateUrl: 'src/com.admin/manager/appointments/view.html',\r\n controller: \"ManagerAppointmentsController\",\r\n }\r\n }, {\r\n state: 'admin.manager_survey.exercises',\r\n config: {\r\n url: \"/exercises\",\r\n templateUrl: 'src/com.admin/manager/exercises/view.html',\r\n controller: \"ManagerExercisesController\",\r\n }\r\n }, {\r\n state: 'admin.manager_reports',\r\n config: {\r\n url: \"/exercises\",\r\n templateUrl: 'src/com.admin/manager/reports/view.html',\r\n controller: \"ManagerReportsController\",\r\n }\r\n }];\r\n }\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manager')\r\n .factory('ReferralsModals', ReferralsModals);\r\n\r\n ReferralsModals.$inject = ['modalHelper'];\r\n\r\n function ReferralsModals(modalHelper) {\r\n return modalHelper.configureModals(getModals());\r\n\r\n function getModals() {\r\n return [{\r\n modal: \"SearchReferrals\",\r\n config: {\r\n templateUrl: 'src/com.admin/manager/referrals/views/search.modal.html',\r\n controller: \"ReferralSearchController\",\r\n size:\"lg\",\r\n },\r\n }, {\r\n modal: \"CloseCase\",\r\n config: {\r\n templateUrl: 'src/com.admin/manager/referrals/views/closecase.modal.html',\r\n controller: \"CloseCaseController\",\r\n size:\"lg\",\r\n },\r\n }, {\r\n modal: \"ExtraSessions\",\r\n config: {\r\n templateUrl: 'src/com.admin/manager/referrals/views/extrasession.modal.html',\r\n controller: \"ExtraSessionController\",\r\n size:\"lg\",\r\n },\r\n }, {\r\n modal: \"Appointment\",\r\n config: {\r\n templateUrl: 'src/com.admin/manager/appointments/appointment.modal.html',\r\n controller: \"ManagerAppointmentController\",\r\n size:\"lg\",\r\n },\r\n }, {\r\n modal: \"Exercise\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/referrals/exercises/exercise.modal.html',\r\n controller: \"ManagerExerciseController\",\r\n size:\"lg\",\r\n },\r\n }, {\r\n modal: \"AuditSettings\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/referrals/audits/settings.modal.html',\r\n controller: \"AuditSettingsController\",\r\n size:\"md\",\r\n },\r\n }, {\r\n modal: \"NewAudit\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/referrals/audits/newaudit.modal.html',\r\n controller: \"NewAuditController\",\r\n size:\"md\",\r\n },\r\n }, {\r\n modal: \"ImportReferrals\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/referrals/import/import.modal.html',\r\n controller: \"ReferralImportController\",\r\n size:\"lg\",\r\n },\r\n }];\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.menus',[])\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.menus')\r\n\r\n .constant('AdminTopMenu', [{\r\n Label: \"Clients\",\r\n Roles: [\"MASTER\", \"PHYSIO\", \"MODERATOR\", \"RECEPTIONIST\"],\r\n Route: \"admin.clients.overview\",\r\n Parent: \"admin.clients\",\r\n IsRight: false,\r\n }, {\r\n Label: \"Manage\",\r\n Roles: [\"MASTER\"],\r\n Route: \"admin.manage.configuration.system\",\r\n Parent: \"admin.manage\",\r\n IsRight: false,\r\n }, {\r\n Label: \"Dashboard\",\r\n Roles: [\"MANAGER\"],\r\n Route: \"admin.manager\",\r\n IsRight: false,\r\n }, {\r\n Label: \"Referrals\",\r\n Roles: [\"MANAGER\"],\r\n Route: \"admin.manager_referrals\",\r\n IsRight: false,\r\n }, {\r\n Label: \"Calendar\",\r\n Roles: [\"MANAGER\"],\r\n Route: \"admin.manager_calendar\",\r\n IsRight: false,\r\n }, {\r\n Label: \"Archived\",\r\n Roles: [\"MANAGER\"],\r\n Route: \"admin.manager_archived\",\r\n IsRight: false,\r\n }, {\r\n Label: \"Closed Cases\",\r\n Roles: [\"MANAGER\"],\r\n Route: \"admin.manager_closedcases\",\r\n IsRight: false,\r\n }, {\r\n Label: \"Reports\",\r\n Roles: [\"MANAGER\"],\r\n Route: \"admin.manager_reports\",\r\n IsRight: false,\r\n }, {\r\n Label: \"MENU_LANDING\",\r\n Roles: [\"MANAGER\"],\r\n Icon: \"globe\",\r\n IsRight: true,\r\n Route: \"landing.referral\",\r\n }, {\r\n Label: \"MENU_SIGNOUT\",\r\n Icon: \"power-off\",\r\n Route: \"auth.logout\",\r\n IsRight: true,\r\n }]);\r\n\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manage',[])\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manage')\r\n .run(appRun);\r\n\r\n appRun.$inject = ['routerHelper'];\r\n\r\n function appRun(routerHelper) {\r\n routerHelper.configureStates(getStates());\r\n }\r\n\r\n function getStates() {\r\n return [{\r\n state: 'admin.manage',\r\n config: {\r\n abstract: true,\r\n url: '/manage',\r\n controller: 'ManageController',\r\n templateUrl: 'src/com.admin/manage/_layout.html'\r\n }\r\n }];\r\n }\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manage')\r\n .controller('ManageController', ManageController);\r\n\r\n ManageController.$inject = ['ManageMenu'];\r\n\r\n function ManageController(ManageMenu) {\r\n var vm = this;\r\n vm.Menu = ManageMenu;\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.manage')\r\n .constant('ManageMenu', [{\r\n Label: \"Configuration\",\r\n Icon: \"cogs\",\r\n Route: \"admin.manage.configuration.system\",\r\n Parent: \"admin.manage.configuration\",\r\n },\r\n {\r\n Label: \"Users & Roles\",\r\n Icon: \"users\",\r\n Route: \"admin.manage.users\",\r\n },\r\n {\r\n Label: \"Clients Validation\",\r\n Icon: \"check\",\r\n Route: \"admin.manage.validation\",\r\n Hide: true,\r\n },\r\n {\r\n Label: \"Data Import & Export\",\r\n Icon: \"cloud\",\r\n Route: \"admin.manage.dataie\",\r\n Hide: true,\r\n },\r\n {\r\n Label: \"Help & Support\",\r\n Icon: \"question-circle\",\r\n Route: \"admin.manage.help\",\r\n Hide: true,\r\n }, {\r\n Label: \"Terms of Use\",\r\n Icon: \"pencil-square-o\",\r\n Route: \"admin.manage.terms\",\r\n Hide: true,\r\n }]);\r\n\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.fixedcontent', [])\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.fixedcontent')\r\n .factory('FixedContentService', FixedContentService);\r\n\r\n FixedContentService.$inject = ['$http', '$uibModal', 'ContentConstant'];\r\n\r\n function FixedContentService($http, $uibModal, ContentConstant) {\r\n\r\n var service = {\r\n Load: Load,\r\n Modal: Modal,\r\n };\r\n\r\n return service;\r\n\r\n function Load(content, size) {\r\n return $http\r\n .get(\"assets/static/\" + APP.Client.System.Language + \"/\" + content.View);\r\n }\r\n\r\n function Modal(alias, size) {\r\n var content = _.find(ContentConstant, function(item) {\r\n return item.Alias == alias;\r\n });\r\n\r\n service\r\n .Load(content)\r\n .then(function(response) {\r\n\r\n $uibModal.open({\r\n templateUrl: 'src/com.admin/fixedcontent/views/modal.html',\r\n size: size || \"md\",\r\n resolve: {\r\n Title: function() {\r\n return content.Title;\r\n },\r\n Content: function() {\r\n return response.data;\r\n }\r\n },\r\n controllerAs: \"vm\",\r\n controller: function(Title, Content) {\r\n var vm = this;\r\n vm.Title = Title;\r\n vm.Content = Content;\r\n }\r\n });\r\n });\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.fixedcontent')\r\n .run(appRun);\r\n\r\n appRun.$inject = ['routerHelper', 'ContentConstant'];\r\n\r\n function appRun(routerHelper, ContentConstant) {\r\n routerHelper.configureStates(getStates(ContentConstant));\r\n }\r\n\r\n function getStates(Contents) {\r\n var _routes = [];\r\n angular.forEach(Contents, function(c) {\r\n _routes.push({\r\n state: c.State,\r\n config: {\r\n url: c.Url,\r\n params: {\r\n Content: c\r\n },\r\n controller: \"FixedContentController\",\r\n templateUrl: 'src/com.admin/fixedcontent/views/fixedcontent.html'\r\n }\r\n });\r\n });\r\n\r\n return _routes;\r\n }\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.fixedcontent')\r\n .controller('FixedContentController', FixedContentController);\r\n\r\n FixedContentController.$inject = ['$http', '$stateParams', 'FixedContentService','$sce'];\r\n\r\n function FixedContentController($http, $stateParams, FixedContentService,$sce) {\r\n var vm = this;\r\n\r\n vm.Title = $stateParams.Content.Title;\r\n vm.Content = null;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.loading = true;\r\n\r\n FixedContentService\r\n .Load($stateParams.Content)\r\n .then(function(response) {\r\n \r\n vm.Content = $sce.trustAsHtml(response.data);\r\n });\r\n\r\n }\r\n\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.fixedcontent')\r\n .constant('ContentConstant', [{\r\n Alias:\"dataie\",\r\n Title: \"Data Import / Export\",\r\n Url: \"/dataie\",\r\n State: \"admin.manage.dataie\",\r\n View: \"uc.html\"\r\n }, {\r\n Alias:\"subscription\",\r\n Title: \"Subscription\",\r\n Url: \"/subscription\",\r\n State: \"admin.manage.subscription\",\r\n View: \"uc.html\"\r\n }, {\r\n Alias:\"help\",\r\n Title: \"Help / Support\",\r\n Url: \"/help\",\r\n State: \"admin.manage.help\",\r\n View: \"help.html\"\r\n }, {\r\n Alias:\"terms\",\r\n Title: \"Terms of Use\",\r\n Url: \"/terms\",\r\n State: \"admin.manage.terms\",\r\n View: \"terms.html\"\r\n }])\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.configuration')\r\n .factory('ConfigurationService', ConfigurationService);\r\n\r\n ConfigurationService.$inject = ['$http'];\r\n\r\n function ConfigurationService($http) {\r\n var service = {\r\n Save: Save,\r\n UploadFile: UploadFile,\r\n };\r\n\r\n return service;\r\n\r\n function Save(data) {\r\n return $http\r\n .post(APP.Service + '/configuration', data)\r\n .then(function(results) {\r\n return results.data;\r\n });\r\n }\r\n\r\n function UploadFile(data) {\r\n return $http\r\n .post(APP.Service + '/configuration/upload', data)\r\n .then(function(results) {\r\n return results.data;\r\n });\r\n }\r\n\r\n }\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.configuration')\r\n .run(appRun);\r\n\r\n appRun.$inject = ['routerHelper'];\r\n\r\n function appRun(routerHelper) {\r\n routerHelper.configureStates(getStates());\r\n }\r\n\r\n function getStates() {\r\n return [{\r\n state: 'admin.manage.configuration',\r\n config: {\r\n abstract: true,\r\n url: '/configuration',\r\n template: '',\r\n }\r\n }, {\r\n state: 'admin.manage.configuration.system',\r\n config: {\r\n url: '/system',\r\n controller: \"ConfigurationController\",\r\n templateUrl: 'src/com.admin/configuration/_layout.html'\r\n }\r\n }, {\r\n state: 'admin.manage.configuration.theme',\r\n config: {\r\n url: '/theme',\r\n controller: \"ThemeConfigurationController\",\r\n templateUrl: 'src/com.admin/configuration/theme/views/theme._layout.html'\r\n }\r\n }, {\r\n state: 'admin.manage.configuration.booking',\r\n config: {\r\n url: '/booking',\r\n controller: \"BookingConfigurationController\",\r\n templateUrl: 'src/com.admin/configuration/booking/views/_layout.html'\r\n }\r\n }, {\r\n state: 'admin.manage.configuration.offline',\r\n config: {\r\n url: '/offline',\r\n controller: \"OfflineConfigurationController\",\r\n templateUrl: 'src/com.admin/configuration/offline/views/_layout.html'\r\n }\r\n }, {\r\n state: 'admin.manage.configuration.payments',\r\n config: {\r\n url: '/payments',\r\n controller: \"PaymentsConfigurationController\",\r\n templateUrl: 'src/com.admin/configuration/payments/_layout.html'\r\n }\r\n }];\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.configuration')\r\n .factory('ConfigurationModals', ConfigurationModals);\r\n\r\n ConfigurationModals.$inject = ['modalHelper'];\r\n\r\n function ConfigurationModals(modalHelper) {\r\n return modalHelper.configureModals(getModals());\r\n\r\n function getModals() {\r\n return [{\r\n modal: \"CompanyForm\",\r\n config: {\r\n templateUrl: 'src/com.admin/configuration/company/company.form.modal.html',\r\n controller: \"CompanyFormController\",\r\n },\r\n }, {\r\n modal: \"LocalizationForm\",\r\n config: {\r\n templateUrl: 'src/com.admin/configuration/localization/localizationform.modal.html',\r\n controller: \"LocalizationFormController\",\r\n size: \"md\"\r\n }\r\n }, {\r\n modal: \"PaypalForm\",\r\n config: {\r\n templateUrl: 'src/com.admin/configuration/payments/paypal/paypal.form.modal.html',\r\n controller: \"PaypalFormController\",\r\n size: \"md\"\r\n }\r\n }, {\r\n modal: \"AlphaBankForm\",\r\n config: {\r\n templateUrl: 'src/com.admin/configuration/payments/alphabank/alphabank.form.modal.html',\r\n controller: \"AlphabankFormController\",\r\n size: \"md\"\r\n }\r\n },{\r\n modal: \"PdfForm\",\r\n config: {\r\n templateUrl: 'src/com.admin/configuration/pdf/pdf.form.modal.html',\r\n controller: \"SurveyPdfFormController\",\r\n },\r\n }];\r\n }\r\n }\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.configuration')\r\n .controller('ConfigurationController', ConfigurationController);\r\n\r\n ConfigurationController.$inject = ['ConfigurationModals', 'ConfigurationService', '$state', 'LocalesConstant'];\r\n\r\n function ConfigurationController(ConfigurationModals, ConfigurationService, $state, LocalesConstant) {\r\n\r\n var vm = this;\r\n vm.SwitchDebug = SwitchDebug;\r\n vm.Modal = Modal;\r\n\r\n\r\n activate();\r\n\r\n function activate() {\r\n APP.Client.System.Debug = APP.Client.System.Debug === \"TRUE\";\r\n findLocale();\r\n }\r\n\r\n function SwitchDebug() {\r\n APP.Client.System.Debug = !APP.Client.System.Debug;\r\n ConfigurationService\r\n .Save({\r\n \"System.Debug\": APP.Client.System.Debug\r\n })\r\n .then(function() {\r\n activate();\r\n });\r\n }\r\n\r\n function Modal(modal) {\r\n ConfigurationModals[modal]()\r\n .then(function() {\r\n activate();\r\n });\r\n }\r\n\r\n function findLocale(){\r\n vm.Locale = _.find(LocalesConstant,function(locale){\r\n return locale.Code == APP.Client.System.Locale;\r\n });\r\n }\r\n\r\n }\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .factory('ClientsService', ClientsService);\r\n\r\n ClientsService.$inject = ['$data', '$http', '$q', '$resource', 'Upload'];\r\n\r\n function ClientsService($data, $http, $q, $resource, Upload) {\r\n var service = {\r\n _ClientID: null,\r\n _ClientDomain:null,\r\n \r\n GetClients: GetClients,\r\n GetClient: GetClient,\r\n SaveClient: SaveClient,\r\n\r\n ValidateClients: ValidateClients,\r\n\r\n GetConfiguration: GetConfiguration,\r\n SaveConfiguration: SaveConfiguration,\r\n UploadFile: UploadFile,\r\n\r\n };\r\n\r\n return service;\r\n\r\n // Clients\r\n function GetClients() {\r\n return $data\r\n .list(\"clients\");\r\n }\r\n\r\n function GetClient(ClientID) {\r\n return $data\r\n .get(\"clients\", {\r\n ID: ClientID\r\n })\r\n .then(function(results) {\r\n return results;\r\n })\r\n }\r\n\r\n function SaveClient(Client) {\r\n return $data\r\n .save(\"clients\", Client)\r\n .then(function(results) {\r\n return results;\r\n })\r\n }\r\n\r\n // Validation\r\n function ValidateClients() {\r\n return $http\r\n .get(APP.Service + \"/clients/validate\")\r\n .then(function(response) {\r\n return response.data;\r\n });\r\n }\r\n\r\n function GetConfiguration() {\r\n return $data\r\n .get(\"configuration\", {\r\n CID: service._ClientID,\r\n })\r\n .then(function(result) {\r\n return result;\r\n });\r\n }\r\n\r\n function SaveConfiguration(Configuration) {\r\n return $http\r\n .post(APP.Service + '/configuration?CID='+service._ClientID, Configuration)\r\n .then(function(results) {\r\n return results.data;\r\n });\r\n }\r\n\r\n function UploadFile(data) {\r\n var deferred = $q.defer();\r\n\r\n Upload\r\n .upload({\r\n url: APP.Service + '/configuration/upload',\r\n file: data.File,\r\n })\r\n .progress(function(evt) {\r\n deferred.notify(parseInt(100.0 * evt.loaded / evt.total));\r\n })\r\n .then(function(response) {\r\n deferred.resolve(response.data);\r\n });\r\n\r\n return deferred.promise;\r\n }\r\n }\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .run(appRun);\r\n\r\n appRun.$inject = ['routerHelper'];\r\n function appRun(routerHelper) {\r\n routerHelper.configureStates(getStates());\r\n }\r\n\r\n function getStates() {\r\n return [{\r\n state: 'admin.clients',\r\n config: {\r\n abstract: true,\r\n url: \"/clients\",\r\n template: '',\r\n }\r\n }, {\r\n state: 'admin.clients.overview',\r\n config: {\r\n url: \"/\",\r\n templateUrl: 'src/com.admin/clients/overview/view.html',\r\n controller: \"ClientsOverviewController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client',\r\n config: {\r\n abstract: true,\r\n url: \"/:ID\",\r\n params: {\r\n ID: null,\r\n },\r\n templateUrl: 'src/com.admin/clients/client/view.html',\r\n controller: \"ClientController\",\r\n resolve: {\r\n _LoadClient: _LoadClient,\r\n _LoadConfiguration: _LoadConfiguration\r\n }\r\n }\r\n }, {\r\n state: 'admin.clients.client.dashboard',\r\n config: {\r\n url: \"/dashboard\",\r\n templateUrl: 'src/com.admin/clients/dashboard/view.html',\r\n controller: \"ClientDashboardController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.surveys',\r\n config: {\r\n url: \"/surveys\",\r\n templateUrl: 'src/com.admin/clients/surveys/view.html',\r\n controller: \"ClientSurveysController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.configuration',\r\n config: {\r\n url: \"/configuration\",\r\n templateUrl: 'src/com.admin/clients/configuration/view.html',\r\n controller: \"ClientConfigurationController\",\r\n }\r\n }, {\r\n state: 'admin.manage.validation',\r\n config: {\r\n url: \"/validate\",\r\n templateUrl: 'src/com.admin/clients/validation/view.html',\r\n controller: \"ClientValidateController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.imageitems',\r\n config: {\r\n url: \"/imageitems\",\r\n templateUrl: 'src/com.admin/clients/imageitems/view.html',\r\n controller: \"ImageitemsController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.portalmanagers',\r\n config: {\r\n url: \"/portalmanagers\",\r\n templateUrl: 'src/com.admin/clients/portalmanagers/view.html',\r\n controller: \"PortalManagersController\",\r\n }\r\n }, {\r\n state: 'admin.clients.client.reports',\r\n config: {\r\n url: \"/reports\",\r\n templateUrl: 'src/com.admin/clients/reports/view.html',\r\n controller: \"ReportsController\",\r\n }\r\n }];\r\n }\r\n\r\n _LoadClient.$inject = ['ClientsService', 'toaster', '$stateParams'];\r\n function _LoadClient(ClientsService, toaster, $stateParams) {\r\n return ClientsService\r\n .GetClient($stateParams.ID)\r\n .then(function(client) {\r\n //console.log(\"client\",client);\r\n ClientsService._ClientID = $stateParams.ID;\r\n ClientsService._ClientDomain = client.Domain;\r\n });\r\n }\r\n\r\n _LoadConfiguration.$inject = ['ClientsService', '_LoadClient'];\r\n function _LoadConfiguration(ClientsService, _LoadClient) {\r\n return ClientsService\r\n .GetConfiguration()\r\n .then(function(configuration) {\r\n APP.Client.Appointment = {};\r\n APP.Client.Business = {};\r\n APP.Client.Audit = {};\r\n APP.Client.Extra = {};\r\n APP.Client.Appointment.Duration = configuration[\"Appointment.Duration\"];\r\n APP.Client.Appointment.Times = configuration[\"Appointment.Times\"];\r\n APP.Client.Audit.AuditNumber = configuration[\"Audit.AuditNumber\"];\r\n APP.Client.Audit.CommaSeperatedEmails = configuration[\"Audit.CommaSeperatedEmails\"];\r\n APP.Client.Business.Duration = configuration[\"Business.Duration\"];\r\n APP.Client.Business.HoursFrom = configuration[\"Business.HoursFrom\"];\r\n APP.Client.Business.HoursTo = configuration[\"Business.HoursTo\"];\r\n APP.Client.Extra.MinimumAppointmentsToDischarge = configuration[\"Extra.MinimumAppointmentsToDischarge\"];\r\n });\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .factory('ClientsModals', ClientsModals);\r\n\r\n ClientsModals.$inject = ['modalHelper'];\r\n\r\n function ClientsModals(modalHelper) {\r\n return modalHelper.configureModals(getModals());\r\n\r\n function getModals() {\r\n return [{\r\n modal: \"Details\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/details/view.html',\r\n controller: \"ClientDetailsController\",\r\n size:\"md\",\r\n },\r\n },{\r\n modal: \"ValidateClients\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/validate/view.html',\r\n controller: \"ClientsValidateController\"\r\n },\r\n },{\r\n modal: \"EditSurvey\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/surveys/edit.html',\r\n controller: \"ClientSurveysEditController\",\r\n size: 'lg'\r\n },\r\n },{\r\n modal: \"Init\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/init/view.html',\r\n controller: \"ClientInitController\",\r\n size:\"md\",\r\n },\r\n },{\r\n modal: \"CompanyForm\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/configuration/company/company.form.modal.html',\r\n controller: \"ClientCompanyFormController\",\r\n },\r\n },{\r\n modal: \"CompanyTos\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/configuration/tos/tos.form.modal.html',\r\n controller: \"ClientTosFormController\",\r\n },\r\n },{\r\n modal: \"CompanyDisclaimer\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/configuration/disclaimer/disclaimer.form.modal.html',\r\n controller: \"ClientDisclaimerFormController\",\r\n },\r\n },{\r\n modal: \"ThemeForm\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/configuration/theme/theme.form.modal.html',\r\n controller: \"ClientThemeFormController\",\r\n },\r\n },{\r\n modal: \"PdfForm\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/configuration/pdf/pdf.form.modal.html',\r\n controller: \"ClientPdfFormController\",\r\n },\r\n }, {\r\n modal: \"LocalizationForm\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/configuration/localization/localizationform.modal.html',\r\n controller: \"ClientLocalizationFormController\",\r\n size: \"md\"\r\n }\r\n }, {\r\n modal: \"ExtrasForm\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/configuration/extras/extras.form.modal.html',\r\n controller: \"ClientExrasFormController\",\r\n size: \"md\"\r\n }\r\n },{\r\n modal: \"EmailByConditionTypeForm\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/configuration/emailbyconditiontype/emailbyconditiontype.form.modal.html',\r\n controller: \"EmailByConditionTypeFormController\",\r\n size: \"md\"\r\n }\r\n },{\r\n modal: \"AppointmentTypeCostForm\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/configuration/appointmenttypecost/appointmenttypecost.form.modal.html',\r\n controller: \"ClientAppointmentTypeCostController\",\r\n size: 'md'\r\n },\r\n },{\r\n modal: \"ImageItem\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/imageitems/edit.html',\r\n controller: \"ImageItemEditController\",\r\n size: 'lg'\r\n },\r\n },{\r\n modal: \"PortalManager\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/portalmanagers/edit.html',\r\n controller: \"PortalManagerEditController\",\r\n size: 'md'\r\n },\r\n }, {\r\n modal: \"ImportReferrals\",\r\n config: {\r\n templateUrl: 'src/com.admin/clients/referrals/import/import.modal.html',\r\n controller: \"ReferralImportController\",\r\n size:\"lg\",\r\n },\r\n }];\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.admin.clients')\r\n .constant('ClientStatuses', [\r\n \"PENDING\",\r\n \"ACTIVE\",\r\n \"UNSUBSCRIBED\",\r\n \"DELETED\"\r\n ])\r\n .constant('ClientMenu', [{\r\n Label: \"Dashboard\",\r\n Icon: \"dashboard\",\r\n Route: \"admin.clients.client.dashboard\",\r\n Roles: [\"MASTER\",\"PHYSIO\",\"MANAGER\",\"MODERATOR\",\"RECEPTIONIST\"],\r\n Constraint:[\"NOTEXTERNAL\"],\r\n }, {\r\n Label: \"Surveys\",\r\n Icon: \"question-circle\",\r\n Route: \"admin.clients.client.surveys\",\r\n Roles: [\"MASTER\"],\r\n }, {\r\n Label: \"Referrals\",\r\n Icon: \"book\",\r\n Route: \"admin.clients.client.referrals\",\r\n Roles: [\"PHYSIO\",\"MODERATOR\",\"RECEPTIONIST\"],\r\n }, {\r\n Label: \"Calendar\",\r\n Icon: \"calendar\",\r\n Route: \"admin.clients.client.calendar\",\r\n Roles: [\"PHYSIO\",\"MODERATOR\",\"RECEPTIONIST\"],\r\n Constraint:[\"NOTEXTERNAL\"],\r\n }, {\r\n Label: \"Archived\",\r\n Icon: \"archive\",\r\n Route: \"admin.clients.client.archived\",\r\n Roles: [\"MODERATOR\"],\r\n }, {\r\n Label: \"Closed Cases\",\r\n Icon: \"folder\",\r\n Route: \"admin.clients.client.closedcases\",\r\n Roles: [\"MODERATOR\"],\r\n }, {\r\n Label: \"Exercise Images\",\r\n Icon: \"eye\",\r\n Route: \"admin.clients.client.imageitems\",\r\n Roles: [\"MASTER\"],\r\n }, {\r\n Label: \"Portal Managers\",\r\n Icon: \"users\",\r\n Route: \"admin.clients.client.portalmanagers\",\r\n Roles: [\"MASTER\"],\r\n }, {\r\n Label: \"Audits\",\r\n Icon: \"search\",\r\n Route: \"admin.clients.client.audits\",\r\n Roles: [\"MODERATOR\"],\r\n }, {\r\n Label: \"Reports\",\r\n Icon: \"bar-chart\",\r\n Route: \"admin.clients.client.reports\",\r\n Roles: [\"MODERATOR\"],\r\n }, {\r\n Label: \"Configuration\",\r\n Icon: \"gear\",\r\n Route: \"admin.clients.client.configuration\",\r\n Roles: [\"MASTER\"],\r\n }])\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.landing.surveypdf', []);\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.landing.surveypdf')\r\n .run(appRun);\r\n\r\n appRun.$inject = ['routerHelper'];\r\n\r\n function appRun(routerHelper) {\r\n routerHelper.configureStates(getStates());\r\n }\r\n\r\n function getStates() {\r\n return [{\r\n state: \"landing.surveypdf\",\r\n config: {\r\n url: '/pdf/download?code',\r\n params: {\r\n code: null\r\n },\r\n controller: \"SurveyPdfLandingController\",\r\n controllerAs: \"vm\",\r\n templateUrl: 'src/com.landing/surveypdf/surveypdf.html',\r\n }\r\n }];\r\n }\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.landing.surveypdf')\r\n .controller('SurveyPdfLandingController', SurveyPdfLandingController);\r\n\r\n SurveyPdfLandingController.$inject = ['$stateParams', 'SurveyPdfService'];\r\n\r\n function SurveyPdfLandingController($stateParams, SurveyPdfService) {\r\n\r\n var vm = this;\r\n\r\n vm.SurveyPdf = null;\r\n vm.DownloadPdf = DownloadPdf;\r\n\r\n activate();\r\n\r\n function activate() {\r\n vm.EmailIsNotValid = false;\r\n }\r\n\r\n function DownloadPdf() {\r\n vm.loading = true;\r\n SurveyPdfService\r\n .getSurveyPdfByCodeAndEmail($stateParams.code, vm.PdfEmail)\r\n .then(function(validSurveyPdf) {\r\n vm.SurveyPdf = validSurveyPdf;\r\n\r\n vm.SurveyPdf.SurveySchema = validSurveyPdf.SurveySchema !== null ? JSON.parse(validSurveyPdf.SurveySchema.Configuration) : null;\r\n vm.SurveyPdf.ReferralSchema = validSurveyPdf.SurveySchema !== null ? JSON.parse(validSurveyPdf.ReferralSchema.Configuration) : null;\r\n\r\n SurveyPdfService\r\n .download(\r\n vm.SurveyPdf.SurveySchema,\r\n vm.SurveyPdf.SurveyData,\r\n vm.SurveyPdf.ReferralSchema,\r\n vm.SurveyPdf.ReferralData);\r\n })\r\n .finally(function() {\r\n vm.loading = false;\r\n vm.EmailIsNotValid = vm.SurveyPdf === null;\r\n });\r\n }\r\n\r\n }\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.landing.referral')\r\n .run(appRun);\r\n\r\n appRun.$inject = ['routerHelper'];\r\n\r\n function appRun(routerHelper) {\r\n routerHelper.configureStates(getStates());\r\n }\r\n\r\n function getStates() {\r\n return [{\r\n state: \"landing.referral\",\r\n config: {\r\n url: '/referral',\r\n controller: \"ReferralLandingController\" ,\r\n controllerAs: \"vm\",\r\n templateUrl: 'src/com.landing/referral/views/referralform.html',\r\n }\r\n }, {\r\n state: \"landing.redirect\",\r\n config: {\r\n url: '/redirect',\r\n controller: \"ReferralRedirectController\",\r\n controllerAs: \"vm\",\r\n templateUrl: 'src/com.landing/referral/views/redirect.html',\r\n }\r\n }];\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.landing', [\r\n 'app.landing.referral',\r\n 'app.landing.surveypdf',\r\n 'bootstrapLightbox',\r\n ]);\r\n\r\n}());\r\n","(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.landing')\r\n .controller('LandingErrorController', LandingErrorController);\r\n\r\n LandingErrorController.$inject = ['$stateParams'];\r\n\r\n function LandingErrorController($stateParams) {\r\n\r\n var _errors = {\r\n generic: {\r\n Icon: \"exclamation-triangle\",\r\n Message: \"An Error was occured\",\r\n Description: \"If the problem insists please contact us\",\r\n },\r\n noclient: {\r\n Icon: \"unlink\",\r\n Message: \"No client was selected\",\r\n Description: \"-\",\r\n }\r\n };\r\n\r\n var vm = this;\r\n vm.Icon = _errors[$stateParams.err].Icon;\r\n vm.Message = _errors[$stateParams.err].Message;\r\n vm.Description = _errors[$stateParams.err].Description;\r\n\r\n }\r\n \r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.landing')\r\n .run(appRun);\r\n\r\n appRun.$inject = ['routerHelper'];\r\n\r\n function appRun(routerHelper) {\r\n routerHelper.configureStates(getStates());\r\n }\r\n\r\n function getStates() {\r\n return [{\r\n state: \"landing\",\r\n config: {\r\n abstract: true,\r\n templateUrl: \"src/com.landing/_common/views/_layout.html\",\r\n controller: (function($state) {\r\n if (APP.Domain === null) {\r\n $state.go(\"rd\");\r\n }\r\n })\r\n }\r\n }, {\r\n state: \"landing.terms\",\r\n config: {\r\n url: '/terms',\r\n templateUrl: 'src/com.landing/_common/views/terms.html'\r\n }\r\n }, {\r\n state: \"landing.error\",\r\n config: {\r\n url: '/error?err',\r\n params: {\r\n err: \"generic\"\r\n },\r\n controller: \"LandingErrorController\",\r\n templateUrl: 'src/com.landing/error/view.html',\r\n }\r\n }];\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W064 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app.landing')\r\n .factory('LandingModals', LandingModals);\r\n\r\n LandingModals.$inject = ['modalHelper'];\r\n\r\n function LandingModals(modalHelper) {\r\n return modalHelper.configureModals(getModals());\r\n\r\n function getModals() {\r\n return [{\r\n modal: \"Terms\",\r\n config: {\r\n templateUrl: 'src/com.landing/_common/views/terms.modal.html'\r\n },\r\n }];\r\n }\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n angular\r\n .module('app')\r\n .run(appRun);\r\n\r\n appRun.$inject = ['$rootScope', '$state', 'AuthService', 'ClientService'];\r\n\r\n function appRun($rootScope, $state, AuthService, ClientService) {\r\n\r\n ClientService.LoadSettings();\r\n AuthService.Init();\r\n\r\n $rootScope.APP = APP;\r\n\r\n $rootScope.hasChecked = checklistmodel;\r\n\r\n $rootScope.$on('$stateChangeStart', function(evt, to, params) {\r\n if (to.redirectTo) {\r\n evt.preventDefault();\r\n $state.go(to.redirectTo, params);\r\n }\r\n });\r\n\r\n\r\n if(!APP.Client.System.Debug)\r\n {\r\n var console = {};\r\n console.log = function(){};\r\n window.console = console;\r\n }\r\n\r\n }\r\n\r\n function checklistmodel(questionRequired, checklistmodel) {\r\n var result = true;\r\n if(!_.isUndefined(checklistmodel))\r\n {\r\n if (questionRequired && checklistmodel.length === 0) {\r\n result = false;\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n}());\r\n","/* jshint -W097, -W033 */\r\n(function() {\r\n 'use strict';\r\n\r\n window.APP = null;\r\n\r\n window.bootstrap = {\r\n IsBootstraped: false,\r\n loader: document.getElementById(\"bootstrap-loading\"),\r\n $http: angular.injector([\"ng\"]).get(\"$http\"),\r\n LoadApp: LoadApp,\r\n LoadClient: LoadClient,\r\n Msg: Msg,\r\n LoadClientCss: LoadClientCss,\r\n AuthHeader: AuthHeader,\r\n LoadSettings: LoadSettings,\r\n LoadDomain: LoadDomain,\r\n ParseSettings: function() {\r\n\r\n _parseBool(APP.Client.System.Debug);\r\n _parseBool(APP.Client.System.Offline);\r\n\r\n if (APP.Domain !== null) {\r\n _parseUrl(APP.Client.Theme.Logo);\r\n _parseJson(APP.Client.Theme.ColorScheme);\r\n } else {\r\n _parseUrl(APP.Client.Company.Logo);\r\n }\r\n\r\n },\r\n };\r\n\r\n bootstrap.LoadApp();\r\n\r\n function LoadApp() {\r\n\r\n return bootstrap.$http({\r\n method: 'GET',\r\n url: '/config.json',\r\n })\r\n .then(function(response) {\r\n APP = response.data;\r\n bootstrap.LoadDomain();\r\n },\r\n function() {\r\n bootstrap.loader.innerHTML = bootstrap.Msg(\"CONFIGNOTFOUND\");\r\n });\r\n\r\n }\r\n\r\n function LoadDomain() {\r\n\r\n APP.Domain = APP.OverideDomain || window.location.hostname.split(\".\").shift();\r\n console.log(\"%c DOMAIN \", 'background: #4CAF50; color: #FFF', APP.Domain);\r\n\r\n if (APP.Domain == \"admin\" || APP.Domain == \"preprod-admin\") {\r\n APP.Domain = null;\r\n }\r\n\r\n bootstrap\r\n .LoadClient()\r\n .then(function() {\r\n if (!bootstrap.IsBootstraped) {\r\n _angular();\r\n }\r\n })\r\n\r\n }\r\n\r\n function LoadClient() {\r\n\r\n bootstrap.loader.innerHTML = bootstrap.Msg(\"LOADING\");\r\n\r\n var _headers = {};\r\n _headers.Authorization = bootstrap.AuthHeader();\r\n if (APP.Domain) _headers['X-Domain'] = APP.Domain;\r\n\r\n return bootstrap.$http({\r\n method: 'GET',\r\n url: APP.Service + '/bootstrap',\r\n headers: _headers,\r\n })\r\n .then(function(response) {\r\n\r\n if (!response.data) {\r\n bootstrap.loader.innerHTML = bootstrap.Msg(\"EMPTYCLIENT\");\r\n return;\r\n }\r\n\r\n bootstrap.LoadSettings(response.data);\r\n bootstrap.ParseSettings();\r\n\r\n // if (APP.CustomCSS && APP.Domain) {\r\n // bootstrap.LoadClientCss();\r\n // }\r\n\r\n bootstrap.loader.parentNode.removeChild(bootstrap.loader);\r\n\r\n return response;\r\n\r\n }, function(errorResponse) {\r\n\r\n if (!errorResponse.status) {\r\n bootstrap.loader.innerHTML = bootstrap.Msg(\"NORESPONSE\");\r\n } else {\r\n bootstrap.loader.innerHTML = bootstrap.Msg(\"GERROR\", errorResponse.statusText);\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n function LoadSettings(settings) {\r\n\r\n APP.Client = {};\r\n\r\n _.mapObject(settings, function(val, key) {\r\n var itm = key.split(\".\");\r\n if (!APP.Client[itm[0]]) {\r\n APP.Client[itm[0]] = {};\r\n }\r\n if (itm[1]) {\r\n APP.Client[itm[0]][itm[1]] = val;\r\n } else {\r\n APP.Client[itm[0]] = val;\r\n }\r\n });\r\n\r\n }\r\n\r\n function Msg(code, custom) {\r\n\r\n var codes = {\r\n LOADING: {\r\n title: APP.Name,\r\n description: \"Loading, please wait...\",\r\n loader: true,\r\n },\r\n GERROR: {\r\n title: \"GENERAL ERROR!\",\r\n description: \"please try again later or contact us\",\r\n devmessage: custom,\r\n refresh: true,\r\n },\r\n OFFLINE: {\r\n title: \"CURRENTLY OFFLINE\",\r\n description: custom,\r\n },\r\n NORESPONSE: {\r\n title: \"SERVICE UNAVAILABLE\",\r\n description: \"please try again later or contact us\",\r\n devmessage: \"SERVICE DOWN\",\r\n refresh: true,\r\n },\r\n EMPTYCLIENT: {\r\n title: \"SERVICE UNAVAILABLE\",\r\n description: \"client not initialized\",\r\n devmessage: \"EMPTY CONFIG\",\r\n refresh: true,\r\n },\r\n CONFIGNOTFOUND: {\r\n title: \"CONFIG NOT FOUND\",\r\n description: \"please try again later or contact us\",\r\n devmessage: \"EMPTY LOCAL CONFIG\",\r\n refresh: true,\r\n }\r\n };\r\n\r\n var _template = \"\";\r\n\r\n if (codes[code].loader) {\r\n _template += \"\";\r\n }\r\n\r\n _template += \"

\" + codes[code].title + \"

\" + \"

\" + codes[code].description + \"

\";\r\n\r\n if (codes[code].refresh) {\r\n _template += \"\";\r\n }\r\n\r\n if (codes[code].devmessage) {\r\n _template += \"
\" + codes[code].devmessage + \"
\";\r\n }\r\n\r\n return _template;\r\n }\r\n\r\n function LoadClientCss() {\r\n var link = document.createElement(\"link\");\r\n link.href = \"assets/css/clients/\" + APP.Domain + \".min.css\";\r\n link.type = \"text/css\";\r\n link.rel = \"stylesheet\";\r\n link.media = \"screen,print\";\r\n document.getElementsByTagName(\"head\")[0].appendChild(link);\r\n }\r\n\r\n function AuthHeader() {\r\n var authHeader = null;\r\n var authData = JSON.parse(localStorage.getItem(APP.Alias + '.AuthorizationData'));\r\n if (authData) {\r\n authHeader = 'Bearer ' + authData.Token;\r\n }\r\n return authHeader;\r\n }\r\n\r\n function _angular() {\r\n angular.element(document).ready(function() {\r\n angular.bootstrap(document, [\"app\"]);\r\n bootstrap.IsBootstraped = true;\r\n });\r\n }\r\n\r\n function _parseBool(variable) {\r\n variable = (variable === \"TRUE\");\r\n }\r\n\r\n function _parseUrl(variable) {\r\n variable = (variable === \"FALSE\") ? false : variable;\r\n }\r\n\r\n function _parseJson(variable) {\r\n try {\r\n variable = JSON.parse(variable);\r\n }\r\n catch(ex) {\r\n\r\n }\r\n }\r\n\r\n\r\n}());\r\n"],"sourceRoot":"/source/"}