Changeset 0c2a9ea
- Timestamp:
- May 21, 2011, 2:31:25 AM (15 years ago)
- Branches:
- master, space-access, stable, stage, test-hooks
- Children:
- 451b708
- Parents:
- 062a126
- git-author:
- Alex Dehnert <adehnert@…> (05/21/11 02:31:25)
- git-committer:
- Alex Dehnert <adehnert@…> (05/21/11 02:31:25)
- Location:
- asadb
- Files:
-
- 2 edited
-
groups/views.py (modified) (1 diff)
-
urls.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
asadb/groups/views.py
r5be39cc r0c2a9ea 1 1 # Create your views here. 2 3 import groups.models 4 5 from django.contrib.auth.decorators import user_passes_test, login_required 6 from django.core.exceptions import PermissionDenied 7 from django.views.generic import list_detail 8 from django.shortcuts import render_to_response, get_object_or_404 9 from django.template import RequestContext 10 from django.template import Context, Template 11 from django.template.loader import get_template 12 from django.http import Http404, HttpResponseRedirect 13 from django.core.urlresolvers import reverse 14 from django.core.mail import EmailMessage, mail_admins 15 from django.forms import Form 16 from django.forms import ModelForm 17 from django.forms import ModelChoiceField 18 from django.db.models import Q 19 20 import form_utils.forms 21 22 class GroupChangeMainForm(form_utils.forms.BetterModelForm): 23 class Meta: 24 fieldsets = [ 25 ('basic', { 26 'legend': 'Basic Information', 27 'fields': ['name', 'abbreviation', 'description', 'activity_category', ], 28 }), 29 ('size', { 30 'legend':'Membership Numbers', 31 'fields': ['num_undergrads', 'num_grads', 'num_community', 'num_other',], 32 }), 33 ('contact', { 34 'legend': 'Contact Information', 35 'fields': ['website_url', 'meeting_times', 'group_email', 'officer_email', 'athena_locker', ], 36 }), 37 ('more-info', { 38 'legend': 'Additional Information', 39 'fields': ['constitution_url', 'advisor_name', 'main_account_id', 'funding_account_id', 'athena_locker', 'recognition_date', ], 40 }), 41 ] 42 model = groups.models.Group 43 44 def manage_main(request, group_id, ): 45 group = get_object_or_404(groups.models.Group, pk=group_id) 46 47 if not request.user.has_perm('groups.change_group', group): 48 raise PermissionDenied 49 50 msg = None 51 52 initial = {} 53 if request.method == 'POST': # If the form has been submitted... 54 form = GroupChangeMainForm(request.POST, request.FILES, instance=group, ) # A form bound to the POST data 55 56 if form.is_valid(): # All validation rules pass 57 request_obj = form.save() 58 59 # Send email 60 #tmpl = get_template('fysm/update_email.txt') 61 #ctx = Context({ 62 # 'group': group_obj, 63 # 'fysm': fysm_obj, 64 # 'view_uri': view_uri, 65 # 'submitter': request.user, 66 # 'request': request, 67 # 'sender': "ASA FYSM team", 68 #}) 69 #body = tmpl.render(ctx) 70 #email = EmailMessage( 71 # subject='FYSM entry for "%s" updated by "%s"' % ( 72 # group_obj.name, 73 # request.user, 74 # ), 75 # body=body, 76 # from_email='asa-fysm@mit.edu', 77 # to=[group_obj.officer_email, request.user.email, ], 78 # bcc=['asa-fysm-submissions@mit.edu', ] 79 #) 80 #email.send() 81 msg = "Thanks for editing!" 82 83 else: 84 form = GroupChangeMainForm(instance=group, initial=initial, ) # An unbound form 85 86 context = { 87 'group': group, 88 'form': form, 89 'msg': msg, 90 } 91 return render_to_response('groups/group_change_main.html', context, context_instance=RequestContext(request), ) -
asadb/urls.py
rb01b0ba r0c2a9ea 10 10 11 11 import forms.views 12 import groups.models 13 import groups.views 12 14 13 import groups.models14 15 15 16 urlpatterns = patterns('', … … 34 35 url(r'^fysm/(\d+)/(join|website)/(\d+)/$', forms.views.fysm_link, name='fysm-link', ), 35 36 url(r'^fysm/(?:(\d+)/)?(?:([\w-]+)/)?$', forms.views.fysm_by_years, name='fysm', ), 37 38 # Group editing 39 url(r'^group/(\d+)/edit/main', groups.views.manage_main, name='group-manage-main', ), 36 40 37 41 # Group list
Note: See TracChangeset
for help on using the changeset viewer.