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']
Esempio n. 2
0
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'] 
Esempio n. 4
0
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.")
Esempio n. 5
0
    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
Esempio n. 6
0
 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)
Esempio n. 9
0
 def has_representation(self):
     return HTTPError(OptionalRepresentation, self).code is not None
Esempio n. 10
0
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)