Skip to content

Commit

Permalink
improvements to admin (#1824)
Browse files Browse the repository at this point in the history
  • Loading branch information
george-silva authored Oct 21, 2024
1 parent b28e188 commit ed88a39
Show file tree
Hide file tree
Showing 4 changed files with 70 additions and 1 deletion.
30 changes: 30 additions & 0 deletions src/planscape/datasets/admin.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from typing import Any, Dict
from django.contrib import admin
from datasets.forms import DatasetAdminForm, CategoryAdminForm
from datasets.models import Category, DataLayer, Dataset
Expand All @@ -8,13 +9,25 @@
class CategoryAdmin(TreeAdmin):
form = CategoryAdminForm
search_fields = ["name"]
list_display = ("id", "name", "order", "dataset")

def get_changeform_initial_data(self, request) -> Dict[str, Any]:
return {"created_by": request.user}


class DatasetAdmin(admin.ModelAdmin):
list_filter = ["visibility"]
search_fields = ["organization__name__icontains", "name"]
autocomplete_fields = ["organization"]
form = DatasetAdminForm
list_display = ("id", "name", "visibility", "organization")
list_display_links = (
"id",
"name",
)

def get_changeform_initial_data(self, request) -> Dict[str, Any]:
return {"created_by": request.user}


class DataLayerAdmin(admin.ModelAdmin):
Expand All @@ -25,6 +38,23 @@ class DataLayerAdmin(admin.ModelAdmin):
"name",
]
autocomplete_fields = ["organization", "created_by", "dataset", "category"]
list_display = (
"id",
"name",
"status",
"type",
"geometry_type",
"dataset",
"category",
"organization",
)
list_display_links = (
"id",
"name",
"status",
"type",
"geometry_type",
)


admin.site.register(Dataset, DatasetAdmin)
Expand Down
10 changes: 9 additions & 1 deletion src/planscape/datasets/forms.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ class DatasetAdminForm(forms.ModelForm):
description = forms.CharField(widget=forms.Textarea, required=False)
version = forms.CharField(required=False)

def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields["created_by"].disabled = True

class Meta:
model = Dataset
fields = (
Expand All @@ -23,12 +27,16 @@ class Meta:
class CategoryAdminForm(movenodeform_factory(Category)):
order = forms.IntegerField(required=False)

def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields["created_by"].disabled = True

class Meta:
model = Category
fields = (
"organization",
"created_by",
"dataset",
"created_by",
"name",
"order",
)
9 changes: 9 additions & 0 deletions src/planscape/organizations/admin.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,18 @@
from typing import Any, Dict
from django.contrib import admin
from organizations.forms import OrganizationAdminForm
from organizations.models import Organization


class OrganizationAdmin(admin.ModelAdmin):
search_fields = ["name"]
list_display = ("id", "name", "type")
list_display_links = ("id", "name")
list_filter = ("type",)
form = OrganizationAdminForm

def get_changeform_initial_data(self, request) -> Dict[str, Any]:
return {"created_by": request.user}


admin.site.register(Organization, OrganizationAdmin)
22 changes: 22 additions & 0 deletions src/planscape/organizations/forms.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
from django import forms

from organizations.models import Organization


class OrganizationAdminForm(forms.ModelForm):
description = forms.CharField(widget=forms.Textarea, required=False)
version = forms.CharField(required=False)

def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.fields["created_by"].disabled = True

class Meta:
model = Organization
fields = (
"created_by",
"name",
"type",
"type_other",
"website",
)

0 comments on commit ed88a39

Please sign in to comment.