Ignore:
Timestamp:
Jul 24, 2010, 8:26:00 PM (15 years ago)
Author:
Alex Dehnert <adehnert@…>
Branches:
master, client
Children:
bef7191
Parents:
546a1ff
git-author:
Alex Dehnert <adehnert@…> (07/24/10 19:01:38)
git-committer:
Alex Dehnert <adehnert@…> (07/24/10 20:26:00)
Message:

Refactor out request approval

File:
1 edited

Legend:

Unmodified
Added
Removed
  • remit/vouchers/models.py

    rf52f909 rb1a259c  
    33import finance_core
    44from finance_core.models import BudgetArea, BudgetTerm
     5
     6from django.core.mail import send_mail, mail_admins
     7from django.template import Context, Template
     8from django.template.loader import get_template
    59
    610import datetime
     
    5256        )
    5357
    54     def convert(self, signatory, signatory_email=settings.SIGNATORY_EMAIL):
     58    def convert(self, signatory, signatory_email=None):
     59        if signatory_email is None:
     60            signatory_email = settings.SIGNATORY_EMAIL
    5561        voucher = Voucher()
    5662        voucher.group_name = settings.GROUP_NAME
     
    8288        self.save()
    8389
     90    def approve(self, approver, signatory_name, signatory_email=None, ):
     91        """Mark a request as approved.
     92
     93        approver:       user object of the approving user
     94        signatory_name: name of signatory
     95        signatory_email: email address of signatory (provide None for default)
     96        """
     97        voucher = self.convert(signatory_name, signatory_email,)
     98        tmpl = get_template('vouchers/emails/request_approval_admin.txt')
     99        ctx = Context({
     100            'approver': approver,
     101            'request': self,
     102        })
     103        body = tmpl.render(ctx)
     104        mail_admins(
     105            'Request approval: %s approved $%s' % (
     106                approver,
     107                self.amount,
     108            ),
     109            body,
     110        )
     111
    84112    def label(self, ):
    85113        return settings.GROUP_ABBR + unicode(self.pk) + 'RR'
Note: See TracChangeset for help on using the changeset viewer.