diff --git a/addons/account_analytic_analysis/account_analytic_analysis_view.xml b/addons/account_analytic_analysis/account_analytic_analysis_view.xml index ba17a3c6a24..d425837d1c9 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis_view.xml +++ b/addons/account_analytic_analysis/account_analytic_analysis_view.xml @@ -198,6 +198,7 @@ account.analytic.account.list.contract account.analytic.account + diff --git a/addons/pad/pad.py b/addons/pad/pad.py index 68b19c3a1d6..421d9b9ca62 100644 --- a/addons/pad/pad.py +++ b/addons/pad/pad.py @@ -37,7 +37,9 @@ class pad_common(osv.osv_memory): s = string.ascii_uppercase + string.digits salt = ''.join([s[random.randint(0, len(s) - 1)] for i in range(10)]) #path - path = '%s-%s-%s' % (cr.dbname.replace('_','-'), self._name, salt) + # etherpad hardcodes pad id length limit to 50 + path = '-%s-%s' % (self._name, salt) + path = '%s%s' % (cr.dbname.replace('_','-')[0:50 - len(path)], path) # contruct the url url = '%s/p/%s' % (pad["server"], path) diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 62ef9eba902..0a9140ef8f0 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -504,7 +504,17 @@ class browse_record(object): def __getattr__(self, name): try: return self[name] - except KeyError, e: + except KeyError as e: + if name in self._all_columns: + raise ValueError( + 'Cannot fetch field "%(field)s" for "%(model)s" record ' + 'with ID %(id)s, that record does not exist or has been ' + 'deleted' % { + 'field': name, + 'model': self._model._name, + 'id': self._id, + } + ) import sys exc_info = sys.exc_info() raise AttributeError, "Got %r while trying to get attribute %s on a %s record." % (e, name, self._table._name), exc_info[2]