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
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
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')
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
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='获取问题详情失败!')
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')
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')
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'))
def detail(self): inputParams = self.getInput() qID = inputParams['id'] question = Questions.get(Questions.id == qID) self.privData['QUESTION'] = question return self.display('questionDetail')