Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions py4web/utils/grid.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import functools
from urllib.parse import urlparse

from pydal.objects import Expression, Field, FieldVirtual
from pydal.objects import Expression, Field, FieldVirtual, get_default_represent
from pydal.querybuilder import QueryBuilder
from yatl.helpers import (
CAT,
Expand Down Expand Up @@ -37,6 +37,8 @@
NAV = TAG.nav
HEADER = TAG.header

PYDAL_DEFAULT_REPRESENTS = [get_default_represent(""), get_default_represent("list:")]


def title(text):
"""Turns text into a title"""
Expand Down Expand Up @@ -763,8 +765,9 @@ def compute(row, col=col):
# deal with download links in special manner if no representation
if col.type == "upload" and value and hasattr(col, "download_url"):
value = A("download", _href=col.download_url(value))
elif type(value).__name__ in self.formatters_by_type:
value = self.formatters_by_type[type(value).__name__](value)
elif col.represent in PYDAL_DEFAULT_REPRESENTS:
if type(value).__name__ in self.formatters_by_type:
value = self.formatters_by_type[type(value).__name__](value)
elif col.represent:
value = col.represent(value, row)
return value
Expand Down