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))
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
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))
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