示例#1
0
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")
示例#2
0
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")
示例#3
0
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")
示例#4
0
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")
示例#5
0
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")
示例#6
0
 def __init__(self):
     self.transaction_business_logic = TransactionBusiness()
     self.user_business_logic = UserBusiness()