def post(self): key = self.request.get("key") message = self.request.get("message") url = self.request.get("url") code = self.request.get("code") securitycode = SecurityCode() if securitycode.check(code): if key is not None and key != "" and message is not None and message != "": try: user = User.get(key) notification = Notification() notification.user = str(user.key()) notification.message = message notification.url = url notification.status = 0 notification.put() self.redirect("/") except KeyError: self.redirect("/?exception=WrongParameter") else: self.redirect("/?exception=WrongParameter") else: self.redirect("/?exception=AccessDenied")
def post(self): ### Session verification code ### session = get_current_session() try: if not session['key'] or session['key'] == '': self.redirect('/?exception=NoSession') else: mainuser = User.get(session['key']) template_values = { 'pagename': 'friendsinvite', } try: emails = self.request.get('emails').lower().replace(' ','').split(',') if len(emails) > 30: self.redirect('/friends?exception=TooManyArguments') else: users = User.all().filter("email IN", emails) alreadyuser = [] for user in users: alreadyuser.append(str(user.key())) emails.remove(user.email) friendships = Friendship.all().filter("user ="******"friend =", str(user.key())) for friendship in friendships: alreadyuser.remove(str(friendship.friend)) for email in emails: confirmcode = RandomString(64) subject = mainuser.nick + ' invites you to Animo!' body = """Hey! You've been invited to subscribe and play Animo by your friend """ + mainuser.nick + """(""" + mainuser.fname + """ """ + mainuser.lname + """). Please follow the following link to register and play: http://""" + APPID + """/register/invitation?referer=""" + session['key'] + """&email=""" + email + """&code=""" + confirmcode + """ Tom""" message = sendmail(email, subject, body) message.send() newuser = User() newuser.email = email newuser.active = False newuser.status = confirmcode newuser.put() friendship = Friendship() friendship.user = session['key'] friendship.friend = str(newuser.key()) friendship.status = 0 friendship.put() for key in alreadyuser: user = User.get(key) securitycode = SecurityCode() url = 'https://' + APPID + '/notifications/add' form_fields = {"key": key, "message": user.nick + " wants to be friends with you. Click to accept.", "url": "/friends/invite/confirm?key=" + key + "&friend=" + str(user.key()), "code": securitycode.get()} form_data = urllib.urlencode(form_fields) result = urlfetch.fetch(url=url,payload=form_data,method=urlfetch.POST,headers={'Content-Type': 'application/x-www-form-urlencoded'}) friendship = Friendship() friendship.user = session['key'] friendship.friend = key friendship.status = 0 friendship.put() self.redirect('/friends') except ValueError: self.redirect('/?exception=WrongParameter') except KeyError: self.redirect('/?exception=NoSession')