Skip to content

Commit

Permalink
Esto agrega información para OGP en la página de Area #428
Browse files Browse the repository at this point in the history
  • Loading branch information
Felipe Álvarez committed Aug 10, 2016
1 parent c477ed4 commit 9ab40d7
Show file tree
Hide file tree
Showing 10 changed files with 73 additions and 11 deletions.
8 changes: 6 additions & 2 deletions elections/admin.py
@@ -1,7 +1,11 @@

from django.contrib import admin
from elections.models import Election, Candidate, PersonalData, QuestionCategory
from popolo.models import Membership, ContactDetail, OtherName, Area, Link, Person
from elections.models import (Election,
Candidate,
PersonalData,
QuestionCategory,
Area)
from popolo.models import Membership, ContactDetail, OtherName, Link, Person
from django.contrib.contenttypes.admin import GenericTabularInline
from django import forms
from django.conf import settings
Expand Down
31 changes: 30 additions & 1 deletion elections/models.py
Expand Up @@ -3,7 +3,7 @@
from autoslug import AutoSlugField
from taggit.managers import TaggableManager
from django.core.urlresolvers import reverse
from popolo.models import Person, Area
from popolo.models import Person, Area as PopoloArea
from django.utils.translation import ugettext_lazy as _
from markdown_deux.templatetags.markdown_deux_tags import markdown_allowed
from candidator.models import Category, Topic as CanTopic, TakenPosition
Expand All @@ -14,6 +14,35 @@
import copy
from django.contrib.sites.models import Site
from django.db.models import Q, Count
from django.contrib.staticfiles.templatetags.staticfiles import static


class Area(PopoloArea):
ogp_enabled = True

class Meta:
proxy = True

def get_absolute_url(self):
return reverse('area', kwargs={'slug': self.id})

def ogp_title(self):
return self.name

def ogp_type(self):
return 'website'

def ogp_url(self):
site = Site.objects.get_current()
url = "http://%s%s" % (site.domain,
self.get_absolute_url())
return url

def ogp_image(self):
site = Site.objects.get_current()
url = "http://%s%s" % (site.domain,
static('img/logo_vi_og.jpg'))
return url


class ExtraInfoMixin(models.Model):
Expand Down
5 changes: 2 additions & 3 deletions elections/tests/template_tags_tests.py
Expand Up @@ -8,11 +8,10 @@
from django.template.loader import get_template
from candidator.models import Position, TakenPosition
from django.core.urlresolvers import reverse
from popolo.models import Area
from elections.models import QuestionCategory, Topic
from elections.models import QuestionCategory, Topic, Area
from django.contrib.auth.forms import AuthenticationForm
from backend_citizen.forms import (UserCreationForm as RegistrationForm,
GroupCreationForm)
GroupCreationForm)
from django.contrib.auth.models import User


Expand Down
25 changes: 23 additions & 2 deletions elections/tests/version2/elections_per_area_tests.py
@@ -1,8 +1,9 @@
# coding=utf-8
from elections.tests import VotaInteligenteTestCase as TestCase
from popolo.models import Area
from elections.models import Election
from elections.models import Election, Area
from django.core.urlresolvers import reverse
from django.contrib.staticfiles.templatetags.staticfiles import static
from django.contrib.sites.models import Site


class ElectionsPerAreaTestCase(TestCase):
Expand All @@ -24,3 +25,23 @@ def test_there_is_a_url_with_the_area(self):
response = self.client.get(url)
self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'elections/area.html')


class AreaOGPTestCase(TestCase):
def setUp(self):
self.argentina = Area.objects.create(name=u'Argentina')
self.site = Site.objects.get_current()

def test_get_absolute_url(self):
url = reverse('area', kwargs={'slug': self.argentina.id})
self.assertEquals(url, self.argentina.get_absolute_url())

def test_ogp_things(self):
self.assertIn(self.argentina.name, self.argentina.ogp_title())
self.assertEquals('website', self.argentina.ogp_type())
expected_url = "http://%s%s" % (self.site.domain,
self.argentina.get_absolute_url())
self.assertEquals(expected_url, self.argentina.ogp_url())
expected_url = "http://%s%s" % (self.site.domain,
static('img/logo_vi_og.jpg'))
self.assertEquals(expected_url, self.argentina.ogp_image())
3 changes: 1 addition & 2 deletions elections/views.py
Expand Up @@ -3,15 +3,14 @@
from elections.forms import ElectionSearchByTagsForm
from django.core.urlresolvers import reverse
from django.views.generic import DetailView, TemplateView
from elections.models import Election
from elections.models import Election, Area
from elections.models import Candidate, QuestionCategory, CandidateFlatPage
import logging
from backend_citizen.forms import GroupCreationForm
from candidator.models import Topic, Position, TakenPosition
from candidator.comparer import Comparer, InformationHolder
from candidator.adapters import CandidatorCalculator, CandidatorAdapter
from django.shortcuts import get_object_or_404
from popolo.models import Area
from django.contrib.auth.forms import AuthenticationForm
from backend_citizen.forms import UserCreationForm as RegistrationForm
from popular_proposal.models import PopularProposal
Expand Down
3 changes: 2 additions & 1 deletion requirements.txt
Expand Up @@ -26,6 +26,7 @@ django-picklefield==0.3.2
djangorestframework==3.2.3
slumber
-e git+https://github.com/ciudadanointeligente/popolorest@redisplaying_info_as_popit_does#egg=popolorest
-e git+https://github.com/liberation/django-ogp.git#egg=django_ogp
mock==1.3.0
email_reply_parser==0.3.0
flufl.bounce==2.3
Expand All @@ -39,4 +40,4 @@ vcrpy==1.7.4
-e git+https://github.com/mysociety/django-images#egg=django-images
django-bootstrap3==7.0.1
django-formtools==1.0
django-filter==0.13.0
django-filter==0.13.0
Binary file added votai_general_theme/static/img/logo_vi_og.jpg
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 2 additions & 0 deletions votai_general_theme/templates/base.html
Expand Up @@ -18,10 +18,12 @@


<!--for facebook fans-->
{% block ogp %}
<meta property="og:title" content="{{ 'title'|ogpdata }}">
<meta property="og:type" content="{{ 'type'|ogpdata }}">
<meta property="og:url" content="{{ 'url'|ogpdata }}">
<meta property="og:image" content="{% static 'image'|ogpdata %}">
{% endblock ogp %}
<!--eoff-->

<link rel="shortcut icon" sizes="196x196" href="{% static 'img/votai-196.png' %}">
Expand Down
6 changes: 6 additions & 0 deletions votai_general_theme/templates/elections/area.html
Expand Up @@ -3,6 +3,7 @@
{% load i18n %}
{% load thumbnail %}
{% load bootstrap3 %}
{% load ogp_tags %}

{% block extrajs %}
$(function(){
Expand All @@ -16,6 +17,11 @@
});
{% endblock extrajs %}


{% block ogp %}
{% render_ogp area %}
{% endblock ogp %}

{% block content %}

{% url 'popular_proposals:area_embedded' slug=area.id as embedded_url%}
Expand Down
1 change: 1 addition & 0 deletions votainteligente/votainteligente_settings.py
Expand Up @@ -55,6 +55,7 @@
'backend_citizen',
'backend_candidate',
'django_filters',
'django_ogp',
)


Expand Down

0 comments on commit 9ab40d7

Please sign in to comment.