Pflichtenheft-Grundeinstellungen erst read/only anzeigen, nicht direkt als Maske
[kivitendo-erp.git] / templates / webpages / requirement_spec / show.html
1 [%- USE JSON -%][%- USE HTML %][%- USE L %][%- USE LxERP %][%- USE P -%]
2
3 [%- INCLUDE 'common/flash.html' %]
4
5 [%- INCLUDE 'requirement_spec/_header.html' %]
6
7 [%- L.hidden_tag('requirement_spec_id', SELF.requirement_spec.id, 'data-is-template'=(SELF.requirement_spec.is_template ? 1 : 0)) -%]
8
9 <div class="tabwidget">
10  <ul>
11   <li><a href="#function-blocks-tab">[%- LxERP.t8("Content") %]</a></li>
12   <li><a href="controller.pl?action=RequirementSpec/ajax_show_basic_settings&id=[% HTML.url(SELF.requirement_spec.id) %]">[%- LxERP.t8("Basic settings") %]</a></li>
13   <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>
14   [%- UNLESS SELF.requirement_spec.is_template %]
15    <li><a href="controller.pl?action=RequirementSpecVersion/list&requirement_spec_id=[% HTML.url(SELF.requirement_spec.id) %]">[%- LxERP.t8("Versions") %]</a></li>
16    <li><a href="[% SELF.url_for(controller='RequirementSpecOrder', action='list', requirement_spec_id=SELF.requirement_spec.id) %]">[%- LxERP.t8("Quotations and orders") %]</a></li>
17   [%- END %]
18  </ul>
19
20  <div id="function-blocks-tab" class="section-context-menu">
21   [%- UNLESS SELF.requirement_spec.is_template %]
22    <div id="requirement_spec_version">
23     [%- INCLUDE 'requirement_spec/_version.html' requirement_spec=SELF.requirement_spec -%]
24    </div>
25   [%- END %]
26
27   <div id="column-container" class="clearfix">
28    <div id="tree-column">
29     <div id="tree"></div>
30    </div>
31
32    <div id="content-column" class="clearfix">
33     [% L.hidden_tag('current_content_type', SELF.requirement_spec_item.id ? 'section' : '') %]
34     [% L.hidden_tag('current_content_id',   SELF.requirement_spec_item.id) %]
35
36     <div id="column-content">
37      [%- IF SELF.requirement_spec_item -%]
38       [%- INCLUDE 'requirement_spec_item/_section.html' requirement_spec_item=SELF.requirement_spec_item -%]
39      [%- ELSE -%]
40       [%- INCLUDE 'requirement_spec_item/_no_section.html' -%]
41      [%- END -%]
42     </div>
43    </div>
44   </div>
45  </div>
46 </div>
47
48 <script type="text/javascript">
49  <!--
50 $(function() {
51   var tree_data = [
52     { data:     [% JSON.json(LxERP.t8("Text blocks front")) %],
53       metadata: { type: "text-blocks-front" },
54       attr:     { id: "tb-front", class: "text-block-context-menu" },
55       children: [
56 [% FOREACH tb = SELF.requirement_spec.text_blocks_sorted(output_position=0) %]
57  [% P.requirement_spec_text_block_jstree_data(tb).json %][% IF !loop.last %],[% END %]
58 [% END %]
59       ]},
60
61     { data:     [% JSON.json(LxERP.t8("Sections")) %],
62       metadata: { type: "sections" },
63       attr:     { id: "sections", class: "section-context-menu" },
64       children: [
65 [% FOREACH section = SELF.requirement_spec.sections %]
66  [% P.requirement_spec_item_jstree_data(section).json %][% IF !loop.last %],[% END %]
67 [% END %]
68       ]},
69
70     { data:     [% JSON.json(LxERP.t8("Text blocks back")) %],
71       metadata: { type: "text-blocks-back" },
72       attr:     { id: "tb-back", class: "text-block-context-menu" },
73       children: [
74 [% FOREACH tb = SELF.requirement_spec.text_blocks_sorted(output_position=1) %]
75  [% P.requirement_spec_text_block_jstree_data(tb).json %][% IF !loop.last %],[% END %]
76 [% END %]
77       ]}
78   ];
79
80   var initially_open = ['tb-front', 'tb-back', 'sections'
81 [%- FOREACH section = SELF.requirement_spec.sections -%]
82         , "fb-[% section.id %]"
83  [%- FOREACH function_block = section.children -%]
84         , "fb-[% function_block.id -%]"
85  [%- END -%]
86 [%- END -%]
87   ];
88
89   $('#tree').jstree({
90     core: {
91       animation: 0,
92       initially_open: initially_open,
93     },
94     json_data: {
95       data: tree_data
96     },
97     crrm: {
98       move: {
99         check_move: kivi.requirement_spec.tree_check_move,
100         open_move:  true
101       }
102     },
103     themes: {
104       theme: "requirement-spec"
105     },
106     plugins: [ "themes", "json_data", "ui", "crrm", "dnd" ]
107   })
108   .bind("move_node.jstree", kivi.requirement_spec.tree_node_moved)
109   .bind("click.jstree",     kivi.requirement_spec.tree_node_clicked);
110 [% IF SELF.requirement_spec_item %]
111   $.jstree._reference("#tree").select_node('#fb-[% SELF.requirement_spec_item.id %]', true);
112 [% END %]
113
114   kivi.requirement_spec.create_context_menus([% SELF.requirement_spec.is_template ? 'true' : 'false' %]);
115 });
116
117   -->
118 </script>