Ejemplo n.º 1
0
def region_landing_page(request, region_slug):

    region = Region.objects.get(slug=region_slug)
    region_tag = Tag.objects.get_for_object(region)[0]

    categories = SponsorCategory.objects.all().order_by('-order')
    # Save this region id as we will filter all sub-pages by this
    request.session['filter_by_region'] = int(region.pk)

    photo_sightings = Sighting.objects.get_public_photo()\
        .filter(region=region)[:15]

    context = {
        'region':
        region,
        'is_region_page':
        True,
        'recent_activity':
        photo_sightings[:5],
        'recent_news':
        TaggedItem.objects.get_intersection_by_model(
            Entry.published,
            (region_tag, get_redmap_tag())).filter(categories__slug='news',
                                                   status=PUBLISHED)[:4],
        'photo_sightings':
        photo_sightings,
    }

    return render(request, 'frontend/region.html', context)
Ejemplo n.º 2
0
def show_regional_pages(tag_list, region_slug):

    region = Region.objects.get(pk=region_slug)
    region_tag = Tag.objects.get_for_object(region)[0]

    if re.match(r'%s|%s' % (get_redmap_tag(), region_tag), tag_list):
        return True
    else:
        return False
Ejemplo n.º 3
0
def show_regional_pages(tag_list, region_slug):

    region = Region.objects.get(pk=region_slug)
    region_tag = Tag.objects.get_for_object(region)[0]

    if re.match(r'%s|%s' % (get_redmap_tag(), region_tag), tag_list):
        return True
    else:
        return False
Ejemplo n.º 4
0
    def get_context_data(self, **kwargs):
        context = super(Homepage, self).get_context_data(**kwargs)

        context['photo_sightings'] = Sighting.objects.get_public_photo()[:15]
        context['recent_news'] = TaggedItem.objects.get_by_model(
            Entry.published, get_redmap_tag()
        ).filter(categories__slug='news', status=PUBLISHED)[:4]

        if self.request.session.get('filter_by_region'):
            del self.request.session['filter_by_region']

        return context
Ejemplo n.º 5
0
def get_tag(region=None):

    if region is None:
        tag = [
            get_redmap_tag(),
        ]
    else:
        tag = list(Tag.objects.get_for_object(region))

    if tag:
        return tag[0]
    else:
        return None
Ejemplo n.º 6
0
def TagsView(request, template_name="news/tags_list.html"):

    if request.method == 'POST':

        for field in request.POST:

            region_field = field.split('_')
            tag_name = request.POST[field]

            if region_field[0] == 'tag' and tag_name != 'None':

                # What region are we dealing with?
                if region_field[1] == '0':
                    region = None  # 0 = All
                else:
                    region = Region.objects.get(id=region_field[1])

                # Get region tag if available
                if region is not None:
                    tag = list(Tag.objects.get_for_object(region))
                else:
                    tag = [
                        get_redmap_tag(),
                    ]

                if not tag:

                    # create tag if not exists
                    tag = Tag()
                    tag.name = tag_name
                    tag.save()

                elif tag[0].name != tag_name:

                    # update tag if different
                    tag[0].name = tag_name
                    tag[0].save()

                    # TODO: If we update a tag, we will need to update zinnia
                    #       entries with updated tags because the app stores
                    #       tags in a plain-text string rather than by model
                    #       association

                if region is not None:
                    # attach tag to region
                    Tag.objects.update_tags(region, tag_name + ',')

        return HttpResponseRedirect(reverse('news_tags_list'))

    return render(request, template_name)
Ejemplo n.º 7
0
    def get_context_data(self, **kwargs):
        context = super(Homepage, self).get_context_data(**kwargs)

        context['photo_sightings'] = Sighting.objects.get_public_photo()[:15]
        context['recent_news'] = TaggedItem.objects.get_by_model(
            Entry.published, get_redmap_tag()).filter(categories__slug='news',
                                                      status=PUBLISHED)[:4]
        # If we can't get it, it mustn't be added yet
        try:
            context['survey'] = Survey.objects.get(slug="front_page")
        except Survey.DoesNotExist:
            pass

        # Remove any stored regional session data when viewing the site landing
        # page
        if self.request.session.get('filter_by_region'):
            del self.request.session['filter_by_region']

        return context
Ejemplo n.º 8
0
    def get_queryset(self):

        region_slug = self.kwargs.get('region_slug')

        if region_slug:

            region = Region.objects.get(slug=region_slug)
            region_tag = list(Tag.objects.get_for_object(region))

            if region_tag:
                return TaggedItem.objects.get_by_model(Entry.published, region_tag[0]).\
                    filter(categories__slug="news", status=PUBLISHED)

        else:
            return TaggedItem.objects.get_by_model(Entry.published, get_redmap_tag()).\
                filter(categories__slug="news", status=PUBLISHED)

        return Entry.published.filter(categories__slug="news",
                                      status=PUBLISHED)
Ejemplo n.º 9
0
def load_region_data():

    redmap_tag = get_redmap_tag()
    region_ct = ContentType.objects.get_for_model(Region)

    for (state, slug, orgname) in REGION_DATA:

        region_tag = Tag.objects.create(name=slug)

        org, onew = Organisation.objects.get_or_create(description=orgname)

        jur, jnew = Jurisdiction.objects.get_or_create(
            description="%s Jurisdiction" % state, organisation=org)

        region, created = Region.objects.get_or_create(description=state,
                                                       slug=slug,
                                                       jurisdiction=jur)

        TaggedItem.objects.get_or_create(tag=region_tag,
                                         content_type=region_ct,
                                         object_id=region.id)
Ejemplo n.º 10
0
def region_landing_page(request, region_slug):

    region = Region.objects.get(slug=region_slug)
    region_tag = Tag.objects.get_for_object(region)[0]

    categories = SponsorCategory.objects.all().order_by('-order')
    request.session['filter_by_region'] = int(region.pk)

    photo_sightings = Sighting.objects.get_public_photo()\
        .filter(region=region)[:15]

    context = {
        'region': region,
        'is_region_page': True,
        'recent_activity': photo_sightings[:5],
        'recent_news': TaggedItem.objects.get_union_by_model(
        Entry.published, (region_tag, get_redmap_tag())
        ).filter(categories__slug='news', status=PUBLISHED)[:4],
        'photo_sightings': photo_sightings,
    }

    return render(request, 'frontend/region.html', context)
Ejemplo n.º 11
0
def show_global_pages(tag_list):

    if re.match(r'%s' % get_redmap_tag(), tag_list):
        return True
    else:
        return False
Ejemplo n.º 12
0
    def get_context_data(self, **kwargs):

        context = super(Dashboard, self).get_context_data(**kwargs)
        context['recent_news'] = TaggedItem.objects.get_by_model(
            Entry.published, get_redmap_tag())[:3]
        return context
Ejemplo n.º 13
0
def show_global_pages(tag_list):

    if re.match(r'%s' % get_redmap_tag(), tag_list):
        return True
    else:
        return False
Ejemplo n.º 14
0
    def get_context_data(self, **kwargs):

        context = super(Dashboard, self).get_context_data(**kwargs)
        context['recent_news'] = TaggedItem.objects.get_by_model(
            Entry.published, get_redmap_tag())[:3]
        return context