diff --git a/addons/account/account.py b/addons/account/account.py
index 6ae6968f364..549f257b124 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -349,7 +349,7 @@ class account_account(osv.osv):
_sql_constraints = [
('code_company_uniq', 'unique (code,company_id)', 'The code of the account must be unique per company !')
]
- def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
+ def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
if not args:
args = []
if not context:
@@ -479,7 +479,7 @@ class account_journal(osv.osv):
'groups_id': fields.many2many('res.groups', 'account_journal_group_rel', 'journal_id', 'group_id', 'Groups'),
'currency': fields.many2one('res.currency', 'Currency', help='The currency used to enter statement'),
'entry_posted': fields.boolean('Skip \'Draft\' State for Created Entries', help='Check this box if you don\'t want new account moves to pass through the \'draft\' state and instead goes directly to the \'posted state\' without any manual validation.'),
- #'company_id': fields.related('default_credit_account_id','company_id',type='many2one', relation="res.company", string="Company"),
+ #'company_id': fields.related('default_credit_account_id','company_id',type='many2one', relation="res.company", string="Company",store=True),
'company_id': fields.many2one('res.company', 'Company', required=True,select=1),
'invoice_sequence_id': fields.many2one('ir.sequence', 'Invoice Sequence', \
help="The sequence used for invoice numbers in this journal."),
@@ -503,7 +503,7 @@ class account_journal(osv.osv):
# })
return journal_id
- def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
+ def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
if not args:
args=[]
if not context:
@@ -782,7 +782,7 @@ class account_move(osv.osv):
('journal_pur_voucher','Journal Purchase'),
('journal_voucher','Journal Voucher'),
],'Type', readonly=True, select=True, states={'draft':[('readonly',False)]}),
- 'company_id': fields.related('journal_id','company_id',type='many2one',relation='res.company',string='Company'),
+ 'company_id': fields.related('journal_id','company_id',type='many2one',relation='res.company',string='Company',store=True),
}
_defaults = {
'name': lambda *a: '/',
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index fcade623b76..c8a02d00ea4 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -389,7 +389,7 @@ class account_move_line(osv.osv):
'analytic_account_id' : fields.many2one('account.analytic.account', 'Analytic Account'),
#TODO: remove this
'amount_taxed':fields.float("Taxed Amount",digits=(16,int(tools.config['price_accuracy']))),
- 'company_id': fields.related('account_id','company_id',type='many2one',object='res.company',string='Company')
+ 'company_id': fields.related('account_id','company_id',type='many2one',relation='res.company',string='Company',store=True)
}
diff --git a/addons/account/invoice.py b/addons/account/invoice.py
index 2af3bbc8d5b..8ad957e6453 100644
--- a/addons/account/invoice.py
+++ b/addons/account/invoice.py
@@ -878,7 +878,7 @@ class account_invoice(osv.osv):
}
return [(r['id'], types[r['type']]+(r['number'] or '')+' '+(r['name'] or '')) for r in self.read(cr, uid, ids, ['type', 'number', 'name'], context, load='_classic_write')]
- def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
+ def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
if not args:
args=[]
if context is None:
@@ -1086,7 +1086,7 @@ class account_invoice_line(osv.osv):
'invoice_line_tax_id': fields.many2many('account.tax', 'account_invoice_line_tax', 'invoice_line_id', 'tax_id', 'Taxes', domain=[('parent_id','=',False)]),
'note': fields.text('Notes'),
'account_analytic_id': fields.many2one('account.analytic.account', 'Analytic Account'),
- 'company_id': fields.related('invoice_id','company_id',type='many2one',relation='res.company',string='Company')
+ 'company_id': fields.related('invoice_id','company_id',type='many2one',relation='res.company',string='Company',store=True)
}
_defaults = {
'quantity': lambda *a: 1,
@@ -1312,7 +1312,7 @@ class account_invoice_tax(osv.osv):
'base_amount': fields.float('Base Code Amount', digits=(16,int(config['price_accuracy']))),
'tax_code_id': fields.many2one('account.tax.code', 'Tax Code', help="The tax basis of the tax declaration."),
'tax_amount': fields.float('Tax Code Amount', digits=(16,int(config['price_accuracy']))),
- 'company_id': fields.related('account_id','company_id',type='many2one',relation='res.company',string='Company'),
+ 'company_id': fields.related('account_id','company_id',type='many2one',relation='res.company',string='Company',store=True),
}
def base_change(self, cr, uid, ids, base,currency_id=False,company_id=False,date_invoice=False):
diff --git a/addons/account/project/project.py b/addons/account/project/project.py
index f446b6fdf29..51431ee1be1 100644
--- a/addons/account/project/project.py
+++ b/addons/account/project/project.py
@@ -248,7 +248,7 @@ class account_analytic_account(osv.osv):
res['value']['partner_id'] = partner
return res
- def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=80):
+ def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
if not args:
args=[]
if not context:
diff --git a/addons/account/project/project_view.xml b/addons/account/project/project_view.xml
index c2b8791f52c..00dd4d821fc 100644
--- a/addons/account/project/project_view.xml
+++ b/addons/account/project/project_view.xml
@@ -17,6 +17,25 @@
+
+
+ account.analytic.account.search
+ account.analytic.account
+ search
+
+
+
+
+
+
+
+
+
+
+
+
+
+
account.analytic.account.tree
@@ -77,6 +96,7 @@
form
tree,graph,form
+
@@ -368,7 +388,6 @@
-
diff --git a/addons/account_analytic_analysis/account_analytic_analysis_menu.xml b/addons/account_analytic_analysis/account_analytic_analysis_menu.xml
index 77aba3e7f65..232ba274769 100644
--- a/addons/account_analytic_analysis/account_analytic_analysis_menu.xml
+++ b/addons/account_analytic_analysis/account_analytic_analysis_menu.xml
@@ -1,30 +1,28 @@
-
All Uninvoiced Entries
-
account.analytic.line
form
tree,form
[('invoice_id','=',False),('to_invoice','!=',False)]
+
All Analytic Accounts
account.analytic.account
-
form
tree,form,graph
+
[]
-
-
+
Overpassed Accounts
@@ -32,32 +30,7 @@
form
tree,form,graph
[('date','<=',time.strftime('%Y-%m-%d')),('state','=','open')]
-
-
-
-
- Current Analytic Accounts
- account.analytic.account
- form
-
- tree,form,graph
-
- [('state','=','open')]
-
-
-
-
- Pending Analytic Accounts
-
- account.analytic.account
- form
- tree,form,graph
-
- [('state','=','pending')]
-
-
-
diff --git a/addons/account_analytic_analysis/account_analytic_analysis_view.xml b/addons/account_analytic_analysis/account_analytic_analysis_view.xml
index 446da0cb2ea..0e9bc494a56 100644
--- a/addons/account_analytic_analysis/account_analytic_analysis_view.xml
+++ b/addons/account_analytic_analysis/account_analytic_analysis_view.xml
@@ -90,7 +90,6 @@
-
diff --git a/addons/account_analytic_plans/account_analytic_plans.py b/addons/account_analytic_plans/account_analytic_plans.py
index 6ad98453719..8367adb20b3 100644
--- a/addons/account_analytic_plans/account_analytic_plans.py
+++ b/addons/account_analytic_plans/account_analytic_plans.py
@@ -122,7 +122,7 @@ class account_analytic_plan_instance(osv.osv):
res.append((inst.id, name))
return res
- def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=80):
+ def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
args= args or []
if name:
ids = self.search(cr, uid, [('code', '=', name)] + args, limit=limit, context=context or {})
diff --git a/addons/account_report/account.py b/addons/account_report/account.py
index 665533aef0a..d34eeb620d5 100644
--- a/addons/account_report/account.py
+++ b/addons/account_report/account.py
@@ -192,7 +192,7 @@ class account_report(osv.osv):
'type': lambda *args: 'indicator',
}
- def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
+ def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
if not args:
args=[]
if not context:
diff --git a/addons/account_reporting/account.py b/addons/account_reporting/account.py
index 0624ab46cfa..89513923070 100644
--- a/addons/account_reporting/account.py
+++ b/addons/account_reporting/account.py
@@ -103,7 +103,7 @@ class account_report_bs(osv.osv):
'font_style': lambda *a :'',
}
- def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
+ def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
if not args:
args=[]
if not context:
diff --git a/addons/account_voucher/__terp__.py b/addons/account_voucher/__terp__.py
index 7265919bb1a..ce5705560f7 100755
--- a/addons/account_voucher/__terp__.py
+++ b/addons/account_voucher/__terp__.py
@@ -41,8 +41,8 @@
"update_xml" : [
"voucher_sequence.xml",
"account_report.xml",
- "voucher_wizard.xml",
"voucher_view.xml",
+ "voucher_wizard.xml",
"account_view.xml",
],
'certificate': '0037580727101',
diff --git a/addons/account_voucher/voucher.py b/addons/account_voucher/voucher.py
index 4c550cc11bd..b9c223dcb0a 100755
--- a/addons/account_voucher/voucher.py
+++ b/addons/account_voucher/voucher.py
@@ -441,7 +441,7 @@ class account_voucher(osv.osv):
}
return [(r['id'], types[r['type']]+(r['number'] or '')+' '+(r['name'] or '')) for r in self.read(cr, uid, ids, ['type', 'number', 'name'], context, load='_classic_write')]
- def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
+ def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=100):
if not args:
args=[]
if not context:
diff --git a/addons/account_voucher/voucher_view.xml b/addons/account_voucher/voucher_view.xml
index e267e07d22c..cc8a4af0dd8 100755
--- a/addons/account_voucher/voucher_view.xml
+++ b/addons/account_voucher/voucher_view.xml
@@ -77,8 +77,8 @@
tree,form
-
+
@@ -90,8 +90,8 @@
[('type','like','rec_voucher')]
{'type':'rec_voucher'}
-
+
Cash Receipt
@@ -102,8 +102,8 @@
[('type','=','rec_voucher')]
{'type':'rec_voucher'}
-
+
Bank Receipt
@@ -114,8 +114,8 @@
[('type','=','bank_rec_voucher')]
{'type':'bank_rec_voucher'}
-
+
@@ -130,8 +130,8 @@
[('type','like','pay_voucher')]
{'type':'pay_voucher'}
-
+
Payment Vouchers
@@ -142,8 +142,8 @@
[('type','=','pay_voucher')]
{'type':'pay_voucher'}
-
+
Payment Vouchers
@@ -154,8 +154,8 @@
[('type','=','bank_pay_voucher')]
{'type':'bank_pay_voucher'}
-
+
@@ -167,53 +167,57 @@
tree,form
-
+
Contra Voucher
account.voucher
form
- form,tree
-
+ tree,form
+
[('type','=','cont_voucher')]
{'type':'cont_voucher'}
-
+
+
Journal Sale Voucher
account.voucher
form
- form,tree
-
+ tree,form
+
[('type','=','journal_sale_vou')]
{'type':'journal_sale_vou'}
-
+
+
Journal Purchase Voucher
account.voucher
form
- form,tree
-
+ tree,form
+
[('type','=','journal_pur_voucher')]
{'type':'journal_pur_voucher'}
-
+
Journal Voucher
account.voucher
form
- form,tree
-
+ tree,form
+
[('type','=','journal_voucher')]
{'type':'journal_voucher'}
+ name="Journal Voucher" id="menu_action_view_jour_voucher_form"
+ action="action_view_jour_voucher_form" parent="menu_action_other_voucher_list"/>
diff --git a/addons/account_voucher/voucher_wizard.xml b/addons/account_voucher/voucher_wizard.xml
index 5d31cdc3ec3..5e8a3f6ce5d 100644
--- a/addons/account_voucher/voucher_wizard.xml
+++ b/addons/account_voucher/voucher_wizard.xml
@@ -11,9 +11,10 @@
+ type="wizard"
+ parent="menu_action_voucher_list"/>
diff --git a/addons/board_sale/board_sale_view.xml b/addons/board_sale/board_sale_view.xml
index 95cb5c289e0..803d294ee27 100644
--- a/addons/board_sale/board_sale_view.xml
+++ b/addons/board_sale/board_sale_view.xml
@@ -15,12 +15,12 @@
-
+
-
+
diff --git a/addons/caldav/calendar.py b/addons/caldav/calendar.py
index 60d0a650a79..5163784759f 100644
--- a/addons/caldav/calendar.py
+++ b/addons/caldav/calendar.py
@@ -69,13 +69,12 @@ class CalDAV(object):
for child in parsedCal.getChildren():
for cal_data in child.getChildren():
if cal_data.name.lower() == 'attendee':
- # This is possible only if Attendee does not inherit osv_memory
- attendee = Attendee()
+ attendee = self.pool.get('caldav.attendee')
attendee.import_ical(cr, uid, cal_data)
if cal_data.name.lower() in self.__attribute__:
self.ical_set(cal_data.name.lower(), cal_data.value, 'value')
return True
-
+
class Calendar(CalDAV, osv.osv_memory):
_name = 'caldav.calendar'
__attribute__ = {
@@ -209,11 +208,11 @@ class Event(CalDAV, osv.osv_memory):
startdate = todate(startdate)
rset1 = rrulestr(rrulestring, dtstart=startdate, forceset=True)
for date in exdate:
- datetime_obj = datetime.strptime(date, "%Y-%m-%d %H:%M:%S", timezone=True)
+ datetime_obj = datetime.strptime(date, "%Y-%m-%d %H:%M:%S")
# datetime_obj_utc = datetime_obj.replace(tzinfo=timezone('UTC'))
rset1._exdate.append(datetime_obj)
re_dates = rset1._iter()
- recurrent_dates = map(lambda x:x.strftime('%Y-%m-%d %H:%M:%S', timezone=True), re_dates)
+ recurrent_dates = map(lambda x:x.strftime('%Y-%m-%d %H:%M:%S'), re_dates)
return recurrent_dates
def search(self, cr, uid, args, offset=0, limit=None, order=None,
@@ -294,8 +293,7 @@ class Alarm(CalDAV):
if self.__attribute__.has_key(val.name.lower()):
self.__attribute__[val.name] = val.value
-class Attendee(CalDAV):
-# Also inherit osv_memory
+class Attendee(CalDAV, osv.osv_memory):
_name = 'caldav.attendee'
__attribute__ = {
'cutype' : None, # Use: 0-1 Specify the type of calendar user specified by the property like "INDIVIDUAL"/"GROUP"/"RESOURCE"/"ROOM"/"UNKNOWN".
@@ -310,7 +308,7 @@ class Attendee(CalDAV):
'dir' : None, # Use: 0-1 Specify reference to a directory entry associated with the calendar user specified by the property.
'language' : None, # Use: 0-1 Specify the language for text values in a property or property parameter.
}
-
+
def import_ical(self, cr, uid, ical_data):
if ical_data.value:
self.__attribute__['sent-by'] = ical_data.value
diff --git a/addons/crm/crm_calendar.py b/addons/crm/crm_calendar.py
index a1bad20948c..baeff6a41ce 100644
--- a/addons/crm/crm_calendar.py
+++ b/addons/crm/crm_calendar.py
@@ -288,9 +288,9 @@ class crm_case(osv.osv):
if val['type'] == "text":
vevent.add(key).value = str(crm[val['field']])
elif val['type'] == 'datetime' and crm[val['field']]:
- vevent.add(key).value = datetime.strptime(crm[val['field']], "%Y-%m-%d %H:%M:%S")
+ vevent.add(key).value = datetime.datetime.strptime(crm[val['field']], "%Y-%m-%d %H:%M:%S")
if crm[self.__attribute__['rrule']['field']]:
- startdate = datetime.strptime(crm['date'], "%Y-%m-%d %H:%M:%S")
+ startdate = datetime.datetime.strptime(crm['date'], "%Y-%m-%d %H:%M:%S")
if not startdate:
startdate = datetime.now()
rset1 = rrulestr(str(crm[self.__attribute__['rrule']['field']]), dtstart=startdate, forceset=True)
diff --git a/addons/crm/crm_config.py b/addons/crm/crm_config.py
index 04bd451102e..51e84fce759 100644
--- a/addons/crm/crm_config.py
+++ b/addons/crm/crm_config.py
@@ -121,7 +121,7 @@ class crm_menu_config_wizard(osv.osv_memory):
_columns = {
'name': fields.char('Name', size=64),
'meeting': fields.boolean('Calendar of Meetings', help="Manages the calendar of meetings of the users."),
- 'lead': fields.boolean('Prospect', help="Allows you to track and manage leads which are pre-sales requests or contacts, the very first contact with a customer request."),
+ 'lead': fields.boolean('Leads', help="Allows you to track and manage leads which are pre-sales requests or contacts, the very first contact with a customer request."),
'opportunity': fields.boolean('Business Opportunities', help="Tracks identified business opportunities for your sales pipeline."),
'jobs': fields.boolean('Jobs Hiring Process', help="Help you to organise the jobs hiring process: evaluation, meetings, email integration..."),
'document_ics': fields.boolean('Shared Calendar', help=" Will allow you to synchronise your Open ERP calendars with your phone, outlook, Sunbird, ical, ..."),
diff --git a/addons/crm/crm_meeting_menu.xml b/addons/crm/crm_meeting_menu.xml
index e5663847c72..a7458fa388d 100755
--- a/addons/crm/crm_meeting_menu.xml
+++ b/addons/crm/crm_meeting_menu.xml
@@ -116,44 +116,6 @@
-
-
- crm.case
- calendar,tree,form,graph,gantt
-
-
-
-
-
-
-
-
- calendar
-
-
-
-
-
- tree
-
-
-
-
-
- form
-
-
-
-
-
- gantt
-
-
-
-
-
diff --git a/addons/crm/crm_meeting_view.xml b/addons/crm/crm_meeting_view.xml
index 67ed305e864..207a6b0fe69 100755
--- a/addons/crm/crm_meeting_view.xml
+++ b/addons/crm/crm_meeting_view.xml
@@ -103,6 +103,7 @@
+
diff --git a/addons/crm/crm_report_view.xml b/addons/crm/crm_report_view.xml
index 12eaa64ad4c..d33630bcbec 100644
--- a/addons/crm/crm_report_view.xml
+++ b/addons/crm/crm_report_view.xml
@@ -6,9 +6,6 @@
#
-
-
CRM Report - Sections and Type(Tree)
@@ -17,6 +14,7 @@
+
@@ -35,6 +33,7 @@
-
- report.crm.case.section.categ2
- form
- graph,tree
- [('name','=',time.strftime('%Y-%m-01'))]
-
-
-
report.crm.case.section.categ2
form
graph,tree
-
+
#
# Cases by section and stage
@@ -85,6 +76,7 @@
+
@@ -102,6 +94,7 @@
-
- report.crm.case.section.stage
- form
- graph,tree
- [('name','=',time.strftime('%Y-%m-01'))]
-
-
report.crm.case.section.stage
form
graph,tree
-
+
#
# Cases by section, category and stage
@@ -150,7 +136,7 @@
-
+
@@ -168,7 +154,7 @@
+
+
+ Events
+ event.event
+ search
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -125,6 +144,7 @@
event.event
form
tree,form
+
@@ -243,12 +263,33 @@
+
+ Registrations
+ event.registration
+ search
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Registrations
event.registration
form
tree,form
+