@ -81,6 +81,7 @@ class IssuesController < ApplicationController
@priority_id = params [ :priority_id ]
@priority_id = params [ :priority_id ]
@status_id = params [ :status_id ]
@status_id = params [ :status_id ]
@subject = params [ :subject ]
@subject = params [ :subject ]
@done_ratio = params [ :done_ratio ]
@issue_count = @query . issue_count
@issue_count = @query . issue_count
@issue_pages = Paginator . new @issue_count , @limit , params [ 'page' ]
@issue_pages = Paginator . new @issue_count , @limit , params [ 'page' ]
params [ :page ] = ( params [ :page ] || 1 ) . to_i + 1 #页码需要加1
params [ :page ] = ( params [ :page ] || 1 ) . to_i + 1 #页码需要加1
@ -220,19 +221,27 @@ class IssuesController < ApplicationController
end
end
def update
def update
return unless update_issue_from_params
if params [ :issue_detail ]
@issue . save_attachments ( params [ :attachments ] || ( params [ :issue ] && params [ :issue ] [ :uploads ] ) )
issue = Issue . find ( params [ :id ] )
saved = false
issue = update_user_issue_detail ( issue , params )
begin
@saved = update_user_issue_detail ( issue , params )
@saved = @issue . save_issue_with_child_records ( params , @time_entry )
return
rescue ActiveRecord :: StaleObjectError
else
@conflict = true
return unless update_issue_from_params
if params [ :last_journal_id ]
@issue . save_attachments ( params [ :attachments ] || ( params [ :issue ] && params [ :issue ] [ :uploads ] ) )
@conflict_journals = @issue . journals_after ( params [ :last_journal_id ] ) . all
saved = false
@conflict_journals . reject! ( & :private_notes? ) unless User . current . allowed_to? ( :view_private_notes , @issue . project )
begin
@saved = @issue . save_issue_with_child_records ( params , @time_entry )
rescue ActiveRecord :: StaleObjectError
@conflict = true
if params [ :last_journal_id ]
@conflict_journals = @issue . journals_after ( params [ :last_journal_id ] ) . all
@conflict_journals . reject! ( & :private_notes? ) unless User . current . allowed_to? ( :view_private_notes , @issue . project )
end
end
end
end
end
if @saved
if @saved
#修改界面增加跟踪者
#修改界面增加跟踪者
watcherlist = @issue . watcher_users
watcherlist = @issue . watcher_users
@ -278,6 +287,19 @@ class IssuesController < ApplicationController
end
end
end
end
def update_user_issue_detail ( issue , params )
case params [ :type ]
when " status "
issue . update_attribute ( :status_id , params [ :status_id ] )
when " assigned "
issue . update_attribute ( :assigned_to_id , params [ :assigned_to_id ] )
when " ratio "
issue . update_attribute ( :done_ratio , params [ :done_ratio ] )
when " prior "
issue . update_attribute ( :priority_id , params [ :priority_id ] )
end
end
# Updates the issue form when changing the project, status or tracker
# Updates the issue form when changing the project, status or tracker
# on issue creation/update
# on issue creation/update
def update_form
def update_form