def select_resources(page, us=None): q = """select * from source order by content desc;""" # s = Source.objects.order_by("-content")[(page-1)*ONE_PAGE_NUM:page*ONE_PAGE_NUM] s = Source.objects.raw(q)[(page - 1) * ONE_PAGE_NUM : page * ONE_PAGE_NUM] rsp = [] for v in s: content = {} content["id"] = v.id content["uploader"] = v.userid.id content["downloaded"] = v.content content["money"] = v.points content["downloader"] = v.download if us: from complaint.dao import complaintDao dao = complaintDao({"userid": us, "rsid": v.id}) content["complaint"] = dao.is_complaint_byRS() q = (dao.us.username + (" 下载资源: ").decode("utf-8") + v.download).encode("utf-8") # w = "warmer 下载资源: test.py" content["dw"] = is_activity(q) # content['dw'] = q rsp.append(content) return rsp
def add(req): if req.method=='POST' and req.COOKIES.has_key('userid'): jsonReq = simplejson.loads(req.body) rq = {} userid = req.COOKIES['userid'] actDao = activityDao({"userid":userid}) if jsonReq.has_key('titleid'): titleid = jsonReq['titleid'] dao = complaintDao({'userid':userid,'titleid':titleid}) if dao.is_complaint_byEX(): return HttpResponse(json.dumps({'tips':'你已经投诉过了'}), content_type="application/json") activities = " complaints for the title published by "+dao.us.username elif jsonReq.has_key('authorid'): authorid = jsonReq['authorid'] dao = complaintDao({'userid':userid,'authorid':authorid}) if dao.is_complaint_byAU(): return HttpResponse(json.dumps({'tips':'你已经投诉过了'}), content_type="application/json") activities = " complaints for "+dao.au.username elif jsonReq.has_key('topicid'): topicid = jsonReq['topicid'] dao = complaintDao({'userid':userid,'topicid':topicid}) if dao.is_complaint_byTP(): return HttpResponse(json.dumps({'tips':'你已经投诉过了'}), content_type="application/json") activities = " complaints for "+dao.tp.name elif jsonReq.has_key('opinionid'): opinionid = jsonReq['opinionid'] dao = complaintDao({'userid':userid,'opinionid':opinionid}) if dao.is_complaint_byOP(): return HttpResponse(json.dumps({'tips':'你已经投诉过了'}), content_type="application/json") opdao = dao.op activities = " complaints for an opinion published by "+opdao.userid.username+" on "+opdao.topicid.name elif jsonReq.has_key('rsid'): rsid = jsonReq['rsid'] dao = complaintDao({'userid':userid,'rsid':rsid}) q = (dao.us.username + (" 下载资源: ").decode("utf-8") + dao.rs.download).encode("utf-8") if not is_activity(q): return HttpResponse(json.dumps({'tips':'假如你没有下载这份资源,你怎么知道资源的内容违反礼仪?'}), content_type="application/json") else: if dao.is_complaint_byRS(): return HttpResponse(json.dumps({'tips':'你已经投诉过了'}), content_type="application/json") rsdao = dao.rs # activities = " complaints for a resource " + rsdao.download + " uploaded by "+ rsdao.userid.username activities = '对' + rsdao.userid.username + '发布的资源:' + rsdao.download + '进行投诉' rq['content'] = jsonReq['content'] actDao.add_a_activity(activities) return HttpResponse(json.dumps({'tips':dao.insert_a_complaint(rq,'+')}), content_type="application/json") return HttpResponse(json.dumps({'tips':'请求格式不正确or未登录'}), content_type="application/json")
def get_myComplaint(req): if req.COOKIES.has_key("userid"): userid = req.COOKIES["userid"] p = int(req.GET.get('p')) # cur = p # rs = {} # if p==0: # cur = 1 # cn = select_Ccomplaint() # rs['numT'] = cn # rs['result'] = complaintDao({'authorid':userid}).select_complaint_byAU(cur) return HttpResponse(json.dumps(complaintDao({'authorid':userid}).select_complaint_byAU(p)), content_type="application/json") return HttpResponse(json.dumps({'tips':'未登录'}), content_type="application/json")
def read_a_title(userid,req=1): e = Exercise.objects.filter(state='NORMAL')[int(req)-1 : req] rsp = {} for v in e: rsp['id'] = v.id rsp['title'] = v.title rsp['state'] = v.state rsp['author'] = v.userid.username rsp['authorid'] = v.userid.id rsp['answer'] = v.answer rsp['contribute'] = v.points rsp['complaint'] = complaintDao({'titleid':v.id, 'userid':userid}).is_complaint_byEX() return rsp
def select_topic(self, us=None): rsp = {} if self.bbs.state=='NORMAL': rsp["id"] = self.bbs.id rsp["topic"] = self.bbs.name rsp["content"] = self.bbs.content rsp["author"] = self.bbs.userid.username rsp["authorid"] = self.bbs.userid.id rsp["head"] = '/static/img/'+self.bbs.userid.head rsp["creatTime"] = timezone.localtime(self.bbs.time).strftime('%Y-%m-%d %H:%M:%S') rsp["replayTime"] = self.bbs.replytime from complaint.dao import complaintDao rsp['complaint'] = complaintDao({'topicid':rsp["id"], 'userid':us}).is_complaint_byTP() return rsp
def select_opinions_byBBS(self,page,us=None): rsp = [] if self.bbs.state=='NORMAL': dao = Opinion.objects.filter(topicid=self.bbs,state='NORMAL')[(page-1)*ONE_PAGE_NUM:page*ONE_PAGE_NUM] for v in dao: value = {} value["id"] = v.id value["name"] = v.userid.username value["authorid"] = v.userid.id value["head"] = '/static/img/'+v.userid.head value["content"] = v.opinion value["time"] = timezone.localtime(v.time).strftime('%Y-%m-%d %H:%M:%S') from complaint.dao import complaintDao value['complaint'] = complaintDao({'opinionid':v.id, 'userid':us}).is_complaint_byOP() rsp.append(value) return rsp
def cancel(req): if req.method=='POST' and req.COOKIES.has_key('userid'): jsonReq = simplejson.loads(req.body) userid = req.COOKIES['userid'] if jsonReq.has_key('titleid'): dao = complaintDao({'userid':userid,'titleid': jsonReq['titleid']}) dao.update_a_complaint(key='state',method='-') elif jsonReq.has_key('authorid'): dao = complaintDao({'userid':userid, 'authorid': jsonReq['authorid']}) dao.update_a_complaint('state','-') elif jsonReq.has_key('topicid'): dao = complaintDao({'userid':userid, 'topicid': jsonReq['topicid']}) dao.update_a_complaint('state','-') elif jsonReq.has_key('rsid'): dao = complaintDao({'userid':userid, 'rsid': jsonReq['rsid']}) dao.update_a_complaint('state','-') elif jsonReq.has_key('opinionid'): dao = complaintDao({'userid':userid, 'opinionid': jsonReq['opinionid']}) dao.update_a_complaint('state','-') elif jsonReq.has_key('authorid'): dao = complaintDao({'userid':userid, 'authorid': jsonReq['authorid']}) dao.update_a_complaint('state','-') return HttpResponse(json.dumps({}), content_type="application/json") return HttpResponse(json.dumps({'tips':'请求格式不正确'}), content_type="application/json")