Esempio n. 1
0
class DeityAdmin(TypedEntityAdmin):
    """Admin for persons."""

    model = models.Deity
    exclude = [*TypedEntityAdmin.exclude]
    form = DeityForm
    add_form = DeityForm


class GroupAdmin(TypedEntityAdmin):
    """Admin for groups."""

    model = models.Group
    exclude = [*TypedEntityAdmin.exclude]
    form = GroupForm
    add_form = GroupForm


class OrganizationAdmin(TypedEntityAdmin):
    """Admin for organizations."""

    model = models.Person
    form = OrganizationForm
    add_form = OrganizationForm


admin_site.register(models.Entity, EntityAdmin)
admin_site.register(models.Person, PersonAdmin)
admin_site.register(models.Group, GroupAdmin)
admin_site.register(models.Organization, OrganizationAdmin)
Esempio n. 2
0
from apps.admin.model_admin import ModelAdmin, admin_site
from apps.entities import models

CATEGORY_NAME_FIELD = 'name'
ALIASES_FIELD = 'aliases'


class CategoryAdmin(ModelAdmin):
    """Admin for entity categories."""

    list_display = [
        'pk',
        CATEGORY_NAME_FIELD,
        'part_of_speech',
        ALIASES_FIELD,
        'weight',
    ]
    search_fields = [CATEGORY_NAME_FIELD, ALIASES_FIELD]
    list_editable = [
        CATEGORY_NAME_FIELD, 'part_of_speech', ALIASES_FIELD, 'weight'
    ]
    ordering = ['name']


admin_site.register(models.Category, CategoryAdmin)
Esempio n. 3
0
    class Meta:
        model = StaticPage
        fields = '__all__'


class StaticPageAdmin(FlatPageAdmin):
    """Admin for static pages."""

    form = StaticPageForm
    fieldsets = (
        (None, {
            'fields': ('url', 'title', 'content', 'sites')
        }),
        (
            ('Advanced options', ),
            {
                'classes': ('collapse', ),
                'fields': (
                    'enable_comments',
                    'registration_required',
                    'template_name',
                ),
            },
        ),
    )


admin_site.register(StaticPage, StaticPageAdmin)
admin_site.register(FlatPage, FlatPageAdmin)
Esempio n. 4
0
        """Return an iterable of tuples (value, verbose value)."""
        return (YES, YES), (NO, NO)

    def queryset(self, request, queryset):
        """Return the filtered queryset."""
        if self.value() == YES:
            return queryset.filter(name__icontains='pdf')
        if self.value() == NO:
            return queryset.exclude(name__icontains='pdf')


class SourceFileAdmin(ModelAdmin):
    """Admin for source files."""

    list_display = ['name', PAGE_OFFSET_FIELD, 'link', 'uploaded_at', 'id']
    search_fields = ['file', 'name']
    inlines = [SourcesInline]
    list_filter = [PdfFilter]
    ordering = ['name', 'uploaded_at', 'id']

    def get_fields(self, request, model_instance=None):
        """Return reordered fields to be displayed in the admin."""
        fields = super().get_fields(request, model_instance)
        if fields and PAGE_OFFSET_FIELD in fields:
            fields.remove(PAGE_OFFSET_FIELD)
            fields.append(PAGE_OFFSET_FIELD)
        return fields


admin_site.register(models.SourceFile, SourceFileAdmin)
Esempio n. 5
0
        urls = super().get_urls()
        custom_urls = [
            path(
                'tag_search/',
                self.admin_site.admin_view(TagSearchView.as_view(model_admin=self)),
                name='tag_search',
            ),
            path(
                'entity_search/',
                self.admin_site.admin_view(EntitySearchView.as_view(model_admin=self)),
                name='entity_search',
            ),
            path(
                'entity_category_search/',
                self.admin_site.admin_view(
                    EntityCategorySearchView.as_view(model_admin=self)
                ),
                name='entity_category_search',
            ),
        ]
        return custom_urls + urls


class SearchAdmin(ModelAdmin):
    """Admin for user searches."""

    list_display = ['pk']


admin_site.register(models.Search, SearchAdmin)
Esempio n. 6
0
from apps.admin.model_admin import ModelAdmin, admin_site
from apps.entities import models
from apps.entities.forms import IdeaForm


class IdeaAdmin(ModelAdmin):
    """Admin for ideas."""

    model = models.Idea
    add_form = IdeaForm


admin_site.register(models.Idea, IdeaAdmin)
Esempio n. 7
0
from apps.admin.model_admin import ModelAdmin, admin_site
from apps.chat import models


class ChatAdmin(ModelAdmin):
    """Model admin for searchable models."""

    model: models.Chat
    fields = ['content']


admin_site.register(models.Chat, ChatAdmin)