wiki package

Submodules

class wiki.admin.ArticleAdmin(model, admin_site)

Bases: django.contrib.admin.options.ModelAdmin

form

alias of ArticleForm

inlines = [<class 'wiki.admin.ArticleRevisionInline'>]
media
class wiki.admin.ArticleForm(*args, **kwargs)

Bases: django.forms.models.ModelForm

class Meta
model

alias of Article

ArticleForm.base_fields = {'current_revision': <django.forms.models.ModelChoiceField object at 0x4055b10>, 'deleted': <django.forms.fields.BooleanField object at 0x4055e90>, 'locked': <django.forms.fields.BooleanField object at 0x405f250>, 'owner': <django.forms.models.ModelChoiceField object at 0x405f6d0>, 'group': <django.forms.models.ModelChoiceField object at 0x405fb90>, 'group_read': <django.forms.fields.BooleanField object at 0x405ff50>, 'group_write': <django.forms.fields.BooleanField object at 0x4068310>, 'other_read': <django.forms.fields.BooleanField object at 0x4068690>, 'other_write': <django.forms.fields.BooleanField object at 0x4068a10>}
ArticleForm.declared_fields = {}
ArticleForm.media
class wiki.admin.ArticleObjectAdmin(parent_model, admin_site)

Bases: django.contrib.contenttypes.generic.GenericTabularInline

extra = 1
max_num = 1
media
model

alias of ArticleForObject

class wiki.admin.ArticleRevisionAdmin(model, admin_site)

Bases: django.contrib.admin.options.ModelAdmin

class Media
css = {'all': ('wiki/markitup/skins/simple/style.css', 'wiki/markitup/sets/admin/style.css')}
js = ('wiki/markitup/admin.init.js', 'wiki/markitup/jquery.markitup.js', 'wiki/markitup/sets/admin/set.js')
ArticleRevisionAdmin.form

alias of ArticleRevisionForm

ArticleRevisionAdmin.list_display = ('title', 'created', 'modified', 'user', 'ip_address')
ArticleRevisionAdmin.media
class wiki.admin.ArticleRevisionForm(*args, **kwargs)

Bases: django.forms.models.ModelForm

class Meta
model

alias of ArticleRevision

ArticleRevisionForm.base_fields = {'user_message': <django.forms.fields.CharField object at 0x3de3450>, 'user': <django.forms.models.ModelChoiceField object at 0x3a9a710>, 'previous_revision': <django.forms.models.ModelChoiceField object at 0x404a350>, 'article': <django.forms.models.ModelChoiceField object at 0x404a710>, 'content': <django.forms.fields.CharField object at 0x404aad0>, 'title': <django.forms.fields.CharField object at 0x404ae10>}
ArticleRevisionForm.declared_fields = {}
ArticleRevisionForm.media
class wiki.admin.ArticleRevisionInline(parent_model, admin_site)

Bases: django.contrib.admin.options.TabularInline

class Media
css = {'all': ('wiki/markitup/skins/simple/style.css', 'wiki/markitup/sets/admin/style.css')}
js = ('wiki/markitup/admin.init.js', 'wiki/markitup/jquery.markitup.js', 'wiki/markitup/sets/admin/set.js')
ArticleRevisionInline.extra = 1
ArticleRevisionInline.fields = ('content', 'title', 'deleted', 'locked')
ArticleRevisionInline.fk_name = 'article'
ArticleRevisionInline.form

alias of ArticleRevisionForm

ArticleRevisionInline.media
ArticleRevisionInline.model

alias of ArticleRevision

class wiki.admin.URLPathAdmin(model, admin_site)

Bases: mptt.admin.MPTTModelAdmin

get_created(instance)
inlines = [<class 'wiki.admin.ArticleObjectAdmin'>]
list_display = ('__unicode__', 'article', 'get_created')
list_filter = ('site', 'articles__article__deleted', 'articles__article__created', 'articles__article__modified')
media
wiki.decorators.get_article(func=None, can_read=True, can_write=False, deleted_contents=False, not_locked=False, can_delete=False, can_moderate=False, can_create=False)

View decorator for processing standard url keyword args: Intercepts the keyword args path or article_id and looks up an article, calling the decorated func with this ID.

Will accept a func(request, article, *args, **kwargs)

NB! This function will redirect if an article does not exist, permissions are missing or the article is deleted.

Arguments:

can_read=True and/or can_write=True: Check that the current request.user has correct permissions.

can_delete and can_moderate: Verifies with wiki.core.permissions

can_create: Same as can_write but adds an extra global setting for anonymous access (ANONYMOUS_CREATE)

deleted_contents=True: Do not redirect if the article has been deleted.

not_locked=True: Return permission denied if the article is locked

Also see: wiki.views.mixins.ArticleMixin

wiki.decorators.json_view(func)
wiki.decorators.response_forbidden(request, article, urlpath)
class wiki.forms.CreateForm(request, urlpath_parent, *args, **kwargs)

Bases: django.forms.forms.Form, wiki.forms.SpamProtectionMixin

base_fields = {'title': <django.forms.fields.CharField object at 0x431c5d0>, 'slug': <django.forms.fields.SlugField object at 0x431c650>, 'content': <django.forms.fields.CharField object at 0x431c750>, 'summary': <django.forms.fields.CharField object at 0x431c790>}
clean()
clean_slug()
media
class wiki.forms.CreateRootForm(data=None, files=None, auto_id=u'id_%s', prefix=None, initial=None, error_class=<class 'django.forms.util.ErrorList'>, label_suffix=None, empty_permitted=False)

Bases: django.forms.forms.Form

base_fields = {'title': <django.forms.fields.CharField object at 0x4242790>, 'content': <django.forms.fields.CharField object at 0x431c390>}
media
class wiki.forms.DeleteForm(*args, **kwargs)

Bases: django.forms.forms.Form

base_fields = {'confirm': <django.forms.fields.BooleanField object at 0x431c810>, 'purge': <django.forms.fields.BooleanField object at 0x431c910>, 'revision': <django.forms.models.ModelChoiceField object at 0x431cb10>}
clean()
media
class wiki.forms.DirFilterForm(data=None, files=None, auto_id=u'id_%s', prefix=None, initial=None, error_class=<class 'django.forms.util.ErrorList'>, label_suffix=None, empty_permitted=False)

Bases: django.forms.forms.Form

base_fields = {'query': <django.forms.fields.CharField object at 0x4320490>}
media
class wiki.forms.EditForm(request, current_revision, *args, **kwargs)

Bases: django.forms.forms.Form, wiki.forms.SpamProtectionMixin

base_fields = {'title': <django.forms.fields.CharField object at 0x431c3d0>, 'content': <django.forms.fields.CharField object at 0x431c490>, 'summary': <django.forms.fields.CharField object at 0x431c4d0>, 'current_revision': <django.forms.fields.IntegerField object at 0x431c590>}
clean()
media
class wiki.forms.PermissionsForm(article, request, *args, **kwargs)

Bases: wiki.core.plugins.base.PluginSettingsFormMixin, django.forms.models.ModelForm

class Meta
fields = ('locked', 'owner_username', 'recursive_owner', 'group', 'recursive_group', 'group_read', 'group_write', 'other_read', 'other_write', 'recursive')
model

alias of Article

widgets = {}
PermissionsForm.base_fields = {'locked': <django.forms.fields.BooleanField object at 0x431cb90>, 'owner_username': <django.forms.fields.CharField object at 0x431cc10>, 'recursive_owner': <django.forms.fields.BooleanField object at 0x431cf10>, 'group': <django.forms.models.ModelChoiceField object at 0x431cdd0>, 'recursive_group': <django.forms.fields.BooleanField object at 0x431cf90>, 'group_read': <django.forms.fields.BooleanField object at 0x4320cd0>, 'group_write': <django.forms.fields.BooleanField object at 0x432f090>, 'other_read': <django.forms.fields.BooleanField object at 0x432f410>, 'other_write': <django.forms.fields.BooleanField object at 0x432f790>, 'recursive': <django.forms.fields.BooleanField object at 0x431ce10>}
PermissionsForm.clean_owner_username()
PermissionsForm.declared_fields = {'locked': <django.forms.fields.BooleanField object at 0x431cb90>, 'owner_username': <django.forms.fields.CharField object at 0x431cc10>, 'group': <django.forms.models.ModelChoiceField object at 0x431cdd0>, 'recursive': <django.forms.fields.BooleanField object at 0x431ce10>, 'recursive_owner': <django.forms.fields.BooleanField object at 0x431cf10>, 'recursive_group': <django.forms.fields.BooleanField object at 0x431cf90>}
PermissionsForm.get_usermessage()
PermissionsForm.media
PermissionsForm.save(commit=True)
PermissionsForm.settings_form_headline = u'Permissions'
PermissionsForm.settings_order = 5
PermissionsForm.settings_write_access = False
class wiki.forms.SearchForm(data=None, files=None, auto_id=u'id_%s', prefix=None, initial=None, error_class=<class 'django.forms.util.ErrorList'>, label_suffix=None, empty_permitted=False)

Bases: django.forms.forms.Form

base_fields = {'q': <django.forms.fields.CharField object at 0x4320510>}
media
class wiki.forms.SelectWidgetBootstrap(attrs={'class': 'btn-group pull-left btn-group-form'}, choices=(), disabled=False)

Bases: django.forms.widgets.Select

http://twitter.github.com/bootstrap/components.html#buttonDropdowns Needs bootstrap and jquery

class Media(media=None, **kwargs)

Bases: django.forms.widgets.Media

js = ('wiki/js/forms.js',)
SelectWidgetBootstrap.media
SelectWidgetBootstrap.render(name, value, attrs=None, choices=())
SelectWidgetBootstrap.render_option(selected_choices, option_value, option_label)
SelectWidgetBootstrap.render_options(choices, selected_choices)
class wiki.forms.SpamProtectionMixin

Check a form for spam. Only works if properties ‘request’ and ‘revision_model’ are set.

check_spam()

Check that user or IP address does not perform content edits that are not allowed.

current_revision can be any object inheriting from models.BaseRevisionMixin

revision_model

alias of ArticleRevision

class wiki.forms.TextInputPrepend(*args, **kwargs)

Bases: django.forms.widgets.TextInput

media
render(*args, **kwargs)
class wiki.forms.UserCreationForm(*args, **kwargs)

Bases: django.contrib.auth.forms.UserCreationForm

class Meta
fields = ('username', 'email')
model

alias of User

UserCreationForm.base_fields = {'username': <django.forms.fields.RegexField object at 0x3095f90>, 'email': <django.forms.fields.EmailField object at 0x432f850>, 'password1': <django.forms.fields.CharField object at 0x30981d0>, 'password2': <django.forms.fields.CharField object at 0x3098310>}
UserCreationForm.clean()
UserCreationForm.declared_fields = {'username': <django.forms.fields.RegexField object at 0x3095f90>, 'password1': <django.forms.fields.CharField object at 0x30981d0>, 'password2': <django.forms.fields.CharField object at 0x3098310>, 'email': <django.forms.fields.EmailField object at 0x432f850>}
UserCreationForm.media
class wiki.managers.ArticleFkEmptyQuerySet(*args, **kwargs)

Bases: wiki.managers.ArticleFkEmptyQuerySetMixin, django.db.models.query.EmptyQuerySet

class wiki.managers.ArticleFkEmptyQuerySetMixin
active()
can_read(user)
can_write(user)
class wiki.managers.ArticleFkManager

Bases: django.db.models.manager.Manager

active()
can_read(user)
can_write(user)
get_empty_query_set()
get_query_set(*args, **kwargs)
get_queryset()
class wiki.managers.ArticleFkQuerySet(model=None, query=None, using=None)

Bases: wiki.managers.ArticleFkQuerySetMixin, django.db.models.query.QuerySet

class wiki.managers.ArticleFkQuerySetMixin
active()
can_read(user)

Filter objects so only the ones with a user’s reading access are included

can_write(user)

Filter objects so only the ones with a user’s writing access are included

class wiki.managers.PermissionEmptyQuerySet(*args, **kwargs)

Bases: django.db.models.query.EmptyQuerySet

active()
can_read(user)
can_write(user)
class wiki.managers.PermissionManager

Bases: django.db.models.manager.Manager

active()
can_read(user)
can_write(user)
get_empty_query_set()
get_query_set(*args, **kwargs)
get_queryset()
class wiki.managers.PermissionQuerySet(model=None, query=None, using=None)

Bases: django.db.models.query.QuerySet

active()
can_read(user)

Filter objects so only the ones with a user’s reading access are included

can_write(user)

Filter objects so only the ones with a user’s writing access are included

class wiki.managers.URLPathEmptyQuerySet(*args, **kwargs)

Bases: django.db.models.query.EmptyQuerySet, wiki.managers.ArticleFkEmptyQuerySetMixin

class wiki.managers.URLPathManager

Bases: mptt.managers.TreeManager

active()
can_read(user)
can_write(user)
get_empty_query_set()
get_query_set(*args, **kwargs)
get_queryset()

Return a QuerySet with the same ordering as the TreeManager.

class wiki.managers.URLPathQuerySet(model=None, query=None, using=None)

Bases: django.db.models.query.QuerySet, wiki.managers.ArticleFkQuerySetMixin

Module contents

Table Of Contents

This Page