[IMP] point_of_sale: improve the layout of 'your session'

bzr revid: stw@openerp.com-20120821150612-4ikdil8vzmkc0wwz
This commit is contained in:
Stephane Wirtel 2012-08-21 17:06:12 +02:00
parent 0d930ba843
commit 197e673100
2 changed files with 15 additions and 12 deletions

View File

@ -4,13 +4,17 @@ from osv import osv, fields
from tools.translate import _
import netsvc
from openerp.addons.point_of_sale.point_of_sale import pos_session
class pos_session_opening(osv.osv_memory):
_name = 'pos.session.opening'
_columns = {
'pos_config_id' : fields.many2one('pos.config', 'Point of Sale', required=True),
'pos_session_id' : fields.many2one('pos.session', 'PoS Session'),
'pos_state' : fields.char('Session State', readonly=True),
'pos_state' : fields.selection(pos_session.POS_SESSION_STATE,
'Session State', readonly=True),
'show_config' : fields.boolean('Show Config', readonly=True),
}
def open_ui(self, cr, uid, ids, context=None):
@ -19,7 +23,7 @@ class pos_session_opening(osv.osv_memory):
context['active_id'] = data.pos_session_id.id
return {
'type' : 'ir.actions.client',
'name' : 'Start Point Of Sale',
'name' : _('Start Point Of Sale'),
'tag' : 'pos.ui',
'context' : context
}
@ -60,12 +64,6 @@ class pos_session_opening(osv.osv_memory):
}
def on_change_config(self, cr, uid, ids, config_id, context=None):
states = {
'opening_control': _('Opening Control'),
'opened': _('In Progress'),
'closing_control': _('Closing Control'),
'closed': _('Closed & Posted'),
}
result = {
'pos_session_id': False,
'pos_state': False
@ -78,7 +76,7 @@ class pos_session_opening(osv.osv_memory):
('config_id', '=', config_id),
], context=context)
if session_ids:
result['pos_state'] = states.get(proxy.browse(cr, uid, session_ids[0], context=context).state, False)
result['pos_state'] = proxy.browse(cr, uid, session_ids[0], context=context).state
result['pos_session_id'] = session_ids[0]
return {'value' : result}
@ -93,7 +91,11 @@ class pos_session_opening(osv.osv_memory):
if not result:
r = self.pool.get('pos.config').search(cr, uid, [], context=context)
result = r and r[0] or False
count = self.pool.get('pos.config').search_count(cr, uid, [('state', '=', 'active')], context=context)
show_config = bool(count > 1)
return {
'pos_config_id' : result
'pos_config_id' : result,
'show_config' : show_config,
}
pos_session_opening()

View File

@ -6,8 +6,9 @@
<field name="model">pos.session.opening</field>
<field name="arch" type="xml">
<form string="PoS Session Opening" version="7.0">
<separator string="Select your Point of Sale" colspan="4" />
<group>
<field name="show_config" invisible="1" />
<separator string="Select your Point of Sale" colspan="4" attrs="{'invisible' : [('show_config', '=', False)]}" />
<group attrs="{'invisible' : [('show_config', '=', False)]}">
<field name="pos_config_id" on_change="on_change_config(pos_config_id)"
widget="selection" domain="[('state','=','active')]"
class="oe_inline"/>