pages_cms 1.0.8 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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>