|
@@ -60,6 +60,12 @@ def add_model(cls,**kwargs):
|
|
|
"""
|
|
"""
|
|
|
model_name = re.search(r'.*\.(\w+)View',str(cls.__class__)).groups()[0]
|
|
model_name = re.search(r'.*\.(\w+)View',str(cls.__class__)).groups()[0]
|
|
|
model = getattr(cm,model_name)
|
|
model = getattr(cm,model_name)
|
|
|
|
|
+ if model_name == "Message":
|
|
|
|
|
+ #拷贝模板字段
|
|
|
|
|
+ template_id = kwargs.get("template_id")
|
|
|
|
|
+ template = cm.Template.objects.filter(id=template_id).first()
|
|
|
|
|
+ widget = json.loads(template.widget) if template.widget else {}
|
|
|
|
|
+ kwargs["widget"] = json.dumps(widget)
|
|
|
obj = model.objects.create(**kwargs)
|
|
obj = model.objects.create(**kwargs)
|
|
|
#生成文件分享图片
|
|
#生成文件分享图片
|
|
|
if model_name == "Message":
|
|
if model_name == "Message":
|
|
@@ -92,6 +98,12 @@ def update_model(cls,**kwargs):
|
|
|
model_name = re.search(r'.*\.(\w+)View',str(cls.__class__)).groups()[0]
|
|
model_name = re.search(r'.*\.(\w+)View',str(cls.__class__)).groups()[0]
|
|
|
model = getattr(cm,model_name)
|
|
model = getattr(cm,model_name)
|
|
|
id = kwargs.pop("id")
|
|
id = kwargs.pop("id")
|
|
|
|
|
+ if model_name == "Message":
|
|
|
|
|
+ #拷贝模板字段
|
|
|
|
|
+ template_id = kwargs.get("template_id")
|
|
|
|
|
+ template = cm.Template.objects.filter(id=template_id).first()
|
|
|
|
|
+ widget = json.loads(template.widget) if template.widget else {}
|
|
|
|
|
+ kwargs["widget"] = json.dumps(widget)
|
|
|
rst = model.objects.filter(id=id).update(**kwargs)
|
|
rst = model.objects.filter(id=id).update(**kwargs)
|
|
|
if model_name == "Message":
|
|
if model_name == "Message":
|
|
|
obj = model.objects.filter(id=id).first()
|
|
obj = model.objects.filter(id=id).first()
|
|
@@ -139,8 +151,8 @@ def delete_model(cls,**kwargs):
|
|
|
ids = str(kwargs.get("id")).split(",")
|
|
ids = str(kwargs.get("id")).split(",")
|
|
|
|
|
|
|
|
rst = model.objects.filter(id__in=ids).delete()
|
|
rst = model.objects.filter(id__in=ids).delete()
|
|
|
- if model_name == "Template":
|
|
|
|
|
- cm.Message.objects.filter(template_id__in=ids).delete()
|
|
|
|
|
|
|
+ #if model_name == "Template":
|
|
|
|
|
+ # cm.Message.objects.filter(template_id__in=ids).delete()
|
|
|
return ids
|
|
return ids
|
|
|
|
|
|
|
|
def delete_model_actual(cls,**kwargs):
|
|
def delete_model_actual(cls,**kwargs):
|
|
@@ -163,9 +175,10 @@ def get_detail_info(cls,**kwargs):
|
|
|
rst = rst[0] if rst else {}
|
|
rst = rst[0] if rst else {}
|
|
|
if model_name == "Message":
|
|
if model_name == "Message":
|
|
|
if rst.get("template_id"):
|
|
if rst.get("template_id"):
|
|
|
- tpl = cm.Template.objects.filter(id=rst.get("template_id")).values()
|
|
|
|
|
- tpl = tpl[0] if tpl else {}
|
|
|
|
|
- widget = json.loads(tpl["widget"]) if tpl else []
|
|
|
|
|
|
|
+ #tpl = cm.Template.objects.filter(id=rst.get("template_id")).values()
|
|
|
|
|
+ #tpl = tpl[0] if tpl else {}
|
|
|
|
|
+ #widget = json.loads(tpl["widget"]) if tpl else []
|
|
|
|
|
+ widget = json.loads(rst["widget"]) if rst["widget"] else []
|
|
|
#已填报则获取填报结果
|
|
#已填报则获取填报结果
|
|
|
if cm.MessageSurveyResult.objects.filter(message_id=id).exists():
|
|
if cm.MessageSurveyResult.objects.filter(message_id=id).exists():
|
|
|
rst["edit"] = 1
|
|
rst["edit"] = 1
|
|
@@ -184,9 +197,10 @@ def get_detail_info(cls,**kwargs):
|
|
|
if model_name == "Notice":
|
|
if model_name == "Notice":
|
|
|
rst["fileurl"] = json.loads(rst["fileurl"]) if rst["fileurl"] else []
|
|
rst["fileurl"] = json.loads(rst["fileurl"]) if rst["fileurl"] else []
|
|
|
viewer_ids = json.loads(rst["viewer_id"]) if rst["viewer_id"] else []
|
|
viewer_ids = json.loads(rst["viewer_id"]) if rst["viewer_id"] else []
|
|
|
- new_viewer_ids = filter(lambda x:x["id"]!=kwargs.get("cid"),viewer_ids)
|
|
|
|
|
- new_viewer_ids.append({"id":kwargs.get("cid"),"time":ccf.get_now_str()})
|
|
|
|
|
- model.objects.filter(id=id).update(viewer_id=json.dumps(new_viewer_ids))
|
|
|
|
|
|
|
+ if not kwargs.get("type"):
|
|
|
|
|
+ new_viewer_ids = filter(lambda x:x["id"]!=kwargs.get("cid"),viewer_ids)
|
|
|
|
|
+ new_viewer_ids.append({"id":kwargs.get("cid"),"time":ccf.get_now_str()})
|
|
|
|
|
+ model.objects.filter(id=id).update(viewer_id=json.dumps(new_viewer_ids))
|
|
|
return rst
|
|
return rst
|
|
|
|
|
|
|
|
def get_list_info(cls,**kwargs):
|
|
def get_list_info(cls,**kwargs):
|
|
@@ -225,7 +239,10 @@ def get_list_info(cls,**kwargs):
|
|
|
d["journal_name"] = cm.Journal.objects.filter(id=d["journal_id"]).first().name
|
|
d["journal_name"] = cm.Journal.objects.filter(id=d["journal_id"]).first().name
|
|
|
except:
|
|
except:
|
|
|
d["journal_name"] = ""
|
|
d["journal_name"] = ""
|
|
|
- d["role_name"] = cm.Role.objects.filter(id=d["role_id"]).first().name
|
|
|
|
|
|
|
+ try:
|
|
|
|
|
+ d["role_name"] = cm.Role.objects.filter(id=d["role_id"]).first().name
|
|
|
|
|
+ except:
|
|
|
|
|
+ d["role_name"] = ""
|
|
|
if model_name in ["Message"]:
|
|
if model_name in ["Message"]:
|
|
|
for d in data:
|
|
for d in data:
|
|
|
if d["receiver_id"]:
|
|
if d["receiver_id"]:
|
|
@@ -261,11 +278,12 @@ def get_list_info(cls,**kwargs):
|
|
|
d["finish_ids"] = finish_ids
|
|
d["finish_ids"] = finish_ids
|
|
|
if model_name == "Template":
|
|
if model_name == "Template":
|
|
|
for d in data:
|
|
for d in data:
|
|
|
- message_ids = list(cm.Message.objects.filter(template_id=d["id"]).values_list("id",flat=True))
|
|
|
|
|
- if cm.MessageSurveyResult.objects.filter(message_id__in=message_ids).exists():
|
|
|
|
|
- d["edit"] = 0
|
|
|
|
|
- else:
|
|
|
|
|
- d["edit"] = 1
|
|
|
|
|
|
|
+ #message_ids = list(cm.Message.objects.filter(template_id=d["id"]).values_list("id",flat=True))
|
|
|
|
|
+ #if cm.MessageSurveyResult.objects.filter(message_id__in=message_ids).exists():
|
|
|
|
|
+ # d["edit"] = 0
|
|
|
|
|
+ #else:
|
|
|
|
|
+ # d["edit"] = 1
|
|
|
|
|
+ d["edit"] = 1
|
|
|
|
|
|
|
|
page = int(kwargs.get("page",0))
|
|
page = int(kwargs.get("page",0))
|
|
|
page_size = int(kwargs.get("page_size",20))
|
|
page_size = int(kwargs.get("page_size",20))
|
|
@@ -1012,14 +1030,29 @@ def add_conference(**kwargs):
|
|
|
return True
|
|
return True
|
|
|
|
|
|
|
|
|
|
|
|
|
-def remove_empty(data):
|
|
|
|
|
- if isinstance(data,type([])):
|
|
|
|
|
- for i,item in enumerate(data):
|
|
|
|
|
- if not item.get("children",[]):
|
|
|
|
|
- print len(data),111111111
|
|
|
|
|
- del data[i]
|
|
|
|
|
|
|
+def recurse_del(list_data):
|
|
|
|
|
+ if len(list_data) == 0:
|
|
|
|
|
+ return
|
|
|
|
|
+
|
|
|
|
|
+ index = 0
|
|
|
|
|
+ while index < len(list_data):
|
|
|
|
|
+ if not list_data[index].has_key('children'):
|
|
|
|
|
+ index = index + 1
|
|
|
|
|
+ continue
|
|
|
|
|
+
|
|
|
|
|
+ if not list_data[index].get("children"):
|
|
|
|
|
+ print "[Deleted] ", list_data[index]
|
|
|
|
|
+ del list_data[index]
|
|
|
|
|
+ else:
|
|
|
|
|
+ print "[Recurved] ", list_data[index].get("children")
|
|
|
|
|
+ recurse_del(list_data[index].get("children"))
|
|
|
|
|
+
|
|
|
|
|
+ if not list_data[index].get("children"):
|
|
|
|
|
+ print "[Deleted] ", list_data[index]
|
|
|
|
|
+ print 1111111111
|
|
|
|
|
+ del list_data[index]
|
|
|
else:
|
|
else:
|
|
|
- return remove_empty(data[i]["children"])
|
|
|
|
|
|
|
+ index = index + 1
|
|
|
|
|
|
|
|
|
|
|
|
|
def get_message_receiver_list(request):
|
|
def get_message_receiver_list(request):
|
|
@@ -1048,7 +1081,7 @@ def get_message_receiver_list(request):
|
|
|
jn["children"] = sysusers
|
|
jn["children"] = sysusers
|
|
|
org["children"] = journals
|
|
org["children"] = journals
|
|
|
brc["children"] = orgs
|
|
brc["children"] = orgs
|
|
|
- #remove_empty(branchs)
|
|
|
|
|
|
|
+ recurse_del(branchs)
|
|
|
return branchs
|
|
return branchs
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1133,9 +1166,10 @@ def get_survey_analyse_list_out(**kwargs):
|
|
|
_type = kwargs.get("type")
|
|
_type = kwargs.get("type")
|
|
|
|
|
|
|
|
message = cm.Message.objects.filter(id=message_id).first()
|
|
message = cm.Message.objects.filter(id=message_id).first()
|
|
|
- template_id = message.template_id
|
|
|
|
|
- template = cm.Template.objects.filter(id=template_id).first()
|
|
|
|
|
- widgets = json.loads(template.widget) if template.widget else []
|
|
|
|
|
|
|
+ #template_id = message.template_id
|
|
|
|
|
+ #template = cm.Template.objects.filter(id=template_id).first()
|
|
|
|
|
+ #widgets = json.loads(template.widget) if template.widget else []
|
|
|
|
|
+ widgets = json.loads(message.widget) if message.widget else []
|
|
|
headers = [x["label"] for x in widgets]
|
|
headers = [x["label"] for x in widgets]
|
|
|
msrset = cm.MessageSurveyResult.objects.filter(message_id=message_id)
|
|
msrset = cm.MessageSurveyResult.objects.filter(message_id=message_id)
|
|
|
if kwargs.get("name"):
|
|
if kwargs.get("name"):
|
|
@@ -1167,8 +1201,9 @@ def get_survey_question_analyse_list(**kwargs):
|
|
|
message_id = kwargs.get("id")
|
|
message_id = kwargs.get("id")
|
|
|
_type = kwargs.get("type")
|
|
_type = kwargs.get("type")
|
|
|
message = cm.Message.objects.filter(id=message_id).first()
|
|
message = cm.Message.objects.filter(id=message_id).first()
|
|
|
- template = cm.Template.objects.filter(id=message.template_id).first()
|
|
|
|
|
- widgets = json.loads(template.widget) if template.widget else []
|
|
|
|
|
|
|
+ #template = cm.Template.objects.filter(id=message.template_id).first()
|
|
|
|
|
+ #widgets = json.loads(template.widget) if template.widget else []
|
|
|
|
|
+ widgets = json.loads(message.widget) if message.widget else []
|
|
|
#填报结果
|
|
#填报结果
|
|
|
results = cm.MessageSurveyResult.objects.filter(message_id=message_id)
|
|
results = cm.MessageSurveyResult.objects.filter(message_id=message_id)
|
|
|
for wd in widgets:
|
|
for wd in widgets:
|
|
@@ -1271,9 +1306,10 @@ def download_survey_result_out(request):
|
|
|
_type = qdata.get("type")
|
|
_type = qdata.get("type")
|
|
|
|
|
|
|
|
message = cm.Message.objects.filter(id=message_id).first()
|
|
message = cm.Message.objects.filter(id=message_id).first()
|
|
|
- template_id = message.template_id
|
|
|
|
|
- template = cm.Template.objects.filter(id=template_id).first()
|
|
|
|
|
- widgets = json.loads(template.widget) if template.widget else []
|
|
|
|
|
|
|
+ #template_id = message.template_id
|
|
|
|
|
+ #template = cm.Template.objects.filter(id=template_id).first()
|
|
|
|
|
+ #widgets = json.loads(template.widget) if template.widget else []
|
|
|
|
|
+ widgets = json.loads(message.widget) if message.widget else []
|
|
|
headers = [x["label"] for x in widgets]
|
|
headers = [x["label"] for x in widgets]
|
|
|
msrset = cm.MessageSurveyResult.objects.filter(message_id=message_id)
|
|
msrset = cm.MessageSurveyResult.objects.filter(message_id=message_id)
|
|
|
msrdata = list(msrset.values())
|
|
msrdata = list(msrset.values())
|
|
@@ -1304,9 +1340,10 @@ def download_survey_result_all(request):
|
|
|
_type = qdata.get("type")
|
|
_type = qdata.get("type")
|
|
|
|
|
|
|
|
message = cm.Message.objects.filter(id=message_id).first()
|
|
message = cm.Message.objects.filter(id=message_id).first()
|
|
|
- template_id = message.template_id
|
|
|
|
|
- template = cm.Template.objects.filter(id=template_id).first()
|
|
|
|
|
- widgets = json.loads(template.widget) if template.widget else []
|
|
|
|
|
|
|
+ #template_id = message.template_id
|
|
|
|
|
+ #template = cm.Template.objects.filter(id=template_id).first()
|
|
|
|
|
+ #widgets = json.loads(template.widget) if template.widget else []
|
|
|
|
|
+ widgets = json.loads(message.widget) if message.widget else []
|
|
|
headers = [x["label"] for x in widgets]
|
|
headers = [x["label"] for x in widgets]
|
|
|
msrset = cm.MessageSurveyResult.objects.filter(message_id=message_id)
|
|
msrset = cm.MessageSurveyResult.objects.filter(message_id=message_id)
|
|
|
msrdata = list(msrset.values())
|
|
msrdata = list(msrset.values())
|
|
@@ -1352,9 +1389,10 @@ def download_survey_result_item(request):
|
|
|
item = qdata.get("item")
|
|
item = qdata.get("item")
|
|
|
|
|
|
|
|
message = cm.Message.objects.filter(id=message_id).first()
|
|
message = cm.Message.objects.filter(id=message_id).first()
|
|
|
- template_id = message.template_id
|
|
|
|
|
- template = cm.Template.objects.filter(id=template_id).first()
|
|
|
|
|
- widgets = json.loads(template.widget) if template.widget else []
|
|
|
|
|
|
|
+ #template_id = message.template_id
|
|
|
|
|
+ #template = cm.Template.objects.filter(id=template_id).first()
|
|
|
|
|
+ #widgets = json.loads(template.widget) if template.widget else []
|
|
|
|
|
+ widgets = json.loads(message.widget) if message.widget else []
|
|
|
if item:
|
|
if item:
|
|
|
widgets = filter(lambda x:x["label"]==item,widgets)
|
|
widgets = filter(lambda x:x["label"]==item,widgets)
|
|
|
headers = [x["label"] for x in widgets]
|
|
headers = [x["label"] for x in widgets]
|
|
@@ -1484,7 +1522,8 @@ def get_message_out_info(**kwargs):
|
|
|
data = list(cm.Message.objects.filter(id=id).values())
|
|
data = list(cm.Message.objects.filter(id=id).values())
|
|
|
rst = data[0] if data else {}
|
|
rst = data[0] if data else {}
|
|
|
if rst.get("template_id"):
|
|
if rst.get("template_id"):
|
|
|
- tpl = cm.Template.objects.filter(id=rst.get("template_id")).values()
|
|
|
|
|
- tpl = tpl[0] if tpl else {}
|
|
|
|
|
- rst["widget"] = json.loads(tpl["widget"]) if tpl else []
|
|
|
|
|
|
|
+ #tpl = cm.Template.objects.filter(id=rst.get("template_id")).values()
|
|
|
|
|
+ #tpl = tpl[0] if tpl else {}
|
|
|
|
|
+ #rst["widget"] = json.loads(tpl["widget"]) if tpl else []
|
|
|
|
|
+ rst["widget"] = json.loads(rst["widget"]) if rst["widget"] else []
|
|
|
return rst
|
|
return rst
|