summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorÉtienne Loks <etienne.loks@proxience.com>2016-01-10 18:46:19 +0100
committerÉtienne Loks <etienne.loks@proxience.com>2016-01-10 18:46:19 +0100
commitfe3dcbc843e4a2c8a1bc36ad2a0efedd18b8f491 (patch)
treee6fb186a0c10b1d9c458ffca350a6d69c594cb75
parent9de20f503852855b5dda8723693c5d156232d16d (diff)
downloadIshtar-fe3dcbc843e4a2c8a1bc36ad2a0efedd18b8f491.tar.bz2
Ishtar-fe3dcbc843e4a2c8a1bc36ad2a0efedd18b8f491.zip
Fix land planning service form (refs #2999)
-rw-r--r--archaeological_files_pdl/forms.py3
-rw-r--r--archaeological_files_pdl/templates/ishtar/blocks/JQueryPersonOrga.js2
-rw-r--r--archaeological_files_pdl/templates/ishtar/wizard/wizard_generalcontractor.html24
-rw-r--r--archaeological_files_pdl/templates/ishtar/wizard/wizard_person_orga.html5
-rw-r--r--ishtar_common/templates/blocks/JQueryAutocomplete.js62
-rw-r--r--ishtar_common/templates/ishtar/organization_form.html3
-rw-r--r--ishtar_common/widgets.py2
7 files changed, 65 insertions, 36 deletions
diff --git a/archaeological_files_pdl/forms.py b/archaeological_files_pdl/forms.py
index 3ae35d065..1a260541f 100644
--- a/archaeological_files_pdl/forms.py
+++ b/archaeological_files_pdl/forms.py
@@ -271,7 +271,7 @@ class FileFormGeneralContractor(PersonOrgaForm):
current_status = ''
if 'data' in kwargs:
# the order is important: PERSON can have an ORGA
- for field in [self.ORGA_FIELD, self.PERSON_FIELD]:
+ for field in [self.PERSON_FIELD, self.ORGA_FIELD]:
current_item_key = (
(kwargs['prefix'] + '-')
if kwargs.get('prefix') else '') + field
@@ -331,6 +331,7 @@ class FileFormGeneralContractor(PersonOrgaForm):
js_template='ishtar/blocks/JQueryNaturalPerson.js',
new=True),
validators=[valid_id(Person)])
+ self.fields.pop(self.ORGA_FIELD)
"""
else:
self.fields[self.ORGA_FIELD] = forms.IntegerField(
diff --git a/archaeological_files_pdl/templates/ishtar/blocks/JQueryPersonOrga.js b/archaeological_files_pdl/templates/ishtar/blocks/JQueryPersonOrga.js
index 4a3943d3c..1877e4579 100644
--- a/archaeological_files_pdl/templates/ishtar/blocks/JQueryPersonOrga.js
+++ b/archaeological_files_pdl/templates/ishtar/blocks/JQueryPersonOrga.js
@@ -43,7 +43,7 @@ $(function() {
} else {
$('#id_{{field_id}}').val(null);
}
- $.get(url , function( data ) {
+ $.get(url, function( data ) {
$( "#div-{{field_id}}" ).html( data );
});
},
diff --git a/archaeological_files_pdl/templates/ishtar/wizard/wizard_generalcontractor.html b/archaeological_files_pdl/templates/ishtar/wizard/wizard_generalcontractor.html
index 4fca7aa5e..169b2757e 100644
--- a/archaeological_files_pdl/templates/ishtar/wizard/wizard_generalcontractor.html
+++ b/archaeological_files_pdl/templates/ishtar/wizard/wizard_generalcontractor.html
@@ -1,4 +1,5 @@
{% extends "ishtar/wizard/wizard_person_orga.html" %}
+{% load replace_underscore %}
{% block corporation %}
<tr class='required'>
@@ -13,3 +14,26 @@
<td> {{ wizard.form.general_contractor.errors }}{{wizard.form.general_contractor|safe}}</td>
</tr>
{% endblock %}
+{% block extra_head_po %}
+<script type='text/javascript'>
+$(function() {
+var corp_id = '#id_{{wizard.form.prefix}}-corporation_general_contractor';
+var pers_id = "#id_select_{{wizard.form.prefix}}-general_contractor" ;
+var pers_select_id = "#id_select_{{wizard.form.prefix}}-general_contractor" ;
+$(corp_id).change(
+ function(){
+ $(pers_select_id).autocomplete(
+ "option", "source",
+ source_{{wizard.form.prefix|replace_underscore}}_general_contractor
+ + $(corp_id).val() + '/');
+ $(pers_select_id).val("");
+ $(pers_id).val("");
+ if ($(corp_id).val()){
+ $(pers_select_id).prop("disabled", false);
+ } else {
+ $(pers_select_id).prop("disabled", true);
+ }
+});
+});
+</script>
+{% endblock %}
diff --git a/archaeological_files_pdl/templates/ishtar/wizard/wizard_person_orga.html b/archaeological_files_pdl/templates/ishtar/wizard/wizard_person_orga.html
index d69e1e0d3..d520c1ec8 100644
--- a/archaeological_files_pdl/templates/ishtar/wizard/wizard_person_orga.html
+++ b/archaeological_files_pdl/templates/ishtar/wizard/wizard_person_orga.html
@@ -6,9 +6,11 @@ function update_form(){
if ($('input[name="person_type"]:radio:checked').val() == 'corporation'){
$('#natural_div').hide();
$('#corporation_div').show();
+ $('#orga-form').show();
} else {
$('#natural_div').show();
$('#corporation_div').hide();
+ $('#orga-form').hide();
}
}
$(function() {
@@ -40,7 +42,6 @@ $(function() {
{% block corporation %}
{% endblock %}
</table>
-
<div id='natural_div'>
<table>
{% if wizard.form.non_field_errors %}<tr class='errors'>
@@ -56,6 +57,8 @@ $(function() {
{% block otherfields %}
{% endblock %}
</div>
+{% block extra_head_po %}
+{% endblock %}
<input type="hidden" name="{{ step_field }}" value="{{ step0 }}" />
{{ previous_fields|safe }}
diff --git a/ishtar_common/templates/blocks/JQueryAutocomplete.js b/ishtar_common/templates/blocks/JQueryAutocomplete.js
index 8616ff928..16ffef3a0 100644
--- a/ishtar_common/templates/blocks/JQueryAutocomplete.js
+++ b/ishtar_common/templates/blocks/JQueryAutocomplete.js
@@ -2,37 +2,39 @@
var base_source_{{field_id|replace_underscore}} = {{source}};
var source_{{field_id|replace_underscore}} = base_source_{{field_id|replace_underscore}};
-$("#id_select_{{field_id}}").autocomplete({
- source: source_{{field_id|replace_underscore}},
- select: function( event, ui ) {
- if(ui.item){
- $('#id_{{field_id}}').val(ui.item.id);
- $('#id_{{field_id}}').change();
- } else {
- $('#id_{{field_id}}').val(null);
- }
- },
- minLength: 2{% if options %},
- {{options}}
- {% endif %}
-});
+$(function() {
+ $("#id_select_{{field_id}}").autocomplete({
+ source: source_{{field_id|replace_underscore}},
+ select: function( event, ui ) {
+ if(ui.item){
+ $('#id_{{field_id}}').val(ui.item.id);
+ $('#id_{{field_id}}').change();
+ } else {
+ $('#id_{{field_id}}').val(null);
+ }
+ },
+ minLength: 2{% if options %},
+ {{options}}
+ {% endif %}
+ });
-$(document).on("click", '#id_select_{{field_id}}', function(){
- $('#id_{{field_id}}').val(null);
- $('#id_select_{{field_id}}').val(null);
-});
+ $(document).on("click", '#id_select_{{field_id}}', function(){
+ $('#id_{{field_id}}').val(null);
+ $('#id_select_{{field_id}}').val(null);
+ });
-{% if dynamic_limit %}{% for item_id in dynamic_limit %}
-$('#{{item_id}}').change(function(){
- $("#id_select_{{field_id}}").autocomplete( "option", "source",
- base_source_{{field_id|replace_underscore}} + $('#{{item_id}}').val()
- + '/');
- if ($('#{{item_id}}').val()){
- $("#id_select_{{field_id}}").prop("disabled", false);
- } else {
- $("#id_select_{{field_id}}").prop("disabled", true);
- }
+ {% if dynamic_limit %}{% for item_id in dynamic_limit %}
+ $('#{{item_id}}').change(function(){
+ $("#id_select_{{field_id}}").autocomplete( "option", "source",
+ base_source_{{field_id|replace_underscore}} + $('#{{item_id}}').val()
+ + '/');
+ if ($('#{{item_id}}').val()){
+ $("#id_select_{{field_id}}").prop("disabled", false);
+ } else {
+ $("#id_select_{{field_id}}").prop("disabled", true);
+ }
+ });
+ $('#{{item_id}}').change();
+ {% endfor %}{% endif %}
});
-$('#{{item_id}}').change();
-{% endfor %}{% endif %}
diff --git a/ishtar_common/templates/ishtar/organization_form.html b/ishtar_common/templates/ishtar/organization_form.html
index 28415ab88..21d5ffa9e 100644
--- a/ishtar_common/templates/ishtar/organization_form.html
+++ b/ishtar_common/templates/ishtar/organization_form.html
@@ -48,14 +48,13 @@ function checkPendingRequest(todo) {
if ($.active > 0) {
window.setTimeout(checkPendingRequest(todo), 250);
} else {
- todo();
+ todo();
}
}, 250);
};
person_save_callback = function(){
var item_id = $('#hidden_organization_pk').val();
-
var url = edit_url;
$('#id_' + parent_id).val(null);
if (item_id){
diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py
index 2aa9b12f6..dc6324b79 100644
--- a/ishtar_common/widgets.py
+++ b/ishtar_common/widgets.py
@@ -292,7 +292,7 @@ class JQueryAutoComplete(forms.TextInput):
html = u'''<input%(attrs_select)s/>%(new)s\
<input type="hidden"%(attrs_hidden)s/>\
<script type="text/javascript"><!--//
- $(function() {%(js)s});//--></script>
+ %(js)s//--></script>
''' % {
'attrs_select': flatatt(attrs_select),
'attrs_hidden': flatatt(attrs_hidden),