|
@@ -19,14 +19,15 @@ async def get_dialog_list(db, user_id, keyword, label, status, page_size, page_i
|
|
|
else:
|
|
else:
|
|
|
query = query.filter(DialogModel.status != Dialog_STATSU_DELETE)
|
|
query = query.filter(DialogModel.status != Dialog_STATSU_DELETE)
|
|
|
id_list = []
|
|
id_list = []
|
|
|
- if label:
|
|
|
|
|
- id_list = [i.object_id for i in db.query(LabelWorkerModel).filter(LabelWorkerModel.label_id==label).all()]
|
|
|
|
|
|
|
+ # if label:
|
|
|
|
|
+ # id_list = [i.object_id for i in db.query(LabelWorkerModel).filter(LabelWorkerModel.label_id==label).all()]
|
|
|
if user.permission != "admin":
|
|
if user.permission != "admin":
|
|
|
- dia_list = [j.id for i in user.groups for j in i.dialogs if not label or j.id in id_list]
|
|
|
|
|
|
|
+ dia_list = [j.id for i in user.groups for j in i.dialogs]
|
|
|
query = query.filter(or_(DialogModel.tenant_id == user_id, DialogModel.id.in_(dia_list)))
|
|
query = query.filter(or_(DialogModel.tenant_id == user_id, DialogModel.id.in_(dia_list)))
|
|
|
- else:
|
|
|
|
|
- if label:
|
|
|
|
|
- query = query.filter(or_(DialogModel.id.in_(id_list)))
|
|
|
|
|
|
|
+ # else:
|
|
|
|
|
+ if label:
|
|
|
|
|
+ id_list = [i.object_id for i in db.query(LabelWorkerModel).filter(LabelWorkerModel.label_id == label).all()]
|
|
|
|
|
+ query = query.filter(DialogModel.id.in_(id_list))
|
|
|
|
|
|
|
|
if keyword:
|
|
if keyword:
|
|
|
query = query.filter(DialogModel.name.like('%{}%'.format(keyword)))
|
|
query = query.filter(DialogModel.name.like('%{}%'.format(keyword)))
|
|
@@ -144,15 +145,14 @@ async def get_dialog_manage_list(db, user_id, keyword, label, status, page_size,
|
|
|
if user is None:
|
|
if user is None:
|
|
|
return {"rows": []}
|
|
return {"rows": []}
|
|
|
query = db.query(DialogModel).filter(DialogModel.status != Dialog_STATSU_DELETE)
|
|
query = db.query(DialogModel).filter(DialogModel.status != Dialog_STATSU_DELETE)
|
|
|
- id_list = []
|
|
|
|
|
- if label:
|
|
|
|
|
- id_list = set([i.object_id for i in db.query(LabelWorkerModel).filter(LabelWorkerModel.label_id.in_(label)).all()])
|
|
|
|
|
if user.permission != "admin":
|
|
if user.permission != "admin":
|
|
|
- dia_list = [j.id for i in user.groups for j in i.dialogs if not label or j.id in id_list]
|
|
|
|
|
|
|
+ dia_list = [j.id for i in user.groups for j in i.dialogs]
|
|
|
query = query.filter(or_(DialogModel.tenant_id == user_id, DialogModel.id.in_(dia_list)))
|
|
query = query.filter(or_(DialogModel.tenant_id == user_id, DialogModel.id.in_(dia_list)))
|
|
|
- else:
|
|
|
|
|
- if label:
|
|
|
|
|
- query = query.filter(or_(DialogModel.id.in_(id_list)))
|
|
|
|
|
|
|
+
|
|
|
|
|
+ if label:
|
|
|
|
|
+ id_list = set(
|
|
|
|
|
+ [i.object_id for i in db.query(LabelWorkerModel).filter(LabelWorkerModel.label_id.in_(label)).all()])
|
|
|
|
|
+ query = query.filter(DialogModel.id.in_(id_list))
|
|
|
|
|
|
|
|
if keyword:
|
|
if keyword:
|
|
|
query = query.filter(DialogModel.name.like('%{}%'.format(keyword)))
|
|
query = query.filter(DialogModel.name.like('%{}%'.format(keyword)))
|