def update_items(raw_data, session): item_number = raw_data['item_number'] inventoryItems = session.query(InventoryItems).filter_by( item_number=item_number).first() if inventoryItems is None: raise HTTPError(status=status_codes.HTTP_404, errors="Item Details does not exist") if 'item_number' in raw_data: inventoryItems.item_number = raw_data['item_number'] if 'item_type' in raw_data: inventoryItems.item_type = raw_data['item_type'] if 'description' in raw_data: inventoryItems.description = raw_data['description'] if 'long_description' in raw_data: inventoryItems.long_description = raw_data['long_description'] if 'transaction_uom' in raw_data: inventoryItems.remarks = raw_data['transaction_uom'] if 'conversion' in raw_data: inventoryItems.conversion = raw_data['conversion'] if 'base_uom' in raw_data: inventoryItems.base_uom = raw_data['base_uom'] if 'enabled_flag' in raw_data: inventoryItems.enabled_flag = raw_data['enabled_flag'] inventoryItems.last_updated_by = raw_data['last_updated_by']
def update_purchase_trx(raw_data, session): purchase_trx_number = raw_data['purchase_trx_number'] purchasetrxheader = session.query(PurchaseTrxHeader).filter_by( purchase_trx_number=purchase_trx_number).first() if purchasetrxheader is None: raise HTTPError(status=status_codes.HTTP_404, errors="Purchase Transaction number does not exist") if 'transaction_date' in raw_data.keys(): purchasetrxheader.transaction_date = raw_data['transaction_date'] if 'order_status' in raw_data.keys(): purchasetrxheader.order_status = raw_data['order_status'] if 'buyer_id' in raw_data.keys(): purchasetrxheader.buyer_id = raw_data['buyer_id'] if 'supplier_id' in raw_data.keys(): purchasetrxheader.supplier_id = raw_data['supplier_id'] if 'last_updated_by' in raw_data.keys(): purchasetrxheader.last_updated_by = get_user_id_by_user_name( raw_data['last_updated_by']) purchasetrxLines = [] if 'purchase_trx_lines' in raw_data.keys(): for purchase_trx_line in raw_data['purchase_trx_lines']: if 'transaction_line_id' in purchase_trx_line.keys(): for trx_line in purchasetrxheader.purchase_trx_lines: if purchase_trx_line[ "transaction_line_id"] == trx_line.transaction_line_id: trx_line.item_id = purchase_trx_line['item_id'] #trx_line.line_number = purchase_trx_line['line_number'] trx_line.booking_unit_price = purchase_trx_line[ 'booking_unit_price'] trx_line.booking_quantity = purchase_trx_line[ 'booking_quantity'] trx_line.unit_of_measure = purchase_trx_line[ 'unit_of_measure'] #trx_line.created_by = purchase_trx_line['created_by'] trx_line.last_updated_by = get_user_id_by_user_name( purchase_trx_line['last_updated_by']) break else: purchasetrxLine = PurchaseTrxLines() purchasetrxLine.item_id = purchase_trx_line['item_id'] purchasetrxLine.line_number = purchase_trx_line['line_number'] purchasetrxLine.booking_unit_price = purchase_trx_line[ 'booking_unit_price'] purchasetrxLine.booking_quantity = purchase_trx_line[ 'booking_quantity'] purchasetrxLine.unit_of_measure = purchase_trx_line[ 'unit_of_measure'] purchasetrxLine.created_by = get_user_id_by_user_name( purchase_trx_line['created_by']) purchasetrxLine.last_updated_by = get_user_id_by_user_name( purchase_trx_line['last_updated_by']) purchasetrxLines.append(purchasetrxLine) if len(purchasetrxLines) > 0: purchasetrxheader.purchase_trx_lines.extend(purchasetrxLines)
def update_user(raw_data,session): user_name = raw_data['user_name'] userObj = session.query(User).filter_by(user_name=user_name).first() if userObj is None: raise HTTPError(status=status_codes.HTTP_404, errors="User Details does not exist") userObj.description = raw_data['description'] userObj.phone_number1 = raw_data['phone_number1'] userObj.phone_number2 = raw_data['phone_number2'] userObj.email = raw_data['email'] userObj.password = raw_data['password'] userObj.user_type = raw_data['user_type'] userObj.effective_from = raw_data['effective_from'] userObj.effective_to = raw_data['effective_to'] userObj.last_updated_by = raw_data['last_updated_by'] userObj.employee_id = raw_data['employee_id'] userObj.password_life_span = raw_data['password_life_span']
def check_types(req, resp, params): """ Checks for well-formatted dates. :param req: request object :param resp: response object :param params: dict of query params :return: HTTP Error **400** or pass through upon successful validation """ types = (('earliest_departure_time', format_time), ('earliest_return_time', format_time), ('max_price', Decimal), ('min_price', Decimal), ('star_rating', int)) try: for item in types: if req.get_param(item[0]): item[1](req.get_param(item[0])) except (ValueError, decimal.InvalidOperation) as e: logger.error(e) raise HTTPError(HTTP_400, f"{item[0]} could not be parsed.")
def on_get(self, req, resp, **params): """ :param req: request object :param resp: response object :param params: additional params passed upon request :returns: 200 with json obj or 400 """ args = { 'earliest_departure_time': format_time(req.get_param('earliest_departure_time'), TIME_FORMAT) if req.get_param('earliest_departure_time') else None, 'earliest_return_time': format_time(req.get_param('earliest_return_time'), TIME_FORMAT) if req.get_param('earliest_return_time') else None, 'max_price': Decimal(req.get_param('max_price')) if req.get_param('max_price') else None, 'min_price': Decimal(req.get_param('min_price')) if req.get_param('min_price') else None, 'star_rating': req.get_param_as_int('star_rating') or None, } # get rid of empty keys args = {k: v for k, v in args.items() if v} if not args: raise HTTPError(HTTP_400, 'Please supply at least one search criteria.') search_results = search_listings(listings=XmlParser.get_listings(), search_criteria=args) resp.body = simplejson.dumps(prepare_search_results(search_results), indent=2, default=json_handler) resp.status = HTTP_200
def method_wrapper(*args, **kwargs): try: method(*args, **kwargs) except Exception as error: raise HTTPError(description=str(error))
def update_customer(raw_data, session): customer_code = raw_data['customer_code'] customerMasterHeader = session.query(CustomerMasterHeader).filter_by( customer_code=customer_code).first() if customerMasterHeader is None: raise HTTPError(status=status_codes.HTTP_404, errors="Customer does not exist") if 'customer_name' in raw_data.keys(): customerMasterHeader.customer_name = raw_data['customer_name'] if 'description' in raw_data.keys(): customerMasterHeader.description = raw_data['description'] if 'customer_type' in raw_data.keys(): customerMasterHeader.customer_type = raw_data['customer_type'] if 'remarks' in raw_data.keys(): customerMasterHeader.remarks = raw_data['remarks'] if 'enabled_flag' in raw_data.keys(): customerMasterHeader.enabled_flag = raw_data['enabled_flag'] if 'effective_from' in raw_data.keys(): customerMasterHeader.effective_from = raw_data['effective_from'] if 'effective_to' in raw_data.keys(): customerMasterHeader.effective_to = raw_data['effective_to'] if 'last_updated_by' in raw_data.keys(): customerMasterHeader.last_updated_by = raw_data['last_updated_by'] new_customer_sites = [] for customer_master_site in raw_data['customer_master_sites']: for customer_site in customerMasterHeader.sites: if 'customer_site_id' in customer_master_site.keys(): if customer_master_site[ "customer_site_id"] == customer_site.customer_site_id: if 'customer_site_code' in customer_master_site.keys(): customer_site.customer_site_code = customer_master_site[ 'customer_site_code'] if 'customer_address' in customer_master_site.keys(): customer_site.customer_address = customer_master_site[ 'customer_address'] if 'phone_number1' in customer_master_site.keys(): customer_site.phone_number1 = customer_master_site[ 'phone_number1'] if 'phone_number2' in customer_master_site.keys(): customer_site.phone_number2 = customer_master_site[ 'phone_number2'] if 'email' in customer_master_site.keys(): customer_site.email = customer_master_site['email'] if 'effective_from' in customer_master_site.keys(): customer_site.effective_from = customer_master_site[ 'effective_from'] if 'effective_to' in customer_master_site.keys(): customer_site.effective_to = customer_master_site[ 'effective_to'] if 'last_updated_by' in customer_master_site.keys(): customer_site.last_updated_by = customer_master_site[ 'last_updated_by'] break else: new_customer_site = CustomerMasterSites() if 'customer_site_code' in customer_master_site.keys(): new_customer_site.customer_site_code = customer_master_site[ 'customer_site_code'] if 'customer_address' in customer_master_site.keys(): new_customer_site.customer_address = customer_master_site[ 'customer_address'] if 'phone_number1' in customer_master_site.keys(): new_customer_site.phone_number1 = customer_master_site[ 'phone_number1'] if 'phone_number2' in customer_master_site.keys(): new_customer_site.phone_number2 = customer_master_site[ 'phone_number2'] if 'email' in customer_master_site.keys(): new_customer_site.email = customer_master_site['email'] if 'effective_from' in customer_master_site.keys(): new_customer_site.effective_from = customer_master_site[ 'effective_from'] if 'effective_to' in customer_master_site.keys(): new_customer_site.effective_to = customer_master_site[ 'effective_to'] if 'created_by' in customer_master_site.keys(): new_customer_site.created_by = customer_master_site[ 'created_by'] if 'last_updated_by' in customer_master_site.keys(): new_customer_site.last_updated_by = customer_master_site[ 'last_updated_by'] new_customer_sites.append(new_customer_site) break if len(new_customer_sites) > 0: customerMasterHeader.sites.extend(new_customer_sites)
def update_sales_trx(raw_data, session): sales_trx_number = raw_data['sales_trx_number'] salestrxheader = session.query(SalesTrxHeader).filter_by( sales_trx_number=sales_trx_number).first() if salestrxheader is None: raise HTTPError(status=status_codes.HTTP_404, errors="Sales Transaction number does not exist") if 'transaction_date' in raw_data.keys(): salestrxheader.transaction_date = raw_data['transaction_date'] if 'order_status' in raw_data.keys(): salestrxheader.order_status = raw_data['order_status'] if 'sales_rep_id' in raw_data.keys(): salestrxheader.sales_rep_id = raw_data['sales_rep_id'] if 'customer_id' in raw_data.keys(): salestrxheader.customer_id = raw_data['customer_id'] if 'last_updated_by' in raw_data.keys(): salestrxheader.last_updated_by = get_user_id_by_user_name( raw_data['last_updated_by']) salestrxLines = [] if 'sales_trx_lines' in raw_data.keys(): for sales_trx_line in raw_data['sales_trx_lines']: if 'transaction_line_id' in sales_trx_line.keys(): for trx_line in salestrxheader.sales_trx_lines: if sales_trx_line[ "transaction_line_id"] == trx_line.transaction_line_id: if 'item_id' in sales_trx_line: trx_line.item_id = sales_trx_line['item_id'] #trx_line.line_number = sales_trx_line['line_number'] if 'booking_unit_price' in sales_trx_line: trx_line.booking_unit_price = sales_trx_line[ 'booking_unit_price'] if 'booking_quantity' in sales_trx_line: trx_line.booking_quantity = sales_trx_line[ 'booking_quantity'] if 'unit_of_measure' in sales_trx_line: trx_line.unit_of_measure = sales_trx_line[ 'unit_of_measure'] #trx_line.created_by = sales_trx_line['created_by'] trx_line.last_updated_by = get_user_id_by_user_name( sales_trx_line['last_updated_by']) break else: salestrxLine = SalesTrxLines() if 'item_id' in sales_trx_line: salestrxLine.item_id = sales_trx_line['item_id'] if 'line_number' in sales_trx_line: salestrxLine.line_number = sales_trx_line['line_number'] if 'booking_unit_price' in sales_trx_line: salestrxLine.booking_unit_price = sales_trx_line[ 'booking_unit_price'] if 'booking_quantity' in sales_trx_line: salestrxLine.booking_quantity = sales_trx_line[ 'booking_quantity'] if 'unit_of_measure' in sales_trx_line: salestrxLine.unit_of_measure = sales_trx_line[ 'unit_of_measure'] salestrxLine.created_by = get_user_id_by_user_name( sales_trx_line['created_by']) salestrxLine.last_updated_by = get_user_id_by_user_name( sales_trx_line['last_updated_by']) salestrxLines.append(salestrxLine) if len(salestrxLines) > 0: salestrxheader.sales_trx_lines.extend(salestrxLines)
def has_representation(self): return HTTPError(OptionalRepresentation, self).code is not None
def update_receipt_data(raw_data, session): challan_number = raw_data['challan_number'] challanheader = session.query(ReceiptHeader).filter_by( challan_number=challan_number).first() if challanheader is None: raise HTTPError(status=status_codes.HTTP_404, errors="Challan number does not exist") if 'vehicle_number' in raw_data.keys(): challanheader.vehicle_number = raw_data['vehicle_number'] if 'bata' in raw_data.keys(): challanheader.bata = raw_data['bata'] if 'receipt_header_status' in raw_data.keys(): challanheader.receipt_header_status = raw_data['receipt_header_status'] if 'net_weight' in raw_data.keys(): challanheader.net_weight = raw_data['net_weight'] if 'average_weight' in raw_data.keys(): challanheader.average_weight = raw_data['average_weight'] if 'unit_of_measure' in raw_data.keys(): challanheader.unit_of_measure = raw_data['unit_of_measure'] if 'total_bags' in raw_data.keys(): challanheader.total_bags = raw_data['total_bags'] challanheader.last_updated_by = get_user_id_by_user_name( raw_data['last_updated_by']) challanLines = [] is_receipt_complete = False if 'receipt_lines' in raw_data.keys(): for challan_line in raw_data['receipt_lines']: if 'receipt_line_id' in challan_line.keys(): for challanLine in challanheader.receipt_lines: if challan_line[ "receipt_line_id"] == challanLine.receipt_line_id: if 'item_id' in challan_line.keys(): challanLine.item_id = challan_line['item_id'] if 'description' in challan_line.keys(): challanLine.description = challan_line[ 'description'] if 'line_number' in challan_line.keys(): challanLine.line_number = challan_line[ 'line_number'] if 'load_unload_number' in challan_line.keys(): challanLine.load_unload_number = challan_line[ 'load_unload_number'] if 'load_unload_area' in challan_line.keys(): challanLine.load_unload_area = challan_line[ 'load_unload_area'] if 'weighing_number' in challan_line.keys(): challanLine.weighing_number = challan_line[ 'weighing_number'] if 'receipt_line_status' in challan_line.keys(): challanLine.receipt_line_status = challan_line[ 'receipt_line_status'] if 'quantity' in challan_line.keys(): challanLine.quantity = challan_line['quantity'] if 'number_of_bags' in challan_line.keys(): challanLine.number_of_bags = challan_line[ 'number_of_bags'] if 'unit_price' in challan_line.keys(): challanLine.unit_price = challan_line['unit_price'] if 'unit_of_measure' in challan_line.keys(): challanLine.unit_of_measure = challan_line[ 'unit_of_measure'] if 'discount' in challan_line.keys(): challanLine.discount = challan_line['discount'] if 'last_updated_by' in challan_line.keys(): challanLine.last_updated_by = get_user_id_by_user_name( challan_line['last_updated_by']) if challan_line['receipt_line_status'] == 'COMPLETE': is_receipt_complete = is_receipt_complete or True else: is_receipt_complete = is_receipt_complete and False break else: challanLine = ReceiptLines() if 'item_id' in challan_line.keys(): challanLine.item_id = challan_line['item_id'] if 'description' in challan_line.keys(): challanLine.description = challan_line['description'] if 'line_number' in challan_line.keys(): challanLine.line_number = challan_line['line_number'] if 'load_unload_number' in challan_line.keys(): challanLine.load_unload_number = challan_line[ 'load_unload_number'] if 'load_unload_area' in challan_line.keys(): challanLine.load_unload_area = challan_line[ 'load_unload_area'] if 'weighing_number' in challan_line.keys(): challanLine.weighing_number = challan_line[ 'weighing_number'] if 'receipt_line_status' in challan_line.keys(): challanLine.receipt_line_status = challan_line[ 'receipt_line_status'] if 'quantity' in challan_line.keys(): challanLine.quantity = challan_line['quantity'] if 'number_of_bags' in challan_line.keys(): challanLine.number_of_bags = challan_line['number_of_bags'] if 'unit_price' in challan_line.keys(): challanLine.unit_price = challan_line['unit_price'] if 'unit_of_measure' in challan_line.keys(): challanLine.unit_of_measure = challan_line[ 'unit_of_measure'] if 'discount' in challan_line.keys(): challanLine.discount = challan_line['discount'] if 'last_updated_by' in challan_line.keys(): challanLine.last_updated_by = get_user_id_by_user_name( challan_line['last_updated_by']) challanLine.created_by = get_user_id_by_user_name( challan_line['last_updated_by']) challanLines.append(challanLine) is_receipt_complete = is_receipt_complete and False if len(challanLines) > 0: challanheader.receipt_lines.extend(challanLines) else: if is_receipt_complete: challanheader.receipt_header_status = 'COMPLETE' challanheader.receipt_date = datetime.datetime.utcnow()
def update_supplier(raw_data, session): supplier_code = raw_data['supplier_code'] # supplier_id = raw_data['supplier_id'] supplierMasterHeader = session.query(SupplierMasterHeader).filter_by( supplier_code=supplier_code).first() if supplierMasterHeader is None: raise HTTPError(status=status_codes.HTTP_404, errors="Supplier does not exist") if 'supplier_name' in raw_data: supplierMasterHeader.supplier_name = raw_data['supplier_name'] if 'description' in raw_data: supplierMasterHeader.description = raw_data['description'] if 'supplier_type' in raw_data: supplierMasterHeader.supplier_type = raw_data['supplier_type'] if 'remarks' in raw_data: supplierMasterHeader.remarks = raw_data['remarks'] if 'enabled_flag' in raw_data: supplierMasterHeader.enabled_flag = raw_data['enabled_flag'] if 'effective_from' in raw_data: supplierMasterHeader.effective_from = raw_data['effective_from'] if 'effective_to' in raw_data: supplierMasterHeader.effective_to = raw_data['effective_to'] # supplierMasterHeader.employee_id = raw_data['employee_id'] future use # supplierMasterHeader.ship_to_location_code = raw_data['ship_to_location_code'] # SupplierMasterHeader.bill_to_location_code = raw_data['bill_to_location_code'] #supplierMasterHeader.created_by = raw_data['created_by'] supplierMasterHeader.last_updated_by = raw_data['last_updated_by'] new_supplier_sites = [] for supplier_master_site in raw_data['supplier_master_sites']: for supplier_site in supplierMasterHeader.sites: if 'supplier_site_id' in supplier_master_site.keys(): if supplier_master_site[ "supplier_site_id"] == supplier_site.supplier_site_id: if 'supplier_site_code' in supplier_master_site.keys(): supplier_site.supplier_site_code = supplier_master_site[ 'supplier_site_code'] if 'supplier_site_address' in supplier_master_site.keys(): supplier_site.supplier_site_address = supplier_master_site[ 'supplier_site_address'] if 'phone_number1' in supplier_master_site.keys(): supplier_site.phone_number1 = supplier_master_site[ 'phone_number1'] if 'phone_number2' in supplier_master_site.keys(): supplier_site.phone_number2 = supplier_master_site[ 'phone_number2'] if 'email' in supplier_master_site.keys(): supplier_site.email = supplier_master_site['email'] ''' supplier_site.payment_method_lookup_code = Supplier_Master_Site['payment_method_lookup_code'] supplier_site.gstin_number = Supplier_Master_Site['gstin_number'] supplier_site.pay_group_lookup_code = Supplier_Master_Site['pay_group_lookup_code'] other fields also need to include ''' if 'inactive_date' in supplier_master_site.keys(): supplier_site.inactive_date = supplier_master_site[ 'inactive_date'] #supplier_site.created_by = supplier_master_site['created_by'] supplier_site.last_updated_by = supplier_master_site[ 'last_updated_by'] break else: SupplierMasterSite = SupplierMasterSites() if 'supplier_site_code' in supplier_master_site.keys(): SupplierMasterSite.supplier_site_code = supplier_master_site[ 'supplier_site_code'] if 'supplier_site_address' in supplier_master_site.keys(): SupplierMasterSite.supplier_site_address = supplier_master_site[ 'supplier_site_address'] if 'phone_number1' in supplier_master_site.keys(): SupplierMasterSite.phone_number1 = supplier_master_site[ 'phone_number1'] if 'phone_number2' in supplier_master_site.keys(): SupplierMasterSite.phone_number2 = supplier_master_site[ 'phone_number2'] if 'email' in supplier_master_site.keys(): SupplierMasterSite.email = supplier_master_site['email'] ''' SupplierMasterSite.payment_method_lookup_code = Supplier_Master_Site['payment_method_lookup_code'] SupplierMasterSite.gstin_number = Supplier_Master_Site['gstin_number'] SupplierMasterSite.pay_group_lookup_code = Supplier_Master_Site['pay_group_lookup_code'] other fields also need to include ''' if 'inactive_date' in supplier_master_site.keys(): SupplierMasterSite.inactive_date = supplier_master_site[ 'inactive_date'] SupplierMasterSite.created_by = supplier_master_site[ 'created_by'] SupplierMasterSite.last_updated_by = supplier_master_site[ 'last_updated_by'] new_supplier_sites.append(SupplierMasterSite) break if len(new_supplier_sites) > 0: supplierMasterHeader.sites.extend(new_supplier_sites)