def get(self): user = self.get_current_user() created, profile = Profile.get_or_create_from_user(user) followers = Follow.who_subscribe_you(user) follower_profiles = [] for f in followers: c, p = Profile.get_or_create_from_user(f.from_user) follower_profiles.append(p) followees = Follow.your_subscribers(user) followee_profiles = [] for f in followees: c, p = Profile.get_or_create_from_user(f.to_user) followee_profiles.append(p) try: page = int(self.request.get('page', '1')) except ValueError: page = 1 pagesize = settings.BLIP_PAGE_SIZE paginator = SimplePaginator(BlipLink.qs_for_user(user), page, pagesize) blips = each_profiles(paginator.object_list, field='author') is_self = True return self.render('home.html', locals())
def get(self, blip_key=None): blip = Blip.get(blip_key) if blip is None: return self.error(404) login_user = self.get_current_user() if blip.meeting and not blip.meeting.has_member(login_user): return self.error(401) user = blip.user _, profile = Profile.get_or_create_from_user(user) is_self = user == login_user has_followed = False if not is_self: has_followed = Follow.gql('WHERE from_user = :1 AND to_user = :2', login_user, user).get() is not None followers = Follow.who_subscribe_you(user) follower_profiles = [] for f in followers: c, p = Profile.get_or_create_from_user(f.from_user) follower_profiles.append(p) followees = Follow.your_subscribers(user) followee_profiles = [] for f in followees: c, p = Profile.get_or_create_from_user(f.to_user) followee_profiles.append(p) return self.render('blip_item.html', locals())
def post(self): user = self.get_current_user() created, profile = Profile.get_or_create_from_user(user) self.errors = [] try: self.validate(profile) except Exception, e: self.errors = [str(e)] return self.get()
def get(self, user_name=None): login_user = self.get_current_user() if user_name is None: return self.redirect('/signin') profile = Profile.gql('WHERE nickname=:1', user_name).get() if not profile or not profile.is_active: return self.error(404) user = profile.get_user() is_self = user == login_user has_followed = False if not is_self: has_followed = Follow.gql('WHERE from_user = :1 AND to_user = :2', login_user, user).get() is not None followers = Follow.who_subscribe_you(user) follower_profiles = [] for f in followers: c, p = Profile.get_or_create_from_user(f.from_user) follower_profiles.append(p) followees = Follow.your_subscribers(user) followee_profiles = [] for f in followees: c, p = Profile.get_or_create_from_user(f.to_user) followee_profiles.append(p) try: page = int(self.request.get('page', '1')) except ValueError: page = 1 has_followed = Follow.gql('WHERE from_user = :1 AND to_user =:2', login_user, user).get() pagesize = settings.BLIP_PAGE_SIZE paginator = SimplePaginator(Blip.qs_for_author(user), page, pagesize) blips = each_profiles(paginator.object_list) return self.render('user_page.html', locals())
def get(self, meeting_key=None): from models.blip import Blip login_user = self.get_current_user() meeting = Meeting.get(meeting_key) if meeting is None or not meeting.is_active: return self.error(404) if not meeting.has_member(login_user): return self.error(401) c, p = Profile.get_or_create_from_user(meeting.creator) admin_profiles = [p] member_profiles = [] members = meeting.members(include_creator=False) for u in members: c, p = Profile.get_or_create_from_user(u) member_profiles.append(p) followees = Follow.your_subscribers(login_user) followee_profiles = [] for f in followees: if f.to_user not in members: c, p = Profile.get_or_create_from_user(f.to_user) followee_profiles.append(p) try: page = int(self.request.get('page', '1')) except ValueError: page = 1 pagesize = settings.ROOM_PAGE_SIZE paginator = SimplePaginator(Blip.qs_for_meeting(meeting), page, pagesize) blips = each_profiles(paginator.object_list) return self.render('meeting_item.html', locals())
def post(self): if not login_using_local(): return self.error(404) email = self.request.get('email') password = self.request.get('password') continue_to = self.request.get('continue_to', '/') google_login_url = users.create_login_url(continue_to) errors = [] local_user = UserAuth.gql('WHERE email=:1', email).get() if local_user and self.authenticate(local_user, password): login_user = local_user.get_user() profile = Profile.gql('WHERE user = :1', login_user).get() if not profile: created, profile = Profile.get_or_create_from_user(login_user) if created: self.redirect('/profile/edit') return self.redirect(continue_to) else: errors.append('Login error, please relogin again') using_google = login_using_google() return self.render('signin.html', locals())
def get(self): user = self.get_current_user() created, profile = Profile.get_or_create_from_user(user) errors = self.errors return self.render('profile_edit.html', locals())
def member_profiles(self, include_creator=True): from models.profile import Profile for _, user in zip(xrange(4), self.members(include_creator)): _, p = Profile.get_or_create_from_user(user) yield p