Class: XmlConv::State::Login

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

Constant Summary collapse

VIEW =
View::

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
# File 'lib/xmlconv/state/login.rb', line 13

def initialize(session, model)
  if session.request_method.eql?('POST')
    session.request_params
    xml_src = "#{session.request_params.keys.first} #{session.request_params.values.first}"
    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      = 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



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

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

#to_html(context) ⇒ Object



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

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



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

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