regroup documents by type when searched

This commit is contained in:
Fred Pauchet 2018-03-13 12:01:08 +01:00
parent cf8ee787f7
commit c29247ff5c
5 changed files with 80 additions and 9 deletions

View File

@ -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 = {

View File

@ -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):

View File

@ -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 %}

View File

@ -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 %}

View File

@ -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>