Exemple #1
0
def mail_payment_reminder(request):
    """
    Send a mail to a membership applicant
    reminding her about lack of **payment**.
    Headquarters is still waiting for the **bank transfer**.

    This view can only be used by staff.

    To be approved for membership applicants have to

    * **Transfer money** for the shares to acquire (at least one share).
    * Send the signed form back to headquarters.
    """
    member = request.registry.member_information.get_member_by_id(
        request.matchdict['memberid'])

    email_subject, email_body = make_payment_reminder_email(member)
    message = Message(subject=email_subject,
                      sender='*****@*****.**',
                      recipients=[member.email],
                      body=email_body)
    send_message(request, message)

    try:  # if value is int
        member.sent_payment_reminder += 1
    except TypeError:  # pragma: no cover
        # if value was None (after migration of DB schema)
        member.sent_payment_reminder = 1
    member.sent_payment_reminder_date = datetime.now()
    if 'detail' in request.referrer:
        return HTTPFound(
            request.route_url('detail',
                              memberid=request.matchdict['memberid']))
    else:
        return get_dashboard_redirect(request, member.id)
Exemple #2
0
    def test_make_payment_reminder_emailbody(self):
        """
        test creation of email bodies for both english and german versions
        """
        payment_reference_code = u'C3Shares ABCDEFGFOO'

        # test English
        self.__member.locale = 'en'
        email_subject, email_body = make_payment_reminder_email(self.__member)

        # make sure the English part is English
        self.assertTrue('Hello' in email_body)
        self.assertTrue('All the best' in email_body)
        self.assertTrue(payment_reference_code in email_body)

        # test German
        self.__member.locale = 'de'
        email_subject, email_body = make_payment_reminder_email(self.__member)

        # make sure the German part is German
        self.assertTrue('Hallo' in email_body)
        self.assertTrue('Das Team der C3S' in email_body)
        self.assertTrue(payment_reference_code in email_body)
    def test_make_payment_reminder_emailbody(self):
        """
        test creation of email bodies for both english and german versions
        """
        payment_reference_code = u'C3Shares ABCDEFGFOO'

        # test English
        self.__member.locale = 'en'
        email_subject, email_body = make_payment_reminder_email(self.__member)

        # make sure the English part is English
        self.assertTrue('Hello' in email_body)
        self.assertTrue('All the best' in email_body)
        self.assertTrue(payment_reference_code in email_body)

        # test German
        self.__member.locale = 'de'
        email_subject, email_body = make_payment_reminder_email(self.__member)

        # make sure the German part is German
        self.assertTrue('Hallo' in email_body)
        self.assertTrue('Das Team der C3S' in email_body)
        self.assertTrue(payment_reference_code in email_body)
Exemple #4
0
def mail_payment_reminder(request):
    """
    Send a mail to a membership applicant
    reminding her about lack of **payment**.
    Headquarters is still waiting for the **bank transfer**.

    This view can only be used by staff.

    To be approved for membership applicants have to

    * **Transfer money** for the shares to acquire (at least one share).
    * Send the signed form back to headquarters.
    """
    member = C3sMember.get_by_id(request.matchdict['memberid'])

    email_subject, email_body = make_payment_reminder_email(member)
    message = Message(
        subject=email_subject,
        sender='*****@*****.**',
        recipients=[member.email],
        body=email_body
    )
    send_message(request, message)

    try:  # if value is int
        member.sent_payment_reminder += 1
    except TypeError:  # pragma: no cover
        # if value was None (after migration of DB schema)
        member.sent_payment_reminder = 1
    member.sent_payment_reminder_date = datetime.now()
    if 'detail' in request.referrer:
        return HTTPFound(request.route_url(
            'detail',
            memberid=request.matchdict['memberid']))
    else:
        return get_dashboard_redirect(request, member.id)