templus_models 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (295) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.rdoc +3 -0
  4. data/Rakefile +34 -0
  5. data/app/assets/javascripts/raro_crud.js +95 -0
  6. data/app/controllers/crud_controller.rb +148 -0
  7. data/app/helpers/crud_helper.rb +169 -0
  8. data/app/helpers/search_helper.rb +241 -0
  9. data/app/raro_crud/raro_crud.rb +274 -0
  10. data/app/views/crud/_crud_template.html.erb +35 -0
  11. data/app/views/crud/_edit.html.erb +1 -0
  12. data/app/views/crud/_form.html.erb +68 -0
  13. data/app/views/crud/_links.html.erb +0 -0
  14. data/app/views/crud/_new.html.erb +1 -0
  15. data/app/views/crud/_record.html.erb +51 -0
  16. data/app/views/crud/_records.html.erb +24 -0
  17. data/app/views/crud/_scopes.html.erb +18 -0
  18. data/app/views/crud/_search.html.erb +20 -0
  19. data/app/views/crud/_show.html.erb +60 -0
  20. data/app/views/crud/create.js.erb +13 -0
  21. data/app/views/crud/edit.html.erb +8 -0
  22. data/app/views/crud/index.html.erb +7 -0
  23. data/app/views/crud/new.html.erb +10 -0
  24. data/app/views/crud/show.html.erb +8 -0
  25. data/app/views/layouts/_menu_crud.html.erb +8 -0
  26. data/app/views/layouts/_template_raro_crud.html.erb +73 -0
  27. data/app/views/tabelas/_precos.html.erb +0 -0
  28. data/config/initializers/raro_search.rb +17 -0
  29. data/config/initializers/simple_form.rb +173 -0
  30. data/config/routes.rb +13 -0
  31. data/lib/generators/crud/USAGE +8 -0
  32. data/lib/generators/crud/crud_generator.rb +10 -0
  33. data/lib/generators/crud/templates/crud.rb +52 -0
  34. data/lib/generators/crud/templates/crud2.rb +58 -0
  35. data/lib/tasks/templus_models_tasks.rake +4 -0
  36. data/lib/templus_models.rb +9 -0
  37. data/lib/templus_models/engine.rb +4 -0
  38. data/lib/templus_models/version.rb +3 -0
  39. data/test/dummy/README.rdoc +28 -0
  40. data/test/dummy/Rakefile +6 -0
  41. data/test/dummy/app/assets/javascripts/application.js +14 -0
  42. data/test/dummy/app/assets/javascripts/crud/alert1.js +1 -0
  43. data/test/dummy/app/assets/javascripts/crud/alert2.js +1 -0
  44. data/test/dummy/app/assets/javascripts/jquery/jquery-2.1.1.js +4 -0
  45. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  46. data/test/dummy/app/controllers/application_controller.rb +5 -0
  47. data/test/dummy/app/helpers/application_helper.rb +2 -0
  48. data/test/dummy/app/models/ability.rb +35 -0
  49. data/test/dummy/app/models/teste.rb +9 -0
  50. data/test/dummy/app/models/teste1.rb +5 -0
  51. data/test/dummy/app/raro_crud/#{file_name}_crud.rb +0 -0
  52. data/test/dummy/app/raro_crud/pessoa_crud.rb +50 -0
  53. data/test/dummy/app/raro_crud/teste1_crud.rb +14 -0
  54. data/test/dummy/app/raro_crud/teste_crud.rb +58 -0
  55. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  56. data/test/dummy/bin/bundle +3 -0
  57. data/test/dummy/bin/rails +4 -0
  58. data/test/dummy/bin/rake +4 -0
  59. data/test/dummy/config.ru +4 -0
  60. data/test/dummy/config/application.rb +23 -0
  61. data/test/dummy/config/boot.rb +5 -0
  62. data/test/dummy/config/database.yml +25 -0
  63. data/test/dummy/config/environment.rb +5 -0
  64. data/test/dummy/config/environments/development.rb +39 -0
  65. data/test/dummy/config/environments/production.rb +78 -0
  66. data/test/dummy/config/environments/test.rb +39 -0
  67. data/test/dummy/config/initializers/assets.rb +8 -0
  68. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  69. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  70. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  71. data/test/dummy/config/initializers/inflections.rb +16 -0
  72. data/test/dummy/config/initializers/mime_types.rb +4 -0
  73. data/test/dummy/config/initializers/session_store.rb +3 -0
  74. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  75. data/test/dummy/config/locales/en.yml +23 -0
  76. data/test/dummy/config/routes.rb +56 -0
  77. data/test/dummy/config/secrets.yml +22 -0
  78. data/test/dummy/db/development.sqlite3 +0 -0
  79. data/test/dummy/db/migrate/20150415214253_create_testes.rb +9 -0
  80. data/test/dummy/db/migrate/20150416220930_create_teste1s.rb +10 -0
  81. data/test/dummy/db/schema.rb +31 -0
  82. data/test/dummy/log/development.log +11980 -0
  83. data/test/dummy/public/404.html +67 -0
  84. data/test/dummy/public/422.html +67 -0
  85. data/test/dummy/public/500.html +66 -0
  86. data/test/dummy/public/favicon.ico +0 -0
  87. data/test/dummy/test/fixtures/teste1s.yml +7 -0
  88. data/test/dummy/test/fixtures/testes.yml +7 -0
  89. data/test/dummy/test/models/teste1_test.rb +7 -0
  90. data/test/dummy/test/models/teste_test.rb +7 -0
  91. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-0RkuYMXJCukyo6fA0YmSXUwMd47QpzpUhQatZpEqkY.cache +1 -0
  92. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-AtorCA2iqgAMYxvH7W0eRa0fsPWw_adQ1E2a4T-ncs.cache +3 -0
  93. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-MzeH9Nm-DG1fsBzYAO6iyo-dqHmHQD5JQiC725Whko.cache +0 -0
  94. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-fEzfBEg4v147_Xfhlzq6AcSNGSYcxiMFDcZiY__4qg.cache +1 -0
  95. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-raUXfOtrQirgvak5TOJHfEFDLcORHoJWFVSkL2kFLQ.cache +3 -0
  96. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-rj6TLs6ScHy9rBVR1FtAG7sMhFwBhL-h_ql0-fjoO8.cache +0 -0
  97. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/00RruQPZ9NMEjxmmNLv-brb7Dz3JIcMmqznNLCV_eBg.cache +0 -0
  98. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0zYv6B2AICV6CQqG9xsbhg0q0zgBEqHmqYT_oM2t63c.cache +1 -0
  99. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2R9HI_ug87lStS_VoW5EAjaLi9vK_6V7QD6kCsr8i0M.cache +0 -0
  100. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2WJz14KMpvhFJIFov0mbMmTKFGtCLEC36x7lVjzq87U.cache +0 -0
  101. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2WRAXn1FZWe_1EQTP6dnelRkMOSABdpw4I1BgWO87UE.cache +1 -0
  102. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2_CA3YFYuY8rjSK2fn5wiT8aepkp6YGqTYOjRurC220.cache +0 -0
  103. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3PB0fIDBf8wgB_W12ygFqvjqAlXcuHtoolp3A2Qcdsw.cache +0 -0
  104. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3plMbIHZMFJHbJTBWe2g7SenboxXqlxzU8aI900m22E.cache +0 -0
  105. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3s3k0T7lXZyr84Rkm9J_VXqLwYW_I4_hXj7FOH-zfLM.cache +0 -0
  106. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4B-h9SsGXeh2w8VQGniJjUysS2w7rO8I5c5JSUzp08o.cache +0 -0
  107. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4COj5bJqFYUkKXUEQ47_DmXTi6Ac8IsStYYK5lo9LWc.cache +0 -0
  108. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4Jm4uat5-HtEtboNSBYcPmZcwKBKYzcBa_DasUL3qNY.cache +1 -0
  109. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4rTGqQYT_JbF0LetrygDgyPCH9is1SatjEQe-8k78so.cache +0 -0
  110. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/50IW238EtzEH5989d0XdN803CNIGp1InvXlIAU1HM40.cache +1 -0
  111. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5s_bVndzZYo6nm7AZyOJxU4x3kvhcKsyqIKfcC_2Iu0.cache +0 -0
  112. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6HYdSeJp0z3vfKTcO-NmYDcSJGsWpIRKiUQTx4wz4hE.cache +0 -0
  113. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6QgJZL40nTelMwpeat779Ykv-8Dth_sdqaRfkrNDhiI.cache +1 -0
  114. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6RfXmG9hCd6ds3txAlhE3SWj0j606PtQi64RPEM-TcA.cache +1 -0
  115. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6em5auU0KgFUqVS55AUI5FFNo1Yall5joJNTPh6cREM.cache +1 -0
  116. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6kJYp3x1cBZDpDSd_3XEOz6ifWEwKOE3Gb5z5Zoxt84.cache +0 -0
  117. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/74SkyQLF_kk_zAkQfJT0erg9zkZ6Fofeu05Fexi2a5w.cache +1 -0
  118. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/751lrK8ccX2v0VkMqF0nY6eMMFzmjQ0l3vatKsjPoG0.cache +1 -0
  119. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7Gyv818zzArjMYxSFo6BCf-PRW6AYStsOd4xLRmF8hU.cache +0 -0
  120. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7qXrvz_aUAoXT6FIX0DxsF9CTccT5fksyglG-DHDMfI.cache +1 -0
  121. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/85H49xavK_2TtUGG0BAapvIqdyry4-7eH0f99YabgSc.cache +0 -0
  122. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8a2Q3fVjuE3Z7z0R5agncr869C89Cummxep05-u4UWw.cache +1 -0
  123. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9AVKXW1Jc3ILufGozaIo5yvFLEaPS_zAwfHbO__usIs.cache +0 -0
  124. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9WjO6_wu3g8yBTUfXWpOlu6yDNz-nACKkeuVxV7TSuo.cache +2 -0
  125. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9oqzZU1KzLnwoLPfmeAx8oMfMdXsnZpq-jZB5-rNYqQ.cache +1 -0
  126. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ALbGYuKATYSyElK_JYkccwgBRS3Lx61h74toN1jliI0.cache +1 -0
  127. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/A_Q5nO455RK-6h7qFBGx6NtGhbVJORpYvJ4RZs8RaeM.cache +1 -0
  128. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AdReWx5s_03lXymktcB3CMl6CTKFus2HTcOJvGhdCUw.cache +1 -0
  129. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/B0rzMLMi8Ci8Q47RmCw4vHizwKPwIAeNjvGEb2qJbzg.cache +0 -0
  130. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/B6oh0lsvUcgddWUpcJhGWeson5WKq9oXNm--8MbrOWs.cache +6 -0
  131. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BBUbO6W8N9-HtTfZjgASnsqBUePYt3-1RHFFp8u0u5U.cache +0 -0
  132. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BGf7Y0SyTPz9Ydt8hwJRXQ4EroI1gI107ukxlevk5Z8.cache +1 -0
  133. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BvU-skW8wL4KmDFzH8XT1gUWXo07dmQ0FoB8M_8bofA.cache +1 -0
  134. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CUl-GCrcAiBnZAR6OPR1vtmvZvPqWWAdLZMfIPZJYb0.cache +0 -0
  135. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CceiAev4oDf3En1JQCOEbxL3h03YbKFxFDc0hV8KUgw.cache +0 -0
  136. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CfAlr2nebJ3Kl-Lcydx5d7Yv6iRRelwdfXmVCp27BEY.cache +0 -0
  137. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CyLoGmEoSwmAeobjNGvGhebq_-s3ejljxrVV6czKqSU.cache +0 -0
  138. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DF6ikykd1zv_eO5SEGyMxuxwd7mBtZNnk1kojMCscA0.cache +0 -0
  139. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DMuQdFrhOQ6urUFtNTl6rJJqcaNloLms8jg1Tf5pUhY.cache +1 -0
  140. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EdhOx5YJzUYE7Ys67yOzg04iV1LoIkN2C3J-V6Kd7kA.cache +0 -0
  141. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Eoz00hNTX8KygNr0aVpIEbh34MSEDX5m7ZqR8Lad9OE.cache +1 -0
  142. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EvmXBcpSJlMPk0SMVRVNxX3HOkhFyF-hmBynvhH407Q.cache +3 -0
  143. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ExITjXq3B3I4D2iPC9-7bWBMQMG067_pNyr51yzERWg.cache +0 -0
  144. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FuxdU4c7Xc6cHVNpEbfk4KCJYp6NKj1jD1LvHQr87G0.cache +0 -0
  145. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/G1BmAqwKmBzIzvmqHrnas7bseYPySeYy_kKQUCudyRI.cache +0 -0
  146. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GtlaUxUQN9roRptWCK4bcibWSGXX8YZOUL7rv6A3bMs.cache +0 -0
  147. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HM5akuFqjvooR5YQPelVy9Gp2DEIXBhbCtXtEJe_Gw4.cache +1 -0
  148. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HVGc6yBzGqr8JZ9wVVx9DwuAoB62xqX5o7-7GF8_D2k.cache +2 -0
  149. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Hp2z2qsfAtIig0amAkDdPBx8YTqC3eI6i13chZgIP84.cache +2 -0
  150. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/I3WA6ZiWG-zuR5mSSRisBfw157kRwx6rq6lCw0GvJuc.cache +1 -0
  151. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JS4ML3ziOZ-0gHe13rM5fwAREuPNrJ-gZFjO3srZStk.cache +1 -0
  152. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JXCGqqJsYbeS4osNafEUotYV8g2yH-okmlCShN2_skY.cache +0 -0
  153. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/K7qFaWBvn05qTKLldfHX3OEFRM776XCtH2oKNpbwkVE.cache +1 -0
  154. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KEZbyOpyYalySpkvic4ZC-V30PpSmlS7hlnkzTIVzcI.cache +1 -0
  155. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LPXp9MfnAoNxpQnHzcYEg5vRityYS8YU3catMirmhE4.cache +1 -0
  156. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Lz31lhNAZRtljaFrKzzDxo9anoBL4UXf0b6qSu3ixOg.cache +0 -0
  157. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MAV4GtRsTNuMa7mh-FRGi2wL9z9semz4ipA-taBAp4w.cache +0 -0
  158. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/N25GQGIWXDow0UJUDlGjYFTg8_UB925vu960hWdxlSg.cache +0 -0
  159. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/N2Kc4daD17uXszWGiTWCpGWU7uIclgJ1QRaAdY5Zg1M.cache +3 -0
  160. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NFE5HSRPELMk2JjUOBW48fPksAlUV8kIVYmdAeSryl0.cache +1 -0
  161. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NkWwgnvgSUOGryPKuNnkQb37Udk1rbSi61oM7hFbS-0.cache +0 -0
  162. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NzbuktItre-lQg5qhPHMdUL0ZwJLhELLqjL7Ak6yoE8.cache +0 -0
  163. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/O3U8kR_sGWfEYOfQtUzA9R7yWGaQeHdWnTMBtHOCqK0.cache +0 -0
  164. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OPYstxXigozf6p1NcN6nFnBUONF9Crz_2Xe3N4N4-tk.cache +0 -0
  165. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/P2fhx18EfM52CRdcUcVblqJ3-2-kPkAqnOJfuBgNUxw.cache +1 -0
  166. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PHuB8XHtS6zagW6bl1nAke04twK5oE_0P7MdUnhrp7A.cache +0 -0
  167. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PhQ3QEw8R2R0F2G7n62dm5Nj10IhS_GSAIG82MvXc7c.cache +1 -0
  168. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Po2LrqIRsW1B-1hA6ydI-Rt_mpx2pXBac66EN2hhshA.cache +0 -0
  169. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Pv_TicOezYHAqPrhipb0dtidBfvIzfu-rjKFTW3yl1I.cache +1 -0
  170. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QJefgE9eLObDoOA71vu5TV8kqFobztSkhB_mw7H4_-Q.cache +0 -0
  171. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QcXaJ4--BWzhpQD7doOhC-SygbDl5oyf-HOuVprksh4.cache +0 -0
  172. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QogVK7Zl4bvRfOdAM7ZsEkUgbV84BW22FN5WPi1Jhm0.cache +1 -0
  173. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/R5HsD0POG0xexSuYEwLy2ad0x3hBHFusyes1eRU0N6Y.cache +2 -0
  174. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RAlAgkJK39zk8mrzAiedu6RIgni7Ca95CDYewbIyqyU.cache +2 -0
  175. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RlHMp3gZ1aRTediB9KIBC-JNz3IXwShkqClSTt4gH7Q.cache +1 -0
  176. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RrimogpCYT4gLOhSxEP23MTWQKLes2NFZauoPVBKoh0.cache +1 -0
  177. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Run9n7a73bx1qzBABFw705w_RTLh2hDFRZ1pxxX5A9k.cache +1 -0
  178. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RwKuSDjm7JYYkbvfOLdCGgzeIqDJw8UkcJXHv-PCaw8.cache +1 -0
  179. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/S1P584VolTNZh4Ih05tAW__rYq64a1bPJy4Ku_MekC8.cache +0 -0
  180. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/S8qr6hNqBkDfzk_M783TIbmCgtyDIA6x9uW5TONaP-w.cache +1 -0
  181. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SJ3EEmIti8GPIgc0WexzzMn6kEEZ0t9kpzifJsADKVk.cache +1 -0
  182. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SNJD-4NH0aXPJecBz7iofpNPHR217ufNeftApCooPjg.cache +0 -0
  183. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SUgEmzuKRgYzQPBAVtWz-hBg99Riz9wLvi6aHWnDEwQ.cache +1 -0
  184. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SfnKk1dQvf8qIKaCdUsVa2cjOtgM_Xj6NQcYfy80Ck0.cache +3 -0
  185. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Sxj5zwmBihDy8UhTHtImyrN1_KKkcla1d7JDVKuYip4.cache +0 -0
  186. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/T-2u3VedKGzdLVQKVEWEPTlTfZp5VNvqcVJES9esUiQ.cache +0 -0
  187. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TCXLy1tuwOhuK--MGtxXQFDTVo0EzGWm7SmJL2DebN8.cache +1 -0
  188. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UCn-O-RZ6clYhkVyWgHMWglyAPFouB_VaQVDJrL9Z88.cache +1 -0
  189. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UD5VPXqQzQVdXxBKbHriF6JCw8Qb9i7UE69lCXVN2OI.cache +1 -0
  190. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UKKkjAe9vIzKz6qCsd0eyqIvSip6qtm9-YQbKZ-ze1Q.cache +1 -0
  191. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/V39AXCaEZmT-kOlIoZiCD0AyP1s7Xu7p94qQYQAt2s8.cache +0 -0
  192. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VJtHFSLCtAMr7n-S0iAcXJuEeWLSGWr6HHdKJ_BbQpc.cache +0 -0
  193. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VkKNjTO7kyAVClPp7bsHvVeLtvERoW59_A7Uo6lktlY.cache +0 -0
  194. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WIXMTWvd2zBvQTEEpe9iJeFWW3lknQM0WLaB9LxMfg4.cache +0 -0
  195. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WNYt-1VbjD4C9NEaYRJP1zlEmVzYt0ZIDESu5IcpMTU.cache +0 -0
  196. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WX9tkL5_hG-PV_IQFjT26XsvSWhf85ZXv0nK2tBarGM.cache +1 -0
  197. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XB4hg9UPbd45TylzMYymCymRnR7JxkQMpfCkeOT-3j0.cache +0 -0
  198. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XQ4aIm-_RQNLlv_p-dZByJg8jsTS6LZs6lFARh-xWt0.cache +0 -0
  199. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XikcGw0VNsR9odl0TNFSH11KSaRXARhXT-Ikb44Kr6o.cache +0 -0
  200. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Xu95SO3OK8xHiuD7VNZIsN5kLyB7ZLoOaSppRnpa2L8.cache +0 -0
  201. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YJFZ_DgaJy6oEgEbRNYq_xbT5hg7Eu1h3WM5JPo7rdY.cache +0 -0
  202. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YxDHUFE7wdRHeXKHLDmwSwz4fl9RkdIDtzeS8cnAyIE.cache +1 -0
  203. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Z6u7GBxS_lJQoT58OLOlQ45pyYfRR9Cv3hTyfbLYbjw.cache +0 -0
  204. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_E5NnnUabpFFzkAQQ0RUiN4_5tRCHxdzu1_My4tw6IE.cache +1 -0
  205. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_tyOMUndB2DVeq9nwU8pRQ39CkAU8lLzlFSrMNf_S3s.cache +2 -0
  206. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/a1AuugcwlWVX_ZnsaPnA4nvs_I74k_1BrwyftiVO7a4.cache +0 -0
  207. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ar7XJXwMY_jRPYT6bfHpiMHlM8I4blvXzDgIZ50aMoE.cache +3 -0
  208. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/b-4ZOkjwvbGyC48dHtxES-yjISuUiqX-MPIZBgVu4iA.cache +0 -0
  209. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bLSqdfBxS0hG8iE9YGbz6XcdnT76l3bqqbH1j-8VYMs.cache +1 -0
  210. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bM42Ou_AvvRvhSpuZqF7sPrYdGg-8tuEwQ14R4YpJDQ.cache +1 -0
  211. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bO3GaNycaPsLp3vX0Bgw7LYjlecep0FefE2Wsg2LH6o.cache +1 -0
  212. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bmIthijT-qXHXtpDdnJPqADbj3aN2WcF-niJo-CW6kc.cache +1 -0
  213. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bslCOFLEjB4LrqrjRzN4iOo3XJzXCUgaZRWI21lyOcI.cache +0 -0
  214. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cei-NTbQTYBnfaLXMg7W6WJtPBQXucHzybQzztHfPek.cache +1 -0
  215. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/d6lfgb9qmUmGi5Ky9sB1L0FXLN_zXO8y-0eDtIMPmI0.cache +0 -0
  216. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dVz07HiNkWxAeWuyadttjZ8gjJERJ4-RVt2kfFnPza4.cache +2 -0
  217. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dlTvwgYuIwoWEZGMoujEUgkC4BpMgcX27kQjRdUgHuc.cache +0 -0
  218. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/e1WZZp0R9rj2aqI4sqtaPoR6rPwIcIhLCDZW6RJSKjY.cache +1 -0
  219. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/enSxWB88Tfl_5rIdKRRR658oDujh_E7di20GL-1ZIS0.cache +0 -0
  220. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/f0dWb4ayOVY6BW4NdPUh_ZBZDm31umoKULCxP7JsSeQ.cache +1 -0
  221. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/f8kJ7icPeFCN4AhIHCJUkizUReVZI4BJH4IUfaixE2w.cache +0 -0
  222. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fG3BvTkCrakUd3CVBYY8kHi1A8Yv2lcvbLtUmAVlCoY.cache +0 -0
  223. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fP_fEndiX1YdfVxwuEQsbk2nFv5nvBIY2eVVrLbAVfk.cache +1 -0
  224. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fk6VEJiGQHxr9GVfpsjW5O8eixvxYj6LMFxzQrh6Xkk.cache +0 -0
  225. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/frnU1s3KmCm5DwyiZk1bFaApN7XgeMPSviilEaAqTig.cache +0 -0
  226. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fvlVm0klEuWZekWgCSvDLOGw9peTpqOIwmACHsSwtL4.cache +0 -0
  227. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gKpBPMi-T0qbsZWmO2mEuO1rR1tnI67HkR7fV5-MiKU.cache +0 -0
  228. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ggkncbfz1SC-5i7rp2QXjHn-SPQYv-c2oaJTP4kl3-Q.cache +1 -0
  229. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gyxR-VFHc3_dn9O9lS5SqQK_DXawjrt4H8PMI2hV-So.cache +1 -0
  230. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/i8KeXclJwkLX6gr6Vr6L_wdN1c429kOOUakNGccYIWs.cache +1 -0
  231. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iJxOOx5Xnu8h5BXQzcUgfZlrfKPN9k-Q8dy3EwIg2Dk.cache +6 -0
  232. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iUBSNc-5E5E4cN6X25OxX6APuzCtcxlfYazpNqhcQFU.cache +0 -0
  233. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/i_me0DwVwcfHchaKe9FFKjwORU_G61cz1heJSHNC4i4.cache +0 -0
  234. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/isPH7sBbG8wW0XpIU8w2JiRFzKmqpb0B3PtfjY-Fju4.cache +1 -0
  235. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/j10VJq1uwquWfiehjlw7kyrv_W-Gui-hrZFhaPVbzI0.cache +3 -0
  236. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jHE2MSq7IKoXNMSSFB-DwZ8aKQvd-R4CPVH7K0q27_k.cache +1 -0
  237. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jRxj7keJ-TAUqhgV0FvFYkM-p6pXRilTBNt7Xh1VX_E.cache +0 -0
  238. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jtifSOVyGP_LNOAtPAUbEWNhcPQpnWTVp7lvyMvOnLc.cache +0 -0
  239. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jyvcPE97vy_b-82NOzpqEX5jeTagB1kN4W1Wp45i4uk.cache +1 -0
  240. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lAsroOrUZ4A2g90xX5jCzdRCYREw6VKOj0xBIJYMiGY.cache +1 -0
  241. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lDe8sNEstNhniLIjHzYf_vHQjlEQV4qH-REZVOMOjFc.cache +0 -0
  242. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/laBJzx_b6JUB8MPLlFlxbgN_xkef7mGv0WN4tQIO2cg.cache +0 -0
  243. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/m4ZJqBa8y36aVwf3N0mF0-3RtnYRQCfqbGQJe-Lc_5g.cache +0 -0
  244. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mYMDaxAPAJM8ErG8TXvZQxol46eqK3AV3CQ8G8V-b4M.cache +0 -0
  245. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mxschIrqaPr6xevnPQT5ef8ZeaIgUSQ0RADbaMREQEA.cache +0 -0
  246. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nJboFt8klA4zcXScAuBNJoSmGktbcif8nSSeWpLUEMk.cache +0 -0
  247. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nOYKNZpj5-0kIhxeV40X6DsgyL8S66Ahhg66h2JBKG8.cache +1 -0
  248. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nPoU98hJn_xwYkQDLg-VGhLzDs24XLcwgcX65MBQE5c.cache +1 -0
  249. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ntqZkzoIE68aMjuc0yp-tmVqAc_-5xq69ePuaKaQOso.cache +0 -0
  250. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nuc0ksGFSHVwsH9Sqi7WP_LJbqW_IjT6_XkDrdX3MjE.cache +0 -0
  251. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/o0W3V7MDQHortA5GOSC6ii4M6sUqp5lzzGlW7DrNHsQ.cache +1 -0
  252. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/o4N2GkOe3km73jRtXr6g1RhVtqBHmQXipLQSccjjics.cache +1 -0
  253. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ogvxFdj-oDmf63tOXEM5hp4plavRvExl8Qnqap8sW7k.cache +1 -0
  254. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/p2enRakkRzJyMpSAJawDAE0o_OBSrSIa7KdUv-lcMow.cache +1 -0
  255. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pHanFOUjaiuOlFtAv0dzy0MwMv_BuFtRR8JTcYXg2XQ.cache +0 -0
  256. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pQziWwowuowx0FOYx2HAk84JbNUZcALmDixIYvQuJZg.cache +1 -0
  257. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pS0_jaasn7nnwtSdY5bIvEr-P6DaJU7HsyH9sFKE0GI.cache +0 -0
  258. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pxF_aFjVSm677g7jSkzExURX9cgPazYDabFXsta4Txo.cache +1 -0
  259. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/q4l5PLa8Zl9VK3e1PNYVXbSB1LW6ayfSq7YYMUSbgcU.cache +1 -0
  260. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qKd0hTNCpbPOAgI3T6Om735FkvgjPnpGRPrMP2z0k2c.cache +0 -0
  261. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qTqEguBBn4OieaN6XlRehOzjelVJSOsfcjfNKSBi_h0.cache +1 -0
  262. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qc1z_lojge7OJ0N9FLjaFenXsN82iIEnKN5S-t_sBlU.cache +0 -0
  263. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/r93DDvPtjPyZa8taxSosNNvvOyHtMsF_ngrSs31aHOY.cache +0 -0
  264. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rQM71yPXAdtASPadnfu1m7F_gQOb-uh_Adxs5P55R7U.cache +2 -0
  265. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rbjKrg9BdrF2KtWN35sVH9aZOwvhLrEdX1xsyaYpxEM.cache +1 -0
  266. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rcIDrjXwMeotIKYDncG2DGA50sE4HAYSUVSEYT2_VIE.cache +0 -0
  267. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rtP4xELGID8pEJo_BvmsxpiYVBxvMCLlvdlJUvUgqEg.cache +0 -0
  268. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rykyMLrVFRiIIFUPH9OmnTjB-rUqcfXIXnpn5BW9Qm8.cache +2 -0
  269. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/s4TQBqPusIoFIDSX3E4KAuPCuQDQojW6slN6AoIJJ-U.cache +1 -0
  270. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tZ5iPXN6G9X1ixL0WHs-uh5VAqziiY6UW-Z2hvUF6Yk.cache +1 -0
  271. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uWSNrNOkPR4BhWrOxXX5TfqNlJIbszyfZtHnTTKZ9cg.cache +0 -0
  272. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uduw2awKAS_DPp9gklbfvv2RDev7wEpenbCFDA4DNxs.cache +2 -0
  273. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uzyaJavSCzdPUOHA5GK3am45IFBayRibD2aAssiJ38M.cache +1 -0
  274. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vVrp5o_oj54K9Spnx5HkfJ6ga4Tm7GxFZKt4WZB8FIo.cache +1 -0
  275. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vuecJc1nwUoDltWHnzMRV85v7LwdiSgS7ZxysZYrRdg.cache +0 -0
  276. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/weIC5cXLvacNNF25heFbcWBeOsb2iQ-7WcBUahSrfEE.cache +0 -0
  277. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wvCRibnMjYfz4MGqnbW1nweqNRiPm4ATaK-ewK5ssOQ.cache +1 -0
  278. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wyL3h6Marl2JMfZYLDwQkXRdK4NuLKiCWHQm6igReZ4.cache +1 -0
  279. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/x0Q5Wf3UaFu2wIgP9JPFAVuYUi0n-xY58FuBZ-0O2xI.cache +2 -0
  280. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xCb6Q2JAt2SWDS5ibOqetMJWKJm1BdJXdfAdLfLXYVc.cache +1 -0
  281. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xkckYJjDSntINUKHZDIlrd09lKxhlFZdN7bT8Q0E1iE.cache +0 -0
  282. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xoHo4y-EuHmK9O3z662PKRsIZpkyFW4KFE0JA6Bp3w8.cache +0 -0
  283. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/y5iLcw4EhWkb07ULRjXL7JsXk9-lj40vgPx1f3nlXeY.cache +1 -0
  284. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/y8ezrzwP5d8BLJ61T6L_Q4pitouvrbICokHEnxXC1ao.cache +2 -0
  285. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yAZJ5fnLUjXfVQXlEOoO_EszVleGJC2-Lg6z7_9KvBI.cache +0 -0
  286. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yThvUcySW81LnX3krwb-Uhi7OEIn0LrQo5jJVQxm-N0.cache +0 -0
  287. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yXXUoKEykhpZPMXWVzUf3GtTwgAtNSDCOK6TvomSdoM.cache +0 -0
  288. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zsJ7Mb8REasrj4nUuq6H0d0o74xxuUlQk7KtCJSdqMg.cache +1 -0
  289. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zwqXp6G2mEvMWMFcZeiFfb2jr3PymMGXDPQdfjBCrR0.cache +1 -0
  290. data/test/dummy/tmp/pids/server.pid +1 -0
  291. data/test/integration/navigation_test.rb +10 -0
  292. data/test/lib/generators/crud_generator_test.rb +14 -0
  293. data/test/templus_models_test.rb +7 -0
  294. data/test/test_helper.rb +18 -0
  295. metadata +693 -0
@@ -0,0 +1,241 @@
1
+ module SearchHelper
2
+
3
+ def raro_search_form(model,partial,collection_name,url,sort = nil)
4
+ @buffer = raro_before_form(model,partial,collection_name,url,sort)
5
+ @model = model
6
+ yield
7
+ @buffer << raro_submit("Pesquisar")
8
+ @buffer << raro_after_form
9
+ @buffer << raro_script
10
+ @buffer.html_safe
11
+ end
12
+
13
+ private
14
+
15
+ def raro_submit(name)
16
+ "<div><input type='submit' class='btn btn-primary pull-right' value='#{name}' id='submit_raro_search'></div><br><br>"
17
+ end
18
+
19
+ def raro_field (name, opts = {})
20
+ unless opts[:model]
21
+ prototype = @model.columns_hash[name.to_s]
22
+ return "" unless prototype
23
+ else
24
+ prototype = Module.const_get(opts[:model]).columns_hash[name.to_s]
25
+ name = opts[:full_name]
26
+ end
27
+ label = name
28
+ label = opts[:label] if opts[:label]
29
+
30
+ @buffer << "<div class=\"form-group\">"
31
+ @buffer << raro_label(label,opts)
32
+ @buffer << "<div class='col-sm-10'>"
33
+ @buffer << raro_input(name, prototype.type, opts)
34
+ @buffer << "</div>"
35
+ @buffer << "</div>"
36
+ end
37
+
38
+ def raro_field_custom(name, type, opts={})
39
+ label = name
40
+ label = opts[:label] if opts[:label]
41
+ @buffer << "<div class=\"control-group\">"
42
+ @buffer << raro_label(label,opts)
43
+ @buffer << "<div class='controls'>"
44
+ @buffer << raro_input(name, type, opts)
45
+ @buffer << "</div>"
46
+ @buffer << "</div>"
47
+ end
48
+
49
+ def raro_input(name, type,opts)
50
+ if opts[:as] && type != :datetime && type != :date
51
+ return raro_input_as(name,type,opts)
52
+ end
53
+
54
+ case type
55
+ when :integer
56
+ if name =~ /\_id$/ and not opts[:dont_assoc]
57
+ return raro_belongs_to(name,opts)
58
+ else
59
+ return raro_integer_field(name)
60
+ end
61
+ when :float
62
+ return raro_integer_field(name)
63
+ when :decimal
64
+ return raro_integer_field(name)
65
+ when :datetime
66
+ return raro_date_range(name)
67
+ when :date
68
+ return raro_date_range(name)
69
+ when :boolean
70
+ return raro_radio(name, opts)
71
+ else
72
+ return raro_text_field(name, opts)
73
+ end
74
+ end
75
+
76
+ def raro_input_as(name,type,opts)
77
+ case opts[:as]
78
+ when :select
79
+ raro_select(name,opts,opts[:collection])
80
+ when :hidden
81
+ return raro_hidden_field(name,opts[:value],opts)
82
+ when :string
83
+ raro_text_field(name, opts)
84
+ end
85
+ end
86
+
87
+ def raro_belongs_to(name,opts)
88
+ collection = []
89
+ model_name = name.to_s.gsub(/\_id$/,'')
90
+ Module.const_get(model_name.camelcase).all.each do |e|
91
+ val = opts[:collection_member] ? e.send(opts[:collection_member]) : e.to_s
92
+ collection.push([e.id,val])
93
+ end
94
+ return raro_select("q[#{model_name}_id_eq]",opts,collection)
95
+ end
96
+
97
+ def raro_select(name,opts,collection)
98
+ unless opts[:model]
99
+ name = "q[#{name}_eq]"
100
+ end
101
+ buf = "<div class='col-sm-12'>"
102
+ if opts[:multiple]
103
+ buf << "<select name=#{name} class='form-control' multiple='multiple' size='8'>"
104
+ else
105
+ buf << "<select name=#{name} class='form-control'>"
106
+ end
107
+ buf <<"<option value ='' selected>Escolha...</option>"
108
+ collection.each do |e|
109
+ buf << "<option value=#{e[0]}>#{e[1]}</option>"
110
+ end
111
+ buf << "</select>"
112
+ buf << "</div>"
113
+ return buf
114
+ end
115
+
116
+ def raro_label(name,opts)
117
+ if opts[:as] and opts[:as] == :hidden
118
+ ""
119
+ else
120
+ "<label class='col-sm-2 control-label'>#{name}</label>"
121
+ end
122
+ end
123
+
124
+ def raro_text_field(name, opts)
125
+ buffer = ""
126
+ buffer += "<div class='col-sm-4'>"
127
+ buffer += raro_string_operators(name)
128
+ buffer += "</div>"
129
+ buffer += "<div class='col-sm-8'>"
130
+ buffer += "<input id='q_#{name}' type='text' name='q[#{name}_cont]' class='form-control #{opts[:class]}'/>"
131
+ buffer += "</div>"
132
+ buffer
133
+ end
134
+
135
+ def raro_hidden_field(name,value,opts)
136
+ if opts[:predicate].present?
137
+ "<input id='q_#{name}' type='hidden' name='q[#{name}_#{opts[:predicate]}]' value='#{value}'/>"
138
+ else
139
+ "<input id='q_#{name}' type='hidden' name='q[#{name}_eq]' value='#{value}'/>"
140
+ end
141
+ end
142
+
143
+ def raro_integer_field(name)
144
+ buffer = ""
145
+ buffer += "<div class='col-sm-4'>"
146
+ buffer += raro_comparison_operators(name)
147
+ buffer += "</div>"
148
+ buffer += "<div class='col-sm-8'>"
149
+ buffer += "<input id='q_#{name}' type='number' name='q[#{name}_eq]' class='form-control'/>"
150
+ buffer += "</div>"
151
+ buffer
152
+ end
153
+
154
+ def raro_radio(name, opts)
155
+ buff = ""
156
+ if opts[:collection].present?
157
+ opts[:collection].each do |opt|
158
+ buff<<"<label>"
159
+ buff<<"<div class='checkbox'>"
160
+ buff<<"<input id='q_#{name}' type='radio' name='q[#{name}_eq]' value='#{opt[0]}' class='i-checks'/>"
161
+ buff<<"</div>"
162
+ buff<<"<span class='lbl'> #{opt[1]}</span>"
163
+ buff<<"</label>"
164
+ end
165
+ else
166
+ buff<<"<div class='col-sm-4'>"
167
+ buff<<"<div class='col-sm-6'>"
168
+ buff<<"<input id='q_#{name}' type='radio' name='q[#{name}_eq]' value='1' class='i-checks'/>"
169
+ buff<<"<span class='lbl'> Sim</span></label>"
170
+ buff<<"</div>"
171
+ buff<<"<div class='col-sm-6'>"
172
+ buff<<"<input id='q_#{name}' type='radio' name='q[#{name}_eq]' value='0' class='i-checks'/>"
173
+ buff<<"<span class='lbl'> Não</span>"
174
+ buff<<"</div>"
175
+ buff<<"</div>"
176
+ end
177
+ buff
178
+ end
179
+
180
+ def raro_date_range(name)
181
+ "<div class='col-sm-6'>
182
+ <div class=\"input-group date\">
183
+ <span class=\"input-group-addon\"><i class=\"fa fa-calendar\"></i></span>
184
+ <input class=\"raro_date_range form-control\" type=\"text\"
185
+ name=\"date-range_#{name}\"
186
+ id='q_#{name}_range'
187
+ data-start-target=\"#q_#{name}_start\"
188
+ data-end-target=\"#q_#{name}_end\" >
189
+ <input type='hidden' value='' id='q_#{name}_start' name='q[#{name}_gteq]'>
190
+ <input type='hidden' value='' id='q_#{name}_end' name='q[#{name}_lteq]'>
191
+ </div></div>"
192
+ end
193
+
194
+ def raro_before_form(model,partial,var,url,sort)
195
+ buffer = "<div id='search_box'>"+
196
+ "<form method='get' class=form-horizontal action='#{url}' data-push='partial' data-target='#form'>" +
197
+ "<input type='hidden' name='model' value='#{model}'>" +
198
+ "<input type='hidden' name='partial' value='#{partial}'>" +
199
+ "<input type='hidden' name='var' value='#{var}'>"
200
+ if sort
201
+ buffer << "<input type='hidden' name='q[s]' value='#{sort}'>"
202
+ end
203
+ buffer
204
+ end
205
+
206
+ def raro_after_form
207
+ "</form></div>"
208
+ end
209
+
210
+ def raro_script
211
+ "<script>
212
+ $('#submit_raro_search').click(function (){
213
+ $('#modal_search').modal('hide');
214
+ });
215
+ </script>"
216
+ end
217
+
218
+ def raro_comparison_operators(target)
219
+ "<select class='form-control m-b' onchange='window.search_predicate(this)' data-target='#q_#{target}'>
220
+ <option value=eq selected>Igual</option>
221
+ <option value=not_eq>Diferente</option>
222
+ <option value=gt>Maior</option>
223
+ <option value=lt>Menor</option>
224
+ <option value=gteq>Maior ou Igual</option>
225
+ <option value=lteq>Menor ou Igual</option></select>"
226
+ end
227
+
228
+ def raro_string_operators(target)
229
+ "<select class='form-control m-b' onchange='window.search_predicate(this)' data-target='#q_#{target}'>
230
+ <option value=cont>Contém</option>
231
+ <option value=eq>Igual</option>
232
+ <option value=not_cont>Não Contém</option>
233
+ <option value=start>Começa</option>
234
+ <option value=end>Termina</option>
235
+ </select>"
236
+ end
237
+
238
+ def raro_group(text)
239
+ @buffer << "<div class=\"col-sm-12 label label-primary\" style=\"margin-bottom:10px; font-size:14px;\"><b>#{text}</b></div>"
240
+ end
241
+ end
@@ -0,0 +1,274 @@
1
+ class RaroCrud
2
+ @@order_field = {}
3
+ @@per_page = {}
4
+ @@index_fields = {}
5
+ @@form_fields = {}
6
+ @@form_group = {}
7
+ @@form_scripts = {}
8
+ @@view_fields = {}
9
+ @@search_fields = {}
10
+ @@test_fields = {}
11
+ @@top_links = {}
12
+ @@title = {}
13
+ @@subtitle_index = {}
14
+ @@description_index = {}
15
+ @@actions = {}
16
+ @@edit_action = {}
17
+ @@destroy_action = {}
18
+ @@view_action = {}
19
+ @@options_link = {}
20
+ @@scopes = {}
21
+ @@menus = []
22
+ @@index_path = nil
23
+
24
+ def self.edit_action
25
+ if @@edit_action[self.to_s.to_sym] == false
26
+ return false
27
+ else
28
+ return true
29
+ end
30
+ end
31
+
32
+ def self.destroy_action
33
+ if @@destroy_action[self.to_s.to_sym] == false
34
+ return false
35
+ else
36
+ return true
37
+ end
38
+ end
39
+
40
+ def self.view_action
41
+ if @@view_action[self.to_s.to_sym] == false
42
+ return false
43
+ else
44
+ return true
45
+ end
46
+ end
47
+
48
+ def self.root_path
49
+ "/crud/#{self.to_s.gsub('Crud', '').underscore}"
50
+ end
51
+
52
+ def self.index_path str
53
+ @@index_path = str
54
+ end
55
+
56
+ def self.get_index_path
57
+ @@index_path
58
+ end
59
+
60
+ def self.title
61
+ @@title[self.to_s.to_sym]
62
+ end
63
+
64
+ def self.subtitle(type)
65
+ case type
66
+ when :index
67
+ @@subtitle_index[self.to_s.to_sym]
68
+ end
69
+ end
70
+
71
+ def self.description(type)
72
+ case type
73
+ when :index
74
+ @@description_index[self.to_s.to_sym]
75
+ end
76
+ end
77
+
78
+ def self.top_links
79
+ (@@top_links[self.to_s.to_sym]) ? @@top_links[self.to_s.to_sym] : []
80
+ end
81
+
82
+ def self.index_fields
83
+ (@@index_fields[self.to_s.to_sym]) ? @@index_fields[self.to_s.to_sym] : []
84
+ end
85
+
86
+ def self.order_field
87
+ (@@order_field[self.to_s.to_sym]).present? ? @@order_field[self.to_s.to_sym] : "id"
88
+ end
89
+
90
+ def self.per_page
91
+ @@per_page[self.to_s.to_sym]
92
+ end
93
+
94
+ def self.actions
95
+ (@@actions[self.to_s.to_sym]) ? @@actions[self.to_s.to_sym] : []
96
+ end
97
+
98
+ def self.options_link
99
+ (@@options_link[self.to_s.to_sym]) ? @@options_link[self.to_s.to_sym] : []
100
+ end
101
+
102
+ def self.form_fields
103
+ (@@form_fields[self.to_s.to_sym]) ? @@form_fields[self.to_s.to_sym] : []
104
+ end
105
+
106
+ def self.form_groups
107
+ (@@form_group[self.to_s.to_sym]) ? @@form_group[self.to_s.to_sym] : []
108
+ end
109
+
110
+ def self.form_scripts
111
+ (@@form_scripts[self.to_s.to_sym]) ? @@form_scripts[self.to_s.to_sym] : []
112
+ end
113
+
114
+ def self.view_fields
115
+ (@@view_fields[self.to_s.to_sym]) ? @@view_fields[self.to_s.to_sym] : []
116
+ end
117
+
118
+ def self.search_fields
119
+ (@@search_fields[self.to_s.to_sym]) ? @@search_fields[self.to_s.to_sym] : []
120
+ end
121
+
122
+ def self.test_fields
123
+ (@@test_fields[self.to_s.to_sym]) ? @@test_fields[self.to_s.to_sym] : []
124
+ end
125
+
126
+ def self.scopes
127
+ (@@scopes[self.to_s.to_sym]) ? @@scopes[self.to_s.to_sym] : []
128
+ end
129
+
130
+ def self.add_menus(menu)
131
+ @@menus << menu
132
+ end
133
+
134
+ def self.menus
135
+ @@menus
136
+ end
137
+
138
+
139
+ private
140
+
141
+ def self.titulo str
142
+ @@title[self.to_s.to_sym] = str
143
+ end
144
+
145
+ def self.subtitulo(str,type)
146
+ case type
147
+ when :index
148
+ @@subtitle_index[self.to_s.to_sym] = str
149
+ end
150
+ end
151
+
152
+ def self.descricao(str,type)
153
+ case type
154
+ when :index
155
+ @@description_index[self.to_s.to_sym] = str
156
+ end
157
+ end
158
+
159
+ def self.link_superior nome, opts
160
+ @@top_links[self.to_s.to_sym] = [] unless @@top_links[self.to_s.to_sym]
161
+ @@top_links[self.to_s.to_sym].push(
162
+ {
163
+ text: nome,
164
+ id: opts[:id],
165
+ data: {push: 'partial', target: '#form'},
166
+ icon: "fa fa-#{opts[:icon]}",
167
+ class: 'btn btn-small btn-primary btn-rounded',
168
+ link: "#{self.root_path}/#{opts[:link]}"
169
+ }
170
+ )
171
+ end
172
+
173
+ def self.campo_tabela nome, opts
174
+ @@index_fields[self.to_s.to_sym] = [] unless @@index_fields[self.to_s.to_sym]
175
+ @@index_fields[self.to_s.to_sym].push(
176
+ {
177
+ attribute: nome
178
+ }.merge(opts)
179
+ )
180
+ end
181
+
182
+ def self.ordenar_por nome
183
+ @@order_field[self.to_s.to_sym] = nome
184
+ end
185
+
186
+ def self.itens_por_pagina qtd
187
+ @@per_page[self.to_s.to_sym] = qtd
188
+ end
189
+
190
+ def self.campo_teste nome, opts
191
+ @@test_fields[self.to_s.to_sym] = [] unless @@test_fields[self.to_s.to_sym]
192
+ @@test_fields[self.to_s.to_sym].push(
193
+ {
194
+ attribute: nome
195
+ }.merge({sf: opts})
196
+ )
197
+ end
198
+
199
+ def self.campo_formulario nome, opts
200
+ @@form_fields[self.to_s.to_sym] = [] unless @@form_fields[self.to_s.to_sym]
201
+ @@form_fields[self.to_s.to_sym].push(
202
+ {
203
+ attribute: nome
204
+ }.merge({sf: opts})
205
+ )
206
+ end
207
+
208
+ def self.campo_visualizacao nome, opts = nil
209
+ @@view_fields[self.to_s.to_sym] = [] unless @@view_fields[self.to_s.to_sym]
210
+ @@view_fields[self.to_s.to_sym].push(
211
+ {
212
+ attribute: nome
213
+ }.merge({sf: opts})
214
+ )
215
+ end
216
+
217
+ def self.campo_busca nome, opts = nil
218
+ @@search_fields[self.to_s.to_sym] = [] unless @@search_fields[self.to_s.to_sym]
219
+ @@search_fields[self.to_s.to_sym].push(
220
+ {
221
+ attribute: nome
222
+ }.merge({sf: opts})
223
+ )
224
+ end
225
+
226
+ def self.sem_visualizacao
227
+ @@view_action[self.to_s.to_sym] = false
228
+ end
229
+
230
+ def self.sem_edicao
231
+ @@edit_action[self.to_s.to_sym] = false
232
+ end
233
+
234
+ def self.sem_exclusao
235
+ @@destroy_action[self.to_s.to_sym] = false
236
+ end
237
+
238
+ def self.acoes(method,desc,proc = nil)
239
+ @@actions[self.to_s.to_sym] = [] unless @@actions[self.to_s.to_sym]
240
+ @@actions[self.to_s.to_sym].push([method,desc,proc])
241
+ end
242
+
243
+ def self.opcoes(link,desc,proc = nil)
244
+ @@options_link[self.to_s.to_sym] = [] unless @@options_link[self.to_s.to_sym]
245
+ @@options_link[self.to_s.to_sym].push([link,desc,proc])
246
+ end
247
+
248
+ def self.escopos(scopes)
249
+ @@scopes[self.to_s.to_sym] = scopes
250
+ end
251
+
252
+ def self.grupo_formulario(attribute,fields)
253
+ @@form_group[self.to_s.to_sym] ||= {}
254
+ @@form_group[self.to_s.to_sym][attribute] ||= []
255
+ fields.each do |field|
256
+ value = {}
257
+ field.each do |atr|
258
+ if atr[0] == :campo
259
+ value[:attribute] = atr[1]
260
+ else
261
+ value[:sf] ||= {}
262
+ value[:sf][atr[0]] = atr[1]
263
+ end
264
+ end
265
+ @@form_group[self.to_s.to_sym][attribute].push({attribute: value[:attribute],sf: value[:sf]})
266
+ end
267
+ end
268
+
269
+ def self.script_formulario(script)
270
+ @@form_scripts[self.to_s.to_sym] ||= []
271
+ @@form_scripts[self.to_s.to_sym] << script.to_s
272
+ end
273
+
274
+ end