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)
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)
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'))
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, }) )
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")
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)
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
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
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)
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))
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'))
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")
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)
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
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)
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)
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)
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})
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})
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)
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
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)
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})
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': '请填写完整的房屋信息!'})
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})
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)
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)
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})
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()
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)