Exemple #1
0
def into_collection(req):
    if req.COOKIES.has_key('userid'):
        userid = req.COOKIES['userid'] 
        content = ('进入错题集').decode('utf-8')
        ADao = activityDao({"userid":userid})
        ADao.add_a_activity(content)
        return render_to_response('collection.html',RequestContext(req))
    return render_to_response('login.html',RequestContext(req))
Exemple #2
0
def into_title(req):
    if req.COOKIES.has_key("userid"):
        userid = req.COOKIES["userid"]
        content = ("进入刷题宝典").decode("utf-8")
        ADao = activityDao({"userid": userid})
        ADao.add_a_activity(content)
        return render_to_response("title.html", RequestContext(req))
    return render_to_response("login.html", RequestContext(req))
Exemple #3
0
def upload_resources(req):
    if req.COOKIES.has_key('userid'):
        file = req.FILES['uploadedfile']  # @ReservedAssignment
        points = req.POST['points']
        filename = req.POST['filename'].encode('utf-8')
        if file:
            userid = req.COOKIES['userid'].decode('utf-8').encode('utf-8')
            uploadFile({'userid':userid,'file':file,'filename':filename,'points':points})
            content = ' 上传资源:' + filename 
            ADao = activityDao({"userid":userid})
            ADao.add_a_activity(content.decode('utf-8'))
            return HttpResponse(json.dumps({'tips':'上传成功'}),content_type="application/json")  
    return HttpResponse(json.dumps({'tips':'上传失败or未登录'}),content_type="application/json") 
Exemple #4
0
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")
Exemple #5
0
def download_resources(req):
    if req.COOKIES.has_key('userid'):
        resourceID = int(req.GET.get('rs'))
        downloader = req.COOKIES['userid']
        dao = Source.objects.get(id=resourceID)
        downloadPoint = dao.points
        uploader = dao.userid
#         downloadPoint = int(req.POST["points"])
#         uploader = int(req.POST["uploader"])
#         resourceID = int(req.POST["resourceID"])
        if User.objects.filter(id=downloader,points__gte=downloadPoint):
            dao = userDao({'userid':downloader})
            dao.update_point_byReq({'method':'-','points':downloadPoint})
            dao.save_update() 
            dao = userDao({'us':uploader})
            dao.update_point_byReq({'method':'+','points':downloadPoint})
            dao.save_update()
            dao = rsUpdateDao(rsid=resourceID)
            count = dao.update_content()
            dao.update_save()
            content = (' 下载资源: ').decode("utf-8") + dao.rs.download
            downloadPath = settings.MEDIA_ROOT+dao.rs.download  
            ADao = activityDao({"userid":downloader})
            ADao.add_a_activity(content)
            
            def file_iterator(file_name, chunk_size=512):
                with open(file_name) as f:
                    while True:
                        c = f.read(chunk_size)
                        if c:
                            yield c
                        else:
                            break
            
            response = StreamingHttpResponse(file_iterator(downloadPath))
            response['Content-Type'] = 'application/octet-stream'
            response['Content-Disposition'] = 'attachment;filename="{0}"'.format(dao.rs.download) #默认文件名
            return response
#             return HttpResponse(json.dumps({'resourceID':resourceID,"count":count,'dURL':downloadURL}),content_type="application/json")
        return  HttpResponse('积分不足')
    return  HttpResponse('请先登录')
Exemple #6
0
def publish_title(req):
    if req.method == "POST" and req.COOKIES.has_key("userid"):
        method = str(req.GET.get("p"))
        userid = req.COOKIES["userid"]
        if method == "input":
            jsonReq = simplejson.loads(req.body)
            ED = exerciseDao({"userid": userid})
            for v in jsonReq:
                ED.insert_a_title(v)
            content = ("发布了题目").decode("utf-8")
            ADao = activityDao({"userid": userid})
            ADao.add_a_activity(content)
            return HttpResponse(json.dumps({"tips": "添加成功"}), content_type="application/json")
        elif method == "upload":
            if not exerciseDao({"userid": userid}).if_excel():
                file = req.FILES["uploadedfile"]  # @ReservedAssignment
                filename = req.POST["filename"].encode("utf-8")
                if file:
                    tips = fileCon({"filename": filename, "file": file, "userid": userid})
            else:
                tips = "今天已上传了excel"
            return HttpResponse(json.dumps({"tips": tips}), content_type="application/json")
    return HttpResponse(json.dumps({"tips": "添加失败"}), content_type="application/json")