summaryrefslogtreecommitdiff
path: root/ishtar_common/templates
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/templates')
-rw-r--r--ishtar_common/templates/blocks/JQueryPersonOrganization.js50
-rw-r--r--ishtar_common/templates/blocks/PersonOrganization.html9
-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
5 files changed, 333 insertions, 0 deletions
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/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..ccc442197
--- /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>{% trans "Corporation manager" %}</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>