Project

General

Profile

Actions

Defect #8551

open

Bulk edit leads to 404

Added by Jérémy Chatard almost 13 years ago. Updated over 12 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
Issues
Target version:
-
Start date:
2011-06-07
Due date:
% Done:

0%

Estimated time:
Resolution:
Affected version:

Description

From the issue queue

  • select several issues
  • right-click to open the contextual menu
  • click edit

A new page is opened but it leads to a 404

Generated URLs looks like: /projects/PROJECT-SLUG/bulk_edit?ids%5B%5D=858&ids%5B%5D=859

Info

  • Redmine 1.2.0
  • MySQL version 5.1.57
  • Ruby 1.8.7
  • Rails 2.3.11

Files

Bulk_edit.jpg (48.2 KB) Bulk_edit.jpg Mirko Geissler, 2011-06-07 12:11
routes.rb (14.7 KB) routes.rb Jérémy Chatard, 2011-06-15 13:47
issues.html.erb (6.55 KB) issues.html.erb Jérémy Chatard, 2011-06-15 15:22
Log_Output.txt (43.2 KB) Log_Output.txt Mirko Geissler, 2011-06-17 10:37
Log_Output2.txt (64.2 KB) Log_Output2.txt Mirko Geissler, 2011-06-17 13:59
vhost.txt (1.03 KB) vhost.txt Jérémy Chatard, 2011-06-22 08:02
apache2.conf (39.7 KB) apache2.conf Jérémy Chatard, 2011-06-23 15:07

Related issues

Has duplicate Redmine - Defect #8780: Can´t delete or move issuesClosed2011-07-11

Actions
Actions #1

Updated by Mirko Geissler almost 13 years ago

I´ve the same issue!

As posted here the link is invalid. For some reason the controller does not translate correctly to the url needed. I´ve attached the Firebug code output for bulk edits in the Redmine demo and our own installation.

Actions #2

Updated by Mirko Geissler almost 13 years ago

Please could somebody take a look at this issue. Its still not solved. I would happily provide all info necessary to track this down. I´ve full access to the server and can easily reproduce this error.

Every hint is welcome!

Thanks,
Mirko

Actions #3

Updated by Etienne Massip almost 13 years ago

I'm sorry, I tried in different ways but didn't reproduce on 1.2.0 ; if you use plugins then disable them, try again and let us know, please.

If no plugins, please give more details : does this happen systematically, from every issues list (in the issue form screen with relations / subtasks, from the global issues list, etc.).

Thanks

Actions #4

Updated by Etienne Massip almost 13 years ago

In a parent project issues list selecting issues from subprojects...

Actions #5

Updated by Mirko Geissler almost 13 years ago

Thank you for your help. I´ve removed all plugins from the plugins directory and restarted the server (now redmine shows that there are no plugins installed). Since I we use redmine from svn (1.2-stable) I´ve checked the status of all redmine files compared to svn and there are just minor changes:

M      app/helpers/application_helper.rb
?      config/homepage.yml
?      config/additional_environment.rb
M      config/locales/en.yml
?      public/themes/pixel-cookers
?      public/themes/squeejee
M      public/stylesheets/application.css

Should be irrelevant differences IMHO.

The problem occurs in every case I try to change a ticket via bulk_edit.
  • It happens if I select one or more tickets for change.
  • It happens for every field I want to change (custom or not).
  • It happens with all ticket lists (parent/child project ticket list, my page ticket list)
    Since the url is (somehow) translated wrong it just always fails for the same reason.

The only thing left (it seems) might be some database inconsistency (MySQL) which unfortunately doesn´t show up (our redmine is used by a team of eight people every day).

The (only) error message redmine logs in this case is:

ActionController::UnknownAction (No action responded to bulk_edit. Actions: accept_key_auth_actions, account, add_block, api_key_from_request, api_offset_and_limit, api_request?, authorize, authorize_global, back_url, check_if_login_required, check_project_privacy, check_project_uniqueness, current_language, current_menu_item, day_name, default_search_scope, default_search_scopes, default_template, delete_broken_cookies, deny_access, filename_for_content_disposition, find_current_user, find_issues, find_language, find_model_object, find_optional_project, find_project, find_project_by_project_id, find_project_from_association, format_date, format_time, index, invalid_authenticity_token, l_hours, l_or_humanize, ll, logged_user=, menu_items, month_name, object_errors_to_json, order_blocks, page, page_layout, parse_qvalues, password, per_page_option, pick_layout, query_statement_invalid, redirect_back_or_default, redirect_to_project_menu_item, remove_block, render_403, render_404, render_attachment_warning_if_needed, render_error, render_feed, render_validation_errors, require_admin, require_login, reset_api_key, reset_rss_key, set_flash_from_bulk_issue_save, set_language_if_valid, set_localization, use_layout, user_setup, and valid_languages):
  passenger (3.0.2) lib/phusion_passenger/rack/request_handler.rb:96:in `process_request'
  passenger (3.0.2) lib/phusion_passenger/abstract_request_handler.rb:513:in `accept_and_process_next_request'
  passenger (3.0.2) lib/phusion_passenger/abstract_request_handler.rb:274:in `main_loop'
  passenger (3.0.2) lib/phusion_passenger/classic_rails/application_spawner.rb:321:in `start_request_handler'
  passenger (3.0.2) lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `send'
  passenger (3.0.2) lib/phusion_passenger/classic_rails/application_spawner.rb:275:in `handle_spawn_application'
  passenger (3.0.2) lib/phusion_passenger/utils.rb:479:in `safe_fork'
  passenger (3.0.2) lib/phusion_passenger/classic_rails/application_spawner.rb:270:in `handle_spawn_application'
  passenger (3.0.2) lib/phusion_passenger/abstract_server.rb:357:in `__send__'
  passenger (3.0.2) lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
  passenger (3.0.2) lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
  passenger (3.0.2) lib/phusion_passenger/abstract_server.rb:180:in `start'
  passenger (3.0.2) lib/phusion_passenger/classic_rails/application_spawner.rb:149:in `start'
  passenger (3.0.2) lib/phusion_passenger/spawn_manager.rb:219:in `spawn_rails_application'
  passenger (3.0.2) lib/phusion_passenger/abstract_server_collection.rb:132:in `lookup_or_add'
  passenger (3.0.2) lib/phusion_passenger/spawn_manager.rb:214:in `spawn_rails_application'
  passenger (3.0.2) lib/phusion_passenger/abstract_server_collection.rb:82:in `synchronize'
  passenger (3.0.2) lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
  passenger (3.0.2) lib/phusion_passenger/spawn_manager.rb:213:in `spawn_rails_application'
  passenger (3.0.2) lib/phusion_passenger/spawn_manager.rb:132:in `spawn_application'
  passenger (3.0.2) lib/phusion_passenger/spawn_manager.rb:275:in `handle_spawn_application'
  passenger (3.0.2) lib/phusion_passenger/abstract_server.rb:357:in `__send__'
  passenger (3.0.2) lib/phusion_passenger/abstract_server.rb:357:in `server_main_loop'
  passenger (3.0.2) lib/phusion_passenger/abstract_server.rb:206:in `start_synchronously'
  passenger (3.0.2) helper-scripts/passenger-spawn-server:99

Thank you,
Mirko

Actions #6

Updated by Etienne Massip almost 13 years ago

app/helpers/application_helper.rb might be relevant; try with bare one.

Actions #7

Updated by Jérémy Chatard almost 13 years ago

  • No plugin, just Redmine
  • Happens in every context I can find (i.e. always)

Just set log level to :debug from production.log:

Processing ProjectsController#{PROJECT-SLUG} (for x.x.x.x at 2011-06-15 09:03:21) [GET]
  Parameters: {"ids"=>["859", "860"], "action"=>"{PROJECT-SLUG}", "id"=>"bulk_edit", "controller"=>"projects"}
Rendering template within layouts/base
Rendering common/error (404)
Filter chain halted as [:find_project] rendered_or_redirected.
Completed in 20ms (View: 15, DB: 2) | 404 Not Found [http://domain.tld/projects/{PROJECT-SLUG}/bulk_edit?ids%5B%5D=859&ids%5B%5D=860]
Actions #8

Updated by Jérémy Chatard almost 13 years ago

I have absolutely no knowledge of the Redmine source code, but doesn't this look like an incorrect routing issue?

Parameters: {"ids"=>["859", "860"], "action"=>"{PROJECT-SLUG}", "id"=>"bulk_edit", "controller"=>"projects"}

Where id and action would have taken each other places?

Actions #9

Updated by Mirko Geissler almost 13 years ago

Etienne Massip wrote:

app/helpers/application_helper.rb might be relevant; try with bare one.

Thank you for your comment. I´ve reverted the file. I changed it while looking into that issue. Sorry for the confusion. Using the bare one does not solve the problem either.

The folder status now looks like this:

?      config/homepage.yml
?      config/additional_environment.rb
M      config/locales/en.yml
?      public/themes/pixel-cookers
?      public/themes/squeejee
M      public/stylesheets/application.css

According to Jérémy I also changed log level to debug. I get a very similar output:

Processing ProjectsController#{PROJECT} (for 129.26.160.28 at 2011-06-15 10:20:00) [POST]
  Parameters: {"back_url"=>"/redmine/projects/myproject/issues?query_id=11", "ids"=>["1082"], "action"=>"{PROJECT}", "authenticity_token"=>"QboSqxI1as6kBKdEWZMPGDZpNtA/I3H5m5nrt4OH2dg=", "id"=>"bulk_edit", "issue"=>{"status_id"=>"7"}, "controller"=>"projects"}
  [4;35;1mSQL (0.1ms)[0m   [0mSELECT max(`settings`.updated_on) AS max_updated_on FROM `settings` [0m
  [4;36;1mUser Load (0.1ms)[0m   [0;1mSELECT * FROM `users` WHERE (`users`.`id` = 4) AND (users.status = 1) AND ( (`users`.`type` = 'User' OR `users`.`type` = 'AnonymousUser' ) ) [0m
  [4;35;1mProject Load (0.1ms)[0m   [0mSELECT * FROM `projects` WHERE (`projects`.`identifier` = 'bulk_edit') LIMIT 1[0m
Rendering template within layouts/base
Rendering common/error (404)
  [4;36;1mUserPreference Load (0.1ms)[0m   [0;1mSELECT * FROM `user_preferences` WHERE (`user_preferences`.user_id = 4) LIMIT 1[0m
  [4;35;1mMember Load Including Associations (0.1ms)[0m   [0mSELECT `members`.`id` AS t0_r0, `members`.`user_id` AS t0_r1, `members`.`project_id` AS t0_r2, `members`.`created_on` AS t0_r3, `members`.`mail_notification` AS t0_r4, `projects`.`id` AS t1_r0, `projects`.`name` AS t1_r1, `projects`.`description` AS t1_r2, `projects`.`homepage` AS t1_r3, `projects`.`is_public` AS t1_r4, `projects`.`parent_id` AS t1_r5, `projects`.`created_on` AS t1_r6, `projects`.`updated_on` AS t1_r7, `projects`.`identifier` AS t1_r8, `projects`.`status` AS t1_r9, `projects`.`lft` AS t1_r10, `projects`.`rgt` AS t1_r11, `roles`.`id` AS t2_r0, `roles`.`name` AS t2_r1, `roles`.`position` AS t2_r2, `roles`.`assignable` AS t2_r3, `roles`.`builtin` AS t2_r4, `roles`.`permissions` AS t2_r5, `roles`.`issues_visibility` AS t2_r6 FROM `members` LEFT OUTER JOIN `projects` ON `projects`.id = `members`.project_id LEFT OUTER JOIN `member_roles` ON (`members`.`id` = `member_roles`.`member_id`) LEFT OUTER JOIN `roles` ON (`roles`.`id` = `member_roles`.`role_id`) WHERE (`members`.user_id = 4 AND (projects.status=1)) ORDER BY projects.name[0m
Filter chain halted as [:find_project] rendered_or_redirected.
Completed in 29ms (View: 25, DB: 0) | 404 Not Found [https://{DOMAIN}/redmine/projects/{PROJECT}/bulk_edit?back_url=%2Fredmine%2Fprojects%2F{PROJECT}%2Fissues%3Fquery_id%3D11&ids%5B%5D=1082&issue%5Bstatus_id%5D=7]

Following the code it seems that the link_to call internally evaluates the url incorrectly...

Mirko

Actions #10

Updated by Etienne Massip almost 13 years ago

Jérémy Chatard wrote:

I have absolutely no knowledge of the Redmine source code, but doesn't this look like an incorrect routing issue?
[...]
Where id and action would have taken each other places?

That kind of thing, yes.

You should get something like this :

Processing IssuesController#bulk_edit (for 10.132.21.146 at 2011-06-14 17:08:40) [GET]
  Parameters: {"ids"=>["395", "294", "312"], "action"=>"bulk_edit", "controller"=>"issues"}
Rendering template within layouts/base
Rendering issues/bulk_edit
Completed in 719ms (View: 16, DB: 94) | 200 OK [http://domain.tld/issues/bulk_edit?ids%5B%5D=395&ids%5B%5D=294&ids%5B%5D=312]

Could you post your config/routes.rb file, please ?

Actions #11

Updated by Jérémy Chatard almost 13 years ago

I don't know if this is an just an example, but you are on the IssuesController where I'm on the ProjectsController.

By the way, here's my config/routes.rb as an attachement to keep the thread readable. Please note that as far as my memories can go, I've never ever touched/modify this file.

Thanks for the help!

Actions #12

Updated by Mirko Geissler almost 13 years ago

Yes, the given file seems to be the bare 1.2-stable routes file. No differences found.

Did you or a plugin make any changes to your redmine database?

Mirko

Actions #13

Updated by Etienne Massip almost 13 years ago

I would be very surprised if this was a DB issue; could you post your app/views/context_menus/issues.html.erb file too, please ?

Actions #14

Updated by Mirko Geissler almost 13 years ago

Etienne Massip wrote:

I would be very surprised if this was a DB issue;

There was an earlier issue with bulk edits which was related to custom fields (see #7985) but this obviously doesn´t apply here. In my case the code is directly from svn without plugins so I don´t know what else could be the reason...

Mirko

Actions #15

Updated by Jérémy Chatard almost 13 years ago

Here's my issues.html.erb.

For the database, I used to have some plugins which may have modified the database. Will need more time to check that, after work or tomorrow.

Any reason why one would try to load the ProjectsController where for me (well us buggies) would lead to IssuesController?

Actions #16

Updated by Etienne Massip almost 13 years ago

Jérémy Chatard wrote:

Here's my issues.html.erb.

It's fine too. Mirko, did you restart your server instance after you did revert the ApplicationHelper changes ?

Any reason why one would try to load the ProjectsController where for me (well us buggies) would lead to IssuesController?

Nope :/

Actions #17

Updated by Mirko Geissler almost 13 years ago

Etienne Massip wrote:

Mirko, did you restart your server instance after you did revert the ApplicationHelper changes ?

Hi Etienne,

Yes I always do a full apache restart which restarts redmine as well. After doing this changes made are reflected by redmine (like new plugins, changed code etc.).

I´m a bit lost, is there anything I/we could try out to track this issue down somehow? As mentioned earlier I got under the impression that the call to link_to returns an invalid path (without the "issues" controller part) in context_menu_link() in app/helpers/application_helper.rb.

Mirko

Actions #18

Updated by Etienne Massip almost 13 years ago

Could try to add logging in ApplicationHelper#context_menu_link as suggested below (untested hand-written patch):

  def context_menu_link(name, url, options={})
+   RAILS_DEFAULT_LOGGER.info "name = #{name}, url = #{url}, options = #{options.present? options.inspect : 'none'}" 
    options[:class] ||= ''
    if options.delete(:selected)
      options[:class] << ' icon-checked disabled'
      options[:disabled] = true
    end
    if options.delete(:disabled)
      options.delete(:method)
      options.delete(:confirm)
      options.delete(:onclick)
      options[:class] << ' disabled'
      url = '#'
    end
-   link_to name, url, options
+   link = link_to(name, url, options)
+   RAILS_DEFAULT_LOGGER.info "link = #{link}" 
+   link
  end
Actions #19

Updated by Mirko Geissler almost 13 years ago

Hi Etienne,

The code seems to work fine I only had to add a question mark in the first line:

DEFAULT_LOGGER.info "name = #{name}, url = #{url}, options = #{options.present? ? options.inspect : 'none'}"

I´ve attached the log where I right-clicked only onto one ticket and tried to change its "Done" attribute to 100%.

Thank you for your help!
Mirko

Actions #20

Updated by Etienne Massip almost 13 years ago

Indeed, forgot the question mark.

Should also be

DEFAULT_LOGGER.info "name = #{name}, url = #{url.present? ? url.inspect : 'no url'}, options = #{options.present? ? options.inspect : 'none'}"

as url is a Hash most times.

Anyway, your log is fine, the issue is with the redirect to back_url, my setup does not use a sub-URL as yours, did you install any server patch to make it work ?

Actions #21

Updated by Mirko Geissler almost 13 years ago

Hi Etienne,

Redmine wise there is no patch applied as mentioned. We are running an apache server which host multiple webpages and two redmine instances (both have the same issue). I´m not sure what kind of patch you might have in mind here. Which code is responsible for the back_url creation?

Mirko

Actions #22

Updated by Etienne Massip almost 13 years ago

Could you please send the log obtained using the modified debug line ?

DEFAULT_LOGGER.info "name = #{name}, url = #{url.present? ? url.inspect : 'no url'}, options = #{options.present? ? options.inspect : 'none'}"

Please don't sort the issue list before changing the %done ratio.

And try accessing directly /redmine/projects/group/issues?sort=id:desc,priority:desc,updated_on:desc ?

Thanks

Actions #23

Updated by Mirko Geissler almost 13 years ago

Hi Etienne,

I´ve added the code line as suggested and called the sort link directly. It worked fine and it seems that the log code was not called at all. I´ve also tried again to change the "done" attribute of a ticket via context menu. Both logs produced are in the attached file.

Thank you!
Mirko

Actions #24

Updated by Etienne Massip almost 13 years ago

The log contents show only valid links :

name = 20%, url = {:action=>"bulk_edit", :back_url=>"/redmine/projects/group/issues?sort=id%3Adesc%2Cpriority%3Adesc%2Cupdated_on%3Adesc", :issue=>{"done_ratio"=>20}, :controller=>"issues", :ids=>[1976]}, options = {:method=>:post, :disabled=>nil, :selected=>false}
link = <a href="/redmine/issues/bulk_edit?back_url=%2Fredmine%2Fprojects%2Fgroup%2Fissues%3Fsort%3Did%253Adesc%252Cpriority%253Adesc%252Cupdated_on%253Adesc&amp;ids%5B%5D=1976&amp;issue%5Bdone_ratio%5D=20" class="" onclick="var f = document.createElement('form'); f.style.display = 'none'; this.parentNode.appendChild(f); f.method = 'POST'; f.action = this.href;var s = document.createElement('input'); s.setAttribute('type', 'hidden'); s.setAttribute('name', 'authenticity_token'); s.setAttribute('value', 'QboSqxI1as6kBKdEWZMPGDZpNtA/I3H5m5nrt4OH2dg='); f.appendChild(s);f.submit();return false;">20%</a>

But according to note#1, this is not what is really generated in your html page, right ?

That would mean the url is rewritten before being sent to the browser, maybe by Passenger or Rack ?!

Actions #25

Updated by Mirko Geissler almost 13 years ago

Exactly, unfortunately I´ve no idea about the process leading to the final url internally. We use standard installations of Passenger and Rack only dedicated to our redmine instances.

Actions #26

Updated by Jérémy Chatard almost 13 years ago

Ok so I've just tested a fresh Redmine install with Bitnami stack on my local computer, and I can't reproduce the bug.

In my situation my Redmine install generates:

http://.../projects/{PROJECT_SLUG}/bulk_edit?...

Where it should have generated:

http://.../issues/bulk_edit?...

And as Mirko we use standard Passenger and Rack.

Actions #27

Updated by Etienne Massip almost 13 years ago

Guess that could be a Passenger URL rewriting rule.

Can you reproduce the problem with Redmine running with ruby script/server ?

Actions #28

Updated by Mirko Geissler almost 13 years ago

How can I test passengers url rewriting functionality? Unfortunately I´ve never worked with ruby/passenger directly so far. Is this functionality part of a module I could test on our server?

Mirko

Actions #29

Updated by Etienne Massip almost 13 years ago

I don't know anything about Passenger, sorry.

If you could run the ruby script/server command from the Redmine directory (after checking your RAILS_ENV is set to the correct value) and try to reproduce the bug on the WebRick instance, then we could be able to tell if there's truly a rewriting of URLs by Passenger.

Actions #30

Updated by Jean-Baptiste Barth almost 13 years ago

I have instances at work in 1.2-stable with passenger, it doesn't happen. I suspected it could be because of the identifier of your project Mirko (I guess "group" is used in other URLs), as Jérémy suggested, but no luck here neither.

Maybe we should confirm the "find_project" method (which "renders or redirect" and lead to the 404) receive a correct parameter by putting a lot of Rails.logger.debug method in it and check if everything's ok with your setup ?

Actions #31

Updated by Jean-Baptiste Barth almost 13 years ago

OK, I've read all the notes carefully again, so forget my idea of debugging find_project method, we already know it receives something bad.

I have a few questions/ideas more :
  • try what Etienne said and tell us if it happens with a bare ruby script/server
  • Jérémy: is your redmine instance hosted under a sub-directory too ? (http://blablabla.com/*redmine_or_anything_else*/)
  • in config/routes.rb, you will find a line named #left old routes at the bottom for backwards compat ; two lines under, there's map.connect 'projects/:project_id/issues/:action', :controller => 'issues'. It's an old route, it shouldn't be triggered. Can you try to comment it (just put a # at the beginning of the line), restart your instance, and tell us what happens ?
  • give us your passenger config file and eventually the vhost config ; a tarball containing all the apache or nginx config would be fine too
Actions #32

Updated by Jérémy Chatard almost 13 years ago

@Jean-Baptiste

  • try with script/server: OK, no more bug
  • My Redmine instance is located in a subdomain: http://redmine.domain.tld
  • comment map.connect 'projects/:project_id/issues/:action', :controller => 'issues' in config/routes.rb: KO, no effect
  • Attached vhost.txt
  • Passenger 2.2.9 along with ruby-enterprise-1.8.7-2009.10 defined as follow from my Apache config (I'll give you my apache configuration today if I have the time):
# Ruby enterprise version
LoadModule passenger_module /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/passenger-2.2.9/ext/apache2/mod_passenger.so
PassengerRoot /opt/ruby-enterprise-1.8.7-2009.10/lib/ruby/gems/1.8/gems/passenger-2.2.9
PassengerRuby /opt/ruby-enterprise-1.8.7-2009.10/bin/ruby

I'll try to update passenger later in the day and get back to you.

Thanks,
Jérémy

Actions #33

Updated by Jérémy Chatard almost 13 years ago

  • Upgraded to passenger-3.0.7 (still ruby-enterprise-1.8.7-2009.10): KO, same issue

If anyone knows where passenger stores its configuration files (if there is any) I'd be glad put it here.

Actions #34

Updated by Jérémy Chatard almost 13 years ago

Maybe we should change the issue name to be passenger specific since we can't reproduce it without passenger.

Actions #35

Updated by Etienne Massip almost 13 years ago

I'm curious to see your Apache conf ?

Actions #36

Updated by Jérémy Chatard almost 13 years ago

I'm using Virtualmin. (don't hit me!)

Actions #37

Updated by Etienne Massip almost 13 years ago

Jérémy Chatard wrote:

I'm using Virtualmin. (don't hit me!)

I must confess I didn't even know it existed :o

There is no URL rewritting directives in your Apache conf but there is a rewrite_module loaded :

LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so

There seems to be a .htaccess file loaded, there might be something relevant in it ?

And finally there might be some additional conf located in /etc/apache2/sites-enabled/ dir :

# Include the virtual host configurations:
Include /etc/apache2/sites-enabled/

Actions #38

Updated by Jérémy Chatard almost 13 years ago

Etienne E

  • Here's my vhost for Redmine: http://www.redmine.org/issues/8551#note-32
  • There is no .htaccess in my Redmine vhost's DocumentRoot
  • In /etc/apache2/sites-enabled/ all my other domains are included, they all look more or less as my Redmine one (see first bullet)

Thanks,

Actions #39

Updated by Rafael G. almost 13 years ago

I'm suffering the same problem and I tried to fix(cleanly) without success.

I traced the path from url until the link_to and it's ok, but later in the rendered page menu context links are wrong (he omits issues controller and add projects/:project_id).

I tried to use route helpers to generate the routes without success.

Finally I solved it in a dirty way, I added to routes.rb:

  map.project_bulk_edit_issue 'projects/:project_id/bulk_edit', :controller => 'issues', :action => 'bulk_edit', :conditions => { :method => :get }
  map.project_bulk_update_issue 'projects/:project_id/bulk_edit', :controller => 'issues', :action => 'bulk_update', :conditions => { :method => :post }

It is not the panacea but works.

I've found more info about this issue here: http://groups.google.com/group/phusion-passenger/browse_thread/thread/b6d9e105d817c336

Regards

Actions #40

Updated by Jérémy Chatard almost 13 years ago

Thanks Rafael for this temporary fix.

Works for me!

Actions #41

Updated by Mirko Geissler almost 13 years ago

Thanks, works for me as well, I´ve also added two lines to work around this error on the "MyPages" page.

map.my_bulk_edit_issue 'my/bulk_edit', :controller => 'issues', :action => 'bulk_edit', :conditions => { :method => :get }
map.my_bulk_update_issue 'my/bulk_edit', :controller => 'issues', :action => 'bulk_update', :conditions => { :method => :post }

Mirko

Actions #42

Updated by Amar Kulo over 12 years ago

I have tried this workaround from Rafael but it doesn't work for me.

Any tips what am I doing wrong?

Amar

Actions #43

Updated by Jérémy Chatard over 12 years ago

Just a quick update, I've upgraded to to 1.2.1

  • I've tried this morning fcgi: with my instance the bug remains the same
  • I've tried a fresh Redmine 1.2.1 (no plugin) with passenger: still buggy
  • I've tried a fresh Redmine 1.2.1 (no plugin) with fcgi: buggy too

This is a real problem because many routes aren't working at all. In fact, even if it's usable with some workarounds, many links are simply broken.

Hope it helps...

Thanks,
Jérémy

Actions #44

Updated by Jérémy Chatard over 12 years ago

But it should be noted that running my instance or the fresh one with webrick works!

So...

Actions #45

Updated by Brad Langhorst over 12 years ago

I have this issue on my passenger powered setup as well.
I'm also using google's mod pagespeed.

When I disable mod pagespeed, the context menu deletes work.

jeremy: any chance you are using pagespeed too?

Actions #46

Updated by Brad Langhorst over 12 years ago

ps: to disable pagespeed on just one vhost

ModPagespeed off
ModPagespeedFileCachePath "/var/mod_pagespeed/cache/"
ModPagespeedGeneratedFilePrefix "/var/mod_pagespeed/files/"

note: you have to specify the cachepath and fileprefix even if they're already specified in the global conf file... otherwise pagespeed crashes before it disables itself.

Actions #47

Updated by Mirko Geissler over 12 years ago

Hi Brad,

Interesting catch. In our case we indeed have googles mod_pagespeed running on our server (and encounter the mentioned issue described above). I´m going to check this relation on monday.

Thank you,
Mirk

Actions #48

Updated by Jérémy Chatard over 12 years ago

Brad Miller oh yeah, you're right. We are using pagespeed too. Completly forgot it.

I'm away for holidays, and will test this once returned.

Thanks,
Jeremy

Actions #49

Updated by Jérémy Chatard over 12 years ago

Ok, mod_pagespeed disabled, everything is back to normal.

I thus don't know how to handle this. Do we consider this to be resolved since this isn't Redmine related?

I let the Redmine team choose.

Thanks,
Jérémy

Actions #50

Updated by Brad Langhorst over 12 years ago

Oher rails applications work fine... including mine.
So i think this might be worth some further investigation about exactly which pagespeed optimization is involved to see if redmine is doing something strange, or to be able to report a bug to the google pagespeed team.

Actions

Also available in: Atom PDF