Changeset 70ce03a
- Timestamp:
- Jan 7, 2010, 4:17:00 AM (16 years ago)
- Branches:
- master, client
- Children:
- cafab4c
- Parents:
- 42d0bf6
- git-author:
- Alex Dehnert <adehnert@…> (01/07/10 04:17:00)
- git-committer:
- Alex Dehnert <adehnert@…> (01/07/10 04:17:00)
- Location:
- treasury
- Files:
-
- 1 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
treasury/vouchers/urls.py
r6b8d891 r70ce03a 3 3 4 4 urlpatterns = patterns('', 5 (r'reimbursement/', 'vouchers.views.select_request_basics', ), 5 6 (r'submit/(?P<term>[\d\w-]+)/(?P<committee>[\d\w-]+)/', 'vouchers.views.submit_request', ), 6 7 (r'review/(?P<object_id>\d+)/', 'vouchers.views.review_request', ), -
treasury/vouchers/views.py
r6b8d891 r70ce03a 6 6 from django.shortcuts import render_to_response, get_object_or_404 7 7 from django.http import Http404, HttpResponseRedirect 8 from django.forms import Form 8 9 from django.forms import ModelForm 9 10 from django.forms import ModelChoiceField … … 23 24 ) 24 25 25 class BudgetAreaField(ModelChoiceField): 26 class CommitteesField(ModelChoiceField): 27 def __init__(self, *args, **kargs): 28 base_area = BudgetArea.get_by_path(['Accounts', 'Assets', 'Budget', ]) 29 self.strip_levels = base_area.depth 30 areas = (base_area.get_descendants() 31 .filter(depth__lte=base_area.depth+2) 32 .exclude(name='Holding') 33 ) 34 ModelChoiceField.__init__(self, queryset=areas, 35 help_text='Select the appropriate committe or other budget area', 36 *args, **kargs) 37 38 def label_from_instance(self, obj,): 39 return obj.indented_name(strip_levels=self.strip_levels) 40 41 class SelectRequestBasicsForm(Form): 42 area = CommitteesField() 43 term = ModelChoiceField(queryset = BudgetTerm.objects.all()) 44 45 @user_passes_test(lambda u: u.is_authenticated()) 46 def select_request_basics(http_request, ): 47 if http_request.method == 'POST': # If the form has been submitted... 48 form = SelectRequestBasicsForm(http_request.POST) # A form bound to the POST data 49 if form.is_valid(): # All validation rules pass 50 term = form.cleaned_data['term'].slug 51 area = form.cleaned_data['area'].id 52 return HttpResponseRedirect(reverse(submit_request, args=[term, area],)) # Redirect after POST 53 else: 54 form = SelectRequestBasicsForm() # An unbound form 55 56 context = { 57 'form':form, 58 } 59 return render_to_response('vouchers/select.html', context) 60 61 class CommitteeBudgetAreasField(ModelChoiceField): 26 62 def __init__(self, base_area, *args, **kargs): 27 63 self.strip_levels = base_area.depth … … 45 81 if http_request.method == 'POST': # If the form has been submitted... 46 82 form = RequestForm(http_request.POST, instance=new_request) # A form bound to the POST data 47 form.fields['budget_area'] = BudgetAreaField(comm_obj)83 form.fields['budget_area'] = CommitteeBudgetAreasField(comm_obj) 48 84 if form.is_valid(): # All validation rules pass 49 85 form.save() … … 51 87 else: 52 88 form = RequestForm(instance=new_request) # An unbound form 53 form.fields['budget_area'] = BudgetAreaField(comm_obj)89 form.fields['budget_area'] = CommitteeBudgetAreasField(comm_obj) 54 90 55 91 context = {
Note: See TracChangeset
for help on using the changeset viewer.