Changeset d50ec5b for remit


Ignore:
Timestamp:
Feb 1, 2011, 10:33:23 AM (14 years ago)
Author:
Alex Dehnert <adehnert@…>
Branches:
master, client
Children:
0e4f185
Parents:
f63d43a
git-author:
Alex Dehnert <adehnert@…> (02/01/11 10:29:23)
git-committer:
Alex Dehnert <adehnert@…> (02/01/11 10:33:23)
Message:

Allow marking things as RFPized

Location:
remit
Files:
1 added
4 edited

Legend:

Unmodified
Added
Removed
  • remit/remit_templates/vouchers/emails/request_approval_admin.txt

    r5eb287f rd50ec5b  
    1818Approval Status:    {{ request.approval_status|approval_status }}
    1919Approval Time:      {{ request.approval_time }}
     20Approval Type:      {{ approval_type }}
    2021
    2122Check Address:
  • remit/remit_templates/vouchers/reimbursementrequest_list.html

    raf48a00 rd50ec5b  
    7878    </td>
    7979    <td class='request-status-{{ object.approval_status|approval_status_class}}'>
    80         {{ object.approval_status|approval_status }} ({{ object.approval_time }})
     80        {{ object.approval_status|approval_status }} ({{ object.approval_time|date:"SHORT_DATETIME_FORMAT"}})
     81        {% if object.voucher %}
     82        <br />[Voucher: {{object.voucher.pk}}]
     83        {% endif %}
     84        {% if object.rfp %}
     85        <br />[{{object.rfp}}]
     86        {% endif %}
    8187    </td>
    8288</tr>
  • remit/settings.py

    r29e55de rd50ec5b  
    3939# making browsers want to open in an external application
    4040LATEX_MIMETYPE = 'application/x-latex'
     41
     42SHORT_DATETIME_FORMAT = 'Y-m-d G:i'
     43SHORT_DATETIME_FORMAT_F = '%Y-%M-%d %H:%M'
    4144
    4245from local_settings import *
  • remit/vouchers/models.py

    r680b2bd rd50ec5b  
    5757        )
    5858
    59     def create_transfers(self, signatory, signatory_email=None):
     59    def create_transfers(self, ):
    6060        finance_core.models.make_transfer(
    6161            self.name,
     
    108108        signatory_email: email address of signatory (provide None for default)
    109109        """
    110         voucher = self.convert_to_voucher(signatory_name, signatory_email,)
     110        self.convert_to_voucher(signatory_name, signatory_email,)
    111111        tmpl = get_template('vouchers/emails/request_approval_admin.txt')
    112112        ctx = Context({
    113113            'approver': approver,
    114114            'request': self,
     115            'approval_type': 'voucher',
    115116        })
    116117        body = tmpl.render(ctx)
    117118        mail_admins(
    118             'Request approval: %s approved $%s' % (
     119            'Request approval: %s approved $%s [voucher]' % (
    119120                approver,
    120121                self.amount,
     
    123124        )
    124125
    125     def approve_with_rfp(self, approver, ):
     126    def approve_as_rfp(self, approver, ):
     127        self.convert_to_rfp()
     128        tmpl = get_template('vouchers/emails/request_approval_admin.txt')
     129        ctx = Context({
     130            'approver': approver,
     131            'request': self,
     132            'approval_type': 'RFP',
     133        })
     134        body = tmpl.render(ctx)
     135        mail_admins(
     136            'Request approval: %s approved $%s [RFP]' % (
     137                approver,
     138                self.amount,
     139            ),
     140            body,
     141        )
    126142       
    127143
     
    174190        )
    175191
     192class RFP(models.Model):
     193    create_time = models.DateTimeField(default=datetime.datetime.now)
     194
     195    def __unicode__(self, ):
     196        return "RFP: %s" % (self.create_time.strftime(settings.SHORT_DATETIME_FORMAT_F), )
    176197
    177198class Documentation(models.Model):
     
    289310    def filter_can_only(cls, actions, user):
    290311        return [ action for action in actions if action.can(user) ]
     312
    291313def bulk_action_approve(http_request, rr):
    292314    approver = http_request.user
     
    297319        rr.approve(approver, signatory_name)
    298320        return True, "request approved"
     321
     322def bulk_action_approve_as_rfp(http_request, rr):
     323    approver = http_request.user
     324    if rr.rfp:
     325        return False, "already marked as RFPized"
     326    else:
     327        rr.approve_as_rfp(approver, )
     328        return True, "request marked as RFPized"
    299329
    300330def bulk_action_email_factory(stock_email_obj):
     
    317347        perm_predicate=perm_checker('vouchers.can_approve'),
    318348    ))
     349bulk_request_actions.append(BulkRequestAction(
     350    name='approve_as_rfp',
     351    label='Mark Requests as RFPized',
     352    action=bulk_action_approve_as_rfp,
     353    perm_predicate=perm_checker('vouchers.can_approve'),
     354))
    319355for name, stockemail in stock_emails.items():
    320356    if stockemail.context == 'request':
Note: See TracChangeset for help on using the changeset viewer.