Example #1
0
 def delete_tariff(self, data, session, curs=None):
     f = TariffFilter(session, {'id': data['id']}, {}, None)
     try:
         mapping.delete(curs, f.filter_one_obj(curs))
     except ObjectDeletionError:
         raise TariffUsed('Tariff %s used' % data['id'])
     return response_ok()
Example #2
0
    def _process_lock(self, session, curs, data, operation, balance_updater):
        lock_f = BalanceLockFilter(session, {'id': data['lock_id'],
            'balance_id': data['balance_id']}, {}, None)
        lock = lock_f.filter_one_obj(curs)

        balance = self._get_active_balance(session, curs, data)

        currs_id_idx = self._get_currs_idx(curs, 'id')
        currency = currs_id_idx[balance.currency_id]

        info = data.get('info', {})

        trans_data = {'environment_id': session.environment_id, 'user_id': balance.user_id,
            'balance_id': balance.id, 'currency_code': currency.code, 'type': operation,
            'real_amount': cents_to_decimal(currency, lock.real_amount),
            'virtual_amount': cents_to_decimal(currency, lock.virtual_amount),
            'order_id': lock.order_id, 'info': info}

        balance_updater(balance, lock)
        mapping.update(curs, balance)

        trans = Transaction(**trans_data)
        mapping.delete(curs, lock)
        mapping.insert(curs, trans)
        return response_ok(transaction_id=trans.id)
Example #3
0
    def _process_lock(self, session, curs, data, operation, balance_updater):
        lock_f = BalanceLockFilter(session, {
            'id': data['lock_id'],
            'balance_id': data['balance_id']
        }, {}, None)
        lock = lock_f.filter_one_obj(curs)

        balance = self._get_active_balance(session, curs, data)

        currs_id_idx = self._get_currs_idx(curs, 'id')
        currency = currs_id_idx[balance.currency_id]

        info = data.get('info', {})

        trans_data = {
            'environment_id': session.environment_id,
            'user_id': balance.user_id,
            'balance_id': balance.id,
            'currency_code': currency.code,
            'type': operation,
            'real_amount': cents_to_decimal(currency, lock.real_amount),
            'virtual_amount': cents_to_decimal(currency, lock.virtual_amount),
            'order_id': lock.order_id,
            'info': info
        }

        balance_updater(balance, lock)
        mapping.update(curs, balance)

        trans = Transaction(**trans_data)
        mapping.delete(curs, lock)
        mapping.insert(curs, trans)
        return response_ok(transaction_id=trans.id)
Example #4
0
 def delete_service(self, data, req_info, session, curs=None):
     f = ServiceFilter(session.environment_id, {'id': data.get('id')}, {}, None)
     s = f.filter_one_obj(curs)
     if s.type == Service.TYPE_AUTH:
         raise ServiceDeletionError(Service.TYPE_AUTH)
     mapping.delete(curs, s)
     return response_ok()
Example #5
0
 def delete_tariff(self, data, session, curs=None):
     f = TariffFilter(session, {'id': data['id']}, {}, None)
     try:
         mapping.delete(curs, f.filter_one_obj(curs))
     except ObjectDeletionError:
         raise TariffUsed('Tariff %s used' % data['id'])
     return response_ok()
Example #6
0
    def logout(self, data, req_info, curs=None):

        session_id = data.get('session_id')
        f = SessionFilter({'session_id': session_id}, {}, None)
        try:
            session = f.filter_one_obj(curs, for_update=True)
            mapping.delete(curs, session)
            _add_log_info(data, session)
        except SessionNotFound:
            pass
        return response_ok()
Example #7
0
 def delete_rule(self, data, session, curs=None):
     f = RuleFilter(session, {'id': data['id']}, {}, None)
     mapping.delete(curs, f.filter_one_obj(curs))
     return response_ok()
Example #8
0
 def delete_tariff_viewing_context(self, data, session, curs=None):
     f = TariffViewingContextFilter(session, {'id': data['id']}, {}, None)
     mapping.delete(curs, f.filter_one_obj(curs))
     return response_ok()
Example #9
0
 def delete_tariffication_object(self, data, session, curs=None):
     f = TarifficationObjectFilter(session, {'id': data.get('id')}, {},
                                   None)
     mapping.delete(curs, f.filter_one_obj(curs))
     return response_ok()
Example #10
0
 def _remove_session(self, sess_id, curs=None):
     f = SessionFilter({'session_id': sess_id}, {}, None)
     sess = f.filter_one_obj(curs)
     mapping.delete(curs, sess)
Example #11
0
 def delete_group(self, data, req_info, session, curs=None):
     f = GroupFilter(session.environment_id, {'id': data.get('id')}, {}, None)
     mapping.delete(curs, f.filter_one_obj(curs))
     return response_ok()
Example #12
0
 def delete_rule(self, data, session, curs=None):
     f = RuleFilter(session, {'id': data['id']}, {}, None)
     mapping.delete(curs, f.filter_one_obj(curs))
     return response_ok()
Example #13
0
 def delete_tariff_viewing_context(self, data, session, curs=None):
     f = TariffViewingContextFilter(session, {'id': data['id']}, {}, None)
     mapping.delete(curs, f.filter_one_obj(curs))
     return response_ok()
Example #14
0
 def delete_tariffication_object(self, data, session, curs=None):
     f = TarifficationObjectFilter(session, {'id': data.get('id')}, {}, None)
     mapping.delete(curs, f.filter_one_obj(curs))
     return response_ok()