pages_cms 1.0.8 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (344) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +22 -7
  3. data/app/assets/javascripts/pages_cms/admin/accounts.js +2 -0
  4. data/app/assets/javascripts/pages_cms/admin/contacts.js +2 -0
  5. data/app/assets/javascripts/pages_cms/contacts.js +2 -0
  6. data/app/assets/stylesheets/pages_cms/admin/accounts.css +4 -0
  7. data/app/assets/stylesheets/pages_cms/pages_cms.scss +5 -0
  8. data/app/controllers/pages_cms/admin/accounts_controller.rb +42 -0
  9. data/app/controllers/pages_cms/admin/contacts_controller.rb +17 -0
  10. data/app/controllers/pages_cms/contacts_controller.rb +24 -0
  11. data/app/controllers/pages_cms/pages_controller.rb +4 -0
  12. data/app/helpers/pages_cms/admin/accounts_helper.rb +4 -0
  13. data/app/helpers/pages_cms/admin/contacts_helper.rb +4 -0
  14. data/app/helpers/pages_cms/application_helper.rb +9 -0
  15. data/app/helpers/pages_cms/contacts_helper.rb +4 -0
  16. data/app/mailers/application_mailer.rb +7 -0
  17. data/app/mailers/pages_cms/contact_mailer.rb +15 -0
  18. data/app/models/pages_cms/account.rb +12 -0
  19. data/app/models/pages_cms/article.rb +7 -1
  20. data/app/models/pages_cms/contact.rb +8 -0
  21. data/app/models/pages_cms/contact_field.rb +5 -0
  22. data/app/models/pages_cms/page_block.rb +10 -8
  23. data/app/views/layouts/application.html.erb +14 -0
  24. data/app/views/layouts/pages_cms/_header.html.erb +0 -1
  25. data/app/views/layouts/pages_cms/application.html.erb +3 -1
  26. data/app/views/pages_cms/admin/accounts/_form.html.haml +7 -0
  27. data/app/views/pages_cms/admin/accounts/edit.html.haml +5 -0
  28. data/app/views/pages_cms/admin/accounts/new.html.haml +5 -0
  29. data/app/views/pages_cms/admin/articles/edit.html.haml +2 -1
  30. data/app/views/pages_cms/admin/articles/index.html.haml +37 -38
  31. data/app/views/pages_cms/admin/articles/new.html.haml +2 -3
  32. data/app/views/pages_cms/admin/contacts/index.html.haml +37 -0
  33. data/app/views/pages_cms/admin/images/index.html.haml +27 -25
  34. data/app/views/pages_cms/admin/pages/_contact_field_fields.html.haml +8 -0
  35. data/app/views/pages_cms/admin/pages/_image_box_fields.html.haml +4 -2
  36. data/app/views/pages_cms/admin/pages/_page_block_fields.html.haml +4 -0
  37. data/app/views/pages_cms/admin/pages/_select_js.html.erb +12 -0
  38. data/app/views/pages_cms/admin/pages/_slider_fields.html.haml +2 -15
  39. data/app/views/pages_cms/admin/pages/_thumbnail_fields.html.haml +4 -2
  40. data/app/views/pages_cms/admin/pages/edit.html.haml +64 -46
  41. data/app/views/pages_cms/admin/pages/index.html.haml +33 -32
  42. data/app/views/pages_cms/articles/show.html.haml +8 -7
  43. data/app/views/pages_cms/contact_mailer/new_contact.text.haml +7 -0
  44. data/app/views/pages_cms/pages/_main.html.haml +48 -35
  45. data/app/views/pages_cms/pages/_slider.html.erb +1 -10
  46. data/app/views/pages_cms/pages/show.html.haml +26 -5
  47. data/config/routes.rb +4 -1
  48. data/db/migrate/20150609171657_create_initial_db.rb +32 -6
  49. data/db/schema.rb +182 -0
  50. data/lib/generators/pages_cms/Install_generator.rb +11 -7
  51. data/lib/pages_cms/version.rb +1 -1
  52. data/test/dummy/app/helpers/application_helper.rb +6 -0
  53. data/test/dummy/db/migrate/20150609171657_create_initial_db.rb +34 -5
  54. data/test/dummy/db/schema.rb +37 -6
  55. data/test/dummy/log/development.log +17080 -0
  56. data/test/dummy/log/test.log +8688 -0
  57. data/test/dummy/public/images/1434639973_test_name.png +0 -0
  58. data/test/dummy/public/images/1434640097_test_name.png +0 -0
  59. data/test/dummy/public/images/1434640301_test_name.png +0 -0
  60. data/test/dummy/public/images/1434641404_test_name.png +0 -0
  61. data/test/dummy/public/images/1434641426_test_name.png +0 -0
  62. data/test/dummy/public/images/1434641851_test_name.png +0 -0
  63. data/test/dummy/public/images/1434641964_test_name.png +0 -0
  64. data/test/dummy/public/images/1434642004_test_name.png +0 -0
  65. data/test/dummy/public/images/1434642212_test_name.png +0 -0
  66. data/test/dummy/public/images/1434642345_test_name.png +0 -0
  67. data/test/dummy/public/images/1434644474_test_name.png +0 -0
  68. data/test/dummy/public/images/1434646301_test_name.png +0 -0
  69. data/test/dummy/public/images/1434646429_test_name.png +0 -0
  70. data/test/dummy/public/images/1434646471_test_name.png +0 -0
  71. data/test/dummy/public/images/1434649085_test_name.png +0 -0
  72. data/test/dummy/public/images/1434649704_test_name.png +0 -0
  73. data/test/dummy/public/images/1434651746_test_name.png +0 -0
  74. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-1IOo71Cbri427I8YPc4XlnKxoxjYdo8DnXoT44sA-E.cache +0 -0
  75. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-XCvIT7u07469Wvs39OIei47E_VAXxXQxG1WDH5q1IY.cache +0 -0
  76. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0Wbx6fs2Dz07YZWoLEGQlHX9h45JXQZFY3HMbGDkl2E.cache +0 -0
  77. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0q9VUGHPTXUWKesG2VCZMA3zOq0Marnl8wFpQYOmn7A.cache +0 -0
  78. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1ErQh3T2TP-JckN7IQ9uZIyvxw_IeG39ou4sh7Gsgg8.cache +1 -0
  79. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1FUFVgAXEl4Lb2tfBCnJgh8_nEOn4EkKXnQoZDJb1cQ.cache +0 -0
  80. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1w2FwbUBHbVyOYR_8ldmFIqPAj1TO24JzbDINlxIZ98.cache +0 -0
  81. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/25GVBScSUZkvEEL8oEXzC6-Uto03ivkI8E6Ws0p9QU4.cache +1 -0
  82. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3-eE7NpKFRsUn75Z1uD8q2d4xQr2ljpwUoY2U6zkvoU.cache +1 -0
  83. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/34V4XcwPrEeyId_VllzHXnqjNkji-NPcHa5W-sY3dAI.cache +0 -0
  84. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3S4xrIEiUV6QEbZDjtXDJ39L7vZDlGmtgQri_OlY67U.cache +1 -0
  85. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3kPAPabW_PGlAEpQfSw5Ai8RY6ly-DwbnMsj5dnIUbQ.cache +0 -0
  86. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3uE_2rCYg0CFuaAFHhPDwCtQackqOZ0ARC_QNgF8JOM.cache +0 -0
  87. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3w1rvQagfqGA1XKRclXy8V5rE6dasaOzt6UlpTJB5ac.cache +0 -0
  88. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/44UGFiiBxpdqyl8b45OSpZcP0aR0CuZ3B6UK9IvYSUM.cache +1 -0
  89. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/44toxO39FfUVqrdB_zMoHO-M8m5NBSEvON6_CCfPT0c.cache +0 -0
  90. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4LsIKTzeCMfOSh4GR7NJ7BwimAerjv-lqXyBc1XcGgQ.cache +1 -0
  91. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4Zt6gbAnKaqaCwv5jOVyDRK-wLuuY7WWJgp1nRU9dCM.cache +1 -0
  92. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/4qvvRNQupnNLACh-fcnaIwIFWGWZAL7LV6sVg6tlRCU.cache +0 -0
  93. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5M4-EN27z9Tm8Ib6GuZZMyyWD3IQclaS7mtaESvo7GA.cache +1 -0
  94. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/67KXtLes7R6hliuZV3R5XwoOirwcX-t6SPrOL6oS9Vg.cache +0 -0
  95. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6DYQI2vNcBBVUKMtWmSRoCSOPq6D5WfE3AiJI2wNC08.cache +0 -0
  96. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6PeWrTKBB74rUtYh4ojY7hFx0UAZ9hH59t7FTQ_qBvU.cache +1 -0
  97. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6bMeTLn6sgihxpaWQPuZpNjSiiDgzZmq06Uz4KKT7No.cache +1 -0
  98. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6pouxJlZAmUndUwgR3t5bkNJ_LEREcC95v7UeXhXIts.cache +1 -0
  99. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7JQNeqGoYxysUwUdnyRyoNWOs8IekDTqzONtDxiM0KU.cache +0 -0
  100. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7Jd9r_kQFh4KQK4WXNJs9YYz6L_uYMzc99MyvI9tUF0.cache +0 -0
  101. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7NznbfXYSN1vZs-hvOHoZJhcTHyxCtv-q1RjDCbZDYw.cache +1 -0
  102. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7OJ_t7n3tCwlJYioXPmkYRw_i67oE3yVfPMSQO29Wk4.cache +1 -0
  103. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/801x7lOxKb1wS9czqrbgP7CCESQFhUxQuH1FKgUdgnc.cache +0 -0
  104. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/88HJXSSeUIIBryxIDyyRJzhRUTfbhja9uak2rB_aJQo.cache +0 -0
  105. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8UAjSRhaWMWU4m4cpg0dZ30n-sS-czk0XwMAAop3SS4.cache +0 -0
  106. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8moCWAN02Elzx0_lGzJ9CkPByuvrMfEUXx6DQFmQm9A.cache +0 -0
  107. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8xPXVWPKBl2k9r3kGiU4E17hZOakoD7UxU8N1g1Tmo8.cache +0 -0
  108. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/95kQ-8G_A3tJEyd0_blp4_nx6u7g2KsEUf_9R_akwgs.cache +1 -0
  109. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9F_21g2xXJ7fJ56n2i2wK8MuZEGACJYUSyKBIApMkD0.cache +1 -0
  110. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/9ZBTLKqrsfzIOSZdYtx7RRiRfD7FUjW4px3M2A3WPIM.cache +0 -0
  111. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/A-hS9ceOpSaxXZqqIWpTXN4fW9g82ZiBh1hieuqJJrY.cache +0 -0
  112. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ACdEFSOoafokVPXvpf3Bt79jpC7EBXh8_BlKEyTFwVs.cache +1 -0
  113. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ACe6q--JUY8uSRs79j4CFBvz6m2sKk1XQ6mrqiOgzZI.cache +0 -0
  114. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ANpT5EwLLkGS5tcihMs5dsPVqmZKsPop11WfdZGjwtU.cache +0 -0
  115. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AUVqVaLVEwYXbxXizLw5g3XYjWJNRauhui6dKzTD7mA.cache +0 -0
  116. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AWAS8u87037wkzESvc4vYMNtaCroOpo9xzOTlJbw0Es.cache +0 -0
  117. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AmEy6-fBiO4rtqMphnearFcofp9OmJBxzjJGrDEPwYk.cache +0 -0
  118. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Ao7agsiTnhQzxNtLrSeIdgo_gpggCFhC1az4GEuRlAQ.cache +1 -0
  119. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/BMOZwmmTDm5xQbetbkzD6R1pIf_aRM9E-IzStmhr8E0.cache +1 -0
  120. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Bx70VL2kibi53JgL3T_0q3esOBz8dFTreKDWR6OtgyQ.cache +0 -0
  121. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/C2sx3opHPUNg69fizAZ39zAaKO3L_kHHE5YNbEuuQXo.cache +1 -0
  122. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/D-jNX53QIyjPZphVoPrRcpHISIQ4xlFs9Vzx2X1sKIY.cache +0 -0
  123. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/D1DCoMvCRiQmw-PYn2JqBqaE9v-Y_UbecxUuH2YbKKo.cache +0 -0
  124. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/D6xHmtSEuUl1UGBIQbew_OnWUykcXUwcttehHSxDqKI.cache +1 -0
  125. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/D7qzEsoNBjEBnQV1_OoB4iHEk1egGlEoRTsf5BvLhvc.cache +1 -0
  126. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DE3bRZHZsWQG6maWqJ4pXD6V_BBDjYP3iUdwdxgNBgM.cache +0 -0
  127. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Da68-chwUNETeG3S3KoHt7NjpRmoyeAWxbQ2cHOfa4A.cache +0 -0
  128. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Dh7h1aUTghiOxOrI1k_zZG_pkEPqyvyUlhPMf-p5bFo.cache +0 -0
  129. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EM5MJ1akAGM6_0GxrE5q-4gldlvtfrhkW_Y9eG5r2nk.cache +1 -0
  130. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EdoPo8OzAe0CHSZky01DmWDzJK8y1SO4M0DmIrYngAE.cache +1 -0
  131. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FGq4MuvIMNSIduG7ugKizJC72LAK6QnNYKvilcK_XiY.cache +1 -0
  132. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FTUXFa0mAWBEtmZuzDoNWZXjK9_89wIlLlnMpo36beI.cache +0 -0
  133. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FgaXPkhoIKKyG97eFZzxWOo-ZF7f4dsYtB9ShiBfh20.cache +1 -0
  134. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Fh3OY_o5oL9TvKY_8TitsbOpdO4CoH5jWtbEyjrFEt8.cache +1 -0
  135. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FuZRij-7Mbj44_g0xjo3bJCMT7DGKoifWxSvUsu8wTA.cache +0 -0
  136. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GJhBt26PIFX-BX11fTo1rmQubzEr02w_QxeG_iVasqI.cache +1 -0
  137. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GkREMvWQAJcVpGKq3vMsts4__McCwt7RgPHL8_7xEWU.cache +1 -0
  138. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HUKy-cDpFmnEHu_u97Uh_dqcHN3bmQJsUr2d8vGih_U.cache +0 -0
  139. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HWD3CcNuKZ5A8pTkJDbEOxQudIQPgzpBFrhuA_7-E0A.cache +1 -0
  140. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/I4g1xn9GlRe8GcivC1ZrggOz6RrdOKsFgEP_5QX6zec.cache +1 -0
  141. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/INFG_uIuvX6X_-KRYOnmMdBsKVovvsANFe8B9Llbzlw.cache +1 -0
  142. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IOLjHRCTfKITn4w4Sfmnss2OzzlVjLaik72AQ7SIcpM.cache +1 -0
  143. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IULhXDozCv7Qeu-SSJLN1p5qsyS54HcehWXkpYpg_PI.cache +1 -0
  144. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Isume_nkuLH7clr9--QDp1sNV-Ka29i9kCmkpFMU5ag.cache +1 -0
  145. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IuARgZkjFaTqCNRSGXkpMbu6fEuYukQ4LA8V0yVjyF4.cache +0 -0
  146. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Ixf0TutNdGGFQqOapf-yCKYrA-Y_TSYLheXlWM_9vh4.cache +0 -0
  147. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JOqKhdd0yj4Kmk4lguNqHlGUpndyfUvgTFSuen3j1lA.cache +1 -0
  148. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JPUEDALSyE9iJLsinlZN3WGqXvNOcDUDew2oAzqtjjc.cache +0 -0
  149. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/J_UOl20sG9YHNsaUdeVdkdFZJ5Jjh_flnKepcdoSiFI.cache +0 -0
  150. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Jk3QngJ03RM637s7WGSrjLKXJp7F8HnlvUB-thu4hzY.cache +0 -0
  151. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JzhGbMpoABIRAObhT8JkGrnF_zK_GkLoZMoYqoU1Zkc.cache +0 -0
  152. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Ky3THOnJ5lMs7VoIxGflVwbQ9W6tyaCxkomvKKtOZ-s.cache +1 -0
  153. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LFZI-zip1oxV6WLamD2Yo7Nktm3HYOYOuHj3L1jIgQE.cache +0 -0
  154. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LQVlY3btkCeRD_anbK7OwEfqN2zUGpWCiJpPTKZaCig.cache +1 -0
  155. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LSHsUM4PAxlZ-jP8ViAP-znIQskgSmejIjBmPMS9Ds0.cache +0 -0
  156. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/M1VwSYMowXZwRdPe3VQecA0g7xaE7rvvnURj6qvjPtY.cache +1 -0
  157. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/M8qBpb5mbet5ZbSh2ZTc-In11Y69RhASWRtv5nb20Ww.cache +1 -0
  158. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MGzgGHmba7gQDUW8zSzbS3pPN6tzfqlWNsjDNlw55aY.cache +0 -0
  159. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MTtZnuTEybXplr_tOrKnVU8Y7Sqfmsk7nn6cju4kpRA.cache +0 -0
  160. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NMcTwAzVB7OAIabpkSeMW8RpcznkCtuUylicXAAbHks.cache +0 -0
  161. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NWJpV2fwEd9MZ8jETssul6YbnCo1DnDqKjuaMTdye1E.cache +1 -0
  162. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NhwCYzOdkdb_ZXoiZy9knKxnyV-QXvIKHd-HwaeLpfQ.cache +0 -0
  163. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NoL5P1ht-OREFUUmUSpHS0g0MLhRAz8UEZ2i0EWy6PE.cache +0 -0
  164. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NsTLcgzyL5DanTJkj4eF1kgZKXQQN87pB9Bq0Pfoej8.cache +1 -0
  165. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Nukdm2JWB20invUsIHTKeC_W_e7oWAZTVmW9xSfCNgA.cache +0 -0
  166. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/O01gOky_x0Jnl0Z_xmiSIOrw7TnGiL2fCCtop5RYRKo.cache +0 -0
  167. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/O1lPaHW_0Tqs12Eo3psEuGfAdUpqNuDN4_D6imMGBH8.cache +1 -0
  168. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ORcYIcz9XagGH-NO5uXYkKVRAoPTT0J1Ui4A1hGSQBQ.cache +0 -0
  169. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OdXgScoRPi7XCW_KjU3wuX4I4veBbYGwW0CDgaoRyQQ.cache +0 -0
  170. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PV5zTz4C-zQcXI0VxtZQeVrnTa5pnG5b6GuwCCs8WdU.cache +0 -0
  171. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PaWSskOLEPSXE0ARJ_sZm3rpqwX5HJoE34OFFdaa1QA.cache +0 -0
  172. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Pe9dWWw3f0tUBpaSMxkQ2od-rEZDwpsw2JNy62bDRsg.cache +1 -0
  173. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PmRUrI7LmDNEWKvAsOoq99Cyl7XDUskNnyHIFGlmozQ.cache +0 -0
  174. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Pz8mSNuo7L8qkXnNtR5cs89gZ9ihDKPHFjDvYZgJqqM.cache +0 -0
  175. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Qf556dUX-cuTBJaLiyJCqKd9M84J7L_yapUsKu7M9Hc.cache +0 -0
  176. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Qgiyg-ALbFJ2BnQp6s4yjXFFbwSYAFmMHYllxu3Uybo.cache +0 -0
  177. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QlQxixTiY_CbAS-vLTRpNRH23C1IYdNXRurxsbYXRHs.cache +1 -0
  178. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QnorsyH2G9ja3EsJPTywrPyiVuiIVFD4eZtUooYlayw.cache +1 -0
  179. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QyTBpuGD7vdHVHDdmRH32vmL_M9IbtV5SVSQ2D1y60M.cache +0 -0
  180. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/R-Uyr5RFELYkMAVkxoLeFREqUQU5w8Yd1nTHLxCb9NE.cache +1 -0
  181. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/S1hb3wkpk2moE4h-ct-mL6p3dmud8Ct5jVL8cmWoiFw.cache +0 -0
  182. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SBs5MjoIgqGRci_S6Kb2Nds46-qJYdnI_Wr-Zz-y6ZM.cache +0 -0
  183. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SwwVZyq_6dUC4uA0GXNL_ngiXyJgpy-AfKCxFcHKXp4.cache +1 -0
  184. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TFyTbNUAyMcLZerpZL4GHlHhHq-0BC7XLahrQU3RlPQ.cache +1 -0
  185. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TOME2fJqno837ZQSXjLDv0gNnvboMSDRKg2gSRmwP80.cache +1 -0
  186. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TWUL5qYpYE6uOQmEYDN2HrUV85KMC9pwccZQNEcYqds.cache +1 -0
  187. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TrQpkDHYaISLdrR5k06PKlwLPtGPOPxKyX3A7FWKPxk.cache +0 -0
  188. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/U6-4NdzR3733Kp_4KLu8TnZ75vlqvrw1dd6Xf-vPKb8.cache +0 -0
  189. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UD-Mprr7WTSdDpdAlIrafjGFMxxkHjluVpsu8_VVxlw.cache +0 -0
  190. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UJv4Ko8MjHAxe1c7ZnK3QpyrNBhA1bQCOZEYIP_le78.cache +1 -0
  191. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UqBDj0un9MXsC9wTAEmtxNc_ReuVeZshR0zx2acQGaE.cache +0 -0
  192. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UzaYIHSgEvQ2yVbzypGxLlex8FNF_2IW1d_djRmmy28.cache +0 -0
  193. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/V9KIQHOBoYUMN1Z5CBYrLHeIu_-raq-fEHzTEmEXkBg.cache +1 -0
  194. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VOnFQKtrE4mcFSMp8-FrTHpw9ttKwYD9uAD6vHWU84E.cache +0 -0
  195. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VvcGLc8cebgTcyJP0nZ7hJuzBux6Qp1brWlZcbPQt7c.cache +1 -0
  196. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/W-WYAPxc93bmE25YAE0D0L4t1MVdAsOk8f8-qN5a__Q.cache +0 -0
  197. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WfB1-9c_leSmn8VdcYxOXCE3NiFY8dPrSlhCx6650hM.cache +0 -0
  198. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/X1afSObz8QPXC33RGT_ykGzs_Kn3o4Gd3mhCfW4RAiQ.cache +1 -0
  199. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XhvRWijm5tNuGCB5MPXnJ1KFPU6r3tl4ro3LoBvJmlE.cache +0 -0
  200. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YKJoHlbZCPomEEXIsPKIy3ONC8jKienyQh-nICTB0hI.cache +0 -0
  201. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YWtVfdMbJZwJAXyC_wYf6pHdpCuJdzh1nAM5UVkccj4.cache +0 -0
  202. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YiwHszi5V64zp6ZkLQEVgmuvDN9PQ0Kl6ilRLQCVulM.cache +1 -0
  203. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YswdMerlqcp_29KW4OA188eTtppcWuQtFnv71nHnRAY.cache +0 -0
  204. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZOdGw0udZodV_q-lLFvakOiLjHIVZvbmdULJ7bigtgs.cache +1 -0
  205. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_1d6d7SiPzkiZkY2cyfoQfr0tS67IF4d24UTekD_5jo.cache +1 -0
  206. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_vZGwl5m8yC1uZk1MoSgjkR6O8mjCyBdsWI3fARDplQ.cache +1 -0
  207. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/alAqPmluSEZiWnskh7tmkFB-xV_Yq-n03m0D09XqYas.cache +0 -0
  208. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bSVBPIY5Jaf3P0pKcFe4OJM24bvEHhj-536t6pc8Icg.cache +0 -0
  209. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cMl5wmq1kL1Vp1vLxS6ernW9bXJoOSKgSEQL0gL02A4.cache +1 -0
  210. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cQCDI4qx4XhvqFg6iqMNacCMZnpyR_jF2bsu3-ArFCU.cache +0 -0
  211. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/d6NsY1Qwv_HeC_ewJzyqrigHHknSDwPvCgQVDBYLHBc.cache +0 -0
  212. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dORHM1OIOCNBqsOMygjQiQ5fIswVPjfvT5EGIxS_Ago.cache +1 -0
  213. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dRU-qlZmlnDkB8y2aaOtMKeVHty-2DIpJEINmtEo9f0.cache +0 -0
  214. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dUn8ucT5RjrKxRRC1Thk0mxdpXcezHKiBQI0Daguyic.cache +0 -0
  215. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/eDfcBGpF43MhP5O_6X0Q9kGp_88pooGyejI_H9MjuKc.cache +0 -0
  216. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/eSJGywNc5eEFKjALIO-lnbBVsOUswq9DHD31dpItgy0.cache +0 -0
  217. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fhn-ZNzw6-TicOxYowl_q6nUc5jboUCuiJNJ-6_75nA.cache +0 -0
  218. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gDTow5K5SjV_oLkQ914xBNiYDX6zlsGgx_b1v2jYbAA.cache +1 -0
  219. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gRsGIyrJvJOoCiM8G8z_hUSZ6IgsV0Jnykq3CJ_kQTs.cache +0 -0
  220. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gSceKB3X9KJLpXOrMQvRXI3_xqrxY65BQXE1hpfbYik.cache +2 -0
  221. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gY0LvilZlj5ch8Ygns9ray3tWMkNSF4D-D3L4343RDU.cache +1 -0
  222. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gaulqnyLk8HAcZvAox8fKnMGqDM9XfaJaDJgvAQeYP0.cache +1 -0
  223. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/glRjybNELDY00yehg4Eh1aRtU7nMtn4lK0S-xit8UXQ.cache +1 -0
  224. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/h-xPp8DnzreEDebE58mPOh5MQGdQ0iQftGSNJ2FjRTo.cache +1 -0
  225. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/h1AdNTIccZgqR7QgWFeQVh8wO9GLtGkdoyglpoIs7oo.cache +0 -0
  226. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/htXileGQNUCC28T7-AWc2YViNTFjwB-GOGAPS2ns_W0.cache +0 -0
  227. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/icNgaKNbo4hnB-5VaDnuquwEKPay54Uc97N9Vhkggj8.cache +0 -0
  228. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jCJlQ-aWDZBk4D_C3BOPDZuDP2u1a3-eBXs6zXuTurk.cache +1 -0
  229. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jOswZt65qKNo0u33RYJgwq_rUkBJUTk8SY3VOQzy8r0.cache +0 -0
  230. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jb7koPdSTQOhd7UNCbeexLR-fbc33Izia6pFD_UHEEw.cache +0 -0
  231. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jedfkNq5bCcLI0Vr12z2r-J3ORuZ2boqpzEXOxfne50.cache +0 -0
  232. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jfvoO7fKqgndCfBjTMR9a4AviP6SX3WDvi9N0gRTCP0.cache +0 -0
  233. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jpnOAdJJ4URd-yTYCCK9QydLX54OMyx46tSKlzAJoKw.cache +1 -0
  234. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jwZtZJGa4xmMM5sDHc53UVUVNgBAwIpteUTNe986kkI.cache +0 -0
  235. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kP7kOmSzUzDeaf-HE_CbFL-0kby0107W_n4z4hUz_7s.cache +1 -0
  236. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kcPMcILPxHnkpdRYKCBer6Ag8s2mL47DBHPA1UlIhaw.cache +1 -0
  237. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kmLhJkkLxe0gIkLt8ThPNi0Lf-gAW8_yUwlGsIWWpJo.cache +0 -0
  238. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kqtImWb31kjeEEFiGNXXgbspeIF0CL2IFDw5QF5JS8U.cache +0 -0
  239. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/l2diYp-oPuIYusWuqSkOqO3ufWU2xqLvLTF6WSpL3kQ.cache +1 -0
  240. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/l_NgKA5kCCOAE8UZkpImxf5MaecucwULm1OZ2ACJZp0.cache +0 -0
  241. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lxEwsY0IkrqaDk-dteRTo9uJG0ZetvayiyCbtf3wAE4.cache +0 -0
  242. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/m46e-Asalxj8MRdIh1F_FaeZW4i1Fvo6HV6txnZFBjA.cache +1 -0
  243. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mPB7aM5jW173-zbrEMfhr-6OhBBCqJX9rPVFAKXgIrw.cache +0 -0
  244. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/msCLH7uXj8yF3hNpraUUOaytpdKo9oYwL9RhPdFKufA.cache +2 -0
  245. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/n0sWjVHILxoOhgzo-fAqbVrUntKXS7yDUwZ6gbQ2hrM.cache +1 -0
  246. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nYP6EHbfYwLUozVL2dm8-TyCvIRKctZWVxKzPrybQe0.cache +0 -0
  247. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nhuL8wZTwTIj2aPtk3viOtzMgiTmryqBfmp7mfwJRUg.cache +0 -0
  248. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oP7RFQt7Q9B9w8HB4vdyFrIf7oj6V66zN1k2f4COQ8U.cache +0 -0
  249. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oSmiB_rl6vQnb2agcf0bPHri_GVh6Njkz6H2JEnedZ0.cache +0 -0
  250. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oxvBGhGZiVanzvhCHkBj2FB0dpUpJ_qLNjePLwSepq0.cache +1 -0
  251. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/p80nSb5e8v66qtpUOjFh5yWcCPN4M7XPnLyn8709cnw.cache +1 -0
  252. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pIn_boOrIrvf9iKK6fvUu2G9doIwPa0anjr_IThtZ5o.cache +1 -0
  253. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pVu9ePEEy8E0_98Aj5Rnex28LtMnrF-uJ2N16dYpXzI.cache +1 -0
  254. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/q8hzyaae6QdgV13L34PaG-0QC316421cfLGuaGw2YUE.cache +0 -0
  255. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qUijf3yc986jk3fTMBMeCpG-IczE-CENaQ2mnVpQRaU.cache +0 -0
  256. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qfYEkZdRClwTqbDAfmaQ5Ds7ZeXzJJb_vQuBQajrX14.cache +0 -0
  257. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qoPXrsb20ShNW_0ZEAP2PnsDm3Ns6Tc01oAKeIsEbA4.cache +1 -0
  258. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qtoJvlzGwkCn-5TsUKB28FNmWd_jVecdjinF3aL3l58.cache +1 -0
  259. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/r4c4xHiHhdkvBC_XcoVfFyzOhXTGipUc-BGdZM8mHY4.cache +0 -0
  260. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/r6HEYn94QK4Y3CherVI74nDcqw_6HLiynSRyBRq8Q8I.cache +0 -0
  261. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rVUuOepKlwYBcW95a5BPMUf0W_lzeH1jq3FdTHHWzL8.cache +0 -0
  262. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/rvdIHCY7lIGOKSBsZNfVrf62-O9gXhEluWxzo_piwjc.cache +0 -0
  263. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sA_Cob9Gm0ZSlaFBYuZk6yUOsNmYFuzRrjXle3kQIJo.cache +0 -0
  264. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sZNymcs3Q-Lt6Vsa0f5C6wWlpBIAWn2BZM6k5wy4HnI.cache +0 -0
  265. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/t1eRku1NlxaV3k6KImHnn9yzEajsqMPqpr-j2WFGBdg.cache +0 -0
  266. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/t4Odz1Gm6jkEVregYbhYNaHQiKcxJLSHEzYJqBxyXDE.cache +0 -0
  267. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tJAsaJoCYGMZZkbqOOjSrCnN7Gx20LhLmWLyoXNyHKo.cache +0 -0
  268. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tNxsTxMIN4iOWvnUpmlJES1H2RtoMmrm72xRp0YWMZU.cache +1 -0
  269. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tf31AnPyOGA8pFUJ1ouyWiv-gU5GHjGeB5ZoOHJV2i0.cache +0 -0
  270. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uRRVgfzphh7kZgNTXNWtQw09emKeBaKjaKmKGzIWKq8.cache +0 -0
  271. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/v9nCG9oFUs_t6zd9RM4k8yFr3ZVInSWNIyTiQNYVnKY.cache +0 -0
  272. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vIgDweLaO8RZ7Bb_kn6FH27KzrrovbH7LGpVzXm6hqE.cache +0 -0
  273. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wbwOR7yDYCwC524PprYcW-1jCVCIcn9-WCJ4yIVgVpE.cache +1 -0
  274. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/x3J5ayzKdVqOlohTBb02-5RhCfyQbKRChyMnRdCbljg.cache +0 -0
  275. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xnXhifUcjEurckiR0IubodiTXt5O3Z7ZIscDrm2fzD4.cache +0 -0
  276. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/y16xpRAYDGNfJHnK_U1VI-VN9KuWvy96VNw1M1IErPg.cache +0 -0
  277. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yReELgto6wInJVCE8yC2GCZMUz5_VTUk7cKdPozvDWs.cache +0 -0
  278. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yRsiD8Ci6bgmhXb7J3eLZBaBOIzlEOSO9OnqSGqNKlo.cache +0 -0
  279. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yXvlhOCYlYBsEKA8blbJ_mGLof0AjVDiDI27WvQqFBw.cache +0 -0
  280. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yZHdil9IpTuBTpWIun6FCwCzwZM3-Lbu19Ir6T6mU90.cache +0 -0
  281. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yhd1VNXiWO5Jk9Y6Wltn8IxLhYDR5Fbf2GckHxUq0IU.cache +1 -0
  282. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zCgIgSj9kQZbpMkBeZe4y9S_eDi59f5lGrmBWNLiagg.cache +1 -0
  283. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zTNJgNwfhhCXL61Y1gYJreHPMRlNW8VbiGNq_uLCV5A.cache +0 -0
  284. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zZY8dgs12n8J37qjirvPzIV_ectZ9-SIlVqjGOBI7_M.cache +0 -0
  285. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zgLK5xGXad_4F91cF148ciwJh9Aa-lhu-7eMQ7Vd_4g.cache +1 -0
  286. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zjsLQtvOlorcIFTK7jG2woRc7UKI5j-HvUNbtWUKzhE.cache +1 -0
  287. data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ztokPqL0D1peJ5b27rKPcz4NJyrDosKVnXE46aXPtao.cache +0 -0
  288. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/-KyXcipsBe5k9I7ZMlO0zXBQRwZIjNfyRroBpX5RqjU.cache +1 -0
  289. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/0Wbx6fs2Dz07YZWoLEGQlHX9h45JXQZFY3HMbGDkl2E.cache +0 -0
  290. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/0q9VUGHPTXUWKesG2VCZMA3zOq0Marnl8wFpQYOmn7A.cache +0 -0
  291. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/12gqEc6n_fgPmf6oEUqOMZu4f3fjmVbADi8WVeP8Gk0.cache +0 -0
  292. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/1HmM9fIwVtau8fxfCU8g6nB0W6VY1j5rVEuLsTFAL9E.cache +1 -0
  293. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/67KXtLes7R6hliuZV3R5XwoOirwcX-t6SPrOL6oS9Vg.cache +0 -0
  294. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/6DYQI2vNcBBVUKMtWmSRoCSOPq6D5WfE3AiJI2wNC08.cache +0 -0
  295. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/88HJXSSeUIIBryxIDyyRJzhRUTfbhja9uak2rB_aJQo.cache +0 -0
  296. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/AUVqVaLVEwYXbxXizLw5g3XYjWJNRauhui6dKzTD7mA.cache +0 -0
  297. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/DRTMSSAK_6QWo6cTynXu9Y_xA7MCmf6LnjRZ_6lwSGE.cache +1 -0
  298. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/EFDamikPbgjcx2REWl1hiAdhla3o6DTshaLHSxkGghw.cache +0 -0
  299. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/EndnHixTHiv6KljvWao1WJdCtGZkOtJHzI22tYVy_5c.cache +1 -0
  300. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/F4IsXzB5jiYjCiFBuY2GtTrliEdJi28OrKid6UREibU.cache +0 -0
  301. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/FgaXPkhoIKKyG97eFZzxWOo-ZF7f4dsYtB9ShiBfh20.cache +1 -0
  302. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/ISg7950hS1ykD9DCgXYE40fEC0PbilLae_jmMiAxO4Q.cache +0 -0
  303. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/J3LIe1PbgQTZH3h5jdvRRfsVa_qCBbFDSxkcWAgYAqM.cache +0 -0
  304. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/JPUEDALSyE9iJLsinlZN3WGqXvNOcDUDew2oAzqtjjc.cache +0 -0
  305. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/Lo3m8LYhdtrfh5sZ57XSZD2lR-KfYXYCWw7CsjK_t8c.cache +0 -0
  306. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/M1VwSYMowXZwRdPe3VQecA0g7xaE7rvvnURj6qvjPtY.cache +1 -0
  307. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/NjMaQMGbtrwQIbRELROs9MRotTd4TPOcPTTb_hLbyt4.cache +1 -0
  308. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/O1lPaHW_0Tqs12Eo3psEuGfAdUpqNuDN4_D6imMGBH8.cache +1 -0
  309. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/OsRKvmlO3y8SMQ1--YAxVFL7gFgSA5NYgYGPIClUXZ0.cache +0 -0
  310. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/QB9jJXksYaSPEvF2Xx8B7r421M85Hqy0mgS8O9BKqRM.cache +1 -0
  311. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/RMaEEIez_qfljUECNawKuQ5Uo5JQr-3DxHMSPCfSOOg.cache +1 -0
  312. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/WXyAF_ycweeIog5fkp5HAG5bvr8wk8mcYvMsYR9IEXo.cache +0 -0
  313. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/XVv_IpbnXk5SPKD8zdTnvycJH82vRXnxFIhsGKq78o0.cache +0 -0
  314. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/YRq0jvYfsn4-lfPWL_9avPMG9SCQRXLgcHTw_nXQM7E.cache +1 -0
  315. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/_dZxfFvLlYsKelpJ2KRRP7G3n0tuozqHNBcFJvTjBUg.cache +1 -0
  316. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/d5Bve6Ml3RELp9gnc4BQfueyVgS9OuLRYmdzyOJa97E.cache +0 -0
  317. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/gBn2Ielr4wViPRhXAKVFlcB8qG0HeDvCL9aYqutFTRo.cache +1 -0
  318. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/gDTow5K5SjV_oLkQ914xBNiYDX6zlsGgx_b1v2jYbAA.cache +1 -0
  319. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/jb7koPdSTQOhd7UNCbeexLR-fbc33Izia6pFD_UHEEw.cache +0 -0
  320. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/lUKUJi9hA5DfP2RSqHxM0Rd7LFVtKpN1ISjZJlzsenQ.cache +1 -0
  321. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/mPB7aM5jW173-zbrEMfhr-6OhBBCqJX9rPVFAKXgIrw.cache +0 -0
  322. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/nnXQkwE8jar-_ihrVAVgDI7QRUAMHhPKE9fAHMBE7Is.cache +0 -0
  323. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/oN1NnELZutun_vu_8wVDKQ8LrZ2mwbCAqa82JR1_3Uk.cache +1 -0
  324. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/u-rLEASIPlRnzRLtqVWGGpZmI2fso5WH20vhZi0Djbg.cache +0 -0
  325. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/vYm95EcBtNQTPqIoIX-ZT2Z3qahcGBCS2X5UG3cQeoM.cache +1 -0
  326. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/wzFvxngySStUa2Ev3CNUwdRgClajf8SX6BwGpemCvrQ.cache +1 -0
  327. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/zNkz-g2wwEygzG2CcRrr9xekQDs9HjGtjnTvTWoorPU.cache +0 -0
  328. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/zTNJgNwfhhCXL61Y1gYJreHPMRlNW8VbiGNq_uLCV5A.cache +0 -0
  329. data/test/dummy/tmp/cache/assets/test/sprockets/v3.0/zY3vTZk4cPocu1MirfvLh20eOHtrjS-ilWRUcovJjH0.cache +0 -0
  330. data/test/fixtures/pages_cms/accounts.yml +6 -0
  331. data/test/fixtures/pages_cms/contact_fields.yml +11 -0
  332. data/test/fixtures/pages_cms/contacts.yml +4 -0
  333. data/test/functional/pages_cms/admin/accounts_controller_test.rb +16 -0
  334. data/test/functional/pages_cms/admin/contacts_controller_test.rb +16 -0
  335. data/test/functional/pages_cms/articles_controller_test.rb +0 -5
  336. data/test/functional/pages_cms/contacts_controller_test.rb +21 -0
  337. data/test/mailers/pages_cms/contact_mailer_test.rb +14 -0
  338. data/test/mailers/previews/pages_cms/contact_mailer_preview.rb +11 -0
  339. data/test/models/pages_cms/account_test.rb +11 -0
  340. data/test/models/pages_cms/article_test.rb +13 -0
  341. data/test/models/pages_cms/contact_field_test.rb +9 -0
  342. data/test/models/pages_cms/contact_test.rb +9 -0
  343. metadata +591 -2
  344. data/app/views/pages_cms/articles/index.html.erb +0 -25
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a1ce4d726b10be579824434e613adf69600e1ea3
4
- data.tar.gz: 6c740d37e35ecfbee698b271edca869bc41f6377
3
+ metadata.gz: 8aa19f12b78afe65d3b7ff8f12f9c4594ba1e427
4
+ data.tar.gz: b242191a957d83594fde8f779faebf756c25b572
5
5
  SHA512:
6
- metadata.gz: 02c3e1733072ae9b4d55a491008ef7a8edcb5375f253bfebdde4a13a0fed094e7c66cb11219115a124a505f2df82298462d9e9aabcf5c8f73bcd7583c4500be6
7
- data.tar.gz: 0f807f3ff9950c49826bbc2f942ae273d5af6872b6b0e3ed2c799e645197c88437aa6dddeaee6fd2494aaf458c717da8317882a9d54b4e88376bd24167715eeb
6
+ metadata.gz: a17e7ab969ba94a6ffac9ffebaf6f612be14323bb3c09c6393a921d6da64e3648aa237158a31a69b83aa03702e1f0b186fe68743dab9b0e4eec94f5b7af19989
7
+ data.tar.gz: 96cb8aa6417d20209c6671f3522b1f95c78895f1b6253bffc80a21b07d3eb847930f6a10d86fea40bd2dffda62d01314655812b86ce01c6c6ba5d380d01a6432
data/README.md CHANGED
@@ -12,6 +12,16 @@ Pages CMS uses nested forms and draggable items to allow the user to build a sit
12
12
  - Easily customized.
13
13
  - Lightweight and easy to understand: Built with simple rails techniques everyone can understand.
14
14
 
15
+ ## How it Works
16
+ The page builder is the central feature of PagesCMS. In essence, it allows the user to create divisions on a page, and then add various sorts of content into the div. The content types right now:
17
+ - Text Box
18
+ - Thumbnail
19
+ - Image Box
20
+ - Contact Form
21
+ - Blog Feed
22
+
23
+ These content types can be interpreted by a designer to create a unique look and feel for every page. In addition, there is a sidebar that is fully customizable. Content editing is done using the great [wysihtml5 editor](https://github.com/Voog/wysihtml).
24
+
15
25
  ## Installation
16
26
 
17
27
  1. Add: `gem 'pages_cms', '~> 1.0.3'` to your `Gemfile`
@@ -20,24 +30,29 @@ Pages CMS uses nested forms and draggable items to allow the user to build a sit
20
30
 
21
31
  This has built everything that PagesCMS needs to work, but to get hacking with some default styling and layout included, follow the next steps:
22
32
 
23
- 1. Run: `rails generate pages_cms:views`
24
- 2. Add: `gem "bootstrap-sass"` to your `Gemfile`
25
- 3. Add: `//= require bootstrap` to your `application.js`
26
- 4. Add: `*= require pages_cms/pages_cms` to your `application.css`
27
- 5. Run: `$ bundle install`
33
+ The base theme is built on bootstrap:
34
+ 1. Add: `gem "bootstrap-sass"` to your `Gemfile`
35
+ 2. Add: `//= require bootstrap` to your `application.js`
36
+ 3. Run: `$ bundle install`
37
+
38
+ To get hacking the views and stylesheets: `$ rails generate pages_cms:views`
28
39
 
29
40
 
30
41
  You should now be able to go to `/admin/pages` and start building pages!
31
42
 
32
- Common mistake: A page with the title: 'Home' must exist before you will be able to see the home page. If you get a redirect loop on the browser because you deleted the database or something just fire up the console and put: `> PagesCms::Page.create(title: 'Home')`
43
+ #### Gotcha's
44
+ A page with the title: 'Home' must exist before you will be able to see the home page. If you get a redirect loop on the browser because you deleted the database or something just fire up the console and put: `> PagesCms::Page.create(title: 'Home')`
45
+ For the contact form to work, and to have a unique site name, you must have a global account. Follow the link for 'Admin Account' in the admin panel.
46
+
33
47
 
34
- #### The generator has added three methods to your App:
48
+ #### The generator has added some methods to your App:
35
49
 
36
50
  | Method | Usage |
37
51
  | ------------------------- | ------------------------------------------------------- |
38
52
  | `logged_in_admin` | Authorizes controllers in the `PagesCms` engine |
39
53
  | `current_user_is_admin?` | Verifies that the current user is an admin in the views |
40
54
  | `slugged_path` | Creates a slug of the path for user generated pages |
55
+ | `blog_path` | Gives the path to your blog, assumes its named blog. |
41
56
 
42
57
  Make sure to fill these methods out to secure your application.
43
58
 
@@ -0,0 +1,2 @@
1
+ // Place all the behaviors and hooks related to the matching controller here.
2
+ // All this logic will automatically be available in application.js.
@@ -0,0 +1,2 @@
1
+ // Place all the behaviors and hooks related to the matching controller here.
2
+ // All this logic will automatically be available in application.js.
@@ -0,0 +1,2 @@
1
+ // Place all the behaviors and hooks related to the matching controller here.
2
+ // All this logic will automatically be available in application.js.
@@ -0,0 +1,4 @@
1
+ /*
2
+ Place all the styles related to the matching controller here.
3
+ They will automatically be included in application.css.
4
+ */
@@ -23,4 +23,9 @@
23
23
  .image-post { overflow: hidden; }
24
24
  .carousel { width: 100% !important;}
25
25
  .full { width: 100% !important; padding: 0;}
26
+ .container-contain { width: 100%; overflow: hidden;}
27
+ .post { margin-top: 4em !important; }
28
+ .contact-mes { max-width: 600px; max-height: 80px !important; overflow: scroll !important }
29
+ .image-box { position: relative; width: 50%; float: left !important; overflow: hidden; transition: all 0.3s; h3 { position: absolute; top: 50%; text-align: center; width: 100%; } }
30
+ .image-box:hover { opacity: 0.5; }
26
31
  //.form-control { border: none !important; outline: none !important; box-shadow: none !important }
@@ -0,0 +1,42 @@
1
+ require_dependency "pages_cms/application_controller"
2
+
3
+ module PagesCms
4
+ class Admin::AccountsController < ApplicationController
5
+
6
+ def new
7
+ @account = Account.new
8
+ end
9
+
10
+ def create
11
+ @account = Account.new(account_params)
12
+ if @account.save
13
+ flash[:success] = 'Account created'
14
+ redirect_to root_path
15
+ else
16
+ flash[:danger] = "Failed to create: #{@account.errors.full_messages.to_sentence}"
17
+ redirect_to '/admin/account/'
18
+ end
19
+ end
20
+
21
+ def edit
22
+ @account = Account.find(params[:id])
23
+ end
24
+
25
+ def update
26
+ @account = Account.find(params[:id])
27
+ if @account.update(account_params)
28
+ flash[:success] = 'Account updated'
29
+ redirect_to root_path
30
+ else
31
+ flash[:danger] = "Failed to update: #{@account.errors.full_messages.to_sentence}"
32
+ redirect_to '/admin/account/'
33
+ end
34
+ end
35
+
36
+ private
37
+ def account_params
38
+ params.require(:account).permit(:name, :email, :site_name)
39
+ end
40
+
41
+ end
42
+ end
@@ -0,0 +1,17 @@
1
+ require_dependency "pages_cms/application_controller"
2
+
3
+ module PagesCms
4
+ class Admin::ContactsController < ApplicationController
5
+
6
+ def index
7
+ @contacts = Contact.all
8
+ end
9
+
10
+ def destroy
11
+ Contact.find(params[:id]).destroy
12
+ flash[:success] = 'Contact deleted'
13
+ redirect_to admin_contacts_path
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,24 @@
1
+ require_dependency "pages_cms/application_controller"
2
+
3
+ module PagesCms
4
+ class ContactsController < ApplicationController
5
+
6
+ def create
7
+ contact = Contact.new(contact_params)
8
+ if contact.save
9
+ flash[:success] = 'Successfully contacted us. We will respond shortly!'
10
+ ContactMailer.new_contact(contact).deliver_now
11
+ redirect_to :back
12
+ else
13
+ flash[:danger] = "There was a problem: #{contact.errors.full_messages.to_sentence}"
14
+ redirect_to :back
15
+ end
16
+ end
17
+
18
+ private
19
+ def contact_params
20
+ params.require(:contact).permit(:name, :email, :message)
21
+ end
22
+
23
+ end
24
+ end
@@ -41,6 +41,10 @@ module PagesCms
41
41
  end
42
42
  end
43
43
 
44
+ def filter_params(params)
45
+ params.slice(:search)
46
+ end
47
+
44
48
  end
45
49
 
46
50
  end
@@ -0,0 +1,4 @@
1
+ module PagesCms
2
+ module Admin::AccountsHelper
3
+ end
4
+ end
@@ -0,0 +1,4 @@
1
+ module PagesCms
2
+ module Admin::ContactsHelper
3
+ end
4
+ end
@@ -1,5 +1,14 @@
1
1
  module PagesCms
2
2
  module ApplicationHelper
3
3
 
4
+ def account
5
+ account = Account.first
6
+ if account
7
+ account
8
+ else
9
+ false
10
+ end
11
+ end
12
+
4
13
  end
5
14
  end
@@ -0,0 +1,4 @@
1
+ module PagesCms
2
+ module ContactsHelper
3
+ end
4
+ end
@@ -0,0 +1,7 @@
1
+ class ApplicationMailer < ActionMailer::Base
2
+ def account
3
+ PagesCms::Account.first
4
+ end
5
+
6
+ default from: "noreply@#{ account ? account.site_name : 'your_site' }.com"
7
+ end
@@ -0,0 +1,15 @@
1
+ module PagesCms
2
+ class ContactMailer < ApplicationMailer
3
+
4
+ # Subject can be set in your I18n file at config/locales/en.yml
5
+ # with the following lookup:
6
+ #
7
+ # en.contact_mailer.new_contact.subject
8
+ #
9
+ def new_contact(contact_result)
10
+ @contact = contact_result
11
+ @account = account
12
+ mail to: @account.email
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,12 @@
1
+ module PagesCms
2
+ class Account < ActiveRecord::Base
3
+ validate :only_one_account
4
+
5
+ private
6
+ def only_one_account
7
+ if Account.count >= 1
8
+ errors.add(:base, 'Only one account allowed!')
9
+ end
10
+ end
11
+ end
12
+ end
@@ -9,13 +9,19 @@ module PagesCms
9
9
 
10
10
 
11
11
  def tags=(val)
12
- write_attribute(:tags, val.split(',') )
12
+ write_attribute(:tags, val.strip.gsub(/\s+/, '_').split(',') )
13
13
  end
14
14
 
15
15
  def self.published
16
16
  self.where('archived != true AND draft != true')
17
17
  end
18
18
 
19
+ def self.all_tags
20
+ self.each do |article|
21
+
22
+ end
23
+ end
24
+
19
25
  def article_status
20
26
  if self.draft && !self.archived
21
27
  'Draft'
@@ -0,0 +1,8 @@
1
+ module PagesCms
2
+ class Contact < ActiveRecord::Base
3
+ VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/i
4
+ validates :email, presence: true, format: { with: VALID_EMAIL_REGEX }
5
+ validates :name, presence: true
6
+ validates :message, presence: true
7
+ end
8
+ end
@@ -0,0 +1,5 @@
1
+ module PagesCms
2
+ class ContactField < ActiveRecord::Base
3
+ belongs_to :page_block
4
+ end
5
+ end
@@ -3,15 +3,17 @@ module PagesCms
3
3
  belongs_to :page
4
4
  belongs_to :image #todo why is this here?
5
5
 
6
- has_many :text_boxes, dependent: :destroy
7
- has_many :thumbnails, dependent: :destroy
8
- has_many :blog_feeds, dependent: :destroy
9
- has_many :image_boxes, dependent: :destroy
6
+ has_many :text_boxes, dependent: :destroy
7
+ has_many :thumbnails, dependent: :destroy
8
+ has_many :blog_feeds, dependent: :destroy
9
+ has_many :image_boxes, dependent: :destroy
10
+ has_many :contact_fields, dependent: :destroy
10
11
 
11
- accepts_nested_attributes_for :text_boxes, reject_if: :all_blank, allow_destroy: true
12
- accepts_nested_attributes_for :thumbnails, reject_if: :all_blank, allow_destroy: true
13
- accepts_nested_attributes_for :blog_feeds, reject_if: :all_blank, allow_destroy: true
14
- accepts_nested_attributes_for :image_boxes, reject_if: :all_blank, allow_destroy: true
12
+ accepts_nested_attributes_for :text_boxes, reject_if: :all_blank, allow_destroy: true
13
+ accepts_nested_attributes_for :thumbnails, reject_if: :all_blank, allow_destroy: true
14
+ accepts_nested_attributes_for :blog_feeds, reject_if: :all_blank, allow_destroy: true
15
+ accepts_nested_attributes_for :image_boxes, reject_if: :all_blank, allow_destroy: true
16
+ accepts_nested_attributes_for :contact_fields, reject_if: :all_blank, allow_destroy: true
15
17
 
16
18
  end
17
19
  end
@@ -0,0 +1,14 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>Blog</title>
5
+ <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6
+ <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7
+ <%= csrf_meta_tags %>
8
+ </head>
9
+ <body>
10
+
11
+ <%= yield %>
12
+
13
+ </body>
14
+ </html>
@@ -28,7 +28,6 @@
28
28
  <li><%= link_to page.title, slugged_path(page) %></li>
29
29
  <% end %>
30
30
  <% end %>
31
- <li><%= link_to 'Blog', articles_path %></li>
32
31
  </ul>
33
32
  </div>
34
33
 
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title>Coldogms</title>
4
+ <title><%= account ? account.site_name : 'Page Title' %></title>
5
5
  <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6
6
  <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7
7
  <%= csrf_meta_tags %>
@@ -23,6 +23,8 @@
23
23
  <li><%= link_to 'Admin Pages', admin_pages_path %></li>
24
24
  <li><%= link_to 'Admin Images', admin_images_path %></li>
25
25
  <li><%= link_to 'Admin Articles', admin_articles_path %></li>
26
+ <li><%= link_to 'Admin Account', account ? edit_admin_account_path(account) : new_admin_account_path %></li>
27
+ <li><%= link_to 'Admin Contacts', admin_contacts_path %></li>
26
28
  </ul>
27
29
  </footer>
28
30
  <% end %>
@@ -0,0 +1,7 @@
1
+ %div.content
2
+ = form_for account, url: url, method: method do |f|
3
+ = f.text_field :name, placeholder: 'account name', class: 'form-control'
4
+ = f.text_field :email, placeholder: 'account email', class: 'form-control'
5
+ = f.text_field :site_name, placeholder: 'site name', class: 'form-control'
6
+ <br />
7
+ = f.submit 'Submit', class: 'btn btn-primary center-block'
@@ -0,0 +1,5 @@
1
+ .content
2
+ %h1
3
+ Edit My Account
4
+
5
+ = render partial: 'form', locals: { account: @account, url: admin_account_path(@account), method: :patch }
@@ -0,0 +1,5 @@
1
+ .content
2
+ %h1
3
+ Create My Account
4
+
5
+ = render partial: 'form', locals: { account: @account, url: admin_accounts_path, method: :post }
@@ -1 +1,2 @@
1
- = render partial: '/pages_cms/admin/articles/form', locals: { article: @article, method: :patch, url: admin_article_path(@article) }
1
+ %div.container-fluid
2
+ = render partial: '/pages_cms/admin/articles/form', locals: { article: @article, method: :patch, url: admin_article_path(@article) }
@@ -1,42 +1,41 @@
1
- %h1 Articles
1
+ %div.container-fluid
2
+ %h1 Articles
2
3
 
3
- = link_to 'New Article', new_admin_article_path, class: 'btn btn-default'
4
+ = link_to 'New Article', new_admin_article_path, class: 'btn btn-default'
4
5
 
5
- <hr>
6
+ <hr>
6
7
 
7
- = form_tag '#', method: :get, class: 'inline-form' do
8
- = text_field_tag :search, params[:search], class: 'form-control inline-form', placeholder: 'search'
9
- = select_tag(:status, options_for_select(%w"Archived Published Drafts", params[:status]), include_blank: 'Status', class: 'form-control inline-form')
10
- <button class="btn btn-default btn-sm inline-form" type="submit">Search</button>
8
+ = form_tag '#', method: :get do
9
+ = text_field_tag :search, params[:search], class: 'form-control inline-form', placeholder: 'search'
10
+ = select_tag(:status, options_for_select(%w"Archived Published Drafts", params[:status]), include_blank: 'Status', class: 'form-control inline-form')
11
+ <button class="btn btn-default btn-sm inline-form" type="submit">Search</button>
11
12
 
12
- <hr>
13
-
14
- %table.table
15
- %thead
16
- %tr
17
- %th
18
- Article
19
- %th
20
- Tags
21
- %th
22
- Created At
23
- %th
24
- Status
25
- %th
26
- Actions
27
- - @articles.each do |article|
28
- %tr
29
- %td
30
- = link_to article.title, article_path(article)
31
- %td
32
- - article.tags.each do |tag|
33
- = link_to tag, articles_path(search: tag)
34
- %td
35
- = article.created_at.strftime("%B %d %Y")
36
- %td
37
- = article.article_status
38
- %td
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')
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')
41
- = link_to 'Delete', admin_article_path(article), method: :delete, class: 'btn btn-xs btn-default'
42
- = link_to 'Edit', edit_admin_article_path(article), class: 'btn btn-xs btn-default'
13
+ %table.table
14
+ %thead
15
+ %tr
16
+ %th
17
+ Article
18
+ %th
19
+ Tags
20
+ %th
21
+ Created At
22
+ %th
23
+ Status
24
+ %th
25
+ Actions
26
+ - @articles.each do |article|
27
+ %tr
28
+ %td
29
+ = link_to article.title, article_path(article)
30
+ %td
31
+ - article.tags.each do |tag|
32
+ = link_to tag, blog_path(tag)
33
+ %td
34
+ = article.created_at.strftime("%B %d %Y")
35
+ %td
36
+ = article.article_status
37
+ %td
38
+ = 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')
39
+ = 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')
40
+ = link_to 'Delete', admin_article_path(article), method: :delete, class: 'btn btn-xs btn-default'
41
+ = link_to 'Edit', edit_admin_article_path(article), class: 'btn btn-xs btn-default'
@@ -1,3 +1,2 @@
1
- %h1 New Article
2
-
3
- = render partial: '/pages_cms/admin/articles/form', locals: { article: @article, method: :post, url: admin_articles_path }
1
+ %div.container-fluid
2
+ = render partial: '/pages_cms/admin/articles/form', locals: { article: @article, method: :post, url: admin_articles_path }
@@ -0,0 +1,37 @@
1
+ %div.container-fluid
2
+ %h1 Contacts
3
+
4
+ %div.content#viewer
5
+
6
+ %table.table
7
+ %thead
8
+ %tr
9
+ %th
10
+ Name
11
+ %th
12
+ Email
13
+ %th
14
+ Created At
15
+ %th
16
+ Message
17
+ %th
18
+ Actions
19
+ - @contacts.each do |contact|
20
+ %tr
21
+ %td
22
+ = contact.name
23
+ %td
24
+ = link_to contact.email, "mailto:#{contact.email}"
25
+ %td
26
+ = contact.created_at.strftime("%B %d %Y")
27
+ %td
28
+ %div.contact-mes{ id: "#{contact.id}" }
29
+ = contact.message
30
+ %td
31
+ %button.btn.btn-xs.btn-default{ onclick: "setViewer('#{contact.id}')" } View
32
+ = link_to 'Delete', admin_contact_path(contact), method: :delete, class: 'btn btn-xs btn-default'
33
+
34
+ :javascript
35
+ function setViewer(id) {
36
+ document.getElementById('viewer').innerHTML = document.getElementById(id).innerHTML
37
+ };
@@ -1,27 +1,29 @@
1
- %h1 Images
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'
1
+ %div.container-fluid
2
+ %h1 Images
3
+ %div.row
4
+ %div.col-md-6
5
+ %h4 Upload Image
6
+ = form_for @image, url: admin_images_path, method: :post, multipart: true do |f|
7
+ = f.text_field :name, placeholder: 'give your image a title', class: 'form-control'
8
+ = f.file_field :file, class: 'form-control'
9
+ <br />
10
+ = f.submit 'Upload', class: 'btn btn-primary'
11
+ %div.col-md-6
12
+ %h4 Image Url
13
+ = form_for @image, url: admin_images_path, method: :post do |f|
14
+ = f.hidden_field :is_url, value: true
15
+ = f.text_field :name, placeholder: 'give your image a title', class: 'form-control'
16
+ = f.text_field :file, placeholder: 'give me an image url', class: 'form-control'
17
+ <br />
18
+ = f.submit 'Insert', class: 'btn btn-primary'
18
19
 
19
- <hr>
20
+ <hr>
20
21
 
21
- %div.row
22
- - @images.each do |image|
23
- %div.col-md-3.col-sm-4.col-xs-6.thumbnail
24
- = image_tag image.file
25
- %p
26
- = link_to image.name, image.file
27
- = link_to 'delete', admin_image_path(image), method: :delete, class: 'btn btn-xs btn-default'
22
+ %div.row
23
+ - @images.each do |image|
24
+ %div.col-md-3.col-sm-4.col-xs-6
25
+ .thumbnail
26
+ = image_tag image.file
27
+ %p
28
+ = link_to image.name, image.file
29
+ = link_to 'delete', admin_image_path(image), method: :delete, class: 'btn btn-xs btn-default'
@@ -0,0 +1,8 @@
1
+ .row
2
+ .nested-fields
3
+ %hr
4
+ %h5
5
+ Contact Us
6
+ = link_to_remove_association 'remove', f
7
+ %p What would you like to ask the person to say?
8
+ = render 'editor', f: f
@@ -4,6 +4,8 @@
4
4
  Image Box
5
5
  = link_to_remove_association 'remove', f
6
6
  = f.select(:image_id, PagesCms::Image.all.collect {|p| [p.name, p.id] }, {include_blank: 'Choose a picture'}, class: 'form-control')
7
- -#= f.select(:link, PagesCms::Page.all.collect {|p| [p.title, p.slug] }, {include_blank: 'Choose a link'}, class: 'form-control')
7
+ = f.select(:link, PagesCms::Page.all.collect {|p| [p.title, p.slug] } << f.object.link, {include_blank: 'Choose a link'}, class: 'form-control select2')
8
8
  = f.text_field :heading, placeholder: 'overlayed header', class: 'form-control'
9
- = f.text_area :content, placeholder: 'content', class: 'form-control', rows: 5
9
+ = f.text_area :content, placeholder: 'content', class: 'form-control', rows: 5
10
+
11
+ = render 'select_js'
@@ -9,6 +9,9 @@
9
9
  %div
10
10
  = f.fields_for :blog_feeds do |text_box|
11
11
  = render 'blog_feed_fields', f: text_box
12
+ %div
13
+ = f.fields_for :contact_fields do |contact|
14
+ = render 'contact_field_fields', f: contact
12
15
  %div.row
13
16
  = f.fields_for :image_boxes do |text_box|
14
17
  = render 'image_box_fields', f: text_box
@@ -20,5 +23,6 @@
20
23
  = link_to_add_association 'Add Thumbnail', f, :thumbnails, class: 'btn btn-default btn-xs'
21
24
  = link_to_add_association 'Add Blog Feed', f, :blog_feeds, class: 'btn btn-default btn-xs'
22
25
  = link_to_add_association 'Add Image Box', f, :image_boxes, class: 'btn btn-default btn-xs'
26
+ = link_to_add_association 'Add Contact Box', f, :contact_fields, class: 'btn btn-default btn-xs'
23
27
  %div.right
24
28
  = link_to_remove_association 'Remove Block', f
@@ -0,0 +1,12 @@
1
+ <script>
2
+ $('.select2').select2({
3
+ tags: true,
4
+ createTag: function (params) {
5
+ return {
6
+ id: params.term,
7
+ text: params.term,
8
+ newOption: true
9
+ }
10
+ }
11
+ });
12
+ </script>