diff --git a/addons/point_of_sale/__init__.py b/addons/point_of_sale/__init__.py index 9f9f5a21960..5f6680b869c 100644 --- a/addons/point_of_sale/__init__.py +++ b/addons/point_of_sale/__init__.py @@ -21,10 +21,11 @@ ############################################################################## import pos +import pos_account_bank_statement import stock import wizard import report -import pos_account_bank_statement + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/point_of_sale/pos.py b/addons/point_of_sale/pos.py index ebabe10e48a..c996ba48c21 100644 --- a/addons/point_of_sale/pos.py +++ b/addons/point_of_sale/pos.py @@ -1038,31 +1038,6 @@ class pos_order(osv.osv): pos_order() -class account_bank_statement(osv.osv): - _inherit = 'account.bank.statement' - _columns={ - 'user_id': fields.many2one('res.users',ondelete='cascade',string='User', readonly=True), - } - _defaults = { - 'user_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).id - } -account_bank_statement() - -class account_bank_statement_line(osv.osv): - _inherit = 'account.bank.statement.line' - def _get_statement_journal(self, cr, uid, ids, context, *a): - res = {} - for line in self.browse(cr, uid, ids): - res[line.id] = line.statement_id and line.statement_id.journal_id and line.statement_id.journal_id.name or None - return res - _columns={ - 'journal_id': fields.function(_get_statement_journal, method=True,store=True, string='Journal', type='char', size=64), - 'am_out':fields.boolean("To count"), - 'is_acc':fields.boolean("Is accompte"), - 'pos_statement_id': fields.many2one('pos.order',ondelete='cascade'), - } -account_bank_statement_line() - class pos_order_line(osv.osv): _name = "pos.order.line" _description = "Lines of Point of Sale" @@ -1298,44 +1273,6 @@ class pos_payment(osv.osv): pos_payment() -class account_move_line(osv.osv): - _inherit = 'account.move.line' - def create(self, cr, user, vals, context={}): - pos_obj = self.pool.get('pos.order') - val_name = vals.get('name', '') - val_ref = vals.get('ref', '') - if (val_name and 'POS' in val_name) and (val_ref and 'PACK' in val_ref): - aaa = re.search(r'Stock move.\((.*)\)', vals.get('name')) - name_pos = aaa.groups()[0] - pos_id = name_pos.replace('POS ','') - if pos_id and pos_id.isdigit(): - pos_curr = pos_obj.browse(cr,user,int(pos_id)) - pos_curr = pos_curr and pos_curr.contract_number or '' - vals['ref'] = pos_curr or vals.get('ref') - return super(account_move_line, self).create(cr, user, vals, context) - -account_move_line() - - -class account_move(osv.osv): - _inherit = 'account.move' - def create(self, cr, user, vals, context={}): - pos_obj = self.pool.get('pos.order') - val_name = vals.get('name', '') - val_ref = vals.get('ref', '') - if (val_name and 'POS' in val_name) and (val_ref and 'PACK' in val_ref): - aaa = re.search(r'Stock move.\((.*)\)', vals.get('name')) - name_pos = aaa.groups()[0] - pos_id = name_pos.replace('POS ','') - if pos_id and pos_id.isdigit(): - pos_curr = pos_obj.browse(cr,user,int(pos_id)) - pos_curr = pos_curr and pos_curr.contract_number or '' - vals['ref'] = pos_curr or vals.get('ref') - return super(account_move, self).create(cr, user, vals, context) - -account_move() - - class product_product(osv.osv): _inherit = 'product.product' _columns = { diff --git a/addons/point_of_sale/pos_account_bank_statement.py b/addons/point_of_sale/pos_account_bank_statement.py index deb6973a1c3..c23a3cf3dd5 100644 --- a/addons/point_of_sale/pos_account_bank_statement.py +++ b/addons/point_of_sale/pos_account_bank_statement.py @@ -137,7 +137,7 @@ class account_bank_statement(osv.osv): 'starting_details_ids': fields.one2many('singer.statement', 'starting_id', string='Starting Details'), 'ending_details_ids': fields.one2many('singer.statement', 'ending_id', string='Ending Details'), 'name': fields.char('Name', size=64, required=True, readonly=True), - + 'user_id': fields.many2one('res.users',ondelete='cascade',string='User', readonly=True), } _defaults = { 'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id, @@ -145,6 +145,7 @@ class account_bank_statement(osv.osv): 'name': lambda *a: '/', 'date': lambda *a:time.strftime("%Y-%m-%d %H:%M:%S"), 'journal_id': _default_journal_id, + 'user_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).id } def create(self, cr, uid, vals, context=None): @@ -260,15 +261,63 @@ class account_bank_statement_line(osv.osv): if user.company_id: return user.company_id.id return self.pool.get('res.company').search(cr, uid, [('parent_id', '=', False)])[0] + + def _get_statement_journal(self, cr, uid, ids, context, *a): + res = {} + for line in self.browse(cr, uid, ids): + res[line.id] = line.statement_id and line.statement_id.journal_id and line.statement_id.journal_id.name or None + return res _inherit = 'account.bank.statement.line' _columns = { 'company_id':fields.many2one('res.company', 'Company', required=True), + 'journal_id': fields.function(_get_statement_journal, method=True,store=True, string='Journal', type='char', size=64), + 'am_out':fields.boolean("To count"), + 'is_acc':fields.boolean("Is accompte"), + 'pos_statement_id': fields.many2one('pos.order',ondelete='cascade'), } _defaults = { 'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id, } + account_bank_statement_line() +class account_move_line(osv.osv): + _inherit = 'account.move.line' + def create(self, cr, user, vals, context={}): + pos_obj = self.pool.get('pos.order') + val_name = vals.get('name', '') + val_ref = vals.get('ref', '') + if (val_name and 'POS' in val_name) and (val_ref and 'PACK' in val_ref): + aaa = re.search(r'Stock move.\((.*)\)', vals.get('name')) + name_pos = aaa.groups()[0] + pos_id = name_pos.replace('POS ','') + if pos_id and pos_id.isdigit(): + pos_curr = pos_obj.browse(cr,user,int(pos_id)) + pos_curr = pos_curr and pos_curr.contract_number or '' + vals['ref'] = pos_curr or vals.get('ref') + return super(account_move_line, self).create(cr, user, vals, context) + +account_move_line() + + +class account_move(osv.osv): + _inherit = 'account.move' + def create(self, cr, user, vals, context={}): + pos_obj = self.pool.get('pos.order') + val_name = vals.get('name', '') + val_ref = vals.get('ref', '') + if (val_name and 'POS' in val_name) and (val_ref and 'PACK' in val_ref): + aaa = re.search(r'Stock move.\((.*)\)', vals.get('name')) + name_pos = aaa.groups()[0] + pos_id = name_pos.replace('POS ','') + if pos_id and pos_id.isdigit(): + pos_curr = pos_obj.browse(cr,user,int(pos_id)) + pos_curr = pos_curr and pos_curr.contract_number or '' + vals['ref'] = pos_curr or vals.get('ref') + return super(account_move, self).create(cr, user, vals, context) + +account_move() + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: