diff roundup/cgi/templating.py @ 8302:82a26ea1afdf

issue2551376: Fix tracebacks in item templates
author Ralf Schlatterbeck <rsc@runtux.com>
date Wed, 26 Feb 2025 11:24:13 +0100
parents 3ba8078843db
children a81a3cd067fa
line wrap: on
line diff
--- a/roundup/cgi/templating.py	Wed Feb 19 12:50:07 2025 +0100
+++ b/roundup/cgi/templating.py	Wed Feb 26 11:24:13 2025 +0100
@@ -1122,7 +1122,7 @@
         try:
             if int(self._nodeid) > 0:
                 value = self._klass.get(self._nodeid, items[0], None)
-        except ValueError:
+        except (IndexError, ValueError):
             value = self._nodeid
         if value is None:
             if isinstance(prop, hyperdb.Multilink):
@@ -2573,9 +2573,9 @@
             if k and num_re.match(self._value):
                 try:
                     value = linkcl.get(self._value, k)
-                except IndexError:
+                except (IndexError, hyperdb.HyperdbValueError) as err:
                     if idparse:
-                        raise
+                        self._client.add_error_message(str(err))
                     value = ''
             else:
                 value = self._value
@@ -2880,7 +2880,10 @@
                 showid = 1
             if not showid:
                 k = linkcl.labelprop(1)
-                value = lookupKeys(linkcl, k, value)
+                try:
+                    value = lookupKeys(linkcl, k, value)
+                except (ValueError, IndexError) as err:
+                    self._client.add_error_message (str(err))
             value = ','.join(value)
             kwargs["value"] = value
 

Roundup Issue Tracker: http://roundup-tracker.org/