diff --git a/expert/field.py b/expert/field.py index 0a9d002..ff46650 100644 --- a/expert/field.py +++ b/expert/field.py @@ -24,6 +24,15 @@ from cybertools.composer.report.field import Field from loops import util +class UrlField(Field): + + renderer = 'target' + + def getDisplayValue(self, row): + nv = row.parent.context.view.nodeView + return dict(title=self.getValue(row), url=nv.getUrlForTarget(row.context)) + + class TargetField(Field): renderer = 'target' diff --git a/expert/report.py b/expert/report.py index 89a8925..c89a2cd 100644 --- a/expert/report.py +++ b/expert/report.py @@ -94,9 +94,10 @@ class ReportInstance(BaseReport): crit = self.queryCriteria if crit is None: return [] - for k, v in dynaParams.items(): - if k in crit.parts.keys(): - crit.parts[k].value = v + if dynaParams is not None: + for k, v in dynaParams.items(): + if k in crit.parts.keys(): + crit.parts[k].value = v parts = Jeep(crit.parts) result = list(self.selectObjects(parts)) # may modify parts qc = CompoundQueryCriteria(parts)