backlog 0.37.2 → 0.41.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (568) hide show
  1. checksums.yaml +7 -0
  2. data/History.txt +128 -0
  3. data/README.txt +4 -2
  4. data/bin/backlog +1 -1
  5. data/lib/array_helper.rb +4 -4
  6. data/{vendor/plugins → lib}/backlog_jira/README +0 -0
  7. data/{vendor/plugins → lib}/backlog_jira/Rakefile +0 -0
  8. data/{vendor/plugins → lib}/backlog_jira/generators/backlog_jira/backlog_jira_generator.rb +0 -0
  9. data/{vendor/plugins → lib}/backlog_jira/generators/backlog_jira/templates/migration.rb +0 -0
  10. data/{vendor/plugins → lib}/backlog_jira/generators/history_model/history_model_generator.rb +0 -0
  11. data/{vendor/plugins → lib}/backlog_jira/generators/history_model/templates/fixtures.yml +0 -0
  12. data/{vendor/plugins → lib}/backlog_jira/generators/history_model/templates/functional_test.rb +0 -0
  13. data/{vendor/plugins → lib}/backlog_jira/generators/history_model/templates/model.rb +0 -0
  14. data/{vendor/plugins → lib}/backlog_jira/generators/history_model/templates/unit_test.rb +0 -0
  15. data/lib/backlog_jira/init.rb +66 -0
  16. data/{vendor/plugins → lib}/backlog_jira/install.rb +0 -0
  17. data/{vendor/plugins → lib}/backlog_jira/lib/backlog_jira.rb +0 -0
  18. data/{vendor/plugins → lib}/backlog_jira/lib/tasks/backlog_jira_tasks.rake +0 -0
  19. data/{vendor/plugins → lib}/backlog_jira/test/backlog_jira_test.rb +0 -0
  20. data/{vendor/plugins → lib}/backlog_jira/uninstall.rb +0 -0
  21. data/lib/big_decimal_yaml_fix.rb +16 -25
  22. data/lib/tasks/backup.rake +18 -18
  23. data/lib/time_extras.rb +6 -6
  24. data/lib/user_system.rb +41 -38
  25. data/lib/version_from_history.rb +2 -2
  26. metadata +196 -749
  27. data/Capfile +0 -2
  28. data/Gemfile +0 -34
  29. data/Gemfile.lock +0 -139
  30. data/MODIFICATIONS.txt +0 -13
  31. data/Manifest.txt +0 -0
  32. data/README_LOGIN_SUGAR +0 -194
  33. data/Rakefile +0 -73
  34. data/Rakefile~ +0 -73
  35. data/Screenshot.png +0 -0
  36. data/app/controllers/absences_controller.rb +0 -67
  37. data/app/controllers/application_controller.rb +0 -185
  38. data/app/controllers/application_controller.rb.rails2 +0 -186
  39. data/app/controllers/customers_controller.rb +0 -51
  40. data/app/controllers/dashboard_controller.rb +0 -17
  41. data/app/controllers/estimates_controller.rb +0 -49
  42. data/app/controllers/groups_controller.rb +0 -65
  43. data/app/controllers/parties_controller.rb +0 -33
  44. data/app/controllers/periods_controller.rb +0 -242
  45. data/app/controllers/projects_controller.rb +0 -185
  46. data/app/controllers/public_holidays_controller.rb +0 -70
  47. data/app/controllers/search_controller.rb +0 -15
  48. data/app/controllers/task_files_controller.rb +0 -19
  49. data/app/controllers/tasks_controller.rb +0 -305
  50. data/app/controllers/user_controller.rb +0 -251
  51. data/app/controllers/welcome_controller.rb +0 -29
  52. data/app/controllers/work_locks_controller.rb +0 -88
  53. data/app/controllers/works_controller.rb +0 -383
  54. data/app/helpers/absences_helper.rb +0 -2
  55. data/app/helpers/application_helper.rb +0 -119
  56. data/app/helpers/application_helper.rb.rails2 +0 -118
  57. data/app/helpers/customers_helper.rb +0 -2
  58. data/app/helpers/dashboard_helper.rb +0 -2
  59. data/app/helpers/estimates_helper.rb +0 -2
  60. data/app/helpers/groups_helper.rb +0 -2
  61. data/app/helpers/parties_helper.rb +0 -2
  62. data/app/helpers/periods_helper.rb +0 -57
  63. data/app/helpers/projects_helper.rb +0 -74
  64. data/app/helpers/public_holidays_helper.rb +0 -2
  65. data/app/helpers/search_helper.rb +0 -2
  66. data/app/helpers/task_files_helper.rb +0 -2
  67. data/app/helpers/tasks_helper.rb +0 -2
  68. data/app/helpers/user_helper.rb +0 -53
  69. data/app/helpers/welcome_helper.rb +0 -2
  70. data/app/helpers/work_locks_helper.rb +0 -2
  71. data/app/helpers/works_helper.rb +0 -5
  72. data/app/mailers/user_notify.rb +0 -76
  73. data/app/models/absence.rb +0 -27
  74. data/app/models/chart.rb +0 -5
  75. data/app/models/clock.rb +0 -14
  76. data/app/models/configuration.rb +0 -2
  77. data/app/models/customer.rb +0 -2
  78. data/app/models/estimate.rb +0 -17
  79. data/app/models/group.rb +0 -16
  80. data/app/models/party.rb +0 -27
  81. data/app/models/period.rb +0 -251
  82. data/app/models/project.rb +0 -49
  83. data/app/models/public_holiday.rb +0 -13
  84. data/app/models/report_filter.rb +0 -29
  85. data/app/models/search_result.rb +0 -8
  86. data/app/models/sidebar.rb +0 -41
  87. data/app/models/task.rb +0 -425
  88. data/app/models/task_file.rb +0 -7
  89. data/app/models/task_notify.rb +0 -27
  90. data/app/models/user.rb +0 -146
  91. data/app/models/work.rb +0 -191
  92. data/app/models/work_lock.rb +0 -11
  93. data/app/models/work_lock_nagger.rb +0 -60
  94. data/app/models/work_lock_notify.rb +0 -43
  95. data/app/models/works_report_filter.rb +0 -27
  96. data/app/views/absences/_form.rhtml +0 -10
  97. data/app/views/absences/edit.rhtml +0 -9
  98. data/app/views/absences/list.rhtml +0 -25
  99. data/app/views/absences/new.rhtml +0 -8
  100. data/app/views/absences/show.rhtml +0 -8
  101. data/app/views/customers/_form.rhtml +0 -7
  102. data/app/views/customers/_name_list.rhtml +0 -5
  103. data/app/views/customers/edit.rhtml +0 -9
  104. data/app/views/customers/list.rhtml +0 -28
  105. data/app/views/customers/new.rhtml +0 -8
  106. data/app/views/customers/show.rhtml +0 -8
  107. data/app/views/dashboard/show.rhtml +0 -24
  108. data/app/views/display_notice.rjs +0 -1
  109. data/app/views/groups/_form.rhtml +0 -7
  110. data/app/views/groups/edit.rhtml +0 -57
  111. data/app/views/groups/list.rhtml +0 -26
  112. data/app/views/groups/new.rhtml +0 -7
  113. data/app/views/groups/set_member.rjs +0 -1
  114. data/app/views/layouts/_headers.rhtml +0 -24
  115. data/app/views/layouts/_left_top.rhtml +0 -33
  116. data/app/views/layouts/_notice.rhtml +0 -12
  117. data/app/views/layouts/_shortcuts.rhtml +0 -22
  118. data/app/views/layouts/_shortcuts_js.rhtml +0 -19
  119. data/app/views/layouts/mwrt002.html.erb +0 -44
  120. data/app/views/layouts/wide.rhtml +0 -23
  121. data/app/views/periods/_burn_down_chart.rhtml +0 -9
  122. data/app/views/periods/_form.rhtml +0 -74
  123. data/app/views/periods/_link.rhtml +0 -3
  124. data/app/views/periods/_show_active.rhtml +0 -61
  125. data/app/views/periods/_sidebar_block.rhtml +0 -11
  126. data/app/views/periods/_title.rhtml +0 -18
  127. data/app/views/periods/edit.rhtml +0 -10
  128. data/app/views/periods/finish_task.rjs +0 -4
  129. data/app/views/periods/move_task_to_period.rjs +0 -4
  130. data/app/views/periods/new.rhtml +0 -9
  131. data/app/views/periods/order.rjs +0 -0
  132. data/app/views/periods/reopen_task.rjs +0 -6
  133. data/app/views/periods/show.rhtml +0 -56
  134. data/app/views/projects/_buttons.rhtml +0 -4
  135. data/app/views/projects/_form.rhtml +0 -44
  136. data/app/views/projects/_name_list.rhtml +0 -5
  137. data/app/views/projects/edit.rhtml +0 -14
  138. data/app/views/projects/finish_task.rjs +0 -3
  139. data/app/views/projects/list.rhtml +0 -16
  140. data/app/views/projects/move_task_to_period.rjs +0 -3
  141. data/app/views/projects/new.rhtml +0 -11
  142. data/app/views/projects/reopen_task.rjs +0 -3
  143. data/app/views/projects/show.rhtml +0 -39
  144. data/app/views/public_holidays/_form.rhtml +0 -7
  145. data/app/views/public_holidays/edit.rhtml +0 -9
  146. data/app/views/public_holidays/list.rhtml +0 -25
  147. data/app/views/public_holidays/new.rhtml +0 -8
  148. data/app/views/public_holidays/show.rhtml +0 -8
  149. data/app/views/redirect.rjs +0 -1
  150. data/app/views/search/results.rhtml +0 -40
  151. data/app/views/task_notify/invite.en.html.erb +0 -13
  152. data/app/views/task_notify/invite.no.html.erb +0 -13
  153. data/app/views/tasks/_backlog_header.rhtml +0 -17
  154. data/app/views/tasks/_completed.rhtml +0 -18
  155. data/app/views/tasks/_fields_header.rhtml +0 -13
  156. data/app/views/tasks/_form.rhtml +0 -125
  157. data/app/views/tasks/_invite.rjs +0 -1
  158. data/app/views/tasks/_period_header.rhtml +0 -1
  159. data/app/views/tasks/_task.rhtml +0 -116
  160. data/app/views/tasks/_update.rjs +0 -2
  161. data/app/views/tasks/edit.rhtml +0 -81
  162. data/app/views/tasks/grab.rhtml +0 -9
  163. data/app/views/tasks/invite.rhtml +0 -9
  164. data/app/views/tasks/list.rhtml +0 -77
  165. data/app/views/tasks/list_started.rhtml +0 -62
  166. data/app/views/tasks/new.rhtml +0 -10
  167. data/app/views/tasks/notes.rhtml +0 -12
  168. data/app/views/tasks/start_work.rjs +0 -1
  169. data/app/views/tasks/update_estimate.rjs +0 -3
  170. data/app/views/user/_edit.rhtml +0 -31
  171. data/app/views/user/_password.rhtml +0 -21
  172. data/app/views/user/change_password.rhtml +0 -19
  173. data/app/views/user/delete.rhtml +0 -14
  174. data/app/views/user/edit.rhtml +0 -154
  175. data/app/views/user/forgot_password.rhtml +0 -19
  176. data/app/views/user/login.rhtml +0 -33
  177. data/app/views/user/logout.rhtml +0 -8
  178. data/app/views/user/set_group.rjs +0 -1
  179. data/app/views/user/signup.rhtml +0 -15
  180. data/app/views/user/toggle_work_lock_monitoring.rjs +0 -2
  181. data/app/views/user/welcome.rhtml +0 -8
  182. data/app/views/user_notify/change_password.en.html.erb +0 -10
  183. data/app/views/user_notify/change_password.no.html.erb +0 -10
  184. data/app/views/user_notify/forgot_password.en.html.erb +0 -11
  185. data/app/views/user_notify/forgot_password.no.html.erb +0 -11
  186. data/app/views/user_notify/monitoring.en.html.erb +0 -3
  187. data/app/views/user_notify/monitoring.no.html.erb +0 -3
  188. data/app/views/user_notify/monitoring_invitation.en.html.erb +0 -7
  189. data/app/views/user_notify/monitoring_invitation.no.html.erb +0 -7
  190. data/app/views/user_notify/signup.en.html.erb +0 -12
  191. data/app/views/user_notify/signup.no.html.erb +0 -12
  192. data/app/views/work_lock_notify/lock.en.html.erb +0 -7
  193. data/app/views/work_lock_notify/lock.no.html.erb +0 -7
  194. data/app/views/work_lock_notify/nag.en.html.erb +0 -6
  195. data/app/views/work_lock_notify/nag.no.html.erb +0 -7
  196. data/app/views/work_locks/_form.rhtml +0 -10
  197. data/app/views/work_locks/edit.rhtml +0 -9
  198. data/app/views/work_locks/list.rhtml +0 -25
  199. data/app/views/work_locks/new.rhtml +0 -8
  200. data/app/views/work_locks/show.rhtml +0 -8
  201. data/app/views/works/_buttons.rhtml +0 -2
  202. data/app/views/works/_description_list.rhtml +0 -5
  203. data/app/views/works/_form.rhtml +0 -107
  204. data/app/views/works/_new_row.rhtml +0 -141
  205. data/app/views/works/_row.rhtml +0 -115
  206. data/app/views/works/_row_field.rhtml +0 -17
  207. data/app/views/works/_task_id_list.rhtml +0 -5
  208. data/app/views/works/_weekly_work_sheet_buttons.rhtml +0 -22
  209. data/app/views/works/daily_work_sheet.rhtml +0 -108
  210. data/app/views/works/edit.rhtml +0 -11
  211. data/app/views/works/list.rhtml +0 -148
  212. data/app/views/works/list_excel.rhtml +0 -114
  213. data/app/views/works/new.rhtml +0 -12
  214. data/app/views/works/show.rhtml +0 -10
  215. data/app/views/works/timeliste.rhtml +0 -884
  216. data/app/views/works/update_new_row.rjs +0 -28
  217. data/app/views/works/update_row.rjs +0 -18
  218. data/app/views/works/update_time.rjs +0 -3
  219. data/app/views/works/weekly_work_sheet.rhtml +0 -64
  220. data/app/views/works/weekly_work_sheet_details.rhtml +0 -102
  221. data/backlog.gemspec +0 -44
  222. data/config.ru +0 -4
  223. data/config/application.rb +0 -11
  224. data/config/boot.rb +0 -13
  225. data/config/database.yml +0 -15
  226. data/config/database.yml~ +0 -17
  227. data/config/environment.rb +0 -100
  228. data/config/environments/development.rb +0 -30
  229. data/config/environments/development.rb.rails2 +0 -26
  230. data/config/environments/production.rb +0 -33
  231. data/config/environments/test.rb +0 -24
  232. data/config/environments/user_environment.rb +0 -21
  233. data/config/initializers/backtrace_silencers.rb +0 -7
  234. data/config/initializers/inflections.rb +0 -10
  235. data/config/initializers/jdbc.rb +0 -7
  236. data/config/initializers/mime_types.rb +0 -5
  237. data/config/initializers/secret_token.rb +0 -7
  238. data/config/initializers/session_store.rb +0 -8
  239. data/config/locales/en.yml +0 -200
  240. data/config/locales/no.yml +0 -193
  241. data/config/mime_types.yaml +0 -1
  242. data/config/routes.rb +0 -5
  243. data/config/war.rb +0 -27
  244. data/config/warble.rb +0 -84
  245. data/cruise_build.sh +0 -14
  246. data/cruise_config.rb +0 -5
  247. data/db/migrate/001_create_tasks.rb +0 -22
  248. data/db/migrate/003_add_estimation_points.rb +0 -16
  249. data/db/migrate/004_add_period.rb +0 -63
  250. data/db/migrate/005_add_field_work_started_at.rb +0 -9
  251. data/db/migrate/006_works_data_fix.rb +0 -13
  252. data/db/migrate/007_add_task_created_at.rb +0 -23
  253. data/db/migrate/008_add_backlog_options.rb +0 -13
  254. data/db/migrate/009_add_subtasks.rb +0 -29
  255. data/db/migrate/010_add_work_start.rb +0 -9
  256. data/db/migrate/011_login_sugar.rb +0 -21
  257. data/db/migrate/012_add_resolution.rb +0 -12
  258. data/db/migrate/013_create_estimates.rb +0 -20
  259. data/db/migrate/014_add_customer_option.rb +0 -11
  260. data/db/migrate/015_add_user_option.rb +0 -33
  261. data/db/migrate/016_add_invoicable_flag.rb +0 -11
  262. data/db/migrate/017_increase_backlog_name_limit.rb +0 -10
  263. data/db/migrate/018_create_groups.rb +0 -118
  264. data/db/migrate/019_remove_unique_index_for_period_position.rb +0 -9
  265. data/db/migrate/020_create_task_files.rb +0 -17
  266. data/db/migrate/021_create_work_accounts.rb +0 -111
  267. data/db/migrate/022_remove_track_done_flag.rb +0 -9
  268. data/db/migrate/023_add_indices_for_burn_down_chart.rb +0 -13
  269. data/db/migrate/024_add_sprint_option.rb +0 -10
  270. data/db/migrate/025_add_simple_auditing_of_tasks.rb +0 -11
  271. data/db/migrate/026_add_users_to_tasks.rb +0 -14
  272. data/db/migrate/027_create_work_locks.rb +0 -25
  273. data/db/migrate/028_create_absences.rb +0 -34
  274. data/db/migrate/029_add_work_comments.rb +0 -9
  275. data/db/migrate/030_create_public_holidays.rb +0 -11
  276. data/db/migrate/031_expand_work_done_precision.rb +0 -9
  277. data/db/migrate/20100720124707_merge_work_account_into_backlog.rb +0 -74
  278. data/db/migrate/20101006092700_rename_backlogs_to_projects.rb +0 -22
  279. data/db/migrate/20101006092700_rename_backlogs_to_projects.rb~ +0 -22
  280. data/db/schema.rb +0 -159
  281. data/db/seeds.rb +0 -7
  282. data/db/test.db +0 -0
  283. data/etc/backlog.conf +0 -32
  284. data/ext/mkrf_conf.rb +0 -26
  285. data/lib/class_table_inheritance.rb +0 -224
  286. data/lib/postgresql-8.2-504.jdbc4.jar +0 -0
  287. data/lib/tasks/jdbc.rake +0 -8
  288. data/lib/url_for_fix.rb +0 -30
  289. data/nbproject/private/config.properties +0 -0
  290. data/nbproject/private/private.properties +0 -1
  291. data/nbproject/private/private.xml +0 -4
  292. data/nbproject/private/rake-t.txt +0 -95
  293. data/nbproject/project.properties +0 -4
  294. data/nbproject/project.xml +0 -9
  295. data/public/404.html +0 -26
  296. data/public/422.html +0 -26
  297. data/public/500.html +0 -26
  298. data/public/Frav/303/246rsskjema.xls +0 -0
  299. data/public/applets/bsf.jar +0 -0
  300. data/public/applets/jruby.jar +0 -0
  301. data/public/favicon.ico +0 -0
  302. data/public/images/add.png +0 -0
  303. data/public/images/add.svg +0 -70
  304. data/public/images/ajax-loading.gif +0 -0
  305. data/public/images/appunti_architetto_franc_01.svg +0 -92
  306. data/public/images/arrow-down.gif +0 -0
  307. data/public/images/arrow-up.gif +0 -0
  308. data/public/images/arrow07_2.png +0 -0
  309. data/public/images/arrow07_4.png +0 -0
  310. data/public/images/arrow_down.png +0 -0
  311. data/public/images/arrow_down.svg +0 -59
  312. data/public/images/arrow_left.png +0 -0
  313. data/public/images/arrow_left.svg +0 -59
  314. data/public/images/arrow_right.png +0 -0
  315. data/public/images/arrow_right.svg +0 -59
  316. data/public/images/arrow_up.png +0 -0
  317. data/public/images/arrow_up.svg +0 -59
  318. data/public/images/black-70.png +0 -0
  319. data/public/images/black.png +0 -0
  320. data/public/images/blank.jpg +0 -0
  321. data/public/images/blank.png +0 -0
  322. data/public/images/cestino_pieno_architetto_01.svg +0 -470
  323. data/public/images/checkmark.png +0 -0
  324. data/public/images/checkmark_org.png +0 -0
  325. data/public/images/clipboard.png +0 -0
  326. data/public/images/clipboard.svg +0 -62
  327. data/public/images/construction_hammer_jon__01.svg +0 -116
  328. data/public/images/delete.png +0 -0
  329. data/public/images/email.png +0 -0
  330. data/public/images/email_grey.png +0 -0
  331. data/public/images/eraser.png +0 -0
  332. data/public/images/eraser_org.png +0 -0
  333. data/public/images/ernes_stop.png +0 -0
  334. data/public/images/ernes_stop_org.png +0 -0
  335. data/public/images/flag_red.png +0 -0
  336. data/public/images/flag_yellow.png +0 -0
  337. data/public/images/grab.png +0 -0
  338. data/public/images/grab_gray.png +0 -0
  339. data/public/images/group.png +0 -0
  340. data/public/images/hammer.png +0 -0
  341. data/public/images/header.jpg +0 -0
  342. data/public/images/nextlabel.gif +0 -0
  343. data/public/images/pagebak.jpg +0 -0
  344. data/public/images/paper3.svg +0 -54
  345. data/public/images/period.png +0 -0
  346. data/public/images/period_org.png +0 -0
  347. data/public/images/person.org.png +0 -0
  348. data/public/images/prevlabel.gif +0 -0
  349. data/public/images/question.svg +0 -56
  350. data/public/images/rails.png +0 -0
  351. data/public/images/refresh.png +0 -0
  352. data/public/images/rmagick.gif +0 -0
  353. data/public/images/rmagick_270.gif +0 -0
  354. data/public/images/tabella_architetto_franc_01.svg +0 -105
  355. data/public/images/task.png +0 -0
  356. data/public/images/text-x-generic.png +0 -0
  357. data/public/images/user group.png +0 -0
  358. data/public/images/user.png +0 -0
  359. data/public/images/view_fullscreen.png +0 -0
  360. data/public/images/work_account.png +0 -0
  361. data/public/javascripts/application.js +0 -2
  362. data/public/javascripts/builder.js +0 -136
  363. data/public/javascripts/controls.js +0 -965
  364. data/public/javascripts/dragdrop.js +0 -974
  365. data/public/javascripts/effects.js +0 -1123
  366. data/public/javascripts/lightwindow.js +0 -1921
  367. data/public/javascripts/prototype.js +0 -6001
  368. data/public/javascripts/rails.js +0 -175
  369. data/public/javascripts/ruby.js +0 -46
  370. data/public/javascripts/scriptaculous.js +0 -58
  371. data/public/javascripts/slider.js +0 -275
  372. data/public/javascripts/sound.js +0 -55
  373. data/public/javascripts/unittest.js +0 -568
  374. data/public/javascripts/zapatec/utils/transport.js +0 -2217
  375. data/public/javascripts/zapatec/utils/utils.js +0 -1799
  376. data/public/javascripts/zapatec/utils/zapatec.js +0 -90
  377. data/public/javascripts/zapatec/utils/zpeventdriven.js +0 -212
  378. data/public/javascripts/zapatec/utils/zpwidget.js +0 -729
  379. data/public/javascripts/zapatec/zpcal/lang/calendar-no.js +0 -124
  380. data/public/javascripts/zapatec/zpcal/src/calendar-core.js +0 -2878
  381. data/public/javascripts/zapatec/zpcal/src/calendar-date-core.js +0 -348
  382. data/public/javascripts/zapatec/zpcal/src/calendar-setup.js +0 -360
  383. data/public/javascripts/zapatec/zpcal/src/calendar.js +0 -35
  384. data/public/robots.txt +0 -5
  385. data/public/stylesheets/backlog.css +0 -135
  386. data/public/stylesheets/lightwindow.css +0 -376
  387. data/public/stylesheets/mwrt002.css +0 -54
  388. data/public/stylesheets/mwrt002MAC.css +0 -3
  389. data/public/stylesheets/mwrt002NN.css +0 -3
  390. data/public/stylesheets/scaffold.css +0 -74
  391. data/public/stylesheets/user.css +0 -74
  392. data/public/stylesheets/zpcal/themes/green.css +0 -153
  393. data/public/stylesheets/zpcal/themes/layouts/layout-2d.css +0 -134
  394. data/public/stylesheets/zpcal/themes/layouts/layout-common.css +0 -74
  395. data/public/stylesheets/zpcal/themes/menuarrow.gif +0 -0
  396. data/public/stylesheets/zpcal/themes/scroller-down.gif +0 -0
  397. data/public/stylesheets/zpcal/themes/scroller-up.gif +0 -0
  398. data/script/rails +0 -6
  399. data/test/client/login.rb +0 -23
  400. data/test/client/login_test.rb +0 -64
  401. data/test/client/setup.rb +0 -25
  402. data/test/fixtures/absences.yml +0 -11
  403. data/test/fixtures/configurations.yml +0 -5
  404. data/test/fixtures/customers.yml +0 -7
  405. data/test/fixtures/estimates.yml +0 -10
  406. data/test/fixtures/groups.yml +0 -6
  407. data/test/fixtures/groups_users.yml +0 -3
  408. data/test/fixtures/parties.yml +0 -32
  409. data/test/fixtures/periods.yml +0 -24
  410. data/test/fixtures/projects.yml +0 -8
  411. data/test/fixtures/public_holidays.yml +0 -7
  412. data/test/fixtures/task_files.yml +0 -13
  413. data/test/fixtures/tasks.yml +0 -82
  414. data/test/fixtures/users.yml +0 -59
  415. data/test/fixtures/work_lock_subscriptions.yml +0 -7
  416. data/test/fixtures/work_locks.yml +0 -11
  417. data/test/fixtures/works.yml +0 -47
  418. data/test/functional/absences_controller_test.rb +0 -93
  419. data/test/functional/customers_controller_test.rb +0 -93
  420. data/test/functional/dashboard_controller_test.rb +0 -18
  421. data/test/functional/estimates_controller_test.rb +0 -40
  422. data/test/functional/groups_controller_test.rb +0 -120
  423. data/test/functional/parties_controller_test.rb +0 -35
  424. data/test/functional/periods_controller_test.rb +0 -297
  425. data/test/functional/projects_controller_test.rb +0 -152
  426. data/test/functional/public_holidays_controller_test.rb +0 -93
  427. data/test/functional/search_controller_test.rb +0 -24
  428. data/test/functional/task_files_controller_test.rb +0 -29
  429. data/test/functional/tasks_controller_test.rb +0 -229
  430. data/test/functional/user_controller_test.rb +0 -261
  431. data/test/functional/welcome_controller_test.rb +0 -62
  432. data/test/functional/work_locks_controller_test.rb +0 -93
  433. data/test/functional/works_controller_test.rb +0 -220
  434. data/test/integration/user_system_test.rb +0 -95
  435. data/test/mocks/test/clock.rb +0 -14
  436. data/test/performance/browsing_test.rb +0 -9
  437. data/test/performance/common.rb +0 -91
  438. data/test/performance/jetty_test.rb +0 -15
  439. data/test/performance/server_test.rb +0 -17
  440. data/test/test_helper.rb +0 -119
  441. data/test/test_helper.rb~ +0 -121
  442. data/test/unit/absence_test.rb +0 -29
  443. data/test/unit/big_decimal_yaml_fix_test.rb +0 -15
  444. data/test/unit/configuration_test.rb +0 -10
  445. data/test/unit/customer_test.rb +0 -10
  446. data/test/unit/estimate_test.rb +0 -10
  447. data/test/unit/group_test.rb +0 -10
  448. data/test/unit/party_test.rb +0 -10
  449. data/test/unit/period_test.rb +0 -9
  450. data/test/unit/public_holiday_test.rb +0 -10
  451. data/test/unit/task_file_test.rb +0 -10
  452. data/test/unit/task_test.rb +0 -73
  453. data/test/unit/time_of_day_test.rb +0 -23
  454. data/test/unit/user_test.rb +0 -148
  455. data/test/unit/work_lock_subscription_test.rb +0 -10
  456. data/test/unit/work_lock_test.rb +0 -10
  457. data/test/unit/work_test.rb +0 -81
  458. data/vendor/plugins/acts_as_list/README +0 -23
  459. data/vendor/plugins/acts_as_list/init.rb +0 -3
  460. data/vendor/plugins/acts_as_list/lib/active_record/acts/list.rb +0 -256
  461. data/vendor/plugins/acts_as_list/test/list_test.rb +0 -332
  462. data/vendor/plugins/acts_as_tree/README +0 -26
  463. data/vendor/plugins/acts_as_tree/Rakefile +0 -22
  464. data/vendor/plugins/acts_as_tree/init.rb +0 -1
  465. data/vendor/plugins/acts_as_tree/lib/active_record/acts/tree.rb +0 -96
  466. data/vendor/plugins/acts_as_tree/test/abstract_unit.rb +0 -0
  467. data/vendor/plugins/acts_as_tree/test/acts_as_tree_test.rb +0 -219
  468. data/vendor/plugins/acts_as_tree/test/database.yml +0 -0
  469. data/vendor/plugins/acts_as_tree/test/fixtures/mixin.rb +0 -0
  470. data/vendor/plugins/acts_as_tree/test/fixtures/mixins.yml +0 -0
  471. data/vendor/plugins/acts_as_tree/test/schema.rb +0 -0
  472. data/vendor/plugins/assert_cookie/MIT-LICENSE +0 -7
  473. data/vendor/plugins/assert_cookie/README +0 -6
  474. data/vendor/plugins/assert_cookie/Rakefile +0 -21
  475. data/vendor/plugins/assert_cookie/init.rb +0 -1
  476. data/vendor/plugins/assert_cookie/lib/assert_cookie.rb +0 -73
  477. data/vendor/plugins/assert_cookie/meta.yml +0 -7
  478. data/vendor/plugins/assert_cookie/test/test_assert_cookie.rb +0 -124
  479. data/vendor/plugins/assert_cookie/test/test_helper.rb +0 -31
  480. data/vendor/plugins/auto_complete/README +0 -23
  481. data/vendor/plugins/auto_complete/Rakefile +0 -22
  482. data/vendor/plugins/auto_complete/init.rb +0 -2
  483. data/vendor/plugins/auto_complete/lib/auto_complete.rb +0 -47
  484. data/vendor/plugins/auto_complete/lib/auto_complete_macros_helper.rb +0 -143
  485. data/vendor/plugins/auto_complete/test/auto_complete_test.rb +0 -67
  486. data/vendor/plugins/backlog_jira/init.rb +0 -66
  487. data/vendor/plugins/dynamic_form/MIT-LICENSE +0 -20
  488. data/vendor/plugins/dynamic_form/README +0 -13
  489. data/vendor/plugins/dynamic_form/Rakefile +0 -10
  490. data/vendor/plugins/dynamic_form/dynamic_form.gemspec +0 -12
  491. data/vendor/plugins/dynamic_form/init.rb +0 -1
  492. data/vendor/plugins/dynamic_form/lib/action_view/helpers/dynamic_form.rb +0 -300
  493. data/vendor/plugins/dynamic_form/lib/action_view/locale/en.yml +0 -8
  494. data/vendor/plugins/dynamic_form/lib/dynamic_form.rb +0 -5
  495. data/vendor/plugins/dynamic_form/test/dynamic_form_i18n_test.rb +0 -42
  496. data/vendor/plugins/dynamic_form/test/dynamic_form_test.rb +0 -370
  497. data/vendor/plugins/dynamic_form/test/test_helper.rb +0 -9
  498. data/vendor/plugins/has_history/README +0 -12
  499. data/vendor/plugins/has_history/Rakefile +0 -22
  500. data/vendor/plugins/has_history/generators/history_migration/history_migration_generator.rb +0 -30
  501. data/vendor/plugins/has_history/generators/history_migration/templates/migration.rb +0 -14
  502. data/vendor/plugins/has_history/generators/history_model/history_model_generator.rb +0 -39
  503. data/vendor/plugins/has_history/generators/history_model/templates/fixtures.yml +0 -17
  504. data/vendor/plugins/has_history/generators/history_model/templates/functional_test.rb +0 -129
  505. data/vendor/plugins/has_history/generators/history_model/templates/migration.rb +0 -14
  506. data/vendor/plugins/has_history/generators/history_model/templates/model.rb +0 -4
  507. data/vendor/plugins/has_history/generators/history_model/templates/unit_test.rb +0 -75
  508. data/vendor/plugins/has_history/init.rb +0 -5
  509. data/vendor/plugins/has_history/install.rb +0 -1
  510. data/vendor/plugins/has_history/lib/has_history.rb +0 -178
  511. data/vendor/plugins/has_history/lib/tasks/has_history_tasks.rake +0 -4
  512. data/vendor/plugins/has_history/test/has_history_test.rb +0 -31
  513. data/vendor/plugins/has_history/test/ignorant_master.rb +0 -3
  514. data/vendor/plugins/has_history/test/ignorant_master_history.rb +0 -4
  515. data/vendor/plugins/has_history/test/lone_master.rb +0 -42
  516. data/vendor/plugins/has_history/test/paired_master.rb +0 -5
  517. data/vendor/plugins/has_history/test/paired_master_history.rb +0 -5
  518. data/vendor/plugins/has_history/test/test_helper.rb +0 -154
  519. data/vendor/plugins/has_history/uninstall.rb +0 -1
  520. data/vendor/plugins/prototype_legacy_helper/lib/prototype_legacy_helper.rb +0 -432
  521. data/vendor/plugins/prototype_legacy_helper/test/test_prototype_helper.rb +0 -297
  522. data/vendor/plugins/rails_time/MIT-LICENSE +0 -20
  523. data/vendor/plugins/rails_time/README +0 -28
  524. data/vendor/plugins/rails_time/init.rb +0 -2
  525. data/vendor/plugins/rails_time/lib/activerecord_time_extension.rb +0 -28
  526. data/vendor/plugins/rails_time/lib/time_of_day.rb +0 -88
  527. data/vendor/plugins/rails_time/test/database.yml +0 -18
  528. data/vendor/plugins/rails_time/test/debug.log +0 -1
  529. data/vendor/plugins/rails_time/test/rails_time_test.rb +0 -122
  530. data/vendor/plugins/rails_time/test/schema.rb +0 -10
  531. data/vendor/plugins/rails_time/test/test_helper.rb +0 -17
  532. data/vendor/plugins/verification/MIT-LICENSE +0 -20
  533. data/vendor/plugins/verification/README +0 -34
  534. data/vendor/plugins/verification/Rakefile +0 -22
  535. data/vendor/plugins/verification/init.rb +0 -3
  536. data/vendor/plugins/verification/lib/action_controller/verification.rb +0 -132
  537. data/vendor/plugins/verification/test/test_helper.rb +0 -18
  538. data/vendor/plugins/verification/test/verification_test.rb +0 -270
  539. data/vendor/plugins/will_paginate/LICENSE +0 -18
  540. data/vendor/plugins/will_paginate/README +0 -138
  541. data/vendor/plugins/will_paginate/Rakefile +0 -27
  542. data/vendor/plugins/will_paginate/init.rb +0 -4
  543. data/vendor/plugins/will_paginate/lib/will_paginate.rb +0 -61
  544. data/vendor/plugins/will_paginate/lib/will_paginate/collection.rb +0 -132
  545. data/vendor/plugins/will_paginate/lib/will_paginate/core_ext.rb +0 -80
  546. data/vendor/plugins/will_paginate/lib/will_paginate/finder.rb +0 -181
  547. data/vendor/plugins/will_paginate/lib/will_paginate/view_helpers.rb +0 -206
  548. data/vendor/plugins/will_paginate/test/array_pagination_test.rb +0 -131
  549. data/vendor/plugins/will_paginate/test/boot.rb +0 -23
  550. data/vendor/plugins/will_paginate/test/console +0 -9
  551. data/vendor/plugins/will_paginate/test/finder_test.rb +0 -290
  552. data/vendor/plugins/will_paginate/test/fixtures/admin.rb +0 -3
  553. data/vendor/plugins/will_paginate/test/fixtures/developer.rb +0 -11
  554. data/vendor/plugins/will_paginate/test/fixtures/developers_projects.yml +0 -13
  555. data/vendor/plugins/will_paginate/test/fixtures/project.rb +0 -15
  556. data/vendor/plugins/will_paginate/test/fixtures/projects.yml +0 -7
  557. data/vendor/plugins/will_paginate/test/fixtures/replies.yml +0 -34
  558. data/vendor/plugins/will_paginate/test/fixtures/reply.rb +0 -5
  559. data/vendor/plugins/will_paginate/test/fixtures/schema.rb +0 -38
  560. data/vendor/plugins/will_paginate/test/fixtures/topic.rb +0 -4
  561. data/vendor/plugins/will_paginate/test/fixtures/topics.yml +0 -30
  562. data/vendor/plugins/will_paginate/test/fixtures/user.rb +0 -2
  563. data/vendor/plugins/will_paginate/test/fixtures/users.yml +0 -35
  564. data/vendor/plugins/will_paginate/test/helper.rb +0 -25
  565. data/vendor/plugins/will_paginate/test/lib/activerecord_test_case.rb +0 -23
  566. data/vendor/plugins/will_paginate/test/lib/activerecord_test_connector.rb +0 -67
  567. data/vendor/plugins/will_paginate/test/lib/load_fixtures.rb +0 -13
  568. data/vendor/plugins/will_paginate/test/pagination_test.rb +0 -240
@@ -1,115 +0,0 @@
1
- <tr id="work_<%=@work.id%>" style="border: 1px solid black; vertical-align: top">
2
- <td>
3
- <% remote_form_for :work, :url => {:action => :update_row, :id => @work.id, :next_field => :description}, :html => {:id => "work_#{@work.id}_form"} do |f|%>
4
- <%=f.select :project_id, @projects.map {|wa| [wa.name, wa.id]}, {}, :id => "work_#{@work.id}_project_id", :onchange => "new Ajax.Request('/works/update_row/#{@work.id}?next_field=customer_id', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)})"%>
5
- <% end %>
6
- </td>
7
- <td>
8
- <% field = 'description' %>
9
- <% next_field = 'start_time' %>
10
- <% previous_row_id = previous_row_id %>
11
- <% remote_form_for :work, :url => {:action => :update_row, :id => @work.id, :field=>field, :next_field => next_field} do |f|%>
12
- <%=text_field :work, field, :id => "work_#{@work.id}_#{field}",
13
- :class => ('task_time' if field=~/_time$/),
14
- :onchange => "new Ajax.Request('/works/update_row/#{@work.id}?field=#{field}&next_field=#{next_field}', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)});",
15
- :onkeypress => "
16
- if(event.ctrlKey && event.keyCode == 40) { // CTRL-Down-arrow
17
- $('work#{"_#{@work.id}"}_notes_div').style.visibility = 'visible';
18
- e = $('work_#{@work.id}_notes');
19
- e.focus();
20
- // e.select();
21
- } else if(event.keyCode == 40) { // Down-arrow
22
- e = $('work#{"_#{next_row_id}" if next_row_id}_#{field}');
23
- e.focus();
24
- e.select();
25
- } else if(event.keyCode == 38) { // Up-arrow
26
- e = $('work#{"_#{previous_row_id}" if previous_row_id}_#{field}');
27
- e.focus();
28
- e.select();
29
- }",
30
- :value => (field=~/_time$/ ? @work.send(field) && @work.send(field).strftime('%H:%M') : @work.send(field) )
31
- %>
32
- <% field = 'notes' %>
33
- <% next_field = 'description' %>
34
- <div id="work_<%=@work.id%>_notes_div" style="visibility: hidden; position: absolute; opacity: .8">
35
- <%=text_area :work, :notes, :id => "work_#{@work.id}_#{field}",
36
- :onchange => "new Ajax.Request('/works/update_row/#{@work.id}?field=#{field}&next_field=#{next_field}', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)});",
37
- :onkeypress => "
38
- if(event.ctrlKey && event.keyCode == 38) { // CTRL-UP-arrow
39
- e = $('work_#{@work.id}_description');
40
- e.focus();
41
- //e.select();
42
- } else if(event.keyCode == 38) { // Up-arrow
43
- notes_field = $('work_#{@work.id}_#{field}');
44
- if (notes_field.selectionStart == 0 || notes_field.value.indexOf('\\n') == -1 || notes_field.value.indexOf('\\n') > notes_field.selectionStart) {
45
- description_field = $('work_#{@work.id}_description');
46
- description_field.focus();
47
- //description_field.select();
48
- return false;
49
- }
50
- }",
51
- :onBlur => "
52
- $('work#{"_#{@work.id}"}_notes_div').style.visibility = 'hidden';
53
- ",
54
- :value => @work.send(field),
55
- :cols => 80
56
- %>
57
- </div>
58
- <% end %>
59
- </td>
60
- <td align="right">
61
- <%=render :partial => 'row_field', :locals => {:field => 'start_time',
62
- :next_field => 'completed_at_time', :next_row_id => next_row_id, :previous_row_id => previous_row_id} %>
63
- </td>
64
- <td align="left">
65
- <%=render :partial => 'row_field', :locals => {:field => 'completed_at_time',
66
- :next_field => 'hours_time', :next_row_id => next_row_id, :previous_row_id => previous_row_id} %>
67
- </td>
68
- <td align="right">
69
- <% remote_form_for :work, :url => {:action => :update_row, :id => @work.id, :next_field => :task_id} do |f|%>
70
- <%=f.text_field :hours_time, :value => (@work.hours && @work.hours > 0 ? t(@work.hours) : ''), :id => "work_#{@work.id}_hours_time", :class => 'task_hours',
71
- :onkeypress => "
72
- if(event.keyCode == 40) {
73
- e = $('work#{"_#{next_row_id}" if next_row_id}_hours_time');
74
- e.focus();
75
- e.select();
76
- } else if(event.keyCode == 38) {
77
- e = $('work#{"_#{previous_row_id}" if previous_row_id}_hours_time');
78
- e.focus();
79
- e.select();
80
- }",
81
- :onchange => "new Ajax.Request('/works/update_row/#{@work.id}?next_field=task_id', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)})"%>
82
- <% end %>
83
- </td>
84
- <td align="right" style="width: 6em" nowrap="true">
85
- <% remote_form_for :work, :url => {:action => :update_row, :id => @work.id, :next_field => :invoice} do |f|%>
86
- <%=text_field_with_auto_complete "work_#{@work.id}", :task_id,
87
- {:name => "work[task_id]", :value => @work.task_id, :class => :task_id, :onchange => "new Ajax.Request('/works/update_row/#{@work.id}?next_field=invoice', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)})"},
88
- {:url => url_for(:action => :auto_complete_for_work_task_id), :with => "'work[task_id]=' + $('work_#{@work.id}_task_id').value"} %>
89
- <% if @work.task_id %>
90
- <%=image_detour_to('task.png', "#{l :task}: #{@work.task.description}", {:controller => 'tasks', :action => :edit, :id => @work.task.id})%>
91
- <% end %>
92
- <% end %>
93
- </td>
94
- <td style="text-align: left">
95
- <% remote_form_for :work, :url => {:action => :update_row, :id => @work.id} do |f|%>
96
- <%=f.check_box :invoice, :id => "work_#{@work.id}_invoice", :onchange => "new Ajax.Request('/works/update_row/#{@work.id}?next_field=invoice', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)})"%>
97
- <% end %>
98
- </td>
99
- <td>
100
- <% remote_form_for :work, :url => {:action => :update_row, :id => @work.id, :next_field => :description} do |f|%>
101
- <%=f.select :customer_id, [['', '']] + @customers.map {|cu| [cu.name, cu.id]}, {}, :id => "work_#{@work.id}_customer_id", :onchange => "new Ajax.Request('/works/update_row/#{@work.id}?next_field=description', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)})"%>
102
- <% end %>
103
- </td>
104
- <td>
105
- <%=image_detour_to('delete.png', l(:delete), {:controller => 'works', :action => :destroy, :id => @work, :confirm => true}, nil, true)%>
106
- </td>
107
- </tr>
108
-
109
- <tr id="work_<%=@work.id%>_task_description">
110
- <% if @work.task %>
111
- <td colspan="2" align="right">
112
- <%=l :task%>: <%=h @work.task.description_with_parents if @work.task%>
113
- </td>
114
- <% end %>
115
- </tr>
@@ -1,17 +0,0 @@
1
- <% remote_form_for :work, :url => {:action => :update_row, :id => @work.id, :field=>field, :next_field => next_field} do |f|%>
2
- <%=text_field :work, field, :id => "work_#{@work.id}_#{field}",
3
- :class => ('task_time' if field=~/_time$/),
4
- :onchange => "new Ajax.Request('/works/update_row/#{@work.id}?field=#{field}&next_field=#{next_field}', {asynchronous:true, evalScripts:true, parameters:Form.serialize(form)});",
5
- :onkeypress => "
6
- if(event.keyCode == 40) { // Down-arrow
7
- e = $('work#{"_#{next_row_id}" if next_row_id}_#{field}');
8
- e.focus();
9
- e.select();
10
- } else if(event.keyCode == 38) { // Up-arrow
11
- e = $('work#{"_#{previous_row_id}" if previous_row_id}_#{field}');
12
- e.focus();
13
- e.select();
14
- }",
15
- :value => (field=~/_time$/ ? @work.send(field) && @work.send(field).strftime('%H:%M') : @work.send(field) )
16
- %>
17
- <% end %>
@@ -1,5 +0,0 @@
1
- <ul class="tasks" style="width: 30em; background: white">
2
- <% for task in @tasks do -%>
3
- <li><div style="width: 40em"><%=task.id%><span class="informal"> <%="#{h task.root_task.project.name}: " unless @project%><%=h task.description %></span></div></li>
4
- <% end -%>
5
- </ul>
@@ -1,22 +0,0 @@
1
- <% user_parameter = @user != current_user ? @user.id : nil %>
2
-
3
- <div style="float: left"><%=link_to(image_tag('arrow_left.png'), :year => (@week > 1 ? @year : @year - 1), :week => (@week > 1 ? @week - 1 : 52), :user_id => user_parameter)%></div>
4
- <div style="float: right"><%=link_to(image_tag('arrow_right.png'), :year => (@week < 52 ? @year : @year + 1), :week => (@week < 52 ? @week + 1 : 1), :user_id => user_parameter)%></div>
5
-
6
- <div align="right">
7
- <% lock_action = @lock ? :unlock : :lock %>
8
- [<%=link_to l(lock_action), with_detour(:controller => 'work_locks', :action => lock_action, :year => @year, :week => @week) %>]
9
- <%unless controller.action_name == 'weekly_work_sheet'%>
10
- [<%=link_to l(:totals), :action => :weekly_work_sheet, :year => @year, :week => @week %>]
11
- <% end %>
12
- <%unless controller.action_name == 'weekly_work_sheet_details'%>
13
- [<%=link_to l(:details), :action => :weekly_work_sheet_details, :year => @year, :week => @week %>]
14
- <% end %>
15
- <% if @lock %>
16
- [<%=link_to l(:spreadsheet), :action => :timeliste, :year => @year, :week => @week %>]
17
- <% else %>
18
- [<%=detour_to l(:new_work), :controller => 'works', :action => :new %>]
19
- <% end %>
20
- </div>
21
-
22
- <br clear="all" />
@@ -1,108 +0,0 @@
1
- <% @page_title = "#{l :daily_work_sheet} on #{@date}" + (" for #{@user.name}" if user?) %>
2
-
3
- <div id="spotlight">
4
-
5
- <% user_parameter = @user != current_user ? @user.id : nil %>
6
-
7
- <div style="float: left"><%=image_link_to('arrow_left.png', l(:previous_week), {:id => @date - 7, :user_id => user_parameter}, :class => nil)%></div>
8
- <div style="float: left"><%=image_link_to('arrow_left.png', l(:previous_day), {:id => @date-1, :user_id => user_parameter}, :class => nil)%></div>
9
- <%=link_to l(:weekly_work_sheet), :action => :weekly_work_sheet, :year => @year, :week => @week, :user_id => user_parameter%>
10
- <div style="float: right"><%=image_link_to('arrow_right.png', l(:next_week), {:id => @date + 7, :user_id => user_parameter}, :class => nil)%></div>
11
- <div style="float: right"><%=image_link_to('arrow_right.png', l(:next_day), {:id => @date+1, :user_id => user_parameter}, :class => nil)%></div>
12
-
13
- <br clear="all" />
14
-
15
- <table>
16
- <tr>
17
- <td>
18
- <div id="absence">
19
- <% work_disabled = !@works.empty? && (@absence.nil? || @absence.reason.nil? || @absence.reason.empty?) %>
20
- <% absence_disabled = @public_holiday %>
21
- <% form_for :absence, :html => {:id => :absence_form}, :url => with_detour({:controller => 'absences', :action => :create}) do |f| %>
22
- <%=f.hidden_field :on, :value => @date %>
23
- <%=f.radio_button :reason, '', :disabled => work_disabled, :checked => @absence.nil? && (!@works.empty? || @public_holiday.nil?), :onchange => 'form.submit()' %><label for="absence_reason_">Work day</label>
24
- <%=f.radio_button :reason, 'HOLIDAY', :disabled => absence_disabled, :onchange => 'form.submit()' %><label for="absence_reason_holiday"><%=l :holiday%></label>
25
- <%=f.radio_button :reason, 'SICK', :disabled => absence_disabled, :onchange => 'form.submit()' %><label for="absence_reason_sick">Sick day</label>
26
- <%=f.radio_button :reason, 'SICK_CHILD', :disabled => absence_disabled, :onchange => 'form.submit()' %><label for="absence_reason_sick_child">Sick child</label>
27
- <%=f.radio_button :reason, 'SICK_WITH_DOCTOR', :disabled => absence_disabled, :onchange => 'form.submit()' %><label for="absence_reason_sick_with_doctor">Sick day with doctor's note</label>
28
- <% end %>
29
- </div>
30
- </td>
31
- <td>
32
- <div id="public_holiday">
33
- <% form_for :public_holiday, :html => {:id => :public_holiday_form}, :url => with_detour({:controller => 'public_holidays', :action => :mark}) do |f| %>
34
- <%=f.hidden_field :on, :value => @date %>
35
- <%=f.check_box :marked, :checked => !@public_holiday.nil?, :onchange => 'form.submit()' %><label for="public_holiday_marked"><%=l :public_holiday%></label>
36
- <% end %>
37
- </div>
38
- </td>
39
- </tr>
40
- </table>
41
-
42
- <br clear="all" />
43
-
44
- <table>
45
-
46
- <tr>
47
- <th><%=l :account %></th>
48
- <th><%=l :description %></th>
49
- <th id="start_time_header"><%=l :started_at %></th>
50
- <th><%=l :completed_at %></th>
51
- <th><%=l :done %></th>
52
- <th><%=l :task %></th>
53
- <th id="invoice_header"><%=l :invoice %></th>
54
- <th><%=l :customer %></th>
55
- <th id="icons_header" />
56
- </tr>
57
-
58
- <% day_total = BigDecimal('0.0') %>
59
- <% @works.each_with_index do |@work, i| %>
60
- <% day_total += @work.hours if @work %>
61
- <%=render :partial => 'row', :locals => {:next_row_id => @works[i+1] && @works[i+1].id,
62
- :previous_row_id => @works[i-1] && @works[i-1].id} %>
63
- <% end %>
64
-
65
- <% last_work = @work %>
66
-
67
- <% @work = @new_work %>
68
- <%=render :partial => 'new_row', :locals => {:last_work => last_work} %>
69
-
70
- <% unless @works.empty? %>
71
- <tr>
72
- <td/>
73
- <th><%=l :totals %></th>
74
- <th/>
75
- <th/>
76
- <th id="hours_total" class="hours"><%=t(day_total) %></th>
77
- <th/>
78
- <th/>
79
- </tr>
80
- <% end %>
81
-
82
- </table>
83
-
84
- <%=back_or_link_to l(:back), '' %>
85
-
86
- <% if @period %>
87
- <%=link_to l(:back), :controller => 'periods', :action => :show, :id => @period %>
88
- <% end %>
89
- </div>
90
-
91
- <% if @period %>
92
- <%=render :partial => '/periods/burn_down_chart' %>
93
- <% end %>
94
-
95
- <% unless @absence %>
96
- <script type="text/JavaScript">
97
- //<!--
98
- var start_field;
99
- <% if last_work.nil? || last_work.completed_at %>
100
- start_field = $('work_project_id');
101
- <% else %>
102
- start_field = $('work_<%=last_work.id%>_completed_at_time');
103
- <% end %>
104
- start_field.focus();
105
- start_field.select();
106
- //-->
107
- </script>
108
- <% end %>
@@ -1,11 +0,0 @@
1
- <div id="spotlight">
2
- <% @page_title = "#{l :editing} #{:work}" %>
3
-
4
- <% form_tag :action => 'update', :id => @work do %>
5
- <%= submit_tag l(:save), :style => 'display: none' %>
6
- <%= render :partial => 'form' %>
7
- <%= submit_tag l(:save) %>
8
- <%= back_or_link_to l(:back), :controller => 'periods', :action => 'list_work', :id => (@work.task && @work.task.period) %>
9
- <% end %>
10
-
11
- </div>
@@ -1,148 +0,0 @@
1
- <% @page_title = l(:listing_works) + (@period ? " for #{@period}" : '') %>
2
- <div id="spotlight">
3
- <% if @period %>
4
- <%=render :partial => '/periods/title' %>
5
- <% end %>
6
-
7
- <% if @report_filter %>
8
- <% form_for :report_filter, :html => {:method => :get} do |f| %>
9
- <table>
10
- <tr>
11
- <td coslpan="3">
12
- <label for="report_filter_project_id"><%=l :project%></label>
13
- </td>
14
- <td>
15
- <%=f.select :project_id, [[l(:all), nil]] + @projects.map{|wa|[wa.name, wa.id]}, {}, {:onchange => 'form.submit()'} %>
16
- </td>
17
- </tr>
18
- <tr>
19
- <td>
20
- <label for="report_filter_start_on"><%=l :start_on%></label>
21
- </td>
22
- <td>
23
- <%=f.text_field 'start_on', :size => 16, :value => @report_filter.start_on ? @report_filter.start_on.strftime('%Y-%m-%d') : nil %>
24
- <button id="trigger1">...</button>
25
- <script type="text/javascript">//<![CDATA[
26
- Zapatec.Calendar.setup({
27
- firstDay : 1,
28
- showOthers : true,
29
- showsTime : true,
30
- step : 1,
31
- electric : false,
32
- inputField : "report_filter_start_on",
33
- button : "trigger1",
34
- ifFormat : "%Y-%m-%d",
35
- daFormat : "%Y/%m/%d",
36
- timeInterval : 15
37
- });
38
- //]]></script>
39
- </td>
40
- <td>
41
- <label for="report_filter_end_on"><%=l :completed_at%></label>
42
- </td>
43
- <td>
44
- <%=f.text_field 'end_on', :size => 16, :value => (@report_filter.end_on && @report_filter.end_on.strftime('%Y-%m-%d')) %>
45
- <button id="trigger2">...</button>
46
- <script type="text/javascript">//<![CDATA[
47
- Zapatec.Calendar.setup({
48
- firstDay : 1,
49
- showOthers : true,
50
- showsTime : true,
51
- step : 1,
52
- electric : false,
53
- inputField : "report_filter_end_on",
54
- button : "trigger2",
55
- ifFormat : "%Y-%m-%d",
56
- daFormat : "%Y/%m/%d",
57
- timeInterval : 15
58
- });
59
- //]]></script>
60
- </td>
61
- </tr>
62
-
63
- <tr>
64
- <td>
65
- <label for="report_filter_user_id"><%=l :user%></label>
66
- </td>
67
- <td>
68
- <%=f.select :user_id, [[l(:all), nil]] + @users.map{|user|[user.name, user.id]}, {}, {:onchange => 'form.submit()'} %>
69
- </td>
70
- <td>
71
- <label for="report_filter_invoice"><%=l :invoice%></label>
72
- </td>
73
- <td>
74
- <%=f.select :invoice, [[l(:all), nil], [l(:yes), true], [l(:no), false]], {}, {:onchange => 'form.submit()'} %>
75
-
76
- <label for="report_filter_page_size"><%=l :paging%></label>
77
- <%=f.check_box :page_size, {:checked => @report_filter.page_size == 10, :onchange => 'form.submit()'}, 10, nil %>
78
- </td>
79
- </tr>
80
- <tr>
81
- <td colspan="4" align="right">
82
- <%=submit_tag l(:search) %>
83
- </td>
84
- </tr>
85
- </table>
86
- <% end %>
87
- <% end %>
88
-
89
- <table id="summary">
90
- <tr>
91
- <th><%=l :total%>:</th>
92
- <th><%=@works.inject(BigDecimal('0')){|total, work| total += work.hours}%> <%=l(:hours).downcase%></td>
93
- <td><%=link_to l(:spreadsheet), {:export => :excel}.update(params) %></td>
94
- </tr>
95
- </table>
96
-
97
-
98
-
99
-
100
- <table>
101
- <tr>
102
- <th><%=l :user %></th>
103
- <th><%=l :done %></th>
104
- <th><%=l :project %></th>
105
- <th><%=l :description %></th>
106
- <th><%=l :invoice %></th>
107
- <th><%=l :started_at %></th>
108
- <th><%=l :completed_at %></th>
109
- </tr>
110
-
111
- <% for work in @works %>
112
- <tr>
113
- <td valign="top"><%=work.user && work.user.login %></td>
114
- <td align="right" valign="top"><%='%.2f' % work.hours %></td>
115
- <td valign="top"><%=work.project.name %></td>
116
- <%if work.task
117
- link = "Task: #{work.task.description} <br/>"
118
- else
119
- link = ""
120
- end
121
- link += h(work.description)
122
- %>
123
- <td valign="top"><%=detour_to link, :controller => 'works', :action => 'daily_work_sheet', :id => work.started_on.strftime("%Y-%m-%d"), :user_id => work.user_id %></td>
124
- <td><%=work.invoice ? t(:yes) : '' %></td>
125
- <td valign="top"><%=(work.started_at && work.started_at.strftime('%Y-%m-%d %H:%M:%S')) || work.started_on.strftime('%Y-%m-%d') %></td>
126
- <td valign="top"><%=(work.completed_at && work.completed_at.strftime('%Y-%m-%d %H:%M:%S')) || work.started_on.strftime('%Y-%m-%d') %></td>
127
- <tr>
128
- <% end %>
129
- <tr>
130
- <th><%=l :total%>:</th>
131
- <th colspan="2"><%=@works.inject(BigDecimal('0')){|total, work| total += work.hours}%> <%=l(:hours).downcase%></td>
132
- </tr>
133
- </table>
134
-
135
- <%=will_paginate @works %>
136
- <br />
137
-
138
- <% if @period %>
139
- <%=back_or_link_to l(:back), :controller => 'periods', :action => :show, :id => @period %>
140
- <% else %>
141
- <%=back_or_link_to l(:back), :controller => 'projects', :action => :show, :id => @project %>
142
- <% end %>
143
-
144
- </div>
145
-
146
- <% if @period %>
147
- <%=render :partial => '/periods/burn_down_chart' %>
148
- <% end %>
@@ -1,114 +0,0 @@
1
- <% headers["Content-Type"] = "application/vnd.ms-excel"
2
- headers["Content-Disposition"] = 'attachment; filename="export.xml"'
3
- -%>
4
- <?xml version="1.0"?>
5
- <?mso-application progid="Excel.Sheet"?>
6
- <Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet"
7
- xmlns:o="urn:schemas-microsoft-com:office:office"
8
- xmlns:x="urn:schemas-microsoft-com:office:excel"
9
- xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
10
- xmlns:html="http://www.w3.org/TR/REC-html40">
11
- <DocumentProperties xmlns="urn:schemas-microsoft-com:office:office">
12
- <Author><%=current_user.name%></Author>
13
- <% if user? %>
14
- <LastAuthor><%=user.first_name%> <%=user.last_name%></LastAuthor>
15
- <% end %>
16
- <LastPrinted>2005-11-14T13:31:53Z</LastPrinted>
17
- <Created><%=Time.now.iso8601%></Created>
18
- <LastSaved><%=Time.now.iso8601%></LastSaved>
19
- <Version>11.5606</Version>
20
- </DocumentProperties>
21
- <ExcelWorkbook xmlns="urn:schemas-microsoft-com:office:excel">
22
- <WindowHeight>9075</WindowHeight>
23
- <WindowWidth>12390</WindowWidth>
24
- <WindowTopX>90</WindowTopX>
25
- <WindowTopY>45</WindowTopY>
26
- <ProtectStructure>False</ProtectStructure>
27
- <ProtectWindows>False</ProtectWindows>
28
- </ExcelWorkbook>
29
- <Styles>
30
- <Style ss:ID="Default" ss:Name="Normal">
31
- <Alignment ss:Vertical="Top"/>
32
- </Style>
33
- <Style ss:ID="title">
34
- <Font x:Family="Swiss" ss:Size="24" ss:Bold="1"/>
35
- </Style>
36
- <Style ss:ID="header">
37
- <Font x:Family="Swiss" ss:Size="14" ss:Bold="1"/>
38
- </Style>
39
- <Style ss:ID="LongDateFormat">
40
- <NumberFormat ss:Format="dd/mm/yy\ h:mm;@"/>
41
- </Style>
42
- </Styles>
43
- <Worksheet ss:Name="<%=l(:done)%>">
44
- <Table ss:ExpandedColumnCount="256" x:FullColumns="1"
45
- x:FullRows="1">
46
- <Column ss:AutoFitWidth="1" ss:Width="100"/>
47
- <Column ss:AutoFitWidth="1" ss:Width="90"/>
48
- <Column ss:AutoFitWidth="1" ss:Width="120"/>
49
- <Column ss:AutoFitWidth="1" ss:Width="200"/>
50
- <Column ss:AutoFitWidth="1" ss:Width="60"/>
51
- <Column ss:AutoFitWidth="1" ss:Width="45"/>
52
- <Column ss:AutoFitWidth="1" ss:Width="90"/>
53
- <Column ss:AutoFitWidth="1" ss:Width="90"/>
54
- <Row>
55
- <Cell ss:StyleID="title" ss:MergeAcross="6"><Data ss:Type="String"><%=@report_filter.title%></Data></Cell>
56
- </Row>
57
- <Row ss:AutoFitHeight="0" ss:Height="6.5625">
58
- <Cell ss:MergeAcross="6"><Data ss:Type="String"></Data></Cell>
59
- </Row>
60
-
61
- <Row ss:AutoFitHeight="0" ss:Height="19.875">
62
- <Cell ss:StyleID="header"><Data ss:Type="String"><%=l :project%></Data></Cell>
63
- <Cell ss:StyleID="header"><Data ss:Type="String"><%=l :user%></Data></Cell>
64
- <Cell ss:StyleID="header"><Data ss:Type="String"><%=l :task%></Data></Cell>
65
- <Cell ss:StyleID="header"><Data ss:Type="String"><%=l :description%></Data></Cell>
66
- <Cell ss:StyleID="header"><Data ss:Type="String"><%=l :done%></Data></Cell>
67
- <Cell ss:StyleID="header"><Data ss:Type="String"><%=l :invoice_short%></Data></Cell>
68
- <Cell ss:StyleID="header"><Data ss:Type="String"><%=l :start%></Data></Cell>
69
- <Cell ss:StyleID="header"><Data ss:Type="String"><%=l :stop%></Data></Cell>
70
- </Row>
71
-
72
- <% for work in @works %>
73
- <Row>
74
- <Cell><Data ss:Type="String"><%=work.project.name %></Data></Cell>
75
- <Cell><Data ss:Type="String"><%=work.user && work.user.name %></Data></Cell>
76
- <Cell><Data ss:Type="String"><%=work.task && work.task.description %></Data></Cell>
77
- <Cell><Data ss:Type="String"><%=work.description %></Data></Cell>
78
- <Cell><Data ss:Type="Number"><%=work.hours %></Data></Cell>
79
- <Cell><Data ss:Type="String"><%=work.invoice? ? 'Ja' : 'Nei' %></Data></Cell>
80
- <Cell ss:StyleID="LongDateFormat"><Data ss:Type="DateTime"><%=work.start_time ? work.started_on.at(work.start_time).strftime('%Y-%m-%dT%H:%M:%S') : work.started_on.strftime('%Y-%m-%d') %></Data></Cell>
81
- <% if work.completed_at %>
82
- <Cell ss:StyleID="LongDateFormat"><Data ss:Type="DateTime"><%=work.completed_at.strftime('%Y-%m-%dT%H:%M:%S') %></Data></Cell>
83
- <% end %>
84
-
85
- </Row>
86
-
87
- <% end %>
88
-
89
- </Table>
90
- <WorksheetOptions xmlns="urn:schemas-microsoft-com:office:excel">
91
- <PageSetup>
92
- <Layout x:Orientation="Landscape"/>
93
- </PageSetup>
94
- <FitToPage/>
95
- <Print>
96
- <ValidPrinterInfo/>
97
- <PaperSizeIndex>9</PaperSizeIndex>
98
- <Scale>97</Scale>
99
- <HorizontalResolution>600</HorizontalResolution>
100
- <VerticalResolution>600</VerticalResolution>
101
- </Print>
102
- <Selected/>
103
- <Panes>
104
- <Pane>
105
- <Number>3</Number>
106
- <ActiveRow>3</ActiveRow>
107
- <ActiveCol>1</ActiveCol>
108
- </Pane>
109
- </Panes>
110
- <ProtectObjects>False</ProtectObjects>
111
- <ProtectScenarios>False</ProtectScenarios>
112
- </WorksheetOptions>
113
- </Worksheet>
114
- </Workbook>