From 724dd470ba409530f0351067a220a8bcfaa9d30a Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Sat, 1 Aug 2009 10:57:10 -0700 Subject: [PATCH] Removed the Redmine core template and Redmine core hooks instead. --- app/views/users/_membership_rate.html.erb | 23 ++++++++ app/views/users/_memberships.rhtml | 72 ----------------------- init.rb | 1 + lib/rate_memberships_hook.rb | 15 +++++ 4 files changed, 39 insertions(+), 72 deletions(-) create mode 100644 app/views/users/_membership_rate.html.erb delete mode 100644 app/views/users/_memberships.rhtml create mode 100644 lib/rate_memberships_hook.rb diff --git a/app/views/users/_membership_rate.html.erb b/app/views/users/_membership_rate.html.erb new file mode 100644 index 0000000..9a7ac3a --- /dev/null +++ b/app/views/users/_membership_rate.html.erb @@ -0,0 +1,23 @@ + + <% rate = Rate.for(user, membership.project) %> + + <% if rate.nil? || rate.default? %> + <% if rate && rate.default? %> + <%= number_to_currency(rate.amount) %> + <% end %> + + <% remote_form_for(:rate, :url => formatted_rates_path('js')) do |f| %> + + <%= f.text_field :amount %> + <%= f.hidden_field :date_in_effect, :value => Date.today.to_s, :id => "" %> + <%= f.hidden_field :project_id, :value => membership.project.id %> + <%= f.hidden_field :user_id, :value => user.id %> + <%= hidden_field_tag "back_url", url_for(:controller => 'users', :action => 'edit', :id => user, :tab => 'memberships') %> + + <%= submit_tag(l(:rate_label_set_rate), :class => "small") %> + <% end %> + <% else %> + <%= link_to number_to_currency(rate.amount), { :action => 'edit', :id => user, :tab => 'rates'} %> + <% end %> + + diff --git a/app/views/users/_memberships.rhtml b/app/views/users/_memberships.rhtml deleted file mode 100644 index bc51cd4..0000000 --- a/app/views/users/_memberships.rhtml +++ /dev/null @@ -1,72 +0,0 @@ -<%# TODO: Override the default view until post 0.8.x which will have the hooks %> -<% if @memberships && @memberships.any? %> - - - - - - <%# TODO: Hook %> - - - <% @memberships.each do |membership| %> - <% next if membership.new_record? %> - - - - - <%# TODO: Hook %> - - - -<% end; reset_cycle %> -
<%= l(:label_project) %><%= l(:label_role) %><%= l(:rate_label_rate) %> <%= l(:rate_label_currency) %> -
<%=h membership.project %> - <% form_tag({ :action => 'edit_membership', :id => @user, :membership_id => membership }) do %> - <%= select_tag 'membership[role_id]', options_from_collection_for_select(@roles, "id", "name", membership.role_id) %> - <%= submit_tag l(:button_change), :class => "small" %> - <% end %> - - <%= link_to l(:button_delete), {:action => 'destroy_membership', :id => @user, :membership_id => membership }, :method => :post, :class => 'icon icon-del' %> - - <% rate = Rate.for(@user, membership.project) %> - - <% if rate.nil? || rate.default? %> - <% if rate && rate.default? %> - <%= number_to_currency(rate.amount) %> - <% end %> - - <% remote_form_for(:rate, :url => formatted_rates_path('js')) do |f| %> - - <%= f.text_field :amount %> - <%= f.hidden_field :date_in_effect, :value => Date.today.to_s, :id => "" %> - <%= f.hidden_field :project_id, :value => membership.project.id %> - <%= f.hidden_field :user_id, :value => @user.id %> - <%= hidden_field_tag "back_url", url_for(:controller => 'users', :action => 'edit', :id => @user, :tab => 'memberships') %> - - <%= submit_tag(l(:rate_label_set_rate), :class => "small") %> - <% end %> - <% else %> - <%= link_to number_to_currency(rate.amount), { :action => 'edit', :id => @user, :tab => 'rates'} %> - <% end %> - -
-<% else %> -

<%= l(:label_no_data) %>

-<% end %> - -<% if @projects.any? %> -

-
-<% form_tag({ :action => 'edit_membership', :id => @user }) do %> -<%# 0.8.x compatibility %> -<% if respond_to?(:options_for_membership_project_select) %> -<%= select_tag 'membership[project_id]', options_for_membership_project_select(@user, @projects) %> -<% else %> -<%= select_tag 'membership[project_id]', projects_options_for_select(@projects) %> -<% end %> -<%= l(:label_role) %>: -<%= select_tag 'membership[role_id]', options_from_collection_for_select(@roles, "id", "name") %> -<%= submit_tag l(:button_add) %> -<% end %> -

-<% end %> diff --git a/init.rb b/init.rb index b66911a..0fb04fc 100644 --- a/init.rb +++ b/init.rb @@ -15,6 +15,7 @@ end # Hooks require 'rate_project_hook' +require 'rate_memberships_hook' Redmine::Plugin.register :redmine_rate do name 'Rate Plugin' diff --git a/lib/rate_memberships_hook.rb b/lib/rate_memberships_hook.rb new file mode 100644 index 0000000..ed5ccb8 --- /dev/null +++ b/lib/rate_memberships_hook.rb @@ -0,0 +1,15 @@ +class RateMembershipsHook < Redmine::Hook::ViewListener + def view_users_memberships_table_header(context={}) + return content_tag(:th, l(:rate_label_rate) + ' ' + l(:rate_label_currency)) + end + + def view_users_memberships_table_row(context={}) + return context[:controller].send(:render_to_string, { + :partial => 'users/membership_rate', + :locals => { + :membership => context[:membership], + :user => context[:user] + }}) + + end +end