diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml
index 2122c879fbb..1db17ed16cf 100644
--- a/addons/account/account_invoice_view.xml
+++ b/addons/account/account_invoice_view.xml
@@ -512,15 +512,15 @@
src_model="account.journal"/>
diff --git a/addons/account/report/account_report.py b/addons/account/report/account_report.py
index 362d0adb414..b7d3441913f 100644
--- a/addons/account/report/account_report.py
+++ b/addons/account/report/account_report.py
@@ -20,9 +20,8 @@
##############################################################################
import time
-import datetime
-import mx.DateTime
-
+from datetime import datetime
+from dateutil.relativedelta import relativedelta
import pooler
import tools
from osv import fields,osv
@@ -128,13 +127,13 @@ class report_aged_receivable(osv.osv):
LIST_RANGES = []
if fy_id:
fy_start_date = pool_obj_fy.read(cr, uid, fy_id, ['date_start'])['date_start']
- fy_start_date = mx.DateTime.strptime(fy_start_date, '%Y-%m-%d')
- last_month_date = mx.DateTime.strptime(today, '%Y-%m-%d') - mx.DateTime.RelativeDateTime(months=1)
+ fy_start_date = datetime.strptime(fy_start_date, '%Y-%m-%d')
+ last_month_date = datetime.strptime(today, '%Y-%m-%d') - relativedelta(months=1)
while (last_month_date > fy_start_date):
LIST_RANGES.append(today + " to " + last_month_date.strftime('%Y-%m-%d'))
today = (last_month_date- 1).strftime('%Y-%m-%d')
- last_month_date = mx.DateTime.strptime(today, '%Y-%m-%d') - mx.DateTime.RelativeDateTime(months=1)
+ last_month_date = datetime.strptime(today, '%Y-%m-%d') - relativedelta(months=1)
LIST_RANGES.append(today +" to " + fy_start_date.strftime('%Y-%m-%d'))
cr.execute('delete from temp_range')
diff --git a/addons/account/wizard/account_report_aged_partner_balance.py b/addons/account/wizard/account_report_aged_partner_balance.py
index 99983654c82..10548095131 100644
--- a/addons/account/wizard/account_report_aged_partner_balance.py
+++ b/addons/account/wizard/account_report_aged_partner_balance.py
@@ -20,8 +20,8 @@
##############################################################################
import time
-import datetime
-from mx.DateTime import *
+from datetime import datetime
+from dateutil.relativedelta import relativedelta
from lxml import etree
from osv import osv, fields
@@ -69,26 +69,26 @@ class account_aged_trial_balance(osv.osv_memory):
if not data['form']['date_from']:
raise osv.except_osv(_('UserError'), _('Enter a Start date !'))
- start = datetime.date.fromtimestamp(time.mktime(time.strptime(data['form']['date_from'], "%Y-%m-%d")))
- start = DateTime(int(start.year), int(start.month), int(start.day))
+ start = datetime.strptime(data['form']['date_from'], "%Y-%m-%d")
+
if data['form']['direction_selection'] == 'past':
for i in range(5)[::-1]:
- stop = start - RelativeDateTime(days=period_length)
+ stop = start - relativedelta(days=period_length)
res[str(i)] = {
'name': (i!=0 and (str((5-(i+1)) * period_length) + '-' + str((5-i) * period_length)) or ('+'+str(4 * period_length))),
'stop': start.strftime('%Y-%m-%d'),
'start': (i!=0 and stop.strftime('%Y-%m-%d') or False),
}
- start = stop - RelativeDateTime(days=1)
+ start = stop - relativedelta(days=1)
else:
for i in range(5):
- stop = start + RelativeDateTime(days=period_length)
+ stop = start + relativedelta(days=period_length)
res[str(5-(i+1))] = {
'name' : (i!=4 and str((i) * period_length)+'-' + str((i+1) * period_length) or ('+'+str(4 * period_length))),
'start': start.strftime('%Y-%m-%d'),
'stop': (i!=4 and stop.strftime('%Y-%m-%d') or False),
}
- start = stop + RelativeDateTime(days=1)
+ start = stop + relativedelta(days=1)
data['form'].update(res)
return {
diff --git a/addons/account_analytic_default/account_analytic_default_view.xml b/addons/account_analytic_default/account_analytic_default_view.xml
index 2513d1229b6..95a39eb11e6 100644
--- a/addons/account_analytic_default/account_analytic_default_view.xml
+++ b/addons/account_analytic_default/account_analytic_default_view.xml
@@ -66,14 +66,16 @@
id="act_account_acount_move_line_open"
res_model="account.move.line"
src_model="account.account"
- domain="[('account_id', '=', active_id)]"/>
+ context="{'search_default_account_id': [active_id]}"
+ />
+
diff --git a/addons/account_budget/crossovered_budget_view.xml b/addons/account_budget/crossovered_budget_view.xml
index 7a4883ec61d..99083d097b6 100644
--- a/addons/account_budget/crossovered_budget_view.xml
+++ b/addons/account_budget/crossovered_budget_view.xml
@@ -260,7 +260,7 @@
diff --git a/addons/account_report/account.py b/addons/account_report/account.py
index 5dffc0c6a78..6e5fbc94026 100644
--- a/addons/account_report/account.py
+++ b/addons/account_report/account.py
@@ -26,9 +26,6 @@ import pooler
from tools.misc import currency
from tools.translate import _
-import mx.DateTime
-from mx.DateTime import RelativeDateTime, now, DateTime, localtime
-
class account_report(osv.osv):
_name = "account.report.report"
diff --git a/addons/account_report/wizard/account_report_print_indicators_with_pdf.py b/addons/account_report/wizard/account_report_print_indicators_with_pdf.py
index 9e71d3e88c9..2ae373e58f0 100644
--- a/addons/account_report/wizard/account_report_print_indicators_with_pdf.py
+++ b/addons/account_report/wizard/account_report_print_indicators_with_pdf.py
@@ -19,7 +19,6 @@
#
##############################################################################
import time
-from mx.DateTime import *
import os
import base64
import StringIO
diff --git a/addons/account_reporting/account.py b/addons/account_reporting/account.py
index c1c68f04d9b..7fc08401496 100644
--- a/addons/account_reporting/account.py
+++ b/addons/account_reporting/account.py
@@ -24,9 +24,6 @@ from osv import fields, osv
from tools.misc import currency
-import mx.DateTime
-from mx.DateTime import RelativeDateTime, now, DateTime, localtime
-
class color_rml(osv.osv):
_name = "color.rml"
diff --git a/addons/account_voucher/account_voucher_view.xml b/addons/account_voucher/account_voucher_view.xml
index 35c3543524b..d066c91ad0e 100644
--- a/addons/account_voucher/account_voucher_view.xml
+++ b/addons/account_voucher/account_voucher_view.xml
@@ -161,10 +161,10 @@
diff --git a/addons/auction/auction_view.xml b/addons/auction/auction_view.xml
index d149fc89f1c..c3068753a6e 100644
--- a/addons/auction/auction_view.xml
+++ b/addons/auction/auction_view.xml
@@ -765,7 +765,7 @@
diff --git a/addons/base_calendar/wizard/base_calendar_set_exrule.py b/addons/base_calendar/wizard/base_calendar_set_exrule.py
index ab458c8f7f5..995d2a98dcc 100644
--- a/addons/base_calendar/wizard/base_calendar_set_exrule.py
+++ b/addons/base_calendar/wizard/base_calendar_set_exrule.py
@@ -23,7 +23,6 @@ from base_calendar import base_calendar
from osv import fields, osv
from tools.translate import _
import tools
-import mx.DateTime
import re
diff --git a/addons/base_contact/base_contact_view.xml b/addons/base_contact/base_contact_view.xml
index 1f22b550bdc..59894ab55d0 100644
--- a/addons/base_contact/base_contact_view.xml
+++ b/addons/base_contact/base_contact_view.xml
@@ -408,8 +408,9 @@
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index ee778401e4a..cdc3553dc0e 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -23,7 +23,6 @@ from osv import fields, osv
from datetime import datetime
import crm
import time
-import mx.DateTime
from tools.translate import _
from crm import crm_case
import binascii
@@ -84,12 +83,12 @@ class crm_lead(crm_case, osv.osv):
new_dates = cal_obj.interval_get(cr,
uid,
lead.section_id.resource_calendar_id and lead.section_id.resource_calendar_id.id or False,
- mx.DateTime.strptime(lead.create_date, '%Y-%m-%d %H:%M:%S'),
+ datetime.strptime(lead.create_date, '%Y-%m-%d %H:%M:%S'),
duration,
resource=resource_id
)
no_days = []
- date_until = mx.DateTime.strptime(date_until, '%Y-%m-%d %H:%M:%S')
+ date_until = datetime.strptime(date_until, '%Y-%m-%d %H:%M:%S')
for in_time, out_time in new_dates:
if in_time.date not in no_days:
no_days.append(in_time.date)
diff --git a/addons/crm/crm_meeting_menu.xml b/addons/crm/crm_meeting_menu.xml
index 53eabcf0136..7601fcdab43 100644
--- a/addons/crm/crm_meeting_menu.xml
+++ b/addons/crm/crm_meeting_menu.xml
@@ -8,8 +8,7 @@
res_model="crm.meeting"
src_model="res.partner"
view_mode="calendar,tree,form,gantt"
- context="{'default_partner_id': active_id, 'default_duration': 4.0}"
- domain="[('partner_id', '=', active_id)]"
+ context="{'search_default_partner_id': active_id, 'default_duration': 4.0}"
/>
diff --git a/addons/crm/crm_opportunity.py b/addons/crm/crm_opportunity.py
index 84e1392168f..771212a171d 100644
--- a/addons/crm/crm_opportunity.py
+++ b/addons/crm/crm_opportunity.py
@@ -24,7 +24,6 @@ from osv import fields,osv,orm
from tools.translate import _
import crm
import time
-import mx.DateTime
AVAILABLE_STATES = [
('draft','Draft'),
diff --git a/addons/crm/crm_phonecall_menu.xml b/addons/crm/crm_phonecall_menu.xml
index 44f1bcb219f..141a6add970 100644
--- a/addons/crm/crm_phonecall_menu.xml
+++ b/addons/crm/crm_phonecall_menu.xml
@@ -8,8 +8,7 @@
res_model="crm.phonecall"
src_model="res.partner"
view_mode="calendar,tree,form"
- context="{'default_partner_id': active_id, 'default_duration': 1.0}"
- domain="[('partner_id', '=', active_id)]"
+ context="{'search_default_partner_id': [active_id], 'default_duration': 1.0}"
groups="base.group_extended"
/>
diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml
index 64c917ffe4b..da73f879eab 100644
--- a/addons/crm_claim/crm_claim_view.xml
+++ b/addons/crm_claim/crm_claim_view.xml
@@ -310,8 +310,7 @@
-
diff --git a/addons/document_ics/document_ics_config_wizard.py b/addons/document_ics/document_ics_config_wizard.py
index 611c804a62c..51ccab59204 100644
--- a/addons/document_ics/document_ics_config_wizard.py
+++ b/addons/document_ics/document_ics_config_wizard.py
@@ -23,7 +23,6 @@ import time
import tools
from osv import fields, osv, orm
import os
-import mx.DateTime
import base64
import pooler
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index c791b0baefd..f58a948fad2 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -264,7 +264,7 @@
res_model="event.registration"
src_model="event.event"
view_mode="tree,form,calendar,graph"
- domain="[('event_id', '=', active_id)]"
+ context="{'search_default_event_id': [active_id]}"
view_type="form"/>
diff --git a/addons/event_project/event_view.xml b/addons/event_project/event_view.xml
index 5060ed2cb3f..7793d4fbcf7 100644
--- a/addons/event_project/event_view.xml
+++ b/addons/event_project/event_view.xml
@@ -36,7 +36,7 @@
res_model="project.task"
src_model="event.event"
view_mode="tree,form,calendar,graph"
- domain="[('project_id', '=', project_id)]"
+ context="{'search_default_project_id': project_id}"
view_type="form"/>
diff --git a/addons/hr_attendance/report/attendance_by_month.py b/addons/hr_attendance/report/attendance_by_month.py
index 650df0048bf..a4a50f61320 100644
--- a/addons/hr_attendance/report/attendance_by_month.py
+++ b/addons/hr_attendance/report/attendance_by_month.py
@@ -19,9 +19,9 @@
#
##############################################################################
-from mx import DateTime
-from mx.DateTime import now
import time
+from datetime import datetime
+from dateutil.relativedelta import relativedelta
import datetime
import netsvc
import pooler
@@ -31,7 +31,7 @@ from report.interface import toxml
from report import report_sxw
-one_day = DateTime.RelativeDateTime(days=1)
+one_day = relativedelta(days=1)
month2name = [0, 'January', 'February', 'March', 'April', 'May', 'Jun', 'July', 'August', 'September', 'October', 'November', 'December']
#def hour2str(h):
@@ -57,7 +57,7 @@ class report_custom(report_rml):
obj_emp = pooler.get_pool(cr.dbname).get('hr.employee')
if context is None:
context = {}
- month = DateTime.DateTime(datas['form']['year'], datas['form']['month'], 1)
+ month = datetime(datas['form']['year'], datas['form']['month'], 1)
emp_ids = context.get('active_ids', [])
user_xml = ['%s' % month2name[month.month], '%s' % month.year]
if emp_ids:
@@ -89,7 +89,7 @@ class report_custom(report_rml):
attendences.append({'name': tomor.strftime('%Y-%m-%d %H:%M:%S'), 'action':'sign_out'})
# sum up the attendances' durations
for att in attendences:
- dt = DateTime.strptime(att['name'], '%Y-%m-%d %H:%M:%S')
+ dt = datetime.strptime(att['name'], '%Y-%m-%d %H:%M:%S')
if att['action'] == 'sign_out':
wh += (dt - ldt).hours
ldt = dt
diff --git a/addons/hr_attendance/report/timesheet.py b/addons/hr_attendance/report/timesheet.py
index 94dc1edcbbd..1465be81bc8 100644
--- a/addons/hr_attendance/report/timesheet.py
+++ b/addons/hr_attendance/report/timesheet.py
@@ -19,16 +19,16 @@
#
##############################################################################
-from mx import DateTime
-from mx.DateTime import now
+from datetime import datetime
+from dateutil.relativedelta import relativedelta
import pooler
from report.interface import report_rml
from report.interface import toxml
-one_week = DateTime.RelativeDateTime(days=7)
+one_week = relativedelta(days=7)
num2day = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
def to_hour(h):
@@ -38,10 +38,12 @@ class report_custom(report_rml):
def create_xml(self, cr, uid, ids, datas, context=None):
obj_emp = pooler.get_pool(cr.dbname).get('hr.employee')
- start_date = DateTime.strptime(datas['form']['init_date'], '%Y-%m-%d')
- end_date = DateTime.strptime(datas['form']['end_date'], '%Y-%m-%d')
- first_monday = start_date - DateTime.RelativeDateTime(days=start_date.day_of_week)
- last_monday = end_date + DateTime.RelativeDateTime(days=7 - end_date.day_of_week)
+
+ start_date = datetime.strptime(datas['form']['init_date'], '%Y-%m-%d')
+ end_date = datetime.strptime(datas['form']['end_date'], '%Y-%m-%d')
+ first_monday = start_date - relativedelta(days=start_date.day_of_week)
+ last_monday = end_date + relativedelta(days=7 - end_date.day_of_week)
+
if last_monday < first_monday:
first_monday, last_monday = last_monday, first_monday
@@ -67,7 +69,7 @@ class report_custom(report_rml):
order by att.name
'''
for idx in range(7):
- cr.execute(sql, (monday.strftime('%Y-%m-%d %H:%M:%S'), (monday + DateTime.RelativeDateTime(days=idx+1)).strftime('%Y-%m-%d %H:%M:%S'), employee_id))
+ cr.execute(sql, (monday.strftime('%Y-%m-%d %H:%M:%S'), (monday + relativedelta(days=idx+1)).strftime('%Y-%m-%d %H:%M:%S'), employee_id))
attendances = cr.dictfetchall()
week_wh = {}
# Fake sign ins/outs at week ends, to take attendances across week ends into account
@@ -78,7 +80,7 @@ class report_custom(report_rml):
attendances.append({'name': n_monday.strftime('%Y-%m-%d %H:%M:%S'), 'action': 'sign_out'})
# sum up the attendances' durations
for att in attendances:
- dt = DateTime.strptime(att['name'], '%Y-%m-%d %H:%M:%S')
+ dt = datetime.strptime(att['name'], '%Y-%m-%d %H:%M:%S')
if att['action'] == 'sign_out':
week_wh[ldt.day_of_week] = week_wh.get(ldt.day_of_week, 0) + (dt - ldt).hours
ldt = dt
diff --git a/addons/hr_contract/hr_contract_view.xml b/addons/hr_contract/hr_contract_view.xml
index cb486df91b1..c8f84ce55cc 100644
--- a/addons/hr_contract/hr_contract_view.xml
+++ b/addons/hr_contract/hr_contract_view.xml
@@ -279,7 +279,12 @@
-
+
diff --git a/addons/hr_evaluation/hr_evaluation_view.xml b/addons/hr_evaluation/hr_evaluation_view.xml
index 9ec02b4ad0b..5dcc7b6f346 100644
--- a/addons/hr_evaluation/hr_evaluation_view.xml
+++ b/addons/hr_evaluation/hr_evaluation_view.xml
@@ -385,7 +385,12 @@
action="action_hr_evaluation_send_mail" sequence="45"/>
-
+
diff --git a/addons/hr_payroll/report/report_emp_salary_structure.py b/addons/hr_payroll/report/report_emp_salary_structure.py
index d4365a8423b..7deafcf63e4 100644
--- a/addons/hr_payroll/report/report_emp_salary_structure.py
+++ b/addons/hr_payroll/report/report_emp_salary_structure.py
@@ -23,7 +23,6 @@
##############################################################################
import time
-import mx.DateTime
from report import report_sxw
from tools import amount_to_text_en
diff --git a/addons/hr_payroll/report/report_employees_detail.py b/addons/hr_payroll/report/report_employees_detail.py
index 004dae84531..d36df160ad2 100644
--- a/addons/hr_payroll/report/report_employees_detail.py
+++ b/addons/hr_payroll/report/report_employees_detail.py
@@ -5,8 +5,6 @@ from report import report_sxw
import time
import pooler
import rml_parse
-import mx.DateTime
-from mx.DateTime import RelativeDateTime, now, DateTime, localtime
class employees_salary_report(rml_parse.rml_parse):
diff --git a/addons/hr_payroll/report/report_payroll_advice.py b/addons/hr_payroll/report/report_payroll_advice.py
index 2f4d82c263b..1c7fbd91357 100644
--- a/addons/hr_payroll/report/report_payroll_advice.py
+++ b/addons/hr_payroll/report/report_payroll_advice.py
@@ -1,5 +1,5 @@
import time
-import mx.DateTime
+from datetime import datetime
from report import report_sxw
from tools import amount_to_text_en
@@ -22,7 +22,7 @@ class payroll_advice_report(report_sxw.rml_parse):
res = {
'mname':''
}
- date = mx.DateTime.strptime(input_date, '%Y-%m-%d')
+ date = datetime.strptime(input_date, '%Y-%m-%d')
res['mname']= date.strftime('%B')+'-'+date.strftime('%Y')
return res
diff --git a/addons/hr_payroll/report/report_payroll_register.py b/addons/hr_payroll/report/report_payroll_register.py
index 6ab5b0c35c9..b146e2900af 100644
--- a/addons/hr_payroll/report/report_payroll_register.py
+++ b/addons/hr_payroll/report/report_payroll_register.py
@@ -1,5 +1,5 @@
import time
-import mx.DateTime
+from datetime import datetime
from report import report_sxw
from tools import amount_to_text_en
@@ -56,7 +56,7 @@ class report_payroll_register(report_sxw.rml_parse):
return self.net
def get_month(self, indate):
- new_date = mx.DateTime.strptime(indate, '%Y-%m-%d')
+ new_date = datetime.strptime(indate, '%Y-%m-%d')
out_date = new_date.strftime('%B')+'-'+new_date.strftime('%Y')
return out_date
diff --git a/addons/hr_payroll/report/report_payslip.py b/addons/hr_payroll/report/report_payslip.py
index 4fc9410861d..e818e0f3727 100755
--- a/addons/hr_payroll/report/report_payslip.py
+++ b/addons/hr_payroll/report/report_payslip.py
@@ -23,7 +23,7 @@
##############################################################################
import time
-import mx.DateTime
+from datetime import datetime
from report import report_sxw
from tools import amount_to_text_en
@@ -93,7 +93,7 @@ class payslip_report(report_sxw.rml_parse):
res = {
'mname':''
}
- date = mx.DateTime.strptime(obj.date, '%Y-%m-%d')
+ date = datetime.strptime(obj.date, '%Y-%m-%d')
res['mname']= date.strftime('%B')+"-"+date.strftime('%Y')
return res['mname']
diff --git a/addons/hr_payroll/report/report_year_salary.py b/addons/hr_payroll/report/report_year_salary.py
index b0f02bc077e..a85d7328973 100755
--- a/addons/hr_payroll/report/report_year_salary.py
+++ b/addons/hr_payroll/report/report_year_salary.py
@@ -5,8 +5,6 @@ from report import report_sxw
import time
import pooler
import rml_parse
-import mx.DateTime
-from mx.DateTime import RelativeDateTime, now, DateTime, localtime
class year_salary_report(rml_parse.rml_parse):
diff --git a/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml b/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml
index ba155d3590a..c0f82b0475b 100644
--- a/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml
+++ b/addons/hr_timesheet_invoice/report/hr_timesheet_invoice_report_view.xml
@@ -395,13 +395,34 @@
-
+
+
-
+
-
+
-
+
diff --git a/addons/hr_timesheet_invoice/report/report_analytic_view.xml b/addons/hr_timesheet_invoice/report/report_analytic_view.xml
index 32129287470..f5573a394ef 100644
--- a/addons/hr_timesheet_invoice/report/report_analytic_view.xml
+++ b/addons/hr_timesheet_invoice/report/report_analytic_view.xml
@@ -134,7 +134,13 @@
-
+
diff --git a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
index 19a9af3c33d..f078be2dbe1 100644
--- a/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
+++ b/addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
@@ -290,11 +290,27 @@
-
+
-
+
+
-
+
hr.timesheet.sheet.tree.simplified
diff --git a/addons/l10n_ch/report/bvr_report.py b/addons/l10n_ch/report/bvr_report.py
index 646806b202f..e0c7ca624a5 100644
--- a/addons/l10n_ch/report/bvr_report.py
+++ b/addons/l10n_ch/report/bvr_report.py
@@ -35,7 +35,7 @@ import os
import sys
import shutil
import time
-from mx.DateTime import *
+from datetime import datetime
from report import report_sxw
from tools import mod10r
diff --git a/addons/l10n_ch/wizard/create_dta.py b/addons/l10n_ch/wizard/create_dta.py
index 8bde159013a..d3e2856387d 100644
--- a/addons/l10n_ch/wizard/create_dta.py
+++ b/addons/l10n_ch/wizard/create_dta.py
@@ -31,7 +31,7 @@
##############################################################################
import time
-import mx.DateTime
+from datetime import datetime
import base64
from osv import osv, fields
@@ -469,11 +469,11 @@ def _create_dta(obj, cr, uid, data, context=None):
'on line: ' + pline.name)
if pline.order_id.date_scheduled:
- date_value = mx.DateTime.strptime(pline.order_id.date_scheduled, '%Y-%m-%d')
+ date_value = datetime.strptime(pline.order_id.date_scheduled, '%Y-%m-%d')
elif pline.date:
- date_value = mx.DateTime.strptime(pline.date, '%Y-%m-%d')
+ date_value = datetime.strptime(pline.date, '%Y-%m-%d')
else:
- date_value = mx.DateTime.now()
+ date_value = datetime.now()
v['date_value'] = date_value.strftime("%y%m%d")
# si compte iban -> iban (836)
diff --git a/addons/marketing_campaign/marketing_campaign_view.xml b/addons/marketing_campaign/marketing_campaign_view.xml
index 7d1c8d3d2bf..614055dddcd 100644
--- a/addons/marketing_campaign/marketing_campaign_view.xml
+++ b/addons/marketing_campaign/marketing_campaign_view.xml
@@ -446,18 +446,20 @@
view_type="form"
view_mode="tree,form"
id="act_marketing_campaing_segment_opened"
- domain="[('campaign_id','=',active_id)]"
+ context="{'search_default_campaign_id': [active_id]}"
/>
-
-
mx.DateTime.strptime(guarantee_limit, '%Y-%m-%d'):
+ if guarantee_limit and date.today() > datetime.strptime(guarantee_limit, '%Y-%m-%d'):
to_invoice=True
return {'value': {
'to_invoice': to_invoice,
diff --git a/addons/procurement/procurement_view.xml b/addons/procurement/procurement_view.xml
index 01c50d67e64..1e6395c660e 100644
--- a/addons/procurement/procurement_view.xml
+++ b/addons/procurement/procurement_view.xml
@@ -240,12 +240,16 @@
-
+
-
+
diff --git a/addons/project_planning/project_planning.py b/addons/project_planning/project_planning.py
index 2044772e6cc..729a8ee6bbb 100644
--- a/addons/project_planning/project_planning.py
+++ b/addons/project_planning/project_planning.py
@@ -21,7 +21,8 @@
##############################################################################
import time
-import mx.DateTime
+from datetime import datetime
+from dateutil.relativedelta import relativedelta
from osv import fields, osv
from tools.translate import _
@@ -139,7 +140,7 @@ class report_account_analytic_planning(osv.osv):
}
_defaults = {
'date_from': time.strftime('%Y-%m-01'),
- 'date_to': (mx.DateTime.now()+mx.DateTime.RelativeDateTime(months=1, day=1, days=-1)).strftime('%Y-%m-%d'),
+ 'date_to': (datetime.now()+relativedelta(months=1, day=1, days=-1)).strftime('%Y-%m-%d'),
'user_id': lambda self, cr, uid, c: uid,
'state': 'draft',
'business_days': 20,
diff --git a/addons/project_timesheet/report/task_report.py b/addons/project_timesheet/report/task_report.py
index ea454519394..261f4e17c64 100644
--- a/addons/project_timesheet/report/task_report.py
+++ b/addons/project_timesheet/report/task_report.py
@@ -18,7 +18,8 @@
# along with this program. If not, see .
#
##############################################################################
-import mx.DateTime
+from datetime import datetime
+from dateutil.relativedelta import relativedelta
from osv import fields,osv
import tools
@@ -31,7 +32,7 @@ class report_timesheet_task_user(osv.osv):
def _get_task_hours(self, cr, uid, ids, name,args,context):
result = {}
for record in self.browse(cr, uid, ids,context):
- last_date = mx.DateTime.strptime(record.name, '%Y-%m-%d') + mx.DateTime.RelativeDateTime(months=1) - 1
+ last_date = datetime(record.name, '%Y-%m-%d') + relativedelta(months=1) - 1
task_obj=self.pool.get('project.task.work')
task_ids = task_obj.search(cr, uid, [('user_id','=',record.user_id.id),('date','>=',record.name),('date','<=',last_date.strftime('%Y-%m-%d'))])
tsk_hrs = task_obj.read(cr, uid, task_ids, ['hours','date','user_id'])
@@ -45,7 +46,7 @@ class report_timesheet_task_user(osv.osv):
result = {}
sum = 0.0
for record in self.browse(cr, uid, ids, context):
- last_date = mx.DateTime.strptime(record.name, '%Y-%m-%d') + mx.DateTime.RelativeDateTime(months=1) - 1
+ last_date = datetime.strptime(record.name, '%Y-%m-%d') + relativedelta(months=1) - 1
obj=self.pool.get('hr_timesheet_sheet.sheet.day')
sheet_ids = obj.search(cr, uid, [('sheet_id.user_id','=',record.user_id.id),('name','>=',record.name),('name','<=',last_date.strftime('%Y-%m-%d'))])
data_days = obj.read(cr, uid, sheet_ids, ['name','sheet_id.user_id','total_attendance'])
diff --git a/addons/purchase/purchase_view.xml b/addons/purchase/purchase_view.xml
index cbe75dd56d3..e151cdc56f9 100644
--- a/addons/purchase/purchase_view.xml
+++ b/addons/purchase/purchase_view.xml
@@ -365,15 +365,14 @@
0) and maxrecur:
+ for (hour_from,hour_to) in [(item['hour_from'], item['hour_to']) for item in hours_by_cal[id] if item['dayofweek'] == str(dt_from.weekday())]:
+ leave_flag = False
+ if (hour_to>current_hour) and (todo>0):
+ m = max(hour_from, current_hour)
+ if (hour_to-m)>todo:
+ hour_to = m+todo
+ dt_check = dt_from.strftime('%Y-%m-%d')
+ for leave in dt_leave:
+ if dt_check == leave:
+ dt_check = datetime.strptime(dt_check, '%Y-%m-%d') + timedelta(days=1)
+ leave_flag = True
+ if leave_flag:
+ break
+ else:
+ d1 = datetime(dt_from.year, dt_from.month, dt_from.day, int(math.floor(m)), int((m%1) * 60))
+ d2 = datetime(dt_from.year, dt_from.month, dt_from.day, int(math.floor(hour_to)), int((hour_to%1) * 60))
+ result.append((d1, d2))
+ current_hour = hour_to
+ todo -= (hour_to - m)
+ dt_from += timedelta(days=1)
+ current_hour = 0
+ maxrecur -= 1
+ results[(d, hours, id)] = result
+ return results
+
def interval_get(self, cr, uid, id, dt_from, hours, resource=False, byday=True):
- if not id:
- td = int(hours)*3
- return [(dt_from, dt_from + timedelta(hours=td))]
- dt_leave = self._get_leaves(cr, uid, id, resource)
- todo = hours
- result = []
- maxrecur = 100
- current_hour = dt_from.hour
- while (todo>0) and maxrecur:
- cr.execute("select hour_from,hour_to from resource_calendar_attendance where dayofweek='%s' and calendar_id=%s order by hour_from", (dt_from.weekday(),id))
- for (hour_from,hour_to) in cr.fetchall():
- leave_flag = False
- if (hour_to>current_hour) and (todo>0):
- m = max(hour_from, current_hour)
- if (hour_to-m)>todo:
- hour_to = m+todo
- dt_check = dt_from.strftime('%Y-%m-%d')
- for leave in dt_leave:
- if dt_check == leave:
- dt_check = datetime.strptime(dt_check, '%Y-%m-%d') + timedelta(days=1)
- leave_flag = True
- if leave_flag:
- break
- else:
- d1 = datetime(dt_from.year, dt_from.month, dt_from.day, int(math.floor(m)), int((m%1) * 60))
- d2 = datetime(dt_from.year, dt_from.month, dt_from.day, int(math.floor(hour_to)), int((hour_to%1) * 60))
- result.append((d1, d2))
- current_hour = hour_to
- todo -= (hour_to - m)
- dt_from += timedelta(days=1)
- current_hour = 0
- maxrecur -= 1
- return result
+ res = self.interval_get_multi(cr, uid, [(dt_from.strftime('%Y-%m-%d %H:%M:%S'), hours, id)], resource, byday)[(dt_from.strftime('%Y-%m-%d %H:%M:%S'), hours, id)]
+ return res
def interval_hours_get(self, cr, uid, id, dt_from, dt_to, resource=False):
if not id:
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index b8a8b64e7ce..eec5847ed92 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -515,9 +515,20 @@ to your configuration: from the sales order, from the pickings, etc.
-
+
-
+
diff --git a/addons/sale_journal/sale_journal_view.xml b/addons/sale_journal/sale_journal_view.xml
index fd09f362000..f4305329d0d 100644
--- a/addons/sale_journal/sale_journal_view.xml
+++ b/addons/sale_journal/sale_journal_view.xml
@@ -303,7 +303,7 @@
@@ -311,7 +311,8 @@
@@ -319,7 +320,8 @@
@@ -327,7 +329,8 @@
@@ -335,7 +338,8 @@
diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml
index 0f284b7cf45..a7ef71c9acd 100644
--- a/addons/stock/stock_view.xml
+++ b/addons/stock/stock_view.xml
@@ -1851,8 +1851,7 @@
src_model="stock.location"/>
-
-
- tree,form
-
-