diff --git a/README.md b/README.md index fd82560..5c8aeb6 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,18 @@ Bulk invites are supported via JSON. Post a list of comma separated emails to t App registry path of the invitation model used in the current project, for customization purposes. +* `INVITE_FORM` (default=`invitations.forms.InviteForm`) + + Form class used for sending invites outside admin. + +* `ADMIN_ADD_FORM` (default=`invitations.forms.InvitationAdminAddForm`) + + Form class used for sending invites in admin. + +* `ADMIN_CHANGE_FORM` (default=`invitations.forms.InvitationAdminChangeForm`) + + Form class used for updating invitations in admin. + ### Signals The following signals are emitted: diff --git a/invitations/app_settings.py b/invitations/app_settings.py index d2b59d1..bc23ad7 100644 --- a/invitations/app_settings.py +++ b/invitations/app_settings.py @@ -6,9 +6,8 @@ class AppSettings(object): def __init__(self, prefix): self.prefix = prefix - def _setting(self, name, dflt): - from django.conf import settings - return getattr(settings, self.prefix + name, dflt) + def _setting(self, name, default): + return getattr(settings, self.prefix + name, default) @property def INVITATION_EXPIRY(self): @@ -82,10 +81,16 @@ def INVITATION_MODEL(self): @property def INVITE_FORM(self): + """ + Form class used for sending invites outside admin. + """ return self._setting("INVITE_FORM", "invitations.forms.InviteForm") @property def ADMIN_ADD_FORM(self): + """ + Form class used for sending invites in admin. + """ return self._setting( "ADMIN_ADD_FORM", "invitations.forms.InvitationAdminAddForm" @@ -93,6 +98,9 @@ def ADMIN_ADD_FORM(self): @property def ADMIN_CHANGE_FORM(self): + """ + Form class used for updating invitations in admin. + """ return self._setting( "ADMIN_CHANGE_FORM", "invitations.forms.InvitationAdminChangeForm" diff --git a/invitations/utils.py b/invitations/utils.py index f966614..f8c2c7b 100644 --- a/invitations/utils.py +++ b/invitations/utils.py @@ -18,14 +18,23 @@ def import_attribute(path): def get_invite_form(): + """ + Returns the form for sending an invite. + """ return import_attribute(app_settings.INVITE_FORM) def get_invitation_admin_add_form(): + """ + Returns the form for creating a new invitation in admin. + """ return import_attribute(app_settings.ADMIN_ADD_FORM) def get_invitation_admin_change_form(): + """ + Returns the form for changing invitations in admin. + """ return import_attribute(app_settings.ADMIN_CHANGE_FORM)