Ejemplo n.º 1
0
def addexpense():
    if isSession():
        if request.method == "POST":
            email = session.get("username")
            itineraryid = request.form['itineraryid']
            name = request.form['name']
            price = request.form['price']
            currency = request.form['currency']
            cnt = request.form['cnt']
            try:
                dbcnn()
                cursor = g.cnn.cursor()
                sql = "insert into expense (itineraryid, ex_name, ex_price, currency, ex_cnt) VALUES (%s, %s, %s, %s, %s)"
                data = (itineraryid, name, int(price), currency, int(cnt))
                cursor.execute(sql, data)
                g.cnn.commit()
                sql = "select itineraryid, ex_name, ex_price, currency, ex_cnt, ex_price*ex_cnt from expense where itineraryid = %s "
                data = (itineraryid, )
                cursor.execute(sql, data)
                lists = cursor.fetchall()
                index = [
                    'itineraryid', 'name', 'price', 'currency', 'cnt', 'total'
                ]
                data = toDict(index, lists)
                data = json.dumps(data)
            except Exception as e:
                print("error{}!".format(e))
            return data
Ejemplo n.º 2
0
def itineraryInfo(it_id):
    if isSession():
        if request.method == 'GET':
            it = db.query(Itinerary).filter_by(id=it_id).one_or_none()
            if it.status == 0:
                return redirect('/itinerary/create/{}'.format(it_id))
            _days = it.pieces.split(':')
            days = []
            for day in _days:
                pieces = day.split(',')
                tmp = []
                for piece in pieces:
                    tmp.append(
                        db.query(Frag).filter_by(id=str(piece)).one_or_none())
                days.append(tmp)
        elif request.method == 'DELETE':
            user_id = session.get('user_id')
            it = db.query(Itinerary).filter_by(
                id=it_id, supplier_id=user_id).one_or_none()
            if it is None:
                abort(401, '没有权限')
            else:
                db.delete(it)
                db.commit()
                return json.dumps({"success": "success"})
        return render_template("yulan_biaozhun.html", it=it, pieces=days)
    return redirect(url_for('auth.login'))
Ejemplo n.º 3
0
def itineraryCreate2(it_id):
    if isSession():
        if request.method == 'GET':
            email = session.get('email')
            id = session.get('user_id')
            it = db.query(Itinerary).filter_by(id=it_id).one_or_none()
            qq = db.query(Match).filter_by(sup_id=id)
            countrys = []
            for q in qq:
                countrys.append(q.countryid)
            cityList = db.query(City.cityid, City.cityname_cn).filter(
                or_(City.countryid == v for v in list(set(countrys)))).all()
            user = db.query(User).get(id)
            return render_template('xingchengxinxi.html',
                                   it=it,
                                   email=email,
                                   cityList=cityList,
                                   user=user)
        elif request.method == 'POST':
            data = request.form.get('data')
            it = db.query(Itinerary).filter_by(id=it_id).one_or_none()
            strt = ''
            for x in json.loads(data):
                strt += str(x) + ':'
            it.pieces = strt[:-1]
            it.status = 1
            db.commit()
            return 'success'
    return redirect(url_for('auth.login'))
Ejemplo n.º 4
0
def itinerary():
    if isSession():
        status = int(request.args.get('status', -1))
        user_id = session.get('user_id')
        email = session.get('username')
        query = db.query(Itinerary).filter_by(supplier_id=user_id)
        if status > -1 and status < 2:
            query = query.filter_by(status=status)
        query = query.all()
        return render_template('itinerary.html',
                               status=status,
                               username=email,
                               itary=query)
    return redirect(url_for('auth.login'))
Ejemplo n.º 5
0
def orderView():
    if isSession():
        email = session.get('username')
        id = session.get('user_id')
        status = int(request.args.get('status', -1))
        query = db.query(SupplierOrder).\
            filter_by(supplier_id=id)
        if status != -1:
            query = query.filter_by(status=status)
        query = query.all()
        return render_template('order.html',
                               orders=query,
                               status=status,
                               username=email)
    return redirect(url_for('auth.login'))
Ejemplo n.º 6
0
def itineraryCreate():
    if isSession():
        userid = session.get('user_id')
        email = session.get('username')
        if request.method == 'GET':
            return render_template('chuangjianluxian.html', username=email)
        elif request.method == 'POST':
            data = request.form
            it = Itinerary(**data)
            it.supplier_id = userid
            db.add(it)
            db.commit()
            url = '/itinerary/create/' + str(it.id)
            return json.dumps({'url': url})
    return redirect(url_for('auth.login'))
Ejemplo n.º 7
0
def getfpiece():
    if isSession():
        id = session.get('user_id')
        query = db.query(Frag).filter_by(sup_id=id).all()
        plist = []
        clist = []
        for que in query:
            tmp = {}
            tmp['id'] = que.id
            tmp['cityid'] = que.cityid
            tmp['name_cn'] = que.city_name.cityname_cn
            tmp['price'] = float(que.price)
            tmp['description'] = que.description
            tmp['cover'] = que.cover
            plist.append(tmp)
            clist.append(tmp['name_cn'])
        data = [{'piecelist': plist, 'citylist': clist}]
    return json.dumps(data)
Ejemplo n.º 8
0
def orderInfoView(id):
    if isSession():
        if request.method == 'GET':
            email = session.get('username')
            user_id = session.get('user_id')
            query = db.query(Order).filter_by(id=id).one_or_none()
            if not query:
                abort(400, '订单不存在')
            isAuth = db.query(SupplierOrder).filter_by(order_id=id).\
                filter_by(supplier_id=user_id).one_or_none()
            if not isAuth:
                abort(400, '没有权限')
            action = request.args.get('action', None)
            if action == 'accept':
                isAuth.status = 1
                db.commit()
                return redirect(url_for('views.orderInfoView', id=id))
            elif action == 'refuse':
                isAuth.status = 5
                db.commit()
                return redirect('/order')
            if isAuth.status == 1:
                itinerary = db.query(Itinerary).filter_by(supplier_id=user_id)
            else:
                itinerary = []
            return render_template('order_info.html',
                                   username=email,
                                   status=isAuth.status,
                                   itinerary=itinerary,
                                   order=query)
        if request.method == 'PUT':
            user_id = session.get('user_id')
            it_id = request.form.get('it_id')
            query = db.query(SupplierOrder).\
                filter_by(order_id=id).\
                filter_by(supplier_id=user_id).one_or_none()
            query.it_id = it_id
            query.status = 2
            db.commit()
            order = db.query(Order).get(id)
            order.status = 2
            db.commit()
            return '{"success": "success"}'
    return redirect(url_for('auth.login'))
Ejemplo n.º 9
0
def logout():
    if isSession():
        session.pop('username', None)
        session.pop('user_id', None)
    return redirect(url_for('auth.login'))
Ejemplo n.º 10
0
def yulanbyrili():
    if isSession():
        return render_template('yulan_rili.html')
    return redirect(url_for('auth.login'))
Ejemplo n.º 11
0
def yulan(id):
    if isSession():
        return render_template('yulan_biaozhun.html', id=id)
    return redirect(url_for('auth.login'))
Ejemplo n.º 12
0
def itineraryModify(it_id, method):
    if isSession():
        email = session.get('email')
        user_id = session.get('user_id')
        it = db.query(Itinerary).filter_by(id=it_id,
                                           supplier_id=user_id).one_or_none()
        if it is None:
            return redirect('/itinerary')
        if request.method == 'GET':
            if method == 'base':
                lights = json.loads(it.light)
                return render_template('modify_base.html',
                                       it=it,
                                       email=email,
                                       lights=lights)
            if method == 'it':
                da = {}
                days = it.pieces.split(':')
                da = []
                for day in days:
                    ps = day.split(',')
                    d_list = []
                    for p in ps:
                        q = db.query(Frag).filter_by(id=p).one_or_none()
                        if not q:
                            print(ps)
                            continue
                        d_list.append({
                            'id':
                            p,
                            'type': [
                                'xc1.png', 'xc2.png', 'xc3.png', 'xc3.png',
                                'xc3.png', 'xc3.png'
                            ][q.type],
                            'name':
                            q.name_cn
                        })
                    da.append(d_list)
                qq = db.query(Match).filter_by(sup_id=user_id)
                countrys = []
                for q in qq:
                    countrys.append(q.countryid)
                cityList = db.query(City.cityid, City.cityname_cn).filter(
                    or_(City.countryid == v
                        for v in list(set(countrys)))).all()
                user = db.query(User).get(user_id)
                return render_template('xingchengxinxi.html',
                                       da=json.dumps(da),
                                       cityList=cityList,
                                       it=it,
                                       email=email,
                                       user=user)
            if method == 'price':
                try:
                    price = json.loads(it.price)
                except:
                    price = []
                notice = it.notice
                return render_template('price.html',
                                       it=it,
                                       price=price,
                                       notice=notice)
        elif request.method == 'POST':
            if method == 'base':
                data = request.form
                for k in data:
                    setattr(it, k, data[k])
                db.commit()
                return '{"success": "success"}'
            if method == 'it':
                data = request.form.get('data')
                strt = ''
                for x in json.loads(data):
                    strt += str(x) + ':'
                it.pieces = strt[:-1]
                db.commit()
                return 'success'
            if method == 'price':
                price = request.form.get('price')
                notice = request.form.get('notice')
                it.price = price
                it.notice = notice
                db.commit()
    return redirect(url_for('auth.login'))