Project

General

Profile

Actions

Feature #35178

open

Make adding project settings tabs easier

Added by Felix Schäfer over 3 years ago. Updated over 2 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Code cleanup/refactoring
Target version:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Resolution:

Description

Currently it is quite cumbersome to add a tab to the projects settings. It is necessary to patch the ProjectsHelper and override the project_settings_tabs, which can be dangerous if the behaviour of the checks in the method change and patching helpers can lead to problems due to load orders.

I would suggest to at least extract the list of tags from the method to a constant like for the CustomFieldsHelper::CUSTOM_FIELDS_TABS list. This would have the added benefit that it would not be necessary to duplicate any logic from the project_settings_tabs to a plugin if needed.

Actions #1

Updated by Holger Just over 3 years ago

  • Description updated (diff)
Actions #2

Updated by Felix Schäfer over 3 years ago

Note: another solution than the constant as for the custom fields tabs would be ok too if someone comes up with a better solution. I mentioned the custom fields tabs as this is an already existing pattern in Redmine and would be a good first improvement.

Actions #3

Updated by Lorenzo Meneghetti over 2 years ago

Felix Schäfer wrote:

Currently it is quite cumbersome to add a tab to the projects settings. It is necessary to patch the ProjectsHelper and override the project_settings_tabs, which can be dangerous if the behaviour of the checks in the method change and patching helpers can lead to problems due to load orders.

Yes, I agree. Same root cause of #34743. prepend an alias_method conflicts very often when used togheter. Could be solved with a new hook also?

Actions #4

Updated by Go MAEDA over 2 years ago

Felix, does Planio already have a patch?

Actions #5

Updated by Felix Schäfer over 2 years ago

We do not have a patch for this.

Actions

Also available in: Atom PDF