alphanodes / additional_tags

Redmine Plugin for adding tags functionality to issues and wiki pages.
https://www.redmine.org/plugins/additional_tags
GNU General Public License v2.0
64 stars 26 forks source link

addtional_tags can't coexist with other plugin redmine_more_previews #56

Closed Raw1mage closed 1 year ago

Raw1mage commented 1 year ago

Great plugin !

One issue need help. When I install another plugin, https://github.com/HugoHasenbein/redmine_more_previews

This additional_tags plugin is screwed.

The browser shows: An error occurred while executing dashboard block issue_tags and has been logged. Please report this error to your Redmine administrator.

The Logs show:

lib/redmine/sudo_mode.rb:61:in `sudo_mode' I, [2023-08-05T20:04:57.062647 #1] INFO -- : Started GET "/settings/plugin/additional_tags" for 1.34.74.47 at 2023-08-05 20:04:57 +0000 I, [2023-08-05T20:04:57.063525 #1] INFO -- : Processing by SettingsController#plugin as HTML I, [2023-08-05T20:04:57.063570 #1] INFO -- : Parameters: {"id"=>"additional_tags"} I, [2023-08-05T20:04:57.068755 #1] INFO -- : Current user: sysadmin (id=1) I, [2023-08-05T20:04:57.080076 #1] INFO -- : Rendered settings/plugin.html.erb within layouts/admin (Duration: 10.0ms | Allocations: 5732) I, [2023-08-05T20:04:57.080169 #1] INFO -- : Rendered layout layouts/admin.html.erb (Duration: 10.1ms | Allocations: 5760) I, [2023-08-05T20:04:57.080409 #1] INFO -- : Completed 500 Internal Server Error in 17ms (ActiveRecord: 2.6ms | Allocations: 7156) F, [2023-08-05T20:04:57.082346 #1] FATAL -- : ActionView::Template::Error (Array::ArrayRowIsNotAHash): 9: title: "#{l :button_check_all}/#{l :button_uncheck_all}" 10: 11: th = l :field_name 12: - manageable_tag_columns.each do |_column, column_values| 13: th = column_values[:label] 14: th 15: tbody

Raw1mage commented 1 year ago

Providing more logs:

If you are the Redmine administrator, check your log files for details about the error.

[Back](javascript:history.back())

plugins/additional_tags/lib/additional_tags/tags.rb:149:in table_columns' plugins/additional_tags/lib/additional_tags/tags.rb:35:inavailable_tags' plugins/additional_tags/lib/additional_tags/patches/issue_patch.rb:49:in available_tags' plugins/additional_tags/app/helpers/additional_tags_issues_helper.rb:49:insidebar_tags' plugins/additional_tags/app/views/issues/_tags_sidebar.html.slim:4 lib/redmine/hook/view_listener.rb:61:in block (2 levels) in render_on' lib/redmine/hook/view_listener.rb:59:inmap' lib/redmine/hook/view_listener.rb:59:in block in render_on' lib/redmine/hook.rb:66:inblock (2 levels) in call_hook' lib/redmine/hook.rb:66:in each' lib/redmine/hook.rb:66:inblock in call_hook' lib/redmine/hook.rb:63:in call_hook' lib/redmine/hook.rb:101:incall_hook' app/views/issues/_sidebar.html.erb:2 app/views/issues/show.html.erb:148 app/views/issues/show.html.erb:147 app/controllers/issues_controller.rb:118:in block (2 levels) in show' app/controllers/issues_controller.rb:110:inshow' lib/redmine/sudo_mode.rb:61:in sudo_mode' plugins/redmine_dmsf/lib/redmine_dmsf/webdav/custom_middleware.rb:55:incall'

batrachian commented 1 year ago

Was just trying to add redmine_more_previews to our redmine installation and encountered the very same issue:

F, [2023-10-08T03:05:25.360235 #9893] FATAL -- : [47a97f8d-94d4-4b6c-939e-7943f247591e]   
[47a97f8d-94d4-4b6c-939e-7943f247591e] ActionView::Template::Error (Array::ArrayRowIsNotAHash):
[47a97f8d-94d4-4b6c-939e-7943f247591e]     1: - if AdditionalTags.setting?(:active_issue_tags) && \
[47a97f8d-94d4-4b6c-939e-7943f247591e]     2:      User.current.allowed_to?(:view_issue_tags, @project, global: true) && \
[47a97f8d-94d4-4b6c-939e-7943f247591e]     3:      defined?(sidebar_tags) && \
[47a97f8d-94d4-4b6c-939e-7943f247591e]     4:      sidebar_tags.present?
[47a97f8d-94d4-4b6c-939e-7943f247591e]     5: 
[47a97f8d-94d4-4b6c-939e-7943f247591e]     6:   .sidebar-tags
[47a97f8d-94d4-4b6c-939e-7943f247591e]     7:     h3 = l :field_tags
[47a97f8d-94d4-4b6c-939e-7943f247591e]   
[47a97f8d-94d4-4b6c-939e-7943f247591e] plugins/additional_tags/lib/additional_tags/tags.rb:149:in `table_columns'
[47a97f8d-94d4-4b6c-939e-7943f247591e] plugins/additional_tags/lib/additional_tags/tags.rb:35:in `available_tags'
[47a97f8d-94d4-4b6c-939e-7943f247591e] plugins/additional_tags/lib/additional_tags/patches/issue_patch.rb:49:in `available_tags'
[47a97f8d-94d4-4b6c-939e-7943f247591e] plugins/additional_tags/app/helpers/additional_tags_issues_helper.rb:49:in `sidebar_tags'
[47a97f8d-94d4-4b6c-939e-7943f247591e] plugins/additional_tags/app/views/issues/_tags_sidebar.html.slim:4
[47a97f8d-94d4-4b6c-939e-7943f247591e] lib/redmine/hook/view_listener.rb:61:in `block (2 levels) in render_on'
[47a97f8d-94d4-4b6c-939e-7943f247591e] lib/redmine/hook/view_listener.rb:59:in `map'
[47a97f8d-94d4-4b6c-939e-7943f247591e] lib/redmine/hook/view_listener.rb:59:in `block in render_on'
[47a97f8d-94d4-4b6c-939e-7943f247591e] lib/redmine/hook.rb:66:in `block (2 levels) in call_hook'
[47a97f8d-94d4-4b6c-939e-7943f247591e] lib/redmine/hook.rb:66:in `each'
[47a97f8d-94d4-4b6c-939e-7943f247591e] lib/redmine/hook.rb:66:in `block in call_hook'
[47a97f8d-94d4-4b6c-939e-7943f247591e] lib/redmine/hook.rb:63:in `call_hook'
[47a97f8d-94d4-4b6c-939e-7943f247591e] lib/redmine/hook.rb:101:in `call_hook'
[47a97f8d-94d4-4b6c-939e-7943f247591e] app/views/issues/_sidebar.html.erb:2
[47a97f8d-94d4-4b6c-939e-7943f247591e] app/views/issues/show.html.erb:137
[47a97f8d-94d4-4b6c-939e-7943f247591e] app/views/issues/show.html.erb:136
[47a97f8d-94d4-4b6c-939e-7943f247591e] app/controllers/issues_controller.rb:118:in `block (2 levels) in show'
[47a97f8d-94d4-4b6c-939e-7943f247591e] app/controllers/issues_controller.rb:110:in `show'
[47a97f8d-94d4-4b6c-939e-7943f247591e] lib/redmine/sudo_mode.rb:61:in `sudo_mode'
batrachian commented 1 year ago

Stephan responded to the Issue on redmine_more_previews#91

As noted there, the to_list array method defined in additionals/lib/additionals.rb conflicts with one in their own utility which is used extensively and due to the minimal number of instances of the use of this method in additionals/additional_tags it is suggested that it could be named something else here.

alexandermeindl commented 1 year ago

Hi @batrachian, this method in additionals is used in all our plugins (in about 400 different places). We cannot rename it without lots of work - therefore this change is not planed at the moment.

For your information: additionals is used as base plugin for all other plugins, we developed.

batrachian commented 1 year ago

Hi, that's understandable. Hopefully both projects can do a rename in a future major version change or find a namespace-safe method.

For anyone looking to patch the additionals/additional_tags plugins as a work-around, the diffs are attached - changes to_list to to_cslist (for "comma-separated" list). Or alternatively the changes are quite easy to do manually.

additional_tags-rename-to_list.patch additionals-rename-to_list.patch

alexandermeindl commented 1 year ago

Fix in main branch