dorsale 2.6.1 → 2.6.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/dorsale/devise.sass +4 -0
  3. data/app/pdfs/dorsale/billing_machine/invoice_single_vat_pdf.rb +49 -49
  4. data/app/pdfs/dorsale/billing_machine/quotation_pdf_common_methods.rb +2 -4
  5. data/lib/dorsale/version.rb +1 -1
  6. data/spec/controllers/dorsale/alexandrie/attachments_controller_spec.rb +2 -6
  7. data/spec/controllers/dorsale/billing_machine/quotations_controller_spec.rb +4 -0
  8. data/spec/controllers/dorsale/comments_controller_spec.rb +3 -4
  9. data/spec/controllers/dorsale/customer_vault/corporations_controller_spec.rb +4 -1
  10. data/spec/controllers/dorsale/customer_vault/individuals_controller_spec.rb +4 -1
  11. data/spec/controllers/dorsale/customer_vault/people_controller_spec.rb +4 -0
  12. data/spec/controllers/dorsale/flyboy/folders_controller_spec.rb +5 -1
  13. data/spec/controllers/dorsale/flyboy/task_comments_controller_spec.rb +4 -5
  14. data/spec/controllers/dorsale/flyboy/tasks_controller_spec.rb +4 -10
  15. data/spec/controllers/dorsale/small_data/filters_controller_spec.rb +44 -41
  16. data/spec/dummy/app/assets/stylesheets/application.sass +2 -0
  17. data/spec/dummy/app/controllers/application_controller.rb +2 -0
  18. data/spec/dummy/app/views/devise/sessions/new.html.erb +28 -0
  19. data/spec/dummy/app/views/layouts/application.html.slim +15 -14
  20. data/spec/dummy/db/development.sqlite3 +0 -0
  21. data/spec/dummy/db/seeds.rb +2 -1
  22. data/spec/dummy/db/test.sqlite3 +0 -0
  23. data/spec/dummy/log/development.log +4474 -0
  24. data/spec/dummy/log/test.log +65094 -0
  25. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/0QyALFKA66NxFrhSL8nqPMX8zTLWrgcfGBmSlORYwM4.cache +1 -0
  26. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/0YWC9zSZNGN566OL4W7d_cGoyqdPLFb_FUQP058dEYM.cache +0 -0
  27. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/1zYbEeXsUzyAeOUd9nCPqyx-vGGU6dbWLZXYIazeHg8.cache +0 -0
  28. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/4gGo1Wy5-9f4zQ4XSusHquuHZcw89mfqRMSc0a1XjrY.cache +0 -0
  29. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/6fsadZ-yp5pEkQpsvNuTchbPL_Q8AENrLoc2G0iU5ds.cache +1 -0
  30. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/9nk3IyzuX8GDB5ZxPDiNBCrmn5zU37kcEiYJsykdHu4.cache +0 -0
  31. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/A-TCGMpSKZgtGFKoNIf3C9dTB2Uefl8-lXQDIbl9gfU.cache +94 -0
  32. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/BVJuhpEWyIfpcDZ2G1-2wFr50D2j32xl4rOmR-NW9lY.cache +2 -0
  33. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/BoTkQY-2LlshRj_u0eZLAQ8paTGk0fEydSMj016Yduk.cache +0 -0
  34. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/C_HDkHJkEjjsOQQm3ERwC0f2Uy2bMyCVcm_vEgOVspU.cache +1 -0
  35. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/D-ckg16_pBs9Gy5CP80KNdzcdF3scT-BjFFeFT_nIUE.cache +0 -0
  36. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/DCjMbZGF_QYjXMtk2wxS2WdEpEEW2wHBZDTtoWPt9VY.cache +1 -0
  37. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Efrkj-A5vBHcpGvfz1rIlDCf3MmPV8me9wzI8-Wm07k.cache +0 -0
  38. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Emz6WPv0c-Hu69iDSSY_p3q8dQv2xfT847ontilnzJM.cache +1 -0
  39. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/FQvbw-3T2j1o0lJp3lV4227IvVxPQx5tmQu4ClMMRYQ.cache +1 -0
  40. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Ji2S9bbj9k2WJvADSj4_qVhK_dULIqYPOn3oI1B2yB8.cache +1 -0
  41. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/JsqlGLc2ynS9gZSd8wkUUEqeLC27lDet9Fof-_kIZyw.cache +0 -0
  42. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/K1w1yKZL5uujfwDC5ioBBym8ADDWPMtZn4eVQ7y9huc.cache +1 -0
  43. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/KCDu_Vi0unecNRffNgugjzMXEK9Rlh7MVf1-2pGtfyo.cache +0 -0
  44. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/KQ7cSPt-VYvsoVRxpcOOJZKSTFBWifRP5dfCbVYwyvI.cache +0 -0
  45. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/MU6VNG3bjKo-63vD99TKGcB2cdguNkG1BUWAfyifcXo.cache +1 -0
  46. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/MVZo9QPkh0L_7p-T1jXaO4Hwq0bTNKDT5nT7DgkeTFI.cache +1 -0
  47. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Mnh2mHTkaFt-fhZAcdjWUbDIotNWzDxu8Q8IvW8ot6M.cache +1 -0
  48. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/PBUu8g6dAom_1M3s7fm6XOuur99Pn3o4wN1ANE6rFa0.cache +1 -0
  49. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/Po9CY9TOIFKWTFIl9qVRe9sv6Dqq3GypVIZ3Z_cGYhE.cache +0 -0
  50. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/RqtVtDQuH7vuxU1g-3W1UBf0RxW_heBDMbzCof1vGUU.cache +3 -0
  51. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/UJbQ6XtnOLLEvnilnK0JJi2MzQhicNKNwQxC6SftQ2Q.cache +1 -0
  52. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/VKahsavxWM2F1SZdVB4rpQIdrDBlOUryFdm1lBB7AsE.cache +0 -0
  53. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/WlaXczm6aGuoLKg4QaJMVZr8A2WBIrXdpCs32aOhoIQ.cache +1 -0
  54. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/ZZPUisN6VuLj0hE3MESjgF0MLUw_CI8EPnaudSTnZn0.cache +0 -0
  55. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/_5CmTIgC35ho5FNm3Xp2gPufRTi8Y82L90c7ahjI9TQ.cache +0 -0
  56. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/_s_9dNdEm6-7X52t_dT0WdnteU80sCGvdbmlZqouNxI.cache +1 -0
  57. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/a3i8UhNe40ETW5UkoQepVxlkv9bcqxj5akAnmxGwGvU.cache +0 -0
  58. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/aRhKfHl3RzCW_nRGPsKn3YRlYrgyzFivoY-LFnfWTx0.cache +0 -0
  59. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/b3KrA6ilFE2NbJ8mhBWoa0XkYJ6GhiwTV4HFsrA0a1o.cache +0 -0
  60. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/e7CR7oQ5ZVfEJxr5cNpqf0r4ZQ8nzwabxkg9BugnQ2I.cache +0 -0
  61. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/fF_FNptGZTt0GdQHGqPXJKtW8xaszmgKJ9Y3c3rFvaQ.cache +0 -0
  62. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/gPZLF3v0FetBtEu34A-nYWlTmtXEQA5xcMuRvfjyhkA.cache +0 -0
  63. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/hR_ArK-USwWanvC92L6fnVtP3zI-ZdU7K7tccDbYdNM.cache +0 -0
  64. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/iT8qiY3Qu1pfzfoTqaZDV-915Q2eYa_XPFNI3zxsOUk.cache +0 -0
  65. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/iVnOdT9sEi9BwhIYymMHaoWoqxeuutyLP31vHdjLfag.cache +1 -0
  66. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/isSmUQ0OerYjA2fS2Ax6v9uHutvlDU_ek_uzA1BmuDs.cache +1 -0
  67. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/j-fG9mvIZXoiaANgzTTDklqDGuJNx841ijCpW1OuZ9Y.cache +1 -0
  68. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/jQ7P4KoG3JMZGOqk-jftI_8RZ1jzbxjfr_WoX8Er0wE.cache +1 -0
  69. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/k7rjawxbQmwFF3uimULhlGwsm39nlRMdSmLGE2nIfS8.cache +1 -0
  70. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/ks2mD-ZZbM-6HhnauFWml-HL-wMzgMP02tHIN3jroKg.cache +1 -0
  71. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/l-6SNWRfreTi-mqhehc7hXAHhgmUs3IuFgaxGzDfAM8.cache +1 -0
  72. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/n46BSm148ZR6ZyhITLqTh2y16SmwWH2ktR02KGtsfGA.cache +0 -0
  73. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/p78VeyId3QTLqQTHebdERNVPv2wBQKxcENM2kz00DHA.cache +72 -0
  74. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/ppgyIakjEINmAS9rXGilwUtgLZI6XqQCKI6YQy1GE7Q.cache +0 -0
  75. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/qCVV09cnr1Dz3xto0MbMBVhjEsWdEL8kGf93cJH7s40.cache +0 -0
  76. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/qsLHPof9TYCq1iA_lIcJiakKe50APw95wJ5E-mwjNwY.cache +2 -0
  77. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/rOC4NYay7xJCoUP1fVLlD0UmZ6nJkFvB8sVaG1jrvZI.cache +1 -0
  78. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/u4ulyeXo--KOhUq1NZp0akBaB8a65TCTBEOT0_nYx1M.cache +1 -0
  79. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/v9WsK-Ekhm_1yAghhvLPcc7Yhm1DGzq66_gH9j70ihI.cache +2 -0
  80. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/xBsouu_CL-n171o84VQBoyGrmVJvLcrr56LfrnMkvPI.cache +0 -0
  81. data/spec/dummy/tmp/cache/assets/development/sprockets/v3.0/xt02H--gzubi2pWZGDxSjYj8Eb3BmXMOAshd62RI8Fc.cache +2 -0
  82. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/-Ap1qd6dCtp3-d9DKD9Hr_ka7mGHnbmbg_50uTUagzs.cache +0 -0
  83. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/-gxRJNze13ecIQg8lvdnCKmcmPu-N-8kVVHbL8NDVE4.cache +1 -0
  84. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/0IQ53sHSbK4qmnuLgZ1fRMIa2vqXVnwgiHX2kK4BAv4.cache +1 -0
  85. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/0QyALFKA66NxFrhSL8nqPMX8zTLWrgcfGBmSlORYwM4.cache +1 -0
  86. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/1gN0EpTOT_Smf1i_BP0YxEbtJ6hrQB_4-QbJvYOUe68.cache +0 -0
  87. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/1zYbEeXsUzyAeOUd9nCPqyx-vGGU6dbWLZXYIazeHg8.cache +0 -0
  88. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/3aRd-An2NCoKTckvzyi96dHyat_5op8JMNDdkcM2Q_U.cache +1 -0
  89. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/7V0nBqubpkvjavh8N0blUGnJ98-bTztMiZZqFoPCKR0.cache +1 -0
  90. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/8ZSYry4qiv6Dryjgi-VKZL4O02pCiQuPeSUcb91DuPg.cache +1 -0
  91. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/9nk3IyzuX8GDB5ZxPDiNBCrmn5zU37kcEiYJsykdHu4.cache +0 -0
  92. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/CMollIXS6QD8V8TiotZ6tDLMK4az6s5G6VdS2leJSHA.cache +1 -0
  93. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/EVea0W0GFKeY-1St4Ln82O0Mqx-BG5ZHJsWzOH1SoYU.cache +0 -0
  94. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/Efrkj-A5vBHcpGvfz1rIlDCf3MmPV8me9wzI8-Wm07k.cache +0 -0
  95. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/Emz6WPv0c-Hu69iDSSY_p3q8dQv2xfT847ontilnzJM.cache +1 -0
  96. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/Ji2S9bbj9k2WJvADSj4_qVhK_dULIqYPOn3oI1B2yB8.cache +1 -0
  97. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/K1w1yKZL5uujfwDC5ioBBym8ADDWPMtZn4eVQ7y9huc.cache +1 -0
  98. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/KCDu_Vi0unecNRffNgugjzMXEK9Rlh7MVf1-2pGtfyo.cache +0 -0
  99. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/M7WHTxFMUD8qFpt4fTy4X8KmSivxvuN8NxkuYKacYz8.cache +0 -0
  100. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/MVZo9QPkh0L_7p-T1jXaO4Hwq0bTNKDT5nT7DgkeTFI.cache +1 -0
  101. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/Mnh2mHTkaFt-fhZAcdjWUbDIotNWzDxu8Q8IvW8ot6M.cache +1 -0
  102. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/PBUu8g6dAom_1M3s7fm6XOuur99Pn3o4wN1ANE6rFa0.cache +1 -0
  103. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/Po9CY9TOIFKWTFIl9qVRe9sv6Dqq3GypVIZ3Z_cGYhE.cache +0 -0
  104. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/VKahsavxWM2F1SZdVB4rpQIdrDBlOUryFdm1lBB7AsE.cache +0 -0
  105. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/WmponbeSorrU67isZs6kmJ-V-mC6mVPFYHAtZJgC-o0.cache +1 -0
  106. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/_5CmTIgC35ho5FNm3Xp2gPufRTi8Y82L90c7ahjI9TQ.cache +0 -0
  107. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/aRhKfHl3RzCW_nRGPsKn3YRlYrgyzFivoY-LFnfWTx0.cache +0 -0
  108. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/drr3o9qJpZkXb0k03d8vEm45K5Bvb4-lQndFU5ux_eU.cache +0 -0
  109. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/e7CR7oQ5ZVfEJxr5cNpqf0r4ZQ8nzwabxkg9BugnQ2I.cache +0 -0
  110. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/gPZLF3v0FetBtEu34A-nYWlTmtXEQA5xcMuRvfjyhkA.cache +0 -0
  111. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/gd4ZuKLSWQir0T2-7Ec_5P04gB-N1h16BTGnDJPobdE.cache +0 -0
  112. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/h-CRS8ETZKyovfmFQkG2s-71BqZUIqGCkEJhRxBvZPc.cache +0 -0
  113. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/hR_ArK-USwWanvC92L6fnVtP3zI-ZdU7K7tccDbYdNM.cache +0 -0
  114. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/id3wJWomlnB9EEqfvqYUjGFZlgiWSZGCCN7qgTQ34ps.cache +1 -0
  115. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/isSmUQ0OerYjA2fS2Ax6v9uHutvlDU_ek_uzA1BmuDs.cache +1 -0
  116. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/k7rjawxbQmwFF3uimULhlGwsm39nlRMdSmLGE2nIfS8.cache +1 -0
  117. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/p78VeyId3QTLqQTHebdERNVPv2wBQKxcENM2kz00DHA.cache +72 -0
  118. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/qsLHPof9TYCq1iA_lIcJiakKe50APw95wJ5E-mwjNwY.cache +2 -0
  119. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/rOC4NYay7xJCoUP1fVLlD0UmZ6nJkFvB8sVaG1jrvZI.cache +1 -0
  120. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/sH-p3cEYYHs56D5Avz87an9HlNOIAqAaWMFyKZnCg3I.cache +0 -0
  121. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/u4ulyeXo--KOhUq1NZp0akBaB8a65TCTBEOT0_nYx1M.cache +1 -0
  122. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/v9WsK-Ekhm_1yAghhvLPcc7Yhm1DGzq66_gH9j70ihI.cache +2 -0
  123. data/spec/dummy/tmp/cache/assets/test/sprockets/v3.0/xt02H--gzubi2pWZGDxSjYj8Eb3BmXMOAshd62RI8Fc.cache +2 -0
  124. metadata +176 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2b7376b6c7d46d198bbede8be8663db10631de53
4
- data.tar.gz: 6b83f90d10b65ccc90b864f6f4fd0aaeb795d732
3
+ metadata.gz: 28eb1c98bdece057979af2bc922aaca17f24f3e9
4
+ data.tar.gz: a7033e420547043adc5e9a096f541d6196c06498
5
5
  SHA512:
6
- metadata.gz: 57aef075a9310b76cca63a2f7da3b3e9e6edfb5d2e7b25689c78800e2d14f3bb452fb0c177f52c88287df18aeb70a452deb0ebc44399b1551025723fc235b33a
7
- data.tar.gz: 24765f16d7bba8aef49ffe422c7f506e01b265beda6eebf86a292886819b95447ce1e5fc30c49edb5ca54bf23d9a4cd605f71aa21524a593cdc40a84fe85059e
6
+ metadata.gz: 9e27c04cec5d074974d8a54848037b144bff4fb706d11da476bf206bb3e56d95559f408aed6f058b60a1ed82e4062406d97bb1a20da36b69b28776ce5827618c
7
+ data.tar.gz: 09c33cdf4e97216007092392cab0d875d214fa49a5ef5b2d2b77c8459eef796a6650138fc3cdf848222f34db2a7de5961b84cee49a1966f6c3d2f82a8cb1b7c0
@@ -0,0 +1,4 @@
1
+ body[class*=devise] #main,
2
+ body[data-controller*=devise] #main,
3
+ max-width: 40em
4
+ margin: auto
@@ -37,6 +37,7 @@ module Dorsale
37
37
 
38
38
  def header_height; 90.mm; end
39
39
  def logo_height; 32.mm; end
40
+ def logo_width; 50.mm; end
40
41
 
41
42
  def footer_height; 40.mm; end
42
43
  def footer_top_height; 15.mm; end
@@ -107,12 +108,12 @@ module Dorsale
107
108
  def build_logo
108
109
  return if logo_path.nil?
109
110
 
110
- width = 3.2.cm
111
111
  height = logo_height
112
+ width = logo_width
112
113
 
113
114
  bounding_box [bounds.left, bounds.top], width: width, height: height do
114
115
  draw_bounds_debug
115
- image logo_path, width: (bounds.width - 1.cm)
116
+ image logo_path, fit: [width, height]
116
117
  end
117
118
  end
118
119
 
@@ -125,27 +126,27 @@ module Dorsale
125
126
  ].select(&:present?).join(", ")
126
127
  end
127
128
 
129
+ def contact_content
130
+ content = []
131
+ content << "<b>#{@id_card.entity_name}</b>" if @id_card.entity_name.present?
132
+ content << "<b>#{contact_address_line}</b>" if contact_address_line.present?
133
+ content << " "
134
+ content << "<b>#{main_document.t(:your_contact)} : #{@id_card.contact_full_name}</b>" if @id_card.contact_full_name.present?
135
+ content << "<b>#{main_document.t(:contact_phone)} : </b> #{@id_card.contact_phone}" if @id_card.contact_phone.present?
136
+ content << "<b>#{main_document.t(:contact_fax)} : </b> #{@id_card.contact_fax}" if @id_card.contact_fax.present?
137
+ content << "<b>#{main_document.t(:contact_email)} : </b> #{@id_card.contact_email}" if @id_card.contact_email.present?
138
+ content.join("\n")
139
+ end
140
+
128
141
  def build_contact
129
142
  top = bounds.top - 4.cm
130
143
  left = bounds.left
131
144
  width = bounds.width / 2 - 1.1.cm
132
145
  height = 2.5.cm
133
146
 
134
- contact_text = []
135
- contact_text << "<b>#{@id_card.entity_name}</b>" if @id_card.entity_name.present?
136
- contact_text << "<b>#{contact_address_line}</b>" if contact_address_line.present?
137
- contact_text << " "
138
- contact_text << "<b>#{main_document.t(:your_contact)} : #{@id_card.contact_full_name}</b>" if @id_card.contact_full_name.present?
139
- contact_text << "<b>#{main_document.t(:contact_phone)} : </b> #{@id_card.contact_phone}" if @id_card.contact_phone.present?
140
- contact_text << "<b>#{main_document.t(:contact_fax)} : </b> #{@id_card.contact_fax}" if @id_card.contact_fax.present?
141
- contact_text << "<b>#{main_document.t(:contact_email)} : </b> #{@id_card.contact_email}" if @id_card.contact_email.present?
142
- contact_text = contact_text.join("\n")
143
-
144
147
  bounding_box [left, top], width: width, height: height do
145
148
  draw_bounds_debug
146
- font_size 8 do
147
- text contact_text, inline_format: true
148
- end
149
+ text contact_content, inline_format: true, size: 8
149
150
  end
150
151
  end
151
152
 
@@ -364,27 +365,30 @@ module Dorsale
364
365
  height = top - bounds.bottom
365
366
  width = 10.cm
366
367
 
367
- font_size 9 do
368
- text_box main_document.comments,
369
- :at => [bounds.left, top],
370
- :height => height,
371
- :width => width,
372
- :overflow => :shrink_to_fit
373
- end
368
+ text_box main_document.comments,
369
+ :at => [bounds.left, top],
370
+ :height => height,
371
+ :width => width,
372
+ :overflow => :shrink_to_fit,
373
+ :size => 9
374
374
  end
375
375
 
376
376
  def build_payment_conditions
377
- top = bounds.top - products_table_height - 5.mm
378
- height = 1.cm
377
+ return if main_document.payment_term.blank?
378
+
379
+ top = bounds.top - products_table_height - 5.mm
380
+ height = 15.mm
379
381
  width = 7.5.cm
380
382
 
381
- bounding_box [bounds.left, top], height: height, width: width do
382
- draw_bounds_debug
383
- font_size 9 do
384
- text main_document.t(:payment_terms), style: :bold if main_document.payment_term.present?
385
- text main_document.payment_term.try(:label)
386
- end
387
- end
383
+ txt = "<b>#{main_document.t(:payment_terms)}</b> : #{main_document.payment_term}"
384
+
385
+ text_box txt,
386
+ :at => [bounds.left, top],
387
+ :height => height,
388
+ :width => width,
389
+ :overflow => :shrink_to_fit,
390
+ :inline_format => true,
391
+ :size => 9
388
392
  end
389
393
 
390
394
  def build_expiry
@@ -424,13 +428,12 @@ module Dorsale
424
428
  height = footer_top_height
425
429
  width = bounds.width
426
430
 
427
- font_size 9 do
428
- text_box footer_top_content,
429
- :at => [bounds.left, top],
430
- :height => height,
431
- :width => width,
432
- :overflow => :shrink_to_fit
433
- end
431
+ text_box footer_top_content,
432
+ :at => [bounds.left, top],
433
+ :height => height,
434
+ :width => width,
435
+ :overflow => :shrink_to_fit,
436
+ :size => 9
434
437
  end
435
438
 
436
439
  def build_footer_line
@@ -462,13 +465,12 @@ module Dorsale
462
465
  top = bounds.bottom + height
463
466
  width = bounds.width
464
467
 
465
- font_size 9 do
466
- text_box footer_bottom_content,
467
- :at => [bounds.left, top],
468
- :height => height,
469
- :width => width,
470
- :overflow => :shrink_to_fit
471
- end
468
+ text_box footer_bottom_content,
469
+ :at => [bounds.left, top],
470
+ :height => height,
471
+ :width => width,
472
+ :overflow => :shrink_to_fit,
473
+ :size => 9
472
474
  end
473
475
 
474
476
  def build_page_numbers
@@ -477,10 +479,8 @@ module Dorsale
477
479
  width = bounds.width
478
480
 
479
481
  bounding_box [0, top], height: height, width: bounds.width do
480
- font_size 9 do
481
- float do
482
- number_pages "page <page>/<total>", align: :right
483
- end
482
+ float do
483
+ number_pages "page <page>/<total>", align: :right, size: 9
484
484
  end
485
485
  end
486
486
  end
@@ -25,15 +25,13 @@ module Dorsale
25
25
  def build_expiry
26
26
  return if main_document.expires_at.nil?
27
27
 
28
- top = bounds.top - 11.5.cm
28
+ top = bounds.top - 11.5.cm
29
29
  height = 0.5.cm
30
30
  width = 7.5.cm
31
31
 
32
32
  bounding_box [bounds.left, top], height: height, width: width do
33
33
  draw_bounds_debug
34
- font_size 9 do
35
- text "<b>#{main_document.t(:expires_at)}</b> #{I18n.l(main_document.expires_at)}", inline_format: true
36
- end
34
+ text "<b>#{main_document.t(:expires_at)}</b> #{I18n.l(main_document.expires_at)}", inline_format: true, size: 9
37
35
  end
38
36
  end
39
37
  end
@@ -1,3 +1,3 @@
1
1
  module Dorsale
2
- VERSION = "2.6.1"
2
+ VERSION = "2.6.2"
3
3
  end
@@ -18,13 +18,9 @@ describe Dorsale::Alexandrie::AttachmentsController, type: :controller do
18
18
  }
19
19
  }
20
20
 
21
- let(:user) {
22
- create(:user)
23
- }
21
+ let(:user) { create(:user) }
24
22
 
25
- before :each do
26
- sign_in user
27
- end
23
+ before(:each) { sign_in(user) }
28
24
 
29
25
  describe "create" do
30
26
  it "should create attachment" do
@@ -3,6 +3,10 @@ require "rails_helper"
3
3
  describe Dorsale::BillingMachine::QuotationsController, type: :controller do
4
4
  routes { Dorsale::Engine.routes }
5
5
 
6
+ let(:user) { create(:user) }
7
+
8
+ before(:each) { sign_in(user) }
9
+
6
10
  describe "#index" do
7
11
  it "stats should not include canceled quotations" do
8
12
  q1 = create(:billing_machine_quotation_line, quantity: 1, unit_price: 10)
@@ -3,10 +3,9 @@ require "rails_helper"
3
3
  describe Dorsale::CommentsController, type: :controller do
4
4
  routes { Dorsale::Engine.routes }
5
5
 
6
- let(:user) {create(:user)}
7
- before :each do
8
- sign_in user
9
- end
6
+ let(:user) { create(:user) }
7
+
8
+ before(:each) { sign_in(user) }
10
9
 
11
10
  let(:valid_attributes){
12
11
  commentable = DummyModel.create!(name: "A")
@@ -1,9 +1,12 @@
1
1
  require "rails_helper"
2
2
 
3
3
  RSpec.describe ::Dorsale::CustomerVault::CorporationsController, type: :controller do
4
-
5
4
  routes { ::Dorsale::Engine.routes }
6
5
 
6
+ let(:user) { create(:user) }
7
+
8
+ before(:each) { sign_in(user) }
9
+
7
10
  let(:valid_attributes) {
8
11
  FactoryGirl.attributes_for(:customer_vault_corporation)
9
12
  }
@@ -2,9 +2,12 @@ require "rails_helper"
2
2
 
3
3
 
4
4
  RSpec.describe ::Dorsale::CustomerVault::IndividualsController, type: :controller do
5
-
6
5
  routes { ::Dorsale::Engine.routes }
7
6
 
7
+ let(:user) { create(:user) }
8
+
9
+ before(:each) { sign_in(user) }
10
+
8
11
  let(:valid_attributes) {
9
12
  FactoryGirl.attributes_for(:customer_vault_individual)
10
13
  }
@@ -2,7 +2,11 @@ require "rails_helper"
2
2
 
3
3
  RSpec.describe ::Dorsale::CustomerVault::PeopleController, type: :controller do
4
4
  routes { Dorsale::Engine.routes }
5
+
5
6
  let(:user) { create(:user) }
7
+
8
+ before(:each) { sign_in(user) }
9
+
6
10
  describe "#index" do
7
11
  it "should redirect to activity" do
8
12
  get :index
@@ -1,8 +1,12 @@
1
1
  require "rails_helper"
2
2
 
3
3
  describe Dorsale::Flyboy::FoldersController, type: :controller do
4
- render_views
5
4
  routes { Dorsale::Engine.routes }
5
+ render_views
6
+
7
+ let(:user) { create(:user) }
8
+
9
+ before(:each) { sign_in(user) }
6
10
 
7
11
  let(:folder){
8
12
  create(:flyboy_folder)
@@ -3,14 +3,13 @@ require "rails_helper"
3
3
  describe Dorsale::Flyboy::TaskCommentsController, type: :controller do
4
4
  routes { Dorsale::Engine.routes }
5
5
 
6
+ let(:user) { create(:user) }
7
+
8
+ before(:each) { sign_in(user) }
9
+
6
10
  let(:task) { create(:flyboy_task) }
7
11
  let(:task_comment) { create(:flyboy_task_comment, task: task) }
8
12
 
9
- let(:user) {create(:user)}
10
- before :each do
11
- sign_in user
12
- end
13
-
14
13
  describe "#create" do
15
14
  it "should create the task_comment" do
16
15
  post :create, task_id: task.id, task_comment: task_comment.attributes
@@ -2,10 +2,10 @@ require "rails_helper"
2
2
 
3
3
  describe Dorsale::Flyboy::TasksController, type: :controller do
4
4
  routes { Dorsale::Engine.routes }
5
- before(:each) do
6
- @user = create(:user)
7
- sign_in @user
8
- end
5
+
6
+ let(:user) { create(:user) }
7
+
8
+ before(:each) { sign_in(user) }
9
9
 
10
10
  let!(:task) {
11
11
  create(:flyboy_task, done: false)
@@ -48,12 +48,6 @@ describe Dorsale::Flyboy::TasksController, type: :controller do
48
48
  end
49
49
 
50
50
  describe "GET index" do
51
- it "assigns all tasks as @tasks" do
52
- Dorsale::UserScope.any_instance.stub(:tasks).and_return(Dorsale::Flyboy::Task.where(id: task.id))
53
- get :index, {}
54
- expect(assigns(:tasks).sort).to eq [task]
55
- end
56
-
57
51
  context "when applying filter" do
58
52
  before do
59
53
  Dorsale::Flyboy::Task.destroy_all
@@ -1,55 +1,58 @@
1
1
  require "rails_helper"
2
2
 
3
- module Dorsale
4
- describe SmallData::FiltersController, type: :controller do
5
- routes { Dorsale::Engine.routes }
3
+ describe Dorsale::SmallData::FiltersController, type: :controller do
4
+ routes { Dorsale::Engine.routes }
6
5
 
7
- let(:filters) { {key: "value"} }
6
+ let(:user) { create(:user) }
8
7
 
9
- before(:each) do
10
- request.env["HTTP_REFERER"] = "where_i_came_from"
8
+ before(:each) { sign_in(user) }
9
+
10
+ let(:filters) { {key: "value"} }
11
+
12
+ before(:each) do
13
+ request.env["HTTP_REFERER"] = "where_i_came_from"
14
+ end
15
+
16
+ describe "create" do
17
+ let(:action) {post :create, filters: filters}
18
+
19
+ it "should redirect to refferer" do
20
+ action
21
+ expect(response).to redirect_to "where_i_came_from"
11
22
  end
12
23
 
13
- describe "create" do
14
- let(:action) {post :create, filters: filters}
15
-
16
- it "should redirect to refferer" do
17
- action
18
- expect(response).to redirect_to "where_i_came_from"
19
- end
20
-
21
- it "should redirect to call back url if defined" do
22
- post :create, filters: {key: "value"}, back_url: "xxx"
23
- expect(response).to redirect_to "xxx"
24
- end
25
-
26
- it "should store the filter in cookie" do
27
- action
28
- expect(response.cookies["filters"]).to eq(filters.to_json)
29
- end
30
-
31
- it "should merge filters with previous filters" do
32
- action
33
- post :create, filters: {other_key: "value2"}
34
- expect(response.cookies["filters"]).to eq({key: "value", other_key: "value2"}.to_json)
35
- end
24
+ it "should redirect to call back url if defined" do
25
+ post :create, filters: {key: "value"}, back_url: "xxx"
26
+ expect(response).to redirect_to "xxx"
36
27
  end
37
28
 
38
- describe "back_url" do
39
- it "should reset page" do
40
- post :create, filters: {}, back_url: "/dorsale/flyboy/tasks"
41
- expect(response).to redirect_to "/dorsale/flyboy/tasks"
29
+ it "should store the filter in cookie" do
30
+ action
31
+ expect(response.cookies["filters"]).to eq(filters.to_json)
32
+ end
42
33
 
43
- post :create, filters: {}, back_url: "/dorsale/flyboy/tasks?&sort=term&page=3"
44
- expect(response).to redirect_to "/dorsale/flyboy/tasks?&sort=term"
34
+ it "should merge filters with previous filters" do
35
+ action
36
+ post :create, filters: {other_key: "value2"}
37
+ expect(response.cookies["filters"]).to eq({key: "value", other_key: "value2"}.to_json)
38
+ end
39
+ end
45
40
 
46
- post :create, filters: {}, back_url: "/dorsale/flyboy/tasks?&sort=term&page=3&a=b"
47
- expect(response).to redirect_to "/dorsale/flyboy/tasks?&sort=term&a=b"
41
+ describe "back_url" do
42
+ it "should reset page" do
43
+ post :create, filters: {}, back_url: "/dorsale/flyboy/tasks"
44
+ expect(response).to redirect_to "/dorsale/flyboy/tasks"
48
45
 
49
- post :create, filters: {}, back_url: "/dorsale/flyboy/tasks?page=3&a=b"
50
- expect(response).to redirect_to "/dorsale/flyboy/tasks?a=b"
51
- end
52
- end
46
+ post :create, filters: {}, back_url: "/dorsale/flyboy/tasks?&sort=term&page=3"
47
+ expect(response).to redirect_to "/dorsale/flyboy/tasks?&sort=term"
48
+
49
+ post :create, filters: {}, back_url: "/dorsale/flyboy/tasks?&sort=term&page=3&a=b"
50
+ expect(response).to redirect_to "/dorsale/flyboy/tasks?&sort=term&a=b"
53
51
 
52
+ post :create, filters: {}, back_url: "/dorsale/flyboy/tasks?page=3&a=b"
53
+ expect(response).to redirect_to "/dorsale/flyboy/tasks?a=b"
54
+ end
54
55
  end
56
+
55
57
  end
58
+