mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-05-19 19:09:22 +02:00
base import export code in admin
This commit is contained in:
parent
c169ab3214
commit
c13e63ec63
3 changed files with 50 additions and 5 deletions
|
@ -32,6 +32,7 @@ fred-epplib = {git = "https://github.com/cisagov/epplib.git", ref = "master"}
|
|||
pyzipper="*"
|
||||
tblib = "*"
|
||||
django-admin-multiple-choice-list-filter = "*"
|
||||
django-import-export = "*"
|
||||
|
||||
[dev-packages]
|
||||
django-debug-toolbar = "*"
|
||||
|
|
|
@ -28,12 +28,20 @@ from django.utils.safestring import mark_safe
|
|||
from django.utils.html import escape
|
||||
from django.contrib.auth.forms import UserChangeForm, UsernameField
|
||||
from django_admin_multiple_choice_list_filter.list_filters import MultipleChoiceListFilter
|
||||
from import_export import resources
|
||||
from import_export.admin import ImportExportModelAdmin
|
||||
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class UserResource(resources.ModelResource):
|
||||
|
||||
class Meta:
|
||||
model = models.User
|
||||
|
||||
|
||||
class MyUserAdminForm(UserChangeForm):
|
||||
"""This form utilizes the custom widget for its class's ManyToMany UIs.
|
||||
|
||||
|
@ -468,9 +476,11 @@ class UserContactInline(admin.StackedInline):
|
|||
model = models.Contact
|
||||
|
||||
|
||||
class MyUserAdmin(BaseUserAdmin):
|
||||
class MyUserAdmin(BaseUserAdmin, ImportExportModelAdmin):
|
||||
"""Custom user admin class to use our inlines."""
|
||||
|
||||
resource_classes = [UserResource]
|
||||
|
||||
form = MyUserAdminForm
|
||||
|
||||
class Meta:
|
||||
|
@ -848,9 +858,17 @@ class WebsiteAdmin(ListHeaderAdmin):
|
|||
return response
|
||||
|
||||
|
||||
class UserDomainRoleAdmin(ListHeaderAdmin):
|
||||
class UserDomainRoleResource(resources.ModelResource):
|
||||
|
||||
class Meta:
|
||||
model = models.UserDomainRole
|
||||
|
||||
|
||||
class UserDomainRoleAdmin(ListHeaderAdmin, ImportExportModelAdmin):
|
||||
"""Custom user domain role admin class."""
|
||||
|
||||
resource_classes = [UserDomainRoleResource]
|
||||
|
||||
class Meta:
|
||||
"""Contains meta information about this class"""
|
||||
|
||||
|
@ -931,9 +949,17 @@ class DomainInvitationAdmin(ListHeaderAdmin):
|
|||
change_form_template = "django/admin/email_clipboard_change_form.html"
|
||||
|
||||
|
||||
class DomainInformationAdmin(ListHeaderAdmin):
|
||||
class DomainInformationResource(resources.ModelResource):
|
||||
|
||||
class Meta:
|
||||
model = models.DomainInformation
|
||||
|
||||
|
||||
class DomainInformationAdmin(ListHeaderAdmin, ImportExportModelAdmin):
|
||||
"""Customize domain information admin class."""
|
||||
|
||||
resource_classes = [DomainInformationResource]
|
||||
|
||||
form = DomainInformationAdminForm
|
||||
|
||||
# Columns
|
||||
|
@ -1060,9 +1086,17 @@ class DomainInformationAdmin(ListHeaderAdmin):
|
|||
return readonly_fields # Read-only fields for analysts
|
||||
|
||||
|
||||
class DomainRequestAdmin(ListHeaderAdmin):
|
||||
class DomainRequestResource(resources.ModelResource):
|
||||
|
||||
class Meta:
|
||||
model = models.DomainRequest
|
||||
|
||||
|
||||
class DomainRequestAdmin(ListHeaderAdmin, ImportExportModelAdmin):
|
||||
"""Custom domain requests admin class."""
|
||||
|
||||
resource_classes = [DomainRequestResource]
|
||||
|
||||
form = DomainRequestAdminForm
|
||||
change_form_template = "django/admin/domain_request_change_form.html"
|
||||
|
||||
|
@ -1590,9 +1624,17 @@ class DomainInformationInline(admin.StackedInline):
|
|||
return DomainInformationAdmin.get_readonly_fields(self, request, obj=None)
|
||||
|
||||
|
||||
class DomainAdmin(ListHeaderAdmin):
|
||||
class DomainResource(resources.ModelResource):
|
||||
|
||||
class Meta:
|
||||
model = models.Domain
|
||||
|
||||
|
||||
class DomainAdmin(ListHeaderAdmin, ImportExportModelAdmin):
|
||||
"""Custom domain admin class to add extra buttons."""
|
||||
|
||||
resource_classes = [DomainResource]
|
||||
|
||||
class ElectionOfficeFilter(admin.SimpleListFilter):
|
||||
"""Define a custom filter for is_election_board"""
|
||||
|
||||
|
|
|
@ -148,6 +148,8 @@ INSTALLED_APPS = [
|
|||
"corsheaders",
|
||||
# library for multiple choice filters in django admin
|
||||
"django_admin_multiple_choice_list_filter",
|
||||
# library for export and import of data
|
||||
'import_export',
|
||||
]
|
||||
|
||||
# Middleware are routines for processing web requests.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue