regroup documents by type when searched
This commit is contained in:
parent
cf8ee787f7
commit
c29247ff5c
|
@ -145,14 +145,15 @@ class Document(models.Model):
|
|||
super().save()
|
||||
|
||||
def to_pdf(self):
|
||||
x = '# Tables des matières \n [TOC]\n'
|
||||
x = ""
|
||||
x += '# Tables des matières \n [TOC]\n'
|
||||
|
||||
for section in self.sections.all():
|
||||
x += '# ' + section.title
|
||||
x += '\n'
|
||||
x += section.content
|
||||
x += '\n'
|
||||
md = Markdown(extensions=['markdown.extensions.toc'])
|
||||
md = Markdown(extensions=['markdown.extensions.toc', 'markdown.extensions.tables'])
|
||||
html = md.convert(x)
|
||||
|
||||
options = {
|
||||
|
|
10
dms/views.py
10
dms/views.py
|
@ -5,8 +5,14 @@ from .filters import VersionFilter
|
|||
|
||||
|
||||
def home(request):
|
||||
latest_versions = Version.objects.filter(is_published=True)
|
||||
return render(request, 'dms/home.html', {'latest_versions': latest_versions})
|
||||
query = request.GET.get('q', None)
|
||||
|
||||
if query:
|
||||
documents = Document.objects.filter(title__icontains=query)
|
||||
else:
|
||||
documents = Document.objects.filter(versions__is_published=True)
|
||||
|
||||
return render(request, 'dms/home.html', {'documents': documents})
|
||||
|
||||
|
||||
def documents_list(request):
|
||||
|
|
|
@ -56,6 +56,57 @@
|
|||
</div>
|
||||
{% endfor %}
|
||||
|
||||
{% if document.last_published_version %}
|
||||
<div class="uid card">
|
||||
<div class="content">
|
||||
<div class="header">Dernière version publiée</div>
|
||||
<div class="meta">
|
||||
{{ document.last_published_version }}
|
||||
</div>
|
||||
<div class="extra content">
|
||||
Authors: {% for author in document.last_published_version.authors.all %}{{ author }}{% endfor %}
|
||||
</div>
|
||||
<div class="extra content">
|
||||
Keywords: {% for keyword in document.last_published_version.keywords.all %}<a href="{% url 'kw_documents' keyword.pk %}">{{keyword}}</a>{% endfor %}
|
||||
</div>
|
||||
<div class="extra content">
|
||||
Audiences: {% for audience in document.last_published_version.audiences.all %}{{ audience }}{% endfor %}
|
||||
</div>
|
||||
<div class="extra content">
|
||||
Nodes: {% for node in document.last_published_version.nodes.all %}<a href="{% url 'node_documents' node.pk %}">{{ node }}</a>{% endfor %}
|
||||
</div>
|
||||
<div class="extra content">
|
||||
Sites: {% for site in document.last_published_version.sites.all %}<a href="{% url 'site_documents' site.pk %}">{{ site }}</a>{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
{% if document.last_working_version %}
|
||||
<div class="uid card">
|
||||
<div class="content">
|
||||
<div class="header">Dernier draft</div>
|
||||
<div class="meta">
|
||||
{{ document.last_working_version }}
|
||||
</div>
|
||||
<div class="extra content">
|
||||
Authors: {% for author in document.last_working_version.authors.all %}{{ author }}{% endfor %}
|
||||
</div>
|
||||
<div class="extra content">
|
||||
Keywords: {% for keyword in document.last_working_version.keywords.all %}<a href="{% url 'kw_documents' keyword.pk %}">{{keyword}}</a>{% endfor %}
|
||||
</div>
|
||||
<div class="extra content">
|
||||
Audiences: {% for audience in document.last_working_version.audiences.all %}{{ audience }}{% endfor %}
|
||||
</div>
|
||||
<div class="extra content">
|
||||
Nodes: {% for node in document.last_working_version.nodes.all %}<a href="{% url 'node_documents' node.pk %}">{{ node }}</a>{% endfor %}
|
||||
</div>
|
||||
<div class="extra content">
|
||||
Sites: {% for site in document.last_working_version.sites.all %}<a href="{% url 'site_documents' site.pk %}">{{ site }}</a>{% endfor %}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
{% endblock %}
|
||||
|
||||
|
|
|
@ -1,8 +1,21 @@
|
|||
{% extends "./base.html" %}
|
||||
|
||||
{% block "content" %}
|
||||
<h2>Derniers documents publiés</h2>
|
||||
{% for version in latest_versions %}
|
||||
{{ version }}
|
||||
{% endfor %}
|
||||
|
||||
|
||||
{% regroup documents by type as documents_types %}
|
||||
{% if documents_types %}
|
||||
<ul>
|
||||
{% for type in documents_types %}
|
||||
<li><b>{{ type.grouper }}</b>
|
||||
<ul>
|
||||
{% for document in type.list %}
|
||||
<li><a href="{% url 'document_details' document.pk %}">{{ document }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %}
|
|
@ -1,5 +1,5 @@
|
|||
<div class="ui simple dropdown item">
|
||||
Dropdown <i class="dropdown icon"></i>
|
||||
Services <i class="dropdown icon"></i>
|
||||
<div class="menu">
|
||||
{% for node in nodes %}
|
||||
<a class="item" href="{% url 'node_documents' node.id %}">{{ node }}</a>
|
||||
|
|
Loading…
Reference in New Issue