Example #1
0
    def save(self):
        from dynamic.utils import get_dynamic_url_by_choice

        url = get_dynamic_url_by_choice(self.page_type)
        if not url.can_be_in_menu:
            self.default = False
            self.order = None

        if self.default:
            for page in Page.objects.filter(default=True):
                page.default = False
                super(Page, page).save()

        if self.order == None:
            super(Page, self).save()
        else:
            pages = Page.objects.filter(order__gte=self.order, parent=self.parent).order_by("order")
            first = True
            for page in pages:
                if first and page.order != self.order:
                    break
                page.order += 1
                page.save()
                first = False
            super(Page, self).save()
Example #2
0
    def get_page(path):
        from dynamic.utils import get_dynamic_url_by_choice

        path = re.sub(r"^/", "", path)
        static_pages = Page.objects.all()
        for page in static_pages:
            dynamic_url = get_dynamic_url_by_choice(page.page_type)
            if dynamic_url and dynamic_url.equals(page, path):
                return page

        return None
Example #3
0
    def sitemap(self):
        from sitemap import DefaultPageSitemap
        from dynamic.utils import get_dynamic_url_by_choice

        dynamic_url = get_dynamic_url_by_choice(self.page_type)
        return DefaultPageSitemap(self, dynamic_url.sitemap_values)
Example #4
0
    def pattern(self):
        from dynamic.utils import get_dynamic_url_by_choice

        dynamic_url = get_dynamic_url_by_choice(self.page_type)
        return dynamic_url.get_url_patterns(self)