def post(self): user = self.current_user do = is_value(self.get_argument("do", "add")) tag = is_value(self.get_argument("tag", None)) tag_page = is_value(self.get_argument("page", 'tag')) group_id = is_value(self.get_argument("group_id", '-1')) result = {'kind': -1, 'info': ''} if tag is None or len(tag) > 45: result['info'] = '分类字数需在15字以内!' self.write(json_encode(result)) return if tag == "alltags" or tag == "default": result['info'] = '不能操作默认分类!' self.write(json_encode(result)) return if tag_page != 'group-tag': target = user else: try: #print 'group_id', group_id group = BasicGroup(_id=group_id) if group.get_member_type(user) != 'Manager': result['info'] = '您无权进行设置!' self.write(json_encode(result)) return except Exception, e: logging.error(traceback.format_exc()) logging.error('Url Error %s' % self.request.uri) result['info'] = '小组不存在!' self.write(json_encode(result)) return else:
def post(self): user = self.current_user do = is_value( self.get_argument("do", "add") ) tag = is_value(self.get_argument("tag", None) ) tag_page = is_value(self.get_argument("page", 'tag')) group_id = is_value( self.get_argument("group_id", '-1')) result = {'kind': -1, 'info': ''} if tag is None or len(tag) > 45: result['info'] = '分类字数需在15字以内!' self.write( json_encode(result) ) return if tag == "alltags" or tag == "default": result['info'] = '不能操作默认分类!' self.write( json_encode(result) ) return if tag_page != 'group-tag': target = user else: try: #print 'group_id', group_id group = BasicGroup(_id=group_id) if group.get_member_type(user) != 'Manager': result['info'] = '您无权进行设置!' self.write(json_encode(result)) return except Exception, e: logging.error(traceback.format_exc()) logging.error('Url Error %s' % self.request.uri) result['info'] = '小组不存在!' self.write(json_encode(result)) return else:
def get(self): user = self.current_user AFUser = SuperUser(user) group_id = is_value( self.get_argument("id", 1) ) AFGroup = None try: group = BasicGroup(_id=group_id) #print 'author ,', group.authority_verify(user) #print 'member, ', group.member_lib.load_all() if group.get_member_type(user) != 'Manager': AFGroup = None else: AFGroup = AFWBasicGroup(group) except Exception, e: error_info = { 'my_exc_info': traceback.format_exc(), 'des':'未找到该小组!', 'reason': ['该小组不存在!', '或者该小组已经被删除!']} return self.send_error(404, **error_info)
def get(self, group_id): user = self.current_user if user is None: AFUser = None else: AFUser = SuperUser(user) AFGroup = None member_type = None try: group = BasicGroup(_id=group_id) AFGroup = AFWBasicGroup(group) title = group.name + ' - 小组' topic_list, topic_count, topic_page = fun_get_topic_list(group=group, page=1, page_cap=20) notice_list, notice_count, notice_page = fun_get_notice_list(group=group, page=1, page_cap=5) if user is not None: member_type = group.get_member_type(user) except Exception: error_info = { 'my_exc_info': traceback.format_exc(), 'des':'未找到该小组!', 'reason': ['该小组不存在!', '或者该小组已经被删除!']} return self.send_error(404, **error_info) return self.render("group.html", title=title, user=AFUser, group=AFGroup, group_base_type="home", topic_list=topic_list, notice_list=notice_list, member_type=member_type)
def get(self, group_id, article_id): user = self.current_user if user is None: AFUser = None else: AFUser = SuperUser(user) req_url = self.request.uri url_path = urlparse.urlparse(req_url) url_list = url_path.path.split('/') AFGroup = None if len(url_list) < 5 or url_list[3] not in ['topic', 'feedback', 'doc', 'notice']: raise Exception try: group = BasicGroup(_id=group_id) AFGroup = AFWBasicGroup(group) except Exception: error_info = { 'my_exc_info': traceback.format_exc(), 'des':'未找到该小组!', 'reason': ['该小组不存在!', '或者该小组已经被删除!']} return self.send_error(404, **error_info) member_type = None script = [] if url_list[3] == "topic": try: AF_Object = Topic(_id=article_id) if AF_Object.group_id != group._id and AF_Object.is_posted is not True: raise Exception if user is not None: member_type = group.get_member_type(user) except Exception, e: error_info = { 'my_exc_info': traceback.format_exc(), 'des':'未找到该话题!', 'reason': ['该话题不存在!', '或者该话题已经被删除!']} return self.send_error(404, **error_info) else: title = AF_Object.name + ' - '+ group.name + '小组话题' script = fun_load_code_js(AF_Object.view_body) return self.render('group-lib-one-base.html', user=AFUser, group=AFGroup, title=title, group_base_type='topic', article=AF_Object, member_type=member_type, script=script)
def get(self, article_id): user = self.current_user AFUser = SuperUser(user) article_type = is_value(self.get_argument("type", 'topic')) if article_type not in ['topic', 'doc', 'notice', 'feedback']: return self.redirect("/") if article_type == 'topic': try: AF_Object = Topic(_id=article_id) group = BasicGroup(_id=AF_Object.group_id) if group.get_member_type(user) is None or str(AF_Object.author_id) != str(user._id): AFGroup = None else: AFGroup = AFWBasicGroup(group) AFObject = SuperArticle(AF_Object) # get the want data except (ItemNotFoundError, InvalidIDError, DBIndexError, BaseDBError), e: logging.error(e.msg) logging.error('Url Error %s' % self.request.uri) except Exception, e: AFGroup = None logging.error(traceback.format_exc()) logging.error('Url Error %s' % self.request.uri)
else: # for group follow try: group = BasicGroup(_id=follow_id) except Exception, e: logging.error(traceback.format_exc()) logging.error('Url Error %s' % self.request.uri) result['info'] = '无此小组!' self.write(json_encode(result)) return else: if do == "follow": user.follow_group(group) result['kind'] = 0 else: if group.get_member_type(user) == 'Manager': result['info'] = '管理员无法退出!' else: if str(group._id) != AFWConfig.afewords_group_id: user.unfollow_group(group) result['kind'] = 0 self.write(json_encode(result)) return class AuthorDoLikeHandler(BaseHandler): def post(self): user = self.current_user result = {'kind':1, 'info':''}
return [1, '完善中'] elif article_type in Group_Article: # for group isnew = False try: group = BasicGroup(_id=group_id) limit = group.authority_verify(user) except Exception, e: logging.error(traceback.format_exc()) logging.error('Group not exist, id %s' % group_id) return [1, '参数错误,小组不存在!'] class_map = { 'group-info': About, 'group-doc': Blog, 'group-feedback': Feedback, 'group-notice': Bulletin, 'group-topic': Topic} user_role = group.get_member_type(user) if user_role is None: return [1, '您不是该小组成员!'] if article_type in ['group-info', 'group-doc', 'group-notice']: if user_role != 'Manager': return [1, '您不是管理员,无权操作!'] if article_type == "group-info": AF_Object = group.about else: try: AF_Object = class_map[article_type](_id=article_id) except Exception: AF_Object = class_map[article_type]() AF_Object.author = user AF_Object.env = group
do="post", ref_comments=''): # update comment, all comments group = None if father_type == 'blog': try: AF_Object = Blog(_id=father_id) except Exception, e: return [1, '文章不存在!'] else: # for group if father_type == 'group-notice': try: AF_Object = Bulletin(_id=father_id) group = BasicGroup(_id=AF_Object.group_id) if group.get_member_type(user) is None: return [1, '您不是该小组成员'] except Exception, e: logging.error(traceback.format_exc()) logging.error('%s not exist, id %s' % (father_type, father_id)) return [1, '该公告不存在!'] elif father_type == "group-doc": try: AF_Object = Blog(_id=father_id) group = BasicGroup(_id=AF_Object.group_id) if group.get_member_type(user) is None: return [1, '您不是该小组成员'] except Exception, e: logging.error(traceback.format_exc()) logging.error('%s not exist, id %s' % (father_type, father_id)) return [1, '该文档不存在!']
AFGroup = AFWBasicGroup(group) AFObject = SuperArticle(AF_Object) # get the want data except (ItemNotFoundError, InvalidIDError, DBIndexError, BaseDBError), e: logging.error(e.msg) logging.error('Url Error %s' % self.request.uri) except Exception, e: AFGroup = None logging.error(traceback.format_exc()) logging.error('Url Error %s' % self.request.uri) elif article_type == 'doc': try: AF_Object = Blog(_id=article_id) group = BasicGroup(_id=AF_Object.group_id) if group.get_member_type(user) != 'Manager' or str(AF_Object.author_id) != str(user._id): AFGroup = None else: AFGroup = AFWBasicGroup(group) AFObject = SuperArticle(AF_Object) AFObject.tag_all = AF_Object.tag except (ItemNOtFoundError, InvalidIDError, DBIndexError, BaseDBError), e: logging.error(e.msg) logging.error('Url Error %s' % self.request.uri) except Exception, e: logging.error(traceback.format_exc()) logging.error('Url Error %s' % self.request.uri) AFGroup = None elif article_type == 'notice': try: AF_Object = Bulletin(_id=article_id)
def fun_update_comment(user, group_id='-1', article_id = 0, article_type='blog', title='', summary='', body='', permission='public', keys=[], classes=[], father_id='-1', father_type='blog', do="post", ref_comments=''): # update comment, all comments group = None if father_type == 'blog': try: AF_Object = Blog(_id=father_id) except Exception, e: return [1, '文章不存在!'] else: # for group if father_type == 'group-notice': try: AF_Object = Bulletin(_id=father_id) group = BasicGroup(_id=AF_Object.group_id) if group.get_member_type(user) is None: return [1, '您不是该小组成员'] except Exception, e: logging.error(traceback.format_exc()) logging.error('%s not exist, id %s' %(father_type, father_id)) return [1, '该公告不存在!'] elif father_type == "group-doc": try: AF_Object = Blog(_id=father_id) group = BasicGroup(_id=AF_Object.group_id) if group.get_member_type(user) is None: return [1, '您不是该小组成员'] except Exception, e: logging.error(traceback.format_exc()) logging.error('%s not exist, id %s' %(father_type, father_id)) return [1, '该文档不存在!']
else: # for group follow try: group = BasicGroup(_id=follow_id) except Exception, e: logging.error(traceback.format_exc()) logging.error('Url Error %s' % self.request.uri) result['info'] = '无此小组!' self.write(json_encode(result)) return else: if do == "follow": user.follow_group(group) result['kind'] = 0 else: if group.get_member_type(user) == 'Manager': result['info'] = '管理员无法退出!' else: if str(group._id) != AFWConfig.afewords_group_id: user.unfollow_group(group) result['kind'] = 0 self.write(json_encode(result)) return class AuthorDoLikeHandler(BaseHandler): def post(self): user = self.current_user result = {'kind': 1, 'info': ''} kind = is_value(self.get_argument("type", None))
group = BasicGroup(_id=group_id) limit = group.authority_verify(user) except Exception, e: logging.error(traceback.format_exc()) logging.error('Group not exist, id %s' % group_id) return [1, '参数错误,小组不存在!'] class_map = { 'group-info': About, 'group-doc': Blog, 'group-feedback': Feedback, 'group-notice': Bulletin, 'group-topic': Topic } user_role = group.get_member_type(user) if user_role is None: return [1, '您不是该小组成员!'] if article_type in ['group-info', 'group-doc', 'group-notice']: if user_role != 'Manager': return [1, '您不是管理员,无权操作!'] if article_type == "group-info": AF_Object = group.about else: try: AF_Object = class_map[article_type](_id=article_id) except Exception: AF_Object = class_map[article_type]() AF_Object.author = user AF_Object.env = group