templus_models 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/MIT-LICENSE +20 -0
- data/README.rdoc +3 -0
- data/Rakefile +34 -0
- data/app/assets/javascripts/raro_crud.js +95 -0
- data/app/controllers/crud_controller.rb +148 -0
- data/app/helpers/crud_helper.rb +169 -0
- data/app/helpers/search_helper.rb +241 -0
- data/app/raro_crud/raro_crud.rb +274 -0
- data/app/views/crud/_crud_template.html.erb +35 -0
- data/app/views/crud/_edit.html.erb +1 -0
- data/app/views/crud/_form.html.erb +68 -0
- data/app/views/crud/_links.html.erb +0 -0
- data/app/views/crud/_new.html.erb +1 -0
- data/app/views/crud/_record.html.erb +51 -0
- data/app/views/crud/_records.html.erb +24 -0
- data/app/views/crud/_scopes.html.erb +18 -0
- data/app/views/crud/_search.html.erb +20 -0
- data/app/views/crud/_show.html.erb +60 -0
- data/app/views/crud/create.js.erb +13 -0
- data/app/views/crud/edit.html.erb +8 -0
- data/app/views/crud/index.html.erb +7 -0
- data/app/views/crud/new.html.erb +10 -0
- data/app/views/crud/show.html.erb +8 -0
- data/app/views/layouts/_menu_crud.html.erb +8 -0
- data/app/views/layouts/_template_raro_crud.html.erb +73 -0
- data/app/views/tabelas/_precos.html.erb +0 -0
- data/config/initializers/raro_search.rb +17 -0
- data/config/initializers/simple_form.rb +173 -0
- data/config/routes.rb +13 -0
- data/lib/generators/crud/USAGE +8 -0
- data/lib/generators/crud/crud_generator.rb +10 -0
- data/lib/generators/crud/templates/crud.rb +52 -0
- data/lib/generators/crud/templates/crud2.rb +58 -0
- data/lib/tasks/templus_models_tasks.rake +4 -0
- data/lib/templus_models.rb +9 -0
- data/lib/templus_models/engine.rb +4 -0
- data/lib/templus_models/version.rb +3 -0
- data/test/dummy/README.rdoc +28 -0
- data/test/dummy/Rakefile +6 -0
- data/test/dummy/app/assets/javascripts/application.js +14 -0
- data/test/dummy/app/assets/javascripts/crud/alert1.js +1 -0
- data/test/dummy/app/assets/javascripts/crud/alert2.js +1 -0
- data/test/dummy/app/assets/javascripts/jquery/jquery-2.1.1.js +4 -0
- data/test/dummy/app/assets/stylesheets/application.css +15 -0
- data/test/dummy/app/controllers/application_controller.rb +5 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/models/ability.rb +35 -0
- data/test/dummy/app/models/teste.rb +9 -0
- data/test/dummy/app/models/teste1.rb +5 -0
- data/test/dummy/app/raro_crud/#{file_name}_crud.rb +0 -0
- data/test/dummy/app/raro_crud/pessoa_crud.rb +50 -0
- data/test/dummy/app/raro_crud/teste1_crud.rb +14 -0
- data/test/dummy/app/raro_crud/teste_crud.rb +58 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/bin/bundle +3 -0
- data/test/dummy/bin/rails +4 -0
- data/test/dummy/bin/rake +4 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/config/application.rb +23 -0
- data/test/dummy/config/boot.rb +5 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +39 -0
- data/test/dummy/config/environments/production.rb +78 -0
- data/test/dummy/config/environments/test.rb +39 -0
- data/test/dummy/config/initializers/assets.rb +8 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
- data/test/dummy/config/initializers/inflections.rb +16 -0
- data/test/dummy/config/initializers/mime_types.rb +4 -0
- data/test/dummy/config/initializers/session_store.rb +3 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +23 -0
- data/test/dummy/config/routes.rb +56 -0
- data/test/dummy/config/secrets.yml +22 -0
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20150415214253_create_testes.rb +9 -0
- data/test/dummy/db/migrate/20150416220930_create_teste1s.rb +10 -0
- data/test/dummy/db/schema.rb +31 -0
- data/test/dummy/log/development.log +11980 -0
- data/test/dummy/public/404.html +67 -0
- data/test/dummy/public/422.html +67 -0
- data/test/dummy/public/500.html +66 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/test/fixtures/teste1s.yml +7 -0
- data/test/dummy/test/fixtures/testes.yml +7 -0
- data/test/dummy/test/models/teste1_test.rb +7 -0
- data/test/dummy/test/models/teste_test.rb +7 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-0RkuYMXJCukyo6fA0YmSXUwMd47QpzpUhQatZpEqkY.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-AtorCA2iqgAMYxvH7W0eRa0fsPWw_adQ1E2a4T-ncs.cache +3 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-MzeH9Nm-DG1fsBzYAO6iyo-dqHmHQD5JQiC725Whko.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-fEzfBEg4v147_Xfhlzq6AcSNGSYcxiMFDcZiY__4qg.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-raUXfOtrQirgvak5TOJHfEFDLcORHoJWFVSkL2kFLQ.cache +3 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-rj6TLs6ScHy9rBVR1FtAG7sMhFwBhL-h_ql0-fjoO8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/00RruQPZ9NMEjxmmNLv-brb7Dz3JIcMmqznNLCV_eBg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0zYv6B2AICV6CQqG9xsbhg0q0zgBEqHmqYT_oM2t63c.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2R9HI_ug87lStS_VoW5EAjaLi9vK_6V7QD6kCsr8i0M.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2WJz14KMpvhFJIFov0mbMmTKFGtCLEC36x7lVjzq87U.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2WRAXn1FZWe_1EQTP6dnelRkMOSABdpw4I1BgWO87UE.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2_CA3YFYuY8rjSK2fn5wiT8aepkp6YGqTYOjRurC220.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3PB0fIDBf8wgB_W12ygFqvjqAlXcuHtoolp3A2Qcdsw.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3plMbIHZMFJHbJTBWe2g7SenboxXqlxzU8aI900m22E.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3s3k0T7lXZyr84Rkm9J_VXqLwYW_I4_hXj7FOH-zfLM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4B-h9SsGXeh2w8VQGniJjUysS2w7rO8I5c5JSUzp08o.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4COj5bJqFYUkKXUEQ47_DmXTi6Ac8IsStYYK5lo9LWc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4Jm4uat5-HtEtboNSBYcPmZcwKBKYzcBa_DasUL3qNY.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4rTGqQYT_JbF0LetrygDgyPCH9is1SatjEQe-8k78so.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/50IW238EtzEH5989d0XdN803CNIGp1InvXlIAU1HM40.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5s_bVndzZYo6nm7AZyOJxU4x3kvhcKsyqIKfcC_2Iu0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6HYdSeJp0z3vfKTcO-NmYDcSJGsWpIRKiUQTx4wz4hE.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6QgJZL40nTelMwpeat779Ykv-8Dth_sdqaRfkrNDhiI.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6RfXmG9hCd6ds3txAlhE3SWj0j606PtQi64RPEM-TcA.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6em5auU0KgFUqVS55AUI5FFNo1Yall5joJNTPh6cREM.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6kJYp3x1cBZDpDSd_3XEOz6ifWEwKOE3Gb5z5Zoxt84.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/74SkyQLF_kk_zAkQfJT0erg9zkZ6Fofeu05Fexi2a5w.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/751lrK8ccX2v0VkMqF0nY6eMMFzmjQ0l3vatKsjPoG0.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7Gyv818zzArjMYxSFo6BCf-PRW6AYStsOd4xLRmF8hU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7qXrvz_aUAoXT6FIX0DxsF9CTccT5fksyglG-DHDMfI.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/85H49xavK_2TtUGG0BAapvIqdyry4-7eH0f99YabgSc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8a2Q3fVjuE3Z7z0R5agncr869C89Cummxep05-u4UWw.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9AVKXW1Jc3ILufGozaIo5yvFLEaPS_zAwfHbO__usIs.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9WjO6_wu3g8yBTUfXWpOlu6yDNz-nACKkeuVxV7TSuo.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9oqzZU1KzLnwoLPfmeAx8oMfMdXsnZpq-jZB5-rNYqQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ALbGYuKATYSyElK_JYkccwgBRS3Lx61h74toN1jliI0.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/A_Q5nO455RK-6h7qFBGx6NtGhbVJORpYvJ4RZs8RaeM.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AdReWx5s_03lXymktcB3CMl6CTKFus2HTcOJvGhdCUw.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/B0rzMLMi8Ci8Q47RmCw4vHizwKPwIAeNjvGEb2qJbzg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/B6oh0lsvUcgddWUpcJhGWeson5WKq9oXNm--8MbrOWs.cache +6 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BBUbO6W8N9-HtTfZjgASnsqBUePYt3-1RHFFp8u0u5U.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BGf7Y0SyTPz9Ydt8hwJRXQ4EroI1gI107ukxlevk5Z8.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BvU-skW8wL4KmDFzH8XT1gUWXo07dmQ0FoB8M_8bofA.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CUl-GCrcAiBnZAR6OPR1vtmvZvPqWWAdLZMfIPZJYb0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CceiAev4oDf3En1JQCOEbxL3h03YbKFxFDc0hV8KUgw.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CfAlr2nebJ3Kl-Lcydx5d7Yv6iRRelwdfXmVCp27BEY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CyLoGmEoSwmAeobjNGvGhebq_-s3ejljxrVV6czKqSU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DF6ikykd1zv_eO5SEGyMxuxwd7mBtZNnk1kojMCscA0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DMuQdFrhOQ6urUFtNTl6rJJqcaNloLms8jg1Tf5pUhY.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EdhOx5YJzUYE7Ys67yOzg04iV1LoIkN2C3J-V6Kd7kA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Eoz00hNTX8KygNr0aVpIEbh34MSEDX5m7ZqR8Lad9OE.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EvmXBcpSJlMPk0SMVRVNxX3HOkhFyF-hmBynvhH407Q.cache +3 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ExITjXq3B3I4D2iPC9-7bWBMQMG067_pNyr51yzERWg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FuxdU4c7Xc6cHVNpEbfk4KCJYp6NKj1jD1LvHQr87G0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/G1BmAqwKmBzIzvmqHrnas7bseYPySeYy_kKQUCudyRI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GtlaUxUQN9roRptWCK4bcibWSGXX8YZOUL7rv6A3bMs.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HM5akuFqjvooR5YQPelVy9Gp2DEIXBhbCtXtEJe_Gw4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HVGc6yBzGqr8JZ9wVVx9DwuAoB62xqX5o7-7GF8_D2k.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Hp2z2qsfAtIig0amAkDdPBx8YTqC3eI6i13chZgIP84.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/I3WA6ZiWG-zuR5mSSRisBfw157kRwx6rq6lCw0GvJuc.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JS4ML3ziOZ-0gHe13rM5fwAREuPNrJ-gZFjO3srZStk.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JXCGqqJsYbeS4osNafEUotYV8g2yH-okmlCShN2_skY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/K7qFaWBvn05qTKLldfHX3OEFRM776XCtH2oKNpbwkVE.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KEZbyOpyYalySpkvic4ZC-V30PpSmlS7hlnkzTIVzcI.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LPXp9MfnAoNxpQnHzcYEg5vRityYS8YU3catMirmhE4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Lz31lhNAZRtljaFrKzzDxo9anoBL4UXf0b6qSu3ixOg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MAV4GtRsTNuMa7mh-FRGi2wL9z9semz4ipA-taBAp4w.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/N25GQGIWXDow0UJUDlGjYFTg8_UB925vu960hWdxlSg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/N2Kc4daD17uXszWGiTWCpGWU7uIclgJ1QRaAdY5Zg1M.cache +3 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NFE5HSRPELMk2JjUOBW48fPksAlUV8kIVYmdAeSryl0.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NkWwgnvgSUOGryPKuNnkQb37Udk1rbSi61oM7hFbS-0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NzbuktItre-lQg5qhPHMdUL0ZwJLhELLqjL7Ak6yoE8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/O3U8kR_sGWfEYOfQtUzA9R7yWGaQeHdWnTMBtHOCqK0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OPYstxXigozf6p1NcN6nFnBUONF9Crz_2Xe3N4N4-tk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/P2fhx18EfM52CRdcUcVblqJ3-2-kPkAqnOJfuBgNUxw.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PHuB8XHtS6zagW6bl1nAke04twK5oE_0P7MdUnhrp7A.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PhQ3QEw8R2R0F2G7n62dm5Nj10IhS_GSAIG82MvXc7c.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Po2LrqIRsW1B-1hA6ydI-Rt_mpx2pXBac66EN2hhshA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Pv_TicOezYHAqPrhipb0dtidBfvIzfu-rjKFTW3yl1I.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QJefgE9eLObDoOA71vu5TV8kqFobztSkhB_mw7H4_-Q.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QcXaJ4--BWzhpQD7doOhC-SygbDl5oyf-HOuVprksh4.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QogVK7Zl4bvRfOdAM7ZsEkUgbV84BW22FN5WPi1Jhm0.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/R5HsD0POG0xexSuYEwLy2ad0x3hBHFusyes1eRU0N6Y.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RAlAgkJK39zk8mrzAiedu6RIgni7Ca95CDYewbIyqyU.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RlHMp3gZ1aRTediB9KIBC-JNz3IXwShkqClSTt4gH7Q.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RrimogpCYT4gLOhSxEP23MTWQKLes2NFZauoPVBKoh0.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Run9n7a73bx1qzBABFw705w_RTLh2hDFRZ1pxxX5A9k.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RwKuSDjm7JYYkbvfOLdCGgzeIqDJw8UkcJXHv-PCaw8.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/S1P584VolTNZh4Ih05tAW__rYq64a1bPJy4Ku_MekC8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/S8qr6hNqBkDfzk_M783TIbmCgtyDIA6x9uW5TONaP-w.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SJ3EEmIti8GPIgc0WexzzMn6kEEZ0t9kpzifJsADKVk.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SNJD-4NH0aXPJecBz7iofpNPHR217ufNeftApCooPjg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SUgEmzuKRgYzQPBAVtWz-hBg99Riz9wLvi6aHWnDEwQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SfnKk1dQvf8qIKaCdUsVa2cjOtgM_Xj6NQcYfy80Ck0.cache +3 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Sxj5zwmBihDy8UhTHtImyrN1_KKkcla1d7JDVKuYip4.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/T-2u3VedKGzdLVQKVEWEPTlTfZp5VNvqcVJES9esUiQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TCXLy1tuwOhuK--MGtxXQFDTVo0EzGWm7SmJL2DebN8.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UCn-O-RZ6clYhkVyWgHMWglyAPFouB_VaQVDJrL9Z88.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UD5VPXqQzQVdXxBKbHriF6JCw8Qb9i7UE69lCXVN2OI.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UKKkjAe9vIzKz6qCsd0eyqIvSip6qtm9-YQbKZ-ze1Q.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/V39AXCaEZmT-kOlIoZiCD0AyP1s7Xu7p94qQYQAt2s8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VJtHFSLCtAMr7n-S0iAcXJuEeWLSGWr6HHdKJ_BbQpc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VkKNjTO7kyAVClPp7bsHvVeLtvERoW59_A7Uo6lktlY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WIXMTWvd2zBvQTEEpe9iJeFWW3lknQM0WLaB9LxMfg4.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WNYt-1VbjD4C9NEaYRJP1zlEmVzYt0ZIDESu5IcpMTU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WX9tkL5_hG-PV_IQFjT26XsvSWhf85ZXv0nK2tBarGM.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XB4hg9UPbd45TylzMYymCymRnR7JxkQMpfCkeOT-3j0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XQ4aIm-_RQNLlv_p-dZByJg8jsTS6LZs6lFARh-xWt0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XikcGw0VNsR9odl0TNFSH11KSaRXARhXT-Ikb44Kr6o.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Xu95SO3OK8xHiuD7VNZIsN5kLyB7ZLoOaSppRnpa2L8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YJFZ_DgaJy6oEgEbRNYq_xbT5hg7Eu1h3WM5JPo7rdY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YxDHUFE7wdRHeXKHLDmwSwz4fl9RkdIDtzeS8cnAyIE.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Z6u7GBxS_lJQoT58OLOlQ45pyYfRR9Cv3hTyfbLYbjw.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_E5NnnUabpFFzkAQQ0RUiN4_5tRCHxdzu1_My4tw6IE.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_tyOMUndB2DVeq9nwU8pRQ39CkAU8lLzlFSrMNf_S3s.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/a1AuugcwlWVX_ZnsaPnA4nvs_I74k_1BrwyftiVO7a4.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ar7XJXwMY_jRPYT6bfHpiMHlM8I4blvXzDgIZ50aMoE.cache +3 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/b-4ZOkjwvbGyC48dHtxES-yjISuUiqX-MPIZBgVu4iA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bLSqdfBxS0hG8iE9YGbz6XcdnT76l3bqqbH1j-8VYMs.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bM42Ou_AvvRvhSpuZqF7sPrYdGg-8tuEwQ14R4YpJDQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bO3GaNycaPsLp3vX0Bgw7LYjlecep0FefE2Wsg2LH6o.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bmIthijT-qXHXtpDdnJPqADbj3aN2WcF-niJo-CW6kc.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bslCOFLEjB4LrqrjRzN4iOo3XJzXCUgaZRWI21lyOcI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cei-NTbQTYBnfaLXMg7W6WJtPBQXucHzybQzztHfPek.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/d6lfgb9qmUmGi5Ky9sB1L0FXLN_zXO8y-0eDtIMPmI0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dVz07HiNkWxAeWuyadttjZ8gjJERJ4-RVt2kfFnPza4.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dlTvwgYuIwoWEZGMoujEUgkC4BpMgcX27kQjRdUgHuc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/e1WZZp0R9rj2aqI4sqtaPoR6rPwIcIhLCDZW6RJSKjY.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/enSxWB88Tfl_5rIdKRRR658oDujh_E7di20GL-1ZIS0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/f0dWb4ayOVY6BW4NdPUh_ZBZDm31umoKULCxP7JsSeQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/f8kJ7icPeFCN4AhIHCJUkizUReVZI4BJH4IUfaixE2w.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fG3BvTkCrakUd3CVBYY8kHi1A8Yv2lcvbLtUmAVlCoY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fP_fEndiX1YdfVxwuEQsbk2nFv5nvBIY2eVVrLbAVfk.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fk6VEJiGQHxr9GVfpsjW5O8eixvxYj6LMFxzQrh6Xkk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/frnU1s3KmCm5DwyiZk1bFaApN7XgeMPSviilEaAqTig.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fvlVm0klEuWZekWgCSvDLOGw9peTpqOIwmACHsSwtL4.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gKpBPMi-T0qbsZWmO2mEuO1rR1tnI67HkR7fV5-MiKU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ggkncbfz1SC-5i7rp2QXjHn-SPQYv-c2oaJTP4kl3-Q.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gyxR-VFHc3_dn9O9lS5SqQK_DXawjrt4H8PMI2hV-So.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/i8KeXclJwkLX6gr6Vr6L_wdN1c429kOOUakNGccYIWs.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iJxOOx5Xnu8h5BXQzcUgfZlrfKPN9k-Q8dy3EwIg2Dk.cache +6 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iUBSNc-5E5E4cN6X25OxX6APuzCtcxlfYazpNqhcQFU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/i_me0DwVwcfHchaKe9FFKjwORU_G61cz1heJSHNC4i4.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/isPH7sBbG8wW0XpIU8w2JiRFzKmqpb0B3PtfjY-Fju4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/j10VJq1uwquWfiehjlw7kyrv_W-Gui-hrZFhaPVbzI0.cache +3 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jHE2MSq7IKoXNMSSFB-DwZ8aKQvd-R4CPVH7K0q27_k.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jRxj7keJ-TAUqhgV0FvFYkM-p6pXRilTBNt7Xh1VX_E.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jtifSOVyGP_LNOAtPAUbEWNhcPQpnWTVp7lvyMvOnLc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jyvcPE97vy_b-82NOzpqEX5jeTagB1kN4W1Wp45i4uk.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lAsroOrUZ4A2g90xX5jCzdRCYREw6VKOj0xBIJYMiGY.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lDe8sNEstNhniLIjHzYf_vHQjlEQV4qH-REZVOMOjFc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/laBJzx_b6JUB8MPLlFlxbgN_xkef7mGv0WN4tQIO2cg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/m4ZJqBa8y36aVwf3N0mF0-3RtnYRQCfqbGQJe-Lc_5g.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mYMDaxAPAJM8ErG8TXvZQxol46eqK3AV3CQ8G8V-b4M.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mxschIrqaPr6xevnPQT5ef8ZeaIgUSQ0RADbaMREQEA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nJboFt8klA4zcXScAuBNJoSmGktbcif8nSSeWpLUEMk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nOYKNZpj5-0kIhxeV40X6DsgyL8S66Ahhg66h2JBKG8.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nPoU98hJn_xwYkQDLg-VGhLzDs24XLcwgcX65MBQE5c.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ntqZkzoIE68aMjuc0yp-tmVqAc_-5xq69ePuaKaQOso.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nuc0ksGFSHVwsH9Sqi7WP_LJbqW_IjT6_XkDrdX3MjE.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/o0W3V7MDQHortA5GOSC6ii4M6sUqp5lzzGlW7DrNHsQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/o4N2GkOe3km73jRtXr6g1RhVtqBHmQXipLQSccjjics.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ogvxFdj-oDmf63tOXEM5hp4plavRvExl8Qnqap8sW7k.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/p2enRakkRzJyMpSAJawDAE0o_OBSrSIa7KdUv-lcMow.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pHanFOUjaiuOlFtAv0dzy0MwMv_BuFtRR8JTcYXg2XQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pQziWwowuowx0FOYx2HAk84JbNUZcALmDixIYvQuJZg.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pS0_jaasn7nnwtSdY5bIvEr-P6DaJU7HsyH9sFKE0GI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pxF_aFjVSm677g7jSkzExURX9cgPazYDabFXsta4Txo.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/q4l5PLa8Zl9VK3e1PNYVXbSB1LW6ayfSq7YYMUSbgcU.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qKd0hTNCpbPOAgI3T6Om735FkvgjPnpGRPrMP2z0k2c.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qTqEguBBn4OieaN6XlRehOzjelVJSOsfcjfNKSBi_h0.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qc1z_lojge7OJ0N9FLjaFenXsN82iIEnKN5S-t_sBlU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/r93DDvPtjPyZa8taxSosNNvvOyHtMsF_ngrSs31aHOY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rQM71yPXAdtASPadnfu1m7F_gQOb-uh_Adxs5P55R7U.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rbjKrg9BdrF2KtWN35sVH9aZOwvhLrEdX1xsyaYpxEM.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rcIDrjXwMeotIKYDncG2DGA50sE4HAYSUVSEYT2_VIE.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rtP4xELGID8pEJo_BvmsxpiYVBxvMCLlvdlJUvUgqEg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rykyMLrVFRiIIFUPH9OmnTjB-rUqcfXIXnpn5BW9Qm8.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/s4TQBqPusIoFIDSX3E4KAuPCuQDQojW6slN6AoIJJ-U.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tZ5iPXN6G9X1ixL0WHs-uh5VAqziiY6UW-Z2hvUF6Yk.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uWSNrNOkPR4BhWrOxXX5TfqNlJIbszyfZtHnTTKZ9cg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uduw2awKAS_DPp9gklbfvv2RDev7wEpenbCFDA4DNxs.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uzyaJavSCzdPUOHA5GK3am45IFBayRibD2aAssiJ38M.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vVrp5o_oj54K9Spnx5HkfJ6ga4Tm7GxFZKt4WZB8FIo.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vuecJc1nwUoDltWHnzMRV85v7LwdiSgS7ZxysZYrRdg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/weIC5cXLvacNNF25heFbcWBeOsb2iQ-7WcBUahSrfEE.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wvCRibnMjYfz4MGqnbW1nweqNRiPm4ATaK-ewK5ssOQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wyL3h6Marl2JMfZYLDwQkXRdK4NuLKiCWHQm6igReZ4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/x0Q5Wf3UaFu2wIgP9JPFAVuYUi0n-xY58FuBZ-0O2xI.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xCb6Q2JAt2SWDS5ibOqetMJWKJm1BdJXdfAdLfLXYVc.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xkckYJjDSntINUKHZDIlrd09lKxhlFZdN7bT8Q0E1iE.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xoHo4y-EuHmK9O3z662PKRsIZpkyFW4KFE0JA6Bp3w8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/y5iLcw4EhWkb07ULRjXL7JsXk9-lj40vgPx1f3nlXeY.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/y8ezrzwP5d8BLJ61T6L_Q4pitouvrbICokHEnxXC1ao.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yAZJ5fnLUjXfVQXlEOoO_EszVleGJC2-Lg6z7_9KvBI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yThvUcySW81LnX3krwb-Uhi7OEIn0LrQo5jJVQxm-N0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yXXUoKEykhpZPMXWVzUf3GtTwgAtNSDCOK6TvomSdoM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zsJ7Mb8REasrj4nUuq6H0d0o74xxuUlQk7KtCJSdqMg.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zwqXp6G2mEvMWMFcZeiFfb2jr3PymMGXDPQdfjBCrR0.cache +1 -0
- data/test/dummy/tmp/pids/server.pid +1 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/lib/generators/crud_generator_test.rb +14 -0
- data/test/templus_models_test.rb +7 -0
- data/test/test_helper.rb +18 -0
- 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
|