Exemplo n.º 1
0
def xem_hd_theo_trang_thai(id):
    if not current_user.is_authenticated or current_user.ma_loai_nguoi_dung != 1:
        return redirect(url_for('dang_nhap', next=request.url))
    form = Form_lua_chon()
    query = BaseQuery(Hoa_don, dbSession)
    trang_thai = 0

    if session.get('trang_thai'):
        trang_thai = session['trang_thai']

    if form.validate_on_submit():
        trang_thai = int(form.lua_chon.data)
        session['trang_thai'] = trang_thai
        id = 1
    if trang_thai == 0:
        tieu_de = 'Chưa thanh toán'
    elif trang_thai == 1:
        tieu_de = 'Đã thanh toán'
    elif trang_thai == 2:
        tieu_de = 'Huỷ'
    page_filter = query.filter(Hoa_don.trang_thai == trang_thai).paginate(
        id, 5, False)

    return render_template(
        'Quan_ly/QL_don_hang/QL_don_hang_theo_trang_thai.html',
        tieu_de=tieu_de,
        page_filter=page_filter,
        form=form)
Exemplo n.º 2
0
def ql_don_hang_theo_ngay(page):
    if not current_user.is_authenticated or current_user.ma_loai_nguoi_dung != 1:
        return redirect(url_for('dang_nhap', next=request.url))
    form = Form_QL_don_hang()
    tieu_de = 'Đơn hàng ngày hôm nay'
    today = datetime.now()
    ngay_tim_kiem = today.date()

    if session.get('ngay_tim_kiem'):
        temp_1 = datetime.strptime(session['ngay_tim_kiem'],
                                   "%a, %d %b %Y %H:%M:%S %Z")
        ngay_tim_kiem = temp_1.date()
    if form.validate_on_submit():
        ngay_tim_kiem = form.ngay_tim_kiem.data

        session['ngay_tim_kiem'] = ngay_tim_kiem

        page = 1

    query = BaseQuery(Hoa_don, dbSession)
    page_filter = query.filter(
        Hoa_don.ngay_tao_hoa_don == ngay_tim_kiem).paginate(page, 5, False)

    if page_filter.total == 0:
        tieu_de = "Không tìm thấy hóa đơn"

    else:
        tieu_de = "Đơn hàng của ngày " + str(
            ngay_tim_kiem.day) + " tháng " + str(
                ngay_tim_kiem.month) + " năm " + str(ngay_tim_kiem.year)

    return render_template('Quan_ly/QL_don_hang/QL_don_hang_theo_ngay.html',
                           page_filter=page_filter,
                           form=form,
                           tieu_de=tieu_de)
def new_view_ddl(*entities):
    """
    replacement of db.session.query
    Can't use db.session.query, as there is no session on start
    :param entities:
    :return:
    """
    return BaseQuery(entities)
Exemplo n.º 4
0
class Test():
  _dontusethis="This is my internal prop"
  test_1="test 124"
  test_2="test 234"
  test_3="test 345"
  test_4=None
  k=2
  query = BaseQuery({})
  def myMethod():
    print("This is my methods")
Exemplo n.º 5
0
def ql_don_hang_all(page=1):
    if not current_user.is_authenticated or current_user.ma_loai_nguoi_dung != 1:
        return redirect(url_for('dang_nhap', next=request.url))
    query = BaseQuery(Hoa_don, dbSession)
    page_filter = query.order_by(desc(Hoa_don.ngay_tao_hoa_don)).paginate(
        page, 10, False)

    tieu_de = 'Tất cả đơn hàng'

    return render_template('Quan_ly/QL_don_hang/QL_don_hang_all.html',
                           page_filter=page_filter,
                           tieu_de=tieu_de)
Exemplo n.º 6
0
    def __init__(self, start_ts, end_ts):
        """Build a query to get a distinct list of instance_id bewteen sart and end ts."""
        az_query = db.session.query(Hypervisor).join(AvailabilityZone).\
            filter(Hypervisor.availability_zone_id == AvailabilityZone.id).\
            filter(AvailabilityZone.name.like("sa%")).\
            with_entities(Hypervisor.id).subquery()

        self.query = BaseQuery([Snapshot, InstanceState], db.session()).\
            filter(Snapshot.ts >= start_ts, Snapshot.ts < end_ts).\
            filter(InstanceState.snapshot_id == Snapshot.id).\
            with_entities(InstanceState.instance_id).\
            distinct(InstanceState.instance_id).\
            filter(InstanceState.hypervisor_id.in_(az_query))
Exemplo n.º 7
0
    def _query(self, start_ts, end_ts):
        """Build a query to get a list of all instance status and hypervisor bewteen sart and end ts."""

        # To use BaseQuery.paginate
        query = BaseQuery([Snapshot, InstanceState, Instance, Hypervisor, Account, Tenant, Flavor], db.session()).\
            filter(Snapshot.ts >= start_ts, Snapshot.ts < end_ts).\
            filter(InstanceState.snapshot_id == Snapshot.id).\
            filter(Instance.id == InstanceState.instance_id).\
            filter(InstanceState.hypervisor_id == Hypervisor.id).\
            filter(Account.id == Instance.account_id).\
            filter(Tenant.id == Instance.tenant_id).\
            filter(Flavor.id == Instance.flavor_id).\
            with_entities(Snapshot.ts, Instance.openstack_id, InstanceState.name,
                          Hypervisor.name, Account.openstack_id, Tenant.openstack_id,
                          Instance.flavor_id)
        return query
Exemplo n.º 8
0
def ql_so_luong_ton(page):
    if not current_user.is_authenticated or current_user.ma_loai_nguoi_dung != 2:
        return redirect(url_for('log_in', next=request.url))
    form = Form_tim_kiem()
    query = BaseQuery(San_pham, dbSession)
    page_filter = query.paginate(page,5,False)
    if form.validate_on_submit():
        tim_kiem = form.noi_dung.data
        if tim_kiem.isdigit():
            page_filter = query.filter(San_pham.ma_san_pham == int(tim_kiem)).paginate(page,5,False)
        else:
            chuoi_truy_van = '%'+tim_kiem.upper()+'%'
            page_filter = query.filter(San_pham.ten_san_pham.like(chuoi_truy_van)).paginate(page,5,False)
        if len(page_filter.items) == 0:
            thong_bao = 'Không tìm thấy sản phẩm!'
    
    return render_template('Quan_ly/QL_kho_hang/Ton_kho.html', form=form, page_filter = page_filter)
Exemplo n.º 9
0
def paginate_grounds(user_id, page, latitude, longitude, user):
    """
    Get a user by Id, then get hold of their buckets and also paginate the results.
    There is also an option to search for a bucket name if the query param is set.
    Generate previous and next pagination urls
    :param q: Query parameter
    :param user_id: User Id
    :param user: Current User
    :param page: Page number
    :return: Pagination next url, previous url and the user buckets.
    """

    if latitude and longitude:
        grounds_distance_query = db.session.query(Ground, Ground.distance_to(latitude, longitude).label('distance')).order_by('distance')
        pagination = BaseQuery(grounds_distance_query.subquery(), db.session()) \
            .paginate(page=page, per_page=app.config['GROUNDS_PER_PAGE'], error_out=False)
    else:
        pagination = Ground.query.order_by(Ground.id) \
            .paginate(page=page, per_page=app.config['GROUNDS_PER_PAGE'], error_out=False)

    previous = None
    if pagination.has_prev:
        if latitude and longitude:
            previous = url_for('ground.grounds', latitude=latitude, longitude=longitude, page=page-1, _external=True)
        else:
            previous = url_for('ground.grounds', page=page-1, _external=True)

    nex = None
    if pagination.has_next:
        if latitude and longitude:
            nex = url_for('ground.grounds', latitude=latitude, longitude=longitude, page=page+1, _external=True)
        else:
            nex = url_for('ground.grounds', page=page+1, _external=True)
            
    items = pagination.items

    def distance_result_to_ground(result):
        ground = Ground.get_by_id(result.id)
        ground.distance = result.distance
        return ground

    if latitude and longitude:
        items = list(map(distance_result_to_ground, items))

    return items, nex, pagination, previous
Exemplo n.º 10
0
def ql_don_hang_tao_don_moi_detail(ma_hd,page=1):
    if not current_user.is_authenticated or current_user.ma_loai_nguoi_dung != 2:
        return redirect(url_for('log_in', next=request.url))
    form = Form_tim_kiem_nhap_hang()
    hoa_don = dbSession.query(Hoa_don).filter(Hoa_don.ma_hoa_don == ma_hd).first()
    don_hang = dbSession.query(Don_hang).filter(Don_hang.ma_hoa_don == ma_hd).all()
    query = BaseQuery(San_pham, dbSession)
    page_filter = query.paginate(page,10,False)
    thong_bao = ''
    if form.validate_on_submit() and form.noi_dung.data != '':
        ten_sp = form.noi_dung.data.strip().lower()
        if ten_sp.isdigit():
            page_filter = query.filter_by(ma_san_pham = int(ten_sp)).paginate(page,10,False)
        else:
            page_filter = query.filter_by(ten_san_pham = ten_sp).paginate(page,10,False)
        
        if len(page_filter.items) == 0:
            thong_bao = 'Không tìm thấy sản phẩm!'
    
    return render_template('Quan_ly/QL_don_hang/Chi_tiet_don_hang.html',don_hang = don_hang, thong_bao = thong_bao, page_filter = page_filter, form = form, hoa_don = hoa_don)
Exemplo n.º 11
0
        if self.create_time:
            return datetime.fromtimestamp(self.create_time)
        else:
            return None

    def set_attrs(self, attrs):
        """

        :param attrs: dict
        :return:
        """

        for key, value in attrs.items():
            if hasattr(self, key) and key not in self._invalid_key:
                setattr(self, key, value)


if __name__ == '__main__':
    pass

    from flask_sqlalchemy import BaseQuery

    class Query(BaseQuery):
        def filter_by(self, **kwargs):
            if 'status' not in kwargs:
                kwargs['status'] = 1

            return super().filter_by(**kwargs)

    b = BaseQuery()