class TransactionCreateView(FlaskView): route_base = '/transaction/create' def __init__(self): self.transaction_business_logic = TransactionBusiness() def post(self): # Recebe os itens pelos quais o usuario deseja trocar os seus user_id = int(request.form['user_id']) form_ids = request.form['items_ids'].split(',') form_ids = [x.encode('utf-8') for x in form_ids] form_qtd = request.form['quantities'].split(',') form_qtd = [x.encode('utf-8') for x in form_qtd] # Insere os itens na transacao if (len(form_ids) == len(form_qtd) and user_id != None): for i in range(0,len(form_ids)): transaction_return = self.transaction_business_logic.set_transaction_item_to(session['active_transaction_key'], user_id, form_ids[i], form_qtd[i]) if transaction_return == False: transaction_error = True # Commita transacao passando para o status 'open', aguardando aprovacao self.transaction_business_logic.set_status_transaction(session['active_transaction_key'], 'open') # Finaliza edicao da transacao pelo proponente session.pop('active_transaction', None) session.pop('active_transaction_key', None) # Imprime a mensagem ao concluir a transacao flash("Solicitacao de Troca criada com Sucesso!") return render_template('transactions.html', list_transactions=self.transaction_business_logic.transactions_list(), title="Transacao")
class TransactionAcceptView(FlaskView): route_base = '/transaction/accept' def __init__(self): self.transaction_business_logic = TransactionBusiness() def index(self): # Lista as transacoes ativas aguardando aceitacao pelo usuario logado return render_template( 'transactions_accept.html', list_transactions=self.transaction_business_logic. transactions_waiting_list_user(session['user']), title="Solicitacoes") def post(self): # Processa a transacao if request.form['type'] == 'yes': self.transaction_business_logic.finish_transaction( request.form['transaction_id']) flash("Solicitacao #%s processada com Sucesso!" % request.form['transaction_id']) else: self.transaction_business_logic.cancel_transaction( request.form['transaction_id']) flash("Solicitacao #%s cancelada com Sucesso!" % request.form['transaction_id']) return render_template( 'transactions_accept.html', list_transactions=self.transaction_business_logic. transactions_waiting_list_user(session['user']), title="Solicitacoes")
class TransactionView(FlaskView): route_base = '/transaction' def __init__(self): self.transaction_business_logic = TransactionBusiness() def index(self): return render_template('transactions.html', list_transactions=self.transaction_business_logic.transactions_list_key(session['user']), title="Transacao")
class TransactionExchangeView(FlaskView): route_base = '/transaction/exchange' def __init__(self): self.transaction_business_logic = TransactionBusiness() self.user_business_logic = UserBusiness() def post(self): # Recebe os itens a serem trocados form_ids = request.form['items_ids'].split(',') form_ids = [x.encode('utf-8') for x in form_ids] form_qtd = request.form['quantities'].split(',') form_qtd = [x.encode('utf-8') for x in form_qtd] # Insere os itens escolhidos para troca, na etapa anterior, na transacao if (len(form_ids) == len(form_qtd)): for i in range(0,len(form_ids)): self.transaction_business_logic.set_transaction_item_from(session['active_transaction_key'], form_ids[i], form_qtd[i]) return render_template('transactions_create_exchange_users.html', list_users=self.user_business_logic.get_users_exchange_items(form_ids, form_qtd, session['user_id']), title="New Transaction - Select User")
class TransactionSelectView(FlaskView): route_base = '/transaction/select' def __init__(self): self.transaction_business_logic = TransactionBusiness() self.user_business_logic = UserBusiness() def index(self): # Cria uma nova transacao se nao existir uma ativa ainda if not 'active_transaction' in session.keys(): transaction = self.transaction_business_logic.create_transaction( session['user_id']) #session['active_transaction'] = transaction.key session['active_transaction_key'] = transaction.key #create_transaction_id = self.transaction_business_logic.create_transaction(session['user_id']) #session['active_transaction'] = create_transaction_id #session['active_transaction_key'] = create_transaction_id.keys()[0] return render_template( 'transactions_create_user_items.html', list_items=self.user_business_logic.get_user_items( session['user_id']), title="Nova Transacao - Itens do Usuario")
def __init__(self): self.transaction_business_logic = TransactionBusiness() self.user_business_logic = UserBusiness()