spiderfw 0.6.27 → 0.6.28

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 (179) hide show
  1. data/CHANGELOG +4 -0
  2. data/VERSION +1 -1
  3. data/apps/core/admin/admin.rb +6 -2
  4. data/apps/core/admin/controllers/admin_controller.rb +10 -3
  5. data/apps/core/admin/controllers/app_admin_controller.rb +15 -0
  6. data/apps/core/admin/public/css/sass/admin.css +29 -33
  7. data/apps/core/admin/public/css/sass/grid.css +14 -0
  8. data/apps/core/admin/public/sass/admin.scss +3 -2
  9. data/apps/core/admin/views/admin.layout.shtml +1 -0
  10. data/apps/core/auth/controllers/mixins/auth_helper.rb +15 -5
  11. data/apps/core/components/assets.rb +60 -41
  12. data/apps/core/components/public/js/jquery/jquery-1.8.3.js +9472 -0
  13. data/apps/core/components/public/js/jquery/jquery-ui-1.8.11/ui/jquery.ui.core.js +1 -1
  14. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/button_bg.png +0 -0
  15. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/datepicker.gif +0 -0
  16. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/icon_sprite.png +0 -0
  17. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/progress_bar.gif +0 -0
  18. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/slider_h_bg.gif +0 -0
  19. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/slider_handles.png +0 -0
  20. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/slider_v_bg.gif +0 -0
  21. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/tab_bg.gif +0 -0
  22. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/the_gradient.gif +0 -0
  23. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/ui-anim_basic_16x16.gif +0 -0
  24. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  25. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  26. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/ui-bg_flat_10_000000_40x100.png +0 -0
  27. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  28. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  29. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  30. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  31. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  32. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  33. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/ui-icons_222222_256x240.png +0 -0
  34. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/ui-icons_228ef1_256x240.png +0 -0
  35. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/ui-icons_ef8c08_256x240.png +0 -0
  36. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/ui-icons_ffd27a_256x240.png +0 -0
  37. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/images/ui-icons_ffffff_256x240.png +0 -0
  38. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/css/Aristo/jquery-ui.custom.css +528 -0
  39. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-af.js +23 -0
  40. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-ar-DZ.js +23 -0
  41. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-ar.js +23 -0
  42. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-az.js +23 -0
  43. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-be.js +23 -0
  44. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-bg.js +24 -0
  45. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-bs.js +23 -0
  46. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-ca.js +23 -0
  47. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-cs.js +23 -0
  48. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-cy-GB.js +23 -0
  49. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-da.js +23 -0
  50. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-de.js +23 -0
  51. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-el.js +23 -0
  52. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-en-AU.js +23 -0
  53. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-en-GB.js +23 -0
  54. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-en-NZ.js +23 -0
  55. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-eo.js +23 -0
  56. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-es.js +23 -0
  57. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-et.js +23 -0
  58. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-eu.js +23 -0
  59. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-fa.js +59 -0
  60. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-fi.js +23 -0
  61. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-fo.js +23 -0
  62. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-fr-CA.js +23 -0
  63. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-fr-CH.js +23 -0
  64. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-fr.js +25 -0
  65. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-gl.js +23 -0
  66. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-he.js +23 -0
  67. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-hi.js +23 -0
  68. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-hr.js +23 -0
  69. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-hu.js +23 -0
  70. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-hy.js +23 -0
  71. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-id.js +23 -0
  72. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-is.js +23 -0
  73. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-it.js +23 -0
  74. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-ja.js +23 -0
  75. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-ka.js +21 -0
  76. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-kk.js +23 -0
  77. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-km.js +23 -0
  78. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-ko.js +23 -0
  79. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-ky.js +24 -0
  80. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-lb.js +23 -0
  81. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-lt.js +23 -0
  82. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-lv.js +23 -0
  83. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-mk.js +23 -0
  84. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-ml.js +23 -0
  85. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-ms.js +23 -0
  86. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-nb.js +22 -0
  87. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-nl-BE.js +23 -0
  88. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-nl.js +23 -0
  89. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-nn.js +22 -0
  90. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-no.js +23 -0
  91. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-pl.js +23 -0
  92. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-pt-BR.js +23 -0
  93. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-pt.js +22 -0
  94. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-rm.js +21 -0
  95. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-ro.js +26 -0
  96. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-ru.js +23 -0
  97. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-sk.js +23 -0
  98. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-sl.js +24 -0
  99. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-sq.js +23 -0
  100. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-sr-SR.js +23 -0
  101. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-sr.js +23 -0
  102. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-sv.js +23 -0
  103. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-ta.js +23 -0
  104. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-th.js +23 -0
  105. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-tj.js +23 -0
  106. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-tr.js +23 -0
  107. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-uk.js +24 -0
  108. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-vi.js +23 -0
  109. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-zh-CN.js +23 -0
  110. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-zh-HK.js +23 -0
  111. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-zh-TW.js +23 -0
  112. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.accordion.js +571 -0
  113. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.autocomplete.js +614 -0
  114. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.button.js +419 -0
  115. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.core.js +324 -0
  116. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.datepicker.js +2044 -0
  117. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.dialog.js +767 -0
  118. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.draggable.js +941 -0
  119. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.droppable.js +364 -0
  120. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-blind.js +82 -0
  121. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-bounce.js +113 -0
  122. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-clip.js +67 -0
  123. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-drop.js +65 -0
  124. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-explode.js +97 -0
  125. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-fade.js +30 -0
  126. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-fold.js +76 -0
  127. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-highlight.js +50 -0
  128. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-pulsate.js +63 -0
  129. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-scale.js +318 -0
  130. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-shake.js +74 -0
  131. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-slide.js +64 -0
  132. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-transfer.js +47 -0
  133. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect.js +1259 -0
  134. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.menu.js +621 -0
  135. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.mouse.js +169 -0
  136. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.position.js +497 -0
  137. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.progressbar.js +145 -0
  138. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.resizable.js +963 -0
  139. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.selectable.js +269 -0
  140. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.slider.js +641 -0
  141. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.sortable.js +1236 -0
  142. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.spinner.js +492 -0
  143. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.tabs.js +846 -0
  144. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.tooltip.js +400 -0
  145. data/apps/core/components/public/js/jquery/jquery-ui-1.9.2/ui/jquery.ui.widget.js +521 -0
  146. data/apps/core/components/public/js/jquery/plugins/bsmselect/js/jquery.bsmselect.js +3 -1
  147. data/apps/core/components/public/js/plugins/sortable.js +5 -5
  148. data/apps/core/components/widgets/month_calendar/month_calendar.shtml +1 -1
  149. data/apps/core/components/widgets/table/table.rb +18 -5
  150. data/apps/core/forms/public/date_time.js +3 -0
  151. data/apps/core/forms/widgets/form/form.rb +1 -1
  152. data/apps/core/forms/widgets/inputs/date_time/date_time.rb +5 -0
  153. data/apps/core/forms/widgets/inputs/file_input/file_input.rb +1 -1
  154. data/apps/core/forms/widgets/inputs/select/select.rb +11 -16
  155. data/apps/messenger/config/options.rb +5 -5
  156. data/apps/messenger/controllers/messenger_admin_controller.rb +1 -1
  157. data/apps/messenger/controllers/messenger_controller.rb +1 -1
  158. data/apps/messenger/lib/backends/mobyt.rb +1 -1
  159. data/apps/messenger/messenger.rb +4 -2
  160. data/apps/messenger/views/admin/index.shtml +1 -1
  161. data/lib/spiderfw/controller/dispatcher.rb +5 -5
  162. data/lib/spiderfw/controller/mixins/visual.rb +10 -8
  163. data/lib/spiderfw/http/http.rb +1 -1
  164. data/lib/spiderfw/model/base_model.rb +2 -2
  165. data/lib/spiderfw/model/mappers/db_mapper.rb +4 -2
  166. data/lib/spiderfw/model/mixins/tree.rb +4 -5
  167. data/lib/spiderfw/model/model.rb +2 -1
  168. data/lib/spiderfw/model/storage/db/adapters/mysql.rb +18 -20
  169. data/lib/spiderfw/model/storage/db/adapters/oracle.rb +1 -1
  170. data/lib/spiderfw/spider.rb +5 -1
  171. data/lib/spiderfw/templates/blocks/layout_assets.rb +5 -2
  172. data/lib/spiderfw/templates/layout.rb +7 -3
  173. data/lib/spiderfw/templates/template.rb +8 -1
  174. data/lib/spiderfw/utils/monkey/date_time.rb +7 -5
  175. data/lib/spiderfw/utils/monkey/module.rb +12 -0
  176. metadata +373 -157
  177. data/lib/spiderfw/model/storage/db/connectors/mysql.rb +0 -16
  178. data/lib/spiderfw/model/storage/db/connectors/mysql2.rb +0 -9
  179. /data/apps/core/admin/public/img/{icons-s845a69dd9f.png → icons-s8b18557db6.png} +0 -0
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ == 0.6.28
2
+ * Visualizzazione in core:table dei dati collegati, eliminazione dipendenze circolari in uow
3
+ * Bugfixes
4
+
1
5
  == 0.6.27
2
6
  * Clear caches when tmp/clear.txt touched
3
7
  * Bugfixes
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.27
1
+ 0.6.28
@@ -10,7 +10,7 @@ module Spider
10
10
  @apps[mod.short_name] = {
11
11
  :module => mod,
12
12
  :controller => controller,
13
- :options => options
13
+ :options => options || {}
14
14
  }
15
15
 
16
16
  Admin::AdminController.route mod.short_name, controller, :do => lambda{ |app_name|
@@ -23,9 +23,13 @@ module Spider
23
23
  @apps.each do |name, app|
24
24
  users += app[:options][:users] if app[:options][:users]
25
25
  end
26
- users << Spider::Auth::SuperUser
26
+ users += self.base_allowed_users
27
27
  users.uniq
28
28
  end
29
+
30
+ def self.base_allowed_users
31
+ [Spider::Auth::SuperUser]
32
+ end
29
33
 
30
34
 
31
35
  end
@@ -30,7 +30,13 @@ module Spider; module Admin
30
30
  include StaticContent
31
31
 
32
32
  def self.auth_require_users
33
- [[Spider::Admin.allowed_users, {:unless => [:login], :redirect => 'login'}]]
33
+ users = super
34
+ params = {:unless => [:login], :redirect => 'login'}
35
+ if users.empty?
36
+ [[Spider::Admin.allowed_users, params]]
37
+ else
38
+ users.map{ |u| [u[0], params.merge(u[1])]}
39
+ end
34
40
  end
35
41
 
36
42
  route 'login', LoginController
@@ -44,8 +50,9 @@ module Spider; module Admin
44
50
  @scene.username = @request.user.username
45
51
  @scene.apps = []
46
52
  Admin.apps.each do |short_name, app|
47
- unless @request.user.superuser?
48
- next if app[:options][:users] && !app[:options][:users].include?(@request.user.class)
53
+ unless @request.users.any?{ |u| u.superuser? }
54
+ next if app[:options][:users] && (app[:options][:users] & (@request.users.map{ |u| u.class})).empty?
55
+ next if app[:options][:check] && !@request.users.any?{ |u| app[:options][:check].call(u) }
49
56
  end
50
57
  url = self.class.http_url(short_name)
51
58
  @scene.apps << {
@@ -1,6 +1,7 @@
1
1
  module Spider; module Admin
2
2
 
3
3
  class AppAdminController < Spider::PageController
4
+ include Spider::Auth::AuthHelper
4
5
 
5
6
  def before(action='', *params)
6
7
  @scene.admin_breadcrumb ||= []
@@ -9,6 +10,20 @@ module Spider; module Admin
9
10
  end
10
11
  @_did_breadcrumb = true
11
12
  super
13
+ unless check_action(action, :login)
14
+ our_app = Spider::Admin.apps[self.class.app.short_name]
15
+ raise "Admin #{self.class.app.short_name} not configured" unless our_app
16
+ user_classes = our_app[:options][:users] || []
17
+ user_classes += Spider::Admin.base_allowed_users
18
+ if (user_classes & (@request.users.map{ |u| u.class})).empty?
19
+ raise Spider::Auth::Unauthorized.new(_("User not authorized to access this application"))
20
+ end
21
+ if our_app[:options][:check]
22
+ unless @request.users.any?{ |u| our_app[:options][:check].call(u) }
23
+ raise Spider::Auth::Unauthorized.new(_("User not authorized to access this application"))
24
+ end
25
+ end
26
+ end
12
27
  end
13
28
 
14
29
  end
@@ -13,12 +13,12 @@ body:after {
13
13
  clear: both;
14
14
  }
15
15
 
16
- /* line 27, icons */
16
+ /* line 42, icons/*.png */
17
17
  .icons-sprite, .icons-logout, #header #admin_controls .logout_link {
18
- background: url('../../img/icons-s845a69dd9f.png') no-repeat;
18
+ background: url('../../img/icons-s8b18557db6.png') no-repeat;
19
19
  }
20
20
 
21
- /* line 60, ../../../../../../../../../../Users/cerebus/.rbenv/versions/1.8.7-p352/lib/ruby/gems/1.8/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss */
21
+ /* line 60, ../../../../../../../../rvm/gems/ruby-1.9.3-p327/gems/compass-0.12.2/frameworks/compass/stylesheets/compass/utilities/sprites/_base.scss */
22
22
  .icons-logout, #header #admin_controls .logout_link {
23
23
  background-position: 0 0;
24
24
  }
@@ -50,7 +50,7 @@ body:after {
50
50
  /* line 44, ../../sass/admin.scss */
51
51
  #header {
52
52
  padding-bottom: 10px;
53
- background: url('../../img/css/header_bg.png?1321971233') repeat-x scroll center top;
53
+ background: url('../../img/css/header_bg.png?1354531644') repeat-x scroll center top;
54
54
  background-color: #417690;
55
55
  position: relative;
56
56
  border-bottom: 2px solid #555555;
@@ -103,26 +103,21 @@ body:after {
103
103
  min-width: 200px;
104
104
  margin-left: 60px;
105
105
  background-color: #f4f5f6;
106
- -moz-box-shadow: 0px 0px 5px #333333;
107
106
  -webkit-box-shadow: 0px 0px 5px #333333;
108
- -o-box-shadow: 0px 0px 5px #333333;
107
+ -moz-box-shadow: 0px 0px 5px #333333;
109
108
  box-shadow: 0px 0px 5px #333333;
110
- -moz-border-radius: 1px;
111
109
  -webkit-border-radius: 1px;
112
- -o-border-radius: 1px;
110
+ -moz-border-radius: 1px;
113
111
  -ms-border-radius: 1px;
114
- -khtml-border-radius: 1px;
112
+ -o-border-radius: 1px;
115
113
  border-radius: 1px;
116
114
  overflow: hidden;
117
115
  *zoom: 1;
118
- display: -moz-inline-box;
119
- -moz-box-orient: vertical;
116
+ display: -moz-inline-stack;
120
117
  display: inline-block;
121
118
  vertical-align: middle;
122
119
  *vertical-align: auto;
123
- }
124
- /* line 7, ../../../../../../../../../../Users/cerebus/.rbenv/versions/1.8.7-p352/lib/ruby/gems/1.8/gems/compass-0.11.5/frameworks/compass/stylesheets/compass/css3/_inline-block.scss */
125
- #header #app_buttons {
120
+ zoom: 1;
126
121
  *display: inline;
127
122
  }
128
123
  /* line 104, ../../sass/admin.scss */
@@ -131,15 +126,16 @@ body:after {
131
126
  }
132
127
  /* line 108, ../../sass/admin.scss */
133
128
  #header #app_buttons div {
134
- width: 55px;
129
+ min-width: 55px;
130
+ padding: 2px;
135
131
  height: 55px;
136
132
  margin: 5px;
137
- border: 1px solid #BBBBBB;
133
+ border: 1px solid #bbbbbb;
138
134
  text-align: center;
139
135
  float: left;
140
136
  background-color: #EEEEEE;
141
137
  }
142
- /* line 117, ../../sass/admin.scss */
138
+ /* line 118, ../../sass/admin.scss */
143
139
  #header #app_buttons div img {
144
140
  margin-left: auto;
145
141
  margin-right: auto;
@@ -147,52 +143,52 @@ body:after {
147
143
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
148
144
  opacity: 0.8;
149
145
  }
150
- /* line 124, ../../sass/admin.scss */
146
+ /* line 125, ../../sass/admin.scss */
151
147
  #header #app_buttons div span.name {
152
148
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=90);
153
149
  opacity: 0.9;
154
150
  display: block;
155
151
  font-size: 0.8em;
156
152
  }
157
- /* line 131, ../../sass/admin.scss */
153
+ /* line 132, ../../sass/admin.scss */
158
154
  #header #app_buttons a.active div {
159
- border: 1px solid #DDDD00;
155
+ border: 1px solid #dddd00;
160
156
  }
161
- /* line 133, ../../sass/admin.scss */
157
+ /* line 134, ../../sass/admin.scss */
162
158
  #header #app_buttons a.active div img {
163
159
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=70);
164
160
  opacity: 0.7;
165
161
  }
166
- /* line 136, ../../sass/admin.scss */
162
+ /* line 137, ../../sass/admin.scss */
167
163
  #header #app_buttons a.active div span.name {
168
164
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
169
165
  opacity: 0.8;
170
166
  }
171
167
 
172
- /* line 144, ../../sass/admin.scss */
168
+ /* line 145, ../../sass/admin.scss */
173
169
  #admin-switcher-menu .section_title {
174
170
  font-size: 14px;
175
171
  line-height: 36px;
176
172
  }
177
173
 
178
- /* line 154, ../../sass/admin.scss */
174
+ /* line 155, ../../sass/admin.scss */
179
175
  #spider-admin .container-fluid .content {
180
176
  background-color: white;
181
177
  }
182
178
 
183
- /* line 161, ../../sass/admin.scss */
179
+ /* line 162, ../../sass/admin.scss */
184
180
  #container, .spider-admin-container {
185
- background: url('../../img/css/side_bg.png?1321971233') repeat-y;
181
+ background: url('../../img/css/side_bg.png?1354531644') repeat-y;
186
182
  position: relative;
187
183
  min-width: 940px;
188
184
  padding-left: 20px;
189
185
  padding-right: 20px;
190
- border-bottom: 1px solid #CCCCCC;
186
+ border-bottom: 1px solid #cccccc;
191
187
  min-height: 500px;
192
188
  overflow: hidden;
193
189
  *zoom: 1;
194
190
  }
195
- /* line 171, ../../sass/admin.scss */
191
+ /* line 172, ../../sass/admin.scss */
196
192
  #container #sidebar, #container > .spider-admin-sidebar, .spider-admin-container #sidebar, .spider-admin-container > .spider-admin-sidebar {
197
193
  position: absolute;
198
194
  top: 0;
@@ -200,27 +196,27 @@ body:after {
200
196
  width: 220px;
201
197
  padding: 20px 10px;
202
198
  }
203
- /* line 178, ../../sass/admin.scss */
199
+ /* line 179, ../../sass/admin.scss */
204
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 {
205
201
  text-decoration: underline;
206
202
  }
207
- /* line 182, ../../sass/admin.scss */
203
+ /* line 183, ../../sass/admin.scss */
208
204
  #container #sidebar li, #container > .spider-admin-sidebar li, .spider-admin-container #sidebar li, .spider-admin-container > .spider-admin-sidebar li {
209
205
  margin-bottom: 1px;
210
206
  }
211
- /* line 187, ../../sass/admin.scss */
207
+ /* line 188, ../../sass/admin.scss */
212
208
  #container #content, #container > .spider-admin-content, .spider-admin-container #content, .spider-admin-container > .spider-admin-content {
213
209
  margin-left: 240px;
214
210
  }
215
211
 
216
- /* line 192, ../../sass/admin.scss */
212
+ /* line 193, ../../sass/admin.scss */
217
213
  .crud .table {
218
214
  width: auto;
219
215
  min-width: 400px;
220
216
  }
221
217
 
222
218
  @media screen and (max-width: 500px) {
223
- /* line 201, ../../sass/admin.scss */
219
+ /* line 202, ../../sass/admin.scss */
224
220
  #header #main_title {
225
221
  font-size: 10px;
226
222
  }
@@ -0,0 +1,14 @@
1
+ /* line 33, ../../sass/grid.scss */
2
+ body {
3
+ width: 100%;
4
+ *zoom: 1;
5
+ }
6
+ /* line 20, ../../sass/grid.scss */
7
+ body:before, body:after {
8
+ content: "";
9
+ display: table;
10
+ }
11
+ /* line 24, ../../sass/grid.scss */
12
+ body:after {
13
+ clear: both;
14
+ }
@@ -106,8 +106,9 @@ $sidebar_color: #DFDFDF;
106
106
  }
107
107
 
108
108
  div{
109
- width: 55px;
110
- height: 55px;
109
+ min-width: 55px;
110
+ padding: 2px;
111
+ height: 55px;
111
112
  margin: 5px;
112
113
  border: 1px solid #BBBBBB;
113
114
  text-align: center;
@@ -8,6 +8,7 @@
8
8
  </title>
9
9
  <tpl:output-assets type="css" />
10
10
  <tpl:output-assets type="js" />
11
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
11
12
  </head>
12
13
  <body id="spider-admin">
13
14
  <div id="header">
@@ -40,11 +40,16 @@ module Spider; module Auth
40
40
  user = nil
41
41
  unauthorized_exception = nil
42
42
  requested_class = nil
43
+ users = {}
44
+ klasses.uniq.each do |klass|
45
+ user = klass.restore(@request)
46
+ @request.security[:users] << user if user
47
+ users[klass] = user
48
+ end
43
49
  klasses.each do |klass|
44
50
  requested_class = klass
45
- user = klass.restore(@request)
51
+ user = users[klass]
46
52
  if user
47
- @request.security[:users] << user
48
53
  if params[:authentication]
49
54
  user = nil unless user.authenticated?(params[:authentication])
50
55
  elsif (params[:check])
@@ -74,10 +79,11 @@ module Spider; module Auth
74
79
 
75
80
  def try_rescue(exc)
76
81
  if (exc.is_a?(Unauthorized))
77
- base = @current_require[:redirect] ? @current_require[:redirect] : Spider::Auth.request_url+'/login/'
82
+ base = (@current_require && @current_require[:redirect]) ? @current_require[:redirect] : Spider::Auth.request_url+'/login/'
78
83
  base = self.class.url+'/'+base unless base[0].chr == '/'
79
- base += '?'
80
- redir_url = base + 'redirect='+URI.escape(@request.path)
84
+ base += (base.include?("?") ? "&" : "?")
85
+ get_params = @request.params.map{|k,v| "#{k}=#{v}"}.join('&')+"&" || ""
86
+ redir_url = base + get_params +'redirect='+URI.escape(@request.path)
81
87
  @request.session.flash[:unauthorized_exception] = {:class => exc.class.name, :message => exc.message}
82
88
  redirect(redir_url, Spider::HTTP::TEMPORARY_REDIRECT)
83
89
  else
@@ -95,6 +101,10 @@ module Spider; module Auth
95
101
  def user=(val)
96
102
  @user = val
97
103
  end
104
+
105
+ def users
106
+ security[:users]
107
+ end
98
108
 
99
109
  def auth(user_class)
100
110
  return user_class.restore_from_session(self.session)
@@ -1,5 +1,6 @@
1
1
  Spider::Template.define_named_asset 'jquery', [
2
- [:js, 'js/jquery/jquery-1.5.2.js', Spider::Components, {:cdn => 'https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js'}]
2
+ # [:js, 'js/jquery/jquery-1.5.2.js', Spider::Components, {:cdn => 'https://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js'}]
3
+ [:js, 'js/jquery/jquery-1.8.3.js', Spider::Components, {:cdn => 'https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js'}]
3
4
  ]
4
5
 
5
6
  Spider::Template.define_named_asset 'spider', [
@@ -25,7 +26,7 @@ Spider::Template.define_named_asset 'spider-utils', [
25
26
  # jQuery UI
26
27
 
27
28
  Spider::Template.define_runtime_asset 'jquery-ui-datepicker-locale' do |request, response, scene|
28
- Spider::Components.pub_url+"/js/jquery/jquery-ui-1.8.11/ui/i18n/jquery.ui.datepicker-#{request.locale.language}.js"
29
+ Spider::Components.pub_url+"/js/jquery/jquery-ui-1.9.2/ui/i18n/jquery.ui.datepicker-#{request.locale.language}.js"
29
30
  end
30
31
 
31
32
  Spider::Template.define_named_asset 'jquery-ui', [
@@ -38,80 +39,93 @@ Spider::Template.define_named_asset 'jquery-ui', [
38
39
 
39
40
 
40
41
  Spider::Template.define_named_asset 'jquery-ui-core', [
41
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.core.js', Spider::Components],
42
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.widget.js', Spider::Components],
43
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.mouse.js', Spider::Components],
44
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.position.js', Spider::Components],
45
- [:css, 'js/jquery/jquery-ui-1.8.11/css/Aristo/jquery-ui.custom.css', Spider::Components]
42
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.core.js', Spider::Components],
43
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.widget.js', Spider::Components],
44
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.mouse.js', Spider::Components],
45
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.position.js', Spider::Components],
46
+ [:css, 'js/jquery/jquery-ui-1.9.2/css/Aristo/jquery-ui.custom.css', Spider::Components]
46
47
  ], :depends => ['jquery']
47
48
 
48
49
  Spider::Template.define_named_asset 'jquery-ui-draggable', [
49
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.draggable.js', Spider::Components]
50
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.draggable.js', Spider::Components]
50
51
  ], :depends => ['jquery-ui-core']
51
52
 
52
53
  Spider::Template.define_named_asset 'jquery-ui-droppable', [
53
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.droppable.js', Spider::Components]
54
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.droppable.js', Spider::Components]
54
55
  ], :depends => ['jquery-ui-draggable']
55
56
 
56
57
  Spider::Template.define_named_asset 'jquery-ui-resizable', [
57
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.resizable.js', Spider::Components]
58
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.resizable.js', Spider::Components]
58
59
  ], :depends => ['jquery-ui-core']
59
60
 
60
61
  Spider::Template.define_named_asset 'jquery-ui-selectable', [
61
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.selectable.js', Spider::Components]
62
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.selectable.js', Spider::Components]
62
63
  ], :depends => ['jquery-ui-core']
63
64
 
64
65
  Spider::Template.define_named_asset 'jquery-ui-sortable', [
65
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.sortable.js', Spider::Components]
66
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.sortable.js', Spider::Components]
66
67
  ], :depends => ['jquery-ui-core']
67
68
 
68
69
  Spider::Template.define_named_asset 'jquery-ui-accordion', [
69
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.accordion.js', Spider::Components]
70
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.accordion.js', Spider::Components]
70
71
  ], :depends => ['jquery-ui-core']
71
72
 
72
73
  Spider::Template.define_named_asset 'jquery-ui-autocomplete', [
73
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.autocomplete.js', Spider::Components]
74
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.autocomplete.js', Spider::Components]
74
75
  ], :depends => ['jquery-ui-core']
75
76
 
76
77
  Spider::Template.define_named_asset 'jquery-ui-button', [
77
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.button.js', Spider::Components]
78
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.button.js', Spider::Components]
78
79
  ], :depends => ['jquery-ui-core']
79
80
 
80
81
  Spider::Template.define_named_asset 'jquery-ui-dialog', [
81
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.dialog.js', Spider::Components]
82
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.dialog.js', Spider::Components]
82
83
  ], :depends => ['jquery-ui-core']
83
84
 
84
85
  Spider::Template.define_named_asset 'jquery-ui-slider', [
85
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.slider.js', Spider::Components]
86
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.slider.js', Spider::Components]
86
87
  ], :depends => ['jquery-ui-core']
87
88
 
88
89
  Spider::Template.define_named_asset 'jquery-ui-tabs', [
89
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.tabs.js', Spider::Components]
90
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.tabs.js', Spider::Components]
90
91
  ], :depends => ['jquery-ui-core']
91
92
 
92
93
  Spider::Template.define_named_asset 'jquery-ui-datepicker', [
93
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.datepicker.js', Spider::Components],
94
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.datepicker.js', Spider::Components],
94
95
  [:js, 'jquery-ui-datepicker-locale', :runtime]
95
96
  ], :depends => ['jquery-ui-core']
96
97
 
97
98
  Spider::Template.define_named_asset 'jquery-ui-progressbar', [
98
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.ui.progressbar.js', Spider::Components]
99
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.progressbar.js', Spider::Components]
100
+ ], :depends => ['jquery-ui-core']
101
+
102
+ Spider::Template.define_named_asset 'jquery-ui-menu', [
103
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.menu.js', Spider::Components]
104
+ ], :depends => ['jquery-ui-core']
105
+
106
+ Spider::Template.define_named_asset 'jquery-ui-spinner', [
107
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.spinner.js', Spider::Components]
108
+ ], :depends => ['jquery-ui-core']
109
+
110
+ Spider::Template.define_named_asset 'jquery-ui-tooltip', [
111
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.tooltip.js', Spider::Components]
99
112
  ], :depends => ['jquery-ui-core']
100
113
 
101
114
  Spider::Template.define_named_asset 'jquery-effects', [
102
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.effects.core.js', Spider::Components],
103
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.effects.blind.js', Spider::Components],
104
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.effects.bounce.js', Spider::Components],
105
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.effects.clip.js', Spider::Components],
106
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.effects.drop.js', Spider::Components],
107
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.effects.explode.js', Spider::Components],
108
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.effects.fold.js', Spider::Components],
109
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.effects.highlight.js', Spider::Components],
110
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.effects.pulsate.js', Spider::Components],
111
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.effects.scale.js', Spider::Components],
112
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.effects.shake.js', Spider::Components],
113
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.effects.slide.js', Spider::Components],
114
- [:js, 'js/jquery/jquery-ui-1.8.11/ui/jquery.effects.transfer.js', Spider::Components]
115
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect.js', Spider::Components],
116
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-blind.js', Spider::Components],
117
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-bounce.js', Spider::Components],
118
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-clip.js', Spider::Components],
119
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-drop.js', Spider::Components],
120
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-explode.js', Spider::Components],
121
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-fade.js', Spider::Components],
122
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-fold.js', Spider::Components],
123
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-highlight.js', Spider::Components],
124
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-pulsate.js', Spider::Components],
125
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-scale.js', Spider::Components],
126
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-shake.js', Spider::Components],
127
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-slide.js', Spider::Components],
128
+ [:js, 'js/jquery/jquery-ui-1.9.2/ui/jquery.ui.effect-transfer.js', Spider::Components]
115
129
  ], :depends => ['jquery-ui-core']
116
130
 
117
131
  # jQuery Tools (http://flowplayer.org/tools/)
@@ -151,33 +165,38 @@ Spider::Template.define_named_asset 'bootstrap-sass', [
151
165
  ]
152
166
 
153
167
  Spider::Template.define_named_asset 'bootstrap-alerts', [
154
- [:js, 'bootstrap/js/bootstrap-alerts.js']
168
+ [:js, 'bootstrap/js/bootstrap-alerts.js', Spider::Components]
155
169
  ]
156
170
 
157
171
  Spider::Template.define_named_asset 'bootstrap-buttons', [
158
- [:js, 'bootstrap/js/bootstrap-buttons.js']
172
+ [:js, 'bootstrap/js/bootstrap-buttons.js', Spider::Components]
159
173
  ]
160
174
 
161
175
  Spider::Template.define_named_asset 'bootstrap-dropdown', [
162
- [:js, 'bootstrap/js/bootstrap-dropdown.js']
176
+ [:js, 'bootstrap/js/bootstrap-dropdown.js', Spider::Components]
163
177
  ]
164
178
 
165
179
  Spider::Template.define_named_asset 'bootstrap-modal', [
166
- [:js, 'bootstrap/js/bootstrap-modal.js']
180
+ [:js, 'bootstrap/js/bootstrap-modal.js', Spider::Components]
181
+ ]
182
+
183
+ Spider::Template.define_named_asset 'bootstrap-tooltip', [
184
+ [:js, 'bootstrap/js/bootstrap-tooltip.js', Spider::Components]
167
185
  ]
168
186
 
187
+
169
188
  Spider::Template.define_named_asset 'bootstrap-popover', [
170
- [:js, 'bootstrap/js//bootstrap-popover.js']
189
+ [:js, 'bootstrap/js/bootstrap-popover.js', Spider::Components]
171
190
  ]
172
191
 
173
192
  Spider::Template.define_named_asset 'bootstrap-scrollspy', [
174
- [:js, 'bootstrap/js//bootstrap-scrollspy.js']
193
+ [:js, 'bootstrap/js/bootstrap-scrollspy.js', Spider::Components]
175
194
  ]
176
195
 
177
196
  Spider::Template.define_named_asset 'bootstrap-tabs', [
178
- [:js, 'bootstrap/js//bootstrap-tabs.js']
197
+ [:js, 'bootstrap/js/bootstrap-tabs.js', Spider::Components]
179
198
  ]
180
199
 
181
200
  Spider::Template.define_named_asset 'bootstrap-twipsy', [
182
- [:js, 'bootstrap/js//bootstrap-twipsy.js']
201
+ [:js, 'bootstrap/js/bootstrap-twipsy.js', Spider::Components]
183
202
  ]