kms 0.9.0 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/{vendor/assets/bower_components/Responsive-Dashboard/src/img → app/assets/images}/avatar.jpg +0 -0
- data/app/assets/javascripts/kms/application.js +3 -0
- data/app/assets/javascripts/kms/application/controllers/assets_controller.coffee.erb +14 -7
- data/app/assets/javascripts/kms/application/controllers/pages_controller.coffee.erb +11 -3
- data/app/assets/javascripts/kms/application/controllers/snippets_controller.coffee.erb +3 -0
- data/app/assets/javascripts/kms/application/controllers/templates_controller.coffee.erb +3 -0
- data/app/assets/javascripts/kms/application/controllers/users_controller.coffee +4 -4
- data/app/assets/javascripts/kms/application/routes.coffee.erb +1 -1
- data/app/assets/javascripts/kms/application/services/transliteration_service.js +160 -0
- data/app/assets/javascripts/templates/assets/edit.html.slim +24 -2
- data/app/assets/javascripts/templates/assets/form.html.slim +23 -0
- data/app/assets/javascripts/templates/assets/index.html.slim +13 -12
- data/app/assets/javascripts/templates/assets/new.html.slim +1 -15
- data/app/assets/javascripts/templates/help.html.slim +1 -1
- data/app/assets/javascripts/templates/pages/index.html.slim +16 -5
- data/app/assets/javascripts/templates/snippets/index.html.slim +16 -5
- data/app/assets/javascripts/templates/templates/index.html.slim +16 -6
- data/app/assets/stylesheets/kms/application.css +2 -2
- data/app/assets/stylesheets/kms/custom.css.scss +38 -0
- data/app/controllers/kms/assets_controller.rb +8 -9
- data/app/controllers/kms/pages_controller.rb +10 -11
- data/app/controllers/kms/public/pages_controller.rb +5 -4
- data/app/controllers/kms/public/search_controller.rb +2 -0
- data/app/controllers/kms/settings_controller.rb +1 -1
- data/app/controllers/kms/snippets_controller.rb +2 -1
- data/app/controllers/kms/templates_controller.rb +6 -5
- data/app/controllers/kms/users_controller.rb +11 -8
- data/app/models/ability.rb +1 -0
- data/app/models/concerns/kms/permalinkable.rb +1 -1
- data/app/models/kms/page.rb +13 -4
- data/app/serializers/kms/asset_serializer.rb +6 -0
- data/app/serializers/kms/page_serializer.rb +5 -0
- data/app/serializers/kms/template_serializer.rb +5 -0
- data/app/serializers/kms/user_serializer.rb +5 -0
- data/app/services/kms/page_fetcher.rb +30 -0
- data/app/services/kms/search_service.rb +28 -3
- data/app/services/kms/template_processor.rb +19 -0
- data/app/views/devise/passwords/edit.html.erb +1 -1
- data/app/views/devise/passwords/new.html.erb +1 -1
- data/app/views/devise/registrations/new.html.erb +1 -1
- data/app/views/devise/sessions/new.html.erb +1 -1
- data/app/views/layouts/kms/devise.html.erb +1 -1
- data/app/views/layouts/kms/kms.html.erb +47 -18
- data/config/initializers/externals.rb +6 -32
- data/config/initializers/search.rb +1 -0
- data/config/locales/en.yml +17 -1
- data/config/locales/ru.yml +17 -1
- data/config/routes.rb +7 -6
- data/lib/kms/dependencies.rb +1 -4
- data/lib/kms/engine.rb +1 -2
- data/lib/kms/search_item.rb +18 -0
- data/lib/kms/version.rb +1 -1
- data/spec/controllers/kms/assets_controller_spec.rb +51 -0
- data/spec/controllers/kms/pages_controller_spec.rb +82 -0
- data/spec/controllers/kms/public/pages_controller_spec.rb +30 -0
- data/spec/controllers/kms/snippets_controller_spec.rb +61 -47
- data/spec/controllers/kms/templates_controller_spec.rb +51 -0
- data/spec/controllers/kms/users_controller_spec.rb +56 -0
- data/spec/factories/assets.rb +8 -0
- data/spec/factories/pages.rb +33 -0
- data/spec/factories/templates.rb +20 -0
- data/spec/factories/users.rb +9 -4
- data/spec/internal/config/routes.rb +12 -1
- data/spec/internal/log/test.log +81239 -0
- data/spec/internal/public/404.html +67 -0
- data/spec/internal/public/avatar.jpg +0 -0
- data/spec/internal/public/style.css +1 -0
- data/spec/internal/public/uploads/kms/asset/file/1/avatar.jpg +0 -0
- data/spec/internal/public/uploads/kms/asset/file/2/avatar.jpg +0 -0
- data/spec/internal/public/uploads/kms/asset/file/2/style.css +1 -0
- data/spec/internal/public/uploads/kms/asset/file/3/style.css +1 -0
- data/spec/internal/public/uploads/kms/asset/file/4/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500976987-41025-0002-0883/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977082-41195-0002-6495/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977109-41364-0002-4518/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977152-41405-0002-2345/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977327-41694-0002-5448/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977376-41732-0002-7916/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977392-41759-0002-7593/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977410-42259-0002-7527/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977429-42306-0002-5937/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500977437-42324-0002-5880/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983228-53594-0002-4559/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983284-53632-0002-6590/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983360-53784-0002-7289/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983469-54321-0002-0386/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500983469-54321-0004-5691/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983511-54352-0002-5720/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500983511-54352-0004-1399/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500983610-54507-0002-4280/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500983610-54507-0004-9758/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500984466-57012-0002-4146/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500984466-57012-0004-5895/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500984509-57158-0002-9657/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500984509-57158-0004-5003/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500984616-57697-0002-7201/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500984616-57697-0004-6255/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985257-58947-0002-3629/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500985257-58947-0004-5338/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985407-58947-0006-5929/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985473-59264-0002-0397/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500985473-59264-0004-6493/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985475-59264-0007-8674/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985538-59468-0002-9206/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500985538-59468-0004-2586/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500985538-59468-0007-6200/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988358-65877-0002-4528/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988358-65877-0004-5904/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988358-65877-0007-7320/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988407-65916-0002-3138/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988407-65916-0004-5400/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988407-65916-0007-1655/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988421-65950-0002-9415/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988421-65950-0004-7130/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988421-65950-0007-9886/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988435-65981-0002-3228/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988435-65981-0004-3682/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988435-65981-0007-1582/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988475-66122-0002-9516/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988475-66122-0004-5634/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988530-66122-0007-2272/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988554-66315-0002-6262/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500988554-66315-0004-6099/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500988554-66315-0007-1632/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500991751-73722-0002-9937/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1500991751-73722-0004-8034/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1500991751-73722-0007-7763/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1501233238-34385-0002-3210/avatar.jpg +0 -0
- data/spec/internal/public/uploads/tmp/1501233238-34385-0004-5881/style.css +1 -0
- data/spec/internal/public/uploads/tmp/1501233238-34385-0007-6280/style.css +1 -0
- data/spec/models/kms/page_spec.rb +31 -0
- data/spec/models/kms/template_spec.rb +15 -0
- data/spec/services/kms/page_fetcher_spec.rb +36 -0
- data/spec/services/kms/search_service_spec.rb +53 -0
- data/spec/services/kms/template_processor_spec.rb +20 -0
- data/spec/support/controller_macros.rb +9 -1
- data/vendor/assets/bower.json +3 -2
- data/vendor/assets/bower_components/angular-ui-select/CHANGELOG.md +169 -0
- data/vendor/assets/bower_components/angular-ui-select/CONTRIBUTING.md +161 -0
- data/vendor/assets/bower_components/angular-ui-select/README.md +27 -13
- data/vendor/assets/bower_components/angular-ui-select/bower.json +6 -3
- data/vendor/assets/bower_components/angular-ui-select/composer.json +29 -0
- data/vendor/assets/bower_components/angular-ui-select/deploy-docs.sh +31 -0
- data/vendor/assets/bower_components/angular-ui-select/dist/select.css +48 -2
- data/vendor/assets/bower_components/angular-ui-select/dist/select.js +454 -111
- data/vendor/assets/bower_components/angular-ui-select/dist/select.min.css +2 -2
- data/vendor/assets/bower_components/angular-ui-select/dist/select.min.js +2 -2
- data/vendor/assets/bower_components/angular-ui-select/docs/assets/app.js +1 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/assets/demo.js +461 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/assets/docs.css +339 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/assets/plunkr.js +110 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/index.html +191 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/partials/_footer.html +2 -0
- data/vendor/assets/bower_components/angular-ui-select/docs/partials/_header.html +64 -0
- data/vendor/assets/bower_components/angular-ui-select/index.js +2 -0
- data/vendor/assets/bower_components/angular-ui-select/package.json +36 -15
- data/vendor/assets/bower_components/bootstrap/CHANGELOG.md +5 -0
- data/vendor/assets/bower_components/bootstrap/Gemfile +6 -0
- data/vendor/assets/bower_components/bootstrap/Gemfile.lock +43 -0
- data/vendor/assets/bower_components/bootstrap/Gruntfile.js +176 -145
- data/vendor/assets/bower_components/bootstrap/ISSUE_TEMPLATE.md +22 -0
- data/vendor/assets/bower_components/bootstrap/LICENSE +1 -1
- data/vendor/assets/bower_components/bootstrap/README.md +55 -40
- data/vendor/assets/bower_components/bootstrap/bower.json +5 -9
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css +204 -59
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.css.map +1 -1
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css +4 -3
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap-theme.min.css.map +1 -0
- data/vendor/assets/bower_components/bootstrap/dist/css/{bootstrap.less → bootstrap.css} +881 -327
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.css.map +1 -1
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css +6 -0
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css.map +1 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.eot +0 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.svg +272 -213
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff +0 -0
- data/vendor/assets/bower_components/bootstrap/dist/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.js +549 -286
- data/vendor/assets/bower_components/bootstrap/dist/js/bootstrap.min.js +5 -4
- data/vendor/assets/bower_components/bootstrap/dist/js/npm.js +13 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.eot +0 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.svg +272 -213
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.ttf +0 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff +0 -0
- data/vendor/assets/bower_components/bootstrap/fonts/glyphicons-halflings-regular.woff2 +0 -0
- data/vendor/assets/bower_components/bootstrap/grunt/bs-commonjs-generator.js +30 -0
- data/vendor/assets/bower_components/bootstrap/grunt/bs-glyphicons-data-generator.js +5 -4
- data/vendor/assets/bower_components/bootstrap/grunt/bs-lessdoc-parser.js +13 -12
- data/vendor/assets/bower_components/bootstrap/grunt/bs-raw-files-generator.js +6 -8
- data/vendor/assets/bower_components/bootstrap/grunt/change-version.js +109 -0
- data/vendor/assets/bower_components/bootstrap/grunt/configBridge.json +46 -0
- data/vendor/assets/bower_components/bootstrap/grunt/npm-shrinkwrap.json +2679 -0
- data/vendor/assets/bower_components/bootstrap/grunt/sauce_browsers.yml +5 -5
- data/vendor/assets/bower_components/bootstrap/js/affix.js +46 -26
- data/vendor/assets/bower_components/bootstrap/js/alert.js +8 -6
- data/vendor/assets/bower_components/bootstrap/js/button.js +34 -19
- data/vendor/assets/bower_components/bootstrap/js/carousel.js +35 -21
- data/vendor/assets/bower_components/bootstrap/js/collapse.js +69 -27
- data/vendor/assets/bower_components/bootstrap/js/dropdown.js +55 -41
- data/vendor/assets/bower_components/bootstrap/js/modal.js +91 -32
- data/vendor/assets/bower_components/bootstrap/js/popover.js +5 -10
- data/vendor/assets/bower_components/bootstrap/js/scrollspy.js +28 -26
- data/vendor/assets/bower_components/bootstrap/js/tab.js +45 -18
- data/vendor/assets/bower_components/bootstrap/js/tooltip.js +117 -54
- data/vendor/assets/bower_components/bootstrap/js/transition.js +2 -2
- data/vendor/assets/bower_components/bootstrap/less/alerts.less +5 -0
- data/vendor/assets/bower_components/bootstrap/less/badges.less +14 -3
- data/vendor/assets/bower_components/bootstrap/less/bootstrap.less +6 -0
- data/vendor/assets/bower_components/bootstrap/less/button-groups.less +22 -18
- data/vendor/assets/bower_components/bootstrap/less/buttons.less +19 -10
- data/vendor/assets/bower_components/bootstrap/less/carousel.less +34 -7
- data/vendor/assets/bower_components/bootstrap/less/close.less +1 -0
- data/vendor/assets/bower_components/bootstrap/less/code.less +1 -0
- data/vendor/assets/bower_components/bootstrap/less/component-animations.less +3 -1
- data/vendor/assets/bower_components/bootstrap/less/dropdowns.less +9 -8
- data/vendor/assets/bower_components/bootstrap/less/forms.less +123 -50
- data/vendor/assets/bower_components/bootstrap/less/glyphicons.less +75 -3
- data/vendor/assets/bower_components/bootstrap/less/input-groups.less +8 -3
- data/vendor/assets/bower_components/bootstrap/less/jumbotron.less +10 -4
- data/vendor/assets/bower_components/bootstrap/less/list-group.less +10 -11
- data/vendor/assets/bower_components/bootstrap/less/media.less +40 -30
- data/vendor/assets/bower_components/bootstrap/less/mixins.less +1 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/background-variant.less +2 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/buttons.less +19 -4
- data/vendor/assets/bower_components/bootstrap/less/mixins/forms.less +5 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/grid-framework.less +4 -4
- data/vendor/assets/bower_components/bootstrap/less/mixins/grid.less +4 -4
- data/vendor/assets/bower_components/bootstrap/less/mixins/hide-text.less +2 -2
- data/vendor/assets/bower_components/bootstrap/less/mixins/image.less +0 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/labels.less +1 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/list-group.less +2 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/pagination.less +2 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/reset-text.less +18 -0
- data/vendor/assets/bower_components/bootstrap/less/mixins/responsive-visibility.less +1 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/tab-focus.less +3 -3
- data/vendor/assets/bower_components/bootstrap/less/mixins/text-emphasis.less +2 -1
- data/vendor/assets/bower_components/bootstrap/less/mixins/vendor-prefixes.less +8 -5
- data/vendor/assets/bower_components/bootstrap/less/modals.less +3 -3
- data/vendor/assets/bower_components/bootstrap/less/navbar.less +30 -25
- data/vendor/assets/bower_components/bootstrap/less/navs.less +1 -1
- data/vendor/assets/bower_components/bootstrap/less/normalize.less +12 -13
- data/vendor/assets/bower_components/bootstrap/less/pager.less +1 -2
- data/vendor/assets/bower_components/bootstrap/less/pagination.less +5 -4
- data/vendor/assets/bower_components/bootstrap/less/panels.less +33 -5
- data/vendor/assets/bower_components/bootstrap/less/popovers.less +5 -7
- data/vendor/assets/bower_components/bootstrap/less/print.less +96 -96
- data/vendor/assets/bower_components/bootstrap/less/progress-bars.less +1 -19
- data/vendor/assets/bower_components/bootstrap/less/responsive-embed.less +10 -9
- data/vendor/assets/bower_components/bootstrap/less/scaffolding.less +13 -2
- data/vendor/assets/bower_components/bootstrap/less/tables.less +14 -13
- data/vendor/assets/bower_components/bootstrap/less/theme.less +49 -16
- data/vendor/assets/bower_components/bootstrap/less/thumbnails.less +1 -1
- data/vendor/assets/bower_components/bootstrap/less/tooltip.less +13 -7
- data/vendor/assets/bower_components/bootstrap/less/type.less +2 -13
- data/vendor/assets/bower_components/bootstrap/less/utilities.less +0 -2
- data/vendor/assets/bower_components/bootstrap/less/variables.less +45 -22
- data/vendor/assets/bower_components/bootstrap/nuget/MyGet.ps1 +8 -0
- data/vendor/assets/bower_components/bootstrap/nuget/bootstrap.less.nuspec +28 -0
- data/vendor/assets/bower_components/bootstrap/nuget/bootstrap.nuspec +28 -0
- data/vendor/assets/bower_components/bootstrap/package.js +32 -0
- data/vendor/assets/bower_components/bootstrap/package.json +49 -41
- data/vendor/assets/bower_components/flow.js/README.md +79 -64
- data/vendor/assets/bower_components/flow.js/bower.json +6 -2
- data/vendor/assets/bower_components/flow.js/dist/flow.js +1635 -1532
- data/vendor/assets/bower_components/flow.js/dist/flow.min.js +2 -2
- data/vendor/assets/bower_components/flow.js/package.js +24 -0
- data/vendor/assets/bower_components/flow.js/travis.sh +19 -0
- data/vendor/assets/bower_components/font-awesome/scss/_path.scss +5 -5
- data/vendor/assets/bower_components/font-awesome/scss/_variables.scss +1 -2
- data/vendor/assets/bower_components/ng-flow/bower.json +1 -1
- data/vendor/assets/bower_components/ng-flow/dist/ng-flow-standalone.js +1655 -1542
- data/vendor/assets/bower_components/ng-flow/dist/ng-flow-standalone.min.js +2 -2
- data/vendor/assets/bower_components/ng-flow/dist/ng-flow.js +19 -9
- data/vendor/assets/bower_components/ng-flow/dist/ng-flow.min.js +2 -2
- data/vendor/assets/bower_components/ng-flow/index.js +3 -0
- data/vendor/assets/bower_components/ng-flow/package.js +25 -0
- data/vendor/assets/bower_components/ng-flow/src/directives/drag-events.js +2 -1
- data/vendor/assets/bower_components/ng-flow/src/directives/events.js +2 -1
- data/vendor/assets/bower_components/ng-flow/src/directives/init.js +7 -1
- data/vendor/assets/bower_components/ng-flow/travis.sh +19 -0
- data/vendor/assets/bower_components/{Responsive-Dashboard → rdash-ui}/LICENSE +21 -21
- data/vendor/assets/bower_components/rdash-ui/README.md +55 -0
- data/vendor/assets/bower_components/rdash-ui/bower.json +33 -0
- data/vendor/assets/bower_components/rdash-ui/dist/css/rdash.min.css +1 -0
- data/vendor/assets/bower_components/rdash-ui/dist/css/rdash.scss +489 -0
- data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.eot +0 -0
- data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.svg +1316 -1316
- data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.ttf +0 -0
- data/vendor/assets/bower_components/{Responsive-Dashboard/src → rdash-ui/dist}/fonts/montserrat-regular-webfont.woff +0 -0
- metadata +227 -180
- data/config/initializers/bower_rails.rb +0 -16
- data/vendor/assets/bower_components/Responsive-Dashboard/CONTRIBUTING.md +0 -21
- data/vendor/assets/bower_components/Responsive-Dashboard/README.md +0 -119
- data/vendor/assets/bower_components/Responsive-Dashboard/bower.json +0 -32
- data/vendor/assets/bower_components/Responsive-Dashboard/gulpfile.js +0 -81
- data/vendor/assets/bower_components/Responsive-Dashboard/package.json +0 -21
- data/vendor/assets/bower_components/Responsive-Dashboard/src/index.html +0 -413
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/controllers/alerts-ctrl.js +0 -19
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/controllers/master-ctrl.js +0 -51
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/loading.js +0 -13
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget-body.js +0 -16
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget-header.js +0 -17
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/directives/widget.js +0 -16
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/module.js +0 -1
- data/vendor/assets/bower_components/Responsive-Dashboard/src/js/dashboard/routes.js +0 -22
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/content.less +0 -19
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/hamburg.less +0 -29
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/header.less +0 -92
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/loading.less +0 -40
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/main.less +0 -73
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/mixins.less +0 -5
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/sidebar.less +0 -122
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/variables.less +0 -10
- data/vendor/assets/bower_components/Responsive-Dashboard/src/less/dashboard/widgets.less +0 -95
- data/vendor/assets/bower_components/bootstrap/dist/css/bootstrap.min.css.erb +0 -5
- data/vendor/assets/bower_components/flow.js/CHANGELOG.md +0 -37
- data/vendor/assets/bower_components/flow.js/Gruntfile.js +0 -132
- data/vendor/assets/bower_components/flow.js/karma.conf.js +0 -114
- data/vendor/assets/bower_components/flow.js/package.json +0 -50
- data/vendor/assets/bower_components/flow.js/src/flow.js +0 -1532
- data/vendor/assets/bower_components/jquery/MIT-LICENSE.txt +0 -21
- data/vendor/assets/bower_components/jquery/bower.json +0 -27
- data/vendor/assets/bower_components/jquery/dist/jquery.js +0 -9190
- data/vendor/assets/bower_components/jquery/dist/jquery.min.js +0 -5
- data/vendor/assets/bower_components/jquery/dist/jquery.min.map +0 -1
- data/vendor/assets/bower_components/jquery/src/ajax.js +0 -806
- data/vendor/assets/bower_components/jquery/src/ajax/jsonp.js +0 -89
- data/vendor/assets/bower_components/jquery/src/ajax/load.js +0 -75
- data/vendor/assets/bower_components/jquery/src/ajax/parseJSON.js +0 -13
- data/vendor/assets/bower_components/jquery/src/ajax/parseXML.js +0 -28
- data/vendor/assets/bower_components/jquery/src/ajax/script.js +0 -64
- data/vendor/assets/bower_components/jquery/src/ajax/var/nonce.js +0 -5
- data/vendor/assets/bower_components/jquery/src/ajax/var/rquery.js +0 -3
- data/vendor/assets/bower_components/jquery/src/ajax/xhr.js +0 -135
- data/vendor/assets/bower_components/jquery/src/attributes.js +0 -11
- data/vendor/assets/bower_components/jquery/src/attributes/attr.js +0 -143
- data/vendor/assets/bower_components/jquery/src/attributes/classes.js +0 -158
- data/vendor/assets/bower_components/jquery/src/attributes/prop.js +0 -96
- data/vendor/assets/bower_components/jquery/src/attributes/support.js +0 -35
- data/vendor/assets/bower_components/jquery/src/attributes/val.js +0 -163
- data/vendor/assets/bower_components/jquery/src/callbacks.js +0 -205
- data/vendor/assets/bower_components/jquery/src/core.js +0 -498
- data/vendor/assets/bower_components/jquery/src/core/access.js +0 -60
- data/vendor/assets/bower_components/jquery/src/core/init.js +0 -123
- data/vendor/assets/bower_components/jquery/src/core/parseHTML.js +0 -39
- data/vendor/assets/bower_components/jquery/src/core/ready.js +0 -97
- data/vendor/assets/bower_components/jquery/src/core/var/rsingleTag.js +0 -4
- data/vendor/assets/bower_components/jquery/src/css.js +0 -451
- data/vendor/assets/bower_components/jquery/src/css/addGetHookIf.js +0 -24
- data/vendor/assets/bower_components/jquery/src/css/curCSS.js +0 -57
- data/vendor/assets/bower_components/jquery/src/css/defaultDisplay.js +0 -70
- data/vendor/assets/bower_components/jquery/src/css/hiddenVisibleSelectors.js +0 -15
- data/vendor/assets/bower_components/jquery/src/css/support.js +0 -91
- data/vendor/assets/bower_components/jquery/src/css/swap.js +0 -28
- data/vendor/assets/bower_components/jquery/src/css/var/cssExpand.js +0 -3
- data/vendor/assets/bower_components/jquery/src/css/var/getStyles.js +0 -5
- data/vendor/assets/bower_components/jquery/src/css/var/isHidden.js +0 -13
- data/vendor/assets/bower_components/jquery/src/css/var/rmargin.js +0 -3
- data/vendor/assets/bower_components/jquery/src/css/var/rnumnonpx.js +0 -5
- data/vendor/assets/bower_components/jquery/src/data.js +0 -179
- data/vendor/assets/bower_components/jquery/src/data/Data.js +0 -181
- data/vendor/assets/bower_components/jquery/src/data/accepts.js +0 -20
- data/vendor/assets/bower_components/jquery/src/data/var/data_priv.js +0 -5
- data/vendor/assets/bower_components/jquery/src/data/var/data_user.js +0 -5
- data/vendor/assets/bower_components/jquery/src/deferred.js +0 -149
- data/vendor/assets/bower_components/jquery/src/deprecated.js +0 -13
- data/vendor/assets/bower_components/jquery/src/dimensions.js +0 -50
- data/vendor/assets/bower_components/jquery/src/effects.js +0 -649
- data/vendor/assets/bower_components/jquery/src/effects/Tween.js +0 -114
- data/vendor/assets/bower_components/jquery/src/effects/animatedSelector.js +0 -13
- data/vendor/assets/bower_components/jquery/src/event.js +0 -868
- data/vendor/assets/bower_components/jquery/src/event/alias.js +0 -39
- data/vendor/assets/bower_components/jquery/src/event/support.js +0 -9
- data/vendor/assets/bower_components/jquery/src/exports/amd.js +0 -24
- data/vendor/assets/bower_components/jquery/src/exports/global.js +0 -32
- data/vendor/assets/bower_components/jquery/src/intro.js +0 -44
- data/vendor/assets/bower_components/jquery/src/jquery.js +0 -36
- data/vendor/assets/bower_components/jquery/src/manipulation.js +0 -582
- data/vendor/assets/bower_components/jquery/src/manipulation/_evalUrl.js +0 -18
- data/vendor/assets/bower_components/jquery/src/manipulation/support.js +0 -31
- data/vendor/assets/bower_components/jquery/src/manipulation/var/rcheckableType.js +0 -3
- data/vendor/assets/bower_components/jquery/src/offset.js +0 -204
- data/vendor/assets/bower_components/jquery/src/outro.js +0 -1
- data/vendor/assets/bower_components/jquery/src/queue.js +0 -142
- data/vendor/assets/bower_components/jquery/src/queue/delay.js +0 -22
- data/vendor/assets/bower_components/jquery/src/selector-native.js +0 -172
- data/vendor/assets/bower_components/jquery/src/selector-sizzle.js +0 -14
- data/vendor/assets/bower_components/jquery/src/selector.js +0 -1
- data/vendor/assets/bower_components/jquery/src/serialize.js +0 -111
- data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.js +0 -2044
- data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.js +0 -3
- data/vendor/assets/bower_components/jquery/src/sizzle/dist/sizzle.min.map +0 -1
- data/vendor/assets/bower_components/jquery/src/traversing.js +0 -200
- data/vendor/assets/bower_components/jquery/src/traversing/findFilter.js +0 -100
- data/vendor/assets/bower_components/jquery/src/traversing/var/rneedsContext.js +0 -6
- data/vendor/assets/bower_components/jquery/src/var/arr.js +0 -3
- data/vendor/assets/bower_components/jquery/src/var/class2type.js +0 -4
- data/vendor/assets/bower_components/jquery/src/var/concat.js +0 -5
- data/vendor/assets/bower_components/jquery/src/var/hasOwn.js +0 -5
- data/vendor/assets/bower_components/jquery/src/var/indexOf.js +0 -5
- data/vendor/assets/bower_components/jquery/src/var/pnum.js +0 -3
- data/vendor/assets/bower_components/jquery/src/var/push.js +0 -5
- data/vendor/assets/bower_components/jquery/src/var/rnotwhite.js +0 -3
- data/vendor/assets/bower_components/jquery/src/var/slice.js +0 -5
- data/vendor/assets/bower_components/jquery/src/var/strundefined.js +0 -3
- data/vendor/assets/bower_components/jquery/src/var/support.js +0 -4
- data/vendor/assets/bower_components/jquery/src/var/toString.js +0 -5
- data/vendor/assets/bower_components/jquery/src/wrap.js +0 -78
@@ -1,16 +1,2 @@
|
|
1
1
|
.row
|
2
|
-
|
3
|
-
/! The table listing the files available for upload/download
|
4
|
-
.form-group
|
5
|
-
button.btn.btn-primary flow-btn="" = I18n.t(:upload_assets)
|
6
|
-
table.table.table-striped.files.ng-cloak
|
7
|
-
tr ng-repeat="file in $flow.files"
|
8
|
-
td
|
9
|
-
img flow-img="file" width="50" height="50" ng-show="isImageType(file)"
|
10
|
-
td
|
11
|
-
| {{ file.name }}
|
12
|
-
td
|
13
|
-
.progress.progress-striped ng-class="{active: file.isUploading()}"
|
14
|
-
.progress-bar role="progressbar" ng-style="{width: (file.progress() * 100) + '%'}"
|
15
|
-
td
|
16
|
-
| {{ file.msg }}
|
2
|
+
ng-include src="'assets/form.html'"
|
@@ -5,7 +5,7 @@
|
|
5
5
|
a href="#liquor" Liquor
|
6
6
|
- Kms::HelpService.templates.each_with_index do |(engine_class, _),index|
|
7
7
|
li role="presentation" ng-class="{active: isActiveTab(#{index + 1})}" ng-click="setActive(#{index + 1})"
|
8
|
-
a href="##{engine_class.engine_name}" = engine_class.engine_name.humanize
|
8
|
+
a href="##{engine_class.engine_name}" = engine_class.engine_name.humanize.gsub('Kms', 'APIQ')
|
9
9
|
div class="tab-content"
|
10
10
|
div role="tabpanel" class="tab-pane" ng-class="{active: isActiveTab(0)}" id="liquor"
|
11
11
|
.widget
|
@@ -7,11 +7,10 @@ script type="text/ng-template" id="nodes_renderer.html"
|
|
7
7
|
a ui-sref="pages.edit({id: node.id})" data-nodrag=""
|
8
8
|
| {{node.title}}
|
9
9
|
i.fa.fa-cogs style="font-size:18px !important" ng-if="node.templatable"
|
10
|
+
i.fa.fa-exclamation-circle style="font-size:18px !important" ng-if="node.slug == '404'"
|
10
11
|
div style="width:30%;float:left;height:30px;line-height:30px;"
|
11
12
|
| {{ node.fullpath }}
|
12
13
|
.btn-group.pull-right
|
13
|
-
/a.btn.btn-sm.btn-info data-nodrag="" ui-sref="pages.edit({id: node.id})"
|
14
|
-
/i.fa.fa-pencil
|
15
14
|
a.btn.btn-sm.btn-danger data-nodrag="" ng-click="destroy(node)" style="margin-right: 8px;"
|
16
15
|
i.fa.fa-times
|
17
16
|
ol ui-tree-nodes="pages" ng-model="node.children" ng-class="{hidden: collapsed}"
|
@@ -19,16 +18,28 @@ script type="text/ng-template" id="nodes_renderer.html"
|
|
19
18
|
|
20
19
|
|
21
20
|
|
22
|
-
.row
|
21
|
+
.row ng-show="pages.length"
|
23
22
|
.col-lg-12
|
24
23
|
.widget
|
25
24
|
.widget-header
|
26
25
|
i.fa.fa-sitemap
|
27
26
|
= Kms::Page.model_name.human(count: 1.1)
|
28
|
-
/a.pull-right href="#" Manage
|
29
27
|
a.btn.btn-sm.btn-primary.pull-right ui-sref="pages.new"
|
30
28
|
= I18n.t("add_page")
|
31
29
|
.widget-body.no-padding
|
32
30
|
div ui-tree="pages" callbacks="treeOptions"
|
33
|
-
ol ui-tree-nodes="" ng-model="pages" id="tree-root"
|
31
|
+
ol ui-tree-nodes="" ng-model="pages" id="tree-root" data-nodrop-enabled="true"
|
34
32
|
li ng-repeat="node in pages" ui-tree-node="" ng-include="'nodes_renderer.html'" data-id="{{node.id}}"
|
33
|
+
.row ng-show="!pages.length"
|
34
|
+
.center-block
|
35
|
+
.jumbotron.vertical-center.text-center
|
36
|
+
.container
|
37
|
+
h1
|
38
|
+
span.fa-stack.fa-lg
|
39
|
+
i.fa.fa-circle.fa-stack-2x
|
40
|
+
i.fa.fa-sitemap.fa-stack-1x
|
41
|
+
p = I18n.t(:pages_description)
|
42
|
+
h5 ng-show="!templates.length" = I18n.t(:no_templates_yet)
|
43
|
+
p
|
44
|
+
a.btn.btn-primary.btn-lg ng-show="templates.length" ui-sref="pages.new" role="button" = I18n.t(:create_first_page)
|
45
|
+
a.btn.btn-primary.btn-lg ng-show="!templates.length" ui-sref="templates.new" role="button" = I18n.t(:create_first_template)
|
@@ -1,10 +1,9 @@
|
|
1
|
-
.row
|
1
|
+
.row ng-show="snippets.length"
|
2
2
|
.col-lg-12
|
3
3
|
.widget
|
4
4
|
.widget-header
|
5
5
|
i.fa.fa-bookmark
|
6
6
|
= Kms::Snippet.model_name.human(count: 1.1)
|
7
|
-
/a.pull-right href="#" Manage
|
8
7
|
a.btn.btn-sm.btn-primary.pull-right ui-sref="snippets.new" ng-show="currentUser.admin"
|
9
8
|
= I18n.t("add_snippet")
|
10
9
|
.widget-body.no-padding
|
@@ -12,12 +11,24 @@
|
|
12
11
|
table.table
|
13
12
|
tbody
|
14
13
|
tr ng-repeat="snippet in snippets"
|
15
|
-
td style="width:
|
14
|
+
td style="width: 70%"
|
16
15
|
a ui-sref="snippets.edit({id: snippet.id})"
|
17
16
|
| {{ snippet.name }}
|
17
|
+
td style="width: 20%"
|
18
|
+
em
|
19
|
+
| {{ snippet.slug }}
|
18
20
|
td
|
19
21
|
.btn-group.pull-right
|
20
|
-
/a.btn.btn-sm.btn-info ui-sref="snippets.edit({id: snippet.id})" ng-show="currentUser.admin"
|
21
|
-
/i.fa.fa-pencil
|
22
22
|
a.btn.btn-sm.btn-danger ng-click="destroy(snippet)" ng-show="currentUser.admin"
|
23
23
|
i.fa.fa-times
|
24
|
+
.row ng-show="!snippets.length"
|
25
|
+
.center-block
|
26
|
+
.jumbotron.vertical-center.text-center
|
27
|
+
.container
|
28
|
+
h1
|
29
|
+
span.fa-stack.fa-lg
|
30
|
+
i.fa.fa-circle.fa-stack-2x
|
31
|
+
i.fa.fa-bookmark.fa-stack-1x
|
32
|
+
p = I18n.t(:snippets_description)
|
33
|
+
p
|
34
|
+
a.btn.btn-primary.btn-lg ui-sref="snippets.new" role="button" = I18n.t(:create_first_snippet)
|
@@ -1,23 +1,33 @@
|
|
1
|
-
.row
|
1
|
+
.row ng-show="templates.length"
|
2
2
|
.col-lg-12
|
3
3
|
.widget
|
4
4
|
.widget-header
|
5
5
|
i.fa.fa-support
|
6
6
|
= Kms::Template.model_name.human(count: 1.1)
|
7
|
-
/a.pull-right href="#" Manage
|
8
7
|
a.btn.btn-sm.btn-primary.pull-right ui-sref="templates.new" ng-show="currentUser.admin"
|
9
|
-
= I18n.t(
|
8
|
+
= I18n.t(:add_template)
|
10
9
|
.widget-body.no-padding
|
11
10
|
.table-responsive
|
12
11
|
table.table
|
13
12
|
tbody
|
14
13
|
tr ng-repeat="template in templates"
|
15
14
|
td style="width: 80%"
|
16
|
-
a ui-sref="templates.edit({id: template.id})"
|
15
|
+
a ui-sref="templates.edit({id: template.id})" ng-show="currentUser.admin"
|
16
|
+
| {{ template.name }}
|
17
|
+
span ng-hide="currentUser.admin"
|
17
18
|
| {{ template.name }}
|
18
19
|
td
|
19
20
|
.btn-group.pull-right
|
20
|
-
/a.btn.btn-sm.btn-info ui-sref="templates.edit({id: template.id})" ng-show="currentUser.admin"
|
21
|
-
/i.fa.fa-pencil
|
22
21
|
a.btn.btn-sm.btn-danger ng-click="destroy(template)" ng-show="currentUser.admin"
|
23
22
|
i.fa.fa-times
|
23
|
+
.row ng-show="!templates.length"
|
24
|
+
.center-block
|
25
|
+
.jumbotron.vertical-center.text-center
|
26
|
+
.container
|
27
|
+
h1
|
28
|
+
span.fa-stack.fa-lg
|
29
|
+
i.fa.fa-circle.fa-stack-2x
|
30
|
+
i.fa.fa-support.fa-stack-1x
|
31
|
+
p = I18n.t(:templates_description)
|
32
|
+
p
|
33
|
+
a.btn.btn-primary.btn-lg ui-sref="templates.new" role="button" = I18n.t(:create_first_template)
|
@@ -11,7 +11,7 @@
|
|
11
11
|
* file per style scope.
|
12
12
|
*
|
13
13
|
*= require bootstrap/dist/css/bootstrap
|
14
|
-
*= require font-awesome/
|
14
|
+
*= require font-awesome/scss/font-awesome
|
15
15
|
*= require angular-ui-tree/dist/angular-ui-tree.min
|
16
16
|
*= require codemirror/lib/codemirror
|
17
17
|
*= require codemirror/addon/display/fullscreen
|
@@ -23,7 +23,7 @@
|
|
23
23
|
*= require alertify/themes/alertify.bootstrap
|
24
24
|
*= require angular-xeditable/dist/css/xeditable
|
25
25
|
*= require ng-sortable/dist/ng-sortable
|
26
|
-
*= require
|
26
|
+
*= require rdash-ui/dist/css/rdash
|
27
27
|
*= require kms/custom
|
28
28
|
*= require application
|
29
29
|
*= require_self
|
@@ -64,7 +64,16 @@ table td {
|
|
64
64
|
}
|
65
65
|
.CodeMirror {
|
66
66
|
height: 500px;
|
67
|
+
font-size: 16px;
|
68
|
+
// pre {
|
69
|
+
// font-family: 'casperregular';
|
70
|
+
// }
|
67
71
|
}
|
72
|
+
// .cm-s-default {
|
73
|
+
// .cm-tag, .cm-attribute, .cm-string, .cm-comment {
|
74
|
+
// font-family: monospace;
|
75
|
+
// }
|
76
|
+
// }
|
68
77
|
.assets-block {
|
69
78
|
a.btn.add-asset {
|
70
79
|
border: none;
|
@@ -86,3 +95,32 @@ table td {
|
|
86
95
|
.widget .widget-header table i {
|
87
96
|
margin-right: 0px;
|
88
97
|
}
|
98
|
+
.vertical-center {
|
99
|
+
min-height: 80%; /* Fallback for browsers do NOT support vh unit */
|
100
|
+
min-height: 80vh; /* These two lines are counted as one :-) */
|
101
|
+
|
102
|
+
display: flex;
|
103
|
+
align-items: center;
|
104
|
+
}
|
105
|
+
.jumbotron {
|
106
|
+
background-color: inherit;
|
107
|
+
i.fa-stack-1x {
|
108
|
+
color: #ff5274;
|
109
|
+
}
|
110
|
+
i.fa-stack-2x {
|
111
|
+
color: white;
|
112
|
+
}
|
113
|
+
}
|
114
|
+
.row.header .meta .page {
|
115
|
+
padding-top: 17px;
|
116
|
+
}
|
117
|
+
svg.logo {
|
118
|
+
vertical-align: top;
|
119
|
+
margin-right: -10px;
|
120
|
+
}
|
121
|
+
ul.sidebar .sidebar-main {
|
122
|
+
height: 75px;
|
123
|
+
a {
|
124
|
+
line-height: 70px;
|
125
|
+
}
|
126
|
+
}
|
@@ -2,14 +2,16 @@ module Kms
|
|
2
2
|
class AssetsController < ApplicationController
|
3
3
|
load_and_authorize_resource
|
4
4
|
skip_before_action :verify_authenticity_token, only: :ckeditor
|
5
|
+
wrap_parameters :asset, include: [:file, :text, :performing_plain_text]
|
5
6
|
|
6
7
|
def index
|
7
|
-
render json: Asset.all
|
8
|
+
render json: Asset.all
|
8
9
|
end
|
9
10
|
|
10
11
|
def create
|
11
12
|
@asset = Asset.new(asset_params)
|
12
13
|
if @asset.save
|
14
|
+
# special json for ng-flow
|
13
15
|
render json: {success: true, files: [@asset]}.to_json
|
14
16
|
else
|
15
17
|
render text: '', status: :unprocessable_entity
|
@@ -31,28 +33,25 @@ module Kms
|
|
31
33
|
|
32
34
|
def update
|
33
35
|
@asset = Asset.find(params[:id])
|
34
|
-
|
35
|
-
@asset
|
36
|
-
render json: @asset.to_json
|
36
|
+
@asset.update(asset_params)
|
37
|
+
render json: @asset
|
37
38
|
end
|
38
39
|
|
39
40
|
def show
|
40
41
|
@asset = Asset.find(params[:id])
|
41
|
-
|
42
|
-
attrs.merge!(methods: [:filename, :text]) if @asset.stylesheet_or_javascript?
|
43
|
-
render json: @asset.to_json(attrs)
|
42
|
+
render json: @asset
|
44
43
|
end
|
45
44
|
|
46
45
|
def destroy
|
47
46
|
@asset = Asset.find(params[:id])
|
48
47
|
@asset.destroy
|
49
|
-
|
48
|
+
head :no_content
|
50
49
|
end
|
51
50
|
|
52
51
|
protected
|
53
52
|
|
54
53
|
def asset_params
|
55
|
-
params.require(:asset).permit
|
54
|
+
params.require(:asset).permit(:file, :text, :performing_plain_text)
|
56
55
|
end
|
57
56
|
end
|
58
57
|
end
|
@@ -4,37 +4,36 @@ module Kms
|
|
4
4
|
wrap_parameters :page, include: [:title, :slug, :content, :published, :template_id, :templatable,:templatable_type,:position,:hidden, :parent_id]
|
5
5
|
|
6
6
|
def index
|
7
|
-
|
8
|
-
render json: Page.arrange_serializable(order: :position).to_json
|
7
|
+
render json: Page.arrange_serializable(order: :position)
|
9
8
|
end
|
10
9
|
|
11
10
|
def create
|
12
11
|
@page = Page.new(page_params)
|
13
12
|
if @page.save
|
14
|
-
|
13
|
+
head :no_content
|
15
14
|
else
|
16
|
-
render json: @page.to_json
|
15
|
+
render json: {errors: @page.errors}.to_json, status: :unprocessable_entity
|
17
16
|
end
|
18
17
|
end
|
19
18
|
|
20
19
|
def update
|
21
20
|
@page = Page.find(params[:id])
|
22
|
-
if @page.
|
23
|
-
|
21
|
+
if @page.update(page_params)
|
22
|
+
head :no_content
|
24
23
|
else
|
25
|
-
render json: @page.to_json
|
24
|
+
render json: {errors: @page.errors}.to_json, status: :unprocessable_entity
|
26
25
|
end
|
27
26
|
end
|
28
27
|
|
29
28
|
def show
|
30
29
|
@page = Page.find(params[:id])
|
31
|
-
render json: @page
|
30
|
+
render json: @page
|
32
31
|
end
|
33
32
|
|
34
33
|
def destroy
|
35
34
|
@page = Page.find(params[:id])
|
36
35
|
@page.destroy
|
37
|
-
|
36
|
+
head :no_content
|
38
37
|
end
|
39
38
|
|
40
39
|
def sorting
|
@@ -44,7 +43,7 @@ module Kms
|
|
44
43
|
p.update_attribute(:position, index)
|
45
44
|
sort(page["id"], page["children"]) if page["children"].present?
|
46
45
|
end
|
47
|
-
render json: Page.arrange_serializable(order: :position)
|
46
|
+
render json: Page.arrange_serializable(order: :position)
|
48
47
|
end
|
49
48
|
|
50
49
|
protected
|
@@ -61,7 +60,7 @@ module Kms
|
|
61
60
|
end
|
62
61
|
|
63
62
|
def page_params
|
64
|
-
params.require(:page).permit
|
63
|
+
params.require(:page).permit(:title, :slug, :content, :published, :hidden, :template_id, :parent_id, :position, :templatable, :templatable_type)
|
65
64
|
end
|
66
65
|
end
|
67
66
|
end
|
@@ -1,14 +1,15 @@
|
|
1
1
|
module Kms
|
2
2
|
class Public::PagesController < ActionController::Base
|
3
|
+
protect_from_forgery with: :exception
|
3
4
|
|
4
5
|
before_action :eval_externals
|
5
6
|
|
6
7
|
def show
|
7
|
-
|
8
|
-
|
9
|
-
|
8
|
+
page_result = Kms.template_manager.render(@page.register_id, @externals)
|
9
|
+
result = Kms.template_manager.render(@template.register_id,
|
10
|
+
@externals.merge(_inner_template: page_result))
|
10
11
|
|
11
|
-
render html: result.html_safe
|
12
|
+
render html: result.html_safe, status: (@page.not_found? ? :not_found : :ok)
|
12
13
|
end
|
13
14
|
|
14
15
|
protected
|
@@ -1,5 +1,7 @@
|
|
1
1
|
module Kms
|
2
2
|
class Public::SearchController < ActionController::Base
|
3
|
+
protect_from_forgery with: :exception
|
4
|
+
|
3
5
|
def search
|
4
6
|
results = Page.advanced_search(params[:query]).to_drop#.split(' ').join('|').to_drop
|
5
7
|
if params[:result_page] and @page = Page.find_by_fullpath(params[:result_page])
|
@@ -8,7 +8,7 @@ module Kms
|
|
8
8
|
|
9
9
|
def update
|
10
10
|
@settings = Settings.instance
|
11
|
-
if @settings.
|
11
|
+
if @settings.update(settings_params)
|
12
12
|
render json: @settings
|
13
13
|
else
|
14
14
|
render json: @settings.to_json(methods: :errors), status: :unprocessable_entity
|
@@ -1,5 +1,6 @@
|
|
1
1
|
module Kms
|
2
2
|
class SnippetsController < ApplicationController
|
3
|
+
load_and_authorize_resource
|
3
4
|
respond_to :json
|
4
5
|
|
5
6
|
def index
|
@@ -38,7 +39,7 @@ module Kms
|
|
38
39
|
protected
|
39
40
|
|
40
41
|
def snippet_params
|
41
|
-
params.require(:snippet).permit
|
42
|
+
params.require(:snippet).permit(:name, :slug, :content)
|
42
43
|
end
|
43
44
|
end
|
44
45
|
end
|
@@ -2,21 +2,22 @@ module Kms
|
|
2
2
|
class TemplatesController < ApplicationController
|
3
3
|
load_and_authorize_resource
|
4
4
|
def index
|
5
|
-
render json: Template.all
|
5
|
+
render json: Template.all
|
6
6
|
end
|
7
7
|
|
8
8
|
def create
|
9
9
|
@template = Template.new(template_params)
|
10
|
+
@template.content = TemplateProcessor.new(@template).process
|
10
11
|
if @template.save
|
11
|
-
|
12
|
+
head :no_content
|
12
13
|
else
|
13
|
-
render json: @template.to_json
|
14
|
+
render json: {errors: @template.errors}.to_json, status: :unprocessable_entity
|
14
15
|
end
|
15
16
|
end
|
16
17
|
|
17
18
|
def update
|
18
19
|
@template = Template.find(params[:id])
|
19
|
-
if @template.
|
20
|
+
if @template.update(template_params)
|
20
21
|
render json: @template.to_json
|
21
22
|
else
|
22
23
|
render json: @template.to_json(methods: :errors), status: :unprocessable_entity
|
@@ -37,7 +38,7 @@ module Kms
|
|
37
38
|
protected
|
38
39
|
|
39
40
|
def template_params
|
40
|
-
params.require(:template).permit(:name
|
41
|
+
params.require(:template).permit(:name, :content)
|
41
42
|
end
|
42
43
|
end
|
43
44
|
end
|
@@ -3,32 +3,35 @@ module Kms
|
|
3
3
|
before_action :authenticate_kms_user!
|
4
4
|
load_and_authorize_resource
|
5
5
|
skip_authorize_resource only: :kms_user
|
6
|
+
wrap_parameters :user, include: [:email, :password, :password_confirmation, :role]
|
6
7
|
|
7
8
|
def index
|
8
|
-
render json: User.all
|
9
|
+
render json: User.all
|
9
10
|
end
|
10
11
|
|
11
12
|
def create
|
12
|
-
user_params.merge!(password: params[:password], password_confirmation: params[:password_confirmation]) if params[:password]
|
13
13
|
@user = User.new(user_params)
|
14
|
-
@user.save
|
15
|
-
|
14
|
+
if @user.save
|
15
|
+
head :no_content
|
16
|
+
else
|
17
|
+
render json: {errors: @user.errors}.to_json, status: :unprocessable_entity
|
18
|
+
end
|
16
19
|
end
|
17
20
|
|
18
|
-
def destroy
|
21
|
+
def destroy
|
19
22
|
@user = User.find(params[:id])
|
20
23
|
@user.destroy
|
21
|
-
|
24
|
+
head :no_content
|
22
25
|
end
|
23
26
|
|
24
27
|
def kms_user
|
25
|
-
render json: current_kms_user
|
28
|
+
render json: current_kms_user
|
26
29
|
end
|
27
30
|
|
28
31
|
protected
|
29
32
|
|
30
33
|
def user_params
|
31
|
-
params.require(:user).permit
|
34
|
+
params.require(:user).permit(:email, :password, :password_confirmation, :role)
|
32
35
|
end
|
33
36
|
|
34
37
|
|