PaferaPy Async 0.1
ASGI framework focused on simplicity and efficiency
All Classes Namespaces Files Functions Variables
Public Member Functions | List of all members
system.user.system_user Class Reference

User accounts for the system. More...

Inheritance diagram for system.user.system_user:
pafera.modelbase.ModelBase

Public Member Functions

def __init__ (self)
 Initialize all fields at creation like a good programmer should. More...
 
- Public Member Functions inherited from pafera.modelbase.ModelBase
def __cmp__ (self, o)
 Comparing means simply subracting the database ids. More...
 
def __eq__ (self, o)
 Two objects are equivalent if their models are the same and their IDs are the same. More...
 
def __hash__ (self)
 We take the easy route where the hash for an object is just its database ID. More...
 
def __init__ (self)
 Initialize all fields at creation like a good programmer should. More...
 
def __repr__ (self)
 Simply outputs the toJSON() function with the model name. More...
 
def __str__ (self)
 Simply calls the toJSON() function. More...
 
def CheckPassword (self, field, password)
 This special function checks to see if the password matches the hash stored in the field. More...
 
def GetACL (self, db)
 Since we store ACLs as a database lookup, be sure to use these getters and setters if you plan on using ACLs. More...
 
def HasSameValues (self, o)
 While operator = only checks class and ids, this checks every field to see if two objects or an object and a dict have the same values. More...
 
def OffsetTime (self, timeoffset)
 Change all datetime fields to the new time offset. More...
 
def Set (self, **kwargs)
 We use this method instead of direct attribute access in order to keep track of what values have been changed. More...
 
def SetAccess (self, access)
 Special security functions that are useful only if you have enabled security in _dbflags for the model. More...
 
def SetACL (self, db, acl)
 ACLs in Pafera are defined as a set of rules similar to cascading style sheets. More...
 
def SetGroup (self, groupid)
 Special security functions that are useful only if you have enabled security in _dbflags for the model. More...
 
def SetOwner (self, ownerid)
 Special security functions that are useful only if you have enabled security in _dbflags for the model. More...
 
def SetPassword (self, field, password)
 This special function hashes the password before saving the field. More...
 
def ToJSON (self, fields='')
 Converts this object into a format suitable for inclusion in JSON. More...
 
def UpdateFields (self, fieldnames)
 This is a convenience method to update fields without going through the Set() method. More...
 

Additional Inherited Members

- Public Attributes inherited from pafera.modelbase.ModelBase
 d
 
 dbaccess
 
 dbacl
 
 dbaclid
 
 dbgroup
 
 dbowner
 
 id
 
- Static Public Attributes inherited from pafera.modelbase.ModelBase
list SECURE_FIELDS
 

Detailed Description

User accounts for the system.

Handles logins, uploads, storage quotas, access tokens, and the such.

Pafera adds a place field to the traditional username/password combination, both for added security and to allow different places to use the same phone number for their own accounts. It's the unique combination of (phonenumber, place, password) that identifies a particular user.

Note that displayname is a translation field, meaning that that a user can have their own names in different languages.

expiredate is when the user account will expire. Set it far into the future for your own administrator account.

canmanage and managedby are used for managed accounts such as students being managed by a teacher. Managed accounts cannot change anything besides change their own password.

accesstokens are used by the system to allow APIs to assume the identity of a user. The APIs used must be explicitly specified for the token to work. The token format is a dict such as { "token": tokenvalue, "expiredate": timestamp, "apilist": [ '/system/fileapi:search', '/system/fileapi:load', '/system/fileapi:save' ] }

Definition at line 33 of file user.py.

Constructor & Destructor Documentation

◆ __init__()

def system.user.system_user.__init__ (   self)

Initialize all fields at creation like a good programmer should.

Reimplemented from pafera.modelbase.ModelBase.

Definition at line 150 of file user.py.


The documentation for this class was generated from the following file: