Changeset 54c467a for asadb/groups


Ignore:
Timestamp:
May 28, 2011, 5:08:51 AM (14 years ago)
Author:
Alex Dehnert <adehnert@…>
Branches:
master, space-access, stable, stage, test-hooks
Children:
5daa12a
Parents:
c4a4d13 (diff), 9480c7b (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
git-author:
Alex Dehnert <adehnert@…> (05/28/11 05:08:51)
git-committer:
Alex Dehnert <adehnert@…> (05/28/11 05:08:51)
Message:

Merge branch 'master' into new-db

Location:
asadb/groups
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • asadb/groups/admin.py

    r3398d3a r54c467a  
    1717    )
    1818    list_display_links = ('id', 'name', )
     19    search_fields = [ 'id', 'name', 'abbreviation', 'officer_email', 'athena_locker', ]
    1920
    2021class ActivityCategoryAdmin(admin.ModelAdmin):
  • asadb/groups/views.py

    r5be39cc rc4a4d13  
    11# Create your views here.
     2
     3import groups.models
     4
     5from django.contrib.auth.decorators import user_passes_test, login_required
     6from django.core.exceptions import PermissionDenied
     7from django.views.generic import DetailView
     8from django.shortcuts import render_to_response, get_object_or_404
     9from django.template import RequestContext
     10from django.template import Context, Template
     11from django.template.loader import get_template
     12from django.http import Http404, HttpResponseRedirect
     13from django.core.urlresolvers import reverse
     14from django.core.mail import EmailMessage, mail_admins
     15from django.forms import Form
     16from django.forms import ModelForm
     17from django.forms import ModelChoiceField
     18from django.db.models import Q
     19
     20import form_utils.forms
     21
     22class 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', ],
     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
     44def 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), )
     92
     93class GroupDetailView(DetailView):
     94    context_object_name = "group"
     95    model = groups.models.Group
     96    def get_context_data(self, **kwargs):
     97        # Call the base implementation first to get a context
     98        context = super(GroupDetailView, self).get_context_data(**kwargs)
     99        group = context['group']
     100
     101        # Indicate whether this person should be able to see "private" info
     102        context['viewpriv'] = self.request.user.has_perm('groups.view_group_private_info', group)
     103        return context
Note: See TracChangeset for help on using the changeset viewer.