def render(self, context): try: cls = '' url = self.href page = context['page'] if self.is_relative_link(url): if url.startswith('_files/'): filename = file_url_to_name(url) url = reverse('pages:file-info', args=[page.pretty_slug, filename]) try: file = PageFile.objects.get(slug__exact=page.slug, name__exact=filename) cls = ' class="file_%s"' % file.rough_type except PageFile.DoesNotExist: cls = ' class="missing_link"' else: try: page = Page.objects.get(slug__exact=slugify(url)) url = reverse('pages:show', args=[page.pretty_slug]) except Page.DoesNotExist: # Check if Redirect exists. if not Redirect.objects.filter(source=slugify(url)): cls = ' class="missing_link"' # Convert to proper URL: My%20page -> My_page url = name_to_url(url_to_name(url)) url = reverse('pages:show', args=[url]) return '<a href="%s"%s>%s</a>' % (url, cls, self.nodelist.render(context)) except: return ''
def render(self, context): try: cls = '' url = self.href page = context['page'] if self.is_relative_link(url): if url.startswith('_files/'): filename = file_url_to_name(url) url = reverse('pages:file-info', args=[page.pretty_slug, filename]) try: file = PageFile.objects.get(slug__exact=page.slug, name__exact=filename) cls = ' class="file_%s"' % file.rough_type except PageFile.DoesNotExist: cls = ' class="missing_link"' elif unquote_plus(url).startswith('tags/'): cls = ' class="tag_link"' else: try: page = Page.objects.get(slug__exact=slugify(url)) url = reverse('pages:show', args=[page.pretty_slug]) except Page.DoesNotExist: # Check if Redirect exists. if not Redirect.objects.filter(source=slugify(url)): cls = ' class="missing_link"' # Convert to proper URL: My%20page -> My_page url = name_to_url(url_to_name(url)) url = reverse('pages:show', args=[url]) return '<a href="%s"%s>%s</a>' % (url, cls, self.nodelist.render(context)) except: return ''
def detail_uri_kwargs(self, bundle_or_obj): kwargs = super(PageURLMixin, self).detail_uri_kwargs(bundle_or_obj) uri_name_val = kwargs[self._meta.detail_uri_name] kwargs[self._meta.detail_uri_name] = name_to_url(uri_name_val) return kwargs