def setConsultsResult(consutsDict, userId=0): if consutsDict is None: return for consutDict in consutsDict: type = consutDict.get('type') if type == 1: if consutDict.get('doctorId'): doctor = Doctor.getById(consutDict.get('doctorId')) if doctor: consutDict['doctorName'] = doctor.username consutDict['doctorTitle'] = doctor.title if hasattr( doctor, 'user') and doctor.user and doctor.user.imagePath: consutDict['avartarUrl'] = doctor.user.imagePath consutDict["statusText"] = getStatusText( consutDict.get("status"), UserRole.checkRole(db_session, userId, constant.RoleId.Doctor)) if type == 0: if consutDict.get('userId'): user = User.getById(consutDict.get('userId')) if user: consutDict['userName'] = user.name consutDict['avartarUrl'] = user.imagePath consutDict["statusText"] = getStatusText( consutDict.get("status"), UserRole.checkRole(db_session, userId, constant.RoleId.Doctor)) consutDict['amount'] = consutDict.get('count')
def generatorPdf(diagnoseId): diagnose=Diagnose.getDiagnoseById(diagnoseId) if session.has_key('userId'): userId=session['userId'] if userId is None: return redirect('/loginPage') resHtml = None if UserRole.checkRole(db_session,userId,constant.RoleId.Patient) and Patient.is_patient_under_user(int(userId),diagnose.patientId): resHtml = renderHtmlFromDiagnose(diagnose) if UserRole.checkRole(db_session,userId,constant.RoleId.Admin) and (int(userId) == diagnose.adminId): resHtml = renderHtmlFromDiagnose(diagnose) if UserRole.checkRole(db_session,userId,constant.RoleId.Doctor) and (int(userId) == diagnose.doctorId): resHtml = renderHtmlFromDiagnose(diagnose) if UserRole.checkRole(db_session,userId,constant.RoleId.HospitalUser) and (int(userId) == diagnose.uploadUserId): resHtml = renderHtmlFromDiagnose(diagnose) if resHtml: return resHtml else: return redirect('/error')
def setConsultsResult(consutsDict, userId=0): if consutsDict is None: return for consutDict in consutsDict: type=consutDict.get('type') if type==1: if consutDict.get('doctorId'): doctor=Doctor.getById(consutDict.get('doctorId')) if doctor: consutDict['doctorName']=doctor.username consutDict['doctorTitle']=doctor.title if hasattr(doctor,'user') and doctor.user and doctor.user.imagePath: consutDict['avartarUrl']= doctor.user.imagePath consutDict["statusText"] = getStatusText(consutDict.get("status"), UserRole.checkRole(db_session,userId,constant.RoleId.Doctor)) if type==0: if consutDict.get('userId'): user=User.getById(consutDict.get('userId')) if user: consutDict['userName']=user.name consutDict['avartarUrl']=user.imagePath consutDict["statusText"] = getStatusText(consutDict.get("status"), UserRole.checkRole(db_session,userId,constant.RoleId.Doctor)) consutDict['amount']=consutDict.get('count')
def homepage(): resultData = {} pager = Pagger(1, 6) doctors = Doctor.get_doctor_list(0, 0, "", pager) doctorsList = dataChangeService.get_doctors_dict(doctors) resultData['doctorlist'] = doctorsList if len(doctorsList['doctor']) > 0: resultData['doctor'] = doctorsList['doctor'][0] diagnoseComments = Comment.getRecentComments() if diagnoseComments and len(diagnoseComments) > 0: diagnoseCommentsDict = object2dict.objects2dicts_2(diagnoseComments) dataChangeService.setDiagnoseCommentsDetailInfo(diagnoseCommentsDict) resultData['comments'] = diagnoseCommentsDict else: resultData['comments'] = None resultData['ishomepage'] = True if session.has_key('userId'): userId = session['userId'] messageCount = Message.getMessageCountByReceiver(userId) resultData['messageCount'] = messageCount if UserRole.checkRole(db_session, userId, constant.RoleId.Patient): resultData['isPatient'] = True return render_template("home.html", data=resultData)
def addOrUpdateReport(): userId=session['userId'] user=User.getById(userId) if user is None : return json.dumps(rs.NO_DATA.__dict__,ensure_ascii=False) #权限查看 if UserRole.checkRole(db_session,userId,constant.RoleId.Admin) == False: return json.dumps(rs.PERMISSION_DENY.__dict__,ensure_ascii=False) form = ReportForm(request.form) formResult=form.validate() if formResult.status==rs.SUCCESS.status: diagnose=Diagnose.getDiagnoseById(form.diagnoseId) if diagnose is None: return json.dumps(rs.NO_DATA.__dict__,ensure_ascii=False) #session['remember_me'] = form.remember_me.data # login and validate the user... report = None if form.reportId: report=Report.getReportById(form.reportId) if report.type==constant.ReportType.Doctor: return json.dumps(rs.PERMISSION_DENY.__dict__,ensure_ascii=False) Report.update(form.reportId,None,form.status,None,form.techDesc,form.imageDesc,form.diagnoseDesc) else: report=Report(form.techDesc,form.imageDesc,form.diagnoseDesc,form.fileUrl,ReportType.Admin,form.status) Report.save(report) diagnose.reportId=report.id Diagnose.save(diagnose) #flash('成功添加诊断评论') if form.status and form.status == constant.ReportStatus.Commited: diagnose=Diagnose.getDiagnoseById(form.diagnoseId) if diagnose: Diagnose.changeDiagnoseStatus(diagnose.id,constant.DiagnoseStatus.NeedDiagnose) if form.reportId is None and report: form.reportId = report.id Report.update(form.reportId,constant.ReportType.Doctor,status=constant.ReportStatus.Draft) if diagnose and hasattr(diagnose,'doctor'): doctor=diagnose.doctor if doctor and doctor.userId: content=dataChangeService.getDoctorNeedDiagnoseMessageContent(diagnose,doctor) #诊断通知 message=Message(constant.DefaultSystemAdminUserId,doctor.userId,'诊断通知',content,constant.MessageType.Diagnose) Message.save(message) #诊断日志 diagoseLog=DiagnoseLog(userId,form.diagnoseId,constant.DiagnoseLogAction.FetchDiagnoseEndAction) DiagnoseLog.save(db_session,diagoseLog) return json.dumps(formResult.__dict__,ensure_ascii=False) return json.dumps(formResult.__dict__,ensure_ascii=False)
def generatorPdf(diagnoseId): diagnose = Diagnose.getDiagnoseById(diagnoseId) if session.has_key('userId'): userId = session['userId'] if userId is None: return redirect('/loginPage') resHtml = None if UserRole.checkRole( db_session, userId, constant.RoleId.Patient) and Patient.is_patient_under_user( int(userId), diagnose.patientId): resHtml = renderHtmlFromDiagnose(diagnose) if UserRole.checkRole(db_session, userId, constant.RoleId.Admin) and (int(userId) == diagnose.adminId): resHtml = renderHtmlFromDiagnose(diagnose) if UserRole.checkRole(db_session, userId, constant.RoleId.Doctor) and (int(userId) == diagnose.doctorId): resHtml = renderHtmlFromDiagnose(diagnose) if UserRole.checkRole( db_session, userId, constant.RoleId.HospitalUser) and (int(userId) == diagnose.uploadUserId): resHtml = renderHtmlFromDiagnose(diagnose) if resHtml: return resHtml else: return redirect('/error')
def adminPage_wrapper(*args, **kwargs): userId = session.get('userId') if userId is None: return redirect(NO_LOGIN_URL) # if isinstance(userId,basestring): # userId=string.atoi(userId) elif self.role and UserRole.checkRole(db_session,userId,self.role): return method(*args, **kwargs) #there have some bug needs to be fixed # elif self.role !=None and userinfo and int(userinfo['cross_share_grade']) == self.role: # return method(_self, *args, **kwargs) else: return redirect(PERMISSION_DENY_URL)
def admin_wrapper(*args, **kwargs): userId = session.get('userId') if userId is None: return json.dumps(result_status.NO_LOGIN.__dict__,ensure_ascii=False) # if isinstance(userId,basestring): # userId=string.atoi(userId) elif self.role and UserRole.checkRole(db_session,userId,self.role): return method(*args, **kwargs) #there have some bug needs to be fixed # elif self.role !=None and userinfo and int(userinfo['cross_share_grade']) == self.role: # return method(_self, *args, **kwargs) else: return json.dumps(result_status.PERMISSION_DENY.__dict__,ensure_ascii=False)
def addOrUpdateReport(): userId = session['userId'] user = User.getById(userId) if user is None: return json.dumps(rs.NO_DATA.__dict__, ensure_ascii=False) #权限查看 if UserRole.checkRole(db_session, userId, constant.RoleId.Admin) == False: return json.dumps(rs.PERMISSION_DENY.__dict__, ensure_ascii=False) form = ReportForm(request.form) formResult = form.validate() if formResult.status == rs.SUCCESS.status: diagnose = Diagnose.getDiagnoseById(form.diagnoseId) if diagnose is None: return json.dumps(rs.NO_DATA.__dict__, ensure_ascii=False) #session['remember_me'] = form.remember_me.data # login and validate the user... report = None if form.reportId: report = Report.getReportById(form.reportId) if report.type == constant.ReportType.Doctor: return json.dumps(rs.PERMISSION_DENY.__dict__, ensure_ascii=False) Report.update(form.reportId, None, form.status, None, form.techDesc, form.imageDesc, form.diagnoseDesc) else: report = Report(form.techDesc, form.imageDesc, form.diagnoseDesc, form.fileUrl, ReportType.Admin, form.status) Report.save(report) diagnose.reportId = report.id Diagnose.save(diagnose) #add report and diagnose to relation table reportDiagnoseRelation = ReportDiagnoseRelation( report.id, diagnose.id) ReportDiagnoseRelation.save(reportDiagnoseRelation) #flash('成功添加诊断评论') if form.status and form.status == constant.ReportStatus.Commited: diagnose = Diagnose.getDiagnoseById(form.diagnoseId) if diagnose: Diagnose.changeDiagnoseStatus( diagnose.id, constant.DiagnoseStatus.NeedDiagnose) if form.reportId is None and report: form.reportId = report.id #copy a report and add to relation table newReport = Report(form.techDesc, form.imageDesc, form.diagnoseDesc, form.fileUrl, ReportType.Doctor, constant.ReportStatus.Draft) Report.save(newReport) reportDiagnoseRelation = ReportDiagnoseRelation( newReport.id, diagnose.id) ReportDiagnoseRelation.save(reportDiagnoseRelation) diagnose.reportId = newReport.id Diagnose.save(diagnose) #end copy if diagnose and hasattr(diagnose, 'doctor'): doctor = diagnose.doctor if doctor and doctor.userId: content = dataChangeService.getDoctorNeedDiagnoseMessageContent( diagnose, doctor) #诊断通知 message = Message(constant.DefaultSystemAdminUserId, doctor.userId, '诊断通知', content, constant.MessageType.Diagnose) Message.save(message) #诊断日志 diagoseLog = DiagnoseLog( userId, form.diagnoseId, constant.DiagnoseLogAction.FetchDiagnoseEndAction) DiagnoseLog.save(db_session, diagoseLog) return json.dumps(formResult.__dict__, ensure_ascii=False) return json.dumps(formResult.__dict__, ensure_ascii=False)