xrono 1.0.0

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 (520) hide show
  1. data/.gitignore +19 -0
  2. data/.rspec +1 -0
  3. data/.travis.yml +20 -0
  4. data/Gemfile +30 -0
  5. data/Gemfile.lock +336 -0
  6. data/LICENSE +21 -0
  7. data/README.md +64 -0
  8. data/RELEASE_NOTES.md +83 -0
  9. data/Rakefile +15 -0
  10. data/XRONO.md +64 -0
  11. data/app/assets/images/chosen-sprite.png +0 -0
  12. data/app/assets/images/grid.png +0 -0
  13. data/app/assets/images/isotope_logo.png +0 -0
  14. data/app/assets/images/logo.png +0 -0
  15. data/app/assets/images/logo_122x40.png +0 -0
  16. data/app/assets/images/logo_97x40.png +0 -0
  17. data/app/assets/images/main_bg.jpg +0 -0
  18. data/app/assets/images/nav_bg.jpg +0 -0
  19. data/app/assets/images/rails.png +0 -0
  20. data/app/assets/images/top_bg.jpg +0 -0
  21. data/app/assets/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  22. data/app/assets/images/ui-bg_flat_0_fbf9ee_40x100.png +0 -0
  23. data/app/assets/images/ui-bg_flat_55_fbec88_40x100.png +0 -0
  24. data/app/assets/images/ui-bg_flat_65_ffffff_40x100.png +0 -0
  25. data/app/assets/images/ui-bg_flat_75_cccccc_40x100.png +0 -0
  26. data/app/assets/images/ui-bg_flat_75_dadada_40x100.png +0 -0
  27. data/app/assets/images/ui-bg_flat_75_e6e6e6_40x100.png +0 -0
  28. data/app/assets/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  29. data/app/assets/images/ui-bg_flat_95_fef1ec_40x100.png +0 -0
  30. data/app/assets/images/ui-bg_glass_75_d0e5f5_1x400.png +0 -0
  31. data/app/assets/images/ui-bg_glass_85_dfeffc_1x400.png +0 -0
  32. data/app/assets/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  33. data/app/assets/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png +0 -0
  34. data/app/assets/images/ui-bg_inset-hard_100_f5f8f9_1x100.png +0 -0
  35. data/app/assets/images/ui-bg_inset-hard_100_fcfdfd_1x100.png +0 -0
  36. data/app/assets/images/ui-icons_217bc0_256x240.png +0 -0
  37. data/app/assets/images/ui-icons_222222_256x240.png +0 -0
  38. data/app/assets/images/ui-icons_2e83ff_256x240.png +0 -0
  39. data/app/assets/images/ui-icons_454545_256x240.png +0 -0
  40. data/app/assets/images/ui-icons_469bdd_256x240.png +0 -0
  41. data/app/assets/images/ui-icons_6da8d5_256x240.png +0 -0
  42. data/app/assets/images/ui-icons_888888_256x240.png +0 -0
  43. data/app/assets/images/ui-icons_cd0a0a_256x240.png +0 -0
  44. data/app/assets/images/ui-icons_d8e7f3_256x240.png +0 -0
  45. data/app/assets/images/ui-icons_f9bd01_256x240.png +0 -0
  46. data/app/assets/javascripts/add_taxonomy.js.erb +307 -0
  47. data/app/assets/javascripts/admin_invoices.js +15 -0
  48. data/app/assets/javascripts/api/v1/clients.js.coffee +3 -0
  49. data/app/assets/javascripts/api/v1/tokens.js.coffee +3 -0
  50. data/app/assets/javascripts/application.js.erb +25 -0
  51. data/app/assets/javascripts/bootstrap-dropdown.js +92 -0
  52. data/app/assets/javascripts/bootstrap-tabs.js +80 -0
  53. data/app/assets/javascripts/bootstrap.js.coffee +4 -0
  54. data/app/assets/javascripts/calendar.js +25 -0
  55. data/app/assets/javascripts/chosen.jquery.js +898 -0
  56. data/app/assets/javascripts/client_login/clients.js.coffee +3 -0
  57. data/app/assets/javascripts/client_login/reports.js.coffee +3 -0
  58. data/app/assets/javascripts/comments.js +16 -0
  59. data/app/assets/javascripts/css_browser_selector.js +8 -0
  60. data/app/assets/javascripts/dashboard.js +3 -0
  61. data/app/assets/javascripts/data_vaults.js.coffee +3 -0
  62. data/app/assets/javascripts/file_attachments.js +9 -0
  63. data/app/assets/javascripts/jquery-tagselector.js +50 -0
  64. data/app/assets/javascripts/jquery-ui-1.8.16.custom.min.js +791 -0
  65. data/app/assets/javascripts/jquery.jeditable.js +543 -0
  66. data/app/assets/javascripts/jquery_ujs.js +336 -0
  67. data/app/assets/javascripts/schedule_modal.js +25 -0
  68. data/app/assets/javascripts/specify_project.js +21 -0
  69. data/app/assets/javascripts/ticket_board.js +104 -0
  70. data/app/assets/stylesheets/_jquery-ui-1.8.16.custom.css +568 -0
  71. data/app/assets/stylesheets/application.css +7 -0
  72. data/app/assets/stylesheets/bootstrap_and_overrides.css.scss +41 -0
  73. data/app/assets/stylesheets/chosen.css +367 -0
  74. data/app/assets/stylesheets/client_login/clients.css.scss +3 -0
  75. data/app/assets/stylesheets/client_login/reports.css.scss +3 -0
  76. data/app/assets/stylesheets/data_vaults.css.scss +3 -0
  77. data/app/assets/stylesheets/jquery-tagselector.css +49 -0
  78. data/app/assets/stylesheets/responsive.scss +650 -0
  79. data/app/assets/stylesheets/screen.scss +303 -0
  80. data/app/controllers/admin/base_controller.rb +18 -0
  81. data/app/controllers/admin/invoices_controller.rb +42 -0
  82. data/app/controllers/admin/payroll_controller.rb +29 -0
  83. data/app/controllers/admin/site_settings_controller.rb +19 -0
  84. data/app/controllers/admin/unentered_time_report_controller.rb +26 -0
  85. data/app/controllers/admin/users_controller.rb +86 -0
  86. data/app/controllers/admin/weekly_time_report_controller.rb +11 -0
  87. data/app/controllers/api/base_controller.rb +14 -0
  88. data/app/controllers/api/v1/base_controller.rb +2 -0
  89. data/app/controllers/api/v1/clients_controller.rb +10 -0
  90. data/app/controllers/api/v1/credentials_controller.rb +10 -0
  91. data/app/controllers/api/v1/projects_controller.rb +27 -0
  92. data/app/controllers/api/v1/tickets_controller.rb +46 -0
  93. data/app/controllers/api/v1/tokens_controller.rb +30 -0
  94. data/app/controllers/api/v1/work_units_controller.rb +23 -0
  95. data/app/controllers/client_login/base_controller.rb +3 -0
  96. data/app/controllers/client_login/clients_controller.rb +35 -0
  97. data/app/controllers/client_login/contacts_controller.rb +53 -0
  98. data/app/controllers/client_login/projects_controller.rb +24 -0
  99. data/app/controllers/client_login/reports_controller.rb +23 -0
  100. data/app/controllers/client_login/tickets_controller.rb +41 -0
  101. data/app/controllers/client_login/work_units_controller.rb +11 -0
  102. data/app/controllers/clients_controller.rb +103 -0
  103. data/app/controllers/comments_controller.rb +75 -0
  104. data/app/controllers/contacts_controller.rb +54 -0
  105. data/app/controllers/dashboard/base_controller.rb +79 -0
  106. data/app/controllers/data_vaults_controller.rb +12 -0
  107. data/app/controllers/doorkeeper/application_controller.rb +33 -0
  108. data/app/controllers/file_attachments_controller.rb +60 -0
  109. data/app/controllers/projects_controller.rb +62 -0
  110. data/app/controllers/tickets_controller.rb +48 -0
  111. data/app/controllers/users_controller.rb +57 -0
  112. data/app/controllers/work_units_controller.rb +114 -0
  113. data/app/controllers/xrono/application_controller.rb +65 -0
  114. data/app/helpers/admin/unentered_time_report_helper.rb +9 -0
  115. data/app/helpers/admin_base_helper.rb +14 -0
  116. data/app/helpers/clients_helper.rb +5 -0
  117. data/app/helpers/dashboard_helper.rb +9 -0
  118. data/app/helpers/gravatar_helper.rb +5 -0
  119. data/app/helpers/refurl_helper.rb +9 -0
  120. data/app/helpers/xrono/application_helper.rb +54 -0
  121. data/app/mailers/notifier.rb +18 -0
  122. data/app/models/chart_data.rb +20 -0
  123. data/app/models/client.rb +98 -0
  124. data/app/models/comment.rb +8 -0
  125. data/app/models/contact.rb +10 -0
  126. data/app/models/data_vault.rb +6 -0
  127. data/app/models/file_attachment.rb +8 -0
  128. data/app/models/project.rb +76 -0
  129. data/app/models/role.rb +3 -0
  130. data/app/models/roles_user.rb +4 -0
  131. data/app/models/site_settings.rb +4 -0
  132. data/app/models/ticket.rb +85 -0
  133. data/app/models/user.rb +147 -0
  134. data/app/models/weekly_time_report.rb +26 -0
  135. data/app/models/work_unit.rb +99 -0
  136. data/app/models/work_unit/finders.rb +67 -0
  137. data/app/views/admin/_nav.html.haml +1 -0
  138. data/app/views/admin/base/index.html.haml +3 -0
  139. data/app/views/admin/base/reports.html.haml +3 -0
  140. data/app/views/admin/invoices/index.html.haml +19 -0
  141. data/app/views/admin/invoices/show.html.haml +57 -0
  142. data/app/views/admin/payroll/index.html.haml +18 -0
  143. data/app/views/admin/payroll/show.html.haml +56 -0
  144. data/app/views/admin/site_settings/edit.html.haml +32 -0
  145. data/app/views/admin/unentered_time_report/_week_navigation.html.haml +6 -0
  146. data/app/views/admin/unentered_time_report/show.html.haml +16 -0
  147. data/app/views/admin/users/_form.html.haml +48 -0
  148. data/app/views/admin/users/_locked_users.html.haml +31 -0
  149. data/app/views/admin/users/_users_table.html.haml +25 -0
  150. data/app/views/admin/users/edit.html.haml +1 -0
  151. data/app/views/admin/users/index.html.haml +14 -0
  152. data/app/views/admin/users/locked_clients.html.haml +13 -0
  153. data/app/views/admin/users/locked_users.html.haml +13 -0
  154. data/app/views/admin/users/new.html.haml +1 -0
  155. data/app/views/admin/users/projects.html.haml +25 -0
  156. data/app/views/admin/users/unlocked_clients.html.haml +13 -0
  157. data/app/views/admin/weekly_time_report/_week_pagination.html.haml +11 -0
  158. data/app/views/admin/weekly_time_report/show.html.haml +41 -0
  159. data/app/views/client_login/_work_unit_index.haml +16 -0
  160. data/app/views/client_login/base/index.html.haml +18 -0
  161. data/app/views/client_login/clients/show.html.haml +32 -0
  162. data/app/views/client_login/contacts/_form.html.haml +34 -0
  163. data/app/views/client_login/contacts/edit.html.haml +4 -0
  164. data/app/views/client_login/contacts/index.html.haml +30 -0
  165. data/app/views/client_login/contacts/new.html.haml +5 -0
  166. data/app/views/client_login/contacts/show.html.haml +26 -0
  167. data/app/views/client_login/projects/_tickets.html.haml +31 -0
  168. data/app/views/client_login/projects/show.html.haml +8 -0
  169. data/app/views/client_login/reports/index.html.haml +4 -0
  170. data/app/views/client_login/reports/work_units.html.haml +96 -0
  171. data/app/views/client_login/tickets/_form.html.haml +33 -0
  172. data/app/views/client_login/tickets/new.html.haml +1 -0
  173. data/app/views/client_login/tickets/show.html.haml +23 -0
  174. data/app/views/client_login/work_units/show.html.haml +18 -0
  175. data/app/views/clients/_breadcrumbs.html.haml +2 -0
  176. data/app/views/clients/_clients_table.html.haml +24 -0
  177. data/app/views/clients/_form.html.haml +34 -0
  178. data/app/views/clients/_projects.html.haml +31 -0
  179. data/app/views/clients/edit.html.haml +1 -0
  180. data/app/views/clients/inactive_clients.html.haml +9 -0
  181. data/app/views/clients/index.html.haml +8 -0
  182. data/app/views/clients/new.html.haml +1 -0
  183. data/app/views/clients/show.html.haml +34 -0
  184. data/app/views/clients/suspended_clients.html.haml +8 -0
  185. data/app/views/comments/_comment.html.haml +46 -0
  186. data/app/views/comments/_comment_form.haml +29 -0
  187. data/app/views/comments/_comments.html.haml +3 -0
  188. data/app/views/contacts/_form.html.haml +34 -0
  189. data/app/views/contacts/edit.html.haml +1 -0
  190. data/app/views/contacts/index.html.haml +23 -0
  191. data/app/views/contacts/new.html.haml +1 -0
  192. data/app/views/contacts/show.html.haml +26 -0
  193. data/app/views/dashboard/base/_two_week_time_report.html.haml +13 -0
  194. data/app/views/dashboard/base/_week_pagination.html.haml +10 -0
  195. data/app/views/dashboard/base/calendar.html.haml +1 -0
  196. data/app/views/dashboard/base/calendar.js.erb +3 -0
  197. data/app/views/dashboard/base/index.html.haml +18 -0
  198. data/app/views/devise/confirmations/new.html.haml +9 -0
  199. data/app/views/devise/mailer/confirmation_instructions.html.haml +4 -0
  200. data/app/views/devise/mailer/reset_password_instructions.html.haml +6 -0
  201. data/app/views/devise/mailer/unlock_instructions.html.haml +5 -0
  202. data/app/views/devise/passwords/edit.html.haml +17 -0
  203. data/app/views/devise/passwords/new.html.haml +12 -0
  204. data/app/views/devise/registrations/edit.html.haml +36 -0
  205. data/app/views/devise/registrations/new.html.haml +32 -0
  206. data/app/views/devise/sessions/new.html.haml +22 -0
  207. data/app/views/devise/shared/_links.haml +15 -0
  208. data/app/views/devise/unlocks/new.html.haml +9 -0
  209. data/app/views/file_attachments/_file_attachment.html.haml +10 -0
  210. data/app/views/file_attachments/_file_attachment_combined.html.haml +30 -0
  211. data/app/views/file_attachments/_file_attachments.html.haml +5 -0
  212. data/app/views/file_attachments/new.html.haml +17 -0
  213. data/app/views/layouts/application.html.haml +32 -0
  214. data/app/views/layouts/doorkeeper.html.haml +31 -0
  215. data/app/views/notifier/daily.text.erb +8 -0
  216. data/app/views/notifier/work_unit_notification.text.erb +17 -0
  217. data/app/views/projects/_breadcrumbs.html.haml +5 -0
  218. data/app/views/projects/_form.html.haml +94 -0
  219. data/app/views/projects/_pie_chart_metrics.html.haml +4 -0
  220. data/app/views/projects/_specify.html.haml +11 -0
  221. data/app/views/projects/_ticket_table.html.haml +36 -0
  222. data/app/views/projects/edit.html.haml +2 -0
  223. data/app/views/projects/new.html.haml +2 -0
  224. data/app/views/projects/show.html.haml +57 -0
  225. data/app/views/shared/_calendar.html.haml +86 -0
  226. data/app/views/shared/_data_vault.html.haml +16 -0
  227. data/app/views/shared/_files_and_comments.html.haml +21 -0
  228. data/app/views/shared/_flashes.html.haml +10 -0
  229. data/app/views/shared/_javascripts.html.haml +8 -0
  230. data/app/views/shared/_menu.html.haml +14 -0
  231. data/app/views/shared/_user_roles.html.haml +7 -0
  232. data/app/views/shared/_work_unit_index.html.haml +24 -0
  233. data/app/views/tickets/_add_ticket.html.haml +27 -0
  234. data/app/views/tickets/_breadcrumbs.html.haml +8 -0
  235. data/app/views/tickets/_form.html.haml +40 -0
  236. data/app/views/tickets/_ticket_detail.html.haml +18 -0
  237. data/app/views/tickets/edit.html.haml +2 -0
  238. data/app/views/tickets/modal_new.html.haml +28 -0
  239. data/app/views/tickets/new.html.haml +1 -0
  240. data/app/views/tickets/show.html.haml +28 -0
  241. data/app/views/tickets/ticket_detail.html.haml +18 -0
  242. data/app/views/users/_change_password_form.haml +13 -0
  243. data/app/views/users/_user_head.html.haml +7 -0
  244. data/app/views/users/edit.haml +34 -0
  245. data/app/views/users/historical_time.html.haml +5 -0
  246. data/app/views/users/index.html.haml +18 -0
  247. data/app/views/users/show.html.haml +13 -0
  248. data/app/views/work_units/_add_work_unit.html.haml +81 -0
  249. data/app/views/work_units/_breadcrumbs.html.haml +11 -0
  250. data/app/views/work_units/_dashboard_line.html.haml +6 -0
  251. data/app/views/work_units/_edit_work_unit.haml +44 -0
  252. data/app/views/work_units/_shared_form.haml +40 -0
  253. data/app/views/work_units/edit.html.haml +2 -0
  254. data/app/views/work_units/index.html.haml +7 -0
  255. data/app/views/work_units/new.html.haml +6 -0
  256. data/app/views/work_units/show.html.haml +25 -0
  257. data/app/workers/daily_notifier_worker.rb +7 -0
  258. data/app/workers/work_unit_notifier_worker.rb +7 -0
  259. data/config.ru +7 -0
  260. data/config/admin_navigation.rb +71 -0
  261. data/config/admin_reports_navigation.rb +6 -0
  262. data/config/boot.rb +6 -0
  263. data/config/client_navigation.rb +64 -0
  264. data/config/cucumber.yml +8 -0
  265. data/config/initializers/00_requirements.rb +2 -0
  266. data/config/initializers/backtrace_silencers.rb +7 -0
  267. data/config/initializers/devise.rb +144 -0
  268. data/config/initializers/doorkeeper.rb +32 -0
  269. data/config/initializers/doorkeeper_monkeypatch.rb +66 -0
  270. data/config/initializers/github_concern.rb +4 -0
  271. data/config/initializers/haml.rb +13 -0
  272. data/config/initializers/inflections.rb +10 -0
  273. data/config/initializers/load_controller_mixins.rb +1 -0
  274. data/config/initializers/mime_types.rb +5 -0
  275. data/config/initializers/paper_clip.rb +1 -0
  276. data/config/initializers/simple_navigation.rb +1 -0
  277. data/config/initializers/wrap_parameters.rb +14 -0
  278. data/config/locales/devise.en.yml +39 -0
  279. data/config/locales/doorkeeper.en.yml +23 -0
  280. data/config/locales/en.yml +201 -0
  281. data/config/locales/faker.en.yml +48 -0
  282. data/config/navigation.rb +78 -0
  283. data/config/rackspace_cloudfiles.yml +14 -0
  284. data/config/routes.rb +113 -0
  285. data/config/secondary_navigation.rb +65 -0
  286. data/config/trinidad.yml +4 -0
  287. data/config/warble.rb +144 -0
  288. data/db/migrate/20100825165612_create_clients.rb +14 -0
  289. data/db/migrate/20100825185313_create_projects.rb +14 -0
  290. data/db/migrate/20100825223943_create_tickets.rb +16 -0
  291. data/db/migrate/20100902174920_create_work_units.rb +14 -0
  292. data/db/migrate/20100902190129_add_missing_fields_to_work_units.rb +13 -0
  293. data/db/migrate/20100904173839_add_guid_to_clients_projects_tickets_and_work_orders.rb +13 -0
  294. data/db/migrate/20100922181642_create_comments.rb +19 -0
  295. data/db/migrate/20100927180254_devise_create_users.rb +32 -0
  296. data/db/migrate/20100927184505_add_details_to_users.rb +13 -0
  297. data/db/migrate/20100927191329_add_user_to_work_units.rb +9 -0
  298. data/db/migrate/20100928163356_create_roles.rb +22 -0
  299. data/db/migrate/20100928203745_create_addresses.rb +19 -0
  300. data/db/migrate/20100928204544_create_contacts.rb +17 -0
  301. data/db/migrate/20101007175626_add_lockable_to_users.rb +11 -0
  302. data/db/migrate/20101020162216_add_paid_at_to_work_units_table.rb +9 -0
  303. data/db/migrate/20101020162516_add_check_number_to_work_units_table.rb +9 -0
  304. data/db/migrate/20101020215135_add_paid_field_to_work_units_table.rb +9 -0
  305. data/db/migrate/20101020215226_add_invoiced_field_to_work_units_table.rb +9 -0
  306. data/db/migrate/20101020215457_remove_paid_at_from_work_units_table.rb +9 -0
  307. data/db/migrate/20101020215624_remove_check_number_from_work_units_table.rb +9 -0
  308. data/db/migrate/20101025161443_add_invoiced_at_to_work_units_table.rb +9 -0
  309. data/db/migrate/20101026151900_add_initials_to_clients.rb +9 -0
  310. data/db/migrate/20101029145059_create_file_attachments.rb +18 -0
  311. data/db/migrate/20101030142615_add_guid_to_users.rb +9 -0
  312. data/db/migrate/20101102145137_add_paid_at_to_work_units.rb +9 -0
  313. data/db/migrate/20101112151337_add_active_to_comments.rb +9 -0
  314. data/db/migrate/20101119172727_add_recieves_email_to_contact.rb +10 -0
  315. data/db/migrate/20101122225423_projects_users.rb +11 -0
  316. data/db/migrate/20101129214537_remove_projects_users_table.rb +11 -0
  317. data/db/migrate/20101130225328_contact_receives_email.rb +9 -0
  318. data/db/migrate/20101202203051_add_address_to_contacts.rb +19 -0
  319. data/db/migrate/20101202214746_remove_address_table.rb +17 -0
  320. data/db/migrate/20101216214304_add_hours_type_to_work_unit.rb +9 -0
  321. data/db/migrate/20101217152455_add_effective_hours_to_work_units.rb +9 -0
  322. data/db/migrate/20101228154820_add_overtime_multiplier_to_clients_table.rb +9 -0
  323. data/db/migrate/20101228154951_add_overtime_multiplier_to_projects_table.rb +9 -0
  324. data/db/migrate/20101228155122_create_site_settings_table.rb +11 -0
  325. data/db/migrate/20110107190927_add_site_logo_columns_to_site_settings.rb +15 -0
  326. data/db/migrate/20110111155513_add_total_yearly_pto_per_user_to_site_settings.rb +9 -0
  327. data/db/migrate/20110111220015_add_not_valid_to_file_attachment.rb +9 -0
  328. data/db/migrate/20110125153818_add_fullwidth_to_users.rb +9 -0
  329. data/db/migrate/20110222162404_add_daily_target_hours_to_users.rb +9 -0
  330. data/db/migrate/20110310021732_add_client_to_site_settings.rb +9 -0
  331. data/db/migrate/20110630194044_add_expanded_calendar_to_user.rb +9 -0
  332. data/db/migrate/20110922175742_add_state_to_tickets.rb +9 -0
  333. data/db/migrate/20111212193345_add_estimated_hours_to_tickets.rb +5 -0
  334. data/db/migrate/20111216152557_add_client_boolean_to_user.rb +5 -0
  335. data/db/migrate/20111220193307_add_repo_and_branch_to_projects_and_ticket.rb +6 -0
  336. data/db/migrate/20111220193619_create_git_pushes.rb +9 -0
  337. data/db/migrate/20111220193620_create_git_commits.rb +10 -0
  338. data/db/migrate/20111220193621_add_user_id_to_git_push.rb +5 -0
  339. data/db/migrate/20111220193622_create_github_concernable_git_pushes.rb +11 -0
  340. data/db/migrate/20111227140859_add_token_to_user.rb +7 -0
  341. data/db/migrate/20120102185406_add_completed_boolean_to_ticket.rb +5 -0
  342. data/db/migrate/20120104132121_add_completed_to_project.rb +5 -0
  343. data/db/migrate/20120124184915_modify_project_for_new_git_integration.rb +11 -0
  344. data/db/migrate/20120125145833_add_rates_to_project.rb +6 -0
  345. data/db/migrate/20120126151009_create_data_vaults.rb +11 -0
  346. data/db/migrate/20120126151341_create_versions.rb +18 -0
  347. data/db/migrate/20120126154403_rename_column_data_to_encrypted_data.rb +8 -0
  348. data/db/migrate/20120221193022_add_index_to_user_id_on_work_units.rb +5 -0
  349. data/db/migrate/20120221195345_acts_as_taggable_on_migration.rb +30 -0
  350. data/db/migrate/20120320212313_remove_timestamps_from_roles_users_table.rb +11 -0
  351. data/db/migrate/20120710034831_create_doorkeeper_tables.rb +42 -0
  352. data/db/migrate/20121021122002_add_missing_indices.rb +21 -0
  353. data/doc/website/favicon.ico +0 -0
  354. data/doc/website/images/clock_box.png +0 -0
  355. data/doc/website/images/demo.png +0 -0
  356. data/doc/website/images/download.png +0 -0
  357. data/doc/website/images/fork_me.png +0 -0
  358. data/doc/website/images/lightbox-blank.gif +0 -0
  359. data/doc/website/images/lightbox-btn-close.gif +0 -0
  360. data/doc/website/images/lightbox-btn-next.gif +0 -0
  361. data/doc/website/images/lightbox-btn-prev.gif +0 -0
  362. data/doc/website/images/lightbox-ico-loading.gif +0 -0
  363. data/doc/website/images/main_bg.png +0 -0
  364. data/doc/website/images/nav_bg.png +0 -0
  365. data/doc/website/images/screen_1.png +0 -0
  366. data/doc/website/images/screen_2.png +0 -0
  367. data/doc/website/images/screen_3.png +0 -0
  368. data/doc/website/images/screen_4.png +0 -0
  369. data/doc/website/images/screen_5.png +0 -0
  370. data/doc/website/images/screen_6.png +0 -0
  371. data/doc/website/images/support.png +0 -0
  372. data/doc/website/images/thumb_1.png +0 -0
  373. data/doc/website/images/thumb_2.png +0 -0
  374. data/doc/website/images/thumb_3.png +0 -0
  375. data/doc/website/images/thumb_4.png +0 -0
  376. data/doc/website/images/thumb_5.png +0 -0
  377. data/doc/website/images/thumb_6.png +0 -0
  378. data/doc/website/images/xrono_logo.png +0 -0
  379. data/doc/website/index.html +274 -0
  380. data/doc/website/javascripts/application.js +18 -0
  381. data/doc/website/javascripts/greyscalebasic_regular.typeface.js +1 -0
  382. data/doc/website/javascripts/jquery.lightbox-0.5.min.js +42 -0
  383. data/doc/website/javascripts/jquery.min.js +32 -0
  384. data/doc/website/javascripts/jquery.tweet.js +181 -0
  385. data/doc/website/javascripts/typeface.js +873 -0
  386. data/doc/website/javascripts/verdana_regular.typeface.js +1 -0
  387. data/doc/website/stylesheets/jquery.lightbox.css +104 -0
  388. data/doc/website/stylesheets/jquery.tweet.css +38 -0
  389. data/doc/website/stylesheets/reset-fonts-grids.css +32 -0
  390. data/doc/website/stylesheets/screen.css +228 -0
  391. data/doc/xrono_dash.png +0 -0
  392. data/doc/xrono_ticket.png +0 -0
  393. data/features/admin/invoices.feature +37 -0
  394. data/features/admin/manage_users.feature +17 -0
  395. data/features/admin/payroll.feature +64 -0
  396. data/features/admin/roles.feature +9 -0
  397. data/features/admin/site_settings.feature +19 -0
  398. data/features/admin/unentered_time_report.feature +38 -0
  399. data/features/admin/weekly_time_report.feature +14 -0
  400. data/features/api/v1/clients_controller.feature +58 -0
  401. data/features/authorization-admin.feature +34 -0
  402. data/features/authorization-non-admin.feature +38 -0
  403. data/features/client_login.feature +15 -0
  404. data/features/collaborative_work_units.feature +112 -0
  405. data/features/daily_emails.feature +11 -0
  406. data/features/dashboard.feature +74 -0
  407. data/features/manage_clients.feature +116 -0
  408. data/features/manage_comments.feature +30 -0
  409. data/features/manage_contacts.feature +56 -0
  410. data/features/manage_file_attachments.feature +51 -0
  411. data/features/manage_projects.feature +92 -0
  412. data/features/manage_self.feature +48 -0
  413. data/features/manage_tickets.feature +74 -0
  414. data/features/manage_users.feature +76 -0
  415. data/features/manage_work_units.feature +115 -0
  416. data/features/mockups/images/asset-tracker-client-show.png +0 -0
  417. data/features/mockups/images/asset-tracker.png +0 -0
  418. data/features/mockups/images/ixi - asset tracker v3 homepage - no time entered modal.png +0 -0
  419. data/features/mockups/images/ixi - asset tracker v3 homepage - schedule on modal.png +0 -0
  420. data/features/mockups/images/ixi - asset tracker v3 homepage.png +0 -0
  421. data/features/mockups/ixi - asset tracker v3 homepage - no time entered modal.bmml +194 -0
  422. data/features/mockups/ixi - asset tracker v3 homepage - schedule on modal.bmml +208 -0
  423. data/features/mockups/ixi - asset tracker v3 homepage.bmml +172 -0
  424. data/features/project_assignment.feature +69 -0
  425. data/features/search_work_units.feature +38 -0
  426. data/features/step_definitions/calendar_expansion_steps.rb +7 -0
  427. data/features/step_definitions/client_login_steps.rb +8 -0
  428. data/features/step_definitions/client_steps.rb +29 -0
  429. data/features/step_definitions/comment_steps.rb +4 -0
  430. data/features/step_definitions/contact_steps.rb +22 -0
  431. data/features/step_definitions/debug_steps.rb +5 -0
  432. data/features/step_definitions/devise_steps.rb +26 -0
  433. data/features/step_definitions/email_steps.rb +74 -0
  434. data/features/step_definitions/file_attachment_steps.rb +8 -0
  435. data/features/step_definitions/modified_web_steps.rb +25 -0
  436. data/features/step_definitions/pickle_steps.rb +101 -0
  437. data/features/step_definitions/project_steps.rb +32 -0
  438. data/features/step_definitions/search_steps.rb +3 -0
  439. data/features/step_definitions/ticket_board_steps.rb +39 -0
  440. data/features/step_definitions/ticket_detail_steps.rb +9 -0
  441. data/features/step_definitions/ticket_steps.rb +12 -0
  442. data/features/step_definitions/unentered_time_report_steps.rb +3 -0
  443. data/features/step_definitions/user_steps.rb +43 -0
  444. data/features/step_definitions/web_steps.rb +274 -0
  445. data/features/step_definitions/weekly_time_report_steps.rb +7 -0
  446. data/features/step_definitions/work_unit_index_steps.rb +8 -0
  447. data/features/step_definitions/work_unit_steps.rb +39 -0
  448. data/features/support/email.rb +21 -0
  449. data/features/support/env.rb +80 -0
  450. data/features/support/paths.rb +96 -0
  451. data/features/support/pickle.rb +26 -0
  452. data/features/support/selectors.rb +51 -0
  453. data/features/support/xrono.rb +19 -0
  454. data/features/work_unit_notifier.feature +11 -0
  455. data/lib/controller_mixins.rb +5 -0
  456. data/lib/controller_mixins/authorization.rb +15 -0
  457. data/lib/controller_mixins/contacts.rb +37 -0
  458. data/lib/controller_mixins/generic.rb +15 -0
  459. data/lib/controller_mixins/tickets.rb +35 -0
  460. data/lib/controller_mixins/work_units.rb +13 -0
  461. data/lib/date_ext.rb +16 -0
  462. data/lib/guid_referenced.rb +19 -0
  463. data/lib/tasks/.gitkeep +0 -0
  464. data/lib/tasks/acts_as_commentable_tasks.rake +4 -0
  465. data/lib/tasks/cucumber.rake +65 -0
  466. data/lib/tasks/git_repo_tasks.rake +47 -0
  467. data/lib/tasks/notifications.rake +8 -0
  468. data/lib/tasks/paperclip_tasks.rake +79 -0
  469. data/lib/xrono.rb +1 -0
  470. data/lib/xrono/engine.rb +45 -0
  471. data/public/404.html +26 -0
  472. data/public/422.html +26 -0
  473. data/public/500.html +26 -0
  474. data/public/favicon.ico +0 -0
  475. data/public/favicon.psd +0 -0
  476. data/public/robots.txt +5 -0
  477. data/public/stylesheets/.gitkeep +0 -0
  478. data/public/stylesheets/ie.css +53 -0
  479. data/public/stylesheets/print.css +57 -0
  480. data/public/stylesheets/screen.css +182 -0
  481. data/script/cucumber +10 -0
  482. data/script/rails +6 -0
  483. data/spec/blueprints.rb +86 -0
  484. data/spec/controllers/api/v1/clients_controller_spec.rb +41 -0
  485. data/spec/controllers/api/v1/projects_controller_spec.rb +54 -0
  486. data/spec/controllers/api/v1/tickets_controller_spec.rb +122 -0
  487. data/spec/controllers/api/v1/tokens_controller_spec.rb +52 -0
  488. data/spec/controllers/client_login/clients_controller_spec.rb +5 -0
  489. data/spec/controllers/client_login/reports_controller_spec.rb +5 -0
  490. data/spec/controllers/data_vaults_controller_spec.rb +5 -0
  491. data/spec/internal/app/controllers/application_controller.rb +5 -0
  492. data/spec/internal/config/admin_navigation.rb +71 -0
  493. data/spec/internal/config/database.yml +14 -0
  494. data/spec/internal/config/database.yml.example +20 -0
  495. data/spec/internal/config/database.yml.mysql +20 -0
  496. data/spec/internal/config/database.yml.mysql.jruby +20 -0
  497. data/spec/internal/config/database.yml.postgres +20 -0
  498. data/spec/internal/config/database.yml.postgres.jruby +20 -0
  499. data/spec/internal/config/navigation.rb +80 -0
  500. data/spec/internal/config/routes.rb +3 -0
  501. data/spec/internal/config/secondary_navigation.rb +65 -0
  502. data/spec/internal/db/schema.rb +296 -0
  503. data/spec/internal/log/.gitignore +1 -0
  504. data/spec/internal/public/favicon.ico +0 -0
  505. data/spec/internal/public/system/attachment_files/2/original/tmp.txt +1 -0
  506. data/spec/internal/public/system/attachment_files/3/original/tmp.txt +1 -0
  507. data/spec/lib/date_ext_spec.rb +40 -0
  508. data/spec/mailers/notifier_spec.rb +9 -0
  509. data/spec/models/client_spec.rb +167 -0
  510. data/spec/models/contact_spec.rb +29 -0
  511. data/spec/models/data_vault_spec.rb +5 -0
  512. data/spec/models/project_spec.rb +115 -0
  513. data/spec/models/ticket_spec.rb +223 -0
  514. data/spec/models/user_spec.rb +258 -0
  515. data/spec/models/work_unit_spec.rb +467 -0
  516. data/spec/spec_helper.rb +44 -0
  517. data/spec/support/xrono/macros.rb +15 -0
  518. data/vendor/plugins/.gitkeep +0 -0
  519. data/xrono.gemspec +50 -0
  520. metadata +1209 -0
@@ -0,0 +1,44 @@
1
+ # Simplecov Setup
2
+ if RUBY_VERSION >= '1.9.2'
3
+ require 'simplecov'
4
+ require 'simplecov-rcov'
5
+ SimpleCov.formatter = SimpleCov::Formatter::RcovFormatter
6
+ SimpleCov.start 'rails' do
7
+ add_filter '/vendor/'
8
+ end
9
+ end
10
+
11
+ ENV["RAILS_ENV"] ||= 'test'
12
+
13
+ require 'xrono'
14
+ require 'combustion'
15
+ Combustion.initialize!
16
+
17
+ require File.expand_path(File.dirname(__FILE__) + "/blueprints")
18
+
19
+ require 'rspec/rails'
20
+ require 'devise/test_helpers'
21
+
22
+ require 'sidekiq/testing'
23
+ require 'shoulda-matchers'
24
+ require 'database_cleaner'
25
+
26
+ # Requires supporting ruby files with custom matchers and macros, etc,
27
+ # in spec/support/ and its subdirectories.
28
+ Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
29
+ load 'spec/support/xrono/macros.rb'
30
+
31
+ DatabaseCleaner.strategy = :truncation
32
+ DatabaseCleaner.clean
33
+
34
+ RSpec.configure do |config|
35
+ config.mock_with :rspec
36
+ config.include Devise::TestHelpers, :type => :controller
37
+
38
+ config.fixture_path = "#{::Rails.root}/spec/fixtures"
39
+
40
+ config.before(:all) { Sham.reset(:before_all) }
41
+ config.before(:each) { Sham.reset(:before_each) }
42
+
43
+ config.use_transactional_fixtures = true
44
+ end
@@ -0,0 +1,15 @@
1
+ module XronoTestHelper
2
+ module Macros
3
+ def authenticate_user!
4
+ before(:each) do
5
+ request.env['warden'].stub :authenticate! => user
6
+ controller.stub :current_user => user
7
+ user.ensure_authentication_token!
8
+ end
9
+ end
10
+ end
11
+ end
12
+
13
+ RSpec.configure do |config|
14
+ config.extend XronoTestHelper::Macros, :type => :controller
15
+ end
File without changes
@@ -0,0 +1,50 @@
1
+ Gem::Specification.new do |s|
2
+ s.name = 'xrono'
3
+ s.authors = ['Josh Adams', 'Adam Dill', 'Adam Gamble']
4
+ s.summary = 'An asset and time tracking application for consultants and consulting companies.'
5
+ s.description = 'Xrono is an asset and time tracking application for consultants and consulting companies.'
6
+ s.files = `git ls-files`.split("\n")
7
+ s.version = %q(1.0.0)
8
+
9
+ s.add_dependency 'rails', '~> 3.2.8'
10
+ s.add_dependency 'acl9', '~> 0.12.0'
11
+ s.add_dependency 'devise', '~> 1.4.9'
12
+ s.add_dependency 'gravtastic', '~> 3.2.6'
13
+ s.add_dependency 'haml', '~> 3.1.3'
14
+ s.add_dependency 'paperclip', '~> 2.3'
15
+ s.add_dependency 'uuid', '~> 2.3.1'
16
+ s.add_dependency 'jquery-rails', '~> 1.0.17'
17
+ s.add_dependency 'rake', '~> 10.0'
18
+ s.add_dependency 'state_machine', '~> 1.0.2'
19
+ s.add_dependency 'googlecharts', '~> 1.6.8'
20
+ s.add_dependency 'github_concern', '~> 0.1'
21
+ s.add_dependency 'css3-progress-bar-rails', '~> 0.2.2'
22
+ s.add_dependency 'grit', '~> 2.4.0'
23
+ s.add_dependency 'paper_trail', '~> 2.6.0'
24
+ s.add_dependency 'attr_encrypted', '~> 1.2.0'
25
+ s.add_dependency 'acts-as-taggable-on', '~> 2.2.2'
26
+ s.add_dependency 'acts_as_commentable', '~> 3.0.1'
27
+ s.add_dependency 'dynamic_form', '~> 1.0.0'
28
+ s.add_dependency 'kramdown'
29
+ s.add_dependency 'doorkeeper', '~> 0.4.2'
30
+ s.add_dependency 'oauth2'
31
+ s.add_dependency 'sidekiq', '2.0.3'
32
+ s.add_dependency 'simple-navigation-bootstrap'
33
+ s.add_dependency 'sass-rails', '~> 3.2.0'
34
+
35
+ s.add_development_dependency 'capistrano', '~> 2.8.0'
36
+ s.add_development_dependency 'capybara', '~> 1.1.1'
37
+ s.add_development_dependency 'cucumber', '~> 1.1.4'
38
+ s.add_development_dependency 'database_cleaner', '~> 0.7.1'
39
+ s.add_development_dependency 'faker', '~> 0.9.5'
40
+ s.add_development_dependency 'forgery', '= 0.3.10'
41
+ s.add_development_dependency 'launchy', '~> 0.3.7'
42
+ s.add_development_dependency 'machinist', '~> 1.0.6'
43
+ s.add_development_dependency 'pickle', '= 0.4.8'
44
+ s.add_development_dependency 'shoulda-matchers', '~> 1.0'
45
+ s.add_development_dependency 'simplecov', '~> 0.5.0'
46
+ s.add_development_dependency 'simplecov-rcov'
47
+ s.add_development_dependency 'spork', '0.9.0.rc9'
48
+ s.add_development_dependency 'ci_reporter'
49
+ s.add_development_dependency 'rspec-rails'
50
+ end
metadata ADDED
@@ -0,0 +1,1209 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: xrono
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ prerelease:
6
+ platform: ruby
7
+ authors:
8
+ - Josh Adams
9
+ - Adam Dill
10
+ - Adam Gamble
11
+ autorequire:
12
+ bindir: bin
13
+ cert_chain: []
14
+ date: 2012-12-29 00:00:00.000000000 Z
15
+ dependencies:
16
+ - !ruby/object:Gem::Dependency
17
+ name: rails
18
+ requirement: !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: 3.2.8
24
+ type: :runtime
25
+ prerelease: false
26
+ version_requirements: !ruby/object:Gem::Requirement
27
+ none: false
28
+ requirements:
29
+ - - ~>
30
+ - !ruby/object:Gem::Version
31
+ version: 3.2.8
32
+ - !ruby/object:Gem::Dependency
33
+ name: acl9
34
+ requirement: !ruby/object:Gem::Requirement
35
+ none: false
36
+ requirements:
37
+ - - ~>
38
+ - !ruby/object:Gem::Version
39
+ version: 0.12.0
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ none: false
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 0.12.0
48
+ - !ruby/object:Gem::Dependency
49
+ name: devise
50
+ requirement: !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 1.4.9
56
+ type: :runtime
57
+ prerelease: false
58
+ version_requirements: !ruby/object:Gem::Requirement
59
+ none: false
60
+ requirements:
61
+ - - ~>
62
+ - !ruby/object:Gem::Version
63
+ version: 1.4.9
64
+ - !ruby/object:Gem::Dependency
65
+ name: gravtastic
66
+ requirement: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ~>
70
+ - !ruby/object:Gem::Version
71
+ version: 3.2.6
72
+ type: :runtime
73
+ prerelease: false
74
+ version_requirements: !ruby/object:Gem::Requirement
75
+ none: false
76
+ requirements:
77
+ - - ~>
78
+ - !ruby/object:Gem::Version
79
+ version: 3.2.6
80
+ - !ruby/object:Gem::Dependency
81
+ name: haml
82
+ requirement: !ruby/object:Gem::Requirement
83
+ none: false
84
+ requirements:
85
+ - - ~>
86
+ - !ruby/object:Gem::Version
87
+ version: 3.1.3
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ none: false
92
+ requirements:
93
+ - - ~>
94
+ - !ruby/object:Gem::Version
95
+ version: 3.1.3
96
+ - !ruby/object:Gem::Dependency
97
+ name: paperclip
98
+ requirement: !ruby/object:Gem::Requirement
99
+ none: false
100
+ requirements:
101
+ - - ~>
102
+ - !ruby/object:Gem::Version
103
+ version: '2.3'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ none: false
108
+ requirements:
109
+ - - ~>
110
+ - !ruby/object:Gem::Version
111
+ version: '2.3'
112
+ - !ruby/object:Gem::Dependency
113
+ name: uuid
114
+ requirement: !ruby/object:Gem::Requirement
115
+ none: false
116
+ requirements:
117
+ - - ~>
118
+ - !ruby/object:Gem::Version
119
+ version: 2.3.1
120
+ type: :runtime
121
+ prerelease: false
122
+ version_requirements: !ruby/object:Gem::Requirement
123
+ none: false
124
+ requirements:
125
+ - - ~>
126
+ - !ruby/object:Gem::Version
127
+ version: 2.3.1
128
+ - !ruby/object:Gem::Dependency
129
+ name: jquery-rails
130
+ requirement: !ruby/object:Gem::Requirement
131
+ none: false
132
+ requirements:
133
+ - - ~>
134
+ - !ruby/object:Gem::Version
135
+ version: 1.0.17
136
+ type: :runtime
137
+ prerelease: false
138
+ version_requirements: !ruby/object:Gem::Requirement
139
+ none: false
140
+ requirements:
141
+ - - ~>
142
+ - !ruby/object:Gem::Version
143
+ version: 1.0.17
144
+ - !ruby/object:Gem::Dependency
145
+ name: rake
146
+ requirement: !ruby/object:Gem::Requirement
147
+ none: false
148
+ requirements:
149
+ - - ~>
150
+ - !ruby/object:Gem::Version
151
+ version: '10.0'
152
+ type: :runtime
153
+ prerelease: false
154
+ version_requirements: !ruby/object:Gem::Requirement
155
+ none: false
156
+ requirements:
157
+ - - ~>
158
+ - !ruby/object:Gem::Version
159
+ version: '10.0'
160
+ - !ruby/object:Gem::Dependency
161
+ name: state_machine
162
+ requirement: !ruby/object:Gem::Requirement
163
+ none: false
164
+ requirements:
165
+ - - ~>
166
+ - !ruby/object:Gem::Version
167
+ version: 1.0.2
168
+ type: :runtime
169
+ prerelease: false
170
+ version_requirements: !ruby/object:Gem::Requirement
171
+ none: false
172
+ requirements:
173
+ - - ~>
174
+ - !ruby/object:Gem::Version
175
+ version: 1.0.2
176
+ - !ruby/object:Gem::Dependency
177
+ name: googlecharts
178
+ requirement: !ruby/object:Gem::Requirement
179
+ none: false
180
+ requirements:
181
+ - - ~>
182
+ - !ruby/object:Gem::Version
183
+ version: 1.6.8
184
+ type: :runtime
185
+ prerelease: false
186
+ version_requirements: !ruby/object:Gem::Requirement
187
+ none: false
188
+ requirements:
189
+ - - ~>
190
+ - !ruby/object:Gem::Version
191
+ version: 1.6.8
192
+ - !ruby/object:Gem::Dependency
193
+ name: github_concern
194
+ requirement: !ruby/object:Gem::Requirement
195
+ none: false
196
+ requirements:
197
+ - - ~>
198
+ - !ruby/object:Gem::Version
199
+ version: '0.1'
200
+ type: :runtime
201
+ prerelease: false
202
+ version_requirements: !ruby/object:Gem::Requirement
203
+ none: false
204
+ requirements:
205
+ - - ~>
206
+ - !ruby/object:Gem::Version
207
+ version: '0.1'
208
+ - !ruby/object:Gem::Dependency
209
+ name: css3-progress-bar-rails
210
+ requirement: !ruby/object:Gem::Requirement
211
+ none: false
212
+ requirements:
213
+ - - ~>
214
+ - !ruby/object:Gem::Version
215
+ version: 0.2.2
216
+ type: :runtime
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ none: false
220
+ requirements:
221
+ - - ~>
222
+ - !ruby/object:Gem::Version
223
+ version: 0.2.2
224
+ - !ruby/object:Gem::Dependency
225
+ name: grit
226
+ requirement: !ruby/object:Gem::Requirement
227
+ none: false
228
+ requirements:
229
+ - - ~>
230
+ - !ruby/object:Gem::Version
231
+ version: 2.4.0
232
+ type: :runtime
233
+ prerelease: false
234
+ version_requirements: !ruby/object:Gem::Requirement
235
+ none: false
236
+ requirements:
237
+ - - ~>
238
+ - !ruby/object:Gem::Version
239
+ version: 2.4.0
240
+ - !ruby/object:Gem::Dependency
241
+ name: paper_trail
242
+ requirement: !ruby/object:Gem::Requirement
243
+ none: false
244
+ requirements:
245
+ - - ~>
246
+ - !ruby/object:Gem::Version
247
+ version: 2.6.0
248
+ type: :runtime
249
+ prerelease: false
250
+ version_requirements: !ruby/object:Gem::Requirement
251
+ none: false
252
+ requirements:
253
+ - - ~>
254
+ - !ruby/object:Gem::Version
255
+ version: 2.6.0
256
+ - !ruby/object:Gem::Dependency
257
+ name: attr_encrypted
258
+ requirement: !ruby/object:Gem::Requirement
259
+ none: false
260
+ requirements:
261
+ - - ~>
262
+ - !ruby/object:Gem::Version
263
+ version: 1.2.0
264
+ type: :runtime
265
+ prerelease: false
266
+ version_requirements: !ruby/object:Gem::Requirement
267
+ none: false
268
+ requirements:
269
+ - - ~>
270
+ - !ruby/object:Gem::Version
271
+ version: 1.2.0
272
+ - !ruby/object:Gem::Dependency
273
+ name: acts-as-taggable-on
274
+ requirement: !ruby/object:Gem::Requirement
275
+ none: false
276
+ requirements:
277
+ - - ~>
278
+ - !ruby/object:Gem::Version
279
+ version: 2.2.2
280
+ type: :runtime
281
+ prerelease: false
282
+ version_requirements: !ruby/object:Gem::Requirement
283
+ none: false
284
+ requirements:
285
+ - - ~>
286
+ - !ruby/object:Gem::Version
287
+ version: 2.2.2
288
+ - !ruby/object:Gem::Dependency
289
+ name: acts_as_commentable
290
+ requirement: !ruby/object:Gem::Requirement
291
+ none: false
292
+ requirements:
293
+ - - ~>
294
+ - !ruby/object:Gem::Version
295
+ version: 3.0.1
296
+ type: :runtime
297
+ prerelease: false
298
+ version_requirements: !ruby/object:Gem::Requirement
299
+ none: false
300
+ requirements:
301
+ - - ~>
302
+ - !ruby/object:Gem::Version
303
+ version: 3.0.1
304
+ - !ruby/object:Gem::Dependency
305
+ name: dynamic_form
306
+ requirement: !ruby/object:Gem::Requirement
307
+ none: false
308
+ requirements:
309
+ - - ~>
310
+ - !ruby/object:Gem::Version
311
+ version: 1.0.0
312
+ type: :runtime
313
+ prerelease: false
314
+ version_requirements: !ruby/object:Gem::Requirement
315
+ none: false
316
+ requirements:
317
+ - - ~>
318
+ - !ruby/object:Gem::Version
319
+ version: 1.0.0
320
+ - !ruby/object:Gem::Dependency
321
+ name: kramdown
322
+ requirement: !ruby/object:Gem::Requirement
323
+ none: false
324
+ requirements:
325
+ - - ! '>='
326
+ - !ruby/object:Gem::Version
327
+ version: '0'
328
+ type: :runtime
329
+ prerelease: false
330
+ version_requirements: !ruby/object:Gem::Requirement
331
+ none: false
332
+ requirements:
333
+ - - ! '>='
334
+ - !ruby/object:Gem::Version
335
+ version: '0'
336
+ - !ruby/object:Gem::Dependency
337
+ name: doorkeeper
338
+ requirement: !ruby/object:Gem::Requirement
339
+ none: false
340
+ requirements:
341
+ - - ~>
342
+ - !ruby/object:Gem::Version
343
+ version: 0.4.2
344
+ type: :runtime
345
+ prerelease: false
346
+ version_requirements: !ruby/object:Gem::Requirement
347
+ none: false
348
+ requirements:
349
+ - - ~>
350
+ - !ruby/object:Gem::Version
351
+ version: 0.4.2
352
+ - !ruby/object:Gem::Dependency
353
+ name: oauth2
354
+ requirement: !ruby/object:Gem::Requirement
355
+ none: false
356
+ requirements:
357
+ - - ! '>='
358
+ - !ruby/object:Gem::Version
359
+ version: '0'
360
+ type: :runtime
361
+ prerelease: false
362
+ version_requirements: !ruby/object:Gem::Requirement
363
+ none: false
364
+ requirements:
365
+ - - ! '>='
366
+ - !ruby/object:Gem::Version
367
+ version: '0'
368
+ - !ruby/object:Gem::Dependency
369
+ name: sidekiq
370
+ requirement: !ruby/object:Gem::Requirement
371
+ none: false
372
+ requirements:
373
+ - - '='
374
+ - !ruby/object:Gem::Version
375
+ version: 2.0.3
376
+ type: :runtime
377
+ prerelease: false
378
+ version_requirements: !ruby/object:Gem::Requirement
379
+ none: false
380
+ requirements:
381
+ - - '='
382
+ - !ruby/object:Gem::Version
383
+ version: 2.0.3
384
+ - !ruby/object:Gem::Dependency
385
+ name: simple-navigation-bootstrap
386
+ requirement: !ruby/object:Gem::Requirement
387
+ none: false
388
+ requirements:
389
+ - - ! '>='
390
+ - !ruby/object:Gem::Version
391
+ version: '0'
392
+ type: :runtime
393
+ prerelease: false
394
+ version_requirements: !ruby/object:Gem::Requirement
395
+ none: false
396
+ requirements:
397
+ - - ! '>='
398
+ - !ruby/object:Gem::Version
399
+ version: '0'
400
+ - !ruby/object:Gem::Dependency
401
+ name: sass-rails
402
+ requirement: !ruby/object:Gem::Requirement
403
+ none: false
404
+ requirements:
405
+ - - ~>
406
+ - !ruby/object:Gem::Version
407
+ version: 3.2.0
408
+ type: :runtime
409
+ prerelease: false
410
+ version_requirements: !ruby/object:Gem::Requirement
411
+ none: false
412
+ requirements:
413
+ - - ~>
414
+ - !ruby/object:Gem::Version
415
+ version: 3.2.0
416
+ - !ruby/object:Gem::Dependency
417
+ name: capistrano
418
+ requirement: !ruby/object:Gem::Requirement
419
+ none: false
420
+ requirements:
421
+ - - ~>
422
+ - !ruby/object:Gem::Version
423
+ version: 2.8.0
424
+ type: :development
425
+ prerelease: false
426
+ version_requirements: !ruby/object:Gem::Requirement
427
+ none: false
428
+ requirements:
429
+ - - ~>
430
+ - !ruby/object:Gem::Version
431
+ version: 2.8.0
432
+ - !ruby/object:Gem::Dependency
433
+ name: capybara
434
+ requirement: !ruby/object:Gem::Requirement
435
+ none: false
436
+ requirements:
437
+ - - ~>
438
+ - !ruby/object:Gem::Version
439
+ version: 1.1.1
440
+ type: :development
441
+ prerelease: false
442
+ version_requirements: !ruby/object:Gem::Requirement
443
+ none: false
444
+ requirements:
445
+ - - ~>
446
+ - !ruby/object:Gem::Version
447
+ version: 1.1.1
448
+ - !ruby/object:Gem::Dependency
449
+ name: cucumber
450
+ requirement: !ruby/object:Gem::Requirement
451
+ none: false
452
+ requirements:
453
+ - - ~>
454
+ - !ruby/object:Gem::Version
455
+ version: 1.1.4
456
+ type: :development
457
+ prerelease: false
458
+ version_requirements: !ruby/object:Gem::Requirement
459
+ none: false
460
+ requirements:
461
+ - - ~>
462
+ - !ruby/object:Gem::Version
463
+ version: 1.1.4
464
+ - !ruby/object:Gem::Dependency
465
+ name: database_cleaner
466
+ requirement: !ruby/object:Gem::Requirement
467
+ none: false
468
+ requirements:
469
+ - - ~>
470
+ - !ruby/object:Gem::Version
471
+ version: 0.7.1
472
+ type: :development
473
+ prerelease: false
474
+ version_requirements: !ruby/object:Gem::Requirement
475
+ none: false
476
+ requirements:
477
+ - - ~>
478
+ - !ruby/object:Gem::Version
479
+ version: 0.7.1
480
+ - !ruby/object:Gem::Dependency
481
+ name: faker
482
+ requirement: !ruby/object:Gem::Requirement
483
+ none: false
484
+ requirements:
485
+ - - ~>
486
+ - !ruby/object:Gem::Version
487
+ version: 0.9.5
488
+ type: :development
489
+ prerelease: false
490
+ version_requirements: !ruby/object:Gem::Requirement
491
+ none: false
492
+ requirements:
493
+ - - ~>
494
+ - !ruby/object:Gem::Version
495
+ version: 0.9.5
496
+ - !ruby/object:Gem::Dependency
497
+ name: forgery
498
+ requirement: !ruby/object:Gem::Requirement
499
+ none: false
500
+ requirements:
501
+ - - '='
502
+ - !ruby/object:Gem::Version
503
+ version: 0.3.10
504
+ type: :development
505
+ prerelease: false
506
+ version_requirements: !ruby/object:Gem::Requirement
507
+ none: false
508
+ requirements:
509
+ - - '='
510
+ - !ruby/object:Gem::Version
511
+ version: 0.3.10
512
+ - !ruby/object:Gem::Dependency
513
+ name: launchy
514
+ requirement: !ruby/object:Gem::Requirement
515
+ none: false
516
+ requirements:
517
+ - - ~>
518
+ - !ruby/object:Gem::Version
519
+ version: 0.3.7
520
+ type: :development
521
+ prerelease: false
522
+ version_requirements: !ruby/object:Gem::Requirement
523
+ none: false
524
+ requirements:
525
+ - - ~>
526
+ - !ruby/object:Gem::Version
527
+ version: 0.3.7
528
+ - !ruby/object:Gem::Dependency
529
+ name: machinist
530
+ requirement: !ruby/object:Gem::Requirement
531
+ none: false
532
+ requirements:
533
+ - - ~>
534
+ - !ruby/object:Gem::Version
535
+ version: 1.0.6
536
+ type: :development
537
+ prerelease: false
538
+ version_requirements: !ruby/object:Gem::Requirement
539
+ none: false
540
+ requirements:
541
+ - - ~>
542
+ - !ruby/object:Gem::Version
543
+ version: 1.0.6
544
+ - !ruby/object:Gem::Dependency
545
+ name: pickle
546
+ requirement: !ruby/object:Gem::Requirement
547
+ none: false
548
+ requirements:
549
+ - - '='
550
+ - !ruby/object:Gem::Version
551
+ version: 0.4.8
552
+ type: :development
553
+ prerelease: false
554
+ version_requirements: !ruby/object:Gem::Requirement
555
+ none: false
556
+ requirements:
557
+ - - '='
558
+ - !ruby/object:Gem::Version
559
+ version: 0.4.8
560
+ - !ruby/object:Gem::Dependency
561
+ name: shoulda-matchers
562
+ requirement: !ruby/object:Gem::Requirement
563
+ none: false
564
+ requirements:
565
+ - - ~>
566
+ - !ruby/object:Gem::Version
567
+ version: '1.0'
568
+ type: :development
569
+ prerelease: false
570
+ version_requirements: !ruby/object:Gem::Requirement
571
+ none: false
572
+ requirements:
573
+ - - ~>
574
+ - !ruby/object:Gem::Version
575
+ version: '1.0'
576
+ - !ruby/object:Gem::Dependency
577
+ name: simplecov
578
+ requirement: !ruby/object:Gem::Requirement
579
+ none: false
580
+ requirements:
581
+ - - ~>
582
+ - !ruby/object:Gem::Version
583
+ version: 0.5.0
584
+ type: :development
585
+ prerelease: false
586
+ version_requirements: !ruby/object:Gem::Requirement
587
+ none: false
588
+ requirements:
589
+ - - ~>
590
+ - !ruby/object:Gem::Version
591
+ version: 0.5.0
592
+ - !ruby/object:Gem::Dependency
593
+ name: simplecov-rcov
594
+ requirement: !ruby/object:Gem::Requirement
595
+ none: false
596
+ requirements:
597
+ - - ! '>='
598
+ - !ruby/object:Gem::Version
599
+ version: '0'
600
+ type: :development
601
+ prerelease: false
602
+ version_requirements: !ruby/object:Gem::Requirement
603
+ none: false
604
+ requirements:
605
+ - - ! '>='
606
+ - !ruby/object:Gem::Version
607
+ version: '0'
608
+ - !ruby/object:Gem::Dependency
609
+ name: spork
610
+ requirement: !ruby/object:Gem::Requirement
611
+ none: false
612
+ requirements:
613
+ - - '='
614
+ - !ruby/object:Gem::Version
615
+ version: 0.9.0.rc9
616
+ type: :development
617
+ prerelease: false
618
+ version_requirements: !ruby/object:Gem::Requirement
619
+ none: false
620
+ requirements:
621
+ - - '='
622
+ - !ruby/object:Gem::Version
623
+ version: 0.9.0.rc9
624
+ - !ruby/object:Gem::Dependency
625
+ name: ci_reporter
626
+ requirement: !ruby/object:Gem::Requirement
627
+ none: false
628
+ requirements:
629
+ - - ! '>='
630
+ - !ruby/object:Gem::Version
631
+ version: '0'
632
+ type: :development
633
+ prerelease: false
634
+ version_requirements: !ruby/object:Gem::Requirement
635
+ none: false
636
+ requirements:
637
+ - - ! '>='
638
+ - !ruby/object:Gem::Version
639
+ version: '0'
640
+ - !ruby/object:Gem::Dependency
641
+ name: rspec-rails
642
+ requirement: !ruby/object:Gem::Requirement
643
+ none: false
644
+ requirements:
645
+ - - ! '>='
646
+ - !ruby/object:Gem::Version
647
+ version: '0'
648
+ type: :development
649
+ prerelease: false
650
+ version_requirements: !ruby/object:Gem::Requirement
651
+ none: false
652
+ requirements:
653
+ - - ! '>='
654
+ - !ruby/object:Gem::Version
655
+ version: '0'
656
+ description: Xrono is an asset and time tracking application for consultants and consulting
657
+ companies.
658
+ email:
659
+ executables: []
660
+ extensions: []
661
+ extra_rdoc_files: []
662
+ files:
663
+ - .gitignore
664
+ - .rspec
665
+ - .travis.yml
666
+ - Gemfile
667
+ - Gemfile.lock
668
+ - LICENSE
669
+ - README.md
670
+ - RELEASE_NOTES.md
671
+ - Rakefile
672
+ - XRONO.md
673
+ - app/assets/images/chosen-sprite.png
674
+ - app/assets/images/grid.png
675
+ - app/assets/images/isotope_logo.png
676
+ - app/assets/images/logo.png
677
+ - app/assets/images/logo_122x40.png
678
+ - app/assets/images/logo_97x40.png
679
+ - app/assets/images/main_bg.jpg
680
+ - app/assets/images/nav_bg.jpg
681
+ - app/assets/images/rails.png
682
+ - app/assets/images/top_bg.jpg
683
+ - app/assets/images/ui-bg_flat_0_aaaaaa_40x100.png
684
+ - app/assets/images/ui-bg_flat_0_fbf9ee_40x100.png
685
+ - app/assets/images/ui-bg_flat_55_fbec88_40x100.png
686
+ - app/assets/images/ui-bg_flat_65_ffffff_40x100.png
687
+ - app/assets/images/ui-bg_flat_75_cccccc_40x100.png
688
+ - app/assets/images/ui-bg_flat_75_dadada_40x100.png
689
+ - app/assets/images/ui-bg_flat_75_e6e6e6_40x100.png
690
+ - app/assets/images/ui-bg_flat_75_ffffff_40x100.png
691
+ - app/assets/images/ui-bg_flat_95_fef1ec_40x100.png
692
+ - app/assets/images/ui-bg_glass_75_d0e5f5_1x400.png
693
+ - app/assets/images/ui-bg_glass_85_dfeffc_1x400.png
694
+ - app/assets/images/ui-bg_glass_95_fef1ec_1x400.png
695
+ - app/assets/images/ui-bg_gloss-wave_55_5c9ccc_500x100.png
696
+ - app/assets/images/ui-bg_inset-hard_100_f5f8f9_1x100.png
697
+ - app/assets/images/ui-bg_inset-hard_100_fcfdfd_1x100.png
698
+ - app/assets/images/ui-icons_217bc0_256x240.png
699
+ - app/assets/images/ui-icons_222222_256x240.png
700
+ - app/assets/images/ui-icons_2e83ff_256x240.png
701
+ - app/assets/images/ui-icons_454545_256x240.png
702
+ - app/assets/images/ui-icons_469bdd_256x240.png
703
+ - app/assets/images/ui-icons_6da8d5_256x240.png
704
+ - app/assets/images/ui-icons_888888_256x240.png
705
+ - app/assets/images/ui-icons_cd0a0a_256x240.png
706
+ - app/assets/images/ui-icons_d8e7f3_256x240.png
707
+ - app/assets/images/ui-icons_f9bd01_256x240.png
708
+ - app/assets/javascripts/add_taxonomy.js.erb
709
+ - app/assets/javascripts/admin_invoices.js
710
+ - app/assets/javascripts/api/v1/clients.js.coffee
711
+ - app/assets/javascripts/api/v1/tokens.js.coffee
712
+ - app/assets/javascripts/application.js.erb
713
+ - app/assets/javascripts/bootstrap-dropdown.js
714
+ - app/assets/javascripts/bootstrap-tabs.js
715
+ - app/assets/javascripts/bootstrap.js.coffee
716
+ - app/assets/javascripts/calendar.js
717
+ - app/assets/javascripts/chosen.jquery.js
718
+ - app/assets/javascripts/client_login/clients.js.coffee
719
+ - app/assets/javascripts/client_login/reports.js.coffee
720
+ - app/assets/javascripts/comments.js
721
+ - app/assets/javascripts/css_browser_selector.js
722
+ - app/assets/javascripts/dashboard.js
723
+ - app/assets/javascripts/data_vaults.js.coffee
724
+ - app/assets/javascripts/file_attachments.js
725
+ - app/assets/javascripts/jquery-tagselector.js
726
+ - app/assets/javascripts/jquery-ui-1.8.16.custom.min.js
727
+ - app/assets/javascripts/jquery.jeditable.js
728
+ - app/assets/javascripts/jquery_ujs.js
729
+ - app/assets/javascripts/schedule_modal.js
730
+ - app/assets/javascripts/specify_project.js
731
+ - app/assets/javascripts/ticket_board.js
732
+ - app/assets/stylesheets/_jquery-ui-1.8.16.custom.css
733
+ - app/assets/stylesheets/application.css
734
+ - app/assets/stylesheets/bootstrap_and_overrides.css.scss
735
+ - app/assets/stylesheets/chosen.css
736
+ - app/assets/stylesheets/client_login/clients.css.scss
737
+ - app/assets/stylesheets/client_login/reports.css.scss
738
+ - app/assets/stylesheets/data_vaults.css.scss
739
+ - app/assets/stylesheets/jquery-tagselector.css
740
+ - app/assets/stylesheets/responsive.scss
741
+ - app/assets/stylesheets/screen.scss
742
+ - app/controllers/admin/base_controller.rb
743
+ - app/controllers/admin/invoices_controller.rb
744
+ - app/controllers/admin/payroll_controller.rb
745
+ - app/controllers/admin/site_settings_controller.rb
746
+ - app/controllers/admin/unentered_time_report_controller.rb
747
+ - app/controllers/admin/users_controller.rb
748
+ - app/controllers/admin/weekly_time_report_controller.rb
749
+ - app/controllers/api/base_controller.rb
750
+ - app/controllers/api/v1/base_controller.rb
751
+ - app/controllers/api/v1/clients_controller.rb
752
+ - app/controllers/api/v1/credentials_controller.rb
753
+ - app/controllers/api/v1/projects_controller.rb
754
+ - app/controllers/api/v1/tickets_controller.rb
755
+ - app/controllers/api/v1/tokens_controller.rb
756
+ - app/controllers/api/v1/work_units_controller.rb
757
+ - app/controllers/client_login/base_controller.rb
758
+ - app/controllers/client_login/clients_controller.rb
759
+ - app/controllers/client_login/contacts_controller.rb
760
+ - app/controllers/client_login/projects_controller.rb
761
+ - app/controllers/client_login/reports_controller.rb
762
+ - app/controllers/client_login/tickets_controller.rb
763
+ - app/controllers/client_login/work_units_controller.rb
764
+ - app/controllers/clients_controller.rb
765
+ - app/controllers/comments_controller.rb
766
+ - app/controllers/contacts_controller.rb
767
+ - app/controllers/dashboard/base_controller.rb
768
+ - app/controllers/data_vaults_controller.rb
769
+ - app/controllers/doorkeeper/application_controller.rb
770
+ - app/controllers/file_attachments_controller.rb
771
+ - app/controllers/projects_controller.rb
772
+ - app/controllers/tickets_controller.rb
773
+ - app/controllers/users_controller.rb
774
+ - app/controllers/work_units_controller.rb
775
+ - app/controllers/xrono/application_controller.rb
776
+ - app/helpers/admin/unentered_time_report_helper.rb
777
+ - app/helpers/admin_base_helper.rb
778
+ - app/helpers/clients_helper.rb
779
+ - app/helpers/dashboard_helper.rb
780
+ - app/helpers/gravatar_helper.rb
781
+ - app/helpers/refurl_helper.rb
782
+ - app/helpers/xrono/application_helper.rb
783
+ - app/mailers/notifier.rb
784
+ - app/models/chart_data.rb
785
+ - app/models/client.rb
786
+ - app/models/comment.rb
787
+ - app/models/contact.rb
788
+ - app/models/data_vault.rb
789
+ - app/models/file_attachment.rb
790
+ - app/models/project.rb
791
+ - app/models/role.rb
792
+ - app/models/roles_user.rb
793
+ - app/models/site_settings.rb
794
+ - app/models/ticket.rb
795
+ - app/models/user.rb
796
+ - app/models/weekly_time_report.rb
797
+ - app/models/work_unit.rb
798
+ - app/models/work_unit/finders.rb
799
+ - app/views/admin/_nav.html.haml
800
+ - app/views/admin/base/index.html.haml
801
+ - app/views/admin/base/reports.html.haml
802
+ - app/views/admin/invoices/index.html.haml
803
+ - app/views/admin/invoices/show.html.haml
804
+ - app/views/admin/payroll/index.html.haml
805
+ - app/views/admin/payroll/show.html.haml
806
+ - app/views/admin/site_settings/edit.html.haml
807
+ - app/views/admin/unentered_time_report/_week_navigation.html.haml
808
+ - app/views/admin/unentered_time_report/show.html.haml
809
+ - app/views/admin/users/_form.html.haml
810
+ - app/views/admin/users/_locked_users.html.haml
811
+ - app/views/admin/users/_users_table.html.haml
812
+ - app/views/admin/users/edit.html.haml
813
+ - app/views/admin/users/index.html.haml
814
+ - app/views/admin/users/locked_clients.html.haml
815
+ - app/views/admin/users/locked_users.html.haml
816
+ - app/views/admin/users/new.html.haml
817
+ - app/views/admin/users/projects.html.haml
818
+ - app/views/admin/users/unlocked_clients.html.haml
819
+ - app/views/admin/weekly_time_report/_week_pagination.html.haml
820
+ - app/views/admin/weekly_time_report/show.html.haml
821
+ - app/views/client_login/_work_unit_index.haml
822
+ - app/views/client_login/base/index.html.haml
823
+ - app/views/client_login/clients/show.html.haml
824
+ - app/views/client_login/contacts/_form.html.haml
825
+ - app/views/client_login/contacts/edit.html.haml
826
+ - app/views/client_login/contacts/index.html.haml
827
+ - app/views/client_login/contacts/new.html.haml
828
+ - app/views/client_login/contacts/show.html.haml
829
+ - app/views/client_login/projects/_tickets.html.haml
830
+ - app/views/client_login/projects/show.html.haml
831
+ - app/views/client_login/reports/index.html.haml
832
+ - app/views/client_login/reports/work_units.html.haml
833
+ - app/views/client_login/tickets/_form.html.haml
834
+ - app/views/client_login/tickets/new.html.haml
835
+ - app/views/client_login/tickets/show.html.haml
836
+ - app/views/client_login/work_units/show.html.haml
837
+ - app/views/clients/_breadcrumbs.html.haml
838
+ - app/views/clients/_clients_table.html.haml
839
+ - app/views/clients/_form.html.haml
840
+ - app/views/clients/_projects.html.haml
841
+ - app/views/clients/edit.html.haml
842
+ - app/views/clients/inactive_clients.html.haml
843
+ - app/views/clients/index.html.haml
844
+ - app/views/clients/new.html.haml
845
+ - app/views/clients/show.html.haml
846
+ - app/views/clients/suspended_clients.html.haml
847
+ - app/views/comments/_comment.html.haml
848
+ - app/views/comments/_comment_form.haml
849
+ - app/views/comments/_comments.html.haml
850
+ - app/views/contacts/_form.html.haml
851
+ - app/views/contacts/edit.html.haml
852
+ - app/views/contacts/index.html.haml
853
+ - app/views/contacts/new.html.haml
854
+ - app/views/contacts/show.html.haml
855
+ - app/views/dashboard/base/_two_week_time_report.html.haml
856
+ - app/views/dashboard/base/_week_pagination.html.haml
857
+ - app/views/dashboard/base/calendar.html.haml
858
+ - app/views/dashboard/base/calendar.js.erb
859
+ - app/views/dashboard/base/index.html.haml
860
+ - app/views/devise/confirmations/new.html.haml
861
+ - app/views/devise/mailer/confirmation_instructions.html.haml
862
+ - app/views/devise/mailer/reset_password_instructions.html.haml
863
+ - app/views/devise/mailer/unlock_instructions.html.haml
864
+ - app/views/devise/passwords/edit.html.haml
865
+ - app/views/devise/passwords/new.html.haml
866
+ - app/views/devise/registrations/edit.html.haml
867
+ - app/views/devise/registrations/new.html.haml
868
+ - app/views/devise/sessions/new.html.haml
869
+ - app/views/devise/shared/_links.haml
870
+ - app/views/devise/unlocks/new.html.haml
871
+ - app/views/file_attachments/_file_attachment.html.haml
872
+ - app/views/file_attachments/_file_attachment_combined.html.haml
873
+ - app/views/file_attachments/_file_attachments.html.haml
874
+ - app/views/file_attachments/new.html.haml
875
+ - app/views/layouts/application.html.haml
876
+ - app/views/layouts/doorkeeper.html.haml
877
+ - app/views/notifier/daily.text.erb
878
+ - app/views/notifier/work_unit_notification.text.erb
879
+ - app/views/projects/_breadcrumbs.html.haml
880
+ - app/views/projects/_form.html.haml
881
+ - app/views/projects/_pie_chart_metrics.html.haml
882
+ - app/views/projects/_specify.html.haml
883
+ - app/views/projects/_ticket_table.html.haml
884
+ - app/views/projects/edit.html.haml
885
+ - app/views/projects/new.html.haml
886
+ - app/views/projects/show.html.haml
887
+ - app/views/shared/_calendar.html.haml
888
+ - app/views/shared/_data_vault.html.haml
889
+ - app/views/shared/_files_and_comments.html.haml
890
+ - app/views/shared/_flashes.html.haml
891
+ - app/views/shared/_javascripts.html.haml
892
+ - app/views/shared/_menu.html.haml
893
+ - app/views/shared/_user_roles.html.haml
894
+ - app/views/shared/_work_unit_index.html.haml
895
+ - app/views/tickets/_add_ticket.html.haml
896
+ - app/views/tickets/_breadcrumbs.html.haml
897
+ - app/views/tickets/_form.html.haml
898
+ - app/views/tickets/_ticket_detail.html.haml
899
+ - app/views/tickets/edit.html.haml
900
+ - app/views/tickets/modal_new.html.haml
901
+ - app/views/tickets/new.html.haml
902
+ - app/views/tickets/show.html.haml
903
+ - app/views/tickets/ticket_detail.html.haml
904
+ - app/views/users/_change_password_form.haml
905
+ - app/views/users/_user_head.html.haml
906
+ - app/views/users/edit.haml
907
+ - app/views/users/historical_time.html.haml
908
+ - app/views/users/index.html.haml
909
+ - app/views/users/show.html.haml
910
+ - app/views/work_units/_add_work_unit.html.haml
911
+ - app/views/work_units/_breadcrumbs.html.haml
912
+ - app/views/work_units/_dashboard_line.html.haml
913
+ - app/views/work_units/_edit_work_unit.haml
914
+ - app/views/work_units/_shared_form.haml
915
+ - app/views/work_units/edit.html.haml
916
+ - app/views/work_units/index.html.haml
917
+ - app/views/work_units/new.html.haml
918
+ - app/views/work_units/show.html.haml
919
+ - app/workers/daily_notifier_worker.rb
920
+ - app/workers/work_unit_notifier_worker.rb
921
+ - config.ru
922
+ - config/admin_navigation.rb
923
+ - config/admin_reports_navigation.rb
924
+ - config/boot.rb
925
+ - config/client_navigation.rb
926
+ - config/cucumber.yml
927
+ - config/initializers/00_requirements.rb
928
+ - config/initializers/backtrace_silencers.rb
929
+ - config/initializers/devise.rb
930
+ - config/initializers/doorkeeper.rb
931
+ - config/initializers/doorkeeper_monkeypatch.rb
932
+ - config/initializers/github_concern.rb
933
+ - config/initializers/haml.rb
934
+ - config/initializers/inflections.rb
935
+ - config/initializers/load_controller_mixins.rb
936
+ - config/initializers/mime_types.rb
937
+ - config/initializers/paper_clip.rb
938
+ - config/initializers/simple_navigation.rb
939
+ - config/initializers/wrap_parameters.rb
940
+ - config/locales/devise.en.yml
941
+ - config/locales/doorkeeper.en.yml
942
+ - config/locales/en.yml
943
+ - config/locales/faker.en.yml
944
+ - config/navigation.rb
945
+ - config/rackspace_cloudfiles.yml
946
+ - config/routes.rb
947
+ - config/secondary_navigation.rb
948
+ - config/trinidad.yml
949
+ - config/warble.rb
950
+ - db/migrate/20100825165612_create_clients.rb
951
+ - db/migrate/20100825185313_create_projects.rb
952
+ - db/migrate/20100825223943_create_tickets.rb
953
+ - db/migrate/20100902174920_create_work_units.rb
954
+ - db/migrate/20100902190129_add_missing_fields_to_work_units.rb
955
+ - db/migrate/20100904173839_add_guid_to_clients_projects_tickets_and_work_orders.rb
956
+ - db/migrate/20100922181642_create_comments.rb
957
+ - db/migrate/20100927180254_devise_create_users.rb
958
+ - db/migrate/20100927184505_add_details_to_users.rb
959
+ - db/migrate/20100927191329_add_user_to_work_units.rb
960
+ - db/migrate/20100928163356_create_roles.rb
961
+ - db/migrate/20100928203745_create_addresses.rb
962
+ - db/migrate/20100928204544_create_contacts.rb
963
+ - db/migrate/20101007175626_add_lockable_to_users.rb
964
+ - db/migrate/20101020162216_add_paid_at_to_work_units_table.rb
965
+ - db/migrate/20101020162516_add_check_number_to_work_units_table.rb
966
+ - db/migrate/20101020215135_add_paid_field_to_work_units_table.rb
967
+ - db/migrate/20101020215226_add_invoiced_field_to_work_units_table.rb
968
+ - db/migrate/20101020215457_remove_paid_at_from_work_units_table.rb
969
+ - db/migrate/20101020215624_remove_check_number_from_work_units_table.rb
970
+ - db/migrate/20101025161443_add_invoiced_at_to_work_units_table.rb
971
+ - db/migrate/20101026151900_add_initials_to_clients.rb
972
+ - db/migrate/20101029145059_create_file_attachments.rb
973
+ - db/migrate/20101030142615_add_guid_to_users.rb
974
+ - db/migrate/20101102145137_add_paid_at_to_work_units.rb
975
+ - db/migrate/20101112151337_add_active_to_comments.rb
976
+ - db/migrate/20101119172727_add_recieves_email_to_contact.rb
977
+ - db/migrate/20101122225423_projects_users.rb
978
+ - db/migrate/20101129214537_remove_projects_users_table.rb
979
+ - db/migrate/20101130225328_contact_receives_email.rb
980
+ - db/migrate/20101202203051_add_address_to_contacts.rb
981
+ - db/migrate/20101202214746_remove_address_table.rb
982
+ - db/migrate/20101216214304_add_hours_type_to_work_unit.rb
983
+ - db/migrate/20101217152455_add_effective_hours_to_work_units.rb
984
+ - db/migrate/20101228154820_add_overtime_multiplier_to_clients_table.rb
985
+ - db/migrate/20101228154951_add_overtime_multiplier_to_projects_table.rb
986
+ - db/migrate/20101228155122_create_site_settings_table.rb
987
+ - db/migrate/20110107190927_add_site_logo_columns_to_site_settings.rb
988
+ - db/migrate/20110111155513_add_total_yearly_pto_per_user_to_site_settings.rb
989
+ - db/migrate/20110111220015_add_not_valid_to_file_attachment.rb
990
+ - db/migrate/20110125153818_add_fullwidth_to_users.rb
991
+ - db/migrate/20110222162404_add_daily_target_hours_to_users.rb
992
+ - db/migrate/20110310021732_add_client_to_site_settings.rb
993
+ - db/migrate/20110630194044_add_expanded_calendar_to_user.rb
994
+ - db/migrate/20110922175742_add_state_to_tickets.rb
995
+ - db/migrate/20111212193345_add_estimated_hours_to_tickets.rb
996
+ - db/migrate/20111216152557_add_client_boolean_to_user.rb
997
+ - db/migrate/20111220193307_add_repo_and_branch_to_projects_and_ticket.rb
998
+ - db/migrate/20111220193619_create_git_pushes.rb
999
+ - db/migrate/20111220193620_create_git_commits.rb
1000
+ - db/migrate/20111220193621_add_user_id_to_git_push.rb
1001
+ - db/migrate/20111220193622_create_github_concernable_git_pushes.rb
1002
+ - db/migrate/20111227140859_add_token_to_user.rb
1003
+ - db/migrate/20120102185406_add_completed_boolean_to_ticket.rb
1004
+ - db/migrate/20120104132121_add_completed_to_project.rb
1005
+ - db/migrate/20120124184915_modify_project_for_new_git_integration.rb
1006
+ - db/migrate/20120125145833_add_rates_to_project.rb
1007
+ - db/migrate/20120126151009_create_data_vaults.rb
1008
+ - db/migrate/20120126151341_create_versions.rb
1009
+ - db/migrate/20120126154403_rename_column_data_to_encrypted_data.rb
1010
+ - db/migrate/20120221193022_add_index_to_user_id_on_work_units.rb
1011
+ - db/migrate/20120221195345_acts_as_taggable_on_migration.rb
1012
+ - db/migrate/20120320212313_remove_timestamps_from_roles_users_table.rb
1013
+ - db/migrate/20120710034831_create_doorkeeper_tables.rb
1014
+ - db/migrate/20121021122002_add_missing_indices.rb
1015
+ - db/seeds.rb
1016
+ - doc/website/favicon.ico
1017
+ - doc/website/images/clock_box.png
1018
+ - doc/website/images/demo.png
1019
+ - doc/website/images/download.png
1020
+ - doc/website/images/fork_me.png
1021
+ - doc/website/images/lightbox-blank.gif
1022
+ - doc/website/images/lightbox-btn-close.gif
1023
+ - doc/website/images/lightbox-btn-next.gif
1024
+ - doc/website/images/lightbox-btn-prev.gif
1025
+ - doc/website/images/lightbox-ico-loading.gif
1026
+ - doc/website/images/main_bg.png
1027
+ - doc/website/images/nav_bg.png
1028
+ - doc/website/images/screen_1.png
1029
+ - doc/website/images/screen_2.png
1030
+ - doc/website/images/screen_3.png
1031
+ - doc/website/images/screen_4.png
1032
+ - doc/website/images/screen_5.png
1033
+ - doc/website/images/screen_6.png
1034
+ - doc/website/images/support.png
1035
+ - doc/website/images/thumb_1.png
1036
+ - doc/website/images/thumb_2.png
1037
+ - doc/website/images/thumb_3.png
1038
+ - doc/website/images/thumb_4.png
1039
+ - doc/website/images/thumb_5.png
1040
+ - doc/website/images/thumb_6.png
1041
+ - doc/website/images/xrono_logo.png
1042
+ - doc/website/index.html
1043
+ - doc/website/javascripts/application.js
1044
+ - doc/website/javascripts/greyscalebasic_regular.typeface.js
1045
+ - doc/website/javascripts/jquery.lightbox-0.5.min.js
1046
+ - doc/website/javascripts/jquery.min.js
1047
+ - doc/website/javascripts/jquery.tweet.js
1048
+ - doc/website/javascripts/typeface.js
1049
+ - doc/website/javascripts/verdana_regular.typeface.js
1050
+ - doc/website/stylesheets/jquery.lightbox.css
1051
+ - doc/website/stylesheets/jquery.tweet.css
1052
+ - doc/website/stylesheets/reset-fonts-grids.css
1053
+ - doc/website/stylesheets/screen.css
1054
+ - doc/xrono_dash.png
1055
+ - doc/xrono_ticket.png
1056
+ - features/admin/invoices.feature
1057
+ - features/admin/manage_users.feature
1058
+ - features/admin/payroll.feature
1059
+ - features/admin/roles.feature
1060
+ - features/admin/site_settings.feature
1061
+ - features/admin/unentered_time_report.feature
1062
+ - features/admin/weekly_time_report.feature
1063
+ - features/api/v1/clients_controller.feature
1064
+ - features/authorization-admin.feature
1065
+ - features/authorization-non-admin.feature
1066
+ - features/client_login.feature
1067
+ - features/collaborative_work_units.feature
1068
+ - features/daily_emails.feature
1069
+ - features/dashboard.feature
1070
+ - features/manage_clients.feature
1071
+ - features/manage_comments.feature
1072
+ - features/manage_contacts.feature
1073
+ - features/manage_file_attachments.feature
1074
+ - features/manage_projects.feature
1075
+ - features/manage_self.feature
1076
+ - features/manage_tickets.feature
1077
+ - features/manage_users.feature
1078
+ - features/manage_work_units.feature
1079
+ - features/mockups/images/asset-tracker-client-show.png
1080
+ - features/mockups/images/asset-tracker.png
1081
+ - features/mockups/images/ixi - asset tracker v3 homepage - no time entered modal.png
1082
+ - features/mockups/images/ixi - asset tracker v3 homepage - schedule on modal.png
1083
+ - features/mockups/images/ixi - asset tracker v3 homepage.png
1084
+ - features/mockups/ixi - asset tracker v3 homepage - no time entered modal.bmml
1085
+ - features/mockups/ixi - asset tracker v3 homepage - schedule on modal.bmml
1086
+ - features/mockups/ixi - asset tracker v3 homepage.bmml
1087
+ - features/project_assignment.feature
1088
+ - features/search_work_units.feature
1089
+ - features/step_definitions/calendar_expansion_steps.rb
1090
+ - features/step_definitions/client_login_steps.rb
1091
+ - features/step_definitions/client_steps.rb
1092
+ - features/step_definitions/comment_steps.rb
1093
+ - features/step_definitions/contact_steps.rb
1094
+ - features/step_definitions/debug_steps.rb
1095
+ - features/step_definitions/devise_steps.rb
1096
+ - features/step_definitions/email_steps.rb
1097
+ - features/step_definitions/file_attachment_steps.rb
1098
+ - features/step_definitions/modified_web_steps.rb
1099
+ - features/step_definitions/pickle_steps.rb
1100
+ - features/step_definitions/project_steps.rb
1101
+ - features/step_definitions/search_steps.rb
1102
+ - features/step_definitions/ticket_board_steps.rb
1103
+ - features/step_definitions/ticket_detail_steps.rb
1104
+ - features/step_definitions/ticket_steps.rb
1105
+ - features/step_definitions/unentered_time_report_steps.rb
1106
+ - features/step_definitions/user_steps.rb
1107
+ - features/step_definitions/web_steps.rb
1108
+ - features/step_definitions/weekly_time_report_steps.rb
1109
+ - features/step_definitions/work_unit_index_steps.rb
1110
+ - features/step_definitions/work_unit_steps.rb
1111
+ - features/support/email.rb
1112
+ - features/support/env.rb
1113
+ - features/support/paths.rb
1114
+ - features/support/pickle.rb
1115
+ - features/support/selectors.rb
1116
+ - features/support/xrono.rb
1117
+ - features/work_unit_notifier.feature
1118
+ - lib/controller_mixins.rb
1119
+ - lib/controller_mixins/authorization.rb
1120
+ - lib/controller_mixins/contacts.rb
1121
+ - lib/controller_mixins/generic.rb
1122
+ - lib/controller_mixins/tickets.rb
1123
+ - lib/controller_mixins/work_units.rb
1124
+ - lib/date_ext.rb
1125
+ - lib/guid_referenced.rb
1126
+ - lib/tasks/.gitkeep
1127
+ - lib/tasks/acts_as_commentable_tasks.rake
1128
+ - lib/tasks/cucumber.rake
1129
+ - lib/tasks/git_repo_tasks.rake
1130
+ - lib/tasks/notifications.rake
1131
+ - lib/tasks/paperclip_tasks.rake
1132
+ - lib/xrono.rb
1133
+ - lib/xrono/engine.rb
1134
+ - public/404.html
1135
+ - public/422.html
1136
+ - public/500.html
1137
+ - public/favicon.ico
1138
+ - public/favicon.psd
1139
+ - public/images/.DS_Store
1140
+ - public/robots.txt
1141
+ - public/stylesheets/.gitkeep
1142
+ - public/stylesheets/ie.css
1143
+ - public/stylesheets/print.css
1144
+ - public/stylesheets/screen.css
1145
+ - script/cucumber
1146
+ - script/rails
1147
+ - spec/blueprints.rb
1148
+ - spec/controllers/api/v1/clients_controller_spec.rb
1149
+ - spec/controllers/api/v1/projects_controller_spec.rb
1150
+ - spec/controllers/api/v1/tickets_controller_spec.rb
1151
+ - spec/controllers/api/v1/tokens_controller_spec.rb
1152
+ - spec/controllers/client_login/clients_controller_spec.rb
1153
+ - spec/controllers/client_login/reports_controller_spec.rb
1154
+ - spec/controllers/data_vaults_controller_spec.rb
1155
+ - spec/internal/app/controllers/application_controller.rb
1156
+ - spec/internal/config/admin_navigation.rb
1157
+ - spec/internal/config/database.yml
1158
+ - spec/internal/config/database.yml.example
1159
+ - spec/internal/config/database.yml.mysql
1160
+ - spec/internal/config/database.yml.mysql.jruby
1161
+ - spec/internal/config/database.yml.postgres
1162
+ - spec/internal/config/database.yml.postgres.jruby
1163
+ - spec/internal/config/navigation.rb
1164
+ - spec/internal/config/routes.rb
1165
+ - spec/internal/config/secondary_navigation.rb
1166
+ - spec/internal/db/schema.rb
1167
+ - spec/internal/log/.gitignore
1168
+ - spec/internal/public/favicon.ico
1169
+ - spec/internal/public/system/attachment_files/2/original/tmp.txt
1170
+ - spec/internal/public/system/attachment_files/3/original/tmp.txt
1171
+ - spec/lib/date_ext_spec.rb
1172
+ - spec/mailers/notifier_spec.rb
1173
+ - spec/models/client_spec.rb
1174
+ - spec/models/contact_spec.rb
1175
+ - spec/models/data_vault_spec.rb
1176
+ - spec/models/project_spec.rb
1177
+ - spec/models/ticket_spec.rb
1178
+ - spec/models/user_spec.rb
1179
+ - spec/models/work_unit_spec.rb
1180
+ - spec/spec_helper.rb
1181
+ - spec/support/xrono/macros.rb
1182
+ - tmp/.gitkeep
1183
+ - vendor/plugins/.gitkeep
1184
+ - xrono.gemspec
1185
+ homepage:
1186
+ licenses: []
1187
+ post_install_message:
1188
+ rdoc_options: []
1189
+ require_paths:
1190
+ - lib
1191
+ required_ruby_version: !ruby/object:Gem::Requirement
1192
+ none: false
1193
+ requirements:
1194
+ - - ! '>='
1195
+ - !ruby/object:Gem::Version
1196
+ version: '0'
1197
+ required_rubygems_version: !ruby/object:Gem::Requirement
1198
+ none: false
1199
+ requirements:
1200
+ - - ! '>='
1201
+ - !ruby/object:Gem::Version
1202
+ version: '0'
1203
+ requirements: []
1204
+ rubyforge_project:
1205
+ rubygems_version: 1.8.23
1206
+ signing_key:
1207
+ specification_version: 3
1208
+ summary: An asset and time tracking application for consultants and consulting companies.
1209
+ test_files: []