Revision a7db9b36
Von Moritz Bunkus vor fast 11 Jahren hinzugefügt
js/requirement_spec.js | ||
---|---|---|
, paste_template: { name: kivi.t8('Paste template'), icon: "paste", callback: kivi.requirement_spec.paste_template }
|
||
};
|
||
|
||
$.contextMenu({
|
||
selector: '.edit-time-cost-estimate-context-menu',
|
||
items: $.extend({
|
||
heading: { name: kivi.t8('Time/cost estimate actions'), className: 'context-menu-heading' }
|
||
, save: { name: kivi.t8('Save'), icon: "save", callback: kivi.requirement_spec.standard_time_cost_estimate_ajax_call }
|
||
, cancel: { name: kivi.t8('Cancel'), icon: "close", callback: kivi.requirement_spec.standard_time_cost_estimate_ajax_call }
|
||
}, general_actions)
|
||
});
|
||
|
||
$.contextMenu({
|
||
selector: '.versioned-copy-context-menu',
|
||
items: $.extend({
|
||
... | ... | |
}, general_actions)
|
||
});
|
||
|
||
$.contextMenu({
|
||
selector: '.edit-time-cost-estimate-context-menu',
|
||
items: $.extend({
|
||
heading: { name: kivi.t8('Time/cost estimate actions'), className: 'context-menu-heading' }
|
||
, save: { name: kivi.t8('Save'), icon: "save", callback: kivi.requirement_spec.standard_time_cost_estimate_ajax_call }
|
||
, cancel: { name: kivi.t8('Cancel'), icon: "close", callback: kivi.requirement_spec.standard_time_cost_estimate_ajax_call }
|
||
}, general_actions)
|
||
});
|
||
|
||
$.contextMenu({
|
||
selector: '#content',
|
||
items: general_actions
|
templates/webpages/requirement_spec/_show_time_and_cost_estimate.html | ||
---|---|---|
<th>[%- LxERP.t8("Complexity") %]</th>
|
||
<th>[%- LxERP.t8("Risk") %]</th>
|
||
<th align="right">[%- LxERP.t8("Time estimate") %]</th>
|
||
<th align="right">[%- LxERP.t8("Cost") %]</th>
|
||
[%- UNLESS SELF.requirement_spec.is_template %]
|
||
<th align="right">[%- LxERP.t8("Cost") %]</th>
|
||
[%- END %]
|
||
</tr>
|
||
|
||
<tr class="listrow section">
|
||
... | ... | |
<tr class="listrow subtotal">
|
||
<td style="padding-left: 50px" colspan="3" class="sum">[%- LxERP.t8("Sum for section") -%]:</td>
|
||
<td align="right" nowrap>[%- P.format_man_days(section.time_estimation, 'skip_zero'=1) -%]</td>
|
||
<td align="right" nowrap>[%- LxERP.format_amount(section.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td>
|
||
[%- UNLESS SELF.requirement_spec.is_template %]
|
||
<td align="right" nowrap>[%- LxERP.format_amount(section.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td>
|
||
[%- END %]
|
||
</tr>
|
||
[%- END -%]
|
||
[%- END -%]
|
||
... | ... | |
<tr>
|
||
<td colspan="3">[%- LxERP.t8("Sum for #1", SELF.requirement_spec.type.description) -%]:</td>
|
||
<td align="right" nowrap>[%- P.format_man_days(SELF.requirement_spec.time_estimation) -%]</td>
|
||
<td align="right" nowrap>[%- LxERP.format_amount(SELF.requirement_spec.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td>
|
||
[%- UNLESS SELF.requirement_spec.is_template %]
|
||
<td align="right" nowrap>[%- LxERP.format_amount(SELF.requirement_spec.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td>
|
||
[%- END %]
|
||
</tr>
|
||
</tfoot>
|
||
</table>
|
templates/webpages/requirement_spec/_show_time_and_cost_estimate_item.html | ||
---|---|---|
<td>[%- HTML.escape(item.risk.description) -%]</td>
|
||
[%- IF !item.children.size -%]
|
||
<td align="right" nowrap>[%- P.format_man_days(item.time_estimation, skip_zero=1) -%]</td>
|
||
<td align="right" nowrap>[%- LxERP.format_amount(item.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td>
|
||
[%- UNLESS SELF.requirement_spec.is_template %]
|
||
<td align="right" nowrap>[%- LxERP.format_amount(item.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td>
|
||
[%- END %]
|
||
[%- ELSE -%]
|
||
<td> </td>
|
||
<td> </td>
|
||
... | ... | |
<tr class="listrow subtotal">
|
||
<td style="padding-left: [%- (level + 1) * 50 -%]px" colspan="3">[%- LxERP.t8("Sum for #1", item.fb_number) -%]:</td>
|
||
<td align="right" nowrap>[%- P.format_man_days(item.time_estimation, skip_zero=1) -%]</td>
|
||
<td align="right" nowrap>[%- LxERP.format_amount(item.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td>
|
||
[%- UNLESS SELF.requirement_spec.is_template %]
|
||
<td align="right" nowrap>[%- LxERP.format_amount(item.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td>
|
||
[%- END %]
|
||
</tr>
|
||
[%- END -%]
|
templates/webpages/requirement_spec/show.html | ||
---|---|---|
<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><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>
|
||
[%- 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>
|
||
[%- END %]
|
||
</ul>
|
Auch abrufbar als: Unified diff
Zeitabschätzung auch in Vorlagen bearbeiten können