Source code for evennia.web.admin.help
"""
This defines how to edit help entries in Admin.
"""
from django import forms
from django.contrib import admin
from evennia.help.models import HelpEntry
from .tags import TagInline
[docs]class HelpTagInline(TagInline):
model = HelpEntry.db_tags.through
related_field = "helpentry"
[docs]class HelpEntryForm(forms.ModelForm):
"Defines how to display the help entry"
[docs] class Meta:
model = HelpEntry
fields = "__all__"
db_help_category = forms.CharField(
label="Help category", initial="General", help_text="organizes help entries in lists"
)
db_lock_storage = forms.CharField(
label="Locks",
initial="view:all()",
required=False,
widget=forms.Textarea(attrs={"cols": "100", "rows": "2"}),
help_text="Set lock to view:all() unless you want it to only show to certain users."
"<BR>Use the `edit:` limit if wanting to limit who can edit from in-game. By default it's "
"only limited to who can use the `sethelp` command (Builders).",
)
[docs]@admin.register(HelpEntry)
class HelpEntryAdmin(admin.ModelAdmin):
"Sets up the admin manaager for help entries"
inlines = [HelpTagInline]
list_display = ("id", "db_key", "db_help_category", "db_lock_storage", "db_date_created")
list_display_links = ("id", "db_key")
search_fields = ["^db_key", "db_entrytext"]
ordering = ["db_help_category", "db_key"]
list_filter = ["db_help_category"]
save_as = True
save_on_top = True
list_select_related = True
view_on_site = False
form = HelpEntryForm
fieldsets = (
(
None,
{
"fields": (
("db_key", "db_help_category"),
"db_entrytext",
"db_lock_storage",
# "db_date_created",
),
},
),
)