Exemple #1
0
def admin_send_message():
    if request.method == 'POST':
        mode = request.form["radio"]

        if mode == 'one':
            email = request.form["user_email"]
            user = User.find_by_email(email)
            if user:
                subject = request.form["title"]
                content = request.form["content"]
                Post("admin", subject, content).admin_insert_post_by_type(
                    current_user, email, 'private')
                posts = Post.admin_sent_posts()
                flash("Message sent to {0}".format(email))
                return render_template("admin/home.html", posts=posts)
            else:
                flash(
                    "The user you choose by {} does not exist.".format(email))
                return render_template("admin/send_message.html")
        elif mode == 'all':
            subject = request.form["title"]
            content = request.form["content"]
            users = User.admin_find_all_users()
            new_post = Post("admin", subject, content)
            new_post.admin_insert_post(current_user, 'private')
            for user in users:
                Post.connect(user.email, new_post._id, 'private')
            posts = Post.admin_sent_posts()
            flash("Post sent to all.")
            return render_template("admin/home.html", posts=posts)
    return render_template("admin/send_message.html")
Exemple #2
0
def new_post():
    """
    Write a new post with type publications :
    1.public
    2.subsets
    3.uplines
    4.directs
    5.upline
    :return: Data from new post page.
    """
    form = PostForm()
    if request.method == 'POST':
        subject = form.subject.data
        content = form.content.data
        type_publication = form.type_publication.data
        user_data = User.find_by_email(current_user.email)

        if type_publication == 'public':
            Post(user_data["email"],
                 subject,
                 content,
                 type_publication=type_publication).insert(
                     _type=type_publication)

        elif type_publication == 'uplines':
            uplines = current_user.find_uplines(current_user._id)
            if uplines:
                post = Post(user_data["email"],
                            subject,
                            content,
                            type_publication=type_publication)
                post.insert(type_publication)
                for up in uplines:
                    Post.connect(up.email, post._id, type_publication)
            else:
                flash("You have not any uplines.")
                return redirect(url_for('posts.new_post'))

        elif type_publication == 'subsets':
            subsets = User.find_sub(current_user._id)
            if subsets:
                post = Post(user_data["email"],
                            subject,
                            content,
                            type_publication=type_publication)
                post.insert(type_publication)
                for sub in subsets:
                    Post.connect(sub.email, post._id, type_publication)
            else:
                flash("You have not any subsets.")
                return redirect(url_for('posts.new_post'))

        elif type_publication == 'directs':
            directs = User.find_directs(current_user.email)
            if directs:
                post = Post(user_data["email"],
                            subject,
                            content,
                            type_publication=type_publication)
                post.insert(type_publication)
                for direct in directs:
                    Post.connect(direct.email, post._id, type_publication)
            else:
                flash("You have not any directs.")
                return redirect(url_for('posts.new_post'))

        elif type_publication == 'upline':
            upline = User.find_one(current_user.upline_phone_number)
            if upline:
                post = Post(user_data["email"],
                            subject,
                            content,
                            type_publication=type_publication)
                post.insert(type_publication)
                Post.connect(upline["email"], post._id, type_publication)

            else:
                flash("You have not any upline.")
                return redirect(url_for('posts.new_post'))

        return redirect(url_for('posts.view_sent_posts'))

    return render_template("post/new_post.html", form=form)