Compare commits

...

1310 Commits

Author SHA1 Message Date
Toshi MARUYAMA 868e15ff2d remove unneeded trailing ';' from lib/redmine/export/pdf.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@13132 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-07 08:25:15 +00:00
Toshi MARUYAMA 1944473eee remove unneeded trailing ';' from test/functional/repositories_git_controller_test.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@13131 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-07 08:25:00 +00:00
Toshi MARUYAMA e06de47234 Gemfile: update Rails 3.2.18
git-svn-id: http://svn.redmine.org/redmine/trunk@13130 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-07 07:55:53 +00:00
Toshi MARUYAMA a87cc86b99 fix typo of app/models/repository/mercurial.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@13129 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-03 23:21:01 +00:00
Toshi MARUYAMA 6eaba1137a fix typo of app/models/repository/cvs.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@13128 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-03 23:20:45 +00:00
Jean-Philippe Lang ef4cacdb66 Repository identifiers can be reserved words (#16564).
Patch by Felix Schäfer.

git-svn-id: http://svn.redmine.org/redmine/trunk@13127 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-02 08:09:33 +00:00
Jean-Philippe Lang 53deb6ca88 Mailer.token_for generates invalid message_id when using from address with full name (#16619).
git-svn-id: http://svn.redmine.org/redmine/trunk@13126 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-02 07:56:11 +00:00
Jean-Philippe Lang 61776a8b7e Blank content type for attachments attached via Ajax file upload (Patch by Jens Krämer).
git-svn-id: http://svn.redmine.org/redmine/trunk@13125 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-02 07:38:04 +00:00
Jean-Philippe Lang 382ca5055a Field set as read-only still available in the issues list context menu (#16755).
git-svn-id: http://svn.redmine.org/redmine/trunk@13124 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-02 07:32:41 +00:00
Jean-Philippe Lang 2d3f3cd9aa Use async email deliveries in rake tasks (#16784).
git-svn-id: http://svn.redmine.org/redmine/trunk@13123 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-02 07:07:02 +00:00
Jean-Philippe Lang bcc5ac38f3 Crash in markdown formatter causes ruby process to end (#16781).
Patch by Jens Krämer.

git-svn-id: http://svn.redmine.org/redmine/trunk@13122 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-02 06:57:29 +00:00
Toshi MARUYAMA 9875ed9954 Gemfile: upgrade mocha version (#16685)
git-svn-id: http://svn.redmine.org/redmine/trunk@13117 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-01 11:44:06 +00:00
Toshi MARUYAMA 6b33956394 use rvm 2.0 and 2.1 instead of 2.0.0 and 2.1.0 at .travis.yml
See:
https://github.com/travis-ci/travis-ci/issues/2220

git-svn-id: http://svn.redmine.org/redmine/trunk@13116 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-01 01:59:55 +00:00
Toshi MARUYAMA 82fa2cf79a add patch for regression of Hash#reject in Ruby 2.1.1 (#16194)
git-svn-id: http://svn.redmine.org/redmine/trunk@13115 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-01 01:59:39 +00:00
Toshi MARUYAMA 4276fc306c Gemfile: use double quote for request_store (#16685)
git-svn-id: http://svn.redmine.org/redmine/trunk@13112 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-01 01:50:40 +00:00
Toshi MARUYAMA a599442d05 introduce request_store to ensure that the current user doesn't leak across request boundaries (#16685)
Contributed by Holger Just.

git-svn-id: http://svn.redmine.org/redmine/trunk@13110 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-05-01 00:44:01 +00:00
Jean-Philippe Lang 9fdd0862f7 Missing type=array attributes in custom fields API (#16739).
git-svn-id: http://svn.redmine.org/redmine/trunk@13109 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-26 07:56:00 +00:00
Jean-Philippe Lang ddd6ac8cd4 Don't submit the form when tabs are inside a form (#16708).
Patch by Nicolas Rodriguez.

git-svn-id: http://svn.redmine.org/redmine/trunk@13108 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-26 07:48:28 +00:00
Jean-Philippe Lang 613757a83d Support for the 1.x versions of mime-types gem (#16710).
Patch by Szilveszter Ördög.

git-svn-id: http://svn.redmine.org/redmine/trunk@13107 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-26 07:44:06 +00:00
Jean-Philippe Lang a4fa0364d4 Redmine links not working with html escpaed characters (#16668).
git-svn-id: http://svn.redmine.org/redmine/trunk@13106 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-26 07:34:11 +00:00
Jean-Philippe Lang d197203d79 Set Redcarpet :no_intra_emphasis to true (#16669).
git-svn-id: http://svn.redmine.org/redmine/trunk@13105 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-26 07:02:45 +00:00
Jean-Philippe Lang 43c9d69bf2 Set default start date on issues created by email if default_issue_start_date_to_creation_date is set (#16655).
git-svn-id: http://svn.redmine.org/redmine/trunk@13104 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-26 06:57:09 +00:00
Toshi MARUYAMA 709211cb9c fix non-ascii attachment file name get corrupted in IE11 (#16711)
Contributed by Go MAEDA.

git-svn-id: http://svn.redmine.org/redmine/trunk@13101 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-17 18:21:23 +00:00
Toshi MARUYAMA 9eb7f25918 remove permission_manage_documents (#16704, #7418)
git-svn-id: http://svn.redmine.org/redmine/trunk@13100 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-17 01:11:36 +00:00
Toshi MARUYAMA 771dc9b2d6 fix label_module_plural merge miss (#16704, #7418)
git-svn-id: http://svn.redmine.org/redmine/trunk@13099 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-17 00:53:03 +00:00
Toshi MARUYAMA ee8cf0f12b replace RSS by Atom (#16704, #7418)
git-svn-id: http://svn.redmine.org/redmine/trunk@13098 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-17 00:43:47 +00:00
Toshi MARUYAMA c6fb9c5f51 replace Atom by RSS (#16704, #7418)
git-svn-id: http://svn.redmine.org/redmine/trunk@13097 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-17 00:34:33 +00:00
Toshi MARUYAMA 20df9c4dbd Persian Translation updated by shakib a (#16704, #7418)
git-svn-id: http://svn.redmine.org/redmine/trunk@13096 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-17 00:21:43 +00:00
Toshi MARUYAMA 770a296f43 fix typo at lib/tasks/ciphering.rake
git-svn-id: http://svn.redmine.org/redmine/trunk@13095 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-16 00:20:49 +00:00
Toshi MARUYAMA 8c5d88160f fix typo at lib/tasks/ci.rake
git-svn-id: http://svn.redmine.org/redmine/trunk@13094 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-16 00:20:32 +00:00
Toshi MARUYAMA a581f35dff fix typo at test/unit/helpers/application_helper_test.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@13093 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-16 00:20:15 +00:00
Toshi MARUYAMA 4b1f75e611 fix typo at app/controllers/repositories_controller.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@13092 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-16 00:19:57 +00:00
Toshi MARUYAMA 44614b5834 fix typo at lib/redcloth3.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@13091 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-15 23:57:52 +00:00
Toshi MARUYAMA 38fc2e4391 remove unneeded tabs from test/functional/repositories_cvs_controller_test.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@13090 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-15 22:50:04 +00:00
Toshi MARUYAMA bec603eb9b replace tabs to spaces at app/models/repository/cvs.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@13089 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-15 22:49:48 +00:00
Toshi MARUYAMA 3270a3af40 replace tabs to spaces at app/models/query.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@13088 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-15 22:49:30 +00:00
Toshi MARUYAMA 8c52689d91 reorder French translation (#16553)
Contributed by Darth Vader.

git-svn-id: http://svn.redmine.org/redmine/trunk@13087 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-08 12:39:11 +00:00
Toshi MARUYAMA c777f75edd mark deprecated Enumeration#overridding_change? which was changed in r13056
git-svn-id: http://svn.redmine.org/redmine/trunk@13086 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-08 12:38:55 +00:00
Toshi MARUYAMA ce2b12957f remove trailing white-spaces from Issue#count_and_group_by SQL
git-svn-id: http://svn.redmine.org/redmine/trunk@13084 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-08 11:23:05 +00:00
Toshi MARUYAMA 05d24e64f7 remove trailing white-spaces from Issue#by_subproject SQL
git-svn-id: http://svn.redmine.org/redmine/trunk@13083 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-08 11:22:49 +00:00
Toshi MARUYAMA 3c6d46beec remove trailing white-spaces from app/models/issue.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@13082 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-08 11:22:33 +00:00
Toshi MARUYAMA 20496b516f code format clean up Issue#update_versions_from_hierarchy_change
git-svn-id: http://svn.redmine.org/redmine/trunk@13081 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-08 11:22:17 +00:00
Toshi MARUYAMA 2a1a02f976 French "text_git_repository_note" translation updated by Darth Vader (#16553, #16566)
git-svn-id: http://svn.redmine.org/redmine/trunk@13080 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-08 11:22:01 +00:00
Toshi MARUYAMA e26f35860c Traditional Chinese "field_assigned_to" translation changed by ChunChang Lo (#16545, #16556)
git-svn-id: http://svn.redmine.org/redmine/trunk@13078 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-08 02:27:31 +00:00
Toshi MARUYAMA a3f57f1cbf Traditional Chinese translation updated by ChunChang Lo (#16545)
git-svn-id: http://svn.redmine.org/redmine/trunk@13077 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-08 02:27:15 +00:00
Toshi MARUYAMA cebcd67704 fix typos of source comments at Query model
git-svn-id: http://svn.redmine.org/redmine/trunk@13076 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-07 08:07:59 +00:00
Toshi MARUYAMA e9399e16d2 fix typos of source comments at Project model
git-svn-id: http://svn.redmine.org/redmine/trunk@13075 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-07 08:07:43 +00:00
Toshi MARUYAMA 3aeb85bfd5 fix typos of source comments at Member model
git-svn-id: http://svn.redmine.org/redmine/trunk@13074 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-07 08:07:25 +00:00
Toshi MARUYAMA 66f0a5c2ef fix typos of source comments at Issue model
git-svn-id: http://svn.redmine.org/redmine/trunk@13073 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-07 08:07:08 +00:00
Toshi MARUYAMA 071d2d7f47 fix typos of source comments at Enumeration model
git-svn-id: http://svn.redmine.org/redmine/trunk@13072 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-07 08:06:50 +00:00
Toshi MARUYAMA 9250994088 fix typos of source comments at ApplicationHelper
git-svn-id: http://svn.redmine.org/redmine/trunk@13071 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-07 08:06:32 +00:00
Toshi MARUYAMA 6067bfcd09 fix typos of source comments at lib/redmine/wiki_formatting.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@13070 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-07 08:06:14 +00:00
Toshi MARUYAMA 242b440073 fix typos of source comments at lib/redmine/plugin.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@13069 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-07 08:05:54 +00:00
Toshi MARUYAMA bf776b3304 fix typos of source comments at lib/redmine/hook.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@13068 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-07 08:05:35 +00:00
Toshi MARUYAMA e806f8cc43 German Translation updated by Daniel Felix (#16542)
git-svn-id: http://svn.redmine.org/redmine/trunk@13065 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-07 07:34:47 +00:00
Toshi MARUYAMA 7dca09a135 not use non ASCII characters at CHANGELOG
git-svn-id: http://svn.redmine.org/redmine/trunk@13064 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-07 05:44:40 +00:00
Toshi MARUYAMA e475798769 fix character broken (MOJIBAKE) of CHANGELOG
git-svn-id: http://svn.redmine.org/redmine/trunk@13063 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-07 05:44:23 +00:00
Toshi MARUYAMA f773219426 fix typos of source comments at Version model
git-svn-id: http://svn.redmine.org/redmine/trunk@13062 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-07 00:22:11 +00:00
Toshi MARUYAMA e8e9c046af fix typos at unit version test
git-svn-id: http://svn.redmine.org/redmine/trunk@13061 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-07 00:21:55 +00:00
Toshi MARUYAMA 5d56f0f26f Japanese translation (email notification) updated by Go MAEDA (#16536)
git-svn-id: http://svn.redmine.org/redmine/trunk@13060 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-07 00:21:39 +00:00
Toshi MARUYAMA 82de347dfd fix typos of source comments at acts_as_event.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@13059 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-06 14:14:55 +00:00
Toshi MARUYAMA 3e89c2ff3e fix typos of source comments at WikiContent model
git-svn-id: http://svn.redmine.org/redmine/trunk@13058 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-06 14:14:40 +00:00
Toshi MARUYAMA 597d042ec2 fix typos of source comments at Project model
git-svn-id: http://svn.redmine.org/redmine/trunk@13057 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-06 14:14:23 +00:00
Toshi MARUYAMA 5e0d93b689 fix typo of Enumeration#overridding_change?
git-svn-id: http://svn.redmine.org/redmine/trunk@13056 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-06 13:32:35 +00:00
Jean-Philippe Lang 01ac064935 Exclude custom fields with multiple values from time report criteria (#16519).
git-svn-id: http://svn.redmine.org/redmine/trunk@13055 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-06 11:29:44 +00:00
Jean-Philippe Lang 22b2a1f699 Fixed that Link custom fields are not displayed as links on the issue list (#16496).
git-svn-id: http://svn.redmine.org/redmine/trunk@13054 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-06 11:11:52 +00:00
Jean-Philippe Lang 5b8a96472f Missing closing tag (#3177).
git-svn-id: http://svn.redmine.org/redmine/trunk@13052 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-06 11:03:57 +00:00
Toshi MARUYAMA 1c208fcc86 Bulgarian translation updated by Ivan Cenov (#16532)
git-svn-id: http://svn.redmine.org/redmine/trunk@13050 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-06 07:11:37 +00:00
Jean-Philippe Lang 25ddc672a1 Adds strings to locales (#3177).
git-svn-id: http://svn.redmine.org/redmine/trunk@13044 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-05 14:08:18 +00:00
Jean-Philippe Lang 64c65463a4 Adds strings to locales (#3177).
git-svn-id: http://svn.redmine.org/redmine/trunk@13043 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-05 14:05:36 +00:00
Jean-Philippe Lang 43d7036051 Adds "Check for updates" for installed plugins (#3177).
git-svn-id: http://svn.redmine.org/redmine/trunk@13042 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-05 14:00:19 +00:00
Jean-Philippe Lang 4920bb9d4d Potentiel data leak in "Invalid form authenticity token" error screen (#16511).
git-svn-id: http://svn.redmine.org/redmine/trunk@13041 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-05 08:19:55 +00:00
Jean-Philippe Lang 380b0515d1 Fixed that back_url=/ param is ignored (#16467).
git-svn-id: http://svn.redmine.org/redmine/trunk@13040 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-05 08:11:28 +00:00
Toshi MARUYAMA e739628c81 replace mail options reference URL at configuration.yml.example
wiki.rubyonrails.org seems dead.

git-svn-id: http://svn.redmine.org/redmine/trunk@13037 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-05 00:21:16 +00:00
Jean-Philippe Lang bf37fd9695 Format table list.
git-svn-id: http://svn.redmine.org/redmine/trunk@13036 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-04-03 23:11:47 +00:00
Jean-Philippe Lang 08b96d8b47 Updates for 2.5.1 release.
git-svn-id: http://svn.redmine.org/redmine/trunk@13033 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-29 16:09:30 +00:00
Jean-Philippe Lang 6d5569a46d Remove users from cc if they are already notified (#16415).
git-svn-id: http://svn.redmine.org/redmine/trunk@13029 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-29 15:27:42 +00:00
Jean-Philippe Lang 7567c3d8b2 Fixed back url verification (#16466).
git-svn-id: http://svn.redmine.org/redmine/trunk@13018 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-29 14:32:47 +00:00
Toshi MARUYAMA cecbb225a2 Czech translation for trunk updated by Karel Pičman (#16453)
git-svn-id: http://svn.redmine.org/redmine/trunk@13016 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-28 10:52:36 +00:00
Toshi MARUYAMA 279c3a2e9b Czech translation for 2.5-stable updated by Karel Pičman (#16453)
git-svn-id: http://svn.redmine.org/redmine/trunk@13015 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-28 10:52:20 +00:00
Toshi MARUYAMA 2545720afa fix awesome_nested_set test failure (#6579)
git-svn-id: http://svn.redmine.org/redmine/trunk@13014 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-26 11:46:47 +00:00
Toshi MARUYAMA 971dbfecc0 add missing awesome_nested_set 2.1.6 files (#6579)
64cc8bc8cf

git-svn-id: http://svn.redmine.org/redmine/trunk@13013 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-26 11:46:31 +00:00
Toshi MARUYAMA 92cac9011e remove unneeded Relation#all from WorkflowTransition#count_by_tracker_and_role
git-svn-id: http://svn.redmine.org/redmine/trunk@13012 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-26 10:38:04 +00:00
Toshi MARUYAMA 2ec3b3694f fix race condition of highest rgt at Issue#update_nested_set_attributes_on_parent_change (#6579)
git-svn-id: http://svn.redmine.org/redmine/trunk@13011 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-26 01:48:20 +00:00
Toshi MARUYAMA 755108566c awesome_nested_set: split highest rgt reader method (#6579)
git-svn-id: http://svn.redmine.org/redmine/trunk@13010 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-26 01:48:04 +00:00
Toshi MARUYAMA 3c83d1c646 fix always new lft and rgt are lft = 1, rgt = 2 (#6579)
git-svn-id: http://svn.redmine.org/redmine/trunk@13009 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-26 01:47:48 +00:00
Toshi MARUYAMA e4cf210fa2 use bundled awesome_nested_set (#6579)
git-svn-id: http://svn.redmine.org/redmine/trunk@13008 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-26 01:47:31 +00:00
Toshi MARUYAMA d1057bc4ad import awesome_nested_set 2.1.6 (#6579)
64cc8bc8cf

git-svn-id: http://svn.redmine.org/redmine/trunk@13007 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-26 01:47:14 +00:00
Toshi MARUYAMA 560bfa6d87 add ChangeLog note that #15781 was forgotten to merge to v2.4.3.
git-svn-id: http://svn.redmine.org/redmine/trunk@13004 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-25 08:35:49 +00:00
Toshi MARUYAMA 291de3d03f Gemfile: pin rake version 10.1
rake 10.2.0 requires Ruby version >= 1.9.

git-svn-id: http://svn.redmine.org/redmine/trunk@13001 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-25 07:14:34 +00:00
Toshi MARUYAMA 4a9d04a767 remove unneeded Relation#all from Issue#workflow_rule_by_attribute
git-svn-id: http://svn.redmine.org/redmine/trunk@13000 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-24 16:00:01 +00:00
Toshi MARUYAMA 5fb5bd0b11 remove unneeded Relation#all from WorkflowsController#edit
git-svn-id: http://svn.redmine.org/redmine/trunk@12999 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-24 15:59:45 +00:00
Jean-Philippe Lang aa9b8ea187 Use named routes.
git-svn-id: http://svn.redmine.org/redmine/trunk@12998 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-21 04:11:59 +00:00
Jean-Philippe Lang 83ce5c1687 Don't run the test if Redcarpet is not available (#16236).
git-svn-id: http://svn.redmine.org/redmine/trunk@12997 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-21 04:07:56 +00:00
Jean-Philippe Lang d50ec43dff Disable children when checking parent notifiable.
git-svn-id: http://svn.redmine.org/redmine/trunk@12996 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-21 04:05:49 +00:00
Jean-Philippe Lang ddcad64aa2 Don't abort processing of emails when an email triggers a parsing exception (#16122).
git-svn-id: http://svn.redmine.org/redmine/trunk@12995 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-21 03:04:43 +00:00
Toshi MARUYAMA 429210f03f German Translation updated by Daniel Felix (#16399)
git-svn-id: http://svn.redmine.org/redmine/trunk@12994 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-21 02:27:26 +00:00
Toshi MARUYAMA 74373c1597 move de.yml "label_link" by alphabetical order
git-svn-id: http://svn.redmine.org/redmine/trunk@12993 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-21 02:27:05 +00:00
Jean-Philippe Lang 2b0dfe948a Set same width for all buttons (#16326).
git-svn-id: http://svn.redmine.org/redmine/trunk@12992 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-21 02:22:31 +00:00
Jean-Philippe Lang 54830abd6b Custom queries: buttons to move column to top and bottom (#16326).
git-svn-id: http://svn.redmine.org/redmine/trunk@12991 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-21 02:20:56 +00:00
Jean-Philippe Lang dd70327ce4 Let user choose an issue of another project when updating a time entry (#16338).
git-svn-id: http://svn.redmine.org/redmine/trunk@12990 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-21 02:12:32 +00:00
Jean-Philippe Lang 273aa42900 Fixed: right-aligned table of contents (TOC) not working with markdown (#16236).
git-svn-id: http://svn.redmine.org/redmine/trunk@12989 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-21 01:35:21 +00:00
Jean-Philippe Lang abf24a7d92 Don't clear plugins in tests (#16258).
git-svn-id: http://svn.redmine.org/redmine/trunk@12988 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-21 01:12:11 +00:00
Jean-Philippe Lang 913c8cd2e6 Don't clear plugins in tests (#16258).
git-svn-id: http://svn.redmine.org/redmine/trunk@12987 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-21 01:06:18 +00:00
Jean-Philippe Lang f4e5025aed Extract code to render project context links to helper (#16381).
Patch by Michael Esemplare.

git-svn-id: http://svn.redmine.org/redmine/trunk@12986 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-21 00:27:42 +00:00
Jean-Philippe Lang b29c48717d Fixed: Error generated on 'search for watchers to add' after clicking add without selected users (#14298).
git-svn-id: http://svn.redmine.org/redmine/trunk@12985 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-21 00:23:46 +00:00
Toshi MARUYAMA b109fff281 Bulgarian translation updated by Ivan Cenov (#16385)
git-svn-id: http://svn.redmine.org/redmine/trunk@12984 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-19 15:14:38 +00:00
Toshi MARUYAMA d352d55f27 Traditional Chinese translation updated by ChunChang Lo (#16380)
git-svn-id: http://svn.redmine.org/redmine/trunk@12983 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-19 07:00:29 +00:00
Toshi MARUYAMA d541020982 Polish translation updated by Jan Inowolski (#16368)
git-svn-id: http://svn.redmine.org/redmine/trunk@12981 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-18 03:24:22 +00:00
Jean-Philippe Lang 509d0fbb5e Fixed test failure (#16362).
git-svn-id: http://svn.redmine.org/redmine/trunk@12980 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-17 14:11:37 +00:00
Jean-Philippe Lang 716da4622e Adds string to locales (#16362).
git-svn-id: http://svn.redmine.org/redmine/trunk@12977 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-17 08:26:50 +00:00
Jean-Philippe Lang 0b5e7d2a3c Wrong argument.
git-svn-id: http://svn.redmine.org/redmine/trunk@12976 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-17 08:23:07 +00:00
Jean-Philippe Lang 4bf18a697c Adds an option to send email on "Assignee updated" in application settings (#16362).
git-svn-id: http://svn.redmine.org/redmine/trunk@12975 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-17 08:20:27 +00:00
Jean-Philippe Lang b695878193 Adds an option to send email on "Assignee updated" in application settings (#16362).
git-svn-id: http://svn.redmine.org/redmine/trunk@12974 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-17 08:19:45 +00:00
Jean-Philippe Lang 4e5bb0e231 Fixed flawed regexp for removing pre blocks when quoting messages (#16353).
git-svn-id: http://svn.redmine.org/redmine/trunk@12973 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-17 07:49:14 +00:00
Toshi MARUYAMA b4fd6b47b1 remove garbage comment from test/integration/account_test.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@12972 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-15 22:20:46 +00:00
Jean-Philippe Lang c075626462 Fixed that requesting a specific version of a non-existent wiki page raises an error (#16255).
git-svn-id: http://svn.redmine.org/redmine/trunk@12971 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-15 11:41:24 +00:00
Jean-Philippe Lang 218e5f40a1 Select proper tracker and status for when hitting F5 with browsers that preserve select values on reload, eg. Firefox (#16259).
git-svn-id: http://svn.redmine.org/redmine/trunk@12970 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-15 11:21:16 +00:00
Jean-Philippe Lang 995ae083cd Fixed flawed regexp for removing pre blocks when quoting notes (#16353).
Patch by Stephane Lapie.

git-svn-id: http://svn.redmine.org/redmine/trunk@12969 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-15 10:36:56 +00:00
Jean-Philippe Lang d7729d6d4f Use #read/#write_attribute instead of #super when overwriting default accessors (#16319).
Patch by Felix Schäfer.

git-svn-id: http://svn.redmine.org/redmine/trunk@12968 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-15 10:25:24 +00:00
Jean-Philippe Lang 1547119627 Fixed that integer custom fields with "Link values to URL" set are displayed as escaped html in text email (#16321).
git-svn-id: http://svn.redmine.org/redmine/trunk@12967 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-15 10:21:18 +00:00
Toshi MARUYAMA 484b13cc94 Spanish translation updated by Jesus Gutierrez de la Vega (#16356)
git-svn-id: http://svn.redmine.org/redmine/trunk@12965 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-15 05:49:16 +00:00
Toshi MARUYAMA 23fd067124 Russian translation updated by Kirill Bezrukov (#16336)
git-svn-id: http://svn.redmine.org/redmine/trunk@12963 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-13 11:14:24 +00:00
Toshi MARUYAMA f3311cd1ff Korean Translation updated by Jong-Ha Ahn (#16334)
git-svn-id: http://svn.redmine.org/redmine/trunk@12961 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-13 08:27:00 +00:00
Toshi MARUYAMA 9130222480 fix Turkish translation typo by Gürkan Gür (#16320)
git-svn-id: http://svn.redmine.org/redmine/trunk@12959 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-12 00:13:43 +00:00
Toshi MARUYAMA b772319977 fix source indent of lib/redmine/views/labelled_form_builder.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@12958 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-11 09:59:56 +00:00
Toshi MARUYAMA c67043e01c fix source indent of lib/redmine/views/labelled_form_builder.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@12957 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-11 09:59:40 +00:00
Toshi MARUYAMA 8a5baf9961 Japanese translation updated by Go MAEDA (#16291)
git-svn-id: http://svn.redmine.org/redmine/trunk@12955 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-11 09:30:04 +00:00
Jean-Philippe Lang 1d71564d6f Watcher search now displays project members by default.
git-svn-id: http://svn.redmine.org/redmine/trunk@12951 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-02 11:05:26 +00:00
Jean-Philippe Lang 8a2413f3b7 Updated CHANGELOG for 2.4.4 and 2.5.0.
git-svn-id: http://svn.redmine.org/redmine/trunk@12948 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-03-02 09:37:55 +00:00
Jean-Philippe Lang 2641f8ba91 Changeset comments set to longtext for handling comments > 64KB with Mysql (#16143).
git-svn-id: http://svn.redmine.org/redmine/trunk@12944 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-28 13:16:46 +00:00
Jean-Philippe Lang b0ec39fc45 Always load formatter scripts for when the description is read-only on page load (#16161).
git-svn-id: http://svn.redmine.org/redmine/trunk@12941 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-28 12:52:23 +00:00
Jean-Philippe Lang 4c7a76785d Fixed that non-empty blank strings as custom field values are not properly validated (#16169).
git-svn-id: http://svn.redmine.org/redmine/trunk@12938 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-28 10:05:27 +00:00
Toshi MARUYAMA 0cf7a27b50 use Python getattr instead of hasattr (#16177)
git-svn-id: http://svn.redmine.org/redmine/trunk@12935 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-26 16:28:43 +00:00
Toshi MARUYAMA 7b295f379b Mercurial 2.9 compatibility (#16177)
git-svn-id: http://svn.redmine.org/redmine/trunk@12930 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-26 12:01:00 +00:00
Toshi MARUYAMA e266ddb309 scm: mercurial: add one "closed" branch to test repository (#16177)
git-svn-id: http://svn.redmine.org/redmine/trunk@12929 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-26 11:27:41 +00:00
Jean-Philippe Lang 74e434b2f3 Removed hard-coded strings (#16164).
git-svn-id: http://svn.redmine.org/redmine/trunk@12928 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-25 20:17:15 +00:00
Toshi MARUYAMA 4162d8ec6b prevent issue tree hierarchy is broken in race conditions (#6579)
awesome_nested_set 2.1.6 uses lock.
Issue model uses as same way.

git-svn-id: http://svn.redmine.org/redmine/trunk@12927 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-25 06:54:40 +00:00
Jean-Philippe Lang b6c794d16b Bulk edit workflows for multiple trackers/roles (#16164).
git-svn-id: http://svn.redmine.org/redmine/trunk@12924 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-25 02:54:47 +00:00
Toshi MARUYAMA c6f71f727b explicitly set encoding UTF-8 (#16107)
Default Ruby source file encoding changed in Ruby 2.0.0.
https://bugs.ruby-lang.org/issues/6679

git-svn-id: http://svn.redmine.org/redmine/trunk@12918 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-22 15:55:35 +00:00
Toshi MARUYAMA ad8c02ca82 add "assert_response 401" to tests (#16107)
git-svn-id: http://svn.redmine.org/redmine/trunk@12917 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-22 15:55:20 +00:00
Jean-Philippe Lang 8405d57516 Strip invalid UTF-8 bytes in User#find_by_login (#16107).
git-svn-id: http://svn.redmine.org/redmine/trunk@12916 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-22 12:50:56 +00:00
Jean-Philippe Lang 58ff842d34 Trigger basic HTTP authentication only when Basic authorization header is present (#16107).
git-svn-id: http://svn.redmine.org/redmine/trunk@12915 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-22 12:09:58 +00:00
Jean-Philippe Lang 98e299857b Only notify users that can see news (#16134).
git-svn-id: http://svn.redmine.org/redmine/trunk@12914 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-22 11:32:52 +00:00
Jean-Philippe Lang 9733194cce Prevent N queries on custom_fields when call /issues API.
git-svn-id: http://svn.redmine.org/redmine/trunk@12913 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-22 11:23:39 +00:00
Jean-Philippe Lang 411ddaf701 Preload authors for /issues API calls.
git-svn-id: http://svn.redmine.org/redmine/trunk@12912 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-22 11:22:43 +00:00
Jean-Philippe Lang 9b6f53219f Preload issue authors when displayed on the issue list (#16091).
git-svn-id: http://svn.redmine.org/redmine/trunk@12911 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-22 11:21:05 +00:00
Jean-Philippe Lang 15c85ededd Preload issue relations when exporting issues to CSV with all columns (#16091).
git-svn-id: http://svn.redmine.org/redmine/trunk@12910 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-22 11:19:21 +00:00
Toshi MARUYAMA 95e44a2e57 fix typos of migrate_from_trac.rake
git-svn-id: http://svn.redmine.org/redmine/trunk@12909 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-20 04:59:33 +00:00
Toshi MARUYAMA 4dc7bc75b4 update Rails to 3.2.17
git-svn-id: http://svn.redmine.org/redmine/trunk@12906 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-19 09:32:51 +00:00
Toshi MARUYAMA 78f9d6d2ce svn propset svn:eol-style native fixture (#16122)
git-svn-id: http://svn.redmine.org/redmine/trunk@12905 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-18 23:28:23 +00:00
Toshi MARUYAMA 63a53e17fd fix newline of fixture (#16122)
git-svn-id: http://svn.redmine.org/redmine/trunk@12904 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-18 23:27:39 +00:00
Toshi MARUYAMA b5d80456ac add test of gmail ISO-8859-2 mail receiving (#16122)
git-svn-id: http://svn.redmine.org/redmine/trunk@12903 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-18 23:21:41 +00:00
Toshi MARUYAMA cce92213b0 svn propset svn:eol-style native fixture (#14675)
git-svn-id: http://svn.redmine.org/redmine/trunk@12902 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-17 12:44:58 +00:00
Toshi MARUYAMA 14c02f50cc add test of quoted printable UTF-8 mail reviving (#14675)
git-svn-id: http://svn.redmine.org/redmine/trunk@12901 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-17 12:42:44 +00:00
Toshi MARUYAMA 50ab5ec1b6 Rails4: fix time related git unit test failure
git-svn-id: http://svn.redmine.org/redmine/trunk@12900 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-15 23:13:44 +00:00
Jean-Philippe Lang e8057d41bb Fixed that collapse macro with headings breaks the table of contents (#16077).
git-svn-id: http://svn.redmine.org/redmine/trunk@12899 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-15 10:55:29 +00:00
Jean-Philippe Lang 4a2114c73b Move the field format at the top of the form.
git-svn-id: http://svn.redmine.org/redmine/trunk@12897 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-15 10:04:25 +00:00
Jean-Philippe Lang 1114bf5e99 Fixed: Export CSV - Custom field true/false not using translation (#16081).
git-svn-id: http://svn.redmine.org/redmine/trunk@12896 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-15 09:18:01 +00:00
Jean-Philippe Lang 88568da451 Always preload issues custom values (#16091).
git-svn-id: http://svn.redmine.org/redmine/trunk@12894 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-15 08:59:45 +00:00
Jean-Philippe Lang ceb7e346a7 Fixed alignments.
git-svn-id: http://svn.redmine.org/redmine/trunk@12892 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-15 08:34:30 +00:00
Jean-Philippe Lang b5e19e2d17 Removed trailing spaces in french locale.
git-svn-id: http://svn.redmine.org/redmine/trunk@12890 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-15 08:15:25 +00:00
Jean-Philippe Lang 7204f64254 Typo in french locale (#16073).
git-svn-id: http://svn.redmine.org/redmine/trunk@12889 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-15 08:08:18 +00:00
Jean-Philippe Lang a339deeacd Typo in french locale (#16073).
git-svn-id: http://svn.redmine.org/redmine/trunk@12888 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-15 08:04:11 +00:00
Jean-Philippe Lang 0b97099f8c Set version to 2.5.0.
git-svn-id: http://svn.redmine.org/redmine/trunk@12886 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-15 07:40:26 +00:00
Toshi MARUYAMA 83733e5565 German translation updated by Daniel Felix (#16097)
git-svn-id: http://svn.redmine.org/redmine/trunk@12884 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-15 00:42:37 +00:00
Toshi MARUYAMA 23fb42a890 use escaped "Can't" constant at MailerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12883 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-14 05:05:39 +00:00
Toshi MARUYAMA e8df3d50e8 Rails4: fix time related git adapter test failures
git-svn-id: http://svn.redmine.org/redmine/trunk@12882 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-14 05:05:24 +00:00
Toshi MARUYAMA 0aaf7f799a Rails4: replace deprecated Relation#sum with finder options at lib/redmine/helpers/time_report.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@12881 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-14 02:33:00 +00:00
Toshi MARUYAMA 3d79ddfe75 add missing fixtures to TimeEntryReportsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12880 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-14 02:02:06 +00:00
Toshi MARUYAMA 49e0489bc8 Rails4: fix PreviewsControllerTest assert_template failures
<pre>
  1) Failure:
PreviewsControllerTest#test_preview_issue_notes [test/functional/previews_controller_test.rb:44]:
expecting <"preview"> but rendering with <["previews/issue"]>
</pre>

git-svn-id: http://svn.redmine.org/redmine/trunk@12879 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-13 08:17:04 +00:00
Toshi MARUYAMA 22c7e0b8df fix source indent of Repository::Cvs model
git-svn-id: http://svn.redmine.org/redmine/trunk@12878 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-13 07:13:59 +00:00
Toshi MARUYAMA 7a594a2c3d Rails4: replace hard-coded html with class at ApplicationHelperTest#test_wiki_links
See r12784 comment.

git-svn-id: http://svn.redmine.org/redmine/trunk@12877 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-13 06:29:34 +00:00
Toshi MARUYAMA 2fc8ede093 Rails4: replace hard-coded html with class at Redmine::WikiFormatting::MacrosTest
See r12784 comment.

git-svn-id: http://svn.redmine.org/redmine/trunk@12876 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-13 05:40:09 +00:00
Toshi MARUYAMA b1c151f6c3 allow jruby test failure on travis
SCM tests fail randomly due to IO.popen().

See:
https://github.com/jruby/jruby/issues/779

git-svn-id: http://svn.redmine.org/redmine/trunk@12875 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-11 23:54:51 +00:00
Toshi MARUYAMA 489496488f use jruby instead of jruby-18mode etc. at .travis.yml
git-svn-id: http://svn.redmine.org/redmine/trunk@12874 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-11 23:54:36 +00:00
Toshi MARUYAMA 561f0f14ba add "jruby-20mode" and "jruby-21mode" to .travis.yml
git-svn-id: http://svn.redmine.org/redmine/trunk@12873 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-11 08:40:25 +00:00
Toshi MARUYAMA 889a5ed77a Rails4: replace hard-coded html with class at IssuesHelperTest
See r12784 comment.

git-svn-id: http://svn.redmine.org/redmine/trunk@12872 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-11 07:27:30 +00:00
Toshi MARUYAMA 71f8fe1519 Traditional Chinese translation updated by ChunChang Lo (#16060)
git-svn-id: http://svn.redmine.org/redmine/trunk@12871 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-10 06:21:28 +00:00
Jean-Philippe Lang 83dae30140 Test failure with Postgresql+ruby1.8 (#2549).
git-svn-id: http://svn.redmine.org/redmine/trunk@12870 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-09 16:34:41 +00:00
Jean-Philippe Lang ff46e9d0a4 Makes #watcher_link return an empty string when given nil.
git-svn-id: http://svn.redmine.org/redmine/trunk@12869 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-09 12:04:44 +00:00
Jean-Philippe Lang 79d01c7fe5 Display watch link only when inside project with logged-in user (#2549).
git-svn-id: http://svn.redmine.org/redmine/trunk@12868 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-09 12:01:22 +00:00
Jean-Philippe Lang 2585ed2e3b Use spaces instead of tabs.
git-svn-id: http://svn.redmine.org/redmine/trunk@12867 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-09 11:58:19 +00:00
Jean-Philippe Lang 1ad33134d3 Enable the watching of news (#2549).
git-svn-id: http://svn.redmine.org/redmine/trunk@12866 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-09 11:54:21 +00:00
Jean-Philippe Lang fa31229a23 Check that target tables exist before proceeding.
git-svn-id: http://svn.redmine.org/redmine/trunk@12865 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-09 10:49:57 +00:00
Jean-Philippe Lang 8e00c6ebb9 Prevent inline images to overflow (#3163).
git-svn-id: http://svn.redmine.org/redmine/trunk@12864 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-08 11:16:13 +00:00
Jean-Philippe Lang c366502b61 Updates for 2.4.3 release.
git-svn-id: http://svn.redmine.org/redmine/trunk@12861 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-08 08:00:23 +00:00
Toshi MARUYAMA 62225e9773 Bulgarian translation updated by Ivan Cenov (#16049)
git-svn-id: http://svn.redmine.org/redmine/trunk@12859 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-08 01:12:17 +00:00
Toshi MARUYAMA 28242420c2 add "git --version" to .travis.yml
git-svn-id: http://svn.redmine.org/redmine/trunk@12858 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-07 23:11:53 +00:00
Toshi MARUYAMA 833068207c fix source indent of ApplicationHelperTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12857 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-07 12:12:09 +00:00
Jean-Philippe Lang 98cbbdf7f1 Reverts r12855.
git-svn-id: http://svn.redmine.org/redmine/trunk@12856 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-07 11:45:25 +00:00
Jean-Philippe Lang 3d64938adc Adds JS response support to #render_error (#15760).
git-svn-id: http://svn.redmine.org/redmine/trunk@12855 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-07 09:26:27 +00:00
Jean-Philippe Lang 171581da7e Project.activities should always return a ActiveRecord::Relation (#15983).
git-svn-id: http://svn.redmine.org/redmine/trunk@12854 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-07 08:36:49 +00:00
Jean-Philippe Lang 8b58c95212 Code cleanup.
git-svn-id: http://svn.redmine.org/redmine/trunk@12851 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-07 08:00:39 +00:00
Jean-Philippe Lang 926f27b5c7 Updated locales.
git-svn-id: http://svn.redmine.org/redmine/trunk@12850 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-07 07:58:35 +00:00
Jean-Philippe Lang 7b127ee489 Show tabs for existing custom field types only and adds a view for choosing the type when adding a new custom field.
git-svn-id: http://svn.redmine.org/redmine/trunk@12849 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-07 07:57:59 +00:00
Jean-Philippe Lang 09b95905dc Make sure that Repository#extra_info returns a Hash or nil (#16032).
git-svn-id: http://svn.redmine.org/redmine/trunk@12848 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 20:23:06 +00:00
Toshi MARUYAMA a0baf7ee5d fix wrong issue 'assigned-to-my-group' css class (#16038)
git-svn-id: http://svn.redmine.org/redmine/trunk@12844 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 12:16:27 +00:00
Toshi MARUYAMA 3817f1e304 Rails4: replace hard-coded html with class at ApplicationHelperTest#test_wiki_links_within_wiki_page_context
See r12784 comment.

git-svn-id: http://svn.redmine.org/redmine/trunk@12843 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 04:45:54 +00:00
Toshi MARUYAMA 50eed3f9ab use escaped "Can't" constant at IssuesHelperTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12842 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 04:45:38 +00:00
Toshi MARUYAMA 70ab59354f Rails4: replace ActionView::Helpers::TextHelper#truncate by String#truncate at app/views/issues/_list_simple.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12841 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 03:36:40 +00:00
Toshi MARUYAMA 52e043d0e4 Rails4: replace ActionView::Helpers::TextHelper#truncate by String#truncate at app/views/repositories/revision.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12840 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 03:36:24 +00:00
Toshi MARUYAMA b412f0cc00 Rails4: replace ActionView::Helpers::TextHelper#truncate by String#truncate at app/views/repositories/_dir_list_content.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12839 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 03:36:08 +00:00
Toshi MARUYAMA 3d77481081 Rails4: replace ActionView::Helpers::TextHelper#truncate by String#truncate at app/views/repositories/_revisions.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12838 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 03:35:52 +00:00
Toshi MARUYAMA 4498df2d7c Rails4: replace ActionView::Helpers::TextHelper#truncate by String#truncate at app/views/search/index.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12837 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 03:35:36 +00:00
Toshi MARUYAMA 34870add02 Rails4: replace ActionView::Helpers::TextHelper#truncate by String#truncate at app/views/auto_completes/issues.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12836 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 03:35:19 +00:00
Toshi MARUYAMA 8934e790fe Rails4: replace ActionView::Helpers::TextHelper#truncate by String#truncate at ApplicationHelper#format_activity_description
git-svn-id: http://svn.redmine.org/redmine/trunk@12835 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 03:35:01 +00:00
Toshi MARUYAMA 16211f9a5b Rails4: replace ActionView::Helpers::TextHelper#truncate by String#truncate at ApplicationHelper#link_to_message
git-svn-id: http://svn.redmine.org/redmine/trunk@12834 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 03:34:45 +00:00
Toshi MARUYAMA ae087d7578 Rails4: replace ActionView::Helpers::TextHelper#truncate by String#truncate at ApplicationHelper#parse_redmine_links
git-svn-id: http://svn.redmine.org/redmine/trunk@12833 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 03:34:27 +00:00
Toshi MARUYAMA fd6fea5713 Rails4: replace ActionView::Helpers::TextHelper#truncate by String#truncate at lib/redmine/export/pdf.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@12832 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 03:34:09 +00:00
Toshi MARUYAMA 3e38bd0654 Rails4: replace ActionView::Helpers::TextHelper#truncate by String#truncate at ApplicationHelper#link_to_issue
git-svn-id: http://svn.redmine.org/redmine/trunk@12831 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 03:33:51 +00:00
Toshi MARUYAMA ae7a4b9678 Rails4: add ApplicationHelper#truncate_single_line_raw method replacing truncate_single_line
git-svn-id: http://svn.redmine.org/redmine/trunk@12830 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 03:33:33 +00:00
Toshi MARUYAMA e4d152e84a add tests of ApplicationHelper#link_to_issue subject and title
git-svn-id: http://svn.redmine.org/redmine/trunk@12829 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 02:38:37 +00:00
Toshi MARUYAMA b6668e3ebf Rails4: replace hard-coded html with class at ApplicationHelperTest#test_pre_content_should_not_parse_wiki_and_redmine_links
See r12784 comment.

git-svn-id: http://svn.redmine.org/redmine/trunk@12828 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 01:30:45 +00:00
Toshi MARUYAMA fab81930f7 Rails4: replace hard-coded html with class at ApplicationHelperTest#test_link_to_user_should_link_to_locked_user_if_current_user_is_admin
See r12784 comment.

git-svn-id: http://svn.redmine.org/redmine/trunk@12827 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 01:30:29 +00:00
Toshi MARUYAMA 54de8a19d1 Rails4: replace hard-coded html with class at ApplicationHelperTest#test_link_to_user
See r12784 comment.

git-svn-id: http://svn.redmine.org/redmine/trunk@12826 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 01:30:12 +00:00
Toshi MARUYAMA 789523db5f do stricter ApplicationHelperTest#test_truncate_single_line
git-svn-id: http://svn.redmine.org/redmine/trunk@12825 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 01:29:56 +00:00
Toshi MARUYAMA fc4004d0ba add tests of ApplicationHelper#truncate_single_line
git-svn-id: http://svn.redmine.org/redmine/trunk@12824 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-06 00:36:50 +00:00
Toshi MARUYAMA 325b3db186 Rails4: replace hard-coded html with class at ApplicationHelperTest#test_wiki_links_anchor_option_should_prepend_page_title_to_href
See r12784 comment.

git-svn-id: http://svn.redmine.org/redmine/trunk@12823 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 08:56:35 +00:00
Toshi MARUYAMA 936052f9f6 Rails4: replace hard-coded html with class at ApplicationHelperTest#test_link_to_project
See r12784 comment.

git-svn-id: http://svn.redmine.org/redmine/trunk@12822 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 08:56:19 +00:00
Toshi MARUYAMA 89920d2714 Rails4: replace hard-coded html with class at ApplicationHelperTest#test_link_to_attachment
See r12784 comment.

git-svn-id: http://svn.redmine.org/redmine/trunk@12821 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 08:56:03 +00:00
Toshi MARUYAMA 7928ce3797 Rails4: replace hard-coded html with class at ApplicationHelperTest#test_cross_project_redmine_links
See r12784 comment.

git-svn-id: http://svn.redmine.org/redmine/trunk@12820 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 08:55:49 +00:00
Toshi MARUYAMA 0a54a50813 code format clean up ApplicationHelperTest#test_cross_project_redmine_links
git-svn-id: http://svn.redmine.org/redmine/trunk@12819 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 08:55:32 +00:00
Toshi MARUYAMA 2bcd63ad28 code format clean up app/views/issues/_list_simple.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12818 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 08:55:17 +00:00
Toshi MARUYAMA 4d806cc7f5 remove unneeded h() from app/views/repositories/_revisions.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12817 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 08:55:01 +00:00
Toshi MARUYAMA 8d0ce6498e remove unneeded h() from app/views/repositories/_dir_list_content.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12816 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 08:54:46 +00:00
Toshi MARUYAMA c714322530 remove unneeded h() from app/views/issues/_list_simple.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12815 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 08:54:28 +00:00
Toshi MARUYAMA fb1055eb3f code format clean up app/views/search/index.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12814 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 08:54:12 +00:00
Toshi MARUYAMA 47353387c1 Rails4: replace hard-coded html with class at ApplicationHelperTest#test_attachment_links
See r12784 comment.

git-svn-id: http://svn.redmine.org/redmine/trunk@12813 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 04:14:58 +00:00
Toshi MARUYAMA 79e5570b27 Rails4: replace hard-coded html with class at ApplicationHelperTest#test_attachment_link_should_link_to_latest_attachment
See r12784 comment.

git-svn-id: http://svn.redmine.org/redmine/trunk@12812 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 04:14:43 +00:00
Toshi MARUYAMA 2f43fca8f0 Rails4: replace hard-coded html with class at ApplicationHelperTest#test_wiki_links_in_tables
See r12784 comment.

git-svn-id: http://svn.redmine.org/redmine/trunk@12811 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 04:14:27 +00:00
Toshi MARUYAMA f21aeaeb7b Traditional Chinese translation updated by ChunChang Lo (#16023)
git-svn-id: http://svn.redmine.org/redmine/trunk@12810 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 03:24:39 +00:00
Toshi MARUYAMA fb54d4e459 code format clean up ApplicationHelper#parse_redmine_links
git-svn-id: http://svn.redmine.org/redmine/trunk@12809 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 03:24:22 +00:00
Toshi MARUYAMA f44c32557c code format clean up ApplicationHelper#link_to_issue
git-svn-id: http://svn.redmine.org/redmine/trunk@12808 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 03:24:07 +00:00
Toshi MARUYAMA bd6d45428f use escaped "Can't" constant at ApplicationHelperTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12807 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 00:42:50 +00:00
Toshi MARUYAMA 52b5a26507 Rails4: replace hard-coded html with class at ApplicationHelperTest#test_redmine_links_with_a_different_project_before_current_project
See r12784 comment.

git-svn-id: http://svn.redmine.org/redmine/trunk@12806 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-05 00:42:34 +00:00
Toshi MARUYAMA 760f88bd58 use escaped "Can't" constant at IssueStatusesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12805 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 23:52:44 +00:00
Toshi MARUYAMA 03f7281f82 use escaped "can't" constant at IssueStatusesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12804 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 23:52:28 +00:00
Toshi MARUYAMA 98249335d5 use escaped "can't" constant at NewsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12803 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 23:52:12 +00:00
Toshi MARUYAMA 031e4fde63 use escaped "can't" constant at ProjectsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12802 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 23:51:56 +00:00
Toshi MARUYAMA afa18701fd use escaped "can't" constant at AuthSourcesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12801 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 23:51:39 +00:00
Toshi MARUYAMA 61b5a44b1a Rails4: fix "assert_template 'calendar'" fails at CalendarsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12800 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 23:51:23 +00:00
Toshi MARUYAMA 8bdb66bf98 Rails4: use "assert_template 'context_menus/time_entries'" at ContextMenusControllerTest
This asserting does not fail, but use same logic with "assert_template 'context_menus/issues'"

git-svn-id: http://svn.redmine.org/redmine/trunk@12799 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 23:51:07 +00:00
Toshi MARUYAMA 035c1b9a18 Rails4: fix "assert_template 'context_menu'" fails at ContextMenusControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12798 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 23:50:49 +00:00
Toshi MARUYAMA 09bbfad124 code format clean up app/views/projects/settings/_members.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12797 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 23:50:32 +00:00
Toshi MARUYAMA 67e3af6c97 code format clean up ProjectsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12796 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 23:50:14 +00:00
Toshi MARUYAMA f1572de51e code format clean up AuthSourcesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12795 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 23:49:55 +00:00
Toshi MARUYAMA e91bce3d05 use escaped "Can't" constant at TrackersControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12794 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 10:07:57 +00:00
Toshi MARUYAMA b825198e0f define constant of escaped "Can't" for tests
git-svn-id: http://svn.redmine.org/redmine/trunk@12793 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 10:07:41 +00:00
Toshi MARUYAMA a6d4cdb25b use escaped "can't" constant at TrackersControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12792 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 10:07:19 +00:00
Toshi MARUYAMA 1f2c5ac08e Rails4: fix "assert_template 'form'" fails at IssuesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12791 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 10:07:02 +00:00
Toshi MARUYAMA a464abefdd replace shoulda context "#subjects" at GanttHelperTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12790 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 10:06:46 +00:00
Toshi MARUYAMA 3ad3c691cc replace shoulda context "#number_of_rows_on_project" at GanttHelperTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12789 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 10:06:28 +00:00
Toshi MARUYAMA 8543dfd109 replace shoulda context "#number_of_rows" at GanttHelperTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12788 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 10:06:11 +00:00
Toshi MARUYAMA 10c6b0e84f define as private GanttHelperTest helper methods
git-svn-id: http://svn.redmine.org/redmine/trunk@12787 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 10:05:54 +00:00
Toshi MARUYAMA cfcdf06f89 replace shoulda context "with workflow privilege" at IssuesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12786 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 07:50:55 +00:00
Toshi MARUYAMA 06c53f878f replace shoulda context "without workflow privilege" at IssuesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12785 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 07:50:39 +00:00
Toshi MARUYAMA 05b2bd173e Rails4: use link_to instead of hard coded html at ApplicationHelperTest#test_wiki_links_within_local_file_generation_context
On Rails 4.0.2, test fails.

<pre>
  --- expected
  +++ actual
  @@ -1 +1 @@
  -"<p><a href=\"CookBook_documentation.html\" class=\"wiki-page\">documentation</a></p>"
  +"<p><a class=\"wiki-page\" href=\"CookBook_documentation.html\">documentation</a></p>"
</pre>

git-svn-id: http://svn.redmine.org/redmine/trunk@12784 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 07:50:20 +00:00
Toshi MARUYAMA 31cab06f91 code format clean up escaped "can't" constant
git-svn-id: http://svn.redmine.org/redmine/trunk@12783 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 04:41:27 +00:00
Toshi MARUYAMA 0d4551c270 use escaped "can't" constant at TrackersControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12782 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 04:32:37 +00:00
Toshi MARUYAMA c38fa97165 use escaped "can't" constant at WikisControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12781 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 04:32:20 +00:00
Toshi MARUYAMA 5e94d388b5 define constant of escaped "can't" for tests
git-svn-id: http://svn.redmine.org/redmine/trunk@12780 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 04:32:04 +00:00
Toshi MARUYAMA fe7c6057f9 code format clean up TrackersControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12779 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 04:31:46 +00:00
Toshi MARUYAMA 669a16376f code format clean up WikisControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12778 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-04 04:31:29 +00:00
Toshi MARUYAMA b87a7b8984 scm: mercurial: insert long id to DB unless existing id in DB is not short id (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12777 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 14:53:16 +00:00
Toshi MARUYAMA 85f15f694a scm: mercurial: add asserting first and last changeset to test_fetch_changesets_from_scratch (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12776 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 13:08:50 +00:00
Toshi MARUYAMA f9e7c24733 scm: mercurial: use scmid_for_assert in assert_parents (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12775 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 12:20:32 +00:00
Toshi MARUYAMA 58d906446d scm: mercurial: use scmid_for_assert in assert_entries (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12774 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 12:20:16 +00:00
Toshi MARUYAMA 642f13605e scm: mercurial: use scmid_for_assert in assert_entry (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12773 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 12:19:59 +00:00
Toshi MARUYAMA 1cda73c1b4 scm: mercurial: use scmid_for_assert in assert_copied_files (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12772 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 12:19:42 +00:00
Toshi MARUYAMA 396323726b scm: mercurial: add test helper method to switch short or long id (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12771 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 12:19:26 +00:00
Toshi MARUYAMA da071e5531 scm: mercurial: split test_parents to sub method (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12770 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 11:41:17 +00:00
Toshi MARUYAMA 4bde749d40 scm: mercurial: split test_copied_files to sub method (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12769 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 11:41:01 +00:00
Toshi MARUYAMA febd239d22 scm: mercurial: split test_entries_short_id to sub method (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12768 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 11:40:44 +00:00
Toshi MARUYAMA 1f2a520a46 scm: mercurial: split test_entry_short_id to sub method (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12767 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 11:40:28 +00:00
Toshi MARUYAMA b07c983740 scm: mercurial: split latest_changesets tag test to sub method (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12766 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 07:57:02 +00:00
Toshi MARUYAMA 074984688e scm: mercurial: split latest_changesets default branch test to sub method (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12765 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 07:56:46 +00:00
Toshi MARUYAMA 8c96db6e53 scm: mercurial: split latest_changesets tag test with path or not (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12764 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 07:56:31 +00:00
Toshi MARUYAMA 79e73095e5 scm: mercurial: add latest_changesets "default" branch test (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12763 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 06:34:31 +00:00
Toshi MARUYAMA 3698dd26cf scm: mercurial: split latest_changesets tag test with limit or not (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12762 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 06:34:15 +00:00
Toshi MARUYAMA 5872d079e6 scm: mercurial: use long id in adapter level (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12761 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 04:44:38 +00:00
Toshi MARUYAMA d301b8c0c1 scm: mercurial: switch short or long id of entry by existing value in DB (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12760 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 04:44:20 +00:00
Toshi MARUYAMA eb18660369 scm: mercurial: override entry and scm_entries (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12759 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 04:44:04 +00:00
Toshi MARUYAMA 07d7b47ddc scm: mercurial: add model entry test (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12758 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 04:43:48 +00:00
Toshi MARUYAMA 1662720d7b scm: mercurial: add model entries test (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12757 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 04:43:32 +00:00
Toshi MARUYAMA d26b4fc5b7 scm: mercurial: add adapter entry test (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12756 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 04:43:17 +00:00
Toshi MARUYAMA 8a35585bd2 scm: mercurial: add method to switch short or long id by existing value in DB (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12755 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 00:41:16 +00:00
Toshi MARUYAMA d45bf0a83e scm: split Repository#entries (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12754 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-02 00:40:59 +00:00
Toshi MARUYAMA f2ec6f8d77 back out r12752 (#14361)
Revision, Author and Comment of repository browser are broken.

git-svn-id: http://svn.redmine.org/redmine/trunk@12753 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-01 08:46:47 +00:00
Toshi MARUYAMA ae68ff1100 scm: mercurial: use long id in adapter level (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12752 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-01 07:47:04 +00:00
Toshi MARUYAMA 6ea2b7a43b scm: mercurial: split Repository::Mercurial#latest_changesets_cond for short and long id (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12751 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-01 07:46:45 +00:00
Toshi MARUYAMA 28fbc270fa scm: mercurial: add check scmid to RepositoryMercurialTest#test_fetch_changesets_from_scratch (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12750 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-01 06:08:22 +00:00
Toshi MARUYAMA 5dcecec1bd scm: mercurial: use 12 chars id for format_changeset_identifier (#14361)
git-svn-id: http://svn.redmine.org/redmine/trunk@12749 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-01 04:23:53 +00:00
Toshi MARUYAMA fdc0731cb5 scm: mercurial: split latest_changesets test to tag and branch
git-svn-id: http://svn.redmine.org/redmine/trunk@12748 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-01 03:45:33 +00:00
Toshi MARUYAMA 31af31eef7 remove redundant empty line from RepositoryMercurialTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12747 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-02-01 02:39:51 +00:00
Jean-Philippe Lang d651b93eff Adds some test helpers to cleanup tests.
git-svn-id: http://svn.redmine.org/redmine/trunk@12746 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-31 18:13:42 +00:00
Jean-Philippe Lang 888823a449 Fixed calculation of done_ratio of parent task with child having estimated_time at 0 (#15870).
git-svn-id: http://svn.redmine.org/redmine/trunk@12745 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-31 17:42:46 +00:00
Toshi MARUYAMA e699458b3c Rails4 compatibility of WatcherTest#test_watcher_users
Rails4 has_many returns ActiveRecord::Associations::CollectionProxy not array

git-svn-id: http://svn.redmine.org/redmine/trunk@12744 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-31 15:35:48 +00:00
Toshi MARUYAMA 619857e1a4 remove unneeded Relation#all from Repository::Git model
git-svn-id: http://svn.redmine.org/redmine/trunk@12743 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-31 10:15:52 +00:00
Toshi MARUYAMA 8574948617 code format clean up Repository::Git model
git-svn-id: http://svn.redmine.org/redmine/trunk@12742 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-31 10:15:37 +00:00
Toshi MARUYAMA 7c56ed6004 fix source indent of Redmine::Scm::Adapters::AbstractAdapter#without_trailling_slash
git-svn-id: http://svn.redmine.org/redmine/trunk@12741 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-31 09:38:43 +00:00
Jean-Philippe Lang 5fc8cfe9e3 Removed debug output.
git-svn-id: http://svn.redmine.org/redmine/trunk@12740 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-30 22:27:08 +00:00
Jean-Philippe Lang d5a9af54fa Reverts r12669 and add a test for #15870.
git-svn-id: http://svn.redmine.org/redmine/trunk@12739 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-30 22:18:07 +00:00
Toshi MARUYAMA cb000a5d85 fix r12737 de.yml alphabetical order
git-svn-id: http://svn.redmine.org/redmine/trunk@12738 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-30 00:21:10 +00:00
Toshi MARUYAMA acb0d148d1 German translation updated by Daniel Felix (#15980)
git-svn-id: http://svn.redmine.org/redmine/trunk@12737 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-29 23:10:05 +00:00
Toshi MARUYAMA 35cc911192 update copyright year (#15977)
Contributed by Daniel Felix.

git-svn-id: http://svn.redmine.org/redmine/trunk@12736 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-29 22:45:39 +00:00
Toshi MARUYAMA a711cbb44e back out from r12715 to r12720: #connection replacing
These revisions have performance regression on Rails 3.2.16.

git-svn-id: http://svn.redmine.org/redmine/trunk@12735 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 07:21:47 +00:00
Toshi MARUYAMA 9e71d89cdb Gemfile: use awesome_nested_set 2.1.6 gem
git-svn-id: http://svn.redmine.org/redmine/trunk@12734 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 06:48:38 +00:00
Toshi MARUYAMA ba75aa504b move r12689 awesome_nested_set modification to config/initializers/10-patches.rb (#7920)
git-svn-id: http://svn.redmine.org/redmine/trunk@12733 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 06:47:46 +00:00
Toshi MARUYAMA 4f996fa5c2 remove unneeded Relation#all from TimeEntryQuery model
git-svn-id: http://svn.redmine.org/redmine/trunk@12732 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 02:19:20 +00:00
Toshi MARUYAMA ea8febad03 remove unneeded Relation#all from Principal model
git-svn-id: http://svn.redmine.org/redmine/trunk@12731 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 02:19:03 +00:00
Toshi MARUYAMA 8832cca13b remove unneeded Relation#all from Repository::Subversion model
git-svn-id: http://svn.redmine.org/redmine/trunk@12730 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 02:18:47 +00:00
Toshi MARUYAMA b6f066ddf3 remove unneeded Relation#all from Project model
git-svn-id: http://svn.redmine.org/redmine/trunk@12729 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 02:18:30 +00:00
Toshi MARUYAMA 051ed3557b remove unneeded Relation#all from MemberRole model
git-svn-id: http://svn.redmine.org/redmine/trunk@12728 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 02:18:13 +00:00
Toshi MARUYAMA 3b3a7c50a9 remove unneeded Relation#all from Journal model
git-svn-id: http://svn.redmine.org/redmine/trunk@12727 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 02:17:57 +00:00
Toshi MARUYAMA c489c28219 code format cleanup Repository::Subversion model
git-svn-id: http://svn.redmine.org/redmine/trunk@12726 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 01:42:31 +00:00
Toshi MARUYAMA 2bdf28262b remove unneeded Relation#all from IssueStatus model
git-svn-id: http://svn.redmine.org/redmine/trunk@12725 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 01:24:41 +00:00
Toshi MARUYAMA 9c7568c1a1 remove unneeded Relation#all from IssueQuery model
git-svn-id: http://svn.redmine.org/redmine/trunk@12724 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 01:09:24 +00:00
Toshi MARUYAMA ea8e5c74ec remove unneeded Relation#all from Mailer model
git-svn-id: http://svn.redmine.org/redmine/trunk@12723 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 01:09:09 +00:00
Toshi MARUYAMA ca3d706f56 remove unneeded Relation#all from IssuePriority model
git-svn-id: http://svn.redmine.org/redmine/trunk@12722 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 01:08:54 +00:00
Toshi MARUYAMA 077598fe4b remove unneeded Relation#all from WorkflowsController
git-svn-id: http://svn.redmine.org/redmine/trunk@12721 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 01:08:40 +00:00
Toshi MARUYAMA dff2721fbe Rails4: replace deprecated #connection from Query model
DEPRECATION WARNING: #connection is deprecated in favour of accessing it via the class.

git-svn-id: http://svn.redmine.org/redmine/trunk@12720 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 01:08:25 +00:00
Toshi MARUYAMA f5c5393d09 Rails4: replace deprecated #connection from Project model
DEPRECATION WARNING: #connection is deprecated in favour of accessing it via the class.

git-svn-id: http://svn.redmine.org/redmine/trunk@12719 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 01:08:09 +00:00
Toshi MARUYAMA b1d0107ac0 Rails4: replace deprecated #connection from Repository model
DEPRECATION WARNING: #connection is deprecated in favour of accessing it via the class.

git-svn-id: http://svn.redmine.org/redmine/trunk@12718 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 01:07:52 +00:00
Toshi MARUYAMA 6be972af35 Rails4: replace deprecated #connection from IssueQuery model
DEPRECATION WARNING: #connection is deprecated in favour of accessing it via the class.

git-svn-id: http://svn.redmine.org/redmine/trunk@12717 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 01:07:34 +00:00
Toshi MARUYAMA ecf27b3f12 Rails4: replace deprecated #connection from IssueCustomField model
DEPRECATION WARNING: #connection is deprecated in favour of accessing it via the class.

git-svn-id: http://svn.redmine.org/redmine/trunk@12716 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 01:07:17 +00:00
Toshi MARUYAMA 0daa1a1a4f Rails4: replace deprecated #connection from Issue model
DEPRECATION WARNING: #connection is deprecated in favour of accessing it via the class.

git-svn-id: http://svn.redmine.org/redmine/trunk@12715 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 01:06:58 +00:00
Toshi MARUYAMA 28b1b1ea90 remove unneeded Relation#all from UserTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12714 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 00:09:19 +00:00
Toshi MARUYAMA e63029cee4 remove unneeded Relation#all from ProjectTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12713 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 00:09:02 +00:00
Toshi MARUYAMA e746e5dd83 remove unneeded Relation#all from PrincipalTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12712 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 00:08:47 +00:00
Toshi MARUYAMA 45289b9791 remove unneeded Relation#all from IssueStatusTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12711 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 00:08:32 +00:00
Toshi MARUYAMA c47940f4a5 remove unneeded Relation#all from IssueTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12710 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-27 00:08:15 +00:00
Toshi MARUYAMA 9941a987e9 add more comment about awesome_nested_set 2-1-stable branch regression
git-svn-id: http://svn.redmine.org/redmine/trunk@12709 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-26 09:10:58 +00:00
Toshi MARUYAMA 38fa36d23b remove Rails4 deprecated Relation#all from IssueTest#test_visible_and_nested_set_scopes and add awesome_nested_set regression test
git-svn-id: http://svn.redmine.org/redmine/trunk@12708 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-26 09:05:59 +00:00
Toshi MARUYAMA 0139b0a0db Japanese translation updated by Go MAEDA (#15962)
git-svn-id: http://svn.redmine.org/redmine/trunk@12707 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-26 01:47:23 +00:00
Jean-Philippe Lang ddb6b7d1e9 Successful update notice for workflows (#15831).
git-svn-id: http://svn.redmine.org/redmine/trunk@12706 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-25 13:17:08 +00:00
Jean-Philippe Lang a2f869b43e Redirect to back_url or referer when clicking "Sign in" while already logged-in (#15926).
git-svn-id: http://svn.redmine.org/redmine/trunk@12705 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-25 12:35:05 +00:00
Jean-Philippe Lang 5faa1a4e6e REST API: Integer custom field validation fails when using non-string values (#15929).
git-svn-id: http://svn.redmine.org/redmine/trunk@12704 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-25 12:08:22 +00:00
Toshi MARUYAMA 20ff37ef42 Spanish translation updated by Borja Campina (#15959)
git-svn-id: http://svn.redmine.org/redmine/trunk@12703 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-25 06:02:58 +00:00
Toshi MARUYAMA d2bc5220dd Bulgarian translation updated by Ivan Cenov (#15956)
git-svn-id: http://svn.redmine.org/redmine/trunk@12702 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-25 06:02:42 +00:00
Toshi MARUYAMA 07962dd5c2 Bulgarian translation changed by Ivan Cenov (#15956)
* notice_account_activated
* setting_login_required

git-svn-id: http://svn.redmine.org/redmine/trunk@12701 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-25 06:02:25 +00:00
Toshi MARUYAMA 666a8a4aca move setting_default_projects_tracker_ids at de.yml to alphabetical order
git-svn-id: http://svn.redmine.org/redmine/trunk@12700 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-25 06:02:09 +00:00
Toshi MARUYAMA 5a030f3416 German translation updated by Daniel Felix (#15955)
git-svn-id: http://svn.redmine.org/redmine/trunk@12699 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-25 06:01:53 +00:00
Toshi MARUYAMA 0fefc3bab7 Russian translation updated by Kirill Bezrukov (#15953)
git-svn-id: http://svn.redmine.org/redmine/trunk@12698 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-25 06:01:36 +00:00
Toshi MARUYAMA 609b80e5b7 pt-BR translation for trunk updated by Leandro Gehlen (#15961)
git-svn-id: http://svn.redmine.org/redmine/trunk@12696 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-25 04:54:35 +00:00
Toshi MARUYAMA 02817281f5 pt-BR translation for 2.4-stable updated by Leandro Gehlen (#15960)
git-svn-id: http://svn.redmine.org/redmine/trunk@12695 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-25 04:33:00 +00:00
Toshi MARUYAMA e917aa7ed8 fix comment of awesome_nested_set new node lft and rgt value behavior change
git-svn-id: http://svn.redmine.org/redmine/trunk@12694 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-24 16:40:06 +00:00
Toshi MARUYAMA 17a5f26e50 adjust tests to awesome_nested_set new node lft and rgt value behavior change
git-svn-id: http://svn.redmine.org/redmine/trunk@12693 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-24 16:26:50 +00:00
Jean-Philippe Lang 0829ac775d Adds locales strings (#2691).
git-svn-id: http://svn.redmine.org/redmine/trunk@12692 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-24 10:29:06 +00:00
Jean-Philippe Lang e391be4086 Adds settings for disabling browser language detection and language preference (#2691).
git-svn-id: http://svn.redmine.org/redmine/trunk@12691 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-24 10:28:12 +00:00
Jean-Philippe Lang 6e6c6fac5c Adds firstname initials+lastname user format.
git-svn-id: http://svn.redmine.org/redmine/trunk@12690 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-24 09:23:11 +00:00
Toshi MARUYAMA 4b5ce4c089 graft r5285 to awesome_nested_set 2.1.6 (#7920)
git-svn-id: http://svn.redmine.org/redmine/trunk@12689 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-21 07:55:16 +00:00
Toshi MARUYAMA 4a57f5f7f3 add lib/plugins/awesome_nested_set/init.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@12688 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-21 07:55:00 +00:00
Toshi MARUYAMA 3f6a676622 import awesome_nested_set 2.1.6
64cc8bc8cf

git-svn-id: http://svn.redmine.org/redmine/trunk@12687 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-21 07:54:42 +00:00
Toshi MARUYAMA bdfcfb35a3 remove unneeded Project#acts_as_nested_set :order => 'name' option
git-svn-id: http://svn.redmine.org/redmine/trunk@12686 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-21 06:51:39 +00:00
Toshi MARUYAMA 2d2542008e graft r5285 to awesome_nested_set 2.1.5 (#7920)
git-svn-id: http://svn.redmine.org/redmine/trunk@12685 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-21 06:51:22 +00:00
Toshi MARUYAMA 65d2df44db back out r12679 awesome_nested_set 2.1.5 modification
git-svn-id: http://svn.redmine.org/redmine/trunk@12684 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-21 06:51:06 +00:00
Toshi MARUYAMA 962ecabc47 call Project#set_or_update_position_under in Project.rebuild_tree! (#12431)
git-svn-id: http://svn.redmine.org/redmine/trunk@12683 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-21 06:29:48 +00:00
Toshi MARUYAMA 94e3eb2b8b move awesome_nested_set leaf? modification to config/initializers/10-patches.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@12682 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-20 17:54:47 +00:00
Toshi MARUYAMA 89c43d24c8 back out r12680
<pre>
  1) Failure:
test_children(ProjectTest) [test/unit/project_test.rb:374]:
<[5, 3, 4]> expected but was
<[3, 4, 5]>.
</pre>

git-svn-id: http://svn.redmine.org/redmine/trunk@12681 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-20 13:35:05 +00:00
Toshi MARUYAMA 1c0c22de17 use :order_column option instead of :order for acts_as_nested_set
git-svn-id: http://svn.redmine.org/redmine/trunk@12680 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-20 12:53:01 +00:00
Toshi MARUYAMA bcec29d5e4 apply Redmine awesome_nested_set 2.1.5 modification
git-svn-id: http://svn.redmine.org/redmine/trunk@12679 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-20 05:59:50 +00:00
Toshi MARUYAMA 90777c1673 add lib/plugins/awesome_nested_set/init.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@12678 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-20 05:59:34 +00:00
Toshi MARUYAMA 6f78b3a408 import awesome_nested_set 2.1.5
60fe4f69e4

git-svn-id: http://svn.redmine.org/redmine/trunk@12677 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-20 05:59:16 +00:00
Toshi MARUYAMA 77f29deb29 svn propset svn:eol-style LF lib/plugins/awesome_nested_set/spec/*
git-svn-id: http://svn.redmine.org/redmine/trunk@12676 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-20 02:19:08 +00:00
Toshi MARUYAMA df9da6750d svn propset svn:eol-style LF lib/plugins/awesome_nested_set/.travis.yml
git-svn-id: http://svn.redmine.org/redmine/trunk@12675 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-20 01:53:58 +00:00
Toshi MARUYAMA 4d95f815d2 svn propset svn:eol-style LF lib/plugins/awesome_nested_set/.autotest
git-svn-id: http://svn.redmine.org/redmine/trunk@12674 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-20 01:47:06 +00:00
Jean-Philippe Lang a525bc8e98 Don't display default watchers checkboxes on the new issue form when there are more than 20 members (#8562).
git-svn-id: http://svn.redmine.org/redmine/trunk@12673 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-19 10:01:14 +00:00
Toshi MARUYAMA b933cd7a65 add newline at end of lib/plugins/awesome_nested_set/init.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@12672 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-19 09:59:25 +00:00
Jean-Philippe Lang caa7af66e6 Prevents no method errors when reloading in development mode.
git-svn-id: http://svn.redmine.org/redmine/trunk@12671 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-19 09:51:04 +00:00
Jean-Philippe Lang bacc250816 Focus first text field automatically (#13134).
git-svn-id: http://svn.redmine.org/redmine/trunk@12670 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-19 08:57:47 +00:00
Jean-Philippe Lang 6f1cda4852 Make sure that we don't set the done ratio to a value > 100% (#15870).
git-svn-id: http://svn.redmine.org/redmine/trunk@12669 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-19 08:35:59 +00:00
Toshi MARUYAMA 364b334d89 remove JRuby PostgreSQL from allow_failures of .travis.yml
Tests pass on Travis.
* jruby 1.7.9 (1.9.3p392) 2014-01-09 87b108a on Java HotSpot(TM) 64-Bit Server VM 1.7.0_45-b18 [linux-amd64]
* jdbc-postgres (9.3.1100)
* activerecord-jdbc-adapter (1.3.5)
* activerecord-jdbcpostgresql-adapter (1.3.5)

git-svn-id: http://svn.redmine.org/redmine/trunk@12668 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-19 02:24:44 +00:00
Toshi MARUYAMA 5c0e3fcf8d svn propset svn:eol-style native .travis.yml
git-svn-id: http://svn.redmine.org/redmine/trunk@12667 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-19 00:09:31 +00:00
Toshi MARUYAMA a27e049eaa fix typo of .travis.yml
git-svn-id: http://svn.redmine.org/redmine/trunk@12666 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-19 00:07:13 +00:00
Toshi MARUYAMA 1951aeac78 add .travis.yml and switch database user/password by environments
git-svn-id: http://svn.redmine.org/redmine/trunk@12665 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-18 23:59:32 +00:00
Toshi MARUYAMA caf49264c8 Rails4: replace deprecated Relation#update_all at ChangeRepositoriesToFullSti db migration
git-svn-id: http://svn.redmine.org/redmine/trunk@12664 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-17 01:41:06 +00:00
Jean-Philippe Lang f890c775f1 Show warning when exported issues exceed the limit (#13770).
git-svn-id: http://svn.redmine.org/redmine/trunk@12663 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-12 10:39:42 +00:00
Jean-Philippe Lang 682f0231ff Adds favicon to ATOM feeds (#14309).
git-svn-id: http://svn.redmine.org/redmine/trunk@12662 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-12 10:03:59 +00:00
Jean-Philippe Lang 1eda38be4c Adds #favicon_path and #favicon_url helpers.
git-svn-id: http://svn.redmine.org/redmine/trunk@12661 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-12 09:58:07 +00:00
Jean-Philippe Lang 5df064ed85 Fixed Changeset#text_tag for changeset with hash and repository identifier (#13544).
git-svn-id: http://svn.redmine.org/redmine/trunk@12660 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-12 09:19:47 +00:00
Jean-Philippe Lang b25c7003da Adds a task for moving Redmine data to a different DBMS.
git-svn-id: http://svn.redmine.org/redmine/trunk@12659 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-12 09:02:31 +00:00
Jean-Philippe Lang b9f45c80c6 Code cleanup (#14766).
Patch by Daniel Felix.

git-svn-id: http://svn.redmine.org/redmine/trunk@12658 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 13:29:53 +00:00
Jean-Philippe Lang e9689f5fe3 Removes duplicate ids (#15485).
git-svn-id: http://svn.redmine.org/redmine/trunk@12657 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 12:55:21 +00:00
Jean-Philippe Lang d302450731 Removes duplicate ids (#15485).
git-svn-id: http://svn.redmine.org/redmine/trunk@12656 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 12:47:26 +00:00
Jean-Philippe Lang d3106af830 Removes duplicate ids (#15485).
git-svn-id: http://svn.redmine.org/redmine/trunk@12655 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 12:45:57 +00:00
Jean-Philippe Lang f4f3756fcc Removes duplicate ids (#15485).
git-svn-id: http://svn.redmine.org/redmine/trunk@12654 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 12:45:19 +00:00
Jean-Philippe Lang 9fe24bc88f Removes duplicate ids (#15485).
git-svn-id: http://svn.redmine.org/redmine/trunk@12653 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 12:42:11 +00:00
Jean-Philippe Lang 0711c585b6 Adds missing permissions on attachments/upload (#15664).
git-svn-id: http://svn.redmine.org/redmine/trunk@12652 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 12:27:01 +00:00
Jean-Philippe Lang 4e151a4722 Syntax error with ruby1.8.
git-svn-id: http://svn.redmine.org/redmine/trunk@12651 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 11:50:47 +00:00
Jean-Philippe Lang 9ad2ca61da Fixed: cannot retrieve members for closed projects through the REST API (#15848).
git-svn-id: http://svn.redmine.org/redmine/trunk@12650 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 11:47:26 +00:00
Jean-Philippe Lang de19424ea5 Adds project status to GET /projects/:id and GET /projects API response (#15815).
git-svn-id: http://svn.redmine.org/redmine/trunk@12649 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 11:33:47 +00:00
Jean-Philippe Lang a89468ebc8 Adds rel=stylesheet condition for stylesheets assertions.
git-svn-id: http://svn.redmine.org/redmine/trunk@12648 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 11:28:09 +00:00
Jean-Philippe Lang fa52c5d9fc Use #assert_select instead of #assert_tag.
git-svn-id: http://svn.redmine.org/redmine/trunk@12647 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 11:26:53 +00:00
Jean-Philippe Lang 8b999962de Make favicon themeable (#15689).
Patch by Felix Schäfer modified by Jean-Philippe Lang.

git-svn-id: http://svn.redmine.org/redmine/trunk@12646 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 11:22:46 +00:00
Jean-Philippe Lang 2db3338ab2 Wrap filters, options and buttons with extra div (#15362).
git-svn-id: http://svn.redmine.org/redmine/trunk@12645 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 11:12:03 +00:00
Toshi MARUYAMA 2a8ae016c5 Rails4: replace deprecated find_all_by_* at TimelogControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12644 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 10:14:24 +00:00
Toshi MARUYAMA 8f43b53077 Rails4: replace deprecated Relation#first with finder options at TrackersControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12643 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 10:14:08 +00:00
Toshi MARUYAMA eab8f307f9 Rails4: replace deprecated Relation#first with finder options at TimelogControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12642 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 10:13:53 +00:00
Toshi MARUYAMA abd6471270 Rails4: replace deprecated Relation#first with finder options at RepositoriesGitControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12641 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 10:13:37 +00:00
Toshi MARUYAMA 309e588440 Rails4: replace deprecated Relation#first with finder options at RepositoriesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12640 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 10:13:21 +00:00
Toshi MARUYAMA b47fc8f618 Rails4: replace deprecated Relation#first with finder options at MessagesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12639 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 10:13:05 +00:00
Toshi MARUYAMA 190bb9af30 Rails4: replace deprecated Relation#first with finder options at IssuesControllerTransactionTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12638 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 10:12:49 +00:00
Toshi MARUYAMA 1bb79568e5 Rails4: replace deprecated Relation#update_all at SearchControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12637 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 09:25:12 +00:00
Toshi MARUYAMA 45496b0eb2 Rails4: replace deprecated Relation#first with finder options at UsersControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12636 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 09:24:56 +00:00
Toshi MARUYAMA 378a3e684f Rails4: replace deprecated Relation#first with finder options at WikiControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12635 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 09:24:40 +00:00
Toshi MARUYAMA a313d540a6 code format cleanup WikiControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12634 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 09:24:24 +00:00
Toshi MARUYAMA 6097d6b1bf Rails4: replace deprecated find_all_by_* at TimelogCustomFieldsVisibilityTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12633 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 09:24:08 +00:00
Toshi MARUYAMA 6e8d8da1f3 Rails4: replace deprecated Relation#update_all at ProjectEnumerationsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12632 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 09:23:52 +00:00
Toshi MARUYAMA e11c68e417 Rails4: replace deprecated find_all_by_* at ProjectEnumerationsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12631 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 09:23:36 +00:00
Toshi MARUYAMA d401f86b0d fix find_all_by_id(n1, n2) parameter at TimelogCustomFieldsVisibilityTest
find_all_by_id(n1, n2) returns only n1 result.

git-svn-id: http://svn.redmine.org/redmine/trunk@12630 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 08:50:21 +00:00
Toshi MARUYAMA 97a4211b03 code format cleanup TimelogCustomFieldsVisibilityTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12629 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 08:50:07 +00:00
Toshi MARUYAMA a516a1bdb2 Rails4: replace deprecated find_all_by_* at IssuesCustomFieldsVisibilityTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12628 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 08:32:28 +00:00
Toshi MARUYAMA 8c595df595 Rails4: replace deprecated find_all_by_* at IssuesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12627 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 08:32:12 +00:00
Toshi MARUYAMA 65ba233c62 Rails4: replace deprecated Relation#last with finder options at MessagesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12626 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 07:47:18 +00:00
Toshi MARUYAMA 7ac013fbe8 Rails4: replace deprecated Relation#last with finder options at IssuesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12625 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 07:47:02 +00:00
Toshi MARUYAMA 15031f6173 code format cleanup ProjectEnumerationsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12624 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 07:46:46 +00:00
Toshi MARUYAMA e30aa4b245 code format cleanup MessagesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12623 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 07:46:29 +00:00
Toshi MARUYAMA 20482fdee3 Rails4: replace deprecated find_all_by_* at IssuesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12622 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 07:22:39 +00:00
Toshi MARUYAMA ca4ea40888 fix find_all_by_id(n1, n2) parameter at IssuesCustomFieldsVisibilityTest#test_index_with_partial_custom_field_visibility
find_all_by_id(n1, n2) returns only n1 result.

git-svn-id: http://svn.redmine.org/redmine/trunk@12621 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 07:05:48 +00:00
Toshi MARUYAMA 7484cf07b6 cleanup syntax of Relation#all at WikiController#export
git-svn-id: http://svn.redmine.org/redmine/trunk@12620 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 06:03:38 +00:00
Toshi MARUYAMA 39ceaa7d55 cleanup syntax of Relation#all at app/views/watchers/_new.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12619 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 05:51:35 +00:00
Toshi MARUYAMA 2066969c7d code format cleanup WikiController
git-svn-id: http://svn.redmine.org/redmine/trunk@12618 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 05:51:18 +00:00
Toshi MARUYAMA 3e17eb2956 code format cleanup app/views/watchers/_new.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12617 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-11 05:26:33 +00:00
Toshi MARUYAMA a7b8e6c02a Rails4: replace deprecated find_all_by_* at WatchersController
git-svn-id: http://svn.redmine.org/redmine/trunk@12616 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 12:49:52 +00:00
Toshi MARUYAMA a3f0dae9c4 Rails4: replace deprecated find_all_by_* at RepositoriesController#committers
git-svn-id: http://svn.redmine.org/redmine/trunk@12615 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 12:49:35 +00:00
Toshi MARUYAMA 073b403bd9 Rails4: replace deprecated Relation#update_all at Project#create_time_entry_activity_if_needed
git-svn-id: http://svn.redmine.org/redmine/trunk@12614 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 12:49:20 +00:00
Toshi MARUYAMA 1c71eccff2 remove unneeded Relation#all from app/views/settings/_repositories.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12613 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 12:49:04 +00:00
Toshi MARUYAMA fa544d9934 Rails4: replace deprecated Relation#count with finder options at UsersHelper#users_status_options_for_select
git-svn-id: http://svn.redmine.org/redmine/trunk@12612 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 12:48:48 +00:00
Toshi MARUYAMA 9420d7e345 Rails4: replace deprecated Relation#first with finder options at ApiTest::VersionsTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12611 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 12:24:19 +00:00
Toshi MARUYAMA 7a4e325b36 remove unneeded Relation#all from app/views/settings/_projects.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12610 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 12:13:10 +00:00
Toshi MARUYAMA 373082fcbf code format cleanup app/views/settings/_repositories.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12609 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 12:12:53 +00:00
Toshi MARUYAMA ea9b40ab4d Rails4: replace deprecated Relation#first with finder options at ApiTest::VersionsTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12608 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 11:25:25 +00:00
Toshi MARUYAMA c538543583 Rails4: replace deprecated Relation#first with finder options at ApiTest::UsersTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12607 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 11:24:59 +00:00
Toshi MARUYAMA 7f93cc74b4 Rails4: replace deprecated Relation#first with finder options at ApiTest::TimeEntriesTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12606 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 11:24:34 +00:00
Toshi MARUYAMA 505483f224 Rails4: replace deprecated Relation#first with finder options at ApiTest::ProjectsTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12605 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 11:24:00 +00:00
Toshi MARUYAMA e03cfe1443 remove unneeded Relation#all from RepositoriesHelper#render_changeset_changes
git-svn-id: http://svn.redmine.org/redmine/trunk@12604 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 11:23:28 +00:00
Toshi MARUYAMA b02429e864 Rails4: replace deprecated find_all_by_* at TimelogController#find_time_entries
git-svn-id: http://svn.redmine.org/redmine/trunk@12603 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 10:40:46 +00:00
Toshi MARUYAMA c57490f48e cleanup syntax of Relation#all at QueriesController#index
git-svn-id: http://svn.redmine.org/redmine/trunk@12602 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 10:30:57 +00:00
Toshi MARUYAMA 72715ec78e cleanup syntax of Relation#all at MembersController#index
git-svn-id: http://svn.redmine.org/redmine/trunk@12601 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 10:30:33 +00:00
Toshi MARUYAMA fe6ef59e37 cleanup syntax of Relation#all at IssueStatusesController#index
git-svn-id: http://svn.redmine.org/redmine/trunk@12600 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 10:30:10 +00:00
Toshi MARUYAMA d02bcbcee5 Rails4: replace deprecated Relation#first with finder options at integration IssuesTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12599 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 08:39:32 +00:00
Toshi MARUYAMA 1c938cd1d3 Rails4: replace deprecated Relation#first with finder options at ApiTest::IssuesTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12598 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 08:38:59 +00:00
Toshi MARUYAMA b6d6325198 Rails4: replace deprecated Relation#first with finder options at ApiTest::IssueRelationsTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12597 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 08:38:36 +00:00
Toshi MARUYAMA 3480d46ff3 Rails4: replace deprecated Relation#first with finder options at ApiTest::IssueCategoriesTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12596 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 08:38:09 +00:00
Toshi MARUYAMA c020578820 Rails4: replace deprecated Relation#first with finder options at ApiTest::AttachmentsTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12595 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 08:37:33 +00:00
Toshi MARUYAMA b652f7fc27 cleanup syntax of Relation#all at NewsController#index
git-svn-id: http://svn.redmine.org/redmine/trunk@12594 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 08:13:47 +00:00
Toshi MARUYAMA 99fe35be42 remove unneeded Relation#all from AuthSource#authenticate
git-svn-id: http://svn.redmine.org/redmine/trunk@12593 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 08:00:57 +00:00
Toshi MARUYAMA 4292f4116b Rails4: replace deprecated Relation#count with finder options at ProjectsController#show
git-svn-id: http://svn.redmine.org/redmine/trunk@12592 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 07:46:53 +00:00
Toshi MARUYAMA f7a1664399 cleanup syntax of Relation#all at app/views/wiki/rename.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12591 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 07:46:23 +00:00
Toshi MARUYAMA 6f4d3c1c64 Rails4: replace deprecated Relation#first with finder options at IssuesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12590 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 05:46:33 +00:00
Toshi MARUYAMA 57740505b0 remove unneeded Relation#all from IssuesControllerTest#test_bulk_copy_to_another_project
git-svn-id: http://svn.redmine.org/redmine/trunk@12589 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 05:46:15 +00:00
Toshi MARUYAMA 56a3c1ad40 Rails4: replace deprecated Relation#sum with finder options at Issue#total_spent_hours
git-svn-id: http://svn.redmine.org/redmine/trunk@12588 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 05:02:44 +00:00
Toshi MARUYAMA 5d535f8996 cleanup syntax of Relation#all at app/views/wiki/edit.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12587 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 04:45:46 +00:00
Toshi MARUYAMA c1c1b548d0 remove unneeded Relation#all from IssuesControllerTest#test_bulk_copy_should_allow_not_changing_the_issue_attributes
git-svn-id: http://svn.redmine.org/redmine/trunk@12586 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 04:45:28 +00:00
Toshi MARUYAMA 3fcd5d529c add missing Relation#all at WorkflowsController#copy of r12583
git-svn-id: http://svn.redmine.org/redmine/trunk@12585 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 04:19:47 +00:00
Toshi MARUYAMA c7723e9bc9 Rails4: replace deprecated Relation#first with finder options at IssueRelationsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12584 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 04:11:53 +00:00
Toshi MARUYAMA ee49bdd81b Rails4: replace deprecated find_all_by_* at WorkflowsController#copy
git-svn-id: http://svn.redmine.org/redmine/trunk@12583 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 04:11:36 +00:00
Toshi MARUYAMA efb5d5769a Rails4: replace deprecated Relation#last with finder options at IssuesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12582 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 04:11:20 +00:00
Toshi MARUYAMA c0303bf47c remove unneeded Relation#all from WorkflowsControllerTest#status_transitions
git-svn-id: http://svn.redmine.org/redmine/trunk@12581 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 03:54:23 +00:00
Toshi MARUYAMA 0a72533b59 Rails4: replace deprecated Relation#update_all at IssuesController
git-svn-id: http://svn.redmine.org/redmine/trunk@12580 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 03:39:51 +00:00
Toshi MARUYAMA 09147940fa Rails4: replace deprecated find_all_by_* at IssuesController
git-svn-id: http://svn.redmine.org/redmine/trunk@12579 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 03:39:35 +00:00
Toshi MARUYAMA 7c10f41ce3 Rails4: replace deprecated Relation#first with finder options at AttachmentsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12578 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-10 01:21:07 +00:00
Toshi MARUYAMA d852b8a4e6 remove unneeded Relation#all from RepositorySubversionTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12577 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 09:55:26 +00:00
Toshi MARUYAMA e41271f2bd remove unneeded Relation#all from RepositoryMercurialTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12576 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 09:55:10 +00:00
Toshi MARUYAMA 776bf76f46 remove unneeded Relation#all from RepositoryDarcsTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12575 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 09:54:54 +00:00
Toshi MARUYAMA 4ab85ff0cb remove unneeded Relation#all from RepositoryCvsTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12574 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 09:54:37 +00:00
Toshi MARUYAMA 890851eb85 remove unneeded Relation#all from RepositoryBazaarTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12573 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 09:54:21 +00:00
Toshi MARUYAMA ac72e7a8d5 remove unneeded Relation#all from Watcher#prune
git-svn-id: http://svn.redmine.org/redmine/trunk@12572 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 08:35:10 +00:00
Toshi MARUYAMA 907663f83c Rails4: replace deprecated find_all_by_* at UserTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12571 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 08:14:21 +00:00
Toshi MARUYAMA b3dbe07c95 Rails4: replace deprecated find_all_by_* at FieldFormat
git-svn-id: http://svn.redmine.org/redmine/trunk@12570 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 08:14:06 +00:00
Toshi MARUYAMA 6dbb9c3677 remove unneeded Relation#all from Watcher#prune_single_user
git-svn-id: http://svn.redmine.org/redmine/trunk@12569 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 07:41:50 +00:00
Toshi MARUYAMA 05aa146fad code format cleanup Watcher model
git-svn-id: http://svn.redmine.org/redmine/trunk@12568 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 07:41:34 +00:00
Toshi MARUYAMA 8a9db2841d backout r12562 : remove unneeded Relation#all from Repository::Mercurial#latest_changesets
git-svn-id: http://svn.redmine.org/redmine/trunk@12567 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 07:07:06 +00:00
Toshi MARUYAMA eb98a1f714 backout r12540 : remove unneeded Relation#all from News#latest
git-svn-id: http://svn.redmine.org/redmine/trunk@12566 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 07:06:50 +00:00
Toshi MARUYAMA a6da09026a Rails4: replace deprecated Relation#first with finder options at WikiContentTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12565 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 06:43:49 +00:00
Toshi MARUYAMA d305d15373 Rails4: replace deprecated Relation#first with finder options at UserTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12564 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 06:43:33 +00:00
Toshi MARUYAMA 3ca03beb6f Rails4: replace deprecated find_all_by_* at IssueQuery model
git-svn-id: http://svn.redmine.org/redmine/trunk@12563 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 06:34:40 +00:00
Toshi MARUYAMA 1ddabbc874 remove unneeded Relation#all from Repository::Mercurial#latest_changesets
git-svn-id: http://svn.redmine.org/redmine/trunk@12562 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 05:25:05 +00:00
Toshi MARUYAMA 5315943bb9 remove trailing white-spaces from RepositoryTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12561 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 05:09:44 +00:00
Toshi MARUYAMA 01e22fc4b8 code format cleanup RepositoryTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12560 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 05:09:28 +00:00
Toshi MARUYAMA 205e727565 Rails4: replace deprecated find_all_by_* at ProjectTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12559 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 05:09:10 +00:00
Toshi MARUYAMA 56a40b3579 Rails4: replace deprecated find_all_by_* at RepositoryTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12558 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 05:08:54 +00:00
Toshi MARUYAMA 95bc7bf189 Rails4: replace deprecated Relation#update_all at RepositoryTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12557 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 05:08:38 +00:00
Toshi MARUYAMA 7960f543a4 remove unneeded Relation#all from ProjectTest#test_destroy
git-svn-id: http://svn.redmine.org/redmine/trunk@12556 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 04:30:17 +00:00
Toshi MARUYAMA ab46ef7c15 Rails4: replace deprecated Relation#update_all at QueryTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12555 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 04:24:24 +00:00
Toshi MARUYAMA 494a13d004 Rails4: replace deprecated Relation#update_all at ProjectTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12554 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 04:24:07 +00:00
Toshi MARUYAMA d15183b2e7 Rails4: replace deprecated Relation#update_all at WatcherTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12553 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 04:23:51 +00:00
Toshi MARUYAMA d7f986b6a8 Rails4: replace deprecated Relation#update_all at ProjectNestedSetTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12552 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 04:23:36 +00:00
Toshi MARUYAMA 394628f205 Rails4: replace deprecated Relation#first with finder options at MailHandlerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12551 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 04:23:19 +00:00
Toshi MARUYAMA 132021f895 Rails4: replace deprecated Relation#first with finder options at CipheringTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12550 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 04:23:03 +00:00
Toshi MARUYAMA bb54f0b7c5 Rails4: replace deprecated Relation#first with finder options at IssueTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12549 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 04:22:47 +00:00
Toshi MARUYAMA a6c18dce13 Rails4: replace deprecated find_all_by_* at Tracker model
git-svn-id: http://svn.redmine.org/redmine/trunk@12548 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 03:51:14 +00:00
Toshi MARUYAMA 92a948855e Rails4: replace deprecated Relation#update_all at IssueTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12547 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 03:35:14 +00:00
Toshi MARUYAMA d12c8e8397 Rails4: replace deprecated Relation#update_all at Repository model
git-svn-id: http://svn.redmine.org/redmine/trunk@12546 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 03:34:58 +00:00
Toshi MARUYAMA 4245a88542 Rails4: replace deprecated find_all_by_* at WikiPageTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12545 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 02:37:21 +00:00
Toshi MARUYAMA ecda4d33e8 Rails4: replace deprecated Relation#update_all at User model
git-svn-id: http://svn.redmine.org/redmine/trunk@12544 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 02:37:06 +00:00
Toshi MARUYAMA 09884154c9 code format cleanup ChangesetTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12543 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 00:06:06 +00:00
Toshi MARUYAMA facf04593f remove unneeded Relation#all from MailHandler#add_watchers
git-svn-id: http://svn.redmine.org/redmine/trunk@12542 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 00:05:50 +00:00
Toshi MARUYAMA c0e587ffc4 remove unneeded Relation#all from Project#copy_issues
git-svn-id: http://svn.redmine.org/redmine/trunk@12541 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 00:05:33 +00:00
Toshi MARUYAMA ca4dcdc3af remove unneeded Relation#all from News#latest
git-svn-id: http://svn.redmine.org/redmine/trunk@12540 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 00:05:14 +00:00
Toshi MARUYAMA d9624990e0 remove unneeded Relation#all from ChangesetTest#test_ref_keywords_closing_with_timelog
git-svn-id: http://svn.redmine.org/redmine/trunk@12539 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 00:04:56 +00:00
Toshi MARUYAMA ac214f5480 Rails4: replace deprecated Relation#first with finder options at ChangesetTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12538 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-09 00:04:38 +00:00
Toshi MARUYAMA 5feb02c31d Rails4: replace deprecated Relation#calculate with finder options at Issue model
git-svn-id: http://svn.redmine.org/redmine/trunk@12537 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 14:53:29 +00:00
Toshi MARUYAMA 66bdc014d4 remove unneeded Relation#all from Group#user_removed
git-svn-id: http://svn.redmine.org/redmine/trunk@12536 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 13:26:02 +00:00
Toshi MARUYAMA 1c2c4c484e Rails4: replace deprecated find_all_by_* at WikiPageTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12535 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 12:43:27 +00:00
Toshi MARUYAMA 143a1d8ec3 remove unneeded Relation#all from WikiPage#handle_redirects
git-svn-id: http://svn.redmine.org/redmine/trunk@12534 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 12:43:10 +00:00
Toshi MARUYAMA 95d86daef3 Rails4: replace deprecated find_all_by_* at WikiPage model
git-svn-id: http://svn.redmine.org/redmine/trunk@12533 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 12:42:53 +00:00
Toshi MARUYAMA 8aa22a05f4 Rails4: replace deprecated Relation#update_all at Issue model
git-svn-id: http://svn.redmine.org/redmine/trunk@12532 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 12:20:52 +00:00
Toshi MARUYAMA 84f43584f9 Rails4: replace deprecated Relation#update_all at IssueCategory model
git-svn-id: http://svn.redmine.org/redmine/trunk@12531 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 12:20:35 +00:00
Toshi MARUYAMA fb877ddcfb Rails4: replace deprecated Relation#update_all at GroupTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12530 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 12:20:16 +00:00
Toshi MARUYAMA 9f079015bf Rails4: replace deprecated Relation#update_all at Group model
git-svn-id: http://svn.redmine.org/redmine/trunk@12529 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 12:19:59 +00:00
Toshi MARUYAMA 599ac20570 Rails4: replace deprecated Relation#update_all at Issue model
git-svn-id: http://svn.redmine.org/redmine/trunk@12528 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 10:27:37 +00:00
Toshi MARUYAMA e80d9bb69a Rails4: replace deprecated Relation#update_all at IssueTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12527 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 10:11:32 +00:00
Toshi MARUYAMA 78ca50560a Rails4: replace deprecated Relation#update_all at acts_as_list
git-svn-id: http://svn.redmine.org/redmine/trunk@12526 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 10:11:16 +00:00
Toshi MARUYAMA 74ccf34361 Rails4: replace deprecated Relation#first with finder options at IssueCategoryTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12525 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 10:11:00 +00:00
Toshi MARUYAMA 2b36ff7016 Rails4: replace deprecated Relation#update_all at User model
git-svn-id: http://svn.redmine.org/redmine/trunk@12524 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 06:58:33 +00:00
Toshi MARUYAMA ce2e9158a5 Rails4: replace deprecated find_all_by_* at ProjectEnumerationsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12523 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 06:42:52 +00:00
Toshi MARUYAMA 184ea832d6 Rails4: replace deprecated Relation#first with finder options at NewsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12522 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 06:26:25 +00:00
Toshi MARUYAMA 4f28ed2fb4 Rails4: replace deprecated Relation#first with finder options at NewsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12521 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 06:23:43 +00:00
Toshi MARUYAMA 273e7420d4 Rails4: replace deprecated passing options to find at MessagesController
git-svn-id: http://svn.redmine.org/redmine/trunk@12520 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 06:11:46 +00:00
Toshi MARUYAMA c92f425309 Rails4: replace deprecated Relation#update_all at IssuesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12519 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 06:03:54 +00:00
Toshi MARUYAMA d731c036fb Rails4: replace deprecated find_all_by_* at GroupsController
git-svn-id: http://svn.redmine.org/redmine/trunk@12518 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 05:55:52 +00:00
Toshi MARUYAMA 251e3cc7fa remove unneeded Relation#all from app/views/custom_fields/_form.html.erb
git-svn-id: http://svn.redmine.org/redmine/trunk@12517 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 05:36:34 +00:00
Toshi MARUYAMA 585d93e499 Rails4: replace deprecated Relation#first with finder options at WikiPageTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12516 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 05:14:18 +00:00
Toshi MARUYAMA 2977f95ad9 Rails4: replace deprecated find_all_by_* at WikiPage model
git-svn-id: http://svn.redmine.org/redmine/trunk@12515 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 05:09:05 +00:00
Toshi MARUYAMA 035c68f1a9 Rails4: replace deprecated Relation#first with finder options at ChangesetTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12514 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 05:02:14 +00:00
Toshi MARUYAMA 4ca6fb4226 Rails4: replace deprecated Relation#update_all at BoardsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12513 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 04:58:29 +00:00
Toshi MARUYAMA 30e3e7e0b4 Rails4: replace deprecated Relation#update_all at Member model
git-svn-id: http://svn.redmine.org/redmine/trunk@12512 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 04:58:13 +00:00
Toshi MARUYAMA 5b77bd0076 Rails4: replace deprecated Relation#update_all at IssueStatus model
git-svn-id: http://svn.redmine.org/redmine/trunk@12511 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 04:57:56 +00:00
Toshi MARUYAMA c4a9339e3f Rails4: replace deprecated Relation#update_all at Enumeration model
git-svn-id: http://svn.redmine.org/redmine/trunk@12510 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 04:57:38 +00:00
Toshi MARUYAMA d9dc18011d Rails4: replace deprecated Relation#first with finder options at IssueCategoriesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12509 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 04:32:31 +00:00
Toshi MARUYAMA 7d4420fe19 Rails4: replace deprecated Relation#first with finder options at GroupsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12508 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 04:32:16 +00:00
Toshi MARUYAMA 848edf35fa Rails4: replace deprecated Relation#first with finder options at DocumentsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12507 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 04:32:00 +00:00
Toshi MARUYAMA 6204bcb34e Rails4: replace deprecated Relation#first with finder options at BoardsControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12506 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 04:31:45 +00:00
Toshi MARUYAMA 375eca924c Rails4: replace deprecated Relation#first with finder options at AccountControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12505 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 04:31:29 +00:00
Toshi MARUYAMA 76110407b7 Rails4: replace deprecated Relation#update_all at acts_as_list
git-svn-id: http://svn.redmine.org/redmine/trunk@12504 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 04:13:18 +00:00
Toshi MARUYAMA 6dcfa742fd Rails4: replace deprecated Relation#update_all at Board model
git-svn-id: http://svn.redmine.org/redmine/trunk@12503 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 04:03:11 +00:00
Toshi MARUYAMA ab6ac3b08f Rails4: replace deprecated Relation#update_all at Message model
git-svn-id: http://svn.redmine.org/redmine/trunk@12502 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 03:51:50 +00:00
Toshi MARUYAMA 0788000809 Rails4: replace deprecated Relation#first with finder options at AccountControllerOpenidTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12501 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 03:31:04 +00:00
Toshi MARUYAMA 8a6f4c3880 Rails4: replace deprecated Relation#first with finder options at AttachmentTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12500 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-08 02:49:09 +00:00
Toshi MARUYAMA 89b5518e0b Rails4: replace deprecated find_all_by_* at Journal model
git-svn-id: http://svn.redmine.org/redmine/trunk@12499 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-07 15:55:03 +00:00
Toshi MARUYAMA 52bcc01b32 Rails4: replace deprecated find_all_by_* at IssueQuery model
git-svn-id: http://svn.redmine.org/redmine/trunk@12498 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-07 15:54:47 +00:00
Toshi MARUYAMA d020a06c5c Rails4: replace deprecated find_all_by_* at ProjectTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12497 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-07 15:43:21 +00:00
Toshi MARUYAMA d884d09cc2 Rails4: replace deprecated find_all_by_* at MessageTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12496 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-07 15:43:05 +00:00
Toshi MARUYAMA 8dc4992973 Rails4: replace deprecated find_all_by_* at IssueTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12495 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-07 15:42:49 +00:00
Toshi MARUYAMA 1d0c93792b Rails4: replace deprecated Relation#update_all at SetDefaultRepositories db migration
git-svn-id: http://svn.redmine.org/redmine/trunk@12494 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-07 14:54:20 +00:00
Toshi MARUYAMA 9eaa4a7c1a Rails4: replace deprecated Relation#update_all at Repository model
git-svn-id: http://svn.redmine.org/redmine/trunk@12493 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-07 14:54:05 +00:00
Toshi MARUYAMA 691e218a75 add unit test to have one default repository
git-svn-id: http://svn.redmine.org/redmine/trunk@12492 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-07 14:53:49 +00:00
Toshi MARUYAMA f8df0e729c Rails4: deprecated find_by methods with options at ApplicationHelper
git-svn-id: http://svn.redmine.org/redmine/trunk@12491 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-07 14:11:03 +00:00
Toshi MARUYAMA a8c8266b9d Rails4: replace deprecated Relation#update_all at application helper test
git-svn-id: http://svn.redmine.org/redmine/trunk@12490 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-07 13:26:13 +00:00
Toshi MARUYAMA 14fa4dc683 Rails4: replace deprecated Relation#update_all at IssuePriority model
git-svn-id: http://svn.redmine.org/redmine/trunk@12489 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-07 12:33:43 +00:00
Toshi MARUYAMA 0bc3ef5014 Rails4: replace deprecated Relation#update_all at db migrations
git-svn-id: http://svn.redmine.org/redmine/trunk@12488 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-07 10:03:11 +00:00
Toshi MARUYAMA a5f028a242 use lambda form in acts_as_tree scope (#12499)
git-svn-id: http://svn.redmine.org/redmine/trunk@12487 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-07 10:02:50 +00:00
Toshi MARUYAMA e17bf40fe1 use lambda form in Version model scope (#12499)
git-svn-id: http://svn.redmine.org/redmine/trunk@12486 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-07 07:51:15 +00:00
Toshi MARUYAMA 73b27124f1 Rails4: replace deprecated Relation#update_all at CreateCustomFieldsRoles db migration
git-svn-id: http://svn.redmine.org/redmine/trunk@12485 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-07 07:50:59 +00:00
Jean-Philippe Lang d2f540358f Store mime type lookups in a hash.
git-svn-id: http://svn.redmine.org/redmine/trunk@12484 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-05 17:56:21 +00:00
Jean-Philippe Lang e1189c5335 Use the mime-types gem for getting mime types from filenames (#15790).
git-svn-id: http://svn.redmine.org/redmine/trunk@12483 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-05 16:35:59 +00:00
Jean-Philippe Lang 1f50862586 Use Rails.application.config.i18n.load_path for adding plugin locales (#12753).
Patch by Takeshi Yaegashi.

git-svn-id: http://svn.redmine.org/redmine/trunk@12482 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-05 14:46:22 +00:00
Jean-Philippe Lang 77ac3b7891 Reduces the number of subqueries when searching with many custom fields set as searchable (#15781).
git-svn-id: http://svn.redmine.org/redmine/trunk@12481 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-05 14:23:36 +00:00
Jean-Philippe Lang 7087dbb5b4 Fixed assertion for postgresql and sqlite (#8842).
git-svn-id: http://svn.redmine.org/redmine/trunk@12480 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-04 08:22:50 +00:00
Jean-Philippe Lang 3c540594dc Fixed test failure with ruby1.8 (#8842).
git-svn-id: http://svn.redmine.org/redmine/trunk@12479 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-03 19:42:43 +00:00
Jean-Philippe Lang 429b3a5dae Fixed test failure with sqlite (#8842).
git-svn-id: http://svn.redmine.org/redmine/trunk@12478 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-03 16:36:04 +00:00
Jean-Philippe Lang a4d3da988a Allow filtering with timestamp (#8842).
git-svn-id: http://svn.redmine.org/redmine/trunk@12477 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-03 15:54:49 +00:00
Jean-Philippe Lang 58a63c49c4 Fixed that magic links to existing attachments are not converted when previewing issue notes.
git-svn-id: http://svn.redmine.org/redmine/trunk@12476 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-03 14:42:15 +00:00
Toshi MARUYAMA 4ccc7dff14 svn propset svn:eol-style native test fixture (#15785)
git-svn-id: http://svn.redmine.org/redmine/trunk@12475 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-01 05:57:50 +00:00
Toshi MARUYAMA 803a0a030e support more character encoding in incoming emails (#15785)
Supporting encodings of iconv on Ruby 1.8 depend on iconv implementation.
glibc-common-2.12-1.132 on CentOS6 does not support ks_c_5601-1987.

Contributed by Felix Schäfer.

git-svn-id: http://svn.redmine.org/redmine/trunk@12474 e93f8b46-1217-0410-a6f0-8f06a7374b81
2014-01-01 05:54:28 +00:00
Toshi MARUYAMA 3ace0292c2 Rails4: replace deprecated find_by_id at Changeset class
git-svn-id: http://svn.redmine.org/redmine/trunk@12473 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-29 13:49:09 +00:00
Toshi MARUYAMA 9cefc90b0b Rails4: scm: reload repository after destroying changesets in incremental fetch test
git-svn-id: http://svn.redmine.org/redmine/trunk@12472 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-29 13:48:52 +00:00
Toshi MARUYAMA e9470e5585 explicitly define fix has_and_belongs_to_many join_table at Group and User
Rails4 cannot resolve automatically.

git-svn-id: http://svn.redmine.org/redmine/trunk@12471 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-27 23:33:15 +00:00
Toshi MARUYAMA 24904b4a03 Rails4 compatibility of RepositoryTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12470 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-27 03:40:30 +00:00
Toshi MARUYAMA 74dbb35b87 fix find_all_by_id(n1, n2) parameter at test_member_of_scope_should_return_the_union_of_all_members of PrincipalTest
find_all_by_id(n1, n2) returns only n1 result.

git-svn-id: http://svn.redmine.org/redmine/trunk@12469 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-27 03:26:05 +00:00
Toshi MARUYAMA 2959818688 fix find_all_by_id(n1, n2) parameter at test_not_member_of_scope_should_return_users_that_have_no_memberships of PrincipalTest
find_all_by_id(n1, n2) returns only n1 result.

git-svn-id: http://svn.redmine.org/redmine/trunk@12468 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-27 03:25:49 +00:00
Toshi MARUYAMA 8ec6004a7f fix find_all_by_id(n1, n2) parameter at test_show_export_to_pdf_with_changesets of IssuesControllerTest
find_all_by_id(n1, n2) returns only n1 result.

git-svn-id: http://svn.redmine.org/redmine/trunk@12467 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-27 03:25:32 +00:00
Toshi MARUYAMA 9c8e00057e Rails4 compatibility of ProjectTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12466 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-26 10:45:13 +00:00
Toshi MARUYAMA 25a0bde311 Rails4 compatibility of version group count
git-svn-id: http://svn.redmine.org/redmine/trunk@12465 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-26 10:33:18 +00:00
Toshi MARUYAMA 61c6858b05 code format cleanup Principal class
git-svn-id: http://svn.redmine.org/redmine/trunk@12464 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-26 09:19:56 +00:00
Toshi MARUYAMA c97986aa52 remove unneeded including ApplicationHelper from helper tests
git-svn-id: http://svn.redmine.org/redmine/trunk@12463 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-26 04:27:21 +00:00
Toshi MARUYAMA e9a48cf86a remove unneeded 'redmine/field_format' requirement from FieldFormatTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12462 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-26 04:11:16 +00:00
Toshi MARUYAMA 461c93a2dc fix typo redcarpet requirement in lib/redmine.rb (#15520)
git-svn-id: http://svn.redmine.org/redmine/trunk@12461 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-26 03:52:25 +00:00
Toshi MARUYAMA ce57d7b24a fix Pagination helper test class name
git-svn-id: http://svn.redmine.org/redmine/trunk@12460 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-26 03:18:57 +00:00
Toshi MARUYAMA 60640d4a59 Traditional Chinese translation updated by ChunChang Lo (#15764)
git-svn-id: http://svn.redmine.org/redmine/trunk@12457 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-24 05:47:48 +00:00
Toshi MARUYAMA e10aa2529d change requirement in bazaar lib as same with other scm libs (#15756)
git-svn-id: http://svn.redmine.org/redmine/trunk@12456 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-24 05:06:36 +00:00
Jean-Philippe Lang a657a12450 Don't load redcarpet with JRuby.
git-svn-id: http://svn.redmine.org/redmine/trunk@12453 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-23 17:07:51 +00:00
Jean-Philippe Lang 471e01ca50 Adds experimental support for Markdown formatting with redcarpet (#15520).
git-svn-id: http://svn.redmine.org/redmine/trunk@12452 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-23 13:05:10 +00:00
Jean-Philippe Lang 6311ade827 Rescue syntax highlighter exceptions.
git-svn-id: http://svn.redmine.org/redmine/trunk@12451 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-23 12:39:18 +00:00
Jean-Philippe Lang 0dc98aabe6 Adds an option for formatter display name.
git-svn-id: http://svn.redmine.org/redmine/trunk@12450 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-23 12:33:42 +00:00
Jean-Philippe Lang 0fabbd281e Updates for 2.4.2 release.
git-svn-id: http://svn.redmine.org/redmine/trunk@12447 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-23 08:46:47 +00:00
Toshi MARUYAMA f81f5589f9 Bulgarian translation updated by Ivan Cenov (#15755)
git-svn-id: http://svn.redmine.org/redmine/trunk@12446 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-23 02:20:21 +00:00
Jean-Philippe Lang b8c94d93e9 Fixed slow SELECT ... FOR UPDATE query when deleting an issue.
git-svn-id: http://svn.redmine.org/redmine/trunk@12445 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-22 15:49:53 +00:00
Toshi MARUYAMA 14bd57eb47 back out r12441
It is not compatible with Ruby 1.8.7.

git-svn-id: http://svn.redmine.org/redmine/trunk@12443 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-22 14:41:44 +00:00
Jean-Philippe Lang 4333a80bc1 Adds support for links on values for various custom field formats (#1358).
git-svn-id: http://svn.redmine.org/redmine/trunk@12442 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-22 14:09:33 +00:00
Toshi MARUYAMA b8b358a85f Rails4 compatibility of stylesheet_link_tag and javascript_include_tag at ApplicationHelper
git-svn-id: http://svn.redmine.org/redmine/trunk@12441 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-22 12:58:04 +00:00
Toshi MARUYAMA 90d3bb28b2 add stderr to config.active_support.deprecation in test and dev env
git-svn-id: http://svn.redmine.org/redmine/trunk@12440 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-22 12:39:56 +00:00
Toshi MARUYAMA b9db2228c0 replace deprecated Version#completed_pourcent at lib/redmine/helpers/gantt.rb (#12724)
git-svn-id: http://svn.redmine.org/redmine/trunk@12439 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-22 12:39:38 +00:00
Jean-Philippe Lang 5ee277fa22 Fixed that OpenID authentication fails with 422 error due to token verification (#15735).
git-svn-id: http://svn.redmine.org/redmine/trunk@12438 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-21 12:04:38 +00:00
Toshi MARUYAMA 2db5fc1a66 use environment variable for running independent tests (units etc.) in ci.rake
git-svn-id: http://svn.redmine.org/redmine/trunk@12437 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-21 12:00:08 +00:00
Jean-Philippe Lang bea821166d Fixed multiple scrollbars in project tree (#15741).
git-svn-id: http://svn.redmine.org/redmine/trunk@12435 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-21 11:34:28 +00:00
Toshi MARUYAMA 637e450824 make WatchersHelperTest passes when config.threadsafe! is enabled (#12097)
git-svn-id: http://svn.redmine.org/redmine/trunk@12428 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-21 11:13:39 +00:00
Toshi MARUYAMA fc4df508f0 make IssuesHelperTest passes when config.threadsafe! is enabled (#12097)
git-svn-id: http://svn.redmine.org/redmine/trunk@12427 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-21 11:08:51 +00:00
Toshi MARUYAMA 694394b04e use environment variable for extacting SCM repositories in ci.rake
git-svn-id: http://svn.redmine.org/redmine/trunk@12426 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-21 09:30:53 +00:00
Toshi MARUYAMA f9b5543075 fix svn raw diff failure on svn version 1.6.17 (revision 1128011)
git-svn-id: http://svn.redmine.org/redmine/trunk@12424 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-20 17:17:08 +00:00
Toshi MARUYAMA 3e4d4a0c1a Rails4 compatibility of Setting model
git-svn-id: http://svn.redmine.org/redmine/trunk@12423 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-20 11:54:23 +00:00
Toshi MARUYAMA 9b5ce4b7b4 Rails4: db migrate: replace "Permission.find_by_controller_and_action"
git-svn-id: http://svn.redmine.org/redmine/trunk@12422 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-20 07:10:46 +00:00
Jean-Philippe Lang 5c5ba0c61a Fixed that time entries custom values are not deleted when deleting a project or an issue (#15709).
git-svn-id: http://svn.redmine.org/redmine/trunk@12421 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-18 18:39:09 +00:00
Jean-Philippe Lang d4297ca3ff Fixed that text/plain attachments are added to issue description (#15684).
git-svn-id: http://svn.redmine.org/redmine/trunk@12420 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-18 18:13:13 +00:00
Jean-Philippe Lang 0ee2af4c06 Fixed that previous assignee is not notified on issue update (#15714).
git-svn-id: http://svn.redmine.org/redmine/trunk@12419 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-17 20:48:18 +00:00
Toshi MARUYAMA 82fb19a464 Traditional Chinese translation updated by ChunChang Lo (#15710)
git-svn-id: http://svn.redmine.org/redmine/trunk@12418 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-16 07:48:06 +00:00
Jean-Philippe Lang d5feb01b7e Removed unused variable.
git-svn-id: http://svn.redmine.org/redmine/trunk@12417 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-15 11:03:48 +00:00
Jean-Philippe Lang 77665b5252 Store relation type instead of i18n key in journals (#15704).
git-svn-id: http://svn.redmine.org/redmine/trunk@12416 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-15 11:02:24 +00:00
Jean-Philippe Lang 13756eb3a8 Fixed that links for relations in notifications do not include hostname (#15677).
git-svn-id: http://svn.redmine.org/redmine/trunk@12415 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-15 10:32:03 +00:00
Jean-Philippe Lang c6fc1a8047 Fixed that filtering time entries on activity does not take care of activity overrides (#15623).
git-svn-id: http://svn.redmine.org/redmine/trunk@12414 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-15 09:49:12 +00:00
Jean-Philippe Lang a4a91cab7e Add project identifier substitution option to the URL-pattern property of link format custom fields (#15701).
Patch by Mischa The Evil.

git-svn-id: http://svn.redmine.org/redmine/trunk@12413 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-15 08:53:02 +00:00
Jean-Philippe Lang 3d36b7d91a Typos in test names (#15701).
Patch by Mischa The Evil.

git-svn-id: http://svn.redmine.org/redmine/trunk@12412 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-15 08:49:45 +00:00
Toshi MARUYAMA 35d1ef2532 Bulgarian translation updated by Ivan Cenov (#15700)
git-svn-id: http://svn.redmine.org/redmine/trunk@12409 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-15 04:16:06 +00:00
Toshi MARUYAMA 3f4e2a0469 Russian translation updated by Alex Stein (#15696)
git-svn-id: http://svn.redmine.org/redmine/trunk@12408 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-15 04:05:12 +00:00
Toshi MARUYAMA 8bebe8016e Spanish translation updated by Borja Campina (#15688)
git-svn-id: http://svn.redmine.org/redmine/trunk@12407 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-15 03:46:13 +00:00
Jean-Philippe Lang a06952ed8a Adds tests for custom field description.
git-svn-id: http://svn.redmine.org/redmine/trunk@12406 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-14 11:26:47 +00:00
Jean-Philippe Lang e715c4b847 Removed default values on custom field min and max length.
git-svn-id: http://svn.redmine.org/redmine/trunk@12405 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-14 10:01:45 +00:00
Jean-Philippe Lang 3e5f1e326a ruby1.8 compatibility.
git-svn-id: http://svn.redmine.org/redmine/trunk@12404 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-14 09:24:37 +00:00
Jean-Philippe Lang a59dc1658b Removed hardcoded format in API response.
git-svn-id: http://svn.redmine.org/redmine/trunk@12403 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-14 09:00:05 +00:00
Jean-Philippe Lang ebb8e86122 Removed hardcoded formats for right-click edit.
git-svn-id: http://svn.redmine.org/redmine/trunk@12402 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-14 08:57:30 +00:00
Jean-Philippe Lang 32f782f1aa Adds translations.
git-svn-id: http://svn.redmine.org/redmine/trunk@12401 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-14 08:29:09 +00:00
Jean-Philippe Lang 2e2e2cfe42 Merged custom fields format refactoring.
git-svn-id: http://svn.redmine.org/redmine/trunk@12400 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-14 08:22:43 +00:00
Toshi MARUYAMA c74f6d9f9b add tests for non member watchers (#15622)
git-svn-id: http://svn.redmine.org/redmine/trunk@12396 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-09 06:16:03 +00:00
Toshi MARUYAMA 4823d03423 fix indents of OpenID tests in UserTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12395 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-09 06:15:52 +00:00
Toshi MARUYAMA 478a23bfa3 code format clean up UserTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12394 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-09 06:15:42 +00:00
Toshi MARUYAMA 0e4657cfad code format clean up MemberTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12393 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-09 06:15:31 +00:00
Toshi MARUYAMA 424393c28c code format clean up WatchersControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12392 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-09 06:15:20 +00:00
Toshi MARUYAMA 3782836e73 fix disable to run test environment
git-svn-id: http://svn.redmine.org/redmine/trunk@12387 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-09 04:30:51 +00:00
Toshi MARUYAMA 7c15737ff2 remove duplicate test from UsersControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12368 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-07 02:10:08 +00:00
Toshi MARUYAMA dce3d904a7 fix duplicate test name in IssuesControllerTest
git-svn-id: http://svn.redmine.org/redmine/trunk@12367 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-07 02:09:57 +00:00
Toshi MARUYAMA f1175fda70 prevent i18n deprecated warning
i18n 0.6.4 on Rails 3.2.16 changes behavior.
3b6e56e06f

git-svn-id: http://svn.redmine.org/redmine/trunk@12365 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-07 01:32:22 +00:00
Toshi MARUYAMA a624204f1b remove extra empty lines from test/unit/changeset_test.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@12364 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-06 23:42:06 +00:00
Toshi MARUYAMA 436d44962d add test to send one mail with both settngs in creating issue (#15612)
git-svn-id: http://svn.redmine.org/redmine/trunk@12363 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-06 23:22:38 +00:00
Toshi MARUYAMA b212fdb72b add test not to send mail with no settng in creating issue (#15612)
git-svn-id: http://svn.redmine.org/redmine/trunk@12362 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-06 23:22:26 +00:00
Toshi MARUYAMA dceee1ea9a explicitly use mail send setting in unit issue test (#15612)
git-svn-id: http://svn.redmine.org/redmine/trunk@12361 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-06 23:22:15 +00:00
Toshi MARUYAMA 9223ab4252 remove "address_separator" etc. from tr.yml
These keys are not in other yamls.
These keys were removed from Rails i18n on 2011-11-21.
29f3cba4eb

git-svn-id: http://svn.redmine.org/redmine/trunk@12360 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-05 03:41:47 +00:00
Toshi MARUYAMA be002a1076 Turkish translation updated by Mert Salih Kaplan (#15601)
git-svn-id: http://svn.redmine.org/redmine/trunk@12358 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-05 02:59:16 +00:00
Toshi MARUYAMA afda064058 remove trailing white-spaces from test/unit/attachment_test.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@12356 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-04 07:09:17 +00:00
Toshi MARUYAMA 8a123b178c update Rails version 3.2.16
git-svn-id: http://svn.redmine.org/redmine/trunk@12355 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-12-04 07:04:15 +00:00
Jean-Philippe Lang 6032263d9b Fixed that preferences are not preserved when adding a user fails (#15552).
git-svn-id: http://svn.redmine.org/redmine/trunk@12350 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-29 21:43:29 +00:00
Jean-Philippe Lang e494983e1f Fixed that CSS class for done ratio is not properly generated (#15523).
Patch by Go MAEDA.

git-svn-id: http://svn.redmine.org/redmine/trunk@12349 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-29 21:23:21 +00:00
Jean-Philippe Lang 23974fb0ce Fixed that validating a Setting with invalid name triggers an error (#15551).
git-svn-id: http://svn.redmine.org/redmine/trunk@12348 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-29 21:18:35 +00:00
Jean-Philippe Lang 088ab2e686 Fixed that the label element may contain at most one input.
git-svn-id: http://svn.redmine.org/redmine/trunk@12346 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-27 13:31:24 +00:00
Toshi MARUYAMA 391b5ec6ef use escaping html in wiki_syntax_detailed.html
git-svn-id: http://svn.redmine.org/redmine/trunk@12340 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-25 05:23:09 +00:00
Toshi MARUYAMA 41478dc664 Japanese translation updated by Go MAEDA (#15524)
git-svn-id: http://svn.redmine.org/redmine/trunk@12339 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-25 05:22:32 +00:00
Toshi MARUYAMA a528aa0333 use escaping html in Russian wiki_syntax.html (#9442)
git-svn-id: http://svn.redmine.org/redmine/trunk@12331 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-23 23:39:56 +00:00
Toshi MARUYAMA 9c0debd2c1 Russian wiki syntax help translations by Denis Savitsky (#9442)
git-svn-id: http://svn.redmine.org/redmine/trunk@12326 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-23 18:43:46 +00:00
Jean-Philippe Lang 8578a46b35 Extract generic formatting options to an helper.
git-svn-id: http://svn.redmine.org/redmine/trunk@12319 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-23 10:50:41 +00:00
Jean-Philippe Lang 8a1f26617d Don't create duplicate wikis in test (#15420).
Patch by George Gensure.

git-svn-id: http://svn.redmine.org/redmine/trunk@12317 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-23 09:13:48 +00:00
Jean-Philippe Lang 436ab28443 Updates for 2.4.1 release.
git-svn-id: http://svn.redmine.org/redmine/trunk@12314 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-23 08:26:39 +00:00
Jean-Philippe Lang 5c0078c63a Fixed that non-GET API requests respond with 422 (#15427).
git-svn-id: http://svn.redmine.org/redmine/trunk@12311 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-22 22:57:30 +00:00
Jean-Philippe Lang bba304ef39 Fixed that the sidebar may be displayed empty (#15414).
git-svn-id: http://svn.redmine.org/redmine/trunk@12310 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-20 19:17:20 +00:00
Jean-Philippe Lang 7df9f8d31e Use pagination css class for search results pagination (#15398).
git-svn-id: http://svn.redmine.org/redmine/trunk@12309 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-19 19:37:15 +00:00
Jean-Philippe Lang 00683d52f8 HTML5 conformance of error pages (#15381).
git-svn-id: http://svn.redmine.org/redmine/trunk@12308 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-19 19:21:48 +00:00
Toshi MARUYAMA 508a14c43f Czech "message" and "changeset" translation changed by Karel Pičman (#15391, #15403)
git-svn-id: http://svn.redmine.org/redmine/trunk@12303 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-19 12:24:33 +00:00
Toshi MARUYAMA 5a6e93584e fix wiki syntax "bold italic" (#15391, #15401)
Contributed by Karel Pičman.

git-svn-id: http://svn.redmine.org/redmine/trunk@12302 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-19 12:24:23 +00:00
Toshi MARUYAMA bd6c4b1a9c Czech Wiki syntax traslation updated by Karel Pičman (#15391, #15400)
git-svn-id: http://svn.redmine.org/redmine/trunk@12301 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-19 12:23:46 +00:00
Toshi MARUYAMA b9f1cdf8f5 German translation updated by Daniel Felix (#15395)
git-svn-id: http://svn.redmine.org/redmine/trunk@12300 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-19 12:23:33 +00:00
Toshi MARUYAMA 420a26de3f Czech traslation for 2.4-stable updated by Karel Pičman (#15391, #15402)
git-svn-id: http://svn.redmine.org/redmine/trunk@12299 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-19 12:23:21 +00:00
Jean-Philippe Lang bc0ec54afa Removed database_cleaner dependency (#15377).
git-svn-id: http://svn.redmine.org/redmine/trunk@12298 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-18 21:56:26 +00:00
Toshi MARUYAMA 8c3da81a1a Traditional Chinese translation updated by ChunChang Lo (#15376)
git-svn-id: http://svn.redmine.org/redmine/trunk@12296 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-18 08:18:59 +00:00
Jean-Philippe Lang dcbca130d1 CHANGELOG for 2.4.0.
git-svn-id: http://svn.redmine.org/redmine/trunk@12292 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-17 11:21:54 +00:00
Jean-Philippe Lang b1a1720f04 Bulgarian translation by Ivan Cenov (#15369).
git-svn-id: http://svn.redmine.org/redmine/trunk@12288 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-16 08:47:18 +00:00
Jean-Philippe Lang 0a5632013f Fixed UI tests.
git-svn-id: http://svn.redmine.org/redmine/trunk@12287 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-16 08:46:22 +00:00
Jean-Philippe Lang 67aa2cb34e Use :button_edit instead of :button_update for editing issues (#15275).
git-svn-id: http://svn.redmine.org/redmine/trunk@12285 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-16 08:32:09 +00:00
Jean-Philippe Lang f5985b3cd5 Use :button_save instead of :button_update on committers form (#15275).
git-svn-id: http://svn.redmine.org/redmine/trunk@12284 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-16 08:28:29 +00:00
Jean-Philippe Lang 3d7c3041b8 Removed deferred tests.
git-svn-id: http://svn.redmine.org/redmine/trunk@12283 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-16 07:58:35 +00:00
Jean-Philippe Lang f69b4da75f Add an indication to admin/info whether or not ImageMagick convert is available (#15311).
Patch by Mischa The Evil.

git-svn-id: http://svn.redmine.org/redmine/trunk@12278 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-15 20:11:00 +00:00
Jean-Philippe Lang 71c61f4996 Fixed that update_form always proposes the default status when updating an existing issue (#15344).
git-svn-id: http://svn.redmine.org/redmine/trunk@12277 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-15 19:59:19 +00:00
Toshi MARUYAMA 8910b7c605 fix repository tree can't handle two loading at once (#13348)
Contributed by Vadim Pushtaev.

git-svn-id: http://svn.redmine.org/redmine/trunk@12274 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-13 09:42:13 +00:00
Jean-Philippe Lang a22242ed20 Fixed uninitialized constant Redmine::Scm::Adapters::CommandFailed error when reloading in development mode.
git-svn-id: http://svn.redmine.org/redmine/trunk@12273 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-11 22:02:21 +00:00
Jean-Philippe Lang 6ae4bd7842 Fixed repository browser alignment (#15307).
git-svn-id: http://svn.redmine.org/redmine/trunk@12272 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-11 21:46:05 +00:00
Jean-Philippe Lang f8c2da3432 Removed svn:mergeinfo properties from trunk.
git-svn-id: http://svn.redmine.org/redmine/trunk@12269 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-11 21:13:59 +00:00
Jean-Philippe Lang 967564cba0 Removed deprecated align and width html attributes (#15307).
git-svn-id: http://svn.redmine.org/redmine/trunk@12268 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-11 21:01:21 +00:00
Jean-Philippe Lang 0569005759 Code cleanup: unverified request no longer raises a InvalidAuthenticityToken exception.
git-svn-id: http://svn.redmine.org/redmine/trunk@12267 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-11 20:59:17 +00:00
Toshi MARUYAMA 81d6952587 ci.rake: code format cleanup
git-svn-id: http://svn.redmine.org/redmine/trunk@12266 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-10 22:59:10 +00:00
Jean-Philippe Lang 8525e56c33 Adds a CSS class for reorder links (#15307).
git-svn-id: http://svn.redmine.org/redmine/trunk@12265 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-10 13:24:07 +00:00
Jean-Philippe Lang 3096b6183e Set version to 2.4.0.
git-svn-id: http://svn.redmine.org/redmine/trunk@12263 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-10 11:21:21 +00:00
Jean-Philippe Lang 6ccdee7713 Fixed that rake db:create fails with JRuby (#15218).
git-svn-id: http://svn.redmine.org/redmine/trunk@12261 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-10 10:33:35 +00:00
Toshi MARUYAMA ccf55e65f0 ci.rake: use 'jdbcsqlite3' for JRuby
git-svn-id: http://svn.redmine.org/redmine/trunk@12258 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-10 08:17:49 +00:00
Toshi MARUYAMA 0707c7a12d ci.rake: code format cleanup
git-svn-id: http://svn.redmine.org/redmine/trunk@12257 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-10 08:17:40 +00:00
Toshi MARUYAMA 882c4495c0 work around "rake db:create:all" error on JRuby SQLite3
<pre>
$ bundle exec rake ci --trace
...
rake aborted!
stack level too deep
/home/xxxx/.rvm/gems/jruby-1.7.4/gems/activerecord-3.2.15/lib/active_record/railties/databases.rake:184:in `local_database?'
/home/xxxx/.rvm/gems/jruby-1.7.4/gems/activerecord-3.2.15/lib/active_record/railties/databases.rake:52:in `(root)'
org/jruby/RubyHash.java:1375:in `each_value'
/home/xxxx/.rvm/gems/jruby-1.7.4/gems/activerecord-3.2.15/lib/active_record/railties/databases.rake:38:in `(root)'
</pre>

git-svn-id: http://svn.redmine.org/redmine/trunk@12256 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-10 00:19:17 +00:00
Toshi MARUYAMA 303fdc2913 remove trailing white-spaces from test/unit/project_members_inheritance_test.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@12255 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-09 16:47:40 +00:00
Toshi MARUYAMA b96941763d upgrade activerecord-jdbc-adapter to 1.3.2
git-svn-id: http://svn.redmine.org/redmine/trunk@12254 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-09 16:44:44 +00:00
Toshi MARUYAMA 44012ec6c6 remove trailing white-spaces from test/unit/query_test.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@12253 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-09 13:10:19 +00:00
Toshi MARUYAMA 979d3400ab remove trailing white-spaces from test/unit/setting_test.rb
git-svn-id: http://svn.redmine.org/redmine/trunk@12252 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-09 12:48:19 +00:00
Jean-Philippe Lang bff12254ac Custom fields in issue form - splitting is incorrect (#15227).
git-svn-id: http://svn.redmine.org/redmine/trunk@12251 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-09 11:19:06 +00:00
Jean-Philippe Lang d89c968bb1 Accept issue id with leading sharp when adding a related issue.
git-svn-id: http://svn.redmine.org/redmine/trunk@12250 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-09 11:09:50 +00:00
Jean-Philippe Lang f4aff7919a Log errors when moving attachments (#15295).
git-svn-id: http://svn.redmine.org/redmine/trunk@12249 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-09 09:46:55 +00:00
Jean-Philippe Lang 10e29f2223 Accept custom field format added at runtime (#15277).
Patch by Boris Bera.

git-svn-id: http://svn.redmine.org/redmine/trunk@12248 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-09 09:07:48 +00:00
Jean-Philippe Lang 1871378648 Gantt: sort versions like on the roadmap (#7335).
git-svn-id: http://svn.redmine.org/redmine/trunk@12247 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-09 08:54:45 +00:00
Jean-Philippe Lang 3661766edc Upgrade to Rails 3.2.15.
git-svn-id: http://svn.redmine.org/redmine/trunk@12246 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-09 07:51:00 +00:00
Jean-Philippe Lang 71b43ea1c7 Wiki Pages REST API with version returns wrong comments (#15235).
Patch by Yukinari TOYOTA.

git-svn-id: http://svn.redmine.org/redmine/trunk@12245 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-11-09 07:42:54 +00:00
Toshi MARUYAMA 2e1f80dcde Gemfile: remove "i18n"
activesupport 3.2.13 requires i18n 0.6.1 explicitly.
197b9f4d61

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12243 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-29 06:24:28 +00:00
Toshi MARUYAMA 56639689e0 back out r12241 (back out Rails version 3.2.13)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12242 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-29 05:45:44 +00:00
Toshi MARUYAMA 2cc413351a Gemfile: update Rails version 3.2.15
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12241 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-29 05:18:06 +00:00
Jean-Philippe Lang 918ec276f1 Fixed test failure (#15182).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12240 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-26 11:50:16 +00:00
Jean-Philippe Lang ba083225b7 Return to section anchor after wiki section edit (#15182).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12239 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-26 09:03:08 +00:00
Jean-Philippe Lang 7f22cc6113 Upgrade CodeRay to 1.1.0 (#8253).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12238 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-26 08:55:50 +00:00
Jean-Philippe Lang e162f87964 Replaces <option value=""></option> which is not HTML5 valid (#15191).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12237 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-26 08:08:45 +00:00
Jean-Philippe Lang 711982b7b3 Prevents duplicate element ids (#15191).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12236 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-26 07:17:02 +00:00
Jean-Philippe Lang 3578cf4d9a Replaced acronym with abbr tags (#15191).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12235 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-26 07:15:08 +00:00
Jean-Philippe Lang ec5dbdb0bd Fixed: JS-error while using a global custom query w/ project filter in a project context (#15190).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12234 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-26 06:56:35 +00:00
Toshi MARUYAMA 41ade07171 Simplified Chinese translation updated (#15186)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12232 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-24 06:06:30 +00:00
Toshi MARUYAMA 3109ed9320 code format cleanup app/models/changeset.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12231 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-24 05:40:32 +00:00
Toshi MARUYAMA 16b94e126b code format cleanup app/models/issue.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12230 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-24 05:40:21 +00:00
Toshi MARUYAMA 0552655ff5 Simplified Chinese translation for 2.3-stable updated (#15185)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12229 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-24 05:40:08 +00:00
Jean-Philippe Lang b48fcdaa97 Avoid a query if enabled_modules association is already loaded (#15058).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12228 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-20 16:04:04 +00:00
Jean-Philippe Lang 99bf8c95ab Fixed that issue nested set update is triggered even if parent is not changed (#15135).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12226 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-20 09:25:14 +00:00
Jean-Philippe Lang 13e381d31d Projects selection on custom field form (#15136).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12225 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-20 08:29:55 +00:00
Toshi MARUYAMA 4eea64d38f remove trailing white-spaces from test/unit/user_test.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12224 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-17 01:00:04 +00:00
Jean-Philippe Lang 3172359f97 Avoid N queries when displaying the issue list with custom fields.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12223 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-15 16:38:17 +00:00
Jean-Philippe Lang 758cc2f2e6 Fixed that WikiContent#next_version raises a comparison of Symbol with Arel::Table failed error (#14773).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12222 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-14 17:07:17 +00:00
Jean-Philippe Lang 699317e12e Adds some links for wiki history navigation.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12221 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-14 16:58:39 +00:00
Jean-Philippe Lang 5f747faa58 Fixed that viewing/editing a wiki page without WikiContent raises an error (#14986).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12220 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-13 11:19:47 +00:00
Jean-Philippe Lang 94e7df78ca Fixed that controller_issues_edit_before/after_save hooks have no controller context (#15044).
Patch by Jordan Hollinger.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12219 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-13 10:31:04 +00:00
Jean-Philippe Lang 58c69b8123 Fixed that redmine:migrate_from_mantis fails to migrate projects with all upper case name (#15050).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12218 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-13 10:07:34 +00:00
Jean-Philippe Lang 7bea176cdb Avoid lots of CustomField.find_by_id calls when displaying an issue history with custom fields (#15072).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12217 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-13 10:04:59 +00:00
Jean-Philippe Lang 60d6e16978 Fixed that non array commit_update_keywords raises an error (#7590).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12216 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-13 10:03:13 +00:00
Jean-Philippe Lang b071a937b3 List custom fields fielters: multiple select filter wider (#15073).
Patch by Jérôme Bataille.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12215 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-13 08:42:32 +00:00
Jean-Philippe Lang 176ce78574 Fixed that the mail method should return a Mail::Message (#15113).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12210 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-13 07:58:33 +00:00
Jean-Philippe Lang c6c0491ad8 Migrate settings according to r12208 (#7590).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12209 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-13 07:39:20 +00:00
Jean-Philippe Lang b6cb7aa8e3 Ability to define commit keywords per tracker (#7590).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12208 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-13 07:37:49 +00:00
Toshi MARUYAMA b8aa4da28a remove unneeded "require 'diff'" from WikiController (#15105)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12207 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-11 17:37:51 +00:00
Toshi MARUYAMA 461342dd2e add missing "require 'diff'" to Redmine::Helpers::Diff (#15105)
Contributed by Felix Bünemann.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12206 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-11 17:37:38 +00:00
Toshi MARUYAMA e7bc6364e1 add unit test of Redmine::Helpers::Diff (#15105)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12205 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-11 17:37:25 +00:00
Toshi MARUYAMA 53d749eb79 remove trailing white space from test/unit/wiki_content_test.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12204 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-10 03:56:54 +00:00
Toshi MARUYAMA a9892b5f0e fix typo in the Dutch "label_user_mail_option_all" translation (#15075)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12203 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-09 18:19:38 +00:00
Jean-Philippe Lang cfc65d9397 NoMethodError when uploading a file without logger (#14977).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12202 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-05 11:37:57 +00:00
Jean-Philippe Lang 1b63553dd4 Rows may not be oredered as expected with ruby1.8 (#4911).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12201 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-05 10:58:33 +00:00
Jean-Philippe Lang 3f566d6042 Hide issue custom fields when disabling issue tracking on new project.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12200 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-05 10:45:43 +00:00
Jean-Philippe Lang 7b1b605ae8 Don't update issues nor log time when importing old changesets (#4823).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12199 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-05 10:33:03 +00:00
Jean-Philippe Lang 0444ecca3c Pass the commit keyword used to update the issue to the plugin hook.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12198 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-05 10:02:31 +00:00
Jean-Philippe Lang a77b462a53 Support for multiple issue update keywords/rules in commit messages (#4911).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12197 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-05 09:41:11 +00:00
Toshi MARUYAMA b59d109680 German translation updated by Daniel Felix (#15028)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12196 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-02 13:31:19 +00:00
Toshi MARUYAMA 6ed3730c46 remove trailing white-spaces from config/locales/it.yml
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12195 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-02 08:34:23 +00:00
Toshi MARUYAMA 0c0b2f817f Traditional Chinese translation updated by ChunChang Lo (#15022)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12194 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-10-02 04:44:46 +00:00
Jean-Philippe Lang f399b31eff Test broken by r12192 (#2199).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12193 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 22:17:27 +00:00
Jean-Philippe Lang e35640f3e8 Allows user to clear dates and text fields when bulk editing issues (#2199).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12192 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 19:27:00 +00:00
Toshi MARUYAMA 285baaff94 Japanese translation updated by Go MAEDA (#15011)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12190 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 11:26:50 +00:00
Toshi MARUYAMA 38e8703ed4 pdf: fix empty page attached when exporting (#13632)
Contributed by Jun NAITOH.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12189 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 10:16:16 +00:00
Toshi MARUYAMA d8ddb2cee4 remove trailing white-spaces from app/models/custom_field.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12188 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 09:53:57 +00:00
Toshi MARUYAMA 31ccc32016 Slovak translation updated and changed by Katarína Nosková (#14901)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12187 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 08:34:54 +00:00
Toshi MARUYAMA 77c497daa0 Italian translation changed by Alberto Cennini (#14981)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12186 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 07:14:39 +00:00
Toshi MARUYAMA cbe75f3b9f remove trailing white-spaces from config/locales/ru.yml
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12185 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 06:54:57 +00:00
Toshi MARUYAMA 9b00bba5b5 Russian numeric translation changed by Sergei Danilov (#14920)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12184 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 06:54:46 +00:00
Toshi MARUYAMA 166d67bf87 Dutch translation updated by Pieter Nicolai (#14896)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12182 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 05:34:57 +00:00
Toshi MARUYAMA c72baca17c Dutch activerecord.errors.messages.too_long/too_short translation updated by Pieter Nicolai (#14896)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12181 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 05:34:46 +00:00
Toshi MARUYAMA b6f2b982ab Norwegian translation updated by Lennart Nordgreen (#14886)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12180 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 05:07:34 +00:00
Toshi MARUYAMA 13f6cd6b71 revert r12175 (#14883)
revert jdbc adapter version to above 1.2.6
due to test failure by "stack level too deep".

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12179 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 03:25:06 +00:00
Toshi MARUYAMA 7c2f62c798 Japanese "notice_not_authorized" translation changed (#14995)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12177 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 02:37:31 +00:00
Toshi MARUYAMA 3e90b6bcbf Bulgarian translation updated by Ivan Cenov (#15007)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12176 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 02:37:20 +00:00
Toshi MARUYAMA 5259da5e80 Gemfile: update jdbc adapter version above 1.3.0 (#14883)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12175 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 02:01:25 +00:00
Toshi MARUYAMA 3bc1dd573a Gemfile: update ruby-openid version above 2.3.0 (#14919)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12173 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-30 00:18:26 +00:00
Toshi MARUYAMA c136e6bc60 Gemfile: update jdbc adapter version above 1.2.6 (#14883)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12172 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-29 23:52:00 +00:00
Jean-Philippe Lang a1addba26c Adds some css classes (#14767).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12171 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-29 15:39:56 +00:00
Jean-Philippe Lang 481a1311b7 Adds a project specific css class to body (#14767).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12170 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-29 15:34:25 +00:00
Jean-Philippe Lang 2012e635b0 Removed unused code (#14621).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12169 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-29 15:27:31 +00:00
Jean-Philippe Lang 30eaf86f29 Filling locales (#3413).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12168 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-29 11:51:32 +00:00
Jean-Philippe Lang cfc05d310e Exclude attachments from incoming emails based on file name (#3413).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12167 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-29 11:50:49 +00:00
Jean-Philippe Lang 2c97f9ecde AJAX call on the issue form resets data entered during the call (#14621).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12166 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-29 10:29:29 +00:00
Jean-Philippe Lang 886284b33f REST API: custom fields definition (#11159).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12165 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-29 10:08:30 +00:00
Jean-Philippe Lang 4a36e09d49 migrate_from_trac.rake does not properly parse First Name and Last Name (#14592).
Patch by Craig Rodrigues.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12164 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-25 17:49:58 +00:00
Jean-Philippe Lang 5e2eedf2c5 Fixed that Mantis/Trac users are not imported because of password too short (#14590).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12163 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-25 17:47:29 +00:00
Jean-Philippe Lang 62b66e9b38 Prevents invalid SQL with invalid group_ids (#14902).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12162 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-25 17:35:59 +00:00
Jean-Philippe Lang 3ace406bba French translation for underscore (#14972).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12161 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-25 17:17:55 +00:00
Toshi MARUYAMA 11ae71c5b9 remove trailing white-space from test/functional/repositories_bazaar_controller_test.rb (#14931)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12157 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-18 14:37:25 +00:00
Toshi MARUYAMA 5aa8358f97 scm: fix annotate error with non ASCII author on Ruby 1.9 and Ruby 2.0 (#14931)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12156 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-18 14:22:44 +00:00
Toshi MARUYAMA 120689e7cb scm: bazaar: update test repository for non ASCII author (#14931)
* run "bzr branch --no-tree branch00 author_non_ascii"
* add revision to this branch

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12155 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-18 14:22:32 +00:00
Toshi MARUYAMA bf0676e17a scm: git: fix indents of non ASCII path annotate test (#14931)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12153 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-18 13:23:09 +00:00
Toshi MARUYAMA 9c9b5e471c use assert_select instead of assert_tag in Git non ASCII path annotate test (#14931)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12150 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-18 10:36:38 +00:00
Toshi MARUYAMA d604725b40 scm: remove unnecessary h() from annotate author (#14931)
Rails3 escapes by default.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12149 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-18 10:13:28 +00:00
Toshi MARUYAMA 8b794b5e83 scm: bazaar: add test for author html escaping (#14931)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12148 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-18 10:13:16 +00:00
Toshi MARUYAMA ef87b1cee4 scm: bazaar: update test repository for author html escaping (#14931)
* run "bzr branch --no-tree branch00 author_escaping"
* add revision to this branch

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12147 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-18 10:13:05 +00:00
Toshi MARUYAMA 23c56501de scm: bazaar: split REPOSITORY_PATH to trunk in functional test (#14931)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12146 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-18 10:12:53 +00:00
Toshi MARUYAMA 9002477006 scm: git: use "--encoding=UTF-8" for blame (#14931)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12143 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-18 06:16:55 +00:00
Toshi MARUYAMA da87e4b1ef scm: git: change non ASCII user name variable to instance variable (#14931)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12142 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-18 06:16:43 +00:00
Toshi MARUYAMA eaf05a87b4 use assert_select instead of assert_tag in Bazaar annotate test (#14931)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12141 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-18 05:44:41 +00:00
Toshi MARUYAMA 72e48e6a68 use assert_select instead of assert_tag in Mercurial annotate test (#14931)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12140 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-18 05:01:35 +00:00
Toshi MARUYAMA 435df86757 fix test failure (#14931)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12139 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-18 04:19:27 +00:00
Toshi MARUYAMA 12e1499b06 code format cleanup app/views/repositories/annotate.html.erb (#14931)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12138 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-18 03:36:49 +00:00
Jean-Philippe Lang 4db3e0be80 Updates for 2.3.3
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12135 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-14 06:46:40 +00:00
Jean-Philippe Lang 59b935aa46 Filters show issues with unused custom fields (#13537).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12133 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-13 17:41:54 +00:00
Jean-Philippe Lang ae7304dd00 Test for #14798.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12132 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-11 22:00:40 +00:00
Jean-Philippe Lang cb747a34ef Wrong done_ratio calculation for parent with subtask having estimated_hours=0 ().
Patch by Daniel Felix.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12131 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-11 22:00:18 +00:00
Jean-Philippe Lang e7931941a7 Typo (#14819).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12130 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-11 21:34:27 +00:00
Jean-Philippe Lang 9149425750 Remove EOLs from attachments filename (#14819).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12129 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-11 21:31:59 +00:00
Jean-Philippe Lang 02fca76c13 Strip eols from file names (#14819).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12128 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-11 19:19:24 +00:00
Jean-Philippe Lang 06efcaddfa Fixed usage of #attribute_present? in UserPreference (#13008).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12126 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-10 17:39:49 +00:00
Toshi MARUYAMA 15ab64488a remove trailing white-space from app/models/journal.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12121 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-05 11:14:30 +00:00
Toshi MARUYAMA 0fc21282d5 fix Russian "description_date_range_interval" translation misprint (#14501)
Contributed by Artem Kondratyev.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12120 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-09-05 10:43:30 +00:00
Toshi MARUYAMA 4212654b64 fix wrong Russian translation in close project message (#14697)
Contributed by Artur Gadelshin.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12118 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-15 13:54:13 +00:00
Toshi MARUYAMA 81ad6501ef Portuguese translation for trunk updated by Lije Also (#14682)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12116 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-14 05:43:02 +00:00
Toshi MARUYAMA 1f196787c8 Portuguese translation for 2.3-stable updated by Lije Also (#14682, #14686)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12115 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-14 05:42:49 +00:00
Toshi MARUYAMA 4a2f9685bb Traditional Chinese translation for wiki_syntax.html by ChunChang Lo (#14684)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12114 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-14 03:51:02 +00:00
Toshi MARUYAMA 69714f4a07 use escaping html in wiki_syntax.html
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12113 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-13 10:52:53 +00:00
Toshi MARUYAMA b188a05713 fix icon image paths of en-GB wiki syntax help (#14630)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12112 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-13 09:48:14 +00:00
Toshi MARUYAMA e574aad6d7 Traditional Chinese translation for wiki_syntax by ChunChang Lo (#14677)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12111 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-13 09:09:51 +00:00
Toshi MARUYAMA bda60769ea Japanese wiki_syntax_detailed.html translation updated by Go MAEDA (#14676)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12110 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-13 09:09:39 +00:00
Toshi MARUYAMA e4fc36fa1b French wiki_syntax.html and wiki_syntax_detailed.html updated by Thomas Godard (#14670)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12109 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-13 02:18:30 +00:00
Toshi MARUYAMA a3c30bf234 remove svn:executable from lib/plugins/rfpdf excluding lib/fonts/ttf2ufm/ttf2ufm(.exe)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12108 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-10 09:52:40 +00:00
Toshi MARUYAMA 98ac4c0baf remove unused lib/plugins/rfpdf/lib/fpdf/fpdf_eps.rb
This source has broken syntax "when :" on Ruby 1.9.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12107 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-10 09:37:10 +00:00
Toshi MARUYAMA 556cbad5c0 Japanese wiki_syntax.html translation updated by Go MAEDA (#14659)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12106 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-10 09:36:59 +00:00
Toshi MARUYAMA d769b8080d German translation for member inheritance changed by Daniel Felix (#14657)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12105 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-10 08:42:36 +00:00
Toshi MARUYAMA 816a6e4b1f Bulgarian translation updated by Ivan Cenov (#14651)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12104 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-09 08:11:05 +00:00
Toshi MARUYAMA 2aa4f77fb0 German wiki_syntax.html translation updated by Daniel Felix (#14649)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12103 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-09 02:19:22 +00:00
Toshi MARUYAMA b5b0d7396b German translation updated by Daniel Felix (#14647)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12102 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-09 01:47:59 +00:00
Toshi MARUYAMA bdf6bd3355 Spanish translation updated by Thomas Godard (#14645)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12101 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-09 01:47:48 +00:00
Toshi MARUYAMA 8254cd2381 fix icon image paths of wiki syntax help (#14630)
Contributed by Go MAEDA.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12100 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-09 00:52:09 +00:00
Toshi MARUYAMA adebdc835f code format cleanup app/views/projects/settings/_members.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12099 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-09 00:42:24 +00:00
Toshi MARUYAMA 3acefa8923 remove unneeded h() from app/views/projects/settings/_members.html.erb
Rails3 escapes by default.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12098 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-09 00:42:12 +00:00
Toshi MARUYAMA 4a11737d1c change member save button from :button_change to :button_save (#13745)
Contributed by Daniel Felix.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12097 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-09 00:09:06 +00:00
Toshi MARUYAMA 0be69b8b04 copy English wiki syntax helps to other languages (#14630)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12096 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-08 03:49:00 +00:00
Toshi MARUYAMA 43da3859bc revert r12094 (#14630)
r12094 lost "svn copy".

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12095 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-08 03:46:39 +00:00
Toshi MARUYAMA e4c13efed7 copy English wiki syntax helps to other languages (#14630)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12094 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-08 03:38:50 +00:00
Toshi MARUYAMA 7394aeaa32 move English wiki syntax helps to en sub directory (#14630)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12093 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-08 03:38:21 +00:00
Toshi MARUYAMA 9fc4efcdd9 remove trailing white-spaces from public/help/wiki_syntax_detailed.html
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12092 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-08 03:38:09 +00:00
Toshi MARUYAMA 62bbd52452 Japanese translation updated by Go MAEDA (#14631)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12091 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-07 23:48:15 +00:00
Toshi MARUYAMA c93dd877e9 code format cleanup app/views/projects/index.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12090 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-07 23:48:03 +00:00
Toshi MARUYAMA e05f54819b Traditional Chinese translation updated by ChunChang Lo (#14625)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12089 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-07 07:18:52 +00:00
Toshi MARUYAMA 33ef601b12 gender neutral source comment at app/controllers/my_controller.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12088 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-06 06:27:30 +00:00
Toshi MARUYAMA ae2b47afd6 code format cleanup app/models/issue.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12087 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-06 06:27:16 +00:00
Jean-Philippe Lang 85d4ac372a Submit handler should be live as well (#14615).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12086 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-05 18:32:18 +00:00
Jean-Philippe Lang 936ef250b4 Add hooks for user preferences (#14614).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12085 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-05 18:29:29 +00:00
Jean-Philippe Lang cb90cdcc15 Warn me when leaving a page with unsaved text doesn't work when editing an update note (#14615).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12084 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-05 18:12:34 +00:00
Jean-Philippe Lang fbffe332e2 Removed hardcoded string (#3872).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12083 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-05 18:04:20 +00:00
Jean-Philippe Lang fa51c8601d Adds field_must_change_passwd string to locales (#3872).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12082 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-05 18:00:42 +00:00
Jean-Philippe Lang b764e39847 Option to force a user to change his password (#3872).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12081 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-05 17:58:33 +00:00
Jean-Philippe Lang bd4fba08e5 One click filter in search view (#2865).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12080 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-05 17:19:49 +00:00
Jean-Philippe Lang fd1b060705 Fixed that standard fields disabled still appear in email notifications (#14584).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12079 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-05 17:08:26 +00:00
Jean-Philippe Lang b19b902345 Moved CUSTOM_FIELDS_TABS out of the model.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12077 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-04 10:26:54 +00:00
Jean-Philippe Lang b900ea8e2f Default data loader raises an error when called from the rake task (#14607).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12076 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-04 10:18:46 +00:00
Toshi MARUYAMA e13814a59c remove trailing white-spaces from ApplicationHelper
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12075 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-03 13:23:32 +00:00
Toshi MARUYAMA 60fa32d51a replace tab to space at ApplicationHelper
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12074 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-03 13:23:21 +00:00
Toshi MARUYAMA 7711e37da4 remove ineffective "logger.info" and "logger.error" check from MailHandler model (#14598)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12073 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-03 10:46:53 +00:00
Toshi MARUYAMA f5658df8db add example on how to run a single test to documentation (#14588)
Contributed by Mischa The Evil.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12072 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-08-01 03:31:54 +00:00
Toshi MARUYAMA c49451eb10 not use assert_not_nil in Errors#[]
r7593 etc. replaced Rails2 Errors#on.
Rails3 Errors#[] always return array.
So, Rails3 Errors#[] is always not nil.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12070 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-30 08:23:54 +00:00
Toshi MARUYAMA c20b1d64a7 add missing fixture to test/unit/issue_relation_test.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12069 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-30 08:23:42 +00:00
Jean-Philippe Lang 3df08b02b4 Broken tests (#14491).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12068 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-29 19:08:01 +00:00
Jean-Philippe Lang 1502da5726 Use the default project when receiving an email with an invalid project keyword (#14491).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12067 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-29 16:37:45 +00:00
Jean-Philippe Lang 27c3299f32 Fixed that open/closed counts on issues summary are not displayed with SQLServer (#14369).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12060 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-28 16:38:09 +00:00
Jean-Philippe Lang df7e56b13c Autocomplete fields rendering issue with alternate theme (#14340).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12059 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-28 15:36:52 +00:00
Jean-Philippe Lang 4a70a319c5 Filtering issues on "related to" may ignore other filters (#14401).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12058 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-28 15:29:31 +00:00
Jean-Philippe Lang 76e48c3914 Spent time details and report should ignore 'Setting.display_subprojects_issues?' (#14415).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12057 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-28 15:16:14 +00:00
Jean-Philippe Lang 474453d2b0 Additional status transitions for assignees do not work if assigned to a group (#14447).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12056 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-28 14:58:06 +00:00
Jean-Philippe Lang 9a0db9cb88 Fixed: warning: class variable access from toplevel on Ruby 2.0 (#14511).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12052 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-28 11:57:39 +00:00
Jean-Philippe Lang 642a892c05 Missing Sort Column Label and Center Align on Admin-Enumerations (#14516).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12051 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-28 11:53:28 +00:00
Jean-Philippe Lang f3241385cd Adds missing html titles (#14517).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12050 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-28 11:50:18 +00:00
Jean-Philippe Lang 1e738fbaca Set titles on Groups pages (#14517)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12049 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-28 11:23:22 +00:00
Jean-Philippe Lang 2f9050115b Adds a helper for building h2 tags and setting html_title (#14517).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12048 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-28 11:21:58 +00:00
Toshi MARUYAMA 3700378764 svn propset svn:eol-style native test fixtures (#14562)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12047 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-28 11:02:55 +00:00
Toshi MARUYAMA 670d2b6e2b fix diff of CJK(Chinese/Japanese/Korean) is broken on Ruby 1.8 (#14562)
Contributed by Jun NAITOH.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12046 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-28 11:00:02 +00:00
Jean-Philippe Lang 0ac3afebc6 Don't use finder options.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12045 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-28 10:15:53 +00:00
Jean-Philippe Lang ef8dd0f64b Preload some associations.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12044 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-28 10:13:48 +00:00
Jean-Philippe Lang 21fc903c04 Fixed that sorting time entries by custom field raises a SQL error (#14366).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12042 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-28 09:59:34 +00:00
Jean-Philippe Lang dc5e5eca6b Fixed that displaying time entries with custom field column raises an error (#5037).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12041 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-24 18:18:08 +00:00
Toshi MARUYAMA 4069f95fd1 Spanish translations for trunk updated by Jorge López (#14521)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12039 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-24 09:52:38 +00:00
Toshi MARUYAMA 26c30a04ba Spanish translations for 2.3.x updated by Jorge López (#14531, #14521)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12038 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-24 09:52:27 +00:00
Toshi MARUYAMA 053c15df8a Russian translation for trunk updated by Alex Stein (#14501)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12035 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-19 16:06:24 +00:00
Toshi MARUYAMA b6e6fb1fac Russian translation for 2.3-stable updated by Alex Stein (#14502, #14501)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12034 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-19 16:06:13 +00:00
Toshi MARUYAMA a43eb91f45 update ruby-openid version to 2.2.3
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12033 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-19 15:21:14 +00:00
Toshi MARUYAMA 76ab4710a8 Bulgarian translation updated by Ivan Cenov (#14473)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12031 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-18 08:32:46 +00:00
Toshi MARUYAMA b6dd64aac1 Japanese translation updated by Go MAEDA (#14478)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12030 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-18 08:32:34 +00:00
Toshi MARUYAMA 7bb6dabf23 Traditional Chinese translation for trunk updated by ChunChang Lo (#14458)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12029 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-18 08:32:23 +00:00
Toshi MARUYAMA 3c4f47acc9 Traditional Chinese translation for 2.3-stable updated by ChunChang Lo (#14485, #14458)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12028 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-18 08:32:11 +00:00
Jean-Philippe Lang 01a9e17c49 CVS root_url not recognized when connection string does not include port (#14422).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12027 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-15 21:06:54 +00:00
Jean-Philippe Lang 9ca8b20d55 Don't hardcode news model in Comment.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12026 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-15 20:53:23 +00:00
Jean-Philippe Lang 0e3dfa8de4 Updates for 2.3.2 release.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12024 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-14 14:51:01 +00:00
Jean-Philippe Lang 085417bdbb Additional tests for AccountController.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12022 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-14 14:39:31 +00:00
Jean-Philippe Lang 205eda8b33 Use AR callbacks instead of observers (removed in Rails4) for notifications.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12021 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-14 14:26:27 +00:00
Jean-Philippe Lang 010bfc56e1 Ability to save Gantt query filters (#7836).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12020 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-14 13:41:30 +00:00
Jean-Philippe Lang 3c9263221d Test failures with ruby1.8.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12019 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-13 21:35:33 +00:00
Jean-Philippe Lang 13bf8dc8bf ruby1.8 compatibility.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12018 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-13 12:15:24 +00:00
Jean-Philippe Lang 01f259be0d Adds a test for CvsAdapter#root_url_path (#14422).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12017 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-13 11:03:37 +00:00
Jean-Philippe Lang 594589e0ec Use Hash#reject that returns a Hash with ruby1.8 when Hash#select that returns an Array.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12016 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-13 10:39:36 +00:00
Jean-Philippe Lang 0087d237f7 Don't notify users about relations that are not visible (#1005).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12015 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-13 10:32:48 +00:00
Jean-Philippe Lang 7509dda1ff Fixed that relations to issues that are not visible are displayed in the issue history (#1005).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12014 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-13 09:56:58 +00:00
Jean-Philippe Lang 5fbc7f8f1f Fills locales with new strings.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12013 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-13 09:21:58 +00:00
Jean-Philippe Lang 628d05629b Role-based issue custom field visibility (#5037).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12012 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-13 09:20:11 +00:00
Jean-Philippe Lang a74d55edd9 Removed dead code.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12011 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-13 08:13:34 +00:00
Jean-Philippe Lang 8ff33ac9f7 Log email delivery errors (#14403).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12010 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-13 08:11:20 +00:00
Jean-Philippe Lang 6ecd90e7ff Exception message may not be UTF-8 encoded.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12009 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-12 20:16:59 +00:00
Jean-Philippe Lang 0a4d2affd8 Fixed one query per member on project settings.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12008 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-11 19:57:15 +00:00
Jean-Philippe Lang 9cb68f7b29 One query is enough.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12007 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-11 19:41:48 +00:00
Jean-Philippe Lang 80b1a73ccf Adds 'assigned-to-my-group' css class to issues that are assigned to a user's group (#12681).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12006 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-11 19:35:40 +00:00
Jean-Philippe Lang f3d1aa5359 Issue-notes Redmine links: append actual note reference to rendered links (#12912).
Patch by YOSHITANI Mitsuhiro.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12005 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-11 19:18:37 +00:00
Jean-Philippe Lang f5768cc99b Useless "edit" link in workflow menu (#12824).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12004 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-11 19:12:08 +00:00
Jean-Philippe Lang bc4785ca60 Add more info about the ruby version (#14419).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@12003 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-11 18:45:43 +00:00
Jean-Philippe Lang 888c3581eb Role based custom queries (#1019).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11994 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-11 17:45:10 +00:00
Toshi MARUYAMA 4545b906b4 gender neutral source comment at test/unit/journal_test.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11993 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-06 01:02:44 +00:00
Toshi MARUYAMA b38de1f5e2 gender neutral source comment at test/unit/issue_test.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11992 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-06 01:02:33 +00:00
Toshi MARUYAMA 7ee06dfe08 gender neutral source comment at test/integration/account_test.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11991 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-06 01:02:21 +00:00
Toshi MARUYAMA c5ca4e2622 gender neutral source comment at lib/tasks/migrate_from_trac.rake
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11990 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-06 01:02:10 +00:00
Toshi MARUYAMA edb6e245cf gender neutral source comment at app/models/user.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11989 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-06 00:04:58 +00:00
Toshi MARUYAMA e1ca4a8663 gender neutral source comment at app/models/mailer.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11988 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-06 00:04:47 +00:00
Toshi MARUYAMA b1b721ff6d gender neutral source comment at app/controllers/projects_controller.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11987 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-06 00:04:35 +00:00
Toshi MARUYAMA de6ff11164 remove trailing white-space from test/unit/issue_test.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11986 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-05 22:50:48 +00:00
Toshi MARUYAMA 6db84ab0c1 remove trailing white-space from test/integration/account_test.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11985 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-07-05 22:50:29 +00:00
Toshi MARUYAMA bc18590da3 Slovene translation changed by Zdravko Balorda (#14360)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11983 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-26 11:42:40 +00:00
Toshi MARUYAMA e4e1c7a0f2 fix Latvian "button_log_time" translation by Arnis Juraga (#14346)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11982 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-26 10:29:45 +00:00
Toshi MARUYAMA 7dfc6545ff replace "email.yml" to "configuration.yml" in pl.yml (#9996)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11980 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-15 11:49:22 +00:00
Toshi MARUYAMA 9bf4288af9 not run Capybara tests on the CI server (#12822)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11979 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-14 14:39:48 +00:00
Toshi MARUYAMA 56f9354998 prevent UI test failure randomly
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11978 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-14 14:06:04 +00:00
Toshi MARUYAMA 484a3ffc8a increase Capybara.default_wait_time from 12 to 20 (#12822)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11977 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-14 12:42:03 +00:00
Toshi MARUYAMA c17347b7f7 increase Capybara.default_wait_time from 7 to 12 (#12822)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11976 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-14 10:50:59 +00:00
Toshi MARUYAMA 9b549fdfe9 shorten comment lines at test/ui/base.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11975 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-14 10:50:48 +00:00
Toshi MARUYAMA 17378152bf use database_cleaner (#12822)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11974 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-14 09:59:21 +00:00
Toshi MARUYAMA b29288c50a prevent UI test failure randomly
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11973 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-14 08:30:53 +00:00
Toshi MARUYAMA 784440691c increase Capybara.default_wait_time from 6 to 7 (#12822)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11972 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-14 07:31:11 +00:00
Toshi MARUYAMA 6da348c3e6 prevent UI test failure randomly
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11971 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-14 07:31:00 +00:00
Toshi MARUYAMA 6ccb68bd46 prevent UI test failure randomly
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11970 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-14 05:14:29 +00:00
Toshi MARUYAMA eeb290d650 German translation updated by Daniel Felix (#14277)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11969 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-14 04:42:58 +00:00
Toshi MARUYAMA 0396c99945 increase Capybara.default_wait_time from 5 to 6 (#12822)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11968 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-14 04:24:02 +00:00
Jean-Philippe Lang 2f53246c13 Code cleanup.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11967 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-13 19:31:43 +00:00
Jean-Philippe Lang 07d88851bf Fixed tests broken by r11965.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11966 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-12 21:55:39 +00:00
Jean-Philippe Lang e978b3ace0 Adds User#builtin_role.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11965 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-12 19:38:43 +00:00
Jean-Philippe Lang cd716e311a Preload boards projects.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11964 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-12 19:34:23 +00:00
Jean-Philippe Lang f9ddb562d5 Cleanup of finders with :conditions option.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11963 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-12 19:13:25 +00:00
Jean-Philippe Lang 136cdc765a Don't redirect XHR requests to /login.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11962 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-12 16:49:12 +00:00
Jean-Philippe Lang 60d2a5e322 Use #find_issues as before filter for issues context menu.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11961 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-11 18:33:06 +00:00
Jean-Philippe Lang 7371077fa2 Code cleanup.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11960 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-11 18:29:29 +00:00
Jean-Philippe Lang e0c7eb25a4 Adds Watcher.any_watched? to check if at least one object of a collection is watched.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11959 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-11 18:25:05 +00:00
Jean-Philippe Lang 2113b88db3 Code cleanup.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11958 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-11 18:18:02 +00:00
Jean-Philippe Lang 3e9aeea75d Perf: preload a few associations for bulk operations.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11957 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-11 17:24:17 +00:00
Jean-Philippe Lang 32464f4912 Perf: don't load all projects.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11956 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-11 16:54:48 +00:00
Toshi MARUYAMA 0ba6ece2fd Bulgarian translation updated by Ivan Cenov (#14252)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11955 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-11 07:58:01 +00:00
Toshi MARUYAMA cb140248ea remove trailing white-space from app/models/user.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11954 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-10 08:48:49 +00:00
Toshi MARUYAMA ebb73fa258 set html lang by user locale (#14206)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11952 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-10 01:41:30 +00:00
Toshi MARUYAMA 5a7f656303 run test:ui on CI Server Ruby 1.9.3 or higher (#12822)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11951 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-10 00:51:37 +00:00
Jean-Philippe Lang 2d02a2692a Resets strings that don't mention that an email was sent for activating the account.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11950 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-09 10:28:03 +00:00
Jean-Philippe Lang 52af9a1766 Adds the email address to the flash message after registeration.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11949 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-09 10:23:31 +00:00
Jean-Philippe Lang 86cfa025ed Adds a test for User.try_to_login with active_only set to false.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11948 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-09 10:12:02 +00:00
Jean-Philippe Lang f64dc99f8a Adds i18n strings (#14228).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11947 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-09 10:06:00 +00:00
Jean-Philippe Lang 4bd874ab46 Adds a way for a registered user to get a new action email (#14228).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11946 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-09 10:01:56 +00:00
Toshi MARUYAMA ec46d4315c svn propset svn:eol-style native CONTRIBUTING.md
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11944 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-08 10:11:47 +00:00
Toshi MARUYAMA 597b2ad2ea add CONTRIBUTING.md for github pull request
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11943 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-08 10:09:02 +00:00
Toshi MARUYAMA a0423f4eb1 fix that project auto generation fails when projects created in the same time (#14242)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11942 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-08 09:50:34 +00:00
Jean-Philippe Lang 2a00c33a61 Splits tests (#1005).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11941 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-06 16:25:51 +00:00
Jean-Philippe Lang d90f46a5da Prepends issue numbers with a number sign (#1005).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11940 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-06 16:22:18 +00:00
Jean-Philippe Lang 019f57e5c7 Fixed that journal details about issue relations may disclose issues that are not visible (#1005).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11939 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-06 16:19:53 +00:00
Toshi MARUYAMA 60a8230209 fix three png transparency (#14223)
Contributed by W Snyder.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11938 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-06 08:22:01 +00:00
Toshi MARUYAMA 346bbcb80a German translation: grammar + spelling (#14222)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11937 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-06 06:47:20 +00:00
Toshi MARUYAMA bbd0cb269d remove redundant empty lines from PluginTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11936 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-06 06:47:10 +00:00
Toshi MARUYAMA 9aad7c3907 Japanese translation updated by Go MAEDA (#14224)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11934 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-06 05:39:29 +00:00
Toshi MARUYAMA 442532e316 remove trailing white-spaces from lib/redmine/plugin.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11933 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-06 05:09:46 +00:00
Toshi MARUYAMA 6ab02e535f translate x_hours in many languages (#14221)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11932 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-06 05:09:35 +00:00
Jean-Philippe Lang 8cea7d8cf2 Don't validate start date when updating an issue without changing it (#14086).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11931 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-05 19:56:59 +00:00
Toshi MARUYAMA 6327bdc6f8 Bulgarian translation updated by Ivan Cenov (#14209)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11930 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-05 04:37:12 +00:00
Jean-Philippe Lang 4c2776c634 Really adjusts error message in tests (#14086).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11928 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-04 17:41:58 +00:00
Jean-Philippe Lang b0c7884976 Adjusts error message in tests (#14086).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11927 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-04 17:32:13 +00:00
Jean-Philippe Lang 46085644ed Adds a specific error message for when the start date is too earlier than the minimum start date (#14086).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11926 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-04 17:17:48 +00:00
Toshi MARUYAMA 01411ab567 prevent coderay "warning: already initialized constant" on Ruby 1.8.7 (#13692)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11925 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-04 14:07:46 +00:00
Toshi MARUYAMA 7e4d0209bb increase Capybara.default_wait_time from 4 to 5 (#12822)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11923 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-04 11:57:49 +00:00
Toshi MARUYAMA 1fd7540b85 pdf: replace "id_width" parameter name to original "col_id_width" (#14178)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11921 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-04 11:02:45 +00:00
Toshi MARUYAMA 7bc0c26198 pdf: restore "id_width" parameter of issues_to_pdf_draw_borders (#14178)
Contributed by Massimo Rossello.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11920 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-04 10:54:55 +00:00
Toshi MARUYAMA f41d917141 Italian translation for 2.3-stable by Riccardo Rocca (#14196)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11919 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-04 10:29:18 +00:00
Jean-Philippe Lang 29c3b34641 Adds SCM versions in script/about output.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11918 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-01 16:32:29 +00:00
Jean-Philippe Lang e27deb1ece Query#add_custom_fields_filters now takes a custom fields scope.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11917 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-01 10:56:12 +00:00
Jean-Philippe Lang bf76b3b286 Project#all_issue_custom_fields now returns a scope.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11916 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-06-01 10:26:17 +00:00
Jean-Philippe Lang 5a90b6d0b5 Fixed that project name is not properly escaped in issue filters (#14186).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11915 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-31 20:47:38 +00:00
Toshi MARUYAMA bc75b15546 use English "Tag" and "Branch" in pt-BR locale (#14180)
patch by Marcela Oliveira.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11913 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-31 10:20:08 +00:00
Toshi MARUYAMA 2ca2634138 pt-BR translation improved by Marcela Oliveira (#14180)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11912 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-31 10:19:57 +00:00
Toshi MARUYAMA 0163ef8bfb pt-BR translation for 2.3-stable updated by Marcela Oliveira (#14182, #14180)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11911 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-31 09:51:05 +00:00
Toshi MARUYAMA 57c347d8f8 back out r11907 (#14151)
German "x_days" translation changed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11910 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-30 12:04:38 +00:00
Toshi MARUYAMA a4394e877e add changeset comment in revision page title (#14138)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11909 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-30 08:05:44 +00:00
Toshi MARUYAMA d2192bba02 add test of revision page title (#14138)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11908 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-30 07:41:17 +00:00
Toshi MARUYAMA 71afcaf43b German "x_days" translation changed by Filou Centrinov (#14151)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11907 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-30 07:41:06 +00:00
Jean-Philippe Lang 73aadc4900 Use uid_ methods for retrieving IMAP messages (#14101).
Patch by Pierre Pretorius.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11906 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-28 18:41:14 +00:00
Jean-Philippe Lang 131dc3a8fc Disconnect and logout from IMAP after mail receive (#14103).
Patch by Pierre Pretorius.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11905 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-28 18:17:36 +00:00
Jean-Philippe Lang 69496179d4 Adds a button to duplicate a workflow permission to the next statuses.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11904 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-28 10:59:04 +00:00
Toshi MARUYAMA 4dbe2e7062 remove trailing white-space from app/models/mailer.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11902 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-25 05:35:13 +00:00
Toshi MARUYAMA 672331d7e4 German translation of x_hours updated by Filou Centrinov (#14145)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11901 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-25 04:31:51 +00:00
Toshi MARUYAMA 1e18c23095 use document.referrer instead of history.length (#13697)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11900 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-24 07:21:56 +00:00
Toshi MARUYAMA 54478d1e08 remove trailing white-space from app/views/repositories/_breadcrumbs.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11899 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-24 06:59:41 +00:00
Toshi MARUYAMA f085508121 gantt: sort versions by start date (#7335)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11898 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-21 13:42:34 +00:00
Toshi MARUYAMA 8ea4e79964 gantt: sort issues by start date (#7335)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11897 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-21 13:42:19 +00:00
Toshi MARUYAMA 596366b062 upgrade mocha 0.14 and remove deprecation warning
<pre>
Mocha deprecation warning: Change `require 'mocha'` to `require 'mocha/setup'`.
</pre>

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11896 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-21 12:57:11 +00:00
Toshi MARUYAMA f4637c38b4 fix yaml syntax and comment out (#14060)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11895 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-21 10:00:53 +00:00
Toshi MARUYAMA 9d62a564df remove unneeded escaping at app/views/journals/diff.html.erb
Rails3 escapes by default.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11894 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-21 07:11:36 +00:00
Toshi MARUYAMA 83d148242a fix back-button on description diff page in case of no browser history (#13697)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11893 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-21 07:11:25 +00:00
Toshi MARUYAMA 38f6c588ca code layout clean up test_bulk_copy_should_allow_not_changing_the_issue_attributes of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11892 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-19 04:03:31 +00:00
Toshi MARUYAMA 7def5b551d code layout clean up test_bulk_update_with_some_failures_should_show_errors of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11891 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-19 04:03:21 +00:00
Toshi MARUYAMA a968c1196e code layout clean up test_bulk_update_parent_id of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11890 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-19 04:03:11 +00:00
Toshi MARUYAMA e3d47acb0b code layout clean up test_bulk_edit_should_only_propose_statuses_allowed_for_all_issues of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11889 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-19 04:03:01 +00:00
Toshi MARUYAMA 098a38bb3a code layout clean up test_create_as_copy_should_add_relation_with_copied_issue of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11888 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-19 04:02:50 +00:00
Toshi MARUYAMA dbc7369d9d adjust functional IssuesControllerTest (#1005)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11887 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-19 03:40:22 +00:00
Toshi MARUYAMA b3a6555b30 remove "del" tag from deleted issue relation (#1005)
It is confused with deleted issue.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11886 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-19 02:09:49 +00:00
Toshi MARUYAMA 1f9e1ca318 add journal after creating/deleting issue relation (#1005)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11885 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-19 02:09:39 +00:00
Toshi MARUYAMA e5e73a56a7 svn:eol-style native datepicker.js (#14024)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11884 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-19 01:09:45 +00:00
Toshi MARUYAMA 0e20ec697b set default issue start/due datepicker from due/start date (#14024)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11883 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-19 01:06:25 +00:00
Toshi MARUYAMA cbb8b12ba4 increase Capybara.default_wait_time from 3 to 4 (#12822)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11882 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-19 01:06:14 +00:00
Toshi MARUYAMA eeeada0773 code layout clean up VersionTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11881 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-19 01:06:04 +00:00
Toshi MARUYAMA bbca694881 remove empty setup method from VersionTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11880 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-19 01:05:53 +00:00
Toshi MARUYAMA 160f6cd361 add test of current issue start and due date datepicker (#14024)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11879 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-19 00:27:39 +00:00
Toshi MARUYAMA 11b24ab64b replace non ASCII literal to hexadecimal at ApplicationHelperTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11878 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 23:06:53 +00:00
Toshi MARUYAMA 360bda7e68 include Redmine::I18n in ApplicationHelperTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11877 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 22:36:58 +00:00
Toshi MARUYAMA 0c6e2feeaa backout r11875 ApplicationHelperTest change
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11876 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 22:36:45 +00:00
Jean-Philippe Lang bd8b509986 Include Redmine::I18n in helpers tests.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11875 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 20:29:40 +00:00
Jean-Philippe Lang 2e67ffe769 Code cleanup.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11874 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 20:09:59 +00:00
Jean-Philippe Lang ed364c9114 Code cleanup.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11873 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 19:58:43 +00:00
Jean-Philippe Lang 1093454193 Adds markings to emails generated by private comments (#12888).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11869 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 17:24:23 +00:00
Toshi MARUYAMA de394f5f74 fix unit VersionTest failure
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11868 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 12:55:24 +00:00
Toshi MARUYAMA 23527da802 backout r11865 test/object_helpers.rb changes
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11867 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 12:07:43 +00:00
Jean-Philippe Lang 79c8fea12f Removed debug log (#14038).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11866 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 09:31:43 +00:00
Jean-Philippe Lang 61dfab12fd Removed some shoulda context.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11865 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 09:27:48 +00:00
Jean-Philippe Lang 474c010746 Removed some shoulda context.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11864 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 09:14:10 +00:00
Jean-Philippe Lang 8f7b69f77e Removed some shoulda context.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11863 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 08:57:27 +00:00
Jean-Philippe Lang 0d4bb7558f Removed some shoulda context.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11862 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 08:27:53 +00:00
Jean-Philippe Lang 5b29964512 User #where instead of :conditions.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11861 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 07:49:13 +00:00
Jean-Philippe Lang 2c67e9e0d7 Moved links to block titles on "My page".
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11860 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 07:47:34 +00:00
Jean-Philippe Lang 6b03c741ac Adds a link on "My Page" to view all my spent time (#13157).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11859 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 07:39:26 +00:00
Jean-Philippe Lang 45a9b9954a Highlighting of source link target line for annotate view (#13746).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11858 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 07:10:14 +00:00
Jean-Philippe Lang 6e35d2f0e9 Highlighting of source link target line (#13746).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11857 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-18 07:09:02 +00:00
Toshi MARUYAMA 997bfbe78f gantt: add test to sort issues by current logic (#7335)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11856 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-17 22:59:52 +00:00
Toshi MARUYAMA 6aa63659aa gantt: change sort method to class method (#7335)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11855 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-17 22:59:39 +00:00
Jean-Philippe Lang c90bf645f5 Fixed that submitting the form without selecting a value may raise raises an error with SQLServer (#13783).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11854 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-17 18:18:06 +00:00
Jean-Philippe Lang d678959359 Add links to attachments in new issue email notification (#12293).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11853 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-17 16:51:09 +00:00
Toshi MARUYAMA 8bbc6d251e increase Capybara.default_wait_time from default 2 to 3 (#12822)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11852 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-17 04:08:06 +00:00
Jean-Philippe Lang eab2c74e10 Use a shallow block instead of the :shallow option that ignores routes scope (#14023).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11851 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-16 16:57:53 +00:00
Jean-Philippe Lang 35ca873269 Fixed that filtering may return unwanted blank values (#14051).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11850 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-16 16:29:59 +00:00
Toshi MARUYAMA a4391db7cd enable configuration of OpenIdAuthentication.store (#14060)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11849 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-16 10:55:41 +00:00
Toshi MARUYAMA f2a609c358 move filter order tests from helper to model.
r11372 (#13154) moves filter order logic from helper to model.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11848 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-16 10:55:27 +00:00
Toshi MARUYAMA 559aa626cd increase base height of author lines on 'Commits per author' graph (#14068, #1983)
Contributed by Mischa The Evil.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11847 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-16 04:29:51 +00:00
Toshi MARUYAMA 5ef5b3202d remove width and height from repository stats embed tags (#1983, #13486)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11846 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-16 04:29:39 +00:00
Jean-Philippe Lang b3d80d50a3 Fixed that ordered/unordered lists inside table cell are mangled (#14038).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11845 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-14 16:29:59 +00:00
Toshi MARUYAMA 28ca9d240a run test:ui in CI Server on only Ruby 2.0 (#12822)
UI tests fails randomly on Ruby 1.9.3.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11844 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-13 23:16:02 +00:00
Jean-Philippe Lang ece5232110 Fixed that values of custom fields are not kept in issues when copying a project (#13910).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11843 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-13 19:52:37 +00:00
Jean-Philippe Lang 7e41730293 Display error messages when attachment validation fails (#13949).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11842 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-13 18:50:04 +00:00
Jean-Philippe Lang 288c3b863d Fixed that JS warning is not displayed when attachment maximum size is 0 (#13949).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11841 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-13 18:30:56 +00:00
Jean-Philippe Lang 4a59b869c0 Update notified_project_ids while saving record.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11840 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-13 17:11:38 +00:00
Jean-Philippe Lang 10ed306b19 Fixed that locking and unlocking a user resets the email notification checkbox (#14020).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11839 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-13 16:38:08 +00:00
Jean-Philippe Lang 0dce4761a8 Disable autofetching of repository changesets if projects are closed (#13945).
Patch by Mischa The Evil.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11838 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-12 10:05:35 +00:00
Jean-Philippe Lang 9b7d312a0e Fix handling multiple text parts in email (#13646).
Patch by Alex Shulgin.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11834 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-12 09:38:20 +00:00
Jean-Philippe Lang 76a3298306 Issue#children is never nil (#14015).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11833 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-12 08:49:54 +00:00
Jean-Philippe Lang 922acdbcc2 Check inclusion only once (#14015).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11832 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-12 08:45:40 +00:00
Jean-Philippe Lang a7102db8c4 Replaces camelcase variable names (#14015).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11831 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-12 08:42:41 +00:00
Jean-Philippe Lang a2b6088772 Removes some empty lines (#14015).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11830 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-12 08:41:21 +00:00
Jean-Philippe Lang cf30a68312 Removes then's (#14015).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11829 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-12 08:39:18 +00:00
Jean-Philippe Lang 8c9bba1cbf Replaces camelcase variable names (#14015).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11828 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-12 08:37:54 +00:00
Jean-Philippe Lang 78dc37d8af Improved Issue#all_dependent_issues (#14015).
Patch by Jost Baron.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11827 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-12 08:33:21 +00:00
Jean-Baptiste Barth ef153a5bca Improve plugins' Gemfile loading (#14028).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11826 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-11 11:19:21 +00:00
Toshi MARUYAMA f9e6414de6 sync Lithuanian jQuery datepicker (#13674)
This is from following revision.
ce73a2688d

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11825 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-11 07:22:29 +00:00
Toshi MARUYAMA b49ea330d1 prevent failure of test_create_issue_with_watchers at UI IssuesTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11824 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-10 09:22:57 +00:00
Toshi MARUYAMA 8a87ff96f9 code layout clean up app/views/issues/_attributes.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11823 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-10 06:44:45 +00:00
Toshi MARUYAMA 72a46e53ed prevent failure of test_create_issue_with_watchers at UI IssuesTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11822 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-10 05:51:31 +00:00
Toshi MARUYAMA ed956ba5d4 use with_settings at test_post_create_without_start_date_and_default_start_date_is_creation_date of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11821 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-10 04:37:42 +00:00
Toshi MARUYAMA e1ba9012c6 use with_settings at test_post_create_without_start_date_and_default_start_date_is_not_creation_date of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11820 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-10 04:37:31 +00:00
Toshi MARUYAMA a3766c5281 use with_settings at test_get_new_with_default_start_date_is_creation_date of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11819 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-10 04:37:21 +00:00
Toshi MARUYAMA af2053fe13 use with_settings at test_get_new_without_default_start_date_is_creation_date of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11818 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-10 04:37:09 +00:00
Toshi MARUYAMA 68ef3aeaa8 remove redundant empty lines from test_show_by_manager of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11817 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-10 03:50:44 +00:00
Toshi MARUYAMA d65c0e8ed7 remove redundant empty lines from test_show_by_anonymous of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11816 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-10 03:50:33 +00:00
Toshi MARUYAMA 644455d56b remove redundant empty line from test_index_with_fixed_version_column of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11815 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-10 03:50:22 +00:00
Toshi MARUYAMA 4b5677101c remove redundant empty line from test_index_should_not_show_spent_hours_column_without_permission of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11814 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-10 03:50:11 +00:00
Toshi MARUYAMA 47235f7b23 remove redundant empty line from test_index_with_spent_hours_column of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11813 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-10 03:50:00 +00:00
Toshi MARUYAMA 2542afbc3b remove redundant empty lines from test_index_with_done_ratio_column of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11812 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-10 03:49:48 +00:00
Toshi MARUYAMA 83d3aaf170 remove redundant empty lines from test_index_with_date_column of IssuesControllerTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11811 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-09 16:14:16 +00:00
Toshi MARUYAMA cd2776a96f run test:ui on CI Server Ruby 1.9.3 or higher (#12822)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11810 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-09 13:45:32 +00:00
Toshi MARUYAMA e038d630d5 prevent assert_difference failure of test_bulk_watch_issues_via_context_menu at UI IssuesTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11809 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-09 13:45:21 +00:00
Toshi MARUYAMA 6d4e43f3fb prevent assert_difference failure of test_watch_issue_via_context_menu at UI IssuesTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11808 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-09 13:45:09 +00:00
Toshi MARUYAMA aaa37be223 fix failure of test_remove_issue_watcher_from_sidebar at UI IssuesTest
<pre>
  2) Failure:
test_remove_issue_watcher_from_sidebar(Redmine::UiTest::IssuesTest) [test/ui/issues_test.rb:186]:
"Watcher.count" didn't change by -1.
<3> expected but was
<4>.
</pre>

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11807 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-09 13:03:41 +00:00
Toshi MARUYAMA 2b022ac097 install capybara on only Ruby 1.9.3 or higher (#12822)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11806 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-09 13:03:28 +00:00
Toshi MARUYAMA 00f15828a2 upgrade capybara to 2.1 (#12822)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11805 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-09 12:21:45 +00:00
Toshi MARUYAMA 9f41c7283c add more asserting to test_create_issue_with_watchers of ui issues_test
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11804 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-09 11:34:25 +00:00
Jean-Baptiste Barth 1e7c26d9a5 Document project links in ApplicationHelper#parse_redmine_links (#6689).
Contributed by Mischa The Evil


git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11803 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-08 07:59:14 +00:00
Toshi MARUYAMA fe0293a110 sync Lithuanian jQuery datepicker (#13674)
This is from following revision.
49f9b849b9

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11802 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-08 03:51:04 +00:00
Toshi MARUYAMA 79e394a0c5 Enhanced Arabic translation by Amr Noaman (#13988)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11800 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-08 01:17:28 +00:00
Toshi MARUYAMA 5b95b6a6aa Swedish Translation for trunk updated by Nicklas Holm (#14003)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11799 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-07 23:38:11 +00:00
Toshi MARUYAMA d994ff79f4 Swedish Translation for 2.3-stable updated by Nicklas Holm (#14003, #14005)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11798 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-07 23:37:59 +00:00
Jean-Baptiste Barth 0d2fb4503b Add documentation about horizontal rule syntax (#2427).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11797 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-07 06:22:40 +00:00
Jean-Baptiste Barth b4c3bb0558 Fix Trac importer breaking on exotic characters with ruby 1.9+ (#13990).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11796 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-06 22:19:37 +00:00
Jean-Baptiste Barth 2b3111122e Ensure Tranc and Mantis importers don't reset global notification settings (#13989).
Contributed by Brandon Valentine


git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11795 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-06 20:39:03 +00:00
Toshi MARUYAMA db3b3d3a1c Lithuanian "label_attachment" translation changed by Andrius Kriučkovas (#13674)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11794 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-05 10:58:19 +00:00
Toshi MARUYAMA be0da7aaa8 Lithuanian "field_generate_password" translation updated by Andrius Kriučkovas (#13674)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11793 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-05 10:58:08 +00:00
Toshi MARUYAMA 2183c673d1 remove duplicate Lithuanian "error_attachment_too_big" translation keys (#13950)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11791 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-05 09:24:25 +00:00
Jean-Baptiste Barth ec4dbbced5 Add status to /users/:id API for admins (#13948).
Patch by Kambiz Darabi


git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11790 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-05 08:19:17 +00:00
Jean-Philippe Lang afa9100453 Fixed test broken by r11787 (#13943).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11789 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-04 15:44:09 +00:00
Jean-Philippe Lang d69de691a7 Fixed that bulk copy raises an error on validation failure (#13943).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11788 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-04 15:18:16 +00:00
Jean-Philippe Lang 70bdb86c53 Preserve field values on bulk edit failure (#13943).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11787 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-04 15:03:07 +00:00
Jean-Philippe Lang 1269e6c7d3 Display the bulk edit form with error messages when some issues can not be saved (#13943).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11786 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-04 08:52:51 +00:00
Jean-Philippe Lang ed18b3359b Adds a method for extracting MailHandler options from ENV.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11785 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-04 07:32:35 +00:00
Toshi MARUYAMA 33afeea87a use assert_select instead of assert_tag at versions index sidebar
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11784 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-03 11:39:33 +00:00
Toshi MARUYAMA 452c71c9dc use li tags for label completed versions and subproject in version index sidebar (#13242)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11783 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-03 11:39:23 +00:00
Toshi MARUYAMA 42753001ea use li tags for completed versions in version index sidebar (#13242)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11782 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-03 11:39:11 +00:00
Toshi MARUYAMA 8d824f5088 use li tags for versions in version index (#13242)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11781 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-03 09:53:29 +00:00
Toshi MARUYAMA bee45bac8f remove unneeded h() from versions index tracker name
Rails3 escapes by default.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11780 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-03 09:53:19 +00:00
Toshi MARUYAMA 5aca038b7c use li tags for trackers in version index (#13242)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11779 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-03 09:53:09 +00:00
Toshi MARUYAMA 22a7885605 code layout clean up app/views/versions/index.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11778 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-03 09:52:58 +00:00
Toshi MARUYAMA 7bd4ea835e use li tags for issue links in documents index (#13242)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11777 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-03 08:09:47 +00:00
Toshi MARUYAMA 012dc74eea use li tags for issue links in activities index (#13242)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11776 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-03 08:09:36 +00:00
Toshi MARUYAMA eb8770899c use li tags for issue links in the wiki sidebar (#13242)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11775 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-03 08:09:26 +00:00
Toshi MARUYAMA 784f33daa7 code layout clean up test/functional/versions_controller_test.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11774 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-03 08:09:16 +00:00
Toshi MARUYAMA 59b1a6695e fix error and inconsistencies in Croatian translation (#13931)
Contributed by Jadranko Stjepanović.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11773 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-03 00:49:40 +00:00
Jean-Baptiste Barth 953e4b4abf Add missing tests for Redmine::MenuManager::Mapper#initialize.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11772 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-03 00:40:41 +00:00
Jean-Baptiste Barth 208d6d881c Add missing tests for Redmine::Helpers::Gantt#number_of_rows.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11771 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-02 23:42:03 +00:00
Jean-Baptiste Barth bc68c1c039 Add missing unit tests for ApplicationHelper#link_to_if_authorized.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11770 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-02 22:57:24 +00:00
Jean-Baptiste Barth 84e455b583 Remove duplicate test TokenTest#test_find_token_should_return_nil_with_wrong_action.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11768 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-02 18:37:20 +00:00
Jean-Baptiste Barth e6ab36d205 Remove duplicate test Redmine::I18nTest#test_time_format (keeping the most complete).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11767 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-02 18:14:26 +00:00
Jean-Baptiste Barth e771d68214 Allow plugins to define their base directory (#13927).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11766 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-02 17:59:34 +00:00
Jean-Baptiste Barth 501007f01d Update URL when changing tab (#13900).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11765 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-02 16:09:58 +00:00
Jean-Baptiste Barth 8aa1bdc031 Add .powrc and .rvmrc in svn, git and hg ignores
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11764 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-02 16:01:31 +00:00
Jean-Philippe Lang c5ac2d3966 Fixed that deleting a system activity with children in use raises an error (#13783).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11763 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-01 17:10:15 +00:00
Jean-Philippe Lang 6c39a260a3 Propose system activities only when reassigning time entries (#13783).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11762 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-01 16:43:51 +00:00
Jean-Philippe Lang 5cc597e394 Fixed: "obj" parameter is not defined for macros used in description of documents (#13821).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11761 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-01 16:08:51 +00:00
Jean-Philippe Lang 5a3b903733 Fixed: Unable to set custom fields for versions using the REST API (#13850).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11760 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-01 15:57:31 +00:00
Jean-Philippe Lang 92dcaeb472 Updates for 2.3.1 release.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11757 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-01 15:13:58 +00:00
Jean-Philippe Lang 9d190c922a Pevents duplicate accesskeys (#12684).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11754 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-01 13:13:53 +00:00
Jean-Philippe Lang e1d47931f1 Restores the bottom action menu.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11753 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-01 13:12:53 +00:00
Jean-Philippe Lang 5d09c730d4 git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11752 e93f8b46-1217-0410-a6f0-8f06a7374b81 2013-05-01 13:11:49 +00:00
Jean-Philippe Lang 89847f9269 Fixed: Lost text after selection in issue list with IE (#12650).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11750 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-01 12:52:37 +00:00
Jean-Philippe Lang 2ad0465864 Fetching emails via rake task does not support --no-account-notice and --default-group options (#13712).
Contributed by Julian Faude and Alex Shulgin.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11748 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-05-01 12:28:09 +00:00
Toshi MARUYAMA f8b756627c code layout clean up application.js
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11744 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-23 04:10:30 +00:00
Toshi MARUYAMA af7540a23a code layout clean up select_list_move.js
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11743 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-23 04:10:18 +00:00
Toshi MARUYAMA b54496e61f remove commented code from select_list_move.js
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11742 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-23 04:10:04 +00:00
Toshi MARUYAMA 86442e60ed application.js: randomKey function optimization (#13826)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11741 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-22 08:10:48 +00:00
Toshi MARUYAMA 932380b284 fix favicon bug in IE8 (#13829)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11740 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-22 05:56:15 +00:00
Toshi MARUYAMA 8387c628cd fix JavaScript error of revision_graph.js on IE7 (#13823)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11738 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-21 07:34:38 +00:00
Toshi MARUYAMA e59814f981 fix JavaScript error of gantt.js on IE7 (#13823)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11737 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-21 07:34:27 +00:00
Toshi MARUYAMA fe903be480 remove trailing white-space from app/models/project.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11736 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-21 04:56:26 +00:00
Toshi MARUYAMA 885b67fcaa update jquery.ui.datepicker-de.js (#13825)
This is from following revision.
10ca48308f

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11735 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-21 03:50:13 +00:00
Toshi MARUYAMA 22a69cc9ae add missing ; in {} at application.js (#13811)
Contributed by Adrian Wilkins.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11733 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-20 08:08:28 +00:00
Toshi MARUYAMA de26e3fb85 fix ; position of if(){} at application.js (#13811)
Contributed by Adrian Wilkins.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11732 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-20 08:08:17 +00:00
Toshi MARUYAMA 485ce41523 remove unneeded ; from warnLeavingUnsaved of application.js (#13811)
Contributed by Adrian Wilkins.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11731 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-20 08:08:05 +00:00
Toshi MARUYAMA 98bb49382b add missing ; at toggleCheckboxesBySelector of application.js (#13811)
Contributed by Adrian Wilkins.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11730 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-20 08:07:54 +00:00
Toshi MARUYAMA b31d1329ca use ===/!== instead of ==/!= in application.js (#13811)
Contributed by Adrian Wilkins.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11729 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-20 08:07:41 +00:00
Toshi MARUYAMA f7f6b7ba5b fix JavaScript error on IE7 (#13811)
Contributed by Adrian Wilkins.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11728 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-20 07:39:26 +00:00
Toshi MARUYAMA eae3a82067 Bulgarian "label_statistics" translation changed by Ivan Cenov (#13808)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11727 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-19 07:18:50 +00:00
Toshi MARUYAMA 7ab18f6aa1 remove trailing white-spaces and redundant empty line from app/models/issue_query.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11726 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-19 07:18:38 +00:00
Toshi MARUYAMA 6c182d0a8a remove unused variable from QueriesHelperTest
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11725 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-19 07:18:26 +00:00
Toshi MARUYAMA 21b1783da3 add TODO comment about gantt issues sort (#7335)
Sorting by date was dropped by r4581 (#7128).

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11724 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-19 05:14:25 +00:00
Toshi MARUYAMA ba11020fdf make height of "Commits per author" graph flexible (#1983, #13486)
Contributed by Max Horn.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11723 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-18 02:07:44 +00:00
Toshi MARUYAMA 1bdd37f3e0 fix test name (#13482)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11722 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-18 01:09:06 +00:00
Toshi MARUYAMA 19f70c95d1 not add empty header/footer to notification emails (#13482)
Contributed by Max Horn.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11721 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-18 00:58:24 +00:00
Toshi MARUYAMA 9fea2ab6d2 add mail footer test (#13482)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11720 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-18 00:29:29 +00:00
Toshi MARUYAMA c709c5120c extend mail header test to text mail (#13482)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11719 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-18 00:29:18 +00:00
Toshi MARUYAMA 32ee6b3275 stricter asserting of subversion url validation test
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11718 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-14 16:18:45 +00:00
Toshi MARUYAMA 7a18920728 add unit tests of subversion url validation
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11717 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-14 15:31:18 +00:00
Toshi MARUYAMA 5d05de4b09 code layout clean up test/unit/repository_subversion_test.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11716 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-14 15:31:04 +00:00
Toshi MARUYAMA 36120d17e7 remove trailing white-space from app/models/role.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11715 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-12 01:50:01 +00:00
Toshi MARUYAMA 691add1aff remove redundant 'IssuesHelper#' from issues_helper_test context
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11714 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-12 01:18:52 +00:00
Toshi MARUYAMA c745acf4c2 code layout clean up issues_helper_test.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11713 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-12 01:18:40 +00:00
Toshi MARUYAMA 6869e652c4 remove redundant variable from config/initializers/00-core_plugins.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11712 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-12 01:18:28 +00:00
Toshi MARUYAMA bd0e728352 fix favicon for Opera (#13687)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11711 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-06 15:05:03 +00:00
Toshi MARUYAMA 760d397363 svn propset svn:eol-style native test fixtures (#13644)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11708 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-05 07:38:02 +00:00
Toshi MARUYAMA 6469e9a5a3 fix diff error in case of line_left out of range (#13644)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11707 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-05 07:30:51 +00:00
Toshi MARUYAMA 0d02931759 check integer ordinal range on only Ruby 1.8 (#13644)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11706 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-05 05:51:58 +00:00
Toshi MARUYAMA ed0a8413a2 remove extra white-spaces around new-line from Lithuanian translation
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11705 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-04 12:54:17 +00:00
Toshi MARUYAMA d42c3dbf18 remove trailing white-spaces from Lithuanian translation
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11704 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-04 12:54:06 +00:00
Toshi MARUYAMA 09d1f5dd2e Lithuanian translation changed by Vasaris Vėjas (#13674)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11701 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-04 12:01:03 +00:00
Toshi MARUYAMA d5004b607b Lithuanian translation for 2.3-stable updated by Vasaris Vėjas (#13678, #13674)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11700 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-04 11:25:43 +00:00
Toshi MARUYAMA c961fe8f2b remove duplicate "text_repository_usernames_mapping" from Lithuanian translation
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11699 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-04 10:12:15 +00:00
Jean-Philippe Lang 633e4a00e6 Check that the SCM log file is writable before using it (#13541).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11698 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-03 20:01:41 +00:00
Jean-Philippe Lang 25209273d3 Fixed that CSV Export of Spent Time ignores filters and columns selection (#13618).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11696 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-03 16:48:28 +00:00
Etienne Massip 4224a0c3fe Code cleanup (#13630).
Contributed by F Schroedter.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11694 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-02 17:37:52 +00:00
Etienne Massip 4a3864a180 Fixed that issue list PDF export displays ID column twice (#13630).
Contributed by F Schroedter.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11693 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-04-02 17:34:15 +00:00
Jean-Philippe Lang ed5b14884c Fixed that r11641 prevents precedes/follows relations between subtasks (#13586).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11692 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-26 21:31:29 +00:00
Toshi MARUYAMA de68231632 remove trailing white-space from app/models/setting.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11688 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-25 13:39:56 +00:00
Toshi MARUYAMA bc555048a5 svn:eol-style native jquery.ui.datepicker-pt.js (#13584)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11687 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-25 12:15:43 +00:00
Toshi MARUYAMA 8045ef9d3d add missing Portuguese jQuery UI date picker (#13584)
jquery.ui.datepicker-pt.js is from
https://raw.github.com/jquery/jquery-ui/49f9b849b9c5023f13/ui/i18n/jquery.ui.datepicker-pt.js

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11686 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-25 12:12:28 +00:00
Toshi MARUYAMA 213e8facee add test of datepicker in Simplified Chinese and Traditional Chinese (#13579)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11685 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-25 11:46:41 +00:00
Toshi MARUYAMA 3f2982ede6 back out r11683.
explicitly define jquery locale in en en-GB pt pt-BR.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11684 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-25 11:46:30 +00:00
Toshi MARUYAMA 1ef354f75c explicitly define jquery locale in en en-GB pt pt-BR
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11683 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-25 10:41:13 +00:00
Toshi MARUYAMA 2adc469439 fix that datepicker uses Simplified Chinese in Traditional Chinese locale (#13579)
Contributed by Chage Juan.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11682 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-25 10:41:02 +00:00
Toshi MARUYAMA 1b9faa1aaf Japanese translation improvement ("done ratio") by Go MAEDA (#13577)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11681 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-25 08:11:50 +00:00
Jean-Philippe Lang d8769cb27c Log SCM stderr when log level is set to debug only (#13541).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11680 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-22 07:50:28 +00:00
Toshi MARUYAMA c20a13f8ee Dutch translation changed by Pieter Nicolai (#13551)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11677 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-22 00:34:47 +00:00
Toshi MARUYAMA 3f277b6b65 Dutch translation for trunk updated by Pieter Nicolai (#13551)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11676 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-22 00:34:36 +00:00
Toshi MARUYAMA 700e9c8aa0 Dutch translations for 2.3-stable updated by Pieter Nicolai (#13552, #13551)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11675 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-21 23:40:32 +00:00
Toshi MARUYAMA 919d4589b9 fix unit search test failure (#13405)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11674 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-21 23:40:21 +00:00
Toshi MARUYAMA 1e5fa50a80 add test to ensure language name is UTF-8 (#12475)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11673 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-21 22:54:59 +00:00
Toshi MARUYAMA 31590e307a fix test failure (#13405)
<pre>
  1) Failure:
test_scan_changesets_for_issue_ids(RepositoryTest) [/xxx/test/unit/repository_test.rb:214]:
<"Applied in changeset r2."> expected but was
<"Applied in changeset commit:691322a8eb01e11fd7.">.
</pre>

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11672 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-21 22:54:48 +00:00
Etienne Massip d7cb14773b Fixed commit link title escaping (fixes #13405).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11671 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-21 21:53:28 +00:00
Toshi MARUYAMA b26f1c55cc remove trailing white-space from app/models/user_preference.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11670 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-20 08:48:03 +00:00
Toshi MARUYAMA 75050f767a Traditional Chinese "label_total_time" translation changed by ChunChang Lo (#13528)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11668 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-20 06:02:58 +00:00
Toshi MARUYAMA 8cbd91214d code layout cleanup test/integration/account_test.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11667 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-20 06:02:48 +00:00
Toshi MARUYAMA a9ea20e818 backout r11665 (#13528)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11666 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-20 05:03:51 +00:00
Toshi MARUYAMA b3c5ef8afe Traditional Chinese "label_total_time" translation changed by ChunChang Lo (#13528)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11665 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-20 04:43:51 +00:00
Toshi MARUYAMA 9c1f943a17 Traditional Chinese translation for 2.3-stable updated by ChunChang Lo (#13531 ,#13528)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11664 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-20 04:43:41 +00:00
Jean-Philippe Lang 6bc4a110e4 JQuery Datepicker popup is missing multiple month/year modifiers (#13260).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11663 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 21:53:22 +00:00
Jean-Philippe Lang 064bb49b55 Add a "Cancel" button to the "Delete" project page when deleting a project (#2795).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11662 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 21:19:46 +00:00
Jean-Philippe Lang 067aebab76 Updates for 2.3.0 release.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11657 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 19:22:22 +00:00
Jean-Philippe Lang aa583b4144 All translations: RSS -> Atom (#13460).
Patch by Daniel Felix.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11654 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 18:26:32 +00:00
Toshi MARUYAMA 32391269ae remove trailing white space from app/models/version.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11651 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 07:29:00 +00:00
Toshi MARUYAMA cc5f59abd4 fix broken tests on Rails 3.2.13 with Ruby 1.8 (#12399, #12375)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11650 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 06:35:39 +00:00
Toshi MARUYAMA cf1cc08c49 upgrade Rails 3.2.13
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11649 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 05:23:52 +00:00
Toshi MARUYAMA e41b90c71c upgrade mocha ~> 0.13.3
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11648 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 03:28:13 +00:00
Toshi MARUYAMA 134aeb2ca8 backout r11644.
revert Rails version to 3.2.12.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11647 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 03:28:03 +00:00
Toshi MARUYAMA c616f21d1f fix pt-BR "permission_set_notes_private" translation (#13514)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11645 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 02:46:40 +00:00
Toshi MARUYAMA b8a70f2e24 upgrade Rails 3.2.13
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11644 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-19 02:27:16 +00:00
Toshi MARUYAMA 5d600587a1 replace tab to space at app/models/mail_handler.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11643 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-18 02:14:11 +00:00
Jean-Philippe Lang 24e99f8b22 Code cleanup.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11642 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-17 15:17:48 +00:00
Jean-Philippe Lang 38b3e045cf Fixed: Circular loop when using relations and subtasks (#8794).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11641 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-17 15:02:57 +00:00
Jean-Philippe Lang b1afd75620 Fixed: subtasks don't resepect following/precedes relations on creation (#12968).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11640 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-17 13:46:20 +00:00
Toshi MARUYAMA 628f9dc4cf PDF: fix incompatible character encodings: UTF-8 and ASCII-8BIT (#13354)
Contributed by Jun NAITOH.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11637 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-16 07:02:43 +00:00
Toshi MARUYAMA 7040a1212f replace tabs to spaces at app/views/repositories/_navigation.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11636 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-15 14:58:22 +00:00
Toshi MARUYAMA 1ada210da1 replace tabs to spaces at app/views/projects/settings/_issue_categories.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11635 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-15 14:58:11 +00:00
Toshi MARUYAMA 1dc94c65cb replace tabs to spaces at app/views/projects/settings/_boards.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11634 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-15 14:58:00 +00:00
Toshi MARUYAMA 3749e4eb98 replace tabs to spaces and code cleanup at app/views/repositories/_form.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11633 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-15 14:57:49 +00:00
Toshi MARUYAMA 544bbba046 replace tabs to spaces and code cleanup at app/views/issues/bulk_edit.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11632 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-15 14:57:38 +00:00
Toshi MARUYAMA a97a2fec3f replace tabs to spaces and code cleanup at app/views/versions/_overview.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11631 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-15 14:15:57 +00:00
Toshi MARUYAMA 4e62001154 replace tabs to spaces at app/views/versions/index.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11630 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-15 14:15:46 +00:00
Toshi MARUYAMA ab9f201302 replace tabs to spaces at app/views/documents/index.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11629 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-15 14:15:34 +00:00
Toshi MARUYAMA a1b24e0f65 remove trailing tabs from app/views/context_menus/issues.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11628 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-15 13:12:04 +00:00
Toshi MARUYAMA eaa016bbc3 replace tabs to spaces and fix indents at app/views/my/destroy.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11627 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-15 11:30:36 +00:00
Toshi MARUYAMA e6f7e47547 update .gitignore for non-default themes + plugins (#13476)
Contributed by Pieter Nicolai.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11626 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-15 10:51:35 +00:00
Toshi MARUYAMA d78d83f553 replace tabs to spaces and fix indents at app/views/settings/_repositories.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11625 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-15 10:51:24 +00:00
Toshi MARUYAMA 1f4e3af192 replace tabs to spaces at app/views/settings/_issues.html.erb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11624 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-15 10:51:13 +00:00
Toshi MARUYAMA e74734f57c fix pt-BR translation (#13475)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11622 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-15 00:58:42 +00:00
Toshi MARUYAMA 71b3b5d1b5 Russian translation updated by Kirill Bezrukov (#13463)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11620 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-13 08:00:41 +00:00
Toshi MARUYAMA 51631e54f8 Bulgarian translation ordered by Ivan Cenov (#13458)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11615 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 23:46:32 +00:00
Toshi MARUYAMA 0dac2e8c59 Czech translation changed by Karel Pičman (#13450)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11614 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 23:46:22 +00:00
Toshi MARUYAMA c950adfe82 Fixing HTML in groups index view
Contributed by Gregor Schmidt.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11613 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 23:17:16 +00:00
Jean-Philippe Lang 61396f68d0 Use #count instead of #size.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11612 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 20:44:25 +00:00
Jean-Philippe Lang 1d48ab201b Log errors when bulk edit/copy fails (#13440).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11611 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 19:43:46 +00:00
Jean-Philippe Lang 83d7761998 Always instanciate a relation.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11610 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 18:35:59 +00:00
Jean-Philippe Lang 6d20cfe831 Moves Project#users to a regular method.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11609 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 18:32:36 +00:00
Jean-Philippe Lang 3528343863 Moves Project#principals to a regular method.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11608 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 18:07:37 +00:00
Jean-Philippe Lang 248d983a7d Don't verify method.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11607 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 17:25:49 +00:00
Jean-Philippe Lang 447e15d6cb Prevent one query per User#member_of? call after r11508 (#13301).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11605 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 17:08:50 +00:00
Toshi MARUYAMA 734188c0dc German translation changed by Filou Centrinov (#13447)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11603 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 14:37:21 +00:00
Toshi MARUYAMA 999c9762e6 replace English setting_emails_header and setting_emails_header translation (#13438)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11601 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 11:54:34 +00:00
Toshi MARUYAMA 5e4060b15c replace scm to SCM at config/configuration.yml.example (#13438)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11600 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 11:54:23 +00:00
Toshi MARUYAMA 121df3d4a7 replace scm to SCM at locale files (#13438)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11599 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 11:54:11 +00:00
Toshi MARUYAMA f83c0a81fe German translation of setting_emails_header changed by Filou Centrinov (#13437)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11597 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-12 10:35:00 +00:00
Jean-Philippe Lang de6e4ad431 INSTALL update (#12913).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11592 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-11 18:12:42 +00:00
Jean-Philippe Lang bca9a8431e Mail handler: set mail_notification to only_my_events when creating a new user (#13341).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11590 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-11 17:50:18 +00:00
Toshi MARUYAMA 7cecd72faa Korean translation changed by Jongwook Choi (#13420)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11588 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-11 00:47:24 +00:00
Toshi MARUYAMA d85cc5f561 Korean translation updated by Jongwook Choi (#13420)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11585 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-10 22:52:09 +00:00
Toshi MARUYAMA fe8fb875c2 Korean translation changed by Jongwook Choi (#13420)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11584 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-10 22:51:58 +00:00
Jean-Philippe Lang 06a92fe0d0 Adds label_total_time string (#13337).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11582 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-10 13:01:46 +00:00
Toshi MARUYAMA 3126ff8388 Bulgarian translation updated and changed by Ivan Cenov (#13414)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11578 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-10 03:50:41 +00:00
Jean-Philippe Lang 9c2561b59d Preserve gantt options when changing filters (#12122).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11571 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 10:44:39 +00:00
Jean-Philippe Lang bb80baf9a5 Adds setting_default_projects_tracker_ids string to locales (#13175, #13272).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11567 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-09 09:52:35 +00:00
Toshi MARUYAMA ba797909b0 Korean translation changed by Lucas Yang (#13399)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11560 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-08 08:10:29 +00:00
Toshi MARUYAMA 5416c6e3ef Czech translation changed by Karel Pičman (#13391)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11556 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-07 23:13:35 +00:00
Toshi MARUYAMA 9d406189bd Czech translation for trunk updated by Karel Pičman (#13391)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11555 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-07 23:13:24 +00:00
Toshi MARUYAMA df3adb9a90 Czech translation for 2.3-stable updated by Karel Pičman (#13391)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11554 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-07 23:13:13 +00:00
Toshi MARUYAMA d40ad599ed Czech translation for 2.2-stable updated by Karel Pičman (#13398, #13391)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11553 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-07 23:13:02 +00:00
Toshi MARUYAMA dac066ea0a svn propset svn:eol-style native to fixtures (#12641)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11550 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-07 12:53:36 +00:00
Toshi MARUYAMA d3de07a17c fix that diff outputs become ??? in some non ASCII words (#12641)
Contributed by Filou Centrinov.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11549 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-07 10:36:06 +00:00
Toshi MARUYAMA 72539451aa set html encoding utf8 at Diff class (#12641)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11547 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-07 10:17:45 +00:00
Toshi MARUYAMA 0d141eef32 code cleanup (#12641)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11546 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-07 08:47:38 +00:00
Toshi MARUYAMA b19a6d06d9 move utf8 encoding from view to UnifiedDiff (#12641)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11545 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-07 08:31:58 +00:00
Toshi MARUYAMA 8e92ffc191 remove unnecessary h() from diff filename (#12641)
On Rails3, escaping is default.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11544 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-07 07:24:46 +00:00
Toshi MARUYAMA b53b7b1acd use %r{} instead of // at app/models/repository/subversion.rb
Syntax highlight is broken in gedit 2.28.4 on CentOS 6.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11543 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-07 04:07:20 +00:00
Toshi MARUYAMA 39b9599360 use %r{} instead of // at lib/redmine/unified_diff.rb
Syntax highlight is broken in gedit 2.28.4 on CentOS 6.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11542 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-07 04:07:09 +00:00
Toshi MARUYAMA 5984adc3df code layout cleanup AccountController#open_id_authenticate
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11539 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-06 08:42:00 +00:00
Toshi MARUYAMA 6a4966fe10 remove trailing white-spaces from test/functional/account_controller_openid_test.rb
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11538 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-06 08:41:48 +00:00
Toshi MARUYAMA 419b18b4a9 fix some Japanese "issue" translations (#13350)
Contributed by Go MAEDA.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11537 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-06 08:41:36 +00:00
Toshi MARUYAMA 7d3f29ea3f Japanese translation updated by Go MAEDA (#13349)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11536 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-06 08:41:25 +00:00
Toshi MARUYAMA 9286ddd655 Vietnamese translation changed by Minh Thien Nguyen (#13339)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11530 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-03 10:26:26 +00:00
Toshi MARUYAMA 3357850013 Vietnamese translation for 2.3-stable updated by Minh Thien Nguyen (#13339)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11529 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-03 10:26:14 +00:00
Toshi MARUYAMA 68e98fa37d Vietnamese translation for 2.2-stable updated by Minh Thien Nguyen (#13343, #13339)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11528 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-03 10:26:01 +00:00
Toshi MARUYAMA 0225030551 Ruby2.0: remove "warning: class variable access from toplevel" in lib/plugins/rfpdf/lib/tcpdf.rb (#13338, #13329)
Contributed by Jun NAITOH.

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11527 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-03 10:25:47 +00:00
Jean-Philippe Lang f77ed4a7c3 Mail handler: adds --no-notification option to disable notifications to the created user (#13341).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11526 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-03 08:57:00 +00:00
Jean-Philippe Lang 6cffab9919 Mail handler: adds --no-account-notice option for not sending account information to the created user (#11498).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11525 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-03 08:41:52 +00:00
Jean-Philippe Lang e7bf31d162 Typo and text formatting in rdm-mailhandler usage.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11524 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-03 08:10:40 +00:00
Jean-Philippe Lang c4cf97dea5 Adds copyright.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11523 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-03 08:05:44 +00:00
Jean-Philippe Lang b25d496c24 Mail handler: adds --default-group option to add created user to one or more groups (#13340).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11522 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-03 07:59:29 +00:00
Jean-Philippe Lang d5ca514688 Adds autologin param in openid return_to url (#3371).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11521 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-02 20:38:25 +00:00
Jean-Philippe Lang a010372458 Fixed that autologin cookie is not deleted when using custom cookie name (#13335).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11520 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-02 20:30:57 +00:00
Jean-Philippe Lang 08ef201cec Fixed that autologin is broken when using a custom cookie name (#13335).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11519 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-02 20:28:21 +00:00
Jean-Philippe Lang 80807a8c49 Add user's API key to /users/current.format (#8529).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11518 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 16:32:30 +00:00
Jean-Philippe Lang caf61dc923 Fixed that copying an issue as a child of itself creates an extra issue (#13328).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11513 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 12:26:06 +00:00
Jean-Philippe Lang 4185a4ae3b Test failures (#13309).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11512 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 11:27:55 +00:00
Jean-Philippe Lang 5a8b369754 Project select for new membership overflows with long project names.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11511 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 11:01:28 +00:00
Jean-Philippe Lang cfcc9069e5 Performance: avoid one "SELECT 1 ..." query per project on user memberships form.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11510 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 10:54:31 +00:00
Jean-Philippe Lang a140a03a35 Adds "tracker-[id]" CSS class to issues (#13309).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11509 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 10:42:05 +00:00
Jean-Philippe Lang 6803d95a32 Performance: avoid querying all memberships in User#roles_for_project (#13301).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11508 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 10:24:23 +00:00
Jean-Philippe Lang 69657be534 Test failure with ruby 2.0.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11507 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 09:01:05 +00:00
Jean-Philippe Lang 5f0509435a Regexp not working as expected with ruby 2.0.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11506 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 08:57:01 +00:00
Toshi MARUYAMA b2f2c58f3d pt-BR translation changed (#13324)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11504 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 03:33:17 +00:00
Toshi MARUYAMA 466a7f2293 pt-BR translation for trunk updated (#13324)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11502 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 02:10:24 +00:00
Toshi MARUYAMA 5f4e940a09 pt-BR translation for 2.3-stable updated (#13324)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11499 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 00:48:11 +00:00
Toshi MARUYAMA 2f9c6b38cd pt-BR translation for 2.2-stable updated (#13325, #13324)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11498 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-03-01 00:13:51 +00:00
Jean-Philippe Lang 5c1e1ee4bb Fixed that #reload raises a Stack too deep error with ruby 2.0.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11497 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-28 18:47:25 +00:00
Jean-Philippe Lang f544dd682b Code cleanup.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11496 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-28 17:52:29 +00:00
Jean-Philippe Lang 5bf647f290 Don't reload the issue in after_save callback.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11495 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-28 17:47:58 +00:00
Jean-Philippe Lang 953b3619d4 Distinguish mysql/mysql2 adapters in Gemfile (#13270).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11494 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-28 17:20:28 +00:00
Toshi MARUYAMA a5c05435ab pt-BR "label_last_n_weeks" translation updated (#13310)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11491 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-28 07:22:01 +00:00
Toshi MARUYAMA 9a8f430db6 Ruby2.0: switch mysql2 platforms by RUBY_VERSION
It seems old bundler does not support :mri_20 and :mingw_20

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11490 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-26 12:20:45 +00:00
Toshi MARUYAMA 23941adee1 Ruby2.0: add platforms to Gemfile mysql2
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11489 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-26 11:41:20 +00:00
Toshi MARUYAMA bf917a61e7 Ruby2.0: add "require 'yaml'" to Gemfile
On ruby 2.0.0p0 (2013-02-24 revision 39474) [x86_64-linux]:
<pre>
$ ruby script/about
There was an error in your Gemfile, and Bundler cannot continue.
</pre>

git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11488 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-26 11:41:09 +00:00
Toshi MARUYAMA 2ffbfacf5f back out r11486
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11487 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-26 11:40:58 +00:00
Jean-Philippe Lang 3f67ec4436 Require 'yaml'.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11486 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-25 17:31:58 +00:00
Toshi MARUYAMA 36da6d0f80 Russian translation updated by Kirill Bezrukov (#13281)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11483 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-25 14:22:24 +00:00
Toshi MARUYAMA 7d49d8b20e German translation changed by Filou Centrinov (#13280)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11482 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-25 13:41:16 +00:00
Toshi MARUYAMA fb0303ac1d Traditional Chinese translation updated by ChunChang Lo (#13279)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11480 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-25 10:50:20 +00:00
Toshi MARUYAMA 223f892742 Russian translation updated by Filou Centrinov (#13266)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11479 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-25 10:50:09 +00:00
Toshi MARUYAMA b32056b79d German translation updated by Filou Centrinov (#13265)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11478 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-25 10:49:58 +00:00
Toshi MARUYAMA 92532fb7b8 Bulgarian translation updated by Ivan Cenov (#13264)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11477 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-25 10:49:47 +00:00
Toshi MARUYAMA c22810ed51 German translation changed by Filou Centrinov (#13246)
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11476 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-25 10:33:01 +00:00
Jean-Philippe Lang 870d9bad86 Removed deferred test, circular relations are unit tested.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11475 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 13:03:00 +00:00
Jean-Philippe Lang 5b4a9ac3b3 Restricts characters before auto links (#10277).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11474 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 12:56:50 +00:00
Jean-Philippe Lang dfca67d844 Fixed that www followed by a dot generates broken links in formatted text (#3676).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11473 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 12:39:06 +00:00
Jean-Philippe Lang 458800c1d5 Time entry with 2 digits year should not validate (#3107).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11472 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 12:28:44 +00:00
Jean-Philippe Lang 0a6a7f0ed7 Fixed that time entries report by week breaks on edge cases (#5329).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11471 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 12:18:29 +00:00
Jean-Philippe Lang e37ee0d21b Use li tags for issue links in the sidebar (#13242).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11470 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 11:33:27 +00:00
Jean-Philippe Lang de716bd024 Code cleanup.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11469 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 11:25:52 +00:00
Jean-Philippe Lang cd9de0837f Code cleanup.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11468 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 11:10:12 +00:00
Jean-Philippe Lang 0082e36b60 Code cleanup.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11467 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 11:08:14 +00:00
Jean-Philippe Lang ace19cc20f Use ti tags for sidebar queries (#13242).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11466 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 11:06:08 +00:00
Jean-Philippe Lang 0cefb7716e Use https://rubygems.org as gem source (#13173).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11464 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 10:13:43 +00:00
Jean-Philippe Lang 6f21796c34 Missing fixtures.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11462 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 10:05:58 +00:00
Jean-Philippe Lang 8e17c2aeac Fixed that relations may not be refreshed when adding a follows relation (#13251).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11461 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 09:59:45 +00:00
Jean-Philippe Lang 85b872f340 Makes project custom fields available on spent time report (#1766).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11459 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-24 08:57:04 +00:00
Jean-Philippe Lang 3269fab34e Adds field_generate_password string to locales (#3872).
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11458 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-23 17:00:53 +00:00
Jean-Philippe Lang e14caf8e33 Use User#generate_password in MailHandler.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11457 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-23 16:57:45 +00:00
Jean-Philippe Lang fac4a79d4c Option to generate a random password on user creation/update.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@11456 e93f8b46-1217-0410-a6f0-8f06a7374b81
2013-02-23 16:50:07 +00:00
1013 changed files with 38625 additions and 11806 deletions

8
.gitignore vendored
View File

@ -1,5 +1,7 @@
/.project
/.loadpath
/.powrc
/.rvmrc
/config/additional_environment.rb
/config/configuration.yml
/config/database.yml
@ -15,8 +17,14 @@
/lib/redmine/scm/adapters/mercurial/redminehelper.pyo
/log/*.log*
/log/mongrel_debug
/plugins/*
!/plugins/README
/public/dispatch.*
/public/plugin_assets
/public/themes/*
!/public/themes/alternate
!/public/themes/classic
!/public/themes/README
/tmp/*
/tmp/cache/*
/tmp/pdf/*

View File

@ -2,6 +2,8 @@ syntax: glob
.project
.loadpath
.powrc
.rvmrc
config/additional_environment.rb
config/configuration.yml
config/database.yml

38
.travis.yml Normal file
View File

@ -0,0 +1,38 @@
# Redmine runs tests on own continuous integration server.
# http://www.redmine.org/projects/redmine/wiki/Continuous_integration
# You can also run tests on your environment.
language: ruby
rvm:
- 1.8.7
- 1.9.3
- 2.0
- 2.1
- jruby
matrix:
allow_failures:
# SCM tests fail randomly due to IO.popen().
# https://github.com/jruby/jruby/issues/779
- rvm: jruby
env:
- "TEST_SUITE=units DATABASE_ADAPTER=postgresql"
- "TEST_SUITE=functionals DATABASE_ADAPTER=postgresql"
- "TEST_SUITE=integration DATABASE_ADAPTER=postgresql"
- "TEST_SUITE=units DATABASE_ADAPTER=mysql"
- "TEST_SUITE=functionals DATABASE_ADAPTER=mysql"
- "TEST_SUITE=integration DATABASE_ADAPTER=mysql"
- "TEST_SUITE=units DATABASE_ADAPTER=sqlite3"
- "TEST_SUITE=functionals DATABASE_ADAPTER=sqlite3"
- "TEST_SUITE=integration DATABASE_ADAPTER=sqlite3"
before_install:
- "sudo apt-get update -qq"
- "sudo apt-get --no-install-recommends install bzr cvs git mercurial subversion"
script:
- "SCMS=bazaar,cvs,subversion,git,mercurial,filesystem"
- "export SCMS"
- "git --version"
- "bundle install"
- "RUN_ON_NOT_OFFICIAL='' RUBY_VER=1.9 BRANCH=trunk bundle exec rake config/database.yml"
- "bundle install"
- "JRUBY_OPTS=-J-Xmx1024m bundle exec rake ci"
notifications:
email: false

8
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,8 @@
**Do not send a pull requst to this github repository**.
For more detail, please see [official website] wiki [Contribute].
[official website]: http://www.redmine.org
[Contribute]: http://www.redmine.org/projects/redmine/wiki/Contribute

41
Gemfile
View File

@ -1,11 +1,13 @@
source 'http://rubygems.org'
source 'https://rubygems.org'
gem 'rails', '3.2.12'
gem "rails", "3.2.18"
gem "rake", "~> 10.1.1"
gem "jquery-rails", "~> 2.0.2"
gem "i18n", "~> 0.6.0"
gem "coderay", "~> 1.0.6"
gem "coderay", "~> 1.1.0"
gem "fastercsv", "~> 1.5.0", :platforms => [:mri_18, :mingw_18, :jruby]
gem "builder", "3.0.0"
gem "request_store"
gem "mime-types"
# Optional gem for LDAP authentication
group :ldap do
@ -14,29 +16,36 @@ end
# Optional gem for OpenID authentication
group :openid do
gem "ruby-openid", "~> 2.1.4", :require => "openid"
gem "ruby-openid", "~> 2.3.0", :require => "openid"
gem "rack-openid"
end
# Optional gem for exporting the gantt to a PNG file, not supported with jruby
platforms :mri, :mingw do
# Optional gem for exporting the gantt to a PNG file, not supported with jruby
group :rmagick do
# RMagick 2 supports ruby 1.9
# RMagick 1 would be fine for ruby 1.8 but Bundler does not support
# different requirements for the same gem on different platforms
gem "rmagick", ">= 2.0.0"
end
# Optional Markdown support, not for JRuby
group :markdown do
# TODO: upgrade to redcarpet 3.x when ruby1.8 support is dropped
gem "redcarpet", "~> 2.3.0"
end
end
platforms :jruby do
# jruby-openssl is bundled with JRuby 1.7.0
gem "jruby-openssl" if Object.const_defined?(:JRUBY_VERSION) && JRUBY_VERSION < '1.7.0'
gem "activerecord-jdbc-adapter", "1.2.5"
gem "activerecord-jdbc-adapter", "~> 1.3.2"
end
# Include database gems for the adapters found in the database
# configuration file
require 'erb'
require 'yaml'
database_file = File.join(File.dirname(__FILE__), "config/database.yml")
if File.exist?(database_file)
database_config = YAML::load(ERB.new(IO.read(database_file)).result)
@ -44,9 +53,11 @@ if File.exist?(database_file)
if adapters.any?
adapters.each do |adapter|
case adapter
when /mysql/
gem "mysql", "~> 2.8.1", :platforms => [:mri_18, :mingw_18]
gem "mysql2", "~> 0.3.11", :platforms => [:mri_19, :mingw_19]
when 'mysql2'
gem "mysql2", "~> 0.3.11", :platforms => [:mri, :mingw]
gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
when 'mysql'
gem "mysql", "~> 2.8.1", :platforms => [:mri, :mingw]
gem "activerecord-jdbcmysql-adapter", :platforms => :jruby
when /postgresql/
gem "pg", ">= 0.11.0", :platforms => [:mri, :mingw]
@ -75,8 +86,11 @@ end
group :test do
gem "shoulda", "~> 3.3.2"
gem "mocha"
gem 'capybara', '~> 2.0.0'
gem "mocha", "~> 1.0.0", :require => 'mocha/api'
if RUBY_VERSION >= '1.9.3'
gem "capybara", "~> 2.1.0"
gem "selenium-webdriver"
end
end
local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local")
@ -88,5 +102,6 @@ end
# Load plugins' Gemfiles
Dir.glob File.expand_path("../plugins/*/Gemfile", __FILE__) do |file|
puts "Loading #{file} ..." if $DEBUG # `ruby -d` or `bundle -v`
instance_eval File.read(file)
#TODO: switch to "eval_gemfile file" when bundler >= 1.2.0 will be required (rails 4)
instance_eval File.read(file), file
end

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -20,13 +20,21 @@ class AccountController < ApplicationController
include CustomFieldsHelper
# prevents login action to be filtered by check_if_login_required application scope filter
skip_before_filter :check_if_login_required
skip_before_filter :check_if_login_required, :check_password_change
# Overrides ApplicationController#verify_authenticity_token to disable
# token verification on openid callbacks
def verify_authenticity_token
unless using_open_id?
super
end
end
# Login request and validation
def login
if request.get?
if User.current.logged?
redirect_to home_url
redirect_back_or_default home_url, :referer => true
end
else
authenticate_user
@ -75,11 +83,15 @@ class AccountController < ApplicationController
else
if request.post?
user = User.find_by_mail(params[:mail].to_s)
# user not found or not active
unless user && user.active?
# user not found
unless user
flash.now[:error] = l(:notice_account_unknown_email)
return
end
unless user.active?
handle_inactive_user(user, lost_password_path)
return
end
# user cannot change its password
unless user.change_password_allowed?
flash.now[:error] = l(:notice_can_t_change_password)
@ -152,6 +164,19 @@ class AccountController < ApplicationController
redirect_to signin_path
end
# Sends a new account activation email
def activation_email
if session[:registered_user_id] && Setting.self_registration == '1'
user_id = session.delete(:registered_user_id).to_i
user = User.find_by_id(user_id)
if user && user.registered?
register_by_email_activation(user)
return
end
end
redirect_to(home_url)
end
private
def authenticate_user
@ -163,7 +188,7 @@ class AccountController < ApplicationController
end
def password_authentication
user = User.try_to_login(params[:username], params[:password])
user = User.try_to_login(params[:username], params[:password], false)
if user.nil?
invalid_credentials
@ -171,25 +196,31 @@ class AccountController < ApplicationController
onthefly_creation_failed(user, {:login => user.login, :auth_source_id => user.auth_source_id })
else
# Valid user
successful_authentication(user)
if user.active?
successful_authentication(user)
else
handle_inactive_user(user)
end
end
end
def open_id_authenticate(openid_url)
authenticate_with_open_id(openid_url, :required => [:nickname, :fullname, :email], :return_to => signin_url, :method => :post) do |result, identity_url, registration|
back_url = signin_url(:autologin => params[:autologin])
authenticate_with_open_id(
openid_url, :required => [:nickname, :fullname, :email],
:return_to => back_url, :method => :post
) do |result, identity_url, registration|
if result.successful?
user = User.find_or_initialize_by_identity_url(identity_url)
if user.new_record?
# Self-registration off
(redirect_to(home_url); return) unless Setting.self_registration?
# Create on the fly
user.login = registration['nickname'] unless registration['nickname'].nil?
user.mail = registration['email'] unless registration['email'].nil?
user.firstname, user.lastname = registration['fullname'].split(' ') unless registration['fullname'].nil?
user.random_password
user.register
case Setting.self_registration
when '1'
register_by_email_activation(user) do
@ -209,7 +240,7 @@ class AccountController < ApplicationController
if user.active?
successful_authentication(user)
else
account_pending
handle_inactive_user(user)
end
end
end
@ -230,7 +261,6 @@ class AccountController < ApplicationController
def set_autologin_cookie(user)
token = Token.create(:user => user, :action => 'autologin')
cookie_name = Redmine::Configuration['autologin_cookie_name'] || 'autologin'
cookie_options = {
:value => token.value,
:expires => 1.year.from_now,
@ -238,7 +268,7 @@ class AccountController < ApplicationController
:secure => (Redmine::Configuration['autologin_cookie_secure'] ? true : false),
:httponly => true
}
cookies[cookie_name] = cookie_options
cookies[autologin_cookie_name] = cookie_options
end
# Onthefly creation failed, display the registration form to fill/fix attributes
@ -260,7 +290,7 @@ class AccountController < ApplicationController
token = Token.new(:user => user, :action => "register")
if user.save and token.save
Mailer.register(token).deliver
flash[:notice] = l(:notice_account_register_done)
flash[:notice] = l(:notice_account_register_done, :email => user.mail)
redirect_to signin_path
else
yield if block_given?
@ -290,14 +320,32 @@ class AccountController < ApplicationController
if user.save
# Sends an email to the administrators
Mailer.account_activation_request(user).deliver
account_pending
account_pending(user)
else
yield if block_given?
end
end
def account_pending
flash[:notice] = l(:notice_account_pending)
redirect_to signin_path
def handle_inactive_user(user, redirect_path=signin_path)
if user.registered?
account_pending(user, redirect_path)
else
account_locked(user, redirect_path)
end
end
def account_pending(user, redirect_path=signin_path)
if Setting.self_registration == '1'
flash[:error] = l(:notice_account_not_activated_yet, :url => activation_email_path)
session[:registered_user_id] = user.id
else
flash[:error] = l(:notice_account_pending)
end
redirect_to redirect_path
end
def account_locked(user, redirect_path=signin_path)
flash[:error] = l(:notice_account_locked)
redirect_to redirect_path
end
end

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -65,7 +65,7 @@ class AdminController < ApplicationController
@test = Mailer.test_email(User.current).deliver
flash[:notice] = l(:notice_email_sent, User.current.mail)
rescue Exception => e
flash[:error] = l(:notice_email_error, e.message)
flash[:error] = l(:notice_email_error, Redmine::CodesetUtil.replace_invalid_utf8(e.message))
end
ActionMailer::Base.raise_delivery_errors = raise_delivery_errors
redirect_to settings_path(:tab => 'notifications')
@ -77,7 +77,8 @@ class AdminController < ApplicationController
[:text_default_administrator_account_changed, User.default_admin_account_changed?],
[:text_file_repository_writable, File.writable?(Attachment.storage_path)],
[:text_plugin_assets_writable, File.writable?(Redmine::Plugin.public_directory)],
[:text_rmagick_available, Object.const_defined?(:Magick)]
[:text_rmagick_available, Object.const_defined?(:Magick)],
[:text_convert_available, Redmine::Thumbnail.convert_available?]
]
end
end

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -33,14 +33,24 @@ class ApplicationController < ActionController::Base
layout 'base'
protect_from_forgery
def handle_unverified_request
super
cookies.delete(:autologin)
def verify_authenticity_token
unless api_request?
super
end
end
before_filter :session_expiration, :user_setup, :check_if_login_required, :set_localization
def handle_unverified_request
unless api_request?
super
cookies.delete(autologin_cookie_name)
self.logged_user = nil
render_error :status => 422, :message => "Invalid form authenticity token."
end
end
before_filter :session_expiration, :user_setup, :check_if_login_required, :check_password_change, :set_localization
rescue_from ActionController::InvalidAuthenticityToken, :with => :invalid_authenticity_token
rescue_from ::Unauthorized, :with => :deny_access
rescue_from ::ActionView::MissingTemplate, :with => :missing_template
@ -78,6 +88,9 @@ class ApplicationController < ActionController::Base
session[:user_id] = user.id
session[:ctime] = Time.now.utc.to_i
session[:atime] = Time.now.utc.to_i
if user.must_change_password?
session[:pwd] = '1'
end
end
def user_setup
@ -107,11 +120,15 @@ class ApplicationController < ActionController::Base
if (key = api_key_from_request)
# Use API key
user = User.find_by_api_key(key)
else
elsif request.authorization.to_s =~ /\ABasic /i
# HTTP Basic, either username/password or API key/random
authenticate_with_http_basic do |username, password|
user = User.try_to_login(username, password) || User.find_by_api_key(username)
end
if user && user.must_change_password?
render_error :message => 'You must change your password', :status => 403
return
end
end
# Switch user if requested by an admin user
if user && user.admin? && (username = api_switch_user_from_request)
@ -127,10 +144,14 @@ class ApplicationController < ActionController::Base
user
end
def autologin_cookie_name
Redmine::Configuration['autologin_cookie_name'].presence || 'autologin'
end
def try_to_autologin
if cookies[:autologin] && Setting.autologin?
if cookies[autologin_cookie_name] && Setting.autologin?
# auto-login feature starts a new session
user = User.try_to_autologin(cookies[:autologin])
user = User.try_to_autologin(cookies[autologin_cookie_name])
if user
reset_session
start_user_session(user)
@ -153,7 +174,7 @@ class ApplicationController < ActionController::Base
# Logs out current user
def logout_user
if User.current.logged?
cookies.delete :autologin
cookies.delete(autologin_cookie_name)
Token.delete_all(["user_id = ? AND action = ?", User.current.id, 'autologin'])
self.logged_user = nil
end
@ -166,12 +187,22 @@ class ApplicationController < ActionController::Base
require_login if Setting.login_required?
end
def check_password_change
if session[:pwd]
if User.current.must_change_password?
redirect_to my_password_path
else
session.delete(:pwd)
end
end
end
def set_localization
lang = nil
if User.current.logged?
lang = find_language(User.current.language)
end
if lang.nil? && request.env['HTTP_ACCEPT_LANGUAGE']
if lang.nil? && !Setting.force_default_language_for_anonymous? && request.env['HTTP_ACCEPT_LANGUAGE']
accept_lang = parse_qvalues(request.env['HTTP_ACCEPT_LANGUAGE']).first
if !accept_lang.blank?
accept_lang = accept_lang.downcase
@ -191,7 +222,13 @@ class ApplicationController < ActionController::Base
url = url_for(:controller => params[:controller], :action => params[:action], :id => params[:id], :project_id => params[:project_id])
end
respond_to do |format|
format.html { redirect_to :controller => "account", :action => "login", :back_url => url }
format.html {
if request.xhr?
head :unauthorized
else
redirect_to :controller => "account", :action => "login", :back_url => url
end
}
format.atom { redirect_to :controller => "account", :action => "login", :back_url => url }
format.xml { head :unauthorized, 'WWW-Authenticate' => 'Basic realm="Redmine API"' }
format.js { head :unauthorized, 'WWW-Authenticate' => 'Basic realm="Redmine API"' }
@ -294,7 +331,7 @@ class ApplicationController < ActionController::Base
# Find issues with a single :id param or :ids array param
# Raises a Unauthorized exception if one of the issues is not visible
def find_issues
@issues = Issue.find_all_by_id(params[:id] || params[:ids])
@issues = Issue.where(:id => (params[:id] || params[:ids])).preload(:project, :status, :tracker, :priority, :author, :assigned_to, :relations_to).to_a
raise ActiveRecord::RecordNotFound if @issues.empty?
raise Unauthorized unless @issues.all?(&:visible?)
@projects = @issues.collect(&:project).compact.uniq
@ -337,13 +374,13 @@ class ApplicationController < ActionController::Base
url
end
def redirect_back_or_default(default)
def redirect_back_or_default(default, options={})
back_url = params[:back_url].to_s
if back_url.present?
begin
uri = URI.parse(back_url)
# do not redirect user to another host or to the login or register page
if (uri.relative? || (uri.host == request.host)) && !uri.path.match(%r{/(login|account/register)})
if ((uri.relative? && back_url.match(%r{\A/(\w.*)?\z})) || (uri.host == request.host)) && !uri.path.match(%r{/(login|account/register)})
redirect_to(back_url)
return
end
@ -351,6 +388,9 @@ class ApplicationController < ActionController::Base
logger.warn("Could not redirect to invalid URL #{back_url}")
# redirect to default
end
elsif options[:referer]
redirect_to_referer_or default
return
end
redirect_to default
false
@ -423,13 +463,6 @@ class ApplicationController < ActionController::Base
request.xhr? ? false : 'base'
end
def invalid_authenticity_token
if api_request?
logger.error "Form authenticity token is missing or is invalid. API calls must include a proper Content-type header (text/xml or text/json)."
end
render_error "Invalid form authenticity token."
end
def render_feed(items, options={})
@items = items || []
@items.sort! {|x,y| y.event_datetime <=> x.event_datetime }
@ -525,7 +558,7 @@ class ApplicationController < ActionController::Base
# Returns a string that can be used as filename value in Content-Disposition header
def filename_for_content_disposition(name)
request.env['HTTP_USER_AGENT'] =~ %r{MSIE} ? ERB::Util.url_encode(name) : name
request.env['HTTP_USER_AGENT'] =~ %r{(MSIE|Trident)} ? ERB::Util.url_encode(name) : name
end
def api_request?
@ -551,21 +584,6 @@ class ApplicationController < ActionController::Base
flash[:warning] = l(:warning_attachments_not_saved, obj.unsaved_attachments.size) if obj.unsaved_attachments.present?
end
# Sets the `flash` notice or error based the number of issues that did not save
#
# @param [Array, Issue] issues all of the saved and unsaved Issues
# @param [Array, Integer] unsaved_issue_ids the issue ids that were not saved
def set_flash_from_bulk_issue_save(issues, unsaved_issue_ids)
if unsaved_issue_ids.empty?
flash[:notice] = l(:notice_successful_update) unless issues.empty?
else
flash[:error] = l(:notice_failed_to_save_issues,
:count => unsaved_issue_ids.size,
:total => issues.size,
:ids => '#' + unsaved_issue_ids.join(', #'))
end
end
# Rescues an invalid query statement. Just in case...
def query_statement_invalid(exception)
logger.error "Query::StatementInvalid: #{exception.message}" if logger

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -25,7 +25,7 @@ class BoardsController < ApplicationController
helper :watchers
def index
@boards = @project.boards.includes(:last_message => :author).all
@boards = @project.boards.includes(:project, :last_message => :author).all
# show the board if there is only one
if @boards.size == 1
@board = @boards.first

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -19,17 +19,15 @@ class ContextMenusController < ApplicationController
helper :watchers
helper :issues
before_filter :find_issues, :only => :issues
def issues
@issues = Issue.visible.all(:conditions => {:id => params[:ids]}, :include => :project)
(render_404; return) unless @issues.present?
if (@issues.size == 1)
@issue = @issues.first
end
@issue_ids = @issues.map(&:id).sort
@allowed_statuses = @issues.map(&:new_statuses_allowed_to).reduce(:&)
@projects = @issues.collect(&:project).compact.uniq
@project = @projects.first if @projects.size == 1
@can = {:edit => User.current.allowed_to?(:edit_issues, @projects),
:log_time => (@project && User.current.allowed_to?(:log_time, @project)),
@ -57,12 +55,10 @@ class ContextMenusController < ApplicationController
@options_by_custom_field = {}
if @can[:edit]
custom_fields = @issues.map(&:available_custom_fields).reduce(:&).select do |f|
%w(bool list user version).include?(f.field_format) && !f.multiple?
end
custom_fields = @issues.map(&:editable_custom_fields).reduce(:&).reject(&:multiple?)
custom_fields.each do |field|
values = field.possible_values_options(@projects)
if values.any?
if values.present?
@options_by_custom_field[field] = values
end
end
@ -73,8 +69,7 @@ class ContextMenusController < ApplicationController
end
def time_entries
@time_entries = TimeEntry.all(
:conditions => {:id => params[:ids]}, :include => :project)
@time_entries = TimeEntry.where(:id => params[:ids]).preload(:project).to_a
(render_404; return) unless @time_entries.present?
@projects = @time_entries.collect(&:project).compact.uniq

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -21,13 +21,22 @@ class CustomFieldsController < ApplicationController
before_filter :require_admin
before_filter :build_new_custom_field, :only => [:new, :create]
before_filter :find_custom_field, :only => [:edit, :update, :destroy]
accept_api_auth :index
def index
@custom_fields_by_type = CustomField.all.group_by {|f| f.class.name }
@tab = params[:tab] || 'IssueCustomField'
respond_to do |format|
format.html {
@custom_fields_by_type = CustomField.all.group_by {|f| f.class.name }
}
format.api {
@custom_fields = CustomField.all
}
end
end
def new
@custom_field.field_format = 'string' if @custom_field.field_format.blank?
@custom_field.default_value = nil
end
def create
@ -67,9 +76,7 @@ class CustomFieldsController < ApplicationController
def build_new_custom_field
@custom_field = CustomField.new_subclass_instance(params[:type], params[:custom_field])
if @custom_field.nil?
render_404
else
@custom_field.default_value = nil
render :action => 'select_type'
end
end

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -70,14 +70,12 @@ class EnumerationsController < ApplicationController
@enumeration.destroy
redirect_to enumerations_path
return
elsif params[:reassign_to_id]
if reassign_to = @enumeration.class.find_by_id(params[:reassign_to_id])
@enumeration.destroy(reassign_to)
redirect_to enumerations_path
return
end
elsif params[:reassign_to_id].present? && (reassign_to = @enumeration.class.find_by_id(params[:reassign_to_id].to_i))
@enumeration.destroy(reassign_to)
redirect_to enumerations_path
return
end
@enumerations = @enumeration.class.all - [@enumeration]
@enumerations = @enumeration.class.system.all - [@enumeration]
end
private

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -90,7 +90,7 @@ class GroupsController < ApplicationController
end
def add_users
@users = User.find_all_by_id(params[:user_id] || params[:user_ids])
@users = User.where(:id => (params[:user_id] || params[:user_ids])).all
@group.users << @users if request.post?
respond_to do |format|
format.html { redirect_to edit_group_path(@group, :tab => 'users') }

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -50,7 +50,7 @@ class IssueRelationsController < ApplicationController
respond_to do |format|
format.html { redirect_to issue_path(@issue) }
format.js {
@relations = @issue.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? }
@relations = @issue.reload.relations.select {|r| r.other_issue(@issue) && r.other_issue(@issue).visible? }
}
format.api {
if saved

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -29,7 +29,7 @@ class IssueStatusesController < ApplicationController
render :action => "index", :layout => false if request.xhr?
}
format.api {
@issue_statuses = IssueStatus.all(:order => 'position')
@issue_statuses = IssueStatus.order('position').all
}
end
end
@ -40,7 +40,7 @@ class IssueStatusesController < ApplicationController
def create
@issue_status = IssueStatus.new(params[:issue_status])
if request.post? && @issue_status.save
if @issue_status.save
flash[:notice] = l(:notice_successful_create)
redirect_to issue_statuses_path
else
@ -54,7 +54,7 @@ class IssueStatusesController < ApplicationController
def update
@issue_status = IssueStatus.find(params[:id])
if request.put? && @issue_status.update_attributes(params[:issue_status])
if @issue_status.update_attributes(params[:issue_status])
flash[:notice] = l(:notice_successful_update)
redirect_to issue_statuses_path
else

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -62,10 +62,14 @@ class IssuesController < ApplicationController
case params[:format]
when 'csv', 'pdf'
@limit = Setting.issues_export_limit.to_i
if params[:columns] == 'all'
@query.column_names = @query.available_inline_columns.map(&:name)
end
when 'atom'
@limit = Setting.feeds_limit.to_i
when 'xml', 'json'
@offset, @limit = api_offset_and_limit
@query.column_names = %w(author)
else
@limit = per_page_option
end
@ -103,6 +107,9 @@ class IssuesController < ApplicationController
@journals = @issue.journals.includes(:user, :details).reorder("#{Journal.table_name}.id ASC").all
@journals.each_with_index {|j,i| j.indice = i+1}
@journals.reject!(&:private_notes?) unless User.current.allowed_to?(:view_private_notes, @issue.project)
Journal.preload_journals_details_custom_fields(@journals)
# TODO: use #select! when ruby1.8 support is dropped
@journals.reject! {|journal| !journal.notes? && journal.visible_details.empty?}
@journals.reverse! if User.current.wants_comments_in_reverse_order?
@changesets = @issue.changesets.visible.all
@ -113,6 +120,8 @@ class IssuesController < ApplicationController
@edit_allowed = User.current.allowed_to?(:edit_issues, @project)
@priorities = IssuePriority.active
@time_entry = TimeEntry.new(:issue => @issue, :project => @issue.project)
@relation = IssueRelation.new
respond_to do |format|
format.html {
retrieve_previous_and_next_issue_ids
@ -176,7 +185,7 @@ class IssuesController < ApplicationController
@issue.save_attachments(params[:attachments] || (params[:issue] && params[:issue][:uploads]))
saved = false
begin
saved = @issue.save_issue_with_child_records(params, @time_entry)
saved = save_issue_with_child_records
rescue ActiveRecord::StaleObjectError
@conflict = true
if params[:last_journal_id]
@ -228,7 +237,7 @@ class IssuesController < ApplicationController
else
@available_statuses = @issues.map(&:new_statuses_allowed_to).reduce(:&)
end
@custom_fields = target_projects.map{|p|p.all_issue_custom_fields}.reduce(:&)
@custom_fields = target_projects.map{|p|p.all_issue_custom_fields.visible}.reduce(:&)
@assignables = target_projects.map(&:assignable_users).reduce(:&)
@trackers = target_projects.map(&:trackers).reduce(:&)
@versions = target_projects.map {|p| p.shared_versions.open}.reduce(:&)
@ -239,7 +248,9 @@ class IssuesController < ApplicationController
end
@safe_attributes = @issues.map(&:safe_attribute_names).reduce(:&)
render :layout => false if request.xhr?
@issue_params = params[:issue] || {}
@issue_params[:custom_field_values] ||= {}
end
def bulk_update
@ -247,8 +258,8 @@ class IssuesController < ApplicationController
@copy = params[:copy].present?
attributes = parse_params_for_bulk_issue_attributes(params)
unsaved_issue_ids = []
moved_issues = []
unsaved_issues = []
saved_issues = []
if @copy && params[:copy_subtasks].present?
# Descendant issues will be copied with the parent task
@ -256,52 +267,62 @@ class IssuesController < ApplicationController
@issues.reject! {|issue| @issues.detect {|other| issue.is_descendant_of?(other)}}
end
@issues.each do |issue|
issue.reload
@issues.each do |orig_issue|
orig_issue.reload
if @copy
issue = issue.copy({},
issue = orig_issue.copy({},
:attachments => params[:copy_attachments].present?,
:subtasks => params[:copy_subtasks].present?
)
else
issue = orig_issue
end
journal = issue.init_journal(User.current, params[:notes])
issue.safe_attributes = attributes
call_hook(:controller_issues_bulk_edit_before_save, { :params => params, :issue => issue })
if issue.save
moved_issues << issue
saved_issues << issue
else
# Keep unsaved issue ids to display them in flash error
unsaved_issue_ids << issue.id
unsaved_issues << orig_issue
end
end
set_flash_from_bulk_issue_save(@issues, unsaved_issue_ids)
if params[:follow]
if @issues.size == 1 && moved_issues.size == 1
redirect_to issue_path(moved_issues.first)
elsif moved_issues.map(&:project).uniq.size == 1
redirect_to project_issues_path(moved_issues.map(&:project).first)
if unsaved_issues.empty?
flash[:notice] = l(:notice_successful_update) unless saved_issues.empty?
if params[:follow]
if @issues.size == 1 && saved_issues.size == 1
redirect_to issue_path(saved_issues.first)
elsif saved_issues.map(&:project).uniq.size == 1
redirect_to project_issues_path(saved_issues.map(&:project).first)
end
else
redirect_back_or_default _project_issues_path(@project)
end
else
redirect_back_or_default _project_issues_path(@project)
@saved_issues = @issues
@unsaved_issues = unsaved_issues
@issues = Issue.visible.where(:id => @unsaved_issues.map(&:id)).all
bulk_edit
render :action => 'bulk_edit'
end
end
def destroy
@hours = TimeEntry.sum(:hours, :conditions => ['issue_id IN (?)', @issues]).to_f
@hours = TimeEntry.where(:issue_id => @issues.map(&:id)).sum(:hours).to_f
if @hours > 0
case params[:todo]
when 'destroy'
# nothing to do
when 'nullify'
TimeEntry.update_all('issue_id = NULL', ['issue_id IN (?)', @issues])
TimeEntry.where(['issue_id IN (?)', @issues]).update_all('issue_id = NULL')
when 'reassign'
reassign_to = @project.issues.find_by_id(params[:reassign_to_id])
if reassign_to.nil?
flash.now[:error] = l(:error_issue_not_found_in_project)
return
else
TimeEntry.update_all("issue_id = #{reassign_to.id}", ['issue_id IN (?)', @issues])
TimeEntry.where(['issue_id IN (?)', @issues]).
update_all("issue_id = #{reassign_to.id}")
end
else
# display the destroy form if it's a user request
@ -410,8 +431,11 @@ class IssuesController < ApplicationController
@issue.safe_attributes = params[:issue]
@priorities = IssuePriority.active
@allowed_statuses = @issue.new_statuses_allowed_to(User.current, true)
@available_watchers = (@issue.project.users.sort + @issue.watcher_users).uniq
@allowed_statuses = @issue.new_statuses_allowed_to(User.current, @issue.new_record?)
@available_watchers = @issue.watcher_users
if @issue.project.users.count <= 20
@available_watchers = (@available_watchers + @issue.project.users.sort).uniq
end
end
def check_for_default_issue_status
@ -436,4 +460,26 @@ class IssuesController < ApplicationController
end
attributes
end
# Saves @issue and a time_entry from the parameters
def save_issue_with_child_records
Issue.transaction do
if params[:time_entry] && (params[:time_entry][:hours].present? || params[:time_entry][:comments].present?) && User.current.allowed_to?(:log_time, @issue.project)
time_entry = @time_entry || TimeEntry.new
time_entry.project = @issue.project
time_entry.issue = @issue
time_entry.user = User.current
time_entry.spent_on = User.current.today
time_entry.attributes = params[:time_entry]
@issue.time_entries << time_entry
end
call_hook(:controller_issues_edit_before_save, { :params => params, :issue => @issue, :time_entry => time_entry, :journal => @issue.current_journal})
if @issue.save
call_hook(:controller_issues_edit_after_save, { :params => params, :issue => @issue, :time_entry => time_entry, :journal => @issue.current_journal})
else
raise ActiveRecord::Rollback
end
end
end
end

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -66,7 +66,7 @@ class JournalsController < ApplicationController
text = @issue.description
end
# Replaces pre blocks with [...]
text = text.to_s.strip.gsub(%r{<pre>((.|\s)*?)</pre>}m, '[...]')
text = text.to_s.strip.gsub(%r{<pre>(.*?)</pre>}m, '[...]')
@content = "#{ll(Setting.default_language, :text_user_wrote, user)}\n> "
@content << text.gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n"
rescue ActiveRecord::RecordNotFound

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -28,12 +28,11 @@ class MembersController < ApplicationController
@member_count = @project.member_principals.count
@member_pages = Paginator.new @member_count, @limit, params['page']
@offset ||= @member_pages.offset
@members = @project.member_principals.all(
:order => "#{Member.table_name}.id",
:limit => @limit,
:offset => @offset
)
@members = @project.member_principals.
order("#{Member.table_name}.id").
limit(@limit).
offset(@offset).
all
respond_to do |format|
format.html { head 406 }
format.api

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -35,7 +35,7 @@ class MessagesController < ApplicationController
page = params[:page]
# Find the page of the requested reply
if params[:r] && page.nil?
offset = @topic.children.count(:conditions => ["#{Message.table_name}.id < ?", params[:r].to_i])
offset = @topic.children.where("#{Message.table_name}.id < ?", params[:r].to_i).count
page = 1 + offset / REPLIES_PER_PAGE
end
@ -113,7 +113,7 @@ class MessagesController < ApplicationController
@subject = "RE: #{@subject}" unless @subject.starts_with?('RE:')
@content = "#{ll(Setting.default_language, :text_user_wrote, @message.author)}\n> "
@content << @message.content.to_s.strip.gsub(%r{<pre>((.|\s)*?)</pre>}m, '[...]').gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n"
@content << @message.content.to_s.strip.gsub(%r{<pre>(.*?)</pre>}m, '[...]').gsub(/(\r?\n|\r\n?)/, "\n> ") + "\n\n"
end
def preview
@ -126,14 +126,14 @@ class MessagesController < ApplicationController
private
def find_message
return unless find_board
@message = @board.messages.find(params[:id], :include => :parent)
@message = @board.messages.includes(:parent).find(params[:id])
@topic = @message.root
rescue ActiveRecord::RecordNotFound
render_404
end
def find_board
@board = Board.find(params[:board_id], :include => :project)
@board = Board.includes(:project).find(params[:board_id])
@project = @board.project
rescue ActiveRecord::RecordNotFound
render_404

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -17,6 +17,8 @@
class MyController < ApplicationController
before_filter :require_login
# let user change user's password when user has to
skip_before_filter :check_password_change, :only => :password
helper :issues
helper :users
@ -53,10 +55,8 @@ class MyController < ApplicationController
if request.post?
@user.safe_attributes = params[:user]
@user.pref.attributes = params[:pref]
@user.pref[:no_self_notified] = (params[:no_self_notified] == '1')
if @user.save
@user.pref.save
@user.notified_project_ids = (@user.mail_notification == 'selected' ? params[:notified_project_ids] : [])
set_language_if_valid @user.language
flash[:notice] = l(:notice_account_updated)
redirect_to my_account_path
@ -92,14 +92,17 @@ class MyController < ApplicationController
return
end
if request.post?
if @user.check_password?(params[:password])
if !@user.check_password?(params[:password])
flash.now[:error] = l(:notice_account_wrong_password)
elsif params[:password] == params[:new_password]
flash.now[:error] = l(:notice_new_password_must_be_different)
else
@user.password, @user.password_confirmation = params[:new_password], params[:new_password_confirmation]
@user.must_change_passwd = false
if @user.save
flash[:notice] = l(:notice_account_password_updated)
redirect_to my_account_path
end
else
flash[:error] = l(:notice_account_wrong_password)
end
end
end
@ -136,7 +139,7 @@ class MyController < ApplicationController
@blocks = @user.pref[:my_page_layout] || DEFAULT_LAYOUT.dup
@block_options = []
BLOCKS.each do |k, v|
unless %w(top left right).detect {|f| (@blocks[f] ||= []).include?(k)}
unless @blocks.values.flatten.include?(k)
@block_options << [l("my.blocks.#{v}", :default => [v, v.to_s.humanize]), k.dasherize]
end
end

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -42,11 +42,11 @@ class NewsController < ApplicationController
@news_count = scope.count
@news_pages = Paginator.new @news_count, @limit, params['page']
@offset ||= @news_pages.offset
@newss = scope.all(:include => [:author, :project],
:order => "#{News.table_name}.created_on DESC",
:offset => @offset,
:limit => @limit)
@newss = scope.includes([:author, :project]).
order("#{News.table_name}.created_on DESC").
limit(@limit).
offset(@offset).
all
respond_to do |format|
format.html {
@news = News.new # for adding news inline

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -82,7 +82,7 @@ class ProjectsController < ApplicationController
if validate_parent_id && @project.save
@project.set_allowed_parent!(params[:project]['parent_id']) if params[:project].has_key?('parent_id')
# Add current user as a project member if he is not admin
# Add current user as a project member if current user is not admin
unless User.current.admin?
r = Role.givable.find_by_id(Setting.new_project_user_role_id.to_i) || Role.givable.first
m = Member.new(:user => User.current, :roles => [r])
@ -151,11 +151,11 @@ class ProjectsController < ApplicationController
cond = @project.project_condition(Setting.display_subprojects_issues?)
@open_issues_by_tracker = Issue.visible.open.where(cond).count(:group => :tracker)
@total_issues_by_tracker = Issue.visible.where(cond).count(:group => :tracker)
@open_issues_by_tracker = Issue.visible.open.where(cond).group(:tracker).count
@total_issues_by_tracker = Issue.visible.where(cond).group(:tracker).count
if User.current.allowed_to?(:view_time_entries, @project)
@total_hours = TimeEntry.visible.sum(:hours, :include => :project, :conditions => cond).to_f
@total_hours = TimeEntry.visible.where(cond).sum(:hours).to_f
end
@key = User.current.rss_key

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -31,11 +31,13 @@ class QueriesController < ApplicationController
else
@limit = per_page_option
end
@query_count = IssueQuery.visible.count
@query_pages = Paginator.new @query_count, @limit, params['page']
@queries = IssueQuery.visible.all(:limit => @limit, :offset => @offset, :order => "#{Query.table_name}.name")
@queries = IssueQuery.visible.
order("#{Query.table_name}.name").
limit(@limit).
offset(@offset).
all
respond_to do |format|
format.api
end
@ -45,7 +47,7 @@ class QueriesController < ApplicationController
@query = IssueQuery.new
@query.user = User.current
@query.project = @project
@query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
@query.visibility = IssueQuery::VISIBILITY_PRIVATE unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
@query.build_from_params(params)
end
@ -53,13 +55,13 @@ class QueriesController < ApplicationController
@query = IssueQuery.new(params[:query])
@query.user = User.current
@query.project = params[:query_is_for_all] ? nil : @project
@query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
@query.visibility = IssueQuery::VISIBILITY_PRIVATE unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
@query.build_from_params(params)
@query.column_names = nil if params[:default_columns]
if @query.save
flash[:notice] = l(:notice_successful_create)
redirect_to _project_issues_path(@project, :query_id => @query)
redirect_to_issues(:query_id => @query)
else
render :action => 'new', :layout => !request.xhr?
end
@ -71,13 +73,13 @@ class QueriesController < ApplicationController
def update
@query.attributes = params[:query]
@query.project = nil if params[:query_is_for_all]
@query.is_public = false unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
@query.visibility = IssueQuery::VISIBILITY_PRIVATE unless User.current.allowed_to?(:manage_public_queries, @project) || User.current.admin?
@query.build_from_params(params)
@query.column_names = nil if params[:default_columns]
if @query.save
flash[:notice] = l(:notice_successful_update)
redirect_to _project_issues_path(@project, :query_id => @query)
redirect_to_issues(:query_id => @query)
else
render :action => 'edit'
end
@ -85,7 +87,7 @@ class QueriesController < ApplicationController
def destroy
@query.destroy
redirect_to _project_issues_path(@project, :set_filter => 1)
redirect_to_issues(:set_filter => 1)
end
private
@ -103,4 +105,16 @@ private
rescue ActiveRecord::RecordNotFound
render_404
end
def redirect_to_issues(options)
if params[:gantt]
if @project
redirect_to project_gantt_path(@project, options)
else
redirect_to issues_gantt_path(options)
end
else
redirect_to _project_issues_path(@project, options)
end
end
end

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -18,7 +18,7 @@
require 'SVG/Graph/Bar'
require 'SVG/Graph/BarHorizontal'
require 'digest/sha1'
require 'redmine/scm/adapters/abstract_adapter'
require 'redmine/scm/adapters'
class ChangesetNotFound < Exception; end
class InvalidRevisionParam < Exception; end
@ -94,7 +94,7 @@ class RepositoriesController < ApplicationController
@committers = @repository.committers
@users = @project.users
additional_user_ids = @committers.collect(&:last).collect(&:to_i) - @users.collect(&:id)
@users += User.find_all_by_id(additional_user_ids) unless additional_user_ids.empty?
@users += User.where(:id => additional_user_ids).all unless additional_user_ids.empty?
@users.compact!
@users.sort!
if request.post? && params[:committers].is_a?(Hash)
@ -111,7 +111,7 @@ class RepositoriesController < ApplicationController
end
def show
@repository.fetch_changesets if Setting.autofetch_changesets? && @path.empty?
@repository.fetch_changesets if @project.active? && Setting.autofetch_changesets? && @path.empty?
@entries = @repository.entries(@path, @rev)
@changeset = @repository.find_changeset_by_name(@rev)
@ -229,7 +229,8 @@ class RepositoriesController < ApplicationController
# Adds a related issue to a changeset
# POST /projects/:project_id/repository/(:repository_id/)revisions/:rev/issues
def add_related_issue
@issue = @changeset.find_referenced_issue_by_id(params[:issue_id])
issue_id = params[:issue_id].to_s.sub(/^#/,'')
@issue = @changeset.find_referenced_issue_by_id(issue_id)
if @issue && (!@issue.visible? || @changeset.issues.include?(@issue))
@issue = nil
end
@ -352,15 +353,18 @@ class RepositoriesController < ApplicationController
@date_to = Date.today
@date_from = @date_to << 11
@date_from = Date.civil(@date_from.year, @date_from.month, 1)
commits_by_day = Changeset.count(
:all, :group => :commit_date,
:conditions => ["repository_id = ? AND commit_date BETWEEN ? AND ?", repository.id, @date_from, @date_to])
commits_by_day = Changeset.
where("repository_id = ? AND commit_date BETWEEN ? AND ?", repository.id, @date_from, @date_to).
group(:commit_date).
count
commits_by_month = [0] * 12
commits_by_day.each {|c| commits_by_month[(@date_to.month - c.first.to_date.month) % 12] += c.last }
changes_by_day = Change.count(
:all, :group => :commit_date, :include => :changeset,
:conditions => ["#{Changeset.table_name}.repository_id = ? AND #{Changeset.table_name}.commit_date BETWEEN ? AND ?", repository.id, @date_from, @date_to])
changes_by_day = Change.
joins(:changeset).
where("#{Changeset.table_name}.repository_id = ? AND #{Changeset.table_name}.commit_date BETWEEN ? AND ?", repository.id, @date_from, @date_to).
group(:commit_date).
count
changes_by_month = [0] * 12
changes_by_day.each {|c| changes_by_month[(@date_to.month - c.first.to_date.month) % 12] += c.last }
@ -393,10 +397,10 @@ class RepositoriesController < ApplicationController
end
def graph_commits_per_author(repository)
commits_by_author = Changeset.count(:all, :group => :committer, :conditions => ["repository_id = ?", repository.id])
commits_by_author = Changeset.where("repository_id = ?", repository.id).group(:committer).count
commits_by_author.to_a.sort! {|x, y| x.last <=> y.last}
changes_by_author = Change.count(:all, :group => :committer, :include => :changeset, :conditions => ["#{Changeset.table_name}.repository_id = ?", repository.id])
changes_by_author = Change.joins(:changeset).where("#{Changeset.table_name}.repository_id = ?", repository.id).group(:committer).count
h = changes_by_author.inject({}) {|o, i| o[i.first] = i.last; o}
fields = commits_by_author.collect {|r| r.first}
@ -407,11 +411,11 @@ class RepositoriesController < ApplicationController
commits_data = commits_data + [0]*(10 - commits_data.length) if commits_data.length<10
changes_data = changes_data + [0]*(10 - changes_data.length) if changes_data.length<10
# Remove email adress in usernames
# Remove email address in usernames
fields = fields.collect {|c| c.gsub(%r{<.+@.+>}, '') }
graph = SVG::Graph::BarHorizontal.new(
:height => 400,
:height => 30 * commits_data.length,
:width => 800,
:fields => fields,
:stack => :side,

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -33,9 +33,7 @@ class SettingsController < ApplicationController
if request.post? && params[:settings] && params[:settings].is_a?(Hash)
settings = (params[:settings] || {}).dup.symbolize_keys
settings.each do |name, value|
# remove blank values in array settings
value.delete_if {|v| v.blank? } if value.is_a?(Array)
Setting[name] = value
Setting.set_from_params name, value
end
flash[:notice] = l(:notice_successful_update)
redirect_to settings_path(:tab => params[:tab])
@ -48,6 +46,9 @@ class SettingsController < ApplicationController
@guessed_host_and_path = request.host_with_port.dup
@guessed_host_and_path << ('/'+ Redmine::Utils.relative_url_root.gsub(%r{^\/}, '')) unless Redmine::Utils.relative_url_root.blank?
@commit_update_keywords = Setting.commit_update_keywords.dup
@commit_update_keywords = [{}] unless @commit_update_keywords.is_a?(Array) && @commit_update_keywords.any?
Redmine::Themes.rescan
end
end

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -19,11 +19,7 @@ class SysController < ActionController::Base
before_filter :check_enabled
def projects
p = Project.active.has_module(:repository).find(
:all,
:include => :repository,
:order => "#{Project.table_name}.identifier"
)
p = Project.active.has_module(:repository).order("#{Project.table_name}.identifier").preload(:repository).all
# extra_info attribute from repository breaks activeresource client
render :xml => p.to_xml(
:only => [:id, :identifier, :name, :is_public, :status],

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -43,22 +43,18 @@ class TimelogController < ApplicationController
def index
@query = TimeEntryQuery.build_from_params(params, :project => @project, :name => '_')
scope = time_entry_scope
sort_init(@query.sort_criteria.empty? ? [['spent_on', 'desc']] : @query.sort_criteria)
sort_update(@query.sortable_columns)
scope = time_entry_scope(:order => sort_clause).
includes(:project, :user, :issue).
preload(:issue => [:project, :tracker, :status, :assigned_to, :priority])
respond_to do |format|
format.html {
# Paginate results
@entry_count = scope.count
@entry_pages = Paginator.new @entry_count, per_page_option, params['page']
@entries = scope.all(
:include => [:project, :activity, :user, {:issue => :tracker}],
:order => sort_clause,
:limit => @entry_pages.per_page,
:offset => @entry_pages.offset
)
@entries = scope.offset(@entry_pages.offset).limit(@entry_pages.per_page).all
@total_hours = scope.sum(:hours).to_f
render :layout => !request.xhr?
@ -66,27 +62,15 @@ class TimelogController < ApplicationController
format.api {
@entry_count = scope.count
@offset, @limit = api_offset_and_limit
@entries = scope.all(
:include => [:project, :activity, :user, {:issue => :tracker}],
:order => sort_clause,
:limit => @limit,
:offset => @offset
)
@entries = scope.offset(@offset).limit(@limit).preload(:custom_values => :custom_field).all
}
format.atom {
entries = scope.all(
:include => [:project, :activity, :user, {:issue => :tracker}],
:order => "#{TimeEntry.table_name}.created_on DESC",
:limit => Setting.feeds_limit.to_i
)
entries = scope.limit(Setting.feeds_limit.to_i).reorder("#{TimeEntry.table_name}.created_on DESC").all
render_feed(entries, :title => l(:label_spent_time))
}
format.csv {
# Export all entries
@entries = scope.all(
:include => [:project, :activity, :user, {:issue => [:tracker, :assigned_to, :priority]}],
:order => sort_clause
)
@entries = scope.all
send_data(query_to_csv(@entries, @query, params), :type => 'text/csv; header=present', :filename => 'timelog.csv')
}
end
@ -198,6 +182,7 @@ class TimelogController < ApplicationController
time_entry.safe_attributes = attributes
call_hook(:controller_time_entries_bulk_edit_before_save, { :params => params, :time_entry => time_entry })
unless time_entry.save
logger.info "time entry could not be updated: #{time_entry.errors.full_messages}" if logger && logger.info
# Keep unsaved time_entry ids to display them in flash error
unsaved_time_entry_ids << time_entry.id
end
@ -247,7 +232,7 @@ private
end
def find_time_entries
@time_entries = TimeEntry.find_all_by_id(params[:id] || params[:ids])
@time_entries = TimeEntry.where(:id => params[:id] || params[:ids]).all
raise ActiveRecord::RecordNotFound if @time_entries.empty?
@projects = @time_entries.collect(&:project).compact.uniq
@project = @projects.first if @projects.size == 1
@ -295,12 +280,10 @@ private
end
# Returns the TimeEntry scope for index and report actions
def time_entry_scope
scope = TimeEntry.visible.where(@query.statement)
def time_entry_scope(options={})
scope = @query.results_scope(options)
if @issue
scope = scope.on_issue(@issue)
elsif @project
scope = scope.on_project(@project, Setting.display_subprojects_issues?)
end
scope
end

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -60,7 +60,7 @@ class UsersController < ApplicationController
def show
# show projects based on current user visibility
@memberships = @user.memberships.all(:conditions => Project.visible_condition(User.current))
@memberships = @user.memberships.where(Project.visible_condition(User.current)).all
events = Redmine::Activity::Fetcher.new(User.current, :author => @user).events(nil, nil, :limit => 10)
@events_by_day = events.group_by(&:event_date)
@ -80,6 +80,7 @@ class UsersController < ApplicationController
def new
@user = User.new(:language => Setting.default_language, :mail_notification => Setting.default_notification_option)
@user.safe_attributes = params[:user]
@auth_sources = AuthSource.all
end
@ -89,20 +90,17 @@ class UsersController < ApplicationController
@user.admin = params[:user][:admin] || false
@user.login = params[:user][:login]
@user.password, @user.password_confirmation = params[:user][:password], params[:user][:password_confirmation] unless @user.auth_source_id
@user.pref.attributes = params[:pref]
if @user.save
@user.pref.attributes = params[:pref]
@user.pref[:no_self_notified] = (params[:no_self_notified] == '1')
@user.pref.save
@user.notified_project_ids = (@user.mail_notification == 'selected' ? params[:notified_project_ids] : [])
Mailer.account_information(@user, params[:user][:password]).deliver if params[:send_information]
Mailer.account_information(@user, @user.password).deliver if params[:send_information]
respond_to do |format|
format.html {
flash[:notice] = l(:notice_user_successful_create, :id => view_context.link_to(@user.login, user_path(@user)))
if params[:continue]
redirect_to new_user_path
attrs = params[:user].slice(:generate_password)
redirect_to new_user_path(:user => attrs)
else
redirect_to edit_user_path(@user)
end
@ -137,16 +135,14 @@ class UsersController < ApplicationController
was_activated = (@user.status_change == [User::STATUS_REGISTERED, User::STATUS_ACTIVE])
# TODO: Similar to My#account
@user.pref.attributes = params[:pref]
@user.pref[:no_self_notified] = (params[:no_self_notified] == '1')
if @user.save
@user.pref.save
@user.notified_project_ids = (@user.mail_notification == 'selected' ? params[:notified_project_ids] : [])
if was_activated
Mailer.account_activated(@user).deliver
elsif @user.active? && params[:send_information] && !params[:user][:password].blank? && @user.auth_source_id.nil?
Mailer.account_information(@user, params[:user][:password]).deliver
elsif @user.active? && params[:send_information] && @user.password.present? && @user.auth_source_id.nil?
Mailer.account_information(@user, @user.password).deliver
end
respond_to do |format|

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -46,11 +46,11 @@ class VersionsController < ApplicationController
@issues_by_version = {}
if @selected_tracker_ids.any? && @versions.any?
issues = Issue.visible.all(
:include => [:project, :status, :tracker, :priority, :fixed_version],
:conditions => {:tracker_id => @selected_tracker_ids, :project_id => project_ids, :fixed_version_id => @versions.map(&:id)},
:order => "#{Project.table_name}.lft, #{Tracker.table_name}.position, #{Issue.table_name}.id"
)
issues = Issue.visible.
includes(:project, :tracker).
preload(:status, :priority, :fixed_version).
where(:tracker_id => @selected_tracker_ids, :project_id => project_ids, :fixed_version_id => @versions.map(&:id)).
order("#{Project.table_name}.lft, #{Tracker.table_name}.position, #{Issue.table_name}.id")
@issues_by_version = issues.group_by(&:fixed_version)
end
@versions.reject! {|version| !project_ids.include?(version.project_id) && @issues_by_version[version].blank?}

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -30,6 +30,7 @@ class WatchersController < ApplicationController
accept_api_auth :create, :destroy
def new
@users = users_for_new_watcher
end
def create
@ -44,7 +45,7 @@ class WatchersController < ApplicationController
end
respond_to do |format|
format.html { redirect_to_referer_or {render :text => 'Watcher added.', :layout => true}}
format.js
format.js { @users = users_for_new_watcher }
format.api { render_api_ok }
end
end
@ -52,7 +53,10 @@ class WatchersController < ApplicationController
def append
if params[:watcher].is_a?(Hash)
user_ids = params[:watcher][:user_ids] || [params[:watcher][:user_id]]
@users = User.active.find_all_by_id(user_ids)
@users = User.active.where(:id => user_ids).all
end
if @users.blank?
render :nothing => true
end
end
@ -66,10 +70,7 @@ class WatchersController < ApplicationController
end
def autocomplete_for_user
@users = User.active.sorted.like(params[:q]).limit(100).all
if @watched
@users -= @watched.watcher_users
end
@users = users_for_new_watcher
render :layout => false
end
@ -91,8 +92,14 @@ class WatchersController < ApplicationController
def find_watchables
klass = Object.const_get(params[:object_type].camelcase) rescue nil
if klass && klass.respond_to?('watched_by')
@watchables = klass.find_all_by_id(Array.wrap(params[:object_id]))
raise Unauthorized if @watchables.any? {|w| w.respond_to?(:visible?) && !w.visible?}
@watchables = klass.where(:id => Array.wrap(params[:object_id])).all
raise Unauthorized if @watchables.any? {|w|
if w.respond_to?(:visible?)
!w.visible?
elsif w.respond_to?(:project) && w.project
!w.project.visible?
end
}
end
render_404 unless @watchables.present?
end
@ -106,4 +113,17 @@ class WatchersController < ApplicationController
format.js { render :partial => 'set_watcher', :locals => {:user => user, :watched => watchables} }
end
end
def users_for_new_watcher
users = []
if params[:q].blank? && @project.present?
users = @project.users.sorted
else
users = User.active.sorted.like(params[:q]).limit(100)
end
if @watched
users -= @watched.watcher_users
end
users
end
end

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -15,8 +15,6 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
require 'diff'
# The WikiController follows the Rails REST controller pattern but with
# a few differences
#
@ -64,7 +62,12 @@ class WikiController < ApplicationController
# display a page (in editing mode if it doesn't exist)
def show
if @page.new_record?
if params[:version] && !User.current.allowed_to?(:view_wiki_edits, @project)
deny_access
return
end
@content = @page.content_for_version(params[:version])
if @content.nil?
if User.current.allowed_to?(:edit_wiki_pages, @project) && editable? && !api_request?
edit
render :action => 'edit'
@ -73,11 +76,6 @@ class WikiController < ApplicationController
end
return
end
if params[:version] && !User.current.allowed_to?(:view_wiki_edits, @project)
deny_access
return
end
@content = @page.content_for_version(params[:version])
if User.current.allowed_to?(:export_wiki_pages, @project)
if params[:format] == 'pdf'
send_data(wiki_page_to_pdf(@page, @project), :type => 'application/pdf', :filename => "#{@page.title}.pdf")
@ -106,19 +104,19 @@ class WikiController < ApplicationController
def edit
return render_403 unless editable?
if @page.new_record?
@page.content = WikiContent.new(:page => @page)
if params[:parent].present?
@page.parent = @page.wiki.find_page(params[:parent].to_s)
end
end
@content = @page.content_for_version(params[:version])
@content ||= WikiContent.new(:page => @page)
@content.text = initial_page_content(@page) if @content.text.blank?
# don't keep previous comment
@content.comments = nil
# To prevent StaleObjectError exception when reverting to a previous version
@content.version = @page.content.version
@content.version = @page.content.version if @page.content
@text = @content.text
if params[:section].present? && Redmine::WikiFormatting.supports_section_edit?
@ -132,10 +130,9 @@ class WikiController < ApplicationController
def update
return render_403 unless editable?
was_new_page = @page.new_record?
@page.content = WikiContent.new(:page => @page) if @page.new_record?
@page.safe_attributes = params[:wiki_page]
@content = @page.content
@content = @page.content || WikiContent.new(:page => @page)
content_params = params[:content]
if content_params.nil? && params[:wiki_page].is_a?(Hash)
content_params = params[:wiki_page].slice(:text, :comments, :version)
@ -147,20 +144,23 @@ class WikiController < ApplicationController
if params[:section].present? && Redmine::WikiFormatting.supports_section_edit?
@section = params[:section].to_i
@section_hash = params[:section_hash]
@content.text = Redmine::WikiFormatting.formatter.new(@content.text).update_section(params[:section].to_i, @text, @section_hash)
@content.text = Redmine::WikiFormatting.formatter.new(@content.text).update_section(@section, @text, @section_hash)
else
@content.version = content_params[:version] if content_params[:version]
@content.text = @text
end
@content.author = User.current
if @page.save_with_content
if @page.save_with_content(@content)
attachments = Attachment.attach_files(@page, params[:attachments])
render_attachment_warning_if_needed(@page)
call_hook(:controller_wiki_edit_after_save, { :params => params, :page => @page})
respond_to do |format|
format.html { redirect_to project_wiki_page_path(@project, @page.title) }
format.html {
anchor = @section ? "section-#{@section}" : nil
redirect_to project_wiki_page_path(@project, @page.title, :anchor => anchor)
}
format.api {
if was_new_page
render :action => 'show', :status => :created, :location => project_wiki_page_path(@project, @page.title)
@ -277,14 +277,19 @@ class WikiController < ApplicationController
# Export wiki to a single pdf or html file
def export
@pages = @wiki.pages.all(:order => 'title', :include => [:content, {:attachments => :author}])
@pages = @wiki.pages.
order('title').
includes([:content, {:attachments => :author}]).
all
respond_to do |format|
format.html {
export = render_to_string :action => 'export_multiple', :layout => false
send_data(export, :type => 'text/html', :filename => "wiki.html")
}
format.pdf {
send_data(wiki_pages_to_pdf(@pages, @project), :type => 'application/pdf', :filename => "#{@project.identifier}.pdf")
send_data(wiki_pages_to_pdf(@pages, @project),
:type => 'application/pdf',
:filename => "#{@project.identifier}.pdf")
}
end
end
@ -351,6 +356,10 @@ private
end
def load_pages_for_index
@pages = @wiki.pages.with_updated_on.reorder("#{WikiPage.table_name}.title").includes(:wiki => :project).includes(:parent).all
@pages = @wiki.pages.with_updated_on.
reorder("#{WikiPage.table_name}.title").
includes(:wiki => :project).
includes(:parent).
all
end
end

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -18,39 +18,30 @@
class WorkflowsController < ApplicationController
layout 'admin'
before_filter :require_admin, :find_roles, :find_trackers
before_filter :require_admin
def index
@workflow_counts = WorkflowTransition.count_by_tracker_and_role
end
def edit
@role = Role.find_by_id(params[:role_id]) if params[:role_id]
@tracker = Tracker.find_by_id(params[:tracker_id]) if params[:tracker_id]
find_trackers_roles_and_statuses_for_edit
if request.post?
WorkflowTransition.destroy_all( ["role_id=? and tracker_id=?", @role.id, @tracker.id])
(params[:issue_status] || []).each { |status_id, transitions|
transitions.each { |new_status_id, options|
author = options.is_a?(Array) && options.include?('author') && !options.include?('always')
assignee = options.is_a?(Array) && options.include?('assignee') && !options.include?('always')
WorkflowTransition.create(:role_id => @role.id, :tracker_id => @tracker.id, :old_status_id => status_id, :new_status_id => new_status_id, :author => author, :assignee => assignee)
}
}
if @role.save
redirect_to workflows_edit_path(:role_id => @role, :tracker_id => @tracker, :used_statuses_only => params[:used_statuses_only])
return
if request.post? && @roles && @trackers && params[:transitions]
transitions = params[:transitions].deep_dup
transitions.each do |old_status_id, transitions_by_new_status|
transitions_by_new_status.each do |new_status_id, transition_by_rule|
transition_by_rule.reject! {|rule, transition| transition == 'no_change'}
end
end
WorkflowTransition.replace_transitions(@trackers, @roles, transitions)
flash[:notice] = l(:notice_successful_update)
redirect_to_referer_or workflows_edit_path
return
end
@used_statuses_only = (params[:used_statuses_only] == '0' ? false : true)
if @tracker && @used_statuses_only && @tracker.issue_statuses.any?
@statuses = @tracker.issue_statuses
end
@statuses ||= IssueStatus.sorted.all
if @tracker && @role && @statuses.any?
workflows = WorkflowTransition.where(:role_id => @role.id, :tracker_id => @tracker.id).all
if @trackers && @roles && @statuses.any?
workflows = WorkflowTransition.where(:role_id => @roles.map(&:id), :tracker_id => @trackers.map(&:id))
@workflows = {}
@workflows['always'] = workflows.select {|w| !w.author && !w.assignee}
@workflows['author'] = workflows.select {|w| w.author}
@ -59,35 +50,30 @@ class WorkflowsController < ApplicationController
end
def permissions
@role = Role.find_by_id(params[:role_id]) if params[:role_id]
@tracker = Tracker.find_by_id(params[:tracker_id]) if params[:tracker_id]
find_trackers_roles_and_statuses_for_edit
if request.post? && @role && @tracker
WorkflowPermission.replace_permissions(@tracker, @role, params[:permissions] || {})
redirect_to workflows_permissions_path(:role_id => @role, :tracker_id => @tracker, :used_statuses_only => params[:used_statuses_only])
if request.post? && @roles && @trackers && params[:permissions]
permissions = params[:permissions].deep_dup
permissions.each { |field, rule_by_status_id|
rule_by_status_id.reject! {|status_id, rule| rule == 'no_change'}
}
WorkflowPermission.replace_permissions(@trackers, @roles, permissions)
flash[:notice] = l(:notice_successful_update)
redirect_to_referer_or workflows_permissions_path
return
end
@used_statuses_only = (params[:used_statuses_only] == '0' ? false : true)
if @tracker && @used_statuses_only && @tracker.issue_statuses.any?
@statuses = @tracker.issue_statuses
end
@statuses ||= IssueStatus.sorted.all
if @role && @tracker
@fields = (Tracker::CORE_FIELDS_ALL - @tracker.disabled_core_fields).map {|field| [field, l("field_"+field.sub(/_id$/, ''))]}
@custom_fields = @tracker.custom_fields
@permissions = WorkflowPermission.where(:tracker_id => @tracker.id, :role_id => @role.id).all.inject({}) do |h, w|
h[w.old_status_id] ||= {}
h[w.old_status_id][w.field_name] = w.rule
h
end
if @roles && @trackers
@fields = (Tracker::CORE_FIELDS_ALL - @trackers.map(&:disabled_core_fields).reduce(:&)).map {|field| [field, l("field_"+field.sub(/_id$/, ''))]}
@custom_fields = @trackers.map(&:custom_fields).flatten.uniq.sort
@permissions = WorkflowPermission.rules_by_status_id(@trackers, @roles)
@statuses.each {|status| @permissions[status.id] ||= {}}
end
end
def copy
@roles = Role.sorted
@trackers = Tracker.sorted
if params[:source_tracker_id].blank? || params[:source_tracker_id] == 'any'
@source_tracker = nil
@ -99,10 +85,10 @@ class WorkflowsController < ApplicationController
else
@source_role = Role.find_by_id(params[:source_role_id].to_i)
end
@target_trackers = params[:target_tracker_ids].blank? ? nil : Tracker.find_all_by_id(params[:target_tracker_ids])
@target_roles = params[:target_role_ids].blank? ? nil : Role.find_all_by_id(params[:target_role_ids])
@target_trackers = params[:target_tracker_ids].blank? ?
nil : Tracker.where(:id => params[:target_tracker_ids]).all
@target_roles = params[:target_role_ids].blank? ?
nil : Role.where(:id => params[:target_role_ids]).all
if request.post?
if params[:source_tracker_id].blank? || params[:source_role_id].blank? || (@source_tracker.nil? && @source_role.nil?)
flash.now[:error] = l(:error_workflow_copy_source)
@ -118,11 +104,37 @@ class WorkflowsController < ApplicationController
private
def find_trackers_roles_and_statuses_for_edit
find_roles
find_trackers
find_statuses
end
def find_roles
@roles = Role.sorted.all
ids = Array.wrap(params[:role_id])
if ids == ['all']
@roles = Role.sorted.all
elsif ids.present?
@roles = Role.where(:id => ids).all
end
@roles = nil if @roles.blank?
end
def find_trackers
@trackers = Tracker.sorted.all
ids = Array.wrap(params[:tracker_id])
if ids == ['all']
@trackers = Tracker.sorted.all
elsif ids.present?
@trackers = Tracker.where(:id => ids).all
end
@trackers = nil if @trackers.blank?
end
def find_statuses
@used_statuses_only = (params[:used_statuses_only] == '0' ? false : true)
if @trackers && @used_statuses_only
@statuses = @trackers.map(&:issue_statuses).flatten.uniq.sort.presence
end
@statuses ||= IssueStatus.sorted.all
end
end

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -24,4 +24,12 @@ module AdminHelper
[l(:project_status_closed), '5'],
[l(:project_status_archived), '9']], selected.to_s)
end
def plugin_data_for_updates(plugins)
data = {"v" => Redmine::VERSION.to_s, "p" => {}}
plugins.each do |plugin|
data["p"].merge! plugin.id => {"v" => plugin.version, "n" => plugin.name, "a" => plugin.author}
end
data
end
end

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -72,14 +72,16 @@ module ApplicationHelper
subject = nil
text = options[:tracker] == false ? "##{issue.id}" : "#{issue.tracker} ##{issue.id}"
if options[:subject] == false
title = truncate(issue.subject, :length => 60)
title = issue.subject.truncate(60)
else
subject = issue.subject
if options[:truncate]
subject = truncate(subject, :length => options[:truncate])
if truncate_length = options[:truncate]
subject = subject.truncate(truncate_length)
end
end
s = link_to text, issue_path(issue), :class => issue.css_classes, :title => title
only_path = options[:only_path].nil? ? true : options[:only_path]
s = link_to(text, issue_path(issue, :only_path => only_path),
:class => issue.css_classes, :title => title)
s << h(": #{subject}") if subject
s = h("#{issue.project} - ") + s if options[:project]
s
@ -116,7 +118,7 @@ module ApplicationHelper
# Generates a link to a message
def link_to_message(message, options={}, html_options = nil)
link_to(
truncate(message.subject, :length => 60),
message.subject.truncate(60),
board_message_path(message.board_id, message.parent_id || message.id, {
:r => (message.parent_id && message.id),
:anchor => (message.parent_id ? "message-#{message.id}" : nil)
@ -155,6 +157,50 @@ module ApplicationHelper
end
end
# Helper that formats object for html or text rendering
def format_object(object, html=true, &block)
if block_given?
object = yield object
end
case object.class.name
when 'Array'
object.map {|o| format_object(o, html)}.join(', ').html_safe
when 'Time'
format_time(object)
when 'Date'
format_date(object)
when 'Fixnum'
object.to_s
when 'Float'
sprintf "%.2f", object
when 'User'
html ? link_to_user(object) : object.to_s
when 'Project'
html ? link_to_project(object) : object.to_s
when 'Version'
html ? link_to(object.name, version_path(object)) : object.to_s
when 'TrueClass'
l(:general_text_Yes)
when 'FalseClass'
l(:general_text_No)
when 'Issue'
object.visible? && html ? link_to_issue(object) : "##{object.id}"
when 'CustomValue', 'CustomFieldValue'
if object.custom_field
f = object.custom_field.format.formatted_custom_value(self, object, html)
if f.nil? || f.is_a?(String)
f
else
format_object(f, html, &block)
end
else
object.value.to_s
end
else
html ? h(object) : object.to_s
end
end
def wiki_page_path(page, options={})
url_for({:controller => 'wiki', :action => 'show', :project_id => page.project, :id => page.title}.merge(options))
end
@ -181,7 +227,7 @@ module ApplicationHelper
end
def format_activity_title(text)
h(truncate_single_line(text, :length => 100))
h(truncate_single_line_raw(text, 100))
end
def format_activity_day(date)
@ -189,7 +235,7 @@ module ApplicationHelper
end
def format_activity_description(text)
h(truncate(text.to_s, :length => 120).gsub(%r{[\r\n]*<(pre|code)>.*$}m, '...')
h(text.to_s.truncate(120).gsub(%r{[\r\n]*<(pre|code)>.*$}m, '...')
).gsub(/[\r\n]+/, "<br />").html_safe
end
@ -266,9 +312,13 @@ module ApplicationHelper
end
# Renders tabs and their content
def render_tabs(tabs)
def render_tabs(tabs, selected=params[:tab])
if tabs.any?
render :partial => 'common/tabs', :locals => {:tabs => tabs}
unless tabs.detect {|tab| tab[:name] == selected}
selected = nil
end
selected ||= tabs.first[:name]
render :partial => 'common/tabs', :locals => {:tabs => tabs, :selected_tab => selected}
else
content_tag 'p', l(:label_no_data), :class => "nodata"
end
@ -330,7 +380,7 @@ module ApplicationHelper
end
groups = ''
collection.sort.each do |element|
selected_attribute = ' selected="selected"' if option_value_selected?(element, selected)
selected_attribute = ' selected="selected"' if option_value_selected?(element, selected) || element.id.to_s == selected
(element.is_a?(Group) ? groups : s) << %(<option value="#{element.id}"#{selected_attribute}>#{h element.name}</option>)
end
unless groups.empty?
@ -343,16 +393,28 @@ module ApplicationHelper
def options_for_membership_project_select(principal, projects)
options = content_tag('option', "--- #{l(:actionview_instancetag_blank_option)} ---")
options << project_tree_options_for_select(projects) do |p|
{:disabled => principal.projects.include?(p)}
{:disabled => principal.projects.to_a.include?(p)}
end
options
end
def option_tag(name, text, value, selected=nil, options={})
content_tag 'option', value, options.merge(:value => value, :selected => (value == selected))
end
# Truncates and returns the string as a single line
def truncate_single_line(string, *args)
ActiveSupport::Deprecation.warn(
"ApplicationHelper#truncate_single_line is deprecated and will be removed in Rails 4 poring")
# Rails 4 ActionView::Helpers::TextHelper#truncate escapes.
# So, result is broken.
truncate(string.to_s, *args).gsub(%r{[\r\n]+}m, ' ')
end
def truncate_single_line_raw(string, length)
string.truncate(length).gsub(%r{[\r\n]+}m, ' ')
end
# Truncates at line break after 250 characters or options[:length]
def truncate_lines(string, options={})
length = options[:length] || 250
@ -380,7 +442,7 @@ module ApplicationHelper
if @project
link_to(text, {:controller => 'activities', :action => 'index', :id => @project, :from => User.current.time_to_date(time)}, :title => format_time(time))
else
content_tag('acronym', text, :title => format_time(time))
content_tag('abbr', text, :title => format_time(time))
end
end
@ -445,12 +507,31 @@ module ApplicationHelper
end
end
# Returns a h2 tag and sets the html title with the given arguments
def title(*args)
strings = args.map do |arg|
if arg.is_a?(Array) && arg.size >= 2
link_to(*arg)
else
h(arg.to_s)
end
end
html_title args.reverse.map {|s| (s.is_a?(Array) ? s.first : s).to_s}
content_tag('h2', strings.join(' &#187; ').html_safe)
end
# Sets the html title
# Returns the html title when called without arguments
# Current project name and app_title and automatically appended
# Exemples:
# html_title 'Foo', 'Bar'
# html_title # => 'Foo - Bar - My Project - Redmine'
def html_title(*args)
if args.empty?
title = @html_title || []
title << @project.name if @project
title << Setting.app_title unless Setting.app_title == title.last
title.select {|t| !t.blank? }.join(' - ')
title.reject(&:blank?).join(' - ')
else
@html_title ||= []
@html_title += args
@ -465,13 +546,18 @@ module ApplicationHelper
css << 'theme-' + theme.name
end
css << 'project-' + @project.identifier if @project && @project.identifier.present?
css << 'controller-' + controller_name
css << 'action-' + action_name
css.join(' ')
end
def accesskey(s)
Redmine::AccessKeys.key_for s
@used_accesskeys ||= []
key = Redmine::AccessKeys.key_for(s)
return nil if @used_accesskeys.include?(key)
@used_accesskeys << key
key
end
# Formats text according to system settings.
@ -611,7 +697,7 @@ module ApplicationHelper
else
wiki_page_id = page.present? ? Wiki.titleize(page) : nil
parent = wiki_page.nil? && obj.is_a?(WikiContent) && obj.page && project == link_project ? obj.page.title : nil
url_for(:only_path => only_path, :controller => 'wiki', :action => 'show', :project_id => link_project,
url_for(:only_path => only_path, :controller => 'wiki', :action => 'show', :project_id => link_project,
:id => wiki_page_id, :version => nil, :anchor => anchor, :parent => parent)
end
end
@ -652,6 +738,9 @@ module ApplicationHelper
# export:some/file -> Force the download of the file
# Forum messages:
# message#1218 -> Link to message with id 1218
# Projects:
# project:someproject -> Link to project named "someproject"
# project#3 -> Link to project with id 3
#
# Links can refer other objects from other projects, using project identifier:
# identifier:r52
@ -676,21 +765,30 @@ module ApplicationHelper
repository = project.repository
end
# project.changesets.visible raises an SQL error because of a double join on repositories
if repository && (changeset = Changeset.visible.find_by_repository_id_and_revision(repository.id, identifier))
link = link_to(h("#{project_prefix}#{repo_prefix}r#{identifier}"), {:only_path => only_path, :controller => 'repositories', :action => 'revision', :id => project, :repository_id => repository.identifier_param, :rev => changeset.revision},
:class => 'changeset',
:title => truncate_single_line(changeset.comments, :length => 100))
if repository &&
(changeset = Changeset.visible.
find_by_repository_id_and_revision(repository.id, identifier))
link = link_to(h("#{project_prefix}#{repo_prefix}r#{identifier}"),
{:only_path => only_path, :controller => 'repositories',
:action => 'revision', :id => project,
:repository_id => repository.identifier_param,
:rev => changeset.revision},
:class => 'changeset',
:title => truncate_single_line_raw(changeset.comments, 100))
end
end
elsif sep == '#'
oid = identifier.to_i
case prefix
when nil
if oid.to_s == identifier && issue = Issue.visible.find_by_id(oid, :include => :status)
if oid.to_s == identifier &&
issue = Issue.visible.includes(:status).find_by_id(oid)
anchor = comment_id ? "note-#{comment_id}" : nil
link = link_to("##{oid}", {:only_path => only_path, :controller => 'issues', :action => 'show', :id => oid, :anchor => anchor},
:class => issue.css_classes,
:title => "#{truncate(issue.subject, :length => 100)} (#{issue.status.name})")
link = link_to(h("##{oid}#{comment_suffix}"),
{:only_path => only_path, :controller => 'issues',
:action => 'show', :id => oid, :anchor => anchor},
:class => issue.css_classes,
:title => "#{issue.subject.truncate(100)} (#{issue.status.name})")
end
when 'document'
if document = Document.visible.find_by_id(oid)
@ -703,7 +801,7 @@ module ApplicationHelper
:class => 'version'
end
when 'message'
if message = Message.visible.find_by_id(oid, :include => :parent)
if message = Message.visible.includes(:parent).find_by_id(oid)
link = link_to_message(message, {:only_path => only_path}, :class => 'message')
end
when 'forum'
@ -724,6 +822,7 @@ module ApplicationHelper
elsif sep == ':'
# removes the double quotes if any
name = identifier.gsub(%r{^"(.*)"$}, "\\1")
name = CGI.unescapeHTML(name)
case prefix
when 'document'
if project && document = project.documents.visible.find_by_title(name)
@ -758,7 +857,7 @@ module ApplicationHelper
if repository && (changeset = Changeset.visible.where("repository_id = ? AND scmid LIKE ?", repository.id, "#{name}%").first)
link = link_to h("#{project_prefix}#{repo_prefix}#{name}"), {:only_path => only_path, :controller => 'repositories', :action => 'revision', :id => project, :repository_id => repository.identifier_param, :rev => changeset.identifier},
:class => 'changeset',
:title => truncate_single_line(h(changeset.comments), :length => 100)
:title => truncate_single_line_raw(changeset.comments, 100)
end
else
if repository && User.current.allowed_to?(:browse_repository, project)
@ -774,7 +873,8 @@ module ApplicationHelper
repo_prefix = nil
end
when 'attachment'
attachments = options[:attachments] || (obj && obj.respond_to?(:attachments) ? obj.attachments : nil)
attachments = options[:attachments] || []
attachments += obj.attachments if obj.respond_to?(:attachments)
if attachments && attachment = Attachment.latest_attach(attachments, name)
link = link_to_attachment(attachment, :only_path => only_path, :download => true, :class => 'attachment')
end
@ -800,7 +900,8 @@ module ApplicationHelper
content_tag('div',
link_to(image_tag('edit.png'), options[:edit_section_links].merge(:section => @current_section)),
:class => 'contextual',
:title => l(:button_edit_section)) + heading.html_safe
:title => l(:button_edit_section),
:id => "section-#{@current_section}") + heading.html_safe
else
heading
end
@ -881,19 +982,20 @@ module ApplicationHelper
end
end
TOC_RE = /<p>\{\{([<>]?)toc\}\}<\/p>/i unless const_defined?(:TOC_RE)
TOC_RE = /<p>\{\{((<|&lt;)|(>|&gt;))?toc\}\}<\/p>/i unless const_defined?(:TOC_RE)
# Renders the TOC with given headings
def replace_toc(text, headings)
text.gsub!(TOC_RE) do
left_align, right_align = $2, $3
# Keep only the 4 first levels
headings = headings.select{|level, anchor, item| level <= 4}
if headings.empty?
''
else
div_class = 'toc'
div_class << ' right' if $1 == '>'
div_class << ' left' if $1 == '<'
div_class << ' right' if right_align
div_class << ' left' if left_align
out = "<ul class=\"#{div_class}\"><li>"
root = headings.map(&:first).min
current = root
@ -971,7 +1073,7 @@ module ApplicationHelper
html << "</ul></div>\n"
end
html.html_safe
end
end
def delete_link(url, options={})
options = {
@ -985,8 +1087,8 @@ module ApplicationHelper
def preview_link(url, form, target='preview', options={})
content_tag 'a', l(:label_preview), {
:href => "#",
:onclick => %|submitPreview("#{escape_javascript url_for(url)}", "#{escape_javascript form}", "#{escape_javascript target}"); return false;|,
:href => "#",
:onclick => %|submitPreview("#{escape_javascript url_for(url)}", "#{escape_javascript form}", "#{escape_javascript target}"); return false;|,
:accesskey => accesskey(:preview)
}.merge(options)
end
@ -1031,7 +1133,7 @@ module ApplicationHelper
(pcts[0] > 0 ? content_tag('td', '', :style => "width: #{pcts[0]}%;", :class => 'closed') : ''.html_safe) +
(pcts[1] > 0 ? content_tag('td', '', :style => "width: #{pcts[1]}%;", :class => 'done') : ''.html_safe) +
(pcts[2] > 0 ? content_tag('td', '', :style => "width: #{pcts[2]}%;", :class => 'todo') : ''.html_safe)
), :class => 'progress', :style => "width: #{width};").html_safe +
), :class => "progress progress-#{pcts[0]}", :style => "width: #{width};").html_safe +
content_tag('p', legend, :class => 'percent').html_safe
end
@ -1064,6 +1166,7 @@ module ApplicationHelper
def include_calendar_headers_tags
unless @calendar_headers_tags_included
tags = javascript_include_tag("datepicker")
@calendar_headers_tags_included = true
content_for :header_tags do
start_of_week = Setting.start_of_week
@ -1071,15 +1174,16 @@ module ApplicationHelper
# Redmine uses 1..7 (monday..sunday) in settings and locales
# JQuery uses 0..6 (sunday..saturday), 7 needs to be changed to 0
start_of_week = start_of_week.to_i % 7
tags = javascript_tag(
tags << javascript_tag(
"var datepickerOptions={dateFormat: 'yy-mm-dd', firstDay: #{start_of_week}, " +
"showOn: 'button', buttonImageOnly: true, buttonImage: '" +
"showOn: 'button', buttonImageOnly: true, buttonImage: '" +
path_to_image('/images/calendar.png') +
"', showButtonPanel: true, showWeek: true, showOtherMonths: true, selectOtherMonths: true};")
"', showButtonPanel: true, showWeek: true, showOtherMonths: true, " +
"selectOtherMonths: true, changeMonth: true, changeYear: true, " +
"beforeShow: beforeShowDatePicker};")
jquery_locale = l('jquery.locale', :default => current_language.to_s)
unless jquery_locale == 'en'
tags << javascript_include_tag("i18n/jquery.ui.datepicker-#{jquery_locale}.js")
tags << javascript_include_tag("i18n/jquery.ui.datepicker-#{jquery_locale}.js")
end
tags
end
@ -1139,18 +1243,13 @@ module ApplicationHelper
super sources, options
end
def content_for(name, content = nil, &block)
@has_content ||= {}
@has_content[name] = true
super(name, content, &block)
end
# TODO: remove this in 2.5.0
def has_content?(name)
(@has_content && @has_content[name]) || false
content_for?(name)
end
def sidebar_content?
has_content?(:sidebar) || view_layouts_base_sidebar_hook_response.present?
content_for?(:sidebar) || view_layouts_base_sidebar_hook_response.present?
end
def view_layouts_base_sidebar_hook_response
@ -1180,7 +1279,7 @@ module ApplicationHelper
def sanitize_anchor_name(anchor)
if ''.respond_to?(:encoding) || RUBY_PLATFORM == 'java'
anchor.gsub(%r{[^\p{Word}\s\-]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
anchor.gsub(%r{[^\s\-\p{Word}]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
else
# TODO: remove when ruby1.8 is no longer supported
anchor.gsub(%r{[^\w\s\-]}, '').gsub(%r{\s+(\-+\s*)?}, '-')
@ -1197,7 +1296,21 @@ module ApplicationHelper
end
def favicon
"<link rel='shortcut icon' href='#{image_path('/favicon.ico')}' />".html_safe
"<link rel='shortcut icon' href='#{favicon_path}' />".html_safe
end
# Returns the path to the favicon
def favicon_path
icon = (current_theme && current_theme.favicon?) ? current_theme.favicon_path : '/favicon.ico'
image_path(icon)
end
# Returns the full URL to the favicon
def favicon_url
# TODO: use #image_url introduced in Rails4
path = favicon_path
base = url_for(:controller => 'welcome', :action => 'index', :only_path => false)
base.sub(%r{/+$},'') + '/' + path.sub(%r{^/+},'')
end
def robot_exclusion_tag
@ -1219,7 +1332,7 @@ module ApplicationHelper
def api_meta(options)
if params[:nometa].present? || request.headers['X-Redmine-Nometa']
# compatibility mode for activeresource clients that raise
# an error when unserializing an array with attributes
# an error when deserializing an array with attributes
nil
else
options

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -19,55 +19,69 @@
module CustomFieldsHelper
def custom_fields_tabs
CustomField::CUSTOM_FIELDS_TABS
CUSTOM_FIELDS_TABS = [
{:name => 'IssueCustomField', :partial => 'custom_fields/index',
:label => :label_issue_plural},
{:name => 'TimeEntryCustomField', :partial => 'custom_fields/index',
:label => :label_spent_time},
{:name => 'ProjectCustomField', :partial => 'custom_fields/index',
:label => :label_project_plural},
{:name => 'VersionCustomField', :partial => 'custom_fields/index',
:label => :label_version_plural},
{:name => 'UserCustomField', :partial => 'custom_fields/index',
:label => :label_user_plural},
{:name => 'GroupCustomField', :partial => 'custom_fields/index',
:label => :label_group_plural},
{:name => 'TimeEntryActivityCustomField', :partial => 'custom_fields/index',
:label => TimeEntryActivity::OptionName},
{:name => 'IssuePriorityCustomField', :partial => 'custom_fields/index',
:label => IssuePriority::OptionName},
{:name => 'DocumentCategoryCustomField', :partial => 'custom_fields/index',
:label => DocumentCategory::OptionName}
]
def render_custom_fields_tabs(types)
tabs = CUSTOM_FIELDS_TABS.select {|h| types.include?(h[:name]) }
render_tabs tabs
end
def custom_field_type_options
CUSTOM_FIELDS_TABS.map {|h| [l(h[:label]), h[:name]]}
end
def render_custom_field_format_partial(form, custom_field)
partial = custom_field.format.form_partial
if partial
render :partial => custom_field.format.form_partial, :locals => {:f => form, :custom_field => custom_field}
end
end
def custom_field_tag_name(prefix, custom_field)
name = "#{prefix}[custom_field_values][#{custom_field.id}]"
name << "[]" if custom_field.multiple?
name
end
def custom_field_tag_id(prefix, custom_field)
"#{prefix}_custom_field_values_#{custom_field.id}"
end
# Return custom field html tag corresponding to its format
def custom_field_tag(name, custom_value)
custom_field = custom_value.custom_field
field_name = "#{name}[custom_field_values][#{custom_field.id}]"
field_name << "[]" if custom_field.multiple?
field_id = "#{name}_custom_field_values_#{custom_field.id}"
tag_options = {:id => field_id, :class => "#{custom_field.field_format}_cf"}
field_format = Redmine::CustomFieldFormat.find_by_name(custom_field.field_format)
case field_format.try(:edit_as)
when "date"
text_field_tag(field_name, custom_value.value, tag_options.merge(:size => 10)) +
calendar_for(field_id)
when "text"
text_area_tag(field_name, custom_value.value, tag_options.merge(:rows => 3))
when "bool"
hidden_field_tag(field_name, '0') + check_box_tag(field_name, '1', custom_value.true?, tag_options)
when "list"
blank_option = ''.html_safe
unless custom_field.multiple?
if custom_field.is_required?
unless custom_field.default_value.present?
blank_option = content_tag('option', "--- #{l(:actionview_instancetag_blank_option)} ---", :value => '')
end
else
blank_option = content_tag('option')
end
end
s = select_tag(field_name, blank_option + options_for_select(custom_field.possible_values_options(custom_value.customized), custom_value.value),
tag_options.merge(:multiple => custom_field.multiple?))
if custom_field.multiple?
s << hidden_field_tag(field_name, '')
end
s
else
text_field_tag(field_name, custom_value.value, tag_options)
end
def custom_field_tag(prefix, custom_value)
custom_value.custom_field.format.edit_tag self,
custom_field_tag_id(prefix, custom_value.custom_field),
custom_field_tag_name(prefix, custom_value.custom_field),
custom_value,
:class => "#{custom_value.custom_field.field_format}_cf"
end
# Return custom field label tag
def custom_field_label_tag(name, custom_value, options={})
required = options[:required] || custom_value.custom_field.is_required?
title = custom_value.custom_field.description.presence
content = content_tag 'span', custom_value.custom_field.name, :title => title
content_tag "label", h(custom_value.custom_field.name) +
content_tag "label", content +
(required ? " <span class=\"required\">*</span>".html_safe : ""),
:for => "#{name}_custom_field_values_#{custom_value.custom_field.id}"
end
@ -77,53 +91,30 @@ module CustomFieldsHelper
custom_field_label_tag(name, custom_value, options) + custom_field_tag(name, custom_value)
end
def custom_field_tag_for_bulk_edit(name, custom_field, projects=nil)
field_name = "#{name}[custom_field_values][#{custom_field.id}]"
field_name << "[]" if custom_field.multiple?
field_id = "#{name}_custom_field_values_#{custom_field.id}"
tag_options = {:id => field_id, :class => "#{custom_field.field_format}_cf"}
field_format = Redmine::CustomFieldFormat.find_by_name(custom_field.field_format)
case field_format.try(:edit_as)
when "date"
text_field_tag(field_name, '', tag_options.merge(:size => 10)) +
calendar_for(field_id)
when "text"
text_area_tag(field_name, '', tag_options.merge(:rows => 3))
when "bool"
select_tag(field_name, options_for_select([[l(:label_no_change_option), ''],
[l(:general_text_yes), '1'],
[l(:general_text_no), '0']]), tag_options)
when "list"
options = []
options << [l(:label_no_change_option), ''] unless custom_field.multiple?
options << [l(:label_none), '__none__'] unless custom_field.is_required?
options += custom_field.possible_values_options(projects)
select_tag(field_name, options_for_select(options), tag_options.merge(:multiple => custom_field.multiple?))
else
text_field_tag(field_name, '', tag_options)
end
# Returns the custom field tag for when bulk editing objects
def custom_field_tag_for_bulk_edit(prefix, custom_field, objects=nil, value='')
custom_field.format.bulk_edit_tag self,
custom_field_tag_id(prefix, custom_field),
custom_field_tag_name(prefix, custom_field),
custom_field,
objects,
value,
:class => "#{custom_field.field_format}_cf"
end
# Return a string used to display a custom value
def show_value(custom_value)
return "" unless custom_value
format_value(custom_value.value, custom_value.custom_field.field_format)
def show_value(custom_value, html=true)
format_object(custom_value, html)
end
# Return a string used to display a custom value
def format_value(value, field_format)
if value.is_a?(Array)
value.collect {|v| format_value(v, field_format)}.compact.sort.join(', ')
else
Redmine::CustomFieldFormat.format_value(value, field_format)
end
def format_value(value, custom_field)
format_object(custom_field.format.formatted_value(self, custom_field, value, false), false)
end
# Return an array of custom field formats which can be used in select_tag
def custom_field_formats_for_select(custom_field)
Redmine::CustomFieldFormat.as_select(custom_field.class.customized_class.name)
Redmine::FieldFormat.as_select(custom_field.class.customized_class.name)
end
# Renders the custom_values in api views
@ -146,4 +137,8 @@ module CustomFieldsHelper
end
end unless custom_values.empty?
end
def edit_tag_style_tag(form)
form.select :edit_tag_style, [[l(:label_drop_down_list), ''], [l(:label_checkboxes), 'check_box']], :label => :label_display
end
end

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -94,6 +94,20 @@ module IssuesHelper
s.html_safe
end
# Returns an array of error messages for bulk edited issues
def bulk_edit_error_messages(issues)
messages = {}
issues.each do |issue|
issue.errors.full_messages.each do |message|
messages[message] ||= []
messages[message] << issue
end
end
messages.map { |message, issues|
"#{message}: " + issues.map {|i| "##{i.id}"}.join(', ')
}
end
# Returns a link for adding a new subtask to the given issue
def link_to_new_subtask(issue)
attrs = {
@ -146,18 +160,20 @@ module IssuesHelper
end
def render_custom_fields_rows(issue)
return if issue.custom_field_values.empty?
values = issue.visible_custom_field_values
return if values.empty?
ordered_values = []
half = (issue.custom_field_values.size / 2.0).ceil
half = (values.size / 2.0).ceil
half.times do |i|
ordered_values << issue.custom_field_values[i]
ordered_values << issue.custom_field_values[i + half]
ordered_values << values[i]
ordered_values << values[i + half]
end
s = "<tr>\n"
n = 0
ordered_values.compact.each do |value|
css = "cf_#{value.custom_field.id}"
s << "</tr>\n<tr>\n" if n > 0 && (n % 2) == 0
s << "\t<th>#{ h(value.custom_field.name) }:</th><td>#{ simple_format_without_paragraph(h(show_value(value))) }</td>\n"
s << "\t<th class=\"#{css}\">#{ h(value.custom_field.name) }:</th><td class=\"#{css}\">#{ h(show_value(value)) }</td>\n"
n += 1
end
s << "</tr>\n"
@ -184,36 +200,60 @@ module IssuesHelper
def sidebar_queries
unless @sidebar_queries
@sidebar_queries = IssueQuery.visible.all(
:order => "#{Query.table_name}.name ASC",
@sidebar_queries = IssueQuery.visible.
order("#{Query.table_name}.name ASC").
# Project specific queries and global queries
:conditions => (@project.nil? ? ["project_id IS NULL"] : ["project_id IS NULL OR project_id = ?", @project.id])
)
where(@project.nil? ? ["project_id IS NULL"] : ["project_id IS NULL OR project_id = ?", @project.id]).
all
end
@sidebar_queries
end
def query_links(title, queries)
return '' if queries.empty?
# links to #index on issues/show
url_params = controller_name == 'issues' ? {:controller => 'issues', :action => 'index', :project_id => @project} : params
content_tag('h3', h(title)) +
queries.collect {|query|
css = 'query'
css << ' selected' if query == @query
link_to(h(query.name), url_params.merge(:query_id => query), :class => css)
}.join('<br />').html_safe
content_tag('h3', title) + "\n" +
content_tag('ul',
queries.collect {|query|
css = 'query'
css << ' selected' if query == @query
content_tag('li', link_to(query.name, url_params.merge(:query_id => query), :class => css))
}.join("\n").html_safe,
:class => 'queries'
) + "\n"
end
def render_sidebar_queries
out = ''.html_safe
queries = sidebar_queries.select {|q| !q.is_public?}
out << query_links(l(:label_my_queries), queries) if queries.any?
queries = sidebar_queries.select {|q| q.is_public?}
out << query_links(l(:label_query_plural), queries) if queries.any?
out << query_links(l(:label_my_queries), sidebar_queries.select(&:is_private?))
out << query_links(l(:label_query_plural), sidebar_queries.reject(&:is_private?))
out
end
def email_issue_attributes(issue, user)
items = []
%w(author status priority assigned_to category fixed_version).each do |attribute|
unless issue.disabled_core_fields.include?(attribute+"_id")
items << "#{l("field_#{attribute}")}: #{issue.send attribute}"
end
end
issue.visible_custom_field_values(user).each do |value|
items << "#{value.custom_field.name}: #{show_value(value, false)}"
end
items
end
def render_email_issue_attributes(issue, user, html=false)
items = email_issue_attributes(issue, user)
if html
content_tag('ul', items.map{|s| content_tag('li', s)}.join("\n").html_safe)
else
items.map{|s| "* #{s}"}.join("\n")
end
end
# Returns the textual representation of a journal details
# as an array of strings
def details_to_strings(details, no_html=false, options={})
@ -222,23 +262,23 @@ module IssuesHelper
values_by_field = {}
details.each do |detail|
if detail.property == 'cf'
field_id = detail.prop_key
field = CustomField.find_by_id(field_id)
field = detail.custom_field
if field && field.multiple?
values_by_field[field_id] ||= {:added => [], :deleted => []}
values_by_field[field] ||= {:added => [], :deleted => []}
if detail.old_value
values_by_field[field_id][:deleted] << detail.old_value
values_by_field[field][:deleted] << detail.old_value
end
if detail.value
values_by_field[field_id][:added] << detail.value
values_by_field[field][:added] << detail.value
end
next
end
end
strings << show_detail(detail, no_html, options)
end
values_by_field.each do |field_id, changes|
detail = JournalDetail.new(:property => 'cf', :prop_key => field_id)
values_by_field.each do |field, changes|
detail = JournalDetail.new(:property => 'cf', :prop_key => field.id.to_s)
detail.instance_variable_set "@custom_field", field
if changes[:added].any?
detail.value = changes[:added]
strings << show_detail(detail, no_html, options)
@ -281,15 +321,27 @@ module IssuesHelper
old_value = l(detail.old_value == "0" ? :general_text_No : :general_text_Yes) unless detail.old_value.blank?
end
when 'cf'
custom_field = CustomField.find_by_id(detail.prop_key)
custom_field = detail.custom_field
if custom_field
multiple = custom_field.multiple?
label = custom_field.name
value = format_value(detail.value, custom_field.field_format) if detail.value
old_value = format_value(detail.old_value, custom_field.field_format) if detail.old_value
value = format_value(detail.value, custom_field) if detail.value
old_value = format_value(detail.old_value, custom_field) if detail.old_value
end
when 'attachment'
label = l(:label_attachment)
when 'relation'
if detail.value && !detail.old_value
rel_issue = Issue.visible.find_by_id(detail.value)
value = rel_issue.nil? ? "#{l(:label_issue)} ##{detail.value}" :
(no_html ? rel_issue : link_to_issue(rel_issue, :only_path => options[:only_path]))
elsif detail.old_value && !detail.value
rel_issue = Issue.visible.find_by_id(detail.old_value)
old_value = rel_issue.nil? ? "#{l(:label_issue)} ##{detail.old_value}" :
(no_html ? rel_issue : link_to_issue(rel_issue, :only_path => options[:only_path]))
end
relation_type = IssueRelation::TYPES[detail.prop_key]
label = l(relation_type[:name]) if relation_type
end
call_hook(:helper_issues_show_detail_after_setting,
{:detail => detail, :label => label, :value => value, :old_value => old_value })
@ -301,7 +353,9 @@ module IssuesHelper
unless no_html
label = content_tag('strong', label)
old_value = content_tag("i", h(old_value)) if detail.old_value
old_value = content_tag("del", old_value) if detail.old_value and detail.value.blank?
if detail.old_value && detail.value.blank? && detail.property != 'relation'
old_value = content_tag("del", old_value)
end
if detail.property == 'attachment' && !value.blank? && atta = Attachment.find_by_id(detail.prop_key)
# Link to the attachment if it has not been removed
value = link_to_attachment(atta, :download => true, :only_path => options[:only_path])
@ -337,7 +391,7 @@ module IssuesHelper
else
l(:text_journal_set_to, :label => label, :value => value).html_safe
end
when 'attachment'
when 'attachment', 'relation'
l(:text_journal_added, :label => label, :value => value).html_safe
end
else
@ -353,7 +407,10 @@ module IssuesHelper
association = Issue.reflect_on_association(field.to_sym)
if association
record = association.class_name.constantize.find_by_id(id)
return record.name if record
if record
record.name.force_encoding('UTF-8') if record.name.respond_to?(:force_encoding)
return record.name
end
end
end

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -20,7 +20,7 @@
module ProjectsHelper
def link_to_version(version, options = {})
return '' unless version && version.is_a?(Version)
link_to_if version.visible?, format_version_name(version), { :controller => 'versions', :action => 'show', :id => version }, options
link_to_if version.visible?, format_version_name(version), version_path(version), options
end
def project_settings_tabs
@ -46,11 +46,26 @@ module ProjectsHelper
end
options = ''
options << "<option value=''></option>" if project.allowed_parents.include?(nil)
options << "<option value=''>&nbsp;</option>" if project.allowed_parents.include?(nil)
options << project_tree_options_for_select(project.allowed_parents.compact, :selected => selected)
content_tag('select', options.html_safe, :name => 'project[parent_id]', :id => 'project_parent_id')
end
def render_project_action_links
links = []
if User.current.allowed_to?(:add_project, nil, :global => true)
links << link_to(l(:label_project_new), new_project_path, :class => 'icon icon-add')
end
if User.current.allowed_to?(:view_issues, nil, :global => true)
links << link_to(l(:label_issue_view_all), issues_path)
end
if User.current.allowed_to?(:view_time_entries, nil, :global => true)
links << link_to(l(:label_overall_spent_time), time_entries_path)
end
links << link_to(l(:label_overall_activity), activity_path)
links.join(" | ").html_safe
end
# Renders the projects index
def render_project_hierarchy(projects)
render_project_nested_lists(projects) do |project|
@ -69,10 +84,11 @@ module ProjectsHelper
grouped[version.project.name] << [version.name, version.id]
end
selected = selected.is_a?(Version) ? selected.id : selected
if grouped.keys.size > 1
grouped_options_for_select(grouped, selected && selected.id)
grouped_options_for_select(grouped, selected)
else
options_for_select((grouped.values.first || []), selected && selected.id)
options_for_select((grouped.values.first || []), selected)
end
end

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -18,6 +18,8 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
module QueriesHelper
include ApplicationHelper
def filters_options_for_select(query)
options_for_select(filters_options(query))
end
@ -29,10 +31,34 @@ module QueriesHelper
end
end
def query_filters_hidden_tags(query)
tags = ''.html_safe
query.filters.each do |field, options|
tags << hidden_field_tag("f[]", field, :id => nil)
tags << hidden_field_tag("op[#{field}]", options[:operator], :id => nil)
options[:values].each do |value|
tags << hidden_field_tag("v[#{field}][]", value, :id => nil)
end
end
tags
end
def query_columns_hidden_tags(query)
tags = ''.html_safe
query.columns.each do |column|
tags << hidden_field_tag("c[]", column.name, :id => nil)
end
tags
end
def query_hidden_tags(query)
query_filters_hidden_tags(query) + query_columns_hidden_tags(query)
end
def available_block_columns_tags(query)
tags = ''.html_safe
query.available_block_columns.each do |column|
tags << content_tag('label', check_box_tag('c[]', column.name.to_s, query.has_column?(column)) + " #{column.caption}", :class => 'inline')
tags << content_tag('label', check_box_tag('c[]', column.name.to_s, query.has_column?(column), :id => nil) + " #{column.caption}", :class => 'inline')
end
tags
end
@ -57,7 +83,7 @@ module QueriesHelper
end
def column_content(column, issue)
value = column.value(issue)
value = column.value_object(issue)
if value.is_a?(Array)
value.collect {|v| column_value(column, issue, v)}.compact.join(', ').html_safe
else
@ -66,53 +92,27 @@ module QueriesHelper
end
def column_value(column, issue, value)
case value.class.name
when 'String'
if column.name == :subject
link_to(h(value), :controller => 'issues', :action => 'show', :id => issue)
elsif column.name == :description
issue.description? ? content_tag('div', textilizable(issue, :description), :class => "wiki") : ''
else
h(value)
end
when 'Time'
format_time(value)
when 'Date'
format_date(value)
when 'Fixnum'
if column.name == :id
link_to value, issue_path(issue)
elsif column.name == :done_ratio
progress_bar(value, :width => '80px')
else
value.to_s
end
when 'Float'
sprintf "%.2f", value
when 'User'
link_to_user value
when 'Project'
link_to_project value
when 'Version'
link_to(h(value), :controller => 'versions', :action => 'show', :id => value)
when 'TrueClass'
l(:general_text_Yes)
when 'FalseClass'
l(:general_text_No)
when 'Issue'
value.visible? ? link_to_issue(value) : "##{value.id}"
when 'IssueRelation'
case column.name
when :id
link_to value, issue_path(issue)
when :subject
link_to value, issue_path(issue)
when :description
issue.description? ? content_tag('div', textilizable(issue, :description), :class => "wiki") : ''
when :done_ratio
progress_bar(value, :width => '80px')
when :relations
other = value.other_issue(issue)
content_tag('span',
(l(value.label_for(issue)) + " " + link_to_issue(other, :subject => false, :tracker => false)).html_safe,
:class => value.css_classes_for(issue))
else
h(value)
format_object(value)
end
end
def csv_content(column, issue)
value = column.value(issue)
value = column.value_object(issue)
if value.is_a?(Array)
value.collect {|v| csv_value(column, issue, v)}.compact.join(', ')
else
@ -121,18 +121,16 @@ module QueriesHelper
end
def csv_value(column, issue, value)
case value.class.name
when 'Time'
format_time(value)
when 'Date'
format_date(value)
when 'Float'
sprintf("%.2f", value).gsub('.', l(:general_csv_decimal_separator))
when 'IssueRelation'
other = value.other_issue(issue)
l(value.label_for(issue)) + " ##{other.id}"
else
value.to_s
format_object(value, false) do |value|
case value.class.name
when 'Float'
sprintf("%.2f", value).gsub('.', l(:general_csv_decimal_separator))
when 'IssueRelation'
other = value.other_issue(issue)
l(value.label_for(issue)) + " ##{other.id}"
else
value
end
end
end
@ -161,7 +159,7 @@ module QueriesHelper
if !params[:query_id].blank?
cond = "project_id IS NULL"
cond << " OR project_id = #{@project.id}" if @project
@query = IssueQuery.find(params[:query_id], :conditions => cond)
@query = IssueQuery.where(cond).find(params[:query_id])
raise ::Unauthorized unless @query.visible?
@query.project = @project
session[:query] = {:id => @query.id, :project_id => @query.project_id}
@ -174,6 +172,7 @@ module QueriesHelper
session[:query] = {:project_id => @query.project_id, :filters => @query.filters, :group_by => @query.group_by, :column_names => @query.column_names}
else
# retrieve from session
@query = nil
@query = IssueQuery.find_by_id(session[:query][:id]) if session[:query][:id]
@query ||= IssueQuery.new(:name => "_", :filters => session[:query][:filters], :group_by => session[:query][:group_by], :column_names => session[:query][:column_names])
@query.project = @project

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -24,7 +24,7 @@ module ReportsHelper
data.each { |row|
match = 1
criteria.each { |k, v|
match = 0 unless (row[k].to_s == v.to_s) || (k == 'closed' && row[k] == (v == 0 ? "f" : "t"))
match = 0 unless (row[k].to_s == v.to_s) || (k == 'closed' && (v == 0 ? ['f', false] : ['t', true]).include?(row[k]))
} unless criteria.nil?
a = a + row["total"].to_i if match == 1
} unless data.nil?

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -43,7 +43,7 @@ module RepositoriesHelper
end
def render_changeset_changes
changes = @changeset.filechanges.limit(1000).reorder('path').all.collect do |change|
changes = @changeset.filechanges.limit(1000).reorder('path').collect do |change|
case change.action
when 'A'
# Detects moved/copied files

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -79,17 +79,29 @@ module SettingsHelper
def setting_label(setting, options={})
label = options.delete(:label)
label != false ? label_tag("settings_#{setting}", l(label || "setting_#{setting}")).html_safe : ''
label != false ? label_tag("settings_#{setting}", l(label || "setting_#{setting}"), options[:label_options]).html_safe : ''
end
# Renders a notification field for a Redmine::Notifiable option
def notification_field(notifiable)
return content_tag(:label,
check_box_tag('settings[notified_events][]',
notifiable.name,
Setting.notified_events.include?(notifiable.name), :id => nil).html_safe +
l_or_humanize(notifiable.name, :prefix => 'label_').html_safe,
:class => notifiable.parent.present? ? "parent" : '').html_safe
tag_data = notifiable.parent.present? ?
{:parent_notifiable => notifiable.parent} :
{:disables => "input[data-parent-notifiable=#{notifiable.name}]"}
tag = check_box_tag('settings[notified_events][]',
notifiable.name,
Setting.notified_events.include?(notifiable.name),
:id => nil,
:data => tag_data)
text = l_or_humanize(notifiable.name, :prefix => 'label_')
options = {}
if notifiable.parent.present?
options[:class] = "parent"
end
content_tag(:label, tag + text, options)
end
def cross_project_subtasks_options

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -96,8 +96,10 @@ module TimelogHelper
else
obj
end
elsif cf = criteria_options[:custom_field]
format_value(value, cf)
else
format_value(value, criteria_options[:format])
value.to_s
end
end
@ -107,14 +109,14 @@ module TimelogHelper
# Column headers
headers = report.criteria.collect {|criteria| l(report.available_criteria[criteria][:label]) }
headers += report.periods
headers << l(:label_total)
headers << l(:label_total_time)
csv << headers.collect {|c| Redmine::CodesetUtil.from_utf8(
c.to_s,
l(:general_csv_encoding) ) }
# Content
report_criteria_to_csv(csv, report.available_criteria, report.columns, report.criteria, report.periods, report.hours)
# Total row
str_total = Redmine::CodesetUtil.from_utf8(l(:label_total), l(:general_csv_encoding))
str_total = Redmine::CodesetUtil.from_utf8(l(:label_total_time), l(:general_csv_encoding))
row = [ str_total ] + [''] * (report.criteria.size - 1)
total = 0
report.periods.each do |period|

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -19,7 +19,7 @@
module UsersHelper
def users_status_options_for_select(selected)
user_count_by_status = User.count(:group => 'status').to_hash
user_count_by_status = User.group('status').count.to_hash
options_for_select([[l(:label_all), ''],
["#{l(:status_active)} (#{user_count_by_status[1].to_i})", '1'],
["#{l(:status_registered)} (#{user_count_by_status[2].to_i})", '2'],

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -35,12 +35,9 @@ module VersionsHelper
h = Hash.new {|k,v| k[v] = [0, 0]}
begin
# Total issue count
Issue.count(:group => criteria,
:conditions => ["#{Issue.table_name}.fixed_version_id = ?", version.id]).each {|c,s| h[c][0] = s}
Issue.where(:fixed_version_id => version.id).group(criteria).count.each {|c,s| h[c][0] = s}
# Open issues count
Issue.count(:group => criteria,
:include => :status,
:conditions => ["#{Issue.table_name}.fixed_version_id = ? AND #{IssueStatus.table_name}.is_closed = ?", version.id, false]).each {|c,s| h[c][1] = s}
Issue.open.where(:fixed_version_id => version.id).group(criteria).count.each {|c,s| h[c][1] = s}
rescue ActiveRecord::RecordNotFound
# When grouping by an association, Rails throws this exception if there's no result (bug)
end

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -27,8 +27,9 @@ module WatchersHelper
def watcher_link(objects, user)
return '' unless user && user.logged?
objects = Array.wrap(objects)
return '' unless objects.any?
watched = objects.any? {|object| object.watched_by?(user)}
watched = Watcher.any_watched?(objects, user)
css = [watcher_css(objects), watched ? 'icon icon-fav' : 'icon icon-fav-off'].join(' ')
text = watched ? l(:button_unwatch) : l(:button_watch)
url = watch_path(

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,7 +1,7 @@
# encoding: utf-8
#
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -18,15 +18,78 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
module WorkflowsHelper
def options_for_workflow_select(name, objects, selected, options={})
option_tags = ''.html_safe
multiple = false
if selected
if selected.size == objects.size
selected = 'all'
else
selected = selected.map(&:id)
if selected.size > 1
multiple = true
end
end
else
selected = objects.first.try(:id)
end
all_tag_options = {:value => 'all', :selected => (selected == 'all')}
if multiple
all_tag_options.merge!(:style => "display:none;")
end
option_tags << content_tag('option', l(:label_all), all_tag_options)
option_tags << options_from_collection_for_select(objects, "id", "name", selected)
select_tag name, option_tags, {:multiple => multiple}.merge(options)
end
def field_required?(field)
field.is_a?(CustomField) ? field.is_required? : %w(project_id tracker_id subject priority_id is_private).include?(field)
end
def field_permission_tag(permissions, status, field)
def field_permission_tag(permissions, status, field, roles)
name = field.is_a?(CustomField) ? field.id.to_s : field
options = [["", ""], [l(:label_readonly), "readonly"]]
options << [l(:label_required), "required"] unless field_required?(field)
html_options = {}
if perm = permissions[status.id][name]
if perm.uniq.size > 1 || perm.size < @roles.size * @trackers.size
options << [l(:label_no_change_option), "no_change"]
selected = 'no_change'
else
selected = perm.first
end
end
select_tag("permissions[#{name}][#{status.id}]", options_for_select(options, permissions[status.id][name]))
hidden = field.is_a?(CustomField) &&
!field.visible? &&
!roles.detect {|role| role.custom_fields.to_a.include?(field)}
if hidden
options[0][0] = l(:label_hidden)
selected = ''
html_options[:disabled] = true
end
select_tag("permissions[#{status.id}][#{name}]", options_for_select(options, selected), html_options)
end
def transition_tag(workflows, old_status, new_status, name)
w = workflows.select {|w| w.old_status_id == old_status.id && w.new_status_id == new_status.id}.size
tag_name = "transitions[#{ old_status.id }][#{new_status.id}][#{name}]"
if w == 0 || w == @roles.size * @trackers.size
hidden_field_tag(tag_name, "0") +
check_box_tag(tag_name, "1", w != 0,
:class => "old-status-#{old_status.id} new-status-#{new_status.id}")
else
select_tag tag_name,
options_for_select([
[l(:general_text_Yes), "1"],
[l(:general_text_No), "0"],
[l(:label_no_change_option), "no_change"]
], "no_change")
end
end
end

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -102,7 +102,7 @@ class Attachment < ActiveRecord::Base
if @temp_file && (@temp_file.size > 0)
self.disk_directory = target_directory
self.disk_filename = Attachment.disk_filename(filename, disk_directory)
logger.info("Saving attachment '#{self.diskfile}' (#{@temp_file.size} bytes)")
logger.info("Saving attachment '#{self.diskfile}' (#{@temp_file.size} bytes)") if logger
path = File.dirname(diskfile)
unless File.directory?(path)
FileUtils.mkdir_p(path)
@ -265,14 +265,25 @@ class Attachment < ActiveRecord::Base
# Moves an existing attachment to its target directory
def move_to_target_directory!
if !new_record? & readable?
src = diskfile
self.disk_directory = target_directory
dest = diskfile
if src != dest && FileUtils.mkdir_p(File.dirname(dest)) && FileUtils.mv(src, dest)
update_column :disk_directory, disk_directory
end
return unless !new_record? & readable?
src = diskfile
self.disk_directory = target_directory
dest = diskfile
return if src == dest
if !FileUtils.mkdir_p(File.dirname(dest))
logger.error "Could not create directory #{File.dirname(dest)}" if logger
return
end
if !FileUtils.mv(src, dest)
logger.error "Could not move attachment from #{src} to #{dest}" if logger
return
end
update_column :disk_directory, disk_directory
end
# Moves existing attachments that are stored at the root of the files
@ -294,10 +305,10 @@ class Attachment < ActiveRecord::Base
def sanitize_filename(value)
# get only the filename, not the whole path
just_filename = value.gsub(/^.*(\\|\/)/, '')
just_filename = value.gsub(/\A.*(\\|\/)/m, '')
# Finally, replace invalid characters with underscore
@filename = just_filename.gsub(/[\/\?\%\*\:\|\"\'<>]+/, '_')
@filename = just_filename.gsub(/[\/\?\%\*\:\|\"\'<>\n\r]+/, '_')
end
# Returns the subdirectory in which the attachment will be saved

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -77,7 +77,7 @@ class AuthSource < ActiveRecord::Base
# Try to authenticate a user not yet registered against available sources
def self.authenticate(login, password)
AuthSource.where(:onthefly_register => true).all.each do |source|
AuthSource.where(:onthefly_register => true).each do |source|
begin
logger.debug "Authenticating '#{login}' against '#{source.name}'" if logger && logger.debug?
attrs = source.authenticate(login, password)

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -60,10 +60,10 @@ class Board < ActiveRecord::Base
# Updates topics_count, messages_count and last_message_id attributes for +board_id+
def self.reset_counters!(board_id)
board_id = board_id.to_i
update_all("topics_count = (SELECT COUNT(*) FROM #{Message.table_name} WHERE board_id=#{board_id} AND parent_id IS NULL)," +
where(["id = ?", board_id]).
update_all("topics_count = (SELECT COUNT(*) FROM #{Message.table_name} WHERE board_id=#{board_id} AND parent_id IS NULL)," +
" messages_count = (SELECT COUNT(*) FROM #{Message.table_name} WHERE board_id=#{board_id})," +
" last_message_id = (SELECT MAX(id) FROM #{Message.table_name} WHERE board_id=#{board_id})",
["id = ?", board_id])
" last_message_id = (SELECT MAX(id) FROM #{Message.table_name} WHERE board_id=#{board_id})")
end
def self.board_tree(boards, parent_id=nil, level=0)

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -118,22 +118,25 @@ class Changeset < ActiveRecord::Base
ref_keywords = Setting.commit_ref_keywords.downcase.split(",").collect(&:strip)
ref_keywords_any = ref_keywords.delete('*')
# keywords used to fix issues
fix_keywords = Setting.commit_fix_keywords.downcase.split(",").collect(&:strip)
fix_keywords = Setting.commit_update_keywords_array.map {|r| r['keywords']}.flatten.compact
kw_regexp = (ref_keywords + fix_keywords).collect{|kw| Regexp.escape(kw)}.join("|")
referenced_issues = []
comments.scan(/([\s\(\[,-]|^)((#{kw_regexp})[\s:]+)?(#\d+(\s+@#{TIMELOG_RE})?([\s,;&]+#\d+(\s+@#{TIMELOG_RE})?)*)(?=[[:punct:]]|\s|<|$)/i) do |match|
action, refs = match[2], match[3]
action, refs = match[2].to_s.downcase, match[3]
next unless action.present? || ref_keywords_any
refs.scan(/#(\d+)(\s+@#{TIMELOG_RE})?/).each do |m|
issue, hours = find_referenced_issue_by_id(m[0].to_i), m[2]
if issue
referenced_issues << issue
fix_issue(issue) if fix_keywords.include?(action.to_s.downcase)
log_time(issue, hours) if hours && Setting.commit_logtime_enabled?
# Don't update issues or log time when importing old commits
unless repository.created_on && committed_on && committed_on < repository.created_on
fix_issue(issue, action) if fix_keywords.include?(action)
log_time(issue, hours) if hours && Setting.commit_logtime_enabled?
end
end
end
end
@ -151,13 +154,14 @@ class Changeset < ActiveRecord::Base
end
def text_tag(ref_project=nil)
tag = if scmid?
"commit:#{scmid}"
else
"r#{revision}"
end
repo = ""
if repository && repository.identifier.present?
tag = "#{repository.identifier}|#{tag}"
repo = "#{repository.identifier}|"
end
tag = if scmid?
"commit:#{repo}#{scmid}"
else
"#{repo}r#{revision}"
end
if ref_project && project && ref_project != project
tag = "#{project.identifier}:#{tag}"
@ -194,7 +198,7 @@ class Changeset < ActiveRecord::Base
# Finds an issue that can be referenced by the commit message
def find_referenced_issue_by_id(id)
return nil if id.blank?
issue = Issue.find_by_id(id.to_i, :include => :project)
issue = Issue.includes(:project).where(:id => id.to_i).first
if Setting.commit_cross_project_ref?
# all issues can be referenced/fixed
elsif issue
@ -210,25 +214,26 @@ class Changeset < ActiveRecord::Base
private
def fix_issue(issue)
status = IssueStatus.find_by_id(Setting.commit_fix_status_id.to_i)
if status.nil?
logger.warn("No status matches commit_fix_status_id setting (#{Setting.commit_fix_status_id})") if logger
return issue
end
# Updates the +issue+ according to +action+
def fix_issue(issue, action)
# the issue may have been updated by the closure of another one (eg. duplicate)
issue.reload
# don't change the status is the issue is closed
return if issue.status && issue.status.is_closed?
journal = issue.init_journal(user || User.anonymous, ll(Setting.default_language, :text_status_changed_by_changeset, text_tag(issue.project)))
issue.status = status
unless Setting.commit_fix_done_ratio.blank?
issue.done_ratio = Setting.commit_fix_done_ratio.to_i
journal = issue.init_journal(user || User.anonymous,
ll(Setting.default_language,
:text_status_changed_by_changeset,
text_tag(issue.project)))
rule = Setting.commit_update_keywords_array.detect do |rule|
rule['keywords'].include?(action) &&
(rule['if_tracker_id'].blank? || rule['if_tracker_id'] == issue.tracker_id.to_s)
end
if rule
issue.assign_attributes rule.slice(*Issue.attribute_names)
end
Redmine::Hook.call_hook(:model_changeset_scan_commit_for_issue_ids_pre_issue_update,
{ :changeset => self, :issue => issue })
{ :changeset => self, :issue => issue, :action => action })
unless issue.save
logger.warn("Issue ##{issue.id} could not be saved by changeset #{id}: #{issue.errors.full_messages}") if logger
end

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -22,5 +22,16 @@ class Comment < ActiveRecord::Base
validates_presence_of :commented, :author, :comments
after_create :send_notification
safe_attributes 'comments'
private
def send_notification
mailer_method = "#{commented.class.name.underscore}_comment_added"
if Setting.notified_events.include?(mailer_method)
Mailer.send(mailer_method, self).deliver
end
end
end

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -19,60 +19,71 @@ class CustomField < ActiveRecord::Base
include Redmine::SubclassFactory
has_many :custom_values, :dependent => :delete_all
has_and_belongs_to_many :roles, :join_table => "#{table_name_prefix}custom_fields_roles#{table_name_suffix}", :foreign_key => "custom_field_id"
acts_as_list :scope => 'type = \'#{self.class}\''
serialize :possible_values
store :format_store
validates_presence_of :name, :field_format
validates_uniqueness_of :name, :scope => :type
validates_length_of :name, :maximum => 30
validates_inclusion_of :field_format, :in => Redmine::CustomFieldFormat.available_formats
validates_inclusion_of :field_format, :in => Proc.new { Redmine::FieldFormat.available_formats }
validate :validate_custom_field
before_validation :set_searchable
before_save do |field|
field.format.before_custom_field_save(field)
end
after_save :handle_multiplicity_change
after_save do |field|
if field.visible_changed? && field.visible
field.roles.clear
end
end
scope :sorted, lambda { order("#{table_name}.position ASC") }
scope :visible, lambda {|*args|
user = args.shift || User.current
if user.admin?
# nop
elsif user.memberships.any?
where("#{table_name}.visible = ? OR #{table_name}.id IN (SELECT DISTINCT cfr.custom_field_id FROM #{Member.table_name} m" +
" INNER JOIN #{MemberRole.table_name} mr ON mr.member_id = m.id" +
" INNER JOIN #{table_name_prefix}custom_fields_roles#{table_name_suffix} cfr ON cfr.role_id = mr.role_id" +
" WHERE m.user_id = ?)",
true, user.id)
else
where(:visible => true)
end
}
CUSTOM_FIELDS_TABS = [
{:name => 'IssueCustomField', :partial => 'custom_fields/index',
:label => :label_issue_plural},
{:name => 'TimeEntryCustomField', :partial => 'custom_fields/index',
:label => :label_spent_time},
{:name => 'ProjectCustomField', :partial => 'custom_fields/index',
:label => :label_project_plural},
{:name => 'VersionCustomField', :partial => 'custom_fields/index',
:label => :label_version_plural},
{:name => 'UserCustomField', :partial => 'custom_fields/index',
:label => :label_user_plural},
{:name => 'GroupCustomField', :partial => 'custom_fields/index',
:label => :label_group_plural},
{:name => 'TimeEntryActivityCustomField', :partial => 'custom_fields/index',
:label => TimeEntryActivity::OptionName},
{:name => 'IssuePriorityCustomField', :partial => 'custom_fields/index',
:label => IssuePriority::OptionName},
{:name => 'DocumentCategoryCustomField', :partial => 'custom_fields/index',
:label => DocumentCategory::OptionName}
]
def visible_by?(project, user=User.current)
visible? || user.admin?
end
CUSTOM_FIELDS_NAMES = CUSTOM_FIELDS_TABS.collect{|v| v[:name]}
def format
@format ||= Redmine::FieldFormat.find(field_format)
end
def field_format=(arg)
# cannot change format of a saved custom field
super if new_record?
if new_record?
@format = nil
super
end
end
def set_searchable
# make sure these fields are not searchable
self.searchable = false if %w(int float date bool).include?(field_format)
self.searchable = false unless format.class.searchable_supported
# make sure only these fields can have multiple values
self.multiple = false unless %w(list user version).include?(field_format)
self.multiple = false unless format.class.multiple_supported
true
end
def validate_custom_field
if self.field_format == "list"
errors.add(:possible_values, :blank) if self.possible_values.nil? || self.possible_values.empty?
errors.add(:possible_values, :invalid) unless self.possible_values.is_a? Array
format.validate_custom_field(self).each do |attribute, message|
errors.add attribute, message
end
if regexp.present?
@ -83,78 +94,49 @@ class CustomField < ActiveRecord::Base
end
end
if default_value.present? && !valid_field_value?(default_value)
errors.add(:default_value, :invalid)
if default_value.present?
validate_field_value(default_value).each do |message|
errors.add :default_value, message
end
end
end
def possible_values_options(obj=nil)
case field_format
when 'user', 'version'
if obj.respond_to?(:project) && obj.project
case field_format
when 'user'
obj.project.users.sort.collect {|u| [u.to_s, u.id.to_s]}
when 'version'
obj.project.shared_versions.sort.collect {|u| [u.to_s, u.id.to_s]}
end
elsif obj.is_a?(Array)
obj.collect {|o| possible_values_options(o)}.reduce(:&)
else
[]
end
when 'bool'
[[l(:general_text_Yes), '1'], [l(:general_text_No), '0']]
def possible_custom_value_options(custom_value)
format.possible_custom_value_options(custom_value)
end
def possible_values_options(object=nil)
if object.is_a?(Array)
object.map {|o| format.possible_values_options(self, o)}.reduce(:&) || []
else
possible_values || []
format.possible_values_options(self, object) || []
end
end
def possible_values(obj=nil)
case field_format
when 'user', 'version'
possible_values_options(obj).collect(&:last)
when 'bool'
['1', '0']
else
values = super()
if values.is_a?(Array)
values.each do |value|
value.force_encoding('UTF-8') if value.respond_to?(:force_encoding)
end
def possible_values
values = read_attribute(:possible_values)
if values.is_a?(Array)
values.each do |value|
value.force_encoding('UTF-8') if value.respond_to?(:force_encoding)
end
values || []
values
else
[]
end
end
# Makes possible_values accept a multiline string
def possible_values=(arg)
if arg.is_a?(Array)
super(arg.compact.collect(&:strip).select {|v| !v.blank?})
values = arg.compact.collect(&:strip).select {|v| !v.blank?}
write_attribute(:possible_values, values)
else
self.possible_values = arg.to_s.split(/[\n\r]+/)
end
end
def cast_value(value)
casted = nil
unless value.blank?
case field_format
when 'string', 'text', 'list'
casted = value
when 'date'
casted = begin; value.to_date; rescue; nil end
when 'bool'
casted = (value == '1' ? true : false)
when 'int'
casted = value.to_i
when 'float'
casted = value.to_f
when 'user', 'version'
casted = (value.blank? ? nil : field_format.classify.constantize.find_by_id(value.to_i))
end
end
casted
format.cast_value(self, value)
end
def value_from_keyword(keyword, customized)
@ -178,80 +160,46 @@ class CustomField < ActiveRecord::Base
# Returns nil if the custom field can not be used for sorting.
def order_statement
return nil if multiple?
case field_format
when 'string', 'text', 'list', 'date', 'bool'
# COALESCE is here to make sure that blank and NULL values are sorted equally
"COALESCE(#{join_alias}.value, '')"
when 'int', 'float'
# Make the database cast values into numeric
# Postgresql will raise an error if a value can not be casted!
# CustomValue validations should ensure that it doesn't occur
"CAST(CASE #{join_alias}.value WHEN '' THEN '0' ELSE #{join_alias}.value END AS decimal(30,3))"
when 'user', 'version'
value_class.fields_for_order_statement(value_join_alias)
else
nil
end
format.order_statement(self)
end
# Returns a GROUP BY clause that can used to group by custom value
# Returns nil if the custom field can not be used for grouping.
def group_statement
return nil if multiple?
case field_format
when 'list', 'date', 'bool', 'int'
order_statement
when 'user', 'version'
"COALESCE(#{join_alias}.value, '')"
else
nil
end
format.group_statement(self)
end
def join_for_order_statement
case field_format
when 'user', 'version'
"LEFT OUTER JOIN #{CustomValue.table_name} #{join_alias}" +
" ON #{join_alias}.customized_type = '#{self.class.customized_class.base_class.name}'" +
" AND #{join_alias}.customized_id = #{self.class.customized_class.table_name}.id" +
" AND #{join_alias}.custom_field_id = #{id}" +
" AND #{join_alias}.value <> ''" +
" AND #{join_alias}.id = (SELECT max(#{join_alias}_2.id) FROM #{CustomValue.table_name} #{join_alias}_2" +
" WHERE #{join_alias}_2.customized_type = #{join_alias}.customized_type" +
" AND #{join_alias}_2.customized_id = #{join_alias}.customized_id" +
" AND #{join_alias}_2.custom_field_id = #{join_alias}.custom_field_id)" +
" LEFT OUTER JOIN #{value_class.table_name} #{value_join_alias}" +
" ON CAST(CASE #{join_alias}.value WHEN '' THEN '0' ELSE #{join_alias}.value END AS decimal(30,0)) = #{value_join_alias}.id"
when 'int', 'float'
"LEFT OUTER JOIN #{CustomValue.table_name} #{join_alias}" +
" ON #{join_alias}.customized_type = '#{self.class.customized_class.base_class.name}'" +
" AND #{join_alias}.customized_id = #{self.class.customized_class.table_name}.id" +
" AND #{join_alias}.custom_field_id = #{id}" +
" AND #{join_alias}.value <> ''" +
" AND #{join_alias}.id = (SELECT max(#{join_alias}_2.id) FROM #{CustomValue.table_name} #{join_alias}_2" +
" WHERE #{join_alias}_2.customized_type = #{join_alias}.customized_type" +
" AND #{join_alias}_2.customized_id = #{join_alias}.customized_id" +
" AND #{join_alias}_2.custom_field_id = #{join_alias}.custom_field_id)"
when 'string', 'text', 'list', 'date', 'bool'
"LEFT OUTER JOIN #{CustomValue.table_name} #{join_alias}" +
" ON #{join_alias}.customized_type = '#{self.class.customized_class.base_class.name}'" +
" AND #{join_alias}.customized_id = #{self.class.customized_class.table_name}.id" +
" AND #{join_alias}.custom_field_id = #{id}" +
" AND #{join_alias}.id = (SELECT max(#{join_alias}_2.id) FROM #{CustomValue.table_name} #{join_alias}_2" +
" WHERE #{join_alias}_2.customized_type = #{join_alias}.customized_type" +
" AND #{join_alias}_2.customized_id = #{join_alias}.customized_id" +
" AND #{join_alias}_2.custom_field_id = #{join_alias}.custom_field_id)"
else
nil
format.join_for_order_statement(self)
end
def visibility_by_project_condition(project_key=nil, user=User.current, id_column=nil)
if visible? || user.admin?
"1=1"
elsif user.anonymous?
"1=0"
else
project_key ||= "#{self.class.customized_class.table_name}.project_id"
id_column ||= id
"#{project_key} IN (SELECT DISTINCT m.project_id FROM #{Member.table_name} m" +
" INNER JOIN #{MemberRole.table_name} mr ON mr.member_id = m.id" +
" INNER JOIN #{table_name_prefix}custom_fields_roles#{table_name_suffix} cfr ON cfr.role_id = mr.role_id" +
" WHERE m.user_id = #{user.id} AND cfr.custom_field_id = #{id_column})"
end
end
def join_alias
"cf_#{id}"
end
def value_join_alias
join_alias + "_" + field_format
def self.visibility_condition
if user.admin?
"1=1"
elsif user.anonymous?
"#{table_name}.visible"
else
"#{project_key} IN (SELECT DISTINCT m.project_id FROM #{Member.table_name} m" +
" INNER JOIN #{MemberRole.table_name} mr ON mr.member_id = m.id" +
" INNER JOIN #{table_name_prefix}custom_fields_roles#{table_name_suffix} cfr ON cfr.role_id = mr.role_id" +
" WHERE m.user_id = #{user.id} AND cfr.custom_field_id = #{id})"
end
end
def <=>(field)
@ -260,17 +208,12 @@ class CustomField < ActiveRecord::Base
# Returns the class that values represent
def value_class
case field_format
when 'user', 'version'
field_format.classify.constantize
else
nil
end
format.target_class if format.respond_to?(:target_class)
end
def self.customized_class
self.name =~ /^(.+)CustomField$/
begin; $1.constantize; rescue nil; end
$1.constantize rescue nil
end
# to move in project_custom_field
@ -284,7 +227,8 @@ class CustomField < ActiveRecord::Base
# Returns the error messages for the given value
# or an empty array if value is a valid value for the custom field
def validate_field_value(value)
def validate_custom_value(custom_value)
value = custom_value.value
errs = []
if value.is_a?(Array)
if !multiple?
@ -293,16 +237,20 @@ class CustomField < ActiveRecord::Base
if is_required? && value.detect(&:present?).nil?
errs << ::I18n.t('activerecord.errors.messages.blank')
end
value.each {|v| errs += validate_field_value_format(v)}
else
if is_required? && value.blank?
errs << ::I18n.t('activerecord.errors.messages.blank')
end
errs += validate_field_value_format(value)
end
errs += format.validate_custom_value(custom_value)
errs
end
# Returns the error messages for the default custom field value
def validate_field_value(value)
validate_custom_value(CustomValue.new(:custom_field => self, :value => value))
end
# Returns true if value is a valid value for the custom field
def valid_field_value?(value)
validate_field_value(value).empty?
@ -314,29 +262,6 @@ class CustomField < ActiveRecord::Base
protected
# Returns the error message for the given value regarding its format
def validate_field_value_format(value)
errs = []
if value.present?
errs << ::I18n.t('activerecord.errors.messages.invalid') unless regexp.blank? or value =~ Regexp.new(regexp)
errs << ::I18n.t('activerecord.errors.messages.too_short', :count => min_length) if min_length > 0 and value.length < min_length
errs << ::I18n.t('activerecord.errors.messages.too_long', :count => max_length) if max_length > 0 and value.length > max_length
# Format specific validations
case field_format
when 'int'
errs << ::I18n.t('activerecord.errors.messages.not_a_number') unless value =~ /^[+-]?\d+$/
when 'float'
begin; Kernel.Float(value); rescue; errs << ::I18n.t('activerecord.errors.messages.invalid') end
when 'date'
errs << ::I18n.t('activerecord.errors.messages.not_a_date') unless value =~ /^\d{4}-\d{2}-\d{2}$/ && begin; value.to_date; rescue; false end
when 'list'
errs << ::I18n.t('activerecord.errors.messages.inclusion') unless possible_values.include?(value)
end
end
errs
end
# Removes multiple values for the custom field after setting the multiple attribute to false
# We kepp the value with the highest id for each customized object
def handle_multiplicity_change
@ -353,3 +278,5 @@ class CustomField < ActiveRecord::Base
end
end
end
require_dependency 'redmine/field_format'

View File

@ -1,5 +1,5 @@
# Redmine - project management software
# Copyright (C) 2006-2013 Jean-Philippe Lang
# Copyright (C) 2006-2014 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
@ -16,7 +16,13 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class CustomFieldValue
attr_accessor :custom_field, :customized, :value
attr_accessor :custom_field, :customized, :value, :value_was
def initialize(attributes={})
attributes.each do |name, v|
send "#{name}=", v
end
end
def custom_field_id
custom_field.id
@ -43,7 +49,7 @@ class CustomFieldValue
end
def validate_value
custom_field.validate_field_value(value).each do |message|
custom_field.validate_custom_value(self).each do |message|
customized.errors.add(:base, custom_field.name + ' ' + message)
end
end

Some files were not shown because too many files have changed in this diff Show More