def send_wo_approved_email(self, notes): woh = WorkOrderHistory.get_by_id(self.history[work_order_states.index(["ESTIMATED", "REJECTED"])]).details service_date, estimate_str, technician = woh.split(separator) template_content = [ {'name':'work_order_id','content':self.display_id}, {'name':'store_name','content':self.appliance_obj.store.name}, {'name':'provider_address','content':self.provider_obj.address}, {'name':'fix_by','content':self.fix_by.strftime('%Y-%m-%d')}, {'name':'owner_name','content':self.owner_user.name}, {'name':'provider_name','content':self.provider_obj.name}, {'name':'store_name','content':self.store.name}, {'name':'store_manager_name','content':self.manager_user.name}, {'name':'store_manager_phone','content':self.manager_user.phone}, {'name':'store_address','content':self.store.address}, {'name':'store_billing_address','content':self.store.billing_address}, {'name':'appliance_name','content':self.appliance_obj.name}, {'name':'manufacturer','content':self.appliance_obj.manufacturer}, {'name':'model','content':self.appliance_obj.model}, {'name':'serial_num','content':self.appliance_obj.serial_num}, {'name':'warranty','content':self.appliance_obj.warranty}, {'name':'application_status','content':self.problem_description}, {'name':'technician','content':technician}, {'name':'estimate','content':estimate_str}, {'name':'remarks','content':notes} ] to = [{'email':self.provider_user.key().name(),'name':self.provider_user.name,'type':'to'}] send_mandrill_email('work-order-approved-3', template_content, to, "Service Order scheduled")
def send_wo_approval_email(self, estimate, service_date, technician): server_url = app_identity.get_default_version_hostname() link = 'http://'+server_url+'/work_order/list?work_order='+str(self.key().id()) template_content = [ {'name':'work_order_id','content':self.display_id}, {'name':'store_name','content':self.appliance_obj.store.name}, {'name':'fix_by','content':service_date}, {'name':'provider_name','content':self.provider_obj.name}, {'name':'provider_address','content':self.provider_obj.address}, {'name':'owner_name','content':self.owner_user.name}, {'name':'estimate','content':estimate}, {'name':'store_name','content':self.store.name}, {'name':'store_manager_name','content':self.manager_user.name}, {'name':'store_manager_phone','content':self.manager_user.phone}, {'name':'store_address','content':self.store.address}, {'name':'store_billing_address','content':self.store.billing_address}, {'name':'appliance_name','content':self.appliance_obj.name}, {'name':'manufacturer','content':self.appliance_obj.manufacturer}, {'name':'model','content':self.appliance_obj.model}, {'name':'serial_num','content':self.appliance_obj.serial_num}, {'name':'warranty','content':self.appliance_obj.warranty}, {'name':'application_status','content':self.problem_description}, {'name':'technician','content':technician}, {'name':'action_link','content':'<a class="mcnButton " title="TAKE ACTION" href="'+ link + '" target="_blank" style="font-weight: bold;letter-spacing: normal;line-height: 100%;text-align: center;text-decoration: none;color: #FFFFFF;">TAKE ACTION</a>'}, ] to = [{'email':self.owner_user.key().name(),'name':self.owner_user.name,'type':'to'}] merge_vars = [{"rcpt": self.owner_user.key().name(),"vars": [{"name":"ROLE", "content":"owner"}]}, {"rcpt": self.manager_user.key().name(),"vars": [{"name":"ROLE", "content":"manager"}]}] send_mandrill_email('approve-work-order-3', template_content, to, "Service Order - Request for approval", merge_vars)
def send_wo_created_email(self, wo_id, fix_by): server_url = app_identity.get_default_version_hostname() estimation_link = 'http://'+server_url+"/work_order/provide_estimate?work_order="+str(wo_id) template_content = [ {'name':'work_order_id','content':self.display_id}, {'name':'store_name','content':self.appliance_obj.store.name}, {'name':'provider_address','content':self.provider_obj.address}, {'name':'store_address','content':self.store.address}, {'name':'store_name','content':self.store.name}, {'name':'store_manager_name','content':self.manager_user.name}, {'name':'store_manager_phone','content':self.manager_user.phone}, {'name':'store_billing_address','content':self.store.billing_address}, {'name':'appliance_name','content':self.appliance_obj.name}, {'name':'manufacturer','content':self.appliance_obj.manufacturer}, {'name':'model','content':self.appliance_obj.model}, {'name':'serial_num','content':self.appliance_obj.serial_num}, {'name':'warranty','content':self.appliance_obj.warranty}, {'name':'appliance_status','content':self.problem_description}, {'name':'service_type','content':self.priority}, {'name':'provider_name','content':self.provider_obj.name}, {'name':'accept_link','content':'<a class="mcnButton " title="ACCEPT" href="' + estimation_link + '&action=accept' + '" target="_blank" style="font-weight: bold;letter-spacing: normal;line-height: 100%;text-align: center;text-decoration: none;color: #FFFFFF;">ACCEPT</a>'}, {'name':'reject_link','content':'<a class="mcnButton " title="REJECT" href="' + estimation_link + '&action=reject' + '" target="_blank" style="font-weight: bold;letter-spacing: normal;line-height: 100%;text-align: center;text-decoration: none;color: #FFFFFF;">REJECT</a>'}, {'name':'fix_by','content':fix_by}, ] to = [{'email': self.provider_user.key().name(),'name':self.provider_user.name,'type':'to'}] merge_vars = [{"rcpt": self.provider_user.key().name(),"vars": [{"name":"ROLE", "content":"provider"}]}, {"rcpt": self.owner_user.key().name(),"vars": [{"name":"ROLE", "content":"owner"}]}, {"rcpt": self.manager_user.key().name(),"vars": [{"name":"ROLE", "content":"manager"}]}] send_mandrill_email('work-order-created-3', template_content, to, "Service Order created", merge_vars)
def send_wo_rejected_email(self, remarks): template_content = [ {'name':'work_order_id','content':self.display_id}, {'name':'store_name','content':self.appliance_obj.store.name}, {'name':'fix_by','content':self.fix_by.strftime('%Y-%m-%d')}, {'name':'provider_address','content':self.provider_obj.address}, {'name':'store_manager_name','content':self.manager_user.name}, {'name':'store_manager_phone','content':self.manager_user.phone}, {'name':'store_address','content':self.store.address}, {'name':'store_billing_address','content':self.store.billing_address}, {'name':'manager_name','content':self.manager_user.name}, {'name':'store_name','content':self.store.name}, {'name':'provider_name','content':self.provider_obj.name}, {'name':'appliance_name','content':self.appliance_obj.name}, {'name':'manufacturer','content':self.appliance_obj.manufacturer}, {'name':'model','content':self.appliance_obj.model}, {'name':'serial_num','content':self.appliance_obj.serial_num}, {'name':'warranty','content':self.appliance_obj.warranty}, {'name':'appliance_status','content':self.problem_description}, {'name':'reject_remarks','content':remarks}, ] to = [{'email':self.owner_user.key().name(),'name':self.owner_user.name,'type':'to'}] send_mandrill_email('work-order-rejected-3', template_content, to, "Service request rejected by vendor")
def send_wo_cancelled_email(self): template_content = [ {'name':'work_order_id','content':self.display_id}, {'name':'store_name','content':self.appliance_obj.store.name}, {'name':'provider_address','content':self.provider_obj.address}, {'name':'fix_by','content':self.fix_by.strftime('%Y-%m-%d')}, {'name':'owner_name','content':self.owner_user.name}, {'name':'provider_name','content':self.provider_obj.name}, {'name':'store_name','content':self.store.name}, {'name':'store_manager_name','content':self.manager_user.name}, {'name':'store_manager_phone','content':self.manager_user.phone}, {'name':'store_address','content':self.store.address}, {'name':'store_billing_address','content':self.store.billing_address}, {'name':'appliance_name','content':self.appliance_obj.name}, {'name':'manufacturer','content':self.appliance_obj.manufacturer}, {'name':'model','content':self.appliance_obj.model}, {'name':'serial_num','content':self.appliance_obj.serial_num}, {'name':'warranty','content':self.appliance_obj.warranty}, {'name':'appliance_status','content':self.problem_description}, {'name':'service_type','content':self.priority} ] to = [{'email':self.provider_user.key().name(),'name':self.provider_user.name,'type':'to'}] subject = "Service Order Cancelled - " + str(self.display_id) + ". Service Provider - " + self.provider_obj.name send_mandrill_email('work-order-cancelled-3', template_content, to, subject)
def send_wo_auto_approved_email(self, estimate_str, service_date, technician): template_content = [ {'name':'work_order_id','content':self.display_id}, {'name':'store_name','content':self.appliance_obj.store.name}, {'name':'provider_address','content':self.provider_obj.address}, {'name':'fix_by','content':service_date}, {'name':'owner_name','content':self.owner_user.name}, {'name':'provider_name','content':self.provider_obj.name}, {'name':'store_name','content':self.store.name}, {'name':'store_manager_name','content':self.manager_user.name}, {'name':'store_manager_phone','content':self.manager_user.phone}, {'name':'store_address','content':self.store.address}, {'name':'store_billing_address','content':self.store.billing_address}, {'name':'appliance_name','content':self.appliance_obj.name}, {'name':'manufacturer','content':self.appliance_obj.manufacturer}, {'name':'model','content':self.appliance_obj.model}, {'name':'serial_num','content':self.appliance_obj.serial_num}, {'name':'warranty','content':self.appliance_obj.warranty}, {'name':'application_status','content':self.problem_description}, {'name':'technician','content':technician}, {'name':'estimate','content':estimate_str}, ] to = [{'email':self.provider_user.key().name(),'name':self.provider_user.name,'type':'to'}] send_mandrill_email('work-order-approved-3', template_content, to, "Service Order scheduled")