bookyt 0.0.1

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 (357) hide show
  1. data/app/assets/images/16x16/add.png +0 -0
  2. data/app/assets/images/16x16/alert.png +0 -0
  3. data/app/assets/images/16x16/combolink.png +0 -0
  4. data/app/assets/images/16x16/copy.png +0 -0
  5. data/app/assets/images/16x16/delete.png +0 -0
  6. data/app/assets/images/16x16/edit.png +0 -0
  7. data/app/assets/images/16x16/filter.png +0 -0
  8. data/app/assets/images/16x16/index.png +0 -0
  9. data/app/assets/images/16x16/notice.png +0 -0
  10. data/app/assets/images/16x16/pdf.png +0 -0
  11. data/app/assets/images/16x16/print.png +0 -0
  12. data/app/assets/images/16x16/show.png +0 -0
  13. data/app/assets/images/22x22/arrow-right.png +0 -0
  14. data/app/assets/images/22x22/edit.png +0 -0
  15. data/app/assets/images/22x22/insert_booking.png +0 -0
  16. data/app/assets/images/22x22/remove.png +0 -0
  17. data/app/assets/images/32x32/edit.png +0 -0
  18. data/app/assets/images/32x32/remove.png +0 -0
  19. data/app/assets/images/48x48/accounting.png +0 -0
  20. data/app/assets/images/48x48/basic_claims_data.png +0 -0
  21. data/app/assets/images/48x48/contacts.png +0 -0
  22. data/app/assets/images/48x48/invoicing.png +0 -0
  23. data/app/assets/images/48x48/nav_users.png +0 -0
  24. data/app/assets/images/48x48/settings.png +0 -0
  25. data/app/assets/images/48x48/store.png +0 -0
  26. data/app/assets/images/button_bg.png +0 -0
  27. data/app/assets/images/crystal-icons/16x16/filter.png +0 -0
  28. data/app/assets/images/down.png +0 -0
  29. data/app/assets/images/favicon.ico +0 -0
  30. data/app/assets/images/flavour-extended/48x48/invoice.png +0 -0
  31. data/app/assets/images/free-business-desktop-icons/48x48/business.png +0 -0
  32. data/app/assets/images/gnome-web-icons/48x48/Gnome-X-Office-Address-Book-48.png +0 -0
  33. data/app/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  34. data/app/assets/images/jquery-ui/ui-bg_flat_55_fbec88_40x100.png +0 -0
  35. data/app/assets/images/jquery-ui/ui-bg_glass_75_759fcf_1x400.png +0 -0
  36. data/app/assets/images/jquery-ui/ui-bg_glass_85_aeb9cf_1x400.png +0 -0
  37. data/app/assets/images/jquery-ui/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  38. data/app/assets/images/jquery-ui/ui-bg_gloss-wave_55_aeb9cf_500x100.png +0 -0
  39. data/app/assets/images/jquery-ui/ui-bg_inset-hard_100_759fcf_1x100.png +0 -0
  40. data/app/assets/images/jquery-ui/ui-bg_inset-hard_100_f6f6f6_1x100.png +0 -0
  41. data/app/assets/images/jquery-ui/ui-icons_217bc0_256x240.png +0 -0
  42. data/app/assets/images/jquery-ui/ui-icons_2e83ff_256x240.png +0 -0
  43. data/app/assets/images/jquery-ui/ui-icons_469bdd_256x240.png +0 -0
  44. data/app/assets/images/jquery-ui/ui-icons_6da8d5_256x240.png +0 -0
  45. data/app/assets/images/jquery-ui/ui-icons_cd0a0a_256x240.png +0 -0
  46. data/app/assets/images/jquery-ui/ui-icons_d8e7f3_256x240.png +0 -0
  47. data/app/assets/images/jquery-ui/ui-icons_f9bd01_256x240.png +0 -0
  48. data/app/assets/images/jquery/tooltip/black_arrow.png +0 -0
  49. data/app/assets/images/letter-logo.alpha.png +0 -0
  50. data/app/assets/images/letter-logo.big.png +0 -0
  51. data/app/assets/images/letter-logo.orig.png +0 -0
  52. data/app/assets/images/letter-logo.png +0 -0
  53. data/app/assets/images/loading.gif +0 -0
  54. data/app/assets/images/logo.png +0 -0
  55. data/app/assets/images/oxygen-icons/16x16/application-pdf.png +0 -0
  56. data/app/assets/images/oxygen-icons/16x16/document-preview.png +0 -0
  57. data/app/assets/images/oxygen-icons/16x16/document-print.png +0 -0
  58. data/app/assets/images/oxygen-icons/16x16/edit-copy.png +0 -0
  59. data/app/assets/images/oxygen-icons/16x16/go-next.png +0 -0
  60. data/app/assets/images/oxygen-icons/16x16/mail-mark-notjunk.png +0 -0
  61. data/app/assets/images/oxygen-icons/16x16/status_unknown.png +0 -0
  62. data/app/assets/images/oxygen-icons/48x48/system-users.png +0 -0
  63. data/app/assets/images/rails.png +0 -0
  64. data/app/assets/images/up.png +0 -0
  65. data/app/assets/javascripts/application.js +49 -0
  66. data/app/assets/javascripts/cyt.js +86 -0
  67. data/app/assets/javascripts/jquery-ui.js +11437 -0
  68. data/app/assets/javascripts/jquery.dirtyform.js +242 -0
  69. data/app/assets/javascripts/jquery.form.js +785 -0
  70. data/app/assets/javascripts/jquery.js +8936 -0
  71. data/app/assets/javascripts/jquery.meio.mask.js +683 -0
  72. data/app/assets/javascripts/jquery.remotipart.js +46 -0
  73. data/app/assets/javascripts/jquery.ui.combobox.js +77 -0
  74. data/app/assets/javascripts/jquery_ujs.js +316 -0
  75. data/app/assets/javascripts/nested_form.js +51 -0
  76. data/app/assets/javascripts/tooltip.js +343 -0
  77. data/app/assets/stylesheets/.gitkeep +0 -0
  78. data/app/assets/stylesheets/ie.scss +16 -0
  79. data/app/assets/stylesheets/ie6.scss +4 -0
  80. data/app/assets/stylesheets/partials/_base.sass +39 -0
  81. data/app/assets/stylesheets/partials/_content.sass +60 -0
  82. data/app/assets/stylesheets/partials/_jquery.sass +2 -0
  83. data/app/assets/stylesheets/partials/_layout.sass +21 -0
  84. data/app/assets/stylesheets/partials/_sidebar.sass +5 -0
  85. data/app/assets/stylesheets/partials/content/_accounting.sass +41 -0
  86. data/app/assets/stylesheets/partials/content/_ajax_indicator.sass +28 -0
  87. data/app/assets/stylesheets/partials/content/_app.sass +43 -0
  88. data/app/assets/stylesheets/partials/content/_combobox.sass +8 -0
  89. data/app/assets/stylesheets/partials/content/_cyt.sass +200 -0
  90. data/app/assets/stylesheets/partials/content/_fancy_buttons.sass +10 -0
  91. data/app/assets/stylesheets/partials/content/_flash_errors.sass +46 -0
  92. data/app/assets/stylesheets/partials/content/_form_view.sass +20 -0
  93. data/app/assets/stylesheets/partials/content/_icons.sass +35 -0
  94. data/app/assets/stylesheets/partials/content/_invoice.sass +6 -0
  95. data/app/assets/stylesheets/partials/content/_overview.sass +40 -0
  96. data/app/assets/stylesheets/partials/content/_pagination.sass +61 -0
  97. data/app/assets/stylesheets/partials/content/_person.sass +5 -0
  98. data/app/assets/stylesheets/partials/content/_scaffold.sass +67 -0
  99. data/app/assets/stylesheets/partials/content/_table_list.sass +26 -0
  100. data/app/assets/stylesheets/partials/content/formtastic/_formtastic.sass +201 -0
  101. data/app/assets/stylesheets/partials/content/formtastic/_formtastic_cyt.sass +90 -0
  102. data/app/assets/stylesheets/partials/formtastic/_custom_fields.sass +2 -0
  103. data/app/assets/stylesheets/partials/formtastic/_formtastic_base.sass +652 -0
  104. data/app/assets/stylesheets/partials/jquery/_jquery_ui.sass +1461 -0
  105. data/app/assets/stylesheets/partials/jquery/_tooltip.sass +21 -0
  106. data/app/assets/stylesheets/partials/layout/_header.sass +29 -0
  107. data/app/assets/stylesheets/partials/layout/_navigation.sass +2 -0
  108. data/app/assets/stylesheets/partials/layout/navigation/_main.sass +34 -0
  109. data/app/assets/stylesheets/partials/layout/navigation/_sidebar.sass +18 -0
  110. data/app/assets/stylesheets/partials/print/_app.sass +21 -0
  111. data/app/assets/stylesheets/partials/print/_layout.sass +24 -0
  112. data/app/assets/stylesheets/print.scss +5 -0
  113. data/app/assets/stylesheets/screen.scss +12 -0
  114. data/app/controllers/account_types_controller.rb +2 -0
  115. data/app/controllers/accounts_controller.rb +30 -0
  116. data/app/controllers/application_controller.rb +12 -0
  117. data/app/controllers/attachments_controller.rb +15 -0
  118. data/app/controllers/authorized_controller.rb +24 -0
  119. data/app/controllers/bank_accounts_controller.rb +2 -0
  120. data/app/controllers/booking_imports_controller.rb +2 -0
  121. data/app/controllers/booking_templates_controller.rb +8 -0
  122. data/app/controllers/bookings_controller.rb +64 -0
  123. data/app/controllers/charge_booking_templates_controller.rb +2 -0
  124. data/app/controllers/charge_rates_controller.rb +2 -0
  125. data/app/controllers/companies_controller.rb +8 -0
  126. data/app/controllers/credit_invoices_controller.rb +29 -0
  127. data/app/controllers/customers_controller.rb +12 -0
  128. data/app/controllers/debit_invoices_controller.rb +43 -0
  129. data/app/controllers/direct_bookings_controller.rb +17 -0
  130. data/app/controllers/employees_controller.rb +3 -0
  131. data/app/controllers/employments_controller.rb +2 -0
  132. data/app/controllers/invoices_controller.rb +21 -0
  133. data/app/controllers/notes_controller.rb +34 -0
  134. data/app/controllers/overview_controller.rb +6 -0
  135. data/app/controllers/people_controller.rb +13 -0
  136. data/app/controllers/salaries_controller.rb +46 -0
  137. data/app/controllers/tenants_controller.rb +39 -0
  138. data/app/controllers/users_controller.rb +26 -0
  139. data/app/helpers/application_helper.rb +52 -0
  140. data/app/helpers/booking_helper.rb +10 -0
  141. data/app/helpers/booking_template_helper.rb +17 -0
  142. data/app/helpers/charge_rate_helper.rb +5 -0
  143. data/app/helpers/invoice_helper.rb +9 -0
  144. data/app/helpers/vat_rate_helper.rb +10 -0
  145. data/app/inputs/combobox_input.rb +23 -0
  146. data/app/inputs/date_field_input.rb +5 -0
  147. data/app/inputs/hour_field_input.rb +5 -0
  148. data/app/models/ability.rb +34 -0
  149. data/app/models/attachment.rb +13 -0
  150. data/app/models/booking_import.rb +8 -0
  151. data/app/models/booking_import_observer.rb +7 -0
  152. data/app/models/booking_reference.rb +4 -0
  153. data/app/models/booking_template.rb +92 -0
  154. data/app/models/charge_booking_template.rb +57 -0
  155. data/app/models/charge_rate.rb +30 -0
  156. data/app/models/civil_status.rb +5 -0
  157. data/app/models/company.rb +5 -0
  158. data/app/models/credit_invoice.rb +32 -0
  159. data/app/models/customer.rb +4 -0
  160. data/app/models/debit_invoice.rb +24 -0
  161. data/app/models/employee.rb +6 -0
  162. data/app/models/employment.rb +28 -0
  163. data/app/models/invoice.rb +145 -0
  164. data/app/models/line_item.rb +22 -0
  165. data/app/models/note.rb +8 -0
  166. data/app/models/person.rb +65 -0
  167. data/app/models/product.rb +2 -0
  168. data/app/models/profit.rb +9 -0
  169. data/app/models/religion.rb +5 -0
  170. data/app/models/role.rb +9 -0
  171. data/app/models/salary.rb +93 -0
  172. data/app/models/tenant.rb +43 -0
  173. data/app/models/user.rb +44 -0
  174. data/app/models/vat_rate.rb +11 -0
  175. data/app/uploaders/attachment_uploader.rb +12 -0
  176. data/app/views/account_types/_account_type.html.haml +6 -0
  177. data/app/views/account_types/_form.html.haml +7 -0
  178. data/app/views/account_types/_list.html.haml +7 -0
  179. data/app/views/account_types/index.html.haml +6 -0
  180. data/app/views/account_types/show.html.haml +6 -0
  181. data/app/views/accounts/_account.html.haml +12 -0
  182. data/app/views/accounts/_booking_item.html.haml +15 -0
  183. data/app/views/accounts/_booking_list.html.haml +19 -0
  184. data/app/views/accounts/_booking_list_footer.html.haml +2 -0
  185. data/app/views/accounts/_booking_list_header.html.haml +8 -0
  186. data/app/views/accounts/_booking_list_paginate.html.haml +5 -0
  187. data/app/views/accounts/_booking_list_saldo.html.haml +8 -0
  188. data/app/views/accounts/_booking_list_turnover.html.haml +9 -0
  189. data/app/views/accounts/_carry_booking.html.haml +9 -0
  190. data/app/views/accounts/_form.html.haml +10 -0
  191. data/app/views/accounts/_list_footer.html.haml +2 -0
  192. data/app/views/accounts/_list_header.html.haml +5 -0
  193. data/app/views/accounts/index.html.haml +8 -0
  194. data/app/views/accounts/show.html.haml +10 -0
  195. data/app/views/application/_form.html.haml +7 -0
  196. data/app/views/application/_list.html.haml +15 -0
  197. data/app/views/application/_search_form.html.haml +5 -0
  198. data/app/views/application/_show.html.haml +2 -0
  199. data/app/views/application/create.js.erb +3 -0
  200. data/app/views/application/destroy.js.erb +2 -0
  201. data/app/views/application/edit.html.haml +5 -0
  202. data/app/views/application/edit.js.erb +3 -0
  203. data/app/views/application/index.html.haml +7 -0
  204. data/app/views/application/new.html.haml +5 -0
  205. data/app/views/application/new.js.erb +3 -0
  206. data/app/views/application/show.html.haml +5 -0
  207. data/app/views/application/update.js.erb +3 -0
  208. data/app/views/attachments/_attachment.html.haml +5 -0
  209. data/app/views/attachments/_form.html.haml +15 -0
  210. data/app/views/attachments/_list.html.haml +6 -0
  211. data/app/views/bank_accounts/_bank_account.html.haml +1 -0
  212. data/app/views/booking_imports/_booking_import.html.haml +5 -0
  213. data/app/views/booking_imports/_form.html.haml +6 -0
  214. data/app/views/booking_imports/_list.html.haml +7 -0
  215. data/app/views/booking_imports/create.js.erb +4 -0
  216. data/app/views/booking_imports/index.html.haml +6 -0
  217. data/app/views/booking_imports/show.html.haml +6 -0
  218. data/app/views/booking_templates/_booking_template.html.haml +16 -0
  219. data/app/views/booking_templates/_form.html.haml +12 -0
  220. data/app/views/booking_templates/_list.html.haml +10 -0
  221. data/app/views/booking_templates/index.html.haml +6 -0
  222. data/app/views/bookings/_booking.html.haml +17 -0
  223. data/app/views/bookings/_form.html.haml +14 -0
  224. data/app/views/bookings/_list.html.haml +11 -0
  225. data/app/views/bookings/_new_form.html.haml +8 -0
  226. data/app/views/bookings/_sidebar.html.haml +7 -0
  227. data/app/views/bookings/_simple_form.html.haml +12 -0
  228. data/app/views/bookings/index.html.haml +9 -0
  229. data/app/views/bookings/new.html.haml +8 -0
  230. data/app/views/bookings/select.html.haml +11 -0
  231. data/app/views/bookings/show.html.haml +27 -0
  232. data/app/views/bookings/simple_edit.html.haml +4 -0
  233. data/app/views/charge_booking_templates/_charge_booking_template.html.haml +15 -0
  234. data/app/views/charge_booking_templates/_form.html.haml +12 -0
  235. data/app/views/charge_booking_templates/_list.html.haml +10 -0
  236. data/app/views/charge_rates/_form.html.haml +14 -0
  237. data/app/views/companies/_company.html.haml +5 -0
  238. data/app/views/companies/_form.html.haml +8 -0
  239. data/app/views/companies/_list.html.haml +6 -0
  240. data/app/views/companies/index.html.haml +6 -0
  241. data/app/views/companies/show.html.haml +27 -0
  242. data/app/views/credit_invoices/_credit_invoice.html.haml +9 -0
  243. data/app/views/credit_invoices/_form.html.haml +41 -0
  244. data/app/views/credit_invoices/_list.html.haml +20 -0
  245. data/app/views/credit_invoices/index.html.haml +7 -0
  246. data/app/views/credit_invoices/show.html.haml +56 -0
  247. data/app/views/customers/_customer.html.haml +5 -0
  248. data/app/views/customers/_form.html.haml +8 -0
  249. data/app/views/customers/_list.html.haml +6 -0
  250. data/app/views/customers/index.html.haml +6 -0
  251. data/app/views/customers/show.html.haml +22 -0
  252. data/app/views/debit_invoices/_debit_invoice.html.haml +9 -0
  253. data/app/views/debit_invoices/_form.html.haml +38 -0
  254. data/app/views/debit_invoices/_invoice_body.html.haml +8 -0
  255. data/app/views/debit_invoices/_invoice_info.html.haml +10 -0
  256. data/app/views/debit_invoices/_invoice_parties.html.haml +9 -0
  257. data/app/views/debit_invoices/_list.html.haml +21 -0
  258. data/app/views/debit_invoices/index.html.haml +7 -0
  259. data/app/views/debit_invoices/letter.html.haml +9 -0
  260. data/app/views/debit_invoices/letter.pdf.prawn +57 -0
  261. data/app/views/debit_invoices/show.html.haml +56 -0
  262. data/app/views/devise/confirmations/new.html.haml +10 -0
  263. data/app/views/devise/mailer/confirmation_instructions.html.haml +6 -0
  264. data/app/views/devise/mailer/reset_password_instructions.html.haml +10 -0
  265. data/app/views/devise/mailer/unlock_instructions.html.haml +8 -0
  266. data/app/views/devise/passwords/edit.html.haml +15 -0
  267. data/app/views/devise/passwords/new.html.haml +11 -0
  268. data/app/views/devise/sessions/new.html.haml +13 -0
  269. data/app/views/devise/shared/_links.haml +15 -0
  270. data/app/views/devise/unlocks/new.html.haml +11 -0
  271. data/app/views/direct_bookings/_form.html.haml +12 -0
  272. data/app/views/direct_bookings/_item.html.haml +17 -0
  273. data/app/views/direct_bookings/_list.html.haml +10 -0
  274. data/app/views/direct_bookings/_list_footer.html.haml +6 -0
  275. data/app/views/direct_bookings/_show.html.haml +3 -0
  276. data/app/views/direct_bookings/_show_all.html.haml +8 -0
  277. data/app/views/direct_bookings/list.js.erb +2 -0
  278. data/app/views/direct_bookings/new.js.erb +2 -0
  279. data/app/views/employees/_employee.html.haml +5 -0
  280. data/app/views/employees/_form.html.haml +19 -0
  281. data/app/views/employees/_list.html.haml +6 -0
  282. data/app/views/employees/index.html.haml +6 -0
  283. data/app/views/employees/show.html.haml +31 -0
  284. data/app/views/employments/_employment.html.haml +10 -0
  285. data/app/views/employments/_form.html.haml +24 -0
  286. data/app/views/employments/_list.html.haml +11 -0
  287. data/app/views/employments/_show.html.haml +9 -0
  288. data/app/views/employments/index.html.haml +5 -0
  289. data/app/views/invoices/_form.html.haml +13 -0
  290. data/app/views/invoices/_invoice.html.haml +7 -0
  291. data/app/views/invoices/_list.html.haml +20 -0
  292. data/app/views/invoices/_sidebar.html.haml +11 -0
  293. data/app/views/invoices/index.html.haml +17 -0
  294. data/app/views/invoices/show.html.haml +56 -0
  295. data/app/views/layouts/_flash_new.html.haml +1 -0
  296. data/app/views/layouts/_list_item_actions_for.html.haml +3 -0
  297. data/app/views/layouts/application.html.haml +46 -0
  298. data/app/views/line_items/_form.html.haml +6 -0
  299. data/app/views/line_items/_line_item.html.haml +7 -0
  300. data/app/views/line_items/_list_footer.html.haml +7 -0
  301. data/app/views/notes/_form.html.haml +10 -0
  302. data/app/views/notes/_list.html.haml +15 -0
  303. data/app/views/notes/index.html.haml +9 -0
  304. data/app/views/notes/show.html.haml +12 -0
  305. data/app/views/overview/index.html.haml +14 -0
  306. data/app/views/people/_form.html.haml +8 -0
  307. data/app/views/people/_list.html.haml +7 -0
  308. data/app/views/people/_person.html.haml +6 -0
  309. data/app/views/people/_show.html.haml +6 -0
  310. data/app/views/people/show.html.haml +21 -0
  311. data/app/views/persons/_civil.html.haml +5 -0
  312. data/app/views/persons/_show.html.haml +6 -0
  313. data/app/views/salaries/_form.html.haml +14 -0
  314. data/app/views/salaries/_list.html.haml +12 -0
  315. data/app/views/salaries/_salary.html.haml +10 -0
  316. data/app/views/salaries/_salary_certificate.html.haml +25 -0
  317. data/app/views/salaries/payslip.html.haml +40 -0
  318. data/app/views/salaries/show.html.haml +30 -0
  319. data/app/views/salaries/statistics.html.haml +6 -0
  320. data/app/views/tenants/_account.html.haml +7 -0
  321. data/app/views/tenants/_account_group_sheet.html.haml +8 -0
  322. data/app/views/tenants/_form.html.haml +17 -0
  323. data/app/views/tenants/_list.html.haml +7 -0
  324. data/app/views/tenants/_tenant.html.haml +7 -0
  325. data/app/views/tenants/balance_sheet.html.haml +43 -0
  326. data/app/views/tenants/index.html.haml +6 -0
  327. data/app/views/tenants/new.js.erb +1 -0
  328. data/app/views/tenants/profit_sheet.html.haml +26 -0
  329. data/app/views/tenants/show.html.haml +18 -0
  330. data/app/views/users/_demo.de-CH.html.haml +7 -0
  331. data/app/views/users/_demo.de.html.haml +7 -0
  332. data/app/views/users/_demo.html.haml +7 -0
  333. data/app/views/users/_form.html.haml +17 -0
  334. data/app/views/users/_list.html.haml +9 -0
  335. data/app/views/users/_show.html.haml +13 -0
  336. data/app/views/users/_user.html.haml +7 -0
  337. data/app/views/users/index.html.haml +6 -0
  338. data/app/views/users/new.js.erb +1 -0
  339. data/app/views/users/show.html.haml +14 -0
  340. data/lib/acts_as_csv.rb +113 -0
  341. data/lib/bookyt/engine.rb +18 -0
  342. data/lib/bookyt/version.rb +3 -0
  343. data/lib/float.rb +17 -0
  344. data/lib/pagination_list_link_renderer.rb +63 -0
  345. data/lib/parse_date.rb +27 -0
  346. data/lib/prawn/letter_document.rb +136 -0
  347. data/lib/raiffeisen_importer.rb +15 -0
  348. data/lib/recipes/bookyt.rb +15 -0
  349. data/lib/simple_navigation/renderer/list.rb +20 -0
  350. data/lib/simple_navigation/renderer/overview.rb +46 -0
  351. data/lib/sqlite3_extensions.rb +45 -0
  352. data/lib/tasks/.gitkeep +0 -0
  353. data/lib/tasks/bookyt.rake +15 -0
  354. data/lib/tasks/cucumber.rake +53 -0
  355. data/lib/tasks/environment_seeds.rake +7 -0
  356. data/lib/tasks/users.rake +46 -0
  357. metadata +423 -0
@@ -0,0 +1,27 @@
1
+ class Date
2
+ # Date helpers
3
+ def self.parse_date(value)
4
+ if value.is_a?(String)
5
+ if value.match /.*-.*-.*/
6
+ return value
7
+ end
8
+ day, month, year = value.split('.').map {|s| s.to_i}
9
+ month ||= Date.today.month
10
+ year ||= Date.today.year
11
+ year = expand_year(year, 1900)
12
+
13
+ return sprintf("%4d-%02d-%02d", year, month, day)
14
+ else
15
+ return value
16
+ end
17
+ end
18
+
19
+ def self.date_only_year?(value)
20
+ value.is_a?(String) and value.strip.match /^\d{2,4}$/
21
+ end
22
+
23
+ def self.expand_year(value, base = 1900)
24
+ year = value.to_i
25
+ return year < 100 ? year + base : year
26
+ end
27
+ end
@@ -0,0 +1,136 @@
1
+ require 'vesr'
2
+
3
+ module Prawn
4
+ class LetterDocument < Prawn::Document
5
+
6
+ include ApplicationHelper
7
+ include ActionView::Helpers::TranslationHelper
8
+ include Prawn::Measurements
9
+ include EsrRecipe
10
+
11
+ def initialize(opts = {})
12
+ super
13
+
14
+ # Default Font
15
+ font 'Helvetica'
16
+ font_size 11
17
+ end
18
+
19
+ # Draws the full address of a vcard
20
+ def full_address(vcard)
21
+ vcard.full_address_lines.each do |line|
22
+ text line
23
+ end
24
+ end
25
+
26
+ def header(sender)
27
+ repeat :all do
28
+ # TODO use uploaded file from tenant
29
+ # TODO think about requiring prawn-fast-png or only use PNGs with no transparency
30
+ # You better use a bigger file as it gives better resolution
31
+ logo = ::Rails.root.join("public/system/images/letter-logo.png")
32
+ image logo, :height => 50, :at => [0, bounds.top + 20] if logo.exist?
33
+ end
34
+ end
35
+
36
+ def footer(sender, bank_account)
37
+ repeat :all do
38
+ bounding_box [bounds.left, 35], :width => 120, :height => 40 do
39
+ font_size 7 do
40
+ vcard = sender.vcard
41
+
42
+ text "Begünstigter:"
43
+ text vcard.full_name
44
+ text vcard.extended_address unless vcard.extended_address.blank?
45
+ text vcard.street_address
46
+ text vcard.postal_code + " " + vcard.locality
47
+ end
48
+ end
49
+
50
+ if bank_account and bank_account.bank
51
+ bounding_box [bounds.left + 190, 35], :width => 120, :height => 40 do
52
+ font_size 7 do
53
+ vcard = bank_account.bank.vcard
54
+
55
+ text "Bank:"
56
+ text vcard.full_name
57
+ text vcard.street_address if vcard.street_address.present?
58
+ locality = [vcard.postal_code, vcard.locality].compact.join(', ')
59
+ text locality if locality.present?
60
+ end
61
+ end
62
+
63
+ bounding_box [bounds.left + 360, 35], :width => 120, :height => 40 do
64
+ font_size 7 do
65
+ vcard = bank_account.bank.vcard
66
+
67
+ text "Konto:"
68
+ text "IBAN: " + bank_account.iban if bank_account.iban.present?
69
+ text "SWIFT: " + bank_account.bank.swift if bank_account.bank.swift.present?
70
+ text "Clearing: " + bank_account.bank.clearing if bank_account.bank.clearing.present?
71
+ text "PC-Konto: " + bank_account.pc_id if bank_account.pc_id.present?
72
+ end
73
+ end
74
+ end
75
+ end
76
+ end
77
+
78
+ def closing(sender, due_date)
79
+ text I18n.t('letters.debit_invoice.closing', :due_date => due_date), :align => :justify
80
+
81
+ text " "
82
+ text " "
83
+
84
+ text I18n.t('letters.greetings')
85
+ text " "
86
+ text "#{sender.vcard.full_name}"
87
+ end
88
+
89
+ def line_items_table(invoice, line_items)
90
+ content = line_items.collect do |item|
91
+
92
+ if item.times == 1
93
+ if item.quantity == "x"
94
+ amount = ""
95
+ elsif item.quantity == "overall"
96
+ amount = t('line_items.quantity.overall')
97
+ else
98
+ amount = "#{item.times} #{t(item.quantity, :scope => 'line_items.quantity')}"
99
+ end
100
+ else
101
+ amount = "#{currency_fmt(item.times)} #{t(item.quantity, :scope => 'line_items.quantity')}"
102
+ end
103
+
104
+ price = currency_fmt(item.price)
105
+
106
+ [item.title, item.date, amount, price, currency_fmt(item.total_amount)]
107
+ end
108
+
109
+ total = ["Total", nil, nil, nil, currency_fmt(invoice.amount)]
110
+
111
+ rows = content + [total]
112
+ table(rows, :width => bounds.width) do
113
+
114
+ # General cell styling
115
+ cells.valign = :top
116
+ cells.borders = []
117
+
118
+ # Columns
119
+ columns(2..4).align = :right
120
+ column(1).width = 65
121
+ column(2).width = 75
122
+ column(3).width = 65
123
+ column(4).width = 65
124
+ column(0).padding_left = 0
125
+ column(-1).padding_right = 0
126
+
127
+ # Footer styling
128
+ row(-1).font_style = :bold
129
+ end
130
+ end
131
+
132
+ def payment_order(sender, bank_account, invoice)
133
+ draw_text invoice.esr9(bank_account), :at => [cm2pt(5.2), 0]
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,15 @@
1
+ require 'csv-mapper'
2
+
3
+ module RaiffeisenImporter
4
+ def self.import(file)
5
+ results = CsvMapper.import(file) do
6
+ delimited_by ';'
7
+ start_at_row 1
8
+ # Booked At;Text;Credit/Debit Amount;Balance;Valuta Date
9
+ [booked_at, text, credit, balance, valuta_date]
10
+ end
11
+ results.each do |r|
12
+ BookingTemplate.import(r)
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,15 @@
1
+ before "deploy:setup", "bookyt:setup"
2
+ after "deploy:update_code", "bookyt:symlink"
3
+
4
+ namespace :bookyt do
5
+ desc "Create bookyt config initializer in capistrano shared path"
6
+ task :setup do
7
+ run "mkdir -p #{shared_path}/config/initializers"
8
+ upload "config/initializers/bookyt.rb.example", "#{shared_path}/config/initializers/bookyt.rb", :via => :scp
9
+ end
10
+
11
+ desc "Make symlink for config initializer"
12
+ task :symlink do
13
+ run "ln -nfs #{shared_path}/config/initializers/bookyt.rb #{release_path}/config/initializers/bookyt.rb"
14
+ end
15
+ end
@@ -0,0 +1,20 @@
1
+ SimpleNavigation::Renderer::List.class_eval do
2
+ alias old_render render
3
+ def render(item_container)
4
+ old_render(clean_up_html_options(item_container))
5
+ end
6
+
7
+ private
8
+ #
9
+ # Cleans the items from unused and not conform html_options
10
+ #
11
+ def clean_up_html_options(item_container)
12
+ item_container.items.each do |item|
13
+ html_options = item.html_options
14
+ html_options.delete(:tooltip)
15
+ item.html_options = html_options
16
+ end
17
+
18
+ item_container
19
+ end
20
+ end
@@ -0,0 +1,46 @@
1
+ module SimpleNavigation
2
+ module Renderer
3
+
4
+ # Renders an ItemContainer as a <ul> element and its containing items as <li> elements.
5
+ # It adds the 'selected' class to li element AND the link inside the li element that is currently active.
6
+ #
7
+ # If the sub navigation should be included (based on the level and expand_all options), it renders another <ul> containing the sub navigation inside the active <li> element.
8
+ #
9
+ # By default, the renderer sets the item's key as dom_id for the rendered <li> element unless the config option <tt>autogenerate_item_ids</tt> is set to false.
10
+ # The id can also be explicitely specified by setting the id in the html-options of the 'item' method in the config/navigation.rb file.
11
+ class Overview < SimpleNavigation::Renderer::Base
12
+
13
+ OVERVIEW_PREFIX = 'overview'
14
+
15
+ def render(item_container)
16
+ list_content = item_container.items.inject([]) do |list, item|
17
+ html_options = item.html_options
18
+ li_content = link_to(item.name, item.url, :class => item.selected_class, :method => item.method, :title => html_options[:tooltip])
19
+ if include_sub_navigation?(item)
20
+ li_content << render_sub_navigation_for(item)
21
+ end
22
+ list << content_tag(:li, li_content, modify_html_options(html_options))
23
+ end.join
24
+ if skip_if_empty? && item_container.empty?
25
+ ''
26
+ else
27
+ content_tag(:ul, list_content, {:class => "#{OVERVIEW_PREFIX}-list level-#{item_container.level}"})
28
+ end
29
+ end
30
+
31
+ private
32
+
33
+ #
34
+ # Modifies the html options
35
+ #
36
+ def modify_html_options(options)
37
+ # Adds a prefix to the ids so that the ids not appear twice.
38
+ options[:id] = "#{OVERVIEW_PREFIX}-#{options[:id]}"
39
+ # Removes tooltip cause of w3c validation.
40
+ options.delete(:tooltip)
41
+
42
+ options
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,45 @@
1
+ class Sqlite3Extension
2
+ def self.setup(connection)
3
+ @connection = connection
4
+ regexp
5
+ year
6
+ end
7
+
8
+ def self.regexp
9
+ @connection.create_function("regexp", 2) do |func, expr, value|
10
+ begin
11
+ if value.to_s && value.to_s.match(Regexp.new(expr.to_s))
12
+ func.result = 1
13
+ else
14
+ func.result = 0
15
+ end
16
+ rescue => e
17
+ puts "error: #{e}"
18
+ end
19
+ end
20
+ end
21
+
22
+ def self.year
23
+ @connection.create_function("year", 1) do |func, date|
24
+ begin
25
+ func.result = Date.parse(date).year
26
+ rescue => e
27
+ puts "error: #{e}"
28
+ end
29
+ end
30
+ end
31
+ end
32
+
33
+ require 'active_record/connection_adapters/abstract/connection_pool'
34
+ class ActiveRecord::ConnectionAdapters::ConnectionPool
35
+ alias orig_connection connection
36
+ def connection
37
+ conn = orig_connection
38
+
39
+ if conn.adapter_name.eql?("SQLite")
40
+ Sqlite3Extension.setup(conn.instance_variable_get(:@connection))
41
+ end
42
+
43
+ return conn
44
+ end
45
+ end
File without changes
@@ -0,0 +1,15 @@
1
+ namespace :bookyt do
2
+ desc "Set up a fresh cloned git repo for operation"
3
+ task :setup do
4
+ ['database'].each do |file|
5
+ example_file = Rails.root.join('config',"#{file}.yml.example")
6
+ real_file = Rails.root.join('config',"#{file}.yml")
7
+
8
+ if ! File.exists?(real_file)
9
+ sh "cp #{example_file} #{real_file}"
10
+ else
11
+ puts "#{real_file} already exists!"
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,53 @@
1
+ # IMPORTANT: This file is generated by cucumber-rails - edit at your own peril.
2
+ # It is recommended to regenerate this file in the future when you upgrade to a
3
+ # newer version of cucumber-rails. Consider adding your own code to a new file
4
+ # instead of editing this one. Cucumber will automatically load all features/**/*.rb
5
+ # files.
6
+
7
+
8
+ unless ARGV.any? {|a| a =~ /^gems/} # Don't load anything when running the gems:* tasks
9
+
10
+ vendored_cucumber_bin = Dir["#{Rails.root}/vendor/{gems,plugins}/cucumber*/bin/cucumber"].first
11
+ $LOAD_PATH.unshift(File.dirname(vendored_cucumber_bin) + '/../lib') unless vendored_cucumber_bin.nil?
12
+
13
+ begin
14
+ require 'cucumber/rake/task'
15
+
16
+ namespace :cucumber do
17
+ Cucumber::Rake::Task.new({:ok => 'db:test:prepare'}, 'Run features that should pass') do |t|
18
+ t.binary = vendored_cucumber_bin # If nil, the gem's binary is used.
19
+ t.fork = true # You may get faster startup if you set this to false
20
+ t.profile = 'default'
21
+ end
22
+
23
+ Cucumber::Rake::Task.new({:wip => 'db:test:prepare'}, 'Run features that are being worked on') do |t|
24
+ t.binary = vendored_cucumber_bin
25
+ t.fork = true # You may get faster startup if you set this to false
26
+ t.profile = 'wip'
27
+ end
28
+
29
+ Cucumber::Rake::Task.new({:rerun => 'db:test:prepare'}, 'Record failing features and run only them if any exist') do |t|
30
+ t.binary = vendored_cucumber_bin
31
+ t.fork = true # You may get faster startup if you set this to false
32
+ t.profile = 'rerun'
33
+ end
34
+
35
+ desc 'Run all features'
36
+ task :all => [:ok, :wip]
37
+ end
38
+ desc 'Alias for cucumber:ok'
39
+ task :cucumber => 'cucumber:ok'
40
+
41
+ task :default => :cucumber
42
+
43
+ task :features => :cucumber do
44
+ STDERR.puts "*** The 'features' task is deprecated. See rake -T cucumber ***"
45
+ end
46
+ rescue LoadError
47
+ desc 'cucumber rake task not available (cucumber not installed)'
48
+ task :cucumber do
49
+ abort 'Cucumber rake task is not available. Be sure to install cucumber as a gem or plugin'
50
+ end
51
+ end
52
+
53
+ end
@@ -0,0 +1,7 @@
1
+ # Support environment specific seeds.
2
+ namespace :db do
3
+ task :seed => :environment do
4
+ env_seed_file = File.join(Rails.root, 'db', 'seeds', "#{Rails.env}.rb")
5
+ load(env_seed_file) if File.exist?(env_seed_file)
6
+ end
7
+ end
@@ -0,0 +1,46 @@
1
+ def ask message
2
+ print message
3
+ STDIN.gets.chomp
4
+ end
5
+
6
+ namespace :users do
7
+ desc "Creates an admin user"
8
+ task :admin => :environment do
9
+
10
+ # Ask for credentials
11
+ puts "Please give admin credentials:"
12
+ email = ask('Email: ')
13
+ password = ask('Password (at least 6 chars): ')
14
+ given_name = ask('Given name: ')
15
+ family_name = ask('Family name: ')
16
+ person = Person.create(:vcard => Vcard.new(:given_name => given_name, :family_name => family_name))
17
+
18
+ # Create user
19
+ user = User.create({
20
+ :email => email,
21
+ :password => password,
22
+ :person => person
23
+ })
24
+
25
+ if user.invalid?
26
+ puts "[Error] creating user:"
27
+ user.errors.each do |error|
28
+ puts error
29
+ end
30
+
31
+ exit 1
32
+ end
33
+
34
+ # Assign admin role
35
+ user.role_texts = ['admin']
36
+
37
+ # Create Company
38
+ puts "Please give company credentials:"
39
+ full_name = ask('Name: ')
40
+ company = Company.create(:vcard => Vcard.new(:full_name => full_name))
41
+
42
+ # Create tenant
43
+ tenant = Tenant.create(:company => company, :incorporated_on => Date.today, :fiscal_year_ends_on => Date.today.end_of_year)
44
+ tenant.users << user
45
+ end
46
+ end
metadata ADDED
@@ -0,0 +1,423 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: bookyt
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease:
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - "Simon H\xC3\xBCrlimann"
14
+ - Roman Simecek
15
+ autorequire:
16
+ bindir: bin
17
+ cert_chain: []
18
+
19
+ date: 2011-10-31 00:00:00 Z
20
+ dependencies: []
21
+
22
+ description: bookyt is a simple but powerfull financial accounting software.
23
+ email:
24
+ - simon.huerlimann@cyt.ch
25
+ - roman.simecek@cyt.ch
26
+ executables: []
27
+
28
+ extensions: []
29
+
30
+ extra_rdoc_files: []
31
+
32
+ files:
33
+ - app/assets/images/16x16/add.png
34
+ - app/assets/images/16x16/alert.png
35
+ - app/assets/images/16x16/combolink.png
36
+ - app/assets/images/16x16/copy.png
37
+ - app/assets/images/16x16/delete.png
38
+ - app/assets/images/16x16/edit.png
39
+ - app/assets/images/16x16/filter.png
40
+ - app/assets/images/16x16/index.png
41
+ - app/assets/images/16x16/notice.png
42
+ - app/assets/images/16x16/pdf.png
43
+ - app/assets/images/16x16/print.png
44
+ - app/assets/images/16x16/show.png
45
+ - app/assets/images/22x22/arrow-right.png
46
+ - app/assets/images/22x22/edit.png
47
+ - app/assets/images/22x22/insert_booking.png
48
+ - app/assets/images/22x22/remove.png
49
+ - app/assets/images/32x32/edit.png
50
+ - app/assets/images/32x32/remove.png
51
+ - app/assets/images/48x48/accounting.png
52
+ - app/assets/images/48x48/basic_claims_data.png
53
+ - app/assets/images/48x48/contacts.png
54
+ - app/assets/images/48x48/invoicing.png
55
+ - app/assets/images/48x48/nav_users.png
56
+ - app/assets/images/48x48/settings.png
57
+ - app/assets/images/48x48/store.png
58
+ - app/assets/images/button_bg.png
59
+ - app/assets/images/crystal-icons/16x16/filter.png
60
+ - app/assets/images/down.png
61
+ - app/assets/images/favicon.ico
62
+ - app/assets/images/flavour-extended/48x48/invoice.png
63
+ - app/assets/images/free-business-desktop-icons/48x48/business.png
64
+ - app/assets/images/gnome-web-icons/48x48/Gnome-X-Office-Address-Book-48.png
65
+ - app/assets/images/jquery-ui/ui-bg_flat_0_aaaaaa_40x100.png
66
+ - app/assets/images/jquery-ui/ui-bg_flat_55_fbec88_40x100.png
67
+ - app/assets/images/jquery-ui/ui-bg_glass_75_759fcf_1x400.png
68
+ - app/assets/images/jquery-ui/ui-bg_glass_85_aeb9cf_1x400.png
69
+ - app/assets/images/jquery-ui/ui-bg_glass_95_fef1ec_1x400.png
70
+ - app/assets/images/jquery-ui/ui-bg_gloss-wave_55_aeb9cf_500x100.png
71
+ - app/assets/images/jquery-ui/ui-bg_inset-hard_100_759fcf_1x100.png
72
+ - app/assets/images/jquery-ui/ui-bg_inset-hard_100_f6f6f6_1x100.png
73
+ - app/assets/images/jquery-ui/ui-icons_217bc0_256x240.png
74
+ - app/assets/images/jquery-ui/ui-icons_2e83ff_256x240.png
75
+ - app/assets/images/jquery-ui/ui-icons_469bdd_256x240.png
76
+ - app/assets/images/jquery-ui/ui-icons_6da8d5_256x240.png
77
+ - app/assets/images/jquery-ui/ui-icons_cd0a0a_256x240.png
78
+ - app/assets/images/jquery-ui/ui-icons_d8e7f3_256x240.png
79
+ - app/assets/images/jquery-ui/ui-icons_f9bd01_256x240.png
80
+ - app/assets/images/jquery/tooltip/black_arrow.png
81
+ - app/assets/images/letter-logo.alpha.png
82
+ - app/assets/images/letter-logo.big.png
83
+ - app/assets/images/letter-logo.orig.png
84
+ - app/assets/images/letter-logo.png
85
+ - app/assets/images/loading.gif
86
+ - app/assets/images/logo.png
87
+ - app/assets/images/oxygen-icons/16x16/application-pdf.png
88
+ - app/assets/images/oxygen-icons/16x16/document-preview.png
89
+ - app/assets/images/oxygen-icons/16x16/document-print.png
90
+ - app/assets/images/oxygen-icons/16x16/edit-copy.png
91
+ - app/assets/images/oxygen-icons/16x16/go-next.png
92
+ - app/assets/images/oxygen-icons/16x16/mail-mark-notjunk.png
93
+ - app/assets/images/oxygen-icons/16x16/status_unknown.png
94
+ - app/assets/images/oxygen-icons/48x48/system-users.png
95
+ - app/assets/images/rails.png
96
+ - app/assets/images/up.png
97
+ - app/assets/javascripts/application.js
98
+ - app/assets/javascripts/cyt.js
99
+ - app/assets/javascripts/jquery-ui.js
100
+ - app/assets/javascripts/jquery.dirtyform.js
101
+ - app/assets/javascripts/jquery.form.js
102
+ - app/assets/javascripts/jquery.js
103
+ - app/assets/javascripts/jquery.meio.mask.js
104
+ - app/assets/javascripts/jquery.remotipart.js
105
+ - app/assets/javascripts/jquery.ui.combobox.js
106
+ - app/assets/javascripts/jquery_ujs.js
107
+ - app/assets/javascripts/nested_form.js
108
+ - app/assets/javascripts/tooltip.js
109
+ - app/assets/stylesheets/.gitkeep
110
+ - app/assets/stylesheets/ie.scss
111
+ - app/assets/stylesheets/ie6.scss
112
+ - app/assets/stylesheets/partials/_base.sass
113
+ - app/assets/stylesheets/partials/_content.sass
114
+ - app/assets/stylesheets/partials/_jquery.sass
115
+ - app/assets/stylesheets/partials/_layout.sass
116
+ - app/assets/stylesheets/partials/_sidebar.sass
117
+ - app/assets/stylesheets/partials/content/_accounting.sass
118
+ - app/assets/stylesheets/partials/content/_ajax_indicator.sass
119
+ - app/assets/stylesheets/partials/content/_app.sass
120
+ - app/assets/stylesheets/partials/content/_combobox.sass
121
+ - app/assets/stylesheets/partials/content/_cyt.sass
122
+ - app/assets/stylesheets/partials/content/_fancy_buttons.sass
123
+ - app/assets/stylesheets/partials/content/_flash_errors.sass
124
+ - app/assets/stylesheets/partials/content/_form_view.sass
125
+ - app/assets/stylesheets/partials/content/_icons.sass
126
+ - app/assets/stylesheets/partials/content/_invoice.sass
127
+ - app/assets/stylesheets/partials/content/_overview.sass
128
+ - app/assets/stylesheets/partials/content/_pagination.sass
129
+ - app/assets/stylesheets/partials/content/_person.sass
130
+ - app/assets/stylesheets/partials/content/_scaffold.sass
131
+ - app/assets/stylesheets/partials/content/_table_list.sass
132
+ - app/assets/stylesheets/partials/content/formtastic/_formtastic.sass
133
+ - app/assets/stylesheets/partials/content/formtastic/_formtastic_cyt.sass
134
+ - app/assets/stylesheets/partials/formtastic/_custom_fields.sass
135
+ - app/assets/stylesheets/partials/formtastic/_formtastic_base.sass
136
+ - app/assets/stylesheets/partials/jquery/_jquery_ui.sass
137
+ - app/assets/stylesheets/partials/jquery/_tooltip.sass
138
+ - app/assets/stylesheets/partials/layout/_header.sass
139
+ - app/assets/stylesheets/partials/layout/_navigation.sass
140
+ - app/assets/stylesheets/partials/layout/navigation/_main.sass
141
+ - app/assets/stylesheets/partials/layout/navigation/_sidebar.sass
142
+ - app/assets/stylesheets/partials/print/_app.sass
143
+ - app/assets/stylesheets/partials/print/_layout.sass
144
+ - app/assets/stylesheets/print.scss
145
+ - app/assets/stylesheets/screen.scss
146
+ - app/controllers/account_types_controller.rb
147
+ - app/controllers/accounts_controller.rb
148
+ - app/controllers/application_controller.rb
149
+ - app/controllers/attachments_controller.rb
150
+ - app/controllers/authorized_controller.rb
151
+ - app/controllers/bank_accounts_controller.rb
152
+ - app/controllers/booking_imports_controller.rb
153
+ - app/controllers/booking_templates_controller.rb
154
+ - app/controllers/bookings_controller.rb
155
+ - app/controllers/charge_booking_templates_controller.rb
156
+ - app/controllers/charge_rates_controller.rb
157
+ - app/controllers/companies_controller.rb
158
+ - app/controllers/credit_invoices_controller.rb
159
+ - app/controllers/customers_controller.rb
160
+ - app/controllers/debit_invoices_controller.rb
161
+ - app/controllers/direct_bookings_controller.rb
162
+ - app/controllers/employees_controller.rb
163
+ - app/controllers/employments_controller.rb
164
+ - app/controllers/invoices_controller.rb
165
+ - app/controllers/notes_controller.rb
166
+ - app/controllers/overview_controller.rb
167
+ - app/controllers/people_controller.rb
168
+ - app/controllers/salaries_controller.rb
169
+ - app/controllers/tenants_controller.rb
170
+ - app/controllers/users_controller.rb
171
+ - app/helpers/application_helper.rb
172
+ - app/helpers/booking_helper.rb
173
+ - app/helpers/booking_template_helper.rb
174
+ - app/helpers/charge_rate_helper.rb
175
+ - app/helpers/invoice_helper.rb
176
+ - app/helpers/vat_rate_helper.rb
177
+ - app/inputs/combobox_input.rb
178
+ - app/inputs/date_field_input.rb
179
+ - app/inputs/hour_field_input.rb
180
+ - app/models/ability.rb
181
+ - app/models/attachment.rb
182
+ - app/models/booking_import.rb
183
+ - app/models/booking_import_observer.rb
184
+ - app/models/booking_reference.rb
185
+ - app/models/booking_template.rb
186
+ - app/models/charge_booking_template.rb
187
+ - app/models/charge_rate.rb
188
+ - app/models/civil_status.rb
189
+ - app/models/company.rb
190
+ - app/models/credit_invoice.rb
191
+ - app/models/customer.rb
192
+ - app/models/debit_invoice.rb
193
+ - app/models/employee.rb
194
+ - app/models/employment.rb
195
+ - app/models/invoice.rb
196
+ - app/models/line_item.rb
197
+ - app/models/note.rb
198
+ - app/models/person.rb
199
+ - app/models/product.rb
200
+ - app/models/profit.rb
201
+ - app/models/religion.rb
202
+ - app/models/role.rb
203
+ - app/models/salary.rb
204
+ - app/models/tenant.rb
205
+ - app/models/user.rb
206
+ - app/models/vat_rate.rb
207
+ - app/uploaders/attachment_uploader.rb
208
+ - app/views/account_types/_account_type.html.haml
209
+ - app/views/account_types/_form.html.haml
210
+ - app/views/account_types/_list.html.haml
211
+ - app/views/account_types/index.html.haml
212
+ - app/views/account_types/show.html.haml
213
+ - app/views/accounts/_account.html.haml
214
+ - app/views/accounts/_booking_item.html.haml
215
+ - app/views/accounts/_booking_list.html.haml
216
+ - app/views/accounts/_booking_list_footer.html.haml
217
+ - app/views/accounts/_booking_list_header.html.haml
218
+ - app/views/accounts/_booking_list_paginate.html.haml
219
+ - app/views/accounts/_booking_list_saldo.html.haml
220
+ - app/views/accounts/_booking_list_turnover.html.haml
221
+ - app/views/accounts/_carry_booking.html.haml
222
+ - app/views/accounts/_form.html.haml
223
+ - app/views/accounts/_list_footer.html.haml
224
+ - app/views/accounts/_list_header.html.haml
225
+ - app/views/accounts/index.html.haml
226
+ - app/views/accounts/show.html.haml
227
+ - app/views/application/_form.html.haml
228
+ - app/views/application/_list.html.haml
229
+ - app/views/application/_search_form.html.haml
230
+ - app/views/application/_show.html.haml
231
+ - app/views/application/create.js.erb
232
+ - app/views/application/destroy.js.erb
233
+ - app/views/application/edit.html.haml
234
+ - app/views/application/edit.js.erb
235
+ - app/views/application/index.html.haml
236
+ - app/views/application/new.html.haml
237
+ - app/views/application/new.js.erb
238
+ - app/views/application/show.html.haml
239
+ - app/views/application/update.js.erb
240
+ - app/views/attachments/_attachment.html.haml
241
+ - app/views/attachments/_form.html.haml
242
+ - app/views/attachments/_list.html.haml
243
+ - app/views/bank_accounts/_bank_account.html.haml
244
+ - app/views/booking_imports/_booking_import.html.haml
245
+ - app/views/booking_imports/_form.html.haml
246
+ - app/views/booking_imports/_list.html.haml
247
+ - app/views/booking_imports/create.js.erb
248
+ - app/views/booking_imports/index.html.haml
249
+ - app/views/booking_imports/show.html.haml
250
+ - app/views/booking_templates/_booking_template.html.haml
251
+ - app/views/booking_templates/_form.html.haml
252
+ - app/views/booking_templates/_list.html.haml
253
+ - app/views/booking_templates/index.html.haml
254
+ - app/views/bookings/_booking.html.haml
255
+ - app/views/bookings/_form.html.haml
256
+ - app/views/bookings/_list.html.haml
257
+ - app/views/bookings/_new_form.html.haml
258
+ - app/views/bookings/_sidebar.html.haml
259
+ - app/views/bookings/_simple_form.html.haml
260
+ - app/views/bookings/index.html.haml
261
+ - app/views/bookings/new.html.haml
262
+ - app/views/bookings/select.html.haml
263
+ - app/views/bookings/show.html.haml
264
+ - app/views/bookings/simple_edit.html.haml
265
+ - app/views/charge_booking_templates/_charge_booking_template.html.haml
266
+ - app/views/charge_booking_templates/_form.html.haml
267
+ - app/views/charge_booking_templates/_list.html.haml
268
+ - app/views/charge_rates/_form.html.haml
269
+ - app/views/companies/_company.html.haml
270
+ - app/views/companies/_form.html.haml
271
+ - app/views/companies/_list.html.haml
272
+ - app/views/companies/index.html.haml
273
+ - app/views/companies/show.html.haml
274
+ - app/views/credit_invoices/_credit_invoice.html.haml
275
+ - app/views/credit_invoices/_form.html.haml
276
+ - app/views/credit_invoices/_list.html.haml
277
+ - app/views/credit_invoices/index.html.haml
278
+ - app/views/credit_invoices/show.html.haml
279
+ - app/views/customers/_customer.html.haml
280
+ - app/views/customers/_form.html.haml
281
+ - app/views/customers/_list.html.haml
282
+ - app/views/customers/index.html.haml
283
+ - app/views/customers/show.html.haml
284
+ - app/views/debit_invoices/_debit_invoice.html.haml
285
+ - app/views/debit_invoices/_form.html.haml
286
+ - app/views/debit_invoices/_invoice_body.html.haml
287
+ - app/views/debit_invoices/_invoice_info.html.haml
288
+ - app/views/debit_invoices/_invoice_parties.html.haml
289
+ - app/views/debit_invoices/_list.html.haml
290
+ - app/views/debit_invoices/index.html.haml
291
+ - app/views/debit_invoices/letter.html.haml
292
+ - app/views/debit_invoices/letter.pdf.prawn
293
+ - app/views/debit_invoices/show.html.haml
294
+ - app/views/devise/confirmations/new.html.haml
295
+ - app/views/devise/mailer/confirmation_instructions.html.haml
296
+ - app/views/devise/mailer/reset_password_instructions.html.haml
297
+ - app/views/devise/mailer/unlock_instructions.html.haml
298
+ - app/views/devise/passwords/edit.html.haml
299
+ - app/views/devise/passwords/new.html.haml
300
+ - app/views/devise/sessions/new.html.haml
301
+ - app/views/devise/shared/_links.haml
302
+ - app/views/devise/unlocks/new.html.haml
303
+ - app/views/direct_bookings/_form.html.haml
304
+ - app/views/direct_bookings/_item.html.haml
305
+ - app/views/direct_bookings/_list.html.haml
306
+ - app/views/direct_bookings/_list_footer.html.haml
307
+ - app/views/direct_bookings/_show.html.haml
308
+ - app/views/direct_bookings/_show_all.html.haml
309
+ - app/views/direct_bookings/list.js.erb
310
+ - app/views/direct_bookings/new.js.erb
311
+ - app/views/employees/_employee.html.haml
312
+ - app/views/employees/_form.html.haml
313
+ - app/views/employees/_list.html.haml
314
+ - app/views/employees/index.html.haml
315
+ - app/views/employees/show.html.haml
316
+ - app/views/employments/_employment.html.haml
317
+ - app/views/employments/_form.html.haml
318
+ - app/views/employments/_list.html.haml
319
+ - app/views/employments/_show.html.haml
320
+ - app/views/employments/index.html.haml
321
+ - app/views/invoices/_form.html.haml
322
+ - app/views/invoices/_invoice.html.haml
323
+ - app/views/invoices/_list.html.haml
324
+ - app/views/invoices/_sidebar.html.haml
325
+ - app/views/invoices/index.html.haml
326
+ - app/views/invoices/show.html.haml
327
+ - app/views/layouts/_flash_new.html.haml
328
+ - app/views/layouts/_list_item_actions_for.html.haml
329
+ - app/views/layouts/application.html.haml
330
+ - app/views/line_items/_form.html.haml
331
+ - app/views/line_items/_line_item.html.haml
332
+ - app/views/line_items/_list_footer.html.haml
333
+ - app/views/notes/_form.html.haml
334
+ - app/views/notes/_list.html.haml
335
+ - app/views/notes/index.html.haml
336
+ - app/views/notes/show.html.haml
337
+ - app/views/overview/index.html.haml
338
+ - app/views/people/_form.html.haml
339
+ - app/views/people/_list.html.haml
340
+ - app/views/people/_person.html.haml
341
+ - app/views/people/_show.html.haml
342
+ - app/views/people/show.html.haml
343
+ - app/views/persons/_civil.html.haml
344
+ - app/views/persons/_show.html.haml
345
+ - app/views/salaries/_form.html.haml
346
+ - app/views/salaries/_list.html.haml
347
+ - app/views/salaries/_salary.html.haml
348
+ - app/views/salaries/_salary_certificate.html.haml
349
+ - app/views/salaries/payslip.html.haml
350
+ - app/views/salaries/show.html.haml
351
+ - app/views/salaries/statistics.html.haml
352
+ - app/views/tenants/_account.html.haml
353
+ - app/views/tenants/_account_group_sheet.html.haml
354
+ - app/views/tenants/_form.html.haml
355
+ - app/views/tenants/_list.html.haml
356
+ - app/views/tenants/_tenant.html.haml
357
+ - app/views/tenants/balance_sheet.html.haml
358
+ - app/views/tenants/index.html.haml
359
+ - app/views/tenants/new.js.erb
360
+ - app/views/tenants/profit_sheet.html.haml
361
+ - app/views/tenants/show.html.haml
362
+ - app/views/users/_demo.de-CH.html.haml
363
+ - app/views/users/_demo.de.html.haml
364
+ - app/views/users/_demo.html.haml
365
+ - app/views/users/_form.html.haml
366
+ - app/views/users/_list.html.haml
367
+ - app/views/users/_show.html.haml
368
+ - app/views/users/_user.html.haml
369
+ - app/views/users/index.html.haml
370
+ - app/views/users/new.js.erb
371
+ - app/views/users/show.html.haml
372
+ - lib/acts_as_csv.rb
373
+ - lib/bookyt/engine.rb
374
+ - lib/bookyt/version.rb
375
+ - lib/float.rb
376
+ - lib/pagination_list_link_renderer.rb
377
+ - lib/parse_date.rb
378
+ - lib/prawn/letter_document.rb
379
+ - lib/raiffeisen_importer.rb
380
+ - lib/recipes/bookyt.rb
381
+ - lib/simple_navigation/renderer/list.rb
382
+ - lib/simple_navigation/renderer/overview.rb
383
+ - lib/sqlite3_extensions.rb
384
+ - lib/tasks/.gitkeep
385
+ - lib/tasks/bookyt.rake
386
+ - lib/tasks/cucumber.rake
387
+ - lib/tasks/environment_seeds.rake
388
+ - lib/tasks/users.rake
389
+ homepage: https://github.com/raskhadafi/bookyt
390
+ licenses: []
391
+
392
+ post_install_message:
393
+ rdoc_options: []
394
+
395
+ require_paths:
396
+ - lib
397
+ required_ruby_version: !ruby/object:Gem::Requirement
398
+ none: false
399
+ requirements:
400
+ - - ">="
401
+ - !ruby/object:Gem::Version
402
+ hash: 3
403
+ segments:
404
+ - 0
405
+ version: "0"
406
+ required_rubygems_version: !ruby/object:Gem::Requirement
407
+ none: false
408
+ requirements:
409
+ - - ">="
410
+ - !ruby/object:Gem::Version
411
+ hash: 3
412
+ segments:
413
+ - 0
414
+ version: "0"
415
+ requirements: []
416
+
417
+ rubyforge_project: "[none]"
418
+ rubygems_version: 1.8.11
419
+ signing_key:
420
+ specification_version: 3
421
+ summary: financial accounting software
422
+ test_files: []
423
+