def handle_factuur_create(params, json_data): log.debug('Start factuur_create') log.debug('Input data:%s', json_data) if not hasPermission(params, 'factuur_create', None): return {'error': 'insufficient permissions'} facturen = [] #Start transaction try: facturen.append(parse_factuur(json_data)) except MalformedDataException: return {'error': 'incorrectly structured data'} try: for factuur in facturen: start_transaction() verify_factuur(factuur) fac_id = process_factuur(factuur) policy.process_factuur(factuur, fac_id) commit() except NonExistingProductException, e: rollback() return { 'error': 'No such product {0}: {1}'.format(e.product_id, e.product_name), 'product_id': e.product_id, 'product_name': e.product_name }
def handle_factuur_create(params, json_data): log.debug('Start factuur_create') log.debug('Input data:%s', json_data) if not hasPermission(params,'factuur_create',None): return {'error': 'insufficient permissions'} facturen = [] #Start transaction try: facturen.append(parse_factuur(json_data)) except MalformedDataException: return {'error': 'incorrectly structured data'} try: for factuur in facturen: start_transaction() verify_factuur(factuur) fac_id = process_factuur(factuur) policy.process_factuur(factuur, fac_id) commit() except NonExistingProductException, e: rollback() return {'error': 'No such product {0}: {1}'.format(e.product_id, e.product_name), 'product_id': e.product_id, 'product_name': e.product_name}
def handle_factuur_edit(params, json_data): log.debug('Start factuur_edit') log.debug('Input data:%s', json_data) if not hasPermission(params,'factuur_create',None): return {'error': 'insufficient permissions'} factuur_id = params['factuur_id'] try: regels = parse_factuur_regels(json_data['regels']) factuur = handle_factuur(params, {}) except MalformedDataException: return {'error': 'Incorrect input formatting'} try: start_transaction() vrd_aantallen = {} for regel in regels: verify_factuur_regel(regel, vrd_aantallen) edit_factuur(factuur_id, factuur, regels) commit() except NonExistingProductException, e: rollback() return {'error': 'No such product {0}: {1}'.format(e.product_id, e.product_name), 'product_id': e.product_id, 'product_name': e.product_name}
return { 'error': 'No such product {0}: {1}'.format(e.product_id, e.product_name), 'product_id': e.product_id, 'product_name': e.product_name } except NonExistingVerenigingException, e: return { 'error': 'No such vereniging {0}'.format(e.vereniging), 'vereniging_id': e.vereniging } except NonExistingBudgetException, e: rollback() return { 'error': 'No such budget {0}'.format(e.budget), 'budget_id': e.budget } except IncompatibleBudgetException, e: rollback() return { 'error': 'Budget {0} is not compatible with vereniging {1}'.format( e.budget, e.vereniging), 'budget_id': e.budget, 'vereniging_id': e.vereniging }
try: for factuur in facturen: start_transaction() verify_factuur(factuur) fac_id = process_factuur(factuur) policy.process_factuur(factuur, fac_id) commit() except NonExistingProductException, e: rollback() return {'error': 'No such product {0}: {1}'.format(e.product_id, e.product_name), 'product_id': e.product_id, 'product_name': e.product_name} except NonExistingVerenigingException, e: return {'error': 'No such vereniging {0}'.format(e.vereniging), 'vereniging_id': e.vereniging} except NonExistingBudgetException, e: rollback() return {'error': 'No such budget {0}'.format(e.budget), 'budget_id': e.budget} except IncompatibleBudgetException, e: rollback() return {'error': 'Budget {0} is not compatible with vereniging {1}'.format(e.budget, e.vereniging), 'budget_id': e.budget, 'vereniging_id': e.vereniging} except NoVoorraadException, e: rollback() return {'error': 'Not enough supplies of {0}'.format(e.product_id), 'product_id': e.product_id} return {'succes': len(facturen)} # ------------------------------------------------------------------------------ # Process factuur # Do all processing of the factuur, ie: # - changes in voorraad