diff --git a/addons/sale_journal/sale_journal.py b/addons/sale_journal/sale_journal.py index fc38ba94450..5c6007824ac 100644 --- a/addons/sale_journal/sale_journal.py +++ b/addons/sale_journal/sale_journal.py @@ -142,13 +142,14 @@ class picking_journal(osv.osv): 'user_id': fields.many2one('res.users', 'Responsible', required=True), 'date': fields.date('Journal date', required=True), 'date_created': fields.date('Creation date', readonly=True, required=True), - 'date_validation': fields.date('Validation date', readonly=True), + 'date_close': fields.date('Close date', readonly=True), 'picking_stats_ids': fields.one2many("sale.journal.picking.report", "journal_id", 'Journal Stats', readonly=True), 'state': fields.selection([ ('draft','Draft'), ('open','Open'), ('cancel','Cancel'), - ('done','Done'), + ('close','Close'), + ('confirm','Confirm'), ], 'Creation date', required=True, readonly=True), 'note': fields.text('Note'), } @@ -176,7 +177,24 @@ class picking_journal(osv.osv): return True def button_close(self, cr, uid, ids, context={}): - self.write(cr, uid, ids, {'state':'done', 'date_validation':time.strftime('%Y-%m-%d')}) + self.write(cr, uid, ids, {'state':'close', 'date_close':time.strftime('%Y-%m-%d')}) + return True + + def button_reset(self, cr, uid, ids, context=None): + self.write(cr, uid, ids, {'state': 'draft'}) + for (id,name) in self.name_get(cr, uid, ids): + message = _('Sale orders of Journal') + " '" + name + "' "+ _("is in draft state") + self.log(cr, uid, id, message) + return True + + def button_picking_confirm(self, cr, uid, ids, context={}): + + self.write(cr, uid, ids, {'state':'confirm'}) + for id in ids: + pick_ids = self.pool.get('stock.picking').search(cr, uid, [('journal_id','=',id)]) + for pickid in pick_ids: + wf_service = netsvc.LocalService("workflow") + wf_service.trg_validate(uid, 'stock.picking', pickid, 'button_confirm', cr) return True def copy(self, cr, uid, id, default=None, context=None): @@ -218,7 +236,7 @@ res_partner() class picking(osv.osv): _inherit = "stock.picking" _columns = { - 'journal_id': fields.many2one('sale_journal.picking.journal', 'Journal', domain=[('state','!=', 'done')]), + 'journal_id': fields.many2one('sale_journal.picking.journal', 'Journal', domain=[('state','!=', 'close')],help="Picking Journal"), 'sale_journal_id': fields.many2one('sale_journal.sale.journal', 'Sale Journal'), 'invoice_type_id': fields.many2one('sale_journal.invoice.type', 'Invoice Type', readonly=True) } diff --git a/addons/sale_journal/sale_journal_view.xml b/addons/sale_journal/sale_journal_view.xml index 1ea275b086d..acb0933b733 100644 --- a/addons/sale_journal/sale_journal_view.xml +++ b/addons/sale_journal/sale_journal_view.xml @@ -378,7 +378,7 @@ - + @@ -391,10 +391,10 @@