push_type_admin 0.1.0.beta3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (273) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.md +20 -0
  3. data/README.md +3 -0
  4. data/app/assets/images/push_type/icon-file-audio.png +0 -0
  5. data/app/assets/images/push_type/icon-file-document.png +0 -0
  6. data/app/assets/images/push_type/icon-file-video.png +0 -0
  7. data/app/assets/images/push_type/pushtype-logo.png +0 -0
  8. data/app/assets/javascripts/push_type/admin.js.coffee +74 -0
  9. data/app/assets/javascripts/push_type/asset_pipeline.js.coffee.erb +17 -0
  10. data/app/assets/javascripts/push_type/assets.js.coffee +61 -0
  11. data/app/assets/javascripts/push_type/nodes.js.coffee +60 -0
  12. data/app/assets/stylesheets/push_type/admin.scss +515 -0
  13. data/app/assets/stylesheets/push_type/foundation_and_overrides.scss +1443 -0
  14. data/app/assets/stylesheets/push_type/froala_theme.scss +373 -0
  15. data/app/controllers/push_type/admin_controller.rb +14 -0
  16. data/app/controllers/push_type/assets_controller.rb +68 -0
  17. data/app/controllers/push_type/nodes_controller.rb +93 -0
  18. data/app/controllers/push_type/users_controller.rb +73 -0
  19. data/app/helpers/push_type/admin_helper.rb +15 -0
  20. data/app/helpers/push_type/assets_helper.rb +15 -0
  21. data/app/helpers/push_type/users_helper.rb +13 -0
  22. data/app/views/kaminari/_first_page.html.haml +2 -0
  23. data/app/views/kaminari/_gap.html.haml +2 -0
  24. data/app/views/kaminari/_last_page.html.haml +2 -0
  25. data/app/views/kaminari/_next_page.html.haml +2 -0
  26. data/app/views/kaminari/_page.html.haml +2 -0
  27. data/app/views/kaminari/_paginator.html.haml +11 -0
  28. data/app/views/kaminari/_prev_page.html.haml +2 -0
  29. data/app/views/layouts/push_type/admin.html.erb +55 -0
  30. data/app/views/push_type/assets/_form.html.haml +50 -0
  31. data/app/views/push_type/assets/edit.html.haml +4 -0
  32. data/app/views/push_type/assets/index.html.haml +34 -0
  33. data/app/views/push_type/assets/new.html.haml +4 -0
  34. data/app/views/push_type/fields/_default.html.haml +2 -0
  35. data/app/views/push_type/nodes/_form_fields.html.haml +61 -0
  36. data/app/views/push_type/nodes/_meta_table.html.haml +8 -0
  37. data/app/views/push_type/nodes/_new_node_button.html.haml +17 -0
  38. data/app/views/push_type/nodes/edit.html.haml +7 -0
  39. data/app/views/push_type/nodes/index.html.haml +56 -0
  40. data/app/views/push_type/nodes/new.html.haml +11 -0
  41. data/app/views/push_type/users/_form.html.haml +30 -0
  42. data/app/views/push_type/users/_meta_table.html.haml +0 -0
  43. data/app/views/push_type/users/_user.html.haml +7 -0
  44. data/app/views/push_type/users/edit.html.haml +4 -0
  45. data/app/views/push_type/users/index.html.haml +24 -0
  46. data/app/views/push_type/users/new.html.haml +4 -0
  47. data/config/initializers/inline_error_messages.rb +7 -0
  48. data/config/initializers/kaminari_config.rb +10 -0
  49. data/config/routes.rb +16 -0
  50. data/lib/push_type/admin/engine.rb +16 -0
  51. data/lib/push_type/admin.rb +27 -0
  52. data/lib/push_type/breadcrumbs/foundation.rb +11 -0
  53. data/lib/push_type/rails/form_builder.rb +13 -0
  54. data/lib/push_type_admin.rb +1 -0
  55. data/lib/tasks/push_type_tasks.rake +4 -0
  56. data/test/controllers/push_type/assets_controller_test.rb +67 -0
  57. data/test/controllers/push_type/nodes_controller_test.rb +101 -0
  58. data/test/controllers/push_type/users_controller_test.rb +72 -0
  59. data/test/dummy/README.rdoc +28 -0
  60. data/test/dummy/Rakefile +6 -0
  61. data/test/dummy/app/assets/javascripts/application.js +16 -0
  62. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  63. data/test/dummy/app/controllers/application_controller.rb +5 -0
  64. data/test/dummy/app/helpers/application_helper.rb +2 -0
  65. data/test/dummy/app/models/page.rb +10 -0
  66. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  67. data/test/dummy/app/views/nodes/page.html.erb +3 -0
  68. data/test/dummy/bin/bundle +3 -0
  69. data/test/dummy/bin/rails +4 -0
  70. data/test/dummy/bin/rake +4 -0
  71. data/test/dummy/config/application.rb +14 -0
  72. data/test/dummy/config/boot.rb +4 -0
  73. data/test/dummy/config/database.yml +85 -0
  74. data/test/dummy/config/environment.rb +5 -0
  75. data/test/dummy/config/environments/development.rb +37 -0
  76. data/test/dummy/config/environments/production.rb +78 -0
  77. data/test/dummy/config/environments/test.rb +39 -0
  78. data/test/dummy/config/initializers/assets.rb +8 -0
  79. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  80. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  81. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  82. data/test/dummy/config/initializers/inflections.rb +16 -0
  83. data/test/dummy/config/initializers/mime_types.rb +4 -0
  84. data/test/dummy/config/initializers/push_type.rb +5 -0
  85. data/test/dummy/config/initializers/session_store.rb +3 -0
  86. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  87. data/test/dummy/config/locales/en.yml +23 -0
  88. data/test/dummy/config/routes.rb +59 -0
  89. data/test/dummy/config/secrets.yml +22 -0
  90. data/test/dummy/config.ru +4 -0
  91. data/test/dummy/db/migrate/20141205213506_create_push_type_users.push_type.rb +13 -0
  92. data/test/dummy/db/migrate/20141205213507_create_push_type_nodes.push_type.rb +25 -0
  93. data/test/dummy/db/migrate/20141205213508_create_push_type_node_hierarchies.push_type.rb +17 -0
  94. data/test/dummy/db/migrate/20141205213509_create_push_type_assets.push_type.rb +19 -0
  95. data/test/dummy/db/schema.rb +67 -0
  96. data/test/dummy/db/seeds.rb +7 -0
  97. data/test/dummy/log/test.log +2322 -0
  98. data/test/dummy/public/404.html +67 -0
  99. data/test/dummy/public/422.html +67 -0
  100. data/test/dummy/public/500.html +66 -0
  101. data/test/dummy/public/favicon.ico +0 -0
  102. data/test/dummy/public/robots.txt +5 -0
  103. data/test/dummy/tmp/cache/assets/test/sass/53cc07db53069364c4116d03ae9493d85566d502/_functions.scssc +0 -0
  104. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_accordion.scssc +0 -0
  105. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_alert-boxes.scssc +0 -0
  106. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_block-grid.scssc +0 -0
  107. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_breadcrumbs.scssc +0 -0
  108. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_button-groups.scssc +0 -0
  109. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_buttons.scssc +0 -0
  110. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_clearing.scssc +0 -0
  111. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_dropdown-buttons.scssc +0 -0
  112. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_dropdown.scssc +0 -0
  113. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_flex-video.scssc +0 -0
  114. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_forms.scssc +0 -0
  115. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_global.scssc +0 -0
  116. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_grid.scssc +0 -0
  117. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_icon-bar.scssc +0 -0
  118. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_inline-lists.scssc +0 -0
  119. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_joyride.scssc +0 -0
  120. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_keystrokes.scssc +0 -0
  121. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_labels.scssc +0 -0
  122. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_magellan.scssc +0 -0
  123. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_offcanvas.scssc +0 -0
  124. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_orbit.scssc +0 -0
  125. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_pagination.scssc +0 -0
  126. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_panels.scssc +0 -0
  127. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_pricing-tables.scssc +0 -0
  128. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_progress-bars.scssc +0 -0
  129. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_range-slider.scssc +0 -0
  130. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_reveal.scssc +0 -0
  131. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_side-nav.scssc +0 -0
  132. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_split-buttons.scssc +0 -0
  133. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_sub-nav.scssc +0 -0
  134. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_switches.scssc +0 -0
  135. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_tables.scssc +0 -0
  136. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_tabs.scssc +0 -0
  137. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_thumbs.scssc +0 -0
  138. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_tooltips.scssc +0 -0
  139. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_top-bar.scssc +0 -0
  140. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_type.scssc +0 -0
  141. data/test/dummy/tmp/cache/assets/test/sass/669496e8548de1a6ba1641898c1b30c67ab8fac2/_visibility.scssc +0 -0
  142. data/test/dummy/tmp/cache/assets/test/sass/68968d876746de0885a03aacd18ec354e154ffed/foundation-icons.scssc +0 -0
  143. data/test/dummy/tmp/cache/assets/test/sass/805c0b657f4b79d174c13bc42a4759a57d5a5484/foundation.scssc +0 -0
  144. data/test/dummy/tmp/cache/assets/test/sass/806626419a476c98acb0fcf38feea6623fb99ce0/admin.scssc +0 -0
  145. data/test/dummy/tmp/cache/assets/test/sass/806626419a476c98acb0fcf38feea6623fb99ce0/foundation_and_overrides.scssc +0 -0
  146. data/test/dummy/tmp/cache/assets/test/sass/806626419a476c98acb0fcf38feea6623fb99ce0/froala_theme.scssc +0 -0
  147. data/test/dummy/tmp/cache/assets/test/sprockets/00ae61e049df7e5570b8c57835868cfe +0 -0
  148. data/test/dummy/tmp/cache/assets/test/sprockets/042e6dec69dbf88f86f5e8c360b52bcb +0 -0
  149. data/test/dummy/tmp/cache/assets/test/sprockets/0448802b256c25a379824969bf01241e +0 -0
  150. data/test/dummy/tmp/cache/assets/test/sprockets/05f11ba90b1f59f6a65002fef96de531 +0 -0
  151. data/test/dummy/tmp/cache/assets/test/sprockets/090f2c9bc57f8e73105a98a800051354 +0 -0
  152. data/test/dummy/tmp/cache/assets/test/sprockets/09fd8b22d7c059ed78b065ffa44138a4 +0 -0
  153. data/test/dummy/tmp/cache/assets/test/sprockets/0a01f1c3288f982772ed595695292767 +0 -0
  154. data/test/dummy/tmp/cache/assets/test/sprockets/0b83e9e8467b82a0991df336697846e0 +0 -0
  155. data/test/dummy/tmp/cache/assets/test/sprockets/10a718d020e26634ffd3071d63270dd1 +0 -0
  156. data/test/dummy/tmp/cache/assets/test/sprockets/12375f1bf3d91db0a06c3fc436918949 +0 -0
  157. data/test/dummy/tmp/cache/assets/test/sprockets/12a4fbfdcb2f1ed98ebd869761bce11e +0 -0
  158. data/test/dummy/tmp/cache/assets/test/sprockets/1505f3ddd93d7be2405c81d84a45cbfb +0 -0
  159. data/test/dummy/tmp/cache/assets/test/sprockets/161b66dc0b76d65e577b5465f86cb767 +0 -0
  160. data/test/dummy/tmp/cache/assets/test/sprockets/18ee507bade4f16ba4f6a5c93f3aac22 +0 -0
  161. data/test/dummy/tmp/cache/assets/test/sprockets/1c63cb75109171c505bf1b6b3f26513b +0 -0
  162. data/test/dummy/tmp/cache/assets/test/sprockets/1da46bb361bbd7b80dc66e5737dbf2a7 +0 -0
  163. data/test/dummy/tmp/cache/assets/test/sprockets/2479bd5cbccdeac3ab4df62c2c12e8d3 +0 -0
  164. data/test/dummy/tmp/cache/assets/test/sprockets/2599cde7c63354f12928a204c42fe68b +0 -0
  165. data/test/dummy/tmp/cache/assets/test/sprockets/25b238c2ec907a80d53955a0bb81073c +0 -0
  166. data/test/dummy/tmp/cache/assets/test/sprockets/2821176477eee8de7b9581f0564d0947 +0 -0
  167. data/test/dummy/tmp/cache/assets/test/sprockets/2a00ce050c10f75691b820576ec3aefd +0 -0
  168. data/test/dummy/tmp/cache/assets/test/sprockets/2a854446f76c1902defbfa436b1e7df8 +0 -0
  169. data/test/dummy/tmp/cache/assets/test/sprockets/2c745da65bdbc8ebb88b6bce026972b9 +0 -0
  170. data/test/dummy/tmp/cache/assets/test/sprockets/2d1bc2b9dc5ee0ed5635abc31fb1bc88 +0 -0
  171. data/test/dummy/tmp/cache/assets/test/sprockets/31c57ad31a65f9a951c6d7268cdedae5 +0 -0
  172. data/test/dummy/tmp/cache/assets/test/sprockets/337d12a0890572dfec336aa11e864651 +0 -0
  173. data/test/dummy/tmp/cache/assets/test/sprockets/3a2e7d8d06318496bd7e5c6bac44adf8 +0 -0
  174. data/test/dummy/tmp/cache/assets/test/sprockets/3d4f40cd6363f1841fa7c17dcbd281ce +0 -0
  175. data/test/dummy/tmp/cache/assets/test/sprockets/47dcfb84d9a092ad939f512e1d3db43c +0 -0
  176. data/test/dummy/tmp/cache/assets/test/sprockets/48582f4afd1c515e7eb10a8fc2195deb +0 -0
  177. data/test/dummy/tmp/cache/assets/test/sprockets/4c6b223eba19a3d4009cbda20ed1ae2d +0 -0
  178. data/test/dummy/tmp/cache/assets/test/sprockets/4fc498f23125a9811434c6d5d5b43b64 +0 -0
  179. data/test/dummy/tmp/cache/assets/test/sprockets/505162da4e90217e5f52f5e8f1922a0d +0 -0
  180. data/test/dummy/tmp/cache/assets/test/sprockets/557b45e924759b342404ddfb736f95a2 +0 -0
  181. data/test/dummy/tmp/cache/assets/test/sprockets/55d58e1add1ca367e262464e83ad82cf +0 -0
  182. data/test/dummy/tmp/cache/assets/test/sprockets/55d7985953b175268932d2f7e50f64e0 +0 -0
  183. data/test/dummy/tmp/cache/assets/test/sprockets/59992ed1702654aa166f8572af80a301 +0 -0
  184. data/test/dummy/tmp/cache/assets/test/sprockets/600202d00479f08d2e69019e34d12e65 +0 -0
  185. data/test/dummy/tmp/cache/assets/test/sprockets/62462f7d0da5dfe3ae7923c7c21325c0 +0 -0
  186. data/test/dummy/tmp/cache/assets/test/sprockets/666e486cb09d9612ba03d995085ea02d +0 -0
  187. data/test/dummy/tmp/cache/assets/test/sprockets/67d67f783372c9b99e2ff84c12d38dfb +0 -0
  188. data/test/dummy/tmp/cache/assets/test/sprockets/6d21cd96abbcb6506d99fb93e8a11196 +0 -0
  189. data/test/dummy/tmp/cache/assets/test/sprockets/6e714e8b8ac03d2e562e8a71c40e00f8 +0 -0
  190. data/test/dummy/tmp/cache/assets/test/sprockets/6f2f2b2fbb1097278be40facf7aa8447 +0 -0
  191. data/test/dummy/tmp/cache/assets/test/sprockets/72e0f0b80593c7ccfaf939c504f8127f +0 -0
  192. data/test/dummy/tmp/cache/assets/test/sprockets/7326e3e660754d56c46671c7347c5e97 +0 -0
  193. data/test/dummy/tmp/cache/assets/test/sprockets/75c5663a92b2003b794d5f5d184fde44 +0 -0
  194. data/test/dummy/tmp/cache/assets/test/sprockets/7b63c613f1053bde6004342003178a0e +0 -0
  195. data/test/dummy/tmp/cache/assets/test/sprockets/7d07558d12b9bd9b9dfa778344bab4ac +0 -0
  196. data/test/dummy/tmp/cache/assets/test/sprockets/7ea9d575b03f8effb678d4dcedf3d079 +0 -0
  197. data/test/dummy/tmp/cache/assets/test/sprockets/7f0b91f5fa71c52d3cbe1f108fb7c942 +0 -0
  198. data/test/dummy/tmp/cache/assets/test/sprockets/805c63977d339feb2ea7b61e1141a32f +0 -0
  199. data/test/dummy/tmp/cache/assets/test/sprockets/81ba6a364949bd4ffe2732ae5745012d +0 -0
  200. data/test/dummy/tmp/cache/assets/test/sprockets/81e2498e0e1457dd93b47780ae28fc03 +0 -0
  201. data/test/dummy/tmp/cache/assets/test/sprockets/897553ff72f546645e24e94feec75255 +0 -0
  202. data/test/dummy/tmp/cache/assets/test/sprockets/8a34d99aaa243ebb4e60f483a5b5a817 +0 -0
  203. data/test/dummy/tmp/cache/assets/test/sprockets/8e20677e2b4bd3f063a63fcf9e673971 +0 -0
  204. data/test/dummy/tmp/cache/assets/test/sprockets/8feb3d758b7824f15b301f9dc024c3f6 +0 -0
  205. data/test/dummy/tmp/cache/assets/test/sprockets/932f699ead87a4b9910d47334ed14d60 +0 -0
  206. data/test/dummy/tmp/cache/assets/test/sprockets/959fa77a7302a3002d5fb1394575117b +0 -0
  207. data/test/dummy/tmp/cache/assets/test/sprockets/969e05674f51d3b5b500e605e0292573 +0 -0
  208. data/test/dummy/tmp/cache/assets/test/sprockets/972e71e7d6b360ef56c88716f3191aaf +0 -0
  209. data/test/dummy/tmp/cache/assets/test/sprockets/98228623f6175426b2d7964b4a921cbb +0 -0
  210. data/test/dummy/tmp/cache/assets/test/sprockets/987bf17b1a3915d5c6d95ebda01e8f49 +0 -0
  211. data/test/dummy/tmp/cache/assets/test/sprockets/9aef3ae1f0c62b895d86ab60901dd450 +0 -0
  212. data/test/dummy/tmp/cache/assets/test/sprockets/9f65b180bd79d7b67e5fb1fe8ded1383 +0 -0
  213. data/test/dummy/tmp/cache/assets/test/sprockets/a4ee671663a58ce1f1860b1e9a9d17fb +0 -0
  214. data/test/dummy/tmp/cache/assets/test/sprockets/a55e988592ebc0d8e4e4ef1244ae4da7 +0 -0
  215. data/test/dummy/tmp/cache/assets/test/sprockets/a590260912e62280bb115dd52a953b18 +0 -0
  216. data/test/dummy/tmp/cache/assets/test/sprockets/a6453a78eb0c813a0b69a12cb7c4ab2c +0 -0
  217. data/test/dummy/tmp/cache/assets/test/sprockets/a721a930039ed66bd3f092ab1e9c8de6 +0 -0
  218. data/test/dummy/tmp/cache/assets/test/sprockets/a748bad0d4f5d6e6bbdf1b340905795b +0 -0
  219. data/test/dummy/tmp/cache/assets/test/sprockets/a96494099d559bfd8cb5257e21cb196c +0 -0
  220. data/test/dummy/tmp/cache/assets/test/sprockets/a970f64c67051f35069f45d8dad113a5 +0 -0
  221. data/test/dummy/tmp/cache/assets/test/sprockets/aaa6dc2bd59e21dd14b0c86a308a1d1f +0 -0
  222. data/test/dummy/tmp/cache/assets/test/sprockets/ac1b1f0c521a6acb5833209d7b18d888 +0 -0
  223. data/test/dummy/tmp/cache/assets/test/sprockets/b24f2d6f62512f4cb11c6a2e44bf90e4 +0 -0
  224. data/test/dummy/tmp/cache/assets/test/sprockets/b28bcc6d89b692e6b74758c30e21b862 +0 -0
  225. data/test/dummy/tmp/cache/assets/test/sprockets/b3b2a83d3d7d735130f0b029e58b29b8 +0 -0
  226. data/test/dummy/tmp/cache/assets/test/sprockets/b3d0193a1439465426a4d051a161291d +0 -0
  227. data/test/dummy/tmp/cache/assets/test/sprockets/b657c356e24f45a8b92d4f4da9ff361d +0 -0
  228. data/test/dummy/tmp/cache/assets/test/sprockets/b76beafa9aef0c7a18bf63fe612ecd17 +0 -0
  229. data/test/dummy/tmp/cache/assets/test/sprockets/b771c2de3967bda011cf04e0979497cf +0 -0
  230. data/test/dummy/tmp/cache/assets/test/sprockets/b8a73c4d259957f05d45cb5d96d41ff1 +0 -0
  231. data/test/dummy/tmp/cache/assets/test/sprockets/ba87909b8d71ddaedd84c3f6c00dce72 +0 -0
  232. data/test/dummy/tmp/cache/assets/test/sprockets/badf6e6ab7c3d1cc2b180e5883005a40 +0 -0
  233. data/test/dummy/tmp/cache/assets/test/sprockets/bbfc8dec2c2cc07cf4c1708597316a77 +0 -0
  234. data/test/dummy/tmp/cache/assets/test/sprockets/bc732efa6ca399217b023bd1e04f0404 +0 -0
  235. data/test/dummy/tmp/cache/assets/test/sprockets/bd5b45287cfdac63ed7199b7982da02f +0 -0
  236. data/test/dummy/tmp/cache/assets/test/sprockets/bee4e1605077e29abd380b05b645cbb4 +0 -0
  237. data/test/dummy/tmp/cache/assets/test/sprockets/c0e7a018799e51565da4aae3cd7409b4 +0 -0
  238. data/test/dummy/tmp/cache/assets/test/sprockets/c190d0bdd188c43629f35b9f463b86af +0 -0
  239. data/test/dummy/tmp/cache/assets/test/sprockets/c2b59fd99edc4b53754f7cb4e160452f +0 -0
  240. data/test/dummy/tmp/cache/assets/test/sprockets/c42a7aac68d827f88bcc25a41cdb5591 +0 -0
  241. data/test/dummy/tmp/cache/assets/test/sprockets/c5ef052e357af6829f6c522a38916fc7 +0 -0
  242. data/test/dummy/tmp/cache/assets/test/sprockets/c705dc7fb9e60c7d39b5c23a101cd830 +0 -0
  243. data/test/dummy/tmp/cache/assets/test/sprockets/c988fd2c5c9497ccef54f79a9e444ac6 +0 -0
  244. data/test/dummy/tmp/cache/assets/test/sprockets/cb761fc7bfc4c192abf5c946f863ab1e +0 -0
  245. data/test/dummy/tmp/cache/assets/test/sprockets/ce523687d631719d872f2869d34803b0 +0 -0
  246. data/test/dummy/tmp/cache/assets/test/sprockets/d2215e57429ecae68a054210e665d787 +0 -0
  247. data/test/dummy/tmp/cache/assets/test/sprockets/d30a320df486e076298c602d428f3145 +0 -0
  248. data/test/dummy/tmp/cache/assets/test/sprockets/d3921fc37cc437f0933c4dee9d089fd8 +0 -0
  249. data/test/dummy/tmp/cache/assets/test/sprockets/d527d40cd214f965c2751831ef138ba7 +0 -0
  250. data/test/dummy/tmp/cache/assets/test/sprockets/d8daf6c8e5df881485c0e1139a275f6d +0 -0
  251. data/test/dummy/tmp/cache/assets/test/sprockets/d9e5382620928a6b4a8cd70bdac10aa3 +0 -0
  252. data/test/dummy/tmp/cache/assets/test/sprockets/dd803fd7a93619599c7e703c2b307411 +0 -0
  253. data/test/dummy/tmp/cache/assets/test/sprockets/e05796fbbc7fcdcaefdd97534f2e4030 +0 -0
  254. data/test/dummy/tmp/cache/assets/test/sprockets/e1c3eff1f3886da4c71a854d42077d10 +0 -0
  255. data/test/dummy/tmp/cache/assets/test/sprockets/e568172da8ab8581f83f98dad0a73d29 +0 -0
  256. data/test/dummy/tmp/cache/assets/test/sprockets/f02093872b151ddb0fd1074fe83ff846 +0 -0
  257. data/test/dummy/tmp/cache/assets/test/sprockets/f100237ea34e5360da23f95cca21c340 +0 -0
  258. data/test/dummy/tmp/cache/assets/test/sprockets/f25b88a46a5a3b1b179079f6c0e4039a +0 -0
  259. data/test/dummy/tmp/cache/assets/test/sprockets/f31d581aaa301ef9ef6a08edc4319c35 +0 -0
  260. data/test/dummy/tmp/cache/assets/test/sprockets/f5fcab9d313889bf6d14a05040aff5bc +0 -0
  261. data/test/dummy/tmp/cache/assets/test/sprockets/f66bf7665e75e4d537977c71a5e39a4e +0 -0
  262. data/test/dummy/tmp/cache/assets/test/sprockets/f6c61aec4cc93384f9655a7d8aba73fe +0 -0
  263. data/test/dummy/tmp/cache/assets/test/sprockets/fa7e1f9a13f606e2603a17f8e00aa32a +0 -0
  264. data/test/dummy/tmp/cache/assets/test/sprockets/fcce52ee43ecad8cb3f18fc8f13a66b7 +0 -0
  265. data/test/dummy/tmp/cache/assets/test/sprockets/fd5e59fed8301f86b74e551534fce2b2 +0 -0
  266. data/test/helpers/push_type/admin_helper_test.rb +25 -0
  267. data/test/helpers/push_type/assets_helper_test.rb +26 -0
  268. data/test/test_helper.rb +19 -0
  269. data/vendor/assets/javascripts/confirm_with_reveal.js.coffee +148 -0
  270. data/vendor/assets/javascripts/jquery.filedrop.js +568 -0
  271. data/vendor/assets/javascripts/jquery.sortable.js +81 -0
  272. data/vendor/assets/javascripts/jquery.sticky.js +170 -0
  273. metadata +724 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 0cbf92079561b52b5fff07bedf439c15859cfa2a
4
+ data.tar.gz: 06007ba7129d9587f72b4ba6b2b400913a8a40fa
5
+ SHA512:
6
+ metadata.gz: f5bb867b96a4ea65e0cf748b829a3e3db5d83913a4b9c4bcdf381775f2e153db89f2c8fd9a430265131bc53cf2d65c074e8120e359bed495879c0f6241823f5f
7
+ data.tar.gz: 35d91900238b20a916b29c50a7db7983831b5feb2bbf548c2c0f21cbbb0ef96e3795358746869535afbef9a3c0ab5d3e0bebfcca2e21decd38d2d223edc39988
data/LICENSE.md ADDED
@@ -0,0 +1,20 @@
1
+ Copyright 2014 Push Code Ltd
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # PushType-Admin
2
+
3
+ This project rocks and uses MIT-LICENSE.
@@ -0,0 +1,74 @@
1
+ # This is a manifest file that'll be compiled into application.js, which will include all the files
2
+ # listed below.
3
+ #
4
+ # Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
5
+ # or vendor/assets/javascripts of plugins, if any, can be referenced here using a relative path.
6
+ #
7
+ # It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
8
+ # compiled file.
9
+ #
10
+ # Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
11
+ # about supported directives.
12
+ #
13
+ #= require jquery
14
+ #= require jquery_ujs
15
+ #= require turbolinks
16
+ #= require foundation
17
+ #= require confirm_with_reveal
18
+ #= require angular
19
+ #= require froala_editor.min
20
+ #= require plugins/lists.min
21
+ #= require plugins/file_upload.min
22
+ #= require plugins/video.min
23
+ #= require jquery.sticky
24
+ #= require jquery.sortable
25
+ #= require jquery.filedrop
26
+ #= require moment
27
+ #= require_self
28
+ #= require_tree .
29
+
30
+ Turbolinks.enableProgressBar()
31
+
32
+ @app = angular.module 'push_type', []
33
+
34
+ @app.directive 'sidePanel', ->
35
+ (scope, $el, attrs) ->
36
+ $el.sticky
37
+ topSpacing: 80
38
+ getWidthFrom: '.sticky-wrapper'
39
+ responsiveWidth: true
40
+
41
+ # jQuery init
42
+ $(document).on 'ready page:load', ->
43
+
44
+ # Bootstrap foundation
45
+ $(document).foundation()
46
+
47
+ # Bootstrap Angular
48
+ angular.bootstrap $('[role="main"]'), ['push_type']
49
+
50
+ $('.sortable').sortable
51
+ handle: '.handle'
52
+ forcePlaceholderSize: true
53
+ .on 'sortupdate', (e, ui) ->
54
+ obj = { prev: ui.item.prev().data('id'), next: ui.item.next().data('id') }
55
+ $.post "/push_type/nodes/#{ ui.item.data('id') }/position", obj, 'json'
56
+
57
+ $('textarea.froala', '.rich_text').editable
58
+ inlineMode: false
59
+ height: 400
60
+ buttons: ['bold', 'italic', 'underline', 'sep', 'formatBlock', 'align', 'insertOrderedList', 'insertUnorderedList', 'sep', 'createLink', 'insertImage', 'uploadFile', 'insertVideo', 'table', 'sep', 'removeFormat', 'undo', 'redo', 'sep' ,'html']
61
+ blockTags:
62
+ n: 'Normal'
63
+ h1: 'Heading 1'
64
+ h2: 'Heading 2'
65
+ theme: 'pt'
66
+
67
+ $('textarea.froala', '.rich_text').on 'editable.focus', (e, editor) ->
68
+ editor.$box.addClass 'focus'
69
+
70
+ $('textarea.froala', '.rich_text').on 'editable.blur', (e, editor) ->
71
+ editor.$box.removeClass 'focus'
72
+
73
+ $(document).confirmWithReveal()
74
+
@@ -0,0 +1,17 @@
1
+ <%
2
+ namespace = 'push_type'
3
+ imgs = {}
4
+
5
+ Dir.chdir PushType::Admin::Engine.root.join('app', 'assets', 'images', namespace) do
6
+ imgs = Dir["**"].inject({}) do |h,f|
7
+ asset = File.join(namespace, f)
8
+ h.merge! asset => image_path(asset)
9
+ end
10
+ end
11
+ %>
12
+
13
+ @rails_assets = <%= imgs.to_json %>
14
+
15
+ @asset_path = (name) -> window.rails_assets[name]
16
+
17
+ @kaminari_per_page = <%= Kaminari.config.default_per_page %>
@@ -0,0 +1,61 @@
1
+ @app.controller 'AssetListCtrl', ['$scope', ($scope) ->
2
+
3
+ $scope.assetCount = ->
4
+ $scope.assets.length
5
+
6
+ $scope.editUrl = (asset) ->
7
+ $scope.assetUrl.replace(/~id/, asset.id)
8
+
9
+ $scope.previewthumbUrl = (asset) ->
10
+ url = asset.preview_thumb_url
11
+ if asset['image?'] then url else asset_path(url)
12
+
13
+ $scope.afterUpload = (asset) ->
14
+ $scope.assets.unshift(asset)
15
+ $scope.assets = $scope.assets.slice(0, kaminari_per_page)
16
+
17
+ ]
18
+
19
+ @app.controller 'AssetUploadCtrl', ['$scope', ($scope) ->
20
+
21
+ $scope.method = ->
22
+ if $scope.asset['new_record?'] then 'post' else 'patch'
23
+
24
+ $scope.saveUrl = ->
25
+ if $scope.asset['new_record?'] then $scope.createUrl else $scope.updateUrl.replace(/~id$/, $scope.asset.id)
26
+
27
+ $scope.saveButtonClass = ->
28
+ if $scope.asset['new_record?'] then 'success' else 'primary'
29
+
30
+ $scope.saveButtonText = ->
31
+ if $scope.asset['new_record?'] then 'Upload file' else 'Update media'
32
+
33
+ $scope.uploadedDate = ->
34
+ moment($scope.asset.created_at).format('Do MMM YYYY, h:mma')
35
+
36
+ $scope.previewthumbUrl = ->
37
+ url = $scope.asset.preview_thumb_url
38
+ if $scope.asset['image?'] then url else asset_path(url)
39
+
40
+ $scope.afterUpload = (asset) ->
41
+ $scope.asset = asset
42
+
43
+ ]
44
+
45
+ @app.directive 'assetUpload', ->
46
+ (scope, $el, attrs) ->
47
+ if attrs.assetFallback
48
+ scope.hideFileField = true
49
+ $el.filedrop
50
+ fallback_id: attrs.assetFallback
51
+ url: attrs.assetUpload
52
+ paramname: 'asset[file]'
53
+ maxfiles: attrs.assetMaxfiles || 1
54
+ dragOver: -> $(this).addClass('hover')
55
+ dragLeave: -> $(this).removeClass('hover')
56
+ drop: -> $(this).removeClass('hover')
57
+ uploadFinished: (i, file, response, time) ->
58
+ scope.afterUpload(response)
59
+ scope.$apply() unless scope.$$phase
60
+
61
+
@@ -0,0 +1,60 @@
1
+ @app.controller 'NodeFormCtrl', ['$scope', ($scope) ->
2
+
3
+ $scope.typeToString = ->
4
+ $scope.node.type.replace( /([A-Z])/g, (m) -> " #{ m.toLowerCase() }" ).trim()
5
+
6
+ $scope.setSlug = ->
7
+ if $scope.node['new_record?']
8
+ $scope.node.slug = $scope.node.title.toLowerCase().replace(/[\s\_]/g, '-').replace(/[^\w\-]/g, '')
9
+
10
+ $scope.permalinkVisibility = ->
11
+ if $scope.node.slug? then 'visible' else null
12
+
13
+ $scope.saveButtonClass = ->
14
+ if $scope.node.status == 'published' then 'success' else 'primary'
15
+
16
+ $scope.saveButtonText = ->
17
+ switch $scope.node.status
18
+ when 'draft'
19
+ if $scope.node['new_record?'] || !$scope.node.published_at?
20
+ 'Save draft'
21
+ else
22
+ "Unpublish #{ $scope.typeToString() }"
23
+ when 'published'
24
+ if $scope.node['new_record?'] || !$scope.node.published_at?
25
+ if $scope.publishedAtMoment().toDate() > new Date() then 'Publish later' else 'Publish now'
26
+ else
27
+ "Save #{ $scope.typeToString() }"
28
+
29
+
30
+ $scope.publishedDates = ->
31
+ switch $scope.node.status
32
+ when 'draft'
33
+ 'N/A'
34
+ when 'published'
35
+ if $scope.node['new_record?'] || !$scope.node.published_at?
36
+ if $scope.publishedAtMoment().toDate() > new Date() then $scope.publishedAtMoment().format('Do MMM YYYY, h:mma') else 'Immediately'
37
+ else
38
+ $scope.publishedAtMoment().format('Do MMM YYYY, h:mma')
39
+
40
+
41
+ $scope.publishedAtMoment = ->
42
+ $scope.published_at ||= if $scope.node.published_at then moment($scope.node.published_at) else moment()
43
+
44
+ ]
45
+
46
+ @app.directive 'nodeStatus', ->
47
+ (scope, $el, attrs) ->
48
+ $el.on 'click', (e) ->
49
+ e.preventDefault()
50
+ scope.node.status = attrs.nodeStatus
51
+ $(this).foundation 'dropdown', 'close', $(this).parents('.f-dropdown')
52
+ scope.$apply() unless scope.$$phase
53
+
54
+ @app.directive 'nodeDatetime', ->
55
+ (scope, $el, attrs) ->
56
+ $el.on 'change', (e) ->
57
+ dateArray = $(this).siblings('select').andSelf().map( -> $(this).val() ).get()
58
+ dateArray[1]--
59
+ scope[attrs.nodeDatetime] = moment(dateArray)
60
+ scope.$apply() unless scope.$$phase