tb_core 0.9.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (341) hide show
  1. checksums.yaml +15 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.markdown +60 -0
  4. data/Rakefile +28 -0
  5. data/app/assets/images/back_disabled.jpg +0 -0
  6. data/app/assets/images/back_enabled.jpg +0 -0
  7. data/app/assets/images/favicon.ico +0 -0
  8. data/app/assets/images/forward_disabled.jpg +0 -0
  9. data/app/assets/images/forward_enabled.jpg +0 -0
  10. data/app/assets/images/sort_asc.png +0 -0
  11. data/app/assets/images/sort_asc_disabled.png +0 -0
  12. data/app/assets/images/sort_both.png +0 -0
  13. data/app/assets/images/sort_desc.png +0 -0
  14. data/app/assets/images/sort_desc_disabled.png +0 -0
  15. data/app/assets/images/spud/admin/down_arrow.gif +0 -0
  16. data/app/assets/images/spud/admin/flick/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  17. data/app/assets/images/spud/admin/flick/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  18. data/app/assets/images/spud/admin/flick/ui-bg_flat_55_ffffff_40x100.png +0 -0
  19. data/app/assets/images/spud/admin/flick/ui-bg_flat_75_ffffff_40x100.png +0 -0
  20. data/app/assets/images/spud/admin/flick/ui-bg_glass_65_ffffff_1x400.png +0 -0
  21. data/app/assets/images/spud/admin/flick/ui-bg_highlight-soft_100_f6f6f6_1x100.png +0 -0
  22. data/app/assets/images/spud/admin/flick/ui-bg_highlight-soft_25_0073ea_1x100.png +0 -0
  23. data/app/assets/images/spud/admin/flick/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
  24. data/app/assets/images/spud/admin/flick/ui-icons_0073ea_256x240.png +0 -0
  25. data/app/assets/images/spud/admin/flick/ui-icons_454545_256x240.png +0 -0
  26. data/app/assets/images/spud/admin/flick/ui-icons_666666_256x240.png +0 -0
  27. data/app/assets/images/spud/admin/flick/ui-icons_ff0084_256x240.png +0 -0
  28. data/app/assets/images/spud/admin/flick/ui-icons_ffffff_256x240.png +0 -0
  29. data/app/assets/images/spud/admin/spud_logo.png +0 -0
  30. data/app/assets/images/spud/admin/spud_logo@2x.png +0 -0
  31. data/app/assets/images/spud/admin/up_arrow.gif +0 -0
  32. data/app/assets/images/spud/admin/users_thumb.png +0 -0
  33. data/app/assets/javascripts/spud/admin/application.js +133 -0
  34. data/app/assets/javascripts/spud/admin/dashboard.js +80 -0
  35. data/app/assets/javascripts/spud/admin/date_picker.js +56 -0
  36. data/app/assets/javascripts/spud/admin/editor.js +167 -0
  37. data/app/assets/javascripts/spud/admin/jquery.dataTables.min.js +151 -0
  38. data/app/assets/javascripts/spud/admin/preinit.js +1 -0
  39. data/app/assets/javascripts/spud/password_resets.js +2 -0
  40. data/app/assets/libs/bootstrap/css/bootstrap-responsive.css +1088 -0
  41. data/app/assets/libs/bootstrap/css/bootstrap.css +5893 -0
  42. data/app/assets/libs/bootstrap/img/glyphicons-halflings-white.png +0 -0
  43. data/app/assets/libs/bootstrap/img/glyphicons-halflings.png +0 -0
  44. data/app/assets/libs/bootstrap/js/bootstrap.js +2025 -0
  45. data/app/assets/libs/datepicker/css/datepicker.css +223 -0
  46. data/app/assets/libs/datepicker/js/bootstrap-datepicker.js +779 -0
  47. data/app/assets/libs/datepicker/less/datepicker.less +122 -0
  48. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  49. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_flat_0_eeeeee_40x100.png +0 -0
  50. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_flat_55_ffffff_40x100.png +0 -0
  51. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  52. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  53. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_highlight-soft_100_f6f6f6_1x100.png +0 -0
  54. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_highlight-soft_25_0073ea_1x100.png +0 -0
  55. data/app/assets/libs/jquery-ui/css/flick/images/ui-bg_highlight-soft_50_dddddd_1x100.png +0 -0
  56. data/app/assets/libs/jquery-ui/css/flick/images/ui-icons_0073ea_256x240.png +0 -0
  57. data/app/assets/libs/jquery-ui/css/flick/images/ui-icons_454545_256x240.png +0 -0
  58. data/app/assets/libs/jquery-ui/css/flick/images/ui-icons_666666_256x240.png +0 -0
  59. data/app/assets/libs/jquery-ui/css/flick/images/ui-icons_ff0084_256x240.png +0 -0
  60. data/app/assets/libs/jquery-ui/css/flick/images/ui-icons_ffffff_256x240.png +0 -0
  61. data/app/assets/libs/jquery-ui/css/flick/jquery-ui-1.9.1.custom.css +297 -0
  62. data/app/assets/libs/jquery-ui/css/flick/jquery-ui-1.9.1.custom.min.css +5 -0
  63. data/app/assets/libs/jquery-ui/js/jquery-ui-1.9.1.custom.js +4870 -0
  64. data/app/assets/libs/jquery-ui/js/jquery-ui-1.9.1.custom.min.js +6 -0
  65. data/app/assets/libs/tiny_mce/jquery.tinymce.js +1 -0
  66. data/app/assets/libs/tiny_mce/langs/en.js +1 -0
  67. data/app/assets/libs/tiny_mce/license.txt +504 -0
  68. data/app/assets/libs/tiny_mce/plugins/advhr/css/advhr.css +5 -0
  69. data/app/assets/libs/tiny_mce/plugins/advhr/editor_plugin.js +1 -0
  70. data/app/assets/libs/tiny_mce/plugins/advhr/editor_plugin_src.js +57 -0
  71. data/app/assets/libs/tiny_mce/plugins/advhr/js/rule.js +43 -0
  72. data/app/assets/libs/tiny_mce/plugins/advhr/langs/en_dlg.js +1 -0
  73. data/app/assets/libs/tiny_mce/plugins/advhr/rule.htm +58 -0
  74. data/app/assets/libs/tiny_mce/plugins/advimage/css/advimage.css +13 -0
  75. data/app/assets/libs/tiny_mce/plugins/advimage/editor_plugin.js +1 -0
  76. data/app/assets/libs/tiny_mce/plugins/advimage/editor_plugin_src.js +50 -0
  77. data/app/assets/libs/tiny_mce/plugins/advimage/image.htm +235 -0
  78. data/app/assets/libs/tiny_mce/plugins/advimage/img/sample.gif +0 -0
  79. data/app/assets/libs/tiny_mce/plugins/advimage/js/image.js +462 -0
  80. data/app/assets/libs/tiny_mce/plugins/advimage/langs/en_dlg.js +1 -0
  81. data/app/assets/libs/tiny_mce/plugins/advlink/css/advlink.css +8 -0
  82. data/app/assets/libs/tiny_mce/plugins/advlink/editor_plugin.js +1 -0
  83. data/app/assets/libs/tiny_mce/plugins/advlink/editor_plugin_src.js +61 -0
  84. data/app/assets/libs/tiny_mce/plugins/advlink/js/advlink.js +539 -0
  85. data/app/assets/libs/tiny_mce/plugins/advlink/langs/en_dlg.js +1 -0
  86. data/app/assets/libs/tiny_mce/plugins/advlink/link.htm +338 -0
  87. data/app/assets/libs/tiny_mce/plugins/advlist/editor_plugin.js +1 -0
  88. data/app/assets/libs/tiny_mce/plugins/advlist/editor_plugin_src.js +176 -0
  89. data/app/assets/libs/tiny_mce/plugins/autolink/editor_plugin.js +1 -0
  90. data/app/assets/libs/tiny_mce/plugins/autolink/editor_plugin_src.js +174 -0
  91. data/app/assets/libs/tiny_mce/plugins/autoresize/editor_plugin.js +1 -0
  92. data/app/assets/libs/tiny_mce/plugins/autoresize/editor_plugin_src.js +119 -0
  93. data/app/assets/libs/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -0
  94. data/app/assets/libs/tiny_mce/plugins/contextmenu/editor_plugin_src.js +161 -0
  95. data/app/assets/libs/tiny_mce/plugins/directionality/editor_plugin.js +1 -0
  96. data/app/assets/libs/tiny_mce/plugins/directionality/editor_plugin_src.js +82 -0
  97. data/app/assets/libs/tiny_mce/plugins/example/dialog.htm +22 -0
  98. data/app/assets/libs/tiny_mce/plugins/example/editor_plugin.js +1 -0
  99. data/app/assets/libs/tiny_mce/plugins/example/editor_plugin_src.js +84 -0
  100. data/app/assets/libs/tiny_mce/plugins/example/img/example.gif +0 -0
  101. data/app/assets/libs/tiny_mce/plugins/example/js/dialog.js +19 -0
  102. data/app/assets/libs/tiny_mce/plugins/example/langs/en.js +3 -0
  103. data/app/assets/libs/tiny_mce/plugins/example/langs/en_dlg.js +3 -0
  104. data/app/assets/libs/tiny_mce/plugins/example_dependency/editor_plugin.js +1 -0
  105. data/app/assets/libs/tiny_mce/plugins/example_dependency/editor_plugin_src.js +50 -0
  106. data/app/assets/libs/tiny_mce/plugins/iespell/editor_plugin.js +1 -0
  107. data/app/assets/libs/tiny_mce/plugins/iespell/editor_plugin_src.js +54 -0
  108. data/app/assets/libs/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
  109. data/app/assets/libs/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +699 -0
  110. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  111. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  112. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  113. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  114. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  115. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  116. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  117. data/app/assets/libs/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +90 -0
  118. data/app/assets/libs/tiny_mce/plugins/inlinepopups/template.htm +387 -0
  119. data/app/assets/libs/tiny_mce/plugins/layer/editor_plugin.js +1 -0
  120. data/app/assets/libs/tiny_mce/plugins/layer/editor_plugin_src.js +262 -0
  121. data/app/assets/libs/tiny_mce/plugins/lists/editor_plugin.js +1 -0
  122. data/app/assets/libs/tiny_mce/plugins/lists/editor_plugin_src.js +951 -0
  123. data/app/assets/libs/tiny_mce/plugins/media/css/media.css +17 -0
  124. data/app/assets/libs/tiny_mce/plugins/media/editor_plugin.js +1 -0
  125. data/app/assets/libs/tiny_mce/plugins/media/editor_plugin_src.js +890 -0
  126. data/app/assets/libs/tiny_mce/plugins/media/js/embed.js +73 -0
  127. data/app/assets/libs/tiny_mce/plugins/media/js/media.js +470 -0
  128. data/app/assets/libs/tiny_mce/plugins/media/langs/en_dlg.js +1 -0
  129. data/app/assets/libs/tiny_mce/plugins/media/media.htm +922 -0
  130. data/app/assets/libs/tiny_mce/plugins/media/moxieplayer.swf +0 -0
  131. data/app/assets/libs/tiny_mce/plugins/paste/editor_plugin.js +1 -0
  132. data/app/assets/libs/tiny_mce/plugins/paste/editor_plugin_src.js +871 -0
  133. data/app/assets/libs/tiny_mce/plugins/paste/js/pastetext.js +36 -0
  134. data/app/assets/libs/tiny_mce/plugins/paste/js/pasteword.js +51 -0
  135. data/app/assets/libs/tiny_mce/plugins/paste/langs/en_dlg.js +1 -0
  136. data/app/assets/libs/tiny_mce/plugins/paste/pastetext.htm +27 -0
  137. data/app/assets/libs/tiny_mce/plugins/paste/pasteword.htm +21 -0
  138. data/app/assets/libs/tiny_mce/plugins/spellchecker/css/content.css +1 -0
  139. data/app/assets/libs/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -0
  140. data/app/assets/libs/tiny_mce/plugins/spellchecker/editor_plugin_src.js +436 -0
  141. data/app/assets/libs/tiny_mce/plugins/spellchecker/img/wline.gif +0 -0
  142. data/app/assets/libs/tiny_mce/plugins/style/css/props.css +14 -0
  143. data/app/assets/libs/tiny_mce/plugins/style/editor_plugin.js +1 -0
  144. data/app/assets/libs/tiny_mce/plugins/style/editor_plugin_src.js +71 -0
  145. data/app/assets/libs/tiny_mce/plugins/style/js/props.js +709 -0
  146. data/app/assets/libs/tiny_mce/plugins/style/langs/en_dlg.js +1 -0
  147. data/app/assets/libs/tiny_mce/plugins/style/props.htm +845 -0
  148. data/app/assets/libs/tiny_mce/plugins/style/readme.txt +19 -0
  149. data/app/assets/libs/tiny_mce/plugins/table/cell.htm +180 -0
  150. data/app/assets/libs/tiny_mce/plugins/table/css/cell.css +17 -0
  151. data/app/assets/libs/tiny_mce/plugins/table/css/row.css +25 -0
  152. data/app/assets/libs/tiny_mce/plugins/table/css/table.css +13 -0
  153. data/app/assets/libs/tiny_mce/plugins/table/editor_plugin.js +1 -0
  154. data/app/assets/libs/tiny_mce/plugins/table/editor_plugin_src.js +1428 -0
  155. data/app/assets/libs/tiny_mce/plugins/table/js/cell.js +319 -0
  156. data/app/assets/libs/tiny_mce/plugins/table/js/merge_cells.js +27 -0
  157. data/app/assets/libs/tiny_mce/plugins/table/js/row.js +237 -0
  158. data/app/assets/libs/tiny_mce/plugins/table/js/table.js +489 -0
  159. data/app/assets/libs/tiny_mce/plugins/table/langs/en_dlg.js +1 -0
  160. data/app/assets/libs/tiny_mce/plugins/table/merge_cells.htm +32 -0
  161. data/app/assets/libs/tiny_mce/plugins/table/row.htm +158 -0
  162. data/app/assets/libs/tiny_mce/plugins/table/table.htm +188 -0
  163. data/app/assets/libs/tiny_mce/plugins/tableDropdown/editor_plugin.js +140 -0
  164. data/app/assets/libs/tiny_mce/themes/advanced/about.htm +52 -0
  165. data/app/assets/libs/tiny_mce/themes/advanced/anchor.htm +26 -0
  166. data/app/assets/libs/tiny_mce/themes/advanced/charmap.htm +55 -0
  167. data/app/assets/libs/tiny_mce/themes/advanced/color_picker.htm +70 -0
  168. data/app/assets/libs/tiny_mce/themes/advanced/editor_template.js +1 -0
  169. data/app/assets/libs/tiny_mce/themes/advanced/editor_template_src.js +1467 -0
  170. data/app/assets/libs/tiny_mce/themes/advanced/image.htm +80 -0
  171. data/app/assets/libs/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  172. data/app/assets/libs/tiny_mce/themes/advanced/img/flash.gif +0 -0
  173. data/app/assets/libs/tiny_mce/themes/advanced/img/icons.gif +0 -0
  174. data/app/assets/libs/tiny_mce/themes/advanced/img/iframe.gif +0 -0
  175. data/app/assets/libs/tiny_mce/themes/advanced/img/pagebreak.gif +0 -0
  176. data/app/assets/libs/tiny_mce/themes/advanced/img/quicktime.gif +0 -0
  177. data/app/assets/libs/tiny_mce/themes/advanced/img/realmedia.gif +0 -0
  178. data/app/assets/libs/tiny_mce/themes/advanced/img/shockwave.gif +0 -0
  179. data/app/assets/libs/tiny_mce/themes/advanced/img/trans.gif +0 -0
  180. data/app/assets/libs/tiny_mce/themes/advanced/img/video.gif +0 -0
  181. data/app/assets/libs/tiny_mce/themes/advanced/img/windowsmedia.gif +0 -0
  182. data/app/assets/libs/tiny_mce/themes/advanced/js/about.js +73 -0
  183. data/app/assets/libs/tiny_mce/themes/advanced/js/anchor.js +44 -0
  184. data/app/assets/libs/tiny_mce/themes/advanced/js/charmap.js +363 -0
  185. data/app/assets/libs/tiny_mce/themes/advanced/js/color_picker.js +345 -0
  186. data/app/assets/libs/tiny_mce/themes/advanced/js/image.js +251 -0
  187. data/app/assets/libs/tiny_mce/themes/advanced/js/link.js +153 -0
  188. data/app/assets/libs/tiny_mce/themes/advanced/js/source_editor.js +78 -0
  189. data/app/assets/libs/tiny_mce/themes/advanced/langs/en.js +1 -0
  190. data/app/assets/libs/tiny_mce/themes/advanced/langs/en_dlg.js +1 -0
  191. data/app/assets/libs/tiny_mce/themes/advanced/link.htm +57 -0
  192. data/app/assets/libs/tiny_mce/themes/advanced/shortcuts.htm +47 -0
  193. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/content.css +51 -0
  194. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/dialog.css +118 -0
  195. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  196. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  197. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  198. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  199. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  200. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  201. data/app/assets/libs/tiny_mce/themes/advanced/skins/default/ui.css +215 -0
  202. data/app/assets/libs/tiny_mce/themes/advanced/skins/highcontrast/content.css +25 -0
  203. data/app/assets/libs/tiny_mce/themes/advanced/skins/highcontrast/dialog.css +106 -0
  204. data/app/assets/libs/tiny_mce/themes/advanced/skins/highcontrast/ui.css +102 -0
  205. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/content.css +49 -0
  206. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/dialog.css +118 -0
  207. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  208. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  209. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  210. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/ui.css +218 -0
  211. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  212. data/app/assets/libs/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  213. data/app/assets/libs/tiny_mce/themes/advanced/source_editor.htm +25 -0
  214. data/app/assets/libs/tiny_mce/themes/simple/editor_template.js +1 -0
  215. data/app/assets/libs/tiny_mce/themes/simple/editor_template_src.js +84 -0
  216. data/app/assets/libs/tiny_mce/themes/simple/img/icons.gif +0 -0
  217. data/app/assets/libs/tiny_mce/themes/simple/langs/en.js +1 -0
  218. data/app/assets/libs/tiny_mce/themes/simple/skins/default/content.css +25 -0
  219. data/app/assets/libs/tiny_mce/themes/simple/skins/default/ui.css +32 -0
  220. data/app/assets/libs/tiny_mce/themes/simple/skins/o2k7/content.css +17 -0
  221. data/app/assets/libs/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  222. data/app/assets/libs/tiny_mce/themes/simple/skins/o2k7/ui.css +35 -0
  223. data/app/assets/libs/tiny_mce/tiny_mce.js +1 -0
  224. data/app/assets/libs/tiny_mce/tiny_mce_popup.js +5 -0
  225. data/app/assets/libs/tiny_mce/tiny_mce_src.js +16753 -0
  226. data/app/assets/libs/tiny_mce/utils/editable_selects.js +70 -0
  227. data/app/assets/libs/tiny_mce/utils/form_utils.js +210 -0
  228. data/app/assets/libs/tiny_mce/utils/mctabs.js +162 -0
  229. data/app/assets/libs/tiny_mce/utils/validate.js +252 -0
  230. data/app/assets/stylesheets/spud/admin/application.css +480 -0
  231. data/app/assets/stylesheets/spud/admin/jquery-ui.css +568 -0
  232. data/app/assets/stylesheets/spud/admin/settings.css +4 -0
  233. data/app/assets/stylesheets/spud/admin/users.css +4 -0
  234. data/app/assets/stylesheets/spud/forms.css +108 -0
  235. data/app/assets/stylesheets/spud/login/application.css +302 -0
  236. data/app/assets/stylesheets/spud/login.css +58 -0
  237. data/app/assets/stylesheets/spud/password_resets.css +4 -0
  238. data/app/assets/stylesheets/spud/setup.css +4 -0
  239. data/app/assets/stylesheets/spud/sitemaps.css +4 -0
  240. data/app/assets/stylesheets/spud/user_sessions.css +4 -0
  241. data/app/assets/stylesheets/spud/users.css +4 -0
  242. data/app/controllers/spud/admin/application_controller.rb +61 -0
  243. data/app/controllers/spud/admin/dashboard_controller.rb +34 -0
  244. data/app/controllers/spud/admin/users_controller.rb +109 -0
  245. data/app/controllers/spud/application_controller.rb +89 -0
  246. data/app/controllers/spud/password_resets_controller.rb +50 -0
  247. data/app/controllers/spud/setup_controller.rb +21 -0
  248. data/app/controllers/spud/sitemaps_controller.rb +8 -0
  249. data/app/controllers/spud/user_sessions_controller.rb +33 -0
  250. data/app/controllers/spud/users_controller.rb +45 -0
  251. data/app/helpers/spud/admin/application_helper.rb +54 -0
  252. data/app/helpers/spud/application_helper.rb +22 -0
  253. data/app/helpers/spud/password_resets_helper.rb +2 -0
  254. data/app/mailers/spud/core_mailer.rb +12 -0
  255. data/app/models/concerns/spud_authentication.rb +10 -0
  256. data/app/models/spud_admin_permission.rb +5 -0
  257. data/app/models/spud_user.rb +26 -0
  258. data/app/models/spud_user_session.rb +3 -0
  259. data/app/models/spud_user_setting.rb +6 -0
  260. data/app/views/layouts/spud/admin/application.html.erb +72 -0
  261. data/app/views/layouts/spud/admin/detail.html.erb +31 -0
  262. data/app/views/layouts/spud/login/application.html.erb +17 -0
  263. data/app/views/layouts/spud/setup.html.erb +47 -0
  264. data/app/views/spud/admin/dashboard/index.html.erb +18 -0
  265. data/app/views/spud/admin/users/_edit.html.erb +14 -0
  266. data/app/views/spud/admin/users/_form.html.erb +90 -0
  267. data/app/views/spud/admin/users/_new.html.erb +15 -0
  268. data/app/views/spud/admin/users/edit.html.erb +3 -0
  269. data/app/views/spud/admin/users/index.html.erb +42 -0
  270. data/app/views/spud/admin/users/new.html.erb +3 -0
  271. data/app/views/spud/admin/users/show.html.erb +12 -0
  272. data/app/views/spud/core_mailer/forgot_password_notification.html.erb +14 -0
  273. data/app/views/spud/core_mailer/forgot_password_notification.text.erb +10 -0
  274. data/app/views/spud/password_resets/edit.html.erb +25 -0
  275. data/app/views/spud/password_resets/new.html.erb +14 -0
  276. data/app/views/spud/setup/index.html.erb +43 -0
  277. data/app/views/spud/sitemaps/show.xml.builder +12 -0
  278. data/app/views/spud/user_sessions/new.html.erb +27 -0
  279. data/app/views/spud/users/_form.html.erb +60 -0
  280. data/app/views/spud/users/settings.html.erb +12 -0
  281. data/config/routes.rb +18 -0
  282. data/db/migrate/20111214161011_create_spud_admin_permissions.rb +11 -0
  283. data/db/migrate/20111214161146_create_spud_users.rb +29 -0
  284. data/db/migrate/20120327124229_add_time_zone_to_spud_user.rb +6 -0
  285. data/db/migrate/20120328235431_add_scope_to_spud_admin_permissions.rb +6 -0
  286. data/db/migrate/20120329174000_create_spud_user_settings.rb +11 -0
  287. data/lib/spud_core/belongs_to_app.rb +59 -0
  288. data/lib/spud_core/configuration.rb +58 -0
  289. data/lib/spud_core/engine.rb +55 -0
  290. data/lib/spud_core/searchable.rb +11 -0
  291. data/lib/spud_core/test_files.rb +25 -0
  292. data/lib/spud_core/version.rb +5 -0
  293. data/lib/tasks/spud_core_tasks.rake +4 -0
  294. data/lib/tb_core.rb +6 -0
  295. data/spec/controllers/spud/admin/application_controller_spec.rb +49 -0
  296. data/spec/controllers/spud/admin/dashboard_controller_spec.rb +129 -0
  297. data/spec/controllers/spud/admin/users_controller_spec.rb +194 -0
  298. data/spec/controllers/spud/application_controller_spec.rb +6 -0
  299. data/spec/controllers/spud/password_reset_controller_spec.rb +93 -0
  300. data/spec/controllers/spud/setup_controller_spec.rb +56 -0
  301. data/spec/controllers/spud/sitemap_controllers_spec.rb +20 -0
  302. data/spec/controllers/spud/user_sessions_controller_spec.rb +51 -0
  303. data/spec/controllers/spud/users_controller_spec.rb +69 -0
  304. data/spec/dummy/README.rdoc +261 -0
  305. data/spec/dummy/Rakefile +7 -0
  306. data/spec/dummy/app/assets/javascripts/application.js +15 -0
  307. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  308. data/spec/dummy/app/controllers/application_controller.rb +3 -0
  309. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  310. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  311. data/spec/dummy/config/application.rb +58 -0
  312. data/spec/dummy/config/boot.rb +10 -0
  313. data/spec/dummy/config/database.yml +15 -0
  314. data/spec/dummy/config/environment.rb +5 -0
  315. data/spec/dummy/config/environments/development.rb +37 -0
  316. data/spec/dummy/config/environments/production.rb +67 -0
  317. data/spec/dummy/config/environments/test.rb +37 -0
  318. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  319. data/spec/dummy/config/initializers/inflections.rb +15 -0
  320. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  321. data/spec/dummy/config/initializers/secret_token.rb +7 -0
  322. data/spec/dummy/config/initializers/session_store.rb +8 -0
  323. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  324. data/spec/dummy/config/locales/en.yml +5 -0
  325. data/spec/dummy/config/routes.rb +5 -0
  326. data/spec/dummy/config.ru +4 -0
  327. data/spec/dummy/db/schema.rb +59 -0
  328. data/spec/dummy/log/development.log +39 -0
  329. data/spec/dummy/log/test.log +37811 -0
  330. data/spec/dummy/public/404.html +26 -0
  331. data/spec/dummy/public/422.html +26 -0
  332. data/spec/dummy/public/500.html +25 -0
  333. data/spec/dummy/public/favicon.ico +0 -0
  334. data/spec/dummy/script/rails +6 -0
  335. data/spec/helpers/spud/admin/application_helper_spec.rb +150 -0
  336. data/spec/helpers/spud/application_helper_spec.rb +66 -0
  337. data/spec/lib/spud_core/configuration_spec.rb +34 -0
  338. data/spec/models/spud_user_spec.rb +27 -0
  339. data/spec/spec_helper.rb +40 -0
  340. data/spec/support/authlogic_helper.rb +2 -0
  341. metadata +652 -0
@@ -0,0 +1,1088 @@
1
+ /*!
2
+ * Bootstrap Responsive v2.2.1
3
+ *
4
+ * Copyright 2012 Twitter, Inc
5
+ * Licensed under the Apache License v2.0
6
+ * http://www.apache.org/licenses/LICENSE-2.0
7
+ *
8
+ * Designed and built with all the love in the world @twitter by @mdo and @fat.
9
+ */
10
+
11
+ .clearfix {
12
+ *zoom: 1;
13
+ }
14
+
15
+ .clearfix:before,
16
+ .clearfix:after {
17
+ display: table;
18
+ line-height: 0;
19
+ content: "";
20
+ }
21
+
22
+ .clearfix:after {
23
+ clear: both;
24
+ }
25
+
26
+ .hide-text {
27
+ font: 0/0 a;
28
+ color: transparent;
29
+ text-shadow: none;
30
+ background-color: transparent;
31
+ border: 0;
32
+ }
33
+
34
+ .input-block-level {
35
+ display: block;
36
+ width: 100%;
37
+ min-height: 30px;
38
+ -webkit-box-sizing: border-box;
39
+ -moz-box-sizing: border-box;
40
+ box-sizing: border-box;
41
+ }
42
+
43
+ .hidden {
44
+ display: none;
45
+ visibility: hidden;
46
+ }
47
+
48
+ .visible-phone {
49
+ display: none !important;
50
+ }
51
+
52
+ .visible-tablet {
53
+ display: none !important;
54
+ }
55
+
56
+ .hidden-desktop {
57
+ display: none !important;
58
+ }
59
+
60
+ .visible-desktop {
61
+ display: inherit !important;
62
+ }
63
+
64
+ @media (min-width: 768px) and (max-width: 979px) {
65
+ .hidden-desktop {
66
+ display: inherit !important;
67
+ }
68
+ .visible-desktop {
69
+ display: none !important ;
70
+ }
71
+ .visible-tablet {
72
+ display: inherit !important;
73
+ }
74
+ .hidden-tablet {
75
+ display: none !important;
76
+ }
77
+ }
78
+
79
+ @media (max-width: 767px) {
80
+ .hidden-desktop {
81
+ display: inherit !important;
82
+ }
83
+ .visible-desktop {
84
+ display: none !important;
85
+ }
86
+ .visible-phone {
87
+ display: inherit !important;
88
+ }
89
+ .hidden-phone {
90
+ display: none !important;
91
+ }
92
+ }
93
+
94
+ @media (min-width: 1200px) {
95
+ .row {
96
+ margin-left: -30px;
97
+ *zoom: 1;
98
+ }
99
+ .row:before,
100
+ .row:after {
101
+ display: table;
102
+ line-height: 0;
103
+ content: "";
104
+ }
105
+ .row:after {
106
+ clear: both;
107
+ }
108
+ [class*="span"] {
109
+ float: left;
110
+ min-height: 1px;
111
+ margin-left: 30px;
112
+ }
113
+ .container,
114
+ .navbar-static-top .container,
115
+ .navbar-fixed-top .container,
116
+ .navbar-fixed-bottom .container {
117
+ width: 1170px;
118
+ }
119
+ .span12 {
120
+ width: 1170px;
121
+ }
122
+ .span11 {
123
+ width: 1070px;
124
+ }
125
+ .span10 {
126
+ width: 970px;
127
+ }
128
+ .span9 {
129
+ width: 870px;
130
+ }
131
+ .span8 {
132
+ width: 770px;
133
+ }
134
+ .span7 {
135
+ width: 670px;
136
+ }
137
+ .span6 {
138
+ width: 570px;
139
+ }
140
+ .span5 {
141
+ width: 470px;
142
+ }
143
+ .span4 {
144
+ width: 370px;
145
+ }
146
+ .span3 {
147
+ width: 270px;
148
+ }
149
+ .span2 {
150
+ width: 170px;
151
+ }
152
+ .span1 {
153
+ width: 70px;
154
+ }
155
+ .offset12 {
156
+ margin-left: 1230px;
157
+ }
158
+ .offset11 {
159
+ margin-left: 1130px;
160
+ }
161
+ .offset10 {
162
+ margin-left: 1030px;
163
+ }
164
+ .offset9 {
165
+ margin-left: 930px;
166
+ }
167
+ .offset8 {
168
+ margin-left: 830px;
169
+ }
170
+ .offset7 {
171
+ margin-left: 730px;
172
+ }
173
+ .offset6 {
174
+ margin-left: 630px;
175
+ }
176
+ .offset5 {
177
+ margin-left: 530px;
178
+ }
179
+ .offset4 {
180
+ margin-left: 430px;
181
+ }
182
+ .offset3 {
183
+ margin-left: 330px;
184
+ }
185
+ .offset2 {
186
+ margin-left: 230px;
187
+ }
188
+ .offset1 {
189
+ margin-left: 130px;
190
+ }
191
+ .row-fluid {
192
+ width: 100%;
193
+ *zoom: 1;
194
+ }
195
+ .row-fluid:before,
196
+ .row-fluid:after {
197
+ display: table;
198
+ line-height: 0;
199
+ content: "";
200
+ }
201
+ .row-fluid:after {
202
+ clear: both;
203
+ }
204
+ .row-fluid [class*="span"] {
205
+ display: block;
206
+ float: left;
207
+ width: 100%;
208
+ min-height: 30px;
209
+ margin-left: 2.564102564102564%;
210
+ *margin-left: 2.5109110747408616%;
211
+ -webkit-box-sizing: border-box;
212
+ -moz-box-sizing: border-box;
213
+ box-sizing: border-box;
214
+ }
215
+ .row-fluid [class*="span"]:first-child {
216
+ margin-left: 0;
217
+ }
218
+ .row-fluid .controls-row [class*="span"] + [class*="span"] {
219
+ margin-left: 2.564102564102564%;
220
+ }
221
+ .row-fluid .span12 {
222
+ width: 100%;
223
+ *width: 99.94680851063829%;
224
+ }
225
+ .row-fluid .span11 {
226
+ width: 91.45299145299145%;
227
+ *width: 91.39979996362975%;
228
+ }
229
+ .row-fluid .span10 {
230
+ width: 82.90598290598291%;
231
+ *width: 82.8527914166212%;
232
+ }
233
+ .row-fluid .span9 {
234
+ width: 74.35897435897436%;
235
+ *width: 74.30578286961266%;
236
+ }
237
+ .row-fluid .span8 {
238
+ width: 65.81196581196582%;
239
+ *width: 65.75877432260411%;
240
+ }
241
+ .row-fluid .span7 {
242
+ width: 57.26495726495726%;
243
+ *width: 57.21176577559556%;
244
+ }
245
+ .row-fluid .span6 {
246
+ width: 48.717948717948715%;
247
+ *width: 48.664757228587014%;
248
+ }
249
+ .row-fluid .span5 {
250
+ width: 40.17094017094017%;
251
+ *width: 40.11774868157847%;
252
+ }
253
+ .row-fluid .span4 {
254
+ width: 31.623931623931625%;
255
+ *width: 31.570740134569924%;
256
+ }
257
+ .row-fluid .span3 {
258
+ width: 23.076923076923077%;
259
+ *width: 23.023731587561375%;
260
+ }
261
+ .row-fluid .span2 {
262
+ width: 14.52991452991453%;
263
+ *width: 14.476723040552828%;
264
+ }
265
+ .row-fluid .span1 {
266
+ width: 5.982905982905983%;
267
+ *width: 5.929714493544281%;
268
+ }
269
+ .row-fluid .offset12 {
270
+ margin-left: 105.12820512820512%;
271
+ *margin-left: 105.02182214948171%;
272
+ }
273
+ .row-fluid .offset12:first-child {
274
+ margin-left: 102.56410256410257%;
275
+ *margin-left: 102.45771958537915%;
276
+ }
277
+ .row-fluid .offset11 {
278
+ margin-left: 96.58119658119658%;
279
+ *margin-left: 96.47481360247316%;
280
+ }
281
+ .row-fluid .offset11:first-child {
282
+ margin-left: 94.01709401709402%;
283
+ *margin-left: 93.91071103837061%;
284
+ }
285
+ .row-fluid .offset10 {
286
+ margin-left: 88.03418803418803%;
287
+ *margin-left: 87.92780505546462%;
288
+ }
289
+ .row-fluid .offset10:first-child {
290
+ margin-left: 85.47008547008548%;
291
+ *margin-left: 85.36370249136206%;
292
+ }
293
+ .row-fluid .offset9 {
294
+ margin-left: 79.48717948717949%;
295
+ *margin-left: 79.38079650845607%;
296
+ }
297
+ .row-fluid .offset9:first-child {
298
+ margin-left: 76.92307692307693%;
299
+ *margin-left: 76.81669394435352%;
300
+ }
301
+ .row-fluid .offset8 {
302
+ margin-left: 70.94017094017094%;
303
+ *margin-left: 70.83378796144753%;
304
+ }
305
+ .row-fluid .offset8:first-child {
306
+ margin-left: 68.37606837606839%;
307
+ *margin-left: 68.26968539734497%;
308
+ }
309
+ .row-fluid .offset7 {
310
+ margin-left: 62.393162393162385%;
311
+ *margin-left: 62.28677941443899%;
312
+ }
313
+ .row-fluid .offset7:first-child {
314
+ margin-left: 59.82905982905982%;
315
+ *margin-left: 59.72267685033642%;
316
+ }
317
+ .row-fluid .offset6 {
318
+ margin-left: 53.84615384615384%;
319
+ *margin-left: 53.739770867430444%;
320
+ }
321
+ .row-fluid .offset6:first-child {
322
+ margin-left: 51.28205128205128%;
323
+ *margin-left: 51.175668303327875%;
324
+ }
325
+ .row-fluid .offset5 {
326
+ margin-left: 45.299145299145295%;
327
+ *margin-left: 45.1927623204219%;
328
+ }
329
+ .row-fluid .offset5:first-child {
330
+ margin-left: 42.73504273504273%;
331
+ *margin-left: 42.62865975631933%;
332
+ }
333
+ .row-fluid .offset4 {
334
+ margin-left: 36.75213675213675%;
335
+ *margin-left: 36.645753773413354%;
336
+ }
337
+ .row-fluid .offset4:first-child {
338
+ margin-left: 34.18803418803419%;
339
+ *margin-left: 34.081651209310785%;
340
+ }
341
+ .row-fluid .offset3 {
342
+ margin-left: 28.205128205128204%;
343
+ *margin-left: 28.0987452264048%;
344
+ }
345
+ .row-fluid .offset3:first-child {
346
+ margin-left: 25.641025641025642%;
347
+ *margin-left: 25.53464266230224%;
348
+ }
349
+ .row-fluid .offset2 {
350
+ margin-left: 19.65811965811966%;
351
+ *margin-left: 19.551736679396257%;
352
+ }
353
+ .row-fluid .offset2:first-child {
354
+ margin-left: 17.094017094017094%;
355
+ *margin-left: 16.98763411529369%;
356
+ }
357
+ .row-fluid .offset1 {
358
+ margin-left: 11.11111111111111%;
359
+ *margin-left: 11.004728132387708%;
360
+ }
361
+ .row-fluid .offset1:first-child {
362
+ margin-left: 8.547008547008547%;
363
+ *margin-left: 8.440625568285142%;
364
+ }
365
+ input,
366
+ textarea,
367
+ .uneditable-input {
368
+ margin-left: 0;
369
+ }
370
+ .controls-row [class*="span"] + [class*="span"] {
371
+ margin-left: 30px;
372
+ }
373
+ input.span12,
374
+ textarea.span12,
375
+ .uneditable-input.span12 {
376
+ width: 1156px;
377
+ }
378
+ input.span11,
379
+ textarea.span11,
380
+ .uneditable-input.span11 {
381
+ width: 1056px;
382
+ }
383
+ input.span10,
384
+ textarea.span10,
385
+ .uneditable-input.span10 {
386
+ width: 956px;
387
+ }
388
+ input.span9,
389
+ textarea.span9,
390
+ .uneditable-input.span9 {
391
+ width: 856px;
392
+ }
393
+ input.span8,
394
+ textarea.span8,
395
+ .uneditable-input.span8 {
396
+ width: 756px;
397
+ }
398
+ input.span7,
399
+ textarea.span7,
400
+ .uneditable-input.span7 {
401
+ width: 656px;
402
+ }
403
+ input.span6,
404
+ textarea.span6,
405
+ .uneditable-input.span6 {
406
+ width: 556px;
407
+ }
408
+ input.span5,
409
+ textarea.span5,
410
+ .uneditable-input.span5 {
411
+ width: 456px;
412
+ }
413
+ input.span4,
414
+ textarea.span4,
415
+ .uneditable-input.span4 {
416
+ width: 356px;
417
+ }
418
+ input.span3,
419
+ textarea.span3,
420
+ .uneditable-input.span3 {
421
+ width: 256px;
422
+ }
423
+ input.span2,
424
+ textarea.span2,
425
+ .uneditable-input.span2 {
426
+ width: 156px;
427
+ }
428
+ input.span1,
429
+ textarea.span1,
430
+ .uneditable-input.span1 {
431
+ width: 56px;
432
+ }
433
+ .thumbnails {
434
+ margin-left: -30px;
435
+ }
436
+ .thumbnails > li {
437
+ margin-left: 30px;
438
+ }
439
+ .row-fluid .thumbnails {
440
+ margin-left: 0;
441
+ }
442
+ }
443
+
444
+ @media (min-width: 768px) and (max-width: 979px) {
445
+ .row {
446
+ margin-left: -20px;
447
+ *zoom: 1;
448
+ }
449
+ .row:before,
450
+ .row:after {
451
+ display: table;
452
+ line-height: 0;
453
+ content: "";
454
+ }
455
+ .row:after {
456
+ clear: both;
457
+ }
458
+ [class*="span"] {
459
+ float: left;
460
+ min-height: 1px;
461
+ margin-left: 20px;
462
+ }
463
+ .container,
464
+ .navbar-static-top .container,
465
+ .navbar-fixed-top .container,
466
+ .navbar-fixed-bottom .container {
467
+ width: 724px;
468
+ }
469
+ .span12 {
470
+ width: 724px;
471
+ }
472
+ .span11 {
473
+ width: 662px;
474
+ }
475
+ .span10 {
476
+ width: 600px;
477
+ }
478
+ .span9 {
479
+ width: 538px;
480
+ }
481
+ .span8 {
482
+ width: 476px;
483
+ }
484
+ .span7 {
485
+ width: 414px;
486
+ }
487
+ .span6 {
488
+ width: 352px;
489
+ }
490
+ .span5 {
491
+ width: 290px;
492
+ }
493
+ .span4 {
494
+ width: 228px;
495
+ }
496
+ .span3 {
497
+ width: 166px;
498
+ }
499
+ .span2 {
500
+ width: 104px;
501
+ }
502
+ .span1 {
503
+ width: 42px;
504
+ }
505
+ .offset12 {
506
+ margin-left: 764px;
507
+ }
508
+ .offset11 {
509
+ margin-left: 702px;
510
+ }
511
+ .offset10 {
512
+ margin-left: 640px;
513
+ }
514
+ .offset9 {
515
+ margin-left: 578px;
516
+ }
517
+ .offset8 {
518
+ margin-left: 516px;
519
+ }
520
+ .offset7 {
521
+ margin-left: 454px;
522
+ }
523
+ .offset6 {
524
+ margin-left: 392px;
525
+ }
526
+ .offset5 {
527
+ margin-left: 330px;
528
+ }
529
+ .offset4 {
530
+ margin-left: 268px;
531
+ }
532
+ .offset3 {
533
+ margin-left: 206px;
534
+ }
535
+ .offset2 {
536
+ margin-left: 144px;
537
+ }
538
+ .offset1 {
539
+ margin-left: 82px;
540
+ }
541
+ .row-fluid {
542
+ width: 100%;
543
+ *zoom: 1;
544
+ }
545
+ .row-fluid:before,
546
+ .row-fluid:after {
547
+ display: table;
548
+ line-height: 0;
549
+ content: "";
550
+ }
551
+ .row-fluid:after {
552
+ clear: both;
553
+ }
554
+ .row-fluid [class*="span"] {
555
+ display: block;
556
+ float: left;
557
+ width: 100%;
558
+ min-height: 30px;
559
+ margin-left: 2.7624309392265194%;
560
+ *margin-left: 2.709239449864817%;
561
+ -webkit-box-sizing: border-box;
562
+ -moz-box-sizing: border-box;
563
+ box-sizing: border-box;
564
+ }
565
+ .row-fluid [class*="span"]:first-child {
566
+ margin-left: 0;
567
+ }
568
+ .row-fluid .controls-row [class*="span"] + [class*="span"] {
569
+ margin-left: 2.7624309392265194%;
570
+ }
571
+ .row-fluid .span12 {
572
+ width: 100%;
573
+ *width: 99.94680851063829%;
574
+ }
575
+ .row-fluid .span11 {
576
+ width: 91.43646408839778%;
577
+ *width: 91.38327259903608%;
578
+ }
579
+ .row-fluid .span10 {
580
+ width: 82.87292817679558%;
581
+ *width: 82.81973668743387%;
582
+ }
583
+ .row-fluid .span9 {
584
+ width: 74.30939226519337%;
585
+ *width: 74.25620077583166%;
586
+ }
587
+ .row-fluid .span8 {
588
+ width: 65.74585635359117%;
589
+ *width: 65.69266486422946%;
590
+ }
591
+ .row-fluid .span7 {
592
+ width: 57.18232044198895%;
593
+ *width: 57.12912895262725%;
594
+ }
595
+ .row-fluid .span6 {
596
+ width: 48.61878453038674%;
597
+ *width: 48.56559304102504%;
598
+ }
599
+ .row-fluid .span5 {
600
+ width: 40.05524861878453%;
601
+ *width: 40.00205712942283%;
602
+ }
603
+ .row-fluid .span4 {
604
+ width: 31.491712707182323%;
605
+ *width: 31.43852121782062%;
606
+ }
607
+ .row-fluid .span3 {
608
+ width: 22.92817679558011%;
609
+ *width: 22.87498530621841%;
610
+ }
611
+ .row-fluid .span2 {
612
+ width: 14.3646408839779%;
613
+ *width: 14.311449394616199%;
614
+ }
615
+ .row-fluid .span1 {
616
+ width: 5.801104972375691%;
617
+ *width: 5.747913483013988%;
618
+ }
619
+ .row-fluid .offset12 {
620
+ margin-left: 105.52486187845304%;
621
+ *margin-left: 105.41847889972962%;
622
+ }
623
+ .row-fluid .offset12:first-child {
624
+ margin-left: 102.76243093922652%;
625
+ *margin-left: 102.6560479605031%;
626
+ }
627
+ .row-fluid .offset11 {
628
+ margin-left: 96.96132596685082%;
629
+ *margin-left: 96.8549429881274%;
630
+ }
631
+ .row-fluid .offset11:first-child {
632
+ margin-left: 94.1988950276243%;
633
+ *margin-left: 94.09251204890089%;
634
+ }
635
+ .row-fluid .offset10 {
636
+ margin-left: 88.39779005524862%;
637
+ *margin-left: 88.2914070765252%;
638
+ }
639
+ .row-fluid .offset10:first-child {
640
+ margin-left: 85.6353591160221%;
641
+ *margin-left: 85.52897613729868%;
642
+ }
643
+ .row-fluid .offset9 {
644
+ margin-left: 79.8342541436464%;
645
+ *margin-left: 79.72787116492299%;
646
+ }
647
+ .row-fluid .offset9:first-child {
648
+ margin-left: 77.07182320441989%;
649
+ *margin-left: 76.96544022569647%;
650
+ }
651
+ .row-fluid .offset8 {
652
+ margin-left: 71.2707182320442%;
653
+ *margin-left: 71.16433525332079%;
654
+ }
655
+ .row-fluid .offset8:first-child {
656
+ margin-left: 68.50828729281768%;
657
+ *margin-left: 68.40190431409427%;
658
+ }
659
+ .row-fluid .offset7 {
660
+ margin-left: 62.70718232044199%;
661
+ *margin-left: 62.600799341718584%;
662
+ }
663
+ .row-fluid .offset7:first-child {
664
+ margin-left: 59.94475138121547%;
665
+ *margin-left: 59.838368402492065%;
666
+ }
667
+ .row-fluid .offset6 {
668
+ margin-left: 54.14364640883978%;
669
+ *margin-left: 54.037263430116376%;
670
+ }
671
+ .row-fluid .offset6:first-child {
672
+ margin-left: 51.38121546961326%;
673
+ *margin-left: 51.27483249088986%;
674
+ }
675
+ .row-fluid .offset5 {
676
+ margin-left: 45.58011049723757%;
677
+ *margin-left: 45.47372751851417%;
678
+ }
679
+ .row-fluid .offset5:first-child {
680
+ margin-left: 42.81767955801105%;
681
+ *margin-left: 42.71129657928765%;
682
+ }
683
+ .row-fluid .offset4 {
684
+ margin-left: 37.01657458563536%;
685
+ *margin-left: 36.91019160691196%;
686
+ }
687
+ .row-fluid .offset4:first-child {
688
+ margin-left: 34.25414364640884%;
689
+ *margin-left: 34.14776066768544%;
690
+ }
691
+ .row-fluid .offset3 {
692
+ margin-left: 28.45303867403315%;
693
+ *margin-left: 28.346655695309746%;
694
+ }
695
+ .row-fluid .offset3:first-child {
696
+ margin-left: 25.69060773480663%;
697
+ *margin-left: 25.584224756083227%;
698
+ }
699
+ .row-fluid .offset2 {
700
+ margin-left: 19.88950276243094%;
701
+ *margin-left: 19.783119783707537%;
702
+ }
703
+ .row-fluid .offset2:first-child {
704
+ margin-left: 17.12707182320442%;
705
+ *margin-left: 17.02068884448102%;
706
+ }
707
+ .row-fluid .offset1 {
708
+ margin-left: 11.32596685082873%;
709
+ *margin-left: 11.219583872105325%;
710
+ }
711
+ .row-fluid .offset1:first-child {
712
+ margin-left: 8.56353591160221%;
713
+ *margin-left: 8.457152932878806%;
714
+ }
715
+ input,
716
+ textarea,
717
+ .uneditable-input {
718
+ margin-left: 0;
719
+ }
720
+ .controls-row [class*="span"] + [class*="span"] {
721
+ margin-left: 20px;
722
+ }
723
+ input.span12,
724
+ textarea.span12,
725
+ .uneditable-input.span12 {
726
+ width: 710px;
727
+ }
728
+ input.span11,
729
+ textarea.span11,
730
+ .uneditable-input.span11 {
731
+ width: 648px;
732
+ }
733
+ input.span10,
734
+ textarea.span10,
735
+ .uneditable-input.span10 {
736
+ width: 586px;
737
+ }
738
+ input.span9,
739
+ textarea.span9,
740
+ .uneditable-input.span9 {
741
+ width: 524px;
742
+ }
743
+ input.span8,
744
+ textarea.span8,
745
+ .uneditable-input.span8 {
746
+ width: 462px;
747
+ }
748
+ input.span7,
749
+ textarea.span7,
750
+ .uneditable-input.span7 {
751
+ width: 400px;
752
+ }
753
+ input.span6,
754
+ textarea.span6,
755
+ .uneditable-input.span6 {
756
+ width: 338px;
757
+ }
758
+ input.span5,
759
+ textarea.span5,
760
+ .uneditable-input.span5 {
761
+ width: 276px;
762
+ }
763
+ input.span4,
764
+ textarea.span4,
765
+ .uneditable-input.span4 {
766
+ width: 214px;
767
+ }
768
+ input.span3,
769
+ textarea.span3,
770
+ .uneditable-input.span3 {
771
+ width: 152px;
772
+ }
773
+ input.span2,
774
+ textarea.span2,
775
+ .uneditable-input.span2 {
776
+ width: 90px;
777
+ }
778
+ input.span1,
779
+ textarea.span1,
780
+ .uneditable-input.span1 {
781
+ width: 28px;
782
+ }
783
+ }
784
+
785
+ @media (max-width: 767px) {
786
+ body {
787
+ padding-right: 20px;
788
+ padding-left: 20px;
789
+ }
790
+ .navbar-fixed-top,
791
+ .navbar-fixed-bottom,
792
+ .navbar-static-top {
793
+ margin-right: -20px;
794
+ margin-left: -20px;
795
+ }
796
+ .container-fluid {
797
+ padding: 0;
798
+ }
799
+ .dl-horizontal dt {
800
+ float: none;
801
+ width: auto;
802
+ clear: none;
803
+ text-align: left;
804
+ }
805
+ .dl-horizontal dd {
806
+ margin-left: 0;
807
+ }
808
+ .container {
809
+ width: auto;
810
+ }
811
+ .row-fluid {
812
+ width: 100%;
813
+ }
814
+ .row,
815
+ .thumbnails {
816
+ margin-left: 0;
817
+ }
818
+ .thumbnails > li {
819
+ float: none;
820
+ margin-left: 0;
821
+ }
822
+ [class*="span"],
823
+ .uneditable-input[class*="span"],
824
+ .row-fluid [class*="span"] {
825
+ display: block;
826
+ float: none;
827
+ width: 100%;
828
+ margin-left: 0;
829
+ -webkit-box-sizing: border-box;
830
+ -moz-box-sizing: border-box;
831
+ box-sizing: border-box;
832
+ }
833
+ .span12,
834
+ .row-fluid .span12 {
835
+ width: 100%;
836
+ -webkit-box-sizing: border-box;
837
+ -moz-box-sizing: border-box;
838
+ box-sizing: border-box;
839
+ }
840
+ .row-fluid [class*="offset"]:first-child {
841
+ margin-left: 0;
842
+ }
843
+ .input-large,
844
+ .input-xlarge,
845
+ .input-xxlarge,
846
+ input[class*="span"],
847
+ select[class*="span"],
848
+ textarea[class*="span"],
849
+ .uneditable-input {
850
+ display: block;
851
+ width: 100%;
852
+ min-height: 30px;
853
+ -webkit-box-sizing: border-box;
854
+ -moz-box-sizing: border-box;
855
+ box-sizing: border-box;
856
+ }
857
+ .input-prepend input,
858
+ .input-append input,
859
+ .input-prepend input[class*="span"],
860
+ .input-append input[class*="span"] {
861
+ display: inline-block;
862
+ width: auto;
863
+ }
864
+ .controls-row [class*="span"] + [class*="span"] {
865
+ margin-left: 0;
866
+ }
867
+ .modal {
868
+ position: fixed;
869
+ top: 20px;
870
+ right: 20px;
871
+ left: 20px;
872
+ width: auto;
873
+ margin: 0;
874
+ }
875
+ .modal.fade {
876
+ top: -100px;
877
+ }
878
+ .modal.fade.in {
879
+ top: 20px;
880
+ }
881
+ }
882
+
883
+ @media (max-width: 480px) {
884
+ .nav-collapse {
885
+ -webkit-transform: translate3d(0, 0, 0);
886
+ }
887
+ .page-header h1 small {
888
+ display: block;
889
+ line-height: 20px;
890
+ }
891
+ input[type="checkbox"],
892
+ input[type="radio"] {
893
+ border: 1px solid #ccc;
894
+ }
895
+ .form-horizontal .control-label {
896
+ float: none;
897
+ width: auto;
898
+ padding-top: 0;
899
+ text-align: left;
900
+ }
901
+ .form-horizontal .controls {
902
+ margin-left: 0;
903
+ }
904
+ .form-horizontal .control-list {
905
+ padding-top: 0;
906
+ }
907
+ .form-horizontal .form-actions {
908
+ padding-right: 10px;
909
+ padding-left: 10px;
910
+ }
911
+ .media .pull-left,
912
+ .media .pull-right {
913
+ display: block;
914
+ float: none;
915
+ margin-bottom: 10px;
916
+ }
917
+ .media-object {
918
+ margin-right: 0;
919
+ margin-left: 0;
920
+ }
921
+ .modal {
922
+ top: 10px;
923
+ right: 10px;
924
+ left: 10px;
925
+ }
926
+ .modal-header .close {
927
+ padding: 10px;
928
+ margin: -10px;
929
+ }
930
+ .carousel-caption {
931
+ position: static;
932
+ }
933
+ }
934
+
935
+ @media (max-width: 979px) {
936
+ body {
937
+ padding-top: 0;
938
+ }
939
+ .navbar-fixed-top,
940
+ .navbar-fixed-bottom {
941
+ position: static;
942
+ }
943
+ .navbar-fixed-top {
944
+ margin-bottom: 20px;
945
+ }
946
+ .navbar-fixed-bottom {
947
+ margin-top: 20px;
948
+ }
949
+ .navbar-fixed-top .navbar-inner,
950
+ .navbar-fixed-bottom .navbar-inner {
951
+ padding: 5px;
952
+ }
953
+ .navbar .container {
954
+ width: auto;
955
+ padding: 0;
956
+ }
957
+ .navbar .brand {
958
+ padding-right: 10px;
959
+ padding-left: 10px;
960
+ margin: 0 0 0 -5px;
961
+ }
962
+ .nav-collapse {
963
+ clear: both;
964
+ }
965
+ .nav-collapse .nav {
966
+ float: none;
967
+ margin: 0 0 10px;
968
+ }
969
+ .nav-collapse .nav > li {
970
+ float: none;
971
+ }
972
+ .nav-collapse .nav > li > a {
973
+ margin-bottom: 2px;
974
+ }
975
+ .nav-collapse .nav > .divider-vertical {
976
+ display: none;
977
+ }
978
+ .nav-collapse .nav .nav-header {
979
+ color: #777777;
980
+ text-shadow: none;
981
+ }
982
+ .nav-collapse .nav > li > a,
983
+ .nav-collapse .dropdown-menu a {
984
+ padding: 9px 15px;
985
+ font-weight: bold;
986
+ color: #777777;
987
+ -webkit-border-radius: 3px;
988
+ -moz-border-radius: 3px;
989
+ border-radius: 3px;
990
+ }
991
+ .nav-collapse .btn {
992
+ padding: 4px 10px 4px;
993
+ font-weight: normal;
994
+ -webkit-border-radius: 4px;
995
+ -moz-border-radius: 4px;
996
+ border-radius: 4px;
997
+ }
998
+ .nav-collapse .dropdown-menu li + li a {
999
+ margin-bottom: 2px;
1000
+ }
1001
+ .nav-collapse .nav > li > a:hover,
1002
+ .nav-collapse .dropdown-menu a:hover {
1003
+ background-color: #f2f2f2;
1004
+ }
1005
+ .navbar-inverse .nav-collapse .nav > li > a,
1006
+ .navbar-inverse .nav-collapse .dropdown-menu a {
1007
+ color: #999999;
1008
+ }
1009
+ .navbar-inverse .nav-collapse .nav > li > a:hover,
1010
+ .navbar-inverse .nav-collapse .dropdown-menu a:hover {
1011
+ background-color: #111111;
1012
+ }
1013
+ .nav-collapse.in .btn-group {
1014
+ padding: 0;
1015
+ margin-top: 5px;
1016
+ }
1017
+ .nav-collapse .dropdown-menu {
1018
+ position: static;
1019
+ top: auto;
1020
+ left: auto;
1021
+ display: none;
1022
+ float: none;
1023
+ max-width: none;
1024
+ padding: 0;
1025
+ margin: 0 15px;
1026
+ background-color: transparent;
1027
+ border: none;
1028
+ -webkit-border-radius: 0;
1029
+ -moz-border-radius: 0;
1030
+ border-radius: 0;
1031
+ -webkit-box-shadow: none;
1032
+ -moz-box-shadow: none;
1033
+ box-shadow: none;
1034
+ }
1035
+ .nav-collapse .open > .dropdown-menu {
1036
+ display: block;
1037
+ }
1038
+ .nav-collapse .dropdown-menu:before,
1039
+ .nav-collapse .dropdown-menu:after {
1040
+ display: none;
1041
+ }
1042
+ .nav-collapse .dropdown-menu .divider {
1043
+ display: none;
1044
+ }
1045
+ .nav-collapse .nav > li > .dropdown-menu:before,
1046
+ .nav-collapse .nav > li > .dropdown-menu:after {
1047
+ display: none;
1048
+ }
1049
+ .nav-collapse .navbar-form,
1050
+ .nav-collapse .navbar-search {
1051
+ float: none;
1052
+ padding: 10px 15px;
1053
+ margin: 10px 0;
1054
+ border-top: 1px solid #f2f2f2;
1055
+ border-bottom: 1px solid #f2f2f2;
1056
+ -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
1057
+ -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
1058
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
1059
+ }
1060
+ .navbar-inverse .nav-collapse .navbar-form,
1061
+ .navbar-inverse .nav-collapse .navbar-search {
1062
+ border-top-color: #111111;
1063
+ border-bottom-color: #111111;
1064
+ }
1065
+ .navbar .nav-collapse .nav.pull-right {
1066
+ float: none;
1067
+ margin-left: 0;
1068
+ }
1069
+ .nav-collapse,
1070
+ .nav-collapse.collapse {
1071
+ height: 0;
1072
+ overflow: hidden;
1073
+ }
1074
+ .navbar .btn-navbar {
1075
+ display: block;
1076
+ }
1077
+ .navbar-static .navbar-inner {
1078
+ padding-right: 10px;
1079
+ padding-left: 10px;
1080
+ }
1081
+ }
1082
+
1083
+ @media (min-width: 980px) {
1084
+ .nav-collapse.collapse {
1085
+ height: auto !important;
1086
+ overflow: visible !important;
1087
+ }
1088
+ }