From 337b879e5135b57deb1bedcbfb971b449f63233b Mon Sep 17 00:00:00 2001
From: Amit Dodiya
Date: Fri, 14 Mar 2014 11:46:25 +0530
Subject: [PATCH 01/11] [FIX] project: users are able to create tasks on closed
project which should not be allowed
bzr revid: ado@tinyerp.com-20140314061625-awngp5ndcu0lnjqq
---
addons/project/project.py | 13 +++++++++++++
1 file changed, 13 insertions(+)
diff --git a/addons/project/project.py b/addons/project/project.py
index d7bc7113818..20718f5080c 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -575,6 +575,15 @@ def Project():
model_ids = self.pool.get('ir.model').search(cr, uid, [('model', '=', vals.get('alias_model', 'project.task'))])
vals.update(alias_model_id=model_ids[0])
return super(project, self).write(cr, uid, ids, vals, context=context)
+
+ def name_search(self, cr, uid, name, args=None, operator='ilike', context=None, limit=100):
+ if not args:
+ args = []
+ if context is None:
+ context = {}
+ ids = self.search(cr, uid, [('state', '!=', 'close'), ('name', operator, name)] + args, limit=limit, context=context)
+ return self.name_get(cr, uid, ids, context or {})
+
class task(base_stage, osv.osv):
_name = "project.task"
@@ -1125,6 +1134,10 @@ class task(base_stage, osv.osv):
def create(self, cr, uid, vals, context=None):
if context is None:
context = {}
+ if vals.get('project_id'):
+ project_record = self.pool.get('project.project').browse(cr, uid, vals.get('project_id'), context=context)
+ if project_record.state == 'close':
+ raise osv.except_osv(_('Warning !'), _('You can not create tasks on closed project.'))
if vals.get('project_id') and not context.get('default_project_id'):
context['default_project_id'] = vals.get('project_id')
From 09600a9969e84fd59d005b040fc13353a665f96f Mon Sep 17 00:00:00 2001
From: "Pinakin Nayi (OpenERP)"
Date: Mon, 31 Mar 2014 10:31:22 +0530
Subject: [PATCH 02/11] [FIX]hr_payroll : initialize result_rate in localdict
to avoid next execution problem
bzr revid: pna@tinyerp.com-20140331050122-kqfw152vcippdl52
---
addons/hr_payroll/hr_payroll.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/addons/hr_payroll/hr_payroll.py b/addons/hr_payroll/hr_payroll.py
index f944e8b1362..cc94ac4d5db 100644
--- a/addons/hr_payroll/hr_payroll.py
+++ b/addons/hr_payroll/hr_payroll.py
@@ -593,6 +593,7 @@ class hr_payslip(osv.osv):
key = rule.code + '-' + str(contract.id)
localdict['result'] = None
localdict['result_qty'] = 1.0
+ localdict['result_rate'] = 100
#check if the rule can be applied
if obj_rule.satisfy_condition(cr, uid, rule.id, localdict, context=context) and rule.id not in blacklist:
#compute the amount of the rule
From 7ee65aa181ef895d4b2d496451a0720c609adf55 Mon Sep 17 00:00:00 2001
From: Martin Trigaux
Date: Mon, 31 Mar 2014 12:44:48 +0200
Subject: [PATCH 03/11] [FIX] sale: remove useless write call (problematic when
invoice on delivery order)
bzr revid: mat@openerp.com-20140331104448-4omzqnist6wlmakd
---
addons/sale/wizard/sale_line_invoice.py | 1 -
1 file changed, 1 deletion(-)
diff --git a/addons/sale/wizard/sale_line_invoice.py b/addons/sale/wizard/sale_line_invoice.py
index d8a7d05a10e..5f979ead31e 100644
--- a/addons/sale/wizard/sale_line_invoice.py
+++ b/addons/sale/wizard/sale_line_invoice.py
@@ -101,7 +101,6 @@ class sale_order_line_make_invoice(osv.osv_memory):
break
if flag:
wf_service.trg_validate(uid, 'sale.order', order.id, 'manual_invoice', cr)
- sales_order_obj.write(cr, uid, [order.id], {'state': 'progress'})
if not invoices:
raise osv.except_osv(_('Warning!'), _('Invoice cannot be created for this Sales Order Line due to one of the following reasons:\n1.The state of this sales order line is either "draft" or "cancel"!\n2.The Sales Order Line is Invoiced!'))
From 5fb77bd6c5116529e619d650feafa52e0714f68b Mon Sep 17 00:00:00 2001
From: Martin Trigaux
Date: Wed, 2 Apr 2014 10:29:54 +0200
Subject: [PATCH 04/11] [IMP] hr_payroll: ensure localdict is not shared
between contracts
bzr revid: mat@openerp.com-20140402082954-05zzk1k3ued4go5a
---
addons/hr_payroll/hr_payroll.py | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/addons/hr_payroll/hr_payroll.py b/addons/hr_payroll/hr_payroll.py
index cc94ac4d5db..67fb89ebcf5 100644
--- a/addons/hr_payroll/hr_payroll.py
+++ b/addons/hr_payroll/hr_payroll.py
@@ -578,7 +578,7 @@ class hr_payslip(osv.osv):
payslip_obj = Payslips(self.pool, cr, uid, payslip.employee_id.id, payslip)
rules_obj = BrowsableObject(self.pool, cr, uid, payslip.employee_id.id, rules)
- localdict = {'categories': categories_obj, 'rules': rules_obj, 'payslip': payslip_obj, 'worked_days': worked_days_obj, 'inputs': input_obj}
+ baselocaldict = {'categories': categories_obj, 'rules': rules_obj, 'payslip': payslip_obj, 'worked_days': worked_days_obj, 'inputs': input_obj}
#get the ids of the structures on the contracts and their parent id as well
structure_ids = self.pool.get('hr.contract').get_all_structures(cr, uid, contract_ids, context=context)
#get the rules of the structure and thier children
@@ -588,7 +588,7 @@ class hr_payslip(osv.osv):
for contract in self.pool.get('hr.contract').browse(cr, uid, contract_ids, context=context):
employee = contract.employee_id
- localdict.update({'employee': employee, 'contract': contract})
+ localdict = dict(baselocaldict, employee=employee, contract=contract)
for rule in obj_rule.browse(cr, uid, sorted_rule_ids, context=context):
key = rule.code + '-' + str(contract.id)
localdict['result'] = None
From e8775beded96d4038873df180d2c0ffdd63e2c0e Mon Sep 17 00:00:00 2001
From: Denis Ledoux
Date: Wed, 2 Apr 2014 10:37:13 +0200
Subject: [PATCH 05/11] [FIX] account_voucher: it is authorized to enter
invoice with negative amount, therefore the check amount constraint must take
that into account
bzr revid: dle@openerp.com-20140402083713-tayk4r76bmrp9luf
---
addons/account_voucher/account_voucher.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py
index ff4200ace11..63c8ac5bbf3 100644
--- a/addons/account_voucher/account_voucher.py
+++ b/addons/account_voucher/account_voucher.py
@@ -1683,7 +1683,7 @@ class account_bank_statement_line(osv.osv):
def _check_amount(self, cr, uid, ids, context=None):
for obj in self.browse(cr, uid, ids, context=context):
if obj.voucher_id:
- diff = abs(obj.amount) - obj.voucher_id.amount
+ diff = abs(obj.amount) - abs(obj.voucher_id.amount)
if not self.pool.get('res.currency').is_zero(cr, uid, obj.statement_id.currency, diff):
return False
return True
From ccc0820348fa3d2ed8b8d7e39e86d14ccd33b44f Mon Sep 17 00:00:00 2001
From: Olivier Dony
Date: Wed, 2 Apr 2014 11:05:37 +0200
Subject: [PATCH 06/11] [FIX] account_report_company: missing index on
`display_name`
bzr revid: odo@openerp.com-20140402090537-aozassn5in2qgd92
---
addons/account_report_company/account_report_company.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/addons/account_report_company/account_report_company.py b/addons/account_report_company/account_report_company.py
index 6247ca26806..6915657ba84 100644
--- a/addons/account_report_company/account_report_company.py
+++ b/addons/account_report_company/account_report_company.py
@@ -40,7 +40,7 @@ class res_partner(osv.Model):
_columns = {
# extra field to allow ORDER BY to match visible names
- 'display_name': fields.function(_display_name, type='char', string='Name', store=_display_name_store_triggers),
+ 'display_name': fields.function(_display_name, type='char', string='Name', store=_display_name_store_triggers, select=1),
}
class account_invoice(osv.Model):
From 4fe43d9ac6fef20576427b94c6f79a97cc2e4a62 Mon Sep 17 00:00:00 2001
From: Olivier Dony
Date: Wed, 2 Apr 2014 13:07:00 +0200
Subject: [PATCH 07/11] [FIX] project,project_issue: missing indexes on
stage/state/project_id/user_id
bzr revid: odo@openerp.com-20140402110700-h3ryoroibj1m92ig
---
addons/project/project.py | 8 ++++----
addons/project_issue/project_issue.py | 6 +++---
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/addons/project/project.py b/addons/project/project.py
index 623a0809b96..f62774fc107 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -766,10 +766,10 @@ class task(base_stage, osv.osv):
'description': fields.text('Description'),
'priority': fields.selection([('4','Very Low'), ('3','Low'), ('2','Medium'), ('1','Important'), ('0','Very important')], 'Priority', select=True),
'sequence': fields.integer('Sequence', select=True, help="Gives the sequence order when displaying a list of tasks."),
- 'stage_id': fields.many2one('project.task.type', 'Stage', track_visibility='onchange',
+ 'stage_id': fields.many2one('project.task.type', 'Stage', track_visibility='onchange', select=True,
domain="['&', ('fold', '=', False), ('project_ids', '=', project_id)]"),
'state': fields.related('stage_id', 'state', type="selection", store=True,
- selection=_TASK_STATE, string="Status", readonly=True,
+ selection=_TASK_STATE, string="Status", readonly=True, select=True,
help='The status is set to \'Draft\', when a case is created.\
If the case is in progress the status is set to \'Open\'.\
When the case is over, the status is set to \'Done\'.\
@@ -788,7 +788,7 @@ class task(base_stage, osv.osv):
'date_start': fields.datetime('Starting Date',select=True),
'date_end': fields.datetime('Ending Date',select=True),
'date_deadline': fields.date('Deadline',select=True),
- 'project_id': fields.many2one('project.project', 'Project', ondelete='set null', select="1", track_visibility='onchange'),
+ 'project_id': fields.many2one('project.project', 'Project', ondelete='set null', select=True, track_visibility='onchange'),
'parent_ids': fields.many2many('project.task', 'project_task_parent_rel', 'task_id', 'parent_id', 'Parent Tasks'),
'child_ids': fields.many2many('project.task', 'project_task_parent_rel', 'parent_id', 'task_id', 'Delegated Tasks'),
'notes': fields.text('Notes'),
@@ -814,7 +814,7 @@ class task(base_stage, osv.osv):
'project.task': (lambda self, cr, uid, ids, c={}: ids, ['work_ids', 'remaining_hours', 'planned_hours'], 10),
'project.task.work': (_get_task, ['hours'], 10),
}),
- 'user_id': fields.many2one('res.users', 'Assigned to', track_visibility='onchange'),
+ 'user_id': fields.many2one('res.users', 'Assigned to', select=True, track_visibility='onchange'),
'delegated_user_id': fields.related('child_ids', 'user_id', type='many2one', relation='res.users', string='Delegated To'),
'partner_id': fields.many2one('res.partner', 'Customer'),
'work_ids': fields.one2many('project.task.work', 'task_id', 'Work done'),
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index da28c17d74c..20a61657e20 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -259,7 +259,7 @@ class project_issue(base_stage, osv.osv):
'company_id': fields.many2one('res.company', 'Company'),
'description': fields.text('Private Note'),
'state': fields.related('stage_id', 'state', type="selection", store=True,
- selection=_TASK_STATE, string="Status", readonly=True,
+ selection=_TASK_STATE, string="Status", readonly=True, select=True,
help='The status is set to \'Draft\', when a case is created.\
If the case is in progress the status is set to \'Open\'.\
When the case is over, the status is set to \'Done\'.\
@@ -283,9 +283,9 @@ class project_issue(base_stage, osv.osv):
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True),
'version_id': fields.many2one('project.issue.version', 'Version'),
'stage_id': fields.many2one ('project.task.type', 'Stage',
- track_visibility='onchange',
+ track_visibility='onchange', select=True,
domain="['&', ('fold', '=', False), ('project_ids', '=', project_id)]"),
- 'project_id':fields.many2one('project.project', 'Project', track_visibility='onchange'),
+ 'project_id': fields.many2one('project.project', 'Project', track_visibility='onchange', select=True),
'duration': fields.float('Duration'),
'task_id': fields.many2one('project.task', 'Task', domain="[('project_id','=',project_id)]"),
'day_open': fields.function(_compute_day, string='Days to Open', \
From 19993ab1d56bbb1ffa70662cc2577edc7e0815a6 Mon Sep 17 00:00:00 2001
From: Christophe Simonis
Date: Wed, 2 Apr 2014 13:27:30 +0200
Subject: [PATCH 08/11] [FIX] expression: translated search as params are
flatten, we need to expand "%s" placeholders when using the `in` operator
bzr revid: chs@openerp.com-20140402112730-eoqxt0pu7lvcq5yg
---
openerp/addons/base/tests/test_expression.py | 13 ++++++++++
openerp/osv/expression.py | 26 +++++++++++---------
2 files changed, 27 insertions(+), 12 deletions(-)
diff --git a/openerp/addons/base/tests/test_expression.py b/openerp/addons/base/tests/test_expression.py
index 4f533a5e170..9c0cd01cb5a 100644
--- a/openerp/addons/base/tests/test_expression.py
+++ b/openerp/addons/base/tests/test_expression.py
@@ -439,5 +439,18 @@ class test_expression(common.TransactionCase):
partner_parent_id_col._auto_join = False
state_country_id_col._auto_join = False
+ def test_translate_search(self):
+ Country = self.registry('res.country')
+ be = self.ref('base.be')
+ domains = [
+ [('name', '=', 'Belgium')],
+ [('name', 'ilike', 'Belgi')],
+ [('name', 'in', ['Belgium', 'Care Bears'])],
+ ]
+
+ for domain in domains:
+ ids = Country.search(self.cr, self.uid, domain)
+ self.assertListEqual([be], ids)
+
if __name__ == '__main__':
unittest2.main()
diff --git a/openerp/osv/expression.py b/openerp/osv/expression.py
index 360ab4984cf..9c70c0f0192 100644
--- a/openerp/osv/expression.py
+++ b/openerp/osv/expression.py
@@ -1032,17 +1032,18 @@ class expression(object):
sql_operator = sql_operator[4:] if sql_operator[:3] == 'not' else '='
inselect_operator = 'not inselect'
- if sql_operator == 'in':
- right = tuple(right)
+ trans_left = 'value'
+ left = '"%s"' % (left,)
+ instr = '%s'
if self.has_unaccent and sql_operator.endswith('like'):
+ assert isinstance(right, basestring)
trans_left = 'unaccent(value)'
left = 'unaccent("%s")' % (left,)
instr = 'unaccent(%s)'
- else:
- trans_left = 'value'
- left = '"%s"' % (left,)
- instr = '%s'
+ elif sql_operator == 'in':
+ # params will be flatten by to_sql() => expand the placeholders
+ instr = '(%s)' % ', '.join(['%s'] * len(right))
subselect = """(SELECT res_id
FROM ir_translation
@@ -1058,12 +1059,13 @@ class expression(object):
""".format(trans_left=trans_left, operator=sql_operator,
right=instr, table=working_model._table, left=left)
- params = [working_model._name + ',' + field,
- context.get('lang', False) or 'en_US',
- 'model',
- right,
- right,
- ]
+ params = (
+ working_model._name + ',' + field,
+ context.get('lang') or 'en_US',
+ 'model',
+ right,
+ right,
+ )
push(create_substitution_leaf(leaf, ('id', inselect_operator, (subselect, params)), working_model))
else:
From 1cdf8ac3f2052160d5c37d80fe330c0a802c8523 Mon Sep 17 00:00:00 2001
From: Olivier Dony
Date: Wed, 2 Apr 2014 14:20:23 +0200
Subject: [PATCH 09/11] [FIX] crm.lead: missing index on stage_id/type/state
bzr revid: odo@openerp.com-20140402122023-detokob7c6a06rux
---
addons/crm/crm_lead.py | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/addons/crm/crm_lead.py b/addons/crm/crm_lead.py
index bd3c6f33f4e..6c4ef607c0d 100644
--- a/addons/crm/crm_lead.py
+++ b/addons/crm/crm_lead.py
@@ -264,10 +264,10 @@ class crm_lead(base_stage, format_address, osv.osv):
'opt_out': fields.boolean('Opt-Out', oldname='optout',
help="If opt-out is checked, this contact has refused to receive emails for mass mailing and marketing campaign. "
"Filter 'Available for Mass Mailing' allows users to filter the leads when performing mass mailing."),
- 'type':fields.selection([ ('lead','Lead'), ('opportunity','Opportunity'), ],'Type', help="Type is used to separate Leads and Opportunities"),
+ 'type': fields.selection([ ('lead','Lead'), ('opportunity','Opportunity'), ],'Type', select=True, help="Type is used to separate Leads and Opportunities"),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True),
'date_closed': fields.datetime('Closed', readonly=True),
- 'stage_id': fields.many2one('crm.case.stage', 'Stage', track_visibility='onchange',
+ 'stage_id': fields.many2one('crm.case.stage', 'Stage', track_visibility='onchange', select=True,
domain="['&', '&', ('fold', '=', False), ('section_ids', '=', section_id), '|', ('type', '=', type), ('type', '=', 'both')]"),
'user_id': fields.many2one('res.users', 'Salesperson', select=True, track_visibility='onchange'),
'referred': fields.char('Referred By', size=64),
@@ -277,7 +277,7 @@ class crm_lead(base_stage, format_address, osv.osv):
'day_close': fields.function(_compute_day, string='Days to Close', \
multi='day_close', type="float", store=True),
'state': fields.related('stage_id', 'state', type="selection", store=True,
- selection=crm.AVAILABLE_STATES, string="Status", readonly=True,
+ selection=crm.AVAILABLE_STATES, string="Status", readonly=True, select=True,
help='The Status is set to \'Draft\', when a case is created. If the case is in progress the Status is set to \'Open\'. When the case is over, the Status is set to \'Done\'. If the case needs to be reviewed then the Status is set to \'Pending\'.'),
# Only used for type opportunity
From 4612b417afeb0853c8a69666ed0b30c19389874f Mon Sep 17 00:00:00 2001
From: Launchpad Translations on behalf of openerp <>
Date: Thu, 3 Apr 2014 06:02:13 +0000
Subject: [PATCH 10/11] Launchpad automatic translations update.
bzr revid: launchpad_translations_on_behalf_of_openerp-20140403060213-netdplm9jzfr9yy6
---
addons/crm/i18n/sv.po | 157 +++++++++++++++++++++++++----------
addons/hr/i18n/sv.po | 181 +++++++++++++++++++++++++++++------------
addons/mail/i18n/sv.po | 4 +-
addons/sale/i18n/sv.po | 4 +-
4 files changed, 249 insertions(+), 97 deletions(-)
diff --git a/addons/crm/i18n/sv.po b/addons/crm/i18n/sv.po
index e22587633bb..c2c52b3ab0d 100644
--- a/addons/crm/i18n/sv.po
+++ b/addons/crm/i18n/sv.po
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2014-01-07 16:56+0000\n"
-"PO-Revision-Date: 2014-03-31 16:46+0000\n"
+"PO-Revision-Date: 2014-04-02 14:14+0000\n"
"Last-Translator: Anders Wallenquist \n"
"Language-Team: Swedish \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-04-01 06:52+0000\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:01+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: crm
@@ -28,6 +28,8 @@ msgid ""
"Allows you to configure your incoming mail server, and create leads from "
"incoming emails."
msgstr ""
+"Här kan du konfigurera din inkommande e-postserver, och skapa kundämnen från "
+"inkommande e-post."
#. module: crm
#: code:addons/crm/crm_lead.py:897
@@ -55,6 +57,11 @@ msgid ""
"Description: [[object.description]]\n"
" "
msgstr ""
+"Varning obearbetade inkommande kundämnen är mer än 5 dagar gamla. \n"
+"Namn: [[object.name]] \n"
+"ID: [[object.id]] \n"
+"Beskrivning: [[object.description]]\n"
+" "
#. module: crm
#: field:crm.opportunity2phonecall,action:0
@@ -65,7 +72,7 @@ msgstr "Action"
#. module: crm
#: model:ir.actions.server,name:crm.action_set_team_sales_department
msgid "Set team to Sales Department"
-msgstr ""
+msgstr "Ställ in säljlaget till försäljningsavdelningen"
#. module: crm
#: view:crm.lead2opportunity.partner.mass:0
@@ -76,7 +83,7 @@ msgstr "Välj affärsmöjligheter"
#: model:res.groups,name:crm.group_fund_raising
#: field:sale.config.settings,group_fund_raising:0
msgid "Manage Fund Raising"
-msgstr ""
+msgstr "Hantera insamlingar"
#. module: crm
#: view:crm.lead.report:0
@@ -87,7 +94,7 @@ msgstr "Stängledtid"
#. module: crm
#: view:crm.lead:0
msgid "Available for mass mailing"
-msgstr ""
+msgstr "Tillgänglig för mass-e-post"
#. module: crm
#: view:crm.case.stage:0
@@ -123,13 +130,13 @@ msgstr "Bolagsnamn"
#. module: crm
#: model:crm.case.categ,name:crm.categ_oppor6
msgid "Training"
-msgstr ""
+msgstr "Utbildning"
#. module: crm
#: model:ir.actions.act_window,name:crm.crm_lead_categ_action
#: model:ir.ui.menu,name:crm.menu_crm_lead_categ
msgid "Sales Tags"
-msgstr ""
+msgstr "Försäljningsetiketter"
#. module: crm
#: view:crm.lead.report:0
@@ -139,7 +146,7 @@ msgstr "Förv stängning"
#. module: crm
#: view:crm.phonecall:0
msgid "Cancel Call"
-msgstr ""
+msgstr "Avbryt samtal"
#. module: crm
#: help:crm.lead.report,creation_day:0
@@ -155,7 +162,7 @@ msgstr "Rule Name"
#: code:addons/crm/crm_phonecall.py:282
#, python-format
msgid "It's only possible to convert one phonecall at a time."
-msgstr ""
+msgstr "Det är endast möjligt att konvertera ett samtal åt gången"
#. module: crm
#: view:crm.case.resource.type:0
@@ -233,17 +240,17 @@ msgstr "Undantagen"
#. module: crm
#: view:crm.lead:0
msgid "Opportunities that are assigned to me"
-msgstr ""
+msgstr "Affärsmöjligheter knutna till mig"
#. module: crm
#: field:res.partner,meeting_count:0
msgid "# Meetings"
-msgstr ""
+msgstr "# Möten"
#. module: crm
#: model:ir.actions.server,name:crm.action_email_reminder_lead
msgid "Reminder to User"
-msgstr ""
+msgstr "Påminnelse till användare"
#. module: crm
#: field:crm.segmentation,segmentation_line:0
@@ -253,12 +260,12 @@ msgstr "Villkor"
#. module: crm
#: view:crm.lead:0
msgid "Assigned to My Team(s)"
-msgstr ""
+msgstr "Tilldelat till mina lag"
#. module: crm
#: model:ir.model,name:crm.model_crm_merge_opportunity
msgid "Merge opportunities"
-msgstr ""
+msgstr "Slå samman affärsmöjligheter"
#. module: crm
#: view:crm.lead.report:0
@@ -329,6 +336,17 @@ msgid ""
"
\n"
" "
msgstr ""
+" \n"
+" Klicka för att definiera en ny kundsegmentering. \n"
+"
\n"
+" Skapa specifika kategorier som du kan koppla till din \n"
+" kontakter för att bättre hantera dina interaktioner med "
+"dem. \n"
+" Segmenteringsverktyget kan tilldela kategorier för "
+"kontakter \n"
+" enligt kriterier du anger. \n"
+"
\n"
+" "
#. module: crm
#: field:crm.opportunity2phonecall,contact_name:0
@@ -341,7 +359,7 @@ msgstr "Kontakt"
#: help:crm.case.section,change_responsible:0
msgid ""
"When escalating to this team override the salesman with the team leader."
-msgstr ""
+msgstr "Vid eskalering till detta säljlag, åsidosätts gruppledaren."
#. module: crm
#: model:process.transition,name:crm.process_transition_opportunitymeeting0
@@ -381,6 +399,20 @@ msgid ""
" \n"
" "
msgstr ""
+" \n"
+" Klicka för att skapa en affärsmöjlighet knuten till denna "
+"kund. \n"
+"
\n"
+" Använd affärsmöjligheter för övervaka på "
+"marknadsföringsprocess, följ \n"
+" upp potentiella affärer och bättre prognostisera dina "
+"framtida intäkter. \n"
+"
\n"
+" Du kommer att kunna planera möten och telefonsamtal från \n"
+" möjligheter, omvandla dem till citat, bifoga relaterade \n"
+" dokument, spåra alla diskussioner och mycket mer. \n"
+"
\n"
+" "
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead7
@@ -407,7 +439,7 @@ msgstr "Segmentation"
#: selection:crm.lead2opportunity.partner.mass,action:0
#: selection:crm.partner.binding,action:0
msgid "Link to an existing customer"
-msgstr ""
+msgstr "Länka till en befintlig kund"
#. module: crm
#: field:crm.lead,write_date:0
@@ -465,6 +497,16 @@ msgid ""
" \n"
" "
msgstr ""
+" \n"
+" Klicka för att definiera ett nytt säljlag. \n"
+"
\n"
+" Använd säljlag för att organisera dina olika säljare eller "
+"\n"
+" avdelningar i separata grupper. Varje lag kommer att arbeta "
+"i \n"
+" sin egen lista av möjligheter. \n"
+" p>\n"
+" "
#. module: crm
#: model:process.transition,note:crm.process_transition_opportunitymeeting0
@@ -554,6 +596,9 @@ msgid ""
" If the call needs to be done then the status is set "
"to 'Not Held'."
msgstr ""
+"Statusen är satt till \"Att göra\", när ett ärende skapas. Om ärendet pågår "
+"är status inställd på \"Öppen\". När samtalet är över, är status satt till "
+"\"Hållet\". Om samtalet behöver göras då status är inställd på 'Ej Hållet \"."
#. module: crm
#: field:crm.case.section,message_summary:0
@@ -583,6 +628,8 @@ msgid ""
"Reminder on Lead: [[object.id ]] [[object.partner_id and 'of ' "
"+object.partner_id.name or '']]"
msgstr ""
+"Påminnelse på kundämne: [[object.id ]] [[object.partner_id and 'of ' "
+"+object.partner_id.name or '']]"
#. module: crm
#: code:addons/crm/crm_lead.py:759
@@ -626,6 +673,14 @@ msgid ""
"
\n"
" "
msgstr ""
+" \n"
+" Klicka för att lägga till en ny kategori. \n"
+"
\n"
+" Skapa specifika telefonsamtalskategorier för att bättre "
+"definiera vilken typ av \n"
+" samtal som systemet spårar. \n"
+"
\n"
+" "
#. module: crm
#: help:crm.case.section,reply_to:0
@@ -673,7 +728,7 @@ msgstr "Företagssegmentering"
#: code:addons/crm/crm_lead.py:1064
#, python-format
msgid "Logged a call for %(date)s. %(description)s"
-msgstr ""
+msgstr "Loggade ett samtal för %(date)s. %(description)s"
#. module: crm
#: field:crm.lead,company_currency:0
@@ -698,12 +753,12 @@ msgstr "The name of the segmentation."
#. module: crm
#: model:ir.filters,name:crm.filter_usa_lead
msgid "Leads from USA"
-msgstr ""
+msgstr "Kundämnen från USA"
#. module: crm
#: sql_constraint:crm.lead:0
msgid "The probability of closing the deal should be between 0% and 100%!"
-msgstr ""
+msgstr "Sannolikheten för avslut skall vara mellan 0% och 100%!"
#. module: crm
#: view:crm.lead:0
@@ -737,7 +792,7 @@ msgstr "TV"
#. module: crm
#: model:ir.actions.act_window,name:crm.action_crm_send_mass_convert
msgid "Convert to opportunities"
-msgstr ""
+msgstr "Konvertera till affärsmöjlighet"
#. module: crm
#: model:ir.model,name:crm.model_sale_config_settings
@@ -764,6 +819,8 @@ msgstr "Sök telefonsamtal"
msgid ""
"Leads/Opportunities that are assigned to one of the sale teams I manage"
msgstr ""
+"Kundämnen / Affärsmöjligheter som är tilldelade ett av de säljlag jag "
+"hanterar"
#. module: crm
#: field:crm.segmentation.line,expr_value:0
@@ -789,12 +846,12 @@ msgstr "Från %s: %s"
#. module: crm
#: view:crm.lead2opportunity.partner.mass:0
msgid "Convert to Opportunities"
-msgstr ""
+msgstr "Konvertera till affärsmöjlighet"
#. module: crm
#: view:crm.lead:0
msgid "Leads that did not ask not to be included in mass mailing campaigns"
-msgstr ""
+msgstr "Kundämnen som inte avböjt att ingå i massutskickskampanjer"
#. module: crm
#: view:crm.lead2opportunity.partner:0
@@ -822,6 +879,8 @@ msgid ""
"Link between stages and sales teams. When set, this limitate the current "
"stage to the selected sales teams."
msgstr ""
+"Länk mellan etapperna och säljlag. När den är inställd, begränsas aktuell "
+"etapp till det valda säljlaget."
#. module: crm
#: view:crm.case.stage:0
@@ -860,7 +919,7 @@ msgstr "Företagskategori"
#. module: crm
#: field:crm.lead,probability:0
msgid "Success Rate (%)"
-msgstr ""
+msgstr "Avslutsratio (%)"
#. module: crm
#: field:crm.segmentation,sales_purchase_active:0
@@ -875,7 +934,7 @@ msgstr "Utgående"
#. module: crm
#: view:crm.lead:0
msgid "Leads that are assigned to me"
-msgstr ""
+msgstr "Kundämnen tilldelade till mig"
#. module: crm
#: view:crm.lead:0
@@ -895,7 +954,7 @@ msgstr "Märk förlorad"
#. module: crm
#: model:ir.filters,name:crm.filter_draft_lead
msgid "Draft Leads"
-msgstr ""
+msgstr "Kundämnen i utkast"
#. module: crm
#: selection:crm.lead.report,creation_month:0
@@ -914,7 +973,7 @@ msgstr "Skicka e-post"
#: help:crm.lead,message_unread:0
#: help:crm.phonecall,message_unread:0
msgid "If checked new messages require your attention."
-msgstr ""
+msgstr "Om ikryssad nya meddelanden som kräver din uppmärksamhet"
#. module: crm
#: field:crm.lead,day_open:0
@@ -961,7 +1020,7 @@ msgstr "Nästa åtgärd"
#: code:addons/crm/crm_lead.py:777
#, python-format
msgid "Partner set to %s."
-msgstr ""
+msgstr "Företag inställd på %s."
#. module: crm
#: selection:crm.lead.report,state:0
@@ -1054,7 +1113,7 @@ msgstr ""
#: code:addons/crm/crm_lead.py:712
#, python-format
msgid "Lead converted into an Opportunity"
-msgstr ""
+msgstr "Kundämne konverterad till affärsmöjlighet"
#. module: crm
#: selection:crm.segmentation.line,expr_name:0
@@ -1069,7 +1128,7 @@ msgstr "År för samtal"
#. module: crm
#: view:crm.lead:0
msgid "Open Leads"
-msgstr ""
+msgstr "Öppna kundämnen"
#. module: crm
#: view:crm.case.stage:0
@@ -1083,7 +1142,7 @@ msgstr "Steg"
#. module: crm
#: view:crm.phonecall.report:0
msgid "Phone Calls that are assigned to me"
-msgstr ""
+msgstr "Telefonsamtal tilldelade till mig"
#. module: crm
#: field:crm.lead,user_login:0
@@ -1093,7 +1152,7 @@ msgstr "Användarinloggning"
#. module: crm
#: view:crm.lead:0
msgid "No salesperson"
-msgstr ""
+msgstr "Ingen säljare"
#. module: crm
#: view:crm.phonecall.report:0
@@ -1120,22 +1179,22 @@ msgstr ""
#. module: crm
#: view:crm.lead:0
msgid "Delete"
-msgstr ""
+msgstr "Ta bort"
#. module: crm
#: model:mail.message.subtype,description:crm.mt_lead_create
msgid "Opportunity created"
-msgstr ""
+msgstr "Affärsmöjlighet skapad"
#. module: crm
#: view:crm.lead:0
msgid "í"
-msgstr ""
+msgstr "í"
#. module: crm
#: view:crm.phonecall:0
msgid "Description..."
-msgstr ""
+msgstr "Beskrivning..."
#. module: crm
#: selection:crm.lead.report,creation_month:0
@@ -1159,6 +1218,20 @@ msgid ""
" \n"
" "
msgstr ""
+" \n"
+" Klicka för att skapa en ny affärsmöjlighet. \n"
+"
\n"
+" OpenERP hjälper dig övervaka din marknadsföringsprocess för att "
+"följa \n"
+" upp potentiella affärer och bättre prognostisera dina framtida "
+"intäkter. \n"
+"
\n"
+" Du kommer att kunna planera möten och telefonsamtal från \n"
+" affärsmöjligheter, omvandla dem till offerter, bifoga relaterade "
+"\n"
+" dokument, spåra alla diskussioner och mycket mer. \n"
+"
\n"
+" "
#. module: crm
#: field:crm.segmentation,partner_id:0
@@ -1177,12 +1250,12 @@ msgstr ""
#. module: crm
#: view:crm.lead:0
msgid "oe_kanban_text_red"
-msgstr ""
+msgstr "oe_kanban_text_red"
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm_payment_mode_act
msgid "Payment Modes"
-msgstr ""
+msgstr "Betalningsmoder"
#. module: crm
#: field:crm.lead.report,opening_date:0
@@ -1233,7 +1306,7 @@ msgstr ""
#: model:mail.message.subtype,name:crm.mt_lead_create
#: model:mail.message.subtype,name:crm.mt_salesteam_lead
msgid "Lead Created"
-msgstr ""
+msgstr "Kundämne skapat"
#. module: crm
#: help:crm.segmentation,sales_purchase_active:0
@@ -1271,7 +1344,7 @@ msgstr "okänd"
#: field:crm.lead,message_is_follower:0
#: field:crm.phonecall,message_is_follower:0
msgid "Is a Follower"
-msgstr ""
+msgstr "Är en följare"
#. module: crm
#: field:crm.opportunity2phonecall,date:0
@@ -1284,7 +1357,7 @@ msgstr "Datum"
#. module: crm
#: model:crm.case.section,name:crm.crm_case_section_4
msgid "Online Support"
-msgstr ""
+msgstr "Nätsupport"
#. module: crm
#: view:crm.lead.report:0
@@ -1320,7 +1393,7 @@ msgstr "Marknadsavdelning"
#: code:addons/crm/crm_lead.py:582
#, python-format
msgid "Merged lead"
-msgstr ""
+msgstr "Sammanfoga kundämnen"
#. module: crm
#: help:crm.lead,section_id:0
@@ -1344,7 +1417,7 @@ msgstr "Sammanslagna affärsmöjligheter"
#. module: crm
#: model:crm.case.categ,name:crm.categ_oppor7
msgid "Consulting"
-msgstr ""
+msgstr "Konsulting"
#. module: crm
#: field:crm.case.section,code:0
diff --git a/addons/hr/i18n/sv.po b/addons/hr/i18n/sv.po
index 1f4d5260e94..2f08a0c9526 100644
--- a/addons/hr/i18n/sv.po
+++ b/addons/hr/i18n/sv.po
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2014-03-19 07:39+0000\n"
+"PO-Revision-Date: 2014-04-02 13:01+0000\n"
"Last-Translator: Anders Wallenquist \n"
"Language-Team: Swedish \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-03-20 06:19+0000\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:01+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: hr
@@ -59,6 +59,9 @@ msgid ""
"128x128px image, with aspect ratio preserved. Use this field in form views "
"or some kanban views."
msgstr ""
+"Medelstort foto av den anställde. Det storleksändras automatiskt till "
+"128x128px , med bildförhållande bevaras. Använd det här fältet i formulär "
+"vyer eller några Kanban vyer."
#. module: hr
#: view:hr.config.settings:0
@@ -155,7 +158,7 @@ msgstr "Fel! Du kan inte skapa rekursiva kategorier."
#. module: hr
#: help:hr.config.settings,module_hr_recruitment:0
msgid "This installs the module hr_recruitment."
-msgstr ""
+msgstr "Detta installerar modulen hr_recruitment."
#. module: hr
#: view:hr.employee:0
@@ -166,12 +169,12 @@ msgstr "Född"
#: model:ir.actions.act_window,name:hr.open_view_categ_form
#: model:ir.ui.menu,name:hr.menu_view_employee_category_form
msgid "Employee Tags"
-msgstr ""
+msgstr "Etiketter på anställda"
#. module: hr
#: view:hr.job:0
msgid "Launch Recruitement"
-msgstr ""
+msgstr "Starta rekrytering"
#. module: hr
#: model:process.transition,name:hr.process_transition_employeeuser0
@@ -201,12 +204,12 @@ msgstr "Meddelanden"
#. module: hr
#: view:hr.config.settings:0
msgid "Talent Management"
-msgstr "Begåvningsutveckling"
+msgstr "Kompetensutveckling"
#. module: hr
#: help:hr.config.settings,module_hr_timesheet_sheet:0
msgid "This installs the module hr_timesheet_sheet."
-msgstr ""
+msgstr "Detta installerar modulen hr_timesheet_sheet."
#. module: hr
#: view:hr.employee:0
@@ -240,7 +243,7 @@ msgstr ""
#. module: hr
#: field:hr.employee,image_medium:0
msgid "Medium-sized photo"
-msgstr ""
+msgstr "Medelstort foto"
#. module: hr
#: field:hr.employee,identification_id:0
@@ -302,6 +305,9 @@ msgid ""
"image, with aspect ratio preserved. Use this field anywhere a small image is "
"required."
msgstr ""
+"Litet foto av den anställde. Det storleksändras automatiskt till 64x64px, "
+"men bildförhållandet bevaras. Använd det här fältet i de fall en liten bild "
+"krävs."
#. module: hr
#: field:hr.employee,birthday:0
@@ -311,12 +317,12 @@ msgstr "Födelsedatum"
#. module: hr
#: help:hr.job,no_of_recruitment:0
msgid "Number of new employees you expect to recruit."
-msgstr ""
+msgstr "Antal nya personer som väntas anställas"
#. module: hr
#: model:ir.actions.client,name:hr.action_client_hr_menu
msgid "Open HR Menu"
-msgstr ""
+msgstr "Öppna personalmenyn"
#. module: hr
#: help:hr.job,message_summary:0
@@ -324,6 +330,8 @@ msgid ""
"Holds the Chatter summary (number of messages, ...). This summary is "
"directly in html format in order to be inserted in kanban views."
msgstr ""
+"Lagrar pladder-sammanfattning (antal meddelanden, ...). Denna sammanfattning "
+"presenteras i html-format för att kunna sättas in i kanban vyer."
#. module: hr
#: help:hr.config.settings,module_account_analytic_analysis:0
@@ -331,6 +339,8 @@ msgid ""
"This installs the module account_analytic_analysis, which will install sales "
"management too."
msgstr ""
+"Detta installerar modulen account_analytic_analysis, vilket kommer att "
+"installera kundorder också."
#. module: hr
#: view:board.board:0
@@ -399,7 +409,7 @@ msgstr "Kontakt för den anställde"
#. module: hr
#: view:hr.employee:0
msgid "e.g. Part Time"
-msgstr ""
+msgstr "eg Deltid"
#. module: hr
#: model:ir.actions.act_window,help:hr.action_hr_job
@@ -423,6 +433,22 @@ msgid ""
" \n"
" "
msgstr ""
+" \n"
+" Klicka för att definiera en ny befattning. \n"
+"
\n"
+" Befattningar används för att definiera arbetsuppgifter och "
+"deras krav. \n"
+" Du kan hålla reda på hur många anställda du har per "
+"befattning \n"
+" och följa utvecklingen efter vad du planerat \n"
+" för framtiden. \n"
+"
\n"
+" Du kan bifoga en enkät till en befattning. Den kommer att "
+"användas i \n"
+" rekryteringsprocessen för att utvärdera sökande till "
+"befattningen. \n"
+"
\n"
+" "
#. module: hr
#: selection:hr.employee,gender:0
@@ -435,26 +461,28 @@ msgid ""
"$('.oe_employee_picture').load(function() { if($(this).width() > "
"$(this).height()) { $(this).addClass('oe_employee_picture_wide') } });"
msgstr ""
+"$('.oe_employee_picture').load(function() { if($(this).width() > "
+"$(this).height()) { $(this).addClass('oe_employee_picture_wide') } });"
#. module: hr
#: help:hr.config.settings,module_hr_evaluation:0
msgid "This installs the module hr_evaluation."
-msgstr ""
+msgstr "Detta installerar modulen hr_evaluation."
#. module: hr
#: constraint:hr.employee:0
msgid "Error! You cannot create recursive hierarchy of Employee(s)."
-msgstr ""
+msgstr "Fel! Rekusriva hierarkier med anställda ej möjligt-"
#. module: hr
#: help:hr.config.settings,module_hr_attendance:0
msgid "This installs the module hr_attendance."
-msgstr ""
+msgstr "Detta installerar modulen hr_attendance"
#. module: hr
#: field:hr.employee,image_small:0
msgid "Smal-sized photo"
-msgstr ""
+msgstr "Litet foto"
#. module: hr
#: view:hr.employee.category:0
@@ -465,12 +493,12 @@ msgstr "Anställningskategori"
#. module: hr
#: field:hr.employee,category_ids:0
msgid "Tags"
-msgstr ""
+msgstr "Etiketter"
#. module: hr
#: help:hr.config.settings,module_hr_contract:0
msgid "This installs the module hr_contract."
-msgstr ""
+msgstr "Detta installerar modulen hr_contract"
#. module: hr
#: view:hr.employee:0
@@ -480,7 +508,7 @@ msgstr "Relaterad användare"
#. module: hr
#: view:hr.config.settings:0
msgid "or"
-msgstr ""
+msgstr "eller"
#. module: hr
#: field:hr.employee.category,name:0
@@ -490,12 +518,12 @@ msgstr "Kategori"
#. module: hr
#: view:hr.job:0
msgid "Stop Recruitment"
-msgstr ""
+msgstr "Avsluta rekryteringen"
#. module: hr
#: field:hr.config.settings,module_hr_attendance:0
msgid "Install attendances feature"
-msgstr ""
+msgstr "Installerar närvarofunktionerna"
#. module: hr
#: help:hr.employee,bank_account_id:0
@@ -520,12 +548,12 @@ msgstr "Kontaktinformation"
#. module: hr
#: field:res.users,employee_ids:0
msgid "Related employees"
-msgstr ""
+msgstr "Relaterade anställda"
#. module: hr
#: field:hr.config.settings,module_hr_holidays:0
msgid "Manage holidays, leaves and allocation requests"
-msgstr ""
+msgstr "Hantera röda dagar, ledighet och jobbönskemål"
#. module: hr
#: field:hr.department,child_ids:0
@@ -552,12 +580,12 @@ msgstr "Anställningskontrakt"
#. module: hr
#: view:hr.config.settings:0
msgid "Contracts"
-msgstr ""
+msgstr "Avtal"
#. module: hr
#: help:hr.job,message_ids:0
msgid "Messages and communication history"
-msgstr ""
+msgstr "Meddelande och kommunikationshistorik"
#. module: hr
#: field:hr.employee,ssnid:0
@@ -567,12 +595,12 @@ msgstr "Personnummer"
#. module: hr
#: field:hr.job,message_is_follower:0
msgid "Is a Follower"
-msgstr ""
+msgstr "Är en följare"
#. module: hr
#: field:hr.config.settings,module_hr_recruitment:0
msgid "Manage the recruitment process"
-msgstr ""
+msgstr "Administrera rekryteringsprocessen"
#. module: hr
#: view:hr.employee:0
@@ -582,12 +610,12 @@ msgstr "Aktiv"
#. module: hr
#: view:hr.config.settings:0
msgid "Human Resources Management"
-msgstr ""
+msgstr "Personaladministration"
#. module: hr
#: view:hr.config.settings:0
msgid "Install your country's payroll"
-msgstr ""
+msgstr "Installera ditt lands lönehantering"
#. module: hr
#: field:hr.employee,bank_account_id:0
@@ -602,7 +630,7 @@ msgstr "Företag"
#. module: hr
#: field:hr.job,message_summary:0
msgid "Summary"
-msgstr ""
+msgstr "Summering"
#. module: hr
#: model:process.transition,note:hr.process_transition_contactofemployee0
@@ -627,21 +655,30 @@ msgid ""
" \n"
" "
msgstr ""
+" \n"
+" Klicka för att lägga till en ny anställd. \n"
+"
\n"
+" Med bara en snabb blick på OpenERP anställdskärmen, \n"
+" kan du lätt hitta all information du behöver för varje "
+"person; \n"
+" kontaktuppgifter, befattning, tillgänglighet etc. \n"
+"
\n"
+" "
#. module: hr
#: view:hr.employee:0
msgid "HR Settings"
-msgstr ""
+msgstr "Personalinställningar"
#. module: hr
#: view:hr.employee:0
msgid "Citizenship & Other Info"
-msgstr ""
+msgstr "Medborgarskap och annan information"
#. module: hr
#: constraint:hr.department:0
msgid "Error! You cannot create recursive departments."
-msgstr ""
+msgstr "Fel! Rekursiv avdelningsstruktur ej tillåten."
#. module: hr
#: field:hr.employee,address_id:0
@@ -651,7 +688,7 @@ msgstr "ArbetsAdress"
#. module: hr
#: view:hr.employee:0
msgid "Public Information"
-msgstr ""
+msgstr "Publik information"
#. module: hr
#: field:hr.employee,marital:0
@@ -666,7 +703,7 @@ msgstr "ir.actions.act_window"
#. module: hr
#: field:hr.employee,last_login:0
msgid "Latest Connection"
-msgstr ""
+msgstr "Senaste kontakt"
#. module: hr
#: field:hr.employee,image:0
@@ -676,7 +713,7 @@ msgstr "Bild"
#. module: hr
#: view:hr.config.settings:0
msgid "Cancel"
-msgstr ""
+msgstr "Avbryt"
#. module: hr
#: model:ir.actions.act_window,help:hr.open_module_tree_department
@@ -691,17 +728,28 @@ msgid ""
" \n"
" "
msgstr ""
+" \n"
+" Klicka för att skapa en avdelning. \n"
+"
\n"
+" OpenERP avdelningsstruktur används för att hantera alla "
+"dokument \n"
+" relaterade till de anställda från avdelningarna: kostnader, "
+"tidrapporter, \n"
+" blad och helgdagar, rekryteringar etc. \n"
+"
\n"
+" "
#. module: hr
#: help:hr.config.settings,module_hr_timesheet:0
msgid "This installs the module hr_timesheet."
-msgstr ""
+msgstr "Detta installerar modulen hr_timesheet."
#. module: hr
#: help:hr.job,expected_employees:0
msgid ""
"Expected number of employees for this job position after new recruitment."
msgstr ""
+"Väntat antal anställda vid denna befattning efter en ny rekryteringsomgång."
#. module: hr
#: model:ir.actions.act_window,help:hr.view_department_form_installer
@@ -716,6 +764,16 @@ msgid ""
" \n"
" "
msgstr ""
+" \n"
+" Klicka för att definiera en ny avdelning. \n"
+"
\n"
+" Din avdelningsstruktur används för att hantera alla "
+"dokument \n"
+" relaterade till de anställda från avdelningarna: kostnader "
+"och tidrapporter, \n"
+" blad och helgdagar, rekryteringar etc. \n"
+"
\n"
+" "
#. module: hr
#: view:hr.employee:0
@@ -740,19 +798,23 @@ msgstr "Arbetsmobil"
#. module: hr
#: selection:hr.job,state:0
msgid "Recruitement in Progress"
-msgstr ""
+msgstr "Rekrytering pågår"
#. module: hr
#: field:hr.config.settings,module_account_analytic_analysis:0
msgid ""
"Allow invoicing based on timesheets (the sale application will be installed)"
msgstr ""
+"Tillåter fakturering baserat på tidrapporter (kundorder-modulen kommer "
+"installeras)"
#. module: hr
#: code:addons/hr/hr.py:221
#, python-format
msgid "Welcome to %s! Please help him/her take the first steps with OpenERP!"
msgstr ""
+"Välkommen till %s! Snälla hjälp honom / henne att ta de första stegen med "
+"OpenERP!"
#. module: hr
#: view:hr.employee.category:0
@@ -772,7 +834,7 @@ msgstr "Administrera tidrapporter"
#. module: hr
#: model:ir.actions.act_window,name:hr.open_payroll_modules
msgid "Payroll"
-msgstr ""
+msgstr "Lön"
#. module: hr
#: selection:hr.employee,marital:0
@@ -792,12 +854,12 @@ msgstr "I befattning"
#. module: hr
#: help:hr.config.settings,module_hr_payroll:0
msgid "This installs the module hr_payroll."
-msgstr ""
+msgstr "Detta installerar modulen hr_payroll"
#. module: hr
#: field:hr.config.settings,module_hr_contract:0
msgid "Record contracts per employee"
-msgstr ""
+msgstr "Registrera avtal per anställd"
#. module: hr
#: view:hr.department:0
@@ -812,7 +874,7 @@ msgstr "Medborgarskap"
#. module: hr
#: view:hr.config.settings:0
msgid "Additional Features"
-msgstr ""
+msgstr "Extra funktioner"
#. module: hr
#: field:hr.employee,notes:0
@@ -822,7 +884,7 @@ msgstr "Anteckningar"
#. module: hr
#: model:ir.actions.act_window,name:hr.action2
msgid "Subordinate Hierarchy"
-msgstr ""
+msgstr "Underordnad hierarki"
#. module: hr
#: field:hr.employee,resource_id:0
@@ -865,23 +927,23 @@ msgstr "Avdelningsnamn"
#. module: hr
#: model:ir.ui.menu,name:hr.menu_hr_reporting_timesheet
msgid "Reports"
-msgstr ""
+msgstr "Rapporter"
#. module: hr
#: field:hr.config.settings,module_hr_payroll:0
msgid "Manage payroll"
-msgstr ""
+msgstr "Lönadministration"
#. module: hr
#: view:hr.config.settings:0
#: model:ir.actions.act_window,name:hr.action_human_resources_configuration
msgid "Configure Human Resources"
-msgstr ""
+msgstr "Konfgiurera personaladministrationen"
#. module: hr
#: selection:hr.job,state:0
msgid "No Recruitment"
-msgstr ""
+msgstr "Ingen rekrytering"
#. module: hr
#: help:hr.employee,ssnid:0
@@ -901,7 +963,7 @@ msgstr "Logga in"
#. module: hr
#: field:hr.job,expected_employees:0
msgid "Total Forecasted Employees"
-msgstr ""
+msgstr "Prognosticerat antal anställda"
#. module: hr
#: help:hr.job,state:0
@@ -909,11 +971,13 @@ msgid ""
"By default 'In position', set it to 'In Recruitment' if recruitment process "
"is going on for this job position."
msgstr ""
+"Som standard 'befattning\", ställ in den på\"Rekrytering pågår\" om "
+"rekryteringsprocessen pågår för denna befattning."
#. module: hr
#: model:ir.model,name:hr.model_res_users
msgid "Users"
-msgstr ""
+msgstr "Användare"
#. module: hr
#: model:ir.actions.act_window,name:hr.action_hr_job
@@ -939,6 +1003,21 @@ msgid ""
" \n"
" "
msgstr ""
+" \n"
+"
\n"
+" Human Resources instrumentpanelen är tomt. \n"
+"
\n"
+" För att lägga till din första rapport i denna "
+"instrumentpanelen, gå till någon \n"
+" meny, växla till lista eller graf visa och klicka "
+"\"Lägg till \n"
+" anslagstavla \" i> i de utökade sökmöjligheter. \n"
+"
\n"
+" Du kan välja och gruppera data innan du sätter in i \n"
+" anslagstavla med sökalternativen. \n"
+"
\n"
+"
\n"
+" "
#. module: hr
#: view:hr.employee:0
@@ -954,12 +1033,12 @@ msgstr "Namnet på befattningen måste vara unikt per bolag!"
#. module: hr
#: help:hr.config.settings,module_hr_expense:0
msgid "This installs the module hr_expense."
-msgstr ""
+msgstr "Detta installerar modulen hr_expense."
#. module: hr
#: model:ir.model,name:hr.model_hr_config_settings
msgid "hr.config.settings"
-msgstr ""
+msgstr "hr.config.settings"
#. module: hr
#: field:hr.department,manager_id:0
@@ -981,4 +1060,4 @@ msgstr "Underordnad"
#. module: hr
#: view:hr.config.settings:0
msgid "Apply"
-msgstr ""
+msgstr "Verkställ"
diff --git a/addons/mail/i18n/sv.po b/addons/mail/i18n/sv.po
index 2706147bd73..a5add364ac0 100644
--- a/addons/mail/i18n/sv.po
+++ b/addons/mail/i18n/sv.po
@@ -9,13 +9,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2014-04-02 02:34+0000\n"
+"PO-Revision-Date: 2014-04-03 05:29+0000\n"
"Last-Translator: Anders Wallenquist \n"
"Language-Team: Svenska \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-04-02 06:44+0000\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:02+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: mail
diff --git a/addons/sale/i18n/sv.po b/addons/sale/i18n/sv.po
index 9c1bdac80bb..8863ff16091 100644
--- a/addons/sale/i18n/sv.po
+++ b/addons/sale/i18n/sv.po
@@ -8,13 +8,13 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME \n"
"POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2014-04-02 02:48+0000\n"
+"PO-Revision-Date: 2014-04-03 05:30+0000\n"
"Last-Translator: Anders Wallenquist \n"
"Language-Team: Swedish \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-04-02 06:44+0000\n"
+"X-Launchpad-Export-Date: 2014-04-03 06:02+0000\n"
"X-Generator: Launchpad (build 16967)\n"
#. module: sale
From 6fca27626a16e2be953d9093713ec7ec8d662ab5 Mon Sep 17 00:00:00 2001
From: Christophe Simonis
Date: Thu, 3 Apr 2014 10:45:24 +0200
Subject: [PATCH 11/11] [FIX] expression: do not double quote column names
bzr revid: chs@openerp.com-20140403084524-9rb174osjrbmhgwc
---
openerp/osv/expression.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/openerp/osv/expression.py b/openerp/osv/expression.py
index 9c70c0f0192..93e28dcccb3 100644
--- a/openerp/osv/expression.py
+++ b/openerp/osv/expression.py
@@ -1039,7 +1039,7 @@ class expression(object):
if self.has_unaccent and sql_operator.endswith('like'):
assert isinstance(right, basestring)
trans_left = 'unaccent(value)'
- left = 'unaccent("%s")' % (left,)
+ left = 'unaccent(%s)' % (left,)
instr = 'unaccent(%s)'
elif sql_operator == 'in':
# params will be flatten by to_sql() => expand the placeholders