Changeset 56e8cb8 for asadb/forms


Ignore:
Timestamp:
Oct 12, 2011, 10:54:21 PM (15 years ago)
Author:
Alex Dehnert <adehnert@…>
Branches:
master, space-access, stable, stage, test-hooks
Children:
8dfd3db
Parents:
ce7fd92
git-author:
Alex Dehnert <adehnert@…> (10/12/11 22:54:21)
git-committer:
Alex Dehnert <adehnert@…> (10/12/11 22:54:21)
Message:

Better participant membership UI (Trac: #26)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • asadb/forms/views.py

    r4260e2c r56e8cb8  
    11import forms.models
    22import groups.models
     3import groups.views
    34import settings
    45
     
    367368        update_obj.valid = forms.models.VALID_AUTOREJECTED
    368369
     370    qs = groups.models.Group.active_groups
     371    filterset = groups.views.GroupFilter(request.GET, qs)
     372    filtered_groups = filterset.qs.all()
     373    show_filtered_groups = ('search' in request.GET)
     374
    369375    message = ""
    370     if request.method == 'POST': # If the form has been submitted...
     376    message_type = "info"
     377
     378    if request.method == 'POST' and 'add-remove' in request.POST:
     379        group = groups.models.Group.objects.get(id=request.POST['group'])
     380        if request.POST['action'] == 'remove':
     381            if group in update_obj.groups.all():
     382                update_obj.groups.remove(group)
     383                message = "You have been successfully removed from %s." % (group, )
     384            else:
     385                message = "Sorry, but you're not in %s." % (group, )
     386                message_type = "warn"
     387        elif request.POST['action'] == 'add':
     388            if group in update_obj.groups.all():
     389                message = "Sorry, but you're already in %s." % (group, )
     390                message_type = "warn"
     391            else:
     392                update_obj.groups.add(group)
     393                message = "You have been successfully added to %s." % (group, )
     394        else:
     395            message = "Uh, somehow you tried to do something besides adding and removing..."
     396            message_type = "alert"
     397
     398    if request.method == 'POST' and 'list' in request.POST: # If the form has been submitted...
    371399        form = Form_PersonMembershipUpdate(request.POST, request.FILES, instance=update_obj) # A form bound to the POST data
    372400
     
    380408    context = {
    381409        'form':form,
    382         'groups':selected_groups,
     410        'filter':filterset,
     411        'show_filtered_groups':show_filtered_groups,
     412        'filtered_groups':filtered_groups,
     413        'member_groups':selected_groups,
    383414        'message': message,
     415        'message_type': message_type,
    384416        'pagename':'groups',
    385417    }
Note: See TracChangeset for help on using the changeset viewer.