pages_cms 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/app/assets/stylesheets/pages_cms/pages_cms.scss +6 -2
  4. data/app/controllers/pages_cms/admin/articles_controller.rb +1 -1
  5. data/app/controllers/pages_cms/admin/images_controller.rb +31 -20
  6. data/app/controllers/pages_cms/articles_controller.rb +1 -1
  7. data/app/helpers/pages_cms/application_helper.rb +5 -0
  8. data/app/models/pages_cms/article.rb +17 -1
  9. data/app/views/layouts/pages_cms/application.html.erb +1 -5
  10. data/app/views/pages_cms/admin/articles/_form.html.haml +7 -1
  11. data/app/views/pages_cms/admin/articles/edit.html.haml +0 -7
  12. data/app/views/pages_cms/admin/articles/index.html.haml +6 -2
  13. data/app/views/pages_cms/admin/images/index.html.haml +17 -5
  14. data/app/views/pages_cms/admin/pages/_slider_fields.html.haml +14 -11
  15. data/app/views/pages_cms/articles/index.html.erb +1 -1
  16. data/app/views/pages_cms/pages/_slider.html.erb +44 -32
  17. data/app/views/pages_cms/pages/show.html.haml +16 -16
  18. data/db/migrate/20150609171657_create_initial_db.rb +2 -2
  19. data/lib/pages_cms/engine.rb +1 -0
  20. data/lib/pages_cms/version.rb +1 -1
  21. data/test/dummy/log/development.log +8232 -0
  22. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-3qKYWanNIm26g0XhQHDF6FJ2EeRxDOEy9rDF-j93EM.cache +0 -0
  23. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-VYI6VNpTBNAp0o8yBzfZkU4oNqSZppNxoYjauLlfOg.cache +1 -0
  24. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-qdi7BUeuCqui0YrcOF02D5_BOk4Sgr2X4H83iBkEDw.cache +0 -0
  25. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/06-PqZeUCqBcniSL1_pYAwS7v5trzgR6Sjl2rFLlBdA.cache +1 -0
  26. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0Df7pHl7T7bEN8mhB5BQUE1yvlDqnkBfebJehnkTlU8.cache +0 -0
  27. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0TVRNS3Z7fYjN1jAgA-WU5EBrcQNL8Skw3zz1cuMis0.cache +2 -0
  28. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1CJT51l5G3atGxndCPvcQ-dTdHjJkNbYL8EMqVYrlj4.cache +1 -0
  29. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1K5cgFLhQ0n2hvQUPYHT-5jjpSA7lpYG49wefyZo_eI.cache +0 -0
  30. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3Q6jfkfiRF5QpD7g_JXuOzPquCN9noJ_5SWhQUFBHuw.cache +0 -0
  31. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3zMRl07OPCCTuotLeS3VlUCrfM3v9K4RicydNZSaiyI.cache +0 -0
  32. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4EDVd08szdSn10sAYZtSwO6CrQQnjvXGIpvmH05AmbU.cache +0 -0
  33. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4WNAP46ZAj4c8vIPGuOmAwKqLzEwNvqafpSdhYozcZU.cache +0 -0
  34. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5aXrBatnGEq_Togc0MMQnR4QEuXYMr4SfCwupGz2GSI.cache +0 -0
  35. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5jDpkdQ3yjaERx0zAll7fNs2IGfhc1ug42SinLJOqxY.cache +0 -0
  36. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5u1J7EgGXsyugsFmu5KEpS3kyRr2u2tihl9Wqw-XOf4.cache +1 -0
  37. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6WQU2VbrP7ePUurHc-IvXVQEN81JwYO9QrxZdCJ-mWk.cache +0 -0
  38. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6WfPUz_Bw3fPZ6BBCHDQ0vl3uCMzvQAdLw0VRydKR_A.cache +1 -0
  39. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7-wCu-f6XjFWzRfjI8EE3zKARZLGLw1ZhuugpW3yJ0E.cache +0 -0
  40. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/72B5-5sanAIMAOkp11cNlAlv9Ad__OgUgJWEEq3tuYM.cache +1 -0
  41. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/804sFMuWiPVcuxtoExU0Pt4kloit3bdOhlivF1g-8ZA.cache +1 -0
  42. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8uPPNM3k0hxLQXUJ0oqbjdeakWV--2d5vq3vHbiPOqE.cache +1 -0
  43. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9KZEjXRpsP174OuFeY4ij5U1z0jxTWl8n6j-w9Oz4Ns.cache +1 -0
  44. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9N1AgSjL5YE9jIH7TaJnNVvXZBdVzW6STBlQQOLheqM.cache +1 -0
  45. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CKqZzG8uxhCMH2py0wn1fhvo8efhWZircedSMs5kqKQ.cache +0 -0
  46. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Cd6H1klVHcrAnqUWVtp3IGbABpLiU8mDqLC7jOonDg4.cache +1 -0
  47. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/D3KAHNbLVRNeazXA222IfHJG4fKW_vVWUuiHmna_DwM.cache +0 -0
  48. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DbV2OEvUZJ3BQaD3Bkyci63V9cf4MhmztwBKPwHUboM.cache +1 -0
  49. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EMavPX_UgiGaVjvLuZqUr5Tm9TLtG0cxCGg_It0AOBI.cache +1 -0
  50. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EfjmxUF3_IT4nyJijLxgy02zOCrKM6wITT_8UAQk0W8.cache +0 -0
  51. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Egxe-wAJgzUA-nC_5tbUA0QVT0WnwZVCkF8VJ9tUjwI.cache +0 -0
  52. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/I6dRHQXnhLKfKnqf9ilKzHJZ-2QV-F5jcpbnhQglnDA.cache +0 -0
  53. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ISg7950hS1ykD9DCgXYE40fEC0PbilLae_jmMiAxO4Q.cache +0 -0
  54. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IqdphYFfngGjZ6ZYg1fACF2qtm9IzEHvSg3ZZc9cwxY.cache +1 -0
  55. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JHA0JVlbQTEiUElrba_gdCiqgpqWXNBuqI-KTX15pQQ.cache +0 -0
  56. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KU4K1dG1fD2FJcVEhB3b0dt8j2mMd10Lal8BU-lO2cA.cache +1 -0
  57. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KfQI7Di3CZ7lLuyFg0d3pKwY_AIKpgy6_9yYhgMyo94.cache +1 -0
  58. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LCxvJ66YYu0zwikNpBXbiwl2fpnyEKbNm2Zm8IH7NBs.cache +0 -0
  59. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LEiD28m3Rg1cvfw3aHbVI7xvsY37M1rrqTZLKbFdfPg.cache +0 -0
  60. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LZI7QEh8NutjPefQsdYQPg73opZRKtgZTEF1W79xVgM.cache +0 -0
  61. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/M1hJZieAUUnFyitSCrnN8VdFCjTNai52gQtthe7Vo90.cache +0 -0
  62. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MHwsVIcAK1QWWg2ogVONvSMa8afqLaKaB5dgQz_je3g.cache +0 -0
  63. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MQIEYvOZ_JjEXSbw6-vyibtsgBJwZtHp0f8J1W3o-60.cache +1 -0
  64. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MZb6xu_MheyjPfNst1Yrm_gfjwYyzIMc3FXIPKLHks8.cache +0 -0
  65. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/N4VImEuozbUQqN_8VoPaj3a9QAKOSL13xSCxo5hiJMM.cache +1 -0
  66. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OC92LeqoopRFiSNQDEuaAqdfC_LW8Tyv7hRogJiF0zY.cache +0 -0
  67. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OmjZla3TQx6EnFmnOo8_nbcmY_tNdBODbHik2Wnl6h0.cache +0 -0
  68. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Q-AF6NNHOi1D7R1a469TmRtqu6IpKJrNgh5QxAOFUkc.cache +1 -0
  69. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QHgRurgQjaStlJ9NPIGvXfH-iCOUvWHP9DEPiz0QyAY.cache +0 -0
  70. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Qpm4j8cRiadJEKtKs8tTKCBIahmzRMm4WDVav3lM1VE.cache +1 -0
  71. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Qu8vx60Cq9-g2RIzn-jCxjIZ0_5GznxljjfLbZgQnoo.cache +1 -0
  72. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RvnAqlZWx9aC-bdq6RyE4UTDrv3P7NgZhwe-WJyfTSk.cache +0 -0
  73. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SlWG1EjofPVlK3EfPrYImEedoueS-LdpGjewut73g6A.cache +1 -0
  74. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/T4__07bHknO5PdFmQUBhEDzUH1h08umm2skCiTB9OEI.cache +0 -0
  75. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TXgZJrUv8gGT7JrZWy8GB6VjnTeTrlQiqiMl1bydz30.cache +0 -0
  76. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TktBEz8NIH7D0Hzs4Y9zJ1LaSaySTjl-5YMteS81yjE.cache +0 -0
  77. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UvlEGFRcTYrTGAm-Jvd3aJJuiXzUa9VLdgSwiJwqSxM.cache +0 -0
  78. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VGdZV8oSsw26zLcFi5zsdanGmXJ5V-0OqBuzL6ZPPx4.cache +0 -0
  79. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VH5aC-zXBDLrOAPKNEgs13MgclNsgTGjQLVBsrAmTQ8.cache +1 -0
  80. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VyKyygOJNRiWDAGuIi_Rzv8cjAN8qIpCspu8Z1VidkA.cache +1 -0
  81. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WGTHlloPZWXOypm5s0tTC58UsALBoIP_LSMNW6TrBaE.cache +0 -0
  82. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WR15YM7ytZQznL-S640WAcGjZhLyUjqm_YEs8dlSbCk.cache +1 -0
  83. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WjI7bWngJIsqvqx5W7bEH9G2g57EeaeYbwSwWbmaVUU.cache +0 -0
  84. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Wxr1bP0sElYCOAk1nBpRW97xOeAATOiWuV0w2Kj_0wk.cache +0 -0
  85. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Y6YSHyvHiF3v5rxN-8kT9IGvcFSyvLHCpsU3c2Eq9vg.cache +1 -0
  86. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Y8gpaOpxElYE51pygM9ti6G2MOXsniPuNIcNDyHvjQA.cache +0 -0
  87. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YFPsDlKgp07LNTXmO9bzf9c2Qe35ficjWii5WcA5puw.cache +0 -0
  88. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YXikQwJssTJN_xb13cqJ-fjdfEQcLUeKjHKmta-v_4A.cache +0 -0
  89. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Z-FlZCgzpx-7_V1FBVz6koyx85VK7C_CJ7B0UrZRS5E.cache +0 -0
  90. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZBHIxucgbu2bPi4u61batw9hagnbyL_tD8sdHBfDZEI.cache +0 -0
  91. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZZ5arWcVashbNN5M6eDDzjCZA-wFoDyvBGOGgIoVdAk.cache +1 -0
  92. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_vErzk5w4jZ19L1XKCgamJYOQ1Kht26sJSBp_cu5EGk.cache +0 -0
  93. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/aKv4iCYEI8kOYVrKrcwdSk33USzJrlZGXIZ6qy7iQks.cache +0 -0
  94. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bf8naLA-kSgKb86tAOV21j-LboTkN2YjLpmIu82lVJs.cache +0 -0
  95. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bgWGeCYNxXqCnDlgEO7XVWWqTWpFwsKSiVA8ehkTfAE.cache +1 -0
  96. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bywN541H_-AM6WIefSGYwgEQamoC7XLv7IFlv6tlIuA.cache +0 -0
  97. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cLBZEuT-RVo_Wd40ia3tEHGsufTPcxZCdImXOc_0uN0.cache +1 -0
  98. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dLOYqfFdsfXhuAcAearpRxQFP4GmIwJ55ZbFQGURyjE.cache +0 -0
  99. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/euua-GXFYwNgvV-3Es2MlYz4L4REjpSeZeuTD0t6Nr4.cache +1 -0
  100. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fFb7-LwgBTdKI83PZfR-1aAWK8BhBnSwBEqWHCUVsAg.cache +0 -0
  101. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fdzeslaAtzHwNL2E5KNNP1IKhpkRAQlGZpnEI7nQ4kg.cache +0 -0
  102. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ft97OIfSDnCn2VfjqLKlGykSjGp3GmBDvivn4uVcTp4.cache +1 -0
  103. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gAJfJwCbahCeop4yUsKIWUmKqCN8DcvJt1_pSdZuneQ.cache +0 -0
  104. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gBn6tUGQq8RXhKPBuBHITCDO2_TfOFiRgm8555XXKQ0.cache +0 -0
  105. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gldxNdWLMbGVGV7RswYIGDuEfrOXHJe2owHpr4avtlk.cache +0 -0
  106. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/grpEs2Ecgg5yApplOvYJhXpnBfeA2-Nep_Vn11zAE48.cache +0 -0
  107. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hEOuUu06ROJOUqZAn5XddFeYElGONMFnjz_eSwl9HOc.cache +1 -0
  108. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hGxa6u_n6ea-fi6R4jJ3_roZZAlNxbko3vtQFkisG24.cache +0 -0
  109. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hpJDNyJArKyOTkOaeXA9onCiZ_uDVqTE3fNUqYKD0qs.cache +0 -0
  110. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hx0dIJx91VnZelMN2-hftur5yuwdV_x4gRWkbsnu10o.cache +0 -0
  111. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iOEfMvk9vCsaMsfQRHOfdC1wdcsJnzPZxLAsH-qYpfc.cache +1 -0
  112. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/j0TE9uohha2KfFp6-fl6kZRrc9nPBWa6MxqcG7GeVec.cache +0 -0
  113. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jefz8iQEri63dBs9dcMts9x4jlQjue9EOrHfjuEtC_4.cache +1 -0
  114. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kQq3IyUc4DyzBynRrI-8bx0w9ekA78-1QYwcTIrQog4.cache +1 -0
  115. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ksy-zp_jNCAD0JT9llXcE3J-rXRkC5vsHP-45UWw2Pg.cache +0 -0
  116. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/l0Uk7Pn_NSGljFDjcK4dM4YzQD9BygN3yLBSQm80TPQ.cache +1 -0
  117. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lV8cHeAvD3VZ0k5FQyp5N-op0eBOQMqEWAVtmFph2Y8.cache +1 -0
  118. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/luVvJXP0MzizCRLA1pt8D8Eh5WigmcyiWQAPqUfVgIA.cache +1 -0
  119. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mkDmulrtltvIiKB15gpCKrjFE-tUS0tyGPSDpMpH-88.cache +0 -0
  120. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nmAvxr94TY2GuGucK6SnDgiq6CcWF6FUWDdWH1PgkQU.cache +0 -0
  121. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ntqrDfetMrjtxBk_K1UKUKFTStJDzv1jA4qDdz7PBYg.cache +1 -0
  122. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oMBF7rME9V_rDQuLzahN09UqtZmV-REAzJQqQbO7i-U.cache +1 -0
  123. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ojicpByHilkkieAAWapBwzNkGvitmt6j4VDKQylVDzw.cache +0 -0
  124. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oyq9lQ2Gdz8-JH_xjvgHTDnFMLmSnw5mtfcOWsPhf_0.cache +1 -0
  125. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pEB3eLTf7r9WKhcTl_HcPzn1L6rzVUVDRZuFRZsDvDQ.cache +0 -0
  126. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pv0qrCWarSG7twa8G60CyF0pXnvFpTC_LDJuNhR8mK4.cache +1 -0
  127. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pyUlZMnUSITBvOcjzIKP5EvqOC-XWoDi6wOkiz6Onlg.cache +0 -0
  128. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pzJ8koM2ftVLsYYbx-Ks1dwhi_3T6x4wYwenu4U_Q5o.cache +0 -0
  129. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rdU4lqEdc-KfsOCfGuB5insf_pNyn9vU8GiSF6Oas1Q.cache +0 -0
  130. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rqmU9GRNqG1QHzorhbzcONxL8-itDNMdSJYM_qhkjYQ.cache +0 -0
  131. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/s4wHB6Ef6GhdehEYM3ifPts4Wslc2JXHPX1ueqdIvYc.cache +0 -0
  132. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sareck2R1oDf55_Wv8JGcv2_W_TPELYc_C2CC7-yyoQ.cache +0 -0
  133. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/see_GhYib7aOZJkSWmJ8rn_72nlaffsTitfc9nK7BQ4.cache +0 -0
  134. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tHQtQMABOQN_2ec94_d0wEjKLmo5d5VVL_By2x9_kbk.cache +0 -0
  135. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tvy-7SHR2Vc04u3zGm1H2QBAcp2EgjrBXYBMb0GkUVM.cache +0 -0
  136. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/u6e9mYKr-d2eUzCCt55E8MFJ9SgjLcM4KcIPJb3HLLE.cache +1 -0
  137. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/v-8pT3W5nf94PXezCvdAiruOnh8xnuiyNco1IWE5rfU.cache +0 -0
  138. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vRNSxpJ_8VcXEXTZrnntYtpPlPr-Lrq67jpG8JAqgnY.cache +1 -0
  139. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wCqwUIQYJYNisHjXtVCK-9eP-cv-yv4jfi6BnaOp4FU.cache +0 -0
  140. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wvNTA6MktomqcEgfXH2tTQfMtoW76lh0HSPXzN7T-CA.cache +0 -0
  141. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wyqljUBxf1OHqg6kpIRAVZ41N0LQlKChzLBy_OlXWyk.cache +0 -0
  142. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/x7Jr5cdmWAWrxNleIdDCmEy6g1riOVWfesMr9ZsGkdU.cache +0 -0
  143. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/y5rZtPN4hmyp8ckFPQBVBxN6atBQ4EFs7M7X8rgS9fU.cache +0 -0
  144. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zvjBd54a0pbbvOPCOORRSkk8_NrpqxLjT3eSk-o0lO4.cache +0 -0
  145. metadata +264 -5
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f09dfc205207caa481e74ad978dd5fc3445c7b28
4
- data.tar.gz: fecdf51507f456bdd23c987c645ddbe50f1df313
3
+ metadata.gz: afaa806c4acfe54bce3812663ea38147bca75837
4
+ data.tar.gz: bd8e7195348eac42e39c8d65f65228f0c70f1501
5
5
  SHA512:
6
- metadata.gz: fbfec04222863f22574d785e4c978936389e774c6247946fa997829887c19234e6d65f4dc2a6cea9b523163c7bfd9a2ade0b455a7534dd35793c9df079c9f316
7
- data.tar.gz: 76b9eff2b9cf31820bceae4b470f1026a0b45bb4fa79018ea424d78822cce76aee6820ad714c49ebdc7424dc758aa3e86d5ea528ec93f474154b98c06280b3dd
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.2'` to your `Gemfile`
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: 170px; }
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 }
@@ -50,7 +50,7 @@ module PagesCms
50
50
  private
51
51
  def article_params
52
52
  params.require(:article).permit(
53
- :title, :tags, :content, :image_id, :draft, :archive
53
+ :title, :tags, :content, :image_id, :draft, :archived
54
54
  )
55
55
  end
56
56
 
@@ -10,32 +10,43 @@ module PagesCms
10
10
  end
11
11
 
12
12
  def create
13
- validate_image = Image.new(image_params)
14
- if validate_image.validate_file_type(params[:image][:file])
15
- user_named = params[:image][:name]
16
- uploaded_io = params[:image][:file]
17
- extension = uploaded_io.original_filename.split('.')[1]
18
- name = "#{Time.now.to_i}_#{user_named}.#{extension}"
19
- @image = Image.new(file: "/images/#{name}", name: user_named)
20
- if @image.save
21
- File.open(Rails.root.join('public', 'images', name), 'wb') do |file|
22
- file.write(uploaded_io.read)
23
- end
24
- if File.exists?(Rails.root.join('public', 'images', name))
25
- flash[:success] = 'Successfully uploaded file.'
26
- redirect_to admin_images_path
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.destroy
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: #{@image.errors.full_messages.to_sentence}"
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
 
@@ -4,7 +4,7 @@ module PagesCms
4
4
  class ArticlesController < ApplicationController
5
5
 
6
6
  def index
7
- @articles = Article.all
7
+ @articles = Article.published
8
8
  filter_params(params).each do |search, result|
9
9
  @articles = @articles.public_send(search, result) if result.present?
10
10
  end
@@ -0,0 +1,5 @@
1
+ module PagesCms
2
+ module ApplicationHelper
3
+
4
+ end
5
+ end
@@ -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('draft = ? AND archived = ?', false, false)
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
- <div class="message alert" ></div>
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
- = form_for @image, url: admin_images_path, method: :post, multipart: true do |f|
3
- = f.text_field :name, placeholder: 'give your image a title'
4
- = f.file_field :file
5
- = f.submit 'Upload', class: 'btn btn-primary'
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.file, image.file
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(:image_id, PagesCms::Image.all.collect {|p| [p.name, p.id] }, {include_blank: 'Choose a picture'}, class: 'form-control select2')
6
- = f.select(:link, PagesCms::Page.all.collect {|p| [p.title, p.slug] }, {include_blank: 'Choose a link'}, class: 'form-control select2')
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
- $('.select2').select2({
12
- tags: true,
13
- createTag: function (params) {
14
- return {
15
- id: params.term,
16
- text: params.term,
17
- newOption: true
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, length: 200) %></p>
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 id="carousel-example-generic" class="carousel slide" data-ride="carousel">
2
- <!-- Indicators -->
3
- <ol class="carousel-indicators">
4
- <li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
5
- <li data-target="#carousel-example-generic" data-slide-to="1"></li>
6
- <li data-target="#carousel-example-generic" data-slide-to="2"></li>
7
- </ol>
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
- <!-- Wrapper for slides -->
10
- <div class="carousel-inner" role="listbox">
19
+ <!-- Wrapper for slides -->
20
+ <div class="carousel-inner" role="listbox">
11
21
 
12
- <% set = false %>
13
- <% slider_elements.each do |element| %>
14
- <% if set %>
15
- <div class="item">
16
- <% else %>
17
- <div class="item active">
18
- <% set = true %>
19
- <% end %>
20
- <%= image_tag element.image.file %>
21
- <div class="carousel-caption">
22
- <h1><%= link_to element.header, element.link %></h1>
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
- </div>
25
- <% end %>
36
+ <% end %>
26
37
 
27
- </div>
38
+ </div>
28
39
 
29
- <!-- Controls -->
30
- <a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
31
- <span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
32
- <span class="sr-only">Previous</span>
33
- </a>
34
- <a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
35
- <span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
36
- <span class="sr-only">Next</span>
37
- </a>
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: @page.sliders
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
- %h1
8
- = @page.title
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
@@ -2,6 +2,7 @@ require 'pg'
2
2
  require 'haml-rails'
3
3
  require 'jquery-rails'
4
4
  require 'cocoon'
5
+ require 'html_truncator'
5
6
 
6
7
  module PagesCms
7
8
  class Engine < ::Rails::Engine
@@ -1,3 +1,3 @@
1
1
  module PagesCms
2
- VERSION = '1.0.3'
2
+ VERSION = '1.0.4'
3
3
  end