示例#1
0
 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
示例#2
0
 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)
示例#3
0
    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
示例#4
0
    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()
示例#5
0
    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()
示例#7
0
 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)
示例#8
0
 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()
示例#10
0
 def publish(self, dt=None):
     if dt is None:
         dt = now()
     self.start_date = dt
     self.save()
示例#11
0
 def closed(self):
     return self.end_date and self.end_date <= now()
示例#12
0
 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
示例#13
0
 def close(self, dt=None):
     if dt is None:
         dt = now()
     self.end_date = dt
     self.save()
示例#14
0
 def publish(self, dt=None):
     if dt is None:
         dt = now()
     self.start_date = dt
     self.save()
示例#15
0
 def closed(self):
     return self.end_date and self.end_date <= now()
示例#16
0
 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