iab-InsuranceBizLogic 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
data/lib/bizLogic/xquery2 CHANGED
@@ -2,4 +2,4 @@
2
2
  for $result in collection("quotes.dbxml")/Telenexus
3
3
  where $result//Profile/PersonalDetails/Client/Contact/Email = "EMAIL"
4
4
  return
5
- $result
5
+ $result/dbxml:metadata("dbxml:name")
@@ -133,11 +133,18 @@ class PEngine
133
133
 
134
134
  when "Authenticate"
135
135
  begin
136
- session[:user_email] = params[:User][:User] if params[:User] and params[:User][:User]
136
+ if params[:User] and params[:User][:User] and params[:User][:User].length > 0
137
+ session[:user_email] = params[:User][:User]
138
+ elsif params[:ProfilePersonalDetailsClientContact] and params[:ProfilePersonalDetailsClientContact][:Email]
139
+ session[:user_email] = params[:ProfilePersonalDetailsClientContact][:Email]
140
+ end
141
+
137
142
  eval(deriveActiveRecordDefinitionOfProduct(session[:product]))
138
143
  open("#{File.dirname(__FILE__)}/../bizLogic/xquery2") {|f| @query = f.read }
139
144
  results = persist.find(@query.gsub('EMAIL',session[:user_email]))
140
- prepareModels(session[:product],results[0]) if results and results[0]
145
+ key = results[0]
146
+ xml = persist.get(key)
147
+ prepareModels(session[:product],xml) if results and results[0] and xml
141
148
  rescue
142
149
  if !session[:user_email]
143
150
  raise "Credentials missing - you have not logged in"
@@ -147,20 +154,20 @@ class PEngine
147
154
 
148
155
  when "SaveProfile"
149
156
  begin
150
- if params[:User] and params[:User][:User]
151
- session[:user_email] = params[:User][:User]
152
- params[:ProfilePersonalDetailsClientContact] = HashWithIndifferentAccess.new
153
- params[:ProfilePersonalDetailsClientContact][:Email] = params[:User][:User]
154
- end
157
+ session[:user_email] = params[:ProfilePersonalDetailsClientContact][:Email]
155
158
  eval(deriveActiveRecordDefinitionOfProduct(session[:product]))
156
159
  xml = createXMLMessage(session[:product],params,false) { |k,v| "<#{k}>#{v}</#{k}>" }
157
160
  open("#{File.dirname(__FILE__)}/../bizLogic/xquery2") {|f| @query = f.read }
158
161
  results = persist.find(@query.gsub('EMAIL',session[:user_email]))
162
+ key = nil
159
163
  if !results
160
164
  key = persist.create_key_and_doc(xml)
161
- results = persist.find(@query.gsub('EMAIL',session[:user_email]))
165
+ else
166
+ key = results[0]
167
+ persist.put(key,xml)
162
168
  end
163
- prepareModels(session[:product],results[0])
169
+ xml = persist.get(key)
170
+ prepareModels(session[:product],xml)
164
171
  rescue
165
172
  if !session[:user_email]
166
173
  raise "Credentials missing for new customer"
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: iab-InsuranceBizLogic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gary Mawdsley