Skip to content

Commit

Permalink
Merge pull request #2 from maisim/master
Browse files Browse the repository at this point in the history
Fix error if inspected object have no URL #1
  • Loading branch information
chienandalu authored Oct 5, 2022
2 parents f670309 + 9a4cdf4 commit 1533959
Showing 1 changed file with 20 additions and 7 deletions.
27 changes: 20 additions & 7 deletions odooshow/odooshow.py
Original file line number Diff line number Diff line change
Expand Up @@ -107,17 +107,26 @@ def _record_url(self, record):
"""Return a formatted link for relational records. Only supported terminals
:param record record: Odoo record
:return str: Formatted url
:return str: Formatted url or None
"""
return (
f"{record.get_base_url()}"
f"/web#model={record._name}&id={record.id}&view_type=form"
)

if not hasattr(record, "get_base_url"):
base_url = record.env['ir.config_parameter'].sudo().get_param('web.base.url')
else:
base_url = record.get_base_url()

if base_url:
return (
f"{base_url}"
f"/web#model={record._name}&id={record.id}&view_type=form"
)
else:
return None

def _relation_value(self, field_values, attrs=None, record=None):
"""Render related records"""
record_values = [
f"[link={self._record_url(r)}]{r.display_name}[/link]" for r in field_values
f"[link={self._record_url(r)}]{r.display_name}[/link]" if self._record_url(r) else f"{r.display_name}" for r in field_values
]
return field_values and ", ".join(record_values) or ""

Expand Down Expand Up @@ -228,7 +237,11 @@ def _render_record_rows(self, table, records, fields, groupby=None):
empty_group_by_cell = True
for field, attrs in fields.items():
if field == "id":
field = f"[link={self._record_url(record)}]{record.id}[/link]"
record_url = self._record_url(record)
if record_url is not None:
field = f"[link={record_url}]{record.id}[/link]"
else:
field = f"{record.id}"
else:
field = self._cell_value(record, field, attrs)
row_values.append(field and str(field) or "")
Expand Down

0 comments on commit 1533959

Please sign in to comment.