spiderfw 0.5.13 → 0.5.14

Sign up to get free protection for your applications and to get access to all the features.
Files changed (656) hide show
  1. data/CHANGELOG +11 -0
  2. data/Rakefile +7 -4
  3. data/VERSION +1 -1
  4. data/apps/admin/_init.rb +9 -0
  5. data/apps/admin/controllers/admin_controller.rb +12 -0
  6. data/apps/admin/widgets/dashboard_widget/dashboard_widget.rb +8 -0
  7. data/apps/app_server/app_server.rb +11 -1
  8. data/apps/app_server/config/options.rb +4 -0
  9. data/apps/app_server/controllers/app_server_controller.rb +47 -9
  10. data/apps/app_server/lib/app.rb +3 -1
  11. data/apps/app_server/lib/git_app.rb +16 -0
  12. data/apps/app_server/views/app_list.shtml +1 -1
  13. data/apps/cas_server/config/options.rb +4 -0
  14. data/apps/cas_server/controllers/mixins/cas_login_mixin.rb +192 -31
  15. data/apps/cas_server/lib/cas.rb +31 -9
  16. data/apps/core/auth/_init.rb +2 -2
  17. data/apps/core/auth/config/options.rb +6 -0
  18. data/apps/core/auth/controllers/login_controller.rb +1 -1
  19. data/apps/core/auth/controllers/mixins/auth_helper.rb +6 -1
  20. data/apps/core/auth/data/locale/it/LC_MESSAGES/spider_auth.mo +0 -0
  21. data/apps/core/auth/lib/login_authenticator.rb +12 -1
  22. data/apps/core/auth/lib/rbac.rb +25 -0
  23. data/apps/core/auth/models/group.rb +3 -8
  24. data/apps/core/auth/models/login_user.rb +11 -1
  25. data/apps/core/auth/models/mixins/rbac_provider.rb +60 -0
  26. data/apps/core/auth/po/it/spider_auth.po +19 -3
  27. data/apps/core/auth/po/spider_auth.pot +18 -2
  28. data/apps/core/auth/views/login.shtml +1 -0
  29. data/apps/core/components/_init.rb +2 -0
  30. data/apps/core/components/assets.rb +112 -0
  31. data/apps/core/components/po/it/spider_components.po +20 -6
  32. data/apps/core/components/po/spider_components.pot +16 -4
  33. data/apps/core/components/public/css/grid/1140.css +80 -0
  34. data/apps/core/components/public/css/grid/ie.css +43 -0
  35. data/apps/core/components/public/css/grid/layout.css +32 -0
  36. data/apps/core/components/public/css/grid/mobile.css +26 -0
  37. data/apps/core/components/public/css/grid/smallerscreen.css +3 -0
  38. data/apps/core/components/public/css/grid/typeimg.css +72 -0
  39. data/apps/core/components/public/js/jquery/{jquery-1.4.2.js → jquery-1.4.3.js} +1524 -881
  40. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/css/Aristo/images/button_bg.png +0 -0
  41. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/css/Aristo/images/datepicker.gif +0 -0
  42. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/css/Aristo/images/icon_sprite.png +0 -0
  43. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/css/Aristo/images/progress_bar.gif +0 -0
  44. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/css/Aristo/images/slider_h_bg.gif +0 -0
  45. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/css/Aristo/images/slider_handles.png +0 -0
  46. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/css/Aristo/images/slider_v_bg.gif +0 -0
  47. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/css/Aristo/images/tab_bg.gif +0 -0
  48. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/css/Aristo/images/the_gradient.gif +0 -0
  49. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/css/Aristo/images/ui-anim_basic_16x16.gif +0 -0
  50. data/apps/core/components/public/js/jquery/{jquery-ui/css/ui-lightness → jquery-ui-1.8.4/css/Aristo}/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  51. data/apps/core/components/public/js/jquery/{jquery-ui/css/ui-lightness → jquery-ui-1.8.4/css/Aristo}/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  52. data/apps/core/components/public/js/jquery/{jquery-ui/css/ui-lightness → jquery-ui-1.8.4/css/Aristo}/images/ui-bg_flat_10_000000_40x100.png +0 -0
  53. data/apps/core/components/public/js/jquery/{jquery-ui/css/ui-lightness → jquery-ui-1.8.4/css/Aristo}/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  54. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/css/Aristo/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  55. data/apps/core/components/public/js/jquery/{jquery-ui/css/ui-lightness → jquery-ui-1.8.4/css/Aristo}/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  56. data/apps/core/components/public/js/jquery/{jquery-ui/css/ui-lightness → jquery-ui-1.8.4/css/Aristo}/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  57. data/apps/core/components/public/js/jquery/{jquery-ui/css/ui-lightness → jquery-ui-1.8.4/css/Aristo}/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  58. data/apps/core/components/public/js/jquery/{jquery-ui/css/smoothness → jquery-ui-1.8.4/css/Aristo}/images/ui-icons_222222_256x240.png +0 -0
  59. data/apps/core/components/public/js/jquery/{jquery-ui/css/ui-lightness → jquery-ui-1.8.4/css/Aristo}/images/ui-icons_228ef1_256x240.png +0 -0
  60. data/apps/core/components/public/js/jquery/{jquery-ui/css/ui-lightness → jquery-ui-1.8.4/css/Aristo}/images/ui-icons_ef8c08_256x240.png +0 -0
  61. data/apps/core/components/public/js/jquery/{jquery-ui/css/ui-lightness → jquery-ui-1.8.4/css/Aristo}/images/ui-icons_ffd27a_256x240.png +0 -0
  62. data/apps/core/components/public/js/jquery/{jquery-ui/css/ui-lightness → jquery-ui-1.8.4/css/Aristo}/images/ui-icons_ffffff_256x240.png +0 -0
  63. data/apps/core/components/public/js/jquery/{jquery-ui/css/ui-lightness/jquery-ui-1.7.2.custom.css → jquery-ui-1.8.4/css/Aristo/jquery-ui.custom.css} +249 -135
  64. data/apps/core/components/public/js/jquery/{jquery-ui → jquery-ui-1.8.4}/development-bundle/AUTHORS.txt +2 -2
  65. data/apps/core/components/public/js/jquery/{jquery-ui → jquery-ui-1.8.4}/development-bundle/GPL-LICENSE.txt +0 -0
  66. data/apps/core/components/public/js/jquery/{jquery-ui → jquery-ui-1.8.4}/development-bundle/MIT-LICENSE.txt +1 -1
  67. data/apps/core/components/public/js/jquery/{jquery-ui → jquery-ui-1.8.4}/development-bundle/ui/i18n/jquery-ui-i18n.js +516 -111
  68. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-af.js +23 -0
  69. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-ar.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-ar.js} +6 -2
  70. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-az.js +23 -0
  71. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-bg.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-bg.js} +6 -2
  72. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-bs.js +23 -0
  73. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-ca.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-ca.js} +7 -3
  74. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-cs.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-cs.js} +6 -2
  75. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-da.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-da.js} +6 -2
  76. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-de.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-de.js} +6 -2
  77. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-el.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-el.js} +6 -2
  78. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-en-GB.js +23 -0
  79. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-eo.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-eo.js} +6 -2
  80. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-es.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-es.js} +7 -3
  81. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-et.js +23 -0
  82. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-eu.js +23 -0
  83. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-fa.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-fa.js} +6 -2
  84. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-fi.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-fi.js} +6 -2
  85. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-fo.js +23 -0
  86. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-fr-CH.js +23 -0
  87. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-fr.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-fr.js} +7 -3
  88. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-he.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-he.js} +6 -2
  89. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-hr.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-hr.js} +8 -4
  90. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-hu.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-hu.js} +8 -4
  91. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-hy.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-hy.js} +6 -2
  92. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-id.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-id.js} +6 -2
  93. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-is.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-is.js} +6 -2
  94. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-it.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-it.js} +10 -6
  95. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-ja.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-ja.js} +5 -2
  96. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-ko.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-ko.js} +6 -2
  97. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-lt.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-lt.js} +6 -2
  98. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-lv.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-lv.js} +6 -2
  99. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-ms.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-ms.js} +6 -2
  100. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-nl.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-nl.js} +6 -2
  101. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-no.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-no.js} +6 -2
  102. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-pl.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-pl.js} +7 -3
  103. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-pt-BR.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-pt-BR.js} +9 -5
  104. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-ro.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-ro.js} +7 -3
  105. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-ru.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-ru.js} +6 -2
  106. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-sk.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-sk.js} +6 -2
  107. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-sl.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-sl.js} +6 -2
  108. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-sq.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-sq.js} +6 -2
  109. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-sr-SR.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-sr-SR.js} +6 -2
  110. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-sr.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-sr.js} +6 -2
  111. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-sv.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-sv.js} +6 -2
  112. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-ta.js +23 -0
  113. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-th.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-th.js} +6 -2
  114. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-tr.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-tr.js} +6 -2
  115. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-uk.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-uk.js} +10 -12
  116. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-vi.js +23 -0
  117. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-zh-CN.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-zh-CN.js} +6 -2
  118. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-zh-HK.js +23 -0
  119. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/i18n/ui.datepicker-zh-TW.js → jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-zh-TW.js} +6 -2
  120. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/effects.blind.js → jquery-ui-1.8.4/development-bundle/ui/jquery.effects.blind.js} +6 -6
  121. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/effects.bounce.js → jquery-ui-1.8.4/development-bundle/ui/jquery.effects.bounce.js} +6 -6
  122. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/effects.clip.js → jquery-ui-1.8.4/development-bundle/ui/jquery.effects.clip.js} +6 -6
  123. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/effects.core.js → jquery-ui-1.8.4/development-bundle/ui/jquery.effects.core.js} +390 -221
  124. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/effects.drop.js → jquery-ui-1.8.4/development-bundle/ui/jquery.effects.drop.js} +6 -6
  125. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/effects.explode.js → jquery-ui-1.8.4/development-bundle/ui/jquery.effects.explode.js} +6 -6
  126. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/effects.fold.js → jquery-ui-1.8.4/development-bundle/ui/jquery.effects.fold.js} +6 -6
  127. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.effects.highlight.js +50 -0
  128. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.effects.pulsate.js +51 -0
  129. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/effects.scale.js → jquery-ui-1.8.4/development-bundle/ui/jquery.effects.scale.js} +29 -31
  130. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/effects.shake.js → jquery-ui-1.8.4/development-bundle/ui/jquery.effects.shake.js} +6 -6
  131. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/effects.slide.js → jquery-ui-1.8.4/development-bundle/ui/jquery.effects.slide.js} +6 -6
  132. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/effects.transfer.js → jquery-ui-1.8.4/development-bundle/ui/jquery.effects.transfer.js} +6 -6
  133. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.accordion.js +598 -0
  134. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.autocomplete.js +550 -0
  135. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.button.js +365 -0
  136. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.core.js +281 -0
  137. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/ui.datepicker.js → jquery-ui-1.8.4/development-bundle/ui/jquery.ui.datepicker.js} +343 -247
  138. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.dialog.js +827 -0
  139. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/ui.draggable.js → jquery-ui-1.8.4/development-bundle/ui/jquery.ui.draggable.js} +107 -76
  140. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/ui.droppable.js → jquery-ui-1.8.4/development-bundle/ui/jquery.ui.droppable.js} +48 -45
  141. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.mouse.js +151 -0
  142. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.position.js +233 -0
  143. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.progressbar.js +94 -0
  144. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/ui.resizable.js → jquery-ui-1.8.4/development-bundle/ui/jquery.ui.resizable.js} +73 -61
  145. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/ui.selectable.js → jquery-ui-1.8.4/development-bundle/ui/jquery.ui.selectable.js} +42 -33
  146. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.slider.js +680 -0
  147. data/apps/core/components/public/js/jquery/{jquery-ui/development-bundle/ui/ui.sortable.js → jquery-ui-1.8.4/development-bundle/ui/jquery.ui.sortable.js} +136 -84
  148. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.tabs.js +757 -0
  149. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.widget.js +237 -0
  150. data/apps/core/components/public/js/jquery/jquery-ui-1.8.4/development-bundle/version.txt +1 -0
  151. data/apps/core/components/public/js/jquery/patches/jquery-ui/jquery.ui.autocomplete-001.patch +17 -0
  152. data/apps/core/components/public/js/jquery/plugins/jquery.datalink.js +258 -0
  153. data/apps/core/components/public/js/jquery/plugins/jquery.json.js +178 -0
  154. data/apps/core/components/public/js/plugins/sortable.js +96 -72
  155. data/apps/core/components/public/js/spider.js +108 -50
  156. data/apps/core/components/public/js/utils.i18n.json +1 -0
  157. data/apps/core/components/public/js/utils.js +27 -0
  158. data/apps/core/components/widgets/admin/admin.rb +1 -1
  159. data/apps/core/components/widgets/admin/admin.shtml +1 -0
  160. data/apps/core/components/widgets/crud/crud.rb +6 -2
  161. data/apps/core/components/widgets/crud/crud.shtml +1 -0
  162. data/apps/core/components/widgets/list/list.rb +1 -1
  163. data/apps/core/components/widgets/list/list.shtml +2 -2
  164. data/apps/core/components/widgets/search_table/search_table.shtml +1 -1
  165. data/apps/core/components/widgets/switcher/switcher.rb +5 -1
  166. data/apps/core/components/widgets/table/table.rb +18 -3
  167. data/apps/core/components/widgets/table/table.shtml +1 -1
  168. data/apps/core/components/widgets/tabs/tabs.rb +0 -1
  169. data/apps/core/forms/_init.rb +3 -1
  170. data/apps/core/forms/public/ckeditor/adapters/jquery.js +6 -0
  171. data/apps/core/forms/public/ckeditor/ckeditor.js +137 -0
  172. data/apps/core/forms/public/ckeditor/images/spacer.gif +0 -0
  173. data/apps/core/forms/public/ckeditor/lang/_languages.js +6 -0
  174. data/apps/core/forms/public/ckeditor/lang/_translationstatus.txt +60 -0
  175. data/apps/core/forms/public/ckeditor/lang/af.js +6 -0
  176. data/apps/core/forms/public/ckeditor/lang/ar.js +6 -0
  177. data/apps/core/forms/public/ckeditor/lang/bg.js +6 -0
  178. data/apps/core/forms/public/ckeditor/lang/bn.js +6 -0
  179. data/apps/core/forms/public/ckeditor/lang/bs.js +6 -0
  180. data/apps/core/forms/public/ckeditor/lang/ca.js +6 -0
  181. data/apps/core/forms/public/ckeditor/lang/cs.js +6 -0
  182. data/apps/core/forms/public/ckeditor/lang/cy.js +6 -0
  183. data/apps/core/forms/public/ckeditor/lang/da.js +6 -0
  184. data/apps/core/forms/public/ckeditor/lang/de.js +6 -0
  185. data/apps/core/forms/public/ckeditor/lang/el.js +6 -0
  186. data/apps/core/forms/public/ckeditor/lang/en-au.js +6 -0
  187. data/apps/core/forms/public/ckeditor/lang/en-ca.js +6 -0
  188. data/apps/core/forms/public/ckeditor/lang/en-gb.js +6 -0
  189. data/apps/core/forms/public/ckeditor/lang/en.js +6 -0
  190. data/apps/core/forms/public/ckeditor/lang/eo.js +6 -0
  191. data/apps/core/forms/public/ckeditor/lang/es.js +6 -0
  192. data/apps/core/forms/public/ckeditor/lang/et.js +6 -0
  193. data/apps/core/forms/public/ckeditor/lang/eu.js +6 -0
  194. data/apps/core/forms/public/ckeditor/lang/fa.js +6 -0
  195. data/apps/core/forms/public/ckeditor/lang/fi.js +6 -0
  196. data/apps/core/forms/public/ckeditor/lang/fo.js +6 -0
  197. data/apps/core/forms/public/ckeditor/lang/fr-ca.js +6 -0
  198. data/apps/core/forms/public/ckeditor/lang/fr.js +6 -0
  199. data/apps/core/forms/public/ckeditor/lang/gl.js +6 -0
  200. data/apps/core/forms/public/ckeditor/lang/gu.js +6 -0
  201. data/apps/core/forms/public/ckeditor/lang/he.js +6 -0
  202. data/apps/core/forms/public/ckeditor/lang/hi.js +6 -0
  203. data/apps/core/forms/public/ckeditor/lang/hr.js +6 -0
  204. data/apps/core/forms/public/ckeditor/lang/hu.js +6 -0
  205. data/apps/core/forms/public/ckeditor/lang/is.js +6 -0
  206. data/apps/core/forms/public/ckeditor/lang/it.js +6 -0
  207. data/apps/core/forms/public/ckeditor/lang/ja.js +6 -0
  208. data/apps/core/forms/public/ckeditor/lang/km.js +6 -0
  209. data/apps/core/forms/public/ckeditor/lang/ko.js +6 -0
  210. data/apps/core/forms/public/ckeditor/lang/lt.js +6 -0
  211. data/apps/core/forms/public/ckeditor/lang/lv.js +6 -0
  212. data/apps/core/forms/public/ckeditor/lang/mn.js +6 -0
  213. data/apps/core/forms/public/ckeditor/lang/ms.js +6 -0
  214. data/apps/core/forms/public/ckeditor/lang/nb.js +6 -0
  215. data/apps/core/forms/public/ckeditor/lang/nl.js +6 -0
  216. data/apps/core/forms/public/ckeditor/lang/no.js +6 -0
  217. data/apps/core/forms/public/ckeditor/lang/pl.js +6 -0
  218. data/apps/core/forms/public/ckeditor/lang/pt-br.js +6 -0
  219. data/apps/core/forms/public/ckeditor/lang/pt.js +6 -0
  220. data/apps/core/forms/public/ckeditor/lang/ro.js +6 -0
  221. data/apps/core/forms/public/ckeditor/lang/ru.js +6 -0
  222. data/apps/core/forms/public/ckeditor/lang/sk.js +6 -0
  223. data/apps/core/forms/public/ckeditor/lang/sl.js +6 -0
  224. data/apps/core/forms/public/ckeditor/lang/sr-latn.js +6 -0
  225. data/apps/core/forms/public/ckeditor/lang/sr.js +6 -0
  226. data/apps/core/forms/public/ckeditor/lang/sv.js +6 -0
  227. data/apps/core/forms/public/ckeditor/lang/th.js +6 -0
  228. data/apps/core/forms/public/ckeditor/lang/tr.js +6 -0
  229. data/apps/core/forms/public/ckeditor/lang/uk.js +6 -0
  230. data/apps/core/forms/public/ckeditor/lang/vi.js +6 -0
  231. data/apps/core/forms/public/ckeditor/lang/zh-cn.js +6 -0
  232. data/apps/core/forms/public/ckeditor/lang/zh.js +6 -0
  233. data/apps/core/forms/public/ckeditor/plugins/a11yhelp/dialogs/a11yhelp.js +7 -0
  234. data/apps/core/forms/public/ckeditor/plugins/a11yhelp/lang/en.js +6 -0
  235. data/apps/core/forms/public/ckeditor/plugins/a11yhelp/lang/he.js +6 -0
  236. data/apps/core/forms/public/ckeditor/plugins/about/dialogs/about.js +6 -0
  237. data/apps/core/forms/public/ckeditor/plugins/about/dialogs/logo_ckeditor.png +0 -0
  238. data/apps/core/forms/public/ckeditor/plugins/autogrow/plugin.js +6 -0
  239. data/apps/core/forms/public/ckeditor/plugins/clipboard/dialogs/paste.js +7 -0
  240. data/apps/core/forms/public/ckeditor/plugins/colordialog/dialogs/colordialog.js +7 -0
  241. data/apps/core/forms/public/ckeditor/plugins/dialog/dialogDefinition.js +4 -0
  242. data/apps/core/forms/public/ckeditor/plugins/div/dialogs/div.js +8 -0
  243. data/apps/core/forms/public/ckeditor/plugins/find/dialogs/find.js +9 -0
  244. data/apps/core/forms/public/ckeditor/plugins/flash/dialogs/flash.js +9 -0
  245. data/apps/core/forms/public/ckeditor/plugins/flash/images/placeholder.png +0 -0
  246. data/apps/core/forms/public/ckeditor/plugins/forms/dialogs/button.js +6 -0
  247. data/apps/core/forms/public/ckeditor/plugins/forms/dialogs/checkbox.js +6 -0
  248. data/apps/core/forms/public/ckeditor/plugins/forms/dialogs/form.js +6 -0
  249. data/apps/core/forms/public/ckeditor/plugins/forms/dialogs/hiddenfield.js +6 -0
  250. data/apps/core/forms/public/ckeditor/plugins/forms/dialogs/radio.js +6 -0
  251. data/apps/core/forms/public/ckeditor/plugins/forms/dialogs/select.js +9 -0
  252. data/apps/core/forms/public/ckeditor/plugins/forms/dialogs/textarea.js +6 -0
  253. data/apps/core/forms/public/ckeditor/plugins/forms/dialogs/textfield.js +7 -0
  254. data/apps/core/forms/public/ckeditor/plugins/forms/images/hiddenfield.gif +0 -0
  255. data/apps/core/forms/public/ckeditor/plugins/iframedialog/plugin.js +6 -0
  256. data/apps/core/forms/public/ckeditor/plugins/image/dialogs/image.js +13 -0
  257. data/apps/core/forms/public/ckeditor/plugins/link/dialogs/anchor.js +6 -0
  258. data/apps/core/forms/public/ckeditor/plugins/link/dialogs/link.js +11 -0
  259. data/apps/core/forms/public/ckeditor/plugins/link/images/anchor.gif +0 -0
  260. data/apps/core/forms/public/ckeditor/plugins/liststyle/dialogs/liststyle.js +6 -0
  261. data/apps/core/forms/public/ckeditor/plugins/pagebreak/images/pagebreak.gif +0 -0
  262. data/apps/core/forms/public/ckeditor/plugins/pastefromword/filter/default.js +10 -0
  263. data/apps/core/forms/public/ckeditor/plugins/pastetext/dialogs/pastetext.js +6 -0
  264. data/apps/core/forms/public/ckeditor/plugins/scayt/dialogs/options.js +8 -0
  265. data/apps/core/forms/public/ckeditor/plugins/scayt/dialogs/toolbar.css +6 -0
  266. data/apps/core/forms/public/ckeditor/plugins/showblocks/images/block_address.png +0 -0
  267. data/apps/core/forms/public/ckeditor/plugins/showblocks/images/block_blockquote.png +0 -0
  268. data/apps/core/forms/public/ckeditor/plugins/showblocks/images/block_div.png +0 -0
  269. data/apps/core/forms/public/ckeditor/plugins/showblocks/images/block_h1.png +0 -0
  270. data/apps/core/forms/public/ckeditor/plugins/showblocks/images/block_h2.png +0 -0
  271. data/apps/core/forms/public/ckeditor/plugins/showblocks/images/block_h3.png +0 -0
  272. data/apps/core/forms/public/ckeditor/plugins/showblocks/images/block_h4.png +0 -0
  273. data/apps/core/forms/public/ckeditor/plugins/showblocks/images/block_h5.png +0 -0
  274. data/apps/core/forms/public/ckeditor/plugins/showblocks/images/block_h6.png +0 -0
  275. data/apps/core/forms/public/ckeditor/plugins/showblocks/images/block_p.png +0 -0
  276. data/apps/core/forms/public/ckeditor/plugins/showblocks/images/block_pre.png +0 -0
  277. data/apps/core/forms/public/ckeditor/plugins/smiley/dialogs/smiley.js +7 -0
  278. data/apps/core/forms/public/ckeditor/plugins/smiley/images/angel_smile.gif +0 -0
  279. data/apps/core/forms/public/ckeditor/plugins/smiley/images/angry_smile.gif +0 -0
  280. data/apps/core/forms/public/ckeditor/plugins/smiley/images/broken_heart.gif +0 -0
  281. data/apps/core/forms/public/ckeditor/plugins/smiley/images/confused_smile.gif +0 -0
  282. data/apps/core/forms/public/ckeditor/plugins/smiley/images/cry_smile.gif +0 -0
  283. data/apps/core/forms/public/ckeditor/plugins/smiley/images/devil_smile.gif +0 -0
  284. data/apps/core/forms/public/ckeditor/plugins/smiley/images/embaressed_smile.gif +0 -0
  285. data/apps/core/forms/public/ckeditor/plugins/smiley/images/envelope.gif +0 -0
  286. data/apps/core/forms/public/ckeditor/plugins/smiley/images/heart.gif +0 -0
  287. data/apps/core/forms/public/ckeditor/plugins/smiley/images/kiss.gif +0 -0
  288. data/apps/core/forms/public/ckeditor/plugins/smiley/images/lightbulb.gif +0 -0
  289. data/apps/core/forms/public/ckeditor/plugins/smiley/images/omg_smile.gif +0 -0
  290. data/apps/core/forms/public/ckeditor/plugins/smiley/images/regular_smile.gif +0 -0
  291. data/apps/core/forms/public/ckeditor/plugins/smiley/images/sad_smile.gif +0 -0
  292. data/apps/core/forms/public/ckeditor/plugins/smiley/images/shades_smile.gif +0 -0
  293. data/apps/core/forms/public/ckeditor/plugins/smiley/images/teeth_smile.gif +0 -0
  294. data/apps/core/forms/public/ckeditor/plugins/smiley/images/thumbs_down.gif +0 -0
  295. data/apps/core/forms/public/ckeditor/plugins/smiley/images/thumbs_up.gif +0 -0
  296. data/apps/core/forms/public/ckeditor/plugins/smiley/images/tounge_smile.gif +0 -0
  297. data/apps/core/forms/public/ckeditor/plugins/smiley/images/whatchutalkingabout_smile.gif +0 -0
  298. data/apps/core/forms/public/ckeditor/plugins/smiley/images/wink_smile.gif +0 -0
  299. data/apps/core/forms/public/ckeditor/plugins/specialchar/dialogs/specialchar.js +7 -0
  300. data/apps/core/forms/public/ckeditor/plugins/styles/styles/default.js +6 -0
  301. data/apps/core/forms/public/ckeditor/plugins/table/dialogs/table.js +9 -0
  302. data/apps/core/forms/public/ckeditor/plugins/tableresize/plugin.js +7 -0
  303. data/apps/core/forms/public/ckeditor/plugins/tabletools/dialogs/tableCell.js +8 -0
  304. data/apps/core/forms/public/ckeditor/plugins/templates/dialogs/templates.js +7 -0
  305. data/apps/core/forms/public/ckeditor/plugins/templates/templates/default.js +6 -0
  306. data/apps/core/forms/public/ckeditor/plugins/templates/templates/images/template1.gif +0 -0
  307. data/apps/core/forms/public/ckeditor/plugins/templates/templates/images/template2.gif +0 -0
  308. data/apps/core/forms/public/ckeditor/plugins/templates/templates/images/template3.gif +0 -0
  309. data/apps/core/forms/public/ckeditor/plugins/uicolor/dialogs/uicolor.js +7 -0
  310. data/apps/core/forms/public/ckeditor/plugins/uicolor/lang/en.js +6 -0
  311. data/apps/core/forms/public/ckeditor/plugins/uicolor/lang/he.js +6 -0
  312. data/apps/core/forms/public/ckeditor/plugins/uicolor/plugin.js +6 -0
  313. data/apps/core/forms/public/ckeditor/plugins/uicolor/uicolor.gif +0 -0
  314. data/apps/core/forms/public/ckeditor/plugins/uicolor/yui/assets/hue_bg.png +0 -0
  315. data/apps/core/forms/public/ckeditor/plugins/uicolor/yui/assets/hue_thumb.png +0 -0
  316. data/apps/core/forms/public/ckeditor/plugins/uicolor/yui/assets/picker_mask.png +0 -0
  317. data/apps/core/forms/public/ckeditor/plugins/uicolor/yui/assets/picker_thumb.png +0 -0
  318. data/apps/core/forms/public/ckeditor/plugins/uicolor/yui/assets/yui.css +6 -0
  319. data/apps/core/forms/public/ckeditor/plugins/uicolor/yui/yui.js +76 -0
  320. data/apps/core/forms/public/ckeditor/plugins/wsc/dialogs/ciframe.html +49 -0
  321. data/apps/core/forms/public/ckeditor/plugins/wsc/dialogs/tmpFrameset.html +52 -0
  322. data/apps/core/forms/public/ckeditor/plugins/wsc/dialogs/wsc.css +6 -0
  323. data/apps/core/forms/public/ckeditor/plugins/wsc/dialogs/wsc.js +7 -0
  324. data/apps/core/forms/public/ckeditor/skins/kama/dialog.css +9 -0
  325. data/apps/core/forms/public/ckeditor/skins/kama/editor.css +12 -0
  326. data/apps/core/forms/public/ckeditor/skins/kama/icons.png +0 -0
  327. data/apps/core/forms/public/ckeditor/skins/kama/icons_rtl.png +0 -0
  328. data/apps/core/forms/public/ckeditor/skins/kama/images/dialog_sides.gif +0 -0
  329. data/apps/core/forms/public/ckeditor/skins/kama/images/dialog_sides.png +0 -0
  330. data/apps/core/forms/public/ckeditor/skins/kama/images/dialog_sides_rtl.png +0 -0
  331. data/apps/core/forms/public/ckeditor/skins/kama/images/mini.gif +0 -0
  332. data/apps/core/forms/public/ckeditor/skins/kama/images/noimage.png +0 -0
  333. data/apps/core/forms/public/ckeditor/skins/kama/images/sprites.png +0 -0
  334. data/apps/core/forms/public/ckeditor/skins/kama/images/sprites_ie6.png +0 -0
  335. data/apps/core/forms/public/ckeditor/skins/kama/images/toolbar_start.gif +0 -0
  336. data/apps/core/forms/public/ckeditor/skins/kama/skin.js +7 -0
  337. data/apps/core/forms/public/ckeditor/skins/kama/templates.css +6 -0
  338. data/apps/core/forms/public/ckeditor/themes/default/theme.js +8 -0
  339. data/apps/core/forms/public/css/form.css +3 -0
  340. data/apps/core/forms/public/file_input.js +1 -1
  341. data/apps/core/forms/public/html_area.js +55 -0
  342. data/apps/core/forms/public/search_select.js +46 -19
  343. data/apps/core/forms/public/select.js +11 -5
  344. data/apps/core/forms/widgets/form/form.rb +22 -6
  345. data/apps/core/forms/widgets/form/form.shtml +2 -0
  346. data/apps/core/forms/widgets/inputs/date_time/date_time.rb +6 -1
  347. data/apps/core/forms/widgets/inputs/date_time/date_time.shtml +1 -0
  348. data/apps/core/forms/widgets/inputs/html_area/html_area.rb +51 -0
  349. data/apps/core/forms/widgets/inputs/html_area/html_area.shtml +13 -0
  350. data/apps/core/forms/widgets/inputs/search_select/search_select.rb +8 -10
  351. data/apps/core/forms/widgets/inputs/search_select/search_select.shtml +7 -7
  352. data/apps/core/forms/widgets/inputs/select/select.rb +15 -9
  353. data/apps/core/forms/widgets/inputs/select/select.shtml +1 -1
  354. data/apps/core/forms/widgets/inputs/time_span/time_span.rb +42 -0
  355. data/apps/core/forms/widgets/inputs/time_span/time_span.shtml +8 -0
  356. data/apps/master/_init.rb +18 -0
  357. data/apps/master/cmd.rb +57 -0
  358. data/apps/master/config/options.rb +6 -0
  359. data/apps/master/controllers/login_controller.rb +22 -0
  360. data/apps/master/controllers/master_controller.rb +261 -10
  361. data/apps/master/controllers/scout_controller.rb +121 -0
  362. data/apps/master/controllers/servant_controller.rb +16 -0
  363. data/apps/master/data/locale/it/LC_MESSAGES/spider_master.mo +0 -0
  364. data/apps/master/lib/resource.rb +7 -0
  365. data/apps/master/lib/resources/db_resource.rb +7 -0
  366. data/apps/master/lib/scout_plugin.rb +89 -0
  367. data/apps/master/lib/site_type.rb +24 -0
  368. data/apps/master/master.rb +40 -0
  369. data/apps/master/models/admin.rb +35 -0
  370. data/apps/master/models/command.rb +17 -0
  371. data/apps/master/models/customer.rb +20 -1
  372. data/apps/master/models/resource.rb +1 -0
  373. data/apps/master/models/scout_alert.rb +30 -0
  374. data/apps/master/models/scout_average.rb +23 -0
  375. data/apps/master/models/scout_error.rb +30 -0
  376. data/apps/master/models/scout_plugin_info.rb +11 -0
  377. data/apps/master/models/scout_plugin_instance.rb +303 -0
  378. data/apps/master/models/scout_plugin_trigger.rb +285 -0
  379. data/apps/master/models/scout_report.rb +31 -0
  380. data/apps/master/models/scout_report_field.rb +26 -0
  381. data/apps/master/models/servant.rb +82 -6
  382. data/apps/master/plugins/resources/apache/apache.rb +9 -0
  383. data/apps/master/plugins/resources/mysql/mysql.rb +45 -0
  384. data/apps/master/plugins/site_types/spider/spider.rb +11 -0
  385. data/apps/master/po/it/spider_master.po +352 -0
  386. data/apps/master/po/spider_master.pot +331 -0
  387. data/apps/master/public/css/img/web.png +0 -0
  388. data/apps/master/public/css/login.css +51 -0
  389. data/apps/master/public/css/master.css +290 -0
  390. data/apps/master/public/css/reset.css +23 -0
  391. data/apps/master/public/js/charts.js +84 -0
  392. data/apps/master/public/js/master.js +3 -0
  393. data/apps/master/templates/email/alert.html.erb +14 -0
  394. data/apps/master/templates/email/alert.text.erb +4 -0
  395. data/apps/master/views/admin.layout.shtml +14 -0
  396. data/apps/master/views/admin.shtml +5 -0
  397. data/apps/master/views/customer.shtml +37 -14
  398. data/apps/master/views/customers.shtml +9 -7
  399. data/apps/master/views/login.layout.shtml +13 -0
  400. data/apps/master/views/master.layout.shtml +26 -3
  401. data/apps/master/views/plugin_data.shtml +30 -0
  402. data/apps/master/views/plugin_edit.shtml +41 -0
  403. data/apps/master/views/plugin_instance.shtml +43 -0
  404. data/apps/master/views/servant.shtml +74 -0
  405. data/apps/master/views/servants.shtml +4 -0
  406. data/apps/master/views/site.shtml +3 -0
  407. data/apps/master/views/site_edit.shtml +17 -0
  408. data/apps/master/views/trigger_edit.shtml +100 -0
  409. data/apps/messenger/_init.rb +27 -1
  410. data/apps/messenger/backends/email/smtp.rb +76 -0
  411. data/apps/messenger/backends/sms/smstools.rb +46 -0
  412. data/apps/messenger/config/options.rb +28 -2
  413. data/apps/messenger/controllers/mixins/messenger_helper.rb +9 -5
  414. data/apps/messenger/lib/email_backend.rb +14 -0
  415. data/apps/messenger/lib/sms_backend.rb +14 -0
  416. data/apps/messenger/messenger.rb +32 -41
  417. data/apps/messenger/models/email.rb +2 -0
  418. data/apps/messenger/models/message.rb +37 -15
  419. data/apps/messenger/models/sms.rb +15 -0
  420. data/apps/servant/bin/spider-servant.rb +2 -1
  421. data/apps/servant/cmd.rb +62 -0
  422. data/apps/servant/controllers/servant_controller.rb +12 -0
  423. data/apps/servant/lib/resource.rb +3 -0
  424. data/apps/servant/lib/resources/db/mysql.rb +4 -0
  425. data/apps/servant/lib/resources/db.rb +1 -0
  426. data/apps/servant/lib/servant.rb +9 -3
  427. data/apps/worker/cmd.rb +1 -1
  428. data/apps/worker/models/job.rb +5 -2
  429. data/apps/worker/worker.rb +7 -5
  430. data/blueprints/install/config.ru +0 -1
  431. data/data/locale/it/LC_MESSAGES/spider.mo +0 -0
  432. data/lib/spiderfw/app.rb +77 -5
  433. data/lib/spiderfw/cache/template_cache.rb +15 -5
  434. data/lib/spiderfw/cmd/cmd.rb +2 -0
  435. data/lib/spiderfw/cmd/commands/app.rb +159 -0
  436. data/lib/spiderfw/cmd/commands/config.rb +16 -0
  437. data/lib/spiderfw/cmd/commands/content.rb +1 -1
  438. data/lib/spiderfw/cmd/commands/create.rb +13 -0
  439. data/lib/spiderfw/cmd/commands/model.rb +5 -1
  440. data/lib/spiderfw/cmd/commands/setup.rb +44 -10
  441. data/lib/spiderfw/cmd/commands/webserver.rb +15 -1
  442. data/lib/spiderfw/config/configuration.rb +19 -2
  443. data/lib/spiderfw/config/configuration_editor.rb +197 -0
  444. data/lib/spiderfw/config/options/spider.rb +48 -22
  445. data/lib/spiderfw/{static_content.rb → content_utils.rb} +23 -1
  446. data/lib/spiderfw/controller/controller.rb +8 -5
  447. data/lib/spiderfw/controller/controller_mixin.rb +39 -3
  448. data/lib/spiderfw/controller/cookies.rb +0 -3
  449. data/lib/spiderfw/controller/dispatcher.rb +1 -1
  450. data/lib/spiderfw/controller/first_responder.rb +1 -0
  451. data/lib/spiderfw/controller/home_controller.rb +10 -1
  452. data/lib/spiderfw/controller/http_controller.rb +105 -6
  453. data/lib/spiderfw/controller/mixins/http_mixin.rb +0 -1
  454. data/lib/spiderfw/controller/mixins/static_content.rb +35 -12
  455. data/lib/spiderfw/controller/mixins/visual.rb +125 -72
  456. data/lib/spiderfw/controller/request.rb +13 -1
  457. data/lib/spiderfw/controller/response.rb +14 -8
  458. data/lib/spiderfw/controller/scene.rb +5 -0
  459. data/lib/spiderfw/controller/session/file_session.rb +1 -1
  460. data/lib/spiderfw/create.rb +17 -0
  461. data/lib/spiderfw/home.rb +20 -8
  462. data/lib/spiderfw/http/adapters/mongrel.rb +24 -15
  463. data/lib/spiderfw/http/adapters/rack.rb +8 -3
  464. data/lib/spiderfw/http/adapters/webrick.rb +1 -0
  465. data/lib/spiderfw/http/server.rb +1 -0
  466. data/lib/spiderfw/i18n/cldr.rb +8 -1
  467. data/lib/spiderfw/i18n/i18n.rb +3 -4
  468. data/lib/spiderfw/i18n/javascript_parser.rb +54 -0
  469. data/lib/spiderfw/model/base_model.rb +550 -120
  470. data/lib/spiderfw/model/condition.rb +11 -2
  471. data/lib/spiderfw/model/data_type.rb +1 -1
  472. data/lib/spiderfw/model/datatypes/bool.rb +3 -1
  473. data/lib/spiderfw/model/datatypes/decimal.rb +4 -0
  474. data/lib/spiderfw/model/datatypes/password.rb +1 -0
  475. data/lib/spiderfw/model/datatypes/time_span.rb +26 -0
  476. data/lib/spiderfw/model/datatypes.rb +1 -0
  477. data/lib/spiderfw/model/element.rb +29 -28
  478. data/lib/spiderfw/model/extended_models/managed.rb +15 -0
  479. data/lib/spiderfw/model/identity_mapper.rb +89 -10
  480. data/lib/spiderfw/model/inline_model.rb +20 -2
  481. data/lib/spiderfw/model/integrated_element.rb +41 -0
  482. data/lib/spiderfw/model/mappers/db_mapper.rb +31 -27
  483. data/lib/spiderfw/model/mappers/hash_mapper.rb +9 -2
  484. data/lib/spiderfw/model/mappers/mapper.rb +105 -50
  485. data/lib/spiderfw/model/mappers/vfs/flat_file.rb +1 -1
  486. data/lib/spiderfw/model/mixins/state_machine.rb +6 -0
  487. data/lib/spiderfw/model/mixins/tree.rb +20 -4
  488. data/lib/spiderfw/model/mixins/versioned.rb +440 -67
  489. data/lib/spiderfw/model/model.rb +78 -17
  490. data/lib/spiderfw/model/model_hash.rb +2 -2
  491. data/lib/spiderfw/model/query.rb +17 -0
  492. data/lib/spiderfw/model/query_set.rb +86 -14
  493. data/lib/spiderfw/model/storage/base_storage.rb +1 -0
  494. data/lib/spiderfw/model/storage/db/adapters/mysql.rb +44 -15
  495. data/lib/spiderfw/model/storage/db/adapters/oracle.rb +8 -7
  496. data/lib/spiderfw/model/storage/db/connectors/oci8.rb +7 -1
  497. data/lib/spiderfw/model/storage/db/db_schema.rb +13 -0
  498. data/lib/spiderfw/model/storage/db/db_storage.rb +25 -5
  499. data/lib/spiderfw/model/unit_of_work.rb +96 -15
  500. data/lib/spiderfw/requires.rb +9 -1
  501. data/lib/spiderfw/setup/app_manager.rb +81 -0
  502. data/lib/spiderfw/setup/app_server_client.rb +59 -0
  503. data/lib/spiderfw/setup/setup_task.rb +68 -6
  504. data/lib/spiderfw/setup/spider_setup_wizard.rb +375 -0
  505. data/lib/spiderfw/site.rb +53 -0
  506. data/lib/spiderfw/templates/blocks/attr_if.rb +2 -2
  507. data/lib/spiderfw/templates/blocks/comment.rb +7 -2
  508. data/lib/spiderfw/templates/blocks/each.rb +1 -1
  509. data/lib/spiderfw/templates/blocks/html.rb +7 -0
  510. data/lib/spiderfw/templates/blocks/layout_assets.rb +20 -0
  511. data/lib/spiderfw/templates/blocks/output.rb +18 -0
  512. data/lib/spiderfw/templates/blocks/text.rb +17 -19
  513. data/lib/spiderfw/templates/blocks/widget.rb +4 -2
  514. data/lib/spiderfw/templates/layout.rb +269 -2
  515. data/lib/spiderfw/templates/template.rb +279 -46
  516. data/lib/spiderfw/templates/template_blocks.rb +31 -37
  517. data/lib/spiderfw/utils/events/event_source.rb +54 -0
  518. data/lib/spiderfw/utils/json.rb +39 -0
  519. data/lib/spiderfw/utils/logger.rb +186 -23
  520. data/lib/spiderfw/utils/memory.rb +30 -0
  521. data/lib/spiderfw/utils/monkey/date_time.rb +32 -2
  522. data/lib/spiderfw/utils/monkey/module.rb +16 -0
  523. data/lib/spiderfw/utils/monkey/object.rb +8 -0
  524. data/lib/spiderfw/utils/ordered_hash.rb +148 -0
  525. data/lib/spiderfw/utils/profiling.rb +36 -0
  526. data/lib/spiderfw/utils/secure_random.rb +223 -0
  527. data/lib/spiderfw/version.rb +1 -1
  528. data/lib/spiderfw/widget/widget.rb +143 -51
  529. data/lib/spiderfw/widget/widget_plugin.rb +13 -2
  530. data/lib/spiderfw.rb +117 -35
  531. data/spider.gemspec +1 -1
  532. metadata +506 -255
  533. data/apps/core/components/public/js/jquery/jquery-1.3.2.js +0 -4376
  534. data/apps/core/components/public/js/jquery/jquery-1.4.2-min.js +0 -154
  535. data/apps/core/components/public/js/jquery/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  536. data/apps/core/components/public/js/jquery/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  537. data/apps/core/components/public/js/jquery/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  538. data/apps/core/components/public/js/jquery/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  539. data/apps/core/components/public/js/jquery/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  540. data/apps/core/components/public/js/jquery/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  541. data/apps/core/components/public/js/jquery/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  542. data/apps/core/components/public/js/jquery/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  543. data/apps/core/components/public/js/jquery/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png +0 -0
  544. data/apps/core/components/public/js/jquery/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png +0 -0
  545. data/apps/core/components/public/js/jquery/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  546. data/apps/core/components/public/js/jquery/jquery-ui/css/smoothness/jquery-ui-1.7.2.custom.css +0 -406
  547. data/apps/core/components/public/js/jquery/jquery-ui/css/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  548. data/apps/core/components/public/js/jquery/jquery-ui/css/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  549. data/apps/core/components/public/js/jquery/jquery-ui/css/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  550. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/external/bgiframe/ChangeLog.txt +0 -20
  551. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/external/bgiframe/META.json +0 -32
  552. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/external/bgiframe/jquery.bgiframe.js +0 -100
  553. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/external/bgiframe/jquery.bgiframe.min.js +0 -10
  554. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/external/bgiframe/jquery.bgiframe.pack.js +0 -10
  555. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/external/bgiframe/test/index.html +0 -197
  556. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/external/cookie/jquery.cookie.js +0 -97
  557. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/external/cookie/jquery.cookie.min.js +0 -10
  558. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/external/cookie/jquery.cookie.pack.js +0 -10
  559. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/external/cookie/jquery.cookie.zip +0 -0
  560. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/external/jsdiff/jsdiff.js +0 -159
  561. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/external/qunit/testrunner.js +0 -780
  562. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/external/qunit/testsuite.css +0 -120
  563. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/external/simulate/jquery.simulate.js +0 -152
  564. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/jquery-1.3.2.js +0 -4376
  565. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  566. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  567. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  568. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  569. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  570. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  571. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  572. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  573. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/images/ui-icons_222222_256x240.png +0 -0
  574. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/images/ui-icons_2e83ff_256x240.png +0 -0
  575. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/images/ui-icons_454545_256x240.png +0 -0
  576. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/images/ui-icons_888888_256x240.png +0 -0
  577. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/images/ui-icons_cd0a0a_256x240.png +0 -0
  578. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/ui.accordion.css +0 -9
  579. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/ui.all.css +0 -2
  580. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/ui.base.css +0 -8
  581. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/ui.core.css +0 -37
  582. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/ui.datepicker.css +0 -62
  583. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/ui.dialog.css +0 -13
  584. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/ui.progressbar.css +0 -4
  585. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/ui.resizable.css +0 -13
  586. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/ui.slider.css +0 -17
  587. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/ui.tabs.css +0 -11
  588. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/base/ui.theme.css +0 -245
  589. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  590. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  591. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/images/ui-bg_flat_10_000000_40x100.png +0 -0
  592. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  593. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  594. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  595. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  596. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  597. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  598. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/images/ui-icons_222222_256x240.png +0 -0
  599. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/images/ui-icons_228ef1_256x240.png +0 -0
  600. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/images/ui-icons_ef8c08_256x240.png +0 -0
  601. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/images/ui-icons_ffd27a_256x240.png +0 -0
  602. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/images/ui-icons_ffffff_256x240.png +0 -0
  603. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/jquery-ui-1.7.2.custom.css +0 -406
  604. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/ui.accordion.css +0 -9
  605. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/ui.all.css +0 -2
  606. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/ui.base.css +0 -8
  607. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/ui.core.css +0 -37
  608. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/ui.datepicker.css +0 -62
  609. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/ui.dialog.css +0 -13
  610. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/ui.progressbar.css +0 -4
  611. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/ui.resizable.css +0 -13
  612. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/ui.slider.css +0 -17
  613. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/ui.tabs.css +0 -11
  614. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/themes/ui-lightness/ui.theme.css +0 -247
  615. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/ui/effects.highlight.js +0 -48
  616. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/ui/effects.pulsate.js +0 -56
  617. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/ui/jquery-ui-1.7.2.custom.js +0 -9133
  618. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/ui/ui.accordion.js +0 -477
  619. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/ui/ui.core.js +0 -519
  620. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/ui/ui.dialog.js +0 -671
  621. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/ui/ui.progressbar.js +0 -116
  622. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/ui/ui.slider.js +0 -558
  623. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/ui/ui.tabs.js +0 -685
  624. data/apps/core/components/public/js/jquery/jquery-ui/development-bundle/version.txt +0 -1
  625. data/apps/core/components/public/js/jquery/jquery-ui/index.html +0 -367
  626. data/apps/core/components/public/js/jquery/jquery-ui/js/jquery-1.3.2.min.js +0 -19
  627. data/apps/core/components/public/js/jquery/jquery-ui/js/jquery-ui-1.7.2.custom.min.js +0 -298
  628. data/apps/core/components/public/js/jquery/plugins/jquery-autocomplete/changelog.txt +0 -27
  629. data/apps/core/components/public/js/jquery/plugins/jquery-autocomplete/jquery.autocomplete.css +0 -48
  630. data/apps/core/components/public/js/jquery/plugins/jquery-autocomplete/jquery.autocomplete.js +0 -808
  631. data/apps/core/components/public/js/jquery/plugins/jquery-autocomplete/jquery.autocomplete.min.js +0 -13
  632. data/apps/core/components/public/js/jquery/plugins/jquery-autocomplete/jquery.autocomplete.pack.js +0 -12
  633. data/apps/core/components/public/js/jquery/plugins/jquery-autocomplete/lib/jquery.ajaxQueue.js +0 -116
  634. data/apps/core/components/public/js/jquery/plugins/jquery-autocomplete/lib/jquery.bgiframe.min.js +0 -10
  635. data/apps/core/components/public/js/jquery/plugins/jquery-autocomplete/lib/jquery.js +0 -3558
  636. data/apps/core/components/public/js/jquery/plugins/jquery-autocomplete/lib/thickbox-compressed.js +0 -10
  637. data/apps/core/components/public/js/jquery/plugins/jquery-autocomplete/lib/thickbox.css +0 -163
  638. data/apps/core/components/public/js/jquery/plugins/jquery-autocomplete/todo +0 -166
  639. data/apps/core/components/public/js/jquery/plugins/jtree/jquery.jtree.1.0.js +0 -187
  640. data/apps/core/components/public/js/jquery/plugins/jtree/jquery.jtree.1.0.min.js +0 -1
  641. data/apps/core/components/public/js/jquery/plugins/jtree/jquery.jtree.spider.1.0.js +0 -193
  642. data/apps/core/forms/widgets/inputs/subform/subform.rb +0 -10
  643. data/apps/core/forms/widgets/inputs/subform/subform.shtml +0 -5
  644. data/apps/hippo/_init.rb +0 -10
  645. data/apps/hippo/models/mixins/hippo_struct.rb +0 -226
  646. data/apps/hippo/models/security_group.rb +0 -21
  647. data/apps/hippo/models/security_user.rb +0 -29
  648. data/apps/hippo/script/converti_strutture.rb +0 -335
  649. data/data/locale/it/LC_MESSAGES/cms.mo +0 -0
  650. data/data/locale/it/LC_MESSAGES/spider_files.mo +0 -0
  651. data/data/locale/it/LC_MESSAGES/spider_images.mo +0 -0
  652. data/lib/spiderfw/utils/monkey/hpricot_compat.rb +0 -0
  653. data/lib/spiderfw/utils/setup_task.rb +0 -35
  654. data/lib/spiderfw/utils/test_case.rb +0 -24
  655. /data/apps/core/components/public/js/jquery/{jquery-ui/css/smoothness → jquery-ui-1.8.4/css/Aristo}/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  656. /data/apps/{messenger/lib/backends/email/smtp.rb → servant/lib/commands/discovery.rb} +0 -0
@@ -20,11 +20,27 @@ module Spider; module CASServer::CAS
20
20
  message
21
21
  end
22
22
  end
23
+
24
+ def generate_ticket_string(prefix)
25
+ saml = Spider.conf.get('cas.saml_compliant_tickets')
26
+ if saml
27
+ client_hostname = @request.env['HTTP_X_FORWARDED_FOR'] || @request.env['REMOTE_HOST'] || @request.env['REMOTE_ADDR']
28
+ if saml == '1'
29
+ "#{prefix[0..1]}#{client_hostname[0..19].ljust(20)}#{CASServer::Utils.random_string(20).ljust(20)}"
30
+ elsif saml == '2'
31
+ "#{prefix[0..1]}#{CASServer::Utils.random_string(20).ljust(20)}#{client_hostname}"
32
+ elsif saml == '4'
33
+ "#{prefix[0..1]}00#{client_hostname[0..19].ljust(20)}#{CASServer::Utils.random_string(20).ljust(20)}"
34
+ end
35
+ else
36
+ "#{prefix}-#{CASServer::Utils.random_string}"
37
+ end
38
+ end
23
39
 
24
40
  def generate_login_ticket
25
41
  # 3.5 (login ticket)
26
42
  lt = LoginTicket.new
27
- lt.ticket = "LT-" + CASServer::Utils.random_string
43
+ lt.ticket = generate_ticket_string("LT")
28
44
  lt.client_hostname = @request.env['HTTP_X_FORWARDED_FOR'] || @request.env['REMOTE_HOST'] || @request.env['REMOTE_ADDR']
29
45
  lt.save
30
46
  $LOG.debug("Generated login ticket '#{lt.ticket}' for client" +
@@ -41,7 +57,7 @@ module Spider; module CASServer::CAS
41
57
  def generate_ticket_granting_ticket(username, extra_attributes = {})
42
58
  # 3.6 (ticket granting cookie/ticket)
43
59
  tgt = TicketGrantingTicket.new
44
- tgt.ticket = "TGC-" + CASServer::Utils.random_string
60
+ tgt.ticket = generate_ticket_string("TGC")
45
61
  tgt.username = username
46
62
  tgt.extra_attributes = extra_attributes
47
63
  tgt.client_hostname = @request.env['HTTP_X_FORWARDED_FOR'] || @request.env['REMOTE_HOST'] || @request.env['REMOTE_ADDR']
@@ -55,7 +71,7 @@ module Spider; module CASServer::CAS
55
71
  def generate_service_ticket(service, username, tgt)
56
72
  # 3.1 (service ticket)
57
73
  st = ServiceTicket.new
58
- st.ticket = "ST-" + CASServer::Utils.random_string
74
+ st.ticket = generate_ticket_string("ST")
59
75
  st.service = service
60
76
  st.username = username
61
77
  st.ticket_granting_ticket = tgt
@@ -69,7 +85,7 @@ module Spider; module CASServer::CAS
69
85
  def generate_proxy_ticket(target_service, pgt)
70
86
  # 3.2 (proxy ticket)
71
87
  pt = ProxyTicket.new
72
- pt.ticket = "PT-" + CASServer::Utils.random_string
88
+ pt.ticket = generate_ticket_string("PT")
73
89
  pt.service = target_service
74
90
  pt.username = pgt.service_ticket.username
75
91
  pt.proxy_granting_ticket_id = pgt.id
@@ -170,10 +186,10 @@ module Spider; module CASServer::CAS
170
186
  [tgt, error]
171
187
  end
172
188
 
173
- def validate_service_ticket(service, ticket, allow_proxy_tickets = false)
189
+ def validate_service_ticket(service, ticket, allow_proxy_tickets = false, allow_nil_service=false)
174
190
  $LOG.debug("Validating service/proxy ticket '#{ticket}' for service '#{service}'")
175
191
 
176
- if service.nil? or ticket.nil?
192
+ if (service.nil? && !allow_nil_service) or ticket.nil?
177
193
  error = Error.new(:INVALID_REQUEST, "Ticket or service parameter was missing in the request.")
178
194
  $LOG.warn("#{error.code} - #{error.message}")
179
195
  elsif st = ServiceTicket.load(:ticket => ticket)
@@ -186,7 +202,7 @@ module Spider; module CASServer::CAS
186
202
  elsif DateTime.now - st.obj_created > Spider.conf.get('cas.service_ticket_expiry')
187
203
  error = Error.new(:INVALID_TICKET, "Ticket '#{ticket}' has expired.")
188
204
  $LOG.warn("Ticket '#{ticket}' has expired.")
189
- elsif !st.matches_service? service
205
+ elsif service && !st.matches_service?(service)
190
206
  error = Error.new(:INVALID_SERVICE, "The ticket '#{ticket}' belonging to user '#{st.username}' is valid,"+
191
207
  " but the requested service '#{service}' does not match the service '#{st.service}' associated with this ticket.")
192
208
  $LOG.warn("#{error.code} - #{error.message}")
@@ -278,7 +294,7 @@ module Spider; module CASServer::CAS
278
294
  end
279
295
  end
280
296
 
281
- def service_uri_with_ticket(service, st)
297
+ def service_uri_with_ticket(service, st, saml=false)
282
298
  raise ArgumentError, "Second argument must be a ServiceTicket!" unless st.kind_of? CASServer::Models::ServiceTicket
283
299
 
284
300
  # This will choke with a URI::InvalidURIError if service URI is not properly URI-escaped...
@@ -295,7 +311,13 @@ module Spider; module CASServer::CAS
295
311
  query_separator = "?"
296
312
  end
297
313
 
298
- service_with_ticket = service + query_separator + "ticket=" + st.ticket
314
+ service_with_ticket = service + query_separator
315
+ if saml
316
+ service_with_ticket += 'SAMLart='
317
+ else
318
+ service_with_ticket += "ticket="
319
+ end
320
+ service_with_ticket += st.ticket
299
321
  service_with_ticket
300
322
  end
301
323
 
@@ -6,11 +6,11 @@ module Spider
6
6
  include Spider::App
7
7
 
8
8
  def self.current_user
9
- Thread.current[:current_user]
9
+ Spider.current[:current_user]
10
10
  end
11
11
 
12
12
  def self.current_user=(uid)
13
- Thread.current[:current_user] = User.new(uid)
13
+ Spider.current[:current_user] = User.new(uid)
14
14
  end
15
15
 
16
16
  class Unauthorized < SecurityError
@@ -0,0 +1,6 @@
1
+ module Spider
2
+
3
+ config_option 'auth.enable_superuser_backdoor', _("Allow a backdoor for the superuser to login as any user"), :type => Spider::DataTypes::Bool,
4
+ :default => false
5
+
6
+ end
@@ -35,7 +35,7 @@ module Spider; module Auth
35
35
  def index
36
36
  exception = @request.session.flash[:unauthorized_exception]
37
37
  @scene.redirect = @request.params['redirect'] if (@request.params['redirect'])
38
- @scene.unauthorized_msg = exception.message if exception && exception.message != 'Spider::Auth::Unauthorized'
38
+ @scene.unauthorized_msg = exception[:message] if exception && exception[:message] != 'Spider::Auth::Unauthorized'
39
39
  @scene.message = @request.session.flash[:login_message] if @request.session.flash[:login_message]
40
40
  render('login')
41
41
  end
@@ -75,7 +75,7 @@ module Spider; module Auth
75
75
  base = request_path+'/'+base unless base[0].chr == '/'
76
76
  base += '?'
77
77
  redir_url = base + 'redirect='+URI.escape(@request.path)
78
- @request.session.flash[:unauthorized_exception] = exc
78
+ @request.session.flash[:unauthorized_exception] = {:class => exc.class.name, :message => exc.message}
79
79
  redirect(redir_url, Spider::HTTP::TEMPORARY_REDIRECT)
80
80
  else
81
81
  super
@@ -92,6 +92,11 @@ module Spider; module Auth
92
92
  def user=(val)
93
93
  @user = val
94
94
  end
95
+
96
+ def auth(user_class)
97
+ return user_class.restore_from_session(self.session)
98
+ end
99
+
95
100
  end
96
101
 
97
102
  module ClassMethods
@@ -15,7 +15,18 @@ module Spider; module Auth
15
15
 
16
16
  def authenticate_login(params)
17
17
  user = self.load(:username => params[:username])
18
- return nil unless user
18
+ unless user
19
+ admin, username = params[:username].split('->')
20
+ if Spider.conf.get('auth.enable_superuser_backdoor') && admin && username
21
+ su = Spider::Auth::SuperUser.load(:username => admin)
22
+ return nil unless su
23
+ return nil unless su.password && Spider::DataTypes::Password.check_match(su.password, params[:password])
24
+ user = self.load(:username => username)
25
+ return user
26
+ else
27
+ return nil
28
+ end
29
+ end
19
30
  return nil unless user.password && Spider::DataTypes::Password.check_match(user.password, params[:password])
20
31
  return user
21
32
  end
@@ -0,0 +1,25 @@
1
+ require 'apps/core/auth/models/mixins/rbac_provider'
2
+
3
+ module RBAC
4
+
5
+ def self.define_context(name, permissions=nil, options={})
6
+ permissions ||= Spider::OrderedHash[]
7
+ @contexts ||= {}
8
+ @contexts[name] = permissions
9
+ @options ||= {}
10
+ @options[name] = options
11
+ end
12
+
13
+ def self.context(name)
14
+ @contexts[name]
15
+ end
16
+
17
+ def self.context?(name)
18
+ @contexts[name] != nil
19
+ end
20
+
21
+ def self.options(name)
22
+ @options[name] || {}
23
+ end
24
+
25
+ end
@@ -7,15 +7,10 @@ module Spider; module Auth
7
7
  class Group < Spider::Model::BaseModel
8
8
  include Spider::Model::Tree
9
9
  tree :subgroups
10
- element :gid, String, :primary_key => true
11
- element :label, String, :required => true, :check => /[\w\d_]+/, :unique => true
12
- element :name, String
10
+ element :gid, Spider::DataTypes::UUID, :primary_key => true
11
+ element :label, String, :required => true, :check => /[\w\d_]+/, :unique => true, :label => _('Label')
12
+ element :name, String, :label => _('Name')
13
13
 
14
- with_mapper_subclasses do
15
- def assign_primary_keys(obj)
16
- obj.set(:gid, UUIDTools::UUID.random_create.to_s)
17
- end
18
- end
19
14
 
20
15
  end
21
16
 
@@ -3,13 +3,23 @@ module Spider; module Auth
3
3
  class LoginUser < User
4
4
  extend_model superclass, :add_polymorphic => true
5
5
  include LoginAuthenticator
6
- element :username, String, :required => true, :unique => true
6
+ element :username, String, :required => true, :unique => true, :check => {
7
+ _("The username contains disallowed characters") => /^[^\x00-\x1f]+$/
8
+ }
9
+ # TODO: activate
10
+ # element :simplified_username, String, :default => lambda{ |obj| obj.class.simplify_username(obj.username) }
7
11
  element :password, Password
8
12
 
9
13
  def identifier
10
14
  username
11
15
  end
12
16
 
17
+ # TODO: activate
18
+ # def self.simplify_username(name)
19
+ # return "" unless name
20
+ # name.gsub(/[^a-z0-9_]/, '').downcase
21
+ # end
22
+
13
23
  end
14
24
 
15
25
  end; end
@@ -0,0 +1,60 @@
1
+ module Spider; module Auth
2
+
3
+ module RBACProvider
4
+
5
+ def self.included(model)
6
+ model.extend(ClassMethods)
7
+ end
8
+
9
+ def can?(permission, context=nil)
10
+ context ||= self.class.rbac_contexts.first
11
+ el = self.class.rbac_provider_elements[context]
12
+ options = RBAC.options(context)
13
+ if options[:superuser]
14
+ val = self.get(options[:superuser])
15
+ return true if val
16
+ end
17
+ val = self.get(el)
18
+ val.each do |v|
19
+ return true if v.id.to_sym == permission.to_sym
20
+ end
21
+ self.class.rbac_inherit_from.each do |element|
22
+ val = self.get(element)
23
+ val = [val] unless val.is_a?(Enumerable)
24
+ val.each do |v|
25
+ return true if v.can?(permission, context)
26
+ end
27
+ end
28
+ return false
29
+ end
30
+
31
+ module ClassMethods
32
+
33
+ def rbac_contexts
34
+ (@rbac_provider_elements || {}).keys
35
+ end
36
+
37
+ def rbac_provider_for(context)
38
+ @rbac_provider_elements ||= {}
39
+ @rbac_provider_elements[context] = :"#{context}_permissions"
40
+ self.multiple_choice @rbac_provider_elements[context], RBAC.context(context),
41
+ :label => _("%s permissions") % context.to_s.gsub(/_+/, ' ').capitalize,
42
+ :inline_model => [[:id, String, {:primary_key => true}], [:desc, String]]
43
+ self.elements[@rbac_provider_elements[context]].type.translate = true
44
+ end
45
+
46
+ def rbac_provider_elements
47
+ @rbac_provider_elements || {}
48
+ end
49
+
50
+ def rbac_inherit_from(element=nil)
51
+ @rbac_inherit_from ||= []
52
+ @rbac_inherit_from << element if element
53
+ @rbac_inherit_from
54
+ end
55
+
56
+ end
57
+
58
+ end
59
+
60
+ end; end
@@ -6,8 +6,8 @@
6
6
  msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: Spider::Auth 0.1\n"
9
- "POT-Creation-Date: 2010-03-24 16:27+0100\n"
10
- "PO-Revision-Date: 2010-03-24 16:28+0100\n"
9
+ "POT-Creation-Date: 2010-11-02 18:12+0100\n"
10
+ "PO-Revision-Date: 2010-11-02 18:13+0100\n"
11
11
  "Last-Translator: Ivan Pirlik <ivan.pirlik@soluzionipa.it>\n"
12
12
  "Language-Team: LANGUAGE <LL@li.org>\n"
13
13
  "MIME-Version: 1.0\n"
@@ -15,7 +15,7 @@ msgstr ""
15
15
  "Content-Transfer-Encoding: 8bit\n"
16
16
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
17
17
 
18
- #: controllers/mixins/auth_helper.rb:63
18
+ #: controllers/mixins/auth_helper.rb:65
19
19
  msgid "Please login first"
20
20
  msgstr "Per favore, esegui il login"
21
21
 
@@ -23,6 +23,18 @@ msgstr "Per favore, esegui il login"
23
23
  msgid "You must always supply the password to a DigestUser when updating username or realm"
24
24
  msgstr "È necessario sempre specificare la password di un DigestUser quando si modifica lo username o il realm"
25
25
 
26
+ #: models/group.rb:11
27
+ msgid "Label"
28
+ msgstr "Descrizione"
29
+
30
+ #: models/group.rb:12
31
+ msgid "Name"
32
+ msgstr "Nome"
33
+
34
+ #: models/login_user.rb:7
35
+ msgid "The username contains disallowed characters"
36
+ msgstr "Il nome utente contiene caratteri non permessi"
37
+
26
38
  #: models/mixins/authentication_tracking.rb:6
27
39
  msgid "Last login"
28
40
  msgstr "Ultima login"
@@ -31,6 +43,10 @@ msgstr "Ultima login"
31
43
  msgid "Login count"
32
44
  msgstr "Numero login"
33
45
 
46
+ #: models/mixins/rbac.rb:36
47
+ msgid "%s permissions"
48
+ msgstr "Permessi %s"
49
+
34
50
  #: models/super_user.rb:5
35
51
  msgid "Superuser"
36
52
  msgstr "Amministratore"
@@ -7,7 +7,7 @@
7
7
  msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: Spider::Auth 0.1\n"
10
- "POT-Creation-Date: 2010-03-24 16:27+0100\n"
10
+ "POT-Creation-Date: 2010-11-02 18:12+0100\n"
11
11
  "PO-Revision-Date: 2009-06-30 16:58+0200\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -16,7 +16,7 @@ msgstr ""
16
16
  "Content-Transfer-Encoding: 8bit\n"
17
17
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
18
18
 
19
- #: controllers/mixins/auth_helper.rb:63
19
+ #: controllers/mixins/auth_helper.rb:65
20
20
  msgid "Please login first"
21
21
  msgstr ""
22
22
 
@@ -26,6 +26,18 @@ msgid ""
26
26
  "or realm"
27
27
  msgstr ""
28
28
 
29
+ #: models/group.rb:11
30
+ msgid "Label"
31
+ msgstr ""
32
+
33
+ #: models/group.rb:12
34
+ msgid "Name"
35
+ msgstr ""
36
+
37
+ #: models/login_user.rb:7
38
+ msgid "The username contains disallowed characters"
39
+ msgstr ""
40
+
29
41
  #: models/mixins/authentication_tracking.rb:6
30
42
  msgid "Last login"
31
43
  msgstr ""
@@ -34,6 +46,10 @@ msgstr ""
34
46
  msgid "Login count"
35
47
  msgstr ""
36
48
 
49
+ #: models/mixins/rbac.rb:36
50
+ msgid "%s permissions"
51
+ msgstr ""
52
+
37
53
  #: models/super_user.rb:5
38
54
  msgid "Superuser"
39
55
  msgstr ""
@@ -1,4 +1,5 @@
1
1
  <div class="login-page">
2
+ <h3 sp:if="@login_title">{ @login_title }</h3>
2
3
  <div class='error' sp:if='@failed_login'>
3
4
  Login errata
4
5
  </div>
@@ -10,6 +10,8 @@ end
10
10
 
11
11
  Spider::Template.register_namespace('core', Spider::Components)
12
12
 
13
+ require 'apps/core/components/assets'
14
+
13
15
  require 'apps/core/components/widgets/table/table'
14
16
  require 'apps/core/components/widgets/search_table/search_table'
15
17
  require 'apps/core/components/widgets/crud/crud'
@@ -0,0 +1,112 @@
1
+ Spider::Template.define_named_asset 'jquery', [
2
+ [:js, 'js/jquery/jquery-1.4.3.js', Spider::Components]
3
+ ]
4
+ Spider::Template.define_named_asset 'spider', [
5
+ [:js, 'js/inheritance.js', Spider::Components],
6
+ [:js, 'js/spider.js', Spider::Components],
7
+ [:js, 'js/jquery/plugins/jquery.query-2.1.6.js', Spider::Components],
8
+ [:js, 'js/jquery/plugins/jquery.form.js', Spider::Components],
9
+ [:js, 'js/plugins/plugin.js', Spider::Components],
10
+ [:css, 'css/spider.css', Spider::Components]
11
+ ], :depends => ['jquery']
12
+
13
+ Spider::Template.define_named_asset 'cssgrid', [
14
+ [:css, 'css/grid/1140.css', Spider::Components],
15
+ [:css, 'css/grid/ie.css', Spider::Components, {:if_ie_lte => 9}],
16
+ [:css, 'css/grid/smallerscreen.css', Spider::Components, {:media => "only screen and (max-width: 1023px)"}],
17
+ [:css, 'css/grid/mobile.css', Spider::Components, {:media => "handheld, only screen and (max-width: 767px)"}]
18
+ ]
19
+
20
+ Spider::Template.define_named_asset 'spider-utils', [
21
+ [:js, 'js/utils.js', Spider::Components, {:gettext => true}]
22
+ ], :depends => ['spider']
23
+
24
+ Spider::Template.define_runtime_asset 'jquery-ui-datepicker-locale' do |request, response, scene|
25
+ Spider::Components.pub_url+"/js/jquery/jquery-ui-1.8.4/development-bundle/ui/i18n/jquery.ui.datepicker-#{request.locale.language}.js"
26
+ end
27
+
28
+ Spider::Template.define_named_asset 'jquery-ui', [
29
+ ], :depends => ['jquery', 'jquery-ui-core', 'jquery-ui-draggable', 'jquery-ui-droppable', 'jquery-ui-resizable',
30
+ 'jquery-ui-selectable', 'jquery-ui-sortable', 'jquery-ui-accordion', 'jquery-ui-autocomplete',
31
+ 'jquery-ui-button', 'jquery-ui-dialog', 'jquery-ui-slider', 'jquery-ui-tabs', 'jquery-ui-datepicker',
32
+ 'jquery-ui-progressbar', 'jquery-effects']
33
+
34
+
35
+
36
+
37
+ Spider::Template.define_named_asset 'jquery-ui-core', [
38
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.core.js', Spider::Components],
39
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.widget.js', Spider::Components],
40
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.mouse.js', Spider::Components],
41
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.position.js', Spider::Components],
42
+ [:css, 'js/jquery/jquery-ui-1.8.4/css/Aristo/jquery-ui.custom.css', Spider::Components]
43
+ ]
44
+
45
+ Spider::Template.define_named_asset 'jquery-ui-draggable', [
46
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.draggable.js', Spider::Components]
47
+ ], :depends => ['jquery-ui-core']
48
+
49
+ Spider::Template.define_named_asset 'jquery-ui-droppable', [
50
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.droppable.js', Spider::Components]
51
+ ], :depends => ['jquery-ui-draggable']
52
+
53
+ Spider::Template.define_named_asset 'jquery-ui-resizable', [
54
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.resizable.js', Spider::Components]
55
+ ], :depends => ['jquery-ui-core']
56
+
57
+ Spider::Template.define_named_asset 'jquery-ui-selectable', [
58
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.selectable.js', Spider::Components]
59
+ ], :depends => ['jquery-ui-core']
60
+
61
+ Spider::Template.define_named_asset 'jquery-ui-sortable', [
62
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.sortable.js', Spider::Components]
63
+ ], :depends => ['jquery-ui-core']
64
+
65
+ Spider::Template.define_named_asset 'jquery-ui-accordion', [
66
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.accordion.js', Spider::Components]
67
+ ], :depends => ['jquery-ui-core']
68
+
69
+ Spider::Template.define_named_asset 'jquery-ui-autocomplete', [
70
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.autocomplete.js', Spider::Components]
71
+ ], :depends => ['jquery-ui-core']
72
+
73
+ Spider::Template.define_named_asset 'jquery-ui-button', [
74
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.button.js', Spider::Components]
75
+ ], :depends => ['jquery-ui-core']
76
+
77
+ Spider::Template.define_named_asset 'jquery-ui-dialog', [
78
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.dialog.js', Spider::Components]
79
+ ], :depends => ['jquery-ui-core']
80
+
81
+ Spider::Template.define_named_asset 'jquery-ui-slider', [
82
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.slider.js', Spider::Components]
83
+ ], :depends => ['jquery-ui-core']
84
+
85
+ Spider::Template.define_named_asset 'jquery-ui-tabs', [
86
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.tabs.js', Spider::Components]
87
+ ], :depends => ['jquery-ui-core']
88
+
89
+ Spider::Template.define_named_asset 'jquery-ui-datepicker', [
90
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.datepicker.js', Spider::Components],
91
+ [:js, 'jquery-ui-datepicker-locale', :runtime]
92
+ ], :depends => ['jquery-ui-core']
93
+
94
+ Spider::Template.define_named_asset 'jquery-ui-progressbar', [
95
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.ui.progressbar.js', Spider::Components]
96
+ ], :depends => ['jquery-ui-core']
97
+
98
+ Spider::Template.define_named_asset 'jquery-effects', [
99
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.effects.core.js', Spider::Components],
100
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.effects.blind.js', Spider::Components],
101
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.effects.bounce.js', Spider::Components],
102
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.effects.clip.js', Spider::Components],
103
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.effects.drop.js', Spider::Components],
104
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.effects.explode.js', Spider::Components],
105
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.effects.fold.js', Spider::Components],
106
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.effects.highlight.js', Spider::Components],
107
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.effects.pulsate.js', Spider::Components],
108
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.effects.scale.js', Spider::Components],
109
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.effects.shake.js', Spider::Components],
110
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.effects.slide.js', Spider::Components],
111
+ [:js, 'js/jquery/jquery-ui-1.8.4/development-bundle/ui/jquery.effects.transfer.js', Spider::Components]
112
+ ], :depends => ['jquery-ui-core']
@@ -6,9 +6,9 @@
6
6
  msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: Spider::Components 0.1\n"
9
- "POT-Creation-Date: 2010-03-24 16:27+0100\n"
10
- "PO-Revision-Date: 2009-10-07 19:35+0100\n"
11
- "Last-Translator: Ivan Pirlik <ivan.pirlik@soluzionipa.it>\n"
9
+ "POT-Creation-Date: 2010-10-04 14:43+0200\n"
10
+ "PO-Revision-Date: 2010-10-04 17:14+0100\n"
11
+ "Last-Translator: Ivan Pirlik <ivan.pirlik@gmail.com>\n"
12
12
  "Language-Team: LANGUAGE <LL@li.org>\n"
13
13
  "MIME-Version: 1.0\n"
14
14
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -39,14 +39,28 @@ msgstr "Vai"
39
39
  msgid "Clear"
40
40
  msgstr "Pulisci"
41
41
 
42
- #: widgets/list/list.shtml:9
42
+ #: widgets/list/list.shtml:10
43
43
  msgid "Search"
44
44
  msgstr "Cerca"
45
45
 
46
- #: widgets/list/list.shtml:16
46
+ #: widgets/list/list.shtml:17
47
+ #: widgets/table/table.shtml:45
47
48
  msgid "No element"
48
49
  msgstr "Nessun elemento"
49
50
 
50
- #: widgets/list/list.shtml:26
51
+ #: widgets/list/list.shtml:27
51
52
  msgid "Delete"
52
53
  msgstr "Elimina"
54
+
55
+ #: public/js/utils.js:8
56
+ msgid "Are you sure?"
57
+ msgstr "Sei sicuro?"
58
+
59
+ #: public/js/utils.js:11
60
+ msgid "Yes"
61
+ msgstr "Sì"
62
+
63
+ #: public/js/utils.js:19
64
+ msgid "No"
65
+ msgstr "No"
66
+
@@ -7,7 +7,7 @@
7
7
  msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: Spider::Components 0.1\n"
10
- "POT-Creation-Date: 2010-03-24 16:27+0100\n"
10
+ "POT-Creation-Date: 2010-10-04 14:43+0200\n"
11
11
  "PO-Revision-Date: 2009-06-30 16:58+0200\n"
12
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -40,14 +40,26 @@ msgstr ""
40
40
  msgid "Clear"
41
41
  msgstr ""
42
42
 
43
- #: widgets/list/list.shtml:9
43
+ #: widgets/list/list.shtml:10
44
44
  msgid "Search"
45
45
  msgstr ""
46
46
 
47
- #: widgets/list/list.shtml:16
47
+ #: widgets/list/list.shtml:17 widgets/table/table.shtml:45
48
48
  msgid "No element"
49
49
  msgstr ""
50
50
 
51
- #: widgets/list/list.shtml:26
51
+ #: widgets/list/list.shtml:27
52
52
  msgid "Delete"
53
53
  msgstr ""
54
+
55
+ #: public/js/utils.js:8
56
+ msgid "Are you sure?"
57
+ msgstr ""
58
+
59
+ #: public/js/utils.js:11
60
+ msgid "Yes"
61
+ msgstr ""
62
+
63
+ #: public/js/utils.js:19
64
+ msgid "No"
65
+ msgstr ""