diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 633d973b5..6481dcc42 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -251,13 +251,47 @@ class IssuesController < ApplicationController end def destroy - if @issue.delete + if @issue.destroy normal_status(0, "删除成功") else normal_status(-1, "删除失败") end end + def clean + issue_ids = params[:ids] + if issue_ids.present? + if Issue.where(id: issue_ids).destroy_all + normal_status(0, "删除成功") + else + normal_status(-1, "删除失败") + end + else + normal_status(-1, "请选择任务") + end + end + + def series_update + + update_hash = {} + update_hash.merge!(assigned_to_id: params[:assigned_to_id]) if params[:assigned_to_id].present? + update_hash.merge!(fixed_version_id: params[:fixed_version_id]) if params[:fixed_version_id].present? + update_hash.merge!(status_id: params[:status_id]) if params[:status_id].present? + # update_hash = params[:issue] + issue_ids = params[:ids] + if issue_ids.present? + if update_hash.blank? + normal_status(-1, "请选择批量更新内容") + elsif Issue.where(id: issue_ids).update_all(update_hash) + normal_status(0, "批量更新成功") + else + normal_status(-1, "批量更新失败") + end + else + normal_status(-1, "请选择任务") + end + end + def copy @new_issue = @issue.dup if @new_issue.save @@ -413,7 +447,7 @@ class IssuesController < ApplicationController status_id: params[:status_id], priority_id: params[:priority_id], fixed_version_id: params[:fixed_version_id], - start_date: params[:start_date].to_s.to_date, + start_date: params[:start_date].to_s.to_date || Time.current.to_date, due_date: params[:due_date].to_s.to_date, estimated_hours: params[:estimated_hours], done_ratio: params[:done_ratio], diff --git a/app/controllers/journals_controller.rb b/app/controllers/journals_controller.rb index 8803634ef..cce03edbe 100644 --- a/app/controllers/journals_controller.rb +++ b/app/controllers/journals_controller.rb @@ -7,9 +7,13 @@ class JournalsController < ApplicationController def index @page = params[:page] || 1 @limit = params[:limit] || 10 - journals = @issue.journals.journal_includes.order("created_on desc") - @journals_size = journals.size - @journals = journals.parent_journals.page(@page).per(@limit) + total_journals = @issue.journals.journal_includes + @jounals_total = total_journals.size + parent_journals = total_journals.parent_journals.order("created_on desc") + @journals = parent_journals.order("created_on desc").page(@page).per(@limit) + @journals_size = parent_journals.size + + end def create @@ -73,6 +77,14 @@ class JournalsController < ApplicationController end + def get_children_journals + @page = params[:page] || 1 + @limit = params[:limit] || 10 + journals = Journal.children_journals(params[:id]).journal_includes.order("created_on desc") + @journals_size = journals.size + @children_journals = journals.page(@page).per(@limit) + end + private diff --git a/app/forms/contents/update_form.rb b/app/forms/contents/update_form.rb index 8600f0fde..75ae6fc58 100644 --- a/app/forms/contents/update_form.rb +++ b/app/forms/contents/update_form.rb @@ -7,7 +7,7 @@ class Contents::UpdateForm < BaseForm def check_branch raise "branch和new_branch必须存在一个 " if branch.blank? && new_branch.blank? - raise "branch和new_branch只能存在一个" if !branch.blank? && !new_branch.blank? + # raise "branch和new_branch只能存在一个" if !branch.blank? && !new_branch.blank? end end diff --git a/app/views/journals/_journal_item.json.jbuilder b/app/views/journals/_journal_item.json.jbuilder index 03fd35c7b..7522d915f 100644 --- a/app/views/journals/_journal_item.json.jbuilder +++ b/app/views/journals/_journal_item.json.jbuilder @@ -4,7 +4,6 @@ json.user_login journal.user.try(:login) json.user_picture url_to_avatar(journal.user) json.is_journal_detail journal.is_journal_detail? #判断是否修改了参数而添加的回复内容 json.content journal.try(:notes) -json.children_journals children_content(journal.id) json.journal_details journal.journal_content json.format_time format_time(journal.created_on) json.created_at time_from_now(journal.created_on) diff --git a/app/views/journals/get_children_journals.json.jbuilder b/app/views/journals/get_children_journals.json.jbuilder new file mode 100644 index 000000000..a46c6f755 --- /dev/null +++ b/app/views/journals/get_children_journals.json.jbuilder @@ -0,0 +1,8 @@ +json.partial! "commons/success" +json.limit @limit +json.journals_count @journals_size +json.issue_journals do + json.array! @children_journals do |journal| + json.partial! "journals/journal_item", journal: journal + end +end \ No newline at end of file diff --git a/app/views/journals/index.json.jbuilder b/app/views/journals/index.json.jbuilder index 2485e72bd..99df015c9 100644 --- a/app/views/journals/index.json.jbuilder +++ b/app/views/journals/index.json.jbuilder @@ -1,6 +1,7 @@ json.partial! "commons/success" json.limit @limit json.journals_count @journals_size +json.journals_total_count @jounals_total json.issue_journals do json.array! @journals do |journal| json.partial! "journals/journal_item", journal: journal diff --git a/config/routes.rb b/config/routes.rb index 9542c5ae4..dc06da01c 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -29,7 +29,11 @@ Rails.application.routes.draw do delete 'commons/delete', to: 'commons#delete' resources :issues, except: [:index, :new,:create, :update, :edit, :destroy] do - resources :journals, only: [:index, :create, :destroy, :edit, :update] + resources :journals, only: [:index, :create, :destroy, :edit, :update] do + member do + get :get_children_journals + end + end resources :issue_times, only: [:create] do collection do post :end_work @@ -70,6 +74,8 @@ Rails.application.routes.draw do collection do get :commit_issues get :index_chosen + post :clean + post :series_update end member do post :copy