Changeset 587bb95
- Timestamp:
- Feb 3, 2010, 3:36:28 PM (16 years ago)
- Branches:
- master, client
- Children:
- 84b3640
- Parents:
- e2f2aa9
- git-author:
- Alex Dehnert <adehnert@…> (02/03/10 15:36:28)
- git-committer:
- Alex Dehnert <adehnert@…> (02/03/10 15:36:28)
- Location:
- remit
- Files:
-
- 3 edited
-
remit_templates/vouchers/ReimbursementRequest_review.html (modified) (3 diffs)
-
vouchers/models.py (modified) (4 diffs)
-
vouchers/views.py (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
remit/remit_templates/vouchers/ReimbursementRequest_review.html
rdb191ee r587bb95 1 1 {% extends "base.html" %} 2 {% load misc %} 2 3 3 4 {% block title %}Review reimbursement request for "{{ rr.name }}"{% endblock %} … … 47 48 </tr> 48 49 <tr> 49 <th>Approval Time</th>50 <td>{{ rr.approval_time}}</td>50 <th>Approval Status (Time)</th> 51 <td>{{ rr.approval_status|approval_status }} ({{ rr.approval_time }})</td> 51 52 </tr> 52 53 <tr> … … 56 57 </table> 57 58 58 {% if perms.vouchers.can_approve %} 59 <form method="post"> 60 <input type="submit" name="approve" value="Approve" /> 59 {% if approve_form %} 60 <h3>Request Approval</h3> 61 {% if approve_message %} 62 <p>{{ approve_message }}</p> 63 {% endif %} 64 <form method="post" action=""> 65 <table class='pretty-table'> 66 {{ approve_form.as_table }} 67 68 <tr> 69 <th colspan='2'><input type="submit" name="approve" value="Approve" /></td> 70 </tr> 71 </table> 61 72 </form> 62 73 {% endif %} -
remit/vouchers/models.py
rdb191ee r587bb95 31 31 permissions = ( 32 32 ('can_list', 'Can list requests',), 33 ('can_approve', 'Can approve requests',), 33 34 ) 34 35 … … 43 44 ) 44 45 45 def convert(self, signatory ):46 def convert(self, signatory, signatory_email=settings.SIGNATORY_EMAIL): 46 47 voucher = Voucher() 47 voucher.group_name = settings. group_name48 voucher.group_name = settings.GROUP_NAME 48 49 voucher.account = self.budget_area.get_account_number() 49 50 voucher.signatory = signatory 51 voucher.signatory_email = signatory_email 50 52 voucher.first_name = self.check_to_first_name 51 53 voucher.last_name = self.check_to_last_name … … 56 58 voucher.gl = self.expense_area.get_account_number() 57 59 voucher.save() 60 self.approval_status = 1 61 self.approval_date = datetime.datetime.now() 62 self.save() 58 63 59 64 class Voucher(models.Model): … … 61 66 account = models.IntegerField() 62 67 signatory = models.CharField(max_length=50) 68 signatory_email = models.EmailField() 63 69 first_name = models.CharField(max_length=20) 64 70 last_name = models.CharField(max_length=20) -
remit/vouchers/views.py
re2f2aa9 r587bb95 7 7 from django.template import RequestContext 8 8 from django.http import Http404, HttpResponseRedirect 9 import django.forms 9 10 from django.forms import Form 10 11 from django.forms import ModelForm 11 12 from django.forms import ModelChoiceField 12 13 from django.core.urlresolvers import reverse 14 15 import settings 13 16 14 17 class RequestForm(ModelForm): … … 127 130 return render_to_response('vouchers/submit.html', context, context_instance=RequestContext(http_request), ) 128 131 132 class VoucherizeForm(Form): 133 name = django.forms.CharField(max_length=100) 134 email = django.forms.EmailField(max_length=100) 135 136 129 137 @user_passes_test(lambda u: u.is_authenticated()) 130 138 def review_request(http_request, object_id): 131 139 request_obj = get_object_or_404(ReimbursementRequest, pk=object_id) 140 141 if http_request.user.has_perm('vouchers.can_approve'): 142 # Voucherize form 143 # Prefill from certs / config 144 initial = {} 145 try: 146 name = http_request.META['SSL_CLIENT_S_DN_CN'] 147 initial['name'] = name 148 except KeyError: 149 pass 150 if settings.SIGNATORY_EMAIL: 151 initial['email'] = settings.SIGNATORY_EMAIL 152 else: 153 try: 154 initial['email'] = http_request.META['SSL_CLIENT_S_DN_Email'] 155 except KeyError: 156 pass 157 158 approve_message = '' 159 if http_request.method == 'POST' and 'approve' in http_request.REQUEST: 160 approve_form = VoucherizeForm(http_request.POST) 161 if approve_form.is_valid(): 162 voucher = request_obj.convert( 163 approve_form.cleaned_data['name'], 164 signatory_email=approve_form.cleaned_data['email'],) 165 approve_message = 'Created new voucher from request' 166 else: 167 approve_form = VoucherizeForm(initial=initial) 168 169 # Display the content 132 170 if not (http_request.user.has_perm('vouchers.view_requests') 133 171 or http_request.user.username == request_obj.submitter): … … 140 178 'rr':request_obj, 141 179 } 180 if http_request.user.has_perm('vouchers.can_approve'): 181 context['approve_form'] = approve_form 182 context['approve_message'] = approve_message 142 183 return render_to_response('vouchers/ReimbursementRequest_review.html', context, context_instance=RequestContext(http_request), ) 143 184
Note: See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/trac/chrome/site/your_project_logo.png)