Esempio n. 1
0
    def get(self):
        user = self.get_current_user()
        if not user:
            self.redirect('/')
            return
        
        try:
            chapter = db.get( self.request.get('chapter') )
        except:
            self.redirect('/')
            return
            
        if not chapter or not chapter.isOwner(user):
            self.redirect('/')
            return
        
        nickname = self.request.get('author')
        user1 = get_user(nickname)
        
        res = {}
        res['status'] = 'OK'

        if user1:
            chapter.remove_author(user1)
            chapter.put()
        
        self.response.out.write(json.dumps(res))
Esempio n. 2
0
 def get_current_user(self):
     """Return the current user if someone logged in or None otherwise"""
     default_user = "******"
     gUser = users.get_current_user()
     if not gUser:
         # return MyUser(key_name=default_user)
         if "local_user" in self.session:
             user_key = self.session["local_user"]
         else:
             return None
         user = MyUser.get(db.Key(encoded=user_key))
     else:
         user = get_user(gUser.nickname().lower())
     if user and not user.user:
         user.user = gUser
         user.put()
     # if default user logged in but not registered - register him (me)
     if not user and gUser.nickname().lower() == default_user:
         user = MyUser(key_name=default_user)
         user.user = gUser
         user.roles = ["admin", "teacher"]
         user.alias = "admin"
         user.put()
     # temporary:
     #    if gUser and gUser.nickname() == default_user:
     #        user.roles = ['admin','teacher']
     return user
Esempio n. 3
0
    def get(self):
        user = self.get_current_user()
        if not user:
            self.redirect('/')
            return
        
        try:
            chapter = db.get( self.request.get('chapter') )
        except:
            self.redirect('/')
            return
            
        if not chapter or not chapter.canEdit(user):
            self.redirect('/')
            return
        
        nickname = self.request.get('author')
        user1 = get_user(nickname)
        
        res = {}

        if user1:
            res['status'] = 'OK'
            chapter.add_author(user1)
            chapter.put()
        else:
            res['status'] = "User '" +nickname+ "' isn't registered."
        
        self.response.out.write(json.dumps(res))
Esempio n. 4
0
 def local_login(self, nickname, password):
     """Log in user without google account.
     
     Args:
         nickname (str): Nickname to login with
         passwd (str): User local password
     
     Return (MyUser):
         Logged in user or None if failed.
     """
     user = get_user(nickname.lower())
     if not user or user.password() != password:
         return None
     self.session["local_user"] = str(user.key())
     return user