Revision 6b819819
Von Cem Aydin vor etwa 2 Jahren hinzugefügt
templates/design40_webpages/requirement_spec_order/_assignment_form.html | ||
---|---|---|
[%- USE HTML -%][%- USE LxERP -%][%- USE L -%][%- USE P -%]
|
||
[% USE HTML %]
|
||
[% USE LxERP %]
|
||
[% USE L %]
|
||
[% USE P %]
|
||
|
||
[% SET style="width: 400px" %]
|
||
|
||
<form id="quotations_and_orders_form">
|
||
<table class="tbl-horizontal">
|
||
<tbody>
|
||
[% IF for_new %]
|
||
<tr>
|
||
<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>
|
||
<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>
|
||
<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 class="tbl-list">
|
||
<thead>
|
||
<tr>
|
||
<th class="right">[% LxERP.t8("Number") %]</th>
|
||
<th>[% LxERP.t8("Title") %]</th>
|
||
<th>[% LxERP.t8("Description") %]</th>
|
||
<th>[% LxERP.t8("Article") %]</th>
|
||
<th>[% LxERP.t8("Unit") %]</th>
|
||
<th>[% LxERP.t8("Position type in quotation/order") %]</th>
|
||
</tr>
|
||
</thead>
|
||
<table class="tbl-horizontal">
|
||
<tbody>
|
||
[% IF for_new %]
|
||
<tr>
|
||
<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>
|
||
<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>
|
||
<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>
|
||
|
||
<tbody>
|
||
[% FOREACH section = SELF.requirement_spec.sections_sorted %]
|
||
<tr>
|
||
[% L.hidden_tag("sections[+].id", section.id, no_id=1) %]
|
||
<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>
|
||
<td data-unit-column=1>[% HTML.escape(section.order_part.unit) %]</td>
|
||
<td data-position-type-column=1>
|
||
[% IF section.order_part_id && section.order_part.unit_obj.is_time_based %]
|
||
[% LxERP.t8("time and effort based position") %]
|
||
[% ELSIF section.order_part_id %]
|
||
[% LxERP.t8("flat-rate position") %]
|
||
[% END %]
|
||
</td>
|
||
</tr>
|
||
[% END %]
|
||
</tbody>
|
||
</table>
|
||
<table class="tbl-list">
|
||
<thead>
|
||
<tr>
|
||
<th class="right">[% LxERP.t8("Number") %]</th>
|
||
<th>[% LxERP.t8("Title") %]</th>
|
||
<th>[% LxERP.t8("Description") %]</th>
|
||
<th>[% LxERP.t8("Article") %]</th>
|
||
<th>[% LxERP.t8("Unit") %]</th>
|
||
<th>[% LxERP.t8("Position type in quotation/order") %]</th>
|
||
</tr>
|
||
</thead>
|
||
<tbody>
|
||
[% FOREACH section = SELF.requirement_spec.sections_sorted %]
|
||
<tr>
|
||
[% L.hidden_tag("sections[+].id", section.id, no_id=1) %]
|
||
<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>
|
||
<td data-unit-column=1>[% HTML.escape(section.order_part.unit) %]</td>
|
||
<td data-position-type-column=1>
|
||
[% IF section.order_part_id && section.order_part.unit_obj.is_time_based %]
|
||
[% LxERP.t8("time and effort based position") %]
|
||
[% ELSIF section.order_part_id %]
|
||
[% LxERP.t8("flat-rate position") %]
|
||
[% END %]
|
||
</td>
|
||
</tr>
|
||
[% END %]
|
||
</tbody>
|
||
</table>
|
||
|
||
<p>
|
||
[% L.button_tag("kivi.requirement_spec.standard_quotation_order_ajax_call('" _ (for_new ? 'create' : 'save_assignment') _ "')", for_new ? LxERP.t8('Create') : LxERP.t8('Save')) %]
|
||
</p>
|
||
<p>
|
||
[% L.button_tag("kivi.requirement_spec.standard_quotation_order_ajax_call('" _ (for_new ? 'create' : 'save_assignment') _ "')", for_new ? LxERP.t8('Create') : LxERP.t8('Save')) %]
|
||
</p>
|
||
</form>
|
templates/design40_webpages/requirement_spec_order/list.html | ||
---|---|---|
[%- USE HTML -%][%- USE LxERP -%][%- USE L -%][%- USE P -%]
|
||
<div id="quotations_and_orders" class="quotations-and-orders-context-menu">
|
||
<h2>[% LxERP.t8("Assignment of articles to sections") %]</h2>
|
||
[% USE HTML %]
|
||
[% USE LxERP %]
|
||
[% USE L %]
|
||
[% USE P %]
|
||
|
||
[% SET sections = SELF.requirement_spec.sections_sorted %]
|
||
[% IF !sections.size %]
|
||
<div>
|
||
[% LxERP.t8("No sections have been created yet.") %]
|
||
</div>
|
||
[% ELSE %]
|
||
<table id="quotations_and_orders_sections" class="tbl-list">
|
||
<thead>
|
||
<tr>
|
||
<th>[% LxERP.t8("Number") %]</th>
|
||
<th>[% LxERP.t8("Title") %]</th>
|
||
<th>[% LxERP.t8("Description") %]</th>
|
||
<th>[% LxERP.t8("Article") %]</th>
|
||
<th>[% LxERP.t8("Unit") %]</th>
|
||
<th>[% LxERP.t8("Position type in quotation/order") %]</th>
|
||
</tr>
|
||
</thead>
|
||
<div id="quotations_and_orders" class="quotations-and-orders-context-menu">
|
||
<h2>[% LxERP.t8("Assignment of articles to sections") %]</h2>
|
||
|
||
<tbody>
|
||
[% FOREACH section = sections %]
|
||
<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>
|
||
<td>
|
||
[% IF section.order_part %]
|
||
[% HTML.escape(section.order_part.partnumber) %] [% HTML.escape(section.order_part.description) %]
|
||
[% ELSE %]
|
||
[% LxERP.t8("no article assigned yet") %]
|
||
[% END %]
|
||
</td>
|
||
<td>[% HTML.escape(section.order_part.unit) %]</td>
|
||
<td>
|
||
[% IF section.order_part_id && section.order_part.unit_obj.is_time_based %]
|
||
[% LxERP.t8("time and effort based position") %]
|
||
[% ELSIF section.order_part_id %]
|
||
[% LxERP.t8("flat-rate position") %]
|
||
[% END %]
|
||
</td>
|
||
</tr>
|
||
[% END %]
|
||
</tbody>
|
||
</table>
|
||
[% END %]
|
||
[% SET sections = SELF.requirement_spec.sections_sorted %]
|
||
[% IF !sections.size %]
|
||
<div>
|
||
[% LxERP.t8("No sections have been created yet.") %]
|
||
</div>
|
||
[% ELSE %]
|
||
<table id="quotations_and_orders_sections" class="tbl-list">
|
||
<thead>
|
||
<tr>
|
||
<th>[% LxERP.t8("Number") %]</th>
|
||
<th>[% LxERP.t8("Title") %]</th>
|
||
<th>[% LxERP.t8("Description") %]</th>
|
||
<th>[% LxERP.t8("Article") %]</th>
|
||
<th>[% LxERP.t8("Unit") %]</th>
|
||
<th>[% LxERP.t8("Position type in quotation/order") %]</th>
|
||
</tr>
|
||
</thead>
|
||
|
||
<h2>[% LxERP.t8("Quotations and orders") %]</h2>
|
||
<tbody>
|
||
[% FOREACH section = sections %]
|
||
<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>
|
||
<td>
|
||
[% IF section.order_part %]
|
||
[% HTML.escape(section.order_part.partnumber) %] [% HTML.escape(section.order_part.description) %]
|
||
[% ELSE %]
|
||
[% LxERP.t8("no article assigned yet") %]
|
||
[% END %]
|
||
</td>
|
||
<td>[% HTML.escape(section.order_part.unit) %]</td>
|
||
<td>
|
||
[% IF section.order_part_id && section.order_part.unit_obj.is_time_based %]
|
||
[% LxERP.t8("time and effort based position") %]
|
||
[% ELSIF section.order_part_id %]
|
||
[% LxERP.t8("flat-rate position") %]
|
||
[% END %]
|
||
</td>
|
||
</tr>
|
||
[% END %]
|
||
</tbody>
|
||
</table>
|
||
[% END %]
|
||
|
||
[% SET orders = SELF.requirement_spec.orders_sorted %]
|
||
[% IF !orders.size %]
|
||
<div>[% LxERP.t8("No quotations or orders have been created yet.") %]</div>
|
||
[% ELSE %]
|
||
<h2>[% LxERP.t8("Quotations and orders") %]</h2>
|
||
|
||
<table class="tbl-list">
|
||
<thead>
|
||
<tr>
|
||
<th>[% LxERP.t8("Type") %]</th>
|
||
<th>[% LxERP.t8("Requirement Spec Version") %]</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>
|
||
</tr>
|
||
</thead>
|
||
[% SET orders = SELF.requirement_spec.orders_sorted %]
|
||
[% IF !orders.size %]
|
||
<div>[% LxERP.t8("No quotations or orders have been created yet.") %]</div>
|
||
[% ELSE %]
|
||
<table class="tbl-list">
|
||
<thead>
|
||
<tr>
|
||
<th>[% LxERP.t8("Type") %]</th>
|
||
<th>[% LxERP.t8("Requirement Spec Version") %]</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>
|
||
</tr>
|
||
</thead>
|
||
|
||
<tbody>
|
||
[% FOREACH rs_order = orders %]
|
||
<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>
|
||
[% IF rs_order.version %]
|
||
[% HTML.escape(rs_order.version.version_number) %]
|
||
[% ELSE %]
|
||
[% LxERP.t8("working copy") %]
|
||
[% END %]
|
||
</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 -%]
|
||
<a href="oe.pl?action=edit&id=[% HTML.url(rs_order.order_id) %]&type=[% HTML.url(rs_order.order.type) %]">
|
||
[%- END -%]
|
||
[% HTML.escape(rs_order.order.quotation ? rs_order.order.quonumber : rs_order.order.ordnumber) %]
|
||
</a>
|
||
</td>
|
||
<td>[% HTML.escape(rs_order.order.transaction_description) %]</td>
|
||
<td>[% rs_order.order.transdate.to_kivitendo(precision='day') %]</td>
|
||
<td>[% rs_order.itime.to_kivitendo(precision='day') %]</td>
|
||
</tr>
|
||
[%- END %]
|
||
</tbody>
|
||
</table>
|
||
[% END %]
|
||
<tbody>
|
||
[% FOREACH rs_order = orders %]
|
||
<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>
|
||
[% IF rs_order.version %]
|
||
[% HTML.escape(rs_order.version.version_number) %]
|
||
[% ELSE %]
|
||
[% LxERP.t8("working copy") %]
|
||
[% END %]
|
||
</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 %]
|
||
<a href="oe.pl?action=edit&id=[% HTML.url(rs_order.order_id) %]&type=[% HTML.url(rs_order.order.type) %]">
|
||
[% END %]
|
||
[% HTML.escape(rs_order.order.quotation ? rs_order.order.quonumber : rs_order.order.ordnumber) %]
|
||
</a>
|
||
</td>
|
||
<td>[% HTML.escape(rs_order.order.transaction_description) %]</td>
|
||
<td>[% rs_order.order.transdate.to_kivitendo(precision='day') %]</td>
|
||
<td>[% rs_order.itime.to_kivitendo(precision='day') %]</td>
|
||
</tr>
|
||
[% END %]
|
||
</tbody>
|
||
</table>
|
||
[% END %]
|
||
</div>
|
templates/design40_webpages/requirement_spec_order/update.html | ||
---|---|---|
[%- USE HTML -%][%- USE LxERP -%][%- USE L -%][%- USE P -%]
|
||
[% USE HTML %]
|
||
[% USE LxERP %]
|
||
[% USE L %]
|
||
[% USE P %]
|
||
|
||
[% SET style = "width: 400px" %]
|
||
[% SET order = SELF.rs_order.order %]
|
||
|
||
<div id="quotations_and_orders_update" class="quotations-and-orders-update-context-menu">
|
||
|
||
<h2>
|
||
[% IF order.quotation %]
|
||
[% LxERP.t8("Update sales quotation #1", order.quonumber) %]
|
||
[% ELSE %]
|
||
[% LxERP.t8("Update sales order #1", order.ordnumber) %]
|
||
[% END %]
|
||
</h2>
|
||
|
||
<form id="quotations_and_orders_form">
|
||
<h3>[% LxERP.t8("Updating items with sections") %]</h3>
|
||
|
||
[% L.hidden_tag("rs_order_id", SELF.rs_order.id, no_id=1) %]
|
||
|
||
<table class="tbl-list">
|
||
<thead>
|
||
<tr>
|
||
<th>[% LxERP.t8("Part Number") %]</th>
|
||
<th>[% LxERP.t8("Description") %]</th>
|
||
<th align="right">[% LxERP.t8("Qty") %]</th>
|
||
<th align="right">[% LxERP.t8("Sellprice") %]</th>
|
||
<th>[% LxERP.t8("Update with section") %]</th>
|
||
</tr>
|
||
</thead>
|
||
|
||
<tbody>
|
||
[% FOREACH item = orderitems %]
|
||
<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>
|
||
<td align="right">[% LxERP.format_amount(item.item.qty * 1) %] [% HTML.escape(item.item.unit) %]</td>
|
||
<td align="right">[% LxERP.format_amount(item.item.qty * 1) %] [% HTML.escape(item.item.unit) %]</td>
|
||
<td>[% L.select_tag('orderitems[].section_id', sections, default=item.section.id, title_sub=\make_section_title, style=style, no_id=1, with_empty=1, empty_title=LxERP.t8('Do not modify this position')) %]</td>
|
||
</tr>
|
||
<h2>
|
||
[% IF order.quotation %]
|
||
[% LxERP.t8("Update sales quotation #1", order.quonumber) %]
|
||
[% ELSE %]
|
||
[% LxERP.t8("Update sales order #1", order.ordnumber) %]
|
||
[% END %]
|
||
</tbody>
|
||
</table>
|
||
</h2>
|
||
|
||
<form id="quotations_and_orders_form">
|
||
<h3>[% LxERP.t8("Updating items with sections") %]</h3>
|
||
|
||
[% L.hidden_tag("rs_order_id", SELF.rs_order.id, no_id=1) %]
|
||
|
||
<table class="tbl-list">
|
||
<thead>
|
||
<tr>
|
||
<th>[% LxERP.t8("Part Number") %]</th>
|
||
<th>[% LxERP.t8("Description") %]</th>
|
||
<th class="right">[% LxERP.t8("Qty") %]</th>
|
||
<th class="right">[% LxERP.t8("Sellprice") %]</th>
|
||
<th>[% LxERP.t8("Update with section") %]</th>
|
||
</tr>
|
||
</thead>
|
||
|
||
<tbody>
|
||
[% FOREACH item = orderitems %]
|
||
<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>
|
||
<td class="right">[% LxERP.format_amount(item.item.qty * 1) %] [% HTML.escape(item.item.unit) %]</td>
|
||
<td class="right">[% LxERP.format_amount(item.item.qty * 1) %] [% HTML.escape(item.item.unit) %]</td>
|
||
<td>[% L.select_tag('orderitems[].section_id', sections, default=item.section.id, title_sub=\make_section_title, style=style, no_id=1, with_empty=1, empty_title=LxERP.t8('Do not modify this position')) %]</td>
|
||
</tr>
|
||
[% END %]
|
||
</tbody>
|
||
</table>
|
||
|
||
<p>
|
||
[% LxERP.t8("Sections that are not assigned to any of the items above will be added as new positions.") %]
|
||
</p>
|
||
<p>
|
||
[% LxERP.t8("Sections that are not assigned to any of the items above will be added as new positions.") %]
|
||
</p>
|
||
|
||
<h3>[% LxERP.t8("Updating items with additional parts") %]</h3>
|
||
<h3>[% LxERP.t8("Updating items with additional parts") %]</h3>
|
||
|
||
<p>
|
||
[% LxERP.t8("You cannot modify individual assigments from additional articles to line items.") %]
|
||
[% LxERP.t8("They will be updated, new ones for additional parts without a line item added automatically.") %]
|
||
</p>
|
||
<p>
|
||
[% LxERP.t8("You cannot modify individual assigments from additional articles to line items.") %]
|
||
[% LxERP.t8("They will be updated, new ones for additional parts without a line item added automatically.") %]
|
||
</p>
|
||
|
||
<p>
|
||
[% L.button_tag("kivi.requirement_spec.standard_quotation_order_ajax_call('do_update')", LxERP.t8('Update')) %]
|
||
</p>
|
||
</form>
|
||
<p>
|
||
[% L.button_tag("kivi.requirement_spec.standard_quotation_order_ajax_call('do_update')", LxERP.t8('Update')) %]
|
||
</p>
|
||
</form>
|
||
</div>
|
Auch abrufbar als: Unified diff
design40: Templates requirement_spec_order/ vereinheitlicht/bereinigt
- Formatierung vereinheitlicht
- Einrückung angepasst
- align right durch class ersetzt