obsolete.ChilliProject/app/controllers/timelog_controller.rb

220 lines
8.4 KiB
Ruby
Raw Normal View History

# redMine - project management software
# Copyright (C) 2006-2007 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.
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
#
# 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.
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
#
# 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 TimelogController < ApplicationController
menu_item :issues
before_filter :find_project, :authorize, :only => [:new, :create, :edit, :update, :destroy]
before_filter :find_optional_project, :only => [:index]
helper :sort
include SortHelper
helper :issues
include TimelogHelper
helper :custom_fields
include CustomFieldsHelper
def index
sort_init 'spent_on', 'desc'
sort_update 'spent_on' => 'spent_on',
'user' => 'user_id',
'activity' => 'activity_id',
'project' => "#{Project.table_name}.name",
'issue' => 'issue_id',
'hours' => 'hours'
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
cond = ARCondition.new
if @project.nil?
cond << Project.allowed_to_condition(User.current, :view_time_entries)
elsif @issue.nil?
cond << @project.project_condition(Setting.display_subprojects_issues?)
else
cond << "#{Issue.table_name}.root_id = #{@issue.root_id} AND #{Issue.table_name}.lft >= #{@issue.lft} AND #{Issue.table_name}.rgt <= #{@issue.rgt}"
end
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
retrieve_date_range
cond << ['spent_on BETWEEN ? AND ?', @from, @to]
TimeEntry.visible_by(User.current) do
respond_to do |format|
format.html {
# Paginate results
@entry_count = TimeEntry.count(:include => [:project, :issue], :conditions => cond.conditions)
@entry_pages = Paginator.new self, @entry_count, per_page_option, params['page']
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
@entries = TimeEntry.find(:all,
:include => [:project, :activity, :user, {:issue => :tracker}],
:conditions => cond.conditions,
:order => sort_clause,
:limit => @entry_pages.items_per_page,
:offset => @entry_pages.current.offset)
@total_hours = TimeEntry.sum(:hours, :include => [:project, :issue], :conditions => cond.conditions).to_f
render :layout => !request.xhr?
}
format.atom {
entries = TimeEntry.find(:all,
:include => [:project, :activity, :user, {:issue => :tracker}],
:conditions => cond.conditions,
:order => "#{TimeEntry.table_name}.created_on DESC",
:limit => Setting.feeds_limit.to_i)
render_feed(entries, :title => l(:label_spent_time))
}
format.csv {
# Export all entries
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
@entries = TimeEntry.find(:all,
:include => [:project, :activity, :user, {:issue => [:tracker, :assigned_to, :priority]}],
:conditions => cond.conditions,
:order => sort_clause)
send_data(entries_to_csv(@entries), :type => 'text/csv; header=present', :filename => 'timelog.csv')
}
end
end
end
def new
@time_entry ||= TimeEntry.new(:project => @project, :issue => @issue, :user => User.current, :spent_on => User.current.today)
@time_entry.attributes = params[:time_entry]
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
call_hook(:controller_timelog_edit_before_save, { :params => params, :time_entry => @time_entry })
render :action => 'edit'
end
verify :method => :post, :only => :create, :render => {:nothing => true, :status => :method_not_allowed }
def create
@time_entry ||= TimeEntry.new(:project => @project, :issue => @issue, :user => User.current, :spent_on => User.current.today)
@time_entry.attributes = params[:time_entry]
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
call_hook(:controller_timelog_edit_before_save, { :params => params, :time_entry => @time_entry })
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
if @time_entry.save
flash[:notice] = l(:notice_successful_update)
redirect_back_or_default :action => 'index', :project_id => @time_entry.project
else
render :action => 'edit'
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
end
end
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
def edit
(render_403; return) if @time_entry && !@time_entry.editable_by?(User.current)
@time_entry.attributes = params[:time_entry]
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
call_hook(:controller_timelog_edit_before_save, { :params => params, :time_entry => @time_entry })
end
verify :method => :put, :only => :update, :render => {:nothing => true, :status => :method_not_allowed }
def update
(render_403; return) if @time_entry && !@time_entry.editable_by?(User.current)
@time_entry.attributes = params[:time_entry]
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
call_hook(:controller_timelog_edit_before_save, { :params => params, :time_entry => @time_entry })
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
if @time_entry.save
flash[:notice] = l(:notice_successful_update)
redirect_back_or_default :action => 'index', :project_id => @time_entry.project
else
render :action => 'edit'
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
end
end
verify :method => :delete, :only => :destroy, :render => {:nothing => true, :status => :method_not_allowed }
def destroy
(render_404; return) unless @time_entry
(render_403; return) unless @time_entry.editable_by?(User.current)
if @time_entry.destroy && @time_entry.destroyed?
flash[:notice] = l(:notice_successful_delete)
else
flash[:error] = l(:notice_unable_delete_time_entry)
end
redirect_to :back
rescue ::ActionController::RedirectBackError
redirect_to :action => 'index', :project_id => @time_entry.project
end
private
def find_project
if params[:id]
@time_entry = TimeEntry.find(params[:id])
@project = @time_entry.project
elsif params[:issue_id]
@issue = Issue.find(params[:issue_id])
@project = @issue.project
elsif params[:project_id]
@project = Project.find(params[:project_id])
else
render_404
return false
end
rescue ActiveRecord::RecordNotFound
render_404
end
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
def find_optional_project
if !params[:issue_id].blank?
@issue = Issue.find(params[:issue_id])
@project = @issue.project
elsif !params[:project_id].blank?
@project = Project.find(params[:project_id])
end
deny_access unless User.current.allowed_to?(:view_time_entries, @project, :global => true)
end
Merge branch 'master' into master-journalized Conflicts: app/controllers/application_controller.rb app/controllers/context_menus_controller.rb app/controllers/gantts_controller.rb app/controllers/issue_moves_controller.rb app/controllers/issues_controller.rb app/controllers/journals_controller.rb app/controllers/previews_controller.rb app/controllers/timelog_controller.rb app/helpers/issues_helper.rb app/helpers/journals_helper.rb app/models/issue.rb app/models/journal.rb app/models/journal_observer.rb app/views/admin/projects.rhtml app/views/context_menus/issues.html.erb app/views/issues/_action_menu.rhtml app/views/issues/_history.rhtml app/views/news/_news.rhtml app/views/news/index.rhtml app/views/repositories/diff.rhtml config/locales/bg.yml config/locales/bs.yml config/locales/ca.yml config/locales/cs.yml config/locales/da.yml config/locales/de.yml config/locales/el.yml config/locales/en-GB.yml config/locales/es.yml config/locales/eu.yml config/locales/fi.yml config/locales/fr.yml config/locales/gl.yml config/locales/he.yml config/locales/hr.yml config/locales/hu.yml config/locales/id.yml config/locales/it.yml config/locales/ko.yml config/locales/lt.yml config/locales/lv.yml config/locales/mn.yml config/locales/nl.yml config/locales/no.yml config/locales/pl.yml config/locales/pt-BR.yml config/locales/pt.yml config/locales/ro.yml config/locales/ru.yml config/locales/sk.yml config/locales/sl.yml config/locales/sr-YU.yml config/locales/sr.yml config/locales/sv.yml config/locales/th.yml config/locales/tr.yml config/locales/uk.yml config/locales/vi.yml config/locales/zh-TW.yml config/locales/zh.yml config/routes.rb doc/CHANGELOG lib/redmine.rb lib/redmine/export/pdf.rb lib/redmine/helpers/gantt.rb lib/redmine/version.rb public/stylesheets/application.css test/functional/context_menus_controller_test.rb test/functional/issues_controller_test.rb test/functional/journals_controller_test.rb test/functional/previews_controller_test.rb test/functional/users_controller_test.rb test/functional/wiki_controller_test.rb test/integration/routing_test.rb test/unit/issue_test.rb test/unit/mailer_test.rb test/unit/query_test.rb
2010-10-26 20:20:57 +04:00
# Retrieves the date range based on predefined ranges or specific from/to param dates
def retrieve_date_range
@free_period = false
@from, @to = nil, nil
if params[:period_type] == '1' || (params[:period_type].nil? && !params[:period].nil?)
case params[:period].to_s
when 'today'
@from = @to = Date.today
when 'yesterday'
@from = @to = Date.today - 1
when 'current_week'
@from = Date.today - (Date.today.cwday - 1)%7
@to = @from + 6
when 'last_week'
@from = Date.today - 7 - (Date.today.cwday - 1)%7
@to = @from + 6
when '7_days'
@from = Date.today - 7
@to = Date.today
when 'current_month'
@from = Date.civil(Date.today.year, Date.today.month, 1)
@to = (@from >> 1) - 1
when 'last_month'
@from = Date.civil(Date.today.year, Date.today.month, 1) << 1
@to = (@from >> 1) - 1
when '30_days'
@from = Date.today - 30
@to = Date.today
when 'current_year'
@from = Date.civil(Date.today.year, 1, 1)
@to = Date.civil(Date.today.year, 12, 31)
end
elsif params[:period_type] == '2' || (params[:period_type].nil? && (!params[:from].nil? || !params[:to].nil?))
begin; @from = params[:from].to_s.to_date unless params[:from].blank?; rescue; end
begin; @to = params[:to].to_s.to_date unless params[:to].blank?; rescue; end
@free_period = true
else
# default
end
@from, @to = @to, @from if @from && @to && @from > @to
@from ||= (TimeEntry.earilest_date_for_project(@project) || Date.today)
@to ||= (TimeEntry.latest_date_for_project(@project) || Date.today)
end
end