tb_core 1.1.10 → 1.2.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 (259) hide show
  1. checksums.yaml +6 -14
  2. data/README.md +50 -2
  3. data/app/assets/javascripts/admin/core/application.js +2 -2
  4. data/app/assets/javascripts/admin/core/editor.js +1 -0
  5. data/app/assets/javascripts/admin/core/preinit.js +1 -1
  6. data/app/assets/javascripts/admin/core/split_pane.js +4 -0
  7. data/app/assets/javascripts/admin/core/users.js +59 -12
  8. data/app/assets/libs/bootstrap/css/{bootstrap.css → bootstrap.css.scss} +11 -11
  9. data/app/assets/libs/{tiny_mce → tinymce}/plugins/tableDropdown/editor_plugin.js +0 -0
  10. data/app/controllers/admin/application_controller.rb +0 -1
  11. data/app/controllers/admin/roles_controller.rb +10 -4
  12. data/app/controllers/admin/settings_controller.rb +10 -2
  13. data/app/controllers/admin/setup_controller.rb +7 -1
  14. data/app/controllers/admin/users_controller.rb +8 -2
  15. data/app/controllers/sitemaps_controller.rb +0 -1
  16. data/app/controllers/spud/application_controller.rb +9 -2
  17. data/app/helpers/spud/application_helper.rb +21 -0
  18. data/app/models/spud/spud_user_model.rb +79 -0
  19. data/app/models/spud_role.rb +0 -1
  20. data/app/models/spud_role_permission.rb +0 -1
  21. data/app/models/spud_user.rb +2 -80
  22. data/app/views/admin/roles/index.html.erb +4 -2
  23. data/app/views/admin/users/_form.html.erb +3 -0
  24. data/app/views/admin/users/_form_additions.html.erb +1 -0
  25. data/app/views/admin/users/_show_additions.html.erb +1 -0
  26. data/app/views/admin/users/show.html.erb +1 -0
  27. data/config/routes.rb +3 -3
  28. data/lib/generators/spud/module_generator.rb +5 -1
  29. data/lib/generators/spud/templates/admin_controller.rb.erb +6 -2
  30. data/lib/generators/spud/templates/views/admin/index.html.erb +5 -7
  31. data/lib/spud_core/engine.rb +2 -24
  32. data/lib/spud_core/version.rb +1 -1
  33. data/spec/controllers/admin/settings_controller_spec.rb +2 -2
  34. data/spec/controllers/sitemap_controllers_spec.rb +4 -3
  35. data/spec/dummy/config/application.rb +1 -0
  36. data/spec/dummy/config/environments/test.rb +9 -2
  37. data/spec/dummy/config/initializers/secret_token.rb +1 -0
  38. data/spec/dummy/log/test.log +12429 -0
  39. data/spec/dummy/tmp/cache/assets/test/sass/05388b0d18737541b44c9082e3fa19afa6bf3826/application.css.scssc +0 -0
  40. data/spec/dummy/tmp/cache/assets/test/sass/05388b0d18737541b44c9082e3fa19afa6bf3826/login.css.scssc +0 -0
  41. data/spec/dummy/tmp/cache/assets/test/sass/05388b0d18737541b44c9082e3fa19afa6bf3826/split_pane.css.scssc +0 -0
  42. data/spec/dummy/tmp/cache/assets/test/sass/05388b0d18737541b44c9082e3fa19afa6bf3826/users.css.scssc +0 -0
  43. data/spec/dummy/tmp/cache/assets/test/sass/e99c58815a3ff18987eada90ba5c7e95383074f2/bootstrap.css.scssc +0 -0
  44. data/spec/dummy/tmp/cache/assets/test/sprockets/0075c6e170e8012f220c7ed9fb5dc88b +0 -0
  45. data/spec/dummy/tmp/cache/assets/test/sprockets/01666d6af504317dcf63364a37ce60f4 +0 -0
  46. data/spec/dummy/tmp/cache/assets/test/sprockets/03dcdc877f0257624872c73967d201c6 +0 -0
  47. data/spec/dummy/tmp/cache/assets/test/sprockets/06d52af2fa483161bb27dd39c3b34ee3 +0 -0
  48. data/spec/dummy/tmp/cache/assets/test/sprockets/098869073bd11dbc41fcaa47716a0ce7 +0 -0
  49. data/spec/dummy/tmp/cache/assets/test/sprockets/0cabf8a5146f359edd424e4f820e07f1 +0 -0
  50. data/spec/dummy/tmp/cache/assets/test/sprockets/0f971f36ba87298fbaf46154fa8a5d30 +0 -0
  51. data/spec/dummy/tmp/cache/assets/test/sprockets/13809885160329b0a1a4e7885fb75ca4 +0 -0
  52. data/spec/dummy/tmp/cache/assets/test/sprockets/16243b3ad44c2997ad70996b58c56a2a +0 -0
  53. data/spec/dummy/tmp/cache/assets/test/sprockets/169b221054fadd95f44252a232a5f053 +0 -0
  54. data/spec/dummy/tmp/cache/assets/test/sprockets/1816341e15110810c4647824cc81d1aa +0 -0
  55. data/spec/dummy/tmp/cache/assets/test/sprockets/18d440ef7bcf78056d346ac1ff2a6793 +0 -0
  56. data/spec/dummy/tmp/cache/assets/test/sprockets/1c06ad369cba88ec3ff5afc06e982d7c +0 -0
  57. data/spec/dummy/tmp/cache/assets/test/sprockets/1fa18bd231ff77b2af93913518487967 +0 -0
  58. data/spec/dummy/tmp/cache/assets/test/sprockets/21e6a044a925c5f44f5a9d9b9e2d164a +0 -0
  59. data/spec/dummy/tmp/cache/assets/test/sprockets/2393e42173c512eb5171116ee479ab7e +0 -0
  60. data/spec/dummy/tmp/cache/assets/test/sprockets/2b94b5653a1151795fb999b3e98fd1d8 +0 -0
  61. data/spec/dummy/tmp/cache/assets/test/sprockets/2fe2bffc50d1c3cd5c0a896a5528e23b +0 -0
  62. data/spec/dummy/tmp/cache/assets/test/sprockets/3024a96b82ffd6a5f68295a953231c92 +0 -0
  63. data/spec/dummy/tmp/cache/assets/test/sprockets/3123e8917685babc03cb0c8aeccac695 +0 -0
  64. data/spec/dummy/tmp/cache/assets/test/sprockets/353180d0c9fd2a3ccef3718d7e6ace6c +0 -0
  65. data/spec/dummy/tmp/cache/assets/test/sprockets/37539a535fefc75cd61aa9438d821846 +0 -0
  66. data/spec/dummy/tmp/cache/assets/test/sprockets/38eabf5ce9c4dda42d09332aee816d3e +0 -0
  67. data/spec/dummy/tmp/cache/assets/test/sprockets/39efa102c753ebe9defd90062785a8aa +0 -0
  68. data/spec/dummy/tmp/cache/assets/test/sprockets/3cc30d9fb936455c063d7a950c46bb32 +0 -0
  69. data/spec/dummy/tmp/cache/assets/test/sprockets/4546971591261f8a01d0837f5a31af35 +0 -0
  70. data/spec/dummy/tmp/cache/assets/test/sprockets/45b53d5ab2cac60703cd9d2cf52c14eb +0 -0
  71. data/spec/dummy/tmp/cache/assets/test/sprockets/49d27d2d81616b48039efe15075da4f2 +0 -0
  72. data/spec/dummy/tmp/cache/assets/test/sprockets/4a689e727abc31a4f93798253a176295 +0 -0
  73. data/spec/dummy/tmp/cache/assets/test/sprockets/55d4fc42707dc9a3400faf92bed0360a +0 -0
  74. data/spec/dummy/tmp/cache/assets/test/sprockets/5759e8cff07b97209ca7ea6a93b3ed1a +0 -0
  75. data/spec/dummy/tmp/cache/assets/test/sprockets/5c4e1741d24424c6947eaff78829d41f +0 -0
  76. data/spec/dummy/tmp/cache/assets/test/sprockets/5cdaff8b68930bd29868b3d0fcb33766 +0 -0
  77. data/spec/dummy/tmp/cache/assets/test/sprockets/5de67e95811f3524bac96ba237505ae6 +0 -0
  78. data/spec/dummy/tmp/cache/assets/test/sprockets/5fe538b2e33228dd92d36cfce50cf4b7 +0 -0
  79. data/spec/dummy/tmp/cache/assets/test/sprockets/6671fad14ea054e577e2dfbcd98e571c +0 -0
  80. data/spec/dummy/tmp/cache/assets/test/sprockets/6d7103090b0047c9b8d5746d75e8fac9 +0 -0
  81. data/spec/dummy/tmp/cache/assets/test/sprockets/705426de92785d4afa88b06757d25f7d +0 -0
  82. data/spec/dummy/tmp/cache/assets/test/sprockets/71e715ef316e725981280e9bfe9d0527 +0 -0
  83. data/spec/dummy/tmp/cache/assets/test/sprockets/7391889bc52e8664fd5d590d58a7ec8f +0 -0
  84. data/spec/dummy/tmp/cache/assets/test/sprockets/7828cb89eaa43959329e301a04ef10a6 +0 -0
  85. data/spec/dummy/tmp/cache/assets/test/sprockets/80dda53c03df39ae9ed8c2400f05990a +0 -0
  86. data/spec/dummy/tmp/cache/assets/test/sprockets/8121614a686088a7f27165baf5d63da3 +0 -0
  87. data/spec/dummy/tmp/cache/assets/test/sprockets/85af4404353b8373764b166027ce78a4 +0 -0
  88. data/spec/dummy/tmp/cache/assets/test/sprockets/85cdc3810a743722e618b949199320ec +0 -0
  89. data/spec/dummy/tmp/cache/assets/test/sprockets/88099ac9106f32ee56c2cdde301f4aeb +0 -0
  90. data/spec/dummy/tmp/cache/assets/test/sprockets/89fbb1e40182037e0eec01e0d3bab067 +0 -0
  91. data/spec/dummy/tmp/cache/assets/test/sprockets/8bb56cbae5a8a5b5f1cf04183a746966 +0 -0
  92. data/spec/dummy/tmp/cache/assets/test/sprockets/8fb7066c091dc8956fadaa0c316fb808 +0 -0
  93. data/spec/dummy/tmp/cache/assets/test/sprockets/9214ad2c4fc7c0298ec351e00379a706 +0 -0
  94. data/spec/dummy/tmp/cache/assets/test/sprockets/9313c3ae5de2dc96635bfa4e6957a149 +0 -0
  95. data/spec/dummy/tmp/cache/assets/test/sprockets/940374cda01486d892775b6f65986599 +0 -0
  96. data/spec/dummy/tmp/cache/assets/test/sprockets/966f020d24b19c1d685c51c240d1923a +0 -0
  97. data/spec/dummy/tmp/cache/assets/test/sprockets/a444109f6d82fec9d3e8224e0508abc9 +0 -0
  98. data/spec/dummy/tmp/cache/assets/test/sprockets/a4adceeb24e0e96b3cd701b06c7b53d2 +0 -0
  99. data/spec/dummy/tmp/cache/assets/test/sprockets/a4c8d8c64ed3eca5b07e3c1478b00a81 +0 -0
  100. data/spec/dummy/tmp/cache/assets/test/sprockets/a7305f76eab9ded7ce734cea8967a8ee +0 -0
  101. data/spec/dummy/tmp/cache/assets/test/sprockets/aa893fde36bb6d9e2184bba8385ce160 +0 -0
  102. data/spec/dummy/tmp/cache/assets/test/sprockets/b26e8bc7c7c32058397f892cd9d046d8 +0 -0
  103. data/spec/dummy/tmp/cache/assets/test/sprockets/b8d4b4de990b07fda478ecb232a3b76f +0 -0
  104. data/spec/dummy/tmp/cache/assets/test/sprockets/ba173160d353bfb6e1f0f284bac8b9de +0 -0
  105. data/spec/dummy/tmp/cache/assets/test/sprockets/bc750b216ba26d779bcf79fac037b36b +0 -0
  106. data/spec/dummy/tmp/cache/assets/test/sprockets/bef9d4af2f246671b5c9d21c40b49545 +0 -0
  107. data/spec/dummy/tmp/cache/assets/test/sprockets/c0eaf65fe0db1674c49ba2ae6cccb410 +0 -0
  108. data/spec/dummy/tmp/cache/assets/test/sprockets/c4fa3869fe96ebf26a17b08d5b45d5fb +0 -0
  109. data/spec/dummy/tmp/cache/assets/test/sprockets/c666b756412f64241236e1112b2e403d +0 -0
  110. data/spec/dummy/tmp/cache/assets/test/sprockets/c7301f1b1c7ee199b8b8487f43ce78c8 +0 -0
  111. data/spec/dummy/tmp/cache/assets/test/sprockets/cb96d7509d3c2b2f16d6d3a1eaac2b79 +0 -0
  112. data/spec/dummy/tmp/cache/assets/test/sprockets/d02977fa67cf6643e31bb4c063a6d205 +0 -0
  113. data/spec/dummy/tmp/cache/assets/test/sprockets/d5b4ee9436615cb36bb22b9ba87791cf +0 -0
  114. data/spec/dummy/tmp/cache/assets/test/sprockets/daec02064da70ae5def8a75a5c36e58d +0 -0
  115. data/spec/dummy/tmp/cache/assets/test/sprockets/dd32919d4bcd591d7aa6937ba4b39ddb +0 -0
  116. data/spec/dummy/tmp/cache/assets/test/sprockets/e12ec2fd151046a8235cb53a379b3151 +0 -0
  117. data/spec/dummy/tmp/cache/assets/test/sprockets/e232a62130dade197fcabdd428cf737c +0 -0
  118. data/spec/dummy/tmp/cache/assets/test/sprockets/e7d7a71fa09119e96e640cba43763911 +0 -0
  119. data/spec/dummy/tmp/cache/assets/test/sprockets/f165c137fabbacd60c1bc9fbb6878ae9 +0 -0
  120. data/spec/dummy/tmp/cache/assets/test/sprockets/f365efd4df73b42e492cd479032636ca +0 -0
  121. data/spec/dummy/tmp/cache/assets/test/sprockets/f81f473be9c249d9ff823b35ba6c7130 +0 -0
  122. data/spec/dummy/tmp/cache/assets/test/sprockets/fda81067bc547bd67ac35e1bc4a7c167 +0 -0
  123. data/spec/dummy/tmp/cache/assets/test/sprockets/fde0dc66d618f90500842b827a11d83b +0 -0
  124. data/spec/dummy/tmp/cache/assets/test/sprockets/fe35aa99166bfe64fdab2f5f5373a80d +0 -0
  125. data/spec/dummy/tmp/cache/assets/test/sprockets/ff91e57c48a0748be0394a67cd555438 +0 -0
  126. metadata +240 -182
  127. data/app/assets/libs/tiny_mce/jquery.tinymce.js +0 -1
  128. data/app/assets/libs/tiny_mce/langs/en.js +0 -1
  129. data/app/assets/libs/tiny_mce/license.txt +0 -504
  130. data/app/assets/libs/tiny_mce/plugins/advhr/css/advhr.css +0 -5
  131. data/app/assets/libs/tiny_mce/plugins/advhr/editor_plugin.js +0 -1
  132. data/app/assets/libs/tiny_mce/plugins/advhr/editor_plugin_src.js +0 -57
  133. data/app/assets/libs/tiny_mce/plugins/advhr/js/rule.js +0 -43
  134. data/app/assets/libs/tiny_mce/plugins/advhr/langs/en_dlg.js +0 -1
  135. data/app/assets/libs/tiny_mce/plugins/advhr/rule.htm +0 -58
  136. data/app/assets/libs/tiny_mce/plugins/advimage/css/advimage.css +0 -13
  137. data/app/assets/libs/tiny_mce/plugins/advimage/editor_plugin.js +0 -1
  138. data/app/assets/libs/tiny_mce/plugins/advimage/editor_plugin_src.js +0 -50
  139. data/app/assets/libs/tiny_mce/plugins/advimage/image.htm +0 -235
  140. data/app/assets/libs/tiny_mce/plugins/advimage/img/sample.gif +0 -0
  141. data/app/assets/libs/tiny_mce/plugins/advimage/js/image.js +0 -462
  142. data/app/assets/libs/tiny_mce/plugins/advimage/langs/en_dlg.js +0 -1
  143. data/app/assets/libs/tiny_mce/plugins/advlink/css/advlink.css +0 -8
  144. data/app/assets/libs/tiny_mce/plugins/advlink/editor_plugin.js +0 -1
  145. data/app/assets/libs/tiny_mce/plugins/advlink/editor_plugin_src.js +0 -61
  146. data/app/assets/libs/tiny_mce/plugins/advlink/js/advlink.js +0 -539
  147. data/app/assets/libs/tiny_mce/plugins/advlink/langs/en_dlg.js +0 -1
  148. data/app/assets/libs/tiny_mce/plugins/advlink/link.htm +0 -338
  149. data/app/assets/libs/tiny_mce/plugins/autolink/editor_plugin.js +0 -1
  150. data/app/assets/libs/tiny_mce/plugins/autolink/editor_plugin_src.js +0 -174
  151. data/app/assets/libs/tiny_mce/plugins/inlinepopups/editor_plugin.js +0 -1
  152. data/app/assets/libs/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +0 -699
  153. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  154. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  155. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  156. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  157. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  158. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  159. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  160. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +0 -90
  161. data/app/assets/libs/tiny_mce/plugins/inlinepopups/template.htm +0 -387
  162. data/app/assets/libs/tiny_mce/plugins/lists/editor_plugin.js +0 -1
  163. data/app/assets/libs/tiny_mce/plugins/lists/editor_plugin_src.js +0 -951
  164. data/app/assets/libs/tiny_mce/plugins/media/css/media.css +0 -17
  165. data/app/assets/libs/tiny_mce/plugins/media/editor_plugin.js +0 -1
  166. data/app/assets/libs/tiny_mce/plugins/media/editor_plugin_src.js +0 -890
  167. data/app/assets/libs/tiny_mce/plugins/media/js/embed.js +0 -73
  168. data/app/assets/libs/tiny_mce/plugins/media/js/media.js +0 -470
  169. data/app/assets/libs/tiny_mce/plugins/media/langs/en_dlg.js +0 -1
  170. data/app/assets/libs/tiny_mce/plugins/media/media.htm +0 -922
  171. data/app/assets/libs/tiny_mce/plugins/media/moxieplayer.swf +0 -0
  172. data/app/assets/libs/tiny_mce/plugins/paste/editor_plugin.js +0 -1
  173. data/app/assets/libs/tiny_mce/plugins/paste/editor_plugin_src.js +0 -871
  174. data/app/assets/libs/tiny_mce/plugins/paste/js/pastetext.js +0 -36
  175. data/app/assets/libs/tiny_mce/plugins/paste/js/pasteword.js +0 -51
  176. data/app/assets/libs/tiny_mce/plugins/paste/langs/en_dlg.js +0 -1
  177. data/app/assets/libs/tiny_mce/plugins/paste/pastetext.htm +0 -27
  178. data/app/assets/libs/tiny_mce/plugins/paste/pasteword.htm +0 -21
  179. data/app/assets/libs/tiny_mce/plugins/table/cell.htm +0 -180
  180. data/app/assets/libs/tiny_mce/plugins/table/css/cell.css +0 -17
  181. data/app/assets/libs/tiny_mce/plugins/table/css/row.css +0 -25
  182. data/app/assets/libs/tiny_mce/plugins/table/css/table.css +0 -13
  183. data/app/assets/libs/tiny_mce/plugins/table/editor_plugin.js +0 -1
  184. data/app/assets/libs/tiny_mce/plugins/table/editor_plugin_src.js +0 -1428
  185. data/app/assets/libs/tiny_mce/plugins/table/js/cell.js +0 -319
  186. data/app/assets/libs/tiny_mce/plugins/table/js/merge_cells.js +0 -27
  187. data/app/assets/libs/tiny_mce/plugins/table/js/row.js +0 -237
  188. data/app/assets/libs/tiny_mce/plugins/table/js/table.js +0 -489
  189. data/app/assets/libs/tiny_mce/plugins/table/langs/en_dlg.js +0 -1
  190. data/app/assets/libs/tiny_mce/plugins/table/merge_cells.htm +0 -32
  191. data/app/assets/libs/tiny_mce/plugins/table/row.htm +0 -158
  192. data/app/assets/libs/tiny_mce/plugins/table/table.htm +0 -188
  193. data/app/assets/libs/tiny_mce/themes/advanced/about.htm +0 -52
  194. data/app/assets/libs/tiny_mce/themes/advanced/anchor.htm +0 -26
  195. data/app/assets/libs/tiny_mce/themes/advanced/charmap.htm +0 -55
  196. data/app/assets/libs/tiny_mce/themes/advanced/color_picker.htm +0 -70
  197. data/app/assets/libs/tiny_mce/themes/advanced/editor_template.js +0 -1
  198. data/app/assets/libs/tiny_mce/themes/advanced/editor_template_src.js +0 -1467
  199. data/app/assets/libs/tiny_mce/themes/advanced/image.htm +0 -80
  200. data/app/assets/libs/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  201. data/app/assets/libs/tiny_mce/themes/advanced/img/flash.gif +0 -0
  202. data/app/assets/libs/tiny_mce/themes/advanced/img/icons.gif +0 -0
  203. data/app/assets/libs/tiny_mce/themes/advanced/img/iframe.gif +0 -0
  204. data/app/assets/libs/tiny_mce/themes/advanced/img/pagebreak.gif +0 -0
  205. data/app/assets/libs/tiny_mce/themes/advanced/img/quicktime.gif +0 -0
  206. data/app/assets/libs/tiny_mce/themes/advanced/img/realmedia.gif +0 -0
  207. data/app/assets/libs/tiny_mce/themes/advanced/img/shockwave.gif +0 -0
  208. data/app/assets/libs/tiny_mce/themes/advanced/img/trans.gif +0 -0
  209. data/app/assets/libs/tiny_mce/themes/advanced/img/video.gif +0 -0
  210. data/app/assets/libs/tiny_mce/themes/advanced/img/windowsmedia.gif +0 -0
  211. data/app/assets/libs/tiny_mce/themes/advanced/js/about.js +0 -73
  212. data/app/assets/libs/tiny_mce/themes/advanced/js/anchor.js +0 -44
  213. data/app/assets/libs/tiny_mce/themes/advanced/js/charmap.js +0 -363
  214. data/app/assets/libs/tiny_mce/themes/advanced/js/color_picker.js +0 -345
  215. data/app/assets/libs/tiny_mce/themes/advanced/js/image.js +0 -251
  216. data/app/assets/libs/tiny_mce/themes/advanced/js/link.js +0 -153
  217. data/app/assets/libs/tiny_mce/themes/advanced/js/source_editor.js +0 -78
  218. data/app/assets/libs/tiny_mce/themes/advanced/langs/en.js +0 -1
  219. data/app/assets/libs/tiny_mce/themes/advanced/langs/en_dlg.js +0 -1
  220. data/app/assets/libs/tiny_mce/themes/advanced/link.htm +0 -57
  221. data/app/assets/libs/tiny_mce/themes/advanced/shortcuts.htm +0 -47
  222. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/content.css +0 -51
  223. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/dialog.css +0 -118
  224. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  225. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  226. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  227. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  228. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  229. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  230. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/ui.css +0 -215
  231. data/app/assets/libs/tiny_mce/themes/advanced/skins/highcontrast/content.css +0 -25
  232. data/app/assets/libs/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +0 -106
  233. data/app/assets/libs/tiny_mce/themes/advanced/skins/highcontrast/ui.css +0 -102
  234. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/content.css +0 -49
  235. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/dialog.css +0 -118
  236. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  237. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  238. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  239. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/ui.css +0 -218
  240. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +0 -8
  241. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +0 -5
  242. data/app/assets/libs/tiny_mce/themes/advanced/source_editor.htm +0 -25
  243. data/app/assets/libs/tiny_mce/themes/simple/editor_template.js +0 -1
  244. data/app/assets/libs/tiny_mce/themes/simple/editor_template_src.js +0 -84
  245. data/app/assets/libs/tiny_mce/themes/simple/img/icons.gif +0 -0
  246. data/app/assets/libs/tiny_mce/themes/simple/langs/en.js +0 -1
  247. data/app/assets/libs/tiny_mce/themes/simple/skins/default/content.css +0 -25
  248. data/app/assets/libs/tiny_mce/themes/simple/skins/default/ui.css +0 -32
  249. data/app/assets/libs/tiny_mce/themes/simple/skins/o2k7/content.css +0 -17
  250. data/app/assets/libs/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  251. data/app/assets/libs/tiny_mce/themes/simple/skins/o2k7/ui.css +0 -35
  252. data/app/assets/libs/tiny_mce/tiny_mce.js +0 -1
  253. data/app/assets/libs/tiny_mce/tiny_mce_popup.js +0 -5
  254. data/app/assets/libs/tiny_mce/tiny_mce_src.js +0 -16753
  255. data/app/assets/libs/tiny_mce/utils/editable_selects.js +0 -70
  256. data/app/assets/libs/tiny_mce/utils/form_utils.js +0 -210
  257. data/app/assets/libs/tiny_mce/utils/mctabs.js +0 -162
  258. data/app/assets/libs/tiny_mce/utils/validate.js +0 -252
  259. data/app/models/concerns/spud_authentication.rb +0 -10
@@ -41,6 +41,9 @@
41
41
  </div>
42
42
 
43
43
  </fieldset>
44
+
45
+ <%= render :partial => 'form_additions', :locals => {:f => f} %>
46
+
44
47
  <fieldset>
45
48
  <legend>Credentials</legend>
46
49
 
@@ -0,0 +1 @@
1
+ <!-- Copy me to your application to add custom fields to the New/Edit action -->
@@ -0,0 +1 @@
1
+ <!-- Copy me to your application to add custom fields to the Show action -->
@@ -24,5 +24,6 @@
24
24
  <dd><%= @user.role.blank? ? 'None' : @user.role.name %></dd>
25
25
  <dt>Super Admin?<dt>
26
26
  <dd><%= @user.super_admin? ? 'Yes' : 'No' %></dd>
27
+ <%= render 'show_additions' %>
27
28
  </dl>
28
29
  </div>
data/config/routes.rb CHANGED
@@ -4,7 +4,7 @@ Rails.application.routes.draw do
4
4
 
5
5
  get 'login' => 'user_sessions#new', :as => 'login'
6
6
  post 'login' => 'user_sessions#create'
7
- match 'logout' => 'user_sessions#destroy', :as => 'logout'
7
+ match 'logout' => 'user_sessions#destroy', :as => 'logout', :via => [:get, :post]
8
8
 
9
9
  resources :password_resets, :only => [:index, :create, :show, :update], :path => 'login/forgot'
10
10
 
@@ -15,7 +15,7 @@ Rails.application.routes.draw do
15
15
  resources :users, :controller
16
16
  resources :roles
17
17
 
18
- match 'switch' => "dashboard#switch"
18
+ match 'switch' => "dashboard#switch", :via => [:get, :post]
19
19
 
20
20
  get 'setup' => 'setup#new'
21
21
  post 'setup' => 'setup#create'
@@ -26,7 +26,7 @@ Rails.application.routes.draw do
26
26
  # Non-admin login paths
27
27
  get 'login' => 'user_sessions#new', :as => 'login'
28
28
  post 'login' => 'user_sessions#create'
29
- match 'logout' => 'user_sessions#destroy', :as => 'logout'
29
+ match 'logout' => 'user_sessions#destroy', :as => 'logout', :via => [:get, :post]
30
30
  resources :password_resets, :only => [:index, :create, :show, :update], :path => 'login/forgot'
31
31
 
32
32
  get 'spud/admin' => 'admin/user_sessions#legacy_redirect'
@@ -24,7 +24,7 @@ class Spud::ModuleGenerator < ::Rails::Generators::Base
24
24
  template "views/admin/_form.html.erb", "app/views/admin/#{module_name_formatted}/_form.html.erb"
25
25
  template "views/frontend/index.html.erb", "app/views/#{module_name_formatted}/index.html.erb"
26
26
  template "views/frontend/show.html.erb", "app/views/#{module_name_formatted}/show.html.erb"
27
- environment("Spud::Core.config.admin_applications += [{:name => '#{module_name_formatted.humanize.titlecase}', :thumbnail => \"/assets/admin/module_icon.png\", :url => \"/admin/#{module_name_formatted}\"}]")
27
+ environment("Spud::Core.config.admin_applications += [{:name => '#{module_name_formatted.humanize.titlecase}', :thumbnail => \"admin/module_icon.png\", :url => \"/admin/#{module_name_formatted}\"}]")
28
28
  create_routes
29
29
  invoke "model", [module_name_formatted.singularize] + attributes
30
30
  end
@@ -61,4 +61,8 @@ EOF
61
61
  Rails.application.class.name.split('::').first.underscore
62
62
  end
63
63
 
64
+ def attribute_names
65
+ attributes.collect{ |att| att.split(':')[0] }
66
+ end
67
+
64
68
  end
@@ -19,7 +19,7 @@ class Admin::<%= module_name_formatted.camelize%>Controller < Admin::Application
19
19
  end
20
20
 
21
21
  def create
22
- @<%= module_name_formatted.singularize %> = <%= module_name_formatted.singularize.camelize %>.new(params[:<%= module_name_formatted.singularize %>])
22
+ @<%= module_name_formatted.singularize %> = <%= module_name_formatted.singularize.camelize %>.new(<%= module_name_formatted.singularize %>_params)
23
23
  flash[:notice] = '<%= module_name_formatted.singularize.camelize %> created successfully' if @<%= module_name_formatted.singularize %>.save
24
24
  respond_with @<%= module_name_formatted.singularize %>, :location => admin_<%= module_name_formatted %>_path
25
25
  end
@@ -29,7 +29,7 @@ class Admin::<%= module_name_formatted.camelize%>Controller < Admin::Application
29
29
  end
30
30
 
31
31
  def update
32
- if @<%= module_name_formatted.singularize%>.update_attributes(params[:<%= module_name_formatted.singularize%>])
32
+ if @<%= module_name_formatted.singularize%>.update_attributes(<%= module_name_formatted.singularize %>_params)
33
33
  flash[:notice] = '<%= module_name_formatted.singularize.camelize %> updated successfully'
34
34
  end
35
35
  respond_with @<%= module_name_formatted.singularize %>, :location => admin_<%= module_name_formatted %>_path
@@ -51,4 +51,8 @@ private
51
51
  end
52
52
  end
53
53
 
54
+ def <%= module_name_formatted.singularize %>_params
55
+ params.require(:<%= module_name_formatted.singularize %>).permit(<%= attribute_names.collect{ |att| ":#{att}" }.join(', ') %>)
56
+ end
57
+
54
58
  end
@@ -5,22 +5,20 @@
5
5
  <%% content_for :detail do %>
6
6
  <table class="table table-striped">
7
7
  <thead>
8
- <tr><%attributes.each do |attribute|%>
9
- <%-attribute_args = attribute.split(":")-%>
10
- <th><%=attribute_args[0].humanize.titlecase%></th><% end %>
8
+ <tr><%attribute_names.each do |attribute|%>
9
+ <th><%=attribute.humanize.titlecase%></th><% end %>
11
10
  <th>Actions</th>
12
11
  </tr>
13
12
  </thead>
14
13
  <tbody>
15
14
  <%% @<%=module_name_formatted%>.each do |<%=module_name_formatted.singularize%>| %>
16
15
  <tr>
17
- <%-attributes.each do |attribute|-%>
18
- <%-attribute_args = attribute.split(":")-%>
19
- <td><%%= <%=module_name_formatted.singularize%>.<%=attribute_args[0]%> %></td>
16
+ <%-attribute_names.each do |attribute|-%>
17
+ <td><%%= <%=module_name_formatted.singularize%>.<%=attribute%> %></td>
20
18
  <%-end-%>
21
19
  <td align="right" width="150">
22
20
  <%%= link_to 'Edit', edit_admin_<%=module_name_formatted.singularize%>_path(<%=module_name_formatted.singularize%>), :class => 'btn btn-mini' %>
23
- <%%= link_to 'Delete', admin_<%=module_name_formatted.singularize%>_path(<%=module_name_formatted.singularize%>), :method => :delete, :confirm => 'Are you sure you want to delete this <%=module_name_formatted.singularize.humanize%>?', :class => 'btn btn-danger btn-mini' %>
21
+ <%%= link_to 'Delete', admin_<%=module_name_formatted.singularize%>_path(<%=module_name_formatted.singularize%>), :method => :delete, :data => {:confirm => 'Are you sure you want to delete this <%=module_name_formatted.singularize.humanize%>?'}, :class => 'btn btn-danger btn-mini' %>
24
22
  </td>
25
23
  </tr>
26
24
  <%% end %>
@@ -1,14 +1,10 @@
1
- # require 'spud_core'
2
- # require 'rails'
3
- # require 'action_controller'
4
- # require 'rubygems'
5
1
  require 'jquery-rails'
6
2
  require 'retina_tag'
7
3
  require 'authlogic'
8
- # require 'dynamic_form'
9
4
  require 'breadcrumbs_on_rails'
10
5
  require 'will_paginate'
11
6
  require 'codemirror-rails'
7
+ require 'tinymce-rails'
12
8
 
13
9
  module Spud
14
10
  module Core
@@ -18,26 +14,8 @@ module Spud
18
14
  require "#{root}/lib/spud_core/searchable"
19
15
  require "#{root}/lib/responds_to_parent"
20
16
 
21
- def self.require_model(model_name)
22
- require "#{root}/app/models/#{model_name}"
23
- end
24
-
25
- def self.require_controller(controller_name)
26
- require "#{root}/app/controllers/#{controller_name}"
27
- end
28
-
29
17
  engine_name :tb_core
30
-
31
- initializer 'tb_core.assets' do |config|
32
- Rails.application.config.assets.precompile += [
33
- "tiny_mce/plugins/**/*",
34
- "tiny_mce/themes/**/*",
35
- "tiny_mce/utils/*",
36
- "tiny_mce/langs/*",
37
- 'tiny_mce/tiny_mce_popup.js',
38
- "tiny_mce/tiny_mce.js"
39
- ]
40
- end
18
+ config.autoload_paths << "#{root}/lib"
41
19
 
42
20
  initializer 'tb_core.controller_overrides' do |config|
43
21
  ActionController::Base.class_eval do
@@ -1,5 +1,5 @@
1
1
  module Spud
2
2
  module Core
3
- VERSION = "1.1.10"
3
+ VERSION = "1.2.0"
4
4
  end
5
5
  end
@@ -16,9 +16,9 @@ describe Admin::SettingsController do
16
16
  end
17
17
 
18
18
  describe :update do
19
- it "should redirect to the admin root with a successful update" do
19
+ it "should redirect to the settings page with a successful update" do
20
20
  put :update, :spud_user => {:first_name => "Mike"}
21
- response.should render_template('edit')
21
+ response.should redirect_to(admin_settings_path)
22
22
  end
23
23
 
24
24
  it "should put a message in the flash notice" do
@@ -13,8 +13,9 @@ describe SitemapsController do
13
13
  end
14
14
 
15
15
  it "should only respond to an XML format" do
16
- get :show
17
- response.response_code.should == 406
16
+ expect {
17
+ get :show
18
+ }.to raise_exception(ActionController::UnknownFormat)
18
19
  end
19
20
  end
20
- end
21
+ end
@@ -30,6 +30,7 @@ module Dummy
30
30
  # The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
31
31
  # config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
32
32
  # config.i18n.default_locale = :de
33
+ config.i18n.enforce_available_locales = true
33
34
 
34
35
  # Configure the default encoding used in templates for Ruby 1.9.
35
36
  config.encoding = "utf-8"
@@ -11,8 +11,14 @@ Dummy::Application.configure do
11
11
  config.serve_static_assets = true
12
12
  config.static_cache_control = "public, max-age=3600"
13
13
 
14
+ # Deprecated
14
15
  # Log error messages when you accidentally call methods on nil
15
- config.whiny_nils = true
16
+ # config.whiny_nils = true
17
+
18
+ # Do not eager load code on boot. This avoids loading your whole application
19
+ # just for the purpose of running a single test. If you are using a tool that
20
+ # preloads Rails for running tests, you may have to set it to true.
21
+ config.eager_load = false
16
22
 
17
23
  # Show full error reports and disable caching
18
24
  config.consider_all_requests_local = true
@@ -29,8 +35,9 @@ Dummy::Application.configure do
29
35
  # ActionMailer::Base.deliveries array.
30
36
  config.action_mailer.delivery_method = :test
31
37
 
38
+ # Deprecated
32
39
  # Raise exception on mass assignment protection for Active Record models
33
- config.active_record.mass_assignment_sanitizer = :strict
40
+ # config.active_record.mass_assignment_sanitizer = :strict
34
41
 
35
42
  # Print deprecation notices to the stderr
36
43
  config.active_support.deprecation = :stderr
@@ -5,3 +5,4 @@
5
5
  # Make sure the secret is at least 30 characters and all random,
6
6
  # no regular words or you'll be exposed to dictionary attacks.
7
7
  Dummy::Application.config.secret_token = 'f89bbe176924c011473e15af21c4e8b72c3fd12f887f26014c24ea32e1e3d2bf0250a671a30232047d5c5431e67c7361aca07b10d847405b99fce4543589e117'
8
+ Dummy::Application.config.secret_key_base = 'b43711419c807b9c9efe9365dd79f87ebe31e9f72e1aa6744c1ecac68aace664c0a3a4f791d92bd2fa324fce1d6d09701a54b88453f131b7c460eeb9c530bd72'