summaryrefslogtreecommitdiff
path: root/ishtar_common
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common')
-rw-r--r--ishtar_common/templates/blocks/JQueryAutocomplete.js21
-rw-r--r--ishtar_common/widgets.py17
2 files changed, 30 insertions, 8 deletions
diff --git a/ishtar_common/templates/blocks/JQueryAutocomplete.js b/ishtar_common/templates/blocks/JQueryAutocomplete.js
index 32351b312..7cd0e2a60 100644
--- a/ishtar_common/templates/blocks/JQueryAutocomplete.js
+++ b/ishtar_common/templates/blocks/JQueryAutocomplete.js
@@ -11,6 +11,7 @@ $(function() {
$('#id_{{field_id}}').change();
} else {
$('#id_{{field_id}}').val(null);
+ $('#id_{{field_id}}').change();
}
},
minLength: 2{% if options %},
@@ -21,6 +22,8 @@ $(function() {
$(document).on("click", '#id_select_{{field_id}}', function(){
$('#id_{{field_id}}').val(null);
$('#id_select_{{field_id}}').val(null);
+ $('#id_{{field_id}}-modify').addClass("disabled");
+ $('#id_{{field_id}}').change();
});
$(document).on("click", '#id_{{field_id}}_previous_button', function(){
@@ -45,15 +48,31 @@ $(function() {
$('#{{item_id}}').change();
{% endfor %}{% endif %}
+ {% if modify %}
+ {{safe_field_id}}_modify = function(){
+ var current_val = $('#id_{{field_id}}').val();
+ if (current_val){
+ dt_qa_open('/modify-{{model_name}}/' + current_val + "/",
+ 'modal-dynamic-form-{{model_name}}');
+ }
+ }
+ {% endif %}
$('#id_{{field_id}}').change(function(){
$("#id_select_{{field_id}}").attr('title', $('#id_select_{{field_id}}').val());
- {% if detail %}
var current_val = $('#id_{{field_id}}').val();
+ {% if modify %}
+ if (current_val){
+ $('#id_{{field_id}}-modify').removeClass("disabled");
+ }
+ {% endif %}
+ {% if detail %}
if (current_val){
var detail_url = "{{detail}}" + current_val + "/";
$.get(detail_url, function(data) {
$("#id_{{field_id}}-detail").html(data);
});
+ } else {
+ $("#id_{{field_id}}-detail").html("...");
}
{% endif %}
diff --git a/ishtar_common/widgets.py b/ishtar_common/widgets.py
index 904036deb..28bd9bdd9 100644
--- a/ishtar_common/widgets.py
+++ b/ishtar_common/widgets.py
@@ -653,7 +653,11 @@ class JQueryAutoComplete(forms.TextInput):
dct = {'source': mark_safe(source),
'field_id': field_id,
'safe_field_id': field_id.replace("-", "_"),
+ "modify": self.modify,
'dynamic_limit': dynamic_limit}
+ if self.associated_model:
+ model_name = self.associated_model._meta.object_name.lower()
+ dct["model_name"] = model_name
if self.detail:
model_name = self.associated_model._meta.object_name.lower()
url_detail = '/detail-{}/'.format(model_name)
@@ -727,16 +731,15 @@ class JQueryAutoComplete(forms.TextInput):
new += """<span class="input-group-append">
<span class="add-button input-group-text"><em>{}</em></span></span>
""".format(self.tips)
- if self.modify and len(values) == 1:
- url_modify = 'modify-' + model_name
- url_modify = reverse(url_modify, args=[attrs_select['id'],
- values[0]])
+ if self.modify:
new += """
<span class="input-group-append">
- <a href="#" class="modify-button input-group-text"
- onclick="dt_qa_open('{}', 'modal-dynamic-form-{}');">
+ <a href="#" id="{}-modify" class="modify-button input-group-text"
+ onclick="{}_modify();">
<i class="fa fa-pencil"></i></a>
- </span>""".format(url_modify, model_name, model_name)
+ </span>""".format(
+ attrs_hidden['id'],
+ name.replace("-", "_"))
if self.new:
limits = []
for k in self.limit: