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.
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