0.5.4 documentation

This commit is contained in:
SDE
2024-07-11 16:16:57 +03:00
parent aafa989501
commit b576e4f224
2 changed files with 60 additions and 4 deletions

View File

@@ -10,6 +10,21 @@ class DocVersion(BaseModel):
help_text=_('можно изменить адрес страницы (!!! ВНИМАНИЕ !!! поисковые системы потеряют страницу и найдут лишь спустя неделю...месяц)') 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: class Meta:
verbose_name = _('Версия документации') verbose_name = _('Версия документации')
verbose_name_plural = _('Версии документации') verbose_name_plural = _('Версии документации')

View File

@@ -1,17 +1,58 @@
import json 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.template import loader, RequestContext
from django.contrib.auth.decorators import login_required from django.contrib.auth.decorators import login_required
from .models import * from .models import *
from django.conf import settings from django.conf import settings
from GeneralApp.funcs import get_inter_http_respose from GeneralApp.funcs import get_inter_http_respose
from django.utils.translation import gettext_lazy as _ from django.utils.translation import gettext_lazy as _
from django.urls import reverse
def DocsView(request, version=None, art_url=None): 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)