ooor 1.5.1 → 1.5.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,57 @@
1
+ #!/usr/bin/ruby
2
+
3
+ puts "*** OOOR - OpenObject on Rails! is published under the AGPL license by Akretion.com ***"
4
+
5
+ require 'irb'
6
+ require 'rubygems'
7
+ require 'ooor'
8
+
9
+ begin
10
+ #require 'bond' #auto-completion
11
+ #Bond.start
12
+ require 'irb/completion'
13
+ rescue
14
+ require 'irb/completion'
15
+ end
16
+
17
+
18
+ unless ARGV.empty?
19
+ username = ARGV[0].split(".")[0]
20
+ database = ARGV[0].split(".")[1].split("@")[0]
21
+ if ARGV[0].index("@")
22
+ base_url = ARGV[0].split("@")[1]
23
+ else
24
+ base_url = "localhost"
25
+ end
26
+ port_given = false
27
+ if base_url.index(":") #port in URL
28
+ t = base_url.split(":")
29
+ base_url = t[0]
30
+ port = t[1]
31
+ port_given = true
32
+ else
33
+ port = "8069"
34
+ end
35
+ url = "http://#{base_url}:#{port}/xmlrpc"
36
+ if ARGV[1] && ARGV[1] != "-s"
37
+ password = ARGV[1]
38
+ else
39
+ puts "password?"
40
+ password = $stdin.gets.chomp!
41
+ end
42
+
43
+ if ARGV[1] == "-s" || ARGV[2] == "-s" #secure mode
44
+ url.gsub!("http", "https")
45
+ url.gsub!("8069", "8071") unless port_given
46
+ end
47
+ else
48
+ puts "USAGE: ooor admin.database@host\nor ooor admin.database@host:port\nor ooor admin.database for localhost\nyou can specify the password with ooor admin.database@host password\nyou can use the -s option for secure HTTPS mode"
49
+ exit 0
50
+ end
51
+
52
+ ARGV = []
53
+ ARGV << '--readline' << '--prompt' << 'inf-ruby'
54
+
55
+ ooor = Ooor.new(:url => url, :database => database || 'demo', :username => username || 'admin', :password => password || 'admin')
56
+
57
+ IRB.start(__FILE__)
@@ -124,7 +124,16 @@ module Ooor
124
124
  end
125
125
 
126
126
  def rpc_execute_with_object(object, method, *args)
127
- rpc_execute_with_all(@database || @ooor.config[:database], @user_id || @ooor.config[:user_id], @password || @ooor.config[:password], object, method, *args)
127
+ if args[-1].is_a? Hash #context
128
+ user_id = args[-1].delete(:user_id) || args[-1].delete('user_id') || @user_id || @ooor.config[:user_id]
129
+ password = args[-1].delete(:password) || args[-1].delete('password') || @password || @ooor.config[:password]
130
+ database = args[-1].delete(:database) || args[-1].delete('database') || @database || @ooor.config[:database]
131
+ else
132
+ user_id = @user_id || @ooor.config[:user_id] #TODO @user_id useless?
133
+ password = @password || @ooor.config[:password]
134
+ database = @database || @ooor.config[:database]
135
+ end
136
+ rpc_execute_with_all(database, user_id, password, object, method, *args)
128
137
  end
129
138
 
130
139
  #corresponding method for OpenERP osv.execute(self, db, uid, obj, method, *args, **kw) method
@@ -232,7 +241,7 @@ module Ooor
232
241
  attr_accessor :associations, :loaded_associations, :ir_model_data_id, :object_session
233
242
 
234
243
  def object_db; object_session[:database] || self.class.database || self.class.ooor.config[:database]; end
235
- def object_uid;object_session[:user_id] || self.class.user_id || self.class.ooor.config[:user_id]; end
244
+ def object_uid; object_session[:user_id] || self.class.user_id || self.class.ooor.config[:user_id]; end
236
245
  def object_pass; object_session[:password] || self.class.password || self.class.ooor.config[:password]; end
237
246
 
238
247
  #try to wrap the object context inside the query.
@@ -40,6 +40,8 @@ module Ooor
40
40
  map[k] = "#{v.year}-#{v.month}-#{v.day} #{v.hour}:#{v.min}:#{v.sec}"
41
41
  elsif !v.is_a?(Numeric) && !v.is_a?(Integer) && v.respond_to?(:day) && v.respond_to?(:year)#really ensure that's a date type
42
42
  map[k] = "#{v.year}-#{v.month}-#{v.day}"
43
+ elsif v == "false" #may happen with OOORBIT
44
+ map[k] = false
43
45
  end
44
46
  end
45
47
  end
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 1
7
7
  - 5
8
- - 1
9
- version: 1.5.1
8
+ - 2
9
+ version: 1.5.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Raphael Valyi - www.akretion.com
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2011-03-10 00:00:00 -03:00
17
+ date: 2011-03-31 00:00:00 -03:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -34,8 +34,8 @@ dependencies:
34
34
  version_requirements: *id001
35
35
  description: OOOR exposes business object proxies to your Ruby (Rails or not) application, that map seamlessly to your remote OpenObject/OpenERP server using webservices. It extends the standard ActiveResource API.
36
36
  email: rvalyi@akretion.com
37
- executables: []
38
-
37
+ executables:
38
+ - ooor
39
39
  extensions: []
40
40
 
41
41
  extra_rdoc_files: []
@@ -58,6 +58,7 @@ files:
58
58
  - lib/app/ui/form_model.rb
59
59
  - lib/app/ui/menu.rb
60
60
  - spec/ooor_spec.rb
61
+ - bin/ooor
61
62
  has_rdoc: true
62
63
  homepage: http://github.com/rvalyi/ooor
63
64
  licenses: []