66 lines
1.8 KiB
Python
66 lines
1.8 KiB
Python
"""
|
|
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
|
|
|
|
|
|
class HelpTagInline(TagInline):
|
|
model = HelpEntry.db_tags.through
|
|
related_field = "helpentry"
|
|
|
|
|
|
class HelpEntryForm(forms.ModelForm):
|
|
"Defines how to display the help entry"
|
|
|
|
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).",
|
|
)
|
|
|
|
|
|
@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",
|
|
),
|
|
},
|
|
),
|
|
)
|