bastion 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.jshintrc +35 -0
- data/Gruntfile.js +24 -0
- data/LICENSE +339 -0
- data/README.md +8 -0
- data/Rakefile +53 -0
- data/app/assets/javascripts/bastion/auth/auth.module.js +87 -0
- data/app/assets/javascripts/bastion/auth/authorization.service.js +48 -0
- data/app/assets/javascripts/bastion/bastion-bootstrap.js +32 -0
- data/app/assets/javascripts/bastion/bastion-resource.factory.js +39 -0
- data/app/assets/javascripts/bastion/bastion.js +52 -0
- data/app/assets/javascripts/bastion/bastion.module.js +213 -0
- data/app/assets/javascripts/bastion/i18n/README +9 -0
- data/app/assets/javascripts/bastion/i18n/i18n.module.js +24 -0
- data/app/assets/javascripts/bastion/i18n/katello.pot +968 -0
- data/app/assets/javascripts/bastion/i18n/locale/README +1 -0
- data/app/assets/javascripts/bastion/i18n/translate.service.js +14 -0
- data/app/assets/javascripts/bastion/i18n/translations.js +3 -0
- data/app/assets/javascripts/bastion/i18n/zanata.xml +28 -0
- data/app/assets/javascripts/bastion/incubator/alch-alert.directive.js +67 -0
- data/app/assets/javascripts/bastion/incubator/alch-container-scroll.directive.js +44 -0
- data/app/assets/javascripts/bastion/incubator/alch-dropdown.directive.js +28 -0
- data/app/assets/javascripts/bastion/incubator/alch-edit.directive.js +361 -0
- data/app/assets/javascripts/bastion/incubator/alch-flyout.directive.js +19 -0
- data/app/assets/javascripts/bastion/incubator/alch-form-buttons.directive.js +60 -0
- data/app/assets/javascripts/bastion/incubator/alch-form-group.directive.js +87 -0
- data/app/assets/javascripts/bastion/incubator/alch-infinite-scroll.directive.js +84 -0
- data/app/assets/javascripts/bastion/incubator/alch-menu.directive.js +56 -0
- data/app/assets/javascripts/bastion/incubator/alch-modal.directive.js +80 -0
- data/app/assets/javascripts/bastion/incubator/alch-save-control.directive.js +42 -0
- data/app/assets/javascripts/bastion/incubator/alch-table.directive.js +295 -0
- data/app/assets/javascripts/bastion/incubator/format/alch-format.module.js +21 -0
- data/app/assets/javascripts/bastion/incubator/format/array-to-string.filter.js +30 -0
- data/app/assets/javascripts/bastion/incubator/format/boolean-to-yes-no.filter.js +34 -0
- data/app/assets/javascripts/bastion/incubator/format/capitalize.filter.js +32 -0
- data/app/assets/javascripts/bastion/incubator/format/key-value-to-string.filter.js +40 -0
- data/app/assets/javascripts/bastion/incubator/format/unlimitedFilter.filter.js +35 -0
- data/app/assets/javascripts/bastion/incubator/stylesheets/alch-edit.scss +34 -0
- data/app/assets/javascripts/bastion/incubator/stylesheets/header.scss +207 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-alert.html +6 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-dropdown.html +19 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-edit-add-item.html +21 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-edit-add-remove-cancel.html +28 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-edit-checkbox.html +6 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-edit-custom.html +8 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-edit-multiselect.html +17 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-edit-save-cancel.html +20 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-edit-select.html +10 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-edit-text.html +6 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-edit-textarea.html +6 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-edit.html +18 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-flyout.html +10 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-form-buttons.html +10 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-form-group.html +9 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-menu.html +18 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-modal-remove.html +13 -0
- data/app/assets/javascripts/bastion/incubator/views/alch-save-control.html +18 -0
- data/app/assets/javascripts/bastion/layouts/details-nutupane.html +73 -0
- data/app/assets/javascripts/bastion/layouts/nutupane.html +63 -0
- data/app/assets/javascripts/bastion/layouts/select-all-results.html +9 -0
- data/app/assets/javascripts/bastion/menu/menu-expander.service.js +51 -0
- data/app/assets/javascripts/bastion/menu/menu.module.js +26 -0
- data/app/assets/javascripts/bastion/utils/as.filter.js +33 -0
- data/app/assets/javascripts/bastion/utils/form-utils.service.js +53 -0
- data/app/assets/javascripts/bastion/utils/utils.module.js +21 -0
- data/app/assets/javascripts/bastion/widgets/current-tasks.directive.js +67 -0
- data/app/assets/javascripts/bastion/widgets/nutupane-table.directive.js +59 -0
- data/app/assets/javascripts/bastion/widgets/nutupane.factory.js +316 -0
- data/app/assets/javascripts/bastion/widgets/page-title.directive.js +61 -0
- data/app/assets/javascripts/bastion/widgets/page-title.service.js +42 -0
- data/app/assets/javascripts/bastion/widgets/path-selector.directive.js +109 -0
- data/app/assets/javascripts/bastion/widgets/views/current-tasks.html +23 -0
- data/app/assets/javascripts/bastion/widgets/views/path-selector.html +11 -0
- data/app/assets/javascripts/bastion/widgets/widgets.module.js +24 -0
- data/app/assets/stylesheets/bastion/animations.less +15 -0
- data/app/assets/stylesheets/bastion/bastion.less +160 -0
- data/app/assets/stylesheets/bastion/forms.less +41 -0
- data/app/assets/stylesheets/bastion/gpg-keys.less +36 -0
- data/app/assets/stylesheets/bastion/helpers.less +6 -0
- data/app/assets/stylesheets/bastion/mixins.less +15 -0
- data/app/assets/stylesheets/bastion/nutupane.less +382 -0
- data/app/assets/stylesheets/bastion/overrides.less +54 -0
- data/app/assets/stylesheets/bastion/path-selector.less +123 -0
- data/app/assets/stylesheets/bastion/systems.less +35 -0
- data/app/assets/stylesheets/bastion/tasks.less +23 -0
- data/app/assets/stylesheets/bastion/typography.less +31 -0
- data/app/assets/stylesheets/bastion/variables.less +3 -0
- data/app/controllers/bastion/bastion_controller.rb +24 -0
- data/app/views/bastion/layouts/application.html.erb +32 -0
- data/app/views/bastion/layouts/application_ie.html.erb +5 -0
- data/bastion.js +26 -0
- data/bower.json +94 -0
- data/config/routes.rb +25 -0
- data/config/routes/mount_engine.rb +3 -0
- data/grunt/bower.js +20 -0
- data/grunt/htmlhint.js +15 -0
- data/grunt/jshint.js +9 -0
- data/grunt/karma.js +83 -0
- data/lib/bastion.rb +17 -0
- data/lib/bastion/engine.rb +37 -0
- data/lib/bastion/version.rb +3 -0
- data/package.json +29 -0
- data/test/auth/authorization.service.test.js +63 -0
- data/test/bastion/bastion-resource.factory.test.js +31 -0
- data/test/bastion/test-constants.js +30 -0
- data/test/i18n/translate.service.test.js +31 -0
- data/test/incubator/alch-alert.directive.test.js +84 -0
- data/test/incubator/alch-container-scroll.directive.test.js +68 -0
- data/test/incubator/alch-dropdown.directive.test.js +113 -0
- data/test/incubator/alch-edit.directive.test.js +320 -0
- data/test/incubator/alch-flyout.directive.test.js +73 -0
- data/test/incubator/alch-form-buttons.directive.test.js +55 -0
- data/test/incubator/alch-form-group.directive.test.js +76 -0
- data/test/incubator/alch-infinite-scroll.directive.test.js +123 -0
- data/test/incubator/alch-menu.directive.test.js +94 -0
- data/test/incubator/alch-modal.directive.test.js +81 -0
- data/test/incubator/alch-table.directive.test.js +270 -0
- data/test/incubator/format/array-to-string.filter.test.js +38 -0
- data/test/incubator/format/boolean-to-yes-no.filter.test.js +41 -0
- data/test/incubator/format/capitalize.filter.test.js +35 -0
- data/test/incubator/format/key-value-to-string.filter.test.js +60 -0
- data/test/incubator/format/unlimited-filter.filter.test.js +31 -0
- data/test/incubator/nutupane-table.directive.test.js +69 -0
- data/test/incubator/nutupane.factory.test.js +307 -0
- data/test/menu/menu-expander.service.test.js +74 -0
- data/test/test-mocks.module.js +268 -0
- data/test/utils/as.filter.test.js +33 -0
- data/test/utils/form-utils.service.test.js +52 -0
- data/test/widgets/page-title.directive.test.js +54 -0
- data/test/widgets/page-title.service.test.js +51 -0
- data/test/widgets/path-selector.directive.test.js +136 -0
- data/vendor/assets/fonts/bastion/bootstrap/glyphicons-halflings-regular.eot +0 -0
- data/vendor/assets/fonts/bastion/bootstrap/glyphicons-halflings-regular.svg +229 -0
- data/vendor/assets/fonts/bastion/bootstrap/glyphicons-halflings-regular.ttf +0 -0
- data/vendor/assets/fonts/bastion/bootstrap/glyphicons-halflings-regular.woff +0 -0
- data/vendor/assets/fonts/bastion/font-awesome/FontAwesome.otf +0 -0
- data/vendor/assets/fonts/bastion/font-awesome/fontawesome-webfont.eot +0 -0
- data/vendor/assets/fonts/bastion/font-awesome/fontawesome-webfont.svg +399 -0
- data/vendor/assets/fonts/bastion/font-awesome/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/fonts/bastion/font-awesome/fontawesome-webfont.woff +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Bold-webfont.eot +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Bold-webfont.svg +146 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Bold-webfont.ttf +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Bold-webfont.woff +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-BoldItalic-webfont.eot +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-BoldItalic-webfont.svg +146 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-BoldItalic-webfont.ttf +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-BoldItalic-webfont.woff +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBold-webfont.eot +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBold-webfont.svg +146 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBold-webfont.ttf +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBold-webfont.woff +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBoldItalic-webfont.eot +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBoldItalic-webfont.svg +146 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBoldItalic-webfont.ttf +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBoldItalic-webfont.woff +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Italic-webfont.eot +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Italic-webfont.svg +146 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Italic-webfont.ttf +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Italic-webfont.woff +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Light-webfont.eot +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Light-webfont.svg +146 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Light-webfont.ttf +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Light-webfont.woff +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-LightItalic-webfont.eot +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-LightItalic-webfont.svg +146 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-LightItalic-webfont.ttf +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-LightItalic-webfont.woff +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Regular-webfont.eot +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Regular-webfont.svg +146 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Regular-webfont.ttf +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Regular-webfont.woff +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Semibold-webfont.eot +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Semibold-webfont.svg +146 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Semibold-webfont.ttf +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-Semibold-webfont.woff +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-SemiboldItalic-webfont.eot +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-SemiboldItalic-webfont.svg +146 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-SemiboldItalic-webfont.ttf +0 -0
- data/vendor/assets/fonts/bastion/rcue/OpenSans-SemiboldItalic-webfont.woff +0 -0
- data/vendor/assets/fonts/bastion/rcue/Overpass-Bold-webfont.eot +0 -0
- data/vendor/assets/fonts/bastion/rcue/Overpass-Bold-webfont.svg +454 -0
- data/vendor/assets/fonts/bastion/rcue/Overpass-Bold-webfont.ttf +0 -0
- data/vendor/assets/fonts/bastion/rcue/Overpass-Bold-webfont.woff +0 -0
- data/vendor/assets/fonts/bastion/rcue/Overpass-Regular-webfont.eot +0 -0
- data/vendor/assets/fonts/bastion/rcue/Overpass-Regular-webfont.svg +454 -0
- data/vendor/assets/fonts/bastion/rcue/Overpass-Regular-webfont.ttf +0 -0
- data/vendor/assets/fonts/bastion/rcue/Overpass-Regular-webfont.woff +0 -0
- data/vendor/assets/javascripts/bastion/alchemy/alchemy.js +20 -0
- data/vendor/assets/javascripts/bastion/angular-animate/angular-animate.js +1226 -0
- data/vendor/assets/javascripts/bastion/angular-blocks/angular-blocks.js +79 -0
- data/vendor/assets/javascripts/bastion/angular-bootstrap/ui-bootstrap-tpls.js +3677 -0
- data/vendor/assets/javascripts/bastion/angular-bootstrap/ui-bootstrap.js +3427 -0
- data/vendor/assets/javascripts/bastion/angular-gettext/angular-gettext.js +345 -0
- data/vendor/assets/javascripts/bastion/angular-resource/angular-resource.js +594 -0
- data/vendor/assets/javascripts/bastion/angular-route/angular-route.js +920 -0
- data/vendor/assets/javascripts/bastion/angular-sanitize/angular-sanitize.js +622 -0
- data/vendor/assets/javascripts/bastion/angular-ui-bootstrap/datepicker.js +447 -0
- data/vendor/assets/javascripts/bastion/angular-ui-bootstrap/timepicker.js +232 -0
- data/vendor/assets/javascripts/bastion/angular-ui-router/angular-ui-router.js +3223 -0
- data/vendor/assets/javascripts/bastion/angular-uuid4/angular-uuid4.js +21 -0
- data/vendor/assets/javascripts/bastion/angular/angular.js +20560 -0
- data/vendor/assets/javascripts/bastion/es5-shim/es5-shim.js +1216 -0
- data/vendor/assets/javascripts/bastion/json3/json3.js +861 -0
- data/vendor/assets/javascripts/bastion/ngUpload/ng-upload.js +205 -0
- data/vendor/assets/javascripts/bastion/underscore/underscore.js +1276 -0
- data/vendor/assets/stylesheets/bastion/alchemy/_colors.scss +99 -0
- data/vendor/assets/stylesheets/bastion/alchemy/_media_object.scss +22 -0
- data/vendor/assets/stylesheets/bastion/alchemy/_mixins.scss +24 -0
- data/vendor/assets/stylesheets/bastion/alchemy/_normalize.scss +396 -0
- data/vendor/assets/stylesheets/bastion/alchemy/_vars.scss +31 -0
- data/vendor/assets/stylesheets/bastion/alchemy/alchemy.scss +8 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/alerts.less +67 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/badges.less +51 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/bootstrap.less +49 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/breadcrumbs.less +23 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/button-groups.less +227 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/buttons.less +155 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/carousel.less +232 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/close.less +33 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/code.less +53 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/component-animations.less +29 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/dropdowns.less +187 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/forms.less +375 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/glyphicons.less +237 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/grid.less +79 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/input-groups.less +136 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/jumbotron.less +46 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/labels.less +64 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/list-group.less +88 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/media.less +56 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/mixins.less +845 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/modals.less +129 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/navbar.less +612 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/navs.less +242 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/normalize.less +406 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/pager.less +55 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/pagination.less +85 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/panels.less +182 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/popovers.less +133 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/print.less +105 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/progress-bars.less +80 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/responsive-utilities.less +209 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/scaffolding.less +119 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/tables.less +231 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/theme.less +247 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/thumbnails.less +36 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/tooltip.less +95 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/type.less +281 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/utilities.less +56 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/variables.less +642 -0
- data/vendor/assets/stylesheets/bastion/bootstrap/wells.less +29 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/less/bootstrap.less +84 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/less/core.less +129 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/less/extras.less +93 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/less/font-awesome-ie7.less +1953 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/less/font-awesome.less +33 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/less/icons.less +381 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/less/mixins.less +48 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/less/path.less +14 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/less/variables.less +735 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/scss/_bootstrap.scss +84 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/scss/_core.scss +129 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/scss/_extras.scss +93 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/scss/_icons.scss +381 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/scss/_mixins.scss +48 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/scss/_path.scss +14 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/scss/_variables.scss +734 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/scss/font-awesome-ie7.scss +1953 -0
- data/vendor/assets/stylesheets/bastion/font-awesome/scss/font-awesome.scss +33 -0
- data/vendor/assets/stylesheets/bastion/rcue/buttons.less +44 -0
- data/vendor/assets/stylesheets/bastion/rcue/fonts.less +52 -0
- data/vendor/assets/stylesheets/bastion/rcue/forms.less +19 -0
- data/vendor/assets/stylesheets/bastion/rcue/mixins.less +50 -0
- data/vendor/assets/stylesheets/bastion/rcue/navbar.less +481 -0
- data/vendor/assets/stylesheets/bastion/rcue/rcue.less +15 -0
- data/vendor/assets/stylesheets/bastion/rcue/variables.less +47 -0
- metadata +376 -0
@@ -0,0 +1,54 @@
|
|
1
|
+
// Bootstrap overrides
|
2
|
+
|
3
|
+
.filter-option label {
|
4
|
+
font-weight: normal;
|
5
|
+
}
|
6
|
+
|
7
|
+
// FontAwesome overrides
|
8
|
+
@FontAwesomePath: "../../../../bastion/font-awesome";
|
9
|
+
@font-path: "../../bastion/rcue";
|
10
|
+
|
11
|
+
@icon-font-path: "/assets/bastion/bootstrap/";
|
12
|
+
|
13
|
+
.alert {
|
14
|
+
margin: 10px;
|
15
|
+
|
16
|
+
ul {
|
17
|
+
list-style: none;
|
18
|
+
}
|
19
|
+
|
20
|
+
p {
|
21
|
+
margin-bottom: 0;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
// Foreman Core Overrides
|
26
|
+
table {
|
27
|
+
margin-bottom: 0 !important;
|
28
|
+
}
|
29
|
+
|
30
|
+
.table th {
|
31
|
+
background: inherit;
|
32
|
+
}
|
33
|
+
|
34
|
+
ul {
|
35
|
+
-webkit-padding-start: 0;
|
36
|
+
-moz-padding-start: 0;
|
37
|
+
padding-start: 0;
|
38
|
+
}
|
39
|
+
|
40
|
+
// Prevent Foreman editable icon from bleeding into our pages
|
41
|
+
.editable {
|
42
|
+
background: inherit;
|
43
|
+
padding: 0;
|
44
|
+
}
|
45
|
+
|
46
|
+
.breadcrumb > .active a {
|
47
|
+
color: @breadcrumb-active-color;
|
48
|
+
}
|
49
|
+
|
50
|
+
.wizard li {
|
51
|
+
&:not(:first-child) span {
|
52
|
+
padding-left: 15px;
|
53
|
+
}
|
54
|
+
}
|
@@ -0,0 +1,123 @@
|
|
1
|
+
@widget-border-color: #D7D7D7;
|
2
|
+
@widget-background-color: #F9F8F8;
|
3
|
+
@breadcrumbbg_color: #e9e9e9;
|
4
|
+
@listhover_color: #00a8d6;
|
5
|
+
@path-item-color: #FFF;//#e9e9e9;
|
6
|
+
@disabled-item-color: #e9e9e9;
|
7
|
+
@path-active-color: #005870;
|
8
|
+
|
9
|
+
.path-selector {
|
10
|
+
margin-top: 20px;
|
11
|
+
|
12
|
+
.path-list {
|
13
|
+
list-style: none;
|
14
|
+
overflow: hidden;
|
15
|
+
position: relative;
|
16
|
+
margin-bottom: 10px;
|
17
|
+
display: inline-block;
|
18
|
+
border: 1px solid @widget-border-color;
|
19
|
+
|
20
|
+
.path-list-item {
|
21
|
+
float: left;
|
22
|
+
margin-left: 0;
|
23
|
+
white-space: nowrap;
|
24
|
+
|
25
|
+
&:first-child {
|
26
|
+
label {
|
27
|
+
padding-left: 12px;
|
28
|
+
}
|
29
|
+
}
|
30
|
+
&:last-child {
|
31
|
+
label {
|
32
|
+
padding-right: 16px;
|
33
|
+
|
34
|
+
&:hover:not([disabled]) {
|
35
|
+
color: white;
|
36
|
+
background: @listhover_color;
|
37
|
+
}
|
38
|
+
&:after {
|
39
|
+
border: 0;
|
40
|
+
border-left: 0px solid @breadcrumbbg_color;
|
41
|
+
&:hover { border-left-color: @listhover_color; }
|
42
|
+
}
|
43
|
+
}
|
44
|
+
}
|
45
|
+
|
46
|
+
label {
|
47
|
+
color: black;
|
48
|
+
font-size: 12px;
|
49
|
+
font-weight: normal;
|
50
|
+
font-family: "Open Sans", Helvetica, Arial, sans-serif;
|
51
|
+
line-height: 20px;
|
52
|
+
margin: 0;
|
53
|
+
padding: 12px 10px 12px 30px;
|
54
|
+
position: relative;
|
55
|
+
background: @path-item-color;
|
56
|
+
|
57
|
+
&.active {
|
58
|
+
background: @path-active-color;
|
59
|
+
color: white;
|
60
|
+
text-shadow: 1px 1px #000;
|
61
|
+
&:after { border-left-color: @path-active-color; };
|
62
|
+
&:hover:after { border-left-color: @listhover_color; }
|
63
|
+
}
|
64
|
+
&:hover:not([disabled]) {
|
65
|
+
background: @listhover_color;
|
66
|
+
color: white;
|
67
|
+
&:after { border-left-color: @listhover_color; }
|
68
|
+
}
|
69
|
+
&:after {
|
70
|
+
content: " ";
|
71
|
+
display: block;
|
72
|
+
width: 0;
|
73
|
+
height: 0;
|
74
|
+
border-top: 30px solid transparent; //Go big on the size, and let overflow hide
|
75
|
+
border-bottom: 30px solid transparent;
|
76
|
+
border-left: 15px solid @path-item-color;//@breadcrumbbg_color;
|
77
|
+
position: absolute;
|
78
|
+
top: 50%;
|
79
|
+
margin-top: -30px;
|
80
|
+
left: 100%;
|
81
|
+
z-index: 102;
|
82
|
+
}
|
83
|
+
&:before {
|
84
|
+
content: " ";
|
85
|
+
display: block;
|
86
|
+
width: 0;
|
87
|
+
height: 0;
|
88
|
+
border-top: 30px solid transparent; //Go big on the size, and let overflow hide
|
89
|
+
border-bottom: 30px solid transparent;
|
90
|
+
border-left: 15px solid @widget-border-color;
|
91
|
+
position: absolute;
|
92
|
+
top: 50%;
|
93
|
+
margin-top: -30px;
|
94
|
+
margin-left: 1px;
|
95
|
+
left: 100%;
|
96
|
+
z-index: 101;
|
97
|
+
}
|
98
|
+
|
99
|
+
input[type="checkbox"] {
|
100
|
+
margin: 0;
|
101
|
+
vertical-align: middle;
|
102
|
+
margin-right: 2px;
|
103
|
+
margin-bottom: 1px;
|
104
|
+
}
|
105
|
+
}
|
106
|
+
|
107
|
+
&.disabled-item {
|
108
|
+
|
109
|
+
label:not(.active) {
|
110
|
+
background: @disabled-item-color;
|
111
|
+
|
112
|
+
&:after {
|
113
|
+
border-left: 15px solid @breadcrumbbg_color;
|
114
|
+
}
|
115
|
+
}
|
116
|
+
|
117
|
+
input[type="checkbox"] {
|
118
|
+
display: none;
|
119
|
+
}
|
120
|
+
}
|
121
|
+
}
|
122
|
+
}
|
123
|
+
}
|
@@ -0,0 +1,35 @@
|
|
1
|
+
html.custom-information {
|
2
|
+
.form input {
|
3
|
+
width: 200px;
|
4
|
+
}
|
5
|
+
|
6
|
+
button {
|
7
|
+
vertical-align: middle;
|
8
|
+
}
|
9
|
+
|
10
|
+
.existing-items {
|
11
|
+
margin-top: 25px;
|
12
|
+
}
|
13
|
+
|
14
|
+
.details-container {
|
15
|
+
max-height: 250px;
|
16
|
+
overflow-y: auto;
|
17
|
+
padding: 15px;
|
18
|
+
}
|
19
|
+
|
20
|
+
.info-value {
|
21
|
+
display: inline-block;
|
22
|
+
}
|
23
|
+
}
|
24
|
+
|
25
|
+
.system-subscriptions {
|
26
|
+
margin-top: 35px;
|
27
|
+
}
|
28
|
+
|
29
|
+
.filter-options {
|
30
|
+
clear: both;
|
31
|
+
|
32
|
+
.filter-option {
|
33
|
+
padding: 5px;
|
34
|
+
}
|
35
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
table div.progress {
|
2
|
+
margin-bottom: 0;
|
3
|
+
}
|
4
|
+
|
5
|
+
table.tasks-table th.task-status {
|
6
|
+
width: 10%;
|
7
|
+
}
|
8
|
+
|
9
|
+
table.tasks-table th.task-user {
|
10
|
+
width: 15%;
|
11
|
+
}
|
12
|
+
|
13
|
+
.task-details {
|
14
|
+
.nutupane-details;
|
15
|
+
left: 0;
|
16
|
+
width: 100%;
|
17
|
+
box-shadow: none;
|
18
|
+
}
|
19
|
+
|
20
|
+
.current-tasks {
|
21
|
+
width: 50em;
|
22
|
+
padding-left: 1em;
|
23
|
+
}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
code {
|
2
|
+
margin: 0 2px;
|
3
|
+
padding: 0 5px;
|
4
|
+
white-space: nowrap;
|
5
|
+
border: 1px solid #eaeaea;
|
6
|
+
background-color: #f8f8f8;
|
7
|
+
border-radius: 3px;
|
8
|
+
font-size: 12px;
|
9
|
+
font-family: Consolas, "Liberation Mono", Courier, monospace;
|
10
|
+
}
|
11
|
+
|
12
|
+
pre code {
|
13
|
+
margin: 0;
|
14
|
+
padding: 0;
|
15
|
+
white-space: pre;
|
16
|
+
border: none;
|
17
|
+
background: transparent;
|
18
|
+
background-color: transparent;
|
19
|
+
border: none;
|
20
|
+
}
|
21
|
+
|
22
|
+
pre {
|
23
|
+
background-color: #f8f8f8;
|
24
|
+
border: 1px solid #cccccc;
|
25
|
+
font-size: 13px;
|
26
|
+
line-height: 19px;
|
27
|
+
overflow: auto;
|
28
|
+
padding: 6px 10px;
|
29
|
+
border-radius: 3px;
|
30
|
+
margin: 15px 5px;
|
31
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# Copyright 2014 Red Hat, Inc.
|
2
|
+
#
|
3
|
+
# This software is licensed to you under the GNU General Public
|
4
|
+
# License as published by the Free Software Foundation; either version
|
5
|
+
# 2 of the License (GPLv2) or (at your option) any later version.
|
6
|
+
# There is NO WARRANTY for this software, express or implied,
|
7
|
+
# including the implied warranties of MERCHANTABILITY,
|
8
|
+
# NON-INFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. You should
|
9
|
+
# have received a copy of GPLv2 along with this software; if not, see
|
10
|
+
# http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
|
11
|
+
|
12
|
+
module Bastion
|
13
|
+
class BastionController < ::ApplicationController
|
14
|
+
skip_before_filter :authorize
|
15
|
+
|
16
|
+
def index
|
17
|
+
render 'bastion/layouts/application', :layout => false
|
18
|
+
end
|
19
|
+
|
20
|
+
def index_ie
|
21
|
+
render 'bastion/layouts/application_ie', :layout => false
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
<% content_for(:stylesheets) do %>
|
2
|
+
<%= stylesheet_link_tag "bastion/bastion" %>
|
3
|
+
<%= yield :stylesheets %>
|
4
|
+
<% end %>
|
5
|
+
|
6
|
+
<% content_for(:content) do %>
|
7
|
+
<div class="article maincontent rcue-styles">
|
8
|
+
<section class="container-fluid" ui-view></section>
|
9
|
+
</div>
|
10
|
+
<% end %>
|
11
|
+
|
12
|
+
<% content_for(:javascripts) do %>
|
13
|
+
<%= javascript_include_tag 'bastion/bastion' %>
|
14
|
+
<script type="text/javascript">
|
15
|
+
angular.module('Bastion').value('currentLocale', '<%= I18n.locale %>');
|
16
|
+
angular.module('Bastion').value('CurrentOrganization', "<%= Organization.current.id if Organization.current %>");
|
17
|
+
angular.module('Bastion').value('Permissions', angular.fromJson('<%= User.current.roles.collect { |role| role.permissions }.flatten.to_json.html_safe %>'));
|
18
|
+
angular.module('Bastion').value('CurrentUser', {
|
19
|
+
id: <%= User.current.id %>,
|
20
|
+
admin: <%= User.current.admin %>
|
21
|
+
});
|
22
|
+
angular.module('Bastion').value('markActiveMenu', mark_active_menu);
|
23
|
+
angular.module('Bastion').constant('BastionConfig', {
|
24
|
+
markTranslated: <%= SETTINGS[:mark_translated] || false %>
|
25
|
+
});
|
26
|
+
</script>
|
27
|
+
<% Bastion.plugins.each do |name, plugin| %>
|
28
|
+
<%= javascript_include_tag(plugin[:javascript]) %>
|
29
|
+
<% end %>
|
30
|
+
<% end %>
|
31
|
+
|
32
|
+
<%= render file: "layouts/base" %>
|
data/bastion.js
ADDED
@@ -0,0 +1,26 @@
|
|
1
|
+
var requireDir = require('require-dir');
|
2
|
+
|
3
|
+
module.exports = function (grunt) {
|
4
|
+
var configs = requireDir('./grunt');
|
5
|
+
|
6
|
+
grunt.loadTasks(__dirname + '/node_modules/grunt-contrib-jshint/tasks');
|
7
|
+
grunt.loadTasks(__dirname + '/node_modules/grunt-htmlhint/tasks');
|
8
|
+
grunt.loadTasks(__dirname + '/node_modules/grunt-bower-task/tasks');
|
9
|
+
grunt.loadTasks(__dirname + '/node_modules/grunt-karma/tasks');
|
10
|
+
|
11
|
+
grunt.initConfig(configs);
|
12
|
+
|
13
|
+
grunt.registerTask('ci', [
|
14
|
+
'jshint',
|
15
|
+
'htmlhint',
|
16
|
+
'karma:ci'
|
17
|
+
]);
|
18
|
+
|
19
|
+
grunt.registerTask('test', [
|
20
|
+
'karma:unit'
|
21
|
+
]);
|
22
|
+
|
23
|
+
grunt.registerTask('default', [
|
24
|
+
'ci',
|
25
|
+
]);
|
26
|
+
};
|
data/bower.json
ADDED
@@ -0,0 +1,94 @@
|
|
1
|
+
{
|
2
|
+
"name": "bastion",
|
3
|
+
"version": "0.0.1",
|
4
|
+
"main": [],
|
5
|
+
"dependencies": {
|
6
|
+
"json3": "~3.2.4",
|
7
|
+
"es5-shim": "~2.0.8",
|
8
|
+
"angular": "=1.2.9",
|
9
|
+
"angular-bootstrap": "0.10.0",
|
10
|
+
"angular": "=1.2.9",
|
11
|
+
"angular-sanitize": "=1.2.9",
|
12
|
+
"angular-resource": "=1.2.9",
|
13
|
+
"angular-route": "=1.2.9",
|
14
|
+
"angular-gettext": "=1.0.0",
|
15
|
+
"angular-ui-router": "=0.2.10",
|
16
|
+
"angular-blocks": "~>0.1.8",
|
17
|
+
"alchemy": ">=0.0.1",
|
18
|
+
"underscore": "=1.5.2",
|
19
|
+
"ngUpload": "~0.5.5",
|
20
|
+
"bootstrap": "~3.0.1",
|
21
|
+
"font-awesome": "~3.2.1",
|
22
|
+
"angular-animate": "=1.2.0",
|
23
|
+
"angular-uuid4": "0.1.0"
|
24
|
+
},
|
25
|
+
"devDependencies": {
|
26
|
+
"jquery": "=1.9.1",
|
27
|
+
"angular-mocks": "=1.2.9",
|
28
|
+
"angular-scenario": "=1.2.9"
|
29
|
+
},
|
30
|
+
"resolutions": {
|
31
|
+
"angular": "1.2.9",
|
32
|
+
"jquery": "=1.9.1"
|
33
|
+
},
|
34
|
+
"exportsOverride": {
|
35
|
+
"json3": {
|
36
|
+
"javascripts/bastion": "lib/json3.js"
|
37
|
+
},
|
38
|
+
"es5-shim": {
|
39
|
+
"javascripts/bastion": "es5-shim.js"
|
40
|
+
},
|
41
|
+
"angular": {
|
42
|
+
"javascripts/bastion": "angular.js"
|
43
|
+
},
|
44
|
+
"angular-sanitize": {
|
45
|
+
"javascripts/bastion": "angular-sanitize.js"
|
46
|
+
},
|
47
|
+
"angular-resource": {
|
48
|
+
"javascripts/bastion": "angular-resource.js"
|
49
|
+
},
|
50
|
+
"angular-route": {
|
51
|
+
"javascripts/bastion": "angular-route.js"
|
52
|
+
},
|
53
|
+
"angular-gettext": {
|
54
|
+
"javascripts/bastion": "dist/angular-gettext.js"
|
55
|
+
},
|
56
|
+
"angular-blocks": {
|
57
|
+
"javascripts/bastion": "src/angular-blocks.js"
|
58
|
+
},
|
59
|
+
"angular-bootstrap": {
|
60
|
+
"javascripts/bastion": [
|
61
|
+
"ui-bootstrap.js",
|
62
|
+
"ui-bootstrap-tpls.js"
|
63
|
+
]
|
64
|
+
},
|
65
|
+
"angular-animate": {
|
66
|
+
"javascripts/bastion": "angular-animate.js"
|
67
|
+
},
|
68
|
+
"angular-ui-router": {
|
69
|
+
"javascripts/bastion": "release/angular-ui-router.js"
|
70
|
+
},
|
71
|
+
"angular-uuid4": {
|
72
|
+
"javascripts/bastion": "angular-uuid4.js"
|
73
|
+
},
|
74
|
+
"alchemy": {
|
75
|
+
"javascripts/bastion": "alchemy.js",
|
76
|
+
"stylesheets/bastion": "*.scss"
|
77
|
+
},
|
78
|
+
"underscore": {
|
79
|
+
"javascripts/bastion": "underscore.js"
|
80
|
+
},
|
81
|
+
"ngUpload": {
|
82
|
+
"javascripts/bastion": "ng-upload.js"
|
83
|
+
},
|
84
|
+
"bootstrap": {
|
85
|
+
"stylesheets/bastion": "less/*.less",
|
86
|
+
"fonts/bastion": "dist/fonts/*"
|
87
|
+
},
|
88
|
+
"font-awesome": {
|
89
|
+
"stylesheets/bastion/font-awesome/less": "less/*.less",
|
90
|
+
"stylesheets/bastion/font-awesome/scss": "scss/*.scss",
|
91
|
+
"fonts/bastion": "font/*"
|
92
|
+
}
|
93
|
+
}
|
94
|
+
}
|