Pflichtenhefte: Zuweisung Artikel zu Abschnitten implementiert
[kivitendo-erp.git] / js / requirement_spec.js
index 3bfa69d..6491718 100644 (file)
@@ -206,9 +206,9 @@ ns.standard_item_ajax_call = function(key, opt, other_data) {
     current_content_id:   $('#current_content_id').val()
   };
 
-  console.log("I would normally POST the following now:");
-  console.log(data);
-  // $.post("controller.pl", $.extend(data, other_data || {}), kivi.eval_json_result);
+  // console.log("I would normally POST the following now:");
+  // console.log(data);
+  $.post("controller.pl", $.extend(data, other_data || {}), kivi.eval_json_result);
 
   return true;
 };
@@ -269,10 +269,32 @@ ns.item_popup_menu_hidden = function(opt) {
   return ns.handle_item_popup_menu_markings(opt, false);
 };
 
+// -------------------------------------------------------------------------
+// ------------------------------- templates -------------------------------
+// -------------------------------------------------------------------------
+
 ns.paste_template = function(key, opt, other_data) {
   open_jqm_window({ url: 'controller.pl?action=RequirementSpec/select_template_to_paste' });
 };
 
+ns.paste_selected_template = function(template_id) {
+  $('#jqm_popup_dialog').jqmClose();
+
+  var data = {
+    action:               "RequirementSpec/paste_template",
+    id:                   $('#requirement_spec_id').val(),
+    template_id:          template_id,
+    current_content_type: $('#current_content_type').val(),
+    current_content_id:   $('#current_content_id').val()
+  };
+
+  // console.log("I would normally POST the following now:");
+  // console.log(data);
+  $.post("controller.pl", data, kivi.eval_json_result);
+
+  return true;
+};
+
 // -------------------------------------------------------------------------
 // -------------------------- time/cost estimate ---------------------------
 // -------------------------------------------------------------------------
@@ -295,6 +317,48 @@ ns.standard_time_cost_estimate_ajax_call = function(key, opt) {
   return true;
 };
 
+// -------------------------------------------------------------------------
+// --------------------------- quotations/orders ---------------------------
+// -------------------------------------------------------------------------
+
+ns.find_quotation_order_id = function(clicked_elt) {
+  return $(clicked_elt).find('>[name=order_id]').val();
+};
+
+ns.standard_quotation_order_ajax_call = function(key, opt) {
+  if ((key == 'cancel') && !confirm(kivi.t8('Do you really want to cancel?')))
+    return true;
+
+  var data = 'action=RequirementSpecOrder/' + key
+           + '&' + $('#requirement_spec_id').serialize();
+
+  if (key == 'save_assignment')
+    data += '&' + $('#quotations_and_orders_article_assignment_form').serialize();
+  else
+    data += '&id=' + encodeURIComponent(ns.find_quotation_order_id(opt.$trigger));
+
+  // console.log("I would normally POST the following now:");
+  // console.log(data);
+  $.post("controller.pl", data, kivi.eval_json_result);
+
+  return true;
+};
+
+ns.disable_edit_quotation_order_commands = function(key, opt) {
+  return ns.find_quotation_order_id(opt.$trigger) == undefined;
+};
+
+ns.disable_create_quotation_order_commands = function(key, opt) {
+  return !$('#quotations_and_orders_sections');
+};
+
+ns.assign_order_part_id_to_all = function() {
+  var order_part_id = $('#quoations_and_orders_order_id').val();
+  $('#quotations_and_orders_article_assignment_form SELECT[name="sections[].order_part_id"]').each(function(idx, elt) {
+    $(elt).val(order_part_id);
+  });
+};
+
 // -------------------------------------------------------------------------
 // ---------------------------- general actions ----------------------------
 // -------------------------------------------------------------------------
@@ -398,15 +462,6 @@ ns.create_context_menus = function(is_template) {
       , paste_template:     { name: kivi.t8('Paste template'),     icon: "paste",  callback: kivi.requirement_spec.paste_template }
     };
 
-    $.contextMenu({
-      selector: '.edit-time-cost-estimate-context-menu',
-      items:    $.extend({
-          heading: { name: kivi.t8('Time/cost estimate actions'), className: 'context-menu-heading' }
-        , save:    { name: kivi.t8('Save'),   icon: "save",  callback: kivi.requirement_spec.standard_time_cost_estimate_ajax_call }
-        , cancel:  { name: kivi.t8('Cancel'), icon: "close", callback: kivi.requirement_spec.standard_time_cost_estimate_ajax_call }
-      }, general_actions)
-    });
-
     $.contextMenu({
       selector: '.versioned-copy-context-menu',
       items:    $.extend({
@@ -452,6 +507,37 @@ ns.create_context_menus = function(is_template) {
     }, general_actions)
   });
 
+  $.contextMenu({
+    selector: '.edit-time-cost-estimate-context-menu',
+    items:    $.extend({
+        heading: { name: kivi.t8('Time/cost estimate actions'), className: 'context-menu-heading' }
+      , save:    { name: kivi.t8('Save'),   icon: "save",  callback: kivi.requirement_spec.standard_time_cost_estimate_ajax_call }
+      , cancel:  { name: kivi.t8('Cancel'), icon: "close", callback: kivi.requirement_spec.standard_time_cost_estimate_ajax_call }
+    }, general_actions)
+  });
+
+  $.contextMenu({
+    selector: '.quotations-and-orders-context-menu,.quotations-and-orders-order-context-menu',
+    items:    $.extend({
+        heading:            { name: kivi.t8('Orders/Quotations actions'), className: 'context-menu-heading'                                                                                            }
+      , edit_assignment:    { name: kivi.t8('Edit article/section assignments'), icon: "edit",   callback: ns.standard_quotation_order_ajax_call                                                       }
+      , sep1:               "---------"
+      , new:                { name: kivi.t8('Create new qutoation/order'),       icon: "add",    callback: ns.standard_quotation_order_ajax_call, disabled: ns.disable_create_quotation_order_commands }
+      , update:             { name: kivi.t8('Update quotation/order'),           icon: "update", callback: ns.standard_quotation_order_ajax_call, disabled: ns.disable_edit_quotation_order_commands   }
+      , sep2:               "---------"
+      , delete:             { name: kivi.t8('Delete quotation/order'),           icon: "delete", callback: ns.ask_delete_quotation_order,         disabled: ns.disable_edit_quotation_order_commands   }
+    }, general_actions)
+  });
+
+  $.contextMenu({
+    selector: '.quotations-and-orders-edit-assignment-context-menu',
+    items:    $.extend({
+        heading:         { name: kivi.t8('Edit article/section assignments'), className: 'context-menu-heading'    }
+      , save_assignment: { name: kivi.t8('Save'),   icon: "edit",  callback: ns.standard_quotation_order_ajax_call }
+      , cancel:          { name: kivi.t8('Cancel'), icon: "close", callback: ns.standard_quotation_order_ajax_call }
+    }, general_actions)
+  });
+
   $.contextMenu({
     selector: '#content',
     items:    general_actions