285dcee155c0d37b1c69891047659b80b5294cdd
[kivitendo-erp.git] / templates / webpages / requirement_spec / show.html
1 [%- USE JSON -%][%- USE HTML %][%- USE L %][%- USE LxERP %][%- USE P -%][%- USE JavaScript -%]
2 [% SET sections = SELF.requirement_spec.sections_sorted || [] %]
3
4 [%- INCLUDE 'common/flash.html' %]
5
6 [%- INCLUDE 'requirement_spec/_header.html' %]
7
8 [%- L.hidden_tag('requirement_spec_id', SELF.requirement_spec.id, 'data-is-template'=(SELF.requirement_spec.is_template ? 1 : 0)) -%]
9
10 <div id="requirement_spec_tabs" class="tabwidget">
11  <ul>
12   <li id="tab-header-function-block"><a href="#function-blocks-tab">[%- LxERP.t8("Content") %]</a></li>
13   <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>
14   <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 cost estimate") %]</a></li>
15   <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>
16   [%- UNLESS SELF.requirement_spec.is_template %]
17    <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>
18    <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>
19   [%- END %]
20  </ul>
21
22  <div id="function-blocks-tab" class="section-context-menu">
23   [%- UNLESS SELF.requirement_spec.is_template %]
24    <div id="requirement_spec_version">
25     [%- INCLUDE 'requirement_spec/_version.html' requirement_spec=SELF.requirement_spec -%]
26    </div>
27   [%- END %]
28
29   <div id="column-container" class="clearfix">
30    <div id="tree-column">
31     <div id="tree"></div>
32    </div>
33
34    <div id="content-column" class="clearfix">
35     [% L.hidden_tag('current_content_type', SELF.requirement_spec_item.id ? 'section' : '') %]
36     [% L.hidden_tag('current_content_id',   SELF.requirement_spec_item.id) %]
37
38     <div id="column-content">
39      [%- IF SELF.requirement_spec_item -%]
40       [%- INCLUDE 'requirement_spec_item/_section.html' requirement_spec_item=SELF.requirement_spec_item -%]
41      [%- ELSE -%]
42       [%- INCLUDE 'requirement_spec_item/_no_section.html' -%]
43      [%- END -%]
44     </div>
45    </div>
46   </div>
47  </div>
48 </div>
49
50 <script type="text/javascript">
51  <!--
52 $(function() {
53   var tree_data = [
54     { data:     [% JSON.json(LxERP.t8("Text blocks front")) %],
55       metadata: { type: "text-blocks-front" },
56       attr:     { id: "tb-front", class: "text-block-context-menu" },
57       children: [
58 [% FOREACH tb = SELF.requirement_spec.text_blocks_sorted(output_position=0) %]
59  [% P.requirement_spec_text_block_jstree_data(tb).json %][% IF !loop.last %],[% END %]
60 [% END %]
61       ]},
62
63     { data:     [% JSON.json(LxERP.t8("Sections")) %],
64       metadata: { type: "sections" },
65       attr:     { id: "sections", class: "section-context-menu" },
66       children: [
67 [% FOREACH section = sections %]
68  [% P.requirement_spec_item_jstree_data(section).json %][% IF !loop.last %],[% END %]
69 [% END %]
70       ]},
71
72     { data:     [% JSON.json(LxERP.t8("Text blocks back")) %],
73       metadata: { type: "text-blocks-back" },
74       attr:     { id: "tb-back", class: "text-block-context-menu" },
75       children: [
76 [% FOREACH tb = SELF.requirement_spec.text_blocks_sorted(output_position=1) %]
77  [% P.requirement_spec_text_block_jstree_data(tb).json %][% IF !loop.last %],[% END %]
78 [% END %]
79       ]}
80   ];
81
82   var initially_open = ['tb-front', 'tb-back', 'sections'
83 [%- FOREACH section = sections -%]
84         , "fb-[% section.id %]"
85  [%- FOREACH function_block = section.children -%]
86         , "fb-[% function_block.id -%]"
87  [%- END -%]
88 [%- END -%]
89   ];
90
91   kivi.requirement_spec.initialize_requirement_spec({
92       initially_open:          initially_open
93     , tree_data:               tree_data
94     , is_template:             [% SELF.requirement_spec.is_template ? 'true' : 'false' %]
95     , html_template_exists:    [% SELF.html_template                ? 'true' : 'false' %]
96 [% IF SELF.requirement_spec_item %]
97     , initially_selected_node: '#fb-[% SELF.requirement_spec_item.id %]'
98 [% END %]
99     , time_based_units: {
100       [% FOREACH unit = SELF.time_based_units %]
101        [% UNLESS loop.first %], [% END %] "[% JavaScript.escape(unit.name) %]": true
102       [% END %]
103     }
104   });
105 });
106
107   -->
108 </script>