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)
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 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)