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) – Usertitle (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
FileField(verbose_name=”Image”, upload_to=path_and_rename(), storage=<data.storage.OverwriteStorage object at 0x771d28d86e70>)
- 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.restaurantis aReverseOneToOneDescriptorinstance.
- 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 0x771d2a09a340>)
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)
- property 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.restaurantis aReverseOneToOneDescriptorinstance.
- 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 0x771d28c6db80>])
- clean()[source]
Hook for doing any extra model-wide validation after clean() has been called on every field by self.clean_fields. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field defined by NON_FIELD_ERRORS.
- crewchiefx
Reverse Manager for events.Event’s
crew_chief
- date_joined
DateTimeField(verbose_name=date joined, default=now())
- email
CharField(verbose_name=email address, max_length=254, blank=True)
- 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.restaurantis aReverseOneToOneDescriptorinstance.
- first_name
CharField(verbose_name=first name, max_length=150, blank=True)
- 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)
- property 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.restaurantis aReverseOneToOneDescriptorinstance.
- is_active
BooleanField(verbose_name=active, default=True, help_text=Designates whether this user should be treated as active. Unselect this instead of deleting accounts.)
Active: Designates whether this user should be treated as active. Unselect this instead of deleting accounts.
- property is_complete
Returns false if the user’s profile is incomplete. The user will be constantly reminded to complete their profile.
- property is_lnl
Is an LNL member
- is_staff
BooleanField(verbose_name=staff status, default=False, help_text=Designates whether the user can log into this admin site.)
Staff status: Designates whether the user can log into this admin site.
- is_superuser
BooleanField(verbose_name=superuser status, default=False, help_text=Designates that this user has all permissions without explicitly assigning them.)
Superuser status: Designates that this user has all permissions without explicitly assigning them.
- last_login
DateTimeField(verbose_name=last login, blank=True, null=True)
- last_name
CharField(verbose_name=last name, max_length=150, blank=True)
- 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)
- property mdc_name
- meeting_set
Reverse Manager for meetings.Meeting’s
attendance
- multibillingemail_set
Reverse Manager for events.MultiBillingEmail’s
email_to_users
- property 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
- property orgs
Organizations the user belongs to
- orgusers
Reverse Manager for events.Organization’s
associated_users
- property owns
Organizations the user owns
- password
CharField(verbose_name=password, max_length=128)
- 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.restaurantis aReverseOneToOneDescriptorinstance.
- 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.restaurantis aReverseOneToOneDescriptorinstance.
- 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
- username
CharField(verbose_name=username, max_length=150, unique=True, help_text=Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only., validators=[<django.contrib.auth.validators.UnicodeUsernameValidator object at 0x771d28d67500>], error_messages={‘unique’: ‘A user with that username already exists.’})
Username: Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.
- 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.restaurantis aReverseOneToOneDescriptorinstance.
- 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=162, default=[‘location’, ‘datetime_setup_complete’, ‘datetime_start’, ‘datetime_end’], choices=[(‘event_name’, ‘Event name’), (‘event_status’, ‘Status’), (‘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'
- 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
- 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
UserAddForm
- msg = 'Add User Manually'
- perms = 'accounts.add_user'
- template_name = 'form_crispy.html'
- class accounts.views.UserDetailView(**kwargs)[source]
View user profile
- 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
UserEditForm
- 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>}
- property media
Return all media required to render the widgets on this form.
- class accounts.forms.OfficerPhotoForm(*args, **kwargs)[source]
- class Meta[source]
- fields = ['img']
- model
alias of
ProfilePhoto
- base_fields = {'img': <django.forms.fields.ImageField object>}
- declared_fields = {}
- property media
Return all media required to render the widgets on this form.
- class accounts.forms.SMSOptInForm(*args, **kwargs)[source]
-
- 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>}
- property media
Return all media required to render the widgets on this form.
- class accounts.forms.UserAddForm(*args, **kwargs)[source]
-
- 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."}
- property media
Return all media required to render the widgets on this form.
- 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']
- 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>}
- property media
Return all media required to render the widgets on this form.
- 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
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>}
- property media
Return all media required to render the widgets on this form.