1
# -*- encoding: utf-8 -*-
2
##############################################################################
4
# OpenERP, Open Source Management Solution
5
# Copyright (C) 2010 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
7
# This program is free software: you can redistribute it and/or modify
8
# it under the terms of the GNU General Public License as
9
# published by the Free Software Foundation, either version 3 of the
10
# License, or (at your option) any later version.
12
# This program is distributed in the hope that it will be useful,
13
# but WITHOUT ANY WARRANTY; without even the implied warranty of
14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
# GNU General Public License for more details.
17
# You should have received a copy of the GNU General Public License
18
# along with this program. If not, see <http://www.gnu.org/licenses/>.
20
##############################################################################
22
from osv import fields, osv
23
from tools.translate import _
25
class mgmtsystem_audit(osv.osv):
26
_name = "mgmtsystem.audit"
27
_description = "Audit"
29
'name': fields.char('Name', size=50),
30
'reference': fields.char('Reference', size=64, required=True, readonly=True),
31
'date': fields.datetime('Date'),
32
'line_ids': fields.one2many('mgmtsystem.verification.line','audit_id','Verification List'),
33
'auditor_user_ids': fields.many2many('res.users','mgmtsystem_auditor_user_rel','user_id','mgmtsystem_audit_id','Auditors'),
34
'auditee_user_ids': fields.many2many('res.users','mgmtsystem_auditee_user_rel','user_id','mgmtsystem_audit_id','Auditees'),
35
'strong_points': fields.text('Strong Points'),
36
'to_improve_points': fields.text('Points To Improve'),
37
'imp_opp_ids': fields.many2many('mgmtsystem.action','mgmtsystem_audit_imp_opp_rel','mgmtsystem_action_id','mgmtsystem_audit_id','Improvement Opportunities'),
38
'nonconformity_ids': fields.many2many('mgmtsystem.nonconformity','mgmtsystem_audit_nonconformity_rel','mgmtsystem_action_id','mgmtsystem_audit_id','Nonconformities'),
39
'state': fields.selection([('o','Open'),('c','Closed')], 'State')
47
def create(self, cr, uid, vals, context=None):
49
'reference': self.pool.get('ir.sequence').get(cr, uid, 'mgmtsystem.audit')
51
return super(mgmtsystem_audit, self).create(cr, uid, vals, context)
53
def button_close(self, cr, uid, ids, context=None):
54
return self.write(cr, uid, ids, {'state': 'c'})
58
class mgmtsystem_verification_line(osv.osv):
59
_name = "mgmtsystem.verification.line"
60
_description = "Verification Line"
62
'name': fields.char('Question',size=300, required=True),
63
'audit_id': fields.many2one('mgmtsystem.audit', 'Audit', ondelete='cascade', select=True),
64
'procedure_id': fields.many2one('wiki.wiki', 'Procedure', ondelete='cascade', select=True),
65
'is_conformed': fields.boolean('Is conformed'),
66
'comments': fields.text('Comments'),
67
'seq': fields.integer('Sequence'),
76
mgmtsystem_verification_line()
78
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: