Accounts¶
This module is used to maintain user accounts and profile information.
Models¶
-
class
accounts.models.
Officer
(*args, **kwargs)[source]¶ Represents an Officer position
Parameters: - id (AutoField) – Id (required)
- user (OneToOneField to
User
) – User - title (CharField) – Officer position (required)
- img (OneToOneField to
ProfilePhoto
) – Img
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
id
¶ AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)
-
img
¶ OneToOneField(blank=True, null=True, related_name=”officer_img”, on_delete=SET_NULL(), to=
ProfilePhoto
)
-
objects
= <django.db.models.manager.Manager object>¶
-
title
¶ CharField(verbose_name=”Officer Position”, max_length=60)
-
class
accounts.models.
PhoneVerificationCode
(*args, **kwargs)[source]¶ Used for temporarily saving the last code sent to a user to verify their phone number
Parameters: - id (AutoField) – Id (required)
- user (OneToOneField to
User
) – User (required) - code (BigIntegerField) – Code (required)
- timestamp (DateTimeField) – Timestamp (required)
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
code
¶ BigIntegerField()
-
get_next_by_timestamp
(*, field=<django.db.models.fields.DateTimeField: timestamp>, is_next=True, **kwargs)¶
-
get_previous_by_timestamp
(*, field=<django.db.models.fields.DateTimeField: timestamp>, is_next=False, **kwargs)¶
-
id
¶ AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)
-
objects
= <django.db.models.manager.Manager object>¶
-
timestamp
¶ DateTimeField(auto_now_add=True)
-
class
accounts.models.
ProfilePhoto
(*args, **kwargs)[source]¶ Officer profile photo
Parameters: - id (AutoField) – Id (required)
- officer (OneToOneField to
User
) – Officer (required) - img (ImageField) – Image (required)
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
id
¶ AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)
-
img
¶ Just like the FileDescriptor, but for ImageFields. The only difference is assigning the width/height to the width_field/height_field, if appropriate.
-
objects
= <django.db.models.manager.Manager object>¶
-
officer_img
¶ Accessor to the related object on the reverse side of a one-to-one relation.
In the example:
class Restaurant(Model): place = OneToOneField(Place, related_name='restaurant')
Place.restaurant
is aReverseOneToOneDescriptor
instance.
-
class
accounts.models.
User
(*args, **kwargs)[source]¶ Extended User Class
Parameters: - id (AutoField) – Id (required)
- password (CharField) – Password (required)
- last_login (DateTimeField) – Last login
- is_superuser (BooleanField) – Designates that this user has all permissions without explicitly assigning them. (default=False)
- username (CharField) – Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only. (required)
- first_name (CharField) – First name (required)
- last_name (CharField) – Last name (required)
- email (EmailField) – Email address (required)
- is_staff (BooleanField) – Designates whether the user can log into this admin site. (default=False)
- is_active (BooleanField) – Designates whether this user should be treated as active. Unselect this instead of deleting accounts. (default=True)
- date_joined (DateTimeField) – Date joined (default=<function now at 0x7f2af5e248c0>)
- wpibox (IntegerField) – Wpi box number
- phone (CharField) – Phone number
- carrier (CharField) – By selecting your cellular carrier you consent to receiving text messages from LNL (default=)
- addr (TextField) – Address / office location
- mdc (CharField) – Mdc
- nickname (CharField) – Nickname
- student_id (PositiveIntegerField) – Student id
- class_year (PositiveIntegerField) – Class year
- locked (BooleanField) – Locked (default=False)
- away_exp (DateField) – Away status expiration
- onboarded (BooleanField) – Onboarding complete (default=False)
- pronouns (CharField) – Pronouns
- groups (ManyToManyField to
Group
) – The groups this user belongs to. A user will get all permissions granted to each of their groups. (required) - user_permissions (ManyToManyField to
Permission
) – Specific permissions for this user. (required)
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
addr
¶ TextField(verbose_name=”Address / Office Location”, blank=True, null=True)
-
all_orgs
¶ All organizations the user is associated with
-
auth_token
¶ Accessor to the related object on the reverse side of a one-to-one relation.
In the example:
class Restaurant(Model): place = OneToOneField(Place, related_name='restaurant')
Place.restaurant
is aReverseOneToOneDescriptor
instance.
-
away_exp
¶ DateField(verbose_name=”Away Status Expiration”, blank=True, null=True)
-
billingemail_set
¶ Reverse Manager for events.BillingEmail’s
email_to_users
-
carrier
¶ CharField(verbose_name=”Cellular Carrier”, max_length=25, blank=True, null=True, default=””, choices=[(‘’, ‘Opt-out’), (‘txt.att.net’, ‘AT&T’), (‘myboostmobile.com’, ‘Boost Mobile’), (‘mms.cricketwireless.net’, ‘Cricket’), (‘msg.fi.google.com’, ‘Google Fi’), (‘mymetropcs.com’, ‘Metro PCS’), (‘mmst5.tracfone.com’, ‘Simple Mobile’), (‘messaging.sprintpcs.com’, ‘Sprint’), (‘tmomail.net’, ‘T-Mobile’), (‘vtext.com’, ‘Verizon’), (‘vmobl.com’, ‘Virgin Mobile’), (‘vmobile.ca’, ‘Virgin Mobile Canada’), (‘vtext.com’, ‘Xfinity Mobile’)], help_text=”By selecting your cellular carrier you consent to receiving text messages from LNL”)
Cellular carrier: By selecting your cellular carrier you consent to receiving text messages from LNL
-
ccinstances
¶ Reverse Manager for events.EventCCInstance’s
crew_chief
-
ccreport_set
¶ Reverse Manager for events.CCReport’s
crew_chief
-
ccreportreminders
¶ Reverse Manager for events.ReportReminder’s
crew_chief
-
class_year
¶ PositiveIntegerField(blank=True, null=True, validators=[<django.core.validators.MinValueValidator object at 0x7f2af4952510>, <django.core.validators.MaxValueValidator object at 0x7f2af49524d0>])
-
crewchiefx
¶ Reverse Manager for events.Event’s
crew_chief
-
eventapprovals
¶ Reverse Manager for events.BaseEvent’s
approved_by
-
eventbillingreview
¶ Reverse Manager for events.BaseEvent’s
reviewed_by
-
eventcancellations
¶ Reverse Manager for events.BaseEvent’s
cancelled_by
-
exec_position
¶ Accessor to the related object on the reverse side of a one-to-one relation.
In the example:
class Restaurant(Model): place = OneToOneField(Place, related_name='restaurant')
Place.restaurant
is aReverseOneToOneDescriptor
instance.
-
get_carrier_display
(*, field=<django.db.models.fields.CharField: carrier>)¶
-
get_next_by_date_joined
(*, field=<django.db.models.fields.DateTimeField: date_joined>, is_next=True, **kwargs)¶
-
get_previous_by_date_joined
(*, field=<django.db.models.fields.DateTimeField: date_joined>, is_next=False, **kwargs)¶
-
group_str
¶ Groups the user belongs to
-
has_perm
(perm, obj=None)[source]¶ Returns True if the user has the specified permission. This method queries all available auth backends, but returns immediately if any backend returns True. Thus, a user who has permission from a single auth backend is assumed to have permission in general. If an object is provided, permissions for this specific object are checked.
This differs from the default in that superusers, while still having every permission, will be allowed after the logic has executed. This helps with typos in permission strings.
-
id
¶ AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)
-
img
¶ Accessor to the related object on the reverse side of a one-to-one relation.
In the example:
class Restaurant(Model): place = OneToOneField(Place, related_name='restaurant')
Place.restaurant
is aReverseOneToOneDescriptor
instance.
-
is_complete
¶ Returns false if the user’s profile is incomplete. The user will be constantly reminded to complete their profile.
-
is_lnl
¶ Is an LNL member
-
lnl_contact
¶ Reverse Manager for events.BaseEvent’s
lnl_contact
-
locked
¶ BooleanField(default=False)
-
logentry_set
¶ Reverse Manager for admin.LogEntry’s
user
-
mdc
¶ CharField(verbose_name=”MDC”, max_length=32, blank=True, null=True)
-
mdc_name
¶
-
meeting_set
¶ Reverse Manager for meetings.Meeting’s
attendance
-
multibillingemail_set
¶ Reverse Manager for events.MultiBillingEmail’s
email_to_users
-
name
¶ User’s full name
-
nickname
¶ CharField(verbose_name=”Nickname”, max_length=32, blank=True, null=True)
-
onboarded
¶ BooleanField(verbose_name=”Onboarding Complete”, default=False)
-
orgowner
¶ Reverse Manager for events.Organization’s
user_in_charge
-
orgs
¶ Organizations the user belongs to
-
orgusers
¶ Reverse Manager for events.Organization’s
associated_users
-
owns
¶ Organizations the user owns
-
phone
¶ CharField(verbose_name=”Phone Number”, max_length=24, blank=True, null=True)
-
preferences
¶ Accessor to the related object on the reverse side of a one-to-one relation.
In the example:
class Restaurant(Model): place = OneToOneField(Place, related_name='restaurant')
Place.restaurant
is aReverseOneToOneDescriptor
instance.
-
projectionist
¶ Accessor to the related object on the reverse side of a one-to-one relation.
In the example:
class Restaurant(Model): place = OneToOneField(Place, related_name='restaurant')
Place.restaurant
is aReverseOneToOneDescriptor
instance.
-
pronouns
¶ CharField(verbose_name=”Pronouns”, max_length=32, blank=True, null=True)
-
revision_set
¶ Reverse Manager for reversion.Revision’s
user
-
save
(*args, **kwargs)[source]¶ Save the current instance. Override this in a subclass if you want to control the saving process.
The ‘force_insert’ and ‘force_update’ parameters can be used to insist that the “save” must be an SQL insert or update (or equivalent for non-SQL backends), respectively. Normally, they should not be set.
-
student_id
¶ PositiveIntegerField(verbose_name=”Student ID”, blank=True, null=True)
-
submitter
¶ Reverse Manager for events.BaseEvent’s
submitted_by
-
token_requests
¶ Reverse Manager for api.TokenRequest’s
user
-
trainings_entered
¶ Reverse Manager for members.Training’s
recorded_by
-
trainings_revoked
¶ Reverse Manager for members.Trainee’s
revoked_by
-
user_permissions
¶ Reverse Manager for accounts.User’s
user_permissions
-
verification_codes
¶ Accessor to the related object on the reverse side of a one-to-one relation.
In the example:
class Restaurant(Model): place = OneToOneField(Place, related_name='restaurant')
Place.restaurant
is aReverseOneToOneDescriptor
instance.
-
verification_events
¶ Reverse Manager for events.OrgBillingVerificationEvent’s
verified_by
-
workdayentries
¶ Reverse Manager for events.Event2019’s
workday_entered_by
-
wpibox
¶ IntegerField(verbose_name=”WPI Box Number”, blank=True, null=True)
-
xfer_new
¶ Reverse Manager for events.OrganizationTransfer’s
new_user_in_charge
-
xfer_old
¶ Reverse Manager for events.OrganizationTransfer’s
old_user_in_charge
-
class
accounts.models.
UserPreferences
(*args, **kwargs)[source]¶ User-specific settings
Parameters: - id (AutoField) – Id (required)
- user (OneToOneField to
User
) – User (required) - theme (CharField) – Theme (default=default)
- rt_token (CharField) – Rt auth token
- cc_add_subscriptions (MultiSelectField) – Cc add subscriptions (default=email)
- cc_report_reminders (CharField) – Cc report reminders (default=email)
- event_edited_notification_methods (CharField) – Event edited notification methods (default=email)
- event_edited_field_subscriptions (MultiSelectField) – Event edited field subscriptions (default=[‘location’, ‘datetime_setup_complete’, ‘datetime_start’, ‘datetime_end’])
- ignore_user_action (BooleanField) – Uncheck this to ignore notifications for actions triggered by the user (default=False)
- meeting_invites (BooleanField) – Opt-in to receiving calendar invites for meetings (default=False)
- meeting_invite_subscriptions (ManyToManyField to
MeetingType
) – Meeting invite subscriptions (required)
-
exception
DoesNotExist
¶
-
exception
MultipleObjectsReturned
¶
-
cc_add_subscriptions
¶ CharField(max_length=11, blank=True, null=True, default=”email”, choices=[(‘email’, ‘Email’), (‘slack’, ‘Slack Notification’)])
-
cc_report_reminders
¶ CharField(max_length=12, default=”email”, choices=[(‘email’, ‘Email’), (‘slack’, ‘Slack Notification’), (‘all’, ‘Both’)])
-
event_edited_field_subscriptions
¶ CharField(max_length=149, default=[‘location’, ‘datetime_setup_complete’, ‘datetime_start’, ‘datetime_end’], choices=[(‘event_name’, ‘Event name’), (‘description’, ‘Description’), (‘location’, ‘Location’), (‘contact’, ‘Contact’), (‘lnl_contact’, ‘LNL contact’), (‘billing_org’, ‘Billing org’), (‘datetime_setup_complete’, ‘Datetime setup complete’), (‘datetime_start’, ‘Datetime start’), (‘datetime_end’, ‘Datetime end’), (‘internal_notes’, ‘Internal notes’), (‘billed_in_bulk’, ‘Billed in bulk’), (‘org’, ‘Client’)])
-
event_edited_notification_methods
¶ CharField(max_length=12, default=”email”, choices=[(‘email’, ‘Email’), (‘slack’, ‘Slack Notification’), (‘all’, ‘Both’)])
-
get_cc_add_subscriptions_display
()¶
-
get_cc_add_subscriptions_list
()¶
-
get_cc_report_reminders_display
(*, field=<django.db.models.fields.CharField: cc_report_reminders>)¶
-
get_event_edited_field_subscriptions_display
()¶
-
get_event_edited_field_subscriptions_list
()¶
-
get_event_edited_notification_methods_display
(*, field=<django.db.models.fields.CharField: event_edited_notification_methods>)¶
-
get_theme_display
(*, field=<django.db.models.fields.CharField: theme>)¶
-
id
¶ AutoField(verbose_name=”ID”, primary_key=True, serialize=False, auto_created=True)
-
ignore_user_action
¶ BooleanField(default=False, help_text=”Uncheck this to ignore notifications for actions triggered by the user”)
Ignore user action: Uncheck this to ignore notifications for actions triggered by the user
-
meeting_invite_subscriptions
¶ Reverse Manager for accounts.UserPreferences’s
meeting_invite_subscriptions
-
meeting_invites
¶ BooleanField(default=False, help_text=”Opt-in to receiving calendar invites for meetings”)
Meeting invites: Opt-in to receiving calendar invites for meetings
-
objects
= <django.db.models.manager.Manager object>¶
-
rt_token
¶ CharField(verbose_name=”RT Auth Token”, max_length=256, blank=True, null=True)
-
theme
¶ CharField(max_length=12, default=”default”, choices=[(‘default’, ‘Default’)])
Views¶
-
class
accounts.views.
ActiveList
(**kwargs)[source]¶ Lists active LNL members
-
accounts_disabled_column
= False¶
-
name
= 'Active List'¶
-
perms
= ['accounts.view_member']¶
-
positions
= False¶
-
queryset
¶
-
-
class
accounts.views.
AllMembersList
(**kwargs)[source]¶ Lists all LNL members
-
accounts_disabled_column
= False¶
-
name
= 'All Members List'¶
-
perms
= ['accounts.view_member']¶
-
positions
= False¶
-
queryset
¶
-
-
class
accounts.views.
AlumniList
(**kwargs)[source]¶ Lists LNL alumni
-
accounts_disabled_column
= False¶
-
name
= 'Alumni List'¶
-
perms
= ['accounts.view_member']¶
-
positions
= False¶
-
queryset
¶
-
-
class
accounts.views.
AssociateList
(**kwargs)[source]¶ Lists associate LNL members
-
accounts_disabled_column
= False¶
-
name
= 'Associate List'¶
-
perms
= ['accounts.view_member']¶
-
positions
= False¶
-
queryset
¶
-
-
class
accounts.views.
AwayList
(**kwargs)[source]¶ Lists LNL members on away status
-
accounts_disabled_column
= False¶
-
name
= 'Away List'¶
-
perms
= ['accounts.view_member']¶
-
positions
= False¶
-
queryset
¶
-
-
class
accounts.views.
BaseUserList
(**kwargs)[source]¶ Basic structure for user lists
-
context_object_name
= 'users'¶
-
model
¶ alias of
accounts.models.User
-
name
= 'User List'¶
-
perms
= ['accounts.view_user']¶
-
template_name
= 'users.html'¶
-
-
class
accounts.views.
InactiveList
(**kwargs)[source]¶ Lists inactive LNL members
-
accounts_disabled_column
= True¶
-
name
= 'Inactive List'¶
-
perms
= ['accounts.view_member']¶
-
positions
= False¶
-
queryset
¶
-
-
class
accounts.views.
LimboList
(**kwargs)[source]¶ Lists unassociated users
-
accounts_disabled_column
= False¶
-
name
= 'Users without Association'¶
-
positions
= False¶
-
queryset
¶
-
-
class
accounts.views.
OfficerList
(**kwargs)[source]¶ Lists LNL officers
-
accounts_disabled_column
= False¶
-
name
= 'Officer List'¶
-
perms
= ['accounts.view_member']¶
-
positions
= True¶
-
queryset
¶
-
-
class
accounts.views.
PasswordSetView
(**kwargs)[source]¶ Set a non-SSO login password
-
model
¶ alias of
accounts.models.User
-
msg
= 'Set Non-SSO Login Password'¶
-
template_name
= 'form_crispy.html'¶
-
user
= None¶
-
-
class
accounts.views.
UserAddView
(**kwargs)[source]¶ Add a new user manually (should rarely be used - LDAP does this for us)
-
form_class
¶ alias of
accounts.forms.UserAddForm
-
model
¶ alias of
accounts.models.User
-
msg
= 'Add User Manually'¶
-
perms
= 'accounts.add_user'¶
-
template_name
= 'form_crispy.html'¶
-
-
class
accounts.views.
UserDetailView
(**kwargs)[source]¶ View user profile
-
model
¶ alias of
accounts.models.User
-
perms
= ['accounts.view_user']¶
-
slug_field
= 'username'¶
-
slug_url_kwarg
= 'username'¶
-
template_name
= 'userdetail.html'¶
-
-
class
accounts.views.
UserUpdateView
(**kwargs)[source]¶ Update user profile
-
form_class
¶ alias of
accounts.forms.UserEditForm
-
model
¶ alias of
accounts.models.User
-
perms
= 'accounts.change_user'¶
-
slug_field
= 'username'¶
-
slug_url_kwarg
= 'username'¶
-
template_name
= 'form_crispy_cbv.html'¶
-
-
accounts.views.
application_scope_request
(request)[source]¶ Prompt the user to allow applications connected to the LNLDB to interact with one another. Redirects to the application’s callback uri.
-
accounts.views.
mdc_raw
(request)[source]¶ Downloads a CSV file containing the radio MDCs of LNL members
-
accounts.views.
officer_photos
(request, pk=None)[source]¶ Update officer headshot (displayed on the main LNL website about page)
-
accounts.views.
secretary_dashboard
(request)[source]¶ Dashboard for the secretary. Lists important member counts used in voting and suggests users to activate, deactivate, associate, or take off away status.
-
accounts.views.
shame
(request)[source]¶ The LNL Crew Chief Report Hall of Shame. Tracks members who fail to complete event reports and lists the top 10 on a leaderboard.
-
accounts.views.
smart_login
(request)[source]¶ Intelligent signin handler. Presents the Sign in with Microsoft option if enabled. If already logged in, redirects to the requested page (can be used to check for an active session). Also checks for the Prefer SAML cookie and automatically attempts to log in via Microsoft SSO if present. Falls back on Django’s native login form otherwise.
Forms¶
-
class
accounts.forms.
LoginForm
(*args, **kwargs)[source]¶ -
base_fields
= {'password': <django.forms.fields.CharField object>, 'username': <django.contrib.auth.forms.UsernameField object>}¶
-
declared_fields
= {'password': <django.forms.fields.CharField object>, 'username': <django.contrib.auth.forms.UsernameField object>}¶
-
media
¶
-
-
class
accounts.forms.
OfficerPhotoForm
(*args, **kwargs)[source]¶ -
class
Meta
[source]¶ -
fields
= ['img']¶
-
model
¶ alias of
accounts.models.ProfilePhoto
-
-
base_fields
= {'img': <django.forms.fields.ImageField object>}¶
-
declared_fields
= {}¶
-
media
¶
-
class
-
class
accounts.forms.
SMSOptInForm
(*args, **kwargs)[source]¶ -
class
Meta
[source]¶ -
fields
= ('phone', 'carrier')¶
-
model
¶ alias of
accounts.models.User
-
-
base_fields
= {'carrier': <django.forms.fields.ChoiceField object>, 'phone': <django.forms.fields.CharField object>}¶
-
declared_fields
= {'carrier': <django.forms.fields.ChoiceField object>, 'phone': <django.forms.fields.CharField object>}¶
-
media
¶
-
class
-
class
accounts.forms.
UserAddForm
(*args, **kwargs)[source]¶ -
class
Meta
[source]¶ -
fields
= ['username', 'email', 'first_name', 'last_name']¶
-
model
¶ alias of
accounts.models.User
-
-
base_fields
= {'email': <django.forms.fields.EmailField object>, 'first_name': <django.forms.fields.CharField object>, 'last_name': <django.forms.fields.CharField object>, 'password1': <django.forms.fields.CharField object>, 'password2': <django.forms.fields.CharField object>, 'username': <django.forms.fields.CharField object>}¶
-
declared_fields
= {'password1': <django.forms.fields.CharField object>, 'password2': <django.forms.fields.CharField object>}¶
-
error_messages
= {'password_mismatch': "The two password fields didn't match."}¶
-
media
¶
-
class
-
class
accounts.forms.
UserEditForm
(*args, **kwargs)[source]¶ -
class
FieldAccess
[source]¶ -
edit_groups
= <data.forms.FieldAccessLevel object>¶
-
edit_mdc
= <data.forms.FieldAccessLevel object>¶
-
edit_student_id
= <data.forms.FieldAccessLevel object>¶
-
hasperm
= <data.forms.FieldAccessLevel object>¶
-
thisisme
= <data.forms.FieldAccessLevel object>¶
-
unaffiliated
= <data.forms.FieldAccessLevel object>¶
-
-
class
Meta
[source]¶ -
fields
= ['username', 'email', 'first_name', 'last_name', 'nickname', 'pronouns', 'groups', 'addr', 'wpibox', 'mdc', 'phone', 'class_year', 'student_id', 'away_exp', 'carrier', 'title']¶
-
model
¶ alias of
accounts.models.User
-
-
base_fields
= {'addr': <django.forms.fields.CharField object>, 'away_exp': <django.forms.fields.DateField object>, 'carrier': <django.forms.fields.TypedChoiceField object>, 'class_year': <django.forms.fields.IntegerField object>, 'email': <django.forms.fields.EmailField object>, 'first_name': <django.forms.fields.CharField object>, 'groups': <django.forms.models.ModelMultipleChoiceField object>, 'last_name': <django.forms.fields.CharField object>, 'mdc': <django.forms.fields.CharField object>, 'nickname': <django.forms.fields.CharField object>, 'phone': <django.forms.fields.CharField object>, 'pronouns': <django.forms.fields.CharField object>, 'student_id': <django.forms.fields.IntegerField object>, 'title': <django.forms.models.ModelChoiceField object>, 'username': <django.forms.fields.CharField object>, 'wpibox': <django.forms.fields.IntegerField object>}¶
-
declared_fields
= {'title': <django.forms.models.ModelChoiceField object>}¶
-
media
¶
-
class
-
class
accounts.forms.
UserPreferencesForm
(*args, **kwargs)[source]¶ -
class
Meta
[source]¶ -
fields
= ('theme', 'cc_add_subscriptions', 'cc_report_reminders', 'event_edited_notification_methods', 'event_edited_field_subscriptions', 'ignore_user_action', 'meeting_invites', 'meeting_invite_subscriptions')¶
-
layout
= [('Text', '<div class="ui secondary segment"><h4 class="ui dividing header">Appearance</h4>'), ('Field', 'theme'), ('Text', '</div><div class="ui secondary segment nobullet"><h4 class="ui dividing header">Communications</h4><div class="ui styled accordion" style="width: 100%"><div class="title"><i class="dropdown icon"></i>LNL News</div><div class="content"><p class="ui help">General club information, advertisements and meeting notices. This content will typically be sent to the <em>lnl-news@wpi.edu</em> email alias. You may opt out of receiving these messages at any time through Outlook.</p>'), ('Text', '<a href="https://lnl.wpi.edu/legal/opt-out/" class="ui blue basic button">Opt out</a>'), ('Text', '</div><div class="title"><i class="dropdown icon"></i>Crew Chief Add Notifications</div><div class="content"><p class="ui help">Receive a notification whenever you are added as a Crew Chief for a new event.</p>'), ('Field', 'cc_add_subscriptions'), ('Text', '</div><div class="title"><i class="dropdown icon"></i>Crew Chief Report Reminders</div><div class="content"><p class="ui help">Receive reminders for missing crew chief reports.</p>'), ('Field', 'cc_report_reminders'), ('Text', '</div><div class="title"><i class="dropdown icon"></i>Crew Chief Needed Notifications</div><div class="content"><p class="ui help">Receive an alert whenever the VP needs crew chiefs to run an event.</p>'), ('Field', 'cc_needed_subscriptions'), ('Text', '</div><div class="title"><i class="dropdown icon"></i>Event Edit Notifications</div><div class="content"><p class="ui help">Receive alerts whenever details for an event you are involved with have changed.</p>'), ('Field', 'event_edited_notification_methods'), ('Text', '<br><hr style=\'border: 1px dashed gray\'><br><p class"ui help">Notify me of changes to any of the following fields:<br><br><span class="ui label">Location</span><span class="ui label">Event Setup Time</span><span class="ui label">Event Start</span><span class="ui label">Event End</span></p>'), ('Field', 'event_edited_field_subscriptions'), ('Text', '</div><div class="title"><i class="dropdown icon"></i>Web Service Notifications</div><div class="content"><p class="ui help">General account and system-wide notices. You may not unsubscribe from these messages.</p>'), ('Field', 'srv'), ('Text', '</div></div><br><div class="ui styled accordion" style="width: 100%"><div class="title"><i class="dropdown icon"></i>Calendar Invites - Meetings</div><div class="content">'), ('Field', 'meeting_invites'), ('Text', '<br><hr style=\'border: 1px dashed gray\'><p class"ui help">Automatically send me invites for the following types of meetings:<br>'), ('Field', 'meeting_invite_subscriptions'), ('Text', '</div></div><div class="ui segment">'), ('Field', 'ignore_user_action'), ('Text', '</div></div><div class="ui secondary segment"><h4 class="ui dividing header">Request Tracker</h4>'), ('Text', '<a href="/support/connect/rt/" class="ui green basic button">Connect Account</a>'), ('Text', '</div>')]¶
-
model
¶ alias of
accounts.models.UserPreferences
-
-
base_fields
= {'cc_add_subscriptions': <django.forms.fields.MultipleChoiceField object>, 'cc_needed_subscriptions': <django.forms.fields.MultipleChoiceField object>, 'cc_report_reminders': <django.forms.fields.ChoiceField object>, 'event_edited_field_subscriptions': <django.forms.fields.MultipleChoiceField object>, 'event_edited_notification_methods': <django.forms.fields.ChoiceField object>, 'ignore_user_action': <django.forms.fields.BooleanField object>, 'meeting_invite_subscriptions': <django.forms.models.ModelMultipleChoiceField object>, 'meeting_invites': <django.forms.fields.BooleanField object>, 'srv': <django.forms.fields.MultipleChoiceField object>, 'theme': <django.forms.fields.TypedChoiceField object>}¶
-
declared_fields
= {'cc_add_subscriptions': <django.forms.fields.MultipleChoiceField object>, 'cc_needed_subscriptions': <django.forms.fields.MultipleChoiceField object>, 'cc_report_reminders': <django.forms.fields.ChoiceField object>, 'event_edited_field_subscriptions': <django.forms.fields.MultipleChoiceField object>, 'event_edited_notification_methods': <django.forms.fields.ChoiceField object>, 'ignore_user_action': <django.forms.fields.BooleanField object>, 'meeting_invite_subscriptions': <django.forms.models.ModelMultipleChoiceField object>, 'meeting_invites': <django.forms.fields.BooleanField object>, 'srv': <django.forms.fields.MultipleChoiceField object>}¶
-
media
¶
-
class