|
@@ -68,13 +68,18 @@ async def insert_class(
|
|
|
remark : str = Form(default='')
|
|
|
):
|
|
|
try:
|
|
|
- contents = await cover_img_file.read()
|
|
|
+ if cover_img_file!= '':
|
|
|
+ contents = await cover_img_file.read()
|
|
|
|
|
|
#save the file
|
|
|
- with open(f"{IMAGEDIR}{cover_img_file.filename}", "wb") as f:
|
|
|
- f.write(contents)
|
|
|
+ with open(f"{IMAGEDIR}{cover_img_file.filename}", "wb") as f:
|
|
|
+ f.write(contents)
|
|
|
+
|
|
|
+ cover_img = f"{IMAGEDIR_short}{cover_img_file.filename}"
|
|
|
+ else:
|
|
|
+ cover_img = ''
|
|
|
+
|
|
|
|
|
|
- cover_img = f"{IMAGEDIR_short}{cover_img_file.filename}"
|
|
|
|
|
|
new_class_name = await Class_name.create(
|
|
|
id=id,
|
|
@@ -381,25 +386,65 @@ async def get_class():
|
|
|
@classes.get("/search_class_like")
|
|
|
async def search_class_like(keyword: str):
|
|
|
try:
|
|
|
- class_list = await Class_list.filter(
|
|
|
-Q(name__icontains=keyword) | Q(lecturer__icontains=keyword)
|
|
|
- ).all()
|
|
|
-
|
|
|
+ class_name_list = await Class_name.filter(Q(name__icontains=keyword) ).all()
|
|
|
+ class_list = await Class_list.filter(Q(lecturer__icontains=keyword) ).all()
|
|
|
classes = []
|
|
|
+ for class_name in class_name_list:
|
|
|
+
|
|
|
+ class_obj_list = await Class_name.filter(name_id=class_name.id).all()
|
|
|
+
|
|
|
+ for class_obj in class_obj_list:
|
|
|
+ school_obj = await Schools.get(id=class_name.school_id)
|
|
|
+ class_data = {
|
|
|
+ "msg": "success",
|
|
|
+ "code": 200,
|
|
|
+ "class_id": class_obj.id,
|
|
|
+ "name": class_name.name,
|
|
|
+ "school":school_obj.name,
|
|
|
+ "category": class_name.category,
|
|
|
+ "introduction": class_name.introduction,
|
|
|
+ "organizer": class_name.organizer,
|
|
|
+ "cover_img": class_name.cover_img,
|
|
|
+ "event": class_obj.event,
|
|
|
+ "start_time": class_obj.start_time,
|
|
|
+ "end_time": class_obj.end_time,
|
|
|
+ "location": class_obj.location,
|
|
|
+ "lecturer": class_obj.lecturer,
|
|
|
+ "contact": class_obj.contact,
|
|
|
+ "content": class_obj.content,
|
|
|
+ "URL": class_obj.URL,
|
|
|
+ "people": class_obj.people,
|
|
|
+ "fee_method": class_obj.fee_method,
|
|
|
+ "registration_way": class_obj.registration_way,
|
|
|
+ "remark": class_obj.remark
|
|
|
+ }
|
|
|
+ classes.append(class_data)
|
|
|
+
|
|
|
for class_obj in class_list:
|
|
|
+ class_name = await Class_name.get(id=class_obj.name_id)
|
|
|
+ school_obj = await Schools.get(id=class_name.school_id)
|
|
|
class_data = {
|
|
|
+ "msg": "success",
|
|
|
+ "code": 200,
|
|
|
"class_id": class_obj.id,
|
|
|
- "name": class_obj.name,
|
|
|
+ "name": class_name.name,
|
|
|
+ "school":school_obj.name,
|
|
|
+ "category": class_name.category,
|
|
|
+ "introduction": class_name.introduction,
|
|
|
+ "organizer": class_name.organizer,
|
|
|
+ "cover_img": class_name.cover_img,
|
|
|
+ "event": class_obj.event,
|
|
|
"start_time": class_obj.start_time,
|
|
|
"end_time": class_obj.end_time,
|
|
|
"location": class_obj.location,
|
|
|
"lecturer": class_obj.lecturer,
|
|
|
- "organizer": class_obj.organizer,
|
|
|
"contact": class_obj.contact,
|
|
|
- "introduction": class_obj.introduction,
|
|
|
"content": class_obj.content,
|
|
|
- "cover_img": class_obj.cover_img
|
|
|
-
|
|
|
+ "URL": class_obj.URL,
|
|
|
+ "people": class_obj.people,
|
|
|
+ "fee_method": class_obj.fee_method,
|
|
|
+ "registration_way": class_obj.registration_way,
|
|
|
+ "remark": class_obj.remark
|
|
|
}
|
|
|
classes.append(class_data)
|
|
|
|