distro_tracker.accounts
The app implements Distro Tracker accounts and their management.
distro_tracker.accounts.models
Models for the distro_tracker.accounts
app.
- class distro_tracker.accounts.models.User(*args, **kwargs)[source]
Bases:
User
Proxy model for
django_email_accounts.models.User
extending it with some Distro Tracker specific methods.- is_subscribed_to(package)[source]
Checks if the user is subscribed to the given package. The user is considered subscribed if at least one of its associated emails is subscribed.
- Parameters:
package (string or
distro_tracker.core.models.PackageName
) – The name of the package or a package instance
- unsubscribe_all(email=None)[source]
Terminate the user’s subscription associated to the given email. Uses the main email if not specified.
- exception DoesNotExist
Bases:
DoesNotExist
- exception MultipleObjectsReturned
Bases:
MultipleObjectsReturned
distro_tracker.accounts.views
Views for the distro_tracker.accounts
app.
- class distro_tracker.accounts.views.LoginView(**kwargs)[source]
Bases:
LoginView
- success_url = '/accounts/profile/'
- class distro_tracker.accounts.views.LogoutView(**kwargs)[source]
Bases:
LogoutView
- success_url = '/'
- class distro_tracker.accounts.views.RegisterUser(**kwargs)[source]
Bases:
ConfirmationRenderMixin
,RegisterUser
- success_url = '/accounts/register/success/'
- confirmation_email_subject = 'Example Package Tracker Registration Confirmation'
- confirmation_email_from_address = 'noreply@tracker.example.net'
- class distro_tracker.accounts.views.RegistrationConfirmation(**kwargs)[source]
Bases:
RegistrationConfirmation
- success_url = '/accounts/profile/'
- message = 'You have successfully registered to the Example Package Tracker'
- class distro_tracker.accounts.views.ResetPasswordView(**kwargs)[source]
Bases:
ConfirmationRenderMixin
,ResetPasswordView
- success_url = '/accounts/profile/'
- class distro_tracker.accounts.views.ForgotPasswordView(**kwargs)[source]
Bases:
ConfirmationRenderMixin
,ForgotPasswordView
- success_url = '/accounts/+reset-password/+success/'
- confirmation_email_subject = 'Example Package Tracker Password Reset Confirmation'
- confirmation_email_from_address = 'noreply@tracker.example.net'
- class distro_tracker.accounts.views.ChangePersonalInfoView(**kwargs)[source]
Bases:
ChangePersonalInfoView
- success_url = '/accounts/profile/modify/'
- class distro_tracker.accounts.views.PasswordChangeView(**kwargs)[source]
Bases:
PasswordChangeView
- success_url = '/accounts/profile/password-change/'
- class distro_tracker.accounts.views.ManageAccountEmailsView(**kwargs)[source]
Bases:
ConfirmationRenderMixin
,ManageAccountEmailsView
- success_url = '/accounts/+manage-emails/'
- merge_accounts_url = '/accounts/+merge-accounts/confirm/'
- confirmation_email_subject = 'Add Email To Example Package Tracker Account'
- confirmation_email_from_address = 'noreply@tracker.example.net'
- class distro_tracker.accounts.views.AccountMergeConfirmView(**kwargs)[source]
Bases:
ConfirmationRenderMixin
,AccountMergeConfirmView
- success_url = '/accounts/+merge-accounts/confirmed/'
- confirmation_email_subject = 'Merge Example Package Tracker Accounts'
- confirmation_email_from_address = 'noreply@tracker.example.net'
- class distro_tracker.accounts.views.AccountMergeFinalize(**kwargs)[source]
Bases:
AccountMergeFinalize
- success_url = '/accounts/+merge-accounts/finalized/'
- class distro_tracker.accounts.views.AccountMergeConfirmedView(**kwargs)[source]
Bases:
AccountMergeConfirmedView
- template_name = 'accounts/tracker-accounts-merge-confirmed.html'
- class distro_tracker.accounts.views.ConfirmAddAccountEmail(**kwargs)[source]
Bases:
ConfirmAddAccountEmail
- class distro_tracker.accounts.views.SubscriptionsView(**kwargs)[source]
Bases:
LoginRequiredMixin
,View
Displays a user’s subscriptions.
This includes both direct package subscriptions and team memberships.
- template_name = 'accounts/subscriptions.html'
- class distro_tracker.accounts.views.UserEmailsView(**kwargs)[source]
Bases:
LoginRequiredMixin
,View
Returns a JSON encoded list of the currently logged in user’s emails.
- class distro_tracker.accounts.views.SubscribeUserToPackageView(**kwargs)[source]
Bases:
LoginRequiredMixin
,View
Subscribes the user to a package.
The user whose email address is provided must currently be logged in.
- class distro_tracker.accounts.views.UnsubscribeUserView(**kwargs)[source]
Bases:
LoginRequiredMixin
,View
Unsubscribes the currently logged in user from the given package. An email can be optionally provided in which case only the given email is unsubscribed from the package, if the logged in user owns it.
- class distro_tracker.accounts.views.UnsubscribeAllView(**kwargs)[source]
Bases:
LoginRequiredMixin
,View
The view unsubscribes the currently logged in user from all packages. If an optional
email
POST parameter is provided, only removes all subscriptions for the given emails.
- class distro_tracker.accounts.views.ChooseSubscriptionEmailView(**kwargs)[source]
Bases:
LoginRequiredMixin
,View
Lets the user choose which email to subscribe to a package with. This is an alternative view when JS is disabled and the appropriate choice cannot be offered in a popup.
- template_name = 'accounts/choose-email.html'
distro_tracker.accounts.hooks
Functions that Distro-Tracker hooks into django_email_accounts.