Users

class fyt.users.models.DartmouthUser(id, is_superuser, netid, did, email, email2, name, last_login)[source]
Parameters:
  • id (AutoField) – Id
  • is_superuser (BooleanField) – <django.utils.functional.lazy.<locals>.__proxy__ object at 0x7f6fe76ec400>
  • netid (NetIdField) – Netid
  • did (CharField) – Did
  • email (EmailField) – Email address
  • email2 (EmailField) – Auxiliary email address
  • name (CharField) – Name
  • last_login (DateTimeField) – Last login
class fyt.users.models.DartmouthUserManager[source]

Object manager for DartmouthUser

create_user(netid, name, email=None, did=None)[source]

Create a user. Try and lookup user’s email in the Dartmouth Directory manager. If not found email is left empty.

get_or_create_by_netid(netid, name, did=None)[source]

Return the user with netid.

Create the user if necessary. Does not search via name, since names from different sources (CAS, DartDm lookup) can be slightly different.

Because we added the did field, some users do not have it set. Also, users added via the permissions/access page don’t have a did set. Check and fix it if possible.

sentinel()[source]

Sentinel user for edge cases.

class fyt.users.middleware.UserEmailRequiredMiddleware[source]

If an authenticated user does not have an email set, have them to enter it manually.

A user will have a blank email if create_user() fails to lookup the email.