git-svn-id: http://redmine.rubyforge.org/svn/trunk@1689 e93f8b46-1217-0410-a6f0-8f06a7374b81tags/0.8.0-RC1
@@ -39,6 +39,8 @@ class CustomFieldsController < ApplicationController | |||
@custom_field = UserCustomField.new(params[:custom_field]) | |||
when "ProjectCustomField" | |||
@custom_field = ProjectCustomField.new(params[:custom_field]) | |||
when "TimeEntryCustomField" | |||
@custom_field = TimeEntryCustomField.new(params[:custom_field]) | |||
else | |||
redirect_to :action => 'list' | |||
return |
@@ -160,6 +160,7 @@ class IssuesController < ApplicationController | |||
@allowed_statuses = @issue.new_statuses_allowed_to(User.current) | |||
@priorities = Enumeration::get_values('IPRI') | |||
@edit_allowed = User.current.allowed_to?(:edit_issues, @project) | |||
@time_entry = TimeEntry.new | |||
@notes = params[:notes] | |||
journal = @issue.init_journal(User.current, @notes) |
@@ -19,6 +19,7 @@ module CustomFieldsHelper | |||
def custom_fields_tabs | |||
tabs = [{:name => 'IssueCustomField', :label => :label_issue_plural}, | |||
{:name => 'TimeEntryCustomField', :label => :label_spent_time}, | |||
{:name => 'ProjectCustomField', :label => :label_project_plural}, | |||
{:name => 'UserCustomField', :label => :label_user_plural} | |||
] |
@@ -25,6 +25,7 @@ class TimeEntry < ActiveRecord::Base | |||
attr_protected :project_id, :user_id, :tyear, :tmonth, :tweek | |||
acts_as_customizable | |||
acts_as_event :title => Proc.new {|o| "#{o.user}: #{lwr(:label_f_hour, o.hours)} (#{(o.issue || o.project).event_title})"}, | |||
:url => Proc.new {|o| {:controller => 'timelog', :action => 'details', :project_id => o.project}}, | |||
:author => :user, |
@@ -0,0 +1,23 @@ | |||
# redMine - project management software | |||
# Copyright (C) 2008 Jean-Philippe Lang | |||
# | |||
# This program is free software; you can redistribute it and/or | |||
# modify it under the terms of the GNU General Public License | |||
# as published by the Free Software Foundation; either version 2 | |||
# of the License, or (at your option) any later version. | |||
# | |||
# This program is distributed in the hope that it will be useful, | |||
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
# GNU General Public License for more details. | |||
# | |||
# You should have received a copy of the GNU General Public License | |||
# along with this program; if not, write to the Free Software | |||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
class TimeEntryCustomField < CustomField | |||
def type_name | |||
:label_spent_time | |||
end | |||
end | |||
@@ -105,6 +105,9 @@ when "IssueCustomField" %> | |||
<% when "ProjectCustomField" %> | |||
<p><%= f.check_box :is_required %></p> | |||
<% when "TimeEntryCustomField" %> | |||
<p><%= f.check_box :is_required %></p> | |||
<% end %> | |||
</div> | |||
<%= javascript_tag "toggle_custom_field_format();" %> |
@@ -25,6 +25,9 @@ | |||
<p><%= time_entry.select :activity_id, activity_collection_for_select_options %></p> | |||
</div> | |||
<p><%= time_entry.text_field :comments, :size => 60 %></p> | |||
<% @time_entry.custom_field_values.each do |value| %> | |||
<p><%= custom_field_tag_with_label :time_entry, value %></p> | |||
<% end %> | |||
<% end %> | |||
</fieldset> | |||
<% end %> |
@@ -10,6 +10,9 @@ | |||
<p><%= f.text_field :hours, :size => 6, :required => true %></p> | |||
<p><%= f.text_field :comments, :size => 100 %></p> | |||
<p><%= f.select :activity_id, activity_collection_for_select_options, :required => true %></p> | |||
<% @time_entry.custom_field_values.each do |value| %> | |||
<p><%= custom_field_tag_with_label :time_entry, value %></p> | |||
<% end %> | |||
</div> | |||
<%= submit_tag l(:button_save) %> |