Skip to content

Commit b279482

Browse files
committed
make grid formatters_by_type always overrule field.represent for automatic Columns
1 parent 258e5b0 commit b279482

2 files changed

Lines changed: 9 additions & 14 deletions

File tree

py4web/utils/grid.py

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -733,11 +733,13 @@ def col2key(col):
733733

734734
def compute(row, col=col):
735735
value = row(str(col))
736-
if col.represent:
737-
value = col.represent(value, row)
738736
# deal with download links in special manner if no representation
739737
if col.type == "upload" and value and hasattr(col, "download_url"):
740738
value = A("download", _href=col.download_url(value))
739+
elif type(value).__name__ in self.formatters_by_type:
740+
value = self.formatters_by_type[type(value).__name__](value)
741+
elif col.represent:
742+
value = col.represent(value, row)
741743
return value
742744

743745
self.columns.append(
@@ -927,12 +929,6 @@ def _make_action_button(
927929

928930
return link
929931

930-
def reformat(self, value):
931-
type_name = type(value).__name__
932-
if type_name in self.formatters_by_type:
933-
return self.formatters_by_type[type_name](value)
934-
return value
935-
936932
def _make_default_form(self):
937933
search_type = safe_int(request.query.get("search_type", 0), default=0)
938934
search_string = request.query.get("search_string")
@@ -1107,8 +1103,7 @@ def _make_table_body(self):
11071103
]
11081104
)
11091105
value = col.represent(row)
1110-
reformatted_value = self.reformat(value)
1111-
tr.append(TD(reformatted_value, _class=classes))
1106+
tr.append(TD(value, _class=classes))
11121107

11131108
tbody.append(tr)
11141109

uv.lock

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)