Esempio n. 1
0
 def verify_access(self, *args):
   user = users.GetCurrentUser()
   if user:
     profile = Profile.gql("WHERE user = :1", user)
     current_profile = profile.get()
     if role == current_profile.role:
       handler_method(self, *args)
       return
   self.response.out.write('<html><head></head><body>Access denied</body></html>')
Esempio n. 2
0
    def validate(self, email, password):
        if not email_pattern.match(email):
            raise Exception("Email format is not right")

        if not password or not email:
            raise Exception("Password and email cannot be empty")

        profile = Profile.gql('WHERE user_email=:1', email).get()
        if profile:
            raise Exception("This email is already occupied.")
Esempio n. 3
0
	def get(self):
		user = users.get_current_user()
		if user:
		  profile = Profile.gql("WHERE user = :1", user).get()
		  if not profile:
		    self.redirect("/profiles/new")
		    return
		  self.redirect("/dashboard")
		else:
		  self.redirect(users.create_login_url(self.request.uri))
Esempio n. 4
0
    def get(self, meeting_key=None, user_name=None):
        login_user = self.get_current_user()
        m = Meeting.get(meeting_key)
        if m is None:
            return self.error(404)
        if m.creator != login_user:
            return self.error(401)

        profile = Profile.gql('WHERE nickname = :1', user_name).get()
        m.delete_member(profile.get_user())
        return self.redirect_back()
Esempio n. 5
0
    def validate(self, profile):
        nickname = self.request.get('nickname', '').strip()
        if nickname:
            if Profile.gql('WHERE nickname=:1 AND __key__ != :2',
                           nickname,
                           profile.key()).get():
                raise Exception('Nickname already been taken')
        else:
            raise Exception('Nickname cannot be empty')

        fullname = self.request.get('fullname', '').strip()
        if not fullname:
            raise Exception('Full name cannot be empty')
Esempio n. 6
0
 def post(self, meeting_key=None):
     login_user = self.get_current_user()
     m = Meeting.get(meeting_key)
     if m is None:
         return self.error(404)
     if m.creator != login_user:
         return self.error(401)
     
     user_name = self.request.get('user_name')
     profile = Profile.gql('WHERE nickname = :1', user_name).get()
     if profile:
         m.add_member(profile.get_user())
     return self.redirect_back()
Esempio n. 7
0
    def get(self):
        if Profile.gql('WHERE user_email = :1', settings.NEWS_USER).get():
            self.response.out.write('Already exist')
            return
        news = create_user(settings.NEWS_USER, 'halihalinews').get_user()

        #user = create_user('*****@*****.**', '1111').get_user()
        #person = create_user('*****@*****.**', '1111').get_user()
        #grade = create_user('*****@*****.**', '1111').get_user()

        #for i in range(1, 21):
        #    ut = create_user('*****@*****.**' % i, '1111').get_user()
        #    Follow.new(ut, user)
        #    Follow.new(person, ut)
        #Follow.new(user, person)
        #Follow.new(person, grade)
        
        self.response.out.write('OK')
Esempio n. 8
0
 def new(cls, user, content, attachment='', meeting=None):
     from helpers import  filter_blip
     from models.profile import Profile
     if content:
         content, user_names, urls = filter_blip(content)
         to_user = None
         if content.startswith('@'):
             profile = Profile.gql('WHERE nickname = :1', user_names[0]).get()
             if profile:
                 to_user = profile.get_user()
         blip = cls(text=content, user=user,
                    attachment=attachment, to_user=to_user,
                    meeting=meeting)
         blip.put()
         link = BlipLink.new(blip.user, blip)
         task = taskqueue.Task(url='/task/blip/deliver',
                               params={'key': blip.key()})
         task.add(queue_name='status-delivery')
         return blip
Esempio n. 9
0
    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())
Esempio n. 10
0
 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())
Esempio n. 11
0
 def call(self, out):
     if Profile.gql('WHERE user_email = :1', settings.NEWS_USER).get():
         out.write('News user already exist')
         return
     news = create_user(settings.NEWS_USER,
                        settings.NEWS_PASSWORD).get_user()