def get_context_data(self, *args, **kwargs): context = { 'published_surveys': Survey.objects.filter(Q(end_date__isnull=True) | Q( end_date__gte=now()), start_date__lte=now()).order_by('-start_date'), 'unpublished_surveys': Survey.objects.filter(Q(start_date__isnull=True) | Q(start_date__gt=now())).order_by('-id'), 'closed_surveys': Survey.objects.filter(start_date__isnull=False, end_date__lte=now()).order_by('-end_date'), 'active_surveys': Survey.objects.filter(Q(end_date__isnull=True) | Q( end_date__gte=now()), start_date__lte=now()).annotate(ballot_count=Count('ballot')).order_by('-ballot_count'), 'total_ballots': Ballot.objects.all().count() } context.update(super(SurveyListMixin, self).get_context_data(*args, **kwargs)) return context
def setUp(self): self.user = User.objects.create_user('admin', email="*****@*****.**", password='******') self.client.login(username='******', password='******') self.survey = Survey.objects.create(title="My new survey", slug="my-new-survey", creator=self.user) self.survey_url = self.survey.get_absolute_url() self.survey_results_url = reverse('surveyresults', kwargs={'slug': self.survey.slug}) self.questionRA = Question.objects.create(message="What time is it", survey=self.survey, type="RA") self.choiceRA = Choice.objects.create(question=self.questionRA, message="5 oclock") self.questionTB = Question.objects.create(message="Textbox question", survey=self.survey, type="TB") self.choiceTB = Choice.objects.create(question=self.questionTB, message="QuestionText") self.now = now() self.one_hour = timedelta(hours=1)
def get_context_data(self, *args, **kwargs): closed_list = Survey.objects.filter(start_date__isnull=False, end_date__lte=now()).order_by('-end_date') paginator = Paginator(closed_list, 20) page = self.request.GET.get('page') try: page_list = paginator.page(page) except PageNotAnInteger: page_list = paginator.page(1) except EmptyPage: page_list = paginator.page(paginator.num_pages) context = super(SurveyArchiveView, self).get_context_data(*args, **kwargs) context['page_list'] = page_list return context
def set_date(self, field, dtStr, tmStr): if dtStr == "": setattr(self, field, None) self.save() return try: dt = datetime.strptime(dtStr + " " + tmStr, '%m/%d/%Y %I:%M%p').replace(tzinfo=get_current_timezone()) if field == 'start_date' and self.start_date: if self.start_date != dt and self.start_date < now() and self.has_results: raise self.AlreadyPublishedError except ValueError: dt = datetime.strptime(dtStr, '%m/%d/%Y').replace(tzinfo=get_current_timezone()) setattr(self, field, dt) self.save()
def get_context_data(self, *args, **kwargs): closed_list = Survey.objects.filter( start_date__isnull=False, end_date__lte=now()).order_by('-end_date') paginator = Paginator(closed_list, 20) page = self.request.GET.get('page') try: page_list = paginator.page(page) except PageNotAnInteger: page_list = paginator.page(1) except EmptyPage: page_list = paginator.page(paginator.num_pages) context = super(SurveyArchiveView, self).get_context_data(*args, **kwargs) context['page_list'] = page_list return context
def set_date(self, field, dtStr, tmStr): if dtStr == "": setattr(self, field, None) self.save() return try: dt = datetime.strptime( dtStr + " " + tmStr, '%m/%d/%Y %I:%M%p').replace(tzinfo=get_current_timezone()) if field == 'start_date' and self.start_date: if self.start_date != dt and self.start_date < now( ) and self.has_results: raise self.AlreadyPublishedError except ValueError: dt = datetime.strptime( dtStr, '%m/%d/%Y').replace(tzinfo=get_current_timezone()) setattr(self, field, dt) self.save()
def setUp(self): self.user = User.objects.create_user('admin', email="*****@*****.**", password='******') self.client.login(username='******', password='******') self.survey = Survey.objects.create(title="My new survey", slug="my-new-survey", creator=self.user) self.survey_url = self.survey.get_absolute_url() self.survey_results_url = reverse('surveyresults', kwargs={'slug': self.survey.slug}) self.questionRA = Question.objects.create(message="What time is it", survey=self.survey, type="RA") self.choiceRA = Choice.objects.create(question=self.questionRA, message="5 oclock") self.questionTB = Question.objects.create(message="Textbox question", survey=self.survey, type="TB") self.choiceTB = Choice.objects.create(question=self.questionTB, message="QuestionText") self.now = now() self.one_hour = timedelta(hours=1)
def get_context_data(self, *args, **kwargs): context = { 'published_surveys': Survey.objects.filter( Q(end_date__isnull=True) | Q(end_date__gte=now()), start_date__lte=now()).order_by('-start_date'), 'unpublished_surveys': Survey.objects.filter( Q(start_date__isnull=True) | Q(start_date__gt=now())).order_by('-id'), 'closed_surveys': Survey.objects.filter(start_date__isnull=False, end_date__lte=now()).order_by('-end_date'), 'active_surveys': Survey.objects.filter( Q(end_date__isnull=True) | Q(end_date__gte=now()), start_date__lte=now()).annotate( ballot_count=Count('ballot')).order_by('-ballot_count'), 'total_ballots': Ballot.objects.all().count() } context.update( super(SurveyListMixin, self).get_context_data(*args, **kwargs)) return context
def close(self, dt=None): if dt is None: dt = now() self.end_date = dt self.save()
def publish(self, dt=None): if dt is None: dt = now() self.start_date = dt self.save()
def closed(self): return self.end_date and self.end_date <= now()
def is_active(self): end_date = self.end_date if self.start_date: return self.start_date <= now() and (not end_date or now() <= end_date) return False
def close(self, dt=None): if dt is None: dt = now() self.end_date = dt self.save()
def publish(self, dt=None): if dt is None: dt = now() self.start_date = dt self.save()
def closed(self): return self.end_date and self.end_date <= now()
def is_active(self): end_date = self.end_date if self.start_date: return self.start_date <= now() and (not end_date or now() <= end_date) return False