Merge pull request #17 from savoirfairelinux/7.0-m2m-context
authorMartin Trigaux <mart-e@users.noreply.github.com>
Mon, 23 Jun 2014 15:41:03 +0000 (17:41 +0200)
committerMartin Trigaux <mart-e@users.noreply.github.com>
Mon, 23 Jun 2014 15:41:03 +0000 (17:41 +0200)
[FIX] view_list: Add context propagation for m2m list view

If the _rec_name field of a model is translatable, the value was not translated when displayed in a list view through a many2many field (e.g. server_action_ids on base.action.rule).

176 files changed:
.bzrignore [deleted file]
.gitignore [new file with mode: 0644]
addons/.bzrignore [deleted file]
addons/account/account.py
addons/account/account_invoice.py
addons/account/account_invoice_view.xml
addons/account/account_move_line.py
addons/account/edi/invoice.py
addons/account/i18n/zh_TW.po
addons/account/partner.py
addons/account/project/report/analytic_balance.sxw [new file with mode: 0644]
addons/account/project/report/analytic_journal.sxw [new file with mode: 0644]
addons/account/project/report/cost_ledger.sxw [new file with mode: 0644]
addons/account/project/report/inverted_analytic_balance.sxw [new file with mode: 0644]
addons/account/project/report/quantity_cost_ledger.sxw [new file with mode: 0644]
addons/account/report/account_aged_partner_balance.py
addons/account/report/account_aged_partner_balance.sxw [new file with mode: 0644]
addons/account/report/account_balance.sxw [new file with mode: 0644]
addons/account/report/account_central_journal.sxw [new file with mode: 0644]
addons/account/report/account_general_journal.sxw [new file with mode: 0644]
addons/account/report/account_general_ledger.sxw [new file with mode: 0644]
addons/account/report/account_general_ledger_landscape.sxw [new file with mode: 0644]
addons/account/report/account_journal.sxw [new file with mode: 0644]
addons/account/report/account_journal_sale_purchase.sxw [new file with mode: 0644]
addons/account/report/account_partner_balance.sxw [new file with mode: 0644]
addons/account/report/account_partner_ledger.sxw [new file with mode: 0644]
addons/account/report/account_partner_ledger_other.sxw [new file with mode: 0644]
addons/account/report/account_print_invoice.sxw [new file with mode: 0644]
addons/account/report/account_print_overdue.sxw [new file with mode: 0644]
addons/account/report/account_tax_report.sxw [new file with mode: 0644]
addons/account_analytic_plans/report/crossovered_analytic.sxw [new file with mode: 0644]
addons/account_budget/account_budget.py
addons/account_budget/i18n/it.po
addons/account_budget/report/analytic_account_budget_report.sxw [new file with mode: 0644]
addons/account_budget/report/budget_report.sxw [new file with mode: 0644]
addons/account_budget/report/crossovered_budget_report.sxw [new file with mode: 0644]
addons/account_check_writing/report/check_print.sxw [new file with mode: 0644]
addons/account_check_writing/report/check_print_bottom.sxw [new file with mode: 0644]
addons/account_check_writing/report/check_print_middle.sxw [new file with mode: 0644]
addons/account_check_writing/report/check_print_top.sxw [new file with mode: 0644]
addons/account_followup/report/account_followup_print.sxw [new file with mode: 0644]
addons/account_payment/report/order.sxw [new file with mode: 0644]
addons/account_report_company/account_report_company.py
addons/account_test/i18n/de.po [new file with mode: 0644]
addons/account_test/report/account_test.sxw [new file with mode: 0644]
addons/account_voucher/report/account_voucher.sxw [new file with mode: 0644]
addons/account_voucher/report/account_voucher_print.sxw [new file with mode: 0644]
addons/account_voucher/voucher_payment_receipt_view.xml
addons/account_voucher/voucher_sales_purchase_view.xml
addons/audittrail/audittrail.py
addons/auth_crypt/auth_crypt.py
addons/auth_oauth/auth_oauth_data.xml
addons/base_action_rule/base_action_rule.py
addons/base_action_rule/base_action_rule_data.xml
addons/delivery/__openerp__.py
addons/delivery/delivery.py
addons/delivery/i18n/tr.po
addons/delivery/report/shipping.sxw [new file with mode: 0644]
addons/delivery/sale.py
addons/delivery/stock.py
addons/delivery/test/delivery_chained_pickings.yml [new file with mode: 0644]
addons/document_page/wizard/document_page_create_menu.py
addons/edi/i18n/ta.po [new file with mode: 0644]
addons/event/report/report_event_registration.py
addons/hr/hr.py
addons/hr/hr_view.xml
addons/hr/static/src/img/default_image.png [new file with mode: 0644]
addons/hr_attendance/report/attendance_errors.sxw [new file with mode: 0644]
addons/hr_expense/report/expense.sxw [new file with mode: 0644]
addons/hr_holidays/hr_holidays.py
addons/hr_holidays/hr_holidays_view.xml
addons/hr_payroll/report/report_contribution_register.sxw [new file with mode: 0644]
addons/hr_payroll/report/report_payslip.sxw [new file with mode: 0644]
addons/hr_payroll/report/report_payslip_details.sxw [new file with mode: 0644]
addons/hr_recruitment/hr_recruitment.py
addons/hr_timesheet_invoice/report/account_analytic_profit.sxw [new file with mode: 0644]
addons/hr_timesheet_sheet/hr_timesheet_sheet_view.xml
addons/l10n_be_invoice_bba/invoice.py
addons/l10n_fr/report/bilan_report.sxw [new file with mode: 0644]
addons/l10n_fr/report/compute_resultant_report.sxw [new file with mode: 0644]
addons/l10n_in_hr_payroll/report/report_hr_salary_employee_bymonth.sxw [new file with mode: 0644]
addons/l10n_in_hr_payroll/report/report_hr_yearly_salary_detail.sxw [new file with mode: 0644]
addons/l10n_in_hr_payroll/report/report_payroll_advice.sxw [new file with mode: 0644]
addons/l10n_in_hr_payroll/report/report_payslip_details.sxw [new file with mode: 0644]
addons/l10n_multilang/account.py
addons/lunch/report/order.sxw [new file with mode: 0644]
addons/mail/i18n/lt.po
addons/mail/mail_message.py
addons/mail/mail_thread.py
addons/marketing_campaign/marketing_campaign.py
addons/mrp/i18n/tr.po
addons/mrp/mrp.py
addons/mrp/report/bom_structure.sxw [new file with mode: 0644]
addons/mrp/report/order.sxw [new file with mode: 0644]
addons/mrp_byproduct/i18n/tr.po
addons/mrp_operations/i18n/tr.po
addons/mrp_repair/i18n/tr.po
addons/pad/static/src/img/pad_link_companies.jpeg [new file with mode: 0644]
addons/point_of_sale/point_of_sale.py
addons/point_of_sale/report/account_statement.sxw [new file with mode: 0644]
addons/point_of_sale/report/all_closed_cashbox_of_the_day.sxw [new file with mode: 0644]
addons/point_of_sale/report/pos_details.sxw [new file with mode: 0644]
addons/point_of_sale/report/pos_details_summary.sxw [new file with mode: 0644]
addons/point_of_sale/report/pos_lines.sxw [new file with mode: 0644]
addons/point_of_sale/report/pos_payment_report_user.sxw [new file with mode: 0644]
addons/point_of_sale/report/pos_receipt.sxw [new file with mode: 0644]
addons/point_of_sale/report/pos_sales_user.sxw [new file with mode: 0644]
addons/point_of_sale/report/pos_sales_user_today.sxw [new file with mode: 0644]
addons/point_of_sale/report/pos_users_product.sxw [new file with mode: 0644]
addons/point_of_sale/static/src/js/db.js
addons/point_of_sale/static/src/js/models.js
addons/point_of_sale/wizard/pos_payment.py
addons/portal/portal_data.xml
addons/procurement/i18n/tr.po
addons/product/i18n/tr.po
addons/product/report/product_pricelist.sxw [new file with mode: 0644]
addons/product_expiry/i18n/tr.po
addons/product_margin/i18n/tr.po
addons/project_issue/i18n/mn.po
addons/project_timesheet/project_timesheet.py
addons/purchase/edi/purchase_order_action_data.xml
addons/purchase/i18n/tr.po
addons/purchase/purchase.py
addons/purchase/report/order.sxw [new file with mode: 0644]
addons/purchase/report/request_quotation.sxw [new file with mode: 0644]
addons/purchase_analytic_plans/i18n/tr.po
addons/purchase_requisition/i18n/tr.po
addons/purchase_requisition/report/purchase_requisition.sxw [new file with mode: 0644]
addons/report_intrastat/report/invoice.sxw [new file with mode: 0644]
addons/report_webkit/webkit_report.py
addons/sale/edi/sale_order.py
addons/sale/i18n/fr_CA.po [new file with mode: 0644]
addons/sale/i18n/tr.po
addons/sale/report/sale_order.sxw [new file with mode: 0644]
addons/sale/sale.py
addons/sale_analytic_plans/i18n/tr.po
addons/sale_journal/i18n/tr.po
addons/sale_margin/i18n/tr.po
addons/sale_stock/i18n/tr.po
addons/sale_stock/sale_stock.py
addons/stock/i18n/hr.po
addons/stock/i18n/nl.po
addons/stock/i18n/tr.po
addons/stock/report/lot_overview.sxw [new file with mode: 0644]
addons/stock/report/lot_overview_all.sxw [new file with mode: 0644]
addons/stock/report/picking.sxw [new file with mode: 0644]
addons/stock/report/stock_inventory_move.sxw [new file with mode: 0644]
addons/stock/stock.py
addons/stock_location/i18n/tr.po
addons/warning/i18n/tr.po
addons/web/static/src/css/base.css
addons/web/static/src/css/base.sass
addons/web/static/src/js/formats.js
addons/web/static/src/js/search.js
addons/web/static/src/js/view_form.js
addons/web/static/src/js/view_list_editable.js
addons/web/static/src/xml/base.xml
addons/web_calendar/static/src/js/calendar.js
addons/web_kanban/static/src/css/kanban.css
addons/web_kanban/static/src/css/kanban.sass
openerp/addons/base/i18n/de.po
openerp/addons/base/i18n/es.po
openerp/addons/base/i18n/nb.po
openerp/addons/base/i18n/vi.po
openerp/addons/base/ir/ir_cron.py
openerp/addons/base/ir/ir_model.py
openerp/addons/base/module/module.py
openerp/addons/base/module/module_view.xml
openerp/addons/base/module/wizard/base_module_upgrade.py
openerp/addons/base/module/wizard/base_module_upgrade_view.xml
openerp/addons/base/res/res_config.py
openerp/addons/base/security/ir.model.access.csv
openerp/osv/fields.py
openerp/osv/orm.py
openerp/report/render/rml2pdf/trml2pdf.py
openerp/tools/misc.py

diff --git a/.bzrignore b/.bzrignore
deleted file mode 100644 (file)
index e7618c7..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-.*.swp
-.bzrignore
-.idea
-.project
-.pydevproject
-.ropeproject
-.settings
-.DS_Store
-openerp/addons/*
-openerp/filestore*
-.Python
-*.pyc
-*.pyo
-bin/*
-build/
-include/
-lib/
-share/
-doc/_build/*
-win32/*.bat
-win32/meta.py
diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..7828a60
--- /dev/null
@@ -0,0 +1,30 @@
+# sphinx build directories
+_build/
+
+# dotfiles
+.*
+!.gitignore
+# compiled python files
+*.py[co]
+# setup.py egg_info
+*.egg-info
+# emacs backup files
+*~
+# hg stuff
+*.orig
+status
+# odoo filestore
+openerp/filestore
+# generated for windows installer?
+install/win32/*.bat
+install/win32/meta.py
+
+# various virtualenv
+/bin/
+/build/
+/dist/
+/include/
+/lib/
+/man/
+/share/
+/src/
diff --git a/addons/.bzrignore b/addons/.bzrignore
deleted file mode 100644 (file)
index 8d98f9d..0000000
+++ /dev/null
@@ -1 +0,0 @@
-.*
index 6368149..a42bab8 100644 (file)
@@ -2067,6 +2067,8 @@ class account_tax(osv.osv):
                 amount = amount2
                 child_tax = self._unit_compute(cr, uid, tax.child_ids, amount, product, partner, quantity)
                 res.extend(child_tax)
+                for child in child_tax:
+                    amount2 += child.get('amount', 0.0)
                 if tax.child_depend:
                     for r in res:
                         for name in ('base','ref_base'):
@@ -2933,7 +2935,7 @@ class account_fiscal_position_template(osv.osv):
         'chart_template_id': fields.many2one('account.chart.template', 'Chart Template', required=True),
         'account_ids': fields.one2many('account.fiscal.position.account.template', 'position_id', 'Account Mapping'),
         'tax_ids': fields.one2many('account.fiscal.position.tax.template', 'position_id', 'Tax Mapping'),
-        'note': fields.text('Notes', translate=True),
+        'note': fields.text('Notes'),
     }
 
     def generate_fiscal_position(self, cr, uid, chart_temp_id, tax_template_ref, acc_template_ref, company_id, context=None):
index 55ba105..afd0077 100644 (file)
@@ -298,7 +298,8 @@ class account_invoice(osv.osv):
             },
             multi='all'),
         'currency_id': fields.many2one('res.currency', 'Currency', required=True, readonly=True, states={'draft':[('readonly',False)]}, track_visibility='always'),
-        'journal_id': fields.many2one('account.journal', 'Journal', required=True, readonly=True, states={'draft':[('readonly',False)]}),
+        'journal_id': fields.many2one('account.journal', 'Journal', required=True, readonly=True, states={'draft':[('readonly',False)]},
+                                      domain="[('type', 'in', {'out_invoice': ['sale'], 'out_refund': ['sale_refund'], 'in_refund': ['purchase_refund'], 'in_invoice': ['purchase']}.get(type, [])), ('company_id', '=', company_id)]"),
         'company_id': fields.many2one('res.company', 'Company', required=True, change_default=True, readonly=True, states={'draft':[('readonly',False)]}),
         'check_total': fields.float('Verification Total', digits_compute=dp.get_precision('Account'), readonly=True, states={'draft':[('readonly',False)]}),
         'reconciled': fields.function(_reconciled, string='Paid/Reconciled', type='boolean',
index 947aad4..2c76811 100644 (file)
@@ -60,7 +60,7 @@
                         </group>
                         <group>
                             <field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '&lt;&gt;', 'view')]" name="account_id" on_change="onchange_account_id(product_id, parent.partner_id, parent.type, parent.fiscal_position,account_id)" groups="account.group_account_user"/>
-                            <field name="invoice_line_tax_id" context="{'type':parent.type}" domain="[('parent_id','=',False),('company_id', '=', parent.company_id)]" widget="many2many_tags"/>
+                            <field name="invoice_line_tax_id" context="{'type':parent.get('type')}" domain="[('parent_id','=',False),('company_id', '=', parent.company_id)]" widget="many2many_tags"/>
                             <field domain="[('type','&lt;&gt;','view'), ('company_id', '=', parent.company_id)]" name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
                             <field name="company_id" groups="base.group_multi_company" readonly="1"/>
                         </group>
index 4da9651..a7fd2ad 100644 (file)
@@ -566,6 +566,9 @@ class account_move_line(osv.osv):
         cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'account_move_line_journal_id_period_id_index\'')
         if not cr.fetchone():
             cr.execute('CREATE INDEX account_move_line_journal_id_period_id_index ON account_move_line (journal_id, period_id)')
+        cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = %s', ('account_move_line_date_id_index',))
+        if not cr.fetchone():
+            cr.execute('CREATE INDEX account_move_line_date_id_index ON account_move_line (date DESC, id desc)')
         return res
 
     def _check_no_view(self, cr, uid, ids, context=None):
index 2c2a754..c82d041 100644 (file)
@@ -21,7 +21,7 @@
 from openerp.osv import osv, fields
 from openerp.addons.edi import EDIMixin
 
-from urllib import urlencode
+from werkzeug import url_encode
 
 INVOICE_LINE_EDI_STRUCT = {
     'name': True,
@@ -274,7 +274,7 @@ class account_invoice(osv.osv, EDIMixin):
                     "no_note": "1",
                     "bn": "OpenERP_Invoice_PayNow_" + inv.currency_id.name,
                 }
-                res[inv.id] = "https://www.paypal.com/cgi-bin/webscr?" + urlencode(params)
+                res[inv.id] = "https://www.paypal.com/cgi-bin/webscr?" + url_encode(params)
         return res
 
     _columns = {
index ffe735e..50641d3 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-14 22:29+0000\n"
-"PO-Revision-Date: 2014-04-28 06:10+0000\n"
+"PO-Revision-Date: 2014-05-12 08:16+0000\n"
 "Last-Translator: Andy Cheng <andy@dobtor.com>\n"
 "Language-Team: Chinese (Traditional) <zh_TW@li.org>\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-29 06:41+0000\n"
-"X-Generator: Launchpad (build 16985)\n"
+"X-Launchpad-Export-Date: 2014-05-13 06:28+0000\n"
+"X-Generator: Launchpad (build 17002)\n"
 
 #. module: account
 #: model:process.transition,name:account.process_transition_supplierreconcilepaid0
@@ -276,6 +276,8 @@ msgid ""
 "sales, purchase, expense, contra, etc.\n"
 "                This installs the module account_voucher."
 msgstr ""
+"此模組包含銀行帳、現今、銷售、費用等分錄所需要的基本功能。\n"
+"                將安裝「account_voucher」模組"
 
 #. module: account
 #: model:ir.actions.act_window,name:account.action_account_use_model_create_entry
index 22d6fce..051c7e8 100644 (file)
@@ -33,7 +33,7 @@ class account_fiscal_position(osv.osv):
         'company_id': fields.many2one('res.company', 'Company'),
         'account_ids': fields.one2many('account.fiscal.position.account', 'position_id', 'Account Mapping'),
         'tax_ids': fields.one2many('account.fiscal.position.tax', 'position_id', 'Tax Mapping'),
-        'note': fields.text('Notes', translate=True),
+        'note': fields.text('Notes'),
     }
 
     _defaults = {
diff --git a/addons/account/project/report/analytic_balance.sxw b/addons/account/project/report/analytic_balance.sxw
new file mode 100644 (file)
index 0000000..cea80fa
Binary files /dev/null and b/addons/account/project/report/analytic_balance.sxw differ
diff --git a/addons/account/project/report/analytic_journal.sxw b/addons/account/project/report/analytic_journal.sxw
new file mode 100644 (file)
index 0000000..de3fa53
Binary files /dev/null and b/addons/account/project/report/analytic_journal.sxw differ
diff --git a/addons/account/project/report/cost_ledger.sxw b/addons/account/project/report/cost_ledger.sxw
new file mode 100644 (file)
index 0000000..dc1c18d
Binary files /dev/null and b/addons/account/project/report/cost_ledger.sxw differ
diff --git a/addons/account/project/report/inverted_analytic_balance.sxw b/addons/account/project/report/inverted_analytic_balance.sxw
new file mode 100644 (file)
index 0000000..99c4987
Binary files /dev/null and b/addons/account/project/report/inverted_analytic_balance.sxw differ
diff --git a/addons/account/project/report/quantity_cost_ledger.sxw b/addons/account/project/report/quantity_cost_ledger.sxw
new file mode 100644 (file)
index 0000000..18bf9af
Binary files /dev/null and b/addons/account/project/report/quantity_cost_ledger.sxw differ
index 3b000e4..b7c2612 100644 (file)
@@ -159,7 +159,7 @@ class aged_trial_report(report_sxw.rml_parse, common_report_header):
                 dates_query += ' < %s)'
                 args_list += (form[str(i)]['stop'],)
             args_list += (self.date_from,)
-            self.cr.execute('''SELECT l.partner_id, SUM(l.debit-l.credit)
+            self.cr.execute('''SELECT l.partner_id, SUM(l.debit-l.credit), l.reconcile_partial_id
                     FROM account_move_line AS l, account_account, account_move am 
                     WHERE (l.account_id = account_account.id) AND (l.move_id=am.id)
                         AND (am.state IN %s)
@@ -171,12 +171,24 @@ class aged_trial_report(report_sxw.rml_parse, common_report_header):
                         AND account_account.active
                         AND ''' + dates_query + '''
                     AND (l.date <= %s)
-                    GROUP BY l.partner_id''', args_list)
-            t = self.cr.fetchall()
-            d = {}
-            for i in t:
-                d[i[0]] = i[1]
-            history.append(d)
+                    GROUP BY l.partner_id, l.reconcile_partial_id''', args_list)
+            partners_partial = self.cr.fetchall()
+            partners_amount = dict((i[0],0) for i in partners_partial)
+            for partner_info in partners_partial:
+                if partner_info[2]:
+                    # in case of partial reconciliation, we want to keep the left amount in the oldest period
+                    self.cr.execute('''SELECT MIN(COALESCE(date_maturity,date)) FROM account_move_line WHERE reconcile_partial_id = %s''', (partner_info[2],))
+                    date = self.cr.fetchall()
+                    if date and args_list[-3] <= date[0][0] <= args_list[-2]:
+                        # partial reconcilation
+                        self.cr.execute('''SELECT SUM(l.debit-l.credit)
+                                           FROM account_move_line AS l
+                                           WHERE l.reconcile_partial_id = %s''', (partner_info[2],))
+                        unreconciled_amount = self.cr.fetchall()
+                        partners_amount[partner_info[0]] += unreconciled_amount[0][0]
+                else:
+                    partners_amount[partner_info[0]] += partner_info[1]
+            history.append(partners_amount)
 
         for partner in partners:
             values = {}
diff --git a/addons/account/report/account_aged_partner_balance.sxw b/addons/account/report/account_aged_partner_balance.sxw
new file mode 100644 (file)
index 0000000..bce27e5
Binary files /dev/null and b/addons/account/report/account_aged_partner_balance.sxw differ
diff --git a/addons/account/report/account_balance.sxw b/addons/account/report/account_balance.sxw
new file mode 100644 (file)
index 0000000..117c0bc
Binary files /dev/null and b/addons/account/report/account_balance.sxw differ
diff --git a/addons/account/report/account_central_journal.sxw b/addons/account/report/account_central_journal.sxw
new file mode 100644 (file)
index 0000000..8fd2b46
Binary files /dev/null and b/addons/account/report/account_central_journal.sxw differ
diff --git a/addons/account/report/account_general_journal.sxw b/addons/account/report/account_general_journal.sxw
new file mode 100644 (file)
index 0000000..631b2e8
Binary files /dev/null and b/addons/account/report/account_general_journal.sxw differ
diff --git a/addons/account/report/account_general_ledger.sxw b/addons/account/report/account_general_ledger.sxw
new file mode 100644 (file)
index 0000000..35c1d0b
Binary files /dev/null and b/addons/account/report/account_general_ledger.sxw differ
diff --git a/addons/account/report/account_general_ledger_landscape.sxw b/addons/account/report/account_general_ledger_landscape.sxw
new file mode 100644 (file)
index 0000000..815a5ad
Binary files /dev/null and b/addons/account/report/account_general_ledger_landscape.sxw differ
diff --git a/addons/account/report/account_journal.sxw b/addons/account/report/account_journal.sxw
new file mode 100644 (file)
index 0000000..5010574
Binary files /dev/null and b/addons/account/report/account_journal.sxw differ
diff --git a/addons/account/report/account_journal_sale_purchase.sxw b/addons/account/report/account_journal_sale_purchase.sxw
new file mode 100644 (file)
index 0000000..19a77de
Binary files /dev/null and b/addons/account/report/account_journal_sale_purchase.sxw differ
diff --git a/addons/account/report/account_partner_balance.sxw b/addons/account/report/account_partner_balance.sxw
new file mode 100644 (file)
index 0000000..d721a9d
Binary files /dev/null and b/addons/account/report/account_partner_balance.sxw differ
diff --git a/addons/account/report/account_partner_ledger.sxw b/addons/account/report/account_partner_ledger.sxw
new file mode 100644 (file)
index 0000000..f08b997
Binary files /dev/null and b/addons/account/report/account_partner_ledger.sxw differ
diff --git a/addons/account/report/account_partner_ledger_other.sxw b/addons/account/report/account_partner_ledger_other.sxw
new file mode 100644 (file)
index 0000000..811bffc
Binary files /dev/null and b/addons/account/report/account_partner_ledger_other.sxw differ
diff --git a/addons/account/report/account_print_invoice.sxw b/addons/account/report/account_print_invoice.sxw
new file mode 100644 (file)
index 0000000..ad2f759
Binary files /dev/null and b/addons/account/report/account_print_invoice.sxw differ
diff --git a/addons/account/report/account_print_overdue.sxw b/addons/account/report/account_print_overdue.sxw
new file mode 100644 (file)
index 0000000..2faddc7
Binary files /dev/null and b/addons/account/report/account_print_overdue.sxw differ
diff --git a/addons/account/report/account_tax_report.sxw b/addons/account/report/account_tax_report.sxw
new file mode 100644 (file)
index 0000000..2153eec
Binary files /dev/null and b/addons/account/report/account_tax_report.sxw differ
diff --git a/addons/account_analytic_plans/report/crossovered_analytic.sxw b/addons/account_analytic_plans/report/crossovered_analytic.sxw
new file mode 100644 (file)
index 0000000..e1c1cc9
Binary files /dev/null and b/addons/account_analytic_plans/report/crossovered_analytic.sxw differ
index daec4ea..c20871e 100644 (file)
@@ -22,6 +22,7 @@
 import datetime
 
 from openerp.osv import fields, osv
+from openerp.tools import ustr
 from openerp.tools.translate import _
 
 import openerp.addons.decimal_precision as dp
@@ -116,7 +117,7 @@ class crossovered_budget_lines(osv.osv):
         for line in self.browse(cr, uid, ids, context=context):
             acc_ids = [x.id for x in line.general_budget_id.account_ids]
             if not acc_ids:
-                raise osv.except_osv(_('Error!'),_("The Budget '%s' has no accounts!") % str(line.general_budget_id.name))
+                raise osv.except_osv(_('Error!'),_("The Budget '%s' has no accounts!") % ustr(line.general_budget_id.name))
             date_to = line.date_to
             date_from = line.date_from
             if context.has_key('wizard_date_from'):
index 90b54d4..babb30b 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2012-12-21 23:00+0000\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"PO-Revision-Date: 2014-05-15 08:00+0000\n"
+"Last-Translator: Davide Corio @ LS <davide.corio@lsweb.it>\n"
 "Language-Team: Italian <it@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 05:58+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2014-05-16 06:43+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: account_budget
 #: view:account.budget.analytic:0
@@ -212,7 +212,7 @@ msgstr "Valore Effettivo"
 #: view:crossovered.budget:0
 #: field:crossovered.budget.lines,practical_amount:0
 msgid "Practical Amount"
-msgstr "Imporo effettivo"
+msgstr "Importo effettivo"
 
 #. module: account_budget
 #: field:crossovered.budget,date_to:0
diff --git a/addons/account_budget/report/analytic_account_budget_report.sxw b/addons/account_budget/report/analytic_account_budget_report.sxw
new file mode 100644 (file)
index 0000000..f248e6e
Binary files /dev/null and b/addons/account_budget/report/analytic_account_budget_report.sxw differ
diff --git a/addons/account_budget/report/budget_report.sxw b/addons/account_budget/report/budget_report.sxw
new file mode 100644 (file)
index 0000000..84ecf3c
Binary files /dev/null and b/addons/account_budget/report/budget_report.sxw differ
diff --git a/addons/account_budget/report/crossovered_budget_report.sxw b/addons/account_budget/report/crossovered_budget_report.sxw
new file mode 100644 (file)
index 0000000..8922113
Binary files /dev/null and b/addons/account_budget/report/crossovered_budget_report.sxw differ
diff --git a/addons/account_check_writing/report/check_print.sxw b/addons/account_check_writing/report/check_print.sxw
new file mode 100644 (file)
index 0000000..98dae7b
Binary files /dev/null and b/addons/account_check_writing/report/check_print.sxw differ
diff --git a/addons/account_check_writing/report/check_print_bottom.sxw b/addons/account_check_writing/report/check_print_bottom.sxw
new file mode 100644 (file)
index 0000000..baf5652
Binary files /dev/null and b/addons/account_check_writing/report/check_print_bottom.sxw differ
diff --git a/addons/account_check_writing/report/check_print_middle.sxw b/addons/account_check_writing/report/check_print_middle.sxw
new file mode 100644 (file)
index 0000000..86e4f28
Binary files /dev/null and b/addons/account_check_writing/report/check_print_middle.sxw differ
diff --git a/addons/account_check_writing/report/check_print_top.sxw b/addons/account_check_writing/report/check_print_top.sxw
new file mode 100644 (file)
index 0000000..f55159d
Binary files /dev/null and b/addons/account_check_writing/report/check_print_top.sxw differ
diff --git a/addons/account_followup/report/account_followup_print.sxw b/addons/account_followup/report/account_followup_print.sxw
new file mode 100644 (file)
index 0000000..6e2da04
Binary files /dev/null and b/addons/account_followup/report/account_followup_print.sxw differ
diff --git a/addons/account_payment/report/order.sxw b/addons/account_payment/report/order.sxw
new file mode 100644 (file)
index 0000000..ac3d65c
Binary files /dev/null and b/addons/account_payment/report/order.sxw differ
index 6915657..fe5d237 100644 (file)
@@ -31,7 +31,7 @@ class res_partner(osv.Model):
         return dict(self.name_get(cr, uid, ids, context=context))
 
     _display_name_store_triggers = {
-        'res.partner': (lambda self,cr,uid,ids,context=None: self.search(cr, uid, [('id','child_of',ids)]),
+        'res.partner': (lambda self,cr,uid,ids,context=None: self.search(cr, uid, [('id','child_of',ids)], context=dict(active_test=False)),
                         ['parent_id', 'is_company', 'name'], 10)
     }
 
diff --git a/addons/account_test/i18n/de.po b/addons/account_test/i18n/de.po
new file mode 100644 (file)
index 0000000..ba590e6
--- /dev/null
@@ -0,0 +1,241 @@
+# German translation for openobject-addons
+# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-06-07 19:36+0000\n"
+"PO-Revision-Date: 2014-05-13 09:38+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: German <de@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2014-05-14 06:20+0000\n"
+"X-Generator: Launchpad (build 17002)\n"
+
+#. module: account_test
+#: view:accounting.assert.test:0
+msgid ""
+"Code should always set a variable named `result` with the result of your "
+"test, that can be a list or\n"
+"a dictionary. If `result` is an empty list, it means that the test was "
+"succesful. Otherwise it will\n"
+"try to translate and print what is inside `result`.\n"
+"\n"
+"If the result of your test is a dictionary, you can set a variable named "
+"`column_order` to choose in\n"
+"what order you want to print `result`'s content.\n"
+"\n"
+"Should you need them, you can also use the following variables into your "
+"code:\n"
+"    * cr: cursor to the database\n"
+"    * uid: ID of the current user\n"
+"\n"
+"In any ways, the code must be legal python statements with correct "
+"indentation (if needed).\n"
+"\n"
+"Example: \n"
+"    sql = '''SELECT id, name, ref, date\n"
+"             FROM account_move_line \n"
+"             WHERE account_id IN (SELECT id FROM account_account WHERE type "
+"= 'view')\n"
+"          '''\n"
+"    cr.execute(sql)\n"
+"    result = cr.dictfetchall()"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,name:account_test.account_test_02
+msgid "Test 2: Opening a fiscal year"
+msgstr "Test2: Eröffnung eines Geschäftsjahres"
+
+#. module: account_test
+#: model:accounting.assert.test,desc:account_test.account_test_05
+msgid ""
+"Check that reconciled invoice for Sales/Purchases has reconciled entries for "
+"Payable and Receivable Accounts"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,desc:account_test.account_test_03
+msgid ""
+"Check if movement lines are balanced and have the same date and period"
+msgstr ""
+
+#. module: account_test
+#: field:accounting.assert.test,name:0
+msgid "Test Name"
+msgstr ""
+
+#. module: account_test
+#: report:account.test.assert.print:0
+msgid "Accouting tests on"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,name:account_test.account_test_01
+msgid "Test 1: General balance"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,desc:account_test.account_test_06
+msgid "Check that paid/reconciled invoices are not in 'Open' state"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,desc:account_test.account_test_05_2
+msgid ""
+"Check that reconciled account moves, that define Payable and Receivable "
+"accounts, are belonging to reconciled invoices"
+msgstr ""
+
+#. module: account_test
+#: view:accounting.assert.test:0
+msgid "Tests"
+msgstr ""
+
+#. module: account_test
+#: field:accounting.assert.test,desc:0
+msgid "Test Description"
+msgstr ""
+
+#. module: account_test
+#: view:accounting.assert.test:0
+msgid "Description"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,desc:account_test.account_test_06_1
+msgid "Check that there's no move for any account with « View » account type"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,name:account_test.account_test_08
+msgid "Test 9 : Accounts and partners on account moves"
+msgstr ""
+
+#. module: account_test
+#: model:ir.actions.act_window,name:account_test.action_accounting_assert
+#: model:ir.actions.report.xml,name:account_test.account_assert_test_report
+#: model:ir.ui.menu,name:account_test.menu_action_license
+msgid "Accounting Tests"
+msgstr ""
+
+#. module: account_test
+#: code:addons/account_test/report/account_test_report.py:74
+#, python-format
+msgid "The test was passed successfully"
+msgstr ""
+
+#. module: account_test
+#: field:accounting.assert.test,active:0
+msgid "Active"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,name:account_test.account_test_06
+msgid "Test 6 : Invoices status"
+msgstr ""
+
+#. module: account_test
+#: model:ir.model,name:account_test.model_accounting_assert_test
+msgid "accounting.assert.test"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,name:account_test.account_test_05
+msgid ""
+"Test 5.1 : Payable and Receivable accountant lines of reconciled invoices"
+msgstr ""
+
+#. module: account_test
+#: field:accounting.assert.test,code_exec:0
+msgid "Python code"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,desc:account_test.account_test_07
+msgid ""
+"Check on bank statement that the Closing Balance = Starting Balance + sum of "
+"statement lines"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,name:account_test.account_test_07
+msgid "Test 8 : Closing balance on bank statements"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,name:account_test.account_test_03
+msgid "Test 3: Movement lines"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,name:account_test.account_test_05_2
+msgid "Test 5.2 : Reconcilied invoices and Payable/Receivable accounts"
+msgstr ""
+
+#. module: account_test
+#: view:accounting.assert.test:0
+msgid "Expression"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,name:account_test.account_test_04
+msgid "Test 4: Totally reconciled mouvements"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,desc:account_test.account_test_04
+msgid "Check if the totally reconciled movements are balanced"
+msgstr ""
+
+#. module: account_test
+#: field:accounting.assert.test,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,desc:account_test.account_test_02
+msgid ""
+"Check if the balance of the new opened fiscal year matches with last year's "
+"balance"
+msgstr ""
+
+#. module: account_test
+#: view:accounting.assert.test:0
+msgid "Python Code"
+msgstr ""
+
+#. module: account_test
+#: model:ir.actions.act_window,help:account_test.action_accounting_assert
+msgid ""
+"<p class=\"oe_view_nocontent_create\">\n"
+"                Click to create Accounting Test.\n"
+"              </p>\n"
+"            "
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,desc:account_test.account_test_01
+msgid "Check the balance: Debit sum = Credit sum"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,desc:account_test.account_test_08
+msgid "Check that general accounts and partners on account moves are active"
+msgstr ""
+
+#. module: account_test
+#: model:accounting.assert.test,name:account_test.account_test_06_1
+msgid "Test 7: « View  » account type"
+msgstr ""
+
+#. module: account_test
+#: view:accounting.assert.test:0
+msgid "Code Help"
+msgstr ""
diff --git a/addons/account_test/report/account_test.sxw b/addons/account_test/report/account_test.sxw
new file mode 100644 (file)
index 0000000..a4047e1
Binary files /dev/null and b/addons/account_test/report/account_test.sxw differ
diff --git a/addons/account_voucher/report/account_voucher.sxw b/addons/account_voucher/report/account_voucher.sxw
new file mode 100644 (file)
index 0000000..9db5937
Binary files /dev/null and b/addons/account_voucher/report/account_voucher.sxw differ
diff --git a/addons/account_voucher/report/account_voucher_print.sxw b/addons/account_voucher/report/account_voucher_print.sxw
new file mode 100644 (file)
index 0000000..452605b
Binary files /dev/null and b/addons/account_voucher/report/account_voucher_print.sxw differ
index 1169d5e..b4578c9 100644 (file)
                                 <field name="writeoff_amount" widget="monetary" options="{'currency_field': 'currency_id'}"/>
                                 <field name="payment_option" required="1" attrs="{'invisible':[('writeoff_amount','=',0)]}"/>
                                 <field name="writeoff_acc_id"
-                                        attrs="{'invisible':['|', ('payment_option','!=','with_writeoff'), ('writeoff_amount','=',0)], 'required':[('payment_option','=','with_writeoff')]}"
+                                        attrs="{'invisible':['|', ('payment_option','!=','with_writeoff'), ('writeoff_amount','=',0)], 'required':[('payment_option','=','with_writeoff'), ('writeoff_amount','!=',0)]}"
                                         domain="[('type','=','other')]"/>
                                 <field name="comment"
                                         attrs="{'invisible':['|', ('payment_option','!=','with_writeoff'), ('writeoff_amount','=',0)]}"/>
index 97f96f7..2dd5383 100644 (file)
                         <page string="Bill Information">
                             <field name="line_dr_ids" on_change="onchange_price(line_dr_ids, tax_id, partner_id)" context="{'journal_id':journal_id,'partner_id':partner_id}">
                                 <tree string="Expense Lines" editable="bottom">
-                                    <field name="account_id" widget="selection" domain="[('user_type.report_type','=','expense'), ('type','!=','view')]"/>
+                                    <field name="account_id" domain="[('user_type.report_type','=','expense'), ('type','!=','view')]"/>
                                     <field name="name"/>
                                     <field name="amount"/>
                                     <field name="account_analytic_id" groups="analytic.group_analytic_accounting"/>
index b68a8e2..b18978a 100644 (file)
@@ -435,6 +435,14 @@ class audittrail_objects_proxy(object_proxy):
                       'old_value_text': key in old_values and old_values[key]['text'].get(field_name)
                 }
                 lines[key].append(data)
+            # On read log add current values for fields.
+            if method == 'read':
+                data={
+                    'name': field_name,
+                    'old_value': key in old_values and old_values[key]['value'].get(field_name),
+                    'old_value_text': key in old_values and old_values[key]['text'].get(field_name)
+                }
+                lines[key].append(data)
         return lines
 
     def process_data(self, cr, uid, pool, res_ids, model, method, old_values=None, new_values=None, field_list=None):
index 4651d27..c5bd579 100644 (file)
@@ -117,10 +117,22 @@ def sh256crypt(cls, password, salt, magic=magic_sha256):
 class res_users(osv.osv):
     _inherit = "res.users"
 
+    def init(self, cr):
+        """Encrypt all passwords at module installation"""
+        cr.execute("SELECT id, password FROM res_users WHERE password IS NOT NULL and password != ''")
+        for user in cr.fetchall():
+            self._set_encrypted_password(cr, user[0], user[1])
+
+    def _set_encrypted_password(self, cr, uid, plain_password):
+        """Set an encrypted password for a given user"""
+        salt = gen_salt()
+        stored_password_crypt = md5crypt(plain_password, salt)
+        cr.execute("UPDATE res_users SET password = '', password_crypt = %s WHERE id = %s",
+                   (stored_password_crypt, uid))
+
     def set_pw(self, cr, uid, id, name, value, args, context):
         if value:
-            encrypted = md5crypt(value, gen_salt())
-            cr.execute("update res_users set password='', password_crypt=%s where id=%s", (encrypted, id))
+            self._set_encrypted_password(cr, id, value)
         del value
 
     def get_pw( self, cr, uid, ids, name, args, context ):
@@ -144,9 +156,7 @@ class res_users(osv.osv):
         if cr.rowcount:
             stored_password, stored_password_crypt = cr.fetchone()
             if stored_password and not stored_password_crypt:
-                salt = gen_salt()
-                stored_password_crypt = md5crypt(stored_password, salt)
-                cr.execute("UPDATE res_users SET password='', password_crypt=%s WHERE id=%s", (stored_password_crypt, uid))
+                self._set_encrypted_password(cr, uid, stored_password)
         try:
             return super(res_users, self).check_credentials(cr, uid, password)
         except openerp.exceptions.AccessDenied:
index 983549f..3889cf2 100644 (file)
@@ -2,13 +2,13 @@
 <openerp>
     <data noupdate="1">
         <record id="provider_openerp" model="auth.oauth.provider">
-            <field name="name">OpenERP.com Accounts</field>
-            <field name="auth_endpoint">https://accounts.openerp.com/oauth2/auth</field>
+            <field name="name">Odoo.com Accounts</field>
+            <field name="auth_endpoint">https://accounts.odoo.com/oauth2/auth</field>
             <field name="scope">userinfo</field>
-            <field name="validation_endpoint">https://accounts.openerp.com/oauth2/tokeninfo</field>
+            <field name="validation_endpoint">https://accounts.odoo.com/oauth2/tokeninfo</field>
             <field name="data_endpoint"></field>
             <field name="css_class">zocial openerp</field>
-            <field name="body">Log in with OpenERP.com</field>
+            <field name="body">Log in with Odoo.com</field>
             <field name="enabled" eval="True"/>
         </record>
         <record id="provider_facebook" model="auth.oauth.provider">
index 37c4980..1b80f9f 100644 (file)
@@ -193,6 +193,7 @@ class base_action_rule(osv.osv):
         """ Wrap the methods `create` and `write` of the models specified by
             the rules given by `ids` (or all existing rules if `ids` is `None`.)
         """
+        updated = False
         if ids is None:
             ids = self.search(cr, SUPERUSER_ID, [])
         for action_rule in self.browse(cr, SUPERUSER_ID, ids):
@@ -202,20 +203,21 @@ class base_action_rule(osv.osv):
                 model_obj.create = self._wrap_create(model_obj.create, model)
                 model_obj.write = self._wrap_write(model_obj.write, model)
                 model_obj.base_action_ruled = True
-        return True
+                updated = True
+        return updated
 
     def create(self, cr, uid, vals, context=None):
         res_id = super(base_action_rule, self).create(cr, uid, vals, context=context)
-        self._register_hook(cr, [res_id])
-        openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname)
+        if self._register_hook(cr, [res_id]):
+            openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname)
         return res_id
 
     def write(self, cr, uid, ids, vals, context=None):
         if isinstance(ids, (int, long)):
             ids = [ids]
         super(base_action_rule, self).write(cr, uid, ids, vals, context=context)
-        self._register_hook(cr, ids)
-        openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname)
+        if self._register_hook(cr, ids):
+            openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname)
         return True
 
     def onchange_model_id(self, cr, uid, ids, model_id, context=None):
@@ -233,7 +235,10 @@ class base_action_rule(osv.osv):
         action_ids = self.search(cr, uid, action_dom, context=context)
         for action in self.browse(cr, uid, action_ids, context=context):
             now = datetime.now()
-            last_run = get_datetime(action.last_run) if action.last_run else False
+            if action.last_run:
+                last_run = get_datetime(action.last_run)
+            else:
+                last_run = datetime.utcfromtimestamp(0)
 
             # retrieve all the records that satisfy the action's condition
             model = self.pool.get(action.model_id.model)
@@ -266,11 +271,16 @@ class base_action_rule(osv.osv):
                 if not record_dt:
                     continue
                 action_dt = get_datetime(record_dt) + delay
-                if last_run and (last_run <= action_dt < now) or (action_dt < now):
+                if last_run <= action_dt < now:
                     try:
+                        context = dict(context or {}, action=True)
                         self._process(cr, uid, action, [record.id], context=context)
                     except Exception:
                         import traceback
                         _logger.error(traceback.format_exc())
 
             action.write({'last_run': now.strftime(DEFAULT_SERVER_DATETIME_FORMAT)})
+
+            if automatic:
+                # auto-commit for batch processing
+                cr.commit()
index 7a9aabe..d4b12f5 100644 (file)
@@ -10,7 +10,7 @@
             <field eval="False" name="doall"/>
             <field eval="'base.action.rule'" name="model"/>
             <field eval="'_check'" name="function"/>
-            <field eval="'()'" name="args"/>
+            <field eval="'(True,)'" name="args"/>
         </record>
 
     </data>
index 0ea891b..dffc156 100644 (file)
@@ -41,7 +41,9 @@ invoices from picking, OpenERP is able to add and compute the shipping line.
         'delivery_data.xml'
     ],
     'demo': ['delivery_demo.xml'],
-    'test': ['test/delivery_cost.yml'],
+    'test': ['test/delivery_cost.yml',
+             'test/delivery_chained_pickings.yml',
+            ],
     'installable': True,
     'auto_install': False,
     'images': ['images/1_delivery_method.jpeg','images/2_delivery_pricelist.jpeg'],
index 15a17b3..c6deb31 100644 (file)
@@ -192,13 +192,14 @@ class delivery_grid(osv.osv):
         total = 0
         weight = 0
         volume = 0
+        product_uom_obj = self.pool.get('product.uom')
         for line in order.order_line:
             if not line.product_id:
                 continue
+            q = product_uom_obj._compute_qty(cr, uid, line.product_uom.id, line.product_uos_qty, line.product_id.uom_id.id)
             total += line.price_subtotal or 0.0
-            weight += (line.product_id.weight or 0.0) * line.product_uom_qty
-            volume += (line.product_id.volume or 0.0) * line.product_uom_qty
-
+            weight += (line.product_id.weight or 0.0) * q
+            volume += (line.product_id.volume or 0.0) * q
 
         return self.get_price_from_picking(cr, uid, id, total,weight, volume, context=context)
 
index 214f49c..8e43993 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2013-07-03 11:40+0000\n"
-"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
+"PO-Revision-Date: 2014-05-12 09:30+0000\n"
+"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:07+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2014-05-13 06:28+0000\n"
+"X-Generator: Launchpad (build 17002)\n"
 
 #. module: delivery
 #: report:sale.shipping:0
@@ -36,12 +36,12 @@ msgstr " bu İşlevde "
 #: view:delivery.carrier:0
 #: view:delivery.grid:0
 msgid "Destination"
-msgstr "Varış yeri"
+msgstr "İstikamet"
 
 #. module: delivery
 #: field:stock.move,weight_net:0
 msgid "Net weight"
-msgstr "Net ağırlık"
+msgstr "Net Ağırlık"
 
 #. module: delivery
 #: model:ir.model,name:delivery.model_delivery_grid_line
@@ -155,7 +155,7 @@ msgstr "Teslim Emri:"
 #. module: delivery
 #: field:delivery.grid.line,variable_factor:0
 msgid "Variable Factor"
-msgstr "Değişken Faktör"
+msgstr "Değişken Faktörü"
 
 #. module: delivery
 #: field:delivery.carrier,amount:0
@@ -472,7 +472,7 @@ msgstr ""
 #. module: delivery
 #: field:delivery.grid.line,max_value:0
 msgid "Maximum Value"
-msgstr "Ençok Değer"
+msgstr "En Çok Değer"
 
 #. module: delivery
 #: report:sale.shipping:0
diff --git a/addons/delivery/report/shipping.sxw b/addons/delivery/report/shipping.sxw
new file mode 100644 (file)
index 0000000..b169a2d
Binary files /dev/null and b/addons/delivery/report/shipping.sxw differ
index da5e8fd..c5ae43a 100644 (file)
@@ -53,7 +53,7 @@ class sale_order(osv.osv):
             if not grid_id:
                 raise osv.except_osv(_('No Grid Available!'), _('No grid matching for this carrier!'))
 
-            if not order.state in ('draft'):
+            if not order.state in ('draft', 'sent'):
                 raise osv.except_osv(_('Order not in Draft State!'), _('The order state have to be draft to add delivery lines.'))
 
             grid = grid_obj.browse(cr, uid, grid_id, context=context)
@@ -72,8 +72,7 @@ class sale_order(osv.osv):
                 'tax_id': [(6,0,taxes_ids)],
                 'type': 'make_to_stock'
             })
-        #remove the value of the carrier_id field on the sale order
-        return self.write(cr, uid, ids, {'carrier_id': False}, context=context)
+        return True
         #return {'type': 'ir.actions.act_window_close'} action reload?
 
 sale_order()
index e96daea..263a476 100644 (file)
@@ -167,6 +167,17 @@ class stock_move(osv.osv):
                             }
         return res
 
+    def _prepare_chained_picking(self, cr, uid, picking_name, picking, picking_type, moves_todo, context=None):
+        values = super(stock_move, self)._prepare_chained_picking(cr, uid, picking_name, picking, picking_type, moves_todo, context=context)
+        if picking.carrier_id:
+            values['carrier_id'] = picking.carrier_id.id
+        values['volume'] = picking.volume
+        values['weight'] = picking.weight
+        values['weight_net'] = picking.weight_net
+        values['carrier_tracking_ref'] = picking.carrier_tracking_ref
+        values['number_of_packages'] = picking.number_of_packages
+        return values
+
     _columns = {
         'weight': fields.function(_cal_move_weight, type='float', string='Weight', digits_compute= dp.get_precision('Stock Weight'), multi='_cal_move_weight',
                   store={
diff --git a/addons/delivery/test/delivery_chained_pickings.yml b/addons/delivery/test/delivery_chained_pickings.yml
new file mode 100644 (file)
index 0000000..1d368e5
--- /dev/null
@@ -0,0 +1,50 @@
+-
+ I setup product and locations
+-
+ !record {model: stock.location, id: dest_chained_location}:
+    name: DestChainedLocation
+    usage: internal
+-
+ !record {model: stock.location, id: source_chained_location}:
+    name: Source Chained Location
+    chained_auto_packing: auto
+    chained_location_type: fixed
+    usage: internal
+    chained_location_id: dest_chained_location
+-
+ I create a picking to location_convenience_shop, which is chained with location_refrigerator
+-
+  !record {model: stock.picking, id: shipment_with_delivery}:
+    type: internal
+    carrier_id: delivery.delivery_carrier
+    volume: 42
+    carrier_tracking_ref: FDX123
+    number_of_packages: 7
+-
+  I add a move in the picking
+-
+  !record {model: stock.move, id: icecream_move}:
+    picking_id: shipment_with_delivery
+    product_id: product_product_delivery
+    product_uom: product.product_uom_kgm
+    product_qty: 130.0
+    location_id: stock.stock_location_suppliers
+    location_dest_id: source_chained_location
+-
+ I confirm the picking
+-
+   !workflow {model: stock.picking, action: button_confirm, ref: shipment_with_delivery}
+-
+ I check that the delivery fields have been propagated to the chained picking
+-
+  !python {model: stock.move}: |
+     original_move = self.browse(cr, uid, ref('icecream_move'), context=context)
+     original_picking = original_move.picking_id
+     chained_move = original_move.move_dest_id
+     chained_picking = chained_move.picking_id
+     assert chained_picking.carrier_tracking_ref == original_picking.carrier_tracking_ref, 'no propagation of carrier_tracking_ref'
+     assert chained_picking.carrier_id == original_picking.carrier_id, 'no propagation of carrier_id'
+     assert chained_picking.volume == original_picking.volume, 'no propagation of volume'
+     assert chained_picking.weight == original_picking.weight, 'no propagation of weight'
+     assert chained_picking.weight_net == original_picking.weight_net, 'no propagation of weight'
+
index 3d99518..3678820 100644 (file)
@@ -70,7 +70,7 @@ class document_page_create_menu(osv.osv_memory):
         value['domain'] = "[('parent_id','=',%d)]" % (page.id)
         value['res_id'] = page.id
 
-        action_id = obj_action.create(cr, uid, value)
+        action_id = obj_action.create(cr, SUPERUSER_ID, value)
         # only the super user is allowed to create menu due to security rules on ir.values
         menu_id = obj_menu.create(cr, SUPERUSER_ID, {
                         'name': data.menu_name,
diff --git a/addons/edi/i18n/ta.po b/addons/edi/i18n/ta.po
new file mode 100644 (file)
index 0000000..7764550
--- /dev/null
@@ -0,0 +1,87 @@
+# Tamil translation for openobject-addons
+# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-06-07 19:37+0000\n"
+"PO-Revision-Date: 2014-05-13 08:27+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: Tamil <ta@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2014-05-14 06:20+0000\n"
+"X-Generator: Launchpad (build 17002)\n"
+
+#. module: edi
+#. openerp-web
+#: code:addons/edi/static/src/js/edi.js:67
+#, python-format
+msgid "Reason:"
+msgstr ""
+
+#. module: edi
+#. openerp-web
+#: code:addons/edi/static/src/js/edi.js:60
+#, python-format
+msgid "The document has been successfully imported!"
+msgstr ""
+
+#. module: edi
+#. openerp-web
+#: code:addons/edi/static/src/js/edi.js:65
+#, python-format
+msgid "Sorry, the document could not be imported."
+msgstr ""
+
+#. module: edi
+#: model:ir.model,name:edi.model_res_company
+msgid "Companies"
+msgstr ""
+
+#. module: edi
+#: model:ir.model,name:edi.model_res_currency
+msgid "Currency"
+msgstr ""
+
+#. module: edi
+#. openerp-web
+#: code:addons/edi/static/src/js/edi.js:71
+#, python-format
+msgid "Document Import Notification"
+msgstr ""
+
+#. module: edi
+#: code:addons/edi/models/edi.py:130
+#, python-format
+msgid "Missing application."
+msgstr ""
+
+#. module: edi
+#: code:addons/edi/models/edi.py:131
+#, python-format
+msgid ""
+"The document you are trying to import requires the OpenERP `%s` application. "
+"You can install it by connecting as the administrator and opening the "
+"configuration assistant."
+msgstr ""
+
+#. module: edi
+#: code:addons/edi/models/edi.py:47
+#, python-format
+msgid "'%s' is an invalid external ID"
+msgstr ""
+
+#. module: edi
+#: model:ir.model,name:edi.model_res_partner
+msgid "Partner"
+msgstr ""
+
+#. module: edi
+#: model:ir.model,name:edi.model_edi_edi
+msgid "EDI Subsystem"
+msgstr ""
index 595d394..e29565f 100644 (file)
@@ -37,7 +37,7 @@ class report_event_registration(osv.osv):
         'draft_state': fields.integer(' # No of Draft Registrations', size=20),
         'confirm_state': fields.integer(' # No of Confirmed Registrations', size=20),
         'register_max': fields.integer('Maximum Registrations'),
-        'nbevent': fields.integer('Number Of Events'),
+        'nbevent': fields.integer('Number of Registrations'),
         'event_type': fields.many2one('event.type', 'Event Type'),
         'registration_state': fields.selection([('draft', 'Draft'), ('confirm', 'Confirmed'), ('done', 'Attended'), ('cancel', 'Cancelled')], 'Registration State', readonly=True, required=True),
         'event_state': fields.selection([('draft', 'Draft'), ('confirm', 'Confirmed'), ('done', 'Done'), ('cancel', 'Cancelled')], 'Event State', readonly=True, required=True),
@@ -68,7 +68,7 @@ class report_event_registration(osv.osv):
                 to_char(e.date_begin, 'YYYY-MM-DD') AS event_date,
                 to_char(e.date_begin, 'YYYY') AS year,
                 to_char(e.date_begin, 'MM') AS month,
-                count(e.id) AS nbevent,
+                count(r.id) AS nbevent,
                 CASE WHEN r.state IN ('draft') THEN r.nb_register ELSE 0 END AS draft_state,
                 CASE WHEN r.state IN ('open','done') THEN r.nb_register ELSE 0 END AS confirm_state,
                 e.type AS event_type,
index 0b1da11..dbb20cc 100644 (file)
@@ -196,7 +196,7 @@ class hr_employee(osv.osv):
                  "resized as a 128x128px image, with aspect ratio preserved. "\
                  "Use this field in form views or some kanban views."),
         'image_small': fields.function(_get_image, fnct_inv=_set_image,
-            string="Smal-sized photo", type="binary", multi="_get_image",
+            string="Small-sized photo", type="binary", multi="_get_image",
             store = {
                 'hr.employee': (lambda self, cr, uid, ids, c={}: ids, ['image'], 10),
             },
index 3e79c0c..0d90d5d 100644 (file)
@@ -35,7 +35,9 @@
                             <page string="Public Information">
                                 <group>
                                     <group string="Contact Information">
-                                        <field name="address_id" on_change="onchange_address_id(address_id)" context="{'show_address': 1}" options='{"always_reload": True, "highlight_first_line": True}'/>
+                                        <field name="address_id" on_change="onchange_address_id(address_id)"
+                                            context="{'show_address': 1, 'default_customer': False}"
+                                            options='{"always_reload": True, "highlight_first_line": True}'/>
                                         <field name="work_email" widget="email"/>
                                         <field name="work_phone"/>
                                         <field name="mobile_phone"/>
@@ -64,7 +66,9 @@
                                         <field name="otherid" groups="base.group_hr_user"/>
                                     </group>
                                     <group string="Contact Information">
-                                        <field name="address_home_id" context="{'show_address': 1}" options='{"always_reload": True, "highlight_first_line": True}'/>
+                                        <field name="address_home_id"
+                                            context="{'show_address': 1, 'default_customer': False}"
+                                            options='{"always_reload": True, "highlight_first_line": True}'/>
                                     </group>
                                     <group string="Status">
                                         <field name="gender"/>
diff --git a/addons/hr/static/src/img/default_image.png b/addons/hr/static/src/img/default_image.png
new file mode 100644 (file)
index 0000000..87fdbc5
Binary files /dev/null and b/addons/hr/static/src/img/default_image.png differ
diff --git a/addons/hr_attendance/report/attendance_errors.sxw b/addons/hr_attendance/report/attendance_errors.sxw
new file mode 100644 (file)
index 0000000..1faeca3
Binary files /dev/null and b/addons/hr_attendance/report/attendance_errors.sxw differ
diff --git a/addons/hr_expense/report/expense.sxw b/addons/hr_expense/report/expense.sxw
new file mode 100644 (file)
index 0000000..ac31b2d
Binary files /dev/null and b/addons/hr_expense/report/expense.sxw differ
index 07d4995..6a55403 100644 (file)
@@ -104,7 +104,7 @@ class hr_holidays_status(osv.osv):
         for record in self.browse(cr, uid, ids, context=context):
             name = record.name
             if not record.limit:
-                name = name + ('  (%d/%d)' % (record.leaves_taken or 0.0, record.max_leaves or 0.0))
+                name = name + ('  (%g/%g)' % (record.leaves_taken or 0.0, record.max_leaves or 0.0))
             res.append((record.id, name))
         return res
 
index c39adcb..7c5db33 100644 (file)
                 <sheet string="Leave Request">
                     <group>
                         <group>
+                            <field name="type" invisible="1"/>
                             <field name="name" attrs="{'readonly':[('state','!=','draft'),('state','!=','confirm')]}"/>
                             <field name="holiday_status_id" context="{'employee_id':employee_id}"/>
                             <label for="number_of_days_temp" string="Duration" help="The default duration interval between the start date and the end date is 8 hours.  Feel free to adapt it to your needs."/>
                             <div>
                                 <group col="3">
-                                    <field name="date_from" nolabel="1" on_change="onchange_date_from(date_to, date_from)" required="1" class="oe_inline"/><label string="-" class="oe_inline"/>
-                                    <field name="date_to" nolabel="1" on_change="onchange_date_to(date_to, date_from)" required="1" class="oe_inline"/>
+                                    <field name="date_from" nolabel="1" on_change="onchange_date_from(date_to, date_from)"
+                                        attrs="{'required': [('type', '=', 'remove')]}" class="oe_inline"/><label string="-" class="oe_inline"/>
+                                    <field name="date_to" nolabel="1" on_change="onchange_date_to(date_to, date_from)"
+                                        attrs="{'required': [('type', '=', 'remove')]}" class="oe_inline"/>
                                 </group>
                                 <div>
                                     <field name="number_of_days_temp" class="oe_inline"/> days
diff --git a/addons/hr_payroll/report/report_contribution_register.sxw b/addons/hr_payroll/report/report_contribution_register.sxw
new file mode 100644 (file)
index 0000000..01cef63
Binary files /dev/null and b/addons/hr_payroll/report/report_contribution_register.sxw differ
diff --git a/addons/hr_payroll/report/report_payslip.sxw b/addons/hr_payroll/report/report_payslip.sxw
new file mode 100644 (file)
index 0000000..1c5b7fc
Binary files /dev/null and b/addons/hr_payroll/report/report_payslip.sxw differ
diff --git a/addons/hr_payroll/report/report_payslip_details.sxw b/addons/hr_payroll/report/report_payslip_details.sxw
new file mode 100644 (file)
index 0000000..ad84d76
Binary files /dev/null and b/addons/hr_payroll/report/report_payslip_details.sxw differ
index 5b798dc..b845841 100644 (file)
@@ -127,6 +127,15 @@ class hr_applicant(base_stage, osv.Model):
                 return int(department_ids[0][0])
         return None
 
+    def _get_default_company_id(self, cr, uid, department_id=None, context=None):
+        company_id = False
+        if department_id:
+            department = self.pool['hr.department'].browse(cr,  uid, department_id, context=context)
+            company_id = department.company_id.id if department and department.company_id else False
+        if not company_id:
+            company_id = self.pool['res.company']._company_default_get(cr, uid, 'hr.applicant', context=context)
+        return company_id            
+
     def _read_group_stage_ids(self, cr, uid, ids, domain, read_group_order=None, access_rights_uid=None, context=None):
         access_rights_uid = access_rights_uid or uid
         stage_obj = self.pool.get('hr.recruitment.stage')
@@ -244,7 +253,7 @@ class hr_applicant(base_stage, osv.Model):
         'email_from': lambda s, cr, uid, c: s._get_default_email(cr, uid, c),
         'stage_id': lambda s, cr, uid, c: s._get_default_stage_id(cr, uid, c),
         'department_id': lambda s, cr, uid, c: s._get_default_department_id(cr, uid, c),
-        'company_id': lambda s, cr, uid, c: s.pool.get('res.company')._company_default_get(cr, uid, 'hr.applicant', context=c),
+        'company_id': lambda s, cr, uid, c: s._get_default_company_id(cr, uid, s._get_default_department_id(cr, uid, c), c),
         'color': 0,
     }
 
diff --git a/addons/hr_timesheet_invoice/report/account_analytic_profit.sxw b/addons/hr_timesheet_invoice/report/account_analytic_profit.sxw
new file mode 100644 (file)
index 0000000..dbd77e8
Binary files /dev/null and b/addons/hr_timesheet_invoice/report/account_analytic_profit.sxw differ
index 644586e..1b4f733 100644 (file)
                         </page>
                         <page string="Attendances" groups="base.group_hr_attendance">
                             <group>
-                                <field context="{'employee_id': employee_id, 'user_id':user_id}" name="attendances_ids" nolabel="1">
+                                <field context="{'default_employee_id': employee_id, 'user_id':user_id}" name="attendances_ids" nolabel="1">
                                     <tree string="Attendances" editable="bottom">
                                         <field name="name"/>
                                         <field name="action"/>
index 854593a..499e6e6 100644 (file)
@@ -141,7 +141,7 @@ class account_invoice(osv.osv):
                 elif algorithm == 'random':\r
                     if not self.check_bbacomm(reference):\r
                         base = random.randint(1, 9999999999)\r
-                        bbacomm = str(base).rjust(7, '0')\r
+                        bbacomm = str(base).rjust(10, '0')\r
                         base = int(bbacomm)\r
                         mod = base % 97 or 97\r
                         mod = str(mod).rjust(2, '0')\r
diff --git a/addons/l10n_fr/report/bilan_report.sxw b/addons/l10n_fr/report/bilan_report.sxw
new file mode 100644 (file)
index 0000000..45b8476
Binary files /dev/null and b/addons/l10n_fr/report/bilan_report.sxw differ
diff --git a/addons/l10n_fr/report/compute_resultant_report.sxw b/addons/l10n_fr/report/compute_resultant_report.sxw
new file mode 100644 (file)
index 0000000..69ec388
Binary files /dev/null and b/addons/l10n_fr/report/compute_resultant_report.sxw differ
diff --git a/addons/l10n_in_hr_payroll/report/report_hr_salary_employee_bymonth.sxw b/addons/l10n_in_hr_payroll/report/report_hr_salary_employee_bymonth.sxw
new file mode 100644 (file)
index 0000000..4eb40f3
Binary files /dev/null and b/addons/l10n_in_hr_payroll/report/report_hr_salary_employee_bymonth.sxw differ
diff --git a/addons/l10n_in_hr_payroll/report/report_hr_yearly_salary_detail.sxw b/addons/l10n_in_hr_payroll/report/report_hr_yearly_salary_detail.sxw
new file mode 100644 (file)
index 0000000..e1a6f01
Binary files /dev/null and b/addons/l10n_in_hr_payroll/report/report_hr_yearly_salary_detail.sxw differ
diff --git a/addons/l10n_in_hr_payroll/report/report_payroll_advice.sxw b/addons/l10n_in_hr_payroll/report/report_payroll_advice.sxw
new file mode 100644 (file)
index 0000000..46b3596
Binary files /dev/null and b/addons/l10n_in_hr_payroll/report/report_payroll_advice.sxw differ
diff --git a/addons/l10n_in_hr_payroll/report/report_payslip_details.sxw b/addons/l10n_in_hr_payroll/report/report_payslip_details.sxw
new file mode 100644 (file)
index 0000000..782297d
Binary files /dev/null and b/addons/l10n_in_hr_payroll/report/report_payslip_details.sxw differ
index 4cb0e28..cf9e566 100644 (file)
@@ -78,6 +78,7 @@ class account_fiscal_position(osv.osv):
     _inherit = 'account.fiscal.position'
     _columns = {
         'name': fields.char('Fiscal Position', size=64, required=True, translate=True),
+        'note': fields.text('Notes', translate=True),
     }
 account_fiscal_position()
 
@@ -86,6 +87,7 @@ class account_fiscal_position_template(osv.osv):
     _inherit = 'account.fiscal.position.template'
     _columns = {
         'name': fields.char('Fiscal Position Template', size=64, required=True, translate=True),
+        'note': fields.text('Notes', translate=True),
     }
 account_fiscal_position_template()
 
diff --git a/addons/lunch/report/order.sxw b/addons/lunch/report/order.sxw
new file mode 100644 (file)
index 0000000..c8ec7ac
Binary files /dev/null and b/addons/lunch/report/order.sxw differ
index 60839dc..95245e5 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2014-05-09 10:30+0000\n"
+"PO-Revision-Date: 2014-05-13 07:02+0000\n"
 "Last-Translator: Andrius Preimantas @ hbee <andrius.preimantas@gmail.com>\n"
 "Language-Team: Lithuanian <lt@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-05-10 07:55+0000\n"
-"X-Generator: Launchpad (build 16996)\n"
+"X-Launchpad-Export-Date: 2014-05-14 06:20+0000\n"
+"X-Generator: Launchpad (build 17002)\n"
 
 #. module: mail
 #: view:mail.followers:0
@@ -367,7 +367,7 @@ msgstr "Atsakyti (kam)"
 #: code:addons/mail/wizard/invite.py:37
 #, python-format
 msgid "<div>You have been invited to follow %s.</div>"
-msgstr "<div>Jūs buvote pakviesta užsiprenumeruoti %s.</div>"
+msgstr "<div>Jūs buvote pakviestas(-a) užsiprenumeruoti %s.</div>"
 
 #. module: mail
 #. openerp-web
index 4280983..3f491df 100644 (file)
@@ -881,9 +881,11 @@ class mail_message(osv.Model):
             fol_ids = fol_obj.search(cr, SUPERUSER_ID, [
                 ('res_model', '=', message.model),
                 ('res_id', '=', message.res_id),
-                ('subtype_ids', 'in', message.subtype_id.id)
                 ], context=context)
-            partners_to_notify |= set(fo.partner_id for fo in fol_obj.browse(cr, SUPERUSER_ID, fol_ids, context=context))
+            partners_to_notify |= set(
+                fo.partner_id for fo in fol_obj.browse(cr, SUPERUSER_ID, fol_ids, context=context)
+                if message.subtype_id.id in [st.id for st in fo.subtype_ids]
+            )
         # remove me from notified partners, unless the message is written on my own wall
         if message.author_id and message.model == "res.partner" and message.res_id == message.author_id.id:
             partners_to_notify |= set([message.author_id])
index 90ae3cf..942dadd 100644 (file)
@@ -780,7 +780,14 @@ class mail_thread(osv.AbstractModel):
         body = u''
         if save_original:
             attachments.append(('original_email.eml', message.as_string()))
-        if not message.is_multipart() or 'text/' in message.get('content-type', ''):
+
+        # Be careful, content-type may contain tricky content like in the
+        # following example so test the MIME type with startswith()
+        #
+        # Content-Type: multipart/related;
+        #   boundary="_004_3f1e4da175f349248b8d43cdeb9866f1AMSPR06MB343eurprd06pro_";
+        #   type="text/html"
+        if not message.is_multipart() or message.get('content-type', '').startswith("text/"):
             encoding = message.get_content_charset()
             body = message.get_payload(decode=True)
             body = tools.ustr(body, encoding, errors='replace')
index d4b05c5..6a3c4de 100644 (file)
@@ -494,11 +494,9 @@ class marketing_campaign_activity(osv.osv):
                               active_ids=[workitem.res_id],
                               active_model=workitem.object_id.model,
                               workitem=workitem)
-        res = server_obj.run(cr, uid, [activity.server_action_id.id],
+        server_obj.run(cr, uid, [activity.server_action_id.id],
                              context=action_context)
-        # server action return False if the action is performed
-        # except client_action, other and python code
-        return res == False and True or res
+        return True
 
     def process(self, cr, uid, act_id, wi_id, context=None):
         activity = self.browse(cr, uid, act_id, context=context)
index 61867b6..ef25302 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2013-11-28 21:23+0000\n"
+"PO-Revision-Date: 2014-05-12 09:31+0000\n"
 "Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-29 05:30+0000\n"
-"X-Generator: Launchpad (build 16847)\n"
+"X-Launchpad-Export-Date: 2014-05-13 06:28+0000\n"
+"X-Generator: Launchpad (build 17002)\n"
 
 #. module: mrp
 #: help:mrp.config.settings,module_mrp_repair:0
@@ -56,7 +56,7 @@ msgstr "İş Merkezi Kullanımı"
 #. module: mrp
 #: view:mrp.routing.workcenter:0
 msgid "Routing Work Centers"
-msgstr "İş Merkezleri Yönlendirme"
+msgstr "İş Merkezlerine Yönlendirme"
 
 #. module: mrp
 #: field:mrp.production.workcenter.line,cycle:0
@@ -83,7 +83,7 @@ msgstr "Saat Maliyeti"
 #. module: mrp
 #: view:mrp.production:0
 msgid "Scrap Products"
-msgstr "Hurda Ürünler"
+msgstr "Fire Ürünler"
 
 #. module: mrp
 #: view:mrp.workcenter:0
@@ -159,7 +159,7 @@ msgstr ""
 #: model:process.transition,name:mrp.process_transition_servicerfq0
 #: model:process.transition,name:mrp.process_transition_stockrfq0
 msgid "To Buy"
-msgstr "Satınalınır"
+msgstr "Satınalma"
 
 #. module: mrp
 #: model:process.transition,note:mrp.process_transition_purchaseprocure0
@@ -236,7 +236,7 @@ msgstr "İş Maliyeti"
 #. module: mrp
 #: model:process.transition,name:mrp.process_transition_procureserviceproduct0
 msgid "Procurement of services"
-msgstr "Hizmet tedariki"
+msgstr "Hizmet alımları"
 
 #. module: mrp
 #: view:mrp.workcenter:0
@@ -498,7 +498,7 @@ msgstr ""
 #. module: mrp
 #: model:ir.actions.act_window,name:mrp.action_report_in_out_picking_tree
 msgid "Weekly Stock Value Variation"
-msgstr "Haftalık Stok Değeri Farkları"
+msgstr "Haftalık Stok Değer Farkları"
 
 #. module: mrp
 #: model:ir.actions.act_window,help:mrp.mrp_property_action
@@ -568,12 +568,12 @@ msgstr ""
 #. module: mrp
 #: view:board.board:0
 msgid "Stock Value Variation"
-msgstr "Stok Değeri Çeşitliliği"
+msgstr "Stok Değer Çeşitliliği"
 
 #. module: mrp
 #: model:ir.actions.act_window,name:mrp.action2
 msgid "Bill of Materials Structure"
-msgstr "Ürün Ağacı Yapısı"
+msgstr "Ürün Ağac Yapısı"
 
 #. module: mrp
 #: model:process.node,note:mrp.process_node_serviceproduct0
@@ -593,7 +593,7 @@ msgstr "Üretim ayrıştırma"
 #. module: mrp
 #: model:process.node,note:mrp.process_node_serviceproduct1
 msgid "For Services."
-msgstr "Hizmetler için."
+msgstr "Hizmetler İçin."
 
 #. module: mrp
 #: model:process.node,note:mrp.process_node_orderrfq0
@@ -638,7 +638,7 @@ msgstr "Üretim Konumu"
 #. module: mrp
 #: view:mrp.production:0
 msgid "Force Reservation"
-msgstr "Rezerveye Zorla"
+msgstr "Rezerve Zorla"
 
 #. module: mrp
 #: field:report.mrp.inout,value:0
@@ -648,7 +648,7 @@ msgstr "Stok değeri"
 #. module: mrp
 #: model:ir.actions.act_window,name:mrp.action_product_bom_structure
 msgid "Product BoM Structure"
-msgstr "Ürünün Ürün Ağacı Yapısı"
+msgstr "Ürünün BoM Yapısı"
 
 #. module: mrp
 #: view:mrp.production:0
@@ -664,12 +664,12 @@ msgstr "Rota İş Merkezlerinin listesini gösterirken sıra numarası verir"
 #. module: mrp
 #: field:mrp.bom,child_complete_ids:0
 msgid "BoM Hierarchy"
-msgstr "Ürün Ağacı Sıradüzeni"
+msgstr "BoM Sıradüzeni"
 
 #. module: mrp
 #: model:process.transition,name:mrp.process_transition_stockproduction0
 msgid "To Produce"
-msgstr "Üretilir"
+msgstr "Üretiliyor"
 
 #. module: mrp
 #: help:mrp.config.settings,module_stock_no_autopicking:0
@@ -701,7 +701,7 @@ msgstr "Toplama İstisnası"
 #. module: mrp
 #: field:mrp.bom,bom_lines:0
 msgid "BoM Lines"
-msgstr "Ürün Ağacı Kalemleri"
+msgstr "BoM Satırları"
 
 #. module: mrp
 #: field:mrp.workcenter,time_start:0
@@ -727,7 +727,7 @@ msgstr "Malzeme Rotası"
 #: field:mrp.production,move_lines2:0
 #: report:mrp.production.order:0
 msgid "Consumed Products"
-msgstr "Tüketilen Ürünler"
+msgstr "Sarfedilen Ürünler"
 
 #. module: mrp
 #: model:ir.actions.act_window,name:mrp.action_mrp_workcenter_load_wizard
@@ -740,7 +740,7 @@ msgstr "İş Merkezi Yükü"
 #: code:addons/mrp/procurement.py:55
 #, python-format
 msgid "No BoM defined for this product !"
-msgstr "Bu ürün için herhangi bir Ürün Ağacı tanımlanmadı !"
+msgstr "Bu ürün için herhangi bir BoM tanımlanmadı !"
 
 #. module: mrp
 #: model:ir.actions.act_window,name:mrp.mrp_bom_form_action2
@@ -994,7 +994,7 @@ msgstr "Üretim Emri"
 #. module: mrp
 #: model:process.transition,name:mrp.process_transition_productionprocureproducts0
 msgid "Procurement of raw material"
-msgstr "Ham malzeme tedariki"
+msgstr "Hammade tedariği"
 
 #. module: mrp
 #: sql_constraint:mrp.bom:0
@@ -1063,7 +1063,7 @@ msgstr ""
 #. module: mrp
 #: field:mrp.bom,type:0
 msgid "BoM Type"
-msgstr "Ürün Ağacı Türü"
+msgstr "BoM Türü"
 
 #. module: mrp
 #: code:addons/mrp/procurement.py:57
@@ -1077,7 +1077,7 @@ msgstr ""
 #. module: mrp
 #: view:mrp.property:0
 msgid "Search"
-msgstr "Ara"
+msgstr "Arama"
 
 #. module: mrp
 #: model:process.node,note:mrp.process_node_billofmaterial0
@@ -1087,7 +1087,7 @@ msgstr "Ürünün yapısı"
 #. module: mrp
 #: model:ir.model,name:mrp.model_res_company
 msgid "Companies"
-msgstr "Şirketler"
+msgstr "Firmalar"
 
 #. module: mrp
 #: code:addons/mrp/mrp.py:634
@@ -1102,7 +1102,7 @@ msgstr ""
 #: model:process.node,name:mrp.process_node_minimumstockrule0
 #: model:process.node,name:mrp.process_node_productminimumstockrule0
 msgid "Minimum Stock"
-msgstr "Enaz Stok"
+msgstr "En Az Stok"
 
 #. module: mrp
 #: code:addons/mrp/report/price.py:160
@@ -1153,7 +1153,7 @@ msgstr "Üretim Planı."
 #: view:mrp.routing:0
 #: view:mrp.workcenter:0
 msgid "Inactive"
-msgstr "Etkin Değil"
+msgstr "Pasif"
 
 #. module: mrp
 #: view:change.production.qty:0
@@ -1176,7 +1176,7 @@ msgstr ""
 #. module: mrp
 #: view:mrp.production:0
 msgid "Late"
-msgstr "Son"
+msgstr "Geçiken"
 
 #. module: mrp
 #: model:process.node,name:mrp.process_node_servicemts0
@@ -1186,7 +1186,7 @@ msgstr "Stoğa Üretim"
 #. module: mrp
 #: report:bom.structure:0
 msgid "BOM Name"
-msgstr "Ürün Ağacı Adı"
+msgstr "BOM Adı"
 
 #. module: mrp
 #: model:ir.actions.act_window,name:mrp.act_product_manufacturing_open
@@ -1200,7 +1200,7 @@ msgstr "Üretim Emirleri"
 #. module: mrp
 #: selection:mrp.production,state:0
 msgid "Awaiting Raw Materials"
-msgstr "Ham malzeme Bekliyor"
+msgstr "Hammade Bekliyor"
 
 #. module: mrp
 #: field:mrp.bom,position:0
@@ -1210,7 +1210,7 @@ msgstr "İç Referans"
 #. module: mrp
 #: field:mrp.production,product_uos_qty:0
 msgid "Product UoS Quantity"
-msgstr "Ürün Hizmet Birimi Miktarı"
+msgstr "Ürün UOS Miktarı"
 
 #. module: mrp
 #: field:mrp.bom,name:0
@@ -1276,7 +1276,7 @@ msgstr ""
 #. module: mrp
 #: model:ir.actions.act_window,name:mrp.mrp_production_action3
 msgid "Manufacturing Orders in Progress"
-msgstr "Süren Üretim Emirleri"
+msgstr "Devam eden Üretim Emirleri"
 
 #. module: mrp
 #: model:ir.actions.client,name:mrp.action_client_mrp_menu
@@ -1336,7 +1336,7 @@ msgstr ""
 #. module: mrp
 #: field:mrp.workcenter,costs_journal_id:0
 msgid "Analytic Journal"
-msgstr "Analitik Günlük"
+msgstr "Analitik Yevmiye"
 
 #. module: mrp
 #: code:addons/mrp/report/price.py:139
@@ -1426,7 +1426,7 @@ msgstr ""
 #: code:addons/mrp/mrp.py:505
 #, python-format
 msgid "Invalid Action!"
-msgstr "Geçersiz Eylem!"
+msgstr "Geçersiz İşlem!"
 
 #. module: mrp
 #: model:process.transition,note:mrp.process_transition_producttostockrules0
@@ -1541,12 +1541,12 @@ msgstr "Üretimi İş Merkezi"
 #. module: mrp
 #: view:mrp.workcenter:0
 msgid "Search for mrp workcenter"
-msgstr "mrp iş merkezini ara"
+msgstr "Mrp iş merkezini ara"
 
 #. module: mrp
 #: view:mrp.bom:0
 msgid "BoM Structure"
-msgstr "Ürün Ağacı Yapısı"
+msgstr "BoM Yapısı"
 
 #. module: mrp
 #: field:mrp.production,date_start:0
@@ -1568,7 +1568,7 @@ msgstr "Ürün Ölçü Birimi"
 #. module: mrp
 #: view:mrp.production:0
 msgid "Destination Loc."
-msgstr "Hedef Kon."
+msgstr "Hedef Konum"
 
 #. module: mrp
 #: field:mrp.bom,method:0
@@ -1625,12 +1625,12 @@ msgstr "Bu üretim emri isteğinde oluşturulan belge referansı."
 #. module: mrp
 #: model:process.transition,name:mrp.process_transition_minimumstockprocure0
 msgid "'Minimum stock rule' material"
-msgstr "'Minimum stok kuralı' malzemesi"
+msgstr "'Minimum stok kuralı' malzemede"
 
 #. module: mrp
 #: view:mrp.production:0
 msgid "Extra Information"
-msgstr "Ek Bilgi"
+msgstr "Ek Bilgisi"
 
 #. module: mrp
 #: model:ir.model,name:mrp.model_change_production_qty
@@ -1640,12 +1640,12 @@ msgstr "Ürün Miktarını Değiştir"
 #. module: mrp
 #: model:process.node,note:mrp.process_node_productionorder0
 msgid "Drives the procurement orders for raw material."
-msgstr "Ham malzeme için satınalma emirlerini yürütür."
+msgstr "Hammade için satınalma emirlerini yürütür."
 
 #. module: mrp
 #: field:mrp.production.product.line,product_uos_qty:0
 msgid "Product UOS Quantity"
-msgstr "Ürün Hizmet Birimi Miktarı"
+msgstr "Ürün UOS Miktarı"
 
 #. module: mrp
 #: field:mrp.workcenter,costs_general_account_id:0
@@ -1655,7 +1655,7 @@ msgstr "Genel Hesap"
 #. module: mrp
 #: report:mrp.production.order:0
 msgid "SO Number"
-msgstr "Satış Sipariş No"
+msgstr "SS Numarası"
 
 #. module: mrp
 #: code:addons/mrp/mrp.py:505
@@ -1666,7 +1666,7 @@ msgstr "'%s' durumundaki bir üretim emri silinemez."
 #. module: mrp
 #: selection:mrp.production,state:0
 msgid "Done"
-msgstr "Yapıldı"
+msgstr "Biten"
 
 #. module: mrp
 #: view:product.product:0
@@ -1775,7 +1775,7 @@ msgstr "Toplam Saat"
 #. module: mrp
 #: field:mrp.production,location_src_id:0
 msgid "Raw Materials Location"
-msgstr "Ham malzeme Konumu"
+msgstr "Hammade Konumu"
 
 #. module: mrp
 #: view:mrp.product_price:0
@@ -1786,12 +1786,12 @@ msgstr "Ürünün Maliyet Yapısını Yazdır."
 #: field:mrp.bom,product_uos:0
 #: field:mrp.production.product.line,product_uos:0
 msgid "Product UOS"
-msgstr "Ürün Hizmet Birimi"
+msgstr "Ürün UOS"
 
 #. module: mrp
 #: view:mrp.production:0
 msgid "Consume Products"
-msgstr "Ürünleri Tüket"
+msgstr "Sarf Ürünler"
 
 #. module: mrp
 #: model:ir.actions.act_window,name:mrp.act_mrp_product_produce
@@ -1837,7 +1837,7 @@ msgstr ""
 #. module: mrp
 #: field:mrp.production,product_uos:0
 msgid "Product UoS"
-msgstr "Ürün Hizmet Birimi"
+msgstr "Ürün UoS"
 
 #. module: mrp
 #: selection:mrp.production,priority:0
@@ -1926,7 +1926,7 @@ msgstr "Hizmet"
 #. module: mrp
 #: selection:mrp.production,state:0
 msgid "Cancelled"
-msgstr "İptal edildi"
+msgstr "İptal Edildi"
 
 #. module: mrp
 #: view:mrp.production:0
@@ -1971,12 +1971,12 @@ msgstr ""
 #: field:mrp.routing.workcenter,company_id:0
 #: view:mrp.workcenter:0
 msgid "Company"
-msgstr "Şirket"
+msgstr "Firma"
 
 #. module: mrp
 #: view:mrp.bom:0
 msgid "Default Unit of Measure"
-msgstr "Varsayılan Ölçü Birimi"
+msgstr "Öntanımlı Ölçü Birimi"
 
 #. module: mrp
 #: field:mrp.workcenter,time_cycle:0
@@ -1986,7 +1986,7 @@ msgstr "1 Çevrim Süresi (saat)"
 #. module: mrp
 #: view:mrp.production:0
 msgid "Cancel Production"
-msgstr "Üretim İptal et"
+msgstr "Üretimi İptal Et"
 
 #. module: mrp
 #: model:ir.actions.report.xml,name:mrp.report_mrp_production_report
@@ -2032,7 +2032,7 @@ msgstr "Bileşenler"
 #: report:bom.structure:0
 #: model:ir.actions.report.xml,name:mrp.report_bom_structure
 msgid "BOM Structure"
-msgstr "Ürün Ağacı Yapısı"
+msgstr "BOM Yapısı"
 
 #. module: mrp
 #: field:mrp.config.settings,module_mrp_jit:0
@@ -2042,22 +2042,22 @@ msgstr "Gerçek zamanlı tedarik oluştur"
 #. module: mrp
 #: field:mrp.bom,date_stop:0
 msgid "Valid Until"
-msgstr "Geçerlilik sonu"
+msgstr "Geçerlilik Bitiş"
 
 #. module: mrp
 #: field:mrp.bom,date_start:0
 msgid "Valid From"
-msgstr "Geçerlilik Başlangıcı"
+msgstr "Geçerlilik Başlama"
 
 #. module: mrp
 #: selection:mrp.bom,type:0
 msgid "Normal BoM"
-msgstr "Normal Ürün Ağacı"
+msgstr "Normal BoM"
 
 #. module: mrp
 #: field:res.company,manufacturing_lead:0
 msgid "Manufacturing Lead Time"
-msgstr "Üretim Teslimat Süresi"
+msgstr "Üretim Teslim Süresi"
 
 #. module: mrp
 #: code:addons/mrp/mrp.py:285
@@ -2068,7 +2068,7 @@ msgstr "Uyarı"
 #. module: mrp
 #: field:mrp.bom,product_uos_qty:0
 msgid "Product UOS Qty"
-msgstr "Ürün Hizmet Birimi Mik"
+msgstr "Ürün UOS Mik"
 
 #. module: mrp
 #: field:mrp.production,move_prod_id:0
@@ -2124,7 +2124,7 @@ msgstr "Yeni"
 #. module: mrp
 #: selection:mrp.product.produce,mode:0
 msgid "Consume Only"
-msgstr "Yalnızca Tüket"
+msgstr "Sadece Sarf"
 
 #. module: mrp
 #: view:mrp.production:0
@@ -2134,7 +2134,7 @@ msgstr "Toplamayı Yeniden Oluştur"
 #. module: mrp
 #: selection:mrp.bom,method:0
 msgid "On Order"
-msgstr "Sipariş üzerine"
+msgstr "Sipariş Den"
 
 #. module: mrp
 #: model:ir.ui.menu,name:mrp.menu_mrp_configuration
@@ -2250,7 +2250,7 @@ msgstr ""
 #. module: mrp
 #: field:procurement.order,bom_id:0
 msgid "BoM"
-msgstr "Ürün Ağacı"
+msgstr "BoM"
 
 #. module: mrp
 #: model:ir.model,name:mrp.model_report_mrp_inout
@@ -2307,17 +2307,17 @@ msgstr "Kullanıcı"
 #. module: mrp
 #: selection:mrp.product.produce,mode:0
 msgid "Consume & Produce"
-msgstr "Tüket & Üret"
+msgstr "Sarf & Üretme"
 
 #. module: mrp
 #: field:mrp.bom,bom_id:0
 msgid "Parent BoM"
-msgstr "Ana Ürün Ağacı"
+msgstr "Üst BoM"
 
 #. module: mrp
 #: report:bom.structure:0
 msgid "BOM Ref"
-msgstr "Ürün Ağacı Ref"
+msgstr "BOM Ref"
 
 #. module: mrp
 #: code:addons/mrp/mrp.py:765
@@ -2332,7 +2332,7 @@ msgstr ""
 #. module: mrp
 #: model:process.node,note:mrp.process_node_stockproduct0
 msgid "Product type is Stockable or Consumable."
-msgstr "Ürün tipi Stoklanabilir veya Tüketilebilirdir."
+msgstr "Ürün tipi Stoklanabilir veya Sarfedilebilir."
 
 #. module: mrp
 #: selection:mrp.production,state:0
@@ -2384,7 +2384,7 @@ msgstr "Üretim emirlerini tamamlamak için elle toplamaya izinverme "
 #: view:mrp.routing.workcenter:0
 #: view:mrp.workcenter:0
 msgid "General Information"
-msgstr "Genel Bilgi"
+msgstr "Genel Bilgisi"
 
 #. module: mrp
 #: view:mrp.production:0
@@ -2395,7 +2395,7 @@ msgstr "Üretimler"
 #: model:ir.model,name:mrp.model_stock_move_split
 #: view:mrp.production:0
 msgid "Split in Serial Numbers"
-msgstr "Seri Numaralarına göre ayır"
+msgstr "Seri Numaralarına Göre Ayır"
 
 #. module: mrp
 #: help:mrp.bom,product_uos:0
@@ -2578,7 +2578,7 @@ msgstr ""
 #. module: mrp
 #: selection:mrp.bom,method:0
 msgid "On Stock"
-msgstr "Stoğa"
+msgstr "Stoktan"
 
 #. module: mrp
 #: field:mrp.bom,sequence:0
@@ -2608,4 +2608,4 @@ msgstr "mrp.config.settings"
 #: field:mrp.production,move_lines:0
 #: report:mrp.production.order:0
 msgid "Products to Consume"
-msgstr "Tüketilecek Ürünler"
+msgstr "Sarfedilecek Ürünler"
index 2b5d681..e8e1887 100644 (file)
@@ -1037,8 +1037,8 @@ class mrp_production(osv.osv):
 
             # Take routing location as a Source Location.
             source_location_id = production.location_src_id.id
-            if production.bom_id.routing_id and production.bom_id.routing_id.location_id:
-                source_location_id = production.bom_id.routing_id.location_id.id
+            if production.routing_id and production.routing_id.location_id:
+                source_location_id = production.routing_id.location_id.id
 
             for line in production.product_lines:
                 consume_move_id = self._make_production_consume_line(cr, uid, line, produce_move_id, source_location_id=source_location_id, context=context)
diff --git a/addons/mrp/report/bom_structure.sxw b/addons/mrp/report/bom_structure.sxw
new file mode 100644 (file)
index 0000000..3cf1cf1
Binary files /dev/null and b/addons/mrp/report/bom_structure.sxw differ
diff --git a/addons/mrp/report/order.sxw b/addons/mrp/report/order.sxw
new file mode 100644 (file)
index 0000000..2786a2e
Binary files /dev/null and b/addons/mrp/report/order.sxw differ
index cd491a9..81c9f70 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-03-03 01:56+0000\n"
-"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
+"PO-Revision-Date: 2014-05-12 09:31+0000\n"
+"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:21+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2014-05-13 06:28+0000\n"
+"X-Generator: Launchpad (build 17002)\n"
 
 #. module: mrp_byproduct
 #: help:mrp.subproduct,subproduct_type:0
@@ -59,7 +59,7 @@ msgstr "Ürün Miktarını Değiştir"
 #: view:mrp.bom:0
 #: field:mrp.bom,sub_products:0
 msgid "Byproducts"
-msgstr "Yan ürünler"
+msgstr "Yan Ürünler"
 
 #. module: mrp_byproduct
 #: field:mrp.subproduct,subproduct_type:0
@@ -85,7 +85,7 @@ msgstr "Uyarı"
 #. module: mrp_byproduct
 #: field:mrp.subproduct,bom_id:0
 msgid "BoM"
-msgstr "Ürün Ağacı"
+msgstr "BoM"
 
 #. module: mrp_byproduct
 #: selection:mrp.subproduct,subproduct_type:0
@@ -110,4 +110,4 @@ msgstr ""
 #. module: mrp_byproduct
 #: model:ir.model,name:mrp_byproduct.model_mrp_subproduct
 msgid "Byproduct"
-msgstr "Yan ürün"
+msgstr "Yan Ürün"
index d0358d7..81dcf14 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-04-14 16:55+0000\n"
-"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
+"PO-Revision-Date: 2014-05-12 09:31+0000\n"
+"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:22+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2014-05-13 06:28+0000\n"
+"X-Generator: Launchpad (build 17002)\n"
 
 #. module: mrp_operations
 #: model:ir.actions.act_window,name:mrp_operations.mrp_production_wc_action_form
@@ -150,7 +150,7 @@ msgstr "Hata!"
 #: selection:mrp.workorder,state:0
 #: selection:mrp_operations.operation.code,start_stop:0
 msgid "Cancelled"
-msgstr "İptal edildi"
+msgstr "İptal Edildi"
 
 #. module: mrp_operations
 #: code:addons/mrp_operations/mrp_operations.py:477
@@ -185,7 +185,7 @@ msgstr "İşlemi Bitirmek için Başlama ya da Sürdürme durumunda olmalı!"
 #. module: mrp_operations
 #: field:mrp.workorder,nbr:0
 msgid "# of Lines"
-msgstr "Satır Sayısı"
+msgstr "# nın Satırları"
 
 #. module: mrp_operations
 #: view:mrp.production.workcenter.line:0
@@ -276,7 +276,7 @@ msgstr "İşlem Adı"
 #: field:mrp.workorder,state:0
 #: field:mrp_operations.operation.code,start_stop:0
 msgid "Status"
-msgstr "Durum"
+msgstr "Durumu"
 
 #. module: mrp_operations
 #: view:mrp.workorder:0
@@ -472,7 +472,7 @@ msgstr "Ağustos"
 #. module: mrp_operations
 #: view:mrp.workorder:0
 msgid "Started"
-msgstr "Başlatıldı"
+msgstr "Başladı"
 
 #. module: mrp_operations
 #: view:mrp.production.workcenter.line:0
@@ -503,7 +503,7 @@ msgstr "Üretim için Hazır"
 #. module: mrp_operations
 #: field:stock.move,move_dest_id_lines:0
 msgid "Children Moves"
-msgstr "Çocuk Hareketleri"
+msgstr "Alt Hareketler"
 
 #. module: mrp_operations
 #: model:ir.actions.act_window,name:mrp_operations.mrp_production_wc_action_planning
@@ -524,7 +524,7 @@ msgstr "Kasım"
 #. module: mrp_operations
 #: view:mrp.workorder:0
 msgid "Search"
-msgstr "Ara"
+msgstr "Arama"
 
 #. module: mrp_operations
 #: selection:mrp.workorder,month:0
@@ -595,14 +595,14 @@ msgstr "Mik."
 #. module: mrp_operations
 #: model:process.node,name:mrp_operations.process_node_doneoperation0
 msgid "Operation Done"
-msgstr "İşlem Yapıldı"
+msgstr "İşlem Bitti"
 
 #. module: mrp_operations
 #: selection:mrp.production.workcenter.line,production_state:0
 #: view:mrp.workorder:0
 #: selection:mrp_operations.operation.code,start_stop:0
 msgid "Done"
-msgstr "Yapıldı"
+msgstr "Biten"
 
 #. module: mrp_operations
 #: model:ir.actions.report.xml,name:mrp_operations.report_code_barcode
@@ -642,7 +642,7 @@ msgstr "İşlemi Başlat"
 #. module: mrp_operations
 #: view:mrp.production.workcenter.line:0
 msgid "Information"
-msgstr "Bilgi"
+msgstr "Bilgisi"
 
 #. module: mrp_operations
 #: model:ir.actions.act_window,help:mrp_operations.mrp_production_wc_action_planning
@@ -682,12 +682,12 @@ msgstr "İş Merkezleri Barkodu"
 #. module: mrp_operations
 #: view:mrp.production.workcenter.line:0
 msgid "Late"
-msgstr "Son"
+msgstr "Geciken"
 
 #. module: mrp_operations
 #: field:mrp.workorder,delay:0
 msgid "Delay"
-msgstr "Gecikme"
+msgstr "Ertelenen"
 
 #. module: mrp_operations
 #: view:mrp.production.workcenter.line:0
@@ -749,7 +749,7 @@ msgstr "Mayıs"
 #: selection:mrp.production.workcenter.line,state:0
 #: selection:mrp.workorder,state:0
 msgid "Finished"
-msgstr "Bitirildi"
+msgstr "Biten"
 
 #. module: mrp_operations
 #: view:mrp.production.workcenter.line:0
@@ -794,7 +794,7 @@ msgstr "İşlem yapıldı"
 #. module: mrp_operations
 #: view:mrp.workorder:0
 msgid "#Line Orders"
-msgstr "#Line Emir"
+msgstr "#Emir Satırları"
 
 #. module: mrp_operations
 #: view:mrp.production:0
index 8a8e8f8..5630187 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-04-13 18:10+0000\n"
-"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
+"PO-Revision-Date: 2014-05-12 09:32+0000\n"
+"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:22+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2014-05-13 06:28+0000\n"
+"X-Generator: Launchpad (build 17002)\n"
 
 #. module: mrp_repair
 #: field:mrp.repair.line,move_id:0
@@ -100,7 +100,7 @@ msgstr "Seri Numarası"
 #. module: mrp_repair
 #: field:mrp.repair,address_id:0
 msgid "Delivery Address"
-msgstr "Teslimat Adresi"
+msgstr "Teslim Adresi"
 
 #. module: mrp_repair
 #: view:mrp.repair:0
@@ -116,7 +116,7 @@ msgstr "Ara Toplam"
 #. module: mrp_repair
 #: report:repair.order:0
 msgid "Invoice address :"
-msgstr "Fatura Adresi:"
+msgstr "Fatura Adresi :"
 
 #. module: mrp_repair
 #: help:mrp.repair,partner_id:0
@@ -261,7 +261,7 @@ msgstr ""
 #. module: mrp_repair
 #: view:mrp.repair:0
 msgid "Extra Info"
-msgstr "Ek Bilgi"
+msgstr "Ek Bilgisi"
 
 #. module: mrp_repair
 #: code:addons/mrp_repair/mrp_repair.py:336
@@ -287,7 +287,7 @@ msgstr "İş Ortağı"
 #: code:addons/mrp_repair/mrp_repair.py:385
 #, python-format
 msgid "No account defined for partner \"%s\"."
-msgstr "\"%s\" Paydaşı için tanımlanmış bir hesap yok."
+msgstr "\"%s\" İş Ortağı için tanımlanmış bir hesap yok."
 
 #. module: mrp_repair
 #: view:mrp.repair:0
@@ -343,7 +343,7 @@ msgstr "Onarım Siparişi N° :"
 #: field:mrp.repair.line,prodlot_id:0
 #: report:repair.order:0
 msgid "Lot Number"
-msgstr "Parti Numarası"
+msgstr "Lot Numarası"
 
 #. module: mrp_repair
 #: field:mrp.repair,message_follower_ids:0
@@ -353,7 +353,7 @@ msgstr "İzleyiciler"
 #. module: mrp_repair
 #: field:mrp.repair,fees_lines:0
 msgid "Fees Lines"
-msgstr "Ücret Kalemleri"
+msgstr "Ücret Satırları"
 
 #. module: mrp_repair
 #: field:mrp.repair.line,type:0
@@ -363,7 +363,7 @@ msgstr "Tip"
 #. module: mrp_repair
 #: report:repair.order:0
 msgid "Fees Line(s)"
-msgstr "Ücret Kalemi(leri)"
+msgstr "Ücret Satır(ları)"
 
 #. module: mrp_repair
 #: selection:mrp.repair,state:0
@@ -404,7 +404,7 @@ msgstr "Teklif Notları"
 #: field:mrp.repair,state:0
 #: field:mrp.repair.line,state:0
 msgid "Status"
-msgstr "Durum"
+msgstr "Durumu"
 
 #. module: mrp_repair
 #: view:mrp.repair:0
@@ -420,7 +420,7 @@ msgstr "(Ekle)"
 #: model:ir.model,name:mrp_repair.model_mrp_repair_line
 #: view:mrp.repair:0
 msgid "Repair Line"
-msgstr "Onarım Kalemi"
+msgstr "Onarım Satırı"
 
 #. module: mrp_repair
 #: report:repair.order:0
@@ -447,7 +447,7 @@ msgstr "İç not ekle..."
 #: field:mrp.repair.fee,invoice_line_id:0
 #: field:mrp.repair.line,invoice_line_id:0
 msgid "Invoice Line"
-msgstr "Fatura Kalemi"
+msgstr "Fatura Satırı"
 
 #. module: mrp_repair
 #: selection:mrp.repair,invoice_method:0
@@ -591,7 +591,7 @@ msgstr "Tarih"
 #. module: mrp_repair
 #: model:ir.model,name:mrp_repair.model_mrp_repair_fee
 msgid "Repair Fees Line"
-msgstr "Onarım Ücretleri Kalemi"
+msgstr "Onarım Ücretleri Satırı"
 
 #. module: mrp_repair
 #: selection:mrp.repair,state:0
@@ -665,7 +665,7 @@ msgstr "Birim Fiyat"
 #. module: mrp_repair
 #: selection:mrp.repair.line,state:0
 msgid "Done"
-msgstr "Yapıldı"
+msgstr "Biten"
 
 #. module: mrp_repair
 #: field:mrp.repair,invoice_id:0
@@ -675,7 +675,7 @@ msgstr "Fatura"
 #. module: mrp_repair
 #: view:mrp.repair:0
 msgid "Fees"
-msgstr "Ücretler"
+msgstr "Ücret"
 
 #. module: mrp_repair
 #: view:mrp.repair.cancel:0
@@ -696,12 +696,12 @@ msgstr "Hedef Konum"
 #. module: mrp_repair
 #: report:repair.order:0
 msgid "Operation Line(s)"
-msgstr "İşlem Kalemi (leri)"
+msgstr "İşlem Satır(ları)"
 
 #. module: mrp_repair
 #: field:mrp.repair,location_dest_id:0
 msgid "Delivery Location"
-msgstr "Teslimat Konumu"
+msgstr "Teslim Konumu"
 
 #. module: mrp_repair
 #: help:mrp.repair,deliver_bool:0
@@ -747,7 +747,7 @@ msgstr "Açıklama"
 #. module: mrp_repair
 #: field:mrp.repair,operations:0
 msgid "Operation Lines"
-msgstr "İşlem Kalemleri"
+msgstr "İşlem Satırları"
 
 #. module: mrp_repair
 #: view:mrp.repair:0
@@ -769,7 +769,7 @@ msgstr "Fiyat"
 #. module: mrp_repair
 #: field:mrp.repair,deliver_bool:0
 msgid "Deliver"
-msgstr "Teslim et"
+msgstr "Teslim Etme"
 
 #. module: mrp_repair
 #: field:mrp.repair,internal_notes:0
@@ -827,7 +827,7 @@ msgstr "Kaldır"
 #. module: mrp_repair
 #: field:mrp.repair,partner_invoice_id:0
 msgid "Invoicing Address"
-msgstr "Fatura Adresi:"
+msgstr "Fatura Adresi"
 
 #. module: mrp_repair
 #: help:mrp.repair,message_ids:0
@@ -848,7 +848,7 @@ msgstr "Kaynak Konum"
 #: model:ir.model,name:mrp_repair.model_mrp_repair_cancel
 #: view:mrp.repair:0
 msgid "Cancel Repair"
-msgstr "Onarım İptal"
+msgstr "Onarımı İptal Et"
 
 #. module: mrp_repair
 #: selection:mrp.repair,invoice_method:0
diff --git a/addons/pad/static/src/img/pad_link_companies.jpeg b/addons/pad/static/src/img/pad_link_companies.jpeg
new file mode 100644 (file)
index 0000000..1bce3a5
Binary files /dev/null and b/addons/pad/static/src/img/pad_link_companies.jpeg differ
index 76c48d2..2768cf8 100644 (file)
@@ -537,7 +537,7 @@ class pos_order(osv.osv):
             try:
                 wf_service.trg_validate(uid, 'pos.order', order_id, 'paid', cr)
             except Exception:
-                _logger.error('ERROR: Could not mark POS Order as Paid.', exc_info=True)
+                _logger.error('ERROR: Could not fully process the POS Order', exc_info=True)
         return order_ids
 
     def write(self, cr, uid, ids, vals, context=None):
@@ -692,8 +692,6 @@ class pos_order(osv.osv):
         move_obj = self.pool.get('stock.move')
 
         for order in self.browse(cr, uid, ids, context=context):
-            if not order.state=='draft':
-                continue
             addr = order.partner_id and partner_obj.address_get(cr, uid, [order.partner_id.id], ['delivery']) or {}
             picking_id = picking_obj.create(cr, uid, {
                 'origin': order.name,
@@ -1136,8 +1134,8 @@ class pos_order(osv.osv):
         return self.write(cr, uid, ids, {'state': 'payment'}, context=context)
 
     def action_paid(self, cr, uid, ids, context=None):
-        self.create_picking(cr, uid, ids, context=context)
         self.write(cr, uid, ids, {'state': 'paid'}, context=context)
+        self.create_picking(cr, uid, ids, context=context)
         return True
 
     def action_cancel(self, cr, uid, ids, context=None):
diff --git a/addons/point_of_sale/report/account_statement.sxw b/addons/point_of_sale/report/account_statement.sxw
new file mode 100644 (file)
index 0000000..bc251a6
Binary files /dev/null and b/addons/point_of_sale/report/account_statement.sxw differ
diff --git a/addons/point_of_sale/report/all_closed_cashbox_of_the_day.sxw b/addons/point_of_sale/report/all_closed_cashbox_of_the_day.sxw
new file mode 100644 (file)
index 0000000..9577006
Binary files /dev/null and b/addons/point_of_sale/report/all_closed_cashbox_of_the_day.sxw differ
diff --git a/addons/point_of_sale/report/pos_details.sxw b/addons/point_of_sale/report/pos_details.sxw
new file mode 100644 (file)
index 0000000..5f5bb4c
Binary files /dev/null and b/addons/point_of_sale/report/pos_details.sxw differ
diff --git a/addons/point_of_sale/report/pos_details_summary.sxw b/addons/point_of_sale/report/pos_details_summary.sxw
new file mode 100644 (file)
index 0000000..5ce7a41
Binary files /dev/null and b/addons/point_of_sale/report/pos_details_summary.sxw differ
diff --git a/addons/point_of_sale/report/pos_lines.sxw b/addons/point_of_sale/report/pos_lines.sxw
new file mode 100644 (file)
index 0000000..01df623
Binary files /dev/null and b/addons/point_of_sale/report/pos_lines.sxw differ
diff --git a/addons/point_of_sale/report/pos_payment_report_user.sxw b/addons/point_of_sale/report/pos_payment_report_user.sxw
new file mode 100644 (file)
index 0000000..fbe04ed
Binary files /dev/null and b/addons/point_of_sale/report/pos_payment_report_user.sxw differ
diff --git a/addons/point_of_sale/report/pos_receipt.sxw b/addons/point_of_sale/report/pos_receipt.sxw
new file mode 100644 (file)
index 0000000..7baf80e
Binary files /dev/null and b/addons/point_of_sale/report/pos_receipt.sxw differ
diff --git a/addons/point_of_sale/report/pos_sales_user.sxw b/addons/point_of_sale/report/pos_sales_user.sxw
new file mode 100644 (file)
index 0000000..cab80ff
Binary files /dev/null and b/addons/point_of_sale/report/pos_sales_user.sxw differ
diff --git a/addons/point_of_sale/report/pos_sales_user_today.sxw b/addons/point_of_sale/report/pos_sales_user_today.sxw
new file mode 100644 (file)
index 0000000..81554e6
Binary files /dev/null and b/addons/point_of_sale/report/pos_sales_user_today.sxw differ
diff --git a/addons/point_of_sale/report/pos_users_product.sxw b/addons/point_of_sale/report/pos_users_product.sxw
new file mode 100644 (file)
index 0000000..ec934d8
Binary files /dev/null and b/addons/point_of_sale/report/pos_users_product.sxw differ
index e0f4fd6..516637a 100644 (file)
@@ -169,6 +169,9 @@ function openerp_pos_db(instance, module){
                 var product = products[i];
                 var search_string = this._product_search_string(product);
                 var categ_id = product.pos_categ_id ? product.pos_categ_id[0] : this.root_category_id;
+                if (product.variants){
+                    product.name = product.name+" ("+product.variants+")";
+                }
                 if(!stored_categories[categ_id]){
                     stored_categories[categ_id] = [];
                 }
index 6fe4db6..b7b36d0 100644 (file)
@@ -175,7 +175,7 @@ function openerp_pos_models(instance, module){ //module is instance.point_of_sal
 
                     return self.fetch(
                         'product.product', 
-                        ['name', 'list_price','price','pos_categ_id', 'taxes_id', 'ean13', 'default_code',
+                        ['name', 'list_price','price','pos_categ_id', 'taxes_id', 'ean13', 'default_code', 'variants',
                          'to_weight', 'uom_id', 'uos_id', 'uos_coeff', 'mes_type', 'description_sale', 'description'],
                         [['sale_ok','=',true],['available_in_pos','=',true]],
                         {pricelist: self.get('shop').pricelist_id[0]} // context for price
index 0a1684c..35e35e2 100644 (file)
@@ -126,7 +126,7 @@ class pos_make_payment(osv.osv_memory):
     }
     _defaults = {
         'journal_id' : _default_journal,
-        'payment_date': time.strftime('%Y-%m-%d %H:%M:%S'),
+        'payment_date': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
         'amount': _default_amount,
     }
 
index 5c7fa14..ebaaa3f 100644 (file)
@@ -39,7 +39,7 @@
             }"/>
             <field name="help" type="html">
                 <p>
-                    Youd don't have unread company's news.
+                    You don't have unread company's news.
                 </p>
             </field>
         </record>
@@ -71,7 +71,7 @@
             }"/>
             <field name="help" type="html">
                 <p>
-                    Youd don't have unread job offers.
+                    You don't have unread job offers.
                 </p>
             </field>
         </record>
index e9b270b..1fb6f2a 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-11-30 15:08+0000\n"
+"PO-Revision-Date: 2014-05-17 04:51+0000\n"
 "Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-12-01 05:45+0000\n"
-"X-Generator: Launchpad (build 16856)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: procurement
 #: model:ir.ui.menu,name:procurement.menu_stock_sched
@@ -121,7 +121,7 @@ msgstr "Şirket"
 #. module: procurement
 #: field:procurement.order,product_uos_qty:0
 msgid "UoS Quantity"
-msgstr "Satış Birimi Miktarı"
+msgstr "Satış Birim Miktarı"
 
 #. module: procurement
 #: view:procurement.order:0
@@ -158,12 +158,12 @@ msgstr "Tedarikleri Hesapla"
 #. module: procurement
 #: field:procurement.order,message:0
 msgid "Latest error"
-msgstr "Enson hata"
+msgstr "En Son Hata"
 
 #. module: procurement
 #: field:stock.warehouse.orderpoint,product_min_qty:0
 msgid "Minimum Quantity"
-msgstr "Enaz Miktar"
+msgstr "En Az Miktar"
 
 #. module: procurement
 #: help:mrp.property,composition:0
@@ -173,7 +173,7 @@ msgstr "Sadece bilgi amaçlıdır, hesaplamalarda kullanılmaz."
 #. module: procurement
 #: field:stock.warehouse.orderpoint,procurement_id:0
 msgid "Latest procurement"
-msgstr "Enson tedarik"
+msgstr "En Son Tedarik"
 
 #. module: procurement
 #: field:procurement.order,message_ids:0
@@ -183,7 +183,7 @@ msgstr "Mesajlar"
 #. module: procurement
 #: view:procurement.order:0
 msgid "Cancel Procurement"
-msgstr "Tedarik İptal et"
+msgstr "Tedarik İptal Et"
 
 #. module: procurement
 #: view:product.product:0
@@ -193,7 +193,7 @@ msgstr "Ürünler"
 #. module: procurement
 #: selection:procurement.order,state:0
 msgid "Cancelled"
-msgstr "İptal edildi"
+msgstr "İptal Edildi"
 
 #. module: procurement
 #: view:procurement.order:0
@@ -224,7 +224,7 @@ msgstr "Stoklanabilir ürünler"
 #: code:addons/procurement/procurement.py:138
 #, python-format
 msgid "Invalid Action!"
-msgstr "Geçersiz Eylem!"
+msgstr "Geçersiz İşlem!"
 
 #. module: procurement
 #: help:procurement.order,message_summary:0
@@ -299,7 +299,7 @@ msgstr "Onayla"
 #. module: procurement
 #: view:stock.warehouse.orderpoint:0
 msgid "Quantity Multiple"
-msgstr "Çok Miktarlı"
+msgstr "Çoklu Miktar"
 
 #. module: procurement
 #: help:procurement.order,origin:0
@@ -318,7 +318,7 @@ msgstr "İşlenecek Tedarik Emirleri"
 #. module: procurement
 #: model:ir.model,name:procurement.model_stock_warehouse_orderpoint
 msgid "Minimum Inventory Rule"
-msgstr "Enaz Envanter Kuralı"
+msgstr "En Az Envanter Kuralı"
 
 #. module: procurement
 #: code:addons/procurement/procurement.py:370
@@ -384,7 +384,7 @@ msgstr "Tedarik Hesapla"
 #. module: procurement
 #: field:res.company,schedule_range:0
 msgid "Scheduler Range Days"
-msgstr "Planlamacı Aralığı Günleri"
+msgstr "Zamanlayıcı Kapsama Günleri"
 
 #. module: procurement
 #: view:make.procurement:0
@@ -541,7 +541,7 @@ msgstr "İlgili Tedarik Emirleri"
 #. module: procurement
 #: field:procurement.order,message_unread:0
 msgid "Unread Messages"
-msgstr "Okunmamış mesajlar"
+msgstr "Okunmamış Mesajlar"
 
 #. module: procurement
 #: selection:mrp.property,composition:0
@@ -606,7 +606,7 @@ msgstr ""
 #. module: procurement
 #: view:procurement.order:0
 msgid "Procurement Lines"
-msgstr "Tedarik Kalemleri"
+msgstr "Tedarik Satırları"
 
 #. module: procurement
 #: view:product.product:0
@@ -684,7 +684,7 @@ msgstr ""
 #. module: procurement
 #: field:stock.warehouse.orderpoint,product_max_qty:0
 msgid "Maximum Quantity"
-msgstr "Ençok Miktar"
+msgstr "En Çok Miktar"
 
 #. module: procurement
 #: field:procurement.order,message_is_follower:0
@@ -705,7 +705,7 @@ msgstr "Etkin"
 #. module: procurement
 #: model:process.node,name:procurement.process_node_procureproducts0
 msgid "Procure Products"
-msgstr "Ürün Tedarik et"
+msgstr "Ürün Tedarikleri"
 
 #. module: procurement
 #: code:addons/procurement/procurement.py:312
@@ -778,7 +778,7 @@ msgstr "Şirketler"
 #. module: procurement
 #: view:procurement.order:0
 msgid "Extra Information"
-msgstr "Ek Bilgiler"
+msgstr "Ek Bilgisi"
 
 #. module: procurement
 #: field:procurement.order,message_summary:0
@@ -793,7 +793,7 @@ msgstr "Mkt. Çarpanı 0'dan büyük olmalıdır."
 #. module: procurement
 #: selection:stock.warehouse.orderpoint,logic:0
 msgid "Order to Max"
-msgstr "Ençoğa Sipariş yap"
+msgstr "En Çoğa Sipariş Yap"
 
 #. module: procurement
 #: field:procurement.order,date_close:0
@@ -819,7 +819,7 @@ msgstr ""
 #. module: procurement
 #: field:mrp.property,composition:0
 msgid "Properties composition"
-msgstr "Bileşim Özellikleri"
+msgstr "Bileşen Özellikleri"
 
 #. module: procurement
 #: code:addons/procurement/procurement.py:311
@@ -852,7 +852,7 @@ msgstr "Tedarik Çalıştır"
 #. module: procurement
 #: selection:procurement.order,state:0
 msgid "Done"
-msgstr "Yapıldı"
+msgstr "Biten"
 
 #. module: procurement
 #: view:make.procurement:0
@@ -904,7 +904,7 @@ msgstr "Tüm Planlamacıları Hesapla"
 #. module: procurement
 #: view:procurement.order:0
 msgid "Late"
-msgstr "Geç"
+msgstr "Geciken"
 
 #. module: procurement
 #: view:board.board:0
@@ -920,7 +920,7 @@ msgstr "Sipariş Noktaları"
 #. module: procurement
 #: field:product.product,orderpoint_ids:0
 msgid "Minimum Stock Rules"
-msgstr "Enaz Stok Kuralları"
+msgstr "En Az Stok Kuralları"
 
 #. module: procurement
 #: view:make.procurement:0
@@ -984,7 +984,7 @@ msgstr "Yürütülüyor"
 #: selection:procurement.order,procure_method:0
 #: selection:product.template,procure_method:0
 msgid "Make to Order"
-msgstr "Sipariş Ver"
+msgstr "Sipariş Verme"
 
 #. module: procurement
 #: field:product.template,supply_method:0
@@ -1057,7 +1057,7 @@ msgstr ""
 #. module: procurement
 #: view:procurement.order:0
 msgid "Search Procurement"
-msgstr "Tedarik Ara"
+msgstr "Tedarik Arama"
 
 #. module: procurement
 #: help:procurement.order,message:0
index a1be39f..4550569 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-11-28 13:52+0000\n"
+"PO-Revision-Date: 2014-05-17 04:51+0000\n"
 "Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-29 05:30+0000\n"
-"X-Generator: Launchpad (build 16847)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: product
 #: field:product.packaging,rows:0
@@ -148,7 +148,7 @@ msgstr "Bu fiyat listesi satırı için belirgin kural adı"
 #. module: product
 #: field:product.template,uos_coeff:0
 msgid "Unit of Measure -> UOS Coeff"
-msgstr "Ölçü Birimi -> Satış Birimi Kats"
+msgstr "Ölçü Birimi -> UOS Katsayı"
 
 #. module: product
 #: field:product.price_list,price_list:0
@@ -480,7 +480,7 @@ msgstr "Tedarikler"
 #. module: product
 #: model:res.groups,name:product.group_mrp_properties
 msgid "Manage Properties of Product"
-msgstr "Ürün Özellikleri Yönetimi"
+msgstr "Ürün Özelliklerini Yönetme"
 
 #. module: product
 #: help:product.uom,factor:0
@@ -652,7 +652,7 @@ msgstr "Görünüm"
 #. module: product
 #: model:ir.actions.act_window,name:product.product_template_action_tree
 msgid "Product Templates"
-msgstr "Ürün  Şablonu"
+msgstr "Ürün Şablonu"
 
 #. module: product
 #: field:product.category,parent_left:0
@@ -1000,7 +1000,7 @@ msgstr "Bir İzleyicidir"
 #. module: product
 #: field:product.product,price_extra:0
 msgid "Variant Price Extra"
-msgstr "Değişke Fiyat Ek"
+msgstr "Değişken Ekstra Fiyatı"
 
 #. module: product
 #: model:ir.model,name:product.model_product_supplierinfo
@@ -1299,7 +1299,7 @@ msgstr "Satış Birimi"
 #. module: product
 #: field:product.product,message_unread:0
 msgid "Unread Messages"
-msgstr "Okunmamış mesajlar"
+msgstr "Okunmamış Mesajlar"
 
 #. module: product
 #: model:ir.actions.act_window,name:product.product_uom_categ_form_action
@@ -1462,7 +1462,7 @@ msgstr "Ölçü Birimi"
 #. module: product
 #: field:product.supplierinfo,min_qty:0
 msgid "Minimal Quantity"
-msgstr "Enaz Miktar"
+msgstr "En Az Miktar"
 
 #. module: product
 #: view:product.supplierinfo:0
@@ -1506,7 +1506,7 @@ msgstr ""
 #: view:product.product:0
 #: selection:product.template,type:0
 msgid "Consumable"
-msgstr "Tüketilebilir"
+msgstr "Hammadde"
 
 #. module: product
 #: help:product.price.type,currency_id:0
@@ -1653,7 +1653,7 @@ msgstr "Yuvarlama Hassasiyeti"
 #. module: product
 #: view:product.product:0
 msgid "Consumable products"
-msgstr "Tüketilebilir ürünler"
+msgstr "Sarf ürünler"
 
 #. module: product
 #: model:product.template,name:product.product_product_21_product_template
@@ -1888,7 +1888,7 @@ msgstr "Hata!Enaz oran ençok orandan daha düşük olmalıdır."
 #. module: product
 #: model:res.groups,name:product.group_uos
 msgid "Manage Secondary Unit of Measure"
-msgstr "İkinci Ölçü Birimi Yönetimi"
+msgstr "İkinci Ölçü Birimini Yönetme"
 
 #. module: product
 #: help:product.uom,rounding:0
@@ -2186,7 +2186,7 @@ msgstr "Tedarikçi Açıklaması"
 #. module: product
 #: field:product.supplierinfo,delay:0
 msgid "Delivery Lead Time"
-msgstr "Teslimat Süresi"
+msgstr "Teslim Süresi"
 
 #. module: product
 #: view:product.product:0
@@ -2336,7 +2336,7 @@ msgstr "Resim"
 #. module: product
 #: view:product.uom.categ:0
 msgid "Units of Measure categories"
-msgstr "Ölçü Birimi kategorileri"
+msgstr "Ölçü Birimi Kategorileri"
 
 #. module: product
 #: model:product.template,description_sale:product.product_product_4_product_template
@@ -2359,7 +2359,7 @@ msgstr "Açıklamalar"
 #. module: product
 #: model:res.groups,name:product.group_stock_packaging
 msgid "Manage Product Packaging"
-msgstr "Ürün Ambalaj Yönetimi"
+msgstr "Ürün Paketleme Yönetimi"
 
 #. module: product
 #: model:product.category,name:product.product_category_2
@@ -2488,7 +2488,7 @@ msgstr "Bütün paketin ağırlığı(palet ya da kutu)"
 #. module: product
 #: view:product.uom:0
 msgid "e.g: 1 * (this unit) = ratio * (reference unit)"
-msgstr "örn: 1 * (bu birim) = oran * (referans birim)"
+msgstr "örn: 1 * (bu birim) = oran * (referans birimi)"
 
 #. module: product
 #: model:product.template,description:product.product_product_25_product_template
@@ -2523,7 +2523,7 @@ msgstr ""
 #. module: product
 #: model:product.template,name:product.product_assembly_product_template
 msgid "Assembly Service Cost"
-msgstr "Montaj Hizmeti Maliyeti"
+msgstr "Montaj Hizmet Maliyeti"
 
 #. module: product
 #: model:ir.model,name:product.model_product_pricelist_item
diff --git a/addons/product/report/product_pricelist.sxw b/addons/product/report/product_pricelist.sxw
new file mode 100644 (file)
index 0000000..40d7a0d
Binary files /dev/null and b/addons/product/report/product_pricelist.sxw differ
index a453b3e..f251458 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-04-27 16:09+0000\n"
-"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
+"PO-Revision-Date: 2014-05-17 04:51+0000\n"
+"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:27+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: product_expiry
 #: model:product.template,name:product_expiry.product_product_from_product_template
@@ -30,7 +30,7 @@ msgstr "İnek Sütü"
 #. module: product_expiry
 #: field:product.product,life_time:0
 msgid "Product Life Time"
-msgstr "Ürünün ömrü"
+msgstr "Ürünün Kulanım Tarihi"
 
 #. module: product_expiry
 #: help:stock.production.lot,removal_date:0
@@ -51,7 +51,7 @@ msgstr ""
 #. module: product_expiry
 #: field:product.product,use_time:0
 msgid "Product Use Time"
-msgstr "Ürün kullanım süresi"
+msgstr "Ürün Kullanım Süresi"
 
 #. module: product_expiry
 #: model:ir.model,name:product_expiry.model_product_product
@@ -111,12 +111,12 @@ msgstr "Tarihler"
 #. module: product_expiry
 #: field:stock.production.lot,life_date:0
 msgid "End of Life Date"
-msgstr "Ömür Sonu Tarihi"
+msgstr "Sonlanma Tarihi"
 
 #. module: product_expiry
 #: field:stock.production.lot,use_date:0
 msgid "Best before Date"
-msgstr "Son kullanım Tarihi"
+msgstr "Son Kullanım Tarihi"
 
 #. module: product_expiry
 #: model:product.template,name:product_expiry.product_product_jambon_product_template
index d531c57..609fd70 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-04-02 11:48+0000\n"
-"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
+"PO-Revision-Date: 2014-05-17 04:51+0000\n"
+"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:28+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: product_margin
 #: view:product.product:0
@@ -83,7 +83,7 @@ msgstr "# Satışda Faturalandı"
 #. module: product_margin
 #: view:product.product:0
 msgid "Catalog Price"
-msgstr "Katalog fiyatı"
+msgstr "Katalog Fiyatı"
 
 #. module: product_margin
 #: selection:product.margin,invoice_state:0
@@ -125,7 +125,7 @@ msgstr "Oran Tarihi Başı"
 #. module: product_margin
 #: view:product.product:0
 msgid "Analysis Criteria"
-msgstr "Analiz kriteri"
+msgstr "Analiz Kriteri"
 
 #. module: product_margin
 #: view:product.product:0
@@ -156,7 +156,7 @@ msgstr "Tahmini Kâr * 100 / Tahmini Satış"
 #. module: product_margin
 #: help:product.product,sale_avg_price:0
 msgid "Avg. Price in Customer Invoices."
-msgstr "Ort. Müşteri Faturalar Fiyat."
+msgstr "Ort. Müşteri Faturalar Fiyatları."
 
 #. module: product_margin
 #: help:product.product,purchase_avg_price:0
@@ -229,7 +229,7 @@ msgstr "Toplam margin * 100 / Ciro"
 #. module: product_margin
 #: view:product.margin:0
 msgid "Open Margins"
-msgstr "Marj Aç"
+msgstr "Açık Marj"
 
 #. module: product_margin
 #: selection:product.margin,invoice_state:0
@@ -250,7 +250,7 @@ msgstr "Ürün"
 #. module: product_margin
 #: view:product.margin:0
 msgid "General Information"
-msgstr "Genel Bilgiler"
+msgstr "Genel Bilgisi"
 
 #. module: product_margin
 #: field:product.product,purchase_gap:0
@@ -280,4 +280,4 @@ msgstr "ya da"
 #. module: product_margin
 #: model:ir.model,name:product_margin.model_product_margin
 msgid "Product Margin"
-msgstr "Ürün kar marjı"
+msgstr "Ürün Kar Marjı"
index 64ddd66..1436ef3 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2014-02-09 02:52+0000\n"
+"PO-Revision-Date: 2014-05-14 03:32+0000\n"
 "Last-Translator: gobi <Unknown>\n"
 "Language-Team: Mongolian <mn@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-02-10 05:53+0000\n"
-"X-Generator: Launchpad (build 16916)\n"
+"X-Launchpad-Export-Date: 2014-05-15 06:10+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: project_issue
 #: model:project.category,name:project_issue.project_issue_category_03
@@ -129,13 +129,13 @@ msgid ""
 "You cannot escalate this issue.\n"
 "The relevant Project has not configured the Escalation Project!"
 msgstr ""
-"Энэ асуудлыг томруулах боломжгүй.\n"
-"Энэ төсөл нь томруулж болох төслөөр тохируулагдаагүй байна!"
+"Энэ асуудлыг дэвшүүлэх боломжгүй.\n"
+"Энэ төсөл нь Дэвшүүлэх Төслийг тохируулаагүй байна!"
 
 #. module: project_issue
 #: constraint:project.project:0
 msgid "Error! You cannot assign escalation to the same project!"
-msgstr "Алдаа! Ижил төсөлд томруулалтыг олгох боломжгүй."
+msgstr "Алдаа! Ижил төсөлд дэвшүүлэхээр тохируулах боломжгүй."
 
 #. module: project_issue
 #: selection:project.issue,priority:0
@@ -264,7 +264,7 @@ msgid ""
 "If any issue is escalated from the current Project, it will be listed under "
 "the project selected here."
 msgstr ""
-"Хэрэв асуудал энэ төслөөс томруулсан бол тэдгээр нь энд сонгосон төслүүдэд "
+"Хэрэв асуудал энэ төслөөс дэвшүүлэгдсэн бол тэдгээр нь энд сонгосон төсөлд "
 "харагдана."
 
 #. module: project_issue
@@ -899,7 +899,7 @@ msgstr "Онцлогийн тайлбар"
 #. module: project_issue
 #: field:project.project,project_escalation_id:0
 msgid "Project Escalation"
-msgstr "Төслийг Томруулах"
+msgstr "Дэвшүүлэх Төсөл"
 
 #. module: project_issue
 #: model:ir.actions.act_window,help:project_issue.project_issue_version_action
@@ -948,7 +948,7 @@ msgstr "4-р сар"
 #. module: project_issue
 #: view:project.issue:0
 msgid "⇒ Escalate"
-msgstr "⇒ Томруулах"
+msgstr "⇒ Дэвшүүлэх"
 
 #. module: project_issue
 #: model:mail.message.subtype,description:project_issue.mt_issue_new
index 3540c0c..5945d52 100644 (file)
@@ -200,7 +200,8 @@ class project_work(osv.osv):
                 if amount_unit and 'amount' in amount_unit.get('value',{}):
                     vals_line['amount'] = amount_unit['value']['amount']
 
-            self.pool.get('hr.analytic.timesheet').write(cr, uid, [line_id.id], vals_line, context=context)
+            if vals_line:
+                self.pool.get('hr.analytic.timesheet').write(cr, uid, [line_id.id], vals_line, context=context)
 
         return super(project_work,self).write(cr, uid, ids, vals, context)
 
index d0bd572..ab2b652 100644 (file)
@@ -37,7 +37,7 @@
     <p style="border-left: 1px solid #8e0000; margin-left: 30px;">
        &nbsp;&nbsp;<strong>REFERENCES</strong><br />
        &nbsp;&nbsp;Order number: <strong>${object.name}</strong><br />
-       &nbsp;&nbsp;Order total: <strong>${object.amount_total} ${object.pricelist_id.currency_id.name}</strong><br />
+       &nbsp;&nbsp;Order total: <strong>${object.amount_total} ${object.currency_id.name}</strong><br />
        &nbsp;&nbsp;Order date: ${object.date_order}<br />
        % if object.origin:
        &nbsp;&nbsp;Order reference: ${object.origin}<br />
index 672866e..3304d4e 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2014-03-05 10:43+0000\n"
+"PO-Revision-Date: 2014-05-17 04:51+0000\n"
 "Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\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-06 06:14+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: purchase
 #: model:res.groups,name:purchase.group_analytic_accounting
@@ -390,7 +390,7 @@ msgstr "Mali Durumu"
 #. module: purchase
 #: field:purchase.config.settings,default_invoice_method:0
 msgid "Default invoicing control method"
-msgstr "Varsayılan fatura denetim yöntemi"
+msgstr "Varsayılan faturalama kontrol yöntemi"
 
 #. module: purchase
 #: model:ir.model,name:purchase.model_stock_picking_in
@@ -636,7 +636,7 @@ msgstr "Ara Toplam"
 #. module: purchase
 #: field:purchase.order,shipped:0
 msgid "Received"
-msgstr "Alındı"
+msgstr "Kabul Edildi"
 
 #. module: purchase
 #: view:purchase.order:0
@@ -825,7 +825,7 @@ msgstr "Sipariş Tarihi"
 #. module: purchase
 #: field:purchase.config.settings,group_uom:0
 msgid "Manage different units of measure for products"
-msgstr "Ürünler için farklı ölçü birimlerini yönetin"
+msgstr "Ürünler için farklı ölçü birimlerini yönetme"
 
 #. module: purchase
 #: model:process.node,name:purchase.process_node_invoiceafterpacking0
@@ -1082,7 +1082,7 @@ msgstr "Mesajlar ve iletişim geçmişi"
 #: field:purchase.order,warehouse_id:0
 #: field:stock.picking.in,warehouse_id:0
 msgid "Destination Warehouse"
-msgstr "Varış Deposu"
+msgstr "Hedef Konum"
 
 #. module: purchase
 #: code:addons/purchase/purchase.py:967
@@ -1107,7 +1107,7 @@ msgstr "Ölçü Birimi"
 #. module: purchase
 #: field:purchase.config.settings,group_purchase_pricelist:0
 msgid "Manage pricelist per supplier"
-msgstr "Her tedarikçi için fiyat listesi yürüt"
+msgstr "Her tedarikçi için fiyat listesi yürütme"
 
 #. module: purchase
 #: view:board.board:0
@@ -1180,7 +1180,7 @@ msgstr "Notlar"
 #. module: purchase
 #: field:purchase.config.settings,module_purchase_requisition:0
 msgid "Manage purchase requisitions"
-msgstr "Satınalma istekleri yürüt"
+msgstr "Satınalma isteklerini yürütme"
 
 #. module: purchase
 #: report:purchase.order:0
@@ -1216,7 +1216,7 @@ msgstr "İşlem Geçersiz!"
 #: field:purchase.order,validator:0
 #: view:purchase.report:0
 msgid "Validated by"
-msgstr "Doğrulayan"
+msgstr "Onaylayan"
 
 #. module: purchase
 #: view:purchase.report:0
@@ -1259,7 +1259,7 @@ msgstr "Bir satınalma siparişi için oluşturulan faturalar"
 #. module: purchase
 #: selection:purchase.config.settings,default_invoice_method:0
 msgid "Pre-generate draft invoices based on purchase orders"
-msgstr "Satınalma siparişlerine göre taslak fatura ön oluşturma"
+msgstr "Satınalma siparişinden oluşturulan taslak faturalardan"
 
 #. module: purchase
 #: help:product.template,purchase_ok:0
@@ -1498,7 +1498,7 @@ msgstr ""
 #. module: purchase
 #: field:purchase.config.settings,module_purchase_double_validation:0
 msgid "Force two levels of approvals"
-msgstr "Onayları iki seviye zorlayın"
+msgstr "Onayları ikili düzeye zorlama"
 
 #. module: purchase
 #: model:ir.ui.menu,name:purchase.menu_product_pricelist_action2_purchase_type
@@ -1600,7 +1600,7 @@ msgstr "Siparişleri birleştir"
 #. module: purchase
 #: field:purchase.config.settings,module_purchase_analytic_plans:0
 msgid "Use multiple analytic accounts on purchase orders"
-msgstr "Satınalma siparişlerinde birden çok analitik hesap kullanın"
+msgstr "Satınalma siparişlerinde birden çok analitik hesap kullanma"
 
 #. module: purchase
 #: model:ir.ui.menu,name:purchase.menu_procurement_management
@@ -1623,7 +1623,7 @@ msgstr "Elle Düzeltildi"
 #. module: purchase
 #: field:purchase.config.settings,group_costing_method:0
 msgid "Compute product cost price based on average cost"
-msgstr "Maliyet fiyatını ortalama fiyata göre hesaplayın"
+msgstr "Maliyet fiyatını ortalama fiyata göre hesaplama"
 
 #. module: purchase
 #: code:addons/purchase/purchase.py:352
@@ -1684,12 +1684,12 @@ msgstr ""
 #. module: purchase
 #: field:purchase.order,invoiced:0
 msgid "Invoice Received"
-msgstr "Fatura Alındı"
+msgstr "Fatura Kabulu"
 
 #. module: purchase
 #: field:purchase.order,invoice_method:0
 msgid "Invoicing Control"
-msgstr "Faturalama Denetimi"
+msgstr "Fatura Kontrolu"
 
 #. module: purchase
 #: model:process.transition.action,name:purchase.process_transition_action_approvingpurchaseorder0
@@ -1739,7 +1739,7 @@ msgstr ""
 #: view:purchase.report:0
 #: field:purchase.report,location_id:0
 msgid "Destination"
-msgstr "Varış yeri"
+msgstr "Hedef Konum"
 
 #. module: purchase
 #: field:purchase.order,dest_address_id:0
@@ -1863,7 +1863,7 @@ msgstr ""
 #: selection:purchase.order.line,state:0
 #: selection:purchase.report,state:0
 msgid "Cancelled"
-msgstr "İptal edildi"
+msgstr "İptal Edildi"
 
 #. module: purchase
 #: field:res.partner,purchase_order_count:0
@@ -2013,7 +2013,7 @@ msgstr "Referans Ölçü Birimi"
 #: report:purchase.order:0
 #: field:purchase.report,validator:0
 msgid "Validated By"
-msgstr "Doğrulayan"
+msgstr "Onaylayan"
 
 #. module: purchase
 #: view:purchase.report:0
@@ -2078,7 +2078,7 @@ msgstr "Faturalandı"
 #: view:purchase.order.line:0
 #: field:stock.move,purchase_line_id:0
 msgid "Purchase Order Line"
-msgstr "Satınalma Siparişi Kalemi"
+msgstr "Satınalma Sipariş Satırı"
 
 #. module: purchase
 #: selection:purchase.order.line,state:0
@@ -2451,7 +2451,7 @@ msgstr "Yıl"
 #. module: purchase
 #: selection:purchase.config.settings,default_invoice_method:0
 msgid "Based on purchase order lines"
-msgstr "Satınalma sipariş kalemlerine göre"
+msgstr "Satınalma sipariş satırlarına istinaden"
 
 #. module: purchase
 #: model:ir.actions.act_window,help:purchase.act_res_partner_2_purchase_order
index a9d8e77..d258eee 100644 (file)
@@ -192,7 +192,7 @@ class purchase_order(osv.osv):
         'picking_ids': fields.one2many('stock.picking.in', 'purchase_id', 'Picking List', readonly=True, help="This is the list of incoming shipments that have been generated for this purchase order."),
         'shipped':fields.boolean('Received', readonly=True, select=True, help="It indicates that a picking has been done"),
         'shipped_rate': fields.function(_shipped_rate, string='Received Ratio', type='float'),
-        'invoiced': fields.function(_invoiced, string='Invoice Received', type='boolean', help="It indicates that an invoice has been paid"),
+        'invoiced': fields.function(_invoiced, string='Invoice Received', type='boolean', help="It indicates that an invoice has been validated"),
         'invoiced_rate': fields.function(_invoiced_rate, string='Invoiced', type='float'),
         'invoice_method': fields.selection([('manual','Based on Purchase Order lines'),('order','Based on generated draft invoice'),('picking','Based on incoming shipments')], 'Invoicing Control', required=True,
             readonly=True, states={'draft':[('readonly',False)], 'sent':[('readonly',False)]},
@@ -499,6 +499,8 @@ class purchase_order(osv.osv):
         if not len(ids):
             return False
         self.write(cr, uid, ids, {'state':'draft','shipped':0})
+        for purchase in self.browse(cr, uid, ids, context=context):
+            self.pool['purchase.order.line'].write(cr, uid, [l.id for l in  purchase.order_line], {'state': 'draft'})
         wf_service = netsvc.LocalService("workflow")
         for p_id in ids:
             # Deleting the existing instance of workflow for PO
@@ -596,6 +598,8 @@ class purchase_order(osv.osv):
                         _('You must first cancel all receptions related to this purchase order.'))
                 if inv:
                     wf_service.trg_validate(uid, 'account.invoice', inv.id, 'invoice_cancel', cr)
+            self.pool['purchase.order.line'].write(cr, uid, [l.id for l in  purchase.order_line],
+                    {'state': 'cancel'})
         self.write(cr,uid,ids,{'state':'cancel'})
 
         for (id, name) in self.name_get(cr, uid, ids):
@@ -901,6 +905,8 @@ class purchase_order_line(osv.osv):
     def unlink(self, cr, uid, ids, context=None):
         procurement_ids_to_cancel = []
         for line in self.browse(cr, uid, ids, context=context):
+            if line.state not in ['draft', 'cancel']:
+                raise osv.except_osv(_('Invalid Action!'), _('Cannot delete a purchase order line which is in state \'%s\'.') %(line.state,))
             if line.move_dest_id:
                 procurement_ids_to_cancel.extend(procurement.id for procurement in line.move_dest_id.procurements)
         if procurement_ids_to_cancel:
diff --git a/addons/purchase/report/order.sxw b/addons/purchase/report/order.sxw
new file mode 100644 (file)
index 0000000..827bcb1
Binary files /dev/null and b/addons/purchase/report/order.sxw differ
diff --git a/addons/purchase/report/request_quotation.sxw b/addons/purchase/report/request_quotation.sxw
new file mode 100644 (file)
index 0000000..8c242cb
Binary files /dev/null and b/addons/purchase/report/request_quotation.sxw differ
index aa9d149..9df8a5f 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-03-04 00:47+0000\n"
-"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
+"PO-Revision-Date: 2014-05-17 04:51+0000\n"
+"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:31+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: purchase_analytic_plans
 #: field:purchase.order.line,analytics_id:0
@@ -25,7 +25,7 @@ msgstr "Analitik Dağıtım"
 #. module: purchase_analytic_plans
 #: model:ir.model,name:purchase_analytic_plans.model_purchase_order_line
 msgid "Purchase Order Line"
-msgstr "Satınalma Siparişi Kalemi"
+msgstr "Satınalma Sipariş Satırı"
 
 #. module: purchase_analytic_plans
 #: model:ir.model,name:purchase_analytic_plans.model_purchase_order
index 7ca648b..4310ba9 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-04-14 17:11+0000\n"
-"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
+"PO-Revision-Date: 2014-05-17 04:51+0000\n"
+"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:32+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: purchase_requisition
 #: view:purchase.requisition:0
@@ -72,7 +72,7 @@ msgstr "Sorumlu"
 #. module: purchase_requisition
 #: view:purchase.requisition:0
 msgid "Cancel Requisition"
-msgstr "İsteği İptal et"
+msgstr "İsteği İptal Et"
 
 #. module: purchase_requisition
 #: view:purchase.requisition:0
@@ -428,7 +428,7 @@ msgstr "Depo"
 #. module: purchase_requisition
 #: field:procurement.order,requisition_id:0
 msgid "Latest Requisition"
-msgstr "Enson İstek"
+msgstr "En Son İstek"
 
 #. module: purchase_requisition
 #: model:res.groups,name:purchase_requisition.group_purchase_requisition_manager
diff --git a/addons/purchase_requisition/report/purchase_requisition.sxw b/addons/purchase_requisition/report/purchase_requisition.sxw
new file mode 100644 (file)
index 0000000..1d6c2c6
Binary files /dev/null and b/addons/purchase_requisition/report/purchase_requisition.sxw differ
diff --git a/addons/report_intrastat/report/invoice.sxw b/addons/report_intrastat/report/invoice.sxw
new file mode 100644 (file)
index 0000000..11ed9cd
Binary files /dev/null and b/addons/report_intrastat/report/invoice.sxw differ
index c6a30f5..cccaec7 100644 (file)
@@ -37,6 +37,7 @@ from openerp import report
 import tempfile
 import time
 import logging
+from functools import partial
 
 from mako.template import Template
 from mako.lookup import TemplateLookup
@@ -68,7 +69,6 @@ class WebKitParser(report_sxw):
     """
     def __init__(self, name, table, rml=False, parser=False,
         header=True, store=False):
-        self.parser_instance = False
         self.localcontext = {}
         report_sxw.__init__(self, name, table, rml, parser,
             header, store)
@@ -105,8 +105,8 @@ class WebKitParser(report_sxw):
         """Call webkit in order to generate pdf"""
         if not webkit_header:
             webkit_header = report_xml.webkit_header
-        tmp_dir = tempfile.gettempdir()
-        out_filename = tempfile.mktemp(suffix=".pdf", prefix="webkit.tmp.")
+        fd, out_filename = tempfile.mkstemp(suffix=".pdf",
+                                            prefix="webkit.tmp.")
         file_to_del = [out_filename]
         if comm_path:
             command = [comm_path]
@@ -117,25 +117,15 @@ class WebKitParser(report_sxw):
         # default to UTF-8 encoding.  Use <meta charset="latin-1"> to override.
         command.extend(['--encoding', 'utf-8'])
         if header :
-            head_file = file( os.path.join(
-                                  tmp_dir,
-                                  str(time.time()) + '.head.html'
-                                 ),
-                                'w'
-                            )
-            head_file.write(self._sanitize_html(header))
-            head_file.close()
+            with tempfile.NamedTemporaryFile(suffix=".head.html",
+                                             delete=False) as head_file:
+                head_file.write(self._sanitize_html(header))
             file_to_del.append(head_file.name)
             command.extend(['--header-html', head_file.name])
         if footer :
-            foot_file = file(  os.path.join(
-                                  tmp_dir,
-                                  str(time.time()) + '.foot.html'
-                                 ),
-                                'w'
-                            )
-            foot_file.write(self._sanitize_html(footer))
-            foot_file.close()
+            with tempfile.NamedTemporaryFile(suffix=".foot.html",
+                                             delete=False) as foot_file:
+                foot_file.write(self._sanitize_html(footer))
             file_to_del.append(foot_file.name)
             command.extend(['--footer-html', foot_file.name])
 
@@ -153,10 +143,10 @@ class WebKitParser(report_sxw):
             command.extend(['--page-size', str(webkit_header.format).replace(',', '.')])
         count = 0
         for html in html_list :
-            html_file = file(os.path.join(tmp_dir, str(time.time()) + str(count) +'.body.html'), 'w')
-            count += 1
-            html_file.write(self._sanitize_html(html))
-            html_file.close()
+            with tempfile.NamedTemporaryFile(suffix="%d.body.html" %count,
+                                             delete=False) as html_file:
+                count += 1
+                html_file.write(self._sanitize_html(html))
             file_to_del.append(html_file.name)
             command.append(html_file.name)
         command.append(out_filename)
@@ -176,9 +166,9 @@ class WebKitParser(report_sxw):
             if status :
                 raise except_osv(_('Webkit error' ),
                                  _("The command 'wkhtmltopdf' failed with error code = %s. Message: %s") % (status, error_message))
-            pdf_file = open(out_filename, 'rb')
-            pdf = pdf_file.read()
-            pdf_file.close()
+            with open(out_filename, 'rb') as pdf_file:
+                pdf = pdf_file.read()
+            os.close(fd)
         finally:
             if stderr_fd is not None:
                 os.close(stderr_fd)
@@ -189,16 +179,16 @@ class WebKitParser(report_sxw):
                     _logger.error('cannot remove file %s: %s', f_to_del, exc)
         return pdf
 
-    def translate_call(self, src):
+    def translate_call(self, parser_instance, src):
         """Translate String."""
-        ir_translation = self.pool.get('ir.translation')
+        ir_translation = self.pool['ir.translation']
         name = self.tmpl and 'addons/' + self.tmpl or None
-        res = ir_translation._get_source(self.parser_instance.cr, self.parser_instance.uid,
-                                         name, 'report', self.parser_instance.localcontext.get('lang', 'en_US'), src)
+        res = ir_translation._get_source(parser_instance.cr, parser_instance.uid,
+                                         name, 'report', parser_instance.localcontext.get('lang', 'en_US'), src)
         if res == src:
             # no translation defined, fallback on None (backward compatibility)
-            res = ir_translation._get_source(self.parser_instance.cr, self.parser_instance.uid,
-                                             None, 'report', self.parser_instance.localcontext.get('lang', 'en_US'), src)
+            res = ir_translation._get_source(parser_instance.cr, parser_instance.uid,
+                                             None, 'report', parser_instance.localcontext.get('lang', 'en_US'), src)
         if not res :
             return src
         return res
@@ -213,14 +203,14 @@ class WebKitParser(report_sxw):
         if report_xml.report_type != 'webkit':
             return super(WebKitParser,self).create_single_pdf(cursor, uid, ids, data, report_xml, context=context)
 
-        self.parser_instance = self.parser(cursor,
-                                           uid,
-                                           self.name2,
-                                           context=context)
+        parser_instance = self.parser(cursor,
+                                      uid,
+                                      self.name2,
+                                      context=context)
 
         self.pool = pooler.get_pool(cursor.dbname)
         objs = self.getObjects(cursor, uid, ids, context)
-        self.parser_instance.set_context(objs, data, ids, report_xml.report_type)
+        parser_instance.set_context(objs, data, ids, report_xml.report_type)
 
         template =  False
 
@@ -250,17 +240,18 @@ class WebKitParser(report_sxw):
         if not css :
             css = ''
 
+        translate_call = partial(self.translate_call, parser_instance)
         #default_filters=['unicode', 'entity'] can be used to set global filter
         body_mako_tpl = mako_template(template)
         helper = WebKitHelper(cursor, uid, report_xml.id, context)
         if report_xml.precise_mode:
             for obj in objs:
-                self.parser_instance.localcontext['objects'] = [obj]
+                parser_instance.localcontext['objects'] = [obj]
                 try :
                     html = body_mako_tpl.render(helper=helper,
                                                 css=css,
-                                                _=self.translate_call,
-                                                **self.parser_instance.localcontext)
+                                                _=translate_call,
+                                                **parser_instance.localcontext)
                     htmls.append(html)
                 except Exception:
                     msg = exceptions.text_error_template().render()
@@ -270,8 +261,8 @@ class WebKitParser(report_sxw):
             try :
                 html = body_mako_tpl.render(helper=helper,
                                             css=css,
-                                            _=self.translate_call,
-                                            **self.parser_instance.localcontext)
+                                            _=translate_call,
+                                            **parser_instance.localcontext)
                 htmls.append(html)
             except Exception:
                 msg = exceptions.text_error_template().render()
@@ -281,9 +272,9 @@ class WebKitParser(report_sxw):
         try :
             head = head_mako_tpl.render(helper=helper,
                                         css=css,
-                                        _=self.translate_call,
+                                        _=translate_call,
                                         _debug=False,
-                                        **self.parser_instance.localcontext)
+                                        **parser_instance.localcontext)
         except Exception:
             raise except_osv(_('Webkit render!'),
                 exceptions.text_error_template().render())
@@ -293,8 +284,8 @@ class WebKitParser(report_sxw):
             try :
                 foot = foot_mako_tpl.render(helper=helper,
                                             css=css,
-                                            _=self.translate_call,
-                                            **self.parser_instance.localcontext)
+                                            _=translate_call,
+                                            **parser_instance.localcontext)
             except:
                 msg = exceptions.text_error_template().render()
                 _logger.error(msg)
@@ -304,8 +295,8 @@ class WebKitParser(report_sxw):
                 deb = head_mako_tpl.render(helper=helper,
                                            css=css,
                                            _debug=tools.ustr("\n".join(htmls)),
-                                           _=self.translate_call,
-                                           **self.parser_instance.localcontext)
+                                           _=translate_call,
+                                           **parser_instance.localcontext)
             except Exception:
                 msg = exceptions.text_error_template().render()
                 _logger.error(msg)
index bf015b3..cd1b18e 100644 (file)
@@ -22,7 +22,7 @@ from openerp.osv import osv, fields
 from openerp.addons.edi import EDIMixin
 from openerp.tools.translate import _
 
-from urllib import urlencode
+from werkzeug import url_encode
 
 SALE_ORDER_LINE_EDI_STRUCT = {
     'sequence': True,
@@ -197,7 +197,7 @@ class sale_order(osv.osv, EDIMixin):
                     "no_note": "1",
                     "bn": "OpenERP_Order_PayNow_" + order.pricelist_id.currency_id.name,
                 }
-                res[order.id] = "https://www.paypal.com/cgi-bin/webscr?" + urlencode(params)
+                res[order.id] = "https://www.paypal.com/cgi-bin/webscr?" + url_encode(params)
         return res
 
     _columns = {
diff --git a/addons/sale/i18n/fr_CA.po b/addons/sale/i18n/fr_CA.po
new file mode 100644 (file)
index 0000000..08a464d
--- /dev/null
@@ -0,0 +1,2323 @@
+# French (Canada) translation for openobject-addons
+# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014
+# This file is distributed under the same license as the openobject-addons package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, 2014.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
+"POT-Creation-Date: 2013-06-07 19:36+0000\n"
+"PO-Revision-Date: 2014-05-13 02:40+0000\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: French (Canada) <fr_CA@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Launchpad-Export-Date: 2014-05-14 06:20+0000\n"
+"X-Generator: Launchpad (build 17002)\n"
+
+#. module: sale
+#: model:ir.model,name:sale.model_account_config_settings
+msgid "account.config.settings"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "UoS"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+#: view:sale.order:0
+#: field:sale.order,user_id:0
+#: view:sale.order.line:0
+#: field:sale.order.line,salesman_id:0
+#: view:sale.report:0
+#: field:sale.report,user_id:0
+msgid "Salesperson"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,pricelist_id:0
+msgid "Pricelist for current sales order."
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,day:0
+msgid "Day"
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_cancelorder0
+#: view:sale.order:0
+msgid "Cancel Order"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:101
+#, python-format
+msgid "Incorrect Data"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:102
+#, python-format
+msgid "The value of Advance Amount must be positive."
+msgstr ""
+
+#. module: sale
+#: help:sale.config.settings,group_discount_per_so_line:0
+msgid "Allows you to apply some discount per sales order line."
+msgstr ""
+
+#. module: sale
+#: help:sale.order,message_unread:0
+msgid "If checked new messages require your attention."
+msgstr ""
+
+#. module: sale
+#: view:res.partner:0
+msgid "False"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Tax"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,state:0
+msgid ""
+"Gives the status of the quotation or sales order.              \n"
+"The exception status is automatically set when a cancel operation occurs     "
+"          in the invoice validation (Invoice Exception) or in the picking "
+"list process (Shipping Exception).\n"
+"The 'Waiting Schedule' status is set when the invoice is confirmed           "
+"    but waiting for the scheduler to run on the order date."
+msgstr ""
+"Donne le statut d'une soumission ou d'une commande de vente.\n"
+"Le statut 'Exception' est automatiquement défini quand une opération "
+"d'annulation est effectuée dans la validation de la facture (Exception de "
+"facturation) ou dans le processus de colisage (Exception de colisage).\n"
+"Le statut 'En attente' est défini quand une facture est confirmée mais on "
+"attend le lancement du planificateur à la date de la commande."
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,analytic_account_id:0
+#: field:sale.shop,project_id:0
+msgid "Analytic Account"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,message_summary:0
+msgid ""
+"Holds the Chatter summary (number of messages, ...). This summary is "
+"directly in html format in order to be inserted in kanban views."
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,product_uom_qty:0
+msgid "# of Qty"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:444
+#, python-format
+msgid "Customer Invoices"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_res_partner
+#: view:sale.report:0
+#: field:sale.report,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: sale
+#: help:sale.config.settings,group_sale_pricelist:0
+msgid ""
+"Allows to manage different prices based on rules per category of customers.\n"
+"Example: 10% for retailers, promotion of 5 EUR on this product, etc."
+msgstr ""
+
+#. module: sale
+#: selection:sale.advance.payment.inv,advance_payment_method:0
+msgid "Invoice the whole sales order"
+msgstr ""
+
+#. module: sale
+#: field:sale.shop,payment_default_id:0
+msgid "Default Payment Term"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.settings,group_uom:0
+msgid "Allow using different units of measures"
+msgstr ""
+
+#. module: sale
+#: selection:sale.advance.payment.inv,advance_payment_method:0
+msgid "Percentage"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Disc.(%)"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:764
+#, python-format
+msgid "Please define income account for this product: \"%s\" (id:%d)."
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,price_total:0
+msgid "Total Price"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.settings,group_invoice_so_lines:0
+msgid "Generate invoices based on the sales order lines"
+msgstr ""
+
+#. module: sale
+#: help:sale.make.invoice,grouped:0
+msgid "Check the box to group the invoices for the same customers"
+msgstr ""
+
+#. module: sale
+#: help:sale.config.settings,timesheet:0
+msgid ""
+"For modifying account analytic view to show important data to project "
+"manager of services companies.\n"
+"                You can also view the report of account analytic summary "
+"user-wise as well as month wise.\n"
+"                This installs the module account_analytic_analysis."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,invoice_quantity:0
+msgid "Ordered Quantities"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,name:0
+#: field:sale.order.line,order_id:0
+msgid "Order Reference"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Other Information"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_line_invoice.py:107
+#: code:addons/sale/wizard/sale_make_invoice.py:42
+#: code:addons/sale/wizard/sale_make_invoice.py:55
+#, python-format
+msgid "Warning!"
+msgstr ""
+
+#. module: sale
+#: view:sale.config.settings:0
+msgid "Invoicing Process"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Sales Order done"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.act_res_partner_2_sale_order
+#: view:res.partner:0
+msgid "Quotations and Sales"
+msgstr "Soumissions et ventes"
+
+#. module: sale
+#: help:sale.config.settings,group_uom:0
+msgid ""
+"Allows you to select and maintain different units of measure for products."
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_make_invoice
+msgid "Sales Make Invoice"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:307
+#, python-format
+msgid "Pricelist Warning!"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,discount:0
+msgid "Discount (%)"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line.make.invoice:0
+msgid "Create & View Invoice"
+msgstr ""
+
+#. module: sale
+#: view:board.board:0
+#: model:ir.actions.act_window,name:sale.action_quotation_for_sale
+msgid "My Quotations"
+msgstr "Mes soumissions"
+
+#. module: sale
+#: field:sale.config.settings,module_warning:0
+msgid "Allow configuring alerts by customer or products"
+msgstr ""
+
+#. module: sale
+#: field:sale.shop,name:0
+msgid "Shop Name"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:598
+#, python-format
+msgid "You cannot confirm a sales order which has no line."
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,help:sale.action_order_line_tree2
+msgid ""
+"<p>\n"
+"                Here is a list of each sales order line to be invoiced. You "
+"can\n"
+"                invoice sales orders partially, by lines of sales order. You "
+"do\n"
+"                not need this list if you invoice from the delivery orders "
+"or\n"
+"                if you invoice sales totally.\n"
+"              </p>\n"
+"            "
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Quotation "
+msgstr "Soumission "
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:106
+#, python-format
+msgid "Advance of %s %%"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_orders_exception
+msgid "Sales in Exception"
+msgstr ""
+
+#. module: sale
+#: help:sale.order.line,address_allotment_id:0
+msgid "A partner to whom the particular product needs to be allotted."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: field:sale.order,state:0
+#: view:sale.order.line:0
+#: field:sale.order.line,state:0
+#: view:sale.report:0
+msgid "Status"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "August"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.settings,module_sale_stock:0
+msgid "Trigger delivery orders automatically from sales orders"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_report
+msgid "Sales Orders Statistics"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,project_id:0
+msgid "The analytic account related to a sales order."
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "October"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,help:sale.action_orders
+msgid ""
+"<p class=\"oe_view_nocontent_create\">\n"
+"                Click to create a quotation that can be converted into a "
+"sales\n"
+"                order.\n"
+"              </p><p>\n"
+"                OpenERP will help you efficiently handle the complete sales "
+"flow:\n"
+"                quotation, sales order, delivery, invoicing and payment.\n"
+"              </p>\n"
+"            "
+msgstr ""
+"<p class=\"oe_view_nocontent_create\">\n"
+"                Cliquez pour créer une soumission qui pourra être convertie "
+"en commande\n"
+"                de vente.\n"
+"              </p><p>\n"
+"                OpenERP vous aidera à compléter efficacement le flux de "
+"vente :\n"
+"                soumission, commande, livraison, facturation et paiement.\n"
+"              </p>\n"
+"            "
+
+#. module: sale
+#: view:sale.order.line.make.invoice:0
+msgid ""
+"All items in these order lines will be invoiced. You can also invoice a "
+"percentage of the sales order\n"
+"                    or a fixed price (for advances) directly from the sales "
+"order form if you prefer."
+msgstr ""
+
+#. module: sale
+#: field:sale.order,message_summary:0
+msgid "Summary"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "View Invoice"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:113
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:115
+#, python-format
+msgid "Advance of %s %s"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_quotations
+#: model:ir.ui.menu,name:sale.menu_sale_quotations
+#: view:sale.order:0
+#: view:sale.report:0
+msgid "Quotations"
+msgstr "Soumissions"
+
+#. module: sale
+#: field:sale.advance.payment.inv,qtty:0
+#: report:sale.order:0
+#: field:sale.order.line,product_uom_qty:0
+msgid "Quantity"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,partner_shipping_id:0
+msgid "Delivery address for current sales order."
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "TVA :"
+msgstr ""
+
+#. module: sale
+#: model:res.groups,name:sale.group_invoice_so_lines
+msgid "Enable Invoicing Sales order lines"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "September"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,fiscal_position:0
+msgid "Fiscal Position"
+msgstr ""
+
+#. module: sale
+#: help:sale.advance.payment.inv,advance_payment_method:0
+msgid ""
+"Use All to create the final invoice.\n"
+"                Use Percentage to invoice a percentage of the total amount.\n"
+"                Use Fixed Price to invoice a specific amound in advance.\n"
+"                Use Some Order Lines to invoice a selection of the sales "
+"order lines."
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,state:0
+msgid "In Progress"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_confirmquotation0
+msgid ""
+"The salesman confirms the quotation. The state of the sales order becomes "
+"'In progress' or 'Manual in progress'."
+msgstr ""
+"Le vendeur confirme la soumission. L'état du bon de commande devient \"En "
+"cours\" ou \"Manuel, en cours\""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Sales Order Lines ready to be invoiced"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:308
+#, python-format
+msgid ""
+"If you change the pricelist of this order (and eventually the currency), "
+"prices of existing order lines will not be updated."
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Tel. :"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,partner_invoice_id:0
+msgid "Invoice address for current sales order."
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_config_settings
+msgid "sale.config.settings"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,order_policy:0
+msgid "Before Delivery"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:781
+#, python-format
+msgid ""
+"There is no Fiscal Position defined or Income category account defined for "
+"default properties of Product categories."
+msgstr ""
+
+#. module: sale
+#: field:sale.order,project_id:0
+msgid "Contract / Analytic"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Ordered month of the sales order"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:505
+#, python-format
+msgid ""
+"You cannot group sales having different currencies for the same partner."
+msgstr ""
+
+#. module: sale
+#: view:sale.advance.payment.inv:0
+#: view:sale.make.invoice:0
+#: view:sale.order.line.make.invoice:0
+msgid "or"
+msgstr ""
+
+#. module: sale
+#: model:mail.message.subtype,description:sale.mt_order_sent
+#: model:mail.message.subtype,name:sale.mt_order_sent
+msgid "Quotation sent"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,invoice_exists:0
+#: field:sale.order.line,invoiced:0
+msgid "Invoiced"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:202
+#, python-format
+msgid "Advance Invoice"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,date_confirm:0
+msgid "Confirmation Date"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,address_allotment_id:0
+msgid "Allotment Partner"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_view_sale_advance_payment_inv
+msgid "Invoice Order"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "March"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,amount_total:0
+msgid "The total amount."
+msgstr ""
+
+#. module: sale
+#: field:sale.config.settings,module_sale_journal:0
+msgid "Allow batch invoicing of delivery orders through journals"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,price_subtotal:0
+msgid "Subtotal"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Invoice address :"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,product_uom:0
+msgid "Unit of Measure "
+msgstr ""
+
+#. module: sale
+#: field:sale.config.settings,time_unit:0
+msgid "The default working time unit for services is"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,partner_invoice_id:0
+msgid "Invoice Address"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Sales Order Lines related to a Sales Order of mine"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.report.xml,name:sale.report_sale_order
+msgid "Quotation / Order"
+msgstr "Soumission / Commande"
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,nbr:0
+msgid "# of Lines"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "(update)"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_order_line
+msgid "Sales Order Line"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.settings,module_analytic_user_function:0
+msgid "One employee can have different roles per contract"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Print"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Order N°"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: field:sale.order,order_line:0
+msgid "Order Lines"
+msgstr ""
+
+#. module: sale
+#: field:account.config.settings,module_sale_analytic_plans:0
+msgid "Use multiple analytic accounts on sales"
+msgstr ""
+
+#. module: sale
+#: help:sale.config.settings,module_sale_journal:0
+msgid ""
+"Allows you to categorize your sales and deliveries (picking lists) between "
+"different journals,\n"
+"                and perform batch operations on journals.\n"
+"                This installs the module sale_journal."
+msgstr ""
+
+#. module: sale
+#: field:sale.order,create_date:0
+msgid "Creation Date"
+msgstr ""
+
+#. module: sale
+#: model:res.groups,name:sale.group_delivery_invoice_address
+msgid "Addresses in Sales Orders"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_line_tree3
+msgid "Uninvoiced and Delivered Lines"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Total :"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "My Sales"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,pricelist_id:0
+#: field:sale.report,pricelist_id:0
+#: field:sale.shop,pricelist_id:0
+msgid "Pricelist"
+msgstr ""
+
+#. module: sale
+#: help:sale.order.line,state:0
+msgid ""
+"* The 'Draft' status is set when the related sales order in draft status.    "
+"                 \n"
+"* The 'Confirmed' status is set when the related sales order is confirmed.   "
+"                  \n"
+"* The 'Exception' status is set when the related sales order is set as "
+"exception.                     \n"
+"* The 'Done' status is set when the sales order line has been picked.        "
+"             \n"
+"* The 'Cancelled' status is set when a user cancel the sales order related."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:92
+#, python-format
+msgid "There is no income account defined as global property."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:960
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:91
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:95
+#, python-format
+msgid "Configuration Error!"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,invoice_exists:0
+msgid "It indicates that sales order has at least one invoice."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Send by Email"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/res_config.py:97
+#, python-format
+msgid "Hour"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Order Date"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Shipped"
+msgstr ""
+
+#. module: sale
+#: view:sale.advance.payment.inv:0
+msgid "Create and View Invoice"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Quotation Date"
+msgstr "Date de soumission"
+
+#. module: sale
+#: field:sale.order,currency_id:0
+msgid "Currency"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:942
+#, python-format
+msgid ""
+"You have to select a pricelist or a customer in the sales form !\n"
+"Please set one before choosing a product."
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,categ_id:0
+msgid "Category of Product"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:564
+#, python-format
+msgid "Cannot cancel this sales order!"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Recreate Invoice"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Taxes :"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,help:sale.act_res_partner_2_sale_order
+msgid ""
+"<p class=\"oe_view_nocontent_create\">\n"
+"                Click to create a quotation or sales order for this "
+"customer.\n"
+"              </p><p>\n"
+"                OpenERP will help you efficiently handle the complete sale "
+"flow:\n"
+"                quotation, sales order, delivery, invoicing and\n"
+"                payment.\n"
+"              </p><p>\n"
+"                The social feature helps you organize discussions on each "
+"sales\n"
+"                order, and allow your customer to keep track of the "
+"evolution\n"
+"                of the sales order.\n"
+"              </p>\n"
+"            "
+msgstr ""
+"<p class=\"oe_view_nocontent_create\">\n"
+"                Cliquez pour créer une soumission ou une commande de vente "
+"pour votre client.\n"
+"              </p><p>\n"
+"                OpenERP vous aidera à compléter efficacement le flux de "
+"vente :\n"
+"                soumission, commande, livraison, facturation et paiement.\n"
+"              </p><p>\n"
+"                La fonctionnalité sociale vous aide à organiser les "
+"discussions sur chaque\n"
+"                commande de vente, et permet à vos clients de garder une "
+"trace de \n"
+"                l'évolution des commandes de vente.\n"
+"\n"
+"              </p>\n"
+"            "
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_orders
+#: model:ir.ui.menu,name:sale.menu_sale_order
+#: view:sale.order:0
+msgid "Sales Orders"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,order_policy:0
+msgid "On Demand"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,help:sale.action_shop_form
+msgid ""
+"<p class=\"oe_view_nocontent_create\">\n"
+"                Click to define a new sale shop.\n"
+"              </p><p>\n"
+"                Each quotation or sales order must be linked to a shop. The\n"
+"                shop also defines the warehouse from which the products will "
+"be\n"
+"                delivered for each particular sales.\n"
+"              </p>\n"
+"            "
+msgstr ""
+"<p class=\"oe_view_nocontent_create\">\n"
+"                Cliquez pour définir un nouveau magasin.\n"
+"              </p><p>\n"
+"                Chaque soumission ou vente doit être liée à un magasin.\n"
+"                Le magasin définit également de quel entrepôt les produits "
+"seront\n"
+"                livrés pour chaque vente.\n"
+"              </p>\n"
+"            "
+
+#. module: sale
+#: field:sale.order,message_is_follower:0
+msgid "Is a Follower"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,date_order:0
+msgid "Date"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Extended Filters..."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order.line,state:0
+msgid "Exception"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_shop
+#: view:sale.shop:0
+msgid "Sales Shop"
+msgstr ""
+
+#. module: sale
+#: help:sale.advance.payment.inv,product_id:0
+msgid ""
+"Select a product of type service which is called 'Advance Product'.\n"
+"                You may have to create it and set it as a default value on "
+"this field."
+msgstr ""
+
+#. module: sale
+#: help:sale.config.settings,module_warning:0
+msgid ""
+"Allow to configure notification on products and trigger them when a user "
+"wants to sale a given product or a given customer.\n"
+"Example: Product: this product is deprecated, do not purchase more than 5.\n"
+"                Supplier: don't forget to ask for an express delivery."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:955
+#, python-format
+msgid "No valid pricelist line found ! :"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.settings,module_sale_margin:0
+msgid "Display margins on sales orders"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,invoice_ids:0
+msgid ""
+"This is the list of invoices that have been generated for this sales order. "
+"The same sales order may have been invoiced in several times (by line for "
+"example)."
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Your Reference"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Qty"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "My Sales Order Lines"
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_cancel0
+#: view:sale.advance.payment.inv:0
+#: view:sale.make.invoice:0
+#: view:sale.order.line.make.invoice:0
+msgid "Cancel"
+msgstr ""
+
+#. module: sale
+#: sql_constraint:sale.order:0
+msgid "Order Reference must be unique per Company!"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:952
+#, python-format
+msgid ""
+"Cannot find a pricelist line matching this product and quantity.\n"
+"You have to change either the product, the quantity or the pricelist."
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_invoice0
+#: model:process.transition.action,name:sale.process_transition_action_createinvoice0
+#: view:sale.advance.payment.inv:0
+#: view:sale.order:0
+#: field:sale.order,order_policy:0
+#: view:sale.order.line:0
+msgid "Create Invoice"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Order reference"
+msgstr ""
+
+#. module: sale
+#: help:sale.config.settings,module_sale_stock:0
+msgid ""
+"Allows you to Make Quotation, Sale Order using different Order policy and "
+"Manage Related Stock.\n"
+"                    This installs the module sale_stock."
+msgstr ""
+"Vous permet de faire des soumissions, des commandes de vente en utilisant "
+"différentes politique de commande et de gérer les stock associés.\n"
+"                    Ceci installe le module 'sale_stock'."
+
+#. module: sale
+#: model:email.template,subject:sale.email_template_edi_sale
+msgid ""
+"${object.company_id.name} ${object.state in ('draft', 'sent') and "
+"'Quotation' or 'Order'} (Ref ${object.name or 'n/a' })"
+msgstr ""
+"${object.company_id.name} ${object.state in ('draft', 'sent') and "
+"'Soumission' or 'Commande'} (Réf. ${object.name or 'n/a' })"
+
+#. module: sale
+#: report:sale.order:0
+msgid "Price"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Quotation Number"
+msgstr "Numéro de soumission"
+
+#. module: sale
+#: model:ir.actions.act_window,help:sale.action_quotations
+msgid ""
+"<p class=\"oe_view_nocontent_create\">\n"
+"                Click to create a quotation, the first step of a new sale.\n"
+"              </p><p>\n"
+"                OpenERP will help you handle efficiently the complete sale "
+"flow:\n"
+"                from the quotation to the sales order, the\n"
+"                delivery, the invoicing and the payment collection.\n"
+"              </p><p>\n"
+"                The social feature helps you organize discussions on each "
+"sales\n"
+"                order, and allow your customers to keep track of the "
+"evolution\n"
+"                of the sales order.\n"
+"              </p>\n"
+"            "
+msgstr ""
+"<p class=\"oe_view_nocontent_create\">\n"
+"                Cliquez pour créer une soumission, la première étape d'une "
+"commande de vente.\n"
+"              </p><p>\n"
+"                OpenERP vous aidera à compléter efficacement le flux de "
+"vente :\n"
+"                de la soumission à la commande de vente, la \n"
+"                livraison, la facturation et les paiements.\n"
+"              </p><p>\n"
+"                La fonctionnalité sociale vous aide à organiser les "
+"discussions sur chaque\n"
+"                commande de vente, et permet à vos clients de garder une "
+"trace de \n"
+"                l'évolution des commandes de vente.\n"
+"              </p>\n"
+"            "
+
+#. module: sale
+#: selection:sale.order.line,type:0
+msgid "on order"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Shipping address :"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_quotation0
+msgid "Draft state of sales order"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,message_ids:0
+msgid "Messages and communication history"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "New Copy of Quotation"
+msgstr "Nouvelle copie de soumission"
+
+#. module: sale
+#: field:res.partner,sale_order_count:0
+msgid "# of Sales Order"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:983
+#, python-format
+msgid "Cannot delete a sales order line which is in state '%s'."
+msgstr ""
+
+#. module: sale
+#: model:res.groups,name:sale.group_mrp_properties
+msgid "Properties on lines"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:865
+#, python-format
+msgid ""
+"Before choosing a product,\n"
+" select a customer in the sales form."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Total Tax Included"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice.py:42
+#, python-format
+msgid "You cannot create invoice when sales order is not confirmed."
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Ordered date of the sales order"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_confirmquotation0
+msgid "Confirm Quotation"
+msgstr "Confirmer la soumission"
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_line_tree2
+#: model:ir.ui.menu,name:sale.menu_invoicing_sales_order_lines
+msgid "Order Lines to Invoice"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: view:sale.order.line:0
+#: view:sale.report:0
+msgid "Group By..."
+msgstr ""
+
+#. module: sale
+#: view:sale.config.settings:0
+msgid "Product Features"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0
+#: selection:sale.report,state:0
+msgid "Waiting Schedule"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+#: field:sale.report,product_uom:0
+msgid "Unit of Measure"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,type:0
+msgid "Procurement Method"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: field:sale.order,message_unread:0
+msgid "Unread Messages"
+msgstr ""
+
+#. module: sale
+#: model:mail.message.subtype,description:sale.mt_order_confirmed
+msgid "Quotation confirmed"
+msgstr "Soumission confirmée"
+
+#. module: sale
+#: selection:sale.order,state:0
+msgid "Draft Quotation"
+msgstr "Soumission en brouillon"
+
+#. module: sale
+#: field:sale.order,amount_tax:0
+#: field:sale.order.line,tax_id:0
+msgid "Taxes"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Sales Order ready to be invoiced"
+msgstr ""
+
+#. module: sale
+#: help:sale.config.settings,module_analytic_user_function:0
+msgid ""
+"Allows you to define what is the default function of a specific user on a "
+"given account.\n"
+"                This is mostly used when a user encodes his timesheet. The "
+"values are retrieved and the fields are auto-filled.\n"
+"                But the possibility to change these values is still "
+"available.\n"
+"                This installs the module analytic_user_function."
+msgstr ""
+
+#. module: sale
+#: help:sale.order,create_date:0
+msgid "Date on which sales order is created."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Terms and conditions..."
+msgstr ""
+
+#. module: sale
+#: view:sale.make.invoice:0
+#: view:sale.order.line.make.invoice:0
+msgid "Create Invoices"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:277
+#: code:addons/sale/sale.py:820
+#: code:addons/sale/sale.py:983
+#, python-format
+msgid "Invalid Action!"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Fax :"
+msgstr ""
+
+#. module: sale
+#: field:sale.advance.payment.inv,amount:0
+msgid "Advance Amount"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,invoice_quantity:0
+msgid "Shipped Quantities"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Sales Order that haven't yet been confirmed"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,invoice_quantity:0
+msgid ""
+"The sales order will automatically create the invoice proposition (draft "
+"invoice).                                              You have to choose  "
+"if you want your invoice based on ordered "
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_sale_order_make_invoice
+#: model:ir.actions.act_window,name:sale.action_view_sale_order_line_make_invoice
+msgid "Make Invoices"
+msgstr ""
+
+#. module: sale
+#: help:account.config.settings,group_analytic_account_for_sales:0
+msgid "Allows you to specify an analytic account on sales orders."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: view:sale.order.line:0
+msgid "To Invoice"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Ordered Year of the sales order"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "July"
+msgstr ""
+
+#. module: sale
+#: view:sale.advance.payment.inv:0
+msgid ""
+"After clicking 'Show Lines to Invoice', select lines to invoice and create "
+"the invoice from the 'More' dropdown menu."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Cancel Quotation"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0
+#: selection:sale.report,state:0
+msgid "Shipping Exception"
+msgstr ""
+
+#. module: sale
+#: field:sale.make.invoice,grouped:0
+msgid "Group the invoices"
+msgstr ""
+
+#. module: sale
+#: view:sale.config.settings:0
+msgid "Contracts Management"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,month:0
+msgid "Month"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_invoice0
+msgid "To be reviewed by the accountant."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "My Sales Orders"
+msgstr ""
+
+#. module: sale
+#: view:sale.make.invoice:0
+#: view:sale.order.line.make.invoice:0
+msgid "Create invoices"
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_order_line_make_invoice
+msgid "Sale OrderLine Make_invoice"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_saleorder0
+msgid "Drives procurement and invoicing"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,invoiced:0
+msgid "Paid"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_report_all
+#: model:ir.ui.menu,name:sale.menu_report_product_all
+#: view:sale.report:0
+msgid "Sales Analysis"
+msgstr ""
+
+#. module: sale
+#: model:process.node,name:sale.process_node_quotation0
+#: view:sale.order:0
+#: selection:sale.report,state:0
+msgid "Quotation"
+msgstr "Soumission"
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_invoice0
+msgid ""
+"The Salesman creates an invoice manually, if the sales order shipping policy "
+"is 'Shipping and Manual in Progress'. The invoice is created automatically "
+"if the shipping policy is 'Payment before Delivery'."
+msgstr ""
+
+#. module: sale
+#: field:sale.config.settings,group_discount_per_so_line:0
+msgid "Allow setting a discount on the sales order lines"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,paypal_url:0
+msgid "Paypal Url"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.settings,group_sale_pricelist:0
+msgid "Use pricelists to adapt your price per customers"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:185
+#, python-format
+msgid "There is no default shop for the current user's company!"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:277
+#, python-format
+msgid ""
+"In order to delete a confirmed sales order, you must cancel it before !"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.open_board_sales
+#: model:ir.ui.menu,name:sale.menu_dashboard_sales
+#: model:process.process,name:sale.process_process_salesprocess0
+#: view:res.partner:0
+#: view:sale.order:0
+#: view:sale.report:0
+msgid "Sales"
+msgstr ""
+
+#. module: sale
+#: help:sale.config.settings,module_sale_margin:0
+msgid ""
+"This adds the 'Margin' on sales order.\n"
+"                This gives the profitability by calculating the difference "
+"between the Unit Price and Cost Price.\n"
+"                This installs the module sale_margin."
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+#: field:sale.order.line,price_unit:0
+msgid "Unit Price"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: selection:sale.order,state:0
+#: view:sale.order.line:0
+#: selection:sale.order.line,state:0
+#: selection:sale.report,state:0
+msgid "Done"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_line_invoice.py:121
+#: model:ir.model,name:sale.model_account_invoice
+#: model:process.node,name:sale.process_node_invoice0
+#: view:sale.order:0
+#, python-format
+msgid "Invoice"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,origin:0
+msgid "Source Document"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "To Do"
+msgstr ""
+
+#. module: sale
+#: view:sale.advance.payment.inv:0
+msgid "Invoice Sales Order"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,amount_untaxed:0
+msgid "The amount without tax."
+msgstr ""
+
+#. module: sale
+#: model:ir.model,name:sale.model_sale_advance_payment_inv
+msgid "Sales Advance Payment Invoice"
+msgstr ""
+
+#. module: sale
+#: model:email.template,body_html:sale.email_template_edi_sale
+msgid ""
+"\n"
+"<div style=\"font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-"
+"serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; \">\n"
+"\n"
+"    <p>Hello ${object.partner_id.name},</p>\n"
+"    \n"
+"    <p>Here is your ${object.state in ('draft', 'sent') and 'quotation' or "
+"'order confirmation'} from ${object.company_id.name}: </p>\n"
+"\n"
+"    <p style=\"border-left: 1px solid #8e0000; margin-left: 30px;\">\n"
+"       &nbsp;&nbsp;<strong>REFERENCES</strong><br />\n"
+"       &nbsp;&nbsp;Order number: <strong>${object.name}</strong><br />\n"
+"       &nbsp;&nbsp;Order total: <strong>${object.amount_total} "
+"${object.pricelist_id.currency_id.name}</strong><br />\n"
+"       &nbsp;&nbsp;Order date: ${object.date_order}<br />\n"
+"       % if object.origin:\n"
+"       &nbsp;&nbsp;Order reference: ${object.origin}<br />\n"
+"       % endif\n"
+"       % if object.client_order_ref:\n"
+"       &nbsp;&nbsp;Your reference: ${object.client_order_ref}<br />\n"
+"       % endif\n"
+"       % if object.user_id:\n"
+"       &nbsp;&nbsp;Your contact: <a href=\"mailto:${object.user_id.email or "
+"''}?subject=Order%20${object.name}\">${object.user_id.name}</a>\n"
+"       % endif\n"
+"    </p>\n"
+"\n"
+"    % if object.paypal_url:\n"
+"    <br/>\n"
+"    <p>It is also possible to directly pay with Paypal:</p>\n"
+"        <a style=\"margin-left: 120px;\" href=\"${object.paypal_url}\">\n"
+"            <img class=\"oe_edi_paypal_button\" "
+"src=\"https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif\"/>\n"
+"        </a>\n"
+"    % endif\n"
+"\n"
+"    <br/>\n"
+"    <p>If you have any question, do not hesitate to contact us.</p>\n"
+"    <p>Thank you for choosing ${object.company_id.name or 'us'}!</p>\n"
+"    <br/>\n"
+"    <br/>\n"
+"    <div style=\"width: 375px; margin: 0px; padding: 0px; background-color: "
+"#8E0000; border-top-left-radius: 5px 5px; border-top-right-radius: 5px 5px; "
+"background-repeat: repeat no-repeat;\">\n"
+"        <h3 style=\"margin: 0px; padding: 2px 14px; font-size: 12px; color: "
+"#DDD;\">\n"
+"            <strong style=\"text-"
+"transform:uppercase;\">${object.company_id.name}</strong></h3>\n"
+"    </div>\n"
+"    <div style=\"width: 347px; margin: 0px; padding: 5px 14px; line-height: "
+"16px; background-color: #F2F2F2;\">\n"
+"        <span style=\"color: #222; margin-bottom: 5px; display: block; \">\n"
+"        % if object.company_id.street:\n"
+"            ${object.company_id.street}<br/>\n"
+"        % endif\n"
+"        % if object.company_id.street2:\n"
+"            ${object.company_id.street2}<br/>\n"
+"        % endif\n"
+"        % if object.company_id.city or object.company_id.zip:\n"
+"            ${object.company_id.zip} ${object.company_id.city}<br/>\n"
+"        % endif\n"
+"        % if object.company_id.country_id:\n"
+"            ${object.company_id.state_id and ('%s, ' % "
+"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name "
+"or ''}<br/>\n"
+"        % endif\n"
+"        </span>\n"
+"        % if object.company_id.phone:\n"
+"            <div style=\"margin-top: 0px; margin-right: 0px; margin-bottom: "
+"0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: "
+"0px; padding-left: 0px; \">\n"
+"                Phone:&nbsp; ${object.company_id.phone}\n"
+"            </div>\n"
+"        % endif\n"
+"        % if object.company_id.website:\n"
+"            <div>\n"
+"                Web :&nbsp;<a "
+"href=\"${object.company_id.website}\">${object.company_id.website}</a>\n"
+"            </div>\n"
+"        %endif\n"
+"        <p></p>\n"
+"    </div>\n"
+"</div>\n"
+"            "
+msgstr ""
+"\n"
+"<div style=\"font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-"
+"serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; \">\n"
+"\n"
+"    <p>Bonjour ${object.partner_id.name},</p>\n"
+"    \n"
+"    <p>Veuillez trouver ci-joint votre ${object.state in ('draft', 'sent') "
+"and 'soumission' or 'confirmation de commande'} de la part de  "
+"${object.company_id.name}: </p>\n"
+"\n"
+"    <p style=\"border-left: 1px solid #8e0000; margin-left: 30px;\">\n"
+"       &nbsp;&nbsp;<strong>RÉFÉRENCES</strong><br />\n"
+"       &nbsp;&nbsp;Numéro: <strong>${object.name}</strong><br />\n"
+"       &nbsp;&nbsp;Montant total: <strong>${object.amount_total} "
+"${object.pricelist_id.currency_id.name}</strong><br />\n"
+"       &nbsp;&nbsp;Date: ${object.date_order}<br />\n"
+"       % if object.origin:\n"
+"       &nbsp;&nbsp;Référence: ${object.origin}<br />\n"
+"       % endif\n"
+"       % if object.client_order_ref:\n"
+"       &nbsp;&nbsp;Votre référence: ${object.client_order_ref}<br />\n"
+"       % endif\n"
+"       % if object.user_id:\n"
+"       &nbsp;&nbsp;Votre contact: <a href=\"mailto:${object.user_id.email or "
+"''}?subject=Order%20${object.name}\">${object.user_id.name}</a>\n"
+"       % endif\n"
+"    </p>\n"
+"\n"
+"    % if object.paypal_url:\n"
+"    <br/>\n"
+"    <p>Il vous est possible de payer directement avec Paypal:</p>\n"
+"        <a style=\"margin-left: 120px;\" href=\"${object.paypal_url}\">\n"
+"            <img class=\"oe_edi_paypal_button\" "
+"src=\"https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif\"/>\n"
+"        </a>\n"
+"    % endif\n"
+"\n"
+"    <br/>\n"
+"    <p>Si vous avez des questions, n'hésitez pas à nous contacter.</p>\n"
+"    <p>Merci d'avoir choisi ${object.company_id.name or 'us'}!</p>\n"
+"    <br/>\n"
+"    <br/>\n"
+"    <div style=\"width: 375px; margin: 0px; padding: 0px; background-color: "
+"#8E0000; border-top-left-radius: 5px 5px; border-top-right-radius: 5px 5px; "
+"background-repeat: repeat no-repeat;\">\n"
+"        <h3 style=\"margin: 0px; padding: 2px 14px; font-size: 12px; color: "
+"#DDD;\">\n"
+"            <strong style=\"text-"
+"transform:uppercase;\">${object.company_id.name}</strong></h3>\n"
+"    </div>\n"
+"    <div style=\"width: 347px; margin: 0px; padding: 5px 14px; line-height: "
+"16px; background-color: #F2F2F2;\">\n"
+"        <span style=\"color: #222; margin-bottom: 5px; display: block; \">\n"
+"        % if object.company_id.street:\n"
+"            ${object.company_id.street}<br/>\n"
+"        % endif\n"
+"        % if object.company_id.street2:\n"
+"            ${object.company_id.street2}<br/>\n"
+"        % endif\n"
+"        % if object.company_id.city or object.company_id.zip:\n"
+"            ${object.company_id.zip} ${object.company_id.city}<br/>\n"
+"        % endif\n"
+"        % if object.company_id.country_id:\n"
+"            ${object.company_id.state_id and ('%s, ' % "
+"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name "
+"or ''}<br/>\n"
+"        % endif\n"
+"        </span>\n"
+"        % if object.company_id.phone:\n"
+"            <div style=\"margin-top: 0px; margin-right: 0px; margin-bottom: "
+"0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: "
+"0px; padding-left: 0px; \">\n"
+"                Tél:&nbsp; ${object.company_id.phone}\n"
+"            </div>\n"
+"        % endif\n"
+"        % if object.company_id.website:\n"
+"            <div>\n"
+"                Web :&nbsp;<a "
+"href=\"${object.company_id.website}\">${object.company_id.website}</a>\n"
+"            </div>\n"
+"        %endif\n"
+"        <p></p>\n"
+"    </div>\n"
+"</div>\n"
+"            "
+
+#. module: sale
+#: view:sale.order.line:0
+#: field:sale.order.line,product_id:0
+#: view:sale.report:0
+#: field:sale.report,product_id:0
+msgid "Product"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,order_policy:0
+msgid ""
+"On demand: A draft invoice can be created from the sales order when needed. "
+"\n"
+"On delivery order: A draft invoice can be created from the delivery order "
+"when the products have been delivered. \n"
+"Before delivery: A draft invoice is created from the sales order and must be "
+"paid before the products can be delivered."
+msgstr ""
+
+#. module: sale
+#: view:account.invoice.report:0
+#: view:board.board:0
+#: model:ir.actions.act_window,name:sale.action_turnover_by_month
+msgid "Monthly Turnover"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,invoice_quantity:0
+msgid "Invoice on"
+msgstr ""
+
+#. module: sale
+#: selection:sale.advance.payment.inv,advance_payment_method:0
+msgid "Fixed price (deposit)"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Date Ordered"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,product_uos:0
+msgid "Product UoS"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,state:0
+msgid "Manual In Progress"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Order"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Confirm Sale"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,name:sale.process_transition_saleinvoice0
+msgid "From a sales order"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Ignore Exception"
+msgstr ""
+
+#. module: sale
+#: model:process.transition,note:sale.process_transition_saleinvoice0
+msgid ""
+"Depending on the Invoicing control of the sales order, the invoice can be "
+"based on delivered or on ordered quantities. Thus, a sales order can "
+"generates an invoice or a delivery order as soon as it is confirmed by the "
+"salesman."
+msgstr ""
+
+#. module: sale
+#: selection:sale.advance.payment.inv,advance_payment_method:0
+msgid "Some order lines"
+msgstr ""
+
+#. module: sale
+#: view:res.partner:0
+msgid "sale.group_delivery_invoice_address"
+msgstr ""
+
+#. module: sale
+#: model:res.groups,name:sale.group_discount_per_so_line
+msgid "Discount on lines"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,client_order_ref:0
+msgid "Customer Reference"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,amount_total:0
+#: view:sale.order.line:0
+msgid "Total"
+msgstr ""
+
+#. module: sale
+#: view:sale.advance.payment.inv:0
+msgid ""
+"Select how you want to invoice this order. This\n"
+"                        will create a draft invoice that can be modified\n"
+"                        before validation."
+msgstr ""
+
+#. module: sale
+#: view:board.board:0
+msgid "Sales Dashboard"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Sales Order Lines that are in 'done' state"
+msgstr ""
+
+#. module: sale
+#: help:sale.config.settings,module_account_analytic_analysis:0
+msgid ""
+"Allows to define your customer contracts conditions: invoicing\n"
+"            method (fixed price, on timesheet, advance invoice), the exact "
+"pricing\n"
+"            (650€/day for a developer), the duration (one year support "
+"contract).\n"
+"            You will be able to follow the progress of the contract and "
+"invoice automatically.\n"
+"            It installs the account_analytic_analysis module."
+msgstr ""
+
+#. module: sale
+#: model:email.template,report_name:sale.email_template_edi_sale
+msgid ""
+"${(object.name or '').replace('/','_')}_${object.state == 'draft' and "
+"'draft' or ''}"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,date_confirm:0
+msgid "Date on which sales order is confirmed."
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:565
+#, python-format
+msgid "First cancel all invoices attached to this sales order."
+msgstr ""
+
+#. module: sale
+#: field:sale.order,company_id:0
+#: field:sale.order.line,company_id:0
+#: view:sale.report:0
+#: field:sale.report,company_id:0
+#: field:sale.shop,company_id:0
+msgid "Company"
+msgstr ""
+
+#. module: sale
+#: field:sale.make.invoice,invoice_date:0
+msgid "Invoice Date"
+msgstr ""
+
+#. module: sale
+#: help:sale.advance.payment.inv,amount:0
+msgid "The amount to be invoiced in advance."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0
+#: selection:sale.report,state:0
+msgid "Invoice Exception"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:865
+#, python-format
+msgid "No Customer Defined !"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,partner_shipping_id:0
+msgid "Delivery Address"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0
+msgid "Sale to Invoice"
+msgstr ""
+
+#. module: sale
+#: view:sale.config.settings:0
+msgid "Warehouse Features"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Cancel Line"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,message_ids:0
+msgid "Messages"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.settings,module_project:0
+msgid "Project"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:185
+#: code:addons/sale/sale.py:363
+#: code:addons/sale/sale.py:504
+#: code:addons/sale/sale.py:598
+#: code:addons/sale/sale.py:763
+#: code:addons/sale/sale.py:780
+#, python-format
+msgid "Error!"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+msgid "Net Total :"
+msgstr ""
+
+#. module: sale
+#: help:sale.order.line,type:0
+msgid ""
+"From stock: When needed, the product is taken from the stock or we wait for "
+"replenishment.\n"
+"On order: When needed, the product is purchased or produced."
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0
+#: selection:sale.order.line,state:0
+#: selection:sale.report,state:0
+msgid "Cancelled"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Search Uninvoiced Lines"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,state:0
+msgid "Quotation Sent"
+msgstr "Soumission envoyée"
+
+#. module: sale
+#: model:ir.model,name:sale.model_mail_compose_message
+msgid "Email composition wizard"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_shop_form
+#: field:sale.order,shop_id:0
+#: view:sale.report:0
+#: field:sale.report,shop_id:0
+msgid "Shop"
+msgstr ""
+
+#. module: sale
+#: field:sale.report,date_confirm:0
+msgid "Date Confirm"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:364
+#, python-format
+msgid "Please define sales journal for this company: \"%s\" (id:%d)."
+msgstr ""
+
+#. module: sale
+#: view:sale.config.settings:0
+msgid "Contract Features"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:287
+#: code:addons/sale/sale.py:584
+#: model:ir.model,name:sale.model_sale_order
+#: model:process.node,name:sale.process_node_order0
+#: model:process.node,name:sale.process_node_saleorder0
+#: field:res.partner,sale_order_ids:0
+#: model:res.request.link,name:sale.req_link_sale_order
+#: view:sale.order:0
+#: selection:sale.order,state:0
+#, python-format
+msgid "Sales Order"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,product_uos_qty:0
+msgid "Quantity (UoS)"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order.line,state:0
+msgid "Confirmed"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,note:0
+msgid "Terms and conditions"
+msgstr ""
+
+#. module: sale
+#: model:process.transition.action,name:sale.process_transition_action_confirm0
+msgid "Confirm"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:820
+#, python-format
+msgid "You cannot cancel a sales order line that has already been invoiced."
+msgstr ""
+
+#. module: sale
+#: field:sale.order,message_follower_ids:0
+msgid "Followers"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,invoice_lines:0
+msgid "Invoice Lines"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_line_product_tree
+#: view:sale.order:0
+#: view:sale.order.line:0
+msgid "Sales Order Lines"
+msgstr ""
+
+#. module: sale
+#: view:sale.config.settings:0
+msgid "Default Options"
+msgstr ""
+
+#. module: sale
+#: field:account.config.settings,group_analytic_account_for_sales:0
+msgid "Analytic accounting for sales"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,invoiced_rate:0
+msgid "Invoiced Ratio"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/edi/sale_order.py:140
+#, python-format
+msgid "EDI Pricelist (%s)"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order,order_policy:0
+msgid "On Delivery Order"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+msgid "Reference Unit of Measure"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Sales order lines done"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_line_invoice.py:107
+#, python-format
+msgid ""
+"Invoice cannot be created for this Sales Order Line due to one of the "
+"following reasons:\n"
+"1.The state of this sales order line is either \"draft\" or \"cancel\"!\n"
+"2.The Sales Order Line is Invoiced!"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,th_weight:0
+msgid "Weight"
+msgstr ""
+
+#. module: sale
+#: field:sale.order,invoice_ids:0
+msgid "Invoices"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "December"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice_advance.py:96
+#, python-format
+msgid "There is no income account defined for this product: \"%s\" (id:%d)."
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Uninvoiced"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_order_tree
+msgid "Old Quotations"
+msgstr "Anciennes soumissions"
+
+#. module: sale
+#: field:sale.order,amount_untaxed:0
+msgid "Untaxed Amount"
+msgstr ""
+
+#. module: sale
+#: model:res.groups,name:sale.group_analytic_accounting
+msgid "Analytic Accounting for Sales"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.client,name:sale.action_client_sale_menu
+msgid "Open Sale Menu"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "June"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/wizard/sale_make_invoice.py:55
+#, python-format
+msgid "You shouldn't manually invoice the following sale order %s"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order.line,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,amount_tax:0
+msgid "The tax amount."
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_email_templates
+msgid "Email Templates"
+msgstr ""
+
+#. module: sale
+#: help:sale.config.settings,group_invoice_so_lines:0
+msgid ""
+"To allow your salesman to make invoices for sales order lines using the menu "
+"'Lines to Invoice'."
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid ""
+"Sales Order Lines that are confirmed, done or in exception state and haven't "
+"yet been invoiced"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "November"
+msgstr ""
+
+#. module: sale
+#: field:sale.advance.payment.inv,product_id:0
+msgid "Advance Product"
+msgstr ""
+
+#. module: sale
+#: help:sale.order.line,sequence:0
+msgid "Gives the sequence order when displaying a list of sales order lines."
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "January"
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,name:sale.action_orders_in_progress
+msgid "Sales Order in Progress"
+msgstr ""
+
+#. module: sale
+#: field:sale.config.settings,timesheet:0
+msgid "Prepare invoices based on timesheets"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,origin:0
+msgid "Reference of the document that generated this sales order request."
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,delay:0
+msgid "Commitment Delay"
+msgstr ""
+
+#. module: sale
+#: field:sale.report,state:0
+msgid "Order Status"
+msgstr ""
+
+#. module: sale
+#: view:sale.advance.payment.inv:0
+msgid "Show Lines to Invoice"
+msgstr ""
+
+#. module: sale
+#: field:sale.report,date:0
+msgid "Date Order"
+msgstr ""
+
+#. module: sale
+#: model:process.node,note:sale.process_node_order0
+msgid "Confirmed sales order to invoice."
+msgstr ""
+
+#. module: sale
+#: model:mail.message.subtype,name:sale.mt_order_confirmed
+msgid "Sales Order Confirmed"
+msgstr ""
+
+#. module: sale
+#: selection:sale.order.line,type:0
+msgid "from stock"
+msgstr ""
+
+#. module: sale
+#: code:addons/sale/sale.py:944
+#, python-format
+msgid "No Pricelist ! : "
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Sales Order "
+msgstr ""
+
+#. module: sale
+#: field:sale.config.settings,module_account_analytic_analysis:0
+msgid "Use contracts management"
+msgstr ""
+
+#. module: sale
+#: help:sale.order,invoiced:0
+msgid "It indicates that an invoice has been paid."
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+#: field:sale.order.line,name:0
+msgid "Description"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "May"
+msgstr ""
+
+#. module: sale
+#: view:sale.make.invoice:0
+msgid "Do you really want to create the invoice(s)?"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+msgid "Order Number"
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: field:sale.order,partner_id:0
+#: field:sale.order.line,order_partner_id:0
+msgid "Customer"
+msgstr ""
+
+#. module: sale
+#: model:product.template,name:sale.advance_product_0_product_template
+msgid "Advance"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "February"
+msgstr ""
+
+#. module: sale
+#: selection:sale.report,month:0
+msgid "April"
+msgstr ""
+
+#. module: sale
+#: view:sale.config.settings:0
+msgid ""
+"Use contract to be able to manage your services with\n"
+"                        multiple invoicing as part of the same contract "
+"with\n"
+"                        your customer."
+msgstr ""
+
+#. module: sale
+#: view:sale.order:0
+#: view:sale.order.line:0
+msgid "Search Sales Order"
+msgstr ""
+
+#. module: sale
+#: field:sale.advance.payment.inv,advance_payment_method:0
+msgid "What do you want to invoice?"
+msgstr ""
+
+#. module: sale
+#: view:sale.order.line:0
+msgid "Confirmed sales order lines, not yet delivered"
+msgstr ""
+
+#. module: sale
+#: field:sale.order.line,sequence:0
+msgid "Sequence"
+msgstr ""
+
+#. module: sale
+#: report:sale.order:0
+#: field:sale.order,payment_term:0
+msgid "Payment Term"
+msgstr ""
+
+#. module: sale
+#: help:account.config.settings,module_sale_analytic_plans:0
+msgid "This allows install module sale_analytic_plans."
+msgstr ""
+
+#. module: sale
+#: model:ir.actions.act_window,help:sale.action_order_report_all
+msgid ""
+"This report performs analysis on your quotations and sales orders. Analysis "
+"check your sales revenues and sort it by different group criteria (salesman, "
+"partner, product, etc.) Use this report to perform analysis on sales not "
+"having invoiced yet. If you want to analyse your turnover, you should use "
+"the Invoice Analysis report in the Accounting application."
+msgstr ""
+"Ce rapport analyse vos soumissions et commandes clients. Il vérifie les "
+"revenus liés aux ventes et les classifie selon différents critères (vendeur, "
+"partenaire, article, etc.). Vous pouvez utiliser ce rapport pour analyser "
+"vos ventes non encore facturées. Si vous souhaitez analyser votre chiffre "
+"d'affaires, vous devriez utiliser le rapport \"Analyse des factures "
+"clients\" dans l'application comptabilité."
+
+#. module: sale
+#: report:sale.order:0
+msgid "Quotation N°"
+msgstr "Soumission N°"
+
+#. module: sale
+#: view:sale.report:0
+msgid "Picked"
+msgstr ""
+
+#. module: sale
+#: view:sale.report:0
+#: field:sale.report,year:0
+msgid "Year"
+msgstr ""
+
+#~ msgid "Quotation send"
+#~ msgstr "Envoi de la soumission"
index 814cea8..ca8f9db 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:36+0000\n"
-"PO-Revision-Date: 2014-03-05 10:43+0000\n"
+"PO-Revision-Date: 2014-05-17 04:51+0000\n"
 "Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\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-06 06:15+0000\n"
-"X-Generator: Launchpad (build 16948)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: sale
 #: model:ir.model,name:sale.model_account_config_settings
@@ -53,7 +53,7 @@ msgstr "Gün"
 #: model:process.transition.action,name:sale.process_transition_action_cancelorder0
 #: view:sale.order:0
 msgid "Cancel Order"
-msgstr "Sipariş İptal et"
+msgstr "Siparişi İptal Et"
 
 #. module: sale
 #: code:addons/sale/wizard/sale_make_invoice_advance.py:101
@@ -161,7 +161,7 @@ msgstr "Varsayılan Ödeme Koşulu"
 #. module: sale
 #: field:sale.config.settings,group_uom:0
 msgid "Allow using different units of measures"
-msgstr "Farklı ölçü birimleri kullanmaya izin ver"
+msgstr "Farklı ölçü birimleri kullanmaya izin verme"
 
 #. module: sale
 #: selection:sale.advance.payment.inv,advance_payment_method:0
@@ -188,7 +188,7 @@ msgstr "Toplam Fiyat"
 #. module: sale
 #: field:sale.config.settings,group_invoice_so_lines:0
 msgid "Generate invoices based on the sales order lines"
-msgstr "Satış siparişi kalemlerine göre fatura oluştur"
+msgstr "Satış siparişi satırlarına göre fatura oluşturma"
 
 #. module: sale
 #: help:sale.make.invoice,grouped:0
@@ -286,7 +286,7 @@ msgstr "Tekliflerim"
 #. module: sale
 #: field:sale.config.settings,module_warning:0
 msgid "Allow configuring alerts by customer or products"
-msgstr "Müşteri ya da ürünlere göre uyarıları yapılandırma"
+msgstr "Müşteri veya ürünlere göre uyarıları yapılandırma"
 
 #. module: sale
 #: field:sale.shop,name:0
@@ -461,7 +461,7 @@ msgstr "KDV :"
 #. module: sale
 #: model:res.groups,name:sale.group_invoice_so_lines
 msgid "Enable Invoicing Sales order lines"
-msgstr "SatışSiparişi Kalemlerini Faturalamayı Etkinleştir"
+msgstr "SatışSiparişi Satırında Faturalamayı Etkinleştirme"
 
 #. module: sale
 #: selection:sale.report,month:0
@@ -676,7 +676,7 @@ msgstr "Satış Siparişi Kalemi"
 #. module: sale
 #: field:sale.config.settings,module_analytic_user_function:0
 msgid "One employee can have different roles per contract"
-msgstr "Bir çalışan her sözleşmede farklı rollere sahip olabilir"
+msgstr "Bir çalışanın sözleşme başına farklı rollere sahip olma özelliği"
 
 #. module: sale
 #: view:sale.order:0
@@ -988,7 +988,7 @@ msgstr "Geçerli fiyat listesi kalemi bulunamadı!:"
 #. module: sale
 #: field:sale.config.settings,module_sale_margin:0
 msgid "Display margins on sales orders"
-msgstr "Satış siparişlerinde oranları görüntüle"
+msgstr "Satış siparişlerinde karlılık oranını gösterme"
 
 #. module: sale
 #: help:sale.order,invoice_ids:0
@@ -1364,7 +1364,7 @@ msgstr ""
 #. module: sale
 #: view:sale.order:0
 msgid "Cancel Quotation"
-msgstr "Teklif İptal et"
+msgstr "Teklifi İptal Et"
 
 #. module: sale
 #: selection:sale.order,state:0
@@ -1417,7 +1417,7 @@ msgstr "Tedarik ve faturalamayı yürütür"
 #. module: sale
 #: field:sale.order,invoiced:0
 msgid "Paid"
-msgstr "Ödenmdi"
+msgstr "Ödendi"
 
 #. module: sale
 #: model:ir.actions.act_window,name:sale.action_order_report_all
@@ -1448,7 +1448,7 @@ msgstr ""
 #. module: sale
 #: field:sale.config.settings,group_discount_per_so_line:0
 msgid "Allow setting a discount on the sales order lines"
-msgstr "Satış siparişi kalemlerine indirim uygulamanızı sağlar"
+msgstr "Satış sipariş satırında indirim uygulama"
 
 #. module: sale
 #: field:sale.order,paypal_url:0
@@ -1458,7 +1458,7 @@ msgstr "Paypal Url"
 #. module: sale
 #: field:sale.config.settings,group_sale_pricelist:0
 msgid "Use pricelists to adapt your price per customers"
-msgstr "Her müşteriye fiyat ayarlaması için fiyat listeleri kullanın"
+msgstr "Her müşteriye farklı fiyat ayarlaması için fiyat listeleri kullanma"
 
 #. module: sale
 #: code:addons/sale/sale.py:185
@@ -1932,7 +1932,7 @@ msgstr "Tanımlı Müşteri Yok!"
 #. module: sale
 #: field:sale.order,partner_shipping_id:0
 msgid "Delivery Address"
-msgstr "Teslimat Adresi"
+msgstr "Teslim Adresi"
 
 #. module: sale
 #: selection:sale.order,state:0
@@ -1947,7 +1947,7 @@ msgstr "Depo Özellikleri"
 #. module: sale
 #: view:sale.order.line:0
 msgid "Cancel Line"
-msgstr "Satırı İptal et"
+msgstr "Satırı İptal Et"
 
 #. module: sale
 #: field:sale.order,message_ids:0
@@ -2258,7 +2258,7 @@ msgstr "İşlemdeki Satış Siparişleri"
 #. module: sale
 #: field:sale.config.settings,timesheet:0
 msgid "Prepare invoices based on timesheets"
-msgstr "Zaman çizelgelerine göre fatura hazırla"
+msgstr "Zaman çizelgelerine göre fatura hazırlama"
 
 #. module: sale
 #: help:sale.order,origin:0
@@ -2315,7 +2315,7 @@ msgstr "Satış Siparişi "
 #. module: sale
 #: field:sale.config.settings,module_account_analytic_analysis:0
 msgid "Use contracts management"
-msgstr "Sözleşme yönetimi kullanma"
+msgstr "Sözleşme yönetimini kullanma"
 
 #. module: sale
 #: help:sale.order,invoiced:0
diff --git a/addons/sale/report/sale_order.sxw b/addons/sale/report/sale_order.sxw
new file mode 100644 (file)
index 0000000..4ae68b6
Binary files /dev/null and b/addons/sale/report/sale_order.sxw differ
index 364ca36..af62b01 100644 (file)
@@ -525,14 +525,18 @@ class sale_order(osv.osv):
             if grouped:
                 res = self._make_invoice(cr, uid, val[0][0], reduce(lambda x, y: x + y, [l for o, l in val], []), context=context)
                 invoice_ref = ''
+                origin_ref = ''
                 for o, l in val:
-                    invoice_ref += o.name + '|'
+                    invoice_ref += (o.client_order_ref or o.name) + '|'
+                    origin_ref += (o.origin or o.name) + '|'
                     self.write(cr, uid, [o.id], {'state': 'progress'})
                     cr.execute('insert into sale_order_invoice_rel (order_id,invoice_id) values (%s,%s)', (o.id, res))
                 #remove last '|' in invoice_ref
-                if len(invoice_ref) >= 1: 
+                if len(invoice_ref) >= 1:
                     invoice_ref = invoice_ref[:-1]
-                invoice.write(cr, uid, [res], {'origin': invoice_ref, 'name': invoice_ref})
+                if len(origin_ref) >= 1:
+                    origin_ref = origin_ref[:-1]
+                invoice.write(cr, uid, [res], {'origin': origin_ref, 'name': invoice_ref})
             else:
                 for order, il in val:
                     res = self._make_invoice(cr, uid, order, il, context=context)
index 54d265e..c7fbd7e 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-04-13 18:23+0000\n"
-"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
+"PO-Revision-Date: 2014-05-17 04:51+0000\n"
+"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:33+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: sale_analytic_plans
 #: field:sale.order.line,analytics_id:0
@@ -30,4 +30,4 @@ msgstr "Satış Siparişi"
 #. module: sale_analytic_plans
 #: model:ir.model,name:sale_analytic_plans.model_sale_order_line
 msgid "Sales Order Line"
-msgstr "Satış Siparişi Kalemi"
+msgstr "Satış Sipariş Satırı"
index cae6d28..addc9a5 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-02-25 18:56+0000\n"
-"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
+"PO-Revision-Date: 2014-05-17 04:51+0000\n"
+"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:34+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: sale_journal
 #: field:sale_journal.invoice.type,note:0
@@ -37,7 +37,7 @@ msgstr ""
 #. module: sale_journal
 #: view:res.partner:0
 msgid "Sales & Purchases"
-msgstr "Satışlar & Satınalmalar"
+msgstr "Satış & Satınalma"
 
 #. module: sale_journal
 #: view:res.partner:0
index f5ca9b3..96a2fad 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-03-04 00:46+0000\n"
-"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
+"PO-Revision-Date: 2014-05-17 04:51+0000\n"
+"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:34+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: sale_margin
 #: field:sale.order.line,purchase_price:0
@@ -36,7 +36,7 @@ msgstr "Oran"
 #. module: sale_margin
 #: model:ir.model,name:sale_margin.model_sale_order_line
 msgid "Sales Order Line"
-msgstr "Satış Siparişi Kalemi"
+msgstr "Satış Sipariş Satırı"
 
 #. module: sale_margin
 #: help:sale.order,margin:0
index 011cefe..08fb704 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-11-24 21:03+0000\n"
+"PO-Revision-Date: 2014-05-17 04:51+0000\n"
 "Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-25 06:01+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: sale_stock
 #: help:sale.config.settings,group_invoice_deli_orders:0
@@ -70,7 +70,7 @@ msgstr "Çıkışa ya da müşteriye yapılan hareket belgesi."
 #. module: sale_stock
 #: field:sale.config.settings,group_multiple_shops:0
 msgid "Manage multiple shops"
-msgstr "Birden çok mağaza yönet"
+msgstr "Çoklu mağaza yönetme"
 
 #. module: sale_stock
 #: model:process.transition.action,name:sale_stock.process_transition_action_validate0
@@ -80,7 +80,7 @@ msgstr "Doğrula"
 #. module: sale_stock
 #: view:sale.order:0
 msgid "Cancel Order"
-msgstr "Sipariş İptal Et"
+msgstr "Siparişi İptal Et"
 
 #. module: sale_stock
 #: code:addons/sale_stock/sale_stock.py:209
@@ -144,7 +144,7 @@ msgstr "Proje Zaman Çizelgesi"
 #. module: sale_stock
 #: field:sale.config.settings,group_sale_delivery_address:0
 msgid "Allow a different address for delivery and invoicing "
-msgstr "Teslimat ve faturalama için farklı bir adrese izin verir "
+msgstr "Teslimat ve faturalama için farklı bir adrese izin verme "
 
 #. module: sale_stock
 #: code:addons/sale_stock/sale_stock.py:572
@@ -183,7 +183,7 @@ msgstr "Teslimat Emirleri"
 #: model:ir.model,name:sale_stock.model_sale_order_line
 #: field:stock.move,sale_line_id:0
 msgid "Sales Order Line"
-msgstr "Satış Siparişi Kalemi"
+msgstr "Satış Sipariş Satırı"
 
 #. module: sale_stock
 #: model:process.transition,note:sale_stock.process_transition_packing0
@@ -211,7 +211,7 @@ msgstr "Depo"
 #. module: sale_stock
 #: model:process.transition.action,name:sale_stock.process_transition_action_forceassignation0
 msgid "Force Assignation"
-msgstr "Güç Tahsisi"
+msgstr "Tahsisi Zorla"
 
 #. module: sale_stock
 #: field:sale.config.settings,default_order_policy:0
@@ -221,7 +221,7 @@ msgstr "Varsayılan faturalama yöntemi"
 #. module: sale_stock
 #: field:sale.order.line,delay:0
 msgid "Delivery Lead Time"
-msgstr "Teslimat Süresi"
+msgstr "Teslim Süresi"
 
 #. module: sale_stock
 #: model:process.node,note:sale_stock.process_node_deliveryorder0
@@ -303,17 +303,17 @@ msgstr ""
 #. module: sale_stock
 #: field:sale.config.settings,group_invoice_deli_orders:0
 msgid "Generate invoices after and based on delivery orders"
-msgstr "Faturaları sonra ve teslim emirlerine göre oluştur"
+msgstr "Faturaları sonra ve teslim emirlerine göre oluşturma"
 
 #. module: sale_stock
 #: field:sale.config.settings,module_delivery:0
 msgid "Allow adding shipping costs"
-msgstr "Sevkiyat maliyetlerini eklemeye izin verir"
+msgstr "Sevkiyat maliyetlerini eklemeye izin verme"
 
 #. module: sale_stock
 #: view:sale.order:0
 msgid "days"
-msgstr "günler"
+msgstr "gün"
 
 #. module: sale_stock
 #: field:sale.order.line,product_packaging:0
@@ -351,7 +351,7 @@ msgstr "Tüm ürünler mevcut olduğunda bir kerede teslim et."
 #. module: sale_stock
 #: model:res.groups,name:sale_stock.group_invoice_deli_orders
 msgid "Enable Invoicing Delivery orders"
-msgstr "Teslimat emirlerini faturalamayı etkinleştir"
+msgstr "Teslimat Emirlerinde Faturalamayı Etkinleştirme"
 
 #. module: sale_stock
 #: field:res.company,security_lead:0
@@ -410,7 +410,7 @@ msgstr ""
 #. module: sale_stock
 #: field:sale.config.settings,group_mrp_properties:0
 msgid "Product properties on order lines"
-msgstr "Sipariş kalemlerindeki ürün özellikleri"
+msgstr "Sipariş satırında ürün özellikleri"
 
 #. module: sale_stock
 #: help:sale.config.settings,default_order_policy:0
@@ -524,7 +524,7 @@ msgstr ""
 #. module: sale_stock
 #: field:sale.order.line,number_packages:0
 msgid "Number Packages"
-msgstr "Paketleri Numarala"
+msgstr "Paket Numaraları"
 
 #. module: sale_stock
 #: field:sale.order,shipped:0
@@ -539,7 +539,7 @@ msgstr "Fatura Oluştur"
 #. module: sale_stock
 #: field:sale.config.settings,task_work:0
 msgid "Prepare invoices based on task's activities"
-msgstr "Görevlerin eylemlerine göre fatura hazırla"
+msgstr "Görev faaliyetlerine göre faturalar hazırlama"
 
 #. module: sale_stock
 #: model:ir.model,name:sale_stock.model_sale_advance_payment_inv
index 11f3e02..d389715 100644 (file)
@@ -125,7 +125,8 @@ class sale_order(osv.osv):
             ('shipping_except', 'Shipping Exception'),
             ('invoice_except', 'Invoice Exception'),
             ('done', 'Done'),
-            ], 'Status', readonly=True,help="Gives the status of the quotation or sales order.\
+            ], 'Status', readonly=True, track_visibility='onchange',
+            help="Gives the status of the quotation or sales order.\
               \nThe exception status is automatically set when a cancel operation occurs \
               in the invoice validation (Invoice Exception) or in the picking list process (Shipping Exception).\nThe 'Waiting Schedule' status is set when the invoice is confirmed\
                but waiting for the scheduler to run on the order date.", select=True),
@@ -618,13 +619,13 @@ class sale_order_line(osv.osv):
         res_packing = self.product_packaging_change(cr, uid, ids, pricelist, product, qty, uom, partner_id, packaging, context=context)
         res['value'].update(res_packing.get('value', {}))
         warning_msgs = res_packing.get('warning') and res_packing['warning']['message'] or ''
-        compare_qty = float_compare(product_obj.virtual_available * uom2.factor, qty * product_obj.uom_id.factor, precision_rounding=product_obj.uom_id.rounding)
+        compare_qty = float_compare(product_obj.virtual_available, qty, precision_rounding=uom2.rounding)
         if (product_obj.type=='product') and int(compare_qty) == -1 \
-          and (product_obj.procure_method=='make_to_stock'):
+           and (product_obj.procure_method=='make_to_stock'):
             warn_msg = _('You plan to sell %.2f %s but you only have %.2f %s available !\nThe real stock is %.2f %s. (without reservations)') % \
-                    (qty, uom2 and uom2.name or product_obj.uom_id.name,
-                     max(0,product_obj.virtual_available), product_obj.uom_id.name,
-                     max(0,product_obj.qty_available), product_obj.uom_id.name)
+                    (qty, uom2.name,
+                     max(0,product_obj.virtual_available), uom2.name,
+                     max(0,product_obj.qty_available), uom2.name)
             warning_msgs += _("Not enough stock ! : ") + warn_msg + "\n\n"
 
         #update of warning messages
index f387ab4..191bf94 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2014-02-06 15:56+0000\n"
-"PO-Revision-Date: 2014-05-05 09:49+0000\n"
+"PO-Revision-Date: 2014-05-15 13:48+0000\n"
 "Last-Translator: Marko Carevic <Unknown>\n"
 "Language-Team: Croatian <hr@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-05-06 07:27+0000\n"
-"X-Generator: Launchpad (build 16996)\n"
+"X-Launchpad-Export-Date: 2014-05-16 06:43+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: stock
 #: field:stock.inventory.line.split,line_exist_ids:0
@@ -55,7 +55,7 @@ msgstr ""
 #. module: stock
 #: view:stock.picking.out:0
 msgid "Confirm & Deliver"
-msgstr "Potvrdi i isporuči"
+msgstr "Forsiraj dostupnost i  isporuči"
 
 #. module: stock
 #: model:ir.actions.act_window,name:stock.action_view_change_product_quantity
@@ -125,8 +125,8 @@ msgid "Product Moves"
 msgstr "Product Moves"
 
 #. module: stock
-#: code:addons/stock/stock.py:2568
-#: code:addons/stock/stock.py:2629
+#: code:addons/stock/stock.py:2519
+#: code:addons/stock/stock.py:2580
 #, python-format
 msgid "Please provide proper quantity."
 msgstr "Molimo unesite ispravnu količinu"
@@ -145,13 +145,13 @@ msgstr ""
 "Interni broj za slučajeve kada se razlikuje od proizvođačeva serijskog broja"
 
 #. module: stock
-#: code:addons/stock/wizard/stock_fill_inventory.py:63
+#: code:addons/stock/wizard/stock_fill_inventory.py:59
 #, python-format
 msgid "You cannot perform this operation on more than one Stock Inventories."
 msgstr "Nije oguće izvršiti ovu operaciju  na više od jednog skladišta"
 
 #. module: stock
-#: code:addons/stock/wizard/stock_change_product_qty.py:95
+#: code:addons/stock/wizard/stock_change_product_qty.py:91
 #, python-format
 msgid "Quantity cannot be negative."
 msgstr "Količine nemogu biti negativne"
@@ -184,8 +184,6 @@ msgstr "npr. godišnja inventura"
 #: field:stock.partial.move.line,quantity:0
 #: field:stock.partial.picking.line,quantity:0
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 #: field:stock.report.prodlots,qty:0
 #: field:stock.report.tracklots,name:0
 #: field:stock.return.picking.memory,quantity:0
@@ -319,7 +317,7 @@ msgid "Reference"
 msgstr "Vezna oznaka"
 
 #. module: stock
-#: code:addons/stock/stock.py:1565
+#: code:addons/stock/stock.py:1548
 #, python-format
 msgid "Products to Process"
 msgstr "Artikli za obradu"
@@ -358,12 +356,12 @@ msgstr ""
 "da bi mogao biti ubačen u kanban pogled."
 
 #. module: stock
-#: code:addons/stock/stock.py:782
-#: code:addons/stock/stock.py:2517
-#: code:addons/stock/stock.py:2568
-#: code:addons/stock/stock.py:2629
-#: code:addons/stock/wizard/stock_change_product_qty.py:95
-#: code:addons/stock/wizard/stock_fill_inventory.py:128
+#: code:addons/stock/stock.py:768
+#: code:addons/stock/stock.py:2475
+#: code:addons/stock/stock.py:2519
+#: code:addons/stock/stock.py:2580
+#: code:addons/stock/wizard/stock_change_product_qty.py:91
+#: code:addons/stock/wizard/stock_fill_inventory.py:124
 #: code:addons/stock/wizard/stock_inventory_merge.py:43
 #: code:addons/stock/wizard/stock_inventory_merge.py:63
 #: code:addons/stock/wizard/stock_invoice_onshipping.py:96
@@ -371,9 +369,9 @@ msgstr ""
 #: code:addons/stock/wizard/stock_partial_picking.py:174
 #: code:addons/stock/wizard/stock_partial_picking.py:181
 #: code:addons/stock/wizard/stock_partial_picking.py:192
-#: code:addons/stock/wizard/stock_return_picking.py:102
-#: code:addons/stock/wizard/stock_return_picking.py:109
-#: code:addons/stock/wizard/stock_return_picking.py:212
+#: code:addons/stock/wizard/stock_return_picking.py:99
+#: code:addons/stock/wizard/stock_return_picking.py:106
+#: code:addons/stock/wizard/stock_return_picking.py:205
 #, python-format
 msgid "Warning!"
 msgstr "Upozorenje!"
@@ -492,9 +490,6 @@ msgstr ""
 #: selection:stock.move,state:0
 #: selection:stock.picking,state:0
 #: selection:stock.picking.in,state:0
-#: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 #: selection:stock.picking.out,state:0
 msgid "Waiting Availability"
 msgstr "Čeka dostupnost"
@@ -503,9 +498,6 @@ msgstr "Čeka dostupnost"
 #: selection:report.stock.inventory,state:0
 #: selection:report.stock.move,state:0
 #: selection:stock.move,state:0
-#: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 #: view:stock.production.lot:0
 #: field:stock.production.lot,stock_available:0
 msgid "Available"
@@ -578,7 +570,7 @@ msgstr ""
 "Ovo vrijeme jamčite kupcu kao rok isporuke."
 
 #. module: stock
-#: code:addons/stock/product.py:195
+#: code:addons/stock/product.py:196
 #, python-format
 msgid "Products: "
 msgstr "Proizvodi: "
@@ -595,7 +587,7 @@ msgid "Draft Physical Inventories"
 msgstr "Nacrti fizičkih inventura"
 
 #. module: stock
-#: code:addons/stock/stock.py:1806
+#: code:addons/stock/stock.py:1777
 #, python-format
 msgid ""
 "Quantities, Units of Measure, Products and Locations cannot be modified on "
@@ -643,7 +635,7 @@ msgid "Item Labels"
 msgstr "Labela"
 
 #. module: stock
-#: code:addons/stock/stock.py:1373
+#: code:addons/stock/stock.py:1356
 #, python-format
 msgid "Back order <em>%s</em> has been <b>created</b>."
 msgstr ""
@@ -724,8 +716,6 @@ msgstr "Količina za serijski broj %d  %s je veća od dostupne količine (%d)!"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Order(Origin)"
 msgstr "Nalog(Izvor)"
 
@@ -765,7 +755,6 @@ msgid "Destination Address "
 msgstr "Odredišna adresa "
 
 #. module: stock
-#: view:product.product:0
 #: field:product.product,reception_count:0
 msgid "Reception"
 msgstr "Zaprimanje"
@@ -816,8 +805,6 @@ msgstr "Planirana godina"
 #: view:stock.picking.in:0
 #: field:stock.picking.in,state:0
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 #: field:stock.picking.out,state:0
 msgid "Status"
 msgstr "Status"
@@ -915,7 +902,7 @@ msgstr ""
 "which entries will be automatically posted when stock moves are processed."
 
 #. module: stock
-#: code:addons/stock/stock.py:2296
+#: code:addons/stock/stock.py:2252
 #, python-format
 msgid ""
 "Please define stock output account for this product or its category: \"%s\" "
@@ -943,7 +930,7 @@ msgid "Reference must be unique per Company!"
 msgstr "Oznaka mora biti jedinstvena unuar organizacije"
 
 #. module: stock
-#: code:addons/stock/product.py:448
+#: code:addons/stock/product.py:447
 #, python-format
 msgid "Future Receptions"
 msgstr "Budući prijemi"
@@ -982,8 +969,6 @@ msgstr "- ažuriraj"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Weight"
 msgstr "Težina"
 
@@ -1027,7 +1012,7 @@ msgid "December"
 msgstr "Prosinac"
 
 #. module: stock
-#: code:addons/stock/stock.py:1204
+#: code:addons/stock/stock.py:1190
 #, python-format
 msgid ""
 "You cannot cancel the picking as some moves have been done. You should "
@@ -1052,7 +1037,7 @@ msgid "Change Product Quantity"
 msgstr "Promjeni količinu proizvoda"
 
 #. module: stock
-#: code:addons/stock/product.py:464
+#: code:addons/stock/product.py:463
 #, python-format
 msgid "Future P&L"
 msgstr "Budući P&L"
@@ -1089,7 +1074,7 @@ msgid "You must assign a serial number for this product."
 msgstr "Morate dodijeliti serijski broj za ovaj proizvod"
 
 #. module: stock
-#: code:addons/stock/stock.py:2299
+#: code:addons/stock/stock.py:2255
 #, python-format
 msgid "Please define journal on the product category: \"%s\" (id: %d)"
 msgstr "Definirajte dnevnik za kategoriju proizvoda: \"%s\" (id: %d)"
@@ -1136,8 +1121,6 @@ msgstr "Valuta"
 #: view:stock.picking:0
 #: view:stock.picking.in:0
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Journal"
 msgstr "Dnevnik"
 
@@ -1216,7 +1199,7 @@ msgid ""
 msgstr "Molim izaberite višestruke fizičke zalihe za spajanje u popis."
 
 #. module: stock
-#: code:addons/stock/wizard/stock_return_picking.py:109
+#: code:addons/stock/wizard/stock_return_picking.py:106
 #, python-format
 msgid ""
 "No products to return (only lines in Done state and not fully returned yet "
@@ -1345,7 +1328,7 @@ msgid "Author"
 msgstr "Autor"
 
 #. module: stock
-#: code:addons/stock/stock.py:1851
+#: code:addons/stock/stock.py:1822
 #, python-format
 msgid ""
 "You are moving %.2f %s but only %.2f %s available for this serial number."
@@ -1353,8 +1336,6 @@ msgstr ""
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Internal Shipment :"
 msgstr "Interni prijenosi:"
 
@@ -1382,7 +1363,7 @@ msgid "Supplier"
 msgstr "Dobavljač"
 
 #. module: stock
-#: code:addons/stock/stock.py:2908
+#: code:addons/stock/stock.py:2859
 #, python-format
 msgid ""
 "In order to cancel this inventory, you must first unpost related journal "
@@ -1493,8 +1474,6 @@ msgstr "Skl. prijenos utroška"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Delivery Order :"
 msgstr "Otpremnica"
 
@@ -1588,7 +1567,7 @@ msgstr ""
 "otpremnice koja utječe na prosječnu cijenu proizvoda."
 
 #. module: stock
-#: code:addons/stock/stock.py:1919
+#: code:addons/stock/stock.py:1890
 #, python-format
 msgid "Warning: No Back Order"
 msgstr ""
@@ -1610,13 +1589,13 @@ msgid "To be refunded/invoiced"
 msgstr "Kreiraj fakturu"
 
 #. module: stock
-#: code:addons/stock/stock.py:2492
+#: code:addons/stock/stock.py:2450
 #, python-format
 msgid "You can only delete draft moves."
 msgstr "Možete izbrisati samo transakcije u nacrtu."
 
 #. module: stock
-#: code:addons/stock/stock.py:1682
+#: code:addons/stock/stock.py:1665
 #, python-format
 msgid "You cannot move product %s to a location of type view %s."
 msgstr ""
@@ -1655,7 +1634,7 @@ msgid "Additional Info"
 msgstr "Dodatni podaci"
 
 #. module: stock
-#: code:addons/stock/stock.py:2697
+#: code:addons/stock/stock.py:2648
 #, python-format
 msgid "Missing partial picking data for move #%s."
 msgstr ""
@@ -1671,7 +1650,7 @@ msgid "Incoming Shipments already processed"
 msgstr "Dolazne počiljke su već obrađene"
 
 #. module: stock
-#: code:addons/stock/wizard/stock_return_picking.py:102
+#: code:addons/stock/wizard/stock_return_picking.py:99
 #, python-format
 msgid "You may only return pickings that are Confirmed, Available or Done!"
 msgstr ""
@@ -1748,9 +1727,6 @@ msgstr ""
 #. module: stock
 #: field:stock.inventory,date:0
 #: field:stock.move,create_date:0
-#: field:stock.picking,date:0
-#: field:stock.picking.in,date:0
-#: field:stock.picking.out,date:0
 #: field:stock.production.lot,date:0
 #: field:stock.tracking,date:0
 msgid "Creation Date"
@@ -1840,7 +1816,7 @@ msgid "Order Date"
 msgstr "Datum naloga"
 
 #. module: stock
-#: code:addons/stock/wizard/stock_change_product_qty.py:96
+#: code:addons/stock/wizard/stock_change_product_qty.py:92
 #, python-format
 msgid "INV: %s"
 msgstr "INV: %s"
@@ -1878,7 +1854,7 @@ msgid "Stock Invoice Onshipping"
 msgstr "Račun nakon isporuke"
 
 #. module: stock
-#: code:addons/stock/stock.py:2517
+#: code:addons/stock/stock.py:2475
 #, python-format
 msgid "Please provide a positive quantity to scrap."
 msgstr ""
@@ -1943,8 +1919,6 @@ msgstr "Zaostala narudžba"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Incoming Shipment :"
 msgstr "Primka"
 
@@ -2030,7 +2004,7 @@ msgid "Shelf 2"
 msgstr "Shelf 2"
 
 #. module: stock
-#: code:addons/stock/stock.py:543
+#: code:addons/stock/stock.py:529
 #, python-format
 msgid "You cannot remove a lot line."
 msgstr ""
@@ -2054,7 +2028,7 @@ msgid "Localization"
 msgstr "Lokacija"
 
 #. module: stock
-#: code:addons/stock/product.py:460
+#: code:addons/stock/product.py:459
 #, python-format
 msgid "Delivered Qty"
 msgstr "Otpremljena kol."
@@ -2373,7 +2347,7 @@ msgid "Generate accounting entries per stock movement"
 msgstr ""
 
 #. module: stock
-#: code:addons/stock/product.py:450
+#: code:addons/stock/product.py:449
 #, python-format
 msgid "Received Qty"
 msgstr "Zaprimljena kol."
@@ -2413,8 +2387,6 @@ msgstr "Naziv"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Supplier Address :"
 msgstr "Adresa dobavljača :"
 
@@ -2449,8 +2421,8 @@ msgid "Customer Locations"
 msgstr "Lokacije kupca"
 
 #. module: stock
-#: code:addons/stock/stock.py:2492
-#: code:addons/stock/stock.py:2907
+#: code:addons/stock/stock.py:2449
+#: code:addons/stock/stock.py:2858
 #, python-format
 msgid "User Error!"
 msgstr "Greška korisnika!"
@@ -2681,7 +2653,7 @@ msgid "Warehouse board"
 msgstr "Kokpit skladišta"
 
 #. module: stock
-#: code:addons/stock/product.py:470
+#: code:addons/stock/product.py:469
 #, python-format
 msgid "Future Qty"
 msgstr "Buduće kol."
@@ -2747,7 +2719,7 @@ msgid "Products"
 msgstr "Proizvodi"
 
 #. module: stock
-#: code:addons/stock/stock.py:2287
+#: code:addons/stock/stock.py:2243
 #, python-format
 msgid ""
 "Cannot create Journal Entry, Output Account of this product and Valuation "
@@ -2787,7 +2759,7 @@ msgid "Outgoing Products"
 msgstr "Izlazni proizvodi"
 
 #. module: stock
-#: code:addons/stock/stock.py:2293
+#: code:addons/stock/stock.py:2249
 #, python-format
 msgid ""
 "Please define stock input account for this product or its category: \"%s\" "
@@ -2809,7 +2781,7 @@ msgid "Move"
 msgstr "Temeljnica"
 
 #. module: stock
-#: code:addons/stock/product.py:466
+#: code:addons/stock/product.py:465
 #, python-format
 msgid "P&L Qty"
 msgstr "P&L kol."
@@ -2904,8 +2876,6 @@ msgstr "Izvor"
 #: field:stock.picking,location_id:0
 #: field:stock.picking.in,location_id:0
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 #: field:stock.picking.out,location_id:0
 #: field:stock.report.prodlots,location_id:0
 #: field:stock.report.tracklots,location_id:0
@@ -2929,7 +2899,7 @@ msgid "Cancel Move"
 msgstr "Otkaži prijenos"
 
 #. module: stock
-#: code:addons/stock/stock.py:2290
+#: code:addons/stock/stock.py:2246
 #, python-format
 msgid ""
 "Cannot create Journal Entry, Input Account of this product and Valuation "
@@ -2953,7 +2923,7 @@ msgid "scrap"
 msgstr "otpis"
 
 #. module: stock
-#: code:addons/stock/stock.py:1920
+#: code:addons/stock/stock.py:1891
 #, python-format
 msgid ""
 "By changing the quantity here, you accept the new quantity as complete: "
@@ -3045,13 +3015,13 @@ msgid "Stock Journal"
 msgstr "Dnevnik zalihe"
 
 #. module: stock
-#: code:addons/stock/wizard/stock_return_picking.py:176
+#: code:addons/stock/wizard/stock_return_picking.py:171
 #, python-format
 msgid "%s-%s-return"
 msgstr ""
 
 #. module: stock
-#: code:addons/stock/wizard/stock_change_product_qty.py:86
+#: code:addons/stock/wizard/stock_change_product_qty.py:82
 #, python-format
 msgid "Active ID is not set in Context"
 msgstr "Aktivni ID nije u kontekstu"
@@ -3074,7 +3044,7 @@ msgid "Scrap Move"
 msgstr ""
 
 #. module: stock
-#: help:stock.move,prodlot_id:0
+#: help:stock.move,lot_id:0
 msgid "Serial number is used to put a serial number on the production"
 msgstr ""
 
@@ -3119,7 +3089,7 @@ msgid "Date of Completion"
 msgstr "Datum izvršenja"
 
 #. module: stock
-#: code:addons/stock/stock.py:1680
+#: code:addons/stock/stock.py:1663
 #, python-format
 msgid "You cannot move product %s from a location of type view %s."
 msgstr ""
@@ -3206,10 +3176,8 @@ msgstr "Datum revizije"
 
 #. module: stock
 #: view:report.stock.inventory:0
-#: field:report.stock.inventory,prodlot_id:0
+#: field:report.stock.inventory,lot_id:0
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Lot"
 msgstr "Lot"
 
@@ -3238,8 +3206,6 @@ msgstr "Postavi raspoloživo"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Contact Address :"
 msgstr "Kontakt adresa :"
 
@@ -3431,7 +3397,7 @@ msgid ""
 msgstr ""
 
 #. module: stock
-#: code:addons/stock/stock.py:2545
+#: code:addons/stock/stock.py:2496
 #, python-format
 msgid "%s %s %s has been <b>moved to</b> scrap."
 msgstr ""
@@ -3450,9 +3416,6 @@ msgstr "Customers Packings"
 #: selection:stock.move,state:0
 #: view:stock.picking:0
 #: view:stock.picking.in:0
-#: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Done"
 msgstr "Izvršeno"
 
@@ -3481,7 +3444,7 @@ msgid "Date done"
 msgstr "Datum izvršenja"
 
 #. module: stock
-#: code:addons/stock/stock.py:1135
+#: code:addons/stock/stock.py:1121
 #, python-format
 msgid ""
 "Please put a partner on the picking list if you want to generate invoice."
@@ -3556,7 +3519,7 @@ msgid "Stock"
 msgstr "Zaliha"
 
 #. module: stock
-#: code:addons/stock/wizard/stock_return_picking.py:226
+#: code:addons/stock/wizard/stock_return_picking.py:219
 #, python-format
 msgid "Returned Picking"
 msgstr ""
@@ -3634,7 +3597,7 @@ msgid "Assigned Internal Moves"
 msgstr "DOdjeljeni interni prijenosi"
 
 #. module: stock
-#: code:addons/stock/stock.py:804
+#: code:addons/stock/stock.py:790
 #, python-format
 msgid "You cannot process picking without stock moves."
 msgstr "Prijenosi za ovaj serijski broj"
@@ -3883,7 +3846,7 @@ msgid "Inventory Move"
 msgstr "Skladišni prijenos"
 
 #. module: stock
-#: code:addons/stock/product.py:476
+#: code:addons/stock/product.py:475
 #, python-format
 msgid "Future Productions"
 msgstr "Buduća proizvodnja"
@@ -4006,24 +3969,21 @@ msgstr "Inventar lotova"
 #: model:ir.model,name:stock.model_stock_production_lot
 #: model:ir.ui.menu,name:stock.menu_action_production_lot_form
 #: model:res.request.link,name:stock.req_link_tracking
-#: field:stock.change.product.qty,prodlot_id:0
+#: field:stock.change.product.qty,lot_id:0
 #: field:stock.inventory.line,prod_lot_id:0
 #: field:stock.inventory.line.split.lines,name:0
-#: field:stock.inventory.line.split.lines,prodlot_id:0
-#: field:stock.move,prodlot_id:0
+#: field:stock.inventory.line.split.lines,lot_id:0
+#: field:stock.move,lot_id:0
 #: view:stock.move.split:0
 #: field:stock.move.split.lines,name:0
-#: field:stock.move.split.lines,prodlot_id:0
-#: field:stock.partial.move.line,prodlot_id:0
-#: field:stock.partial.picking.line,prodlot_id:0
+#: field:stock.move.split.lines,lot_id:0
+#: field:stock.partial.move.line,lot_id:0
+#: field:stock.partial.picking.line,lot_id:0
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 #: view:stock.production.lot:0
 #: field:stock.production.lot,name:0
 #: field:stock.production.lot.revision,lot_id:0
-#: field:stock.report.prodlots,prodlot_id:0
-#: field:stock.return.picking.memory,prodlot_id:0
+#: field:stock.report.prodlots,lot_id:0
 msgid "Serial Number"
 msgstr "Serijski broj"
 
@@ -4082,7 +4042,7 @@ msgid "Non European Customers"
 msgstr "Klijenti izvan Europe"
 
 #. module: stock
-#: code:addons/stock/product.py:100
+#: code:addons/stock/product.py:96
 #: code:addons/stock/product.py:110
 #: code:addons/stock/product.py:113
 #: code:addons/stock/product.py:120
@@ -4090,19 +4050,18 @@ msgstr "Klijenti izvan Europe"
 #: code:addons/stock/product.py:167
 #: code:addons/stock/report/report_stock.py:78
 #: code:addons/stock/report/report_stock.py:134
-#: code:addons/stock/stock.py:543
-#: code:addons/stock/stock.py:804
-#: code:addons/stock/stock.py:1204
-#: code:addons/stock/stock.py:1213
-#: code:addons/stock/stock.py:2287
-#: code:addons/stock/stock.py:2290
-#: code:addons/stock/stock.py:2293
-#: code:addons/stock/stock.py:2296
-#: code:addons/stock/stock.py:2299
-#: code:addons/stock/stock.py:2302
-#: code:addons/stock/stock.py:2525
-#: code:addons/stock/stock.py:2634
-#: code:addons/stock/wizard/stock_fill_inventory.py:63
+#: code:addons/stock/stock.py:529
+#: code:addons/stock/stock.py:790
+#: code:addons/stock/stock.py:1190
+#: code:addons/stock/stock.py:1199
+#: code:addons/stock/stock.py:2243
+#: code:addons/stock/stock.py:2246
+#: code:addons/stock/stock.py:2249
+#: code:addons/stock/stock.py:2252
+#: code:addons/stock/stock.py:2255
+#: code:addons/stock/stock.py:2258
+#: code:addons/stock/stock.py:2585
+#: code:addons/stock/wizard/stock_fill_inventory.py:59
 #: code:addons/stock/wizard/stock_invoice_onshipping.py:112
 #: code:addons/stock/wizard/stock_splitinto.py:53
 #, python-format
@@ -4199,7 +4158,7 @@ msgstr ""
 "je fiksna."
 
 #. module: stock
-#: code:addons/stock/stock.py:1882
+#: code:addons/stock/stock.py:1853
 #, python-format
 msgid ""
 "By changing this quantity here, you accept the new quantity as complete: "
@@ -4269,7 +4228,7 @@ msgid "Followers"
 msgstr "Pratitelji"
 
 #. module: stock
-#: code:addons/stock/stock.py:2634
+#: code:addons/stock/stock.py:2585
 #, python-format
 msgid "Cannot consume a move with negative or zero quantity."
 msgstr ""
@@ -4355,7 +4314,7 @@ msgstr ""
 "stock input account will be debited."
 
 #. module: stock
-#: code:addons/stock/stock.py:2860
+#: code:addons/stock/stock.py:2811
 #, python-format
 msgid "INV:"
 msgstr ""
@@ -4374,7 +4333,7 @@ msgid "Chaining Journal"
 msgstr "Dnevnik ulančavanja"
 
 #. module: stock
-#: code:addons/stock/stock.py:782
+#: code:addons/stock/stock.py:768
 #, python-format
 msgid "Not enough stock, unable to reserve the products."
 msgstr "Nedovoljna količina na zalihi, rezervacija artikla nije moguća."
@@ -4406,7 +4365,7 @@ msgid ""
 msgstr ""
 
 #. module: stock
-#: code:addons/stock/product.py:458
+#: code:addons/stock/product.py:457
 #, python-format
 msgid "Future Deliveries"
 msgstr "Buduće otpreme"
@@ -4429,7 +4388,7 @@ msgid "Auto Validate"
 msgstr "Automatska potvrda"
 
 #. module: stock
-#: code:addons/stock/stock.py:1850
+#: code:addons/stock/stock.py:1821
 #, python-format
 msgid "Insufficient Stock for Serial Number !"
 msgstr ""
@@ -4526,14 +4485,14 @@ msgid "Invoiced"
 msgstr "Fakturirano"
 
 #. module: stock
-#: code:addons/stock/stock.py:1881
+#: code:addons/stock/stock.py:1852
 #: view:product.template:0
 #, python-format
 msgid "Information"
 msgstr "Informacija"
 
 #. module: stock
-#: code:addons/stock/stock.py:1213
+#: code:addons/stock/stock.py:1199
 #, python-format
 msgid "You cannot remove the picking which is in %s state!"
 msgstr "Nije moguće ukloniti pošiljku koja je u statusu %s !"
@@ -4569,8 +4528,6 @@ msgstr "Auto-skladišnica"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Customer Address :"
 msgstr "Adresa kupca:"
 
@@ -4637,7 +4594,7 @@ msgid "Shelves (Y)"
 msgstr "Police (Y)"
 
 #. module: stock
-#: code:addons/stock/stock.py:2302
+#: code:addons/stock/stock.py:2258
 #, python-format
 msgid ""
 "Please define inventory valuation account on the product category: \"%s\" "
@@ -4650,7 +4607,7 @@ msgid "Serial Number Revision"
 msgstr ""
 
 #. module: stock
-#: code:addons/stock/product.py:100
+#: code:addons/stock/product.py:96
 #, python-format
 msgid "Specify valuation Account for Product Category: %s."
 msgstr ""
@@ -4663,7 +4620,7 @@ msgid ""
 msgstr ""
 
 #. module: stock
-#: code:addons/stock/wizard/stock_return_picking.py:212
+#: code:addons/stock/wizard/stock_return_picking.py:205
 #, python-format
 msgid "Please specify at least one non-zero quantity."
 msgstr ""
@@ -4696,7 +4653,7 @@ msgid "November"
 msgstr "Studeni"
 
 #. module: stock
-#: code:addons/stock/product.py:472
+#: code:addons/stock/product.py:471
 #, python-format
 msgid "Unplanned Qty"
 msgstr "Neplanirana kol."
@@ -4707,7 +4664,7 @@ msgid "Chained Company"
 msgstr "Chained Company"
 
 #. module: stock
-#: view:stock.picking:0
+#: view:stock.picking.out:0
 msgid "Check Availability"
 msgstr "Provjeri dostupnost"
 
@@ -4732,7 +4689,7 @@ msgid ""
 msgstr ""
 
 #. module: stock
-#: code:addons/stock/wizard/stock_fill_inventory.py:128
+#: code:addons/stock/wizard/stock_fill_inventory.py:124
 #, python-format
 msgid ""
 "No product in this location. Please select a location in the product form."
@@ -4749,14 +4706,14 @@ msgid "Move History (parent moves)"
 msgstr "Move History (parent moves)"
 
 #. module: stock
-#: code:addons/stock/product.py:454
+#: code:addons/stock/product.py:453
 #, python-format
 msgid "Future Stock"
 msgstr "Buduća zaliha"
 
 #. module: stock
-#: code:addons/stock/stock.py:1680
-#: code:addons/stock/stock.py:1682
+#: code:addons/stock/stock.py:1663
+#: code:addons/stock/stock.py:1665
 #, python-format
 msgid "Error"
 msgstr "Greška"
@@ -4879,8 +4836,6 @@ msgstr "Kašnjenja"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Schedule Date"
 msgstr "Zakazani datum"
 
@@ -4918,8 +4873,6 @@ msgstr "Realan"
 #. module: stock
 #: field:stock.move,name:0
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 #: view:stock.production.lot.revision:0
 #: field:stock.production.lot.revision,description:0
 msgid "Description"
@@ -4943,7 +4896,6 @@ msgid "Deliver"
 msgstr "Otpremi"
 
 #. module: stock
-#: view:product.product:0
 #: field:product.product,delivery_count:0
 msgid "Delivery"
 msgstr "Otprema"
@@ -4965,7 +4917,7 @@ msgid "Location Content"
 msgstr "Location Content"
 
 #. module: stock
-#: code:addons/stock/product.py:478
+#: code:addons/stock/product.py:477
 #, python-format
 msgid "Produced Qty"
 msgstr "Proizvedena kol."
@@ -5172,8 +5124,6 @@ msgstr "Spremno za isporuku"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Warehouse Address :"
 msgstr "Adresa skladišta:"
 
index 032e6ca..ed31a02 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2014-02-06 15:56+0000\n"
-"PO-Revision-Date: 2014-05-08 15:02+0000\n"
+"PO-Revision-Date: 2014-05-17 08:22+0000\n"
 "Last-Translator: Erwin van der Ploeg (BAS Solutions) <Unknown>\n"
 "Language-Team: Dutch <nl@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-05-10 07:55+0000\n"
-"X-Generator: Launchpad (build 16996)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: stock
 #: field:stock.inventory.line.split,line_exist_ids:0
@@ -1628,7 +1628,7 @@ msgstr "Terug te betalen (Credit factuur)"
 #: code:addons/stock/stock.py:2450
 #, python-format
 msgid "You can only delete draft moves."
-msgstr "Er kunnen alleen concept-wijzigingen worden verwijderd."
+msgstr "Er kunnen alleen regels met de status 'Nieuw' worden verwijderd."
 
 #. module: stock
 #: code:addons/stock/stock.py:1665
@@ -2415,7 +2415,7 @@ msgstr "stock.return.picking.memory"
 #. module: stock
 #: field:stock.config.settings,group_stock_inventory_valuation:0
 msgid "Generate accounting entries per stock movement"
-msgstr "Maak boekingen per voorraadmutatie"
+msgstr "Maak financiële boekingen per voorraadmutatie (voorraadwaardering)"
 
 #. module: stock
 #: code:addons/stock/product.py:449
@@ -5128,7 +5128,7 @@ msgstr "Gekoppelde locatiesoort"
 #: help:stock.picking.in,min_date:0
 #: help:stock.picking.out,min_date:0
 msgid "Scheduled time for the shipment to be processed"
-msgstr "Geplande tijd, wanneer de uitgaande levering wordt verwerkt"
+msgstr "Geplande tijd, wanneer de levering wordt verwerkt"
 
 #. module: stock
 #: selection:report.stock.inventory,location_type:0
index afdd991..a6a2e5c 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-addons\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2014-02-06 15:56+0000\n"
-"PO-Revision-Date: 2014-03-30 09:58+0000\n"
-"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
+"PO-Revision-Date: 2014-05-17 04:51+0000\n"
+"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: Turkish <tr@li.org>\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-31 06:40+0000\n"
-"X-Generator: Launchpad (build 16967)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: stock
 #: field:stock.inventory.line.split,line_exist_ids:0
@@ -40,7 +40,7 @@ msgstr ""
 #. module: stock
 #: model:ir.model,name:stock.model_stock_move_split_lines
 msgid "Stock move Split lines"
-msgstr "Stok hareketi Bölünmüş Satırları"
+msgstr "Stok Hareketi Bölünmüş Satırları"
 
 #. module: stock
 #: help:product.category,property_stock_account_input_categ:0
@@ -59,7 +59,7 @@ msgstr ""
 #. module: stock
 #: view:stock.picking.out:0
 msgid "Confirm & Deliver"
-msgstr "Onay & Teslimat"
+msgstr "Onay & Teslim"
 
 #. module: stock
 #: model:ir.actions.act_window,name:stock.action_view_change_product_quantity
@@ -70,7 +70,7 @@ msgstr "Ürün Miktarını Güncelle"
 #. module: stock
 #: field:stock.location,chained_location_id:0
 msgid "Chained Location If Fixed"
-msgstr "Zincirli Konum Sabit ise"
+msgstr "Zincirlenmiş Konum Sabit İse"
 
 #. module: stock
 #: view:stock.inventory:0
@@ -129,8 +129,8 @@ msgid "Product Moves"
 msgstr "Ürün Hareketleri"
 
 #. module: stock
-#: code:addons/stock/stock.py:2568
-#: code:addons/stock/stock.py:2629
+#: code:addons/stock/stock.py:2519
+#: code:addons/stock/stock.py:2580
 #, python-format
 msgid "Please provide proper quantity."
 msgstr "Uygun miktarı belirtiniz"
@@ -149,13 +149,13 @@ msgstr ""
 "Üretici seri numarasından farklı olması durumunda dahili referans numarası"
 
 #. module: stock
-#: code:addons/stock/wizard/stock_fill_inventory.py:63
+#: code:addons/stock/wizard/stock_fill_inventory.py:59
 #, python-format
 msgid "You cannot perform this operation on more than one Stock Inventories."
 msgstr "Bu işlemi birden fazla stok kalemi üzerinde uygulayamazsınız."
 
 #. module: stock
-#: code:addons/stock/wizard/stock_change_product_qty.py:95
+#: code:addons/stock/wizard/stock_change_product_qty.py:91
 #, python-format
 msgid "Quantity cannot be negative."
 msgstr "Miktar eksi olamaz"
@@ -188,8 +188,6 @@ msgstr "örn. Yıllık Sayım"
 #: field:stock.partial.move.line,quantity:0
 #: field:stock.partial.picking.line,quantity:0
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 #: field:stock.report.prodlots,qty:0
 #: field:stock.report.tracklots,name:0
 #: field:stock.return.picking.memory,quantity:0
@@ -243,7 +241,7 @@ msgstr ""
 #. module: stock
 #: model:ir.actions.server,name:stock.action_partial_move_server
 msgid "Deliver/Receive Products"
-msgstr "Teslimat/Kabul Ürünler"
+msgstr "Teslim/Kabul Ürünler"
 
 #. module: stock
 #: code:addons/stock/report/report_stock.py:78
@@ -302,7 +300,7 @@ msgstr "Gelen Ürünler"
 #. module: stock
 #: view:report.stock.lines.date:0
 msgid "Non Inv"
-msgstr "Faturalandırılmamış"
+msgstr "Faturasız"
 
 #. module: stock
 #: code:addons/stock/wizard/stock_traceability.py:54
@@ -323,7 +321,7 @@ msgid "Reference"
 msgstr "Referans"
 
 #. module: stock
-#: code:addons/stock/stock.py:1565
+#: code:addons/stock/stock.py:1548
 #, python-format
 msgid "Products to Process"
 msgstr "İşlenecek Ürünler"
@@ -364,12 +362,12 @@ msgstr ""
 "eklenebilmesi için html biçimindedir."
 
 #. module: stock
-#: code:addons/stock/stock.py:782
-#: code:addons/stock/stock.py:2517
-#: code:addons/stock/stock.py:2568
-#: code:addons/stock/stock.py:2629
-#: code:addons/stock/wizard/stock_change_product_qty.py:95
-#: code:addons/stock/wizard/stock_fill_inventory.py:128
+#: code:addons/stock/stock.py:768
+#: code:addons/stock/stock.py:2475
+#: code:addons/stock/stock.py:2519
+#: code:addons/stock/stock.py:2580
+#: code:addons/stock/wizard/stock_change_product_qty.py:91
+#: code:addons/stock/wizard/stock_fill_inventory.py:124
 #: code:addons/stock/wizard/stock_inventory_merge.py:43
 #: code:addons/stock/wizard/stock_inventory_merge.py:63
 #: code:addons/stock/wizard/stock_invoice_onshipping.py:96
@@ -377,9 +375,9 @@ msgstr ""
 #: code:addons/stock/wizard/stock_partial_picking.py:174
 #: code:addons/stock/wizard/stock_partial_picking.py:181
 #: code:addons/stock/wizard/stock_partial_picking.py:192
-#: code:addons/stock/wizard/stock_return_picking.py:102
-#: code:addons/stock/wizard/stock_return_picking.py:109
-#: code:addons/stock/wizard/stock_return_picking.py:212
+#: code:addons/stock/wizard/stock_return_picking.py:99
+#: code:addons/stock/wizard/stock_return_picking.py:106
+#: code:addons/stock/wizard/stock_return_picking.py:205
 #, python-format
 msgid "Warning!"
 msgstr "Uyarı!"
@@ -412,7 +410,7 @@ msgstr "İş Ortağı"
 #. module: stock
 #: field:stock.config.settings,module_claim_from_delivery:0
 msgid "Allow claim on deliveries"
-msgstr "Teslimatlarda şikayete izin ver"
+msgstr "Teslimatlarda şikayete izin verme"
 
 #. module: stock
 #: selection:stock.return.picking,invoice_state:0
@@ -464,7 +462,7 @@ msgstr "İç Konum"
 #. module: stock
 #: view:stock.move:0
 msgid "Split in Serial Number"
-msgstr "Deri Numaralarına ayır"
+msgstr "Seri Numaralarına Ayır"
 
 #. module: stock
 #: view:stock.location:0
@@ -484,7 +482,7 @@ msgstr "Gecikme (Gün)"
 #. module: stock
 #: selection:stock.picking.out,state:0
 msgid "Ready to Deliver"
-msgstr "Teslimata Hazırla"
+msgstr "Teslime Hazırla"
 
 #. module: stock
 #: code:addons/stock/stock.py:2525
@@ -500,9 +498,6 @@ msgstr ""
 #: selection:stock.move,state:0
 #: selection:stock.picking,state:0
 #: selection:stock.picking.in,state:0
-#: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 #: selection:stock.picking.out,state:0
 msgid "Waiting Availability"
 msgstr "Uygunluk Bekliyor"
@@ -511,9 +506,6 @@ msgstr "Uygunluk Bekliyor"
 #: selection:report.stock.inventory,state:0
 #: selection:report.stock.move,state:0
 #: selection:stock.move,state:0
-#: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 #: view:stock.production.lot:0
 #: field:stock.production.lot,stock_available:0
 msgid "Available"
@@ -573,7 +565,7 @@ msgstr ""
 #. module: stock
 #: field:stock.config.settings,group_stock_tracking_lot:0
 msgid "Track serial number on logistic units (pallets)"
-msgstr "Lojistik birimlerinde (paletler) seri numaralarını izle"
+msgstr "Lojistik birimlerde (paletler) seri numaralarını izleme"
 
 #. module: stock
 #: help:product.template,sale_delay:0
@@ -586,7 +578,7 @@ msgstr ""
 "sayısı. Bu müşterilerine söz verdiğiniz süredir."
 
 #. module: stock
-#: code:addons/stock/product.py:195
+#: code:addons/stock/product.py:196
 #, python-format
 msgid "Products: "
 msgstr "Ürünler: "
@@ -603,7 +595,7 @@ msgid "Draft Physical Inventories"
 msgstr "Fiziksel Taslak Envanterler"
 
 #. module: stock
-#: code:addons/stock/stock.py:1806
+#: code:addons/stock/stock.py:1777
 #, python-format
 msgid ""
 "Quantities, Units of Measure, Products and Locations cannot be modified on "
@@ -649,7 +641,7 @@ msgid "Item Labels"
 msgstr "Öğe Etiketleri"
 
 #. module: stock
-#: code:addons/stock/stock.py:1373
+#: code:addons/stock/stock.py:1356
 #, python-format
 msgid "Back order <em>%s</em> has been <b>created</b>."
 msgstr "Sipariş bakiyesi <em>%s</em>  <b>oluşturulmuştur</b>."
@@ -702,7 +694,7 @@ msgstr "Dahili Hareketler"
 #. module: stock
 #: field:stock.move,location_dest_id:0
 msgid "Destination Location"
-msgstr "Varış Konumu"
+msgstr "Hedef Konumu"
 
 #. module: stock
 #: model:ir.model,name:stock.model_stock_partial_move_line
@@ -730,8 +722,6 @@ msgstr ""
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Order(Origin)"
 msgstr "Sipariş (Orjini)"
 
@@ -768,10 +758,9 @@ msgstr "Konum / Ürün"
 #. module: stock
 #: field:stock.move,partner_id:0
 msgid "Destination Address "
-msgstr "Varış Adresi "
+msgstr "Hedef Adresi "
 
 #. module: stock
-#: view:product.product:0
 #: field:product.product,reception_count:0
 msgid "Reception"
 msgstr "Kabul"
@@ -822,8 +811,6 @@ msgstr "Planlanan Yıl"
 #: view:stock.picking.in:0
 #: field:stock.picking.in,state:0
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 #: field:stock.picking.out,state:0
 msgid "Status"
 msgstr "Durumu"
@@ -922,7 +909,7 @@ msgstr ""
 "Defteridir."
 
 #. module: stock
-#: code:addons/stock/stock.py:2296
+#: code:addons/stock/stock.py:2252
 #, python-format
 msgid ""
 "Please define stock output account for this product or its category: \"%s\" "
@@ -951,7 +938,7 @@ msgid "Reference must be unique per Company!"
 msgstr "Referans her şirket için tekil olmalı!"
 
 #. module: stock
-#: code:addons/stock/product.py:448
+#: code:addons/stock/product.py:447
 #, python-format
 msgid "Future Receptions"
 msgstr "Gelecek Kabuller"
@@ -981,7 +968,7 @@ msgstr "Konum Adresi"
 #: view:stock.move:0
 #: view:stock.move.scrap:0
 msgid "Scrap Products"
-msgstr "Hurda Ürünler"
+msgstr "Fire Ürünler"
 
 #. module: stock
 #: view:product.product:0
@@ -990,8 +977,6 @@ msgstr "- güncelle"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Weight"
 msgstr "Ağırlık"
 
@@ -1037,7 +1022,7 @@ msgid "December"
 msgstr "Aralık"
 
 #. module: stock
-#: code:addons/stock/stock.py:1204
+#: code:addons/stock/stock.py:1190
 #, python-format
 msgid ""
 "You cannot cancel the picking as some moves have been done. You should "
@@ -1062,7 +1047,7 @@ msgid "Change Product Quantity"
 msgstr "Ürün Miktarını Değiştir"
 
 #. module: stock
-#: code:addons/stock/product.py:464
+#: code:addons/stock/product.py:463
 #, python-format
 msgid "Future P&L"
 msgstr "Gelecek Kâr&Zarar"
@@ -1086,7 +1071,7 @@ msgstr "Oluşturma tarihi, genellikle sipariş tarihidir."
 #: view:report.stock.inventory:0
 #: view:stock.move:0
 msgid "Scrap"
-msgstr "Hurda"
+msgstr "Fire"
 
 #. module: stock
 #: field:product.template,property_stock_inventory:0
@@ -1099,7 +1084,7 @@ msgid "You must assign a serial number for this product."
 msgstr "Bu ürün için seri numarası atamanız gerekir."
 
 #. module: stock
-#: code:addons/stock/stock.py:2299
+#: code:addons/stock/stock.py:2255
 #, python-format
 msgid "Please define journal on the product category: \"%s\" (id: %d)"
 msgstr "Ürün kategorisi ile ilgili yevmiye tanımlayınız: \"%s\" (id: %d)"
@@ -1124,7 +1109,7 @@ msgstr "Birim Fiyat"
 #. module: stock
 #: field:stock.move,date_expected:0
 msgid "Scheduled Date"
-msgstr "Zamanlan Tarih"
+msgstr "Planlanan Tarih"
 
 #. module: stock
 #: view:stock.tracking:0
@@ -1146,8 +1131,6 @@ msgstr "ParaBirimi"
 #: view:stock.picking:0
 #: view:stock.picking.in:0
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Journal"
 msgstr "Yevmiye"
 
@@ -1207,7 +1190,7 @@ msgstr "Ters Tranferler"
 #. module: stock
 #: field:stock.config.settings,group_uos:0
 msgid "Invoice products in a different unit of measure than the sales order"
-msgstr "Satış siparişinde ürünleri farklı ölçü biriminde faturalandırma"
+msgstr "Satış siparişinde ürünleri farklı ölçü biriminden faturalama"
 
 #. module: stock
 #: help:stock.location,active:0
@@ -1226,7 +1209,7 @@ msgstr ""
 "seçin."
 
 #. module: stock
-#: code:addons/stock/wizard/stock_return_picking.py:109
+#: code:addons/stock/wizard/stock_return_picking.py:106
 #, python-format
 msgid ""
 "No products to return (only lines in Done state and not fully returned yet "
@@ -1353,7 +1336,7 @@ msgid "Author"
 msgstr "Yazar"
 
 #. module: stock
-#: code:addons/stock/stock.py:1851
+#: code:addons/stock/stock.py:1822
 #, python-format
 msgid ""
 "You are moving %.2f %s but only %.2f %s available for this serial number."
@@ -1362,8 +1345,6 @@ msgstr ""
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Internal Shipment :"
 msgstr "Dahili Sevkiyat :"
 
@@ -1391,7 +1372,7 @@ msgid "Supplier"
 msgstr "Tedarikçi"
 
 #. module: stock
-#: code:addons/stock/stock.py:2908
+#: code:addons/stock/stock.py:2859
 #, python-format
 msgid ""
 "In order to cancel this inventory, you must first unpost related journal "
@@ -1478,7 +1459,7 @@ msgstr ""
 #. module: stock
 #: model:stock.location,name:stock.stock_location_locations_partner
 msgid "Partner Locations"
-msgstr "İş Ortağı Konumları"
+msgstr "İş Ortağı Konumu"
 
 #. module: stock
 #: selection:stock.picking.in,state:0
@@ -1502,12 +1483,10 @@ msgstr "Planlanmış Zaman"
 #: model:ir.actions.act_window,name:stock.move_consume
 #: view:stock.move.consume:0
 msgid "Consume Move"
-msgstr "Tüketim Hareketi"
+msgstr "Sarf Hareketi"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Delivery Order :"
 msgstr "Teslimat Siparişi:"
 
@@ -1609,7 +1588,7 @@ msgstr ""
 "kullanılırken)"
 
 #. module: stock
-#: code:addons/stock/stock.py:1919
+#: code:addons/stock/stock.py:1890
 #, python-format
 msgid "Warning: No Back Order"
 msgstr "Uyarı: No Back Order"
@@ -1631,13 +1610,13 @@ msgid "To be refunded/invoiced"
 msgstr "İade edilecek/faturalanacak"
 
 #. module: stock
-#: code:addons/stock/stock.py:2492
+#: code:addons/stock/stock.py:2450
 #, python-format
 msgid "You can only delete draft moves."
 msgstr "Sadece taslak hareketlerini silebilirsiniz."
 
 #. module: stock
-#: code:addons/stock/stock.py:1682
+#: code:addons/stock/stock.py:1665
 #, python-format
 msgid "You cannot move product %s to a location of type view %s."
 msgstr "Bu %s ürününü %s görünüm türlü bir konuma taşıyamazsınız."
@@ -1666,7 +1645,7 @@ msgstr "Taslak"
 #. module: stock
 #: field:product.template,sale_delay:0
 msgid "Customer Lead Time"
-msgstr "Müşteri Teslimat Süresi"
+msgstr "Müşteri Teslim Süresi"
 
 #. module: stock
 #: view:stock.picking:0
@@ -1674,7 +1653,7 @@ msgid "Additional Info"
 msgstr "Ek Bilgisi"
 
 #. module: stock
-#: code:addons/stock/stock.py:2697
+#: code:addons/stock/stock.py:2648
 #, python-format
 msgid "Missing partial picking data for move #%s."
 msgstr "Hareket #%s için kısmi toplama verisi eksik."
@@ -1690,7 +1669,7 @@ msgid "Incoming Shipments already processed"
 msgstr "Halihazırda işlenmiş Gelen sevkiyatlar"
 
 #. module: stock
-#: code:addons/stock/wizard/stock_return_picking.py:102
+#: code:addons/stock/wizard/stock_return_picking.py:99
 #, python-format
 msgid "You may only return pickings that are Confirmed, Available or Done!"
 msgstr ""
@@ -1700,7 +1679,7 @@ msgstr ""
 #. module: stock
 #: view:stock.location:0
 msgid "Stock Locations"
-msgstr "Stok Konumları"
+msgstr "Stok Konumu"
 
 #. module: stock
 #: view:stock.picking:0
@@ -1731,7 +1710,7 @@ msgstr "Böl"
 #. module: stock
 #: model:ir.actions.report.xml,name:stock.report_picking_list_out
 msgid "Delivery Slip"
-msgstr "Teslimat Makbuzu"
+msgstr "Teslim Makbuzu"
 
 #. module: stock
 #: model:ir.actions.act_window,name:stock.open_board_warehouse
@@ -1773,9 +1752,6 @@ msgstr ""
 #. module: stock
 #: field:stock.inventory,date:0
 #: field:stock.move,create_date:0
-#: field:stock.picking,date:0
-#: field:stock.picking.in,date:0
-#: field:stock.picking.out,date:0
 #: field:stock.production.lot,date:0
 #: field:stock.tracking,date:0
 msgid "Creation Date"
@@ -1866,7 +1842,7 @@ msgid "Order Date"
 msgstr "Sipariş Tarihi"
 
 #. module: stock
-#: code:addons/stock/wizard/stock_change_product_qty.py:96
+#: code:addons/stock/wizard/stock_change_product_qty.py:92
 #, python-format
 msgid "INV: %s"
 msgstr "INV: %s"
@@ -1896,7 +1872,7 @@ msgstr "Zincirleme Tedarik Süresi"
 #. module: stock
 #: field:stock.config.settings,group_uom:0
 msgid "Manage different units of measure for products"
-msgstr "Ürünler için farklı ölçü birimleri yönetimi"
+msgstr "Ürünler için farklı ölçü birimleri yönetme"
 
 #. module: stock
 #: model:ir.model,name:stock.model_stock_invoice_onshipping
@@ -1904,10 +1880,10 @@ msgid "Stock Invoice Onshipping"
 msgstr "Sevkiyatta Stok Faturalandırma"
 
 #. module: stock
-#: code:addons/stock/stock.py:2517
+#: code:addons/stock/stock.py:2475
 #, python-format
 msgid "Please provide a positive quantity to scrap."
-msgstr "hurda için lütfen artı bir miktar belirtin."
+msgstr "Fire için lütfen artı bir miktar belirtin."
 
 #. module: stock
 #: model:stock.location,name:stock.stock_location_shop1
@@ -1942,7 +1918,7 @@ msgstr "Eylül"
 #. module: stock
 #: view:product.product:0
 msgid "days"
-msgstr "günler"
+msgstr "gün"
 
 #. module: stock
 #: model:ir.model,name:stock.model_report_stock_inventory
@@ -1969,8 +1945,6 @@ msgstr "Birikmiş Sipariş mi (backorder)"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Incoming Shipment :"
 msgstr "Gelen Sevkiyat:"
 
@@ -2060,7 +2034,7 @@ msgid "Shelf 2"
 msgstr "Raf 2"
 
 #. module: stock
-#: code:addons/stock/stock.py:543
+#: code:addons/stock/stock.py:529
 #, python-format
 msgid "You cannot remove a lot line."
 msgstr "Lot satırları kaldıramazsınız."
@@ -2084,7 +2058,7 @@ msgid "Localization"
 msgstr "Lokalizasyon"
 
 #. module: stock
-#: code:addons/stock/product.py:460
+#: code:addons/stock/product.py:459
 #, python-format
 msgid "Delivered Qty"
 msgstr "TeslimEdilen Miktar"
@@ -2184,7 +2158,7 @@ msgstr "Stok Konumu"
 #: code:addons/stock/wizard/stock_partial_picking.py:97
 #, python-format
 msgid "_Deliver"
-msgstr "_Teslimat"
+msgstr "_Teslim"
 
 #. module: stock
 #: code:addons/stock/wizard/stock_inventory_merge.py:64
@@ -2398,7 +2372,7 @@ msgstr "Fiyat"
 #. module: stock
 #: field:stock.config.settings,module_stock_invoice_directly:0
 msgid "Create and open the invoice when the user finish a delivery order"
-msgstr "Kullanıcı bir teslimat emrini tamamladığında fatura oluştur ve aç"
+msgstr "Kullanıcı bir teslim emrini tamamladığında fatura oluşturma ve açma"
 
 #. module: stock
 #: model:ir.model,name:stock.model_stock_return_picking_memory
@@ -2408,10 +2382,10 @@ msgstr "stock.return.picking.memory"
 #. module: stock
 #: field:stock.config.settings,group_stock_inventory_valuation:0
 msgid "Generate accounting entries per stock movement"
-msgstr "Stok hareketi başına muhasebe kayıtlarını oluşturun"
+msgstr "Her stok hareketi için muhasebe kayıtları oluşturma"
 
 #. module: stock
-#: code:addons/stock/product.py:450
+#: code:addons/stock/product.py:449
 #, python-format
 msgid "Received Qty"
 msgstr "Alınan Miktar"
@@ -2453,8 +2427,6 @@ msgstr "Adı"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Supplier Address :"
 msgstr "Tedarikçi Adresi"
 
@@ -2486,11 +2458,11 @@ msgstr "Lojistik sevikayat ünitesi: palet, kutu, paket ..."
 #. module: stock
 #: view:stock.location:0
 msgid "Customer Locations"
-msgstr "Müşteri Konumları"
+msgstr "Müşteri Konumu"
 
 #. module: stock
-#: code:addons/stock/stock.py:2492
-#: code:addons/stock/stock.py:2907
+#: code:addons/stock/stock.py:2449
+#: code:addons/stock/stock.py:2858
 #, python-format
 msgid "User Error!"
 msgstr "Kullanıcı Hatası!"
@@ -2651,7 +2623,7 @@ msgstr "Ölçü Birimi"
 #. module: stock
 #: field:stock.config.settings,group_stock_multiple_locations:0
 msgid "Manage multiple locations and warehouses"
-msgstr "Çoklu konum ve depo yönet"
+msgstr "Çoklu konum ve depo yönetme"
 
 #. module: stock
 #: field:stock.config.settings,group_stock_production_lot:0
@@ -2703,7 +2675,7 @@ msgstr "Diğerleri"
 #: model:stock.location,name:stock.stock_location_scrapped
 #: field:stock.move,scrapped:0
 msgid "Scrapped"
-msgstr "Hurda"
+msgstr "Fire"
 
 #. module: stock
 #: field:product.product,track_incoming:0
@@ -2721,7 +2693,7 @@ msgid "Warehouse board"
 msgstr "Depo panosu"
 
 #. module: stock
-#: code:addons/stock/product.py:470
+#: code:addons/stock/product.py:469
 #, python-format
 msgid "Future Qty"
 msgstr "Gelecek Miktar"
@@ -2729,7 +2701,7 @@ msgstr "Gelecek Miktar"
 #. module: stock
 #: model:res.groups,name:stock.group_production_lot
 msgid "Manage Serial Numbers"
-msgstr "Seri Numaraları Yönet"
+msgstr "Seri Numaraları Yönetme"
 
 #. module: stock
 #: field:stock.move,note:0
@@ -2788,7 +2760,7 @@ msgid "Products"
 msgstr "Ürünler"
 
 #. module: stock
-#: code:addons/stock/stock.py:2287
+#: code:addons/stock/stock.py:2243
 #, python-format
 msgid ""
 "Cannot create Journal Entry, Output Account of this product and Valuation "
@@ -2812,7 +2784,7 @@ msgstr "Fiyatı Değiştir"
 #: field:stock.picking.in,move_type:0
 #: field:stock.picking.out,move_type:0
 msgid "Delivery Method"
-msgstr "Teslimat Yöntemi"
+msgstr "Teslim Yöntemi"
 
 #. module: stock
 #: help:report.stock.move,location_dest_id:0
@@ -2830,7 +2802,7 @@ msgid "Outgoing Products"
 msgstr "Giden Ürünler"
 
 #. module: stock
-#: code:addons/stock/stock.py:2293
+#: code:addons/stock/stock.py:2249
 #, python-format
 msgid ""
 "Please define stock input account for this product or its category: \"%s\" "
@@ -2852,7 +2824,7 @@ msgid "Move"
 msgstr "Hareket"
 
 #. module: stock
-#: code:addons/stock/product.py:466
+#: code:addons/stock/product.py:465
 #, python-format
 msgid "P&L Qty"
 msgstr "Kâr&Zarar Miktarı"
@@ -2947,8 +2919,6 @@ msgstr "Kaynak"
 #: field:stock.picking,location_id:0
 #: field:stock.picking.in,location_id:0
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 #: field:stock.picking.out,location_id:0
 #: field:stock.report.prodlots,location_id:0
 #: field:stock.report.tracklots,location_id:0
@@ -2969,10 +2939,10 @@ msgstr "Envanter İptali"
 #. module: stock
 #: view:stock.move:0
 msgid "Cancel Move"
-msgstr "Hareketi İptal et"
+msgstr "Hareketi İptal Et"
 
 #. module: stock
-#: code:addons/stock/stock.py:2290
+#: code:addons/stock/stock.py:2246
 #, python-format
 msgid ""
 "Cannot create Journal Entry, Input Account of this product and Valuation "
@@ -2995,10 +2965,10 @@ msgstr "Sabit Konum"
 #. module: stock
 #: field:report.stock.inventory,scrap_location:0
 msgid "scrap"
-msgstr "hurda"
+msgstr "fire"
 
 #. module: stock
-#: code:addons/stock/stock.py:1920
+#: code:addons/stock/stock.py:1891
 #, python-format
 msgid ""
 "By changing the quantity here, you accept the new quantity as complete: "
@@ -3025,7 +2995,7 @@ msgstr "Seri numarası ile Stok raporu"
 #. module: stock
 #: view:stock.picking:0
 msgid "Cancel Transfer"
-msgstr "Aktarmayı iptal et"
+msgstr "Aktarmayı İptal Et"
 
 #. module: stock
 #: selection:report.stock.inventory,month:0
@@ -3100,13 +3070,13 @@ msgid "Stock Journal"
 msgstr "Stok Yevmiye"
 
 #. module: stock
-#: code:addons/stock/wizard/stock_return_picking.py:176
+#: code:addons/stock/wizard/stock_return_picking.py:171
 #, python-format
 msgid "%s-%s-return"
 msgstr "%s-%s-dönen"
 
 #. module: stock
-#: code:addons/stock/wizard/stock_change_product_qty.py:86
+#: code:addons/stock/wizard/stock_change_product_qty.py:82
 #, python-format
 msgid "Active ID is not set in Context"
 msgstr "Aktif Kimlik Bağlam bölümünde ayarlanmamış"
@@ -3126,10 +3096,10 @@ msgstr "Raf"
 #: model:ir.actions.act_window,name:stock.move_scrap
 #: view:stock.move.scrap:0
 msgid "Scrap Move"
-msgstr "Hurda Hareketi"
+msgstr "Fire Hareketi"
 
 #. module: stock
-#: help:stock.move,prodlot_id:0
+#: help:stock.move,lot_id:0
 msgid "Serial number is used to put a serial number on the production"
 msgstr ""
 "Seri numarası üretimi üzerinde bir seri numarası koymak için kullanılmaktadır"
@@ -3175,7 +3145,7 @@ msgid "Date of Completion"
 msgstr "Tamamlama Tarihi"
 
 #. module: stock
-#: code:addons/stock/stock.py:1680
+#: code:addons/stock/stock.py:1663
 #, python-format
 msgid "You cannot move product %s from a location of type view %s."
 msgstr "Bu %s ürününü %s görünüm türündeki konumdan taşıyamazsınız."
@@ -3183,7 +3153,7 @@ msgstr "Bu %s ürününü %s görünüm türündeki konumdan taşıyamazsınız.
 #. module: stock
 #: model:stock.location,name:stock.stock_location_company
 msgid "Your Company"
-msgstr "Firmanız"
+msgstr "Firma"
 
 #. module: stock
 #: help:stock.tracking,active:0
@@ -3258,10 +3228,8 @@ msgstr "Revizyon Tarihi"
 
 #. module: stock
 #: view:report.stock.inventory:0
-#: field:report.stock.inventory,prodlot_id:0
+#: field:report.stock.inventory,lot_id:0
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Lot"
 msgstr "Lot"
 
@@ -3292,10 +3260,8 @@ msgstr "Kullanılabilir Yap"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Contact Address :"
-msgstr "İlgili Adresi:"
+msgstr "Kontak Adresi:"
 
 #. module: stock
 #: help:stock.config.settings,group_stock_tracking_lot:0
@@ -3329,7 +3295,7 @@ msgstr "Özellikler"
 #: field:stock.inventory.line.split.lines,wizard_id:0
 #: field:stock.move.split.lines,wizard_id:0
 msgid "Parent Wizard"
-msgstr "Ana Sihirbaz"
+msgstr "Üst Sihirbaz"
 
 #. module: stock
 #: model:ir.actions.act_window,name:stock.action_incoterms_tree
@@ -3337,7 +3303,7 @@ msgstr "Ana Sihirbaz"
 #: model:ir.ui.menu,name:stock.menu_action_incoterm_open
 #: view:stock.incoterms:0
 msgid "Incoterms"
-msgstr "Teslimat Şekilleri"
+msgstr "Teslim Şekilleri"
 
 #. module: stock
 #: model:ir.model,name:stock.model_stock_partial_picking_line
@@ -3473,7 +3439,7 @@ msgstr "Revizyon Adı"
 #. module: stock
 #: model:res.groups,name:stock.group_tracking_lot
 msgid "Manage Logistic Serial Numbers"
-msgstr "Lojistik Seri Numaralarını Yönet"
+msgstr "Lojistik Seri Numaralarını Yönetme"
 
 #. module: stock
 #: view:stock.inventory:0
@@ -3506,15 +3472,15 @@ msgstr ""
 "            "
 
 #. module: stock
-#: code:addons/stock/stock.py:2545
+#: code:addons/stock/stock.py:2496
 #, python-format
 msgid "%s %s %s has been <b>moved to</b> scrap."
-msgstr "%s %s %s olarak <b>taşındı</b> hurda."
+msgstr "%s %s %s olarak <b>taşındı</b> fire."
 
 #. module: stock
 #: model:ir.actions.act_window,name:stock.action_picking_tree_out
 msgid "Customers Packings"
-msgstr "Tüketici Paketleri"
+msgstr "Müşteri Paketleri"
 
 #. module: stock
 #: selection:report.stock.inventory,state:0
@@ -3525,9 +3491,6 @@ msgstr "Tüketici Paketleri"
 #: selection:stock.move,state:0
 #: view:stock.picking:0
 #: view:stock.picking.in:0
-#: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Done"
 msgstr "Biten"
 
@@ -3556,7 +3519,7 @@ msgid "Date done"
 msgstr "Bitim tarih"
 
 #. module: stock
-#: code:addons/stock/stock.py:1135
+#: code:addons/stock/stock.py:1121
 #, python-format
 msgid ""
 "Please put a partner on the picking list if you want to generate invoice."
@@ -3583,7 +3546,7 @@ msgstr "Acil Değil"
 #. module: stock
 #: view:stock.move:0
 msgid "Scheduled"
-msgstr "Zamanlandı"
+msgstr "Planlanan"
 
 #. module: stock
 #: view:stock.picking:0
@@ -3634,7 +3597,7 @@ msgid "Stock"
 msgstr "Stok"
 
 #. module: stock
-#: code:addons/stock/wizard/stock_return_picking.py:226
+#: code:addons/stock/wizard/stock_return_picking.py:219
 #, python-format
 msgid "Returned Picking"
 msgstr "Dönen SeçimListeleri"
@@ -3709,7 +3672,7 @@ msgid "Assigned Internal Moves"
 msgstr "Atanmış Dahili Hareketler"
 
 #. module: stock
-#: code:addons/stock/stock.py:804
+#: code:addons/stock/stock.py:790
 #, python-format
 msgid "You cannot process picking without stock moves."
 msgstr "Stok hareketleri olmadan seçim listesi işleyemiyor."
@@ -3755,7 +3718,7 @@ msgstr "Koridor (X)"
 #: field:stock.config.settings,group_stock_packaging:0
 msgid "Allow to define several packaging methods on products"
 msgstr ""
-"Ürünleri üzerinde çeşitli paketleme yöntemleri tanımlamak için izin ver"
+"Ürünler üzerinde çeşitli paketleme yöntemleri tanımlama için izin verme"
 
 #. module: stock
 #: model:stock.location,name:stock.stock_location_7
@@ -3783,7 +3746,7 @@ msgstr "Başka bir İşlem Bekliyor"
 #. module: stock
 #: view:stock.location:0
 msgid "Supplier Locations"
-msgstr "Tedarikçi Konumları"
+msgstr "Tedarikçi Konumu"
 
 #. module: stock
 #: field:stock.partial.move.line,wizard_id:0
@@ -3957,7 +3920,7 @@ msgid "Inventory Move"
 msgstr "Envanter Hareketi"
 
 #. module: stock
-#: code:addons/stock/product.py:476
+#: code:addons/stock/product.py:475
 #, python-format
 msgid "Future Productions"
 msgstr "Gelecek Üretimler"
@@ -4082,24 +4045,21 @@ msgstr "Lot Envanteri"
 #: model:ir.model,name:stock.model_stock_production_lot
 #: model:ir.ui.menu,name:stock.menu_action_production_lot_form
 #: model:res.request.link,name:stock.req_link_tracking
-#: field:stock.change.product.qty,prodlot_id:0
+#: field:stock.change.product.qty,lot_id:0
 #: field:stock.inventory.line,prod_lot_id:0
 #: field:stock.inventory.line.split.lines,name:0
-#: field:stock.inventory.line.split.lines,prodlot_id:0
-#: field:stock.move,prodlot_id:0
+#: field:stock.inventory.line.split.lines,lot_id:0
+#: field:stock.move,lot_id:0
 #: view:stock.move.split:0
 #: field:stock.move.split.lines,name:0
-#: field:stock.move.split.lines,prodlot_id:0
-#: field:stock.partial.move.line,prodlot_id:0
-#: field:stock.partial.picking.line,prodlot_id:0
+#: field:stock.move.split.lines,lot_id:0
+#: field:stock.partial.move.line,lot_id:0
+#: field:stock.partial.picking.line,lot_id:0
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 #: view:stock.production.lot:0
 #: field:stock.production.lot,name:0
 #: field:stock.production.lot.revision,lot_id:0
-#: field:stock.report.prodlots,prodlot_id:0
-#: field:stock.return.picking.memory,prodlot_id:0
+#: field:stock.report.prodlots,lot_id:0
 msgid "Serial Number"
 msgstr "Seri Numarası"
 
@@ -4162,7 +4122,7 @@ msgid "Non European Customers"
 msgstr "Avrupalı Olmayan Müşteriler"
 
 #. module: stock
-#: code:addons/stock/product.py:100
+#: code:addons/stock/product.py:96
 #: code:addons/stock/product.py:110
 #: code:addons/stock/product.py:113
 #: code:addons/stock/product.py:120
@@ -4170,19 +4130,18 @@ msgstr "Avrupalı Olmayan Müşteriler"
 #: code:addons/stock/product.py:167
 #: code:addons/stock/report/report_stock.py:78
 #: code:addons/stock/report/report_stock.py:134
-#: code:addons/stock/stock.py:543
-#: code:addons/stock/stock.py:804
-#: code:addons/stock/stock.py:1204
-#: code:addons/stock/stock.py:1213
-#: code:addons/stock/stock.py:2287
-#: code:addons/stock/stock.py:2290
-#: code:addons/stock/stock.py:2293
-#: code:addons/stock/stock.py:2296
-#: code:addons/stock/stock.py:2299
-#: code:addons/stock/stock.py:2302
-#: code:addons/stock/stock.py:2525
-#: code:addons/stock/stock.py:2634
-#: code:addons/stock/wizard/stock_fill_inventory.py:63
+#: code:addons/stock/stock.py:529
+#: code:addons/stock/stock.py:790
+#: code:addons/stock/stock.py:1190
+#: code:addons/stock/stock.py:1199
+#: code:addons/stock/stock.py:2243
+#: code:addons/stock/stock.py:2246
+#: code:addons/stock/stock.py:2249
+#: code:addons/stock/stock.py:2252
+#: code:addons/stock/stock.py:2255
+#: code:addons/stock/stock.py:2258
+#: code:addons/stock/stock.py:2585
+#: code:addons/stock/wizard/stock_fill_inventory.py:59
 #: code:addons/stock/wizard/stock_invoice_onshipping.py:112
 #: code:addons/stock/wizard/stock_splitinto.py:53
 #, python-format
@@ -4280,7 +4239,7 @@ msgstr ""
 "durumunda Zincirlenen Konum."
 
 #. module: stock
-#: code:addons/stock/stock.py:1882
+#: code:addons/stock/stock.py:1853
 #, python-format
 msgid ""
 "By changing this quantity here, you accept the new quantity as complete: "
@@ -4321,7 +4280,7 @@ msgstr "Onaylandı"
 #: view:stock.move:0
 #: view:stock.picking:0
 msgid "Confirm"
-msgstr "Onaylama"
+msgstr "Doğrula"
 
 #. module: stock
 #: help:stock.location,icon:0
@@ -4354,7 +4313,7 @@ msgid "Followers"
 msgstr "İzleyiciler"
 
 #. module: stock
-#: code:addons/stock/stock.py:2634
+#: code:addons/stock/stock.py:2585
 #, python-format
 msgid "Cannot consume a move with negative or zero quantity."
 msgstr "Eksi ya da sıfır miktarlı bir hareket kullanılamıyor."
@@ -4425,7 +4384,7 @@ msgstr "Ayarlar"
 #. module: stock
 #: model:res.groups,name:stock.group_locations
 msgid "Manage Multiple Locations and Warehouses"
-msgstr "Çoklu Lokayonları ve Depoları Yönet"
+msgstr "Çoklu Lokayonları ve Depoları Yönetme"
 
 #. module: stock
 #: help:stock.change.standard.price,new_price:0
@@ -4442,7 +4401,7 @@ msgstr ""
 "giriş hesabı borçlandırılacaktır."
 
 #. module: stock
-#: code:addons/stock/stock.py:2860
+#: code:addons/stock/stock.py:2811
 #, python-format
 msgid "INV:"
 msgstr "ENV:"
@@ -4465,7 +4424,7 @@ msgid "Chaining Journal"
 msgstr "Zincirleme Yevmiye"
 
 #. module: stock
-#: code:addons/stock/stock.py:782
+#: code:addons/stock/stock.py:768
 #, python-format
 msgid "Not enough stock, unable to reserve the products."
 msgstr "Yeterli stok yok, ürünler rezerve edilemiyor."
@@ -4508,7 +4467,7 @@ msgstr ""
 "olmayacaktır."
 
 #. module: stock
-#: code:addons/stock/product.py:458
+#: code:addons/stock/product.py:457
 #, python-format
 msgid "Future Deliveries"
 msgstr "Gelecek Teslimatlar"
@@ -4531,7 +4490,7 @@ msgid "Auto Validate"
 msgstr "Otomatik Onaylama"
 
 #. module: stock
-#: code:addons/stock/stock.py:1850
+#: code:addons/stock/stock.py:1821
 #, python-format
 msgid "Insufficient Stock for Serial Number !"
 msgstr "Seri Numarası için yetersiz Stok!"
@@ -4629,14 +4588,14 @@ msgid "Invoiced"
 msgstr "Faturalandı"
 
 #. module: stock
-#: code:addons/stock/stock.py:1881
+#: code:addons/stock/stock.py:1852
 #: view:product.template:0
 #, python-format
 msgid "Information"
 msgstr "Bilgisi"
 
 #. module: stock
-#: code:addons/stock/stock.py:1213
+#: code:addons/stock/stock.py:1199
 #, python-format
 msgid "You cannot remove the picking which is in %s state!"
 msgstr "Bu %s durumundaki toplamayı kaldıramazsınız!"
@@ -4668,12 +4627,10 @@ msgstr "Mak. Beklenen Tarih"
 #: field:stock.picking.in,auto_picking:0
 #: field:stock.picking.out,auto_picking:0
 msgid "Auto-Picking"
-msgstr "Otomatik Seçimlistesi"
+msgstr "Otomatik Seçim listesi"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Customer Address :"
 msgstr "Müşteri Adresi :"
 
@@ -4731,7 +4688,7 @@ msgstr "Bu envanterleri birleştirmek istiyor musunuz?"
 #. module: stock
 #: view:stock.picking.out:0
 msgid "Date of Delivery"
-msgstr "Teslimat Tarihi"
+msgstr "Teslim Tarihi"
 
 #. module: stock
 #: field:stock.location,posy:0
@@ -4739,7 +4696,7 @@ msgid "Shelves (Y)"
 msgstr "Raflar (Y)"
 
 #. module: stock
-#: code:addons/stock/stock.py:2302
+#: code:addons/stock/stock.py:2258
 #, python-format
 msgid ""
 "Please define inventory valuation account on the product category: \"%s\" "
@@ -4754,7 +4711,7 @@ msgid "Serial Number Revision"
 msgstr "Seri No Revizyonu"
 
 #. module: stock
-#: code:addons/stock/product.py:100
+#: code:addons/stock/product.py:96
 #, python-format
 msgid "Specify valuation Account for Product Category: %s."
 msgstr "Ürün Kategorisi için değerleme hesabı belirtin: %s."
@@ -4769,7 +4726,7 @@ msgstr ""
 "                Bu, claim_from_delivery modülünü kurar."
 
 #. module: stock
-#: code:addons/stock/wizard/stock_return_picking.py:212
+#: code:addons/stock/wizard/stock_return_picking.py:205
 #, python-format
 msgid "Please specify at least one non-zero quantity."
 msgstr "Lütfencsıfır olmayan  enaz bir miktar girin."
@@ -4787,7 +4744,7 @@ msgstr "Kullanıcı"
 #. module: stock
 #: field:stock.config.settings,module_stock_location:0
 msgid "Create push/pull logistic rules"
-msgstr "İtme/çekme lojistik kuralları oluşturun"
+msgstr "İtme/çekme lojistik kuralları oluşturma"
 
 #. module: stock
 #: code:addons/stock/wizard/stock_invoice_onshipping.py:98
@@ -4802,7 +4759,7 @@ msgid "November"
 msgstr "Kasım"
 
 #. module: stock
-#: code:addons/stock/product.py:472
+#: code:addons/stock/product.py:471
 #, python-format
 msgid "Unplanned Qty"
 msgstr "Planlanmayan Miktar"
@@ -4813,7 +4770,7 @@ msgid "Chained Company"
 msgstr "Zincirlenen Firma"
 
 #. module: stock
-#: view:stock.picking:0
+#: view:stock.picking.out:0
 msgid "Check Availability"
 msgstr "Uygunluk Kontrolu"
 
@@ -4840,7 +4797,7 @@ msgstr ""
 "doğru izlenebilirliğini elde edebilirsiniz."
 
 #. module: stock
-#: code:addons/stock/wizard/stock_fill_inventory.py:128
+#: code:addons/stock/wizard/stock_fill_inventory.py:124
 #, python-format
 msgid ""
 "No product in this location. Please select a location in the product form."
@@ -4854,17 +4811,17 @@ msgstr "Gelecekteki Stok Hareketleri"
 #. module: stock
 #: field:stock.move,move_history_ids2:0
 msgid "Move History (parent moves)"
-msgstr "Hareket Geçmşi (üst hareketler)"
+msgstr "Hareket Geçmişi (üst hareketler)"
 
 #. module: stock
-#: code:addons/stock/product.py:454
+#: code:addons/stock/product.py:453
 #, python-format
 msgid "Future Stock"
 msgstr "Sonraki Stok"
 
 #. module: stock
-#: code:addons/stock/stock.py:1680
-#: code:addons/stock/stock.py:1682
+#: code:addons/stock/stock.py:1663
+#: code:addons/stock/stock.py:1665
 #, python-format
 msgid "Error"
 msgstr "Hata"
@@ -4994,8 +4951,6 @@ msgstr "Gecikmeler"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Schedule Date"
 msgstr "Program Tarihi"
 
@@ -5033,8 +4988,6 @@ msgstr "Gerçek"
 #. module: stock
 #: field:stock.move,name:0
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 #: view:stock.production.lot.revision:0
 #: field:stock.production.lot.revision,description:0
 msgid "Description"
@@ -5058,10 +5011,9 @@ msgid "Deliver"
 msgstr "Teslim"
 
 #. module: stock
-#: view:product.product:0
 #: field:product.product,delivery_count:0
 msgid "Delivery"
-msgstr "Teslimat"
+msgstr "Teslim"
 
 #. module: stock
 #: view:stock.fill.inventory:0
@@ -5080,7 +5032,7 @@ msgid "Location Content"
 msgstr "Konum İçeriği"
 
 #. module: stock
-#: code:addons/stock/product.py:478
+#: code:addons/stock/product.py:477
 #, python-format
 msgid "Produced Qty"
 msgstr "Üretilen Miktar"
@@ -5181,7 +5133,7 @@ msgstr "Onay & Tranfer"
 #: field:stock.location,scrap_location:0
 #: view:stock.move.scrap:0
 msgid "Scrap Location"
-msgstr "Hurda Konumu"
+msgstr "Fire Konumu"
 
 #. module: stock
 #: model:ir.actions.act_window,name:stock.action_partial_picking
@@ -5305,8 +5257,6 @@ msgstr "İşlenmeye Hazır"
 
 #. module: stock
 #: report:stock.picking.list:0
-#: report:stock.picking.list.in:0
-#: report:stock.picking.list.out:0
 msgid "Warehouse Address :"
 msgstr "Depo Adresi :"
 
diff --git a/addons/stock/report/lot_overview.sxw b/addons/stock/report/lot_overview.sxw
new file mode 100644 (file)
index 0000000..25f4260
Binary files /dev/null and b/addons/stock/report/lot_overview.sxw differ
diff --git a/addons/stock/report/lot_overview_all.sxw b/addons/stock/report/lot_overview_all.sxw
new file mode 100644 (file)
index 0000000..c774f1b
Binary files /dev/null and b/addons/stock/report/lot_overview_all.sxw differ
diff --git a/addons/stock/report/picking.sxw b/addons/stock/report/picking.sxw
new file mode 100644 (file)
index 0000000..b397c28
Binary files /dev/null and b/addons/stock/report/picking.sxw differ
diff --git a/addons/stock/report/stock_inventory_move.sxw b/addons/stock/report/stock_inventory_move.sxw
new file mode 100644 (file)
index 0000000..bb6084a
Binary files /dev/null and b/addons/stock/report/stock_inventory_move.sxw differ
index d2d5ba3..981b6f7 100644 (file)
@@ -1132,13 +1132,13 @@ class stock_picking(osv.osv):
             if not inv_type:
                 inv_type = self._get_invoice_type(picking)
 
+            invoice_vals = self._prepare_invoice(cr, uid, picking, partner, inv_type, journal_id, context=context)
             if group and partner.id in invoices_group:
                 invoice_id = invoices_group[partner.id]
                 invoice = invoice_obj.browse(cr, uid, invoice_id)
                 invoice_vals_group = self._prepare_invoice_group(cr, uid, picking, partner, invoice, context=context)
                 invoice_obj.write(cr, uid, [invoice_id], invoice_vals_group, context=context)
             else:
-                invoice_vals = self._prepare_invoice(cr, uid, picking, partner, inv_type, journal_id, context=context)
                 invoice_id = invoice_obj.create(cr, uid, invoice_vals, context=context)
                 invoices_group[partner.id] = invoice_id
             res[picking.id] = invoice_id
@@ -2200,12 +2200,12 @@ class stock_move(osv.osv):
                     done.append(move.id)
                     pickings[move.picking_id.id] = 1
                     r = res.pop(0)
-                    product_uos_qty = self.pool.get('stock.move').onchange_quantity(cr, uid, ids, move.product_id.id, r[0], move.product_id.uom_id.id, move.product_id.uos_id.id)['value']['product_uos_qty']
+                    product_uos_qty = self.pool.get('stock.move').onchange_quantity(cr, uid, [move.id], move.product_id.id, r[0], move.product_id.uom_id.id, move.product_id.uos_id.id)['value']['product_uos_qty']
                     cr.execute('update stock_move set location_id=%s, product_qty=%s, product_uos_qty=%s where id=%s', (r[1], r[0],product_uos_qty, move.id))
 
                     while res:
                         r = res.pop(0)
-                        product_uos_qty = self.pool.get('stock.move').onchange_quantity(cr, uid, ids, move.product_id.id, r[0], move.product_id.uom_id.id, move.product_id.uos_id.id)['value']['product_uos_qty']
+                        product_uos_qty = self.pool.get('stock.move').onchange_quantity(cr, uid, [move.id], move.product_id.id, r[0], move.product_id.uom_id.id, move.product_id.uos_id.id)['value']['product_uos_qty']
                         move_id = self.copy(cr, uid, move.id, {'product_uos_qty': product_uos_qty, 'product_qty': r[0], 'location_id': r[1]})
                         done.append(move_id)
         if done:
@@ -2411,7 +2411,7 @@ class stock_move(osv.osv):
                 picking_ids.append(move.picking_id.id)
             if move.move_dest_id.id and (move.state != 'done'):
                 # Downstream move should only be triggered if this move is the last pending upstream move
-                other_upstream_move_ids = self.search(cr, uid, [('id','!=',move.id),('state','not in',['done','cancel']),
+                other_upstream_move_ids = self.search(cr, uid, [('id','not in',move_ids),('state','not in',['done','cancel']),
                                             ('move_dest_id','=',move.move_dest_id.id)], context=context)
                 if not other_upstream_move_ids:
                     self.write(cr, uid, [move.id], {'move_history_ids': [(4, move.move_dest_id.id)]})
index 89c4540..5668804 100644 (file)
@@ -7,14 +7,14 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 7.0\n"
 "Report-Msgid-Bugs-To: \n"
 "POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-04-13 23:40+0000\n"
-"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
+"PO-Revision-Date: 2014-05-17 04:50+0000\n"
+"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:37+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: stock_location
 #: help:product.pulled.flow,company_id:0
@@ -80,7 +80,7 @@ msgstr "X konumunda alırken,Y konumuna taşı"
 #: selection:product.pulled.flow,picking_type:0
 #: selection:stock.location.path,picking_type:0
 msgid "Internal"
-msgstr "İç"
+msgstr "Dahili"
 
 #. module: stock_location
 #: code:addons/stock_location/procurement_pull.py:98
@@ -95,7 +95,7 @@ msgstr ""
 #. module: stock_location
 #: model:ir.model,name:stock_location.model_stock_location
 msgid "Location"
-msgstr "Yer"
+msgstr "Konum"
 
 #. module: stock_location
 #: field:product.pulled.flow,invoice_state:0
@@ -196,12 +196,12 @@ msgstr "Stoktan Al"
 #: code:addons/stock_location/procurement_pull.py:118
 #, python-format
 msgid "Pulled from another location."
-msgstr "farklı bir konumdan alındı"
+msgstr "Farklı bir konumdan alındı"
 
 #. module: stock_location
 #: field:product.pulled.flow,partner_address_id:0
 msgid "Partner Address"
-msgstr "Partner Adresi"
+msgstr "İş Ortağı Adresi"
 
 #. module: stock_location
 #: selection:product.pulled.flow,invoice_state:0
@@ -287,7 +287,7 @@ msgstr "Uygun Değil"
 #. module: stock_location
 #: field:stock.location.path,delay:0
 msgid "Delay (days)"
-msgstr "Geçikme (Gün)"
+msgstr "Geçikme (gün)"
 
 #. module: stock_location
 #: code:addons/stock_location/procurement_pull.py:67
@@ -360,7 +360,7 @@ msgstr "İşlem Türü"
 #. module: stock_location
 #: field:product.pulled.flow,procure_method:0
 msgid "Procure Method"
-msgstr "TeminEtme Metodu"
+msgstr "Tedarik Metodu"
 
 #. module: stock_location
 #: help:product.pulled.flow,picking_type:0
index 8bb3ab4..f5eedb3 100644 (file)
@@ -7,20 +7,20 @@ msgstr ""
 "Project-Id-Version: OpenERP Server 6.0dev\n"
 "Report-Msgid-Bugs-To: support@openerp.com\n"
 "POT-Creation-Date: 2013-06-07 19:37+0000\n"
-"PO-Revision-Date: 2013-03-02 03:28+0000\n"
-"Last-Translator: Ayhan KIZILTAN <Unknown>\n"
+"PO-Revision-Date: 2014-05-17 04:50+0000\n"
+"Last-Translator: Ediz Duman <neps1192@gmail.com>\n"
 "Language-Team: \n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2013-11-21 06:38+0000\n"
-"X-Generator: Launchpad (build 16831)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: warning
 #: model:ir.model,name:warning.model_purchase_order_line
 #: field:product.product,purchase_line_warn:0
 msgid "Purchase Order Line"
-msgstr "Satınalma Sipariş Kalemi"
+msgstr "Satınalma Sipariş Satırı"
 
 #. module: warning
 #: model:ir.model,name:warning.model_stock_picking_in
@@ -30,7 +30,7 @@ msgstr "Gelen Sevkiyatlar"
 #. module: warning
 #: field:product.product,purchase_line_warn_msg:0
 msgid "Message for Purchase Order Line"
-msgstr "Alış Sipariş Kalemi için Mesaj"
+msgstr "Satınalma Sipariş Satırı için Mesaj"
 
 #. module: warning
 #: model:ir.model,name:warning.model_stock_picking
@@ -40,7 +40,7 @@ msgstr "Toplama Listesi"
 #. module: warning
 #: view:product.product:0
 msgid "Warning when Purchasing this Product"
-msgstr "Bu Ürün Satıalınırken yapılacak Uyarı"
+msgstr "Bu Ürün Satınalınırken Yapılacak Uyarı"
 
 #. module: warning
 #: model:ir.model,name:warning.model_product_product
@@ -61,12 +61,12 @@ msgstr "Uyarılar"
 #: selection:res.partner,purchase_warn:0
 #: selection:res.partner,sale_warn:0
 msgid "Blocking Message"
-msgstr "Mesaj Engelleme"
+msgstr "Mesajı Engelleme"
 
 #. module: warning
 #: view:res.partner:0
 msgid "Warning on the Invoice"
-msgstr "Faturadaki Uyarı"
+msgstr "Faturada Uyarı"
 
 #. module: warning
 #: selection:product.product,purchase_line_warn:0
@@ -87,7 +87,7 @@ msgstr "Fatura"
 #. module: warning
 #: view:product.product:0
 msgid "Warning when Selling this Product"
-msgstr "Bu Ürün Satılırken yapılacak Uyarı"
+msgstr "Bu Ürün Satılırken Yapılacak Uyarı"
 
 #. module: warning
 #: field:res.partner,picking_warn:0
@@ -139,7 +139,7 @@ msgstr "%s için uyarı !"
 #. module: warning
 #: view:res.partner:0
 msgid "Warning on the Sales Order"
-msgstr "Satış Siparişinde uyarı"
+msgstr "Satış Siparişinde Uyarı"
 
 #. module: warning
 #: field:res.partner,invoice_warn_msg:0
@@ -149,17 +149,17 @@ msgstr "Fatura Mesajı"
 #. module: warning
 #: field:res.partner,sale_warn_msg:0
 msgid "Message for Sales Order"
-msgstr "Satış siparişi için mesaj"
+msgstr "Satış Siparişi için Mesaj"
 
 #. module: warning
 #: view:res.partner:0
 msgid "Warning on the Picking"
-msgstr "Toplama Uyarısı"
+msgstr "Toplamada Uyarı"
 
 #. module: warning
 #: view:res.partner:0
 msgid "Warning on the Purchase Order"
-msgstr "Satınalma Siparişi Uyarısı"
+msgstr "Satınalma Siparişinde Uyarı"
 
 #. module: warning
 #: code:addons/warning/warning.py:68
@@ -177,7 +177,7 @@ msgstr "%s için uyarı"
 #. module: warning
 #: field:product.product,sale_line_warn_msg:0
 msgid "Message for Sales Order Line"
-msgstr "Satış Siparişi kalemi için mesaj"
+msgstr "Satış Sipariş Satırı için Mesaj"
 
 #. module: warning
 #: selection:product.product,purchase_line_warn:0
@@ -214,4 +214,4 @@ msgstr "Teslimat Emirleri"
 #: model:ir.model,name:warning.model_sale_order_line
 #: field:product.product,sale_line_warn:0
 msgid "Sales Order Line"
-msgstr "Satış Siparişi Kalemi"
+msgstr "Satış Sipariş Satırı"
index 7c2bc81..2b08a7c 100644 (file)
 .openerp .oe_list_editable .oe_list_content td.oe_list_field_cell {
   padding: 4px 6px 3px;
 }
-.openerp .oe_list.oe_list_editable.oe_editing .oe_edition .oe_list_field_cell:not(.oe_readonly) {
+.openerp .oe_list.oe_list_editable.oe_editing .oe_edition .oe_list_field_cell {
   color: transparent;
   text-shadow: none;
 }
-.openerp .oe_list.oe_list_editable.oe_editing .oe_edition .oe_list_field_cell:not(.oe_readonly) * {
+.openerp .oe_list.oe_list_editable.oe_editing .oe_edition .oe_list_field_cell * {
   visibility: hidden;
 }
 .openerp .oe_list.oe_list_editable.oe_editing .oe_m2o_drop_down_button {
   min-width: 0;
   max-width: none;
 }
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_list_field_handle {
+  color: transparent;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_readonly {
+  padding: 4px 6px 3px;
+  text-align: left;
+}
 .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea {
   height: 27px;
   -moz-border-radius: 0;
 .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field textarea, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field select {
   min-width: 0;
 }
-.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_float input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_view_integer input {
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_float.oe_readonly, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_view_integer.oe_readonly {
+  padding: 6px 0px 0px;
   text-align: right;
+  max-width: 100px;
+}
+.openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_float input, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_view_integer input {
   width: 100% !important;
+  text-align: right;
 }
 .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_datetime input.oe_datepicker_master, .openerp .oe_list.oe_list_editable.oe_editing .oe_form_field.oe_form_field_date input.oe_datepicker_master {
   width: 100% !important;
index 1c02018..bdb358a 100644 (file)
@@ -2218,7 +2218,7 @@ $sheet-padding: 16px
     .oe_list_editable .oe_list_content td.oe_list_field_cell
         padding: 4px 6px 3px
     .oe_list.oe_list_editable.oe_editing
-        .oe_edition .oe_list_field_cell:not(.oe_readonly)
+        .oe_edition .oe_list_field_cell
             *
                 visibility: hidden
             color: transparent
@@ -2230,6 +2230,11 @@ $sheet-padding: 16px
         .oe_input_icon
             margin-top: 5px
         .oe_form_field
+            &.oe_list_field_handle
+                color: transparent
+            &.oe_readonly
+                padding: 4px 6px 3px
+                text-align: left
             min-width: 0
             max-width: none
             input, textarea
@@ -2240,9 +2245,13 @@ $sheet-padding: 16px
             input, textarea, select
                 min-width: 0
             &.oe_form_field_float,&.oe_form_view_integer
-                input
+                &.oe_readonly
+                    padding: 6px 0px 0px
                     text-align: right
+                    max-width: 100px
+                input
                     width: 100% !important
+                    text-align: right
             &.oe_form_field_datetime,&.oe_form_field_date
                 input.oe_datepicker_master
                     width: 100% !important
index 3280b9f..cf53d9f 100644 (file)
@@ -228,7 +228,8 @@ instance.web.parse_value = function (value, descriptor, value_if_empty) {
                 value = value.replace(instance.web._t.database.parameters.thousands_sep, "");
             } while(tmp !== value);
             tmp = Number(value);
-            if (isNaN(tmp))
+            // do not accept not numbers or float values
+            if (isNaN(tmp) || tmp % 1)
                 throw new Error(_.str.sprintf(_t("'%s' is not a correct integer"), value));
             return tmp;
         case 'float':
@@ -265,6 +266,11 @@ instance.web.parse_value = function (value, descriptor, value_if_empty) {
                     value, (date_pattern + ' ' + time_pattern));
             if (datetime !== null)
                 return instance.web.datetime_to_str(datetime);
+            datetime = Date.parseExact(value.replace(/\d+/g, function(m){
+                return m.length === 1 ? "0" + m : m ;
+            }), (date_pattern + ' ' + time_pattern));
+            if (datetime !== null)
+                return instance.web.datetime_to_str(datetime);
             datetime = Date.parse(value);
             if (datetime !== null)
                 return instance.web.datetime_to_str(datetime);
@@ -273,6 +279,11 @@ instance.web.parse_value = function (value, descriptor, value_if_empty) {
             var date = Date.parseExact(value, date_pattern);
             if (date !== null)
                 return instance.web.date_to_str(date);
+            date = Date.parseExact(value.replace(/\d+/g, function(m){
+                return m.length === 1 ? "0" + m : m ;
+            }), date_pattern);
+            if (date !== null)
+                return instance.web.date_to_str(date);
             date = Date.parse(value);
             if (date !== null)
                 return instance.web.date_to_str(date);
index 1f61620..30b381d 100644 (file)
@@ -331,11 +331,11 @@ instance.web.SearchView = instance.web.Widget.extend(/** @lends instance.web.Sea
         'keydown .oe_searchview_input, .oe_searchview_facet': function (e) {
             switch(e.which) {
             case $.ui.keyCode.LEFT:
-                this.focusPreceding(this);
+                this.focusPreceding(e.target);
                 e.preventDefault();
                 break;
             case $.ui.keyCode.RIGHT:
-                this.focusFollowing(this);
+                this.focusFollowing(e.target);
                 e.preventDefault();
                 break;
             }
index 7a38f0b..50ec791 100644 (file)
@@ -2422,6 +2422,7 @@ instance.web.DateTimeWidget = instance.web.Widget.extend({
     type_of_date: "datetime",
     events: {
         'change .oe_datepicker_master': 'change_datetime',
+        'keypress .oe_datepicker_master': 'change_datetime',
     },
     init: function(parent) {
         this._super(parent);
@@ -2540,8 +2541,8 @@ instance.web.DateTimeWidget = instance.web.Widget.extend({
     format_client: function(v) {
         return instance.web.format_value(v, {"widget": this.type_of_date});
     },
-    change_datetime: function() {
-        if (this.is_valid_()) {
+    change_datetime: function(e) {
+        if ((e.type !== "keypress" || e.which === 13) && this.is_valid_()) {
             this.set_value_from_ui_();
             this.trigger("datetime_changed");
         }
@@ -2599,7 +2600,9 @@ instance.web.form.FieldDatetime = instance.web.form.AbstractField.extend(instanc
     },
     set_dimensions: function (height, width) {
         this._super(height, width);
-        this.datewidget.$input.css('height', height);
+        if (!this.get("effective_readonly")) {
+            this.datewidget.$input.css('height', height);
+        }
     }
 });
 
@@ -3073,6 +3076,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
         this.floating = false;
         this.current_display = null;
         this.is_started = false;
+        this.ignore_focusout = false;
     },
     reinit_value: function(val) {
         this.internal_set_value(val);
@@ -3198,6 +3202,7 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
         var ed_delay = 200;
         var ed_duration = 15000;
         var anyoneLoosesFocus = function (e) {
+            if (self.ignore_focusout) { return; }
             var used = false;
             if (self.floating) {
                 if (self.last_search.length > 0) {
@@ -3390,11 +3395,17 @@ instance.web.form.FieldMany2One = instance.web.form.AbstractField.extend(instanc
     _search_create_popup: function() {
         this.no_ed = true;
         this.ed_def.reject();
-        return instance.web.form.CompletionFieldMixin._search_create_popup.apply(this, arguments);
+        this.ignore_focusout = true;
+        this.reinit_value(false);
+        var res = instance.web.form.CompletionFieldMixin._search_create_popup.apply(this, arguments);
+        this.ignore_focusout = false;
+        this.no_ed = false;
+        return res;
     },
     set_dimensions: function (height, width) {
         this._super(height, width);
-        this.$input.css('height', height);
+        if (!this.get("effective_readonly") && this.$input)
+            this.$input.css('height', height);
     }
 });
 
@@ -3948,7 +3959,11 @@ instance.web.form.One2ManyListView = instance.web.ListView.extend({
             else
                 return $.when();
         }).done(function () {
-            if (!self.o2m.options.reload_on_button) {
+            var ds = self.o2m.dataset;
+            var cached_records = _.any([ds.to_create, ds.to_delete, ds.to_write], function(value) {
+                return value.length;
+            });
+            if (!self.o2m.options.reload_on_button && !cached_records) {
                 self.handle_button(name, id, callback);
             }else {
                 self.handle_button(name, id, function(){
@@ -4356,7 +4371,8 @@ instance.web.form.Many2ManyListView = instance.web.ListView.extend(/** @lends in
         pop.select_element(
             this.model,
             {
-                title: _t("Add: ") + this.m2m_field.string
+                title: _t("Add: ") + this.m2m_field.string,
+                no_create: this.m2m_field.options.no_create,
             },
             new instance.web.CompoundDomain(this.m2m_field.build_domain(), ["!", ["id", "in", this.m2m_field.dataset.ids]]),
             this.m2m_field.build_context()
index c4aac55..f3ee5db 100644 (file)
@@ -127,15 +127,7 @@ openerp.web.list_editable = function (instance) {
             if (this.editable()) {
                 this.$el.find('table:first').show();
                 this.$el.find('.oe_view_nocontent').remove();
-                this.start_edition().then(function(){
-                    var fields = self.editor.form.fields;
-                    self.editor.form.fields_order.some(function(field){
-                        if (fields[field].$el.is(':visible')){
-                            fields[field].$el.find("input").select();
-                            return true;
-                        }
-                    });
-                });
+                this.start_edition();
             } else {
                 this._super();
             }
@@ -240,6 +232,7 @@ openerp.web.list_editable = function (instance) {
             return this.ensure_saved().then(function () {
                 var $recordRow = self.groups.get_row_for(record);
                 var cells = self.get_cells_for($recordRow);
+                var fields = {};
                 self.fields_for_resize.splice(0, self.fields_for_resize.length);
                 return self.with_event('edit', {
                     record: record.attributes,
@@ -253,10 +246,16 @@ openerp.web.list_editable = function (instance) {
 
                         // FIXME: need better way to get the field back from bubbling (delegated) DOM events somehow
                         field.$el.attr('data-fieldname', field_name);
+                        fields[field_name] = field;
                         self.fields_for_resize.push({field: field, cell: cell});
                     }, options).then(function () {
                         $recordRow.addClass('oe_edition');
                         self.resize_fields();
+                        var focus_field = options && options.focus_field ? options.focus_field : undefined;
+                        if (!focus_field){
+                            focus_field = _.find(self.editor.form.fields_order, function(field){ return fields[field] && fields[field].$el.is(':visible:has(input)'); });
+                        }
+                        if (focus_field) fields[focus_field].$el.find('input').select();
                         return record.attributes;
                     });
                 }).fail(function () {
@@ -283,9 +282,7 @@ openerp.web.list_editable = function (instance) {
             if (!this.editor.is_editing()) { return; }
             for(var i=0, len=this.fields_for_resize.length; i<len; ++i) {
                 var item = this.fields_for_resize[i];
-                if (!item.field.get('effective_invisible')) {
-                    this.resize_field(item.field, item.cell);
-                }
+                this.resize_field(item.field, item.cell);
             }
         },
         /**
@@ -304,6 +301,11 @@ openerp.web.list_editable = function (instance) {
                 at: 'left top',
                 of: $cell
             });
+            if (field.get('effective_readonly')) {
+                field.$el.addClass('oe_readonly');
+            }
+            if(field.widget == "handle")
+                field.$el.addClass('oe_list_field_handle');
         },
         /**
          * @return {jQuery.Deferred}
@@ -449,13 +451,7 @@ openerp.web.list_editable = function (instance) {
         setup_events: function () {
             var self = this;
             _.each(this.editor.form.fields, function(field, field_name) {
-                var set_invisible = function() {
-                    field.set({'force_invisible': field.get('effective_readonly')});
-                };
-                field.on("change:effective_readonly", self, set_invisible);
-                set_invisible();
-                field.on('change:effective_invisible', self, function () {
-                    if (field.get('effective_invisible')) { return; }
+                field.on("change:effective_readonly", self, function(){
                     var item = _(self.fields_for_resize).find(function (item) {
                         return item.field === field;
                     });
@@ -750,31 +746,6 @@ openerp.web.list_editable = function (instance) {
             throw new Error("is_editing's state filter must be either `new` or" +
                             " `edit` if provided");
         },
-        _focus_setup: function (focus_field) {
-            var form = this.form;
-
-            var field;
-            // If a field to focus was specified
-            if (focus_field
-                    // Is actually in the form
-                    && (field = form.fields[focus_field])
-                    // And is visible
-                    && field.$el.is(':visible')) {
-                // focus it
-                field.focus();
-                return;
-            }
-
-            _(form.fields_order).detect(function (name) {
-                // look for first visible field in fields_order, focus it
-                var field = form.fields[name];
-                if (!field.$el.is(':visible')) {
-                    return false;
-                }
-                // Stop as soon as a field got focused
-                return field.focus() !== false;
-            });
-        },
         edit: function (record, configureField, options) {
             // TODO: specify sequence of edit calls
             var self = this;
@@ -789,7 +760,6 @@ openerp.web.list_editable = function (instance) {
                 _(form.fields).each(function (field, name) {
                     configureField(name, field);
                 });
-                self._focus_setup(options && options.focus_field);
                 return form;
             });
         },
index 1084008..3fc4012 100644 (file)
     <t t-if="! widget.options.disable_multiple_selection">
         <button type="button" class="oe_button oe_selectcreatepopup-search-select oe_highlight" disabled="disabled">Select</button>
     </t>
+    <t t-if="!widget.options.no_create">
     <button type="button" class="oe_button oe_selectcreatepopup-search-create">Create</button>
-    or <a class="oe_button oe_selectcreatepopup-search-close oe_bold oe_form_button_cancel" href="javascript:void(0)">Cancel</a>
+    or </t><a class="oe_button oe_selectcreatepopup-search-close oe_bold oe_form_button_cancel" href="javascript:void(0)">Cancel</a>
 </t>
 <t t-name="AbstractFormPopup.buttons">
     <t t-if="! readonly">
index f7f08c3..f2cc0f7 100644 (file)
@@ -57,6 +57,7 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
         this.range_stop = null;
         this.update_range_dates(Date.today());
         this.selected_filters = [];
+        this.is_slow_open = false;
     },
     view_loading: function(r) {
         return this.load_calendar(r);
@@ -465,6 +466,13 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
     },
     slow_create: function(event_id, event_obj) {
         var self = this;
+        // Workaround, some browsers trigger onEmptyClick as well as onBeforeLightbox
+        // during drag&drop which calls two slow_create calls, kills the second one
+        if (this.is_slow_open) {
+            scheduler.deleteEvent(event_id);
+            return;
+        }
+        this.is_slow_open = true;
         if (this.current_mode() === 'month') {
             event_obj['start_date'].addHours(8);
             if (event_obj._length === 1) {
@@ -487,6 +495,7 @@ instance.web_calendar.CalendarView = instance.web.View.extend({
             view_id: pop_infos.view_id,
         });
         pop.on('closed', self, function() {
+            this.is_slow_open = false;
             if (!something_saved) {
                 scheduler.deleteEvent(event_id);
             }
index 2c2a197..63823c8 100644 (file)
@@ -73,6 +73,9 @@
 .openerp .oe_kanban_view.oe_kanban_ungrouped .oe_kanban_groups {
   width: 100%;
 }
+.openerp .oe_kanban_view .oe_kanban_groups_records {
+  height: 100%;
+}
 .openerp .oe_kanban_view.oe_kanban_grouped_by_m2o .oe_kanban_group_title {
   cursor: move;
 }
   padding: 0px;
   background: white;
 }
-.openerp .oe_kanban_view .oe_kanban_column, .openerp .oe_kanban_view .oe_kanban_column_cards {
-  height: 100%;
-}
-.openerp .oe_kanban_view .oe_kanban_column, .openerp .oe_kanban_view .oe_kanban_column_cards {
+.openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_column, .openerp .oe_kanban_view.oe_kanban_grouped .oe_kanban_column_cards {
   height: 100%;
 }
 .openerp .oe_kanban_view .oe_kanban_aggregates {
index cac86ac..ae6f1d3 100644 (file)
         height: inherit
     &.oe_kanban_ungrouped .oe_kanban_groups
         width: 100%
+    .oe_kanban_groups_records
+        height: 100%
     &.oe_kanban_grouped_by_m2o .oe_kanban_group_title
         cursor: move
     .oe_kanban_header
         .oe_kanban_column
             padding: 0px
             background: #ffffff
-
-    .oe_kanban_column, .oe_kanban_column_cards
-        height: 100%
+    &.oe_kanban_grouped
+        .oe_kanban_column, .oe_kanban_column_cards
+            height: 100%
     .oe_kanban_aggregates
         padding: 0
         margin: 0px
index 9d49252..67f448a 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-server\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:35+0000\n"
-"PO-Revision-Date: 2014-05-01 14:38+0000\n"
-"Last-Translator: Rudolf Schnapka <rs@techno-flex.de>\n"
+"PO-Revision-Date: 2014-05-17 09:03+0000\n"
+"Last-Translator: Ralf Hilgenstock <rh@dialoge.info>\n"
 "Language-Team: German <de@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-05-02 06:45+0000\n"
-"X-Generator: Launchpad (build 16985)\n"
+"X-Launchpad-Export-Date: 2014-05-18 05:53+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: base
 #: model:ir.module.module,description:base.module_account_check_writing
@@ -527,7 +527,7 @@ msgstr ""
 #: code:addons/orm.py:2649
 #, python-format
 msgid "Invalid group_by"
-msgstr "Fehler bei group_by Argument"
+msgstr "Ungültiges group_by Argument"
 
 #. module: base
 #: field:ir.module.category,child_ids:0
@@ -549,7 +549,7 @@ msgstr "Langzeitprojekt Portal"
 #: field:ir.model.data,date_update:0
 #: field:ir.model.relation,date_update:0
 msgid "Update Date"
-msgstr "Update des Datums"
+msgstr "Datum aktualisieren"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_base_action_rule
@@ -819,7 +819,7 @@ msgstr "Verkauf & Einkauf"
 #. module: base
 #: view:res.partner:0
 msgid "Put an internal note..."
-msgstr "Eine Mitteilung verfassen"
+msgstr "Eine interne Mitteilung verfassen"
 
 #. module: base
 #: view:ir.translation:0
@@ -6874,7 +6874,7 @@ msgstr "Isle of Man"
 #. module: base
 #: help:ir.actions.client,res_model:0
 msgid "Optional model, mostly used for needactions."
-msgstr "Dieses ist ein optionales Krokodil"
+msgstr "Optionales Modell, meist für Bedarfsaktionen verwandt"
 
 #. module: base
 #: code:addons/base/module/module.py:306
@@ -6895,7 +6895,7 @@ msgstr "Bedingungstyp"
 #. module: base
 #: field:res.company,child_ids:0
 msgid "Child Companies"
-msgstr "untergeordnete Gesellschaften"
+msgstr "Tochterunternehmen"
 
 #. module: base
 #: model:res.country,name:base.ni
@@ -9570,7 +9570,7 @@ msgstr "Nächste Nummer dieser Sequenz"
 #: view:res.partner:0
 #: view:res.users:0
 msgid "Tags..."
-msgstr "Tags..."
+msgstr "Schlagworte …"
 
 #. module: base
 #: view:res.partner:0
@@ -10555,7 +10555,7 @@ msgstr "Zielobjekt"
 #. module: base
 #: selection:ir.model.fields,select_level:0
 msgid "Always Searchable"
-msgstr "immer eine Suche anzeigen"
+msgstr "Immer  durchsuchbar"
 
 #. module: base
 #: help:res.country.state,code:0
@@ -12003,7 +12003,7 @@ msgstr "Beim Entfernen"
 #: code:addons/base/ir/ir_model.py:347
 #, python-format
 msgid "Model %s does not exist!"
-msgstr "Modul %s existiert nicht!"
+msgstr "Modell %s existiert nicht!"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_mrp_jit
@@ -12172,7 +12172,7 @@ msgstr "Island"
 #: model:ir.actions.act_window,name:base.ir_action_window
 #: model:ir.ui.menu,name:base.menu_ir_action_window
 msgid "Window Actions"
-msgstr "Schließe/Öffne Fenster..."
+msgstr "Fenster öffnen/schließen …"
 
 #. module: base
 #: model:ir.module.module,description:base.module_portal_project_issue
@@ -12185,8 +12185,8 @@ msgid ""
 "    "
 msgstr ""
 "\n"
-"Diese Anwendung fügt Ihrem Portal ein Menü und Funktionen für Probleme "
-"hinzu, wenn project_issue und das Portal installiert sind.\n"
+"Diese Anwendung fügt Ihrem Portal ein Menü und Funktionen hinzu, wenn "
+"project_issue und das Portal installiert sind.\n"
 "============================================================================="
 "=====================\n"
 "    "
@@ -13951,7 +13951,7 @@ msgstr "Mehrstufig"
 #. module: base
 #: model:ir.module.module,summary:base.module_crm
 msgid "Leads, Opportunities, Phone Calls"
-msgstr "Leads, Opportunities, Telefonate"
+msgstr "Leads, Chancen, Telefonate"
 
 #. module: base
 #: model:ir.module.category,description:base.module_category_knowledge_management
@@ -14087,7 +14087,7 @@ msgstr ""
 #. module: base
 #: view:ir.module.module:0
 msgid "Search modules"
-msgstr "Suche Module"
+msgstr "Suche nach Modulen"
 
 #. module: base
 #: model:res.country,name:base.by
@@ -14251,12 +14251,12 @@ msgstr "Markieren, wenn der Kontakt ein Kunde ist."
 #. module: base
 #: view:ir.actions.server:0
 msgid "Trigger Configuration"
-msgstr "Auslösung konfigurieren"
+msgstr "Auslöser konfigurieren"
 
 #. module: base
 #: view:base.language.install:0
 msgid "Load"
-msgstr "Lade"
+msgstr "Laden"
 
 #. module: base
 #: model:ir.module.module,description:base.module_warning
@@ -14349,7 +14349,7 @@ msgstr "An"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_hr
 msgid "Employee Directory"
-msgstr "Angestelltenverzeichnis"
+msgstr "Mitarbeiterverzeichnis"
 
 #. module: base
 #: field:ir.cron,args:0
@@ -14764,7 +14764,7 @@ msgstr "Minute: %(min)s"
 #. module: base
 #: model:ir.ui.menu,name:base.menu_ir_cron
 msgid "Scheduler"
-msgstr "Scheduler"
+msgstr "Terminplaner"
 
 #. module: base
 #: model:ir.module.module,description:base.module_event_moodle
@@ -16421,7 +16421,7 @@ msgstr "Startaktion"
 #: field:ir.model,modules:0
 #: field:ir.model.fields,modules:0
 msgid "In Modules"
-msgstr "In Anwendungen"
+msgstr "In Modulen"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_contacts
@@ -16946,7 +16946,7 @@ msgstr ""
 #. module: base
 #: view:ir.rule:0
 msgid "Record rules"
-msgstr "Aufzeichnung Regel"
+msgstr "Regel aufzeichnen"
 
 #. module: base
 #: help:workflow.transition,act_to:0
@@ -18107,7 +18107,7 @@ msgstr ""
 #: field:ir.model,access_ids:0
 #: view:ir.model.access:0
 msgid "Access"
-msgstr "Datenzugriffsfehler"
+msgstr "Zugriff"
 
 #. module: base
 #: code:addons/base/res/res_company.py:165
@@ -18539,7 +18539,7 @@ msgstr "Land"
 #. module: base
 #: model:res.partner.category,name:base.res_partner_category_15
 msgid "Wholesaler"
-msgstr "Wiederverkäufer"
+msgstr "Großhändler"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_base_vat
@@ -18958,7 +18958,7 @@ msgstr ""
 #. module: base
 #: field:ir.actions.server,mobile:0
 msgid "Mobile No"
-msgstr "Handy-Nr."
+msgstr "Mobil-Nummer"
 
 #. module: base
 #: model:ir.actions.act_window,name:base.action_partner_by_category
@@ -18982,12 +18982,12 @@ msgstr "SXW Inhalt"
 #. module: base
 #: field:ir.attachment,file_size:0
 msgid "File Size"
-msgstr "Datei Grösse"
+msgstr "Dateigröße"
 
 #. module: base
 #: help:ir.sequence,prefix:0
 msgid "Prefix value of the record for the sequence"
-msgstr "Präfix einer Folgen"
+msgstr "Präfixwert des Datensatzes für Sequenz"
 
 #. module: base
 #: model:res.country,name:base.sc
@@ -19208,8 +19208,8 @@ msgid ""
 msgstr ""
 "Verwalten Sie Ihre Beziehungen zu Interessenten und Kunden. Nutzen Sie dabei "
 "\r\n"
-"Leads = Vorverhandlungen, \r\n"
-"Opportunities = Gelegenheiten, \r\n"
+"Leads = Interessenten, Vorverhandlungen, \r\n"
+"Opportunities = Chancen, Gelegenheiten, \r\n"
 "Requests = Anfragen oder \r\n"
 "Issues = Problembearbeitungen."
 
index 3e2e43c..21b593d 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-server\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:35+0000\n"
-"PO-Revision-Date: 2014-01-03 14:00+0000\n"
+"PO-Revision-Date: 2014-05-13 01:13+0000\n"
 "Last-Translator: Pedro Manuel Baeza <pedro.baeza@gmail.com>\n"
 "Language-Team: Spanish <es@li.org>\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-30 06:55+0000\n"
-"X-Generator: Launchpad (build 16985)\n"
+"X-Launchpad-Export-Date: 2014-05-14 06:20+0000\n"
+"X-Generator: Launchpad (build 17002)\n"
 
 #. module: base
 #: help:ir.actions.act_window,res_id:0
@@ -1370,7 +1370,7 @@ msgid ""
 msgstr ""
 "\n"
 "El genérico de OpenERP para la gestión de relaciones con el cliente (CRM)\n"
-"==========================================================\n"
+"=========================================================================\n"
 "\n"
 "Esta aplicación permite que grupo de personas gestione iniciativas de forma "
 "inteligente y eficaz, oportunidades, reuniones y llamadas.\n"
index 7d23733..042f072 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-server\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:35+0000\n"
-"PO-Revision-Date: 2014-05-11 02:06+0000\n"
+"PO-Revision-Date: 2014-05-18 20:42+0000\n"
 "Last-Translator: Kenneth Aalberg <kenneaal@gmail.com>\n"
 "Language-Team: Norwegian Bokmal <nb@li.org>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"X-Launchpad-Export-Date: 2014-05-11 07:08+0000\n"
-"X-Generator: Launchpad (build 16996)\n"
+"X-Launchpad-Export-Date: 2014-05-19 06:20+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: base
 #: model:ir.module.module,description:base.module_account_check_writing
@@ -2381,7 +2381,7 @@ msgstr "Denne kolonnen inneholder moduldata, og kan ikke fjernes!"
 #. module: base
 #: field:res.partner.bank,footer:0
 msgid "Display on Reports"
-msgstr ""
+msgstr "Vis på rapporter"
 
 #. module: base
 #: model:ir.module.module,description:base.module_project_timesheet
@@ -2396,6 +2396,14 @@ msgid ""
 "with the effect of creating, editing and deleting either ways.\n"
 "    "
 msgstr ""
+"\n"
+"Synkronisasjon av prosjektoppgaver med timelister.\n"
+"==========================================\n"
+"\n"
+"Denne modulen lar deg overføre timer brukt på oppgaver definert i\n"
+"prosjektstyringsmodulen til timelister for bestemte datoer og brukere.\n"
+"Redigering, oppretting eller sletting kan skje begge veier.\n"
+"    "
 
 #. module: base
 #: model:ir.model,name:base.model_ir_model_access
@@ -2415,6 +2423,13 @@ msgid ""
 "          templates to target objects.\n"
 "    "
 msgstr ""
+"\n"
+"    * Flerspråklig støtte for kontooversikt, skatt, skattekoder, journaler\n"
+"       regnskapsmaler, analytiske kontooversikter og analytiske journaler.\n"
+"    * Endringer i installasjonsveiviser.\n"
+"        - Kopier oversettelser for COA, skatt, skattekoder og finans fra\n"
+"          maler til målobjekter.\n"
+"    "
 
 #. module: base
 #: field:workflow.transition,act_from:0
@@ -2424,7 +2439,7 @@ msgstr "Aktivitetskilde"
 #. module: base
 #: view:ir.sequence:0
 msgid "Legend (for prefix, suffix)"
-msgstr "Legend (for prefix, suffix)"
+msgstr "Kartnøkkel (for prefix, suffix)"
 
 #. module: base
 #: selection:ir.server.object.lines,type:0
@@ -2454,6 +2469,12 @@ msgid ""
 "Accounting chart and localization for Ecuador.\n"
 "    "
 msgstr ""
+"\n"
+"Dette er basismodulen for å styre kontoplaner for Ecuador i OpenERP.\n"
+"=========================================================\n"
+"\n"
+"Kontoplan og lokalisering for Ecuador.\n"
+"    "
 
 #. module: base
 #: code:addons/base/ir/ir_filters.py:36
@@ -2468,7 +2489,7 @@ msgstr "%s (kopi)"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_account_chart
 msgid "Template of Charts of Accounts"
-msgstr ""
+msgstr "Mal for kontoplan"
 
 #. module: base
 #: field:res.partner,type:0
@@ -2488,7 +2509,7 @@ msgstr "Full sti"
 #. module: base
 #: view:base.language.export:0
 msgid "The next step depends on the file format:"
-msgstr ""
+msgstr "Neste steg avhenger av filformatet:"
 
 #. module: base
 #: view:res.lang:0
@@ -2505,6 +2526,7 @@ msgstr ""
 #: view:base.language.export:0
 msgid "PO(T) format: you should edit it with a PO editor such as"
 msgstr ""
+"PO(T) format: du bør redigere den med et PO-redigeringsprogram slik som"
 
 #. module: base
 #: model:ir.ui.menu,name:base.menu_administration
@@ -2528,7 +2550,7 @@ msgstr "Opprett / Skriv / Kopier"
 #. module: base
 #: view:ir.sequence:0
 msgid "Second: %(sec)s"
-msgstr ""
+msgstr "Sekund: %(sec)s"
 
 #. module: base
 #: field:ir.actions.act_window,view_mode:0
@@ -2541,6 +2563,8 @@ msgid ""
 "Display this bank account on the footer of printed documents like invoices "
 "and sales orders."
 msgstr ""
+"Vis denne bankkontoen i bunntekst på utskrevne dokumenter, slik som "
+"fakturaer og salgsordre."
 
 #. module: base
 #: selection:base.language.install,lang:0
@@ -2555,12 +2579,12 @@ msgstr "Koreansk (KP) / 한국어 (KP)"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_vn
 msgid "Vietnam Chart of Accounts"
-msgstr ""
+msgstr "Kontoplan for Vietnam"
 
 #. module: base
 #: model:res.country,name:base.ax
 msgid "Åland Islands"
-msgstr ""
+msgstr "Åland øyene"
 
 #. module: base
 #: field:res.company,logo:0
@@ -2570,7 +2594,7 @@ msgstr "Logo"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_cr
 msgid "Costa Rica - Accounting"
-msgstr ""
+msgstr "Costa Rica - Regnskapsføring"
 
 #. module: base
 #: selection:ir.actions.act_url,target:0
@@ -2581,12 +2605,12 @@ msgstr "Nytt vindu"
 #. module: base
 #: field:ir.values,action_id:0
 msgid "Action (change only)"
-msgstr ""
+msgstr "Handling (kun endring)"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_subscription
 msgid "Recurring Documents"
-msgstr ""
+msgstr "Repeterende dokumenter"
 
 #. module: base
 #: model:res.country,name:base.bs
@@ -2596,12 +2620,12 @@ msgstr "Bahamas"
 #. module: base
 #: field:ir.rule,perm_create:0
 msgid "Apply for Create"
-msgstr ""
+msgstr "Be om opprett"
 
 #. module: base
 #: model:ir.module.category,name:base.module_category_tools
 msgid "Extra Tools"
-msgstr ""
+msgstr "Ekstra Verktøy"
 
 #. module: base
 #: view:ir.attachment:0
@@ -2619,6 +2643,8 @@ msgid ""
 "Appears by default on the top right corner of your printed documents (report "
 "header)."
 msgstr ""
+"Legges til som standard i øverste høyre hjørne av dine utskrevne dokumenter "
+"(topptekst på rapporter)."
 
 #. module: base
 #: field:base.module.update,update:0
@@ -2628,17 +2654,17 @@ msgstr "Antall moduler oppdatert"
 #. module: base
 #: field:ir.cron,function:0
 msgid "Method"
-msgstr ""
+msgstr "Metode"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_auth_crypt
 msgid "Password Encryption"
-msgstr ""
+msgstr "Passordskryptering"
 
 #. module: base
 #: view:workflow.activity:0
 msgid "Workflow Activity"
-msgstr ""
+msgstr "Arbeidsflytsaktivitet"
 
 #. module: base
 #: model:ir.module.module,description:base.module_hr_timesheet_sheet
@@ -2666,6 +2692,27 @@ msgid ""
 "* Maximal difference between timesheet and attendances\n"
 "    "
 msgstr ""
+"\n"
+"Før og godkjenn timelister og oppmøte på en enkel måte\n"
+"==============================================\n"
+"\n"
+"Denne applikasjonen gir tilgang til et nytt skjermbilde hvor du kan klokke "
+"inn og ut, og føre logg over timeforbruk. Timelister blir generert for "
+"ansatte hver dag. På slutten av perioden kan ansatte validere sine "
+"timelister, og ledere kan godkjenne dem. Perioden er definert i "
+"firmainnstillingene, og kan være ukentlige eller månedlige.\n"
+"\n"
+"Hele timelisteprosessen er:\n"
+"-----------------------------------------\n"
+"* Generer timeliste\n"
+"* Den ansatte valider timelisten på slutten av perioden\n"
+"* Leder godkjenner timelisten\n"
+"\n"
+"Valideringen kan bli konfigurert i firmaet:\n"
+"--------------------------------------------------------------\n"
+"* Periodelengde (Dag, uke, måned)\n"
+"* Maksimal differanse mellom timeliste og oppmøte\n"
+"    "
 
 #. module: base
 #: code:addons/base/ir/ir_fields.py:341
@@ -2673,11 +2720,12 @@ msgstr ""
 msgid ""
 "No matching record found for %(field_type)s '%(value)s' in field '%%(field)s'"
 msgstr ""
+"Ingen matchende post for %(field_type)s '%(value)s' i felt '%%(field)s'"
 
 #. module: base
 #: field:change.password.user,new_passwd:0
 msgid "New Password"
-msgstr ""
+msgstr "Nytt passord"
 
 #. module: base
 #: model:ir.actions.act_window,help:base.action_ui_view
@@ -2685,11 +2733,13 @@ msgid ""
 "Views allows you to personalize each view of OpenERP. You can add new "
 "fields, move fields, rename them or delete the ones that you do not need."
 msgstr ""
+"Visninger lar deg tilpasse hver visning i OpenERP. Du kan legge til felt, "
+"flytte felt, gi dem nye navn, eller slette de du ikke trenger."
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_base_setup
 msgid "Initial Setup Tools"
-msgstr ""
+msgstr "Verktøy for grunnleggende oppsett"
 
 #. module: base
 #: field:ir.actions.act_window,groups_id:0
@@ -2714,7 +2764,7 @@ msgstr "Grupper"
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Spanish (CL) / Español (CL)"
-msgstr "Spanish (CL) / Español (CL)"
+msgstr "Spansk (CL) / Español (CL)"
 
 #. module: base
 #: model:res.country,name:base.bz
@@ -2724,7 +2774,7 @@ msgstr "Belize"
 #. module: base
 #: help:ir.actions.report.xml,header:0
 msgid "Add or not the corporate RML header"
-msgstr "Legg til, eller ikke RML toppteksten til selskapet"
+msgstr "Skal RML toppteksten til selskapet legges til?"
 
 #. module: base
 #: model:ir.module.module,description:base.module_portal_anonymous
@@ -2734,6 +2784,10 @@ msgid ""
 "=================================\n"
 " "
 msgstr ""
+"\n"
+"Gi anonym tilgang til Portalen.\n"
+"========================\n"
+" "
 
 #. module: base
 #: model:res.country,name:base.ge
@@ -2784,6 +2838,8 @@ msgid ""
 "Comma-separated list of allowed view modes, such as 'form', 'tree', "
 "'calendar', etc. (Default: tree,form)"
 msgstr ""
+"Kommaseparert liste over tillate visningsmoduser, slik som 'skjema', 'tre', "
+"'kalender', o.l (Standard: tre,skjema)"
 
 #. module: base
 #: code:addons/orm.py:3843
@@ -2794,13 +2850,13 @@ msgstr "Et dokument har blitt endret siden du sist så på det (%s:%d)"
 #. module: base
 #: view:workflow:0
 msgid "Workflow Editor"
-msgstr ""
+msgstr "Arbeidsflytredigering"
 
 #. module: base
 #: selection:ir.module.module,state:0
 #: selection:ir.module.module.dependency,state:0
 msgid "To be removed"
-msgstr "Å fjerne"
+msgstr "Vil bli fjernet"
 
 #. module: base
 #: model:ir.model,name:base.model_ir_sequence
@@ -2844,6 +2900,8 @@ msgid ""
 "View type: Tree type to use for the tree view, set to 'tree' for a "
 "hierarchical tree view, or 'form' for a regular list view"
 msgstr ""
+"Visningstype: Tretype for bruk i trevisning; sett til 'tre' for et hiearkisk "
+"tre, eller 'skjema' for en vanlig listevisning"
 
 #. module: base
 #: sql_constraint:ir.ui.view_sc:0
@@ -2853,7 +2911,7 @@ msgstr "Det eksisterer allerede en svarvei til denne menyen!"
 #. module: base
 #: view:ir.rule:0
 msgid "Groups (no group = global)"
-msgstr ""
+msgstr "Grupper (ingen gruppe = global)"
 
 #. module: base
 #: view:ir.module.module:0
@@ -2895,6 +2953,27 @@ msgid ""
 "Print product labels with barcode.\n"
 "    "
 msgstr ""
+"\n"
+"Dette er basismodulen for å behandle produkter og prislister i OpenERP.\n"
+"==========================================================\n"
+"\n"
+"Produktene kan ha forskjellige varianter, prisingsmetoder, "
+"leverandørinformasjon,\n"
+"produser til lager/ordre, forskjellige måleenheter, pakking og egenskaper.\n"
+"\n"
+"Prislister støtter:\n"
+"-------------------------\n"
+"    * Flere rabattnivåer (Etter produkt, etter kategori, etter kvantitet)\n"
+"    * Beregn pris basert på forskjellige kriterier:\n"
+"       * Annen prisliste\n"
+"       * Kostpris\n"
+"       * Listepris\n"
+"       * Forhandlerpris\n"
+"\n"
+"Prislistepreferanser basert på produkt eller partner.\n"
+"\n"
+"Skriv ut produktetiketter med strekkode.\n"
+"    "
 
 #. module: base
 #: model:ir.module.module,description:base.module_account_analytic_default
@@ -2929,12 +3008,12 @@ msgstr "Madagaskar"
 msgid ""
 "The Object name must start with x_ and not contain any special character !"
 msgstr ""
-"Objektnavnet må starte med x_ og kan ikke inneholde noen spesial karakterer !"
+"Objektnavnet må starte med x_ og kan ikke inneholde noen spesialkarakterer !"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_auth_oauth_signup
 msgid "Signup with OAuth2 Authentication"
-msgstr ""
+msgstr "Registrer med OAuth2 autentisering"
 
 #. module: base
 #: selection:ir.model,state:0
@@ -2951,7 +3030,7 @@ msgstr "Meny"
 #. module: base
 #: field:res.currency,rate:0
 msgid "Current Rate"
-msgstr "Gjeldene rate"
+msgstr "Gjeldende rate"
 
 #. module: base
 #: selection:base.language.install,lang:0
@@ -2961,12 +3040,12 @@ msgstr "Gresk / Ελληνικά"
 #. module: base
 #: field:res.company,custom_footer:0
 msgid "Custom Footer"
-msgstr ""
+msgstr "Tilpasset bunntekst"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_sale_crm
 msgid "Opportunity to Quotation"
-msgstr ""
+msgstr "Tilbudsmulighet"
 
 #. module: base
 #: model:ir.module.module,description:base.module_sale_analytic_plans
@@ -2979,6 +3058,12 @@ msgid ""
 "orders.\n"
 "    "
 msgstr ""
+"\n"
+"Basismodul for administrasjon av analytisk distribusjon og salgsordre.\n"
+"========================================================\n"
+"\n"
+"Bruk denne modulen hvis du vil lenke analytiske kontoer til salgsordre.\n"
+"    "
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_us
@@ -2988,6 +3073,9 @@ msgid ""
 "==================================\n"
 "    "
 msgstr ""
+"\n"
+"De Forente Stater - Kontoplan\n"
+"    "
 
 #. module: base
 #: field:ir.actions.act_url,target:0
@@ -3037,12 +3125,12 @@ msgstr "Anguilla"
 #. module: base
 #: model:ir.actions.report.xml,name:base.report_ir_model_overview
 msgid "Model Overview"
-msgstr ""
+msgstr "Modelloversikt"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_product_margin
 msgid "Margins by Products"
-msgstr "Margin pr product"
+msgstr "Margin per produkt"
 
 #. module: base
 #: model:ir.ui.menu,name:base.menu_invoiced
@@ -3057,7 +3145,7 @@ msgstr "Navn på snarvei"
 #. module: base
 #: field:res.partner,contact_address:0
 msgid "Complete Address"
-msgstr ""
+msgstr "Fullstendig adresse"
 
 #. module: base
 #: help:ir.actions.act_window,limit:0
@@ -3079,6 +3167,17 @@ msgid ""
 "        * Files by Partner (graph)\n"
 "        * Files Size by Month (graph)\n"
 msgstr ""
+"\n"
+"Dette er et komplett dokumentstyringssystem.\n"
+"======================================\n"
+"    * Brukerautentisering\n"
+"    * Dokumentindeksering:- .pptx og .docx er ikke ståttet på Windows-"
+"plattformen.\n"
+"    * Instrumentpanel for dokumenter som inkluderer:\n"
+"       * Nye filer (liste)\n"
+"       * Filer etter ressurstype (graf)\n"
+"       * Filer etter partner (graf)\n"
+"       * Filstørrelse etter måned (graf)\n"
 
 #. module: base
 #: view:ir.actions.report.xml:0
@@ -3128,6 +3227,39 @@ msgid ""
 "* Monthly Turnover (Graph)\n"
 "    "
 msgstr ""
+"\n"
+"Administrer tilbud og salgsordre\n"
+"==========================\n"
+"\n"
+"Denne applikasjonen lar deg styre dine salgsmål på en effektiv måte ved å "
+"spore alle salgsordre og historikk.\n"
+"\n"
+"Den håndterer hele salgsarbeidsflyten:\n"
+"\n"
+"* **Tilbud** -> **Salgsordre** -> **Faktura**\n"
+"\n"
+"Innstillinger (Kun med lagermodulen installert)\n"
+"-----------------------------------------------------------------------\n"
+"\n"
+"Hvis du også har installert lagermodulen, kan du sette de følgende "
+"innstillingene:\n"
+"\n"
+"* Frakt: Velg mellom dellevering eller full levering\n"
+"* Fakturering: Velg hvordan fakturaer skal betaler\n"
+"* Incoterms: Internasjonale kommersielle avtaler\n"
+"\n"
+"Du kan velge mellom fleksible faktureringsmetoder:\n"
+"\n"
+"* *Ved behov*: Fakturaen genereres manuelt fra salgsordren når det trengs\n"
+"* *Ved leveranseordre*: Fakturaen genereres fra plukkliste (levering)\n"
+"* *Før levering*: En faktura blir generert og må betales før levering\n"
+"\n"
+"\n"
+"Instrumentpanelet for salgssjef inkluderer\n"
+"----------------------------------------------------------------\n"
+"* Mine tilbud\n"
+"* Månedlig omsetning (Graf)\n"
+"    "
 
 #. module: base
 #: field:ir.actions.act_window,res_id:0
@@ -3135,7 +3267,7 @@ msgstr ""
 #: field:ir.translation,res_id:0
 #: field:ir.values,res_id:0
 msgid "Record ID"
-msgstr ""
+msgstr "Post-ID"
 
 #. module: base
 #: field:ir.actions.server,email:0
@@ -3149,17 +3281,20 @@ msgid ""
 "Module to attach a google document to any model.\n"
 "================================================\n"
 msgstr ""
+"\n"
+"Modul for å koble et Google dokument til en modell.\n"
+"==========================================\n"
 
 #. module: base
 #: code:addons/base/ir/ir_fields.py:333
 #, python-format
 msgid "Found multiple matches for field '%%(field)s' (%d matches)"
-msgstr ""
+msgstr "Fant flere treff for feltet '%%(field)s' (%d treff)"
 
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "French (BE) / Français (BE)"
-msgstr "Fransk / Français"
+msgstr "Fransk (BE) / Français (BE)"
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_pe
@@ -3173,6 +3308,14 @@ msgid ""
 "\n"
 "    "
 msgstr ""
+"\n"
+"Kontokart og skattelokalisasjon for Peru. Følger PCGE 2010.\n"
+"================================================\n"
+"\n"
+"Plan contable peruano e impuestos de acuerdo a disposiciones vigentes de la\n"
+"SUNAT 2011 (PCGE 2010).\n"
+"\n"
+"    "
 
 #. module: base
 #: view:ir.actions.server:0
@@ -3183,17 +3326,17 @@ msgstr "Tjenerhandling"
 #. module: base
 #: help:ir.actions.client,params:0
 msgid "Arguments sent to the client along withthe view tag"
-msgstr ""
+msgstr "Argumenter sent til klienten sammen med visnings-taggen"
 
 #. module: base
 #: model:ir.module.module,summary:base.module_contacts
 msgid "Contacts, People and Companies"
-msgstr ""
+msgstr "Kontakter, personer og firmaer"
 
 #. module: base
 #: model:res.country,name:base.tt
 msgid "Trinidad and Tobago"
-msgstr "Trinidad and Tobago"
+msgstr "Trinidad og Tobago"
 
 #. module: base
 #: model:res.country,name:base.lv
@@ -3222,19 +3365,27 @@ msgid ""
 "This module is currently not compatible with the ``user_ldap`` module and\n"
 "will disable LDAP authentication completely if installed at the same time.\n"
 msgstr ""
+"\n"
+"Krypterte passord\n"
+"===============\n"
+"\n"
+"Interaksjon med LDAP-autentisering:\n"
+"-------------------------------\n"
+"Denne modulen er for tiden ikke kompatibel med ''user_ldap'' modulen,\n"
+"og vil skru av LDAP-autentisering hvis den blir installert samtidig.\n"
 
 #. module: base
 #: model:res.groups,name:base.group_hr_manager
 #: model:res.groups,name:base.group_sale_manager
 #: model:res.groups,name:base.group_tool_manager
 msgid "Manager"
-msgstr ""
+msgstr "Leder"
 
 #. module: base
 #: code:addons/base/ir/ir_model.py:726
 #, python-format
 msgid "Sorry, you are not allowed to access this document."
-msgstr ""
+msgstr "Beklager, du har ikke tilgang til dette dokumentet."
 
 #. module: base
 #: model:res.country,name:base.py
@@ -3249,7 +3400,7 @@ msgstr "Fiji"
 #. module: base
 #: view:ir.actions.report.xml:0
 msgid "Report Xml"
-msgstr ""
+msgstr "Rapport XML"
 
 #. module: base
 #: model:ir.module.module,description:base.module_purchase
@@ -3278,6 +3429,29 @@ msgid ""
 "* Purchase Analysis\n"
 "    "
 msgstr ""
+"\n"
+"Behandle materialkrav etter innkjøpsordre\n"
+"==================================\n"
+"\n"
+"Innkjøpsstyring lar deg spore dine leverandørers prislister, og kan "
+"konvertere dem til innkjøpsordre.\n"
+"OpenERP har flere metoder for å overvåke fakturaer, og kan spore mottak av "
+"bestilte varer. Du kan håndtere delleveringer i OpenERP, slik at du kan "
+"holde øye med varer som fortsatt ikke er levert på dine ordre. Du kan også "
+"sende ut påminnelser automatisk.\n"
+"\n"
+"OpenERP har regelbasert administrasjon av lagernivåer, slik at du kan "
+"generere innkjøpsordre automatisk, eller du kan sette opp en prosess som "
+"drives helt og holdent av produksjonsbehov.\n"
+"\n"
+"Instrumentbord / rapporter for innkjøpsstyring inkluderer:\n"
+"----------------------------------------------------------\n"
+"* Be om tilbud\n"
+"* Innkjøpsordre som venter på godkjenning\n"
+"* Månedlige innkjøp etter kategori\n"
+"* Mottaksanalyse\n"
+"* Innkjøpsanalyse\n"
+"    "
 
 #. module: base
 #: model:ir.model,name:base.model_ir_actions_act_window_close
@@ -3287,7 +3461,7 @@ msgstr "ir.actions.act_window_close"
 #. module: base
 #: field:ir.server.object.lines,col1:0
 msgid "Destination"
-msgstr "Destinasjon"
+msgstr "Mål"
 
 #. module: base
 #: model:res.country,name:base.lt
@@ -3310,22 +3484,33 @@ msgid ""
 "    * Unlimited \"Group By\" levels (not stacked), two cross level analysis "
 "(stacked)\n"
 msgstr ""
+"\n"
+"Graf-visninger for webklient.\n"
+"=======================\n"
+"\n"
+"    * Vis en <graph> visning, men lar deg endre presentasjonen\n"
+"    * Graftyper: kake, linje, områder, stolper, radar\n"
+"    * Stablet/ikke stablet for områder og stolper\n"
+"    * Kartnøkler: topp, innenfor (topp/venstre), gjemt\n"
+"    * Last ned som PNG eller CSV, vise data, bytt akser\n"
+"    * Ubegrenset \"grupper etter\" nivåer (Ikke stablet), to "
+"kryssanalysenivåer (stablet)\n"
 
 #. module: base
 #: view:res.groups:0
 msgid "Inherited"
-msgstr ""
+msgstr "Arvet"
 
 #. module: base
 #: code:addons/base/ir/ir_fields.py:146
 #, python-format
 msgid "yes"
-msgstr ""
+msgstr "ja"
 
 #. module: base
 #: field:ir.model.fields,serialization_field_id:0
 msgid "Serialization Field"
-msgstr ""
+msgstr "Serialiseringsfelt"
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_be_hr_payroll
@@ -3345,12 +3530,26 @@ msgid ""
 "    * Salary Maj, ONSS, Withholding Tax, Child Allowance, ...\n"
 "    "
 msgstr ""
+"\n"
+"Belgiske avlønningsregler.\n"
+"=====================\n"
+"\n"
+"    * Detaljer om ansatt\n"
+"    * Arbeidskontrakter\n"
+"    * Passbasert kontrakt\n"
+"    * Dagpenger/trekk\n"
+"    * Tillater konfigurasjon av grunnlønn, bruttolønn, nettolønn\n"
+"    * Lønnsslipp\n"
+"    * Månedlig avlønningsregister\n"
+"    * Integrert med ferieplanlegger\n"
+"    * Lønns Maj, ONSS, tilbakehold av skattetrekk, barnebidrag, ...\n"
+"    "
 
 #. module: base
 #: code:addons/base/ir/ir_fields.py:174
 #, python-format
 msgid "'%s' does not seem to be an integer for field '%%(field)s'"
-msgstr ""
+msgstr "'%s' er ikke et heltall for feltet '%%(field)s'"
 
 #. module: base
 #: model:ir.module.category,description:base.module_category_report_designer
@@ -3358,6 +3557,8 @@ msgid ""
 "Lets you install various tools to simplify and enhance OpenERP's report "
 "creation."
 msgstr ""
+"Lar deg installere forskjellige verktøy for å forenkle og forbedre OpenERPs "
+"rapporter"
 
 #. module: base
 #: view:res.lang:0
@@ -3409,14 +3610,14 @@ msgstr ""
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_web_linkedin
 msgid "LinkedIn Integration"
-msgstr ""
+msgstr "LinkedIn integrasjon"
 
 #. module: base
 #: code:addons/orm.py:2021
 #: code:addons/orm.py:2032
 #, python-format
 msgid "Invalid Object Architecture!"
-msgstr ""
+msgstr "Ugyldig objektarkitektur!"
 
 #. module: base
 #: code:addons/base/ir/ir_model.py:372
@@ -3461,6 +3662,8 @@ msgid ""
 "the user will have an access to the sales configuration as well as statistic "
 "reports."
 msgstr ""
+"brukeren vil ha tilgang til salgskonfigurasjonen så vel som "
+"statistikkrapporter."
 
 #. module: base
 #: model:res.country,name:base.nz
@@ -3481,6 +3684,9 @@ msgid ""
 "partner records. You can create or delete countries to make sure the ones "
 "you are working on will be maintained."
 msgstr ""
+"Vis og administrer liste over alle land som kan bli tildelt dine partner-"
+"poster.  Du kan slette eller opprette land for å være sikker på at de du "
+"jobber med vil bli vedlikeholdt."
 
 #. module: base
 #: model:res.country,name:base.nf
@@ -3490,12 +3696,12 @@ msgstr "Norfolk øyene"
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Korean (KR) / 한국어 (KR)"
-msgstr ""
+msgstr "Koreansk (KR) / 한국어 (KR)"
 
 #. module: base
 #: help:ir.model.fields,model:0
 msgid "The technical name of the model this field belongs to"
-msgstr ""
+msgstr "Det tekniske navnet til modellen dette feltet hører til"
 
 #. module: base
 #: field:ir.actions.server,action_id:0
@@ -3522,16 +3728,29 @@ msgid ""
 "      above. Specify the interval information and partner to be invoice.\n"
 "    "
 msgstr ""
+"\n"
+"Opprett gjentagende dokumenter.\n"
+"============================\n"
+"\n"
+"Denne modulen lar deg opprette nye dokumenter og legge til abonnementer på "
+"det dokumentet.\n"
+"\n"
+"For eksempel, for å lage en faktura som periodisk genereres:\n"
+"---------------------------------------------------------------\n"
+"    * Definer en dokumenttype basert på faktura objektet\n"
+"    * Definer et abonnement som har et kildedokument definert som\n"
+"       over. Spesifiser intervallet og partneren som skal faktureres.\n"
+"    "
 
 #. module: base
 #: view:res.company:0
 msgid "e.g. Global Business Solutions"
-msgstr ""
+msgstr "f.eks. Global Business Solutions"
 
 #. module: base
 #: field:res.company,rml_header1:0
 msgid "Company Tagline"
-msgstr ""
+msgstr "Firmaets tagline"
 
 #. module: base
 #: code:addons/base/res/res_users.py:674
@@ -3541,7 +3760,7 @@ msgstr ""
 #: view:res.users:0
 #, python-format
 msgid "Application"
-msgstr ""
+msgstr "Applikasjon"
 
 #. module: base
 #: model:res.groups,comment:base.group_hr_manager
@@ -3549,6 +3768,8 @@ msgid ""
 "the user will have an access to the human resources configuration as well as "
 "statistic reports."
 msgstr ""
+"brukeren vil ha tilgang på ansattekonfigurasjon så vel som statistiske "
+"rapporter."
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_pl
@@ -3571,12 +3792,12 @@ msgstr ""
 #: code:addons/base/ir/ir_mail_server.py:222
 #, python-format
 msgid "Connection Test Succeeded!"
-msgstr ""
+msgstr "Tilkoblingstest fullført!"
 
 #. module: base
 #: field:ir.actions.client,params_store:0
 msgid "Params storage"
-msgstr ""
+msgstr "Parameterlagring"
 
 #. module: base
 #: code:addons/base/module/module.py:525
@@ -3593,12 +3814,12 @@ msgstr "Cuba"
 #: code:addons/report_sxw.py:443
 #, python-format
 msgid "Unknown report type: %s"
-msgstr ""
+msgstr "Ukjent rapporttype: %s"
 
 #. module: base
 #: model:ir.module.module,summary:base.module_hr_expense
 msgid "Expenses Validation, Invoicing"
-msgstr ""
+msgstr "Utgiftsføring, fakturering"
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_be_hr_payroll_account
@@ -3617,7 +3838,7 @@ msgstr "Armenia"
 #. module: base
 #: model:ir.module.module,summary:base.module_hr_evaluation
 msgid "Periodical Evaluations, Appraisals, Surveys"
-msgstr ""
+msgstr "Periodiske evalueringer, verdivurdering, spørreundersøkelser"
 
 #. module: base
 #: model:ir.actions.act_window,name:base.ir_property_form
@@ -3638,7 +3859,7 @@ msgstr "Sverige"
 #. module: base
 #: field:ir.actions.report.xml,report_file:0
 msgid "Report File"
-msgstr ""
+msgstr "Rapportfil"
 
 #. module: base
 #: selection:ir.actions.act_window.view,view_mode:0
@@ -3671,7 +3892,7 @@ msgstr ""
 #: code:addons/orm.py:3871
 #, python-format
 msgid "Missing document(s)"
-msgstr ""
+msgstr "Manglende dokument(er)"
 
 #. module: base
 #: model:ir.model,name:base.model_res_partner_bank_type
@@ -3707,6 +3928,27 @@ msgid ""
 "customers' expenses if your work by project.\n"
 "    "
 msgstr ""
+"\n"
+"Utgiftsføring for ansatte\n"
+"======================\n"
+"\n"
+"Denne applikasjonen lar dine ansatte føre utgifter. Den gir deg tilgang til "
+"de ansattes kvitteringer, og lar deg fullføre og validere, eller avvise "
+"kvitteringene. Etter godkjenning lager den en faktura for den ansatte.\n"
+"Ansatte kan legge inn sine utgifter, og validasjonsflyten legger utgiftene "
+"automatisk inn i regnskapet etter godkjenning fra ledere.\n"
+"\n"
+"Hele flyten er implementert slik:\n"
+"-------------------------------------------\n"
+"* Før utgift\n"
+"* Den ansatte bekrefter utgiftsføringen\n"
+"* Godkjenning av leder\n"
+"* Godkjenning fra regnskapsfører og kvittering\n"
+"\n"
+"Modulen bruker også analytisk regnskapsføring, og er kompatibel med "
+"fakturadelen av timelistemodulen, slik at du automatisk kan viderefakturere "
+"utgiftene til dine kunder hvis det er prosjektarbeid.\n"
+"    "
 
 #. module: base
 #: view:base.language.export:0
@@ -3714,6 +3956,7 @@ msgid ""
 "For more details about translating OpenERP in your language, please refer to "
 "the"
 msgstr ""
+"For mer informasjon om oversettelse av OpenERP til ditt språk, vennligst se"
 
 #. module: base
 #: field:res.partner,image:0
@@ -3736,7 +3979,7 @@ msgstr "Kalender"
 #. module: base
 #: model:ir.module.category,name:base.module_category_knowledge_management
 msgid "Knowledge"
-msgstr ""
+msgstr "Kunnskap"
 
 #. module: base
 #: field:workflow.activity,signal_send:0
@@ -3751,6 +3994,9 @@ msgid ""
 "separated list of valid field names (optionally followed by asc/desc for the "
 "direction)"
 msgstr ""
+"Ugyldig \"order\" spesifisert. En gyldig \"order\" spesifikasjon er en "
+"kommaseparert liste over feltnavn (eventuelt etterfulgt av asc/desc for "
+"retning)"
 
 #. module: base
 #: model:ir.model,name:base.model_ir_module_module_dependency
@@ -3769,13 +4015,16 @@ msgid ""
 "way you want to print them in letters and other documents. Some example: "
 "Mr., Mrs. "
 msgstr ""
+"Administrer titulering av kontakter som du vil ha tilgjengelig i ditt "
+"system, og måten de brukes i brev og andre dokumenter. For eksempel, Herr, "
+"Fru. "
 
 #. module: base
 #: view:ir.model.access:0
 #: view:res.groups:0
 #: field:res.groups,model_access:0
 msgid "Access Controls"
-msgstr "Tilgangskontroller"
+msgstr "Tilgangskontroll"
 
 #. module: base
 #: code:addons/base/ir/ir_model.py:277
@@ -3784,11 +4033,13 @@ msgid ""
 "The Selection Options expression is not a valid Pythonic expression.Please "
 "provide an expression in the [('key','Label'), ...] format."
 msgstr ""
+"Utvalgspreferanse-uttrykket er ikke en gyldig Python setning. Vennligst angi "
+"et uttrykk i [('key','Label'), ...] format."
 
 #. module: base
 #: model:res.groups,name:base.group_survey_user
 msgid "Survey / User"
-msgstr ""
+msgstr "Spørreundersøkelse / Bruker"
 
 #. module: base
 #: view:ir.module.module:0
@@ -3804,17 +4055,17 @@ msgstr "Hovedfirma"
 #. module: base
 #: field:ir.ui.menu,web_icon_hover:0
 msgid "Web Icon File (hover)"
-msgstr ""
+msgstr "Webikon fil (hover)"
 
 #. module: base
 #: help:res.currency,name:0
 msgid "Currency Code (ISO 4217)"
-msgstr ""
+msgstr "Valutakode (ISO 4217)"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_hr_contract
 msgid "Employee Contracts"
-msgstr ""
+msgstr "Arbeidskontrakter"
 
 #. module: base
 #: view:ir.actions.server:0
@@ -3828,7 +4079,7 @@ msgstr ""
 #. module: base
 #: constraint:res.company:0
 msgid "Error! You can not create recursive companies."
-msgstr "Feil ! Du kan ikke lage rekursive firmaer."
+msgstr "Feil! Du kan ikke opprette rekursive firmaer."
 
 #. module: base
 #: field:res.partner,birthdate:0
@@ -3850,18 +4101,18 @@ msgstr "Vareprodusenter"
 #: code:addons/base/ir/ir_mail_server.py:240
 #, python-format
 msgid "SMTP-over-SSL mode unavailable"
-msgstr ""
+msgstr "SMTP over SSL modus ikke tilgjengelig"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_survey
 #: model:ir.ui.menu,name:base.next_id_10
 msgid "Survey"
-msgstr ""
+msgstr "Spørreundersøkelse"
 
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Spanish (DO) / Español (DO)"
-msgstr "Spanish (DO) / Español (DO)"
+msgstr "Spansk (DO) / Español (DO)"
 
 #. module: base
 #: model:ir.model,name:base.model_workflow_activity
@@ -3871,7 +4122,7 @@ msgstr "workflow.activity"
 #. module: base
 #: view:base.language.export:0
 msgid "Export Complete"
-msgstr ""
+msgstr "Eksport fullført"
 
 #. module: base
 #: help:ir.ui.view_sc,res_id:0
@@ -3879,6 +4130,8 @@ msgid ""
 "Reference of the target resource, whose model/table depends on the 'Resource "
 "Name' field."
 msgstr ""
+"Referanse til målressursen, hvor modell/tabell er avhengig av 'Ressursnavn' "
+"feltet."
 
 #. module: base
 #: field:ir.model.fields,select_level:0
@@ -3898,12 +4151,12 @@ msgstr "Finland / Suomi"
 #. module: base
 #: view:ir.config_parameter:0
 msgid "System Properties"
-msgstr ""
+msgstr "Systeminnstillinger"
 
 #. module: base
 #: field:ir.sequence,prefix:0
 msgid "Prefix"
-msgstr "Prefix"
+msgstr "Prefiks"
 
 #. module: base
 #: selection:base.language.install,lang:0
@@ -3913,19 +4166,19 @@ msgstr "Tysk / Deutsch"
 #. module: base
 #: view:ir.actions.server:0
 msgid "Fields Mapping"
-msgstr "Kobling av felter"
+msgstr "Kobling av felt"
 
 #. module: base
 #: code:addons/base/module/wizard/base_module_upgrade.py:84
 #, python-format
 msgid "Unmet Dependency!"
-msgstr ""
+msgstr "Uløst avhengighet!"
 
 #. module: base
 #: model:res.partner.title,name:base.res_partner_title_sir
 #: model:res.partner.title,shortcut:base.res_partner_title_sir
 msgid "Sir"
-msgstr "Hr"
+msgstr "Herr"
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_ca
@@ -3943,12 +4196,12 @@ msgstr ""
 #. module: base
 #: view:base.module.import:0
 msgid "Select module package to import (.zip file):"
-msgstr ""
+msgstr "Velg modulpakke for import (.zip fil):"
 
 #. module: base
 #: field:base.language.export,modules:0
 msgid "Modules To Export"
-msgstr ""
+msgstr "Moduler for eksportering"
 
 #. module: base
 #: model:res.country,name:base.mt
@@ -3961,11 +4214,12 @@ msgstr "Malta"
 msgid ""
 "Only users with the following access level are currently allowed to do that"
 msgstr ""
+"Kun brukere med følgende tilgangsnivåer har tillatelse til å gjøre dette"
 
 #. module: base
 #: field:ir.actions.server,fields_lines:0
 msgid "Field Mappings."
-msgstr "Mapping av felter."
+msgstr "Mapping av felt."
 
 #. module: base
 #: selection:res.request,priority:0
@@ -4041,7 +4295,7 @@ msgstr ""
 #. module: base
 #: help:ir.mail_server,smtp_host:0
 msgid "Hostname or IP of SMTP server"
-msgstr ""
+msgstr "Vertsnavn eller IP-adresse til SMTP tjener"
 
 #. module: base
 #: model:res.country,name:base.aq
@@ -4051,7 +4305,7 @@ msgstr "Antarktis"
 #. module: base
 #: view:res.partner:0
 msgid "Persons"
-msgstr ""
+msgstr "Personer"
 
 #. module: base
 #: view:base.language.import:0
@@ -4071,7 +4325,7 @@ msgstr "Separatorformat"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_report_webkit
 msgid "Webkit Report Engine"
-msgstr ""
+msgstr "Webkit rapporteringsmotor"
 
 #. module: base
 #: model:ir.ui.menu,name:base.next_id_9
@@ -4081,7 +4335,7 @@ msgstr "Databasestruktur"
 #. module: base
 #: model:ir.actions.act_window,name:base.action_partner_mass_mail
 msgid "Mass Mailing"
-msgstr "Masse utsendelse av e-post"
+msgstr "Masseutsendelse av e-post"
 
 #. module: base
 #: model:res.country,name:base.yt
@@ -4091,24 +4345,24 @@ msgstr "Mayotte"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_crm_todo
 msgid "Tasks on CRM"
-msgstr ""
+msgstr "Oppgaver i CRM"
 
 #. module: base
 #: model:ir.module.category,name:base.module_category_generic_modules_accounting
 #: view:res.company:0
 msgid "Accounting"
-msgstr ""
+msgstr "Regnskap"
 
 #. module: base
 #: view:ir.rule:0
 msgid "Interaction between rules"
-msgstr ""
+msgstr "Regelinteraksjon"
 
 #. module: base
 #: field:res.company,rml_footer:0
 #: field:res.company,rml_footer_readonly:0
 msgid "Report Footer"
-msgstr ""
+msgstr "Rapportens bunntekst"
 
 #. module: base
 #: selection:res.lang,direction:0
@@ -4118,7 +4372,7 @@ msgstr "Høyre-til-venstre"
 #. module: base
 #: model:res.country,name:base.sx
 msgid "Sint Maarten (Dutch part)"
-msgstr ""
+msgstr "Sint Maarten (nederlandsk del)"
 
 #. module: base
 #: view:ir.actions.act_window:0
@@ -4132,7 +4386,7 @@ msgstr "Filter"
 #: code:addons/base/module/wizard/base_module_import.py:67
 #, python-format
 msgid "Can not create the module file: %s!"
-msgstr ""
+msgstr "Kan ikke opprette modulfilen: %s!"
 
 #. module: base
 #: model:ir.actions.act_window,name:base.ir_cron_act
@@ -4157,25 +4411,25 @@ msgstr "Tittel"
 #. module: base
 #: help:ir.property,res_id:0
 msgid "If not set, acts as a default value for new resources"
-msgstr ""
+msgstr "Hvis ikke satt, fungerer som standard verdi for nye ressurser"
 
 #. module: base
 #: code:addons/orm.py:4246
 #, python-format
 msgid "Recursivity Detected."
-msgstr ""
+msgstr "Rekursjon oppdaget."
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_et
 msgid "Ethiopia - Accounting"
-msgstr ""
+msgstr "Etiopia - Regnskapsføring"
 
 #. module: base
 #: model:ir.actions.act_window,name:base.ir_config_list_action
 #: view:ir.config_parameter:0
 #: model:ir.ui.menu,name:base.ir_config_menu
 msgid "System Parameters"
-msgstr ""
+msgstr "Systeminnstillinger"
 
 #. module: base
 #: code:addons/base/module/module.py:366
@@ -4220,12 +4474,12 @@ msgstr "Togo"
 #: field:ir.actions.act_window,res_model:0
 #: field:ir.actions.client,res_model:0
 msgid "Destination Model"
-msgstr ""
+msgstr "Målmodell"
 
 #. module: base
 #: selection:ir.sequence,implementation:0
 msgid "Standard"
-msgstr ""
+msgstr "Standard"
 
 #. module: base
 #: model:res.country,name:base.ru
@@ -4244,7 +4498,7 @@ msgstr "Urdu / اردو"
 #: code:addons/orm.py:3902
 #, python-format
 msgid "Access Denied"
-msgstr ""
+msgstr "Ingen tilgang"
 
 #. module: base
 #: field:res.company,name:0
@@ -4258,6 +4512,8 @@ msgid ""
 "Invalid value for reference field \"%s.%s\" (last part must be a non-zero "
 "integer): \"%s\""
 msgstr ""
+"Ugyldig verdi for referansefeltet \"%s.%s\" (siste del må være et heltall "
+"som ikke er null): \"%s\""
 
 #. module: base
 #: model:ir.actions.act_window,name:base.action_country
@@ -4268,7 +4524,7 @@ msgstr "Land"
 #. module: base
 #: selection:ir.translation,type:0
 msgid "RML  (deprecated - use Report)"
-msgstr ""
+msgstr "RML (utfases - bruk Rapport)"
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_fr_hr_payroll
@@ -4306,7 +4562,7 @@ msgstr "Saint Pierre og Miquelon"
 #. module: base
 #: view:ir.actions.todo:0
 msgid "Search Actions"
-msgstr ""
+msgstr "Søkehandlinger"
 
 #. module: base
 #: model:ir.module.module,description:base.module_base_calendar
@@ -4323,11 +4579,23 @@ msgid ""
 "If you need to manage your meetings, you should install the CRM module.\n"
 "    "
 msgstr ""
+"\n"
+"Dette er et fullt kalendersystem.\n"
+"===========================\n"
+"\n"
+"Det støtter:\n"
+"------------------\n"
+"* Arrangementskalender\n"
+"* Gjentagende hendelser\n"
+"\n"
+"Hvis du trenger å administrere møtevirksomheten din, bør du installere CRM "
+"modulen.\n"
+"    "
 
 #. module: base
 #: model:res.country,name:base.je
 msgid "Jersey"
-msgstr ""
+msgstr "Jersey"
 
 #. module: base
 #: model:ir.model,name:base.model_ir_translation
@@ -4352,12 +4620,12 @@ msgstr "%x - Passende datovisning."
 #. module: base
 #: view:res.partner:0
 msgid "Tag"
-msgstr ""
+msgstr "Tagg"
 
 #. module: base
 #: view:res.lang:0
 msgid "%d - Day of the month [01,31]."
-msgstr "%d - Dag i månedenl [01,31]."
+msgstr "%d - Dag i måneden [01,31]."
 
 #. module: base
 #: model:res.country,name:base.tj
@@ -4372,12 +4640,12 @@ msgstr "GPL-2 eller senere versjon"
 #. module: base
 #: selection:workflow.activity,kind:0
 msgid "Stop All"
-msgstr "Stop alle"
+msgstr "Stopp alle"
 
 #. module: base
 #: field:res.company,paper_format:0
 msgid "Paper Format"
-msgstr ""
+msgstr "Papirformat"
 
 #. module: base
 #: code:addons/base/module/module.py:644
@@ -4386,13 +4654,13 @@ msgid ""
 "Can not create the module file:\n"
 " %s"
 msgstr ""
-"Can not create the module file:\n"
+"Kan ikke opprette modulfilen:\n"
 " %s"
 
 #. module: base
 #: model:res.country,name:base.sk
 msgid "Slovakia"
-msgstr ""
+msgstr "Slovakia"
 
 #. module: base
 #: model:res.country,name:base.nr
@@ -4403,12 +4671,12 @@ msgstr "Nauru"
 #: code:addons/base/res/res_company.py:166
 #, python-format
 msgid "Reg"
-msgstr ""
+msgstr "Reg"
 
 #. module: base
 #: model:ir.model,name:base.model_ir_property
 msgid "ir.property"
-msgstr "Ukjent egenskap %s"
+msgstr "ir.property"
 
 #. module: base
 #: selection:ir.actions.act_window,view_type:0
@@ -4442,7 +4710,7 @@ msgstr "Montenegro"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_fetchmail
 msgid "Email Gateway"
-msgstr ""
+msgstr "Epost gateway"
 
 #. module: base
 #: code:addons/base/ir/ir_mail_server.py:470
@@ -4451,6 +4719,8 @@ msgid ""
 "Mail delivery failed via SMTP server '%s'.\n"
 "%s: %s"
 msgstr ""
+"Levering feilet via SMTP server '%s'.\n"
+"%s: %s"
 
 #. module: base
 #: model:res.country,name:base.tk
@@ -4549,7 +4819,7 @@ msgstr "Liechtenstein"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_project_issue_sheet
 msgid "Timesheet on Issues"
-msgstr ""
+msgstr "Timeliste på saker"
 
 #. module: base
 #: model:res.partner.title,name:base.res_partner_title_ltd
@@ -4559,7 +4829,7 @@ msgstr "AS"
 #. module: base
 #: model:ir.actions.server,name:base.action_run_ir_action_todo
 msgid "Run Remaining Action Todo"
-msgstr ""
+msgstr "Kjør Gjenværende Handlinger Oppgaver"
 
 #. module: base
 #: field:res.partner,ean13:0
@@ -4570,7 +4840,7 @@ msgstr "EAN13"
 #: code:addons/orm.py:2247
 #, python-format
 msgid "Invalid Architecture!"
-msgstr ""
+msgstr "Ugyldig arkitektur!"
 
 #. module: base
 #: model:res.country,name:base.pt
@@ -4580,12 +4850,12 @@ msgstr "Portugal"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_share
 msgid "Share any Document"
-msgstr ""
+msgstr "Del et dokument"
 
 #. module: base
 #: field:workflow.transition,group_id:0
 msgid "Group Required"
-msgstr ""
+msgstr "Gruppe påkrevd"
 
 #. module: base
 #: view:res.lang:0
@@ -4595,7 +4865,7 @@ msgstr "6.  %d, %m         ==> 05, 12"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_it
 msgid "Italy - Accounting"
-msgstr ""
+msgstr "Italia - Regnskapsføring"
 
 #. module: base
 #: field:ir.actions.act_url,help:0
@@ -4607,7 +4877,7 @@ msgstr ""
 #: field:ir.actions.server,help:0
 #: field:ir.actions.wizard,help:0
 msgid "Action description"
-msgstr ""
+msgstr "Handlingsbeskrivelse"
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_ma
@@ -4633,6 +4903,9 @@ msgid ""
 "its dependencies are satisfied. If the module has no dependency, it is "
 "always installed."
 msgstr ""
+"En autoinstallerbar modul blir automatisk installert av systemet når alle "
+"dens avhengigheter er oppfylt. Hvis modulen ikke har avhengigheter, blir den "
+"alltid installert."
 
 #. module: base
 #: model:ir.actions.act_window,name:base.res_lang_act_window
@@ -4651,12 +4924,12 @@ msgstr "Xor"
 #. module: base
 #: model:ir.module.category,name:base.module_category_localization_account_charts
 msgid "Account Charts"
-msgstr ""
+msgstr "Kontoplaner"
 
 #. module: base
 #: model:ir.ui.menu,name:base.menu_event_main
 msgid "Events Organization"
-msgstr ""
+msgstr "Arrangementsorganisering"
 
 #. module: base
 #: model:ir.actions.act_window,name:base.action_partner_customer_form
@@ -4684,7 +4957,7 @@ msgstr "Basisfelt"
 #. module: base
 #: model:ir.module.category,name:base.module_category_managing_vehicles_and_contracts
 msgid "Managing vehicles and contracts"
-msgstr ""
+msgstr "Administrasjon av kjøretøy og kontrakter"
 
 #. module: base
 #: model:ir.module.module,description:base.module_base_setup
@@ -4699,6 +4972,14 @@ msgid ""
 "\n"
 "    "
 msgstr ""
+"\n"
+"Denne modulen lar deg konfigurere systemet etter installasjon av en ny "
+"database.\n"
+"==================================================================\n"
+"\n"
+"Viser deg en liste over applikasjoner du kan installere.\n"
+"\n"
+"    "
 
 #. module: base
 #: model:ir.model,name:base.model_res_config
@@ -4708,18 +4989,18 @@ msgstr "res.config"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_pl
 msgid "Poland - Accounting"
-msgstr ""
+msgstr "Polen - regnskapsføring"
 
 #. module: base
 #: view:ir.cron:0
 msgid "Action to Trigger"
-msgstr "Handling å trigge"
+msgstr "Handling som skal utføres"
 
 #. module: base
 #: field:ir.model.constraint,name:0
 #: selection:ir.translation,type:0
 msgid "Constraint"
-msgstr "Beskrankning"
+msgstr "Begrensning"
 
 #. module: base
 #: selection:ir.values,key:0
@@ -4730,14 +5011,14 @@ msgstr "Standard"
 #. module: base
 #: model:ir.module.module,summary:base.module_lunch
 msgid "Lunch Order, Meal, Food"
-msgstr ""
+msgstr "Lunchbestilling, mat"
 
 #. module: base
 #: view:ir.model.fields:0
 #: field:ir.model.fields,required:0
 #: field:res.partner.bank.type.field,required:0
 msgid "Required"
-msgstr "Obligatorisk"
+msgstr "Påkrevd"
 
 #. module: base
 #: model:res.country,name:base.ro
@@ -4753,7 +5034,7 @@ msgstr "Sammendrag"
 #. module: base
 #: model:ir.module.category,name:base.module_category_hidden_dependency
 msgid "Dependency"
-msgstr ""
+msgstr "Avhengigheter"
 
 #. module: base
 #: model:ir.module.module,description:base.module_portal
@@ -4794,16 +5075,19 @@ msgid ""
 "When no specific mail server is requested for a mail, the highest priority "
 "one is used. Default priority is 10 (smaller number = higher priority)"
 msgstr ""
+"Hvis ingen spesifikk mailtjener er forespurt for en epost, vil tjeneren med "
+"høyest prioritet bli benyttet. Standard prioritet er 10 (Mindre nummer = "
+"høyere prioritet)"
 
 #. module: base
 #: model:ir.module.module,summary:base.module_sale
 msgid "Quotations, Sales Orders, Invoicing"
-msgstr ""
+msgstr "Tilbud, salgsordre, fakturering"
 
 #. module: base
 #: field:res.partner,parent_id:0
 msgid "Related Company"
-msgstr ""
+msgstr "Relatert firma"
 
 #. module: base
 #: help:ir.actions.act_url,help:0
@@ -4818,11 +5102,13 @@ msgid ""
 "Optional help text for the users with a description of the target view, such "
 "as its usage and purpose."
 msgstr ""
+"Opsjonell hjelpetekst for brukerene med beskrivelse av målvisningen, slik "
+"som bruken av visningen."
 
 #. module: base
 #: model:res.country,name:base.va
 msgid "Holy See (Vatican City State)"
-msgstr "Pavestolen (Vatikanstaten)"
+msgstr "Vatikanstaten"
 
 #. module: base
 #: field:base.module.import,module_file:0
@@ -4832,7 +5118,7 @@ msgstr "Modul .ZIP fil"
 #. module: base
 #: model:res.partner.category,name:base.res_partner_category_17
 msgid "Telecom sector"
-msgstr "Telecom sektor"
+msgstr "Telekom sektor"
 
 #. module: base
 #: field:workflow.transition,trigger_model:0
@@ -4842,18 +5128,18 @@ msgstr "Utløserobjekt"
 #. module: base
 #: sql_constraint:ir.sequence.type:0
 msgid "`code` must be unique."
-msgstr ""
+msgstr "'code' må være unik."
 
 #. module: base
 #: code:addons/base/ir/workflow/workflow.py:99
 #, python-format
 msgid "Operation Forbidden"
-msgstr ""
+msgstr "Handling forbudt"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_knowledge
 msgid "Knowledge Management System"
-msgstr ""
+msgstr "Kunnskapsbase system"
 
 #. module: base
 #: view:workflow.activity:0
@@ -4864,7 +5150,7 @@ msgstr "Innkommende overganger"
 #. module: base
 #: field:ir.values,value_unpickle:0
 msgid "Default value or action reference"
-msgstr ""
+msgstr "Standard verdi eller handlingsreferanse"
 
 #. module: base
 #: model:ir.module.module,description:base.module_note_pad
@@ -4900,7 +5186,7 @@ msgstr ""
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_project_timesheet
 msgid "Bill Time on Tasks"
-msgstr ""
+msgstr "Fakturer timer på oppgaver"
 
 #. module: base
 #: model:ir.module.category,name:base.module_category_marketing
@@ -4923,11 +5209,15 @@ msgid ""
 "==========================\n"
 "\n"
 msgstr ""
+"\n"
+"OpenERP Webkalendervisning.\n"
+"=========================\n"
+"\n"
 
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Spanish (HN) / Español (HN)"
-msgstr "Spanish (HN) / Español (HN)"
+msgstr "Spansk (HN) / Español (HN)"
 
 #. module: base
 #: view:ir.sequence.type:0
@@ -4937,24 +5227,24 @@ msgstr "Sekvenstype"
 #. module: base
 #: view:base.language.export:0
 msgid "Unicode/UTF-8"
-msgstr ""
+msgstr "Unicode/UTF-8"
 
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Hindi / हिंदी"
-msgstr ""
+msgstr "Hindi / हिंदी"
 
 #. module: base
 #: view:base.language.install:0
 #: model:ir.actions.act_window,name:base.action_view_base_language_install
 #: model:ir.ui.menu,name:base.menu_view_base_language_install
 msgid "Load a Translation"
-msgstr ""
+msgstr "Last inn oversettelse"
 
 #. module: base
 #: field:ir.module.module,latest_version:0
 msgid "Installed Version"
-msgstr ""
+msgstr "Installert versjon"
 
 #. module: base
 #: model:ir.module.module,description:base.module_account_test
@@ -4975,7 +5265,7 @@ msgstr ""
 #. module: base
 #: field:ir.module.module,license:0
 msgid "License"
-msgstr "License"
+msgstr "Lisensvilkår"
 
 #. module: base
 #: field:ir.attachment,url:0
@@ -4985,7 +5275,7 @@ msgstr "Url"
 #. module: base
 #: selection:ir.translation,type:0
 msgid "SQL Constraint"
-msgstr "SQL beskrankning"
+msgstr "SQL begrensning"
 
 #. module: base
 #: help:ir.ui.menu,groups_id:0
@@ -4994,9 +5284,9 @@ msgid ""
 "groups. If this field is empty, OpenERP will compute visibility based on the "
 "related object's read access."
 msgstr ""
-"Hvis du har grupper så vil synligheten av denne menyen baseres på disse. "
-"Hvis dette feltet er tomt så vil OpenERP beregne synligheten basert på "
-"lesetilganger til relaterte objekter."
+"Hvis du har grupper, vil synligheten av denne menyen baseres på disse. Hvis "
+"dette feltet er tomt, vil OpenERP beregne synligheten basert på det "
+"relaterte objektets lesetilganger."
 
 #. module: base
 #: model:ir.module.module,description:base.module_event_sale
@@ -5054,7 +5344,7 @@ msgid ""
 "The selected language has been successfully installed. You must change the "
 "preferences of the user and open a new menu to view the changes."
 msgstr ""
-"The valgte språk har blitt installert. Du må endre preferansene til brukeren "
+"Det valgte språk har blitt installert. Du må endre preferansene til brukeren "
 "og åpne en ny meny for å se endringene."
 
 #. module: base
@@ -5069,7 +5359,7 @@ msgstr "Vis"
 #: code:addons/base/ir/ir_fields.py:146
 #, python-format
 msgid "no"
-msgstr ""
+msgstr "nei"
 
 #. module: base
 #: model:ir.module.module,description:base.module_crm_partner_assign
@@ -5103,7 +5393,7 @@ msgstr "Ekvatorial-Guinea"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_web_api
 msgid "OpenERP Web API"
-msgstr ""
+msgstr "OpenERP Web API"
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_fr_rib
@@ -5151,12 +5441,12 @@ msgstr ""
 #. module: base
 #: model:res.country,name:base.ps
 msgid "Palestinian Territory, Occupied"
-msgstr ""
+msgstr "Palestinske territorier, Okkuperte"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_ch
 msgid "Switzerland - Accounting"
-msgstr ""
+msgstr "Sveits - Regnskapsføring"
 
 #. module: base
 #: field:res.bank,zip:0
@@ -5175,7 +5465,7 @@ msgstr "Forfatter"
 #. module: base
 #: view:ir.actions.todo:0
 msgid "Set as Todo"
-msgstr ""
+msgstr "Sett som oppgave"
 
 #. module: base
 #: view:res.lang:0
@@ -5200,16 +5490,19 @@ msgid ""
 "Next number that will be used. This number can be incremented frequently so "
 "the displayed value might already be obsolete"
 msgstr ""
+"Neste nummer som vil bli brukt. Dette nummeret kan inkrementeres, så "
+"nummeret som vises kan allerede være i bruk"
 
 #. module: base
 #: model:ir.module.category,description:base.module_category_marketing
 msgid "Helps you manage your marketing campaigns step by step."
 msgstr ""
+"Hjelper deg med å administrere dine markedsførings kampanjer trinn for trinn."
 
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Hebrew / עִבְרִי"
-msgstr ""
+msgstr "Hebraisk / עִבְרִי"
 
 #. module: base
 #: model:res.country,name:base.bo
@@ -5230,7 +5523,7 @@ msgstr "Retning"
 #: code:addons/orm.py:4815
 #, python-format
 msgid "Sorting field %s not found on model %s"
-msgstr ""
+msgstr "Sorteringsfelt %s ble ikke funnet på modellen %s"
 
 #. module: base
 #: view:ir.actions.act_window:0
@@ -5256,7 +5549,7 @@ msgstr "Regler"
 #. module: base
 #: field:ir.mail_server,smtp_host:0
 msgid "SMTP Server"
-msgstr ""
+msgstr "SMTP tjener"
 
 #. module: base
 #: code:addons/base/module/module.py:320
@@ -5273,7 +5566,7 @@ msgstr "Modulene har blitt oppgradert / installert !"
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Spanish (PR) / Español (PR)"
-msgstr "Spanish (PR) / Español (PR)"
+msgstr "Spansk (PR) / Español (PR)"
 
 #. module: base
 #: model:ir.module.module,description:base.module_crm_profiling
@@ -5309,59 +5602,62 @@ msgid ""
 "the same values as those available in the condition field, e.g. `Dear [[ "
 "object.partner_id.name ]]`"
 msgstr ""
+"Epostinnhold, kan inneholde uttrykk i doble braketter basert på de samme "
+"verdiene som er tilgjengelige i kondisjonsfeltet, slik som 'Kjære [[ "
+"object.partner_id.name ]]'"
 
 #. module: base
 #: model:ir.actions.act_window,name:base.action_workflow_form
 #: model:ir.ui.menu,name:base.menu_workflow
 #: model:ir.ui.menu,name:base.menu_workflow_root
 msgid "Workflows"
-msgstr "Arbeidsflyt"
+msgstr "Arbeidsflyter"
 
 #. module: base
 #: model:ir.ui.menu,name:base.next_id_73
 msgid "Purchase"
-msgstr ""
+msgstr "Innkjøp"
 
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Portuguese (BR) / Português (BR)"
-msgstr ""
+msgstr "Portugisisk (BR) / Português (BR)"
 
 #. module: base
 #: model:ir.model,name:base.model_ir_needaction_mixin
 msgid "ir.needaction_mixin"
-msgstr ""
+msgstr "ir.needaction_mixin"
 
 #. module: base
 #: view:base.language.export:0
 msgid "This file was generated using the universal"
-msgstr ""
+msgstr "Denne filen ble generert ved bruk av det universale"
 
 #. module: base
 #: model:res.partner.category,name:base.res_partner_category_7
 msgid "IT Services"
-msgstr ""
+msgstr "IT tjenester"
 
 #. module: base
 #: model:ir.module.category,name:base.module_category_specific_industry_applications
 msgid "Specific Industry Applications"
-msgstr ""
+msgstr "Spesifikke industriapplikasjoner"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_google_docs
 msgid "Google Docs integration"
-msgstr ""
+msgstr "Google Docs integrasjon"
 
 #. module: base
 #: help:ir.attachment,res_model:0
 msgid "The database object this attachment will be attached to"
-msgstr ""
+msgstr "Databaseobjektet dette vedlegget vil bli koblet til"
 
 #. module: base
 #: code:addons/base/ir/ir_fields.py:327
 #, python-format
 msgid "name"
-msgstr ""
+msgstr "navn"
 
 #. module: base
 #: model:ir.module.module,description:base.module_mrp_operations
@@ -5407,7 +5703,7 @@ msgstr "Hopp over"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_event_sale
 msgid "Events Sales"
-msgstr ""
+msgstr "Messesalg"
 
 #. module: base
 #: model:res.country,name:base.ls
@@ -5417,12 +5713,12 @@ msgstr "Lesotho"
 #. module: base
 #: view:base.language.export:0
 msgid ", or your preferred text editor"
-msgstr ""
+msgstr ", eller din foretrukne tekstredigerer"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_crm_partner_assign
 msgid "Partners Geo-Localization"
-msgstr ""
+msgstr "Partner geolokasjon"
 
 #. module: base
 #: model:res.country,name:base.ke
@@ -5433,12 +5729,12 @@ msgstr "Kenya"
 #: model:ir.actions.act_window,name:base.action_translation
 #: model:ir.ui.menu,name:base.menu_action_translation
 msgid "Translated Terms"
-msgstr ""
+msgstr "Oversatte vilkår"
 
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Abkhazian / аҧсуа"
-msgstr ""
+msgstr "Abkhazian / аҧсуа"
 
 #. module: base
 #: view:base.module.configuration:0
@@ -5449,7 +5745,7 @@ msgstr "Systemkonfigurasjon fullført"
 #: code:addons/orm.py:1540
 #, python-format
 msgid "Error occurred while validating the field(s) %s: %s"
-msgstr ""
+msgstr "Feil under validering av felt(ene) %s: %s"
 
 #. module: base
 #: view:ir.property:0
@@ -5459,7 +5755,7 @@ msgstr "Generell"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_document_ftp
 msgid "Shared Repositories (FTP)"
-msgstr ""
+msgstr "Delte mapper (FTP)"
 
 #. module: base
 #: model:res.country,name:base.sm
@@ -5479,17 +5775,17 @@ msgstr "Peru"
 #. module: base
 #: selection:ir.model.fields,on_delete:0
 msgid "Set NULL"
-msgstr "Set NULL"
+msgstr "Sett NULL"
 
 #. module: base
 #: view:res.users:0
 msgid "Save"
-msgstr ""
+msgstr "Lagre"
 
 #. module: base
 #: field:ir.actions.report.xml,report_xml:0
 msgid "XML Path"
-msgstr ""
+msgstr "XML bane"
 
 #. module: base
 #: model:res.country,name:base.bj
@@ -5500,17 +5796,17 @@ msgstr "Benin"
 #: model:ir.actions.act_window,name:base.action_res_partner_bank_type_form
 #: model:ir.ui.menu,name:base.menu_action_res_partner_bank_typeform
 msgid "Bank Account Types"
-msgstr ""
+msgstr "Bankkontotyper"
 
 #. module: base
 #: help:ir.sequence,suffix:0
 msgid "Suffix value of the record for the sequence"
-msgstr ""
+msgstr "Suffiks verdi av posten for sekvensen"
 
 #. module: base
 #: help:ir.mail_server,smtp_user:0
 msgid "Optional username for SMTP authentication"
-msgstr ""
+msgstr "Opsjonelt brukernavn for SMTP autentisering"
 
 #. module: base
 #: model:ir.model,name:base.model_ir_actions_actions
@@ -5520,7 +5816,7 @@ msgstr "ir.actions.actions"
 #. module: base
 #: selection:ir.model.fields,select_level:0
 msgid "Not Searchable"
-msgstr "Ikke søkbar"
+msgstr "Ikke søkbart"
 
 #. module: base
 #: view:ir.config_parameter:0
@@ -5550,6 +5846,18 @@ msgid ""
 "            \n"
 "%(country_code)s: the code of the country"
 msgstr ""
+"Her kan du definere det vanlige formatet for adresser i dette landet.\n"
+"\n"
+"Du kan bruke python-stilede strengemønster med alle feltene i adressen (For "
+"eksempel, bruk '%(street)s' for å vise feltet 'gate') pluss\n"
+"            \n"
+"%(state_name)s: navn på fylke\n"
+"      \n"
+"%(state_code)s: fylkeskode\n"
+"       \n"
+"%(country_name)s: Navn på landet\n"
+"        \n"
+"%(country_code)s: Landskode"
 
 #. module: base
 #: model:res.country,name:base.mu
@@ -5564,7 +5872,7 @@ msgstr "Full tilgang"
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_pt
 msgid "Plano de contas SNC para Portugal"
-msgstr ""
+msgstr "Kontoplan for Portugal"
 
 #. module: base
 #: view:ir.actions.act_window:0
@@ -5576,24 +5884,24 @@ msgstr "Sikkerhet"
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Portuguese / Português"
-msgstr ""
+msgstr "Portugisisk / Português"
 
 #. module: base
 #: code:addons/base/ir/ir_model.py:372
 #, python-format
 msgid "Changing the storing system for field \"%s\" is not allowed."
-msgstr ""
+msgstr "Endring av lagringssystemet for feltet \"%s\" er ikke tillatt."
 
 #. module: base
 #: help:res.partner.bank,company_id:0
 msgid "Only if this bank account belong to your company"
-msgstr ""
+msgstr "Kun hvis denne bankkontoen tilhører ditt selskap"
 
 #. module: base
 #: code:addons/base/ir/ir_fields.py:337
 #, python-format
 msgid "Unknown sub-field '%s'"
-msgstr ""
+msgstr "Ukjent underfelt '%s'"
 
 #. module: base
 #: model:res.country,name:base.za
@@ -5632,11 +5940,17 @@ msgid ""
 "Collects web application usage with Google Analytics.\n"
 "    "
 msgstr ""
+"\n"
+"Google Analytics.\n"
+"==============\n"
+"\n"
+"Samler bruksdata for webapplikasjonen via Google Analytics.\n"
+"    "
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_hr_recruitment
 msgid "Recruitment Process"
-msgstr ""
+msgstr "Rekrutteringsprosess"
 
 #. module: base
 #: model:res.country,name:base.br
@@ -5662,12 +5976,12 @@ msgstr "Neste nummer"
 #. module: base
 #: help:workflow.transition,condition:0
 msgid "Expression to be satisfied if we want the transition done."
-msgstr ""
+msgstr "Uttrykk som må være sant hvis overgangen skal utføres"
 
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Spanish (PA) / Español (PA)"
-msgstr "Spanish (PA) / Español (PA)"
+msgstr "Spansk (PA) / Español (PA)"
 
 #. module: base
 #: view:res.currency:0
@@ -5678,7 +5992,7 @@ msgstr "Rater"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_email_template
 msgid "Email Templates"
-msgstr ""
+msgstr "Epostmaler"
 
 #. module: base
 #: model:res.country,name:base.sy
@@ -5693,13 +6007,13 @@ msgstr "======================================================"
 #. module: base
 #: sql_constraint:ir.model:0
 msgid "Each model must be unique!"
-msgstr ""
+msgstr "Hver modell må være unik!"
 
 #. module: base
 #: model:ir.module.category,name:base.module_category_localization
 #: model:ir.ui.menu,name:base.menu_localisation
 msgid "Localization"
-msgstr ""
+msgstr "Lokalisering"
 
 #. module: base
 #: model:ir.module.module,description:base.module_web_api
@@ -5709,6 +6023,10 @@ msgid ""
 "================\n"
 "\n"
 msgstr ""
+"\n"
+"Openerp Web API.\n"
+"================\n"
+"\n"
 
 #. module: base
 #: selection:res.request,state:0
@@ -5727,7 +6045,7 @@ msgstr "Dato"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_event_moodle
 msgid "Event Moodle"
-msgstr ""
+msgstr "Arrangements-Moodle"
 
 #. module: base
 #: model:ir.module.module,description:base.module_email_template
@@ -5778,12 +6096,12 @@ msgstr ""
 #. module: base
 #: model:ir.ui.menu,name:base.menu_partner_category_form
 msgid "Partner Tags"
-msgstr ""
+msgstr "Partnertagger"
 
 #. module: base
 #: view:res.company:0
 msgid "Preview Header/Footer"
-msgstr ""
+msgstr "Forhåndsvis topptekst/bunntekst"
 
 #. module: base
 #: field:ir.ui.menu,parent_id:0
@@ -5794,13 +6112,15 @@ msgstr "Overordnet meny"
 #. module: base
 #: field:res.partner.bank,owner_name:0
 msgid "Account Owner Name"
-msgstr ""
+msgstr "Kontoeiers navn"
 
 #. module: base
 #: code:addons/base/ir/ir_model.py:420
 #, python-format
 msgid "Cannot rename column to %s, because that column already exists!"
 msgstr ""
+"Kan ikke gi nytt navn til kolonnen %s, siden den kolonnen allerede "
+"eksisterer!"
 
 #. module: base
 #: view:ir.attachment:0
@@ -5810,18 +6130,18 @@ msgstr "Knyttet til"
 #. module: base
 #: field:res.lang,decimal_point:0
 msgid "Decimal Separator"
-msgstr "Desimal separator"
+msgstr "Desimalseparator"
 
 #. module: base
 #: code:addons/orm.py:5319
 #, python-format
 msgid "Missing required value for the field '%s'."
-msgstr ""
+msgstr "Mangler påkrevd verdi for feltet '%s'."
 
 #. module: base
 #: view:ir.rule:0
 msgid "Write Access Right"
-msgstr ""
+msgstr "Skrivetilgangsrettighet"
 
 #. module: base
 #: model:ir.actions.act_window,help:base.action_res_groups
@@ -5833,12 +6153,17 @@ msgid ""
 "to see. Whether they can have a read, write, create and delete access right "
 "can be managed from here."
 msgstr ""
+"En gruppe er et sett med funksjonelle områder som blir tilegnet brukeren for "
+"å gi dem tilgang og rettigheter til spesifikke applikasjoner og oppgaver i "
+"systemet. Du kan lage egne grupper, eller redigere allerede eksisterende "
+"grupper for å tilpasse menyen brukerene vil se. Les, skriv, opprett og slett-"
+"tilganger kan også bli håndtert herifra."
 
 #. module: base
 #: view:ir.filters:0
 #: field:ir.filters,name:0
 msgid "Filter Name"
-msgstr ""
+msgstr "Filternavn"
 
 #. module: base
 #: view:ir.attachment:0
@@ -5850,12 +6175,12 @@ msgstr "Historikk"
 #. module: base
 #: model:res.country,name:base.im
 msgid "Isle of Man"
-msgstr ""
+msgstr "Isle of Man"
 
 #. module: base
 #: help:ir.actions.client,res_model:0
 msgid "Optional model, mostly used for needactions."
-msgstr ""
+msgstr "Opsjonell modell, for det meste brukt for needactions."
 
 #. module: base
 #: code:addons/base/module/module.py:306
@@ -5871,7 +6196,7 @@ msgstr "Bouvet øyene"
 #. module: base
 #: field:ir.model.constraint,type:0
 msgid "Constraint Type"
-msgstr ""
+msgstr "Begrensningstype"
 
 #. module: base
 #: field:res.company,child_ids:0
@@ -5912,7 +6237,7 @@ msgstr "Felt"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_project_long_term
 msgid "Long Term Projects"
-msgstr ""
+msgstr "Langtidsprosjekter"
 
 #. module: base
 #: model:res.country,name:base.ve
@@ -5932,12 +6257,12 @@ msgstr "Zambia"
 #. module: base
 #: view:ir.actions.todo:0
 msgid "Launch Configuration Wizard"
-msgstr ""
+msgstr "Start konfigurasjonsveiviser"
 
 #. module: base
 #: model:ir.module.module,summary:base.module_mrp
 msgid "Manufacturing Orders, Bill of Materials, Routing"
-msgstr ""
+msgstr "Produksjonsordre, materiallister, routing"
 
 #. module: base
 #: field:ir.attachment,name:0
@@ -6010,7 +6335,7 @@ msgstr ""
 #. module: base
 #: model:res.groups,name:base.group_sale_salesman_all_leads
 msgid "See all Leads"
-msgstr ""
+msgstr "Se alle leads"
 
 #. module: base
 #: model:res.country,name:base.ci
@@ -6036,7 +6361,7 @@ msgstr "Ressursnavn"
 #. module: base
 #: model:ir.ui.menu,name:base.menu_ir_filters
 msgid "User-defined Filters"
-msgstr ""
+msgstr "Brukerdefinerte filter"
 
 #. module: base
 #: field:ir.actions.act_window_close,name:0
@@ -6079,8 +6404,8 @@ msgid ""
 "If set to true, the action will not be displayed on the right toolbar of a "
 "form view"
 msgstr ""
-"Hvis satt til sann, så vil ikke handlingen vises på den høyre verktøylinjen "
-"i skjemavisning."
+"Hvis satt til sann, vil ikke handlingen vises på den høyre verktøylinjen i "
+"skjemavisning."
 
 #. module: base
 #: model:res.country,name:base.ms
@@ -6090,18 +6415,18 @@ msgstr "Montserrat"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_decimal_precision
 msgid "Decimal Precision Configuration"
-msgstr ""
+msgstr "Desimalpresisjon konfigurasjon"
 
 #. module: base
 #: model:ir.model,name:base.model_ir_actions_act_url
 #: selection:ir.ui.menu,action:0
 msgid "ir.actions.act_url"
-msgstr ""
+msgstr "ir.actions.act_url"
 
 #. module: base
 #: model:ir.ui.menu,name:base.menu_translation_app
 msgid "Application Terms"
-msgstr "Begrep i applikasjonen"
+msgstr "Applikasjonsvilkår"
 
 #. module: base
 #: model:ir.actions.act_window,help:base.open_module_tree
@@ -6110,6 +6435,9 @@ msgid ""
 "              <p>You should try others search criteria.</p>\n"
 "            "
 msgstr ""
+"<p><b>Ingen modul funnet!</b></p>\n"
+"              <p>Du bør prøve andre søkekriterier.</p>\n"
+"            "
 
 #. module: base
 #: model:ir.model,name:base.model_ir_module_module
@@ -6127,7 +6455,7 @@ msgstr "Modul"
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "English (UK)"
-msgstr "Britisk Engelsk"
+msgstr "Engelsk (UK)"
 
 #. module: base
 #: selection:base.language.install,lang:0
@@ -6145,6 +6473,8 @@ msgid ""
 "Source activity. When this activity is over, the condition is tested to "
 "determine if we can start the ACT_TO activity."
 msgstr ""
+"Kildeaktivitet. Når denne aktiviteten er fullført, blir vilkårsbegrepet "
+"testet for å se om vi skal starte ACT_TO aktiviteten."
 
 #. module: base
 #: help:ir.model.fields,relation_field:0
@@ -6152,6 +6482,8 @@ msgid ""
 "For one2many fields, the field on the target model that implement the "
 "opposite many2one relationship"
 msgstr ""
+"For en-til-mange felt, feltet på målmodellen som implementerer den motsatte "
+"mange-til-en relasjonen"
 
 #. module: base
 #: model:ir.module.module,description:base.module_base_vat
@@ -6212,17 +6544,17 @@ msgstr "Web"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_lunch
 msgid "Lunch Orders"
-msgstr ""
+msgstr "Lunsjordre"
 
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "English (CA)"
-msgstr ""
+msgstr "Engelsk (CA)"
 
 #. module: base
 #: model:ir.module.category,name:base.module_category_human_resources
 msgid "Human Resources"
-msgstr ""
+msgstr "Personalstyring"
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_syscohada
@@ -6248,7 +6580,7 @@ msgstr ""
 #. module: base
 #: view:ir.translation:0
 msgid "Comments"
-msgstr ""
+msgstr "Kommentarer"
 
 #. module: base
 #: model:res.country,name:base.et
@@ -6258,7 +6590,7 @@ msgstr "Etiopia"
 #. module: base
 #: model:ir.module.category,name:base.module_category_authentication
 msgid "Authentication"
-msgstr ""
+msgstr "Autentisering"
 
 #. module: base
 #: model:res.country,name:base.gd
@@ -6274,7 +6606,7 @@ msgstr "ir.actions.wizard"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_web_kanban
 msgid "Base Kanban"
-msgstr ""
+msgstr "Base Kanban"
 
 #. module: base
 #: view:ir.actions.act_window:0
@@ -6292,7 +6624,7 @@ msgstr "tittel"
 #: code:addons/base/ir/ir_fields.py:146
 #, python-format
 msgid "true"
-msgstr ""
+msgstr "sann"
 
 #. module: base
 #: model:ir.model,name:base.model_base_language_install
@@ -6302,7 +6634,7 @@ msgstr "Installer språk"
 #. module: base
 #: model:res.partner.category,name:base.res_partner_category_11
 msgid "Services"
-msgstr ""
+msgstr "Tjenester"
 
 #. module: base
 #: view:ir.translation:0
@@ -6312,7 +6644,7 @@ msgstr "Oversettelse"
 #. module: base
 #: selection:res.request,state:0
 msgid "closed"
-msgstr "lukket"
+msgstr "avsluttet"
 
 #. module: base
 #: selection:base.language.export,state:0
@@ -6322,12 +6654,12 @@ msgstr "hent"
 #. module: base
 #: help:ir.model.fields,on_delete:0
 msgid "On delete property for many2one fields"
-msgstr "On delete property for many2one fields"
+msgstr "On delete attributt for mange-til-en felt"
 
 #. module: base
 #: model:ir.module.category,name:base.module_category_accounting_and_finance
 msgid "Accounting & Finance"
-msgstr ""
+msgstr "Regnskap & Finans"
 
 #. module: base
 #: field:ir.actions.server,write_id:0
@@ -6344,7 +6676,7 @@ msgstr "Produkter"
 #: model:ir.ui.menu,name:base.menu_values_form_defaults
 #: view:ir.values:0
 msgid "User-defined Defaults"
-msgstr ""
+msgstr "Brukerdefinerte standarder"
 
 #. module: base
 #: model:ir.module.module,description:base.module_auth_signup
@@ -6354,12 +6686,16 @@ msgid ""
 "===============================================\n"
 "    "
 msgstr ""
+"\n"
+"Lar brukere registrere seg og resette passordet sitt\n"
+"===============================================\n"
+"    "
 
 #. module: base
 #: model:ir.module.category,name:base.module_category_usability
 #: view:res.users:0
 msgid "Usability"
-msgstr ""
+msgstr "Brukervennlighet"
 
 #. module: base
 #: field:ir.actions.act_window,domain:0
@@ -6410,6 +6746,19 @@ msgid ""
 "documentation at http://doc.openerp.com.\n"
 "    "
 msgstr ""
+"\n"
+"Tilbyr en felles EDI plattform som andre applikasjoner kan bruke.\n"
+"========================================================\n"
+"\n"
+"OpenERP spesifiserer et generisk EDI format for utveksling av dokumenter "
+"mellom\n"
+"forskjellige systemer, og tilbyr mekanismer for å importere og eksportere "
+"dem.\n"
+"\n"
+"Flere detaljer om OpenERPs EDI format kan du finne i OpenERPs tekniske "
+"dokumentasjon\n"
+"på http://doc.openerp.com.\n"
+"    "
 
 #. module: base
 #: view:ir.actions.server:0
@@ -6423,11 +6772,14 @@ msgid ""
 "deleting it (if you delete a native record rule, it may be re-created when "
 "you reload the module."
 msgstr ""
+"Hvis du fjerner avmerkingen for det aktive feltet, vil det deaktivere "
+"regelen for posten uten å slette den. (Hvis du sletter en innebygd regel, "
+"kan det hende den skapes på nytt når du laster inn modulen)"
 
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Spanish (BO) / Español (BO)"
-msgstr "Spanish (BO) / Español (BO)"
+msgstr "Spansk (BO) / Español (BO)"
 
 #. module: base
 #: model:ir.module.module,description:base.module_board
@@ -6439,6 +6791,12 @@ msgid ""
 "Allows users to create custom dashboard.\n"
 "    "
 msgstr ""
+"\n"
+"Lar brukeren lage et tilpasset instrumentpanel.\n"
+"=======================================\n"
+"\n"
+"Lar brukere lage tilpassede instrumentpanel.\n"
+"    "
 
 #. module: base
 #: model:ir.actions.act_window,name:base.ir_access_act
@@ -6454,7 +6812,7 @@ msgstr "USA Minor Outlying Islands"
 #. module: base
 #: view:base.language.import:0
 msgid "e.g. English"
-msgstr ""
+msgstr "f.eks Engelsk"
 
 #. module: base
 #: help:ir.cron,numbercall:0
@@ -6462,6 +6820,8 @@ msgid ""
 "How many times the method is called,\n"
 "a negative number indicates no limit."
 msgstr ""
+"Hvor mange ganger metoden kalles,\n"
+"et negativt nummer betyr ingen begrensning."
 
 #. module: base
 #: field:res.partner.bank.type.field,bank_type_id:0
@@ -6479,7 +6839,7 @@ msgstr "Navnet på gruppen kan ikke starte med \"-\""
 #: view:ir.module.module:0
 #: model:ir.ui.menu,name:base.module_mi
 msgid "Apps"
-msgstr ""
+msgstr "Applikasjoner"
 
 #. module: base
 #: view:ir.ui.view_sc:0
@@ -6494,7 +6854,7 @@ msgstr "Initiell dato"
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Gujarati / ગુજરાતી"
-msgstr ""
+msgstr "Gujarati / ગુજરાતી"
 
 #. module: base
 #: code:addons/base/module/module.py:361
@@ -6502,11 +6862,13 @@ msgstr ""
 msgid ""
 "Unable to process module \"%s\" because an external dependency is not met: %s"
 msgstr ""
+"Kunne ikke prosessere modulen \"%s\" fordi en ekstern avhengighet ikke er "
+"møtt: %s"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_be_hr_payroll
 msgid "Belgium - Payroll"
-msgstr ""
+msgstr "Belgia - Lønnsavregning"
 
 #. module: base
 #: view:workflow.activity:0
@@ -6527,24 +6889,24 @@ msgstr "Bankkontoeier"
 #. module: base
 #: model:ir.module.category,name:base.module_category_uncategorized
 msgid "Uncategorized"
-msgstr ""
+msgstr "Ikke kategorisert"
 
 #. module: base
 #: view:res.partner:0
 msgid "Phone:"
-msgstr ""
+msgstr "Telefonnummer:"
 
 #. module: base
 #: field:res.partner,is_company:0
 msgid "Is a Company"
-msgstr ""
+msgstr "Er et firma"
 
 #. module: base
 #: view:res.company:0
 #: view:res.partner:0
 #: view:res.users:0
 msgid "e.g. www.openerp.com"
-msgstr ""
+msgstr "f.eks www.openerp.com"
 
 #. module: base
 #: selection:ir.cron,interval_type:0
@@ -6571,11 +6933,14 @@ msgid ""
 "form, signal tests the name of the pressed button. If signal is NULL, no "
 "button is necessary to validate this transition."
 msgstr ""
+"Når overgangen startes på grunn av et tasteslag i klientskjemaet, tester "
+"signal navnet til den trykte tasten. Hvis signal er NULL, er det ikke "
+"nødvendig å trykke en tast for å validere overgangen."
 
 #. module: base
 #: field:ir.ui.view.custom,ref_id:0
 msgid "Original View"
-msgstr "Orginal visning"
+msgstr "Original visning"
 
 #. module: base
 #: model:ir.module.module,description:base.module_web_kanban
@@ -6585,48 +6950,53 @@ msgid ""
 "========================\n"
 "\n"
 msgstr ""
+"\n"
+"OpenERP Web kanban visning.\n"
+"========================\n"
+"\n"
 
 #. module: base
 #: code:addons/base/ir/ir_fields.py:182
 #, python-format
 msgid "'%s' does not seem to be a number for field '%%(field)s'"
-msgstr ""
+msgstr "'%s' ser ikke ut til å være et tall for felt '%%(field)s'"
 
 #. module: base
 #: help:res.country.state,name:0
 msgid ""
 "Administrative divisions of a country. E.g. Fed. State, Departement, Canton"
 msgstr ""
+"Administrative inndelinger for landet. For eksempel stat, departement, fylke"
 
 #. module: base
 #: view:res.partner.bank:0
 msgid "My Banks"
-msgstr ""
+msgstr "Mine banker"
 
 #. module: base
 #: sql_constraint:ir.filters:0
 msgid "Filter names must be unique"
-msgstr ""
+msgstr "Filternavn må være unike"
 
 #. module: base
 #: help:multi_company.default,object_id:0
 msgid "Object affected by this rule"
-msgstr ""
+msgstr "Objekt påvirket av denne regelen"
 
 #. module: base
 #: selection:ir.actions.act_window,target:0
 msgid "Inline View"
-msgstr ""
+msgstr "Inline visning"
 
 #. module: base
 #: field:ir.filters,is_default:0
 msgid "Default filter"
-msgstr ""
+msgstr "Standard filter"
 
 #. module: base
 #: report:ir.module.reference:0
 msgid "Directory"
-msgstr "Katalogområde"
+msgstr "Mappe"
 
 #. module: base
 #: field:wizard.ir.model.menu.create,name:0
@@ -6636,7 +7006,7 @@ msgstr "Menynavn"
 #. module: base
 #: field:ir.values,key2:0
 msgid "Qualifier"
-msgstr ""
+msgstr "Kvalifiserer"
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_vn
@@ -6763,17 +7133,17 @@ msgstr "Malaysia"
 #: code:addons/base/ir/ir_sequence.py:160
 #, python-format
 msgid "Increment number must not be zero."
-msgstr ""
+msgstr "Inkrementtallet kan ikke være null."
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_account_cancel
 msgid "Cancel Journal Entries"
-msgstr ""
+msgstr "Kanseller journallinjer"
 
 #. module: base
 #: field:res.partner,tz_offset:0
 msgid "Timezone offset"
-msgstr ""
+msgstr "Tidssone"
 
 #. module: base
 #: model:ir.module.module,description:base.module_marketing_campaign
@@ -6819,6 +7189,9 @@ msgid ""
 "If enabled, the full output of SMTP sessions will be written to the server "
 "log at DEBUG level(this is very verbose and may include confidential info!)"
 msgstr ""
+"Hvis skrudd på, vil all utdata fra SMTP sesjoner bli skrevet til "
+"serverloggen på DEBUG nivå (Dette er veldig detaljert, og kan inneholde "
+"konfidensiell informasjon!)"
 
 #. module: base
 #: model:ir.module.module,description:base.module_sale_margin
@@ -6835,7 +7208,7 @@ msgstr ""
 #. module: base
 #: selection:ir.actions.todo,type:0
 msgid "Launch Automatically"
-msgstr ""
+msgstr "Start automatisk"
 
 #. module: base
 #: help:ir.model.fields,translate:0
@@ -6843,6 +7216,8 @@ msgid ""
 "Whether values for this field can be translated (enables the translation "
 "mechanism for that field)"
 msgstr ""
+"Kan verdier for dette feltet oversettes? (Skrur på oversettelsesmekanismen "
+"for det feltet)"
 
 #. module: base
 #: selection:base.language.install,lang:0
@@ -6857,7 +7232,7 @@ msgstr "Cape Verde"
 #. module: base
 #: model:res.groups,comment:base.group_sale_salesman
 msgid "the user will have access to his own data in the sales application."
-msgstr ""
+msgstr "brukeren vil ha tilgang til sine egne data i salgsapplikasjonen."
 
 #. module: base
 #: model:res.groups,comment:base.group_user
@@ -6865,12 +7240,14 @@ msgid ""
 "the user will be able to manage his own human resources stuff (leave "
 "request, timesheets, ...), if he is linked to an employee in the system."
 msgstr ""
+"brukeren vil være i stand til å håndtere sine egne data (fridager, "
+"timelister, ....), hvis han er registrert som en ansatt i systemet."
 
 #. module: base
 #: code:addons/orm.py:2247
 #, python-format
 msgid "There is no view of type '%s' defined for the structure!"
-msgstr ""
+msgstr "Det fins ingen visning av typen '%s' for denne strukturen!"
 
 #. module: base
 #: help:ir.values,key:0
@@ -6878,6 +7255,8 @@ msgid ""
 "- Action: an action attached to one slot of the given model\n"
 "- Default: a default value for a model field"
 msgstr ""
+"-Action: en handling koblet til en gitt modell\n"
+"-Default: en standard verdi for et modellfelt"
 
 #. module: base
 #: field:base.module.update,add:0
@@ -6887,7 +7266,7 @@ msgstr "Antall moduler lagt til"
 #. module: base
 #: view:res.currency:0
 msgid "Price Accuracy"
-msgstr ""
+msgstr "Prisnøyaktighet"
 
 #. module: base
 #: selection:base.language.install,lang:0
@@ -6909,12 +7288,12 @@ msgstr "Opprettet menyer"
 #: view:ir.module.module:0
 #, python-format
 msgid "Uninstall"
-msgstr ""
+msgstr "Avinstaller"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_account_budget
 msgid "Budgets Management"
-msgstr ""
+msgstr "Budsjettstyring"
 
 #. module: base
 #: field:workflow.triggers,workitem_id:0
@@ -6924,12 +7303,12 @@ msgstr "Arbeidselement"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_anonymization
 msgid "Database Anonymization"
-msgstr ""
+msgstr "Databaseanonymisering"
 
 #. module: base
 #: field:res.partner,commercial_partner_id:0
 msgid "Commercial Entity"
-msgstr ""
+msgstr "Kommersiell enhet"
 
 #. module: base
 #: selection:ir.mail_server,smtp_encryption:0
@@ -6987,27 +7366,27 @@ msgstr "E-post konfigurasjon"
 #. module: base
 #: model:ir.model,name:base.model_ir_cron
 msgid "ir.cron"
-msgstr "ir.actions.actions"
+msgstr "ir.cron"
 
 #. module: base
 #: model:ir.ui.menu,name:base.menu_sales_followup
 msgid "Payment Follow-up"
-msgstr ""
+msgstr "Betalingsoppfølgning"
 
 #. module: base
 #: model:res.country,name:base.cw
 msgid "Curaçao"
-msgstr ""
+msgstr "Curaçao"
 
 #. module: base
 #: view:ir.sequence:0
 msgid "Current Year without Century: %(y)s"
-msgstr ""
+msgstr "Inneværende år uten århundre: %(y)s"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_es
 msgid "Spanish Charts of Accounts (PGCE 2008)"
-msgstr ""
+msgstr "Spansk kontoplan (PGCE 2008)"
 
 #. module: base
 #: help:ir.actions.client,tag:0
@@ -7015,16 +7394,18 @@ msgid ""
 "An arbitrary string, interpreted by the client according to its own needs "
 "and wishes. There is no central tag repository across clients."
 msgstr ""
+"En hvilken som helst tekststreng, tolket av klienten etter egne behov eller "
+"ønsker. Det er ingen sentral mappe for tagger på tvers av klienter."
 
 #. module: base
 #: sql_constraint:ir.rule:0
 msgid "Rule must have at least one checked access right !"
-msgstr ""
+msgstr "Regelen må ha minst en tilgangsrettighet sjekket!"
 
 #. module: base
 #: field:res.partner.bank.type,format_layout:0
 msgid "Format Layout"
-msgstr ""
+msgstr "Formater utseende"
 
 #. module: base
 #: model:ir.module.module,description:base.module_document_ftp
@@ -7048,13 +7429,13 @@ msgstr "Størrelse"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_audittrail
 msgid "Audit Trail"
-msgstr ""
+msgstr "Revisjonssporing"
 
 #. module: base
 #: code:addons/base/ir/ir_fields.py:264
 #, python-format
 msgid "Value '%s' not found in selection field '%%(field)s'"
-msgstr ""
+msgstr "Verdi '%s' ble ikke funnet i utvalgsfeltet '%%(field)s'"
 
 #. module: base
 #: model:res.country,name:base.sd
@@ -7067,7 +7448,7 @@ msgstr "Sudan"
 #: field:res.currency.rate,currency_rate_type_id:0
 #: view:res.currency.rate.type:0
 msgid "Currency Rate Type"
-msgstr ""
+msgstr "Valuta vekslingstype"
 
 #. module: base
 #: code:addons/base/res/res_lang.py:189
@@ -7076,6 +7457,8 @@ msgid ""
 "You cannot delete the language which is Active!\n"
 "Please de-activate the language first."
 msgstr ""
+"Du kan ikke slette det aktive språket!\n"
+"Deaktiver språket først."
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_fr
@@ -7128,7 +7511,7 @@ msgstr "Menyer"
 #. module: base
 #: selection:ir.actions.todo,type:0
 msgid "Launch Manually Once"
-msgstr ""
+msgstr "Start manuelt en gang"
 
 #. module: base
 #: view:workflow:0
@@ -7143,7 +7526,7 @@ msgstr "Arbeidsflyt"
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Serbian (Latin) / srpski"
-msgstr ""
+msgstr "Serbisk (Latin) / srpski"
 
 #. module: base
 #: model:res.country,name:base.il
@@ -7154,22 +7537,22 @@ msgstr "Israel"
 #: code:addons/base/res/res_config.py:475
 #, python-format
 msgid "Cannot duplicate configuration!"
-msgstr ""
+msgstr "Kan ikke duplisere konfigurasjon!"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_syscohada
 msgid "OHADA - Accounting"
-msgstr ""
+msgstr "OHADA - Regnskapsføring"
 
 #. module: base
 #: help:res.bank,bic:0
 msgid "Sometimes called BIC or Swift."
-msgstr ""
+msgstr "Noen ganger kalt BIC eller Swift."
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_in
 msgid "Indian - Accounting"
-msgstr ""
+msgstr "India - Regnskapsføring"
 
 #. module: base
 #: field:res.lang,time_format:0
@@ -7179,12 +7562,12 @@ msgstr "Tidsformat"
 #. module: base
 #: field:res.company,rml_header3:0
 msgid "RML Internal Header for Landscape Reports"
-msgstr ""
+msgstr "RML intern topptekst for rapporter i landskapsformat"
 
 #. module: base
 #: model:res.groups,name:base.group_partner_manager
 msgid "Contact Creation"
-msgstr ""
+msgstr "Kontakt skapt"
 
 #. module: base
 #: view:ir.module.module:0
@@ -7194,7 +7577,7 @@ msgstr "Definerte rapporter"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_project_gtd
 msgid "Todo Lists"
-msgstr ""
+msgstr "Oppgavelister"
 
 #. module: base
 #: view:ir.actions.report.xml:0
@@ -7235,21 +7618,27 @@ msgid ""
 "This module provides the core of the OpenERP Web Client.\n"
 "        "
 msgstr ""
+"\n"
+"OpenERP Web core module.\n"
+"========================\n"
+"\n"
+"Denne modulen tilbyr kjernen i OpenERP webklienten.\n"
+"        "
 
 #. module: base
 #: view:ir.sequence:0
 msgid "Week of the Year: %(woy)s"
-msgstr ""
+msgstr "Ukenummer: %(woy)s"
 
 #. module: base
 #: field:res.users,id:0
 msgid "ID"
-msgstr ""
+msgstr "ID"
 
 #. module: base
 #: field:ir.cron,doall:0
 msgid "Repeat Missed"
-msgstr "Repeter uteblitte"
+msgstr "Repeter manglende"
 
 #. module: base
 #: help:ir.actions.server,state:0
@@ -7265,17 +7654,17 @@ msgstr "Objektkobling"
 #: field:ir.module.category,xml_id:0
 #: field:ir.ui.view,xml_id:0
 msgid "External ID"
-msgstr ""
+msgstr "Ekstern ID"
 
 #. module: base
 #: help:res.currency.rate,rate:0
 msgid "The rate of the currency to the currency of rate 1"
-msgstr "The rate of the currency to the currency of rate 1"
+msgstr "Vekslingsraten til valutaen mot valutaen med vekslingsrate lik 1"
 
 #. module: base
 #: model:res.country,name:base.uk
 msgid "United Kingdom"
-msgstr "United Kingdom"
+msgstr "Storbritannia"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_pa
@@ -7302,24 +7691,24 @@ msgstr "Botswana"
 #. module: base
 #: view:res.partner.title:0
 msgid "Partner Titles"
-msgstr "Partner titler"
+msgstr "Partnertitler"
 
 #. module: base
 #: code:addons/base/ir/ir_fields.py:196
 #: code:addons/base/ir/ir_fields.py:227
 #, python-format
 msgid "Use the format '%s'"
-msgstr ""
+msgstr "Bruk formatet '%s'"
 
 #. module: base
 #: help:ir.actions.act_window,auto_refresh:0
 msgid "Add an auto-refresh on the view"
-msgstr "Legg til automatisk oppdatereing av denne visningen"
+msgstr "Legg til automatisk oppdatering av denne visningen"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_crm_profiling
 msgid "Customer Profiling"
-msgstr ""
+msgstr "Kundeprofilering"
 
 #. module: base
 #: selection:ir.cron,interval_type:0
@@ -7329,7 +7718,7 @@ msgstr "Arbeidsdager"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_multi_company
 msgid "Multi-Company"
-msgstr ""
+msgstr "Flerfirma"
 
 #. module: base
 #: model:ir.actions.act_window,name:base.action_workflow_workitem_form
@@ -7341,12 +7730,12 @@ msgstr "Arbeidselementer"
 #: code:addons/base/res/res_bank.py:195
 #, python-format
 msgid "Invalid Bank Account Type Name format."
-msgstr ""
+msgstr "Ugyldig navneformat for kontotype"
 
 #. module: base
 #: view:ir.filters:0
 msgid "Filters visible only for one user"
-msgstr ""
+msgstr "Filter synlig for bare en bruker"
 
 #. module: base
 #: model:ir.model,name:base.model_ir_attachment
@@ -7360,6 +7749,8 @@ msgid ""
 "You cannot perform this operation. New Record Creation is not allowed for "
 "this object as this object is for reporting purpose."
 msgstr ""
+"Du kan ikke utføre denne operasjonen. Nye poster kan ikke lages på dette "
+"objektet, da det er et rapporteringsobjekt."
 
 #. module: base
 #: model:ir.module.module,description:base.module_base_import
@@ -7389,12 +7780,12 @@ msgstr ""
 #. module: base
 #: selection:res.currency,position:0
 msgid "After Amount"
-msgstr ""
+msgstr "Etter beløp"
 
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Lithuanian / Lietuvių kalba"
-msgstr ""
+msgstr "Litauensk / Lietuvių kalba"
 
 #. module: base
 #: help:ir.actions.server,record_id:0
@@ -7402,23 +7793,23 @@ msgid ""
 "Provide the field name where the record id is stored after the create "
 "operations. If it is empty, you can not track the new record."
 msgstr ""
-"Angi feltnavnet hvor nøkkel på nøkkelen på raden blir lagret etter "
-"oppretting. Hvis den er tom kan du ikke spore den nye raden."
+"Angi feltnavnet hvor postens ID blir lagret etter oppretting. Hvis den er "
+"tom, kan du ikke spore den nye posten."
 
 #. module: base
 #: model:res.groups,comment:base.group_hr_user
 msgid "the user will be able to approve document created by employees."
-msgstr ""
+msgstr "brukeren vil kunne godkjenne dokumenter laget av ansatte."
 
 #. module: base
 #: field:ir.ui.menu,needaction_enabled:0
 msgid "Target model uses the need action mechanism"
-msgstr ""
+msgstr "Målmodellen bruker 'trenger handling' mekanismen"
 
 #. module: base
 #: help:ir.model.fields,relation:0
 msgid "For relationship fields, the technical name of the target model"
-msgstr ""
+msgstr "For relasjonsfelt, det tekniske navnet til målmodellen"
 
 #. module: base
 #: view:res.lang:0
@@ -7431,16 +7822,18 @@ msgid ""
 "If you enable this option, existing translations (including custom ones) "
 "will be overwritten and replaced by those in this file"
 msgstr ""
+"Hvis du skrur på dette valget, vil nåværende oversettelser (inkludert "
+"tilpassede oversettelser) bli overskrevet av oversettelser fra denne filen"
 
 #. module: base
 #: field:ir.ui.view,inherit_id:0
 msgid "Inherited View"
-msgstr "Inherited View"
+msgstr "Nedarvet visning"
 
 #. module: base
 #: view:ir.translation:0
 msgid "Source Term"
-msgstr ""
+msgstr "Kildedata"
 
 #. module: base
 #: model:ir.module.category,name:base.module_category_project_management
@@ -7453,7 +7846,7 @@ msgstr "Prosjekt"
 #. module: base
 #: field:ir.ui.menu,web_icon_hover_data:0
 msgid "Web Icon Image (hover)"
-msgstr ""
+msgstr "Webikon bilde (hover)"
 
 #. module: base
 #: view:base.module.import:0
@@ -7465,7 +7858,7 @@ msgstr "Modul ble importert uten feil !"
 #: view:ir.model.constraint:0
 #: model:ir.ui.menu,name:base.ir_model_constraint_menu
 msgid "Model Constraints"
-msgstr ""
+msgstr "Modellbegrensninger"
 
 #. module: base
 #: model:ir.actions.act_window,name:base.action_workflow_transition_form
@@ -7478,12 +7871,12 @@ msgstr "Overganger"
 #: model:ir.module.module,shortdesc:base.module_hr_timesheet
 #: model:ir.module.module,shortdesc:base.module_hr_timesheet_sheet
 msgid "Timesheets"
-msgstr ""
+msgstr "Timelister"
 
 #. module: base
 #: help:ir.values,company_id:0
 msgid "If set, action binding only applies for this company"
-msgstr ""
+msgstr "Hvis satt, gjelder handlingsbindingen kun for dette firmaet"
 
 #. module: base
 #: model:res.country,name:base.lc
@@ -7497,6 +7890,9 @@ msgid ""
 "password, otherwise leave empty. After a change of password, the user has to "
 "login again."
 msgstr ""
+"Spesifiser en verdi bare når du lager en bruker, eller hvis du ønsker å "
+"endre brukerens passord. La stå tomt ellers. Etter at passord har blitt "
+"endret, må brukeren logge inn på nytt."
 
 #. module: base
 #: model:res.country,name:base.so
@@ -7506,7 +7902,7 @@ msgstr "Somalia"
 #. module: base
 #: model:res.partner.title,shortcut:base.res_partner_title_doctor
 msgid "Dr."
-msgstr ""
+msgstr "Dr."
 
 #. module: base
 #: model:res.groups,name:base.group_user
@@ -7554,6 +7950,20 @@ msgid ""
 "up a management by affair.\n"
 "    "
 msgstr ""
+"\n"
+"Denne modulen implementerer et timelistesystem.\n"
+"==========================================\n"
+"\n"
+"Hver ansatt kan legge inn og spore tid brukt på forskjellige prosjekter.\n"
+"Et prosjekt er en analytisk konto, og tid brukt på prosjektet genererer "
+"kostnaer på\n"
+"den analytiske kontoen.\n"
+"\n"
+"Mange muligheter for rapportering på time og ressursbruk tilbys.\n"
+"\n"
+"Modulen er tett integrert med kostnadsstyringsmodulen. Den lar deg sette\n"
+"opp styring per affære.\n"
+"    "
 
 #. module: base
 #: field:res.bank,state:0
@@ -7570,23 +7980,23 @@ msgstr "Kopi av"
 #. module: base
 #: field:ir.model.data,display_name:0
 msgid "Record Name"
-msgstr ""
+msgstr "Postens navn"
 
 #. module: base
 #: model:ir.model,name:base.model_ir_actions_client
 #: selection:ir.ui.menu,action:0
 msgid "ir.actions.client"
-msgstr ""
+msgstr "ir.actions.client"
 
 #. module: base
 #: model:res.country,name:base.io
 msgid "British Indian Ocean Territory"
-msgstr "British Indian Ocean Territory"
+msgstr "Det britiske territoriet i Indiahavet"
 
 #. module: base
 #: model:ir.actions.server,name:base.action_server_module_immediate_install
 msgid "Module Immediate Install"
-msgstr ""
+msgstr "Umiddelbar installasjon av modul"
 
 #. module: base
 #: view:ir.actions.server:0
@@ -7606,7 +8016,7 @@ msgstr "Statskode"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_multilang
 msgid "Multi Language Chart of Accounts"
-msgstr ""
+msgstr "Flerspråklig kontoplan"
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_gt
@@ -7636,7 +8046,7 @@ msgstr "Oversettbar"
 #. module: base
 #: help:base.language.import,code:0
 msgid "ISO Language and Country code, e.g. en_US"
-msgstr ""
+msgstr "ISO språk- og landskode, f.eks en_US"
 
 #. module: base
 #: model:res.country,name:base.vn
@@ -7656,12 +8066,12 @@ msgstr "Fullt navn"
 #. module: base
 #: view:ir.attachment:0
 msgid "on"
-msgstr ""
+msgstr "på"
 
 #. module: base
 #: view:ir.property:0
 msgid "Parameters that are used by all resources."
-msgstr ""
+msgstr "Parametre som brukes av alle ressurser."
 
 #. module: base
 #: model:res.country,name:base.mz
@@ -7674,6 +8084,8 @@ msgid ""
 "Action bound to this entry - helper field for binding an action, will "
 "automatically set the correct reference"
 msgstr ""
+"Handling knyttet til denne posten - hjelpefelt for å binde en handling, "
+"setter automatisk korrekt referanse"
 
 #. module: base
 #: model:ir.ui.menu,name:base.menu_project_long_term
@@ -7689,7 +8101,7 @@ msgstr "Melding"
 #: field:ir.actions.act_window.view,multi:0
 #: field:ir.actions.report.xml,multi:0
 msgid "On Multiple Doc."
-msgstr "On Multiple Doc."
+msgstr "På flere dok."
 
 #. module: base
 #: view:base.language.export:0
@@ -7706,17 +8118,17 @@ msgstr "On Multiple Doc."
 #: view:res.users:0
 #: view:wizard.ir.model.menu.create:0
 msgid "or"
-msgstr ""
+msgstr "eller"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_account_accountant
 msgid "Accounting and Finance"
-msgstr ""
+msgstr "Regnskap og finans"
 
 #. module: base
 #: view:ir.module.module:0
 msgid "Upgrade"
-msgstr ""
+msgstr "Oppgrader"
 
 #. module: base
 #: model:ir.module.module,description:base.module_base_action_rule
@@ -7738,7 +8150,7 @@ msgstr ""
 #. module: base
 #: field:res.partner,function:0
 msgid "Job Position"
-msgstr ""
+msgstr "Stilling"
 
 #. module: base
 #: view:res.partner:0
@@ -7754,12 +8166,12 @@ msgstr "Færøyene"
 #. module: base
 #: field:ir.mail_server,smtp_encryption:0
 msgid "Connection Security"
-msgstr ""
+msgstr "Tilkoblingssikkerhet"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_ec
 msgid "Ecuador - Accounting"
-msgstr ""
+msgstr "Ecuador - Regnskapsføring"
 
 #. module: base
 #: field:res.partner.category,name:0
@@ -7774,17 +8186,17 @@ msgstr "Marianaøyene"
 #. module: base
 #: field:change.password.user,user_login:0
 msgid "User Login"
-msgstr ""
+msgstr "Brukernavn"
 
 #. module: base
 #: view:ir.filters:0
 msgid "Filters created by myself"
-msgstr ""
+msgstr "Filter laget av meg"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_hn
 msgid "Honduras - Accounting"
-msgstr ""
+msgstr "Honduras - Regnskapsføring"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_report_intrastat
@@ -7798,6 +8210,8 @@ msgid ""
 "Please use the change password wizard (in User Preferences or User menu) to "
 "change your own password."
 msgstr ""
+"Vennligst bruk endre passord veiviseren (I brukerinnstillinger eller i "
+"brukermenyen) for å endre ditt eget passord."
 
 #. module: base
 #: model:ir.model,name:base.model_ir_config_parameter
@@ -7837,12 +8251,12 @@ msgstr ""
 #: code:addons/orm.py:2021
 #, python-format
 msgid "Insufficient fields for Calendar View!"
-msgstr ""
+msgstr "Ikke tilstrekkelige felt for kalendervisning!"
 
 #. module: base
 #: selection:ir.property,type:0
 msgid "Integer"
-msgstr "Integer"
+msgstr "Heltall"
 
 #. module: base
 #: help:ir.actions.report.xml,report_rml:0
@@ -7850,16 +8264,18 @@ msgid ""
 "The path to the main report file (depending on Report Type) or NULL if the "
 "content is in another data field"
 msgstr ""
+"Filbane til hovedrapportfilen (avhengig av rapporttype) eller NULL hvis "
+"innholdet er i et annet felt"
 
 #. module: base
 #: model:res.partner.category,name:base.res_partner_category_14
 msgid "Manufacturer"
-msgstr ""
+msgstr "Produsent"
 
 #. module: base
 #: help:res.users,company_id:0
 msgid "The company this user is currently working for."
-msgstr ""
+msgstr "Firmaet denne brukeren jobber for."
 
 #. module: base
 #: model:ir.model,name:base.model_wizard_ir_model_menu_create
@@ -7932,7 +8348,7 @@ msgstr "Feil"
 #: code:addons/base/res/res_partner.py:566
 #, python-format
 msgid "Couldn't create contact without email address!"
-msgstr ""
+msgstr "Kunne ikke skape kontakt uten epostadresse!"
 
 #. module: base
 #: help:res.partner,tz:0
@@ -7942,11 +8358,14 @@ msgid ""
 "use the same timezone that is otherwise used to pick and render date and "
 "time values: your computer's timezone."
 msgstr ""
+"Partnerens tidssone, som blir brukt til å skrive ut korrekt dato og tid på "
+"raporter. Det er viktig å sette en verdi for dette feltet. Du bør bruke den "
+"samme tidssonen som ellers blir brukt av din datamaskin."
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_account_analytic_default
 msgid "Account Analytic Defaults"
-msgstr ""
+msgstr "Standardverdier for kontoanalyser"
 
 #. module: base
 #: selection:ir.ui.view,type:0
@@ -7956,7 +8375,7 @@ msgstr "mdx"
 #. module: base
 #: view:ir.cron:0
 msgid "Scheduled Action"
-msgstr ""
+msgstr "Tidsbestemt handling"
 
 #. module: base
 #: model:res.country,name:base.bi
@@ -7974,12 +8393,12 @@ msgstr "Lukk"
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Spanish (MX) / Español (MX)"
-msgstr "Spanish (MX) / Español (MX)"
+msgstr "Spansk (MX) / Español (MX)"
 
 #. module: base
 #: view:ir.actions.todo:0
 msgid "Wizards to be Launched"
-msgstr ""
+msgstr "Veivisere som skal startes"
 
 #. module: base
 #: model:res.country,name:base.bt
@@ -8006,17 +8425,17 @@ msgstr "Neste nummer på denne sekvensen"
 #: view:res.partner:0
 #: view:res.users:0
 msgid "Tags..."
-msgstr ""
+msgstr "Tagger..."
 
 #. module: base
 #: view:res.partner:0
 msgid "at"
-msgstr ""
+msgstr "på"
 
 #. module: base
 #: view:ir.rule:0
 msgid "Rule Definition (Domain Filter)"
-msgstr ""
+msgstr "Regeldefinisjon (domenefilter)"
 
 #. module: base
 #: selection:ir.actions.act_url,target:0
@@ -8026,7 +8445,7 @@ msgstr "Dette vinduet"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_portal_anonymous
 msgid "Anonymous portal"
-msgstr ""
+msgstr "Anonym portal"
 
 #. module: base
 #: field:base.language.export,format:0
@@ -8036,28 +8455,28 @@ msgstr "Filformat"
 #. module: base
 #: view:ir.filters:0
 msgid "My filters"
-msgstr ""
+msgstr "Mine filter"
 
 #. module: base
 #: field:res.lang,iso_code:0
 msgid "ISO code"
-msgstr "ISO code"
+msgstr "ISO kode"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_association
 msgid "Associations Management"
-msgstr ""
+msgstr "Relasjonsstyring"
 
 #. module: base
 #: help:ir.model,modules:0
 msgid "List of modules in which the object is defined or inherited"
-msgstr ""
+msgstr "Liste over moduler hvor objektet er definert eller arvet"
 
 #. module: base
 #: model:ir.module.category,name:base.module_category_localization_payroll
 #: model:ir.module.module,shortdesc:base.module_hr_payroll
 msgid "Payroll"
-msgstr ""
+msgstr "Lønnsavregning"
 
 #. module: base
 #: model:ir.actions.act_window,help:base.action_country_state
@@ -8066,11 +8485,14 @@ msgid ""
 "federal states you are working on from here. Each state is attached to one "
 "country."
 msgstr ""
+"Hvis du arbeider med det amerikanske markedet, kan du administrere de "
+"forskjellige føderale statene du jobber med herifra. Hver stat er tilknyttet "
+"et land."
 
 #. module: base
 #: view:workflow.workitem:0
 msgid "Workflow Workitems"
-msgstr "Arbeidsflyt arbeidselementer"
+msgstr "Arbeidselementer i arbeidsflyt"
 
 #. module: base
 #: model:res.country,name:base.vc
@@ -8100,6 +8522,9 @@ msgid ""
 "Allow users to login through OAuth2 Provider.\n"
 "=============================================\n"
 msgstr ""
+"\n"
+"Lar brukere logge på via OAuth2.\n"
+"=============================================\n"
 
 #. module: base
 #: model:ir.actions.act_window,name:base.action_model_fields
@@ -8109,7 +8534,7 @@ msgstr ""
 #: view:ir.model.fields:0
 #: model:ir.ui.menu,name:base.ir_model_model_fields
 msgid "Fields"
-msgstr "Felter"
+msgstr "Felt"
 
 #. module: base
 #: model:ir.actions.act_window,name:base.action_partner_employee_form
@@ -8134,17 +8559,17 @@ msgstr ""
 #. module: base
 #: field:res.company,rml_header2:0
 msgid "RML Internal Header"
-msgstr "RML Internal Header"
+msgstr "RML Intern topptekst"
 
 #. module: base
 #: field:ir.actions.act_window,search_view_id:0
 msgid "Search View Ref."
-msgstr ""
+msgstr "Søk Vis Ref."
 
 #. module: base
 #: help:res.users,partner_id:0
 msgid "Partner-related data of the user"
-msgstr ""
+msgstr "Partnerrelatert brukerdata"
 
 #. module: base
 #: model:ir.module.module,description:base.module_crm_todo
@@ -8158,7 +8583,7 @@ msgstr ""
 #. module: base
 #: view:ir.mail_server:0
 msgid "Test Connection"
-msgstr ""
+msgstr "Test tilkobling"
 
 #. module: base
 #: model:res.country,name:base.mm
@@ -8270,7 +8695,7 @@ msgstr "Canada"
 #. module: base
 #: view:base.language.export:0
 msgid "Launchpad"
-msgstr ""
+msgstr "Launchpad"
 
 #. module: base
 #: help:res.currency.rate,currency_rate_type_id:0
@@ -8278,11 +8703,13 @@ msgid ""
 "Allow you to define your own currency rate types, like 'Average' or 'Year to "
 "Date'. Leave empty if you simply want to use the normal 'spot' rate type"
 msgstr ""
+"Lar deg definere dine egne valutaratetyper, slik som gjennomsnittlig, eller "
+"'årsvis til dags dato'. La stå tomt hvis du vil bruke den vanlige spotraten."
 
 #. module: base
 #: selection:ir.module.module.dependency,state:0
 msgid "Unknown"
-msgstr "Unknown"
+msgstr "Ukjent"
 
 #. module: base
 #: model:ir.actions.act_window,name:base.action_res_users_my
@@ -8293,7 +8720,7 @@ msgstr "Endre mine preferanser"
 #: code:addons/base/ir/ir_actions.py:171
 #, python-format
 msgid "Invalid model name in the action definition."
-msgstr "Ugyldig navn på modell i handlingsdefinisjonen."
+msgstr "Ugyldig modellnavn i handlingsdefinisjonen"
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_ro
@@ -8326,12 +8753,12 @@ msgstr "Tilpasset felt"
 #. module: base
 #: model:ir.module.module,summary:base.module_account_accountant
 msgid "Financial and Analytic Accounting"
-msgstr ""
+msgstr "Finans og analytisk regnskap"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_portal_project
 msgid "Portal Project"
-msgstr ""
+msgstr "Portalprosjekt"
 
 #. module: base
 #: model:res.country,name:base.cc
@@ -8343,18 +8770,18 @@ msgstr "Cocos (Keeling) øyene"
 #: selection:base.module.import,state:0
 #: selection:base.module.update,state:0
 msgid "init"
-msgstr ""
+msgstr "init"
 
 #. module: base
 #: view:res.partner:0
 #: field:res.partner,user_id:0
 msgid "Salesperson"
-msgstr ""
+msgstr "Selger"
 
 #. module: base
 #: view:res.lang:0
 msgid "11. %U or %W       ==> 48 (49th week)"
-msgstr "11. %U eler %W       ==> 48 (49. uke)"
+msgstr "11. %U eller %W       ==> 48 (49. uke)"
 
 #. module: base
 #: model:ir.model,name:base.model_res_partner_bank_type_field
@@ -8364,13 +8791,13 @@ msgstr "Banktypefelter"
 #. module: base
 #: constraint:ir.rule:0
 msgid "Rules can not be applied on Transient models."
-msgstr ""
+msgstr "Regler kan ikke bli lagt til på transiente modeller."
 
 #. module: base
 #: code:addons/base/ir/ir_mail_server.py:215
 #, python-format
 msgid "Connection Test Failed!"
-msgstr ""
+msgstr "Tilkoblingstest feilet!"
 
 #. module: base
 #: selection:base.language.install,lang:0
@@ -8380,7 +8807,7 @@ msgstr "Nederlandsk / Nederlands"
 #. module: base
 #: selection:res.company,paper_format:0
 msgid "US Letter"
-msgstr ""
+msgstr "US Letter"
 
 #. module: base
 #: model:ir.actions.act_window,help:base.action_partner_customer_form
@@ -8398,24 +8825,24 @@ msgstr ""
 #. module: base
 #: model:ir.actions.act_window,name:base.bank_account_update
 msgid "Company Bank Accounts"
-msgstr ""
+msgstr "Firmaets bankkontoer"
 
 #. module: base
 #: code:addons/base/res/res_users.py:473
 #, python-format
 msgid "Setting empty passwords is not allowed for security reasons!"
-msgstr "Tomme passord er ikke tillat!"
+msgstr "Tomme passord er ikke tillatt!"
 
 #. module: base
 #: help:ir.mail_server,smtp_pass:0
 msgid "Optional password for SMTP authentication"
-msgstr ""
+msgstr "Opsjonelt passord for SMTP autentisering"
 
 #. module: base
 #: code:addons/base/ir/ir_model.py:727
 #, python-format
 msgid "Sorry, you are not allowed to modify this document."
-msgstr ""
+msgstr "Beklager, du har ikke tillatelse til å modifisere dette dokumentet."
 
 #. module: base
 #: code:addons/base/res/res_config.py:380
@@ -8425,16 +8852,19 @@ msgid ""
 "\n"
 "This addon is already installed on your system"
 msgstr ""
+"\n"
+"\n"
+"Dette tillegget er allerede installert på ditt system"
 
 #. module: base
 #: help:ir.cron,interval_number:0
 msgid "Repeat every x."
-msgstr "Gjennta hvert x."
+msgstr "Gjenta hvert x."
 
 #. module: base
 #: model:res.partner.bank.type,name:base.bank_normal
 msgid "Normal Bank Account"
-msgstr ""
+msgstr "Normal bankkonto"
 
 #. module: base
 #: field:change.password.user,wizard_id:0
@@ -8446,7 +8876,7 @@ msgstr "Veiviser"
 #: code:addons/base/ir/ir_fields.py:303
 #, python-format
 msgid "database id"
-msgstr ""
+msgstr "database id"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_base_import
@@ -8461,7 +8891,7 @@ msgstr "1cm 28cm 20cm 28cm"
 #. module: base
 #: field:ir.module.module,maintainer:0
 msgid "Maintainer"
-msgstr ""
+msgstr "Vedlikeholdes av"
 
 #. module: base
 #: field:ir.sequence,suffix:0
@@ -8483,7 +8913,7 @@ msgstr "Etiketter"
 msgid ""
 "Select this if you want to set company's address information  for this "
 "contact"
-msgstr ""
+msgstr "Velg dette hvis du vil sette en firmaadresse for denne kontakten"
 
 #. module: base
 #: field:ir.default,field_name:0
@@ -8493,17 +8923,17 @@ msgstr "Objektfelt"
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Spanish (PE) / Español (PE)"
-msgstr "Spanish (PE) / Español (PE)"
+msgstr "Spansk (PE) / Español (PE)"
 
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "French (CH) / Français (CH)"
-msgstr "French (CH) / Français (CH)"
+msgstr "Fransk (CH) / Français (CH)"
 
 #. module: base
 #: model:res.partner.category,name:base.res_partner_category_13
 msgid "Distributor"
-msgstr ""
+msgstr "Distributør"
 
 #. module: base
 #: help:ir.actions.server,subject:0
@@ -8512,6 +8942,9 @@ msgid ""
 "the same values as those available in the condition field, e.g. `Hello [[ "
 "object.partner_id.name ]]`"
 msgstr ""
+"Epost emne, kan inneholde uttrykk i doble braketter basert på samme verdier "
+"som er tilgjengelige i alternativfeltet, f. eks 'Hallo "
+"[[object.partner_id.name]]'"
 
 #. module: base
 #: help:res.partner,image:0
@@ -8519,6 +8952,8 @@ msgid ""
 "This field holds the image used as avatar for this contact, limited to "
 "1024x1024px"
 msgstr ""
+"Dette feltet inneholder bildet som brukes som avatar for denne kontakten, "
+"begrenset til 1024x1024 piksler"
 
 #. module: base
 #: model:res.country,name:base.to
@@ -8532,11 +8967,13 @@ msgid ""
 "serialization field, instead of having its own database column. This cannot "
 "be changed after creation."
 msgstr ""
+"Hvis satt, vil dette feltet bli lagret i serialiseringsfeltet istedet for en "
+"egen databasekolonne. Dette kan ikke endres etter opprettelse."
 
 #. module: base
 #: view:res.partner.bank:0
 msgid "Bank accounts belonging to one of your companies"
-msgstr ""
+msgstr "Bankkontoer som tilhører en av dine firmaer"
 
 #. module: base
 #: model:ir.module.module,description:base.module_account_analytic_plans
@@ -8598,22 +9035,22 @@ msgstr ""
 #. module: base
 #: view:base.language.export:0
 msgid "POEdit"
-msgstr ""
+msgstr "POEdit"
 
 #. module: base
 #: view:ir.values:0
 msgid "Client Actions"
-msgstr ""
+msgstr "Klienthandlinger"
 
 #. module: base
 #: field:res.partner.bank.type,field_ids:0
 msgid "Type Fields"
-msgstr ""
+msgstr "Typefelt"
 
 #. module: base
 #: model:ir.module.module,summary:base.module_hr_recruitment
 msgid "Jobs, Recruitment, Applications, Job Interviews"
-msgstr ""
+msgstr "Jobber, rekruttering, søknader, jobbintervju"
 
 #. module: base
 #: code:addons/base/module/module.py:539
@@ -8622,8 +9059,8 @@ msgid ""
 "You try to upgrade a module that depends on the module: %s.\n"
 "But this module is not available in your system."
 msgstr ""
-"You try to upgrade a module that depends on the module: %s.\n"
-"But this module is not available in your system."
+"Du prøvde å oppgrade en modul som er avhengig av en annen modul, %s,\n"
+"men den modulen er ikke installert på systemet ditt."
 
 #. module: base
 #: model:ir.module.module,description:base.module_portal_project_long_term
@@ -8635,13 +9072,19 @@ msgid ""
 "================\n"
 "    "
 msgstr ""
+"\n"
+"Denne modulen legger til nødvendige sikkerhetsregler og tilgangsrettigheter "
+"for prosjekter og portal.\n"
+"============================================================================="
+"================\n"
+"    "
 
 #. module: base
 #: help:res.currency,position:0
 msgid ""
 "Determines where the currency symbol should be placed after or before the "
 "amount."
-msgstr ""
+msgstr "Skal valutasymbolet vises før eller etter beløpet?"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_pad_project
@@ -8656,7 +9099,7 @@ msgstr "base.update.translations"
 #. module: base
 #: view:ir.rule:0
 msgid "Full Access Right"
-msgstr ""
+msgstr "Full tilgang"
 
 #. module: base
 #: field:res.partner.category,parent_id:0
@@ -8671,7 +9114,7 @@ msgstr "Finland"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_web_shortcuts
 msgid "Web Shortcuts"
-msgstr ""
+msgstr "Websnarveier"
 
 #. module: base
 #: view:res.partner:0
@@ -8684,7 +9127,7 @@ msgstr "Kontakt"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_at
 msgid "Austria - Accounting"
-msgstr ""
+msgstr "Sveits - Regnskapsføring"
 
 #. module: base
 #: model:ir.model,name:base.model_ir_ui_menu
@@ -8694,7 +9137,7 @@ msgstr "ir.ui.menu"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_project
 msgid "Project Management"
-msgstr ""
+msgstr "Prosjektstyring"
 
 #. module: base
 #: view:ir.module.module:0
@@ -8709,22 +9152,22 @@ msgstr "Kommunikasjon"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_analytic
 msgid "Analytic Accounting"
-msgstr ""
+msgstr "Analytisk bokføring"
 
 #. module: base
 #: model:ir.model,name:base.model_ir_model_constraint
 msgid "ir.model.constraint"
-msgstr ""
+msgstr "ir.model.constraint"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_web_graph
 msgid "Graph Views"
-msgstr ""
+msgstr "Grafvisninger"
 
 #. module: base
 #: help:ir.model.relation,name:0
 msgid "PostgreSQL table name implementing a many2many relation."
-msgstr ""
+msgstr "PostgreSQL tabellnavn som implementerer en mange-til-mange relasjon"
 
 #. module: base
 #: model:ir.module.module,description:base.module_base
@@ -8733,6 +9176,9 @@ msgid ""
 "The kernel of OpenERP, needed for all installation.\n"
 "===================================================\n"
 msgstr ""
+"\n"
+"Kjernen av OpenERP, nødvendig for alle installasjoner.\n"
+"===================================================\n"
 
 #. module: base
 #: model:ir.model,name:base.model_ir_server_object_lines
@@ -8742,12 +9188,12 @@ msgstr "ir.server.object.lines"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_be
 msgid "Belgium - Accounting"
-msgstr ""
+msgstr "Belgia - Regnskapsføring"
 
 #. module: base
 #: view:ir.model.access:0
 msgid "Access Control"
-msgstr ""
+msgstr "Tilgangskontroll"
 
 #. module: base
 #: model:res.country,name:base.kw
@@ -8757,13 +9203,13 @@ msgstr "Kuwait"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_account_followup
 msgid "Payment Follow-up Management"
-msgstr ""
+msgstr "Betalingsoppfølging"
 
 #. module: base
 #: code:addons/orm.py:5334
 #, python-format
 msgid "The value for the field '%s' already exists."
-msgstr ""
+msgstr "Verdien for feltet '%s' eksisterer allerede."
 
 #. module: base
 #: field:workflow.workitem,inst_id:0
@@ -8778,20 +9224,20 @@ msgid ""
 "with the object and time variables."
 msgstr ""
 "Dette er filnavnet til vedlegget som benyttes til å lagre resultatet av "
-"utskriften. Behold blankt for ikke å lagre utskrevne rapporter. Du kan "
-"benytte et python uttrykk på objektet og variabler for tid/dato."
+"utskriften. La det være blankt for å ikke lagre utskrevne rapporter. Du kan "
+"benytte et python-uttrykk på objektet, og variabler for tid/dato."
 
 #. module: base
 #: sql_constraint:ir.model.data:0
 msgid ""
 "You cannot have multiple records with the same external ID in the same "
 "module!"
-msgstr ""
+msgstr "Du kan ikke ha flere poster med samme eksterne ID i samme modul!"
 
 #. module: base
 #: selection:ir.property,type:0
 msgid "Many2One"
-msgstr ""
+msgstr "Mange-til-en"
 
 #. module: base
 #: model:res.country,name:base.ng
@@ -8802,27 +9248,27 @@ msgstr "Nigeria"
 #: code:addons/base/ir/ir_model.py:339
 #, python-format
 msgid "For selection fields, the Selection Options must be given!"
-msgstr ""
+msgstr "For utvalgsfelt må utvalgsalternativer velges!"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_base_iban
 msgid "IBAN Bank Accounts"
-msgstr ""
+msgstr "IBAN bankkontoer"
 
 #. module: base
 #: field:res.company,user_ids:0
 msgid "Accepted Users"
-msgstr ""
+msgstr "Godkjente brukere"
 
 #. module: base
 #: field:ir.ui.menu,web_icon_data:0
 msgid "Web Icon Image"
-msgstr ""
+msgstr "Webikon bilde"
 
 #. module: base
 #: field:ir.actions.server,wkf_model_id:0
 msgid "Target Object"
-msgstr ""
+msgstr "Målobjekt"
 
 #. module: base
 #: selection:ir.model.fields,select_level:0
@@ -8832,7 +9278,7 @@ msgstr "Alltid søkbar"
 #. module: base
 #: help:res.country.state,code:0
 msgid "The state code in max. three chars."
-msgstr ""
+msgstr "Statskode med maksimalt tre bokstaver."
 
 #. module: base
 #: model:res.country,name:base.hk
@@ -8870,11 +9316,13 @@ msgid ""
 "Model to which this entry applies - helper field for setting a model, will "
 "automatically set the correct model name"
 msgstr ""
+"Modell relatert til denne posten - hjelpefelt for å sette en modell, blir "
+"automatisk oppdatert med korrekt modellnavn"
 
 #. module: base
 #: view:res.lang:0
 msgid "2.  %a ,%A         ==> Fri, Friday"
-msgstr "2.  %a ,%A         ==> Fri, Friday"
+msgstr "2.  %a ,%A         ==> Fre, Fredag"
 
 #. module: base
 #: code:addons/base/ir/ir_translation.py:341
@@ -8883,6 +9331,8 @@ msgid ""
 "Translation features are unavailable until you install an extra OpenERP "
 "translation."
 msgstr ""
+"Oversettelsesfunksjoner er ikke tilgjengelige før du installerer en OpenERP "
+"oversettelse."
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_nl
@@ -8931,6 +9381,7 @@ msgstr ""
 #: help:ir.rule,global:0
 msgid "If no group is specified the rule is global and applied to everyone"
 msgstr ""
+"Hvis ingen grupper er spesifisert, er regelen global og gjelder for alle"
 
 #. module: base
 #: model:res.country,name:base.td
@@ -8943,6 +9394,8 @@ msgid ""
 "The priority of the job, as an integer: 0 means higher priority, 10 means "
 "lower priority."
 msgstr ""
+"Jobbens prioritet, som et heltall: 0 betyr høyest prioritet, 10 er lavere "
+"prioritet."
 
 #. module: base
 #: model:ir.model,name:base.model_workflow_transition
@@ -8962,12 +9415,12 @@ msgstr "Undermenyer"
 #. module: base
 #: report:ir.module.reference:0
 msgid "Introspection report on objects"
-msgstr "Introspektiv rapport på objekter"
+msgstr "Introspektiv objektrapport"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_web_analytics
 msgid "Google Analytics"
-msgstr ""
+msgstr "Google Analytics"
 
 #. module: base
 #: model:ir.module.module,description:base.module_note
@@ -8995,12 +9448,12 @@ msgstr "Dominica"
 #. module: base
 #: field:ir.translation,name:0
 msgid "Translated field"
-msgstr ""
+msgstr "Oversatt felt"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_stock_location
 msgid "Advanced Routes"
-msgstr ""
+msgstr "Avanserte Ruter"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_pad
@@ -9010,7 +9463,7 @@ msgstr ""
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_account_anglo_saxon
 msgid "Anglo-Saxon Accounting"
-msgstr ""
+msgstr "Anglo-Saxonsk bokføring"
 
 #. module: base
 #: model:res.country,name:base.np
@@ -9020,38 +9473,38 @@ msgstr "Nepal"
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_document_page
 msgid "Document Page"
-msgstr ""
+msgstr "Dokumentside"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_l10n_ar
 msgid "Argentina Localization Chart Account"
-msgstr ""
+msgstr "Argentina lokalisert kontoplan"
 
 #. module: base
 #: field:ir.module.module,description_html:0
 msgid "Description HTML"
-msgstr ""
+msgstr "Beskrivelse HTML"
 
 #. module: base
 #: help:res.groups,implied_ids:0
 msgid "Users of this group automatically inherit those groups"
-msgstr ""
+msgstr "Brukere i denne gruppen arver automatisk disse gruppene"
 
 #. module: base
 #: model:ir.module.module,summary:base.module_note
 msgid "Sticky notes, Collaborative, Memos"
-msgstr ""
+msgstr "Notater, samarbeid, memoer"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_hr_attendance
 #: model:res.groups,name:base.group_hr_attendance
 msgid "Attendances"
-msgstr ""
+msgstr "Tilskuertall"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_warning
 msgid "Warning Messages and Alerts"
-msgstr ""
+msgstr "Advarsler, meldinger og varsler"
 
 #. module: base
 #: model:ir.actions.act_window,name:base.action_ui_view_custom
@@ -9064,14 +9517,14 @@ msgstr "Tilpassede visninger"
 #: view:base.module.import:0
 #: model:ir.actions.act_window,name:base.action_view_base_module_import
 msgid "Module Import"
-msgstr "Importer modul"
+msgstr "Modulimport"
 
 #. module: base
 #: model:ir.actions.act_window,name:base.act_values_form_action
 #: model:ir.ui.menu,name:base.menu_values_form_action
 #: view:ir.values:0
 msgid "Action Bindings"
-msgstr ""
+msgstr "Handlingsbindinger"
 
 #. module: base
 #: help:res.partner,lang:0
@@ -9079,6 +9532,9 @@ msgid ""
 "If the selected language is loaded in the system, all documents related to "
 "this contact will be printed in this language. If not, it will be English."
 msgstr ""
+"Hvis det valgte språket lastes inn i systemet, vil alle dokumenter relatert "
+"til denne kontakten skrives ut i det språket. Hvis ikke, skrives de ut på "
+"engelsk."
 
 #. module: base
 #: model:ir.module.module,description:base.module_hr_evaluation
@@ -9116,7 +9572,7 @@ msgstr ""
 #. module: base
 #: model:ir.ui.menu,name:base.menu_view_base_module_update
 msgid "Update Modules List"
-msgstr "Oppdater liste over moduler"
+msgstr "Oppdater modulliste"
 
 #. module: base
 #: code:addons/base/module/module.py:359
@@ -9124,11 +9580,13 @@ msgstr "Oppdater liste over moduler"
 msgid ""
 "Unable to upgrade module \"%s\" because an external dependency is not met: %s"
 msgstr ""
+"Kunne ikke oppdatere modulen \"%s\" fordi en ekstern avhengighet ikke er "
+"møtt: %s"
 
 #. module: base
 #: model:ir.module.module,shortdesc:base.module_account
 msgid "eInvoicing"
-msgstr ""
+msgstr "eFaktura"
 
 #. module: base
 #: code:addons/base/res/res_users.py:171
@@ -9139,12 +9597,16 @@ msgid ""
 "sure to save and close all forms before switching to a different company. "
 "(You can click on Cancel in the User Preferences now)"
 msgstr ""
+"Husk at dokumenter som vises her kan hende ikke er relevante etter at du "
+"bytter til et annet firma. Hvis du har endringer som ikke er lagret, bør du "
+"lagre og lukke alle skjemaer før du skifter til et annet firma. (Du kan "
+"klikke kanseller i brukerpreferanser nå)"
 
 #. module: base
 #: code:addons/orm.py:2818
 #, python-format
 msgid "The value \"%s\" for the field \"%s.%s\" is not in the selection"
-msgstr ""
+msgstr "Verdien \"%s\" for feltet \"%s.%s\" er ikke i utvalget"
 
 #. module: base
 #: view:ir.actions.configuration.wizard:0
@@ -9154,7 +9616,7 @@ msgstr "Fortsett"
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Thai / ภาษาไทย"
-msgstr ""
+msgstr "Thai / ภาษาไทย"
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_bo
@@ -9180,7 +9642,7 @@ msgstr "Slovensk / slovenščina"
 #. module: base
 #: field:res.currency,position:0
 msgid "Symbol Position"
-msgstr ""
+msgstr "Symbolposisjon"
 
 #. module: base
 #: model:ir.module.module,description:base.module_l10n_de
@@ -9214,11 +9676,14 @@ msgid ""
 "\n"
 "(Document type: %s)"
 msgstr ""
+"For denne dokumenttypen kan du bare aksessere poster du selv har laget.\n"
+"\n"
+"(Dokumenttype: %s)"
 
 #. module: base
 #: view:base.language.export:0
 msgid "documentation"
-msgstr ""
+msgstr "dokumentasjon"
 
 #. module: base
 #: help:ir.model,osv_memory:0
@@ -9226,17 +9691,19 @@ msgid ""
 "This field specifies whether the model is transient or not (i.e. if records "
 "are automatically deleted from the database or not)"
 msgstr ""
+"Dette feltet spesifiserer om modellen er transient eller ikke (dvs, om "
+"poster automatisk blir slettet fra databasen eller ikke)"
 
 #. module: base
 #: code:addons/base/ir/ir_mail_server.py:445
 #, python-format
 msgid "Missing SMTP Server"
-msgstr ""
+msgstr "Mangler SMTP server"
 
 #. module: base
 #: sql_constraint:ir.translation:0
 msgid "Language code of translation item must be among known languages"
-msgstr ""
+msgstr "Språkkoden for begrepet du oversetter må være et kjent språk"
 
 #. module: base
 #: field:base.language.export,data:0
@@ -9247,7 +9714,7 @@ msgstr "Fil"
 #. module: base
 #: model:ir.actions.act_window,name:base.action_view_base_module_upgrade_install
 msgid "Module Upgrade Install"
-msgstr ""
+msgstr "Modul Oppgrader Installer"
 
 #. module: base
 #: model:ir.model,name:base.model_ir_actions_configuration_wizard
@@ -9257,18 +9724,18 @@ msgstr "ir.actions.configuration.wizard"
 #. module: base
 #: view:res.lang:0
 msgid "%b - Abbreviated month name."
-msgstr "%b - Navn på måned (forkortet)."
+msgstr "%b - Kort månedsnavn."
 
 #. module: base
 #: code:addons/base/ir/ir_model.py:729
 #, python-format
 msgid "Sorry, you are not allowed to delete this document."
-msgstr ""
+msgstr "Beklager, du har ikke tillatelse til å slette dette dokumentet."
 
 #. module: base
 #: constraint:ir.rule:0
 msgid "Rules can not be applied on the Record Rules model."
-msgstr ""
+msgstr "Regler kan ikke brukes på regelmodellen for poster"
 
 #. module: base
 #: field:res.partner,supplier:0
@@ -9285,7 +9752,7 @@ msgstr "Flerhandlinger"
 #. module: base
 #: model:ir.module.module,summary:base.module_mail
 msgid "Discussions, Mailing Lists, News"
-msgstr ""
+msgstr "Diskusjoner, epostdistribusjonslister og nyheter"
 
 #. module: base
 #: model:ir.module.module,description:base.module_fleet
@@ -9307,6 +9774,21 @@ msgid ""
 "* Show all costs associated to a vehicle or to a type of service\n"
 "* Analysis graph for costs\n"
 msgstr ""
+"\n"
+"Kjøretøy, leasing, forsikring, kostnader\n"
+"====================================\n"
+"Med denne modulen lar OpenERP deg administrere alle dine kjøretøy,\n"
+"kontakter som benytter disse, så vel som servicer, kjørebok, kostnader og\n"
+"mange andre funksjoner som er nyttig for flåtekontroll.\n"
+"\n"
+"Hovedfunksjoner\n"
+"------------\n"
+"* Legg til kjøretøy til din flåte\n"
+"* Håndtere kontakter for kjøretøy\n"
+"* Påminnelse når kontrakter når utløpsdato\n"
+"* Legg til servicer, kjørebok og odometer for alle kjøretøy\n"
+"* Vise alle kostnader assosiert med et kjøretøy eller type service\n"
+"* Analytisk graf for kostnader\n"
 
 #. module: base
 #: field:multi_company.default,company_dest_id:0
@@ -9316,12 +9798,12 @@ msgstr "Standard firma"
 #. module: base
 #: selection:base.language.install,lang:0
 msgid "Spanish (EC) / Español (EC)"
-msgstr "Spanish (EC) / Español (EC)"
+msgstr "Spansk (EC) / Español (EC)"
 
 #. module: base
 #: help:ir.ui.view,xml_id:0
 msgid "ID of the view defined in xml file"
-msgstr ""
+msgstr "ID til visningen definert i XML filen"
 
 #. module: base
 #: model:ir.model,name:base.model_base_module_import
@@ -9336,28 +9818,28 @@ msgstr "Amerikansk Samoa"
 #. module: base
 #: view:ir.attachment:0
 msgid "My Document(s)"
-msgstr ""
+msgstr "Mine dokumenter"
 
 #. module: base
 #: help:ir.actions.act_window,res_model:0
 msgid "Model name of the object to open in the view window"
-msgstr ""
+msgstr "Modellnavn til objektet for åpning i visningsvinduet"
 
 #. module: base
 #: field:ir.model.fields,selectable:0
 msgid "Selectable"
-msgstr "Valgbar"
+msgstr "Velgbar"
 
 #. module: base
 #: code:addons/base/ir/ir_mail_server.py:222
 #, python-format
 msgid "Everything seems properly set up!"
-msgstr ""
+msgstr "Alt ser ut til å være satt opp korrekt!"
 
 #. module: base
 #: view:res.request.link:0
 msgid "Request Link"
-msgstr "res.request.link"
+msgstr "Be om lenke"
 
 #. module: base
 #: view:ir.attachment:0
@@ -9381,7 +9863,7 @@ msgstr "Iterasjon"
 #: code:addons/orm.py:4347
 #, python-format
 msgid "UserError"
-msgstr "BrukerFeil"
+msgstr "Brukerfeil"
 
 #. module: base
 #: model:ir.module.module,summary:base.module_project_issue
index 97cf0da..08e961c 100644 (file)
@@ -8,14 +8,14 @@ msgstr ""
 "Project-Id-Version: openobject-server\n"
 "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
 "POT-Creation-Date: 2013-06-07 19:35+0000\n"
-"PO-Revision-Date: 2013-07-04 05:49+0000\n"
-"Last-Translator: Hung Tran <vanda6688@yahoo.com>\n"
+"PO-Revision-Date: 2014-05-18 08:52+0000\n"
+"Last-Translator: Mai Đăng Thành <Unknown>\n"
 "Language-Team: Vietnamese <vi@li.org>\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-30 06:56+0000\n"
-"X-Generator: Launchpad (build 16985)\n"
+"X-Launchpad-Export-Date: 2014-05-19 06:20+0000\n"
+"X-Generator: Launchpad (build 17007)\n"
 
 #. module: base
 #: model:ir.module.module,description:base.module_account_check_writing
@@ -131,6 +131,17 @@ msgid ""
 "    * Product Attributes\n"
 "    "
 msgstr ""
+"\n"
+"Chức năng thêm nhà các sản xuất và các thuộc tính của sản phẩm\n"
+"====================================================================\n"
+"\n"
+"Bạn có thể thêm các thông tin sau cho sản phẩm:\n"
+"-----------------------------------------------\n"
+"    * Nhà sản xuất\n"
+"    * Tên sản phẩm (Nhà sản xuất)\n"
+"    * Mã sản phẩm (Nhà sản xuất)\n"
+"    * Các thuộc tính sản phẩm\n"
+"    "
 
 #. module: base
 #: field:ir.actions.client,params:0
@@ -203,6 +214,14 @@ msgid ""
 "revenue\n"
 "reports."
 msgstr ""
+"\n"
+"Tạo hóa đơn từ Chi phí, Bảng chấm công\n"
+"========================================================\n"
+"\n"
+"Chức năng tạo hóa đơn dựa trên chi phí (nhân lực, chi phí, ...).\n"
+"\n"
+"Bạn có thể định nghĩa bảng giá trong tài khoản phân tích, tạo báo cáo \n"
+"doanh thu lý thuyết."
 
 #. module: base
 #: code:addons/base/ir/ir_sequence.py:134
@@ -379,6 +398,7 @@ msgid ""
 "The internal user that is in charge of communicating with this contact if "
 "any."
 msgstr ""
+"Người sử dụng nội bộ có trách nhiệm giao tiếp với các đối tác này nếu có."
 
 #. module: base
 #: view:res.partner:0
@@ -417,6 +437,12 @@ msgid ""
 "  - tree_but_open\n"
 "For defaults, an optional condition"
 msgstr ""
+"Những tác vụ sau được phép: \n"
+"  - client_action_multi\n"
+"  - client_print_multi\n"
+"  - client_action_relate\n"
+"  - tree_but_open\n"
+"Mặc định, một tùy chọn sẽ bắt buộc"
 
 #. module: base
 #: sql_constraint:res.lang:0
index 24a522f..77c9835 100644 (file)
@@ -216,12 +216,21 @@ class ir_cron(osv.osv):
             lock_cr = db.cursor()
             try:
                 # Try to grab an exclusive lock on the job row from within the task transaction
+                # Restrict to the same conditions as for the search since the job may have already
+                # been run by an other thread when cron is running in multi thread
                 lock_cr.execute("""SELECT *
                                    FROM ir_cron
-                                   WHERE id=%s
+                                   WHERE numbercall != 0
+                                      AND active
+                                      AND nextcall <= (now() at time zone 'UTC')
+                                      AND id=%s
                                    FOR UPDATE NOWAIT""",
                                (job['id'],), log_exceptions=False)
 
+                locked_job = lock_cr.fetchone()
+                if not locked_job:
+                    _logger.debug("Job `%s` already executed by another process/thread. skipping it", job['name'])
+                    continue
                 # Got the lock on the job row, run its code
                 _logger.debug('Starting job `%s`.', job['name'])
                 job_cr = db.cursor()
index d716227..e7775b8 100644 (file)
@@ -351,6 +351,8 @@ class ir_model_fields(osv.osv):
                 raise except_orm(_('Error'), _("Model %s does not exist!") % vals['relation'])
 
             if self.pool.get(vals['model']):
+                if vals['model'].startswith('x_') and vals['name'] == 'x_name':
+                    self.pool[vals['model']]._rec_name = 'x_name'
                 self.pool.get(vals['model']).__init__(self.pool, cr)
                 #Added context to _auto_init for special treatment to custom field for select_level
                 ctx = dict(context,
@@ -1085,13 +1087,20 @@ class ir_model_data(osv.osv):
 
         # Remove non-model records first, then model fields, and finish with models
         unlink_if_refcount((model, res_id) for model, res_id in to_unlink
-                                if model not in ('ir.model','ir.model.fields'))
+                                if model not in ('ir.model','ir.model.fields','ir.model.constraint'))
+        unlink_if_refcount((model, res_id) for model, res_id in to_unlink
+                                if model == 'ir.model.constraint')
+
+        ir_module_module = self.pool['ir.module.module']
+        ir_model_constraint = self.pool['ir.model.constraint']
+        modules_to_remove_ids = ir_module_module.search(cr, uid, [('name', 'in', modules_to_remove)], context=context)
+        constraint_ids = ir_model_constraint.search(cr, uid, [('module', 'in', modules_to_remove_ids)], context=context)
+        ir_model_constraint._module_data_uninstall(cr, uid, constraint_ids, context)
+
         unlink_if_refcount((model, res_id) for model, res_id in to_unlink
                                 if model == 'ir.model.fields')
 
         ir_model_relation = self.pool.get('ir.model.relation')
-        ir_module_module = self.pool.get('ir.module.module')
-        modules_to_remove_ids = ir_module_module.search(cr, uid, [('name', 'in', modules_to_remove)])
         relation_ids = ir_model_relation.search(cr, uid, [('module', 'in', modules_to_remove_ids)])
         ir_model_relation._module_data_uninstall(cr, uid, relation_ids, context)
 
index 6b2ef46..89285bd 100644 (file)
@@ -434,11 +434,7 @@ class module(osv.osv):
         including the deletion of all database structures created by the module:
         tables, columns, constraints, etc."""
         ir_model_data = self.pool.get('ir.model.data')
-        ir_model_constraint = self.pool.get('ir.model.constraint')
         modules_to_remove = [m.name for m in self.browse(cr, uid, ids, context)]
-        modules_to_remove_ids = [m.id for m in self.browse(cr, uid, ids, context)]
-        constraint_ids = ir_model_constraint.search(cr, uid, [('module', 'in', modules_to_remove_ids)])
-        ir_model_constraint._module_data_uninstall(cr, uid, constraint_ids, context)
         ir_model_data._module_data_uninstall(cr, uid, modules_to_remove, context)
         self.write(cr, uid, ids, {'state': 'uninstalled'})
         return True
@@ -489,6 +485,7 @@ class module(osv.osv):
             'params': {'menu_id': menu_ids and menu_ids[0] or False}
         }
 
+    #TODO remove me in master, not called anymore
     def button_immediate_uninstall(self, cr, uid, ids, context=None):
         """
         Uninstall the selected module(s) immediately and fully,
index 3923c9d..fb4295c 100644 (file)
@@ -78,8 +78,7 @@
                         <h2 class="oe_fade"><field name="summary"/></h2>
                         <button name="button_immediate_install" states="uninstalled" string="Install" type="object" class="oe_highlight"/>
                         <button name="button_immediate_upgrade" states="installed" string="Upgrade" type="object" class="oe_highlight"/>
-                        <button name="button_immediate_uninstall" states="installed" string="Uninstall" type="object"
-                            confirm="Do you confirm the uninstallation of this module? This will permanently erase all data currently stored by the module!"/>
+                        <button name="button_uninstall" states="installed" string="Uninstall" type="object"/>
                         <button name="button_uninstall_cancel" states="to remove" string="Cancel Uninstall" type="object"/>
                         <button name="button_upgrade_cancel" states="to upgrade" string="Cancel Upgrade" type="object"/>
                         <button name="button_install_cancel" states="to install" string="Cancel Install" type="object"/>
index b947ba5..f827c15 100644 (file)
@@ -68,6 +68,20 @@ class base_module_upgrade(osv.osv_memory):
         res = mod_obj.read(cr, uid, ids, ['name','state'], context)
         return {'module_info': '\n'.join(map(lambda x: x['name']+' : '+x['state'], res))}
 
+    def upgrade_module_cancel(self, cr, uid, ids, context=None):
+        mod_obj = self.pool.get('ir.module.module')
+        to_installed_ids = mod_obj.search(cr, uid, [
+            ('state', 'in', ['to upgrade', 'to remove'])])
+        if to_installed_ids:
+            mod_obj.write(cr, uid, to_installed_ids, {'state': 'installed'}, context=context)
+
+        to_uninstalled_ids = mod_obj.search(cr, uid, [
+            ('state', '=', 'to install')])
+        if to_uninstalled_ids:
+            mod_obj.write(cr, uid, to_uninstalled_ids, {'state': 'uninstalled'}, context=context)
+
+        return {'type': 'ir.actions.act_window_close'}
+
     def upgrade_module(self, cr, uid, ids, context=None):
         ir_module = self.pool.get('ir.module.module')
 
@@ -89,17 +103,7 @@ class base_module_upgrade(osv.osv_memory):
 
         pooler.restart_pool(cr.dbname, update_module=True)
 
-        ir_model_data = self.pool.get('ir.model.data')
-        __, res_id = ir_model_data.get_object_reference(cr, uid, 'base', 'view_base_module_upgrade_install')
-        return {
-                'view_type': 'form',
-                'view_mode': 'form',
-                'res_model': 'base.module.upgrade',
-                'views': [(res_id, 'form')],
-                'view_id': False,
-                'type': 'ir.actions.act_window',
-                'target': 'new',
-            }
+        return {'type': 'ir.actions.act_window_close'}
 
     def config(self, cr, uid, ids, context=None):
         return self.pool.get('res.config').next(cr, uid, [], context=context)
index 1a1225b..705ba31 100644 (file)
@@ -7,14 +7,15 @@
             <field name="model">base.module.upgrade</field>
             <field name="arch" type="xml">
                 <form string="System Update" version="7.0">
-                    <div><label string="Your system will be updated."/></div>
-                    <div><label string="Note that this operation might take a few minutes."/></div>
-                    <separator string="Modules to Update"/>
+                    <p>This module will trigger the uninstallation of below modules.</p>
+                    <p><strong>This operation will permanently erase all data currently stored by the modules!</strong></p>
+                    <p>If you wish to cancel the process, press the cancel button below</p>
+                    <separator string="Impacted Modules"/>
                     <field name="module_info"/>
                     <footer>
-                        <button name="upgrade_module" string="Update" type="object" class="oe_highlight"/>
+                        <button name="upgrade_module" string="Confirm" type="object" class="oe_highlight"/>
                         or
-                        <button string="Cancel" class="oe_link" special="cancel"/>
+                        <button string="Cancel" class="oe_link" name="upgrade_module_cancel" type="object"/>
                     </footer>
                 </form>
             </field>
index 1fa5b7b..42ef4ff 100644 (file)
@@ -26,6 +26,7 @@ from openerp import SUPERUSER_ID
 from openerp.osv import osv, fields
 from openerp.tools import ustr
 from openerp.tools.translate import _
+from lxml import etree
 
 _logger = logging.getLogger(__name__)
 
@@ -472,6 +473,43 @@ class res_config_settings(osv.osv_memory, res_config_module_installation_mixin):
     def copy(self, cr, uid, id, values, context=None):
         raise osv.except_osv(_("Cannot duplicate configuration!"), "")
 
+    def fields_view_get(self, cr, user, view_id=None, view_type='form',
+                        context=None, toolbar=False, submenu=False):
+        ret_val = super(res_config_settings, self).fields_view_get(
+            cr, user, view_id=view_id, view_type=view_type, context=context,
+            toolbar=toolbar, submenu=submenu)
+
+        doc = etree.XML(ret_val['arch'])
+
+        for field in ret_val['fields']:
+            if not field.startswith("module_"):
+                continue
+            for node in doc.xpath("//field[@name='%s']" % field):
+                if 'on_change' not in node.attrib:
+                    node.set("on_change",
+                    "onchange_module(%s, '%s')" % (field, field))
+
+        ret_val['arch'] = etree.tostring(doc)
+        return ret_val
+
+    def onchange_module(self, cr, uid, ids, field_value, module_name, context={}):
+        module_pool = self.pool.get('ir.module.module')
+        module_ids = module_pool.search(
+            cr, uid, [('name', '=', module_name.replace("module_", '')),
+            ('state','in', ['to install', 'installed', 'to upgrade'])],
+            context=context)
+
+        if module_ids and not field_value:
+            dep_ids = module_pool.downstream_dependencies(cr, uid, module_ids, context=context)
+            dep_name = [x.shortdesc for x  in module_pool.browse(
+                cr, uid, dep_ids + module_ids, context=context)]
+            message = '\n'.join(dep_name)
+            return {'warning': {'title': _('Warning!'),
+                    'message':
+                    _('Disabling this option will also uninstall the following modules \n%s' % message)
+                   }}
+        return {}
+
     def _get_classified_fields(self, cr, uid, context=None):
         """ return a dictionary with the fields classified by category::
 
index e17ffb3..3fa980f 100644 (file)
 "access_multi_company_default manager","multi_company_default Manager","model_multi_company_default","group_erp_manager",1,1,1,1
 "access_ir_filter all","ir_filters all","model_ir_filters",,1,1,1,1
 "access_ir_config_parameter","ir_config_parameter","model_ir_config_parameter",,1,0,0,0
+"access_ir_config_parameter_system","ir_config_parameter_system","model_ir_config_parameter","group_system",1,1,1,1
 "access_ir_mail_server","ir_mail_server","model_ir_mail_server","group_system",1,1,1,1
 "access_ir_actions_client","ir_actions_client all","model_ir_actions_client",,1,0,0,0
 "access_ir_needaction_mixin","ir_needaction_mixin","model_ir_needaction_mixin",,1,1,1,1
index 17e6147..4942136 100644 (file)
@@ -464,7 +464,7 @@ class many2one(_column):
         # we use uid=1 because the visibility of a many2one field value (just id and name)
         # must be the access right of the parent form and not the linked object itself.
         records = dict(obj.name_get(cr, SUPERUSER_ID,
-                                    list(set([x for x in res.values() if isinstance(x, (int,long))])),
+                                    list(set([x for x in res.values() if x and isinstance(x, (int,long))])),
                                     context=context))
         for id in res:
             if res[id] in records:
@@ -1142,9 +1142,17 @@ class function(_column):
         return result
 
     def get(self, cr, obj, ids, name, uid=False, context=None, values=None):
-        result = self._fnct(obj, cr, uid, ids, name, self._arg, context)
+        multi = self._multi
+        # if we already have a value, don't recompute it.
+        # This happen if case of stored many2one fields
+        if values and not multi and name in values[0]:
+            result = {v['id']: v[name] for v in values}
+        elif values and multi and all(n in values[0] for n in name):
+            result = {v['id']: dict((n, v[n]) for n in name) for v in values}
+        else:
+            result = self._fnct(obj, cr, uid, ids, name, self._arg, context)
         for id in ids:
-            if self._multi and id in result:
+            if multi and id in result:
                 for field, value in result[id].iteritems():
                     if value:
                         result[id][field] = self.postprocess(cr, uid, obj, field, value, context)
index ac9e67b..fc38169 100644 (file)
@@ -2162,7 +2162,7 @@ class BaseModel(object):
                             node.getparent().remove(node)
                     elif pos == 'attributes':
                         for child in spec.getiterator('attribute'):
-                            attribute = (child.get('name'), child.text and child.text.encode('utf8') or None)
+                            attribute = (child.get('name'), child.text or None)
                             if attribute[1]:
                                 node.set(attribute[0], attribute[1])
                             else:
@@ -3125,7 +3125,7 @@ class BaseModel(object):
                                 ('numeric', 'float', get_pg_type(f)[1], '::'+get_pg_type(f)[1]),
                                 ('float8', 'float', get_pg_type(f)[1], '::'+get_pg_type(f)[1]),
                             ]
-                            if f_pg_type == 'varchar' and f._type == 'char' and ((f.size is None and f_pg_size) or f_pg_size < f.size):
+                            if f_pg_type == 'varchar' and f._type == 'char' and f_pg_size and (f.size is None or f_pg_size < f.size):
                                 cr.execute('ALTER TABLE "%s" RENAME COLUMN "%s" TO temp_change_size' % (self._table, k))
                                 cr.execute('ALTER TABLE "%s" ADD COLUMN "%s" %s' % (self._table, k, pg_varchar(f.size)))
                                 cr.execute('UPDATE "%s" SET "%s"=temp_change_size::%s' % (self._table, k, pg_varchar(f.size)))
@@ -3694,6 +3694,8 @@ class BaseModel(object):
             return []
         if fields_to_read is None:
             fields_to_read = self._columns.keys()
+        else:
+            fields_to_read = list(set(fields_to_read))
 
         # all inherited fields + all non inherited fields for which the attribute whose name is in load is True
         fields_pre = [f for f in fields_to_read if
@@ -4067,9 +4069,13 @@ class BaseModel(object):
                 ir_values_obj.unlink(cr, uid, ir_value_ids, context=context)
 
         for order, object, store_ids, fields in result_store:
-            if object != self._name:
+            if object == self._name:
+                effective_store_ids = list(set(store_ids) - set(ids))
+            else:
+                effective_store_ids = store_ids
+            if effective_store_ids:
                 obj = self.pool.get(object)
-                cr.execute('select id from '+obj._table+' where id IN %s', (tuple(store_ids),))
+                cr.execute('select id from '+obj._table+' where id IN %s', (tuple(effective_store_ids),))
                 rids = map(lambda x: x[0], cr.fetchall())
                 if rids:
                     obj._store_set_values(cr, uid, rids, fields, context)
index 91dfc9d..70965d2 100644 (file)
@@ -104,7 +104,7 @@ class NumberedCanvas(canvas.Canvas):
         self.setFont("Helvetica", 8)
         self.drawRightString((self._pagesize[0]-30), (self._pagesize[1]-40),
             " %(this)i / %(total)i" % {
-               'this': self._pageNumber+1,
+               'this': self._pageNumber,
                'total': page_count,
             }
         )
index dbf7198..cc61407 100644 (file)
@@ -486,6 +486,7 @@ ALL_LANGUAGES = {
         'lo_LA': u'Lao / ພາສາລາວ',
         'lt_LT': u'Lithuanian / Lietuvių kalba',
         'lv_LV': u'Latvian / latviešu valoda',
+        'mk_MK': u'Macedonian / македонски јазик',
         'ml_IN': u'Malayalam / മലയാളം',
         'mn_MN': u'Mongolian / монгол',
         'nb_NO': u'Norwegian Bokmål / Norsk bokmål',