outpost-cms 0.0.3 → 0.0.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/README.md +19 -1
- data/Rakefile +0 -12
- data/app/assets/javascripts/outpost.js +1 -1
- data/app/assets/javascripts/outpost/auto_slug_field.js.coffee +6 -6
- data/app/assets/javascripts/outpost/date_time_input.js.coffee +13 -13
- data/app/assets/javascripts/outpost/field_counter.js.coffee +15 -15
- data/app/assets/javascripts/outpost/field_manager.js.coffee +3 -3
- data/app/assets/javascripts/outpost/global_plugins.js.coffee +16 -19
- data/app/assets/javascripts/outpost/index_manager.js.coffee +12 -12
- data/app/assets/javascripts/outpost/notification.js.coffee +33 -11
- data/app/assets/javascripts/outpost/preview.js.coffee +4 -4
- data/app/assets/javascripts/outpost/utilities.js.coffee +13 -0
- data/app/assets/stylesheets/outpost/_base.css.scss +9 -9
- data/app/assets/stylesheets/outpost/_forms.css.scss +28 -15
- data/app/assets/stylesheets/outpost/_index.css.scss +2 -2
- data/app/assets/stylesheets/outpost/_utility.css.scss +1 -1
- data/app/controllers/outpost/application_controller.rb +5 -3
- data/app/controllers/outpost/errors_controller.rb +2 -1
- data/app/controllers/outpost/resource_controller.rb +1 -1
- data/app/controllers/outpost/sessions_controller.rb +10 -5
- data/app/helpers/authorization_helper.rb +3 -3
- data/app/helpers/list_helper.rb +72 -49
- data/app/helpers/outpost_helper.rb +4 -4
- data/app/helpers/render_helper.rb +5 -5
- data/app/helpers/utility_helper.rb +5 -5
- data/app/models/permission.rb +8 -5
- data/app/views/layouts/outpost/application.html.erb +7 -7
- data/app/views/layouts/outpost/minimal.html.erb +1 -1
- data/app/views/outpost/errors/error_500.html.erb +1 -1
- data/app/views/outpost/resource/_errors.html.erb +2 -11
- data/app/views/outpost/resource/edit.html.erb +8 -4
- data/app/views/outpost/resource/new.html.erb +5 -1
- data/app/views/outpost/sessions/new.html.erb +1 -1
- data/app/views/outpost/shared/_filters.html.erb +2 -2
- data/app/views/outpost/shared/_form_block.html.erb +2 -2
- data/app/views/outpost/shared/_form_nav.html.erb +1 -1
- data/app/views/outpost/shared/_full_errors.html.erb +9 -0
- data/app/views/outpost/shared/_headers.html.erb +4 -4
- data/app/views/outpost/shared/_navigation.html.erb +4 -4
- data/app/views/outpost/shared/_submit_row.html.erb +5 -5
- data/lib/action_view/helpers/form_builder.rb +28 -16
- data/lib/outpost.rb +8 -5
- data/lib/outpost/breadcrumbs.rb +13 -11
- data/lib/outpost/config.rb +6 -6
- data/lib/outpost/controller.rb +8 -2
- data/lib/outpost/controller/actions.rb +3 -3
- data/lib/outpost/controller/authentication.rb +2 -1
- data/lib/outpost/controller/authorization.rb +3 -2
- data/lib/outpost/controller/callbacks.rb +2 -1
- data/lib/outpost/controller/custom_errors.rb +44 -13
- data/lib/outpost/controller/helpers.rb +1 -29
- data/lib/outpost/controller/ordering.rb +59 -16
- data/lib/outpost/controller/preferences.rb +3 -3
- data/lib/outpost/helpers/naming.rb +2 -2
- data/lib/outpost/hook.rb +5 -5
- data/lib/outpost/list.rb +3 -3
- data/lib/outpost/list/base.rb +23 -13
- data/lib/outpost/list/column.rb +13 -4
- data/lib/outpost/list/filter.rb +4 -4
- data/lib/outpost/model.rb +2 -2
- data/lib/outpost/model/authentication.rb +6 -2
- data/lib/outpost/model/authorization.rb +1 -2
- data/lib/outpost/model/identifier.rb +15 -10
- data/lib/outpost/model/methods.rb +2 -2
- data/lib/outpost/model/naming.rb +10 -7
- data/lib/outpost/model/routing.rb +6 -6
- data/lib/outpost/model/serializer.rb +3 -3
- data/lib/outpost/version.rb +1 -1
- data/spec/controllers/authentication_spec.rb +10 -10
- data/spec/controllers/sessions_controller_spec.rb +17 -17
- data/spec/factories.rb +1 -1
- data/spec/features/authentication_spec.rb +43 -0
- data/spec/features/authorization_spec.rb +28 -0
- data/spec/features/creating_spec.rb +44 -0
- data/spec/features/destroying_spec.rb +18 -0
- data/spec/features/editing_spec.rb +43 -0
- data/spec/features/save_options_spec.rb +35 -0
- data/spec/helpers/authorization_helper_spec.rb +8 -8
- data/spec/helpers/list_helper_spec.rb +34 -0
- data/spec/helpers/render_helper_spec.rb +1 -1
- data/spec/helpers/utility_helper_spec.rb +10 -10
- data/spec/internal/app/controllers/outpost/people_controller.rb +3 -3
- data/spec/internal/app/models/person.rb +3 -0
- data/spec/internal/config/routes.rb +1 -1
- data/spec/internal/db/combustion_test.sqlite +0 -0
- data/spec/internal/log/test.log +35260 -53251
- data/spec/internal/tmp/cache/assets/test/sass/20f5650af539e2cc0c7216330842920da53e851d/bootstrap.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/20f5650af539e2cc0c7216330842920da53e851d/datepicker.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_alerts.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_breadcrumbs.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_button-groups.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_buttons.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_close.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_code.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_component-animations.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_dropdowns.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_forms.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_grid.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_labels-badges.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_layouts.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_mixins.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_modals.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_navbar.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_navs.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_pager.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_pagination.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_reset.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_scaffolding.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_sprites.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_tables.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_type.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_utilities.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_variables.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/4867dc0a3f589a0a2c9635bfeae1ddc8691d74a0/_wells.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/56c521c2866fc194cbbf1ead1ad9e7d727f5e7b3/select2.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/87aa0c8b43c5e29ce88dd86b1a2c657232e4bb6f/outpost.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cde194af3b19eae3aef82845ab8bc0df6c0d84d4/select2.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_alerts.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_breadcrumbs.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_button-groups.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_buttons.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_close.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_code.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_component-animations.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_dropdowns.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_forms.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_grid.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_labels-badges.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_layouts.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_mixins.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_modals.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_navbar.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_navs.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_pager.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_pagination.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_reset.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_scaffolding.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_sprites.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_tables.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_type.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_utilities.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_variables.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/cee3b45c60038923cb15e74edf0b508296df0b89/_wells.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_alerts.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_breadcrumbs.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_button-groups.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_buttons.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_close.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_code.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_component-animations.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_dropdowns.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_forms.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_grid.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_labels-badges.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_layouts.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_mixins.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_modals.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_navbar.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_navs.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_pager.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_pagination.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_reset.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_scaffolding.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_sprites.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_tables.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_type.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_utilities.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_variables.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/db455d3ae1e484fbc281e7097adf4ecb850d7d10/_wells.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/e1eb86f6478445881765984079761fb4af85ab4e/select2.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/ea24470654f74c1fe92aa45b2fae66b2a464a390/_base.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/ea24470654f74c1fe92aa45b2fae66b2a464a390/_edit.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/ea24470654f74c1fe92aa45b2fae66b2a464a390/_forms.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/ea24470654f74c1fe92aa45b2fae66b2a464a390/_index.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/ea24470654f74c1fe92aa45b2fae66b2a464a390/_utility.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/ea24470654f74c1fe92aa45b2fae66b2a464a390/application.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/ea24470654f74c1fe92aa45b2fae66b2a464a390/outpost.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sass/ea24470654f74c1fe92aa45b2fae66b2a464a390/select2.css.scssc +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/00154e1fc60e5765eb3704d402af06d1 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/0122e4f8c5576de5137307df7d6163a0 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/016db564806ffd72c90385066f2d1526 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/0185dbaba82d3fbc0fd9d2383dc7338d +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/01a8e4b866eb7fc8ea5ed3941f1b1877 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/02713d4140ec033db3e897e7597c2096 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/0377ae38f0ab4fa7131b364012d9a4fa +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/04effed13eef407140fbe39b6efae4b2 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/086d226e30e05ea260b6d01a4fbd8a29 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/0a032a3ea9ed2f90e27e350839fcc8dc +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/0bc810339d0afdbe60e338e0041023cc +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/0e167df01ba09061de9f5c49cfdccc99 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/0e69140d2c49ad3bd2a53e1a61ca911f +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/15a87828df71925cca15a55b77afcf64 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/19b0f301c27628308ff1f81a322fcaa9 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/1b718773e74da99a05a30cc200c74d2b +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/1d2a3ed3a5ee7d864dccd4feb0298858 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/1dfbb70993a8817b5e5aee44b888309d +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/1e397e58ea65aa807232e81ba0646007 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/1e85a069dc1fa2fd3a325dd73115819a +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/1fa01b5b6a31a3380b9f7926508624cb +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/21f2bd9f5281712ad2d8c772fd407505 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/235664cdcf9cd81bf6a89a09e1e5711a +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/23643a6f2a1f5c182681eca82a12b3b5 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/25f2c3cb96afc04742cb792a8adf703a +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/26ad3186c36f3514d1028fb00180ed9c +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/271f465e2ee560eee64005efa04346de +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/29a5c683744eb88ed1292f59cd6063c9 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/2bb02e7009e6fec07e0ed0d01a1cf997 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/2cb954dcae3aa6f587625543070feb84 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/2f2c37a813522cd1889d2ebdfb2d2a66 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/316c469209d39a7bdac5c11828cf8d74 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/31be2b6ebd86190dc1ec80ce5f0833c5 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/36372f01bbdb43b410ec5192f7b6902f +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/3717c6d6d1b1afd049b633417ed63cdd +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/37abf1a201cc821dfc13cc427659a47b +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/38341483f58eeea1d871954dbe986267 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/38aa3f8364fc8f118029ff4651c72221 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/3e5a01607dc58566739854e9f3ce5024 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/3f1c054c86b6510099f8e6c5dfe7ff3a +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/3f744831928042565f7903a46a39791c +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/3fadb5164d4b3caf81ef217fcde0d142 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/44020d882ece5491178ab3560f0d47a6 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/450ba61c4dc9c4cfa9f7efa5c9bba83d +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/4543f412f8a876cd357e5888a4453e5d +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/4a0eb5dbdb969be5257139300ae901a9 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/4ad30c03a35f4b46291c9c6331c43567 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/4c55f0b46f9bfc697010c07487d932e1 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/4d5649fe189b1fdead6428fdd2b9fafd +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/4d779cbf3db6f14b3e022a5e5758d72d +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/4ed642ba978ceb9502349fa8e6676440 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/4f6d52d657e0c1e635762f3edc6e8e20 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/50ae0bcf805250caf4ae4c4e01deebc9 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/53fc0263b1ce55a46ed55c461a2a8696 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/53fee1ff706022963c15ff24d5c53b54 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/54746a8bf1cdccbce2a3cfb4af05aef8 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/595ad1f5b58343141474f9211039df61 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/5c8c03be6364f23b4008487f351afa73 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/5d1e25ab219593639db982c901882c0f +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/5d676e2352411dd3f05c6cee14727d1c +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/5e2716f68ca78a5c0c83b157db90fc0d +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/5e3f572f31041a301e0891c10f04604c +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/620148b9ab753da9e8644581b619731b +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/6471408d963e9165f8831b4bab80edd9 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/64a8cb638857a130dbabae4d1633618e +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/6503f1ef9797aafce9339deb9200cfca +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/6519463c3d8d8a34d743ef38eff5df45 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/656b07036edb74305c343f41eba55695 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/6571b577767caea14c3b89201d0643a2 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/6748f4abf46d0d2f516279ec032fd817 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/67a11a42996d51802481c92dc09c83fa +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/6873baccb9ed57b839e83cfb93738955 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/6b9d79602e3b6ff9dd067605adeb0888 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/6c3df81c5fb88b555bafde4f54db7db2 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/6c62bea96eebf0f05624a859e8666f9a +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/6cecd8ec655b80ac006bbec236b4263b +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/700c635c138594de7ac50ad4b0420a0f +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/70de8c6638b3ad61a4125dfb42e41f5b +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/72a7339f697b2dcde9bd4835eaa42642 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/756eb63f1239c0a7a3d85253ddb5ca0d +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/76e213ff5da12faa448078def3d32db5 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/76e3360cc08985753a1273cd40c3084a +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/78f9aaf7b4a1253db9bdb2f2301a9b7d +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/7ba5aaf62125e0b56d9e46603f5f8601 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/7e0d7eb383740100156a527b9e26d659 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/7e297a13578eea5ae51d5abb3be9df18 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/81670753eb8197bb1b9ca4d5a66a6fc5 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/896416332cf9f3e34262e6241b8237ef +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/8b99288467087dc247c025d41444f377 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/8c123b8d3cc73220c5b69f99d2168389 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/8c5dcc180f78ee4957d754df726e2248 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/8e6315300501d34a896b82c0c0ceb70c +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/90d6924223f69e10833fa8ef351e35ab +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/9117ec941398c9b1340aa0b170ab2dc7 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/91d56ecde1551ea73ef462a44b77f650 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/9676f39584b5a04f92b29c0729175a8c +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/9788c645f0c65ea7466be1dc13f64eea +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/9add31bfd5f6aaa920af7f38211f9aa2 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/9b08bbf9ae722116682b8e22cb38c2ec +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/9bc5469fea2a4926d4744c370bae613a +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/9c1b3e8d4f1bab87ed819b82da42f535 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/9c736faedfe2dfe359042f9d2ce85367 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/9cf76f5ce68332b0f67c2f3b896a3475 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/9d484a2e742210fa6bc8be543c6331b9 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/9dd86c42f919be9f13a14317e7607f31 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/a0743c695fe7f2f40fc5f188fd054c2b +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/a0b5c6371ce0b3308fc3be90c4f9ef5b +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/a1e23f12c8163631dc3a2a98efd393a1 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/a2668b2b36e10c17a0a37e15af1adf92 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/a2d1f22b3a5164f8bdf8a2e08456d9c3 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/a458e44cf710f6e94208e22d3eafae3f +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/a79a727e3b12ecb263735a8edecc86c2 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/aaa6c30950f43b707d50ee44229c1d0f +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ac25c69ce48ecf3a3a3808ba26537243 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/acb56c1b241b90a3a8694a04d7724e7d +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ad5315bf4cd3b8c4d38f662ef41c44d0 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/b0e1d9e51dba635c57573102d479dea9 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/b1a78635932522eb99a619b6e190b898 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/b236b354a0e5045c17b85a70f66e612d +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/b2a3274db2081478a289f8eeee8370c7 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/b49f83c898ca822909d8d2c32470cfec +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/b4c4d53c35d932c2b28bcefa990ec7fc +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/b6f987547de2c90ebc0413d3263b87e8 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/b832658770b677e87a9d095ed3a87c47 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/b9d76e389aeda53d2f9cc256f75e303b +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/bad56ba50db6ed97894b003103289ffe +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/bb4e55b9b1a8a3bb8a8f0a10d4c6b074 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/bc8ba0b8c4f10524a604a7163f16e3dd +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/bdfb9045b2f813ac4397c5cf0487f840 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/bf20d01df22f01e0fd66116d0ce58969 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/bf6fcb4c8c96d5406899b48c688e17a2 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/c0291860b6abb7bdc04ccc1e990e38f0 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/c1195a7d9d0e930545cda22ad40b0a9c +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/c13a23e52c9d1956c61fb8540bfff8ef +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/c1aa6b16696817c61530071b80c0cd43 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/c3954ed4f5e4dced91ee1240e4f90a05 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/c56fce185c88af8d191796b0172f498b +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/c698133fe56541139a2f0d883ca07936 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/c7fcb613d0a346398fdf7a3a6ee722a1 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/c811799e9db5c939aab1e8e394df3b64 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/c9a027b847d199e99825ea85000303cf +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/c9f12fd289b0f7e670ede1eeb8d3c24c +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/c9f83bead35bd9bb5c671e327174c526 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/cb6a30f2c5219f77229df845e426ea71 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/cbbd567516b06004eb748f5a59bc14cc +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/cbf827028b6168652324eb60180e21bd +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/cc6766435593a06fcc9193244ea952a0 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ccf22a7e27ed81a71d47f42a7cdb8e0e +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/cd7d618755faec87f9c5cf47c6ae3365 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/cded6947b5642cfe05ffecc7a33ba54f +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/d3638dad50702ecfe0e1b3bc8e07afc4 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/d5693a0bc9ebc317ed346946e8fe94ba +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/d5c56cd3863549bedac1c7b3f28ae1d7 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/d6ba30bdd7d4b6d5205c150734acf5fa +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/dd47254dcdc30cdbffbe6c32c57032fe +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/dde6829bdb6fb77823831ab67644b76f +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ded9d8a2db25b4ab7f6d4f297208ded2 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/df8f0d31d3b82184ed7ded27b99b8ad4 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/e29bc5278f7e0bed414f714583faceee +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/e461582472217950b63ee3247041e99c +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/e521c94e59f66d600e517a555502fa11 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/e5be380a9dba4e6deae7a8511e4d7c13 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/e744b5ae603dc485f33ed176c899adfc +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/e80c7be4df818b60928137fb7c450a43 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/e8edf2c8d66f7e31710f9aa5068d1155 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ea8cf9239f191c63624cef6a3b6d2fbe +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ebb6acb80a5274f63d3ac5fd8df530b1 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ebf2e1ad04f201369fb43454efc7bbd7 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ec197b57d7a6b4163dac32744e3fa5b0 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/edb76e2e1ee82dc916a1086ca2d71de9 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/edc87d0b81267faccd7c5ada85675f9b +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ef4e09f768bb9330652eaa198bbd2c61 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ef64bea489660cf5e30a6feb53bf3a5d +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/f1b8af27ca9833a0ac2a5e10763efaa2 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/f5827ca48c75eb2925e0ae71f4545190 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/f60d687ea69fe491a8686efe8d6b3022 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/f66a526c31371958b5cd65928dd07d7f +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/f6d577e76daa020d3df860c5dc7f8f61 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/f71d6134d0f24cb1de62de79100e19ee +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/f7ace754f231b5ad97520f631ea60e01 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/f8f8cc64c68687e8c827d78d42ed93a4 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/fa2eaf4b4fc72c8cb321c6f9c022a55f +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/fa32e1bd0e55873cd424ac5e7ce5c5ac +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/fa9f906d3d676d23eac6d15f90f77876 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/fd8537c2a374241cc1d2d029ca4a3623 +0 -0
- data/spec/internal/tmp/cache/assets/test/sprockets/ff2e40602b14836c882af817459fa90e +0 -0
- data/spec/internal/tmp/capybara/capybara-201308160115352034044402.html +51 -0
- data/spec/internal/tmp/capybara/capybara-201308160118107572662369.html +140 -0
- data/spec/internal/tmp/capybara/capybara-201308160124322422773822.html +140 -0
- data/spec/internal/tmp/capybara/capybara-201308160216057700618069.html +71 -0
- data/spec/internal/tmp/capybara/capybara-201308160227299029704750.html +51 -0
- data/spec/internal/tmp/capybara/capybara-201308160227517375148134.html +51 -0
- data/spec/lib/breadcrumbs_spec.rb +5 -5
- data/spec/lib/config_spec.rb +11 -11
- data/spec/lib/controller/callbacks_spec.rb +1 -9
- data/spec/lib/controller/helpers_spec.rb +4 -4
- data/spec/lib/hook_spec.rb +1 -1
- data/spec/lib/list/base_spec.rb +18 -18
- data/spec/lib/list/column_spec.rb +4 -4
- data/spec/lib/list/filter_spec.rb +2 -2
- data/spec/lib/model/authentication_spec.rb +4 -4
- data/spec/lib/model/authorization_spec.rb +4 -4
- data/spec/lib/model/identifier_spec.rb +19 -18
- data/spec/lib/model/methods_spec.rb +1 -1
- data/spec/lib/model/naming_spec.rb +10 -10
- data/spec/lib/model/routing_spec.rb +14 -14
- data/spec/lib/model/serializer_spec.rb +1 -1
- data/spec/lib/outpost_spec.rb +5 -5
- data/spec/spec_helper.rb +7 -0
- data/spec/support/authentication_helper.rb +20 -0
- data/spec/support/authorization_helper.rb +13 -0
- metadata +632 -124
@@ -5,42 +5,64 @@
|
|
5
5
|
#
|
6
6
|
class outpost.Notification
|
7
7
|
constructor: (@wrapper, @type, @message) ->
|
8
|
-
@el =
|
8
|
+
@el = @_buildElement()
|
9
9
|
|
10
|
+
# Alias for #append
|
10
11
|
render: ->
|
12
|
+
@append()
|
13
|
+
|
14
|
+
# Replaces the element.
|
15
|
+
# This is useful if you've changed the message or type.
|
16
|
+
rerender: ->
|
17
|
+
newEl = @_buildElement()
|
18
|
+
@el.replaceWith(newEl)
|
19
|
+
@el = newEl
|
20
|
+
|
21
|
+
# Append the element to the wrapper.
|
22
|
+
append: ->
|
11
23
|
@wrapper.append @el
|
12
|
-
|
24
|
+
|
25
|
+
# Prepend the element to the wrapper.
|
13
26
|
prepend: ->
|
14
27
|
@wrapper.prepend @el
|
15
|
-
|
28
|
+
|
16
29
|
# Replaces the wrapper's content with the alert
|
17
30
|
replace: ->
|
18
31
|
@wrapper.html @el
|
19
|
-
|
32
|
+
|
33
|
+
# Delegation for jQuery: @el.html("new text")
|
34
|
+
html: (html) ->
|
35
|
+
@el.html(html)
|
36
|
+
|
20
37
|
# Delegation for jQuery: @el.is(":visible")
|
21
38
|
isVisible: ->
|
22
39
|
@el.is(":visible")
|
23
|
-
|
40
|
+
|
24
41
|
# Delegation for jQuery: @el.show()
|
25
42
|
show: ->
|
26
43
|
@el.show()
|
27
|
-
|
44
|
+
|
28
45
|
# Delegation for jQuery: @el.hide()
|
29
|
-
hide: ->
|
46
|
+
hide: ->
|
30
47
|
@el.hide()
|
31
|
-
|
48
|
+
|
32
49
|
# Delegation for jQuery: @el.fadeIn()
|
33
50
|
fadeIn: (speed=400, callback=null) ->
|
34
51
|
@el.fadeIn(speed, callback?())
|
35
|
-
|
52
|
+
|
36
53
|
# Delegation for jQuery: @el.fadeOut()
|
37
54
|
fadeOut: (speed=400, callback=null) ->
|
38
55
|
@el.fadeOut(speed, callback?())
|
39
|
-
|
56
|
+
|
40
57
|
# Delegation for jQuery: @el.detach()
|
41
58
|
detach: ->
|
42
59
|
@el.detach()
|
43
|
-
|
60
|
+
|
44
61
|
# Delegation for jQuery: @el.remove()
|
45
62
|
remove: ->
|
46
63
|
@el.remove()
|
64
|
+
|
65
|
+
|
66
|
+
# Builds an element based on the attributes.
|
67
|
+
_buildElement: ->
|
68
|
+
$("<div />", class: "alert alert-#{@type}").html("#{@message}")
|
@@ -6,13 +6,13 @@
|
|
6
6
|
class outpost.Preview
|
7
7
|
constructor: (@options) ->
|
8
8
|
_t = @
|
9
|
-
|
9
|
+
|
10
10
|
$("form #preview-submit a.js-preview-btn").on
|
11
11
|
click: (event) ->
|
12
12
|
event.preventDefault()
|
13
13
|
target = $(@)
|
14
14
|
form = target.closest("form")
|
15
|
-
|
15
|
+
|
16
16
|
# Update any hidden textareas that are using CKEditor
|
17
17
|
# Then serialize the form.
|
18
18
|
if CKEDITOR?
|
@@ -27,7 +27,7 @@ class outpost.Preview
|
|
27
27
|
url: "#{_t.options.baseUrl}/preview"
|
28
28
|
data:
|
29
29
|
data
|
30
|
-
|
30
|
+
|
31
31
|
beforeSend: (jqXHR, settings) ->
|
32
32
|
_t.openWindow(target.data("windowOptions"))
|
33
33
|
_t.writeToWindow(JST['outpost/templates/loading']())
|
@@ -47,7 +47,7 @@ class outpost.Preview
|
|
47
47
|
# If it already exists, just focus on it.
|
48
48
|
openWindow: (options="")->
|
49
49
|
if !@window or (@window and @window.closed)
|
50
|
-
@window = window.open("", "preview",
|
50
|
+
@window = window.open("", "preview",
|
51
51
|
"scrollbars=yes,menubar=no,location=no,directories=no,toolbar=no,#{options}")
|
52
52
|
else
|
53
53
|
@window.focus()
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class outpost.Utilities
|
2
|
+
# Prevent forms from submitting when the "Enter"
|
3
|
+
# key is pressed inside of a text field
|
4
|
+
# Pass in an optional form ID to restrict it just to that form.
|
5
|
+
@preventEnterFromSubmittingForm: (formId='') ->
|
6
|
+
$("form#{formId} input[type=text]").on
|
7
|
+
keydown: (event) ->
|
8
|
+
key = event.keyCode || event.which
|
9
|
+
|
10
|
+
if key == 13 # Enter
|
11
|
+
event.stopPropagation()
|
12
|
+
event.preventDefault()
|
13
|
+
false
|
@@ -9,7 +9,7 @@ body, p {
|
|
9
9
|
line-height: 14px;
|
10
10
|
}
|
11
11
|
|
12
|
-
small {
|
12
|
+
small {
|
13
13
|
font-size: 11px;
|
14
14
|
}
|
15
15
|
|
@@ -17,7 +17,7 @@ small {
|
|
17
17
|
&.unstyled {
|
18
18
|
padding: 0;
|
19
19
|
}
|
20
|
-
|
20
|
+
|
21
21
|
padding-left: 0;
|
22
22
|
padding-right: 0;
|
23
23
|
margin: 0;
|
@@ -40,25 +40,25 @@ small {
|
|
40
40
|
|
41
41
|
.cms-nav {
|
42
42
|
max-width: 820px;
|
43
|
-
|
43
|
+
|
44
44
|
.grouper {
|
45
45
|
display: inline-block;
|
46
46
|
width: 400px;
|
47
47
|
vertical-align: top;
|
48
48
|
}
|
49
|
-
|
49
|
+
|
50
50
|
li {
|
51
51
|
clear: both;
|
52
52
|
border-bottom: 1px solid $grayLighter;
|
53
|
-
|
53
|
+
|
54
54
|
&:hover {
|
55
55
|
background: $linkColor;
|
56
|
-
&> a {
|
56
|
+
&> a {
|
57
57
|
color: $white;
|
58
58
|
text-decoration: none;
|
59
59
|
}
|
60
60
|
}
|
61
|
-
|
61
|
+
|
62
62
|
&> a {
|
63
63
|
clear: none;
|
64
64
|
width: 285px;
|
@@ -73,14 +73,14 @@ small {
|
|
73
73
|
color: #333333;
|
74
74
|
white-space: nowrap;
|
75
75
|
}
|
76
|
-
|
76
|
+
|
77
77
|
.btn-links {
|
78
78
|
display: inline-block;
|
79
79
|
clear: both;
|
80
80
|
vertical-align: bottom;
|
81
81
|
margin-bottom: 3px;
|
82
82
|
width: 60px;
|
83
|
-
|
83
|
+
|
84
84
|
&> a {
|
85
85
|
margin: 0px 2px;
|
86
86
|
&.add { float: right; }
|
@@ -8,8 +8,8 @@
|
|
8
8
|
form.simple_form {
|
9
9
|
table.field-rows {
|
10
10
|
td, th {
|
11
|
-
text-align: left;
|
12
|
-
padding: 5px 10px;
|
11
|
+
text-align: left;
|
12
|
+
padding: 5px 10px;
|
13
13
|
}
|
14
14
|
|
15
15
|
tbody tr { padding: 5px 0; }
|
@@ -21,7 +21,7 @@ form.simple_form {
|
|
21
21
|
input.wide, textarea {
|
22
22
|
@extend .span7;
|
23
23
|
}
|
24
|
-
|
24
|
+
|
25
25
|
input, textarea {
|
26
26
|
&.span1 { @extend .span1; }
|
27
27
|
&.span2 { @extend .span2; }
|
@@ -36,52 +36,61 @@ form.simple_form {
|
|
36
36
|
&.span11 { @extend .span11; }
|
37
37
|
&.span12 { @extend .span12; }
|
38
38
|
}
|
39
|
-
|
39
|
+
|
40
40
|
input.thin, textarea.thin {
|
41
41
|
@extend .span2;
|
42
42
|
}
|
43
|
-
|
43
|
+
|
44
44
|
input.tiny {
|
45
45
|
@extend .span1;
|
46
46
|
}
|
47
|
-
|
47
|
+
|
48
48
|
// For code inputs
|
49
49
|
textarea.fixed-font, input.fixed-font {
|
50
50
|
@include font-monospace($size: 11px);
|
51
51
|
background: #000;
|
52
52
|
color: #FFFF00;
|
53
53
|
}
|
54
|
-
|
54
|
+
|
55
55
|
textarea {
|
56
56
|
&.tiny { height: 100px; }
|
57
57
|
&.short { height: 200px; }
|
58
58
|
&.tall { height: 600px; }
|
59
59
|
}
|
60
|
-
|
61
|
-
fieldset
|
60
|
+
|
61
|
+
fieldset {
|
62
|
+
margin-bottom: 40px;
|
63
|
+
|
64
|
+
legend {
|
65
|
+
background: #000;
|
66
|
+
color: #fff;
|
67
|
+
padding: 0 5px;
|
62
68
|
cursor: pointer;
|
69
|
+
line-height: 1.2em; // override bootstrap
|
70
|
+
|
63
71
|
&:hover {
|
64
|
-
background: #
|
72
|
+
background: #666;
|
65
73
|
}
|
74
|
+
}
|
66
75
|
}
|
67
|
-
|
76
|
+
|
68
77
|
.counter-notify {
|
69
78
|
@extend .span7;
|
70
79
|
}
|
71
|
-
|
80
|
+
|
72
81
|
.inline { // Extend bootstrap .inline
|
73
82
|
display: inline-block;
|
74
83
|
margin-right: 5px;
|
75
84
|
input[type=text] { @extend .span2; }
|
76
85
|
input[type=checkbox] { width: 20px; }
|
77
|
-
|
86
|
+
|
78
87
|
.controls {
|
79
88
|
margin-left: 10px;
|
80
89
|
}
|
81
90
|
}
|
82
|
-
|
91
|
+
|
83
92
|
.control-group.vertical {
|
84
|
-
label {
|
93
|
+
label {
|
85
94
|
float: none;
|
86
95
|
text-align: left;
|
87
96
|
}
|
@@ -114,3 +123,7 @@ form.simple_form {
|
|
114
123
|
.select2-drop {
|
115
124
|
z-index: 4;
|
116
125
|
}
|
126
|
+
|
127
|
+
.has-many-add-link {
|
128
|
+
@extend .btn;
|
129
|
+
}
|
@@ -4,12 +4,12 @@ module Outpost
|
|
4
4
|
include Outpost::Controller::Authorization
|
5
5
|
include Outpost::Controller::Authentication
|
6
6
|
include Outpost::Controller::CustomErrors
|
7
|
-
|
7
|
+
|
8
8
|
abstract!
|
9
9
|
protect_from_forgery
|
10
10
|
before_filter :root_breadcrumb
|
11
11
|
before_filter :set_sections
|
12
|
-
|
12
|
+
|
13
13
|
#------------------------
|
14
14
|
# Always want to add this link to the Breadcrumbs
|
15
15
|
def root_breadcrumb
|
@@ -34,7 +34,9 @@ module Outpost
|
|
34
34
|
#----------------------
|
35
35
|
|
36
36
|
def render_preview_validation_errors(record)
|
37
|
-
render "/outpost/shared/_preview_errors",
|
37
|
+
render "/outpost/shared/_preview_errors",
|
38
|
+
:layout => "outpost/minimal",
|
39
|
+
:locals => { record: record }
|
38
40
|
end
|
39
41
|
end
|
40
42
|
end
|
@@ -4,23 +4,28 @@ module Outpost
|
|
4
4
|
before_filter :get_authentication_attribute
|
5
5
|
|
6
6
|
respond_to :html
|
7
|
-
|
7
|
+
|
8
8
|
def new
|
9
9
|
redirect_to outpost_root_path if current_user
|
10
10
|
end
|
11
|
-
|
11
|
+
|
12
12
|
def create
|
13
|
-
if user = Outpost.user_class.authenticate(
|
13
|
+
if user = Outpost.user_class.authenticate(
|
14
|
+
params[@authentication_attribute], params[:password])
|
15
|
+
|
14
16
|
session[:user_id] = user.id
|
15
17
|
user.update_column(:last_login, Time.now)
|
16
|
-
|
18
|
+
|
19
|
+
redirect_to session[:return_to] || outpost_root_path,
|
20
|
+
notice: "Logged in."
|
21
|
+
|
17
22
|
session[:return_to] = nil
|
18
23
|
else
|
19
24
|
flash.now[:alert] = "Invalid login information."
|
20
25
|
render :new
|
21
26
|
end
|
22
27
|
end
|
23
|
-
|
28
|
+
|
24
29
|
def destroy
|
25
30
|
@current_user = nil
|
26
31
|
session[:user_id] = nil
|
@@ -1,9 +1,9 @@
|
|
1
1
|
module AuthorizationHelper
|
2
|
-
# Public: Block out whole chunks of code based on permissions.
|
2
|
+
# Public: Block out whole chunks of code based on permissions.
|
3
3
|
#
|
4
|
-
# resource - (Class) The model that the user must have permission
|
4
|
+
# resource - (Class) The model that the user must have permission
|
5
5
|
# to manage in order to see the block.
|
6
|
-
# message - (String) The message to display if the user isn't
|
6
|
+
# message - (String) The message to display if the user isn't
|
7
7
|
# authorized (default: "").
|
8
8
|
# block - The block that will be captured if the user is authorized.
|
9
9
|
# Should return a String.
|
data/app/helpers/list_helper.rb
CHANGED
@@ -1,15 +1,23 @@
|
|
1
1
|
module ListHelper
|
2
|
+
ICON_DOWN = "icon-arrow-down"
|
3
|
+
ICON_UP = "icon-arrow-up"
|
4
|
+
|
5
|
+
BOOLEAN_BOOTSTRAP_MAP = {
|
6
|
+
true => { icon: "icon-white icon-ok", badge: "badge badge-success"},
|
7
|
+
false => { icon: "icon-white icon-remove", badge: "badge badge-important"}
|
8
|
+
}
|
9
|
+
|
2
10
|
# Public: Renders the attribute for this column and record
|
3
11
|
#
|
4
12
|
# column - (Outpost::Column) The column object.
|
5
13
|
# record - (Object) The ActiveRecord object being listed.
|
6
|
-
#
|
14
|
+
#
|
7
15
|
# Examples
|
8
|
-
#
|
9
|
-
# column.attribute # => :published_at
|
16
|
+
#
|
17
|
+
# column.attribute # => :published_at
|
10
18
|
# <%= render_attribute(column, @post) %>
|
11
19
|
# # => 2013-03-13 11:39:37 -0700
|
12
|
-
#
|
20
|
+
#
|
13
21
|
# Returns String of the rendered attribute.
|
14
22
|
def render_attribute(column, record)
|
15
23
|
if column.display.is_a? Proc
|
@@ -29,13 +37,13 @@ module ListHelper
|
|
29
37
|
# If we have explicitly defined a helper for this attribute, use it.
|
30
38
|
display_helper = :"display_#{column.attribute}"
|
31
39
|
|
32
|
-
elsif record.class.respond_to?(:reflect_on_association) &&
|
40
|
+
elsif record.class.respond_to?(:reflect_on_association) &&
|
33
41
|
record.class.reflect_on_association(column.attribute.to_sym)
|
34
42
|
# For associations, display the associated object's #to_title
|
35
43
|
display_helper = :display_record
|
36
|
-
|
37
|
-
elsif record.class.respond_to?(:columns_hash) &&
|
38
|
-
(ar_column = record.class.columns_hash[column.attribute]) &&
|
44
|
+
|
45
|
+
elsif record.class.respond_to?(:columns_hash) &&
|
46
|
+
(ar_column = record.class.columns_hash[column.attribute]) &&
|
39
47
|
self.methods.include?(type_helper = :"display_#{ar_column.type}")
|
40
48
|
# display_#{column_type} for generic display
|
41
49
|
# Example: display_datetime
|
@@ -48,12 +56,18 @@ module ListHelper
|
|
48
56
|
|
49
57
|
value = record.send(column.attribute)
|
50
58
|
column._display_helper = display_helper
|
51
|
-
|
59
|
+
|
60
|
+
if self.method(display_helper).arity == 2
|
61
|
+
send(display_helper, value, record)
|
62
|
+
else
|
63
|
+
send(display_helper, value)
|
64
|
+
end
|
52
65
|
end
|
53
66
|
end
|
54
67
|
|
68
|
+
|
55
69
|
# Public: Format a DateTime for displaying in lists
|
56
|
-
#
|
70
|
+
#
|
57
71
|
# date - (DateTime) The date to be formatted
|
58
72
|
#
|
59
73
|
# Examples
|
@@ -66,6 +80,7 @@ module ListHelper
|
|
66
80
|
format_date(date, format: :full_date)
|
67
81
|
end
|
68
82
|
|
83
|
+
|
69
84
|
# Public: Display the attribute or "[blank]" if not present
|
70
85
|
#
|
71
86
|
# attrib - (String) The attribute to display
|
@@ -87,6 +102,7 @@ module ListHelper
|
|
87
102
|
attrib.present? ? attrib.to_s : content_tag(:em, fallback)
|
88
103
|
end
|
89
104
|
|
105
|
+
|
90
106
|
# Public: Display the attribute as a string.
|
91
107
|
#
|
92
108
|
# attrib - (String) The attribute to display.
|
@@ -101,22 +117,24 @@ module ListHelper
|
|
101
117
|
attrib.to_s
|
102
118
|
end
|
103
119
|
|
120
|
+
|
104
121
|
# Public: Displays an String representation of the record using +#to_title+.
|
105
122
|
#
|
106
123
|
# record - (String) The associated record.
|
107
124
|
#
|
108
125
|
# Examples
|
109
|
-
#
|
126
|
+
#
|
110
127
|
# user = User.last
|
111
128
|
# user.to_title # => "James Earl Jones"
|
112
129
|
# display_record(User.last)
|
113
130
|
# # => "James Earl Jones"
|
114
131
|
#
|
115
132
|
# Returns String representation of the passed-in record.
|
116
|
-
def display_record(
|
117
|
-
|
133
|
+
def display_record(associated_record)
|
134
|
+
associated_record.try(:to_title)
|
118
135
|
end
|
119
|
-
|
136
|
+
|
137
|
+
|
120
138
|
# Public: Display a formatted DateTime.
|
121
139
|
#
|
122
140
|
# datetime - (DateTime) The DateTime object to format.
|
@@ -130,7 +148,8 @@ module ListHelper
|
|
130
148
|
def display_datetime(datetime)
|
131
149
|
format_date(datetime, format: :full_date, time: true)
|
132
150
|
end
|
133
|
-
|
151
|
+
|
152
|
+
|
134
153
|
# Public: Display a boolean attribute as a sweet icon.
|
135
154
|
#
|
136
155
|
# boolean - (boolean) true or false
|
@@ -142,72 +161,69 @@ module ListHelper
|
|
142
161
|
# # => <i class="icon-white icon-ok"></i>
|
143
162
|
# # => </span>
|
144
163
|
#
|
145
|
-
# Returns String of the appropriate icon.
|
164
|
+
# Returns String of the appropriate icon.
|
146
165
|
def display_boolean(boolean)
|
147
|
-
content_tag(:span,
|
148
|
-
content_tag(:i, "", class:
|
149
|
-
class:
|
166
|
+
content_tag(:span,
|
167
|
+
content_tag(:i, "", class: BOOLEAN_BOOTSTRAP_MAP[!!boolean][:icon]),
|
168
|
+
class: BOOLEAN_BOOTSTRAP_MAP[!!boolean][:badge])
|
150
169
|
end
|
151
170
|
|
152
|
-
# Private: Map for booleans to Bootstrap classes.
|
153
|
-
#
|
154
|
-
# Returns Hash
|
155
|
-
def boolean_bootstrap_map
|
156
|
-
{
|
157
|
-
true => { icon: "icon-white icon-ok", badge: "badge badge-success"},
|
158
|
-
false => { icon: "icon-white icon-remove", badge: "badge badge-important"}
|
159
|
-
}
|
160
|
-
end
|
161
171
|
|
162
172
|
# Public: Maps the passed-in sort mode (asc, desc) to the appropriate
|
163
173
|
# Bootstrap Glyphicons (icon-arrow-up, icon-arrow-down respectively)
|
164
174
|
#
|
165
|
-
#
|
175
|
+
# direction - (String) "ASC", "DESC"
|
166
176
|
#
|
167
177
|
# Examples
|
168
178
|
#
|
169
|
-
# <i class="<%=
|
179
|
+
# <i class="<%= direction_icon('ASC') %>">
|
170
180
|
# # => <i class="icon-arrow-up">
|
171
181
|
#
|
172
182
|
# Returns String of the icon class.
|
173
|
-
def
|
174
|
-
|
175
|
-
|
176
|
-
|
183
|
+
def direction_icon(direction)
|
184
|
+
direction = direction.to_s.upcase
|
185
|
+
|
186
|
+
case direction
|
187
|
+
when Outpost::DESCENDING then ICON_DOWN
|
188
|
+
when Outpost::ASCENDING then ICON_UP
|
177
189
|
end
|
178
190
|
end
|
179
191
|
|
180
|
-
|
192
|
+
|
193
|
+
# Public: Which sort mode to switch to. Useful for creating links to
|
181
194
|
# switch the sort mode or change the list order.
|
182
195
|
#
|
183
|
-
# column - (Outpost::Column) The column on which the sort
|
196
|
+
# column - (Outpost::Column) The column on which the sort
|
184
197
|
# will be performed.
|
185
|
-
#
|
198
|
+
# current_attribute - (String) The attribute that is currently being
|
186
199
|
# ordered.
|
187
|
-
#
|
200
|
+
# current_direction - (String) The current sort mode ("ASC", "DESC").
|
188
201
|
#
|
189
202
|
# Examples
|
190
|
-
#
|
203
|
+
#
|
191
204
|
# <%= link_to column.header, request.parameters.merge({
|
192
|
-
# :
|
193
|
-
# column,
|
205
|
+
# :direction => switch_direction(
|
206
|
+
# column, current_attribute, current_direction
|
194
207
|
# )
|
195
208
|
# }) %>
|
196
209
|
#
|
197
210
|
# Returns String of the sort mode, "asc" or "desc"
|
198
|
-
def
|
199
|
-
|
200
|
-
|
201
|
-
|
202
|
-
|
203
|
-
|
211
|
+
def switch_direction(column, current_attribute, current_direction)
|
212
|
+
direction = current_direction.to_s.upcase
|
213
|
+
|
214
|
+
if column.attribute == current_attribute
|
215
|
+
case direction
|
216
|
+
when Outpost::ASCENDING then Outpost::DESCENDING
|
217
|
+
when Outpost::DESCENDING then Outpost::ASCENDING
|
218
|
+
else column.default_order_direction
|
204
219
|
end
|
205
220
|
else
|
206
|
-
column.
|
221
|
+
column.default_order_direction
|
207
222
|
end
|
208
223
|
end
|
209
224
|
|
210
|
-
|
225
|
+
|
226
|
+
# Public: Generate a CSS class for the column. If the column represents
|
211
227
|
# an association, the class will be "column-association".
|
212
228
|
#
|
213
229
|
# model - (Class) The ActiveRecord model.
|
@@ -227,6 +243,7 @@ module ListHelper
|
|
227
243
|
end
|
228
244
|
end
|
229
245
|
|
246
|
+
|
230
247
|
# Public: Generate a CSS class for this attribute
|
231
248
|
#
|
232
249
|
# attribute - (String) The attribute.
|
@@ -240,4 +257,10 @@ module ListHelper
|
|
240
257
|
def column_attribute_class(attribute)
|
241
258
|
"column-#{attribute}".parameterize
|
242
259
|
end
|
260
|
+
|
261
|
+
|
262
|
+
# Public: Call the BOOLEAN_BOOTSTRAP_MAP
|
263
|
+
def boolean_bootstrap_map
|
264
|
+
BOOLEAN_BOOTSTRAP_MAP
|
265
|
+
end
|
243
266
|
end
|