diff options
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 |
commit | fe3dcbc843e4a2c8a1bc36ad2a0efedd18b8f491 (patch) | |
tree | e6fb186a0c10b1d9c458ffca350a6d69c594cb75 | |
parent | 9de20f503852855b5dda8723693c5d156232d16d (diff) | |
download | Ishtar-fe3dcbc843e4a2c8a1bc36ad2a0efedd18b8f491.tar.bz2 Ishtar-fe3dcbc843e4a2c8a1bc36ad2a0efedd18b8f491.zip |
Fix land planning service form (refs #2999)
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), |