Continuing work on new bootstrap4 interface

This commit is contained in:
Garret Wassermann 2018-09-02 23:27:39 -04:00
parent b610a5f492
commit f123d78184
15 changed files with 74 additions and 23 deletions

View File

@ -38,7 +38,7 @@ INSTALLED_APPS = [
'django.contrib.sites', 'django.contrib.sites',
'django.contrib.humanize', 'django.contrib.humanize',
'markdown_deux', 'markdown_deux',
'bootstrapform', 'bootstrap4form',
'helpdesk' 'helpdesk'
] ]

View File

@ -1,4 +1,4 @@
{% extends "helpdesk/base.html" %}{% load i18n bootstrap %} {% extends "helpdesk/base.html" %}{% load i18n bootstrap4form %}
{% block helpdesk_title %}{% trans "Create Ticket" %}{% endblock %} {% block helpdesk_title %}{% trans "Create Ticket" %}{% endblock %}

View File

@ -1,5 +1,12 @@
{% extends "helpdesk/public_base.html" %}{% load i18n humanize %} {% extends "helpdesk/public_base.html" %}{% load i18n humanize %}
{% block helpdesk_breadcrumb %}
<li class="breadcrumb-item">
<a href="{% url 'helpdesk:kb_index' %}">{% trans "Knowledgebase" %}</a>
</li>
<li class="breadcrumb-item active">{% blocktrans with category.title as kbcat %}{{ kbcat }}{% endblocktrans %}</li>
{% endblock %}
{% block helpdesk_body %} {% block helpdesk_body %}
<h2>{% trans 'Knowledgebase Category' %}:{% blocktrans with category.title as kbcat %}{{ kbcat }}{% endblocktrans %}</h2> <h2>{% trans 'Knowledgebase Category' %}:{% blocktrans with category.title as kbcat %}{{ kbcat }}{% endblocktrans %}</h2>

View File

@ -1,5 +1,14 @@
{% extends "helpdesk/public_base.html" %}{% load i18n %} {% extends "helpdesk/public_base.html" %}{% load i18n %}
{% block helpdesk_title %}{% trans "Knowledgebase" %}{% endblock %}
{% block helpdesk_breadcrumb %}
<li class="breadcrumb-item">
<a href="{% url 'helpdesk:kb_index' %}">{% trans "Knowledgebase" %}</a>
</li>
<li class="breadcrumb-item active">Overview</li>
{% endblock %}
{% block helpdesk_body %} {% block helpdesk_body %}
<h2>{% trans "Knowledgebase" %}</h2> <h2>{% trans "Knowledgebase" %}</h2>

View File

@ -1,5 +1,15 @@
{% extends "helpdesk/public_base.html" %}{% load i18n %}{% load markdown_deux_tags %} {% extends "helpdesk/public_base.html" %}{% load i18n %}{% load markdown_deux_tags %}
{% block helpdesk_breadcrumb %}
<li class="breadcrumb-item">
<a href="{% url 'helpdesk:kb_index' %}">{% trans "Knowledgebase" %}</a>
</li>
<li class="breadcrumb-item">
<a href="{{ category.get_absolute_url }}">{% blocktrans with category.title as kbcat %}{{ kbcat }}{% endblocktrans %}</a>
</li>
<li class="breadcrumb-item active">Overview</li>
{% endblock %}
{% block helpdesk_body %} {% block helpdesk_body %}
<h2>{% trans 'Knowledgebase' %}:{% blocktrans with item.title as item %}{{ item }}{% endblocktrans %}</h2> <h2>{% trans 'Knowledgebase' %}:{% blocktrans with item.title as item %}{{ item }}{% endblocktrans %}</h2>

View File

@ -39,7 +39,7 @@
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="{% url 'helpdesk:report_index' %}"> <a class="nav-link" href="{% url 'helpdesk:report_index' %}">
<i class="fas fa-fw fa-chart-area"></i> <i class="fas fa-fw fa-chart-area"></i>
<span>{% trans "Stats" %}</span> <span>{% trans "Reports" %}</span>
</a> </a>
</li> </li>
{% if helpdesk_settings.HELPDESK_KB_ENABLED %} {% if helpdesk_settings.HELPDESK_KB_ENABLED %}

View File

@ -13,7 +13,7 @@
<meta name="description" content=""> <meta name="description" content="">
<meta name="author" content=""> <meta name="author" content="">
<title>{% block helpdesk_title %}{% trans 'Helpdesk' %}{% endblock %}</title> <title>{% block helpdesk_title %}{% trans 'Helpdesk' %}{% endblock %} :: {% trans "Powered by django-helpdesk" %}</title>
<!-- Bootstrap Core CSS --> <!-- Bootstrap Core CSS -->
{% if helpdesk_settings.HELPDESK_USE_CDN %} {% if helpdesk_settings.HELPDESK_USE_CDN %}

View File

@ -2,6 +2,13 @@
{% block helpdesk_title %}{% trans "Reports &amp; Statistics" %}{% endblock %} {% block helpdesk_title %}{% trans "Reports &amp; Statistics" %}{% endblock %}
{% block helpdesk_breadcrumb %}
<li class="breadcrumb-item">
<a href="{% url 'helpdesk:report_index' %}">{% trans "Reports &amp; Statistics" %}</a>
</li>
<li class="breadcrumb-item active">Overview</li>
{% endblock %}
{% block helpdesk_body %} {% block helpdesk_body %}
<h2>{% trans "Reports &amp; Statistics" %}</h2> <h2>{% trans "Reports &amp; Statistics" %}</h2>

View File

@ -25,6 +25,13 @@
{% endblock %} {% endblock %}
{% block helpdesk_breadcrumb %}
<li class="breadcrumb-item">
<a href="{% url 'helpdesk:report_index' %}">{% trans "Reports &amp; Statistics" %}</a>
</li>
<li class="breadcrumb-item active">{{ title }}</li>
{% endblock %}
{% block helpdesk_body %} {% block helpdesk_body %}
<h2>{% trans "Reports &amp; Statistics" %}</h2> <h2>{% trans "Reports &amp; Statistics" %}</h2>

View File

@ -1,5 +1,5 @@
{% extends "helpdesk/base.html" %} {% extends "helpdesk/base.html" %}
{% load i18n bootstrap humanize %} {% load i18n bootstrap4form humanize %}
{% load static from staticfiles %} {% load static from staticfiles %}
{% block helpdesk_title %}{{ ticket.queue.slug }}-{{ ticket.id }} : {% trans "View Ticket Details" %}{% endblock %} {% block helpdesk_title %}{{ ticket.queue.slug }}-{{ ticket.id }} : {% trans "View Ticket Details" %}{% endblock %}

View File

@ -13,9 +13,9 @@
<table class="table table-striped table-bordered table-hover"> <table class="table table-striped table-bordered table-hover">
<thead> <thead>
<tr class='row_tablehead'><td colspan='2'><h3>{{ ticket.queue.slug }}-{{ ticket.id }}. {{ ticket.title }} [{{ ticket.get_status }}]</h3> <span class='ticket_toolbar'> <tr class='row_tablehead'><td colspan='2'><h3>{{ ticket.queue.slug }}-{{ ticket.id }}. {{ ticket.title }} [{{ ticket.get_status }}]</h3> <span class='ticket_toolbar'>
<a href="{% url 'helpdesk:edit' ticket.id %}" class="ticket-edit"><button class="btn btn-warning btn-xs"><i class="fa fa-pencil"></i> {% trans "Edit" %}</button></a> <a href="{% url 'helpdesk:edit' ticket.id %}" class="ticket-edit"><button class="btn btn-warning btn-xs"><i class="fas fa-pencil-alt"></i> {% trans "Edit" %}</button></a>
| <a href="{% url 'helpdesk:delete' ticket.id %}" class="ticket-delete"><button class="btn btn-danger btn-xs"><i class="fa fa-trash-o"></i> {% trans "Delete" %}</button></a> | <a href="{% url 'helpdesk:delete' ticket.id %}" class="ticket-delete"><button class="btn btn-danger btn-xs"><i class="fas fa-trash-alt"></i> {% trans "Delete" %}</button></a>
{% if ticket.on_hold %} | <a href="{% url 'helpdesk:unhold' ticket.id %}" class="ticket-hold"><button class="btn btn-warning btn-xs"><i class="fa fa-play"></i> {% trans "Unhold" %}</button></a>{% else %} | <a href="{% url 'helpdesk:hold' ticket.id %}" class="ticket-hold"><button class="btn btn-warning btn-xs"><i class="fa fa-pause"></i> {% trans "Hold" %}</button></a>{% endif %} {% if ticket.on_hold %} | <a href="{% url 'helpdesk:unhold' ticket.id %}" class="ticket-hold"><button class="btn btn-warning btn-xs"><i class="fas fa-play"></i> {% trans "Unhold" %}</button></a>{% else %} | <a href="{% url 'helpdesk:hold' ticket.id %}" class="ticket-hold"><button class="btn btn-warning btn-xs"><i class="fas fa-pause"></i> {% trans "Hold" %}</button></a>{% endif %}
</span></td></tr> </span></td></tr>
<tr><th colspan='2'>{% blocktrans with ticket.queue as queue %}Queue: {{ queue }}{% endblocktrans %}</th></tr> <tr><th colspan='2'>{% blocktrans with ticket.queue as queue %}Queue: {{ queue }}{% endblocktrans %}</th></tr>
</thead> </thead>
@ -50,14 +50,14 @@
<tr> <tr>
<th>{% trans "Assigned To" %}</th> <th>{% trans "Assigned To" %}</th>
<td>{{ ticket.get_assigned_to }}{% ifequal ticket.get_assigned_to _('Unassigned') %} <strong><a href='?take'><button type="button" class="btn btn-primary btn-xs"><i class="fa fa-hand-paper-o"></i>&nbsp;{% trans "Take" %}</button></a></strong>{% endifequal %}</td> <td>{{ ticket.get_assigned_to }}{% ifequal ticket.get_assigned_to _('Unassigned') %} <strong><a href='?take'><button type="button" class="btn btn-primary btn-xs"><i class="fas fa-hand-paper"></i>&nbsp;{% trans "Take" %}</button></a></strong>{% endifequal %}</td>
</tr> </tr>
<tr> <tr>
<th>{% trans "Submitter E-Mail" %}</th> <th>{% trans "Submitter E-Mail" %}</th>
<td>{{ ticket.submitter_email }} <td>{{ ticket.submitter_email }}
{% if user.is_superuser %} {% if submitter_userprofile_url %}<strong><a href='{{submitter_userprofile_url}}'><button type="button" class="btn btn-primary btn-xs"><i class="fa fa-address-book"></i>&nbsp;{% trans "Profile" %}</button></a></strong>{% endif %} {% if user.is_superuser %} {% if submitter_userprofile_url %}<strong><a href='{{submitter_userprofile_url}}'><button type="button" class="btn btn-primary btn-xs"><i class="fas fa-address-book"></i>&nbsp;{% trans "Profile" %}</button></a></strong>{% endif %}
<strong><a href='{% url 'helpdesk:email_ignore_add' %}?email={{ ticket.submitter_email }}'><button type="button" class="btn btn-warning btn-xs"><i class="fa fa-eye-slash"></i>&nbsp;{% trans "Ignore" %}</button></a></strong>{% endif %}</td> <strong><a href='{% url 'helpdesk:email_ignore_add' %}?email={{ ticket.submitter_email }}'><button type="button" class="btn btn-warning btn-xs"><i class="fas fa-eye-slash"></i>&nbsp;{% trans "Ignore" %}</button></a></strong>{% endif %}</td>
</tr> </tr>
<tr> <tr>
@ -67,19 +67,19 @@
<tr> <tr>
<th>{% trans "Copies To" %}</th> <th>{% trans "Copies To" %}</th>
<td>{{ ticketcc_string }} <a data-toggle='tooltip' href='{% url 'helpdesk:ticket_cc' ticket.id %}' title='{% trans "Click here to add / remove people who should receive an e-mail whenever this ticket is updated." %}'><strong><button type="button" class="btn btn-warning btn-xs"><i class="fa fa-share"></i>&nbsp;{% trans "Manage" %}</button></strong></a>{% if SHOW_SUBSCRIBE %}, <strong><a data-toggle='tooltip' href='?subscribe' title='{% trans "Click here to subscribe yourself to this ticket, if you want to receive an e-mail whenever this ticket is updated." %}'><button type="button" class="btn btn-warning btn-xs"><i class="fa fa-rss"></i>&nbsp;{% trans "Subscribe" %}</button></a></strong>{% endif %}</td> <td>{{ ticketcc_string }} <a data-toggle='tooltip' href='{% url 'helpdesk:ticket_cc' ticket.id %}' title='{% trans "Click here to add / remove people who should receive an e-mail whenever this ticket is updated." %}'><strong><button type="button" class="btn btn-warning btn-xs"><i class="fa fa-share"></i>&nbsp;{% trans "Manage" %}</button></strong></a>{% if SHOW_SUBSCRIBE %}, <strong><a data-toggle='tooltip' href='?subscribe' title='{% trans "Click here to subscribe yourself to this ticket, if you want to receive an e-mail whenever this ticket is updated." %}'><button type="button" class="btn btn-warning btn-xs"><i class="fas fa-rss-square"></i>&nbsp;{% trans "Subscribe" %}</button></a></strong>{% endif %}</td>
</tr> </tr>
<tr> <tr>
<th>{% trans "Dependencies" %}</th> <th>{% trans "Dependencies" %}</th>
<td>{% for dep in ticket.ticketdependency.all %} <td>{% for dep in ticket.ticketdependency.all %}
{% if forloop.first %}<p>{% trans "This ticket cannot be resolved until the following ticket(s) are resolved" %}</p><ul>{% endif %} {% if forloop.first %}<p>{% trans "This ticket cannot be resolved until the following ticket(s) are resolved" %}</p><ul>{% endif %}
<li><a href='{{ dep.depends_on.get_absolute_url }}'>{{ dep.depends_on.ticket }} {{ dep.depends_on.title }}</a> ({{ dep.depends_on.get_status_display }}) <a href='{% url 'helpdesk:ticket_dependency_del' ticket.id dep.id %}'><button type="button" class="btn btn-warning btn-xs"><i class="fa fa-trash"></i>&nbsp;{% trans "Remove Dependency" %}</button></a></li> <li><a href='{{ dep.depends_on.get_absolute_url }}'>{{ dep.depends_on.ticket }} {{ dep.depends_on.title }}</a> ({{ dep.depends_on.get_status_display }}) <a href='{% url 'helpdesk:ticket_dependency_del' ticket.id dep.id %}'><button type="button" class="btn btn-warning btn-xs"><i class="fas fa-trash"></i>&nbsp;{% trans "Remove Dependency" %}</button></a></li>
{% if forloop.last %}</ul>{% endif %} {% if forloop.last %}</ul>{% endif %}
{% empty %} {% empty %}
<p>{% trans "This ticket has no dependencies." %}</p> <p>{% trans "This ticket has no dependencies." %}</p>
{% endfor %} {% endfor %}
<p><a data-toggle='tooltip' href='{% url 'helpdesk:ticket_dependency_add' ticket.id %}' title="{% trans "Click on 'Add Dependency', if you want to make this ticket dependent on another ticket. A ticket may not be closed until all tickets it depends on are closed." %}"><button type="button" class="btn btn-primary btn-xs"><i class="fa fa-child"></i>&nbsp;{% trans "Add Dependency" %}</button></a></p> <p><a data-toggle='tooltip' href='{% url 'helpdesk:ticket_dependency_add' ticket.id %}' title="{% trans "Click on 'Add Dependency', if you want to make this ticket dependent on another ticket. A ticket may not be closed until all tickets it depends on are closed." %}"><button type="button" class="btn btn-primary btn-xs"><i class="fas fa-child"></i>&nbsp;{% trans "Add Dependency" %}</button></a></p>
</td> </td>
</tr> </tr>
</tbody> </tbody>

View File

@ -1,9 +1,10 @@
{% extends "helpdesk/base.html" %} {% extends "helpdesk/base.html" %}
{% load i18n humanize %} {% load i18n humanize %}
{% load static from staticfiles %} {% load static from staticfiles %}
{% block helpdesk_title %}{% trans "Tickets" %}{% endblock %}
{% block helpdesk_head %}
{% block helpdesk_title %}{% trans "Tickets" %}{% endblock %}
{% block helpdesk_head %}
<script src='{% static "helpdesk/filter.js" %}'></script> <script src='{% static "helpdesk/filter.js" %}'></script>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
@ -33,10 +34,19 @@ $(document).ready(function() {
}); });
</script> </script>
{% endblock %} {% endblock %}
{% block h1_title %}Tickets
{% if from_saved_query %} [{{ saved_query.title }}]{% endif %}{% endblock %}
{% block helpdesk_body %}
{% block h1_title %}Tickets
{% if from_saved_query %} [{{ saved_query.title }}]{% endif %}
{% endblock %}
{% block helpdesk_breadcrumb %}
<li class="breadcrumb-item">
<a href="{% url 'helpdesk:list' %}">{% trans "Tickets" %}</a>
</li>
<li class="breadcrumb-item active">Overview</li>
{% endblock %}
{% block helpdesk_body %}
{% load in_list %} {% load in_list %}
<div class="row"> <div class="row">

View File

@ -1,4 +1,4 @@
{% extends "helpdesk/base.html" %}{% load i18n bootstrap %} {% extends "helpdesk/base.html" %}{% load i18n bootstrap4form %}
{% block helpdesk_title %}{% trans "Change User Settings" %}{% endblock %} {% block helpdesk_title %}{% trans "Change User Settings" %}{% endblock %}
@ -8,7 +8,7 @@
<p>{% blocktrans %}Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user.{% endblocktrans %}</p> <p>{% blocktrans %}Use the following options to change the way your helpdesk system works for you. These settings do not impact any other user.{% endblocktrans %}</p>
<form role="form" method='post' action='./'> <form role="form" method='post' action='./'>
{{ form|bootstrap }} {{ form|bootstrap4form }}
<div class="form-group"> <div class="form-group">
<input class="btn btn-primary" type='submit' value='{% trans "Save Options" %}' /> <input class="btn btn-primary" type='submit' value='{% trans "Save Options" %}' />
</div> </div>

View File

@ -37,6 +37,7 @@ def category(request, slug):
def item(request, item): def item(request, item):
item = get_object_or_404(KBItem, pk=item) item = get_object_or_404(KBItem, pk=item)
return render(request, 'helpdesk/kb_item.html', { return render(request, 'helpdesk/kb_item.html', {
'category': item.category,
'item': item, 'item': item,
'helpdesk_settings': helpdesk_settings, 'helpdesk_settings': helpdesk_settings,
}) })

View File

@ -1,5 +1,5 @@
Django>=1.11,<3 Django>=2,<3
django-bootstrap-form>=3.3,<4 django-bootstrap4-form
email-reply-parser email-reply-parser
django-markdown-deux django-markdown-deux
beautifulsoup4 beautifulsoup4