Class: XmlConv::State::Login

Inherits:
SBSM::State
  • Object
show all
Defined in:
lib/xmlconv/state/login.rb

Constant Summary collapse

VIEW =
View::Login

Instance Method Summary collapse

Constructor Details

#initialize(session, model) ⇒ Login

Returns a new instance of Login.



13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/xmlconv/state/login.rb', line 13

def initialize(session, model)
  if session.request_method.eql?('POST')
    xml_src = session.post_content
    SBSM.debug "XmlConv::State::Login POST params were #{session.request_params}"
    SBSM.debug " xml_src #{xml_src.encoding} now #{xml_src}"
    unless xml_src.length == 0
      transaction = XmlConv::Util::Transaction.new
      transaction.domain      = session.server_name
      transaction.input       = xml_src
      transaction.reader      = 'SunStoreBdd'
      transaction.writer      = XmlConv::CONFIG.writer
      transaction.destination = XmlConv::Util::Destination.book(XmlConv::CONFIG.destination)
      transaction.partner     = File.basename(session.request_path)
      transaction.origin      = "http://#{session.remote_ip}"
      transaction.postprocs.push(['Soap', 'update_partner'])
      transaction.postprocs.push(['Bbmb2', 'inject', XmlConv::CONFIG.bbmb_url, 'customer_id'])
      @transaction = transaction
      res = session.app.execute_with_response(transaction)
    end
  end
  super
end

Instance Method Details

#loginObject



45
46
47
48
49
50
51
# File 'lib/xmlconv/state/login.rb', line 45

def 
	if(@session.)
		Transactions.new(@session, @session.persistence_layer.transactions)
	else
		self
	end
end

#to_html(context) ⇒ Object



35
36
37
38
39
40
41
42
43
44
# File 'lib/xmlconv/state/login.rb', line 35

def to_html(context)
  if @session.request_method.eql?('POST')
    string = StringIO.new
    @transaction.response.write(string, 2)
    string.rewind
    string.read
  else
    super(context)
  end
end

#transactionObject



52
53
54
55
56
57
58
59
# File 'lib/xmlconv/state/login.rb', line 52

def transaction
	if((id = @session.user_input(:transaction_id)) \
		&& (transaction = @session.persistence_layer.transaction(id)))
		TransactionLogin.new(@session.persistence_layer, transaction)
	else
		self
	end
end