From 234a0118db2f88bd8c41733fa36052dc5fdd9ea7 Mon Sep 17 00:00:00 2001 From: Brandon Taylor Date: Sun, 21 Sep 2014 15:14:03 -0400 Subject: [PATCH] Added NonSortableCategory and SortableCategoryWidget model classes. Wired up NonSortableCategory and inline sortable SortableCategoryWidget to sample project admin. --- sample_project/app/admin.py | 16 ++++++++++++++-- sample_project/app/models.py | 14 ++++++++++++++ 2 files changed, 28 insertions(+), 2 deletions(-) diff --git a/sample_project/app/admin.py b/sample_project/app/admin.py index 304be18..ad66af4 100644 --- a/sample_project/app/admin.py +++ b/sample_project/app/admin.py @@ -1,10 +1,11 @@ from django.contrib import admin from adminsortable.admin import (SortableAdmin, SortableTabularInline, - SortableStackedInline, SortableGenericStackedInline) + SortableStackedInline, SortableGenericStackedInline, + NonSortableParentAdmin) from adminsortable.utils import get_is_sortable from app.models import (Category, Widget, Project, Credit, Note, GenericNote, - Component, Person) + Component, Person, NonSortableCategory, SortableCategoryWidget) admin.site.register(Category, SortableAdmin) @@ -65,3 +66,14 @@ class PersonAdmin(SortableAdmin): list_display = ['__unicode__', 'is_board_member'] admin.site.register(Person, PersonAdmin) + + +class SortableCategoryWidgetInline(SortableStackedInline): + model = SortableCategoryWidget + extra = 0 + + +class NonSortableCategoryAdmin(NonSortableParentAdmin): + inlines = [SortableCategoryWidgetInline] + +admin.site.register(NonSortableCategory, NonSortableCategoryAdmin) diff --git a/sample_project/app/models.py b/sample_project/app/models.py index 1758419..acd7643 100644 --- a/sample_project/app/models.py +++ b/sample_project/app/models.py @@ -116,3 +116,17 @@ class Person(Sortable): def __unicode__(self): return '{0} {1}'.format(self.first_name, self.last_name) + + +class NonSortableCategory(SimpleModel): + class Meta(SimpleModel.Meta): + verbose_name = 'Non-Sortable Category' + verbose_name_plural = 'Non-Sortable Categories' + + +class SortableCategoryWidget(SimpleModel, Sortable): + class Meta(Sortable.Meta): + verbose_name = 'Sortable Category Widget' + verbose_name_plural = 'Sortable Category Widgets' + + non_sortable_category = SortableForeignKey(NonSortableCategory)