[IMP] point_of_sale: review the session workflow
[REF] point_of_sale: move the 'to_weight' field into the pos.category bzr revid: stw@openerp.com-20120509133018-mu06479yu2yahvu4
This commit is contained in:
parent
cd171effd5
commit
a4dd08a340
|
@ -21,7 +21,6 @@
|
|||
|
||||
import point_of_sale
|
||||
import account_bank_statement
|
||||
import product
|
||||
import res_users
|
||||
import wizard
|
||||
import report
|
||||
|
|
|
@ -66,7 +66,6 @@ Main features :
|
|||
'point_of_sale_workflow.xml',
|
||||
'account_statement_view.xml',
|
||||
'account_statement_report.xml',
|
||||
'product_view.xml',
|
||||
'res_users_view.xml',
|
||||
],
|
||||
'demo_xml': [
|
||||
|
|
|
@ -129,6 +129,7 @@
|
|||
<field name="act_window_id" ref="action_new_bank_statement_all_tree"/>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
<menuitem name="Cash Register Management" parent="point_of_sale.menu_point_root"
|
||||
id="menu_point_open_config" sequence="10"/>
|
||||
<menuitem
|
||||
|
@ -156,6 +157,7 @@
|
|||
id="menu_all_menu_all_register"
|
||||
sequence="4"
|
||||
/>
|
||||
-->
|
||||
|
||||
|
||||
</data>
|
||||
|
|
|
@ -47,8 +47,8 @@ class pos_config(osv.osv):
|
|||
'name' : fields.char('Name', size=32,
|
||||
select=1,
|
||||
required=True,
|
||||
readonly=True,
|
||||
states={'draft' : [('readonly', False)]}
|
||||
# readonly=True,
|
||||
# states={'draft' : [('readonly', False)]}
|
||||
),
|
||||
'journal_ids' : fields.many2many('account.journal',
|
||||
'pos_config_journal_rel',
|
||||
|
@ -56,21 +56,21 @@ class pos_config(osv.osv):
|
|||
'journal_id',
|
||||
'Payment Methods',
|
||||
domain="[('journal_user', '=', True )]",
|
||||
readonly=True,
|
||||
states={'draft' : [('readonly', False)]}
|
||||
# readonly=True,
|
||||
# states={'draft' : [('readonly', False)]}
|
||||
),
|
||||
'shop_id' : fields.many2one('sale.shop', 'Shop',
|
||||
required=True,
|
||||
select=1,
|
||||
readonly=True,
|
||||
states={'draft' : [('readonly', False)]}
|
||||
# readonly=True,
|
||||
# states={'draft' : [('readonly', False)]}
|
||||
),
|
||||
'journal_id' : fields.many2one('account.journal', 'Journal',
|
||||
required=True,
|
||||
select=1,
|
||||
domain=[('type', '=', 'sale')],
|
||||
readonly=True,
|
||||
states={'draft' : [('readonly', False)]}
|
||||
# readonly=True,
|
||||
# states={'draft' : [('readonly', False)]}
|
||||
),
|
||||
'iface_self_checkout' : fields.boolean('Self Checkout Mode'),
|
||||
'iface_websql' : fields.boolean('WebSQL (to store data)'),
|
||||
|
@ -88,8 +88,8 @@ class pos_config(osv.osv):
|
|||
'sequence_id' : fields.many2one('ir.sequence', 'Sequence',
|
||||
readonly=True),
|
||||
'user_id' : fields.many2one('res.users', 'User',
|
||||
readonly=True,
|
||||
states={'draft' : [('readonly', False)]}
|
||||
# readonly=True,
|
||||
# states={'draft' : [('readonly', False)]}
|
||||
),
|
||||
|
||||
}
|
||||
|
@ -180,34 +180,34 @@ class pos_session(osv.osv):
|
|||
|
||||
#"status [BUTTON TEXT]" -> utiliser
|
||||
# "opening control (open) -> opened (cashbox control) -> closing control (close) -> closed & posted"
|
||||
POS_SESSION_STATE = [('new', 'New'),('opened', 'Opened'),('closed', 'Closed'),('posted', 'Posted')]
|
||||
#POS_SESSION_STATE = [
|
||||
# ('new', 'Opening Control'),
|
||||
# ('opened', 'Opened'),
|
||||
# ('closed', 'Closing Control'),
|
||||
# ('posted', 'Closed & Posted'),
|
||||
#]
|
||||
#POS_SESSION_STATE = [('new', 'New'),('opened', 'Opened'),('closed', 'Closed'),('posted', 'Posted')]
|
||||
POS_SESSION_STATE = [
|
||||
('opening_control', 'Opening Control'), # Signal open
|
||||
('opened', 'Opened'), # Signal closing
|
||||
('closing_control', 'Closing Control'), # Signal close
|
||||
('closed', 'Closed'),
|
||||
]
|
||||
|
||||
_columns = {
|
||||
'config_id' : fields.many2one('pos.config', 'PoS',
|
||||
required=True,
|
||||
select=1,
|
||||
domain="[('state', '=', 'active')]",
|
||||
readonly=True,
|
||||
states={'draft' : [('readonly', False)]}
|
||||
# readonly=True,
|
||||
# states={'draft' : [('readonly', False)]}
|
||||
),
|
||||
|
||||
'name' : fields.char('Session Sequence', size=32,
|
||||
required=True,
|
||||
select=1,
|
||||
readonly=True,
|
||||
states={'draft' : [('readonly', False)]}
|
||||
# readonly=True,
|
||||
# states={'draft' : [('readonly', False)]}
|
||||
),
|
||||
'user_id' : fields.many2one('res.users', 'User',
|
||||
required=True,
|
||||
select=1,
|
||||
readonly=True,
|
||||
states={'draft' : [('readonly', False)]}
|
||||
# readonly=True,
|
||||
# states={'draft' : [('readonly', False)]}
|
||||
),
|
||||
'start_at' : fields.datetime('Opening Date'),
|
||||
'stop_at' : fields.datetime('Closing Date'),
|
||||
|
@ -234,7 +234,7 @@ class pos_session(osv.osv):
|
|||
_defaults = {
|
||||
'name' : '/',
|
||||
'user_id' : lambda obj, cr, uid, context: uid,
|
||||
'state' : 'new',
|
||||
'state' : 'opening_control',
|
||||
}
|
||||
|
||||
_sql_constraints = [
|
||||
|
@ -309,15 +309,15 @@ class pos_session(osv.osv):
|
|||
|
||||
return True
|
||||
|
||||
def wkf_action_close(self, cr, uid, ids, context=None):
|
||||
def wkf_action_closing_control(self, cr, uid, ids, context=None):
|
||||
# Close CashBox
|
||||
for record in self.browse(cr, uid, ids, context=context):
|
||||
record.cash_register_id.button_confirm_cash(context=context)
|
||||
return self.write(cr, uid, ids, {'state' : 'closed', 'stop_at' : time.strftime('%Y-%m-%d %H:%M:%S')}, context=context)
|
||||
return self.write(cr, uid, ids, {'state' : 'closing_control', 'stop_at' : time.strftime('%Y-%m-%d %H:%M:%S')}, context=context)
|
||||
|
||||
def wkf_action_post(self, cr, uid, ids, context=None):
|
||||
def wkf_action_close(self, cr, uid, ids, context=None):
|
||||
self._confirm_orders(cr, uid, ids, context=context)
|
||||
return self.write(cr, uid, ids, {'state' : 'posted'}, context=context)
|
||||
return self.write(cr, uid, ids, {'state' : 'closed'}, context=context)
|
||||
|
||||
def _confirm_orders(self, cr, uid, ids, context=None):
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
|
@ -370,7 +370,7 @@ class pos_session(osv.osv):
|
|||
|
||||
session_id = self.create(cr, uid, values, context=context)
|
||||
wkf_service = netsvc.LocalService('workflow')
|
||||
wkf_service.trg_validate(uid, 'pos.session', session_id, 'open', cr)
|
||||
wkf_service.trg_validate(uid, 'pos.session', session_id, 'opening_control', cr)
|
||||
|
||||
return session_id
|
||||
|
||||
|
@ -1112,6 +1112,11 @@ class pos_category(osv.osv):
|
|||
'parent_id': fields.many2one('pos.category','Parent Category', select=True),
|
||||
'child_id': fields.one2many('pos.category', 'parent_id', string='Children Categories'),
|
||||
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of product categories."),
|
||||
'to_weight' : fields.boolean('To Weight'),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'to_weight' : False,
|
||||
}
|
||||
pos_category()
|
||||
|
||||
|
|
|
@ -641,6 +641,7 @@
|
|||
<field name="name"/>
|
||||
<field name="parent_id"/>
|
||||
<field name="sequence"/>
|
||||
<field name="to_weight" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
@ -671,6 +672,7 @@
|
|||
<menuitem name="Configuration" parent="menu_point_root"
|
||||
id="menu_point_config_product" sequence="25" groups="group_pos_manager"/>
|
||||
|
||||
<!--
|
||||
<record id="action_account_journal_form" model="ir.actions.act_window">
|
||||
<field name="name">Payment Methods</field>
|
||||
<field name="res_model">account.journal</field>
|
||||
|
@ -685,6 +687,7 @@
|
|||
id="menu_action_account_journal_form_open"
|
||||
parent="menu_point_config_product"
|
||||
sequence="20"/>
|
||||
-->
|
||||
|
||||
<record model="ir.ui.view" id="view_pos_order_tree_all_sales_lines">
|
||||
<field name="name">POS Sales Lines</field>
|
||||
|
@ -894,10 +897,11 @@
|
|||
</notebook>
|
||||
|
||||
<group colspan="4" col="5">
|
||||
<field name="state" widget="statusbar" statusbar_visible="new,opened,closed,posted" statusbar_colors='{"posted":"green"}'/>
|
||||
<button name="open" type="workflow" string="Open" states="new" />
|
||||
<button name="close" type="workflow" string="Close" states="opened" />
|
||||
<button name="post" type="workflow" string="Post" states="closed" />
|
||||
<field name="state" /> <!-- widget="statusbar" statusbar_visible="new,opened,closed,posted" statusbar_colors='{"posted":"green"}'/> -->
|
||||
<!-- state:opening_control -> signal:open -> state:opened -> signal:cashbox_control -> state:closing_control -> signal:close -> state:close -->
|
||||
<button name="open" type="workflow" string="Open" states="opening_control"/>
|
||||
<button name="cashbox_control" type="workflow" string="Cashbox Control" states="opened" />
|
||||
<button name="close" type="workflow" string="Close" states="closing_control" />
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
|
@ -86,51 +86,53 @@
|
|||
|
||||
<!-- Activities -->
|
||||
|
||||
<record model="workflow.activity" id="act_new">
|
||||
<record model="workflow.activity" id="act_opening_control">
|
||||
<field name="wkf_id" ref="wkf_pos_session"/>
|
||||
<field name="flow_start">True</field>
|
||||
<field name="name">new</field>
|
||||
<field name="name">opening_control</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.activity" id="act_open">
|
||||
<field name="wkf_id" ref="wkf_pos_session"/>
|
||||
<field name="name">open</field>
|
||||
<field name="name">opened</field>
|
||||
<field name="action">wkf_action_open()</field>
|
||||
<field name="kind">function</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.activity" id="act_closing_control">
|
||||
<field name="wkf_id" ref="wkf_pos_session"/>
|
||||
<field name="name">closing_control</field>
|
||||
<field name="action">wkf_action_closing_control()</field>
|
||||
<field name="kind">function</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.activity" id="act_close">
|
||||
<field name="wkf_id" ref="wkf_pos_session"/>
|
||||
<field name="name">close</field>
|
||||
<field name="flow_stop">True</field>
|
||||
<field name="name">closed</field>
|
||||
<field name="action">wkf_action_close()</field>
|
||||
<field name="kind">function</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.activity" id="act_post">
|
||||
<field name="wkf_id" ref="wkf_pos_session"/>
|
||||
<field name="flow_stop">True</field>
|
||||
<field name="name">post</field>
|
||||
<field name="action">wkf_action_post()</field>
|
||||
<field name="kind">function</field>
|
||||
</record>
|
||||
|
||||
<!-- Transitions -->
|
||||
<record model="workflow.transition" id="trans_new_open">
|
||||
<field name="act_from" ref="act_new"/>
|
||||
<field name="act_to" ref="act_open"/>
|
||||
<!-- state:opening_control -> signal:open -> state:opened -> signal:cashbox_control -> state:closing_control -> signal:close -> state:close -->
|
||||
|
||||
<record model="workflow.transition" id="trans_opening_control_to_open">
|
||||
<field name="act_from" ref="act_opening_control" />
|
||||
<field name="act_to" ref="act_open" />
|
||||
<field name="signal">open</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.transition" id="trans_open_close">
|
||||
<field name="act_from" ref="act_open"/>
|
||||
<field name="act_to" ref="act_close"/>
|
||||
<field name="signal">close</field>
|
||||
<record model="workflow.transition" id="trans_open_to_closing_control">
|
||||
<field name="act_from" ref="act_open" />
|
||||
<field name="act_to" ref="act_closing_control" />
|
||||
<field name="signal">cashbox_control</field>
|
||||
</record>
|
||||
|
||||
<record model="workflow.transition" id="trans_close_post">
|
||||
<field name="act_from" ref="act_close"/>
|
||||
<field name="act_to" ref="act_post"/>
|
||||
<field name="signal">post</field>
|
||||
<record model="workflow.transition" id="trans_closing_control_to_close">
|
||||
<field name="act_from" ref="act_closing_control" />
|
||||
<field name="act_to" ref="act_close" />
|
||||
<field name="signal">close</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
from osv import osv, fields
|
||||
|
||||
class product_category(osv.osv):
|
||||
_inherit = 'product.category'
|
||||
|
||||
_columns = {
|
||||
'to_weight' : fields.boolean('To Weight'),
|
||||
}
|
||||
|
||||
_defaults = {
|
||||
'to_weight' : False,
|
||||
}
|
|
@ -1,16 +0,0 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record id="product_category_form_view" model="ir.ui.view">
|
||||
<field name="name">product.category.form</field>
|
||||
<field name="model">product.category</field>
|
||||
<field name="type">form</field>
|
||||
<field name="inherit_id" ref="product.product_category_form_view" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="type" position="after">
|
||||
<field name="to_weight" />
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
|
@ -23,7 +23,7 @@
|
|||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!--
|
||||
<record id="action_pos_confirm" model="ir.actions.act_window">
|
||||
<field name="name">Post Sale Entries</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
|
@ -32,6 +32,7 @@
|
|||
<field name="view_mode">form</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
-->
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
Loading…
Reference in New Issue