def editstatus(request, chapterurl): c = get_object_or_404(Group, myrobogals_url__exact=chapterurl) memberstatustypes = MemberStatusType.objects.all() if request.user.is_superuser or (request.user.is_staff and (c == request.user.chapter)): users = [] if request.method == 'POST': ulform = EditStatusForm(request.POST, user=request.user) if ulform.is_valid(): data = ulform.cleaned_data status = data['status'] users = data['users'] #l:queryset users_already = "" users_changed = "" for user in users: u = User.objects.get(username__exact = user.username) old_status = u.memberstatus_set.get(status_date_end__isnull=True) if old_status.statusType == MemberStatusType.objects.get(pk=int(status)): if(users_already): users_already = users_already + ", " + u.username else: users_already = u.username else: if user.membertype().description != 'Inactive': old_status.status_date_end = date.today() old_status.save() new_status=MemberStatus() new_status.user = u new_status.statusType = MemberStatusType.objects.get(pk=int(status)) new_status.status_date_start = date.today() new_status.save() if(users_changed): users_changed = users_changed + ", " + u.username else: users_changed = u.username if(users_already): request.user.message_set.create(message=unicode(_("%(usernames)s are already marked as %(type)s") % {'usernames': users_already, 'type': MemberStatusType.objects.get(pk=int(status)).description})) if(users_changed): request.user.message_set.create(message=unicode(_("%(usernames)s have been marked as %(type)s") % {'usernames': users_changed, 'type': new_status.statusType.description})) return HttpResponseRedirect('/chapters/' + chapterurl + '/edit/users/') else: ulform = EditStatusForm(None, user=request.user) return render_to_response('edit_user_status.html', {'ulform': ulform, 'chapter': c, 'memberstatustypes': memberstatustypes}, context_instance=RequestContext(request))