Refactor QuestionTable to inherit Meta options from SelectionTable for consistency

This commit is contained in:
Ross
2025-11-01 21:42:33 +00:00
parent 0e7307de18
commit 206f0afd32
2 changed files with 21 additions and 40 deletions
+20 -39
View File
@@ -174,9 +174,8 @@ class CaseTable(SelectionTable):
"atlas:case_delete", text="Delete", args=[A("pk")], orderable=False "atlas:case_delete", text="Delete", args=[A("pk")], orderable=False
) )
#selection = tables.CheckBoxColumn(accessor="pk", orderable=False)
class Meta: class Meta(SelectionTable.Meta):
model = Case model = Case
template_name = "django_tables2/bootstrap4.html" template_name = "django_tables2/bootstrap4.html"
fields = ( fields = (
@@ -190,7 +189,6 @@ class CaseTable(SelectionTable):
) )
sequence = ("view", ) sequence = ("view", )
order_by = "-created_date" order_by = "-created_date"
attrs = {"class": "table"}
@@ -205,7 +203,7 @@ class PopupLinkColumn(tables.Column):
return obj.get_thumbnail()[0] return obj.get_thumbnail()[0]
class SeriesTable(tables.Table): class SeriesTable(SelectionTable):
edit = tables.LinkColumn( edit = tables.LinkColumn(
"atlas:series_update", text="Edit", args=[A("pk")], orderable=False "atlas:series_update", text="Edit", args=[A("pk")], orderable=False
) )
@@ -219,13 +217,12 @@ class SeriesTable(tables.Table):
delete = tables.LinkColumn( delete = tables.LinkColumn(
"atlas:series_delete", text="Delete", args=[A("pk")], orderable=False "atlas:series_delete", text="Delete", args=[A("pk")], orderable=False
) )
selection = tables.CheckBoxColumn(accessor="pk", orderable=False)
case = tables.ManyToManyColumn(verbose_name="Cases") case = tables.ManyToManyColumn(verbose_name="Cases")
findings = tables.ManyToManyColumn(verbose_name="Findings") findings = tables.ManyToManyColumn(verbose_name="Findings")
structures = tables.ManyToManyColumn(verbose_name="Structures") structures = tables.ManyToManyColumn(verbose_name="Structures")
class Meta: class Meta(SelectionTable.Meta):
model = Series model = Series
template_name = "django_tables2/bootstrap4.html" template_name = "django_tables2/bootstrap4.html"
fields = ( fields = (
@@ -240,7 +237,6 @@ class SeriesTable(tables.Table):
) )
sequence = ("view", "popup", "images", "case") sequence = ("view", "popup", "images", "case")
order_by = "-created_date" order_by = "-created_date"
attrs = {"class": "table row-selector"}
def __init__(self, data=None, *args, **kwargs): def __init__(self, data=None, *args, **kwargs):
@@ -259,7 +255,7 @@ class SeriesTable(tables.Table):
) )
class ConditionTable(tables.Table): class ConditionTable(SelectionTable):
name = tables.Column( name = tables.Column(
linkify=("atlas:condition_detail", {"pk": tables.A("pk")}), linkify=("atlas:condition_detail", {"pk": tables.A("pk")}),
verbose_name="Condition", verbose_name="Condition",
@@ -271,18 +267,16 @@ class ConditionTable(tables.Table):
delete = tables.LinkColumn( delete = tables.LinkColumn(
"atlas:condition_delete", text="Delete", args=[A("pk")], orderable=False "atlas:condition_delete", text="Delete", args=[A("pk")], orderable=False
) )
selection = tables.CheckBoxColumn(accessor="pk", orderable=False)
# synonym = tables.ManyToManyColumn(verbose_name="Synonyms") # synonym = tables.ManyToManyColumn(verbose_name="Synonyms")
synonym = tables.Column(empty_values=()) synonym = tables.Column(empty_values=())
parent = tables.ManyToManyColumn(verbose_name="Parents") parent = tables.ManyToManyColumn(verbose_name="Parents")
class Meta: class Meta(SelectionTable.Meta):
model = Condition model = Condition
template_name = "django_tables2/bootstrap4.html" template_name = "django_tables2/bootstrap4.html"
fields = ("primary", "subspecialty", "rcr_curriculum_map", "rcr_curriculum") fields = ("primary", "subspecialty", "rcr_curriculum_map", "rcr_curriculum")
sequence = ("name",) sequence = ("name",)
attrs = {"class": "table row-selector"}
def __init__(self, data=None, *args, **kwargs): def __init__(self, data=None, *args, **kwargs):
@@ -299,7 +293,7 @@ class ConditionTable(tables.Table):
return f"{record.get_synonym_link()}" return f"{record.get_synonym_link()}"
class FindingTable(tables.Table): class FindingTable(SelectionTable):
name = tables.Column( name = tables.Column(
linkify=("atlas:finding_detail", {"pk": tables.A("pk")}), verbose_name="Finding" linkify=("atlas:finding_detail", {"pk": tables.A("pk")}), verbose_name="Finding"
) )
@@ -309,25 +303,23 @@ class FindingTable(tables.Table):
delete = tables.LinkColumn( delete = tables.LinkColumn(
"atlas:finding_delete", text="Delete", args=[A("pk")], orderable=False "atlas:finding_delete", text="Delete", args=[A("pk")], orderable=False
) )
selection = tables.CheckBoxColumn(accessor="pk", orderable=False)
# synonym = tables.ManyToManyColumn(verbose_name="Synonyms") # synonym = tables.ManyToManyColumn(verbose_name="Synonyms")
synonym = tables.Column(empty_values=()) synonym = tables.Column(empty_values=())
parent = tables.ManyToManyColumn(verbose_name="Parents") parent = tables.ManyToManyColumn(verbose_name="Parents")
class Meta: class Meta(SelectionTable.Meta):
model = Finding model = Finding
template_name = "django_tables2/bootstrap4.html" template_name = "django_tables2/bootstrap4.html"
fields = ("name", "primary") fields = ("name", "primary")
sequence = ("name",) sequence = ("name",)
attrs = {"class": "table row-selector"}
def render_synonym(self, value, record): def render_synonym(self, value, record):
return format_html(record.get_synonym_link()) return format_html(record.get_synonym_link())
class StructureTable(tables.Table): class StructureTable(SelectionTable):
name = tables.Column( name = tables.Column(
linkify=("atlas:structure_detail", {"pk": tables.A("pk")}), linkify=("atlas:structure_detail", {"pk": tables.A("pk")}),
verbose_name="Structure", verbose_name="Structure",
@@ -338,25 +330,23 @@ class StructureTable(tables.Table):
delete = tables.LinkColumn( delete = tables.LinkColumn(
"atlas:structure_delete", text="Delete", args=[A("pk")], orderable=False "atlas:structure_delete", text="Delete", args=[A("pk")], orderable=False
) )
selection = tables.CheckBoxColumn(accessor="pk", orderable=False)
# synonym = tables.ManyToManyColumn(verbose_name="Synonyms") # synonym = tables.ManyToManyColumn(verbose_name="Synonyms")
synonym = tables.Column(empty_values=()) synonym = tables.Column(empty_values=())
parent = tables.ManyToManyColumn(verbose_name="Parents") parent = tables.ManyToManyColumn(verbose_name="Parents")
class Meta: class Meta(SelectionTable.Meta):
model = Structure model = Structure
template_name = "django_tables2/bootstrap4.html" template_name = "django_tables2/bootstrap4.html"
fields = ("name", "primary") fields = ("name", "primary")
sequence = ("name",) sequence = ("name",)
attrs = {"class": "table row-selector"}
def render_synonym(self, value, record): def render_synonym(self, value, record):
return format_html(record.get_synonym_link()) return format_html(record.get_synonym_link())
class PresentationTable(tables.Table): class PresentationTable(SelectionTable):
name = tables.Column( name = tables.Column(
linkify=("atlas:presentation_detail", {"pk": tables.A("pk")}), linkify=("atlas:presentation_detail", {"pk": tables.A("pk")}),
verbose_name="Presentation", verbose_name="Presentation",
@@ -368,20 +358,19 @@ class PresentationTable(tables.Table):
# delete = tables.LinkColumn( # delete = tables.LinkColumn(
# "atlas:presentation_delete", text="Delete", args=[A("pk")], orderable=False # "atlas:presentation_delete", text="Delete", args=[A("pk")], orderable=False
# ) # )
selection = tables.CheckBoxColumn(accessor="pk", orderable=False)
subspecialty = tables.ManyToManyColumn(verbose_name="Subspecialty") subspecialty = tables.ManyToManyColumn(verbose_name="Subspecialty")
class Meta: class Meta(SelectionTable.Meta):
model = Presentation model = Presentation
template_name = "django_tables2/bootstrap4.html" template_name = "django_tables2/bootstrap4.html"
fields = ("name",) fields = ("name",)
sequence = ("name",) sequence = ("name",)
attrs = {"class": "table row-selector"}
class PathologicalProcessTable(tables.Table):
class PathologicalProcessTable(SelectionTable):
name = tables.Column( name = tables.Column(
linkify=("atlas:pathological_process_detail", {"pk": tables.A("pk")}), linkify=("atlas:pathological_process_detail", {"pk": tables.A("pk")}),
verbose_name="PathologicalProcess", verbose_name="PathologicalProcess",
@@ -393,18 +382,15 @@ class PathologicalProcessTable(tables.Table):
# delete = tables.LinkColumn( # delete = tables.LinkColumn(
# "atlas:pathological_process_delete", text="Delete", args=[A("pk")], orderable=False # "atlas:pathological_process_delete", text="Delete", args=[A("pk")], orderable=False
# ) # )
selection = tables.CheckBoxColumn(accessor="pk", orderable=False)
class Meta: class Meta(SelectionTable.Meta):
model = PathologicalProcess model = PathologicalProcess
template_name = "django_tables2/bootstrap4.html" template_name = "django_tables2/bootstrap4.html"
fields = ("name",) fields = ("name",)
sequence = ("name",) sequence = ("name",)
attrs = {"class": "table row-selector"}
class SubspecialtyTable(SelectionTable):
class SubspecialtyTable(tables.Table):
name = tables.Column( name = tables.Column(
linkify=("atlas:subspecialty_detail", {"pk": tables.A("pk")}), linkify=("atlas:subspecialty_detail", {"pk": tables.A("pk")}),
verbose_name="Subspecialty", verbose_name="Subspecialty",
@@ -416,21 +402,19 @@ class SubspecialtyTable(tables.Table):
# delete = tables.LinkColumn( # delete = tables.LinkColumn(
# "atlas:subspecialty_delete", text="Delete", args=[A("pk")], orderable=False # "atlas:subspecialty_delete", text="Delete", args=[A("pk")], orderable=False
# ) # )
selection = tables.CheckBoxColumn(accessor="pk", orderable=False)
class Meta: class Meta(SelectionTable.Meta):
model = Subspecialty model = Subspecialty
template_name = "django_tables2/bootstrap4.html" template_name = "django_tables2/bootstrap4.html"
fields = () fields = ()
sequence = ("name",) sequence = ("name",)
attrs = {"class": "table row-selector"}
def render_synonym(self, value, record): def render_synonym(self, value, record):
return format_html(record.get_synonym_link()) return format_html(record.get_synonym_link())
return f"{record.get_synonym_link()}" return f"{record.get_synonym_link()}"
class CaseCollectionTable(tables.Table): class CaseCollectionTable(SelectionTable):
edit = tables.LinkColumn( edit = tables.LinkColumn(
"atlas:exam_update", text="Edit", args=[A("pk")], orderable=False "atlas:exam_update", text="Edit", args=[A("pk")], orderable=False
) )
@@ -446,9 +430,8 @@ class CaseCollectionTable(tables.Table):
#differential = tables.ManyToManyColumn(verbose_name="Differential") #differential = tables.ManyToManyColumn(verbose_name="Differential")
selection = tables.CheckBoxColumn(accessor="pk", orderable=False)
class Meta: class Meta(SelectionTable.Meta):
model = CaseCollection model = CaseCollection
template_name = "django_tables2/bootstrap4.html" template_name = "django_tables2/bootstrap4.html"
fields = ( fields = (
@@ -459,7 +442,6 @@ class CaseCollectionTable(tables.Table):
"author", "author",
) )
sequence = ("view", )#, "series") sequence = ("view", )#, "series")
attrs = {"class": "table row-selector"}
def __init__(self, data=None, *args, **kwargs): def __init__(self, data=None, *args, **kwargs):
@@ -471,7 +453,7 @@ class CaseCollectionTable(tables.Table):
**kwargs, **kwargs,
) )
class QuestionSchemaTable(tables.Table): class QuestionSchemaTable(SelectionTable):
name = tables.Column( name = tables.Column(
linkify=("atlas:question_schema_detail", {"pk": tables.A("pk")}), linkify=("atlas:question_schema_detail", {"pk": tables.A("pk")}),
verbose_name="QuestionSchema", verbose_name="QuestionSchema",
@@ -484,11 +466,10 @@ class QuestionSchemaTable(tables.Table):
"atlas:question_schema_delete", text="Delete", args=[A("pk")], orderable=False "atlas:question_schema_delete", text="Delete", args=[A("pk")], orderable=False
) )
class Meta: class Meta(SelectionTable.Meta):
model = QuestionSchema model = QuestionSchema
template_name = "django_tables2/bootstrap4.html" template_name = "django_tables2/bootstrap4.html"
fields = ("name", "description", "schema") fields = ("name", "description", "schema")
attrs = {"class": "table row-selector"}
def render_schema(self, value, record): def render_schema(self, value, record):
+1 -1
View File
@@ -38,7 +38,7 @@ class QuestionTable(SelectionTable):
"sbas:question_update", text="Edit", args=[A("pk")], orderable=False "sbas:question_update", text="Edit", args=[A("pk")], orderable=False
) )
class Meta: class Meta(SelectionTable.Meta):
model = Question model = Question
template_name = "django_tables2/bootstrap4.html" template_name = "django_tables2/bootstrap4.html"
fields = ( fields = (