def request_page_student():
    # module_id = session.get('moduleId')
    student = Student.get_full_info_by_email(current_user.email)
    if student is None:
        flash("You do not have a house yet")
        redirect(url_for('main.home'))
    switching_request = Request.get_request_by_owner_id(current_user.id)

    if switching_request is not None:
        my_house = House.get_house_by_id(switching_request.house_from)
        target_house = House.get_house_by_id(switching_request.house_to)
        switching_request.status_txt = models.status_dict.get(
            switching_request.status)

        d1 = datetime.strptime(switching_request.send_date, '%Y-%m-%d')
        d2 = datetime.now()
        delta = d2 - d1
        switching_request.unfrozen_date = (
            d1 + timedelta(days=7)).strftime("%Y-%m-%d")
        if delta.days <= 7:
            switching_request.is_frozen = True
        else:
            switching_request.is_frozen = False

        return render_template('notification/request_result_page_student.html',
                               my_house=my_house,
                               target_house=target_house,
                               request=switching_request)
    current_house = House.query.filter_by(house_id=student.house_id).first()
    house_list = House.query.filter_by(year=current_house.year)

    return render_template('notification/request_student.html',
                           house_list=house_list,
                           student=student)
Example #2
0
 def test_relationships(self):
     house_title1 = "title_house1"
     house_title2 = "title_house1"
     district1 = "test_relation_district1"
     district2 = "test_relation_district2"
     area1 = "test_relation_area1"
     area2 = "test_relation_area2"
     community1 = "test_relation_c1"
     community2 = "test_relation_c2"
     d1 = District(name=district1)
     d2 = District(name=district2)
     db.session.add(d1)
     db.session.add(d2)
     db.session.commit()
     a1 = Area(name=area1, district=d1)
     a2 = Area(name=area2, district=d2)
     db.session.add(a1)
     db.session.add(a2)
     db.session.commit()
     c1 = Community(name=community1, area=a1)
     c2 = Community(name=community2, area=a2)
     db.session.add(c1)
     db.session.add(c2)
     db.session.commit()
     h1 = House(title=house_title1, community=c1)
     h2 = House(title=house_title2, community=c2)
     db.session.add(h1)
     db.session.add(h2)
     db.session.commit()
     self.assertTrue(District.query.filter_by(name=district1).first().areas.first()\
                     .communities.first().houses.first().title==house_title1)
     self.assertTrue(District.query.filter_by(name=district2).first().areas.first() \
                     .communities.first().houses.first().title == house_title2)
Example #3
0
def house_add_post():
    q_house_exit = House.query.filter_by(
        houseid=request.form.get('add_houseid')).first()
    if q_house_exit is not None:
        flash("该房产已存在")
        return redirect(url_for('house.house_add'))
    else:
        house = House(houseid=request.form.get('add_houseid'),
                      owner_ownername=request.form.get('add_ownername'),
                      housetype=request.form.get('add_housetype'),
                      housestatus=request.form.get('add_housestatus'),
                      housespace=request.form.get('add_housespace'),
                      housecommunity=request.form.get('add_housecommunity'),
                      houseaddress=request.form.get('add_houseaddress'),
                      houseremark=request.form.get('add_houseremark'))
        if house.owner_ownername != "" and house.owner_ownername is not None:
            q_owner = Owner.query.filter_by(
                ownername=house.owner_ownername).first()
            #判断业主是否已有房产,同时,业主为空的不能算
            if q_owner is not None and q_owner != '':
                flash("一个业主只能拥有一套房产")
                return redirect(url_for('house.house_add'))
            q_owner.ownerstatus = house.housestatus
            db.session.add(q_owner)
            db.session.commit()
        if request.form.get('add_houseyears') != '' and request.form.get(
                'add_houseyears') is not None:
            house.houseyears = request.form.get('add_houseyears')
        db.session.add(house)
        db.session.commit()
    return redirect(url_for('house.house_message'))
Example #4
0
def house_publish(request):
    assert isinstance(request, HttpRequest)
    if request.method == 'POST' and request.is_ajax():
        response = HttpResponse()  
        title = request.POST['title']
        desc = request.POST['desc']
        checkinNumber = request.POST['checkinNumber']
        housetype = request.POST['housetype']
        roomtype = request.POST['roomtype']
        rentype = request.POST['rentype']
        rent = request.POST['rent']
        startime = request.POST['startime']
        endtime = request.POST['endtime']
        addr = request.POST['addr']
        contact = request.POST['contact']
        house = House(title=title,housetype = housetype,roomtype = roomtype,checkinNumber=checkinNumber,rentype=rentype,rent=rent,startime=startime,endtime=endtime
                      ,address=addr,description=desc,contactNumber=contact,publisher=request.user,timesViewed = 1,rate=0)
        house.save()
        response.write(house.pk)
        return response
    return render(
        request,
        'app/house_publish.html',
        context_instance = RequestContext(request,
        {
            'title':'发布房源',
            'year':datetime.now().year,
        })
        
    )
Example #5
0
def commit_houses():
    trimmed_house_list = load_listing('data/trimmed_houses_alliances.json')
    for house in trimmed_house_list:
        house_model = House(**house)
        database.session.add(house_model)
    database.session.commit()
    print("House data loaded")
Example #6
0
def namelist_teacher(search):
    house = House.get_house_by_housekeeper(current_user.id)
    page = request.args.get(get_page_parameter(), type=int, default=1)
    per_page = 10
    offset = (page - 1) * per_page
    namelist = models.get_namelist_by_hid(house.house_id, per_page, offset)

    pagination = Pagination(
        page=page,
        total=models.get_namelist_count(house.house_id),
        search=search,
        record_name='request_owner_list',
        per_page=per_page,
        show_single_page=True,
        link='<li><a class="pgn__num" href="{0}">{1}</a></li>')

    pagination.current_page_fmt = '<li><span class="pgn__num current">{0}</span></li>'
    pagination.prev_page_fmt = '<li><a class="pgn__prev" href="{0}">{1}</a></li>'
    pagination.next_page_fmt = '<li><a class="pgn__next" href="{0}">{1}</a></li>'
    pagination.gap_marker_fmt = '<li><span class="pgn__num dots">…</span></li>'
    pagination.link = '<li><a class="pgn__num" href="{0}">{1}</a></li>'
    pagination.link_css_fmt = '<div class="{0}{1}"><ul>'
    pagination.prev_disabled_page_fmt = ''
    pagination.next_disabled_page_fmt = ''

    return render_template('module/namelist.html',
                           request_owner_list=namelist,
                           pagination=pagination)
Example #7
0
def sell():
    if request.method == 'POST':
        x = request.get_json()

        if not x['address'] or not x['city'] or not x['district'] or not x[
                'ward'] or not x['street'] or not x['number']:
            return jsonify({
                "success": False,
                'message': "please fill in all the fields"
            }), 400
        else:
            address = x['address']
            city = x['city']
            district = x['district']
            ward = x['ward']
            street = x['street']
            number = x['number']

            house = House(address=address,
                          city=city,
                          district=district,
                          ward=ward,
                          street=street,
                          number=number,
                          user_id=current_user.id)

            db.session.add(house)
            db.session.commit()

            return jsonify({
                "success": True,
                'message': "Successfully list your house"
            }), 200
Example #8
0
 def __init__(self, user_houses, *args, **kwargs):
     super(UserAddHouseForm, self).__init__(*args, **kwargs)
     user_houses = [(house.id, house.get_type()) for house in user_houses]
     choices = House.choices()
     for house in user_houses:
         if house in choices:
             choices.remove(house)
     self.house.choices = choices
Example #9
0
def create_house():
    HouseForm.add_fields()
    form = HouseForm()
    if form.validate_on_submit():
        house = House()
        #language
        langs = Language.query.all()
        for key in form.data:
            if key in [lang.code for lang in langs]:
                lang = [lang for lang in langs if lang.code == key]
                house.types.append(
                    HouseLanguage(name=form.data[key], language=lang[0]))
        house.year = int(form.year.data)
        db.session.add(house)
        db.session.commit()
        flash('You successfuly created a new house')
        return redirect(url_for('.houses'))

    return render_template('houses/create_house.html',
                           title='Create a new House',
                           form=form)
Example #10
0
def houses(count=100):
    fake = Faker()
    i = 0
    user_count = User.query.count()
    langs = Language.query.all()
    house_types_len = len(house_types)
    while i < int(count):
        u = User.query.offset(randint(0, user_count - 1)).first()
        h = House()
        h.year = randint(1970, datetime.now().year)
        h.timestamp = fake.past_date()
        h.users.append(u)
        for lang in langs:
            if lang.code == 'en':
                h.set_type(lang, house_types[randint(0,
                                                     house_types_len - 1)][0])
            elif lang.code == 'fr':
                c.set_type(lang, house_types[randint(0,
                                                     house_types_len - 1)][1])
        db.session.add(c)
        try:
            db.session.commit()
            i += 1
        except IntegrityError:
            db.session.rollback()
        print('{} fake houses were successfully created.'.format(i))
Example #11
0
def send_request():
    form = RequestForm()
    my_house = House.get_house_by_id(form.houseFrom.data)
    target_house = House.get_house_by_id(form.houseTo.data)

    request = Request.get_request_by_owner_id(current_user.id)
    if request is None:
        request = Request(current_user.id, my_house.house_id,
                          target_house.house_id, form.reason.data,
                          models.PENDING, date.today(), None, 0)
        Request.add_request_by_entity(request)
        request.status_txt = models.status_dict.get(request.status)

        if request.send_date == date.today().strftime("%Y-%m-%d"):
            request.is_frozen = True
        else:
            request.is_frozen = False

        return render_template('notification/request_result_page_student.html',
                               my_house=my_house,
                               target_house=target_house,
                               request=request)
    else:
        return redirect(url_for('notification.request_page'))
Example #12
0
def add_house():
    try:
        name = request.json["name"]
        description = request.json["description"]
    except TypeError:
        return error_missing_json_key("name", "description")
    user = get_jwt_identity()
    db_user: User = User.query.get(user)
    house = House(name=name, description=description)
    db_user.houses.append(house)
    db.session.add(house)
    db.session.commit()
    db.session.refresh(house)
    return jsonify(msg="Created that house succesfully.",
                   data=house.id,
                   status="success")
Example #13
0
def upload_dataset():
    form = UploadDatasetForm()
    if form.validate_on_submit():
        df = convert_uploaded_csv_to_dataframe(request.files)
        houses = []
        for index, row in df.iterrows():
            h = House(MSZoning=row['MSZoning'],
                      LotArea=row['LotArea'],
                      SalePrice=row.get('SalePrice', default=0),
                      user_id=current_user.id)
            houses.append(h)

        db.session.bulk_save_objects(houses)
        db.session.commit()
        return redirect(url_for('index'))

    return render_template('upload_dataset.html', form=form)
Example #14
0
def process_csv(path):
    house = House.get_house_by_housekeeper(current_user.id)
    csv_file = codecs.open(path, 'r', 'utf-8-sig')
    dict_reader = csv.DictReader(csv_file)
    result = []

    for item in dict_reader:
        student = Student.query.filter_by(student_email=item["email"]).first()
        if student is None:
            student = Student(house_id=house.house_id,
                              module_id=None,
                              student_email=item["email"])
            add_by_entity(student)
        else:
            student.house_id = house.house_id
            update_by_entity(student)
        result.append(item["email"])
    flash("upload successfully")
    print(result)
    return True
Example #15
0
def request_page_teacher(search):
    f = request.args.get("filter")
    house = House.get_house_by_housekeeper(current_user.id)
    page = request.args.get(get_page_parameter(), type=int, default=1)
    per_page = 10
    offset = (page - 1) * per_page

    if f is None or 0:
        request_owner_list = models.get_request_owner_list_by_hid_filter(
            house.house_id, 0, per_page, offset)
        total = models.get_request_owner_list_count_by_status(
            house.house_id, 0)
    else:
        request_owner_list = models.get_request_owner_list_by_hid_filter(
            house.house_id, f, per_page, offset)
        total = models.get_request_owner_list_count_by_status(
            house.house_id, f)

    pagination = Pagination(
        page=page,
        total=total,
        search=search,
        record_name='request_owner_list',
        per_page=per_page,
        show_single_page=True,
        link='<li><a class="pgn__num" href="{0}">{1}</a></li>')

    pagination.current_page_fmt = '<li><span class="pgn__num current">{0}</span></li>'
    pagination.prev_page_fmt = '<li><a class="pgn__prev" href="{0}">{1}</a></li>'
    pagination.next_page_fmt = '<li><a class="pgn__next" href="{0}">{1}</a></li>'
    pagination.gap_marker_fmt = '<li><span class="pgn__num dots">…</span></li>'
    pagination.link = '<li><a class="pgn__num" href="{0}">{1}</a></li>'
    pagination.link_css_fmt = '<div class="{0}{1}"><ul>'
    pagination.prev_disabled_page_fmt = ''
    pagination.next_disabled_page_fmt = ''

    return render_template('notification/request_teacher.html',
                           request_owner_list=request_owner_list,
                           pagination=pagination,
                           filter=f)
Example #16
0
def addhouse():
    form = AddHouseForm()

    if form.validate_on_submit():
        print('submit')
        study_year = form.study_year.data
        #email = form.teacher_email.data
        house_name = form.house_name.data
        house = House.query.filter_by(year=study_year,
                                      house_name=house_name).first()
        if house is not None:
            flash("house already exists")
            return redirect(url_for('house.addhouse'))
        else:
            house = House(None, study_year, 1, house_name)
            add_by_entity(house)
            # house_keeper = HouseKeeper(user.id, module_id=session['moduleId'])
            # add_house_keeper_by_entity(house_keeper)

            flash("add house successfully, you can assign house keeper now.")
            return redirect(url_for('house.assignhouse'))
    return render_template('house/add_house.html', form=form)
Example #17
0
def my_newhouse():
    data = request.form.to_dict()
    facility_ids = request.form.getlist('facility')

    house = House()
    house.user_id = session['user_id']
    house.title = data.get('title')
    house.price = data.get('price')
    house.area_id = data.get('area_id')
    house.address = data.get('address')
    house.room_count = data.get('room_count')
    house.acreage = data.get('acreage')
    house.unit = data.get('unit')
    house.capacity = data.get('capacity')
    house.beds = data.get('beds')
    house.deposit = data.get('deposit')
    house.min_days = data.get('min_days')
    house.max_days = data.get('max_days')

    facility_list = Facility.query.filter(Facility.id.in_(facility_ids)).all()
    house.facilities = facility_list
    try:
        house.add_update()
    except:
        db.session.rollback()
    return jsonify(code=200, house_id=house.id)
Example #18
0
def newihouse():
    facility_ids = request.form.getlist('facility')
    house = House()
    house.user_id = session['user_id']
    house.area_id = request.form.get('area_id')
    house.title = request.form.get('title')
    house.price = request.form.get('price')
    house.address = request.form.get('address')
    house.room_count = request.form.get('room_count')
    house.acreage = request.form.get('acreage')
    house.beds = request.form.get('beds')
    house.unit = request.form.get('unit')
    house.capacity = request.form.get('capacity')
    house.deposit = request.form.get('deposit')
    house.min_days = request.form.get('min_days')
    house.max_days = request.form.get('max_days')
    if facility_ids:
        facility_list = Facility.query.filter(Facility.id.in_(facility_ids)).all()
        house.facilities = facility_list
    house.add_update()
    return jsonify({'code': 200, 'msg': '请求成功', 'house_id': house.id})
Example #19
0
def my_newhouse():
    # 新建房源
    if request.method == 'POST':
        # 获取输入的信息
        house_title = request.form.get('house_title')
        house_price = request.form.get('house_price')
        area_id = request.form.get('area_id')
        house_address = request.form.get('house_address')
        house_room_count = request.form.get('house_room_count')
        house_acreage = request.form.get('house_acreage')
        house_unit = request.form.get('house_unit')
        house_capacity = request.form.get('house_capacity')
        house_beds = request.form.get('house_beds')
        house_deposit = request.form.get('house_deposit')
        house_min_days = request.form.get('house_min_days')
        house_max_days = request.form.get('house_max_days')
        user_id = session.get('user_id')
        # 创建房屋信息
        house = House()
        house.user_id = user_id
        house.area_id = area_id
        house.title = house_title
        house.price = house_price
        house.address = house_address
        house.room_count = house_room_count
        house.acreage = house_acreage
        house.unit = house_unit
        house.capacity = house_capacity
        house.beds = house_beds
        house.deposit = house_deposit
        house.min_days = house_min_days
        house.max_days = house_max_days
        house.add_update()
        # 创建房屋设施
        checkbox_list = request.form.getlist('checkbox_list[]')
        for facility_id in checkbox_list:
            facility = Facility.query.get(facility_id)
            house.facilities.append(facility)
        db.session.commit()

        return jsonify({'code': 200, 'msg': '请求成功!', 'house_id': house.id})
Example #20
0
def my_newhouse():
    # 保存房屋信息,设施信息
    house_dict = request.form

    house = House()
    house.user_id = session['user_id']
    house.price = house_dict.get('price')
    house.title = house_dict.get('title')
    house.area_id = house_dict.get('area_id')
    house.address = house_dict.get('address')
    house.room_count = house_dict.get('room_count')
    house.acreage = house_dict.get('acreage')
    house.unit = house_dict.get('unit')
    house.capacity = house_dict.get('capacity')
    house.beds = house_dict.get('beds')
    house.deposit = house_dict.get('deposit')
    house.min_days = house_dict.get('min_days')
    house.max_days = house_dict.get('max_days')

    facilitys = house_dict.getlist('facility')
    for facility_id in facilitys:
        facility = Facility.query.get(facility_id)
        # 多对多关联
        house.facilities.append(facility)
    house.add_update()

    return jsonify(code=status_code.OK, house_id=house.id)
Example #21
0
async def create_house(data: InputValidator, db: Session = Depends(get_db)):
    instance = House(**data.dict(exclude_unset=True))
    db.add(instance)
    db.commit()
    return instance
Example #22
0
def new_house_p():
    """
    新房源创建 - 房间信息、图片、基础设置
    需要用到house、facility模型
    [('title', 'title'), ('price', '123'), ('area_id', '2'),
    ('address', '12'), ('room_count', '1'), ('acreage', '1'),
    ('unit', '1'), ('capacity', '1'), ('beds', '1'),
    ('deposit', '1'), ('min_days', '1'), ('max_days', '1'),
    ('facility', '1'), ('facility', '3'), ('facility', '5')]
    """
    if request.method == 'POST':
        user_id = session.get('user_id')
        title = request.form.get('title')
        price = int(request.form.get('price'))
        area_id = int(request.form.get('area_id'))
        address = request.form.get('address')
        room_count = int(request.form.get('room_count'))
        acreage = int(request.form.get('acreage'))
        unit = request.form.get('unit')
        capacity = int(request.form.get('capacity'))
        beds = request.form.get('beds')
        deposit = int(request.form.get('deposit'))
        min_days = int(request.form.get('min_days'))
        max_days = int(request.form.get('max_days'))
        facilities = request.form.getlist('facility')
        # 参数没填写完就重新填写
        if not all([
                title, price, area_id, address, room_count, acreage, unit,
                capacity, beds, deposit, min_days, facilities, user_id
        ]):
            return jsonify(status.USER_PARAMS_IS_INVALID)
        # 给house模型添加数据
        house_n = House()
        house_n.user_id = user_id
        house_n.title = title
        house_n.price = price
        house_n.area_id = area_id
        house_n.address = address
        house_n.room_count = room_count
        house_n.acreage = acreage
        house_n.unit = unit
        house_n.capacity = capacity
        house_n.beds = beds
        house_n.deposit = deposit
        house_n.min_days = min_days
        house_n.max_days = max_days
        # 添加基础设施对象:循环拿出基础设置对象,将对象添加到中间表
        for i in facilities:
            facility = Facility.query.filter(Facility.id == int(i)).first()
            house_n.facilities.append(facility)
        house_n.add_update()
        house_id = house_n.id
        return jsonify({'code': 500, 'msg': '添加房间成功', 'house_id': house_id})

    if request.method == 'PATCH':
        """取得房间id和房间图片,对房间id和房间图片进行储存,添加首图"""
        house_id = request.form.get('house_id')
        house_image = request.files.get('house_image')
        if not all([house_id, house_image]):
            return jsonify(status.IMAGE_OR_HOUSE_ID_INVALID)

        path = os.path.join(MEDIA_PATH, house_image.filename)
        house_image.save(path)

        house_image_n = HouseImage()
        house_image_n.url = house_image.filename
        house_image_n.house_id = house_id
        house_image_n.add_update()

        # 添加首图
        house = House.query.filter(House.id == house_id).first()
        if house.index_image_url:
            data = {'code': 200, 'url': house_image.filename}
            return jsonify(data)

        images = HouseImage.query.filter(
            HouseImage.house_id == house_id).order_by('create_time').first()
        house.index_image_url = images.url
        house.add_update()

        data = {'code': 200, 'url': house_image.filename}
        return jsonify(data)
Example #23
0
def my_newhouse():
    facilitys = request.form.getlist('facility')
    title = request.form.get('title')
    price = request.form.get('price')
    area_id = request.form.get('area_id')
    address = request.form.get('address')
    room_count = request.form.get('room_count')
    acreage = request.form.get('acreage')
    unit = request.form.get('unit')
    capacity = request.form.get('capacity')
    beds = request.form.get('beds')
    deposit = request.form.get('deposit')
    min_days = request.form.get('min_days')
    max_days = request.form.get('max_days')
    user_id = session.get('user_id')

    house = House()
    house.title = title
    house.price = price
    house.area_id = area_id
    house.address = address
    house.room_count = room_count
    house.acreage = acreage
    house.unit = unit
    house.capacity = capacity
    house.beds = beds
    house.deposit = deposit
    house.min_days = min_days
    house.max_days = max_days
    house.user_id = user_id
    house.add_update()
    facility = []
    for i in facilitys:
        facility.append(Facility.query.filter_by(id=int(i)).first())

    house.facilities = facility
    house.add_update()

    return jsonify({'code': 200, 'msg': '请求成功', 'data': house.id})
Example #24
0
def newhouse_info():
    # 获取表单信息
    # 标题
    title = request.form.get('title')
    # 单价
    price = request.form.get('price')
    # 地址
    address = request.form.get('address')
    # 房间数目
    room_count = request.form.get('room_count')
    # 房屋面积
    acreage = request.form.get('acreage')
    # 户型描述,如几室几厅
    unit = request.form.get('unit')
    # 房屋容纳的人数
    capacity = request.form.get('capacity')
    # 房屋床铺的配置
    beds = request.form.get('beds')
    # 房屋押金
    deposit = request.form.get('deposit')
    # 最少入住天数
    min_days= request.form.get('min_days')
    # 最多入住天数
    max_days = request.form.get('max_days')
    # 房屋设施
    facilities = request.form.getlist('facility')
    # 区域
    area_id = request.form.get('area_id')
    if all([title, facilities]):
        # 创建房屋信息
        user_id = session['user_id']
        house = House()
        house.title = title
        house.price = price
        house.address = address
        house.room_count = room_count
        house.acreage = acreage
        house.unit = unit
        house.capacity = capacity
        house.beds = beds
        house.deposit = deposit
        house.min_days = min_days
        house.max_days = max_days
        house.user_id = user_id
        house.area_id = area_id
        # 保存房屋对应的设施
        for fac_id in facilities:
            fac = Facility.query.get(fac_id)
            house.facilities.append(fac)
        house.add_update()
        return jsonify({'code': 200, 'msg': '添加房屋信息成功', 'data': house.id})
    return jsonify({'code': 1001, 'msg': '请填写完整的房屋信息!'})
Example #25
0
def new_house():
    if request.method == 'GET':
        return render_template('newhouse.html')

    if request.method == 'POST':
        house = House()
        house.title = request.form.get('title')
        house.price = request.form.get('price')
        house.address = request.form.get('address')
        house.room_count = request.form.get('room_count')
        house.acreage = request.form.get('acreage')
        house.unit = request.form.get('unit')
        house.capacity = request.form.get('capacity')
        house.beds = request.form.get('beds')
        house.deposit = request.form.get('deposit')
        house.min_days = request.form.get('min_days')
        house.max_day = request.form.get('max_days')
        area_id = request.form.get('area_id')
        area = Area.query.filter(Area.name == area_id).first()
        house.area_id = area.id

        user = User.query.filter(User.id == session['user_id']).first()
        house.user_id = user.id

        facilities_list = request.form.getlist('facility')
        for facility_id in facilities_list:
            facility = Facility.query.filter(
                Facility.id == facility_id).first()
            house.facilities.append(facility)
        db.session.add(house)
        db.session.commit()
        id = house.id
        return jsonify({'code': 200, 'msg': '成了!', 'id': id})
Example #26
0
def new_house():
    #接收用户信息
    params = request.form.to_dict()
    facility_ids = request.form.getlist('facility')

    #创建房源信息
    house = House()
    house.user_id = session['user_id']
    house.area_id = params.get('area_id')
    house.title = params.get('title')
    house.price = params.get('price')
    house.address = params.get('address')
    house.room_count = params.get('room_count')
    house.acreage = params.get('acreage')
    house.beds = params.get('beds')
    house.unit = params.get('unit')
    house.capacity = params.get('capacity')
    house.deposit = params.get('deposit')
    house.min_days = params.get('min_days')
    house.max_days = params.get('max_days')
    #通过设施编号查询设施对象
    if facility_ids:
        facility_list = Facility.query.filter(
            Facility.id.in_(facility_ids)).all()
        house.facilities = facility_list
    house.add_update()
    return jsonify(code=200, house_id=house.id)
Example #27
0
def newhouse_save():
    # 接收数据
    params = request.form.to_dict()
    facility_ids = request.form.getlist('facility')
    # 验证数据的有效性

    # 创建对象并保存
    # 1.给对象的字段分别赋值
    house = House()
    house.user_id = session['user_id']
    house.area_id = params.get('area_id')
    house.title = params.get('title')
    house.price = params.get('price')
    house.address = params.get('address')
    house.room_count = params.get('room_count')
    house.acreage = params.get('acreage')
    house.beds = params.get('beds')
    house.unit = params.get('unit')
    house.capacity = params.get('capacity')
    house.deposit = params.get('deposit')
    house.min_days = params.get('min_days')
    house.max_days = params.get('max_days')
    # 根据设施的编号查询设施对象
    if facility_ids:
        facility_list = Facility.query.filter(
            Facility.id.in_(facility_ids)).all()
        house.facilities = facility_list
    house.add_update()
    # 返回结果
    return jsonify(code='200', house_id=house.id)
Example #28
0
def add_house():
    """
    添加新房源
    :return:
    """
    house = House()
    facilities = request.form.getlist('facility')
    if facilities:
        for facility_id in facilities:
            facility = Facility.query.get(facility_id)
            house.facilities.append(facility)

    house.user_id = session['user_id']
    house.title = request.form.get('title')
    house.price = request.form.get('price')
    house.area_id = request.form.get('area_id')
    house.address = request.form.get('address')
    house.room_count = request.form.get('room_count')
    house.acreage = request.form.get('acreage')
    house.unit = request.form.get('unit')
    house.capacity = request.form.get('capacity')
    house.beds = request.form.get('beds')
    house.deposit = request.form.get('deposit')
    house.min_days = request.form.get('min_days')
    house.max_days = request.form.get('max_days')
    house.add_update()
    return jsonify({'code':200,'msg':'请求成功!','data':house.id})
Example #29
0
 def test_add_house(self):
     House.drop_collection()
     for house in self.house_list:
         local_house = House.from_json(json.dumps(house))
         local_house.save()
Example #30
0
def newhouse():
    if request.method == 'GET':
        return render_template('newhouse.html')

    if request.method == 'POST':

        house = House()
        house.user_id = session['user_id']
        house.title = request.form.get('title')
        house.price = request.form.get('price')
        house.area_id = request.form.get('area_id')
        house.address = request.form.get('address')
        house.room_count = request.form.get('room_count')
        house.acreage = request.form.get('acreage')
        house.unit = request.form.get('unit')
        house.capacity = request.form.get('capacity')
        house.beds = request.form.get('beds')
        house.deposit = request.form.get('deposit')
        house.min_days = request.form.get('min_days')
        house.max_days = request.form.get('max_days')
        house.add_update()

        facility = request.form.getlist('facility')
        for fac in facility:
            f = Facility.query.get(fac)
            house.facilities.append(f)
            house.add_update()
        house_id = house.id
        return jsonify(code=200, house_id=house_id)