def pm(username): pd = PageData() try: pd.recipient = SiteUser.create(username) except (NoItem, NoUser): return page_not_found(404) if 'username' in session: if request.method == 'POST': message = request.form['body'] subject = request.form['subject'] if 'parent' in request.form: parent = deobfuscate(request.form['parent']) else: parent = None if message and subject: messageid = send_pm(pd.authuser.uid, pd.recipient.uid, subject, message, messagestatus['unread_pm'], parent) if messageid: flash('Message sent!') if parent: return redirect_back('/user/' + username + '/pm') else: return redirect('/user/' + pd.authuser.username + '/pm/' + obfuscate((messageid))) else: # TODO re-fill form flash('No message or subject') return redirect_back('/user/' + username + '/pm') return render_template('sendpm.html', pd=pd)
def pm(username): pd = PageData() try: pmuser = SiteUser.create(username) except (NoItem, NoUser): return page_not_found() if 'username' in session: if session['username'] == username: pd.profileuser = pmuser return render_template('profile/messages.html', pd=pd) else: pd.recipient = pmuser if request.method == 'POST': message = request.form['body'] subject = request.form['subject'] if 'parent' in request.form: parent = deobfuscate(request.form['parent']) else: parent = None if message and subject: messageid = send_pm(pd.authuser.uid, pd.recipient.uid, subject, message, None, parent) if messageid: flash('Message sent!') if parent: return redirect_back('/user/' + username + '/pm') else: return redirect('/user/' + pd.authuser.username + '/pm/' + obfuscate((messageid))) else: # TODO re-fill form flash('No message or subject') return redirect_back('/user/' + username + '/pm') return render_template('sendpm.html', pd=pd)
def trade(username, itemid=None, messageid=None): pd = PageData() status = messagestatus['unread_trade'] try: pd.tradeuser = SiteUser.create(username) except NoUser: return page_not_found(404) if 'username' in session: if request.method == 'POST': authuseritems = request.form.getlist('authuseritem') tradeuseritems = request.form.getlist('tradeuseritem') message = request.form['body'] subject = request.form['subject'] if 'parent' in request.form: parent = request.form['parent'] else: if messageid: parent = core.deobfuscate(messageid) messageid = parent status = messagestatus['unread_pm'] flashmsg = 'Message sent!' else: parent = None messageid = None flashmsg = 'Submitted trade request!' if message and subject: pmid = send_pm(pd.authuser.uid, pd.tradeuser.uid, subject, message, status, parent) if not messageid: messageid = pmid elif tradeuseritems or authuseritems: flashmsg = 'Trade updated' for item in authuseritems: add_tradeitem(item, messageid, pd.authuser.uid, tradeitemstatus['accepted']) for item in tradeuseritems: add_tradeitem(item, messageid, pd.tradeuser.uid, tradeitemstatus['unmarked']) flash(flashmsg) return redirect('/user/' + pd.authuser.username + '/pm/' + obfuscate(messageid)) if message == '': flash('Please add a message') return redirect_back('/') pd.title = "Trading with {}".format(username) try: pd.authuser.ownwant = pd.authuser.query_collection(itemid) except AttributeError: pass try: pd.tradeuser.ownwant = pd.tradeuser.query_collection(itemid) pd.item = SiteItem(itemid) except NoItem: if messageid: try: pd.trademessage = TradeMessage.create(deobfuscate(messageid)) except NoItem: return page_not_found(404) else: return page_not_found(404) return render_template('trade.html', pd=pd)