コード例 #1
0
def drop_img():
    img_id = request.form.get('img_id')
    img = ImagesModel.query.get(img_id)
    if img and img.album.author == g.front_user:
        url = img.url.split(
            'https://donghaocms.oss-cn-beijing.aliyuncs.com/')[1]
        db.session.delete(img)
        db.session.commit()
        bucket.delete_object(url)
        return restful.success()
    else:
        return restful.server_error()
コード例 #2
0
ファイル: views.py プロジェクト: wxh512/flask-cms
def del_ad():
    ad_id = request.form.get('ad_id')
    if ad_id:
        ad = AdvertisementModel.query.get(ad_id)
        url = ad.img_url.split(
            'https://donghaocms.oss-cn-beijing.aliyuncs.com/')
        if len(url) > 1:
            bucket.delete_object(url[1])
        db.session.delete(ad)
        db.session.commit()
        return restful.success()
    else:
        return restful.server_error()
コード例 #3
0
ファイル: views.py プロジェクト: wxh512/flask-cms
def img_large_del():
    imgs_ids = request.form.get('imgs_ids')
    if imgs_ids:
        img_ids = imgs_ids.split(',')
        for id in img_ids:
            album = AlbumModel.query.get(id)
            for img in album.images:
                url = img.url.split(
                    'https://donghaocms.oss-cn-beijing.aliyuncs.com/')[1]
                bucket.delete_object(url)
                db.session.delete(img)
            db.session.delete(album)
        db.session.commit()
        return restful.success()
    else:
        return restful.server_error()
コード例 #4
0
ファイル: views.py プロジェクト: wxh512/flask-cms
def posts():
    if request.method == 'GET':
        page = request.args.get(get_page_parameter(), type=int, default=1)
        start = (page - 1) * config.PERPAGE
        end = start + config.PERPAGE
        pagination = get_paginat(page)
        posts_obj = None
        elit = request.args.get('elit', default=1, type=int)
        if elit == 1:
            posts_obj = PostsModel.query.order_by(PostsModel.read_count.desc())
        elif elit == 2:
            posts_obj = db.session.query(PostsModel).outerjoin(CommentModel).group_by(PostsModel.id).\
                order_by(func.count(CommentModel.id).desc())
        elif elit == 3:
            posts_obj = db.session.query(PostsModel).outerjoin(StarModel).group_by(PostsModel.id). \
                order_by(func.count(StarModel.id).desc())
        elif elit == 4:
            posts_obj = PostsModel.query.order_by(
                PostsModel.create_time.desc())
        posts = posts_obj.slice(start, end)
        pagination = pagination
        return render_template('admin/cms_posts.html',
                               posts=posts,
                               pagination=pagination)
    else:
        post_id = request.form.get('post_id')
        post = PostsModel.query.get(post_id)
        imgs = re.findall(
            r'<img src="https://donghaocms.oss-cn-beijing.aliyuncs.com/(.*?)"',
            post.content, re.S)
        if len(imgs) > 0:
            [bucket.delete_object(img) for img in imgs]
        db.session.delete(post)
        db.session.commit()
        return restful.success()
コード例 #5
0
ファイル: views.py プロジェクト: wxh512/flask-cms
def banners():
    if request.method == 'GET':
        igs = BannerModel.query.order_by(BannerModel.weight.desc()).all()
        return render_template('admin/cms_banner.html', igs=igs)
    else:
        form = BannerForm(request.form)
        if form.validate():
            banners_id = request.form.get('banner_id')
            banner = BannerModel.query.get(banners_id)
            url = banner.img_url.split(
                'https://donghaocms.oss-cn-beijing.aliyuncs.com/')
            if len(url) > 1:
                bucket.delete_object(url[1])
            db.session.delete(banner)
            db.session.commit()
            return restful.success()
        else:
            message = form.errors.popitem()[1][0]
            return restful.params_error(message)
コード例 #6
0
ファイル: views.py プロジェクト: DaLongmao2/MycmsPro
def outgroup():
    group_id = request.form.get('group_id')
    create_user_id = request.form.get('create_user_id')
    group = GroupModel.query.get(group_id)
    email = request.form.get('email')
    if email and create_user_id:
        user = FrontUserModel.query.filter_by(email=email).first()
        if user.id == create_user_id:
            return restful.params_error(message='群主禁止移除~')
        manager = GroupManageModel.query.filter_by(group_id=group_id,
                                                   author_id=user.id).first()
        if user in group.users:
            if not manager:
                for topic in user.topics:
                    imgs = re.findall(
                        r'<img src="https://donghaocms.oss-cn-beijing.aliyuncs.com/(.*?)"',
                        topic.content, re.S)
                    if len(imgs) > 0:
                        [bucket.delete_object(img) for img in imgs]
                    db.session.delete(topic)
                user.groups.remove(group)
                db.session.commit()
            else:
                return restful.params_error(message='不能移除管理员')
        else:
            return restful.params_error(message='小组成员不存在~')
    else:
        user = g.front_user
        for topic in user.topics:
            imgs = re.findall(
                r'<img src="https://donghaocms.oss-cn-beijing.aliyuncs.com/(.*?)"',
                topic.content, re.S)
            if len(imgs) > 0:
                [bucket.delete_object(img) for img in imgs]
            db.session.delete(topic)
        user.groups.remove(group)
        db.session.commit()
    return restful.success()
コード例 #7
0
ファイル: views.py プロジェクト: wxh512/flask-cms
def post_large_del():
    post_ids = request.form.get('comment_ids')
    if post_ids:
        posts_ids = post_ids.split(',')
        for po in posts_ids:
            post = PostsModel.query.get(po)
            imgs = re.findall(
                r'<img src="https://donghaocms.oss-cn-beijing.aliyuncs.com/(.*?)"',
                post.content, re.S)
            if len(imgs) > 0:
                [bucket.delete_object(img) for img in imgs]
            db.session.delete(post)
        db.session.commit()
        return restful.success()
    else:
        return restful.params_error(message='帖子不存在')
コード例 #8
0
def dpost():
    post_id = request.form.get('post_id')
    post = PostsModel.query.get(post_id)
    if post:
        [
            db.session.delete(c)
            for c in CommentModel.query.filter_by(post_id=post_id).all()
        ]
        [
            db.session.delete(c)
            for c in CollectModel.query.filter_by(post_id=post_id).all()
        ]
        imgs = re.findall(
            r'<img src="https://donghaocms.oss-cn-beijing.aliyuncs.com/(.*?)"',
            post.content, re.S)
        if len(imgs) > 0:
            [bucket.delete_object(img) for img in imgs]
        db.session.delete(post)
        db.session.commit()
        return restful.success()
    else:
        return restful.params_error(message='帖子不存在')