def delete_message(message_id, thread_id): if request.method == 'POST': t = Thread(redis=g.r, user=g.user) t.load(thread_id) m = Message(redis=g.r, user=g.user, key=message_id) m.load() if g.r.get('username:%s' % m.sender.username) != g.user.key: abort(401) t.delete_message(m) flash(u'Message deleted', 'success') return redirect(url_for('frontend.view_thread', thread_id=thread_id)) else: return render_template('confirm.html', _message='Are you sure you want to delete this message?', _ok=url_for('frontend.delete_message', thread_id=thread_id, message_id=message_id), _cancel=url_for('frontend.view_thread', thread_id=thread_id) )
def delete_message(message_id, thread_id): if request.method == 'POST': t = Thread(redis=g.r, user=g.user) t.load(thread_id) m = Message(redis=g.r, user=g.user, key=message_id) m.load() if g.r.get('username:%s' % m.sender.username) != g.user.key: abort(401) t.delete_message(m) flash(u'Message deleted', 'success') return redirect(url_for('frontend.view_thread', thread_id=thread_id)) else: return render_template( 'confirm.html', _message='Are you sure you want to delete this message?', _ok=url_for('frontend.delete_message', thread_id=thread_id, message_id=message_id), _cancel=url_for('frontend.view_thread', thread_id=thread_id))
def view_thread(thread_id): if str(thread_id) not in g.user.get_threads(): abort(401) t = Thread(redis=g.r, user=g.user) try: t.load(thread_id) if request.method == "POST": if request.form['action'] == 'reply': m = Message(redis=g.r, key=False, user=g.user) m.update(request.form) t.save() t.add_message(m) m.send() t.load(thread_id) flash("Reply has been sent.", 'success') return redirect(url_for('frontend.view_thread', thread_id=t.key)) return render_template('thread.html', messages=t.messages, thread=t, subject=t.subject) except ThreadError: abort(404)
def send_message(recipient=False): try: g.user.username except AttributeError: abort(401) t = Thread(redis=g.r, user=g.user) m = Message(redis=g.r, key=False, user=g.user) if(recipient): try: t.parse_recipients(recipient) except InvalidRecipients: pass if request.method == 'POST': try: t.subject = request.form['subject'] m.update(request.form) t.parse_recipients(request.form['recipients']) t.encryption = request.form['encryption'] t.save() t.add_message(m) m.send() flash('Your message has been successfully wired, \ and should arrive shortly.', 'success') return redirect(url_for('frontend.view_thread', thread_id=t.key)) except MessageValidationError: for error in m.validation_errors: flash(error, 'error') except InvalidRecipients: for recipient in t.invalid_recipients: flash('%s is not a valid recipient' % recipient, 'error') return render_template('forms/message.html', new=True, message=m, thread=t, recipients=t.get_form_recipients())
def send_message(recipient=False): try: g.user.username except AttributeError: abort(401) t = Thread(redis=g.r, user=g.user) m = Message(redis=g.r, key=False, user=g.user) if (recipient): try: t.parse_recipients(recipient) except InvalidRecipients: pass if request.method == 'POST': try: t.subject = request.form['subject'] m.update(request.form) t.parse_recipients(request.form['recipients']) t.encryption = request.form['encryption'] t.save() t.add_message(m) m.send() flash( 'Your message has been successfully wired, \ and should arrive shortly.', 'success') return redirect(url_for('frontend.view_thread', thread_id=t.key)) except MessageValidationError: for error in m.validation_errors: flash(error, 'error') except InvalidRecipients: for recipient in t.invalid_recipients: flash('%s is not a valid recipient' % recipient, 'error') return render_template('forms/message.html', new=True, message=m, thread=t, recipients=t.get_form_recipients())
def view_thread(thread_id): if str(thread_id) not in g.user.get_threads(): abort(401) t = Thread(redis=g.r, user=g.user) try: t.load(thread_id) if request.method == "POST": if request.form['action'] == 'reply': m = Message(redis=g.r, key=False, user=g.user) m.update(request.form) t.save() t.add_message(m) m.send() t.load(thread_id) flash("Reply has been sent.", 'success') return redirect( url_for('frontend.view_thread', thread_id=t.key)) return render_template('thread.html', messages=t.messages, thread=t, subject=t.subject) except ThreadError: abort(404)