diff --git a/addons/account/account.py b/addons/account/account.py index cfba30856a9..15881100441 100644 --- a/addons/account/account.py +++ b/addons/account/account.py @@ -641,8 +641,7 @@ class account_account(osv.osv): return True def _check_allow_type_change(self, cr, uid, ids, new_type, context=None): - group1 = ['payable', 'receivable', 'other'] - group2 = ['consolidation','view'] + restricted_groups = ['consolidation','view'] line_obj = self.pool.get('account.move.line') for account in self.browse(cr, uid, ids, context=context): old_type = account.type @@ -650,14 +649,25 @@ class account_account(osv.osv): if line_obj.search(cr, uid, [('account_id', 'in', account_ids)]): #Check for 'Closed' type if old_type == 'closed' and new_type !='closed': - raise osv.except_osv(_('Warning!'), _("You cannot change the type of account from 'Closed' to any other type which contains journal items!")) - #Check for change From group1 to group2 and vice versa - if (old_type in group1 and new_type in group2) or (old_type in group2 and new_type in group1): - raise osv.except_osv(_('Warning!'), _("You cannot change the type of account from '%s' to '%s' type as it contains journal items!") % (old_type,new_type,)) + raise osv.except_osv(_('Warning !'), _("You cannot change the type of account from 'Closed' to any other type as it contains journal items!")) + # Forbid to change an account type for restricted_groups as it contains journal items (or if one of its children does) + if (new_type in restricted_groups): + raise osv.except_osv(_('Warning !'), _("You cannot change the type of account to '%s' type as it contains journal items!") % (new_type,)) + + return True + + # For legal reason (forbiden to modify journal entries which belongs to a closed fy or period), Forbid to modify + # the code of an account if journal entries have been already posted on this account. This cannot be simply + # 'configurable' since it can lead to a lack of confidence in OpenERP and this is what we want to change. + def _check_allow_code_change(self, cr, uid, ids, context=None): + line_obj = self.pool.get('account.move.line') + for account in self.browse(cr, uid, ids, context=context): + account_ids = self.search(cr, uid, [('id', 'child_of', [account.id])], context=context) + if line_obj.search(cr, uid, [('account_id', 'in', account_ids)], context=context): + raise osv.except_osv(_('Warning !'), _("You cannot change the code of account which contains journal items!")) return True def write(self, cr, uid, ids, vals, context=None): - if context is None: context = {} if not ids: @@ -677,6 +687,8 @@ class account_account(osv.osv): self._check_moves(cr, uid, ids, "write", context=context) if 'type' in vals.keys(): self._check_allow_type_change(cr, uid, ids, vals['type'], context=context) + if 'code' in vals.keys(): + self._check_allow_code_change(cr, uid, ids, context=context) return super(account_account, self).write(cr, uid, ids, vals, context=context) def unlink(self, cr, uid, ids, context=None): @@ -1470,6 +1482,11 @@ class account_move(osv.osv): raise osv.except_osv(_('User Error!'), _('You cannot delete a posted journal entry "%s".') % \ move['name']) + for line in move.line_id: + if line.invoice: + raise osv.except_osv(_('User Error!'), + _("Move cannot be deleted if linked to an invoice. (Invoice: %s - Move ID:%s)") % \ + (line.invoice.number,move.name)) line_ids = map(lambda x: x.id, move.line_id) context['journal_id'] = move.journal_id.id context['period_id'] = move.period_id.id @@ -1678,11 +1695,41 @@ class account_move_reconcile(osv.osv): 'line_id': fields.one2many('account.move.line', 'reconcile_id', 'Entry Lines'), 'line_partial_ids': fields.one2many('account.move.line', 'reconcile_partial_id', 'Partial Entry lines'), 'create_date': fields.date('Creation date', readonly=True), + 'opening_reconciliation': fields.boolean('Opening Entries Reconciliation', help="Is this reconciliation produced by the opening of a new fiscal year ?."), } _defaults = { 'name': lambda self,cr,uid,ctx=None: self.pool.get('ir.sequence').get(cr, uid, 'account.reconcile', context=ctx) or '/', } + + # You cannot unlink a reconciliation if it is a opening_reconciliation one, + # you should use the generate opening entries wizard for that + def unlink(self, cr, uid, ids, context=None): + for move_rec in self.browse(cr, uid, ids, context=context): + if move_rec.opening_reconciliation: + raise osv.except_osv(_('Error!'), _('You cannot unreconcile journal items if they has been generated by the \ + opening/closing fiscal year process.')) + return super(account_move_reconcile, self).unlink(cr, uid, ids, context=context) + + # Look in the line_id and line_partial_ids to ensure the partner is the same or empty + # on all lines. We allow that only for opening/closing period + def _check_same_partner(self, cr, uid, ids, context=None): + for reconcile in self.browse(cr, uid, ids, context=context): + move_lines = [] + if not reconcile.opening_reconciliation: + if reconcile.line_id: + first_partner = reconcile.line_id[0].partner_id.id + move_lines = reconcile.line_id + elif reconcile.line_partial_ids: + first_partner = reconcile.line_partial_ids[0].partner_id.id + move_lines = reconcile.line_partial_ids + if any([line.partner_id.id != first_partner for line in move_lines]): + return False + return True + _constraints = [ + (_check_same_partner, 'You can only reconcile journal items with the same partner.', ['line_id']), + ] + def reconcile_partial_check(self, cr, uid, ids, type='auto', context=None): total = 0.0 for rec in self.browse(cr, uid, ids, context=context): diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py index 4422537007f..e7e3f740067 100644 --- a/addons/account/account_bank_statement.py +++ b/addons/account/account_bank_statement.py @@ -311,7 +311,7 @@ class account_bank_statement(osv.osv): 'statement_id': st_line.statement_id.id, 'journal_id': st_line.statement_id.journal_id.id, 'period_id': st_line.statement_id.period_id.id, - 'currency_id': cur_id, + 'currency_id': amount_currency and cur_id, 'amount_currency': amount_currency, 'analytic_account_id': analytic_id, } diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py index b0671e501ae..6804d5116f1 100644 --- a/addons/account/account_invoice.py +++ b/addons/account/account_invoice.py @@ -457,7 +457,7 @@ class account_invoice(osv.osv): invoice_addr_id = res['invoice'] p = self.pool.get('res.partner').browse(cr, uid, partner_id) if company_id: - if p.property_account_receivable.company_id.id != company_id and p.property_account_payable.company_id.id != company_id: + if (p.property_account_receivable.company_id and (p.property_account_receivable.company_id.id != company_id)) and (p.property_account_payable.company_id and (p.property_account_payable.company_id.id != company_id)): property_obj = self.pool.get('ir.property') rec_pro_id = property_obj.search(cr,uid,[('name','=','property_account_receivable'),('res_id','=','res.partner,'+str(partner_id)+''),('company_id','=',company_id)]) pay_pro_id = property_obj.search(cr,uid,[('name','=','property_account_payable'),('res_id','=','res.partner,'+str(partner_id)+''),('company_id','=',company_id)]) @@ -958,9 +958,14 @@ class account_invoice(osv.osv): }) date = inv.date_invoice or time.strftime('%Y-%m-%d') - part = inv.partner_id.id - line = map(lambda x:(0,0,self.line_get_convert(cr, uid, x, part, date, context=ctx)),iml) + #if the chosen partner is not a company and has a parent company, use the parent for the journal entries + #because you want to invoice 'Agrolait, accounting department' but the journal items are for 'Agrolait' + part = inv.partner_id + if part.parent_id and not part.is_company: + part = part.parent_id + + line = map(lambda x:(0,0,self.line_get_convert(cr, uid, x, part.id, date, context=ctx)),iml) line = self.group_lines(cr, uid, iml, line, inv) @@ -1068,8 +1073,9 @@ class account_invoice(osv.osv): self.message_post(cr, uid, [inv_id], body=message, context=context) return True - def action_cancel(self, cr, uid, ids, *args): - context = {} # TODO: Use context from arguments + def action_cancel(self, cr, uid, ids, context=None): + if context is None: + context = {} account_move_obj = self.pool.get('account.move') invoices = self.read(cr, uid, ids, ['move_id', 'payment_ids']) move_ids = [] # ones that we will need to remove @@ -1239,12 +1245,15 @@ class account_invoice(osv.osv): ref = invoice.reference else: ref = self._convert_ref(cr, uid, invoice.number) + partner = invoice.partner_id + if partner.parent_id and not partner.is_company: + partner = partner.parent_id # Pay attention to the sign for both debit/credit AND amount_currency l1 = { 'debit': direction * pay_amount>0 and direction * pay_amount, 'credit': direction * pay_amount<0 and - direction * pay_amount, 'account_id': src_account_id, - 'partner_id': invoice.partner_id.id, + 'partner_id': partner.id, 'ref':ref, 'date': date, 'currency_id':currency_id, @@ -1255,7 +1264,7 @@ class account_invoice(osv.osv): 'debit': direction * pay_amount<0 and - direction * pay_amount, 'credit': direction * pay_amount>0 and direction * pay_amount, 'account_id': pay_account_id, - 'partner_id': invoice.partner_id.id, + 'partner_id': partner.id, 'ref':ref, 'date': date, 'currency_id':currency_id, diff --git a/addons/account/account_invoice_view.xml b/addons/account/account_invoice_view.xml index 1ccc06926d8..48fec608195 100644 --- a/addons/account/account_invoice_view.xml +++ b/addons/account/account_invoice_view.xml @@ -61,7 +61,7 @@ - + @@ -95,7 +95,7 @@ - + @@ -199,7 +199,7 @@ domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '!=', 'view')]" on_change="onchange_account_id(product_id, parent.partner_id, parent.type, parent.fiscal_position,account_id)"/> + domain="[('type','!=','view'), ('company_id', '=', parent.company_id)]"/> @@ -229,7 +229,7 @@ - + @@ -354,7 +354,7 @@ domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '!=', 'view')]" on_change="onchange_account_id(product_id, parent.partner_id, parent.type, parent.fiscal_position,account_id)"/> + domain="[('type','!=','view'), ('company_id', '=', parent.company_id)]"/> @@ -435,7 +435,7 @@
- +
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py index 302a74c27af..3b2fe21d95b 100644 --- a/addons/account/account_move_line.py +++ b/addons/account/account_move_line.py @@ -166,28 +166,35 @@ class account_move_line(osv.osv): del data[f] return data + def _prepare_analytic_line(self, cr, uid, obj_line, context=None): + """ + Prepare the values given at the create() of account.analytic.line upon the validation of a journal item having + an analytic account. This method is intended to be extended in other modules. + + :param obj_line: browse record of the account.move.line that triggered the analytic line creation + """ + return {'name': obj_line.name, + 'date': obj_line.date, + 'account_id': obj_line.analytic_account_id.id, + 'unit_amount': obj_line.quantity, + 'product_id': obj_line.product_id and obj_line.product_id.id or False, + 'product_uom_id': obj_line.product_uom_id and obj_line.product_uom_id.id or False, + 'amount': (obj_line.credit or 0.0) - (obj_line.debit or 0.0), + 'general_account_id': obj_line.account_id.id, + 'journal_id': obj_line.journal_id.analytic_journal_id.id, + 'ref': obj_line.ref, + 'move_id': obj_line.id, + 'user_id': uid, + } + def create_analytic_lines(self, cr, uid, ids, context=None): acc_ana_line_obj = self.pool.get('account.analytic.line') for obj_line in self.browse(cr, uid, ids, context=context): if obj_line.analytic_account_id: if not obj_line.journal_id.analytic_journal_id: raise osv.except_osv(_('No Analytic Journal !'),_("You have to define an analytic journal on the '%s' journal!") % (obj_line.journal_id.name, )) - amt = (obj_line.credit or 0.0) - (obj_line.debit or 0.0) - vals_lines = { - 'name': obj_line.name, - 'date': obj_line.date, - 'account_id': obj_line.analytic_account_id.id, - 'unit_amount': obj_line.quantity, - 'product_id': obj_line.product_id and obj_line.product_id.id or False, - 'product_uom_id': obj_line.product_uom_id and obj_line.product_uom_id.id or False, - 'amount': amt, - 'general_account_id': obj_line.account_id.id, - 'journal_id': obj_line.journal_id.analytic_journal_id.id, - 'ref': obj_line.ref, - 'move_id': obj_line.id, - 'user_id': uid - } - acc_ana_line_obj.create(cr, uid, vals_lines) + vals_line = self._prepare_analytic_line(cr, uid, obj_line, context=context) + acc_ana_line_obj.create(cr, uid, vals_line) return True def _default_get_move_form_hook(self, cursor, user, data): @@ -613,12 +620,34 @@ class account_move_line(osv.osv): return False return True + def _check_currency_and_amount(self, cr, uid, ids, context=None): + for l in self.browse(cr, uid, ids, context=context): + if (l.amount_currency and not l.currency_id): + return False + return True + + def _check_currency_amount(self, cr, uid, ids, context=None): + for l in self.browse(cr, uid, ids, context=context): + if l.amount_currency: + if (l.amount_currency > 0.0 and l.credit > 0.0) or (l.amount_currency < 0.0 and l.debit > 0.0): + return False + return True + + def _check_currency_company(self, cr, uid, ids, context=None): + for l in self.browse(cr, uid, ids, context=context): + if l.currency_id.id == l.company_id.currency_id.id: + return False + return True + _constraints = [ (_check_no_view, 'You cannot create journal items on an account of type view.', ['account_id']), (_check_no_closed, 'You cannot create journal items on closed account.', ['account_id']), (_check_company_id, 'Account and Period must belong to the same company.', ['company_id']), (_check_date, 'The date of your Journal Entry is not in the defined period! You should change the date or remove this constraint from the journal.', ['date']), (_check_currency, 'The selected account of your Journal Entry forces to provide a secondary currency. You should remove the secondary currency on the account or select a multi-currency view on the journal.', ['currency_id']), + (_check_currency_and_amount, "You cannot create journal items with a secondary currency without recording both 'currency' and 'amount currency' field.", ['currency_id','amount_currency']), + (_check_currency_amount, 'The amount expressed in the secondary currency must be positif when journal item are debit and negatif when journal item are credit.', ['amount_currency']), + (_check_currency_company, "You cannot provide a secondary currency if it is the same than the company one." , ['currency_id']), ] #TODO: ONCHANGE_ACCOUNT_ID: set account_tax_id @@ -1104,7 +1133,7 @@ class account_move_line(osv.osv): 'has been confirmed.') % res[2]) return res - def _remove_move_reconcile(self, cr, uid, move_ids=None, context=None): + def _remove_move_reconcile(self, cr, uid, move_ids=None, opening_reconciliation=False, context=None): # Function remove move rencocile ids related with moves obj_move_line = self.pool.get('account.move.line') obj_move_rec = self.pool.get('account.move.reconcile') @@ -1119,6 +1148,8 @@ class account_move_line(osv.osv): unlink_ids += rec_ids unlink_ids += part_rec_ids if unlink_ids: + if opening_reconciliation: + obj_move_rec.write(cr, uid, unlink_ids, {'opening_reconciliation': False}) obj_move_rec.unlink(cr, uid, unlink_ids) return True diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index f7d64f43405..7732d8d8cb0 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -1227,6 +1227,7 @@ account.move.line + @@ -1717,8 +1718,8 @@ + action="action_model_form" name="Models" id="menu_action_model_form" sequence="5" + parent="account.menu_finance_recurrent_entries"/> - + + --> diff --git a/addons/auth_oauth/i18n/zh_CN.po b/addons/auth_oauth/i18n/zh_CN.po new file mode 100644 index 00000000000..f8c15e694f9 --- /dev/null +++ b/addons/auth_oauth/i18n/zh_CN.po @@ -0,0 +1,150 @@ +# Chinese (Simplified) translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-28 14:27+0000\n" +"Last-Translator: ccdos \n" +"Language-Team: Chinese (Simplified) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: auth_oauth +#: field:auth.oauth.provider,validation_endpoint:0 +msgid "Validation URL" +msgstr "验证 URL" + +#. module: auth_oauth +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "两个用户不能使用相同的用户名!" + +#. module: auth_oauth +#: field:auth.oauth.provider,auth_endpoint:0 +msgid "Authentication URL" +msgstr "身份验证URL" + +#. module: auth_oauth +#: model:ir.model,name:auth_oauth.model_base_config_settings +msgid "base.config.settings" +msgstr "base.config.settings" + +#. module: auth_oauth +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "选择的公司不属于此用户允许访问的公司。" + +#. module: auth_oauth +#: field:auth.oauth.provider,scope:0 +msgid "Scope" +msgstr "作用域" + +#. module: auth_oauth +#: field:res.users,oauth_provider_id:0 +msgid "OAuth Provider" +msgstr "OAuth Provider" + +#. module: auth_oauth +#: field:auth.oauth.provider,css_class:0 +msgid "CSS class" +msgstr "CSS class" + +#. module: auth_oauth +#: field:auth.oauth.provider,body:0 +msgid "Body" +msgstr "正文" + +#. module: auth_oauth +#: model:ir.model,name:auth_oauth.model_res_users +msgid "Users" +msgstr "用户" + +#. module: auth_oauth +#: field:auth.oauth.provider,sequence:0 +msgid "unknown" +msgstr "未知" + +#. module: auth_oauth +#: field:res.users,oauth_access_token:0 +msgid "OAuth Access Token" +msgstr "OAuth 访问令牌" + +#. module: auth_oauth +#: field:auth.oauth.provider,client_id:0 +#: field:base.config.settings,auth_oauth_facebook_client_id:0 +#: field:base.config.settings,auth_oauth_google_client_id:0 +msgid "Client ID" +msgstr "Client ID" + +#. module: auth_oauth +#: model:ir.ui.menu,name:auth_oauth.menu_oauth_providers +msgid "OAuth Providers" +msgstr "OAuth Providers" + +#. module: auth_oauth +#: model:ir.model,name:auth_oauth.model_auth_oauth_provider +msgid "OAuth2 provider" +msgstr "OAuth2 provider" + +#. module: auth_oauth +#: field:res.users,oauth_uid:0 +msgid "OAuth User ID" +msgstr "OAuth User ID" + +#. module: auth_oauth +#: field:base.config.settings,auth_oauth_facebook_enabled:0 +msgid "Allow users to sign in with Facebook" +msgstr "允许用户用Facebook登录" + +#. module: auth_oauth +#: sql_constraint:res.users:0 +msgid "OAuth UID must be unique per provider" +msgstr "OAuth UID必须是每个提供者( provider )唯一的" + +#. module: auth_oauth +#: help:res.users,oauth_uid:0 +msgid "Oauth Provider user_id" +msgstr "Oauth Provider user_id" + +#. module: auth_oauth +#: field:auth.oauth.provider,data_endpoint:0 +msgid "Data URL" +msgstr "数据URL" + +#. module: auth_oauth +#: view:auth.oauth.provider:0 +msgid "arch" +msgstr "arch" + +#. module: auth_oauth +#: field:auth.oauth.provider,name:0 +msgid "Provider name" +msgstr "Provider 名称" + +#. module: auth_oauth +#: model:ir.actions.act_window,name:auth_oauth.action_oauth_provider +msgid "Providers" +msgstr "Providers" + +#. module: auth_oauth +#: field:base.config.settings,auth_oauth_google_enabled:0 +msgid "Allow users to sign in with Google" +msgstr "允许用户通过google登录" + +#. module: auth_oauth +#: constraint:res.users:0 +msgid "Error: Invalid ean code" +msgstr "错误:无效的(EAN)条码" + +#. module: auth_oauth +#: field:auth.oauth.provider,enabled:0 +msgid "Allowed" +msgstr "允许" diff --git a/addons/auth_oauth/res_users.py b/addons/auth_oauth/res_users.py index 7e7b3753a4e..b1c7e214f12 100644 --- a/addons/auth_oauth/res_users.py +++ b/addons/auth_oauth/res_users.py @@ -45,6 +45,25 @@ class res_users(osv.Model): validation.update(data) return validation + def _auth_oauth_signin(self, cr, uid, provider, validation, params, context=None): + """ retrieve and sign in the user corresponding to provider and validated access token + :param provider: oauth provider id (int) + :param validation: result of validation of access token (dict) + :param params: oauth parameters (dict) + :return: user login (str) + :raise: openerp.exceptions.AccessDenied if signin failed + + This method can be overridden to add alternative signin methods. + """ + oauth_uid = validation['user_id'] + user_ids = self.search(cr, uid, [("oauth_uid", "=", oauth_uid), ('oauth_provider_id', '=', provider)]) + if not user_ids: + raise openerp.exceptions.AccessDenied() + assert len(user_ids) == 1 + user = self.browse(cr, uid, user_ids[0], context=context) + user.write({'oauth_access_token': params['access_token']}) + return user.login + def auth_oauth(self, cr, uid, provider, params, context=None): # Advice by Google (to avoid Confused Deputy Problem) # if validation.audience != OUR_CLIENT_ID: @@ -53,39 +72,15 @@ class res_users(osv.Model): # continue with the process access_token = params.get('access_token') validation = self._auth_oauth_validate(cr, uid, provider, access_token) - # required - oauth_uid = validation['user_id'] - if not oauth_uid: + # required check + if not validation.get('user_id'): raise openerp.exceptions.AccessDenied() - email = validation.get('email', 'provider_%d_user_%d' % (provider, oauth_uid)) - login = email - # optional - name = validation.get('name', email) - res = self.search(cr, uid, [("oauth_uid", "=", oauth_uid), ('oauth_provider_id', '=', provider)]) - if res: - assert len(res) == 1 - user = self.browse(cr, uid, res[0], context=context) - login = user.login - user.write({'oauth_access_token': access_token}) - else: - # New user if signup module available - if not hasattr(self, '_signup_create_user'): - raise openerp.exceptions.AccessDenied() - - new_user = { - 'name': name, - 'login': login, - 'user_email': email, - 'oauth_provider_id': provider, - 'oauth_uid': oauth_uid, - 'oauth_access_token': access_token, - 'active': True, - } - # TODO pass signup token to allow attach new user to right partner - self._signup_create_user(cr, uid, new_user) - - credentials = (cr.dbname, login, access_token) - return credentials + # retrieve and sign in user + login = self._auth_oauth_signin(cr, uid, provider, validation, params, context=context) + if not login: + raise openerp.exceptions.AccessDenied() + # return user credentials + return (cr.dbname, login, access_token) def check_credentials(self, cr, uid, password): try: diff --git a/addons/auth_oauth/static/src/css/auth_oauth.css b/addons/auth_oauth/static/src/css/auth_oauth.css index ed6130e3123..0489229042a 100644 --- a/addons/auth_oauth/static/src/css/auth_oauth.css +++ b/addons/auth_oauth/static/src/css/auth_oauth.css @@ -9,7 +9,6 @@ } .openerp a.zocial.openerp { - float: right; border: 1px solid #222222; color: white; margin: 0; diff --git a/addons/auth_oauth/static/src/js/auth_oauth.js b/addons/auth_oauth/static/src/js/auth_oauth.js index 2aa66877d42..c24dab3d55a 100644 --- a/addons/auth_oauth/static/src/js/auth_oauth.js +++ b/addons/auth_oauth/static/src/js/auth_oauth.js @@ -35,27 +35,33 @@ openerp.auth_oauth = function(instance) { on_oauth_sign_in: function(ev) { ev.preventDefault(); var index = $(ev.target).data('index'); - var p = this.oauth_providers[index]; - var ret = _.str.sprintf('%s//%s/auth_oauth/signin', location.protocol, location.host); + var provider = this.oauth_providers[index]; + return this.do_oauth_sign_in(provider); + }, + do_oauth_sign_in: function(provider) { + var return_url = _.str.sprintf('%s//%s/auth_oauth/signin', location.protocol, location.host); if (instance.session.debug) { - ret += '?debug'; + return_url += '?debug'; } - var dbname = self.$("form [name=db]").val(); - var state_object = { - d: dbname, - p: p.id - }; - var state = JSON.stringify(state_object); + var state = this._oauth_state(provider); var params = { response_type: 'token', - client_id: p.client_id, - redirect_uri: ret, - scope: p.scope, - state: state, + client_id: provider.client_id, + redirect_uri: return_url, + scope: provider.scope, + state: JSON.stringify(state), }; - var url = p.auth_endpoint + '?' + $.param(params); + var url = provider.auth_endpoint + '?' + $.param(params); window.location = url; }, + _oauth_state: function(provider) { + // return the state object sent back with the redirected uri + var dbname = this.$("form [name=db]").val(); + return { + d: dbname, + p: provider.id, + }; + }, }); }; diff --git a/addons/portal_crm/wizard/__init__.py b/addons/auth_oauth_signup/__init__.py similarity index 79% rename from addons/portal_crm/wizard/__init__.py rename to addons/auth_oauth_signup/__init__.py index 92b3ac62321..bc40c87d118 100644 --- a/addons/portal_crm/wizard/__init__.py +++ b/addons/auth_oauth_signup/__init__.py @@ -2,21 +2,21 @@ ############################################################################## # # OpenERP, Open Source Management Solution -# Copyright (C) 2004-2011 OpenERP S.A (). +# Copyright (C) 2012-today OpenERP SA () # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as # published by the Free Software Foundation, either version 3 of the -# License, or (at your option) any later version. +# License, or (at your option) any later version # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU Affero General Public License for more details. +# GNU Affero General Public License for more details # # You should have received a copy of the GNU Affero General Public License -# along with this program. If not, see . +# along with this program. If not, see # ############################################################################## -import contact +import res_users diff --git a/addons/auth_oauth_signup/__openerp__.py b/addons/auth_oauth_signup/__openerp__.py new file mode 100644 index 00000000000..1e5767065a4 --- /dev/null +++ b/addons/auth_oauth_signup/__openerp__.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2010-2012 OpenERP SA (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +{ + 'name': 'Signup with OAuth2 Authentication', + 'version': '1.0', + 'category': 'Hidden', + 'description': """ +Allow users to sign up through OAuth2 Provider. +=============================================== +""", + 'author': 'OpenERP SA', + 'website': 'http://www.openerp.com', + 'depends': ['auth_oauth', 'auth_signup'], + 'data': [], + 'js': ['static/src/js/auth_oauth_signup.js'], + 'css': [], + 'qweb': [], + 'installable': True, + 'auto_install': True, +} diff --git a/addons/auth_oauth_signup/res_users.py b/addons/auth_oauth_signup/res_users.py new file mode 100644 index 00000000000..83400f7c008 --- /dev/null +++ b/addons/auth_oauth_signup/res_users.py @@ -0,0 +1,55 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2010-2012 OpenERP SA (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +import logging +import simplejson + +import openerp +from openerp.osv import osv, fields + +_logger = logging.getLogger(__name__) + +class res_users(osv.Model): + _inherit = 'res.users' + + def _auth_oauth_signin(self, cr, uid, provider, validation, params, context=None): + # overridden to use signup method if regular oauth signin fails + try: + login = super(res_users, self)._auth_oauth_signin(cr, uid, provider, validation, params, context=context) + + except openerp.exceptions.AccessDenied: + state = simplejson.loads(params['state']) + token = state.get('t') + oauth_uid = validation['user_id'] + email = validation.get('email', 'provider_%d_user_%d' % (provider, oauth_uid)) + name = validation.get('name', email) + values = { + 'name': name, + 'login': email, + 'email': email, + 'oauth_provider_id': provider, + 'oauth_uid': oauth_uid, + 'oauth_access_token': params['access_token'], + 'active': True, + } + _, login, _ = self.signup(cr, uid, values, token, context=context) + + return login diff --git a/addons/auth_oauth_signup/static/src/js/auth_oauth_signup.js b/addons/auth_oauth_signup/static/src/js/auth_oauth_signup.js new file mode 100644 index 00000000000..6715943af9b --- /dev/null +++ b/addons/auth_oauth_signup/static/src/js/auth_oauth_signup.js @@ -0,0 +1,14 @@ +openerp.auth_oauth_signup = function(instance) { + + // override Login._oauth_state to add the signup token in the state + instance.web.Login.include({ + _oauth_state: function(provider) { + var state = this._super.apply(this, arguments); + if (this.params.token) { + state.t = this.params.token; + } + return state; + }, + }); + +}; diff --git a/addons/auth_openid/i18n/tr.po b/addons/auth_openid/i18n/tr.po index 819e2c90be6..4388e70ee46 100644 --- a/addons/auth_openid/i18n/tr.po +++ b/addons/auth_openid/i18n/tr.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-09 22:49+0000\n" +"PO-Revision-Date: 2012-11-27 22:07+0000\n" "Last-Translator: Ahmet Altınışık \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:32+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" +"X-Generator: Launchpad (build 16309)\n" #. module: auth_openid #. openerp-web @@ -69,7 +69,7 @@ msgstr "" #. module: auth_openid #: sql_constraint:res.users:0 msgid "OAuth UID must be unique per provider" -msgstr "" +msgstr "OAuth UID her sağlayıcı için tekil olmalı" #. module: auth_openid #: field:res.users,openid_key:0 @@ -79,7 +79,7 @@ msgstr "OpenID Anahtarı" #. module: auth_openid #: constraint:res.users:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "Hata: Geçersiz EAN barkodu" #. module: auth_openid #: constraint:res.users:0 @@ -94,7 +94,7 @@ msgstr "OpenID E-posta" #. module: auth_openid #: model:ir.model,name:auth_openid.model_res_users msgid "Users" -msgstr "" +msgstr "Kullanıcılar" #. module: auth_openid #. openerp-web diff --git a/addons/auth_reset_password/i18n/it.po b/addons/auth_reset_password/i18n/it.po new file mode 100644 index 00000000000..c330056fe66 --- /dev/null +++ b/addons/auth_reset_password/i18n/it.po @@ -0,0 +1,74 @@ +# Italian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-28 19:58+0000\n" +"Last-Translator: Davide Corio - agilebg.com \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: auth_reset_password +#: model:email.template,body_html:auth_reset_password.reset_password_email +msgid "" +"\n" +"

A password reset was requested for the OpenERP account linked to this " +"email.

\n" +"\n" +"

You may change your password following this link.

\n" +"\n" +"

Note: If you did not ask for a password reset, you can safely ignore this " +"email.

" +msgstr "" + +#. module: auth_reset_password +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "Non è possibile avere due utenti con lo stesso login!" + +#. module: auth_reset_password +#: model:ir.model,name:auth_reset_password.model_res_users +msgid "Users" +msgstr "Utenti" + +#. module: auth_reset_password +#: sql_constraint:res.users:0 +msgid "OAuth UID must be unique per provider" +msgstr "il UID OAuth deve essere unico per provider" + +#. module: auth_reset_password +#: view:res.users:0 +msgid "Reset Password" +msgstr "Reimposta Password" + +#. module: auth_reset_password +#: model:email.template,subject:auth_reset_password.reset_password_email +msgid "Password reset" +msgstr "Ripristino password" + +#. module: auth_reset_password +#: constraint:res.users:0 +msgid "Error: Invalid ean code" +msgstr "Errore: codice EAN non valido" + +#. module: auth_reset_password +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "L'azienda scelta non è fra le aziende abilitate per questo utente" + +#. module: auth_reset_password +#. openerp-web +#: code:addons/auth_reset_password/static/src/xml/reset_password.xml:7 +#, python-format +msgid "Reset password" +msgstr "Reimposta password" diff --git a/addons/auth_reset_password/i18n/tr.po b/addons/auth_reset_password/i18n/tr.po new file mode 100644 index 00000000000..3feaf33754c --- /dev/null +++ b/addons/auth_reset_password/i18n/tr.po @@ -0,0 +1,83 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-27 22:15+0000\n" +"Last-Translator: Ahmet Altınışık \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" +"X-Generator: Launchpad (build 16309)\n" + +#. module: auth_reset_password +#: model:email.template,body_html:auth_reset_password.reset_password_email +msgid "" +"\n" +"

A password reset was requested for the OpenERP account linked to this " +"email.

\n" +"\n" +"

You may change your password following this link.

\n" +"\n" +"

Note: If you did not ask for a password reset, you can safely ignore this " +"email.

" +msgstr "" +"\n" +"

Bu epostayla ilişkili OpenERP hesabı için bir parola sıfırlama isteği " +"istendi.

\n" +"\n" +"

Şifrenizi şu adresten değiştirebilirsiniz. this link.

\n" +"\n" +"

Not: Eğer bu parola değiştirme isteğini siz yapmadıysanız bu mesajı " +"görmezden gelebilirsiniz.

" + +#. module: auth_reset_password +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "Aynı kullanıcı adı ile iki kullanıcı oluşturamazsınız !" + +#. module: auth_reset_password +#: model:ir.model,name:auth_reset_password.model_res_users +msgid "Users" +msgstr "Kullanıcılar" + +#. module: auth_reset_password +#: sql_constraint:res.users:0 +msgid "OAuth UID must be unique per provider" +msgstr "OAuth UID her sağlayıcı için tekil olmalı" + +#. module: auth_reset_password +#: view:res.users:0 +msgid "Reset Password" +msgstr "Parolayı Sıfırla" + +#. module: auth_reset_password +#: model:email.template,subject:auth_reset_password.reset_password_email +msgid "Password reset" +msgstr "Parola sıfırlandı" + +#. module: auth_reset_password +#: constraint:res.users:0 +msgid "Error: Invalid ean code" +msgstr "Hata: Geçersiz EAN barkodu" + +#. module: auth_reset_password +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "Seçilen şirket bu kullanıcı için izin verilen şirketler arasında yok" + +#. module: auth_reset_password +#. openerp-web +#: code:addons/auth_reset_password/static/src/xml/reset_password.xml:7 +#, python-format +msgid "Reset password" +msgstr "Parolayı sıfırla" diff --git a/addons/auth_reset_password/i18n/zh_CN.po b/addons/auth_reset_password/i18n/zh_CN.po new file mode 100644 index 00000000000..ee06973b4c6 --- /dev/null +++ b/addons/auth_reset_password/i18n/zh_CN.po @@ -0,0 +1,78 @@ +# Chinese (Simplified) translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-28 07:14+0000\n" +"Last-Translator: ccdos \n" +"Language-Team: Chinese (Simplified) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: auth_reset_password +#: model:email.template,body_html:auth_reset_password.reset_password_email +msgid "" +"\n" +"

A password reset was requested for the OpenERP account linked to this " +"email.

\n" +"\n" +"

You may change your password following this link.

\n" +"\n" +"

Note: If you did not ask for a password reset, you can safely ignore this " +"email.

" +msgstr "" +"\n" +"一个关联到这个Email地址的Openerp帐号请求复位密码。\n" +"你可以修改你的密码通过下面这个链接 。\n" +"提醒:如果你没请求复位密码,请忽略这封邮件。" + +#. module: auth_reset_password +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "两个用户不能使用相同的用户名!" + +#. module: auth_reset_password +#: model:ir.model,name:auth_reset_password.model_res_users +msgid "Users" +msgstr "用户" + +#. module: auth_reset_password +#: sql_constraint:res.users:0 +msgid "OAuth UID must be unique per provider" +msgstr "OAuth UID必须是每个提供者唯一的" + +#. module: auth_reset_password +#: view:res.users:0 +msgid "Reset Password" +msgstr "重置密码" + +#. module: auth_reset_password +#: model:email.template,subject:auth_reset_password.reset_password_email +msgid "Password reset" +msgstr "重置密码" + +#. module: auth_reset_password +#: constraint:res.users:0 +msgid "Error: Invalid ean code" +msgstr "错误:无效的(EAN)条码" + +#. module: auth_reset_password +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "选择的公司不属于此用户允许访问的公司。" + +#. module: auth_reset_password +#. openerp-web +#: code:addons/auth_reset_password/static/src/xml/reset_password.xml:7 +#, python-format +msgid "Reset password" +msgstr "重设密码" diff --git a/addons/auth_reset_password/res_users.py b/addons/auth_reset_password/res_users.py index b1039031812..cfac20c76f9 100644 --- a/addons/auth_reset_password/res_users.py +++ b/addons/auth_reset_password/res_users.py @@ -21,6 +21,7 @@ from openerp.osv import osv, fields from openerp.tools.misc import DEFAULT_SERVER_DATETIME_FORMAT +from openerp.tools.translate import _ from datetime import datetime, timedelta @@ -54,6 +55,8 @@ class res_users(osv.osv): template = self.pool.get('ir.model.data').get_object(cr, uid, 'auth_reset_password', 'reset_password_email') assert template._name == 'email.template' for user in self.browse(cr, uid, ids, context): + if not user.email: + raise osv.except_osv(_("Cannot send email: user has no email address."), user.name) self.pool.get('email.template').send_mail(cr, uid, template.id, user.id, context=context) return True diff --git a/addons/auth_reset_password/res_users_view.xml b/addons/auth_reset_password/res_users_view.xml index 9952162ae65..628e95b6ff9 100644 --- a/addons/auth_reset_password/res_users_view.xml +++ b/addons/auth_reset_password/res_users_view.xml @@ -7,11 +7,17 @@ res.users +
-
+ + + {} +
diff --git a/addons/auth_signup/__openerp__.py b/addons/auth_signup/__openerp__.py index 9cbeb60638f..235ac047346 100644 --- a/addons/auth_signup/__openerp__.py +++ b/addons/auth_signup/__openerp__.py @@ -37,6 +37,5 @@ Allow users to sign up. 'res_users_view.xml', ], 'js': ['static/src/js/auth_signup.js'], - 'css' : ['static/src/css/base.css'], 'qweb': ['static/src/xml/auth_signup.xml'], } diff --git a/addons/auth_signup/i18n/zh_CN.po b/addons/auth_signup/i18n/zh_CN.po new file mode 100644 index 00000000000..20b4ca05e9c --- /dev/null +++ b/addons/auth_signup/i18n/zh_CN.po @@ -0,0 +1,170 @@ +# Chinese (Simplified) translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-28 16:52+0000\n" +"Last-Translator: ccdos \n" +"Language-Team: Chinese (Simplified) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: auth_signup +#: field:base.config.settings,auth_signup_uninvited:0 +msgid "Allow external users to sign up" +msgstr "允许外部用户登录" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:15 +#, python-format +msgid "Confirm Password" +msgstr "确认密码" + +#. module: auth_signup +#: model:ir.model,name:auth_signup.model_base_config_settings +msgid "base.config.settings" +msgstr "base.config.settings" + +#. module: auth_signup +#: field:base.config.settings,auth_signup_template_user_id:0 +msgid "Template user for new users created through signup" +msgstr "用作通过注册创建的新用户的模版" + +#. module: auth_signup +#: constraint:res.users:0 +msgid "The chosen company is not in the allowed companies for this user" +msgstr "选择的公司不属于此用户允许访问的公司。" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:23 +#, python-format +msgid "Sign Up" +msgstr "注册" + +#. module: auth_signup +#: selection:res.users,state:0 +msgid "New" +msgstr "新建" + +#. module: auth_signup +#: field:res.users,state:0 +msgid "Status" +msgstr "状态" + +#. module: auth_signup +#: model:ir.model,name:auth_signup.model_res_users +msgid "Users" +msgstr "用户" + +#. module: auth_signup +#: field:res.partner,signup_url:0 +msgid "Signup URL" +msgstr "注册 URL" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:20 +#, python-format +msgid "Sign in" +msgstr "登录" + +#. module: auth_signup +#: selection:res.users,state:0 +msgid "Active" +msgstr "启用" + +#. module: auth_signup +#: help:base.config.settings,auth_signup_uninvited:0 +msgid "If unchecked, only invited users may sign up" +msgstr "如果不选中,只有被邀请用户方可注册。" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:11 +#, python-format +msgid "Username" +msgstr "用户名" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:7 +#, python-format +msgid "Name" +msgstr "姓名" + +#. module: auth_signup +#: sql_constraint:res.users:0 +msgid "OAuth UID must be unique per provider" +msgstr "OAuth UID必须是每个提供者( provider )唯一的" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:12 +#, python-format +msgid "Username (Email)" +msgstr "用户名(Email)" + +#. module: auth_signup +#: field:res.partner,signup_expiration:0 +msgid "Signup Expiration" +msgstr "注册过期" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:19 +#, python-format +msgid "Log in" +msgstr "登录" + +#. module: auth_signup +#: field:res.partner,signup_valid:0 +msgid "Signup Token is Valid" +msgstr "注册令牌( Token )是有效的" + +#. module: auth_signup +#: selection:res.users,state:0 +msgid "Resetting Password" +msgstr "复位密码" + +#. module: auth_signup +#: constraint:res.partner:0 +msgid "Error ! You cannot create recursive associated members." +msgstr "错误,您不能创建循环引用的会员用户" + +#. module: auth_signup +#: sql_constraint:res.users:0 +msgid "You can not have two users with the same login !" +msgstr "两个用户不能使用相同的用户名!" + +#. module: auth_signup +#. openerp-web +#: code:addons/auth_signup/static/src/xml/auth_signup.xml:24 +#, python-format +msgid "Back to Login" +msgstr "返回登录页面" + +#. module: auth_signup +#: constraint:res.partner:0 +#: constraint:res.users:0 +msgid "Error: Invalid ean code" +msgstr "错误:无效的(EAN)条码" + +#. module: auth_signup +#: model:ir.model,name:auth_signup.model_res_partner +msgid "Partner" +msgstr "业务伙伴" + +#. module: auth_signup +#: field:res.partner,signup_token:0 +msgid "Signup Token" +msgstr "注册令牌( Token )" diff --git a/addons/auth_signup/res_users.py b/addons/auth_signup/res_users.py index 69ec45b80e5..7dbb19853a2 100644 --- a/addons/auth_signup/res_users.py +++ b/addons/auth_signup/res_users.py @@ -150,8 +150,12 @@ class res_users(osv.Model): _inherit = 'res.users' def _get_state(self, cr, uid, ids, name, arg, context=None): - return dict((user.id, 'new' if not user.login_date else 'reset' if user.signup_token else 'active') - for user in self.browse(cr, uid, ids, context)) + res = {} + for user in self.browse(cr, uid, ids, context): + res[user.id] = ('reset' if user.signup_valid else + 'active' if user.login_date else + 'new') + return res _columns = { 'state': fields.function(_get_state, string='Status', type='selection', diff --git a/addons/auth_signup/static/src/css/Makefile b/addons/auth_signup/static/src/css/Makefile deleted file mode 100644 index d6b4f4b2fc8..00000000000 --- a/addons/auth_signup/static/src/css/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -base.css: base.sass - sass --trace -t expanded base.sass base.css - diff --git a/addons/auth_signup/static/src/css/base.css b/addons/auth_signup/static/src/css/base.css deleted file mode 100644 index 3f97e7a9301..00000000000 --- a/addons/auth_signup/static/src/css/base.css +++ /dev/null @@ -1,10 +0,0 @@ -@charset "utf-8"; -.openerp .oe_login .oe_signup_show { - display: none; -} -.openerp .oe_login_signup .oe_signup_show { - display: block !important; -} -.openerp .oe_login_signup .oe_signup_hide { - display: none; -} diff --git a/addons/auth_signup/static/src/css/base.sass b/addons/auth_signup/static/src/css/base.sass deleted file mode 100644 index f97665d192c..00000000000 --- a/addons/auth_signup/static/src/css/base.sass +++ /dev/null @@ -1,13 +0,0 @@ -@charset "utf-8" - -.openerp - // Regular login form - .oe_login - .oe_signup_show - display: none - // Signup form - .oe_login_signup - .oe_signup_show - display: block !important - .oe_signup_hide - display: none diff --git a/addons/auth_signup/static/src/js/auth_signup.js b/addons/auth_signup/static/src/js/auth_signup.js index 962a54f5920..241c2406d56 100644 --- a/addons/auth_signup/static/src/js/auth_signup.js +++ b/addons/auth_signup/static/src/js/auth_signup.js @@ -7,12 +7,15 @@ openerp.auth_signup = function(instance) { var self = this; var d = this._super(); + self.$(".oe_signup_show").hide(); // to switch between the signup and regular login form this.$('a.oe_signup_signup').click(function(ev) { if (ev) { ev.preventDefault(); } self.$el.addClass("oe_login_signup"); + self.$(".oe_signup_show").show(); + self.$(".oe_signup_hide").hide(); return false; }); this.$('a.oe_signup_back').click(function(ev) { @@ -20,6 +23,8 @@ openerp.auth_signup = function(instance) { ev.preventDefault(); } self.$el.removeClass("oe_login_signup"); + self.$(".oe_signup_show").hide(); + self.$(".oe_signup_hide").show(); delete self.params.token; return false; }); @@ -47,6 +52,8 @@ openerp.auth_signup = function(instance) { if (result.token) { // switch to signup mode, set user name and login this.$el.addClass("oe_login_signup"); + self.$(".oe_signup_show").show(); + self.$(".oe_signup_hide").hide(); this.$("form input[name=name]").val(result.name).attr("readonly", "readonly"); if (result.login) { this.$("form input[name=login]").val(result.login).attr("readonly", "readonly"); diff --git a/addons/auth_signup/static/src/xml/auth_signup.xml b/addons/auth_signup/static/src/xml/auth_signup.xml index e63bd5863b0..a51ced3778d 100644 --- a/addons/auth_signup/static/src/xml/auth_signup.xml +++ b/addons/auth_signup/static/src/xml/auth_signup.xml @@ -1,5 +1,6 @@ - + @@ -16,12 +17,12 @@ - - - - -
  • -
  • +
  • + + + + +
  • diff --git a/addons/base_calendar/crm_meeting_view.xml b/addons/base_calendar/crm_meeting_view.xml index 8590bcb8b49..84c03d68dbd 100644 --- a/addons/base_calendar/crm_meeting_view.xml +++ b/addons/base_calendar/crm_meeting_view.xml @@ -5,7 +5,7 @@ - Mark read + CRM Meeting: Mark read True ir.actions.server @@ -23,7 +23,7 @@ - Mark unread + CRM Meeting: Mark unread True ir.actions.server diff --git a/addons/base_calendar/i18n/zh_CN.po b/addons/base_calendar/i18n/zh_CN.po index 4fb5c3afbca..8d5d3f545f1 100644 --- a/addons/base_calendar/i18n/zh_CN.po +++ b/addons/base_calendar/i18n/zh_CN.po @@ -8,25 +8,25 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-05-10 17:39+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-28 16:50+0000\n" +"Last-Translator: Joshua Jan(SHINEIT) \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:27+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: base_calendar #: selection:calendar.alarm,trigger_related:0 #: selection:res.alarm,trigger_related:0 msgid "The event starts" -msgstr "事件开始时" +msgstr "活动开始" #. module: base_calendar #: view:calendar.event:0 msgid "My Events" -msgstr "我的事件" +msgstr "我的活动" #. module: base_calendar #: help:calendar.event,exdate:0 @@ -40,14 +40,14 @@ msgstr "这属性定义循环日程的日期/时间异常列表。" #. module: base_calendar #: constraint:res.users:0 msgid "The chosen company is not in the allowed companies for this user" -msgstr "用户无权操作所选择公司数据" +msgstr "选择的公司不属于此用户允许访问的公司。" #. module: base_calendar #: field:calendar.event,we:0 #: field:calendar.todo,we:0 #: field:crm.meeting,we:0 msgid "Wed" -msgstr "周三" +msgstr "星期三" #. module: base_calendar #: selection:calendar.attendee,cutype:0 @@ -64,13 +64,13 @@ msgstr "定期会议" #. module: base_calendar #: model:crm.meeting.type,name:base_calendar.categ_meet5 msgid "Feedback Meeting" -msgstr "" +msgstr "会议反馈" #. module: base_calendar #: code:addons/base_calendar/crm_meeting.py:117 #, python-format msgid "Meeting completed." -msgstr "" +msgstr "会议完成." #. module: base_calendar #: model:ir.actions.act_window,name:base_calendar.action_res_alarm_view @@ -83,7 +83,7 @@ msgstr "提醒" #: selection:calendar.todo,week_list:0 #: selection:crm.meeting,week_list:0 msgid "Sunday" -msgstr "周日" +msgstr "星期天" #. module: base_calendar #: field:calendar.attendee,role:0 @@ -147,14 +147,14 @@ msgstr "指定类型的邀请" #: view:crm.meeting:0 #: field:crm.meeting,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "未读信息" #. module: base_calendar #: selection:calendar.event,week_list:0 #: selection:calendar.todo,week_list:0 #: selection:crm.meeting,week_list:0 msgid "Friday" -msgstr "周五" +msgstr "星期五" #. module: base_calendar #: field:calendar.event,allday:0 @@ -182,12 +182,12 @@ msgstr "空闲" #. module: base_calendar #: help:crm.meeting,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "如果要求你关注新消息,勾选此项" #. module: base_calendar #: help:calendar.attendee,rsvp:0 msgid "Indicats whether the favor of a reply is requested" -msgstr "标明是否要求答复赞成" +msgstr "标明是否要求答复" #. module: base_calendar #: field:calendar.alarm,alarm_id:0 @@ -209,7 +209,7 @@ msgstr "事件" #: field:calendar.todo,tu:0 #: field:crm.meeting,tu:0 msgid "Tue" -msgstr "周二" +msgstr "星期二" #. module: base_calendar #: selection:calendar.event,byday:0 @@ -222,7 +222,7 @@ msgstr "第三个" #: selection:calendar.alarm,trigger_related:0 #: selection:res.alarm,trigger_related:0 msgid "The event ends" -msgstr "这事件结束时" +msgstr "这活动结束时" #. module: base_calendar #: selection:calendar.event,byday:0 @@ -234,12 +234,12 @@ msgstr "最近" #. module: base_calendar #: help:crm.meeting,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "消息和通信历史" #. module: base_calendar #: field:crm.meeting,message_ids:0 msgid "Messages" -msgstr "" +msgstr "消息" #. module: base_calendar #: selection:calendar.alarm,trigger_interval:0 @@ -266,7 +266,7 @@ msgstr "主席" #. module: base_calendar #: view:crm.meeting:0 msgid "My Meetings" -msgstr "" +msgstr "我的会议" #. module: base_calendar #: selection:calendar.alarm,action:0 @@ -303,12 +303,12 @@ msgstr "" #. module: base_calendar #: field:crm.meeting,name:0 msgid "Meeting Subject" -msgstr "" +msgstr "会议主题" #. module: base_calendar #: view:calendar.event:0 msgid "End of Recurrence" -msgstr "" +msgstr "循环结束" #. module: base_calendar #: view:calendar.event:0 @@ -329,7 +329,7 @@ msgstr "选择重复会议的日子" #: view:crm.meeting:0 #: model:ir.actions.act_window,name:base_calendar.action_crm_meeting msgid "Meetings" -msgstr "" +msgstr "会议" #. module: base_calendar #: field:calendar.event,recurrent_id:0 @@ -342,19 +342,19 @@ msgstr "循环日期" #: field:calendar.alarm,event_end_date:0 #: field:calendar.attendee,event_end_date:0 msgid "Event End Date" -msgstr "事件结束日期" +msgstr "活动结束日期" #. module: base_calendar #: selection:calendar.attendee,role:0 msgid "Optional Participation" -msgstr "可参与" +msgstr "可选择参与" #. module: base_calendar #: help:crm.meeting,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 "" +msgstr "保存复杂的摘要(消息数量,……等)。为了插入到看板视图,这一摘要直接是是HTML格式。" #. module: base_calendar #: code:addons/base_calendar/base_calendar.py:388 diff --git a/addons/base_crypt/i18n/it.po b/addons/base_crypt/i18n/it.po index 1425a8c7924..e82a13db711 100644 --- a/addons/base_crypt/i18n/it.po +++ b/addons/base_crypt/i18n/it.po @@ -8,19 +8,19 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2011-02-15 15:37+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2012-11-28 19:47+0000\n" +"Last-Translator: Davide Corio - agilebg.com \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:31+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: base_crypt #: constraint:res.users:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "Errore: codice EAN non valido" #. module: base_crypt #: constraint:res.users:0 @@ -30,12 +30,12 @@ msgstr "L'azienda scelta non è fra le aziende abilitate per questo utente" #. module: base_crypt #: model:ir.model,name:base_crypt.model_res_users msgid "Users" -msgstr "" +msgstr "Utenti" #. module: base_crypt #: sql_constraint:res.users:0 msgid "OAuth UID must be unique per provider" -msgstr "" +msgstr "il UID OAuth deve essere unico per provider" #. module: base_crypt #: sql_constraint:res.users:0 diff --git a/addons/base_crypt/i18n/tr.po b/addons/base_crypt/i18n/tr.po index 6a0590cfbbe..24ea4a9da7c 100644 --- a/addons/base_crypt/i18n/tr.po +++ b/addons/base_crypt/i18n/tr.po @@ -8,19 +8,19 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2011-02-15 15:37+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2012-11-27 21:53+0000\n" +"Last-Translator: Ahmet Altınışık \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:31+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" +"X-Generator: Launchpad (build 16309)\n" #. module: base_crypt #: constraint:res.users:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "Hata: Geçersiz EAN barkodu" #. module: base_crypt #: constraint:res.users:0 @@ -30,12 +30,12 @@ msgstr "Seçilen firma bu kullanıcı için izin verilen firmalar arasında yok" #. module: base_crypt #: model:ir.model,name:base_crypt.model_res_users msgid "Users" -msgstr "" +msgstr "Kullanıcılar" #. module: base_crypt #: sql_constraint:res.users:0 msgid "OAuth UID must be unique per provider" -msgstr "" +msgstr "OAuth UID her sağlayıcı için tekil olmalı" #. module: base_crypt #: sql_constraint:res.users:0 diff --git a/addons/base_crypt/i18n/zh_CN.po b/addons/base_crypt/i18n/zh_CN.po index 200f04f2971..25cb55361b9 100644 --- a/addons/base_crypt/i18n/zh_CN.po +++ b/addons/base_crypt/i18n/zh_CN.po @@ -8,19 +8,19 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2011-06-22 08:19+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2012-11-28 06:30+0000\n" +"Last-Translator: mrshelly \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:31+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: base_crypt #: constraint:res.users:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "错误:无效的(EAN)条码" #. module: base_crypt #: constraint:res.users:0 @@ -30,17 +30,17 @@ msgstr "用户无权操作所选择公司数据" #. module: base_crypt #: model:ir.model,name:base_crypt.model_res_users msgid "Users" -msgstr "" +msgstr "用户" #. module: base_crypt #: sql_constraint:res.users:0 msgid "OAuth UID must be unique per provider" -msgstr "" +msgstr "OAuth UID必须是每个提供者唯一的" #. module: base_crypt #: sql_constraint:res.users:0 msgid "You can not have two users with the same login !" -msgstr "你不能同时登录两个用户!" +msgstr "两个用户不能使用相同的用户名!" #, python-format #~ msgid "Error" diff --git a/addons/base_import/controllers.py b/addons/base_import/controllers.py index c831ffd229d..b926c6b2782 100644 --- a/addons/base_import/controllers.py +++ b/addons/base_import/controllers.py @@ -14,7 +14,7 @@ class ImportController(openerp.addons.web.http.Controller): 'file': file.read(), 'file_name': file.filename, 'file_type': file.content_type, - }, req.session.eval_context(req.context)) + }, req.context) return 'window.top.%s(%s)' % ( jsonp, simplejson.dumps({'result': written})) diff --git a/addons/base_report_designer/i18n/it.po b/addons/base_report_designer/i18n/it.po index 981a8d63301..514223d74e0 100644 --- a/addons/base_report_designer/i18n/it.po +++ b/addons/base_report_designer/i18n/it.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-05-10 18:17+0000\n" -"Last-Translator: Raphael Collet (OpenERP) \n" +"PO-Revision-Date: 2012-11-28 19:53+0000\n" +"Last-Translator: Davide Corio - agilebg.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: 2012-11-25 06:09+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: base_report_designer #: model:ir.model,name:base_report_designer.model_base_report_sxw @@ -180,7 +180,7 @@ msgstr "Annulla" #. module: base_report_designer #: view:base.report.sxw:0 msgid "or" -msgstr "" +msgstr "o" #. module: base_report_designer #: model:ir.model,name:base_report_designer.model_ir_actions_report_xml diff --git a/addons/base_report_designer/i18n/tr.po b/addons/base_report_designer/i18n/tr.po index cab3828f12d..143b96d3c0f 100644 --- a/addons/base_report_designer/i18n/tr.po +++ b/addons/base_report_designer/i18n/tr.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-05-10 18:06+0000\n" -"Last-Translator: Raphael Collet (OpenERP) \n" +"PO-Revision-Date: 2012-11-27 20:20+0000\n" +"Last-Translator: Ahmet Altınışık \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: 2012-11-25 06:09+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" +"X-Generator: Launchpad (build 16309)\n" #. module: base_report_designer #: model:ir.model,name:base_report_designer.model_base_report_sxw @@ -180,7 +180,7 @@ msgstr "İptal" #. module: base_report_designer #: view:base.report.sxw:0 msgid "or" -msgstr "" +msgstr "veya" #. module: base_report_designer #: model:ir.model,name:base_report_designer.model_ir_actions_report_xml diff --git a/addons/base_report_designer/i18n/zh_CN.po b/addons/base_report_designer/i18n/zh_CN.po index fb4cf02c367..abee97593ac 100644 --- a/addons/base_report_designer/i18n/zh_CN.po +++ b/addons/base_report_designer/i18n/zh_CN.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-05-10 17:33+0000\n" -"Last-Translator: Wei \"oldrev\" Li \n" +"PO-Revision-Date: 2012-11-27 02:28+0000\n" +"Last-Translator: Joshua Jan(SHINEIT) \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: 2012-11-25 06:09+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" +"X-Generator: Launchpad (build 16309)\n" #. module: base_report_designer #: model:ir.model,name:base_report_designer.model_base_report_sxw @@ -175,7 +175,7 @@ msgstr "取消" #. module: base_report_designer #: view:base.report.sxw:0 msgid "or" -msgstr "" +msgstr "or" #. module: base_report_designer #: model:ir.model,name:base_report_designer.model_ir_actions_report_xml diff --git a/addons/base_setup/i18n/zh_CN.po b/addons/base_setup/i18n/zh_CN.po index 85494807d9c..7fa74452b03 100644 --- a/addons/base_setup/i18n/zh_CN.po +++ b/addons/base_setup/i18n/zh_CN.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-10 03:32+0000\n" +"PO-Revision-Date: 2012-11-28 16:54+0000\n" "Last-Translator: ccdos \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: 2012-11-25 05:52+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:14+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: base_setup #: view:sale.config.settings:0 msgid "Emails Integration" -msgstr "" +msgstr "Email 集成" #. module: base_setup #: selection:base.setup.terminology,partner:0 @@ -29,18 +29,18 @@ msgstr "访客" #. module: base_setup #: view:sale.config.settings:0 msgid "Contacts" -msgstr "" +msgstr "联系人" #. module: base_setup #: model:ir.model,name:base_setup.model_base_config_settings msgid "base.config.settings" -msgstr "" +msgstr "base.config.settings" #. module: base_setup #: field:base.config.settings,module_auth_oauth:0 msgid "" "Use external authentication providers, sign in with google, facebook, ..." -msgstr "" +msgstr "使用OpenID登陆(Google, Facebook...)" #. module: base_setup #: view:sale.config.settings:0 @@ -63,24 +63,24 @@ msgstr "会员" #. module: base_setup #: view:base.config.settings:0 msgid "Portal access" -msgstr "" +msgstr "门户访问" #. module: base_setup #: view:base.config.settings:0 msgid "Authentication" -msgstr "" +msgstr "身份验证" #. module: base_setup #: view:sale.config.settings:0 msgid "Quotations and Sales Orders" -msgstr "" +msgstr "报价和销售订单" #. module: base_setup #: view:base.config.settings:0 #: model:ir.actions.act_window,name:base_setup.action_general_configuration #: model:ir.ui.menu,name:base_setup.menu_general_configuration msgid "General Settings" -msgstr "" +msgstr "常规设置" #. module: base_setup #: selection:base.setup.terminology,partner:0 @@ -90,12 +90,12 @@ msgstr "捐助者" #. module: base_setup #: view:base.config.settings:0 msgid "Email" -msgstr "" +msgstr "Email" #. module: base_setup #: field:sale.config.settings,module_crm:0 msgid "CRM" -msgstr "" +msgstr "CRM" #. module: base_setup #: selection:base.setup.terminology,partner:0 @@ -105,12 +105,12 @@ msgstr "病人" #. module: base_setup #: field:base.config.settings,module_base_import:0 msgid "Allow users to import data from CSV files" -msgstr "" +msgstr "允许导入CSV数据" #. module: base_setup #: field:base.config.settings,module_multi_company:0 msgid "Manage multiple companies" -msgstr "" +msgstr "允许多公司操作" #. module: base_setup #: help:base.config.settings,module_portal:0 @@ -120,17 +120,17 @@ msgstr "" #. module: base_setup #: view:sale.config.settings:0 msgid "On Mail Client" -msgstr "" +msgstr "在邮件客户端" #. module: base_setup #: field:sale.config.settings,module_web_linkedin:0 msgid "Get contacts automatically from linkedIn" -msgstr "" +msgstr "自动获取LinkedIn联系人" #. module: base_setup #: field:sale.config.settings,module_plugin_thunderbird:0 msgid "Enable Thunderbird plug-in" -msgstr "" +msgstr "允许 Thunderbird 插件" #. module: base_setup #: view:base.setup.terminology:0 @@ -140,22 +140,22 @@ msgstr "res_config_contents" #. module: base_setup #: view:sale.config.settings:0 msgid "Customer Features" -msgstr "" +msgstr "客户特性" #. module: base_setup #: view:base.config.settings:0 msgid "Import / Export" -msgstr "" +msgstr "导入/导出" #. module: base_setup #: view:sale.config.settings:0 msgid "Sale Features" -msgstr "" +msgstr "销售特性" #. module: base_setup #: field:sale.config.settings,module_plugin_outlook:0 msgid "Enable Outlook plug-in" -msgstr "" +msgstr "允许 Outlook 插件" #. module: base_setup #: view:base.setup.terminology:0 @@ -172,7 +172,7 @@ msgstr "承租人" #. module: base_setup #: help:base.config.settings,module_share:0 msgid "Share or embbed any screen of openerp." -msgstr "" +msgstr "分享或者嵌入任意Openerp屏幕" #. module: base_setup #: selection:base.setup.terminology,partner:0 @@ -193,6 +193,8 @@ msgid "" "companies.\n" " This installs the module multi_company." msgstr "" +"工作在多公司环境,公司之间适当地安全访问\n" +" 为此安装模块multi_company。" #. module: base_setup #: view:base.config.settings:0 @@ -204,7 +206,7 @@ msgstr "" #. module: base_setup #: model:ir.model,name:base_setup.model_sale_config_settings msgid "sale.config.settings" -msgstr "" +msgstr "sale.config.settings" #. module: base_setup #: field:base.setup.terminology,partner:0 @@ -224,7 +226,7 @@ msgstr "客户" #. module: base_setup #: help:base.config.settings,module_auth_anonymous:0 msgid "Enable the public part of openerp, openerp becomes a public website." -msgstr "" +msgstr "启用Openerp的公共部分,Openerp成为一个公共的web站点" #. module: base_setup #: help:sale.config.settings,module_plugin_thunderbird:0 @@ -237,6 +239,9 @@ msgid "" " Partner from the selected emails.\n" " This installs the module plugin_thunderbird." msgstr "" +"插件允许把你的email和附件存档到Openerp对象。你能选择一个业务伙伴、或者线索,并 选择邮件存为 .eml 文件 附加到在选中记录的附件中。\n" +"\n" +"为此要安装模块 plugin_thunderbird." #. module: base_setup #: selection:base.setup.terminology,partner:0 @@ -252,7 +257,7 @@ msgstr "称呼客户的另一种方式" #: model:ir.actions.act_window,name:base_setup.action_sale_config #: view:sale.config.settings:0 msgid "Configure Sales" -msgstr "" +msgstr "销售模块配置" #. module: base_setup #: help:sale.config.settings,module_plugin_outlook:0 @@ -265,36 +270,39 @@ msgid "" " email into an OpenERP mail message with attachments.\n" " This installs the module plugin_outlook." msgstr "" +"Outlook 插件允许你把 邮件和它附件添加到你选择对象里。 你能选择一个业务伙伴或者线索 对象,并且把选择的邮件存档到一个带附件的 Openerp " +"邮件消息中。\n" +"为此要安装模块plugin_outlook." #. module: base_setup #: view:base.config.settings:0 msgid "Options" -msgstr "" +msgstr "选项" #. module: base_setup #: field:base.config.settings,module_portal:0 msgid "Activate the customer/supplier portal" -msgstr "" +msgstr "开启合作伙伴Portal" #. module: base_setup #: field:base.config.settings,module_share:0 msgid "Allow documents sharing" -msgstr "" +msgstr "允许分享单据" #. module: base_setup #: field:base.config.settings,module_auth_anonymous:0 msgid "Activate the public portal" -msgstr "" +msgstr "启用公共门户" #. module: base_setup #: view:base.config.settings:0 msgid "Configure outgoing email servers" -msgstr "" +msgstr "配置邮箱发件服务器" #. module: base_setup #: view:sale.config.settings:0 msgid "Social Network Integration" -msgstr "" +msgstr "集成社交网络" #. module: base_setup #: view:base.config.settings:0 @@ -306,7 +314,7 @@ msgstr "取消" #: view:base.config.settings:0 #: view:sale.config.settings:0 msgid "Apply" -msgstr "" +msgstr "应用" #. module: base_setup #: view:base.setup.terminology:0 @@ -317,12 +325,12 @@ msgstr "指定贵公司所用的术语" #: view:base.config.settings:0 #: view:sale.config.settings:0 msgid "or" -msgstr "" +msgstr "or" #. module: base_setup #: view:base.config.settings:0 msgid "Configure your company data" -msgstr "" +msgstr "配置公司信息" #~ msgid "Report Header" #~ msgstr "报表页眉" diff --git a/addons/base_status/base_stage.py b/addons/base_status/base_stage.py index 86edff46920..9858a7fe0cc 100644 --- a/addons/base_status/base_stage.py +++ b/addons/base_status/base_stage.py @@ -41,12 +41,10 @@ class base_stage(object): """ if context is None: context = {} - if not context or not context.get('portal'): - return False - user = self.pool.get('res.users').browse(cr, uid, uid, context=context) - if hasattr(user, 'partner_address_id') and user.partner_address_id: - return user.partner_address_id - return user.company_id.partner_id.id + if context.get('portal'): + user = self.pool.get('res.users').browse(cr, uid, uid, context=context) + return user.partner_id.id + return False def _get_default_email(self, cr, uid, context=None): """ Gives default email address for current user @@ -54,10 +52,10 @@ class base_stage(object): """ if context is None: context = {} - if not context or not context.get('portal'): - return False - user = self.pool.get('res.users').browse(cr, uid, uid, context=context) - return user.email + if context.get('portal'): + user = self.pool.get('res.users').browse(cr, uid, uid, context=context) + return user.email + return False def _get_default_user(self, cr, uid, context=None): """ Gives current user id @@ -65,7 +63,7 @@ class base_stage(object): """ if context is None: context = {} - if not context or not context.get('portal'): + if not context or context.get('portal'): return False return uid @@ -202,9 +200,7 @@ class base_stage(object): def case_escalate(self, cr, uid, ids, context=None): """ Escalates case to parent level """ - cases = self.browse(cr, uid, ids, context=context) - cases[0].state # fill browse record cache, for _action having old and new values - for case in cases: + for case in self.browse(cr, uid, ids, context=context): data = {'active': True} if case.section_id.parent_id: data['section_id'] = case.section_id.parent_id.id @@ -215,8 +211,6 @@ class base_stage(object): raise osv.except_osv(_('Error!'), _("You are already at the top level of your sales-team category.\nTherefore you cannot escalate furthermore.")) self.write(cr, uid, [case.id], data, context=context) case.case_escalate_send_note(case.section_id.parent_id, context=context) - cases = self.browse(cr, uid, ids, context=context) - self._action(cr, uid, cases, 'escalate', context=context) return True def case_open(self, cr, uid, ids, context=None): @@ -256,8 +250,7 @@ class base_stage(object): def case_set(self, cr, uid, ids, new_state_name=None, values_to_update=None, new_stage_id=None, context=None): """ Generic method for setting case. This methods wraps the update - of the record, as well as call to _action and browse_record - case setting to fill the cache. + of the record. :params new_state_name: the new state of the record; this method will call ``stage_set_with_state_name`` @@ -271,7 +264,6 @@ class base_stage(object): update when writing values to the record. """ cases = self.browse(cr, uid, ids, context=context) - cases[0].state # fill browse record cache, for _action having old and new values # 1. update the stage if new_state_name: self.stage_set_with_state_name(cr, uid, cases, new_state_name, context=context) @@ -280,13 +272,14 @@ class base_stage(object): # 2. update values if values_to_update: self.write(cr, uid, ids, values_to_update, context=context) - # 3. call _action for base action rule - if new_state_name: - self._action(cr, uid, cases, new_state_name, context=context) - elif not (new_stage_id is None): - new_state_name = self.read(cr, uid, ids, ['state'], context=context)[0]['state'] - self._action(cr, uid, cases, new_state_name, context=context) return True + + def write(self, cr, uid, ids, vals, context=None): + res = super(base_stage,self).write(cr, uid, ids, vals, context) + if vals.get('stage_id'): + for case in self.browse(cr, uid, ids, context=context): + self._action(cr, uid, case, case.stage_id.state, context=context) + return res def _action(self, cr, uid, cases, state_to, scrit=None, context=None): if context is None: diff --git a/addons/base_status/i18n/zh_CN.po b/addons/base_status/i18n/zh_CN.po new file mode 100644 index 00000000000..bfb2e6fcebf --- /dev/null +++ b/addons/base_status/i18n/zh_CN.po @@ -0,0 +1,88 @@ +# Chinese (Simplified) translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-28 07:43+0000\n" +"Last-Translator: ccdos \n" +"Language-Team: Chinese (Simplified) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: base_status +#: code:addons/base_status/base_state.py:107 +#, python-format +msgid "Error !" +msgstr "错误!" + +#. module: base_status +#: code:addons/base_status/base_stage.py:333 +#: code:addons/base_status/base_state.py:187 +#, python-format +msgid "%s has been opened." +msgstr "%s 已经被 打开." + +#. module: base_status +#: code:addons/base_status/base_stage.py:357 +#: code:addons/base_status/base_state.py:220 +#, python-format +msgid "%s has been renewed." +msgstr "%s 已经被 更新." + +#. module: base_status +#: code:addons/base_status/base_stage.py:215 +#, python-format +msgid "Error!" +msgstr "错误!" + +#. module: base_status +#: code:addons/base_status/base_state.py:107 +#, python-format +msgid "" +"You can not escalate, you are already at the top level regarding your sales-" +"team category." +msgstr "不能上报,你已经在您销售团队类别中的最高级了。" + +#. module: base_status +#: code:addons/base_status/base_stage.py:351 +#: code:addons/base_status/base_state.py:214 +#, python-format +msgid "%s is now pending." +msgstr "%s 现在 待定." + +#. module: base_status +#: code:addons/base_status/base_stage.py:345 +#, python-format +msgid "%s has been cancelled." +msgstr "%s 已经被 取消." + +#. module: base_status +#: code:addons/base_status/base_state.py:208 +#, python-format +msgid "%s has been canceled." +msgstr "%s 已经被 取消." + +#. module: base_status +#: code:addons/base_status/base_stage.py:215 +#, python-format +msgid "" +"You are already at the top level of your sales-team category.\n" +"Therefore you cannot escalate furthermore." +msgstr "" +"你已经在您销售团队类别中的最高级了。\n" +"因此,你不能再上报了。" + +#. module: base_status +#: code:addons/base_status/base_stage.py:339 +#: code:addons/base_status/base_state.py:202 +#, python-format +msgid "%s has been closed." +msgstr "%s 已经被 关闭." diff --git a/addons/base_vat/i18n/tr.po b/addons/base_vat/i18n/tr.po index 39aed5e32b3..209639474fc 100644 --- a/addons/base_vat/i18n/tr.po +++ b/addons/base_vat/i18n/tr.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-01-23 22:01+0000\n" +"PO-Revision-Date: 2012-11-27 21:48+0000\n" "Last-Translator: Ahmet Altınışık \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: 2012-11-25 05:51+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-28 04:40+0000\n" +"X-Generator: Launchpad (build 16309)\n" #. module: base_vat #: view:res.partner:0 msgid "Check Validity" -msgstr "" +msgstr "Geçerliliğini Kontrol et" #. module: base_vat #: code:addons/base_vat/base_vat.py:147 @@ -60,12 +60,12 @@ msgstr "Hata! Özyinelemeli firmalar oluşturamazsınız." #: code:addons/base_vat/base_vat.py:111 #, python-format msgid "Error!" -msgstr "" +msgstr "Hata!" #. module: base_vat #: constraint:res.partner:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "Hata: Geçersiz EAN barkodu" #. module: base_vat #: help:res.partner,vat_subjected:0 diff --git a/addons/board/controllers.py b/addons/board/controllers.py index 81557f64fa3..3bdebe1ef26 100644 --- a/addons/board/controllers.py +++ b/addons/board/controllers.py @@ -2,7 +2,6 @@ from xml.etree import ElementTree import openerp -from openerp.addons.web import nonliterals from openerp.addons.web.controllers.main import load_actions_from_ir_values class Board(openerp.addons.web.http.Controller): @@ -11,16 +10,8 @@ class Board(openerp.addons.web.http.Controller): @openerp.addons.web.http.jsonrequest def add_to_dashboard(self, req, menu_id, action_id, context_to_save, domain, view_mode, name=''): # FIXME move this method to board.board model - to_eval = nonliterals.CompoundContext(context_to_save) - to_eval.session = req.session - ctx = dict((k, v) for k, v in to_eval.evaluate().iteritems() - if not k.startswith('search_default_')) - ctx['dashboard_merge_domains_contexts'] = False # TODO: replace this 6.1 workaround by attribute on - domain = nonliterals.CompoundDomain(domain) - domain.session = req.session - domain = domain.evaluate() - - dashboard_action = load_actions_from_ir_values(req, 'action', 'tree_but_open', [('ir.ui.menu', menu_id)], False) + dashboard_action = load_actions_from_ir_values( + req, 'action', 'tree_but_open', [('ir.ui.menu', menu_id)], False) if dashboard_action: action = dashboard_action[0][2] @@ -36,7 +27,7 @@ class Board(openerp.addons.web.http.Controller): 'name': str(action_id), 'string': name, 'view_mode': view_mode, - 'context': str(ctx), + 'context': str(context_to_save), 'domain': str(domain) }) column.insert(0, new_action) @@ -45,6 +36,6 @@ class Board(openerp.addons.web.http.Controller): 'user_id': req.session._uid, 'ref_id': view_id, 'arch': arch - }, req.session.eval_context(req.context)) + }, req.context) return False diff --git a/addons/board/static/src/js/dashboard.js b/addons/board/static/src/js/dashboard.js index eb835c43e22..13a51cc663e 100644 --- a/addons/board/static/src/js/dashboard.js +++ b/addons/board/static/src/js/dashboard.js @@ -375,11 +375,22 @@ instance.board.AddToDashboard = instance.web.search.Input.extend({ var domain = new instance.web.CompoundDomain(getParent.dataset.get_domain() || []); _.each(data.contexts, context.add, context); _.each(data.domains, domain.add, domain); + + var c = instance.web.pyeval.eval('context', context); + for(var k in c) { + if (c.hasOwnProperty(k) && /^search_default_/.test(k)) { + delete c[k]; + } + } + // TODO: replace this 6.1 workaround by attribute on + c.dashboard_merge_domains_contexts = false; + var d = instance.web.pyeval.eval('domain', domain); + this.rpc('/board/add_to_dashboard', { menu_id: this.$el.find("select").val(), action_id: view_parent.action.id, - context_to_save: context, - domain: domain, + context_to_save: c, + domain: d, view_mode: view_parent.active_view, name: this.$el.find("input").val() }).done(function(r) { diff --git a/addons/contacts/i18n/es.po b/addons/contacts/i18n/es.po new file mode 100644 index 00000000000..f4b3a345289 --- /dev/null +++ b/addons/contacts/i18n/es.po @@ -0,0 +1,37 @@ +# Spanish translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-27 01:35+0000\n" +"Last-Translator: FULL NAME \n" +"Language-Team: Spanish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" +"X-Generator: Launchpad (build 16309)\n" + +#. module: contacts +#: model:ir.actions.act_window,help:contacts.action_contacts +msgid "" +"

    \n" +" Click to add a contact in your address book.\n" +"

    \n" +" OpenERP helps you easily track all activities related to\n" +" a customer; discussions, history of business opportunities,\n" +" documents, etc.\n" +"

    \n" +" " +msgstr "" + +#. module: contacts +#: model:ir.actions.act_window,name:contacts.action_contacts +#: model:ir.ui.menu,name:contacts.menu_contacts +msgid "Contacts" +msgstr "" diff --git a/addons/contacts/i18n/hu.po b/addons/contacts/i18n/hu.po new file mode 100644 index 00000000000..eacc9b22406 --- /dev/null +++ b/addons/contacts/i18n/hu.po @@ -0,0 +1,37 @@ +# Hungarian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-27 23:56+0000\n" +"Last-Translator: Krisztian Eyssen \n" +"Language-Team: Hungarian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: contacts +#: model:ir.actions.act_window,help:contacts.action_contacts +msgid "" +"

    \n" +" Click to add a contact in your address book.\n" +"

    \n" +" OpenERP helps you easily track all activities related to\n" +" a customer; discussions, history of business opportunities,\n" +" documents, etc.\n" +"

    \n" +" " +msgstr "" + +#. module: contacts +#: model:ir.actions.act_window,name:contacts.action_contacts +#: model:ir.ui.menu,name:contacts.menu_contacts +msgid "Contacts" +msgstr "Kapcsolatok" diff --git a/addons/contacts/i18n/it.po b/addons/contacts/i18n/it.po new file mode 100644 index 00000000000..e0d4d816737 --- /dev/null +++ b/addons/contacts/i18n/it.po @@ -0,0 +1,46 @@ +# Italian translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-28 19:52+0000\n" +"Last-Translator: Davide Corio - agilebg.com \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: contacts +#: model:ir.actions.act_window,help:contacts.action_contacts +msgid "" +"

    \n" +" Click to add a contact in your address book.\n" +"

    \n" +" OpenERP helps you easily track all activities related to\n" +" a customer; discussions, history of business opportunities,\n" +" documents, etc.\n" +"

    \n" +" " +msgstr "" +"

    \n" +" Premere per creare un contatto in rubrica.\n" +"

    \n" +" OpenERP ti aiuta a tenere traccia delle attività legate\n" +" a clienti, discussioni, storia delle opportunità,\n" +" document, etc.\n" +"\n" +"

    \n" +" " + +#. module: contacts +#: model:ir.actions.act_window,name:contacts.action_contacts +#: model:ir.ui.menu,name:contacts.menu_contacts +msgid "Contacts" +msgstr "Contatti" diff --git a/addons/contacts/i18n/tr.po b/addons/contacts/i18n/tr.po new file mode 100644 index 00000000000..9b68dbf5ddc --- /dev/null +++ b/addons/contacts/i18n/tr.po @@ -0,0 +1,44 @@ +# Turkish translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-27 21:52+0000\n" +"Last-Translator: Ahmet Altınışık \n" +"Language-Team: Turkish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" +"X-Generator: Launchpad (build 16309)\n" + +#. module: contacts +#: model:ir.actions.act_window,help:contacts.action_contacts +msgid "" +"

    \n" +" Click to add a contact in your address book.\n" +"

    \n" +" OpenERP helps you easily track all activities related to\n" +" a customer; discussions, history of business opportunities,\n" +" documents, etc.\n" +"

    \n" +" " +msgstr "" +"

    \n" +" Adres defterinizden bir carinin üzerine tıklayın.\n" +"

    \n" +" OpenERP bir müşteriye ait bütün aktiviteleri takip etmenize\n" +" yardım eder; mesela iş fırsatlarını, dökümanları, vs.\n" +"

    \n" +" " + +#. module: contacts +#: model:ir.actions.act_window,name:contacts.action_contacts +#: model:ir.ui.menu,name:contacts.menu_contacts +msgid "Contacts" +msgstr "Cariler" diff --git a/addons/crm/crm_action_rule_demo.xml b/addons/crm/crm_action_rule_demo.xml index 83f5681f311..14a9761e102 100644 --- a/addons/crm/crm_action_rule_demo.xml +++ b/addons/crm/crm_action_rule_demo.xml @@ -43,7 +43,7 @@ Thanks,
    - Filter on leads which are draft. + Draft Leads crm.lead [('state','=','draft')] @@ -62,7 +62,7 @@ Thanks, - Filter on leads which come from USA. + Leads from USA crm.lead [('country_id','=','United States')] diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 88b2edcd665..c552b1835f2 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -4,7 +4,7 @@ - Mark unread + CRM Lead: Mark unread True ir.actions.server @@ -22,7 +22,7 @@ - Mark read + CRM Lead: Mark read True ir.actions.server diff --git a/addons/crm/crm_phonecall.py b/addons/crm/crm_phonecall.py index bac33815794..d67174be142 100644 --- a/addons/crm/crm_phonecall.py +++ b/addons/crm/crm_phonecall.py @@ -127,6 +127,8 @@ class crm_phonecall(base_state, osv.osv): section_id = call.section_id and call.section_id.id or False if not user_id: user_id = call.user_id and call.user_id.id or False + if not schedule_time: + schedule_time = call.date vals = { 'name' : call_summary, 'user_id' : user_id or False, diff --git a/addons/crm/crm_phonecall_view.xml b/addons/crm/crm_phonecall_view.xml index 9cb09e71be2..a6e8dbe397a 100644 --- a/addons/crm/crm_phonecall_view.xml +++ b/addons/crm/crm_phonecall_view.xml @@ -4,7 +4,7 @@ - Mark unread + CRM Phonecall: Mark unread True ir.actions.server @@ -22,7 +22,7 @@ - Mark read + CRM Phonecall: Mark read True ir.actions.server diff --git a/addons/crm/i18n/zh_CN.po b/addons/crm/i18n/zh_CN.po index 9aa02343620..0351bdc1344 100644 --- a/addons/crm/i18n/zh_CN.po +++ b/addons/crm/i18n/zh_CN.po @@ -13,8 +13,8 @@ msgstr "" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-26 04:41+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-27 05:23+0000\n" +"X-Generator: Launchpad (build 16309)\n" #. module: crm #: view:crm.lead.report:0 diff --git a/addons/crm/res_partner_view.xml b/addons/crm/res_partner_view.xml index 93abc967b8e..00a071fa954 100644 --- a/addons/crm/res_partner_view.xml +++ b/addons/crm/res_partner_view.xml @@ -15,20 +15,6 @@ - - view.res.partner.search.crm.inherited3 - res.partner - - - - - - - - - - - Meetings diff --git a/addons/crm_claim/crm_claim_menu.xml b/addons/crm_claim/crm_claim_menu.xml index 087eb433bca..5abfcabbc71 100644 --- a/addons/crm_claim/crm_claim_menu.xml +++ b/addons/crm_claim/crm_claim_menu.xml @@ -2,12 +2,6 @@ - - - @@ -50,8 +44,6 @@ parent="base.menu_aftersale" action="crm_case_categ_claim0" sequence="1"/> - - diff --git a/addons/crm_claim/crm_claim_view.xml b/addons/crm_claim/crm_claim_view.xml index 85507a32c0f..8b6217b97e1 100644 --- a/addons/crm_claim/crm_claim_view.xml +++ b/addons/crm_claim/crm_claim_view.xml @@ -104,7 +104,7 @@
    @@ -113,9 +113,9 @@ - + - + @@ -130,17 +130,17 @@ - + - + - + @@ -167,7 +167,7 @@
    - +
    diff --git a/addons/crm_todo/i18n/zh_CN.po b/addons/crm_todo/i18n/zh_CN.po index 818ef79a218..40c9d42e153 100644 --- a/addons/crm_todo/i18n/zh_CN.po +++ b/addons/crm_todo/i18n/zh_CN.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-17 03:58+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-27 02:01+0000\n" +"Last-Translator: ccdos \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:32+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" +"X-Generator: Launchpad (build 16309)\n" #. module: crm_todo #: model:ir.model,name:crm_todo.model_project_task @@ -30,7 +30,7 @@ msgstr "时间箱" #. module: crm_todo #: view:crm.lead:0 msgid "Lead" -msgstr "" +msgstr "线索" #. module: crm_todo #: view:crm.lead:0 @@ -77,7 +77,7 @@ msgstr "取消" #. module: crm_todo #: model:ir.model,name:crm_todo.model_crm_lead msgid "Lead/Opportunity" -msgstr "" +msgstr "线索/商机" #. module: crm_todo #: field:project.task,lead_id:0 diff --git a/addons/decimal_precision/i18n/it.po b/addons/decimal_precision/i18n/it.po index 0880c6e8394..53f4da9eaad 100644 --- a/addons/decimal_precision/i18n/it.po +++ b/addons/decimal_precision/i18n/it.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2011-01-12 19:11+0000\n" -"Last-Translator: OpenERP Administrators \n" +"PO-Revision-Date: 2012-11-28 19:56+0000\n" +"Last-Translator: Davide Corio - agilebg.com \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:23+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: decimal_precision #: field:decimal.precision,digits:0 @@ -28,6 +28,8 @@ msgid "" "Error! You cannot define the decimal precision of 'Account' as greater than " "the rounding factor of the company's main currency" msgstr "" +"Errore! La precisione decimale di 'Contabilità' non può essere più grande " +"del fattore di arrotondamento della valuta principale dell'azienda" #. module: decimal_precision #: model:ir.actions.act_window,name:decimal_precision.action_decimal_precision_form diff --git a/addons/decimal_precision/i18n/nl_BE.po b/addons/decimal_precision/i18n/nl_BE.po index 95078305c13..1da382b14d0 100644 --- a/addons/decimal_precision/i18n/nl_BE.po +++ b/addons/decimal_precision/i18n/nl_BE.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-03-01 17:22+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2012-11-27 13:41+0000\n" +"Last-Translator: Els Van Vossel (Agaplan) \n" "Language-Team: Dutch (Belgium) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:23+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" +"X-Generator: Launchpad (build 16309)\n" #. module: decimal_precision #: field:decimal.precision,digits:0 @@ -28,6 +28,8 @@ msgid "" "Error! You cannot define the decimal precision of 'Account' as greater than " "the rounding factor of the company's main currency" msgstr "" +"U kunt de decimale precisie voor Rekening niet groter zetten dan de " +"afrondingsfactor van de standaardmunt van uw bedrijf." #. module: decimal_precision #: model:ir.actions.act_window,name:decimal_precision.action_decimal_precision_form diff --git a/addons/delivery/i18n/zh_CN.po b/addons/delivery/i18n/zh_CN.po index 3f5d03bd30c..2920c8bd9ce 100644 --- a/addons/delivery/i18n/zh_CN.po +++ b/addons/delivery/i18n/zh_CN.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-11-02 01:52+0000\n" -"Last-Translator: Joshua Jan(SHINEIT) \n" +"PO-Revision-Date: 2012-11-27 03:04+0000\n" +"Last-Translator: ccdos \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: 2012-11-25 05:42+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-28 04:40+0000\n" +"X-Generator: Launchpad (build 16309)\n" #. module: delivery #: report:sale.shipping:0 @@ -29,7 +29,7 @@ msgstr "由post送货" #. module: delivery #: view:delivery.grid.line:0 msgid " in Function of " -msgstr "" +msgstr " 在功能 " #. module: delivery #: view:delivery.carrier:0 @@ -64,7 +64,7 @@ msgstr "体积" #. module: delivery #: view:delivery.carrier:0 msgid "Zip" -msgstr "" +msgstr "邮政编码" #. module: delivery #: field:delivery.grid,line_ids:0 @@ -100,12 +100,23 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" 单击 定义一个新的运输方法 \n" +"

    \n" +" 每个承运商人 (比如:UPS,顺风)可以几种运输方法 \n" +" (例如:UPS Express, UPS Standard ) ,每种方法可\n" +" 以有一个定价规则.\n" +"

    \n" +" 在销售订单(基于报价单)或者发票(基于发运单),\n" +" 这些方法可以根据你的设置自动计算运输价格;\n" +"

    \n" +" " #. module: delivery #: code:addons/delivery/delivery.py:221 #, python-format msgid "No line matched this product or order in the chosen delivery grid." -msgstr "" +msgstr "在选择运输网络里,没有一行匹配这个产品或者订单。" #. module: delivery #: model:ir.actions.act_window,name:delivery.action_picking_tree4 @@ -145,6 +156,13 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" 单击 为指定区域创建运输价格表.\n" +"

    \n" +" 运输价格表允许 根据产品的重量和其他条件,计算运输的成本和销售价格.\n" +" 你能为每种运输方法定义几种价格表:为每个国家,或者在特定国家根据邮政编码的定义的一个区域.\n" +"

    \n" +" " #. module: delivery #: report:sale.shipping:0 @@ -164,7 +182,7 @@ msgstr "金额" #. module: delivery #: view:sale.order:0 msgid "Add in Quote" -msgstr "" +msgstr "添加引用" #. module: delivery #: selection:delivery.grid.line,price_type:0 @@ -217,7 +235,7 @@ msgstr "网络定义" #: code:addons/delivery/stock.py:89 #, python-format msgid "Warning!" -msgstr "" +msgstr "警告!" #. module: delivery #: field:delivery.grid.line,operator:0 @@ -237,14 +255,14 @@ msgstr "销售订单" #. module: delivery #: model:ir.model,name:delivery.model_stock_picking_out msgid "Delivery Orders" -msgstr "" +msgstr "送货单" #. module: delivery #: view:sale.order:0 msgid "" "If you don't 'Add in Quote', the exact price will be computed when invoicing " "based on delivery order(s)." -msgstr "" +msgstr "如果你没有“添加引用”,当基于送货单开票时,将计算精确的价格。" #. module: delivery #: field:delivery.carrier,partner_id:0 @@ -293,7 +311,7 @@ msgstr "免费送货的订单金额,以公司本位币显示" #. module: delivery #: field:delivery.carrier,free_if_more_than:0 msgid "Free If Order Total Amount Is More Than" -msgstr "" +msgstr "当订单总额多于 时,免费" #. module: delivery #: field:delivery.grid.line,grid_id:0 @@ -409,7 +427,7 @@ msgstr "条件" #. module: delivery #: constraint:stock.move:0 msgid "You must assign a serial number for this product." -msgstr "" +msgstr "你必须为这个产品指定序列号" #. module: delivery #: field:delivery.grid.line,standard_price:0 @@ -419,7 +437,7 @@ msgstr "成本价" #. module: delivery #: constraint:stock.move:0 msgid "You cannot move products from or to a location of the type view." -msgstr "" +msgstr "你不能从视图类型的库位移动" #. module: delivery #: selection:delivery.grid.line,price_type:0 @@ -474,7 +492,7 @@ msgstr "订单号必须在一个公司范围内唯一" #. module: delivery #: model:ir.model,name:delivery.model_stock_picking_in msgid "Incoming Shipments" -msgstr "" +msgstr "入库" #. module: delivery #: selection:delivery.grid.line,operator:0 @@ -484,7 +502,7 @@ msgstr "<=" #. module: delivery #: constraint:stock.move:0 msgid "You try to assign a lot which is not from the same product." -msgstr "" +msgstr "您企图为不一样的产品创建批号" #. module: delivery #: report:sale.shipping:0 @@ -558,7 +576,7 @@ msgstr "承运方" #: model:ir.actions.act_window,name:delivery.action_delivery_carrier_form #: model:ir.ui.menu,name:delivery.menu_action_delivery_carrier_form msgid "Delivery Methods" -msgstr "" +msgstr "运输方法" #. module: delivery #: field:sale.order,id:0 @@ -589,7 +607,7 @@ msgstr "销售价格" #. module: delivery #: view:stock.picking.out:0 msgid "Print Delivery Order" -msgstr "" +msgstr "打印送货单" #. module: delivery #: view:delivery.grid:0 diff --git a/addons/delivery/sale.py b/addons/delivery/sale.py index 3ed3756a733..24da03bf1d8 100644 --- a/addons/delivery/sale.py +++ b/addons/delivery/sale.py @@ -31,10 +31,10 @@ class sale_order(osv.osv): 'id': fields.integer('ID', readonly=True,invisible=True), } - def onchange_partner_id(self, cr, uid, ids, part): - result = super(sale_order, self).onchange_partner_id(cr, uid, ids, part) + def onchange_partner_id(self, cr, uid, ids, part, context=None): + result = super(sale_order, self).onchange_partner_id(cr, uid, ids, part, context=context) if part: - dtype = self.pool.get('res.partner').browse(cr, uid, part).property_delivery_carrier.id + dtype = self.pool.get('res.partner').browse(cr, uid, part, context=context).property_delivery_carrier.id result['value']['carrier_id'] = dtype return result diff --git a/addons/document/i18n/nb.po b/addons/document/i18n/nb.po index 7858ff1dde4..4a9ea425402 100644 --- a/addons/document/i18n/nb.po +++ b/addons/document/i18n/nb.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-11-20 17:33+0000\n" -"Last-Translator: FULL NAME \n" +"PO-Revision-Date: 2012-11-26 14:59+0000\n" +"Last-Translator: Kaare Pettersen \n" "Language-Team: Norwegian Bokmal \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:17+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-27 05:24+0000\n" +"X-Generator: Launchpad (build 16309)\n" #. module: document #: field:document.directory,parent_id:0 @@ -41,7 +41,7 @@ msgstr "" #. module: document #: sql_constraint:document.directory:0 msgid "Directory must have a parent or a storage." -msgstr "" +msgstr "Katalog må ha en overordnede eller en lagringsplass." #. module: document #: view:document.directory:0 @@ -54,6 +54,8 @@ msgid "" "Field to be used as name on resource directories. If empty, the \"name\" " "will be used." msgstr "" +"Feltet for å bli brukt som navn på ressurs kataloger. Hvis tomt, vil " +"\"navn\" benyttes." #. module: document #: view:document.directory:0 @@ -64,7 +66,7 @@ msgstr "Grupper etter ..." #. module: document #: model:ir.model,name:document.model_document_directory_content_type msgid "Directory Content Type" -msgstr "" +msgstr "Katalog Innholdstype." #. module: document #: view:document.directory:0 @@ -142,7 +144,7 @@ msgstr "Filtrere på mine dokumenter." #: view:ir.attachment:0 #: field:ir.attachment,index_content:0 msgid "Indexed Content" -msgstr "" +msgstr "Indeksert innhold." #. module: document #: help:document.directory,resource_find_all:0 @@ -150,6 +152,8 @@ msgid "" "If true, all attachments that match this resource will be located. If " "false, only ones that have this as parent." msgstr "" +"Hvis sant, vil alle vedlegg som samsvarer denne ressursen bli plassert. Hvis " +"falsk, eneste som har dette som overordnede." #. module: document #: view:document.directory:0 @@ -273,7 +277,7 @@ msgstr "Innholdstype" #. module: document #: view:ir.attachment:0 msgid "Modification" -msgstr "" +msgstr "Endring." #. module: document #: view:document.directory:0 @@ -288,7 +292,7 @@ msgstr "Type" #: code:addons/document/document_directory.py:234 #, python-format msgid "%s (copy)" -msgstr "" +msgstr "%s (kopi)" #. module: document #: help:document.directory,ressource_type_id:0 @@ -306,7 +310,7 @@ msgstr "" #. module: document #: constraint:document.directory:0 msgid "Error! You cannot create recursive directories." -msgstr "" +msgstr "Feil! Du kan ikke opprette rekursive kataloger." #. module: document #: field:document.directory,resource_field:0 @@ -316,7 +320,7 @@ msgstr "Felt navn." #. module: document #: field:document.directory,dctx_ids:0 msgid "Context fields" -msgstr "" +msgstr "Kontekst felt." #. module: document #: field:ir.attachment,store_fname:0 @@ -347,13 +351,13 @@ msgstr "Utvidelse" #. module: document #: field:document.directory,content_ids:0 msgid "Virtual Files" -msgstr "" +msgstr "Virtuelle filer." #. module: document #: code:addons/document/document_storage.py:635 #, python-format msgid "Error at doc write!" -msgstr "" +msgstr "Feil på doc skrive!" #. module: document #: view:document.directory:0 @@ -394,12 +398,12 @@ msgstr "Siste endring bruker." #: model:ir.actions.act_window,name:document.action_view_files_by_user_graph #: view:report.document.user:0 msgid "Files by User" -msgstr "" +msgstr "Filene etter bruker." #. module: document #: view:ir.attachment:0 msgid "on" -msgstr "" +msgstr "på." #. module: document #: field:document.directory,domain:0 @@ -455,11 +459,12 @@ msgstr "Definere ord i sammenheng, for alle underordnede kataloger og filer." msgid "" "If not checked, media is currently offline and its contents not available" msgstr "" +"Hvis det ikke er merket, er media offline og dens innhold ikke tilgjengelig." #. module: document #: field:report.document.user,user:0 msgid "unknown" -msgstr "" +msgstr "Ukjent." #. module: document #: view:document.directory:0 @@ -505,12 +510,12 @@ msgstr "" #: model:ir.actions.act_window,name:document.open_board_document_manager #: model:ir.ui.menu,name:document.menu_reports_document msgid "Knowledge" -msgstr "" +msgstr "Kunnskap." #. module: document #: view:document.storage:0 msgid "Document Storage" -msgstr "" +msgstr "Dokument lager." #. module: document #: view:document.configuration:0 @@ -552,7 +557,7 @@ msgstr "" #: code:addons/document/static/src/js/document.js:6 #, python-format msgid "Attachment(s)" -msgstr "" +msgstr "Vedlegg(s)" #. module: document #: selection:report.document.user,month:0 @@ -562,7 +567,7 @@ msgstr "August" #. module: document #: view:ir.attachment:0 msgid "My Document(s)" -msgstr "" +msgstr "Mine dokumenter." #. module: document #: sql_constraint:document.directory:0 @@ -648,7 +653,7 @@ msgstr "Katalogen Navnet må være unikt!" #. module: document #: view:ir.attachment:0 msgid "Attachments" -msgstr "" +msgstr "Vedlegg." #. module: document #: field:document.directory,create_uid:0 @@ -690,17 +695,17 @@ msgstr "Underordnede" #. module: document #: view:board.board:0 msgid "Files by user" -msgstr "" +msgstr "Filer av bruker." #. module: document #: selection:document.storage,type:0 msgid "External file storage" -msgstr "" +msgstr "Ekstern fillagring." #. module: document #: help:document.storage,path:0 msgid "For file storage, the root path of the storage" -msgstr "" +msgstr "For fil lagring, rotbanen Av lagring." #. module: document #: field:document.directory.dctx,field:0 @@ -752,7 +757,7 @@ msgstr "ir.vedlegg" #. module: document #: view:report.document.user:0 msgid "Users File" -msgstr "" +msgstr "Brukerens fil." #. module: document #: view:document.directory:0 @@ -795,7 +800,7 @@ msgstr "Navn" #. module: document #: sql_constraint:document.storage:0 msgid "The storage path must be unique!" -msgstr "" +msgstr "Lagrings stien må være unik!" #. module: document #: view:document.directory:0 @@ -805,7 +810,7 @@ msgstr "Felter" #. module: document #: help:document.storage,readonly:0 msgid "If set, media is for reading only" -msgstr "" +msgstr "Hvis innstilt, er media for lesing bare." #. module: document #: selection:report.document.user,month:0 @@ -821,7 +826,7 @@ msgstr "# av filer." #. module: document #: view:document.storage:0 msgid "Search Document Storage" -msgstr "" +msgstr "Søk dokument lagring." #. module: document #: view:document.directory:0 @@ -837,7 +842,7 @@ msgstr "" #: code:addons/document/static/src/js/document.js:17 #, python-format msgid "%s (%s)" -msgstr "" +msgstr "%s (%s)" #. module: document #: field:document.directory.content,sequence:0 @@ -847,7 +852,7 @@ msgstr "Sekvens" #. module: document #: field:document.directory.content,name:0 msgid "Content Name" -msgstr "" +msgstr "Innhold navn." #. module: document #: field:report.document.user,datas_fname:0 @@ -857,7 +862,7 @@ msgstr "Filnavn" #. module: document #: selection:document.storage,type:0 msgid "Internal File storage" -msgstr "" +msgstr "Intern Fillagring." #. module: document #: view:document.configuration:0 @@ -886,7 +891,7 @@ msgstr "Lagringsmedium" #. module: document #: field:document.directory.content,extension:0 msgid "Document Type" -msgstr "" +msgstr "Dokumenttype." #~ msgid "Files per Month" #~ msgstr "Filer per måned." diff --git a/addons/document/wizard/document_configuration_view.xml b/addons/document/wizard/document_configuration_view.xml index 48b41f94500..ec7b13d123a 100644 --- a/addons/document/wizard/document_configuration_view.xml +++ b/addons/document/wizard/document_configuration_view.xml @@ -11,10 +11,9 @@ Knowledge Application Configuration - - + +

    OpenERP's Document Management System supports mapping virtual folders with documents. The virtual folder of a document can be used to manage the files attached to the document, or to print and download any report. This tool will create directories automatically according to modules installed.

    +

    When executing this wizard, it will configure your directories automatically according to modules installed.

    diff --git a/addons/document_webdav/i18n/zh_CN.po b/addons/document_webdav/i18n/zh_CN.po index 86a4e7ea912..0c7c6a448d5 100644 --- a/addons/document_webdav/i18n/zh_CN.po +++ b/addons/document_webdav/i18n/zh_CN.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-10 07:02+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-27 16:44+0000\n" +"Last-Translator: ccdos \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: 2012-11-25 06:18+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" +"X-Generator: Launchpad (build 16309)\n" #. module: document_webdav #: field:document.webdav.dir.property,create_date:0 @@ -30,7 +30,7 @@ msgstr "文档" #. module: document_webdav #: view:document.webdav.dir.property:0 msgid "Document property" -msgstr "" +msgstr "单据属性" #. module: document_webdav #: view:document.webdav.dir.property:0 @@ -41,7 +41,7 @@ msgstr "文档属性列表" #. module: document_webdav #: sql_constraint:document.directory:0 msgid "Directory must have a parent or a storage." -msgstr "" +msgstr "目录必须有个上级或者是存储" #. module: document_webdav #: view:document.webdav.dir.property:0 @@ -182,7 +182,7 @@ msgstr "创建人" #. module: document_webdav #: view:document.webdav.file.property:0 msgid "Document Property" -msgstr "" +msgstr "单据属性" #. module: document_webdav #: model:ir.ui.menu,name:document_webdav.menu_properties @@ -192,7 +192,7 @@ msgstr "DAV属性" #. module: document_webdav #: constraint:document.directory:0 msgid "Error! You cannot create recursive directories." -msgstr "" +msgstr "错误!你不能创建循环目录" #. module: document_webdav #: field:document.webdav.dir.property,do_subst:0 diff --git a/addons/edi/controllers/main.py b/addons/edi/controllers/main.py index 10bf214d921..14cd97b3e62 100644 --- a/addons/edi/controllers/main.py +++ b/addons/edi/controllers/main.py @@ -23,10 +23,9 @@ class EDI(openerpweb.Controller): @openerpweb.jsonrequest def import_edi_url(self, req, url): - context = req.session.eval_context(req.context) result = req.session.proxy('edi').import_edi_url(req.session._db, req.session._uid, req.session._password, url) if len(result) == 1: - return {"action": webmain.clean_action(req, result[0][2], context)} + return {"action": webmain.clean_action(req, result[0][2])} return True # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/edi/i18n/tr.po b/addons/edi/i18n/tr.po index aea467b0a0f..26e12724682 100644 --- a/addons/edi/i18n/tr.po +++ b/addons/edi/i18n/tr.po @@ -8,28 +8,28 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-09 22:33+0000\n" +"PO-Revision-Date: 2012-11-27 22:29+0000\n" "Last-Translator: Ahmet Altınışık \n" "Language-Team: Turkish \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:32+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" +"X-Generator: Launchpad (build 16309)\n" #. module: edi #. openerp-web #: code:addons/edi/static/src/js/edi.js:67 #, python-format msgid "Reason:" -msgstr "" +msgstr "Neden:" #. module: edi #. openerp-web #: code:addons/edi/static/src/js/edi.js:60 #, python-format msgid "The document has been successfully imported!" -msgstr "" +msgstr "öküman başarılı bir şekilde içeri alındı!" #. module: edi #: sql_constraint:res.company:0 @@ -46,7 +46,7 @@ msgstr "Hata ! kendini çağıran ilişkili üyeler oluşturamazsınız." #: code:addons/edi/static/src/js/edi.js:65 #, python-format msgid "Sorry, the document could not be imported." -msgstr "" +msgstr "Üzgünüm, Döküman içeri alınamadı." #. module: edi #: constraint:res.company:0 @@ -61,7 +61,7 @@ msgstr "Şirketler" #. module: edi #: constraint:res.partner:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "Hata: Geçersiz EAN barkodu" #. module: edi #: sql_constraint:res.currency:0 @@ -78,13 +78,13 @@ msgstr "Döviz" #: code:addons/edi/static/src/js/edi.js:71 #, python-format msgid "Document Import Notification" -msgstr "" +msgstr "Döküman içeri alma Uyarısı" #. module: edi #: code:addons/edi/models/edi.py:130 #, python-format msgid "Missing application." -msgstr "" +msgstr "Kayıp Uygulama" #. module: edi #: code:addons/edi/models/edi.py:131 @@ -114,11 +114,13 @@ msgid "" "Error! You cannot define a rounding factor for the company's main currency " "that is smaller than the decimal precision of 'Account'." msgstr "" +"Hata! Şirketin ana hesap dövizi için Muhasebe ondalık hassasiyetinden daha " +"küçük bir yuvarlama çarpanı seçemezsiniz." #. module: edi #: model:ir.model,name:edi.model_edi_edi msgid "EDI Subsystem" -msgstr "" +msgstr "EDI altsistemi" #~ msgid "Partner Addresses" #~ msgstr "Cari Adresleri" diff --git a/addons/edi/i18n/zh_CN.po b/addons/edi/i18n/zh_CN.po index 5f9d159b7b3..4a71e45fa8e 100644 --- a/addons/edi/i18n/zh_CN.po +++ b/addons/edi/i18n/zh_CN.po @@ -8,28 +8,28 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-17 03:29+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-28 07:46+0000\n" +"Last-Translator: ccdos \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:32+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: edi #. openerp-web #: code:addons/edi/static/src/js/edi.js:67 #, python-format msgid "Reason:" -msgstr "" +msgstr "原因:" #. module: edi #. openerp-web #: code:addons/edi/static/src/js/edi.js:60 #, python-format msgid "The document has been successfully imported!" -msgstr "" +msgstr "这个单据已经被成功导入!" #. module: edi #: sql_constraint:res.company:0 @@ -46,7 +46,7 @@ msgstr "错误,您不能创建循环引用的会员用户" #: code:addons/edi/static/src/js/edi.js:65 #, python-format msgid "Sorry, the document could not be imported." -msgstr "" +msgstr "对不起,这个单据不能导入!" #. module: edi #: constraint:res.company:0 @@ -61,7 +61,7 @@ msgstr "公司" #. module: edi #: constraint:res.partner:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "错误:无效的(EAN)条码" #. module: edi #: sql_constraint:res.currency:0 @@ -78,13 +78,13 @@ msgstr "货币" #: code:addons/edi/static/src/js/edi.js:71 #, python-format msgid "Document Import Notification" -msgstr "" +msgstr "单据导入通知" #. module: edi #: code:addons/edi/models/edi.py:130 #, python-format msgid "Missing application." -msgstr "" +msgstr "找不到的应用。" #. module: edi #: code:addons/edi/models/edi.py:131 @@ -111,12 +111,12 @@ msgstr "业务伙伴" msgid "" "Error! You cannot define a rounding factor for the company's main currency " "that is smaller than the decimal precision of 'Account'." -msgstr "" +msgstr "错误!公司本位币的舍入系数不能定义得小于”科目“的小数位数" #. module: edi #: model:ir.model,name:edi.model_edi_edi msgid "EDI Subsystem" -msgstr "" +msgstr "EDI 子系统" #~ msgid "Partner Addresses" #~ msgstr "业务伙伴地址" diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml index 14895f2a1a7..a9a60570735 100644 --- a/addons/event/event_view.xml +++ b/addons/event/event_view.xml @@ -59,7 +59,7 @@ - Mark unread + Event: Mark unread True ir.actions.server @@ -77,7 +77,7 @@ - Mark read + Event: Mark read True ir.actions.server @@ -107,7 +107,7 @@ -
    +
    @@ -204,7 +204,7 @@
    - +
    @@ -377,7 +377,7 @@ - Mark unread + Event registration : Mark unread True ir.actions.server @@ -395,7 +395,7 @@ - Mark read + Event registration : Mark read True ir.actions.server @@ -538,7 +538,7 @@ tree,form,calendar,graph {} - view_ + \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: 2012-11-25 05:44+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-27 05:23+0000\n" +"X-Generator: Launchpad (build 16309)\n" #. module: event #: view:event.event:0 @@ -61,7 +61,7 @@ msgstr "" #: code:addons/event/event.py:305 #, python-format msgid "Event has been cancelled." -msgstr "" +msgstr "Evenement is geannuleerd" #. module: event #: field:event.registration,date_open:0 @@ -112,12 +112,12 @@ msgstr "Bedrijf" #: field:event.event,email_confirmation_id:0 #: field:event.type,default_email_event:0 msgid "Event Confirmation Email" -msgstr "" +msgstr "Evenement bevestign e-mail" #. module: event #: field:event.type,default_registration_max:0 msgid "Default Maximum Registration" -msgstr "" +msgstr "Standaard maximum registraties" #. module: event #: help:event.event,message_unread:0 @@ -139,7 +139,7 @@ msgstr "Evenementregistratie" #. module: event #: model:ir.module.category,description:event.module_category_event_management msgid "Helps you manage your Events." -msgstr "" +msgstr "Helpt u ik het beheersen van evenementen." #. module: event #: view:report.event.registration:0 @@ -349,7 +349,7 @@ msgstr "Georganiseerd door" #. module: event #: view:event.event:0 msgid "Register with this event" -msgstr "" +msgstr "Registreer voor dit benemend." #. module: event #: help:event.type,default_email_registration:0 @@ -424,7 +424,7 @@ msgstr "Aanmaakdatum" #: view:report.event.registration:0 #: field:report.event.registration,user_id:0 msgid "Event Responsible" -msgstr "" +msgstr "Evenement verantwoordelijke." #. module: event #: view:event.event:0 @@ -477,7 +477,7 @@ msgstr "Spreker welke een speech zal geven tijdens het evenement" #: code:addons/event/event.py:457 #, python-format msgid "Registration has been created." -msgstr "" +msgstr "Registratie is aangemaakt." #. module: event #: view:event.event:0 @@ -488,7 +488,7 @@ msgstr "Annuleer evenement" #: code:addons/event/event.py:398 #, python-format msgid "State set to Done" -msgstr "" +msgstr "Status ingesteld op 'Gereed'" #. module: event #: model:ir.actions.act_window,name:event.act_event_reg @@ -509,7 +509,7 @@ msgstr "Onbevestigde inschrijvingen" #. module: event #: model:ir.actions.client,name:event.action_client_event_menu msgid "Open Event Menu" -msgstr "" +msgstr "Open menu Evenementen" #. module: event #: view:report.event.registration:0 @@ -546,7 +546,7 @@ msgstr " # aantal voorlopige inschrijvingen" #: field:event.event,email_registration_id:0 #: field:event.type,default_email_registration:0 msgid "Registration Confirmation Email" -msgstr "" +msgstr "Registratie bevestiging e-mail" #. module: event #: view:report.event.registration:0 @@ -557,12 +557,12 @@ msgstr "Maand" #. module: event #: field:event.registration,date_closed:0 msgid "Attended Date" -msgstr "" +msgstr "Datum deelname" #. module: event #: view:event.event:0 msgid "Finish Event" -msgstr "" +msgstr "Evenement einde" #. module: event #: model:ir.actions.server,name:event.actions_server_event_event_unread @@ -599,13 +599,13 @@ msgstr "" #. module: event #: help:res.partner,speaker:0 msgid "Check this box if this contact is a speaker." -msgstr "" +msgstr "Vink dit aan als het contactpersoon een spreker is." #. module: event #: code:addons/event/event.py:116 #, python-format msgid "No Tickets Available!" -msgstr "" +msgstr "Geen tickets beschikbaar." #. module: event #: help:event.event,state:0 @@ -686,7 +686,7 @@ msgstr "Evenementen in de 'Nieuw' status" #: code:addons/event/event.py:404 #, python-format msgid "State set to Cancel" -msgstr "" +msgstr "Status ingesteld op 'Geannuleerd'" #. module: event #: view:event.event:0 @@ -797,7 +797,7 @@ msgstr "" #. module: event #: view:event.event:0 msgid "(confirmed:" -msgstr "" +msgstr "(bevestigd:" #. module: event #: view:event.registration:0 @@ -865,13 +865,13 @@ msgstr "Email instellingen" #. module: event #: field:event.type,default_registration_min:0 msgid "Default Minimum Registration" -msgstr "" +msgstr "Standaard minimaal aantal registraties." #. module: event #: code:addons/event/event.py:368 #, python-format msgid "Registration confirmed." -msgstr "" +msgstr "Registratie bevestigd." #. module: event #: field:event.event,address_id:0 @@ -894,7 +894,7 @@ msgstr "" #. module: event #: view:event.event:0 msgid "Attended the Event" -msgstr "" +msgstr "Was aanwezig bij dit evenement." #. module: event #: constraint:event.event:0 @@ -921,7 +921,7 @@ msgstr "Afgerond" #. module: event #: view:report.event.registration:0 msgid "Show Confirmed Registrations" -msgstr "" +msgstr "Toon bevestigde registraties." #. module: event #: view:event.confirm:0 @@ -931,7 +931,7 @@ msgstr "Annuleren" #. module: event #: field:event.registration,reply_to:0 msgid "Reply-to Email" -msgstr "" +msgstr "Antwoord aan e-mail." #. module: event #: code:addons/event/event.py:114 @@ -948,7 +948,7 @@ msgstr "" #. module: event #: view:event.registration:0 msgid "Set To Unconfirmed" -msgstr "" +msgstr "Stel in op 'Onbevestigd'" #. module: event #: view:event.event:0 diff --git a/addons/event/i18n/zh_CN.po b/addons/event/i18n/zh_CN.po index 8df0dadcd18..f8ad33aebee 100644 --- a/addons/event/i18n/zh_CN.po +++ b/addons/event/i18n/zh_CN.po @@ -7,30 +7,30 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-16 14:07+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-29 01:57+0000\n" +"Last-Translator: mrshelly \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: 2012-11-25 05:44+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:13+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: event #: view:event.event:0 #: view:report.event.registration:0 msgid "My Events" -msgstr "我的事件" +msgstr "我的活动" #. module: event #: field:event.registration,nb_register:0 msgid "Number of Participants" -msgstr "" +msgstr "参与者数目" #. module: event #: field:event.event,register_attended:0 msgid "# of Participations" -msgstr "" +msgstr "参与编号#" #. module: event #: field:event.event,main_speaker_id:0 @@ -61,12 +61,12 @@ msgstr "" #: code:addons/event/event.py:305 #, python-format msgid "Event has been cancelled." -msgstr "" +msgstr "活动 已经被取消." #. module: event #: field:event.registration,date_open:0 msgid "Registration Date" -msgstr "登记记录日期" +msgstr "活动日期" #. module: event #: help:event.registration,origin:0 @@ -76,7 +76,7 @@ msgstr "" #. module: event #: field:event.event,type:0 msgid "Type of Event" -msgstr "" +msgstr "活动类型" #. module: event #: model:event.event,name:event.event_0 @@ -88,17 +88,17 @@ msgstr "Bon Jovi音乐会" #: selection:event.registration,state:0 #: selection:report.event.registration,registration_state:0 msgid "Attended" -msgstr "" +msgstr "参加" #. module: event #: selection:report.event.registration,month:0 msgid "March" -msgstr "3月" +msgstr "三月" #. module: event #: view:event.registration:0 msgid "Send Email" -msgstr "" +msgstr "发送邮件" #. module: event #: field:event.event,company_id:0 @@ -112,29 +112,29 @@ msgstr "公司" #: field:event.event,email_confirmation_id:0 #: field:event.type,default_email_event:0 msgid "Event Confirmation Email" -msgstr "" +msgstr "活动确认邮件" #. module: event #: field:event.type,default_registration_max:0 msgid "Default Maximum Registration" -msgstr "" +msgstr "默认最多的注册者" #. module: event #: help:event.event,message_unread:0 #: help:event.registration,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "如果要求你关注新消息,勾选此项" #. module: event #: field:event.event,register_avail:0 msgid "Available Registrations" -msgstr "" +msgstr "可注册项目" #. module: event #: view:event.registration:0 #: model:ir.model,name:event.model_event_registration msgid "Event Registration" -msgstr "事件登记记录" +msgstr "活动登记记录" #. module: event #: model:ir.module.category,description:event.module_category_event_management @@ -149,7 +149,7 @@ msgstr "" #. module: event #: view:report.event.registration:0 msgid "Event on Registration" -msgstr "登记记录的事件" +msgstr "登记记录的活动" #. module: event #: view:event.event:0 @@ -167,12 +167,12 @@ msgstr "活动开始日期" #: model:ir.ui.menu,name:event.menu_report_event_registration #: view:report.event.registration:0 msgid "Events Analysis" -msgstr "事件分析" +msgstr "活动分析" #. module: event #: help:event.type,default_registration_max:0 msgid "It will select this default maximum value when you choose this event" -msgstr "" +msgstr "当你选择这个活动,将选择默认最大值" #. module: event #: view:report.event.registration:0 @@ -207,13 +207,13 @@ msgstr "错误!" #. module: event #: view:event.event:0 msgid "Confirm Event" -msgstr "确认事件" +msgstr "确认活动" #. module: event #: view:board.board:0 #: model:ir.actions.act_window,name:event.act_event_view msgid "Next Events" -msgstr "下一个事件" +msgstr "下一个活动" #. module: event #: selection:event.event,state:0 @@ -236,23 +236,23 @@ msgstr "Verdi歌剧" #. module: event #: view:report.event.registration:0 msgid "Display" -msgstr "" +msgstr "显示" #. module: event #: view:report.event.registration:0 #: field:report.event.registration,registration_state:0 msgid "Registration State" -msgstr "" +msgstr "等级状态" #. module: event #: view:event.event:0 msgid "tickets" -msgstr "" +msgstr "门票" #. module: event #: view:res.partner:0 msgid "False" -msgstr "" +msgstr "False" #. module: event #: model:mail.message.subtype,name:event.mt_event_registration @@ -262,7 +262,7 @@ msgstr "" #. module: event #: field:event.registration,event_end_date:0 msgid "Event End Date" -msgstr "" +msgstr "活动结束日期" #. module: event #: help:event.event,message_summary:0 @@ -270,7 +270,7 @@ msgstr "" msgid "" "Holds the Chatter summary (number of messages, ...). This summary is " "directly in html format in order to be inserted in kanban views." -msgstr "" +msgstr "保存复杂的摘要(消息数量,……等)。为了插入到看板视图,这一摘要直接是是HTML格式。" #. module: event #: view:report.event.registration:0 @@ -300,12 +300,12 @@ msgstr "业务伙伴" #. module: event #: help:event.type,default_registration_min:0 msgid "It will select this default minimum value when you choose this event" -msgstr "" +msgstr "当你选择这个活动,将选择默认最小值" #. module: event #: model:ir.model,name:event.model_event_type msgid " Event Type " -msgstr " 事件类型 " +msgstr " 活动类型 " #. module: event #: view:event.registration:0 @@ -315,7 +315,7 @@ msgstr " 事件类型 " #: field:report.event.registration,event_id:0 #: view:res.partner:0 msgid "Event" -msgstr "事件" +msgstr "活动" #. module: event #: view:event.event:0 @@ -346,14 +346,14 @@ msgstr "" #. module: event #: view:event.event:0 msgid "Register with this event" -msgstr "" +msgstr "注册这次活动" #. module: event #: help:event.type,default_email_registration:0 msgid "" "It will select this default confirmation registration mail value when you " "choose this event" -msgstr "" +msgstr "当你选择这个活动,将选择确认登记邮件值" #. module: event #: view:event.event:0 @@ -421,7 +421,7 @@ msgstr "创建日期" #: view:report.event.registration:0 #: field:report.event.registration,user_id:0 msgid "Event Responsible" -msgstr "" +msgstr "活动负责人" #. module: event #: view:event.event:0 @@ -453,7 +453,7 @@ msgstr "" #. module: event #: view:event.event:0 msgid "Event Organization" -msgstr "事件结构" +msgstr "活动组织机构" #. module: event #: view:event.confirm:0 @@ -463,7 +463,7 @@ msgstr "总是确认" #. module: event #: field:report.event.registration,nbevent:0 msgid "Number Of Events" -msgstr "事件数" +msgstr "活动数量" #. module: event #: help:event.event,main_speaker_id:0 @@ -479,7 +479,7 @@ msgstr "" #. module: event #: view:event.event:0 msgid "Cancel Event" -msgstr "取消事件" +msgstr "取消活动" #. module: event #: code:addons/event/event.py:398 @@ -491,12 +491,12 @@ msgstr "" #: model:ir.actions.act_window,name:event.act_event_reg #: view:report.event.registration:0 msgid "Events Filling Status" -msgstr "事件填充状态" +msgstr "活动填充状态" #. module: event #: view:event.event:0 msgid "Event Category" -msgstr "" +msgstr "活动分类" #. module: event #: field:event.event,register_prospect:0 @@ -506,13 +506,13 @@ msgstr "不确认登记记录" #. module: event #: model:ir.actions.client,name:event.action_client_event_menu msgid "Open Event Menu" -msgstr "" +msgstr "打开活动菜单" #. module: event #: view:report.event.registration:0 #: field:report.event.registration,event_state:0 msgid "Event State" -msgstr "" +msgstr "活动状态" #. module: event #: field:event.registration,log_ids:0 @@ -559,7 +559,7 @@ msgstr "" #. module: event #: view:event.event:0 msgid "Finish Event" -msgstr "" +msgstr "结束活动" #. module: event #: model:ir.actions.server,name:event.actions_server_event_event_unread @@ -575,7 +575,7 @@ msgstr "未确认状态的报名者" #. module: event #: view:event.event:0 msgid "Event Description" -msgstr "" +msgstr "活动描述" #. module: event #: field:event.event,date_begin:0 @@ -591,7 +591,7 @@ msgstr "" #: code:addons/event/event.py:315 #, python-format msgid "Event has been done." -msgstr "" +msgstr "活动已经 完成" #. module: event #: help:res.partner,speaker:0 @@ -627,6 +627,12 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" 单击添加一个新的活动\n" +"

    \n" +" OpenERP帮你排程并有效地组织活动:跟踪订阅和参与、自动确认邮件、卖票等等。\n" +"

    \n" +" " #. module: event #: help:event.event,register_max:0 @@ -634,7 +640,7 @@ msgid "" "You can for each event define a maximum registration level. If you have too " "much registrations you are not able to confirm your event. (put 0 to ignore " "this rule )" -msgstr "" +msgstr "你能为每个活动定义最大的登记水平。如果你有太多的登记,你不能确认你的活动。(输入0忽略这个规则)" #. module: event #: code:addons/event/event.py:462 @@ -649,14 +655,14 @@ msgid "" "The total of confirmed registration for the event '%s' does not meet the " "expected minimum/maximum. Please reconsider those limits before going " "further." -msgstr "" +msgstr "活动 '%s' 的确认登记合计没有遇到最小或最大值。进一步深入前请重新考虑这些限制。" #. module: event #: help:event.event,email_confirmation_id:0 msgid "" "If you set an email template, each participant will receive this email " "announcing the confirmation of the event." -msgstr "" +msgstr "如果你设定了邮件模板,每个参与者将收到邮件公告确认次次活动。" #. module: event #: view:board.board:0 @@ -696,7 +702,7 @@ msgstr "" #: model:ir.ui.menu,name:event.menu_reporting_events #: view:res.partner:0 msgid "Events" -msgstr "事件" +msgstr "活动" #. module: event #: view:event.event:0 @@ -743,7 +749,7 @@ msgid "" "The email address of the organizer which is put in the 'Reply-To' of all " "emails sent automatically at event or registrations confirmation. You can " "also put your email address of your mail gateway if you use one." -msgstr "" +msgstr "在自动发送的活动或者登记确认的email中,组织者的email地址放在'Reply-To' 。你也能放你用的邮件网关的Email地址" #. module: event #: help:event.event,message_ids:0 @@ -787,7 +793,7 @@ msgstr "" msgid "" "Warning: This Event has not reached its Minimum Registration Limit. Are you " "sure you want to confirm it?" -msgstr "警告:这事件没有达到最低登记记录的规定,你肯定要确认它?" +msgstr "警告:这活动没有达到最低登记记录的规定,你肯定要确认它?" #. module: event #: view:event.event:0 @@ -803,7 +809,7 @@ msgstr "我的登记记录" #: code:addons/event/event.py:310 #, python-format msgid "Event has been set to draft." -msgstr "" +msgstr "活动被设置为“草稿”状态" #. module: event #: view:report.event.registration:0 @@ -877,7 +883,7 @@ msgstr "地址" #: model:ir.actions.act_window,name:event.action_event_type #: model:ir.ui.menu,name:event.menu_event_type msgid "Types of Events" -msgstr "事件类型" +msgstr "活动类型" #. module: event #: help:event.event,email_registration_id:0 @@ -889,7 +895,7 @@ msgstr "" #. module: event #: view:event.event:0 msgid "Attended the Event" -msgstr "" +msgstr "参加活动" #. module: event #: constraint:event.event:0 @@ -900,7 +906,7 @@ msgstr "错误!结束日期不能在开始日期前。" #: code:addons/event/event.py:400 #, python-format msgid "You must wait for the starting day of the event to do this action." -msgstr "" +msgstr "你必须等待活动开始才能做这些动作" #. module: event #: field:event.event,user_id:0 @@ -938,7 +944,7 @@ msgstr "" #: model:email.template,subject:event.confirmation_event #: model:email.template,subject:event.confirmation_registration msgid "Your registration at ${object.event_id.name}" -msgstr "" +msgstr "你的登记在${object.event_id.name}" #. module: event #: view:event.registration:0 @@ -977,13 +983,13 @@ msgstr "关注者" #. module: event #: view:event.event:0 msgid "Upcoming events from today" -msgstr "" +msgstr "今天将开始的活动" #. module: event #: code:addons/event/event.py:300 #, python-format msgid "Event has been created." -msgstr "" +msgstr "活动已经被'创建'" #. module: event #: model:event.event,name:event.event_2 @@ -1014,12 +1020,12 @@ msgstr "" #: code:addons/event/event.py:320 #, python-format msgid "Event has been confirmed." -msgstr "" +msgstr "活动已经被'确认'" #. module: event #: view:res.partner:0 msgid "Events Registration" -msgstr "事件登记记录" +msgstr "活动登记记录" #. module: event #: view:event.event:0 @@ -1115,7 +1121,7 @@ msgstr "已确认状态的活动" #: view:report.event.registration:0 #: field:report.event.registration,event_type:0 msgid "Event Type" -msgstr "事件类型" +msgstr "活动类型" #. module: event #: field:event.event,message_summary:0 @@ -1148,7 +1154,7 @@ msgstr "错误,您不能创建循环引用的会员用户" #: field:event.registration,event_begin_date:0 #: field:report.event.registration,event_date:0 msgid "Event Start Date" -msgstr "事件开始日期" +msgstr "活动开始日期" #. module: event #: view:report.event.registration:0 @@ -1203,7 +1209,7 @@ msgstr "错误:无效EAN编码" #: model:ir.actions.act_window,name:event.action_event_confirm #: model:ir.model,name:event.model_event_confirm msgid "Event Confirmation" -msgstr "事件确认" +msgstr "活动确认" #. module: event #: view:report.event.registration:0 diff --git a/addons/event_sale/i18n/zh_CN.po b/addons/event_sale/i18n/zh_CN.po new file mode 100644 index 00000000000..84a135bab6d --- /dev/null +++ b/addons/event_sale/i18n/zh_CN.po @@ -0,0 +1,101 @@ +# Chinese (Simplified) translation for openobject-addons +# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR , 2012. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME \n" +"POT-Creation-Date: 2012-11-24 02:52+0000\n" +"PO-Revision-Date: 2012-11-29 01:53+0000\n" +"Last-Translator: mrshelly \n" +"Language-Team: Chinese (Simplified) \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: event_sale +#: model:ir.model,name:event_sale.model_product_product +msgid "Product" +msgstr "产品" + +#. module: event_sale +#: help:product.product,event_ok:0 +msgid "" +"Determine if a product needs to create automatically an event registration " +"at the confirmation of a sale order line." +msgstr "销售订单确认时自动创建产品的相关活动." + +#. module: event_sale +#: help:sale.order.line,event_id:0 +msgid "" +"Choose an event and it will automatically create a registration for this " +"event." +msgstr "选择活动" + +#. module: event_sale +#: sql_constraint:product.product:0 +msgid "Error ! Ending Date cannot be set before Beginning Date." +msgstr "错误!结束日期不能早于开始日期。" + +#. module: event_sale +#: model:event.event,name:event_sale.event_technical_training +msgid "Technical training in Grand-Rosiere" +msgstr "" + +#. module: event_sale +#: help:product.product,event_type_id:0 +msgid "" +"Filter the list of event on this category only, in the sale order lines" +msgstr "仅在此类中过滤." + +#. module: event_sale +#: constraint:product.product:0 +msgid "" +"You provided an invalid \"EAN13 Barcode\" reference. You may use the " +"\"Internal Reference\" field instead." +msgstr "你提供了一个错误的 \"EAN13 条码\" 编号。你可能要用 “编号”字段替代。" + +#. module: event_sale +#: code:addons/event_sale/event_sale.py:88 +#, python-format +msgid "The registration %s has been created from the Sale Order %s." +msgstr "" + +#. module: event_sale +#: field:sale.order.line,event_ok:0 +msgid "event_ok" +msgstr "" + +#. module: event_sale +#: field:product.product,event_ok:0 +msgid "Event Subscription" +msgstr "订阅活动" + +#. module: event_sale +#: field:product.product,event_type_id:0 +msgid "Type of Event" +msgstr "活动类型" + +#. module: event_sale +#: field:sale.order.line,event_type_id:0 +msgid "Event Type" +msgstr "活动类型" + +#. module: event_sale +#: model:product.template,name:event_sale.event_product_product_template +msgid "Technical Training" +msgstr "" + +#. module: event_sale +#: field:sale.order.line,event_id:0 +msgid "Event" +msgstr "活动" + +#. module: event_sale +#: model:ir.model,name:event_sale.model_sale_order_line +msgid "Sales Order Line" +msgstr "销售订单明细" diff --git a/addons/fetchmail/i18n/hu.po b/addons/fetchmail/i18n/hu.po index 1043991c9a2..4ccea4d621e 100644 --- a/addons/fetchmail/i18n/hu.po +++ b/addons/fetchmail/i18n/hu.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2011-01-19 14:10+0000\n" +"PO-Revision-Date: 2012-11-28 00:07+0000\n" "Last-Translator: Krisztian Eyssen \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: 2012-11-25 06:23+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: fetchmail #: selection:fetchmail.server,state:0 @@ -24,17 +24,18 @@ msgstr "Megerősítve" #. module: fetchmail #: field:fetchmail.server,server:0 msgid "Server Name" -msgstr "" +msgstr "Kiszolgálónév" #. module: fetchmail #: field:fetchmail.server,script:0 msgid "Script" -msgstr "" +msgstr "Szkript" #. module: fetchmail #: help:fetchmail.server,priority:0 msgid "Defines the order of processing, lower values mean higher priority" msgstr "" +"Feldolgozás sorrendjének meghatározása, alacsonyabb érték magasabb prioritás" #. module: fetchmail #: help:fetchmail.server,is_ssl:0 @@ -51,7 +52,7 @@ msgstr "" #. module: fetchmail #: field:fetchmail.server,is_ssl:0 msgid "SSL/TLS" -msgstr "" +msgstr "SSL/TLS" #. module: fetchmail #: help:fetchmail.server,original:0 @@ -69,7 +70,7 @@ msgstr "POP" #. module: fetchmail #: view:fetchmail.server:0 msgid "Fetch Now" -msgstr "" +msgstr "Letöltés most" #. module: fetchmail #: model:ir.actions.act_window,name:fetchmail.action_email_server_tree @@ -95,7 +96,7 @@ msgstr "" #. module: fetchmail #: field:fetchmail.server,state:0 msgid "Status" -msgstr "" +msgstr "Státusz" #. module: fetchmail #: model:ir.model,name:fetchmail.model_fetchmail_server @@ -120,7 +121,7 @@ msgstr "" #. module: fetchmail #: field:fetchmail.server,date:0 msgid "Last Fetch Date" -msgstr "" +msgstr "Utolsó letöltés időpontja" #. module: fetchmail #: help:fetchmail.server,action_id:0 @@ -137,39 +138,39 @@ msgstr "E-mailek száma" #. module: fetchmail #: field:fetchmail.server,original:0 msgid "Keep Original" -msgstr "" +msgstr "Eredeti megtartása" #. module: fetchmail #: view:fetchmail.server:0 msgid "Advanced Options" -msgstr "" +msgstr "Haladó beállítások" #. module: fetchmail #: view:fetchmail.server:0 #: field:fetchmail.server,configuration:0 msgid "Configuration" -msgstr "" +msgstr "Beállítás" #. module: fetchmail #: view:fetchmail.server:0 msgid "Incoming Mail Server" -msgstr "" +msgstr "Bejövő levelek kiszolgálója" #. module: fetchmail #: code:addons/fetchmail/fetchmail.py:155 #, python-format msgid "Connection test failed!" -msgstr "" +msgstr "Csatlakozás teszt nem sikerült!" #. module: fetchmail #: field:fetchmail.server,user:0 msgid "Username" -msgstr "" +msgstr "Felhasználónév" #. module: fetchmail #: help:fetchmail.server,server:0 msgid "Hostname or IP of the mail server" -msgstr "" +msgstr "Levelező szerver hostneve vagy IP címe" #. module: fetchmail #: field:fetchmail.server,name:0 @@ -192,7 +193,7 @@ msgstr "" #. module: fetchmail #: field:fetchmail.server,action_id:0 msgid "Server Action" -msgstr "" +msgstr "Szerverművelet" #. module: fetchmail #: field:mail.mail,fetchmail_server_id:0 @@ -225,7 +226,7 @@ msgstr "" #. module: fetchmail #: model:ir.model,name:fetchmail.model_mail_mail msgid "Outgoing Mails" -msgstr "" +msgstr "Elküldött levelek" #. module: fetchmail #: field:fetchmail.server,priority:0 @@ -245,7 +246,7 @@ msgstr "IMAP" #. module: fetchmail #: view:fetchmail.server:0 msgid "Server type POP." -msgstr "" +msgstr "Szerver típusa: POP3" #. module: fetchmail #: field:fetchmail.server,password:0 @@ -280,7 +281,7 @@ msgstr "" #. module: fetchmail #: view:fetchmail.server:0 msgid "Advanced" -msgstr "" +msgstr "Speciális" #. module: fetchmail #: view:fetchmail.server:0 diff --git a/addons/fetchmail/i18n/zh_CN.po b/addons/fetchmail/i18n/zh_CN.po index 42576af409f..9a2ff824da7 100644 --- a/addons/fetchmail/i18n/zh_CN.po +++ b/addons/fetchmail/i18n/zh_CN.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-11-23 16:03+0000\n" +"PO-Revision-Date: 2012-11-27 03:49+0000\n" "Last-Translator: ccdos \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:23+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" +"X-Generator: Launchpad (build 16309)\n" #. module: fetchmail #: selection:fetchmail.server,state:0 @@ -96,7 +96,7 @@ msgstr "本地服务器" #. module: fetchmail #: field:fetchmail.server,state:0 msgid "Status" -msgstr "" +msgstr "状态" #. module: fetchmail #: model:ir.model,name:fetchmail.model_fetchmail_server @@ -116,7 +116,7 @@ msgstr "SSL" #. module: fetchmail #: model:ir.model,name:fetchmail.model_fetchmail_config_settings msgid "fetchmail.config.settings" -msgstr "" +msgstr "fetchmail.config.settings" #. module: fetchmail #: field:fetchmail.server,date:0 @@ -184,6 +184,8 @@ msgid "" "Here is what we got instead:\n" " %s." msgstr "" +"这里被替换为:\n" +" %s." #. module: fetchmail #: view:fetchmail.server:0 @@ -226,7 +228,7 @@ msgstr "是否应该下载附件。如果不勾这里,收到的邮件会在被 #. module: fetchmail #: model:ir.model,name:fetchmail.model_mail_mail msgid "Outgoing Mails" -msgstr "" +msgstr "发出邮件" #. module: fetchmail #: field:fetchmail.server,priority:0 diff --git a/addons/fleet/fleet_view.xml b/addons/fleet/fleet_view.xml index 8c7ceaf8d2d..416ca191a6e 100644 --- a/addons/fleet/fleet_view.xml +++ b/addons/fleet/fleet_view.xml @@ -318,12 +318,7 @@ -
    - -
    - -
    - +
    diff --git a/addons/google_base_account/i18n/zh_CN.po b/addons/google_base_account/i18n/zh_CN.po index 40b08fb64c9..391d9f10409 100644 --- a/addons/google_base_account/i18n/zh_CN.po +++ b/addons/google_base_account/i18n/zh_CN.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME \n" "POT-Creation-Date: 2012-11-24 02:52+0000\n" -"PO-Revision-Date: 2012-02-16 12:46+0000\n" -"Last-Translator: 开阖软件 Jeff Wang \n" +"PO-Revision-Date: 2012-11-28 15:28+0000\n" +"Last-Translator: ccdos \n" "Language-Team: Chinese (Simplified) \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-11-25 06:32+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" #. module: google_base_account #: field:res.users,gmail_user:0 @@ -25,7 +25,7 @@ msgstr "用户名:" #. module: google_base_account #: view:res.users:0 msgid "Synchronization" -msgstr "" +msgstr "同步" #. module: google_base_account #: model:ir.actions.act_window,name:google_base_account.act_google_login_form @@ -41,7 +41,7 @@ msgstr "导入Google联系人失败!" #. module: google_base_account #: model:ir.model,name:google_base_account.model_res_users msgid "Users" -msgstr "" +msgstr "用户" #. module: google_base_account #: constraint:res.users:0 @@ -56,7 +56,7 @@ msgstr "两个用户不能使用相同的用户名!" #. module: google_base_account #: sql_constraint:res.users:0 msgid "OAuth UID must be unique per provider" -msgstr "" +msgstr "OAuth UID必须是每个提供者( provider )唯一的" #. module: google_base_account #: view:google.login:0 @@ -71,13 +71,13 @@ msgstr "Google密码" #. module: google_base_account #: view:google.login:0 msgid "or" -msgstr "" +msgstr "or" #. module: google_base_account #: code:addons/google_base_account/wizard/google_login.py:77 #, python-format msgid "Error!" -msgstr "" +msgstr "错误!" #. module: google_base_account #: view:res.users:0 @@ -87,13 +87,13 @@ msgstr "Google 帐户" #. module: google_base_account #: constraint:res.users:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "错误:无效的(EAN)条码" #. module: google_base_account #: code:addons/google_base_account/wizard/google_login.py:77 #, python-format msgid "Authentication failed. Check the user and password." -msgstr "" +msgstr "身份授权失败。检查用户名和密码。" #. module: google_base_account #: code:addons/google_base_account/wizard/google_login.py:29 @@ -113,7 +113,7 @@ msgstr "Google联系人" #. module: google_base_account #: view:google.login:0 msgid "Cancel" -msgstr "" +msgstr "取消" #. module: google_base_account #: field:google.login,user:0 diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml index bcee15e02e8..7d27fe456b8 100644 --- a/addons/hr/hr_view.xml +++ b/addons/hr/hr_view.xml @@ -227,6 +227,7 @@ + diff --git a/addons/hr/i18n/hr.po b/addons/hr/i18n/hr.po index 2d92e5cc0c5..7131a0b306b 100644 --- a/addons/hr/i18n/hr.po +++ b/addons/hr/i18n/hr.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:51+0000\n" -"PO-Revision-Date: 2012-11-25 19:55+0000\n" +"PO-Revision-Date: 2012-11-27 21:53+0000\n" "Last-Translator: Lovro Lazarin \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: 2012-11-26 04:42+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" +"X-Generator: Launchpad (build 16309)\n" "Language: hr\n" #. module: hr @@ -258,7 +258,7 @@ msgstr "Žensko" #: model:ir.actions.act_window,name:hr.open_view_categ_form #: model:ir.ui.menu,name:hr.menu_view_employee_category_form msgid "Categories of Employees" -msgstr "" +msgstr "Kategorije radnika" #. module: hr #: model:ir.ui.menu,name:hr.menu_open_view_attendance_reason_new_config @@ -289,7 +289,7 @@ msgstr "Lokacija ureda" #. module: hr #: field:hr.job,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "Pratitelji" #. module: hr #: view:hr.employee:0 @@ -310,6 +310,9 @@ msgid "" "image, with aspect ratio preserved. Use this field anywhere a small image is " "required." msgstr "" +"Mala fotografija radnika. Fotografija je automatski prilagođena na dimenzije " +"64x64px, omjer dimenzija je pritom očuvan. Koristite ovo polje gdje je " +"potrebna mala slika." #. module: hr #: field:hr.employee,birthday:0 @@ -319,12 +322,12 @@ msgstr "Datum rođenja" #. module: hr #: help:hr.job,no_of_recruitment:0 msgid "Number of new employees you expect to recruit." -msgstr "" +msgstr "Broj novih radnika koje planirate zaposliti." #. module: hr #: model:ir.actions.client,name:hr.action_client_hr_menu msgid "Open HR Menu" -msgstr "" +msgstr "Otvori HR meni" #. module: hr #: help:hr.job,message_summary:0 @@ -332,6 +335,8 @@ msgid "" "Holds the Chatter summary (number of messages, ...). This summary is " "directly in html format in order to be inserted in kanban views." msgstr "" +"Sadrži sažetak konverzacije (broj poruka,..). Ovaj sažetak je u html formatu " +"da bi mogao biti ubačen u kanban pogled." #. module: hr #: help:hr.config.settings,module_account_analytic_analysis:0 @@ -339,6 +344,8 @@ msgid "" "This installs the module account_analytic_analysis, which will install sales " "management too." msgstr "" +"Ovo instalira modul account_analytic_analysis, koji će također instalirati " +"upravljanje prodajom." #. module: hr #: view:board.board:0 @@ -355,7 +362,7 @@ msgstr "Posao" #. module: hr #: field:hr.job,no_of_employee:0 msgid "Current Number of Employees" -msgstr "" +msgstr "Trenutni broj radnika" #. module: hr #: field:hr.department,member_ids:0 @@ -370,18 +377,19 @@ msgstr "Konfiguracija" #. module: hr #: field:hr.config.settings,module_hr_expense:0 msgid "Manage employees expenses" -msgstr "" +msgstr "Upravljaj troškovima radnika" #. module: hr #: help:hr.job,expected_employees:0 msgid "" "Expected number of employees for this job position after new recruitment." msgstr "" +"Očekivani broj radnika za ovo radno mjesto nakon novog procesa zapošljavanja." #. module: hr #: view:hr.employee:0 msgid "Tel:" -msgstr "" +msgstr "Tel:" #. module: hr #: selection:hr.employee,marital:0 @@ -396,7 +404,7 @@ msgstr "Nadređena kategorija" #. module: hr #: sql_constraint:res.users:0 msgid "OAuth UID must be unique per provider" -msgstr "" +msgstr "OAuth UID po dobavljaču mora biti jedinstven" #. module: hr #: view:hr.department:0 @@ -432,6 +440,23 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" " +"Kliknite da bi definirali novo radno mjesto.\n" +"

    \n" +" " +"Radna mjesta se koriste da bi definirali funkciju i zahtjeve za taj posao.\n" +" " +"Možete voditi evidenciju broja radnika po radnom mjestu i pratit planirani \n" +" " +"razvoj.\n" +"

    \n" +" " +"Možete dodati anketu za radno mjesto, koja će se koristiti za ispitivanje \n" +" " +"kandidata u procesu zapošljavanja.\n" +"

    \n" +" " #. module: hr #: selection:hr.employee,gender:0 @@ -448,22 +473,22 @@ msgstr "" #. module: hr #: help:hr.config.settings,module_hr_evaluation:0 msgid "This installs the module hr_evaluation." -msgstr "" +msgstr "Ovo instalira modul hr_evaluation." #. module: hr #: constraint:hr.employee:0 msgid "Error! You cannot create recursive hierarchy of Employee(s)." -msgstr "" +msgstr "Greška! Ne možete kreirati rekurzivnu hijerarhiju radnika." #. module: hr #: help:hr.config.settings,module_hr_attendance:0 msgid "This installs the module hr_attendance." -msgstr "" +msgstr "Ovo instalira modul hr_attendance." #. module: hr #: field:hr.employee,image_small:0 msgid "Smal-sized photo" -msgstr "" +msgstr "Fotografija malih dimenzija" #. module: hr #: view:hr.employee.category:0 @@ -474,12 +499,12 @@ msgstr "Kategorija djelatnika" #. module: hr #: field:hr.employee,category_ids:0 msgid "Tags" -msgstr "" +msgstr "Oznake" #. module: hr #: help:hr.config.settings,module_hr_contract:0 msgid "This installs the module hr_contract." -msgstr "" +msgstr "Ovo instalira modul hr_contract." #. module: hr #: view:hr.employee:0 @@ -489,7 +514,7 @@ msgstr "Povezani Korisnik" #. module: hr #: view:hr.config.settings:0 msgid "or" -msgstr "" +msgstr "ili" #. module: hr #: field:hr.employee.category,name:0 @@ -499,12 +524,12 @@ msgstr "Kategorija" #. module: hr #: view:hr.job:0 msgid "Stop Recruitment" -msgstr "" +msgstr "Zaustavi proces zapošljavanja" #. module: hr #: field:hr.config.settings,module_hr_attendance:0 msgid "Install attendances feature" -msgstr "" +msgstr "Instaliraj modul za praćenje prisustva" #. module: hr #: help:hr.employee,bank_account_id:0 @@ -534,7 +559,7 @@ msgstr "Kontakt podaci" #. module: hr #: field:hr.config.settings,module_hr_holidays:0 msgid "Manage holidays, leaves and allocation requests" -msgstr "" +msgstr "Upravljaj godišnjima, izostancima i zahtjevima za slobodne dane" #. module: hr #: field:hr.department,child_ids:0 @@ -561,12 +586,12 @@ msgstr "Ugovor djelatnika" #. module: hr #: view:hr.config.settings:0 msgid "Contracts" -msgstr "" +msgstr "Ugovori" #. module: hr #: help:hr.job,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "Poruke i povijest komuniciranja" #. module: hr #: field:hr.employee,ssnid:0 @@ -576,12 +601,12 @@ msgstr "JMBG" #. module: hr #: field:hr.job,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "Sljedbenik" #. module: hr #: field:hr.config.settings,module_hr_recruitment:0 msgid "Manage the recruitment process" -msgstr "" +msgstr "Upravljaj procesom zapošljavanja" #. module: hr #: view:hr.employee:0 @@ -591,12 +616,12 @@ msgstr "Aktivan" #. module: hr #: view:hr.config.settings:0 msgid "Human Resources Management" -msgstr "" +msgstr "Upravljanje ljudskim resursima" #. module: hr #: view:hr.config.settings:0 msgid "Install your country's payroll" -msgstr "" +msgstr "Instaliraj plaće za Vašu državu" #. module: hr #: field:hr.employee,bank_account_id:0 @@ -611,7 +636,7 @@ msgstr "Tvrtke" #. module: hr #: field:hr.job,message_summary:0 msgid "Summary" -msgstr "" +msgstr "Sažetak" #. module: hr #: model:process.transition,note:hr.process_transition_contactofemployee0 @@ -636,21 +661,33 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" " +"Kliknite da bi dodali novog radnika.\n" +"

    \n" +" " +"Sa samo brzim pogledom na OpenERP karticu s radnikom, možete\n" +" " +"lako sazanti sve potrebne informacije za svaku osobu;\n" +" " +"kontakt podaci, radno mjesto, dostupnost, itd.\n" +"

    \n" +" " #. module: hr #: view:hr.employee:0 msgid "HR Settings" -msgstr "" +msgstr "HR postavke (Ljudski resursi)" #. module: hr #: view:hr.employee:0 msgid "Citizenship & Other Info" -msgstr "" +msgstr "Državljanstvo i ostale informacije" #. module: hr #: constraint:hr.department:0 msgid "Error! You cannot create recursive departments." -msgstr "" +msgstr "Greška! Ne možete kreirati rekurzivne odjele." #. module: hr #: sql_constraint:res.users:0 @@ -665,7 +702,7 @@ msgstr "Poslovna adresa" #. module: hr #: view:hr.employee:0 msgid "Public Information" -msgstr "" +msgstr "Javne informacije" #. module: hr #: field:hr.employee,marital:0 @@ -690,7 +727,7 @@ msgstr "Fotografija" #. module: hr #: view:hr.config.settings:0 msgid "Cancel" -msgstr "" +msgstr "Otkaži" #. module: hr #: model:ir.actions.act_window,help:hr.open_module_tree_department @@ -705,17 +742,30 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" " +"Kliknite da bi kreirali odjel.\n" +" " +"

    \n" +" " +"OpenERP odjelska struktura se koristi za upravljanje svim dokumentima \n" +" " +"vezanih za radnika prema odjelima: troškovi, kontrolne kartice, \n" +" " +"godišnji i odsustva, zapošljavanja, itd.\n" +"

    \n" +" " #. module: hr #: help:hr.config.settings,module_hr_timesheet:0 msgid "This installs the module hr_timesheet." -msgstr "" +msgstr "Ovo instalira modul hr_timesheet." #. module: hr #: field:hr.job,message_comment_ids:0 #: help:hr.job,message_comment_ids:0 msgid "Comments and emails" -msgstr "" +msgstr "Komentari i e-pošta." #. module: hr #: model:ir.actions.act_window,help:hr.view_department_form_installer @@ -730,6 +780,19 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" " +"Kliknite da bi definirali novi odjel.\n" +"

    \n" +" " +"Vaša odjelska struktura se koristi kako bi upravljali svim dokumentima\n" +" " +"vezanim za radnike po odjelima: troškovi i kontrolne kartice, odsustva i " +"godišnji,\n" +" " +"zapošljavanje, itd.\n" +"

    \n" +" " #. module: hr #: view:hr.employee:0 @@ -754,13 +817,15 @@ msgstr "Poslovni mobitel" #. module: hr #: selection:hr.job,state:0 msgid "Recruitement in Progress" -msgstr "" +msgstr "Zapošljavanje u tijeku" #. module: hr #: field:hr.config.settings,module_account_analytic_analysis:0 msgid "" "Allow invoicing based on timesheets (the sale application will be installed)" msgstr "" +"Dopusti fakturiranje na osnovu kontrolnih kartica (aplikacija za prodaju će " +"biti instalirana)" #. module: hr #: view:hr.employee.category:0 @@ -780,7 +845,7 @@ msgstr "Kućna adresa" #. module: hr #: field:hr.config.settings,module_hr_timesheet:0 msgid "Manage timesheets" -msgstr "" +msgstr "Upravljaj kontrolnim karticama" #. module: hr #: model:ir.actions.act_window,name:hr.open_view_categ_tree @@ -811,12 +876,12 @@ msgstr "Na poziciji" #. module: hr #: help:hr.config.settings,module_hr_payroll:0 msgid "This installs the module hr_payroll." -msgstr "" +msgstr "Ovo instalira modul hr_payroll." #. module: hr #: field:hr.config.settings,module_hr_contract:0 msgid "Record contracts per employee" -msgstr "" +msgstr "Zabilježi ugovore po radniku" #. module: hr #: view:hr.department:0 @@ -831,7 +896,7 @@ msgstr "Nacionalnost" #. module: hr #: view:hr.config.settings:0 msgid "Additional Features" -msgstr "" +msgstr "Dodatne opcije" #. module: hr #: field:hr.employee,notes:0 @@ -884,23 +949,23 @@ msgstr "Naziv odjela" #. module: hr #: model:ir.ui.menu,name:hr.menu_hr_reporting_timesheet msgid "Reports" -msgstr "" +msgstr "Izvještaji" #. module: hr #: field:hr.config.settings,module_hr_payroll:0 msgid "Manage payroll" -msgstr "" +msgstr "Upravljaj plaćama" #. module: hr #: view:hr.config.settings:0 #: model:ir.actions.act_window,name:hr.action_human_resources_configuration msgid "Configure Human Resources" -msgstr "" +msgstr "Konfiguriraj ljudske resurse" #. module: hr #: selection:hr.job,state:0 msgid "No Recruitment" -msgstr "" +msgstr "Nema zapošljavanja" #. module: hr #: help:hr.employee,ssnid:0 @@ -915,12 +980,12 @@ msgstr "Kreiranje OpenERP korisnika" #. module: hr #: field:hr.employee,login:0 msgid "Login" -msgstr "" +msgstr "Prijava" #. module: hr #: field:hr.job,expected_employees:0 msgid "Total Forecasted Employees" -msgstr "" +msgstr "Sveukupno predviđeni radnici" #. module: hr #: help:hr.job,state:0 @@ -928,11 +993,13 @@ msgid "" "By default 'In position', set it to 'In Recruitment' if recruitment process " "is going on for this job position." msgstr "" +"Zadane postavke 'U poziciji', postavite 'U procesu zapošljavanja' ako je " +"zapošljavanje u tijeku za to radno mjesto." #. module: hr #: model:ir.model,name:hr.model_res_users msgid "Users" -msgstr "" +msgstr "Korisnici" #. module: hr #: model:ir.actions.act_window,name:hr.action_hr_job @@ -958,6 +1025,33 @@ msgid "" "
    \n" " " msgstr "" +"
    \n" +" " +"

    \n" +" " +" Ploča ljudskih resursa je prazna.\n" +" " +"

    \n" +" " +" Da bi dodali Vaš prvi izvještaj na ploču, idite na bilo " +"koji meni, promijenite\n" +" " +" pogled na listu ili graf, i kliknite 'Dodaj na " +"ploču' u proširenim\n" +" " +" opcijama pretraživanja.\n" +" " +"

    \n" +" " +" Možete filtrirati i grupirati podatke prije nego ih " +"ubacite u ploču koristeći\n" +" " +" opcije za pretraživanje.\n" +" " +"

    \n" +" " +"
    \n" +" " #. module: hr #: view:hr.employee:0 @@ -973,7 +1067,7 @@ msgstr "Naziv radnog mjesta mora biti jedinstven po tvrtki" #. module: hr #: help:hr.config.settings,module_hr_expense:0 msgid "This installs the module hr_expense." -msgstr "" +msgstr "Ovo instalira modul hr_expense." #. module: hr #: model:ir.model,name:hr.model_hr_config_settings @@ -990,7 +1084,7 @@ msgstr "Voditelj" #. module: hr #: constraint:res.users:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "Greška: Neispravan barkod!" #. module: hr #: selection:hr.employee,marital:0 @@ -1005,7 +1099,7 @@ msgstr "Podređeni djelatnici" #. module: hr #: view:hr.config.settings:0 msgid "Apply" -msgstr "" +msgstr "Primjeni" #~ msgid "" #~ "The Object name must start with x_ and not contain any special character !" diff --git a/addons/hr/i18n/zh_CN.po b/addons/hr/i18n/zh_CN.po index c5e8824bb53..1d55acccbac 100644 --- a/addons/hr/i18n/zh_CN.po +++ b/addons/hr/i18n/zh_CN.po @@ -7,14 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:51+0000\n" -"PO-Revision-Date: 2012-10-25 16:29+0000\n" -"Last-Translator: fenshuajiang \n" +"PO-Revision-Date: 2012-11-28 16:54+0000\n" +"Last-Translator: ccdos \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: 2012-11-25 06:13+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-29 05:15+0000\n" +"X-Generator: Launchpad (build 16319)\n" + +#. module: hr +#: constraint:hr.employee:0 +msgid "Error! You cannot create recursive hierarchy of Employee(s)." +msgstr "错误!,你不能创建循环的员工等级" #. module: hr #: model:process.node,name:hr.process_node_openerpuser0 @@ -24,7 +29,7 @@ msgstr "系统用户" #. module: hr #: field:hr.config.settings,module_hr_timesheet_sheet:0 msgid "Allow timesheets validation by managers" -msgstr "" +msgstr "允许管理人员核准工时单" #. module: hr #: field:hr.job,requirements:0 @@ -39,7 +44,7 @@ msgstr "员工信息链接" #. module: hr #: field:hr.employee,sinid:0 msgid "SIN No" -msgstr "社保号" +msgstr "社会保险号SIN" #. module: hr #: model:ir.actions.act_window,name:hr.open_board_hr @@ -58,12 +63,12 @@ msgid "" "Medium-sized photo of the employee. It is automatically resized as a " "128x128px image, with aspect ratio preserved. Use this field in form views " "or some kanban views." -msgstr "" +msgstr "员工的中等尺寸照片。保留纵横比例,自动缩放为128x128px的图片。这个字段用在表单视图和某些看板视图。" #. module: hr #: view:hr.config.settings:0 msgid "Time Tracking" -msgstr "" +msgstr "考勤跟踪" #. module: hr #: view:hr.employee:0 @@ -84,7 +89,7 @@ msgstr "这个工作岗位上现有的员工人数" #. module: hr #: field:hr.config.settings,module_hr_evaluation:0 msgid "Organize employees periodic evaluation" -msgstr "" +msgstr "组织员工定期评估" #. module: hr #: view:hr.department:0 @@ -105,12 +110,12 @@ msgstr "工作Email" msgid "" "This field holds the image used as photo for the employee, limited to " "1024x1024px." -msgstr "" +msgstr "这个字段保存员工的照片,限制为 1024x1024px" #. module: hr #: help:hr.config.settings,module_hr_holidays:0 msgid "This installs the module hr_holidays." -msgstr "" +msgstr "为此要安装模块 hr_holidays." #. module: hr #: view:hr.job:0 @@ -125,7 +130,7 @@ msgstr "正在招聘" #. module: hr #: field:hr.job,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "未读信息" #. module: hr #: field:hr.department,company_id:0 @@ -143,32 +148,32 @@ msgstr "招聘人数" #. module: hr #: field:res.users,employee_ids:0 msgid "Related employees" -msgstr "" +msgstr "相关的员工" #. module: hr #: constraint:hr.employee.category:0 msgid "Error! You cannot create recursive Categories." -msgstr "" +msgstr "错误!你不能创建循环的分类。" #. module: hr #: help:hr.config.settings,module_hr_recruitment:0 msgid "This installs the module hr_recruitment." -msgstr "" +msgstr "为此要安装模块hr_recruitment." #. module: hr #: view:hr.employee:0 msgid "Birth" -msgstr "" +msgstr "生日" #. module: hr #: field:hr.employee,last_login:0 msgid "Latest Connection" -msgstr "" +msgstr "最近连接时间" #. module: hr #: view:hr.job:0 msgid "Launch Recruitement" -msgstr "" +msgstr "开始招聘" #. module: hr #: model:process.transition,name:hr.process_transition_employeeuser0 @@ -193,22 +198,22 @@ msgstr "已婚" #. module: hr #: field:hr.job,message_ids:0 msgid "Messages" -msgstr "" +msgstr "消息" #. module: hr #: view:hr.config.settings:0 msgid "Talent Management" -msgstr "" +msgstr "人才管理" #. module: hr #: help:hr.config.settings,module_hr_timesheet_sheet:0 msgid "This installs the module hr_timesheet_sheet." -msgstr "" +msgstr "为此要安装模块hr_timesheet_sheet." #. module: hr #: view:hr.employee:0 msgid "Mobile:" -msgstr "" +msgstr "手机:" #. module: hr #: view:hr.employee:0 @@ -218,7 +223,7 @@ msgstr "职位" #. module: hr #: help:hr.job,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "如果要求你关注新消息,勾选此项" #. module: hr #: field:hr.employee,color:0 @@ -235,7 +240,7 @@ msgstr "系统用户的员工字段(包括他的权限)。" #. module: hr #: field:hr.employee,image_medium:0 msgid "Medium-sized photo" -msgstr "" +msgstr "中等尺寸图片" #. module: hr #: field:hr.employee,identification_id:0 @@ -251,7 +256,7 @@ msgstr "女性" #: model:ir.actions.act_window,name:hr.open_view_categ_form #: model:ir.ui.menu,name:hr.menu_view_employee_category_form msgid "Categories of Employees" -msgstr "" +msgstr "员工分类" #. module: hr #: model:ir.ui.menu,name:hr.menu_open_view_attendance_reason_new_config @@ -282,7 +287,7 @@ msgstr "办公地点" #. module: hr #: field:hr.job,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "关注者" #. module: hr #: view:hr.employee:0 @@ -302,7 +307,7 @@ msgid "" "Small-sized photo of the employee. It is automatically resized as a 64x64px " "image, with aspect ratio preserved. Use this field anywhere a small image is " "required." -msgstr "" +msgstr "小尺寸的员工照片。保留纵横比,自动缩放为64x64px。用在任何需要小图片的场合" #. module: hr #: field:hr.employee,birthday:0 @@ -317,21 +322,21 @@ msgstr "您计划招聘的新员工数。" #. module: hr #: model:ir.actions.client,name:hr.action_client_hr_menu msgid "Open HR Menu" -msgstr "" +msgstr "打开 人力资源 菜单" #. module: hr #: help:hr.job,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 "" +msgstr "保留复杂的摘要(消息数量,……等)。为了插入到看板视图,这一摘要直接是是HTML格式。" #. module: hr #: help:hr.config.settings,module_account_analytic_analysis:0 msgid "" "This installs the module account_analytic_analysis, which will install sales " "management too." -msgstr "" +msgstr "为此要安装模块 account_analytic_analysis, 也将安装销售管理" #. module: hr #: view:board.board:0 @@ -348,7 +353,7 @@ msgstr "职务" #. module: hr #: field:hr.job,no_of_employee:0 msgid "Current Number of Employees" -msgstr "" +msgstr "当前员工数量" #. module: hr #: field:hr.department,member_ids:0 @@ -363,7 +368,7 @@ msgstr "设置" #. module: hr #: field:hr.config.settings,module_hr_expense:0 msgid "Manage employees expenses" -msgstr "" +msgstr "管理员工的费用" #. module: hr #: help:hr.job,expected_employees:0 @@ -374,7 +379,7 @@ msgstr "新的招聘后这个工作岗位上期望的员工人数" #. module: hr #: view:hr.employee:0 msgid "Tel:" -msgstr "" +msgstr "电话:" #. module: hr #: selection:hr.employee,marital:0 @@ -389,7 +394,7 @@ msgstr "上级分类" #. module: hr #: sql_constraint:res.users:0 msgid "OAuth UID must be unique per provider" -msgstr "" +msgstr "OAuth UID必须是每个提供者唯一的" #. module: hr #: view:hr.department:0 @@ -425,6 +430,15 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" 单击定义个一个新的工作岗位.\n" +"

    \n" +" 工作岗位用来定义工作和他们的要求。\n" +" 你能跟踪跟踪每个工作岗位员工数,并且根据你未来的计划跟进变化。\n" +"

    \n" +" 你能附加一个调查表到工作岗位. 用在招聘流程中评估这个岗位的申请人.\n" +"

    \n" +" " #. module: hr #: selection:hr.employee,gender:0 @@ -437,26 +451,23 @@ msgid "" "$('.oe_employee_picture').load(function() { if($(this).width() > " "$(this).height()) { $(this).addClass('oe_employee_picture_wide') } });" msgstr "" +"$('.oe_employee_picture').load(function() { if($(this).width() > " +"$(this).height()) { $(this).addClass('oe_employee_picture_wide') } });" #. module: hr #: help:hr.config.settings,module_hr_evaluation:0 msgid "This installs the module hr_evaluation." -msgstr "" - -#. module: hr -#: constraint:hr.employee:0 -msgid "Error! You cannot create recursive hierarchy of Employee(s)." -msgstr "" +msgstr "为此要安装模块 hr_evaluation." #. module: hr #: help:hr.config.settings,module_hr_attendance:0 msgid "This installs the module hr_attendance." -msgstr "" +msgstr "为此要安装模块 hr_attendance." #. module: hr #: field:hr.employee,image_small:0 msgid "Smal-sized photo" -msgstr "" +msgstr "小尺寸照片" #. module: hr #: view:hr.employee.category:0 @@ -467,12 +478,12 @@ msgstr "员工分类" #. module: hr #: field:hr.employee,category_ids:0 msgid "Tags" -msgstr "" +msgstr "标签" #. module: hr #: help:hr.config.settings,module_hr_contract:0 msgid "This installs the module hr_contract." -msgstr "" +msgstr "为此要安装模块hr_contract." #. module: hr #: view:hr.employee:0 @@ -482,7 +493,7 @@ msgstr "相关用户" #. module: hr #: view:hr.config.settings:0 msgid "or" -msgstr "" +msgstr "or" #. module: hr #: field:hr.employee.category,name:0 @@ -492,12 +503,12 @@ msgstr "分类" #. module: hr #: view:hr.job:0 msgid "Stop Recruitment" -msgstr "" +msgstr "停止招聘" #. module: hr #: field:hr.config.settings,module_hr_attendance:0 msgid "Install attendances feature" -msgstr "" +msgstr "安装 出勤率特性" #. module: hr #: help:hr.employee,bank_account_id:0 @@ -527,7 +538,7 @@ msgstr "联系信息" #. module: hr #: field:hr.config.settings,module_hr_holidays:0 msgid "Manage holidays, leaves and allocation requests" -msgstr "" +msgstr "管理假期、请假和分配请求" #. module: hr #: field:hr.department,child_ids:0 @@ -554,27 +565,27 @@ msgstr "员工合约" #. module: hr #: view:hr.config.settings:0 msgid "Contracts" -msgstr "" +msgstr "合同列表" #. module: hr #: help:hr.job,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "消息和通信历史" #. module: hr #: field:hr.employee,ssnid:0 msgid "SSN No" -msgstr "员工号" +msgstr "社会保险号SSN" #. module: hr #: field:hr.job,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "是一个关注者" #. module: hr #: field:hr.config.settings,module_hr_recruitment:0 msgid "Manage the recruitment process" -msgstr "" +msgstr "管理招聘流程" #. module: hr #: view:hr.employee:0 @@ -584,12 +595,12 @@ msgstr "生效" #. module: hr #: view:hr.config.settings:0 msgid "Human Resources Management" -msgstr "" +msgstr "人力资源管理" #. module: hr #: view:hr.config.settings:0 msgid "Install your country's payroll" -msgstr "" +msgstr "安装你所在国家的工资表" #. module: hr #: field:hr.employee,bank_account_id:0 @@ -604,7 +615,7 @@ msgstr "公司" #. module: hr #: field:hr.job,message_summary:0 msgid "Summary" -msgstr "" +msgstr "摘要" #. module: hr #: model:process.transition,note:hr.process_transition_contactofemployee0 @@ -627,21 +638,29 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" 单击 添加新的员工.\n" +"

    \n" +" 在OpenERP员工界面快速浏览一下,你\n" +" 能很容易看到你需要的每人的信息:\n" +" 包括 联系人数据、工作岗位、可用性等等.\n" +"

    \n" +" " #. module: hr #: view:hr.employee:0 msgid "HR Settings" -msgstr "" +msgstr "人力资源设置" #. module: hr #: view:hr.employee:0 msgid "Citizenship & Other Info" -msgstr "" +msgstr "国籍和其他信息" #. module: hr #: constraint:hr.department:0 msgid "Error! You cannot create recursive departments." -msgstr "" +msgstr "错误!你不能创建循环的部门" #. module: hr #: sql_constraint:res.users:0 @@ -656,7 +675,7 @@ msgstr "工作地址" #. module: hr #: view:hr.employee:0 msgid "Public Information" -msgstr "" +msgstr "公开信息" #. module: hr #: field:hr.employee,marital:0 @@ -681,7 +700,7 @@ msgstr "相片" #. module: hr #: view:hr.config.settings:0 msgid "Cancel" -msgstr "" +msgstr "取消" #. module: hr #: model:ir.actions.act_window,help:hr.open_module_tree_department @@ -696,17 +715,25 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" 单击创建部门.\n" +"

    \n" +" OpenERP 的部门结构 用来管理所有跟部门员工相关\n" +" 的单据:费用、计工单、请假、假期和招聘等等。\n" +" \n" +"

    \n" +" " #. module: hr #: help:hr.config.settings,module_hr_timesheet:0 msgid "This installs the module hr_timesheet." -msgstr "" +msgstr "为此要安装模块hr_timesheet." #. module: hr #: field:hr.job,message_comment_ids:0 #: help:hr.job,message_comment_ids:0 msgid "Comments and emails" -msgstr "" +msgstr "评论和电子邮件" #. module: hr #: model:ir.actions.act_window,help:hr.view_department_form_installer @@ -721,6 +748,14 @@ msgid "" "

    \n" " " msgstr "" +"

    \n" +" 单击创建部门.\n" +"

    \n" +" OpenERP 的部门结构 用来管理所有跟部门员工相关\n" +" 的单据:费用、计工单、请假、假期和招聘等等。\n" +" \n" +"

    \n" +" " #. module: hr #: view:hr.employee:0 @@ -745,13 +780,13 @@ msgstr "办公手机" #. module: hr #: selection:hr.job,state:0 msgid "Recruitement in Progress" -msgstr "" +msgstr "招聘进行中" #. module: hr #: field:hr.config.settings,module_account_analytic_analysis:0 msgid "" "Allow invoicing based on timesheets (the sale application will be installed)" -msgstr "" +msgstr "允许基于计工单开票(销售应用模块将被安装)" #. module: hr #: view:hr.employee.category:0 @@ -771,7 +806,7 @@ msgstr "家庭地址" #. module: hr #: field:hr.config.settings,module_hr_timesheet:0 msgid "Manage timesheets" -msgstr "" +msgstr "管理计工单" #. module: hr #: model:ir.actions.act_window,name:hr.open_view_categ_tree @@ -802,12 +837,12 @@ msgstr "在职" #. module: hr #: help:hr.config.settings,module_hr_payroll:0 msgid "This installs the module hr_payroll." -msgstr "" +msgstr "为此要安装模块 hr_payroll." #. module: hr #: field:hr.config.settings,module_hr_contract:0 msgid "Record contracts per employee" -msgstr "" +msgstr "记录每个员工的联系人" #. module: hr #: view:hr.department:0 @@ -822,7 +857,7 @@ msgstr "国籍" #. module: hr #: view:hr.config.settings:0 msgid "Additional Features" -msgstr "" +msgstr "附加特性" #. module: hr #: field:hr.employee,notes:0 @@ -875,23 +910,23 @@ msgstr "部门名称" #. module: hr #: model:ir.ui.menu,name:hr.menu_hr_reporting_timesheet msgid "Reports" -msgstr "" +msgstr "报表" #. module: hr #: field:hr.config.settings,module_hr_payroll:0 msgid "Manage payroll" -msgstr "" +msgstr "管理工资单" #. module: hr #: view:hr.config.settings:0 #: model:ir.actions.act_window,name:hr.action_human_resources_configuration msgid "Configure Human Resources" -msgstr "" +msgstr "配置人力资源" #. module: hr #: selection:hr.job,state:0 msgid "No Recruitment" -msgstr "" +msgstr "没有招聘" #. module: hr #: help:hr.employee,ssnid:0 @@ -911,19 +946,19 @@ msgstr "登录名" #. module: hr #: field:hr.job,expected_employees:0 msgid "Total Forecasted Employees" -msgstr "" +msgstr "预计员工数合计" #. module: hr #: help:hr.job,state:0 msgid "" "By default 'In position', set it to 'In Recruitment' if recruitment process " "is going on for this job position." -msgstr "" +msgstr "默认是'In position', 这个岗位的招聘进程开始后,设置为'In Recruitment'。" #. module: hr #: model:ir.model,name:hr.model_res_users msgid "Users" -msgstr "" +msgstr "用户" #. module: hr #: model:ir.actions.act_window,name:hr.action_hr_job @@ -949,6 +984,18 @@ msgid "" " \n" " " msgstr "" +"
    \n" +"

    \n" +" 人力资源的仪表板是空的.\n" +"

    \n" +" 要增加第一个报表到仪表板。\n" +" 进入任意菜单,切换为列表视图或者图形视图,\n" +" 然后在扩展搜索选项里点击“添加到仪表板”\n" +"

    \n" +" 在插入到仪表板之前,你能过滤和分组这些数据.\n" +"

    \n" +"
    \n" +" " #. module: hr #: view:hr.employee:0 @@ -964,12 +1011,12 @@ msgstr "每个公司里的任一职位名称都必须唯一" #. module: hr #: help:hr.config.settings,module_hr_expense:0 msgid "This installs the module hr_expense." -msgstr "" +msgstr "为此要安装模块hr_expense." #. module: hr #: model:ir.model,name:hr.model_hr_config_settings msgid "hr.config.settings" -msgstr "" +msgstr "hr.config.settings" #. module: hr #: field:hr.department,manager_id:0 @@ -981,7 +1028,7 @@ msgstr "经理" #. module: hr #: constraint:res.users:0 msgid "Error: Invalid ean code" -msgstr "" +msgstr "错误:无效的(EAN)条码" #. module: hr #: selection:hr.employee,marital:0 @@ -996,7 +1043,7 @@ msgstr "下属" #. module: hr #: view:hr.config.settings:0 msgid "Apply" -msgstr "" +msgstr "接受" #~ msgid "Group name" #~ msgstr "组名" diff --git a/addons/hr/static/src/css/hr.css b/addons/hr/static/src/css/hr.css index 78dfc946436..16657394736 100644 --- a/addons/hr/static/src/css/hr.css +++ b/addons/hr/static/src/css/hr.css @@ -38,7 +38,7 @@ } .oe_employee_details { - width: 220px; + width: 210px; font-size: 13px; padding: 2px 5px; color: #4c4c4c; diff --git a/addons/hr_contract/i18n/zh_CN.po b/addons/hr_contract/i18n/zh_CN.po index d369df7d501..136facd67d6 100644 --- a/addons/hr_contract/i18n/zh_CN.po +++ b/addons/hr_contract/i18n/zh_CN.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-11-24 02:53+0000\n" -"PO-Revision-Date: 2012-01-23 10:05+0000\n" -"Last-Translator: Wei \"oldrev\" Li \n" +"PO-Revision-Date: 2012-11-27 03:09+0000\n" +"Last-Translator: ccdos \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: 2012-11-25 06:10+0000\n" -"X-Generator: Launchpad (build 16293)\n" +"X-Launchpad-Export-Date: 2012-11-28 04:41+0000\n" +"X-Generator: Launchpad (build 16309)\n" #. module: hr_contract #: field:hr.contract,wage:0 @@ -102,7 +102,7 @@ msgstr "合同类型" #. module: hr_contract #: view:hr.employee:0 msgid "Medical Exam" -msgstr "" +msgstr "体检" #. module: hr_contract #: field:hr.contract,date_end:0 @@ -162,7 +162,7 @@ msgstr "工作安排" #. module: hr_contract #: view:hr.contract:0 msgid "Salary and Advantages" -msgstr "" +msgstr "工资和机会" #. module: hr_contract #: field:hr.contract,job_id:0 @@ -172,7 +172,7 @@ msgstr "职务名称" #. module: hr_contract #: constraint:hr.contract:0 msgid "Error! Contract start-date must be less than contract end-date." -msgstr "" +msgstr "错误!联系人开始日期必须小于结束日期" #. module: hr_contract #: field:hr.employee,manager:0 @@ -197,7 +197,7 @@ msgstr "签证号" #. module: hr_contract #: field:hr.employee,vehicle_distance:0 msgid "Home-Work Dist." -msgstr "" +msgstr "家里和工作场所的距离" #. module: hr_contract #: field:hr.employee,place_of_birth:0 @@ -207,7 +207,7 @@ msgstr "出生地" #. module: hr_contract #: view:hr.contract:0 msgid "Trial Period Duration" -msgstr "" +msgstr "试用期" #. module: hr_contract #: view:hr.contract:0 @@ -227,7 +227,7 @@ msgstr "体检日期" #. module: hr_contract #: constraint:hr.employee:0 msgid "Error! You cannot create recursive hierarchy of Employee(s)." -msgstr "" +msgstr "错误!,你不能创建递归的员工层次" #. module: hr_contract #: view:hr.contract.type:0 diff --git a/addons/hr_evaluation/hr_evaluation_view.xml b/addons/hr_evaluation/hr_evaluation_view.xml index e0978847acb..de0a9714763 100644 --- a/addons/hr_evaluation/hr_evaluation_view.xml +++ b/addons/hr_evaluation/hr_evaluation_view.xml @@ -305,11 +305,9 @@ 'default_subject': 'Reminder to fill up Survey' }"/> - + - - +