summaryrefslogtreecommitdiff
path: root/ishtar_common/templates
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@iggdrasil.net>2018-07-09 20:59:24 +0200
committerÉtienne Loks <etienne.loks@iggdrasil.net>2018-08-13 18:26:03 +0200
commit5848f96f633d63248eefbabd325b17f6e36bd0e8 (patch)
tree59990ede30849daf44a9323d7e9a18e17d707285 /ishtar_common/templates
parent721229d393b6820619c5a006fa4b97889315932a (diff)
downloadIshtar-5848f96f633d63248eefbabd325b17f6e36bd0e8.tar.bz2
Ishtar-5848f96f633d63248eefbabd325b17f6e36bd0e8.zip
Save search queries
Diffstat (limited to 'ishtar_common/templates')
-rw-r--r--ishtar_common/templates/base.html3
-rw-r--r--ishtar_common/templates/blocks/DataTables.html3
-rw-r--r--ishtar_common/templates/blocks/bs_form_snippet.html5
-rw-r--r--ishtar_common/templates/ishtar/forms/search_query.html122
-rw-r--r--ishtar_common/templates/ishtar/forms/success.html20
-rw-r--r--ishtar_common/templates/ishtar/wizard/search.html2
-rw-r--r--ishtar_common/templates/widgets/search_input.html32
7 files changed, 173 insertions, 14 deletions
diff --git a/ishtar_common/templates/base.html b/ishtar_common/templates/base.html
index bbf030409..40e30706c 100644
--- a/ishtar_common/templates/base.html
+++ b/ishtar_common/templates/base.html
@@ -148,6 +148,9 @@
</div>
</div>
</div>
+ <div class="modal" id="modal-dynamic-form" tabindex="-1" role="dialog"
+ data-backdrop="static" data-keyboard="true" aria-hidden="true">
+ </div>
<div id='message'>
<div class='information'><i class="fa fa-info-circle" aria-hidden="true"></i> <span class='content'></span></div>
</div>
diff --git a/ishtar_common/templates/blocks/DataTables.html b/ishtar_common/templates/blocks/DataTables.html
index fdd358363..4beabe82a 100644
--- a/ishtar_common/templates/blocks/DataTables.html
+++ b/ishtar_common/templates/blocks/DataTables.html
@@ -2,7 +2,8 @@
<p class="text-center">
-<button id='search_{{name}}' class='btn btn-primary' type="button">
+<button id='search_{{name}}' class='btn btn-primary search_button'
+ type="button">
{% trans "Search" %}</button>
{% if url_new %}
diff --git a/ishtar_common/templates/blocks/bs_form_snippet.html b/ishtar_common/templates/blocks/bs_form_snippet.html
index 7bdac3bf3..95b8ac086 100644
--- a/ishtar_common/templates/blocks/bs_form_snippet.html
+++ b/ishtar_common/templates/blocks/bs_form_snippet.html
@@ -40,7 +40,7 @@
{% else %}
{% if search and forloop.counter0 == 1 %}
<div class="modal" id="modal-advanced-search" tabindex="-1" role="dialog"
- data-backdrop="static" data-keyboard="false" aria-hidden="true">
+ data-backdrop="static" data-keyboard="true" aria-hidden="true">
<div class="modal-dialog modal-lg">
<div class="modal-content">
<div class="modal-header">
@@ -114,5 +114,6 @@
{% if search %}
<script type="text/javascript">
-$(register_advanced_search);</script>
+$(register_advanced_search);
+</script>
{% endif %}
diff --git a/ishtar_common/templates/ishtar/forms/search_query.html b/ishtar_common/templates/ishtar/forms/search_query.html
new file mode 100644
index 000000000..e842fd591
--- /dev/null
+++ b/ishtar_common/templates/ishtar/forms/search_query.html
@@ -0,0 +1,122 @@
+{% load i18n inline_formset table_form %}
+<div class="modal-dialog modal-sm" id="save-search-div">
+ <div class="modal-content">
+ <div class="modal-header">
+ <h5>{% trans "Save search" %}</h5>
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <form enctype="multipart/form-data"
+ action="{% url 'save-search-query' app_label model %}"
+ method="post"
+ id="save-search-form">
+ <div class="modal-body form-row">
+ {% csrf_token %}
+
+ <div class='form'>
+
+ {% if form.non_field_errors %}
+ <div class="alert alert-danger" role="alert">
+ {{form.non_field_errors}}
+ </div>
+ {% endif %}
+
+ {% for hidden in form.hidden_fields %}
+ {{hidden}}
+ {% if hidden.errors %}<div class="invalid-feedback">
+ {{ hidden.errors }}
+ </div>{% endif %}
+ {% endfor %}
+
+ <div class="form-row">
+ <div class="form-group col-lg-12">
+ {{form.query}}
+ </div>
+ </div>
+ {% if form.search_query %}
+ <div class="form-row">
+ <input type="radio" name="create_or_update" value="create"
+ id="create-choice" checked >
+ &nbsp;<label for="create-choice">{% trans "New" %}</label>
+ </div>
+ {% else %}
+ <input type="hidden" name="create_or_update" value="create">
+ {% endif %}
+ <div id="new-search-query">
+ <div class="form-row">
+ {% with form.label as field %}
+ {% include "blocks/bs_field_snippet.html" %}
+ {% endwith %}
+ </div>
+ <div class="form-row">
+ {% with form.is_alert as field %}
+ {% include "blocks/bs_field_snippet.html" %}
+ {% endwith %}
+ </div>
+ </div>
+ {% if form.search_query %}
+ <div class="form-row">
+ <input type="radio" name="create_or_update" value="update"
+ id="update-choice">
+ &nbsp;<label for="update-choice">{% trans "Update" %}</label>
+ </div>
+ <div id="update-search-query">
+ <div class="form-row">
+ {% with form.search_query as field %}
+ {% include "blocks/bs_field_snippet.html" %}
+ {% endwith %}
+ </div>
+ </div>
+ {% endif %}
+ </div>
+ </div>
+ <div class="modal-footer">
+ <div class="col-sm">
+ <button type="button" id="search-save-submit"
+ name='validate'
+ value="validate" class="btn btn-success">
+ {% trans "Validate" %}
+ </button>
+ </div>
+ </div>
+ </form>
+ </div>
+</div>
+
+<script type='text/javascript'>
+
+var update_form_display = function(){
+ if ($("#create-choice:checked").length){
+ $("#update-search-query").hide();
+ $("#new-search-query").show();
+ } else {
+ $("#new-search-query").hide();
+ $("#update-search-query").show();
+ }
+}
+
+$(document).ready(function(){
+ $("#id_query").val($(".search-vector").val());
+ $("#search-save-submit").click(
+ function(){
+ $.ajax({
+ type: "POST",
+ url: "{% url 'save-search-query' app_label model %}",
+ data: $("#save-search-form").serialize(),
+ success: function(data){
+ $("#save-search-div").parent().html(data);
+ },
+ dataType: 'html'
+ });
+ return false;
+ }
+ );
+ $("#create-choice").click(update_form_display);
+ $("#update-choice").click(update_form_display);
+ update_form_display();
+});
+
+</script>
+
+
diff --git a/ishtar_common/templates/ishtar/forms/success.html b/ishtar_common/templates/ishtar/forms/success.html
new file mode 100644
index 000000000..125ba62e7
--- /dev/null
+++ b/ishtar_common/templates/ishtar/forms/success.html
@@ -0,0 +1,20 @@
+{% load i18n inline_formset table_form %}
+<script type='text/javascript'>
+
+$(document).ready(function(){
+ $("#form-result-div").parent().modal("hide");
+});
+
+</script>
+<div class="modal-dialog modal-sm" id="form-result-div">
+ <div class="modal-content">
+ <div class="modal-header">
+ <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+ <span aria-hidden="true">&times;</span>
+ </button>
+ </div>
+ <div class="modal-body form-row">
+ {% trans "Form successfully submited" %}
+ </div>
+ </div>
+</div>
diff --git a/ishtar_common/templates/ishtar/wizard/search.html b/ishtar_common/templates/ishtar/wizard/search.html
index e1f2433ea..eebd58d89 100644
--- a/ishtar_common/templates/ishtar/wizard/search.html
+++ b/ishtar_common/templates/ishtar/wizard/search.html
@@ -18,7 +18,7 @@
<form action="." class='wizard-form' id="wizard-form" method="post" name='wizard'>{% csrf_token %}
{% if wizard.form.forms %}
<div class='form'>
-<div class='top_button'><input type="submit" id="submit_form" value="{% trans "Validate" %}"/></div>
+<div class='top_button'><input type="submit" id="submit_form" value="{% trans 'Validate' %}"/></div>
<table class='formset'>
{%if wizard.form.non_form_errors%}<tr class='error'><th colspan='2'>{{wizard.form.non_form_errors}}</th></tr>{%endif%}
{{ wizard.form.management_form }}
diff --git a/ishtar_common/templates/widgets/search_input.html b/ishtar_common/templates/widgets/search_input.html
index a1e5aa2e4..ddb62969f 100644
--- a/ishtar_common/templates/widgets/search_input.html
+++ b/ishtar_common/templates/widgets/search_input.html
@@ -4,28 +4,40 @@
<i class="fa fa-search" aria-hidden="true"></i>
</span>
</span>
- <input type="{{ widget.type }}" name="{{ widget.name }}"{% if widget.value != None %} value="{{ widget.value|stringformat:'s' }}"{% endif %}{% include "django/forms/widgets/attrs.html" %} />
+ <input type="{{ widget.type }}" name="{{ widget.name }}"
+ {% if widget.value != None %} value="{{ widget.value|stringformat:'s' }}"{% endif %}{% include "django/forms/widgets/attrs.html" %} />
<span class="input-group-append">
<button type="button" class="btn btn-secondary" data-toggle="modal"
- data-target="#modal-advanced-search">
+ data-target="#modal-advanced-search"
+ title="{% trans 'Criteria' %}">
<i class="fa fa-cogs" aria-hidden="true"></i>
</button>
- </span>
- <span class="input-group-append">
- <span class="input-group-text clear-search">
- <i class="fa fa-times" aria-hidden="true"></i>
- </span>
+ <a type="button" class="async-link btn btn-secondary disabled"
+ id="save-search-button"
+ data-target="#modal-dynamic-form"
+ data-modal-open="#modal-dynamic-form"
+ title="{% trans 'Save search' %}"
+ href="{% url 'save-search-query' 'archaeological-operations' 'operation'%}">
+ <i class="fa fa-floppy-o" aria-hidden="true"></i>
+ </a>
+ <span class="input-group-text clear-search">
+ <i class="fa fa-times" aria-hidden="true"></i>
+ </span>
</span>
</div>
<script type="text/javascript">
+
$(document).ready(function(){
$(".search-widget input").keypress(function(e) {
- if(e.which == 13) {
- $(".search-widget").parents(
- '.search').find("p > .btn-primary").click();
+ if (e.which == 13) {
+ $(".search_button").click();
$(this).focus();
}
});
+ $(".search-widget input").keyup(function(e) {
+ enable_save();
+ });
+ enable_save();
});
</script>