Revision a7db9b36
Von Moritz Bunkus vor mehr als 10 Jahren hinzugefügt
js/requirement_spec.js | ||
---|---|---|
398 | 398 |
, paste_template: { name: kivi.t8('Paste template'), icon: "paste", callback: kivi.requirement_spec.paste_template } |
399 | 399 |
}; |
400 | 400 |
|
401 |
$.contextMenu({ |
|
402 |
selector: '.edit-time-cost-estimate-context-menu', |
|
403 |
items: $.extend({ |
|
404 |
heading: { name: kivi.t8('Time/cost estimate actions'), className: 'context-menu-heading' } |
|
405 |
, save: { name: kivi.t8('Save'), icon: "save", callback: kivi.requirement_spec.standard_time_cost_estimate_ajax_call } |
|
406 |
, cancel: { name: kivi.t8('Cancel'), icon: "close", callback: kivi.requirement_spec.standard_time_cost_estimate_ajax_call } |
|
407 |
}, general_actions) |
|
408 |
}); |
|
409 |
|
|
410 | 401 |
$.contextMenu({ |
411 | 402 |
selector: '.versioned-copy-context-menu', |
412 | 403 |
items: $.extend({ |
... | ... | |
452 | 443 |
}, general_actions) |
453 | 444 |
}); |
454 | 445 |
|
446 |
$.contextMenu({ |
|
447 |
selector: '.edit-time-cost-estimate-context-menu', |
|
448 |
items: $.extend({ |
|
449 |
heading: { name: kivi.t8('Time/cost estimate actions'), className: 'context-menu-heading' } |
|
450 |
, save: { name: kivi.t8('Save'), icon: "save", callback: kivi.requirement_spec.standard_time_cost_estimate_ajax_call } |
|
451 |
, cancel: { name: kivi.t8('Cancel'), icon: "close", callback: kivi.requirement_spec.standard_time_cost_estimate_ajax_call } |
|
452 |
}, general_actions) |
|
453 |
}); |
|
454 |
|
|
455 | 455 |
$.contextMenu({ |
456 | 456 |
selector: '#content', |
457 | 457 |
items: general_actions |
templates/webpages/requirement_spec/_show_time_and_cost_estimate.html | ||
---|---|---|
17 | 17 |
<th>[%- LxERP.t8("Complexity") %]</th> |
18 | 18 |
<th>[%- LxERP.t8("Risk") %]</th> |
19 | 19 |
<th align="right">[%- LxERP.t8("Time estimate") %]</th> |
20 |
<th align="right">[%- LxERP.t8("Cost") %]</th> |
|
20 |
[%- UNLESS SELF.requirement_spec.is_template %] |
|
21 |
<th align="right">[%- LxERP.t8("Cost") %]</th> |
|
22 |
[%- END %] |
|
21 | 23 |
</tr> |
22 | 24 |
|
23 | 25 |
<tr class="listrow section"> |
... | ... | |
35 | 37 |
<tr class="listrow subtotal"> |
36 | 38 |
<td style="padding-left: 50px" colspan="3" class="sum">[%- LxERP.t8("Sum for section") -%]:</td> |
37 | 39 |
<td align="right" nowrap>[%- P.format_man_days(section.time_estimation, 'skip_zero'=1) -%]</td> |
38 |
<td align="right" nowrap>[%- LxERP.format_amount(section.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td> |
|
40 |
[%- UNLESS SELF.requirement_spec.is_template %] |
|
41 |
<td align="right" nowrap>[%- LxERP.format_amount(section.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td> |
|
42 |
[%- END %] |
|
39 | 43 |
</tr> |
40 | 44 |
[%- END -%] |
41 | 45 |
[%- END -%] |
... | ... | |
45 | 49 |
<tr> |
46 | 50 |
<td colspan="3">[%- LxERP.t8("Sum for #1", SELF.requirement_spec.type.description) -%]:</td> |
47 | 51 |
<td align="right" nowrap>[%- P.format_man_days(SELF.requirement_spec.time_estimation) -%]</td> |
48 |
<td align="right" nowrap>[%- LxERP.format_amount(SELF.requirement_spec.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td> |
|
52 |
[%- UNLESS SELF.requirement_spec.is_template %] |
|
53 |
<td align="right" nowrap>[%- LxERP.format_amount(SELF.requirement_spec.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td> |
|
54 |
[%- END %] |
|
49 | 55 |
</tr> |
50 | 56 |
</tfoot> |
51 | 57 |
</table> |
templates/webpages/requirement_spec/_show_time_and_cost_estimate_item.html | ||
---|---|---|
7 | 7 |
<td>[%- HTML.escape(item.risk.description) -%]</td> |
8 | 8 |
[%- IF !item.children.size -%] |
9 | 9 |
<td align="right" nowrap>[%- P.format_man_days(item.time_estimation, skip_zero=1) -%]</td> |
10 |
<td align="right" nowrap>[%- LxERP.format_amount(item.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td> |
|
10 |
[%- UNLESS SELF.requirement_spec.is_template %] |
|
11 |
<td align="right" nowrap>[%- LxERP.format_amount(item.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td> |
|
12 |
[%- END %] |
|
11 | 13 |
[%- ELSE -%] |
12 | 14 |
<td> </td> |
13 | 15 |
<td> </td> |
... | ... | |
24 | 26 |
<tr class="listrow subtotal"> |
25 | 27 |
<td style="padding-left: [%- (level + 1) * 50 -%]px" colspan="3">[%- LxERP.t8("Sum for #1", item.fb_number) -%]:</td> |
26 | 28 |
<td align="right" nowrap>[%- P.format_man_days(item.time_estimation, skip_zero=1) -%]</td> |
27 |
<td align="right" nowrap>[%- LxERP.format_amount(item.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td> |
|
29 |
[%- UNLESS SELF.requirement_spec.is_template %] |
|
30 |
<td align="right" nowrap>[%- LxERP.format_amount(item.time_estimation * SELF.requirement_spec.hourly_rate, 2) -%] EUR</td> |
|
31 |
[%- END %] |
|
28 | 32 |
</tr> |
29 | 33 |
[%- END -%] |
templates/webpages/requirement_spec/show.html | ||
---|---|---|
10 | 10 |
<ul> |
11 | 11 |
<li><a href="#function-blocks-tab">[%- LxERP.t8("Content") %]</a></li> |
12 | 12 |
<li><a href="controller.pl?action=RequirementSpec/ajax_edit&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> |
|
13 | 14 |
[%- UNLESS SELF.requirement_spec.is_template %] |
14 |
<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> |
|
15 | 15 |
<li><a href="controller.pl?action=RequirementSpecVersion/list&requirement_spec_id=[% HTML.url(SELF.requirement_spec.id) %]">[%- LxERP.t8("Versions") %]</a></li> |
16 | 16 |
[%- END %] |
17 | 17 |
</ul> |
Auch abrufbar als: Unified diff
Zeitabschätzung auch in Vorlagen bearbeiten können