from flask import request, jsonify from flask_login import current_user from sqlalchemy.sql import func from datetime import date, timedelta from app.search import search from app import db from datetime import datetime from app.classes.auth import Auth_User from app.classes.customer import Customer_Customer, Customer_Customer_schema from app.classes.service import Service_Call, Service_Call_schema from app.classes.employee import Employee_Employee from app.classes.service import Service_Call_Notes_Dispatcher, Service_Call_Notes_Technician from app.classes.delivery import Delivery_Delivery, Delivery_Delivery_schema @search.route("/customer", methods=["GET"]) def search_customers(): """ """ keyword = request.args.get('q') search = "%{}%".format(keyword) search_type = (search[1]) search = search.replace("!", "") search = search.replace("#", "") search = search.replace("@", "") # search by last name if search_type == '@': search = search[1:] customer_list = (db.session .query(Customer_Customer) .filter(Customer_Customer.customer_first_name.ilike(search)) .all()) elif search_type == '!': search = search[::1] customer_list = (db.session .query(Customer_Customer) .filter(Customer_Customer.customer_address.ilike(search)) .all()) # Phone Number elif search_type == '#': search = search[::1] customer_list = (db.session .query(Customer_Customer) .filter(Customer_Customer.customer_phone_number.ilike(search)) .all()) else: customer_list = (db.session .query(Customer_Customer) .filter(Customer_Customer.customer_last_name.ilike(search)) .all()) customer_schema = Customer_Customer_schema(many=True) return jsonify(customer_schema.dump(customer_list)) @search.route("/delivery", methods=["GET"]) def search_delivery(): """ pagination all customers """ keyword = request.args.get('q') search = "%{}%".format(keyword) search_type = (search[1]) delivery_ticket = (db.session .query(Delivery_Delivery) .filter(Delivery_Delivery.id.ilike(search)) .all()) delivery_schema = Delivery_Delivery_schema(many=True) return jsonify(delivery_schema.dump(delivery_ticket))