Ejemplo n.º 1
0
 def read(self, userName):
     theUser = SSUser.readByName(userName)
     if not theUser:
         return error("User %s does not exist" % userName, UserDoesNotExistError)
     loggedInUser = SSUser.read(helper.getLoggedInUser())
     canReadFull = loggedInUser.canReadFull(theUser)
     return data(theUser.toDict((loggedInUser and canReadFull)))
Ejemplo n.º 2
0
 def groups(self, userName, start=None, end=None, limit=25):
     loggedInUser = helper.getLoggedInUser()
     theUser = SSUser.read(loggedInUser)
     otherUser = SSUser.readByName(userName)
     if loggedInUser == otherUser.id or theUser.isAdmin():
         return data(otherUser.groups(start=start, end=end, limit=limit))
     else:
         return error("You don't have permission to view this user's groups.", PermissionError)
Ejemplo n.º 3
0
 def unreadCount(self, userName):
     loggedInUser = helper.getLoggedInUser()
     theUser = SSUser.read(loggedInUser)
     otherUser = SSUser.readByName(userName)
     if loggedInUser == otherUser.id or theUser.isAdmin():
         return data(theUser.unreadCount())
     else:
         return error("You do not have permission to view this user's unread count.", PermissionError)
Ejemplo n.º 4
0
 def unfollow(self, userName):
     theUser = SSUser.read(helper.getLoggedInUser())
     followed = SSUser.readByName(userName)
     if theUser.id == followed.id:
         return error("You cannot unfollow yourself.", FollowError)
     else:
         theUser.unfollow(followed)
         return data(followed)
Ejemplo n.º 5
0
 def unfollow(self, userName):
     theUser = SSUser.read(helper.getLoggedInUser())
     followed = SSUser.readByName(userName)
     if theUser.id == followed.id:
         return error("You cannot unfollow yourself.", FollowError)
     else:
         theUser.unfollow(followed)
         return data(followed)
Ejemplo n.º 6
0
 def read(self, userName):
     theUser = SSUser.readByName(userName)
     if not theUser:
         return error("User %s does not exist" % userName,
                      UserDoesNotExistError)
     loggedInUser = SSUser.read(helper.getLoggedInUser())
     canReadFull = loggedInUser.canReadFull(theUser)
     return data(theUser.toDict((loggedInUser and canReadFull)))
Ejemplo n.º 7
0
 def update(self, userName):
     theUser = SSUser.readByName(userName)
     if not theUser:
         return error("User %s does not exist" % userName, UserDoesNotExistError)
     loggedInUser = SSUser.read(helper.getLoggedInUser())
     if loggedInUser and loggedInUser.canModify(theUser):
         theData = json.loads(helper.getRequestBody())
         return data(theUser.update(theData))
     else:
         return error("Operation not permitted. You don't have permission to update this account.")
Ejemplo n.º 8
0
 def groups(self, userName, start=None, end=None, limit=25):
     loggedInUser = helper.getLoggedInUser()
     theUser = SSUser.read(loggedInUser)
     otherUser = SSUser.readByName(userName)
     if loggedInUser == otherUser.id or theUser.isAdmin():
         return data(otherUser.groups(start=start, end=end, limit=limit))
     else:
         return error(
             "You don't have permission to view this user's groups.",
             PermissionError)
Ejemplo n.º 9
0
 def unreadCount(self, userName):
     loggedInUser = helper.getLoggedInUser()
     theUser = SSUser.read(loggedInUser)
     otherUser = SSUser.readByName(userName)
     if loggedInUser == otherUser.id or theUser.isAdmin():
         return data(theUser.unreadCount())
     else:
         return error(
             "You do not have permission to view this user's unread count.",
             PermissionError)
Ejemplo n.º 10
0
 def delete(self, userName):
     theUser = SSUser.readByName(userName)
     if not theUser:
         return error("User %s does not exist" % userName, UserDoesNotExistError)
     loggedInUser = SSUser.read(helper.getLoggedInUser())
     if loggedInUser and loggedInUser.canModify(theUser):
         if theUser.id == loggedInUser.id:
             helper.setLoggedInUser(None)
         theUser.delete()
         return ack
     else:
         return error("Operation not permitted. You don't have permission to delete this account.")
Ejemplo n.º 11
0
 def update(self, userName):
     theUser = SSUser.readByName(userName)
     if not theUser:
         return error("User %s does not exist" % userName,
                      UserDoesNotExistError)
     loggedInUser = SSUser.read(helper.getLoggedInUser())
     if loggedInUser and loggedInUser.canModify(theUser):
         theData = json.loads(helper.getRequestBody())
         return data(theUser.update(theData))
     else:
         return error(
             "Operation not permitted. You don't have permission to update this account."
         )
Ejemplo n.º 12
0
 def shifts(self, userName, start=None, end=None, limit=25, filter=False, query=None):
     loggedInUser = helper.getLoggedInUser()
     theUser = SSUser.read(loggedInUser)
     otherUser = SSUser.readByName(userName)
     if query != None:
         query = json.loads(query)
     if loggedInUser == otherUser.id or theUser.isAdmin():
         return data(otherUser.shifts(start=start,
                                      end=end,
                                      limit=limit,
                                      filter=filter,
                                      query=query))
     else:
         return error("You don't have permission to view this user's shifts.", PermissionError)
Ejemplo n.º 13
0
 def login(self, userName, password):
     loggedInUser = helper.getLoggedInUser()
     if not loggedInUser:
         theUser = SSUser.readByName(userName)
         if not theUser:
             return error("Invalid user name.", InvalidUserNameError)
         if theUser and (theUser.password == md5hash(password)):
             helper.setLoggedInUser(theUser.id)
             # TODO: perhaps don't update yet, might want to use for unread counts - David
             theUser.updateLastSeen()
             return data(theUser)
         else:
             return error("Incorrect password.", IncorrectPasswordError)
     else:
         return error("Already logged in.", AlreadyLoggedInError)
Ejemplo n.º 14
0
 def login(self, userName, password):
     loggedInUser = helper.getLoggedInUser()
     if not loggedInUser:
         theUser = SSUser.readByName(userName)
         if not theUser:
             return error("Invalid user name.", InvalidUserNameError)
         if theUser and (theUser.password == md5hash(password)):
             helper.setLoggedInUser(theUser.id)
             # TODO: perhaps don't update yet, might want to use for unread counts - David
             theUser.updateLastSeen()
             return data(theUser)
         else:
             return error("Incorrect password.", IncorrectPasswordError)
     else:
         return error("Already logged in.", AlreadyLoggedInError)
Ejemplo n.º 15
0
 def delete(self, userName):
     theUser = SSUser.readByName(userName)
     if not theUser:
         return error("User %s does not exist" % userName,
                      UserDoesNotExistError)
     loggedInUser = SSUser.read(helper.getLoggedInUser())
     if loggedInUser and loggedInUser.canModify(theUser):
         if theUser.id == loggedInUser.id:
             helper.setLoggedInUser(None)
         theUser.delete()
         return ack
     else:
         return error(
             "Operation not permitted. You don't have permission to delete this account."
         )
Ejemplo n.º 16
0
 def shifts(self,
            userName,
            start=None,
            end=None,
            limit=25,
            filter=False,
            query=None):
     loggedInUser = helper.getLoggedInUser()
     theUser = SSUser.read(loggedInUser)
     otherUser = SSUser.readByName(userName)
     if query != None:
         query = json.loads(query)
     if loggedInUser == otherUser.id or theUser.isAdmin():
         return data(
             otherUser.shifts(start=start,
                              end=end,
                              limit=limit,
                              filter=filter,
                              query=query))
     else:
         return error(
             "You don't have permission to view this user's shifts.",
             PermissionError)
Ejemplo n.º 17
0
 def info(self, userName):
     theUser = SSUser.readByName(userName)
     return data(theUser.info())
Ejemplo n.º 18
0
 def info(self, userName):
     theUser = SSUser.readByName(userName)
     return data(theUser.info())
Ejemplo n.º 19
0
 def resolveResource(self, userName):
     theUser = SSUser.readByName(userName)
     return (theUser and theUser.id)
Ejemplo n.º 20
0
 def resolveResource(self, userName):
     theUser = SSUser.readByName(userName)
     return (theUser and theUser.id)