예제 #1
0
 def delete(self, id):
     q = Questions.get(id=id)
     if q:
         if q.teacher:
             q.teacher = q.teacher.__dict__
         r = q.__dict__
         q.delete()
         return r, 200
예제 #2
0
 def get(self, id):
     q = Questions.get(id=id)
     if q:
         if q.teacher:
             q.teacher = q.teacher.__dict__
             q.teacher['full_name'] = '{} {}'.format(
                 q.teacher['name'], q.teacher['surname'])
         return q.__dict__
     return {}, 404
예제 #3
0
파일: referer.py 프로젝트: XinMa1/work
    def answnerAdd(self):
        inputParams = self.getInput()
        qID = inputParams['question']
        question = Questions.get(Questions.id == qID)
        
        current_user = Users.get(Users.name == self.isLogin())
        if not self.isAdmin() or question.group.owner != current_user:
            return self.error(msg = '权限不足!', url=self.makeUrl('/admin/questions/list'))
        
        self.privData['QUESTION'] = question

        return self.display('answnerAdd')
예제 #4
0
 def put(self, id):
     args = self.parser.parse_args()
     q = Questions.get(id=id)
     if q and args:
         if args.get('teacher'):
             t = Users.get(email=args.get('teacher', {}).get('email'))
             args['teacher'] = t.id
             if not t:
                 args['teacher'] = None
         q.update(**args)
         return q.__dict__
     return {}, 404
예제 #5
0
파일: referer.py 프로젝트: XinMa1/work
 def question_details(self):
     inputs = self.getInput()
     try:
         #import pdb;pdb.set_trace()
         question = Questions.get(Questions.id == inputs['id'])
         self.privData['QUESTION_DETAIL'] =question
         albumList = Albums.select().where(Albums.question ==inputs['id'])
         self.privData['ALUBUM'] =albumList
         answersList=Answers.select().where(Answers.question ==inputs['id'])
         self.privData['ANSWERS_LIST'] =answersList
         return self.display('question-details')
     except Exception, e:
         return self.error(msg='获取问题详情失败!')
예제 #6
0
파일: referer.py 프로젝트: XinMa1/work
 def answners(self):
     inputParams = self.getInput()
     qID = inputParams['id']
     page = int(inputParams['page']) if inputParams.has_key('page') else 1
     count = config.COUNT_PER_PAGE
     question = Questions.get(Questions.id == qID)
     answnersList = Answners.select().where(Answners.question == qID)
     answnersList = answnersList.order_by(Answners.id.desc())
     pageString = self.getPageStr(self.makeUrl('/admin/answners/list', {'id': qID}), page, count, answnersList.count()) 
     self.privData['ANSWNERS_LIST'] = answnersList.paginate(page, count)
     self.privData['PAGE_STRING'] = pageString
     self.privData['QUESTION'] = question
     return self.display('answnersList')
예제 #7
0
파일: referer.py 프로젝트: XinMa1/work
 def answnersSearch(self):
     inputParams = self.getInput()
     keywords = inputParams['keywords'].strip().lower() if inputParams.has_key('keywords') else ''
     page = int(inputParams['page']) if inputParams.has_key('page') else 1
     qID = int(inputParams['qid'])
     count = config.COUNT_PER_PAGE
     question = Questions.get(Questions.id == qID)
     answnersList = Answners.select().where(Answners.question == qID and Answners.content.contains(keywords))
     answnersList = answnersList.order_by(Answners.id.desc())
     pageString = self.getPageStr(self.makeUrl('/admin/questions/answners', {'id': qID}), page, count, answnersList.count())
     self.privData['ANSWNERS_LIST'] = answnersList.paginate(page, count)
     self.privData['PAGE_STRING'] = pageString
     self.privData['QUESTION'] = question
     return self.display('answnersList')
예제 #8
0
파일: referer.py 프로젝트: XinMa1/work
    def answnerSave(self):
        userInput = self.getInput()
        try:
            qID = int(userInput['question'])
            question = Questions.get(Questions.id == qID)
            current_user = Users.get(Users.name == self.isLogin())
            if not self.isAdmin() or question.group.owner != current_user:
                return self.error(msg = '权限不足!', url=self.makeUrl('/admin/questions/answners', {'id': qID}))

            Answners.create(
                question = question,
                owner = current_user,
                content = userInput['content']
            )

        except Exception, e:
            return self.error(msg = '新增回答失败: %s' % e, url=self.makeUrl('/admin/questions/list'))
예제 #9
0
파일: referer.py 프로젝트: XinMa1/work
 def detail(self):
     inputParams = self.getInput()
     qID = inputParams['id']
     question = Questions.get(Questions.id == qID)
     self.privData['QUESTION'] = question
     return self.display('questionDetail')