[#4600] Replaced todo and later release notes with icons
This commit is contained in:
@@ -159,4 +159,9 @@ module ContractsHelper
|
|||||||
})
|
})
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def release(version=5, message='')
|
||||||
|
return '' unless (1..5).include?(version)
|
||||||
|
image_tag("todo#{version}.png", :plugin => 'redmine_contracts', :title => "Coming in release #{version}. #{message}")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -2,15 +2,15 @@
|
|||||||
<%= content_tag(:h2, h(contract.name)) %>
|
<%= content_tag(:h2, h(contract.name)) %>
|
||||||
|
|
||||||
<div class="title-bar-actions">
|
<div class="title-bar-actions">
|
||||||
<span><a href="#TODO-release-4" class="">Log time (Release 4)</a></span>
|
<span><a href="#TODO-release-4" class=""><%= release(4, "Log time") %></a></span>
|
||||||
|
|
||||||
<span class="meta-sep"> | </span>
|
<span class="meta-sep"> | </span>
|
||||||
|
|
||||||
<span id="watcher"><a class="icon icon-fav-off" href="#TODO-release-3" onclick="">Watch (Release 3)</a></span>
|
<span id="watcher"><a class="icon icon-fav-off" href="#TODO-release-3" onclick=""><%= release(3, "Watch") %></a></span>
|
||||||
|
|
||||||
<span class="meta-sep"> | </span>
|
<span class="meta-sep"> | </span>
|
||||||
|
|
||||||
<span><a href="#TODO">Copy (Release ?)</a></span>
|
<span><a href="#TODO"><%= release(5, "Copy") %></a></span>
|
||||||
<span class="meta-sep"> | </span>
|
<span class="meta-sep"> | </span>
|
||||||
|
|
||||||
<div class="update button-large">
|
<div class="update button-large">
|
||||||
@@ -18,8 +18,3 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<%# TODO: release 3/4, contract messages
|
|
||||||
<div class="error_msg">
|
|
||||||
<p>There is $243 worth of time clocked to issues that are not assigned to any deliverables. <span>Please update the orphaned issues.</span> </p>
|
|
||||||
</div>
|
|
||||||
%>
|
|
||||||
|
|||||||
@@ -19,8 +19,8 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<th><%= l(:field_id) %></th>
|
<th><%= l(:field_id) %></th>
|
||||||
<th><%= l(:field_name) %></th>
|
<th><%= l(:field_name) %></th>
|
||||||
<%# TODO: Release 5, Status %>
|
<th><%= l(:field_status) %></th>
|
||||||
<%# TODO: Release 5, Type %>
|
<th><%= l(:field_type) %></th>
|
||||||
<th><%= l(:field_account_executive_short) %></th>
|
<th><%= l(:field_account_executive_short) %></th>
|
||||||
<th><%= l(:field_total_budget) %></th>
|
<th><%= l(:field_total_budget) %></th>
|
||||||
<th><%= l(:field_end_date) %></th>
|
<th><%= l(:field_end_date) %></th>
|
||||||
@@ -30,6 +30,8 @@
|
|||||||
<% content_tag_for(:tr, contract, :class => cycle('','odd')) do %>
|
<% content_tag_for(:tr, contract, :class => cycle('','odd')) do %>
|
||||||
<td class="id"><%= link_to(h(contract.id), contract_path(@project, contract)) %></td>
|
<td class="id"><%= link_to(h(contract.id), contract_path(@project, contract)) %></td>
|
||||||
<td class="name"><%= link_to(h(contract.name), contract_path(@project, contract)) %></td>
|
<td class="name"><%= link_to(h(contract.name), contract_path(@project, contract)) %></td>
|
||||||
|
<td><%= release(5, "Contract Status") %></td>
|
||||||
|
<td><%= release(5, "Contract Type") %></td>
|
||||||
<td class="account-executive"><%= h contract.account_executive.name %></td>
|
<td class="account-executive"><%= h contract.account_executive.name %></td>
|
||||||
<td class="total-budget"><%= h(format_value_field_for_contracts(contract.total_budget)) %></td>
|
<td class="total-budget"><%= h(format_value_field_for_contracts(contract.total_budget)) %></td>
|
||||||
<td class="end-date"><%= h format_date(contract.end_date) %></td>
|
<td class="end-date"><%= h format_date(contract.end_date) %></td>
|
||||||
@@ -43,9 +45,8 @@
|
|||||||
<h2>Inactive Contracts</h2>
|
<h2>Inactive Contracts</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%# TODO: split contracts by active and inactive %>
|
|
||||||
<p class="nodata"><%= l(:label_no_data) %></p>
|
<p class="nodata"><%= l(:label_no_data) %></p>
|
||||||
<p>TODO: Release 5 (Contract Status)</p>
|
<p><%= release(5, "Contract Status. Split contracts by active and inactive") %></p>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@@ -15,9 +15,16 @@
|
|||||||
|
|
||||||
<div class="c_overview">
|
<div class="c_overview">
|
||||||
<table class="left">
|
<table class="left">
|
||||||
<%= show_field(resource, :status, :html_options => {:class => 'contract-status'}) %>
|
<tr class="contract-status">
|
||||||
|
<%# show_field(resource, :status, :html_options => {:class => 'contract-status'}) %>
|
||||||
|
<td colspan="2"><%= release(5, "Contract status") %></td>
|
||||||
|
</tr>
|
||||||
<%= show_field(resource, :account_executive, :html_options => {:class => 'contract-account-manager'}) %>
|
<%= show_field(resource, :account_executive, :html_options => {:class => 'contract-account-manager'}) %>
|
||||||
<%= show_field(resource, :contract_type, :html_options => {:class => 'contract-type'}) %>
|
<tr class="contract-type">
|
||||||
|
<%# show_field(resource, :contract_type, :html_options => {:class => 'contract-type'}) %>
|
||||||
|
<td colspan="2"><%= release(5, "Contract type") %></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
<table class="middle">
|
<table class="middle">
|
||||||
@@ -57,7 +64,10 @@
|
|||||||
<%= show_budget_field(resource, :fixed_markup_spent, :fixed_markup_budget, :format => :format_value_field_for_contracts, :html_options => {:class => 'contract-markup'}) %>
|
<%= show_budget_field(resource, :fixed_markup_spent, :fixed_markup_budget, :format => :format_value_field_for_contracts, :html_options => {:class => 'contract-markup'}) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%= show_budget_field(resource, :profit_spent, :profit_budget, :format => :format_value_field_for_contracts, :html_options => {:class => 'contract-profit'}) %>
|
<%= show_budget_field(resource, :profit_spent, :profit_budget, :format => :format_value_field_for_contracts, :html_options => {:class => 'contract-profit'}) %>
|
||||||
<%= show_budget_field(resource, :discount_spent, :discount_budget, :format => :format_value_field_for_contracts, :html_options => {:class => 'contract-discount'}) %>
|
<tr class="contract-discount">
|
||||||
|
<%# show_budget_field(resource, :discount_spent, :discount_budget, :format => :format_value_field_for_contracts, :html_options => {:class => 'contract-discount'}) %>
|
||||||
|
<td colspan="3"><%= release(4, "Discount") %></td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td colspan="3">
|
<td colspan="3">
|
||||||
@@ -81,8 +91,8 @@
|
|||||||
<%= content_tag(:h3, l(:field_deliverable_plural)) %>
|
<%= content_tag(:h3, l(:field_deliverable_plural)) %>
|
||||||
|
|
||||||
<div class="actions">
|
<div class="actions">
|
||||||
<a href="#TODO-release-2">CSV (Release 2)</a>
|
<a href="#TODO-release-2"><%= release(2, "CSV") %></a>
|
||||||
<a href="#TODO-release?">View All (9) (Release ?)</a>
|
<a href="#TODO-release?"><%= release(5, "View All/Pagination") %></a>
|
||||||
<%= link_to(l(:button_add_new), new_contract_deliverable_path(@project, resource), :id => 'new-deliverable') %>
|
<%= link_to(l(:button_add_new), new_contract_deliverable_path(@project, resource), :id => 'new-deliverable') %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -111,7 +121,7 @@
|
|||||||
<td width="10%" class="arrow end-date"><span><%= h format_date(deliverable.end_date) %></span></td>
|
<td width="10%" class="arrow end-date"><span><%= h format_date(deliverable.end_date) %></span></td>
|
||||||
<td width="2%" class="type"><%= h deliverable.short_type %></td>
|
<td width="2%" class="type"><%= h deliverable.short_type %></td>
|
||||||
<td width="25%" class="title"><%= h deliverable.title %></td>
|
<td width="25%" class="title"><%= h deliverable.title %></td>
|
||||||
<td width="15%">TODO: Release 5</td>
|
<td width="15%"><%= release(5, "Deliverable status") %></td>
|
||||||
<td width="15%" class="manager"><%= h deliverable.manager.try(:name) %></td>
|
<td width="15%" class="manager"><%= h deliverable.manager.try(:name) %></td>
|
||||||
<%= format_budget_for_deliverable(deliverable, deliverable.labor_budget_spent, deliverable.labor_budget_total, :class => 'labor') %>
|
<%= format_budget_for_deliverable(deliverable, deliverable.labor_budget_spent, deliverable.labor_budget_total, :class => 'labor') %>
|
||||||
<%= format_budget_for_deliverable(deliverable, deliverable.overhead_spent, deliverable.overhead_budget_total, :class => 'overhead') %>
|
<%= format_budget_for_deliverable(deliverable, deliverable.overhead_spent, deliverable.overhead_budget_total, :class => 'overhead') %>
|
||||||
@@ -130,7 +140,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% end %> <%# div_for(resource) %>
|
<% end %> <%# div_for(resource) %>
|
||||||
<p>TODO: Release 4, Milestones</p>
|
<p><%= release(4, "Milestones") %></p>
|
||||||
<!--
|
<!--
|
||||||
<div id="milestones">
|
<div id="milestones">
|
||||||
|
|
||||||
@@ -205,6 +215,6 @@
|
|||||||
</div>
|
</div>
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<p>TODO: Release 2+, history</p>
|
<p><%= release(3, "history") %></p>
|
||||||
|
|
||||||
<% html_title "#{l(:text_contracts)} - #{h(resource.name)}" %>
|
<% html_title "#{l(:text_contracts)} - #{h(resource.name)}" %>
|
||||||
|
|||||||
@@ -24,21 +24,21 @@
|
|||||||
|
|
||||||
<table>
|
<table>
|
||||||
<%= show_field(deliverable, :current_period, :html_options => {:class => 'deliverable-current-period'}) if deliverable.retainer? %>
|
<%= show_field(deliverable, :current_period, :html_options => {:class => 'deliverable-current-period'}) if deliverable.retainer? %>
|
||||||
|
<tr><td colspan="2"><%= release(5, "Retainer lightbox") %></td></tr>
|
||||||
<%= show_field(deliverable, :start_date, :format => :format_date, :html_options => {:class => 'deliverable-start-date'}) %>
|
<%= show_field(deliverable, :start_date, :format => :format_date, :html_options => {:class => 'deliverable-start-date'}) %>
|
||||||
<%= show_field(deliverable, :end_date, :format => :format_date, :html_options => {:class => 'deliverable-end-date'}) %>
|
<%= show_field(deliverable, :end_date, :format => :format_date, :html_options => {:class => 'deliverable-end-date'}) %>
|
||||||
</table>
|
</table>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%# TODO: Release 2, skinning port %>
|
|
||||||
<div class="finance">
|
<div class="finance">
|
||||||
<table>
|
<table>
|
||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th> </th>
|
<th> </th>
|
||||||
<th>Spent</th>
|
<th><%= l(:field_spent) %></th>
|
||||||
<th>Budget</th>
|
<th><%= l(:field_budget) %></th>
|
||||||
<th>Hours</th>
|
<th><%= l(:field_hours) %></th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
<tfoot>
|
<tfoot>
|
||||||
@@ -51,7 +51,7 @@
|
|||||||
</tfoot>
|
</tfoot>
|
||||||
<tbody>
|
<tbody>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="l"><a href="#"><strong>Labor</strong></a></td>
|
<td class="l"><a href="#"><strong><%= l(:field_labor) %></strong></a><%= release(3, "Deliverable lightbox") %></td>
|
||||||
<td class="labor_budget_spent"><%= h(format_value_field_for_contracts(deliverable.labor_budget_spent(validated_period))) %></td>
|
<td class="labor_budget_spent"><%= h(format_value_field_for_contracts(deliverable.labor_budget_spent(validated_period))) %></td>
|
||||||
<td class="labor_budget_total"><%= h(format_value_field_for_contracts(deliverable.labor_budget_total(validated_period))) %></td>
|
<td class="labor_budget_total"><%= h(format_value_field_for_contracts(deliverable.labor_budget_total(validated_period))) %></td>
|
||||||
<td class="labor_hours">
|
<td class="labor_hours">
|
||||||
@@ -59,7 +59,7 @@
|
|||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td class="l"><a href="#"><strong>Overhead</strong></a></td>
|
<td class="l"><a href="#"><strong><%= l(:field_overhead) %></strong></a><%= release(3, "Deliverable lightbox") %></td>
|
||||||
<td class="overhead_budget_spent"><%= h(format_value_field_for_contracts(deliverable.overhead_spent(validated_period))) %></td>
|
<td class="overhead_budget_spent"><%= h(format_value_field_for_contracts(deliverable.overhead_spent(validated_period))) %></td>
|
||||||
<td class="overhead_budget_total"><%= h(format_value_field_for_contracts(deliverable.overhead_budget_total(validated_period))) %></td>
|
<td class="overhead_budget_total"><%= h(format_value_field_for_contracts(deliverable.overhead_budget_total(validated_period))) %></td>
|
||||||
<td class="overhead_hours">
|
<td class="overhead_hours">
|
||||||
@@ -87,13 +87,13 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td class="l">Profit</td>
|
<td class="l"><%= l(:field_profit) %></td>
|
||||||
<td><%= h(format_value_field_for_contracts(deliverable.profit_left(validated_period))) %></td>
|
<td><%= h(format_value_field_for_contracts(deliverable.profit_left(validated_period))) %></td>
|
||||||
<td><%= h(format_value_field_for_contracts(deliverable.profit_budget(validated_period))) %></td>
|
<td><%= h(format_value_field_for_contracts(deliverable.profit_budget(validated_period))) %></td>
|
||||||
<td></td>
|
<td></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr class="total">
|
<tr class="total">
|
||||||
<td class="l"><strong>Total:</strong></td>
|
<td class="l"><strong><%= l(:field_total) %>:</strong></td>
|
||||||
<td class="total_spent"><strong><%= h(format_value_field_for_contracts(deliverable.total_spent(validated_period))) %></strong></td>
|
<td class="total_spent"><strong><%= h(format_value_field_for_contracts(deliverable.total_spent(validated_period))) %></strong></td>
|
||||||
<td class="total"><strong><%= h(format_value_field_for_contracts(deliverable.total(validated_period))) %></strong></td>
|
<td class="total"><strong><%= h(format_value_field_for_contracts(deliverable.total(validated_period))) %></strong></td>
|
||||||
<td class="total_hours">
|
<td class="total_hours">
|
||||||
|
|||||||
@@ -12,9 +12,8 @@
|
|||||||
<%= labor_budget.hidden_field(:year) %>
|
<%= labor_budget.hidden_field(:year) %>
|
||||||
<%= labor_budget.hidden_field(:month) %>
|
<%= labor_budget.hidden_field(:month) %>
|
||||||
<tr>
|
<tr>
|
||||||
<%# TODO: Select field for the Time Entry Activity in a td %>
|
|
||||||
<td>
|
<td>
|
||||||
<select><option>TODO: Release 3</option></select>
|
<%= release(3, "Select field for the Time Entry Activity in a td") %>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p class="inline-hints"><%= labor_budget.label(:hours, l(:text_short_hours)) %></p>
|
<p class="inline-hints"><%= labor_budget.label(:hours, l(:text_short_hours)) %></p>
|
||||||
@@ -24,9 +23,8 @@
|
|||||||
<p class="inline-hints"><%= labor_budget.label(:budget, l(:text_dollar_sign)) %></p>
|
<p class="inline-hints"><%= labor_budget.label(:budget, l(:text_dollar_sign)) %></p>
|
||||||
<%= labor_budget.text_field(:budget, :value => format_deliverable_value_fields(labor_budget.object.budget), :class => 'financial') %>
|
<%= labor_budget.text_field(:budget, :value => format_deliverable_value_fields(labor_budget.object.budget), :class => 'financial') %>
|
||||||
</td>
|
</td>
|
||||||
<%# TODO: Green Add button for multiple records %>
|
|
||||||
<td>
|
<td>
|
||||||
Todo: Add button (Release 3)
|
<%= release(3, "Green Add button for multiple records") %>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<% end %>
|
<% end %>
|
||||||
@@ -41,9 +39,8 @@
|
|||||||
<%= overhead_budget.hidden_field(:year) %>
|
<%= overhead_budget.hidden_field(:year) %>
|
||||||
<%= overhead_budget.hidden_field(:month) %>
|
<%= overhead_budget.hidden_field(:month) %>
|
||||||
<tr>
|
<tr>
|
||||||
<%# TODO: Select field for the Time Entry Activity in a td %>
|
|
||||||
<td>
|
<td>
|
||||||
<select><option>TODO: Release 3</option></select>
|
<%= release(3, "Select field for the Time Entry Activity in a td") %>
|
||||||
</td>
|
</td>
|
||||||
<td>
|
<td>
|
||||||
<p class="inline-hints"><%= overhead_budget.label(:hours, l(:text_short_hours)) %></p>
|
<p class="inline-hints"><%= overhead_budget.label(:hours, l(:text_short_hours)) %></p>
|
||||||
@@ -53,9 +50,8 @@
|
|||||||
<p class="inline-hints"><%= overhead_budget.label(:budget, l(:text_dollar_sign)) %></p>
|
<p class="inline-hints"><%= overhead_budget.label(:budget, l(:text_dollar_sign)) %></p>
|
||||||
<%= overhead_budget.text_field(:budget, :value => format_deliverable_value_fields(overhead_budget.object.budget), :class => 'financial') %>
|
<%= overhead_budget.text_field(:budget, :value => format_deliverable_value_fields(overhead_budget.object.budget), :class => 'financial') %>
|
||||||
</td>
|
</td>
|
||||||
<%# TODO: Green Add button for multiple records %>
|
|
||||||
<td>
|
<td>
|
||||||
Todo: Add button (Release 3)
|
<%= release(3, "Green Add button for multiple records") %>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<% end %>
|
<% end %>
|
||||||
@@ -95,7 +91,7 @@
|
|||||||
<%= fixed_budget.text_area(:description, :class => 'wiki-edit', :rows => '5', :id => "fixed-description#{fixed_budget.object.object_id}") %>
|
<%= fixed_budget.text_area(:description, :class => 'wiki-edit', :rows => '5', :id => "fixed-description#{fixed_budget.object.object_id}") %>
|
||||||
<%= wikitoolbar_for "fixed-description#{fixed_budget.object.object_id}" %>
|
<%= wikitoolbar_for "fixed-description#{fixed_budget.object.object_id}" %>
|
||||||
|
|
||||||
<p>Todo: Add button (Release 3)</p>
|
<p><%= release(3, "Green Add button for multiple records") %></p>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
BIN
assets/images/todo1.png
Normal file
BIN
assets/images/todo1.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 200 B |
BIN
assets/images/todo2.png
Normal file
BIN
assets/images/todo2.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 207 B |
BIN
assets/images/todo3.png
Normal file
BIN
assets/images/todo3.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 203 B |
BIN
assets/images/todo4.png
Normal file
BIN
assets/images/todo4.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 197 B |
BIN
assets/images/todo5.png
Normal file
BIN
assets/images/todo5.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 209 B |
@@ -73,5 +73,7 @@ en:
|
|||||||
field_budget: Budget
|
field_budget: Budget
|
||||||
field_markup: Markup
|
field_markup: Markup
|
||||||
field_paid: Paid
|
field_paid: Paid
|
||||||
|
field_spent: Spent
|
||||||
|
field_profit: Profit
|
||||||
text_error_message_orphaned_time: "There is {{amount}} worth of time clocked to issues that are not assigned to any deliverables."
|
text_error_message_orphaned_time: "There is {{amount}} worth of time clocked to issues that are not assigned to any deliverables."
|
||||||
text_error_message_update_orphaned_time: "Please update the orphaned issues."
|
text_error_message_update_orphaned_time: "Please update the orphaned issues."
|
||||||
|
|||||||
@@ -54,8 +54,8 @@ class ContractsShowTest < ActionController::IntegrationTest
|
|||||||
assert_select '.contract-fixed .budget'
|
assert_select '.contract-fixed .budget'
|
||||||
assert_select '.contract-profit .spent'
|
assert_select '.contract-profit .spent'
|
||||||
assert_select '.contract-profit .budget'
|
assert_select '.contract-profit .budget'
|
||||||
assert_select '.contract-discount .spent'
|
# assert_select '.contract-discount .spent'
|
||||||
assert_select '.contract-discount .budget'
|
# assert_select '.contract-discount .budget'
|
||||||
assert_select '.contract-total .spent'
|
assert_select '.contract-total .spent'
|
||||||
assert_select '.contract-total .budget'
|
assert_select '.contract-total .budget'
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user