Beispiel #1
0
    def get_context_data(self, **kwargs):
        context = super(IndexView, self).get_context_data(**kwargs)

        org = self.request.org
        context['org'] = org

        latest_poll = Poll.get_main_poll(org)
        context['latest_poll'] = latest_poll
        if context['latest_poll']:
            context['trending_words'] = latest_poll.get_trending_words()

        context['recent_polls'] = Poll.get_brick_polls(org)

        context['stories'] = Story.objects.filter(org=org, is_active=True, featured=True).order_by('created_on')

        other_stories = Story.objects.filter(org=org, is_active=True).exclude(pk__in=context['stories'])
        other_stories = other_stories.order_by('created_on')
        context['other_stories'] = other_stories

        videos = Video.objects.filter(is_active=True, org=org).order_by('-created_on')
        context['videos'] = videos

        news = NewsItem.objects.filter(is_active=True, org=org).order_by('-created_on')
        context['news'] = news.count() > 0

        context['most_active_regions'] = org.get_most_active_regions()

        return context
Beispiel #2
0
    def get_context_data(self, **kwargs):
        context = super(IndexView, self).get_context_data(**kwargs)

        org = self.request.org
        context['org'] = org

        latest_poll = Poll.get_main_poll(org)
        context['latest_poll'] = latest_poll
        if context['latest_poll']:
            context['trending_words'] = latest_poll.get_trending_words()

        brick_poll_ids = Poll.get_brick_polls_ids(org)
        context['recent_polls'] = Poll.objects.filter(id__in=brick_poll_ids)

        context['stories'] = Story.objects.filter(org=org, is_active=True, featured=True).order_by('-created_on')

        videos = Video.objects.filter(is_active=True, org=org).order_by('-created_on')
        context['videos'] = videos

        news = NewsItem.objects.filter(is_active=True, org=org).order_by('-created_on')
        context['news'] = news.count() > 0

        context['most_active_regions'] = org.get_regions_stats()

        # global counter
        if org.get_config('common.is_global'):
            context['global_counter'] = get_global_count()

        context['gender_stats'] = org.get_gender_stats()
        context['age_stats'] = org.get_age_stats()
        context['reporters'] = org.get_reporters_count()

        return context
Beispiel #3
0
    def get_context_data(self, **kwargs):
        context = super(IndexView, self).get_context_data(**kwargs)

        org = self.request.org
        context["org"] = org

        latest_poll = Poll.get_main_poll(org)
        context["latest_poll"] = latest_poll
        if context["latest_poll"]:
            context["trending_words"] = latest_poll.get_trending_words()

        brick_poll_ids = Poll.get_brick_polls_ids(org)
        context["recent_polls"] = Poll.objects.filter(id__in=brick_poll_ids).order_by("-created_on")

        context["stories"] = Story.objects.filter(org=org, is_active=True, featured=True).order_by("-created_on")

        videos = Video.objects.filter(is_active=True, org=org).order_by("-created_on")
        context["videos"] = videos

        news = NewsItem.objects.filter(is_active=True, org=org).order_by("-created_on")
        context["news"] = news.count() > 0

        context["most_active_regions"] = org.get_regions_stats()

        # global counter
        if org.get_config("common.is_global"):
            context["global_counter"] = get_global_count()

        context["gender_stats"] = org.get_gender_stats()
        context["age_stats"] = org.get_age_stats()
        context["reporters"] = org.get_reporters_count()

        return context
Beispiel #4
0
    def get_context_data(self, **kwargs):
        context = super(IndexView, self).get_context_data(**kwargs)

        org = self.request.org
        context["org"] = org

        latest_poll = Poll.get_main_poll(org)
        context["latest_poll"] = latest_poll

        cache_value = cache.get("shared_sites", None)
        if not cache_value:
            get_shared_sites_count()

        # global counters
        context["global_contact_count"] = get_shared_global_count()
        context["global_org_count"] = get_shared_countries_number()

        context["gender_stats"] = org.get_gender_stats()
        context["age_stats"] = json.loads(org.get_age_stats())
        context["reporters"] = org.get_reporters_count()
        context["feat_images"] = range(10)

        # fake photos, generated from stories that are featured and have a photo
        context["stories_photos"] = (
            Story.objects.filter(org=org, featured=True, is_active=True)
            .exclude(images=None)
            .order_by("-created_on")[4:]
        )

        context["main_stories"] = Story.objects.filter(org=org, featured=True, is_active=True).order_by("-created_on")

        return context
Beispiel #5
0
    def get_context_data(self, **kwargs):
        context = super(IndexView, self).get_context_data(**kwargs)

        org = self.request.org
        context["org"] = org

        latest_poll = Poll.get_main_poll(org)
        context["latest_poll"] = latest_poll
        if context["latest_poll"]:
            context["trending_words"] = latest_poll.get_trending_words()

        brick_poll_ids = Poll.get_brick_polls_ids(org)
        context["recent_polls"] = Poll.objects.filter(id__in=brick_poll_ids).order_by("-created_on")

        context["stories"] = Story.objects.filter(org=org, is_active=True, featured=True).order_by("-created_on")

        videos = Video.objects.filter(is_active=True, org=org).order_by("-created_on")
        context["videos"] = videos

        news = NewsItem.objects.filter(is_active=True, org=org).order_by("-created_on")
        context["news"] = news.count() > 0

        context["most_active_regions"] = org.get_regions_stats()

        # global counter
        if org.get_config("common.is_global"):
            context["global_counter"] = get_global_count()

        context["gender_stats"] = org.get_gender_stats()
        context["age_stats"] = org.get_age_stats()
        context["reporters"] = org.get_reporters_count()

        return context
Beispiel #6
0
    def get_context_data(self, **kwargs):
        context = super(IndexView, self).get_context_data(**kwargs)

        org = self.request.org
        context["org"] = org

        latest_poll = Poll.get_main_poll(org)
        context["latest_poll"] = latest_poll
        if context["latest_poll"]:
            context["trending_words"] = latest_poll.get_trending_words()

        brick_poll_ids = Poll.get_brick_polls_ids(org)
        context["recent_polls"] = Poll.objects.filter(
            id__in=brick_poll_ids).order_by("-created_on")

        context["stories"] = Story.objects.filter(
            org=org, is_active=True, featured=True).order_by("-created_on")

        videos = Video.objects.filter(is_active=True,
                                      org=org).order_by("-created_on")
        context["videos"] = videos

        news = NewsItem.objects.filter(is_active=True,
                                       org=org).order_by("-created_on")
        context["news"] = news.count() > 0

        context["most_active_regions"] = org.get_regions_stats()

        # global counters
        context["global_contact_count"] = get_global_count()
        context["global_org_count"] = Org.objects.filter(
            is_active=True).count() + len(settings.PREVIOUS_ORG_SITES)

        context["gender_stats"] = org.get_gender_stats()
        context["age_stats"] = json.loads(org.get_age_stats())
        context["reporters"] = org.get_reporters_count()
        context["feat_images"] = range(10)

        # fake photos, generated from stories that are featured and have a photo
        context["photos"] = (Story.objects.filter(
            org=org, featured=True,
            is_active=True).exclude(images=None).order_by("-created_on")[4:])

        context["main_stories"] = Story.objects.filter(
            org=org, featured=True, is_active=True).order_by("-created_on")

        return context
Beispiel #7
0
    def get_context_data(self, **kwargs):
        context = super(IndexView, self).get_context_data(**kwargs)

        org = self.request.org
        context['org'] = org

        latest_poll = Poll.get_main_poll(org)
        context['latest_poll'] = latest_poll
        if context['latest_poll']:
            context['trending_words'] = latest_poll.get_trending_words()

        context['recent_polls'] = Poll.get_brick_polls(org)

        context['stories'] = Story.objects.filter(org=org, is_active=True, featured=True).order_by('created_on')

        other_stories = Story.objects.filter(org=org, is_active=True).exclude(pk__in=context['stories'])
        other_stories = other_stories.order_by('created_on')
        context['other_stories'] = other_stories

        videos = Video.objects.filter(is_active=True, org=org).order_by('-created_on')
        context['videos'] = videos

        news = NewsItem.objects.filter(is_active=True, org=org).order_by('-created_on')
        context['news'] = news.count() > 0

        # we use gender label to estimate the most active region
        if org.get_config('gender_label'):
            context['most_active_regions'] = org.get_most_active_regions()

        # global counter
        if org.get_config('is_global'):
            context['global_counter'] = get_global_count()

        context['gender_stats'] = org.get_gender_stats()
        context['age_stats'] = org.get_age_stats()
        context['reporters'] = org.get_reporters_count()


        return context
Beispiel #8
0
def fetch_main_poll_results(org):
    main_poll = Poll.get_main_poll(org)
    if main_poll:
        _fetch_org_polls_results(org, [main_poll])
Beispiel #9
0
 def derive_main_poll(self):
     org = self.request.org
     return Poll.get_main_poll(org)
Beispiel #10
0
 def derive_main_poll(self):
     org = self.request.org
     return Poll.get_main_poll(org)
Beispiel #11
0
def fetch_main_poll_results(org):
    main_poll = Poll.get_main_poll(org)
    if main_poll:
        _fetch_org_polls_results(org, [main_poll])
Beispiel #12
0
    def test_poll_get_main_poll(self):
        self.assertIsNone(Poll.get_main_poll(self.uganda))
        self.assertIsNone(Poll.get_main_poll(self.nigeria))

        poll1 = Poll.objects.create(flow_id=1,
                                    title="Poll 1",
                                    category=self.health_uganda,
                                    org=self.uganda,
                                    created_by=self.admin,
                                    modified_by=self.admin)

        self.assertEquals(unicode(poll1), 'Poll 1')

        self.assertIsNone(Poll.get_main_poll(self.uganda))
        self.assertIsNone(Poll.get_main_poll(self.nigeria))

        poll1_question = PollQuestion.objects.create(poll=poll1,
                                                     title='question poll 1',
                                                     ruleset_id='101',
                                                     created_by=self.admin,
                                                     modified_by=self.admin)

        self.assertEquals(Poll.get_main_poll(self.uganda), poll1)
        self.assertIsNone(Poll.get_main_poll(self.nigeria))

        poll2 = Poll.objects.create(flow_id=2,
                                    title="Poll 2",
                                    category=self.health_uganda,
                                    org=self.uganda,
                                    created_by=self.admin,
                                    modified_by=self.admin)

        poll2_question = PollQuestion.objects.create(poll=poll2,
                                                     title='question poll 2',
                                                     ruleset_id='202',
                                                     created_by=self.admin,
                                                     modified_by=self.admin)

        self.assertEquals(Poll.get_main_poll(self.uganda), poll2)
        self.assertIsNone(Poll.get_main_poll(self.nigeria))


        poll3 = Poll.objects.create(flow_id=3,
                                    title="Poll 3",
                                    category=self.health_uganda,
                                    org=self.uganda,
                                    created_by=self.admin,
                                    modified_by=self.admin)

        poll3_question = PollQuestion.objects.create(poll=poll3,
                                                     title='question poll 3',
                                                     ruleset_id='303',
                                                     created_by=self.admin,
                                                     modified_by=self.admin)

        self.assertEquals(Poll.get_main_poll(self.uganda), poll3)
        self.assertIsNone(Poll.get_main_poll(self.nigeria))

        poll1.is_featured = True
        poll1.save()

        self.assertEquals(Poll.get_main_poll(self.uganda), poll1)
        self.assertIsNone(Poll.get_main_poll(self.nigeria))

        poll1.is_active = False
        poll1.save()

        self.assertEquals(Poll.get_main_poll(self.uganda), poll3)
        self.assertIsNone(Poll.get_main_poll(self.nigeria))

        self.health_uganda.is_active = False
        self.health_uganda.save()

        self.assertIsNone(Poll.get_main_poll(self.uganda))
        self.assertIsNone(Poll.get_main_poll(self.nigeria))