プロジェクト

全般

プロフィール

Vote #81515

完了

API to close/reopen projects

Admin Redmine さんが3年以上前に追加. 3年以上前に更新.

ステータス:
Closed
優先度:
通常
担当者:
-
カテゴリ:
REST API_32
対象バージョン:
開始日:
2022/05/09
期日:
進捗率:

0%

予定工数:
category_id:
32
version_id:
155
issue_org_id:
35507
author_id:
332
assigned_to_id:
332
comments:
5
status_id:
5
tracker_id:
2
plus1:
0
affected_version:
closed_on:
affected_version_id:
ステータス-->[Closed]

説明

API to archive/unarchive projects has been implemented for Redmine 5.0.0 (#35420). I think it is better to implement API to close/reopen projects as well.

This is because archive and close of a project are similar choices for admins. Depending on the situation, admins may want to archive a project, or close a project.


journals

--------------------------------------------------------------------------------
I have added API to close/reopen a project.

<pre><code class="diff">
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index 9d7d37bb15..445ff840f3 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -30,7 +30,7 @@ class ProjectsController < ApplicationController
before_action :authorize_global, :only => [:new, :create]
before_action :require_admin, :only => [:copy, :archive, :unarchive]
accept_rss_auth :index
- accept_api_auth :index, :show, :create, :update, :destroy, :archive, :unarchive
+ accept_api_auth :index, :show, :create, :update, :destroy, :archive, :unarchive, :close, :reopen
require_sudo_mode :destroy

helper :custom_fields
@@ -275,12 +275,18 @@ class ProjectsController < ApplicationController

def close
@project.close
- redirect_to project_path(@project)
+ respond_to do |format|
+ format.html { redirect_to project_path(@project) }
+ format.api { render_api_ok }
+ end
end

def reopen
@project.reopen
- redirect_to project_path(@project)
+ respond_to do |format|
+ format.html { redirect_to project_path(@project) }
+ format.api { render_api_ok }
+ end
end

# Delete @project
diff --git a/config/routes.rb b/config/routes.rb
index 7e5e3eee93..1fd513d00e 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -133,8 +133,8 @@ Rails.application.routes.draw do
get 'settings(/:tab)', :action => 'settings', :as => 'settings'
match 'archive', :via => [:post, :put]
match 'unarchive', :via => [:post, :put]
- post 'close'
- post 'reopen'
+ match 'close', :via => [:post, :put]
+ match 'reopen', :via => [:post, :put]
match 'copy', :via => [:get, :post]
match 'bookmark', :via => [:delete, :post]
end
</code></pre>
--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
Setting the target version to 5.0.0.
--------------------------------------------------------------------------------
Committed the patch. Thank you for your contribution.
--------------------------------------------------------------------------------


related_issues

relates,Closed,13725,Archive/close a project via API

Admin Redmine さんが3年以上前に更新

  • カテゴリREST API_32 にセット
  • 対象バージョン5.0.0_155 にセット

他の形式にエクスポート: Atom PDF

いいね!0
いいね!0