1 line
18 KiB
JavaScript
1 line
18 KiB
JavaScript
"use strict";function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor))throw new TypeError("Cannot call a class as a function")}function _defineProperties(target,props){for(var descriptor,i=0;i<props.length;i++)descriptor=props[i],descriptor.enumerable=descriptor.enumerable||!1,descriptor.configurable=!0,"value"in descriptor&&(descriptor.writable=!0),Object.defineProperty(target,descriptor.key,descriptor)}function _createClass(Constructor,protoProps,staticProps){return protoProps&&_defineProperties(Constructor.prototype,protoProps),staticProps&&_defineProperties(Constructor,staticProps),Constructor}supersamApp.controller("EmailSubscribesController",["$scope","$http","$timeout","config","$filter","Upload",function($scope,$http,$timeout,config,$filter,Upload){var EmailSubscribes;return EmailSubscribes=function(){var EmailSubscribes=/*#__PURE__*/function(){function EmailSubscribes(){_classCallCheck(this,EmailSubscribes),this.getSubscribes=this.getSubscribes.bind(this),this.getSubscribeStatusLabel=this.getSubscribeStatusLabel.bind(this),this.changeSubscribeStatus=this.changeSubscribeStatus.bind(this),this.setSubscribeModalActiveTab=this.setSubscribeModalActiveTab.bind(this),this.subscribeModal=this.subscribeModal.bind(this),this.addSubscribe=this.addSubscribe.bind(this),this.editSubscribe=this.editSubscribe.bind(this),this.confirmSubscribeEdit=this.confirmSubscribeEdit.bind(this),this.uploadSubscribeRecipientsList=this.uploadSubscribeRecipientsList.bind(this),this.deleteSubscribeRecipient=this.deleteSubscribeRecipient.bind(this),this.uploadSubscribeAttachmentsList=this.uploadSubscribeAttachmentsList.bind(this),this.deleteSubscribeAttachment=this.deleteSubscribeAttachment.bind(this),$scope.utilities.showContentOnLoad()}return _createClass(EmailSubscribes,[{key:"getSubscribes",value:function getSubscribes(){var dataToSend,_this=this,subscribeId=0<arguments.length&&void 0!==arguments[0]?arguments[0]:null;if(!this.isSubscribesLoading)return this.isSubscribesLoading=!0,dataToSend={action:"getSubscribes",month:config.subscribes.month,year:config.subscribes.year,subscribeId:subscribeId},$http.post(config.urls.subscribes,dataToSend).then(function(response){var data;if(data=response.data,_this.isSubscribesLoading=!1,data)return data.status&&"success"===data.status?(_this.emailErrors=[],!subscribeId&&(config.subscribes=data.subscribes)):data.errors&&data.errors.length?_this.errors=data.errors:toastr.error(config.global_labels.defaultErrorMessage.value)})["catch"](function(response){return response.data&&response.data.errors?_this.emailErrors=response.data.errors:toastr.error(config.global_labels.defaultErrorMessage.value),_this.isSubscribesLoading=!1})}},{key:"getSubscribeStatusLabel",value:function getSubscribeStatusLabel(statusId){var i,label,len,ref,status,v;for(label="-",ref=config.subscribeStatuses,(i=0,len=ref.length);i<len;i++)v=ref[i],v.id===statusId&&(status=v);return status&&(label=status.label),label}},{key:"changeSubscribeStatus",value:function changeSubscribeStatus(subscribe,newStatus){var confirmMessage,dataToSend,_this2=this;if(!this.isSubmitting){switch(newStatus){case"deleted":if(!config.isAdmin&&subscribe.createdBy!==config.loggedInUserId)return!1;confirmMessage="\u0443\u0434\u0430\u043B\u0438\u0442\u044C";break;case"queued":confirmMessage="\u043F\u043E\u0441\u0442\u0430\u0432\u0438\u0442\u044C \u0432 \u043E\u0447\u0435\u0440\u0435\u0434\u044C";break;case"stopped":confirmMessage="\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C";}if(confirm("\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 "+confirmMessage+" \u0434\u0430\u043D\u043D\u0443\u044E \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0443?"))return this.isSubmitting=!0,dataToSend={action:"setSubscribeStatus",newStatus:newStatus,subscribeId:subscribe.id},$http.post(config.urls.subscribes,dataToSend).then(function(response){var data,error,i,key,len,ref,ref1,results,results1,tmpSubscribe;if(data=response.data,_this2.isSubmitting=!1,data){if(data.status&&"success"===data.status){if(_this2.emailErrors=[],"deleted"!==newStatus)return subscribe.status=angular.copy(newStatus),toastr.success("\u0421\u0442\u0430\u0442\u0443\u0441 \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0438 \u0431\u044B\u043B \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0438\u0437\u043C\u0435\u043D\u0435\u043D");for(key in toastr.success("\u0420\u0430\u0441\u0441\u044B\u043B\u043A\u0430 \u0431\u044B\u043B\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0443\u0434\u0430\u043B\u0435\u043D\u0430"),ref=config.subscribes.list,results=[],ref)tmpSubscribe=ref[key],subscribe.id===tmpSubscribe.id?results.push(config.subscribes.list.splice(key,1)):results.push(void 0);return results}if(data.errors&&data.errors.length){for(ref1=data.errors,results1=[],(i=0,len=ref1.length);i<len;i++)error=ref1[i],results1.push(toastr.error(error));return results1}return toastr.error(config.global_labels.defaultErrorMessage.value)}})["catch"](function(response){var error,i,len,ref;if(response.data&&response.data.errors)for(ref=data.errors,i=0,len=ref.length;i<len;i++)error=ref[i],toastr.error(error);else toastr.error(config.global_labels.defaultErrorMessage.value);return _this2.isSubmitting=!1})}}},{key:"setSubscribeModalActiveTab",value:function setSubscribeModalActiveTab(tab){return this.subscribeModalActiveTab=tab}},{key:"subscribeModal",value:function subscribeModal(action){var _this3=this;return this.subscribeModalIncorrectRecipients=[],this.subscribeModalErrors=[],$timeout(function(){return angular.element("#subscribeModal").modal(action),angular.element("a[href='#tabSubscribeBody']").removeClass("active").click(),_this3.subscribeModalActiveTab="subscribeBody"}),$scope.subscribeForm.$setPristine()}},{key:"addSubscribe",value:function addSubscribe(){return this.subscribeModalData={message:"",action:"addSubscribe",reportEmail:angular.copy(config.loggedInUserEmail)},this.isSubscribeDataLoading=!1,this.subscribeModal("show")}},{key:"editSubscribe",value:function editSubscribe(subscribe){var dataToSend,_this4=this;if(this.subscribeModalData=angular.copy(subscribe),this.subscribeModal("show"),!this.isSubscribeDataLoading)return this.isSubscribeDataLoading=!0,this.subscribeModalErrors=[],dataToSend={action:"getSubscribeData",subscribeId:subscribe.id},$http({method:"POST",url:config.urls.subscribes,data:dataToSend,timeout:3e4}).then(function(response){var data;if(_this4.isSubscribeDataLoading=!1,response.data)return data=response.data,data.status&&"success"===data.status?(_this4.subscribeModalData=angular.copy(data.subscribe),_this4.subscribeModalData.action="updateSubscribe",_this4.subscribeModalData.recipientsToDelete=[],_this4.subscribeModalData.attachmentsToDelete=[]):data.errors&&data.errors.length?_this4.subscribeModalErrors=data.errors:toastr.error(config.global_labels.defaultErrorMessage.value)})["catch"](function(){return _this4.isSubscribeDataLoading=!1,toastr.error(config.global_labels.defaultErrorMessage.value)})}},{key:"confirmSubscribeEdit",value:function confirmSubscribeEdit(){var _this5=this;if(!this.isSubmitting)return this.isSubmitting=!0,this.subscribeModalErrors=[],$http({method:"POST",url:config.urls.subscribes,data:this.subscribeModalData,timeout:3e4}).then(function(response){var data,key,ref,results,subscribe;if(_this5.isSubmitting=!1,response.data){if(data=response.data,data.status&&"success"===data.status){if(_this5.subscribeModalData.id){for(key in toastr.success("\u0414\u0430\u043D\u043D\u044B\u0435 SMS \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0438 \u0431\u044B\u043B\u0438 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u043E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u044B"),_this5.subscribeModal("hide"),ref=config.subscribes.list,results=[],ref)subscribe=ref[key],subscribe.id===data.subscribe.id?results.push(config.subscribes.list[key]=angular.copy(data.subscribe)):results.push(void 0);return results}return toastr.success("SMS \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0430 \u0431\u044B\u043B\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430"),$scope.subscribeForm.$setPristine(),_this5.subscribeModalData=angular.copy(data.subscribe),_this5.subscribeModalData.action="updateSubscribe",_this5.subscribeModalData.recipientsToDelete=[],_this5.subscribeModalData.attachmentsToDelete=[],config.subscribes.list.unshift(angular.copy(data.subscribe))}return data.errors&&data.errors.length?_this5.subscribeModalErrors=data.errors:toastr.error(config.global_labels.defaultErrorMessage.value)}})["catch"](function(){return _this5.isSubmitting=!1,toastr.error(config.global_labels.defaultErrorMessage.value)})}},{key:"uploadSubscribeRecipientsList",value:function uploadSubscribeRecipientsList(){var _this6=this;if(!this.isSubmitting&&this.importSubscribeRecipientsFile)return this.isSubmitting=!0,this.subscribeModalErrors=[],this.subscribeModalIncorrectRecipients=[],Upload.upload({url:config.urls.subscribes,data:{file:this.importSubscribeRecipientsFile,action:"importSubscribeRecipients",subscribeId:this.subscribeModalData.id,email_subscribe_recipients:this.subscribeModalData.email_subscribe_recipients}}).then(function(response){var data;return data=response.data,_this6.isSubmitting=!1,_this6.importSubscribeRecipientsFile=null,data.status&&"success"===data.status?(toastr.success("\u0418\u043C\u043F\u043E\u0440\u0442 \u0441\u043F\u0438\u0441\u043A\u0430 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u0435\u043B\u0435\u0439 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D \u0443\u0441\u043F\u0435\u0448\u043D\u043E, \u043D\u0430\u0439\u0434\u0435\u043D\u043E "+data.importNewSubscribersCountTotal+" \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u0435\u043B\u044F, \u0438\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043E \u043D\u043E\u0432\u044B\u0445 - "+data.importNewSubscribersCount+(0<data.incorrectList.length?", \u043E\u0448\u0438\u0431\u043E\u043A \u0438\u043C\u043F\u043E\u0440\u0442\u0430 - "+data.incorrectList.length:"")),_this6.subscribeModalData.email_subscribe_recipients=angular.copy(data.importSubscribers),_this6.subscribeModalIncorrectRecipients=data.incorrectList,$scope.subscribeForm.$setDirty()):data.errors&&data.errors.length?_this6.subscribeModalErrors=data.errors:toastr.error(config.global_labels.defaultErrorMessage.value)})["catch"](function(response){return _this6.subscribeModalErrors=response.data&&response.data.errors?response.data.errors:["\u041E\u0448\u0438\u0431\u043A\u0430 \u0438\u043C\u043F\u043E\u0440\u0442\u0430 \u0441\u043F\u0438\u0441\u043A\u0430 \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u0435\u043B\u0435\u0439, \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043F\u043E\u0437\u0434\u043D\u0435\u0435!"],_this6.isSubmitting=!1,_this6.importSubscribeRecipientsFile=null})}},{key:"deleteSubscribeRecipient",value:function deleteSubscribeRecipient(recipientToDelete){var recipient,recipientKey,ref,results;if(confirm("\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0434\u0430\u043D\u043D\u043E\u0433\u043E \u043F\u043E\u043B\u0443\u0447\u0430\u0442\u0435\u043B\u044F?")){for(recipientKey in ref=this.subscribeModalData.email_subscribe_recipients,results=[],ref)if(recipient=ref[recipientKey],recipient===recipientToDelete){this.subscribeModalData.email_subscribe_recipients.splice(recipientKey,1),$scope.subscribeForm.$setDirty(),recipientToDelete.id&&(!this.subscribeModalData.recipientsToDelete&&(this.subscribeModalData.recipientsToDelete=[]),this.subscribeModalData.recipientsToDelete.push(recipientToDelete.id));break}else results.push(void 0);return results}}},{key:"uploadSubscribeAttachmentsList",value:function uploadSubscribeAttachmentsList(){var file,i,len,ref,_this7=this;if(!this.isSubmitting&&this.importSubscribeAttachmentsFile.length){for(this.subscribeModalErrors=[],ref=this.importSubscribeAttachmentsFile,(i=0,len=ref.length);i<len;i++)if(file=ref[i],2097152<file.size)return this.subscribeModalErrors=["\u0420\u0430\u0437\u043C\u0435\u0440 \u0444\u0430\u0439\u043B\u0430 "+file.name+" \u043F\u0440\u0435\u0432\u044B\u0448\u0430\u0435\u0442 2MB"],void(this.importSubscribeAttachmentsFile=null);return this.isSubmitting=!0,angular.element(".attachmentUploadingProgress").css({width:0}).html(""),this.isAttachmentUploading=!0,Upload.upload({url:config.urls.subscribes,data:{file:this.importSubscribeAttachmentsFile,action:"importSubscribeAttachments",subscribeId:this.subscribeModalData.id,email_subscribe_attachments:this.subscribeModalData.email_subscribe_attachments}}).then(function(response){var data;return data=response.data,_this7.isSubmitting=!1,_this7.isAttachmentUploading=!1,_this7.importSubscribeAttachmentsFile=null,angular.element(".attachmentUploadingProgress").css({width:0}).html(""),data.status&&"success"===data.status?(toastr.success("\u0417\u0430\u0433\u0440\u0443\u0437\u043A\u0430 \u0444\u0430\u0439\u043B\u043E\u0432 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D\u0430 \u0443\u0441\u043F\u0435\u0448\u043D\u043E, \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0439 - "+(data.importNewAttachmentsCountTotal===data.importNewAttachmentsCount?data.importNewAttachmentsCountTotal:data.importNewAttachmentsCount+" \u0438\u0437 "+data.importNewAttachmentsCountTotal)),_this7.subscribeModalData.email_subscribe_attachments=angular.copy(data.importAttachments),$scope.subscribeForm.$setDirty()):data.errors&&data.errors.length?_this7.subscribeModalErrors=data.errors:toastr.error(config.global_labels.defaultErrorMessage.value)},function(response){return _this7.subscribeModalErrors=response.data&&response.data.errors?response.data.errors:["\u041E\u0448\u0438\u0431\u043A\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0444\u0430\u0439\u043B\u0430, \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043F\u043E\u0437\u0434\u043D\u0435\u0435!"],_this7.isSubmitting=!1,_this7.isAttachmentUploading=!1,_this7.importSubscribeAttachmentsFile=null},function(response){var progress;return progress=parseInt(100*response.loaded/response.total)+"%",angular.element(".attachmentUploadingProgress").css({width:progress}).html(progress)})}}},{key:"deleteSubscribeAttachment",value:function deleteSubscribeAttachment(attachmentToDelete){var attachment,attachmentKey,ref,results;if(confirm("\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0443\u0434\u0430\u043B\u0438\u0442\u044C \u0434\u0430\u043D\u043D\u043E\u0435 \u0432\u043B\u043E\u0436\u0435\u043D\u0438\u0435?")){for(attachmentKey in ref=this.subscribeModalData.email_subscribe_attachments,results=[],ref)if(attachment=ref[attachmentKey],attachment===attachmentToDelete){this.subscribeModalData.email_subscribe_attachments.splice(attachmentKey,1),$scope.subscribeForm.$setDirty(),attachmentToDelete.id&&(!this.subscribeModalData.attachmentsToDelete&&(this.subscribeModalData.attachmentsToDelete=[]),this.subscribeModalData.attachmentsToDelete.push(attachmentToDelete.id));break}else results.push(void 0);return results}}}]),EmailSubscribes}();return EmailSubscribes.prototype.isSubmitting=!1,EmailSubscribes.prototype.isSubscribesLoading=!1,EmailSubscribes.prototype.errors=[],EmailSubscribes.prototype.emailErrors=[],EmailSubscribes.prototype.subscribeModalErrors=[],EmailSubscribes.prototype.subscribeModalIncorrectRecipients=[],EmailSubscribes.prototype.isSubscribeDataLoading=!1,EmailSubscribes.prototype.subscribeModalActiveTab="subscribeBody",EmailSubscribes.prototype.importSubscribeRecipientsFile=null,EmailSubscribes.prototype.importSubscribeAttachmentsFile=null,EmailSubscribes.prototype.isAttachmentUploading=!1,EmailSubscribes.prototype.summerNoteOptions={height:300,focus:!0,toolbar:[["style",["bold","italic","underline","clear"]],["fontface",["fontname","fontsize"]],["color",["color"]],["alignment",["paragraph"]],["insert",["link","picture"]],["view",["undo","codeview"]]],fontSizes:["8","9","10","11","12","14","16","18","22","24","36"],fontNames:["Arial","Helvetica","Tahoma","Times New Roman","Verdana"],callbacks:{onImageUpload:function onImageUpload(image){var isSubmitting,subscribeModalData,subscribeModalErrors;if(subscribeModalData=$scope.subscribesList.subscribeModalData,subscribeModalErrors=$scope.subscribesList.subscribeModalErrors,isSubmitting=$scope.subscribesList.isSubmitting,!isSubmitting&&image[0])return subscribeModalData.id?(isSubmitting=!0,subscribeModalErrors=[],Upload.upload({url:config.urls.subscribes,data:{file:image[0],action:"uploadSubscribeImage",subscribeId:subscribeModalData.id}}).then(function(response){var data;return data=response.data,isSubmitting=!1,data.status&&"success"===data.status?($timeout(function(){return $("#subscribeBody").summernote("insertImage",data.image.filename,"filename")}),$scope.subscribeForm.$setDirty()):data.errors&&data.errors.length?subscribeModalErrors=data.errors:toastr.error(config.global_labels.defaultErrorMessage.value)})["catch"](function(response){return subscribeModalErrors=response.data&&response.data.errors?response.data.errors:["\u041E\u0448\u0438\u0431\u043A\u0430 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u0438 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u044F, \u043F\u043E\u0432\u0442\u043E\u0440\u0438\u0442\u0435 \u043F\u043E\u0437\u0434\u043D\u0435\u0435!"],isSubmitting=!1})):toastr.warning("\u041F\u0435\u0440\u0435\u0434 \u0437\u0430\u0433\u0440\u0443\u0437\u043A\u043E\u0439 \u0438\u0437\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u0438\u0439 \u043D\u0435\u043E\u0431\u0445\u043E\u0434\u0438\u043C\u043E \u0441\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C \u0440\u0430\u0441\u0441\u044B\u043B\u043A\u0443")}}},EmailSubscribes}.call(this),$scope.config=config,$scope.utilities=new UtilitiesClass(config,$filter,$timeout),$scope.subscribesList=new EmailSubscribes}]); |