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()
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
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)
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)