diff options
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),  | 
