savoirfairelinux / redmine-list-of-roles-members

Redmine Plugin : Easily get a list of all members of a Role grouped by projects.
https://www.savoirfairelinux.com
GNU General Public License v3.0
3 stars 6 forks source link

Not compatible with Redmine v3.3+ #1

Open addow opened 7 years ago

addow commented 7 years ago

Hi Savoir-fairelinux,

The latest version of this redmine plugin is not compatible with redmine v3.3 or higher, due to the deprecation of pagination for roles (issues, ...) and implementation of drag-and-drop sorting in roles overview.

There are some changes in the roles view too, which are not implemented in this plugin. Shall I send you a pull request with my fixes for v3.3? Or is it better to create a 3.3 branch first?

ghost commented 7 years ago

Very interesting, It is possible to make plugin compatible with both 3.3 and 3.2 ? I think that would be the best (both on master branch). Otherwise we would absolutely accept to create a new branch for 3.3.

Have a great day !

addow commented 7 years ago

I think it is possible to adjust the view so it is compatible with both 3.2 and 3.3, but there was another issue in 3.3 with the query to fetch the project members. I'll look into it and will send a PR as soon as I found a solution to fix reverse compatibility. .

archonwang commented 7 years ago

error log

An ActionView::Template::Error occurred in roles#index:

  undefined method `page_param' for nil:NilClass
  lib/redmine/pagination.rb:177:in `pagination_links_each'

-------------------------------
Request:
-------------------------------

* URL : http://192.168.1.41/roles
  * HTTP Method: GET
  * IP address : 192.168.60.238
  * Parameters : {"controller"=>"roles", "action"=>"index"}
  * Timestamp  : 2016-12-06 02:01:04 UTC
  * Server : jira
  * Rails root : /opt/redmine-3.3
  * Process: 27475

-------------------------------
Session:
-------------------------------

  * session id: "e6d0909300142789b3d7837d0e5d2100"
  * data: {"session_id"=>"e6d0909300142789b3d7837d0e5d2100",
   "user_id"=>8,
   "tk"=>"69332d2cc4a2056476facafd505ac1abc0a74c68",
   "_csrf_token"=>"9Zo1H5ydAgSz/6LKRzwE6bjp9oAFN66bXzh3hdPf4Oo=",
   "recent_projects"=>[7, 2, 32],
   "access_count_table"=>{30=>1, 74=>1},
   "query"=>
    {:project_id=>7,
     :filters=>{"status_id"=>{:operator=>"o", :values=>[""]}},
     :group_by=>"parent",
     :column_names=>nil,
     :totalable_names=>[:estimated_hours]},
   "issues_index_sort"=>"id:desc",
   "per_page"=>50}

-------------------------------
Environment:
-------------------------------

  * GATEWAY_INTERFACE                              : CGI/1.2
  * HTTP_ACCEPT                                    : text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
  * HTTP_ACCEPT_ENCODING                           : gzip, deflate, sdch
  * HTTP_ACCEPT_LANGUAGE                           : zh-CN,zh;q=0.8,en;q=0.6,ja;q=0.4,zh-TW;q=0.2,de;q=0.2,ru;q=0.2
  * HTTP_CONNECTION                                : keep-alive
  * HTTP_COOKIE                                    : autologin=860c4b8def2fe81399b1c6d8b00b47be419a6cba; _redmine_session=SG1pZDR6aXF5eUJFK28wcUl1djBWNTZoOHJHTzRzQUJETmprTlFsQjVISUc0a0hDeW5sVkRFMDBZckhCemo1M3FqdkNPRnRnaVJmSTFiNTJQNjEyY09wdXV3TG82ZWsrbzRLaU1MK0t5R2VnQk1JYkVYeG9UZlh4d3lFd29pWjluL0xHUjZBSUNaU2Y1S2ZvY3EvK1NtTTREdXZlb21RNjAzQU5NTU1sMSsxSWltbUFBODAwd0M5OUFPMHlqSE1BcnlabWVvSXVGV0hFVU1rRlNpbU5QOS9QT2lxWXBiblJWTHdNSXM5UHVMbkxHbFpLRUNORUNRSEprNFhmUENqeDl5OTdFYlRmeUU2NUxuRzh6bFZaTjRUT1Z3WkNvNjFGOGUwVEhic0FmWVFMNGxsbVZ0Wm9SN3MwVWVKOE1jYng2T1pNMTQwQlpPZ0ZYRVovYSttWGxBbTVDMk9saHRBOG5iR2hEaktONW9JdThieEZXeGZ0NUdQZDIrVXUyWWJlVG5xQlJ6OWtwTnVNbDljYWJBbVlHQkp2Zm5JVFZpZ0I3M2FkcHBQeWxpazZFS2d3b1l0OTJSdzhVeWZWSE9IZ1FLOFVtNStwU3VKS1c5M0Nyelh3NGZTMU5RR29wNytld2xwNFdwakU5ZTFQekR1eGlxVUdJT2dtd3FxRXNmUDNoVTlNM2ZPUlEwR2QzQ0RFVlIvS0RLMFlUM08vRUhxMXV6NGlxeG9zWjRKUVJndGJkTzE3M2hxS01EUThHemVWeHFySkVqT0RFcE96MlVtTDBUdW05alFVOEFpUVdxWXBHdHBlN0VQN3FCV2FwVHZreENYekVuUDZvR04wdmlId0RBNTExUnVGTkdCRmlPcXRpVXJ5R1E9PS0taEZyYTA4Yk9aUXVtMlI0WVhrenBKUT09--012a6a659f2bedf4571e6f5f65329ca343be34b7
  * HTTP_HOST                                      : 192.168.1.41
* HTTP_REFERER : http://192.168.1.41/admin
  * HTTP_UPGRADE_INSECURE_REQUESTS                 : 1
  * HTTP_USER_AGENT                                : Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.75 Safari/537.36
  * HTTP_VERSION                                   : HTTP/1.1
  * ORIGINAL_FULLPATH                              : /roles
  * ORIGINAL_SCRIPT_NAME                           :
  * PATH_INFO                                      : /roles
  * QUERY_STRING                                   :
  * REMOTE_ADDR                                    : 192.168.60.238
  * REQUEST_METHOD                                 : GET
  * REQUEST_PATH                                   : /roles
  * REQUEST_URI                                    : /roles
  * ROUTES_39577680_SCRIPT_NAME                    :
  * SCRIPT_NAME                                    :
  * SERVER_NAME                                    : 192.168.1.41
  * SERVER_PORT                                    : 80
  * SERVER_PROTOCOL                                : HTTP/1.1
  * SERVER_SOFTWARE                                : thin 1.7.0 codename Dunder Mifflin
  * action_controller.instance                     : #<RolesController:0x007fb67c0078e8>
  * action_dispatch.backtrace_cleaner              : #<Rails::BacktraceCleaner:0x000000018e4878>
  * action_dispatch.cookies                        : #<ActionDispatch::Cookies::CookieJar:0x007fb67c070b18>
  * action_dispatch.cookies_digest                 :
  * action_dispatch.cookies_serializer             :
  * action_dispatch.encrypted_cookie_salt          : encrypted cookie
  * action_dispatch.encrypted_signed_cookie_salt   : signed encrypted cookie
  * action_dispatch.http_auth_salt                 : http authentication
  * action_dispatch.key_generator                  : #<ActiveSupport::CachingKeyGenerator:0x00000003c5fde8>
  * action_dispatch.logger                         : #<ActiveSupport::Logger:0x00000004ce7b98>
  * action_dispatch.parameter_filter               : [:password]
  * action_dispatch.redirect_filter                : []
  * action_dispatch.remote_ip                      : 192.168.60.238
  * action_dispatch.request.content_type           :
  * action_dispatch.request.formats                : [#<Mime::Type:0x000000025906a8 @synonyms=["application/xhtml+xml"], @symbol=:html, @string="text/html", @hash=1792672985724154498>]
  * action_dispatch.request.parameters             : {"controller"=>"roles", "action"=>"index"}
  * action_dispatch.request.path_parameters        : {:controller=>"roles", :action=>"index"}
  * action_dispatch.request.query_parameters       : {}
  * action_dispatch.request.request_parameters     : {}
  * action_dispatch.request.unsigned_session_cookie: {"session_id"=>"e6d0909300142789b3d7837d0e5d2100", "user_id"=>8, "tk"=>"69332d2cc4a2056476facafd505ac1abc0a74c68", "_csrf_token"=>"9Zo1H5ydAgSz/6LKRzwE6bjp9oAFN66bXzh3hdPf4Oo=", "recent_projects"=>[7, 2, 32], "access_count_table"=>{30=>1, 74=>1}, "query"=>{:project_id=>7, :filters=>{"status_id"=>{:operator=>"o", :values=>[""]}}, :group_by=>"parent", :column_names=>nil, :totalable_names=>[:estimated_hours]}, "issues_index_sort"=>"id:desc", "per_page"=>50}
  * action_dispatch.request_id                     : 83ffa74d-54c3-4ed8-8b4c-c93cb6b777c6
  * action_dispatch.routes                         : #<ActionDispatch::Routing::RouteSet:0x00000004b7d0a0>
  * action_dispatch.secret_key_base                : 59dda17a42803617f96151518b9aeecb94e132c6f140123f1982e1c8ae15d0103ffa854c4d8b0019
  * action_dispatch.secret_token                   :
  * action_dispatch.show_detailed_exceptions       : false
  * action_dispatch.show_exceptions                : true
  * action_dispatch.signed_cookie_salt             : signed cookie
  * async.callback                                 : #<Method: Thin::Connection#post_process>
  * async.close                                    : #<EventMachine::DefaultDeferrable:0x007fb68804a088>
  * rack.errors                                    : #<IO:0x000000009e1588>
  * rack.input                                     : #<StringIO:0x007fb68804a808>
  * rack.multiprocess                              : false
  * rack.multithread                               : true
  * rack.request.cookie_hash                       : {"autologin"=>"860c4b8def2fe81399b1c6d8b00b47be419a6cba", "_redmine_session"=>"SG1pZDR6aXF5eUJFK28wcUl1djBWNTZoOHJHTzRzQUJETmprTlFsQjVISUc0a0hDeW5sVkRFMDBZckhCemo1M3FqdkNPRnRnaVJmSTFiNTJQNjEyY09wdXV3TG82ZWsrbzRLaU1MK0t5R2VnQk1JYkVYeG9UZlh4d3lFd29pWjluL0xHUjZBSUNaU2Y1S2ZvY3EvK1NtTTREdXZlb21RNjAzQU5NTU1sMSsxSWltbUFBODAwd0M5OUFPMHlqSE1BcnlabWVvSXVGV0hFVU1rRlNpbU5QOS9QT2lxWXBiblJWTHdNSXM5UHVMbkxHbFpLRUNORUNRSEprNFhmUENqeDl5OTdFYlRmeUU2NUxuRzh6bFZaTjRUT1Z3WkNvNjFGOGUwVEhic0FmWVFMNGxsbVZ0Wm9SN3MwVWVKOE1jYng2T1pNMTQwQlpPZ0ZYRVovYSttWGxBbTVDMk9saHRBOG5iR2hEaktONW9JdThieEZXeGZ0NUdQZDIrVXUyWWJlVG5xQlJ6OWtwTnVNbDljYWJBbVlHQkp2Zm5JVFZpZ0I3M2FkcHBQeWxpazZFS2d3b1l0OTJSdzhVeWZWSE9IZ1FLOFVtNStwU3VKS1c5M0Nyelh3NGZTMU5RR29wNytld2xwNFdwakU5ZTFQekR1eGlxVUdJT2dtd3FxRXNmUDNoVTlNM2ZPUlEwR2QzQ0RFVlIvS0RLMFlUM08vRUhxMXV6NGlxeG9zWjRKUVJndGJkTzE3M2hxS01EUThHemVWeHFySkVqT0RFcE96MlVtTDBUdW05alFVOEFpUVdxWXBHdHBlN0VQN3FCV2FwVHZreENYekVuUDZvR04wdmlId0RBNTExUnVGTkdCRmlPcXRpVXJ5R1E9PS0taEZyYTA4Yk9aUXVtMlI0WVhrenBKUT09--012a6a659f2bedf4571e6f5f65329ca343be34b7"}
  * rack.request.cookie_string                     : autologin=860c4b8def2fe81399b1c6d8b00b47be419a6cba; _redmine_session=SG1pZDR6aXF5eUJFK28wcUl1djBWNTZoOHJHTzRzQUJETmprTlFsQjVISUc0a0hDeW5sVkRFMDBZckhCemo1M3FqdkNPRnRnaVJmSTFiNTJQNjEyY09wdXV3TG82ZWsrbzRLaU1MK0t5R2VnQk1JYkVYeG9UZlh4d3lFd29pWjluL0xHUjZBSUNaU2Y1S2ZvY3EvK1NtTTREdXZlb21RNjAzQU5NTU1sMSsxSWltbUFBODAwd0M5OUFPMHlqSE1BcnlabWVvSXVGV0hFVU1rRlNpbU5QOS9QT2lxWXBiblJWTHdNSXM5UHVMbkxHbFpLRUNORUNRSEprNFhmUENqeDl5OTdFYlRmeUU2NUxuRzh6bFZaTjRUT1Z3WkNvNjFGOGUwVEhic0FmWVFMNGxsbVZ0Wm9SN3MwVWVKOE1jYng2T1pNMTQwQlpPZ0ZYRVovYSttWGxBbTVDMk9saHRBOG5iR2hEaktONW9JdThieEZXeGZ0NUdQZDIrVXUyWWJlVG5xQlJ6OWtwTnVNbDljYWJBbVlHQkp2Zm5JVFZpZ0I3M2FkcHBQeWxpazZFS2d3b1l0OTJSdzhVeWZWSE9IZ1FLOFVtNStwU3VKS1c5M0Nyelh3NGZTMU5RR29wNytld2xwNFdwakU5ZTFQekR1eGlxVUdJT2dtd3FxRXNmUDNoVTlNM2ZPUlEwR2QzQ0RFVlIvS0RLMFlUM08vRUhxMXV6NGlxeG9zWjRKUVJndGJkTzE3M2hxS01EUThHemVWeHFySkVqT0RFcE96MlVtTDBUdW05alFVOEFpUVdxWXBHdHBlN0VQN3FCV2FwVHZreENYekVuUDZvR04wdmlId0RBNTExUnVGTkdCRmlPcXRpVXJ5R1E9PS0taEZyYTA4Yk9aUXVtMlI0WVhrenBKUT09--012a6a659f2bedf4571e6f5f65329ca343be34b7
  * rack.request.query_hash                        : {}
  * rack.request.query_string                      :
  * rack.run_once                                  : false
  * rack.session                                   : #<ActionDispatch::Request::Session:0x007fb688048800>
  * rack.session.options                           : #<ActionDispatch::Request::Session::Options:0x007fb6880487b0>
  * rack.url_scheme                                : http
  * rack.version                                   : [1, 0]

-------------------------------
Backtrace:
-------------------------------

  lib/redmine/pagination.rb:177:in `pagination_links_each'
  lib/redmine/pagination.rb:161:in `pagination_links_full'
  plugins/redmine_list_of_roles_members/app/views/roles/index.html.erb:35:in `_plugins_redmine_list_of_roles_members_app_views_roles_index_html_erb__4046945701583945290_70210871084060'
  lib/redmine/sudo_mode.rb:63:in `sudo_mode'
codeg8 commented 7 years ago

Same problem Here :+1:

ghost commented 7 years ago

If someone want to make a patch for Redmine 3.3, I would be absolutely interested to merge.