ixtlan 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- data/Manifest.txt +4 -0
- data/Rakefile +1 -1
- data/lib/ixtlan/audit_config.rb +0 -2
- data/lib/ixtlan/controllers/authentications_controller.rb +24 -0
- data/lib/ixtlan/controllers/configurations_controller.rb +41 -0
- data/lib/ixtlan/controllers/permissions_controller.rb +11 -0
- data/lib/ixtlan/controllers/texts_controller.rb +11 -4
- data/lib/ixtlan/controllers/word_bundles_controller.rb +26 -0
- data/lib/ixtlan/models/locale.rb +12 -0
- data/lib/ixtlan/models/user.rb +1 -1
- data/lib/ixtlan/rails/unrestful_authentication.rb +1 -1
- data/lib/ixtlan/version.rb +1 -1
- metadata +7 -3
data/Manifest.txt
CHANGED
@@ -43,6 +43,10 @@ lib/ixtlan/optimistic_persistence_module.rb
|
|
43
43
|
lib/ixtlan/optimistic_persistence_validation.rb
|
44
44
|
lib/ixtlan/error_notifier/error_notification.rhtml
|
45
45
|
lib/ixtlan/controllers/texts_controller.rb
|
46
|
+
lib/ixtlan/controllers/permissions_controller.rb
|
47
|
+
lib/ixtlan/controllers/authentications_controller.rb
|
48
|
+
lib/ixtlan/controllers/configurations_controller.rb
|
49
|
+
lib/ixtlan/controllers/word_bundles_controller.rb
|
46
50
|
lib/ixtlan/guard.rb
|
47
51
|
lib/ixtlan/rails/audit.rb
|
48
52
|
lib/ixtlan/rails/error_handling.rb
|
data/Rakefile
CHANGED
@@ -11,7 +11,7 @@ require 'yard'
|
|
11
11
|
|
12
12
|
Hoe.spec('ixtlan') do |p|
|
13
13
|
p.developer('mkristian', 'm.kristian@web.de')
|
14
|
-
p.extra_deps = [['dm-core', '~>0.10.1'], ['dm-validations', '~>0.10.1'], ['dm-timestamps', '~>0.10.1'], ['dm-migrations', '~>0.10.1'], ['slf4r', '~>0.2.0'], ['datamapper4rails', '~>0.
|
14
|
+
p.extra_deps = [['dm-core', '~>0.10.1'], ['dm-validations', '~>0.10.1'], ['dm-timestamps', '~>0.10.1'], ['dm-migrations', '~>0.10.1'], ['slf4r', '~>0.2.0'], ['datamapper4rails', '~>0.4.0'],['rack-datamapper', '~>0.2.5'], ['logging', '~>1.2.3']]
|
15
15
|
p.rspec_options << '--options' << 'spec/spec.opts'
|
16
16
|
end
|
17
17
|
|
data/lib/ixtlan/audit_config.rb
CHANGED
@@ -0,0 +1,24 @@
|
|
1
|
+
module Ixtlan
|
2
|
+
module Controllers
|
3
|
+
module AuthenticationsController
|
4
|
+
|
5
|
+
protected
|
6
|
+
def login_from_params
|
7
|
+
auth = params[:authentication]
|
8
|
+
User.authenticate(auth[:login], auth[:password])
|
9
|
+
end
|
10
|
+
|
11
|
+
public
|
12
|
+
def create
|
13
|
+
render_successful_login
|
14
|
+
end
|
15
|
+
|
16
|
+
def destroy
|
17
|
+
authentication_logger.log_user(current_user.nil? ? nil : current_user.login, "already logged out")
|
18
|
+
session.clear
|
19
|
+
head :ok
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
module Ixtlan
|
2
|
+
module Controllers
|
3
|
+
module ConfigurationsController
|
4
|
+
|
5
|
+
# GET /configuration
|
6
|
+
# GET /configuration.xml
|
7
|
+
def show
|
8
|
+
@configuration = Configuration.instance
|
9
|
+
|
10
|
+
respond_to do |format|
|
11
|
+
format.html # show.html.erb
|
12
|
+
format.xml { render :xml => @configuration }
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
# GET /configuration/edit
|
17
|
+
def edit
|
18
|
+
@configuration = Configuration.instance
|
19
|
+
end
|
20
|
+
|
21
|
+
# PUT /configuration
|
22
|
+
# PUT /configuration.xml
|
23
|
+
def update
|
24
|
+
@configuration = Configuration.instance
|
25
|
+
@configuration.current_user = current_user
|
26
|
+
|
27
|
+
locales = params[:configuration].delete(:locales)
|
28
|
+
respond_to do |format|
|
29
|
+
if @configuration.update(params[:configuration]) or not @configuration.dirty?
|
30
|
+
flash[:notice] = 'Configuration was successfully updated.'
|
31
|
+
format.html { redirect_to(configuration_url) }
|
32
|
+
format.xml { render :xml => @configuration }
|
33
|
+
else
|
34
|
+
format.html { render :action => "edit" }
|
35
|
+
format.xml { render :xml => @configuration.errors, :status => :unprocessable_entity }
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -8,7 +8,7 @@ module Ixtlan
|
|
8
8
|
private
|
9
9
|
|
10
10
|
def locale_guard
|
11
|
-
|
11
|
+
# TODO
|
12
12
|
end
|
13
13
|
|
14
14
|
public
|
@@ -22,17 +22,24 @@ module Ixtlan
|
|
22
22
|
def create
|
23
23
|
phrase = params[:phrase]
|
24
24
|
|
25
|
-
locale
|
25
|
+
# load the locale and delete the locale parameter array
|
26
|
+
locale = LOCALE.get!(phrase.delete(:locale)[:code])
|
26
27
|
|
27
28
|
if(TEXT.count(:version => nil, :code => phrase[:code], :locale => locale) == 1)
|
28
|
-
|
29
|
+
logger.warn "precondition failed: " + phrase.inspect
|
30
|
+
# mimic created action
|
31
|
+
render :xml => TEXT.first(:version => nil, :code => phrase[:code], :locale => locale).to_xml, :status => :created
|
32
|
+
return
|
29
33
|
end
|
30
34
|
|
31
35
|
phrase[:text] ||= phrase.delete(:current_text)
|
32
|
-
phrase[:locale] = locale
|
33
36
|
|
34
37
|
@text = TEXT.new(phrase)
|
35
38
|
|
39
|
+
# set the missing attributes
|
40
|
+
@text.locale = locale
|
41
|
+
@text.current_user = current_user
|
42
|
+
|
36
43
|
respond_to do |format|
|
37
44
|
if @text.save
|
38
45
|
flash[:notice] = 'Text was successfully created.'
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Ixtlan
|
2
|
+
module Controllers
|
3
|
+
module WordBundlesController
|
4
|
+
|
5
|
+
def show
|
6
|
+
locale = params[:id]
|
7
|
+
# TODO load in following order and allow to replace findings in the
|
8
|
+
# intermediate result set
|
9
|
+
# * DEFAULT not_approved
|
10
|
+
# * DEFAULT latest_approved
|
11
|
+
# * locale-parent latest_approved
|
12
|
+
# * locale latest_approved
|
13
|
+
l = Locale.get!(locale)
|
14
|
+
wordMap = {}
|
15
|
+
Ixtlan::Models::Word.not_approved(:locale => Locale.default).each do |word|
|
16
|
+
wordMap[word.code] = word
|
17
|
+
end
|
18
|
+
Ixtlan::Models::Word.approved(:locale => Locale.default).each do |word|
|
19
|
+
wordMap[word.code] = word
|
20
|
+
end
|
21
|
+
|
22
|
+
render :xml => "<word_bundle><locale>#{locale}</locale><words>" + wordMap.values.collect { |w| w.to_xml }.join + "</words></word_bundle>"
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/ixtlan/models/locale.rb
CHANGED
@@ -16,6 +16,18 @@ module Ixtlan
|
|
16
16
|
|
17
17
|
timestamps :created_at
|
18
18
|
|
19
|
+
def parent
|
20
|
+
c = attribute_get(:code)
|
21
|
+
case c.size
|
22
|
+
when 2
|
23
|
+
self.model.default
|
24
|
+
when 5
|
25
|
+
self.model.get!(code[0,2])
|
26
|
+
else
|
27
|
+
nil
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
19
31
|
def self.default
|
20
32
|
get(DEFAULT) || create(:code => DEFAULT)
|
21
33
|
end
|
data/lib/ixtlan/models/user.rb
CHANGED
@@ -94,7 +94,7 @@ module Ixtlan
|
|
94
94
|
|
95
95
|
# make sure login is immutable
|
96
96
|
def login=(new_login)
|
97
|
-
attribute_set(:login, new_login) if
|
97
|
+
attribute_set(:login, new_login) if login.nil?
|
98
98
|
end
|
99
99
|
|
100
100
|
if protected_instance_methods.find {|m| m == 'to_x'}.nil?
|
@@ -78,7 +78,7 @@ module Rails
|
|
78
78
|
end
|
79
79
|
|
80
80
|
def logout
|
81
|
-
if(params[:login] == current_user.login
|
81
|
+
if(params[:login] == current_user.login && request.content_type != 'application/xml')
|
82
82
|
authentication_logger.log_user(current_user.login, "logged out")
|
83
83
|
current_user = nil
|
84
84
|
session.clear
|
data/lib/ixtlan/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ixtlan
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.
|
4
|
+
version: 0.2.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- mkristian
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-12-
|
12
|
+
date: 2009-12-18 00:00:00 +05:30
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -70,7 +70,7 @@ dependencies:
|
|
70
70
|
requirements:
|
71
71
|
- - ~>
|
72
72
|
- !ruby/object:Gem::Version
|
73
|
-
version: 0.
|
73
|
+
version: 0.4.0
|
74
74
|
version:
|
75
75
|
- !ruby/object:Gem::Dependency
|
76
76
|
name: rack-datamapper
|
@@ -158,6 +158,10 @@ files:
|
|
158
158
|
- lib/ixtlan/optimistic_persistence_validation.rb
|
159
159
|
- lib/ixtlan/error_notifier/error_notification.rhtml
|
160
160
|
- lib/ixtlan/controllers/texts_controller.rb
|
161
|
+
- lib/ixtlan/controllers/permissions_controller.rb
|
162
|
+
- lib/ixtlan/controllers/authentications_controller.rb
|
163
|
+
- lib/ixtlan/controllers/configurations_controller.rb
|
164
|
+
- lib/ixtlan/controllers/word_bundles_controller.rb
|
161
165
|
- lib/ixtlan/guard.rb
|
162
166
|
- lib/ixtlan/rails/audit.rb
|
163
167
|
- lib/ixtlan/rails/error_handling.rb
|