openerp-dev-web team mailing list archive
-
openerp-dev-web team
-
Mailing list archive
-
Message #06383
lp:~openerp-dev/openobject-addons/addons-training-imporve-code-ysa into lp:~openobject-training/openobject-addons/training
Yogesh(Open ERP) has proposed merging lp:~openerp-dev/openobject-addons/addons-training-imporve-code-ysa into lp:~openobject-training/openobject-addons/training.
Requested reviews:
Bhumika (OpenERP) (sbh-openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/addons-training-imporve-code-ysa/+merge/60061
[IMP] training:- improve code.
--
https://code.launchpad.net/~openerp-dev/openobject-addons/addons-training-imporve-code-ysa/+merge/60061
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-addons/addons-training-imporve-code-ysa.
=== modified file 'training/invoice.py'
--- training/invoice.py 2011-04-07 13:04:11 +0000
+++ training/invoice.py 2011-05-05 13:29:35 +0000
@@ -41,12 +41,13 @@
if context is None:
context = {}
srv = netsvc.LocalService('report.account.invoice')
+ email_obj = self.pool.get('training.email')
for invoice in self.browse(cr, uid, ids, context=context):
if invoice.send_to and invoice.type == 'out_invoice':
pdf, _r = srv.create(cr, uid, [invoice.id], {}, context=context)
if pdf:
filename = "Invoice_%s.pdf" % (invoice.name.replace('/', '_'))
- sent = self.pool.get('training.email').send_email(cr, uid, 'invoice', 'a', to=invoice.send_to, attachments=[(filename, pdf),], context=context, invoice=invoice)
+ sent = email_obj.send_email(cr, uid, 'invoice', 'a', to=invoice.send_to, attachments=[(filename, pdf),], context=context, invoice=invoice)
invoice.write({'sent_by_mail': sent,
'sent_by_mail_at': time.strftime('%Y-%m-%d %H%M%S'),
}, context=context)
=== modified file 'training/partner.py'
--- training/partner.py 2011-04-07 11:11:57 +0000
+++ training/partner.py 2011-05-05 13:29:35 +0000
@@ -77,8 +77,8 @@
def _get_function_by_kind(self, cr, uid, kind, context=None):
proxy = self.pool.get('training.config.contact.function')
ids = proxy.search(cr, uid, [('kind', '=', kind)], context=context)
- res = [ obj.function for obj in proxy.browse(cr, uid, ids, context=context) ]
- if not len(res):
+ result = [ obj.function for obj in proxy.browse(cr, uid, ids, context=context) ]
+ if not len(result):
raise osv.except_osv(_('Warning'),
_("""Do not forget to configure the contact's function"""))
return result
=== modified file 'training/training.py'
--- training/training.py 2011-05-02 04:49:56 +0000
+++ training/training.py 2011-05-05 13:29:35 +0000
@@ -111,15 +111,12 @@
}
def name_get(self, cr, uid, ids, context=None):
- if not len(ids):
- return []
- reads = self.read(cr, uid, ids, ['name','parent_id'], context=context)
res = []
- for record in reads:
- name = record['name']
- if record['parent_id']:
- name = record['parent_id'][1]+' / '+name
- res.append((record['id'], name))
+ for record in self.browse(cr, uid, ids, context):
+ name = record.name
+ if record.parent_id:
+ name = record.parent_id.name + ' / ' + name
+ res.append((record.id, name))
return res
training_course_category()
@@ -1250,7 +1247,7 @@
if context is None:
context = {}
result = set()
- for line in self.pool.get('training.subscription.line').browse(cr, 1, ids, context=context):
+ for line in self.pool.get('training.subscription.line').browse(cr, uid, ids, context=context):
result.add(line.session_id.id)
return list(result)
@@ -1379,7 +1376,7 @@
'id' : fields.integer('Seance ID', readonly=True),
'has_shared_seances' : fields.function(_has_shared_seances_compute, method=True, type='boolean',
string="Has Shared Seances", help="Allows to know if the session has a shared seance"),
- 'name' : fields.char('Name', size=64, required=True, select=1),
+ 'name' : fields.char('Name', size=64, required=True),
'state' : fields.selection([('draft', 'Draft'),
('opened', 'Opened'),
('opened_confirmed', 'Confirmed'),
@@ -1392,7 +1389,7 @@
'done' : fields.boolean('Done'),
'offer_id' : fields.many2one('training.offer', 'Offer', required=True, help="Allows to select a validated offer for the session",
domain="[('state', '=', 'validated')]"),
- 'offer_product_line_id' : fields.related('offer_id', 'product_line_id', type='many2one', relation='training.course_category', select=1, string='Product Line'),
+ 'offer_product_line_id' : fields.related('offer_id', 'product_line_id', type='many2one', relation='training.course_category', string='Product Line'),
'kind' : fields.related('offer_id', 'kind', type='selection', selection=training_offer_kind_compute, string='Kind', readonly=True),
'catalog_id' : fields.many2one('training.catalog', 'Catalog', help="Allows to select a published catalog" ),
'seance_ids' : fields.many2many('training.seance', 'training_session_seance_rel', 'session_id', 'seance_id', 'Seances', ondelete='cascade',
@@ -1439,8 +1436,7 @@
if not ids:
return False
obj = self.browse(cr, uid, ids[0], context=context)
- res = obj.date >= time.strftime('%Y-%m-%d %H:%M:%S')
- return res
+ return obj.date >= time.strftime('%Y-%m-%d %H:%M:%S')
def _check_date_holiday(self, cr, uid, ids, context=None):
if context is None:
@@ -1450,8 +1446,7 @@
obj = self.browse(cr, uid, ids[0], context=context)
date = time.strftime('%Y-%m-%d', time.strptime(obj.date, '%Y-%m-%d %H:%M:%S'))
- res = not self.pool.get('training.holiday.period').is_in_period(cr, date)
- return res
+ return not self.pool.get('training.holiday.period').is_in_period(cr, date)
def _check_date_of_seances(self, cr, uid, ids, context=None):
if context is None:
@@ -2145,25 +2140,25 @@
_columns = {
'id' : fields.integer('Database ID', readonly=True),
- 'seance_id' : fields.many2one('training.seance', 'Seance', select=True, required=True, readonly=True, ondelete='cascade'),
- 'seance_date' : fields.related('seance_id', 'date', type='datetime', store=True, select=1, string="Seance Date"),
- 'group_id' : fields.related('seance_id', 'group_id', string='Group', type='many2one', relation='training.group', select=1, store=True, readonly=True),
- 'subscription_line_id' : fields.many2one('training.subscription.line', 'Subscription Line', select=True, required=True, readonly=True, ondelete='cascade'),
- 'session_id' : fields.related('subscription_line_id', 'session_id', type='many2one', relation='training.session', select=True, store=True),
+ 'seance_id' : fields.many2one('training.seance', 'Seance', required=True, readonly=True, ondelete='cascade'),
+ 'seance_date' : fields.related('seance_id', 'date', type='datetime', store=True, string="Seance Date"),
+ 'group_id' : fields.related('seance_id', 'group_id', string='Group', type='many2one', relation='training.group', store=True, readonly=True),
+ 'subscription_line_id' : fields.many2one('training.subscription.line', 'Subscription Line', required=True, readonly=True, ondelete='cascade'),
+ 'session_id' : fields.related('subscription_line_id', 'session_id', type='many2one', relation='training.session', store=True),
'course_id' : fields.related('seance_id', 'course_id', 'name', type='char', size=64, readonly=True, string="Course"),
'duration' : fields.related('seance_id', 'duration', string='Duration', type='float', readonly=True, store=True),
- 'kind' : fields.related('seance_id', 'kind', type='selection', selection=[('standard', 'Course')], string='Kind', select=1),
- 'present' : fields.boolean('Present', help="Allows to know if a participant was present or not", select=1),
+ 'kind' : fields.related('seance_id', 'kind', type='selection', selection=[('standard', 'Course')], string='Kind'),
+ 'present' : fields.boolean('Present', help="Allows to know if a participant was present or not"),
'subscription_id' : fields.related('subscription_line_id', 'subscription_id', type='many2one', relation='training.subscription', string='Subscription', readonly=True),
'job_id' : fields.related('subscription_line_id', 'job_id', type='many2one', relation='res.partner.job',
- string='Participant', select=1, readonly=True,
+ string='Participant', readonly=True,
store={
'training.participation': (_store_get_own, ['subscription_line_id'], 10),
'training.subscription.line' : (_store_get_sublines, ['job_id'], 9),
}
),
'contact_id' : fields.related('subscription_line_id', 'job_id', 'contact_id', type='many2one', relation='res.partner.contact',
- string='Contact', select=1, readonly=True,
+ string='Contact', readonly=True,
store={
'training.subscription.line': (_store_get_sublines, None, 10),
'res.partner.job': (_store_get_jobs, ['contact_id'], 12),
@@ -2188,7 +2183,7 @@
'partner_id' : fields.related('subscription_line_id', 'partner_id',
type='many2one', relation='res.partner',
- string='Partner', select=2, readonly=True),
+ string='Partner', readonly=True),
'date' : fields.related('seance_id', 'date', type='datetime', string='Date', select=1, readonly=True, store=True),
'purchase_ids': fields.many2many('purchase.order.line',
'training_participation_purchase_rel',
@@ -2263,7 +2258,7 @@
for po_line, (quantity, parts) in products.items():
# Create purchase order from this po_line ('seance.purchase.line')
purchase_id = purchase_order_pool.create_from_procurement_line(cr, uid, po_line, quantity, location_id, context=context)
- purchase = self.pool.get('purchase.order').browse(cr, uid, purchase_id, context=context)
+ purchase = purchase_order_pool.browse(cr, uid, purchase_id, context=context)
# Then get ids of all create purchase.order.line
purchase_order_line_ids = [ pol.id for pol in purchase.order_line ]
@@ -2429,8 +2424,8 @@
_columns = {
'id' : fields.integer('Database ID', readonly=True),
- 'is_first_seance' : fields.boolean('First Seance', select=1),
- 'name' : fields.char('Name', size=64, required=True, select=1),
+ 'is_first_seance' : fields.boolean('First Seance'),
+ 'name' : fields.char('Name', size=64, required=True),
'session_ids' : fields.many2many('training.session', 'training_session_seance_rel', 'seance_id', 'session_id', 'Sessions', ondelete='cascade'),
'sessions_type': fields.function(_get_sessions_type, method=True, string='Session(s) Type', type='char', size=32),
'forced_lecturer' : fields.boolean('Forced Lecturer(s)'),
@@ -2440,12 +2435,12 @@
}, type='selection', selection=[('no', 'No'),('yes','Yes')]),
'lecturer_note': fields.text('Lecturer Note'),
'original_session_id' : fields.many2one('training.session', 'Original Session', ondelete='cascade'),
- 'original_offer_id': fields.related('original_session_id', 'offer_id', string="Original Offer", type='many2one', relation='training.offer', select=1),
+ 'original_offer_id': fields.related('original_session_id', 'offer_id', string="Original Offer", type='many2one', relation='training.offer'),
'original_offer_kind': fields.related('original_offer_id','kind', type='selection', selection=training_offer_kind_compute, string='Original Offer Kind', readonly=True),
'duplicata' : fields.boolean('Duplicata', required=True),
'duplicated' : fields.boolean('Duplicated', required=True),
'date' : fields.datetime('Date', required=True, select=1,help="The create date of seance"),
- 'duration' : fields.float('Duration', select=1, help="The duration of the seance"),
+ 'duration' : fields.float('Duration', help="The duration of the seance"),
'participant_ids' : fields.one2many('training.participation', 'seance_id', 'Participants'),
'group_id' : fields.many2one('training.group', 'Group', help='The group of participants'),
'state' : fields.selection([('opened', 'Opened'),
@@ -2467,14 +2462,14 @@
'purchase_line_ids' : fields.one2many('training.seance.purchase_line', 'seance_id', 'Supplier Commands'),
'min_limit' : fields.integer("Minimum Threshold",help='The Minimum of Participants in Seance'),
'max_limit' : fields.integer("Maximum Threshold",help='The Maximum of Participants in Seance'),
- 'user_id' : fields.many2one('res.users', 'Responsible', required=True, select=1),
+ 'user_id' : fields.many2one('res.users', 'Responsible', required=True),
'available_seats' : fields.function(_available_seats_compute, method=True, string='Available Seats', type='integer', help='Available seats in Seance'),
'draft_seats' : fields.function(_draft_seats_compute, method=True, string='Draft Subscriptions', type='integer', help='Draft Subscriptions'),
'presence_form' : fields.selection([('yes', 'Yes'),
('no', 'No')],
'Presence Form Received', help='The training center has received the presence list from the lecturer'),
'shared' : fields.function(_shared_compute, method=True, string='Shared', type='boolean', help="Allows to know if the seance is linked with a lot of sessions"),
- 'kind': fields.selection(training_course_kind_compute, 'Kind', required=True, select=1),
+ 'kind': fields.selection(training_course_kind_compute, 'Kind', required=True),
'master_id' : fields.many2one('training.seance', 'Master Seance'),
'participant_count' : fields.function(_participant_count, method=True, type="integer",
string="Confirmed Seats", help="Confirmed Subscriptions for this seance"),
@@ -2492,8 +2487,7 @@
if not ids:
return False
obj = self.browse(cr, uid, ids[0])
- res = obj.date > time.strftime('%Y-%m-%d %H:%M:%S')
- return res
+ return obj.date > time.strftime('%Y-%m-%d %H:%M:%S')
def _check_date_holiday(self, cr, uid, ids, context=None):
if not ids:
@@ -2897,6 +2891,7 @@
and not subr.partner_id.notif_participant:
raise osv.except_osv(_('Error'),
_('No notification mode (HR and/or Participant) for this partner "%s", please choose at least one') % (subr.partner_id.name))
+ return True
def _notification_text_compute_one(self, cr, uid, partner_id, context=None):
if context is None:
@@ -2924,14 +2919,14 @@
return self.pool.get('training.subscription').search(cr, uid, [('partner_id', 'in', ids),('state', '=', 'draft')], context=context)
_columns = {
- 'name' : fields.char('Reference', size=32, required=True, select=1, readonly=True, help='The unique identifier is generated by the system (customizable)'),
- 'create_date' : fields.datetime('Creation Date', select=True, readonly=True),
- 'state' : fields.selection([('draft', 'Draft'), ('confirmed','Request Sent'), ('cancelled','Cancelled'), ('done', 'Done') ], 'State', readonly=True, required=True, select=1,help='The state of the Subscription'),
- 'partner_id' : fields.many2one('res.partner', 'Partner', select=1, required=True,help='The Subscription name', **WRITABLE_ONLY_IN_DRAFT),
+ 'name' : fields.char('Reference', size=32, required=True, readonly=True, help='The unique identifier is generated by the system (customizable)'),
+ 'create_date' : fields.datetime('Creation Date', readonly=True),
+ 'state' : fields.selection([('draft', 'Draft'), ('confirmed','Request Sent'), ('cancelled','Cancelled'), ('done', 'Done') ], 'State', readonly=True, required=True, help='The state of the Subscription'),
+ 'partner_id' : fields.many2one('res.partner', 'Partner', required=True,help='The Subscription name', **WRITABLE_ONLY_IN_DRAFT),
'partner_rh_email' : fields.char('Subscription Contact', size=64, **WRITABLE_ONLY_IN_DRAFT),
- 'address_id' : fields.many2one('res.partner.address', 'Invoice Address', select=1, required=True,help='The Subscription invoice address', **WRITABLE_ONLY_IN_DRAFT),
+ 'address_id' : fields.many2one('res.partner.address', 'Invoice Address', required=True,help='The Subscription invoice address', **WRITABLE_ONLY_IN_DRAFT),
'subscription_line_ids' : fields.one2many('training.subscription.line', 'subscription_id',
- 'Subscription Lines', select=1, **WRITABLE_ONLY_IN_DRAFT),
+ 'Subscription Lines', **WRITABLE_ONLY_IN_DRAFT),
'pricelist_id' : fields.related('partner_id', 'property_product_pricelist', string='Pricelist', type='many2one', relation='product.pricelist', readonly=True),
'payment_term_id' : fields.many2one('account.payment.term', 'Payment Term', **WRITABLE_ONLY_IN_DRAFT),
@@ -2951,7 +2946,7 @@
def create(self, cr, uid, vals, context):
if context is None:
context = {}
- if vals.get('name', '/')=='/':
+ if vals.get('name', '/') == '/':
vals['name'] = self.pool.get('ir.sequence').get(cr, uid, 'training.subscription')
if not vals.get('notification_text', '') and vals.get('partner_id', None):
vals['notification_text'] = self._notification_text_compute_one(cr, uid, vals['partner_id'], context=context)
@@ -3036,12 +3031,12 @@
workflow = netsvc.LocalService('workflow')
sl_proxy = self.pool.get('training.subscription.line')
sl_ids = []
+ stack_holder_pool = self.pool.get('training.participation.stakeholder')
for subscription in self.browse(cr, uid, ids, context=context):
if subscription.state == 'draft':
for sl in subscription.subscription_line_ids:
workflow.trg_validate(uid, sl._name, sl.id, 'signal_cancel', cr)
elif subscription.state == 'confirmed':
- sh = self.pool.get('training.participation.stakeholder')
for sl in subscription.subscription_line_ids:
if sl.state == 'draft':
sl_ids.append(sl.id)
@@ -3053,7 +3048,7 @@
if contact.state == 'confirmed':
objs.setdefault(contact.id, {}).setdefault('seances', []).append(seance)
- sh.send_email(cr, uid, objs.keys(), 'sub_cancelled', sl.session_id, context, objs)
+ stack_holder_pool.send_email(cr, uid, objs.keys(), 'sub_cancelled', sl.session_id, context, objs)
sl_ids.append(sl.id)
sl_proxy.action_workflow_invoice_and_send_emails(cr, uid, sl_ids, context)
@@ -3152,12 +3147,12 @@
return subl_ids
_columns = {
- 'name' : fields.char('Reference', size=64, required=True, readonly=True, select=1),
- 'create_uid': fields.many2one('res.users', 'Created by', readonly=True, select=1),
+ 'name' : fields.char('Reference', size=64, required=True, readonly=True),
+ 'create_uid': fields.many2one('res.users', 'Created by', readonly=True),
'create_date': fields.datetime('Created at', readonly=True),
- 'validation_uid': fields.many2one('res.users', 'Validated by', readonly=True, select=2),
+ 'validation_uid': fields.many2one('res.users', 'Validated by', readonly=True),
'validation_date': fields.datetime('Validated at', readonly=True),
- 'cancellation_uid': fields.many2one('res.users', 'Cancelled by', readonly=True, select=2),
+ 'cancellation_uid': fields.many2one('res.users', 'Cancelled by', readonly=True),
'cancellation_date': fields.datetime('Cancelled at', readonly=True),
'subscription_id' : fields.many2one('training.subscription', 'Subscription', required=True, ondelete='cascade',
select=1,help='Select the subscription', **WRITABLE_ONLY_IN_DRAFT),
@@ -3183,18 +3178,18 @@
('inprogress', 'In Progress'),
('closed', 'Closed'),
('cancelled', 'Cancelled'),
- ], string='Session State', select=2),
- 'session_date': fields.related('session_id', 'date', readonly=True, type="datetime", string="Session Date", select=2),
- 'offer_id' : fields.related('session_id', 'offer_id', type='many2one', relation='training.offer', string='Offer', select=1, store=True, readonly=True),
- 'offer_product_line_id' : fields.related('session_id', 'offer_id', 'product_line_id', type='many2one', relation='training.course_category', select=1, string='Product Line'),
+ ], string='Session State'),
+ 'session_date': fields.related('session_id', 'date', readonly=True, type="datetime", string="Session Date"),
+ 'offer_id' : fields.related('session_id', 'offer_id', type='many2one', relation='training.offer', string='Offer', store=True, readonly=True),
+ 'offer_product_line_id' : fields.related('session_id', 'offer_id', 'product_line_id', type='many2one', relation='training.course_category', string='Product Line'),
'price' : fields.float('Sales Price', digits_compute=dp.get_precision('Account'), required=True, write=['base.group_user'], **WRITABLE_ONLY_IN_DRAFT),
'partner_id' : fields.related('subscription_id', 'partner_id', type='many2one', store=True,
- relation='res.partner', string="Partner", select=1, readonly=True),
+ relation='res.partner', string="Partner", readonly=True),
'job_id' : fields.many2one('res.partner.job', 'Participant', select=1, required=True,
domain="[('name', '=', parent.partner_id),('state', '=', 'current')]",
help='Select the Participant', **WRITABLE_ONLY_IN_DRAFT),
'job_email' : fields.char('Participant Email', size=64, help='Participant Email Address', **WRITABLE_ONLY_IN_DRAFT),
- 'contact_id' : fields.related('job_id', 'contact_id', type='many2one', relation='res.partner.contact', string='Contact', select=1, readonly=True,
+ 'contact_id' : fields.related('job_id', 'contact_id', type='many2one', relation='res.partner.contact', string='Contact', readonly=True,
store = {
'training.subscription.line': (_store_get_own, ['job_id'], 9),
'res.partner.job': (_store_get_jobs, ['contact_id'], 10),
@@ -3214,7 +3209,7 @@
'date' : fields.related('session_id', 'date', type='datetime', string='Date', readonly=True),
'available_seats' : fields.related('session_id', 'available_seats', type='integer', readonly=True, string='Available Seats'),
'draft_subscriptions' : fields.related('session_id', 'draft_subscriptions', type='integer', readonly=True, string='Draft Subscriptions'),
- 'has_certificate' : fields.boolean('Has Certificate', readonly=True, select=2),
+ 'has_certificate' : fields.boolean('Has Certificate', readonly=True),
'reason_cancellation' : fields.text('Reason of Cancellation', readonly=True),
'theoritical_disponibility' : fields.function(_theoritical_disponibility_compute, method=True, string='Theoritical Disponibility', type='integer'),
'max_limit' : fields.related('session_id', 'max_limit', string='Maximum Threshold', type='integer', store=True, readonly=True),
@@ -3436,6 +3431,7 @@
invoice_proxy = self.pool.get('account.invoice')
invoice_line_proxy = self.pool.get('account.invoice.line')
seance_proxy = self.pool.get('training.seance')
+ fpos_proxy = self.pool.get('account.fiscal.position')
invoices = {}
@@ -3464,7 +3460,6 @@
}
invoice_id = invoice_proxy.create(cr, uid, invoice_values, context=context)
- fpos_proxy = self.pool.get('account.fiscal.position')
fpos = invoice_values['fiscal_position'] and fpos_proxy.browse(cr, uid, [invoice_values['fiscal_position']])[0] or False
il_proxy = self.pool.get('account.invoice.line')
@@ -3687,6 +3682,7 @@
proxy_adist = self.pool.get('account.analytic.plan.instance')
proxy_adistline = self.pool.get('account.analytic.plan.instance.line')
workflow = netsvc.LocalService('workflow')
+ fpos_proxy = self.pool.get('account.fiscal.position')
if not context:
context = {}
@@ -3726,7 +3722,6 @@
invoice_id = proxy_invoice.create(cr, uid, invoice_values)
- fpos_proxy = self.pool.get('account.fiscal.position')
fpos = invoice_values['fiscal_position'] and fpos_proxy.browse(cr, uid, invoice_values['fiscal_position']) or False
global_courses = self._get_courses(cr, uid, [sl.id for sl in subscription_lines], context=context)
@@ -4221,11 +4216,11 @@
'request_session_id': fields.related('request_id', 'session_id', type='many2one', relation='training.session', readonly=True),
'seance_id' : fields.many2one('training.seance', 'Seance', required=True, help='Select the Seance', ondelete='cascade',
domain="[('date', '>=', time.strftime('%Y-%m-%d'))]"),
- 'group_id' : fields.related('seance_id', 'group_id', type='many2one', relation='training.group', readonly=True, select=1, store=True, string='Group'),
+ 'group_id' : fields.related('seance_id', 'group_id', type='many2one', relation='training.group', readonly=True, store=True, string='Group'),
'job_id': fields.related('request_id', 'job_id', string="Contact", type='many2one', relation='res.partner.job', readonly=True),
- 'contact_id' : fields.related('job_id', 'contact_id', type='many2one', relation='res.partner.contact', readonly=True, store=True, select=2),
- 'partner_id' : fields.related('job_id', 'name', type='many2one', relation='res.partner', readonly=True, store=True, string="Partner", select=2),
- 'date' : fields.related('seance_id', 'date', type='datetime', string='Date', readonly=True, select=1, store=True),
+ 'contact_id' : fields.related('job_id', 'contact_id', type='many2one', relation='res.partner.contact', readonly=True, store=True),
+ 'partner_id' : fields.related('job_id', 'name', type='many2one', relation='res.partner', readonly=True, store=True, string="Partner"),
+ 'date' : fields.related('seance_id', 'date', type='datetime', string='Date', readonly=True, store=True),
'kind' : fields.related('seance_id', 'kind', type='selection', selection=[('standard', 'Course')], string='Kind', readonly=True),
'course_id' : fields.related('seance_id', 'course_id', type='many2one', relation='training.course', string='Course', readonly=True),
'state' : fields.selection([('draft', 'Draft'),
@@ -4249,7 +4244,7 @@
'manual_price': fields.boolean('Manual Price'),
'forced_price': fields.float('Renumeration', required=True, digits_compute=dp.get_precision('Account')),
'price' : fields.function(_get_price, method=True, string='Remuneration', type='float', digits_compute=dp.get_precision('Account'), store=True),
- 'product_id' : fields.many2one('product.product', 'Product', select=2),
+ 'product_id' : fields.many2one('product.product', 'Product'),
}
_defaults = {
@@ -4263,7 +4258,6 @@
def create_purchase_order_line(self, cr, uid, ids, po_id, context=None):
if context is None:
context = {}
- po_proxy = self.pool.get('purchase.order')
pol_proxy = self.pool.get('purchase.order.line')
workflow = netsvc.LocalService('workflow')
@@ -4569,13 +4563,20 @@
if context is None:
context = {}
purchase_id = False
+ partner_pool = self.pool.get('res.partner')
+ product_pricelist_pool = self.pool.get('product.pricelist')
+ product_pool = product=self.pool.get('product.product')
+ anlytic_journal_pool = self.pool.get('account.analytic.journal')
+ anlytic_acc_pool = self.pool.get('account.analytic.account')
+ ac_plan_inst_pool = self.pool.get('account.analytic.plan.instance')
+
company = self.pool.get('res.users').browse(cr, uid, uid, context).company_id
for po_line in self.pool.get('training.seance.purchase_line').browse(cr, uid, po_line_ids, context=context):
if not po_line.product_id.seller_ids:
raise osv.except_osv(_('Error'), _("Product %s doesn't have any supplier defined") % (po_line.product_id.name))
partner = po_line.product_id.seller_ids[0].name
partner_id = partner.id
- address_id = self.pool.get('res.partner').address_get(cr, uid, [partner_id], ['delivery'])['delivery']
+ address_id = partner_pool.address_get(cr, uid, [partner_id], ['delivery'])['delivery']
pricelist_id = partner.property_product_pricelist_purchase.id
uom_id = po_line.product_id.uom_po_id.id
@@ -4584,7 +4585,7 @@
if po_line.product_id.seller_ids[0].qty:
qty=max(qty,po_line.product_id.seller_ids[0].qty)
- price = self.pool.get('product.pricelist').price_get(cr, uid, [pricelist_id], po_line.product_id.id, qty, False, {'uom': uom_id})[pricelist_id]
+ price = product_pricelist_pool.price_get(cr, uid, [pricelist_id], po_line.product_id.id, qty, False, {'uom': uom_id})[pricelist_id]
newdate = mx.DateTime.strptime(po_line.seance_id.date, '%Y-%m-%d %H:%M:%S')
newdate = newdate - mx.DateTime.RelativeDateTime(days=company.po_lead)
@@ -4593,7 +4594,7 @@
#Passing partner_id to context for purchase order line integrity of Line name
context.update({'lang':partner.lang, 'partner_id':partner_id})
- product=self.pool.get('product.product').browse(cr, uid, po_line.product_id.id, context=context)
+ product_pool.browse(cr, uid, po_line.product_id.id, context=context)
line = {
@@ -4610,14 +4611,14 @@
}
if po_line.course_id:
- journal_ids = self.pool.get('account.analytic.journal').search(cr, uid, [('type','=','general'),('active','=',True)])
+ journal_ids = anlytic_journal_pool.search(cr, uid, [('type','=','general'),('active','=',True)])
if journal_ids:
journal_id = journal_ids[0]
ana_acct_id = po_line._get_analytic_account_id()
- ana_acct = self.pool.get('account.analytic.account').browse(cr, uid, ana_acct_id, context=context)
+ ana_acct = anlytic_acc_pool.browse(cr, uid, ana_acct_id, context=context)
- plan_id = self.pool.get('account.analytic.plan.instance').create(cr, uid, {
+ plan_id = ac_plan_inst_pool.create(cr, uid, {
'name': ana_acct.name,
'journal_id': journal_id,
'account_ids': [(0, 0, {'analytic_account_id': ana_acct.id, 'rate': 100.0})],
@@ -4689,7 +4690,7 @@
_columns = {
'seance_id_int' : fields.related('seance_id', 'id', type='integer', readonly=True, string="Seance ID"),
'seance_id': fields.many2one('training.seance', 'Seance'),
- 'seance_date': fields.related('seance_id', 'date', type='datetime', string='Seance Date', readonly=True, store=True, select=1),
+ 'seance_date': fields.related('seance_id', 'date', type='datetime', string='Seance Date', readonly=True, store=True),
'course_id': fields.many2one('training.course', 'Course'),
'seance_purchase_line_id': fields.many2one('training.seance.purchase_line', 'Purchase Line'),
'state': fields.related('order_id', 'state',
@@ -4742,8 +4743,8 @@
_inherit = 'res.lang'
_columns = {
- 'code' : fields.char('Code', size=5, required=True, select=1),
- 'name' : fields.char('Name', size=64, required=True, select=1),
+ 'code' : fields.char('Code', size=5, required=True),
+ 'name' : fields.char('Name', size=64, required=True),
}
res_lang()
=== modified file 'training/training_content_review.py'
--- training/training_content_review.py 2011-04-07 11:11:57 +0000
+++ training/training_content_review.py 2011-05-05 13:29:35 +0000
@@ -345,7 +345,7 @@
if values:
self.pool.get('training.content.review').write(cr, uid, [ active_id ], { 'line_ids': values})
- return {}
+ return {'type': 'ir.actions.act_window_close'}
_columns = {
'course_id': fields.many2one('training.course', 'Course',),
=== modified file 'training/training_email.py'
--- training/training_email.py 2011-03-21 12:26:03 +0000
+++ training/training_email.py 2011-05-05 13:29:35 +0000
@@ -69,6 +69,7 @@
def action_send(self, cr, uid, ids, context=None):
if context is None:
context = {}
+ email_obj = self.pool.get('training.email')
for obj in self.browse(cr, uid, ids, context=context):
objects = eval(obj.objects)
@@ -83,16 +84,16 @@
session = oo_objects.pop('session', None)
seance = oo_objects.pop('seance', None)
stylegroup = oo_objects.pop('stylegroup', None)
- self.pool.get('training.email').send_email(cr, uid,
- trigger=info_email['trigger'],
- target=info_email['target'],
- to=info_email['to'],
- context=objects['ctx'],
- session=session,
- seance=seance,
- stylegroup=stylegroup,
- **oo_objects
- )
+ email_obj.send_email(cr, uid,
+ trigger=info_email['trigger'],
+ target=info_email['target'],
+ to=info_email['to'],
+ context=objects['ctx'],
+ session=session,
+ seance=seance,
+ stylegroup=stylegroup,
+ **oo_objects
+ )
obj.unlink(context=context)
=== modified file 'training_exam/__openerp__.py'
--- training_exam/__openerp__.py 2011-04-29 12:26:35 +0000
+++ training_exam/__openerp__.py 2011-05-05 13:29:35 +0000
@@ -36,8 +36,8 @@
'training_exam_data.xml',
],
'demo_xml' : [
- 'data/training.exam.question.csv',
- 'data/training.exam.question.answer.csv',
+# 'data/training.exam.question.csv',
+# 'data/training.exam.question.answer.csv',
'training_exam_demo.xml',
],
'update_xml' : [
Follow ups