Changeset c297267 for asadb/forms
- Timestamp:
- Oct 11, 2011, 7:41:37 PM (15 years ago)
- Branches:
- master, space-access, stable, stage, test-hooks
- Children:
- 1ed7e51
- Parents:
- 00d201c
- git-author:
- Alex Dehnert <adehnert@…> (10/11/11 17:08:00)
- git-committer:
- Alex Dehnert <adehnert@…> (10/11/11 19:41:37)
- Location:
- asadb/forms
- Files:
-
- 2 added
- 3 edited
-
admin.py (modified) (2 diffs)
-
migrations/0009_add_confirmation_cycle.py (added)
-
migrations/0010_move_people_to_cycles.py (added)
-
models.py (modified) (2 diffs)
-
views.py (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
asadb/forms/admin.py
r00d201c rc297267 23 23 admin.site.register(forms.models.FYSMCategory, FYSMCategoryAdmin) 24 24 25 class Admin_GroupConfirmationCycle(admin.ModelAdmin): 26 list_display = ( 27 'pk', 28 'name', 29 'slug', 30 'create_date', 31 ) 32 list_display_links = ('pk', 'name', 'slug', ) 33 prepopulated_fields = {"slug": ("name",)} 34 admin.site.register(forms.models.GroupConfirmationCycle, Admin_GroupConfirmationCycle) 35 25 36 class Admin_GroupMembershipUpdate(admin.ModelAdmin): 26 37 list_display = ( … … 43 54 'pk', 44 55 'username', 56 'cycle', 45 57 'update_time', 58 'deleted', 59 'valid', 46 60 ) 47 list_filter = (' groups', )48 list_display_links = ('pk', 'username', )61 list_filter = ('valid', 'groups', ) 62 list_display_links = ('pk', 'username', 'cycle', ) 49 63 admin.site.register(forms.models.PersonMembershipUpdate, Admin_PersonMembershipUpdate) -
asadb/forms/models.py
r6d986af rc297267 137 137 138 138 139 class GroupConfirmationCycle(models.Model): 140 name = models.CharField(max_length=30) 141 slug = models.SlugField() 142 create_date = models.DateTimeField(default=datetime.datetime.now) 143 144 def __unicode__(self, ): 145 return u"GroupConfirmationCycle %d: %s" % (self.id, self.name, ) 146 147 @classmethod 148 def latest(cls, ): 149 return cls.objects.order_by('-create_date')[0] 150 151 139 152 class GroupMembershipUpdate(models.Model): 140 153 update_time = models.DateTimeField(default=datetime.datetime.utcfromtimestamp(0)) … … 167 180 168 181 182 VALID_UNSET = 0 183 VALID_AUTOVALIDATED = 10 184 VALID_OVERRIDDEN = 20 # confirmed by an admin 185 VALID_AUTOREJECTED = -10 186 VALID_HANDREJECTED = -20 187 VALID_CHOICES = ( 188 (VALID_UNSET, "unvalidated"), 189 (VALID_AUTOVALIDATED, "autovalidated"), 190 (VALID_OVERRIDDEN, "hand-validated"), 191 (VALID_AUTOREJECTED, "autorejected"), 192 (VALID_HANDREJECTED, "hand-rejected"), 193 ) 194 169 195 class PersonMembershipUpdate(models.Model): 170 196 update_time = models.DateTimeField(default=datetime.datetime.utcfromtimestamp(0)) 171 197 username = models.CharField(max_length=30) 198 cycle = models.ForeignKey(GroupConfirmationCycle) 199 deleted = models.DateTimeField(default=None, null=True, blank=True, ) 200 valid = models.IntegerField(choices=VALID_CHOICES, default=VALID_UNSET) 172 201 groups = models.ManyToManyField(groups.models.Group, help_text="By selecting a group here, you indicate that you are an active member of the group in question.<br>If your group does not appear in the list above, then please email asa-exec@mit.edu.<br>") 173 202 -
asadb/forms/views.py
r0e6090f rc297267 339 339 initial = { 340 340 } 341 update_obj = forms.models.PersonMembershipUpdate() 342 update_obj.update_time = datetime.datetime.now() 343 update_obj.username = request.user.username 344 341 cycle = forms.models.GroupConfirmationCycle.latest() 342 try: 343 update_obj = forms.models.PersonMembershipUpdate.objects.get( 344 username=request.user.username, 345 deleted__isnull=True, 346 cycle=cycle, 347 ) 348 selected_groups = update_obj.groups.all() 349 print "Got update" 350 except forms.models.PersonMembershipUpdate.DoesNotExist: 351 update_obj = forms.models.PersonMembershipUpdate() 352 update_obj.update_time = datetime.datetime.now() 353 update_obj.username = request.user.username 354 update_obj.cycle = cycle 355 selected_groups = [] 356 357 accounts = groups.models.AthenaMoiraAccount 358 try: 359 person = accounts.active_accounts.get(username=request.user.username) 360 if person.is_student(): 361 update_obj.valid = forms.models.VALID_AUTOVALIDATED 362 else: 363 update_obj.valid = forms.models.VALID_AUTOREJECTED 364 except accounts.DoesNotExist: 365 pass 366 update_obj.valid = forms.models.VALID_AUTOREJECTED 367 368 message = "" 345 369 if request.method == 'POST': # If the form has been submitted... 346 370 form = Form_PersonMembershipUpdate(request.POST, request.FILES, instance=update_obj) # A form bound to the POST data … … 348 372 if form.is_valid(): # All validation rules pass 349 373 request_obj = form.save() 350 return HttpResponseRedirect(reverse('membership-thanks', )) # Redirect after POST374 message = "Update saved" 351 375 352 376 else: 353 form = Form_PersonMembershipUpdate(initial=initial, ) # An unbound form377 form = Form_PersonMembershipUpdate(initial=initial, instance=update_obj, ) # An unbound form 354 378 355 379 context = { 356 380 'form':form, 381 'groups':selected_groups, 382 'message': message, 357 383 'pagename':'groups', 358 384 }
Note: See TracChangeset
for help on using the changeset viewer.