bastion 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (278) hide show
  1. checksums.yaml +15 -0
  2. data/.jshintrc +35 -0
  3. data/Gruntfile.js +24 -0
  4. data/LICENSE +339 -0
  5. data/README.md +8 -0
  6. data/Rakefile +53 -0
  7. data/app/assets/javascripts/bastion/auth/auth.module.js +87 -0
  8. data/app/assets/javascripts/bastion/auth/authorization.service.js +48 -0
  9. data/app/assets/javascripts/bastion/bastion-bootstrap.js +32 -0
  10. data/app/assets/javascripts/bastion/bastion-resource.factory.js +39 -0
  11. data/app/assets/javascripts/bastion/bastion.js +52 -0
  12. data/app/assets/javascripts/bastion/bastion.module.js +213 -0
  13. data/app/assets/javascripts/bastion/i18n/README +9 -0
  14. data/app/assets/javascripts/bastion/i18n/i18n.module.js +24 -0
  15. data/app/assets/javascripts/bastion/i18n/katello.pot +968 -0
  16. data/app/assets/javascripts/bastion/i18n/locale/README +1 -0
  17. data/app/assets/javascripts/bastion/i18n/translate.service.js +14 -0
  18. data/app/assets/javascripts/bastion/i18n/translations.js +3 -0
  19. data/app/assets/javascripts/bastion/i18n/zanata.xml +28 -0
  20. data/app/assets/javascripts/bastion/incubator/alch-alert.directive.js +67 -0
  21. data/app/assets/javascripts/bastion/incubator/alch-container-scroll.directive.js +44 -0
  22. data/app/assets/javascripts/bastion/incubator/alch-dropdown.directive.js +28 -0
  23. data/app/assets/javascripts/bastion/incubator/alch-edit.directive.js +361 -0
  24. data/app/assets/javascripts/bastion/incubator/alch-flyout.directive.js +19 -0
  25. data/app/assets/javascripts/bastion/incubator/alch-form-buttons.directive.js +60 -0
  26. data/app/assets/javascripts/bastion/incubator/alch-form-group.directive.js +87 -0
  27. data/app/assets/javascripts/bastion/incubator/alch-infinite-scroll.directive.js +84 -0
  28. data/app/assets/javascripts/bastion/incubator/alch-menu.directive.js +56 -0
  29. data/app/assets/javascripts/bastion/incubator/alch-modal.directive.js +80 -0
  30. data/app/assets/javascripts/bastion/incubator/alch-save-control.directive.js +42 -0
  31. data/app/assets/javascripts/bastion/incubator/alch-table.directive.js +295 -0
  32. data/app/assets/javascripts/bastion/incubator/format/alch-format.module.js +21 -0
  33. data/app/assets/javascripts/bastion/incubator/format/array-to-string.filter.js +30 -0
  34. data/app/assets/javascripts/bastion/incubator/format/boolean-to-yes-no.filter.js +34 -0
  35. data/app/assets/javascripts/bastion/incubator/format/capitalize.filter.js +32 -0
  36. data/app/assets/javascripts/bastion/incubator/format/key-value-to-string.filter.js +40 -0
  37. data/app/assets/javascripts/bastion/incubator/format/unlimitedFilter.filter.js +35 -0
  38. data/app/assets/javascripts/bastion/incubator/stylesheets/alch-edit.scss +34 -0
  39. data/app/assets/javascripts/bastion/incubator/stylesheets/header.scss +207 -0
  40. data/app/assets/javascripts/bastion/incubator/views/alch-alert.html +6 -0
  41. data/app/assets/javascripts/bastion/incubator/views/alch-dropdown.html +19 -0
  42. data/app/assets/javascripts/bastion/incubator/views/alch-edit-add-item.html +21 -0
  43. data/app/assets/javascripts/bastion/incubator/views/alch-edit-add-remove-cancel.html +28 -0
  44. data/app/assets/javascripts/bastion/incubator/views/alch-edit-checkbox.html +6 -0
  45. data/app/assets/javascripts/bastion/incubator/views/alch-edit-custom.html +8 -0
  46. data/app/assets/javascripts/bastion/incubator/views/alch-edit-multiselect.html +17 -0
  47. data/app/assets/javascripts/bastion/incubator/views/alch-edit-save-cancel.html +20 -0
  48. data/app/assets/javascripts/bastion/incubator/views/alch-edit-select.html +10 -0
  49. data/app/assets/javascripts/bastion/incubator/views/alch-edit-text.html +6 -0
  50. data/app/assets/javascripts/bastion/incubator/views/alch-edit-textarea.html +6 -0
  51. data/app/assets/javascripts/bastion/incubator/views/alch-edit.html +18 -0
  52. data/app/assets/javascripts/bastion/incubator/views/alch-flyout.html +10 -0
  53. data/app/assets/javascripts/bastion/incubator/views/alch-form-buttons.html +10 -0
  54. data/app/assets/javascripts/bastion/incubator/views/alch-form-group.html +9 -0
  55. data/app/assets/javascripts/bastion/incubator/views/alch-menu.html +18 -0
  56. data/app/assets/javascripts/bastion/incubator/views/alch-modal-remove.html +13 -0
  57. data/app/assets/javascripts/bastion/incubator/views/alch-save-control.html +18 -0
  58. data/app/assets/javascripts/bastion/layouts/details-nutupane.html +73 -0
  59. data/app/assets/javascripts/bastion/layouts/nutupane.html +63 -0
  60. data/app/assets/javascripts/bastion/layouts/select-all-results.html +9 -0
  61. data/app/assets/javascripts/bastion/menu/menu-expander.service.js +51 -0
  62. data/app/assets/javascripts/bastion/menu/menu.module.js +26 -0
  63. data/app/assets/javascripts/bastion/utils/as.filter.js +33 -0
  64. data/app/assets/javascripts/bastion/utils/form-utils.service.js +53 -0
  65. data/app/assets/javascripts/bastion/utils/utils.module.js +21 -0
  66. data/app/assets/javascripts/bastion/widgets/current-tasks.directive.js +67 -0
  67. data/app/assets/javascripts/bastion/widgets/nutupane-table.directive.js +59 -0
  68. data/app/assets/javascripts/bastion/widgets/nutupane.factory.js +316 -0
  69. data/app/assets/javascripts/bastion/widgets/page-title.directive.js +61 -0
  70. data/app/assets/javascripts/bastion/widgets/page-title.service.js +42 -0
  71. data/app/assets/javascripts/bastion/widgets/path-selector.directive.js +109 -0
  72. data/app/assets/javascripts/bastion/widgets/views/current-tasks.html +23 -0
  73. data/app/assets/javascripts/bastion/widgets/views/path-selector.html +11 -0
  74. data/app/assets/javascripts/bastion/widgets/widgets.module.js +24 -0
  75. data/app/assets/stylesheets/bastion/animations.less +15 -0
  76. data/app/assets/stylesheets/bastion/bastion.less +160 -0
  77. data/app/assets/stylesheets/bastion/forms.less +41 -0
  78. data/app/assets/stylesheets/bastion/gpg-keys.less +36 -0
  79. data/app/assets/stylesheets/bastion/helpers.less +6 -0
  80. data/app/assets/stylesheets/bastion/mixins.less +15 -0
  81. data/app/assets/stylesheets/bastion/nutupane.less +382 -0
  82. data/app/assets/stylesheets/bastion/overrides.less +54 -0
  83. data/app/assets/stylesheets/bastion/path-selector.less +123 -0
  84. data/app/assets/stylesheets/bastion/systems.less +35 -0
  85. data/app/assets/stylesheets/bastion/tasks.less +23 -0
  86. data/app/assets/stylesheets/bastion/typography.less +31 -0
  87. data/app/assets/stylesheets/bastion/variables.less +3 -0
  88. data/app/controllers/bastion/bastion_controller.rb +24 -0
  89. data/app/views/bastion/layouts/application.html.erb +32 -0
  90. data/app/views/bastion/layouts/application_ie.html.erb +5 -0
  91. data/bastion.js +26 -0
  92. data/bower.json +94 -0
  93. data/config/routes.rb +25 -0
  94. data/config/routes/mount_engine.rb +3 -0
  95. data/grunt/bower.js +20 -0
  96. data/grunt/htmlhint.js +15 -0
  97. data/grunt/jshint.js +9 -0
  98. data/grunt/karma.js +83 -0
  99. data/lib/bastion.rb +17 -0
  100. data/lib/bastion/engine.rb +37 -0
  101. data/lib/bastion/version.rb +3 -0
  102. data/package.json +29 -0
  103. data/test/auth/authorization.service.test.js +63 -0
  104. data/test/bastion/bastion-resource.factory.test.js +31 -0
  105. data/test/bastion/test-constants.js +30 -0
  106. data/test/i18n/translate.service.test.js +31 -0
  107. data/test/incubator/alch-alert.directive.test.js +84 -0
  108. data/test/incubator/alch-container-scroll.directive.test.js +68 -0
  109. data/test/incubator/alch-dropdown.directive.test.js +113 -0
  110. data/test/incubator/alch-edit.directive.test.js +320 -0
  111. data/test/incubator/alch-flyout.directive.test.js +73 -0
  112. data/test/incubator/alch-form-buttons.directive.test.js +55 -0
  113. data/test/incubator/alch-form-group.directive.test.js +76 -0
  114. data/test/incubator/alch-infinite-scroll.directive.test.js +123 -0
  115. data/test/incubator/alch-menu.directive.test.js +94 -0
  116. data/test/incubator/alch-modal.directive.test.js +81 -0
  117. data/test/incubator/alch-table.directive.test.js +270 -0
  118. data/test/incubator/format/array-to-string.filter.test.js +38 -0
  119. data/test/incubator/format/boolean-to-yes-no.filter.test.js +41 -0
  120. data/test/incubator/format/capitalize.filter.test.js +35 -0
  121. data/test/incubator/format/key-value-to-string.filter.test.js +60 -0
  122. data/test/incubator/format/unlimited-filter.filter.test.js +31 -0
  123. data/test/incubator/nutupane-table.directive.test.js +69 -0
  124. data/test/incubator/nutupane.factory.test.js +307 -0
  125. data/test/menu/menu-expander.service.test.js +74 -0
  126. data/test/test-mocks.module.js +268 -0
  127. data/test/utils/as.filter.test.js +33 -0
  128. data/test/utils/form-utils.service.test.js +52 -0
  129. data/test/widgets/page-title.directive.test.js +54 -0
  130. data/test/widgets/page-title.service.test.js +51 -0
  131. data/test/widgets/path-selector.directive.test.js +136 -0
  132. data/vendor/assets/fonts/bastion/bootstrap/glyphicons-halflings-regular.eot +0 -0
  133. data/vendor/assets/fonts/bastion/bootstrap/glyphicons-halflings-regular.svg +229 -0
  134. data/vendor/assets/fonts/bastion/bootstrap/glyphicons-halflings-regular.ttf +0 -0
  135. data/vendor/assets/fonts/bastion/bootstrap/glyphicons-halflings-regular.woff +0 -0
  136. data/vendor/assets/fonts/bastion/font-awesome/FontAwesome.otf +0 -0
  137. data/vendor/assets/fonts/bastion/font-awesome/fontawesome-webfont.eot +0 -0
  138. data/vendor/assets/fonts/bastion/font-awesome/fontawesome-webfont.svg +399 -0
  139. data/vendor/assets/fonts/bastion/font-awesome/fontawesome-webfont.ttf +0 -0
  140. data/vendor/assets/fonts/bastion/font-awesome/fontawesome-webfont.woff +0 -0
  141. data/vendor/assets/fonts/bastion/rcue/OpenSans-Bold-webfont.eot +0 -0
  142. data/vendor/assets/fonts/bastion/rcue/OpenSans-Bold-webfont.svg +146 -0
  143. data/vendor/assets/fonts/bastion/rcue/OpenSans-Bold-webfont.ttf +0 -0
  144. data/vendor/assets/fonts/bastion/rcue/OpenSans-Bold-webfont.woff +0 -0
  145. data/vendor/assets/fonts/bastion/rcue/OpenSans-BoldItalic-webfont.eot +0 -0
  146. data/vendor/assets/fonts/bastion/rcue/OpenSans-BoldItalic-webfont.svg +146 -0
  147. data/vendor/assets/fonts/bastion/rcue/OpenSans-BoldItalic-webfont.ttf +0 -0
  148. data/vendor/assets/fonts/bastion/rcue/OpenSans-BoldItalic-webfont.woff +0 -0
  149. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBold-webfont.eot +0 -0
  150. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBold-webfont.svg +146 -0
  151. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBold-webfont.ttf +0 -0
  152. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBold-webfont.woff +0 -0
  153. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBoldItalic-webfont.eot +0 -0
  154. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBoldItalic-webfont.svg +146 -0
  155. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBoldItalic-webfont.ttf +0 -0
  156. data/vendor/assets/fonts/bastion/rcue/OpenSans-ExtraBoldItalic-webfont.woff +0 -0
  157. data/vendor/assets/fonts/bastion/rcue/OpenSans-Italic-webfont.eot +0 -0
  158. data/vendor/assets/fonts/bastion/rcue/OpenSans-Italic-webfont.svg +146 -0
  159. data/vendor/assets/fonts/bastion/rcue/OpenSans-Italic-webfont.ttf +0 -0
  160. data/vendor/assets/fonts/bastion/rcue/OpenSans-Italic-webfont.woff +0 -0
  161. data/vendor/assets/fonts/bastion/rcue/OpenSans-Light-webfont.eot +0 -0
  162. data/vendor/assets/fonts/bastion/rcue/OpenSans-Light-webfont.svg +146 -0
  163. data/vendor/assets/fonts/bastion/rcue/OpenSans-Light-webfont.ttf +0 -0
  164. data/vendor/assets/fonts/bastion/rcue/OpenSans-Light-webfont.woff +0 -0
  165. data/vendor/assets/fonts/bastion/rcue/OpenSans-LightItalic-webfont.eot +0 -0
  166. data/vendor/assets/fonts/bastion/rcue/OpenSans-LightItalic-webfont.svg +146 -0
  167. data/vendor/assets/fonts/bastion/rcue/OpenSans-LightItalic-webfont.ttf +0 -0
  168. data/vendor/assets/fonts/bastion/rcue/OpenSans-LightItalic-webfont.woff +0 -0
  169. data/vendor/assets/fonts/bastion/rcue/OpenSans-Regular-webfont.eot +0 -0
  170. data/vendor/assets/fonts/bastion/rcue/OpenSans-Regular-webfont.svg +146 -0
  171. data/vendor/assets/fonts/bastion/rcue/OpenSans-Regular-webfont.ttf +0 -0
  172. data/vendor/assets/fonts/bastion/rcue/OpenSans-Regular-webfont.woff +0 -0
  173. data/vendor/assets/fonts/bastion/rcue/OpenSans-Semibold-webfont.eot +0 -0
  174. data/vendor/assets/fonts/bastion/rcue/OpenSans-Semibold-webfont.svg +146 -0
  175. data/vendor/assets/fonts/bastion/rcue/OpenSans-Semibold-webfont.ttf +0 -0
  176. data/vendor/assets/fonts/bastion/rcue/OpenSans-Semibold-webfont.woff +0 -0
  177. data/vendor/assets/fonts/bastion/rcue/OpenSans-SemiboldItalic-webfont.eot +0 -0
  178. data/vendor/assets/fonts/bastion/rcue/OpenSans-SemiboldItalic-webfont.svg +146 -0
  179. data/vendor/assets/fonts/bastion/rcue/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  180. data/vendor/assets/fonts/bastion/rcue/OpenSans-SemiboldItalic-webfont.woff +0 -0
  181. data/vendor/assets/fonts/bastion/rcue/Overpass-Bold-webfont.eot +0 -0
  182. data/vendor/assets/fonts/bastion/rcue/Overpass-Bold-webfont.svg +454 -0
  183. data/vendor/assets/fonts/bastion/rcue/Overpass-Bold-webfont.ttf +0 -0
  184. data/vendor/assets/fonts/bastion/rcue/Overpass-Bold-webfont.woff +0 -0
  185. data/vendor/assets/fonts/bastion/rcue/Overpass-Regular-webfont.eot +0 -0
  186. data/vendor/assets/fonts/bastion/rcue/Overpass-Regular-webfont.svg +454 -0
  187. data/vendor/assets/fonts/bastion/rcue/Overpass-Regular-webfont.ttf +0 -0
  188. data/vendor/assets/fonts/bastion/rcue/Overpass-Regular-webfont.woff +0 -0
  189. data/vendor/assets/javascripts/bastion/alchemy/alchemy.js +20 -0
  190. data/vendor/assets/javascripts/bastion/angular-animate/angular-animate.js +1226 -0
  191. data/vendor/assets/javascripts/bastion/angular-blocks/angular-blocks.js +79 -0
  192. data/vendor/assets/javascripts/bastion/angular-bootstrap/ui-bootstrap-tpls.js +3677 -0
  193. data/vendor/assets/javascripts/bastion/angular-bootstrap/ui-bootstrap.js +3427 -0
  194. data/vendor/assets/javascripts/bastion/angular-gettext/angular-gettext.js +345 -0
  195. data/vendor/assets/javascripts/bastion/angular-resource/angular-resource.js +594 -0
  196. data/vendor/assets/javascripts/bastion/angular-route/angular-route.js +920 -0
  197. data/vendor/assets/javascripts/bastion/angular-sanitize/angular-sanitize.js +622 -0
  198. data/vendor/assets/javascripts/bastion/angular-ui-bootstrap/datepicker.js +447 -0
  199. data/vendor/assets/javascripts/bastion/angular-ui-bootstrap/timepicker.js +232 -0
  200. data/vendor/assets/javascripts/bastion/angular-ui-router/angular-ui-router.js +3223 -0
  201. data/vendor/assets/javascripts/bastion/angular-uuid4/angular-uuid4.js +21 -0
  202. data/vendor/assets/javascripts/bastion/angular/angular.js +20560 -0
  203. data/vendor/assets/javascripts/bastion/es5-shim/es5-shim.js +1216 -0
  204. data/vendor/assets/javascripts/bastion/json3/json3.js +861 -0
  205. data/vendor/assets/javascripts/bastion/ngUpload/ng-upload.js +205 -0
  206. data/vendor/assets/javascripts/bastion/underscore/underscore.js +1276 -0
  207. data/vendor/assets/stylesheets/bastion/alchemy/_colors.scss +99 -0
  208. data/vendor/assets/stylesheets/bastion/alchemy/_media_object.scss +22 -0
  209. data/vendor/assets/stylesheets/bastion/alchemy/_mixins.scss +24 -0
  210. data/vendor/assets/stylesheets/bastion/alchemy/_normalize.scss +396 -0
  211. data/vendor/assets/stylesheets/bastion/alchemy/_vars.scss +31 -0
  212. data/vendor/assets/stylesheets/bastion/alchemy/alchemy.scss +8 -0
  213. data/vendor/assets/stylesheets/bastion/bootstrap/alerts.less +67 -0
  214. data/vendor/assets/stylesheets/bastion/bootstrap/badges.less +51 -0
  215. data/vendor/assets/stylesheets/bastion/bootstrap/bootstrap.less +49 -0
  216. data/vendor/assets/stylesheets/bastion/bootstrap/breadcrumbs.less +23 -0
  217. data/vendor/assets/stylesheets/bastion/bootstrap/button-groups.less +227 -0
  218. data/vendor/assets/stylesheets/bastion/bootstrap/buttons.less +155 -0
  219. data/vendor/assets/stylesheets/bastion/bootstrap/carousel.less +232 -0
  220. data/vendor/assets/stylesheets/bastion/bootstrap/close.less +33 -0
  221. data/vendor/assets/stylesheets/bastion/bootstrap/code.less +53 -0
  222. data/vendor/assets/stylesheets/bastion/bootstrap/component-animations.less +29 -0
  223. data/vendor/assets/stylesheets/bastion/bootstrap/dropdowns.less +187 -0
  224. data/vendor/assets/stylesheets/bastion/bootstrap/forms.less +375 -0
  225. data/vendor/assets/stylesheets/bastion/bootstrap/glyphicons.less +237 -0
  226. data/vendor/assets/stylesheets/bastion/bootstrap/grid.less +79 -0
  227. data/vendor/assets/stylesheets/bastion/bootstrap/input-groups.less +136 -0
  228. data/vendor/assets/stylesheets/bastion/bootstrap/jumbotron.less +46 -0
  229. data/vendor/assets/stylesheets/bastion/bootstrap/labels.less +64 -0
  230. data/vendor/assets/stylesheets/bastion/bootstrap/list-group.less +88 -0
  231. data/vendor/assets/stylesheets/bastion/bootstrap/media.less +56 -0
  232. data/vendor/assets/stylesheets/bastion/bootstrap/mixins.less +845 -0
  233. data/vendor/assets/stylesheets/bastion/bootstrap/modals.less +129 -0
  234. data/vendor/assets/stylesheets/bastion/bootstrap/navbar.less +612 -0
  235. data/vendor/assets/stylesheets/bastion/bootstrap/navs.less +242 -0
  236. data/vendor/assets/stylesheets/bastion/bootstrap/normalize.less +406 -0
  237. data/vendor/assets/stylesheets/bastion/bootstrap/pager.less +55 -0
  238. data/vendor/assets/stylesheets/bastion/bootstrap/pagination.less +85 -0
  239. data/vendor/assets/stylesheets/bastion/bootstrap/panels.less +182 -0
  240. data/vendor/assets/stylesheets/bastion/bootstrap/popovers.less +133 -0
  241. data/vendor/assets/stylesheets/bastion/bootstrap/print.less +105 -0
  242. data/vendor/assets/stylesheets/bastion/bootstrap/progress-bars.less +80 -0
  243. data/vendor/assets/stylesheets/bastion/bootstrap/responsive-utilities.less +209 -0
  244. data/vendor/assets/stylesheets/bastion/bootstrap/scaffolding.less +119 -0
  245. data/vendor/assets/stylesheets/bastion/bootstrap/tables.less +231 -0
  246. data/vendor/assets/stylesheets/bastion/bootstrap/theme.less +247 -0
  247. data/vendor/assets/stylesheets/bastion/bootstrap/thumbnails.less +36 -0
  248. data/vendor/assets/stylesheets/bastion/bootstrap/tooltip.less +95 -0
  249. data/vendor/assets/stylesheets/bastion/bootstrap/type.less +281 -0
  250. data/vendor/assets/stylesheets/bastion/bootstrap/utilities.less +56 -0
  251. data/vendor/assets/stylesheets/bastion/bootstrap/variables.less +642 -0
  252. data/vendor/assets/stylesheets/bastion/bootstrap/wells.less +29 -0
  253. data/vendor/assets/stylesheets/bastion/font-awesome/less/bootstrap.less +84 -0
  254. data/vendor/assets/stylesheets/bastion/font-awesome/less/core.less +129 -0
  255. data/vendor/assets/stylesheets/bastion/font-awesome/less/extras.less +93 -0
  256. data/vendor/assets/stylesheets/bastion/font-awesome/less/font-awesome-ie7.less +1953 -0
  257. data/vendor/assets/stylesheets/bastion/font-awesome/less/font-awesome.less +33 -0
  258. data/vendor/assets/stylesheets/bastion/font-awesome/less/icons.less +381 -0
  259. data/vendor/assets/stylesheets/bastion/font-awesome/less/mixins.less +48 -0
  260. data/vendor/assets/stylesheets/bastion/font-awesome/less/path.less +14 -0
  261. data/vendor/assets/stylesheets/bastion/font-awesome/less/variables.less +735 -0
  262. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_bootstrap.scss +84 -0
  263. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_core.scss +129 -0
  264. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_extras.scss +93 -0
  265. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_icons.scss +381 -0
  266. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_mixins.scss +48 -0
  267. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_path.scss +14 -0
  268. data/vendor/assets/stylesheets/bastion/font-awesome/scss/_variables.scss +734 -0
  269. data/vendor/assets/stylesheets/bastion/font-awesome/scss/font-awesome-ie7.scss +1953 -0
  270. data/vendor/assets/stylesheets/bastion/font-awesome/scss/font-awesome.scss +33 -0
  271. data/vendor/assets/stylesheets/bastion/rcue/buttons.less +44 -0
  272. data/vendor/assets/stylesheets/bastion/rcue/fonts.less +52 -0
  273. data/vendor/assets/stylesheets/bastion/rcue/forms.less +19 -0
  274. data/vendor/assets/stylesheets/bastion/rcue/mixins.less +50 -0
  275. data/vendor/assets/stylesheets/bastion/rcue/navbar.less +481 -0
  276. data/vendor/assets/stylesheets/bastion/rcue/rcue.less +15 -0
  277. data/vendor/assets/stylesheets/bastion/rcue/variables.less +47 -0
  278. 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,3 @@
1
+ @listhover_color: rgb(0, 153, 211);
2
+ @label-color: #000;
3
+ @border_color: #d7d7d7;
@@ -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" %>
@@ -0,0 +1,5 @@
1
+ <% content_for(:head) do %>
2
+ <base href="/bastion"/>
3
+ <% end %>
4
+
5
+ <%= render file: "bastion/layouts/application" %>
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
+ }