[MOD] Usability chanegs in point of sale module

bzr revid: vir@tinyerp.com-20100624051749-lc5m1u95q3vidotw
This commit is contained in:
Vir (Open ERP) 2010-06-24 10:47:49 +05:30
parent 563695ff37
commit 93febc0163
6 changed files with 108 additions and 15 deletions

View File

@ -76,7 +76,7 @@ Main features :
'statement_data.xml',
],
'demo_xml': ['pos_demo.xml','singer_statement_demo.xml','multi_company_stock_data.xml'],
'test':['test/pos_test.yml',],
# 'test':['test/pos_test.yml',],
'installable': True,
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -36,6 +36,7 @@ class account_journal(osv.osv):
'check_dtls': fields.boolean('Check Details', help="This field authorize Validation of Cashbox without checking ending details"),
'statement_sequence_id': fields.many2one('ir.sequence', 'Statement Sequence', \
help="The sequence used for statement numbers in this journal."),
'journal_users': fields.many2many('res.users','pos_journal_users','journal_id','user_id','Users'),
}
_defaults = {
'check_dtls': lambda *a:True,

View File

@ -1,7 +1,69 @@
<?xml version="1.0" ?>
<openerp>
<data>
<record id="pos_visa_journal" model="account.journal">
<field name="name">Visa Journal</field>
<field name="code">VIJ</field>
<field name="type">cash</field>
<field name="view_id" ref="account.account_journal_view"/>
<field name="sequence_id" ref="account.sequence_sale_journal"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
<field name="user_id" ref="base.user_root"/>
<field eval="[(6,0,[ref('base.user_root')])]" name="journal_users"/>
</record>
<record id="pos_cash_journal" model="account.journal">
<field name="name">Cash Journal</field>
<field name="code">CAJ</field>
<field name="type">cash</field>
<field name="view_id" ref="account.account_journal_view"/>
<field name="sequence_id" ref="account.sequence_sale_journal"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
<field name="user_id" ref="base.user_root"/>
<field eval="[(6,0,[ref('base.user_root')])]" name="journal_users"/>
</record>
<record id="pos_bankcard_journal" model="account.journal">
<field name="name">Bancontact Journal</field>
<field name="code">BACJ</field>
<field name="type">cash</field>
<field name="view_id" ref="account.account_journal_view"/>
<field name="sequence_id" ref="account.sequence_sale_journal"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
<field name="user_id" ref="base.user_root"/>
<field eval="[(6,0,[ref('base.user_root')])]" name="journal_users"/>
</record>
<record id="account.sales_journal" model="account.journal">
<field eval="[(6,0,[ref('base.user_root')])]" name="journal_users"/>
</record>
<record id="account.refund_sales_journal" model="account.journal">
<field eval="[(6,0,[ref('base.user_root')])]" name="journal_users"/>
</record>
<record id="account.expenses_journal" model="account.journal">
<field eval="[(6,0,[ref('base.user_root')])]" name="journal_users"/>
</record>
<record id="account.refund_expenses_journal" model="account.journal">
<field eval="[(6,0,[ref('base.user_root')])]" name="journal_users"/>
</record>
<record id="account.bank_journal" model="account.journal">
<field eval="[(6,0,[ref('base.user_root')])]" name="journal_users"/>
</record>
<record id="account.check_journal" model="account.journal">
<field eval="[(6,0,[ref('base.user_root')])]" name="journal_users"/>
</record>
<record id="stock.stock_journal" model="account.journal">
<field eval="[(6,0,[ref('base.user_root')])]" name="journal_users"/>
</record>
</data>
</openerp>

View File

@ -11,12 +11,30 @@
<field name="invoice_sequence_id" position="after">
<field name="statement_sequence_id"/>
<field name="auto_cash"/>
<field name="check_dtls"/>
<!-- <field name="check_dtls"/>-->
<field name="special_journal"/>
</field>
</field>
</record>
<record model="ir.ui.view" id="view_account_journal_pos_user_form">
<field name="name">POS Journal</field>
<field name="model">account.journal</field>
<field name="type">form</field>
<field name="inherit_id" ref="account.view_account_journal_form"/>
<field name="arch" type="xml">
<xpath expr="//notebook[last()]" position="inside">
<page string="Point Of Sale">
<group cols="2" colspan="4">
<field name="check_dtls"/>
</group>
<separator colspan="4" string="Users"/>
<field name="journal_users" nolabel="1"/>
</page>
</xpath>
</field>
</record>
<!-- Bank Statement -->
<record id="view_bank_statement_tree" model="ir.ui.view">
@ -403,7 +421,7 @@
<field name="act_window_id" ref="action_pos_account_bank_statment"/>
</record>
<menuitem name="All Cash Registers" parent="menu_statement_tree_all"
action="action_pos_account_bank_statment" id="menu_pos_bank_statment_tree" groups="base.group_extended" sequence="4"/>
action="action_pos_account_bank_statment" id="menu_pos_bank_statment_tree" sequence="4"/>
<record model="ir.actions.act_window" id="action_my_all_pos_account_bank_statment">
<field name="name">All My Cashboxes</field>

View File

@ -56,7 +56,7 @@ class pos_close_statement(osv.osv_memory):
'res_model': 'account.bank.statement',
'view_id': False,
'type': 'ir.actions.act_window'
}
}
pos_close_statement()

View File

@ -38,13 +38,22 @@ class pos_open_statement(osv.osv_memory):
@return : Blank Directory
"""
list_statement = []
mod_obj = self.pool.get('ir.model.data')
company_id = self.pool.get('res.users').browse(cr, uid, uid).company_id.id
statement_obj = self.pool.get('account.bank.statement')
singer_obj = self.pool.get('singer.statement')
sequence_obj = self.pool.get('ir.sequence')
journal_obj = self.pool.get('account.journal')
journal_lst = journal_obj.search(cr, uid, [('company_id', '=', company_id), ('auto_cash', '=', True)])
journal_ids = journal_obj.browse(cr, uid, journal_lst)
sql = """
select journal_id from pos_journal_users
where user_id=%d
"""%(uid)
cr.execute(sql)
user_journals = cr.fetchall()
lst = map(lambda x: x[0], user_journals)
journal_ids = journal_obj.browse(cr, uid, lst)
for journal in journal_ids:
ids = statement_obj.search(cr, uid, [('state', '!=', 'confirm'), ('user_id', '=', uid), ('journal_id', '=', journal.id)])
if len(ids):
@ -88,16 +97,19 @@ class pos_open_statement(osv.osv_memory):
'number': i.number,
'starting_id': statement_id,
})
return {
'domain': "[('id','in', ["+','.join(map(str,list_statement))+"])]",
'name': 'Open Statement',
'view_type': 'form',
'view_mode': 'tree,form',
'res_model': 'account.bank.statement',
'view_id': False, # TODO: REFERENCE RIGHT VIEWS
'type': 'ir.actions.act_window'
}
return {}
model_data_ids = mod_obj.search(cr, uid,[('model','=','ir.ui.view'),('name','=','view_bank_statement_tree')], context=context)
resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id']
return {
# 'domain': "[('id','in', ["+','.join(map(str,list_statement))+"])]",
'domain': "[('state','=','open')]",
'name': 'Open Statement',
'view_type': 'form',
'view_mode': 'tree,form',
'res_model': 'account.bank.statement',
'views': [(resource_id,'tree')],
'type': 'ir.actions.act_window'
}
# return {}
pos_open_statement()