Skip to content

Commit

Permalink
Add support for fb_pages attribute
Browse files Browse the repository at this point in the history
  • Loading branch information
yakky committed Apr 23, 2016
1 parent efa3809 commit a5bd1e9
Show file tree
Hide file tree
Showing 8 changed files with 218 additions and 4 deletions.
8 changes: 5 additions & 3 deletions djangocms_page_meta/migrations/0004_auto_20160409_1852.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

from django.db import migrations, models

from meta import settings


class Migration(migrations.Migration):

Expand All @@ -20,7 +22,7 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='pagemeta',
name='gplus_type',
field=models.CharField(blank=True, choices=[('Article', 'Article'), ('Blog', 'Blog'), ('Book', 'Book'), ('Event', 'Event'), ('LocalBusiness', 'LocalBusiness'), ('Organization', 'Organization'), ('Person', 'Person'), ('Product', 'Product'), ('Review', 'Review')], help_text='Use Article for generic pages.', max_length=255, verbose_name='Resource type'),
field=models.CharField(blank=True, choices=settings.GPLUS_TYPES, help_text='Use Article for generic pages.', max_length=255, verbose_name='Resource type'),
),
migrations.AlterField(
model_name='pagemeta',
Expand All @@ -45,12 +47,12 @@ class Migration(migrations.Migration):
migrations.AlterField(
model_name='pagemeta',
name='og_type',
field=models.CharField(blank=True, choices=[('article', 'Article'), ('website', 'Website')], help_text='Use Article for generic pages.', max_length=255, verbose_name='Resource type'),
field=models.CharField(blank=True, choices=settings.FB_TYPES, help_text='Use Article for generic pages.', max_length=255, verbose_name='Resource type'),
),
migrations.AlterField(
model_name='pagemeta',
name='twitter_type',
field=models.CharField(blank=True, choices=[('summary', 'Summary'), ('summary_large_image', 'Summary large image'), ('product', 'Product'), ('photo', 'Photo'), ('player', 'Player'), ('app', 'App')], max_length=255, verbose_name='Resource type'),
field=models.CharField(blank=True, choices=settings.TWITTER_TYPES, max_length=255, verbose_name='Resource type'),
),
migrations.AlterField(
model_name='titlemeta',
Expand Down
20 changes: 20 additions & 0 deletions djangocms_page_meta/migrations/0005_pagemeta_fb_pages.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.5 on 2016-04-23 13:43
from __future__ import unicode_literals

from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
('djangocms_page_meta', '0004_auto_20160409_1852'),
]

operations = [
migrations.AddField(
model_name='pagemeta',
name='fb_pages',
field=models.CharField(blank=True, default='', max_length=255, verbose_name='Facebook Pages ID'),
),
]
3 changes: 3 additions & 0 deletions djangocms_page_meta/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,9 @@ class PageMeta(PageExtension):
og_app_id = models.CharField(
_('Facebook App ID'), max_length=255, default='', blank=True
)
fb_pages = models.CharField(
_('Facebook Pages ID'), max_length=255, default='', blank=True
)
twitter_author = models.CharField(
_('Author Twitter Account'), max_length=255, default='', blank=True,
help_text=_('\'@\' character not required.')
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
{% load meta_extra %}

{% if meta %}
{% autoescape off %}
{% if meta.description %}{% meta 'description' meta.description %}{% endif %}
Expand All @@ -23,6 +22,7 @@
{% if meta.og_publisher %}{% generic_prop 'article' 'publisher' meta.og_publisher %}{% endif %}
{% if meta.og_app_id %}{% generic_prop 'fb' 'app_id' meta.og_app_id %}{% endif %}
{% if meta.og_profile_id %}{% generic_prop 'fb' 'profile_id' meta.og_profile_id %}{% endif %}
{% if meta.fb_pages %}{% generic_prop 'fb' 'pages' meta.fb_pages %}{% endif %}
{% if meta.tag %}{% generic_prop 'article' 'tag' meta.tag %}{% endif %}
{% if meta.locale %}{% og_prop 'locale' meta.locale %}{% endif %}
{% endif %}
Expand Down
2 changes: 2 additions & 0 deletions djangocms_page_meta/utils.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ def get_page_meta(page, language):
'object_type': meta_settings.FB_TYPE,
'og_type': meta_settings.FB_TYPE,
'og_app_id': meta_settings.FB_APPID,
'fb_pages': meta_settings.FB_PAGES,
'og_profile_id': meta_settings.FB_PROFILE_ID,
'og_publisher': meta_settings.FB_PUBLISHER,
'og_author_url': meta_settings.FB_AUTHOR_URL,
Expand All @@ -101,6 +102,7 @@ def get_page_meta(page, language):
meta.object_type = pagemeta.og_type
meta.og_type = pagemeta.og_type
meta.og_app_id = pagemeta.og_app_id
meta.fb_pages = pagemeta.fb_pages
meta.og_profile_id = pagemeta.og_author_fbid
meta.twitter_type = pagemeta.twitter_type
meta.twitter_site = pagemeta.twitter_site
Expand Down
1 change: 1 addition & 0 deletions tests/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ class BaseTest(BaseTestCase):
'og_author_fbid': '123456789',
'og_publisher': 'https://facebook.com/FakeUser',
'og_app_id': '123456789',
'fb_pages': 'PAGES123456789',
}
twitter_data = {
'twitter_author': 'fake_user',
Expand Down
1 change: 1 addition & 0 deletions tests/test_general.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@ def test_page_meta_og(self):
self.assertEqual(meta.og_profile_id, self.og_data['og_author_fbid'])
self.assertEqual(meta.og_publisher, self.og_data['og_publisher'])
self.assertEqual(meta.og_app_id, self.og_data['og_app_id'])
self.assertEqual(meta.fb_pages, self.og_data['fb_pages'])
self.assertEqual(meta.published_time, page.publication_date.isoformat())
self.assertEqual(meta.modified_time, page.changed_date.isoformat())
if page.publication_end_date:
Expand Down

0 comments on commit a5bd1e9

Please sign in to comment.