pages_cms 1.0.3 → 1.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/app/assets/stylesheets/pages_cms/pages_cms.scss +6 -2
- data/app/controllers/pages_cms/admin/articles_controller.rb +1 -1
- data/app/controllers/pages_cms/admin/images_controller.rb +31 -20
- data/app/controllers/pages_cms/articles_controller.rb +1 -1
- data/app/helpers/pages_cms/application_helper.rb +5 -0
- data/app/models/pages_cms/article.rb +17 -1
- data/app/views/layouts/pages_cms/application.html.erb +1 -5
- data/app/views/pages_cms/admin/articles/_form.html.haml +7 -1
- data/app/views/pages_cms/admin/articles/edit.html.haml +0 -7
- data/app/views/pages_cms/admin/articles/index.html.haml +6 -2
- data/app/views/pages_cms/admin/images/index.html.haml +17 -5
- data/app/views/pages_cms/admin/pages/_slider_fields.html.haml +14 -11
- data/app/views/pages_cms/articles/index.html.erb +1 -1
- data/app/views/pages_cms/pages/_slider.html.erb +44 -32
- data/app/views/pages_cms/pages/show.html.haml +16 -16
- data/db/migrate/20150609171657_create_initial_db.rb +2 -2
- data/lib/pages_cms/engine.rb +1 -0
- data/lib/pages_cms/version.rb +1 -1
- data/test/dummy/log/development.log +8232 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-3qKYWanNIm26g0XhQHDF6FJ2EeRxDOEy9rDF-j93EM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-VYI6VNpTBNAp0o8yBzfZkU4oNqSZppNxoYjauLlfOg.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-qdi7BUeuCqui0YrcOF02D5_BOk4Sgr2X4H83iBkEDw.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/06-PqZeUCqBcniSL1_pYAwS7v5trzgR6Sjl2rFLlBdA.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0Df7pHl7T7bEN8mhB5BQUE1yvlDqnkBfebJehnkTlU8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0TVRNS3Z7fYjN1jAgA-WU5EBrcQNL8Skw3zz1cuMis0.cache +2 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1CJT51l5G3atGxndCPvcQ-dTdHjJkNbYL8EMqVYrlj4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1K5cgFLhQ0n2hvQUPYHT-5jjpSA7lpYG49wefyZo_eI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3Q6jfkfiRF5QpD7g_JXuOzPquCN9noJ_5SWhQUFBHuw.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3zMRl07OPCCTuotLeS3VlUCrfM3v9K4RicydNZSaiyI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4EDVd08szdSn10sAYZtSwO6CrQQnjvXGIpvmH05AmbU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4WNAP46ZAj4c8vIPGuOmAwKqLzEwNvqafpSdhYozcZU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5aXrBatnGEq_Togc0MMQnR4QEuXYMr4SfCwupGz2GSI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5jDpkdQ3yjaERx0zAll7fNs2IGfhc1ug42SinLJOqxY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5u1J7EgGXsyugsFmu5KEpS3kyRr2u2tihl9Wqw-XOf4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6WQU2VbrP7ePUurHc-IvXVQEN81JwYO9QrxZdCJ-mWk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6WfPUz_Bw3fPZ6BBCHDQ0vl3uCMzvQAdLw0VRydKR_A.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7-wCu-f6XjFWzRfjI8EE3zKARZLGLw1ZhuugpW3yJ0E.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/72B5-5sanAIMAOkp11cNlAlv9Ad__OgUgJWEEq3tuYM.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/804sFMuWiPVcuxtoExU0Pt4kloit3bdOhlivF1g-8ZA.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8uPPNM3k0hxLQXUJ0oqbjdeakWV--2d5vq3vHbiPOqE.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9KZEjXRpsP174OuFeY4ij5U1z0jxTWl8n6j-w9Oz4Ns.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9N1AgSjL5YE9jIH7TaJnNVvXZBdVzW6STBlQQOLheqM.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CKqZzG8uxhCMH2py0wn1fhvo8efhWZircedSMs5kqKQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Cd6H1klVHcrAnqUWVtp3IGbABpLiU8mDqLC7jOonDg4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/D3KAHNbLVRNeazXA222IfHJG4fKW_vVWUuiHmna_DwM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DbV2OEvUZJ3BQaD3Bkyci63V9cf4MhmztwBKPwHUboM.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EMavPX_UgiGaVjvLuZqUr5Tm9TLtG0cxCGg_It0AOBI.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EfjmxUF3_IT4nyJijLxgy02zOCrKM6wITT_8UAQk0W8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Egxe-wAJgzUA-nC_5tbUA0QVT0WnwZVCkF8VJ9tUjwI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/I6dRHQXnhLKfKnqf9ilKzHJZ-2QV-F5jcpbnhQglnDA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ISg7950hS1ykD9DCgXYE40fEC0PbilLae_jmMiAxO4Q.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IqdphYFfngGjZ6ZYg1fACF2qtm9IzEHvSg3ZZc9cwxY.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JHA0JVlbQTEiUElrba_gdCiqgpqWXNBuqI-KTX15pQQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KU4K1dG1fD2FJcVEhB3b0dt8j2mMd10Lal8BU-lO2cA.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KfQI7Di3CZ7lLuyFg0d3pKwY_AIKpgy6_9yYhgMyo94.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LCxvJ66YYu0zwikNpBXbiwl2fpnyEKbNm2Zm8IH7NBs.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LEiD28m3Rg1cvfw3aHbVI7xvsY37M1rrqTZLKbFdfPg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LZI7QEh8NutjPefQsdYQPg73opZRKtgZTEF1W79xVgM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/M1hJZieAUUnFyitSCrnN8VdFCjTNai52gQtthe7Vo90.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MHwsVIcAK1QWWg2ogVONvSMa8afqLaKaB5dgQz_je3g.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MQIEYvOZ_JjEXSbw6-vyibtsgBJwZtHp0f8J1W3o-60.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MZb6xu_MheyjPfNst1Yrm_gfjwYyzIMc3FXIPKLHks8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/N4VImEuozbUQqN_8VoPaj3a9QAKOSL13xSCxo5hiJMM.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OC92LeqoopRFiSNQDEuaAqdfC_LW8Tyv7hRogJiF0zY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OmjZla3TQx6EnFmnOo8_nbcmY_tNdBODbHik2Wnl6h0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Q-AF6NNHOi1D7R1a469TmRtqu6IpKJrNgh5QxAOFUkc.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QHgRurgQjaStlJ9NPIGvXfH-iCOUvWHP9DEPiz0QyAY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Qpm4j8cRiadJEKtKs8tTKCBIahmzRMm4WDVav3lM1VE.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Qu8vx60Cq9-g2RIzn-jCxjIZ0_5GznxljjfLbZgQnoo.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RvnAqlZWx9aC-bdq6RyE4UTDrv3P7NgZhwe-WJyfTSk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SlWG1EjofPVlK3EfPrYImEedoueS-LdpGjewut73g6A.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/T4__07bHknO5PdFmQUBhEDzUH1h08umm2skCiTB9OEI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TXgZJrUv8gGT7JrZWy8GB6VjnTeTrlQiqiMl1bydz30.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TktBEz8NIH7D0Hzs4Y9zJ1LaSaySTjl-5YMteS81yjE.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UvlEGFRcTYrTGAm-Jvd3aJJuiXzUa9VLdgSwiJwqSxM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VGdZV8oSsw26zLcFi5zsdanGmXJ5V-0OqBuzL6ZPPx4.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VH5aC-zXBDLrOAPKNEgs13MgclNsgTGjQLVBsrAmTQ8.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VyKyygOJNRiWDAGuIi_Rzv8cjAN8qIpCspu8Z1VidkA.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WGTHlloPZWXOypm5s0tTC58UsALBoIP_LSMNW6TrBaE.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WR15YM7ytZQznL-S640WAcGjZhLyUjqm_YEs8dlSbCk.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WjI7bWngJIsqvqx5W7bEH9G2g57EeaeYbwSwWbmaVUU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Wxr1bP0sElYCOAk1nBpRW97xOeAATOiWuV0w2Kj_0wk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Y6YSHyvHiF3v5rxN-8kT9IGvcFSyvLHCpsU3c2Eq9vg.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Y8gpaOpxElYE51pygM9ti6G2MOXsniPuNIcNDyHvjQA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YFPsDlKgp07LNTXmO9bzf9c2Qe35ficjWii5WcA5puw.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YXikQwJssTJN_xb13cqJ-fjdfEQcLUeKjHKmta-v_4A.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Z-FlZCgzpx-7_V1FBVz6koyx85VK7C_CJ7B0UrZRS5E.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZBHIxucgbu2bPi4u61batw9hagnbyL_tD8sdHBfDZEI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZZ5arWcVashbNN5M6eDDzjCZA-wFoDyvBGOGgIoVdAk.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_vErzk5w4jZ19L1XKCgamJYOQ1Kht26sJSBp_cu5EGk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/aKv4iCYEI8kOYVrKrcwdSk33USzJrlZGXIZ6qy7iQks.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bf8naLA-kSgKb86tAOV21j-LboTkN2YjLpmIu82lVJs.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bgWGeCYNxXqCnDlgEO7XVWWqTWpFwsKSiVA8ehkTfAE.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bywN541H_-AM6WIefSGYwgEQamoC7XLv7IFlv6tlIuA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cLBZEuT-RVo_Wd40ia3tEHGsufTPcxZCdImXOc_0uN0.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dLOYqfFdsfXhuAcAearpRxQFP4GmIwJ55ZbFQGURyjE.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/euua-GXFYwNgvV-3Es2MlYz4L4REjpSeZeuTD0t6Nr4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fFb7-LwgBTdKI83PZfR-1aAWK8BhBnSwBEqWHCUVsAg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fdzeslaAtzHwNL2E5KNNP1IKhpkRAQlGZpnEI7nQ4kg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ft97OIfSDnCn2VfjqLKlGykSjGp3GmBDvivn4uVcTp4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gAJfJwCbahCeop4yUsKIWUmKqCN8DcvJt1_pSdZuneQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gBn6tUGQq8RXhKPBuBHITCDO2_TfOFiRgm8555XXKQ0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gldxNdWLMbGVGV7RswYIGDuEfrOXHJe2owHpr4avtlk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/grpEs2Ecgg5yApplOvYJhXpnBfeA2-Nep_Vn11zAE48.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hEOuUu06ROJOUqZAn5XddFeYElGONMFnjz_eSwl9HOc.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hGxa6u_n6ea-fi6R4jJ3_roZZAlNxbko3vtQFkisG24.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hpJDNyJArKyOTkOaeXA9onCiZ_uDVqTE3fNUqYKD0qs.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hx0dIJx91VnZelMN2-hftur5yuwdV_x4gRWkbsnu10o.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iOEfMvk9vCsaMsfQRHOfdC1wdcsJnzPZxLAsH-qYpfc.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/j0TE9uohha2KfFp6-fl6kZRrc9nPBWa6MxqcG7GeVec.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jefz8iQEri63dBs9dcMts9x4jlQjue9EOrHfjuEtC_4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kQq3IyUc4DyzBynRrI-8bx0w9ekA78-1QYwcTIrQog4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ksy-zp_jNCAD0JT9llXcE3J-rXRkC5vsHP-45UWw2Pg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/l0Uk7Pn_NSGljFDjcK4dM4YzQD9BygN3yLBSQm80TPQ.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lV8cHeAvD3VZ0k5FQyp5N-op0eBOQMqEWAVtmFph2Y8.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/luVvJXP0MzizCRLA1pt8D8Eh5WigmcyiWQAPqUfVgIA.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mkDmulrtltvIiKB15gpCKrjFE-tUS0tyGPSDpMpH-88.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nmAvxr94TY2GuGucK6SnDgiq6CcWF6FUWDdWH1PgkQU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ntqrDfetMrjtxBk_K1UKUKFTStJDzv1jA4qDdz7PBYg.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oMBF7rME9V_rDQuLzahN09UqtZmV-REAzJQqQbO7i-U.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ojicpByHilkkieAAWapBwzNkGvitmt6j4VDKQylVDzw.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oyq9lQ2Gdz8-JH_xjvgHTDnFMLmSnw5mtfcOWsPhf_0.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pEB3eLTf7r9WKhcTl_HcPzn1L6rzVUVDRZuFRZsDvDQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pv0qrCWarSG7twa8G60CyF0pXnvFpTC_LDJuNhR8mK4.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pyUlZMnUSITBvOcjzIKP5EvqOC-XWoDi6wOkiz6Onlg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pzJ8koM2ftVLsYYbx-Ks1dwhi_3T6x4wYwenu4U_Q5o.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rdU4lqEdc-KfsOCfGuB5insf_pNyn9vU8GiSF6Oas1Q.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rqmU9GRNqG1QHzorhbzcONxL8-itDNMdSJYM_qhkjYQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/s4wHB6Ef6GhdehEYM3ifPts4Wslc2JXHPX1ueqdIvYc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sareck2R1oDf55_Wv8JGcv2_W_TPELYc_C2CC7-yyoQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/see_GhYib7aOZJkSWmJ8rn_72nlaffsTitfc9nK7BQ4.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tHQtQMABOQN_2ec94_d0wEjKLmo5d5VVL_By2x9_kbk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tvy-7SHR2Vc04u3zGm1H2QBAcp2EgjrBXYBMb0GkUVM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/u6e9mYKr-d2eUzCCt55E8MFJ9SgjLcM4KcIPJb3HLLE.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/v-8pT3W5nf94PXezCvdAiruOnh8xnuiyNco1IWE5rfU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vRNSxpJ_8VcXEXTZrnntYtpPlPr-Lrq67jpG8JAqgnY.cache +1 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wCqwUIQYJYNisHjXtVCK-9eP-cv-yv4jfi6BnaOp4FU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wvNTA6MktomqcEgfXH2tTQfMtoW76lh0HSPXzN7T-CA.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wyqljUBxf1OHqg6kpIRAVZ41N0LQlKChzLBy_OlXWyk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/x7Jr5cdmWAWrxNleIdDCmEy6g1riOVWfesMr9ZsGkdU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/y5rZtPN4hmyp8ckFPQBVBxN6atBQ4EFs7M7X8rgS9fU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zvjBd54a0pbbvOPCOORRSkk8_NrpqxLjT3eSk-o0lO4.cache +0 -0
- metadata +264 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: afaa806c4acfe54bce3812663ea38147bca75837
|
4
|
+
data.tar.gz: bd8e7195348eac42e39c8d65f65228f0c70f1501
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c1bde884e5c30f9306bc1eaf04a2f2ea97d3d3ea0bc3b8d16cb624cb21e529e2d93313ba16cf5fc615da34cc35a337563ecca3289cab7a2f1e5771e442850394
|
7
|
+
data.tar.gz: 83e100d21797a9fa053f676cc5f234d6c752b16f82b55b6038ffe4c24da73180aaad42438cdc35a850fbf643ca68322bef56ef7cc1b24140c46bb755540c33a7
|
data/README.md
CHANGED
@@ -14,7 +14,7 @@ Pages CMS uses nested forms and draggable items to allow the user to build a sit
|
|
14
14
|
|
15
15
|
## Installation
|
16
16
|
|
17
|
-
1. Add: `gem 'pages_cms', '~> 1.0.
|
17
|
+
1. Add: `gem 'pages_cms', '~> 1.0.3'` to your `Gemfile`
|
18
18
|
2. Run: `$ rails generate pages_cms:install`
|
19
19
|
3. Add: `//= require cocoon` to your `application.js` file
|
20
20
|
|
@@ -18,5 +18,9 @@
|
|
18
18
|
.toolbar-wrap { a { padding: 0.5em !important; } }
|
19
19
|
.float-left { float: left !important; margin: 1em !important;}
|
20
20
|
.float-right { float: right !important; margin: 1em !important; }
|
21
|
-
.select2 { width:
|
22
|
-
.select2-select-container { height: 2em;}
|
21
|
+
.select2 { min-width: 190px; }
|
22
|
+
.select2-select-container { height: 2em;}
|
23
|
+
.image-post { overflow: hidden; }
|
24
|
+
.carousel { width: 100% !important;}
|
25
|
+
.full { width: 100% !important; padding: 0;}
|
26
|
+
//.form-control { border: none !important; outline: none !important; box-shadow: none !important }
|
@@ -10,32 +10,43 @@ module PagesCms
|
|
10
10
|
end
|
11
11
|
|
12
12
|
def create
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
13
|
+
if params[:image][:is_url]
|
14
|
+
image = Image.new(image_params)
|
15
|
+
if image.save
|
16
|
+
flash[:success] = 'Successfully uploaded file.'
|
17
|
+
redirect_to admin_images_path
|
18
|
+
else
|
19
|
+
flash[:danger] = 'Failed to create file'
|
20
|
+
redirect_to admin_images_path
|
21
|
+
end
|
22
|
+
else
|
23
|
+
validate_image = Image.new(image_params)
|
24
|
+
if validate_image.validate_file_type(params[:image][:file])
|
25
|
+
user_named = params[:image][:name]
|
26
|
+
uploaded_io = params[:image][:file]
|
27
|
+
extension = uploaded_io.original_filename.split('.')[1]
|
28
|
+
name = "#{Time.now.to_i}_#{user_named}.#{extension}"
|
29
|
+
@image = Image.new(file: "/images/#{name}", name: user_named)
|
30
|
+
if @image.save
|
31
|
+
File.open(Rails.root.join('public', 'images', name), 'wb') do |file|
|
32
|
+
file.write(uploaded_io.read)
|
33
|
+
end
|
34
|
+
if File.exists?(Rails.root.join('public', 'images', name))
|
35
|
+
flash[:success] = 'Successfully uploaded file.'
|
36
|
+
redirect_to admin_images_path
|
37
|
+
else
|
38
|
+
@image.destroy
|
39
|
+
flash[:danger] = 'Failed to create file'
|
40
|
+
redirect_to admin_images_path
|
41
|
+
end
|
27
42
|
else
|
28
|
-
@image.
|
29
|
-
flash[:danger] = 'Failed to create file'
|
43
|
+
flash[:danger] = "Error: #{@image.errors.full_messages.to_sentence}"
|
30
44
|
redirect_to admin_images_path
|
31
45
|
end
|
32
46
|
else
|
33
|
-
flash[:danger] = "Error
|
47
|
+
flash[:danger] = "Error #{validate_image.errors.full_messages.to_sentence}"
|
34
48
|
redirect_to admin_images_path
|
35
49
|
end
|
36
|
-
else
|
37
|
-
flash[:danger] = "Error #{validate_image.errors.full_messages.to_sentence}"
|
38
|
-
redirect_to admin_images_path
|
39
50
|
end
|
40
51
|
end
|
41
52
|
|
@@ -12,6 +12,22 @@ module PagesCms
|
|
12
12
|
write_attribute(:tags, val.split(',') )
|
13
13
|
end
|
14
14
|
|
15
|
+
def published
|
16
|
+
self.where('archived != true AND draft != true')
|
17
|
+
end
|
18
|
+
|
19
|
+
def article_status
|
20
|
+
if self.draft && !self.archived
|
21
|
+
'Draft'
|
22
|
+
elsif self.archived && !self.draft
|
23
|
+
'Archived'
|
24
|
+
elsif !self.draft && !self.archived
|
25
|
+
'Published'
|
26
|
+
elsif self.draft && self.archived
|
27
|
+
'Archived'
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
15
31
|
scope :search, -> (search) { where('content ILIKE ? OR tags @> ? OR title ILIKE ? ',"#{search}",'{' + search + '}',"#{search}") }
|
16
32
|
scope :status, -> (status) do
|
17
33
|
case status
|
@@ -20,7 +36,7 @@ module PagesCms
|
|
20
36
|
when 'Drafts'
|
21
37
|
where(draft: true)
|
22
38
|
when 'Published'
|
23
|
-
where('
|
39
|
+
where('archived != true AND draft != true')
|
24
40
|
else
|
25
41
|
all
|
26
42
|
end
|
@@ -14,11 +14,7 @@
|
|
14
14
|
<div class="message alert alert-<%= message_type %>" ><%= message %></div>
|
15
15
|
<% end %>
|
16
16
|
|
17
|
-
|
18
|
-
|
19
|
-
<div class="container-fluid" >
|
20
|
-
<%= yield %>
|
21
|
-
</div>
|
17
|
+
<%= yield %>
|
22
18
|
|
23
19
|
|
24
20
|
<% if current_user_is_admin? %>
|
@@ -1,7 +1,13 @@
|
|
1
|
+
= javascript_include_tag 'pages_cms/wysihtml5x-toolbar'
|
2
|
+
= javascript_include_tag 'pages_cms/advanced_and_extended'
|
3
|
+
-#= javascript_include_tag 'pages_cms/select2.min'
|
4
|
+
-#= stylesheet_link_tag 'pages_cms/select2.min'
|
5
|
+
|
1
6
|
= form_for article, url: url, method: method do |f|
|
2
7
|
= f.text_field :title, placeholder: 'article title', class: 'form-control big'
|
3
8
|
= f.select(:image_id, PagesCms::Image.all.collect {|p| [p.name, p.id] }, {include_blank: 'Choose a picture'}, class: 'form-control inline-form')
|
4
|
-
= f.text_field :tags, placeholder: 'tags, comma separated', class: 'form-control'
|
9
|
+
= f.text_field :tags, value: f.object.tags.join(','), placeholder: 'tags, comma separated', class: 'form-control'
|
10
|
+
<br />
|
5
11
|
= render 'pages_cms/admin/pages/editor', f: f
|
6
12
|
= f.label :draft
|
7
13
|
= f.check_box :draft, value: false
|
@@ -1,8 +1 @@
|
|
1
|
-
= javascript_include_tag 'pages_cms/wysihtml5x-toolbar'
|
2
|
-
= javascript_include_tag 'pages_cms/advanced_and_extended'
|
3
|
-
= javascript_include_tag 'pages_cms/select2.min'
|
4
|
-
= stylesheet_link_tag 'pages_cms/select2.min'
|
5
|
-
|
6
|
-
%h1 Edit Article
|
7
|
-
|
8
1
|
= render partial: '/pages_cms/admin/articles/form', locals: { article: @article, method: :patch, url: admin_article_path(@article) }
|
@@ -20,6 +20,8 @@
|
|
20
20
|
Tags
|
21
21
|
%th
|
22
22
|
Created At
|
23
|
+
%th
|
24
|
+
Status
|
23
25
|
%th
|
24
26
|
Actions
|
25
27
|
- @articles.each do |article|
|
@@ -30,9 +32,11 @@
|
|
30
32
|
- article.tags.each do |tag|
|
31
33
|
= link_to tag, articles_path(search: tag)
|
32
34
|
%td
|
33
|
-
= article.created_at.strftime("%B %d")
|
35
|
+
= article.created_at.strftime("%B %d %Y")
|
36
|
+
%td
|
37
|
+
= article.article_status
|
34
38
|
%td
|
35
39
|
= article.draft ? link_to( 'Publish',admin_article_path(article, article: { draft: false }), method: :put, class: 'btn btn-xs btn-default') : link_to( 'Make Draft',admin_article_path(article, article: { draft: true }), method: :put, class: 'btn btn-xs btn-default')
|
36
|
-
= link_to 'Archive', admin_article_path(article, article: { archived: false } ), method: :put, class: 'btn btn-xs btn-default'
|
40
|
+
= article.archived ? link_to( 'Publish',admin_article_path(article, article: { draft: false }), method: :put, class: 'btn btn-xs btn-default') : link_to('Archive', admin_article_path(article, article: { archived: false } ), method: :put, class: 'btn btn-xs btn-default')
|
37
41
|
= link_to 'Delete', admin_article_path(article), method: :delete, class: 'btn btn-xs btn-default'
|
38
42
|
= link_to 'Edit', edit_admin_article_path(article), class: 'btn btn-xs btn-default'
|
@@ -1,8 +1,20 @@
|
|
1
1
|
%h1 Images
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
2
|
+
%div.row
|
3
|
+
%div.col-md-6
|
4
|
+
%h4 Upload Image
|
5
|
+
= form_for @image, url: admin_images_path, method: :post, multipart: true do |f|
|
6
|
+
= f.text_field :name, placeholder: 'give your image a title', class: 'form-control'
|
7
|
+
= f.file_field :file, class: 'form-control'
|
8
|
+
<br />
|
9
|
+
= f.submit 'Upload', class: 'btn btn-primary'
|
10
|
+
%div.col-md-6
|
11
|
+
%h4 Image Url
|
12
|
+
= form_for @image, url: admin_images_path, method: :post do |f|
|
13
|
+
= f.hidden_field :is_url, value: true
|
14
|
+
= f.text_field :name, placeholder: 'give your image a title', class: 'form-control'
|
15
|
+
= f.text_field :file, placeholder: 'give me an image url', class: 'form-control'
|
16
|
+
<br />
|
17
|
+
= f.submit 'Insert', class: 'btn btn-primary'
|
6
18
|
|
7
19
|
<hr>
|
8
20
|
|
@@ -11,5 +23,5 @@
|
|
11
23
|
%div.col-md-3.col-sm-4.col-xs-6.thumbnail
|
12
24
|
= image_tag image.file
|
13
25
|
%p
|
14
|
-
= link_to image.
|
26
|
+
= link_to image.name, image.file
|
15
27
|
= link_to 'delete', admin_image_path(image), method: :delete, class: 'btn btn-xs btn-default'
|
@@ -2,19 +2,22 @@
|
|
2
2
|
%h5
|
3
3
|
Content Slider
|
4
4
|
= link_to_remove_association 'remove', f
|
5
|
-
= f.select(:
|
6
|
-
= f.select(:
|
5
|
+
= f.select(:link, PagesCms::Page.all.collect {|p| [p.title, p.slug] } << f.object.link, {include_blank: 'Choose a link'}, class: 'form-control select2')
|
6
|
+
= f.select(:image_id, PagesCms::Image.all.collect {|p| [p.name, p.id] }, {}, class: 'form-control')
|
7
7
|
= f.text_field :header, placeholder: 'overlayed header', class: 'form-control'
|
8
8
|
= f.number_field :order, placeholder: 'display order', class: 'form-control'
|
9
9
|
|
10
10
|
:javascript
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
11
|
+
//$(document).ready(function() {
|
12
|
+
// $('.select2base').select2()
|
13
|
+
$('.select2').select2({
|
14
|
+
tags: true,
|
15
|
+
createTag: function (params) {
|
16
|
+
return {
|
17
|
+
id: params.term,
|
18
|
+
text: params.term,
|
19
|
+
newOption: true
|
20
|
+
}
|
18
21
|
}
|
19
|
-
}
|
20
|
-
});
|
22
|
+
});
|
23
|
+
//});
|
@@ -13,7 +13,7 @@
|
|
13
13
|
<div style="cursor: pointer;" onclick="window.location='/articles/<%= post.id.to_s %>';">
|
14
14
|
<h2 class="center"><%= post.title %></h2>
|
15
15
|
<h6>Posted <%= post.created_at.strftime("%B %d") %></h6>
|
16
|
-
<p><%= truncate(post.content,
|
16
|
+
<p><%=raw HTML_Truncator.truncate(post.content, 50) %></p>
|
17
17
|
</div>
|
18
18
|
<div><%= link_to 'Read More', article_path(post) %></div>
|
19
19
|
<div class="tags">
|
@@ -1,38 +1,50 @@
|
|
1
|
-
<div
|
2
|
-
|
3
|
-
|
4
|
-
<
|
5
|
-
|
6
|
-
|
7
|
-
|
1
|
+
<div class="container-full">
|
2
|
+
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
|
3
|
+
<!-- Indicators -->
|
4
|
+
<ol class="carousel-indicators">
|
5
|
+
<% set = false %>
|
6
|
+
<% cou = 0 %>
|
7
|
+
<% slider_elements.each do |element| %>
|
8
|
+
<% if set %>
|
9
|
+
<% active = '' %>
|
10
|
+
<% else %>
|
11
|
+
<% active = 'active' %>
|
12
|
+
<% set = true %>
|
13
|
+
<% end %>
|
14
|
+
<li data-target="#carousel-example-generic" data-slide-to="<%= cou %>" class="<%= active %>"></li>
|
15
|
+
<% cou += 1 %>
|
16
|
+
<% end %>
|
17
|
+
</ol>
|
8
18
|
|
9
|
-
|
10
|
-
|
19
|
+
<!-- Wrapper for slides -->
|
20
|
+
<div class="carousel-inner" role="listbox">
|
11
21
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
<%=
|
21
|
-
|
22
|
-
<
|
22
|
+
<% set = false %>
|
23
|
+
<% slider_elements.each do |element| %>
|
24
|
+
<% if set %>
|
25
|
+
<% active = '' %>
|
26
|
+
<% else %>
|
27
|
+
<% active = 'active' %>
|
28
|
+
<% set = true %>
|
29
|
+
<% end %>
|
30
|
+
<div class="item <%= active %>">
|
31
|
+
<%= image_tag element.image.file %>
|
32
|
+
<div class="carousel-caption">
|
33
|
+
<h1><%= link_to element.header, element.link %></h1>
|
34
|
+
</div>
|
23
35
|
</div>
|
24
|
-
|
25
|
-
<% end %>
|
36
|
+
<% end %>
|
26
37
|
|
27
|
-
|
38
|
+
</div>
|
28
39
|
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
40
|
+
<!-- Controls -->
|
41
|
+
<a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
|
42
|
+
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
|
43
|
+
<span class="sr-only">Previous</span>
|
44
|
+
</a>
|
45
|
+
<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
|
46
|
+
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
|
47
|
+
<span class="sr-only">Next</span>
|
48
|
+
</a>
|
49
|
+
</div>
|
38
50
|
</div>
|
@@ -2,20 +2,20 @@
|
|
2
2
|
- meta_description = @page.meta_description
|
3
3
|
|
4
4
|
- if @sliders
|
5
|
-
= render 'slider', slider_elements: @
|
5
|
+
= render 'slider', slider_elements: @sliders
|
6
|
+
%div.container-fluid
|
7
|
+
%h1
|
8
|
+
= @page.title
|
9
|
+
- if @sidebar
|
10
|
+
%div.row
|
11
|
+
%div.col-md-9
|
12
|
+
= render partial: 'pages_cms/pages/main', locals: { page: @page }
|
13
|
+
%div.col-md-3
|
14
|
+
= raw @sidebar.content
|
15
|
+
%ul.nav.nav-pills.nav-stacked
|
16
|
+
- PagesCms::Page.where(sidebar_show: true).each do |link|
|
17
|
+
%li
|
18
|
+
= link_to link.title, slugged_path(link)
|
6
19
|
|
7
|
-
|
8
|
-
|
9
|
-
- if @sidebar
|
10
|
-
%div.row
|
11
|
-
%div.col-md-8
|
12
|
-
= render partial: 'pages_cms/pages/main', locals: { page: @page }
|
13
|
-
%div.col-md-4
|
14
|
-
= raw @sidebar.content
|
15
|
-
%ul.nav.nav-pills.nav-stacked
|
16
|
-
- PagesCms::Page.where(sidebar_show: true).each do |link|
|
17
|
-
%li
|
18
|
-
= link_to link.title, slugged_path(link)
|
19
|
-
|
20
|
-
- else
|
21
|
-
= render partial: 'pages_cms/pages/main', locals: { page: @page }
|
20
|
+
- else
|
21
|
+
= render partial: 'pages_cms/pages/main', locals: { page: @page }
|
@@ -104,8 +104,8 @@ class CreateInitialDb < ActiveRecord::Migration
|
|
104
104
|
t.integer :image_id, index: true
|
105
105
|
t.text :content
|
106
106
|
t.string :title
|
107
|
-
t.boolean :draft
|
108
|
-
t.boolean :archived
|
107
|
+
t.boolean :draft, default: false
|
108
|
+
t.boolean :archived, default: false
|
109
109
|
t.text :tags, array: true, default: []
|
110
110
|
|
111
111
|
t.timestamps null: false
|
data/lib/pages_cms/engine.rb
CHANGED
data/lib/pages_cms/version.rb
CHANGED