def post(self): result = self.user_login() try: login = result['user'] username = cgi.escape(self.request.get('username')) name = cgi.escape(self.request.get('name')) lastname = cgi.escape(self.request.get('lastname')) #image = self.request.get('image') email = cgi.escape(self.request.get('email')) password = cgi.escape(self.request.get('password')) confirm = cgi.escape(self.request.get('confirm')) # Check that the proper fields are valid (password and confirm) if username != login.username: valid = db.check_username_is_valid(username) if not valid: raise InvalidUsername() if password != confirm: raise Exception("Invalid Password") valid_email = db.check_email_is_valid(email) if not valid_email: raise Exception("E-mail already in use.") profile = db.get_profile(result['user']) if profile is None: profile = model.User() # Search for login and update username # Update password in login password = hashlib.sha512(password).hexdigest() login.username = username if login.login_type == 'stalker': login.access_token_key = password login.put() profile.login = login profile.name = name profile.lastname = lastname profile.email = email # Save Avatar #file_name = files.blobstore.create( #mime_type='application/octet-stream') #with files.open(file_name, 'a') as f: #f.write(str(image)) #files.finalize(file_name) #profile.avatar = file_name profile.put() # Update Session stalker_user = '******' % username session = get_current_session() session["stalker_user"] = stalker_user session["stalker_request_key"] = password except InvalidUsername: self.redirect('/profile?error=%s' % "Invalid Username or already taken") except InvalidPassword: self.redirect('/profile?error=%s' % "Password don't match'") except Exception, reason: self.redirect('/profile?error=%s' % str(reason))
def get(self): result = self.user_login() if result.get('user', None): attendee = db.get_profile(result['user']) if attendee is None: self.redirect('/register') return result['form'] = forms.AttendeeForm(instance=attendee) path = os.path.join(os.path.dirname(__file__), "templates/user/register.html") self.response.out.write(template.render(path, result))
def get(self): result = self.user_login() if result.get('user', None): attendee = db.get_profile(result['user']) if attendee is None: self.redirect('/register') return in_attendees = u'Sí' if attendee.in_attendees else 'No' allow_contact = u'Sí' if attendee.allow_contact else 'No' assist_dinner = u'Sí' if attendee.assist_dinner else 'No' data = { 'name': attendee.name, 'surname': attendee.surname, 'nick': attendee.nick, 'email': attendee.email, 'level': attendee.level, 'country': attendee.country, 'state': attendee.state, 'tel': attendee.tel, 'personal_page': attendee.personal_page, 'company': attendee.company, 'company_page': attendee.company_page, 'in_attendees': in_attendees, 'allow_contact': allow_contact, 'biography': attendee.biography, 'assist_dinner': assist_dinner, } if attendee.cv: data['cv'] = attendee.cv result.update(data) talks = db.get_user_talks(result['user']) if talks: result['talks'] = talks tshirt = db.get_tshirts_requested(result['user']) if tshirt: result['tshirt'] = tshirt path = os.path.join(os.path.dirname(__file__), "templates/user/profile.html") self.response.out.write(template.render(path, result)) else: self.redirect('/register')
def get(self): result = self.user_login() message = cgi.escape(self.request.get('message')) error = cgi.escape(self.request.get('error')) if error: result['error'] = error else: result['message'] = message profile = db.get_profile(result['user']) if profile is not None: result['profile'] = profile if profile.avatar: url = images.get_serving_url(files.blobstore.get_blob_key( profile.avatar)) result['image_url'] = url if result['user'] is None: self.go_to_login() else: path = os.path.join(os.path.dirname(__file__), "templates/profile.html") self.response.out.write(template.render(path, result))