admin Package

admin Package

Admin of Zinnia

category Module

CategoryAdmin for Zinnia

class zinnia.admin.category.CategoryAdmin(model, admin_site)

Bases: django.contrib.admin.options.ModelAdmin

Admin for Category model

fields = ('title', 'parent', 'description', 'slug')
form

alias of CategoryAdminForm

get_tree_path(category)

Return the category’s tree path in HTML

list_display = ('title', 'slug', 'get_tree_path', 'description')
list_filter = ('parent',)
media
prepopulated_fields = {'slug': ('title',)}
search_fields = ('title', 'description')

entry Module

EntryAdmin for Zinnia

class zinnia.admin.entry.EntryAdmin(model, admin_site)

Bases: django.contrib.admin.options.ModelAdmin

Admin for Entry model

actions = ['make_mine', 'make_published', 'make_hidden', 'close_comments', 'close_pingbacks', 'close_trackbacks', 'ping_directories', 'make_tweet', 'put_on_top', 'mark_featured', 'unmark_featured']
actions_on_bottom = True
actions_on_top = True
autocomplete_tags(request)

View for tag autocompletion

close_comments(request, queryset)

Close the comments for selected entries

close_pingbacks(request, queryset)

Close the pingbacks for selected entries

close_trackbacks(request, queryset)

Close the trackbacks for selected entries

content_preview(*args, **kwargs)

Admin view to preview Entry.content in HTML, useful when using markups to write entries

date_hierarchy = 'creation_date'
fieldsets = ((<django.utils.functional.__proxy__ object>, {'fields': ('title', 'content', 'image', 'status')}), (<django.utils.functional.__proxy__ object>, {'fields': ('featured', 'excerpt', 'content_template', 'detail_template', 'related', 'authors', 'creation_date', 'start_publication', 'end_publication'), 'classes': ('collapse', 'collapse-closed')}), (<django.utils.functional.__proxy__ object>, {'fields': ('password', 'login_required'), 'classes': ('collapse', 'collapse-closed')}), (<django.utils.functional.__proxy__ object>, {'fields': ('comment_enabled', 'pingback_enabled', 'trackback_enabled'), 'classes': ('collapse', 'collapse-closed')}), (<django.utils.functional.__proxy__ object>, {'fields': ('categories', 'tags', 'sites', 'slug')}))
filter_horizontal = ('categories', 'authors', 'related')
form

alias of EntryAdminForm

formfield_for_manytomany(db_field, request, **kwargs)

Filters the disposable authors

get_actions(request)

Define user actions by permissions

get_authors(entry)

Return the authors in HTML

get_categories(entry)

Return the categories linked in HTML

get_is_visible(entry)

Admin wrapper for entry.is_visible

get_readonly_fields(request, obj=None)
get_short_url(entry)

Return the short url in HTML

get_sites(entry)

Return the sites linked in HTML

get_tags(entry)

Return the tags linked in HTML

get_title(entry)

Return the title with word count and number of comments

get_urls()
list_display = ('get_title', 'get_authors', 'get_categories', 'get_tags', 'get_sites', 'get_is_visible', 'featured', 'get_short_url', 'creation_date')
list_filter = (<class 'zinnia.admin.filters.CategoryListFilter'>, <class 'zinnia.admin.filters.AuthorListFilter'>, 'status', 'featured', 'login_required', 'comment_enabled', 'pingback_enabled', 'trackback_enabled', 'creation_date', 'start_publication', 'end_publication', 'sites')
make_hidden(request, queryset)

Set entries selected as hidden

make_mine(request, queryset)

Set the entries to the user

make_published(request, queryset)

Set entries selected as published

make_tweet(request, queryset)

Post an update on Twitter

Mark selected as featured post.

markitup(request)

View for serving the config of MarkItUp

media

The medias needed to enhance the admin page

ping_directories(request, queryset, messages=True)

Ping Directories for selected entries

prepopulated_fields = {'slug': ('title',)}
put_on_top(request, queryset)

Put the selected entries on top at the current date

queryset(request)

Make special filtering by user permissions

radio_fields = {'content_template': 2, 'detail_template': 2}
save_model(request, entry, form, change)

Save the authors, update time, make an excerpt

search_fields = ('title', 'excerpt', 'content', 'tags')

Un-Mark selected featured posts

wymeditor(request)

View for serving the config of WYMEditor

fields Module

Fields for Zinnia admin

class zinnia.admin.fields.MPTTModelChoiceIterator(field)

Bases: django.forms.models.ModelChoiceIterator

MPTT version of ModelChoiceIterator

choice(obj)

Overloads the choice method to add the position of the object in the tree for future sorting.

class zinnia.admin.fields.MPTTModelMultipleChoiceField(level_indicator=u'|--', *args, **kwargs)

Bases: django.forms.models.ModelMultipleChoiceField

MPTT version of ModelMultipleChoiceField

choices

Overrides the _get_choices method to use MPTTModelChoiceIterator.

label_from_instance(obj)

Creates labels which represent the tree level of each node when generating option labels.

filters Module

Filters for Zinnia admin

class zinnia.admin.filters.AuthorListFilter(request, params, model, model_admin)

Bases: zinnia.admin.filters.RelatedPublishedFilter

List filter for EntryAdmin with published authors only.

lookup_key = 'authors__id'
model

alias of Author

parameter_name = 'author'
title = <django.utils.functional.__proxy__ object>
class zinnia.admin.filters.CategoryListFilter(request, params, model, model_admin)

Bases: zinnia.admin.filters.RelatedPublishedFilter

List filter for EntryAdmin about categories with published entries.

lookup_key = 'categories__id'
model

alias of Category

parameter_name = 'category'
title = <django.utils.functional.__proxy__ object>
class zinnia.admin.filters.RelatedPublishedFilter(request, params, model, model_admin)

Bases: django.contrib.admin.filters.SimpleListFilter

Base filter for related objects to published entries.

lookup_key = None
lookups(request, model_admin)

Return published objects with the number of entries.

model = None
queryset(request, queryset)

Return the object’s entries if a value is set.

forms Module

Forms for Zinnia admin

class zinnia.admin.forms.CategoryAdminForm(*args, **kwargs)

Bases: django.forms.models.ModelForm

Form for Category’s Admin

class Meta

CategoryAdminForm’s Meta

model

alias of Category

CategoryAdminForm.admin_site = <django.contrib.admin.sites.AdminSite object>
CategoryAdminForm.base_fields = {'title': <django.forms.fields.CharField object>, 'slug': <django.forms.fields.SlugField object>, 'description': <django.forms.fields.CharField object>, 'parent': <mptt.forms.TreeNodeChoiceField object>}
CategoryAdminForm.clean_parent()

Check if category parent is not selfish

CategoryAdminForm.declared_fields = {'parent': <mptt.forms.TreeNodeChoiceField object>}
CategoryAdminForm.media
class zinnia.admin.forms.EntryAdminForm(*args, **kwargs)

Bases: django.forms.models.ModelForm

Form for Entry’s Admin

class Meta

EntryAdminForm’s Meta

model

alias of Entry

EntryAdminForm.admin_site = <django.contrib.admin.sites.AdminSite object>
EntryAdminForm.base_fields = {'title': <django.forms.fields.CharField object>, 'slug': <django.forms.fields.SlugField object>, 'status': <django.forms.fields.TypedChoiceField object>, 'start_publication': <django.forms.fields.DateTimeField object>, 'end_publication': <django.forms.fields.DateTimeField object>, 'sites': <django.forms.models.ModelMultipleChoiceField object>, 'creation_date': <django.forms.fields.DateTimeField object>, 'last_update': <django.forms.fields.DateTimeField object>, 'content': <django.forms.fields.CharField object>, 'comment_enabled': <django.forms.fields.BooleanField object>, 'pingback_enabled': <django.forms.fields.BooleanField object>, 'trackback_enabled': <django.forms.fields.BooleanField object>, 'comment_count': <django.forms.fields.IntegerField object>, 'pingback_count': <django.forms.fields.IntegerField object>, 'trackback_count': <django.forms.fields.IntegerField object>, 'related': <django.forms.models.ModelMultipleChoiceField object>, 'excerpt': <django.forms.fields.CharField object>, 'image': <django.forms.fields.ImageField object>, 'featured': <django.forms.fields.BooleanField object>, 'authors': <django.forms.models.ModelMultipleChoiceField object>, 'categories': <zinnia.admin.fields.MPTTModelMultipleChoiceField object>, 'tags': <tagging.forms.TagField object>, 'login_required': <django.forms.fields.BooleanField object>, 'password': <django.forms.fields.CharField object>, 'content_template': <django.forms.fields.TypedChoiceField object>, 'detail_template': <django.forms.fields.TypedChoiceField object>}
EntryAdminForm.declared_fields = {'categories': <zinnia.admin.fields.MPTTModelMultipleChoiceField object>}
EntryAdminForm.media

widgets Module

Widgets for Zinnia admin

class zinnia.admin.widgets.MPTTFilteredSelectMultiple(verbose_name, is_stacked, attrs=None, choices=())

Bases: django.contrib.admin.widgets.FilteredSelectMultiple

MPTT version of FilteredSelectMultiple

class Media

MPTTFilteredSelectMultiple’s Media

js = ('/static/admin/js/core.js', '/static/zinnia/js/mptt_m2m_selectbox.js', '/static/admin/js/SelectFilter2.js')
MPTTFilteredSelectMultiple.media
MPTTFilteredSelectMultiple.render_option(selected_choices, option_value, option_label, sort_fields)

Overrides the render_option method to handle the sort_fields argument.

MPTTFilteredSelectMultiple.render_options(choices, selected_choices)

This is copy’n’pasted from django.forms.widgets Select(Widget) change to the for loop and render_option so they will unpack and use our extra tuple of mptt sort fields (if you pass in some default choices for this field, make sure they have the extra tuple too!)