padrino-admin 0.8.5 → 0.9.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (353) hide show
  1. data/README.rdoc +40 -84
  2. data/VERSION +1 -1
  3. data/lib/padrino-admin.rb +3 -20
  4. data/lib/padrino-admin/access_control.rb +78 -326
  5. data/lib/padrino-admin/generators/actions.rb +6 -26
  6. data/lib/padrino-admin/generators/admin_app.rb +40 -11
  7. data/lib/padrino-admin/generators/admin_page.rb +11 -17
  8. data/lib/padrino-admin/generators/orm.rb +85 -0
  9. data/lib/padrino-admin/generators/templates/account/activerecord.rb.tt +43 -0
  10. data/lib/padrino-admin/generators/templates/account/datamapper.rb.tt +54 -0
  11. data/lib/padrino-admin/generators/templates/{page/db → account}/seeds.rb.tt +5 -6
  12. data/lib/padrino-admin/generators/{app/app.rb.tt → templates/app/app.rb} +2 -10
  13. data/lib/padrino-admin/generators/templates/app/controllers/base.rb +7 -0
  14. data/lib/padrino-admin/generators/{app → templates/app}/controllers/sessions.rb +6 -6
  15. data/lib/padrino-admin/generators/templates/assets/stylesheets/base.css +370 -0
  16. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/amro/style.css +364 -0
  17. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/bec-green/style.css +290 -0
  18. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/bec/style.css +301 -0
  19. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/blue/style.css +287 -0
  20. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/default/style.css +373 -0
  21. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/djime-cerulean/style.css +305 -0
  22. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/kathleene/style.css +279 -0
  23. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/olive/style.css +345 -0
  24. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/orange/style.css +269 -0
  25. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/reidb-greenish/style.css +302 -0
  26. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/ruby/style.css +281 -0
  27. data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/warehouse/style.css +391 -0
  28. data/lib/padrino-admin/generators/templates/erb/app/base/_sidebar.erb.tt +13 -0
  29. data/lib/padrino-admin/generators/templates/erb/app/base/index.erb.tt +17 -0
  30. data/lib/padrino-admin/generators/templates/erb/app/layouts/application.erb.tt +44 -0
  31. data/lib/padrino-admin/generators/templates/erb/app/sessions/new.erb.tt +46 -0
  32. data/lib/padrino-admin/generators/templates/erb/page/_form.erb.tt +11 -0
  33. data/lib/padrino-admin/generators/templates/erb/page/edit.erb.tt +18 -0
  34. data/lib/padrino-admin/generators/templates/erb/page/index.erb.tt +36 -0
  35. data/lib/padrino-admin/generators/templates/erb/page/new.erb.tt +17 -0
  36. data/lib/padrino-admin/generators/templates/page/controller.rb.tt +32 -22
  37. data/lib/padrino-admin/helpers/authentication_helpers.rb +8 -9
  38. data/lib/padrino-admin/helpers/view_helpers.rb +20 -338
  39. data/lib/padrino-admin/locale/admin/de.yml +15 -49
  40. data/lib/padrino-admin/locale/admin/en.yml +12 -50
  41. data/lib/padrino-admin/locale/admin/it.yml +15 -50
  42. data/padrino-admin.gemspec +40 -321
  43. data/test/fixtures/data_mapper.rb +56 -7
  44. data/test/generators/test_admin_app_generator.rb +17 -16
  45. data/test/generators/test_admin_page_generator.rb +12 -16
  46. data/test/test_admin_application.rb +193 -12
  47. metadata +33 -314
  48. data/lib/padrino-admin/column_store.rb +0 -156
  49. data/lib/padrino-admin/config.rb +0 -36
  50. data/lib/padrino-admin/generators/admin_uploader.rb +0 -88
  51. data/lib/padrino-admin/generators/app/controllers/accounts.rb +0 -37
  52. data/lib/padrino-admin/generators/app/controllers/base.rb +0 -11
  53. data/lib/padrino-admin/generators/app/controllers/javascripts.rb +0 -10
  54. data/lib/padrino-admin/generators/app/views/accounts/_form.haml +0 -24
  55. data/lib/padrino-admin/generators/app/views/accounts/edit.haml +0 -3
  56. data/lib/padrino-admin/generators/app/views/accounts/grid.js.erb +0 -9
  57. data/lib/padrino-admin/generators/app/views/accounts/new.haml +0 -3
  58. data/lib/padrino-admin/generators/app/views/accounts/store.jml +0 -7
  59. data/lib/padrino-admin/generators/app/views/base/dashboard.haml +0 -3
  60. data/lib/padrino-admin/generators/app/views/base/index.haml +0 -19
  61. data/lib/padrino-admin/generators/app/views/javascripts/admin.js.erb +0 -490
  62. data/lib/padrino-admin/generators/app/views/javascripts/locale.js.erb +0 -135
  63. data/lib/padrino-admin/generators/app/views/sessions/new.haml +0 -26
  64. data/lib/padrino-admin/generators/assets/flash/charts.swf +0 -0
  65. data/lib/padrino-admin/generators/assets/flash/clippy.swf +0 -0
  66. data/lib/padrino-admin/generators/assets/flash/expressinstall.swf +0 -0
  67. data/lib/padrino-admin/generators/assets/flash/swfupload.swf +0 -0
  68. data/lib/padrino-admin/generators/assets/images/admin/back.gif +0 -0
  69. data/lib/padrino-admin/generators/assets/images/admin/background.png +0 -0
  70. data/lib/padrino-admin/generators/assets/images/admin/bg-content.png +0 -0
  71. data/lib/padrino-admin/generators/assets/images/admin/bg-hd-slate.png +0 -0
  72. data/lib/padrino-admin/generators/assets/images/admin/bg-hd.png +0 -0
  73. data/lib/padrino-admin/generators/assets/images/admin/bg-intro.png +0 -0
  74. data/lib/padrino-admin/generators/assets/images/admin/bg-login.png +0 -0
  75. data/lib/padrino-admin/generators/assets/images/admin/bg-menu-slate.png +0 -0
  76. data/lib/padrino-admin/generators/assets/images/admin/bg-menu.png +0 -0
  77. data/lib/padrino-admin/generators/assets/images/admin/bg.png +0 -0
  78. data/lib/padrino-admin/generators/assets/images/admin/btn-login.png +0 -0
  79. data/lib/padrino-admin/generators/assets/images/admin/cancel.gif +0 -0
  80. data/lib/padrino-admin/generators/assets/images/admin/categories.gif +0 -0
  81. data/lib/padrino-admin/generators/assets/images/admin/close.gif +0 -0
  82. data/lib/padrino-admin/generators/assets/images/admin/close.png +0 -0
  83. data/lib/padrino-admin/generators/assets/images/admin/delete.gif +0 -0
  84. data/lib/padrino-admin/generators/assets/images/admin/download.gif +0 -0
  85. data/lib/padrino-admin/generators/assets/images/admin/duplicate.gif +0 -0
  86. data/lib/padrino-admin/generators/assets/images/admin/edit.gif +0 -0
  87. data/lib/padrino-admin/generators/assets/images/admin/export.gif +0 -0
  88. data/lib/padrino-admin/generators/assets/images/admin/hd-bg.gif +0 -0
  89. data/lib/padrino-admin/generators/assets/images/admin/image.gif +0 -0
  90. data/lib/padrino-admin/generators/assets/images/admin/loader.gif +0 -0
  91. data/lib/padrino-admin/generators/assets/images/admin/logo-loader.png +0 -0
  92. data/lib/padrino-admin/generators/assets/images/admin/logo-small.png +0 -0
  93. data/lib/padrino-admin/generators/assets/images/admin/new.gif +0 -0
  94. data/lib/padrino-admin/generators/assets/images/admin/no-image.png +0 -0
  95. data/lib/padrino-admin/generators/assets/images/admin/preview.gif +0 -0
  96. data/lib/padrino-admin/generators/assets/images/admin/print.gif +0 -0
  97. data/lib/padrino-admin/generators/assets/images/admin/save.gif +0 -0
  98. data/lib/padrino-admin/generators/assets/images/admin/support.gif +0 -0
  99. data/lib/padrino-admin/generators/assets/images/admin/up.gif +0 -0
  100. data/lib/padrino-admin/generators/assets/images/ext/default/box/corners-blue.gif +0 -0
  101. data/lib/padrino-admin/generators/assets/images/ext/default/box/corners.gif +0 -0
  102. data/lib/padrino-admin/generators/assets/images/ext/default/box/l-blue.gif +0 -0
  103. data/lib/padrino-admin/generators/assets/images/ext/default/box/l.gif +0 -0
  104. data/lib/padrino-admin/generators/assets/images/ext/default/box/r-blue.gif +0 -0
  105. data/lib/padrino-admin/generators/assets/images/ext/default/box/r.gif +0 -0
  106. data/lib/padrino-admin/generators/assets/images/ext/default/box/tb-blue.gif +0 -0
  107. data/lib/padrino-admin/generators/assets/images/ext/default/box/tb.gif +0 -0
  108. data/lib/padrino-admin/generators/assets/images/ext/default/button/arrow.gif +0 -0
  109. data/lib/padrino-admin/generators/assets/images/ext/default/button/btn.gif +0 -0
  110. data/lib/padrino-admin/generators/assets/images/ext/default/button/group-cs.gif +0 -0
  111. data/lib/padrino-admin/generators/assets/images/ext/default/button/group-lr.gif +0 -0
  112. data/lib/padrino-admin/generators/assets/images/ext/default/button/group-tb.gif +0 -0
  113. data/lib/padrino-admin/generators/assets/images/ext/default/button/s-arrow-b-noline.gif +0 -0
  114. data/lib/padrino-admin/generators/assets/images/ext/default/button/s-arrow-b.gif +0 -0
  115. data/lib/padrino-admin/generators/assets/images/ext/default/button/s-arrow-bo.gif +0 -0
  116. data/lib/padrino-admin/generators/assets/images/ext/default/button/s-arrow-noline.gif +0 -0
  117. data/lib/padrino-admin/generators/assets/images/ext/default/button/s-arrow-o.gif +0 -0
  118. data/lib/padrino-admin/generators/assets/images/ext/default/button/s-arrow.gif +0 -0
  119. data/lib/padrino-admin/generators/assets/images/ext/default/dd/drop-add.gif +0 -0
  120. data/lib/padrino-admin/generators/assets/images/ext/default/dd/drop-no.gif +0 -0
  121. data/lib/padrino-admin/generators/assets/images/ext/default/dd/drop-yes.gif +0 -0
  122. data/lib/padrino-admin/generators/assets/images/ext/default/editor/tb-sprite.gif +0 -0
  123. data/lib/padrino-admin/generators/assets/images/ext/default/form/checkbox.gif +0 -0
  124. data/lib/padrino-admin/generators/assets/images/ext/default/form/clear-trigger.gif +0 -0
  125. data/lib/padrino-admin/generators/assets/images/ext/default/form/clear-trigger.psd +0 -0
  126. data/lib/padrino-admin/generators/assets/images/ext/default/form/date-trigger.gif +0 -0
  127. data/lib/padrino-admin/generators/assets/images/ext/default/form/date-trigger.psd +0 -0
  128. data/lib/padrino-admin/generators/assets/images/ext/default/form/error-tip-corners.gif +0 -0
  129. data/lib/padrino-admin/generators/assets/images/ext/default/form/exclamation.gif +0 -0
  130. data/lib/padrino-admin/generators/assets/images/ext/default/form/radio.gif +0 -0
  131. data/lib/padrino-admin/generators/assets/images/ext/default/form/search-trigger.gif +0 -0
  132. data/lib/padrino-admin/generators/assets/images/ext/default/form/search-trigger.psd +0 -0
  133. data/lib/padrino-admin/generators/assets/images/ext/default/form/text-bg.gif +0 -0
  134. data/lib/padrino-admin/generators/assets/images/ext/default/form/trigger-tpl.gif +0 -0
  135. data/lib/padrino-admin/generators/assets/images/ext/default/form/trigger.gif +0 -0
  136. data/lib/padrino-admin/generators/assets/images/ext/default/form/trigger.psd +0 -0
  137. data/lib/padrino-admin/generators/assets/images/ext/default/gradient-bg.gif +0 -0
  138. data/lib/padrino-admin/generators/assets/images/ext/default/grid/Thumbs.db +0 -0
  139. data/lib/padrino-admin/generators/assets/images/ext/default/grid/arrow-left-white.gif +0 -0
  140. data/lib/padrino-admin/generators/assets/images/ext/default/grid/arrow-right-white.gif +0 -0
  141. data/lib/padrino-admin/generators/assets/images/ext/default/grid/col-move-bottom.gif +0 -0
  142. data/lib/padrino-admin/generators/assets/images/ext/default/grid/col-move-top.gif +0 -0
  143. data/lib/padrino-admin/generators/assets/images/ext/default/grid/columns.gif +0 -0
  144. data/lib/padrino-admin/generators/assets/images/ext/default/grid/dirty.gif +0 -0
  145. data/lib/padrino-admin/generators/assets/images/ext/default/grid/done.gif +0 -0
  146. data/lib/padrino-admin/generators/assets/images/ext/default/grid/drop-no.gif +0 -0
  147. data/lib/padrino-admin/generators/assets/images/ext/default/grid/drop-yes.gif +0 -0
  148. data/lib/padrino-admin/generators/assets/images/ext/default/grid/footer-bg.gif +0 -0
  149. data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid-blue-hd.gif +0 -0
  150. data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid-blue-split.gif +0 -0
  151. data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid-hrow.gif +0 -0
  152. data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid-loading.gif +0 -0
  153. data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid-split.gif +0 -0
  154. data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid-vista-hd.gif +0 -0
  155. data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid3-hd-btn.gif +0 -0
  156. data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid3-hrow-over.gif +0 -0
  157. data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid3-hrow.gif +0 -0
  158. data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid3-special-col-bg.gif +0 -0
  159. data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid3-special-col-sel-bg.gif +0 -0
  160. data/lib/padrino-admin/generators/assets/images/ext/default/grid/group-by.gif +0 -0
  161. data/lib/padrino-admin/generators/assets/images/ext/default/grid/group-expand-sprite.gif +0 -0
  162. data/lib/padrino-admin/generators/assets/images/ext/default/grid/hd-pop.gif +0 -0
  163. data/lib/padrino-admin/generators/assets/images/ext/default/grid/hmenu-asc.gif +0 -0
  164. data/lib/padrino-admin/generators/assets/images/ext/default/grid/hmenu-desc.gif +0 -0
  165. data/lib/padrino-admin/generators/assets/images/ext/default/grid/hmenu-lock.gif +0 -0
  166. data/lib/padrino-admin/generators/assets/images/ext/default/grid/hmenu-lock.png +0 -0
  167. data/lib/padrino-admin/generators/assets/images/ext/default/grid/hmenu-unlock.gif +0 -0
  168. data/lib/padrino-admin/generators/assets/images/ext/default/grid/hmenu-unlock.png +0 -0
  169. data/lib/padrino-admin/generators/assets/images/ext/default/grid/invalid_line.gif +0 -0
  170. data/lib/padrino-admin/generators/assets/images/ext/default/grid/loading.gif +0 -0
  171. data/lib/padrino-admin/generators/assets/images/ext/default/grid/mso-hd.gif +0 -0
  172. data/lib/padrino-admin/generators/assets/images/ext/default/grid/nowait.gif +0 -0
  173. data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-first-disabled.gif +0 -0
  174. data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-first.gif +0 -0
  175. data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-last-disabled.gif +0 -0
  176. data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-last.gif +0 -0
  177. data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-next-disabled.gif +0 -0
  178. data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-next.gif +0 -0
  179. data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-prev-disabled.gif +0 -0
  180. data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-prev.gif +0 -0
  181. data/lib/padrino-admin/generators/assets/images/ext/default/grid/pick-button.gif +0 -0
  182. data/lib/padrino-admin/generators/assets/images/ext/default/grid/refresh.gif +0 -0
  183. data/lib/padrino-admin/generators/assets/images/ext/default/grid/row-check-sprite.gif +0 -0
  184. data/lib/padrino-admin/generators/assets/images/ext/default/grid/row-expand-sprite.gif +0 -0
  185. data/lib/padrino-admin/generators/assets/images/ext/default/grid/row-over.gif +0 -0
  186. data/lib/padrino-admin/generators/assets/images/ext/default/grid/row-sel.gif +0 -0
  187. data/lib/padrino-admin/generators/assets/images/ext/default/grid/sort-hd.gif +0 -0
  188. data/lib/padrino-admin/generators/assets/images/ext/default/grid/sort_asc.gif +0 -0
  189. data/lib/padrino-admin/generators/assets/images/ext/default/grid/sort_desc.gif +0 -0
  190. data/lib/padrino-admin/generators/assets/images/ext/default/grid/wait.gif +0 -0
  191. data/lib/padrino-admin/generators/assets/images/ext/default/layout/collapse.gif +0 -0
  192. data/lib/padrino-admin/generators/assets/images/ext/default/layout/expand.gif +0 -0
  193. data/lib/padrino-admin/generators/assets/images/ext/default/layout/gradient-bg.gif +0 -0
  194. data/lib/padrino-admin/generators/assets/images/ext/default/layout/mini-bottom.gif +0 -0
  195. data/lib/padrino-admin/generators/assets/images/ext/default/layout/mini-left.gif +0 -0
  196. data/lib/padrino-admin/generators/assets/images/ext/default/layout/mini-right.gif +0 -0
  197. data/lib/padrino-admin/generators/assets/images/ext/default/layout/mini-top.gif +0 -0
  198. data/lib/padrino-admin/generators/assets/images/ext/default/layout/ns-collapse.gif +0 -0
  199. data/lib/padrino-admin/generators/assets/images/ext/default/layout/ns-expand.gif +0 -0
  200. data/lib/padrino-admin/generators/assets/images/ext/default/layout/panel-close.gif +0 -0
  201. data/lib/padrino-admin/generators/assets/images/ext/default/layout/panel-title-bg.gif +0 -0
  202. data/lib/padrino-admin/generators/assets/images/ext/default/layout/panel-title-light-bg.gif +0 -0
  203. data/lib/padrino-admin/generators/assets/images/ext/default/layout/stick.gif +0 -0
  204. data/lib/padrino-admin/generators/assets/images/ext/default/layout/stuck.gif +0 -0
  205. data/lib/padrino-admin/generators/assets/images/ext/default/layout/tab-close-on.gif +0 -0
  206. data/lib/padrino-admin/generators/assets/images/ext/default/layout/tab-close.gif +0 -0
  207. data/lib/padrino-admin/generators/assets/images/ext/default/menu/checked.gif +0 -0
  208. data/lib/padrino-admin/generators/assets/images/ext/default/menu/group-checked.gif +0 -0
  209. data/lib/padrino-admin/generators/assets/images/ext/default/menu/item-over.gif +0 -0
  210. data/lib/padrino-admin/generators/assets/images/ext/default/menu/menu-parent.gif +0 -0
  211. data/lib/padrino-admin/generators/assets/images/ext/default/menu/menu.gif +0 -0
  212. data/lib/padrino-admin/generators/assets/images/ext/default/menu/unchecked.gif +0 -0
  213. data/lib/padrino-admin/generators/assets/images/ext/default/panel/corners-sprite.gif +0 -0
  214. data/lib/padrino-admin/generators/assets/images/ext/default/panel/left-right.gif +0 -0
  215. data/lib/padrino-admin/generators/assets/images/ext/default/panel/light-hd.gif +0 -0
  216. data/lib/padrino-admin/generators/assets/images/ext/default/panel/tool-sprite-tpl.gif +0 -0
  217. data/lib/padrino-admin/generators/assets/images/ext/default/panel/tool-sprites.gif +0 -0
  218. data/lib/padrino-admin/generators/assets/images/ext/default/panel/tools-sprites-trans.gif +0 -0
  219. data/lib/padrino-admin/generators/assets/images/ext/default/panel/top-bottom.gif +0 -0
  220. data/lib/padrino-admin/generators/assets/images/ext/default/panel/top-bottom.png +0 -0
  221. data/lib/padrino-admin/generators/assets/images/ext/default/panel/white-corners-sprite.gif +0 -0
  222. data/lib/padrino-admin/generators/assets/images/ext/default/panel/white-left-right.gif +0 -0
  223. data/lib/padrino-admin/generators/assets/images/ext/default/panel/white-top-bottom.gif +0 -0
  224. data/lib/padrino-admin/generators/assets/images/ext/default/progress/progress-bg.gif +0 -0
  225. data/lib/padrino-admin/generators/assets/images/ext/default/qtip/bg.gif +0 -0
  226. data/lib/padrino-admin/generators/assets/images/ext/default/qtip/close.gif +0 -0
  227. data/lib/padrino-admin/generators/assets/images/ext/default/qtip/tip-anchor-sprite.gif +0 -0
  228. data/lib/padrino-admin/generators/assets/images/ext/default/qtip/tip-sprite.gif +0 -0
  229. data/lib/padrino-admin/generators/assets/images/ext/default/s.gif +0 -0
  230. data/lib/padrino-admin/generators/assets/images/ext/default/shadow-c.png +0 -0
  231. data/lib/padrino-admin/generators/assets/images/ext/default/shadow-lr.png +0 -0
  232. data/lib/padrino-admin/generators/assets/images/ext/default/shadow.png +0 -0
  233. data/lib/padrino-admin/generators/assets/images/ext/default/shared/blue-loading.gif +0 -0
  234. data/lib/padrino-admin/generators/assets/images/ext/default/shared/calendar.gif +0 -0
  235. data/lib/padrino-admin/generators/assets/images/ext/default/shared/glass-bg.gif +0 -0
  236. data/lib/padrino-admin/generators/assets/images/ext/default/shared/hd-sprite.gif +0 -0
  237. data/lib/padrino-admin/generators/assets/images/ext/default/shared/large-loading.gif +0 -0
  238. data/lib/padrino-admin/generators/assets/images/ext/default/shared/left-btn.gif +0 -0
  239. data/lib/padrino-admin/generators/assets/images/ext/default/shared/loading-balls.gif +0 -0
  240. data/lib/padrino-admin/generators/assets/images/ext/default/shared/right-btn.gif +0 -0
  241. data/lib/padrino-admin/generators/assets/images/ext/default/shared/warning.gif +0 -0
  242. data/lib/padrino-admin/generators/assets/images/ext/default/sizer/e-handle-dark.gif +0 -0
  243. data/lib/padrino-admin/generators/assets/images/ext/default/sizer/e-handle.gif +0 -0
  244. data/lib/padrino-admin/generators/assets/images/ext/default/sizer/ne-handle-dark.gif +0 -0
  245. data/lib/padrino-admin/generators/assets/images/ext/default/sizer/ne-handle.gif +0 -0
  246. data/lib/padrino-admin/generators/assets/images/ext/default/sizer/nw-handle-dark.gif +0 -0
  247. data/lib/padrino-admin/generators/assets/images/ext/default/sizer/nw-handle.gif +0 -0
  248. data/lib/padrino-admin/generators/assets/images/ext/default/sizer/s-handle-dark.gif +0 -0
  249. data/lib/padrino-admin/generators/assets/images/ext/default/sizer/s-handle.gif +0 -0
  250. data/lib/padrino-admin/generators/assets/images/ext/default/sizer/se-handle-dark.gif +0 -0
  251. data/lib/padrino-admin/generators/assets/images/ext/default/sizer/se-handle.gif +0 -0
  252. data/lib/padrino-admin/generators/assets/images/ext/default/sizer/square.gif +0 -0
  253. data/lib/padrino-admin/generators/assets/images/ext/default/sizer/sw-handle-dark.gif +0 -0
  254. data/lib/padrino-admin/generators/assets/images/ext/default/sizer/sw-handle.gif +0 -0
  255. data/lib/padrino-admin/generators/assets/images/ext/default/slider/slider-bg.png +0 -0
  256. data/lib/padrino-admin/generators/assets/images/ext/default/slider/slider-thumb.png +0 -0
  257. data/lib/padrino-admin/generators/assets/images/ext/default/slider/slider-v-bg.png +0 -0
  258. data/lib/padrino-admin/generators/assets/images/ext/default/slider/slider-v-thumb.png +0 -0
  259. data/lib/padrino-admin/generators/assets/images/ext/default/tabs/scroll-left.gif +0 -0
  260. data/lib/padrino-admin/generators/assets/images/ext/default/tabs/scroll-right.gif +0 -0
  261. data/lib/padrino-admin/generators/assets/images/ext/default/tabs/scroller-bg.gif +0 -0
  262. data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-btm-inactive-left-bg.gif +0 -0
  263. data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-btm-inactive-right-bg.gif +0 -0
  264. data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-btm-left-bg.gif +0 -0
  265. data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-btm-right-bg.gif +0 -0
  266. data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-close.gif +0 -0
  267. data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-strip-bg.gif +0 -0
  268. data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-strip-bg.png +0 -0
  269. data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-strip-btm-bg.gif +0 -0
  270. data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tabs-sprite.gif +0 -0
  271. data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/bg.gif +0 -0
  272. data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/btn-arrow-light.gif +0 -0
  273. data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/btn-arrow.gif +0 -0
  274. data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/btn-over-bg.gif +0 -0
  275. data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/gray-bg.gif +0 -0
  276. data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/more.gif +0 -0
  277. data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/tb-bg.gif +0 -0
  278. data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/tb-btn-sprite.gif +0 -0
  279. data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/tb-xl-btn-sprite.gif +0 -0
  280. data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/tb-xl-sep.gif +0 -0
  281. data/lib/padrino-admin/generators/assets/images/ext/default/tree/arrows.gif +0 -0
  282. data/lib/padrino-admin/generators/assets/images/ext/default/tree/drop-add.gif +0 -0
  283. data/lib/padrino-admin/generators/assets/images/ext/default/tree/drop-between.gif +0 -0
  284. data/lib/padrino-admin/generators/assets/images/ext/default/tree/drop-no.gif +0 -0
  285. data/lib/padrino-admin/generators/assets/images/ext/default/tree/drop-over.gif +0 -0
  286. data/lib/padrino-admin/generators/assets/images/ext/default/tree/drop-under.gif +0 -0
  287. data/lib/padrino-admin/generators/assets/images/ext/default/tree/drop-yes.gif +0 -0
  288. data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-end-minus-nl.gif +0 -0
  289. data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-end-minus.gif +0 -0
  290. data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-end-plus-nl.gif +0 -0
  291. data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-end-plus.gif +0 -0
  292. data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-end.gif +0 -0
  293. data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-line.gif +0 -0
  294. data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-minus-nl.gif +0 -0
  295. data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-minus.gif +0 -0
  296. data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-plus-nl.gif +0 -0
  297. data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-plus.gif +0 -0
  298. data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow.gif +0 -0
  299. data/lib/padrino-admin/generators/assets/images/ext/default/tree/folder-open.gif +0 -0
  300. data/lib/padrino-admin/generators/assets/images/ext/default/tree/folder.gif +0 -0
  301. data/lib/padrino-admin/generators/assets/images/ext/default/tree/leaf.gif +0 -0
  302. data/lib/padrino-admin/generators/assets/images/ext/default/tree/loading.gif +0 -0
  303. data/lib/padrino-admin/generators/assets/images/ext/default/tree/s.gif +0 -0
  304. data/lib/padrino-admin/generators/assets/images/ext/default/window/icon-error.gif +0 -0
  305. data/lib/padrino-admin/generators/assets/images/ext/default/window/icon-info.gif +0 -0
  306. data/lib/padrino-admin/generators/assets/images/ext/default/window/icon-question.gif +0 -0
  307. data/lib/padrino-admin/generators/assets/images/ext/default/window/icon-warning.gif +0 -0
  308. data/lib/padrino-admin/generators/assets/images/ext/default/window/left-corners.png +0 -0
  309. data/lib/padrino-admin/generators/assets/images/ext/default/window/left-corners.psd +0 -0
  310. data/lib/padrino-admin/generators/assets/images/ext/default/window/left-right.png +0 -0
  311. data/lib/padrino-admin/generators/assets/images/ext/default/window/left-right.psd +0 -0
  312. data/lib/padrino-admin/generators/assets/images/ext/default/window/right-corners.png +0 -0
  313. data/lib/padrino-admin/generators/assets/images/ext/default/window/right-corners.psd +0 -0
  314. data/lib/padrino-admin/generators/assets/images/ext/default/window/top-bottom.png +0 -0
  315. data/lib/padrino-admin/generators/assets/images/ext/default/window/top-bottom.psd +0 -0
  316. data/lib/padrino-admin/generators/assets/javascripts/controls.js +0 -3
  317. data/lib/padrino-admin/generators/assets/javascripts/dragdrop.js +0 -3
  318. data/lib/padrino-admin/generators/assets/javascripts/effects.js +0 -4
  319. data/lib/padrino-admin/generators/assets/javascripts/ext.js +0 -29
  320. data/lib/padrino-admin/generators/assets/javascripts/prototype.js +0 -14
  321. data/lib/padrino-admin/generators/assets/javascripts/swfupload.js +0 -4
  322. data/lib/padrino-admin/generators/assets/stylesheets/admin.css +0 -60
  323. data/lib/padrino-admin/generators/assets/stylesheets/ext.css +0 -1543
  324. data/lib/padrino-admin/generators/assets/stylesheets/login.css +0 -17
  325. data/lib/padrino-admin/generators/assets/stylesheets/standard.css +0 -62
  326. data/lib/padrino-admin/generators/templates/page/views/_form.haml.tt +0 -9
  327. data/lib/padrino-admin/generators/templates/page/views/edit.haml.tt +0 -3
  328. data/lib/padrino-admin/generators/templates/page/views/grid.js.erb.tt +0 -9
  329. data/lib/padrino-admin/generators/templates/page/views/new.haml.tt +0 -3
  330. data/lib/padrino-admin/generators/templates/page/views/store.jml.tt +0 -6
  331. data/lib/padrino-admin/generators/templates/uploader/controller.rb +0 -24
  332. data/lib/padrino-admin/generators/templates/uploader/lib/uploader.rb +0 -66
  333. data/lib/padrino-admin/generators/templates/uploader/views/grid.js.erb +0 -57
  334. data/lib/padrino-admin/generators/templates/uploader/views/store.jml +0 -10
  335. data/lib/padrino-admin/locale/extjs/de.yml +0 -147
  336. data/lib/padrino-admin/locale/extjs/en.yml +0 -147
  337. data/lib/padrino-admin/locale/extjs/it.yml +0 -147
  338. data/lib/padrino-admin/orm.rb +0 -48
  339. data/lib/padrino-admin/orm/abstract.rb +0 -95
  340. data/lib/padrino-admin/orm/activerecord.rb +0 -144
  341. data/lib/padrino-admin/orm/datamapper.rb +0 -229
  342. data/lib/padrino-admin/orm/mongomapper.rb +0 -65
  343. data/lib/padrino-admin/utils/literal.rb +0 -13
  344. data/test/fixtures/active_record.rb +0 -29
  345. data/test/fixtures/mongo_mapper.rb +0 -12
  346. data/test/fixtures/test_column_store.jml +0 -11
  347. data/test/generators/test_admin_uploader_generator.rb +0 -56
  348. data/test/test_access_control.rb +0 -99
  349. data/test/test_active_record.rb +0 -96
  350. data/test/test_column_store.rb +0 -87
  351. data/test/test_config.rb +0 -13
  352. data/test/test_data_mapper.rb +0 -114
  353. data/test/test_mongo_mapper.rb +0 -30
@@ -1,65 +0,0 @@
1
- module Padrino
2
- module Admin
3
- module Orm
4
- module MongoMapper
5
- ##
6
- # Here basic functions for interact with MongoMapper
7
- #
8
- module Base
9
-
10
- def self.included(base) #:nodoc:
11
- base.send :include, Padrino::Admin::Orm::Abstract::Base
12
- base.send :include, InstanceMethods
13
- base.extend ClassMethods
14
- end
15
-
16
- module InstanceMethods
17
- end # InstanceMethods
18
-
19
- module ClassMethods
20
- ##
21
- # Return :activerecord
22
- #
23
- def orm
24
- :mongomapper
25
- end
26
- end # ClassMethods
27
- end # Base
28
-
29
- ##
30
- # Here extension for Account for MongoMapper
31
- #
32
- # Basically we need only to perform:
33
- #
34
- # * Validations (email, password, role)
35
- # * Generate crypted_password on save
36
- #
37
- module Account
38
-
39
- def self.included(base) #:nodoc:
40
- super(base)
41
- base.send :include, Padrino::Admin::Orm::Abstract::Account
42
- base.send :attr_accessor, :password, :password_confirmation
43
- # Properties
44
- base.key :email, String
45
- base.key :crypted_password, String
46
- base.key :salt, String
47
- base.key :role, String
48
- # Validations
49
- base.validates_presence_of :email, :role
50
- base.validates_presence_of :password, :if => :password_required
51
- base.validates_presence_of :password_confirmation, :if => :password_required
52
- base.validates_length_of :password, :within => 4..40, :if => :password_required
53
- base.validates_confirmation_of :password, :if => :password_required
54
- base.validates_length_of :email, :within => 3..100
55
- base.validates_uniqueness_of :email, :case_sensitive => false
56
- base.validates_format_of :email, :with => /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\Z/i
57
- base.validates_format_of :role, :with => /[A-Za-z]/
58
- # Callbacks
59
- base.before_save :generate_password
60
- end
61
- end # Account
62
- end # MongoMapper
63
- end # Orm
64
- end # Admin
65
- end # Padrino
@@ -1,13 +0,0 @@
1
- module Padrino
2
- module Admin
3
- module Utils
4
- # This module it's used for convert a string in a literal json variable
5
- module Literal
6
- # This method return a json literal variable
7
- def to_l
8
- Padrino::Admin::Config::Variable.new(self)
9
- end
10
- end
11
- end
12
- end
13
- end
@@ -1,29 +0,0 @@
1
- require 'active_record'
2
-
3
- ActiveRecord::Base.establish_connection(:adapter => "sqlite3", :database => ":memory:")
4
-
5
- ActiveRecord::Schema.define do
6
- create_table :accounts, :force => true do |t|
7
- t.column :id, :integer
8
- t.column :name, :string
9
- t.column :role, :string
10
- t.column :crypted_password, :string
11
- t.column :salt, :string
12
- t.column :email, :string
13
- end
14
-
15
- create_table :categories, :force => true do |t|
16
- t.column :name, :string
17
- t.column :account_id, :integer
18
- end
19
- end
20
-
21
- class Account < ActiveRecord::Base
22
- has_many :categories
23
- end
24
-
25
- class Category < ActiveRecord::Base
26
- belongs_to :account
27
- end
28
-
29
- Padrino::Admin::Orm.register!
@@ -1,12 +0,0 @@
1
- require 'mongo_mapper'
2
-
3
- MongoMapper.connection = Mongo::Connection.new("127.0.0.1")
4
- MongoMapper.database = 'test'
5
-
6
- class Account
7
- include MongoMapper::Document
8
- key :name, String
9
- end
10
-
11
- Account.collection.remove
12
- Padrino::Admin::Orm.register!
@@ -1,11 +0,0 @@
1
- columns:
2
- - method: name.upcase
3
- header: Name Upcase
4
- dataIndex: name
5
- - method: surname
6
- - method: category.name
7
- dataIndex: categories.name
8
- - method: email
9
- header: E-mail
10
- sortable: false
11
- - method: role
@@ -1,56 +0,0 @@
1
- require File.dirname(__FILE__) + '/../helper'
2
- require 'thor/group'
3
- require 'fakeweb'
4
- require 'padrino-gen/generators/actions'
5
- Dir[File.dirname(__FILE__) + '/generators/{components}/**/*.rb'].each { |lib| require lib }
6
-
7
- class TestAdminUploaderGenerator < Test::Unit::TestCase
8
-
9
- def setup
10
- `rm -rf /tmp/sample_project`
11
- @project = Padrino::Generators::Project.dup
12
- @admin = Padrino::Generators::AdminApp.dup
13
- @uploader = Padrino::Generators::AdminUploader.dup
14
- end
15
-
16
- context 'the admin uploader generator' do
17
-
18
- should 'fail outside app root' do
19
- output = silence_logger { @uploader.start(['-r=/tmp/sample_project']) }
20
- assert_match(/not at the root/, output)
21
- assert_no_file_exists('/tmp/admin')
22
- end
23
-
24
- should 'fail if we don\'t have admin application' do
25
- assert_nothing_raised { silence_logger { @project.start(['sample_project', '--root=/tmp']) } }
26
- assert_raise(SystemExit) { silence_logger { @uploader.start(['-r=/tmp/sample_project']) } }
27
- end
28
-
29
- should 'correctyl generate a new padrino admin application for activerecord' do
30
- assert_nothing_raised { silence_logger { @project.start(['sample_project', '--root=/tmp', '-d=activerecord']) } }
31
- assert_nothing_raised { silence_logger { @admin.start(['--root=/tmp/sample_project']) } }
32
- assert_nothing_raised { silence_logger { @uploader.start(['--root=/tmp/sample_project']) } }
33
- assert_file_exists '/tmp/sample_project/admin/controllers/uploads.rb'
34
- assert_file_exists '/tmp/sample_project/admin/views/uploads/grid.js.erb'
35
- assert_file_exists '/tmp/sample_project/admin/views/uploads/store.jml'
36
- assert_file_exists '/tmp/sample_project/lib/uploader.rb'
37
- assert_match_in_file 'mount_uploader :file, Uploader', '/tmp/sample_project/app/models/upload.rb'
38
- assert_match_in_file "\n# Uploader requirements\n# gem 'mini_magick'\ngem 'carrierwave'\n", "/tmp/sample_project/Gemfile"
39
- assert_match_in_file "role.project_module :uploads, \"/admin/uploads.js\"", '/tmp/sample_project/admin/app.rb'
40
- end
41
-
42
- should 'correctyl generate a new padrino admin application for datamapper' do
43
- assert_nothing_raised { silence_logger { @project.start(['sample_project', '--root=/tmp', '-d=datamapper']) } }
44
- assert_nothing_raised { silence_logger { @admin.start(['--root=/tmp/sample_project']) } }
45
- assert_nothing_raised { silence_logger { @uploader.start(['--root=/tmp/sample_project']) } }
46
- assert_file_exists '/tmp/sample_project/admin/controllers/uploads.rb'
47
- assert_file_exists '/tmp/sample_project/admin/views/uploads/grid.js.erb'
48
- assert_file_exists '/tmp/sample_project/admin/views/uploads/store.jml'
49
- assert_file_exists '/tmp/sample_project/lib/uploader.rb'
50
- assert_match_in_file 'property :file, String, :auto_validation => false', '/tmp/sample_project/app/models/upload.rb'
51
- assert_match_in_file 'mount_uploader :file, Uploader', '/tmp/sample_project/app/models/upload.rb'
52
- assert_match_in_file "\n# Uploader requirements\n# gem 'mini_magick'\ngem 'carrierwave'\n", "/tmp/sample_project/Gemfile"
53
- assert_match_in_file "role.project_module :uploads, \"/admin/uploads.js\"", '/tmp/sample_project/admin/app.rb'
54
- end
55
- end
56
- end
@@ -1,99 +0,0 @@
1
- require 'helper'
2
-
3
- class TestAccessControl < Test::Unit::TestCase
4
-
5
- def setup
6
- load_fixture 'data_mapper'
7
- @access = Class.new(Padrino::Admin::AccessControl::Base)
8
-
9
- @access.roles_for :any do |role|
10
- role.allow "/sessions"
11
- role.deny "/special"
12
- end
13
-
14
- @access.roles_for :admin do |role, account|
15
- role.allow "/admin/base"
16
- role.deny "/admin/accounts/details"
17
- role.deny "/admin/accounts/details" # Only for check that we don't have two paths equal
18
-
19
- role.project_module "Padrino's Dashboard" do |project|
20
- project.menu :general_settings, "/admin/settings" do |submenu|
21
- submenu.add :accounts, "/admin/accounts" do |submenu|
22
- submenu.add :sub_accounts, "/admin/accounts/subaccounts"
23
- submenu.add :sub_accounts, "/admin/accounts/subaccounts" # Only for check that we don't have two paths equal
24
- end
25
- end
26
- end
27
- end
28
-
29
- @access.roles_for :editor, :admin do |role, account|
30
- role.project_module :categories do |project|
31
- account.categories.each do |category|
32
- project.menu category.name, "/admin/categories/#{category.id}.js"
33
- end
34
- project.menu :foo
35
- end
36
- end
37
- end
38
-
39
- context 'for authorization functionality' do
40
-
41
- should 'check empty auths' do
42
- empty = Class.new(Padrino::Admin::AccessControl::Base)
43
- assert empty.auths.can?("/foo/bar")
44
- assert ! empty.auths.cannot?("/foo/bar")
45
- end
46
-
47
- should 'check auths without account' do
48
- assert_equal ["/sessions"], @access.auths.allowed
49
- assert_equal ["/special"], @access.auths.denied
50
- end
51
-
52
- should 'act as can can' do
53
- assert @access.auths.can?("/sessions")
54
- assert @access.auths.cannot?("/special")
55
- assert ! @access.auths.can?("/special")
56
- end
57
-
58
- should 'check auths for an editor' do
59
- assert_equal ["/special"], @access.auths(Account.editor).denied
60
- assert_equal ["/sessions"] +
61
- Account.editor.categories.collect { |c| "/admin/categories/#{c.id}.js" }.uniq,
62
- @access.auths(Account.editor).allowed
63
- end
64
-
65
- should 'allow and deny paths for admin' do
66
- allowed = ["/sessions", "/admin/base", "/admin/settings", "/admin/accounts", "/admin/accounts/subaccounts"] +
67
- Account.admin.categories.collect { |c| "/admin/categories/#{c.id}.js" }.uniq
68
- assert_equal ["/special", "/admin/accounts/details"], @access.auths(Account.admin).denied
69
- assert_equal allowed, @access.auths(Account.admin).allowed
70
- end
71
-
72
- should 'allow and deny paths for editor' do
73
- assert_equal ["/special"], @access.auths(Account.editor).denied
74
- assert_equal ["/sessions"] + Account.editor.categories.collect { |c| "/admin/categories/#{c.id}.js" }.uniq, @access.auths(Account.editor).allowed
75
- end
76
- end
77
-
78
- context 'for project modules functionality do' do
79
-
80
- should 'have empty modules if no account given' do
81
- assert_equal [], @access.auths.project_modules
82
- end
83
-
84
- should 'check modules uids' do
85
- assert_equal [:padrinosdashboard, :categories], @access.auths(Account.admin).project_modules.collect(&:uid)
86
- assert_equal [:categories], @access.auths(Account.editor).project_modules.collect(&:uid)
87
- end
88
-
89
- should 'check a module config' do
90
- menu = Account.editor.categories.map { |c| { :text => c.name, :handler => "function(){ Admin.app.load('/admin/categories/#{c.id}.js') }" } }
91
- assert_equal [{ :text => "Categories", :menu => menu + ["Foo"] }], @access.auths(Account.editor).project_modules.collect(&:config)
92
- end
93
-
94
- should 'check config handlers' do
95
- assert_kind_of Padrino::Admin::Config::Variable, @access.auths(Account.editor).project_modules.collect(&:config).first[:menu].first[:handler]
96
- end
97
- end
98
-
99
- end
@@ -1,96 +0,0 @@
1
- require 'helper'
2
-
3
- class TestActiveRecord < Test::Unit::TestCase
4
-
5
- def setup
6
- load_fixture 'active_record'
7
- end
8
-
9
- context 'for activerecord account functionality' do
10
-
11
- should 'check required fields' do
12
- account = Account.create
13
- assert ! account.valid?
14
- end
15
-
16
- should 'correctly create an account' do
17
- account = Account.create(:email => "jack@metal.org", :role => "some", :password => "some", :password_confirmation => "some")
18
- assert account.valid?
19
- end
20
-
21
- should 'correctly authenticate an account' do
22
- account = Account.create(:email => "auth@lipsia.org", :role => "some", :password => "some", :password_confirmation => "some")
23
- assert_equal "some", account.password_clean
24
- account_r = Account.authenticate("auth@lipsia.org", "some")
25
- assert_equal account_r, account
26
- end
27
- end
28
-
29
- context 'for activerecord functionality' do
30
-
31
- should 'have some standard methods' do
32
- account = Account.new
33
- assert_respond_to account, :new_record?
34
- assert_respond_to account, :to_param
35
- assert_respond_to account, :update_attributes
36
- assert_respond_to account, :valid?
37
- assert_respond_to Account, :human_local_attribute_name
38
- assert_respond_to Account, :human_local_name
39
- assert_respond_to Account, :properties
40
- assert_respond_to Account, :count
41
- assert_respond_to Account, :orm
42
- assert_equal "Name", Account.human_local_attribute_name(:name)
43
- assert_equal "Account", Account.human_local_name
44
- end
45
-
46
- should 'have errors_keys' do
47
- account = Account.new
48
- account.valid?
49
- assert_equal [:email, :role, :password, :password_confirmation], account.errors_keys
50
- end
51
-
52
- should 'have columns names' do
53
- property = Account.properties.first
54
- assert_respond_to property, :name
55
- assert_equal "id", property.name
56
- end
57
-
58
- should 'have table name' do
59
- assert_equal "accounts", Account.table_name
60
- end
61
-
62
- should 'have orm defined' do
63
- assert_equal :activerecord, Account.orm
64
- end
65
-
66
- should 'search correctly fields' do
67
- accounts, categories = {}, {}
68
-
69
- %w(gino paoli mario venuti franco).each do |name|
70
- accounts[name] = Account.create(:email => "#{name}@foo.com", :role => name, :password => "some", :password_confirmation => "some")
71
- assert_equal [accounts[name]], Account.ext_search(:query => name, :fields => "email,role").records
72
- accounts
73
- end
74
-
75
- %w(rock soul classic rap jazz).each_with_index do |name, i|
76
- categories[name] = Category.create(:name => name, :account_id => i+1)
77
- assert_equal [categories[name]], Category.ext_search(:query => name, :fields => "name").records
78
- accounts
79
- end
80
-
81
- # Make sure that our builtin count is correct
82
- assert_equal 5, Account.ext_search({}).count
83
- assert_equal 5, Account.ext_search({}).count
84
-
85
- # Perform some search
86
- assert_equal [accounts["venuti"]], Account.ext_search(:query => "en", :fields => "email,role").records
87
- assert_equal [accounts["gino"], accounts["venuti"], accounts["franco"]], Account.ext_search(:query => "n", :fields => "email,role").records
88
- assert_equal [accounts["venuti"], accounts["franco"]], Account.ext_search(:start => 3, :limit => 2).records
89
- assert_equal [accounts["paoli"], accounts["venuti"]], Account.ext_search(:start => 3, :limit => 2, :sort => "role", :dir => "asc").records
90
-
91
- # Perform some extended search
92
- assert_equal [accounts["venuti"]], Account.ext_search({ :query => "rap", :fields => "categories.name" }, :joins => :categories).records
93
- assert_equal [accounts["franco"], accounts["mario"]], Account.ext_search({:start => 3, :limit => 2, :sort => "categories.name", :dir => "desc"}, :joins => :categories).records
94
- end
95
- end
96
- end
@@ -1,87 +0,0 @@
1
- require 'helper'
2
-
3
- class TestColumnStore < Test::Unit::TestCase
4
-
5
- def setup
6
- load_fixture 'data_mapper'
7
- config = YAML.load <<-YAML
8
- columns:
9
- - method: name.upcase
10
- header: Name Upcase
11
- dataIndex: name
12
- - method: surname
13
- - method: category.name
14
- dataIndex: categories.name
15
- - method: email
16
- header: E-mail
17
- sortable: false
18
- - method: role
19
- YAML
20
- @column_store = Padrino::Admin::ColumnStore.new(Account, config)
21
- @column_store_direct = Account.column_store("test/fixtures/test_column_store.jml")
22
- end
23
-
24
- should 'have correct column fileds' do
25
- result = [
26
- {"name"=>"account[name]",
27
- "header"=>"Name upcase",
28
- "sortable"=>true,
29
- "id"=>"account_name",
30
- "dataIndex"=>"accounts.name"},
31
- {"name"=>"account[surname]",
32
- "header"=>"Surname",
33
- "sortable"=>true,
34
- "id"=>"account_surname",
35
- "dataIndex"=>"accounts.surname"},
36
- {"name"=>"category[name]",
37
- "header"=>"Category.name",
38
- "sortable"=>true,
39
- "id"=>"category_name",
40
- "dataIndex"=>"categories.name"},
41
- {"name"=>"account[email]",
42
- "header"=>"E-mail",
43
- "sortable"=>false,
44
- "id"=>"account_email",
45
- "dataIndex"=>"accounts.email"},
46
- {"name"=>"account[role]",
47
- "header"=>"Role",
48
- "sortable"=>true,
49
- "id"=>"account_role",
50
- "dataIndex"=>"accounts.role"}
51
- ]
52
- assert_equal result, @column_store.column_fields(false)
53
- assert_equal result, @column_store_direct.column_fields(false)
54
- end
55
-
56
- should 'have correct store fields' do
57
- result = [
58
- {:mapping=>"account_name", :name=>"accounts.name"},
59
- {:mapping=>"account_surname", :name=>"accounts.surname"},
60
- {:mapping=>"category_name", :name=>"categories.name"},
61
- {:mapping=>"account_email", :name=>"accounts.email"},
62
- {:mapping=>"account_role", :name=>"accounts.role"}
63
- ]
64
- assert_equal result, @column_store.store_fields(false)
65
- assert_equal result, @column_store_direct.store_fields(false)
66
- end
67
-
68
- should 'store data' do
69
- result = {:results=>[
70
- {"account_surname"=>"Not found",
71
- "account_email"=>"d.dagostino@lipsiasoft.com",
72
- "category_name"=>"Not found",
73
- "id"=>1,
74
- "account_role"=>"Admin",
75
- "account_name"=>"DADDYE"},
76
- {"account_surname"=>"Not found",
77
- "account_email"=>"editor@lipsiasoft.com",
78
- "category_name"=>"Not found",
79
- "id"=>2,
80
- "account_role"=>"Editor",
81
- "account_name"=>"DEXTER"}
82
- ], :count=>2}
83
- assert_equal result, @column_store.store_data(:json => false, :fields => "name,role", :query => "d", :sort => :name, :dir => :asc, :limit => 2, :offset => 0)
84
- assert_equal result, @column_store_direct.store_data(:json => false, :fields => "name,role", :query => "d", :sort => :name, :dir => :asc, :limit => 2, :offset => 0)
85
- end
86
-
87
- end