21
21
#/#############################################################################
22
22
from osv import osv
23
23
from osv import fields
24
from openerp import netsvc
25
from datetime import datetime, timedelta
26
from dateutil.relativedelta import relativedelta
26
31
class OeMedicalPrescriptionOrder(osv.Model):
27
32
_name='oemedical.prescription.order'
30
'patient_id': fields.many2one('oemedical.patient', string='Patient',
32
'pregnancy_warning': fields.boolean(string='Pregancy Warning',
35
'patient_id': fields.many2one('oemedical.patient', string='Patient', required=True),
36
'pregnancy_warning': fields.boolean(string='Pregancy Warning', readonly=True),
34
37
'notes': fields.text(string='Prescription Notes'),
35
'prescription_line': fields.one2many('oemedical.prescription.line',
36
'prescription_order_id',
37
string='Prescription line',),
38
'prescription_line': fields.one2many('oemedical.prescription.line', 'name', string='Prescription line',),
38
39
'pharmacy': fields.many2one('res.partner', string='Pharmacy',),
39
40
'prescription_date': fields.datetime(string='Prescription Date'),
40
'prescription_warning_ack': fields.boolean(
41
string='Prescription verified'),
42
'user_id': fields.many2one('res.users', string='Prescribing Doctor',
44
'name': fields.char(size=256, string='Prescription ID', required=True,
45
help='Type in the ID of this prescription'),
41
'prescription_warning_ack': fields.boolean( string='Prescription verified'),
42
'physician_id': fields.many2one('oemedical.physician', string='Prescribing Doctor', required=True),
43
'name': fields.char(size=256, string='Prescription ID', required=True, help='Type in the ID of this prescription'),
49
47
'name': lambda obj, cr, uid, context:
50
48
obj.pool.get('ir.sequence').get(cr, uid,
51
49
'oemedical.prescription.order'),
50
'prescription_date':lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
54
def print_prescription(self, cr, uid, ids, context=None):
57
# assert len(ids) == 1, 'This option should only be used for a single id at a time'
58
# wf_service = netsvc.LocalService("workflow")
59
# wf_service.trg_validate(uid, 'oemedical.prescription.order', ids[0], 'prescription_sent', cr)
61
'model': 'oemedical.prescription.order',
63
'form': self.read(cr, uid, ids[0], context=context),
65
return {'type': 'ir.actions.report.xml', 'report_name': 'prescription.order', 'datas': datas, 'nodestroy': True}
54
68
OeMedicalPrescriptionOrder()
55
69
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: