typus 3.0.2 → 3.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Gemfile +20 -9
- data/Gemfile.lock +93 -65
- data/MIT-LICENSE +1 -1
- data/README.md +61 -0
- data/Rakefile +5 -0
- data/app/controllers/admin/account_controller.rb +7 -10
- data/app/controllers/admin/base_controller.rb +16 -1
- data/app/controllers/admin/resources_controller.rb +270 -159
- data/app/controllers/admin/session_controller.rb +8 -9
- data/app/helpers/admin/base_helper.rb +13 -28
- data/app/helpers/admin/dashboard_helper.rb +4 -10
- data/app/helpers/admin/file_preview_helper.rb +70 -0
- data/app/helpers/admin/filters_helper.rb +64 -45
- data/app/helpers/admin/form_helper.rb +37 -62
- data/app/helpers/admin/relationships_helper.rb +63 -78
- data/app/helpers/admin/resources_helper.rb +10 -31
- data/app/helpers/admin/search_helper.rb +6 -9
- data/app/helpers/admin/sidebar_helper.rb +15 -20
- data/app/helpers/admin/table_helper.rb +79 -170
- data/app/mailers/admin/mailer.rb +1 -1
- data/app/views/admin/account/forgot_password.html.erb +2 -2
- data/app/views/admin/account/new.html.erb +8 -4
- data/app/views/admin/base/user_guide.html.erb +85 -0
- data/app/views/admin/dashboard/_sidebar.html.erb +3 -1
- data/app/views/admin/dashboard/show.html.erb +2 -2
- data/app/views/admin/dashboard/styles.html.erb +2 -2
- data/app/views/admin/helpers/_apps.html.erb +5 -4
- data/app/views/admin/helpers/_file_preview.html.erb +3 -0
- data/app/views/admin/helpers/_header.html.erb +3 -3
- data/app/views/admin/helpers/_login_info.html.erb +2 -2
- data/app/views/admin/helpers/dashboard/_applications.html.erb +6 -9
- data/app/views/admin/helpers/dashboard/_resources.html.erb +2 -3
- data/app/views/admin/helpers/filters/_filters.html.erb +1 -1
- data/app/views/admin/helpers/resources/_display_link_to_previous.html.erb +1 -1
- data/app/views/admin/helpers/resources/_errors.html.erb +10 -0
- data/app/views/admin/helpers/search/_search.html.erb +1 -1
- data/app/views/admin/helpers/sidebar/_sidebar.html.erb +6 -3
- data/app/views/admin/helpers/table/_table.html.erb +17 -5
- data/app/views/admin/mailer/reset_password_link.text.erb +2 -2
- data/app/views/admin/resources/_form.html.erb +3 -12
- data/app/views/admin/resources/edit.html.erb +7 -5
- data/app/views/admin/resources/index.html.erb +13 -18
- data/app/views/admin/resources/new.html.erb +4 -4
- data/app/views/admin/resources/show.html.erb +9 -13
- data/app/views/admin/session/new.html.erb +8 -4
- data/app/views/admin/templates/_belongs_to.html.erb +1 -1
- data/app/views/admin/templates/_boolean.html.erb +2 -2
- data/app/views/admin/templates/_date.html.erb +2 -2
- data/app/views/admin/templates/_datetime.html.erb +2 -2
- data/app/views/admin/templates/_file.html.erb +3 -19
- data/app/views/admin/templates/_has_n.html.erb +4 -4
- data/app/views/admin/templates/_has_one.html.erb +14 -0
- data/app/views/admin/templates/_password.html.erb +2 -2
- data/app/views/admin/templates/_profile_sidebar.html.erb +3 -0
- data/app/views/admin/templates/_relate_form.html.erb +2 -1
- data/app/views/admin/templates/_selector.html.erb +1 -1
- data/app/views/admin/templates/_string.html.erb +6 -6
- data/app/views/admin/templates/_text.html.erb +11 -4
- data/app/views/admin/templates/_time.html.erb +2 -2
- data/app/views/admin/templates/_tree.html.erb +1 -1
- data/app/views/layouts/admin/base.html.erb +7 -6
- data/app/views/layouts/admin/session.html.erb +4 -14
- data/config/{available_locales/ca_models.yml → locales/typus.ca.models.yml} +5 -4
- data/config/locales/typus.ca.yml +81 -0
- data/config/{available_locales/de_models.yml → locales/typus.de.models.yml} +6 -2
- data/config/locales/typus.de.yml +80 -0
- data/config/locales/typus.el.models.yml +17 -0
- data/config/locales/typus.el.yml +82 -0
- data/config/{available_locales/es_models.yml → locales/typus.es.models.yml} +9 -4
- data/config/locales/typus.es.yml +82 -0
- data/config/{available_locales/fr_models.yml → locales/typus.fr.models.yml} +8 -3
- data/config/locales/typus.fr.yml +87 -0
- data/config/{available_locales/hu_models.yml → locales/typus.hu.models.yml} +6 -2
- data/config/locales/typus.hu.yml +80 -0
- data/config/{available_locales/it_models.yml → locales/typus.it.models.yml} +7 -4
- data/config/locales/typus.it.yml +89 -0
- data/config/{available_locales/language_models.yml.template → locales/typus.locale.models.yml.template} +8 -4
- data/config/locales/typus.locale.yml.template +81 -0
- data/config/{available_locales/pt-BR_models.yml → locales/typus.pt-BR.models.yml} +6 -2
- data/config/locales/typus.pt-BR.yml +80 -0
- data/config/{available_locales/ru_models.yml → locales/typus.ru.models.yml} +6 -2
- data/config/locales/typus.ru.yml +80 -0
- data/config/locales/typus.zh-CN.models.yml +17 -0
- data/config/locales/typus.zh-CN.yml +79 -0
- data/config/routes.rb +11 -7
- data/lib/generators/templates/config/initializers/typus.rb +8 -5
- data/lib/generators/templates/config/initializers/typus_resources.rb +0 -3
- data/lib/generators/templates/config/typus/README +6 -6
- data/lib/generators/templates/config/typus/typus.yml +5 -5
- data/lib/generators/templates/controller.rb +1 -1
- data/lib/generators/templates/migration.rb +1 -0
- data/lib/generators/templates/public/admin/javascripts/application.js +0 -4
- data/lib/generators/templates/public/admin/javascripts/jquery-1.4.4.min.js +167 -0
- data/lib/generators/templates/public/admin/javascripts/jquery.application.js +16 -0
- data/lib/generators/templates/public/admin/javascripts/jquery.rails.js +50 -22
- data/lib/generators/templates/public/admin/stylesheets/screen.css +43 -34
- data/lib/generators/templates/public/admin/vendor/fancybox/fancy_loading.png +0 -0
- data/lib/generators/templates/public/admin/vendor/fancybox/jquery.easing-1.3.pack.js +32 -32
- data/lib/generators/templates/public/admin/vendor/fancybox/{jquery.fancybox-1.3.1.css → jquery.fancybox-1.3.4.css} +359 -363
- data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.4.js +1156 -0
- data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.4.pack.js +46 -0
- data/lib/generators/templates/public/admin/vendor/fancybox/jquery.mousewheel-3.0.4.pack.js +14 -0
- data/lib/generators/typus/assets_generator.rb +23 -0
- data/lib/generators/typus/controller_generator.rb +29 -0
- data/lib/generators/typus/migration_generator.rb +39 -20
- data/lib/generators/typus/typus_generator.rb +17 -57
- data/lib/generators/typus/views_generator.rb +2 -6
- data/lib/support/active_record.rb +8 -20
- data/lib/support/fake_user.rb +6 -1
- data/lib/support/hash.rb +1 -2
- data/lib/support/object.rb +4 -17
- data/lib/support/string.rb +34 -3
- data/lib/tasks/typus.rake +1 -1
- data/lib/typus.rb +60 -48
- data/lib/typus/actions.rb +27 -0
- data/lib/typus/authentication/base.rb +3 -4
- data/lib/typus/authentication/http_basic.rb +1 -1
- data/lib/typus/authentication/none.rb +1 -1
- data/lib/typus/authentication/session.rb +53 -108
- data/lib/typus/configuration.rb +13 -11
- data/lib/typus/filters.rb +12 -0
- data/lib/typus/format.rb +9 -13
- data/lib/typus/i18n.rb +30 -0
- data/lib/typus/orm/active_record.rb +97 -194
- data/lib/typus/orm/active_record/search.rb +91 -0
- data/lib/typus/resources.rb +6 -10
- data/lib/typus/user.rb +20 -40
- data/lib/typus/version.rb +1 -1
- metadata +77 -231
- data/CHANGELOG +0 -102
- data/README.rdoc +0 -48
- data/app/helpers/admin/preview_helper.rb +0 -46
- data/app/views/admin/helpers/_preview.html.erb +0 -13
- data/app/views/admin/templates/_has_many.html.erb +0 -22
- data/config/available_locales/ca.yml +0 -122
- data/config/available_locales/de.yml +0 -122
- data/config/available_locales/es.yml +0 -122
- data/config/available_locales/fr.yml +0 -127
- data/config/available_locales/hu.yml +0 -122
- data/config/available_locales/it.yml +0 -132
- data/config/available_locales/language.yml.template +0 -120
- data/config/available_locales/pt-BR.yml +0 -122
- data/config/available_locales/ru.yml +0 -122
- data/lib/generators/templates/functional_test.rb +0 -10
- data/lib/generators/templates/model.rb +0 -8
- data/lib/generators/templates/public/admin/images/ui-icons.png +0 -0
- data/lib/generators/templates/public/admin/javascripts/jquery-1.4.2.min.js +0 -154
- data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.1.js +0 -1077
- data/lib/generators/templates/public/admin/vendor/fancybox/jquery.fancybox-1.3.1.pack.js +0 -44
- data/lib/generators/templates/public/admin/vendor/fancybox/jquery.mousewheel-3.0.2.pack.js +0 -13
- data/lib/typus/pagination.rb +0 -18
- data/test/factories.rb +0 -43
- data/test/fixtures/config/broken/application.yml +0 -68
- data/test/fixtures/config/broken/application_roles.yml +0 -20
- data/test/fixtures/config/broken/empty.yml +0 -0
- data/test/fixtures/config/broken/empty_roles.yml +0 -0
- data/test/fixtures/config/broken/undefined.yml +0 -3
- data/test/fixtures/config/broken/undefined_roles.yml +0 -6
- data/test/fixtures/config/default/typus.yml +0 -13
- data/test/fixtures/config/default/typus_roles.yml +0 -2
- data/test/fixtures/config/empty/empty_01.yml +0 -0
- data/test/fixtures/config/empty/empty_01_roles.yml +0 -0
- data/test/fixtures/config/empty/empty_02.yml +0 -0
- data/test/fixtures/config/empty/empty_02_roles.yml +0 -0
- data/test/fixtures/config/locales/es.yml +0 -10
- data/test/fixtures/config/namespaced/application.yml +0 -5
- data/test/fixtures/config/namespaced/application_roles.yml +0 -2
- data/test/fixtures/config/ordered/001_roles.yml +0 -2
- data/test/fixtures/config/ordered/002_roles.yml +0 -2
- data/test/fixtures/config/unordered/app_one_roles.yml +0 -2
- data/test/fixtures/config/unordered/app_two_roles.yml +0 -2
- data/test/fixtures/config/working/application.yml +0 -73
- data/test/fixtures/config/working/application_roles.yml +0 -24
- data/test/fixtures/config/working/typus.yml +0 -13
- data/test/fixtures/config/working/typus_roles.yml +0 -2
- data/test/fixtures/rails_app/Rakefile +0 -7
- data/test/fixtures/rails_app/app/controllers/admin/assets_controller.rb +0 -2
- data/test/fixtures/rails_app/app/controllers/admin/categories_controller.rb +0 -2
- data/test/fixtures/rails_app/app/controllers/admin/comments_controller.rb +0 -2
- data/test/fixtures/rails_app/app/controllers/admin/pages_controller.rb +0 -2
- data/test/fixtures/rails_app/app/controllers/admin/pictures_controller.rb +0 -2
- data/test/fixtures/rails_app/app/controllers/admin/posts_controller.rb +0 -2
- data/test/fixtures/rails_app/app/controllers/admin/status_controller.rb +0 -2
- data/test/fixtures/rails_app/app/controllers/admin/typus_users_controller.rb +0 -2
- data/test/fixtures/rails_app/app/controllers/admin/watch_dog_controller.rb +0 -2
- data/test/fixtures/rails_app/app/controllers/application_controller.rb +0 -3
- data/test/fixtures/rails_app/app/models/asset.rb +0 -5
- data/test/fixtures/rails_app/app/models/category.rb +0 -11
- data/test/fixtures/rails_app/app/models/comment.rb +0 -6
- data/test/fixtures/rails_app/app/models/custom_user.rb +0 -2
- data/test/fixtures/rails_app/app/models/delayed/task.rb +0 -5
- data/test/fixtures/rails_app/app/models/page.rb +0 -5
- data/test/fixtures/rails_app/app/models/picture.rb +0 -6
- data/test/fixtures/rails_app/app/models/post.rb +0 -21
- data/test/fixtures/rails_app/app/models/typus_user.rb +0 -8
- data/test/fixtures/rails_app/app/models/view.rb +0 -5
- data/test/fixtures/rails_app/app/views/admin/categories/_form.html.erb +0 -1
- data/test/fixtures/rails_app/app/views/admin/dashboard/_sidebar.html.erb +0 -1
- data/test/fixtures/rails_app/app/views/admin/mailer/reset_password_link.text.erb +0 -6
- data/test/fixtures/rails_app/app/views/admin/posts/_edit.html.erb +0 -1
- data/test/fixtures/rails_app/app/views/admin/posts/_index.html.erb +0 -1
- data/test/fixtures/rails_app/app/views/admin/posts/_new.html.erb +0 -1
- data/test/fixtures/rails_app/app/views/admin/posts/_show.html.erb +0 -1
- data/test/fixtures/rails_app/app/views/admin/posts/_sidebar.html.erb +0 -1
- data/test/fixtures/rails_app/app/views/admin/resources/_sidebar.html.erb +0 -1
- data/test/fixtures/rails_app/app/views/admin/status/index.html.erb +0 -1
- data/test/fixtures/rails_app/app/views/admin/templates/_datepicker.html.erb +0 -1
- data/test/fixtures/rails_app/config.ru +0 -4
- data/test/fixtures/rails_app/config/application.rb +0 -53
- data/test/fixtures/rails_app/config/boot.rb +0 -13
- data/test/fixtures/rails_app/config/database.yml +0 -14
- data/test/fixtures/rails_app/config/environment.rb +0 -5
- data/test/fixtures/rails_app/config/environments/test.rb +0 -34
- data/test/fixtures/rails_app/config/initializers/secret_token.rb +0 -7
- data/test/fixtures/rails_app/config/initializers/session_store.rb +0 -8
- data/test/fixtures/rails_app/config/initializers/typus.rb +0 -6
- data/test/fixtures/rails_app/config/routes.rb +0 -5
- data/test/fixtures/rails_app/config/typus/application.yml +0 -79
- data/test/fixtures/rails_app/config/typus/application_roles.yml +0 -25
- data/test/fixtures/rails_app/config/typus/typus.yml +0 -12
- data/test/fixtures/rails_app/config/typus/typus_roles.yml +0 -2
- data/test/fixtures/rails_app/db/test.sqlite3 +0 -0
- data/test/fixtures/rails_app/tmp/export-posts-20101012213057.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012213132.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012213234.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012213506.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012215057.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012215217.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012215415.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012215443.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012215509.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012215528.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012215551.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012215615.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012215640.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012215714.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012215744.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012215814.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012215836.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012215906.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012220659.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012221043.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012221258.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012222558.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012222752.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012222848.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012223433.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012223535.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012224003.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012224052.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012224109.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012224139.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012224205.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012224243.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101012225119.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013063215.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013063300.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013063352.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013063427.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013063448.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013063530.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013063559.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013063646.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013063737.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013063822.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013063837.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013063919.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013063939.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013063952.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013064220.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013064253.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013064318.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013064404.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013064452.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013064536.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013064652.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013064845.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013065023.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013065137.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013065713.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013065954.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013070057.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013070116.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013070156.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013070349.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013070429.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013070448.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013070514.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013070709.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013070745.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013070809.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013070905.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013070955.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013071116.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013071209.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013071335.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013071632.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013071643.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013071735.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013071749.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013072030.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013072050.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013072108.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013072713.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013072751.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013072912.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101013074546.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101018180512.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101018183359.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101018183608.csv +0 -2
- data/test/fixtures/rails_app/tmp/export-posts-20101018183759.csv +0 -2
- data/test/functional/admin/account_controller_test.rb +0 -90
- data/test/functional/admin/assets_controller_test.rb +0 -55
- data/test/functional/admin/categories_controller_test.rb +0 -62
- data/test/functional/admin/comments_controller_test.rb +0 -21
- data/test/functional/admin/dashboard_controller_test.rb +0 -138
- data/test/functional/admin/posts_controller_test.rb +0 -548
- data/test/functional/admin/session_controller_test.rb +0 -85
- data/test/functional/admin/status_controller_test.rb +0 -46
- data/test/functional/admin/typus_users_controller_test.rb +0 -159
- data/test/helpers/admin/base_helper_test.rb +0 -67
- data/test/helpers/admin/dashboard_helper_test.rb +0 -19
- data/test/helpers/admin/form_helper_test.rb +0 -117
- data/test/helpers/admin/resources_helper_test.rb +0 -64
- data/test/helpers/admin/sidebar_helper_test.rb +0 -274
- data/test/helpers/admin/table_helper_test.rb +0 -219
- data/test/integration/login_test.rb +0 -13
- data/test/integration_test_helper.rb +0 -21
- data/test/lib/support/active_record_test.rb +0 -86
- data/test/lib/support/array_test.rb +0 -11
- data/test/lib/support/hash_test.rb +0 -11
- data/test/lib/support/string_test.rb +0 -39
- data/test/lib/typus/active_record_test.rb +0 -451
- data/test/lib/typus/configuration_test.rb +0 -52
- data/test/lib/typus/resource_test.rb +0 -17
- data/test/lib/typus/routes_test.rb +0 -29
- data/test/lib/typus_test.rb +0 -107
- data/test/schema.rb +0 -100
- data/test/test_helper.rb +0 -16
- data/test/unit/admin/mailer_test.rb +0 -32
- data/test/unit/typus_user_roles_test.rb +0 -105
- data/test/unit/typus_user_test.rb +0 -142
- data/typus.gemspec +0 -25
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
require "test_helper"
|
|
2
|
-
|
|
3
|
-
class ConfigurationTest < ActiveSupport::TestCase
|
|
4
|
-
|
|
5
|
-
should "verify typus roles is loaded" do
|
|
6
|
-
assert Typus::Configuration.respond_to?(:roles!)
|
|
7
|
-
assert Typus::Configuration.roles!.kind_of?(Hash)
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
should "verify typus config file is loaded" do
|
|
11
|
-
assert Typus::Configuration.respond_to?(:config!)
|
|
12
|
-
assert Typus::Configuration.config!.kind_of?(Hash)
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
should "load configuration files from config broken" do
|
|
16
|
-
Typus.expects(:config_folder).at_least_once.returns("test/fixtures/config/broken")
|
|
17
|
-
assert_not_equal Hash.new, Typus::Configuration.roles!
|
|
18
|
-
assert_not_equal Hash.new, Typus::Configuration.config!
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
should "load configuration files from config empty" do
|
|
22
|
-
Typus.expects(:config_folder).at_least_once.returns("test/fixtures/config/empty")
|
|
23
|
-
assert_equal Hash.new, Typus::Configuration.roles!
|
|
24
|
-
assert_equal Hash.new, Typus::Configuration.config!
|
|
25
|
-
end
|
|
26
|
-
|
|
27
|
-
should "load configuration files from config ordered" do
|
|
28
|
-
Typus.expects(:config_folder).at_least_once.returns("test/fixtures/config/ordered")
|
|
29
|
-
files = Dir["#{Typus.config_folder}/*_roles.yml"]
|
|
30
|
-
expected = files.collect { |file| File.basename(file) }.sort
|
|
31
|
-
assert_equal expected, ["001_roles.yml", "002_roles.yml"]
|
|
32
|
-
expected = { "admin" => { "categories" => "read" } }
|
|
33
|
-
assert_equal expected, Typus::Configuration.roles!
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
should "load configuration files from config unordered" do
|
|
37
|
-
Typus.expects(:config_folder).at_least_once.returns("test/fixtures/config/unordered")
|
|
38
|
-
files = Dir["#{Typus.config_folder}/*_roles.yml"]
|
|
39
|
-
expected = files.collect { |file| File.basename(file) }
|
|
40
|
-
assert_equal expected, ["app_one_roles.yml", "app_two_roles.yml"]
|
|
41
|
-
expected = { "admin" => { "categories" => "read, update" } }
|
|
42
|
-
assert_equal expected, Typus::Configuration.roles!
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
should "load configuration files from config default" do
|
|
46
|
-
Typus.expects(:config_folder).at_least_once.returns("test/fixtures/config/default")
|
|
47
|
-
assert_not_equal Hash.new, Typus::Configuration.roles!
|
|
48
|
-
assert_not_equal Hash.new, Typus::Configuration.config!
|
|
49
|
-
assert Typus.resources.empty?
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
end
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
require "test_helper"
|
|
2
|
-
|
|
3
|
-
class ResourceTest < ActiveSupport::TestCase
|
|
4
|
-
|
|
5
|
-
should "verify default resource configuration options" do
|
|
6
|
-
assert_equal "edit", Typus::Resources.default_action_on_item
|
|
7
|
-
assert_nil Typus::Resources.end_year
|
|
8
|
-
assert_equal 15, Typus::Resources.form_rows
|
|
9
|
-
assert_equal "edit", Typus::Resources.action_after_save
|
|
10
|
-
assert_equal 5, Typus::Resources.minute_step
|
|
11
|
-
assert_equal "nil", Typus::Resources.human_nil
|
|
12
|
-
assert !Typus::Resources.only_user_items
|
|
13
|
-
assert_equal 15, Typus::Resources.per_page
|
|
14
|
-
assert_nil Typus::Resources.start_year
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
end
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
require "test_helper"
|
|
2
|
-
|
|
3
|
-
class RoutesTest < ActiveSupport::TestCase
|
|
4
|
-
|
|
5
|
-
setup do
|
|
6
|
-
@routes = Rails.application.routes.routes.map(&:name)
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
should "verify admin routes" do
|
|
10
|
-
expected = %w(admin)
|
|
11
|
-
expected.each { |r| assert @routes.include?(r) }
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
should "verify admin dashboard routes" do
|
|
15
|
-
expected = %w(admin_dashboard)
|
|
16
|
-
expected.each { |r| assert @routes.include?(r) }
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
should "verify admin account named routes" do
|
|
20
|
-
expected = %w(forgot_password_admin_account_index admin_account_index new_admin_account admin_account)
|
|
21
|
-
expected.each { |r| assert @routes.include?(r) }
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
should "verify admin session named routes" do
|
|
25
|
-
expected = %w(new_admin_session admin_session)
|
|
26
|
-
expected.each { |r| assert @routes.include?(r) }
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
end
|
data/test/lib/typus_test.rb
DELETED
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
require "test_helper"
|
|
2
|
-
|
|
3
|
-
class TypusTest < ActiveSupport::TestCase
|
|
4
|
-
|
|
5
|
-
should "verify default_config for admin_title" do
|
|
6
|
-
assert_equal "Typus", Typus.admin_title
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
should "verify default_config for admin_sub_title" do
|
|
10
|
-
assert Typus.admin_sub_title.kind_of?(String)
|
|
11
|
-
end
|
|
12
|
-
|
|
13
|
-
should "verify default_config for authentication" do
|
|
14
|
-
assert_equal :session, Typus.authentication
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
should "verify default_config for mailer_sender" do
|
|
18
|
-
assert_nil Typus.mailer_sender
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
should "verify default_config for username" do
|
|
22
|
-
assert_equal "admin", Typus.username
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
should "verify default_config for password" do
|
|
26
|
-
assert_equal "columbia", Typus.password
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
should "verify default_config for file_preview" do
|
|
30
|
-
assert_equal :medium, Typus.file_preview
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
should "verify default_config for file_thumbnail" do
|
|
34
|
-
assert_equal :thumb, Typus.file_thumbnail
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
should "verify default_config for relationship" do
|
|
38
|
-
assert_equal "typus_users", Typus.relationship
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
should "verify default_config for master_role" do
|
|
42
|
-
assert_equal "admin", Typus.master_role
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
should "verify default_config for user_class_name" do
|
|
46
|
-
assert_equal "TypusUser", Typus.user_class_name
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
should "verify default_config for typus_user_id" do
|
|
50
|
-
assert_equal "typus_user_id", Typus.user_fk
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
should "verify default_config for available_locales" do
|
|
54
|
-
assert_equal [:en], Typus.available_locales
|
|
55
|
-
end
|
|
56
|
-
|
|
57
|
-
should "verify config_folder is a Pathname" do
|
|
58
|
-
assert Typus.config_folder.kind_of?(Pathname)
|
|
59
|
-
end
|
|
60
|
-
|
|
61
|
-
should "return root" do
|
|
62
|
-
expected = "."
|
|
63
|
-
assert Typus.root.kind_of?(String)
|
|
64
|
-
assert_equal expected, Typus.root
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
should "return applications sorted" do
|
|
68
|
-
assert Typus.respond_to?(:applications)
|
|
69
|
-
assert Typus.applications.kind_of?(Array)
|
|
70
|
-
assert_equal %w(Blog Site Typus), Typus.applications
|
|
71
|
-
end
|
|
72
|
-
|
|
73
|
-
should "return modules of an application" do
|
|
74
|
-
assert Typus.respond_to?(:application)
|
|
75
|
-
assert_equal %w(Comment Picture Post), Typus.application("Blog")
|
|
76
|
-
end
|
|
77
|
-
|
|
78
|
-
should "return models and should be sorted" do
|
|
79
|
-
assert Typus.respond_to?(:models)
|
|
80
|
-
assert Typus.models.kind_of?(Array)
|
|
81
|
-
assert_equal %w(Asset Category Comment CustomUser Page Picture Post TypusUser View), Typus.models
|
|
82
|
-
end
|
|
83
|
-
|
|
84
|
-
should "verify resources class_method" do
|
|
85
|
-
assert Typus.respond_to?(:resources)
|
|
86
|
-
assert_equal %w(Git Order Status WatchDog), Typus.resources
|
|
87
|
-
end
|
|
88
|
-
|
|
89
|
-
should "return user_class" do
|
|
90
|
-
assert_equal TypusUser, Typus.user_class
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
should "return overrided user_class" do
|
|
94
|
-
Typus.expects(:user_class_name).returns("CustomUser")
|
|
95
|
-
assert_equal CustomUser, Typus.user_class
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
should "return_user_fk" do
|
|
99
|
-
assert_equal "typus_user_id", Typus.user_fk
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
should "return overrided user_fk" do
|
|
103
|
-
Typus.expects(:user_fk).returns("my_user_fk")
|
|
104
|
-
assert_equal "my_user_fk", Typus.user_fk
|
|
105
|
-
end
|
|
106
|
-
|
|
107
|
-
end
|
data/test/schema.rb
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
ActiveRecord::Migration.verbose = false
|
|
2
|
-
|
|
3
|
-
ActiveRecord::Schema.define do
|
|
4
|
-
|
|
5
|
-
create_table :assets, :force => true do |t|
|
|
6
|
-
t.string :caption
|
|
7
|
-
t.string :resource_type
|
|
8
|
-
t.integer :resource_id
|
|
9
|
-
t.integer :position
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
add_index :assets, :resource_id
|
|
13
|
-
|
|
14
|
-
create_table :categories, :force => true do |t|
|
|
15
|
-
t.string :name
|
|
16
|
-
t.string :permalink
|
|
17
|
-
t.text :description
|
|
18
|
-
t.integer :position
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
create_table :comments, :force => true do |t|
|
|
22
|
-
t.string :email, :name
|
|
23
|
-
t.text :body
|
|
24
|
-
t.integer :post_id
|
|
25
|
-
t.boolean :spam, :default => false
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
add_index :comments, :post_id
|
|
29
|
-
|
|
30
|
-
create_table :delayed_tasks, :force => true do |t|
|
|
31
|
-
t.string :name
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
create_table :pages, :force => true do |t|
|
|
35
|
-
t.string :title
|
|
36
|
-
t.text :body
|
|
37
|
-
t.string :status
|
|
38
|
-
t.integer :parent_id
|
|
39
|
-
end
|
|
40
|
-
|
|
41
|
-
add_index :pages, :parent_id
|
|
42
|
-
|
|
43
|
-
create_table :posts, :force => true do |t|
|
|
44
|
-
t.string :title
|
|
45
|
-
t.text :body
|
|
46
|
-
t.string :status
|
|
47
|
-
t.integer :favorite_comment_id
|
|
48
|
-
t.timestamps
|
|
49
|
-
t.datetime :published_at
|
|
50
|
-
t.integer :typus_user_id
|
|
51
|
-
end
|
|
52
|
-
|
|
53
|
-
add_index :posts, :favorite_comment_id
|
|
54
|
-
add_index :posts, :typus_user_id
|
|
55
|
-
|
|
56
|
-
create_table :pictures, :force => true do |t|
|
|
57
|
-
t.string :title
|
|
58
|
-
t.string :picture_file_name
|
|
59
|
-
t.string :picture_content_type
|
|
60
|
-
t.integer :picture_file_size
|
|
61
|
-
t.datetime :picture_updated_at
|
|
62
|
-
t.datetime :created_at
|
|
63
|
-
t.datetime :updated_at
|
|
64
|
-
t.integer :typus_user_id
|
|
65
|
-
end
|
|
66
|
-
|
|
67
|
-
add_index :pictures, :typus_user_id
|
|
68
|
-
|
|
69
|
-
create_table :typus_users, :force => true do |t|
|
|
70
|
-
t.string :first_name, :default => "", :null => false
|
|
71
|
-
t.string :last_name, :default => "", :null => false
|
|
72
|
-
t.string :role, :null => false
|
|
73
|
-
t.string :email, :null => false
|
|
74
|
-
t.boolean :status, :default => false
|
|
75
|
-
t.string :token, :null => false
|
|
76
|
-
t.string :salt, :null => false
|
|
77
|
-
t.string :crypted_password, :null => false
|
|
78
|
-
t.string :preferences
|
|
79
|
-
t.timestamps
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
add_index :typus_users, :token
|
|
83
|
-
|
|
84
|
-
create_table :views, :force => true do |t|
|
|
85
|
-
t.string :ip, :default => '127.0.0.1'
|
|
86
|
-
t.integer :post_id
|
|
87
|
-
t.timestamps
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
add_index :views, :post_id
|
|
91
|
-
|
|
92
|
-
create_table :categories_posts, :force => true, :id => false do |t|
|
|
93
|
-
t.column :category_id, :integer
|
|
94
|
-
t.column :post_id, :integer
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
add_index :categories_posts, :category_id
|
|
98
|
-
add_index :categories_posts, :post_id
|
|
99
|
-
|
|
100
|
-
end
|
data/test/test_helper.rb
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
ENV["RAILS_ENV"] = "test"
|
|
2
|
-
|
|
3
|
-
# Boot rails application and testing parts ...
|
|
4
|
-
require "fixtures/rails_app/config/environment"
|
|
5
|
-
require "rails/test_help"
|
|
6
|
-
|
|
7
|
-
load File.join(File.dirname(__FILE__), "schema.rb")
|
|
8
|
-
require 'factories'
|
|
9
|
-
|
|
10
|
-
class ActiveSupport::TestCase
|
|
11
|
-
self.use_transactional_fixtures = true
|
|
12
|
-
self.use_instantiated_fixtures = false
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
# As we are mocking a Rails Application, we need to load configurations.
|
|
16
|
-
Typus.reload!
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
require "test_helper"
|
|
2
|
-
|
|
3
|
-
class Admin::MailerTest < ActiveSupport::TestCase
|
|
4
|
-
|
|
5
|
-
setup do
|
|
6
|
-
@typus_user = Factory(:typus_user)
|
|
7
|
-
@url = "http://test.host/admin/account/#{@typus_user.token}"
|
|
8
|
-
@email = Admin::Mailer.reset_password_link(@typus_user, @url)
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
should "verify email from is nil by default" do
|
|
12
|
-
assert_nil Admin::Mailer.default[:from]
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
should "verify email to is typus user email" do
|
|
16
|
-
assert @email.to.include?(@typus_user.email)
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
should "verify email subject" do
|
|
20
|
-
expected = "[#{Typus.admin_title}] Reset password"
|
|
21
|
-
assert_equal expected, @email.subject
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
should "verify default email mime_type" do
|
|
25
|
-
assert_equal "text/plain", @email.mime_type
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
should "verify email contains reset password link with token" do
|
|
29
|
-
assert_match @url, @email.body.encoded
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
end
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
require "test_helper"
|
|
2
|
-
|
|
3
|
-
class TypusUserRolesTest < ActiveSupport::TestCase
|
|
4
|
-
|
|
5
|
-
should "get a list of roles" do
|
|
6
|
-
roles = %w(admin designer editor)
|
|
7
|
-
assert_equal roles, Typus::Configuration.roles.map(&:first).sort
|
|
8
|
-
end
|
|
9
|
-
|
|
10
|
-
context "A TypusUser with role admin" do
|
|
11
|
-
|
|
12
|
-
setup do
|
|
13
|
-
@typus_user = Factory(:typus_user)
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
should "verify models access" do
|
|
17
|
-
expected = %w(Asset Category Comment Git Page Post Status TypusUser View WatchDog)
|
|
18
|
-
assert_equal expected, @typus_user.resources.map(&:first).sort
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
should "verify resources without actions related are removed" do
|
|
22
|
-
assert !@typus_user.resources.map(&:first).include?('Order')
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
should "have access to all actions on models" do
|
|
26
|
-
models = %w(Asset Category Comment Page Post TypusUser View)
|
|
27
|
-
%w(create read update destroy).each { |a| models.each { |m| assert @typus_user.can?(a, m) } }
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
should "verify we can perform action on resource" do
|
|
31
|
-
assert @typus_user.can?('index', 'Status', { :special => true })
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
should "verify we cannot perform action on resource" do
|
|
35
|
-
assert @typus_user.cannot?('show', 'Status', { :special => true })
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
should "verify we cannot perform actions on resources which don't have that action defined" do
|
|
39
|
-
assert @typus_user.cannot?('index', 'Order')
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
context "A TypusUser with role editor" do
|
|
45
|
-
|
|
46
|
-
setup do
|
|
47
|
-
@typus_user = Factory(:typus_user, :role => "editor")
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
should "verify models access" do
|
|
51
|
-
expected = %w(Category Comment Git Post TypusUser View)
|
|
52
|
-
assert_equal expected, @typus_user.resources.map(&:first).sort
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
should "only create, read and update categories" do
|
|
56
|
-
%w(create read update).each { |a| assert @typus_user.can?(a, 'Category') }
|
|
57
|
-
%w(delete).each { |a| assert @typus_user.cannot?(a, 'Category') }
|
|
58
|
-
end
|
|
59
|
-
|
|
60
|
-
should "only create, read and update posts" do
|
|
61
|
-
%w(create read update).each { |a| assert @typus_user.can?(a, 'Post') }
|
|
62
|
-
%w(delete).each { |a| assert @typus_user.cannot?(a, 'Post') }
|
|
63
|
-
end
|
|
64
|
-
|
|
65
|
-
should "only read, update and delete comments" do
|
|
66
|
-
%w(read update delete).each { |a| assert @typus_user.can?(a, 'Comment') }
|
|
67
|
-
%w(create).each { |a| assert @typus_user.cannot?(a, 'Comment') }
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
should "only read and update typus_users" do
|
|
71
|
-
%w(read update).each { |a| assert @typus_user.can?(a, 'TypusUser') }
|
|
72
|
-
%w(create delete).each { |a| assert @typus_user.cannot?(a, 'TypusUser') }
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
end
|
|
76
|
-
|
|
77
|
-
context "A TypusUser with role designer" do
|
|
78
|
-
|
|
79
|
-
setup do
|
|
80
|
-
@typus_user = Factory(:typus_user, :role => "designer")
|
|
81
|
-
end
|
|
82
|
-
|
|
83
|
-
should "verify models access" do
|
|
84
|
-
expected = %w(Category Comment Post)
|
|
85
|
-
assert_equal expected, @typus_user.resources.map(&:first).sort
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
should "only read and update categories" do
|
|
89
|
-
%w(read update).each { |a| assert @typus_user.can?(a, 'Category') }
|
|
90
|
-
%w(create delete).each { |a| assert @typus_user.cannot?(a, 'Category') }
|
|
91
|
-
end
|
|
92
|
-
|
|
93
|
-
should "only read comments" do
|
|
94
|
-
%w(read).each { |a| assert @typus_user.can?(a, 'Comment') }
|
|
95
|
-
%w(create update delete).each { |a| assert @typus_user.cannot?(a, 'Comment') }
|
|
96
|
-
end
|
|
97
|
-
|
|
98
|
-
should "only read and update posts" do
|
|
99
|
-
%w(read update).each { |a| assert @typus_user.can?(a, 'Post') }
|
|
100
|
-
%w(create delete).each { |a| assert @typus_user.cannot?(a, 'Post') }
|
|
101
|
-
end
|
|
102
|
-
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
end
|