# -*- encoding: utf-8 -*- ############################################################################## # # OpenERP, Open Source Management Solution # This module copyright (C) 2014 Savoir-faire Linux # (). # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the # License, or (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . # ############################################################################## from openerp.osv import fields, orm from openerp.tools.translate import _ class document_wizard(orm.Model): _name = "ir.attachment.wizard" _description = "Attachment wizard" _columns = { 'attachment_ids': fields.many2many('ir.attachment', 'document_attachment_rel', 'wizard_id', 'attachment_id', 'Attachments'), } def action_apply(self, cr, uid, ids, context=None): if context is None: context = {} ir_attach_obj = self.pool.get('ir.attachment') ir_attach_doc_obj = self.pool.get('ir.attachment.document') ir_model_obj = self.pool.get(context['model']) name = ir_model_obj.browse(cr, uid, context['ids'], context=context)[0]['name'] data = self.read(cr, uid, ids, [], context=context)[0] if not data['attachment_ids']: raise orm.except_orm(_('Error'), _('You have to select at least 1 Document. And try again')) for attach in ir_attach_obj.browse(cr, uid, data['attachment_ids'], context=context): data_attach = { 'res_model': context['model'], 'res_id': context['ids'][0], 'res_name': name, 'attachment_id': attach.id, } ir_attach_doc_obj.create(cr, uid, data_attach, context=context) return {'type': 'ir.actions.act_window_close'} # vim:expandtab:smartindent:toabstop=4:softtabstop=4:shiftwidth=4: