Aufräumskript für Steuerschlüssel 18,19 - Prüfung auf Kontenrahmen
[kivitendo-erp.git] / templates / webpages / requirement_spec / show.html
index c4819fe..3cd23ef 100644 (file)
@@ -1,4 +1,5 @@
-[%- USE JSON -%][%- USE HTML %][%- USE L %][%- USE LxERP %][%- USE P -%]
+[%- USE JSON -%][%- USE HTML %][%- USE L %][%- USE LxERP %][%- USE P -%][%- USE JavaScript -%]
+[% SET sections = SELF.requirement_spec.sections_sorted || [] %]
 
 [%- INCLUDE 'common/flash.html' %]
 
@@ -6,17 +7,19 @@
 
 [%- L.hidden_tag('requirement_spec_id', SELF.requirement_spec.id, 'data-is-template'=(SELF.requirement_spec.is_template ? 1 : 0)) -%]
 
-<div class="tabwidget">
+<div id="requirement_spec_tabs" class="tabwidget">
  <ul>
-  <li><a href="#function-blocks-tab">[%- LxERP.t8("Content") %]</a></li>
-  <li><a href="controller.pl?action=RequirementSpec/ajax_edit&id=[% HTML.url(SELF.requirement_spec.id) %]">[%- LxERP.t8("Basic settings") %]</a></li>
+  <li id="tab-header-function-block"><a href="#function-blocks-tab">[%- LxERP.t8("Content") %]</a></li>
+  <li id="tab-header-basic-settings"><a href="controller.pl?action=RequirementSpec/ajax_show_basic_settings&id=[% HTML.url(SELF.requirement_spec.id) %]">[%- LxERP.t8("Basic settings") %]</a></li>
+  <li id="tab-header-time-cost-estimate"><a href="controller.pl?action=RequirementSpec/ajax_show_time_and_cost_estimate&id=[% HTML.url(SELF.requirement_spec.id) %]">[%- LxERP.t8("Time and price estimate") %]</a></li>
+  <li id="tab-header-additional-parts"><a href="controller.pl?action=RequirementSpecPart/show&requirement_spec_id=[% HTML.url(SELF.requirement_spec.id) %]">[%- LxERP.t8("Additional articles") %]</a></li>
   [%- UNLESS SELF.requirement_spec.is_template %]
-   <li><a href="controller.pl?action=RequirementSpec/ajax_show_time_and_cost_estimate&id=[% HTML.url(SELF.requirement_spec.id) %]">[%- LxERP.t8("Time and cost estimate") %]</a></li>
-   <li><a href="controller.pl?action=RequirementSpecVersion/list&requirement_spec_id=[% HTML.url(SELF.requirement_spec.id) %]">[%- LxERP.t8("Versions") %]</a></li>
+   <li id="tab-header-versions"><a href="controller.pl?action=RequirementSpecVersion/list&requirement_spec_id=[% HTML.url(SELF.requirement_spec.id) %]">[%- LxERP.t8("Versions") %]</a></li>
+   <li id="tab-header-quotations-orders"><a href="[% SELF.url_for(controller='RequirementSpecOrder', action='list', requirement_spec_id=SELF.requirement_spec.id) %]">[%- LxERP.t8("Quotations and orders") %]</a></li>
   [%- END %]
  </ul>
 
- <div id="function-blocks-tab">
+ <div id="function-blocks-tab" class="section-context-menu">
   [%- UNLESS SELF.requirement_spec.is_template %]
    <div id="requirement_spec_version">
     [%- INCLUDE 'requirement_spec/_version.html' requirement_spec=SELF.requirement_spec -%]
 <script type="text/javascript">
  <!--
 $(function() {
-  var initially_open = ['sections'
-[%- FOREACH section = SELF.requirement_spec.sections -%]
-        , "fb-[% section.id %]"
- [%- FOREACH function_block = section.children -%]
-        , "fb-[% function_block.id -%]"
- [%- END -%]
-[%- END -%]
-  ];
-
-  var tree_data = [{
-      data:     [% JSON.json(LxERP.t8("Sections")) %],
-      metadata: { type: "sections" },
-      attr:     { id: "sections", class: "section-context-menu" },
-      children: [
-[% FOREACH section = SELF.requirement_spec.sections %]
- [% P.requirement_spec_item_jstree_data(section).json %][% IF !loop.last %],[% END %]
-[% END %]
-      ]}];
-
-[% UNLESS SELF.requirement_spec.is_template %]
-  tree_data.unshift({
-      data:     [% JSON.json(LxERP.t8("Text blocks front")) %],
+  var tree_data = [
+    { data:     [% JSON.json(LxERP.t8("Text blocks front")) %],
       metadata: { type: "text-blocks-front" },
       attr:     { id: "tb-front", class: "text-block-context-menu" },
       children: [
 [% FOREACH tb = SELF.requirement_spec.text_blocks_sorted(output_position=0) %]
- [% P.requirement_spec_text_block_jstree_data(tb).json %][% IF !loop.last %],[% END %]
+ [% tb.presenter.jstree_data.json %][% IF !loop.last %],[% END %]
+[% END %]
+      ]},
+
+    { data:     [% JSON.json(LxERP.t8("Sections")) %],
+      metadata: { type: "sections" },
+      attr:     { id: "sections", class: "section-context-menu" },
+      children: [
+[% FOREACH section = sections %]
+ [% section.presenter.jstree_data.json %][% IF !loop.last %],[% END %]
 [% END %]
-      ]});
+      ]},
 
-  tree_data.push({
-      data:     [% JSON.json(LxERP.t8("Text blocks back")) %],
+    { data:     [% JSON.json(LxERP.t8("Text blocks back")) %],
       metadata: { type: "text-blocks-back" },
       attr:     { id: "tb-back", class: "text-block-context-menu" },
       children: [
 [% FOREACH tb = SELF.requirement_spec.text_blocks_sorted(output_position=1) %]
- [% P.requirement_spec_text_block_jstree_data(tb).json %][% IF !loop.last %],[% END %]
+ [% tb.presenter.jstree_data.json %][% IF !loop.last %],[% END %]
 [% END %]
-      ]});
+      ]}
+  ];
 
-  initially_open = initially_open.concat(['tb-front', 'tb-back']);
-[% END %]
+  var initially_open = ['tb-front', 'tb-back', 'sections'
+[%- FOREACH section = sections -%]
+        , "fb-[% section.id %]"
+ [%- FOREACH function_block = section.children -%]
+        , "fb-[% function_block.id -%]"
+ [%- END -%]
+[%- END -%]
+  ];
 
-  $('#tree').jstree({
-    core: {
-      animation: 0,
-      initially_open: initially_open,
-    },
-    json_data: {
-      data: tree_data
-    },
-    crrm: {
-      move: {
-        check_move: kivi.requirement_spec.tree_check_move,
-        open_move:  true
-      }
-    },
-    themes: {
-      theme: "requirement-spec"
-    },
-    plugins: [ "themes", "json_data", "ui", "crrm", "dnd" ]
-  })
-  .bind("move_node.jstree", kivi.requirement_spec.tree_node_moved)
-  .bind("click.jstree",     kivi.requirement_spec.tree_node_clicked);
+  kivi.requirement_spec.initialize_requirement_spec({
+      initially_open:          initially_open
+    , tree_data:               tree_data
+    , is_template:             [% SELF.requirement_spec.is_template ? 'true' : 'false' %]
+    , html_template_exists:    [% SELF.html_template                ? 'true' : 'false' %]
 [% IF SELF.requirement_spec_item %]
-  $.jstree._reference("#tree").select_node('#fb-[% SELF.requirement_spec_item.id %]', true);
+    , initially_selected_node: '#fb-[% SELF.requirement_spec_item.id %]'
 [% END %]
-
-  kivi.requirement_spec.create_context_menus([% SELF.requirement_spec.is_template ? 'true' : 'false' %]);
+    , time_based_units: {
+      [% FOREACH unit = SELF.time_based_units %]
+       [% UNLESS loop.first %], [% END %] "[% JavaScript.escape(unit.name) %]": true
+      [% END %]
+    }
+  });
 });
 
   -->