Raise a UserError when SQL sequence operations fail
issue10235 review332771002
This commit is contained in:
1 parent
6a626d3bad
commit
aa99adcbc6
2 files changed
+27
-5
No files matched your search
@@ -267,6 +267,9 @@ this repository contains the full copyright notices and license terms. -->
|
||||
<record model="ir.message" id="msg_sequence_change_sequence_type">
|
||||
<field name="text">You cannot change the sequence type of a sequence instead create a new sequence.</field>
|
||||
</record>
|
||||
<record model="ir.message" id="msg_sequence_invalid_number_increment_next">
|
||||
<field name="text">Invalid "Increment Number" (%s) or "Next Number" (%s) with exception "%(exception)s".</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.message" id="msg_language_invalid_grouping">
|
||||
<field name="text">Invalid grouping "%(grouping)s" for language "%(language)s".</field>
|
||||
|
||||
+24
-5
@@ -29,6 +29,10 @@ class LastTimestampError(ValidationError):
|
||||
pass
|
||||
|
||||
|
||||
class SQLSequenceError(ValidationError):
|
||||
pass
|
||||
|
||||
|
||||
class SequenceType(ModelSQL, ModelView):
|
||||
"Sequence type"
|
||||
__name__ = 'ir.sequence.type'
|
||||
@@ -265,9 +269,16 @@ class Sequence(DeactivableMixin, ModelSQL, ModelView):
|
||||
return
|
||||
if number_next is None:
|
||||
number_next = self.number_next
|
||||
if sql_sequence:
|
||||
transaction.database.sequence_create(transaction.connection,
|
||||
self._sql_sequence_name, self.number_increment, number_next)
|
||||
try:
|
||||
transaction.database.sequence_create(
|
||||
transaction.connection, self._sql_sequence_name,
|
||||
self.number_increment, number_next)
|
||||
except Exception as exception:
|
||||
raise SQLSequenceError(
|
||||
gettext('ir.msg_sequence_invalid_number_increment_next',
|
||||
number_increment=self.number_increment,
|
||||
number_next=number_next,
|
||||
exception=exception)) from exception
|
||||
|
||||
def update_sql_sequence(self, number_next=None):
|
||||
'Update the SQL sequence'
|
||||
@@ -284,8 +295,16 @@ class Sequence(DeactivableMixin, ModelSQL, ModelView):
|
||||
return
|
||||
if number_next is None:
|
||||
number_next = self.number_next
|
||||
transaction.database.sequence_update(transaction.connection,
|
||||
self._sql_sequence_name, self.number_increment, number_next)
|
||||
try:
|
||||
transaction.database.sequence_update(
|
||||
transaction.connection, self._sql_sequence_name,
|
||||
self.number_increment, number_next)
|
||||
except Exception as exception:
|
||||
raise SQLSequenceError(
|
||||
gettext('ir.msg_sequence_invalid_number_increment_next',
|
||||
number_increment=self.number_increment,
|
||||
number_next=number_next,
|
||||
exception=exception)) from exception
|
||||
|
||||
def delete_sql_sequence(self):
|
||||
'Delete the SQL sequence'
|
||||
|
||||
Reference in new issue
Block a user