diff --git a/addons/account_followup/account_followup.py b/addons/account_followup/account_followup.py
index c798c703f37..06a53bb9548 100644
--- a/addons/account_followup/account_followup.py
+++ b/addons/account_followup/account_followup.py
@@ -33,6 +33,20 @@ class followup(osv.osv):
_defaults = {
'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'account_followup.followup', context=c),
}
+
+ def check_company_uniq(self, cr, uid, ids, context=None):
+ sr_id = self.search(cr,uid,[],context=context)
+ lines = self.browse(cr, uid, sr_id, context=context)
+ company = []
+ for l in lines:
+ if l.company_id.id in company:
+ return False
+ if l.company_id.id not in company:
+ company.append(l.company_id.id)
+ return True
+ _constraints = [
+ (check_company_uniq, 'Only One Folllowup by Company.',['company_id'] )
+ ]
followup()
@@ -47,6 +61,9 @@ class followup_line(osv.osv):
'followup_id': fields.many2one('account_followup.followup', 'Follow Ups', required=True, ondelete="cascade"),
'description': fields.text('Printed Message', translate=True),
}
+ _defaults = {
+ 'start': 'days',
+ }
followup_line()
diff --git a/addons/account_followup/account_followup_view.xml b/addons/account_followup/account_followup_view.xml
index 326264ffdcd..50c0fbcf222 100644
--- a/addons/account_followup/account_followup_view.xml
+++ b/addons/account_followup/account_followup_view.xml
@@ -8,10 +8,9 @@
tree
-
-
+
@@ -22,12 +21,12 @@
form
@@ -75,6 +72,10 @@
+
+
+
+
@@ -170,6 +171,27 @@
+
+
+
+
+ Configure Follow-Ups
+ ir.actions.act_window
+ account_followup.followup
+ form
+ form,tree
+
+
+
+
+
+
+ current
+ normal
+ skip
+
+
+
diff --git a/addons/account_followup/test/account_followup.yml b/addons/account_followup/test/account_followup.yml
index c69fdb112c6..b43ca32d200 100644
--- a/addons/account_followup/test/account_followup.yml
+++ b/addons/account_followup/test/account_followup.yml
@@ -1,8 +1,12 @@
-
In order to test account followup module in OpenERP I create a FollowUp structure
+-
+ !record {model: res.company, id: ymltest_company_2}:
+ name: Acme 2
-
!record {model: account_followup.followup, id: account_followup_followup_testfollowups0}:
description: First letter after 15 net days, 30 net days and 45 days end of month levels.
+ company_id: ymltest_company_2
followup_line:
- delay: 15
name: 'level 0: 15 days'
diff --git a/addons/account_followup/wizard/account_followup_print.py b/addons/account_followup/wizard/account_followup_print.py
index a8608c2fdd0..18b0fc1b874 100644
--- a/addons/account_followup/wizard/account_followup_print.py
+++ b/addons/account_followup/wizard/account_followup_print.py
@@ -171,7 +171,7 @@ class account_followup_print_all(osv.osv_memory):
"SELECT * "\
"FROM account_followup_followup_line "\
"WHERE followup_id=%s "\
- "ORDER BY sequence", (fup_id,))
+ "ORDER BY delay", (fup_id,))
for result in cr.dictfetchall():
delay = datetime.timedelta(days=result['delay'])
fups[old] = (current_date - delay, result['id'])
diff --git a/addons/association/profile_association.py b/addons/association/profile_association.py
index 2b73dd69885..6aa3ebdd13d 100644
--- a/addons/association/profile_association.py
+++ b/addons/association/profile_association.py
@@ -22,17 +22,16 @@
from osv import fields, osv
class profile_association_config_install_modules_wizard(osv.osv_memory):
- _name='profile.association.config.install_modules_wizard'
- _inherit = 'res.config.installer'
+ _inherit = 'base.setup.installer'
_columns = {
- 'hr_expense':fields.boolean('Expenses Tracking', help="Tracks and manages employee expenses, and can "
+ 'hr_expense':fields.boolean('Resources Management: Expenses Tracking', help="Tracks and manages employee expenses, and can "
"automatically re-invoice clients if the expenses are "
"project-related."),
'project':fields.boolean('Project Management',
help="Helps you manage your projects and tasks by tracking them, "
"generating plannings, etc..."),
- 'event_project':fields.boolean('Events', help="Helps you to manage and organize your events."),
+ 'event_project':fields.boolean('Event Management: Events', help="Helps you to manage and organize your events."),
'project_gtd':fields.boolean('Getting Things Done',
help="GTD is a methodology to efficiently organise yourself and your tasks. This module fully integrates GTD principle with OpenERP's project management."),
'wiki': fields.boolean('Wiki', help="Lets you create wiki pages and page groups in order "
diff --git a/addons/association/profile_association.xml b/addons/association/profile_association.xml
index bc155733595..e693bf6ae99 100644
--- a/addons/association/profile_association.xml
+++ b/addons/association/profile_association.xml
@@ -3,56 +3,23 @@
Association Application Configuration
- profile.association.config.install_modules_wizard
+ base.setup.installer
form
-
+
-
-
-
-
-
- Here are specific applications related to the Association Profile you selected.
+
+
+
+
+
+
+
+
-
- Configure
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Association Application Configuration
- ir.actions.act_window
- profile.association.config.install_modules_wizard
-
- form
- form
- new
-
-
-
-
- 3
- special
-
-
diff --git a/addons/base_setup/base_setup_todo.xml b/addons/base_setup/base_setup_todo.xml
index 1a148c517c3..aa39f270e64 100644
--- a/addons/base_setup/base_setup_todo.xml
+++ b/addons/base_setup/base_setup_todo.xml
@@ -52,7 +52,7 @@
Company Configuration
ir.actions.act_window
- base.setup.company
+ res.company
form
form
@@ -64,5 +64,6 @@
normal
skip
+
diff --git a/addons/base_setup/installer.py b/addons/base_setup/installer.py
index 0309318aea0..fdd28950094 100644
--- a/addons/base_setup/installer.py
+++ b/addons/base_setup/installer.py
@@ -221,8 +221,8 @@ class user_preferences_config(osv.osv_memory):
"translations are available"),
'view': fields.selection([('simple','Simplified'),
('extended','Extended')],
- 'Interface', required=True ),
- 'menu_tips': fields.boolean('Menu Tips', help="Check out this box if you want to always display tips on each menu action"),
+ 'Interface', required=True, help= "If you use OpenERP for the first time we strongly advise you to select the simplified interface, which has less features but is easier. You can always switch later from the user preferences." ),
+ 'menu_tips': fields.boolean('Display Tips', help="Check out this box if you want to always display tips on each menu action"),
}
_defaults={
@@ -230,6 +230,15 @@ class user_preferences_config(osv.osv_memory):
'context_lang' : 'en_US',
'menu_tips' : True
}
+
+ def default_get(self, cr, uid, fields, context=None):
+ if context is None:
+ context = {}
+ res = super(user_preferences_config, self).default_get(cr, uid, fields, context=context)
+ res_default = self.pool.get('ir.values').get(cr, uid, 'default', False, ['res.users'])
+ for id, field, value in res_default:
+ res.update({field: value})
+ return res
def execute(self, cr, uid, ids, context=None):
for o in self.browse(cr, uid, ids, context=context):
diff --git a/addons/base_setup/wizard/res_company_logo.py b/addons/base_setup/wizard/res_company_logo.py
index df8ace2895c..2e1b4b6e2aa 100644
--- a/addons/base_setup/wizard/res_company_logo.py
+++ b/addons/base_setup/wizard/res_company_logo.py
@@ -37,10 +37,9 @@ class res_company_logo(osv.osv_memory):
def execute(self, cr, uid, ids, context=None):
if context is None:
context = {}
- record_id = context.get('active_id', False) or False
- comp_obj = self.pool.get("res.company")
+ user_comp = self.pool.get('res.users').browse(cr, uid, uid, context=context).company_id
get_val = self.browse(cr, uid, ids)[0]
- comp_obj.write(cr, uid, record_id, {'logo': get_val.logo}, context=context)
+ user_comp.write({'logo': get_val.logo}, context=context)
return {'type': 'ir.actions.act_window_close'}
res_company_logo()
diff --git a/addons/base_setup/wizard/res_company_logo_view.xml b/addons/base_setup/wizard/res_company_logo_view.xml
index c15810ff3d1..c0ed2485752 100644
--- a/addons/base_setup/wizard/res_company_logo_view.xml
+++ b/addons/base_setup/wizard/res_company_logo_view.xml
@@ -7,7 +7,7 @@
res.company.logo
form
-
diff --git a/addons/marketing/marketing_view.xml b/addons/marketing/marketing_view.xml
index 7acc9806a63..7d3175b9811 100644
--- a/addons/marketing/marketing_view.xml
+++ b/addons/marketing/marketing_view.xml
@@ -14,52 +14,20 @@
marketing.installer.view
- marketing.installer
+ base.setup.installer
form
-
+
-
-
- Configure Your Marketing Application
-
-
- OpenERP provides Addons to better manage your sales and marketing processes. Select the ones you would be interested in.
-
-
- 13
-
-
-
- Configure
-
-
+
+
+
-
+
-
-
- Marketing Applications Configuration
- ir.actions.act_window
- marketing.installer
-
- form
- form
- new
-
-
-
-
- 3
- special
-
-
diff --git a/addons/marketing/marketing_wizard.py b/addons/marketing/marketing_wizard.py
index a97d0ca16bc..cedba8151c9 100644
--- a/addons/marketing/marketing_wizard.py
+++ b/addons/marketing/marketing_wizard.py
@@ -22,8 +22,7 @@
from osv import fields, osv
class marketing_installer(osv.osv_memory):
- _name = 'marketing.installer'
- _inherit = 'res.config.installer'
+ _inherit = 'base.setup.installer'
_columns = {
'email_template':fields.boolean('Automated E-Mails',
help="Helps you to design templates of emails and integrate them in your different processes."),
diff --git a/addons/mrp/installer.py b/addons/mrp/installer.py
index 407d401e463..7fc7fea9c1e 100644
--- a/addons/mrp/installer.py
+++ b/addons/mrp/installer.py
@@ -21,8 +21,7 @@
from osv import fields, osv
class mrp_installer(osv.osv_memory):
- _name = 'mrp.installer'
- _inherit = 'res.config.installer'
+ _inherit = 'base.setup.installer'
_columns = {
# Manufacturing Resource Planning
diff --git a/addons/mrp/mrp_installer.xml b/addons/mrp/mrp_installer.xml
index 47c7aadfe89..9f80ef733aa 100644
--- a/addons/mrp/mrp_installer.xml
+++ b/addons/mrp/mrp_installer.xml
@@ -2,55 +2,22 @@
mrp.installer.view
- mrp.installer
+ base.setup.installer
form
-
+
-
-
-
- Configure Your Manufacturing Resource Planning Application
-
-
- Add more functionalities to the core Manufacturing Application with the following addons.
+
+
+
+
+
+
+
+
-
-
-
-
- Configure
-
-
-
-
-
-
-
-
-
-
- MRP Applications Configuration
- ir.actions.act_window
- mrp.installer
-
- form
- form
- new
-
-
-
-
- 3
- special
-
-
-
diff --git a/addons/profile_tools/installer.py b/addons/profile_tools/installer.py
index 6f68b63cc02..44258234d11 100644
--- a/addons/profile_tools/installer.py
+++ b/addons/profile_tools/installer.py
@@ -21,8 +21,7 @@
from osv import fields, osv
class misc_tools_installer(osv.osv_memory):
- _name = 'misc_tools.installer'
- _inherit = 'res.config.installer'
+ _inherit = 'base.setup.installer'
_columns = {
'lunch':fields.boolean('Lunch',help='A simple module to help you to manage Lunch orders.'),
diff --git a/addons/profile_tools/misc_tools_installer.xml b/addons/profile_tools/misc_tools_installer.xml
index d1bfcd259c4..6daba8f0650 100644
--- a/addons/profile_tools/misc_tools_installer.xml
+++ b/addons/profile_tools/misc_tools_installer.xml
@@ -2,54 +2,23 @@
misc_tools.installer.view
- misc_tools.installer
+ base.setup.installer
form
-
+
-
-
-
+
+
+
+
+
+
+
+
+
-
-
- Configure Extra Tools
-
-
- Extra Tools are applications that can help you improve your organization although they are not key for company management.
-
-
- Configure
-
-
-
-
-
-
-
-
-
-
-
- Tools Configuration
- ir.actions.act_window
- misc_tools.installer
-
- form
- form
- new
-
-
-
-
- special
- 3
-
diff --git a/addons/project/installer.py b/addons/project/installer.py
index 693e2d58018..36b458da296 100644
--- a/addons/project/installer.py
+++ b/addons/project/installer.py
@@ -22,8 +22,7 @@
from osv import fields, osv
class project_installer(osv.osv_memory):
- _name = 'project.installer'
- _inherit = 'res.config.installer'
+ _inherit = 'base.setup.installer'
_columns = {
# Project Management
@@ -41,10 +40,10 @@ class project_installer(osv.osv_memory):
'project_issue': fields.boolean('Issues Tracker',
help="Automatically synchronizes project tasks and crm cases."),
# Methodologies
- 'project_scrum': fields.boolean('SCRUM',
+ 'project_scrum': fields.boolean('Methodology: SCRUM',
help="Implements and tracks the concepts and task types defined "
"in the SCRUM methodology."),
- 'project_gtd': fields.boolean('Getting Things Done',
+ 'project_gtd': fields.boolean('Methodology: Getting Things Done',
help="GTD is a methodology to efficiently organise yourself and your tasks. This module fully integrates GTD principle with OpenERP's project management."),
}
project_installer()
diff --git a/addons/project/project_installer.xml b/addons/project/project_installer.xml
index c704a980000..47021df8c7f 100644
--- a/addons/project/project_installer.xml
+++ b/addons/project/project_installer.xml
@@ -3,56 +3,25 @@
project.installer.view
- project.installer
+ base.setup.installer
form
-
+
-
-
- Configure Your Project Management Application
-
-
-
-
-
- Various OpenERP applications are available to manage your projects with different level of control and flexibility.
-
-
- Configure
-
-
-
-
-
-
-
+
-
-
-
-
+
+
+
+
+
+
+
+
+
-
- Project Application Configuration
- ir.actions.act_window
- project.installer
-
- form
- form
- new
-
-
-
-
- special
- 3
-
-
diff --git a/addons/purchase/wizard/purchase_installer.py b/addons/purchase/wizard/purchase_installer.py
index bf106adc3ac..be99a41a3cc 100644
--- a/addons/purchase/wizard/purchase_installer.py
+++ b/addons/purchase/wizard/purchase_installer.py
@@ -21,8 +21,7 @@
from osv import fields, osv
class purchase_installer(osv.osv_memory):
- _name = 'purchase.installer'
- _inherit = 'res.config.installer'
+ _inherit = 'base.setup.installer'
_columns = {
'purchase_requisition':fields.boolean('Purchase Requisition',help="Manages your Purchase Requisition and allows you to easily keep track and manage all your purchase orders."),
diff --git a/addons/purchase/wizard/purchase_installer.xml b/addons/purchase/wizard/purchase_installer.xml
index 7c6864a8d5b..bb759a60b00 100644
--- a/addons/purchase/wizard/purchase_installer.xml
+++ b/addons/purchase/wizard/purchase_installer.xml
@@ -3,51 +3,19 @@
Purchases Application Configuration
- purchase.installer
+ base.setup.installer
form
-
+
-
-
-
-
-
- Configure Your Purchases Management Application
-
-
- Extend your Purchases Management Application with additional functionalities.
-
-
- Configure
-
-
-
-
-
+
+
+
+
+
+
-
-
- Purchases Application Configuration
- ir.actions.act_window
- purchase.installer
-
- form
- form
- new
-
-
-
-
- 3
- special
-
-
diff --git a/addons/report_designer/installer.py b/addons/report_designer/installer.py
index f849392d328..e4bbc4ffa93 100644
--- a/addons/report_designer/installer.py
+++ b/addons/report_designer/installer.py
@@ -21,8 +21,7 @@
from osv import fields, osv
class report_designer_installer(osv.osv_memory):
- _name = 'report_designer.installer'
- _inherit = 'res.config.installer'
+ _inherit = 'base.setup.installer'
_columns = {
# Reporting
diff --git a/addons/report_designer/report_designer_installer.xml b/addons/report_designer/report_designer_installer.xml
index fc720c8d466..18505a95930 100644
--- a/addons/report_designer/report_designer_installer.xml
+++ b/addons/report_designer/report_designer_installer.xml
@@ -2,52 +2,19 @@
report_designer.installer.view
- report_designer.installer
+ base.setup.installer
form
-
+
-
-
-
+
+
+
+
+
-
- Configure Reporting Tools
-
-
- OpenERP's built-in reporting abilities can be improved even further with some of the following applications
-
-
- Configure
-
-
-
-
-
-
-
- Reporting Tools Configuration
- ir.actions.act_window
- report_designer.installer
-
- form
- form
- new
-
-
-
-
- normal
- skip
- 3
-
diff --git a/addons/sale/sale.py b/addons/sale/sale.py
index 0758fac6c19..4040ca8cc13 100644
--- a/addons/sale/sale.py
+++ b/addons/sale/sale.py
@@ -1180,7 +1180,7 @@ class sale_config_picking_policy(osv.osv_memory):
'order_policy': fields.selection([
('manual', 'Invoice Based on Sales Orders'),
('picking', 'Invoice Based on Deliveries'),
- ], 'Invoice Method', required=True,
+ ], 'Invoicing Method', required=True,
help="You can generate invoices based on sales orders or based on shippings."),
'step': fields.selection([
('one', 'Delivery Order Only'),
diff --git a/addons/sale/sale_installer.py b/addons/sale/sale_installer.py
index a8cc5432020..fa7dffc9d6d 100644
--- a/addons/sale/sale_installer.py
+++ b/addons/sale/sale_installer.py
@@ -22,8 +22,7 @@
from osv import fields, osv
class sale_installer(osv.osv_memory):
- _name = 'sale.installer'
- _inherit = 'res.config.installer'
+ _inherit = 'base.setup.installer'
_columns = {
'delivery': fields.boolean('Delivery Costs',
diff --git a/addons/sale/sale_installer.xml b/addons/sale/sale_installer.xml
index 6d67b105578..d0abc57f548 100644
--- a/addons/sale/sale_installer.xml
+++ b/addons/sale/sale_installer.xml
@@ -2,55 +2,22 @@
sale.installer.view
- sale.installer
+ base.setup.installer
form
-
+
-
-
-
- Configure Your Sales Management Application
-
-
- Enhance your core Sales Application with additional functionalities.
-
-
-
-
-
- Configure
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
-
-
- Sales Application Configuration
- ir.actions.act_window
- sale.installer
-
- form
- form
- new
-
-
-
-
- special
- 3
-
-
-
diff --git a/addons/sale/sale_view.xml b/addons/sale/sale_view.xml
index 2024bac8dda..d08681e8d36 100644
--- a/addons/sale/sale_view.xml
+++ b/addons/sale/sale_view.xml
@@ -521,7 +521,7 @@
@@ -532,7 +532,7 @@
- Setup your sales flow
+ Set Up Your Invoicing Method
sale.config.picking_policy
form
@@ -562,7 +562,7 @@
- Setup your sales flow
+ Set Up Your Invoicing Method
ir.actions.act_window
sale.config.picking_policy
@@ -574,7 +574,8 @@
- special
+ normal
+ skip