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.
- data/README.rdoc +40 -84
- data/VERSION +1 -1
- data/lib/padrino-admin.rb +3 -20
- data/lib/padrino-admin/access_control.rb +78 -326
- data/lib/padrino-admin/generators/actions.rb +6 -26
- data/lib/padrino-admin/generators/admin_app.rb +40 -11
- data/lib/padrino-admin/generators/admin_page.rb +11 -17
- data/lib/padrino-admin/generators/orm.rb +85 -0
- data/lib/padrino-admin/generators/templates/account/activerecord.rb.tt +43 -0
- data/lib/padrino-admin/generators/templates/account/datamapper.rb.tt +54 -0
- data/lib/padrino-admin/generators/templates/{page/db → account}/seeds.rb.tt +5 -6
- data/lib/padrino-admin/generators/{app/app.rb.tt → templates/app/app.rb} +2 -10
- data/lib/padrino-admin/generators/templates/app/controllers/base.rb +7 -0
- data/lib/padrino-admin/generators/{app → templates/app}/controllers/sessions.rb +6 -6
- data/lib/padrino-admin/generators/templates/assets/stylesheets/base.css +370 -0
- data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/amro/style.css +364 -0
- data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/bec-green/style.css +290 -0
- data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/bec/style.css +301 -0
- data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/blue/style.css +287 -0
- data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/default/style.css +373 -0
- data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/djime-cerulean/style.css +305 -0
- data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/kathleene/style.css +279 -0
- data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/olive/style.css +345 -0
- data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/orange/style.css +269 -0
- data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/reidb-greenish/style.css +302 -0
- data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/ruby/style.css +281 -0
- data/lib/padrino-admin/generators/templates/assets/stylesheets/themes/warehouse/style.css +391 -0
- data/lib/padrino-admin/generators/templates/erb/app/base/_sidebar.erb.tt +13 -0
- data/lib/padrino-admin/generators/templates/erb/app/base/index.erb.tt +17 -0
- data/lib/padrino-admin/generators/templates/erb/app/layouts/application.erb.tt +44 -0
- data/lib/padrino-admin/generators/templates/erb/app/sessions/new.erb.tt +46 -0
- data/lib/padrino-admin/generators/templates/erb/page/_form.erb.tt +11 -0
- data/lib/padrino-admin/generators/templates/erb/page/edit.erb.tt +18 -0
- data/lib/padrino-admin/generators/templates/erb/page/index.erb.tt +36 -0
- data/lib/padrino-admin/generators/templates/erb/page/new.erb.tt +17 -0
- data/lib/padrino-admin/generators/templates/page/controller.rb.tt +32 -22
- data/lib/padrino-admin/helpers/authentication_helpers.rb +8 -9
- data/lib/padrino-admin/helpers/view_helpers.rb +20 -338
- data/lib/padrino-admin/locale/admin/de.yml +15 -49
- data/lib/padrino-admin/locale/admin/en.yml +12 -50
- data/lib/padrino-admin/locale/admin/it.yml +15 -50
- data/padrino-admin.gemspec +40 -321
- data/test/fixtures/data_mapper.rb +56 -7
- data/test/generators/test_admin_app_generator.rb +17 -16
- data/test/generators/test_admin_page_generator.rb +12 -16
- data/test/test_admin_application.rb +193 -12
- metadata +33 -314
- data/lib/padrino-admin/column_store.rb +0 -156
- data/lib/padrino-admin/config.rb +0 -36
- data/lib/padrino-admin/generators/admin_uploader.rb +0 -88
- data/lib/padrino-admin/generators/app/controllers/accounts.rb +0 -37
- data/lib/padrino-admin/generators/app/controllers/base.rb +0 -11
- data/lib/padrino-admin/generators/app/controllers/javascripts.rb +0 -10
- data/lib/padrino-admin/generators/app/views/accounts/_form.haml +0 -24
- data/lib/padrino-admin/generators/app/views/accounts/edit.haml +0 -3
- data/lib/padrino-admin/generators/app/views/accounts/grid.js.erb +0 -9
- data/lib/padrino-admin/generators/app/views/accounts/new.haml +0 -3
- data/lib/padrino-admin/generators/app/views/accounts/store.jml +0 -7
- data/lib/padrino-admin/generators/app/views/base/dashboard.haml +0 -3
- data/lib/padrino-admin/generators/app/views/base/index.haml +0 -19
- data/lib/padrino-admin/generators/app/views/javascripts/admin.js.erb +0 -490
- data/lib/padrino-admin/generators/app/views/javascripts/locale.js.erb +0 -135
- data/lib/padrino-admin/generators/app/views/sessions/new.haml +0 -26
- data/lib/padrino-admin/generators/assets/flash/charts.swf +0 -0
- data/lib/padrino-admin/generators/assets/flash/clippy.swf +0 -0
- data/lib/padrino-admin/generators/assets/flash/expressinstall.swf +0 -0
- data/lib/padrino-admin/generators/assets/flash/swfupload.swf +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/back.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/background.png +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/bg-content.png +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/bg-hd-slate.png +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/bg-hd.png +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/bg-intro.png +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/bg-login.png +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/bg-menu-slate.png +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/bg-menu.png +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/bg.png +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/btn-login.png +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/cancel.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/categories.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/close.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/close.png +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/delete.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/download.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/duplicate.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/edit.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/export.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/hd-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/image.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/loader.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/logo-loader.png +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/logo-small.png +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/new.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/no-image.png +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/preview.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/print.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/save.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/support.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/admin/up.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/box/corners-blue.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/box/corners.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/box/l-blue.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/box/l.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/box/r-blue.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/box/r.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/box/tb-blue.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/box/tb.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/button/arrow.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/button/btn.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/button/group-cs.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/button/group-lr.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/button/group-tb.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/button/s-arrow-b-noline.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/button/s-arrow-b.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/button/s-arrow-bo.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/button/s-arrow-noline.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/button/s-arrow-o.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/button/s-arrow.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/dd/drop-add.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/dd/drop-no.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/dd/drop-yes.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/editor/tb-sprite.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/form/checkbox.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/form/clear-trigger.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/form/clear-trigger.psd +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/form/date-trigger.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/form/date-trigger.psd +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/form/error-tip-corners.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/form/exclamation.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/form/radio.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/form/search-trigger.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/form/search-trigger.psd +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/form/text-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/form/trigger-tpl.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/form/trigger.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/form/trigger.psd +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/gradient-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/Thumbs.db +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/arrow-left-white.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/arrow-right-white.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/col-move-bottom.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/col-move-top.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/columns.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/dirty.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/done.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/drop-no.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/drop-yes.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/footer-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid-blue-hd.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid-blue-split.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid-hrow.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid-loading.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid-split.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid-vista-hd.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid3-hd-btn.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid3-hrow-over.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid3-hrow.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid3-special-col-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/grid3-special-col-sel-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/group-by.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/group-expand-sprite.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/hd-pop.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/hmenu-asc.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/hmenu-desc.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/hmenu-lock.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/hmenu-lock.png +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/hmenu-unlock.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/hmenu-unlock.png +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/invalid_line.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/loading.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/mso-hd.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/nowait.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-first-disabled.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-first.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-last-disabled.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-last.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-next-disabled.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-next.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-prev-disabled.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/page-prev.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/pick-button.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/refresh.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/row-check-sprite.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/row-expand-sprite.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/row-over.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/row-sel.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/sort-hd.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/sort_asc.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/sort_desc.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/grid/wait.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/collapse.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/expand.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/gradient-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/mini-bottom.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/mini-left.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/mini-right.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/mini-top.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/ns-collapse.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/ns-expand.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/panel-close.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/panel-title-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/panel-title-light-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/stick.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/stuck.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/tab-close-on.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/layout/tab-close.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/menu/checked.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/menu/group-checked.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/menu/item-over.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/menu/menu-parent.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/menu/menu.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/menu/unchecked.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/panel/corners-sprite.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/panel/left-right.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/panel/light-hd.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/panel/tool-sprite-tpl.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/panel/tool-sprites.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/panel/tools-sprites-trans.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/panel/top-bottom.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/panel/top-bottom.png +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/panel/white-corners-sprite.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/panel/white-left-right.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/panel/white-top-bottom.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/progress/progress-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/qtip/bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/qtip/close.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/qtip/tip-anchor-sprite.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/qtip/tip-sprite.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/s.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/shadow-c.png +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/shadow-lr.png +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/shadow.png +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/shared/blue-loading.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/shared/calendar.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/shared/glass-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/shared/hd-sprite.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/shared/large-loading.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/shared/left-btn.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/shared/loading-balls.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/shared/right-btn.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/shared/warning.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/sizer/e-handle-dark.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/sizer/e-handle.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/sizer/ne-handle-dark.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/sizer/ne-handle.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/sizer/nw-handle-dark.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/sizer/nw-handle.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/sizer/s-handle-dark.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/sizer/s-handle.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/sizer/se-handle-dark.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/sizer/se-handle.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/sizer/square.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/sizer/sw-handle-dark.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/sizer/sw-handle.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/slider/slider-bg.png +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/slider/slider-thumb.png +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/slider/slider-v-bg.png +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/slider/slider-v-thumb.png +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tabs/scroll-left.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tabs/scroll-right.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tabs/scroller-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-btm-inactive-left-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-btm-inactive-right-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-btm-left-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-btm-right-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-close.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-strip-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-strip-bg.png +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tab-strip-btm-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tabs/tabs-sprite.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/btn-arrow-light.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/btn-arrow.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/btn-over-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/gray-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/more.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/tb-bg.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/tb-btn-sprite.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/tb-xl-btn-sprite.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/toolbar/tb-xl-sep.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/arrows.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/drop-add.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/drop-between.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/drop-no.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/drop-over.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/drop-under.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/drop-yes.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-end-minus-nl.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-end-minus.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-end-plus-nl.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-end-plus.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-end.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-line.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-minus-nl.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-minus.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-plus-nl.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow-plus.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/elbow.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/folder-open.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/folder.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/leaf.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/loading.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/tree/s.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/window/icon-error.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/window/icon-info.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/window/icon-question.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/window/icon-warning.gif +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/window/left-corners.png +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/window/left-corners.psd +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/window/left-right.png +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/window/left-right.psd +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/window/right-corners.png +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/window/right-corners.psd +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/window/top-bottom.png +0 -0
- data/lib/padrino-admin/generators/assets/images/ext/default/window/top-bottom.psd +0 -0
- data/lib/padrino-admin/generators/assets/javascripts/controls.js +0 -3
- data/lib/padrino-admin/generators/assets/javascripts/dragdrop.js +0 -3
- data/lib/padrino-admin/generators/assets/javascripts/effects.js +0 -4
- data/lib/padrino-admin/generators/assets/javascripts/ext.js +0 -29
- data/lib/padrino-admin/generators/assets/javascripts/prototype.js +0 -14
- data/lib/padrino-admin/generators/assets/javascripts/swfupload.js +0 -4
- data/lib/padrino-admin/generators/assets/stylesheets/admin.css +0 -60
- data/lib/padrino-admin/generators/assets/stylesheets/ext.css +0 -1543
- data/lib/padrino-admin/generators/assets/stylesheets/login.css +0 -17
- data/lib/padrino-admin/generators/assets/stylesheets/standard.css +0 -62
- data/lib/padrino-admin/generators/templates/page/views/_form.haml.tt +0 -9
- data/lib/padrino-admin/generators/templates/page/views/edit.haml.tt +0 -3
- data/lib/padrino-admin/generators/templates/page/views/grid.js.erb.tt +0 -9
- data/lib/padrino-admin/generators/templates/page/views/new.haml.tt +0 -3
- data/lib/padrino-admin/generators/templates/page/views/store.jml.tt +0 -6
- data/lib/padrino-admin/generators/templates/uploader/controller.rb +0 -24
- data/lib/padrino-admin/generators/templates/uploader/lib/uploader.rb +0 -66
- data/lib/padrino-admin/generators/templates/uploader/views/grid.js.erb +0 -57
- data/lib/padrino-admin/generators/templates/uploader/views/store.jml +0 -10
- data/lib/padrino-admin/locale/extjs/de.yml +0 -147
- data/lib/padrino-admin/locale/extjs/en.yml +0 -147
- data/lib/padrino-admin/locale/extjs/it.yml +0 -147
- data/lib/padrino-admin/orm.rb +0 -48
- data/lib/padrino-admin/orm/abstract.rb +0 -95
- data/lib/padrino-admin/orm/activerecord.rb +0 -144
- data/lib/padrino-admin/orm/datamapper.rb +0 -229
- data/lib/padrino-admin/orm/mongomapper.rb +0 -65
- data/lib/padrino-admin/utils/literal.rb +0 -13
- data/test/fixtures/active_record.rb +0 -29
- data/test/fixtures/mongo_mapper.rb +0 -12
- data/test/fixtures/test_column_store.jml +0 -11
- data/test/generators/test_admin_uploader_generator.rb +0 -56
- data/test/test_access_control.rb +0 -99
- data/test/test_active_record.rb +0 -96
- data/test/test_column_store.rb +0 -87
- data/test/test_config.rb +0 -13
- data/test/test_data_mapper.rb +0 -114
- 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,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
|
data/test/test_access_control.rb
DELETED
@@ -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
|
data/test/test_active_record.rb
DELETED
@@ -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
|
data/test/test_column_store.rb
DELETED
@@ -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
|