[IMP] point_of_sale: Search views corrected. Improved sql reports. Improved Open/Close Register wizards.

bzr revid: uco@tinyerp.com-20100913053735-9jy13wn9eda32khx
This commit is contained in:
uco (Open ERP) 2010-09-13 11:07:35 +05:30
parent bbb57fe006
commit 93d3515a56
9 changed files with 89 additions and 24 deletions

View File

@ -33,7 +33,7 @@ class report_cash_register(osv.osv):
('10','October'), ('11','November'), ('12','December')], 'Month',readonly=True),
'day': fields.char('Day', size=128, readonly=True),
'user_id':fields.many2one('res.users', 'User', readonly=True),
'state':fields.selection([('draft', 'Draft'),('confirm', 'Confirmed')],'State'),
'state': fields.selection([('draft', 'Quotation'),('open','Open'),('confirm', 'Confirmed')],'State'),
'journal_id': fields.many2one('account.journal', 'Journal'),
'balance_start': fields.float('Opening Balance'),
'balance_end_real': fields.float('Closing Balance'),

View File

@ -27,17 +27,17 @@
<field name="arch" type="xml">
<search string="Point of Sale Cash Register Analysis">
<group>
<filter icon="terp-go-year" string=" 365 Days "
domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')),('date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
help="Cash Analysis created last 365 days"/>
<filter icon="terp-go-month" string=" 30 Days "
domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
help="Cash Analysis created in last 30 days"/>
<filter icon="terp-go-week"
string=" 7 Days "
<filter icon="terp-go-year" string=" This Year "
domain="[('year','=',time.strftime('%%Y'))]"
help="Cash Analysis created during this year"/>
<filter icon="terp-go-month" string=" This Month "
domain="[('month','=',time.strftime('%%m'))]"
help="Cash Analysis created in current month"/>
<filter icon="terp-go-month"
string="Month -1"
separator="1"
domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
help="Cash Analysis created last 7 days"/>
domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
help="Cash Analysis created in last month"/>
<separator orientation="vertical"/>
<filter icon="terp-go-today"
string=" Today "

View File

@ -32,6 +32,57 @@
id="menu_all_menu_cash_register"
sequence="4"
/>-->
<record id="view_pos_open_cash_statement_filter" model="ir.ui.view">
<field name="name">account.bank.statement.inherit</field>
<field name="model">account.bank.statement</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Cash Statements">
<group col="8" colspan="4">
<filter string="Open" domain="[('state','=','open')]" icon="terp-document-new" name="open"/>
<separator orientation="vertical"/>
<field name="date"/>
<field name="name"/>
<field name="journal_id"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/>
<separator orientation="vertical"/>
<filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/>
<separator orientation="vertical"/>
<filter string="State" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/>
</group>
</search>
</field>
</record>
<record id="view_pos_confirm_cash_statement_filter" model="ir.ui.view">
<field name="name">account.bank.statement.inherit2</field>
<field name="model">account.bank.statement</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Cash Statements">
<group col="8" colspan="4">
<filter string="Open" domain="[('state','=','open')]" icon="terp-document-new" name="open"/>
<filter string="Confirm" domain="[('state','=','confirm')]" icon="terp-camera_test"/>
<separator orientation="vertical"/>
<field name="date"/>
<field name="name"/>
<field name="journal_id"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/>
<separator orientation="vertical"/>
<filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/>
<separator orientation="vertical"/>
<filter string="State" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/>
</group>
</search>
</field>
</record>
<record id="action_new_bank_statement_tree" model="ir.actions.act_window">
<field name="name">Cash Register</field>

View File

@ -54,6 +54,8 @@ class pos_close_statement(osv.osv_memory):
data_obj = self.pool.get('ir.model.data')
id2 = data_obj._get_id(cr, uid, 'account', 'view_bank_statement_tree')
id3 = data_obj._get_id(cr, uid, 'account', 'view_bank_statement_form2')
result = data_obj._get_id(cr, uid, 'point_of_sale', 'view_pos_confirm_cash_statement_filter')
search_id = mod_obj.read(cr, uid, result, ['res_id'], context=context)
if id2:
id2 = data_obj.browse(cr, uid, id2, context=context).res_id
if id3:
@ -63,6 +65,7 @@ class pos_close_statement(osv.osv_memory):
'name': 'Close Statements',
'view_type': 'form',
'view_mode': 'tree,form',
'search_view_id': search_id['res_id'],
'res_model': 'account.bank.statement',
'views': [(id2, 'tree'),(id3, 'form')],
'type': 'ir.actions.act_window'

View File

@ -12,6 +12,7 @@
<group col="2" colspan="4">
<field name="date_start"/>
<field name="date_end"/>
<separator colspan="4"/>
<button icon='gtk-cancel' special="cancel"
string="Close" />
<button name="print_report" string="Print Report"

View File

@ -83,6 +83,8 @@ class pos_open_statement(osv.osv_memory):
data_obj = self.pool.get('ir.model.data')
id2 = data_obj._get_id(cr, uid, 'account', 'view_bank_statement_tree')
id3 = data_obj._get_id(cr, uid, 'account', 'view_bank_statement_form2')
result = data_obj._get_id(cr, uid, 'point_of_sale', 'view_pos_open_cash_statement_filter')
search_id = mod_obj.read(cr, uid, result, ['res_id'], context=context)
if id2:
id2 = data_obj.browse(cr, uid, id2, context=context).res_id
if id3:
@ -93,8 +95,10 @@ class pos_open_statement(osv.osv_memory):
'name': 'Open Statement',
'view_type': 'form',
'view_mode': 'tree,form',
'search_view_id': search_id['res_id'],
'res_model': 'account.bank.statement',
'views': [(id2, 'tree'),(id3, 'form')],
'context': {'search_default_open': 1},
'type': 'ir.actions.act_window'
}
pos_open_statement()

View File

@ -136,7 +136,7 @@ class pos_make_payment(osv.osv_memory):
prod_obj = self.pool.get('product.product')
if product_id:
product = prod_obj.browse(cr, uid, product_id)
amount = amount + product.list_price
amount = amount - product.list_price
return {'value': {'amount': amount}}
def check(self, cr, uid, ids, context):
@ -154,8 +154,8 @@ class pos_make_payment(osv.osv_memory):
is_accompte = data['is_acc']
# Todo need to check ...
if is_accompte:
line_id, price = order_obj.add_product(cr, uid, order.id, data['product_id'], 1.0, context)
amount = order.amount_total - order.amount_paid + price
line_id, price = order_obj.add_product(cr, uid, order.id, data['product_id'], -1.0, context)
amount = order.amount_total - order.amount_paid - price
if amount != 0.0:
order_obj.write(cr, uid, [active_id], {'invoice_wanted': invoice_wanted, 'partner_id': data['partner_id']})
@ -225,11 +225,11 @@ class pos_make_payment(osv.osv_memory):
_columns = {
'journal':fields.selection(pos_box_entries.get_journal, "Cash Register",required=True),
'product_id': fields.many2one('product.product', "Accompte"),
'product_id': fields.many2one('product.product', "Advance"),
'amount':fields.float('Amount', digits=(16,2) ,required= True),
'payment_name': fields.char('Payment name', size=32, required=True),
'payment_date': fields.date('Payment date', required=True),
'is_acc': fields.boolean('Accompte'),
'is_acc': fields.boolean('Advance'),
'invoice_wanted': fields.boolean('Invoice'),
'num_sale':fields.char('Num.File', size=32),
'pricelist_id': fields.many2one('product.pricelist', 'Pricelist'),

View File

@ -51,7 +51,7 @@ class pos_payment_report_date(osv.osv_memory):
_columns = {
'date_start': fields.date('Start Date', required=True),
'date_end': fields.date('End Date', required=True),
'user_id': fields.many2many('res.users', 'res_user_sale', 'user_id', 'sale_id', 'Salesman')
'user_id': fields.many2many('res.users', 'res_user_sale', 'user_id', 'sale_id', 'Salesman', required=True)
}
_defaults = {
'date_start': lambda *a: time.strftime('%Y-%m-%d'),

View File

@ -7,15 +7,21 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Sale by Date and User">
<group col="2" colspan="4">
<group col="4" colspan="4">
<separator string="Dates" colspan="4"/>
<field name="date_start"/>
<field name="date_end"/>
<field name="user_id"/>
<button icon='gtk-cancel' special="cancel"
string="Close" />
<button name="print_report" string="Print Report"
colspan="1" type="object" icon="gtk-print" />
</group>
<separator string="User" colspan="4"/>
<field name="user_id" nolabel="1" colspan="4"/>
<separator string="" colspan="4"/>
<label string="" colspan="2"/>
<group colspan="2" col="2">
<button icon='gtk-cancel' special="cancel"
string="Close" />
<button name="print_report" string="Print Report"
colspan="1" type="object" icon="gtk-print" />
</group>
</group>
</form>
</field>
</record>