SciPost Code Repository

Skip to content
Snippets Groups Projects
Commit 1d55726a authored by George Katsikas's avatar George Katsikas :goat:
Browse files

refactor(graphs): :label:️ add types to model field/form

parent 1793ed48
No related branches found
No related tags found
No related merge requests found
...@@ -147,6 +147,8 @@ class PlotOptionsForm(forms.Form): ...@@ -147,6 +147,8 @@ class PlotOptionsForm(forms.Form):
# Iterate over all forms and construct the form layout # Iterate over all forms and construct the form layout
# either by extending the layout with the preferred layout from the object class # either by extending the layout with the preferred layout from the object class
# or by creating a row with all fields that are not already in the layout # or by creating a row with all fields that are not already in the layout
form: forms.Form
object_class: ModelFieldPlotter | PlotKind | None
for form, object_class in { for form, object_class in {
self.model_field_select_form: self.model_field_select_form.plotter.__class__, self.model_field_select_form: self.model_field_select_form.plotter.__class__,
self.plot_kind_select_form: self.plot_kind_select_form.kind_class, self.plot_kind_select_form: self.plot_kind_select_form.kind_class,
...@@ -172,7 +174,7 @@ class PlotOptionsForm(forms.Form): ...@@ -172,7 +174,7 @@ class PlotOptionsForm(forms.Form):
) )
if get_row_field_layout: if get_row_field_layout:
try: try:
object_class_prefix = object_class.Options.prefix or "" object_class_prefix = str(object_class.Options.prefix) or ""
except AttributeError: except AttributeError:
object_class_prefix = "" object_class_prefix = ""
......
...@@ -53,7 +53,7 @@ class ModelFieldPlotter(ABC): ...@@ -53,7 +53,7 @@ class ModelFieldPlotter(ABC):
def __str__(self): def __str__(self):
return self.get_name() return self.get_name()
def get_queryset(self): def get_queryset(self) -> models.QuerySet[Any]:
qs = self.model.objects.all() qs = self.model.objects.all()
return qs return qs
...@@ -150,7 +150,7 @@ class FellowshipPlotter(ModelFieldPlotter): ...@@ -150,7 +150,7 @@ class FellowshipPlotter(ModelFieldPlotter):
date_key = "start_date" date_key = "start_date"
country_key = "latest_affiliation_country" country_key = "latest_affiliation_country"
def get_queryset(self): def get_queryset(self) -> models.QuerySet[Fellowship]:
qs = super().get_queryset() qs = super().get_queryset()
return qs.annotate( return qs.annotate(
...@@ -175,7 +175,7 @@ class RefereePlotter(ModelFieldPlotter): ...@@ -175,7 +175,7 @@ class RefereePlotter(ModelFieldPlotter):
date_key = "latest_report_date" date_key = "latest_report_date"
country_key = "referee_country" country_key = "referee_country"
def get_queryset(self): def get_queryset(self) -> models.QuerySet[Profile]:
qs = super().get_queryset() qs = super().get_queryset()
return qs.annotate( return qs.annotate(
latest_report_date=models.Subquery( latest_report_date=models.Subquery(
...@@ -205,7 +205,7 @@ class AuthorPlotter(ModelFieldPlotter): ...@@ -205,7 +205,7 @@ class AuthorPlotter(ModelFieldPlotter):
date_key = "first_authorship_date" date_key = "first_authorship_date"
country_key = "author_country" country_key = "author_country"
def get_queryset(self): def get_queryset(self) -> models.QuerySet[Profile]:
qs = super().get_queryset() qs = super().get_queryset()
return qs.annotate( return qs.annotate(
first_authorship_date=models.Subquery( first_authorship_date=models.Subquery(
...@@ -235,7 +235,7 @@ class SponsorPlotter(ModelFieldPlotter): ...@@ -235,7 +235,7 @@ class SponsorPlotter(ModelFieldPlotter):
date_key = "latest_subsidy" date_key = "latest_subsidy"
country_key = "country" country_key = "country"
def get_queryset(self): def get_queryset(self) -> models.QuerySet[Organization]:
qs = super().get_queryset() qs = super().get_queryset()
return qs.annotate( return qs.annotate(
latest_subsidy=models.Subquery( latest_subsidy=models.Subquery(
...@@ -251,7 +251,7 @@ class ReportPlotter(ModelFieldPlotter): ...@@ -251,7 +251,7 @@ class ReportPlotter(ModelFieldPlotter):
date_key = "created" date_key = "created"
country_key = "latest_affiliation_country" country_key = "latest_affiliation_country"
def get_queryset(self): def get_queryset(self) -> models.QuerySet[Report]:
qs = super().get_queryset() qs = super().get_queryset()
return qs.annotate( return qs.annotate(
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment