Esempio n. 1
0
def submit_question(**kwargs):
    question=Question(**kwargs)
    question_id=get_next_question_id()
    question.id=question_id
    question.addtime=datetime.now()
    load_question_by_question(question)
    return question_id
Esempio n. 2
0
def submit_question(**kwargs):
    question = Question(**kwargs)
    question_id = get_next_question_id()
    question.id = question_id
    question.addtime = datetime.now()
    load_question_by_question(question)
    return question_id
Esempio n. 3
0
def question_modify(request, quest_id, question_id=None, template='quest/question_modify.html'):
    quest = get_object_or_404(Questionnaire, pk=quest_id, owner=request.user)
    if question_id is None:
        question = Question()
    else:
        question = get_object_or_404(Question, pk=question_id)

    if request.method == 'POST':
        form = QuestionForm(request.POST, instance=question)
        formset = ChoiceFormSet(request.POST, instance=question)
        if form.is_valid() and formset.is_valid():
            if question_id is None:
                question = form.save()
                question.questionnaire = quest
                question.save()
            else:
                form.save()
            formset.save()
            if 'action:save' in request.POST:
                return redirect("quest.views.questionnaire_modify", quest_id=quest.pk)
            else:
                return redirect("quest.views.question_modify", quest_id=quest.pk, question_id=question.pk)
    else:
        form = QuestionForm(instance=question)
        formset = ChoiceFormSet(instance=question)

    context = RequestContext(request)
    return render_to_response(template, 
            {'form': form, 'formset': formset, 'quest': quest}, context_instance=context)
Esempio n. 4
0
def submit_question(request):
    try:
        if request.method == "POST":
            question = Question()
            title = request.POST["title"]
            content = request.POST["content"]
            category = request.POST["category"]
            user = request.user
            addtime = datetime.now()
            if content and title:
                question_id = add_question_to_redis(user=request.user,
                                                    content=content,
                                                    title=title,
                                                    category=category,
                                                    addtime=addtime)
                question = Question.questionobjects.create(id=question_id,
                                                           user=request.user,
                                                           content=content,
                                                           title=title,
                                                           category=category,
                                                           addtime=addtime)
                return HttpResponse(str(question.id))
            else:
                return HttpResponse(u"内容不能为空")
    except Exception, e:
        return HttpResponse(u'error')
Esempio n. 5
0
def get_question_from_redis(question_id):
    field = ["id", "title", "content", "answercount", "addtime", "user_id"]
    if not question_client.exists(QUESTION_PRFIX + str(question_id)):
        return load_question_by_id(question_id)
    else:
        question_dict = question_client.hmget(
            QUESTION_PRFIX + str(question_id), field)
        question=Question(id=question_dict[0],title=question_dict[1].decode("utf-8"),content=question_dict[2].decode("utf-8"),answercount=int(question_dict[3]),\
                addtime=get_datetime(question_dict[4]),user=get_user_by_id(int(question_dict[5])))
        return question
Esempio n. 6
0
 def form_valid(self, form):
     action = self.request.POST.get('action')
     if action == 'SAVE':
         return super().form_valid(form)
     elif action == 'PREVIEW':
         preview = Question(title=form.cleaned_data['title'],
                            question=form.cleaned_data['question'])
         ctx = self.get_context_data(preview=preview)
         return self.render_to_response(ctx)
     return HttpResponseBadRequest()
Esempio n. 7
0
 def get_activity_list(self,userid,**kwargs):
     """获取好友最新动态 使用了存储过程 目前动态有0、1、2、3四类 分别代表 提问、回答问题、关注问题、赞或反对问题 """
     activity_list=[]
     question_submit_count=0
     answer_count=0
     page=kwargs.pop('page',1)
     pagecount=kwargs.pop('pagecount',15)
     cursor=connection.cursor()
     cursor.callproc("sp_friendactiviy",(userid,(page-1)*15,pagecount))
     for row in cursor.fetchall():
         #import pdb;pdb.set_trace()
         if row[0]==0:
             question=Question(id=row[13],title=row[14])
             user=User(id=row[15],name=row[16],surname=row[17],avatar=row[18])
             question.user=user
             activity_list.append({'activitytype':row[0],'addtime':row[1],"data":question,"fuser":User(id=row[20],name=row[21],\
                     surname=row[22],avatar=row[23])})
             question_submit_count+=1
         elif row[0]==1:
             answer=Answer(id=row[3],content=row[4],addtime=row[5],commentcount=row[6],favorcount=row[7],opposecount=row[8])
             answer.user=User(id=row[9],name=row[10],surname=row[11],avatar=row[12])
             answer.question=Question(id=row[13],title=row[14],user=User(id=row[15],name=row[16],surname=row[17],avatar=row[18])) 
             activity_list.append({'activitytype':row[0],'addtime':row[1],"data":answer,"fuser":User(id=row[20],name=row[21],\
                     surname=row[22],avatar=row[23])})
             answer_count +=1
         elif row[0]==2:
             follow=QustionFollow(id=row[19])
             question=Question(id=row[13],title=row[14])
             user=User(id=row[15],name=row[16],surname=row[17],avatar=row[18])
             question.user=user
             follow.question=question
             activity_list.append({'activitytype':row[0],'addtime':row[1],"data":follow,"fuser":User(id=row[20],name=row[21],\
                     surname=row[22],avatar=row[23])})
         elif row[0]==3:
             evalue=AnswerEvaluation(status=row[2])
             answer=Answer(id=row[3],content=row[4],addtime=row[5],commentcount=row[6],favorcount=row[7],opposecount=row[8])
             answer.user=User(id=row[9],name=row[10],surname=row[11],avatar=row[12])
             answer.question=Question(id=row[13],title=row[14],user=User(id=row[15],name=row[16],surname=row[17],avatar=row[18]))
             evalue.answer=answer
             activity_list.append({'activitytype':row[0],'addtime':row[1],"data":evalue,"fuser":User(id=row[20],name=row[21],\
                     surname=row[22],avatar=row[23])})
     return {"activity_list":activity_list,"statistics":{"submit_question":question_submit_count,"answer":answer_count}}
Esempio n. 8
0
 def get_activity_list(self,userid,**kwargs):
     """获取好友最新动态 使用了存储过程 目前动态有0、1、2、3四类 分别代表 提问、回答问题、关注问题、赞或反对问题 """
     activity_list=[]
     question_submit_count=0
     answer_count=0
     page=kwargs.pop('page',1)
     pagecount=kwargs.pop('pagecount',15)
     cursor=connection.cursor()
     cursor.callproc("sp_friendactiviy",(userid,(page-1)*15,pagecount))
     for row in cursor.fetchall():
         #import pdb;pdb.set_trace()
         if row[0]==0:
             question=Question(id=row[13],title=row[14])
             user=User(id=row[15],name=row[16],surname=row[17],avatar=row[18])
             question.user=user
             activity_list.append({'activitytype':row[0],'addtime':row[1],"data":question,"fuser":User(id=row[20],name=row[21],\
                     surname=row[22],avatar=row[23])})
             question_submit_count+=1
         elif row[0]==1:
             answer=Answer(id=row[3],content=row[4],addtime=row[5],commentcount=row[6],favorcount=row[7],opposecount=row[8])
             answer.user=User(id=row[9],name=row[10],surname=row[11],avatar=row[12])
             answer.question=Question(id=row[13],title=row[14],user=User(id=row[15],name=row[16],surname=row[17],avatar=row[18])) 
             activity_list.append({'activitytype':row[0],'addtime':row[1],"data":answer,"fuser":User(id=row[20],name=row[21],\
                     surname=row[22],avatar=row[23])})
             answer_count +=1
         elif row[0]==2:
             follow=QustionFollow(id=row[19])
             question=Question(id=row[13],title=row[14])
             user=User(id=row[15],name=row[16],surname=row[17],avatar=row[18])
             question.user=user
             follow.question=question
             activity_list.append({'activitytype':row[0],'addtime':row[1],"data":follow,"fuser":User(id=row[20],name=row[21],\
                     surname=row[22],avatar=row[23])})
         elif row[0]==3:
             evalue=AnswerEvaluation(status=row[2])
             answer=Answer(id=row[3],content=row[4],addtime=row[5],commentcount=row[6],favorcount=row[7],opposecount=row[8])
             answer.user=User(id=row[9],name=row[10],surname=row[11],avatar=row[12])
             answer.question=Question(id=row[13],title=row[14],user=User(id=row[15],name=row[16],surname=row[17],avatar=row[18]))
             evalue.answer=answer
             activity_list.append({'activitytype':row[0],'addtime':row[1],"data":evalue,"fuser":User(id=row[20],name=row[21],\
                     surname=row[22],avatar=row[23])})
     return {"activity_list":activity_list,"statistics":{"submit_question":question_submit_count,"answer":answer_count}}
Esempio n. 9
0
def submit_question(request):
    try:
        if request.method=="POST":
            question=Question()
            question.title=request.POST["title"]
            question.content=request.POST["content"]
            question.category=request.POST["category"]
            question.user=request.user
            if question.submit_question(request.user):
                return HttpResponse(str(question.id))
    except Exception,e:
        print e
        return HttpResponse()
Esempio n. 10
0
def insert_solr(solrtype, **kwargs):
    """对象序列化问题尚未解决 json or pickle 目前使用传递字典代替"""
    sleep(2)
    solr = None
    obj = None
    try:
        if solrtype == "answer":
            solr = AnswerSolr()
            obj = Answer(**kwargs)
            #obj=Answer(id=id,content=content,question_id=question_id,user_id=user_id)
        elif solrtype == "question":
            solr = QuestionSolr()
            obj = Question(**kwargs)
        elif solrtype == "user":
            solr = UserSolr()
            obj = User(**kwargs)
        solr.add(obj)
        return True
    except Exception, e:
        print e
        return e
Esempio n. 11
0
def add_submit(request):
    if request.POST:
        title = request.POST.get('testtitle')
        data = request.POST.get('data')
        enddate = int(request.POST.get('enddate'))
        jdat = json.loads(data)
        print json.dumps(jdat, sort_keys=True, indent=4, separators=(',', ':'))
        print title
        print enddate
        tobj = Test(
            name = title,
            creator=Teacher.objects.get(user=request.user),
            enddate=datetime.datetime.now() + datetime.timedelta(days=enddate)
        )
        tobj.save()
        for q in jdat:
            ques = Question(
                    qtype = str(q[u'type']),
                    header = str(q[u'title']),
                    )
            ques.save()
            print "so far"
            for opt in q[u'options']:
                aopt = AnswerOption(text=opt[u'html'])
                print "so far far"
                aopt.save()
                ques.choices.add(aopt)
            if u'correct' in q:
                print "Correct answer",q[u'correct'][u'html']
                right = AnswerOption(text=q[u'correct'][u'html'])
                right.save()
                ques.answer = right
            else:
                print "[WARNING] No Correct Answer"
            ques.save()
            tobj.questions.add(ques)
        tobj.save()
        
        
    return HttpResponse("")