diff options
Diffstat (limited to 'ishtar_common/static/js')
| -rw-r--r-- | ishtar_common/static/js/ishtar.js | 74 | 
1 files changed, 57 insertions, 17 deletions
| diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index 66087b1ff..2ec398e99 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -688,16 +688,48 @@ function open_window(url){  function save_and_close_window(name_label, name_pk, item_name, item_pk){      var main_page = opener.document; -    jQuery(main_page).find("#"+name_label).val(item_name); -    jQuery(main_page).find("#"+name_pk).val(item_pk); +    save_and_close_window_data(main_page, name_label, +                               name_pk, item_name, item_pk);      opener.focus();      self.close();  } +function save_and_close_window_data(main_page, name_label, +                                    name_pk, item_name, item_pk){ +    var cur_item; +    var cur_item_pk; +    if (main_page){ +        cur_item = $(main_page).find("#"+name_label); +        cur_item_pk = $(main_page).find("#"+name_pk); +    } else { +        cur_item = $("#"+name_label); +        cur_item_pk = $("#"+name_pk); +    } +    cur_item.val(item_name); +    cur_item_pk.val(item_pk); +} +  function save_and_close_window_many(name_label, name_pk, item_name, item_pk){      var main_page = opener.document; -    var lbl_ = jQuery(main_page).find("#" + name_label); -    var val_ = jQuery(main_page).find("#" + name_pk); +    save_and_close_window_many_data(main_page, name_label, +                                    name_pk, item_name, item_pk); +    opener.focus(); +    self.close(); +} + +function save_and_close_window_many_data(main_page, name_label, +                                         name_pk, item_name, item_pk){ +    var cur_item; +    var cur_item_pk; +    if (main_page){ +        cur_item = $(main_page).find("#"+name_label); +        cur_item_pk = $(main_page).find("#"+name_pk); +    } else { +        cur_item = $("#"+name_label); +        cur_item_pk = $("#"+name_pk); +    } +    var lbl_ = cur_item; +    var val_ = cur_item_pk;      if (val_.val()){          var v = lbl_.val();          v = v.slice(0, v.lastIndexOf(",")); @@ -705,11 +737,9 @@ function save_and_close_window_many(name_label, name_pk, item_name, item_pk){          val_.val(val_.val() + ", " + item_pk);          lbl_.change();      } else { -        jQuery(main_page).find("#" + name_label).val(item_name); -        jQuery(main_page).find("#" + name_pk).val(item_pk); +        cur_item.val(item_name); +        cur_item_pk.val(item_pk);      } -    opener.focus(); -    self.close();  }  function multiRemoveItem(selItems, name, idx){ @@ -986,7 +1016,8 @@ var dt_generate_qa_url = function (table, url){      return url;  }; -var dt_qa_open = function (url){ +var dt_qa_open = function (url, modal_id){ +	if (!modal_id) modal_id = "modal-dynamic-form";      short_wait();      $.ajax({          url: url, @@ -994,14 +1025,14 @@ var dt_qa_open = function (url){          success: function(data, textStatus, jqXHR) {              close_wait();              var text = jqXHR.responseText; -            $('#modal-dynamic-form').html(text); +            $('#' + modal_id).html(text);              var response = $(text);              var responseScript = response.find("script");              $.each(responseScript, function(idx, val){                      eval(val.text);                  }              ); -            $('#modal-dynamic-form').modal("show"); +            $('#' + modal_id).modal("show");          },          error: function() {              close_wait(); @@ -1032,16 +1063,25 @@ var ajax_post = function(url, data, target, callback, error_callback){      });  }; -var qa_action_register = function(url) { -    $('#qa-action').on('submit', function(event){ +var qa_action_register = function(url, slug) { +    var qa_id; +    var modal_id; +    if (!slug){ +        qa_id = "qa-action"; +        modal_id = "modal-dynamic-form"; +    } else { +        qa_id = "qa-new-" + slug; +        modal_id = "modal-dynamic-form-" + slug; +    } +    $("#" + qa_id).on('submit', function(event){          event.preventDefault();          var fn = function(){ -                $('#modal-dynamic-form').modal("show"); -            } ; -        $('#modal-dynamic-form').modal("hide"); +            $('#' + modal_id).modal("show"); +        } ; +        $('#' + modal_id).modal("hide");          short_wait();          ajax_post( -            url, $(this).serialize(), "#modal-dynamic-form", fn, fn +            url, $(this).serialize(), "#" + modal_id, fn, fn          );      });  }; | 
