class ManageInterviewForm(Form): member = forms.ModelChoiceField( queryset=get_actives().order_by('last_name')) interview_type = forms.ModelChoiceField( queryset=EventCategory.objects.filter( parent_category__name='Conducted Interviews')) number_of_interviews = forms.IntegerField(min_value=0)
def edit_electee_groups(request): if not Permissions.can_manage_electee_progress(request.user): request.session[ 'error_message'] = 'You are not authorized to edit electee groups' return redirect('electees:view_electee_groups') e_groups = ElecteeGroup.objects.filter(term=get_current_term()) ElecteeGroupFormSet = modelformset_factory(ElecteeGroup, exclude=( 'term', 'members', 'points', ), can_delete=True, widgets={ 'leaders': CheckboxSelectMultiple, 'officers': CheckboxSelectMultiple }) ElecteeGroupFormSet.form.base_fields['leaders'].queryset = get_actives( ).order_by('last_name', 'first_name') #ElecteeGroupFormSet.form.base_fields['leaders'].widget=CheckboxSelectMultiple ElecteeGroupFormSet.form.base_fields[ 'officers'].queryset = get_current_officers().order_by( 'last_name', 'first_name') if request.method == 'POST': formset = ElecteeGroupFormSet(request.POST, prefix='groups') if formset.is_valid(): instances = formset.save(commit=False) for instance in instances: if not instance.id: instance.term = get_current_term() instance.points = 0 instance.save() formset.save_m2m() request.session[ 'success_message'] = 'Electee groups successfully updated' return redirect('electees:view_electee_groups') else: request.session[ 'error_message'] = 'Form is invalid. Please correct the noted errors' else: formset = ElecteeGroupFormSet(queryset=e_groups, prefix='groups') template = loader.get_template('generic_formset.html') context_dict = { 'formset': formset, 'prefix': 'groups', 'subsubnav': 'groups', 'has_files': False, 'submit_name': 'Update Electee Groups', 'form_title': 'Update/Add/Remove Electee Groups', 'help_text': 'Create the electee groups for this semester, and specify the leaders nd officers. You can also remove or edit here.', 'can_add_row': True, 'base': 'electees/base_electees.html', } context_dict.update(get_common_context(request)) context_dict.update(get_permissions(request.user)) context = RequestContext(request, context_dict) return HttpResponse(template.render(context))
def edit_electee_groups(request): if not Permissions.can_manage_electee_progress(request.user): request.session["error_message"] = "You are not authorized to edit electee groups" return redirect("electees:view_electee_groups") e_groups = ElecteeGroup.objects.filter(term=get_current_term()) ElecteeGroupFormSet = modelformset_factory( ElecteeGroup, exclude=("term", "members", "points"), can_delete=True, widgets={"leaders": CheckboxSelectMultiple, "officers": CheckboxSelectMultiple}, ) ElecteeGroupFormSet.form.base_fields["leaders"].queryset = get_actives().order_by("last_name", "first_name") # ElecteeGroupFormSet.form.base_fields['leaders'].widget=CheckboxSelectMultiple ElecteeGroupFormSet.form.base_fields["officers"].queryset = get_current_officers().order_by( "last_name", "first_name" ) if request.method == "POST": formset = ElecteeGroupFormSet(request.POST, prefix="groups") if formset.is_valid(): instances = formset.save(commit=False) for instance in instances: if not instance.id: instance.term = get_current_term() instance.points = 0 instance.save() formset.save_m2m() request.session["success_message"] = "Electee groups successfully updated" return redirect("electees:view_electee_groups") else: request.session["error_message"] = "Form is invalid. Please correct the noted errors" else: formset = ElecteeGroupFormSet(queryset=e_groups, prefix="groups") template = loader.get_template("generic_formset.html") context_dict = { "formset": formset, "prefix": "groups", "subsubnav": "groups", "has_files": False, "submit_name": "Update Electee Groups", "form_title": "Update/Add/Remove Electee Groups", "help_text": "Create the electee groups for this semester, and specify the leaders nd officers. You can also remove or edit here.", "can_add_row": True, "base": "electees/base_electees.html", } context_dict.update(get_common_context(request)) context_dict.update(get_permissions(request.user)) context = RequestContext(request, context_dict) return HttpResponse(template.render(context))
def profiles_you_can_view(cls, user): if user.is_superuser: return get_members() current_positions = cls.get_current_officer_positions(user) query_all = Q(position__name="President") | Q(position__name="Vice President") query_actives = Q(position__name="Membership Officer") query_electees = Q(position__name="Graduate Student Coordinator") query_electee_groups = Q(leaders=user.userprofile.memberprofile) | Q(officers=user.userprofile.memberprofile) query_out = MemberProfile.objects.none() if current_positions: if current_positions.filter(query_all).exists(): return get_members() if current_positions.filter(query_actives).exists(): query_out = query_out | get_actives() if current_positions.filter(query_electees).exists(): query_out = query_out | get_electees() electee_groups_led = ElecteeGroup.objects.filter(query_electee_groups) for electee_group in electee_groups_led: query_out = query_out | electee_group.members.all() return query_out
def profiles_you_can_view(cls,user): if user.is_superuser: return get_members() current_positions = cls.get_current_officer_positions(user) query_all = Q(position__name='President')|Q(position__name='Vice President') query_actives = Q(position__name='Membership Officer') query_electees= Q(position__name='Graduate Student Coordinator') query_electee_groups = Q(leaders=user.userprofile.memberprofile)|Q(officers=user.userprofile.memberprofile) query_out = MemberProfile.objects.none() if current_positions: if current_positions.filter(query_all).exists(): return get_members() if current_positions.filter(query_actives).exists(): query_out = query_out | get_actives() if current_positions.filter(query_electees).exists(): query_out = query_out | get_electees() electee_groups_led = ElecteeGroup.objects.filter(query_electee_groups) for electee_group in electee_groups_led: query_out = query_out|electee_group.members.all() return query_out
class ManageActiveGroupMeetingsForm(Form): member = forms.ModelChoiceField(queryset=get_actives().filter( ~Q(electee_group_leaders=None, electee_group_officers=None)).distinct( ).order_by('last_name')) group_meetings = forms.IntegerField(min_value=0)