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")
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)