コード例 #1
0
 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
コード例 #2
0
 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
コード例 #3
0
ファイル: dashboard.py プロジェクト: erdgeist/pretalx
 def get_context_data(self, event):
     ctx = super().get_context_data()
     event = self.request.event
     ctx['timeline'] = get_stages(event)
     return ctx
コード例 #4
0
 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
コード例 #5
0
 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