Exemple #1
0
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,
        )
Exemple #2
0
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)
Exemple #3
0
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())
Exemple #4
0
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 <*****@*****.**>", "*****@*****.**"))
Exemple #6
0
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 <*****@*****.**>", "*****@*****.**"))