def _decorated(request, *args, **kwargs): if request.GET.get('lp', True): latest_poll = LatestPoll.get_solo() if request.user and latest_poll.flow_uuid and request.user.is_authenticated(): uuid = Ureporter.objects.get(user=request.user).uuid request.session.lp = not complete_run_already_exists(latest_poll.flow_uuid, uuid) return view_func(request, *args, **kwargs)
def retrieve_latest_poll(): response = requests.get(settings.UREPORT_ROOT + '/api/v1/polls/org/' + settings.UREPORT_ORG_ID + '/featured/?format=json').json() latest_poll_id_from_api = response['results'][0]['id'] latest_poll_singleton = LatestPoll.get_solo() if not latest_poll_singleton.poll_id == latest_poll_id_from_api \ and not latest_poll_singleton.has_in_previous_featured_polls(latest_poll_id_from_api): latest_poll_singleton.set_poll_id(latest_poll_id_from_api) latest_poll_singleton.add_featured_poll(latest_poll_id_from_api) notify_users_of_new_poll(latest_poll_id_from_api)
def setUp(self): self.latest_poll_singleton = LatestPoll.get_solo() self.latest_poll_singleton.poll_id = 1 self.latest_poll_singleton.flow_uuid = "flow uuid" self.latest_poll_singleton.save() self.factory = RequestFactory() self.user = User.objects.create_user(username='******', email='*****@*****.**') self.reporter = Ureporter.objects \ .create(last_poll_taken=1, subscribed=True, user=self.user)
def setUp(self): self.latest_poll_singleton = LatestPoll.get_solo() self.latest_poll_singleton.poll_id = 1 self.latest_poll_singleton.save() self.latest_poll_id = 2 self.should_receive_email_user = Ureporter.objects \ .create(last_poll_taken=1, subscribed=True, user=User.objects.create_user(username='******', email='*****@*****.**')) self.already_taken_poll_user = Ureporter.objects \ .create(last_poll_taken=2, subscribed=True, user=User.objects.create_user(username='******', email='*****@*****.**')) self.not_subscribed_user = Ureporter.objects \ .create(last_poll_taken=2, subscribed=False, user=User.objects.create_user(username='******', email='*****@*****.**'))
def is_latest_poll_taken(self): latest_poll_id = LatestPoll.get_solo().poll_id return self.last_poll_taken == latest_poll_id