0.5.4 documentation
This commit is contained in:
@@ -10,6 +10,21 @@ class DocVersion(BaseModel):
|
||||
help_text=_('можно изменить адрес страницы (!!! ВНИМАНИЕ !!! поисковые системы потеряют страницу и найдут лишь спустя неделю...месяц)')
|
||||
)
|
||||
|
||||
def get_article(self, art_url=None):
|
||||
art = None
|
||||
if art_url:
|
||||
try:
|
||||
art = self.rel_docArts_for_version.get(enable=True, url=art_url)
|
||||
except DocArt.DoesNotExist:
|
||||
art = None
|
||||
|
||||
if not art:
|
||||
art = self.rel_docArts_for_version.filter(
|
||||
enable=True, parent=None
|
||||
).order_by('order').first()
|
||||
|
||||
return art
|
||||
|
||||
class Meta:
|
||||
verbose_name = _('Версия документации')
|
||||
verbose_name_plural = _('Версии документации')
|
||||
|
||||
@@ -1,17 +1,58 @@
|
||||
import json
|
||||
|
||||
from django.http import HttpResponse, Http404, FileResponse
|
||||
from django.http import HttpResponse, Http404, FileResponse, HttpResponseRedirect
|
||||
from django.template import loader, RequestContext
|
||||
from django.contrib.auth.decorators import login_required
|
||||
from .models import *
|
||||
from django.conf import settings
|
||||
from GeneralApp.funcs import get_inter_http_respose
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
from django.urls import reverse
|
||||
|
||||
|
||||
def DocsView(request, version=None, art_url=None):
|
||||
art = None
|
||||
kwargs = {}
|
||||
|
||||
if art_url:
|
||||
kwargs['url'] = art_url
|
||||
try:
|
||||
art = DocArt.objects.get(**kwargs)
|
||||
Dict = {'cur_article': art}
|
||||
t = loader.get_template('pages/p_documentation.html')
|
||||
return get_inter_http_respose(t, Dict, request)
|
||||
except DocArt.DoesNotExist:
|
||||
raise Http404
|
||||
|
||||
if version:
|
||||
try:
|
||||
vers_obj = DocVersion.objects.get(url=version)
|
||||
if vers_obj:
|
||||
art = vers_obj.get_article()
|
||||
if art:
|
||||
url = reverse(
|
||||
'docs_art_page',
|
||||
kwargs={'version': version, 'art_url': art.url}
|
||||
)
|
||||
return HttpResponseRedirect(url)
|
||||
except DocVersion.DoesNotExist:
|
||||
raise Http404
|
||||
|
||||
art = DocArt.objects.exclude(
|
||||
versions=None
|
||||
).filter(
|
||||
enable=True, parent=None
|
||||
).order_by('versions__order', 'order').first()
|
||||
if art:
|
||||
url = reverse(
|
||||
'docs_art_page',
|
||||
kwargs={'version': art.versions.order_by('order').first().url, 'art_url': art.url}
|
||||
)
|
||||
return HttpResponseRedirect(url)
|
||||
|
||||
|
||||
if not art:
|
||||
raise Http404
|
||||
|
||||
|
||||
Dict = {}
|
||||
|
||||
t = loader.get_template('pages/p_documentation.html')
|
||||
return get_inter_http_respose(t, Dict, request)
|
||||
Reference in New Issue
Block a user