Portal Forms

inyoka.portal.forms

Various forms for the portal.

copyright:
  1. 2007-2024 by the Inyoka Team, see AUTHORS for more details.

license:

BSD, see LICENSE for more details.

class inyoka.portal.forms.ConfigurationForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)
base_fields = {'blocked_hosts': <django.forms.fields.CharField object>, 'countdown_active': <django.forms.fields.BooleanField object>, 'countdown_date': <django.forms.fields.DateField object>, 'countdown_image_url': <django.forms.fields.CharField object>, 'countdown_target_page': <django.forms.fields.CharField object>, 'distri_versions': <django.forms.fields.CharField object>, 'global_message': <django.forms.fields.CharField object>, 'ikhaya_description': <django.forms.fields.CharField object>, 'license_note': <django.forms.fields.CharField object>, 'planet_description': <django.forms.fields.CharField object>, 'team_icon': <django.forms.fields.ImageField object>, 'welcome_message': <django.forms.fields.CharField object>, 'wiki_edit_note': <django.forms.fields.CharField object>, 'wiki_newpage_infopage': <django.forms.fields.CharField object>, 'wiki_newpage_root': <django.forms.fields.CharField object>, 'wiki_newpage_template': <django.forms.fields.CharField object>}
clean_countdown_image_url()
clean_distri_versions()
declared_fields = {'blocked_hosts': <django.forms.fields.CharField object>, 'countdown_active': <django.forms.fields.BooleanField object>, 'countdown_date': <django.forms.fields.DateField object>, 'countdown_image_url': <django.forms.fields.CharField object>, 'countdown_target_page': <django.forms.fields.CharField object>, 'distri_versions': <django.forms.fields.CharField object>, 'global_message': <django.forms.fields.CharField object>, 'ikhaya_description': <django.forms.fields.CharField object>, 'license_note': <django.forms.fields.CharField object>, 'planet_description': <django.forms.fields.CharField object>, 'team_icon': <django.forms.fields.ImageField object>, 'welcome_message': <django.forms.fields.CharField object>, 'wiki_edit_note': <django.forms.fields.CharField object>, 'wiki_newpage_infopage': <django.forms.fields.CharField object>, 'wiki_newpage_root': <django.forms.fields.CharField object>, 'wiki_newpage_template': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.CreateUserForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)
base_fields = {'authenticate': <django.forms.fields.BooleanField object>, 'confirm_password': <django.forms.fields.CharField object>, 'email': <inyoka.utils.forms.EmailField object>, 'password': <django.forms.fields.CharField object>, 'username': <django.forms.fields.CharField object>}
clean_confirm_password()

Validates that the two password inputs match.

clean_email()

Validates if the required field email contains a non existing mail address.

clean_username()

Validates that the username is alphanumeric and is not already in use.

declared_fields = {'authenticate': <django.forms.fields.BooleanField object>, 'confirm_password': <django.forms.fields.CharField object>, 'email': <inyoka.utils.forms.EmailField object>, 'password': <django.forms.fields.CharField object>, 'username': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.DeactivateUserForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)

Form for the user control panel – deactivate_user view.

base_fields = {'password_confirmation': <django.forms.fields.CharField object>}
declared_fields = {'password_confirmation': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.EditFileForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None, use_required_attribute=None, renderer=None)
class Meta
exclude = ['identifier']
model

alias of StaticFile

_meta = <django.forms.models.ModelFormOptions object>
base_fields = {'file': <django.forms.fields.FileField object>, 'is_ikhaya_icon': <django.forms.fields.BooleanField object>}
clean_file()
declared_fields = {}
property media

Return all media required to render the widgets on this form.

save(commit=True)

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

class inyoka.portal.forms.EditGroupForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, instance=None, use_required_attribute=None, renderer=None)
class Meta
fields = ('name',)
model

alias of Group

_meta = <django.forms.models.ModelFormOptions object>
base_fields = {'name': <django.forms.fields.CharField object>}
clean_name()

Validates that the name is alphanumeric

declared_fields = {'name': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.EditStaticPageForm(*args, **kwargs)
class Meta
fields = ('key', 'title', 'content')
model

alias of StaticPage

_meta = <django.forms.models.ModelFormOptions object>
base_fields = {'content': <django.forms.fields.CharField object>, 'key': <django.forms.fields.SlugField object>, 'title': <django.forms.fields.CharField object>}
clean()

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

clean_key()
declared_fields = {}
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.EditUserGroupsForm(*args, **kwargs)
base_fields = {'groups': <django.forms.models.ModelMultipleChoiceField object>}
clean_groups()
declared_fields = {'groups': <django.forms.models.ModelMultipleChoiceField object>}
groupWidget = <django.forms.widgets.CheckboxSelectMultiple object>
property media

Return all media required to render the widgets on this form.

save(commit=True)
class inyoka.portal.forms.EditUserPasswordForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)
base_fields = {'confirm_password': <django.forms.fields.CharField object>, 'new_password': <django.forms.fields.CharField object>}
clean_confirm_password()

Validates that the two password inputs match.

declared_fields = {'confirm_password': <django.forms.fields.CharField object>, 'new_password': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.EditUserProfileForm(*args, **kwargs)
class Meta
fields = ['jabber', 'signature', 'location', 'website', 'gpgkey', 'launchpad', 'avatar', 'icon', 'username', 'member_title']
_meta = <django.forms.models.ModelFormOptions object>
base_fields = {'avatar': <django.forms.fields.ImageField object>, 'coordinates': <django.forms.fields.CharField object>, 'email': <inyoka.utils.forms.EmailField object>, 'gpgkey': <django.forms.fields.CharField object>, 'icon': <django.forms.fields.FilePathField object>, 'jabber': <inyoka.utils.forms.JabberFormField object>, 'launchpad': <django.forms.fields.CharField object>, 'location': <django.forms.fields.CharField object>, 'member_title': <django.forms.fields.CharField object>, 'show_email': <django.forms.fields.BooleanField object>, 'signature': <django.forms.fields.CharField object>, 'use_gravatar': <django.forms.fields.BooleanField object>, 'username': <django.forms.fields.CharField object>, 'userpage': <django.forms.fields.CharField object>, 'website': <django.forms.fields.URLField object>}
clean_icon()
clean_username()

Validates that the username is alphanumeric and is not already in use.

declared_fields = {'coordinates': <django.forms.fields.CharField object>, 'email': <inyoka.utils.forms.EmailField object>, 'gpgkey': <django.forms.fields.CharField object>, 'show_email': <django.forms.fields.BooleanField object>, 'use_gravatar': <django.forms.fields.BooleanField object>, 'userpage': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.EditUserStatusForm(*args, **kwargs)
class Meta
fields = ['status', 'banned_until']
model

alias of User

_meta = <django.forms.models.ModelFormOptions object>
base_fields = {'banned_until': <django.forms.fields.DateTimeField object>, 'status': <django.forms.fields.TypedChoiceField object>}
clean()

Keep the user from setting banned_until if status is not banned.

declared_fields = {}
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.FeedSelectorForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)
base_fields = {'count': <django.forms.fields.IntegerField object>, 'mode': <django.forms.fields.ChoiceField object>}
clean()

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

declared_fields = {'count': <django.forms.fields.IntegerField object>, 'mode': <django.forms.fields.ChoiceField object>}
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.ForumFeedSelectorForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)
base_fields = {'component': <django.forms.fields.ChoiceField object>, 'count': <django.forms.fields.IntegerField object>, 'forum': <django.forms.fields.ChoiceField object>, 'mode': <django.forms.fields.ChoiceField object>}
clean_forum()
declared_fields = {'component': <django.forms.fields.ChoiceField object>, 'count': <django.forms.fields.IntegerField object>, 'forum': <django.forms.fields.ChoiceField object>, 'mode': <django.forms.fields.ChoiceField object>}
property media

Return all media required to render the widgets on this form.

inyoka.portal.forms.GLOBAL_PRIVILEGE_MODELS = {'auth': ('group',), 'forum': ('forum', 'topic'), 'ikhaya': ('article', 'category', 'comment', 'report', 'suggestion'), 'pastebin': ('entry',), 'planet': ('entry', 'blog'), 'portal': ('event', 'user', 'staticfile', 'staticpage', 'storage', 'linkmap')}

Some constants used for ChoiceFields

class inyoka.portal.forms.GroupForumPermissionForm(*args, **kwargs)
property _forum_fields
_forum_instance_permissions(forum)
base_fields = {}
clean()

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

declared_fields = {}
property media

Return all media required to render the widgets on this form.

save(commit=True)
class inyoka.portal.forms.GroupGlobalPermissionForm(*args, **kwargs)
AUTH_FILTERED_PERMISSIONS = ('auth.delete_group', 'auth.view_group', 'auth.add_permission', 'auth.change_permission', 'auth.delete_permission')
FORUM_FILTERED_PERMISSIONS = ('forum.add_forum', 'forum.add_reply_forum', 'forum.add_topic', 'forum.add_topic_forum', 'forum.change_topic', 'forum.delete_forum', 'forum.delete_topic', 'forum.delete_topic_forum', 'forum.moderate_forum', 'forum.poll_forum', 'forum.sticky_forum', 'forum.upload_forum', 'forum.view_forum', 'forum.view_topic', 'forum.vote_forum')
IKHAYA_FILTERED_PERMISSIONS = ('ikhaya.add_article', 'ikhaya.view_article', 'ikhaya.add_category', 'ikhaya.view_category', 'ikhaya.add_comment', 'ikhaya.view_comment', 'ikhaya.add_report', 'ikhaya.view_report', 'ikhaya.add_suggestion', 'ikhaya.view_suggestion', 'ikhaya.change_report', 'ikhaya.change_suggestion', 'ikhaya.delete_category', 'ikhaya.delete_comment', 'ikhaya.delete_report')
MANAGED_APPS = ('auth', 'ikhaya', 'portal', 'pastebin', 'planet', 'forum')
PASTEBIN_FILTERED_PERMISSIONS = ('pastebin.change_entry',)
PLANET_FILTERED_PERMISSIONS = ('planet.add_blog', 'planet.add_entry', 'planet.view_entry', 'planet.change_entry', 'planet.delete_entry', 'planet.delete_blog')
PORTAL_FILTERED_PERMISSIONS = ('portal.view_event', 'portal.delete_user', 'portal.view_user', 'portal.add_staticfile', 'portal.view_staticfile', 'portal.add_staticpage', 'portal.view_staticpage', 'portal.add_storage', 'portal.delete_storage', 'portal.view_storage', 'portal.add_linkmap', 'portal.delete_linkmap', 'portal.view_linkmap')
_clean_permissions(modulename)
_sync_permissions(modulename)
base_fields = {'auth_permissions': <django.forms.fields.MultipleChoiceField object>, 'forum_permissions': <django.forms.fields.MultipleChoiceField object>, 'ikhaya_permissions': <django.forms.fields.MultipleChoiceField object>, 'pastebin_permissions': <django.forms.fields.MultipleChoiceField object>, 'planet_permissions': <django.forms.fields.MultipleChoiceField object>, 'portal_permissions': <django.forms.fields.MultipleChoiceField object>}
clean_auth_permissions()
clean_forum_permissions()
clean_ikhaya_permissions()
clean_pastebin_permissions()
clean_planet_permissions()
clean_portal_permissions()
declared_fields = {'auth_permissions': <django.forms.fields.MultipleChoiceField object>, 'forum_permissions': <django.forms.fields.MultipleChoiceField object>, 'ikhaya_permissions': <django.forms.fields.MultipleChoiceField object>, 'pastebin_permissions': <django.forms.fields.MultipleChoiceField object>, 'planet_permissions': <django.forms.fields.MultipleChoiceField object>, 'portal_permissions': <django.forms.fields.MultipleChoiceField object>}
property media

Return all media required to render the widgets on this form.

save(commit=True)
class inyoka.portal.forms.IkhayaFeedSelectorForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)
base_fields = {'category': <django.forms.fields.ChoiceField object>, 'count': <django.forms.fields.IntegerField object>, 'mode': <django.forms.fields.ChoiceField object>}
declared_fields = {'category': <django.forms.fields.ChoiceField object>, 'count': <django.forms.fields.IntegerField object>, 'mode': <django.forms.fields.ChoiceField object>}
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.LoginForm(request=None, *args, **kwargs)

Simple form for the login dialog

base_fields = {'password': <django.forms.fields.CharField object>, 'permanent': <django.forms.fields.BooleanField object>, 'username': <django.contrib.auth.forms.UsernameField object>}
clean()

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

declared_fields = {'password': <django.forms.fields.CharField object>, 'permanent': <django.forms.fields.BooleanField object>, 'username': <django.contrib.auth.forms.UsernameField object>}
mail = 'contact@inyokaproject.org'
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.LostPasswordForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)
base_fields = {'email': <django.forms.fields.EmailField object>}
declared_fields = {'email': <django.forms.fields.EmailField object>}
get_users(email)

Customized from upstream Django. Django believes is_active to be a field in the database, but it is not in our data model.

property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.PlanetFeedSelectorForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)
base_fields = {'count': <django.forms.fields.IntegerField object>, 'mode': <django.forms.fields.ChoiceField object>}
declared_fields = {'count': <django.forms.fields.IntegerField object>, 'mode': <django.forms.fields.ChoiceField object>}
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.PrivateMessageForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)

Form for writing a new private message

base_fields = {'group_recipient': <django.forms.fields.CharField object>, 'recipient': <django.forms.fields.CharField object>, 'subject': <django.forms.fields.CharField object>, 'text': <django.forms.fields.CharField object>}
clean()

Hook for doing any extra form-wide cleaning after Field.clean() has been called on every field. Any ValidationError raised by this method will not be associated with a particular field; it will have a special-case association with the field named ‘__all__’.

declared_fields = {'group_recipient': <django.forms.fields.CharField object>, 'recipient': <django.forms.fields.CharField object>, 'subject': <django.forms.fields.CharField object>, 'text': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.PrivateMessageFormProtected(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)
base_fields = {'group_recipient': <django.forms.fields.CharField object>, 'recipient': <django.forms.fields.CharField object>, 'subject': <django.forms.fields.CharField object>, 'text': <django.forms.fields.CharField object>}
declared_fields = {'group_recipient': <django.forms.fields.CharField object>, 'recipient': <django.forms.fields.CharField object>, 'subject': <django.forms.fields.CharField object>, 'text': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

surge_protection_timeout = 300
class inyoka.portal.forms.PrivateMessageIndexForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)
base_fields = {'delete': <django.forms.fields.MultipleChoiceField object>}
declared_fields = {'delete': <django.forms.fields.MultipleChoiceField object>}
delete

this is a list of integers of the pms that should get deleted

property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.RegisterForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)

Form for registering a new user account.

Validates that the requested username is not already in use, and requires the password to be entered twice to catch typos. The user also needs to confirm our terms of usage and there are some techniques for bot catching included e.g a CAPTCHA and a hidden captcha for bots that just fill out everything.

base_fields = {'captcha': <inyoka.utils.forms.CaptchaField object>, 'confirm_password': <django.forms.fields.CharField object>, 'email': <inyoka.utils.forms.EmailField object>, 'password': <django.forms.fields.CharField object>, 'terms_of_usage': <django.forms.fields.BooleanField object>, 'username': <django.forms.fields.CharField object>}
clean()

Validates that the two password inputs match.

clean_email()

Validates if the required field email contains a non-existing mail address.

clean_terms_of_usage()

Validates that the user agrees our terms of usage

clean_username()

Validates that the username is alphanumeric and is not already in use.

declared_fields = {'captcha': <inyoka.utils.forms.CaptchaField object>, 'confirm_password': <django.forms.fields.CharField object>, 'email': <inyoka.utils.forms.EmailField object>, 'password': <django.forms.fields.CharField object>, 'terms_of_usage': <django.forms.fields.BooleanField object>, 'username': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

use_required_attribute = False
class inyoka.portal.forms.SubscriptionForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)
base_fields = {'select': <django.forms.fields.MultipleChoiceField object>}
declared_fields = {'select': <django.forms.fields.MultipleChoiceField object>}
property media

Return all media required to render the widgets on this form.

select

this is a list of integers of the subscriptions

class inyoka.portal.forms.TokenForm(*args, **kwargs)
base_fields = {'token': <django.forms.fields.CharField object>}
clean_token()
declared_fields = {'token': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.UserCPProfileForm(*args, **kwargs)
class Meta
fields = ['jabber', 'signature', 'location', 'website', 'gpgkey', 'launchpad', 'avatar']
model

alias of User

_meta = <django.forms.models.ModelFormOptions object>
base_fields = {'avatar': <django.forms.fields.ImageField object>, 'coordinates': <django.forms.fields.CharField object>, 'email': <inyoka.utils.forms.EmailField object>, 'gpgkey': <django.forms.fields.CharField object>, 'jabber': <inyoka.utils.forms.JabberFormField object>, 'launchpad': <django.forms.fields.CharField object>, 'location': <django.forms.fields.CharField object>, 'show_email': <django.forms.fields.BooleanField object>, 'signature': <django.forms.fields.CharField object>, 'use_gravatar': <django.forms.fields.BooleanField object>, 'userpage': <django.forms.fields.CharField object>, 'website': <django.forms.fields.URLField object>}
clean_avatar()

Keep the user from setting an avatar to a too big size.

clean_email()
clean_gpgkey()
clean_signature()
declared_fields = {'coordinates': <django.forms.fields.CharField object>, 'email': <inyoka.utils.forms.EmailField object>, 'gpgkey': <django.forms.fields.CharField object>, 'show_email': <django.forms.fields.BooleanField object>, 'use_gravatar': <django.forms.fields.BooleanField object>, 'userpage': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

save(request, commit=True)

Save this form’s self.instance object if commit=True. Otherwise, add a save_m2m() method to the form which can be called after the instance is saved manually at a later time. Return the model instance.

class inyoka.portal.forms.UserCPSettingsForm(*args, **kwargs)

Form used for the user control panel – dialog.

base_fields = {'autosubscribe': <django.forms.fields.BooleanField object>, 'hide_avatars': <django.forms.fields.BooleanField object>, 'hide_profile': <django.forms.fields.BooleanField object>, 'hide_signatures': <django.forms.fields.BooleanField object>, 'highlight_search': <django.forms.fields.BooleanField object>, 'mark_read_on_logout': <django.forms.fields.BooleanField object>, 'notifications': <django.forms.fields.MultipleChoiceField object>, 'notify': <django.forms.fields.MultipleChoiceField object>, 'reduce_motion': <django.forms.fields.BooleanField object>, 'show_preview': <django.forms.fields.BooleanField object>, 'show_thumbnails': <django.forms.fields.BooleanField object>, 'timezone': <django.forms.fields.ChoiceField object>, 'ubuntu_version': <django.forms.fields.MultipleChoiceField object>}
declared_fields = {'autosubscribe': <django.forms.fields.BooleanField object>, 'hide_avatars': <django.forms.fields.BooleanField object>, 'hide_profile': <django.forms.fields.BooleanField object>, 'hide_signatures': <django.forms.fields.BooleanField object>, 'highlight_search': <django.forms.fields.BooleanField object>, 'mark_read_on_logout': <django.forms.fields.BooleanField object>, 'notifications': <django.forms.fields.MultipleChoiceField object>, 'notify': <django.forms.fields.MultipleChoiceField object>, 'reduce_motion': <django.forms.fields.BooleanField object>, 'show_preview': <django.forms.fields.BooleanField object>, 'show_thumbnails': <django.forms.fields.BooleanField object>, 'timezone': <django.forms.fields.ChoiceField object>, 'ubuntu_version': <django.forms.fields.MultipleChoiceField object>}
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.UserMailForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)
base_fields = {'text': <django.forms.fields.CharField object>}
declared_fields = {'text': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

class inyoka.portal.forms.WikiFeedSelectorForm(data=None, files=None, auto_id='id_%s', prefix=None, initial=None, error_class=<class 'django.forms.utils.ErrorList'>, label_suffix=None, empty_permitted=False, field_order=None, use_required_attribute=None, renderer=None)
base_fields = {'count': <django.forms.fields.IntegerField object>, 'mode': <django.forms.fields.ChoiceField object>, 'page': <django.forms.fields.CharField object>}
declared_fields = {'count': <django.forms.fields.IntegerField object>, 'mode': <django.forms.fields.ChoiceField object>, 'page': <django.forms.fields.CharField object>}
property media

Return all media required to render the widgets on this form.

mode

mode is never used but needs to be overwritten because of that.

inyoka.portal.forms._feed_count_cleanup(n)
inyoka.portal.forms.get_permissions_for_app(application, filtered=None)

Select all permissions for the models defined in GLOBAL_PRIVILEGE_MODELS for application and return a “list” of two-tuples of the form ('app_label.permission_codename', 'Permission Name') orderd by the 'app_label.permission_codename'.

An optional filtered argument helps to filter out unwanted/unused permissions.

inyoka.portal.forms.make_permission_choices(application, filtered=None)

Wrapper around get_permissions_for_app() returning a callable. Useful for e.g. form field choices.

inyoka.portal.forms.permission_choices_to_permission_strings(application)
inyoka.portal.forms.permission_to_string(permission)