Handle two kind of sequence one with lock on table (strict) and one without
This commit is contained in:
+13
-1
@@ -72,7 +72,6 @@ class Sequence(OSV):
|
||||
)
|
||||
|
||||
def get_id(self, cursor, user, sequence_id, test='id=%s', context=None):
|
||||
cursor.execute('lock table ir_sequence')
|
||||
cursor.execute('SELECT id, number_next, number_increment, prefix, ' \
|
||||
'suffix, padding ' \
|
||||
'FROM ir_sequence ' \
|
||||
@@ -95,3 +94,16 @@ class Sequence(OSV):
|
||||
return self.get_id(cursor, user, code, test='code=%s', context=context)
|
||||
|
||||
Sequence()
|
||||
|
||||
|
||||
class SequenceStrict(Sequence):
|
||||
"Sequence Strict"
|
||||
_name = 'ir.sequence.strict'
|
||||
_description = __doc__
|
||||
|
||||
def get_id(self, cursor, user, sequence_id, test='id=%s', context=None):
|
||||
cursor.execute('LOCK TABLE ir_sequence')
|
||||
return super(SequenceStrict, self).get_id(cursor, user, sequence_id,
|
||||
test=test, context=context)
|
||||
|
||||
SequenceStrict()
|
||||
|
||||
+70
-1
@@ -4,6 +4,7 @@
|
||||
<data>
|
||||
<menuitem name="Sequences" parent="menu_administration"
|
||||
id="menu_sequences"/>
|
||||
|
||||
<record model="ir.ui.view" id="sequence_view_form">
|
||||
<field name="model">ir.sequence</field>
|
||||
<field name="type">form</field>
|
||||
@@ -36,7 +37,6 @@
|
||||
</form>
|
||||
]]>
|
||||
</field>
|
||||
|
||||
</record>
|
||||
<record model="ir.ui.view" id="sequence_view_tree">
|
||||
<field name="model">ir.sequence</field>
|
||||
@@ -72,6 +72,75 @@
|
||||
</record>
|
||||
<menuitem parent="menu_sequences"
|
||||
action="act_sequence_form" id="menu_sequence_form"/>
|
||||
|
||||
<record model="ir.ui.view" id="sequence_strict_view_form">
|
||||
<field name="model">ir.sequence.strict</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<![CDATA[
|
||||
<form string="Sequences Strict">
|
||||
<label name="name"/>
|
||||
<field name="name" colspan="3"/>
|
||||
<label name="code"/>
|
||||
<field name="code"/>
|
||||
<label name="active"/>
|
||||
<field name="active"/>
|
||||
<label name="prefix"/>
|
||||
<field name="prefix"/>
|
||||
<label name="suffix"/>
|
||||
<field name="suffix"/>
|
||||
<label name="padding"/>
|
||||
<field name="padding" />
|
||||
<label name="number_increment"/>
|
||||
<field name="number_increment"/>
|
||||
<label name="number_next"/>
|
||||
<field name="number_next"/>
|
||||
<separator string="Legend (for prefix, suffix)" colspan="4"/>
|
||||
<label string="Year:"/>
|
||||
<label string="${year}" colspan="3" align="0.0"/>
|
||||
<label string="Month:"/>
|
||||
<label string="${month}" colspan="3" align="0.0"/>
|
||||
<label string="Day:"/>
|
||||
<label string="${day}" colspan="3" align="0.0"/>
|
||||
</form>
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.ui.view" id="sequence_strict_view_tree">
|
||||
<field name="model">ir.sequence.strict</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<![CDATA[
|
||||
<tree string="Sequences Strict">
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="active" select="1"/>
|
||||
</tree>
|
||||
]]>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.action.act_window" id="act_sequence_strict_form">
|
||||
<field name="name">Sequences Strict</field>
|
||||
<field name="type">ir.action.act_window</field>
|
||||
<field name="res_model">ir.sequence.strict</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="context">{'active_test': False}</field>
|
||||
</record>
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_sequence_strict_form_view1">
|
||||
<field name="sequence" eval="1"/>
|
||||
<field name="view" ref="sequence_strict_view_tree"/>
|
||||
<field name="act_window" ref="act_sequence_strict_form"/>
|
||||
</record>
|
||||
<record model="ir.action.act_window.view"
|
||||
id="act_sequence_strict_form_view2">
|
||||
<field name="sequence" eval="2"/>
|
||||
<field name="view" ref="sequence_strict_view_form"/>
|
||||
<field name="act_window" ref="act_sequence_strict_form"/>
|
||||
</record>
|
||||
<menuitem parent="menu_sequences"
|
||||
action="act_sequence_strict_form" id="menu_sequence_strict_form"/>
|
||||
|
||||
<record model="ir.ui.view" id="sequence_type_view_form">
|
||||
<field name="model">ir.sequence.type</field>
|
||||
<field name="type">form</field>
|
||||
|
||||
Reference in New Issue
Block a user