0.5.4 documentation
This commit is contained in:
@@ -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 = _('Версии документации')
|
||||||
|
|||||||
@@ -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)
|
|
||||||
Reference in New Issue
Block a user