]> source.dussan.org Git - redmine.git/commit
Background job for project deletion (#36691).
authorMarius Balteanu <marius.balteanu@zitec.com>
Tue, 17 May 2022 20:45:41 +0000 (20:45 +0000)
committerMarius Balteanu <marius.balteanu@zitec.com>
Tue, 17 May 2022 20:45:41 +0000 (20:45 +0000)
commit883aa3b5cca1645f2aae353f4f180f77c5693c7e
tree97c45c8f806b96f5a41dd4853d89dffd27b9f3c8
parent3719eb32f44681987df6bd55c9ca1888190daecb
Background job for project deletion (#36691).

Due to the deletion of dependent objects (issues etc), project deletion may take a long time.

This patch moves the actual project deletion into an ActiveJob job. It also introduces a new project status (SCHEDULED_FOR_DELETION) that is used to effectively hide the project that is about to be deleted (and any potential descendant projects) from the system immediately.

A security notification is sent out to the user that deleted the project, informing about success / failure.

The projects list is extended to be able to filter for the new status, so in case of a failure, the project can still be accessed for examination.

Patch by Jens Krämer.

git-svn-id: https://svn.redmine.org/redmine/trunk@21591 e93f8b46-1217-0410-a6f0-8f06a7374b81
12 files changed:
app/controllers/projects_controller.rb
app/helpers/admin_helper.rb
app/jobs/application_job.rb [new file with mode: 0644]
app/jobs/destroy_project_job.rb [new file with mode: 0644]
app/models/project.rb
app/models/project_query.rb
app/views/context_menus/projects.html.erb
app/views/projects/_list.html.erb
config/locales/en.yml
test/functional/projects_controller_test.rb
test/integration/api_test/projects_test.rb
test/unit/jobs/destroy_project_job_test.rb [new file with mode: 0644]