redmine_extensions 0.1.11 → 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2024) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +0 -6
  3. data/app/assets/javascripts/redmine_extensions/jquery.entityarray.js +1 -1
  4. data/app/assets/javascripts/redmine_extensions/redmine_extensions.js +6 -2
  5. data/app/views/common/_closing_modal.html.erb +2 -2
  6. data/app/views/common/close_modal.js.erb +4 -4
  7. data/lib/generators/redmine_extensions/entity/templates/_sidebar.html.erb.erb +8 -8
  8. data/lib/generators/redmine_extensions/entity/templates/context_menu.html.erb.erb +7 -7
  9. data/lib/generators/redmine_extensions/entity/templates/custom_field.rb.erb +7 -7
  10. data/lib/generators/redmine_extensions/entity/templates/edit.html.erb.erb +18 -18
  11. data/lib/generators/redmine_extensions/entity/templates/edit.js.erb.erb +16 -16
  12. data/lib/generators/redmine_extensions/entity/templates/index.api.rsb.erb +5 -5
  13. data/lib/generators/redmine_extensions/entity/templates/index.html.erb.erb +4 -4
  14. data/lib/generators/redmine_extensions/entity/templates/index.js.erb.erb +10 -10
  15. data/lib/generators/redmine_extensions/entity/templates/mail_added.html.erb.erb +1 -1
  16. data/lib/generators/redmine_extensions/entity/templates/mail_added.text.erb.erb +2 -2
  17. data/lib/generators/redmine_extensions/entity/templates/mail_updated.text.erb.erb +2 -2
  18. data/lib/generators/redmine_extensions/entity/templates/migration.rb.erb +9 -9
  19. data/lib/generators/redmine_extensions/entity/templates/new.html.erb.erb +18 -18
  20. data/lib/generators/redmine_extensions/entity/templates/new.js.erb.erb +16 -16
  21. data/lib/generators/redmine_extensions/entity/templates/routes.rb.erb +12 -12
  22. data/lib/generators/redmine_extensions/entity/templates/show.html.erb.erb +37 -37
  23. data/lib/generators/redmine_extensions/entity/templates/show.js.erb.erb +10 -10
  24. data/lib/redmine_extensions/engine.rb +1 -0
  25. data/lib/redmine_extensions/redmine_patches/patches.rb +1 -1
  26. data/lib/redmine_extensions/version.rb +1 -1
  27. metadata +23 -3997
  28. data/app/assets/javascripts/redmine_extensions/redmine_extensions.js.orig +0 -648
  29. data/app/helpers/redmine_extensions/application_helper.rb.orig +0 -189
  30. data/app/views/easy_entity_assignments/_query_index.html.erb.orig +0 -16
  31. data/config/database.yml +0 -15
  32. data/lib/redmine_extensions/redmine_patches/controllers/issues_controller_patch.rb +0 -9
  33. data/lib/redmine_extensions/version.rb.orig +0 -7
  34. data/spec/redmine/CONTRIBUTING.md +0 -8
  35. data/spec/redmine/Gemfile +0 -109
  36. data/spec/redmine/README.rdoc +0 -5
  37. data/spec/redmine/Rakefile +0 -7
  38. data/spec/redmine/app/controllers/account_controller.rb +0 -354
  39. data/spec/redmine/app/controllers/activities_controller.rb +0 -77
  40. data/spec/redmine/app/controllers/admin_controller.rb +0 -84
  41. data/spec/redmine/app/controllers/application_controller.rb +0 -662
  42. data/spec/redmine/app/controllers/attachments_controller.rb +0 -191
  43. data/spec/redmine/app/controllers/auth_sources_controller.rb +0 -97
  44. data/spec/redmine/app/controllers/auto_completes_controller.rb +0 -44
  45. data/spec/redmine/app/controllers/boards_controller.rb +0 -111
  46. data/spec/redmine/app/controllers/calendars_controller.rb +0 -56
  47. data/spec/redmine/app/controllers/comments_controller.rb +0 -53
  48. data/spec/redmine/app/controllers/context_menus_controller.rb +0 -97
  49. data/spec/redmine/app/controllers/custom_fields_controller.rb +0 -88
  50. data/spec/redmine/app/controllers/documents_controller.rb +0 -95
  51. data/spec/redmine/app/controllers/email_addresses_controller.rb +0 -106
  52. data/spec/redmine/app/controllers/enumerations_controller.rb +0 -96
  53. data/spec/redmine/app/controllers/files_controller.rb +0 -62
  54. data/spec/redmine/app/controllers/gantts_controller.rb +0 -48
  55. data/spec/redmine/app/controllers/groups_controller.rb +0 -149
  56. data/spec/redmine/app/controllers/issue_categories_controller.rb +0 -122
  57. data/spec/redmine/app/controllers/issue_relations_controller.rb +0 -92
  58. data/spec/redmine/app/controllers/issue_statuses_controller.rb +0 -81
  59. data/spec/redmine/app/controllers/issues_controller.rb +0 -517
  60. data/spec/redmine/app/controllers/journals_controller.rb +0 -109
  61. data/spec/redmine/app/controllers/mail_handler_controller.rb +0 -44
  62. data/spec/redmine/app/controllers/members_controller.rb +0 -129
  63. data/spec/redmine/app/controllers/messages_controller.rb +0 -142
  64. data/spec/redmine/app/controllers/my_controller.rb +0 -211
  65. data/spec/redmine/app/controllers/news_controller.rb +0 -111
  66. data/spec/redmine/app/controllers/previews_controller.rb +0 -53
  67. data/spec/redmine/app/controllers/principal_memberships_controller.rb +0 -80
  68. data/spec/redmine/app/controllers/project_enumerations_controller.rb +0 -42
  69. data/spec/redmine/app/controllers/projects_controller.rb +0 -234
  70. data/spec/redmine/app/controllers/queries_controller.rb +0 -128
  71. data/spec/redmine/app/controllers/reports_controller.rb +0 -95
  72. data/spec/redmine/app/controllers/repositories_controller.rb +0 -439
  73. data/spec/redmine/app/controllers/roles_controller.rb +0 -110
  74. data/spec/redmine/app/controllers/search_controller.rb +0 -87
  75. data/spec/redmine/app/controllers/settings_controller.rb +0 -76
  76. data/spec/redmine/app/controllers/sys_controller.rb +0 -81
  77. data/spec/redmine/app/controllers/timelog_controller.rb +0 -281
  78. data/spec/redmine/app/controllers/trackers_controller.rb +0 -101
  79. data/spec/redmine/app/controllers/users_controller.rb +0 -190
  80. data/spec/redmine/app/controllers/versions_controller.rb +0 -182
  81. data/spec/redmine/app/controllers/watchers_controller.rb +0 -131
  82. data/spec/redmine/app/controllers/welcome_controller.rb +0 -30
  83. data/spec/redmine/app/controllers/wiki_controller.rb +0 -367
  84. data/spec/redmine/app/controllers/wikis_controller.rb +0 -36
  85. data/spec/redmine/app/controllers/workflows_controller.rb +0 -142
  86. data/spec/redmine/app/helpers/account_helper.rb +0 -21
  87. data/spec/redmine/app/helpers/activities_helper.rb +0 -33
  88. data/spec/redmine/app/helpers/admin_helper.rb +0 -35
  89. data/spec/redmine/app/helpers/application_helper.rb +0 -1335
  90. data/spec/redmine/app/helpers/attachments_helper.rb +0 -69
  91. data/spec/redmine/app/helpers/auth_sources_helper.rb +0 -24
  92. data/spec/redmine/app/helpers/boards_helper.rb +0 -41
  93. data/spec/redmine/app/helpers/calendars_helper.rb +0 -58
  94. data/spec/redmine/app/helpers/context_menus_helper.rb +0 -50
  95. data/spec/redmine/app/helpers/custom_fields_helper.rb +0 -166
  96. data/spec/redmine/app/helpers/documents_helper.rb +0 -21
  97. data/spec/redmine/app/helpers/email_addresses_helper.rb +0 -38
  98. data/spec/redmine/app/helpers/enumerations_helper.rb +0 -21
  99. data/spec/redmine/app/helpers/gantt_helper.rb +0 -43
  100. data/spec/redmine/app/helpers/groups_helper.rb +0 -46
  101. data/spec/redmine/app/helpers/issue_categories_helper.rb +0 -21
  102. data/spec/redmine/app/helpers/issue_relations_helper.rb +0 -25
  103. data/spec/redmine/app/helpers/issue_statuses_helper.rb +0 -21
  104. data/spec/redmine/app/helpers/issues_helper.rb +0 -516
  105. data/spec/redmine/app/helpers/journals_helper.rb +0 -46
  106. data/spec/redmine/app/helpers/mail_handler_helper.rb +0 -21
  107. data/spec/redmine/app/helpers/members_helper.rb +0 -38
  108. data/spec/redmine/app/helpers/messages_helper.rb +0 -21
  109. data/spec/redmine/app/helpers/my_helper.rb +0 -77
  110. data/spec/redmine/app/helpers/news_helper.rb +0 -21
  111. data/spec/redmine/app/helpers/principal_memberships_helper.rb +0 -56
  112. data/spec/redmine/app/helpers/projects_helper.rb +0 -115
  113. data/spec/redmine/app/helpers/queries_helper.rb +0 -223
  114. data/spec/redmine/app/helpers/reports_helper.rb +0 -43
  115. data/spec/redmine/app/helpers/repositories_helper.rb +0 -310
  116. data/spec/redmine/app/helpers/roles_helper.rb +0 -21
  117. data/spec/redmine/app/helpers/routes_helper.rb +0 -69
  118. data/spec/redmine/app/helpers/search_helper.rb +0 -69
  119. data/spec/redmine/app/helpers/settings_helper.rb +0 -171
  120. data/spec/redmine/app/helpers/sort_helper.rb +0 -261
  121. data/spec/redmine/app/helpers/timelog_helper.rb +0 -135
  122. data/spec/redmine/app/helpers/trackers_helper.rb +0 -21
  123. data/spec/redmine/app/helpers/users_helper.rb +0 -60
  124. data/spec/redmine/app/helpers/versions_helper.rb +0 -76
  125. data/spec/redmine/app/helpers/watchers_helper.rb +0 -78
  126. data/spec/redmine/app/helpers/welcome_helper.rb +0 -21
  127. data/spec/redmine/app/helpers/wiki_helper.rb +0 -54
  128. data/spec/redmine/app/helpers/workflows_helper.rb +0 -95
  129. data/spec/redmine/app/models/attachment.rb +0 -376
  130. data/spec/redmine/app/models/auth_source.rb +0 -93
  131. data/spec/redmine/app/models/auth_source_ldap.rb +0 -196
  132. data/spec/redmine/app/models/board.rb +0 -96
  133. data/spec/redmine/app/models/change.rb +0 -34
  134. data/spec/redmine/app/models/changeset.rb +0 -294
  135. data/spec/redmine/app/models/comment.rb +0 -38
  136. data/spec/redmine/app/models/custom_field.rb +0 -283
  137. data/spec/redmine/app/models/custom_field_value.rb +0 -56
  138. data/spec/redmine/app/models/custom_value.rb +0 -50
  139. data/spec/redmine/app/models/document.rb +0 -75
  140. data/spec/redmine/app/models/document_category.rb +0 -40
  141. data/spec/redmine/app/models/document_category_custom_field.rb +0 -22
  142. data/spec/redmine/app/models/document_custom_field.rb +0 -22
  143. data/spec/redmine/app/models/email_address.rb +0 -54
  144. data/spec/redmine/app/models/enabled_module.rb +0 -40
  145. data/spec/redmine/app/models/enumeration.rb +0 -142
  146. data/spec/redmine/app/models/group.rb +0 -117
  147. data/spec/redmine/app/models/group_anonymous.rb +0 -26
  148. data/spec/redmine/app/models/group_builtin.rb +0 -56
  149. data/spec/redmine/app/models/group_custom_field.rb +0 -22
  150. data/spec/redmine/app/models/group_non_member.rb +0 -26
  151. data/spec/redmine/app/models/issue.rb +0 -1650
  152. data/spec/redmine/app/models/issue_category.rb +0 -49
  153. data/spec/redmine/app/models/issue_custom_field.rb +0 -45
  154. data/spec/redmine/app/models/issue_priority.rb +0 -68
  155. data/spec/redmine/app/models/issue_priority_custom_field.rb +0 -23
  156. data/spec/redmine/app/models/issue_query.rb +0 -540
  157. data/spec/redmine/app/models/issue_relation.rb +0 -215
  158. data/spec/redmine/app/models/issue_status.rb +0 -123
  159. data/spec/redmine/app/models/journal.rb +0 -305
  160. data/spec/redmine/app/models/journal_detail.rb +0 -50
  161. data/spec/redmine/app/models/mail_handler.rb +0 -565
  162. data/spec/redmine/app/models/mailer.rb +0 -538
  163. data/spec/redmine/app/models/member.rb +0 -198
  164. data/spec/redmine/app/models/member_role.rb +0 -80
  165. data/spec/redmine/app/models/message.rb +0 -121
  166. data/spec/redmine/app/models/news.rb +0 -98
  167. data/spec/redmine/app/models/principal.rb +0 -162
  168. data/spec/redmine/app/models/project.rb +0 -1007
  169. data/spec/redmine/app/models/project_custom_field.rb +0 -22
  170. data/spec/redmine/app/models/query.rb +0 -904
  171. data/spec/redmine/app/models/repository.rb +0 -510
  172. data/spec/redmine/app/models/repository/bazaar.rb +0 -124
  173. data/spec/redmine/app/models/repository/cvs.rb +0 -213
  174. data/spec/redmine/app/models/repository/darcs.rb +0 -114
  175. data/spec/redmine/app/models/repository/filesystem.rb +0 -50
  176. data/spec/redmine/app/models/repository/git.rb +0 -263
  177. data/spec/redmine/app/models/repository/mercurial.rb +0 -211
  178. data/spec/redmine/app/models/repository/subversion.rb +0 -117
  179. data/spec/redmine/app/models/role.rb +0 -233
  180. data/spec/redmine/app/models/setting.rb +0 -276
  181. data/spec/redmine/app/models/time_entry.rb +0 -160
  182. data/spec/redmine/app/models/time_entry_activity.rb +0 -38
  183. data/spec/redmine/app/models/time_entry_activity_custom_field.rb +0 -22
  184. data/spec/redmine/app/models/time_entry_custom_field.rb +0 -23
  185. data/spec/redmine/app/models/time_entry_query.rb +0 -140
  186. data/spec/redmine/app/models/token.rb +0 -85
  187. data/spec/redmine/app/models/tracker.rb +0 -114
  188. data/spec/redmine/app/models/user.rb +0 -862
  189. data/spec/redmine/app/models/user_custom_field.rb +0 -23
  190. data/spec/redmine/app/models/user_preference.rb +0 -62
  191. data/spec/redmine/app/models/version.rb +0 -300
  192. data/spec/redmine/app/models/version_custom_field.rb +0 -22
  193. data/spec/redmine/app/models/watcher.rb +0 -81
  194. data/spec/redmine/app/models/wiki.rb +0 -106
  195. data/spec/redmine/app/models/wiki_content.rb +0 -168
  196. data/spec/redmine/app/models/wiki_page.rb +0 -299
  197. data/spec/redmine/app/models/wiki_redirect.rb +0 -39
  198. data/spec/redmine/app/models/workflow_permission.rb +0 -68
  199. data/spec/redmine/app/models/workflow_rule.rb +0 -74
  200. data/spec/redmine/app/models/workflow_transition.rb +0 -85
  201. data/spec/redmine/app/views/account/login.html.erb +0 -47
  202. data/spec/redmine/app/views/account/logout.html.erb +0 -3
  203. data/spec/redmine/app/views/account/lost_password.html.erb +0 -11
  204. data/spec/redmine/app/views/account/password_recovery.html.erb +0 -20
  205. data/spec/redmine/app/views/account/register.html.erb +0 -34
  206. data/spec/redmine/app/views/activities/index.html.erb +0 -68
  207. data/spec/redmine/app/views/admin/_menu.html.erb +0 -3
  208. data/spec/redmine/app/views/admin/_no_data.html.erb +0 -8
  209. data/spec/redmine/app/views/admin/index.html.erb +0 -8
  210. data/spec/redmine/app/views/admin/info.html.erb +0 -19
  211. data/spec/redmine/app/views/admin/plugins.html.erb +0 -63
  212. data/spec/redmine/app/views/admin/projects.html.erb +0 -43
  213. data/spec/redmine/app/views/attachments/_form.html.erb +0 -31
  214. data/spec/redmine/app/views/attachments/_links.html.erb +0 -38
  215. data/spec/redmine/app/views/attachments/destroy.js.erb +0 -1
  216. data/spec/redmine/app/views/attachments/diff.html.erb +0 -22
  217. data/spec/redmine/app/views/attachments/edit.html.erb +0 -30
  218. data/spec/redmine/app/views/attachments/file.html.erb +0 -17
  219. data/spec/redmine/app/views/attachments/show.api.rsb +0 -1
  220. data/spec/redmine/app/views/attachments/upload.api.rsb +0 -3
  221. data/spec/redmine/app/views/attachments/upload.js.erb +0 -14
  222. data/spec/redmine/app/views/auth_sources/_form.html.erb +0 -6
  223. data/spec/redmine/app/views/auth_sources/_form_auth_source_ldap.html.erb +0 -24
  224. data/spec/redmine/app/views/auth_sources/edit.html.erb +0 -6
  225. data/spec/redmine/app/views/auth_sources/index.html.erb +0 -31
  226. data/spec/redmine/app/views/auth_sources/new.html.erb +0 -7
  227. data/spec/redmine/app/views/auto_completes/issues.html.erb +0 -7
  228. data/spec/redmine/app/views/boards/_form.html.erb +0 -9
  229. data/spec/redmine/app/views/boards/edit.html.erb +0 -6
  230. data/spec/redmine/app/views/boards/index.html.erb +0 -38
  231. data/spec/redmine/app/views/boards/new.html.erb +0 -6
  232. data/spec/redmine/app/views/boards/show.html.erb +0 -66
  233. data/spec/redmine/app/views/calendars/show.html.erb +0 -45
  234. data/spec/redmine/app/views/common/_calendar.html.erb +0 -32
  235. data/spec/redmine/app/views/common/_diff.html.erb +0 -68
  236. data/spec/redmine/app/views/common/_file.html.erb +0 -18
  237. data/spec/redmine/app/views/common/_preview.html.erb +0 -3
  238. data/spec/redmine/app/views/common/_tabs.html.erb +0 -26
  239. data/spec/redmine/app/views/common/error.html.erb +0 -8
  240. data/spec/redmine/app/views/common/error_messages.api.rsb +0 -5
  241. data/spec/redmine/app/views/common/feed.atom.builder +0 -32
  242. data/spec/redmine/app/views/context_menus/issues.html.erb +0 -139
  243. data/spec/redmine/app/views/context_menus/time_entries.html.erb +0 -47
  244. data/spec/redmine/app/views/custom_fields/_form.html.erb +0 -114
  245. data/spec/redmine/app/views/custom_fields/_index.html.erb +0 -30
  246. data/spec/redmine/app/views/custom_fields/edit.html.erb +0 -7
  247. data/spec/redmine/app/views/custom_fields/formats/_bool.html.erb +0 -3
  248. data/spec/redmine/app/views/custom_fields/formats/_date.html.erb +0 -3
  249. data/spec/redmine/app/views/custom_fields/formats/_link.html.erb +0 -3
  250. data/spec/redmine/app/views/custom_fields/formats/_list.html.erb +0 -7
  251. data/spec/redmine/app/views/custom_fields/formats/_numeric.html.erb +0 -3
  252. data/spec/redmine/app/views/custom_fields/formats/_regexp.html.erb +0 -9
  253. data/spec/redmine/app/views/custom_fields/formats/_string.html.erb +0 -4
  254. data/spec/redmine/app/views/custom_fields/formats/_text.html.erb +0 -3
  255. data/spec/redmine/app/views/custom_fields/formats/_user.html.erb +0 -24
  256. data/spec/redmine/app/views/custom_fields/formats/_version.html.erb +0 -24
  257. data/spec/redmine/app/views/custom_fields/index.api.rsb +0 -43
  258. data/spec/redmine/app/views/custom_fields/index.html.erb +0 -11
  259. data/spec/redmine/app/views/custom_fields/new.html.erb +0 -19
  260. data/spec/redmine/app/views/custom_fields/new.js.erb +0 -1
  261. data/spec/redmine/app/views/custom_fields/select_type.html.erb +0 -15
  262. data/spec/redmine/app/views/documents/_document.html.erb +0 -6
  263. data/spec/redmine/app/views/documents/_form.html.erb +0 -19
  264. data/spec/redmine/app/views/documents/edit.html.erb +0 -8
  265. data/spec/redmine/app/views/documents/index.html.erb +0 -40
  266. data/spec/redmine/app/views/documents/new.html.erb +0 -6
  267. data/spec/redmine/app/views/documents/show.html.erb +0 -41
  268. data/spec/redmine/app/views/email_addresses/_index.html.erb +0 -26
  269. data/spec/redmine/app/views/email_addresses/index.html.erb +0 -2
  270. data/spec/redmine/app/views/email_addresses/index.js.erb +0 -3
  271. data/spec/redmine/app/views/enumerations/_form.html.erb +0 -11
  272. data/spec/redmine/app/views/enumerations/destroy.html.erb +0 -12
  273. data/spec/redmine/app/views/enumerations/edit.html.erb +0 -6
  274. data/spec/redmine/app/views/enumerations/index.api.rsb +0 -9
  275. data/spec/redmine/app/views/enumerations/index.html.erb +0 -32
  276. data/spec/redmine/app/views/enumerations/new.html.erb +0 -7
  277. data/spec/redmine/app/views/files/index.html.erb +0 -46
  278. data/spec/redmine/app/views/files/new.html.erb +0 -16
  279. data/spec/redmine/app/views/gantts/show.html.erb +0 -334
  280. data/spec/redmine/app/views/groups/_form.html.erb +0 -10
  281. data/spec/redmine/app/views/groups/_general.html.erb +0 -4
  282. data/spec/redmine/app/views/groups/_memberships.html.erb +0 -1
  283. data/spec/redmine/app/views/groups/_new_users_form.html.erb +0 -9
  284. data/spec/redmine/app/views/groups/_new_users_modal.html.erb +0 -9
  285. data/spec/redmine/app/views/groups/_users.html.erb +0 -22
  286. data/spec/redmine/app/views/groups/add_users.js.erb +0 -5
  287. data/spec/redmine/app/views/groups/autocomplete_for_user.js.erb +0 -1
  288. data/spec/redmine/app/views/groups/destroy_membership.js.erb +0 -1
  289. data/spec/redmine/app/views/groups/edit.html.erb +0 -3
  290. data/spec/redmine/app/views/groups/edit_membership.js.erb +0 -6
  291. data/spec/redmine/app/views/groups/index.api.rsb +0 -11
  292. data/spec/redmine/app/views/groups/index.html.erb +0 -25
  293. data/spec/redmine/app/views/groups/new.html.erb +0 -9
  294. data/spec/redmine/app/views/groups/new_users.html.erb +0 -6
  295. data/spec/redmine/app/views/groups/new_users.js.erb +0 -2
  296. data/spec/redmine/app/views/groups/remove_user.js.erb +0 -1
  297. data/spec/redmine/app/views/groups/show.api.rsb +0 -31
  298. data/spec/redmine/app/views/groups/show.html.erb +0 -7
  299. data/spec/redmine/app/views/issue_categories/_form.html.erb +0 -6
  300. data/spec/redmine/app/views/issue_categories/_new_modal.html.erb +0 -9
  301. data/spec/redmine/app/views/issue_categories/create.js.erb +0 -3
  302. data/spec/redmine/app/views/issue_categories/destroy.html.erb +0 -16
  303. data/spec/redmine/app/views/issue_categories/edit.html.erb +0 -7
  304. data/spec/redmine/app/views/issue_categories/index.api.rsb +0 -10
  305. data/spec/redmine/app/views/issue_categories/new.html.erb +0 -7
  306. data/spec/redmine/app/views/issue_categories/new.js.erb +0 -2
  307. data/spec/redmine/app/views/issue_categories/show.api.rsb +0 -6
  308. data/spec/redmine/app/views/issue_relations/_form.html.erb +0 -14
  309. data/spec/redmine/app/views/issue_relations/create.js.erb +0 -7
  310. data/spec/redmine/app/views/issue_relations/destroy.js.erb +0 -1
  311. data/spec/redmine/app/views/issue_relations/index.api.rsb +0 -11
  312. data/spec/redmine/app/views/issue_relations/show.api.rsb +0 -7
  313. data/spec/redmine/app/views/issue_statuses/_form.html.erb +0 -11
  314. data/spec/redmine/app/views/issue_statuses/edit.html.erb +0 -6
  315. data/spec/redmine/app/views/issue_statuses/index.api.rsb +0 -9
  316. data/spec/redmine/app/views/issue_statuses/index.html.erb +0 -37
  317. data/spec/redmine/app/views/issue_statuses/new.html.erb +0 -6
  318. data/spec/redmine/app/views/issues/_action_menu.html.erb +0 -7
  319. data/spec/redmine/app/views/issues/_attributes.html.erb +0 -79
  320. data/spec/redmine/app/views/issues/_changesets.html.erb +0 -10
  321. data/spec/redmine/app/views/issues/_conflict.html.erb +0 -26
  322. data/spec/redmine/app/views/issues/_edit.html.erb +0 -52
  323. data/spec/redmine/app/views/issues/_form.html.erb +0 -55
  324. data/spec/redmine/app/views/issues/_form_custom_fields.html.erb +0 -14
  325. data/spec/redmine/app/views/issues/_history.html.erb +0 -23
  326. data/spec/redmine/app/views/issues/_list.html.erb +0 -45
  327. data/spec/redmine/app/views/issues/_list_simple.html.erb +0 -29
  328. data/spec/redmine/app/views/issues/_relations.html.erb +0 -41
  329. data/spec/redmine/app/views/issues/_sidebar.html.erb +0 -21
  330. data/spec/redmine/app/views/issues/bulk_edit.html.erb +0 -207
  331. data/spec/redmine/app/views/issues/bulk_edit.js.erb +0 -1
  332. data/spec/redmine/app/views/issues/destroy.html.erb +0 -15
  333. data/spec/redmine/app/views/issues/edit.html.erb +0 -6
  334. data/spec/redmine/app/views/issues/edit.js.erb +0 -7
  335. data/spec/redmine/app/views/issues/index.api.rsb +0 -36
  336. data/spec/redmine/app/views/issues/index.html.erb +0 -114
  337. data/spec/redmine/app/views/issues/index.pdf.erb +0 -1
  338. data/spec/redmine/app/views/issues/new.html.erb +0 -59
  339. data/spec/redmine/app/views/issues/new.js.erb +0 -1
  340. data/spec/redmine/app/views/issues/show.api.rsb +0 -75
  341. data/spec/redmine/app/views/issues/show.html.erb +0 -162
  342. data/spec/redmine/app/views/issues/show.pdf.erb +0 -1
  343. data/spec/redmine/app/views/journals/_notes_form.html.erb +0 -18
  344. data/spec/redmine/app/views/journals/diff.html.erb +0 -13
  345. data/spec/redmine/app/views/journals/edit.js.erb +0 -8
  346. data/spec/redmine/app/views/journals/index.builder +0 -31
  347. data/spec/redmine/app/views/journals/new.js.erb +0 -10
  348. data/spec/redmine/app/views/journals/update.js.erb +0 -9
  349. data/spec/redmine/app/views/layouts/admin.html.erb +0 -8
  350. data/spec/redmine/app/views/layouts/base.html.erb +0 -80
  351. data/spec/redmine/app/views/layouts/mailer.html.erb +0 -61
  352. data/spec/redmine/app/views/layouts/mailer.text.erb +0 -8
  353. data/spec/redmine/app/views/mail_handler/new.html.erb +0 -43
  354. data/spec/redmine/app/views/mailer/_issue.html.erb +0 -14
  355. data/spec/redmine/app/views/mailer/_issue.text.erb +0 -13
  356. data/spec/redmine/app/views/mailer/account_activated.html.erb +0 -2
  357. data/spec/redmine/app/views/mailer/account_activated.text.erb +0 -2
  358. data/spec/redmine/app/views/mailer/account_activation_request.html.erb +0 -2
  359. data/spec/redmine/app/views/mailer/account_activation_request.text.erb +0 -2
  360. data/spec/redmine/app/views/mailer/account_information.html.erb +0 -11
  361. data/spec/redmine/app/views/mailer/account_information.text.erb +0 -6
  362. data/spec/redmine/app/views/mailer/attachments_added.html.erb +0 -5
  363. data/spec/redmine/app/views/mailer/attachments_added.text.erb +0 -4
  364. data/spec/redmine/app/views/mailer/document_added.html.erb +0 -3
  365. data/spec/redmine/app/views/mailer/document_added.text.erb +0 -4
  366. data/spec/redmine/app/views/mailer/issue_add.html.erb +0 -3
  367. data/spec/redmine/app/views/mailer/issue_add.text.erb +0 -4
  368. data/spec/redmine/app/views/mailer/issue_edit.html.erb +0 -14
  369. data/spec/redmine/app/views/mailer/issue_edit.text.erb +0 -12
  370. data/spec/redmine/app/views/mailer/lost_password.html.erb +0 -4
  371. data/spec/redmine/app/views/mailer/lost_password.text.erb +0 -4
  372. data/spec/redmine/app/views/mailer/message_posted.html.erb +0 -4
  373. data/spec/redmine/app/views/mailer/message_posted.text.erb +0 -4
  374. data/spec/redmine/app/views/mailer/news_added.html.erb +0 -4
  375. data/spec/redmine/app/views/mailer/news_added.text.erb +0 -5
  376. data/spec/redmine/app/views/mailer/news_comment_added.html.erb +0 -5
  377. data/spec/redmine/app/views/mailer/news_comment_added.text.erb +0 -6
  378. data/spec/redmine/app/views/mailer/register.html.erb +0 -2
  379. data/spec/redmine/app/views/mailer/register.text.erb +0 -2
  380. data/spec/redmine/app/views/mailer/reminder.html.erb +0 -9
  381. data/spec/redmine/app/views/mailer/reminder.text.erb +0 -7
  382. data/spec/redmine/app/views/mailer/test_email.html.erb +0 -2
  383. data/spec/redmine/app/views/mailer/test_email.text.erb +0 -2
  384. data/spec/redmine/app/views/mailer/wiki_content_added.html.erb +0 -3
  385. data/spec/redmine/app/views/mailer/wiki_content_added.text.erb +0 -5
  386. data/spec/redmine/app/views/mailer/wiki_content_updated.html.erb +0 -6
  387. data/spec/redmine/app/views/mailer/wiki_content_updated.text.erb +0 -8
  388. data/spec/redmine/app/views/members/_new_form.html.erb +0 -16
  389. data/spec/redmine/app/views/members/_new_modal.html.erb +0 -9
  390. data/spec/redmine/app/views/members/autocomplete.js.erb +0 -1
  391. data/spec/redmine/app/views/members/create.js.erb +0 -12
  392. data/spec/redmine/app/views/members/destroy.js.erb +0 -2
  393. data/spec/redmine/app/views/members/index.api.rsb +0 -18
  394. data/spec/redmine/app/views/members/new.html.erb +0 -6
  395. data/spec/redmine/app/views/members/new.js.erb +0 -2
  396. data/spec/redmine/app/views/members/show.api.rsb +0 -14
  397. data/spec/redmine/app/views/members/update.js.erb +0 -3
  398. data/spec/redmine/app/views/messages/_form.html.erb +0 -32
  399. data/spec/redmine/app/views/messages/edit.html.erb +0 -17
  400. data/spec/redmine/app/views/messages/new.html.erb +0 -9
  401. data/spec/redmine/app/views/messages/quote.js.erb +0 -4
  402. data/spec/redmine/app/views/messages/show.html.erb +0 -85
  403. data/spec/redmine/app/views/my/_block.html.erb +0 -10
  404. data/spec/redmine/app/views/my/_sidebar.html.erb +0 -36
  405. data/spec/redmine/app/views/my/account.html.erb +0 -59
  406. data/spec/redmine/app/views/my/blocks/_calendar.html.erb +0 -6
  407. data/spec/redmine/app/views/my/blocks/_documents.html.erb +0 -3
  408. data/spec/redmine/app/views/my/blocks/_issuesassignedtome.html.erb +0 -15
  409. data/spec/redmine/app/views/my/blocks/_issuesreportedbyme.html.erb +0 -15
  410. data/spec/redmine/app/views/my/blocks/_issueswatched.html.erb +0 -8
  411. data/spec/redmine/app/views/my/blocks/_news.html.erb +0 -3
  412. data/spec/redmine/app/views/my/blocks/_timelog.html.erb +0 -58
  413. data/spec/redmine/app/views/my/destroy.html.erb +0 -11
  414. data/spec/redmine/app/views/my/page.html.erb +0 -36
  415. data/spec/redmine/app/views/my/page_layout.html.erb +0 -41
  416. data/spec/redmine/app/views/my/password.html.erb +0 -24
  417. data/spec/redmine/app/views/my/show_api_key.html.erb +0 -7
  418. data/spec/redmine/app/views/my/show_api_key.js.erb +0 -1
  419. data/spec/redmine/app/views/news/_form.html.erb +0 -10
  420. data/spec/redmine/app/views/news/_news.html.erb +0 -6
  421. data/spec/redmine/app/views/news/edit.html.erb +0 -12
  422. data/spec/redmine/app/views/news/index.api.rsb +0 -14
  423. data/spec/redmine/app/views/news/index.html.erb +0 -51
  424. data/spec/redmine/app/views/news/new.html.erb +0 -9
  425. data/spec/redmine/app/views/news/show.html.erb +0 -62
  426. data/spec/redmine/app/views/previews/issue.html.erb +0 -11
  427. data/spec/redmine/app/views/principal_memberships/_index.html.erb +0 -52
  428. data/spec/redmine/app/views/principal_memberships/_new_form.html.erb +0 -24
  429. data/spec/redmine/app/views/principal_memberships/_new_modal.html.erb +0 -9
  430. data/spec/redmine/app/views/principal_memberships/create.js.erb +0 -12
  431. data/spec/redmine/app/views/principal_memberships/destroy.js.erb +0 -1
  432. data/spec/redmine/app/views/principal_memberships/new.html.erb +0 -6
  433. data/spec/redmine/app/views/principal_memberships/new.js.erb +0 -13
  434. data/spec/redmine/app/views/principal_memberships/update.js.erb +0 -6
  435. data/spec/redmine/app/views/projects/_edit.html.erb +0 -4
  436. data/spec/redmine/app/views/projects/_form.html.erb +0 -102
  437. data/spec/redmine/app/views/projects/_members_box.html.erb +0 -8
  438. data/spec/redmine/app/views/projects/_sidebar.html.erb +0 -14
  439. data/spec/redmine/app/views/projects/copy.html.erb +0 -20
  440. data/spec/redmine/app/views/projects/destroy.html.erb +0 -19
  441. data/spec/redmine/app/views/projects/index.api.rsb +0 -19
  442. data/spec/redmine/app/views/projects/index.html.erb +0 -33
  443. data/spec/redmine/app/views/projects/new.html.erb +0 -7
  444. data/spec/redmine/app/views/projects/settings.html.erb +0 -5
  445. data/spec/redmine/app/views/projects/settings/_activities.html.erb +0 -42
  446. data/spec/redmine/app/views/projects/settings/_boards.html.erb +0 -36
  447. data/spec/redmine/app/views/projects/settings/_issue_categories.html.erb +0 -29
  448. data/spec/redmine/app/views/projects/settings/_members.html.erb +0 -62
  449. data/spec/redmine/app/views/projects/settings/_modules.html.erb +0 -18
  450. data/spec/redmine/app/views/projects/settings/_repositories.html.erb +0 -41
  451. data/spec/redmine/app/views/projects/settings/_versions.html.erb +0 -41
  452. data/spec/redmine/app/views/projects/settings/_wiki.html.erb +0 -19
  453. data/spec/redmine/app/views/projects/show.api.rsb +0 -16
  454. data/spec/redmine/app/views/projects/show.html.erb +0 -85
  455. data/spec/redmine/app/views/queries/_columns.html.erb +0 -40
  456. data/spec/redmine/app/views/queries/_filters.html.erb +0 -28
  457. data/spec/redmine/app/views/queries/_form.html.erb +0 -89
  458. data/spec/redmine/app/views/queries/edit.html.erb +0 -6
  459. data/spec/redmine/app/views/queries/index.api.rsb +0 -10
  460. data/spec/redmine/app/views/queries/index.html.erb +0 -25
  461. data/spec/redmine/app/views/queries/new.html.erb +0 -6
  462. data/spec/redmine/app/views/reports/_details.html.erb +0 -29
  463. data/spec/redmine/app/views/reports/_simple.html.erb +0 -23
  464. data/spec/redmine/app/views/reports/issue_report.html.erb +0 -33
  465. data/spec/redmine/app/views/reports/issue_report_details.html.erb +0 -7
  466. data/spec/redmine/app/views/repositories/_breadcrumbs.html.erb +0 -31
  467. data/spec/redmine/app/views/repositories/_dir_list.html.erb +0 -19
  468. data/spec/redmine/app/views/repositories/_dir_list_content.html.erb +0 -31
  469. data/spec/redmine/app/views/repositories/_form.html.erb +0 -31
  470. data/spec/redmine/app/views/repositories/_link_to_functions.html.erb +0 -19
  471. data/spec/redmine/app/views/repositories/_navigation.html.erb +0 -34
  472. data/spec/redmine/app/views/repositories/_related_issues.html.erb +0 -40
  473. data/spec/redmine/app/views/repositories/_revision_graph.html.erb +0 -18
  474. data/spec/redmine/app/views/repositories/_revisions.html.erb +0 -51
  475. data/spec/redmine/app/views/repositories/add_related_issue.js.erb +0 -7
  476. data/spec/redmine/app/views/repositories/annotate.html.erb +0 -46
  477. data/spec/redmine/app/views/repositories/changes.html.erb +0 -20
  478. data/spec/redmine/app/views/repositories/committers.html.erb +0 -42
  479. data/spec/redmine/app/views/repositories/diff.html.erb +0 -27
  480. data/spec/redmine/app/views/repositories/edit.html.erb +0 -5
  481. data/spec/redmine/app/views/repositories/entry.html.erb +0 -15
  482. data/spec/redmine/app/views/repositories/new.html.erb +0 -5
  483. data/spec/redmine/app/views/repositories/new.js.erb +0 -1
  484. data/spec/redmine/app/views/repositories/remove_related_issue.js.erb +0 -1
  485. data/spec/redmine/app/views/repositories/revision.html.erb +0 -103
  486. data/spec/redmine/app/views/repositories/revisions.html.erb +0 -34
  487. data/spec/redmine/app/views/repositories/show.html.erb +0 -77
  488. data/spec/redmine/app/views/repositories/stats.html.erb +0 -20
  489. data/spec/redmine/app/views/roles/_form.html.erb +0 -71
  490. data/spec/redmine/app/views/roles/edit.html.erb +0 -6
  491. data/spec/redmine/app/views/roles/index.api.rsb +0 -8
  492. data/spec/redmine/app/views/roles/index.html.erb +0 -34
  493. data/spec/redmine/app/views/roles/new.html.erb +0 -6
  494. data/spec/redmine/app/views/roles/permissions.html.erb +0 -55
  495. data/spec/redmine/app/views/roles/show.api.rsb +0 -9
  496. data/spec/redmine/app/views/search/index.html.erb +0 -77
  497. data/spec/redmine/app/views/settings/_authentication.html.erb +0 -44
  498. data/spec/redmine/app/views/settings/_display.html.erb +0 -30
  499. data/spec/redmine/app/views/settings/_general.html.erb +0 -42
  500. data/spec/redmine/app/views/settings/_issues.html.erb +0 -44
  501. data/spec/redmine/app/views/settings/_mail_handler.html.erb +0 -28
  502. data/spec/redmine/app/views/settings/_notifications.html.erb +0 -42
  503. data/spec/redmine/app/views/settings/_projects.html.erb +0 -20
  504. data/spec/redmine/app/views/settings/_repositories.html.erb +0 -158
  505. data/spec/redmine/app/views/settings/edit.html.erb +0 -5
  506. data/spec/redmine/app/views/settings/plugin.html.erb +0 -10
  507. data/spec/redmine/app/views/sudo_mode/_new_modal.html.erb +0 -18
  508. data/spec/redmine/app/views/sudo_mode/new.html.erb +0 -15
  509. data/spec/redmine/app/views/sudo_mode/new.js.erb +0 -4
  510. data/spec/redmine/app/views/timelog/_date_range.html.erb +0 -36
  511. data/spec/redmine/app/views/timelog/_form.html.erb +0 -47
  512. data/spec/redmine/app/views/timelog/_list.html.erb +0 -41
  513. data/spec/redmine/app/views/timelog/_report_criteria.html.erb +0 -19
  514. data/spec/redmine/app/views/timelog/bulk_edit.html.erb +0 -50
  515. data/spec/redmine/app/views/timelog/edit.html.erb +0 -6
  516. data/spec/redmine/app/views/timelog/index.api.rsb +0 -18
  517. data/spec/redmine/app/views/timelog/index.html.erb +0 -48
  518. data/spec/redmine/app/views/timelog/new.html.erb +0 -7
  519. data/spec/redmine/app/views/timelog/new.js.erb +0 -1
  520. data/spec/redmine/app/views/timelog/report.html.erb +0 -74
  521. data/spec/redmine/app/views/timelog/show.api.rsb +0 -14
  522. data/spec/redmine/app/views/trackers/_form.html.erb +0 -56
  523. data/spec/redmine/app/views/trackers/edit.html.erb +0 -5
  524. data/spec/redmine/app/views/trackers/fields.html.erb +0 -75
  525. data/spec/redmine/app/views/trackers/index.api.rsb +0 -9
  526. data/spec/redmine/app/views/trackers/index.html.erb +0 -39
  527. data/spec/redmine/app/views/trackers/new.html.erb +0 -5
  528. data/spec/redmine/app/views/users/_form.html.erb +0 -69
  529. data/spec/redmine/app/views/users/_general.html.erb +0 -7
  530. data/spec/redmine/app/views/users/_groups.html.erb +0 -9
  531. data/spec/redmine/app/views/users/_mail_notifications.html.erb +0 -30
  532. data/spec/redmine/app/views/users/_memberships.html.erb +0 -1
  533. data/spec/redmine/app/views/users/_preferences.html.erb +0 -6
  534. data/spec/redmine/app/views/users/destroy_membership.js.erb +0 -1
  535. data/spec/redmine/app/views/users/edit.html.erb +0 -10
  536. data/spec/redmine/app/views/users/edit_membership.js.erb +0 -6
  537. data/spec/redmine/app/views/users/index.api.rsb +0 -15
  538. data/spec/redmine/app/views/users/index.html.erb +0 -58
  539. data/spec/redmine/app/views/users/new.html.erb +0 -30
  540. data/spec/redmine/app/views/users/show.api.rsb +0 -37
  541. data/spec/redmine/app/views/users/show.html.erb +0 -75
  542. data/spec/redmine/app/views/versions/_form.html.erb +0 -16
  543. data/spec/redmine/app/views/versions/_issue_counts.html.erb +0 -33
  544. data/spec/redmine/app/views/versions/_new_modal.html.erb +0 -9
  545. data/spec/redmine/app/views/versions/_overview.html.erb +0 -33
  546. data/spec/redmine/app/views/versions/create.js.erb +0 -3
  547. data/spec/redmine/app/views/versions/edit.html.erb +0 -7
  548. data/spec/redmine/app/views/versions/index.api.rsb +0 -19
  549. data/spec/redmine/app/views/versions/index.html.erb +0 -97
  550. data/spec/redmine/app/views/versions/new.html.erb +0 -6
  551. data/spec/redmine/app/views/versions/new.js.erb +0 -2
  552. data/spec/redmine/app/views/versions/show.api.rsb +0 -15
  553. data/spec/redmine/app/views/versions/show.html.erb +0 -55
  554. data/spec/redmine/app/views/versions/status_by.js.erb +0 -1
  555. data/spec/redmine/app/views/watchers/_new.html.erb +0 -27
  556. data/spec/redmine/app/views/watchers/_set_watcher.js.erb +0 -3
  557. data/spec/redmine/app/views/watchers/_watchers.html.erb +0 -12
  558. data/spec/redmine/app/views/watchers/append.js.erb +0 -4
  559. data/spec/redmine/app/views/watchers/autocomplete_for_user.html.erb +0 -1
  560. data/spec/redmine/app/views/watchers/create.js.erb +0 -2
  561. data/spec/redmine/app/views/watchers/destroy.js.erb +0 -1
  562. data/spec/redmine/app/views/watchers/new.js.erb +0 -3
  563. data/spec/redmine/app/views/welcome/index.html.erb +0 -41
  564. data/spec/redmine/app/views/welcome/robots.html.erb +0 -10
  565. data/spec/redmine/app/views/wiki/_content.html.erb +0 -4
  566. data/spec/redmine/app/views/wiki/_sidebar.html.erb +0 -12
  567. data/spec/redmine/app/views/wiki/annotate.html.erb +0 -40
  568. data/spec/redmine/app/views/wiki/date_index.html.erb +0 -36
  569. data/spec/redmine/app/views/wiki/destroy.html.erb +0 -22
  570. data/spec/redmine/app/views/wiki/diff.html.erb +0 -29
  571. data/spec/redmine/app/views/wiki/edit.html.erb +0 -47
  572. data/spec/redmine/app/views/wiki/export.html.erb +0 -21
  573. data/spec/redmine/app/views/wiki/export.pdf.erb +0 -1
  574. data/spec/redmine/app/views/wiki/export_multiple.html.erb +0 -34
  575. data/spec/redmine/app/views/wiki/history.html.erb +0 -40
  576. data/spec/redmine/app/views/wiki/index.api.rsb +0 -13
  577. data/spec/redmine/app/views/wiki/index.html.erb +0 -35
  578. data/spec/redmine/app/views/wiki/rename.html.erb +0 -26
  579. data/spec/redmine/app/views/wiki/show.api.rsb +0 -18
  580. data/spec/redmine/app/views/wiki/show.html.erb +0 -75
  581. data/spec/redmine/app/views/wiki/show.pdf.erb +0 -1
  582. data/spec/redmine/app/views/wikis/destroy.html.erb +0 -10
  583. data/spec/redmine/app/views/wikis/edit.js.erb +0 -1
  584. data/spec/redmine/app/views/workflows/_action_menu.html.erb +0 -4
  585. data/spec/redmine/app/views/workflows/_form.html.erb +0 -40
  586. data/spec/redmine/app/views/workflows/copy.html.erb +0 -38
  587. data/spec/redmine/app/views/workflows/edit.html.erb +0 -75
  588. data/spec/redmine/app/views/workflows/index.html.erb +0 -33
  589. data/spec/redmine/app/views/workflows/permissions.html.erb +0 -123
  590. data/spec/redmine/bin/about +0 -6
  591. data/spec/redmine/bin/bundle +0 -3
  592. data/spec/redmine/bin/rails +0 -4
  593. data/spec/redmine/bin/rake +0 -5
  594. data/spec/redmine/config.ru +0 -4
  595. data/spec/redmine/config/additional_environment.rb.example +0 -10
  596. data/spec/redmine/config/application.rb +0 -73
  597. data/spec/redmine/config/boot.rb +0 -5
  598. data/spec/redmine/config/configuration.yml.example +0 -221
  599. data/spec/redmine/config/database.yml +0 -25
  600. data/spec/redmine/config/database.yml.example +0 -51
  601. data/spec/redmine/config/environment.rb +0 -14
  602. data/spec/redmine/config/environments/development.rb +0 -21
  603. data/spec/redmine/config/environments/production.rb +0 -25
  604. data/spec/redmine/config/environments/test.rb +0 -35
  605. data/spec/redmine/config/environments/test_pgsql.rb +0 -2
  606. data/spec/redmine/config/environments/test_sqlite3.rb +0 -2
  607. data/spec/redmine/config/initializers/00-core_plugins.rb +0 -15
  608. data/spec/redmine/config/initializers/10-patches.rb +0 -180
  609. data/spec/redmine/config/initializers/20-mime_types.rb +0 -4
  610. data/spec/redmine/config/initializers/30-redmine.rb +0 -30
  611. data/spec/redmine/config/initializers/backtrace_silencers.rb +0 -7
  612. data/spec/redmine/config/initializers/inflections.rb +0 -10
  613. data/spec/redmine/config/locales/ar.yml +0 -1157
  614. data/spec/redmine/config/locales/az.yml +0 -1254
  615. data/spec/redmine/config/locales/bg.yml +0 -1150
  616. data/spec/redmine/config/locales/bs.yml +0 -1170
  617. data/spec/redmine/config/locales/ca.yml +0 -1159
  618. data/spec/redmine/config/locales/cs.yml +0 -1159
  619. data/spec/redmine/config/locales/da.yml +0 -1174
  620. data/spec/redmine/config/locales/de.yml +0 -1166
  621. data/spec/redmine/config/locales/el.yml +0 -1157
  622. data/spec/redmine/config/locales/en-GB.yml +0 -1159
  623. data/spec/redmine/config/locales/en.yml +0 -1146
  624. data/spec/redmine/config/locales/es-PA.yml +0 -1191
  625. data/spec/redmine/config/locales/es.yml +0 -1189
  626. data/spec/redmine/config/locales/et.yml +0 -1170
  627. data/spec/redmine/config/locales/eu.yml +0 -1158
  628. data/spec/redmine/config/locales/fa.yml +0 -1158
  629. data/spec/redmine/config/locales/fi.yml +0 -1178
  630. data/spec/redmine/config/locales/fr.yml +0 -1166
  631. data/spec/redmine/config/locales/gl.yml +0 -1165
  632. data/spec/redmine/config/locales/he.yml +0 -1162
  633. data/spec/redmine/config/locales/hr.yml +0 -1158
  634. data/spec/redmine/config/locales/hu.yml +0 -1176
  635. data/spec/redmine/config/locales/id.yml +0 -1161
  636. data/spec/redmine/config/locales/it.yml +0 -1152
  637. data/spec/redmine/config/locales/ja.yml +0 -1172
  638. data/spec/redmine/config/locales/ko.yml +0 -1201
  639. data/spec/redmine/config/locales/lt.yml +0 -1216
  640. data/spec/redmine/config/locales/lv.yml +0 -1151
  641. data/spec/redmine/config/locales/mk.yml +0 -1157
  642. data/spec/redmine/config/locales/mn.yml +0 -1158
  643. data/spec/redmine/config/locales/nl.yml +0 -1136
  644. data/spec/redmine/config/locales/no.yml +0 -1147
  645. data/spec/redmine/config/locales/pl.yml +0 -1177
  646. data/spec/redmine/config/locales/pt-BR.yml +0 -1176
  647. data/spec/redmine/config/locales/pt.yml +0 -1162
  648. data/spec/redmine/config/locales/ro.yml +0 -1152
  649. data/spec/redmine/config/locales/ru.yml +0 -1262
  650. data/spec/redmine/config/locales/sk.yml +0 -1147
  651. data/spec/redmine/config/locales/sl.yml +0 -1157
  652. data/spec/redmine/config/locales/sq.yml +0 -1153
  653. data/spec/redmine/config/locales/sr-YU.yml +0 -1159
  654. data/spec/redmine/config/locales/sr.yml +0 -1158
  655. data/spec/redmine/config/locales/sv.yml +0 -1190
  656. data/spec/redmine/config/locales/th.yml +0 -1154
  657. data/spec/redmine/config/locales/tr.yml +0 -1166
  658. data/spec/redmine/config/locales/uk.yml +0 -1152
  659. data/spec/redmine/config/locales/vi.yml +0 -1210
  660. data/spec/redmine/config/locales/zh-TW.yml +0 -1233
  661. data/spec/redmine/config/locales/zh.yml +0 -1158
  662. data/spec/redmine/config/routes.rb +0 -366
  663. data/spec/redmine/config/settings.yml +0 -252
  664. data/spec/redmine/db/migrate/001_setup.rb +0 -329
  665. data/spec/redmine/db/migrate/002_issue_move.rb +0 -12
  666. data/spec/redmine/db/migrate/003_issue_add_note.rb +0 -12
  667. data/spec/redmine/db/migrate/004_export_pdf.rb +0 -14
  668. data/spec/redmine/db/migrate/005_issue_start_date.rb +0 -11
  669. data/spec/redmine/db/migrate/006_calendar_and_activity.rb +0 -16
  670. data/spec/redmine/db/migrate/007_create_journals.rb +0 -56
  671. data/spec/redmine/db/migrate/008_create_user_preferences.rb +0 -12
  672. data/spec/redmine/db/migrate/009_add_hide_mail_pref.rb +0 -9
  673. data/spec/redmine/db/migrate/010_create_comments.rb +0 -16
  674. data/spec/redmine/db/migrate/011_add_news_comments_count.rb +0 -9
  675. data/spec/redmine/db/migrate/012_add_comments_permissions.rb +0 -14
  676. data/spec/redmine/db/migrate/013_create_queries.rb +0 -15
  677. data/spec/redmine/db/migrate/014_add_queries_permissions.rb +0 -12
  678. data/spec/redmine/db/migrate/015_create_repositories.rb +0 -12
  679. data/spec/redmine/db/migrate/016_add_repositories_permissions.rb +0 -22
  680. data/spec/redmine/db/migrate/017_create_settings.rb +0 -12
  681. data/spec/redmine/db/migrate/018_set_doc_and_files_notifications.rb +0 -18
  682. data/spec/redmine/db/migrate/019_add_issue_status_position.rb +0 -10
  683. data/spec/redmine/db/migrate/020_add_role_position.rb +0 -10
  684. data/spec/redmine/db/migrate/021_add_tracker_position.rb +0 -10
  685. data/spec/redmine/db/migrate/022_serialize_possibles_values.rb +0 -13
  686. data/spec/redmine/db/migrate/023_add_tracker_is_in_roadmap.rb +0 -9
  687. data/spec/redmine/db/migrate/024_add_roadmap_permission.rb +0 -12
  688. data/spec/redmine/db/migrate/025_add_search_permission.rb +0 -12
  689. data/spec/redmine/db/migrate/026_add_repository_login_and_password.rb +0 -11
  690. data/spec/redmine/db/migrate/027_create_wikis.rb +0 -14
  691. data/spec/redmine/db/migrate/028_create_wiki_pages.rb +0 -14
  692. data/spec/redmine/db/migrate/029_create_wiki_contents.rb +0 -30
  693. data/spec/redmine/db/migrate/030_add_projects_feeds_permissions.rb +0 -12
  694. data/spec/redmine/db/migrate/031_add_repository_root_url.rb +0 -9
  695. data/spec/redmine/db/migrate/032_create_time_entries.rb +0 -24
  696. data/spec/redmine/db/migrate/033_add_timelog_permissions.rb +0 -12
  697. data/spec/redmine/db/migrate/034_create_changesets.rb +0 -16
  698. data/spec/redmine/db/migrate/035_create_changes.rb +0 -16
  699. data/spec/redmine/db/migrate/036_add_changeset_commit_date.rb +0 -10
  700. data/spec/redmine/db/migrate/037_add_project_identifier.rb +0 -9
  701. data/spec/redmine/db/migrate/038_add_custom_field_is_filter.rb +0 -9
  702. data/spec/redmine/db/migrate/039_create_watchers.rb +0 -13
  703. data/spec/redmine/db/migrate/040_create_changesets_issues.rb +0 -13
  704. data/spec/redmine/db/migrate/041_rename_comment_to_comments.rb +0 -13
  705. data/spec/redmine/db/migrate/042_create_issue_relations.rb +0 -14
  706. data/spec/redmine/db/migrate/043_add_relations_permissions.rb +0 -14
  707. data/spec/redmine/db/migrate/044_set_language_length_to_five.rb +0 -9
  708. data/spec/redmine/db/migrate/045_create_boards.rb +0 -18
  709. data/spec/redmine/db/migrate/046_create_messages.rb +0 -21
  710. data/spec/redmine/db/migrate/047_add_boards_permissions.rb +0 -16
  711. data/spec/redmine/db/migrate/048_allow_null_version_effective_date.rb +0 -9
  712. data/spec/redmine/db/migrate/049_add_wiki_destroy_page_permission.rb +0 -12
  713. data/spec/redmine/db/migrate/050_add_wiki_attachments_permissions.rb +0 -14
  714. data/spec/redmine/db/migrate/051_add_project_status.rb +0 -9
  715. data/spec/redmine/db/migrate/052_add_changes_revision.rb +0 -9
  716. data/spec/redmine/db/migrate/053_add_changes_branch.rb +0 -9
  717. data/spec/redmine/db/migrate/054_add_changesets_scmid.rb +0 -9
  718. data/spec/redmine/db/migrate/055_add_repositories_type.rb +0 -11
  719. data/spec/redmine/db/migrate/056_add_repositories_changes_permission.rb +0 -12
  720. data/spec/redmine/db/migrate/057_add_versions_wiki_page_title.rb +0 -9
  721. data/spec/redmine/db/migrate/058_add_issue_categories_assigned_to_id.rb +0 -9
  722. data/spec/redmine/db/migrate/059_add_roles_assignable.rb +0 -9
  723. data/spec/redmine/db/migrate/060_change_changesets_committer_limit.rb +0 -9
  724. data/spec/redmine/db/migrate/061_add_roles_builtin.rb +0 -9
  725. data/spec/redmine/db/migrate/062_insert_builtin_roles.rb +0 -16
  726. data/spec/redmine/db/migrate/063_add_roles_permissions.rb +0 -9
  727. data/spec/redmine/db/migrate/064_drop_permissions.rb +0 -10
  728. data/spec/redmine/db/migrate/065_add_settings_updated_on.rb +0 -11
  729. data/spec/redmine/db/migrate/066_add_custom_value_customized_index.rb +0 -9
  730. data/spec/redmine/db/migrate/067_create_wiki_redirects.rb +0 -15
  731. data/spec/redmine/db/migrate/068_create_enabled_modules.rb +0 -18
  732. data/spec/redmine/db/migrate/069_add_issues_estimated_hours.rb +0 -9
  733. data/spec/redmine/db/migrate/070_change_attachments_content_type_limit.rb +0 -9
  734. data/spec/redmine/db/migrate/071_add_queries_column_names.rb +0 -9
  735. data/spec/redmine/db/migrate/072_add_enumerations_position.rb +0 -15
  736. data/spec/redmine/db/migrate/073_add_enumerations_is_default.rb +0 -9
  737. data/spec/redmine/db/migrate/074_add_auth_sources_tls.rb +0 -9
  738. data/spec/redmine/db/migrate/075_add_members_mail_notification.rb +0 -9
  739. data/spec/redmine/db/migrate/076_allow_null_position.rb +0 -16
  740. data/spec/redmine/db/migrate/077_remove_issue_statuses_html_color.rb +0 -9
  741. data/spec/redmine/db/migrate/078_add_custom_fields_position.rb +0 -15
  742. data/spec/redmine/db/migrate/079_add_user_preferences_time_zone.rb +0 -9
  743. data/spec/redmine/db/migrate/080_add_users_type.rb +0 -10
  744. data/spec/redmine/db/migrate/081_create_projects_trackers.rb +0 -19
  745. data/spec/redmine/db/migrate/082_add_messages_locked.rb +0 -9
  746. data/spec/redmine/db/migrate/083_add_messages_sticky.rb +0 -9
  747. data/spec/redmine/db/migrate/084_change_auth_sources_account_limit.rb +0 -9
  748. data/spec/redmine/db/migrate/085_add_role_tracker_old_status_index_to_workflows.rb +0 -9
  749. data/spec/redmine/db/migrate/086_add_custom_fields_searchable.rb +0 -9
  750. data/spec/redmine/db/migrate/087_change_projects_description_to_text.rb +0 -8
  751. data/spec/redmine/db/migrate/088_add_custom_fields_default_value.rb +0 -9
  752. data/spec/redmine/db/migrate/089_add_attachments_description.rb +0 -9
  753. data/spec/redmine/db/migrate/090_change_versions_name_limit.rb +0 -9
  754. data/spec/redmine/db/migrate/091_change_changesets_revision_to_string.rb +0 -32
  755. data/spec/redmine/db/migrate/092_change_changes_from_revision_to_string.rb +0 -9
  756. data/spec/redmine/db/migrate/093_add_wiki_pages_protected.rb +0 -9
  757. data/spec/redmine/db/migrate/094_change_projects_homepage_limit.rb +0 -9
  758. data/spec/redmine/db/migrate/095_add_wiki_pages_parent_id.rb +0 -9
  759. data/spec/redmine/db/migrate/096_add_commit_access_permission.rb +0 -13
  760. data/spec/redmine/db/migrate/097_add_view_wiki_edits_permission.rb +0 -13
  761. data/spec/redmine/db/migrate/098_set_topic_authors_as_watchers.rb +0 -15
  762. data/spec/redmine/db/migrate/099_add_delete_wiki_pages_attachments_permission.rb +0 -13
  763. data/spec/redmine/db/migrate/100_add_changesets_user_id.rb +0 -9
  764. data/spec/redmine/db/migrate/101_populate_changesets_user_id.rb +0 -18
  765. data/spec/redmine/db/migrate/102_add_custom_fields_editable.rb +0 -9
  766. data/spec/redmine/db/migrate/103_set_custom_fields_editable.rb +0 -9
  767. data/spec/redmine/db/migrate/104_add_projects_lft_and_rgt.rb +0 -11
  768. data/spec/redmine/db/migrate/105_build_projects_tree.rb +0 -8
  769. data/spec/redmine/db/migrate/106_remove_projects_projects_count.rb +0 -9
  770. data/spec/redmine/db/migrate/107_add_open_id_authentication_tables.rb +0 -20
  771. data/spec/redmine/db/migrate/108_add_identity_url_to_users.rb +0 -9
  772. data/spec/redmine/db/migrate/20090214190337_add_watchers_user_id_type_index.rb +0 -9
  773. data/spec/redmine/db/migrate/20090312172426_add_queries_sort_criteria.rb +0 -9
  774. data/spec/redmine/db/migrate/20090312194159_add_projects_trackers_unique_index.rb +0 -21
  775. data/spec/redmine/db/migrate/20090318181151_extend_settings_name.rb +0 -9
  776. data/spec/redmine/db/migrate/20090323224724_add_type_to_enumerations.rb +0 -9
  777. data/spec/redmine/db/migrate/20090401221305_update_enumerations_to_sti.rb +0 -11
  778. data/spec/redmine/db/migrate/20090401231134_add_active_field_to_enumerations.rb +0 -9
  779. data/spec/redmine/db/migrate/20090403001910_add_project_to_enumerations.rb +0 -11
  780. data/spec/redmine/db/migrate/20090406161854_add_parent_id_to_enumerations.rb +0 -9
  781. data/spec/redmine/db/migrate/20090425161243_add_queries_group_by.rb +0 -9
  782. data/spec/redmine/db/migrate/20090503121501_create_member_roles.rb +0 -12
  783. data/spec/redmine/db/migrate/20090503121505_populate_member_roles.rb +0 -12
  784. data/spec/redmine/db/migrate/20090503121510_drop_members_role_id.rb +0 -9
  785. data/spec/redmine/db/migrate/20090614091200_fix_messages_sticky_null.rb +0 -9
  786. data/spec/redmine/db/migrate/20090704172350_populate_users_type.rb +0 -8
  787. data/spec/redmine/db/migrate/20090704172355_create_groups_users.rb +0 -13
  788. data/spec/redmine/db/migrate/20090704172358_add_member_roles_inherited_from.rb +0 -9
  789. data/spec/redmine/db/migrate/20091010093521_fix_users_custom_values.rb +0 -11
  790. data/spec/redmine/db/migrate/20091017212227_add_missing_indexes_to_workflows.rb +0 -13
  791. data/spec/redmine/db/migrate/20091017212457_add_missing_indexes_to_custom_fields_projects.rb +0 -9
  792. data/spec/redmine/db/migrate/20091017212644_add_missing_indexes_to_messages.rb +0 -11
  793. data/spec/redmine/db/migrate/20091017212938_add_missing_indexes_to_repositories.rb +0 -9
  794. data/spec/redmine/db/migrate/20091017213027_add_missing_indexes_to_comments.rb +0 -11
  795. data/spec/redmine/db/migrate/20091017213113_add_missing_indexes_to_enumerations.rb +0 -9
  796. data/spec/redmine/db/migrate/20091017213151_add_missing_indexes_to_wiki_pages.rb +0 -11
  797. data/spec/redmine/db/migrate/20091017213228_add_missing_indexes_to_watchers.rb +0 -11
  798. data/spec/redmine/db/migrate/20091017213257_add_missing_indexes_to_auth_sources.rb +0 -9
  799. data/spec/redmine/db/migrate/20091017213332_add_missing_indexes_to_documents.rb +0 -9
  800. data/spec/redmine/db/migrate/20091017213444_add_missing_indexes_to_tokens.rb +0 -9
  801. data/spec/redmine/db/migrate/20091017213536_add_missing_indexes_to_changesets.rb +0 -11
  802. data/spec/redmine/db/migrate/20091017213642_add_missing_indexes_to_issue_categories.rb +0 -9
  803. data/spec/redmine/db/migrate/20091017213716_add_missing_indexes_to_member_roles.rb +0 -11
  804. data/spec/redmine/db/migrate/20091017213757_add_missing_indexes_to_boards.rb +0 -9
  805. data/spec/redmine/db/migrate/20091017213835_add_missing_indexes_to_user_preferences.rb +0 -9
  806. data/spec/redmine/db/migrate/20091017213910_add_missing_indexes_to_issues.rb +0 -21
  807. data/spec/redmine/db/migrate/20091017214015_add_missing_indexes_to_members.rb +0 -11
  808. data/spec/redmine/db/migrate/20091017214107_add_missing_indexes_to_custom_fields.rb +0 -9
  809. data/spec/redmine/db/migrate/20091017214136_add_missing_indexes_to_queries.rb +0 -11
  810. data/spec/redmine/db/migrate/20091017214236_add_missing_indexes_to_time_entries.rb +0 -11
  811. data/spec/redmine/db/migrate/20091017214308_add_missing_indexes_to_news.rb +0 -9
  812. data/spec/redmine/db/migrate/20091017214336_add_missing_indexes_to_users.rb +0 -11
  813. data/spec/redmine/db/migrate/20091017214406_add_missing_indexes_to_attachments.rb +0 -11
  814. data/spec/redmine/db/migrate/20091017214440_add_missing_indexes_to_wiki_contents.rb +0 -9
  815. data/spec/redmine/db/migrate/20091017214519_add_missing_indexes_to_custom_values.rb +0 -9
  816. data/spec/redmine/db/migrate/20091017214611_add_missing_indexes_to_journals.rb +0 -11
  817. data/spec/redmine/db/migrate/20091017214644_add_missing_indexes_to_issue_relations.rb +0 -11
  818. data/spec/redmine/db/migrate/20091017214720_add_missing_indexes_to_wiki_redirects.rb +0 -9
  819. data/spec/redmine/db/migrate/20091017214750_add_missing_indexes_to_custom_fields_trackers.rb +0 -9
  820. data/spec/redmine/db/migrate/20091025163651_add_activity_indexes.rb +0 -25
  821. data/spec/redmine/db/migrate/20091108092559_add_versions_status.rb +0 -10
  822. data/spec/redmine/db/migrate/20091114105931_add_view_issues_permission.rb +0 -15
  823. data/spec/redmine/db/migrate/20091123212029_add_default_done_ratio_to_issue_status.rb +0 -9
  824. data/spec/redmine/db/migrate/20091205124427_add_versions_sharing.rb +0 -10
  825. data/spec/redmine/db/migrate/20091220183509_add_lft_and_rgt_indexes_to_projects.rb +0 -11
  826. data/spec/redmine/db/migrate/20091220183727_add_index_to_settings_name.rb +0 -9
  827. data/spec/redmine/db/migrate/20091220184736_add_indexes_to_issue_status.rb +0 -13
  828. data/spec/redmine/db/migrate/20091225164732_remove_enumerations_opt.rb +0 -12
  829. data/spec/redmine/db/migrate/20091227112908_change_wiki_contents_text_limit.rb +0 -16
  830. data/spec/redmine/db/migrate/20100129193402_change_users_mail_notification_to_string.rb +0 -21
  831. data/spec/redmine/db/migrate/20100129193813_update_mail_notification_values.rb +0 -11
  832. data/spec/redmine/db/migrate/20100221100219_add_index_on_changesets_scmid.rb +0 -9
  833. data/spec/redmine/db/migrate/20100313132032_add_issues_nested_sets_columns.rb +0 -17
  834. data/spec/redmine/db/migrate/20100313171051_add_index_on_issues_nested_set.rb +0 -9
  835. data/spec/redmine/db/migrate/20100705164950_change_changes_path_length_limit.rb +0 -14
  836. data/spec/redmine/db/migrate/20100819172912_enable_calendar_and_gantt_modules_where_appropriate.rb +0 -12
  837. data/spec/redmine/db/migrate/20101104182107_add_unique_index_on_members.rb +0 -22
  838. data/spec/redmine/db/migrate/20101107130441_add_custom_fields_visible.rb +0 -10
  839. data/spec/redmine/db/migrate/20101114115114_change_projects_name_limit.rb +0 -9
  840. data/spec/redmine/db/migrate/20101114115359_change_projects_identifier_limit.rb +0 -9
  841. data/spec/redmine/db/migrate/20110220160626_add_workflows_assignee_and_author.rb +0 -14
  842. data/spec/redmine/db/migrate/20110223180944_add_users_salt.rb +0 -9
  843. data/spec/redmine/db/migrate/20110223180953_salt_user_passwords.rb +0 -13
  844. data/spec/redmine/db/migrate/20110224000000_add_repositories_path_encoding.rb +0 -9
  845. data/spec/redmine/db/migrate/20110226120112_change_repositories_password_limit.rb +0 -9
  846. data/spec/redmine/db/migrate/20110226120132_change_auth_sources_account_password_limit.rb +0 -9
  847. data/spec/redmine/db/migrate/20110227125750_change_journal_details_values_to_text.rb +0 -11
  848. data/spec/redmine/db/migrate/20110228000000_add_repositories_log_encoding.rb +0 -9
  849. data/spec/redmine/db/migrate/20110228000100_copy_repositories_log_encoding.rb +0 -12
  850. data/spec/redmine/db/migrate/20110401192910_add_index_to_users_type.rb +0 -9
  851. data/spec/redmine/db/migrate/20110408103312_add_roles_issues_visibility.rb +0 -9
  852. data/spec/redmine/db/migrate/20110412065600_add_issues_is_private.rb +0 -9
  853. data/spec/redmine/db/migrate/20110511000000_add_repositories_extra_info.rb +0 -9
  854. data/spec/redmine/db/migrate/20110902000000_create_changeset_parents.rb +0 -14
  855. data/spec/redmine/db/migrate/20111201201315_add_unique_index_to_issue_relations.rb +0 -16
  856. data/spec/redmine/db/migrate/20120115143024_add_repositories_identifier.rb +0 -9
  857. data/spec/redmine/db/migrate/20120115143100_add_repositories_is_default.rb +0 -9
  858. data/spec/redmine/db/migrate/20120115143126_set_default_repositories.rb +0 -14
  859. data/spec/redmine/db/migrate/20120127174243_add_custom_fields_multiple.rb +0 -9
  860. data/spec/redmine/db/migrate/20120205111326_change_users_login_limit.rb +0 -9
  861. data/spec/redmine/db/migrate/20120223110929_change_attachments_container_defaults.rb +0 -25
  862. data/spec/redmine/db/migrate/20120301153455_add_auth_sources_filter.rb +0 -9
  863. data/spec/redmine/db/migrate/20120422150750_change_repositories_to_full_sti.rb +0 -22
  864. data/spec/redmine/db/migrate/20120705074331_add_trackers_fields_bits.rb +0 -9
  865. data/spec/redmine/db/migrate/20120707064544_add_auth_sources_timeout.rb +0 -9
  866. data/spec/redmine/db/migrate/20120714122000_add_workflows_type.rb +0 -9
  867. data/spec/redmine/db/migrate/20120714122100_update_workflows_to_sti.rb +0 -9
  868. data/spec/redmine/db/migrate/20120714122200_add_workflows_rule_fields.rb +0 -11
  869. data/spec/redmine/db/migrate/20120731164049_add_boards_parent_id.rb +0 -9
  870. data/spec/redmine/db/migrate/20120930112914_add_journals_private_notes.rb +0 -9
  871. data/spec/redmine/db/migrate/20121026002032_add_enumerations_position_name.rb +0 -9
  872. data/spec/redmine/db/migrate/20121026003537_populate_enumerations_position_name.rb +0 -9
  873. data/spec/redmine/db/migrate/20121209123234_add_queries_type.rb +0 -9
  874. data/spec/redmine/db/migrate/20121209123358_update_queries_to_sti.rb +0 -9
  875. data/spec/redmine/db/migrate/20121213084931_add_attachments_disk_directory.rb +0 -9
  876. data/spec/redmine/db/migrate/20130110122628_split_documents_permissions.rb +0 -23
  877. data/spec/redmine/db/migrate/20130201184705_add_unique_index_on_tokens_value.rb +0 -15
  878. data/spec/redmine/db/migrate/20130202090625_add_projects_inherit_members.rb +0 -9
  879. data/spec/redmine/db/migrate/20130207175206_add_unique_index_on_custom_fields_trackers.rb +0 -24
  880. data/spec/redmine/db/migrate/20130207181455_add_unique_index_on_custom_fields_projects.rb +0 -24
  881. data/spec/redmine/db/migrate/20130215073721_change_users_lastname_length_to_255.rb +0 -9
  882. data/spec/redmine/db/migrate/20130215111127_add_issues_closed_on.rb +0 -9
  883. data/spec/redmine/db/migrate/20130215111141_populate_issues_closed_on.rb +0 -26
  884. data/spec/redmine/db/migrate/20130217094251_remove_issues_default_fk_values.rb +0 -19
  885. data/spec/redmine/db/migrate/20130602092539_create_queries_roles.rb +0 -13
  886. data/spec/redmine/db/migrate/20130710182539_add_queries_visibility.rb +0 -13
  887. data/spec/redmine/db/migrate/20130713104233_create_custom_fields_roles.rb +0 -14
  888. data/spec/redmine/db/migrate/20130713111657_add_queries_options.rb +0 -9
  889. data/spec/redmine/db/migrate/20130729070143_add_users_must_change_passwd.rb +0 -9
  890. data/spec/redmine/db/migrate/20130911193200_remove_eols_from_attachments_filename.rb +0 -12
  891. data/spec/redmine/db/migrate/20131004113137_support_for_multiple_commit_keywords.rb +0 -17
  892. data/spec/redmine/db/migrate/20131005100610_add_repositories_created_on.rb +0 -9
  893. data/spec/redmine/db/migrate/20131124175346_add_custom_fields_format_store.rb +0 -9
  894. data/spec/redmine/db/migrate/20131210180802_add_custom_fields_description.rb +0 -9
  895. data/spec/redmine/db/migrate/20131214094309_remove_custom_fields_min_max_length_default_values.rb +0 -15
  896. data/spec/redmine/db/migrate/20131215104612_store_relation_type_in_journal_details.rb +0 -26
  897. data/spec/redmine/db/migrate/20131218183023_delete_orphan_time_entries_custom_values.rb +0 -9
  898. data/spec/redmine/db/migrate/20140228130325_change_changesets_comments_limit.rb +0 -12
  899. data/spec/redmine/db/migrate/20140903143914_add_password_changed_at_to_user.rb +0 -5
  900. data/spec/redmine/db/migrate/20140920094058_insert_builtin_groups.rb +0 -21
  901. data/spec/redmine/db/migrate/20141029181752_add_trackers_default_status_id.rb +0 -15
  902. data/spec/redmine/db/migrate/20141029181824_remove_issue_statuses_is_default.rb +0 -12
  903. data/spec/redmine/db/migrate/20141109112308_add_roles_users_visibility.rb +0 -9
  904. data/spec/redmine/db/migrate/20141122124142_add_wiki_redirects_redirects_to_wiki_id.rb +0 -11
  905. data/spec/redmine/db/migrate/20150113194759_create_email_addresses.rb +0 -12
  906. data/spec/redmine/db/migrate/20150113211532_populate_email_addresses.rb +0 -14
  907. data/spec/redmine/db/migrate/20150113213922_remove_users_mail.rb +0 -13
  908. data/spec/redmine/db/migrate/20150113213955_add_email_addresses_user_id_index.rb +0 -9
  909. data/spec/redmine/db/migrate/20150208105930_replace_move_issues_permission.rb +0 -19
  910. data/spec/redmine/db/migrate/20150510083747_change_documents_title_limit.rb +0 -9
  911. data/spec/redmine/db/migrate/20150525103953_clear_estimated_hours_on_parent_issues.rb +0 -15
  912. data/spec/redmine/db/migrate/20150526183158_add_roles_time_entries_visibility.rb +0 -9
  913. data/spec/redmine/db/migrate/20150528084820_add_roles_all_roles_managed.rb +0 -5
  914. data/spec/redmine/db/migrate/20150528092912_create_roles_managed_roles.rb +0 -8
  915. data/spec/redmine/db/migrate/20150528093249_add_unique_index_on_roles_managed_roles.rb +0 -5
  916. data/spec/redmine/doc/CHANGELOG +0 -3019
  917. data/spec/redmine/doc/COPYING +0 -339
  918. data/spec/redmine/doc/INSTALL +0 -106
  919. data/spec/redmine/doc/README_FOR_APP +0 -28
  920. data/spec/redmine/doc/RUNNING_TESTS +0 -70
  921. data/spec/redmine/doc/UPGRADING +0 -84
  922. data/spec/redmine/extra/mail_handler/rdm-mailhandler.rb +0 -183
  923. data/spec/redmine/extra/sample_plugin/README +0 -15
  924. data/spec/redmine/extra/sample_plugin/app/controllers/example_controller.rb +0 -20
  925. data/spec/redmine/extra/sample_plugin/app/models/meeting.rb +0 -12
  926. data/spec/redmine/extra/sample_plugin/app/views/example/say_goodbye.html.erb +0 -7
  927. data/spec/redmine/extra/sample_plugin/app/views/example/say_hello.html.erb +0 -15
  928. data/spec/redmine/extra/sample_plugin/app/views/my/blocks/_sample_block.html.erb +0 -3
  929. data/spec/redmine/extra/sample_plugin/app/views/settings/_sample_plugin_settings.html.erb +0 -3
  930. data/spec/redmine/extra/sample_plugin/assets/images/it_works.png +0 -0
  931. data/spec/redmine/extra/sample_plugin/assets/stylesheets/example.css +0 -1
  932. data/spec/redmine/extra/sample_plugin/config/locales/en.yml +0 -6
  933. data/spec/redmine/extra/sample_plugin/config/locales/fr.yml +0 -6
  934. data/spec/redmine/extra/sample_plugin/config/routes.rb +0 -7
  935. data/spec/redmine/extra/sample_plugin/db/migrate/001_create_meetings.rb +0 -15
  936. data/spec/redmine/extra/sample_plugin/init.rb +0 -27
  937. data/spec/redmine/extra/sample_plugin/test/integration/routing_test.rb +0 -12
  938. data/spec/redmine/extra/svn/Redmine.pm +0 -554
  939. data/spec/redmine/extra/svn/reposman.rb +0 -289
  940. data/spec/redmine/files/delete.me +0 -1
  941. data/spec/redmine/lib/SVG/GPL.txt +0 -340
  942. data/spec/redmine/lib/SVG/Graph/Bar.rb +0 -148
  943. data/spec/redmine/lib/SVG/Graph/BarBase.rb +0 -139
  944. data/spec/redmine/lib/SVG/Graph/BarHorizontal.rb +0 -149
  945. data/spec/redmine/lib/SVG/Graph/Graph.rb +0 -977
  946. data/spec/redmine/lib/SVG/Graph/Line.rb +0 -444
  947. data/spec/redmine/lib/SVG/Graph/Pie.rb +0 -395
  948. data/spec/redmine/lib/SVG/Graph/Plot.rb +0 -500
  949. data/spec/redmine/lib/SVG/Graph/Schedule.rb +0 -373
  950. data/spec/redmine/lib/SVG/Graph/TimeSeries.rb +0 -238
  951. data/spec/redmine/lib/SVG/LICENSE.txt +0 -57
  952. data/spec/redmine/lib/diff.rb +0 -282
  953. data/spec/redmine/lib/generators/redmine_plugin/USAGE +0 -26
  954. data/spec/redmine/lib/generators/redmine_plugin/redmine_plugin_generator.rb +0 -37
  955. data/spec/redmine/lib/generators/redmine_plugin/templates/README.rdoc +0 -3
  956. data/spec/redmine/lib/generators/redmine_plugin/templates/en_rails_i18n.yml +0 -3
  957. data/spec/redmine/lib/generators/redmine_plugin/templates/init.rb.erb +0 -8
  958. data/spec/redmine/lib/generators/redmine_plugin/templates/routes.rb +0 -2
  959. data/spec/redmine/lib/generators/redmine_plugin/templates/test_helper.rb.erb +0 -2
  960. data/spec/redmine/lib/generators/redmine_plugin_controller/USAGE +0 -5
  961. data/spec/redmine/lib/generators/redmine_plugin_controller/redmine_plugin_controller_generator.rb +0 -27
  962. data/spec/redmine/lib/generators/redmine_plugin_controller/templates/controller.rb.erb +0 -9
  963. data/spec/redmine/lib/generators/redmine_plugin_controller/templates/functional_test.rb.erb +0 -8
  964. data/spec/redmine/lib/generators/redmine_plugin_controller/templates/helper.rb.erb +0 -2
  965. data/spec/redmine/lib/generators/redmine_plugin_controller/templates/view.html.erb +0 -1
  966. data/spec/redmine/lib/generators/redmine_plugin_model/USAGE +0 -5
  967. data/spec/redmine/lib/generators/redmine_plugin_model/redmine_plugin_model_generator.rb +0 -41
  968. data/spec/redmine/lib/generators/redmine_plugin_model/templates/migration.rb +0 -15
  969. data/spec/redmine/lib/generators/redmine_plugin_model/templates/model.rb.erb +0 -3
  970. data/spec/redmine/lib/generators/redmine_plugin_model/templates/unit_test.rb.erb +0 -9
  971. data/spec/redmine/lib/plugins/acts_as_activity_provider/init.rb +0 -2
  972. data/spec/redmine/lib/plugins/acts_as_activity_provider/lib/acts_as_activity_provider.rb +0 -87
  973. data/spec/redmine/lib/plugins/acts_as_attachable/init.rb +0 -2
  974. data/spec/redmine/lib/plugins/acts_as_attachable/lib/acts_as_attachable.rb +0 -120
  975. data/spec/redmine/lib/plugins/acts_as_customizable/init.rb +0 -2
  976. data/spec/redmine/lib/plugins/acts_as_customizable/lib/acts_as_customizable.rb +0 -170
  977. data/spec/redmine/lib/plugins/acts_as_event/init.rb +0 -2
  978. data/spec/redmine/lib/plugins/acts_as_event/lib/acts_as_event.rb +0 -96
  979. data/spec/redmine/lib/plugins/acts_as_list/README +0 -23
  980. data/spec/redmine/lib/plugins/acts_as_list/init.rb +0 -3
  981. data/spec/redmine/lib/plugins/acts_as_list/lib/active_record/acts/list.rb +0 -280
  982. data/spec/redmine/lib/plugins/acts_as_list/test/list_test.rb +0 -332
  983. data/spec/redmine/lib/plugins/acts_as_searchable/init.rb +0 -2
  984. data/spec/redmine/lib/plugins/acts_as_searchable/lib/acts_as_searchable.rb +0 -225
  985. data/spec/redmine/lib/plugins/acts_as_tree/README +0 -26
  986. data/spec/redmine/lib/plugins/acts_as_tree/Rakefile +0 -22
  987. data/spec/redmine/lib/plugins/acts_as_tree/init.rb +0 -1
  988. data/spec/redmine/lib/plugins/acts_as_tree/lib/active_record/acts/tree.rb +0 -109
  989. data/spec/redmine/lib/plugins/acts_as_tree/test/abstract_unit.rb +0 -0
  990. data/spec/redmine/lib/plugins/acts_as_tree/test/acts_as_tree_test.rb +0 -219
  991. data/spec/redmine/lib/plugins/acts_as_tree/test/database.yml +0 -0
  992. data/spec/redmine/lib/plugins/acts_as_tree/test/fixtures/mixin.rb +0 -0
  993. data/spec/redmine/lib/plugins/acts_as_tree/test/fixtures/mixins.yml +0 -0
  994. data/spec/redmine/lib/plugins/acts_as_tree/test/schema.rb +0 -0
  995. data/spec/redmine/lib/plugins/acts_as_versioned/CHANGELOG +0 -74
  996. data/spec/redmine/lib/plugins/acts_as_versioned/MIT-LICENSE +0 -20
  997. data/spec/redmine/lib/plugins/acts_as_versioned/README +0 -28
  998. data/spec/redmine/lib/plugins/acts_as_versioned/RUNNING_UNIT_TESTS +0 -41
  999. data/spec/redmine/lib/plugins/acts_as_versioned/Rakefile +0 -182
  1000. data/spec/redmine/lib/plugins/acts_as_versioned/init.rb +0 -1
  1001. data/spec/redmine/lib/plugins/acts_as_versioned/lib/acts_as_versioned.rb +0 -568
  1002. data/spec/redmine/lib/plugins/acts_as_versioned/test/abstract_unit.rb +0 -41
  1003. data/spec/redmine/lib/plugins/acts_as_versioned/test/database.yml +0 -18
  1004. data/spec/redmine/lib/plugins/acts_as_versioned/test/fixtures/authors.yml +0 -6
  1005. data/spec/redmine/lib/plugins/acts_as_versioned/test/fixtures/landmark.rb +0 -3
  1006. data/spec/redmine/lib/plugins/acts_as_versioned/test/fixtures/landmark_versions.yml +0 -7
  1007. data/spec/redmine/lib/plugins/acts_as_versioned/test/fixtures/landmarks.yml +0 -6
  1008. data/spec/redmine/lib/plugins/acts_as_versioned/test/fixtures/locked_pages.yml +0 -10
  1009. data/spec/redmine/lib/plugins/acts_as_versioned/test/fixtures/locked_pages_revisions.yml +0 -27
  1010. data/spec/redmine/lib/plugins/acts_as_versioned/test/fixtures/migrations/1_add_versioned_tables.rb +0 -13
  1011. data/spec/redmine/lib/plugins/acts_as_versioned/test/fixtures/page.rb +0 -43
  1012. data/spec/redmine/lib/plugins/acts_as_versioned/test/fixtures/page_versions.yml +0 -16
  1013. data/spec/redmine/lib/plugins/acts_as_versioned/test/fixtures/pages.yml +0 -7
  1014. data/spec/redmine/lib/plugins/acts_as_versioned/test/fixtures/widget.rb +0 -6
  1015. data/spec/redmine/lib/plugins/acts_as_versioned/test/migration_test.rb +0 -46
  1016. data/spec/redmine/lib/plugins/acts_as_versioned/test/schema.rb +0 -68
  1017. data/spec/redmine/lib/plugins/acts_as_versioned/test/versioned_test.rb +0 -347
  1018. data/spec/redmine/lib/plugins/acts_as_watchable/init.rb +0 -3
  1019. data/spec/redmine/lib/plugins/acts_as_watchable/lib/acts_as_watchable.rb +0 -88
  1020. data/spec/redmine/lib/plugins/gravatar/MIT-LICENSE +0 -20
  1021. data/spec/redmine/lib/plugins/gravatar/README.rdoc +0 -55
  1022. data/spec/redmine/lib/plugins/gravatar/Rakefile +0 -32
  1023. data/spec/redmine/lib/plugins/gravatar/about.yml +0 -7
  1024. data/spec/redmine/lib/plugins/gravatar/init.rb +0 -2
  1025. data/spec/redmine/lib/plugins/gravatar/lib/gravatar.rb +0 -88
  1026. data/spec/redmine/lib/plugins/gravatar/spec/gravatar_spec.rb +0 -43
  1027. data/spec/redmine/lib/plugins/open_id_authentication/CHANGELOG +0 -37
  1028. data/spec/redmine/lib/plugins/open_id_authentication/README +0 -223
  1029. data/spec/redmine/lib/plugins/open_id_authentication/Rakefile +0 -22
  1030. data/spec/redmine/lib/plugins/open_id_authentication/generators/open_id_authentication_tables/open_id_authentication_tables_generator.rb +0 -11
  1031. data/spec/redmine/lib/plugins/open_id_authentication/generators/open_id_authentication_tables/templates/migration.rb +0 -20
  1032. data/spec/redmine/lib/plugins/open_id_authentication/generators/upgrade_open_id_authentication_tables/templates/migration.rb +0 -26
  1033. data/spec/redmine/lib/plugins/open_id_authentication/generators/upgrade_open_id_authentication_tables/upgrade_open_id_authentication_tables_generator.rb +0 -11
  1034. data/spec/redmine/lib/plugins/open_id_authentication/init.rb +0 -12
  1035. data/spec/redmine/lib/plugins/open_id_authentication/lib/open_id_authentication.rb +0 -159
  1036. data/spec/redmine/lib/plugins/open_id_authentication/lib/open_id_authentication/association.rb +0 -9
  1037. data/spec/redmine/lib/plugins/open_id_authentication/lib/open_id_authentication/db_store.rb +0 -55
  1038. data/spec/redmine/lib/plugins/open_id_authentication/lib/open_id_authentication/mem_cache_store.rb +0 -73
  1039. data/spec/redmine/lib/plugins/open_id_authentication/lib/open_id_authentication/nonce.rb +0 -5
  1040. data/spec/redmine/lib/plugins/open_id_authentication/lib/open_id_authentication/request.rb +0 -23
  1041. data/spec/redmine/lib/plugins/open_id_authentication/lib/open_id_authentication/timeout_fixes.rb +0 -20
  1042. data/spec/redmine/lib/plugins/open_id_authentication/lib/tasks/open_id_authentication_tasks.rake +0 -30
  1043. data/spec/redmine/lib/plugins/open_id_authentication/test/mem_cache_store_test.rb +0 -151
  1044. data/spec/redmine/lib/plugins/open_id_authentication/test/normalize_test.rb +0 -32
  1045. data/spec/redmine/lib/plugins/open_id_authentication/test/open_id_authentication_test.rb +0 -46
  1046. data/spec/redmine/lib/plugins/open_id_authentication/test/status_test.rb +0 -14
  1047. data/spec/redmine/lib/plugins/open_id_authentication/test/test_helper.rb +0 -17
  1048. data/spec/redmine/lib/redcloth3.rb +0 -1208
  1049. data/spec/redmine/lib/redmine.rb +0 -274
  1050. data/spec/redmine/lib/redmine/access_control.rb +0 -137
  1051. data/spec/redmine/lib/redmine/access_keys.rb +0 -33
  1052. data/spec/redmine/lib/redmine/activity.rb +0 -52
  1053. data/spec/redmine/lib/redmine/activity/fetcher.rb +0 -110
  1054. data/spec/redmine/lib/redmine/ciphering.rb +0 -103
  1055. data/spec/redmine/lib/redmine/codeset_util.rb +0 -72
  1056. data/spec/redmine/lib/redmine/configuration.rb +0 -128
  1057. data/spec/redmine/lib/redmine/core_ext.rb +0 -1
  1058. data/spec/redmine/lib/redmine/core_ext/active_record.rb +0 -27
  1059. data/spec/redmine/lib/redmine/core_ext/date.rb +0 -5
  1060. data/spec/redmine/lib/redmine/core_ext/date/calculations.rb +0 -35
  1061. data/spec/redmine/lib/redmine/core_ext/string.rb +0 -11
  1062. data/spec/redmine/lib/redmine/core_ext/string/conversions.rb +0 -42
  1063. data/spec/redmine/lib/redmine/core_ext/string/inflections.rb +0 -29
  1064. data/spec/redmine/lib/redmine/database.rb +0 -53
  1065. data/spec/redmine/lib/redmine/default_data/loader.rb +0 -186
  1066. data/spec/redmine/lib/redmine/export/csv.rb +0 -65
  1067. data/spec/redmine/lib/redmine/export/pdf.rb +0 -153
  1068. data/spec/redmine/lib/redmine/export/pdf/issues_pdf_helper.rb +0 -518
  1069. data/spec/redmine/lib/redmine/export/pdf/wiki_pdf_helper.rb +0 -98
  1070. data/spec/redmine/lib/redmine/field_format.rb +0 -718
  1071. data/spec/redmine/lib/redmine/helpers/calendar.rb +0 -85
  1072. data/spec/redmine/lib/redmine/helpers/diff.rb +0 -75
  1073. data/spec/redmine/lib/redmine/helpers/gantt.rb +0 -929
  1074. data/spec/redmine/lib/redmine/helpers/time_report.rb +0 -152
  1075. data/spec/redmine/lib/redmine/hook.rb +0 -175
  1076. data/spec/redmine/lib/redmine/i18n.rb +0 -195
  1077. data/spec/redmine/lib/redmine/imap.rb +0 -66
  1078. data/spec/redmine/lib/redmine/info.rb +0 -37
  1079. data/spec/redmine/lib/redmine/menu_manager.rb +0 -454
  1080. data/spec/redmine/lib/redmine/mime_type.rb +0 -89
  1081. data/spec/redmine/lib/redmine/nested_set/issue_nested_set.rb +0 -200
  1082. data/spec/redmine/lib/redmine/nested_set/project_nested_set.rb +0 -159
  1083. data/spec/redmine/lib/redmine/nested_set/traversing.rb +0 -124
  1084. data/spec/redmine/lib/redmine/notifiable.rb +0 -27
  1085. data/spec/redmine/lib/redmine/pagination.rb +0 -246
  1086. data/spec/redmine/lib/redmine/platform.rb +0 -27
  1087. data/spec/redmine/lib/redmine/plugin.rb +0 -504
  1088. data/spec/redmine/lib/redmine/pop3.rb +0 -74
  1089. data/spec/redmine/lib/redmine/safe_attributes.rb +0 -87
  1090. data/spec/redmine/lib/redmine/scm/adapters.rb +0 -25
  1091. data/spec/redmine/lib/redmine/scm/adapters/abstract_adapter.rb +0 -435
  1092. data/spec/redmine/lib/redmine/scm/adapters/bazaar_adapter.rb +0 -338
  1093. data/spec/redmine/lib/redmine/scm/adapters/cvs_adapter.rb +0 -459
  1094. data/spec/redmine/lib/redmine/scm/adapters/darcs_adapter.rb +0 -239
  1095. data/spec/redmine/lib/redmine/scm/adapters/filesystem_adapter.rb +0 -118
  1096. data/spec/redmine/lib/redmine/scm/adapters/git_adapter.rb +0 -408
  1097. data/spec/redmine/lib/redmine/scm/adapters/mercurial/hg-template-1.0.tmpl +0 -12
  1098. data/spec/redmine/lib/redmine/scm/adapters/mercurial/redminehelper.py +0 -225
  1099. data/spec/redmine/lib/redmine/scm/adapters/mercurial_adapter.rb +0 -329
  1100. data/spec/redmine/lib/redmine/scm/adapters/subversion_adapter.rb +0 -276
  1101. data/spec/redmine/lib/redmine/scm/base.rb +0 -23
  1102. data/spec/redmine/lib/redmine/search.rb +0 -173
  1103. data/spec/redmine/lib/redmine/subclass_factory.rb +0 -47
  1104. data/spec/redmine/lib/redmine/sudo_mode.rb +0 -224
  1105. data/spec/redmine/lib/redmine/syntax_highlighting.rb +0 -66
  1106. data/spec/redmine/lib/redmine/themes.rb +0 -143
  1107. data/spec/redmine/lib/redmine/thumbnail.rb +0 -55
  1108. data/spec/redmine/lib/redmine/unified_diff.rb +0 -284
  1109. data/spec/redmine/lib/redmine/utils.rb +0 -118
  1110. data/spec/redmine/lib/redmine/version.rb +0 -37
  1111. data/spec/redmine/lib/redmine/views/api_template_handler.rb +0 -26
  1112. data/spec/redmine/lib/redmine/views/builders.rb +0 -38
  1113. data/spec/redmine/lib/redmine/views/builders/json.rb +0 -45
  1114. data/spec/redmine/lib/redmine/views/builders/structure.rb +0 -94
  1115. data/spec/redmine/lib/redmine/views/builders/xml.rb +0 -48
  1116. data/spec/redmine/lib/redmine/views/labelled_form_builder.rb +0 -55
  1117. data/spec/redmine/lib/redmine/views/my_page/block.rb +0 -32
  1118. data/spec/redmine/lib/redmine/views/other_formats_builder.rb +0 -33
  1119. data/spec/redmine/lib/redmine/wiki_formatting.rb +0 -200
  1120. data/spec/redmine/lib/redmine/wiki_formatting/html_parser.rb +0 -62
  1121. data/spec/redmine/lib/redmine/wiki_formatting/macros.rb +0 -256
  1122. data/spec/redmine/lib/redmine/wiki_formatting/markdown/formatter.rb +0 -137
  1123. data/spec/redmine/lib/redmine/wiki_formatting/markdown/helper.rb +0 -46
  1124. data/spec/redmine/lib/redmine/wiki_formatting/markdown/html_parser.rb +0 -39
  1125. data/spec/redmine/lib/redmine/wiki_formatting/textile/formatter.rb +0 -134
  1126. data/spec/redmine/lib/redmine/wiki_formatting/textile/helper.rb +0 -46
  1127. data/spec/redmine/lib/redmine/wiki_formatting/textile/html_parser.rb +0 -40
  1128. data/spec/redmine/lib/tasks/ci.rake +0 -97
  1129. data/spec/redmine/lib/tasks/ciphering.rake +0 -35
  1130. data/spec/redmine/lib/tasks/deprecated.rake +0 -13
  1131. data/spec/redmine/lib/tasks/email.rake +0 -185
  1132. data/spec/redmine/lib/tasks/extract_fixtures.rake +0 -22
  1133. data/spec/redmine/lib/tasks/initializers.rake +0 -24
  1134. data/spec/redmine/lib/tasks/load_default_data.rake +0 -36
  1135. data/spec/redmine/lib/tasks/locales.rake +0 -180
  1136. data/spec/redmine/lib/tasks/metrics.rake +0 -6
  1137. data/spec/redmine/lib/tasks/migrate_from_mantis.rake +0 -516
  1138. data/spec/redmine/lib/tasks/migrate_from_trac.rake +0 -777
  1139. data/spec/redmine/lib/tasks/permissions.rake +0 -9
  1140. data/spec/redmine/lib/tasks/redmine.rake +0 -179
  1141. data/spec/redmine/lib/tasks/reminder.rake +0 -45
  1142. data/spec/redmine/lib/tasks/testing.rake +0 -110
  1143. data/spec/redmine/lib/tasks/yardoc.rake +0 -21
  1144. data/spec/redmine/log/delete.me +0 -1
  1145. data/spec/redmine/plugins/README +0 -1
  1146. data/spec/redmine/public/404.html +0 -17
  1147. data/spec/redmine/public/500.html +0 -19
  1148. data/spec/redmine/public/dispatch.fcgi.example +0 -20
  1149. data/spec/redmine/public/favicon.ico +0 -0
  1150. data/spec/redmine/public/help/ar/wiki_syntax_detailed_markdown.html +0 -329
  1151. data/spec/redmine/public/help/ar/wiki_syntax_detailed_textile.html +0 -333
  1152. data/spec/redmine/public/help/ar/wiki_syntax_markdown.html +0 -82
  1153. data/spec/redmine/public/help/ar/wiki_syntax_textile.html +0 -85
  1154. data/spec/redmine/public/help/az/wiki_syntax_detailed_markdown.html +0 -329
  1155. data/spec/redmine/public/help/az/wiki_syntax_detailed_textile.html +0 -333
  1156. data/spec/redmine/public/help/az/wiki_syntax_markdown.html +0 -82
  1157. data/spec/redmine/public/help/az/wiki_syntax_textile.html +0 -85
  1158. data/spec/redmine/public/help/bg/wiki_syntax_detailed_markdown.html +0 -329
  1159. data/spec/redmine/public/help/bg/wiki_syntax_detailed_textile.html +0 -333
  1160. data/spec/redmine/public/help/bg/wiki_syntax_markdown.html +0 -82
  1161. data/spec/redmine/public/help/bg/wiki_syntax_textile.html +0 -85
  1162. data/spec/redmine/public/help/bs/wiki_syntax_detailed_markdown.html +0 -329
  1163. data/spec/redmine/public/help/bs/wiki_syntax_detailed_textile.html +0 -333
  1164. data/spec/redmine/public/help/bs/wiki_syntax_markdown.html +0 -82
  1165. data/spec/redmine/public/help/bs/wiki_syntax_textile.html +0 -85
  1166. data/spec/redmine/public/help/ca/wiki_syntax_detailed_markdown.html +0 -329
  1167. data/spec/redmine/public/help/ca/wiki_syntax_detailed_textile.html +0 -333
  1168. data/spec/redmine/public/help/ca/wiki_syntax_markdown.html +0 -82
  1169. data/spec/redmine/public/help/ca/wiki_syntax_textile.html +0 -85
  1170. data/spec/redmine/public/help/cs/wiki_syntax_detailed_markdown.html +0 -329
  1171. data/spec/redmine/public/help/cs/wiki_syntax_detailed_textile.html +0 -333
  1172. data/spec/redmine/public/help/cs/wiki_syntax_markdown.html +0 -82
  1173. data/spec/redmine/public/help/cs/wiki_syntax_textile.html +0 -85
  1174. data/spec/redmine/public/help/da/wiki_syntax_detailed_markdown.html +0 -329
  1175. data/spec/redmine/public/help/da/wiki_syntax_detailed_textile.html +0 -333
  1176. data/spec/redmine/public/help/da/wiki_syntax_markdown.html +0 -82
  1177. data/spec/redmine/public/help/da/wiki_syntax_textile.html +0 -85
  1178. data/spec/redmine/public/help/de/wiki_syntax_detailed_markdown.html +0 -329
  1179. data/spec/redmine/public/help/de/wiki_syntax_detailed_textile.html +0 -333
  1180. data/spec/redmine/public/help/de/wiki_syntax_markdown.html +0 -82
  1181. data/spec/redmine/public/help/de/wiki_syntax_textile.html +0 -85
  1182. data/spec/redmine/public/help/el/wiki_syntax_detailed_markdown.html +0 -329
  1183. data/spec/redmine/public/help/el/wiki_syntax_detailed_textile.html +0 -333
  1184. data/spec/redmine/public/help/el/wiki_syntax_markdown.html +0 -82
  1185. data/spec/redmine/public/help/el/wiki_syntax_textile.html +0 -85
  1186. data/spec/redmine/public/help/en-gb/wiki_syntax_detailed_markdown.html +0 -329
  1187. data/spec/redmine/public/help/en-gb/wiki_syntax_detailed_textile.html +0 -333
  1188. data/spec/redmine/public/help/en-gb/wiki_syntax_markdown.html +0 -82
  1189. data/spec/redmine/public/help/en-gb/wiki_syntax_textile.html +0 -85
  1190. data/spec/redmine/public/help/en/wiki_syntax_detailed_markdown.html +0 -329
  1191. data/spec/redmine/public/help/en/wiki_syntax_detailed_textile.html +0 -333
  1192. data/spec/redmine/public/help/en/wiki_syntax_markdown.html +0 -82
  1193. data/spec/redmine/public/help/en/wiki_syntax_textile.html +0 -85
  1194. data/spec/redmine/public/help/es-pa/wiki_syntax_detailed_markdown.html +0 -329
  1195. data/spec/redmine/public/help/es-pa/wiki_syntax_detailed_textile.html +0 -333
  1196. data/spec/redmine/public/help/es-pa/wiki_syntax_markdown.html +0 -82
  1197. data/spec/redmine/public/help/es-pa/wiki_syntax_textile.html +0 -86
  1198. data/spec/redmine/public/help/es/wiki_syntax_detailed_markdown.html +0 -329
  1199. data/spec/redmine/public/help/es/wiki_syntax_detailed_textile.html +0 -333
  1200. data/spec/redmine/public/help/es/wiki_syntax_markdown.html +0 -82
  1201. data/spec/redmine/public/help/es/wiki_syntax_textile.html +0 -86
  1202. data/spec/redmine/public/help/et/wiki_syntax_detailed_markdown.html +0 -329
  1203. data/spec/redmine/public/help/et/wiki_syntax_detailed_textile.html +0 -333
  1204. data/spec/redmine/public/help/et/wiki_syntax_markdown.html +0 -82
  1205. data/spec/redmine/public/help/et/wiki_syntax_textile.html +0 -85
  1206. data/spec/redmine/public/help/eu/wiki_syntax_detailed_markdown.html +0 -329
  1207. data/spec/redmine/public/help/eu/wiki_syntax_detailed_textile.html +0 -333
  1208. data/spec/redmine/public/help/eu/wiki_syntax_markdown.html +0 -82
  1209. data/spec/redmine/public/help/eu/wiki_syntax_textile.html +0 -85
  1210. data/spec/redmine/public/help/fa/wiki_syntax_detailed_markdown.html +0 -329
  1211. data/spec/redmine/public/help/fa/wiki_syntax_detailed_textile.html +0 -333
  1212. data/spec/redmine/public/help/fa/wiki_syntax_markdown.html +0 -82
  1213. data/spec/redmine/public/help/fa/wiki_syntax_textile.html +0 -85
  1214. data/spec/redmine/public/help/fi/wiki_syntax_detailed_markdown.html +0 -329
  1215. data/spec/redmine/public/help/fi/wiki_syntax_detailed_textile.html +0 -333
  1216. data/spec/redmine/public/help/fi/wiki_syntax_markdown.html +0 -82
  1217. data/spec/redmine/public/help/fi/wiki_syntax_textile.html +0 -85
  1218. data/spec/redmine/public/help/fr/wiki_syntax_detailed_markdown.html +0 -329
  1219. data/spec/redmine/public/help/fr/wiki_syntax_detailed_textile.html +0 -333
  1220. data/spec/redmine/public/help/fr/wiki_syntax_markdown.html +0 -82
  1221. data/spec/redmine/public/help/fr/wiki_syntax_textile.html +0 -85
  1222. data/spec/redmine/public/help/gl/wiki_syntax_detailed_markdown.html +0 -329
  1223. data/spec/redmine/public/help/gl/wiki_syntax_detailed_textile.html +0 -333
  1224. data/spec/redmine/public/help/gl/wiki_syntax_markdown.html +0 -82
  1225. data/spec/redmine/public/help/gl/wiki_syntax_textile.html +0 -85
  1226. data/spec/redmine/public/help/he/wiki_syntax_detailed_markdown.html +0 -329
  1227. data/spec/redmine/public/help/he/wiki_syntax_detailed_textile.html +0 -333
  1228. data/spec/redmine/public/help/he/wiki_syntax_markdown.html +0 -82
  1229. data/spec/redmine/public/help/he/wiki_syntax_textile.html +0 -85
  1230. data/spec/redmine/public/help/hr/wiki_syntax_detailed_markdown.html +0 -329
  1231. data/spec/redmine/public/help/hr/wiki_syntax_detailed_textile.html +0 -333
  1232. data/spec/redmine/public/help/hr/wiki_syntax_markdown.html +0 -82
  1233. data/spec/redmine/public/help/hr/wiki_syntax_textile.html +0 -85
  1234. data/spec/redmine/public/help/hu/wiki_syntax_detailed_markdown.html +0 -329
  1235. data/spec/redmine/public/help/hu/wiki_syntax_detailed_textile.html +0 -333
  1236. data/spec/redmine/public/help/hu/wiki_syntax_markdown.html +0 -82
  1237. data/spec/redmine/public/help/hu/wiki_syntax_textile.html +0 -85
  1238. data/spec/redmine/public/help/id/wiki_syntax_detailed_markdown.html +0 -329
  1239. data/spec/redmine/public/help/id/wiki_syntax_detailed_textile.html +0 -333
  1240. data/spec/redmine/public/help/id/wiki_syntax_markdown.html +0 -82
  1241. data/spec/redmine/public/help/id/wiki_syntax_textile.html +0 -85
  1242. data/spec/redmine/public/help/it/wiki_syntax_detailed_markdown.html +0 -329
  1243. data/spec/redmine/public/help/it/wiki_syntax_detailed_textile.html +0 -333
  1244. data/spec/redmine/public/help/it/wiki_syntax_markdown.html +0 -82
  1245. data/spec/redmine/public/help/it/wiki_syntax_textile.html +0 -85
  1246. data/spec/redmine/public/help/ja/wiki_syntax_detailed_markdown.html +0 -329
  1247. data/spec/redmine/public/help/ja/wiki_syntax_detailed_textile.html +0 -333
  1248. data/spec/redmine/public/help/ja/wiki_syntax_markdown.html +0 -82
  1249. data/spec/redmine/public/help/ja/wiki_syntax_textile.html +0 -85
  1250. data/spec/redmine/public/help/ko/wiki_syntax_detailed_markdown.html +0 -329
  1251. data/spec/redmine/public/help/ko/wiki_syntax_detailed_textile.html +0 -333
  1252. data/spec/redmine/public/help/ko/wiki_syntax_markdown.html +0 -82
  1253. data/spec/redmine/public/help/ko/wiki_syntax_textile.html +0 -85
  1254. data/spec/redmine/public/help/lt/wiki_syntax_detailed_markdown.html +0 -329
  1255. data/spec/redmine/public/help/lt/wiki_syntax_detailed_textile.html +0 -333
  1256. data/spec/redmine/public/help/lt/wiki_syntax_markdown.html +0 -82
  1257. data/spec/redmine/public/help/lt/wiki_syntax_textile.html +0 -85
  1258. data/spec/redmine/public/help/lv/wiki_syntax_detailed_markdown.html +0 -329
  1259. data/spec/redmine/public/help/lv/wiki_syntax_detailed_textile.html +0 -333
  1260. data/spec/redmine/public/help/lv/wiki_syntax_markdown.html +0 -82
  1261. data/spec/redmine/public/help/lv/wiki_syntax_textile.html +0 -85
  1262. data/spec/redmine/public/help/mk/wiki_syntax_detailed_markdown.html +0 -329
  1263. data/spec/redmine/public/help/mk/wiki_syntax_detailed_textile.html +0 -333
  1264. data/spec/redmine/public/help/mk/wiki_syntax_markdown.html +0 -82
  1265. data/spec/redmine/public/help/mk/wiki_syntax_textile.html +0 -85
  1266. data/spec/redmine/public/help/mn/wiki_syntax_detailed_markdown.html +0 -329
  1267. data/spec/redmine/public/help/mn/wiki_syntax_detailed_textile.html +0 -333
  1268. data/spec/redmine/public/help/mn/wiki_syntax_markdown.html +0 -82
  1269. data/spec/redmine/public/help/mn/wiki_syntax_textile.html +0 -85
  1270. data/spec/redmine/public/help/nl/wiki_syntax_detailed_markdown.html +0 -329
  1271. data/spec/redmine/public/help/nl/wiki_syntax_detailed_textile.html +0 -333
  1272. data/spec/redmine/public/help/nl/wiki_syntax_markdown.html +0 -82
  1273. data/spec/redmine/public/help/nl/wiki_syntax_textile.html +0 -85
  1274. data/spec/redmine/public/help/no/wiki_syntax_detailed_markdown.html +0 -329
  1275. data/spec/redmine/public/help/no/wiki_syntax_detailed_textile.html +0 -333
  1276. data/spec/redmine/public/help/no/wiki_syntax_markdown.html +0 -82
  1277. data/spec/redmine/public/help/no/wiki_syntax_textile.html +0 -85
  1278. data/spec/redmine/public/help/pl/wiki_syntax_detailed_markdown.html +0 -329
  1279. data/spec/redmine/public/help/pl/wiki_syntax_detailed_textile.html +0 -333
  1280. data/spec/redmine/public/help/pl/wiki_syntax_markdown.html +0 -82
  1281. data/spec/redmine/public/help/pl/wiki_syntax_textile.html +0 -85
  1282. data/spec/redmine/public/help/pt-br/wiki_syntax_detailed_markdown.html +0 -329
  1283. data/spec/redmine/public/help/pt-br/wiki_syntax_detailed_textile.html +0 -333
  1284. data/spec/redmine/public/help/pt-br/wiki_syntax_markdown.html +0 -82
  1285. data/spec/redmine/public/help/pt-br/wiki_syntax_textile.html +0 -85
  1286. data/spec/redmine/public/help/pt/wiki_syntax_detailed_markdown.html +0 -329
  1287. data/spec/redmine/public/help/pt/wiki_syntax_detailed_textile.html +0 -333
  1288. data/spec/redmine/public/help/pt/wiki_syntax_markdown.html +0 -82
  1289. data/spec/redmine/public/help/pt/wiki_syntax_textile.html +0 -85
  1290. data/spec/redmine/public/help/ro/wiki_syntax_detailed_markdown.html +0 -329
  1291. data/spec/redmine/public/help/ro/wiki_syntax_detailed_textile.html +0 -333
  1292. data/spec/redmine/public/help/ro/wiki_syntax_markdown.html +0 -82
  1293. data/spec/redmine/public/help/ro/wiki_syntax_textile.html +0 -85
  1294. data/spec/redmine/public/help/ru/wiki_syntax_detailed_markdown.html +0 -329
  1295. data/spec/redmine/public/help/ru/wiki_syntax_detailed_textile.html +0 -366
  1296. data/spec/redmine/public/help/ru/wiki_syntax_markdown.html +0 -82
  1297. data/spec/redmine/public/help/ru/wiki_syntax_textile.html +0 -170
  1298. data/spec/redmine/public/help/sk/wiki_syntax_detailed_markdown.html +0 -329
  1299. data/spec/redmine/public/help/sk/wiki_syntax_detailed_textile.html +0 -333
  1300. data/spec/redmine/public/help/sk/wiki_syntax_markdown.html +0 -82
  1301. data/spec/redmine/public/help/sk/wiki_syntax_textile.html +0 -85
  1302. data/spec/redmine/public/help/sl/wiki_syntax_detailed_markdown.html +0 -329
  1303. data/spec/redmine/public/help/sl/wiki_syntax_detailed_textile.html +0 -333
  1304. data/spec/redmine/public/help/sl/wiki_syntax_markdown.html +0 -82
  1305. data/spec/redmine/public/help/sl/wiki_syntax_textile.html +0 -85
  1306. data/spec/redmine/public/help/sq/wiki_syntax_detailed_markdown.html +0 -329
  1307. data/spec/redmine/public/help/sq/wiki_syntax_detailed_textile.html +0 -333
  1308. data/spec/redmine/public/help/sq/wiki_syntax_markdown.html +0 -82
  1309. data/spec/redmine/public/help/sq/wiki_syntax_textile.html +0 -85
  1310. data/spec/redmine/public/help/sr-yu/wiki_syntax_detailed_markdown.html +0 -329
  1311. data/spec/redmine/public/help/sr-yu/wiki_syntax_detailed_textile.html +0 -333
  1312. data/spec/redmine/public/help/sr-yu/wiki_syntax_markdown.html +0 -82
  1313. data/spec/redmine/public/help/sr-yu/wiki_syntax_textile.html +0 -85
  1314. data/spec/redmine/public/help/sr/wiki_syntax_detailed_markdown.html +0 -329
  1315. data/spec/redmine/public/help/sr/wiki_syntax_detailed_textile.html +0 -333
  1316. data/spec/redmine/public/help/sr/wiki_syntax_markdown.html +0 -82
  1317. data/spec/redmine/public/help/sr/wiki_syntax_textile.html +0 -85
  1318. data/spec/redmine/public/help/sv/wiki_syntax_detailed_markdown.html +0 -329
  1319. data/spec/redmine/public/help/sv/wiki_syntax_detailed_textile.html +0 -333
  1320. data/spec/redmine/public/help/sv/wiki_syntax_markdown.html +0 -82
  1321. data/spec/redmine/public/help/sv/wiki_syntax_textile.html +0 -85
  1322. data/spec/redmine/public/help/th/wiki_syntax_detailed_markdown.html +0 -329
  1323. data/spec/redmine/public/help/th/wiki_syntax_detailed_textile.html +0 -333
  1324. data/spec/redmine/public/help/th/wiki_syntax_markdown.html +0 -82
  1325. data/spec/redmine/public/help/th/wiki_syntax_textile.html +0 -85
  1326. data/spec/redmine/public/help/tr/wiki_syntax_detailed_markdown.html +0 -329
  1327. data/spec/redmine/public/help/tr/wiki_syntax_detailed_textile.html +0 -333
  1328. data/spec/redmine/public/help/tr/wiki_syntax_markdown.html +0 -82
  1329. data/spec/redmine/public/help/tr/wiki_syntax_textile.html +0 -85
  1330. data/spec/redmine/public/help/uk/wiki_syntax_detailed_markdown.html +0 -329
  1331. data/spec/redmine/public/help/uk/wiki_syntax_detailed_textile.html +0 -333
  1332. data/spec/redmine/public/help/uk/wiki_syntax_markdown.html +0 -82
  1333. data/spec/redmine/public/help/uk/wiki_syntax_textile.html +0 -85
  1334. data/spec/redmine/public/help/vi/wiki_syntax_detailed_markdown.html +0 -329
  1335. data/spec/redmine/public/help/vi/wiki_syntax_detailed_textile.html +0 -333
  1336. data/spec/redmine/public/help/vi/wiki_syntax_markdown.html +0 -82
  1337. data/spec/redmine/public/help/vi/wiki_syntax_textile.html +0 -85
  1338. data/spec/redmine/public/help/zh-tw/wiki_syntax_detailed_markdown.html +0 -329
  1339. data/spec/redmine/public/help/zh-tw/wiki_syntax_detailed_textile.html +0 -333
  1340. data/spec/redmine/public/help/zh-tw/wiki_syntax_markdown.html +0 -82
  1341. data/spec/redmine/public/help/zh-tw/wiki_syntax_textile.html +0 -85
  1342. data/spec/redmine/public/help/zh/wiki_syntax_detailed_markdown.html +0 -329
  1343. data/spec/redmine/public/help/zh/wiki_syntax_detailed_textile.html +0 -333
  1344. data/spec/redmine/public/help/zh/wiki_syntax_markdown.html +0 -82
  1345. data/spec/redmine/public/help/zh/wiki_syntax_textile.html +0 -85
  1346. data/spec/redmine/public/htaccess.fcgi.example +0 -49
  1347. data/spec/redmine/public/images/1downarrow.png +0 -0
  1348. data/spec/redmine/public/images/1uparrow.png +0 -0
  1349. data/spec/redmine/public/images/2downarrow.png +0 -0
  1350. data/spec/redmine/public/images/2uparrow.png +0 -0
  1351. data/spec/redmine/public/images/add.png +0 -0
  1352. data/spec/redmine/public/images/arrow_collapsed.png +0 -0
  1353. data/spec/redmine/public/images/arrow_down.png +0 -0
  1354. data/spec/redmine/public/images/arrow_expanded.png +0 -0
  1355. data/spec/redmine/public/images/attachment.png +0 -0
  1356. data/spec/redmine/public/images/bullet_add.png +0 -0
  1357. data/spec/redmine/public/images/bullet_arrow_left.png +0 -0
  1358. data/spec/redmine/public/images/bullet_arrow_right.png +0 -0
  1359. data/spec/redmine/public/images/bullet_black.png +0 -0
  1360. data/spec/redmine/public/images/bullet_blue.png +0 -0
  1361. data/spec/redmine/public/images/bullet_delete.png +0 -0
  1362. data/spec/redmine/public/images/bullet_diamond.png +0 -0
  1363. data/spec/redmine/public/images/bullet_end.png +0 -0
  1364. data/spec/redmine/public/images/bullet_go.png +0 -0
  1365. data/spec/redmine/public/images/bullet_orange.png +0 -0
  1366. data/spec/redmine/public/images/bullet_purple.png +0 -0
  1367. data/spec/redmine/public/images/bullet_toggle_minus.png +0 -0
  1368. data/spec/redmine/public/images/bullet_toggle_plus.png +0 -0
  1369. data/spec/redmine/public/images/calendar.png +0 -0
  1370. data/spec/redmine/public/images/cancel.png +0 -0
  1371. data/spec/redmine/public/images/changeset.png +0 -0
  1372. data/spec/redmine/public/images/close.png +0 -0
  1373. data/spec/redmine/public/images/close_hl.png +0 -0
  1374. data/spec/redmine/public/images/comment.png +0 -0
  1375. data/spec/redmine/public/images/comments.png +0 -0
  1376. data/spec/redmine/public/images/copy.png +0 -0
  1377. data/spec/redmine/public/images/database_key.png +0 -0
  1378. data/spec/redmine/public/images/delete.png +0 -0
  1379. data/spec/redmine/public/images/document.png +0 -0
  1380. data/spec/redmine/public/images/draft.png +0 -0
  1381. data/spec/redmine/public/images/duplicate.png +0 -0
  1382. data/spec/redmine/public/images/edit.png +0 -0
  1383. data/spec/redmine/public/images/email.png +0 -0
  1384. data/spec/redmine/public/images/email_add.png +0 -0
  1385. data/spec/redmine/public/images/email_disabled.png +0 -0
  1386. data/spec/redmine/public/images/exclamation.png +0 -0
  1387. data/spec/redmine/public/images/external.png +0 -0
  1388. data/spec/redmine/public/images/false.png +0 -0
  1389. data/spec/redmine/public/images/fav.png +0 -0
  1390. data/spec/redmine/public/images/fav_off.png +0 -0
  1391. data/spec/redmine/public/images/feed.png +0 -0
  1392. data/spec/redmine/public/images/files/c.png +0 -0
  1393. data/spec/redmine/public/images/files/csharp.png +0 -0
  1394. data/spec/redmine/public/images/files/css.png +0 -0
  1395. data/spec/redmine/public/images/files/default.png +0 -0
  1396. data/spec/redmine/public/images/files/html.png +0 -0
  1397. data/spec/redmine/public/images/files/image.png +0 -0
  1398. data/spec/redmine/public/images/files/java.png +0 -0
  1399. data/spec/redmine/public/images/files/js.png +0 -0
  1400. data/spec/redmine/public/images/files/pdf.png +0 -0
  1401. data/spec/redmine/public/images/files/php.png +0 -0
  1402. data/spec/redmine/public/images/files/ruby.png +0 -0
  1403. data/spec/redmine/public/images/files/text.png +0 -0
  1404. data/spec/redmine/public/images/files/xml.png +0 -0
  1405. data/spec/redmine/public/images/files/zip.png +0 -0
  1406. data/spec/redmine/public/images/folder.png +0 -0
  1407. data/spec/redmine/public/images/folder_open.png +0 -0
  1408. data/spec/redmine/public/images/folder_open_add.png +0 -0
  1409. data/spec/redmine/public/images/folder_open_orange.png +0 -0
  1410. data/spec/redmine/public/images/group.png +0 -0
  1411. data/spec/redmine/public/images/help.png +0 -0
  1412. data/spec/redmine/public/images/history.png +0 -0
  1413. data/spec/redmine/public/images/hourglass.png +0 -0
  1414. data/spec/redmine/public/images/jstoolbar/bt_bq.png +0 -0
  1415. data/spec/redmine/public/images/jstoolbar/bt_bq_remove.png +0 -0
  1416. data/spec/redmine/public/images/jstoolbar/bt_code.png +0 -0
  1417. data/spec/redmine/public/images/jstoolbar/bt_del.png +0 -0
  1418. data/spec/redmine/public/images/jstoolbar/bt_em.png +0 -0
  1419. data/spec/redmine/public/images/jstoolbar/bt_h1.png +0 -0
  1420. data/spec/redmine/public/images/jstoolbar/bt_h2.png +0 -0
  1421. data/spec/redmine/public/images/jstoolbar/bt_h3.png +0 -0
  1422. data/spec/redmine/public/images/jstoolbar/bt_img.png +0 -0
  1423. data/spec/redmine/public/images/jstoolbar/bt_ins.png +0 -0
  1424. data/spec/redmine/public/images/jstoolbar/bt_link.png +0 -0
  1425. data/spec/redmine/public/images/jstoolbar/bt_ol.png +0 -0
  1426. data/spec/redmine/public/images/jstoolbar/bt_pre.png +0 -0
  1427. data/spec/redmine/public/images/jstoolbar/bt_strong.png +0 -0
  1428. data/spec/redmine/public/images/jstoolbar/bt_ul.png +0 -0
  1429. data/spec/redmine/public/images/lightning.png +0 -0
  1430. data/spec/redmine/public/images/link.png +0 -0
  1431. data/spec/redmine/public/images/link_break.png +0 -0
  1432. data/spec/redmine/public/images/loading.gif +0 -0
  1433. data/spec/redmine/public/images/locked.png +0 -0
  1434. data/spec/redmine/public/images/magnifier.png +0 -0
  1435. data/spec/redmine/public/images/message.png +0 -0
  1436. data/spec/redmine/public/images/milestone_done.png +0 -0
  1437. data/spec/redmine/public/images/milestone_late.png +0 -0
  1438. data/spec/redmine/public/images/milestone_todo.png +0 -0
  1439. data/spec/redmine/public/images/move.png +0 -0
  1440. data/spec/redmine/public/images/news.png +0 -0
  1441. data/spec/redmine/public/images/openid-bg.gif +0 -0
  1442. data/spec/redmine/public/images/package.png +0 -0
  1443. data/spec/redmine/public/images/plugin.png +0 -0
  1444. data/spec/redmine/public/images/project_marker.png +0 -0
  1445. data/spec/redmine/public/images/projects.png +0 -0
  1446. data/spec/redmine/public/images/reload.png +0 -0
  1447. data/spec/redmine/public/images/report.png +0 -0
  1448. data/spec/redmine/public/images/save.png +0 -0
  1449. data/spec/redmine/public/images/server_key.png +0 -0
  1450. data/spec/redmine/public/images/sort_asc.png +0 -0
  1451. data/spec/redmine/public/images/sort_desc.png +0 -0
  1452. data/spec/redmine/public/images/stats.png +0 -0
  1453. data/spec/redmine/public/images/table_multiple.png +0 -0
  1454. data/spec/redmine/public/images/task_done.png +0 -0
  1455. data/spec/redmine/public/images/task_late.png +0 -0
  1456. data/spec/redmine/public/images/task_parent_end.png +0 -0
  1457. data/spec/redmine/public/images/task_todo.png +0 -0
  1458. data/spec/redmine/public/images/text_list_bullets.png +0 -0
  1459. data/spec/redmine/public/images/textfield.png +0 -0
  1460. data/spec/redmine/public/images/textfield_key.png +0 -0
  1461. data/spec/redmine/public/images/ticket.png +0 -0
  1462. data/spec/redmine/public/images/ticket_checked.png +0 -0
  1463. data/spec/redmine/public/images/ticket_edit.png +0 -0
  1464. data/spec/redmine/public/images/ticket_go.png +0 -0
  1465. data/spec/redmine/public/images/ticket_note.png +0 -0
  1466. data/spec/redmine/public/images/time.png +0 -0
  1467. data/spec/redmine/public/images/time_add.png +0 -0
  1468. data/spec/redmine/public/images/toggle_check.png +0 -0
  1469. data/spec/redmine/public/images/true.png +0 -0
  1470. data/spec/redmine/public/images/unlock.png +0 -0
  1471. data/spec/redmine/public/images/user.png +0 -0
  1472. data/spec/redmine/public/images/version_marker.png +0 -0
  1473. data/spec/redmine/public/images/warning.png +0 -0
  1474. data/spec/redmine/public/images/wiki_edit.png +0 -0
  1475. data/spec/redmine/public/images/zoom_in.png +0 -0
  1476. data/spec/redmine/public/images/zoom_out.png +0 -0
  1477. data/spec/redmine/public/javascripts/application.js +0 -656
  1478. data/spec/redmine/public/javascripts/attachments.js +0 -191
  1479. data/spec/redmine/public/javascripts/context_menu.js +0 -239
  1480. data/spec/redmine/public/javascripts/gantt.js +0 -175
  1481. data/spec/redmine/public/javascripts/i18n/datepicker-ar.js +0 -37
  1482. data/spec/redmine/public/javascripts/i18n/datepicker-az.js +0 -37
  1483. data/spec/redmine/public/javascripts/i18n/datepicker-bg.js +0 -38
  1484. data/spec/redmine/public/javascripts/i18n/datepicker-bs.js +0 -37
  1485. data/spec/redmine/public/javascripts/i18n/datepicker-ca.js +0 -37
  1486. data/spec/redmine/public/javascripts/i18n/datepicker-cs.js +0 -37
  1487. data/spec/redmine/public/javascripts/i18n/datepicker-da.js +0 -37
  1488. data/spec/redmine/public/javascripts/i18n/datepicker-de.js +0 -37
  1489. data/spec/redmine/public/javascripts/i18n/datepicker-el.js +0 -37
  1490. data/spec/redmine/public/javascripts/i18n/datepicker-en-GB.js +0 -37
  1491. data/spec/redmine/public/javascripts/i18n/datepicker-es.js +0 -37
  1492. data/spec/redmine/public/javascripts/i18n/datepicker-et.js +0 -37
  1493. data/spec/redmine/public/javascripts/i18n/datepicker-eu.js +0 -36
  1494. data/spec/redmine/public/javascripts/i18n/datepicker-fa.js +0 -73
  1495. data/spec/redmine/public/javascripts/i18n/datepicker-fi.js +0 -37
  1496. data/spec/redmine/public/javascripts/i18n/datepicker-fr.js +0 -39
  1497. data/spec/redmine/public/javascripts/i18n/datepicker-gl.js +0 -37
  1498. data/spec/redmine/public/javascripts/i18n/datepicker-he.js +0 -37
  1499. data/spec/redmine/public/javascripts/i18n/datepicker-hr.js +0 -37
  1500. data/spec/redmine/public/javascripts/i18n/datepicker-hu.js +0 -36
  1501. data/spec/redmine/public/javascripts/i18n/datepicker-id.js +0 -37
  1502. data/spec/redmine/public/javascripts/i18n/datepicker-it.js +0 -37
  1503. data/spec/redmine/public/javascripts/i18n/datepicker-ja.js +0 -37
  1504. data/spec/redmine/public/javascripts/i18n/datepicker-ko.js +0 -37
  1505. data/spec/redmine/public/javascripts/i18n/datepicker-lt.js +0 -37
  1506. data/spec/redmine/public/javascripts/i18n/datepicker-lv.js +0 -37
  1507. data/spec/redmine/public/javascripts/i18n/datepicker-mk.js +0 -37
  1508. data/spec/redmine/public/javascripts/i18n/datepicker-nl.js +0 -37
  1509. data/spec/redmine/public/javascripts/i18n/datepicker-no.js +0 -37
  1510. data/spec/redmine/public/javascripts/i18n/datepicker-pl.js +0 -37
  1511. data/spec/redmine/public/javascripts/i18n/datepicker-pt-BR.js +0 -37
  1512. data/spec/redmine/public/javascripts/i18n/datepicker-pt.js +0 -36
  1513. data/spec/redmine/public/javascripts/i18n/datepicker-ro.js +0 -40
  1514. data/spec/redmine/public/javascripts/i18n/datepicker-ru.js +0 -37
  1515. data/spec/redmine/public/javascripts/i18n/datepicker-sk.js +0 -37
  1516. data/spec/redmine/public/javascripts/i18n/datepicker-sl.js +0 -38
  1517. data/spec/redmine/public/javascripts/i18n/datepicker-sq.js +0 -37
  1518. data/spec/redmine/public/javascripts/i18n/datepicker-sr.js +0 -37
  1519. data/spec/redmine/public/javascripts/i18n/datepicker-sv.js +0 -37
  1520. data/spec/redmine/public/javascripts/i18n/datepicker-th.js +0 -37
  1521. data/spec/redmine/public/javascripts/i18n/datepicker-tr.js +0 -37
  1522. data/spec/redmine/public/javascripts/i18n/datepicker-uk.js +0 -38
  1523. data/spec/redmine/public/javascripts/i18n/datepicker-vi.js +0 -37
  1524. data/spec/redmine/public/javascripts/i18n/datepicker-zh-CN.js +0 -37
  1525. data/spec/redmine/public/javascripts/i18n/datepicker-zh-TW.js +0 -37
  1526. data/spec/redmine/public/javascripts/jquery-1.11.1-ui-1.11.0-ujs-3.1.3.js +0 -21
  1527. data/spec/redmine/public/javascripts/jstoolbar/jstoolbar-textile.min.js +0 -2
  1528. data/spec/redmine/public/javascripts/jstoolbar/jstoolbar.js +0 -374
  1529. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-ar.js +0 -16
  1530. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-az.js +0 -16
  1531. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-bg.js +0 -16
  1532. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-bs.js +0 -14
  1533. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-ca.js +0 -16
  1534. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-cs.js +0 -16
  1535. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-da.js +0 -16
  1536. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-de.js +0 -16
  1537. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-en-gb.js +0 -16
  1538. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-en.js +0 -16
  1539. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-es-pa.js +0 -16
  1540. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-es.js +0 -16
  1541. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-et.js +0 -33
  1542. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-eu.js +0 -20
  1543. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-fa.js +0 -16
  1544. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-fi.js +0 -16
  1545. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-fr.js +0 -16
  1546. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-gl.js +0 -16
  1547. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-he.js +0 -16
  1548. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-hr.js +0 -16
  1549. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-hu.js +0 -16
  1550. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-id.js +0 -16
  1551. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-it.js +0 -19
  1552. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-ja.js +0 -16
  1553. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-ko.js +0 -16
  1554. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-lt.js +0 -16
  1555. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-lv.js +0 -17
  1556. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-mk.js +0 -17
  1557. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-mn.js +0 -16
  1558. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-nl.js +0 -16
  1559. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-no.js +0 -16
  1560. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-pl.js +0 -17
  1561. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-pt-br.js +0 -18
  1562. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-pt.js +0 -17
  1563. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-ro.js +0 -16
  1564. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-ru.js +0 -16
  1565. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-sk.js +0 -16
  1566. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-sl.js +0 -16
  1567. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-sq.js +0 -16
  1568. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-sr-yu.js +0 -16
  1569. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-sr.js +0 -16
  1570. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-sv.js +0 -16
  1571. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-th.js +0 -16
  1572. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-tr.js +0 -14
  1573. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-uk.js +0 -16
  1574. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-vi.js +0 -16
  1575. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-zh-tw.js +0 -16
  1576. data/spec/redmine/public/javascripts/jstoolbar/lang/jstoolbar-zh.js +0 -16
  1577. data/spec/redmine/public/javascripts/jstoolbar/markdown.js +0 -202
  1578. data/spec/redmine/public/javascripts/jstoolbar/textile.js +0 -211
  1579. data/spec/redmine/public/javascripts/project_identifier.js +0 -81
  1580. data/spec/redmine/public/javascripts/raphael.js +0 -10
  1581. data/spec/redmine/public/javascripts/repository_navigation.js +0 -36
  1582. data/spec/redmine/public/javascripts/revision_graph.js +0 -97
  1583. data/spec/redmine/public/plugin_assets/empty +0 -0
  1584. data/spec/redmine/public/stylesheets/application.css +0 -1225
  1585. data/spec/redmine/public/stylesheets/context_menu.css +0 -52
  1586. data/spec/redmine/public/stylesheets/context_menu_rtl.css +0 -9
  1587. data/spec/redmine/public/stylesheets/jquery/images/animated-overlay.gif +0 -0
  1588. data/spec/redmine/public/stylesheets/jquery/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  1589. data/spec/redmine/public/stylesheets/jquery/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  1590. data/spec/redmine/public/stylesheets/jquery/images/ui-bg_flat_10_000000_40x100.png +0 -0
  1591. data/spec/redmine/public/stylesheets/jquery/images/ui-bg_glass_100_eef5fd_1x400.png +0 -0
  1592. data/spec/redmine/public/stylesheets/jquery/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  1593. data/spec/redmine/public/stylesheets/jquery/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  1594. data/spec/redmine/public/stylesheets/jquery/images/ui-bg_gloss-wave_35_759fcf_500x100.png +0 -0
  1595. data/spec/redmine/public/stylesheets/jquery/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  1596. data/spec/redmine/public/stylesheets/jquery/images/ui-bg_highlight-soft_75_759fcf_1x100.png +0 -0
  1597. data/spec/redmine/public/stylesheets/jquery/images/ui-icons_222222_256x240.png +0 -0
  1598. data/spec/redmine/public/stylesheets/jquery/images/ui-icons_759fcf_256x240.png +0 -0
  1599. data/spec/redmine/public/stylesheets/jquery/images/ui-icons_ffd27a_256x240.png +0 -0
  1600. data/spec/redmine/public/stylesheets/jquery/images/ui-icons_ffffff_256x240.png +0 -0
  1601. data/spec/redmine/public/stylesheets/jquery/jquery-ui-1.11.0.css +0 -7
  1602. data/spec/redmine/public/stylesheets/jstoolbar.css +0 -100
  1603. data/spec/redmine/public/stylesheets/rtl.css +0 -385
  1604. data/spec/redmine/public/stylesheets/scm.css +0 -107
  1605. data/spec/redmine/public/themes/README +0 -1
  1606. data/spec/redmine/public/themes/alternate/stylesheets/application.css +0 -70
  1607. data/spec/redmine/public/themes/classic/images/home.png +0 -0
  1608. data/spec/redmine/public/themes/classic/images/wrench.png +0 -0
  1609. data/spec/redmine/public/themes/classic/stylesheets/application.css +0 -41
  1610. data/spec/redmine/script/about +0 -2
  1611. data/spec/redmine/script/rails +0 -2
  1612. data/spec/redmine/test/coverage/html_formatter.rb +0 -70
  1613. data/spec/redmine/test/coverage/views/index.erb +0 -60
  1614. data/spec/redmine/test/coverage/views/source.erb +0 -41
  1615. data/spec/redmine/test/extra/redmine_pm/repository_git_test_pm.rb +0 -97
  1616. data/spec/redmine/test/extra/redmine_pm/repository_subversion_test_pm.rb +0 -309
  1617. data/spec/redmine/test/extra/redmine_pm/test_case.rb +0 -82
  1618. data/spec/redmine/test/fixtures/attachments.yml +0 -269
  1619. data/spec/redmine/test/fixtures/auth_sources.yml +0 -13
  1620. data/spec/redmine/test/fixtures/boards.yml +0 -28
  1621. data/spec/redmine/test/fixtures/changes.yml +0 -22
  1622. data/spec/redmine/test/fixtures/changesets.yml +0 -104
  1623. data/spec/redmine/test/fixtures/comments.yml +0 -17
  1624. data/spec/redmine/test/fixtures/configuration/default.yml +0 -8
  1625. data/spec/redmine/test/fixtures/configuration/empty.yml +0 -7
  1626. data/spec/redmine/test/fixtures/configuration/no_default.yml +0 -8
  1627. data/spec/redmine/test/fixtures/configuration/overrides.yml +0 -9
  1628. data/spec/redmine/test/fixtures/custom_fields.yml +0 -147
  1629. data/spec/redmine/test/fixtures/custom_fields_projects.yml +0 -4
  1630. data/spec/redmine/test/fixtures/custom_fields_trackers.yml +0 -31
  1631. data/spec/redmine/test/fixtures/custom_values.yml +0 -103
  1632. data/spec/redmine/test/fixtures/diffs/issue-12641-ja.diff +0 -25
  1633. data/spec/redmine/test/fixtures/diffs/issue-12641-ru.diff +0 -19
  1634. data/spec/redmine/test/fixtures/diffs/issue-13644-1.diff +0 -7
  1635. data/spec/redmine/test/fixtures/diffs/issue-13644-2.diff +0 -7
  1636. data/spec/redmine/test/fixtures/diffs/issue-13644-3.diff +0 -7
  1637. data/spec/redmine/test/fixtures/diffs/issue-13644-4.diff +0 -7
  1638. data/spec/redmine/test/fixtures/diffs/issue-13644-5.diff +0 -7
  1639. data/spec/redmine/test/fixtures/diffs/partials.diff +0 -46
  1640. data/spec/redmine/test/fixtures/diffs/subversion.diff +0 -79
  1641. data/spec/redmine/test/fixtures/documents.yml +0 -14
  1642. data/spec/redmine/test/fixtures/email_addresses.yml +0 -57
  1643. data/spec/redmine/test/fixtures/enabled_modules.yml +0 -105
  1644. data/spec/redmine/test/fixtures/encoding/iso-8859-1.txt +0 -1
  1645. data/spec/redmine/test/fixtures/enumerations.yml +0 -103
  1646. data/spec/redmine/test/fixtures/files/2006/07/060719210727_archive.zip +0 -0
  1647. data/spec/redmine/test/fixtures/files/2006/07/060719210727_changeset_iso8859-1.diff +0 -13
  1648. data/spec/redmine/test/fixtures/files/2006/07/060719210727_changeset_utf8.diff +0 -13
  1649. data/spec/redmine/test/fixtures/files/2006/07/060719210727_source.rb +0 -10
  1650. data/spec/redmine/test/fixtures/files/2010/11/101123161450_testfile_1.png +0 -0
  1651. data/spec/redmine/test/fixtures/files/2010/12/101223161450_testfile_2.png +0 -0
  1652. data/spec/redmine/test/fixtures/files/hg-export.diff +0 -13
  1653. data/spec/redmine/test/fixtures/files/iso8859-1.txt +0 -13
  1654. data/spec/redmine/test/fixtures/files/japanese-utf-8.txt +0 -1
  1655. data/spec/redmine/test/fixtures/files/testfile.txt +0 -2
  1656. data/spec/redmine/test/fixtures/groups_users.yml +0 -7
  1657. data/spec/redmine/test/fixtures/issue_categories.yml +0 -21
  1658. data/spec/redmine/test/fixtures/issue_relations.yml +0 -12
  1659. data/spec/redmine/test/fixtures/issue_statuses.yml +0 -31
  1660. data/spec/redmine/test/fixtures/issues.yml +0 -268
  1661. data/spec/redmine/test/fixtures/journal_details.yml +0 -43
  1662. data/spec/redmine/test/fixtures/journals.yml +0 -36
  1663. data/spec/redmine/test/fixtures/ldap/slapd.conf +0 -19
  1664. data/spec/redmine/test/fixtures/ldap/test-ldap.ldif +0 -82
  1665. data/spec/redmine/test/fixtures/mail_handler/apple_mail_with_attachment.eml +0 -240
  1666. data/spec/redmine/test/fixtures/mail_handler/body_ks_c_5601-1987.eml +0 -14
  1667. data/spec/redmine/test/fixtures/mail_handler/fullname_of_sender_as_utf8_encoded.eml +0 -5
  1668. data/spec/redmine/test/fixtures/mail_handler/gmail-iso8859-2.eml +0 -11
  1669. data/spec/redmine/test/fixtures/mail_handler/gmail_with_attachment_iso-8859-1.eml +0 -26
  1670. data/spec/redmine/test/fixtures/mail_handler/gmail_with_attachment_ja.eml +0 -20
  1671. data/spec/redmine/test/fixtures/mail_handler/issue_update_with_multiple_quoted_reply_above.eml +0 -48
  1672. data/spec/redmine/test/fixtures/mail_handler/issue_update_with_quoted_reply_above.eml +0 -48
  1673. data/spec/redmine/test/fixtures/mail_handler/japanese_keywords_iso_2022_jp.eml +0 -60
  1674. data/spec/redmine/test/fixtures/mail_handler/message_reply.eml +0 -15
  1675. data/spec/redmine/test/fixtures/mail_handler/message_reply_by_subject.eml +0 -13
  1676. data/spec/redmine/test/fixtures/mail_handler/multiple_text_parts.eml +0 -62
  1677. data/spec/redmine/test/fixtures/mail_handler/no_subject_header.eml +0 -10
  1678. data/spec/redmine/test/fixtures/mail_handler/outlook_2010_html_only.eml +0 -966
  1679. data/spec/redmine/test/fixtures/mail_handler/outlook_web_access_2010_html_only.eml +0 -65
  1680. data/spec/redmine/test/fixtures/mail_handler/quoted_printable_utf8.eml +0 -19
  1681. data/spec/redmine/test/fixtures/mail_handler/subject_as_iso-8859-1.eml +0 -11
  1682. data/spec/redmine/test/fixtures/mail_handler/subject_japanese_1.eml +0 -7
  1683. data/spec/redmine/test/fixtures/mail_handler/subject_japanese_2.eml +0 -7
  1684. data/spec/redmine/test/fixtures/mail_handler/thunderbird_with_attachment_iso-8859-1.eml +0 -34
  1685. data/spec/redmine/test/fixtures/mail_handler/thunderbird_with_attachment_ja.eml +0 -26
  1686. data/spec/redmine/test/fixtures/mail_handler/ticket_by_empty_user.eml +0 -17
  1687. data/spec/redmine/test/fixtures/mail_handler/ticket_by_unknown_user.eml +0 -18
  1688. data/spec/redmine/test/fixtures/mail_handler/ticket_from_emission_address.eml +0 -19
  1689. data/spec/redmine/test/fixtures/mail_handler/ticket_html_only.eml +0 -23
  1690. data/spec/redmine/test/fixtures/mail_handler/ticket_on_given_project.eml +0 -60
  1691. data/spec/redmine/test/fixtures/mail_handler/ticket_reply.eml +0 -74
  1692. data/spec/redmine/test/fixtures/mail_handler/ticket_reply_with_status.eml +0 -80
  1693. data/spec/redmine/test/fixtures/mail_handler/ticket_with_attachment.eml +0 -248
  1694. data/spec/redmine/test/fixtures/mail_handler/ticket_with_attributes.eml +0 -43
  1695. data/spec/redmine/test/fixtures/mail_handler/ticket_with_cc.eml +0 -40
  1696. data/spec/redmine/test/fixtures/mail_handler/ticket_with_custom_fields.eml +0 -42
  1697. data/spec/redmine/test/fixtures/mail_handler/ticket_with_duplicate_keyword.eml +0 -25
  1698. data/spec/redmine/test/fixtures/mail_handler/ticket_with_invalid_attributes.eml +0 -47
  1699. data/spec/redmine/test/fixtures/mail_handler/ticket_with_keyword_after_delimiter.eml +0 -27
  1700. data/spec/redmine/test/fixtures/mail_handler/ticket_with_localized_attributes.eml +0 -43
  1701. data/spec/redmine/test/fixtures/mail_handler/ticket_with_long_subject.eml +0 -57
  1702. data/spec/redmine/test/fixtures/mail_handler/ticket_with_spaces_between_attribute_and_separator.eml +0 -43
  1703. data/spec/redmine/test/fixtures/mail_handler/ticket_without_from_header.eml +0 -40
  1704. data/spec/redmine/test/fixtures/member_roles.yml +0 -53
  1705. data/spec/redmine/test/fixtures/members.yml +0 -62
  1706. data/spec/redmine/test/fixtures/messages.yml +0 -79
  1707. data/spec/redmine/test/fixtures/news.yml +0 -31
  1708. data/spec/redmine/test/fixtures/plugins/foo_plugin/_foo_plugin_settings.html.erb +0 -1
  1709. data/spec/redmine/test/fixtures/projects.yml +0 -73
  1710. data/spec/redmine/test/fixtures/projects_trackers.yml +0 -46
  1711. data/spec/redmine/test/fixtures/queries.yml +0 -165
  1712. data/spec/redmine/test/fixtures/repositories.yml +0 -21
  1713. data/spec/redmine/test/fixtures/repositories/bazaar_repository.tar.gz +0 -0
  1714. data/spec/redmine/test/fixtures/repositories/cvs_repository.tar.gz +0 -0
  1715. data/spec/redmine/test/fixtures/repositories/darcs_repository.tar.gz +0 -0
  1716. data/spec/redmine/test/fixtures/repositories/filesystem_repository.tar.gz +0 -0
  1717. data/spec/redmine/test/fixtures/repositories/git_repository.tar.gz +0 -0
  1718. data/spec/redmine/test/fixtures/repositories/mercurial_repository.hg +0 -0
  1719. data/spec/redmine/test/fixtures/repositories/subversion_repository.dump.gz +0 -0
  1720. data/spec/redmine/test/fixtures/roles.yml +0 -206
  1721. data/spec/redmine/test/fixtures/time_entries.yml +0 -72
  1722. data/spec/redmine/test/fixtures/tokens.yml +0 -13
  1723. data/spec/redmine/test/fixtures/trackers.yml +0 -19
  1724. data/spec/redmine/test/fixtures/user_preferences.yml +0 -31
  1725. data/spec/redmine/test/fixtures/users.yml +0 -171
  1726. data/spec/redmine/test/fixtures/versions.yml +0 -71
  1727. data/spec/redmine/test/fixtures/watchers.yml +0 -13
  1728. data/spec/redmine/test/fixtures/wiki_content_versions.yml +0 -116
  1729. data/spec/redmine/test/fixtures/wiki_contents.yml +0 -136
  1730. data/spec/redmine/test/fixtures/wiki_pages.yml +0 -85
  1731. data/spec/redmine/test/fixtures/wikis.yml +0 -11
  1732. data/spec/redmine/test/fixtures/workflows.yml +0 -1884
  1733. data/spec/redmine/test/functional/account_controller_openid_test.rb +0 -175
  1734. data/spec/redmine/test/functional/account_controller_test.rb +0 -424
  1735. data/spec/redmine/test/functional/activities_controller_test.rb +0 -160
  1736. data/spec/redmine/test/functional/admin_controller_test.rb +0 -168
  1737. data/spec/redmine/test/functional/attachments_controller_test.rb +0 -467
  1738. data/spec/redmine/test/functional/auth_sources_controller_test.rb +0 -173
  1739. data/spec/redmine/test/functional/auto_completes_controller_test.rb +0 -90
  1740. data/spec/redmine/test/functional/boards_controller_test.rb +0 -221
  1741. data/spec/redmine/test/functional/calendars_controller_test.rb +0 -90
  1742. data/spec/redmine/test/functional/comments_controller_test.rb +0 -64
  1743. data/spec/redmine/test/functional/context_menus_controller_test.rb +0 -300
  1744. data/spec/redmine/test/functional/custom_fields_controller_test.rb +0 -238
  1745. data/spec/redmine/test/functional/documents_controller_test.rb +0 -185
  1746. data/spec/redmine/test/functional/email_addresses_controller_test.rb +0 -144
  1747. data/spec/redmine/test/functional/enumerations_controller_test.rb +0 -136
  1748. data/spec/redmine/test/functional/files_controller_test.rb +0 -120
  1749. data/spec/redmine/test/functional/gantts_controller_test.rb +0 -134
  1750. data/spec/redmine/test/functional/groups_controller_test.rb +0 -164
  1751. data/spec/redmine/test/functional/issue_categories_controller_test.rb +0 -145
  1752. data/spec/redmine/test/functional/issue_relations_controller_test.rb +0 -160
  1753. data/spec/redmine/test/functional/issue_statuses_controller_test.rb +0 -136
  1754. data/spec/redmine/test/functional/issues_controller_test.rb +0 -4273
  1755. data/spec/redmine/test/functional/issues_controller_transaction_test.rb +0 -261
  1756. data/spec/redmine/test/functional/issues_custom_fields_visibility_test.rb +0 -322
  1757. data/spec/redmine/test/functional/journals_controller_test.rb +0 -181
  1758. data/spec/redmine/test/functional/mail_handler_controller_test.rb +0 -96
  1759. data/spec/redmine/test/functional/members_controller_test.rb +0 -201
  1760. data/spec/redmine/test/functional/messages_controller_test.rb +0 -219
  1761. data/spec/redmine/test/functional/my_controller_test.rb +0 -280
  1762. data/spec/redmine/test/functional/news_controller_test.rb +0 -178
  1763. data/spec/redmine/test/functional/previews_controller_test.rb +0 -95
  1764. data/spec/redmine/test/functional/principal_memberships_controller_test.rb +0 -209
  1765. data/spec/redmine/test/functional/project_enumerations_controller_test.rb +0 -235
  1766. data/spec/redmine/test/functional/projects_controller_test.rb +0 -684
  1767. data/spec/redmine/test/functional/queries_controller_test.rb +0 -358
  1768. data/spec/redmine/test/functional/reports_controller_test.rb +0 -85
  1769. data/spec/redmine/test/functional/repositories_bazaar_controller_test.rb +0 -233
  1770. data/spec/redmine/test/functional/repositories_controller_test.rb +0 -307
  1771. data/spec/redmine/test/functional/repositories_cvs_controller_test.rb +0 -261
  1772. data/spec/redmine/test/functional/repositories_darcs_controller_test.rb +0 -161
  1773. data/spec/redmine/test/functional/repositories_filesystem_controller_test.rb +0 -150
  1774. data/spec/redmine/test/functional/repositories_git_controller_test.rb +0 -606
  1775. data/spec/redmine/test/functional/repositories_mercurial_controller_test.rb +0 -490
  1776. data/spec/redmine/test/functional/repositories_subversion_controller_test.rb +0 -421
  1777. data/spec/redmine/test/functional/roles_controller_test.rb +0 -208
  1778. data/spec/redmine/test/functional/search_controller_test.rb +0 -332
  1779. data/spec/redmine/test/functional/search_custom_fields_visibility_test.rb +0 -78
  1780. data/spec/redmine/test/functional/sessions_test.rb +0 -132
  1781. data/spec/redmine/test/functional/settings_controller_test.rb +0 -192
  1782. data/spec/redmine/test/functional/sys_controller_test.rb +0 -128
  1783. data/spec/redmine/test/functional/time_entry_reports_controller_test.rb +0 -354
  1784. data/spec/redmine/test/functional/timelog_controller_test.rb +0 -809
  1785. data/spec/redmine/test/functional/timelog_custom_fields_visibility_test.rb +0 -118
  1786. data/spec/redmine/test/functional/trackers_controller_test.rb +0 -205
  1787. data/spec/redmine/test/functional/users_controller_test.rb +0 -452
  1788. data/spec/redmine/test/functional/versions_controller_test.rb +0 -238
  1789. data/spec/redmine/test/functional/watchers_controller_test.rb +0 -271
  1790. data/spec/redmine/test/functional/welcome_controller_test.rb +0 -177
  1791. data/spec/redmine/test/functional/wiki_controller_test.rb +0 -961
  1792. data/spec/redmine/test/functional/wikis_controller_test.rb +0 -84
  1793. data/spec/redmine/test/functional/workflows_controller_test.rb +0 -369
  1794. data/spec/redmine/test/integration/account_test.rb +0 -326
  1795. data/spec/redmine/test/integration/admin_test.rb +0 -61
  1796. data/spec/redmine/test/integration/api_test/api_routing_test.rb +0 -158
  1797. data/spec/redmine/test/integration/api_test/api_test.rb +0 -47
  1798. data/spec/redmine/test/integration/api_test/attachments_test.rb +0 -156
  1799. data/spec/redmine/test/integration/api_test/authentication_test.rb +0 -158
  1800. data/spec/redmine/test/integration/api_test/custom_fields_attribute_test.rb +0 -63
  1801. data/spec/redmine/test/integration/api_test/custom_fields_test.rb +0 -41
  1802. data/spec/redmine/test/integration/api_test/disabled_rest_api_test.rb +0 -78
  1803. data/spec/redmine/test/integration/api_test/enumerations_test.rb +0 -40
  1804. data/spec/redmine/test/integration/api_test/groups_test.rb +0 -209
  1805. data/spec/redmine/test/integration/api_test/issue_categories_test.rb +0 -104
  1806. data/spec/redmine/test/integration/api_test/issue_relations_test.rb +0 -80
  1807. data/spec/redmine/test/integration/api_test/issue_statuses_test.rb +0 -32
  1808. data/spec/redmine/test/integration/api_test/issues_test.rb +0 -704
  1809. data/spec/redmine/test/integration/api_test/jsonp_test.rb +0 -72
  1810. data/spec/redmine/test/integration/api_test/memberships_test.rb +0 -158
  1811. data/spec/redmine/test/integration/api_test/news_test.rb +0 -61
  1812. data/spec/redmine/test/integration/api_test/projects_test.rb +0 -234
  1813. data/spec/redmine/test/integration/api_test/queries_test.rb +0 -39
  1814. data/spec/redmine/test/integration/api_test/roles_test.rb +0 -62
  1815. data/spec/redmine/test/integration/api_test/time_entries_test.rb +0 -135
  1816. data/spec/redmine/test/integration/api_test/trackers_test.rb +0 -33
  1817. data/spec/redmine/test/integration/api_test/users_test.rb +0 -294
  1818. data/spec/redmine/test/integration/api_test/versions_test.rb +0 -129
  1819. data/spec/redmine/test/integration/api_test/wiki_pages_test.rb +0 -190
  1820. data/spec/redmine/test/integration/application_test.rb +0 -97
  1821. data/spec/redmine/test/integration/attachments_test.rb +0 -152
  1822. data/spec/redmine/test/integration/feeds_test.rb +0 -31
  1823. data/spec/redmine/test/integration/issues_test.rb +0 -216
  1824. data/spec/redmine/test/integration/layout_test.rb +0 -127
  1825. data/spec/redmine/test/integration/lib/redmine/hook_test.rb +0 -124
  1826. data/spec/redmine/test/integration/lib/redmine/menu_manager_test.rb +0 -66
  1827. data/spec/redmine/test/integration/lib/redmine/themes_test.rb +0 -100
  1828. data/spec/redmine/test/integration/projects_test.rb +0 -51
  1829. data/spec/redmine/test/integration/repositories_git_test.rb +0 -50
  1830. data/spec/redmine/test/integration/routing/account_test.rb +0 -36
  1831. data/spec/redmine/test/integration/routing/activities_test.rb +0 -31
  1832. data/spec/redmine/test/integration/routing/admin_test.rb +0 -29
  1833. data/spec/redmine/test/integration/routing/attachments_test.rb +0 -36
  1834. data/spec/redmine/test/integration/routing/auth_sources_test.rb +0 -32
  1835. data/spec/redmine/test/integration/routing/auto_completes_test.rb +0 -24
  1836. data/spec/redmine/test/integration/routing/boards_test.rb +0 -32
  1837. data/spec/redmine/test/integration/routing/calendars_test.rb +0 -25
  1838. data/spec/redmine/test/integration/routing/comments_test.rb +0 -25
  1839. data/spec/redmine/test/integration/routing/context_menus_test.rb +0 -30
  1840. data/spec/redmine/test/integration/routing/custom_fields_test.rb +0 -30
  1841. data/spec/redmine/test/integration/routing/documents_test.rb +0 -37
  1842. data/spec/redmine/test/integration/routing/enumerations_test.rb +0 -30
  1843. data/spec/redmine/test/integration/routing/files_test.rb +0 -26
  1844. data/spec/redmine/test/integration/routing/gantts_test.rb +0 -28
  1845. data/spec/redmine/test/integration/routing/groups_test.rb +0 -40
  1846. data/spec/redmine/test/integration/routing/issue_categories_test.rb +0 -32
  1847. data/spec/redmine/test/integration/routing/issue_relations_test.rb +0 -27
  1848. data/spec/redmine/test/integration/routing/issue_statuses_test.rb +0 -32
  1849. data/spec/redmine/test/integration/routing/issues_test.rb +0 -60
  1850. data/spec/redmine/test/integration/routing/journals_test.rb +0 -29
  1851. data/spec/redmine/test/integration/routing/mail_handler_test.rb +0 -25
  1852. data/spec/redmine/test/integration/routing/members_test.rb +0 -31
  1853. data/spec/redmine/test/integration/routing/messages_test.rb +0 -33
  1854. data/spec/redmine/test/integration/routing/my_test.rb +0 -43
  1855. data/spec/redmine/test/integration/routing/news_test.rb +0 -36
  1856. data/spec/redmine/test/integration/routing/previews_test.rb +0 -32
  1857. data/spec/redmine/test/integration/routing/principal_memberships_test.rb +0 -34
  1858. data/spec/redmine/test/integration/routing/project_enumerations_test.rb +0 -25
  1859. data/spec/redmine/test/integration/routing/projects_test.rb +0 -39
  1860. data/spec/redmine/test/integration/routing/queries_test.rb +0 -34
  1861. data/spec/redmine/test/integration/routing/reports_test.rb +0 -25
  1862. data/spec/redmine/test/integration/routing/repositories_test.rb +0 -139
  1863. data/spec/redmine/test/integration/routing/roles_test.rb +0 -33
  1864. data/spec/redmine/test/integration/routing/search_test.rb +0 -25
  1865. data/spec/redmine/test/integration/routing/settings_test.rb +0 -29
  1866. data/spec/redmine/test/integration/routing/sys_test.rb +0 -27
  1867. data/spec/redmine/test/integration/routing/timelog_test.rb +0 -66
  1868. data/spec/redmine/test/integration/routing/trackers_test.rb +0 -33
  1869. data/spec/redmine/test/integration/routing/users_test.rb +0 -32
  1870. data/spec/redmine/test/integration/routing/versions_test.rb +0 -36
  1871. data/spec/redmine/test/integration/routing/watchers_test.rb +0 -31
  1872. data/spec/redmine/test/integration/routing/welcome_test.rb +0 -25
  1873. data/spec/redmine/test/integration/routing/wiki_test.rb +0 -59
  1874. data/spec/redmine/test/integration/routing/wikis_test.rb +0 -27
  1875. data/spec/redmine/test/integration/routing/workflows_test.rb +0 -32
  1876. data/spec/redmine/test/integration/sudo_mode_test.rb +0 -164
  1877. data/spec/redmine/test/integration/users_test.rb +0 -29
  1878. data/spec/redmine/test/mocks/open_id_authentication_mock.rb +0 -46
  1879. data/spec/redmine/test/object_helpers.rb +0 -242
  1880. data/spec/redmine/test/test_helper.rb +0 -355
  1881. data/spec/redmine/test/travis/mariadb.pref +0 -6
  1882. data/spec/redmine/test/ui/base.rb +0 -69
  1883. data/spec/redmine/test/ui/issues_test_ui.rb +0 -278
  1884. data/spec/redmine/test/ui/sudo_mode_test_ui.rb +0 -53
  1885. data/spec/redmine/test/ui/timelog_test_ui.rb +0 -44
  1886. data/spec/redmine/test/unit/activity_test.rb +0 -197
  1887. data/spec/redmine/test/unit/attachment_test.rb +0 -360
  1888. data/spec/redmine/test/unit/auth_source_ldap_test.rb +0 -141
  1889. data/spec/redmine/test/unit/board_test.rb +0 -125
  1890. data/spec/redmine/test/unit/changeset_test.rb +0 -578
  1891. data/spec/redmine/test/unit/comment_test.rb +0 -57
  1892. data/spec/redmine/test/unit/custom_field_test.rb +0 -335
  1893. data/spec/redmine/test/unit/custom_field_user_format_test.rb +0 -78
  1894. data/spec/redmine/test/unit/custom_field_version_format_test.rb +0 -60
  1895. data/spec/redmine/test/unit/custom_value_test.rb +0 -39
  1896. data/spec/redmine/test/unit/default_data_test.rb +0 -49
  1897. data/spec/redmine/test/unit/document_category_test.rb +0 -47
  1898. data/spec/redmine/test/unit/document_test.rb +0 -69
  1899. data/spec/redmine/test/unit/enabled_module_test.rb +0 -43
  1900. data/spec/redmine/test/unit/enumeration_test.rb +0 -130
  1901. data/spec/redmine/test/unit/group_test.rb +0 -169
  1902. data/spec/redmine/test/unit/helpers/activities_helper_test.rb +0 -102
  1903. data/spec/redmine/test/unit/helpers/application_helper_test.rb +0 -1528
  1904. data/spec/redmine/test/unit/helpers/custom_fields_helper_test.rb +0 -60
  1905. data/spec/redmine/test/unit/helpers/groups_helper_test.rb +0 -42
  1906. data/spec/redmine/test/unit/helpers/issues_helper_test.rb +0 -339
  1907. data/spec/redmine/test/unit/helpers/members_helper_test.rb +0 -43
  1908. data/spec/redmine/test/unit/helpers/my_helper_test.rb +0 -50
  1909. data/spec/redmine/test/unit/helpers/projects_helper_test.rb +0 -85
  1910. data/spec/redmine/test/unit/helpers/queries_helper_test.rb +0 -97
  1911. data/spec/redmine/test/unit/helpers/routes_helper_test.rb +0 -47
  1912. data/spec/redmine/test/unit/helpers/search_helper_test.rb +0 -49
  1913. data/spec/redmine/test/unit/helpers/settings_helper_test.rb +0 -31
  1914. data/spec/redmine/test/unit/helpers/sort_helper_test.rb +0 -109
  1915. data/spec/redmine/test/unit/helpers/timelog_helper_test.rb +0 -58
  1916. data/spec/redmine/test/unit/helpers/version_helper_test.rb +0 -53
  1917. data/spec/redmine/test/unit/helpers/watchers_helper_test.rb +0 -74
  1918. data/spec/redmine/test/unit/initializers/patches_test.rb +0 -95
  1919. data/spec/redmine/test/unit/issue_category_test.rb +0 -54
  1920. data/spec/redmine/test/unit/issue_custom_field_test.rb +0 -42
  1921. data/spec/redmine/test/unit/issue_nested_set_concurrency_test.rb +0 -96
  1922. data/spec/redmine/test/unit/issue_nested_set_test.rb +0 -309
  1923. data/spec/redmine/test/unit/issue_priority_test.rb +0 -106
  1924. data/spec/redmine/test/unit/issue_relation_test.rb +0 -236
  1925. data/spec/redmine/test/unit/issue_scopes_test.rb +0 -69
  1926. data/spec/redmine/test/unit/issue_status_test.rb +0 -141
  1927. data/spec/redmine/test/unit/issue_subtasking_test.rb +0 -260
  1928. data/spec/redmine/test/unit/issue_test.rb +0 -2704
  1929. data/spec/redmine/test/unit/issue_transaction_test.rb +0 -52
  1930. data/spec/redmine/test/unit/journal_observer_test.rb +0 -174
  1931. data/spec/redmine/test/unit/journal_test.rb +0 -223
  1932. data/spec/redmine/test/unit/lib/redmine/access_control_test.rb +0 -59
  1933. data/spec/redmine/test/unit/lib/redmine/ciphering_test.rb +0 -106
  1934. data/spec/redmine/test/unit/lib/redmine/codeset_util_test.rb +0 -88
  1935. data/spec/redmine/test/unit/lib/redmine/configuration_test.rb +0 -61
  1936. data/spec/redmine/test/unit/lib/redmine/export/csv_test.rb +0 -31
  1937. data/spec/redmine/test/unit/lib/redmine/export/pdf_test.rb +0 -104
  1938. data/spec/redmine/test/unit/lib/redmine/field_format/bool_format_test.rb +0 -63
  1939. data/spec/redmine/test/unit/lib/redmine/field_format/field_format_test.rb +0 -62
  1940. data/spec/redmine/test/unit/lib/redmine/field_format/link_format_test.rb +0 -90
  1941. data/spec/redmine/test/unit/lib/redmine/field_format/list_format_test.rb +0 -168
  1942. data/spec/redmine/test/unit/lib/redmine/field_format/numeric_format_test.rb +0 -31
  1943. data/spec/redmine/test/unit/lib/redmine/field_format/user_field_format_test.rb +0 -61
  1944. data/spec/redmine/test/unit/lib/redmine/field_format/version_field_format_test.rb +0 -69
  1945. data/spec/redmine/test/unit/lib/redmine/helpers/calendar_test.rb +0 -63
  1946. data/spec/redmine/test/unit/lib/redmine/helpers/diff_test.rb +0 -25
  1947. data/spec/redmine/test/unit/lib/redmine/helpers/gantt_test.rb +0 -498
  1948. data/spec/redmine/test/unit/lib/redmine/hook_test.rb +0 -189
  1949. data/spec/redmine/test/unit/lib/redmine/i18n_test.rb +0 -244
  1950. data/spec/redmine/test/unit/lib/redmine/info_test.rb +0 -27
  1951. data/spec/redmine/test/unit/lib/redmine/menu_manager/mapper_test.rb +0 -191
  1952. data/spec/redmine/test/unit/lib/redmine/menu_manager/menu_helper_test.rb +0 -260
  1953. data/spec/redmine/test/unit/lib/redmine/menu_manager/menu_item_test.rb +0 -108
  1954. data/spec/redmine/test/unit/lib/redmine/menu_manager_test.rb +0 -34
  1955. data/spec/redmine/test/unit/lib/redmine/mime_type_test.rb +0 -66
  1956. data/spec/redmine/test/unit/lib/redmine/notifiable_test.rb +0 -29
  1957. data/spec/redmine/test/unit/lib/redmine/pagination_helper_test.rb +0 -34
  1958. data/spec/redmine/test/unit/lib/redmine/pagination_test.rb +0 -94
  1959. data/spec/redmine/test/unit/lib/redmine/plugin_test.rb +0 -186
  1960. data/spec/redmine/test/unit/lib/redmine/safe_attributes_test.rb +0 -102
  1961. data/spec/redmine/test/unit/lib/redmine/scm/adapters/bazaar_adapter_test.rb +0 -218
  1962. data/spec/redmine/test/unit/lib/redmine/scm/adapters/cvs_adapter_test.rb +0 -106
  1963. data/spec/redmine/test/unit/lib/redmine/scm/adapters/darcs_adapter_test.rb +0 -60
  1964. data/spec/redmine/test/unit/lib/redmine/scm/adapters/filesystem_adapter_test.rb +0 -68
  1965. data/spec/redmine/test/unit/lib/redmine/scm/adapters/git_adapter_test.rb +0 -597
  1966. data/spec/redmine/test/unit/lib/redmine/scm/adapters/mercurial_adapter_test.rb +0 -462
  1967. data/spec/redmine/test/unit/lib/redmine/scm/adapters/subversion_adapter_test.rb +0 -63
  1968. data/spec/redmine/test/unit/lib/redmine/themes_test.rb +0 -61
  1969. data/spec/redmine/test/unit/lib/redmine/unified_diff_test.rb +0 -352
  1970. data/spec/redmine/test/unit/lib/redmine/utils/date_calculation.rb +0 -76
  1971. data/spec/redmine/test/unit/lib/redmine/views/builders/json_test.rb +0 -94
  1972. data/spec/redmine/test/unit/lib/redmine/views/builders/xml_test.rb +0 -67
  1973. data/spec/redmine/test/unit/lib/redmine/views/labelled_form_builder_test.rb +0 -29
  1974. data/spec/redmine/test/unit/lib/redmine/wiki_formatting/html_parser_test.rb +0 -35
  1975. data/spec/redmine/test/unit/lib/redmine/wiki_formatting/macros_test.rb +0 -401
  1976. data/spec/redmine/test/unit/lib/redmine/wiki_formatting/markdown_formatter_test.rb +0 -80
  1977. data/spec/redmine/test/unit/lib/redmine/wiki_formatting/markdown_html_parser_test.rb +0 -30
  1978. data/spec/redmine/test/unit/lib/redmine/wiki_formatting/textile_formatter_test.rb +0 -512
  1979. data/spec/redmine/test/unit/lib/redmine/wiki_formatting/textile_html_parser_test.rb +0 -30
  1980. data/spec/redmine/test/unit/lib/redmine/wiki_formatting_test.rb +0 -83
  1981. data/spec/redmine/test/unit/lib/redmine_test.rb +0 -86
  1982. data/spec/redmine/test/unit/mail_handler_test.rb +0 -997
  1983. data/spec/redmine/test/unit/mailer_test.rb +0 -853
  1984. data/spec/redmine/test/unit/member_test.rb +0 -193
  1985. data/spec/redmine/test/unit/message_test.rb +0 -184
  1986. data/spec/redmine/test/unit/news_test.rb +0 -90
  1987. data/spec/redmine/test/unit/principal_test.rb +0 -136
  1988. data/spec/redmine/test/unit/project_copy_test.rb +0 -353
  1989. data/spec/redmine/test/unit/project_members_inheritance_test.rb +0 -264
  1990. data/spec/redmine/test/unit/project_nested_set_concurrency_test.rb +0 -76
  1991. data/spec/redmine/test/unit/project_nested_set_test.rb +0 -187
  1992. data/spec/redmine/test/unit/project_test.rb +0 -975
  1993. data/spec/redmine/test/unit/query_test.rb +0 -1514
  1994. data/spec/redmine/test/unit/repository_bazaar_test.rb +0 -297
  1995. data/spec/redmine/test/unit/repository_cvs_test.rb +0 -271
  1996. data/spec/redmine/test/unit/repository_darcs_test.rb +0 -129
  1997. data/spec/redmine/test/unit/repository_filesystem_test.rb +0 -88
  1998. data/spec/redmine/test/unit/repository_git_test.rb +0 -623
  1999. data/spec/redmine/test/unit/repository_mercurial_test.rb +0 -644
  2000. data/spec/redmine/test/unit/repository_subversion_test.rb +0 -285
  2001. data/spec/redmine/test/unit/repository_test.rb +0 -499
  2002. data/spec/redmine/test/unit/role_test.rb +0 -141
  2003. data/spec/redmine/test/unit/search_test.rb +0 -199
  2004. data/spec/redmine/test/unit/setting_test.rb +0 -127
  2005. data/spec/redmine/test/unit/time_entry_activity_test.rb +0 -130
  2006. data/spec/redmine/test/unit/time_entry_query_test.rb +0 -47
  2007. data/spec/redmine/test/unit/time_entry_test.rb +0 -175
  2008. data/spec/redmine/test/unit/token_test.rb +0 -108
  2009. data/spec/redmine/test/unit/tracker_test.rb +0 -118
  2010. data/spec/redmine/test/unit/user_preference_test.rb +0 -77
  2011. data/spec/redmine/test/unit/user_test.rb +0 -1228
  2012. data/spec/redmine/test/unit/version_test.rb +0 -272
  2013. data/spec/redmine/test/unit/watcher_test.rb +0 -192
  2014. data/spec/redmine/test/unit/wiki_content_test.rb +0 -166
  2015. data/spec/redmine/test/unit/wiki_content_version_test.rb +0 -68
  2016. data/spec/redmine/test/unit/wiki_page_test.rb +0 -183
  2017. data/spec/redmine/test/unit/wiki_redirect_test.rb +0 -97
  2018. data/spec/redmine/test/unit/wiki_test.rb +0 -114
  2019. data/spec/redmine/test/unit/workflow_test.rb +0 -65
  2020. data/spec/redmine/test/unit/workflow_transition_test.rb +0 -93
  2021. data/spec/redmine/tmp/pdf/empty +0 -0
  2022. data/spec/redmine/tmp/test/empty +0 -0
  2023. data/spec/redmine/tmp/thumbnails/empty +0 -0
  2024. data/spec/support/easy_queries_helpers.rb +0 -0
@@ -1,56 +0,0 @@
1
- # Redmine - project management software
2
- # Copyright (C) 2006-2015 Jean-Philippe Lang
3
- #
4
- # This program is free software; you can redistribute it and/or
5
- # modify it under the terms of the GNU General Public License
6
- # as published by the Free Software Foundation; either version 2
7
- # of the License, or (at your option) any later version.
8
- #
9
- # This program is distributed in the hope that it will be useful,
10
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
-
18
- class GroupBuiltin < Group
19
- validate :validate_uniqueness, :on => :create
20
-
21
- def validate_uniqueness
22
- errors.add :base, 'The builtin group already exists.' if self.class.exists?
23
- end
24
-
25
- def builtin?
26
- true
27
- end
28
-
29
- def destroy
30
- false
31
- end
32
-
33
- def user_added(user)
34
- raise 'Cannot add users to a builtin group'
35
- end
36
-
37
- class << self
38
- def load_instance
39
- return nil if self == GroupBuiltin
40
- instance = order('id').first || create_instance
41
- end
42
-
43
- def create_instance
44
- raise 'The builtin group already exists.' if exists?
45
- instance = new
46
- instance.lastname = name
47
- instance.save :validate => false
48
- raise 'Unable to create builtin group.' if instance.new_record?
49
- instance
50
- end
51
- private :create_instance
52
- end
53
- end
54
-
55
- require_dependency "group_anonymous"
56
- require_dependency "group_non_member"
@@ -1,22 +0,0 @@
1
- # Redmine - project management software
2
- # Copyright (C) 2006-2015 Jean-Philippe Lang
3
- #
4
- # This program is free software; you can redistribute it and/or
5
- # modify it under the terms of the GNU General Public License
6
- # as published by the Free Software Foundation; either version 2
7
- # of the License, or (at your option) any later version.
8
- #
9
- # This program is distributed in the hope that it will be useful,
10
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
-
18
- class GroupCustomField < CustomField
19
- def type_name
20
- :label_group_plural
21
- end
22
- end
@@ -1,26 +0,0 @@
1
- # Redmine - project management software
2
- # Copyright (C) 2006-2015 Jean-Philippe Lang
3
- #
4
- # This program is free software; you can redistribute it and/or
5
- # modify it under the terms of the GNU General Public License
6
- # as published by the Free Software Foundation; either version 2
7
- # of the License, or (at your option) any later version.
8
- #
9
- # This program is distributed in the hope that it will be useful,
10
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
-
18
- class GroupNonMember < GroupBuiltin
19
- def name
20
- l(:label_group_non_member)
21
- end
22
-
23
- def builtin_type
24
- "non_member"
25
- end
26
- end
@@ -1,1650 +0,0 @@
1
- # Redmine - project management software
2
- # Copyright (C) 2006-2015 Jean-Philippe Lang
3
- #
4
- # This program is free software; you can redistribute it and/or
5
- # modify it under the terms of the GNU General Public License
6
- # as published by the Free Software Foundation; either version 2
7
- # of the License, or (at your option) any later version.
8
- #
9
- # This program is distributed in the hope that it will be useful,
10
- # but WITHOUT ANY WARRANTY; without even the implied warranty of
11
- # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
- # GNU General Public License for more details.
13
- #
14
- # You should have received a copy of the GNU General Public License
15
- # along with this program; if not, write to the Free Software
16
- # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
17
-
18
- class Issue < ActiveRecord::Base
19
- include Redmine::SafeAttributes
20
- include Redmine::Utils::DateCalculation
21
- include Redmine::I18n
22
- before_save :set_parent_id
23
- include Redmine::NestedSet::IssueNestedSet
24
-
25
- belongs_to :project
26
- belongs_to :tracker
27
- belongs_to :status, :class_name => 'IssueStatus'
28
- belongs_to :author, :class_name => 'User'
29
- belongs_to :assigned_to, :class_name => 'Principal'
30
- belongs_to :fixed_version, :class_name => 'Version'
31
- belongs_to :priority, :class_name => 'IssuePriority'
32
- belongs_to :category, :class_name => 'IssueCategory'
33
-
34
- has_many :journals, :as => :journalized, :dependent => :destroy, :inverse_of => :journalized
35
- has_many :visible_journals,
36
- lambda {where(["(#{Journal.table_name}.private_notes = ? OR (#{Project.allowed_to_condition(User.current, :view_private_notes)}))", false])},
37
- :class_name => 'Journal',
38
- :as => :journalized
39
-
40
- has_many :time_entries, :dependent => :destroy
41
- has_and_belongs_to_many :changesets, lambda {order("#{Changeset.table_name}.committed_on ASC, #{Changeset.table_name}.id ASC")}
42
-
43
- has_many :relations_from, :class_name => 'IssueRelation', :foreign_key => 'issue_from_id', :dependent => :delete_all
44
- has_many :relations_to, :class_name => 'IssueRelation', :foreign_key => 'issue_to_id', :dependent => :delete_all
45
-
46
- acts_as_attachable :after_add => :attachment_added, :after_remove => :attachment_removed
47
- acts_as_customizable
48
- acts_as_watchable
49
- acts_as_searchable :columns => ['subject', "#{table_name}.description"],
50
- :preload => [:project, :status, :tracker],
51
- :scope => lambda {|options| options[:open_issues] ? self.open : self.all}
52
-
53
- acts_as_event :title => Proc.new {|o| "#{o.tracker.name} ##{o.id} (#{o.status}): #{o.subject}"},
54
- :url => Proc.new {|o| {:controller => 'issues', :action => 'show', :id => o.id}},
55
- :type => Proc.new {|o| 'issue' + (o.closed? ? ' closed' : '') }
56
-
57
- acts_as_activity_provider :scope => preload(:project, :author, :tracker),
58
- :author_key => :author_id
59
-
60
- DONE_RATIO_OPTIONS = %w(issue_field issue_status)
61
-
62
- attr_reader :current_journal
63
- delegate :notes, :notes=, :private_notes, :private_notes=, :to => :current_journal, :allow_nil => true
64
-
65
- validates_presence_of :subject, :project, :tracker
66
- validates_presence_of :priority, :if => Proc.new {|issue| issue.new_record? || issue.priority_id_changed?}
67
- validates_presence_of :status, :if => Proc.new {|issue| issue.new_record? || issue.status_id_changed?}
68
- validates_presence_of :author, :if => Proc.new {|issue| issue.new_record? || issue.author_id_changed?}
69
-
70
- validates_length_of :subject, :maximum => 255
71
- validates_inclusion_of :done_ratio, :in => 0..100
72
- validates :estimated_hours, :numericality => {:greater_than_or_equal_to => 0, :allow_nil => true, :message => :invalid}
73
- validates :start_date, :date => true
74
- validates :due_date, :date => true
75
- validate :validate_issue, :validate_required_fields
76
- attr_protected :id
77
-
78
- scope :visible, lambda {|*args|
79
- joins(:project).
80
- where(Issue.visible_condition(args.shift || User.current, *args))
81
- }
82
-
83
- scope :open, lambda {|*args|
84
- is_closed = args.size > 0 ? !args.first : false
85
- joins(:status).
86
- where("#{IssueStatus.table_name}.is_closed = ?", is_closed)
87
- }
88
-
89
- scope :recently_updated, lambda { order("#{Issue.table_name}.updated_on DESC") }
90
- scope :on_active_project, lambda {
91
- joins(:project).
92
- where("#{Project.table_name}.status = ?", Project::STATUS_ACTIVE)
93
- }
94
- scope :fixed_version, lambda {|versions|
95
- ids = [versions].flatten.compact.map {|v| v.is_a?(Version) ? v.id : v}
96
- ids.any? ? where(:fixed_version_id => ids) : where('1=0')
97
- }
98
-
99
- before_validation :clear_disabled_fields
100
- before_create :default_assign
101
- before_save :close_duplicates, :update_done_ratio_from_issue_status,
102
- :force_updated_on_change, :update_closed_on, :set_assigned_to_was
103
- after_save {|issue| issue.send :after_project_change if !issue.id_changed? && issue.project_id_changed?}
104
- after_save :reschedule_following_issues, :update_nested_set_attributes,
105
- :update_parent_attributes, :create_journal
106
- # Should be after_create but would be called before previous after_save callbacks
107
- after_save :after_create_from_copy
108
- after_destroy :update_parent_attributes
109
- after_create :send_notification
110
- # Keep it at the end of after_save callbacks
111
- after_save :clear_assigned_to_was
112
-
113
- # Returns a SQL conditions string used to find all issues visible by the specified user
114
- def self.visible_condition(user, options={})
115
- Project.allowed_to_condition(user, :view_issues, options) do |role, user|
116
- if user.id && user.logged?
117
- case role.issues_visibility
118
- when 'all'
119
- nil
120
- when 'default'
121
- user_ids = [user.id] + user.groups.map(&:id).compact
122
- "(#{table_name}.is_private = #{connection.quoted_false} OR #{table_name}.author_id = #{user.id} OR #{table_name}.assigned_to_id IN (#{user_ids.join(',')}))"
123
- when 'own'
124
- user_ids = [user.id] + user.groups.map(&:id).compact
125
- "(#{table_name}.author_id = #{user.id} OR #{table_name}.assigned_to_id IN (#{user_ids.join(',')}))"
126
- else
127
- '1=0'
128
- end
129
- else
130
- "(#{table_name}.is_private = #{connection.quoted_false})"
131
- end
132
- end
133
- end
134
-
135
- # Returns true if usr or current user is allowed to view the issue
136
- def visible?(usr=nil)
137
- (usr || User.current).allowed_to?(:view_issues, self.project) do |role, user|
138
- if user.logged?
139
- case role.issues_visibility
140
- when 'all'
141
- true
142
- when 'default'
143
- !self.is_private? || (self.author == user || user.is_or_belongs_to?(assigned_to))
144
- when 'own'
145
- self.author == user || user.is_or_belongs_to?(assigned_to)
146
- else
147
- false
148
- end
149
- else
150
- !self.is_private?
151
- end
152
- end
153
- end
154
-
155
- # Returns true if user or current user is allowed to edit or add a note to the issue
156
- def editable?(user=User.current)
157
- attributes_editable?(user) || user.allowed_to?(:add_issue_notes, project)
158
- end
159
-
160
- # Returns true if user or current user is allowed to edit the issue
161
- def attributes_editable?(user=User.current)
162
- user.allowed_to?(:edit_issues, project)
163
- end
164
-
165
- def initialize(attributes=nil, *args)
166
- super
167
- if new_record?
168
- # set default values for new records only
169
- self.priority ||= IssuePriority.default
170
- self.watcher_user_ids = []
171
- end
172
- end
173
-
174
- def create_or_update
175
- super
176
- ensure
177
- @status_was = nil
178
- end
179
- private :create_or_update
180
-
181
- # AR#Persistence#destroy would raise and RecordNotFound exception
182
- # if the issue was already deleted or updated (non matching lock_version).
183
- # This is a problem when bulk deleting issues or deleting a project
184
- # (because an issue may already be deleted if its parent was deleted
185
- # first).
186
- # The issue is reloaded by the nested_set before being deleted so
187
- # the lock_version condition should not be an issue but we handle it.
188
- def destroy
189
- super
190
- rescue ActiveRecord::StaleObjectError, ActiveRecord::RecordNotFound
191
- # Stale or already deleted
192
- begin
193
- reload
194
- rescue ActiveRecord::RecordNotFound
195
- # The issue was actually already deleted
196
- @destroyed = true
197
- return freeze
198
- end
199
- # The issue was stale, retry to destroy
200
- super
201
- end
202
-
203
- alias :base_reload :reload
204
- def reload(*args)
205
- @workflow_rule_by_attribute = nil
206
- @assignable_versions = nil
207
- @relations = nil
208
- @spent_hours = nil
209
- @total_spent_hours = nil
210
- @total_estimated_hours = nil
211
- base_reload(*args)
212
- end
213
-
214
- # Overrides Redmine::Acts::Customizable::InstanceMethods#available_custom_fields
215
- def available_custom_fields
216
- (project && tracker) ? (project.all_issue_custom_fields & tracker.custom_fields) : []
217
- end
218
-
219
- def visible_custom_field_values(user=nil)
220
- user_real = user || User.current
221
- custom_field_values.select do |value|
222
- value.custom_field.visible_by?(project, user_real)
223
- end
224
- end
225
-
226
- # Copies attributes from another issue, arg can be an id or an Issue
227
- def copy_from(arg, options={})
228
- issue = arg.is_a?(Issue) ? arg : Issue.visible.find(arg)
229
- self.attributes = issue.attributes.dup.except("id", "root_id", "parent_id", "lft", "rgt", "created_on", "updated_on")
230
- self.custom_field_values = issue.custom_field_values.inject({}) {|h,v| h[v.custom_field_id] = v.value; h}
231
- self.status = issue.status
232
- self.author = User.current
233
- unless options[:attachments] == false
234
- self.attachments = issue.attachments.map do |attachement|
235
- attachement.copy(:container => self)
236
- end
237
- end
238
- @copied_from = issue
239
- @copy_options = options
240
- self
241
- end
242
-
243
- # Returns an unsaved copy of the issue
244
- def copy(attributes=nil, copy_options={})
245
- copy = self.class.new.copy_from(self, copy_options)
246
- copy.attributes = attributes if attributes
247
- copy
248
- end
249
-
250
- # Returns true if the issue is a copy
251
- def copy?
252
- @copied_from.present?
253
- end
254
-
255
- def status_id=(status_id)
256
- if status_id.to_s != self.status_id.to_s
257
- self.status = (status_id.present? ? IssueStatus.find_by_id(status_id) : nil)
258
- end
259
- self.status_id
260
- end
261
-
262
- # Sets the status.
263
- def status=(status)
264
- if status != self.status
265
- @workflow_rule_by_attribute = nil
266
- end
267
- association(:status).writer(status)
268
- end
269
-
270
- def priority_id=(pid)
271
- self.priority = nil
272
- write_attribute(:priority_id, pid)
273
- end
274
-
275
- def category_id=(cid)
276
- self.category = nil
277
- write_attribute(:category_id, cid)
278
- end
279
-
280
- def fixed_version_id=(vid)
281
- self.fixed_version = nil
282
- write_attribute(:fixed_version_id, vid)
283
- end
284
-
285
- def tracker_id=(tracker_id)
286
- if tracker_id.to_s != self.tracker_id.to_s
287
- self.tracker = (tracker_id.present? ? Tracker.find_by_id(tracker_id) : nil)
288
- end
289
- self.tracker_id
290
- end
291
-
292
- # Sets the tracker.
293
- # This will set the status to the default status of the new tracker if:
294
- # * the status was the default for the previous tracker
295
- # * or if the status was not part of the new tracker statuses
296
- # * or the status was nil
297
- def tracker=(tracker)
298
- if tracker != self.tracker
299
- if status == default_status
300
- self.status = nil
301
- elsif status && tracker && !tracker.issue_status_ids.include?(status.id)
302
- self.status = nil
303
- end
304
- @custom_field_values = nil
305
- @workflow_rule_by_attribute = nil
306
- end
307
- association(:tracker).writer(tracker)
308
- self.status ||= default_status
309
- self.tracker
310
- end
311
-
312
- def project_id=(project_id)
313
- if project_id.to_s != self.project_id.to_s
314
- self.project = (project_id.present? ? Project.find_by_id(project_id) : nil)
315
- end
316
- self.project_id
317
- end
318
-
319
- # Sets the project.
320
- # Unless keep_tracker argument is set to true, this will change the tracker
321
- # to the first tracker of the new project if the previous tracker is not part
322
- # of the new project trackers.
323
- # This will clear the fixed_version is it's no longer valid for the new project.
324
- # This will clear the parent issue if it's no longer valid for the new project.
325
- # This will set the category to the category with the same name in the new
326
- # project if it exists, or clear it if it doesn't.
327
- def project=(project, keep_tracker=false)
328
- project_was = self.project
329
- association(:project).writer(project)
330
- if project_was && project && project_was != project
331
- @assignable_versions = nil
332
-
333
- unless keep_tracker || project.trackers.include?(tracker)
334
- self.tracker = project.trackers.first
335
- end
336
- # Reassign to the category with same name if any
337
- if category
338
- self.category = project.issue_categories.find_by_name(category.name)
339
- end
340
- # Keep the fixed_version if it's still valid in the new_project
341
- if fixed_version && fixed_version.project != project && !project.shared_versions.include?(fixed_version)
342
- self.fixed_version = nil
343
- end
344
- # Clear the parent task if it's no longer valid
345
- unless valid_parent_project?
346
- self.parent_issue_id = nil
347
- end
348
- @custom_field_values = nil
349
- @workflow_rule_by_attribute = nil
350
- end
351
- self.project
352
- end
353
-
354
- def description=(arg)
355
- if arg.is_a?(String)
356
- arg = arg.gsub(/(\r\n|\n|\r)/, "\r\n")
357
- end
358
- write_attribute(:description, arg)
359
- end
360
-
361
- # Overrides assign_attributes so that project and tracker get assigned first
362
- def assign_attributes_with_project_and_tracker_first(new_attributes, *args)
363
- return if new_attributes.nil?
364
- attrs = new_attributes.dup
365
- attrs.stringify_keys!
366
-
367
- %w(project project_id tracker tracker_id).each do |attr|
368
- if attrs.has_key?(attr)
369
- send "#{attr}=", attrs.delete(attr)
370
- end
371
- end
372
- send :assign_attributes_without_project_and_tracker_first, attrs, *args
373
- end
374
- # Do not redefine alias chain on reload (see #4838)
375
- alias_method_chain(:assign_attributes, :project_and_tracker_first) unless method_defined?(:assign_attributes_without_project_and_tracker_first)
376
-
377
- def attributes=(new_attributes)
378
- assign_attributes new_attributes
379
- end
380
-
381
- def estimated_hours=(h)
382
- write_attribute :estimated_hours, (h.is_a?(String) ? h.to_hours : h)
383
- end
384
-
385
- safe_attributes 'project_id',
386
- 'tracker_id',
387
- 'status_id',
388
- 'category_id',
389
- 'assigned_to_id',
390
- 'priority_id',
391
- 'fixed_version_id',
392
- 'subject',
393
- 'description',
394
- 'start_date',
395
- 'due_date',
396
- 'done_ratio',
397
- 'estimated_hours',
398
- 'custom_field_values',
399
- 'custom_fields',
400
- 'lock_version',
401
- 'notes',
402
- :if => lambda {|issue, user| issue.new_record? || user.allowed_to?(:edit_issues, issue.project) }
403
-
404
- safe_attributes 'notes',
405
- :if => lambda {|issue, user| user.allowed_to?(:add_issue_notes, issue.project)}
406
-
407
- safe_attributes 'private_notes',
408
- :if => lambda {|issue, user| !issue.new_record? && user.allowed_to?(:set_notes_private, issue.project)}
409
-
410
- safe_attributes 'watcher_user_ids',
411
- :if => lambda {|issue, user| issue.new_record? && user.allowed_to?(:add_issue_watchers, issue.project)}
412
-
413
- safe_attributes 'is_private',
414
- :if => lambda {|issue, user|
415
- user.allowed_to?(:set_issues_private, issue.project) ||
416
- (issue.author_id == user.id && user.allowed_to?(:set_own_issues_private, issue.project))
417
- }
418
-
419
- safe_attributes 'parent_issue_id',
420
- :if => lambda {|issue, user| (issue.new_record? || user.allowed_to?(:edit_issues, issue.project)) &&
421
- user.allowed_to?(:manage_subtasks, issue.project)}
422
-
423
- def safe_attribute_names(user=nil)
424
- names = super
425
- names -= disabled_core_fields
426
- names -= read_only_attribute_names(user)
427
- if new_record?
428
- # Make sure that project_id can always be set for new issues
429
- names |= %w(project_id)
430
- end
431
- if dates_derived?
432
- names -= %w(start_date due_date)
433
- end
434
- if priority_derived?
435
- names -= %w(priority_id)
436
- end
437
- if done_ratio_derived?
438
- names -= %w(done_ratio)
439
- end
440
- names
441
- end
442
-
443
- # Safely sets attributes
444
- # Should be called from controllers instead of #attributes=
445
- # attr_accessible is too rough because we still want things like
446
- # Issue.new(:project => foo) to work
447
- def safe_attributes=(attrs, user=User.current)
448
- return unless attrs.is_a?(Hash)
449
-
450
- attrs = attrs.deep_dup
451
-
452
- # Project and Tracker must be set before since new_statuses_allowed_to depends on it.
453
- if (p = attrs.delete('project_id')) && safe_attribute?('project_id')
454
- if allowed_target_projects(user).where(:id => p.to_i).exists?
455
- self.project_id = p
456
- end
457
- end
458
-
459
- if (t = attrs.delete('tracker_id')) && safe_attribute?('tracker_id')
460
- self.tracker_id = t
461
- end
462
- if project
463
- # Set the default tracker to accept custom field values
464
- # even if tracker is not specified
465
- self.tracker ||= project.trackers.first
466
- end
467
-
468
- if (s = attrs.delete('status_id')) && safe_attribute?('status_id')
469
- if new_statuses_allowed_to(user).collect(&:id).include?(s.to_i)
470
- self.status_id = s
471
- end
472
- end
473
-
474
- attrs = delete_unsafe_attributes(attrs, user)
475
- return if attrs.empty?
476
-
477
- if attrs['parent_issue_id'].present?
478
- s = attrs['parent_issue_id'].to_s
479
- unless (m = s.match(%r{\A#?(\d+)\z})) && (m[1] == parent_id.to_s || Issue.visible(user).exists?(m[1]))
480
- @invalid_parent_issue_id = attrs.delete('parent_issue_id')
481
- end
482
- end
483
-
484
- if attrs['custom_field_values'].present?
485
- editable_custom_field_ids = editable_custom_field_values(user).map {|v| v.custom_field_id.to_s}
486
- attrs['custom_field_values'].select! {|k, v| editable_custom_field_ids.include?(k.to_s)}
487
- end
488
-
489
- if attrs['custom_fields'].present?
490
- editable_custom_field_ids = editable_custom_field_values(user).map {|v| v.custom_field_id.to_s}
491
- attrs['custom_fields'].select! {|c| editable_custom_field_ids.include?(c['id'].to_s)}
492
- end
493
-
494
- # mass-assignment security bypass
495
- assign_attributes attrs, :without_protection => true
496
- end
497
-
498
- def disabled_core_fields
499
- tracker ? tracker.disabled_core_fields : []
500
- end
501
-
502
- # Returns the custom_field_values that can be edited by the given user
503
- def editable_custom_field_values(user=nil)
504
- visible_custom_field_values(user).reject do |value|
505
- read_only_attribute_names(user).include?(value.custom_field_id.to_s)
506
- end
507
- end
508
-
509
- # Returns the custom fields that can be edited by the given user
510
- def editable_custom_fields(user=nil)
511
- editable_custom_field_values(user).map(&:custom_field).uniq
512
- end
513
-
514
- # Returns the names of attributes that are read-only for user or the current user
515
- # For users with multiple roles, the read-only fields are the intersection of
516
- # read-only fields of each role
517
- # The result is an array of strings where sustom fields are represented with their ids
518
- #
519
- # Examples:
520
- # issue.read_only_attribute_names # => ['due_date', '2']
521
- # issue.read_only_attribute_names(user) # => []
522
- def read_only_attribute_names(user=nil)
523
- workflow_rule_by_attribute(user).reject {|attr, rule| rule != 'readonly'}.keys
524
- end
525
-
526
- # Returns the names of required attributes for user or the current user
527
- # For users with multiple roles, the required fields are the intersection of
528
- # required fields of each role
529
- # The result is an array of strings where sustom fields are represented with their ids
530
- #
531
- # Examples:
532
- # issue.required_attribute_names # => ['due_date', '2']
533
- # issue.required_attribute_names(user) # => []
534
- def required_attribute_names(user=nil)
535
- workflow_rule_by_attribute(user).reject {|attr, rule| rule != 'required'}.keys
536
- end
537
-
538
- # Returns true if the attribute is required for user
539
- def required_attribute?(name, user=nil)
540
- required_attribute_names(user).include?(name.to_s)
541
- end
542
-
543
- # Returns a hash of the workflow rule by attribute for the given user
544
- #
545
- # Examples:
546
- # issue.workflow_rule_by_attribute # => {'due_date' => 'required', 'start_date' => 'readonly'}
547
- def workflow_rule_by_attribute(user=nil)
548
- return @workflow_rule_by_attribute if @workflow_rule_by_attribute && user.nil?
549
-
550
- user_real = user || User.current
551
- roles = user_real.admin ? Role.all.to_a : user_real.roles_for_project(project)
552
- roles = roles.select(&:consider_workflow?)
553
- return {} if roles.empty?
554
-
555
- result = {}
556
- workflow_permissions = WorkflowPermission.where(:tracker_id => tracker_id, :old_status_id => status_id, :role_id => roles.map(&:id)).to_a
557
- if workflow_permissions.any?
558
- workflow_rules = workflow_permissions.inject({}) do |h, wp|
559
- h[wp.field_name] ||= {}
560
- h[wp.field_name][wp.role_id] = wp.rule
561
- h
562
- end
563
- fields_with_roles = {}
564
- IssueCustomField.where(:visible => false).joins(:roles).pluck(:id, "role_id").each do |field_id, role_id|
565
- fields_with_roles[field_id] ||= []
566
- fields_with_roles[field_id] << role_id
567
- end
568
- roles.each do |role|
569
- fields_with_roles.each do |field_id, role_ids|
570
- unless role_ids.include?(role.id)
571
- field_name = field_id.to_s
572
- workflow_rules[field_name] ||= {}
573
- workflow_rules[field_name][role.id] = 'readonly'
574
- end
575
- end
576
- end
577
- workflow_rules.each do |attr, rules|
578
- next if rules.size < roles.size
579
- uniq_rules = rules.values.uniq
580
- if uniq_rules.size == 1
581
- result[attr] = uniq_rules.first
582
- else
583
- result[attr] = 'required'
584
- end
585
- end
586
- end
587
- @workflow_rule_by_attribute = result if user.nil?
588
- result
589
- end
590
- private :workflow_rule_by_attribute
591
-
592
- def done_ratio
593
- if Issue.use_status_for_done_ratio? && status && status.default_done_ratio
594
- status.default_done_ratio
595
- else
596
- read_attribute(:done_ratio)
597
- end
598
- end
599
-
600
- def self.use_status_for_done_ratio?
601
- Setting.issue_done_ratio == 'issue_status'
602
- end
603
-
604
- def self.use_field_for_done_ratio?
605
- Setting.issue_done_ratio == 'issue_field'
606
- end
607
-
608
- def validate_issue
609
- if due_date && start_date && (start_date_changed? || due_date_changed?) && due_date < start_date
610
- errors.add :due_date, :greater_than_start_date
611
- end
612
-
613
- if start_date && start_date_changed? && soonest_start && start_date < soonest_start
614
- errors.add :start_date, :earlier_than_minimum_start_date, :date => format_date(soonest_start)
615
- end
616
-
617
- if fixed_version
618
- if !assignable_versions.include?(fixed_version)
619
- errors.add :fixed_version_id, :inclusion
620
- elsif reopening? && fixed_version.closed?
621
- errors.add :base, I18n.t(:error_can_not_reopen_issue_on_closed_version)
622
- end
623
- end
624
-
625
- # Checks that the issue can not be added/moved to a disabled tracker
626
- if project && (tracker_id_changed? || project_id_changed?)
627
- unless project.trackers.include?(tracker)
628
- errors.add :tracker_id, :inclusion
629
- end
630
- end
631
-
632
- # Checks parent issue assignment
633
- if @invalid_parent_issue_id.present?
634
- errors.add :parent_issue_id, :invalid
635
- elsif @parent_issue
636
- if !valid_parent_project?(@parent_issue)
637
- errors.add :parent_issue_id, :invalid
638
- elsif (@parent_issue != parent) && (all_dependent_issues.include?(@parent_issue) || @parent_issue.all_dependent_issues.include?(self))
639
- errors.add :parent_issue_id, :invalid
640
- elsif !new_record?
641
- # moving an existing issue
642
- if move_possible?(@parent_issue)
643
- # move accepted
644
- else
645
- errors.add :parent_issue_id, :invalid
646
- end
647
- end
648
- end
649
- end
650
-
651
- # Validates the issue against additional workflow requirements
652
- def validate_required_fields
653
- user = new_record? ? author : current_journal.try(:user)
654
-
655
- required_attribute_names(user).each do |attribute|
656
- if attribute =~ /^\d+$/
657
- attribute = attribute.to_i
658
- v = custom_field_values.detect {|v| v.custom_field_id == attribute }
659
- if v && v.value.blank?
660
- errors.add :base, v.custom_field.name + ' ' + l('activerecord.errors.messages.blank')
661
- end
662
- else
663
- if respond_to?(attribute) && send(attribute).blank? && !disabled_core_fields.include?(attribute)
664
- errors.add attribute, :blank
665
- end
666
- end
667
- end
668
- end
669
-
670
- # Overrides Redmine::Acts::Customizable::InstanceMethods#validate_custom_field_values
671
- # so that custom values that are not editable are not validated (eg. a custom field that
672
- # is marked as required should not trigger a validation error if the user is not allowed
673
- # to edit this field).
674
- def validate_custom_field_values
675
- user = new_record? ? author : current_journal.try(:user)
676
- if new_record? || custom_field_values_changed?
677
- editable_custom_field_values(user).each(&:validate_value)
678
- end
679
- end
680
-
681
- # Set the done_ratio using the status if that setting is set. This will keep the done_ratios
682
- # even if the user turns off the setting later
683
- def update_done_ratio_from_issue_status
684
- if Issue.use_status_for_done_ratio? && status && status.default_done_ratio
685
- self.done_ratio = status.default_done_ratio
686
- end
687
- end
688
-
689
- def init_journal(user, notes = "")
690
- @current_journal ||= Journal.new(:journalized => self, :user => user, :notes => notes)
691
- end
692
-
693
- # Returns the current journal or nil if it's not initialized
694
- def current_journal
695
- @current_journal
696
- end
697
-
698
- # Returns the names of attributes that are journalized when updating the issue
699
- def journalized_attribute_names
700
- names = Issue.column_names - %w(id root_id lft rgt lock_version created_on updated_on closed_on)
701
- if tracker
702
- names -= tracker.disabled_core_fields
703
- end
704
- names
705
- end
706
-
707
- # Returns the id of the last journal or nil
708
- def last_journal_id
709
- if new_record?
710
- nil
711
- else
712
- journals.maximum(:id)
713
- end
714
- end
715
-
716
- # Returns a scope for journals that have an id greater than journal_id
717
- def journals_after(journal_id)
718
- scope = journals.reorder("#{Journal.table_name}.id ASC")
719
- if journal_id.present?
720
- scope = scope.where("#{Journal.table_name}.id > ?", journal_id.to_i)
721
- end
722
- scope
723
- end
724
-
725
- # Returns the initial status of the issue
726
- # Returns nil for a new issue
727
- def status_was
728
- if status_id_changed?
729
- if status_id_was.to_i > 0
730
- @status_was ||= IssueStatus.find_by_id(status_id_was)
731
- end
732
- else
733
- @status_was ||= status
734
- end
735
- end
736
-
737
- # Return true if the issue is closed, otherwise false
738
- def closed?
739
- status.present? && status.is_closed?
740
- end
741
-
742
- # Returns true if the issue was closed when loaded
743
- def was_closed?
744
- status_was.present? && status_was.is_closed?
745
- end
746
-
747
- # Return true if the issue is being reopened
748
- def reopening?
749
- if new_record?
750
- false
751
- else
752
- status_id_changed? && !closed? && was_closed?
753
- end
754
- end
755
- alias :reopened? :reopening?
756
-
757
- # Return true if the issue is being closed
758
- def closing?
759
- if new_record?
760
- closed?
761
- else
762
- status_id_changed? && closed? && !was_closed?
763
- end
764
- end
765
-
766
- # Returns true if the issue is overdue
767
- def overdue?
768
- due_date.present? && (due_date < Date.today) && !closed?
769
- end
770
-
771
- # Is the amount of work done less than it should for the due date
772
- def behind_schedule?
773
- return false if start_date.nil? || due_date.nil?
774
- done_date = start_date + ((due_date - start_date + 1) * done_ratio / 100).floor
775
- return done_date <= Date.today
776
- end
777
-
778
- # Does this issue have children?
779
- def children?
780
- !leaf?
781
- end
782
-
783
- # Users the issue can be assigned to
784
- def assignable_users
785
- users = project.assignable_users.to_a
786
- users << author if author
787
- users << assigned_to if assigned_to
788
- users.uniq.sort
789
- end
790
-
791
- # Versions that the issue can be assigned to
792
- def assignable_versions
793
- return @assignable_versions if @assignable_versions
794
-
795
- versions = project.shared_versions.open.to_a
796
- if fixed_version
797
- if fixed_version_id_changed?
798
- # nothing to do
799
- elsif project_id_changed?
800
- if project.shared_versions.include?(fixed_version)
801
- versions << fixed_version
802
- end
803
- else
804
- versions << fixed_version
805
- end
806
- end
807
- @assignable_versions = versions.uniq.sort
808
- end
809
-
810
- # Returns true if this issue is blocked by another issue that is still open
811
- def blocked?
812
- !relations_to.detect {|ir| ir.relation_type == 'blocks' && !ir.issue_from.closed?}.nil?
813
- end
814
-
815
- # Returns the default status of the issue based on its tracker
816
- # Returns nil if tracker is nil
817
- def default_status
818
- tracker.try(:default_status)
819
- end
820
-
821
- # Returns an array of statuses that user is able to apply
822
- def new_statuses_allowed_to(user=User.current, include_default=false)
823
- if new_record? && @copied_from
824
- [default_status, @copied_from.status].compact.uniq.sort
825
- else
826
- initial_status = nil
827
- if new_record?
828
- initial_status = default_status
829
- elsif tracker_id_changed?
830
- if Tracker.where(:id => tracker_id_was, :default_status_id => status_id_was).any?
831
- initial_status = default_status
832
- elsif tracker.issue_status_ids.include?(status_id_was)
833
- initial_status = IssueStatus.find_by_id(status_id_was)
834
- else
835
- initial_status = default_status
836
- end
837
- else
838
- initial_status = status_was
839
- end
840
-
841
- initial_assigned_to_id = assigned_to_id_changed? ? assigned_to_id_was : assigned_to_id
842
- assignee_transitions_allowed = initial_assigned_to_id.present? &&
843
- (user.id == initial_assigned_to_id || user.group_ids.include?(initial_assigned_to_id))
844
-
845
- statuses = []
846
- if initial_status
847
- statuses += initial_status.find_new_statuses_allowed_to(
848
- user.admin ? Role.all.to_a : user.roles_for_project(project),
849
- tracker,
850
- author == user,
851
- assignee_transitions_allowed
852
- )
853
- end
854
- statuses << initial_status unless statuses.empty?
855
- statuses << default_status if include_default
856
- statuses = statuses.compact.uniq.sort
857
- if blocked?
858
- statuses.reject!(&:is_closed?)
859
- end
860
- statuses
861
- end
862
- end
863
-
864
- # Returns the previous assignee (user or group) if changed
865
- def assigned_to_was
866
- # assigned_to_id_was is reset before after_save callbacks
867
- user_id = @previous_assigned_to_id || assigned_to_id_was
868
- if user_id && user_id != assigned_to_id
869
- @assigned_to_was ||= Principal.find_by_id(user_id)
870
- end
871
- end
872
-
873
- # Returns the users that should be notified
874
- def notified_users
875
- notified = []
876
- # Author and assignee are always notified unless they have been
877
- # locked or don't want to be notified
878
- notified << author if author
879
- if assigned_to
880
- notified += (assigned_to.is_a?(Group) ? assigned_to.users : [assigned_to])
881
- end
882
- if assigned_to_was
883
- notified += (assigned_to_was.is_a?(Group) ? assigned_to_was.users : [assigned_to_was])
884
- end
885
- notified = notified.select {|u| u.active? && u.notify_about?(self)}
886
-
887
- notified += project.notified_users
888
- notified.uniq!
889
- # Remove users that can not view the issue
890
- notified.reject! {|user| !visible?(user)}
891
- notified
892
- end
893
-
894
- # Returns the email addresses that should be notified
895
- def recipients
896
- notified_users.collect(&:mail)
897
- end
898
-
899
- def each_notification(users, &block)
900
- if users.any?
901
- if custom_field_values.detect {|value| !value.custom_field.visible?}
902
- users_by_custom_field_visibility = users.group_by do |user|
903
- visible_custom_field_values(user).map(&:custom_field_id).sort
904
- end
905
- users_by_custom_field_visibility.values.each do |users|
906
- yield(users)
907
- end
908
- else
909
- yield(users)
910
- end
911
- end
912
- end
913
-
914
- # Returns the number of hours spent on this issue
915
- def spent_hours
916
- @spent_hours ||= time_entries.sum(:hours) || 0
917
- end
918
-
919
- # Returns the total number of hours spent on this issue and its descendants
920
- def total_spent_hours
921
- @total_spent_hours ||= if leaf?
922
- spent_hours
923
- else
924
- self_and_descendants.joins(:time_entries).sum("#{TimeEntry.table_name}.hours").to_f || 0.0
925
- end
926
- end
927
-
928
- def total_estimated_hours
929
- if leaf?
930
- estimated_hours
931
- else
932
- @total_estimated_hours ||= self_and_descendants.sum(:estimated_hours)
933
- end
934
- end
935
-
936
- def relations
937
- @relations ||= IssueRelation::Relations.new(self, (relations_from + relations_to).sort)
938
- end
939
-
940
- # Preloads relations for a collection of issues
941
- def self.load_relations(issues)
942
- if issues.any?
943
- relations = IssueRelation.where("issue_from_id IN (:ids) OR issue_to_id IN (:ids)", :ids => issues.map(&:id)).all
944
- issues.each do |issue|
945
- issue.instance_variable_set "@relations", relations.select {|r| r.issue_from_id == issue.id || r.issue_to_id == issue.id}
946
- end
947
- end
948
- end
949
-
950
- # Preloads visible spent time for a collection of issues
951
- def self.load_visible_spent_hours(issues, user=User.current)
952
- if issues.any?
953
- hours_by_issue_id = TimeEntry.visible(user).where(:issue_id => issues.map(&:id)).group(:issue_id).sum(:hours)
954
- issues.each do |issue|
955
- issue.instance_variable_set "@spent_hours", (hours_by_issue_id[issue.id] || 0)
956
- end
957
- end
958
- end
959
-
960
- # Preloads visible total spent time for a collection of issues
961
- def self.load_visible_total_spent_hours(issues, user=User.current)
962
- if issues.any?
963
- hours_by_issue_id = TimeEntry.visible(user).joins(:issue).
964
- joins("JOIN #{Issue.table_name} parent ON parent.root_id = #{Issue.table_name}.root_id" +
965
- " AND parent.lft <= #{Issue.table_name}.lft AND parent.rgt >= #{Issue.table_name}.rgt").
966
- where("parent.id IN (?)", issues.map(&:id)).group("parent.id").sum(:hours)
967
- issues.each do |issue|
968
- issue.instance_variable_set "@total_spent_hours", (hours_by_issue_id[issue.id] || 0)
969
- end
970
- end
971
- end
972
-
973
- # Preloads visible relations for a collection of issues
974
- def self.load_visible_relations(issues, user=User.current)
975
- if issues.any?
976
- issue_ids = issues.map(&:id)
977
- # Relations with issue_from in given issues and visible issue_to
978
- relations_from = IssueRelation.joins(:issue_to => :project).
979
- where(visible_condition(user)).where(:issue_from_id => issue_ids).to_a
980
- # Relations with issue_to in given issues and visible issue_from
981
- relations_to = IssueRelation.joins(:issue_from => :project).
982
- where(visible_condition(user)).
983
- where(:issue_to_id => issue_ids).to_a
984
- issues.each do |issue|
985
- relations =
986
- relations_from.select {|relation| relation.issue_from_id == issue.id} +
987
- relations_to.select {|relation| relation.issue_to_id == issue.id}
988
-
989
- issue.instance_variable_set "@relations", IssueRelation::Relations.new(issue, relations.sort)
990
- end
991
- end
992
- end
993
-
994
- # Finds an issue relation given its id.
995
- def find_relation(relation_id)
996
- IssueRelation.where("issue_to_id = ? OR issue_from_id = ?", id, id).find(relation_id)
997
- end
998
-
999
- # Returns all the other issues that depend on the issue
1000
- # The algorithm is a modified breadth first search (bfs)
1001
- def all_dependent_issues(except=[])
1002
- # The found dependencies
1003
- dependencies = []
1004
-
1005
- # The visited flag for every node (issue) used by the breadth first search
1006
- eNOT_DISCOVERED = 0 # The issue is "new" to the algorithm, it has not seen it before.
1007
-
1008
- ePROCESS_ALL = 1 # The issue is added to the queue. Process both children and relations of
1009
- # the issue when it is processed.
1010
-
1011
- ePROCESS_RELATIONS_ONLY = 2 # The issue was added to the queue and will be output as dependent issue,
1012
- # but its children will not be added to the queue when it is processed.
1013
-
1014
- eRELATIONS_PROCESSED = 3 # The related issues, the parent issue and the issue itself have been added to
1015
- # the queue, but its children have not been added.
1016
-
1017
- ePROCESS_CHILDREN_ONLY = 4 # The relations and the parent of the issue have been added to the queue, but
1018
- # the children still need to be processed.
1019
-
1020
- eALL_PROCESSED = 5 # The issue and all its children, its parent and its related issues have been
1021
- # added as dependent issues. It needs no further processing.
1022
-
1023
- issue_status = Hash.new(eNOT_DISCOVERED)
1024
-
1025
- # The queue
1026
- queue = []
1027
-
1028
- # Initialize the bfs, add start node (self) to the queue
1029
- queue << self
1030
- issue_status[self] = ePROCESS_ALL
1031
-
1032
- while (!queue.empty?) do
1033
- current_issue = queue.shift
1034
- current_issue_status = issue_status[current_issue]
1035
- dependencies << current_issue
1036
-
1037
- # Add parent to queue, if not already in it.
1038
- parent = current_issue.parent
1039
- parent_status = issue_status[parent]
1040
-
1041
- if parent && (parent_status == eNOT_DISCOVERED) && !except.include?(parent)
1042
- queue << parent
1043
- issue_status[parent] = ePROCESS_RELATIONS_ONLY
1044
- end
1045
-
1046
- # Add children to queue, but only if they are not already in it and
1047
- # the children of the current node need to be processed.
1048
- if (current_issue_status == ePROCESS_CHILDREN_ONLY || current_issue_status == ePROCESS_ALL)
1049
- current_issue.children.each do |child|
1050
- next if except.include?(child)
1051
-
1052
- if (issue_status[child] == eNOT_DISCOVERED)
1053
- queue << child
1054
- issue_status[child] = ePROCESS_ALL
1055
- elsif (issue_status[child] == eRELATIONS_PROCESSED)
1056
- queue << child
1057
- issue_status[child] = ePROCESS_CHILDREN_ONLY
1058
- elsif (issue_status[child] == ePROCESS_RELATIONS_ONLY)
1059
- queue << child
1060
- issue_status[child] = ePROCESS_ALL
1061
- end
1062
- end
1063
- end
1064
-
1065
- # Add related issues to the queue, if they are not already in it.
1066
- current_issue.relations_from.map(&:issue_to).each do |related_issue|
1067
- next if except.include?(related_issue)
1068
-
1069
- if (issue_status[related_issue] == eNOT_DISCOVERED)
1070
- queue << related_issue
1071
- issue_status[related_issue] = ePROCESS_ALL
1072
- elsif (issue_status[related_issue] == eRELATIONS_PROCESSED)
1073
- queue << related_issue
1074
- issue_status[related_issue] = ePROCESS_CHILDREN_ONLY
1075
- elsif (issue_status[related_issue] == ePROCESS_RELATIONS_ONLY)
1076
- queue << related_issue
1077
- issue_status[related_issue] = ePROCESS_ALL
1078
- end
1079
- end
1080
-
1081
- # Set new status for current issue
1082
- if (current_issue_status == ePROCESS_ALL) || (current_issue_status == ePROCESS_CHILDREN_ONLY)
1083
- issue_status[current_issue] = eALL_PROCESSED
1084
- elsif (current_issue_status == ePROCESS_RELATIONS_ONLY)
1085
- issue_status[current_issue] = eRELATIONS_PROCESSED
1086
- end
1087
- end # while
1088
-
1089
- # Remove the issues from the "except" parameter from the result array
1090
- dependencies -= except
1091
- dependencies.delete(self)
1092
-
1093
- dependencies
1094
- end
1095
-
1096
- # Returns an array of issues that duplicate this one
1097
- def duplicates
1098
- relations_to.select {|r| r.relation_type == IssueRelation::TYPE_DUPLICATES}.collect {|r| r.issue_from}
1099
- end
1100
-
1101
- # Returns the due date or the target due date if any
1102
- # Used on gantt chart
1103
- def due_before
1104
- due_date || (fixed_version ? fixed_version.effective_date : nil)
1105
- end
1106
-
1107
- # Returns the time scheduled for this issue.
1108
- #
1109
- # Example:
1110
- # Start Date: 2/26/09, End Date: 3/04/09
1111
- # duration => 6
1112
- def duration
1113
- (start_date && due_date) ? due_date - start_date : 0
1114
- end
1115
-
1116
- # Returns the duration in working days
1117
- def working_duration
1118
- (start_date && due_date) ? working_days(start_date, due_date) : 0
1119
- end
1120
-
1121
- def soonest_start(reload=false)
1122
- if @soonest_start.nil? || reload
1123
- dates = relations_to(reload).collect{|relation| relation.successor_soonest_start}
1124
- p = @parent_issue || parent
1125
- if p && Setting.parent_issue_dates == 'derived'
1126
- dates << p.soonest_start
1127
- end
1128
- @soonest_start = dates.compact.max
1129
- end
1130
- @soonest_start
1131
- end
1132
-
1133
- # Sets start_date on the given date or the next working day
1134
- # and changes due_date to keep the same working duration.
1135
- def reschedule_on(date)
1136
- wd = working_duration
1137
- date = next_working_date(date)
1138
- self.start_date = date
1139
- self.due_date = add_working_days(date, wd)
1140
- end
1141
-
1142
- # Reschedules the issue on the given date or the next working day and saves the record.
1143
- # If the issue is a parent task, this is done by rescheduling its subtasks.
1144
- def reschedule_on!(date)
1145
- return if date.nil?
1146
- if leaf? || !dates_derived?
1147
- if start_date.nil? || start_date != date
1148
- if start_date && start_date > date
1149
- # Issue can not be moved earlier than its soonest start date
1150
- date = [soonest_start(true), date].compact.max
1151
- end
1152
- reschedule_on(date)
1153
- begin
1154
- save
1155
- rescue ActiveRecord::StaleObjectError
1156
- reload
1157
- reschedule_on(date)
1158
- save
1159
- end
1160
- end
1161
- else
1162
- leaves.each do |leaf|
1163
- if leaf.start_date
1164
- # Only move subtask if it starts at the same date as the parent
1165
- # or if it starts before the given date
1166
- if start_date == leaf.start_date || date > leaf.start_date
1167
- leaf.reschedule_on!(date)
1168
- end
1169
- else
1170
- leaf.reschedule_on!(date)
1171
- end
1172
- end
1173
- end
1174
- end
1175
-
1176
- def dates_derived?
1177
- !leaf? && Setting.parent_issue_dates == 'derived'
1178
- end
1179
-
1180
- def priority_derived?
1181
- !leaf? && Setting.parent_issue_priority == 'derived'
1182
- end
1183
-
1184
- def done_ratio_derived?
1185
- !leaf? && Setting.parent_issue_done_ratio == 'derived'
1186
- end
1187
-
1188
- def <=>(issue)
1189
- if issue.nil?
1190
- -1
1191
- elsif root_id != issue.root_id
1192
- (root_id || 0) <=> (issue.root_id || 0)
1193
- else
1194
- (lft || 0) <=> (issue.lft || 0)
1195
- end
1196
- end
1197
-
1198
- def to_s
1199
- "#{tracker} ##{id}: #{subject}"
1200
- end
1201
-
1202
- # Returns a string of css classes that apply to the issue
1203
- def css_classes(user=User.current)
1204
- s = "issue tracker-#{tracker_id} status-#{status_id} #{priority.try(:css_classes)}"
1205
- s << ' closed' if closed?
1206
- s << ' overdue' if overdue?
1207
- s << ' child' if child?
1208
- s << ' parent' unless leaf?
1209
- s << ' private' if is_private?
1210
- if user.logged?
1211
- s << ' created-by-me' if author_id == user.id
1212
- s << ' assigned-to-me' if assigned_to_id == user.id
1213
- s << ' assigned-to-my-group' if user.groups.any? {|g| g.id == assigned_to_id}
1214
- end
1215
- s
1216
- end
1217
-
1218
- # Unassigns issues from +version+ if it's no longer shared with issue's project
1219
- def self.update_versions_from_sharing_change(version)
1220
- # Update issues assigned to the version
1221
- update_versions(["#{Issue.table_name}.fixed_version_id = ?", version.id])
1222
- end
1223
-
1224
- # Unassigns issues from versions that are no longer shared
1225
- # after +project+ was moved
1226
- def self.update_versions_from_hierarchy_change(project)
1227
- moved_project_ids = project.self_and_descendants.reload.collect(&:id)
1228
- # Update issues of the moved projects and issues assigned to a version of a moved project
1229
- Issue.update_versions(
1230
- ["#{Version.table_name}.project_id IN (?) OR #{Issue.table_name}.project_id IN (?)",
1231
- moved_project_ids, moved_project_ids]
1232
- )
1233
- end
1234
-
1235
- def parent_issue_id=(arg)
1236
- s = arg.to_s.strip.presence
1237
- if s && (m = s.match(%r{\A#?(\d+)\z})) && (@parent_issue = Issue.find_by_id(m[1]))
1238
- @invalid_parent_issue_id = nil
1239
- elsif s.blank?
1240
- @parent_issue = nil
1241
- @invalid_parent_issue_id = nil
1242
- else
1243
- @parent_issue = nil
1244
- @invalid_parent_issue_id = arg
1245
- end
1246
- end
1247
-
1248
- def parent_issue_id
1249
- if @invalid_parent_issue_id
1250
- @invalid_parent_issue_id
1251
- elsif instance_variable_defined? :@parent_issue
1252
- @parent_issue.nil? ? nil : @parent_issue.id
1253
- else
1254
- parent_id
1255
- end
1256
- end
1257
-
1258
- def set_parent_id
1259
- self.parent_id = parent_issue_id
1260
- end
1261
-
1262
- # Returns true if issue's project is a valid
1263
- # parent issue project
1264
- def valid_parent_project?(issue=parent)
1265
- return true if issue.nil? || issue.project_id == project_id
1266
-
1267
- case Setting.cross_project_subtasks
1268
- when 'system'
1269
- true
1270
- when 'tree'
1271
- issue.project.root == project.root
1272
- when 'hierarchy'
1273
- issue.project.is_or_is_ancestor_of?(project) || issue.project.is_descendant_of?(project)
1274
- when 'descendants'
1275
- issue.project.is_or_is_ancestor_of?(project)
1276
- else
1277
- false
1278
- end
1279
- end
1280
-
1281
- # Returns an issue scope based on project and scope
1282
- def self.cross_project_scope(project, scope=nil)
1283
- if project.nil?
1284
- return Issue
1285
- end
1286
- case scope
1287
- when 'all', 'system'
1288
- Issue
1289
- when 'tree'
1290
- Issue.joins(:project).where("(#{Project.table_name}.lft >= :lft AND #{Project.table_name}.rgt <= :rgt)",
1291
- :lft => project.root.lft, :rgt => project.root.rgt)
1292
- when 'hierarchy'
1293
- Issue.joins(:project).where("(#{Project.table_name}.lft >= :lft AND #{Project.table_name}.rgt <= :rgt) OR (#{Project.table_name}.lft < :lft AND #{Project.table_name}.rgt > :rgt)",
1294
- :lft => project.lft, :rgt => project.rgt)
1295
- when 'descendants'
1296
- Issue.joins(:project).where("(#{Project.table_name}.lft >= :lft AND #{Project.table_name}.rgt <= :rgt)",
1297
- :lft => project.lft, :rgt => project.rgt)
1298
- else
1299
- Issue.where(:project_id => project.id)
1300
- end
1301
- end
1302
-
1303
- def self.by_tracker(project)
1304
- count_and_group_by(:project => project, :association => :tracker)
1305
- end
1306
-
1307
- def self.by_version(project)
1308
- count_and_group_by(:project => project, :association => :fixed_version)
1309
- end
1310
-
1311
- def self.by_priority(project)
1312
- count_and_group_by(:project => project, :association => :priority)
1313
- end
1314
-
1315
- def self.by_category(project)
1316
- count_and_group_by(:project => project, :association => :category)
1317
- end
1318
-
1319
- def self.by_assigned_to(project)
1320
- count_and_group_by(:project => project, :association => :assigned_to)
1321
- end
1322
-
1323
- def self.by_author(project)
1324
- count_and_group_by(:project => project, :association => :author)
1325
- end
1326
-
1327
- def self.by_subproject(project)
1328
- r = count_and_group_by(:project => project, :with_subprojects => true, :association => :project)
1329
- r.reject {|r| r["project_id"] == project.id.to_s}
1330
- end
1331
-
1332
- # Query generator for selecting groups of issue counts for a project
1333
- # based on specific criteria
1334
- #
1335
- # Options
1336
- # * project - Project to search in.
1337
- # * with_subprojects - Includes subprojects issues if set to true.
1338
- # * association - Symbol. Association for grouping.
1339
- def self.count_and_group_by(options)
1340
- assoc = reflect_on_association(options[:association])
1341
- select_field = assoc.foreign_key
1342
-
1343
- Issue.
1344
- visible(User.current, :project => options[:project], :with_subprojects => options[:with_subprojects]).
1345
- joins(:status, assoc.name).
1346
- group(:status_id, :is_closed, select_field).
1347
- count.
1348
- map do |columns, total|
1349
- status_id, is_closed, field_value = columns
1350
- is_closed = ['t', 'true', '1'].include?(is_closed.to_s)
1351
- {
1352
- "status_id" => status_id.to_s,
1353
- "closed" => is_closed,
1354
- select_field => field_value.to_s,
1355
- "total" => total.to_s
1356
- }
1357
- end
1358
- end
1359
-
1360
- # Returns a scope of projects that user can assign the issue to
1361
- def allowed_target_projects(user=User.current)
1362
- current_project = new_record? ? nil : project
1363
- self.class.allowed_target_projects(user, current_project)
1364
- end
1365
-
1366
- # Returns a scope of projects that user can assign issues to
1367
- # If current_project is given, it will be included in the scope
1368
- def self.allowed_target_projects(user=User.current, current_project=nil)
1369
- condition = Project.allowed_to_condition(user, :add_issues)
1370
- if current_project
1371
- condition = ["(#{condition}) OR #{Project.table_name}.id = ?", current_project.id]
1372
- end
1373
- Project.where(condition)
1374
- end
1375
-
1376
- private
1377
-
1378
- def after_project_change
1379
- # Update project_id on related time entries
1380
- TimeEntry.where({:issue_id => id}).update_all(["project_id = ?", project_id])
1381
-
1382
- # Delete issue relations
1383
- unless Setting.cross_project_issue_relations?
1384
- relations_from.clear
1385
- relations_to.clear
1386
- end
1387
-
1388
- # Move subtasks that were in the same project
1389
- children.each do |child|
1390
- next unless child.project_id == project_id_was
1391
- # Change project and keep project
1392
- child.send :project=, project, true
1393
- unless child.save
1394
- raise ActiveRecord::Rollback
1395
- end
1396
- end
1397
- end
1398
-
1399
- # Callback for after the creation of an issue by copy
1400
- # * adds a "copied to" relation with the copied issue
1401
- # * copies subtasks from the copied issue
1402
- def after_create_from_copy
1403
- return unless copy? && !@after_create_from_copy_handled
1404
-
1405
- if (@copied_from.project_id == project_id || Setting.cross_project_issue_relations?) && @copy_options[:link] != false
1406
- if @current_journal
1407
- @copied_from.init_journal(@current_journal.user)
1408
- end
1409
- relation = IssueRelation.new(:issue_from => @copied_from, :issue_to => self, :relation_type => IssueRelation::TYPE_COPIED_TO)
1410
- unless relation.save
1411
- logger.error "Could not create relation while copying ##{@copied_from.id} to ##{id} due to validation errors: #{relation.errors.full_messages.join(', ')}" if logger
1412
- end
1413
- end
1414
-
1415
- unless @copied_from.leaf? || @copy_options[:subtasks] == false
1416
- copy_options = (@copy_options || {}).merge(:subtasks => false)
1417
- copied_issue_ids = {@copied_from.id => self.id}
1418
- @copied_from.reload.descendants.reorder("#{Issue.table_name}.lft").each do |child|
1419
- # Do not copy self when copying an issue as a descendant of the copied issue
1420
- next if child == self
1421
- # Do not copy subtasks of issues that were not copied
1422
- next unless copied_issue_ids[child.parent_id]
1423
- # Do not copy subtasks that are not visible to avoid potential disclosure of private data
1424
- unless child.visible?
1425
- logger.error "Subtask ##{child.id} was not copied during ##{@copied_from.id} copy because it is not visible to the current user" if logger
1426
- next
1427
- end
1428
- copy = Issue.new.copy_from(child, copy_options)
1429
- if @current_journal
1430
- copy.init_journal(@current_journal.user)
1431
- end
1432
- copy.author = author
1433
- copy.project = project
1434
- copy.parent_issue_id = copied_issue_ids[child.parent_id]
1435
- unless copy.save
1436
- logger.error "Could not copy subtask ##{child.id} while copying ##{@copied_from.id} to ##{id} due to validation errors: #{copy.errors.full_messages.join(', ')}" if logger
1437
- next
1438
- end
1439
- copied_issue_ids[child.id] = copy.id
1440
- end
1441
- end
1442
- @after_create_from_copy_handled = true
1443
- end
1444
-
1445
- def update_nested_set_attributes
1446
- if parent_id_changed?
1447
- update_nested_set_attributes_on_parent_change
1448
- end
1449
- remove_instance_variable(:@parent_issue) if instance_variable_defined?(:@parent_issue)
1450
- end
1451
-
1452
- # Updates the nested set for when an existing issue is moved
1453
- def update_nested_set_attributes_on_parent_change
1454
- former_parent_id = parent_id_was
1455
- # delete invalid relations of all descendants
1456
- self_and_descendants.each do |issue|
1457
- issue.relations.each do |relation|
1458
- relation.destroy unless relation.valid?
1459
- end
1460
- end
1461
- # update former parent
1462
- recalculate_attributes_for(former_parent_id) if former_parent_id
1463
- end
1464
-
1465
- def update_parent_attributes
1466
- if parent_id
1467
- recalculate_attributes_for(parent_id)
1468
- association(:parent).reset
1469
- end
1470
- end
1471
-
1472
- def recalculate_attributes_for(issue_id)
1473
- if issue_id && p = Issue.find_by_id(issue_id)
1474
- if p.priority_derived?
1475
- # priority = highest priority of children
1476
- if priority_position = p.children.joins(:priority).maximum("#{IssuePriority.table_name}.position")
1477
- p.priority = IssuePriority.find_by_position(priority_position)
1478
- end
1479
- end
1480
-
1481
- if p.dates_derived?
1482
- # start/due dates = lowest/highest dates of children
1483
- p.start_date = p.children.minimum(:start_date)
1484
- p.due_date = p.children.maximum(:due_date)
1485
- if p.start_date && p.due_date && p.due_date < p.start_date
1486
- p.start_date, p.due_date = p.due_date, p.start_date
1487
- end
1488
- end
1489
-
1490
- if p.done_ratio_derived?
1491
- # done ratio = weighted average ratio of leaves
1492
- unless Issue.use_status_for_done_ratio? && p.status && p.status.default_done_ratio
1493
- leaves_count = p.leaves.count
1494
- if leaves_count > 0
1495
- average = p.leaves.where("estimated_hours > 0").average(:estimated_hours).to_f
1496
- if average == 0
1497
- average = 1
1498
- end
1499
- done = p.leaves.joins(:status).
1500
- sum("COALESCE(CASE WHEN estimated_hours > 0 THEN estimated_hours ELSE NULL END, #{average}) " +
1501
- "* (CASE WHEN is_closed = #{self.class.connection.quoted_true} THEN 100 ELSE COALESCE(done_ratio, 0) END)").to_f
1502
- progress = done / (average * leaves_count)
1503
- p.done_ratio = progress.round
1504
- end
1505
- end
1506
- end
1507
-
1508
- # ancestors will be recursively updated
1509
- p.save(:validate => false)
1510
- end
1511
- end
1512
-
1513
- # Update issues so their versions are not pointing to a
1514
- # fixed_version that is not shared with the issue's project
1515
- def self.update_versions(conditions=nil)
1516
- # Only need to update issues with a fixed_version from
1517
- # a different project and that is not systemwide shared
1518
- Issue.joins(:project, :fixed_version).
1519
- where("#{Issue.table_name}.fixed_version_id IS NOT NULL" +
1520
- " AND #{Issue.table_name}.project_id <> #{Version.table_name}.project_id" +
1521
- " AND #{Version.table_name}.sharing <> 'system'").
1522
- where(conditions).each do |issue|
1523
- next if issue.project.nil? || issue.fixed_version.nil?
1524
- unless issue.project.shared_versions.include?(issue.fixed_version)
1525
- issue.init_journal(User.current)
1526
- issue.fixed_version = nil
1527
- issue.save
1528
- end
1529
- end
1530
- end
1531
-
1532
- # Callback on file attachment
1533
- def attachment_added(attachment)
1534
- if current_journal && !attachment.new_record?
1535
- current_journal.journalize_attachment(attachment, :added)
1536
- end
1537
- end
1538
-
1539
- # Callback on attachment deletion
1540
- def attachment_removed(attachment)
1541
- if current_journal && !attachment.new_record?
1542
- current_journal.journalize_attachment(attachment, :removed)
1543
- current_journal.save
1544
- end
1545
- end
1546
-
1547
- # Called after a relation is added
1548
- def relation_added(relation)
1549
- if current_journal
1550
- current_journal.journalize_relation(relation, :added)
1551
- current_journal.save
1552
- end
1553
- end
1554
-
1555
- # Called after a relation is removed
1556
- def relation_removed(relation)
1557
- if current_journal
1558
- current_journal.journalize_relation(relation, :removed)
1559
- current_journal.save
1560
- end
1561
- end
1562
-
1563
- # Default assignment based on category
1564
- def default_assign
1565
- if assigned_to.nil? && category && category.assigned_to
1566
- self.assigned_to = category.assigned_to
1567
- end
1568
- end
1569
-
1570
- # Updates start/due dates of following issues
1571
- def reschedule_following_issues
1572
- if start_date_changed? || due_date_changed?
1573
- relations_from.each do |relation|
1574
- relation.set_issue_to_dates
1575
- end
1576
- end
1577
- end
1578
-
1579
- # Closes duplicates if the issue is being closed
1580
- def close_duplicates
1581
- if closing?
1582
- duplicates.each do |duplicate|
1583
- # Reload is needed in case the duplicate was updated by a previous duplicate
1584
- duplicate.reload
1585
- # Don't re-close it if it's already closed
1586
- next if duplicate.closed?
1587
- # Same user and notes
1588
- if @current_journal
1589
- duplicate.init_journal(@current_journal.user, @current_journal.notes)
1590
- end
1591
- duplicate.update_attribute :status, self.status
1592
- end
1593
- end
1594
- end
1595
-
1596
- # Make sure updated_on is updated when adding a note and set updated_on now
1597
- # so we can set closed_on with the same value on closing
1598
- def force_updated_on_change
1599
- if @current_journal || changed?
1600
- self.updated_on = current_time_from_proper_timezone
1601
- if new_record?
1602
- self.created_on = updated_on
1603
- end
1604
- end
1605
- end
1606
-
1607
- # Callback for setting closed_on when the issue is closed.
1608
- # The closed_on attribute stores the time of the last closing
1609
- # and is preserved when the issue is reopened.
1610
- def update_closed_on
1611
- if closing?
1612
- self.closed_on = updated_on
1613
- end
1614
- end
1615
-
1616
- # Saves the changes in a Journal
1617
- # Called after_save
1618
- def create_journal
1619
- if current_journal
1620
- current_journal.save
1621
- end
1622
- end
1623
-
1624
- def send_notification
1625
- if Setting.notified_events.include?('issue_added')
1626
- Mailer.deliver_issue_add(self)
1627
- end
1628
- end
1629
-
1630
- # Stores the previous assignee so we can still have access
1631
- # to it during after_save callbacks (assigned_to_id_was is reset)
1632
- def set_assigned_to_was
1633
- @previous_assigned_to_id = assigned_to_id_was
1634
- end
1635
-
1636
- # Clears the previous assignee at the end of after_save callbacks
1637
- def clear_assigned_to_was
1638
- @assigned_to_was = nil
1639
- @previous_assigned_to_id = nil
1640
- end
1641
-
1642
- def clear_disabled_fields
1643
- if tracker
1644
- tracker.disabled_core_fields.each do |attribute|
1645
- send "#{attribute}=", nil
1646
- end
1647
- self.done_ratio ||= 0
1648
- end
1649
- end
1650
- end