def view_profile(request, display_name): """View user profile.""" user = get_object_or_404(User, userprofile__display_name__iexact=display_name) usergroups = user.groups.filter(Q(name='Mentor')|Q(name='Council')) data = {'pageuser': user, 'user_profile': user.userprofile, 'added_by': user.userprofile.added_by, 'mentor': user.userprofile.mentor, 'usergroups': usergroups} if user.groups.filter(name='Rep').exists(): today = date.today() if (request.user.groups.filter(name='Admin').exists() or (request.user.is_authenticated() and user in request.user.mentees.all()) or user == request.user): reports = get_reports_for_year(user, start_year=2011, end_year=today.year, private=False) else: reports = get_reports_for_year(user, start_year=2011, end_year=today.year, private=True) data['monthly_reports'] = reports return render(request, 'profiles_view.html', data)
def view_profile(request, display_name): """View user profile.""" user = get_object_or_404(User, userprofile__display_name__iexact=display_name) usergroups = user.groups.filter(Q(name="Mentor") | Q(name="Council")) data = { "pageuser": user, "user_profile": user.userprofile, "added_by": user.userprofile.added_by, "mentor": user.userprofile.mentor, "usergroups": usergroups, } if user.groups.filter(name="Rep").exists(): today = date.today() if ( request.user.groups.filter(name="Admin").exists() or (request.user.is_authenticated() and user in request.user.mentees.all()) or user == request.user ): reports = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL["owner"] ) elif request.user.is_authenticated(): reports = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL["authenticated"] ) else: reports = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL["anonymous"] ) data["monthly_reports"] = reports return render(request, "profiles_view.html", data)
def view_profile(request, display_name): """View user profile.""" user = get_object_or_404(User, userprofile__display_name__iexact=display_name) if not user.groups.filter(name='Rep').exists(): raise Http404 if (not user.userprofile.registration_complete and not request.user.has_perm('profiles.can_edit_profiles')): raise Http404 usergroups = user.groups.filter(Q(name='Mentor') | Q(name='Council')) data = { 'pageuser': user, 'user_profile': user.userprofile, 'added_by': user.userprofile.added_by, 'mentor': user.userprofile.mentor, 'usergroups': usergroups } today = datetime.utcnow().date() # Enable NGReports if waffle flag is active if waffle.flag_is_active(request, 'reports_ng_report'): data['ng_reports'] = (user.ng_reports.filter( report_date__lte=today).order_by('-report_date')) if ((request.user.is_authenticated() and user in request.user.mentees.all()) or user == request.user): reports = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL['owner']) elif request.user.is_authenticated(): reports = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL['authenticated']) else: reports = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL['anonymous']) data['monthly_reports'] = reports past_user_events = get_events_for_user(user, to_date=today) data['future_events'] = get_events_for_user(user, from_date=today) data['past_events'] = past_user_events.reverse()[:10] data['featured_rep'] = FeaturedRep.objects.filter(user=user) return render(request, 'profiles_view.html', data)
def view_profile(request, display_name): """View user profile.""" user = get_object_or_404(User, userprofile__display_name__iexact=display_name) if not user.groups.filter(name='Rep').exists(): raise Http404 if (not user.userprofile.registration_complete and not request.user.has_perm('profiles.can_edit_profiles')): raise Http404 usergroups = user.groups.filter(Q(name='Mentor') | Q(name='Council')) data = {'pageuser': user, 'user_profile': user.userprofile, 'added_by': user.userprofile.added_by, 'mentor': user.userprofile.mentor, 'usergroups': usergroups} today = datetime.utcnow().date() # Enable NGReports if waffle flag is active if waffle.flag_is_active(request, 'reports_ng_report'): data['ng_reports'] = (user.ng_reports .filter(report_date__lte=today) .order_by('-report_date')) if ((request.user.is_authenticated() and user in request.user.mentees.all()) or user == request.user): reports = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL['owner']) elif request.user.is_authenticated(): reports = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL['authenticated']) else: reports = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL['anonymous']) data['monthly_reports'] = reports past_user_events = get_events_for_user(user, to_date=today) data['future_events'] = get_events_for_user(user, from_date=today) data['past_events'] = past_user_events.reverse()[:10] data['featured_rep'] = FeaturedRep.objects.filter(user=user) return render(request, 'profiles_view.html', data)
def view_profile(request, display_name): """View user profile.""" user = get_object_or_404(User, userprofile__display_name__iexact=display_name) if not user.groups.filter(name="Rep").exists(): raise Http404 if not user.userprofile.registration_complete and not request.user.has_perm("profiles.can_edit_profiles"): raise Http404 usergroups = user.groups.filter(Q(name="Mentor") | Q(name="Council")) data = { "pageuser": user, "user_profile": user.userprofile, "added_by": user.userprofile.added_by, "mentor": user.userprofile.mentor, "usergroups": usergroups, } today = datetime.utcnow().date() # Enable NGReports if waffle flag is active if waffle.flag_is_active(request, "reports_ng_report"): data["ng_reports"] = user.ng_reports.filter(report_date__lte=today).order_by("-report_date") if (request.user.is_authenticated() and user in request.user.mentees.all()) or user == request.user: reports = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL["owner"] ) elif request.user.is_authenticated(): reports = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL["authenticated"] ) else: reports = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL["anonymous"] ) data["monthly_reports"] = reports past_user_events = get_events_for_user(user, to_date=today) data["future_events"] = get_events_for_user(user, from_date=today) data["past_events"] = past_user_events.reverse()[:10] data["featured_rep"] = FeaturedRep.objects.filter(user=user) return render(request, "profiles_view.html", data)
def view_profile(request, display_name): """View user profile.""" user = get_object_or_404(User, userprofile__display_name__iexact=display_name) usergroups = user.groups.filter(Q(name='Mentor')|Q(name='Council')) if (not user.userprofile.registration_complete and not request.user.has_perm('profiles.can_edit_profiles')): raise Http404 data = {'pageuser': user, 'user_profile': user.userprofile, 'added_by': user.userprofile.added_by, 'mentor': user.userprofile.mentor, 'usergroups': usergroups} if user.groups.filter(name='Rep').exists(): today = date.today() if (request.user.groups.filter(name='Admin').exists() or (request.user.is_authenticated() and user in request.user.mentees.all()) or user == request.user): reports = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL['owner']) elif request.user.is_authenticated(): reports = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL['authenticated']) else: reports = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL['anonymous']) data['monthly_reports'] = reports today = date.today() data['future_events'] = get_events_for_user(user, from_date=today) data['past_events'] = get_events_for_user(user, to_date=today)[:10] return render(request, 'profiles_view.html', data)
def test_get_reports_public(self): """Test get reports utility.""" user = User.objects.get(username="******") reports = get_reports_for_year(user, start_year=2011, end_year=2012) eq_(reports[2011], None) eq_(len(reports[2012]), 12) for i in range(0, 2): self.assertIsNotNone(reports[2012][i]['report']) eq_(reports[2012][i]['class'], 'exists') for i in range(2, 12): self.assertIsNone(reports[2012][i]['report']) eq_(reports[2012][i]['class'], 'unavailable')
def test_get_reports_anonymous(self): """Test get reports utility as anonymous.""" user = User.objects.get(username="******") reports = get_reports_for_year(user, start_year=2011, end_year=2012) eq_(len(reports[2011]), 12) for i in range(0, 12): eq_(reports[2011][i]['report'], None) eq_(len(reports[2012]), 12) for i in range(0, 2): self.assertIsNotNone(reports[2012][i]['report']) eq_(reports[2012][i]['class'], 'exists') for i in range(2, 12): self.assertIsNone(reports[2012][i]['report']) eq_(reports[2012][i]['class'], 'unavailable')
def test_get_reports_anonymous(self): """Test get reports utility as anonymous.""" reports = get_reports_for_year(self.user, start_year=2011, end_year=2012) eq_(len(reports[2011]), 12) for i in range(0, 12): eq_(reports[2011][i]['report'], None) eq_(len(reports[2012]), 12) for i in range(0, 2): self.assertIsNotNone(reports[2012][i]['report']) eq_(reports[2012][i]['class'], 'exists') for i in range(2, 12): self.assertIsNone(reports[2012][i]['report']) eq_(reports[2012][i]['class'], 'unavailable')
def test_get_reports_owner(self): """Test get reports utility as owner.""" reports = get_reports_for_year( self.user, start_year=2011, end_year=2012, permission=REPORTS_PERMISSION_LEVEL['owner']) eq_(len(reports[2011]), 12) eq_(len(reports[2012]), 12) for i in range(0, 1): self.assertIsNone(reports[2011][i]['report']) eq_(reports[2011][i]['class'], 'unavailable') for i in range(1, 12): self.assertIsNone(reports[2011][i]['report']) eq_(reports[2011][i]['class'], 'editable') for i in range(0, 2): self.assertIsNotNone(reports[2012][i]['report']) eq_(reports[2012][i]['class'], 'exists')
def test_get_reports_private(self): """Test get reports utility private mode.""" user = User.objects.get(username="******") reports = get_reports_for_year(user, start_year=2011, end_year=2012, private=False) eq_(len(reports[2011]), 12) eq_(len(reports[2012]), 12) for i in range(0, 7): self.assertIsNone(reports[2011][i]['report']) eq_(reports[2011][i]['class'], 'unavailable') for i in range(7, 12): self.assertIsNone(reports[2011][i]['report']) eq_(reports[2011][i]['class'], 'editable') for i in range(0, 2): self.assertIsNotNone(reports[2012][i]['report']) eq_(reports[2012][i]['class'], 'exists')
def dashboard(request): """Dashboard view.""" user = request.user args = {} # Mozillians block if user.groups.filter(name="Mozillians").exists(): return dashboard_mozillians(request, user) # Reps block q_closed = Q(status="RESOLVED") | Q(status="VERIFIED") budget_requests = Bug.objects.filter(component="Budget Requests").exclude(q_closed) swag_requests = Bug.objects.filter(component="Swag Requests").exclude(q_closed) mentorship_requests = Bug.objects.filter(component="Mentorship").exclude(q_closed) cit_requests = Bug.objects.filter(component="Community IT Requests").exclude(q_closed) planning_requests = Bug.objects.filter(component="Planning").exclude(q_closed) today = date.today() # NG Reports if waffle.flag_is_active(request, "reports_ng_report"): if user.groups.filter(name="Rep").exists(): args["ng_reports"] = user.ng_reports.filter(report_date__lte=today).order_by("-report_date") args["today"] = utc_now() if user.groups.filter(name="Mentor").exists(): args["mentees_ng_reportees"] = User.objects.filter( ng_reports__isnull=False, ng_reports__mentor=user ).distinct() if user.groups.filter(Q(name="Admin") | Q(name="Council")).exists(): args["all_ng_reportees"] = User.objects.filter(ng_reports__isnull=False).distinct() # Old reporting system and dashboard data if user.groups.filter(name="Rep").exists(): args["monthly_reports"] = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL["owner"] ) my_q = Q(cc=user) | Q(creator=user) my_q_assigned = my_q | Q(assigned_to=user) my_mentees = User.objects.filter(userprofile__mentor=user, userprofile__registration_complete=True) args["my_budget_requests"] = budget_requests.filter(my_q).distinct() args["my_swag_requests"] = swag_requests.filter(my_q).distinct() if user.groups.filter(name="Mentor").exists(): args["mentees_budget_requests"] = budget_requests.filter(creator__in=my_mentees).distinct() args["mentees_swag_requests"] = swag_requests.filter(creator__in=my_mentees).distinct() my_mentorship_requests = mentorship_requests.filter(my_q_assigned) my_mentorship_requests = my_mentorship_requests.order_by("whiteboard") args["my_mentorship_requests"] = my_mentorship_requests.distinct() args["mentees_reports_list"] = Report.objects.filter(mentor=user).order_by("-created_on").distinct()[:20] args["mentees_reports_grid"] = get_mentee_reports_for_month(user) args["mentees_emails"] = my_mentees.values_list("first_name", "last_name", "email") or None args["email_mentees_form"] = forms.EmailUsersForm(my_mentees) if user.groups.filter(Q(name="Admin") | Q(name="Council")).exists(): args["all_budget_requests"] = budget_requests.all()[:20] args["all_swag_requests"] = swag_requests.all()[:20] args["my_cit_requests"] = cit_requests args["my_planning_requests"] = planning_requests args["all_reports"] = Report.objects.all().order_by("-created_on")[:20] else: args["my_planning_requests"] = planning_requests.filter(my_q_assigned).distinct() if user.groups.filter(name="Admin").exists(): args["is_admin"] = True reps = User.objects.filter(groups__name="Rep") args["reps_without_mentors"] = reps.filter(userprofile__registration_complete=True, userprofile__mentor=None) args["reps_without_profile"] = reps.filter(userprofile__registration_complete=False) return render(request, "dashboard_reps.html", args)
def dashboard(request): """Dashboard view.""" user = request.user args = {} q_closed = Q(status='RESOLVED')| Q(status='VERIFIED') budget_requests = (Bug.objects.filter(component='Budget Requests'). exclude(q_closed)) swag_requests = (Bug.objects.filter(component='Swag Requests'). exclude(q_closed)) mentorship_requests = (Bug.objects.filter(component='Mentorship'). exclude(q_closed)) cit_requests = (Bug.objects.filter(component='Community IT Requests'). exclude(q_closed)) planning_requests = (Bug.objects.filter(component='Planning'). exclude(q_closed)) today = date.today() if user.groups.filter(name='Rep').exists(): args['monthly_reports'] = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL['owner']) my_q = (Q(cc=user) | Q(creator=user)) my_q_assigned = (my_q | Q(assigned_to=user)) my_mentees = User.objects.filter(userprofile__mentor=user) args['my_budget_requests'] = budget_requests.filter(my_q).distinct() args['my_swag_requests'] = swag_requests.filter(my_q).distinct() if user.groups.filter(name='Mentor').exists(): args['mentees_budget_requests'] = (budget_requests. filter(creator__in=my_mentees). distinct()) args['mentees_swag_requests'] = (swag_requests. filter(creator__in=my_mentees). distinct()) my_mentorship_requests = mentorship_requests.filter(my_q_assigned) my_mentorship_requests = my_mentorship_requests.order_by('whiteboard') args['my_mentorship_requests'] = my_mentorship_requests.distinct() args['mentees_reports_list'] = (Report.objects.filter(mentor=user). order_by('-created_on'). distinct()[:20]) args['mentees_reports_grid'] = get_mentee_reports_for_month(user) args['mentees_emails'] = ( my_mentees.values_list('first_name', 'last_name', 'email') or None) args['email_mentees_form'] = EmailMenteesForm( initial={'email_of_mentor': user.email}) if user.groups.filter(Q(name='Admin') | Q(name='Council')).exists(): args['all_budget_requests'] = budget_requests.all()[:20] args['all_swag_requests'] = swag_requests.all()[:20] args['my_cit_requests'] = cit_requests args['my_planning_requests'] = planning_requests args['all_reports'] = Report.objects.all().order_by('-created_on')[:20] else: args['my_planning_requests'] = (planning_requests. filter(my_q_assigned). distinct()) if user.groups.filter(name='Admin').exists(): args['is_admin'] = True reps = User.objects.filter(groups__name='Rep') args['reps_without_mentors'] = reps.filter( userprofile__registration_complete=True, userprofile__mentor=None) args['reps_without_profile'] = reps.filter( userprofile__registration_complete=False) return render(request, 'dashboard.html', args)
def dashboard(request): """Dashboard view.""" user = request.user args = {} # Mozillians block if user.groups.filter(name='Mozillians').exists(): return dashboard_mozillians(request, user) # Reps block q_closed = Q(status='RESOLVED') | Q(status='VERIFIED') budget_requests = (Bug.objects.filter( component='Budget Requests').exclude(q_closed)) swag_requests = (Bug.objects.filter( component='Swag Requests').exclude(q_closed)) mentorship_requests = (Bug.objects.filter( component='Mentorship').exclude(q_closed)) cit_requests = (Bug.objects.filter( component='Community IT Requests').exclude(q_closed)) planning_requests = (Bug.objects.filter( component='Planning').exclude(q_closed)) today = date.today() # NG Reports if waffle.flag_is_active(request, 'reports_ng_report'): if user.groups.filter(name='Rep').exists(): args['ng_reports'] = (user.ng_reports.filter( report_date__lte=today).order_by('-report_date')) args['today'] = utc_now() if user.groups.filter(name='Mentor').exists(): args['mentees_ng_reportees'] = User.objects.filter( ng_reports__isnull=False, ng_reports__mentor=user).distinct() if user.groups.filter(Q(name='Admin') | Q(name='Council')).exists(): args['all_ng_reportees'] = User.objects.filter( ng_reports__isnull=False).distinct() # Old reporting system and dashboard data if user.groups.filter(name='Rep').exists(): args['monthly_reports'] = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL['owner']) my_q = (Q(cc=user) | Q(creator=user)) my_q_assigned = (my_q | Q(assigned_to=user)) my_mentees = User.objects.filter(userprofile__mentor=user, userprofile__registration_complete=True) args['my_budget_requests'] = budget_requests.filter(my_q).distinct() args['my_swag_requests'] = swag_requests.filter(my_q).distinct() if user.groups.filter(name='Mentor').exists(): args['mentees_budget_requests'] = (budget_requests.filter( creator__in=my_mentees).distinct()) args['mentees_swag_requests'] = (swag_requests.filter( creator__in=my_mentees).distinct()) my_mentorship_requests = mentorship_requests.filter(my_q_assigned) my_mentorship_requests = my_mentorship_requests.order_by('whiteboard') args['my_mentorship_requests'] = my_mentorship_requests.distinct() args['mentees_reports_list'] = (Report.objects.filter( mentor=user).order_by('-created_on').distinct()[:20]) args['mentees_reports_grid'] = get_mentee_reports_for_month(user) args['mentees_emails'] = (my_mentees.values_list( 'first_name', 'last_name', 'email') or None) args['email_mentees_form'] = forms.EmailUsersForm(my_mentees) if user.groups.filter(Q(name='Admin') | Q(name='Council')).exists(): args['all_budget_requests'] = budget_requests.all()[:20] args['all_swag_requests'] = swag_requests.all()[:20] args['my_cit_requests'] = cit_requests args['my_planning_requests'] = planning_requests args['all_reports'] = ( Report.objects.all().order_by('-created_on')[:20]) else: args['my_planning_requests'] = ( planning_requests.filter(my_q_assigned).distinct()) if user.groups.filter(name='Admin').exists(): args['is_admin'] = True reps = User.objects.filter(groups__name='Rep') args['reps_without_mentors'] = reps.filter( userprofile__registration_complete=True, userprofile__mentor=None) args['reps_without_profile'] = reps.filter( userprofile__registration_complete=False) return render(request, 'dashboard_reps.html', args)
def dashboard(request): """Dashboard view.""" user = request.user budget_requests = Bug.objects.filter(component='Budget Requests') budget_requests = budget_requests.exclude(status='RESOLVED') swag_requests = Bug.objects.filter(component='Swag Requests') swag_requests = swag_requests.exclude(status='RESOLVED') mentorship_requests = Bug.objects.filter(component='Mentorship') mentorship_requests = mentorship_requests.exclude(status='RESOLVED') cit_requests = Bug.objects.filter(component='Community IT Requests') cit_requests = cit_requests.exclude(status='RESOLVED') planning_requests = Bug.objects.filter(component='Planning') planning_requests = planning_requests.exclude(status='RESOLVED') today = date.today() monthly_reports = get_reports_for_year(user, start_year=2011, end_year=today.year, private=False) my_q = (Q(cc=user) | Q(creator=user)) my_q_assigned = (my_q | Q(assigned_to=user)) my_mentees = User.objects.filter(userprofile__mentor=user) my_budget_requests = budget_requests.filter(my_q) my_swag_requests = swag_requests.filter(my_q) if user.groups.filter(name='Mentor').exists(): mentees_budget_requests = (budget_requests. filter(creator__in=my_mentees)) mentees_swag_requests = swag_requests.filter(creator__in=my_mentees) my_mentorship_requests = mentorship_requests.filter(my_q) my_mentorship_requests = my_mentorship_requests.order_by('whiteboard') mentees_reports_list = (Report.objects.filter(mentor=user). order_by('-created_on')[:20]) mentees_reports_grid = get_mentee_reports_for_month(user) else: mentees_budget_requests = None mentees_swag_requests = None my_mentorship_requests = None mentees_reports_list = None mentees_reports_grid = None if user.groups.filter(Q(name='Admin') | Q(name='Council')).exists(): all_budget_requests = budget_requests.all()[:20] all_swag_requests = swag_requests.all()[:20] my_cit_requests = cit_requests my_planning_requests = planning_requests all_reports = Report.objects.all().order_by('-created_on')[:20] else: all_budget_requests = None all_swag_requests = None my_cit_requests = None my_planning_requests = planning_requests.filter(my_q_assigned) all_reports = None if user.groups.filter(name='Admin').exists(): reps = User.objects.filter(groups__name="Rep") reps_without_mentors = reps.filter( userprofile__registration_complete=True, userprofile__mentor=None) reps_without_profile = reps.filter( userprofile__registration_complete=False) else: reps_without_mentors = None reps_without_profile = None return render(request, 'dashboard.html', {'my_budget_requests': my_budget_requests, 'mentees_budget_requests': mentees_budget_requests, 'all_budget_requests': all_budget_requests, 'my_swag_requests': my_swag_requests, 'mentees_swag_requests': mentees_swag_requests, 'all_swag_requests': all_swag_requests, 'my_cit_requests': my_cit_requests, 'my_mentorship_requests': my_mentorship_requests, 'my_planning_requests': my_planning_requests, 'reps_without_profile': reps_without_profile, 'reps_without_mentors': reps_without_mentors, 'monthly_reports': monthly_reports, 'mentees_reports_list': mentees_reports_list, 'mentees_reports_grid': mentees_reports_grid, 'all_reports': all_reports})
def dashboard(request): """Dashboard view.""" user = request.user args = {} # Mozillians block if user.groups.filter(name="Mozillians").exists(): user_profile = user.userprofile interestform = forms.TrackFunctionalAreasForm(request.POST or None, instance=user_profile) reps_email_form = forms.EmailRepsForm(request.POST or None) if interestform.is_valid(): interestform.save() messages.success(request, "Interests successfully saved") return redirect("dashboard") if reps_email_form.is_valid(): functional_area = reps_email_form.cleaned_data["functional_area"] reps = User.objects.filter(groups__name="Rep").filter(userprofile__functional_areas__name=functional_area) reps_email_form.send_email(request, reps) return redirect("dashboard") # Get the reps who match the specified interests interests = user.userprofile.tracked_functional_areas.all() tracked_interests = {} reps_reports = {} reps_past_events = {} reps_current_events = {} now = datetime.now() for interest in interests: # Get the Reps with the specified interest reps = User.objects.filter(groups__name="Rep").filter(userprofile__functional_areas=interest) tracked_interests[interest] = reps # Get the reports of the Reps with the specified interest reps_reports[interest] = Report.objects.filter(user__in=reps).order_by("created_on")[:20] # Get the events with the specified category events = Event.objects.filter(categories=interest) reps_past_events[interest] = events.filter(start__lt=now)[:50] reps_current_events[interest] = events.filter(start__gt=now) args["interestform"] = interestform args["reps_reports"] = reps_reports args["reps_past_events"] = reps_past_events args["reps_current_events"] = reps_current_events args["tracked_interests"] = tracked_interests args["reps_email_form"] = reps_email_form return render(request, "dashboard_mozillians.html", args) # Reps block q_closed = Q(status="RESOLVED") | Q(status="VERIFIED") budget_requests = Bug.objects.filter(component="Budget Requests").exclude(q_closed) swag_requests = Bug.objects.filter(component="Swag Requests").exclude(q_closed) mentorship_requests = Bug.objects.filter(component="Mentorship").exclude(q_closed) cit_requests = Bug.objects.filter(component="Community IT Requests").exclude(q_closed) planning_requests = Bug.objects.filter(component="Planning").exclude(q_closed) today = date.today() if user.groups.filter(name="Rep").exists(): args["monthly_reports"] = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL["owner"] ) my_q = Q(cc=user) | Q(creator=user) my_q_assigned = my_q | Q(assigned_to=user) my_mentees = User.objects.filter(userprofile__mentor=user, userprofile__registration_complete=True) args["my_budget_requests"] = budget_requests.filter(my_q).distinct() args["my_swag_requests"] = swag_requests.filter(my_q).distinct() if user.groups.filter(name="Mentor").exists(): args["mentees_budget_requests"] = budget_requests.filter(creator__in=my_mentees).distinct() args["mentees_swag_requests"] = swag_requests.filter(creator__in=my_mentees).distinct() my_mentorship_requests = mentorship_requests.filter(my_q_assigned) my_mentorship_requests = my_mentorship_requests.order_by("whiteboard") args["my_mentorship_requests"] = my_mentorship_requests.distinct() args["mentees_reports_list"] = Report.objects.filter(mentor=user).order_by("-created_on").distinct()[:20] args["mentees_reports_grid"] = get_mentee_reports_for_month(user) args["mentees_emails"] = my_mentees.values_list("first_name", "last_name", "email") or None args["email_mentees_form"] = forms.EmailUsersForm(my_mentees) if user.groups.filter(Q(name="Admin") | Q(name="Council")).exists(): args["all_budget_requests"] = budget_requests.all()[:20] args["all_swag_requests"] = swag_requests.all()[:20] args["my_cit_requests"] = cit_requests args["my_planning_requests"] = planning_requests args["all_reports"] = Report.objects.all().order_by("-created_on")[:20] else: args["my_planning_requests"] = planning_requests.filter(my_q_assigned).distinct() if user.groups.filter(name="Admin").exists(): args["is_admin"] = True reps = User.objects.filter(groups__name="Rep") args["reps_without_mentors"] = reps.filter(userprofile__registration_complete=True, userprofile__mentor=None) args["reps_without_profile"] = reps.filter(userprofile__registration_complete=False) return render(request, "dashboard_reps.html", args)
def dashboard(request): """Dashboard view.""" user = request.user args = {} # Mozillians block if user.groups.filter(name='Mozillians').exists(): user_profile = user.userprofile interestform = forms.TrackFunctionalAreasForm(request.POST or None, instance=user_profile) reps_email_form = forms.EmailRepsForm(request.POST or None) if interestform.is_valid(): interestform.save() messages.success(request, 'Interests successfully saved') return redirect('dashboard') if reps_email_form.is_valid(): functional_area = reps_email_form.cleaned_data['functional_area'] reps = (User.objects .filter(groups__name='Rep') .filter(userprofile__functional_areas=functional_area)) reps_email_form.send_email(request, reps) return redirect('dashboard') # Get the reps who match the specified interests interests = user.userprofile.tracked_functional_areas.all() tracked_interests = {} reps_reports = {} reps_past_events = {} reps_current_events = {} now = datetime.now() for interest in interests: # Get the Reps with the specified interest reps = User.objects.filter(groups__name='Rep').filter( userprofile__functional_areas=interest) tracked_interests[interest.name] = { 'id': interest.id, 'reps': reps} # Get the reports of the Reps with the specified interest reps_reports[interest.name] = Report.objects.filter( user__in=reps).order_by('created_on')[:20] # Get the events with the specified category events = Event.objects.filter(categories=interest) reps_past_events[interest.name] = events.filter(start__lt=now)[:50] reps_current_events[interest.name] = events.filter(start__gte=now) args['interestform'] = interestform args['reps_reports'] = reps_reports args['reps_past_events'] = reps_past_events args['reps_current_events'] = reps_current_events args['tracked_interests'] = tracked_interests args['reps_email_form'] = reps_email_form return render(request, 'dashboard_mozillians.html', args) # Reps block q_closed = Q(status='RESOLVED') | Q(status='VERIFIED') budget_requests = (Bug.objects.filter(component='Budget Requests'). exclude(q_closed)) swag_requests = (Bug.objects.filter(component='Swag Requests'). exclude(q_closed)) mentorship_requests = (Bug.objects.filter(component='Mentorship'). exclude(q_closed)) cit_requests = (Bug.objects.filter(component='Community IT Requests'). exclude(q_closed)) planning_requests = (Bug.objects.filter(component='Planning'). exclude(q_closed)) today = date.today() if user.groups.filter(name='Rep').exists(): args['monthly_reports'] = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL['owner']) my_q = (Q(cc=user) | Q(creator=user)) my_q_assigned = (my_q | Q(assigned_to=user)) my_mentees = User.objects.filter(userprofile__mentor=user, userprofile__registration_complete=True) args['my_budget_requests'] = budget_requests.filter(my_q).distinct() args['my_swag_requests'] = swag_requests.filter(my_q).distinct() if user.groups.filter(name='Mentor').exists(): args['mentees_budget_requests'] = (budget_requests. filter(creator__in=my_mentees). distinct()) args['mentees_swag_requests'] = (swag_requests. filter(creator__in=my_mentees). distinct()) my_mentorship_requests = mentorship_requests.filter(my_q_assigned) my_mentorship_requests = my_mentorship_requests.order_by('whiteboard') args['my_mentorship_requests'] = my_mentorship_requests.distinct() args['mentees_reports_list'] = (Report.objects.filter(mentor=user). order_by('-created_on'). distinct()[:20]) args['mentees_reports_grid'] = get_mentee_reports_for_month(user) args['mentees_emails'] = ( my_mentees.values_list('first_name', 'last_name', 'email') or None) args['email_mentees_form'] = forms.EmailUsersForm(my_mentees) if user.groups.filter(Q(name='Admin') | Q(name='Council')).exists(): args['all_budget_requests'] = budget_requests.all()[:20] args['all_swag_requests'] = swag_requests.all()[:20] args['my_cit_requests'] = cit_requests args['my_planning_requests'] = planning_requests args['all_reports'] = Report.objects.all().order_by('-created_on')[:20] else: args['my_planning_requests'] = (planning_requests. filter(my_q_assigned). distinct()) if user.groups.filter(name='Admin').exists(): args['is_admin'] = True reps = User.objects.filter(groups__name='Rep') args['reps_without_mentors'] = reps.filter( userprofile__registration_complete=True, userprofile__mentor=None) args['reps_without_profile'] = reps.filter( userprofile__registration_complete=False) return render(request, 'dashboard_reps.html', args)
def dashboard(request): """Dashboard view.""" user = request.user args = {} # Mozillians block if user.groups.filter(name='Mozillians').exists(): return dashboard_mozillians(request, user) # Reps block q_closed = Q(status='RESOLVED') | Q(status='VERIFIED') budget_requests = (Bug.objects.filter(component='Budget Requests'). exclude(q_closed)) swag_requests = (Bug.objects.filter(component='Swag Requests'). exclude(q_closed)) mentorship_requests = (Bug.objects.filter(component='Mentorship'). exclude(q_closed)) cit_requests = (Bug.objects.filter(component='Community IT Requests'). exclude(q_closed)) planning_requests = (Bug.objects.filter(component='Planning'). exclude(q_closed)) today = date.today() # NG Reports if waffle.flag_is_active(request, 'reports_ng_report'): if user.groups.filter(name='Rep').exists(): args['ng_reports'] = (user.ng_reports .filter(report_date__lte=today) .order_by('-report_date')) args['today'] = utc_now() if user.groups.filter(name='Mentor').exists(): args['mentees_ng_reportees'] = User.objects.filter( ng_reports__isnull=False, ng_reports__mentor=user).distinct() # Old reporting system and dashboard data if user.groups.filter(name='Rep').exists(): args['monthly_reports'] = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL['owner']) my_q = (Q(cc=user) | Q(creator=user)) my_q_assigned = (my_q | Q(assigned_to=user)) my_mentees = User.objects.filter(userprofile__mentor=user, userprofile__registration_complete=True) args['my_budget_requests'] = budget_requests.filter(my_q).distinct() args['my_swag_requests'] = swag_requests.filter(my_q).distinct() if user.groups.filter(name='Mentor').exists(): args['mentees_budget_requests'] = (budget_requests. filter(creator__in=my_mentees). distinct()) args['mentees_swag_requests'] = (swag_requests. filter(creator__in=my_mentees). distinct()) my_mentorship_requests = mentorship_requests.filter(my_q_assigned) my_mentorship_requests = my_mentorship_requests.order_by('whiteboard') args['my_mentorship_requests'] = my_mentorship_requests.distinct() args['mentees_reports_list'] = (Report.objects.filter(mentor=user). order_by('-created_on'). distinct()[:20]) args['mentees_reports_grid'] = get_mentee_reports_for_month(user) args['mentees_emails'] = ( my_mentees.values_list('first_name', 'last_name', 'email') or None) args['email_mentees_form'] = forms.EmailUsersForm(my_mentees) if user.groups.filter(Q(name='Admin') | Q(name='Council')).exists(): args['all_budget_requests'] = budget_requests.all()[:20] args['all_swag_requests'] = swag_requests.all()[:20] args['my_cit_requests'] = cit_requests args['my_planning_requests'] = planning_requests args['all_reports'] = (Report.objects.all() .order_by('-created_on')[:20]) else: args['my_planning_requests'] = (planning_requests. filter(my_q_assigned). distinct()) if user.groups.filter(name='Admin').exists(): args['is_admin'] = True reps = User.objects.filter(groups__name='Rep') args['reps_without_mentors'] = reps.filter( userprofile__registration_complete=True, userprofile__mentor=None) args['reps_without_profile'] = reps.filter( userprofile__registration_complete=False) return render(request, 'dashboard_reps.html', args)
def dashboard(request): """Dashboard view.""" user = request.user args = {} # Mozillians block if user.groups.filter(name='Mozillians').exists(): user_profile = user.userprofile interestform = forms.TrackFunctionalAreasForm(request.POST or None, instance=user_profile) reps_email_form = forms.EmailRepsForm(request.POST or None) if interestform.is_valid(): interestform.save() messages.success(request, 'Interests successfully saved') return redirect('dashboard') if reps_email_form.is_valid(): functional_area = reps_email_form.cleaned_data['functional_area'] reps = (User.objects.filter(groups__name='Rep').filter( userprofile__functional_areas=functional_area)) reps_email_form.send_email(request, reps) return redirect('dashboard') # Get the reps who match the specified interests interests = user.userprofile.tracked_functional_areas.all() tracked_interests = {} reps_reports = {} reps_past_events = {} reps_current_events = {} now = datetime.now() for interest in interests: # Get the Reps with the specified interest reps = User.objects.filter(groups__name='Rep').filter( userprofile__functional_areas=interest) tracked_interests[interest.name] = { 'id': interest.id, 'reps': reps } # Get the reports of the Reps with the specified interest reps_reports[interest.name] = Report.objects.filter( user__in=reps).order_by('created_on')[:20] # Get the events with the specified category events = Event.objects.filter(categories=interest) reps_past_events[interest.name] = events.filter(start__lt=now)[:50] reps_current_events[interest.name] = events.filter(start__gte=now) args['interestform'] = interestform args['reps_reports'] = reps_reports args['reps_past_events'] = reps_past_events args['reps_current_events'] = reps_current_events args['tracked_interests'] = tracked_interests args['reps_email_form'] = reps_email_form return render(request, 'dashboard_mozillians.html', args) # Reps block q_closed = Q(status='RESOLVED') | Q(status='VERIFIED') budget_requests = (Bug.objects.filter( component='Budget Requests').exclude(q_closed)) swag_requests = (Bug.objects.filter( component='Swag Requests').exclude(q_closed)) mentorship_requests = (Bug.objects.filter( component='Mentorship').exclude(q_closed)) cit_requests = (Bug.objects.filter( component='Community IT Requests').exclude(q_closed)) planning_requests = (Bug.objects.filter( component='Planning').exclude(q_closed)) today = date.today() if user.groups.filter(name='Rep').exists(): args['monthly_reports'] = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL['owner']) my_q = (Q(cc=user) | Q(creator=user)) my_q_assigned = (my_q | Q(assigned_to=user)) my_mentees = User.objects.filter(userprofile__mentor=user, userprofile__registration_complete=True) args['my_budget_requests'] = budget_requests.filter(my_q).distinct() args['my_swag_requests'] = swag_requests.filter(my_q).distinct() if user.groups.filter(name='Mentor').exists(): args['mentees_budget_requests'] = (budget_requests.filter( creator__in=my_mentees).distinct()) args['mentees_swag_requests'] = (swag_requests.filter( creator__in=my_mentees).distinct()) my_mentorship_requests = mentorship_requests.filter(my_q_assigned) my_mentorship_requests = my_mentorship_requests.order_by('whiteboard') args['my_mentorship_requests'] = my_mentorship_requests.distinct() args['mentees_reports_list'] = (Report.objects.filter( mentor=user).order_by('-created_on').distinct()[:20]) args['mentees_reports_grid'] = get_mentee_reports_for_month(user) args['mentees_emails'] = (my_mentees.values_list( 'first_name', 'last_name', 'email') or None) args['email_mentees_form'] = forms.EmailUsersForm(my_mentees) if user.groups.filter(Q(name='Admin') | Q(name='Council')).exists(): args['all_budget_requests'] = budget_requests.all()[:20] args['all_swag_requests'] = swag_requests.all()[:20] args['my_cit_requests'] = cit_requests args['my_planning_requests'] = planning_requests args['all_reports'] = Report.objects.all().order_by('-created_on')[:20] else: args['my_planning_requests'] = ( planning_requests.filter(my_q_assigned).distinct()) if user.groups.filter(name='Admin').exists(): args['is_admin'] = True reps = User.objects.filter(groups__name='Rep') args['reps_without_mentors'] = reps.filter( userprofile__registration_complete=True, userprofile__mentor=None) args['reps_without_profile'] = reps.filter( userprofile__registration_complete=False) return render(request, 'dashboard_reps.html', args)
def dashboard(request): """Dashboard view.""" user = request.user args = {} q_closed = Q(status='RESOLVED') | Q(status='VERIFIED') budget_requests = (Bug.objects.filter( component='Budget Requests').exclude(q_closed)) swag_requests = (Bug.objects.filter( component='Swag Requests').exclude(q_closed)) mentorship_requests = (Bug.objects.filter( component='Mentorship').exclude(q_closed)) cit_requests = (Bug.objects.filter( component='Community IT Requests').exclude(q_closed)) planning_requests = (Bug.objects.filter( component='Planning').exclude(q_closed)) today = date.today() if user.groups.filter(name='Rep').exists(): args['monthly_reports'] = get_reports_for_year( user, start_year=2011, end_year=today.year, permission=REPORTS_PERMISSION_LEVEL['owner']) my_q = (Q(cc=user) | Q(creator=user)) my_q_assigned = (my_q | Q(assigned_to=user)) my_mentees = User.objects.filter(userprofile__mentor=user) args['my_budget_requests'] = budget_requests.filter(my_q).distinct() args['my_swag_requests'] = swag_requests.filter(my_q).distinct() if user.groups.filter(name='Mentor').exists(): args['mentees_budget_requests'] = (budget_requests.filter( creator__in=my_mentees).distinct()) args['mentees_swag_requests'] = (swag_requests.filter( creator__in=my_mentees).distinct()) my_mentorship_requests = mentorship_requests.filter(my_q_assigned) my_mentorship_requests = my_mentorship_requests.order_by('whiteboard') args['my_mentorship_requests'] = my_mentorship_requests.distinct() args['mentees_reports_list'] = (Report.objects.filter( mentor=user).order_by('-created_on').distinct()[:20]) args['mentees_reports_grid'] = get_mentee_reports_for_month(user) args['mentees_emails'] = (my_mentees.values_list( 'first_name', 'last_name', 'email') or None) args['email_mentees_form'] = EmailMenteesForm( initial={'email_of_mentor': user.email}) if user.groups.filter(Q(name='Admin') | Q(name='Council')).exists(): args['all_budget_requests'] = budget_requests.all()[:20] args['all_swag_requests'] = swag_requests.all()[:20] args['my_cit_requests'] = cit_requests args['my_planning_requests'] = planning_requests args['all_reports'] = Report.objects.all().order_by('-created_on')[:20] else: args['my_planning_requests'] = ( planning_requests.filter(my_q_assigned).distinct()) if user.groups.filter(name='Admin').exists(): args['is_admin'] = True reps = User.objects.filter(groups__name='Rep') args['reps_without_mentors'] = reps.filter( userprofile__registration_complete=True, userprofile__mentor=None) args['reps_without_profile'] = reps.filter( userprofile__registration_complete=False) return render(request, 'dashboard.html', args)