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 mindset(request): request.session['current_page'] = request.path template = loader.get_template('outreach/MindSET.html') k_12_officers = Officer.objects.filter( position__name='K-12 Outreach Officer').order_by( '-term__year', 'term__semester_type__name') officers_unique = [] id_set = set() positions = OfficerPosition.objects.filter(name='K-12 Outreach Officer') current_officers = k_12_officers.filter(term=get_current_term()) if positions.exists: position = positions[0] else: position = None for officer in k_12_officers: if officer.user.uniqname in id_set: continue else: id_set |= set([officer.user.uniqname]) if not current_officers.filter( user__uniqname=officer.user.uniqname).exists(): officers_unique.append(officer) mindset_main_photo = OutreachPhoto.objects.filter( photo_type__name='MindSET_Main') mindset_slideshow_photos = OutreachPhoto.objects.filter( photo_type__name='MindSET_Slideshow', active=True) if mindset_main_photo.exists(): main_photo = mindset_main_photo[0] else: main_photo = None mindset_parking_photo = OutreachPhoto.objects.filter( photo_type__name='MindSET_Map') if mindset_parking_photo.exists(): parking_photo = mindset_parking_photo[0] else: parking_photo = None events = CalendarEvent.objects.filter( term=get_current_term(), event_type__name='MindSET').annotate(earliest_shift=Min( 'eventshift__start_time')).order_by('earliest_shift') context_dict = { 'events': events, 'main_photo': main_photo, 'parking_photo': parking_photo, 'modules': MindSETModule.objects.all(), 'k_12_officers': officers_unique, 'position': position, 'current_officers': current_officers, 'volunteer_files': VolunteerFile.objects.all(), 'slideshow_photos': mindset_slideshow_photos, 'subnav': 'mindset', } 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 view_electee_groups(request): e_groups = ElecteeGroup.objects.filter(term=get_current_term()).order_by("points") packets = ElecteeResource.objects.filter(term=get_current_term(), resource_type__is_packet=True).order_by( "resource_type" ) resources = ElecteeResource.objects.filter(term=get_current_term(), resource_type__is_packet=False).order_by( "resource_type" ) template = loader.get_template("electees/view_electee_groups.html") context_dict = {"groups": e_groups, "resources": resources, "packets": packets} 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 mindset(request): request.session['current_page']=request.path template = loader.get_template('outreach/MindSET.html') k_12_officers = Officer.objects.filter(position__name='K-12 Outreach Officer').order_by('-term__year','term__semester_type__name') officers_unique=[] id_set = set() positions=OfficerPosition.objects.filter(name='K-12 Outreach Officer') current_officers=k_12_officers.filter(term=get_current_term()) if positions.exists: position=positions[0] else: position=None for officer in k_12_officers: if officer.user.uniqname in id_set: continue else: id_set|=set([officer.user.uniqname]) if not current_officers.filter(user__uniqname=officer.user.uniqname).exists(): officers_unique.append(officer) mindset_main_photo = OutreachPhoto.objects.filter(photo_type__name='MindSET_Main') mindset_slideshow_photos = OutreachPhoto.objects.filter(photo_type__name='MindSET_Slideshow',active=True) if mindset_main_photo.exists(): main_photo=mindset_main_photo[0] else: main_photo=None mindset_parking_photo = OutreachPhoto.objects.filter(photo_type__name='MindSET_Map') if mindset_parking_photo.exists(): parking_photo=mindset_parking_photo[0] else: parking_photo=None events = CalendarEvent.objects.filter(term=get_current_term(),event_type__name='MindSET').annotate(earliest_shift=Min('eventshift__start_time')).order_by('earliest_shift') context_dict = { 'events':events, 'main_photo':main_photo, 'parking_photo':parking_photo, 'modules':MindSETModule.objects.all(), 'k_12_officers':officers_unique, 'position':position, 'current_officers':current_officers, 'volunteer_files':VolunteerFile.objects.all(), 'slideshow_photos':mindset_slideshow_photos, 'subnav':'mindset', } 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 edit_electee_group_membership(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') if request.method == 'POST': electee_groups_json = request.POST['electee_groups'] electee_groups = json.loads(electee_groups_json) for group_id in electee_groups: members = electee_groups[group_id] group = ElecteeGroup.objects.get(id=group_id) group.members.clear() for member in members: group.members.add(MemberProfile.objects.get(uniqname=member)) request.session['success_message'] = 'Your changes have been saved' e_groups = ElecteeGroup.objects.filter(term=get_current_term()) template = loader.get_template( 'electees/edit_electee_group_membership.html') context_dict = { 'electee_groups': e_groups, 'unassigned_electees': get_unassigned_electees(), 'subsubnav': 'members', } 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 get_terms(): current = get_current_term() query = Q(year__lte=current.year)&~Q(semester_type__name='Summer') if current.semester_type.name=='Winter': query = query &~(Q(semester_type__name='Fall')&Q(year=current.year)) terms = AcademicTerm.objects.filter(query) return terms.order_by('-year','semester_type__name')
def outreach_event(request, url_stem): request.session['current_page'] = request.path outreach_event = get_object_or_404(OutreachEventType, url_stem=url_stem) events = CalendarEvent.objects.filter( term=get_current_term(), event_type=outreach_event.event_category, eventshift__end_time__gte=timezone.now()).annotate(earliest_shift=Min( 'eventshift__start_time')).order_by('earliest_shift') template = loader.get_template('outreach/outreach_template.html') context_dict = { 'events': events, 'subnav': url_stem, 'title': outreach_event.title, 'text': outreach_event.text, 'has_cal_events': outreach_event.has_calendar_events, 'event_category': outreach_event.event_category.name, 'event_timeline': outreach_event.outreachevent_set.all().order_by('-pin_to_top', '-id'), } 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_group_membership(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") if request.method == "POST": electee_groups_json = request.POST["electee_groups"] electee_groups = json.loads(electee_groups_json) for group_id in electee_groups: members = electee_groups[group_id] group = ElecteeGroup.objects.get(id=group_id) group.members.clear() for member in members: group.members.add(MemberProfile.objects.get(uniqname=member)) request.session["success_message"] = "Your changes have been saved" e_groups = ElecteeGroup.objects.filter(term=get_current_term()) template = loader.get_template("electees/edit_electee_group_membership.html") context_dict = { "electee_groups": e_groups, "unassigned_electees": get_unassigned_electees(), "subsubnav": "members", } 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 get_current_officer_positions(cls, user): profile = cls.get_profile(user) if not profile: return Officer.objects.none() term = get_current_term() if term.semester_type.name == "Summer": term = get_next_full_term() current_positions = Officer.objects.filter(user=profile, term=term) return current_positions
def get_current_officer_positions(cls,user): profile = cls.get_profile(user) if not profile: return Officer.objects.none() term = get_current_term() if term.semester_type.name=='Summer': term = get_next_full_term() current_positions = Officer.objects.filter(user=profile,term = term) return current_positions
def view_electee_groups(request): e_groups = ElecteeGroup.objects.filter( term=get_current_term()).order_by('points') packets = ElecteeResource.objects.filter( term=get_current_term(), resource_type__is_packet=True).order_by('resource_type') resources = ElecteeResource.objects.filter( term=get_current_term(), resource_type__is_packet=False).order_by('resource_type') template = loader.get_template('electees/view_electee_groups.html') context_dict = { 'groups': e_groups, 'resources': resources, 'packets': packets, } 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 electee_stopped_electing(profile): profile.still_electing=False profile.save() future_events = CalendarEvent.objects.filter(eventshift__attendees=profile,completed=False) for event in future_events: for shift in event.eventshift_set.all(): shift.attendees.remove(profile) shift.save() for group in ElecteeGroup.objects.filter(term=get_current_term(),members=profile): group.members.remove(profile) group.save()
def project_reports_you_can_view(cls, user): if user.is_superuser: return ProjectReport.objects.filter(term=get_current_term()) current_positions = cls.get_current_officer_positions(user) if current_positions.filter(position__name="Secretary").exists(): return ProjectReport.objects.filter(term=get_current_term()) profile = cls.get_profile(user) if not profile: return ProjectReport.objects.none() query = Q() events = CalendarEvent.objects.filter(term=get_current_term()).filter(~Q(project_report=None)) for position in current_positions: query = query | Q(assoc_officer=position.position) query = query | Q(leaders=profile) events = events.filter(query) project_reports = [] for event in events: if not event.project_report in project_reports: project_reports.append(event.project_report) return project_reports
def project_reports_you_can_view(cls,user): if user.is_superuser: return ProjectReport.objects.filter(term=get_current_term()) current_positions=cls.get_current_officer_positions(user) if current_positions.filter(position__name='Secretary').exists(): return ProjectReport.objects.filter(term=get_current_term()) profile =cls.get_profile(user) if not profile: return ProjectReport.objects.none() query = Q() events=CalendarEvent.objects.filter(term=get_current_term()).filter(~Q(project_report=None)) for position in current_positions: query = query|Q(assoc_officer=position.position) query=query|Q(leaders=profile) events =events.filter(query) project_reports=[] for event in events: if not event.project_report in project_reports: project_reports.append(event.project_report) return project_reports
def edit_electee_resources(request): if not Permissions.can_manage_electee_progress(request.user): request.session[ 'error_message'] = 'You are not authorized to edit electee resources.' return redirect('electees:view_electee_groups') ResourceFormSet = modelformset_factory(ElecteeResource, exclude=('term', ), can_delete=True) term = get_current_term() if request.method == 'POST': formset = ResourceFormSet( request.POST, request.FILES, prefix='resources', queryset=ElecteeResource.objects.filter(term=term)) if formset.is_valid(): instances = formset.save(commit=False) for instance in instances: instance.term = term instance.save() request.session[ 'success_message'] = 'Electee resources updated successfully' return redirect('electees:view_electee_groups') else: request.session[ 'error_message'] = 'Form is invalid. Please correct the noted errors.' else: formset = ResourceFormSet( prefix='resources', queryset=ElecteeResource.objects.filter(term=term)) template = loader.get_template('generic_formset.html') context_dict = { 'formset': formset, 'prefix': 'resources', 'has_files': True, 'submit_name': 'Update Electee Resources', 'form_title': 'Update/Add/Remove Electee Resources for %s' % (unicode(term)), 'help_text': 'These are the full packets and their constituent parts. If you need a part that isn\'t listed here, contact the web chair.', '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 electee_stopped_electing(profile): profile.still_electing = False profile.save() future_events = CalendarEvent.objects.filter(eventshift__attendees=profile, completed=False) for event in future_events: for shift in event.eventshift_set.all(): shift.attendees.remove(profile) shift.save() for group in ElecteeGroup.objects.filter(term=get_current_term(), members=profile): group.members.remove(profile) group.save()
def leadership_for_term(request,term_id): template = loader.get_template('about/leadership.html') term = get_object_or_404(AcademicTerm,id=term_id) context_dict = { "officers":pack_officers_for_term(AcademicTerm.objects.get(id=term_id)), 'request':request, 'terms':get_terms()[:5], 'requested_term':term, 'is_current':(term_id==get_current_term().id), 'subnav':'leadership', } 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 tutoring(request): request.session['current_page']=request.path events = CalendarEvent.objects.filter(term=get_current_term(),event_type__name='Tutoring Hours').order_by('announce_start') officers = Officer.objects.filter(position__name='Campus Outreach Officer') template = loader.get_template('outreach/tutoring.html') tutoring_pages = TutoringPageSection.objects.all().order_by('page_order') context_dict = { 'events':events, 'tutoring_officers':officers, 'pages':tutoring_pages, 'subnav':'tutoring', } 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_group_points(request): if not Permissions.can_manage_electee_progress(request.user): request.session[ 'error_message'] = 'You are not authorized to edit electee group points.' return redirect('electees:view_electee_groups') GroupPointsFormSet = modelformset_factory(ElecteeGroupEvent, exclude=('related_event_id', ), can_delete=True) term = get_current_term() if request.method == 'POST': formset = GroupPointsFormSet(request.POST, prefix='group_points', queryset=ElecteeGroupEvent.objects.filter( related_event_id=None, electee_group__term=term)) if formset.is_valid(): formset.save() request.session[ 'success_message'] = 'Electee group points updated successfully' return redirect('electees:view_electee_groups') else: request.session[ 'error_message'] = 'Form is invalid. Please correct the noted errors.' else: formset = GroupPointsFormSet(prefix='group_points', queryset=ElecteeGroupEvent.objects.filter( related_event_id=None, electee_group__term=term)) template = loader.get_template('generic_formset.html') context_dict = { 'formset': formset, 'prefix': 'group_points', 'subsubnav': 'points', 'has_files': False, 'submit_name': 'Update Electee Group Points', 'form_title': 'Update/Add Remove Electee Group Points', 'help_text': 'Track the electee group points. You should not note any points from threshold participation at service or social events here. Those are tabulated automatically.', '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 outreach_event(request,url_stem): request.session['current_page']=request.path outreach_event = get_object_or_404(OutreachEventType,url_stem=url_stem) events = CalendarEvent.objects.filter(term=get_current_term(),event_type=outreach_event.event_category,eventshift__end_time__gte=timezone.now()).annotate(earliest_shift=Min('eventshift__start_time')).order_by('earliest_shift') template = loader.get_template('outreach/outreach_template.html') context_dict = { 'events':events, 'subnav':url_stem, 'title':outreach_event.title, 'text':outreach_event.text, 'has_cal_events':outreach_event.has_calendar_events, 'event_category':outreach_event.event_category.name, 'event_timeline':outreach_event.outreachevent_set.all().order_by('-pin_to_top','-id'), } 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 tutoring(request): request.session['current_page'] = request.path events = CalendarEvent.objects.filter( term=get_current_term(), event_type__name='Tutoring Hours').order_by('announce_start') officers = Officer.objects.filter(position__name='Campus Outreach Officer') template = loader.get_template('outreach/tutoring.html') tutoring_pages = TutoringPageSection.objects.all().order_by('page_order') context_dict = { 'events': events, 'tutoring_officers': officers, 'pages': tutoring_pages, 'subnav': 'tutoring', } 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 get_common_context(request): context_dict=get_message_dict(request) user_is_member = False has_profile = False event_signed_up = request.session.pop('event_signed_up',None) if hasattr(request.user,'userprofile'): has_profile = True if request.user.userprofile.is_member(): user_is_member = True context_dict.update({ 'request':request, 'term':get_current_term(), 'user_is_member':user_is_member, 'has_profile':has_profile, 'event_signed_up':event_signed_up, 'now':timezone.now(), 'main_nav':'outreach', 'sub_nav_extras':OutreachEventType.objects.all(), }) return context_dict
def get_common_context(request): context_dict = get_message_dict(request) user_is_member = False has_profile = False event_signed_up = request.session.pop('event_signed_up', None) if hasattr(request.user, 'userprofile'): has_profile = True if request.user.userprofile.is_member(): user_is_member = True context_dict.update({ 'request': request, 'term': get_current_term(), 'user_is_member': user_is_member, 'has_profile': has_profile, 'event_signed_up': event_signed_up, 'now': timezone.now(), 'main_nav': 'outreach', 'sub_nav_extras': OutreachEventType.objects.all(), }) return context_dict
def edit_electee_group_points(request): if not Permissions.can_manage_electee_progress(request.user): request.session["error_message"] = "You are not authorized to edit electee group points." return redirect("electees:view_electee_groups") GroupPointsFormSet = modelformset_factory(ElecteeGroupEvent, exclude=("related_event_id",), can_delete=True) term = get_current_term() if request.method == "POST": formset = GroupPointsFormSet( request.POST, prefix="group_points", queryset=ElecteeGroupEvent.objects.filter(related_event_id=None, electee_group__term=term), ) if formset.is_valid(): formset.save() request.session["success_message"] = "Electee group points updated successfully" return redirect("electees:view_electee_groups") else: request.session["error_message"] = "Form is invalid. Please correct the noted errors." else: formset = GroupPointsFormSet( prefix="group_points", queryset=ElecteeGroupEvent.objects.filter(related_event_id=None, electee_group__term=term), ) template = loader.get_template("generic_formset.html") context_dict = { "formset": formset, "prefix": "group_points", "subsubnav": "points", "has_files": False, "submit_name": "Update Electee Group Points", "form_title": "Update/Add Remove Electee Group Points", "help_text": "Track the electee group points. You should not note any points from threshold participation at service or social events here. Those are tabulated automatically.", "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_resources(request): if not Permissions.can_manage_electee_progress(request.user): request.session["error_message"] = "You are not authorized to edit electee resources." return redirect("electees:view_electee_groups") ResourceFormSet = modelformset_factory(ElecteeResource, exclude=("term",), can_delete=True) term = get_current_term() if request.method == "POST": formset = ResourceFormSet( request.POST, request.FILES, prefix="resources", queryset=ElecteeResource.objects.filter(term=term) ) if formset.is_valid(): instances = formset.save(commit=False) for instance in instances: instance.term = term instance.save() request.session["success_message"] = "Electee resources updated successfully" return redirect("electees:view_electee_groups") else: request.session["error_message"] = "Form is invalid. Please correct the noted errors." else: formset = ResourceFormSet(prefix="resources", queryset=ElecteeResource.objects.filter(term=term)) template = loader.get_template("generic_formset.html") context_dict = { "formset": formset, "prefix": "resources", "has_files": True, "submit_name": "Update Electee Resources", "form_title": "Update/Add/Remove Electee Resources for %s" % (unicode(term)), "help_text": "These are the full packets and their constituent parts. If you need a part that isn't listed here, contact the web chair.", "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 leadership(request): return leadership_for_term(request,get_current_term().id)
def get_current_group_leaders(): current_electee_groups = ElecteeGroup.objects.filter(term=get_current_term()) return MemberProfile.objects.filter(electee_group_leaders__in = current_electee_groups).distinct()
def get_current_event_leaders(): current_events = CalendarEvent.objects.filter(term=get_current_term()) return MemberProfile.objects.filter(event_leader__in = current_events).distinct()
def handle(self, *args, **options): e_groups = ElecteeGroup.objects.filter(term=get_current_term()) for group in e_groups: group.get_points()
def get_current_event_leaders(): current_events = CalendarEvent.objects.filter(term=get_current_term()) return MemberProfile.objects.filter(event_leader__in=current_events).distinct()
def get_current_group_leaders(): current_electee_groups = ElecteeGroup.objects.filter(term=get_current_term()) return MemberProfile.objects.filter(electee_group_leaders__in=current_electee_groups).distinct()
def get_current_officers(): current_officers = Officer.objects.filter(term=get_current_term()) return MemberProfile.objects.filter(officer__in = current_officers).distinct()
def get_current_officers(): current_officers = Officer.objects.filter(term=get_current_term()) return MemberProfile.objects.filter(officer__in=current_officers).distinct()
def get_unassigned_electees(): current_electee_groups = ElecteeGroup.objects.filter(term=get_current_term()) current_electees = get_electees() for group in current_electee_groups.all(): current_electees=current_electees.exclude(pk__in=group.members.all()) return current_electees.order_by('standing','last_name')
def handle(self,*args,**options): e_groups = ElecteeGroup.objects.filter(term=get_current_term()) for group in e_groups: group.get_points()