Пример #1
0
 def testRegistration(self):
     # Register the model and test.
     historylinks.register(HistoryLinkTestModel)
     self.assertTrue(historylinks.is_registered(HistoryLinkTestModel))
     self.assertRaises(RegistrationError, lambda: historylinks.register(HistoryLinkTestModel))
     self.assertTrue(HistoryLinkTestModel in historylinks.get_registered_models())
     self.assertTrue(isinstance(historylinks.get_adapter(HistoryLinkTestModel), historylinks.HistoryLinkAdapter))
     # Unregister the model and text.
     historylinks.unregister(HistoryLinkTestModel)
     self.assertFalse(historylinks.is_registered(HistoryLinkTestModel))
     self.assertRaises(RegistrationError, lambda: historylinks.unregister(HistoryLinkTestModel))
     self.assertTrue(HistoryLinkTestModel not in historylinks.get_registered_models())
     self.assertRaises(RegistrationError, lambda: isinstance(historylinks.get_adapter(HistoryLinkTestModel)))
Пример #2
0
 def testRegistration(self):
     # Register the model and test.
     historylinks.register(HistoryLinkTestModel)
     self.assertTrue(historylinks.is_registered(HistoryLinkTestModel))
     self.assertRaises(RegistrationError,
                       lambda: historylinks.register(HistoryLinkTestModel))
     self.assertTrue(
         HistoryLinkTestModel in historylinks.get_registered_models())
     self.assertTrue(
         isinstance(historylinks.get_adapter(HistoryLinkTestModel),
                    historylinks.HistoryLinkAdapter))
     # Unregister the model and text.
     historylinks.unregister(HistoryLinkTestModel)
     self.assertFalse(historylinks.is_registered(HistoryLinkTestModel))
     self.assertRaises(
         RegistrationError,
         lambda: historylinks.unregister(HistoryLinkTestModel))
     self.assertTrue(
         HistoryLinkTestModel not in historylinks.get_registered_models())
     self.assertRaises(
         RegistrationError,
         lambda: isinstance(historylinks.get_adapter(HistoryLinkTestModel)))
Пример #3
0
from cms import sitemaps
from cms.apps.media.models import ImageRefField
from cms.models import PageBase
from django.db import models
from historylinks import shortcuts as historylinks


class Partner(PageBase):

    summary = models.TextField(max_length=140, blank=True, null=True)

    logo = ImageRefField()

    website = models.CharField(max_length=140, blank=True, null=True)

    order = models.PositiveIntegerField(default=0)

    class Meta:
        ordering = ['order']

    def __str__(self):
        return self.title


historylinks.register(Partner)
sitemaps.register(Partner)
Пример #4
0
 def setUp(self):
     historylinks.register(HistoryLinkTestModel)
     self.obj = HistoryLinkTestModel.objects.create(slug="foo")
     self.obj.slug = "bar"
     self.obj.save()
Пример #5
0
    @property
    def last_modified(self):
        version = Version.objects.get_for_object(self).first()

        if version:
            return version.revision.date_created

    def render_card(self):
        return render_to_string('news/includes/card.html', {
            'article': self,
        })

    def get_related_articles(self, count=3):
        related_articles = Article.objects.filter(
            categories=self.categories.all(),
        ).exclude(
            id=self.id
        )

        if related_articles.count() < count:
            related_articles |= Article.objects.exclude(
                id__in=[self.pk] + [x.id for x in related_articles]
            )

        return related_articles.distinct()[:count]


historylinks.register(Article)
sitemaps.register(Article)
Пример #6
0
    )

    class Meta:
        ordering = ['start_date']

    def __str__(self):
        return self.title

    def get_absolute_url(self):
        if self.page:
            return self.page.page.reverse('event_detail',
                                          kwargs={
                                              'slug': self.slug,
                                          })

    def get_summary(self):
        return self.summary

    @property
    def date(self):
        date_string = '{}'.format(date(self.start_date, 'j F Y'))

        if self.start_date != self.end_date:
            date_string += ' - {}'.format(date(self.end_date, 'j F Y'))

        return date_string


historylinks.register(Event)
sitemaps.register(Event)
Пример #7
0
        'Category',
        blank=True,
        null=True,
    )

    question = models.CharField(
        max_length=256
    )

    answer = HtmlField()

    order = models.PositiveIntegerField(
        default=0
    )

    def __str__(self):
        return self.question

    class Meta:
        verbose_name = 'FAQ'
        verbose_name_plural = 'FAQs'
        ordering = ['order', 'question']

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

historylinks.register(Faq)
sitemaps.register(Faq)
Пример #8
0
 def setUp(self):
     historylinks.register(HistoryLinkTestModel)
     self.obj = HistoryLinkTestModel.objects.create(slug="foo")
     self.obj.slug = "bar"
     self.obj.save()
Пример #9
0
    def get_absolute_url(self):
        return self.page.page.reverse('person_detail', kwargs={
            'slug': self.slug,
        })

    def get_twitter_url(self):
        twitter_username = self.twitter_username

        if twitter_username.startswith('http://') or twitter_username.startswith('https://'):
            return self.twitter_username

        if self.twitter_username.startswith('@'):
            twitter_username = twitter_username[1:]

        return f'https://twitter.com/{twitter_username}'

    def get_linkedin_url(self):
        linkedin_username = self.linkedin_username

        if linkedin_username.startswith('http://') or linkedin_username.startswith('https://'):
            return self.linked_username

        if linkedin_username.startswith('@'):
            linkedin_username = linkedin_username[1:]

        return f'https://www.linkedin.com/in/{linkedin_username}'

historylinks.register(Person)
sitemaps.register(Person)
Пример #10
0
    def last_modified(self):
        versions = Version.objects.get_for_object(self)
        if versions.count() > 0:
            latest_version = versions[:1][0]
            return '{} by {}'.format(
                latest_version.revision.date_created.strftime(
                    '%Y-%m-%d %H:%M:%S'), latest_version.revision.user)
        return '-'

    class Meta:
        unique_together = (('parent', 'slug', 'country_group'), )
        ordering = ('left', )


historylinks.register(Page)


class PageSitemap(sitemaps.PageBaseSitemap):
    '''Sitemap for page models.'''

    model = Page

    def items(self):
        '''Only lists items that are marked as indexable.'''
        return filter_indexable_pages(super().items())


sitemaps.register(Page, sitemap_cls=PageSitemap)

Пример #11
0
        blank=True,
        null=True
    )

    summary = models.TextField(
        blank=True,
        null=True
    )

    description = HtmlField()

    email_address = models.EmailField()

    order = models.PositiveIntegerField(
        default=0
    )

    class Meta:
        ordering = ['order']

    def __str__(self):
        return self.title

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

historylinks.register(Career)
sitemaps.register(Career)