{"version":3,"sources":["1initializers.js","attachmentmodels.js","attachmentviews.js","communicationlogmodels.js","communicationlogviews.js","dailyreportmodels.js","dailyreportviews.js","deliverymodels.js","deliveryviews.js","expensemodels.js","expenseviews.js","inspectionlogmodels.js","inspectionlogviews.js","notemodels.js","noteviews.js","settingsmodels.js","settingsviews.js","surveymodels.js","surveyviews.js","worklogmodels.js","worklogviews.js"],"names":["PJQ","collections","dailyReports","models","views","modules","routes","route","name","callback","projectId","projectWall","initProjectNavigator","parseInt","date","app","module","constants","APP","helpers","dateHelpers","tryParseDateString","window","dailyReportDate","pjqProjectWall","initProjectWallAdmin","tab","dailyReportTab","addRoutes","Attachment","files","File","extend","idAttribute","endpoint","urlHelpers","generateEndpoint","value","this","get","id","Attachments","Files","model","AttachmentManagement","BaseView","defaults","template","templating","Template","DAILYREPORTS","events","click .daily-report-attachment","beforeRender","options","isLocked","session","preferences","hasPref","preferenceTypes","DAILY_REPORT_IS_LOCKED_AFTER_SUBMIT","isAdmin","project","user","hasPermission","canEdit","isNew","afterRender","fileUploader","FileUploaderGrid","el","$","collection","attachments","canUpload","canDelete","onSuccess","_","bind","file","ajax","Request","data","put","done","fail","onScriptError","onDelete","modals","DeleteCancel","header","body","destroy","attachmentClicked","e","selectedAttachment","currentTarget","viewAttachment","attachment","view","renderPhotoViewer","CommunicationLog","BaseModel","notifyName","afterInit","parse","contact","projectContacts","ProjectContact","CommunicationLogAttachments","on","isDirty","beforeSave","set","getChangedModels","CommunicationLogAttachment","CommunicationLogs","BaseCollection","CommunicationLogManagement","click .btn-add-log","click .btn-edit-log","click .btn-delete-log","beforeFirstRender","listenTo","dataTable","refresh","dailyReport","renderData","dataTables","DataTable","isHideSearch","rowId","order","language","zeroRecords","onRowDoubleClick","row","editLog","contextMenuOptions","actions","onClick","isShown","isDanger","deleteLog","columns","title","orderable","searchable","width","render","attachmentCount","size","toString","type","result","contacts","getContactAnchor","getDateString","Date","dateFormats","TIME","communicationLogs","typeNames","buttons","addClicked","newLog","dailyReportId","time","editClicked","target","getRow","closest","log","EditCommunicationLogModal","onSave","hasChanged","add","addRow","save","notify","onClose","fetch","success","cid","remove","removeRow","deleteClicked","BaseModal","maxWidth","click .btn-save","click .btn-close","click .btn-delete","beforeModalCreated","Binder","$el","setDefaultValues","watchElements","ContactsSelectInput","context","contexts","PROJECTCONTACTS","selectedContact","isSingleChoice","isReadOnly","addButton","onChange","renderContact","inputs","Selectpicker","isIntChoices","defaultValue","isMultiple","newValue","Datepicker","isTimeOnly","datepickerOptions","defaultDate","newTime","curTime","checkTimesDifferent","previewImageDimension","sortDirection","$contactSelect","$contactName","addClass","removeClass","isUploading","removeModal","close","SaveDontSave","onDontSave","DailyReport","_typeof","parameter","weather","weatherId","WeatherDay","reportDate","parseDateString","workLogs","WorkLogs","notes","Notes","expenses","Expenses","deliveries","Deliveries","inspectionLogs","InspectionLogs","surveyItems","SurveyItems","sortBy","attachmentId","getStatusColor","color","getStatusName","exportReport","mode","isDownload","settings","isApi2","post","response","handleDownload","url","xhr","err","updateDelay","toJSON","submit","signature","status","share","subject","emails","DailyReports","startDate","endDate","DailyReportsNavigator","subTemplates","dailyReportDay","click .daily-report-prev-day","click .daily-report-next-day","click .btn-daily-report-day-off","click .btn-daily-report-work-day","click .btn-daily-report-submit","click .btn-daily-report-share","shown.bs.tab .daily-report-nav-bar","click .btn-daily-report-export-all","click .btn-daily-report-export-report","click .btn-daily-report-export-attachments","click .btn-daily-report-settings","click .btn-daily-report-export-expenses","click .btn-daily-report-export-expenses-excel","click .btn-daily-report-export-all-zip","click .btn-daily-report-remove-submit","click .btn-daily-report-export-submitted","click .btn-daily-report-export-weekly","click .btn-daily-report-log-delays","hideUnsubmit","getPref","HIDE_DAILY_REPORT_UNSUBMIT","calendar","calendars","MiniCalendar","goToDate","dateRangeChanged","range","renderCalendarStatuses","renderDay","getCurrentDateRange","rangeCollection","start","end","dates","map","textColor","renderStatusMarkers","renderSubTemplate","activeTab","$nav","find","attr","renderStatus","renderWeather","workLogManagementView","WorkLogManagement","html","length","noteManagementView","NoteManagement","DISABLE_DAILY_REPORT_EXPENSES","expenseManagementView","ExpenseManagement","deliveryManagementView","DeliveryManagement","communicationLogManagementView","inspectionLogManagementView","InspectionLogManagement","attachmentManagementView","surveyView","Survey","getCompletedItems","loader","bgColor","statusName","updateStatusMarker","exportButton","shareButton","dayOffButton","workDayButton","submitButton","logDelaysButton","removeSubmitButton","class","style","removeSubmit","YesNo","onYes","notifications","successNotify","message","error","getDateDiff","MAX_FORECAST_DAYS","conditionIconUrl","minTempDisplay","maxTempDisplay","tabChanged","adjust","previousDay","addDays","nextDay","router","navigate","URL_DATE","trigger","Loader","setDate","setDayOff","patch","statuses","DAY_OFF","setWorkDay","NOT_SUBMITTED","validateReport","isValid","validate","surveyAlert","Alert","text","isPrepend","submitReport","signatures","SignatureSubmitModal","onSubmit","exportReportOnly","DailyReportExportSettingsModal","exportAll","exportAttachments","loadingText","exportAllSubmittedZip","errorNotify","exportReportsZipByDate","reporting","GenerateReportModal","Report","unique","isRequired","from","getNewDateAddDays","to","onDownload","downloadFile","isEndpoint","exportExpensesExcel","exportExpenses","exportWeeklyReport","DailyReportWeeklyExportModal","sharingModal","sharing","SharingModal","urlChanged","viewSettings","DailyReportSettingsModal","logDelays","_this","DailyReportLogDelaysModal","exportWeek","noop","click .weekly-export","click .week-div","today","months","monthPicker","getMonth","renderWeeks","yearPicker","getValue","getFullYear","startDayPicker","getDay","getWeeks","m","y","sd","d","setYear","setMonth","month","getDate","push","getTime","setSelectedWeek","weeks","$choices","empty","each","week","ix","weekNumber","DATE","weekSelected","$target","selectedWeek","$selected","exportWeekly","weekObj","startDay","endDay","afterChange","$field","hasClass","_this2","restore","Delivery","deliveryFrom","DeliveryAttachments","DeliveryAttachment","click .add-delivery","click .edit-delivery","click .delete-delivery","editDelivery","deleteDelivery","deliveryFromName","newDelivery","trackingNumber","purchaseOrderNumber","contents","delivery","EditDeliveryModal","click .delivery-from-edit","click .delivery-save","click .delivery-close","click .delivery-delete","renderDeliveryFrom","currentDeliveryTime","Expense","newGroup","groups","Group","group","ExpenseAttachments","ExpenseAttachment","click .add-expense","click .edit-expense","click .delete-expense","editExpense","deleteExpense","formatHelpers","formatCurrency","newExpense","description","cost","expense","EditExpenseModal","groupBadge","GLOBAL","isShowCloseButton","click .expense-save","click .expense-close","click .btn-expense-edit-group","click .group-select-input-delete","click .expense-delete","renderGroup","inputHelpers","inputMaskCurrency","paymentMethodSelectPicker","noneSelectedText","hideDisabled","editGroup","SelectGroupsModal","selectorOptions","selectedGroupIds","deleteGroup","InspectionLog","InspectionLogAttachments","InspectionLogAttachment","statusNames","EditInspectionLogModal","click .btn-reject","click .btn-approve","reject","updateStatus","REJECTED","approve","APPROVED","Note","NoteAttachments","getCategoryName","restoreDefaultTheme","NoteAttachment","click .add-note","click .edit-note","click .delete-note","editNote","deleteNote","newNote","category","noteText","note","EditNoteModal","click .note-save","click .note-close","click .note-delete","Settings","templates","SurveyTemplates","notificationSettings","NotificationSettingsPerUsers","surveyTemplateId","NotificationSettingsPerUser","addUserForDay","day","setting","removeUserFromDay","getContactsForDay","templateBadge","click .btn-report-day","click .survey-template-edit","click .survey-template-delete","click .is-disable-all-notifications","click .settings-save","mouseup .input-adjust-image-size","afterModalCreated","fetchDailyReportSettings","fetchDailyReportTemplates","fetchUsers","surveyName","DAILY_REPORT_SURVEY_NAME","attachmentsName","DAILY_REPORT_ATTACHMENTS_NAME","sort","attributes","sortNumber","sortTable","paging","visible","reportTimePicker","projectStart","projectStartDatePicker","format","toUpperCase","projectEnd","projectEndDatePicker","cookie","cookies","NOTIFY_DAILY_REPORTS_PROJECT_START_END","notificationModeSelectPicker","notificationTypeChanged","notificationSettingsPerDay","WEEKDAYNAMES","index","ns","bit","emptyNotice","onAdd","notificationPerDayRefresh","val","renderTemplatePicker","checkPixelValue","show","hide","notificationModes","DISABLED","PER_USER_DAY","notPickedTemplates","filter","$picker","append","$newTemplateGroup","templatePicker","templateId","addTemplate","selectedTemplate","$selectedTemplates","SurveyTemplate","isDefault","DailyReportTemplateManagementModal","editTemplate","prop","adjustImageClicked","isChecked","removeTemplate","reportDayClicked","dayBtn","rows","i","isExportWorkLogs","isExportNotes","isExportExpenses","isExportSurvey","isExportDeliveries","isExportCommunications","isExportInspections","isExportAttachments","isExportWeather","isHideUnansweredSurveyItems","isLockReportAfterSubmit","reportTime","workDaysBit","submittedEmailList","notificationMode","isShowAttachmentUploadedBy","thumbDimenX","thumbDimenY","isKeepThumbAspectRatio","setPref","deletePref","setInputError","validators","validateEmail","finishDate","workDays","showError","item","click .btn-delete-template-question","click .btn-template-question-day","click .btn-add-template-question","click .template-delete","click .template-save","click .btn-survey-day","click .template-close","assignee","newAssignees","renderQuestions","surveyDayClicked","$questions","questions","question","renderQuestion","$question","days","reduce","total","questionDayClicked","removeQuestion","isAllowNote","isAllowYesNo","addQuestion","newQuestion","SurveyTemplateQuestion","sortOrder","$templateName","templateName","surveyDaysBit","surveyDays","prefs","SurveyTemplateUser","SurveyItem","answer","SurveyAttachments","SurveyAttachment","opts","method","toLowerCase","SurveyTemplateQuestions","users","SurveyUsers","surveyItem","itemViews","itemEl","iv","itemView","click .survey-answer>button","keyup .survey-answer-note","isValidate","renderAnswerButtonGroup","answerChanged","selectedValue","queueSave","answerNoteChanged","WorkLog","workBy","Groups","workItems","WorkLogWorkItems","WorkLogAttachments","WorkLogWorkItem","WorkLogAttachment","filters","click .btn-filter","click .btn-clear-filter","click .btn-add-work-log","click .btn-carry-work-logs-all","click .btn-carry-work-logs-last","click .btn-delete-all-work-logs","click .edit-work-log","click .delete-work-log","fnRender","ENABLE_PROJECT_LOCATIONS","fetchLocations","locations","enableLocations","locationFilterPicker","ProjectLocationPicker","filterData","renderDataTable","filterClicked","clearFilters","setValue","contains","resetData","join","location","getFullName","editWorkLog","deleteWorkLog","newWorkLog","quantity","hours","carryOverWorkLogsAll","okButtonText","onOk","carriedWorkLogs","reset","isShowCancelButton","cancelButtonText","carryOverWorkLogsLast","deleteAllWorkLogs","delete","workLog","EditWorkLogModal","workItem","click .work-log-save","click .work-log-close","keydown .work-log-quantity","click .work-log-delete","click .btn-add-work-item","click .btn-delete-work-item","enableWorkItems","ENABLE_WORK_LOG_WORK_ITEMS","workItemsLabel","WORK_LOG_WORK_ITEM_LABEL","workItemsSubText","WORK_LOG_WORK_ITEM_SUB_TEXT","calculateTotal","renderWorkBy","GroupsSelectInput","isShowAddButton","selectedGroups","onAfterSave","inputMaskDecimal","renderWorkItems","addWorkItem","workLogId","renderWorkItem","deleteWorkItem","$workItem","workItemId","_this3","delegate","modelSelectorAttribute","modelSelector","numbersOnly","overtimeHours","_this4","cb"],"mappings":"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","file":"app.js","sourcesContent":["PJQ.collections.dailyReports = {};\n\nPJQ.models.dailyReports = {};\n\nPJQ.views.dailyReports = {};\n\n//Routes\nPJQ.modules.dailyReports = {\n\troutes: [\n\t\t{\n\t\t\troute: 'projects/:projectId/dailyreports',\n\t\t\tname: 'dailyReports',\n\t\t\tcallback: function (projectId) {\n\t\t\t\tPJQ.modules.projectWall.initProjectNavigator(parseInt(projectId), \"dailyreports\");\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\troute: 'projects/:projectId/dailyreports/:date',\n\t\t\tname: 'dailyReportDate',\n\t\t\tcallback: function (projectId, date) {\n\t\t\t\tif (PJQ.app.module === PJQ.constants.modules.APP) {\n\t\t\t\t\tPJQ.modules.projectWall.initProjectNavigator(parseInt(projectId), \"dailyreports\", {\n\t\t\t\t\t\tdate: PJQ.helpers.dateHelpers.tryParseDateString(date)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse{\n\t\t\t\t\twindow.dailyReportDate = date;\n\t\t\t\t\tPJQ.modules.pjqProjectWall.initProjectWallAdmin(projectId);\n\t\t\t\t}\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\troute: 'projects/:projectId/dailyreports/:date/:tab',\n\t\t\tname: 'dailyReportDateTab',\n\t\t\tcallback: function (projectId, date, tab) {\n\t\t\t\tif (PJQ.app.module === PJQ.constants.modules.APP) {\n\t\t\t\t\tPJQ.modules.projectWall.initProjectNavigator(parseInt(projectId), \"dailyreports\", {\n\t\t\t\t\t\tdate: PJQ.helpers.dateHelpers.tryParseDateString(date),\n\t\t\t\t\t\ttab: tab\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t\telse{\n\t\t\t\t\twindow.dailyReportDate = date;\n\t\t\t\t\twindow.dailyReportTab = tab;\n\t\t\t\t\tPJQ.modules.pjqProjectWall.initProjectWallAdmin(projectId);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t]\n};\n\nPJQ.app.addRoutes(PJQ.modules.dailyReports.routes);","PJQ.models.dailyReports.Attachment = PJQ.models.files.File.extend({\n idAttribute: 'attachmentId',\n endpoint: function () {\n return PJQ.helpers.urlHelpers.generateEndpoint([\n {\n endpoint: 'dailyReports',\n value: this.get('dailyReportId')\n },\n {\n endpoint: 'attachments',\n value: this.id\n }\n ]);\n }\n});\n\nPJQ.collections.dailyReports.Attachments = PJQ.collections.files.Files.extend({\n model: PJQ.models.dailyReports.Attachment\n});","PJQ.views.dailyReports.AttachmentManagement = PJQ.views.BaseView.extend({\n\tdefaults: {\n\t\ttemplate: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'Attachment-Management')\n\t},\n\tevents: {\n\t\t'click .daily-report-attachment': 'attachmentClicked'\n\t},\n\tbeforeRender: function () {\n\t\tthis.options.isLocked = PJQ.app.session.preferences.hasPref(PJQ.constants.preferenceTypes.DAILY_REPORT_IS_LOCKED_AFTER_SUBMIT) && this.model.get('status') === 1;\n\t\tthis.options.isAdmin = this.options.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n\t\t\t&& this.options.project.hasPermission('dailyReports.isAdminAttachments');\n\t\tthis.options.canEdit = this.model.isNew() || (this.options.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n\t\t\t&& this.options.project.hasPermission('dailyReports.canAddAttachments') && !this.options.isLocked);\n\t},\n\tafterRender: function () {\n\t\tthis.fileUploader = new PJQ.views.files.FileUploaderGrid({\n\t\t\tel: this.$('.daily-report-attachment-uploader'),\n\t\t\tendpoint: this.model.endpoint() + '/attachments',\n\t\t\tcollection: this.model.attachments,\n\t\t\t// includeProjectAttachments: true,\n\t\t\tcanUpload: this.options.canEdit,\n\t\t\tcanDelete: this.options.isAdmin && this.options.canEdit,\n\t\t\tonSuccess: _.bind(function(file) {\n\t\t\t\tnew PJQ.ajax.Request({\n\t\t\t\t\tendpoint: PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tendpoint: 'dailyreports',\n\t\t\t\t\t\t\tvalue: this.model.id\n\t\t\t\t\t\t},\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tendpoint: 'attachments'\n\t\t\t\t\t\t}\n\t\t\t\t\t]),\n\t\t\t\t\tdata: file,\n\t\t\t\t}).put().done(_.bind(function (file) {\n\t\t\t\t}, this)).fail(onScriptError);\n\t\t\t}, this),\n\t\t\tonDelete: function (file, callback) {\n\t\t\t\tnew PJQ.views.modals.DeleteCancel({\n\t\t\t\t\theader: \"Confirm Deletion\",\n\t\t\t\t\tbody: \"Are you sure you want to delete this attachment?\",\n\t\t\t\t\tonDelete: _.bind(function () {\n\t\t\t\t\t\tfile.destroy();\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t}, this)\n\t\t\t\t});\n\t\t\t}\n\t\t});\n\t},\n\tattachmentClicked: function (e) {\n\t\tlet selectedAttachment = this.model.attachments.get($(e.currentTarget).data('cid'));\n\t\tthis.viewAttachment(selectedAttachment);\n\t},\n\tviewAttachment: function (attachment) {\n\t\tPJQ.app.view.renderPhotoViewer({\n\t\t\tmodel: attachment\n\t\t});\n\t}\n});\n","//Models\nPJQ.models.dailyReports.CommunicationLog = PJQ.models.BaseModel.extend({\n\tidAttribute: 'id',\n\tnotifyName: 'Communication Log',\n\tendpoint: function () {\n\t\tlet params = null;\n\t\treturn PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t{\n\t\t\t\tendpoint: 'dailyReports',\n\t\t\t\tvalue: this.get('dailyReportId')\n\t\t\t},\n\t\t\t{\n\t\t\t\tendpoint: 'communicationlogs',\n\t\t\t\tvalue: this.id\n\t\t\t}\n\t\t], params);\n\t},\n\tafterInit: function(){\n\n\t},\n\tparse: function (model) {\n\t\tif(model != null){\n\t\t\tif (model.contact) {\n\t\t\t\tthis.contact = new PJQ.models.projectContacts.ProjectContact(model.contact);\n\t\t\t}\n\t\t\telse{\n\t\t\t\tthis.contact = null;\n\t\t\t}\n\n\t\t\tthis.attachments = new PJQ.collections.dailyReports.CommunicationLogAttachments(model.attachments);\n\t\t\tthis.attachments.on('update', _.bind(function(){\n\t\t\t\tthis.isDirty = true;\n\t\t\t}, this));\n\t\t}\n\t\treturn model;\n\t},\n\tbeforeSave: function () {\n\t\tthis.set('contact', this.contact);\n\t\tthis.set('attachments', this.attachments.getChangedModels());\n\t}\n});\n\nPJQ.models.dailyReports.CommunicationLogAttachment = PJQ.models.files.File.extend({\n\tidAttribute: 'attachmentId',\n\tendpoint: function () {\n\t\treturn PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t{\n\t\t\t\tendpoint: 'communicationlogs',\n\t\t\t\tvalue: this.get('logId')\n\t\t\t},\n\t\t\t{\n\t\t\t\tendpoint: 'attachments',\n\t\t\t\tvalue: this.id\n\t\t\t}\n\t\t]);\n\t}\n});\n\n//Collections\nPJQ.collections.dailyReports.CommunicationLogs = PJQ.collections.BaseCollection.extend({\n\tmodel: PJQ.models.dailyReports.CommunicationLog\n});\n\nPJQ.collections.dailyReports.CommunicationLogAttachments = PJQ.collections.dailyReports.Attachments.extend({\n\tmodel: PJQ.models.dailyReports.CommunicationLogAttachment\n});","PJQ.views.dailyReports.CommunicationLogManagement = PJQ.views.BaseView.extend({\n defaults: {\n template: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'communication-log-management')\n },\n events: {\n 'click .btn-add-log': 'addClicked',\n 'click .btn-edit-log': 'editClicked',\n 'click .btn-delete-log': 'deleteClicked'\n },\n beforeFirstRender: function () {\n this.options.isAdmin = PJQ.app.session.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n && this.options.project.hasPermission('dailyReports.isAdminCommunicationLogs');\n\n this.listenTo(this.collection, 'sync', _.bind(function () {\n this.dataTable.refresh();\n }, this));\n },\n beforeRender: function () {\n this.options.isLocked = PJQ.app.session.preferences.hasPref(PJQ.constants.preferenceTypes.DAILY_REPORT_IS_LOCKED_AFTER_SUBMIT) && this.options.dailyReport.get('status') === 1;\n this.options.canEdit = this.options.project.hasPermission('dailyReports.canAddCommunicationLogs') && !this.options.isLocked;\n },\n renderData: function () {\n return {\n project: this.options.project,\n canEdit: this.options.canEdit\n };\n },\n afterRender: function () {\n this.dataTable = new PJQ.views.dataTables.DataTable({\n el: '.comm-logs-data-table-container',\n data: this.collection.models,\n isHideSearch: true,\n rowId: \"cid\",\n order: [1, 'asc'],\n language: {\n zeroRecords: this.options.canEdit ? 'Click \"Add Log\" to create a new communication log' : 'No communication logs were added for this day'\n },\n onRowDoubleClick: _.bind(function (row) {\n this.editLog(row.data());\n }, this),\n contextMenuOptions: {\n actions: [\n {\n name: 'Edit',\n onClick: _.bind(function (row) {\n this.editLog(row.data());\n }, this),\n isShown: _.bind(function () {\n return this.options.canEdit;\n }, this)\n },\n {\n name: 'View',\n onClick: _.bind(function (row) {\n this.editLog(row.data());\n }, this),\n isShown: _.bind(function () {\n return !this.options.canEdit;\n }, this)\n },\n {\n name: 'Delete',\n isDanger: true,\n isShown: _.bind(function () {\n return this.options.isAdmin && this.options.canEdit;\n }, this),\n onClick: _.bind(function (row) {\n this.deleteLog(row);\n }, this)\n }\n ]\n },\n columns: [\n {\n \"data\": \"attachments\",\n \"title\": \"\",\n \"orderable\": false,\n \"searchable\": false,\n \"width\": \"40px\",\n \"render\": function (data) {\n let attachmentCount = _.size(data.models);\n return '
0 ? 'text-success' : 'text-muted') + '\"> 0 ? 'text-dark' : 'text-muted') + '\">' + attachmentCount.toString() + '
';\n }\n },\n {\n \"data\": \"\",\n \"title\": \"Contact\",\n \"searchable\": false,\n \"width\": \"20%\",\n \"render\": function (data, type, row) {\n let result = 'Not set';\n if (row.contact != null) {\n result = PJQ.helpers.contacts.getContactAnchor({\n id: row.contact.id,\n name: row.contact.get('companyName')\n });\n } else {\n let name = row.get('name');\n if (_.size(name) > 0) {\n result = name;\n }\n }\n return result;\n }\n },\n {\n \"data\": \"attributes.time\",\n \"title\": \"Time\",\n \"searchable\": false,\n \"width\": \"80px\",\n \"render\": function (data) {\n if (data != null) {\n return PJQ.helpers.dateHelpers.getDateString(new Date(data), PJQ.helpers.dateHelpers.dateFormats.TIME);\n }\n return 'Not Set';\n }\n },\n {\n \"data\": \"attributes.type\",\n \"title\": \"Type\",\n \"width\": \"15%\",\n \"render\": function (data) {\n if (data != null) {\n return PJQ.constants.dailyReports.communicationLogs.typeNames[data];\n }\n return \"\";\n }\n },\n {\n \"data\": \"attributes.requiresFollowup\",\n \"title\": \"Requires Follow-up\",\n \"width\": \"15%\",\n \"render\": function (data) {\n return data ? 'Yes' : 'No';\n }\n },\n {\n \"data\": \"\",\n \"title\": \"\",\n \"orderable\": false,\n \"searchable\": false,\n \"width\": \"80px\",\n \"render\": _.bind(function () {\n let buttons;\n if (this.options.canEdit) {\n buttons = '';\n } else {\n buttons = '';\n }\n if (this.options.isAdmin && this.options.canEdit) {\n buttons += '';\n }\n return '
' + buttons + '
';\n }, this)\n }\n ]\n });\n },\n addClicked: function () {\n let newLog = new PJQ.models.dailyReports.CommunicationLog({\n dailyReportId: this.options.dailyReport.id,\n time: new Date()\n });\n this.editLog(newLog);\n },\n editClicked: function (e) {\n let target = $(e.currentTarget),\n row = this.dataTable.getRow(target.closest('tr'));\n this.editLog(row.data());\n },\n editLog: function (log) {\n new PJQ.views.dailyReports.EditCommunicationLogModal({\n model: log,\n project: this.options.project,\n isLocked: this.options.isLocked,\n onSave: _.bind(function (log) {\n if (log.hasChanged() || log.isNew()) {\n if (log.isNew()) {\n this.collection.add(log);\n this.dataTable.addRow(log);\n }\n log.save(null, {\n notify: true\n });\n this.dataTable.refresh();\n }\n }, this),\n onClose: _.bind(function (log) {\n if (log.hasChanged()) {\n log.fetch({\n success: _.bind(function () {\n this.dataTable.refresh();\n }, this)\n });\n }\n }, this),\n onDelete: _.bind(function (log) {\n if (log.id > 0) {\n let row = this.dataTable.getRow(log.cid);\n this.collection.remove(log);\n log.destroy();\n if (row != null) {\n this.dataTable.removeRow(row);\n }\n }\n }, this)\n });\n },\n deleteClicked: function (e) {\n let target = $(e.currentTarget),\n row = this.dataTable.getRow(target.closest('tr'));\n this.deleteLog(row);\n },\n deleteLog: function (row) {\n let log = row.data();\n new PJQ.views.modals.DeleteCancel({\n header: \"Confirm Deletion\",\n body: \"Are you sure you want to delete this communication log?\",\n onDelete: _.bind(function () {\n this.collection.remove(log);\n log.destroy();\n this.dataTable.removeRow(row);\n }, this)\n });\n }\n});\n\nPJQ.views.dailyReports.EditCommunicationLogModal = PJQ.views.BaseModal.extend({\n defaults: {\n template: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'modal-edit-communication-log'),\n maxWidth: 800\n },\n events: {\n 'click .btn-save': 'onSave',\n 'click .btn-close': 'close',\n 'click .btn-delete': 'onDelete'\n },\n beforeModalCreated: function () {\n this.options.isAdmin = this.options.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n && this.options.project.hasPermission('dailyReports.isAdminCommunicationLogs');\n this.options.canEdit = this.model.isNew() || (this.options.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n && this.options.project.hasPermission('dailyReports.canAddCommunicationLogs') && !this.options.isLocked);\n },\n renderData: function () {\n return {\n model: this.model,\n isAdmin: this.options.isAdmin,\n canEdit: this.options.canEdit\n };\n },\n afterRender: function () {\n if (this.options.canEdit) {\n new PJQ.Binder(this.$el, this.model, {\n setDefaultValues: true,\n watchElements: [\n 'input',\n 'textarea'\n ]\n });\n\n new PJQ.views.contacts.ContactsSelectInput({\n el: this.$('.log-contact'),\n context: PJQ.constants.contacts.contexts.PROJECTCONTACTS,\n selectedContact: this.model.contact,\n isSingleChoice: true,\n isReadOnly: !this.options.canEdit,\n addButton: this.$('.btn-edit-contact'),\n onChange: _.bind(function (selectedContact) {\n this.model.contact = selectedContact;\n this.model.set('name', '');\n this.model.isDirty = true;\n this.renderContact();\n }, this)\n });\n\n new PJQ.inputs.Selectpicker({\n el: this.$('.log-type'),\n isIntChoices: true,\n defaultValue: this.model.get('type'),\n isMultiple: false,\n canEdit: this.options.canEdit,\n onChange: _.bind(function (newValue) {\n this.model.set(\"type\", newValue);\n }, this)\n });\n }\n this.renderContact();\n\n new PJQ.inputs.Datepicker({\n el: this.$('.log-time'),\n isTimeOnly: true,\n datepickerOptions: {\n defaultDate: this.model.get('time')\n },\n onChange: _.bind(function (newTime) {\n let curTime = this.model.get('time');\n if (curTime == null || PJQ.helpers.dateHelpers.checkTimesDifferent(newTime, new Date(curTime))) {\n this.model.set('time', newTime);\n }\n }, this)\n });\n\n this.fileUploader = new PJQ.views.files.FileUploaderGrid({\n el: this.$('.log-file-upload'),\n collection: this.model.attachments,\n canUpload: this.options.canEdit,\n // includeProjectAttachments: true,\n canDelete: this.options.isAdmin && this.options.canEdit,\n previewImageDimension: 150,\n sortDirection: 'asc',\n onDelete: _.bind(function (attachment, callback) {\n if (attachment.id > 0) {\n attachment.set('isDeleted', true);\n } else {\n attachment.destroy();\n }\n this.model.isDirty = true;\n callback();\n }, this)\n });\n },\n renderContact: function () {\n let $contactSelect = this.$('.log-contact'),\n $contactName = this.$('.log-name');\n if (this.model.contact != null) {\n $contactName.addClass('hidden');\n $contactSelect.removeClass('hidden');\n } else {\n $contactSelect.addClass('hidden');\n $contactName.removeClass('hidden');\n }\n },\n onSave: function () {\n if (this.fileUploader.isUploading()) {\n new PJQ.views.BaseModal({\n header: \"Files Uploading\",\n body: \"You can't save while files are uploading\"\n });\n } else {\n if (this.options.onSave) {\n this.options.onSave(this.model);\n this.removeModal();\n }\n }\n },\n close: function () {\n if (this.options.canEdit && this.model.hasChanged()) {\n new PJQ.views.modals.SaveDontSave({\n header: \"Unsaved Changes\",\n body: \"Do you want to save changes?\",\n onSave: _.bind(function () {\n this.onSave();\n }, this),\n onDontSave: _.bind(function () {\n this.onClose(this.model);\n this.removeModal();\n }, this)\n });\n } else {\n this.onClose(this.model);\n this.removeModal();\n }\n },\n onDelete: function () {\n new PJQ.views.modals.DeleteCancel({\n header: \"Confirm Deletion\",\n body: \"Are you sure you want to delete this communication log?\",\n onDelete: _.bind(function () {\n if (this.options.onDelete) {\n this.options.onDelete(this.model);\n }\n this.removeModal();\n }, this)\n });\n }\n});\n","//Models\nPJQ.models.dailyReports.DailyReport = PJQ.models.BaseModel.extend({\n\tidAttribute: 'dailyReportId',\n\tendpoint: function () {\n\t\tif (this.get('dailyReportId')) {\n\t\t\treturn PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t\t{\n\t\t\t\t\tendpoint: 'dailyReports',\n\t\t\t\t\tvalue: this.get('dailyReportId')\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t\telse {\n\t\t\tif (typeof this.get('reportDate') == null) {\n\t\t\t\tthis.set('reportDate', new Date());\n\t\t\t}\n\t\t\treturn PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t\t{\n\t\t\t\t\tendpoint: 'projects',\n\t\t\t\t\tvalue: this.get('projectId')\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tendpoint: 'dailyReports'\n\t\t\t\t}\n\t\t\t], [\n\t\t\t\t{\n\t\t\t\t\tparameter: 'reportDate',\n\t\t\t\t\tvalue: PJQ.helpers.dateHelpers.getDateString(this.get('reportDate'), 'yyyy-MM-dd')\n\t\t\t\t}\n\t\t\t]);\n\t\t}\n\t},\n\tparse: function (model) {\n\t\tmodel = model ? model : {};\n\n\t\tif (model.weather != null && model.weather.weatherId > 0) {\n\t\t\tthis.weather = new PJQ.models.weather.WeatherDay(model.weather);\n\t\t}\n\n\t\tif (typeof model.reportDate === 'string') {\n\t\t\tmodel.reportDate = PJQ.helpers.dateHelpers.parseDateString(model.reportDate, false);\n\t\t}\n\t\tthis.workLogs = new PJQ.collections.dailyReports.WorkLogs(model.workLogs);\n\t\tthis.notes = new PJQ.collections.dailyReports.Notes(model.notes);\n\t\tthis.expenses = new PJQ.collections.dailyReports.Expenses(model.expenses);\n\t\tthis.deliveries = new PJQ.collections.dailyReports.Deliveries(model.deliveries);\n\t\tthis.communicationLogs = new PJQ.collections.dailyReports.CommunicationLogs(model.communicationLogs);\n\t\tthis.inspectionLogs = new PJQ.collections.dailyReports.InspectionLogs(model.inspectionLogs);\n\t\tthis.surveyItems = new PJQ.collections.dailyReports.SurveyItems(model.surveyItems);\n\t\tthis.attachments = new PJQ.collections.dailyReports.Attachments(_.sortBy(model.attachments, function (attachment) {\n\t\t\treturn -attachment.attachmentId;\n\t\t}));\n\n\t\treturn model;\n\t},\n\tgetStatusColor: function () {\n\t\tlet color = '#9E9E9E';\n\t\tswitch (this.get('status')) {\n\t\t\tcase 0:\n\t\t\t\tcolor = '#9E9E9E';\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tcolor = '#4CAF50';\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tcolor = '#2196F3';\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tcolor = \"#bd2130\";\n\t\t\t\tbreak;\n\t\t}\n\t\treturn color;\n\t},\n\tgetStatusName: function () {\n\t\tlet name;\n\t\tswitch (this.get('status')) {\n\t\t\tcase 0:\n\t\t\t\tname = 'Not Submitted';\n\t\t\t\tbreak;\n\t\t\tcase 1:\n\t\t\t\tname = 'Submitted';\n\t\t\t\tbreak;\n\t\t\tcase 2:\n\t\t\t\tname = 'Day Off';\n\t\t\t\tbreak;\n\t\t\tcase 3:\n\t\t\t\tname = \"Missed\";\n\t\t\t\tbreak;\n\t\t}\n\t\treturn name;\n\t},\n\texportReport: function (mode, isDownload, settings, callback) {\n\t\tnew PJQ.ajax.Request({\n\t\t\tendpoint: this.endpoint() + '/export/link' + (_.size(mode) > 0 ? ('?mode=' + mode) : ''),\n\t\t\tdata: settings,\n\t\t\tisApi2: true\n\t\t}).post().done(_.bind(function (response) {\n\t\t\tif (isDownload) {\n\t\t\t\tPJQ.files.handleDownload(response);\n\t\t\t}\n\t\t\tcallback(response.url);\n\t\t}, this)).fail(_.bind(function (xhr, err, result) {\n\t\t\t//todo: error\n\t\t}, this));\n\t},\n\tupdateDelay: function (callback) {\n\t\tnew PJQ.ajax.Request({\n\t\t\tendpoint: this.endpoint() + '/delay',\n\t\t\tisApi2: true,\n\t\t\tdata: this.toJSON()\n\t\t}).put().done(_.bind(function (response) {\n\t\t\tcallback(response);\n\t\t}, this)).fail(_.bind(function (xhr, err, result) {\n\t\t\t//todo: error\n\t\t}, this));\n\t},\n\tsubmit: function (signature, callback) {\n\t\tnew PJQ.ajax.Request({\n\t\t\tendpoint: this.endpoint() + '/submit',\n\t\t\tisApi2: true,\n\t\t\tdata: {\n\t\t\t\tsignature: signature\n\t\t\t}\n\t\t}).put().done(_.bind(function (response) {\n\t\t\tthis.set('status', response.status);\n\t\t\tcallback(response);\n\t\t}, this)).fail(_.bind(function (xhr, err, result) {\n\t\t\t//todo: error\n\t\t}, this));\n\t},\n\tshare: function (data, callback) {\n\t\tnew PJQ.ajax.Request({\n\t\t\tendpoint: this.endpoint() + '/share',\n\t\t\tdata: {\n\t\t\t\tsubject: data != null ? data.subject : null,\n\t\t\t\temails: data != null ? data.emails : null,\n\t\t\t}\n\t\t}).post().done(_.bind(function (response) {\n\t\t\tcallback(response.url);\n\t\t}, this)).fail(_.bind(function (xhr, err, result) {\n\t\t\t//todo: error\n\t\t}, this));\n\t}\n});\n\n//Collections\nPJQ.collections.dailyReports.DailyReports = PJQ.collections.BaseCollection.extend({\n\tmodel: PJQ.models.dailyReports.DailyReport,\n\tendpoint: function () {\n\t\treturn PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t{\n\t\t\t\tendpoint: 'projects',\n\t\t\t\tvalue: this.options.project.id\n\t\t\t},\n\t\t\t{\n\t\t\t\tendpoint: 'dailyReports'\n\t\t\t}\n\t\t], [\n\t\t\t{\n\t\t\t\tparameter: 'startDate',\n\t\t\t\tvalue: PJQ.helpers.dateHelpers.getDateString(this.options.startDate, 'yyyy-MM-dd')\n\t\t\t},\n\t\t\t{\n\t\t\t\tparameter: 'endDate',\n\t\t\t\tvalue: PJQ.helpers.dateHelpers.getDateString(this.options.endDate, 'yyyy-MM-dd')\n\t\t\t}\n\t\t]);\n\t}\n});","PJQ.views.dailyReports.DailyReportsNavigator = PJQ.views.BaseView.extend({\n defaults: {\n template: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'Daily-Reports-Navigator'),\n subTemplates: {\n dailyReportDay: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'Daily-Report-Day')\n }\n },\n events: {\n 'click .daily-report-prev-day': 'previousDay',\n 'click .daily-report-next-day': 'nextDay',\n 'click .btn-daily-report-day-off': 'setDayOff',\n 'click .btn-daily-report-work-day': 'setWorkDay',\n 'click .btn-daily-report-submit': 'submitReport',\n 'click .btn-daily-report-share': 'share',\n 'shown.bs.tab .daily-report-nav-bar': 'tabChanged',\n 'click .btn-daily-report-export-all': 'exportAll',\n 'click .btn-daily-report-export-report': 'exportReportOnly',\n 'click .btn-daily-report-export-attachments': 'exportAttachments',\n 'click .btn-daily-report-settings': 'viewSettings',\n 'click .btn-daily-report-export-expenses': 'exportExpenses',\n 'click .btn-daily-report-export-expenses-excel': 'exportExpensesExcel',\n 'click .btn-daily-report-export-all-zip': 'exportAll',\n 'click .btn-daily-report-remove-submit': 'removeSubmit',\n 'click .btn-daily-report-export-submitted': 'exportAllSubmittedZip',\n 'click .btn-daily-report-export-weekly': 'exportWeeklyReport',\n 'click .btn-daily-report-log-delays': 'logDelays'\n },\n beforeFirstRender: function () {\n this.hideUnsubmit = PJQ.app.session.project.preferences.getPref(PJQ.constants.preferenceTypes.HIDE_DAILY_REPORT_UNSUBMIT);\n if (this.options.date == null) {\n this.options.date = new Date();\n }\n\n if (this.model == null) {\n this.model = new PJQ.models.dailyReports.DailyReport({\n reportDate: this.options.date,\n projectId: this.options.project.id\n });\n }\n this.model.fetch();\n },\n beforeRender: function () {\n this.renderData = {\n model: this.model,\n project: this.options.project,\n hideUnsubmit: this.hideUnsubmit\n };\n },\n afterRender: function () {\n this.calendar = new PJQ.views.calendars.MiniCalendar({\n el: this.$('.daily-report-mini-calendar'),\n datepickerOptions: {\n defaultDate: this.options.date\n },\n onChange: _.bind(this.goToDate, this),\n dateRangeChanged: _.bind(function (range) {\n this.renderCalendarStatuses(range);\n }, this)\n });\n\n if (this.model.id > 0) {\n this.renderDay();\n } else {\n this.listenTo(this.model, 'sync', this.renderDay);\n }\n },\n renderCalendarStatuses: function (range) {\n if (range == null) {\n if (this.calendar == null) {\n return;\n }\n range = this.calendar.getCurrentDateRange();\n }\n\n let rangeCollection = new PJQ.collections.dailyReports.DailyReports(null, {\n project: this.options.project,\n startDate: range.start,\n endDate: range.end\n });\n rangeCollection.fetch({\n success: _.bind(function () {\n let dates = _.map(rangeCollection.models, function (model) {\n return {\n date: model.get('reportDate'),\n color: model.get('status') === 0 ? null : model.getStatusColor(),\n textColor: model.get('wasDelayed') ? '#de5a73' : null\n };\n });\n this.calendar.renderStatusMarkers(dates);\n }, this)\n });\n },\n renderDay: function () {\n this.renderSubTemplate(false, this.options.subTemplates.dailyReportDay, this.$('.daily-report-content'), {\n model: this.model,\n project: this.options.project,\n activeTab: this.options.tab\n });\n\n let $nav = this.$('.daily-report-nav-bar');\n if (_.size(this.activeTab) > 0) {\n $nav.find('.nav-item>.nav-link[href=\"' + this.activeTab + '\"]').tab('show');\n } else {\n this.activeTab = $nav.find('.nav-item>.nav-link.active').attr('href');\n }\n\n this.renderStatus();\n\n this.renderWeather();\n\n if (this.options.project.hasPermission('dailyReports.canViewWorkLogs')) {\n if (this.workLogManagementView != null) {\n this.workLogManagementView.remove();\n }\n this.workLogManagementView = new PJQ.views.dailyReports.WorkLogManagement({\n el: this.$('#workLogsContainer'),\n collection: this.model.workLogs,\n project: this.options.project,\n dailyReport: this.model\n });\n this.model.workLogs.on('update', _.bind(function () {\n this.$('.badge-work-logs').html(this.model.workLogs.length);\n }, this));\n }\n\n if (this.options.project.hasPermission('dailyReports.canViewNotes')) {\n if (this.noteManagementView != null) {\n this.noteManagementView.remove();\n }\n this.noteManagementView = new PJQ.views.dailyReports.NoteManagement({\n el: this.$('#notesContainer'),\n collection: this.model.notes,\n project: this.options.project,\n dailyReport: this.model\n });\n this.model.notes.on('update', _.bind(function () {\n this.$('.badge-notes').html(this.model.notes.length);\n }, this));\n }\n if (this.options.project.hasPermission('dailyReports.canViewExpenses') && !this.options.project.preferences.hasPref(PJQ.constants.preferenceTypes.DISABLE_DAILY_REPORT_EXPENSES)) {\n if (this.expenseManagementView != null) {\n this.expenseManagementView.remove();\n }\n this.expenseManagementView = new PJQ.views.dailyReports.ExpenseManagement({\n el: this.$('#expensesContainer'),\n collection: this.model.expenses,\n project: this.options.project,\n dailyReport: this.model\n });\n this.model.expenses.on('update', _.bind(function () {\n this.$('.badge-expenses').html(this.model.expenses.length);\n }, this));\n }\n\n if (this.options.project.hasPermission('dailyReports.canViewDeliveries')) {\n if (this.deliveryManagementView != null) {\n this.deliveryManagementView.remove();\n }\n this.deliveryManagementView = new PJQ.views.dailyReports.DeliveryManagement({\n el: this.$('#deliveryContainer'),\n collection: this.model.deliveries,\n project: this.options.project,\n dailyReport: this.model\n });\n this.model.deliveries.on('update', _.bind(function () {\n this.$('.badge-deliveries').html(this.model.deliveries.length);\n }, this));\n }\n\n if (this.options.project.hasPermission('dailyReports.canViewCommunicationLogs')) {\n if (this.communicationLogManagementView != null) {\n this.communicationLogManagementView.remove();\n }\n this.communicationLogManagementView = new PJQ.views.dailyReports.CommunicationLogManagement({\n el: this.$('#communicationLogContainer'),\n collection: this.model.communicationLogs,\n project: this.options.project,\n dailyReport: this.model\n });\n this.model.communicationLogs.on('update', _.bind(function () {\n this.$('.badge-communication-logs').html(this.model.communicationLogs.length);\n }, this));\n }\n\n if (this.options.project.hasPermission('dailyReports.canViewInspectionLogs')) {\n if (this.inspectionLogManagementView != null) {\n this.inspectionLogManagementView.remove();\n }\n this.inspectionLogManagementView = new PJQ.views.dailyReports.InspectionLogManagement({\n el: this.$('#inspectionLogContainer'),\n collection: this.model.inspectionLogs,\n project: this.options.project,\n dailyReport: this.model\n });\n this.model.inspectionLogs.on('update', _.bind(function () {\n this.$('.badge-inspection-logs').html(this.model.inspectionLogs.length);\n }, this));\n }\n\n if (this.options.project.hasPermission('dailyReports.canViewAttachments')) {\n if (this.attachmentManagementView != null) {\n this.attachmentManagementView.remove();\n }\n this.attachmentManagementView = new PJQ.views.dailyReports.AttachmentManagement({\n el: this.$('#attachmentsContainer'),\n project: this.options.project,\n model: this.model\n });\n this.model.attachments.on('update', _.bind(function () {\n this.$('.badge-attachments').html(this.model.attachments.length);\n }, this));\n }\n\n if (this.options.project.hasPermission('dailyReports.canViewSurvey')) {\n if (this.surveyView != null) {\n this.surveyView.remove();\n }\n this.surveyView = new PJQ.views.dailyReports.Survey({\n el: this.$('#surveyContainer'),\n project: this.options.project,\n model: this.model\n });\n this.model.surveyItems.on('change', _.bind(function () {\n this.$('.badge-survey').html(_.size(this.model.surveyItems.getCompletedItems()));\n }, this));\n }\n\n if (this.loader != null) {\n this.loader.remove();\n this.loader = null;\n }\n },\n renderStatus: function () {\n let bgColor = '#9E9E9E',\n statusName = \"Loading...\";\n if (this.model != null && this.model.id > 0) {\n if (this.model.get('status') !== 0) {\n this.calendar.updateStatusMarker({\n date: this.model.get('reportDate'),\n color: this.model.getStatusColor(),\n textColor: this.model.get('wasDelayed') ? '#de5a73' : null\n });\n }\n\n let exportButton = this.$('.btn-daily-report-export-outer'),\n shareButton = this.$('.btn-daily-report-share-outer'),\n dayOffButton = this.$('.btn-daily-report-day-off-outer'),\n workDayButton = this.$('.btn-daily-report-work-day-outer'),\n submitButton = this.$('.btn-daily-report-submit-outer'),\n logDelaysButton = this.$('.btn-daily-report-log-delays-outer'),\n removeSubmitButton = this.$('.btn-daily-report-remove-submit-outer');\n if (this.model.get('status') === 1) {\n exportButton.add(shareButton).removeClass('hidden');\n if(!this.hideUnsubmit) {\n removeSubmitButton.add().removeClass('hidden');\n }\n submitButton.add(dayOffButton).addClass('hidden');\n logDelaysButton.addClass('hidden');\n } else {\n exportButton.removeClass('hidden');\n shareButton.addClass('hidden');\n logDelaysButton.removeClass('hidden');\n if(!this.hideUnsubmit) {\n removeSubmitButton.add().addClass('hidden');\n }\n submitButton.removeClass('hidden');\n if (this.model.get('status') === 2) {\n dayOffButton.addClass('hidden');\n workDayButton.removeClass('hidden');\n } else {\n workDayButton.addClass('hidden');\n dayOffButton.removeClass('hidden');\n }\n }\n this.$('.daily-report-buttons').removeClass('invisible');\n\n bgColor = this.model.getStatusColor();\n statusName = this.model.getStatusName();\n }\n this.$('.daily-report-status').html($('
', {\n class: 'text-light text-align-center fs-16 font-weight-light',\n style: 'background-color:' + bgColor\n }).html(statusName));\n },\n removeSubmit: function () {\n new PJQ.views.modals.YesNo({\n header: \"Remove Submission?\",\n body: \"Are you sure you would like to remove submission?\",\n onYes: _.bind(function () {\n if (this.model.get('status') === 1) {\n this.model.set('status', 0);\n }\n this.model.save(null, {\n success: _.bind(function () {\n this.render();\n PJQ.notifications.notify.successNotify({\n message: 'Successfully Removed Submission!'\n });\n }, this)\n })\n }, this)\n });\n },\n renderWeather: function () {\n if (this.model == null || this.model.isNew()) {\n this.$('.weather, .weather-error').addClass('hidden');\n } else {\n let weather = this.model.weather;\n if (weather != null && !weather.isNew()) {\n this.$('.weather-condition-icon').attr('src', weather.conditionIconUrl());\n this.$('.weather-min-temp').html(weather.minTempDisplay());\n this.$('.weather-max-temp').html(weather.maxTempDisplay());\n this.$('.weather-condition').html(weather.get('condition'));\n this.$('.weather').removeClass('hidden');\n this.$('.weather-error').addClass('hidden');\n } else {\n this.$('.weather').addClass('hidden');\n let error = null;\n if (PJQ.helpers.dateHelpers.getDateDiff(this.model.get('reportDate'), new Date(), 'days') + 1 >= PJQ.constants.weather.MAX_FORECAST_DAYS) {\n error = $(\"
\", {\n class: \"m-3\"\n }).html(\"Weather forecast is limited to 14 days\");\n } else {\n error = $(\"
\", {\n class: \"m-1\"\n }).html(\"Unable to get weather information. Make sure the project zip code is valid!\");\n }\n this.$('.weather-error').html(error);\n this.$('.weather-error').removeClass('hidden');\n }\n }\n },\n tabChanged: function (e) {\n this.activeTab = $(e.target).attr('href');\n switch (this.activeTab) {\n case '#workLogsContainer':\n if (this.workLogManagementView != null && this.workLogManagementView.dataTable != null) {\n this.workLogManagementView.dataTable.adjust();\n }\n break;\n case '#notesContainer':\n if (this.noteManagementView != null && this.noteManagementView.dataTable != null) {\n this.noteManagementView.dataTable.adjust();\n }\n break;\n case '#expensesContainer':\n if (this.expenseManagementView != null && this.expenseManagementView.dataTable != null) {\n this.expenseManagementView.dataTable.adjust();\n }\n break;\n case '#deliveryContainer':\n if (this.deliveryManagementView != null && this.deliveryManagementView.dataTable != null) {\n this.deliveryManagementView.dataTable.adjust();\n }\n break;\n }\n },\n previousDay: function () {\n this.goToDate(this.model.get('reportDate').addDays(-1));\n },\n nextDay: function () {\n this.goToDate(this.model.get('reportDate').addDays(1));\n },\n goToDate: function (date) {\n this.options.date = date;\n\n //Keep route up to date\n PJQ.app.router.navigate('projects/' + PJQ.app.session.project.id + '/dailyreports/' + PJQ.helpers.dateHelpers.getDateString(this.options.date, PJQ.helpers.dateHelpers.dateFormats.URL_DATE), {\n trigger: false\n });\n\n this.loader = new PJQ.Loader(this.$('.daily-report-container'));\n this.model = null;\n this.renderWeather();\n this.renderStatus();\n this.$('.daily-report-buttons').addClass('invisible');\n this.$('.daily-report-date').html(PJQ.helpers.dateHelpers.getDateString(date, 'MM/dd/yyyy'));\n this.calendar.setDate(date);\n\n this.model = new PJQ.models.dailyReports.DailyReport({\n reportDate: date,\n projectId: this.options.project.id\n });\n this.listenTo(this.model, 'sync', this.renderDay);\n this.model.fetch();\n },\n setDayOff: function () {\n this.model.patch({\n status: PJQ.constants.dailyReports.statuses.DAY_OFF\n }, {\n success: _.bind(function () {\n this.renderStatus();\n }, this)\n });\n },\n setWorkDay: function () {\n this.model.patch({\n status: PJQ.constants.dailyReports.statuses.NOT_SUBMITTED\n }, {\n success: _.bind(function () {\n this.renderStatus();\n }, this)\n });\n },\n validateReport: function () {\n let isValid = this.surveyView.validate();\n if (this.surveyAlert != null) {\n this.surveyAlert.destroy();\n }\n if (!isValid) {\n this.$('.survey-tab').tab('show');\n this.surveyAlert = new PJQ.Alert(this.$('.daily-report-survey'), {\n type: 'danger',\n text: 'Required survey items are not complete',\n isPrepend: true\n });\n }\n return isValid;\n },\n submitReport: function () {\n if (this.validateReport()) {\n new PJQ.views.signatures.SignatureSubmitModal({\n onSubmit: _.bind(function (signature, callback) {\n this.model.submit(signature, _.bind(function () {\n this.renderStatus();\n this.render();\n callback();\n }, this));\n }, this)\n });\n }\n },\n exportReportOnly: function () {\n new PJQ.views.dailyReports.DailyReportExportSettingsModal({\n dailyReport: this.model,\n onSave: _.bind(function (model) {\n this.exportReport(null, model)\n }, this)\n });\n },\n exportAll: function () {\n new PJQ.views.dailyReports.DailyReportExportSettingsModal({\n dailyReport: this.model,\n onSave: _.bind(function (model) {\n this.exportReport('all', model)\n }, this)\n });\n },\n exportAttachments: function () {\n new PJQ.views.dailyReports.DailyReportExportSettingsModal({\n dailyReport: this.model,\n onSave: _.bind(function (model) {\n this.exportReport('attachments', model)\n }, this)\n });\n },\n exportReport: function (mode, settings) {\n let loader = new PJQ.Loader(this.$('.btn-daily-report-export'), {\n loadingText: \"Exporting...\"\n });\n this.model.exportReport(mode, true, settings, function () {\n loader.remove();\n });\n },\n exportAllSubmittedZip: function () {\n let loader = new PJQ.Loader(this.$('.btn-reports'), {\n loadingText: \"Exporting...\"\n });\n new PJQ.ajax.Request({\n endpoint: this.options.project.endpoint(false) + '/dailyreports/export/submitted',\n isApi2: true\n }).post().done(_.bind(function (response) {\n PJQ.files.handleDownload(response);\n loader.remove();\n }, this)).fail(_.bind(function (xhr, err, result) {\n PJQ.notifications.notify.errorNotify({\n message: 'An error has occurred.'\n });\n loader.remove();\n }, this));\n },\n exportReportsZipByDate: function () {\n new PJQ.views.reporting.GenerateReportModal({\n model: new PJQ.models.reporting.Report({\n id: 'reports',\n name: 'Reports',\n options: [\n {\n id: _.unique(),\n type: 'DATE_RANGE',\n name: 'Dates',\n isRequired: true,\n defaultValue: {\n from: PJQ.helpers.dateHelpers.getNewDateAddDays(new Date(), -7),\n to: new Date()\n },\n value: {\n from: PJQ.helpers.dateHelpers.getNewDateAddDays(new Date(), -7),\n to: new Date()\n }\n }\n ]\n }),\n onDownload: _.bind(function (options, callback) {\n new PJQ.ajax.Request({\n endpoint: this.options.project.endpoint(false) + '/dailyreports/export/date',\n data: {\n options: options,\n isApi2: true\n }\n }).post().done(_.bind(function (response) {\n PJQ.files.downloadFile(response.url, {\n isEndpoint: false\n });\n callback();\n }, this)).fail(_.bind(function (xhr, err, result) {\n callback();\n }, this));\n }, this)\n });\n },\n exportExpensesExcel: function () {\n new PJQ.views.reporting.GenerateReportModal({\n model: new PJQ.models.reporting.Report({\n id: 'expenses',\n name: 'Expenses',\n options: [\n {\n id: _.unique(),\n type: 'DATE_RANGE',\n name: 'Dates',\n isRequired: true,\n defaultValue: {\n from: PJQ.helpers.dateHelpers.getNewDateAddDays(new Date(), -7),\n to: new Date()\n },\n value: {\n from: PJQ.helpers.dateHelpers.getNewDateAddDays(new Date(), -7),\n to: new Date()\n }\n }\n ]\n }),\n onDownload: _.bind(function (options, callback) {\n new PJQ.ajax.Request({\n endpoint: this.options.project.endpoint(false) + '/dailyreports/reports/expenses/excel',\n data: {\n options: options,\n isApi2: true\n }\n }).post().done(_.bind(function (response) {\n PJQ.files.downloadFile(response.url, {\n isEndpoint: false\n });\n callback();\n }, this)).fail(_.bind(function (xhr, err, result) {\n callback();\n }, this));\n }, this)\n });\n },\n exportExpenses: function () {\n new PJQ.views.reporting.GenerateReportModal({\n model: new PJQ.models.reporting.Report({\n id: 'expenses',\n name: 'Expenses',\n options: [\n {\n id: _.unique(),\n type: 'DATE_RANGE',\n name: 'Dates',\n isRequired: true,\n defaultValue: {\n from: PJQ.helpers.dateHelpers.getNewDateAddDays(new Date(), -7),\n to: new Date()\n },\n value: {\n from: PJQ.helpers.dateHelpers.getNewDateAddDays(new Date(), -7),\n to: new Date()\n }\n }\n ]\n }),\n onDownload: _.bind(function (options, callback) {\n new PJQ.ajax.Request({\n endpoint: this.options.project.endpoint(false) + '/dailyreports/reports/expenses',\n data: {\n options: options,\n isApi2: true\n }\n }).post().done(_.bind(function (response) {\n PJQ.files.downloadFile(response.url, {\n isEndpoint: false\n });\n callback();\n }, this)).fail(_.bind(function (xhr, err, result) {\n callback();\n }, this));\n }, this)\n });\n },\n exportWeeklyReport: function () {\n new PJQ.views.dailyReports.DailyReportWeeklyExportModal({\n model: new PJQ.models.reporting.Report({\n id: 'weekly',\n name: 'Weekly',\n options: [\n {\n id: _.unique(),\n type: 'DATE_RANGE',\n name: 'Dates',\n isRequired: true,\n defaultValue: {\n from: PJQ.helpers.dateHelpers.getNewDateAddDays(new Date(), -6),\n to: new Date()\n },\n value: {\n from: PJQ.helpers.dateHelpers.getNewDateAddDays(new Date(), -7),\n to: new Date()\n }\n }\n ]\n }),\n onDownload: _.bind(function (options, callback) {\n new PJQ.ajax.Request({\n endpoint: this.options.project.endpoint(false) + '/dailyreports/export/weekly',\n data: {\n options: options,\n isApi2: true\n }\n }).post().done(_.bind(function (response) {\n PJQ.files.downloadFile(response.url, {\n isEndpoint: false\n });\n callback();\n }, this)).fail(_.bind(function (xhr, err, result) {\n callback();\n }, this));\n }, this)\n })\n },\n share: function () {\n let sharingModal = new PJQ.views.sharing.SharingModal({\n project: this.options.project,\n subject: 'A Daily Report has been shared with you',\n onSave: _.bind(function (data) {\n this.model.share(data, _.bind(function (url) {\n PJQ.notifications.notify.successNotify({\n message: 'Daily Report share email sent'\n });\n }, this));\n }, this)\n });\n this.model.exportReport(null, false, null, _.bind(sharingModal.urlChanged, sharingModal));\n },\n viewSettings: function () {\n new PJQ.views.dailyReports.DailyReportSettingsModal({\n project: this.options.project,\n onSave: _.bind(function () {\n this.renderCalendarStatuses();\n this.model.fetch({\n success: _.bind(function () {\n this.renderDay();\n }, this)\n });\n }, this)\n });\n },\n logDelays: function () {\n new PJQ.views.dailyReports.DailyReportLogDelaysModal({\n model: this.model,\n onSave: () => {\n this.renderCalendarStatuses();\n }\n });\n }\n});\n\nPJQ.views.dailyReports.DailyReportWeeklyExportModal = PJQ.views.BaseModal.extend({\n defaults: {\n template: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'Modal-Daily-Report-Weekly-Export'),\n subTemplates: {\n exportWeek: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'weekly-export-week'),\n },\n maxWidth: 600,\n onSave: _.noop\n },\n events: {\n 'click .weekly-export': 'exportWeekly',\n 'click .week-div': 'weekSelected'\n },\n beforeRender: function () {\n },\n renderData: function () {\n return {\n setDefaultValues: true,\n today: new Date(),\n months: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\",\n \"August\", \"September\", \"October\", \"November\", \"December\"],\n model: this.model,\n settings: null\n };\n },\n afterRender: function () {\n let today = new Date();\n this.monthPicker = new PJQ.inputs.Selectpicker({\n el: this.$('.input-select-month'),\n defaultValue: today.getMonth(),\n isIntChoices: true,\n onChange: _.bind(function (value) {\n this.renderWeeks(value, this.yearPicker.getValue());\n }, this)\n });\n this.yearPicker = new PJQ.inputs.Selectpicker({\n el: this.$('.input-select-year'),\n defaultValue: today.getFullYear(),\n isIntChoices: true,\n onChange: _.bind(function (value) {\n this.renderWeeks();\n }, this)\n });\n this.startDayPicker = new PJQ.inputs.Selectpicker({\n el: this.$('.input-select-start-day'),\n defaultValue: today.getDay(),\n isIntChoices: true,\n onChange: _.bind(function (value) {\n this.renderWeeks();\n }, this)\n });\n this.renderWeeks();\n },\n getWeeks: function () {\n let m = this.monthPicker.getValue(),\n y = this.yearPicker.getValue(),\n sd = this.startDayPicker.getValue(),\n d = new Date();\n d.setYear(y)\n d.setMonth(m);\n d.setDate(1);\n\n let month = d.getMonth(),\n result = [];\n // Get the first \"startDay\" in the month\n while (d.getDay() !== sd) {\n d.setDate(d.getDate() + 1);\n }\n\n // Get all the other \"startDays\" in the month\n while (d.getMonth() === month) {\n result.push(new Date(d.getTime()));\n d.setDate(d.getDate() + 7);\n }\n\n return result;\n },\n renderWeeks: function () {\n this.setSelectedWeek(null);\n this.weeks = this.getWeeks();\n\n let $choices = this.$('.week-choices-container');\n $choices.empty();\n _.each(this.weeks, function (week, ix) {\n this.renderSubTemplate(true, this.options.subTemplates.exportWeek, $choices, {\n weekNumber: ix,\n dates: PJQ.helpers.dateHelpers.getDateString(week, PJQ.helpers.dateHelpers.dateFormats.DATE) + ' - ' + PJQ.helpers.dateHelpers.getDateString(PJQ.helpers.dateHelpers.getNewDateAddDays(week, 6), PJQ.helpers.dateHelpers.dateFormats.DATE)\n });\n }, this);\n },\n weekSelected: function (e) {\n this.$('.weekly-export').attr('disabled', false);\n\n let $target = $(e.currentTarget);\n this.setSelectedWeek($target.data().week)\n },\n setSelectedWeek: function (week) {\n this.selectedWeek = week;\n\n this.$el.find('.week-div').removeClass('week-select');\n this.$el.find('.select-week').removeClass('fa-check-square').addClass('fa-square');\n this.$('.weekly-export').attr('disabled', this.selectedWeek == null);\n if (this.selectedWeek != null) {\n let $selected = this.$('.week-div[data-week=\"' + this.selectedWeek + '\"]')\n $selected.addClass('week-select');\n $selected.find('.select-week').removeClass('fa-square').addClass('fa-check-square');\n }\n },\n exportWeekly: function () {\n if (this.selectedWeek == null) {\n return;\n }\n\n let weekObj = this.weeks[this.selectedWeek],\n startDay = PJQ.helpers.dateHelpers.getNewDateAddDays(PJQ.helpers.dateHelpers.getDateString(weekObj, PJQ.helpers.dateHelpers.dateFormats.DATE), 0),\n endDay = PJQ.helpers.dateHelpers.getNewDateAddDays(startDay, 6),\n options = this.model.get('options');\n options[0].value.from = startDay;\n options[0].value.to = endDay;\n\n // let isExportWorkLogs = this.$('.input-export-work-logs').prop('checked'),\n // isExportNotes = this.$('.input-export-notes').prop('checked'),\n // isExportExpenses = this.$('.input-export-expenses').prop('checked'),\n // isExportSurvey = this.$('.input-export-survey').prop('checked'),\n // isExportDeliveries = this.$('.input-export-deliveries').prop('checked'),\n // isExportCommunications = this.$('.input-export-communications').prop('checked'),\n // isExportInspections = this.$('.input-export-inspections').prop('checked'),\n // isExportAttachments = this.$('.input-export-attachments').prop('checked'),\n // isExportWeather = this.$('.input-export-weather').prop('checked'),\n\n if (typeof this.options.onDownload === 'function') {\n let loader = new PJQ.Loader(this.$('.modal-content'));\n this.options.onDownload(this.model.get('options'), _.bind(function () {\n loader.remove();\n this.removeModal();\n }, this));\n }\n }\n});\n\nPJQ.views.dailyReports.DailyReportLogDelaysModal = PJQ.views.BaseModal.extend({\n defaults: {\n template: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'modal-daily-report-log-delays'),\n maxWidth: 600,\n onSave: _.noop\n },\n events: {\n 'click .btn-save': 'save',\n 'click .btn-close': 'close'\n },\n renderData: function () {\n return {\n model: this.model\n };\n },\n afterRender: function () {\n new PJQ.Binder(this.$el, this.model, {\n watchElements: [\n 'input',\n 'textarea'\n ],\n afterChange: _.bind(function ($field) {\n if($field.hasClass('was-delayed')) {\n this.render();\n }\n }, this)\n });\n },\n save: function () {\n if(!this.model.get('wasDelayed')) {\n this.model.set('delayReason', '');\n }\n\n this.$('.btn-save').attr('disabled', true);\n let loader = new PJQ.Loader(this.$('.modal-content'));\n this.model.updateDelay(() => {\n loader.remove()\n this.removeModal();\n if(typeof this.options.onSave === 'function') {\n this.options.onSave();\n }\n })\n },\n close: function() {\n this.model.restore();\n this.removeModal();\n }\n});\n","//Models\nPJQ.models.dailyReports.Delivery = PJQ.models.BaseModel.extend({\n\tidAttribute: 'deliveryId',\n\tnotifyName: 'Delivery',\n\tendpoint: function () {\n\t\tlet params = null;\n\t\treturn PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t{\n\t\t\t\tendpoint: 'dailyReports',\n\t\t\t\tvalue: this.get('dailyReportId')\n\t\t\t},\n\t\t\t{\n\t\t\t\tendpoint: 'deliveries',\n\t\t\t\tvalue: this.id\n\t\t\t}\n\t\t], params);\n\t},\n\tafterInit: function(){\n\n\t},\n\tparse: function (model) {\n\t\tif(model != null){\n\t\t\tif (model.deliveryFrom) {\n\t\t\t\tthis.deliveryFrom = new PJQ.models.projectContacts.ProjectContact(model.deliveryFrom);\n\t\t\t}\n\t\t\telse{\n\t\t\t\tthis.deliveryFrom = null;\n\t\t\t}\n\n\t\t\tthis.attachments = new PJQ.collections.dailyReports.DeliveryAttachments(model.attachments);\n\t\t\tthis.attachments.on('update', _.bind(function(){\n\t\t\t\tthis.isDirty = true;\n\t\t\t}, this));\n\t\t}\n\t\treturn model;\n\t},\n\tbeforeSave: function () {\n\t\tthis.set('deliveryFrom', this.deliveryFrom);\n\t\tthis.set('attachments', this.attachments.getChangedModels());\n\t}\n});\n\nPJQ.models.dailyReports.DeliveryAttachment = PJQ.models.files.File.extend({\n\tidAttribute: 'attachmentId',\n\tendpoint: function () {\n\t\treturn PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t{\n\t\t\t\tendpoint: 'delivery',\n\t\t\t\tvalue: this.get('deliveryId')\n\t\t\t},\n\t\t\t{\n\t\t\t\tendpoint: 'attachments',\n\t\t\t\tvalue: this.id\n\t\t\t}\n\t\t]);\n\t}\n});\n\n\n//Collections\nPJQ.collections.dailyReports.Deliveries = PJQ.collections.BaseCollection.extend({\n\tmodel: PJQ.models.dailyReports.Delivery\n});\n\nPJQ.collections.dailyReports.DeliveryAttachments = PJQ.collections.dailyReports.Attachments.extend({\n\tmodel: PJQ.models.dailyReports.DeliveryAttachment\n});","PJQ.views.dailyReports.DeliveryManagement = PJQ.views.BaseView.extend({\n\tdefaults: {\n\t\ttemplate: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'Delivery-Management')\n\t},\n\tevents: {\n\t\t'click .add-delivery': 'addClicked',\n\t\t'click .edit-delivery': 'editClicked',\n\t\t'click .delete-delivery': 'deleteClicked'\n\t},\n\tbeforeFirstRender: function () {\n\t\tthis.options.isAdmin = PJQ.app.session.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n\t\t\t&& this.options.project.hasPermission('dailyReports.isAdminDeliveries');\n\n\t\tthis.listenTo(this.collection, 'sync', _.bind(function () {\n\t\t\tthis.dataTable.refresh();\n\t\t}, this));\n\t},\n\tbeforeRender: function () {\n\t\tthis.options.isLocked = PJQ.app.session.preferences.hasPref(PJQ.constants.preferenceTypes.DAILY_REPORT_IS_LOCKED_AFTER_SUBMIT) && this.options.dailyReport.get('status') === 1;\n\t\tthis.options.canEdit = this.options.project.hasPermission('dailyReports.canAddDeliveries') && !this.options.isLocked;\n\t},\n\trenderData: function () {\n\t\treturn {\n\t\t\tproject: this.options.project,\n\t\t\tcanEdit: this.options.canEdit\n\t\t};\n\t},\n\tafterRender: function () {\n\t\tthis.dataTable = new PJQ.views.dataTables.DataTable({\n\t\t\tel: '.delivery-data-table-container',\n\t\t\tdata: this.collection.models,\n\t\t\tisHideSearch: true,\n\t\t\trowId: \"cid\",\n\t\t\torder: [1, 'asc'],\n\t\t\tlanguage: {\n\t\t\t\tzeroRecords: this.options.canEdit ? 'Click \"Add Delivery\" to create a new delivery' : 'No deliveries were added for this day'\n\t\t\t},\n\t\t\tonRowDoubleClick: _.bind(function (row) {\n\t\t\t\tthis.editDelivery(row.data());\n\t\t\t}, this),\n\t\t\tcontextMenuOptions: {\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Edit',\n\t\t\t\t\t\tonClick: _.bind(function (row) {\n\t\t\t\t\t\t\tthis.editDelivery(row.data());\n\t\t\t\t\t\t}, this),\n\t\t\t\t\t\tisShown: _.bind(function () {\n\t\t\t\t\t\t\treturn this.options.canEdit;\n\t\t\t\t\t\t}, this)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'View',\n\t\t\t\t\t\tonClick: _.bind(function (row) {\n\t\t\t\t\t\t\tthis.editDelivery(row.data());\n\t\t\t\t\t\t}, this),\n\t\t\t\t\t\tisShown: _.bind(function () {\n\t\t\t\t\t\t\treturn !this.options.canEdit;\n\t\t\t\t\t\t}, this)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Delete',\n\t\t\t\t\t\tisDanger: true,\n\t\t\t\t\t\tisShown: _.bind(function () {\n\t\t\t\t\t\t\treturn this.options.isAdmin && this.options.canEdit;\n\t\t\t\t\t\t}, this),\n\t\t\t\t\t\tonClick: _.bind(function (row) {\n\t\t\t\t\t\t\tthis.deleteDelivery(row);\n\t\t\t\t\t\t}, this)\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tcolumns: [\n\t\t\t\t{\n\t\t\t\t\t\"data\": \"attachments\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"orderable\": false,\n\t\t\t\t\t\"searchable\": false,\n\t\t\t\t\t\"width\": \"40px\",\n\t\t\t\t\t\"render\": function (data) {\n\t\t\t\t\t\tlet attachmentCount = _.size(data.models);\n\t\t\t\t\t\treturn '
0 ? 'text-success' : 'text-muted') + '\"> 0 ? 'text-dark' : 'text-muted') + '\">' + attachmentCount.toString() + '
';\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"data\": \"\",\n\t\t\t\t\t\"title\": \"From\",\n\t\t\t\t\t\"searchable\": false,\n\t\t\t\t\t\"width\": \"20%\",\n\t\t\t\t\t\"render\": function (data, type, row) {\n\t\t\t\t\t\tlet result = 'Not set';\n\t\t\t\t\t\tif (row.deliveryFrom != null) {\n\t\t\t\t\t\t\tresult = PJQ.helpers.contacts.getContactAnchor({\n\t\t\t\t\t\t\t\tid: row.deliveryFrom.id,\n\t\t\t\t\t\t\t\tname: row.deliveryFrom.get('companyName')\n\t\t\t\t\t\t\t});\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tlet deliveryFromName = row.get('deliveryFromName');\n\t\t\t\t\t\t\tif (_.size(deliveryFromName) > 0) {\n\t\t\t\t\t\t\t\tresult = deliveryFromName;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn result;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"data\": \"attributes.time\",\n\t\t\t\t\t\"title\": \"Time\",\n\t\t\t\t\t\"searchable\": false,\n\t\t\t\t\t\"width\": \"80px\",\n\t\t\t\t\t\"render\": function (data) {\n\t\t\t\t\t\tif (data != null) {\n\t\t\t\t\t\t\treturn PJQ.helpers.dateHelpers.getDateString(new Date(data), PJQ.helpers.dateHelpers.dateFormats.TIME);\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn 'Not Set';\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"data\": \"attributes.trackingNumber\",\n\t\t\t\t\t\"title\": \"Tracking Number\",\n\t\t\t\t\t\"width\": \"15%\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"data\": \"attributes.purchaseOrderNumber\",\n\t\t\t\t\t\"title\": \"PO Number\",\n\t\t\t\t\t\"width\": \"15%\"\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"data\": \"attributes.contents\",\n\t\t\t\t\t\"title\": \"Contents\",\n\t\t\t\t\t\"orderable\": false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"data\": \"\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"orderable\": false,\n\t\t\t\t\t\"searchable\": false,\n\t\t\t\t\t\"width\": \"80px\",\n\t\t\t\t\t\"render\": _.bind(function () {\n\t\t\t\t\t\tlet buttons;\n\t\t\t\t\t\tif (this.options.canEdit) {\n\t\t\t\t\t\t\tbuttons = '';\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tbuttons = '';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (this.options.isAdmin && this.options.canEdit) {\n\t\t\t\t\t\t\tbuttons += '';\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn '
' + buttons + '
';\n\t\t\t\t\t}, this)\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\t},\n\taddClicked: function () {\n\t\tlet newDelivery = new PJQ.models.dailyReports.Delivery({\n\t\t\tdailyReportId: this.options.dailyReport.id,\n\t\t\ttime: new Date(),\n\t\t\ttrackingNumber: '',\n\t\t\tpurchaseOrderNumber: '',\n\t\t\tcontents: '',\n\t\t\tnotes: ''\n\t\t});\n\t\tthis.editDelivery(newDelivery);\n\t},\n\teditClicked: function (e) {\n\t\tlet target = $(e.currentTarget),\n\t\t\trow = this.dataTable.getRow(target.closest('tr'));\n\t\tthis.editDelivery(row.data());\n\t},\n\teditDelivery: function (delivery) {\n\t\tnew PJQ.views.dailyReports.EditDeliveryModal({\n\t\t\tmodel: delivery,\n\t\t\tproject: this.options.project,\n\t\t\tisLocked: this.options.isLocked,\n\t\t\tonSave: _.bind(function (delivery) {\n\t\t\t\tif (delivery.hasChanged() || delivery.isNew()) {\n\t\t\t\t\tif (delivery.isNew()) {\n\t\t\t\t\t\tthis.collection.add(delivery);\n\t\t\t\t\t\tthis.dataTable.addRow(delivery);\n\t\t\t\t\t}\n\t\t\t\t\tdelivery.save(null, {\n\t\t\t\t\t\tnotify: true\n\t\t\t\t\t});\n\t\t\t\t\tthis.dataTable.refresh();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\tonClose: _.bind(function (delivery) {\n\t\t\t\tif (delivery.hasChanged()) {\n\t\t\t\t\tdelivery.fetch({\n\t\t\t\t\t\tsuccess: _.bind(function () {\n\t\t\t\t\t\t\tthis.dataTable.refresh();\n\t\t\t\t\t\t}, this)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\tonDelete: _.bind(function (delivery) {\n\t\t\t\tif (delivery.id > 0) {\n\t\t\t\t\tlet row = this.dataTable.getRow(delivery.cid);\n\t\t\t\t\tthis.collection.remove(delivery);\n\t\t\t\t\tdelivery.destroy();\n\t\t\t\t\tif (row != null) {\n\t\t\t\t\t\tthis.dataTable.removeRow(row);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, this)\n\t\t});\n\t},\n\tdeleteClicked: function (e) {\n\t\tlet target = $(e.currentTarget),\n\t\t\trow = this.dataTable.getRow(target.closest('tr'));\n\t\tthis.deleteDelivery(row);\n\t},\n\tdeleteDelivery: function (row) {\n\t\tlet delivery = row.data();\n\t\tnew PJQ.views.modals.DeleteCancel({\n\t\t\theader: \"Confirm Deletion\",\n\t\t\tbody: \"Are you sure you want to delete this delivery?\",\n\t\t\tonDelete: _.bind(function () {\n\t\t\t\tthis.collection.remove(delivery);\n\t\t\t\tdelivery.destroy();\n\t\t\t\tthis.dataTable.removeRow(row);\n\t\t\t}, this)\n\t\t});\n\t}\n});\n\nPJQ.views.dailyReports.EditDeliveryModal = PJQ.views.BaseModal.extend({\n\tdefaults: {\n\t\ttemplate: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'Modal-Edit-Delivery'),\n\t\tmaxWidth: 800\n\t},\n\tevents: {\n\t\t'click .delivery-from-edit': 'editDeliveryFrom',\n\t\t'click .delivery-save': 'onSave',\n\t\t'click .delivery-close': 'close',\n\t\t'click .delivery-delete': 'onDelete'\n\t},\n\tbeforeModalCreated: function () {\n\t\tthis.options.isAdmin = this.options.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n\t\t\t&& this.options.project.hasPermission('dailyReports.isAdminDeliveries');\n\t\tthis.options.canEdit = this.model.isNew() || (this.options.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n\t\t\t&& this.options.project.hasPermission('dailyReports.canAddDeliveries') && !this.options.isLocked);\n\t},\n\trenderData: function () {\n\t\treturn {\n\t\t\tmodel: this.model,\n\t\t\tisAdmin: this.options.isAdmin,\n\t\t\tcanEdit: this.options.canEdit\n\t\t};\n\t},\n\tafterRender: function () {\n\t\tif (this.options.canEdit) {\n\t\t\tnew PJQ.Binder(this.$el, this.model, {\n\t\t\t\twatchElements: [\n\t\t\t\t\t'input',\n\t\t\t\t\t'textarea'\n\t\t\t\t]\n\t\t\t});\n\n\t\t\tnew PJQ.views.contacts.ContactsSelectInput({\n\t\t\t\tel: this.$('.delivery-from'),\n\t\t\t\tcontext: PJQ.constants.contacts.contexts.PROJECTCONTACTS,\n\t\t\t\tselectedContact: this.model.deliveryFrom,\n\t\t\t\tisSingleChoice: true,\n\t\t\t\tisReadOnly: !this.options.canEdit,\n\t\t\t\taddButton: this.$('.btn-edit-delivery-from'),\n\t\t\t\tonChange: _.bind(function (selectedContact) {\n\t\t\t\t\tthis.model.deliveryFrom = selectedContact;\n\t\t\t\t\tthis.model.set('deliveryFromName', '');\n\t\t\t\t\tthis.model.isDirty = true;\n\t\t\t\t\tthis.renderDeliveryFrom();\n\t\t\t\t}, this)\n\t\t\t});\n\t\t}\n\t\tthis.renderDeliveryFrom();\n\n\t\tnew PJQ.inputs.Datepicker({\n\t\t\tel: this.$('.delivery-time'),\n\t\t\tisTimeOnly: true,\n\t\t\tdatepickerOptions: {\n\t\t\t\tdefaultDate: this.model.get('time')\n\t\t\t},\n\t\t\tonChange: _.bind(function (newTime) {\n\t\t\t\tlet currentDeliveryTime = this.model.get('time');\n\t\t\t\tif (currentDeliveryTime == null || PJQ.helpers.dateHelpers.checkTimesDifferent(newTime, new Date(currentDeliveryTime))) {\n\t\t\t\t\tthis.model.set('time', newTime);\n\t\t\t\t}\n\t\t\t}, this)\n\t\t});\n\n\t\tthis.fileUploader = new PJQ.views.files.FileUploaderGrid({\n\t\t\tel: this.$('.delivery-file-upload'),\n\t\t\tcollection: this.model.attachments,\n\t\t\tcanUpload: this.options.canEdit,\n\t\t\t// includeProjectAttachments: true,\n\t\t\tcanDelete: this.options.isAdmin && this.options.canEdit,\n\t\t\tpreviewImageDimension: 150,\n\t\t\tsortDirection: 'asc',\n\t\t\tonDelete: _.bind(function (attachment, callback) {\n\t\t\t\tif (attachment.id > 0) {\n\t\t\t\t\tattachment.set('isDeleted', true);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tattachment.destroy();\n\t\t\t\t}\n\t\t\t\tthis.model.isDirty = true;\n\t\t\t\tcallback();\n\t\t\t}, this)\n\t\t});\n\t},\n\trenderDeliveryFrom: function () {\n\t\tlet $contactSelect = this.$('.delivery-from'),\n\t\t\t$contactName = this.$('.delivery-from-name');\n\t\tif (this.model.deliveryFrom != null) {\n\t\t\t$contactName.addClass('hidden');\n\t\t\t$contactSelect.removeClass('hidden');\n\t\t}\n\t\telse {\n\t\t\t$contactSelect.addClass('hidden');\n\t\t\t$contactName.removeClass('hidden');\n\t\t}\n\t},\n\tonSave: function () {\n\t\tif (this.fileUploader.isUploading()) {\n\t\t\tnew PJQ.views.BaseModal({\n\t\t\t\theader: \"Files Uploading\",\n\t\t\t\tbody: \"You can't save while files are uploading\"\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tif (this.options.onSave) {\n\t\t\t\tthis.options.onSave(this.model);\n\t\t\t\tthis.removeModal();\n\t\t\t}\n\t\t}\n\t},\n\tclose: function () {\n\t\tif (this.options.canEdit && this.model.hasChanged()) {\n\t\t\tnew PJQ.views.modals.SaveDontSave({\n\t\t\t\theader: \"Unsaved Changes\",\n\t\t\t\tbody: \"Do you want to save changes?\",\n\t\t\t\tonSave: _.bind(function () {\n\t\t\t\t\tthis.onSave();\n\t\t\t\t}, this),\n\t\t\t\tonDontSave: _.bind(function () {\n\t\t\t\t\tthis.onClose(this.model);\n\t\t\t\t\tthis.removeModal();\n\t\t\t\t}, this)\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tthis.onClose(this.model);\n\t\t\tthis.removeModal();\n\t\t}\n\t},\n\tonDelete: function () {\n\t\tnew PJQ.views.modals.DeleteCancel({\n\t\t\theader: \"Confirm Deletion\",\n\t\t\tbody: \"Are you sure you want to delete this delivery?\",\n\t\t\tonDelete: _.bind(function () {\n\t\t\t\tif (this.options.onDelete) {\n\t\t\t\t\tthis.options.onDelete(this.model);\n\t\t\t\t}\n\t\t\t\tthis.removeModal();\n\t\t\t}, this)\n\t\t});\n\t}\n});\n","//Models\nPJQ.models.dailyReports.Expense = PJQ.models.BaseModel.extend({\n\tidAttribute: 'expenseId',\n\tnotifyName: 'Expense',\n\tendpoint: function () {\n\t\tlet params = null;\n\t\treturn PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t{\n\t\t\t\tendpoint: 'dailyReports',\n\t\t\t\tvalue: this.get('dailyReportId')\n\t\t\t},\n\t\t\t{\n\t\t\t\tendpoint: 'expenses',\n\t\t\t\tvalue: this.id\n\t\t\t}\n\t\t], params);\n\t},\n\tafterInit: function(){\n\t\tthis.on('change:group', _.bind(function(){\n\t\t\tlet newGroup = this.get('group');\n\t\t\tif(newGroup instanceof PJQ.models.groups.Group){\n\t\t\t\tthis.group = newGroup;\n\t\t\t}\n\t\t\telse if(newGroup != null && typeof newGroup === 'object'){\n\t\t\t\tthis.group = new PJQ.models.groups.Group(newGroup);\n\t\t\t}\n\t\t\telse{\n\t\t\t\tthis.group = null;\n\t\t\t}\n\t\t}, this));\n\t},\n\tparse: function (model) {\n\t\tif(model != null){\n\t\t\tthis.attachments = new PJQ.collections.dailyReports.ExpenseAttachments(model.attachments);\n\t\t\tthis.attachments.on('update', _.bind(function(){\n\t\t\t\tthis.isDirty = true;\n\t\t\t}, this));\n\n\t\t\tif(model.group != null){\n\t\t\t\tthis.group = new PJQ.models.groups.Group(model.group);\n\t\t\t}\n\t\t}\n\t\treturn model;\n\t},\n\tbeforeSave: function () {\n\t\tthis.set('attachments', this.attachments.getChangedModels());\n\t\tthis.set('group', this.group);\n\t}\n});\n\nPJQ.models.dailyReports.ExpenseAttachment = PJQ.models.files.File.extend({\n\tidAttribute: 'expenseAttachmentId',\n\tendpoint: function () {\n\t\treturn PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t{\n\t\t\t\tendpoint: 'expenses',\n\t\t\t\tvalue: this.get('expenseId')\n\t\t\t},\n\t\t\t{\n\t\t\t\tendpoint: 'attachments',\n\t\t\t\tvalue: this.id\n\t\t\t}\n\t\t]);\n\t}\n});\n\n\n//Collections\nPJQ.collections.dailyReports.Expenses = PJQ.collections.BaseCollection.extend({\n\tmodel: PJQ.models.dailyReports.Expense\n});\n\nPJQ.collections.dailyReports.ExpenseAttachments = PJQ.collections.dailyReports.Attachments.extend({\n\tmodel: PJQ.models.dailyReports.ExpenseAttachment\n});","PJQ.views.dailyReports.ExpenseManagement = PJQ.views.BaseView.extend({\n\tdefaults: {\n\t\ttemplate: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'Expense-Management')\n\t},\n\tevents: {\n\t\t'click .add-expense': 'addClicked',\n\t\t'click .edit-expense': 'editClicked',\n\t\t'click .delete-expense': 'deleteClicked'\n\t},\n\tbeforeFirstRender: function () {\n\t\tthis.options.isAdmin = PJQ.app.session.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n\t\t\t&& this.options.project.hasPermission('dailyReports.isAdminExpenses');\n\n\t\tthis.listenTo(this.collection, 'sync', _.bind(function () {\n\t\t\tthis.dataTable.refresh();\n\t\t}, this));\n\t},\n\tbeforeRender: function () {\n\t\tthis.options.isLocked = PJQ.app.session.preferences.hasPref(PJQ.constants.preferenceTypes.DAILY_REPORT_IS_LOCKED_AFTER_SUBMIT) && this.options.dailyReport.get('status') === 1;\n\t\tthis.options.canEdit = this.options.project.hasPermission('dailyReports.canAddExpenses') && !this.options.isLocked;\n\t},\n\trenderData: function () {\n\t\treturn {\n\t\t\tproject: this.options.project,\n\t\t\tcanEdit: this.options.canEdit\n\t\t};\n\t},\n\tafterRender: function () {\n\t\tthis.dataTable = new PJQ.views.dataTables.DataTable({\n\t\t\tel: '.expenses-data-table-container',\n\t\t\tdata: this.collection.models,\n\t\t\tisHideSearch: true,\n\t\t\trowId: \"cid\",\n\t\t\torder: [1, 'asc'],\n\t\t\tlanguage: {\n\t\t\t\tzeroRecords: this.options.canEdit ? 'Click \"Add Expense\" to create a new expense' : 'No expenses were added for this day'\n\t\t\t},\n\t\t\tonRowDoubleClick: _.bind(function (row) {\n\t\t\t\tthis.editExpense(row.data());\n\t\t\t}, this),\n\t\t\tcontextMenuOptions: {\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Edit',\n\t\t\t\t\t\tonClick: _.bind(function (row) {\n\t\t\t\t\t\t\tthis.editExpense(row.data());\n\t\t\t\t\t\t}, this),\n\t\t\t\t\t\tisShown: _.bind(function () {\n\t\t\t\t\t\t\treturn this.options.canEdit;\n\t\t\t\t\t\t}, this)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'View',\n\t\t\t\t\t\tonClick: _.bind(function (row) {\n\t\t\t\t\t\t\tthis.editExpense(row.data());\n\t\t\t\t\t\t}, this),\n\t\t\t\t\t\tisShown: _.bind(function () {\n\t\t\t\t\t\t\treturn !this.options.canEdit;\n\t\t\t\t\t\t}, this)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Delete',\n\t\t\t\t\t\tisDanger: true,\n\t\t\t\t\t\tisShown: _.bind(function () {\n\t\t\t\t\t\t\treturn this.options.isAdmin && this.options.canEdit;\n\t\t\t\t\t\t}, this),\n\t\t\t\t\t\tonClick: _.bind(function (row) {\n\t\t\t\t\t\t\tthis.deleteExpense(row);\n\t\t\t\t\t\t}, this)\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tcolumns: [\n\t\t\t\t{\n\t\t\t\t\t\"data\": \"attachments\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"orderable\": false,\n\t\t\t\t\t\"searchable\": false,\n\t\t\t\t\t\"width\": \"40px\",\n\t\t\t\t\t\"render\": function (data) {\n\t\t\t\t\t\tlet attachmentCount = _.size(data.models);\n\t\t\t\t\t\treturn '
0 ? 'text-success' : 'text-muted') + '\"> 0 ? 'text-dark' : 'text-muted') + '\">' + attachmentCount.toString() + '
';\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\"data\": \"attributes.description\", \"title\": \"Description\", \"width\": \"25%\"},\n\t\t\t\t{\n\t\t\t\t\t\"data\": \"attributes.cost\",\n\t\t\t\t\t\"title\": \"Cost\",\n\t\t\t\t\t\"searchable\": false,\n\t\t\t\t\t\"width\": \"100px\",\n\t\t\t\t\t\"render\": function (data) {\n\t\t\t\t\t\treturn PJQ.helpers.formatHelpers.formatCurrency(data, 2, true);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"data\": \"group\",\n\t\t\t\t\t\"title\": \"Trade\",\n\t\t\t\t\t\"width\": \"15%\",\n\t\t\t\t\t\"render\": function (data) {\n\t\t\t\t\t\tif (data) {\n\t\t\t\t\t\t\treturn data.get('groupName');\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn '';\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"data\": \"attributes.notes\",\n\t\t\t\t\t\"title\": \"Notes\",\n\t\t\t\t\t\"orderable\": false,\n\t\t\t\t\t\"searchable\": false\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"data\": \"\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"orderable\": false,\n\t\t\t\t\t\"searchable\": false,\n\t\t\t\t\t\"width\": \"80px\",\n\t\t\t\t\t\"render\": _.bind(function () {\n\t\t\t\t\t\tlet buttons;\n\t\t\t\t\t\tif (this.options.canEdit) {\n\t\t\t\t\t\t\tbuttons = '';\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tbuttons = '';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (this.options.isAdmin && this.options.canEdit) {\n\t\t\t\t\t\t\tbuttons += '';\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn '
' + buttons + '
';\n\t\t\t\t\t}, this)\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\t},\n\taddClicked: function () {\n\t\tlet newExpense = new PJQ.models.dailyReports.Expense({\n\t\t\tdailyReportId: this.options.dailyReport.id,\n\t\t\tdescription: \"\",\n\t\t\tcost: 0,\n\t\t\tnotes: \"\"\n\t\t});\n\t\tthis.editExpense(newExpense);\n\t},\n\teditClicked: function (e) {\n\t\tlet target = $(e.currentTarget),\n\t\t\trow = this.dataTable.getRow(target.closest('tr')),\n\t\t\texpense = row.data();\n\t\tthis.editExpense(expense);\n\t},\n\teditExpense: function (expense) {\n\t\tnew PJQ.views.dailyReports.EditExpenseModal({\n\t\t\tmodel: expense,\n\t\t\tisLocked: this.options.isLocked,\n\t\t\tproject: this.options.project,\n\t\t\tonSave: _.bind(function (expense) {\n\t\t\t\tif (expense.hasChanged() || expense.isNew()) {\n\t\t\t\t\tif (expense.isNew()) {\n\t\t\t\t\t\tthis.collection.add(expense);\n\t\t\t\t\t\tthis.dataTable.addRow(expense);\n\t\t\t\t\t}\n\t\t\t\t\texpense.save(null, {\n\t\t\t\t\t\tnotify: true\n\t\t\t\t\t});\n\t\t\t\t\tthis.dataTable.refresh();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\tonClose: _.bind(function (expense) {\n\t\t\t\tif (expense.hasChanged()) {\n\t\t\t\t\texpense.fetch({\n\t\t\t\t\t\tsuccess: _.bind(function () {\n\t\t\t\t\t\t\tthis.dataTable.refresh();\n\t\t\t\t\t\t}, this)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\tonDelete: _.bind(function (expense) {\n\t\t\t\tif (expense.id > 0) {\n\t\t\t\t\tlet row = this.dataTable.getRow(expense.cid);\n\t\t\t\t\tthis.collection.remove(expense);\n\t\t\t\t\texpense.destroy();\n\t\t\t\t\tif (row != null) {\n\t\t\t\t\t\tthis.dataTable.removeRow(row);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, this)\n\t\t});\n\t},\n\tdeleteClicked: function (e) {\n\t\tlet target = $(e.currentTarget),\n\t\t\trow = this.dataTable.getRow(target.closest('tr'));\n\t\tthis.deleteExpense(row);\n\t},\n\tdeleteExpense: function (row) {\n\t\tlet expense = row.data();\n\t\tnew PJQ.views.modals.DeleteCancel({\n\t\t\theader: \"Confirm Deletion\",\n\t\t\tbody: \"Are you sure you want to delete this expense?\",\n\t\t\tonDelete: _.bind(function () {\n\t\t\t\tthis.collection.remove(expense);\n\t\t\t\texpense.destroy();\n\t\t\t\tthis.dataTable.removeRow(row);\n\t\t\t}, this)\n\t\t});\n\t}\n});\n\nPJQ.views.dailyReports.EditExpenseModal = PJQ.views.BaseModal.extend({\n\tdefaults: {\n\t\ttemplate: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'Modal-Edit-Expense'),\n\t\tmaxWidth: 800,\n\t\tsubTemplates: {\n\t\t\tgroupBadge: new PJQ.templating.Template(PJQ.constants.modules.GLOBAL, 'Groups-Select-Input-Groups')\n\t\t},\n\t\tisShowCloseButton: true\n\t},\n\tevents: {\n\t\t'click .expense-save': 'onSave',\n\t\t'click .expense-close': 'close',\n\t\t'click .btn-expense-edit-group': 'editGroup',\n\t\t'click .group-select-input-delete': 'deleteGroup',\n\t\t'click .expense-delete': 'onDelete'\n\t},\n\tbeforeModalCreated: function () {\n\t\tthis.options.isAdmin = this.options.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n\t\t\t&& this.options.project.hasPermission('dailyReports.isAdminExpenses');\n\t\tthis.options.canEdit = this.model.isNew() || (this.options.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n\t\t\t&& this.options.project.hasPermission('dailyReports.canAddExpenses') && !this.options.isLocked);\n\t},\n\trenderData: function () {\n\t\treturn {\n\t\t\tmodel: this.model,\n\t\t\tisAdmin: this.options.isAdmin,\n\t\t\tcanEdit: this.options.canEdit\n\t\t};\n\t},\n\tafterRender: function () {\n\t\tif (this.options.canEdit) {\n\t\t\tnew PJQ.Binder(this.$el, this.model, {\n\t\t\t\twatchElements: [\n\t\t\t\t\t'input',\n\t\t\t\t\t'textarea'\n\t\t\t\t]\n\t\t\t});\n\t\t}\n\n\t\tthis.renderGroup();\n\n\t\tPJQ.helpers.inputHelpers.inputMaskCurrency(this.$('.expense-cost'), 2);\n\n\t\tthis.paymentMethodSelectPicker = new PJQ.inputs.Selectpicker({\n\t\t\tel: $('.payment-method'),\n\t\t\tnoneSelectedText: 'Select Payment Method',\n\t\t\thideDisabled: false,\n\t\t\tisMultiple: false,\n\t\t\tdefaultValue: this.model.get('paymentMethod'),\n\t\t\tonChange: _.bind(function () {\n\t\t\t\tthis.model.set('paymentMethod', this.paymentMethodSelectPicker.getValue());\n\t\t\t}, this)\n\t\t});\n\n\t\tthis.fileUploader = new PJQ.views.files.FileUploaderGrid({\n\t\t\tel: this.$('.expense-file-upload'),\n\t\t\tcollection: this.model.attachments,\n\t\t\tcanUpload: this.options.canEdit,\n\t\t\t// includeProjectAttachments: true,\n\t\t\tcanDelete: this.options.isAdmin && this.options.canEdit,\n\t\t\tpreviewImageDimension: 150,\n\t\t\tsortDirection: 'asc',\n\t\t\tonDelete: _.bind(function (attachment, callback) {\n\t\t\t\tif (attachment.id > 0) {\n\t\t\t\t\tattachment.set('isDeleted', true);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tattachment.destroy();\n\t\t\t\t}\n\t\t\t\tthis.model.isDirty = true;\n\t\t\t\tcallback();\n\t\t\t}, this)\n\t\t});\n\t},\n\trenderGroup: function () {\n\t\tif (this.model.group != null) {\n\t\t\tthis.renderSubTemplate(false, this.options.subTemplates.groupBadge, this.$('.expense-group'),\n\t\t\t\t{\n\t\t\t\t\tmodels: [this.model.group],\n\t\t\t\t\tisReadOnly: this.options.canEdit\n\t\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tthis.$('.expense-group').html('
Not Selected
');\n\t\t}\n\t},\n\teditGroup: function () {\n\t\tnew PJQ.views.groups.SelectGroupsModal({\n\t\t\tselectorOptions: {\n\t\t\t\tisSingleChoice: true,\n\t\t\t\tselectedGroupIds: this.model.group ? this.model.group.id : null\n\t\t\t},\n\t\t\tonSave: _.bind(function (group) {\n\t\t\t\tthis.model.set('group', group);\n\t\t\t\tthis.renderGroup();\n\t\t\t}, this)\n\t\t});\n\t},\n\tdeleteGroup: function () {\n\t\tthis.model.set('group', null);\n\t\tthis.renderGroup();\n\t},\n\tonSave: function () {\n\t\tif (this.fileUploader != null && this.fileUploader.isUploading()) {\n\t\t\tnew PJQ.views.BaseModal({\n\t\t\t\theader: \"Files Uploading\",\n\t\t\t\tbody: \"You can't save while files are uploading\"\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tif (this.options.onSave) {\n\t\t\t\tthis.options.onSave(this.model);\n\t\t\t\tthis.removeModal();\n\t\t\t}\n\t\t}\n\t},\n\tclose: function () {\n\t\tif (this.options.canEdit && this.model.hasChanged()) {\n\t\t\tnew PJQ.views.modals.SaveDontSave({\n\t\t\t\theader: \"Unsaved Changes\",\n\t\t\t\tbody: \"Do you want to save changes?\",\n\t\t\t\tonSave: _.bind(function () {\n\t\t\t\t\tthis.onSave();\n\t\t\t\t}, this),\n\t\t\t\tonDontSave: _.bind(function () {\n\t\t\t\t\tthis.onClose(this.model);\n\t\t\t\t\tthis.removeModal();\n\t\t\t\t}, this)\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tthis.onClose(this.model);\n\t\t\tthis.removeModal();\n\t\t}\n\t},\n\tonDelete: function () {\n\t\tnew PJQ.views.modals.DeleteCancel({\n\t\t\theader: \"Confirm Deletion\",\n\t\t\tbody: \"Are you sure you want to delete this expense?\",\n\t\t\tonDelete: _.bind(function () {\n\t\t\t\tif (this.options.onDelete) {\n\t\t\t\t\tthis.options.onDelete(this.model);\n\t\t\t\t}\n\t\t\t\tthis.removeModal();\n\t\t\t}, this)\n\t\t});\n\t}\n});\n","//Models\nPJQ.models.dailyReports.InspectionLog = PJQ.models.BaseModel.extend({\n\tidAttribute: 'id',\n\tnotifyName: 'Inspection Log',\n\tendpoint: function () {\n\t\tlet params = null;\n\t\treturn PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t{\n\t\t\t\tendpoint: 'dailyReports',\n\t\t\t\tvalue: this.get('dailyReportId')\n\t\t\t},\n\t\t\t{\n\t\t\t\tendpoint: 'inspectionlogs',\n\t\t\t\tvalue: this.id\n\t\t\t}\n\t\t], params);\n\t},\n\tafterInit: function(){\n\n\t},\n\tparse: function (model) {\n\t\tif(model != null){\n\t\t\tif (model.contact) {\n\t\t\t\tthis.contact = new PJQ.models.projectContacts.ProjectContact(model.contact);\n\t\t\t}\n\t\t\telse{\n\t\t\t\tthis.contact = null;\n\t\t\t}\n\n\t\t\tthis.attachments = new PJQ.collections.dailyReports.InspectionLogAttachments(model.attachments);\n\t\t\tthis.attachments.on('update', _.bind(function(){\n\t\t\t\tthis.isDirty = true;\n\t\t\t}, this));\n\t\t}\n\t\treturn model;\n\t},\n\tbeforeSave: function () {\n\t\tthis.set('contact', this.contact);\n\t\tthis.set('attachments', this.attachments.getChangedModels());\n\t}\n});\n\nPJQ.models.dailyReports.InspectionLogAttachment = PJQ.models.files.File.extend({\n\tidAttribute: 'attachmentId',\n\tendpoint: function () {\n\t\treturn PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t{\n\t\t\t\tendpoint: 'inspectionlogs',\n\t\t\t\tvalue: this.get('logId')\n\t\t\t},\n\t\t\t{\n\t\t\t\tendpoint: 'attachments',\n\t\t\t\tvalue: this.id\n\t\t\t}\n\t\t]);\n\t}\n});\n\n//Collections\nPJQ.collections.dailyReports.InspectionLogs = PJQ.collections.BaseCollection.extend({\n\tmodel: PJQ.models.dailyReports.InspectionLog\n});\n\nPJQ.collections.dailyReports.InspectionLogAttachments = PJQ.collections.dailyReports.Attachments.extend({\n\tmodel: PJQ.models.dailyReports.InspectionLogAttachment\n});","PJQ.views.dailyReports.InspectionLogManagement = PJQ.views.BaseView.extend({\n defaults: {\n template: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'inspection-log-management')\n },\n events: {\n 'click .btn-add-log': 'addClicked',\n 'click .btn-edit-log': 'editClicked',\n 'click .btn-delete-log': 'deleteClicked'\n },\n beforeFirstRender: function () {\n this.options.isAdmin = PJQ.app.session.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n && this.options.project.hasPermission('dailyReports.isAdminInspectionLogs');\n\n this.listenTo(this.collection, 'sync', _.bind(function () {\n this.dataTable.refresh();\n }, this));\n },\n beforeRender: function () {\n this.options.isLocked = PJQ.app.session.preferences.hasPref(PJQ.constants.preferenceTypes.DAILY_REPORT_IS_LOCKED_AFTER_SUBMIT) && this.options.dailyReport.get('status') === 1;\n this.options.canEdit = this.options.project.hasPermission('dailyReports.canAddInspectionLogs') && !this.options.isLocked;\n },\n renderData: function () {\n return {\n project: this.options.project,\n canEdit: this.options.canEdit\n };\n },\n afterRender: function () {\n this.dataTable = new PJQ.views.dataTables.DataTable({\n el: '.inspection-logs-data-table-container',\n data: this.collection.models,\n isHideSearch: true,\n rowId: \"cid\",\n order: [1, 'asc'],\n language: {\n zeroRecords: this.options.canEdit ? 'Click \"Add Log\" to create a new inspection log' : 'No inspection logs were added for this day'\n },\n onRowDoubleClick: _.bind(function (row) {\n this.editLog(row.data());\n }, this),\n contextMenuOptions: {\n actions: [\n {\n name: 'Edit',\n onClick: _.bind(function (row) {\n this.editLog(row.data());\n }, this),\n isShown: _.bind(function () {\n return this.options.canEdit;\n }, this)\n },\n {\n name: 'View',\n onClick: _.bind(function (row) {\n this.editLog(row.data());\n }, this),\n isShown: _.bind(function () {\n return !this.options.canEdit;\n }, this)\n },\n {\n name: 'Delete',\n isDanger: true,\n isShown: _.bind(function () {\n return this.options.isAdmin && this.options.canEdit;\n }, this),\n onClick: _.bind(function (row) {\n this.deleteLog(row);\n }, this)\n }\n ]\n },\n columns: [\n {\n \"data\": \"attachments\",\n \"title\": \"\",\n \"orderable\": false,\n \"searchable\": false,\n \"width\": \"40px\",\n \"render\": function (data) {\n let attachmentCount = _.size(data.models);\n return '
0 ? 'text-success' : 'text-muted') + '\"> 0 ? 'text-dark' : 'text-muted') + '\">' + attachmentCount.toString() + '
';\n }\n },\n {\n \"data\": \"attributes.type\",\n \"title\": \"Type\",\n \"width\": \"10%\"\n },\n {\n \"data\": \"\",\n \"title\": \"Contact\",\n \"searchable\": false,\n \"width\": \"20%\",\n \"render\": function (data, type, row) {\n let result = 'Not set';\n if (row.contact != null) {\n result = PJQ.helpers.contacts.getContactAnchor({\n id: row.contact.id,\n name: row.contact.get('companyName')\n });\n } else {\n let name = row.get('name');\n if (_.size(name) > 0) {\n result = name;\n }\n }\n return result;\n }\n },\n {\n \"data\": \"attributes.time\",\n \"title\": \"Time\",\n \"searchable\": false,\n \"width\": \"80px\",\n \"render\": function (data) {\n if (data != null) {\n return PJQ.helpers.dateHelpers.getDateString(new Date(data), PJQ.helpers.dateHelpers.dateFormats.TIME);\n }\n return 'Not Set';\n }\n },\n {\n \"data\": \"attributes.status\",\n \"title\": \"Status\",\n \"width\": \"100px\",\n \"render\": function (data) {\n let statusName = PJQ.constants.dailyReports.inspectionLogs.statusNames[data];\n return statusName ? statusName : '';\n }\n },\n {\n \"data\": \"\",\n \"title\": \"\",\n \"orderable\": false,\n \"searchable\": false,\n \"width\": \"80px\",\n \"render\": _.bind(function () {\n let buttons;\n if (this.options.canEdit) {\n buttons = '';\n } else {\n buttons = '';\n }\n if (this.options.isAdmin && this.options.canEdit) {\n buttons += '';\n }\n return '
' + buttons + '
';\n }, this)\n }\n ]\n });\n },\n addClicked: function () {\n let newLog = new PJQ.models.dailyReports.InspectionLog({\n dailyReportId: this.options.dailyReport.id,\n time: new Date()\n });\n this.editLog(newLog);\n },\n editClicked: function (e) {\n let target = $(e.currentTarget),\n row = this.dataTable.getRow(target.closest('tr'));\n this.editLog(row.data());\n },\n editLog: function (log) {\n new PJQ.views.dailyReports.EditInspectionLogModal({\n model: log,\n project: this.options.project,\n isLocked: this.options.isLocked,\n onSave: _.bind(function (log) {\n if (log.hasChanged() || log.isNew()) {\n if (log.isNew()) {\n this.collection.add(log);\n this.dataTable.addRow(log);\n }\n log.save(null, {\n notify: true\n });\n this.dataTable.refresh();\n }\n }, this),\n onClose: _.bind(function (log) {\n if (log.hasChanged()) {\n log.fetch({\n success: _.bind(function () {\n this.dataTable.refresh();\n }, this)\n });\n }\n }, this),\n onDelete: _.bind(function (log) {\n if (log.id > 0) {\n let row = this.dataTable.getRow(log.cid);\n this.collection.remove(log);\n log.destroy();\n if (row != null) {\n this.dataTable.removeRow(row);\n }\n }\n }, this)\n });\n },\n deleteClicked: function (e) {\n let target = $(e.currentTarget),\n row = this.dataTable.getRow(target.closest('tr'));\n this.deleteLog(row);\n },\n deleteLog: function (row) {\n let log = row.data();\n new PJQ.views.modals.DeleteCancel({\n header: \"Confirm Deletion\",\n body: \"Are you sure you want to delete this inspection log?\",\n onDelete: _.bind(function () {\n this.collection.remove(log);\n log.destroy();\n this.dataTable.removeRow(row);\n }, this)\n });\n }\n});\n\nPJQ.views.dailyReports.EditInspectionLogModal = PJQ.views.BaseModal.extend({\n defaults: {\n template: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'modal-edit-inspection-log'),\n maxWidth: 800\n },\n events: {\n 'click .btn-reject': 'reject',\n 'click .btn-approve': 'approve',\n 'click .btn-save': 'onSave',\n 'click .btn-close': 'close',\n 'click .btn-delete': 'onDelete'\n },\n beforeModalCreated: function () {\n this.options.isAdmin = this.options.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n && this.options.project.hasPermission('dailyReports.isAdminInspectionLogs');\n this.options.canEdit = this.model.isNew() || (this.options.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n && this.options.project.hasPermission('dailyReports.canAddInspectionLogs') && !this.options.isLocked);\n },\n renderData: function () {\n return {\n model: this.model,\n isAdmin: this.options.isAdmin,\n canEdit: this.options.canEdit\n };\n },\n afterRender: function () {\n if (this.options.canEdit) {\n new PJQ.Binder(this.$el, this.model, {\n setDefaultValues: true,\n watchElements: [\n 'input',\n 'textarea'\n ]\n });\n\n this.renderStatus();\n\n new PJQ.views.contacts.ContactsSelectInput({\n el: this.$('.log-contact'),\n context: PJQ.constants.contacts.contexts.PROJECTCONTACTS,\n selectedContact: this.model.contact,\n isSingleChoice: true,\n isReadOnly: !this.options.canEdit,\n addButton: this.$('.btn-edit-contact'),\n onChange: _.bind(function (selectedContact) {\n this.model.contact = selectedContact;\n this.model.set('name', '');\n this.model.isDirty = true;\n this.renderContact();\n }, this)\n });\n }\n this.renderContact();\n\n new PJQ.inputs.Datepicker({\n el: this.$('.log-time'),\n isTimeOnly: true,\n datepickerOptions: {\n defaultDate: this.model.get('time')\n },\n onChange: _.bind(function (newTime) {\n let curTime = this.model.get('time');\n if (curTime == null || PJQ.helpers.dateHelpers.checkTimesDifferent(newTime, new Date(curTime))) {\n this.model.set('time', newTime);\n }\n }, this)\n });\n\n this.fileUploader = new PJQ.views.files.FileUploaderGrid({\n el: this.$('.log-file-upload'),\n collection: this.model.attachments,\n canUpload: this.options.canEdit,\n // includeProjectAttachments: true,\n canDelete: this.options.isAdmin && this.options.canEdit,\n previewImageDimension: 150,\n sortDirection: 'asc',\n onDelete: _.bind(function (attachment, callback) {\n if (attachment.id > 0) {\n attachment.set('isDeleted', true);\n } else {\n attachment.destroy();\n }\n this.model.isDirty = true;\n callback();\n }, this)\n });\n },\n reject: function () {\n this.updateStatus(PJQ.constants.dailyReports.inspectionLogs.statuses.REJECTED);\n },\n approve: function () {\n this.updateStatus(PJQ.constants.dailyReports.inspectionLogs.statuses.APPROVED);\n },\n updateStatus: function (status) {\n this.model.set('status', status);\n this.renderStatus();\n },\n renderStatus: function () {\n let status = this.model.get('status');\n this.$('.log-status>button').each(function () {\n if ($(this).data('value') === status) {\n $(this).removeClass('inactive').addClass('font-weight-normal');\n } else {\n $(this).addClass('inactive').removeClass('font-weight-normal');\n }\n });\n },\n renderContact: function () {\n let $contactSelect = this.$('.log-contact'),\n $contactName = this.$('.log-name');\n if (this.model.contact != null) {\n $contactName.addClass('hidden');\n $contactSelect.removeClass('hidden');\n } else {\n $contactSelect.addClass('hidden');\n $contactName.removeClass('hidden');\n }\n },\n onSave: function () {\n if (this.fileUploader.isUploading()) {\n new PJQ.views.BaseModal({\n header: \"Files Uploading\",\n body: \"You can't save while files are uploading\"\n });\n } else {\n if (this.options.onSave) {\n this.options.onSave(this.model);\n this.removeModal();\n }\n }\n },\n close: function () {\n if (this.options.canEdit && this.model.hasChanged()) {\n new PJQ.views.modals.SaveDontSave({\n header: \"Unsaved Changes\",\n body: \"Do you want to save changes?\",\n onSave: _.bind(function () {\n this.onSave();\n }, this),\n onDontSave: _.bind(function () {\n this.onClose(this.model);\n this.removeModal();\n }, this)\n });\n } else {\n this.onClose(this.model);\n this.removeModal();\n }\n },\n onDelete: function () {\n new PJQ.views.modals.DeleteCancel({\n header: \"Confirm Deletion\",\n body: \"Are you sure you want to delete this inspection log?\",\n onDelete: _.bind(function () {\n if (this.options.onDelete) {\n this.options.onDelete(this.model);\n }\n this.removeModal();\n }, this)\n });\n }\n});\n","//Models\nPJQ.models.dailyReports.Note = PJQ.models.BaseModel.extend({\n\tidAttribute: 'noteId',\n\tnotifyName: 'Note',\n\tendpoint: function () {\n\t\treturn PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t{\n\t\t\t\tendpoint: 'dailyReports',\n\t\t\t\tvalue: this.get('dailyReportId')\n\t\t\t},\n\t\t\t{\n\t\t\t\tendpoint: 'notes',\n\t\t\t\tvalue: this.id\n\t\t\t}\n\t\t]);\n\t},\n\tparse: function (model) {\n\t\tmodel = model ? model : {};\n\n\t\tthis.attachments = new PJQ.collections.dailyReports.NoteAttachments(model.attachments);\n\t\tthis.attachments.on('update', _.bind(function () {\n\t\t\tthis.isDirty = true;\n\t\t}, this));\n\n\t\treturn model;\n\t},\n\tgetCategoryName: function () {\n\t\tswitch (this.get('category')) {\n\t\t\tcase 0:\n\t\t\t\treturn 'General Notes';\n\t\t\tcase 1:\n\t\t\t\treturn 'Safety Observations';\n\t\t\tcase 2:\n\t\t\t\treturn 'Quality Control Observations';\n\t\t\tcase 3:\n\t\t\t\treturn 'Materials';\n\t\t\tcase 4:\n\t\t\t\treturn 'Cost Impact';\n\t\t\tdefault:\n\t\t\t\treturn '';\n\t\t}\n\t},\n\tbeforeSave: function () {\n\t\tthis.set('attachments', this.attachments.getChangedModels());\n\t},\n\trestoreDefaultTheme: function () {\n\n\t}\n});\n\nPJQ.models.dailyReports.NoteAttachment = PJQ.models.files.File.extend({\n\tidAttribute: 'noteAttachmentId',\n\tendpoint: function () {\n\t\treturn PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t{\n\t\t\t\tendpoint: 'notes',\n\t\t\t\tvalue: this.get('noteId')\n\t\t\t},\n\t\t\t{\n\t\t\t\tendpoint: 'attachments',\n\t\t\t\tvalue: this.id\n\t\t\t}\n\t\t]);\n\t}\n});\n\n//Collections\nPJQ.collections.dailyReports.Notes = PJQ.collections.BaseCollection.extend({\n\tmodel: PJQ.models.dailyReports.Note\n});\n\nPJQ.collections.dailyReports.NoteAttachments = PJQ.collections.dailyReports.Attachments.extend({\n\tmodel: PJQ.models.dailyReports.NoteAttachment\n});","PJQ.views.dailyReports.NoteManagement = PJQ.views.BaseView.extend({\n\tdefaults: {\n\t\ttemplate: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'Note-Management')\n\t},\n\tevents: {\n\t\t'click .add-note': 'addClicked',\n\t\t'click .edit-note': 'editClicked',\n\t\t'click .delete-note': 'deleteClicked'\n\t},\n\tbeforeFirstRender: function () {\n\t\tthis.options.isAdmin = this.options.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n\t\t\t&& this.options.project.hasPermission('dailyReports.isAdminNotes');\n\n\t\tthis.listenTo(this.collection, 'sync', _.bind(function () {\n\t\t\tthis.dataTable.refresh();\n\t\t}, this));\n\t},\n\tbeforeRender: function () {\n\t\tthis.options.isLocked = PJQ.app.session.preferences.hasPref(PJQ.constants.preferenceTypes.DAILY_REPORT_IS_LOCKED_AFTER_SUBMIT) && this.options.dailyReport.get('status') === 1;\n\t\tthis.options.canEdit = this.options.project.hasPermission('dailyReports.canAddNotes') && !this.options.isLocked;\n\t},\n\trenderData: function () {\n\t\treturn {\n\t\t\tproject: this.options.project,\n\t\t\tcanEdit: this.options.canEdit\n\t\t};\n\t},\n\tafterRender: function () {\n\t\tthis.dataTable = new PJQ.views.dataTables.DataTable({\n\t\t\tel: '.notes-data-table-container',\n\t\t\tdata: this.collection.models,\n\t\t\tisHideSearch: true,\n\t\t\trowId: 'cid',\n\t\t\torder: [1, 'asc'],\n\t\t\tlanguage: {\n\t\t\t\tzeroRecords: this.options.canEdit ? 'Click \"Add Note\" to create a new note' : 'No notes were added for this day'\n\t\t\t},\n\t\t\tonRowDoubleClick: _.bind(function (row) {\n\t\t\t\tif (!this.isLocked) {\n\t\t\t\t\tthis.editNote(row.data());\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\tcontextMenuOptions: {\n\t\t\t\tactions: [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Edit',\n\t\t\t\t\t\tonClick: _.bind(function (row) {\n\t\t\t\t\t\t\tthis.editNote(row.data());\n\t\t\t\t\t\t}, this),\n\t\t\t\t\t\tisShown: _.bind(function () {\n\t\t\t\t\t\t\treturn this.options.canEdit;\n\t\t\t\t\t\t}, this)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'View',\n\t\t\t\t\t\tonClick: _.bind(function (row) {\n\t\t\t\t\t\t\tthis.editNote(row.data());\n\t\t\t\t\t\t}, this),\n\t\t\t\t\t\tisShown: _.bind(function () {\n\t\t\t\t\t\t\treturn !this.options.canEdit;\n\t\t\t\t\t\t}, this)\n\t\t\t\t\t},\n\t\t\t\t\t{\n\t\t\t\t\t\tname: 'Delete',\n\t\t\t\t\t\tisDanger: true,\n\t\t\t\t\t\tisShown: _.bind(function () {\n\t\t\t\t\t\t\treturn this.options.isAdmin && this.options.canEdit;\n\t\t\t\t\t\t}, this),\n\t\t\t\t\t\tonClick: _.bind(function (row) {\n\t\t\t\t\t\t\tthis.deleteNote(row);\n\t\t\t\t\t\t}, this)\n\t\t\t\t\t}\n\t\t\t\t]\n\t\t\t},\n\t\t\tcolumns: [\n\t\t\t\t{\n\t\t\t\t\t\"data\": \"attachments\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"orderable\": false,\n\t\t\t\t\t\"searchable\": false,\n\t\t\t\t\t\"width\": \"40px\",\n\t\t\t\t\t\"render\": function (data) {\n\t\t\t\t\t\tlet attachmentCount = _.size(data.models);\n\t\t\t\t\t\treturn '
0 ? 'text-success' : 'text-muted') + '\"> 0 ? 'text-dark' : 'text-muted') + '\">' + attachmentCount.toString() + '
';\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\t\"data\": \"attributes.category\",\n\t\t\t\t\t\"title\": \"Category\",\n\t\t\t\t\t\"width\": \"25%\",\n\t\t\t\t\t\"render\": function (data, type, row) {\n\t\t\t\t\t\treturn row.getCategoryName();\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t{\"data\": \"attributes.noteText\", \"title\": \"Description\"},\n\t\t\t\t{\n\t\t\t\t\t\"data\": \"\",\n\t\t\t\t\t\"title\": \"\",\n\t\t\t\t\t\"orderable\": false,\n\t\t\t\t\t\"searchable\": false,\n\t\t\t\t\t\"width\": \"80px\",\n\t\t\t\t\t\"render\": _.bind(function () {\n\t\t\t\t\t\tlet buttons;\n\t\t\t\t\t\tif (this.options.canEdit) {\n\t\t\t\t\t\t\tbuttons = '';\n\t\t\t\t\t\t}\n\t\t\t\t\t\telse {\n\t\t\t\t\t\t\tbuttons = '';\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (this.options.isAdmin && this.options.canEdit) {\n\t\t\t\t\t\t\tbuttons += '';\n\t\t\t\t\t\t}\n\t\t\t\t\t\treturn '
' + buttons + '
';\n\t\t\t\t\t}, this)\n\t\t\t\t}\n\t\t\t]\n\t\t});\n\t},\n\taddClicked: function () {\n\t\tlet newNote = new PJQ.models.dailyReports.Note({\n\t\t\tdailyReportId: this.options.dailyReport.id,\n\t\t\tcategory: 0,\n\t\t\tnoteText: \"\"\n\t\t});\n\t\tthis.editNote(newNote);\n\t},\n\teditClicked: function (e) {\n\t\tlet target = $(e.currentTarget),\n\t\t\trow = this.dataTable.getRow(target.closest('tr')),\n\t\t\tnote = row.data();\n\t\tthis.editNote(note);\n\t},\n\teditNote: function (note) {\n\t\tnew PJQ.views.dailyReports.EditNoteModal({\n\t\t\tmodel: note,\n\t\t\tproject: this.options.project,\n\t\t\tisLocked: this.options.isLocked,\n\t\t\tonSave: _.bind(function (note) {\n\t\t\t\tif (note.hasChanged() || note.isNew()) {\n\t\t\t\t\tif (note.isNew()) {\n\t\t\t\t\t\tthis.collection.add(note);\n\t\t\t\t\t\tthis.dataTable.addRow(note);\n\t\t\t\t\t}\n\t\t\t\t\tnote.save(null, {\n\t\t\t\t\t\tnotify: true\n\t\t\t\t\t});\n\t\t\t\t\tthis.dataTable.refresh();\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\tonClose: _.bind(function (note) {\n\t\t\t\tif (note.hasChanged()) {\n\t\t\t\t\tnote.fetch({\n\t\t\t\t\t\tsuccess: _.bind(function () {\n\t\t\t\t\t\t\tthis.dataTable.refresh();\n\t\t\t\t\t\t}, this)\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}, this),\n\t\t\tonDelete: _.bind(function (note) {\n\t\t\t\tif (note.id > 0) {\n\t\t\t\t\tlet row = this.dataTable.getRow(note.cid);\n\t\t\t\t\tthis.collection.remove(note);\n\t\t\t\t\tnote.destroy();\n\t\t\t\t\tif (row != null) {\n\t\t\t\t\t\tthis.dataTable.removeRow(row);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}, this)\n\t\t});\n\t},\n\tdeleteClicked: function (e) {\n\t\tlet target = $(e.currentTarget),\n\t\t\trow = this.dataTable.getRow(target.closest('tr'));\n\t\tthis.deleteNote(row);\n\t},\n\tdeleteNote: function (row) {\n\t\tlet note = row.data();\n\t\tnew PJQ.views.modals.DeleteCancel({\n\t\t\theader: \"Confirm Deletion\",\n\t\t\tbody: \"Are you sure you want to delete this note?\",\n\t\t\tonDelete: _.bind(function () {\n\t\t\t\tthis.collection.remove(note);\n\t\t\t\tnote.destroy();\n\t\t\t\tthis.dataTable.removeRow(row);\n\t\t\t}, this)\n\t\t});\n\t}\n});\n\nPJQ.views.dailyReports.EditNoteModal = PJQ.views.BaseModal.extend({\n\tdefaults: {\n\t\ttemplate: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'Modal-Edit-Note'),\n\t\tmaxWidth: 800\n\t},\n\tevents: {\n\t\t'click .note-save': 'onSave',\n\t\t'click .note-close': 'close',\n\t\t'click .note-delete': 'onDelete'\n\t},\n\tbeforeModalCreated: function () {\n\t\tthis.options.isAdmin = this.options.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n\t\t\t&& this.options.project.hasPermission('dailyReports.isAdminNotes');\n\t\tthis.options.canEdit = this.model.isNew() || (this.options.project.get('masterUserId') === PJQ.app.session.user.get('masterUserId')\n\t\t\t&& this.options.project.hasPermission('dailyReports.canAddNotes') && !this.options.isLocked);\n\t},\n\trenderData: function () {\n\t\treturn {\n\t\t\tmodel: this.model,\n\t\t\tisAdmin: this.options.isAdmin,\n\t\t\tcanEdit: this.options.canEdit\n\t\t};\n\t},\n\tafterRender: function () {\n\t\tif (this.options.canEdit) {\n\t\t\tnew PJQ.Binder(this.$el, this.model, {\n\t\t\t\twatchElements: [\n\t\t\t\t\t'input',\n\t\t\t\t\t'textarea'\n\t\t\t\t]\n\t\t\t});\n\t\t}\n\n\t\tnew PJQ.inputs.Selectpicker({\n\t\t\tel: this.$('.note-category'),\n\t\t\tonChange: _.bind(function (value) {\n\t\t\t\tthis.model.set('category', value);\n\t\t\t}, this),\n\t\t\tdefaultValue: this.model.get('category')\n\t\t});\n\n\t\tthis.fileUploader = new PJQ.views.files.FileUploaderGrid({\n\t\t\tel: this.$('.note-file-upload'),\n\t\t\tcollection: this.model.attachments,\n\t\t\tcanUpload: this.options.canEdit,\n\t\t\t// includeProjectAttachments: true,\n\t\t\tcanDelete: this.options.isAdmin && this.options.canEdit,\n\t\t\tpreviewImageDimension: 150,\n\t\t\tsortDirection: 'asc',\n\t\t\tonDelete: _.bind(function (attachment, callback) {\n\t\t\t\tif (attachment.id > 0) {\n\t\t\t\t\tattachment.set('isDeleted', true);\n\t\t\t\t}\n\t\t\t\telse {\n\t\t\t\t\tattachment.destroy();\n\t\t\t\t}\n\t\t\t\tthis.model.isDirty = true;\n\t\t\t\tcallback();\n\t\t\t}, this)\n\t\t});\n\t},\n\tonSave: function () {\n\t\tif (this.fileUploader.isUploading()) {\n\t\t\tnew PJQ.views.BaseModal({\n\t\t\t\theader: \"Files Uploading\",\n\t\t\t\tbody: \"You can't save while files are uploading\"\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tif (this.options.onSave) {\n\t\t\t\tthis.options.onSave(this.model);\n\t\t\t\tthis.removeModal();\n\t\t\t}\n\t\t}\n\t},\n\tclose: function () {\n\t\tif (this.options.canEdit && this.model.hasChanged()) {\n\t\t\tnew PJQ.views.modals.SaveDontSave({\n\t\t\t\theader: \"Unsaved Changes\",\n\t\t\t\tbody: \"Do you want to save changes?\",\n\t\t\t\tonSave: _.bind(function () {\n\t\t\t\t\tthis.onSave();\n\t\t\t\t}, this),\n\t\t\t\tonDontSave: _.bind(function () {\n\t\t\t\t\tthis.onClose(this.model);\n\t\t\t\t\tthis.removeModal();\n\t\t\t\t}, this)\n\t\t\t});\n\t\t}\n\t\telse {\n\t\t\tthis.onClose(this.model);\n\t\t\tthis.removeModal();\n\t\t}\n\t},\n\tonDelete: function () {\n\t\tnew PJQ.views.modals.DeleteCancel({\n\t\t\theader: \"Confirm Deletion\",\n\t\t\tbody: \"Are you sure you want to delete this note?\",\n\t\t\tonDelete: _.bind(function () {\n\t\t\t\tif (this.options.onDelete) {\n\t\t\t\t\tthis.options.onDelete(this.model);\n\t\t\t\t}\n\t\t\t\tthis.removeModal();\n\t\t\t}, this)\n\t\t});\n\t}\n});\n","//Models\nPJQ.models.dailyReports.Settings = PJQ.models.BaseModel.extend({\n\tidAttribute: 'settingId',\n\tendpoint: function () {\n\t\treturn PJQ.helpers.urlHelpers.generateEndpoint([\n\t\t\t{\n\t\t\t\tendpoint: 'projects',\n\t\t\t\tvalue: this.get('project').id\n\t\t\t},\n\t\t\t{\n\t\t\t\tendpoint: 'dailyReports'\n\t\t\t},\n\t\t\t{\n\t\t\t\tendpoint: 'settings'\n\t\t\t}\n\t\t]);\n\t},\n\tparse: function(model){\n\t\tif(model){\n\t\t\tif(model.templates){\n\t\t\t\tthis.templates = new PJQ.collections.dailyReports.SurveyTemplates(model.templates);\n\t\t\t}\n\t\t\telse{\n\t\t\t\tthis.templates = new PJQ.collections.dailyReports.SurveyTemplates();\n\t\t\t}\n\n\t\t\tif(model.notificationSettings){\n\t\t\t\tthis.notificationSettings = new PJQ.collections.dailyReports.NotificationSettingsPerUsers(model.notificationSettings);\n\t\t\t}\n\t\t\telse{\n\t\t\t\tthis.notificationSettings = new PJQ.collections.dailyReports.NotificationSettingsPerUsers();\n\t\t\t}\n\t\t}\n\t\telse{\n\t\t\tthis.templates = new PJQ.collections.dailyReports.SurveyTemplates(model.templates);\n\t\t\tthis.notificationSettings = new PJQ.collections.dailyReports.NotificationSettingsPerUsers(model.notificationSettings);\n\t\t}\n\t\treturn model;\n\t},\n\tbeforeSave: function(){\n\t\tthis.set('templates', _.map(this.templates.models, function(template){\n\t\t\treturn {\n\t\t\t\t\"surveyTemplateId\": template.id\n\t\t\t};\n\t\t}));\n\t}\n});\n\nPJQ.models.dailyReports.NotificationSettingsPerUser = PJQ.models.BaseModel.extend({\n\tidAttribute: 'notificationSettingsUserId'\n});\n\n\n//Collections\nPJQ.collections.dailyReports.NotificationSettingsPerUsers = PJQ.collections.BaseCollection.extend({\n\tmodel: PJQ.models.dailyReports.NotificationSettingsPerUser,\n\taddUserForDay: function(id, day) {\n\n\t\t// find existing NotificationSettingPerUser\n\t\tlet setting = null;\n\t\t_.each(this.models, _.bind(function(model) {\n\t\t\tif (model.get('userId') === id)\n\t\t\t\tsetting = model;\n\t\t}, this));\n\n\t\tif (setting) {\n\t\t\tsetting.set('workDays', setting.get('workDays') | day);\n\t\t}\n\t\telse {\n\t\t\tsetting = new PJQ.models.dailyReports.NotificationSettingsPerUser();\n\t\t\tsetting.set('userId', id);\n\t\t\tsetting.set('projectId', PJQ.app.session.project.id);\n\t\t\tsetting.set('workDays', day);\n\n\t\t\tthis.models.push(setting);\n\t\t}\n\t},\n\tremoveUserFromDay: function(id, day) {\n\n\t\t// find existing NotificationSettingPerUser\n\t\tlet setting = null;\n\t\t_.each(this.models, _.bind(function(model) {\n\t\t\tif (model.get('userId') === id) {\n\t\t\t\tsetting = model;\n\t\t\t}\n\t\t}, this));\n\n\t\t// remove this day from its bitmask\n\t\tsetting.set('workDays', setting.get('workDays') & ~day);\n\t},\n\tgetContactsForDay: function(day) {\n\t\tlet contacts = [];\n\t\t_.each(this.models, _.bind(function(model) {\n\t\t\tif ((model.get('workDays') & day) === day) {\n\t\t\t\tlet contact = new PJQ.models.BaseModel();\n\t\t\t\tcontact.set('id', model.get('userId'));\n\t\t\t\tcontact.set('companyName', model.get('companyName'));\n\t\t\t\tcontact.set('contactName', model.get('contactName'));\n\t\t\t\tcontacts.push(contact);\n\t\t\t}\n\t\t}, this));\n\t\treturn contacts;\n\t}\n});\n","PJQ.views.dailyReports.DailyReportSettingsModal = PJQ.views.BaseModal.extend({\n defaults: {\n template: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'Modal-Daily-Report-Settings'),\n subTemplates: {\n templateBadge: new PJQ.templating.Template(PJQ.constants.modules.DAILYREPORTS, 'Survey-Template-Badge')\n },\n maxWidth: 500\n },\n events: {\n 'click .btn-report-day': 'reportDayClicked',\n 'click .survey-template-edit': 'editTemplate',\n 'click .survey-template-delete': 'removeTemplate',\n 'click .is-disable-all-notifications': 'disableNotifications',\n 'click .settings-save': 'onSave',\n 'mouseup .input-adjust-image-size': 'adjustImageClicked'\n },\n afterModalCreated: function () {\n PJQ.app.session.project.fetchDailyReportSettings(_.bind(function (settings) {\n this.model = settings;\n PJQ.app.session.fetchDailyReportTemplates(_.bind(function (templates) {\n this.templates = templates;\n PJQ.app.session.fetchUsers(_.bind(function (contacts) {\n this.contacts = contacts;\n this.render()\n }, this));\n }, this));\n }, this));\n },\n renderData: function () {\n return {\n setDefaultValues: true,\n model: this.model,\n project: this.options.project\n };\n },\n afterRender: function () {\n if (this.model == null) {\n return;\n }\n\n new PJQ.Binder(this.$el, this.model, {\n setDefaultValues: true,\n watchElements: [\n 'input'\n ]\n });\n\n let surveyName = this.options.project.preferences.getPref(PJQ.constants.preferenceTypes.DAILY_REPORT_SURVEY_NAME),\n attachmentsName = this.options.project.preferences.getPref(PJQ.constants.preferenceTypes.DAILY_REPORT_ATTACHMENTS_NAME);\n this.sort = [\n {\n attributes: {\n name: \"Weather\",\n sortNumber: this.model.get('weatherSort')\n }\n },\n {\n attributes: {\n name: \"Work Logs\",\n sortNumber: this.model.get('workLogSort')\n }\n },\n {\n attributes: {\n name: \"Notes\",\n sortNumber: this.model.get('noteSort')\n }\n },\n {\n attributes: {\n name: \"Deliveries\",\n sortNumber: this.model.get('deliverySort')\n }\n },\n {\n attributes: {\n name: \"Communications\",\n sortNumber: this.model.get('communicationSort')\n }\n },\n {\n attributes: {\n name: \"Inspections\",\n sortNumber: this.model.get('inspectionSort')\n }\n },\n {\n attributes: {\n name: _.size(surveyName) > 0 ? surveyName : \"Survey\",\n sortNumber: this.model.get('surveySort')\n }\n },\n {\n attributes: {\n name: _.size(attachmentsName) > 0 ? attachmentsName : \"Attachments\",\n sortNumber: this.model.get('attachmentSort')\n }\n }\n ];\n\n this.sortTable = new PJQ.views.dataTables.DataTable({\n el: this.$('.export-sort-table'),\n isHideSearch: true,\n rowId: \"cid\",\n data: this.sort,\n order: [0, 'asc'],\n paging: false,\n columns: [\n {\n \"title\": \"Sort Order\",\n \"data\": \"attributes.sortNumber\",\n \"orderable\": false,\n \"visible\": false,\n \"render\": _.bind(function (data, type, row) {\n let expenseSort = this.model.get('expenseSort');\n if (data > expenseSort) {\n return data - 1\n } else {\n return data\n }\n }, this)\n },\n {\n \"title\": \"Name\",\n \"data\": \"attributes.name\",\n \"orderable\": false\n }\n ]\n });\n if (this.model != null) {\n this.reportTimePicker = new PJQ.inputs.Datepicker({\n el: this.$('.input-report-time'),\n isTimeOnly: true,\n datepickerOptions: {\n defaultDate: new Date(this.model.get('time'))\n }\n });\n\n let projectStart = PJQ.app.session.project.get('startDate');\n this.projectStartDatePicker = new PJQ.inputs.Datepicker({\n el: this.$('.input-project-start'),\n datepickerOptions: {\n format: PJQ.helpers.dateHelpers.dateFormats.DATE.toUpperCase(),\n defaultDate: projectStart != null ? PJQ.helpers.dateHelpers.parseDateString(projectStart, false) : null\n }\n });\n\n let projectEnd = PJQ.app.session.project.get('endDate');\n this.projectEndDatePicker = new PJQ.inputs.Datepicker({\n el: this.$('.input-project-end'),\n datepickerOptions: {\n format: PJQ.helpers.dateHelpers.dateFormats.DATE.toUpperCase(),\n defaultDate: projectEnd != null ? PJQ.helpers.dateHelpers.parseDateString(projectEnd, false) : null\n }\n });\n\n new PJQ.Alert(this.$('.schedule-settings-alert'), {\n text: 'Any un-submitted reports on work days within the project start and finish dates will be automatically marked as missed after the due time.',\n cookie: PJQ.constants.cookies.NOTIFY_DAILY_REPORTS_PROJECT_START_END\n });\n\n this.notificationModeSelectPicker = new PJQ.inputs.Selectpicker({\n el: this.$('.notification-mode'),\n hideDisabled: false,\n isMultiple: false,\n isRequired: true,\n isIntChoices: true,\n defaultValue: this.model.get('notificationMode'),\n onChange: _.bind(function () {\n this.model.set('notificationMode', this.notificationModeSelectPicker.getValue());\n this.notificationTypeChanged(this.notificationModeSelectPicker.getValue());\n }, this)\n });\n this.notificationTypeChanged(this.notificationModeSelectPicker.getValue());\n\n this.notificationSettingsPerDay = [];\n _.each(PJQ.constants.date.WEEKDAYNAMES, _.bind(function (day, index) {\n let ns = new PJQ.views.contacts.ContactsSelectInput({\n el: this.$('.notification-settings-day-picker[data-day=' + day.bit + ']'),\n context: PJQ.constants.contacts.contexts.PROJECTCONTACTS,\n selectedContact: this.model.notificationSettings.getContactsForDay(day.bit),\n isSingleChoice: false,\n emptyNotice: \"No Project Contacts Selected\",\n onAdd: _.bind(function (contacts) {\n _.each(contacts, _.bind(function (contact) {\n this.model.notificationSettings.addUserForDay(contact.id, day.bit);\n }, this));\n }, this),\n onDelete: _.bind(function (contact) {\n this.model.notificationSettings.removeUserFromDay(contact.id, day.bit);\n }, this)\n });\n\n this.notificationSettingsPerDay.push(ns);\n }, this));\n this.notificationPerDayRefresh();\n\n this.$('.submitted-email-list').val(this.model.get('submittedEmailList'));\n\n this.renderTemplatePicker();\n this.checkPixelValue();\n }\n },\n notificationPerDayRefresh: function () {\n _.each(PJQ.constants.date.WEEKDAYNAMES, _.bind(function (day, index) {\n let daySelected = this.$('.btn-report-day[data-value=\"' + day.bit + '\"]').hasClass('btn-success');\n if (daySelected) {\n this.$('.notification-settings-by-day[data-day=' + day.bit + ']').show();\n } else {\n this.$('.notification-settings-by-day[data-day=' + day.bit + ']').hide();\n }\n }, this));\n },\n notificationTypeChanged: function (value) {\n switch (value) {\n case PJQ.constants.dailyReports.notificationModes.DISABLED:\n this.$('.notification-settings-by-day-container, .submitted-email-list-container').hide();\n break;\n case PJQ.constants.dailyReports.notificationModes.PER_USER_DAY:\n this.$('.notification-settings-by-day-container').show();\n this.$('.submitted-email-list-container').show();\n break;\n default:\n this.$('.notification-settings-by-day-container').hide();\n this.$('.submitted-email-list-container').show();\n }\n },\n renderTemplatePicker: function () {\n let notPickedTemplates = _.filter(this.templates.models, _.bind(function (template) {\n return this.model.templates.get(template.id) == null;\n }, this)),\n $picker = $('