Пример #1
0
 def post(self):
     handler_para = FeedbackPara(self)
     handler_json = FeedbackJson(self)
     usr = self.current_user
     cookie_code = self.get_vercode()
     token = handler_para['token']
     if not usr and (token is None or token.lower() != cookie_code):
         handler_json.by_status(1)
         handler_json.write()
         return  #code error
     if usr:
         handler_para['name'] = usr.name
         handler_para['email'] = usr.email
     if not handler_para['email'] or not is_email(handler_para['email']):
         handler_json.by_status(2)
         handler_json.write()
         return  #invalid email
     if len(handler_para['feedback']) < 15:
         handler_json.by_status(3)
         handler_json.write()
         return  #too short
     feedback_obj = Feedback()
     feedback_obj.set_by_info(handler_para.load_doc())
     tmp = recent_feedbacks.pop_head()
     recent_feedbacks.push(feedback_obj._id)
     tmp = Feedback.by_id(tmp)
     if tmp is not None:
         tmp.remove()
     handler_json.by_status(0)
     handler_json.write()
     return  #0
Пример #2
0
def fun_get_comment_by_position(article_id=None,
                                pos=0,
                                article_type="blog",
                                page_cap=10,
                                load_one='no',
                                load_before='no',
                                before_pos=0):
    ''' get comment by position, return [1|0, 'info', first_post, last_pos, len] '''
    ''' info contains a dict{ 'comment':{'0': comment(0) }, 'ref_commet':{'1':comment(0) } } '''
    try:
        if article_type == "blog":
            AF_Object = Blog(_id=article_id)
        elif article_type == "group-topic":
            AF_Object = Topic(_id=article_id)
        elif article_type == 'group-notice':
            AF_Object = Bulletin(_id=article_id)
        elif article_type == 'group-feedback':
            AF_Object = Feedback(_id=article_id)
        elif article_type == "group-doc":
            AF_Object = Blog(_id=article_id)
        else:
            return [1, '不支持当前类型!']
    except Exception, e:
        logging.error(traceback.format_exc())
        logging.error('%s not exist, id %s' % (article_type, article_id))
        return [1, '文章不存在!']
Пример #3
0
def fun_get_feedback_list(group=None, page=1, page_cap=10):

    feedback_list = group.feedback_list.load_all()
    #print feedback_list
    if feedback_list is None:
        feedback_list = []
    feedback_list.reverse()

    min_index, max_index = get_index_list_by_page(feedback_list,
                                                  page=page,
                                                  page_cap=page_cap)

    feedback_list_instance = Feedback.get_instances(
        '_id', feedback_list[min_index:max_index])

    res_list = []
    for item in feedback_list_instance:
        res_list.append({
            'feedback_id': str(item._id),
            'feedback_title': item.name,
            'feedback_author_id': str(item.author_id),
            'feedback_author_name': item.author_name
        })

    return res_list, len(feedback_list), page
Пример #4
0
def fun_get_feedback_list(group=None, page=1, page_cap=10):
    
    feedback_list = group.feedback_list.load_all()
    #print feedback_list
    if feedback_list is None:
        feedback_list = []
    feedback_list.reverse()
    
    min_index, max_index = get_index_list_by_page(feedback_list, page=page, page_cap=page_cap)
    
    feedback_list_instance = Feedback.get_instances('_id', feedback_list[min_index:max_index])
    
    res_list = []
    for item in feedback_list_instance:
        res_list.append({'feedback_id': str(item._id), 'feedback_title': item.name,
            'feedback_author_id': str(item.author_id), 'feedback_author_name': item.author_name})
            
    return res_list, len(feedback_list), page
Пример #5
0
 def get(self):
     page = AFFeedbackPage(self)
     feedbacks = sorted(Feedback.by_ids(recent_feedbacks.get_slice(-50)))
     feedback_infos = [each.obj_info_view_by() for each in feedbacks]
     page['feedback_list'] = feedback_infos
     return page.render()