diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py index dfbdc745613..c3aa7bb8720 100644 --- a/addons/base_calendar/base_calendar.py +++ b/addons/base_calendar/base_calendar.py @@ -916,7 +916,7 @@ class calendar_event(osv.osv): return [(x.lower(), x) for x in pytz.all_timezones] def onchange_allday(self, cr, uid, ids, allday, context=None): - """Sets duration as 24 Hours if event is selcted for all day + """Sets duration as 24 Hours if event is selected for all day @param self: The object pointer @param cr: the current row, from the database cursor, @param uid: the current user’s ID for security checks, @@ -1630,6 +1630,14 @@ true, it will allow you to hide the event alarm information without removing it. if vals.get('vtimezone', '') and vals.get('vtimezone', '').startswith('/freeassociation.sourceforge.net/tzfile/'): vals['vtimezone'] = vals['vtimezone'][40:] + updated_vals = self.onchange_dates(cr, uid, [], + vals.get('date', False), + vals.get('duration', False), + vals.get('date_deadline', False), + vals.get('allday', False), + context=context) + vals.update(updated_vals.get('value', {})) + res = super(calendar_event, self).create(cr, uid, vals, context) alarm_obj = self.pool.get('res.alarm') alarm_obj.do_alarm_create(cr, uid, [res], self._name, 'date', context=context) diff --git a/addons/base_calendar/base_calendar_view.xml b/addons/base_calendar/base_calendar_view.xml index 9f27e79d5a5..e9dbd2aa297 100644 --- a/addons/base_calendar/base_calendar_view.xml +++ b/addons/base_calendar/base_calendar_view.xml @@ -229,7 +229,7 @@ - + diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml index a028e3e0e64..12f0a3f59cc 100644 --- a/addons/crm/crm_meeting_view.xml +++ b/addons/crm/crm_meeting_view.xml @@ -32,7 +32,7 @@ - + diff --git a/addons/crm_helpdesk/crm_helpdesk.py b/addons/crm_helpdesk/crm_helpdesk.py index f2570a8c57c..1508704d2d6 100644 --- a/addons/crm_helpdesk/crm_helpdesk.py +++ b/addons/crm_helpdesk/crm_helpdesk.py @@ -64,7 +64,7 @@ class crm_helpdesk(crm.crm_case, osv.osv): 'categ_id': fields.many2one('crm.case.categ', 'Category', \ domain="[('section_id','=',section_id),\ ('object_id.model', '=', 'crm.helpdesk')]"), - 'duration': fields.float('Duration'), + 'duration': fields.float('Duration', states={'done': [('readonly', True)]}), 'state': fields.selection(crm.AVAILABLE_STATES, 'State', size=16, readonly=True, help='The state is set to \'Draft\', when a case is created.\ \nIf the case is in progress the state is set to \'Open\'.\ diff --git a/addons/hr/hr.py b/addons/hr/hr.py index fdbed8a3a18..482ad524f71 100644 --- a/addons/hr/hr.py +++ b/addons/hr/hr.py @@ -183,7 +183,7 @@ class hr_employee(osv.osv): return {'value': {'work_email' : work_email}} def _get_photo(self, cr, uid, context=None): - photo_path = addons.get_module_resource('hr','image','photo.png') + photo_path = addons.get_module_resource('hr','image','photo.png') return open(photo_path, 'rb').read().encode('base64') _defaults = { diff --git a/addons/project/project_demo.xml b/addons/project/project_demo.xml index 7e315b265a7..3f2d9bad868 100644 --- a/addons/project/project_demo.xml +++ b/addons/project/project_demo.xml @@ -35,7 +35,7 @@ jth - Alien + Aline apr apr diff --git a/addons/purchase/purchase.py b/addons/purchase/purchase.py index da455015d3c..3145979d7b0 100644 --- a/addons/purchase/purchase.py +++ b/addons/purchase/purchase.py @@ -187,7 +187,7 @@ class purchase_order(osv.osv): help="From Order: a draft invoice will be pre-generated based on the purchase order. The accountant " \ "will just have to validate this invoice for control.\n" \ "From Picking: a draft invoice will be pre-generated based on validated receptions.\n" \ - "Manual: no invoice will be pre-generated. The accountant will have to encode manually." + "Manual: allows you to generate suppliers invoices by chosing in the uninvoiced lines of all manual purchase orders." ), 'minimum_planned_date':fields.function(_minimum_planned_date, fnct_inv=_set_minimum_planned_date, method=True,store=True, string='Expected Date', type='date', help="This is computed as the minimum scheduled date of all purchase order lines' products."), 'amount_untaxed': fields.function(_amount_all, method=True, digits_compute= dp.get_precision('Purchase Price'), string='Untaxed Amount', @@ -597,7 +597,7 @@ class purchase_order_line(osv.osv): _columns = { 'name': fields.char('Description', size=256, required=True), 'product_qty': fields.float('Quantity', required=True, digits=(16,2)), - 'date_planned': fields.date('Scheduled date', required=True), + 'date_planned': fields.date('Scheduled Date', required=True), 'taxes_id': fields.many2many('account.tax', 'purchase_order_taxe', 'ord_id', 'tax_id', 'Taxes'), 'product_uom': fields.many2one('product.uom', 'Product UOM', required=True), 'product_id': fields.many2one('product.product', 'Product', domain=[('purchase_ok','=',True)], change_default=True), @@ -616,7 +616,7 @@ class purchase_order_line(osv.osv): \n* The \'Cancelled\' state is set automatically when user cancel purchase order.'), 'invoice_lines': fields.many2many('account.invoice.line', 'purchase_order_line_invoice_rel', 'order_line_id', 'invoice_id', 'Invoice Lines', readonly=True), 'invoiced': fields.boolean('Invoiced', readonly=True), - 'partner_id': fields.related('order_id','partner_id',string='Partner',readonly=True,type="many2one", relation="res.partner"), + 'partner_id': fields.related('order_id','partner_id',string='Partner',readonly=True,type="many2one", relation="res.partner", store=True), 'date_order': fields.related('order_id','date_order',string='Order Date',readonly=True,type="date") } diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml index e9e20c952b2..caa6790b537 100644 --- a/addons/purchase/purchase_view.xml +++ b/addons/purchase/purchase_view.xml @@ -144,10 +144,10 @@