spiderfw 0.6.22 → 0.6.23

Sign up to get free protection for your applications and to get access to all the features.
Files changed (251) hide show
  1. data/CHANGELOG +9 -0
  2. data/VERSION +1 -1
  3. data/apps/app_server/controllers/app_server_controller.rb +7 -2
  4. data/apps/app_server/lib/git_app.rb +5 -3
  5. data/apps/cas_server/controllers/mixins/cas_login_mixin.rb +2 -1
  6. data/apps/core/admin/controllers/admin_controller.rb +4 -4
  7. data/apps/core/admin/controllers/app_admin_controller.rb +3 -2
  8. data/apps/core/admin/public/css/sass/admin.css +56 -31
  9. data/apps/core/admin/public/sass/admin.scss +38 -4
  10. data/apps/core/admin/views/_breadcrumb.shtml +8 -0
  11. data/apps/core/admin/views/admin.layout.shtml +8 -5
  12. data/apps/core/auth/controllers/login_controller.rb +3 -8
  13. data/apps/core/components/assets.rb +37 -1
  14. data/apps/core/components/public/bootstrap/LICENSE +13 -0
  15. data/apps/core/components/public/bootstrap/README.md +28 -0
  16. data/apps/core/components/public/bootstrap/img/glyphicons-halflings-white.png +0 -0
  17. data/apps/core/components/public/bootstrap/img/glyphicons-halflings.png +0 -0
  18. data/apps/core/components/public/bootstrap/js/README.md +106 -0
  19. data/apps/core/components/public/bootstrap/js/bootstrap-alert.js +91 -0
  20. data/apps/core/components/public/bootstrap/js/bootstrap-button.js +98 -0
  21. data/apps/core/components/public/bootstrap/js/bootstrap-carousel.js +154 -0
  22. data/apps/core/components/public/bootstrap/js/bootstrap-collapse.js +136 -0
  23. data/apps/core/components/public/bootstrap/js/bootstrap-dropdown.js +92 -0
  24. data/apps/core/components/public/bootstrap/js/bootstrap-modal.js +209 -0
  25. data/apps/core/components/public/bootstrap/js/bootstrap-popover.js +95 -0
  26. data/apps/core/components/public/bootstrap/js/bootstrap-scrollspy.js +125 -0
  27. data/apps/core/components/public/bootstrap/js/bootstrap-tab.js +130 -0
  28. data/apps/core/components/public/bootstrap/js/bootstrap-tooltip.js +270 -0
  29. data/apps/core/components/public/bootstrap/js/bootstrap-transition.js +51 -0
  30. data/apps/core/components/public/bootstrap/js/bootstrap-typeahead.js +271 -0
  31. data/apps/core/components/public/bootstrap/js/tests/index.html +49 -0
  32. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-alert.js +41 -0
  33. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-button.js +54 -0
  34. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-collapse.js +25 -0
  35. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-dropdown.js +53 -0
  36. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-modal.js +85 -0
  37. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-popover.js +93 -0
  38. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-scrollspy.js +31 -0
  39. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-tab.js +45 -0
  40. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-tooltip.js +62 -0
  41. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-transition.js +13 -0
  42. data/apps/core/components/public/bootstrap/js/tests/unit/bootstrap-typeahead.js +128 -0
  43. data/apps/core/components/public/bootstrap/js/tests/vendor/jquery.js +9252 -0
  44. data/apps/core/components/public/bootstrap/js/tests/vendor/qunit.css +232 -0
  45. data/apps/core/components/public/bootstrap/js/tests/vendor/qunit.js +1510 -0
  46. data/apps/core/components/public/bootstrap/scss/_accordion.scss +28 -0
  47. data/apps/core/components/public/bootstrap/scss/_alerts.scss +70 -0
  48. data/apps/core/components/public/bootstrap/scss/_breadcrumbs.scss +22 -0
  49. data/apps/core/components/public/bootstrap/scss/_button-groups.scss +146 -0
  50. data/apps/core/components/public/bootstrap/scss/_buttons.scss +165 -0
  51. data/apps/core/components/public/bootstrap/scss/_carousel.scss +121 -0
  52. data/apps/core/components/public/bootstrap/scss/_close.scss +18 -0
  53. data/apps/core/components/public/bootstrap/scss/_code.scss +44 -0
  54. data/apps/core/components/public/bootstrap/scss/_component-animations.scss +18 -0
  55. data/apps/core/components/public/bootstrap/scss/_custom.css +0 -0
  56. data/apps/core/components/public/bootstrap/scss/_dropdowns.scss +131 -0
  57. data/apps/core/components/public/bootstrap/scss/_forms.scss +516 -0
  58. data/apps/core/components/public/bootstrap/scss/_grid.scss +8 -0
  59. data/apps/core/components/public/bootstrap/scss/_hero-unit.scss +20 -0
  60. data/apps/core/components/public/bootstrap/scss/_labels.scss +16 -0
  61. data/apps/core/components/public/bootstrap/scss/_layouts.scss +17 -0
  62. data/apps/core/components/public/bootstrap/scss/_mixins.scss +538 -0
  63. data/apps/core/components/public/bootstrap/scss/_modals.scss +72 -0
  64. data/apps/core/components/public/bootstrap/scss/_navbar.scss +292 -0
  65. data/apps/core/components/public/bootstrap/scss/_navs.scss +343 -0
  66. data/apps/core/components/public/bootstrap/scss/_pager.scss +30 -0
  67. data/apps/core/components/public/bootstrap/scss/_pagination.scss +64 -0
  68. data/apps/core/components/public/bootstrap/scss/_patterns.scss +13 -0
  69. data/apps/core/components/public/bootstrap/scss/_popovers.scss +49 -0
  70. data/apps/core/components/public/bootstrap/scss/_print.scss +18 -0
  71. data/apps/core/components/public/bootstrap/scss/_progress-bars.scss +95 -0
  72. data/apps/core/{admin/public/sass/bootstrap/reset.scss → components/public/bootstrap/scss/_reset.scss} +36 -51
  73. data/apps/core/components/public/bootstrap/scss/_scaffolding.scss +29 -0
  74. data/apps/core/components/public/bootstrap/scss/_sprites.scss +156 -0
  75. data/apps/core/components/public/bootstrap/scss/_tables.scss +139 -0
  76. data/apps/core/components/public/bootstrap/scss/_thumbnails.scss +35 -0
  77. data/apps/core/components/public/bootstrap/scss/_tooltip.scss +35 -0
  78. data/apps/core/components/public/bootstrap/scss/_type.scss +217 -0
  79. data/apps/core/components/public/bootstrap/scss/_utilities.scss +23 -0
  80. data/apps/core/components/public/bootstrap/scss/_variables.scss +99 -0
  81. data/apps/core/components/public/bootstrap/scss/_wells.scss +17 -0
  82. data/apps/core/components/public/bootstrap/scss/bootstrap-responsive.css +707 -0
  83. data/apps/core/components/public/bootstrap/scss/bootstrap-responsive.scss +323 -0
  84. data/apps/core/components/public/bootstrap/scss/bootstrap.css +4604 -0
  85. data/apps/core/components/public/bootstrap/scss/bootstrap.scss +62 -0
  86. data/apps/core/components/public/bootstrap/scss/config.rb +36 -0
  87. data/apps/core/components/public/css/admin.css +2 -1
  88. data/apps/core/components/public/css/sass/bootstrap/bootstrap.css +3107 -0
  89. data/apps/core/components/public/css/table_base.css +9 -0
  90. data/apps/core/components/public/widgets/month_calendar.js +9 -0
  91. data/apps/core/components/widgets/crud/crud.rb +9 -1
  92. data/apps/core/components/widgets/crud/crud.shtml +2 -2
  93. data/apps/core/components/widgets/month_calendar/month_calendar.shtml +1 -0
  94. data/apps/core/components/widgets/table/table.rb +84 -55
  95. data/apps/core/components/widgets/table/table.shtml +2 -1
  96. data/apps/core/forms/public/ckeditor/CHANGES.html +139 -1
  97. data/apps/core/forms/public/ckeditor/LICENSE.html +1 -8
  98. data/apps/core/forms/public/ckeditor/ckeditor.js +141 -137
  99. data/apps/core/forms/public/ckeditor/ckeditor_basic.js +3 -3
  100. data/apps/core/forms/public/ckeditor/ckeditor_basic_source.js +1 -1
  101. data/apps/core/forms/public/ckeditor/ckeditor_source.js +13 -3
  102. data/apps/core/forms/public/ckeditor/contents.css +4 -2
  103. data/apps/core/forms/public/ckeditor/lang/_translationstatus.txt +59 -59
  104. data/apps/core/forms/public/ckeditor/lang/af.js +1 -1
  105. data/apps/core/forms/public/ckeditor/lang/ar.js +1 -1
  106. data/apps/core/forms/public/ckeditor/lang/bg.js +1 -1
  107. data/apps/core/forms/public/ckeditor/lang/bn.js +1 -1
  108. data/apps/core/forms/public/ckeditor/lang/bs.js +1 -1
  109. data/apps/core/forms/public/ckeditor/lang/ca.js +1 -1
  110. data/apps/core/forms/public/ckeditor/lang/cs.js +1 -1
  111. data/apps/core/forms/public/ckeditor/lang/cy.js +1 -1
  112. data/apps/core/forms/public/ckeditor/lang/da.js +1 -1
  113. data/apps/core/forms/public/ckeditor/lang/de.js +1 -1
  114. data/apps/core/forms/public/ckeditor/lang/el.js +1 -1
  115. data/apps/core/forms/public/ckeditor/lang/en-au.js +1 -1
  116. data/apps/core/forms/public/ckeditor/lang/en-ca.js +1 -1
  117. data/apps/core/forms/public/ckeditor/lang/en-gb.js +1 -1
  118. data/apps/core/forms/public/ckeditor/lang/en.js +1 -1
  119. data/apps/core/forms/public/ckeditor/lang/eo.js +1 -1
  120. data/apps/core/forms/public/ckeditor/lang/es.js +1 -1
  121. data/apps/core/forms/public/ckeditor/lang/et.js +1 -1
  122. data/apps/core/forms/public/ckeditor/lang/eu.js +1 -1
  123. data/apps/core/forms/public/ckeditor/lang/fa.js +1 -1
  124. data/apps/core/forms/public/ckeditor/lang/fi.js +1 -1
  125. data/apps/core/forms/public/ckeditor/lang/fo.js +1 -1
  126. data/apps/core/forms/public/ckeditor/lang/fr-ca.js +1 -1
  127. data/apps/core/forms/public/ckeditor/lang/fr.js +1 -1
  128. data/apps/core/forms/public/ckeditor/lang/gl.js +1 -1
  129. data/apps/core/forms/public/ckeditor/lang/gu.js +1 -1
  130. data/apps/core/forms/public/ckeditor/lang/he.js +1 -1
  131. data/apps/core/forms/public/ckeditor/lang/hi.js +1 -1
  132. data/apps/core/forms/public/ckeditor/lang/hr.js +1 -1
  133. data/apps/core/forms/public/ckeditor/lang/hu.js +1 -1
  134. data/apps/core/forms/public/ckeditor/lang/is.js +1 -1
  135. data/apps/core/forms/public/ckeditor/lang/it.js +1 -1
  136. data/apps/core/forms/public/ckeditor/lang/ja.js +1 -1
  137. data/apps/core/forms/public/ckeditor/lang/ka.js +1 -1
  138. data/apps/core/forms/public/ckeditor/lang/km.js +1 -1
  139. data/apps/core/forms/public/ckeditor/lang/ko.js +1 -1
  140. data/apps/core/forms/public/ckeditor/lang/lt.js +1 -1
  141. data/apps/core/forms/public/ckeditor/lang/lv.js +1 -1
  142. data/apps/core/forms/public/ckeditor/lang/mn.js +1 -1
  143. data/apps/core/forms/public/ckeditor/lang/ms.js +1 -1
  144. data/apps/core/forms/public/ckeditor/lang/nb.js +1 -1
  145. data/apps/core/forms/public/ckeditor/lang/nl.js +1 -1
  146. data/apps/core/forms/public/ckeditor/lang/no.js +1 -1
  147. data/apps/core/forms/public/ckeditor/lang/pl.js +1 -1
  148. data/apps/core/forms/public/ckeditor/lang/pt-br.js +1 -1
  149. data/apps/core/forms/public/ckeditor/lang/pt.js +1 -1
  150. data/apps/core/forms/public/ckeditor/lang/ro.js +1 -1
  151. data/apps/core/forms/public/ckeditor/lang/ru.js +1 -1
  152. data/apps/core/forms/public/ckeditor/lang/sk.js +1 -1
  153. data/apps/core/forms/public/ckeditor/lang/sl.js +1 -1
  154. data/apps/core/forms/public/ckeditor/lang/sr-latn.js +1 -1
  155. data/apps/core/forms/public/ckeditor/lang/sr.js +1 -1
  156. data/apps/core/forms/public/ckeditor/lang/sv.js +1 -1
  157. data/apps/core/forms/public/ckeditor/lang/th.js +1 -1
  158. data/apps/core/forms/public/ckeditor/lang/tr.js +1 -1
  159. data/apps/core/forms/public/ckeditor/lang/uk.js +1 -1
  160. data/apps/core/forms/public/ckeditor/lang/vi.js +1 -1
  161. data/apps/core/forms/public/ckeditor/lang/zh-cn.js +1 -1
  162. data/apps/core/forms/public/ckeditor/lang/zh.js +1 -1
  163. data/apps/core/forms/public/ckeditor/plugins/autogrow/plugin.js +1 -1
  164. data/apps/core/forms/public/ckeditor/plugins/bbcode/plugin.js +4 -4
  165. data/apps/core/forms/public/ckeditor/plugins/docprops/dialogs/docprops.js +2 -2
  166. data/apps/core/forms/public/ckeditor/plugins/find/dialogs/find.js +5 -4
  167. data/apps/core/forms/public/ckeditor/plugins/flash/dialogs/flash.js +4 -4
  168. data/apps/core/forms/public/ckeditor/plugins/forms/dialogs/select.js +2 -2
  169. data/apps/core/forms/public/ckeditor/plugins/forms/dialogs/textarea.js +1 -1
  170. data/apps/core/forms/public/ckeditor/plugins/iframe/dialogs/iframe.js +2 -2
  171. data/apps/core/forms/public/ckeditor/plugins/image/dialogs/image.js +6 -6
  172. data/apps/core/forms/public/ckeditor/plugins/link/dialogs/link.js +6 -5
  173. data/apps/core/forms/public/ckeditor/plugins/liststyle/dialogs/liststyle.js +2 -1
  174. data/apps/core/forms/public/ckeditor/plugins/pastefromword/filter/default.js +5 -5
  175. data/apps/core/forms/public/ckeditor/plugins/specialchar/dialogs/specialchar.js +1 -1
  176. data/apps/core/forms/public/ckeditor/plugins/specialchar/lang/en.js +1 -1
  177. data/apps/core/forms/public/ckeditor/plugins/table/dialogs/table.js +4 -4
  178. data/apps/core/forms/public/ckeditor/plugins/tableresize/plugin.js +2 -2
  179. data/apps/core/forms/public/ckeditor/plugins/wsc/dialogs/wsc.js +1 -1
  180. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/README.md +26 -0
  181. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/dialog.css +616 -0
  182. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/editor.css +1088 -0
  183. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/icons.png +0 -0
  184. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/dialog_sides.gif +0 -0
  185. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/dialog_sides.png +0 -0
  186. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/dialog_sides_rtl.png +0 -0
  187. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/mini.png +0 -0
  188. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/noimage.png +0 -0
  189. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/sprites.png +0 -0
  190. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/sprites_ie6.png +0 -0
  191. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/images/toolbar_start.gif +0 -0
  192. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/skin.js +7 -0
  193. data/apps/core/forms/public/ckeditor/skins/BootstrapCK-Skin/templates.css +54 -0
  194. data/apps/core/forms/public/ckeditor/skins/kama/dialog.css +4 -3
  195. data/apps/core/forms/public/ckeditor/skins/kama/editor.css +3 -3
  196. data/apps/core/forms/public/ckeditor/themes/default/theme.js +2 -2
  197. data/apps/core/forms/public/css/form.css +5 -5
  198. data/apps/core/forms/public/html_area.js +5 -5
  199. data/apps/core/forms/tags/element_label.erb +1 -1
  200. data/apps/core/forms/tags/row.erb +1 -1
  201. data/apps/core/forms/widgets/form/form.rb +2 -1
  202. data/apps/core/forms/widgets/form/form.shtml +3 -3
  203. data/apps/core/forms/widgets/inputs/checkbox/checkbox.shtml +1 -1
  204. data/apps/core/forms/widgets/inputs/date_time/date_time.shtml +1 -1
  205. data/apps/core/forms/widgets/inputs/file_input/file_input.shtml +1 -1
  206. data/apps/core/forms/widgets/inputs/html_area/html_area.shtml +1 -1
  207. data/apps/core/forms/widgets/inputs/input/input.shtml +1 -1
  208. data/apps/core/forms/widgets/inputs/input/readonly.shtml +1 -1
  209. data/apps/core/forms/widgets/inputs/password/password.shtml +1 -1
  210. data/apps/core/forms/widgets/inputs/search_select/search_select.shtml +1 -1
  211. data/apps/core/forms/widgets/inputs/select/select.shtml +1 -1
  212. data/apps/core/forms/widgets/inputs/text/text.shtml +1 -1
  213. data/apps/core/forms/widgets/inputs/text_area/text_area.shtml +1 -1
  214. data/apps/core/forms/widgets/inputs/time_span/time_span.shtml +1 -1
  215. data/apps/messenger/controllers/messenger_admin_controller.rb +19 -4
  216. data/apps/messenger/views/admin/_admin.layout.shtml +1 -1
  217. data/apps/messenger/views/admin/queue.shtml +6 -6
  218. data/apps/messenger/views/admin/view_email.shtml +7 -0
  219. data/apps/messenger/views/admin/view_sms.shtml +4 -0
  220. data/blueprints/app/.dirs +2 -1
  221. data/blueprints/app/test/features/support/env.rb +4 -0
  222. data/data/locale/it/LC_MESSAGES/spider.mo +0 -0
  223. data/lib/spiderfw/cmd/commands/config.rb +6 -3
  224. data/lib/spiderfw/config/configuration.rb +11 -2
  225. data/lib/spiderfw/config/options/spider.rb +1 -1
  226. data/lib/spiderfw/controller/controller.rb +27 -15
  227. data/lib/spiderfw/controller/dispatcher.rb +8 -4
  228. data/lib/spiderfw/controller/http_controller.rb +9 -5
  229. data/lib/spiderfw/controller/mixins/static_content.rb +1 -0
  230. data/lib/spiderfw/controller/mixins/visual.rb +48 -31
  231. data/lib/spiderfw/home.rb +8 -0
  232. data/lib/spiderfw/i18n/cldr.rb +1 -0
  233. data/lib/spiderfw/model/base_model.rb +2 -2
  234. data/lib/spiderfw/model/mappers/db_mapper.rb +1 -0
  235. data/lib/spiderfw/model/unit_of_work.rb +2 -2
  236. data/lib/spiderfw/requires.rb +1 -0
  237. data/lib/spiderfw/setup/app_manager.rb +16 -8
  238. data/lib/spiderfw/spider.rb +2 -2
  239. data/lib/spiderfw/templates/layout.rb +16 -9
  240. data/lib/spiderfw/templates/template.rb +28 -8
  241. data/lib/spiderfw/utils/logger.rb +9 -9
  242. data/views/errors/error.layout.shtml +9 -4
  243. metadata +98 -13
  244. data/apps/core/admin/public/sass/bootstrap/bootstrap.scss +0 -29
  245. data/apps/core/admin/public/sass/bootstrap/forms.scss +0 -478
  246. data/apps/core/admin/public/sass/bootstrap/mixins.scss +0 -220
  247. data/apps/core/admin/public/sass/bootstrap/patterns.scss +0 -1062
  248. data/apps/core/admin/public/sass/bootstrap/scaffolding.scss +0 -136
  249. data/apps/core/admin/public/sass/bootstrap/tables.scss +0 -224
  250. data/apps/core/admin/public/sass/bootstrap/type.scss +0 -187
  251. data/apps/core/admin/public/sass/bootstrap/variables.scss +0 -60
data/CHANGELOG CHANGED
@@ -1,3 +1,12 @@
1
+ = 0.6.23
2
+ == 6 February, 2011
3
+ * Config options can now have a Proc for :choices; new :fallback param to reuse other config
4
+ * Added new-link, edit-link attributes to Crud
5
+ * Added Twitter Bootstrap 2 to core components
6
+ * Updated CKEditor
7
+ * Added test folder to app blueprint
8
+ * Minor fixes
9
+
1
10
  = 0.6.22
2
11
  == 14 December, 2011
3
12
  * New core admin app
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.22
1
+ 0.6.23
@@ -1,4 +1,5 @@
1
1
  require 'tempfile'
2
+ require 'json'
2
3
 
3
4
  module Spider; module AppServer
4
5
 
@@ -9,6 +10,7 @@ module Spider; module AppServer
9
10
  __.html :template => 'app_list'
10
11
  __.json :call => :list_json
11
12
  def list(name=nil)
13
+ # FIXME: names, branches
12
14
  @scene.apps = AppServer.apps
13
15
  end
14
16
 
@@ -44,8 +46,11 @@ module Spider; module AppServer
44
46
  new_apps = names
45
47
  specs = {}
46
48
  while !new_apps.empty? && curr = new_apps.pop
49
+ curr, branch = curr.split('@')
47
50
  raise NotFound.new("App #{curr}") unless AppServer.apps_by_id[curr]
48
- spec = AppServer.apps_by_id[curr].spec
51
+ a = AppServer.apps_by_id[curr]
52
+ spec = a.spec
53
+ spec = a.read_spec(branch) if branch
49
54
  specs[curr] = spec
50
55
  new_apps += spec.depends.reject{ |app| specs[app] }
51
56
  new_apps += spec.depends_optional.reject{ |app| specs[app] } unless @request.params['no_optional']
@@ -56,4 +61,4 @@ module Spider; module AppServer
56
61
  end
57
62
 
58
63
 
59
- end; end
64
+ end; end
@@ -12,8 +12,8 @@ module Spider; module AppServer
12
12
  spec = nil
13
13
  repo_branches = repo.heads.map{ |h| h.name }
14
14
  @branches = repo_branches
15
- read_spec
16
15
  @repo = repo
16
+ read_spec
17
17
  end
18
18
 
19
19
  def read_spec(branch='master')
@@ -21,7 +21,7 @@ module Spider; module AppServer
21
21
  next unless blob.basename =~ /\.appspec$/
22
22
  spec = blob.data
23
23
  @spec = Spider::App::AppSpec.eval(spec)
24
- @spec.branch = branch
24
+ #@spec.branch = branch
25
25
  if repo_base = Spider.conf.get('app_server.git_repo_base')
26
26
  unless @spec.git_repo
27
27
  @spec.git_repo(repo_base+'/'+@spec.id)
@@ -33,8 +33,10 @@ module Spider; module AppServer
33
33
  end
34
34
  end
35
35
  @last_modified = repo.commits.first.authored_date # FIXME
36
+ @spec.app_server ||= AppServer::AppServerController.http_url
36
37
  break
37
38
  end
39
+ @repo = repo
38
40
  @spec
39
41
  end
40
42
 
@@ -44,4 +46,4 @@ module Spider; module AppServer
44
46
 
45
47
  end
46
48
 
47
- end; end
49
+ end; end
@@ -95,7 +95,8 @@ module Spider; module CASServer
95
95
  return true
96
96
  end
97
97
 
98
- def authenticate
98
+ def authenticate(params={})
99
+ return super if params[:ignore_cas]
99
100
  if error = validate_login_ticket(@request.params['lt'])
100
101
  @scene.message = error
101
102
  return nil
@@ -19,7 +19,7 @@ module Spider; module Admin
19
19
  end
20
20
 
21
21
  def self.logout_redirect
22
- AdminController.url('login')
22
+ AdminController.http_url('login')
23
23
  end
24
24
  end
25
25
 
@@ -58,10 +58,10 @@ module Spider; module Admin
58
58
  }
59
59
  end
60
60
  @scene.admin_breadcrumb = []
61
- @scene.admin_breadcrumb << {:url => self.class.url, :label => _('Home')} if @scene.apps.length > 1
61
+ @scene.admin_breadcrumb << {:url => self.class.http_url, :label => _('Home')} if @scene.apps.length > 1
62
62
 
63
63
  # FIXME
64
- @scene.apps.sort!{ |a,b| a[:priority] <=> b[:priority] }
64
+ @scene.apps.sort!{ |a,b| b[:priority] <=> a[:priority] }
65
65
  end
66
66
 
67
67
  __.html :template => 'index'
@@ -71,4 +71,4 @@ module Spider; module Admin
71
71
  end
72
72
 
73
73
 
74
- end; end
74
+ end; end
@@ -3,8 +3,9 @@ module Spider; module Admin
3
3
  class AppAdminController < Spider::PageController
4
4
 
5
5
  def before(action='', *params)
6
+ @scene.admin_breadcrumb ||= []
6
7
  unless @_did_breadcrumb
7
- @scene.admin_breadcrumb << {:url => self.class.url, :label => self.class.app.full_name}
8
+ @scene.admin_breadcrumb << {:url => self.class.http_url, :label => self.class.app.full_name}
8
9
  end
9
10
  @_did_breadcrumb = true
10
11
  super
@@ -12,4 +13,4 @@ module Spider; module Admin
12
13
 
13
14
  end
14
15
 
15
- end; end
16
+ end; end
@@ -23,7 +23,27 @@ body:after {
23
23
  background-position: 0 0;
24
24
  }
25
25
 
26
- /* line 11, ../../sass/admin.scss */
26
+ /* line 17, ../../sass/admin.scss */
27
+ #admin form.form-horizontal input,
28
+ #admin form.form-horizontal textarea,
29
+ #admin form.form-horizontal select,
30
+ #admin form.form-horizontal .uneditable-input {
31
+ width: 300px;
32
+ }
33
+ /* line 21, ../../sass/admin.scss */
34
+ #admin form.form-horizontal select {
35
+ width: 310px;
36
+ }
37
+ /* line 25, ../../sass/admin.scss */
38
+ #admin form.form-horizontal input.btn {
39
+ width: auto;
40
+ }
41
+ /* line 29, ../../sass/admin.scss */
42
+ #admin form.form-horizontal .form-actions {
43
+ padding-left: 250px;
44
+ }
45
+
46
+ /* line 39, ../../sass/admin.scss */
27
47
  #header {
28
48
  padding-bottom: 10px;
29
49
  background: url('../../img/css/header_bg.png?1321971233') repeat-x scroll center top;
@@ -31,27 +51,27 @@ body:after {
31
51
  position: relative;
32
52
  border-bottom: 2px solid #555555;
33
53
  }
34
- /* line 18, ../../sass/admin.scss */
54
+ /* line 46, ../../sass/admin.scss */
35
55
  #header #header_top {
36
56
  overflow: hidden;
37
57
  *zoom: 1;
38
58
  }
39
- /* line 22, ../../sass/admin.scss */
59
+ /* line 50, ../../sass/admin.scss */
40
60
  #header h1 {
41
61
  font-size: 27px;
42
62
  color: #444444;
43
63
  }
44
- /* line 27, ../../sass/admin.scss */
64
+ /* line 55, ../../sass/admin.scss */
45
65
  #header #main_title {
46
66
  float: left;
47
67
  margin-top: 8px;
48
68
  margin-left: 40px;
49
69
  }
50
- /* line 32, ../../sass/admin.scss */
70
+ /* line 60, ../../sass/admin.scss */
51
71
  #header #main_title h1 {
52
72
  margin-bottom: 8px;
53
73
  }
54
- /* line 36, ../../sass/admin.scss */
74
+ /* line 64, ../../sass/admin.scss */
55
75
  #header #admin_controls {
56
76
  font-size: .95em;
57
77
  float: right;
@@ -59,26 +79,25 @@ body:after {
59
79
  margin-right: 30px;
60
80
  color: white;
61
81
  }
62
- /* line 43, ../../sass/admin.scss */
82
+ /* line 71, ../../sass/admin.scss */
63
83
  #header #admin_controls a {
64
84
  color: white;
65
85
  }
66
- /* line 47, ../../sass/admin.scss */
86
+ /* line 75, ../../sass/admin.scss */
67
87
  #header #admin_controls .welcome {
68
88
  margin-right: 6px;
69
89
  }
70
- /* line 51, ../../sass/admin.scss */
90
+ /* line 79, ../../sass/admin.scss */
71
91
  #header #admin_controls .logout_link {
72
92
  background-position: right;
73
93
  padding-right: 25px;
74
94
  margin-left: 6px;
75
95
  }
76
- /* line 60, ../../sass/admin.scss */
96
+ /* line 88, ../../sass/admin.scss */
77
97
  #header #app_buttons {
78
98
  height: 68px;
79
99
  min-width: 200px;
80
100
  margin-left: 60px;
81
- background: url('../../img/css/noise.png?1321971233') repeat-x scroll center top;
82
101
  background-color: #f4f5f6;
83
102
  -moz-box-shadow: 0px 0px 5px #333333;
84
103
  -webkit-box-shadow: 0px 0px 5px #333333;
@@ -102,11 +121,11 @@ body:after {
102
121
  #header #app_buttons {
103
122
  *display: inline;
104
123
  }
105
- /* line 72, ../../sass/admin.scss */
124
+ /* line 99, ../../sass/admin.scss */
106
125
  #header #app_buttons a {
107
126
  color: #222222;
108
127
  }
109
- /* line 76, ../../sass/admin.scss */
128
+ /* line 103, ../../sass/admin.scss */
110
129
  #header #app_buttons div {
111
130
  width: 55px;
112
131
  height: 55px;
@@ -116,7 +135,7 @@ body:after {
116
135
  float: left;
117
136
  background-color: #EEEEEE;
118
137
  }
119
- /* line 85, ../../sass/admin.scss */
138
+ /* line 112, ../../sass/admin.scss */
120
139
  #header #app_buttons div img {
121
140
  margin-left: auto;
122
141
  margin-right: auto;
@@ -124,35 +143,41 @@ body:after {
124
143
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
125
144
  opacity: 0.8;
126
145
  }
127
- /* line 92, ../../sass/admin.scss */
146
+ /* line 119, ../../sass/admin.scss */
128
147
  #header #app_buttons div span.name {
129
148
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
130
149
  opacity: 0.9;
131
150
  display: block;
132
151
  font-size: 0.8em;
133
152
  }
134
- /* line 99, ../../sass/admin.scss */
153
+ /* line 126, ../../sass/admin.scss */
135
154
  #header #app_buttons a.active div {
136
155
  border: 1px solid #DDDD00;
137
156
  }
138
- /* line 101, ../../sass/admin.scss */
157
+ /* line 128, ../../sass/admin.scss */
139
158
  #header #app_buttons a.active div img {
140
159
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
141
160
  opacity: 0.7;
142
161
  }
143
- /* line 104, ../../sass/admin.scss */
162
+ /* line 131, ../../sass/admin.scss */
144
163
  #header #app_buttons a.active div span.name {
145
164
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
146
165
  opacity: 0.8;
147
166
  }
148
167
 
149
- /* line 115, ../../sass/admin.scss */
168
+ /* line 139, ../../sass/admin.scss */
169
+ #admin-switcher-menu .section_title {
170
+ font-size: 14px;
171
+ line-height: 36px;
172
+ }
173
+
174
+ /* line 149, ../../sass/admin.scss */
150
175
  #spider-admin .container-fluid .content {
151
176
  background-color: white;
152
177
  }
153
178
 
154
- /* line 122, ../../sass/admin.scss */
155
- .spider-admin-container {
179
+ /* line 156, ../../sass/admin.scss */
180
+ #container, .spider-admin-container {
156
181
  background: url('../../img/css/side_bg.png?1321971233') repeat-y;
157
182
  position: relative;
158
183
  min-width: 940px;
@@ -163,35 +188,35 @@ body:after {
163
188
  overflow: hidden;
164
189
  *zoom: 1;
165
190
  }
166
- /* line 132, ../../sass/admin.scss */
167
- .spider-admin-container > .spider-admin-sidebar {
191
+ /* line 166, ../../sass/admin.scss */
192
+ #container #sidebar, #container > .spider-admin-sidebar, .spider-admin-container #sidebar, .spider-admin-container > .spider-admin-sidebar {
168
193
  position: absolute;
169
194
  top: 0;
170
195
  left: 20px;
171
196
  width: 220px;
172
197
  padding: 20px 10px;
173
198
  }
174
- /* line 139, ../../sass/admin.scss */
175
- .spider-admin-container > .spider-admin-sidebar li.active a {
199
+ /* line 173, ../../sass/admin.scss */
200
+ #container #sidebar li.active a, #container > .spider-admin-sidebar li.active a, .spider-admin-container #sidebar li.active a, .spider-admin-container > .spider-admin-sidebar li.active a {
176
201
  text-decoration: underline;
177
202
  }
178
- /* line 143, ../../sass/admin.scss */
179
- .spider-admin-container > .spider-admin-sidebar li {
203
+ /* line 177, ../../sass/admin.scss */
204
+ #container #sidebar li, #container > .spider-admin-sidebar li, .spider-admin-container #sidebar li, .spider-admin-container > .spider-admin-sidebar li {
180
205
  margin-bottom: 1px;
181
206
  }
182
- /* line 148, ../../sass/admin.scss */
183
- .spider-admin-container > .spider-admin-content {
207
+ /* line 182, ../../sass/admin.scss */
208
+ #container #content, #container > .spider-admin-content, .spider-admin-container #content, .spider-admin-container > .spider-admin-content {
184
209
  margin-left: 240px;
185
210
  }
186
211
 
187
- /* line 153, ../../sass/admin.scss */
212
+ /* line 187, ../../sass/admin.scss */
188
213
  .crud .table {
189
214
  width: auto;
190
215
  min-width: 400px;
191
216
  }
192
217
 
193
218
  @media screen and (max-width: 500px) {
194
- /* line 162, ../../sass/admin.scss */
219
+ /* line 196, ../../sass/admin.scss */
195
220
  #header #main_title {
196
221
  font-size: 10px;
197
222
  }
@@ -8,6 +8,34 @@
8
8
  $base_color: #417690;
9
9
  $sidebar_color: #DFDFDF;
10
10
 
11
+ #admin {
12
+ form.form-horizontal {
13
+
14
+ input,
15
+ textarea,
16
+ select,
17
+ .uneditable-input {
18
+ width: 300px;
19
+ }
20
+
21
+ select {
22
+ width: 310px;
23
+ }
24
+
25
+ input.btn {
26
+ width: auto;
27
+ }
28
+
29
+ .form-actions {
30
+ padding-left: 250px;
31
+ }
32
+
33
+ }
34
+
35
+ }
36
+
37
+
38
+
11
39
  #header{
12
40
  padding-bottom: 10px;
13
41
  background: image-url("css/header_bg.png") repeat-x scroll center top;
@@ -61,7 +89,6 @@ $sidebar_color: #DFDFDF;
61
89
  height: 68px;
62
90
  min-width: 200px;
63
91
  margin-left: 60px;
64
- background: image-url("css/noise.png") repeat-x scroll center top;
65
92
  background-color: lighten(desaturate($base_color, 30%), 55%);
66
93
 
67
94
  @include box-shadow();
@@ -108,6 +135,13 @@ $sidebar_color: #DFDFDF;
108
135
  }
109
136
  }
110
137
 
138
+ #admin-switcher-menu {
139
+ .section_title {
140
+ font-size: 14px;
141
+ line-height: 36px;
142
+ }
143
+ }
144
+
111
145
  #spider-admin{
112
146
 
113
147
  .container-fluid{
@@ -119,7 +153,7 @@ $sidebar_color: #DFDFDF;
119
153
 
120
154
  }
121
155
 
122
- .spider-admin-container{
156
+ #container, .spider-admin-container{
123
157
  background: image-url("css/side_bg.png") repeat-y;
124
158
  position: relative;
125
159
  min-width: 940px;
@@ -129,7 +163,7 @@ $sidebar_color: #DFDFDF;
129
163
  min-height: 500px;
130
164
  @include clearfix();
131
165
 
132
- > .spider-admin-sidebar {
166
+ #sidebar, > .spider-admin-sidebar {
133
167
  position: absolute;
134
168
  top: 0;
135
169
  left: 20px;
@@ -145,7 +179,7 @@ $sidebar_color: #DFDFDF;
145
179
  }
146
180
  }
147
181
 
148
- > .spider-admin-content {
182
+ #content, > .spider-admin-content {
149
183
  margin-left: 240px;
150
184
  }
151
185
  }
@@ -0,0 +1,8 @@
1
+ <ul class="breadcrumb" sp:if="@admin_breadcrumb">
2
+ <li sp:each="@admin_breadcrumb[0..@admin_breadcrumb.length-2] |bc|">
3
+ <a href="{ bc[:url] }">{ bc[:label] }</a> <span class="divider">/</span>
4
+ </li>
5
+ <li class="active" sp:if="@admin_breadcrumb.last">
6
+ { @admin_breadcrumb.last[:label] }
7
+ </li>
8
+ </ul>
@@ -1,9 +1,11 @@
1
1
  <!DOCTYPE HTML>
2
2
  <html>
3
- <tpl:asset type="css" src="sass/bootstrap/bootstrap.scss" />
3
+ <tpl:asset name="bootstrap-sass" />
4
4
  <tpl:asset type="css" src="sass/admin.scss" />
5
5
  <head>
6
- <title>_(Administration) - { @current_app[:module].name }</title>
6
+ <title>_(Administration)
7
+ <tpl:pass sp:if="@current_app && @current_app[:module]"> - { @current_app[:module].name }</tpl:pass>
8
+ </title>
7
9
  <tpl:output-assets type="css" />
8
10
  <tpl:output-assets type="js" />
9
11
  </head>
@@ -12,12 +14,13 @@
12
14
  <div id="header_top">
13
15
  <div id="main_title">
14
16
  <h1>
15
- _(Administration) - { @current_app[:module].name }
17
+ _(Administration)
18
+ <tpl:pass sp:if="@current_app && @current_app[:module]"> - { @current_app[:module].name }</tpl:pass>
16
19
  </h1>
17
20
  </div>
18
21
  <div id="admin_controls">
19
22
  <span class="welcome">_(Welcome, %s.) % @username</span> -
20
- <a class="logout_link" href="{ Spider::Admin::AdminController.url('login/logout') }" sp:if="!@guest">Logout</a>
23
+ <a class="logout_link" href="{ Spider::Admin::AdminController.http_url('login/logout') }" sp:if="!@guest">Logout</a>
21
24
  </div>
22
25
  </div>
23
26
  <div id="app_buttons" sp:if="@apps.length > 1">
@@ -32,4 +35,4 @@
32
35
  </div>
33
36
  <sp:yield />
34
37
  </body>
35
- </html>
38
+ </html>
@@ -25,12 +25,7 @@ module Spider; module Auth
25
25
  def default_redirect
26
26
  self.class.default_redirect
27
27
  end
28
-
29
- def before(action='')
30
- super
31
- @response.headers['Content-Type'] = 'text/html;charset=UTF-8'
32
- end
33
-
28
+
34
29
  __.html
35
30
  def index
36
31
  exception = @request.session.flash[:unauthorized_exception]
@@ -40,7 +35,7 @@ module Spider; module Auth
40
35
  render('login')
41
36
  end
42
37
 
43
- def authenticate
38
+ def authenticate(params={})
44
39
  get_user
45
40
  end
46
41
 
@@ -55,7 +50,7 @@ module Spider; module Auth
55
50
  __.html
56
51
  def do_login
57
52
  user = authenticate
58
- if (user)
53
+ if user
59
54
  user.save_to_session(@request.session)
60
55
  on_success(user)
61
56
  unless success_redirect
@@ -144,4 +144,40 @@ Spider::Template.define_named_asset 'jquery-tools-tooltip', [
144
144
 
145
145
  Spider::Template.define_named_asset 'less', [
146
146
  [:js, 'js/less-1.1.3.min.js', Spider::Components, {:compressed => true}]
147
- ]
147
+ ]
148
+
149
+ Spider::Template.define_named_asset 'bootstrap-sass', [
150
+ [:css, 'bootstrap/scss/bootstrap.scss', Spider::Components]
151
+ ]
152
+
153
+ Spider::Template.define_named_asset 'bootstrap-alerts', [
154
+ [:js, 'bootstrap/js/bootstrap-alerts.js']
155
+ ]
156
+
157
+ Spider::Template.define_named_asset 'bootstrap-buttons', [
158
+ [:js, 'bootstrap/js/bootstrap-buttons.js']
159
+ ]
160
+
161
+ Spider::Template.define_named_asset 'bootstrap-dropdown', [
162
+ [:js, 'bootstrap/js/bootstrap-dropdown.js']
163
+ ]
164
+
165
+ Spider::Template.define_named_asset 'bootstrap-modal', [
166
+ [:js, 'bootstrap/js/bootstrap-modal.js']
167
+ ]
168
+
169
+ Spider::Template.define_named_asset 'bootstrap-popover', [
170
+ [:js, 'bootstrap/js//bootstrap-popover.js']
171
+ ]
172
+
173
+ Spider::Template.define_named_asset 'bootstrap-scrollspy', [
174
+ [:js, 'bootstrap/js//bootstrap-scrollspy.js']
175
+ ]
176
+
177
+ Spider::Template.define_named_asset 'bootstrap-tabs', [
178
+ [:js, 'bootstrap/js//bootstrap-tabs.js']
179
+ ]
180
+
181
+ Spider::Template.define_named_asset 'bootstrap-twipsy', [
182
+ [:js, 'bootstrap/js//bootstrap-twipsy.js']
183
+ ]
@@ -0,0 +1,13 @@
1
+ Copyright 2012 Twitter, Inc.
2
+
3
+ Licensed under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License.
5
+ You may obtain a copy of the License at
6
+
7
+ http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ Unless required by applicable law or agreed to in writing, software
10
+ distributed under the License is distributed on an "AS IS" BASIS,
11
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ See the License for the specific language governing permissions and
13
+ limitations under the License.
@@ -0,0 +1,28 @@
1
+ TWITTER BOOTSTRAP (SASS, SCSS)
2
+ ======================================
3
+
4
+ A `scss` and `sass` version of Twitter Bootstrap (v2.0).
5
+ The `scss` version is actively maintained while the `sass` is a converted from the `scss` version using `sass-convert`.
6
+
7
+ > [Bootstrap](http://twitter.github.com/bootstrap/ "Twitter Bootstrap") is Twitter's toolkit for kickstarting CSS for websites, apps, and more.
8
+ > It includes base CSS styles for typography, forms, buttons, tables, grids, navigation, alerts, and more.
9
+
10
+ Developers
11
+ ----------
12
+
13
+ <a href="http://compass-style.org/">Compass</a> - author and compile `sass` and `scss` files.
14
+
15
+ Authors
16
+ -------
17
+
18
+ **Brajeshwar Oinam**
19
+
20
+ + [@Brajeshwar](http://twitter.com/Brajeshwar "Title") on Twitter.
21
+ + http://brajeshwar.com
22
+
23
+ _Looking for co-authors who can help with development of the Compass version._
24
+
25
+ Copyright, license _et al_
26
+ -------------------------
27
+
28
+ Please refer to the original <a href="https://github.com/twitter/bootstrap#readme">Readme for Twitter Bootstrap</a> for Copyright, license and everything else.