iab-InsuranceBizLogic 0.1.8 → 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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