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/base_setup/base_setup_installer.xml b/addons/base_setup/base_setup_installer.xml
index 3fb9eaeb287..286aa817289 100644
--- a/addons/base_setup/base_setup_installer.xml
+++ b/addons/base_setup/base_setup_installer.xml
@@ -116,52 +116,22 @@
-
-
- Import or create customers
- product.installer
- form
-
-
-
-
-
- Import or create customers
-
-
- Create some customers, suppliers and their contacts manually or import a CSV spreadsheet by clicking on the import link
-
-
- 15
-
-
-
-
-
-
-
-
-
-
- Import or create customers ir.actions.act_window
- product.installer
-
+ res.partnerform
- form
- new
+ tree,form
+
+ Create some customers, suppliers and their contacts manually or import a CSV spreadsheet by clicking on the import link
-
+ normal
+ currentskip
@@ -182,7 +152,7 @@
- Specify default values. These data are just default values, each user is free to change his own preferences.
+ Specify default values.This will set the default values for each new user, each user is free to change his own preferences.
@@ -218,10 +188,10 @@
skip
-
+
- Give access to others users
+ Create New User's Loginir.actions.act_windowres.usersform
@@ -251,13 +221,19 @@
-
+
+
+
+
+
+ normal
+ cancel
+
diff --git a/addons/base_setup/base_setup_todo.xml b/addons/base_setup/base_setup_todo.xml
index 1dd20374c74..aa39f270e64 100644
--- a/addons/base_setup/base_setup_todo.xml
+++ b/addons/base_setup/base_setup_todo.xml
@@ -64,5 +64,6 @@
normalskip
+
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.logoform
-
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_view.xml b/addons/sale/sale_view.xml
index 5a1ab176970..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 Methodsale.config.picking_policyform
@@ -562,7 +562,7 @@
- Setup your sales flow
+ Set Up Your Invoicing Methodir.actions.act_windowsale.config.picking_policy