def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) event = self.request.event stages = get_stages(event) context['timeline'] = stages.values() context['go_to_target'] = ('schedule' if stages['REVIEW']['phase'] == 'done' else 'cfp') _now = now() today = _now.date() context['tiles'] = self.get_cfp_tiles(event, _now) if today < event.date_from: days = (event.date_from - today).days context['tiles'].append({ 'large': days, 'small': ngettext_lazy('day until event start', 'days until event start', days), }) elif today > event.date_to: days = (today - event.date_from).days context['tiles'].append({ 'large': days, 'small': ngettext_lazy('day since event end', 'days since event end', days), }) elif event.date_to != event.date_from: day = (today - event.date_from).days + 1 context['tiles'].append({ 'large': _('Day {number}').format(number=day), 'small': _('of {total_days} days').format( total_days=(event.date_to - event.date_from).days + 1), 'url': event.urls.schedule + f'#{today.isoformat()}', }) if event.current_schedule: context['tiles'].append({ 'large': event.current_schedule.version, 'small': _('current schedule'), 'url': event.urls.schedule, }) if event.submissions.count(): count = event.submissions.count() context['tiles'].append({ 'large': count, 'small': ngettext_lazy('submission', 'submissions', count), 'url': event.orga_urls.submissions, }) talk_count = event.talks.count() if talk_count: context['tiles'].append({ 'large': talk_count, 'small': ngettext_lazy('talk', 'talks', talk_count), 'url': event.orga_urls.submissions + f'?state={SubmissionStates.ACCEPTED}&state={SubmissionStates.CONFIRMED}', }) confirmed_count = event.talks.filter( state=SubmissionStates.CONFIRMED).count() if confirmed_count != talk_count: count = talk_count - confirmed_count context['tiles'].append({ 'large': count, 'small': ngettext_lazy('unconfirmed talk', 'unconfirmed talks', count), 'url': event.orga_urls.submissions + f'?state={SubmissionStates.ACCEPTED}', }) count = event.speakers.count() if count: context['tiles'].append({ 'large': count, 'small': ngettext_lazy('speaker', 'speakers', count), 'url': event.orga_urls.speakers + '?role=true', }) count = event.queued_mails.filter(sent__isnull=False).count() context['tiles'].append({ 'large': count, 'small': ngettext_lazy('sent email', 'sent emails', count), 'url': event.orga_urls.compose_mails, }) return context
def get_context_data(self, event): context = super().get_context_data() event = self.request.event context['timeline'] = get_stages(event) context['history'] = ActivityLog.objects.filter( event=self.get_object())[:20] context['tiles'] = [] today = now().date() if today < event.date_from: context['tiles'].append({ 'large': (event.date_from - today).days, 'small': _('days until event start'), }) elif today > event.date_to: context['tiles'].append({ 'large': (today - event.date_from).days, 'small': _('days since event end'), }) else: day = (today - event.date_from).days + 1 context['tiles'].append({ 'large': _('Day {number}').format(number=day), 'small': _('of {total_days} days').format( total_days=(event.date_to - event.date_from).days + 1), 'url': event.urls.schedule + f'#{today.isoformat()}', }) if event.current_schedule: context['tiles'].append({ 'large': event.current_schedule.version, 'small': _('current schedule'), 'url': event.urls.schedule, }) context['tiles'].append({ 'url': event.urls.base, 'small': _('Go to CfP'), }) if event.submissions.count(): context['tiles'].append({ 'large': event.submissions.count(), 'small': _('total submissions'), 'url': event.orga_urls.submissions, }) talk_count = event.talks.count() if talk_count: context['tiles'].append({ 'large': talk_count, 'small': _('total talks'), 'url': event.orga_urls.submissions, }) confirmed_count = event.talks.filter( state=SubmissionStates.CONFIRMED).count() if confirmed_count != talk_count: context['tiles'].append({ 'large': talk_count - confirmed_count, 'small': _('unconfirmed talks'), 'url': event.orga_urls.submissions + f'?state={SubmissionStates.ACCEPTED}', }) if event.speakers.count(): context['tiles'].append({ 'large': event.speakers.count(), 'small': _('speakers'), 'url': event.orga_urls.speakers + '?role=true', }) context['tiles'].append({ 'large': event.queued_mails.filter(sent__isnull=False).count(), 'small': _('sent emails'), 'url': event.orga_urls.compose_mails, }) return context
def get_context_data(self, event): ctx = super().get_context_data() event = self.request.event ctx['timeline'] = get_stages(event) return ctx
def get_context_data(self, **kwargs): result = super().get_context_data(**kwargs) event = self.request.event stages = get_stages(event) result["timeline"] = stages.values() result["go_to_target"] = ( "schedule" if stages["REVIEW"]["phase"] == "done" else "cfp" ) _now = now() today = _now.date() result["tiles"] = self.get_cfp_tiles(_now) if today < event.date_from: days = (event.date_from - today).days result["tiles"].append( { "large": days, "small": ngettext_lazy( "day until event start", "days until event start", days ), } ) elif today > event.date_to: days = (today - event.date_from).days result["tiles"].append( { "large": days, "small": ngettext_lazy( "day since event end", "days since event end", days ), } ) elif event.date_to != event.date_from: day = (today - event.date_from).days + 1 result["tiles"].append( { "large": _("Day {number}").format(number=day), "small": _("of {total_days} days").format( total_days=(event.date_to - event.date_from).days + 1 ), "url": event.urls.schedule + f"#{today.isoformat()}", } ) if event.current_schedule: result["tiles"].append( { "large": event.current_schedule.version, "small": _("current schedule"), "url": event.urls.schedule, } ) if event.submissions.count(): count = event.submissions.count() result["tiles"].append( { "large": count, "small": ngettext_lazy("proposal", "proposals", count), "url": event.orga_urls.submissions, } ) submitter_count = event.submitters.count() result["tiles"].append( { "large": submitter_count, "small": ngettext_lazy("submitter", "submitters", submitter_count), "url": event.orga_urls.speakers, } ) talk_count = event.talks.count() if talk_count: result["tiles"].append( { "large": talk_count, "small": ngettext_lazy("session", "sessions", talk_count), "url": event.orga_urls.submissions + f"?state={SubmissionStates.ACCEPTED}&state={SubmissionStates.CONFIRMED}", } ) accepted_count = event.talks.filter( state=SubmissionStates.ACCEPTED ).count() if accepted_count != 0: result["tiles"].append( { "large": accepted_count, "small": ngettext_lazy( "unconfirmed session", "unconfirmed sessions", accepted_count, ), "url": event.orga_urls.submissions + f"?state={SubmissionStates.ACCEPTED}", } ) count = event.speakers.count() if count: result["tiles"].append( { "large": count, "small": ngettext_lazy("speaker", "speakers", count), "url": event.orga_urls.speakers + "?role=true", } ) count = event.queued_mails.filter(sent__isnull=False).count() result["tiles"].append( { "large": count, "small": ngettext_lazy("sent email", "sent emails", count), "url": event.orga_urls.sent_mails, } ) result["tiles"] += self.get_review_tiles() return result
def get_context_data(self, event): ctx = super().get_context_data() ctx['timeline'] = get_stages(self.request.event) ctx['history'] = ActivityLog.objects.filter( event=self.get_object())[:20] return ctx