Revision 13011246
Von Hans Peter Schlaepfer vor mehr als 5 Jahren hinzugefügt
templates/webpages/requirement_spec_item/_function_block.html | ||
---|---|---|
[%- USE HTML -%][%- USE LxERP -%][%- USE P -%][%- USE L -%]
|
||
[%- USE HTML -%]
|
||
[%- USE LxERP -%]
|
||
[%- USE P -%]
|
||
[%- USE L -%]
|
||
<div id="function-block-[% requirement_spec_item.id %]" class="function-block[%- IF requirement_spec_item.is_flagged -%] flagged[%- END -%]">
|
||
|
||
<div id="function-block-content-[%- requirement_spec_item.id -%]" class="function-block-content function-block-context-menu">
|
||
|
||
[% INCLUDE 'requirement_spec_item/_function_block_content_top.html' id_prefix='' %]
|
||
[% INCLUDE 'requirement_spec_item/_function_block_content_bottom.html' id_prefix='' %]
|
||
|
||
|
||
<div class="sub-function-block-container" id="sub-function-block-container-[%- requirement_spec_item.id -%]"[%- IF !requirement_spec_item.children.size -%] style="display: none"[%- END -%]>
|
||
<div class="sub-function-block-header" id="sub-function-block_header_[%- requirement_spec_item.id -%]">
|
||
[%- LxERP.t8("Sub function blocks") -%]
|
||
</div>
|
||
[%- FOREACH sub_function_block = requirement_spec_item.children_sorted -%]
|
||
[%- INCLUDE 'requirement_spec_item/_sub_function_block.html' requirement_spec_item=sub_function_block -%]
|
||
[%- END -%]
|
||
</div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<div class="sub-function-block-container" id="sub-function-block-container-[%- requirement_spec_item.id -%]"[%- IF !requirement_spec_item.children.size -%] style="display: none"[%- END -%]>
|
||
<div class="sub-function-block-header" id="sub-function-block_header_[%- requirement_spec_item.id -%]">
|
||
[%- LxERP.t8("Sub function blocks") -%]
|
||
</div>
|
||
[%- FOREACH sub_function_block = requirement_spec_item.children_sorted -%]
|
||
[%- INCLUDE 'requirement_spec_item/_sub_function_block.html' requirement_spec_item=sub_function_block -%]
|
||
[%- END -%]
|
||
</div>
|
||
|
||
[% INCLUDE 'requirement_spec_item/_function_block_content_bottom.html' id_prefix='' %]
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</div>
|
||
</div>
|
templates/webpages/requirement_spec_item/_function_block_content_bottom.html | ||
---|---|---|
[%- USE LxERP -%][%- USE P -%]<div id="[% id_prefix %]function-block-content-bottom-[% requirement_spec_item.id %]" class="smaller" style="text-align:right">
|
||
[%- IF requirement_spec_item.dependencies.size -%]
|
||
<span class="gray">
|
||
[%- LxERP.t8("Dependencies") -%]: [%- requirement_spec_item.presenter.requirement_spec_item_dependency_list -%]
|
||
</span><br>
|
||
[%- END -%]
|
||
<span class="gray">
|
||
[%- LxERP.t8("Complexity") -%]: [%- requirement_spec_item.complexity.description -%]
|
||
|
|
||
[%- LxERP.t8("Risk") -%]: [%- requirement_spec_item.risk.description -%]
|
||
|
|
||
[%- LxERP.t8("Time estimate") -%]: [% P.format_man_days(requirement_spec_item.time_estimation, skip_zero=1) %]
|
||
</span>
|
||
[% USE LxERP %]
|
||
[% USE P %]
|
||
<!-- PENDENT: ggf. DIV-Tabelle anwenden -->
|
||
<div id="[% id_prefix %]function-block-content-bottom-[% requirement_spec_item.id %]" class="function-block-properties list">
|
||
|
||
[% IF requirement_spec_item.dependencies.size %]
|
||
<div>
|
||
<span class="label">[% LxERP.t8("Dependencies") %]:</span>
|
||
<span class="value">[% requirement_spec_item.presenter.requirement_spec_item_dependency_list %]</span>
|
||
</div>
|
||
[% END %]
|
||
|
||
<div>
|
||
<span class="label">[% LxERP.t8("Complexity") %]:</span>
|
||
<span class="value">[% requirement_spec_item.complexity.description %]</span>
|
||
</div>
|
||
|
||
<div>
|
||
<span class="label">[% LxERP.t8("Risk") %]:</span>
|
||
<span class="value">[% requirement_spec_item.risk.description %]</span>
|
||
</div>
|
||
|
||
<div>
|
||
<span class="label">[% LxERP.t8("Time estimate") %]:</span>
|
||
<span class="value">[% P.format_man_days(requirement_spec_item.time_estimation, skip_zero=1) %]</span>
|
||
</div>
|
||
|
||
</div><!-- /.function-block-properties -->
|
templates/webpages/requirement_spec_item/_function_block_content_top.html | ||
---|---|---|
[%- USE HTML -%][%- USE L -%]<div id="[% id_prefix %]function-block-content-top-[% requirement_spec_item.id %]">
|
||
<div class="function-block-number">[%- HTML.escape(requirement_spec_item.fb_number) -%]</div>
|
||
[%- requirement_spec_item.description_as_restricted_html -%]
|
||
[% USE HTML %]
|
||
[% USE L %]
|
||
<div id="[% id_prefix %]function-block-content-top-[% requirement_spec_item.id %]" class="function-block-header">
|
||
<div class="function-block-number">[% HTML.escape(requirement_spec_item.fb_number) %]</div>
|
||
<div class="function-block-desc">[% requirement_spec_item.description_as_restricted_html %]</div>
|
||
</div>
|
templates/webpages/requirement_spec_item/_function_block_form.html | ||
---|---|---|
[%- USE LxERP -%][%- USE L -%][%- USE HTML -%][%- USE JavaScript -%][%- USE P -%][% SET style="width: 500px" %]
|
||
[% USE LxERP %]
|
||
[% USE L %]
|
||
[% USE HTML %]
|
||
[% USE JavaScript %]
|
||
[% USE P %][% SET style="width: 500px" %]
|
||
|
||
[% DEFAULT id_base = 'edit_function_block_' _ SELF.item.id %]
|
||
[%- SET a_options = '' %]
|
||
[%- IF SELF.item.id %]
|
||
[%- SET a_options = "to_show: '#" _ SELF.item.item_type _ "-content-top-" _ SELF.item.id _ "'" %]
|
||
[%- END %]
|
||
[%- IF SELF.item.item_type == 'sub-function-block' %]
|
||
[%- SET a_options = a_options ? a_options _ ', ' : a_options %]
|
||
[%- SET a_options = a_options _ "to_hide_if_empty: '#sub-function-block-container-" _ SELF.item.parent_id _ "'" %]
|
||
[%- END %]
|
||
[% SET a_options = '' %]
|
||
[% IF SELF.item.id %]
|
||
[% SET a_options = "to_show: '#" _ SELF.item.item_type _ "-content-top-" _ SELF.item.id _ "'" %]
|
||
[% END %]
|
||
[% IF SELF.item.item_type == 'sub-function-block' %]
|
||
[% SET a_options = a_options ? a_options _ ', ' : a_options %]
|
||
[% SET a_options = a_options _ "to_hide_if_empty: '#sub-function-block-container-" _ SELF.item.parent_id _ "'" %]
|
||
[% END %]
|
||
<form method="post" id="[% id_base %]_form" class="function-block-form">
|
||
[% L.hidden_tag('form_prefix', id_base, id=id_base _ '_form_prefix') %]
|
||
[% L.hidden_tag('id', SELF.item.id, id=id_base _ '_id') %]
|
||
... | ... | |
[% L.hidden_tag(id_base _ '.insert_after', insert_after) %]
|
||
[% END %]
|
||
|
||
<div>
|
||
<div style="width: 58%; float: left">
|
||
<div>
|
||
[%- IF SELF.item.id -%]
|
||
[% LxERP.t8("Description of #1", SELF.item.fb_number) %]
|
||
[%- ELSIF SELF.item.item_type == 'function-block' -%]
|
||
[%- LxERP.t8("Add function block") %]
|
||
[%- ELSE -%]
|
||
[%- LxERP.t8("Add sub function block") %]
|
||
[%- END -%]:<br>
|
||
[% L.textarea_tag(id_base _ '.description_as_restricted_html', SELF.item.description_as_restricted_html, id=id_base _ '_description', rows=8, style="width: 100%", class='texteditor') %]
|
||
</div>
|
||
<div class="rs-form">
|
||
<table class="tbl-horizontal" class="wi-verywide">
|
||
<colgroup> <col class="wi-small"><col class="wi-verywide"> </colgroup>
|
||
<caption>
|
||
[% IF SELF.item.id %]
|
||
[% LxERP.t8("Description of #1", SELF.item.fb_number) %]
|
||
[% ELSIF SELF.item.item_type == 'function-block' %]
|
||
[% LxERP.t8("Add function block") %]
|
||
[% ELSE %]
|
||
[% LxERP.t8("Add sub function block") %]
|
||
[% END %]
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th class="wi-small-verywide" colspan="2">[% L.textarea_tag(id_base _ '.description_as_restricted_html', SELF.item.description_as_restricted_html, id=id_base _ '_description', rows=8, cols=20, class='wi-wide', class='texteditor') %]</th>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8("Complexity") %]</th>
|
||
<td>[% L.select_tag(id_base _ '.complexity_id', SELF.complexities, title_key='description', default=SELF.item.complexity_id, class='wi-wide') %]</td>
|
||
</tr>
|
||
<tr>
|
||
<th>[% LxERP.t8("Risk") %]</th>
|
||
<td>[% L.select_tag(id_base _ '.risk_id', SELF.risks, title_key='description', default=SELF.item.risk_id, class='wi-wide') %]</td>
|
||
</tr>
|
||
[% IF !SELF.item.children.size %]
|
||
<tr>
|
||
<th>[% LxERP.t8("Time estimate") %]</th>
|
||
<td>[% P.man_days_tag(id_base _ '.time_estimation', SELF.item, class='wi-verysmall') %]</td>
|
||
</tr>
|
||
[% END %]
|
||
<tr>
|
||
<th>[% LxERP.t8("Dependencies") %]</th>
|
||
<td>[% L.select_tag(id_base _ '.dependencies[]', DEPENDENCIES, default=SELECTED_DEPENDENCIES, with_optgroups=1, multiple=1, size=8 class='wi-wide') %]</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<div style="margin-top: 10px">
|
||
<div class="buttons">
|
||
[% L.ajax_submit_tag('controller.pl?action=RequirementSpecItem/ajax_' _ (SELF.item.id ? 'update' : 'create'), '#' _ id_base _ '_form', LxERP.t8('Save'), id=id_base _ '_submit') %]
|
||
<a href="#" onclick="kivi.requirement_spec.cancel_edit_item_form('[% id_base %]', { [% a_options %] })">[%- LxERP.t8("Cancel") %]</a>
|
||
</div>
|
||
</div>
|
||
|
||
<div style="width: 19%; float: left; margin-left: 20px">
|
||
[%- LxERP.t8("Complexity") %]:<br>
|
||
[%- L.select_tag(id_base _ '.complexity_id', SELF.complexities, title_key='description', default=SELF.item.complexity_id, style="width: 100%") %]<br>
|
||
|
||
[%- LxERP.t8("Risk") %]:<br>
|
||
[%- L.select_tag(id_base _ '.risk_id', SELF.risks, title_key='description', default=SELF.item.risk_id, style="width: 100%") %]<br>
|
||
|
||
[%- IF !SELF.item.children.size %]
|
||
[%- LxERP.t8("Time estimate") %]:<br>
|
||
[%- P.man_days_tag(id_base _ '.time_estimation', SELF.item) %]
|
||
[%- END %]
|
||
</div>
|
||
|
||
<div style="width: 19%; float: left; margin-left: 10px">
|
||
[%- LxERP.t8("Dependencies") %]:<br>
|
||
[%- L.select_tag(id_base _ '.dependencies[]', DEPENDENCIES, default=SELECTED_DEPENDENCIES, with_optgroups=1, multiple=1, size=8, style="width: 100%") %]
|
||
</div>
|
||
|
||
<div style="clear: both"></div>
|
||
</div>
|
||
<a href="#" onclick="kivi.requirement_spec.cancel_edit_item_form('[% id_base %]', { [% a_options %] })" class="button neutral">[% LxERP.t8("Cancel") %]</a>
|
||
</div>
|
||
</div><!-- /.wrapper.rs-fb-form -->
|
||
|
||
<p>
|
||
</p>
|
||
</form>
|
templates/webpages/requirement_spec_item/_no_section.html | ||
---|---|---|
[%- USE LxERP -%]
|
||
<div class="section-context-menu">
|
||
<h1>[%- LxERP.t8("No sections created yet") %]</h1>
|
||
<h2>[%- LxERP.t8("No sections created yet") %]</h2>
|
||
|
||
<p>
|
||
[%- LxERP.t8("No sections have been created so far.") %]
|
||
[%- LxERP.t8("No sections have been created so far.") %]<br>
|
||
[% LxERP.t8("Create one from the context menu by right-clicking on this text.") %]
|
||
</p>
|
||
</div>
|
templates/webpages/requirement_spec_item/_section.html | ||
---|---|---|
[%- USE HTML -%][%- USE LxERP -%][%- USE L -%]
|
||
<div id="section-[% requirement_spec_item.id %]" class="section[%- IF requirement_spec_item.is_flagged -%]flagged[%- END -%]">
|
||
<div class="section-context-menu" id="section-header-[% requirement_spec_item.id %]">
|
||
<div class="section-header section-context-menu" id="section-header-[% requirement_spec_item.id %]">
|
||
[%- INCLUDE 'requirement_spec_item/_section_header.html' %]
|
||
</div>
|
||
|
templates/webpages/requirement_spec_item/_section_form.html | ||
---|---|---|
[%- DEFAULT id_base="edit_section" %]
|
||
[%- SET style="width: 500px" %]
|
||
<form id="[% id_base %]_form">
|
||
[%- IF SELF.item.id %]
|
||
[%- SET hidden = '#section-header-' _ SELF.item.id %]
|
||
<h1>[%- LxERP.t8("Edit section #1", SELF.item.fb_number) %]</h1>
|
||
|
||
[%- ELSE %]
|
||
[%- SET hidden = '#column-content > *' %]
|
||
<h1>[%- LxERP.t8("Add section") %]</h1>
|
||
|
||
[%- END %]
|
||
|
||
[% L.hidden_tag('form_prefix', id_base id=id_base _ '_form_prefix') %]
|
||
[% L.hidden_tag('id', SELF.item.id, id=id_base _ '_id') %]
|
||
... | ... | |
[% L.hidden_tag(id_base _ '.insert_after', insert_after) %]
|
||
[% END %]
|
||
|
||
<p>
|
||
[%- LxERP.t8("Title") %]:<br>
|
||
[% L.input_tag(id_base _ '.title', SELF.item.title, style=style) %]
|
||
</p>
|
||
<table class="tbl-horizontal">
|
||
[%- IF SELF.item.id %]
|
||
[%- SET hidden = '#section-header-' _ SELF.item.id %]
|
||
<caption>[%- LxERP.t8("Edit section #1", SELF.item.fb_number) %]</caption>
|
||
[%- ELSE %]
|
||
[%- SET hidden = '#column-content > *' %]
|
||
<caption>[%- LxERP.t8("Add section") %]</caption>
|
||
[%- END %]
|
||
<tbody>
|
||
<tr>
|
||
<th>[%- LxERP.t8("Title") %]:</th>
|
||
<td>[% L.input_tag(id_base _ '.title', SELF.item.title, style=style) %]</td>
|
||
</tr>
|
||
|
||
[%- IF SELF.predefined_texts.size %]
|
||
<p>
|
||
[%- LxERP.t8("Pre-defined Texts") %]:<br>
|
||
[%- L.select_tag(id_base _ '_predefined_text_block', SELF.predefined_texts, title_key='description', style=style) %]
|
||
<a href="#" onclick="insert_selected_predefined_text()">[%- LxERP.t8("Insert") %]</a>
|
||
</p>
|
||
<tr>
|
||
<th>[%- LxERP.t8("Pre-defined Texts") %]:</th>
|
||
<td>[%- L.select_tag(id_base _ '_predefined_text_block', SELF.predefined_texts, title_key='description', style=style) %] <a href="#" onclick='insert_selected_predefined_text()'>[%- LxERP.t8("Insert") %]</a>
|
||
</td>
|
||
</tr>
|
||
[%- END %]
|
||
|
||
<table border="0">
|
||
<tr valign="top">
|
||
|
||
<tr>
|
||
<th>[%- LxERP.t8("Description") %]:</th>
|
||
<td>
|
||
[%- LxERP.t8("Description") %]:<br>
|
||
[% L.textarea_tag(id_base _ '.description_as_restricted_html', SELF.item.description_as_restricted_html, id=id_base _ '_description', rows=8, cols=80, style=style, class='texteditor') %]<br>
|
||
[% L.ajax_submit_tag('controller.pl?action=RequirementSpecItem/ajax_' _ (SELF.item.id ? 'update' : 'create'), '#' _ id_base _ '_form', LxERP.t8('Save')) %]
|
||
<a href="#" onclick="kivi.requirement_spec.cancel_edit_item_form('[% id_base %]', { to_show: '[% hidden %]' })">[%- LxERP.t8("Cancel") %]</a>
|
||
</td>
|
||
|
||
<td>
|
||
[% LxERP.t8("Price Factor") %]:<br>
|
||
[% L.input_tag(id_base _ ".sellprice_factor_as_number", SELF.item.sellprice_factor_as_number, size="6") %]<br>
|
||
</tr>
|
||
<tr>
|
||
<td>[% LxERP.t8("Price Factor") %]:</td>
|
||
<td>[% L.input_tag(id_base _ ".sellprice_factor_as_number", SELF.item.sellprice_factor_as_number, size="6") %]
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td> </td>
|
||
<td>[% L.ajax_submit_tag('controller.pl?action=RequirementSpecItem/ajax_' _ (SELF.item.id ? 'update' : 'create'), '#' _ id_base _ '_form', LxERP.t8('Save')) %]
|
||
<a href="#" onclick='kivi.requirement_spec.cancel_edit_item_form("[% id_base %]", { to_show: "[% hidden %]" })' class="button">[%- LxERP.t8("Cancel") %]</a></td>
|
||
</tr>
|
||
|
||
|
||
|
||
</tbody>
|
||
</table>
|
||
|
||
[%- IF SELF.predefined_texts.size %]
|
templates/webpages/requirement_spec_item/_section_header.html | ||
---|---|---|
[%- USE HTML -%][%- USE L -%][%- USE LxERP -%]
|
||
<h1>
|
||
[%- HTML.escape(requirement_spec_item.fb_number) %]:
|
||
<h3>
|
||
<span class="label">[%- HTML.escape(requirement_spec_item.fb_number) %]:</span>
|
||
[% IF requirement_spec_item.title %]
|
||
[% HTML.escape(requirement_spec_item.title) %]
|
||
[% ELSE %]
|
||
... | ... | |
[%- LxERP.t8("No text has been entered yet.") %]
|
||
</div>
|
||
[% END %]
|
||
</h1>
|
||
</h3>
|
||
|
||
<div class="section-description" id="section-description">
|
||
<div class="section-description-heading">[%- LxERP.t8("Preamble") %]</div>
|
||
[% IF requirement_spec_item.description %]
|
||
[%- requirement_spec_item.description_as_restricted_html -%]
|
||
[%- ELSE %]
|
||
<span class="dimmed-text">[%- LxERP.t8("No text has been entered yet.") %]</span>
|
||
[%- END %]
|
||
</div>
|
||
<div>
|
||
[% IF requirement_spec_item.description %]
|
||
<span class="label section-description-heading">[%- LxERP.t8("Preamble") %]:</span><br>
|
||
[%- requirement_spec_item.description_as_restricted_html -%]
|
||
[%- ELSE %]
|
||
<span class="dimmed-text">[%- LxERP.t8("No text has been entered yet.") %]</span>
|
||
[%- END %]
|
||
</div>
|
||
|
||
[% IF requirement_spec_item.sellprice_factor %]
|
||
<div>
|
||
<span class="label">[%- LxERP.t8("Price Factor") -%]:</span> [%- LxERP.format_amount(requirement_spec_item.sellprice_factor, -2) -%]
|
||
</div>
|
||
[% END %]
|
||
|
||
<div class="smaller gray" style="text-align:right">
|
||
[%- LxERP.t8("Price Factor") -%]: [%- LxERP.format_amount(requirement_spec_item.sellprice_factor, -2) -%]
|
||
</div>
|
templates/webpages/requirement_spec_order/_assignment_form.html | ||
---|---|---|
[% SET style="width: 400px" %]
|
||
|
||
<form id="quotations_and_orders_form">
|
||
<table>
|
||
<table class="tbl-horizontal">
|
||
<tbody>
|
||
[% IF for_new %]
|
||
<tr>
|
||
<td>[% LxERP.t8("Record type to create") %]:</td>
|
||
<th>[% LxERP.t8("Record type to create") %]:</th>
|
||
<td>[% L.select_tag('quotation', [ [ 1, LxERP.t8('Sales quotation') ], [ 0, LxERP.t8('Sales Order') ] ], style=style, no_id=1) %]</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td>[% LxERP.t8("Customer") %]:</td>
|
||
<th>[% LxERP.t8("Customer") %]:</th>
|
||
<td>[% L.select_tag('customer_id', SELF.all_customers, default=SELF.requirement_spec.customer_id, title_key='name', style=style, no_id=1) %]</td>
|
||
</tr>
|
||
[% END %]
|
||
|
||
<tr>
|
||
<td>[% LxERP.t8("Assign the following article to all sections") %]:</td>
|
||
<th>[% LxERP.t8("Assign the following article to all sections") %]:</th>
|
||
<td data-unit="[% HTML.escape(SELF.section_order_part.unit) %]">
|
||
[% P.part.picker('quotations_and_orders_dummy', SELF.section_order_part.id, id='quotations_and_orders_order_id', style=style) %]
|
||
[% L.button_tag('kivi.requirement_spec.assign_order_part_id_to_all()', LxERP.t8('Assign article')) %]
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<table style="width: 100%">
|
||
<table class="tbl-list">
|
||
<thead>
|
||
<tr class="listheading">
|
||
<th>[% LxERP.t8("Number") %]</th>
|
||
<tr>
|
||
<th class="right">[% LxERP.t8("Number") %]</th>
|
||
<th>[% LxERP.t8("Title") %]</th>
|
||
<th>[% LxERP.t8("Description") %]</th>
|
||
<th>[% LxERP.t8("Article") %]</th>
|
||
... | ... | |
|
||
<tbody>
|
||
[% FOREACH section = SELF.requirement_spec.sections_sorted %]
|
||
<tr class="listrow">
|
||
<tr>
|
||
[% L.hidden_tag("sections[+].id", section.id, no_id=1) %]
|
||
<td>[% HTML.escape(section.fb_number) %]</td>
|
||
<td class="numeric">[% HTML.escape(section.fb_number) %]</td>
|
||
<td>[% HTML.escape(section.title) %]</td>
|
||
<td>[% HTML.escape(P.truncate(section.description_as_stripped_html)) %]</td>
|
||
<td>[% P.part.picker('sections[].order_part_id', section.order_part_id, id='quotations_and_orders_sections_order_pard_id_' _ loop.count, style=style) %]</td>
|
templates/webpages/requirement_spec_order/list.html | ||
---|---|---|
[% LxERP.t8("No sections have been created yet.") %]
|
||
</div>
|
||
[% ELSE %]
|
||
<table id="quotations_and_orders_sections" style="width: 100%">
|
||
<table id="quotations_and_orders_sections" class="tbl-list">
|
||
<thead>
|
||
<tr class="listheading">
|
||
<tr>
|
||
<th>[% LxERP.t8("Number") %]</th>
|
||
<th>[% LxERP.t8("Title") %]</th>
|
||
<th>[% LxERP.t8("Description") %]</th>
|
||
... | ... | |
|
||
<tbody>
|
||
[% FOREACH section = sections %]
|
||
<tr class="listrow">
|
||
<tr>
|
||
<td>[% HTML.escape(section.fb_number) %]</td>
|
||
<td>[% HTML.escape(section.title) %]</td>
|
||
<td>[% HTML.escape(P.truncate(section.description_as_stripped_html)) %]</td>
|
||
... | ... | |
<div>[% LxERP.t8("No quotations or orders have been created yet.") %]</div>
|
||
[% ELSE %]
|
||
|
||
<table style="width:100%">
|
||
<table class="tbl-list">
|
||
<thead>
|
||
<tr class="listheading">
|
||
<tr>
|
||
<th>[% LxERP.t8("Type") %]</th>
|
||
<th>[% LxERP.t8("Requirement Spec Version") %]</th>
|
||
<th>[% LxERP.t8("Record number") %]</th>
|
||
<th class="right">[% LxERP.t8("Record number") %]</th>
|
||
<th>[% LxERP.t8("Transaction description") %]</th>
|
||
<th>[% LxERP.t8("Quotation/Order Date") %]</th>
|
||
<th>[% LxERP.t8("Creation Date") %]</th>
|
||
... | ... | |
|
||
<tbody>
|
||
[% FOREACH rs_order = orders %]
|
||
<tr class="listrow quotations-and-orders-order-context-menu">
|
||
<tr class="quotations-and-orders-order-context-menu">
|
||
[% L.hidden_tag('order_id', rs_order.id, no_id=1) %]
|
||
<td>[% rs_order.order.type == 'sales_quotation' ? LxERP.t8('Sales quotation') : LxERP.t8('Sales Order') %]</td>
|
||
<td>
|
||
... | ... | |
[% LxERP.t8("working copy") %]
|
||
[% END %]
|
||
</td>
|
||
<td>
|
||
<td class="numeric">
|
||
[%- IF INSTANCE_CONF.get_feature_experimental_order -%]
|
||
<a href="controller.pl?action=Order/edit&id=[% HTML.url(rs_order.order_id) %]&type=[% HTML.url(rs_order.order.type) %]">
|
||
[%- ELSE -%]
|
templates/webpages/requirement_spec_order/update.html | ||
---|---|---|
|
||
[% L.hidden_tag("rs_order_id", SELF.rs_order.id, no_id=1) %]
|
||
|
||
<table style="width: 100%">
|
||
<table class="tbl-list">
|
||
<thead>
|
||
<tr class="listheading">
|
||
<tr>
|
||
<th>[% LxERP.t8("Part Number") %]</th>
|
||
<th>[% LxERP.t8("Description") %]</th>
|
||
<th align="right">[% LxERP.t8("Qty") %]</th>
|
||
... | ... | |
|
||
<tbody>
|
||
[% FOREACH item = orderitems %]
|
||
<tr class="listrow">
|
||
<tr>
|
||
[% L.hidden_tag("orderitems[+].id", item.item.id, no_id=1) %]
|
||
<td>[% HTML.escape(item.item.part.partnumber) %]</td>
|
||
<td>[% HTML.escape(item.item.description_as_stripped_html) %]</td>
|
templates/webpages/requirement_spec_part/_edit.html | ||
---|---|---|
[% LxERP.t8("No articles have been added yet.") %]
|
||
</div>
|
||
|
||
<table id="edit_additional_parts_list"[% IF !parts.size %] style="display: none;"[% END %]>
|
||
<table id="edit_additional_parts_list" class="tbl-list"[% IF !parts.size %] style="display: none;"[% END %]>
|
||
<thead>
|
||
<tr class="listheading">
|
||
<tr>
|
||
<th></th>
|
||
<th>[%- LxERP.t8("Part Number") %]</th>
|
||
<th>[%- LxERP.t8("Description") %]</th>
|
templates/webpages/requirement_spec_part/_part.html | ||
---|---|---|
[%- USE HTML -%][%- USE L -%][%- USE LxERP -%]
|
||
<tr class="listrow edit-additional-parts-row-context-menu">
|
||
<td align="center">
|
||
<tr class="edit-additional-parts-row-context-menu">
|
||
<td class="center">
|
||
[% L.hidden_tag("additional_parts[+].part_id", part.part.id) %]
|
||
[% L.hidden_tag("additional_parts[].id", part.id) %]
|
||
[% L.img_tag(src="image/updown.png", alt=LxERP.t8("reorder item"), class="dragdrop") %]
|
templates/webpages/requirement_spec_part/show.html | ||
---|---|---|
[% LxERP.t8("No articles have been added yet.") %]
|
||
</div>
|
||
|
||
<table id="additional_parts_list"[% IF !parts.size %] style="display: none;"[% END %]>
|
||
<table id="additional_parts_list"[% IF !parts.size %] style="display:none;"[% END %] class="tbl-list">
|
||
<thead>
|
||
<tr class="listheading">
|
||
<tr>
|
||
<th>[%- LxERP.t8("Part Number") %]</th>
|
||
<th>[%- LxERP.t8("Description") %]</th>
|
||
<th>[%- LxERP.t8("Qty") %]</th>
|
||
... | ... | |
|
||
<tbody>
|
||
[% FOREACH part = parts %]
|
||
<tr class="listrow">
|
||
<tr>
|
||
<td>[% HTML.escape(part.part.partnumber) %]</td>
|
||
<td>[% HTML.escape(part.description) %]</td>
|
||
<td valign="right">[% HTML.escape(part.qty_as_number) %] [% HTML.escape(part.unit.name) %]</td>
|
||
<td class="numeric">[% HTML.escape(part.qty_as_number) %] [% HTML.escape(part.unit.name) %]</td>
|
||
</tr>
|
||
[% END %]
|
||
</tbody>
|
templates/webpages/requirement_spec_text_block/_form.html | ||
---|---|---|
[%- USE LxERP -%][%- USE L -%][%- USE HTML -%][% SET style="width: 500px" %]
|
||
[% USE LxERP %]
|
||
[% USE L %]
|
||
[% USE HTML %]
|
||
[% SET style="width: 500px" %]
|
||
[% DEFAULT id_base = 'edit_text_block_' _ SELF.text_block.id %]
|
||
|
||
<form method="post" id="[% id_base %]_form">
|
||
<h2>
|
||
[%- IF SELF.text_block.id %]
|
||
[%- SET title = SELF.text_block.title || '(' _ LxERP.t8('No title yet') _ ')' %]
|
||
[%- LxERP.t8("Edit text block '#1'", title) %]
|
||
[%- ELSE %]
|
||
[%- LxERP.t8("Add text block") %]
|
||
[%- END %]
|
||
</h2>
|
||
|
||
|
||
[% L.hidden_tag('form_prefix', id_base, id=id_base _ '_form_prefix') %]
|
||
[% L.hidden_tag('id', SELF.text_block.id, id=id_base _ '_id') %]
|
||
... | ... | |
[% END %]
|
||
|
||
<table>
|
||
<caption>
|
||
[% IF SELF.text_block.id %]
|
||
[% SET title = SELF.text_block.title || '(' _ LxERP.t8('No title yet') _ ')' %]
|
||
[% LxERP.t8("Edit text block '#1'", title) %]
|
||
[% ELSE %]
|
||
[% LxERP.t8("Add text block") %]
|
||
[% END %]
|
||
</caption>
|
||
<tbody>
|
||
<tr>
|
||
<th align="right">[%- LxERP.t8("Title") %]:</th>
|
||
<th>[% LxERP.t8("Title") %]:</th>
|
||
<td>[% L.input_tag(id_base _ '.title', SELF.text_block.title, style = style) %]</td>
|
||
</tr>
|
||
|
||
[%- IF SELF.predefined_texts.size %]
|
||
[% IF SELF.predefined_texts.size %]
|
||
<tr>
|
||
<th align="right">[%- LxERP.t8("Pre-defined Texts") %]:</th>
|
||
<th>[% LxERP.t8("Pre-defined Texts") %]:</th>
|
||
<td>
|
||
[%- L.select_tag(id_base _ '_predefined_text_block', SELF.predefined_texts, title_key='description', style=style) %]
|
||
<a href="#" onclick="insert_selected_predefined_text()">[%- LxERP.t8("Insert") %]</a>
|
||
[% L.select_tag(id_base _ '_predefined_text_block', SELF.predefined_texts, title_key='description', style=style) %]
|
||
<a href="#" onclick="insert_selected_predefined_text()">[% LxERP.t8("Insert") %]</a>
|
||
</td>
|
||
</tr>
|
||
[%- END %]
|
||
[% END %]
|
||
|
||
<tr>
|
||
<th align="right" valign="top">[%- LxERP.t8("Description") %]:</th>
|
||
<td valign="top">[% L.textarea_tag(id_base _ '.text_as_restricted_html', SELF.text_block.text_as_restricted_html, id = id_base _ '_text', style = style _ '; height: 200px', class='texteditor') %]</td>
|
||
<th>[% LxERP.t8("Description") %]:</th>
|
||
<td>[% L.textarea_tag(id_base _ '.text_as_restricted_html', SELF.text_block.text_as_restricted_html, id = id_base _ '_text', style = style _ '; height: 200px', class='texteditor') %]</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
|
||
<p>
|
||
[%- L.ajax_submit_tag('controller.pl?action=RequirementSpecTextBlock/ajax_' _ (SELF.text_block.id ? 'update' : 'create'), '#' _ id_base _ '_form', LxERP.t8('Save')) %]
|
||
<a href="#" onclick="kivi.requirement_spec.cancel_edit_text_block_form('[% id_base %]')">[%- LxERP.t8("Cancel") %]</a>
|
||
[% L.ajax_submit_tag('controller.pl?action=RequirementSpecTextBlock/ajax_' _ (SELF.text_block.id ? 'update' : 'create'), '#' _ id_base _ '_form', LxERP.t8('Save')) %]
|
||
<a href="#" onclick="kivi.requirement_spec.cancel_edit_text_block_form('[% id_base %]')">[% LxERP.t8("Cancel") %]</a>
|
||
</p>
|
||
|
||
[%- IF SELF.predefined_texts.size %]
|
||
[% IF SELF.predefined_texts.size %]
|
||
<script type="text/javascript">
|
||
<!--
|
||
[% INCLUDE 'requirement_spec_text_block/_predefined_text_inserter.js' title_ctrl_id='_title' text_ctrl_id='_text' %]
|
||
-->
|
||
</script>
|
||
[%- END %]
|
||
[% END %]
|
||
</form>
|
templates/webpages/requirement_spec_text_block/_picture_form.html | ||
---|---|---|
[%- USE LxERP -%][%- USE L -%][%- USE HTML -%][%- USE JavaScript -%][% USE Base64 %][% SET style="width: 500px" %]
|
||
[% USE LxERP %]
|
||
[% USE L %]
|
||
[% USE HTML %]
|
||
[% USE JavaScript %]
|
||
[% USE Base64 %][% SET style="width: 500px" %]
|
||
[% SET id_base = 'edit_text_block_picture_' _ (SELF.picture.id ? SELF.picture.id : 'new') %]
|
||
<form method="post" id="[% id_base %]_form" method="POST" enctype="multipart/form-data">
|
||
[% L.hidden_tag('form_prefix', id_base, id=id_base _ '_form_prefix') %]
|
||
... | ... | |
[% L.hidden_tag(id_base _ '.requirement_spec_id', SELF.text_block.requirement_spec_id) %]
|
||
|
||
<h2>
|
||
[%- IF SELF.picture.id %]
|
||
[%- LxERP.t8("Edit text block picture #1", SELF.picture.number) %]
|
||
[%- ELSE %]
|
||
[%- LxERP.t8("Add picture to text block") %]
|
||
[%- END %]
|
||
[% IF SELF.picture.id %]
|
||
[% LxERP.t8("Edit text block picture #1", SELF.picture.number) %]
|
||
[% ELSE %]
|
||
[% LxERP.t8("Add picture to text block") %]
|
||
[% END %]
|
||
</h2>
|
||
|
||
<table>
|
||
[% IF SELF.picture.number %]
|
||
<tr>
|
||
<th align="right">[%- LxERP.t8("Number") %]:</th>
|
||
<th>[% LxERP.t8("Number") %]:</th>
|
||
<td>[% HTML.escape(SELF.picture.number) %]</td>
|
||
</tr>
|
||
[% END %]
|
||
|
||
<tr>
|
||
<th align="right">[%- LxERP.t8("Description") %]:</th>
|
||
<th>[% LxERP.t8("Description") %]:</th>
|
||
<td>[% L.input_tag(id_base _ '.description', SELF.picture.description, style=style) %]</td>
|
||
</tr>
|
||
|
||
[% IF SELF.picture.picture_content %]
|
||
<tr>
|
||
<th align="right">[%- LxERP.t8("File name") %]:</th>
|
||
<th>[% LxERP.t8("File name") %]:</th>
|
||
<td>[% HTML.escape(SELF.picture.picture_file_name) %]</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<th align="right">[%- LxERP.t8("MIME type") %]:</th>
|
||
<th>[% LxERP.t8("MIME type") %]:</th>
|
||
<td>[% HTML.escape(SELF.picture.picture_content_type) %]</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<th align="right">[%- LxERP.t8("Dimensions") %]:</th>
|
||
<th>[% LxERP.t8("Dimensions") %]:</th>
|
||
<td>[% HTML.escape(SELF.picture.picture_width) %]x[% HTML.escape(SELF.picture.picture_height) %]</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<th align="right">[%- LxERP.t8("Uploaded at") %]:</th>
|
||
<th>[% LxERP.t8("Uploaded at") %]:</th>
|
||
<td>[% HTML.escape(SELF.picture.picture_mtime.to_kivitendo(precision='second')) %]</td>
|
||
</tr>
|
||
[% END %]
|
||
|
||
<tr>
|
||
<th align="right">[%- LxERP.t8("Select file to upload") %]:</th>
|
||
<th>[% LxERP.t8("Select file to upload") %]:</th>
|
||
<td>[% L.input_tag(id_base _ '.picture_content', '', type='file') %]</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<p>
|
||
[%- L.ajax_submit_tag('controller.pl?action=RequirementSpecTextBlock/ajax_' _ (SELF.picture.id ? 'update' : 'create') _ '_picture', '#' _ id_base _ '_form', LxERP.t8('Save'), no_id=1) %]
|
||
<a href="#" onclick="$('#jqueryui_popup_dialog').dialog('close');">[%- LxERP.t8("Cancel") %]</a>
|
||
[% L.ajax_submit_tag('controller.pl?action=RequirementSpecTextBlock/ajax_' _ (SELF.picture.id ? 'update' : 'create') _ '_picture', '#' _ id_base _ '_form', LxERP.t8('Save'), no_id=1) %]
|
||
<a href="#" onclick="$('#jqueryui_popup_dialog').dialog('close');">[% LxERP.t8("Cancel") %]</a>
|
||
</p>
|
||
|
||
</form>
|
templates/webpages/requirement_spec_text_block/_text_block_picture.html | ||
---|---|---|
[%- USE HTML -%][%- USE LxERP -%][% USE Base64 %]
|
||
[% USE HTML %]
|
||
[% USE LxERP %]
|
||
[% USE Base64 %]
|
||
[% SET title=LxERP.t8('Picture #1: #2', picture.number, picture.description ? picture.description _ ' (' _ picture.picture_file_name _ ')' : picture.picture_file_name) %]
|
||
<div id="text-block-picture-[% HTML.escape(picture.id) %]" class="requirement-spec-text-block-picture-thumbnail text-block-picture-context-menu">
|
||
<div class="requirement-spec-text-block-picture-thumbnail-img-container">
|
templates/webpages/requirement_spec_version/_form.html | ||
---|---|---|
<a href="[% SELF.url_for(action='list') %]">[%- LxERP.t8("Cancel") %]</a>
|
||
[%- ELSE %]
|
||
[% L.ajax_submit_tag("controller.pl?action=RequirementSpecVersion/create", "#" _ id_prefix, LxERP.t8("Save")) %]
|
||
<a href="#" onclick="$('#jqueryui_popup_dialog').dialog('close');">[% LxERP.t8("Cancel") %]</a>
|
||
<a href="#" onclick="$('#jqueryui_popup_dialog').dialog('close');" class="button neutral">[% LxERP.t8("Cancel") %]</a>
|
||
[%- END %]
|
||
</p>
|
||
</form>
|
templates/webpages/requirement_spec_version/list.html | ||
---|---|---|
[% USE HTML %][% USE L %][% USE LxERP %][%- USE P -%]
|
||
[% USE HTML %]
|
||
[% USE L %]
|
||
[% USE LxERP %]
|
||
[% USE P %]
|
||
|
||
<table id="versioned_copies_list">
|
||
<thead>
|
||
<tr class="listheading">
|
||
<th><div class="thingy" style="width: 10px; height: 100%; background-color: red; position: relative; left: -10px;"></div>[%- LxERP.t8("Version number") %]</th>
|
||
<th>[%- LxERP.t8("Description") %]</th>
|
||
<th>[%- LxERP.t8("Internal comment") %]</th>
|
||
<th>[%- LxERP.t8("Last modification") %]</th>
|
||
<tr>
|
||
<th><div class="thingy" style="width: 10px; height: 100%; background-color: red; position: relative; left: -10px;"></div>[% LxERP.t8("Version number") %]</th>
|
||
<th>[% LxERP.t8("Description") %]</th>
|
||
<th>[% LxERP.t8("Internal comment") %]</th>
|
||
<th>[% LxERP.t8("Last modification") %]</th>
|
||
</tr>
|
||
</thead>
|
||
|
||
<tbody>
|
||
<tr class="listrow versioned-copy-context-menu">
|
||
[%- IF SELF.requirement_spec.version %]
|
||
[% IF SELF.requirement_spec.version %]
|
||
[% L.hidden_tag('versioned_copy_id', SELF.requirement_spec.version.requirement_spec_id, no_id=1) %]
|
||
<td>[%- LxERP.t8("Working copy identical to version number #1", SELF.requirement_spec.version.version_number) %]</td>
|
||
[%- ELSE %]
|
||
<td>[%- LxERP.t8("Working copy without version") %]</td>
|
||
[%- END -%]
|
||
<td>[%- LxERP.t8("Working copy; no description yet") %]</td>
|
||
<td>[% LxERP.t8("Working copy identical to version number #1", SELF.requirement_spec.version.version_number) %]</td>
|
||
[% ELSE %]
|
||
<td>[% LxERP.t8("Working copy without version") %]</td>
|
||
[% END %]
|
||
<td>[% LxERP.t8("Working copy; no description yet") %]</td>
|
||
<td> </td>
|
||
<td>[% SELF.requirement_spec.mtime.to_kivitendo(precision='minute') %]</td>
|
||
</tr>
|
||
|
||
[%- FOREACH versioned_copy = SELF.requirement_spec.versioned_copies_sorted %]
|
||
[%- SET version = versioned_copy.version %]
|
||
[% FOREACH versioned_copy = SELF.requirement_spec.versioned_copies_sorted %]
|
||
[% SET version = versioned_copy.version %]
|
||
<tr class="listrow versioned-copy-context-menu">
|
||
[% L.hidden_tag('versioned_copy_id', versioned_copy.id, no_id=1) %]
|
||
<td>[% HTML.escape(version.version_number) %]</td>
|
||
... | ... | |
<td>[% HTML.escape(P.truncate(version.comment)) %]</td>
|
||
<td>[% version.itime.to_kivitendo(precision='minute') %]</td>
|
||
</tr>
|
||
[%- END %]
|
||
[% END %]
|
||
</tbody>
|
||
</table>
|
Auch abrufbar als: Unified diff
Neues kivitendo Design restliche Aenderungen in templates/webpages/requirement_spec_*
Dateien requirement_spec_item/* requirement_spec_order/* requirement_spec_part/*
requirement_spec_text_block/* requirement_spec_version/*