def mailOrderSubmitted(order): """Sends email to shop owner that an order has been submitted. """ shop = IShopManagement(order).getShop() # Get sender and receiver mail_addresses = IMailAddresses(shop) sender = mail_addresses.getSender() receivers = mail_addresses.getReceivers() if sender and receivers: view = getMultiAdapter((order, order.REQUEST), name="mail-order-submitted") text = view() # get charset props = getToolByName(order, "portal_properties").site_properties charset = props.getProperty("default_charset") sendMultipartMail( context=order, sender=sender, receiver=", ".join(receivers), subject="E-Shop: New order", text=text, charset=charset, )
def mailOrderSubmitted(order): """Sends email to shop owner that an order has been submitted. """ shop = IShopManagement(order).getShop() # Get sender and receiver mail_addresses = IMailAddresses(shop) sender = mail_addresses.getSender() receivers = mail_addresses.getReceivers() if sender and receivers: view = getMultiAdapter((order, order.REQUEST), name="mail-order-submitted") text = view() # get charset props = getToolByName(order, "portal_properties").site_properties charset = props.getProperty("default_charset") sendMultipartMail(context=order, sender=sender, receiver=", ".join(receivers), subject="E-Shop: New order", text=text, charset=charset)
def mailOrderReceived(order): """Sends email to customer that the order has been received. """ shop = IShopManagement(order).getShop() # Get TOC shop = IShopManagement(order).getShop() page = IInformationManagement(shop).getInformationPage( "terms-and-conditions") # Get sender mail_addresses = IMailAddresses(shop) sender = mail_addresses.getSender() bcc = mail_addresses.getReceivers() # Get receiver customer = order.getCustomer() address = IAddressManagement(customer).getShippingAddress() receiver = address.email or customer.email if sender and receiver: view = getMultiAdapter((order, order.REQUEST), name="mail-order-received") text = view() # get charset props = getToolByName(order, "portal_properties").site_properties charset = props.getProperty("default_charset") sendMailWithAttachements( context=order, sender=sender, receiver=receiver, bcc=bcc, subject="Bestellbestätigung %s" % shop.Title(), text=text, files=[]) # (page.getFile().filename, page.getFile())
def mailOrderReceived(order): """Sends email to customer that the order has been received. """ shop = IShopManagement(order).getShop() # Get TOC shop = IShopManagement(order).getShop() page = IInformationManagement(shop).getInformationPage("terms-and-conditions") # Get sender mail_addresses = IMailAddresses(shop) sender = mail_addresses.getSender() bcc = mail_addresses.getReceivers() # Get receiver customer = order.getCustomer() address = IAddressManagement(customer).getShippingAddress() receiver = address.email or customer.email if sender and receiver: view = getMultiAdapter((order, order.REQUEST), name="mail-order-received") text = view() # get charset props = getToolByName(order, "portal_properties").site_properties charset = props.getProperty("default_charset") sendMailWithAttachements( context=order, sender=sender, receiver=receiver, bcc=bcc, subject="Bestellbestätigung %s" % shop.Title(), text=text, files=[], ) # (page.getFile().filename, page.getFile())
class TestShopMailAddresses(EasyShopTestCase): """ """ def afterSetUp(self): """ """ super(TestShopMailAddresses, self).afterSetUp() self.addresses = IMailAddresses(self.shop) def testGetAddresses1(self): """No information entered. """ sender = self.addresses.getSender() self.assertEqual(sender, None) receivers = self.addresses.getReceivers() self.assertEqual(receivers, ()) def testGetAddresses2(self): """Information entered in portal. Note: Portal has just one email address which is used for sender and receiver. """ utool = getToolByName(self.shop, "portal_url") portal = utool.getPortalObject() mail = IMailSchema(portal) # Just address is entered mail.set_email_from_address("*****@*****.**") sender = self.addresses.getSender() self.assertEqual(sender, "Site Administrator <*****@*****.**>") # receiver is same as sender receivers = self.addresses.getReceivers() self.assertEqual(receivers, ("Site Administrator <*****@*****.**>",)) # Address and name is entered mail.set_email_from_name("John Doe") sender = self.addresses.getSender() self.assertEqual(sender, "John Doe <*****@*****.**>") # receiver is same as sender receivers = self.addresses.getReceivers() self.assertEqual(receivers, ("John Doe <*****@*****.**>",)) def testGetAddresses3(self): """Information entered in shop. """ self.shop.setMailFromAddress("*****@*****.**") sender = self.addresses.getSender() self.assertEqual(sender, "Site Administrator <*****@*****.**>") # Just sender is set, hence receiver is same as sender receivers = self.addresses.getReceivers() self.assertEqual(receivers, ("Site Administrator <*****@*****.**>",)) # Name and address is set self.shop.setMailFromName("John Doe") sender = self.addresses.getSender() self.assertEqual(sender, "John Doe <*****@*****.**>") # Just sender is set, hence receiver is same as sender receivers = self.addresses.getReceivers() self.assertEqual(receivers, ("John Doe <*****@*****.**>",)) # Receivers set self.shop.setMailTo(["Jane Doe <*****@*****.**>"]) sender = self.addresses.getSender() self.assertEqual(sender, "John Doe <*****@*****.**>") receivers = self.addresses.getReceivers() self.assertEqual(receivers, ("Jane Doe <*****@*****.**>",)) # More receivers set self.shop.setMailTo(["Jane Doe <*****@*****.**>", "*****@*****.**"]) receivers = self.addresses.getReceivers() self.assertEqual(receivers, ("Jane Doe <*****@*****.**>", "*****@*****.**"))
class TestShopMailAddresses(EasyShopTestCase): """ """ def afterSetUp(self): """ """ super(TestShopMailAddresses, self).afterSetUp() self.addresses = IMailAddresses(self.shop) def testGetAddresses1(self): """No information entered. """ sender = self.addresses.getSender() self.assertEqual(sender, None) receivers = self.addresses.getReceivers() self.assertEqual(receivers, ()) def testGetAddresses2(self): """Information entered in portal. Note: Portal has just one email address which is used for sender and receiver. """ utool = getToolByName(self.shop, "portal_url") portal = utool.getPortalObject() mail = IMailSchema(portal) # Just address is entered mail.set_email_from_address("*****@*****.**") sender = self.addresses.getSender() self.assertEqual(sender, "Site Administrator <*****@*****.**>") # receiver is same as sender receivers = self.addresses.getReceivers() self.assertEqual(receivers, ("Site Administrator <*****@*****.**>", )) # Address and name is entered mail.set_email_from_name("John Doe") sender = self.addresses.getSender() self.assertEqual(sender, "John Doe <*****@*****.**>") # receiver is same as sender receivers = self.addresses.getReceivers() self.assertEqual(receivers, ("John Doe <*****@*****.**>", )) def testGetAddresses3(self): """Information entered in shop. """ self.shop.setMailFromAddress("*****@*****.**") sender = self.addresses.getSender() self.assertEqual(sender, "Site Administrator <*****@*****.**>") # Just sender is set, hence receiver is same as sender receivers = self.addresses.getReceivers() self.assertEqual(receivers, ("Site Administrator <*****@*****.**>", )) # Name and address is set self.shop.setMailFromName("John Doe") sender = self.addresses.getSender() self.assertEqual(sender, "John Doe <*****@*****.**>") # Just sender is set, hence receiver is same as sender receivers = self.addresses.getReceivers() self.assertEqual(receivers, ("John Doe <*****@*****.**>", )) # Receivers set self.shop.setMailTo(["Jane Doe <*****@*****.**>"]) sender = self.addresses.getSender() self.assertEqual(sender, "John Doe <*****@*****.**>") receivers = self.addresses.getReceivers() self.assertEqual(receivers, ("Jane Doe <*****@*****.**>", )) # More receivers set self.shop.setMailTo(["Jane Doe <*****@*****.**>", "*****@*****.**"]) receivers = self.addresses.getReceivers() self.assertEqual(receivers, ("Jane Doe <*****@*****.**>", "*****@*****.**"))