summaryrefslogtreecommitdiff
path: root/ishtar_common/templates
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/templates')
-rw-r--r--ishtar_common/templates/base.html1
-rw-r--r--ishtar_common/templates/blocks/JQueryAdvancedTown.html99
-rw-r--r--ishtar_common/templates/blocks/JQueryAdvancedTown.js1
-rw-r--r--ishtar_common/templates/blocks/JQueryPersonOrganization.js50
-rw-r--r--ishtar_common/templates/blocks/PersonOrganization.html9
-rw-r--r--ishtar_common/templates/blocks/extra_head.html2
-rw-r--r--ishtar_common/templates/ishtar/organization_form.html30
-rw-r--r--ishtar_common/templates/ishtar/organization_person_form.html131
-rw-r--r--ishtar_common/templates/ishtar/person_form.html113
-rw-r--r--ishtar_common/templates/ishtar/wizard/confirm_wizard.html2
-rw-r--r--ishtar_common/templates/ishtar/wizard/default_wizard.html8
-rw-r--r--ishtar_common/templates/ishtar/wizard/parcels_wizard.html6
-rw-r--r--ishtar_common/templates/ishtar/wizard/towns_wizard.html5
-rw-r--r--ishtar_common/templates/ishtar/wizard/validation_bar.html7
14 files changed, 455 insertions, 9 deletions
diff --git a/ishtar_common/templates/base.html b/ishtar_common/templates/base.html
index 1ebebd815..92e61493b 100644
--- a/ishtar_common/templates/base.html
+++ b/ishtar_common/templates/base.html
@@ -19,6 +19,7 @@
<link type="text/css" href="{{JQUERY_UI_URL}}css/smoothness/jquery-ui.css" rel="stylesheet" />
<link rel="stylesheet" href="{{STATIC_URL}}/js/prettyPhoto/css/prettyPhoto.css" />
<link rel="stylesheet" href="{{STATIC_URL}}/media/style.css" />
+ {% include "blocks/extra_head.html" %}
{% block extra_head %}
{% endblock %}
</head>
diff --git a/ishtar_common/templates/blocks/JQueryAdvancedTown.html b/ishtar_common/templates/blocks/JQueryAdvancedTown.html
new file mode 100644
index 000000000..78d2d7831
--- /dev/null
+++ b/ishtar_common/templates/blocks/JQueryAdvancedTown.html
@@ -0,0 +1,99 @@
+{% load i18n %}{% load url from future %}</td></tr>
+<tr>
+ <td>{% trans "State" context "Région" %}</td>
+ <td>
+ <select id='current-state'>
+ <option value=''>--------</option>{% for state in states %}
+ <option value='{{state.number}}'{% if state.number == selected_state %}selected='selected'{% endif %}>{{state}}</option>
+ {% endfor %}</select>
+ </td>
+</tr>
+<tr>
+ <td>{% trans "Department" %}</td>
+ <td>
+ <select id='current-department'>
+ </select>
+ </td>
+</tr>
+<tr class='required'>
+ <th><label>{% trans "Town" %}</label></th>
+ <td><input{{attrs_select}}/>
+<input type="hidden"{{attrs_hidden}}/>
+<script type="text/javascript"><!--//
+ selected_department = "{{selected_department}}";
+ var empty_select = "<option value=''>--------</option>";
+
+ function update_department_field(){
+ var selected_state = $("#current-state").val();
+ if (!selected_state){
+ $("#current-department").html("<option value=''>"+"{% trans 'Choose a state first' %}"+"</option>");
+ $("#current-department").prop('disabled', true);
+ $('#id_select_{{field_id}}').prop('disabled', true);
+ return;
+ }
+ $.ajax({
+ url: "{% url 'department-by-state' %}" + selected_state,
+ type: 'get',
+ dataType: 'json',
+ success: function(data) {
+ var html = "";
+ for (idx in data){
+ dpt = data[idx];
+ html += "<option value='" + dpt.number + "'";
+ if (String(dpt.number) == String(selected_department)){
+ html += " selected='selected'";
+ }
+ html += ">" + dpt.value + "</option>";
+ }
+ $("#current-department").html(html);
+ $("#current-department").prop('disabled', false);
+ update_search_town();
+ }
+ });
+ }
+
+ function update_search_town(){
+ selected_department = $("#current-department").val();
+ if (selected_department){
+ $("#id_select_{{field_id}}").autocomplete( "option", "source", {{source}}+selected_department);
+ $('#id_select_{{field_id}}').prop('disabled', false);
+ } else {
+ $('#id_select_{{field_id}}').prop('disabled', true);
+ }
+ }
+
+ function empty_town(){
+ $('#id_{{field_id}}').val(null);
+ $('#id_select_{{field_id}}').val(null);
+ }
+
+ $(function() {
+ update_department_field();
+
+ $("#current-state").change(function(){
+ empty_town();
+ update_department_field();
+ });
+
+ $("#current-department").change(function(){
+ empty_town();
+ update_search_town();
+ });
+
+ $("#id_select_{{field_id}}").autocomplete({
+ source: {{source}},
+ select: function( event, ui ) {
+ if(ui.item){
+ $('#id_{{field_id}}').val(ui.item.id);
+ } else {
+ $('#id_{{field_id}}').val(null);
+ }
+ },
+ minLength: 2{% if options %},
+ {{options}}
+ {% endif %}
+ });
+
+ $('#id_select_{{field_id}}').live('click', empty_town);
+
+});//--></script>
diff --git a/ishtar_common/templates/blocks/JQueryAdvancedTown.js b/ishtar_common/templates/blocks/JQueryAdvancedTown.js
new file mode 100644
index 000000000..8b1378917
--- /dev/null
+++ b/ishtar_common/templates/blocks/JQueryAdvancedTown.js
@@ -0,0 +1 @@
+
diff --git a/ishtar_common/templates/blocks/JQueryPersonOrganization.js b/ishtar_common/templates/blocks/JQueryPersonOrganization.js
new file mode 100644
index 000000000..b13a2c28e
--- /dev/null
+++ b/ishtar_common/templates/blocks/JQueryPersonOrganization.js
@@ -0,0 +1,50 @@
+
+$("#id_select_{{field_id}}").autocomplete({
+ source: {{source}},
+ select: function( event, ui ) {
+ var url = {{edit_source}};
+ if(ui.item){
+ url = {{edit_source}}+ui.item.id;
+ $('#id_{{field_id}}').val(ui.item.id);
+ } else {
+ $('#id_{{field_id}}').val(null);
+ }
+ $.get(url , function( data ) {
+ $( "#div-{{field_id}}" ).html( data );
+ });
+ },
+ minLength: 2{% if options %},
+ {{options}}
+ {% endif %}
+});
+
+$.get( {{edit_source}}{% if selected %}+'{{selected}}'{% endif %}, function( data ) {
+ $( "#div-{{field_id}}" ).html( data );
+});
+
+$('#id_select_{{field_id}}').live('click', function(){
+ $('#id_{{field_id}}').val(null);
+ $('#id_select_{{field_id}}').val(null);
+ $.get( {{edit_source}}, function( data ) {
+ $( "#div-{{field_id}}" ).html( data );
+ });
+});
+
+person_save_callback = function(item_id, lbl){
+ var url = {{edit_source}};
+ $('#id_{{field_id}}').val(null);
+ $('#id_select_{{field_id}}').val(lbl);
+ if (item_id){
+ url = {{edit_source}}+item_id;
+ $('#id_{{field_id}}').val(item_id);
+ }
+ $("#id_select_{{field_id}}").trigger('autocompletechange');
+ $.get(url , function( data ) {
+ $( "#div-{{field_id}}" ).html( data );
+ });
+};
+person_new_callback = function(){
+ var url = {{edit_source}};
+ $('#id_{{field_id}}').val(null);
+ $('#id_select_{{field_id}}').val(null);
+}
diff --git a/ishtar_common/templates/blocks/PersonOrganization.html b/ishtar_common/templates/blocks/PersonOrganization.html
new file mode 100644
index 000000000..6e7264c8e
--- /dev/null
+++ b/ishtar_common/templates/blocks/PersonOrganization.html
@@ -0,0 +1,9 @@
+{% load i18n %}<input{{attrs_select}}/>
+</table>
+
+<div id='div-{{name}}'></div>
+
+<input type="hidden"{{attrs_hidden}}/>
+<script type="text/javascript"><!--//
+{{js}}
+//--></script>
diff --git a/ishtar_common/templates/blocks/extra_head.html b/ishtar_common/templates/blocks/extra_head.html
new file mode 100644
index 000000000..139597f9c
--- /dev/null
+++ b/ishtar_common/templates/blocks/extra_head.html
@@ -0,0 +1,2 @@
+
+
diff --git a/ishtar_common/templates/ishtar/organization_form.html b/ishtar_common/templates/ishtar/organization_form.html
new file mode 100644
index 000000000..207116c21
--- /dev/null
+++ b/ishtar_common/templates/ishtar/organization_form.html
@@ -0,0 +1,30 @@
+{% load i18n %}<table class='organization'>
+<tr>
+ <th><label>{{form.name.label}}</label></th>
+ <td>{{form.name}}</td>
+</tr>
+</table>
+{% for hidden in form.hidden_fields %}{{hidden}}{% endfor %}
+<table class='organization-address'>
+<tr>
+ <th><label>{{form.organization_type.label}}</label></th>
+ <td>{{form.organization_type}}</td>
+</tr>
+<tr>
+ <th><label>{{form.address.label}}</label></th>
+ <td>{{form.address}}</td>
+</tr>
+<tr>
+ <th><label>{{form.address_complement.label}}</label></th>
+ <td>{{form.address_complement}}</td>
+</tr>
+<tr>
+ <th><label>{{form.postal_code.label}}</label></th>
+ <td>{{form.postal_code}}</td>
+</tr>
+<tr>
+ <th><label>{{form.town.label}}</label></th>
+ <td>{{form.town}}</td>
+</tr>
+</table>
+
diff --git a/ishtar_common/templates/ishtar/organization_person_form.html b/ishtar_common/templates/ishtar/organization_person_form.html
new file mode 100644
index 000000000..46f2cdc15
--- /dev/null
+++ b/ishtar_common/templates/ishtar/organization_person_form.html
@@ -0,0 +1,131 @@
+{% load i18n %}{% load url from future %}
+<div id='orga-person-form'>
+<form id='dyn-form-person' method='post'>
+{% csrf_token %}
+{% for hidden_field in form.hidden_fields %}{{hidden_field}}{% endfor %}
+<input type='hidden' name='hidden_person_pk' id='hidden_person_pk' value='{{object.pk}}'/>
+<input type='hidden' name='hidden_person_lbl' id='hidden_person_lbl' value="{{object}}"/>
+<table class='organization'>
+<caption>{% trans "Identification" %}</caption>
+<tr>
+ <th>&nbsp;</th>
+ <td>{{form.attached_to}}</td>
+</tr>
+</table>
+
+<table class='person'>
+<caption>{{relative_label}}</caption>
+<tr>
+ <th><label>{{form.title.label}}</label></th>
+ <td>{{form.title}}</td>
+</tr>
+<tr>
+ <th><label>{{form.name.label}}</label></th>
+ <td>{{form.name}}</td>
+</tr>
+<tr>
+ <th><label>{{form.surname.label}}</label></th>
+ <td>{{form.surname}}</td>
+</tr>
+</table>
+<div>
+<input type='submit' id='btn-modify-person' value="{% trans "Modify"%}"/>
+<input type='submit' id='btn-new-person' value="{% trans "New"%}"/>
+<input type='submit' id='btn-save-person' value="{% trans "Save"%}"/>
+<input type='submit' id='btn-cancel-person' value="{% trans "Cancel"%}"/>
+</div>
+</form>
+</div>
+<script type="text/javascript"><!--//
+
+function checkPendingRequest(todo) {
+ window.setTimeout(function () {
+ if ($.active > 0) {
+ window.setTimeout(checkPendingRequest(todo), 250);
+ } else {
+ todo();
+ }
+ }, 250);
+};
+
+person_save_callback = function(){
+ var item_id = $('#hidden_person_pk').val();
+
+ var url = edit_url;
+ $('#id_' + parent_id).val(null);
+ if (item_id){
+ url = edit_url+item_id;
+ $('#id_'+parent_id).val(item_id);
+ }
+ $("#id_select_"+parent_id).trigger('autocompletechange');
+ $.get(url , function( data ) {
+ $( "#div-"+parent_id ).html( data );
+ var lbl = $('#hidden_person_lbl').val();
+ $('#id_select_' + parent_id).val(lbl);
+ });
+};
+
+person_new_callback = function(){
+ var url = edit_url;
+ $('#id_'+parent_id).val(null);
+ $('#id_select_'+parent_id).val(null);
+}
+$(function() {
+ disable_person = function(){
+ $("#orga-person-form :input[type='text'], #orga-person-form textarea, #orga-person-form select").prop("disabled", true);
+ $("#btn-save-person").hide();
+ $("#btn-cancel-person").hide();
+ $("#btn-modify-person").show();
+ $("#btn-new-person").show();
+ $("#orga-person-form").removeClass('selected');
+ }
+ enable_person = function(){
+ $("#orga-person-form :input[type='text'], #orga-person-form textarea, #orga-person-form select").prop("disabled", false);
+ $("#btn-save-person").show();
+ $("#btn-cancel-person").show();
+ $("#btn-modify-person").hide();
+ $("#btn-new-person").hide();
+ $("#orga-person-form").addClass('selected');
+ }
+
+ checkPendingRequest(disable_person);
+
+ $("#btn-modify-person").on('click', function(){
+ {% if object %}submit_url = "{% url 'organization_person_edit' object.pk %}";
+ {% else %}submit_url = "{% url 'organization_person_create' %}";{% endif %}
+ enable_person();
+ return false;
+ });
+ $("#btn-new-person").on('click', function(){
+ submit_url = "{% url 'organization_person_create' %}";
+ $("#orga-person-form").find("input[type=text], textarea, input[type=hidden]").val("");
+ enable_person();
+ person_new_callback();
+ return false;
+ });
+ $("#btn-cancel-person").on('click', function(){
+ person_save_callback();
+ disable_person();
+ return false;
+ });
+ $("#btn-save-person").on('click', function(){
+ var form = $("#dyn-form-person");
+ $.ajax({
+ url: submit_url,
+ type: 'post',
+ data: form.serialize(),
+ dataType: 'html',
+ success: function(data) {
+ $("#orga-person-form").parent().html(data);
+ person_save_callback();
+ disable_person();
+ return false;
+ }
+ });
+ return false;
+ });
+
+
+});
+//--></script>
+
diff --git a/ishtar_common/templates/ishtar/person_form.html b/ishtar_common/templates/ishtar/person_form.html
new file mode 100644
index 000000000..555aa1a5f
--- /dev/null
+++ b/ishtar_common/templates/ishtar/person_form.html
@@ -0,0 +1,113 @@
+{% load i18n %}{% load url from future %}
+<div id='person-form'>
+<form id='dyn-form-person' method='post'>
+{% csrf_token %}
+{% for hidden_field in form.hidden_fields %}{{hidden_field}}{% endfor %}
+<input type='hidden' name='hidden_person_pk' id='hidden_person_pk' value='{{object.pk}}'/>
+<input type='hidden' name='hidden_person_lbl' id='hidden_person_lbl' value="{{object}}"/>
+<table class='person'>
+<caption>{% trans "Identification" %}</caption>
+<tr>
+ <th><label>{{form.title.label}}</label></th>
+ <td>{{form.title}}</td>
+</tr>
+<tr>
+ <th><label>{{form.name.label}}</label></th>
+ <td>{{form.name}}</td>
+</tr>
+<tr>
+ <th><label>{{form.surname.label}}</label></th>
+ <td>{{form.surname}}</td>
+</tr>
+</table>
+<table class='person-address'>
+<caption>{% trans "Contact informations" %}</caption>
+<tr>
+ <th><label>{{form.address.label}}</label></th>
+ <td>{{form.address}}</td>
+</tr>
+<tr>
+ <th><label>{{form.address_complement.label}}</label></th>
+ <td>{{form.address_complement}}</td>
+</tr>
+<tr>
+ <th><label>{{form.postal_code.label}}</label></th>
+ <td>{{form.postal_code}}</td>
+</tr>
+<tr>
+ <th><label>{{form.town.label}}</label></th>
+ <td>{{form.town}}</td>
+</tr>
+</table>
+<div>
+<input type='submit' id='btn-modify-person' value="{% trans "Modify"%}"/>
+<input type='submit' id='btn-new-person' value="{% trans "New"%}"/>
+<input type='submit' id='btn-save-person' value="{% trans "Save"%}"/>
+<input type='submit' id='btn-cancel-person' value="{% trans "Cancel"%}"/>
+</div>
+</form>
+</div>
+<script type="text/javascript"><!--//
+$(function() {
+ // person_save_callback and person_new_callback must have been defined
+ disable_person = function(){
+ $("#person-form :input[type='text'], #person-form textarea, #person-form select").prop("disabled", true);
+ $("#btn-save-person").hide();
+ $("#btn-cancel-person").hide();
+ $("#btn-modify-person").show();
+ $("#btn-new-person").show();
+ $("#person-form").removeClass('selected');
+ }
+
+ enable_person = function(){
+ $("#person-form :input[type='text'], #person-form textarea, #person-form select").prop("disabled", false);
+ $("#btn-save-person").show();
+ $("#btn-cancel-person").show();
+ $("#btn-modify-person").hide();
+ $("#btn-new-person").hide();
+ $("#person-form").addClass('selected');
+ }
+
+ disable_person();
+
+ var submit_url;
+ $("#btn-modify-person").on('click', function(){
+ {% if object %}submit_url = "{% url 'person_edit' object.pk %}";
+ {% else %}submit_url = "{% url 'person_create' %}";{% endif %}
+ enable_person();
+ return false;
+ });
+ $("#btn-new-person").on('click', function(){
+ submit_url = "{% url 'person_create' %}";
+ $("#person-form").find("input[type=text], textarea").val("");
+ enable_person();
+ person_new_callback();
+ return false;
+ });
+ $("#btn-cancel-person").on('click', function(){
+ person_save_callback($('#hidden_person_pk').val(),
+ $('#hidden_person_lbl').val());
+ disable_person();
+ return false;
+ });
+ $("#btn-save-person").on('click', function(){
+ var form = $("#dyn-form-person");
+ $.ajax({
+ url: submit_url,
+ type: 'post',
+ data: form.serialize(),
+ dataType: 'html',
+ success: function(data) {
+ $("#person-form").parent().html(data);
+ person_save_callback($('#hidden_person_pk').val(),
+ $('#hidden_person_lbl').val());
+ disable_person();
+ return false;
+ }
+ });
+ return false;
+ });
+
+
+});
+//--></script>
diff --git a/ishtar_common/templates/ishtar/wizard/confirm_wizard.html b/ishtar_common/templates/ishtar/wizard/confirm_wizard.html
index 0dd1f6f12..15bb9e9bd 100644
--- a/ishtar_common/templates/ishtar/wizard/confirm_wizard.html
+++ b/ishtar_common/templates/ishtar/wizard/confirm_wizard.html
@@ -36,8 +36,10 @@
</table>
{% endif %}
{% block "extra_informations" %}{% endblock %}
+<div id='validation-bar' class='big'>
<p>{%if confirm_end_msg %}{{confirm_end_msg|safe}}{%else%}{% trans "Would you like to save them?" %}{%endif%}</p>
<input type="submit" value="{% trans "Validate" %}"/>
</div>
+</div>
</form>
{% endblock %}
diff --git a/ishtar_common/templates/ishtar/wizard/default_wizard.html b/ishtar_common/templates/ishtar/wizard/default_wizard.html
index 3f2f3943e..a39037d10 100644
--- a/ishtar_common/templates/ishtar/wizard/default_wizard.html
+++ b/ishtar_common/templates/ishtar/wizard/default_wizard.html
@@ -1,5 +1,6 @@
{% extends "base.html" %}
{% load i18n range table_form %}
+{% load url from future %}
{% block extra_head %}
{{form.media}}
{% endblock %}
@@ -40,10 +41,9 @@
{% endif %}
<input type="hidden" name="{{ step_field }}" value="{{ step0 }}" />
{{ previous_fields|safe }}
-<div id='validation-bar'>
- <input type="submit" id="submit_form" name='validate' value="{% trans "Validate" %}"/>
- {% if next_steps %}<input type="submit" id="submit_end_form" name='validate_and_end' value="{% trans "Validate and end" %}"/>{% endif %}
-</div>
+{% block "validation_bar" %}
+{% include 'ishtar/wizard/validation_bar.html' %}
+{% endblock %}
</div>
</form>
{% endblock %}
diff --git a/ishtar_common/templates/ishtar/wizard/parcels_wizard.html b/ishtar_common/templates/ishtar/wizard/parcels_wizard.html
index b550cf6c4..ce2bc9780 100644
--- a/ishtar_common/templates/ishtar/wizard/parcels_wizard.html
+++ b/ishtar_common/templates/ishtar/wizard/parcels_wizard.html
@@ -9,7 +9,6 @@
{{ wizard.form.media }}
{{ wizard.management_form }}
{{ wizard.form.management_form }}
-<div class='top_button'><input type="submit" id="submit_form" value="{% trans "Validate" %}"/></div>
{%if wizard.form.non_form_errors%}
<table class='formset'>
<tr class='error'><th colspan='2'>{{wizard.form.non_form_errors}}</th></tr>
@@ -24,8 +23,9 @@
<p><button name="formset_modify" value="{{wizard.steps.current}}">{% trans "Add/Modify" %}</button></p>
<input type="hidden" name="{{ step_field }}" value="{{ step0 }}" />
{{ previous_fields|safe }}
-<input type="submit" id="submit_form" name='validate' value="{% trans "Validate" %}"/>
-{% if next_steps %}<input type="submit" id="submit_end_form" name='validate_and_end' value="{% trans "Validate and end" %}"/>{% endif %}
+{% block "validation_bar" %}
+{% include 'ishtar/wizard/validation_bar.html' %}
+{% endblock %}
</div>
</form>
{% endblock %}
diff --git a/ishtar_common/templates/ishtar/wizard/towns_wizard.html b/ishtar_common/templates/ishtar/wizard/towns_wizard.html
index 8e0b3551f..4f9ff6c5f 100644
--- a/ishtar_common/templates/ishtar/wizard/towns_wizard.html
+++ b/ishtar_common/templates/ishtar/wizard/towns_wizard.html
@@ -9,7 +9,6 @@
<div class='form'>
{% if TOWNS %}
{% if wizard.form.forms %}
-<div class='top_button'><input type="submit" id="submit_form" value="{% trans "Validate" %}"/></div>
<table class='formset'>
{{ wizard.management_form }}
{%if wizard.form.non_form_errors%}<tr class='error'><th colspan='2'>{{wizard.form.non_form_errors}}</th></tr>{%endif%}
@@ -29,7 +28,9 @@
{% endif %}
<input type="hidden" name="{{ step_field }}" value="{{ step0 }}" />
{{ previous_fields|safe }}
-<input type="submit" id="submit_form" value="{% trans "Validate" %}"/>
+{% block "validation_bar" %}
+{% include 'ishtar/wizard/validation_bar.html' %}
+{% endblock %}
</div>
</form>
{% endblock %}
diff --git a/ishtar_common/templates/ishtar/wizard/validation_bar.html b/ishtar_common/templates/ishtar/wizard/validation_bar.html
new file mode 100644
index 000000000..09907af67
--- /dev/null
+++ b/ishtar_common/templates/ishtar/wizard/validation_bar.html
@@ -0,0 +1,7 @@
+{% load i18n %}
+{% load url from future %}
+<div id='validation-bar'>
+ <input type="submit" id="submit_form" name='validate' value="{% trans "Validate" %}"/>
+ {% if next_steps %}<input type="submit" id="submit_end_form" name='validate_and_end' value="{% trans "Validate and end" %}"/>{% endif %}
+ <a href='{% url 'reset_wizards' %}' id="reset_wizards" class='button'>{% trans "Cancel" %}</a>
+</div>