spiderfw 0.5.7 → 0.5.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (161) hide show
  1. data/Rakefile +17 -6
  2. data/apps/cas_server/controllers/mixins/cas_login_mixin.rb +18 -5
  3. data/apps/cas_server/lib/cas.rb +1 -1
  4. data/apps/cms/models/content.rb +16 -0
  5. data/apps/cms/models/news_item.rb +7 -0
  6. data/apps/cms/models/translation.rb +14 -0
  7. data/apps/cms/views/admin/admin.shtml +16 -0
  8. data/apps/cms/views/admin/content.shtml +4 -0
  9. data/apps/core/acl/_init.rb +10 -0
  10. data/apps/core/acl/controllers/acl_controller.rb +14 -0
  11. data/apps/core/acl/models/permission.rb +11 -0
  12. data/apps/core/acl/views/acl.layout.shtml +8 -0
  13. data/apps/core/acl/views/index.shtml +3 -0
  14. data/apps/core/auth/controllers/mixins/auth_helper.rb +3 -3
  15. data/apps/core/auth/lib/authenticable.rb +4 -0
  16. data/apps/core/auth/models/super_user.rb +1 -0
  17. data/apps/core/auth/po/it/spider_auth.po +18 -10
  18. data/apps/core/auth/po/spider_auth.pot +13 -1
  19. data/apps/core/components/_init.rb +2 -1
  20. data/apps/core/components/po/it/spider_components.po +3 -3
  21. data/apps/core/components/po/spider_components.pot +3 -3
  22. data/apps/core/components/public/css/month_calendar.css +24 -0
  23. data/apps/core/components/public/js/jquery/jquery-1.4.2-min.js +154 -0
  24. data/apps/core/components/public/js/jquery/jquery-1.4.2.js +6240 -0
  25. data/apps/core/components/public/js/jquery/plugins/jquery.form.js +1 -1
  26. data/apps/core/components/public/js/spider.js +26 -20
  27. data/apps/core/components/widgets/admin/admin.rb +1 -1
  28. data/apps/core/components/widgets/crud/crud.rb +1 -1
  29. data/apps/core/components/widgets/list/list.rb +2 -2
  30. data/apps/core/components/widgets/month_calendar/month_calendar.rb +67 -0
  31. data/apps/core/components/widgets/month_calendar/month_calendar.shtml +21 -0
  32. data/apps/core/components/widgets/table/table.rb +4 -2
  33. data/apps/core/components/widgets/table/table.shtml +37 -31
  34. data/apps/core/forms/_init.rb +2 -1
  35. data/apps/core/forms/po/it/spider_forms.po +14 -2
  36. data/apps/core/forms/po/spider_forms.pot +13 -1
  37. data/apps/core/forms/public/css/file_input.css +15 -0
  38. data/apps/core/forms/public/{form.css → css/form.css} +8 -0
  39. data/apps/core/forms/public/file_input.js +37 -0
  40. data/apps/core/forms/tags/element_label.erb +4 -1
  41. data/apps/core/forms/tags/element_row.erb +7 -2
  42. data/apps/core/forms/tags/row.erb +10 -1
  43. data/apps/core/forms/widgets/form/form.rb +43 -10
  44. data/apps/core/forms/widgets/form/form.shtml +12 -5
  45. data/apps/core/forms/widgets/inputs/date_time/date_time.shtml +1 -0
  46. data/apps/core/forms/widgets/inputs/file_input/file_input.rb +43 -0
  47. data/apps/core/forms/widgets/inputs/file_input/file_input.shtml +12 -0
  48. data/apps/core/forms/widgets/inputs/input/input.rb +23 -1
  49. data/apps/core/forms/widgets/inputs/password/password.rb +1 -0
  50. data/apps/core/forms/widgets/inputs/text/text.shtml +1 -1
  51. data/apps/core/forms/widgets/inputs/text_area/text_area.shtml +2 -2
  52. data/apps/git_model_versioning/models/mixins/git_versioned.rb +91 -0
  53. data/apps/hippo/models/mixins/hippo_struct.rb +42 -26
  54. data/apps/master/controllers/git.rb +32 -0
  55. data/apps/messenger/_init.rb +1 -1
  56. data/apps/messenger/config/options.rb +2 -0
  57. data/apps/messenger/config/worker/queue.rb +3 -0
  58. data/apps/messenger/controllers/mixins/{messenger_controller_mixin.rb → messenger_helper.rb} +8 -6
  59. data/apps/messenger/messenger.rb +10 -3
  60. data/apps/messenger/models/message.rb +2 -2
  61. data/apps/messenger/po/it/spider_messenger.po +1 -1
  62. data/apps/messenger/po/spider_messenger.pot +1 -1
  63. data/apps/saml/_init.rb +13 -0
  64. data/apps/saml/controllers/saml2idp.rb +18 -0
  65. data/apps/saml/lib/bindings/http_redirect_binding.rb +14 -0
  66. data/apps/saml/lib/messages/authn_request.rb +52 -0
  67. data/apps/saml/lib/saml.rb +10 -0
  68. data/apps/soap/controllers/soap_controller.rb +12 -2
  69. data/apps/soap/lib/soap.rb +16 -1
  70. data/apps/soap/soap.gemspec +10 -0
  71. data/apps/webdav/lib/locking.rb +2 -2
  72. data/apps/worker/_init.rb +2 -0
  73. data/apps/worker/config/options.rb +1 -0
  74. data/apps/worker/worker.rb +17 -4
  75. data/blueprints/app/__APP__.appspec +4 -0
  76. data/blueprints/app/_init.rb +5 -8
  77. data/blueprints/app/controllers/__APP___controller.rb +2 -1
  78. data/blueprints/app/views/__APP__.layout.shtml +4 -1
  79. data/blueprints/install/config/config.yml +2 -4
  80. data/blueprints/model.rb +15 -0
  81. data/data/locale/it/LC_MESSAGES/spider.mo +0 -0
  82. data/data/locale/it/LC_MESSAGES/spider_auth.mo +0 -0
  83. data/data/locale/it/LC_MESSAGES/spider_components.mo +0 -0
  84. data/data/locale/it/LC_MESSAGES/spider_forms.mo +0 -0
  85. data/data/locale/it/LC_MESSAGES/spider_messenger.mo +0 -0
  86. data/lib/spiderfw/app.rb +93 -31
  87. data/lib/spiderfw/autoload.rb +1 -0
  88. data/lib/spiderfw/cmd/cmd.rb +8 -1
  89. data/lib/spiderfw/cmd/commands/config.rb +54 -0
  90. data/lib/spiderfw/config/configuration.rb +30 -0
  91. data/lib/spiderfw/config/options/spider.rb +18 -6
  92. data/lib/spiderfw/controller/controller.rb +12 -11
  93. data/lib/spiderfw/controller/dispatcher.rb +5 -4
  94. data/lib/spiderfw/controller/http_controller.rb +16 -2
  95. data/lib/spiderfw/controller/mixins/http_mixin.rb +3 -2
  96. data/lib/spiderfw/controller/mixins/static_content.rb +8 -2
  97. data/lib/spiderfw/controller/mixins/visual.rb +72 -52
  98. data/lib/spiderfw/controller/request.rb +7 -3
  99. data/lib/spiderfw/controller/scene.rb +6 -0
  100. data/lib/spiderfw/controller/session.rb +12 -8
  101. data/lib/spiderfw/env.rb +1 -1
  102. data/lib/spiderfw/http/adapters/mongrel.rb +1 -1
  103. data/lib/spiderfw/http/http.rb +48 -19
  104. data/lib/spiderfw/i18n/cldr.rb +53 -3
  105. data/lib/spiderfw/i18n/i18n.rb +52 -2
  106. data/lib/spiderfw/i18n/provider.rb +24 -0
  107. data/lib/spiderfw/i18n/rails.rb +24 -0
  108. data/lib/spiderfw/model/active_record.rb +3 -3
  109. data/lib/spiderfw/model/base_model.rb +45 -14
  110. data/lib/spiderfw/model/condition.rb +11 -2
  111. data/lib/spiderfw/model/data_type.rb +15 -7
  112. data/lib/spiderfw/model/datatypes/decimal.rb +15 -3
  113. data/lib/spiderfw/model/datatypes/file_path.rb +50 -0
  114. data/lib/spiderfw/model/datatypes/serialized_object.rb +0 -4
  115. data/lib/spiderfw/model/datatypes/uuid.rb +3 -3
  116. data/lib/spiderfw/model/datatypes.rb +1 -0
  117. data/lib/spiderfw/model/extended_models/managed.rb +11 -2
  118. data/lib/spiderfw/model/mappers/db_mapper.rb +116 -52
  119. data/lib/spiderfw/model/mappers/mapper.rb +36 -14
  120. data/lib/spiderfw/model/mixins/state_machine.rb +45 -9
  121. data/lib/spiderfw/model/mixins/versioned.rb +1 -1
  122. data/lib/spiderfw/model/model.rb +2 -1
  123. data/lib/spiderfw/model/query_set.rb +21 -3
  124. data/lib/spiderfw/model/request.rb +7 -0
  125. data/lib/spiderfw/model/storage/db/adapters/mssql.rb +2 -1
  126. data/lib/spiderfw/model/storage/db/adapters/mysql.rb +4 -1
  127. data/lib/spiderfw/model/storage/db/adapters/oci8.rb +35 -18
  128. data/lib/spiderfw/model/storage/db/adapters/sqlite.rb +68 -34
  129. data/lib/spiderfw/model/storage/db/connectors/odbc.rb +1 -1
  130. data/lib/spiderfw/model/storage/db/db_schema.rb +33 -4
  131. data/lib/spiderfw/model/storage/db/db_storage.rb +27 -8
  132. data/lib/spiderfw/requires.rb +2 -0
  133. data/lib/spiderfw/tag/tag.rb +1 -1
  134. data/lib/spiderfw/templates/blocks/attr_if.rb +7 -1
  135. data/lib/spiderfw/templates/blocks/each.rb +8 -3
  136. data/lib/spiderfw/templates/blocks/html.rb +12 -22
  137. data/lib/spiderfw/templates/blocks/render.rb +3 -3
  138. data/lib/spiderfw/templates/blocks/run.rb +47 -11
  139. data/lib/spiderfw/templates/blocks/tag_if.rb +2 -2
  140. data/lib/spiderfw/templates/blocks/text.rb +2 -1
  141. data/lib/spiderfw/templates/blocks/widget.rb +5 -3
  142. data/lib/spiderfw/templates/blocks/yield.rb +1 -1
  143. data/lib/spiderfw/templates/template.rb +27 -24
  144. data/lib/spiderfw/templates/template_blocks.rb +37 -14
  145. data/lib/spiderfw/utils/monkey/exception.rb +1 -1
  146. data/lib/spiderfw/utils/monkey/nil_class.rb +7 -0
  147. data/lib/spiderfw/utils/monkey/numeric.rb +15 -0
  148. data/lib/spiderfw/version.rb +1 -1
  149. data/lib/spiderfw/widget/widget.rb +36 -33
  150. data/lib/spiderfw/widget/widget_attributes.rb +1 -1
  151. data/lib/spiderfw.rb +18 -5
  152. data/spider.gemspec +5 -5
  153. metadata +44 -18
  154. data/apps/core/components/public/js/jquery/plugins/jtree/jquery.jtree.1.0.js +0 -187
  155. data/apps/core/components/public/js/jquery/plugins/jtree/jquery.jtree.1.0.min.js +0 -1
  156. data/apps/core/components/public/js/jquery/plugins/jtree/jquery.jtree.spider.1.0.js +0 -193
  157. data/apps/core/forms/widgets/inputs/subform/subform.rb +0 -10
  158. data/apps/core/forms/widgets/inputs/subform/subform.shtml +0 -5
  159. data/apps/messenger/config/worker.rb +0 -3
  160. data/lib/spiderfw/controller/app_controller.rb +0 -14
  161. data/lib/spiderfw/utils/test_case.rb +0 -24
data/Rakefile CHANGED
@@ -1,18 +1,28 @@
1
1
  require 'rake'
2
2
  require 'rake/testtask'
3
+ require 'pathname'
3
4
 
4
- desc "Update pot/po files."
5
- task :updatepo do
5
+ def check_app_path(full, partial)
6
+ p = Pathname.new(full)
7
+ rel = p.relative_path_from(Pathname.new(Spider.paths[:core_apps]))
8
+ return rel.to_s == partial
9
+ end
10
+
11
+ desc "Update pot/po files. To update a single app, call rake updatepo[app_relative_path], where app_relative_path is the path relative to the apps folder (or 'spider')."
12
+ task :updatepo, [:app] do |t, args|
6
13
  require 'spiderfw'
7
14
  require 'spiderfw/i18n/shtml_parser'
8
15
  require 'gettext/tools'
9
- GetText.update_pofiles("spider", Dir.glob("{lib,bin,views}/**/*.{rb,rhtml,shtml}"), "Spider #{Spider::VERSION}")
16
+ require 'ruby-debug'
17
+ GetText.update_pofiles("spider", Dir.glob("{lib,bin,views}/**/*.{rb,rhtml,shtml}"), "Spider #{Spider::VERSION}") if !args[:app] || args[:app] == 'spider'
10
18
  apps = Spider.find_all_apps
11
19
  apps.each do |path|
20
+ next if args[:app] && !check_app_path(path, args[:app])
12
21
  require path+'/_init.rb' if File.directory?(path+'/po')
13
22
  end
14
23
  Spider.apps.each do |name, mod|
15
24
  next unless File.directory?(mod.path+'/po')
25
+ next if args[:app] && !check_app_path(mod.path, args[:app])
16
26
  Dir.chdir(mod.path)
17
27
  GetText.update_pofiles(mod.short_name, Dir.glob("{lib,bin,controllers,models,views,widgets}/**/*.{rb,rhtml,shtml}"), "#{mod.name} #{mod.version}")
18
28
  print "\n"
@@ -20,13 +30,14 @@ task :updatepo do
20
30
 
21
31
  end
22
32
 
23
- desc "Create mo-files"
24
- task :makemo do
33
+ desc "Create mo-files. To create for a single app, call rake makemo[app_relative_path], where app_relative_path is the path relative to the apps folder (or 'spider')."
34
+ task :makemo, [:app] do |t, args|
25
35
  require 'gettext/tools'
26
- GetText.create_mofiles(:verbose => true)
36
+ GetText.create_mofiles(:verbose => true) if !args[:app] || args[:app] == 'spider'
27
37
  require 'spiderfw'
28
38
  apps = Spider.find_all_apps
29
39
  apps.each do |path|
40
+ next if args[:app] && !check_app_path(path, args[:app])
30
41
  if File.directory?(path+'/po')
31
42
  Dir.chdir(path)
32
43
  GetText.create_mofiles(:verbose => true, :po_root => './po', :mo_root => $SPIDER_PATH+'/data/locale')
@@ -10,7 +10,7 @@ module Spider; module CASServer
10
10
  def self.included(controller)
11
11
  controller.route 'proxyValidate', :proxy_validate
12
12
  controller.route 'serviceValidate', :service_validate
13
- controller.route 'login', :index
13
+ #controller.route 'login', :index
14
14
  end
15
15
 
16
16
  def before(action='', *arguments)
@@ -33,7 +33,7 @@ module Spider; module CASServer
33
33
  }
34
34
  end
35
35
  begin
36
- if @service
36
+ if @service #&& cas_service_allowed?(@service)
37
37
  if !@renew && tgt && !tgt_error
38
38
  st = generate_service_ticket(@service, tgt.username, tgt)
39
39
  service_with_ticket = service_uri_with_ticket(@service, st)
@@ -72,6 +72,10 @@ module Spider; module CASServer
72
72
  return {}
73
73
  end
74
74
 
75
+ def cas_service_allowed?(service, user)
76
+ return true
77
+ end
78
+
75
79
  def authenticate
76
80
  if error = validate_login_ticket(@request.params['lt'])
77
81
  @scene.message = error
@@ -79,6 +83,10 @@ module Spider; module CASServer
79
83
  end
80
84
  user = super
81
85
  return nil unless user
86
+ if @service && !@service.empty? && !cas_service_allowed?(@service, user)
87
+ @scene.message = {:type => 'error', :message => _("The user is not allowed to acces this service.")}
88
+ return nil
89
+ end
82
90
  cas_user_authenticated(user)
83
91
  return user
84
92
  end
@@ -120,12 +128,17 @@ module Spider; module CASServer
120
128
 
121
129
  __.html
122
130
  def login
123
- if (@request.user)
124
- return cas_user_authenticated(@request.user)
131
+ @service = clean_service_url(@request.params['service'] || @request.params['destination'])
132
+ if @request.user && !@request.params.key?('renew')
133
+ if !@service || @service.empty? || cas_service_allowed?(@service, @request.user)
134
+ return cas_user_authenticated(@request.user)
135
+ else
136
+ raise Forbidden
137
+ end
125
138
  end
126
139
  index
127
140
  end
128
-
141
+
129
142
  __.html
130
143
  def logout
131
144
  @service = clean_service_url(@request.params['service'] || @request.params['destination'])
@@ -133,7 +133,7 @@ module Spider; module CASServer::CAS
133
133
  if lt.consumed
134
134
  error = "The login ticket you provided has already been used up. Please try logging in again."
135
135
  $LOG.warn("Login ticket '#{ticket}' previously used up")
136
- elsif (DateTime.now - lt.obj_created) < Spider.conf.get('cas.login_ticket_expiry')
136
+ elsif lt.obj_created && (DateTime.now - lt.obj_created) < Spider.conf.get('cas.login_ticket_expiry')
137
137
  $LOG.info("Login ticket '#{ticket}' successfully validated")
138
138
  else
139
139
  error = "Your login ticket has expired. Please try logging in again."
@@ -0,0 +1,16 @@
1
+ module Spider; module CMS
2
+
3
+ class Content < Spider::Model::Managed
4
+ include Versioning::Git, MultiLanguage, ACL, RowACL
5
+
6
+ element :title, String
7
+ element :html, SHTML
8
+ tree :contained, :reverse => :container
9
+ element :status, CMS::Status
10
+
11
+
12
+
13
+
14
+ end
15
+
16
+ end
@@ -0,0 +1,7 @@
1
+ module Spider; module CMS
2
+
3
+ class NewsItem < Content
4
+ link :more
5
+ end
6
+
7
+ end; end
@@ -0,0 +1,14 @@
1
+ module Spider; module CMS
2
+
3
+ module Translation
4
+
5
+ module ClassMethods
6
+ attr_accessor :original
7
+
8
+ element :lang, Language
9
+ element :original, Content
10
+
11
+ end
12
+ end
13
+
14
+ end
@@ -0,0 +1,16 @@
1
+ <div class="admin">
2
+ <sp:tree id="content_menu" qs="@qs" >
3
+ <tpl:wrap-content search=".label">
4
+ <a href="{ @actions[child] }">{ $1 }</a>
5
+ </tpl:wrap-content>
6
+ </sp:tree>
7
+ <sp:run obj="@content" />
8
+ </div>
9
+
10
+
11
+ <ol>
12
+ <li sp:each="@children |child|">
13
+ <span id="label">{ @labels[child] }</span>
14
+ <sp:tree id="$child.id" if="child.children" src="@child.children" />
15
+ </li>
16
+ </ol>
@@ -0,0 +1,4 @@
1
+ <div id="content">
2
+ <forms:form model="@content" />
3
+ <admin:page src="@content">
4
+ </div>
@@ -0,0 +1,10 @@
1
+ #require 'apps/acl/controllers/acl_controller.rb'
2
+
3
+ module Acl
4
+ @description = ""
5
+ @version = 0.1
6
+ @path = File.dirname(__FILE__)
7
+ @controller = :AclController
8
+ include Spider::App
9
+ end
10
+
@@ -0,0 +1,14 @@
1
+ module Acl
2
+
3
+ class AclController < Spider::PageController
4
+
5
+ layout 'acl'
6
+
7
+ __.html :template => 'index'
8
+ def index
9
+ @scene.msg = 'Hello!'
10
+ end
11
+
12
+ end
13
+
14
+ end
@@ -0,0 +1,11 @@
1
+ module ACL
2
+
3
+ def self.Permission(user, model)
4
+ klass = Class.new(Spider::Model::Managed)
5
+ const_set("#{ACL}#{user}#{model} booh", klass)
6
+ klass.element :user, :add_multiple_reverse => :"permissions_on_#{model}"
7
+ klass.element :obj, :add_multiple_reverse => :"permitted_#{user}"
8
+ klass.element :permission, String
9
+ end
10
+
11
+ end
@@ -0,0 +1,8 @@
1
+ <html>
2
+ <head></head>
3
+ <body>
4
+ <div id="content">
5
+ <sp:yield />
6
+ </div>
7
+ </body>
8
+ </html>
@@ -0,0 +1,3 @@
1
+ <div id="message">
2
+ { @msg }
3
+ </div>
@@ -40,7 +40,7 @@ module Spider; module Auth
40
40
  requested_class = nil
41
41
  klasses.each do |klass|
42
42
  requested_class = klass
43
- user = klass.restore_from_session(@request.session)
43
+ user = klass.restore(@request)
44
44
  if user
45
45
  @request.security[:users] << user
46
46
  if (params[:authentication])
@@ -69,7 +69,7 @@ module Spider; module Auth
69
69
 
70
70
  def try_rescue(exc)
71
71
  if (exc.is_a?(Unauthorized))
72
- base = @current_require[:redirect] ? @current_require[:redirect] : '/'+Spider::Auth.route_url+'/login/'
72
+ base = @current_require[:redirect] ? @current_require[:redirect] : Spider::Auth.request_url+'/login/'
73
73
  base = request_path+'/'+base unless base[0].chr == '/'
74
74
  base += '?'
75
75
  redir_url = base + 'redirect='+URI.escape(@request.path)
@@ -111,4 +111,4 @@ module Spider; module Auth
111
111
 
112
112
  end
113
113
 
114
- end; end
114
+ end; end
@@ -69,6 +69,10 @@ module Spider; module Auth
69
69
  end
70
70
  return obj
71
71
  end
72
+
73
+ def restore(request)
74
+ restore_from_session(request.session)
75
+ end
72
76
 
73
77
  def restore_session_hash(saved)
74
78
  if (self.subclass_of?(Spider::Model::BaseModel))
@@ -2,6 +2,7 @@ module Spider; module Auth
2
2
 
3
3
  class SuperUser < LoginUser
4
4
  extend_model superclass, :add_polymorphic => true
5
+ label _('Superuser'), _('Superusers')
5
6
  include LoginAuthenticator
6
7
  end
7
8
 
@@ -3,26 +3,25 @@
3
3
  # This file is distributed under the same license as the PACKAGE package.
4
4
  # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5
5
  #
6
- #, fuzzy
7
6
  msgid ""
8
7
  msgstr ""
9
8
  "Project-Id-Version: Spider::Auth 0.1\n"
10
- "POT-Creation-Date: 2009-10-27 14:38+0100\n"
11
- "PO-Revision-Date: 2009-06-30 16:58+0200\n"
12
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
9
+ "POT-Creation-Date: 2010-03-24 16:27+0100\n"
10
+ "PO-Revision-Date: 2010-03-24 16:28+0100\n"
11
+ "Last-Translator: Ivan Pirlik <ivan.pirlik@soluzionipa.it>\n"
13
12
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
13
  "MIME-Version: 1.0\n"
15
14
  "Content-Type: text/plain; charset=UTF-8\n"
16
15
  "Content-Transfer-Encoding: 8bit\n"
17
16
  "Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
18
17
 
18
+ #: controllers/mixins/auth_helper.rb:63
19
+ msgid "Please login first"
20
+ msgstr "Per favore, esegui il login"
21
+
19
22
  #: models/digest_user.rb:17
20
- msgid ""
21
- "You must always supply the password to a DigestUser when updating username "
22
- "or realm"
23
- msgstr ""
24
- "È necessario sempre specificare la password di un DigestUser quando si "
25
- "modifica lo username o il realm"
23
+ msgid "You must always supply the password to a DigestUser when updating username or realm"
24
+ msgstr "È necessario sempre specificare la password di un DigestUser quando si modifica lo username o il realm"
26
25
 
27
26
  #: models/mixins/authentication_tracking.rb:6
28
27
  msgid "Last login"
@@ -31,3 +30,12 @@ msgstr "Ultima login"
31
30
  #: models/mixins/authentication_tracking.rb:7
32
31
  msgid "Login count"
33
32
  msgstr "Numero login"
33
+
34
+ #: models/super_user.rb:5
35
+ msgid "Superuser"
36
+ msgstr "Amministratore"
37
+
38
+ #: models/super_user.rb:5
39
+ msgid "Superusers"
40
+ msgstr "Amministratori"
41
+
@@ -7,7 +7,7 @@
7
7
  msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: Spider::Auth 0.1\n"
10
- "POT-Creation-Date: 2009-10-27 14:38+0100\n"
10
+ "POT-Creation-Date: 2010-03-24 16:27+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,6 +16,10 @@ 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
20
+ msgid "Please login first"
21
+ msgstr ""
22
+
19
23
  #: models/digest_user.rb:17
20
24
  msgid ""
21
25
  "You must always supply the password to a DigestUser when updating username "
@@ -29,3 +33,11 @@ msgstr ""
29
33
  #: models/mixins/authentication_tracking.rb:7
30
34
  msgid "Login count"
31
35
  msgstr ""
36
+
37
+ #: models/super_user.rb:5
38
+ msgid "Superuser"
39
+ msgstr ""
40
+
41
+ #: models/super_user.rb:5
42
+ msgid "Superusers"
43
+ msgstr ""
@@ -18,4 +18,5 @@ require 'apps/core/components/widgets/admin/admin'
18
18
  require 'apps/core/components/widgets/confirm/confirm'
19
19
  # require 'apps/core/components/widgets/tabs/tabs'
20
20
  require 'apps/core/components/widgets/list/list'
21
- require 'apps/core/components/widgets/switcher/switcher'
21
+ require 'apps/core/components/widgets/switcher/switcher'
22
+ require 'apps/core/components/widgets/month_calendar/month_calendar'
@@ -6,7 +6,7 @@
6
6
  msgid ""
7
7
  msgstr ""
8
8
  "Project-Id-Version: Spider::Components 0.1\n"
9
- "POT-Creation-Date: 2009-10-27 14:38+0100\n"
9
+ "POT-Creation-Date: 2010-03-24 16:27+0100\n"
10
10
  "PO-Revision-Date: 2009-10-07 19:35+0100\n"
11
11
  "Last-Translator: Ivan Pirlik <ivan.pirlik@soluzionipa.it>\n"
12
12
  "Language-Team: LANGUAGE <LL@li.org>\n"
@@ -23,11 +23,11 @@ msgstr "Amministrazione"
23
23
  msgid "guest"
24
24
  msgstr "ospite"
25
25
 
26
- #: widgets/crud/crud.rb:65
26
+ #: widgets/crud/crud.rb:94
27
27
  msgid "Cancel"
28
28
  msgstr "Annulla"
29
29
 
30
- #: widgets/crud/crud.rb:66
30
+ #: widgets/crud/crud.rb:95
31
31
  msgid "Ok"
32
32
  msgstr "Ok"
33
33
 
@@ -7,7 +7,7 @@
7
7
  msgid ""
8
8
  msgstr ""
9
9
  "Project-Id-Version: Spider::Components 0.1\n"
10
- "POT-Creation-Date: 2009-10-27 14:38+0100\n"
10
+ "POT-Creation-Date: 2010-03-24 16:27+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"
@@ -24,11 +24,11 @@ msgstr ""
24
24
  msgid "guest"
25
25
  msgstr ""
26
26
 
27
- #: widgets/crud/crud.rb:65
27
+ #: widgets/crud/crud.rb:94
28
28
  msgid "Cancel"
29
29
  msgstr ""
30
30
 
31
- #: widgets/crud/crud.rb:66
31
+ #: widgets/crud/crud.rb:95
32
32
  msgid "Ok"
33
33
  msgstr ""
34
34
 
@@ -0,0 +1,24 @@
1
+ /* @override http://localhost:8989/spider/components/public/css/month_calendar.css */
2
+
3
+ .spider.components.month-calendar{
4
+ border-collapse: collapse;
5
+ }
6
+
7
+ .spider.components.month-calendar td, .spider.components.month-calendar th{
8
+ padding: 0.3em;
9
+ text-align: center;
10
+ border: 1px solid #cecece;
11
+ }
12
+
13
+ .spider.components.month-calendar td{
14
+ color: #555555;
15
+ }
16
+
17
+ .spider.components.month-calendar td.prev-month, .spider.components.month-calendar td.next-month{
18
+ background-color: #E4E4E4;
19
+ color: #999999;
20
+ }
21
+
22
+ .spider.components.month-calendar td.busy{
23
+ font-weight: bold;
24
+ }