Skip to content

Commit

Permalink
feat: add model original names
Browse files Browse the repository at this point in the history
  • Loading branch information
vncsna committed Oct 25, 2023
1 parent c88ae45 commit d8d2569
Show file tree
Hide file tree
Showing 6 changed files with 196 additions and 50 deletions.
57 changes: 44 additions & 13 deletions bd_api/apps/api/v1/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,15 @@
TableObservationFilter,
)
from bd_api.apps.api.v1.forms import (
CloudTableForm,
CloudTableInlineForm,
ColumnInlineForm,
ColumnOriginalNameInlineForm,
CoverageInlineForm,
ObservationLevelForm,
ObservationLevelInlineForm,
ReorderColumnsForm,
ReorderTablesForm,
TableInlineForm,
UpdateForm,
UpdateInlineForm,
)
from bd_api.apps.api.v1.models import (
Analysis,
Expand All @@ -42,6 +43,7 @@
BigQueryType,
CloudTable,
Column,
ColumnOriginalName,
Coverage,
Dataset,
DateTimeRange,
Expand Down Expand Up @@ -106,9 +108,19 @@ def formfield_for_foreignkey(self, db_field, request, **kwargs):
return super().formfield_for_foreignkey(db_field, request, **kwargs)


class ColumnOriginalNameInline(TranslationStackedInline):
model = ColumnOriginalName
form = ColumnOriginalNameInlineForm
extra = 0
fields = [
"id",
"name",
]


class CloudTableInline(admin.StackedInline):
model = CloudTable
form = CloudTableForm
form = CloudTableInlineForm
extra = 0
fields = [
"id",
Expand All @@ -120,7 +132,7 @@ class CloudTableInline(admin.StackedInline):

class ObservationLevelInline(admin.StackedInline):
model = ObservationLevel
form = ObservationLevelForm
form = ObservationLevelInlineForm
extra = 0
fields = [
"id",
Expand Down Expand Up @@ -206,7 +218,7 @@ class CoverageInline(admin.StackedInline):

class UpdateInline(admin.StackedInline):
model = Update
form = UpdateForm
form = UpdateInlineForm
extra = 0
fields = [
"id",
Expand Down Expand Up @@ -697,21 +709,39 @@ def __init__(self, *args, **kwargs):

class ColumnAdmin(TabbedTranslationAdmin):
form = ColumnForm
readonly_fields = [
"id",
"order",
]
list_display = [
"__str__",
"table",
]
search_fields = ["name", "table__name"]
list_filter = [
"table__dataset__organization__name",
]
autocomplete_fields = [
"table",
"observation_level",
]
list_filter = [
"table__dataset__organization__name",
readonly_fields = [
"id",
"order",
]
search_fields = ["name", "table__name"]
inlines = [
CoverageInline,
ColumnOriginalNameInline,
]


class ColumnOriginalNameAdmin(TabbedTranslationAdmin):
readonly_fields = [
"id",
]
list_display = [
"__str__",
]
fields = [
"id",
"name",
"column",
]
inlines = [CoverageInline]

Expand Down Expand Up @@ -1037,6 +1067,7 @@ class QualityCheckAdmin(TabbedTranslationAdmin):
admin.site.register(BigQueryType)
admin.site.register(CloudTable, CloudTableAdmin)
admin.site.register(Column, ColumnAdmin)
admin.site.register(ColumnOriginalName, ColumnOriginalNameAdmin)
admin.site.register(Coverage, CoverageAdmin)
admin.site.register(Dataset, DatasetAdmin)
admin.site.register(DateTimeRange, DateTimeRangeAdmin)
Expand Down
7 changes: 4 additions & 3 deletions bd_api/apps/api/v1/forms/__init__.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
# -*- coding: utf-8 -*-
from bd_api.apps.api.v1.forms.admin_form import ( # noqa: F401
CloudTableForm,
CloudTableInlineForm,
ColumnInlineForm,
ColumnOriginalNameInlineForm,
CoverageInlineForm,
ObservationLevelForm,
ObservationLevelInlineForm,
TableInlineForm,
UpdateForm,
UpdateInlineForm,
)
from bd_api.apps.api.v1.forms.reorder_columns_form import ReorderColumnsForm # noqa: F401
from bd_api.apps.api.v1.forms.reorder_tables_form import ReorderTablesForm # noqa: F401
33 changes: 20 additions & 13 deletions bd_api/apps/api/v1/forms/admin_form.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,16 +2,17 @@
from bd_api.apps.api.v1.models import (
CloudTable,
Column,
ColumnOriginalName,
Coverage,
ObservationLevel,
Table,
Update,
UUIDHIddenIdForm,
UUIDHiddenIdForm,
)


class TableInlineForm(UUIDHIddenIdForm):
class Meta(UUIDHIddenIdForm):
class TableInlineForm(UUIDHiddenIdForm):
class Meta(UUIDHiddenIdForm):
model = Table
fields = [
"id",
Expand Down Expand Up @@ -43,8 +44,8 @@ class Meta(UUIDHIddenIdForm):
]


class ColumnInlineForm(UUIDHIddenIdForm):
class Meta(UUIDHIddenIdForm.Meta):
class ColumnInlineForm(UUIDHiddenIdForm):
class Meta(UUIDHiddenIdForm.Meta):
model = Column
fields = [
"id",
Expand All @@ -64,20 +65,26 @@ class Meta(UUIDHIddenIdForm.Meta):
]


class CloudTableForm(UUIDHIddenIdForm):
class Meta(UUIDHIddenIdForm.Meta):
class ColumnOriginalNameInlineForm(UUIDHiddenIdForm):
class Meta(UUIDHiddenIdForm.Meta):
model = ColumnOriginalName
fields = "__all__"


class CloudTableInlineForm(UUIDHiddenIdForm):
class Meta(UUIDHiddenIdForm.Meta):
model = CloudTable
fields = "__all__"


class ObservationLevelForm(UUIDHIddenIdForm):
class Meta(UUIDHIddenIdForm.Meta):
class ObservationLevelInlineForm(UUIDHiddenIdForm):
class Meta(UUIDHiddenIdForm.Meta):
model = ObservationLevel
fields = "__all__"


class CoverageInlineForm(UUIDHIddenIdForm):
class Meta(UUIDHIddenIdForm.Meta):
class CoverageInlineForm(UUIDHiddenIdForm):
class Meta(UUIDHiddenIdForm.Meta):
model = Coverage
fields = [
"id",
Expand All @@ -86,7 +93,7 @@ class Meta(UUIDHIddenIdForm.Meta):
]


class UpdateForm(UUIDHIddenIdForm):
class Meta(UUIDHIddenIdForm.Meta):
class UpdateInlineForm(UUIDHiddenIdForm):
class Meta(UUIDHiddenIdForm.Meta):
model = Update
fields = "__all__"
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# -*- coding: utf-8 -*-
# Generated by Django 4.2.6 on 2023-10-25 14:31

import uuid

import django.db.models.deletion
from django.db import migrations, models


class Migration(migrations.Migration):

dependencies = [
("v1", "0024_alter_rawdatasource_license"),
]

operations = [
migrations.AlterField(
model_name="coverage",
name="area",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="coverages",
to="v1.area",
),
),
migrations.CreateModel(
name="ColumnOriginalName",
fields=[
("id", models.UUIDField(default=uuid.uuid4, primary_key=True, serialize=False)),
("name", models.CharField(max_length=255)),
("name_pt", models.CharField(max_length=255, null=True)),
("name_en", models.CharField(max_length=255, null=True)),
("name_es", models.CharField(max_length=255, null=True)),
(
"column",
models.ForeignKey(
on_delete=django.db.models.deletion.CASCADE,
related_name="column_original_names",
to="v1.column",
),
),
],
options={
"verbose_name": "Column Original Name",
"verbose_name_plural": "Column Original Names",
"db_table": "column_original_name",
},
),
migrations.AddField(
model_name="coverage",
name="column_original_name",
field=models.ForeignKey(
blank=True,
null=True,
on_delete=django.db.models.deletion.CASCADE,
related_name="coverages",
to="v1.columnoriginalname",
),
),
]
Loading

0 comments on commit d8d2569

Please sign in to comment.