diff options
| author | Thibault Delavallée <tde@openerp.com> | 2014-01-06 14:57:00 +0100 |
|---|---|---|
| committer | Thibault Delavallée <tde@openerp.com> | 2014-01-06 14:57:00 +0100 |
| commit | 49c0b7a82003a889edc19cb189d0d6d0ebda2c5f (patch) | |
| tree | d24c9d3fe3baad3ba06f11d4bf334e2504fb6092 | |
| parent | c4c268c902a134efdf0f097053c9b28d6b14417c (diff) | |
| parent | ced63415b7319e12fb9d31a3e370850278f697c1 (diff) | |
[MERGE] Sync with trunk
bzr revid: tde@openerp.com-20140106135700-rt0g44w5xmpbtxiu
177 files changed, 31344 insertions, 1273 deletions
diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py index 17c0a77c30f..343512dc271 100644 --- a/addons/account/__openerp__.py +++ b/addons/account/__openerp__.py @@ -135,7 +135,8 @@ for a particular financial year and for preparation of vouchers there is a modul ], 'css':[ 'static/src/css/account_move_reconciliation.css', - 'static/src/css/account_move_line_quickadd.css' + 'static/src/css/account_move_line_quickadd.css', + 'static/src/css/account_bank_and_cash.css', ], 'demo': [ 'demo/account_demo.xml', diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py index 8a15321b9c6..d437074023a 100644 --- a/addons/account/account_bank_statement.py +++ b/addons/account/account_bank_statement.py @@ -106,13 +106,13 @@ class account_bank_statement(osv.osv): 'balance_start': fields.float('Starting Balance', digits_compute=dp.get_precision('Account'), states={'confirm':[('readonly',True)]}), 'balance_end_real': fields.float('Ending Balance', digits_compute=dp.get_precision('Account'), - states={'confirm': [('readonly', True)]}), + states={'confirm': [('readonly', True)]}, help="Computed using the cash control lines"), 'balance_end': fields.function(_end_balance, store = { 'account.bank.statement': (lambda self, cr, uid, ids, c={}: ids, ['line_ids','move_line_ids','balance_start'], 10), 'account.bank.statement.line': (_get_statement, ['amount'], 10), }, - string="Computed Balance", help='Balance as calculated based on Starting Balance and transaction lines'), + string="Computed Balance", help='Balance as calculated based on Opening Balance and transaction lines'), 'company_id': fields.related('journal_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True), 'line_ids': fields.one2many('account.bank.statement.line', 'statement_id', 'Statement lines', @@ -128,6 +128,7 @@ class account_bank_statement(osv.osv): 'currency': fields.function(_currency, string='Currency', type='many2one', relation='res.currency'), 'account_id': fields.related('journal_id', 'default_debit_account_id', type='many2one', relation='account.account', string='Account used in this journal', readonly=True, help='used in statement reconciliation domain, but shouldn\'t be used elswhere.'), + 'cash_control': fields.related('journal_id', 'cash_control' , type='boolean', relation='account.journal',string='Cash control'), } _defaults = { @@ -450,22 +451,25 @@ class account_bank_statement(osv.osv): def _compute_balance_end_real(self, cr, uid, journal_id, context=None): res = False if journal_id: - cr.execute('SELECT balance_end_real \ - FROM account_bank_statement \ - WHERE journal_id = %s AND NOT state = %s \ - ORDER BY date DESC,id DESC LIMIT 1', (journal_id, 'draft')) - res = cr.fetchone() + journal = self.pool.get('account.journal').browse(cr, uid, journal_id, context=context) + if journal.with_last_closing_balance: + cr.execute('SELECT balance_end_real \ + FROM account_bank_statement \ + WHERE journal_id = %s AND NOT state = %s \ + ORDER BY date DESC,id DESC LIMIT 1', (journal_id, 'draft')) + res = cr.fetchone() return res and res[0] or 0.0 def onchange_journal_id(self, cr, uid, statement_id, journal_id, context=None): if not journal_id: return {} balance_start = self._compute_balance_end_real(cr, uid, journal_id, context=context) - - journal_data = self.pool.get('account.journal').read(cr, uid, journal_id, ['company_id', 'currency'], context=context) - company_id = journal_data['company_id'] - currency_id = journal_data['currency'] or self.pool.get('res.company').browse(cr, uid, company_id[0], context=context).currency_id.id - return {'value': {'balance_start': balance_start, 'company_id': company_id, 'currency': currency_id}} + journal = self.pool.get('account.journal').browse(cr, uid, journal_id, context=context) + currency = journal.currency or journal.company_id.currency_id + res = {'balance_start': balance_start, 'company_id': journal.company_id.id, 'currency': currency.id} + if journal.type == 'cash': + res['cash_control'] = journal.cash_control + return {'value': res} def unlink(self, cr, uid, ids, context=None): stat = self.read(cr, uid, ids, ['state'], context=context) @@ -546,7 +550,7 @@ class account_bank_statement_line(osv.osv): _name = "account.bank.statement.line" _description = "Bank Statement Line" _columns = { - 'name': fields.char('OBI', required=True, help="Originator to Beneficiary Information"), + 'name': fields.char('Description', required=True), 'date': fields.date('Date', required=True), 'amount': fields.float('Amount', digits_compute=dp.get_precision('Account')), 'type': fields.selection([ diff --git a/addons/account/account_cash_statement.py b/addons/account/account_cash_statement.py index 8e3e250d41c..c1c5265d8c2 100644 --- a/addons/account/account_cash_statement.py +++ b/addons/account/account_cash_statement.py @@ -159,6 +159,10 @@ class account_cash_statement(osv.osv): context=context ) + opening_details_ids = self._get_cash_open_box_lines(cr, uid, journal_id, context) + if opening_details_ids: + result['value']['opening_details_ids'] = opening_details_ids + if not statement_ids: return result @@ -172,13 +176,14 @@ class account_cash_statement(osv.osv): store = { 'account.bank.statement': (lambda self, cr, uid, ids, context=None: ids, ['line_ids','move_line_ids'], 10), 'account.bank.statement.line': (_get_statement_from_line, ['amount'], 10), - }), + }, + help="Total of cash transaction lines."), 'closing_date': fields.datetime("Closed On"), 'details_ids' : fields.one2many('account.cashbox.line', 'bank_statement_id', string='CashBox Lines'), 'opening_details_ids' : fields.one2many('account.cashbox.line', 'bank_statement_id', string='Opening Cashbox Lines'), 'closing_details_ids' : fields.one2many('account.cashbox.line', 'bank_statement_id', string='Closing Cashbox Lines'), 'user_id': fields.many2one('res.users', 'Responsible', required=False), - 'difference' : fields.function(_compute_difference, method=True, string="Difference", type="float"), + 'difference' : fields.function(_compute_difference, method=True, string="Difference", type="float", help="Difference between the theoretical closing balance and the real closing balance."), 'last_closing_balance' : fields.function(_compute_last_closing_balance, method=True, string='Last Closing Balance', type='float'), } _defaults = { @@ -187,13 +192,12 @@ class account_cash_statement(osv.osv): 'user_id': lambda self, cr, uid, context=None: uid, } - def create(self, cr, uid, vals, context=None): - journal = False - if vals.get('journal_id'): - journal = self.pool.get('account.journal').browse(cr, uid, vals['journal_id'], context=context) - if journal and (journal.type == 'cash') and not vals.get('details_ids'): - vals['details_ids'] = [] - + def _get_cash_open_box_lines(self, cr, uid, journal_id, context): + details_ids = [] + if not journal_id: + return details_ids + journal = self.pool.get('account.journal').browse(cr, uid, journal_id, context=context) + if journal and (journal.type == 'cash'): last_pieces = None if journal.with_last_closing_balance == True: @@ -206,16 +210,19 @@ class account_cash_statement(osv.osv): last_pieces = dict( (line.pieces, line.number_closing) for line in last_bank_statement.details_ids ) - for value in journal.cashbox_line_ids: nested_values = { 'number_closing' : 0, 'number_opening' : last_pieces.get(value.pieces, 0) if isinstance(last_pieces, dict) else 0, 'pieces' : value.pieces } + details_ids.append([0, False, nested_values]) + return details_ids - vals['details_ids'].append([0, False, nested_values]) - + def create(self, cr, uid, vals, context=None): + journal_id = vals.get('journal_id') + if journal_id and not vals.get('opening_details_ids'): + vals['opening_details_ids'] = vals.get('opening_details_ids') or self._get_cash_open_box_lines(cr, uid, journal_id, context) res_id = super(account_cash_statement, self).create(cr, uid, vals, context=context) self._update_balances(cr, uid, [res_id], context) return res_id @@ -233,7 +240,10 @@ class account_cash_statement(osv.osv): @return: True on success, False otherwise """ - + if vals.get('journal_id', False): + cashbox_line_obj = self.pool.get('account.cashbox.line') + cashbox_ids = cashbox_line_obj.search(cr, uid, [('bank_statement_id', 'in', ids)], context=context) + cashbox_line_obj.unlink(cr, uid, cashbox_ids, context) res = super(account_cash_statement, self).write(cr, uid, ids, vals, context=context) self._update_balances(cr, uid, ids, context) return res diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml index aaa7fed07b8..790f34a4f7f 100644 --- a/addons/account/account_view.xml +++ b/addons/account/account_view.xml @@ -2265,7 +2265,6 @@ <group> <field name="journal_id" on_change="onchange_journal_id(journal_id)" widget="selection" domain="[('type', '=', 'cash')]" /> <field name="user_id" readonly="1" string="Responsible"/> - <field name="total_entry_encoding"/> <field name='company_id' widget="selection" groups="base.group_multi_company" /> </group> <group> @@ -2273,6 +2272,7 @@ <field name="closing_date" readonly="1"/> <field name="period_id" class="oe_inline"/> <field name="currency" invisible="1"/> + <field name="cash_control" invisible="1"/> </group> </group> <notebook> @@ -2306,41 +2306,64 @@ </form> </field> </page> - <page string="Cash Control"> + <page string="Cash Control" attrs="{'invisible' : [('cash_control', '=', False)]}"> <group col="2" expand="1"> - <field name="opening_details_ids" nolabel="1" colspan="4" attrs="{'invisible' : [('state', '!=', 'draft')]}"> - <tree string="Opening Cashbox Lines" editable="bottom"> - <field name="pieces"/> - <field name="number_opening" string="Opening Unit Numbers" on_change="on_change_sub_opening(pieces, number_opening, parent.balance_end)"/> - <field name="subtotal_opening" string="Opening Subtotal"/> - </tree> - </field> - <field name="closing_details_ids" nolabel="1" colspan="4" attrs="{'invisible' : [('state', '=', 'draft')]}"> - <tree string="Closing Cashbox Lines" editable="bottom"> - <field name="pieces" readonly="1" /> - <field name="number_opening" string="Opening Unit Numbers" readonly="1" /> - <field name="subtotal_opening" string="Opening Subtotal" readonly="1" /> - - <field name="number_closing" string="Closing Unit Numbers" on_change="on_change_sub_closing(pieces, number_closing, parent.balance_end)"/> - <field name="subtotal_closing" string="Closing Subtotal"/> - </tree> - </field> + <group string="Opening Cash Control" attrs="{'invisible' : [('state', '!=', 'draft')]}"> + <field name="opening_details_ids" colspan="2" nolabel="1"> + <tree string="Opening Cashbox Lines" editable="bottom"> + <field name="pieces"/> + <field name="number_opening" on_change="on_change_sub_opening(pieces, number_opening)" /> + <field name="subtotal_opening" string="Opening Subtotal" sum="Total"/> + </tree> + </field> + </group> + <group> + <group string="Opening Cash Control" attrs="{'invisible' : [('state', '=', 'draft')]}"> + <field name="details_ids" colspan="2" nolabel="1" attrs="{'readonly' : [('state', '!=', 'draft')]}"> + <tree string="Opening Cashbox Lines" editable="bottom"> + <field name="pieces"/> + <field name="number_opening" on_change="on_change_sub_opening(pieces, number_opening)"/> + <field name="subtotal_opening" string="Opening Subtotal" sum="Total"/> + </tree> + </field> + </group> + <group string="Closing Cash Control" attrs="{'invisible' : [('state', '=', 'draft')]}"> + <field name="closing_details_ids" colspan="2" nolabel="1" attrs="{'readonly' : [('state', '=', 'confirm')]}"> + <tree string="Closing Cashbox Lines" editable="bottom"> + <field name="pieces" readonly="1" /> + <field name="number_closing" on_change="on_change_sub_closing(pieces, number_closing)"/> + <field name="subtotal_closing" string="Closing Subtotal" sum="Total"/> + </tree> + </field> + </group> + </group> </group> </page> <page string="Journal Entries" attrs="{'invisible': [('state','!=','confirm')]}"> <field name="move_line_ids" string="Journal Entries"/> </page> </notebook> - <group col="6" colspan="4"> - <group col="2" colspan="2"> - <separator string="Opening Balance" colspan="4"/> - <field name="balance_start" readonly="1" string="Opening Cash Control" widget="monetary" options="{'currency_field': 'currency_id'}"/> - <field name="last_closing_balance" readonly="1" string="Last Closing Balance" widget="monetary" options="{'currency_field': 'currency_id'}"/> - <field name="total_entry_encoding" widget="monetary" options="{'currency_field': 'currency_id'}"/> - </group> - <group string="Closing Balance"> - <field name="balance_end" widget="monetary" options="{'currency_field': 'currency_id'}"/> + <group> + <group class="oe_subtotal_footer oe_right"> + <label for="balance_start" class="oe_subtotal_footer_separator oe_open_balance" string="Opening Balance" style="padding-right: 23px !important; padding-top: 6px !important;"/> + <field name="balance_start" attrs="{'readonly' : ['|', ('cash_control', '=', True), ('state', '=', 'confirm')]}" nolabel="1" widget="monetary" class="oe_subtotal_footer_separator oe_open_balance" options="{'currency_field': 'currency'}" help="Total of opening cash control lines"/> + <label for="total_entry_encoding" string="+ Transactions" class="oe_force_bold oe_mini_subtotal_footer_separator" style="padding-right: 20px !important;"/> + <field name="total_entry_encoding" nolabel="1" class="oe_bold oe_account_total" widget="monetary" options="{'currency_field': 'currency'}"/> + <label for="balance_end" string="= Theoretical Closing Balance" class="oe_force_bold oe_mini_subtotal_footer_separator" style="padding-right: 20px !important;" help="Sum of opening balance and transactions."/> + <field name="balance_end" nolabel="1" class="oe_bold oe_account_total" widget="monetary" options="{'currency_field': 'currency'}"/> </group> + <div> + <group class="oe_subtotal_footer oe_right" attrs="{'invisible': [('state', '=', 'draft')]}"> + <label for="balance_end_real" class="oe_subtotal_footer_separator oe_real_closing_balance" string="Real Closing Balance" style="padding-right: 23px !important; padding-top: 6px !important;"/> + <field name="balance_end_real" attrs="{'readonly' : ['|', ('cash_control', '=', True), ('state', '=', 'confirm')]}" nolabel="1" class="oe_subtotal_footer_separator oe_real_closing_balance" widget="monetary" options="{'currency_field': 'currency'}" help="Total of closing cash control lines."/> + </group> + <group/> + <group/> + <group class="oe_subtotal_footer oe_right" attrs="{'invisible': [('state', '=', 'draft')]}"> + <label for="difference" string="Difference" class="oe_subtotal_footer_separator oe_difference" style="padding-right: 20px !important;"/> + <field name="difference" nolabel="1" class="oe_subtotal_footer_separator oe_difference" widget="monetary" options="{'currency_field': 'currency'}"/> + </group> + </div> </group> </sheet> </form> diff --git a/addons/account/data/account_data.xml b/addons/account/data/account_data.xml index 8119e9f1002..723ec6da155 100644 --- a/addons/account/data/account_data.xml +++ b/addons/account/data/account_data.xml @@ -3,9 +3,15 @@ <data noupdate="1"> <record id="analytic_journal_sale" model="account.analytic.journal"> + <field name="code">SAL</field> <field name="name">Sales</field> <field name="type">sale</field> </record> + <record id="exp" model="account.analytic.journal"> + <field name="code">PUR</field> + <field name="name">Purchases</field> + <field name="type">purchase</field> + </record> <!-- Payment term diff --git a/addons/account/i18n/hu.po b/addons/account/i18n/hu.po index ea064694b5f..4b4f2f7f032 100644 --- a/addons/account/i18n/hu.po +++ b/addons/account/i18n/hu.po @@ -7,13 +7,13 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2013-12-12 21:16+0000\n" +"PO-Revision-Date: 2013-12-16 21:04+0000\n" "Last-Translator: krnkris <Unknown>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-12-13 05:51+0000\n" +"X-Launchpad-Export-Date: 2013-12-17 05:32+0000\n" "X-Generator: Launchpad (build 16869)\n" #. module: account @@ -168,8 +168,8 @@ msgid "" "which is set after generating opening entries from 'Generate Opening " "Entries'." msgstr "" -"Be kell állítania az 'Év végi belépő könyvelési naplót' a 'Nyitási tétel " -"létrehozása' menüvel létrehozott üzleti év tételekhez." +"Be kell állítania az 'Év végi belépő könyvelési naplót' a 'Nyitási bejegyzés " +"létrehozása' menüvel létrehozott üzleti év bejegyzéseihez." #. module: account #: field:account.fiscal.position.account,account_src_id:0 @@ -243,7 +243,7 @@ msgstr "Adósablonok" #. module: account #: model:ir.model,name:account.model_account_move_line_reconcile_select msgid "Move line reconcile select" -msgstr "Tételsor párosítás kiválasztása" +msgstr "Bizonylat tételsor párosítás kiválasztása" #. module: account #: model:process.transition,note:account.process_transition_supplierentriesreconcile0 @@ -288,8 +288,8 @@ msgid "" "sales, purchase, expense, contra, etc.\n" " This installs the module account_voucher." msgstr "" -"Ez magába foglalja az összes alap követelményt a banki, készpénzes, " -"vásárlói, beszerzési, kiadási, visszaküldött, stb nyugta bevitelhez.\n" +"Ez magába foglalja az összes alap követelményt a banki, pénztári, vásárlói, " +"beszerzési, kiadási, visszaküldött, stb nyugta bevitelhez.\n" " Ez a account_voucher (könyvelés_nyugta) modult telepíti.." #. module: account @@ -464,8 +464,8 @@ msgstr "" "Ez lehetővé teszi a személy vagy vállalat által birtokolt vagyoneszközök " "nyilvántartását.\n" " A vagyoneszközök értékcsökkenését követi nyomon, és " -"könyvelési számlák közt mozgatja ezeket az értékcsökkenő\n" -" tételeket.\n" +"könyvelési számlák bizonylatát hozza létre az értékcsökkenő\n" +" tételekre.\n" " Ez a account_asset (számla_eszköz) modult telepíti. Ha nem " "jelöli be ezt a kockát, akkor tud számlázni & kifizetni,\n" " de nem tud könyvelni (Napló tételeket, Számlatükröket, ...)" @@ -580,7 +580,7 @@ msgstr "Kiválasztott számlák jóváhagyása" #. module: account #: field:account.addtmpl.wizard,cparent_id:0 msgid "Parent target" -msgstr "Gyűjtő célszámla" +msgstr "Fölérendelt gyűjtő célszámla" #. module: account #: help:account.invoice.line,sequence:0 @@ -671,7 +671,7 @@ msgstr "3 havonta" #. module: account #: field:ir.sequence,fiscal_ids:0 msgid "Sequences" -msgstr "Sorszámok" +msgstr "Sorba rendezések" #. module: account #: field:account.financial.report,account_report_id:0 @@ -686,8 +686,8 @@ msgid "" "Specified journal does not have any account move entries in draft state for " "this period." msgstr "" -"A kiválasztott napló nem rendelkezik tervezet állapotú számla mozgásokkal " -"erre az időszakra." +"A kiválasztott napló nem rendelkezik tervezet állapotú számla bizonylatokkal " +" erre az időszakra." #. module: account #: view:account.fiscal.position:0 @@ -740,7 +740,7 @@ msgstr "Számlatípusonkénti értékesítés SZTÉ" #: code:addons/account/account.py:1591 #, python-format msgid "Cannot create move with currency different from .." -msgstr "Nem lehet mozgást végrehajtani, ha eltér a pénznem ettől .." +msgstr "Nem lehet bizonylatolni, ha eltér a pénznem ettől .." #. module: account #: model:email.template,report_name:account.email_template_edi_invoice @@ -748,6 +748,8 @@ msgid "" "Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' " "and 'draft' or ''}" msgstr "" +"Invoice_${(object.number or '').replace('/','_')}_${object.state == 'draft' " +"and 'draft' or ''}" #. module: account #: view:account.period:0 @@ -774,7 +776,7 @@ msgstr "Könyvelési időszak" #: constraint:account.move:0 msgid "" "You cannot create more than one move per period on a centralized journal." -msgstr "Egy időszakra csak egy mozgatást végezhet a központosított naplón." +msgstr "Egy időszakra csak egy bizonylatot készíthet a központi naplón." #. module: account #: help:account.tax,account_analytic_paid_id:0 @@ -968,7 +970,7 @@ msgstr "" #. module: account #: report:account.analytic.account.quantity_cost_ledger:0 msgid "J.C./Move name" -msgstr "Naplókód/Megnevezés" +msgstr "Naplókód/Bizonylat megnevezés" #. module: account #: view:account.account:0 @@ -1004,6 +1006,10 @@ msgid "" " </p>\n" " " msgstr "" +"<p>\n" +" Nem talált jelentés tartalmat.\n" +" </p>\n" +" " #. module: account #: code:addons/account/account.py:1677 @@ -1121,7 +1127,7 @@ msgstr "Bankkivonat" #. module: account #: field:account.analytic.line,move_id:0 msgid "Move Line" -msgstr "Tételsor mozgatás" +msgstr "Bizonylat tételsor" #. module: account #: help:account.move.line,tax_amount:0 @@ -1264,8 +1270,7 @@ msgstr "Visszatérítés " #: code:addons/account/account_analytic_line.py:90 #, python-format msgid "There is no expense account defined for this product: \"%s\" (id:%d)." -msgstr "" -"Nem lett kiadási számla meghatározva ehhez a termékhez: \"%s\" (id:%d)." +msgstr "Nincs kiadási számla meghatározva ehhez a termékhez: \"%s\" (id:%d)." #. module: account #: view:account.tax:0 @@ -1282,7 +1287,7 @@ msgstr "Vitatott" #: model:ir.actions.act_window,name:account.action_view_bank_statement_tree #: model:ir.ui.menu,name:account.journal_cash_move_lines msgid "Cash Registers" -msgstr "Pénztár" +msgstr "Pénztár rögzítők" #. module: account #: field:account.config.settings,sale_refund_journal_id:0 @@ -1309,8 +1314,8 @@ msgstr "" "<p class=\"oe_view_nocontent_create\">\n" " Kattintson új készpénz napló rögzítéshez.\n" " </p><p>\n" -" A pénztárgép lehetővé teszi a beérkezett készpénzek készpénz " -"naplóban\n" +" A pénztár rögzítők lehetővé teszik a beérkezett készpénzek " +"készpénz naplóban\n" " való rögzítését.. Ez a tulajdonság elérhetővé teszi a " "készpénzek napi szintű\n" " nyomon követését. Rögzítheti a kazettában lévő " @@ -1410,7 +1415,7 @@ msgstr "Adókód" #. module: account #: field:account.account,currency_mode:0 msgid "Outgoing Currencies Rate" -msgstr "" +msgstr "Kimenő csökkenéseknél használt árfolyam" #. module: account #: view:account.analytic.account:0 @@ -1426,7 +1431,7 @@ msgstr "Helyzet" #. module: account #: help:account.move.line,move_id:0 msgid "The move of this entry line." -msgstr "" +msgstr "A tételsor bizonylatszáma." #. module: account #: field:account.move.line.reconcile,trans_nbr:0 @@ -1456,7 +1461,7 @@ msgstr "Egyebek" #. module: account #: view:account.subscription:0 msgid "Draft Subscription" -msgstr "Feliratkozási vázlat" +msgstr "Feliratkozási tervezet" #. module: account #: view:account.account:0 @@ -1815,7 +1820,7 @@ msgstr "Feladatlan napló tételek" #: view:account.chart.template:0 #: field:account.chart.template,property_account_payable:0 msgid "Payable Account" -msgstr "" +msgstr "Fizethető számla" #. module: account #: field:account.tax,account_paid_id:0 @@ -1974,8 +1979,8 @@ msgid "" "The journal must have centralized counterpart without the Skipping draft " "state option checked." msgstr "" -"A naplónak a vázlat állapot átugrás lehetőség beállítása nélküli központi " -"ellenpéldánnyal kell rendelkeznie." +"A naplónak, a vázlat állapot átugrás lehetőség beállítása nélküli, központi " +"ellenszámlával kell rendelkeznie." #. module: account #: code:addons/account/account_move_line.py:854 @@ -2207,8 +2212,8 @@ msgstr "" " </p><p>\n" " Figyelemmel kísérheti a beszállítótól érkezett számlákat\n" " attól függően, hogy mit vásárolt vagy mi érkezett be. \n" -" OpenERP létre tud hozni számla vázlatokat automatikusan\n" -" a beszerzési megrendelésből vagy vásárlási nyuktákból.\n" +" A rendszer létre tud hozni számla tervezetet automatikusan\n" +" a beszerzési megrendelésből vagy vásárlási nyugtákból.\n" " </p>\n" " " @@ -2418,7 +2423,7 @@ msgstr "Szép munka!" #. module: account #: field:account.config.settings,module_account_asset:0 msgid "Assets management" -msgstr "" +msgstr "Eszközök adatkezelése" #. module: account #: view:account.account:0 @@ -2657,7 +2662,7 @@ msgstr "Tételek sorbarendezésének alapja" #. module: account #: field:account.change.currency,currency_id:0 msgid "Change to" -msgstr "" +msgstr "Változtatás erre" #. module: account #: view:account.entries.report:0 @@ -2831,7 +2836,7 @@ msgstr "Főkönyvi számla tulajdonságai" #. module: account #: selection:account.invoice.refund,filter_refund:0 msgid "Create a draft refund" -msgstr "Visszatérítés vázlat számla készítése" +msgstr "Visszatérítés tervezet számla készítése" #. module: account #: view:account.partner.reconcile.process:0 @@ -2882,7 +2887,7 @@ msgstr "Adóalapgyűjtő előjel" #. module: account #: selection:account.move.line,centralisation:0 msgid "Debit Centralisation" -msgstr "" +msgstr "Közös tartozik ellenszámla" #. module: account #: view:account.invoice.confirm:0 @@ -2907,7 +2912,7 @@ msgstr "Megújítandó számlák" #. module: account #: model:ir.model,name:account.model_account_model_line msgid "Account Model Entries" -msgstr "" +msgstr "Főkönyvi számla modelltételek" #. module: account #: code:addons/account/account.py:3202 @@ -2992,12 +2997,12 @@ msgstr "Kivonatok" #. module: account #: report:account.analytic.account.journal:0 msgid "Move Name" -msgstr "Megnevezés" +msgstr "Bizonylat megnevezése" #. module: account #: model:ir.model,name:account.model_account_move_line_reconcile_writeoff msgid "Account move line reconcile (writeoff)" -msgstr "" +msgstr "Főkönyvi számla bizonylet tételsor párosítása (leírás)" #. module: account #: model:account.account.type,name:account.conf_account_type_tax @@ -3008,7 +3013,7 @@ msgstr "" #: view:account.tax:0 #: model:ir.model,name:account.model_account_tax msgid "Tax" -msgstr "ÁFA" +msgstr "Adó" #. module: account #: view:account.analytic.account:0 @@ -3026,7 +3031,7 @@ msgstr "Analitikus könyvelés" #: field:account.config.settings,default_purchase_tax:0 #: field:account.config.settings,purchase_tax:0 msgid "Default purchase tax" -msgstr "" +msgstr "Alapértelmezett adó beszerzésekhez" #. module: account #: view:account.account:0 @@ -3058,13 +3063,13 @@ msgstr "Beállítási hiba!" #: code:addons/account/account_bank_statement.py:434 #, python-format msgid "Statement %s confirmed, journal items were created." -msgstr "" +msgstr "%s kivonat rögzítve, napló tétel létrehozva." #. module: account #: field:account.invoice.report,price_average:0 #: field:account.invoice.report,user_currency_price_average:0 msgid "Average Price" -msgstr "Átlagár" +msgstr "Mérlegelt átlagár" #. module: account #: report:account.overdue:0 @@ -3075,7 +3080,7 @@ msgstr "Dátum:" #: report:account.journal.period.print:0 #: report:account.journal.period.print.sale.purchase:0 msgid "Label" -msgstr "Megjegyzés" +msgstr "Címke" #. module: account #: view:res.partner.bank:0 @@ -3092,12 +3097,12 @@ msgstr "Különleges számítás" #: view:account.move.bank.reconcile:0 #: model:ir.actions.act_window,name:account.action_account_bank_reconcile_tree msgid "Bank reconciliation" -msgstr "Bank egyeztetés" +msgstr "Bank párosítás" #. module: account #: report:account.invoice:0 msgid "Disc.(%)" -msgstr "Eng. (%)" +msgstr "Áreng. (%)" #. module: account #: report:account.general.ledger:0 @@ -3106,22 +3111,24 @@ msgstr "Eng. (%)" #: report:account.third_party_ledger:0 #: report:account.third_party_ledger_other:0 msgid "Ref" -msgstr "Hiv" +msgstr "Hiv." #. module: account #: view:wizard.multi.charts.accounts:0 msgid "Purchase Tax" -msgstr "" +msgstr "Beszerzési adó" #. module: account #: help:account.move.line,tax_code_id:0 msgid "The Account can either be a base tax code or a tax code account." -msgstr "Adóalapgyűjtő vagy adógyűjtő lehet." +msgstr "Ez a főkönyvi számla adóalapgyűjtő vagy adógyűjtő számla lehet." #. module: account #: sql_constraint:account.model.line:0 msgid "Wrong credit or debit value in model, they must be positive!" msgstr "" +"Nem megfelelő követelés vagy tartozás érték a modellben, pozitívnak kell " +"lennie!" #. module: account #: model:process.node,note:account.process_node_reconciliation0 @@ -3198,7 +3205,7 @@ msgstr "Dátumok" #. module: account #: field:account.chart.template,parent_id:0 msgid "Parent Chart Template" -msgstr "" +msgstr "Fölérendelt számlatükör sablon" #. module: account #: field:account.tax,parent_id:0 @@ -3211,7 +3218,7 @@ msgstr "Fölérendelt adószámla" #: model:ir.actions.act_window,name:account.action_account_aged_balance_view #: model:ir.ui.menu,name:account.menu_aged_trial_balance msgid "Aged Partner Balance" -msgstr "Korosított folyószámla kivonat" +msgstr "Korosított partner folyószámla számlaegyenleg" #. module: account #: model:process.transition,name:account.process_transition_entriesreconcile0 @@ -3222,12 +3229,12 @@ msgstr "Könyvelési tételek" #. module: account #: constraint:account.move.line:0 msgid "Account and Period must belong to the same company." -msgstr "" +msgstr "Főkönyvi számla és időszak ugyanahhoz a vállalathoz tartozzon." #. module: account #: field:account.invoice.line,discount:0 msgid "Discount (%)" -msgstr "Engedmény (%)" +msgstr "Árengedmény (%)" #. module: account #: help:account.journal,entry_posted:0 @@ -3253,7 +3260,7 @@ msgstr "Leírandó összeg" #: field:account.bank.statement,message_unread:0 #: field:account.invoice,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "Olvasatlan üzenetek" #. module: account #: code:addons/account/wizard/account_invoice_state.py:44 @@ -3262,12 +3269,15 @@ msgid "" "Selected invoice(s) cannot be confirmed as they are not in 'Draft' or 'Pro-" "Forma' state." msgstr "" +"A kiválasztott számla(k) nem erősíthetők meg mivel nem 'Tervezet' vagy 'Pro-" +"Forma' állapotúak." #. module: account #: code:addons/account/account.py:1071 #, python-format msgid "You should choose the periods that belong to the same company." msgstr "" +"Olyan időszakot kell választania ami ugyanahhoz a vállalathoz tartozik." #. module: account #: model:ir.actions.act_window,name:account.action_report_account_sales_tree_all @@ -3280,7 +3290,7 @@ msgstr "Főkönyvi számlánkénti értékesítés" #: code:addons/account/account.py:1449 #, python-format msgid "You cannot delete a posted journal entry \"%s\"." -msgstr "" +msgstr "Nem törölhet egy feladott napló bejegyzést \"%s\"." #. module: account #: view:account.invoice:0 @@ -3290,7 +3300,7 @@ msgstr "Könyvelési időszak" #. module: account #: field:account.config.settings,sale_journal_id:0 msgid "Sale journal" -msgstr "" +msgstr "Értékesítési napló" #. module: account #: code:addons/account/account.py:2346 @@ -3307,6 +3317,8 @@ msgid "" "This journal already contains items, therefore you cannot modify its company " "field." msgstr "" +"Ez a napló már tartalmaz tételeket, ezért nem változtathatja meg a vállalati " +"mezőt." #. module: account #: code:addons/account/account.py:409 @@ -3315,6 +3327,8 @@ msgid "" "You need an Opening journal with centralisation checked to set the initial " "balance." msgstr "" +"Egy központosítással leellenőrzött nyitó napló szükséges a kezdő egyenleg " +"beállításához." #. module: account #: model:ir.actions.act_window,name:account.action_tax_code_list @@ -3325,13 +3339,13 @@ msgstr "Adógyűjtők" #. module: account #: view:account.account:0 msgid "Unrealized Gains and losses" -msgstr "" +msgstr "Nem megvalósított nyereségek és veszteségek" #. module: account #: model:ir.ui.menu,name:account.menu_account_customer #: model:ir.ui.menu,name:account.menu_finance_receivables msgid "Customers" -msgstr "Vevők" +msgstr "Vásárlók" #. module: account #: report:account.analytic.account.cost_ledger:0 @@ -3352,7 +3366,7 @@ msgstr "Augusztus" #. module: account #: field:accounting.report,debit_credit:0 msgid "Display Debit/Credit Columns" -msgstr "" +msgstr "Tartozás/követelés oszlop kijelzése" #. module: account #: selection:account.entries.report,month:0 @@ -3377,12 +3391,12 @@ msgstr "" #: view:account.unreconcile:0 #: view:account.unreconcile.reconcile:0 msgid "Unreconcile Transactions" -msgstr "" +msgstr "Nem párosított tranzakciók" #. module: account #: field:wizard.multi.charts.accounts,only_one_chart_template:0 msgid "Only One Chart Template Available" -msgstr "" +msgstr "Csak egy sablon lista elérhető" #. module: account #: view:account.chart.template:0 @@ -3395,7 +3409,7 @@ msgstr "Beszerzés főkönyvi számla" #: field:account.bank.statement,message_summary:0 #: field:account.invoice,message_summary:0 msgid "Summary" -msgstr "" +msgstr "Összegzés" #. module: account #: help:account.invoice,period_id:0 @@ -3411,7 +3425,7 @@ msgstr "A kivonat egyeztetésnél használja a rendszer, máshol ne alkalmazza." #. module: account #: field:account.config.settings,date_stop:0 msgid "End date" -msgstr "" +msgstr "Befejezés dátuma" #. module: account #: field:account.invoice.tax,base_amount:0 @@ -3442,7 +3456,7 @@ msgstr "Pénzügyi számvitel" #. module: account #: model:ir.ui.menu,name:account.menu_account_report_pl msgid "Profit And Loss" -msgstr "Eredménykimutatás" +msgstr "Eredménykimutatás (Nyereség és Veszteség)" #. module: account #: view:account.fiscal.position:0 @@ -3456,7 +3470,7 @@ msgstr "Eredménykimutatás" #: model:ir.model,name:account.model_account_fiscal_position #: field:res.partner,property_account_position:0 msgid "Fiscal Position" -msgstr "ÁFA pozíció" +msgstr "Költségvetési pozíció" #. module: account #: code:addons/account/account_invoice.py:823 @@ -3485,13 +3499,13 @@ msgstr "Alárendelt számlák" #: model:ir.actions.report.xml,name:account.account_account_balance #: model:ir.ui.menu,name:account.menu_general_Balance_report msgid "Trial Balance" -msgstr "Főkönyvi kivonat" +msgstr "Próbamérleg" #. module: account #: code:addons/account/account.py:431 #, python-format msgid "Unable to adapt the initial balance (negative value)." -msgstr "" +msgstr "Nem tudja a kezdő egyenleget alkalmazni (negatív érték)." #. module: account #: selection:account.invoice,type:0 @@ -3499,7 +3513,7 @@ msgstr "" #: model:process.process,name:account.process_process_invoiceprocess0 #: selection:report.invoice.created,type:0 msgid "Customer Invoice" -msgstr "Kimenő számla" +msgstr "Kimenő, vevői számla" #. module: account #: model:ir.model,name:account.model_account_open_closed_fiscalyear @@ -3510,7 +3524,7 @@ msgstr "Üzleti év kiválasztása" #: view:account.config.settings:0 #: view:account.installer:0 msgid "Date Range" -msgstr "" +msgstr "Dátum tartomány" #. module: account #: view:account.period:0 @@ -3526,7 +3540,7 @@ msgstr "Számla pénzneme" #: field:accounting.report,account_report_id:0 #: model:ir.ui.menu,name:account.menu_account_financial_reports_tree msgid "Account Reports" -msgstr "" +msgstr "Főkönyvi számlák kimutatásai" #. module: account #: field:account.payment.term,line_ids:0 @@ -3541,7 +3555,7 @@ msgstr "Adósablon lista" #. module: account #: model:ir.ui.menu,name:account.menu_account_print_sale_purchase_journal msgid "Sale/Purchase Journals" -msgstr "" +msgstr "Értékesítési/Beszerzési naplók" #. module: account #: help:account.account,currency_mode:0 @@ -3552,14 +3566,18 @@ msgid "" "software system you may have to use the rate at date. Incoming transactions " "always use the rate at date." msgstr "" -"Kiválasztja, hogy a rendszer milyen árfolyamon számolja a devizás tételek " -"csökkenéseit. A növekedéseknél mindig a napi árfolyamot használja a rendszer." +"Kiválasztja, hogy a kimenő tranzakciókhoz milyen árfolyamon számolja a " +"devizás tételek csökkenéseit. A legtöbb országban a törvényes mód az " +"'Átlagolás', de ezt nagyon kevés program rendszer tudja kezelni. Ha másik " +"program rendszerből importálja akkor inkább a dátummal megadott árfolyamot " +"használja. A bejövő tranzakcióknál, növekedéseknél mindig a napi árfolyamot " +"használja a rendszer." #. module: account #: code:addons/account/account.py:2678 #, python-format msgid "There is no parent code for the template account." -msgstr "" +msgstr "Nincs fölérendelt kódja a főkönyvi számla sablonhoz." #. module: account #: help:account.chart.template,code_digits:0 @@ -3570,7 +3588,7 @@ msgstr "Számjegyek száma a főkönyvi számla számában" #. module: account #: field:res.partner,property_supplier_payment_term:0 msgid "Supplier Payment Term" -msgstr "Szállítói fizetási feltétel" +msgstr "Beszállítói fizetési feltétel" #. module: account #: view:account.fiscalyear:0 @@ -3587,6 +3605,8 @@ msgstr "Mindig" msgid "" "Full accounting features: journals, legal statements, chart of accounts, etc." msgstr "" +"Összes könyvelési tulajdonság: naplók, törvényes kivonatok, számlatükrök, " +"stb." #. module: account #: view:account.analytic.line:0 @@ -3603,7 +3623,7 @@ msgstr "Leírás főkönyvi számlája" #: view:account.subscription:0 #: field:account.subscription,model_id:0 msgid "Model" -msgstr "Modell" +msgstr "Model, minta" #. module: account #: help:account.invoice.tax,base_code_id:0 @@ -3616,7 +3636,7 @@ msgstr "Az adóbevallásban szereplő adóalap." #: selection:account.entries.report,type:0 #: selection:account.financial.report,type:0 msgid "View" -msgstr "Gyűjtő" +msgstr "Nézet" #. module: account #: code:addons/account/account.py:3460 @@ -3628,37 +3648,37 @@ msgstr "BNK" #. module: account #: field:account.move.line,analytic_lines:0 msgid "Analytic lines" -msgstr "analitikai gyűjtőkód tételek" +msgstr "Analitikai gyűjtőkód tételek" #. module: account #: view:account.invoice:0 msgid "Proforma Invoices" -msgstr "" +msgstr "Proforma számlák" #. module: account #: model:process.node,name:account.process_node_electronicfile0 msgid "Electronic File" -msgstr "Elektronikus file" +msgstr "Elektronikus fájl" #. module: account #: field:account.move.line,reconcile:0 msgid "Reconcile Ref" -msgstr "" +msgstr "Párosítás hivatkozása" #. module: account #: field:account.config.settings,has_chart_of_accounts:0 msgid "Company has a chart of accounts" -msgstr "" +msgstr "A vállalkozásnak van egy számlatükre" #. module: account #: model:ir.model,name:account.model_account_tax_code_template msgid "Tax Code Template" -msgstr "Adógyűjtő sablon" +msgstr "Adó kód sablon" #. module: account #: model:ir.model,name:account.model_account_partner_ledger msgid "Account Partner Ledger" -msgstr "Folyószámla karton" +msgstr "Partner folyószámla karton" #. module: account #: model:email.template,body_html:account.email_template_edi_invoice @@ -3744,11 +3764,93 @@ msgid "" "</div>\n" " " msgstr "" +"\n" +"<div style=\"font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-" +"serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; \">\n" +"\n" +" <p>Hello ${object.partner_id.name},</p>\n" +"\n" +" <p>Egy új számlája van: </p>\n" +" \n" +" <p style=\"border-left: 1px solid #8e0000; margin-left: 30px;\">\n" +" <strong>REFERENCES</strong><br />\n" +" Invoice number: <strong>${object.number}</strong><br />\n" +" Invoice total: <strong>${object.amount_total} " +"${object.currency_id.name}</strong><br />\n" +" Invoice date: ${object.date_invoice}<br />\n" +" % if object.origin:\n" +" Order reference: ${object.origin}<br />\n" +" % endif\n" +" % if object.user_id:\n" +" Your contact: <a href=\"mailto:${object.user_id.email or " +"''}?subject=Invoice%20${object.number}\">${object.user_id.name}</a>\n" +" % endif\n" +" </p> \n" +" \n" +" % if object.paypal_url:\n" +" <br/>\n" +" <p>Fizethet közvetlenül Paypal rendszern:</p>\n" +" <a style=\"margin-left: 120px;\" href=\"${object.paypal_url}\">\n" +" <img class=\"oe_edi_paypal_button\" " +"src=\"https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif\"/>\n" +" </a>\n" +" % endif\n" +" \n" +" <br/>\n" +" <p>További felmerülő kérdésekkel kapcsolatban keressen meg " +"bennünket.</p>\n" +" <p>Köszönjük, hogy a ${object.company_id.name or 'bennünke'}-t " +"választotta!</p>\n" +" <br/>\n" +" <br/>\n" +" <div style=\"width: 375px; margin: 0px; padding: 0px; background-color: " +"#8E0000; border-top-left-radius: 5px 5px; border-top-right-radius: 5px 5px; " +"background-repeat: repeat no-repeat;\">\n" +" <h3 style=\"margin: 0px; padding: 2px 14px; font-size: 12px; color: " +"#DDD;\">\n" +" <strong style=\"text-" +"transform:uppercase;\">${object.company_id.name}</strong></h3>\n" +" </div>\n" +" <div style=\"width: 347px; margin: 0px; padding: 5px 14px; line-height: " +"16px; background-color: #F2F2F2;\">\n" +" <span style=\"color: #222; margin-bottom: 5px; display: block; \">\n" +" % if object.company_id.street:\n" +" ${object.company_id.street}<br/>\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}<br/>\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}<br/>\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}<br/>\n" +" % endif\n" +" </span>\n" +" % if object.company_id.phone:\n" +" <div style=\"margin-top: 0px; margin-right: 0px; margin-bottom: " +"0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: " +"0px; padding-left: 0px; \">\n" +" Phone: ${object.company_id.phone}\n" +" </div>\n" +" % endif\n" +" % if object.company_id.website:\n" +" <div>\n" +" Web : <a " +"href=\"${object.company_id.website}\">${object.company_id.website}</a>\n" +" </div>\n" +" %endif\n" +" <p></p>\n" +" </div>\n" +"</div>\n" +" " #. module: account #: view:account.period:0 msgid "Account Period" -msgstr "" +msgstr "Főkönyvi számla időszak" #. module: account #: help:account.account,currency_id:0 @@ -3756,7 +3858,7 @@ msgstr "" #: help:account.bank.accounts.wizard,currency_id:0 msgid "Forces all moves for this account to have this secondary currency." msgstr "" -"A számla minden mozgásának ebben a másodlagos pénznemben kell végbemennie." +"A számla minden bizonylatának ebben a másodlagos pénznemben kell végbemennie." #. module: account #: model:ir.actions.act_window,help:account.action_validate_account_move_line @@ -3776,12 +3878,12 @@ msgstr "Számlatükör sablonok" #. module: account #: view:account.bank.statement:0 msgid "Transactions" -msgstr "" +msgstr "Tranzakciók" #. module: account #: model:ir.model,name:account.model_account_unreconcile_reconcile msgid "Account Unreconcile Reconcile" -msgstr "Párosítás visszavonása" +msgstr "Visszavont párosítású számlák Párosítása" #. module: account #: help:account.account.type,close_method:0 @@ -3796,18 +3898,20 @@ msgid "" " 'Unreconciled' will copy only the journal items that were unreconciled on " "the first day of the new fiscal year." msgstr "" -"Állítsa be a módszert, amellyel az ezen típusú főkönyvi számlák nyitó " -"tételei létrehozásra kerülnek.\n" +"Állítsa be a módszert, amellyel az ezen típusú főkönyvi számlák év végi " +"napló tételei létrehozásra kerülnek.\n" "\n" -" Semmi esetében nem lesznek nyitó tételek.\n" -" Egyenlegnél az előző évi záró egyenleg lesz a nyitó tétel.\n" -" Tételes esetében az előző év minden tétele átkerül tárgyévre.\n" -" Rendezetlennél csak a párosítatlan tételek kerülnek át." +" 'Semmi' esetében nem lesznek nyitó tételek.\n" +" 'Egyenleg'-nél az előző évi záró egyenleg lesz a nyitó tétel általában a " +"készpénznél, házipénztárnál.\n" +" 'Tételes' esetében az előző év minden tétele átkerül tárgyévre, még a " +"rendezettek is.\n" +" 'Rendezetlen' csak a párosítatlan tételek kerülnek át." #. module: account #: view:account.tax.template:0 msgid "Keep empty to use the expense account" -msgstr "-" +msgstr "Hadja üressen a költség számla használatához" #. module: account #: field:account.aged.trial.balance,journal_ids:0 @@ -3875,7 +3979,7 @@ msgstr "Pénzügy-Számvitel modul beállítása" #. module: account #: model:ir.actions.act_window,name:account.action_account_vat_declaration msgid "Account Tax Declaration" -msgstr "" +msgstr "Adó bevalási főkönyvi számla" #. module: account #: help:account.bank.statement,name:0 @@ -3895,6 +3999,8 @@ msgid "" "centralized counterpart box in the related journal from the configuration " "menu." msgstr "" +"Központosított naplón nem tud számlát létrehozni. Hagyja üresen a beállítás " +"menüben az ide vonatkozó naplóhoz tartozó központi ellenszámla négyzetet." #. module: account #: field:account.bank.statement,balance_start:0 @@ -3913,7 +4019,7 @@ msgstr "Nem adott meg partnert!" #: model:ir.actions.act_window,name:account.action_account_period_tree #: model:ir.ui.menu,name:account.menu_action_account_period_close_tree msgid "Close a Period" -msgstr "Időszak zárása" +msgstr "Egy időszak lezárása" #. module: account #: view:account.bank.statement:0 @@ -3927,11 +4033,13 @@ msgid "" "You cannot create journal items with a secondary currency without recording " "both 'currency' and 'amount currency' field." msgstr "" +"Nem tud másodlagos pénznemmel ellátott napló tételt létrehozni a 'pénznem' " +"és 'pénznem mennyiség' mező bevitele nélkül." #. module: account #: field:account.financial.report,display_detail:0 msgid "Display details" -msgstr "" +msgstr "Részletek kijelzése" #. module: account #: report:account.overdue:0 @@ -3943,7 +4051,8 @@ msgstr "ÁFA:" msgid "" "The amount expressed in the related account currency if not equal to the " "company one." -msgstr "Másodlagos pénznemben kifejezett összeg." +msgstr "" +"A vállalat pénznemétől eltérő másodlagos pénznemben kifejezett összeg." #. module: account #: help:account.config.settings,paypal_account:0 @@ -3953,6 +4062,11 @@ msgid "" "quotations with a button \"Pay with Paypal\" in automated emails or through " "the OpenERP portal." msgstr "" +"Paypal számla (email) online fizetések befogadásához (hitel kártya, stb.) Ha " +"beállított egy paypal számlát, akkor az ügyfélnek lehetősége lesz " +"kiegyenlítenie a számlákat vagy árajánlatban szerepló tételeket az e-" +"maileken lévő \"Paypal-al történő fizetés\" gombbal vagy a portálon " +"keresztül." #. module: account #: code:addons/account/account_move_line.py:536 @@ -3963,6 +4077,10 @@ msgid "" "You can create one in the menu: \n" "Configuration/Journals/Journals." msgstr "" +"Nem található egyetlen %s típusú könyvelési napló ehhez a vállalathoz.\n" +"\n" +"Létrehozhat egyet a menüből: \n" +"Beállítások/Naplók/Naplók." #. module: account #: model:ir.actions.act_window,name:account.action_account_unreconcile @@ -3986,7 +4104,7 @@ msgstr "Adókivonat" #. module: account #: view:account.journal:0 msgid "Search Account Journal" -msgstr "Napló keresése" +msgstr "Főkönyvi napló keresése" #. module: account #: model:ir.actions.act_window,name:account.action_invoice_tree_pending_invoice @@ -3997,7 +4115,7 @@ msgstr "Függő számlák" #: view:account.invoice.report:0 #: selection:account.subscription,period_type:0 msgid "year" -msgstr "Év" +msgstr "év" #. module: account #: field:account.config.settings,date_start:0 @@ -4013,6 +4131,12 @@ msgid "" "by\n" " your supplier/customer." msgstr "" +"Lehetősége lesz szerkeszteni és érvényesíteni ezt a\n" +" jóváírási értesítést közvetlenül vagy " +"hagyja tervezetként,\n" +" amíg a dokumentumot a " +"vásárlónak/beszállítótól\n" +" nem bocsájtja ki." #. module: account #: view:validate.account.move.lines:0 @@ -4020,8 +4144,8 @@ msgid "" "All selected journal entries will be validated and posted. It means you " "won't be able to modify their accounting fields anymore." msgstr "" -"Minden kiválasztott könyvelési tétel jóváhagyásra és könyvelésre kerül. " -"Ezután nem lesz módosítható a kontírozásuk." +"Minden kiválasztott könyvelési tétel jóváhagyásra és könyvelési feladásra " +"kerül. Ezután nem lesz módosítható a kontírozásuk." #. module: account #: code:addons/account/account_move_line.py:98 @@ -4030,6 +4154,8 @@ msgid "" "You have not supplied enough arguments to compute the initial balance, " "please select a period and a journal in the context." msgstr "" +"Nem adott meg elég bizonyítékot a kezdő egyenleg kiszámításához, kérem " +"válasszon időszakot és egy naplót a környezetből." #. module: account #: model:ir.actions.report.xml,name:account.account_transfers @@ -4039,7 +4165,7 @@ msgstr "Átutalások" #. module: account #: field:account.config.settings,expects_chart_of_accounts:0 msgid "This company has its own chart of accounts" -msgstr "" +msgstr "Ennek a vállalkozásnak saját számlatükre van." #. module: account #: view:account.chart:0 @@ -4055,7 +4181,7 @@ msgstr "Készpénz kifizetése" #. module: account #: report:account.vat.declaration:0 msgid "Tax Amount" -msgstr "ÁFA összege" +msgstr "Adó összege" #. module: account #: view:account.move:0 @@ -4080,6 +4206,19 @@ msgid "" " </p>\n" " " msgstr "" +"<p class=\"oe_view_nocontent_create\">\n" +" Kattintson egy vásárlói számla készítéséhez.\n" +" </p><p>\n" +" elektronikus számlázás lehetővé teszi a vásárlók " +"fizetéseinek \n" +" gyors és könnyű beszedését. A vásárlói e-mailen kapják \n" +" számláikat, amiket online és/vagy a rendszerükbe importálva\n" +" egyenlíthetik ki.\n" +" </p><p>\n" +" A vásárlókkal folytatott kommunikáció automatikusan\n" +" láthatóvá válik a számla alján.\n" +" </p>\n" +" " #. module: account #: field:account.tax.code,name:0 @@ -4102,7 +4241,7 @@ msgstr "Beállítások" #. module: account #: field:account.aged.trial.balance,period_length:0 msgid "Period Length (days)" -msgstr "" +msgstr "Időszak hossz (napok)" #. module: account #: code:addons/account/account.py:1363 @@ -4111,22 +4250,24 @@ msgid "" "You cannot modify a posted entry of this journal.\n" "First you should set the journal to allow cancelling entries." msgstr "" +"Nem módosíthatja ennek a naplónak a már könyvelésre feladott bejegyzését.\n" +"Először be kell állítania a naplót bejegyzések visszavonására." #. module: account #: model:ir.actions.act_window,name:account.action_account_print_sale_purchase_journal msgid "Print Sale/Purchase Journal" -msgstr "" +msgstr "Értékesítés/Beszerzés napló nyomtatás" #. module: account #: view:account.installer:0 msgid "Continue" -msgstr "" +msgstr "Folytatás" #. module: account #: view:account.invoice.report:0 #: field:account.invoice.report,categ_id:0 msgid "Category of Product" -msgstr "Termék katerógia" +msgstr "Termék katerógiája" #. module: account #: code:addons/account/account.py:930 @@ -4149,6 +4290,8 @@ msgstr "Főkönyvi számla létrehozása" #, python-format msgid "The entries to reconcile should belong to the same company." msgstr "" +"A párosításhoz szóló tételek ugyanahhoz a vállalkozáshoz kell hogy " +"tartozzanak." #. module: account #: field:account.invoice.tax,tax_amount:0 @@ -4158,7 +4301,7 @@ msgstr "Adógyűjtő összege" #. module: account #: view:account.move.line:0 msgid "Unreconciled Journal Items" -msgstr "" +msgstr "Megszüntetett párosítású napló tételek" #. module: account #: selection:account.account.type,close_method:0 @@ -4169,6 +4312,7 @@ msgstr "Tételes" #: help:account.config.settings,default_purchase_tax:0 msgid "This purchase tax will be assigned by default on new products." msgstr "" +"Ez a beszerzési adó lesz alapértelmezetten hozzárendelve az új termékekhez." #. module: account #: report:account.invoice:0 @@ -4200,7 +4344,7 @@ msgstr "(Ha nem választ időszakot, minden nyitott időszakot figyelembe vesz)" #. module: account #: model:ir.model,name:account.model_account_journal_cashbox_line msgid "account.journal.cashbox.line" -msgstr "" +msgstr "account.journal.cashbox.line" #. module: account #: model:ir.model,name:account.model_account_partner_reconcile_process @@ -4258,7 +4402,7 @@ msgstr "Dátum" #. module: account #: view:account.move:0 msgid "Post" -msgstr "" +msgstr "Könyvelésre küld" #. module: account #: view:account.unreconcile:0 @@ -4297,7 +4441,7 @@ msgstr "Összes" #. module: account #: model:ir.ui.menu,name:account.menu_finance_reporting_budgets msgid "Budgets" -msgstr "Üzleti tervek" +msgstr "Költségvetési pénzügyi tervek" #. module: account #: selection:account.aged.trial.balance,filter:0 @@ -4316,13 +4460,13 @@ msgstr "Üzleti tervek" #: selection:accounting.report,filter:0 #: selection:accounting.report,filter_cmp:0 msgid "No Filters" -msgstr "Nincs szűrő" +msgstr "Nincsenek szűrők" #. module: account #: view:account.invoice.report:0 #: model:res.groups,name:account.group_proforma_invoices msgid "Pro-forma Invoices" -msgstr "" +msgstr "Pro-forma számlák" #. module: account #: view:res.partner:0 @@ -4342,7 +4486,7 @@ msgstr "" #. module: account #: field:account.config.settings,group_check_supplier_invoice_total:0 msgid "Check the total of supplier invoices" -msgstr "" +msgstr "Az össes beszállítói számlák ellenőrzése" #. module: account #: view:account.tax:0 @@ -4356,6 +4500,8 @@ msgid "" "When monthly periods are created. The status is 'Draft'. At the end of " "monthly period it is in 'Done' status." msgstr "" +"Ha havi időszakok létrehozva. Az állapot 'Tervezet'. A hónap végi állapot " +"'Elkészítve' lesz." #. module: account #: view:account.invoice.report:0 @@ -4377,18 +4523,18 @@ msgstr "" #. module: account #: view:account.analytic.line:0 msgid "Search Analytic Lines" -msgstr "analitikai gyűjtőkód tételek keresése" +msgstr "Analitikai gyűjtőkód tételek keresése" #. module: account #: field:res.partner,property_account_payable:0 msgid "Account Payable" -msgstr "Szállító számla" +msgstr "Fizetendő, beszállító számla" #. module: account #: code:addons/account/wizard/account_fiscalyear_close.py:88 #, python-format msgid "The periods to generate opening entries cannot be found." -msgstr "" +msgstr "A nyitó tételek létrehozásához tartozó időszakok nem találhatóak." #. module: account #: model:process.node,name:account.process_node_supplierpaymentorder0 @@ -4399,7 +4545,9 @@ msgstr "Átutalási megbízás" #: help:account.account.template,reconcile:0 msgid "" "Check this option if you want the user to reconcile entries in this account." -msgstr "Jelölje be, ha a számla tételei párosíthatóak." +msgstr "" +"Jelölje be, ha azt szeretné, hogy a felhasználó ennek a számlának a tételeit " +"párosítsa." #. module: account #: report:account.invoice:0 @@ -4430,7 +4578,7 @@ msgstr "Adógyűjtő szorzótényezője" #. module: account #: field:account.config.settings,complete_tax_set:0 msgid "Complete set of taxes" -msgstr "" +msgstr "Adók teljes csomagja" #. module: account #: field:account.account,name:0 @@ -4448,12 +4596,12 @@ msgstr "Megnevezés" #: code:addons/account/installer.py:115 #, python-format msgid "No unconfigured company !" -msgstr "" +msgstr "Nincs kiépítetlen vállalkozás !" #. module: account #: field:res.company,expects_chart_of_accounts:0 msgid "Expects a Chart of Accounts" -msgstr "" +msgstr "Várható számlatükör" #. module: account #: field:account.move.line,date:0 @@ -4465,23 +4613,25 @@ msgstr "Teljesítés kelte" #, python-format msgid "The journal must have default credit and debit account." msgstr "" +"A naplónak rendelkeznie kell alapértelmezett követelés és tartozás " +"számlákkal." #. module: account #: model:ir.actions.act_window,name:account.action_bank_tree #: model:ir.ui.menu,name:account.menu_action_bank_tree msgid "Setup your Bank Accounts" -msgstr "" +msgstr "Állítsa be a banki számlaszámait" #. module: account #: xsl:account.transfer:0 msgid "Partner ID" -msgstr "" +msgstr "Parner azonosító" #. module: account #: help:account.bank.statement,message_ids:0 #: help:account.invoice,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "Üzenetek és kommunikáció történet" #. module: account #: help:account.journal,analytic_journal_id:0 @@ -4516,13 +4666,15 @@ msgid "" "Check this box if you don't want any tax related to this tax Code to appear " "on invoices." msgstr "" +"Jelölje be ezt a négyzetet, ha nem akarja ehhez az adógyűjtőkódhoz tartozó " +"bármely adó megjelenítését." #. module: account #: code:addons/account/account_move_line.py:1058 #: code:addons/account/account_move_line.py:1143 #, python-format msgid "You cannot use an inactive account." -msgstr "" +msgstr "Nem használhat egyetlan inaktív számlát sem." #. module: account #: model:ir.actions.act_window,name:account.open_board_account @@ -4541,19 +4693,19 @@ msgstr "Könyvelés" #. module: account #: view:account.entries.report:0 msgid "Journal Entries with period in current year" -msgstr "" +msgstr "A jelenlegi évre vonatkozó időszakok napló bejegyzései" #. module: account #: field:account.account,child_consol_ids:0 msgid "Consolidated Children" -msgstr "Konszolidált számlák" +msgstr "Konszolidált alszámlák" #. module: account #: code:addons/account/account_invoice.py:573 #: code:addons/account/wizard/account_invoice_refund.py:146 #, python-format msgid "Insufficient Data!" -msgstr "" +msgstr "Nincs elegendő adat!" #. module: account #: help:account.account,unrealized_gain_loss:0 @@ -4561,6 +4713,8 @@ msgid "" "Value of Loss or Gain due to changes in exchange rate when doing multi-" "currency transactions." msgstr "" +"A veszteség vagy nyereség értékének változása az árfolyam változás miatt, ha " +"több pénznemben történik a tranzakció." #. module: account #: view:account.analytic.line:0 @@ -4598,7 +4752,7 @@ msgstr "Ismétlődő tételek" #. module: account #: field:account.partner.balance,display_partner:0 msgid "Display Partners" -msgstr "Megjelenítendő partnerek" +msgstr "Parnerek megjelenítése" #. module: account #: view:account.invoice:0 @@ -4613,7 +4767,7 @@ msgstr "Eszközök" #. module: account #: view:account.config.settings:0 msgid "Accounting & Finance" -msgstr "" +msgstr "Könyvelés és pénzügy" #. module: account #: view:account.invoice.confirm:0 @@ -4630,7 +4784,7 @@ msgstr "Átlagárfolyam" #: field:account.common.account.report,display_account:0 #: field:account.report.general.ledger,display_account:0 msgid "Display Accounts" -msgstr "" +msgstr "Főkönyvi számlák kijelzése" #. module: account #: view:account.state.open:0 @@ -4679,6 +4833,8 @@ msgid "" "This payment term will be used instead of the default one for sale orders " "and customer invoices" msgstr "" +"Ezt a fizetési feltételt használja az alapértelmezett helyett a vásárlói " +"megrendeléseken és az értékesítési számlákon." #. module: account #: view:account.config.settings:0 @@ -4686,23 +4842,26 @@ msgid "" "If you put \"%(year)s\" in the prefix, it will be replaced by the current " "year." msgstr "" +"Ha \"%(év)ek\" használ előtagként, akkor azt kiváltja az aktuális év." #. module: account #: help:account.account,active:0 msgid "" "If the active field is set to False, it will allow you to hide the account " "without removing it." -msgstr "Ha az aktív mező nincs bejelölve, nem használható a főkönyvi számla." +msgstr "" +"Ha az aktív mező hamisra állított, akkor eltüntetheti a főkönyvi számlát " +"annak törlése nélkül." #. module: account #: view:account.move.line:0 msgid "Posted Journal Items" -msgstr "" +msgstr "Könyvelésre feladott napló tételek" #. module: account #: field:account.move.line,blocked:0 msgid "No Follow-up" -msgstr "" +msgstr "Nincs nyomon követés" #. module: account #: view:account.tax.template:0 @@ -4712,7 +4871,7 @@ msgstr "Adósablonok keresése" #. module: account #: model:ir.ui.menu,name:account.periodical_processing_journal_entries_validation msgid "Draft Entries" -msgstr "Könyveletlen tételek" +msgstr "Könyveletlen (Tervezet) tételek" #. module: account #: help:account.config.settings,decimal_precision:0 @@ -4721,12 +4880,15 @@ msgid "" "9.99 EUR, whereas a decimal precision of 4 will allow journal entries like: " "0.0231 EUR." msgstr "" +"Példaként, a kétjegyű (2) decimális pontosság lehetővé teszi az ilyen napló " +"tételeket: 9.99 EUR, ugyanakkor a négyjegyű (4) decimális pontosság lehetővé " +"teszi az ilyen napló tételeket: 0.0231 EUR." #. module: account #: field:account.account,shortcut:0 #: field:account.account.template,shortcut:0 msgid "Shortcut" -msgstr "Gyorsmenü" +msgstr "Gyorsbillentyű parancs" #. module: account #: view:account.account:0 @@ -4758,7 +4920,8 @@ msgstr "A kiválasztott számlák érvénytelenítése" #: code:addons/account/account_bank_statement.py:424 #, python-format msgid "You have to assign an analytic journal on the '%s' journal!" -msgstr "Egy analitikai gyűjtőkód naplót kell kijelölni ezen a '%s' naplón!" +msgstr "" +"Egy analitikai gyűjtőkód naplót kell hozzárendelni ezen a '%s' naplón!" #. module: account #: model:process.transition,note:account.process_transition_supplieranalyticcost0 @@ -4785,6 +4948,17 @@ msgid "" " </p>\n" " " msgstr "" +"<p class=\"oe_view_nocontent_create\">\n" +" Kattintson új bankszámlaszám beállításához. \n" +" </p><p>\n" +" Állítsa be a vállalkozása bank számláit és válassza ki azokat\n" +" melyeknek meg kell jelennie a lábjegyzetben.\n" +" </p><p>\n" +" Ha használja a könyvelési modult részt, naplók és főkönyvi\n" +" számlák automatikusan lesznek létrehozva az itt megadott \n" +" adatok alapján.\n" +" </p>\n" +" " #. module: account #: constraint:account.tax.code.template:0 @@ -4792,6 +4966,8 @@ msgid "" "Error!\n" "You cannot create recursive Tax Codes." msgstr "" +"Hiba!\n" +"Nem hozhat létre visszatérő adógyűjtőkódokat." #. module: account #: constraint:account.period:0 @@ -4799,6 +4975,8 @@ msgid "" "Error!\n" "The duration of the Period(s) is/are invalid." msgstr "" +"Hiba!\n" +"Az időszak(ok) időtartama nem értelmezhető." #. module: account #: field:account.entries.report,month:0 @@ -4816,11 +4994,12 @@ msgstr "Hónap" #, python-format msgid "You cannot change the code of account which contains journal items!" msgstr "" +"Napló tételt tartalmazó főkönyvi számla kódját nem tudja megváltoztatni." #. module: account #: field:account.config.settings,purchase_sequence_prefix:0 msgid "Supplier invoice sequence" -msgstr "" +msgstr "Beszállítói számlák sorrendje" #. module: account #: code:addons/account/account_invoice.py:610 @@ -4830,18 +5009,20 @@ msgid "" "Cannot find a chart of account, you should create one from Settings\\" "Configuration\\Accounting menu." msgstr "" +"Nem talál egy számlatükröt, létre kell hoznia egyet a Beállítások\\" +"Beállítás\\Könyvelés menüből." #. module: account #: field:account.entries.report,product_uom_id:0 #: view:analytic.entries.report:0 #: field:analytic.entries.report,product_uom_id:0 msgid "Product Unit of Measure" -msgstr "" +msgstr "Termék mértékegysége" #. module: account #: field:res.company,paypal_account:0 msgid "Paypal Account" -msgstr "" +msgstr "Paypal számla" #. module: account #: view:account.entries.report:0 @@ -4851,7 +5032,7 @@ msgstr "Számlatípus" #. module: account #: selection:account.journal,type:0 msgid "Bank and Checks" -msgstr "" +msgstr "Bank és csekkek" #. module: account #: field:account.account.template,note:0 @@ -4861,14 +5042,14 @@ msgstr "Megjegyzés" #. module: account #: selection:account.financial.report,sign:0 msgid "Reverse balance sign" -msgstr "" +msgstr "Elentétes oldalú számla egyenleg előjele" #. module: account #: selection:account.account.type,report_type:0 #: code:addons/account/account.py:191 #, python-format msgid "Balance Sheet (Liability account)" -msgstr "" +msgstr "Számlaegyenleg lap (Felelősség számla)" #. module: account #: help:account.invoice,date_invoice:0 @@ -4891,12 +5072,13 @@ msgstr "Adóalapgyűjtő kód" #, python-format msgid "" "You have to provide an account for the write off/exchange difference entry." -msgstr "" +msgstr "Meg kell határozni egy leírás/átváltási árfolyam különbség számlát." #. module: account #: help:res.company,paypal_account:0 msgid "Paypal username (usually email) for receiving online payments." msgstr "" +"Paypal felhasználónév (általában email) az online összegek fogadásához." #. module: account #: selection:account.aged.trial.balance,target_move:0 @@ -4918,7 +5100,7 @@ msgstr "" #: code:addons/account/report/common_report_header.py:68 #, python-format msgid "All Posted Entries" -msgstr "Minden könyvelt tétel" +msgstr "Minden könyvelésre feladott tétel" #. module: account #: field:report.aged.receivable,name:0 @@ -4933,19 +5115,19 @@ msgstr "Jelölje be, ha a 0 egyenlegű számlákat is meg akarja jeleníteni!" #. module: account #: field:account.move.reconcile,opening_reconciliation:0 msgid "Opening Entries Reconciliation" -msgstr "" +msgstr "Nyitó egyenlegek párosítása" #. module: account #. openerp-web #: code:addons/account/static/src/xml/account_move_reconciliation.xml:24 #, python-format msgid "Last Reconciliation:" -msgstr "" +msgstr "Utolsó párosítás:" #. module: account #: selection:account.move.line,state:0 msgid "Balanced" -msgstr "" +msgstr "Számlaegyenlegesítve" #. module: account #: model:process.node,note:account.process_node_importinvoice0 @@ -4959,11 +5141,13 @@ msgid "" "There is currently no company without chart of account. The wizard will " "therefore not be executed." msgstr "" +"Nincs számlatükörrel nem rendelkező vállalat.. Ezért a varázsló nem fog " +"elindulni." #. module: account #: model:ir.actions.act_window,name:account.action_wizard_multi_chart msgid "Set Your Accounting Options" -msgstr "" +msgstr "Főkönyvi szála lehetőségeinek beállítása" #. module: account #: model:ir.model,name:account.model_account_chart @@ -4978,7 +5162,7 @@ msgstr "Átutalási hivatkozás" #. module: account #: selection:account.financial.report,style_overwrite:0 msgid "Main Title 1 (bold, underlined)" -msgstr "" +msgstr "Fó cím 1 (kövér, aláhúzott)" #. module: account #: report:account.analytic.account.balance:0 @@ -4999,7 +5183,7 @@ msgstr "Számlastatisztika" #. module: account #: field:account.account,exchange_rate:0 msgid "Exchange Rate" -msgstr "" +msgstr "Árfolyam" #. module: account #: model:process.transition,note:account.process_transition_paymentorderreconcilation0 @@ -5026,7 +5210,7 @@ msgstr "Záró egyenleg" #. module: account #: field:account.chart.template,visible:0 msgid "Can be Visible?" -msgstr "" +msgstr "Lehet látható?" #. module: account #: model:ir.model,name:account.model_account_journal_select @@ -5042,27 +5226,27 @@ msgstr "Jóváíró számlák" #: view:account.move.line:0 #: model:ir.actions.act_window,name:account.action_account_manual_reconcile msgid "Journal Items to Reconcile" -msgstr "" +msgstr "Párosítani kívánt napló tételek" #. module: account #: model:ir.model,name:account.model_account_tax_template msgid "Templates for Taxes" -msgstr "" +msgstr "Sablonok adókhoz" #. module: account #: sql_constraint:account.period:0 msgid "The name of the period must be unique per company!" -msgstr "" +msgstr "Az időszakok neveinek vállalkozásonként egyéninek kell lenniük!" #. module: account #: help:wizard.multi.charts.accounts,currency_id:0 msgid "Currency as per company's country." -msgstr "" +msgstr "Pénznem a vállalat országának megfelelően." #. module: account #: view:account.tax:0 msgid "Tax Computation" -msgstr "" +msgstr "Adó kiszámítás" #. module: account #: view:wizard.multi.charts.accounts:0 @@ -5077,6 +5261,9 @@ msgid "" "you want to generate accounts of this template only when loading its child " "template." msgstr "" +"Állítsa az értékét hamisra, ha nem akarja a sablont aktívan a számlatükör " +"varázsló sablonjai között használni, akkor hasznos, ha az al-sablonok " +"betöltése után szeretne ebből a sablonból számlatükröt létrehozni." #. module: account #: view:account.use.model:0 @@ -5095,6 +5282,9 @@ msgid "" "Error!\n" "You cannot create an account which has parent account of different company." msgstr "" +"Hiba!\n" +"Nem hozhat létre más vállalkozásnál fölérendelt számlával rendelkező " +"főkönyvi számlát." #. module: account #: code:addons/account/account_invoice.py:658 @@ -5105,6 +5295,10 @@ msgid "" "You can create one in the menu: \n" "Configuration\\Journals\\Journals." msgstr "" +"Nem talál ilyen %s típusú főkönyvi számlát ehhez a vállalkozáshoz.\n" +"\n" +"Létre tud hozni egyet a menüből: \n" +"Beállítások\\Naplók\\Naplók." #. module: account #: report:account.vat.declaration:0 @@ -5120,7 +5314,7 @@ msgstr "ECNJ" #. module: account #: model:ir.model,name:account.model_account_analytic_cost_ledger_journal_report msgid "Account Analytic Cost Ledger For Journal Report" -msgstr "Gyűjtőszámla az analitikus költség naplóhoz" +msgstr "Gyűjtőszámla karton az analitikus költség naplóhoz" #. module: account #: model:ir.actions.act_window,name:account.action_model_form @@ -5130,7 +5324,7 @@ msgstr "Ismétlődő modellek" #. module: account #: view:account.tax:0 msgid "Children/Sub Taxes" -msgstr "" +msgstr "Alsóbbrendű/Alárendelt adók" #. module: account #: xsl:account.transfer:0 @@ -5150,7 +5344,7 @@ msgstr "Követel összegek alapértelmezett főkönyvi számlája" #. module: account #: view:cash.box.out:0 msgid "Describe why you take money from the cash register:" -msgstr "" +msgstr "Írja le miért vesz ki pénzt a pénz rögzítőből:" #. module: account #: selection:account.invoice,state:0 @@ -5162,12 +5356,12 @@ msgstr "Érvénytelenített" #. module: account #: help:account.config.settings,group_proforma_invoices:0 msgid "Allows you to put invoices in pro-forma state." -msgstr "" +msgstr "Lehetővé teszi a számlák pro-forma, díjbekérő állapotba tételét." #. module: account #: view:account.journal:0 msgid "Unit Of Currency Definition" -msgstr "" +msgstr "A pénznem egységének meghatározása" #. module: account #: help:account.partner.ledger,amount_currency:0 @@ -5176,12 +5370,14 @@ msgid "" "It adds the currency column on report if the currency differs from the " "company currency." msgstr "" +"Ez hozzáadja a pénznem oszlopot a beszámolóban, ha a vállalkozás pénznemétől " +"eltérő a pénznem." #. module: account #: code:addons/account/account.py:3394 #, python-format msgid "Purchase Tax %.2f%%" -msgstr "" +msgstr "Beszerzési adó %.2f%%" #. module: account #: view:account.subscription.generate:0 @@ -5215,7 +5411,7 @@ msgstr "Érvénytelenített számla" #. module: account #: view:account.invoice:0 msgid "My Invoices" -msgstr "" +msgstr "Számláim" #. module: account #: selection:account.bank.statement,state:0 @@ -5225,7 +5421,7 @@ msgstr "Új" #. module: account #: view:wizard.multi.charts.accounts:0 msgid "Sale Tax" -msgstr "" +msgstr "Értékesítési adó" #. module: account #: field:account.tax,ref_tax_code_id:0 @@ -5250,12 +5446,15 @@ msgid "" "printed it comes to 'Printed' status. When all transactions are done, it " "comes in 'Done' status." msgstr "" +"Ha létre lett hozva a napló időtartam. Az állapota 'Tervezet' lesz. Ha a " +"kimutatás ki lett nyomtatva akkor annak állapota 'Kinyomtatva' lesz. Ha " +"minden tranzakció el lett végezve akkor 'Elkészített' állapotú lesz." #. module: account #: code:addons/account/account.py:3205 #, python-format msgid "MISC" -msgstr "" +msgstr "Különb." #. module: account #: field:account.fiscalyear.close,fy2_id:0 @@ -5278,7 +5477,7 @@ msgstr "Számlák" #. module: account #: help:account.config.settings,expects_chart_of_accounts:0 msgid "Check this box if this company is a legal entity." -msgstr "" +msgstr "Jelölje be a négyzetet, ha a vállalat egy jogi személy." #. module: account #: model:account.account.type,name:account.conf_account_type_chk @@ -5324,7 +5523,7 @@ msgstr "Csekk" #: view:validate.account.move:0 #: view:validate.account.move.lines:0 msgid "or" -msgstr "" +msgstr "vagy" #. module: account #: view:account.invoice.report:0 @@ -5334,7 +5533,7 @@ msgstr "Számlázott" #. module: account #: view:account.move:0 msgid "Posted Journal Entries" -msgstr "" +msgstr "Könyvelésre feladott napló tételek" #. module: account #: view:account.use.model:0 @@ -5377,12 +5576,12 @@ msgstr "Rendezett" #. module: account #: field:account.invoice,tax_line:0 msgid "Tax Lines" -msgstr "ÁFA összesítő" +msgstr "Adó összesítő" #. module: account #: help:account.move.line,statement_id:0 msgid "The bank statement used for bank reconciliation" -msgstr "A bank egyeztetéshez használt bankkivonat." +msgstr "A bank egyeztetéshez használt bankkivonat" #. module: account #: model:process.transition,note:account.process_transition_suppliercustomerinvoice0 @@ -5395,22 +5594,24 @@ msgid "" "Set the account that will be set by default on invoice tax lines for " "invoices. Leave empty to use the expense account." msgstr "" +"Főkönyvi számla beállítása a számlák adó tételeinek alapértelmezett " +"használatához. Hagyja üresen a költség kiadási számla használatához." #. module: account #: code:addons/account/account.py:890 #, python-format msgid "Opening Period" -msgstr "" +msgstr "Nyitó időszak" #. module: account #: view:account.move:0 msgid "Journal Entries to Review" -msgstr "" +msgstr "Fellülvizsgálandó napló tételek" #. module: account #: selection:res.company,tax_calculation_rounding_method:0 msgid "Round Globally" -msgstr "" +msgstr "Globális kerekítés" #. module: account #: view:account.bank.statement:0 @@ -5430,6 +5631,8 @@ msgid "" "Please verify the price of the invoice !\n" "The encoded total does not match the computed total." msgstr "" +"Kérem a számlában lévő árak ellenőrzését !\n" +"A beírt teljes összeg nem egyezik a kiszámított összeggel." #. module: account #: field:account.account,active:0 @@ -5459,12 +5662,12 @@ msgstr "Időszak vége" #. module: account #: model:process.node,note:account.process_node_supplierpaymentorder0 msgid "Payment of invoices" -msgstr "Számlák átutalása" +msgstr "Számlák kiegyenlítése" #. module: account #: sql_constraint:account.invoice:0 msgid "Invoice Number must be unique per Company!" -msgstr "" +msgstr "Egyéni számlaszámnak kell lennie mindegyik válallathoz!" #. module: account #: model:ir.actions.act_window,name:account.action_account_receivable_graph @@ -5475,12 +5678,12 @@ msgstr "Számlatípusonkénti egyenleg" #: code:addons/account/account_cash_statement.py:301 #, python-format msgid "There is no %s Account on the journal %s." -msgstr "" +msgstr "Nincs %s főkönyvi számla ehhez a naplóhoz %s." #. module: account #: model:res.groups,name:account.group_account_user msgid "Accountant" -msgstr "" +msgstr "Könyvelő" #. module: account #: model:ir.actions.act_window,help:account.action_account_treasury_report_all @@ -5488,16 +5691,19 @@ msgid "" "From this view, have an analysis of your treasury. It sums the balance of " "every accounting entries made on liquidity accounts per period." msgstr "" +"Erről a nézetről, van egy kimutatás a pénzeszközeire vonatkozólag. Ez " +"összegzi időszakonként a likviditási számlán bejegyzett tételek " +"számlaegyenlegét." #. module: account #: model:res.groups,name:account.group_account_manager msgid "Financial Manager" -msgstr "" +msgstr "Pénzügyi irányító" #. module: account #: field:account.journal,group_invoice_lines:0 msgid "Group Invoice Lines" -msgstr "Számlasorok összevonása" +msgstr "Számlatételek összevonása" #. module: account #: view:account.automatic.reconcile:0 @@ -5507,13 +5713,13 @@ msgstr "Zárás" #. module: account #: field:account.bank.statement.line,move_ids:0 msgid "Moves" -msgstr "Tételek" +msgstr "Bizonylatok" #. module: account #: field:account.bank.statement,details_ids:0 #: view:account.journal:0 msgid "CashBox Lines" -msgstr "" +msgstr "Pénzkazetta tételek" #. module: account #: model:ir.model,name:account.model_account_vat_declaration @@ -5526,6 +5732,8 @@ msgid "" "If you do not check this box, you will be able to do invoicing & payments, " "but not accounting (Journal Items, Chart of Accounts, ...)" msgstr "" +"Ha nem jelöli be ezt a négyzetet, akkor lehetősége lesz számlázni & " +"kifizetni, de nem tud könyvelni (Napló bejegyzéseket, számlatükröt, ...)" #. module: account #: view:account.period:0 @@ -5535,7 +5743,7 @@ msgstr "Lezárandó" #. module: account #: field:account.treasury.report,date:0 msgid "Beginning of Period Date" -msgstr "" +msgstr "Az időszak kezdeti dátuma" #. module: account #: model:ir.ui.menu,name:account.account_template_folder @@ -5545,7 +5753,7 @@ msgstr "Sablonok" #. module: account #: field:account.invoice.tax,name:0 msgid "Tax Description" -msgstr "Adótípus" +msgstr "Adó leírása" #. module: account #: field:account.tax,child_ids:0 @@ -5558,12 +5766,13 @@ msgstr "Alárendelt adószámlák" msgid "" "Check this if the price you use on the product and invoices includes this " "tax." -msgstr "Jelölje be, ha az ár tartalmazza az ÁFÁ-t." +msgstr "" +"Jelölje be, ha a termékeken és a számlákon az ár tartalmazza az adót." #. module: account #: report:account.analytic.account.balance:0 msgid "Analytic Balance -" -msgstr "analitikus gyűjtőkód számlaegyenleg -" +msgstr "Analitikus gyűjtőkód számlaegyenleg -" #. module: account #: report:account.account.balance:0 @@ -5593,7 +5802,7 @@ msgstr "analitikus gyűjtőkód számlaegyenleg -" #: field:account.vat.declaration,target_move:0 #: field:accounting.report,target_move:0 msgid "Target Moves" -msgstr "Figyelembe vett tételek" +msgstr "Figyelembe vett bizonylat tételek" #. module: account #: code:addons/account/account.py:1454 @@ -5601,12 +5810,14 @@ msgstr "Figyelembe vett tételek" msgid "" "Move cannot be deleted if linked to an invoice. (Invoice: %s - Move ID:%s)" msgstr "" +"Ha a bizonylet van rendelve egy számlához, akkor az nem törölhető. (Számla: " +"%s - Bizonylat azonosító ID:%s)" #. module: account #: view:account.bank.statement:0 #: help:account.cashbox.line,number_opening:0 msgid "Opening Unit Numbers" -msgstr "Nyitó darabszám" +msgstr "Nyitó egységnyi darabszám" #. module: account #: field:account.subscription,period_type:0 @@ -5645,13 +5856,17 @@ msgid "" "encode the sale and purchase rates or choose from list of taxes. This last " "choice assumes that the set of tax defined on this template is complete" msgstr "" +"Ez a boolean művelet segítséget nyújt annak kiválasztásában, hogy javasol " +"az értékesítési és beszerzési értékek kódolásában vagy az adó listából " +"válassza ki azokat. Ez utóbbit választása feltételezi, hogy a sablonban " +"teljes körűen meghatározott az adó." #. module: account #: view:account.financial.report:0 #: field:account.financial.report,children_ids:0 #: model:ir.model,name:account.model_account_financial_report msgid "Account Report" -msgstr "" +msgstr "Folyószámlajelentés" #. module: account #: field:account.entries.report,year:0 @@ -5669,7 +5884,7 @@ msgstr "Év" #. module: account #: help:account.invoice,sent:0 msgid "It indicates that the invoice has been sent." -msgstr "" +msgstr "Ez jelzi, hogy a számlát már elküldték." #. module: account #: field:account.tax.template,description:0 @@ -5684,16 +5899,19 @@ msgid "" "Put a sequence in the journal definition for automatic numbering or create a " "sequence manually for this piece." msgstr "" +"Nem hozható létre automatikus sorrend ehhez a darabhoz.\n" +"Rakjon sorrendet a napló meghatározásánál az automatikus számozáshoz vagy " +"hozzon létre kézi sorrendet ehhez a darabhoz." #. module: account #: view:account.invoice:0 msgid "Pro Forma Invoice " -msgstr "" +msgstr "Pro Forma számla " #. module: account #: selection:account.subscription,period_type:0 msgid "month" -msgstr "Hónap" +msgstr "hónap" #. module: account #: view:account.move.line:0 @@ -5712,19 +5930,19 @@ msgstr "Adószámla" #: model:ir.actions.act_window,name:account.action_account_report_bs #: model:ir.ui.menu,name:account.menu_account_report_bs msgid "Balance Sheet" -msgstr "Mérleg" +msgstr "Egyenleg kimutatatás" #. module: account #: selection:account.account.type,report_type:0 #: code:addons/account/account.py:188 #, python-format msgid "Profit & Loss (Income account)" -msgstr "" +msgstr "Nyereség & Veszteség (Jövedelem bevételi számla)" #. module: account #: field:account.journal,allow_date:0 msgid "Check Date in Period" -msgstr "" +msgstr "Ellenőrizze a dátumot az időszakban" #. module: account #: model:ir.ui.menu,name:account.final_accounting_reports @@ -5754,6 +5972,7 @@ msgstr "Számítási kód (ha a típus = Python kód)" msgid "" "Cannot find a chart of accounts for this company, you should create one." msgstr "" +"Nem található a vállalatra vonatkozó számlatükör, Létre kell hoznia egyet." #. module: account #: selection:account.analytic.journal,type:0 @@ -5795,7 +6014,7 @@ msgstr "Összeg" #: code:addons/account/wizard/account_fiscalyear_close.py:41 #, python-format msgid "End of Fiscal Year Entry" -msgstr "Záró/nyitó tétel" +msgstr "Üzleti év záró tétel" #. module: account #: model:process.transition,name:account.process_transition_customerinvoice0 @@ -5814,6 +6033,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 "" +"A chettelés összegzést megállítja (üzenetek száma,...). Ez az összegzés " +"direkt HTML formátumú ahhoz hogy beilleszthető legyen a kanban nézetekbe." #. module: account #: field:account.tax,child_depend:0 @@ -5831,6 +6052,12 @@ msgid "" "entry was reconciled, either the user pressed the button \"Fully " "Reconciled\" in the manual reconciliation process" msgstr "" +"A partner főkönyvi számla tételeinek legutóbbi összesítő párosításának " +"dátuma. Ha eltér ennek a partnernek a legutóbbi párosítási dátumától, azzal " +"itt leírjuk azt a tényt, hogy most nincs mit párosítani. Ez kétféleképpen " +"teljesülhet: vagy az utolsó tartozás/követelés lett párosítva, vagy a " +"felhasználó megnyomta a \"Összesítő párosítás\" gombot a kézi párosítás " +"műveletek elindításához" #. module: account #: field:account.journal,update_posted:0 @@ -5845,14 +6072,14 @@ msgid "" "payment term!\n" "Please define partner on it!" msgstr "" -"\"A(z) '%s' modellsor által előállított tételsor esedékességének dátuma a " +"A(z) '%s' modellsor által előállított tételsor esedékességének dátuma a " "partner fizetési feltételétől függ!\n" "Kérem, adja meg a partnert!\"" #. module: account #: field:account.tax.code,sign:0 msgid "Coefficent for parent" -msgstr "Összegzésnél használt előjel" +msgstr "Fölérendeltekhez használt előjel" #. module: account #: report:account.partner.balance:0 @@ -5862,12 +6089,12 @@ msgstr "(Számla/partner) név" #. module: account #: field:account.partner.reconcile.process,progress:0 msgid "Progress" -msgstr "Haladás" +msgstr "Fejlődés" #. module: account #: field:wizard.multi.charts.accounts,bank_accounts_id:0 msgid "Cash and Banks" -msgstr "" +msgstr "Készpénz pénztár és bankok" #. module: account #: model:ir.model,name:account.model_account_installer @@ -5877,13 +6104,13 @@ msgstr "account.installer" #. module: account #: view:account.invoice:0 msgid "Recompute taxes and total" -msgstr "" +msgstr "Számítsa újra az adókat és összegzéseket" #. module: account #: code:addons/account/account.py:1116 #, python-format msgid "You cannot modify/delete a journal with entries for this period." -msgstr "" +msgstr "Nem módosíthatja/törölheti ennek az időszaknak a napló bejegyzéseit." #. module: account #: field:account.tax.template,include_base_amount:0 @@ -5893,7 +6120,7 @@ msgstr "Adóalap tartalmazza az adót" #. module: account #: field:account.invoice,supplier_invoice_number:0 msgid "Supplier Invoice Number" -msgstr "Szállítói számlaszám" +msgstr "Beszállítói számlaszám" #. module: account #: help:account.payment.term.line,days:0 @@ -5901,9 +6128,9 @@ msgid "" "Number of days to add before computation of the day of month.If Date=15/01, " "Number of Days=22, Day of Month=-1, then the due date is 28/02." msgstr "" -"Napok száma, amely hozzáadódik a mai dátumhoz. Ezután számolja a rendszer a " -"hónap napját. Pl. ha a dátum 01.15., a napok száma 22 és a hónap napja -1, " -"akkor a fizetési határidő 02.28. lesz." +"Napok száma, amely hozzáadódik a mai dátumhoz. Ez alapján számolja a " +"rendszer a hónap napját. Pl. ha a dátum 01.15., a napok száma 22 és a hónap " +"napja -1, akkor a fizetési határidő 02.28. lesz." #. module: account #: view:account.payment.term.line:0 @@ -5914,7 +6141,7 @@ msgstr "Összeg kiszámítása" #: code:addons/account/account_move_line.py:1105 #, python-format msgid "You can not add/modify entries in a closed period %s of journal %s." -msgstr "" +msgstr "A %s napló, %s lezárt időszak tételeit nem tudja növelni/módosítani." #. module: account #: view:account.journal:0 @@ -5925,7 +6152,7 @@ msgstr "Tétel ellenőrzések" #: view:account.analytic.chart:0 #: view:project.account.analytic.line:0 msgid "(Keep empty to open the current situation)" -msgstr "(Hagyja üresen, hogy az aktuális állapotot nyissa meg)" +msgstr "(Hagyja üresen, az aktuális állapotot megynyitásához)" #. module: account #: field:account.analytic.balance,date1:0 @@ -5939,7 +6166,7 @@ msgstr "Időszak kezdete" #. module: account #: model:account.account.type,name:account.account_type_asset_view1 msgid "Asset View" -msgstr "" +msgstr "Eszközök nézete" #. module: account #: model:ir.model,name:account.model_account_common_account_report @@ -5972,24 +6199,27 @@ msgid "" "that you should have your last line with the type 'Balance' to ensure that " "the whole amount will be treated." msgstr "" +"Válassza ki itt ehhez a fizetési tételhez vonatkozó értékelés típust. " +"Figyeljen oda, hogy az utolsó tételnek 'Egyenleg' típusnak kell lennie " +"ahhoz, hogy a teljes összegen el legyen végezve." #. module: account #: field:account.partner.ledger,initial_balance:0 #: field:account.report.general.ledger,initial_balance:0 msgid "Include Initial Balances" -msgstr "" +msgstr "Kezdeti számlaegyenlegeket beleértve" #. module: account #: view:account.invoice.tax:0 msgid "Tax Codes" -msgstr "Adógyűjtők" +msgstr "Adógyűjtőkódok" #. module: account #: selection:account.invoice,type:0 #: selection:account.invoice.report,type:0 #: selection:report.invoice.created,type:0 msgid "Customer Refund" -msgstr "Kimenő jóváíró számla" +msgstr "Kimenő, vásárlói jóváíró számla" #. module: account #: field:account.tax,ref_tax_sign:0 @@ -6007,23 +6237,23 @@ msgstr "Kimutatás az elmúlt 15 napban készített számlákról" #. module: account #: field:account.fiscalyear,end_journal_period_id:0 msgid "End of Year Entries Journal" -msgstr "Záró/nyitó napló" +msgstr "Üzeit évet záró napló tételek" #. module: account #: view:account.invoice:0 msgid "Draft Refund " -msgstr "Visszetérítés vázlat " +msgstr "Visszetérítés tervezet " #. module: account #: view:cash.box.in:0 msgid "Fill in this form if you put money in the cash register:" -msgstr "" +msgstr "Töltse ki ezt az űrlapot, ha pénzt tett a pénztár rögzítőbe:" #. module: account #: view:account.payment.term.line:0 #: field:account.payment.term.line,value_amount:0 msgid "Amount To Pay" -msgstr "" +msgstr "Fizetendő összeg" #. module: account #: help:account.partner.reconcile.process,to_reconcile:0 @@ -6033,7 +6263,7 @@ msgid "" "as reconciled." msgstr "" "A hátralévő partnerek száma, akiket ellenőrizni kell, hogy van-e párosítandó " -"tételük." +"tételük. Ez az aktuális partnert már párosítottként tekinti." #. module: account #: view:account.subscription.line:0 @@ -6076,7 +6306,7 @@ msgstr "Kifizetés dátuma" #: view:account.bank.statement:0 #: field:account.bank.statement,opening_details_ids:0 msgid "Opening Cashbox Lines" -msgstr "" +msgstr "Pénzkazetta nyitó tételek" #. module: account #: view:account.analytic.account:0 @@ -6101,7 +6331,7 @@ msgstr "Devizaösszeg" #. module: account #: selection:res.company,tax_calculation_rounding_method:0 msgid "Round per Line" -msgstr "" +msgstr "Tételenkénti kerekítés" #. module: account #: report:account.analytic.account.balance:0 @@ -6121,12 +6351,12 @@ msgstr "Mennyiség" #. module: account #: view:account.move.line:0 msgid "Number (Move)" -msgstr "Bizonylat száma" +msgstr "Bizonylat száma (Mozgás)" #. module: account #: selection:account.financial.report,style_overwrite:0 msgid "Normal Text" -msgstr "" +msgstr "Normál szöveg" #. module: account #: model:process.transition,note:account.process_transition_paymentreconcile0 @@ -6139,30 +6369,34 @@ msgid "" "This payment term will be used instead of the default one for purchase " "orders and supplier invoices" msgstr "" +"Ezt a fizetési feltétel használja az alapértelmezett helyett a beszerzési " +"megrendelésekhez és vásárlói számlákhoz" #. module: account #: help:account.automatic.reconcile,power:0 msgid "" "Number of partial amounts that can be combined to find a balance point can " "be chosen as the power of the automatic reconciliation" -msgstr "Maximálisan párosítható tételek száma" +msgstr "" +"Részenkénti kombinációs párosítások száma egy mint az automatikus párosítás " +"max. tételszámhoz használt számlaegyenleg pont megtalálásához." #. module: account #: code:addons/account/wizard/account_report_aged_partner_balance.py:56 #, python-format msgid "You must set a period length greater than 0." -msgstr "" +msgstr "Nullánál hoszabb időszakot kell használnia." #. module: account #: view:account.fiscal.position.template:0 #: field:account.fiscal.position.template,name:0 msgid "Fiscal Position Template" -msgstr "ÁFA pozíció sablon" +msgstr "Költségvetési ÁFA pozíció sablon" #. module: account #: view:account.invoice:0 msgid "Draft Refund" -msgstr "Visszetérítés vázlat" +msgstr "Visszetérítés tervezet" #. module: account #: view:account.analytic.chart:0 @@ -6189,7 +6423,7 @@ msgstr "Pénzkazetta nyitása" #. module: account #: selection:account.financial.report,style_overwrite:0 msgid "Automatic formatting" -msgstr "" +msgstr "Automatikus formázás" #. module: account #: view:account.move.line.reconcile:0 @@ -6200,6 +6434,7 @@ msgstr "Párosítás különbözet leírásával" #: constraint:account.move.line:0 msgid "You cannot create journal items on an account of type view." msgstr "" +"Típus nézetben nem tud nepló tételeket létrehozni. Váltson másik nézetbe." #. module: account #: selection:account.payment.term.line,value:0 @@ -6212,17 +6447,19 @@ msgstr "Fix összeg" #, python-format msgid "You cannot change the tax, you should remove and recreate lines." msgstr "" +"Nem tudja megváltoztatni az adót, el kell távolítania és létre kell hoznia " +"tételeket." #. module: account #: model:ir.actions.act_window,name:account.action_account_automatic_reconcile msgid "Account Automatic Reconcile" -msgstr "Automatikus párosítás" +msgstr "Számla automatikus párosítása" #. module: account #: view:account.move:0 #: view:account.move.line:0 msgid "Journal Item" -msgstr "Könyvelési tételsor" +msgstr "Könyvelési napló tételsor" #. module: account #: model:ir.actions.act_window,name:account.action_account_fiscalyear_close @@ -6238,7 +6475,7 @@ msgstr "Az adóösszeg kiszámítási módszere." #. module: account #: view:account.payment.term.line:0 msgid "Due Date Computation" -msgstr "" +msgstr "Esedékesség dátumának kiszámítása" #. module: account #: field:report.invoice.created,create_date:0 @@ -6256,13 +6493,13 @@ msgstr "Analitikus gyűjtőnaplók" #. module: account #: field:account.account,child_id:0 msgid "Child Accounts" -msgstr "Alárendelt számlák" +msgstr "Alárendelt főkönyvi számlák" #. module: account #: code:addons/account/account_move_line.py:1117 #, python-format msgid "Move name (id): %s (%s)" -msgstr "" +msgstr "Bizonlyat neve (Azonosító id): %s (%s)" #. module: account #: view:account.move.line.reconcile:0 @@ -6274,18 +6511,18 @@ msgstr "Különbözet leírása" #. module: account #: view:account.entries.report:0 msgid "entries" -msgstr "" +msgstr "bevitt tételek" #. module: account #: field:res.partner,debit:0 msgid "Total Payable" -msgstr "Összes szállítói tartozás" +msgstr "Fizetendő tartozás összesen" #. module: account #: model:account.account.type,name:account.data_account_type_income #: model:account.financial.report,name:account.account_financial_report_income0 msgid "Income" -msgstr "" +msgstr "Bevétel" #. module: account #: selection:account.bank.statement.line,type:0 @@ -6327,7 +6564,7 @@ msgstr "Szabad hivatkozás" #: code:addons/account/report/account_partner_ledger.py:276 #, python-format msgid "Receivable and Payable Accounts" -msgstr "Vevő és szállító számlák" +msgstr "Vásárlói és beszállítói számlák" #. module: account #: field:account.fiscal.position.account.template,position_id:0 @@ -6337,18 +6574,18 @@ msgstr "ÁFA pozíció leképezés" #. module: account #: view:account.config.settings:0 msgid "Select Company" -msgstr "" +msgstr "Vállalat kiválasztás" #. module: account #: model:ir.actions.act_window,name:account.action_account_state_open #: model:ir.model,name:account.model_account_state_open msgid "Account State Open" -msgstr "Nyitott állapot" +msgstr "Nyitott állapotú számla" #. module: account #: report:account.analytic.account.quantity_cost_ledger:0 msgid "Max Qty:" -msgstr "Max menny:" +msgstr "Max menny.:" #. module: account #: view:account.invoice:0 @@ -6363,9 +6600,9 @@ msgid "" "document shows your debit and credit taking in consideration some criteria " "you can choose by using the search tool." msgstr "" -"Ez a menüpont elemzést nyújt a főkönyvi számlákon könyvelt tételekről. A " -"kereső eszköz használatával különböző kritériumokat határozhat meg a " -"lekérdezéshez." +"Ez a menüpont elemzést nyújt a különböző főkönyvi számlákon könyvelt " +"tételekről. A kereső eszköz használatával különböző kritériumokat határozhat " +"meg a lekérdezéshez, melyek tájékoztatják a tartozásairól és követeléseiről." #. module: account #: help:account.partner.reconcile.process,progress:0 @@ -6383,7 +6620,7 @@ msgstr "" #: field:report.account.sales,period_id:0 #: field:report.account_type.sales,period_id:0 msgid "Force Period" -msgstr "Időszak" +msgstr "Időszak kényszerítése" #. module: account #: model:ir.actions.act_window,help:account.action_account_form @@ -6402,12 +6639,27 @@ msgid "" " </p>\n" " " msgstr "" +"<p class=\"oe_view_nocontent_create\">\n" +" Kattintson egy főkönyvi számla hozzáadásához.\n" +" </p><p>\n" +" Egy számla a főkönyvi karton része amire a vállalkozása\n" +" be tud jegyezni bármilyen tartozás és követelés " +"tranzakciót.\n" +" Vállalatok két fő részletben mutatják be az éves " +"könyvelésüket: \n" +" a számla egyenlegen és a bevételi kimutatáson (nyereség és " +"veszteség\n" +" számla). A vállalkozás éves elszámolásához a törvény szerint " +"be kell\n" +" mutatni számos informácót.\n" +" </p>\n" +" " #. module: account #: view:account.invoice.report:0 #: field:account.invoice.report,nbr:0 msgid "# of Lines" -msgstr "Sorok száma" +msgstr "# sorok száma" #. module: account #: view:account.invoice:0 @@ -6437,7 +6689,7 @@ msgstr "Szűrés" #: code:addons/account/account.py:2334 #, python-format msgid "You have a wrong expression \"%(...)s\" in your model !" -msgstr "" +msgstr "Rossz kifejezés \"%(...)s\" van a modelljében !" #. module: account #: view:account.tax.template:0 @@ -6448,11 +6700,12 @@ msgstr "Számítási kód (ha az ár tartalmazza az adót)" #: help:account.bank.statement,balance_end:0 msgid "Balance as calculated based on Starting Balance and transaction lines" msgstr "" +"Számlaegyenleg a kezdeti egyenleg és a tranzakciós tételek alapján számítva" #. module: account #: field:account.journal,loss_account_id:0 msgid "Loss Account" -msgstr "" +msgstr "Veszteség számla" #. module: account #: field:account.tax,account_collected_id:0 @@ -6475,6 +6728,11 @@ msgid "" "created by the system on document validation (invoices, bank statements...) " "and will be created in 'Posted' status." msgstr "" +"Összes kézzel létrehozott napló tétel 'Könyveletlen' állapotú, de " +"választhatja lehetőségként ennek az állapotnak az átugrását az ide vonatkozó " +"naplón. Ebben az esetben, úgy viselkedik mint a rendszer által automatikusan " +"létrehozott napló tétel a dokumentum érvényesítésekor (számlák, bank " +"kivonatok...) mint 'Könyvelt' állapotú tétel." #. module: account #: field:account.payment.term.line,days:0 @@ -6488,11 +6746,13 @@ msgid "" "You cannot validate this journal entry because account \"%s\" does not " "belong to chart of accounts \"%s\"." msgstr "" +"Nem érvényesítheti ezt a napló tételt mert a \"%s\" számlája nem tartozik a " +"\"%s\" szálatükörhöz." #. module: account #: view:account.financial.report:0 msgid "Report" -msgstr "" +msgstr "Kimutatás" #. module: account #: model:ir.model,name:account.model_account_fiscal_position_tax_template @@ -6521,12 +6781,12 @@ msgstr "Semmi" #: model:ir.actions.act_window,name:account.action_invoice_tree3 #: model:ir.ui.menu,name:account.menu_action_invoice_tree3 msgid "Customer Refunds" -msgstr "Kimenő jóváíró számlák" +msgstr "Kimenő, vásárlói jóváíró számlák" #. module: account #: field:account.account,foreign_balance:0 msgid "Foreign Balance" -msgstr "" +msgstr "Idegen számlaegyenleg" #. module: account #: field:account.journal.period,name:0 @@ -6546,12 +6806,12 @@ msgstr "A naplóhoz kapcsolt vállalat" #. module: account #: help:account.config.settings,group_multi_currency:0 msgid "Allows you multi currency environment" -msgstr "" +msgstr "Több pénznemes környezetet tesz elérhetővé" #. module: account #: view:account.subscription:0 msgid "Running Subscription" -msgstr "" +msgstr "Jegyzés futtatás" #. module: account #: report:account.invoice:0 @@ -6576,6 +6836,8 @@ msgid "" "This journal will be created automatically for this bank account when you " "save the record" msgstr "" +"Ez a napló automatikusa létre lesz hozva ehhez a bankszámlához, egy tétel " +"rögzítésekor" #. module: account #: view:account.analytic.line:0 @@ -6604,8 +6866,8 @@ msgid "" "As soon as the reconciliation is done, the invoice's state turns to “done” " "(i.e. paid) in the system." msgstr "" -"Amint a párosítás elkészül, a számla állapota rendezettre változik a " -"rendszerben." +"Amint a párosítás elkészül, a számla állapota 'Rendezettre' (u.m. fizetve) " +"változik a rendszerben." #. module: account #: view:account.chart.template:0 @@ -6627,7 +6889,7 @@ msgstr "Analitikus gyűjtőkód tételsor" #. module: account #: model:ir.ui.menu,name:account.menu_action_model_form msgid "Models" -msgstr "" +msgstr "Modellek" #. module: account #: code:addons/account/account_invoice.py:1124 @@ -6636,11 +6898,13 @@ msgid "" "You cannot cancel an invoice which is partially paid. You need to " "unreconcile related payment entries first." msgstr "" +"Nem vonhat vissza részben kiegyenlített számlát. Először párosítatlanná kell " +"tennie az ide vonatkozó fizetéseket." #. module: account #: field:product.template,taxes_id:0 msgid "Customer Taxes" -msgstr "Értékesítést terhelő adók" +msgstr "Vásárlói értékesítést terhelő adók" #. module: account #: help:account.model,name:0 @@ -6650,7 +6914,7 @@ msgstr "Ismétlődő könyvelési tételek kezelésére szolgáló modell" #. module: account #: field:wizard.multi.charts.accounts,sale_tax_rate:0 msgid "Sales Tax(%)" -msgstr "" +msgstr "Értékesítési adó(%)" #. module: account #: view:account.tax.code:0 @@ -6703,6 +6967,10 @@ msgid "" "choice assumes that the set of tax defined for the chosen template is " "complete" msgstr "" +"Ez a boolean művelet segítséget nyújt annak kiválasztásában, hogy javasol " +"az értékesítési és beszerzési értékek kódolásában vagy az általános m2o " +"mezőt választja. Ez utóbbit választása feltételezi, hogy a sablonban teljes " +"körűen meghatározott az adó." #. module: account #: report:account.vat.declaration:0 @@ -6717,17 +6985,17 @@ msgstr "Vállalatok" #. module: account #: view:account.invoice.report:0 msgid "Open and Paid Invoices" -msgstr "" +msgstr "Kiegyenlítetlen és kiegyenlített stzámlák" #. module: account #: selection:account.financial.report,display_detail:0 msgid "Display children flat" -msgstr "" +msgstr "Alszintek mutatása" #. module: account #: view:account.config.settings:0 msgid "Bank & Cash" -msgstr "" +msgstr "Bank & Készpénz pénztár" #. module: account #: help:account.fiscalyear.close.state,fy_id:0 @@ -6797,7 +7065,7 @@ msgstr "Tételek részleges párosítása" #: view:validate.account.move:0 #: view:validate.account.move.lines:0 msgid "Cancel" -msgstr "Mégse" +msgstr "Mégsem" #. module: account #: selection:account.account,type:0 @@ -6805,18 +7073,19 @@ msgstr "Mégse" #: model:account.account.type,name:account.data_account_type_receivable #: selection:account.entries.report,type:0 msgid "Receivable" -msgstr "Vevő" +msgstr "Kintlévőség" #. module: account #: constraint:account.move.line:0 msgid "You cannot create journal items on closed account." -msgstr "" +msgstr "Lezárt számlákon nem hozhat létre napló tételeket." #. module: account #: code:addons/account/account_invoice.py:633 #, python-format msgid "Invoice line account's company and invoice's compnay does not match." msgstr "" +"A számlatulajdonos vállalkozása és a számla tétel vállalkozása nem egyezik." #. module: account #: view:account.invoice:0 @@ -6837,7 +7106,7 @@ msgstr "Pénznem, ha nem egyezik a vállalat pénznemével." #: code:addons/account/installer.py:69 #, python-format msgid "Custom" -msgstr "" +msgstr "Egyéni" #. module: account #: view:account.analytic.account:0 @@ -6853,18 +7122,18 @@ msgstr "Pénzkazetta" #: model:account.account.type,name:account.account_type_cash_equity #: model:account.account.type,name:account.conf_account_type_equity msgid "Equity" -msgstr "" +msgstr "Saját tőke" #. module: account #: field:account.journal,internal_account_id:0 msgid "Internal Transfers Account" -msgstr "" +msgstr "Belső mozgások számlája" #. module: account #: code:addons/account/wizard/pos_box.py:32 #, python-format msgid "Please check that the field 'Journal' is set on the Bank Statement" -msgstr "" +msgstr "Kérem ellenőrizze, a 'Napló' beállítását a banki kivonaton" #. module: account #: selection:account.tax,type:0 @@ -6874,7 +7143,7 @@ msgstr "Százalék" #. module: account #: selection:account.config.settings,tax_calculation_rounding_method:0 msgid "Round globally" -msgstr "" +msgstr "Kerekítés globálisan" #. module: account #: selection:account.report.general.ledger,sortby:0 @@ -6890,7 +7159,7 @@ msgstr "Max. tételszám" #: code:addons/account/account.py:3465 #, python-format msgid "Cannot generate an unused journal code." -msgstr "" +msgstr "Nem tud létrehozni egy nem használt napló kódót." #. module: account #: view:project.account.analytic.line:0 @@ -6906,7 +7175,7 @@ msgstr "Számla belső sorszáma" #. module: account #: field:account.bank.statement,difference:0 msgid "Difference" -msgstr "" +msgstr "Különbség" #. module: account #: help:account.tax,include_base_amount:0 @@ -6942,6 +7211,13 @@ msgid "" "due date, make sure that the payment term is not set on the invoice. If you " "keep the payment term and the due date empty, it means direct payment." msgstr "" +"Ha fizetési feltételeket használ, a fizetési határidő számítása " +"automatikusan lesz kiszámítva a könyvelési tételek létrehozásakor. A " +"fizetési feltételhez több határidő számítás is lehet, például 50% azonnal és " +"50% egy hónapra, de ha kényszeríteni szeretne egy lejárati dátumot, akkor " +"győződjön meg róla, hogy nincs beállítva fizetési határidő a számlára. Ha a " +"fizetési határidő és a lejárati dátumot üresen hagyja az azonnali fizetést " +"jelent." #. module: account #: code:addons/account/account.py:414 @@ -6950,6 +7226,8 @@ msgid "" "There is no opening/closing period defined, please create one to set the " "initial balance." msgstr "" +"Nincs nyitó/záró időszakasz meghatározva, kérem hozzon létre egyet a kezdeti " +"számlaegyenleg beállításához." #. module: account #: help:account.tax.template,sequence:0 @@ -6958,7 +7236,7 @@ msgid "" "higher ones. The order is important if you have a tax that has several tax " "children. In this case, the evaluation order is important." msgstr "" -"A sorszám mező szolgál az adósorok sorba rendezésére az alacsonyabb " +"A sorrend mező szolgál az adósorok sorba rendezésére az alacsonyabb " "sorszámútól a magasabbig. A sorrend fontos a több alárendelt adóval " "rendelkező adók esetében. Ebben az esetben az értékelési sorrend lényeges." @@ -6977,12 +7255,12 @@ msgstr "" #: code:addons/account/wizard/account_report_aged_partner_balance.py:58 #, python-format msgid "User Error!" -msgstr "" +msgstr "Felhasználói hiba!" #. module: account #: view:account.open.closed.fiscalyear:0 msgid "Discard" -msgstr "" +msgstr "Eldobás" #. module: account #: selection:account.account,type:0 @@ -7000,7 +7278,7 @@ msgstr "Analitikus gyűjtőkód tételek" #. module: account #: field:account.config.settings,has_default_company:0 msgid "Has default company" -msgstr "" +msgstr "Van alapértelmezett vállakozás" #. module: account #: view:account.fiscalyear.close:0 @@ -7009,14 +7287,14 @@ msgid "" "year. Note that you can run this wizard many times for the same fiscal year: " "it will simply replace the old opening entries with the new ones." msgstr "" -"Ez a varázsló előállítja az üzleti év nyitó tételeit. Többször is lehet " -"futtatni ugyanarra az évre: a régi egyenlegeket egyszerűen felülírja az " -"újakkal." +"Ez a varázsló előállítja az üzleti évet záró napló tételeket a kiválasztott " +"üzleti évre vonatkozólag. Többször is lehet futtatni ugyanarra az üzleti " +"évre: a régi nyitó egyenlegeket egyszerűen felülírja az újakkal." #. module: account #: model:ir.ui.menu,name:account.menu_finance_bank_and_cash msgid "Bank and Cash" -msgstr "Bank és pénztár" +msgstr "Bank és készpénz pénztár" #. module: account #: model:ir.actions.act_window,help:account.action_analytic_entries_report @@ -7033,7 +7311,7 @@ msgstr "" #. module: account #: sql_constraint:account.journal:0 msgid "The name of the journal must be unique per company !" -msgstr "A napló nevének egyedinek kell lennie!" +msgstr "A napló nevének egyedinek kell lennie mindegyik vállalatra!" #. module: account #: field:account.account.template,nocreate:0 @@ -7047,6 +7325,8 @@ msgid "" "You cannot change the owner company of an account that already contains " "journal items." msgstr "" +"Nem változtathatja meg a már naplót tartalmazó főkönyvi számla tulajdonos " +"vállalkozását." #. module: account #: report:account.invoice:0 @@ -7089,7 +7369,7 @@ msgstr "Központosítás" #: view:account.tax.code.template:0 #: view:analytic.entries.report:0 msgid "Group By..." -msgstr "Csoportosítás" +msgstr "Csoportosítás ezzel..." #. module: account #: code:addons/account/account.py:1024 @@ -7098,6 +7378,8 @@ msgid "" "There is no period defined for this date: %s.\n" "Please create one." msgstr "" +"Nincs meghatározva időszak erre a dátumra: %s.\n" +"Kérem hozzon létre egyet." #. module: account #: field:account.analytic.line,product_uom_id:0 @@ -7112,13 +7394,13 @@ msgid "" "If this box is checked, the system will try to group the accounting lines " "when generating them from invoices." msgstr "" -"Ha bejelölt, akkor a rendszer megpróbálja összevonni a kontírozási sorokat a " -"számla könyvelésének generálásakor." +"Ha bejelölt, akkor a rendszer megpróbálja összevonni a kontírozási számla " +"tételeket a számla könyvelésének generálásakor." #. module: account #: field:account.installer,has_default_company:0 msgid "Has Default Company" -msgstr "" +msgstr "Van alapértelmezett vállalat" #. module: account #: model:ir.model,name:account.model_account_sequence_fiscalyear @@ -7148,6 +7430,8 @@ msgid "" "Percentages for Payment Term Line must be between 0 and 1, Example: 0.02 for " "2%." msgstr "" +"A fizetési feltétel sorának a százalékos értéke 0 és 1 közötti legyen, " +"Példa: 0.02 érték jelentése: 2%." #. module: account #: report:account.invoice:0 @@ -7168,7 +7452,7 @@ msgstr "Beszerzés főkönyvi számla" #. module: account #: sql_constraint:account.tax:0 msgid "Tax Name must be unique per company!" -msgstr "" +msgstr "Adó nemének egyedinek kell lennie vállalkozásonként!" #. module: account #: view:account.bank.statement:0 @@ -7181,6 +7465,9 @@ msgid "" "If you unreconcile transactions, you must also verify all the actions that " "are linked to those transactions because they will not be disabled" msgstr "" +"Ha kiveszi a tranzakciókat a párosításból, akkor azokat a műveleteket is " +"ellenőriznie kell, melyek ezekkel össze voltak kötve, mivel azok nem lesznek " +"kiiktatva" #. module: account #: view:account.account.template:0 @@ -7207,7 +7494,7 @@ msgstr "Tételek: " #. module: account #: help:res.partner.bank,currency_id:0 msgid "Currency of the related account journal." -msgstr "" +msgstr "Az ide vonatkozó napló pénzneme." #. module: account #: constraint:account.move.line:0 @@ -7215,6 +7502,8 @@ msgid "" "You cannot provide a secondary currency if it is the same than the company " "one." msgstr "" +"Nem adhatja meg a már vállalkozásként használt pénznemet mint másodlagos " +"pénznem." #. module: account #: selection:account.tax.template,applicable_type:0 @@ -7226,7 +7515,7 @@ msgstr "Igaz" #: code:addons/account/account.py:190 #, python-format msgid "Balance Sheet (Asset account)" -msgstr "" +msgstr "Számlaegyenleg kivonat (Eszköz számla)" #. module: account #: model:process.node,note:account.process_node_draftstatement0 @@ -7241,7 +7530,7 @@ msgstr "Tartozik összesen" #. module: account #: view:account.move.line:0 msgid "Next Partner Entries to reconcile" -msgstr "" +msgstr "Következő párosítandó partner tételek" #. module: account #: report:account.invoice:0 @@ -7271,7 +7560,7 @@ msgstr "Python kód" #. module: account #: view:account.entries.report:0 msgid "Journal Entries with period in current period" -msgstr "" +msgstr "A jelenlegi időszakban lévő időszakokkal rendelkező napló tételek" #. module: account #: help:account.journal,update_posted:0 @@ -7297,7 +7586,7 @@ msgstr "Tétel létrehozása" #: code:addons/account/account.py:189 #, python-format msgid "Profit & Loss (Expense account)" -msgstr "" +msgstr "Nyereség & Veszteség (Költség, kiadási számla)" #. module: account #: field:account.bank.statement,total_entry_encoding:0 @@ -7308,7 +7597,7 @@ msgstr "Összesített forgalom" #: code:addons/account/account.py:636 #, python-format msgid "You cannot remove an account that contains journal items." -msgstr "" +msgstr "Napló bejegyzéssel rendelkező számlát nem tud eltávolítani." #. module: account #: code:addons/account/account.py:1024 @@ -7320,12 +7609,12 @@ msgstr "Hiba!" #. module: account #: field:account.financial.report,style_overwrite:0 msgid "Financial Report Style" -msgstr "" +msgstr "Pénzügyi beszámoló stílus" #. module: account #: selection:account.financial.report,sign:0 msgid "Preserve balance sign" -msgstr "" +msgstr "Számla egyenleg jelölést megtartani" #. module: account #: view:account.vat.declaration:0 @@ -7358,7 +7647,7 @@ msgstr "Elvetés: visszatérítés létrehozás és párosítás" #: code:addons/account/wizard/account_report_aged_partner_balance.py:58 #, python-format msgid "You must set a start date." -msgstr "" +msgstr "Induló dátumot kell beállítania." #. module: account #: view:account.automatic.reconcile:0 @@ -7388,6 +7677,9 @@ msgid "" "row to display the amount of debit/credit/balance that precedes the filter " "you've set." msgstr "" +"Ha kiválasztott a dátum vagy időszak szerinti szűrést, akkor ez a mező " +"lehetővé teszi egy oszlop hozzáadását a tartozás/követelés/egyenleg " +"összegeinek kijelzéséhez a szűrő feltételeinek megfelelően." #. module: account #: view:account.bank.statement:0 @@ -7402,12 +7694,12 @@ msgstr "Könyvelési tételek" #: code:addons/account/wizard/account_invoice_refund.py:147 #, python-format msgid "No period found on the invoice." -msgstr "" +msgstr "A számlán nem található időszak." #. module: account #: help:account.partner.ledger,page_split:0 msgid "Display Ledger Report with One partner per page" -msgstr "Egy oldalon csak egy partner jelenik meg a kimutatásban" +msgstr "Egy oldalon csak egy partner jelejen meg a kimutatásban" #. module: account #: report:account.general.ledger:0 @@ -7442,12 +7734,13 @@ msgstr "Igen" #: code:addons/account/report/common_report_header.py:67 #, python-format msgid "All Entries" -msgstr "Minden tétel" +msgstr "Minden bejegyzés" #. module: account #: constraint:account.move.reconcile:0 msgid "You can only reconcile journal items with the same partner." msgstr "" +"Csak ugyanahoz a partnerhez tartozó napló tételeket tudja párosítani." #. module: account #: view:account.journal.select:0 @@ -7465,7 +7758,7 @@ msgstr "Nyitó egyenleg" #. module: account #: model:ir.model,name:account.model_account_move_reconcile msgid "Account Reconciliation" -msgstr "Párosítás" +msgstr "Számla párosítás" #. module: account #: model:ir.model,name:account.model_account_fiscal_position_tax @@ -7493,14 +7786,14 @@ msgid "" "Check this box if you are unsure of that journal entry and if you want to " "note it as 'to be reviewed' by an accounting expert." msgstr "" -"Jelölje be, ha bizonytalan a tétel kontírozásában. Ennek hatására " -"ellenőrizendőként jelölődik meg." +"Jelölje be, ha bizonytalan a napló tétel kontírozásában. Ennek hatására " +"könyvelő szekértő által 'ellenőrizendő'-ként jelölődik meg." #. module: account #: field:account.chart.template,complete_tax_set:0 #: field:wizard.multi.charts.accounts,complete_tax_set:0 msgid "Complete Set of Taxes" -msgstr "" +msgstr "Adók teljes csomagja" #. module: account #: code:addons/account/wizard/account_validate_account_move.py:61 @@ -7508,11 +7801,13 @@ msgstr "" msgid "" "Selected Entry Lines does not have any account move enties in draft state." msgstr "" +"Válassza ki azokat a bejegyzés tételeket, melyeknek nincs tervezet állapotú " +"számla bizonlyat bejegyzése." #. module: account #: view:account.chart.template:0 msgid "Properties" -msgstr "Beállítások" +msgstr "Tulajdonságok" #. module: account #: model:ir.model,name:account.model_account_tax_chart @@ -7537,6 +7832,8 @@ msgid "" "Configuration error!\n" "The currency chosen should be shared by the default accounts too." msgstr "" +"Beállítási hiba!\n" +"A kiválasztott pénznemet meg kell osztani az alapértelmezett számlával is." #. module: account #: code:addons/account/account.py:2304 @@ -7558,22 +7855,22 @@ msgstr "" "%(month)s: hónap meghatározása \n" "%(date)s: aktuális dátum\n" "\n" -"pl. %(date)s-i modell" +"pl. %(date)s-i modellem" #. module: account #: field:account.invoice,paypal_url:0 msgid "Paypal Url" -msgstr "" +msgstr "Paypal Url - elérési út" #. module: account #: field:account.config.settings,module_account_voucher:0 msgid "Manage customer payments" -msgstr "" +msgstr "Ügyfelek fizetéseinek beállítása" #. module: account #: help:report.invoice.created,origin:0 msgid "Reference of the document that generated this invoice report." -msgstr "Bizonylat, amely előállította ezt a számlát." +msgstr "Bizonylat, amely előállította ezt a számla kimutatást." #. module: account #: field:account.tax.code,child_ids:0 @@ -7593,18 +7890,18 @@ msgstr "" #. module: account #: view:account.tax.template:0 msgid "Taxes used in Sales" -msgstr "" +msgstr "Értékesítésekkor használt adók" #. module: account #: model:ir.actions.act_window,name:account.action_invoice_tree1 #: model:ir.ui.menu,name:account.menu_action_invoice_tree1 msgid "Customer Invoices" -msgstr "Kimenő számlák" +msgstr "Vásárlói, kimenő számlák" #. module: account #: view:account.tax:0 msgid "Misc" -msgstr "" +msgstr "Egyéb" #. module: account #: view:account.analytic.line:0 @@ -7617,7 +7914,7 @@ msgstr "Értékesítés" #: selection:account.subscription,state:0 #: selection:report.invoice.created,state:0 msgid "Done" -msgstr "Kész" +msgstr "Elvégezve" #. module: account #: code:addons/account/account.py:1319 @@ -7627,13 +7924,15 @@ msgid "" "Make sure you have configured payment terms properly.\n" "The latest payment term line should be of the \"Balance\" type." msgstr "" +"Nem hagyhat jóvá egy számlaegyenleg nélküli bejegyzést.\n" +"Győződjön meg a fizetési feltétel pontos megadásáról.\n" +"Az utolsó fizetés feltételének \"Egyenleg\" típusúnak kell lennie." #. module: account #: model:process.transition,note:account.process_transition_invoicemanually0 msgid "A statement with manual entries becomes a draft statement." msgstr "" -"A kézzel berögzített tételekből álló kivonat lesz a tervezet állapotú " -"kivonat." +"A kézzel berögzített tételekből álló kivonat, tervezet állapotú kivonat lesz." #. module: account #: view:account.aged.trial.balance:0 @@ -7657,12 +7956,14 @@ msgstr "" #: field:account.invoice.line,origin:0 #: field:report.invoice.created,origin:0 msgid "Source Document" -msgstr "Forrásbizonylat" +msgstr "Forrás dokumentum" #. module: account #: help:account.config.settings,company_footer:0 msgid "Bank accounts as printed in the footer of each printed document" msgstr "" +"Bank számlák, melyek mindegyik nyomtatott dokumentum lábjegyzetében " +"szerepelni fognak" #. module: account #: constraint:account.account:0 @@ -7671,16 +7972,19 @@ msgid "" "You cannot define children to an account with internal type different of " "\"View\"." msgstr "" +"Beállítási hiba!\n" +"Nem határozhat meg al-számákat egy \"Nézet\"-től eltérő belső típusú " +"számlához." #. module: account #: model:ir.model,name:account.model_accounting_report msgid "Accounting Report" -msgstr "" +msgstr "Könyvelési kimutatás" #. module: account #: field:account.analytic.line,currency_id:0 msgid "Account Currency" -msgstr "" +msgstr "Főkönyvi számla pénzneme" #. module: account #: report:account.invoice:0 @@ -7704,7 +8008,7 @@ msgstr "Százalék típusú adókra a %-ot 0-1 közötti számként adja meg." #. module: account #: model:ir.actions.act_window,name:account.action_account_report_tree_hierarchy msgid "Financial Reports Hierarchy" -msgstr "" +msgstr "Pénzügyi kimutatások sorrendje" #. module: account #: model:ir.actions.act_window,name:account.act_account_invoice_partner_relation @@ -7721,7 +8025,7 @@ msgstr "Analitikus gyűjtőkód tételek" #: field:account.analytic.journal,line_ids:0 #: field:account.tax.code,line_ids:0 msgid "Lines" -msgstr "Sorok" +msgstr "Tételsorok" #. module: account #: view:account.tax.template:0 @@ -7741,17 +8045,17 @@ msgstr "Biztos benne, hogy meg akarja nyitni ezt a számlát?" #. module: account #: field:account.chart.template,property_account_expense_opening:0 msgid "Opening Entries Expense Account" -msgstr "" +msgstr "Kiadási költség számla nyitó tételei" #. module: account #: view:account.invoice:0 msgid "Customer Reference" -msgstr "Vevői hivatkozás" +msgstr "Vásárlói hivatkozás" #. module: account #: field:account.account.template,parent_id:0 msgid "Parent Account Template" -msgstr "Gyűjtő főkönyvi számla sablon" +msgstr "Felérendelt gyűjtő főkönyvi számla sablon" #. module: account #: report:account.invoice:0 @@ -7762,7 +8066,7 @@ msgstr "Ár" #: view:account.bank.statement:0 #: field:account.bank.statement,closing_details_ids:0 msgid "Closing Cashbox Lines" -msgstr "" +msgstr "Pénzkazetta tételeinek lezárása" #. module: account #: view:account.bank.statement:0 @@ -7780,12 +8084,12 @@ msgstr "Tartozik összegek alapértelmezett főkönyvi számlája" #. module: account #: view:account.entries.report:0 msgid "Posted entries" -msgstr "" +msgstr "Könyvelésre feladott bejegyzések" #. module: account #: help:account.payment.term.line,value_amount:0 msgid "For percent enter a ratio between 0-1." -msgstr "" +msgstr "A százalékhoz adjon meg egy 0-1 közti arányszám értéket." #. module: account #: report:account.invoice:0 @@ -7798,12 +8102,12 @@ msgstr "Számla kelte" #. module: account #: view:account.invoice.report:0 msgid "Group by year of Invoice Date" -msgstr "" +msgstr "Számla kibocsátási éve szerinti csoportosítás" #. module: account #: field:account.config.settings,purchase_tax_rate:0 msgid "Purchase tax (%)" -msgstr "" +msgstr "Beszerzési adó (%)" #. module: account #: help:res.partner,credit:0 @@ -7813,12 +8117,12 @@ msgstr "A vevő összes tartozása a vállalat felé." #. module: account #: view:account.move.line:0 msgid "Unbalanced Journal Items" -msgstr "" +msgstr "Kiegyenlítetlen napló tételek" #. module: account #: model:ir.actions.act_window,name:account.open_account_charts_modules msgid "Chart Templates" -msgstr "" +msgstr "Számlatükör sabonok" #. module: account #: field:account.journal.period,icon:0 @@ -7854,22 +8158,22 @@ msgstr "Zárás dátuma" #. module: account #: model:ir.model,name:account.model_account_bank_statement_line msgid "Bank Statement Line" -msgstr "Bankkivonat sor" +msgstr "Bankkivonat tételsor" #. module: account #: field:wizard.multi.charts.accounts,purchase_tax:0 msgid "Default Purchase Tax" -msgstr "Alapértelmezett előzetesen felszámított ÁFA" +msgstr "Alapértelmezett előzetesen felszámított beszerzési adó" #. module: account #: field:account.chart.template,property_account_income_opening:0 msgid "Opening Entries Income Account" -msgstr "" +msgstr "Bevételi számla nyitó tételei" #. module: account #: field:account.config.settings,group_proforma_invoices:0 msgid "Allow pro-forma invoices" -msgstr "" +msgstr "Pro-forma számlák engedélyezése" #. module: account #: view:account.bank.statement:0 @@ -7905,12 +8209,12 @@ msgstr "Tételek létrehozása" #. module: account #: model:ir.model,name:account.model_cash_box_out msgid "cash.box.out" -msgstr "" +msgstr "cash.box.out" #. module: account #: help:account.config.settings,currency_id:0 msgid "Main currency of the company." -msgstr "" +msgstr "A vállalkozás fő pénzneme." #. module: account #: model:ir.ui.menu,name:account.menu_finance_reports @@ -7934,12 +8238,12 @@ msgstr "Kapcsolatok/Analitikus könyvelések" #: view:account.journal:0 #: field:res.partner.bank,journal_id:0 msgid "Account Journal" -msgstr "Napló" +msgstr "Számla napló" #. module: account #: field:account.config.settings,tax_calculation_rounding_method:0 msgid "Tax calculation rounding method" -msgstr "" +msgstr "Adó számítás kerekítési mód" #. module: account #: model:process.node,name:account.process_node_paidinvoice0 @@ -7956,6 +8260,11 @@ msgid "" " with the invoice. You will not be able " "to modify the credit note." msgstr "" +"Ezt a lehetőséget használja olyan számla visszavonásához, melyet még nem \n" +" kellett volna kiadnia. Egy jóváírás lesz " +"létrehozva, érvényesítve és párosítva\n" +" a számlával. Nem lesz lehetősége a " +"jóváíró módosítására." #. module: account #: help:account.partner.reconcile.process,next_partner_id:0 @@ -7990,13 +8299,15 @@ msgid "" "There is no default credit account defined \n" "on journal \"%s\"." msgstr "" +"Nincs alapértelmezett követelés számla meghatározva a \n" +"következő naplón \"%s\"." #. module: account #: view:account.invoice.line:0 #: field:account.invoice.tax,invoice_id:0 #: model:ir.model,name:account.model_account_invoice_line msgid "Invoice Line" -msgstr "Számlasor" +msgstr "Számla tételsor" #. module: account #: view:account.invoice.report:0 @@ -8049,26 +8360,26 @@ msgstr "" #. module: account #: model:account.account.type,name:account.data_account_type_view msgid "Root/View" -msgstr "" +msgstr "Gyökér/Nézet" #. module: account #: code:addons/account/account.py:3206 #, python-format msgid "OPEJ" -msgstr "" +msgstr "OPEJ" #. module: account #: report:account.invoice:0 #: view:account.invoice:0 msgid "PRO-FORMA" -msgstr "Pro forma" +msgstr "PRO-FORMA" #. module: account #: selection:account.entries.report,move_line_state:0 #: view:account.move.line:0 #: selection:account.move.line,state:0 msgid "Unbalanced" -msgstr "Nem egyező" +msgstr "Kiegyenlítetlen" #. module: account #: selection:account.move.line,centralisation:0 @@ -8079,7 +8390,7 @@ msgstr "Normál" #: model:ir.actions.act_window,name:account.action_email_templates #: model:ir.ui.menu,name:account.menu_email_templates msgid "Email Templates" -msgstr "" +msgstr "E-mail sablonok" #. module: account #: view:account.move.line:0 @@ -8107,29 +8418,29 @@ msgid "" "This field is used for payable and receivable journal entries. You can put " "the limit date for the payment of this line." msgstr "" -"Vevő és szállító tételeknél használt mező. Meg lehet adni a tételsor " +"Vásárló és beszállító tételeknél használt mező. Meg lehet adni a tételsor " "fizetési határidejét." #. module: account #: model:ir.ui.menu,name:account.menu_multi_currency msgid "Multi-Currencies" -msgstr "" +msgstr "Több pénznem" #. module: account #: field:account.model.line,date_maturity:0 msgid "Maturity Date" -msgstr "" +msgstr "Esedékesség kelte" #. module: account #: code:addons/account/account.py:3193 #, python-format msgid "Sales Journal" -msgstr "Kimenő számla napló" +msgstr "Kimenő, vásárlói számla napló" #. module: account #: model:ir.model,name:account.model_account_invoice_tax msgid "Invoice Tax" -msgstr "Adó" +msgstr "Számla adó" #. module: account #: code:addons/account/account_move_line.py:1185 @@ -8141,7 +8452,7 @@ msgstr "Nem adott meg darabszámot!" #: view:account.financial.report:0 #: model:ir.ui.menu,name:account.menu_account_report_tree_hierarchy msgid "Account Reports Hierarchy" -msgstr "" +msgstr "Számla kimutatások rangsor" #. module: account #: help:account.account.template,chart_template_id:0 @@ -8152,11 +8463,16 @@ msgid "" "few new accounts (You don't need to define the whole structure that is " "common to both several times)." msgstr "" +"Ez a lehetőség mező lehetővé teszi egy számla sablon hozzáillesztését egy " +"jellegzetes számlatükör sablonhoz, mely különbözhet az eredeti gyökér " +"fölérendeltektől, amihez tartozik. Ez lehetővé teszi olyan számlatükör " +"meghatározását mely másikat kibővít és kiegészíti egy pár új számlával (Nem " +"kell többször a mindegyikre jellemző teljes felépítést újra meghatároznia)." #. module: account #: view:account.move:0 msgid "Unposted Journal Entries" -msgstr "" +msgstr "Nem párosított napló bejegyzések" #. module: account #: help:account.invoice.refund,date:0 @@ -8164,6 +8480,8 @@ msgid "" "This date will be used as the invoice date for credit note and period will " "be chosen accordingly!" msgstr "" +"Ez a dátum lesz használva mint számla dátum a jóváíráshoz és az időszak is " +"eszerint lesz választva!" #. module: account #: view:product.template:0 @@ -8177,6 +8495,8 @@ msgid "" "You have to set a code for the bank account defined on the selected chart of " "accounts." msgstr "" +"Be kell állítana egy kódot a kiválasztott számlatükrökön meghatározott " +"bankszámlához." #. module: account #: model:ir.ui.menu,name:account.menu_manual_reconcile @@ -8199,7 +8519,7 @@ msgstr "Záró dátum" #: code:addons/account/account.py:1541 #, python-format msgid "Currency Adjustment" -msgstr "" +msgstr "Pénznem igazítás" #. module: account #: field:account.fiscalyear.close,fy_id:0 @@ -8217,6 +8537,8 @@ msgstr "Kiválasztott számlák érvénytelenítése" msgid "" "This field is used to generate legal reports: profit and loss, balance sheet." msgstr "" +"Ez a mező törvényes jelentések készítésére való: nyereség és veszteség, " +"egyenleg közlő." #. module: account #: selection:account.entries.report,month:0 @@ -8244,17 +8566,17 @@ msgstr "Számlatükör sablonok" msgid "" "The sequence field is used to order the resources from lower sequences to " "higher ones." -msgstr "" +msgstr "A sorrend mezőt használja az alsóbb rendűtől a felsőbb rendűig." #. module: account #: field:account.move.line,amount_residual_currency:0 msgid "Residual Amount in Currency" -msgstr "" +msgstr "A pénznemben visszamaradt összeg" #. module: account #: field:account.config.settings,sale_refund_sequence_prefix:0 msgid "Credit note sequence" -msgstr "" +msgstr "Jóváírás jegyzet sorrend" #. module: account #: model:ir.actions.act_window,name:account.action_validate_account_move @@ -8263,7 +8585,7 @@ msgstr "" #: view:validate.account.move:0 #: view:validate.account.move.lines:0 msgid "Post Journal Entries" -msgstr "Tételek könyvelése" +msgstr "Napló tételek könyvelése" #. module: account #: selection:account.bank.statement.line,type:0 @@ -8273,12 +8595,12 @@ msgstr "Tételek könyvelése" #: code:addons/account/account_invoice.py:388 #, python-format msgid "Customer" -msgstr "Vevő" +msgstr "Vásárló" #. module: account #: field:account.financial.report,name:0 msgid "Report Name" -msgstr "" +msgstr "Jelentés neve" #. module: account #: model:account.account.type,name:account.data_account_type_cash @@ -8289,7 +8611,7 @@ msgstr "" #: code:addons/account/account.py:3092 #, python-format msgid "Cash" -msgstr "Pénztár" +msgstr "Készpénz pénztár" #. module: account #: field:account.fiscal.position.account,account_dest_id:0 @@ -8317,22 +8639,22 @@ msgstr "" #: field:account.tax.code,sequence:0 #: field:account.tax.template,sequence:0 msgid "Sequence" -msgstr "Sorszám" +msgstr "Sorrend" #. module: account #: field:account.config.settings,paypal_account:0 msgid "Paypal account" -msgstr "" +msgstr "Paypal számla" #. module: account #: selection:account.print.journal,sort_selection:0 msgid "Journal Entry Number" -msgstr "" +msgstr "Napló tétel száma" #. module: account #: view:account.financial.report:0 msgid "Parent Report" -msgstr "" +msgstr "Fölérendelt gyűjtő kimutatás" #. module: account #: constraint:account.account:0 @@ -8341,11 +8663,13 @@ msgid "" "Error!\n" "You cannot create recursive accounts." msgstr "" +"Hiba!\n" +"Nem hozhat létre visszatérő számlákat." #. module: account #: model:ir.model,name:account.model_cash_box_in msgid "cash.box.in" -msgstr "" +msgstr "cash.box.in" #. module: account #: help:account.invoice,move_id:0 @@ -8355,7 +8679,7 @@ msgstr "Kapcsolódás az automatikusan létrehozott könyvelési tételekhez" #. module: account #: model:ir.model,name:account.model_account_config_settings msgid "account.config.settings" -msgstr "" +msgstr "account.config.settings" #. module: account #: selection:account.config.settings,period:0 @@ -8378,19 +8702,19 @@ msgstr "Számított egyenleg" #: code:addons/account/static/src/js/account_move_reconciliation.js:89 #, python-format msgid "You must choose at least one record." -msgstr "" +msgstr "Választani kell legalább egy rekordot!" #. module: account #: field:account.account,parent_id:0 #: field:account.financial.report,parent_id:0 msgid "Parent" -msgstr "Gyűjtő fk.szla" +msgstr "Fölérendelt" #. module: account #: code:addons/account/account_cash_statement.py:292 #, python-format msgid "Profit" -msgstr "" +msgstr "Nyereség" #. module: account #: help:account.payment.term.line,days2:0 @@ -8425,19 +8749,19 @@ msgid "" "to the higher ones. The order is important if you have a tax with several " "tax children. In this case, the evaluation order is important." msgstr "" -"A sorszám mező szolgál az adósorok sorba rendezésére a legalacsonyabb " +"A sorrend mező szolgál az adósorok sorba rendezésére a legalacsonyabb " "sorszámútól a legmagasabbig. A sorrend fontos a több alárendelt adóval " "rendelkező adók esetében. Ebben az esetben az értékelési sorrend lényeges." #. module: account #: model:ir.model,name:account.model_account_cashbox_line msgid "CashBox Line" -msgstr "Pénzkazetta sor" +msgstr "Pénzkazetta tétel sor" #. module: account #: field:account.installer,charts:0 msgid "Accounting Package" -msgstr "" +msgstr "Könyvelési csomag" #. module: account #: report:account.third_party_ledger:0 @@ -8447,7 +8771,7 @@ msgstr "" #: model:ir.actions.report.xml,name:account.account_3rdparty_ledger_other #: model:ir.ui.menu,name:account.menu_account_partner_ledger msgid "Partner Ledger" -msgstr "Folyószámla karton" +msgstr "Partner folyószámla karton" #. module: account #: selection:account.tax.template,type:0 @@ -8467,22 +8791,22 @@ msgstr "Figyelem!" #: help:account.bank.statement,message_unread:0 #: help:account.invoice,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "Ha be van jelölve, akkor figyelje az új üzeneteket." #. module: account #: field:res.company,tax_calculation_rounding_method:0 msgid "Tax Calculation Rounding Method" -msgstr "" +msgstr "Adó számításhoz a kerekítés módja" #. module: account #: field:account.entries.report,move_line_state:0 msgid "State of Move Line" -msgstr "Tételsor állapota" +msgstr "Bizonylat tételsor állapota" #. module: account #: model:ir.model,name:account.model_account_move_line_reconcile msgid "Account move line reconcile" -msgstr "Tételpárosítás" +msgstr "Főkönyvi számla bizonylat tételpárosítás" #. module: account #: view:account.subscription.generate:0 @@ -8523,7 +8847,7 @@ msgstr "Partner" #. module: account #: help:account.change.currency,currency_id:0 msgid "Select a currency to apply on the invoice" -msgstr "Válassza ki az alkalmazandó új pénznemet" +msgstr "Válassza ki a számlázásnál alkalmazandó új pénznemet" #. module: account #: code:addons/account/account_invoice.py:901 @@ -8534,7 +8858,7 @@ msgstr "Nincsenek számlasorok!" #. module: account #: view:account.financial.report:0 msgid "Report Type" -msgstr "" +msgstr "Kimutatás típus" #. module: account #: help:account.open.closed.fiscalyear,fyear_id:0 @@ -8547,7 +8871,7 @@ msgstr "" #. module: account #: field:account.tax.template,type_tax_use:0 msgid "Tax Use In" -msgstr "Alkalmazási terület" +msgstr "Adó alkalmazási terület" #. module: account #: code:addons/account/account_bank_statement.py:382 @@ -8580,17 +8904,19 @@ msgstr "Automatikus tétel" msgid "" "Check this box if this account allows reconciliation of journal items." msgstr "" +"Jelölje be a négyzetet, ha ez a főkönyvi számla lehetővé tesz ia napló " +"bejegyzéseken a párosításokat." #. module: account #: report:account.analytic.account.inverted.balance:0 msgid "Inverted Analytic Balance -" -msgstr "Fordított gyűjtőkód kivonat -" +msgstr "Fordított analitikus gyűjtőkód kivonat -" #. module: account #: help:account.move.reconcile,opening_reconciliation:0 msgid "" "Is this reconciliation produced by the opening of a new fiscal year ?." -msgstr "" +msgstr "Ezt a párosítást egy új üzleti év nyitása hajtotta végre ?." #. module: account #: view:account.analytic.line:0 @@ -8601,7 +8927,7 @@ msgstr "Analitikus gyűjtőkód tételek" #. module: account #: view:account.analytic.account:0 msgid "Associated Partner" -msgstr "Társult partner" +msgstr "Társított partner" #. module: account #: code:addons/account/account_invoice.py:1465 @@ -8612,7 +8938,7 @@ msgstr "Először partnert kell választani!" #. module: account #: field:account.invoice,comment:0 msgid "Additional Information" -msgstr "Egyéb megjegyzés" +msgstr "További információ" #. module: account #: field:account.invoice.report,residual:0 @@ -8650,7 +8976,7 @@ msgstr "A számla állapota nyitott." #: field:account.subscription,state:0 #: field:report.invoice.created,state:0 msgid "Status" -msgstr "Státusz" +msgstr "Állapot" #. module: account #: report:account.analytic.account.cost_ledger:0 @@ -8663,7 +8989,7 @@ msgstr "Gyűjtőkód karton" #. module: account #: view:account.config.settings:0 msgid "No Fiscal Year Defined for This Company" -msgstr "Ehhez a vállalkozáshoz nem lett üzleti adóügyi év meghatározva" +msgstr "Ehhez a vállalkozáshoz nincs üzleti adóügyi év meghatározva" #. module: account #: view:account.invoice:0 @@ -8673,7 +8999,7 @@ msgstr "Pro forma" #. module: account #: report:account.analytic.account.cost_ledger:0 msgid "J.C. /Move name" -msgstr "Naplókód/Megnevezés" +msgstr "Naplókód/Bizonylat megnevezés" #. module: account #: help:account.tax.template,include_base_amount:0 @@ -8688,13 +9014,13 @@ msgstr "" #: code:addons/account/account.py:3196 #, python-format msgid "Purchase Refund Journal" -msgstr "Bejövő jóváíró számla napló" +msgstr "Bejövő, beszállítói jóváíró számla napló" #. module: account #: code:addons/account/account.py:1333 #, python-format msgid "Please define a sequence on the journal." -msgstr "" +msgstr "Kérem egy sorozat meghatározását a naplón." #. module: account #: help:account.tax.template,amount:0 @@ -8704,12 +9030,12 @@ msgstr "Százalék típusú adókra a %-ot 0-1 közötti számként adja meg." #. module: account #: view:account.analytic.account:0 msgid "Current Accounts" -msgstr "" +msgstr "Jelenlegi számlák" #. module: account #: view:account.invoice.report:0 msgid "Group by Invoice Date" -msgstr "" +msgstr "Számla dátuma szerinti csoportosítása" #. module: account #: help:account.journal,user_id:0 @@ -8723,6 +9049,10 @@ msgid "" "recalls.\n" " This installs the module account_followup." msgstr "" +"Ez engedélyezi az automatikus leveleket a kiegyenlítetlen számlákra, több-" +"szintű visszahívással.\n" +" Ez a account_followup (számla_nyomon követés) modult " +"telepíti.." #. module: account #: field:account.automatic.reconcile,period_id:0 @@ -8755,22 +9085,24 @@ msgid "" "Total amount (in Company currency) for transactions held in secondary " "currency for this account." msgstr "" +"Teljes mennyiség (a vállalkozás pénznemében) a számlán második pénznemben " +"tartott tranzakciókra." #. module: account #: report:account.invoice:0 msgid "Net Total:" -msgstr "Nettó érték:" +msgstr "Teljes nettó érték:" #. module: account #: code:addons/account/wizard/account_report_common.py:158 #, python-format msgid "Select a starting and an ending period." -msgstr "" +msgstr "Válasszon egy induló és egy befejező időszakot." #. module: account #: field:account.config.settings,sale_sequence_next:0 msgid "Next invoice number" -msgstr "" +msgstr "Következő számla szám" #. module: account #: model:ir.ui.menu,name:account.menu_finance_generic_reporting @@ -8790,7 +9122,7 @@ msgstr "Árbevétel főkönyvi számla" #. module: account #: field:account.account,adjusted_balance:0 msgid "Adjusted Balance" -msgstr "" +msgstr "Módosított egyenleg" #. module: account #: model:ir.actions.act_window,name:account.action_account_fiscal_position_template_form @@ -8867,14 +9199,16 @@ msgstr "Záró egyenleg" #. module: account #: field:account.journal,centralisation:0 msgid "Centralized Counterpart" -msgstr "" +msgstr "Központi ellenszámla" #. module: account #: help:account.move.line,blocked:0 msgid "" "You can check this box to mark this journal item as a litigation with the " "associated partner" -msgstr "Bejelölheti ezt a négyzetet, hogy jelezze, hogy a tétel peresített." +msgstr "" +"Bejelölheti ezt a négyzetet, hogy jelezze a napló tételen, hogy a tétel " +"peresített a hozzá tartozó ügyféllel." #. module: account #: field:account.move.line,reconcile_partial_id:0 @@ -8885,12 +9219,12 @@ msgstr "Részleges párosítás" #. module: account #: model:ir.model,name:account.model_account_analytic_inverted_balance msgid "Account Analytic Inverted Balance" -msgstr "Fordított gyűjtőkód kivonat" +msgstr "Analitikus számla fordított gyűjtőkód kivonat" #. module: account #: model:ir.model,name:account.model_account_common_report msgid "Account Common Report" -msgstr "Általános kimutatás" +msgstr "Főkönyvi számla általános kimutatás" #. module: account #: view:account.invoice.refund:0 @@ -8902,6 +9236,12 @@ msgid "" "invoice will be created \n" " so that you can edit it." msgstr "" +"Használja ezt a lehetőséget ha törölni szeretné ezt és másikat létrehozni \n" +" helyette. Jóváíró számla lesz " +"létrehozva, érvényesítve és párosítva\n" +" a jelenlegi számlával. Egy szerkeszthető " +"új, tervezet, számla lesz\n" +" létrehozva." #. module: account #: model:process.transition,name:account.process_transition_filestatement0 @@ -8912,17 +9252,17 @@ msgstr "Bankkivonat automatikus importálása" #: code:addons/account/account_invoice.py:381 #, python-format msgid "Unknown Error!" -msgstr "" +msgstr "Ismeretlen hiba!" #. module: account #: model:ir.model,name:account.model_account_move_bank_reconcile msgid "Move bank reconcile" -msgstr "Bank egyeztetés" +msgstr "Banki bizonylat egyeztetés" #. module: account #: view:account.config.settings:0 msgid "Apply" -msgstr "" +msgstr "Alkalmaz" #. module: account #: field:account.financial.report,account_type_ids:0 @@ -8934,7 +9274,7 @@ msgstr "Főkönyvi számlatípusok" #. module: account #: model:email.template,subject:account.email_template_edi_invoice msgid "${object.company_id.name} Invoice (Ref ${object.number or 'n/a'})" -msgstr "" +msgstr "${object.company_id.name} Számla (Ref ${object.number or 'n/a'})" #. module: account #: code:addons/account/account_move_line.py:1210 @@ -8943,6 +9283,8 @@ msgid "" "You cannot use this general account in this journal, check the tab 'Entry " "Controls' on the related journal." msgstr "" +"Nem használhatja ezt az általános főkönyvi számlát ebben a naplóban, " +"ellenőrizze az ide vonatkozó naplón a 'Beviteli felügyelet' fület." #. module: account #: field:account.account.type,report_type:0 @@ -8966,7 +9308,7 @@ msgstr "Párosítás" #. module: account #: view:account.tax.template:0 msgid "Keep empty to use the income account" -msgstr "-" +msgstr "Hagyja üressen a bevételi számla használatához" #. module: account #: view:account.invoice:0 @@ -8978,6 +9320,12 @@ msgid "" "You should press this button to re-open it and let it continue its normal " "process after having resolved the eventual exceptions it may have created." msgstr "" +"Ez a gomb csak akkor látszik, ha a Számla állapota 'fizetve' (a teljes " +"párosítást, kiegyenlítést mutatva) és automatán számolt 'párosítás' boolean " +"művelet Hamis (feltételezve, hogy ez már nem feltétel). Más szavakkal, a " +"számlát ismét párosítatlanná tette és ez már nem érthető úgy mint 'fizetve' " +"állapotú. Ezt a gombot kell megnyomnia ahhoz, hogy ismét megnyithassa és " +"megoldja a lehetséges felmerült körülményeket a folyamat normál elvégzéséhez." #. module: account #: model:ir.actions.act_window,help:account.action_account_journal_form @@ -8997,11 +9345,25 @@ msgid "" " </p>\n" " " msgstr "" +"<p class=\"oe_view_nocontent_create\">\n" +" Kattintson egy napló létrehozásához.\n" +" </p><p>\n" +" Egy napló az összes főkönyvi számlákkal kapcsolatos \n" +" pénzmozgások rögzítésére szolgál a\n" +" mindennapos üzletben.\n" +" </p><p>\n" +" Egy tipikus vállalkozásban mindegyik fizetési típushoz " +"hozzárendel\n" +" egy naplót (készpénzes, banki számlák, csekkek), egy " +"beszállítói napló, egy vásárlói napló\n" +" és egy a különféle információkra.\n" +" </p>\n" +" " #. module: account #: model:ir.model,name:account.model_account_fiscalyear_close_state msgid "Fiscalyear Close state" -msgstr "Üzleti év zárt állapotban" +msgstr "Zárt állípotú üzleti év" #. module: account #: field:account.invoice.refund,journal_id:0 @@ -9016,7 +9378,7 @@ msgstr "Jóváíró számla napló" #: report:account.general.ledger_landscape:0 #: report:account.partner.balance:0 msgid "Filter By" -msgstr "Szűrés" +msgstr "Szűrés ezzel" #. module: account #: code:addons/account/wizard/account_period_close.py:51 @@ -9024,6 +9386,8 @@ msgstr "Szűrés" msgid "" "In order to close a period, you must first post related journal entries." msgstr "" +"Egy időszak lezárásához, először le kell könyvelnie az ide vonatkozó napló " +"bejegyzéseket." #. module: account #: view:account.entries.report:0 @@ -9035,13 +9399,13 @@ msgstr "Vállalatszintű elemzés" #. module: account #: help:account.invoice,account_id:0 msgid "The partner account used for this invoice." -msgstr "Vevő/szállító főkönyvi számla" +msgstr "A számlához használt vevő/szállító főkönyvi számla" #. module: account #: code:addons/account/account.py:3391 #, python-format msgid "Tax %.2f%%" -msgstr "" +msgstr "Adó %.2f%%" #. module: account #: field:account.tax.code,parent_id:0 @@ -9059,7 +9423,7 @@ msgstr "Fizetési feltétel sor" #: code:addons/account/account.py:3194 #, python-format msgid "Purchase Journal" -msgstr "Bejövő számla napló" +msgstr "Bejövő, beszállítói számla napló" #. module: account #: field:account.invoice,amount_untaxed:0 @@ -9089,7 +9453,7 @@ msgstr "Fizetési határidő" #: model:ir.ui.menu,name:account.menu_account_supplier #: model:ir.ui.menu,name:account.menu_finance_payables msgid "Suppliers" -msgstr "Szállítók" +msgstr "Beszállítók" #. module: account #: view:account.journal:0 @@ -9108,7 +9472,7 @@ msgstr "" #. module: account #: view:account.tax.code:0 msgid "Statistics" -msgstr "Statisztika" +msgstr "Statisztikák" #. module: account #: field:account.analytic.chart,from_date:0 @@ -9123,6 +9487,9 @@ msgid "" "computed. Because it is space consuming, we do not allow to use it while " "doing a comparison." msgstr "" +"Ez a lehetőség több számlaegyenleg számítási részlethez enged betekintést. " +"Mivel ez sok helyet emészt fel, nem engedélyezzük hasonlítás használata " +"esetén." #. module: account #: model:ir.model,name:account.model_account_fiscalyear_close @@ -9132,13 +9499,16 @@ msgstr "Üzleti év zárása" #. module: account #: sql_constraint:account.account:0 msgid "The code of the account must be unique per company !" -msgstr "A főkönyvi számla számának egyedinek kell lennie!" +msgstr "" +"A főkönyvi számla számának egyedinek kell lennie mindegyik vállalkozáshoz!" #. module: account #: help:product.category,property_account_expense_categ:0 #: help:product.template,property_account_expense:0 msgid "This account will be used to value outgoing stock using cost price." msgstr "" +"Ezt a számlát használja a kimenő raktárkészlet megbecsüléséhez a költség " +"értékek használatával." #. module: account #: view:account.invoice:0 @@ -9176,7 +9546,7 @@ msgstr "Engedélyezett számlák (üres, ha mindegyik)" #. module: account #: field:account.config.settings,sale_tax_rate:0 msgid "Sales tax (%)" -msgstr "" +msgstr "Értékesítési adó (%)" #. module: account #: model:ir.actions.act_window,name:account.action_account_analytic_account_tree2 @@ -9208,9 +9578,9 @@ msgstr "" "megadott \n" " dátumtól, pl. egy szerződés aláírására hivatkozva a vásárló " "ügyféllel\n" -" vagy egy beszállítóval. Ilyen tételeket automatikusan tud " -"kitenni\n" -" a rendszer által.\n" +" vagy egy beszállítóval. Ilyen tételeket tud létrehozni a " +"rendszer\n" +" automatikus könyvelési feladásához.\n" " </p>\n" " " @@ -9218,7 +9588,7 @@ msgstr "" #: view:account.journal:0 #: model:ir.ui.menu,name:account.menu_configuration_misc msgid "Miscellaneous" -msgstr "Egyéb" +msgstr "Egyebek" #. module: account #: help:res.partner,debit:0 @@ -9247,7 +9617,7 @@ msgstr "A(z) \"%s\" tétel nem érvényes!" #. module: account #: selection:account.financial.report,style_overwrite:0 msgid "Smallest Text" -msgstr "" +msgstr "Legkisebb szöveg" #. module: account #: help:account.config.settings,module_account_check_writing:0 @@ -9255,11 +9625,14 @@ msgid "" "This allows you to check writing and printing.\n" " This installs the module account_check_writing." msgstr "" +"Ez lehetővé teszi az írás és nyomtatás ellenőrzését.\n" +" Ez account_check_writing (számla_ellenőrzés_írás) modult " +"telepíti." #. module: account #: model:res.groups,name:account.group_account_invoice msgid "Invoicing & Payments" -msgstr "" +msgstr "Számlázás & Kifizetések" #. module: account #: help:account.invoice,internal_number:0 @@ -9274,7 +9647,7 @@ msgstr "" #: model:account.account.type,name:account.data_account_type_expense #: model:account.financial.report,name:account.account_financial_report_expense0 msgid "Expense" -msgstr "Költség" +msgstr "Kiadások, költségek" #. module: account #: help:account.chart,fiscalyear:0 @@ -9287,13 +9660,15 @@ msgid "" "The amount expressed in an optional other currency if it is a multi-currency " "entry." msgstr "" -"Szabadon választott más pénznemben kifejezett összeg, ha a tétel devizás." +"Szabadon választott más pénznemben kifejezett összeg, ha a tétel több " +"pénznembeli devizás." #. module: account #: code:addons/account/account_move_line.py:1006 #, python-format msgid "The account move (%s) for centralisation has been confirmed." msgstr "" +"A főkönyvi számla bizonylat (%s) ehhez a központosításhoz visszaigazolt." #. module: account #: report:account.analytic.account.journal:0 @@ -9332,6 +9707,8 @@ msgid "" "created. If you leave that field empty, it will use the same journal as the " "current invoice." msgstr "" +"Itt választhatja ki a létrehozni kívánt jóváírás naplóját. Ha üresen hagyja " +"ezt a mezőt, akkor a jelenlegi számla naplóját fogja használni." #. module: account #: help:account.bank.statement.line,sequence:0 @@ -9354,23 +9731,23 @@ msgstr "Párosított tételek" #: code:addons/account/account.py:2334 #, python-format msgid "Wrong model !" -msgstr "" +msgstr "Rossz modell !" #. module: account #: view:account.tax.code.template:0 #: view:account.tax.template:0 msgid "Tax Template" -msgstr "" +msgstr "Adó sablon" #. module: account #: field:account.invoice.refund,period:0 msgid "Force period" -msgstr "Időszak" +msgstr "Időszak kényszerítése" #. module: account #: model:ir.model,name:account.model_account_partner_balance msgid "Print Account Partner Balance" -msgstr "Folyószámla kivonat nyomtatása" +msgstr "Partner folyószámla kivonat nyomtatása" #. module: account #: code:addons/account/account_move_line.py:1121 @@ -9380,6 +9757,9 @@ msgid "" "some non legal fields or you must unreconcile first.\n" "%s." msgstr "" +"Nem hajtja végre ezt a módosítást egy párosított tételen. Egyes nem érvényes " +"tételt tud, vagy párosítatlanná kell tennie az egészet először.\n" +"%s." #. module: account #: help:account.financial.report,sign:0 @@ -9390,6 +9770,12 @@ msgid "" "accounts that are typically more credited than debited and that you would " "like to print as positive amounts in your reports; e.g.: Income account." msgstr "" +"Egy főkönyvi számlához, melyen több a tartozás mint a követelés és ezt " +"szeretné nyomtatni mint negatív összegeget a kimutatásain, akkor az előjelet " +"át kell változtatnia az egyenlegen; pl.: Kiadási, költség számla. Ez szintén " +"vonatkozik olyan számlákra, melyen több a követelés mint a tartozás és azt " +"mint pozitív összeget szeretné nyomtatni a kimutatásain; pl.: Bevételi, " +"vásárlói számla." #. module: account #: field:res.partner,contract_ids:0 @@ -9403,7 +9789,7 @@ msgstr "Szerződések" #: field:account.financial.report,credit:0 #: field:account.financial.report,debit:0 msgid "unknown" -msgstr "Ismeretlen" +msgstr "ismeretlen" #. module: account #: field:account.fiscalyear.close,journal_id:0 @@ -9422,14 +9808,14 @@ msgstr "" #: field:account.bank.statement,message_is_follower:0 #: field:account.invoice,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "Ez egy követő" #. module: account #: view:account.move:0 #: field:account.move,narration:0 #: field:account.move.line,narration:0 msgid "Internal Note" -msgstr "" +msgstr "Belső jegyzet" #. module: account #: constraint:account.account:0 @@ -9438,6 +9824,9 @@ msgid "" "You cannot select an account type with a deferral method different of " "\"Unreconciled\" for accounts with internal type \"Payable/Receivable\"." msgstr "" +"Beállítási hiba!\n" +"Nem választhat \"Párosítatlan\" eltolási módtól eltérő főkönyvi számla " +"típust a \"Kiadási/Bevételi\" belső típusú számlákhoz." #. module: account #: field:account.config.settings,has_fiscal_year:0 @@ -9458,6 +9847,7 @@ msgstr "" #, python-format msgid "You cannot deactivate an account that contains journal items." msgstr "" +"Nem hatástalaníthat olyan főkönyvi számlát, mely napló tételeket tartalmaz." #. module: account #: selection:account.tax,applicable_type:0 @@ -9484,7 +9874,7 @@ msgstr "Tételsorok" #. module: account #: model:ir.actions.act_window,name:account.action_open_journal_button msgid "Open Journal" -msgstr "Nem könyvelt tételek könyvelése" +msgstr "Napló megnyitása" #. module: account #: report:account.analytic.account.journal:0 @@ -9507,7 +9897,7 @@ msgstr "Címlet" #: code:addons/account/account.py:3195 #, python-format msgid "Sales Refund Journal" -msgstr "Kimenő jóváíró számla napló" +msgstr "Kimenő, értékesítési jóváíró számla napló" #. module: account #: view:account.move:0 @@ -9524,6 +9914,11 @@ msgid "" "chart\n" " of accounts." msgstr "" +"Ha már egyszer a számla tervezetek le lettek igazolva, többé nem tudja\n" +" azokat módosítani. A számlák egyedi azonosítóval " +"lesznek \n" +" ellátva és napló bejegyzések készülnek a " +"számlatükrökben." #. module: account #: model:process.node,note:account.process_node_bankstatement0 @@ -9538,7 +9933,7 @@ msgstr "Üzleti év és időszakok zárása" #. module: account #: field:account.config.settings,purchase_refund_journal_id:0 msgid "Purchase refund journal" -msgstr "Bejövő jóváíró számla napló" +msgstr "Bejövő, beszerzési jóváíró számla napló" #. module: account #: view:account.analytic.line:0 @@ -9557,17 +9952,17 @@ msgstr "Anaitikus gyűjtőnaplók" #: model:process.node,name:account.process_node_invoiceinvoice0 #: model:process.node,name:account.process_node_supplierinvoiceinvoice0 msgid "Create Invoice" -msgstr "Számla készítése" +msgstr "Számla létrehozás" #. module: account #: model:ir.actions.act_window,name:account.action_account_configuration_installer msgid "Configure Accounting Data" -msgstr "" +msgstr "Könyvelési adatok beállítása" #. module: account #: field:wizard.multi.charts.accounts,purchase_tax_rate:0 msgid "Purchase Tax(%)" -msgstr "Előzetesen felszámított ÁFA(%)" +msgstr "Előzetesen felszámított beszerzési ÁFA(%)" #. module: account #: code:addons/account/account_invoice.py:901 @@ -9582,11 +9977,13 @@ msgid "" "Please check that the field 'Internal Transfers Account' is set on the " "payment method '%s'." msgstr "" +"Kérem ellenőrizze, hogy a 'Belső mozgások könyvelési számla' mező be legyen " +"állítva a '%s' fizetési feltételnél ." #. module: account #: field:account.vat.declaration,display_detail:0 msgid "Display Detail" -msgstr "" +msgstr "Részletek mutatása" #. module: account #: code:addons/account/account.py:3203 @@ -9601,13 +9998,13 @@ msgid "" "accounts. These generate draft invoices." msgstr "" "Analitikus költségek (időkimutatások, egyes megvásárolt termékek, ...) az " -"analitikus könyvelésből származnak. Ezek számla vázlatokat hoznak létre." +"analitikus könyvelésből származnak. Ezek számla tervezeteket hoznak létre." #. module: account #: view:account.analytic.line:0 #: view:analytic.entries.report:0 msgid "My Entries" -msgstr "Tételeim" +msgstr "Bejegyzéseim" #. module: account #: help:account.invoice,state:0 @@ -9622,6 +10019,18 @@ msgid "" "related journal entries may or may not be reconciled. \n" "* The 'Cancelled' status is used when user cancel invoice." msgstr "" +" * A 'Tervezet' állapotot használja, miután egy felhasználó bevitt egy új, " +"még nem jóváhagyott Számlát. \n" +"* A 'Pro-forma' állapotú amikor a számla díjbekérő, Pro-forma; a számlának " +"még nincs száma. \n" +"* A 'Nyitott' állapotot akkor használja, ha a felhasználó számlát készít,és " +"egy számlaszámot hoz létre. Addig marad nyitott állapotú, amíg a számla nem " +"kerül kifizetésre. \n" +"* A 'Fizetve' állapot lesz beállítva automatikusan amint a számla " +"kifizetésre került. A hozzá kapcsolódó napló bejegyzések párosítása vagy " +"megtörténik vagy nem. \n" +"* A 'Visszavont' állapotot használja, ha a felhasználó érvényteleníti a " +"számlát." #. module: account #: field:account.period,date_stop:0 @@ -9641,7 +10050,7 @@ msgstr "Pénzügyi kimutatások" #. module: account #: model:account.account.type,name:account.account_type_liability_view1 msgid "Liability View" -msgstr "" +msgstr "Felelősség nézet" #. module: account #: report:account.account.balance:0 @@ -9694,7 +10103,7 @@ msgstr "Jóváírás, visszatérítés igénylése" #. module: account #: view:account.move.line:0 msgid "Total credit" -msgstr "Követel összesen" +msgstr "Követelés összesen" #. module: account #: model:process.transition,note:account.process_transition_suppliervalidentries0 @@ -9714,18 +10123,18 @@ msgstr "Bizonylat: vevő folyószámla kivonat" #. module: account #: view:account.account.template:0 msgid "Receivale Accounts" -msgstr "Vevő számlák" +msgstr "Követelés (vevő) számlák" #. module: account #: field:account.config.settings,purchase_refund_sequence_prefix:0 msgid "Supplier credit note sequence" -msgstr "" +msgstr "Beszállítők jóváírási sorrend" #. module: account #: code:addons/account/wizard/account_state_open.py:37 #, python-format msgid "Invoice is already reconciled." -msgstr "" +msgstr "Számla már párosítva volt." #. module: account #: help:account.config.settings,module_account_payment:0 @@ -9737,6 +10146,12 @@ msgid "" "payments.\n" " This installs the module account_payment." msgstr "" +"Ez lehetővé teszi hogy létrehozza és kezelje az átutalási megbízásait, egy " +"könnyű\n" +" * csatoló alapjaként a különböző automatikus fizetési " +"szerkezetekhez, és\n" +" * hatékonyabb kezelését a számla fizetéseknek.\n" +" Ez a account_payment (számla_kifizetés) modult telepíti.." #. module: account #: xsl:account.transfer:0 @@ -9747,7 +10162,7 @@ msgstr "Dokumentum" #: view:account.chart.template:0 #: field:account.chart.template,property_account_receivable:0 msgid "Receivable Account" -msgstr "Vevő főkönyvi számla" +msgstr "Bevételi (Vevő) főkönyvi számla" #. module: account #: code:addons/account/account_move_line.py:771 @@ -9755,6 +10170,8 @@ msgstr "Vevő főkönyvi számla" #, python-format msgid "To reconcile the entries company should be the same for all entries." msgstr "" +"A bejegyzések párosításához az összes bejegyzéshez ugyanaz a vállalkozás " +"szükséges." #. module: account #: field:account.account,balance:0 @@ -9799,12 +10216,12 @@ msgstr "Számla megjelenítése" #: model:account.account.type,name:account.data_account_type_payable #: selection:account.entries.report,type:0 msgid "Payable" -msgstr "Szállító" +msgstr "Szállítónak fizetendő" #. module: account #: view:board.board:0 msgid "Account Board" -msgstr "Tábla" +msgstr "Főkonyvi számla tábla" #. module: account #: view:account.model:0 @@ -9832,7 +10249,7 @@ msgstr "Szűrés" #: field:account.cashbox.line,number_closing:0 #: field:account.cashbox.line,number_opening:0 msgid "Number of Units" -msgstr "" +msgstr "Egységek száma" #. module: account #: model:process.node,note:account.process_node_manually0 @@ -9849,14 +10266,14 @@ msgstr "Kézi tétel" #: view:account.move.line:0 #: field:analytic.entries.report,move_id:0 msgid "Move" -msgstr "Bizonylat száma" +msgstr "Bizonylat" #. module: account #: code:addons/account/account_bank_statement.py:478 #: code:addons/account/wizard/account_period_close.py:51 #, python-format msgid "Invalid Action!" -msgstr "" +msgstr "Érvénytelen lépés!" #. module: account #: view:account.bank.statement:0 @@ -9887,7 +10304,7 @@ msgstr "" #. module: account #: report:account.overdue:0 msgid "There is nothing due with this customer." -msgstr "" +msgstr "Ezzel a partnerrel nincs semmilyen lejárat." #. module: account #: help:account.tax,account_paid_id:0 @@ -9904,13 +10321,13 @@ msgstr "" msgid "" "Creates an account with the selected template under this existing parent." msgstr "" -"A kiválasztott sablonnal létrehoz egy főkönyvi számlát a már létező gyűjtő " -"főkönyvi számla alá." +"A kiválasztott sablonnal létrehoz egy főkönyvi számlát a már létező " +"fölérendelt gyűjtő főkönyvi számla alá." #. module: account #: report:account.invoice:0 msgid "Source" -msgstr "" +msgstr "Forrás" #. module: account #: selection:account.model.line,date_maturity:0 @@ -9924,8 +10341,8 @@ msgid "" "You have to define the bank account\n" "in the journal definition for reconciliation." msgstr "" -"A naplóban meg kell adnia a bankszámlát\n" -"az egyeztetéshez." +"A napló leírásban meg kell adnia a bankszámlát\n" +"az egyeztetéshez, párosításhoz." #. module: account #: help:account.journal,sequence_id:0 @@ -9933,11 +10350,13 @@ msgid "" "This field contains the information related to the numbering of the journal " "entries of this journal." msgstr "" +"Ez a mező tartalmazza ennek a naplónak a bejegyzéseihez tartozó számok " +"infoormációit." #. module: account #: field:account.invoice,sent:0 msgid "Sent" -msgstr "" +msgstr "Elküldött" #. module: account #: model:ir.actions.act_window,name:account.action_account_common_menu @@ -9948,7 +10367,7 @@ msgstr "Általános kimutatás" #: field:account.config.settings,default_sale_tax:0 #: field:account.config.settings,sale_tax:0 msgid "Default sale tax" -msgstr "" +msgstr "Alapértelmezett értékesítési adó" #. module: account #: report:account.overdue:0 @@ -9959,7 +10378,7 @@ msgstr "Egyenleg :" #: code:addons/account/account.py:1587 #, python-format msgid "Cannot create moves for different companies." -msgstr "" +msgstr "Nem tud létrehozni bizonylatot különboző vállalkozásokra." #. module: account #: model:ir.ui.menu,name:account.menu_finance_periodical_processing @@ -9969,14 +10388,14 @@ msgstr "Időszakos feldolgozás" #. module: account #: view:account.invoice.report:0 msgid "Customer And Supplier Invoices" -msgstr "" +msgstr "Vásárlói és Beszállítói számlák" #. module: account #: model:process.node,note:account.process_node_paymententries0 #: model:process.transition,name:account.process_transition_paymentorderbank0 #: model:process.transition,name:account.process_transition_paymentreconcile0 msgid "Payment entries" -msgstr "Pénzügyi rendezés tételek" +msgstr "Pénzügyi rendezés tételei" #. module: account #: selection:account.entries.report,month:0 @@ -10033,7 +10452,7 @@ msgstr "Záró időszak" #. module: account #: model:account.account.type,name:account.account_type_expense_view1 msgid "Expense View" -msgstr "" +msgstr "Költség nézet" #. module: account #: field:account.move.line,date_maturity:0 @@ -10044,13 +10463,13 @@ msgstr "Fizetési határidő" #: model:account.payment.term,name:account.account_payment_term_immediate #: model:account.payment.term,note:account.account_payment_term_immediate msgid "Immediate Payment" -msgstr "" +msgstr "Azonnali, készpénzes fizetés" #. module: account #: code:addons/account/account.py:1502 #, python-format msgid " Centralisation" -msgstr "" +msgstr " Központosítás" #. module: account #: help:account.journal,type:0 @@ -10061,12 +10480,18 @@ msgid "" "journals. Select 'Opening/Closing Situation' for entries generated for new " "fiscal years." msgstr "" +"Válassza az 'Értékesítés'-t a a vásárlói számlák naplóihoz. Válassza a " +"'Beszerzés'-t a beszállítói számlák naplóihoz. Válassza a 'Készpénz'-t vagy " +"a 'Bank'-ot olyan naplókhoz melyek a vásárlói vagy beszerzési fizetéseket " +"rögzítik. Válassza az 'Általános'-t az egyéb műveletek naplózásához. " +"Válassza 'Nyitó/Záró' helyzetet olyan tételekhez amit új üzleti év " +"generálásához használ." #. module: account #: view:account.subscription:0 #: model:ir.model,name:account.model_account_subscription msgid "Account Subscription" -msgstr "Előjegyzés" +msgstr "Főkönyvi számla előjegyzés" #. module: account #: report:account.overdue:0 @@ -10114,6 +10539,8 @@ msgid "" "It indicates that the invoice has been paid and the journal entry of the " "invoice has been reconciled with one or several journal entries of payment." msgstr "" +"Ez jelzi, hogy a számla ki lett fizetve és a számla napló bejegyzése " +"párosítva lett a fizetés egy vagy több napló bejegyzésével." #. module: account #: view:account.invoice:0 @@ -10133,7 +10560,7 @@ msgstr "Készpénz befizetése" #: view:account.entries.report:0 #: view:account.move.line:0 msgid "Unreconciled" -msgstr "Rendezetlen" +msgstr "Rendezetlen, párosítatlan" #. module: account #: code:addons/account/account_invoice.py:922 @@ -10144,7 +10571,7 @@ msgstr "Hibás összesen!" #. module: account #: field:account.journal,sequence_id:0 msgid "Entry Sequence" -msgstr "Sorszámozás" +msgstr "Bevitel sorszámozás" #. module: account #: model:ir.actions.act_window,help:account.action_account_period_tree @@ -10198,6 +10625,8 @@ msgid "" "Selected invoice(s) cannot be cancelled as they are already in 'Cancelled' " "or 'Done' state." msgstr "" +"A kiválasztott számlá(ka)t nem lehet visszavonni mivel már 'Visszavont' vagy " +"'Elkészített' állapotú." #. module: account #: report:account.analytic.account.quantity_cost_ledger:0 @@ -10224,7 +10653,7 @@ msgstr "Könyvelési tételsorok" #. module: account #: view:accounting.report:0 msgid "Comparison" -msgstr "" +msgstr "Összehasonlítás" #. module: account #: code:addons/account/account_move_line.py:1119 @@ -10234,6 +10663,9 @@ msgid "" "some non legal fields or you must unconfirm the journal entry first.\n" "%s." msgstr "" +"Nem hagyhatja végre ezt a módosítást egy jóváhagyott bejegyzésen. Csak nem " +"törvényes mezőket változtathat meg vagy a naplót vissza kell vonni először.\n" +"%s." #. module: account #: help:account.config.settings,module_account_budget:0 @@ -10255,7 +10687,7 @@ msgstr "" #. module: account #: field:account.bank.statement.line,name:0 msgid "OBI" -msgstr "" +msgstr "OBI" #. module: account #: help:res.partner,property_account_payable:0 @@ -10281,7 +10713,7 @@ msgstr "Másodlagos pénznem" #. module: account #: model:ir.model,name:account.model_validate_account_move msgid "Validate Account Move" -msgstr "Könyvelési tételek jóváhagyása" +msgstr "Könyvelési tételek bizonylatának jóváhagyása" #. module: account #: field:account.account,credit:0 @@ -10305,7 +10737,7 @@ msgstr "Könyvelési tételek jóváhagyása" #: report:account.vat.declaration:0 #: field:report.account.receivable,credit:0 msgid "Credit" -msgstr "Követel" +msgstr "Követelés" #. module: account #: view:account.invoice:0 @@ -10326,7 +10758,7 @@ msgstr "Kontírozási modell" #: code:addons/account/account.py:1073 #, python-format msgid "Start period should precede then end period." -msgstr "" +msgstr "Előbb van az induó időszak és utána a záró időszak." #. module: account #: field:account.invoice,number:0 @@ -10347,7 +10779,7 @@ msgstr "Általános" #: field:account.invoice.report,price_total:0 #: field:account.invoice.report,user_currency_price_total:0 msgid "Total Without Tax" -msgstr "Nettó érték" +msgstr "Nettó, adó nélküli érték" #. module: account #: selection:account.aged.trial.balance,filter:0 @@ -10405,13 +10837,13 @@ msgstr "Április" #. module: account #: model:account.financial.report,name:account.account_financial_report_profitloss_toreport0 msgid "Profit (Loss) to report" -msgstr "" +msgstr "Nyereség (Veszteség) a kimutatásba" #. module: account #: code:addons/account/account_invoice.py:379 #, python-format msgid "There is no Sale/Purchase Journal(s) defined." -msgstr "" +msgstr "Nincs Értékesítés/Beszerzés napló(k) meghatározva." #. module: account #: view:account.move.line.reconcile.select:0 @@ -10421,18 +10853,18 @@ msgstr "Megnyitás a párosításhoz" #. module: account #: field:account.account,parent_left:0 msgid "Parent Left" -msgstr "Bal szülő" +msgstr "Bal fölérendelt szülő alkalmazás szabályok" #. module: account #: selection:account.financial.report,style_overwrite:0 msgid "Title 2 (bold)" -msgstr "" +msgstr "Címmező 2 (kövér)" #. module: account #: model:ir.actions.act_window,name:account.action_invoice_tree2 #: model:ir.ui.menu,name:account.menu_action_invoice_tree2 msgid "Supplier Invoices" -msgstr "Bejövő számlák" +msgstr "Bejövő, beszállítói számlák" #. module: account #: view:account.analytic.line:0 @@ -10468,7 +10900,7 @@ msgstr "Könyvelési időszak" #. module: account #: view:account.subscription:0 msgid "Remove Lines" -msgstr "Sorok eltávolítása" +msgstr "Tételsorok eltávolítása" #. module: account #: selection:account.account,type:0 @@ -10489,7 +10921,7 @@ msgstr "Belső típus" #. module: account #: field:account.subscription.generate,date:0 msgid "Generate Entries Before" -msgstr "" +msgstr "Előzőleg létrehozott bejegyzések" #. module: account #: model:ir.actions.act_window,name:account.action_subscription_form_running @@ -10563,19 +10995,19 @@ msgstr "Eredeti adó" #. module: account #: view:ir.sequence:0 msgid "Fiscal Year Sequences" -msgstr "Üzleti év sorszámok" +msgstr "Üzleti év sorrendek" #. module: account #: selection:account.financial.report,display_detail:0 msgid "No detail" -msgstr "" +msgstr "Nincsenek részletek" #. module: account #: field:account.account,unrealized_gain_loss:0 #: model:ir.actions.act_window,name:account.action_account_gain_loss #: model:ir.ui.menu,name:account.menu_unrealized_gains_losses msgid "Unrealized Gain or Loss" -msgstr "" +msgstr "Nem realizált Nyereség vagy veszteség" #. module: account #: view:account.move:0 @@ -10587,12 +11019,12 @@ msgstr "Állapotok" #: help:product.category,property_account_income_categ:0 #: help:product.template,property_account_income:0 msgid "This account will be used to value outgoing stock using sale price." -msgstr "" +msgstr "Ez a főkönyvi számla értékeli a kimenő árukat az eladási ár alapján." #. module: account #: field:account.invoice,check_total:0 msgid "Verification Total" -msgstr "Számla végösszeg" +msgstr "Számla végösszeg ellenőrzés" #. module: account #: report:account.analytic.account.balance:0 @@ -10604,13 +11036,13 @@ msgstr "Számla végösszeg" #: field:report.account_type.sales,amount_total:0 #: field:report.invoice.created,amount_total:0 msgid "Total" -msgstr "Összesen" +msgstr "Bruttó érték összesen" #. module: account #: code:addons/account/wizard/account_invoice_refund.py:109 #, python-format msgid "Cannot %s draft/proforma/cancel invoice." -msgstr "" +msgstr "Nem lehet %s tervezet/proforma/érvénytelenített számla." #. module: account #: field:account.tax,account_analytic_paid_id:0 @@ -10620,7 +11052,7 @@ msgstr "Visszatérítés analitikai adógyűjtő számla" #. module: account #: view:account.move.bank.reconcile:0 msgid "Open for Bank Reconciliation" -msgstr "Megnyitás a bank egyeztetéshez" +msgstr "Megnyitás a bank egyeztetéshez, párosításhoz" #. module: account #: field:account.account,company_id:0 @@ -10686,7 +11118,7 @@ msgstr "Esedékesség kelte" #: field:cash.box.in,name:0 #: field:cash.box.out,name:0 msgid "Reason" -msgstr "" +msgstr "Indoklás" #. module: account #: selection:account.partner.ledger,filter:0 @@ -10714,12 +11146,12 @@ msgstr "Havi időszakok létrehozása" #. module: account #: field:account.tax.code.template,sign:0 msgid "Sign For Parent" -msgstr "Összegzésnél használt előjel" +msgstr "Fölérendeltekhez használt előjel" #. module: account #: model:ir.model,name:account.model_account_balance_report msgid "Trial Balance Report" -msgstr "Főkönyvi kivonat" +msgstr "Próbamérleg kimutatás" #. module: account #: model:ir.actions.act_window,name:account.action_bank_statement_draft_tree @@ -10744,22 +11176,26 @@ msgid "" "If you unreconcile transactions, you must also verify all the actions that " "are linked to those transactions because they will not be disable" msgstr "" +"Ha párosítatlanná teszi a tranzakciókat, akkor a tranzakciókhoz kapcsolt " +"tranzakciókat is ellenőriznie kell, mert azok nem lesznek kiiktatva" #. module: account #: code:addons/account/account_move_line.py:1056 #, python-format msgid "Unable to change tax!" -msgstr "" +msgstr "Lehetetlen megváltoztatni az adót!" #. module: account #: constraint:account.bank.statement:0 msgid "The journal and period chosen have to belong to the same company." msgstr "" +"A kiválasztott naplónak és időszaknak ugyanahhoz a vállalkozáshoz kell " +"tartoznia." #. module: account #: view:account.invoice:0 msgid "Invoice lines" -msgstr "Számlasorok" +msgstr "Számla tételsorok" #. module: account #: field:account.chart,period_to:0 @@ -10769,7 +11205,7 @@ msgstr "Záró időszak" #. module: account #: sql_constraint:account.journal:0 msgid "The code of the journal must be unique per company !" -msgstr "A napló kódjának egyedinek kell lennie!" +msgstr "A napló kódjának egyedinek kell lennie mindegyik vállalathoz!" #. module: account #: model:ir.actions.act_window,help:account.action_account_invoice_report_all @@ -10778,6 +11214,9 @@ msgid "" "customer. The tool search can also be used to personalise your Invoices " "reports and so, match this analysis to your needs." msgstr "" +"Ebből a kimutatásból, áttekintheti az ehhez a partnerhez tartozó számlázott " +"összegeket. A kereső eszközzel egyénivé teheti a Számla kimutatásait és így, " +"az a kívánsága szerinti lesz." #. module: account #: view:account.partner.reconcile.process:0 @@ -10788,7 +11227,7 @@ msgstr "A következő partnerre lép" #: view:account.automatic.reconcile:0 #: view:account.move.line.reconcile.writeoff:0 msgid "Write-Off Move" -msgstr "Különbözet leírása" +msgstr "Különbözet bizonylat leírása" #. module: account #: model:process.node,note:account.process_node_paidinvoice0 @@ -10798,7 +11237,7 @@ msgstr "A számla állapota kész." #. module: account #: field:account.config.settings,module_account_followup:0 msgid "Manage customer payment follow-ups" -msgstr "" +msgstr "Vásárlói fizetési nyomon követések kezelése" #. module: account #: model:ir.model,name:account.model_report_account_sales @@ -10808,7 +11247,7 @@ msgstr "Főkönyvi számlánkénti értékesítési kimutatás" #. module: account #: model:ir.model,name:account.model_account_fiscal_position_account msgid "Accounts Fiscal Position" -msgstr "ÁFA pozíció" +msgstr "Főkönyvi számla költségvetési ÁFA pozíció" #. module: account #: report:account.invoice:0 @@ -10820,7 +11259,7 @@ msgstr "ÁFA pozíció" #: selection:report.invoice.created,type:0 #, python-format msgid "Supplier Invoice" -msgstr "Bejövő számla" +msgstr "Beszállítók bejövő számlái" #. module: account #: field:account.account,debit:0 @@ -10849,18 +11288,18 @@ msgstr "Tartozik" #. module: account #: selection:account.financial.report,style_overwrite:0 msgid "Title 3 (bold, smaller)" -msgstr "" +msgstr "Címmező 3 (kövér, kisebb)" #. module: account #: view:account.invoice:0 #: field:account.invoice,invoice_line:0 msgid "Invoice Lines" -msgstr "Számlasorok" +msgstr "Számla téetelsorok" #. module: account #: help:account.model.line,quantity:0 msgid "The optional quantity on entries." -msgstr "" +msgstr "A tételek mennyiségi lehetőségei." #. module: account #: field:account.automatic.reconcile,reconciled:0 @@ -10870,13 +11309,13 @@ msgstr "Párosított tranzakciók" #. module: account #: model:ir.model,name:account.model_report_account_receivable msgid "Receivable accounts" -msgstr "Vevő számlák" +msgstr "Vásárlóktól követelés számlák" #. module: account #: code:addons/account/account_move_line.py:783 #, python-format msgid "Already reconciled." -msgstr "" +msgstr "Már párosítottak." #. module: account #: selection:account.model.line,date_maturity:0 @@ -10902,6 +11341,11 @@ msgid "" "payable/receivable are for partners accounts (for debit/credit " "computations), closed for depreciated accounts." msgstr "" +"A 'Belső típus' a különböző elérhető számla tulajdonságokat tartalmazza: " +"nézetnek nem lehet napló bejegyzései, egyeztetett számlák melyek " +"tartalmazhatnak al-számlákat a több szintes vállalati felépítésnél, " +"fizetendők/követelések a fölérendelt főkönyvi számlákhoz (tartozik/követel " +"számításokhoz), lezárt a leértékelt számlákhoz." #. module: account #: report:account.account.balance:0 @@ -10910,23 +11354,23 @@ msgstr "" #: report:account.general.ledger_landscape:0 #: selection:account.report.general.ledger,display_account:0 msgid "With movements" -msgstr "Amelyeken van mozgás" +msgstr "Amelyeken van bizonylata" #. module: account #: view:account.tax.code.template:0 msgid "Account Tax Code Template" -msgstr "Adógyűjtő sablon" +msgstr "Főkönyvi számla adógyűjtő sablon" #. module: account #: model:process.node,name:account.process_node_manually0 msgid "Manually" -msgstr "Manuálisan" +msgstr "Kézzel" #. module: account #: help:account.move,balance:0 msgid "" "This is a field only used for internal purpose and shouldn't be displayed" -msgstr "" +msgstr "Ez a mező belső használatra és nem szabad megjeleníteni" #. module: account #: selection:account.entries.report,month:0 @@ -10940,13 +11384,14 @@ msgstr "December" #. module: account #: view:account.invoice.report:0 msgid "Group by month of Invoice Date" -msgstr "" +msgstr "Csoportosítás számla dátuma alapján" #. module: account #: code:addons/account/account_analytic_line.py:99 #, python-format msgid "There is no income account defined for this product: \"%s\" (id:%d)." msgstr "" +"Nincs bevételi számla meghatározva ehhez a termékhez: \"%s\" (id:%d)." #. module: account #: model:ir.actions.act_window,name:account.action_aged_receivable_graph @@ -10962,13 +11407,15 @@ msgstr "Alkalmazhatóság" #. module: account #: help:account.move.line,currency_id:0 msgid "The optional other currency if it is a multi-currency entry." -msgstr "Szabadon választott más pénznem, ha a tétel devizás." +msgstr "Szabadon választott más pénznem, ha a tétel több-devizás." #. module: account #: model:process.transition,note:account.process_transition_invoiceimport0 msgid "" "Import of the statement in the system from a supplier or customer invoice" -msgstr "Bejövő vagy kimenő számlából kivonat importálása a rendszerbe" +msgstr "" +"Beszállítói bejövő vagy vásárlói kimenő számlából kivonat importálása a " +"rendszerbe" #. module: account #: model:ir.ui.menu,name:account.menu_finance_periodical_processing_billing @@ -10979,7 +11426,7 @@ msgstr "Számlázás" #: view:account.account:0 #: view:account.analytic.account:0 msgid "Parent Account" -msgstr "Gyűjtő főkönyvi számla" +msgstr "Fölérendelt gyűjtő főkönyvi számla" #. module: account #: view:report.account.receivable:0 @@ -10999,7 +11446,7 @@ msgstr "A számla végösszegéből még nem rendezett rész." #. module: account #: field:account.print.journal,sort_selection:0 msgid "Entries Sorted by" -msgstr "" +msgstr "Bejegyzések rendezése ezzel" #. module: account #: code:addons/account/account_invoice.py:1546 @@ -11008,6 +11455,7 @@ msgid "" "The selected unit of measure is not compatible with the unit of measure of " "the product." msgstr "" +"A kiválasztott mértékegység nem kompatibilis a termék mértékegységével." #. module: account #: view:account.fiscal.position:0 @@ -11031,6 +11479,16 @@ msgid "" " </p>\n" " " msgstr "" +"<p class=\"oe_view_nocontent_create\">\n" +" Kattintson egy új adó kód létrehozásához.\n" +" </p><p>\n" +" Országtól függően, az adó kód egy kitöltendő cella a \n" +" törvényes adóbevallásában. A rendszer lehetővé teszi az adó\n" +" felépítésének és az adók kiszámításának meghatározását ami " +"\n" +" rögzítésre kerül egy vagy több adó kódhoz.\n" +" </p>\n" +" " #. module: account #: selection:account.entries.report,month:0 @@ -11057,6 +11515,19 @@ msgid "" " </p>\n" " " msgstr "" +"<p class=\"oe_view_nocontent_create\">\n" +" Válassza ki a kitölteni kívánt időszakot és naplót.\n" +" </p><p>\n" +" Ezt a nézetet használja a könyvelő a gyors rendszer beviteli " +"\n" +" rögzítéshez. Ha egy beszállítói számlát szeretne rögzíteni,\n" +" akkor a kiadások főkönyvi számlánál kezdje a tétel " +"rögzítését.\n" +" A rendszer fel fogja automatikusan ajánlani az erre a " +"számlára,\n" +" és az ellenszámlára \"Fizetendő főkönyvi számla\", adót.\n" +" </p>\n" +" " #. module: account #: help:account.invoice.line,account_id:0 @@ -11067,7 +11538,7 @@ msgstr "" #. module: account #: view:account.config.settings:0 msgid "Install more chart templates" -msgstr "" +msgstr "Több számlatükör telepítése" #. module: account #: report:account.general.journal:0 @@ -11117,11 +11588,13 @@ msgid "" "You cannot remove/deactivate an account which is set on a customer or " "supplier." msgstr "" +"Nem tudja eltávolítani/inaktiválni azt a számlát, mely már be lett állítva " +"egy vásárlóhoz vagy beszállítóhoz." #. module: account #: model:ir.model,name:account.model_validate_account_move_lines msgid "Validate Account Move Lines" -msgstr "Könyvelési tételsorok jóváhagyása" +msgstr "Könyvelési bizonylat tételsorok jóváhagyása" #. module: account #: help:res.partner,property_account_position:0 @@ -11134,7 +11607,7 @@ msgstr "" #. module: account #: model:process.node,note:account.process_node_supplierpaidinvoice0 msgid "Invoice's state is Done." -msgstr "A számla állapota kész." +msgstr "A számla állapota, kész." #. module: account #: model:process.transition,note:account.process_transition_reconcilepaid0 @@ -11145,7 +11618,7 @@ msgstr "Amint a párosítás elkészül, a számla rendezettnek minősül." #: code:addons/account/wizard/account_change_currency.py:59 #, python-format msgid "New currency is not configured properly." -msgstr "" +msgstr "Az új pénznem nem megfelelően beállított." #. module: account #: view:account.account.template:0 @@ -11155,18 +11628,18 @@ msgstr "Főkönyvi számla sablonok keresése" #. module: account #: view:account.invoice.tax:0 msgid "Manual Invoice Taxes" -msgstr "Adók" +msgstr "Kézzel megadott adók a számlán" #. module: account #: code:addons/account/account_invoice.py:573 #, python-format msgid "The payment term of supplier does not have a payment term line." -msgstr "" +msgstr "A beszállító fizetési feltételének nincs fizetési feltétel tétele." #. module: account #: field:account.account,parent_right:0 msgid "Parent Right" -msgstr "Jobb szülő" +msgstr "Jobb fölérendelt szülő alkalmazás szabályok" #. module: account #. openerp-web @@ -11174,7 +11647,7 @@ msgstr "Jobb szülő" #: code:addons/account/static/src/js/account_move_reconciliation.js:80 #, python-format msgid "Never" -msgstr "" +msgstr "Soha" #. module: account #: model:ir.model,name:account.model_account_addtmpl_wizard @@ -11190,12 +11663,12 @@ msgstr "account.addtmpl.wizard" #: report:account.third_party_ledger:0 #: report:account.third_party_ledger_other:0 msgid "Partner's" -msgstr "Vevő/szállító számlák" +msgstr "Partnerek" #. module: account #: field:account.account,note:0 msgid "Internal Notes" -msgstr "" +msgstr "Belső jegyzetek" #. module: account #: model:ir.actions.act_window,name:account.action_account_fiscalyear @@ -11222,13 +11695,13 @@ msgstr "Hiv." #: field:account.use.model,model:0 #: model:ir.model,name:account.model_account_model msgid "Account Model" -msgstr "Modell" +msgstr "Főkönyvi számla modell" #. module: account #: code:addons/account/account_cash_statement.py:292 #, python-format msgid "Loss" -msgstr "" +msgstr "Veszteség" #. module: account #: selection:account.entries.report,month:0 @@ -11243,7 +11716,7 @@ msgstr "Február" #: view:account.bank.statement:0 #: help:account.cashbox.line,number_closing:0 msgid "Closing Unit Numbers" -msgstr "Záró darabszám" +msgstr "Záró egység számok" #. module: account #: field:account.bank.accounts.wizard,bank_account_id:0 @@ -11258,7 +11731,7 @@ msgstr "Bankszámla" #: model:ir.actions.act_window,name:account.action_account_central_journal #: model:ir.model,name:account.model_account_central_journal msgid "Account Central Journal" -msgstr "Központi napló" +msgstr "Főkönyvi számla központi napló" #. module: account #: report:account.overdue:0 @@ -11300,7 +11773,7 @@ msgstr "Beszerzés főkönyvi számla a terméksablonban" #. module: account #: field:res.partner,property_payment_term:0 msgid "Customer Payment Term" -msgstr "" +msgstr "Vásárló fizetési feltétele" #. module: account #: help:accounting.report,label_filter:0 @@ -11308,11 +11781,13 @@ msgid "" "This label will be displayed on report to show the balance computed for the " "given comparison filter." msgstr "" +"Ez a címke lesz feltüntetve a kimutatásokon a megadott összehasonlító szűrő " +"szerint kiszámított egyenleg megmutatásához." #. module: account #: selection:account.config.settings,tax_calculation_rounding_method:0 msgid "Round per line" -msgstr "" +msgstr "Tételenkénti kerekítés" #. module: account #: help:account.move.line,amount_residual_currency:0 diff --git a/addons/account/i18n/ru.po b/addons/account/i18n/ru.po index 28d04731c8e..3fd95d491f4 100644 --- a/addons/account/i18n/ru.po +++ b/addons/account/i18n/ru.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-12-21 17:04+0000\n" -"PO-Revision-Date: 2013-07-02 06:32+0000\n" +"PO-Revision-Date: 2013-12-19 08:06+0000\n" "Last-Translator: Chertykov Denis <chertykov@gmail.com>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-12 05:32+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-12-20 05:11+0000\n" +"X-Generator: Launchpad (build 16872)\n" #. module: account #: model:process.transition,name:account.process_transition_supplierreconcilepaid0 @@ -184,6 +184,13 @@ msgid "" " </p>\n" " " msgstr "" +"<p class=\"oe_view_nocontent_create\">\n" +" Щелкните, чтобы добавить отчетный период.\n" +" </p><p>\n" +" Отчетный период как правило - месяц или квартал .\n" +" Обычно он соответствует периодам налоговой декларации.\n" +" </p>\n" +" " #. module: account #: model:ir.actions.act_window,name:account.action_view_created_invoice_dashboard diff --git a/addons/account/project/project_demo.xml b/addons/account/project/project_demo.xml index dcb894bc940..5ce34521b45 100644 --- a/addons/account/project/project_demo.xml +++ b/addons/account/project/project_demo.xml @@ -6,11 +6,6 @@ <field name="name">Sales</field> <field name="type">sale</field> </record> - <record id="exp" model="account.analytic.journal"> - <field name="code">PUR</field> - <field name="name">Purchases</field> - <field name="type">purchase</field> - </record> <record id="sit" model="account.analytic.journal"> <field name="code">START</field> <field name="name">Miscellaneous Operation</field> diff --git a/addons/account/static/src/css/account_bank_and_cash.css b/addons/account/static/src/css/account_bank_and_cash.css new file mode 100644 index 00000000000..5b5643d0d8e --- /dev/null +++ b/addons/account/static/src/css/account_bank_and_cash.css @@ -0,0 +1,27 @@ +.openerp .oe_force_bold { + font-weight: bold !important; +} +.openerp label.oe_open_balance{ + margin-right: -18px; +} +.openerp label.oe_subtotal_footer_separator{ + float:right; + width: 184px !important; +} +.openerp label.oe_mini_subtotal_footer_separator{ + margin-right: -14px; +} +.openerp .oe_account_total, .openerp .oe_pos_total { + margin-left: -2px; +} +.openerp label.oe_real_closing_balance{ + min-width: 184px !important; +} +.openerp label.oe_difference, .openerp label.oe_pos_difference { + margin-right: -10px; + padding-left: 10px !important; + min-width: 195px !important; +} +.openerp .oe_opening_total{ + margin-right: 4px; +} diff --git a/addons/account_analytic_analysis/account_analytic_analysis.py b/addons/account_analytic_analysis/account_analytic_analysis.py index 65d87ca3086..a0d14e889cb 100644 --- a/addons/account_analytic_analysis/account_analytic_analysis.py +++ b/addons/account_analytic_analysis/account_analytic_analysis.py @@ -450,6 +450,7 @@ class account_analytic_account(osv.osv): 'is_overdue_quantity' : fields.function(_is_overdue_quantity, method=True, type='boolean', string='Overdue Quantity', store={ 'account.analytic.line' : (_get_analytic_account, None, 20), + 'account.analytic.account': (lambda self, cr, uid, ids, c=None: ids, ['quantity_max'], 10), }), 'ca_invoiced': fields.function(_ca_invoiced_calc, type='float', string='Invoiced Amount', help="Total customer invoiced amount for this account.", diff --git a/addons/account_analytic_analysis/i18n/sk.po b/addons/account_analytic_analysis/i18n/sk.po new file mode 100644 index 00000000000..21a8745229c --- /dev/null +++ b/addons/account_analytic_analysis/i18n/sk.po @@ -0,0 +1,607 @@ +# Slovak translation for openobject-addons +# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:04+0000\n" +"PO-Revision-Date: 2014-01-04 11:30+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Slovak <sk@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2014-01-05 05:26+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "No order to invoice, create" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Group By..." +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "To Invoice" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Remaining" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Contracts in progress" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,last_worked_invoiced_date:0 +msgid "" +"If invoice from the costs, this is the date of the latest work or cost that " +"have been invoiced." +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,last_worked_date:0 +msgid "Date of Last Cost/Work" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,ca_to_invoice:0 +msgid "Uninvoiced Amount" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "" +"When invoicing on timesheet, OpenERP uses the\n" +" pricelist of the contract which uses the price\n" +" defined on the product related to each employee " +"to\n" +" define the customer invoice price rate." +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "⇒ Invoice" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,ca_invoiced:0 +msgid "Invoiced Amount" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,last_worked_invoiced_date:0 +msgid "Date of Last Invoiced Cost" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,fix_price_to_invoice:0 +msgid "Sum of quotations for this contract." +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,ca_invoiced:0 +msgid "Total customer invoiced amount for this account." +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,timesheet_ca_invoiced:0 +msgid "Sum of timesheet lines invoiced for this contract." +msgstr "" + +#. module: account_analytic_analysis +#: code:addons/account_analytic_analysis/account_analytic_analysis.py:464 +#, python-format +msgid "Sales Order Lines of %s" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,revenue_per_hour:0 +msgid "Computed using the formula: Invoiced Amount / Total Time" +msgstr "" + +#. module: account_analytic_analysis +#: field:account_analytic_analysis.summary.month,account_id:0 +#: field:account_analytic_analysis.summary.user,account_id:0 +#: model:ir.model,name:account_analytic_analysis.model_account_analytic_account +msgid "Analytic Account" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Partner" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Contracts that are not assigned to an account manager." +msgstr "" + +#. module: account_analytic_analysis +#: model:ir.actions.act_window,help:account_analytic_analysis.action_account_analytic_overdue +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to define a new contract.\n" +" </p><p>\n" +" You will find here the contracts to be renewed because the\n" +" end date is passed or the working effort is higher than the\n" +" maximum authorized one.\n" +" </p><p>\n" +" OpenERP automatically sets contracts to be renewed in a " +"pending\n" +" state. After the negociation, the salesman should close or " +"renew\n" +" pending contracts.\n" +" </p>\n" +" " +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "End Date" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Account Manager" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,remaining_hours_to_invoice:0 +msgid "Computed using the formula: Maximum Time - Total Invoiced Time" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Expected" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Contracts not assigned" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,theorical_margin:0 +msgid "Computed using the formula: Theoretical Revenue - Total Costs" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,hours_qtt_invoiced:0 +msgid "Invoiced Time" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,fix_price_to_invoice:0 +#: field:account.analytic.account,remaining_hours:0 +#: field:account.analytic.account,remaining_hours_to_invoice:0 +#: field:account.analytic.account,timesheet_ca_invoiced:0 +msgid "Remaining Time" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "" +"{'required': [('type','=','contract')], 'invisible': [('type','in',['view', " +"'normal','template'])]}" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,real_margin_rate:0 +msgid "Real Margin Rate (%)" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,remaining_hours:0 +msgid "Computed using the formula: Maximum Time - Total Worked Time" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,hours_quantity:0 +msgid "" +"Number of time you spent on the analytic account (from timesheet). It " +"computes quantities on all journal of type 'general'." +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Nothing to invoice, create" +msgstr "" + +#. module: account_analytic_analysis +#: model:res.groups,name:account_analytic_analysis.group_template_required +msgid "Mandatory use of templates in contracts" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,hours_quantity:0 +msgid "Total Worked Time" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,real_margin:0 +msgid "Real Margin" +msgstr "" + +#. module: account_analytic_analysis +#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_month +msgid "Hours summary by month" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,real_margin_rate:0 +msgid "Computes using the formula: (Real Margin / Total Costs) * 100." +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "or view" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Customer Contracts" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Parent" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,month_ids:0 +#: field:account_analytic_analysis.summary.month,month:0 +msgid "Month" +msgstr "" + +#. module: account_analytic_analysis +#: model:ir.actions.act_window,name:account_analytic_analysis.action_hr_tree_invoiced_all +#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_hr_tree_invoiced_all +msgid "Time & Materials to Invoice" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_overdue_all +#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_overdue_all +msgid "Contracts" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Start Date" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Invoiced" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "" +"The contracts to be renewed because the deadline is passed or the working " +"hours are higher than the allocated hours" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Pending contracts to renew with your customer" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Timesheets" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,hours_qtt_non_invoiced:0 +msgid "" +"Number of time (hours/days) (from journal of type 'general') that can be " +"invoiced if you invoice based on analytic account." +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Pending" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,is_overdue_quantity:0 +msgid "Overdue Quantity" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Status" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,ca_theorical:0 +msgid "Theoretical Revenue" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "To Renew" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "" +"A contract in OpenERP is an analytic account having a partner set on it." +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +#: model:ir.actions.act_window,name:account_analytic_analysis.action_sales_order +msgid "Sales Orders" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,last_invoice_date:0 +msgid "If invoice from the costs, this is the date of the latest invoiced." +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,ca_theorical:0 +msgid "" +"Based on the costs you had on the project, what would have been the revenue " +"if all these costs have been invoiced at the normal sale price provided by " +"the pricelist." +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,user_ids:0 +#: field:account_analytic_analysis.summary.user,user:0 +msgid "User" +msgstr "" + +#. module: account_analytic_analysis +#: model:ir.actions.act_window,help:account_analytic_analysis.template_of_contract_action +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click here to create a template of contract.\n" +" </p><p>\n" +" Templates are used to prefigure contract/project that \n" +" can be selected by the salespeople to quickly configure " +"the\n" +" terms and conditions of the contract.\n" +" </p>\n" +" " +msgstr "" + +#. module: account_analytic_analysis +#: model:ir.model,name:account_analytic_analysis.model_account_analytic_analysis_summary_user +msgid "Hours Summary by User" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Contract" +msgstr "" + +#. module: account_analytic_analysis +#: help:sale.config.settings,group_template_required:0 +msgid "" +"Allows you to set the template field as required when creating an analytic " +"account or a contract." +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,hours_qtt_invoiced:0 +msgid "" +"Number of time (hours/days) that can be invoiced plus those that already " +"have been invoiced." +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,revenue_per_hour:0 +msgid "Revenue per Time (real)" +msgstr "" + +#. module: account_analytic_analysis +#: model:ir.actions.act_window,help:account_analytic_analysis.action_account_analytic_overdue_all +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a new contract.\n" +" </p><p>\n" +" Use contracts to follow tasks, issues, timesheets or " +"invoicing based on\n" +" work done, expenses and/or sales orders. OpenERP will " +"automatically manage\n" +" the alerts for the renewal of the contracts to the right " +"salesperson.\n" +" </p>\n" +" " +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,toinvoice_total:0 +msgid "Total to Invoice" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Sale Orders" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Open" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,invoiced_total:0 +msgid "Total Invoiced" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,remaining_ca:0 +msgid "Computed using the formula: Max Invoice Price - Invoiced Amount." +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,last_invoice_date:0 +msgid "Last Invoice Date" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Units Remaining" +msgstr "" + +#. module: account_analytic_analysis +#: model:ir.actions.act_window,help:account_analytic_analysis.action_hr_tree_invoiced_all +msgid "" +"<p>\n" +" You will find here timesheets and purchases you did for\n" +" contracts that can be reinvoiced to the customer. If you " +"want\n" +" to record new activities to invoice, you should use the " +"timesheet\n" +" menu instead.\n" +" </p>\n" +" " +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,hours_qtt_non_invoiced:0 +msgid "Uninvoiced Time" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Invoicing" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,total_cost:0 +msgid "Total Costs" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,remaining_total:0 +msgid "" +"Expectation of remaining income for this contract. Computed as the sum of " +"remaining subtotals which, in turn, are computed as the maximum between " +"'(Estimation - Invoiced)' and 'To Invoice' amounts" +msgstr "" + +#. module: account_analytic_analysis +#: model:ir.actions.act_window,name:account_analytic_analysis.action_account_analytic_overdue +#: model:ir.ui.menu,name:account_analytic_analysis.menu_action_account_analytic_overdue +msgid "Contracts to Renew" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,toinvoice_total:0 +msgid " Sum of everything that could be invoiced for this contract." +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,theorical_margin:0 +msgid "Theoretical Margin" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,remaining_total:0 +msgid "Total Remaining" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,real_margin:0 +msgid "Computed using the formula: Invoiced Amount - Total Costs." +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,hours_qtt_est:0 +msgid "Estimation of Hours to Invoice" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,fix_price_invoices:0 +msgid "Fixed Price" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,last_worked_date:0 +msgid "Date of the latest work done on this account." +msgstr "" + +#. module: account_analytic_analysis +#: model:ir.model,name:account_analytic_analysis.model_sale_config_settings +msgid "sale.config.settings" +msgstr "" + +#. module: account_analytic_analysis +#: field:sale.config.settings,group_template_required:0 +msgid "Mandatory use of templates." +msgstr "" + +#. module: account_analytic_analysis +#: model:ir.actions.act_window,name:account_analytic_analysis.template_of_contract_action +#: model:ir.ui.menu,name:account_analytic_analysis.menu_template_of_contract_action +msgid "Contract Template" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Units Done" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,total_cost:0 +msgid "" +"Total of costs for this account. It includes real costs (from invoices) and " +"indirect costs, like time spent on timesheets." +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,est_total:0 +msgid "Total Estimation" +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,remaining_ca:0 +msgid "Remaining Revenue" +msgstr "" + +#. module: account_analytic_analysis +#: help:account.analytic.account,ca_to_invoice:0 +msgid "" +"If invoice from analytic account, the remaining amount you can invoice to " +"the customer based on the total costs." +msgstr "" + +#. module: account_analytic_analysis +#: field:account_analytic_analysis.summary.month,unit_amount:0 +#: field:account_analytic_analysis.summary.user,unit_amount:0 +msgid "Total Time" +msgstr "" + +#. module: account_analytic_analysis +#: model:res.groups,comment:account_analytic_analysis.group_template_required +msgid "" +"the field template of the analytic accounts and contracts will be required." +msgstr "" + +#. module: account_analytic_analysis +#: field:account.analytic.account,invoice_on_timesheets:0 +msgid "On Timesheets" +msgstr "" + +#. module: account_analytic_analysis +#: view:account.analytic.account:0 +msgid "Total" +msgstr "" diff --git a/addons/account_analytic_plans/account_analytic_plans_view.xml b/addons/account_analytic_plans/account_analytic_plans_view.xml index 42b17ae06c3..05955d6f5cd 100644 --- a/addons/account_analytic_plans/account_analytic_plans_view.xml +++ b/addons/account_analytic_plans/account_analytic_plans_view.xml @@ -270,6 +270,20 @@ </xpath> </field> </record> + + <record id="view_bank_statement_inherit_form2" model="ir.ui.view"> + <field name="name">account.bank.statement.form.inherit</field> + <field name="model">account.bank.statement</field> + <field name="inherit_id" ref="account.view_bank_statement_form2"/> + <field name="arch" type="xml"> + <xpath expr="/form/sheet/notebook/page/field[@name='line_ids']/tree/field[@name='analytic_account_id']" position="replace"> + <field name="analytics_id" groups="analytic.group_analytic_accounting"/> + </xpath> + <xpath expr="/form/sheet/notebook/page/field[@name='line_ids']/form/group/field[@name='analytic_account_id']" position="replace"> + <field name="analytics_id" groups="analytic.group_analytic_accounting"/> + </xpath> + </field> + </record> </data> </openerp> diff --git a/addons/account_anglo_saxon/test/anglo_saxon.yml b/addons/account_anglo_saxon/test/anglo_saxon.yml index 6e9ebc0068e..7c3983223b0 100644 --- a/addons/account_anglo_saxon/test/anglo_saxon.yml +++ b/addons/account_anglo_saxon/test/anglo_saxon.yml @@ -115,7 +115,7 @@ - product_id: product.product_product_3 product_qty: 1 price_unit: 10 - date_planned: '2013-08-31' + date_planned: !eval "'%s' % (time.strftime('%Y-%m-%d'))" - I confirm the purchase order. - @@ -235,7 +235,7 @@ As the Invoice state of the picking order is To be invoiced. I create invoice for my outgoing picking order. - !python {model: stock.invoice.onshipping}: | - wiz_id = self.create(cr, uid, {'invoice_date': '2013-03-04', 'journal_id': ref('account.sales_journal')}, + wiz_id = self.create(cr, uid, {'journal_id': ref('account.sales_journal')}, {'active_ids': [ref("stock_picking_out001")], "active_model": "stock.picking"}) self.create_invoice(cr, uid, [wiz_id], {"lang": "en_US", "search_default_available": 1, "tz": False, "active_model": "stock.picking", diff --git a/addons/account_anglo_saxon/test/anglo_saxon_avg_fifo.yml b/addons/account_anglo_saxon/test/anglo_saxon_avg_fifo.yml index f7d52f4f5a8..93afc48eb11 100644 --- a/addons/account_anglo_saxon/test/anglo_saxon_avg_fifo.yml +++ b/addons/account_anglo_saxon/test/anglo_saxon_avg_fifo.yml @@ -122,7 +122,7 @@ - product_id: product_fifo_anglo_saxon product_qty: 1 price_unit: 9 - date_planned: '2013-08-31' + date_planned: !eval "'%s' % (time.strftime('%Y-%m-%d'))" taxes_id: [] - I confirm the purchase order. @@ -237,7 +237,7 @@ As the Invoice state of the picking order is To be invoiced. I create invoice for my outgoing picking order. - !python {model: stock.invoice.onshipping}: | - wiz_id = self.create(cr, uid, {'invoice_date': '2013-03-04', 'journal_id': ref('account.sales_journal')}, + wiz_id = self.create(cr, uid, {'journal_id': ref('account.sales_journal')}, {'active_ids': [ref("stock_picking_out001_fifo")], "active_model": "stock.picking"}) self.create_invoice(cr, uid, [wiz_id], {"lang": "en_US", "search_default_available": 1, "tz": False, "active_model": "stock.picking", diff --git a/addons/account_chart/i18n/zh_TW.po b/addons/account_chart/i18n/zh_TW.po index f88ec1074c6..6d8077dbe9e 100644 --- a/addons/account_chart/i18n/zh_TW.po +++ b/addons/account_chart/i18n/zh_TW.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2011-01-11 11:14+0000\n" -"PO-Revision-Date: 2012-08-19 10:21+0000\n" -"Last-Translator: Eric Huang <eh@cenoq.com>\n" +"PO-Revision-Date: 2013-12-29 09:12+0000\n" +"Last-Translator: Andy Cheng <andy@dobtor.com>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-12 06:05+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-12-30 04:39+0000\n" +"X-Generator: Launchpad (build 16877)\n" #. module: account_chart #: model:ir.module.module,description:account_chart.module_meta_information msgid "Remove minimal account chart" -msgstr "移除小的會計科目表" +msgstr "移除最小的會計科目表" #. module: account_chart #: model:ir.module.module,shortdesc:account_chart.module_meta_information diff --git a/addons/account_check_writing/account_voucher.py b/addons/account_check_writing/account_voucher.py index 8e1ad2e1fbf..e4933708f7a 100644 --- a/addons/account_check_writing/account_voucher.py +++ b/addons/account_check_writing/account_voucher.py @@ -49,9 +49,21 @@ class account_voucher(osv.osv): if 'value' in default: amount = 'amount' in default['value'] and default['value']['amount'] or amount + # Currency complete name is not available in res.currency model + # Exceptions done here (EUR, USD, BRL) cover 75% of cases + # For other currencies, display the currency code + currency = self.pool['res.currency'].browse(cr, uid, currency_id, context=context) + if currency.name.upper() == 'EUR': + currency_name = 'Euro' + elif currency.name.upper() == 'USD': + currency_name = 'Dollars' + elif currency.name.upper() == 'BRL': + currency_name = 'reais' + else: + currency_name = currency.name #TODO : generic amount_to_text is not ready yet, otherwise language (and country) and currency can be passed #amount_in_word = amount_to_text(amount, context=context) - amount_in_word = amount_to_text(amount) + amount_in_word = amount_to_text(amount, currency=currency_name) default['value'].update({'amount_in_word':amount_in_word}) if journal_id: allow_check_writing = self.pool.get('account.journal').browse(cr, uid, journal_id, context=context).allow_check_writing diff --git a/addons/account_check_writing/i18n/zh_TW.po b/addons/account_check_writing/i18n/zh_TW.po index 25e18e7f8f2..541da1a1681 100644 --- a/addons/account_check_writing/i18n/zh_TW.po +++ b/addons/account_check_writing/i18n/zh_TW.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-08-22 06:48+0000\n" -"Last-Translator: Eric Huang <eh@cenoq.com>\n" +"PO-Revision-Date: 2013-12-29 09:09+0000\n" +"Last-Translator: Andy Cheng <andy@dobtor.com>\n" "Language-Team: Cenoq\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-12 06:35+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-12-30 04:39+0000\n" +"X-Generator: Launchpad (build 16877)\n" #. module: account_check_writing #: selection:res.company,check_layout:0 @@ -56,13 +56,13 @@ msgstr "支票位於底部" #. module: account_check_writing #: model:ir.actions.act_window,name:account_check_writing.action_account_check_write msgid "Print Check in Batch" -msgstr "" +msgstr "整批列印支票" #. module: account_check_writing #: code:addons/account_check_writing/wizard/account_check_batch_printing.py:59 #, python-format msgid "One of the printed check already got a number." -msgstr "" +msgstr "已列印的支票中有一張已有號碼。" #. module: account_check_writing #: help:account.journal,allow_check_writing:0 @@ -109,7 +109,7 @@ msgstr "原始金額" #. module: account_check_writing #: field:res.company,check_layout:0 msgid "Check Layout" -msgstr "" +msgstr "支票格式" #. module: account_check_writing #: field:account.voucher,allow_check:0 @@ -131,7 +131,7 @@ msgstr "使用套表列印的支票" #. module: account_check_writing #: model:ir.actions.report.xml,name:account_check_writing.account_print_check_bottom msgid "Print Check (Bottom)" -msgstr "" +msgstr "列印支票(底端)" #. module: account_check_writing #: model:ir.actions.act_window,help:account_check_writing.action_write_check @@ -160,7 +160,7 @@ msgstr "到期日期" #. module: account_check_writing #: model:ir.actions.report.xml,name:account_check_writing.account_print_check_middle msgid "Print Check (Middle)" -msgstr "" +msgstr "列印支票(中間)" #. module: account_check_writing #: model:ir.model,name:account_check_writing.model_res_company @@ -171,12 +171,12 @@ msgstr "公司" #: code:addons/account_check_writing/wizard/account_check_batch_printing.py:59 #, python-format msgid "Error!" -msgstr "" +msgstr "錯誤!" #. module: account_check_writing #: help:account.check.write,check_number:0 msgid "The number of the next check number to be printed." -msgstr "" +msgstr "下一張列印的支票的號碼" #. module: account_check_writing #: report:account.print.check.bottom:0 @@ -187,7 +187,7 @@ msgstr "截止餘額" #. module: account_check_writing #: model:ir.actions.report.xml,name:account_check_writing.account_print_check_top msgid "Print Check (Top)" -msgstr "" +msgstr "列印支票(頂端)" #. module: account_check_writing #: report:account.print.check.bottom:0 @@ -204,7 +204,7 @@ msgstr "手工憑證" #. module: account_check_writing #: view:account.check.write:0 msgid "or" -msgstr "" +msgstr "或" #. module: account_check_writing #: field:account.voucher,amount_in_word:0 @@ -214,22 +214,22 @@ msgstr "金額大寫" #. module: account_check_writing #: model:ir.model,name:account_check_writing.model_account_check_write msgid "Prin Check in Batch" -msgstr "" +msgstr "整批列印支票" #. module: account_check_writing #: view:account.check.write:0 msgid "Cancel" -msgstr "" +msgstr "取消" #. module: account_check_writing #: field:account.check.write,check_number:0 msgid "Next Check Number" -msgstr "" +msgstr "下一個支票號碼" #. module: account_check_writing #: view:account.check.write:0 msgid "Check" -msgstr "" +msgstr "支票" #~ msgid "" #~ "The check payment form allows you to track the payment you do to your " diff --git a/addons/account_check_writing/report/check_print.py b/addons/account_check_writing/report/check_print.py index 57360025623..add79fcc35a 100644 --- a/addons/account_check_writing/report/check_print.py +++ b/addons/account_check_writing/report/check_print.py @@ -34,7 +34,6 @@ class report_print_check(report_sxw.rml_parse): 'fill_stars' : self.fill_stars, }) def fill_stars(self, amount): - amount = amount.replace('Dollars','') if len(amount) < 100: stars = 100 - len(amount) return ' '.join([amount,'*'*stars]) diff --git a/addons/account_followup/i18n/zh_TW.po b/addons/account_followup/i18n/zh_TW.po index 26495b60a14..a0faebb475a 100644 --- a/addons/account_followup/i18n/zh_TW.po +++ b/addons/account_followup/i18n/zh_TW.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-08-24 12:49+0000\n" -"Last-Translator: Eric Huang <eh@cenoq.com>\n" +"PO-Revision-Date: 2013-12-24 10:29+0000\n" +"Last-Translator: Andy Cheng <andy@dobtor.com>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-12 05:21+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-12-25 06:02+0000\n" +"X-Generator: Launchpad (build 16877)\n" #. module: account_followup #: model:email.template,subject:account_followup.email_template_account_followup_default @@ -22,12 +22,12 @@ msgstr "" #: model:email.template,subject:account_followup.email_template_account_followup_level1 #: model:email.template,subject:account_followup.email_template_account_followup_level2 msgid "${user.company_id.name} Payment Reminder" -msgstr "" +msgstr "${user.company_id.name} 提醒付款" #. module: account_followup #: help:res.partner,latest_followup_level_id:0 msgid "The maximum follow-up level" -msgstr "" +msgstr "最大後續追蹤層級" #. module: account_followup #: view:account_followup.stat:0 @@ -48,13 +48,13 @@ msgstr "" #. module: account_followup #: field:res.partner,payment_next_action_date:0 msgid "Next Action Date" -msgstr "" +msgstr "下個動作日期" #. module: account_followup #: view:account_followup.followup.line:0 #: field:account_followup.followup.line,manual_action:0 msgid "Manual Action" -msgstr "" +msgstr "手動動作" #. module: account_followup #: field:account_followup.sending.results,needprinting:0 @@ -64,7 +64,7 @@ msgstr "" #. module: account_followup #: view:res.partner:0 msgid "⇾ Mark as Done" -msgstr "" +msgstr "⇾ 標為已完成" #. module: account_followup #: field:account_followup.followup.line,manual_action_note:0 @@ -104,17 +104,17 @@ msgstr "" #. module: account_followup #: view:account_followup.followup.line:0 msgid "Follow-up Steps" -msgstr "" +msgstr "後續追蹤步驟" #. module: account_followup #: field:account_followup.print,email_body:0 msgid "Email Body" -msgstr "" +msgstr "Email內文" #. module: account_followup #: model:ir.actions.act_window,name:account_followup.action_account_followup_print msgid "Send Follow-Ups" -msgstr "" +msgstr "送出後續追蹤" #. module: account_followup #: report:account_followup.followup.print:0 @@ -133,7 +133,7 @@ msgstr "" #. module: account_followup #: view:res.partner:0 msgid "No Responsible" -msgstr "" +msgstr "沒有負責人" #. module: account_followup #: model:account_followup.followup.line,description:account_followup.demo_followup_line2 @@ -209,17 +209,17 @@ msgstr "借方合計" #. module: account_followup #: field:res.partner,payment_next_action:0 msgid "Next Action" -msgstr "" +msgstr "下個動作" #. module: account_followup #: view:account_followup.followup.line:0 msgid ": Partner Name" -msgstr "" +msgstr "業務夥伴名稱" #. module: account_followup #: field:account_followup.followup.line,manual_action_responsible_id:0 msgid "Assign a Responsible" -msgstr "" +msgstr "指定一負責人" #. module: account_followup #: view:account_followup.followup:0 @@ -269,7 +269,7 @@ msgstr "合夥人" #. module: account_followup #: sql_constraint:account_followup.followup:0 msgid "Only one follow-up per company is allowed" -msgstr "" +msgstr "一間公司僅允許一項後續追蹤" #. module: account_followup #: code:addons/account_followup/wizard/account_followup_print.py:254 @@ -300,7 +300,7 @@ msgstr "" #. module: account_followup #: model:ir.actions.act_window,name:account_followup.action_customer_followup msgid "Manual Follow-Ups" -msgstr "" +msgstr "手動後續追蹤" #. module: account_followup #: view:account_followup.followup.line:0 @@ -356,12 +356,12 @@ msgstr "借方" #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_stat msgid "Follow-up Statistics" -msgstr "" +msgstr "後續追蹤統計分析" #. module: account_followup #: view:res.partner:0 msgid "Send Overdue Email" -msgstr "" +msgstr "送出帳務逾期通知信" #. module: account_followup #: model:ir.model,name:account_followup.model_account_followup_followup_line diff --git a/addons/account_payment/account_payment_view.xml b/addons/account_payment/account_payment_view.xml index f66f02a6d12..e49d6dfe93b 100644 --- a/addons/account_payment/account_payment_view.xml +++ b/addons/account_payment/account_payment_view.xml @@ -41,7 +41,7 @@ <field name="journal"/> <field name="bank_id" domain="[('partner_id','=',partner_id)]" /> <field name="company_id" widget='selection' groups="base.group_multi_company" on_change="onchange_company_id(company_id)"/> - <field name="partner_id" widget='selection' invisible="1"/> + <field name="partner_id" invisible="1"/> </group> </form> </field> diff --git a/addons/account_payment/i18n/zh_TW.po b/addons/account_payment/i18n/zh_TW.po index 5c206a238c1..aee33acd84c 100644 --- a/addons/account_payment/i18n/zh_TW.po +++ b/addons/account_payment/i18n/zh_TW.po @@ -7,14 +7,14 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2012-08-29 15:27+0000\n" -"Last-Translator: Eric Huang <eh@cenoq.com>\n" +"PO-Revision-Date: 2013-12-29 09:05+0000\n" +"Last-Translator: Andy Cheng <andy@dobtor.com>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-12 05:48+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-12-30 04:39+0000\n" +"X-Generator: Launchpad (build 16877)\n" #. module: account_payment #: model:ir.actions.act_window,help:account_payment.action_payment_order_tree @@ -106,7 +106,7 @@ msgstr "到期日" #. module: account_payment #: view:payment.order.create:0 msgid "_Add to payment order" -msgstr "" +msgstr "新增至付款單" #. module: account_payment #: model:ir.actions.act_window,name:account_payment.action_account_payment_populate_statement @@ -127,7 +127,7 @@ msgstr "" #: code:addons/account_payment/account_move_line.py:110 #, python-format msgid "Error!" -msgstr "" +msgstr "錯誤!" #. module: account_payment #: report:payment.order:0 @@ -148,7 +148,7 @@ msgstr "取消" #. module: account_payment #: model:ir.actions.act_window,name:account_payment.action_payment_order_tree_new msgid "New Payment Order" -msgstr "" +msgstr "新增付款單" #. module: account_payment #: report:payment.order:0 @@ -165,12 +165,12 @@ msgstr "" #: model:ir.actions.act_window,name:account_payment.action_payment_order_tree #: model:ir.ui.menu,name:account_payment.menu_action_payment_order_form msgid "Payment Orders" -msgstr "" +msgstr "付款單" #. module: account_payment #: selection:payment.order,date_prefered:0 msgid "Directly" -msgstr "" +msgstr "直接" #. module: account_payment #: model:ir.actions.act_window,name:account_payment.action_payment_line_form @@ -217,7 +217,7 @@ msgstr "" #. module: account_payment #: view:account.bank.statement:0 msgid "Import Payment Lines" -msgstr "" +msgstr "匯入付款細項" #. module: account_payment #: view:payment.line:0 @@ -256,17 +256,17 @@ msgstr "" #. module: account_payment #: field:payment.order,date_created:0 msgid "Creation Date" -msgstr "" +msgstr "建立日期" #. module: account_payment #: help:payment.mode,journal:0 msgid "Bank or Cash Journal for the Payment Mode" -msgstr "" +msgstr "付款模式的銀行或現金日記帳簿" #. module: account_payment #: selection:payment.order,date_prefered:0 msgid "Fixed date" -msgstr "" +msgstr "固定日期" #. module: account_payment #: field:payment.line,info_partner:0 @@ -282,12 +282,12 @@ msgstr "目的帳號" #. module: account_payment #: view:payment.order:0 msgid "Search Payment Orders" -msgstr "" +msgstr "搜尋付款單" #. module: account_payment #: field:payment.line,create_date:0 msgid "Created" -msgstr "" +msgstr "已建立" #. module: account_payment #: view:payment.order:0 @@ -394,7 +394,7 @@ msgstr "草稿" #: view:payment.order:0 #: field:payment.order,state:0 msgid "Status" -msgstr "" +msgstr "狀態" #. module: account_payment #: help:payment.line,communication2:0 @@ -424,7 +424,7 @@ msgstr "付款明細" #. module: account_payment #: model:ir.model,name:account_payment.model_account_move_line msgid "Journal Items" -msgstr "" +msgstr "日記簿項目" #. module: account_payment #: help:payment.line,move_line_id:0 @@ -441,7 +441,7 @@ msgstr "搜尋" #. module: account_payment #: field:payment.order,user_id:0 msgid "Responsible" -msgstr "" +msgstr "負責人" #. module: account_payment #: field:payment.line,date:0 @@ -456,7 +456,7 @@ msgstr "總計:" #. module: account_payment #: field:payment.order,date_done:0 msgid "Execution Date" -msgstr "" +msgstr "執行日期" #. module: account_payment #: view:account.payment.populate.statement:0 @@ -501,7 +501,7 @@ msgstr "您的參考" #. module: account_payment #: view:payment.order:0 msgid "Payment order" -msgstr "" +msgstr "付款單" #. module: account_payment #: view:payment.line:0 @@ -535,7 +535,7 @@ msgstr "取消" #. module: account_payment #: field:payment.line,bank_id:0 msgid "Destination Bank Account" -msgstr "" +msgstr "目的銀行帳戶" #. module: account_payment #: view:payment.line:0 @@ -548,7 +548,7 @@ msgstr "資訊" #: model:ir.model,name:account_payment.model_payment_order #: view:payment.order:0 msgid "Payment Order" -msgstr "" +msgstr "付款單" #. module: account_payment #: help:payment.line,amount:0 @@ -573,7 +573,7 @@ msgstr "通訊 2" #. module: account_payment #: field:payment.order,date_scheduled:0 msgid "Scheduled Date" -msgstr "" +msgstr "預定日期" #. module: account_payment #: view:account.payment.make.payment:0 @@ -584,7 +584,7 @@ msgstr "是否進行付款?" #: view:payment.mode:0 #: field:payment.mode,journal:0 msgid "Journal" -msgstr "" +msgstr "帳簿" #. module: account_payment #: field:payment.mode,bank_id:0 @@ -612,12 +612,12 @@ msgstr "付款" #. module: account_payment #: report:payment.order:0 msgid "Payment Order / Payment" -msgstr "" +msgstr "付款單 / 付款" #. module: account_payment #: field:payment.line,move_line_id:0 msgid "Entry line" -msgstr "" +msgstr "分錄細項" #. module: account_payment #: help:payment.line,communication:0 @@ -640,7 +640,7 @@ msgstr "銀行帳戶" #: view:payment.line:0 #: view:payment.order:0 msgid "Entry Information" -msgstr "" +msgstr "分錄資訊" #. module: account_payment #: model:ir.model,name:account_payment.model_payment_order_create @@ -673,7 +673,7 @@ msgstr "" #: view:account.payment.populate.statement:0 #: view:payment.order.create:0 msgid "or" -msgstr "" +msgstr "或" #. module: account_payment #: help:payment.mode,bank_id:0 diff --git a/addons/account_voucher/account_voucher.py b/addons/account_voucher/account_voucher.py index ef4c9379c82..d6ad6efdd90 100644 --- a/addons/account_voucher/account_voucher.py +++ b/addons/account_voucher/account_voucher.py @@ -746,7 +746,7 @@ class account_voucher(osv.osv): ids = context['move_line_ids'] invoice_id = context.get('invoice_id', False) company_currency = journal.company_id.currency_id.id - move_line_found = False + move_lines_found = [] #order the lines by most old first ids.reverse() @@ -761,21 +761,20 @@ class account_voucher(osv.osv): if line.invoice.id == invoice_id: #if the invoice linked to the voucher line is equal to the invoice_id in context #then we assign the amount on that line, whatever the other voucher lines - move_line_found = line.id - break + move_lines_found.append(line.id) elif currency_id == company_currency: #otherwise treatments is the same but with other field names if line.amount_residual == price: #if the amount residual is equal the amount voucher, we assign it to that voucher #line, whatever the other voucher lines - move_line_found = line.id + move_lines_found.append(line.id) break #otherwise we will split the voucher amount on each line (by most old first) total_credit += line.credit or 0.0 total_debit += line.debit or 0.0 elif currency_id == line.currency_id.id: if line.amount_residual_currency == price: - move_line_found = line.id + move_lines_found.append(line.id) break total_credit += line.credit and line.amount_currency or 0.0 total_debit += line.debit and line.amount_currency or 0.0 @@ -800,15 +799,16 @@ class account_voucher(osv.osv): 'move_line_id':line.id, 'account_id':line.account_id.id, 'amount_original': amount_original, - 'amount': (move_line_found == line.id) and min(abs(price), amount_unreconciled) or 0.0, + 'amount': (line.id in move_lines_found) and min(abs(price), amount_unreconciled) or 0.0, 'date_original':line.date, 'date_due':line.date_maturity, 'amount_unreconciled': amount_unreconciled, 'currency_id': line_currency_id, } + price -= rs['amount'] #in case a corresponding move_line hasn't been found, we now try to assign the voucher amount #on existing invoices: we split voucher amount by most old first, but only for lines in the same currency - if not move_line_found: + if not move_lines_found: if currency_id == line_currency_id: if line.credit: amount = min(amount_unreconciled, abs(total_debit)) diff --git a/addons/account_voucher/i18n/zh_TW.po b/addons/account_voucher/i18n/zh_TW.po index 2c78874dd2b..4e28fedc51b 100644 --- a/addons/account_voucher/i18n/zh_TW.po +++ b/addons/account_voucher/i18n/zh_TW.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2012-08-28 02:30+0000\n" -"Last-Translator: Eric Huang <eh@cenoq.com>\n" +"PO-Revision-Date: 2013-12-29 08:26+0000\n" +"Last-Translator: Andy Cheng <andy@dobtor.com>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-12 05:59+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-12-30 04:39+0000\n" +"X-Generator: Launchpad (build 16877)\n" #. module: account_voucher #: field:account.bank.statement.line,voucher_id:0 msgid "Reconciliation" -msgstr "" +msgstr "核銷" #. module: account_voucher #: model:ir.model,name:account_voucher.model_account_config_settings @@ -63,7 +63,7 @@ msgstr "計算公式 : 憑證上输入的金额 - 憑證行的金额合計." #. module: account_voucher #: view:account.voucher:0 msgid "(Update)" -msgstr "" +msgstr "(更新)" #. module: account_voucher #: view:account.voucher:0 @@ -90,7 +90,7 @@ msgstr "三月" #. module: account_voucher #: field:account.voucher,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "未讀訊息" #. module: account_voucher #: view:account.voucher:0 @@ -100,7 +100,7 @@ msgstr "付賬" #. module: account_voucher #: view:account.voucher:0 msgid "Are you sure you want to cancel this receipt?" -msgstr "" +msgstr "你確定要取消這張收據嗎?" #. module: account_voucher #: view:account.voucher:0 @@ -121,7 +121,7 @@ msgstr "依發票年份分組" #: view:sale.receipt.report:0 #: field:sale.receipt.report,user_id:0 msgid "Salesperson" -msgstr "" +msgstr "業務人員" #. module: account_voucher #: view:account.voucher:0 @@ -134,7 +134,7 @@ msgstr "換領券統計" msgid "" "You can not change the journal as you already reconciled some statement " "lines!" -msgstr "" +msgstr "你已經核銷部分項目,所以無法變更日記帳簿!" #. module: account_voucher #: view:account.voucher:0 @@ -145,7 +145,7 @@ msgstr "驗證" #: model:ir.actions.act_window,name:account_voucher.action_vendor_payment #: model:ir.ui.menu,name:account_voucher.menu_action_vendor_payment msgid "Supplier Payments" -msgstr "" +msgstr "供應商付款" #. module: account_voucher #: model:ir.actions.act_window,help:account_voucher.action_purchase_receipt @@ -207,13 +207,13 @@ msgstr "備註" #. module: account_voucher #: field:account.voucher,message_ids:0 msgid "Messages" -msgstr "" +msgstr "訊息" #. module: account_voucher #: model:ir.actions.act_window,name:account_voucher.action_purchase_receipt #: model:ir.ui.menu,name:account_voucher.menu_action_purchase_receipt msgid "Purchase Receipts" -msgstr "" +msgstr "採購單據" #. module: account_voucher #: field:account.voucher.line,move_line_id:0 @@ -225,7 +225,7 @@ msgstr "會計憑證行" #: code:addons/account_voucher/account_voucher.py:1073 #, python-format msgid "Error!" -msgstr "" +msgstr "錯誤!" #. module: account_voucher #: field:account.voucher.line,amount:0 @@ -271,7 +271,7 @@ msgstr "" #. module: account_voucher #: help:account.voucher,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "當有新訊息時通知您。" #. module: account_voucher #: model:ir.model,name:account_voucher.model_account_bank_statement_line @@ -294,7 +294,7 @@ msgstr "稅" #: code:addons/account_voucher/account_voucher.py:971 #, python-format msgid "Invalid Action!" -msgstr "" +msgstr "無效的動作!" #. module: account_voucher #: field:account.voucher,comment:0 @@ -326,7 +326,7 @@ msgstr "付款資料" #. module: account_voucher #: view:account.voucher:0 msgid "(update)" -msgstr "" +msgstr "(更新)" #. module: account_voucher #: view:account.voucher:0 @@ -395,7 +395,7 @@ msgstr "供應商換領券" #. module: account_voucher #: field:account.voucher,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "關注者" #. module: account_voucher #: selection:account.voucher.line,type:0 @@ -406,7 +406,7 @@ msgstr "借方" #: code:addons/account_voucher/account_voucher.py:1641 #, python-format msgid "Unable to change journal !" -msgstr "" +msgstr "無法變更日記帳簿!" #. module: account_voucher #: view:sale.receipt.report:0 @@ -544,7 +544,7 @@ msgstr "" #: field:account.config.settings,expense_currency_exchange_account_id:0 #: field:res.company,expense_currency_exchange_account_id:0 msgid "Loss Exchange Rate Account" -msgstr "" +msgstr "匯損科目" #. module: account_voucher #: view:account.voucher:0 @@ -587,7 +587,7 @@ msgstr "支出明細" #. module: account_voucher #: view:account.voucher:0 msgid "Sale voucher" -msgstr "" +msgstr "銷售單據" #. module: account_voucher #: help:account.voucher,is_multi_currency:0 @@ -599,7 +599,7 @@ msgstr "此字段由系統內部使用,區分該憑證是否涉及外幣" #. module: account_voucher #: view:account.invoice:0 msgid "Register Payment" -msgstr "" +msgstr "登記付款紀錄" #. module: account_voucher #: field:account.statement.from.invoice.lines,line_ids:0 @@ -638,17 +638,17 @@ msgstr "應收應付" #. module: account_voucher #: view:account.voucher:0 msgid "Voucher Payment" -msgstr "" +msgstr "付款單據" #. module: account_voucher #: field:sale.receipt.report,state:0 msgid "Voucher Status" -msgstr "" +msgstr "單據狀態" #. module: account_voucher #: view:account.voucher:0 msgid "Are you sure to unreconcile this record?" -msgstr "" +msgstr "你是否要取消核銷此紀錄?" #. module: account_voucher #: field:account.voucher,company_id:0 @@ -672,7 +672,7 @@ msgstr "核銷付款餘額" #: code:addons/account_voucher/account_voucher.py:1067 #, python-format msgid "Configuration Error !" -msgstr "" +msgstr "設置錯誤!" #. module: account_voucher #: view:account.voucher:0 @@ -689,14 +689,14 @@ msgstr "連稅總額" #. module: account_voucher #: view:account.voucher:0 msgid "Purchase Voucher" -msgstr "" +msgstr "採購單據" #. module: account_voucher #: view:account.voucher:0 #: field:account.voucher,state:0 #: view:sale.receipt.report:0 msgid "Status" -msgstr "" +msgstr "狀態" #. module: account_voucher #: view:account.voucher:0 @@ -707,7 +707,7 @@ msgstr "分配" #: view:account.statement.from.invoice.lines:0 #: view:account.voucher:0 msgid "or" -msgstr "" +msgstr "或" #. module: account_voucher #: selection:sale.receipt.report,month:0 @@ -717,7 +717,7 @@ msgstr "八月" #. module: account_voucher #: view:account.voucher:0 msgid "Validate Payment" -msgstr "" +msgstr "認可付款" #. module: account_voucher #: help:account.voucher,audit:0 @@ -756,12 +756,12 @@ msgstr "已付款" #: model:ir.actions.act_window,name:account_voucher.action_sale_receipt #: model:ir.ui.menu,name:account_voucher.menu_action_sale_receipt msgid "Sales Receipts" -msgstr "" +msgstr "銷售收據" #. module: account_voucher #: field:account.voucher,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "為關注者" #. module: account_voucher #: field:account.voucher,analytic_id:0 @@ -815,7 +815,7 @@ msgstr "預付款?" #: code:addons/account_voucher/account_voucher.py:1208 #, python-format msgid "The invoice you are willing to pay is not valid anymore." -msgstr "" +msgstr "你要付款的發票已經不再有效。" #. module: account_voucher #: selection:sale.receipt.report,month:0 @@ -836,12 +836,12 @@ msgstr "公司" #. module: account_voucher #: field:account.voucher,message_summary:0 msgid "Summary" -msgstr "" +msgstr "摘要" #. module: account_voucher #: field:account.voucher,active:0 msgid "Active" -msgstr "" +msgstr "啟用" #. module: account_voucher #: code:addons/account_voucher/account_voucher.py:1074 @@ -854,14 +854,14 @@ msgstr "" #: model:ir.actions.act_window,name:account_voucher.action_vendor_receipt #: model:ir.ui.menu,name:account_voucher.menu_action_vendor_receipt msgid "Customer Payments" -msgstr "" +msgstr "客戶付款" #. module: account_voucher #: model:ir.actions.act_window,name:account_voucher.action_sale_receipt_report_all #: model:ir.ui.menu,name:account_voucher.menu_action_sale_receipt_report_all #: view:sale.receipt.report:0 msgid "Sales Receipts Analysis" -msgstr "" +msgstr "銷售收據分析" #. module: account_voucher #: view:sale.receipt.report:0 @@ -956,7 +956,7 @@ msgstr "取消" #. module: account_voucher #: model:ir.actions.client,name:account_voucher.action_client_invoice_menu msgid "Open Invoicing Menu" -msgstr "" +msgstr "開啟發票開立選單" #. module: account_voucher #: selection:account.voucher,state:0 @@ -1044,7 +1044,7 @@ msgstr "五月" #. module: account_voucher #: view:account.voucher:0 msgid "Sale Receipt" -msgstr "" +msgstr "銷售收據" #. module: account_voucher #: view:account.voucher:0 @@ -1129,7 +1129,7 @@ msgstr "年份" #: field:account.config.settings,income_currency_exchange_account_id:0 #: field:res.company,income_currency_exchange_account_id:0 msgid "Gain Exchange Rate Account" -msgstr "" +msgstr "匯益科目" #. module: account_voucher #: selection:account.voucher,type:0 @@ -1155,7 +1155,7 @@ msgstr "預設類型" #. module: account_voucher #: help:account.voucher,message_ids:0 msgid "Messages and communication history" -msgstr "" +msgstr "訊息及聯絡紀錄" #. module: account_voucher #: model:ir.model,name:account_voucher.model_account_statement_from_invoice_lines @@ -1194,7 +1194,7 @@ msgstr "會計分錄的生效日期" #. module: account_voucher #: model:mail.message.subtype,name:account_voucher.mt_voucher_state_change msgid "Status Change" -msgstr "" +msgstr "狀態變更" #. module: account_voucher #: selection:account.voucher,payment_option:0 @@ -1241,14 +1241,14 @@ msgstr "未結餘額" #. module: account_voucher #: model:mail.message.subtype,description:account_voucher.mt_voucher_state_change msgid "Status <b>changed</b>" -msgstr "" +msgstr "狀態<b>已變更</b>" #. module: account_voucher #: code:addons/account_voucher/account_voucher.py:1106 #: code:addons/account_voucher/account_voucher.py:1110 #, python-format msgid "Insufficient Configuration!" -msgstr "" +msgstr "設置不夠完整!" #. module: account_voucher #: help:account.voucher,active:0 diff --git a/addons/auth_crypt/i18n/zh_TW.po b/addons/auth_crypt/i18n/zh_TW.po index 0c086e1d093..054d69c1311 100644 --- a/addons/auth_crypt/i18n/zh_TW.po +++ b/addons/auth_crypt/i18n/zh_TW.po @@ -1,43 +1,28 @@ # Chinese (Traditional) translation for openobject-addons -# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011 +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 # This file is distributed under the same license as the openobject-addons package. -# FIRST AUTHOR <EMAIL@ADDRESS>, 2011. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. # msgid "" msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" -"POT-Creation-Date: 2012-12-03 16:03+0000\n" -"PO-Revision-Date: 2012-08-19 10:28+0000\n" -"Last-Translator: Eric Huang <eh@cenoq.com>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-12-29 17:06+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: Chinese (Traditional) <zh_TW@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2012-12-04 05:53+0000\n" -"X-Generator: Launchpad (build 16335)\n" +"X-Launchpad-Export-Date: 2013-12-30 04:39+0000\n" +"X-Generator: Launchpad (build 16877)\n" -#. module: base_crypt -#: model:ir.model,name:base_crypt.model_res_users -msgid "Users" -msgstr "" - -#~ msgid "Base - Password Encryption" -#~ msgstr "基礎 - 密碼加密" - -#, python-format -#~ msgid "Please specify the password !" -#~ msgstr "請指定密碼 !" +#. module: auth_crypt +#: field:res.users,password_crypt:0 +msgid "Encrypted Password" +msgstr "已加密的密碼" -#~ msgid "You can not have two users with the same login !" -#~ msgstr "您不能同時登入二個使用者!" - -#, python-format -#~ msgid "Error" -#~ msgstr "錯誤" - -#~ msgid "The chosen company is not in the allowed companies for this user" -#~ msgstr "所選的公司不是使用者被允許的公司。" - -#~ msgid "res.users" -#~ msgstr "res.users" +#. module: auth_crypt +#: model:ir.model,name:auth_crypt.model_res_users +msgid "Users" +msgstr "使用者" diff --git a/addons/auth_signup/i18n/zh_TW.po b/addons/auth_signup/i18n/zh_TW.po index b16d2be5abf..506ef4fac35 100644 --- a/addons/auth_signup/i18n/zh_TW.po +++ b/addons/auth_signup/i18n/zh_TW.po @@ -8,14 +8,14 @@ msgstr "" "Project-Id-Version: openobject-addons\n" "Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" "POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2013-09-19 09:40+0000\n" -"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"PO-Revision-Date: 2013-12-29 09:17+0000\n" +"Last-Translator: Andy Cheng <andy@dobtor.com>\n" "Language-Team: Chinese (Traditional) <zh_TW@li.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-20 05:38+0000\n" -"X-Generator: Launchpad (build 16765)\n" +"X-Launchpad-Export-Date: 2013-12-30 04:39+0000\n" +"X-Generator: Launchpad (build 16877)\n" #. module: auth_signup #: field:res.partner,signup_type:0 @@ -66,19 +66,19 @@ msgstr "" #. module: auth_signup #: model:email.template,subject:auth_signup.reset_password_email msgid "Password reset" -msgstr "" +msgstr "密碼重設" #. module: auth_signup #. openerp-web #: code:addons/auth_signup/static/src/js/auth_signup.js:120 #, python-format msgid "Please enter a password and confirm it." -msgstr "" +msgstr "請輸入密碼並確認" #. module: auth_signup #: view:res.users:0 msgid "Send an email to the user to (re)set their password." -msgstr "" +msgstr "寄出密碼重設電子郵件給該使用者" #. module: auth_signup #. openerp-web @@ -86,23 +86,23 @@ msgstr "" #: code:addons/auth_signup/static/src/xml/auth_signup.xml:29 #, python-format msgid "Sign Up" -msgstr "" +msgstr "註冊" #. module: auth_signup #: selection:res.users,state:0 msgid "New" -msgstr "" +msgstr "新增" #. module: auth_signup #: code:addons/auth_signup/res_users.py:258 #, python-format msgid "Mail sent to:" -msgstr "" +msgstr "信件已寄給:" #. module: auth_signup #: field:res.users,state:0 msgid "Status" -msgstr "" +msgstr "狀態" #. module: auth_signup #: model:email.template,body_html:auth_signup.reset_password_email @@ -122,29 +122,29 @@ msgstr "" #: code:addons/auth_signup/static/src/js/auth_signup.js:114 #, python-format msgid "Please enter a name." -msgstr "" +msgstr "請輸入名字" #. module: auth_signup #: model:ir.model,name:auth_signup.model_res_users msgid "Users" -msgstr "" +msgstr "使用者" #. module: auth_signup #: field:res.partner,signup_url:0 msgid "Signup URL" -msgstr "" +msgstr "註冊網址" #. module: auth_signup #. openerp-web #: code:addons/auth_signup/static/src/js/auth_signup.js:117 #, python-format msgid "Please enter a username." -msgstr "" +msgstr "請輸入使用者名稱。" #. module: auth_signup #: selection:res.users,state:0 msgid "Active" -msgstr "" +msgstr "啟用" #. module: auth_signup #: code:addons/auth_signup/res_users.py:270 @@ -159,26 +159,26 @@ msgstr "" #: code:addons/auth_signup/static/src/xml/auth_signup.xml:12 #, python-format msgid "Username" -msgstr "" +msgstr "使用者名稱" #. module: auth_signup #. openerp-web #: code:addons/auth_signup/static/src/xml/auth_signup.xml:8 #, python-format msgid "Name" -msgstr "" +msgstr "名稱" #. module: auth_signup #. openerp-web #: code:addons/auth_signup/static/src/js/auth_signup.js:173 #, python-format msgid "Please enter a username or email address." -msgstr "" +msgstr "請輸入使用者名稱或電子郵件地址" #. module: auth_signup #: selection:res.users,state:0 msgid "Resetting Password" -msgstr "" +msgstr "重設密碼中" #. module: auth_signup #. openerp-web @@ -202,7 +202,7 @@ msgstr "" #: code:addons/auth_signup/static/src/xml/auth_signup.xml:25 #, python-format msgid "Log in" -msgstr "" +msgstr "登入" #. module: auth_signup #: field:res.partner,signup_valid:0 @@ -220,7 +220,7 @@ msgstr "" #: code:addons/auth_signup/static/src/js/auth_signup.js:173 #, python-format msgid "Login" -msgstr "" +msgstr "登入" #. module: auth_signup #. openerp-web @@ -242,36 +242,36 @@ msgstr "" #: code:addons/auth_signup/static/src/js/auth_signup.js:170 #, python-format msgid "No database selected !" -msgstr "" +msgstr "未選定資料庫!" #. module: auth_signup #: view:res.users:0 msgid "Reset Password" -msgstr "" +msgstr "重設密碼" #. module: auth_signup #: field:base.config.settings,auth_signup_reset_password:0 msgid "Enable password reset from Login page" -msgstr "" +msgstr "於登入頁面啟用密碼重設" #. module: auth_signup #. openerp-web #: code:addons/auth_signup/static/src/xml/auth_signup.xml:30 #, python-format msgid "Back to Login" -msgstr "" +msgstr "返回登入畫面" #. module: auth_signup #. openerp-web #: code:addons/auth_signup/static/src/xml/auth_signup.xml:22 #, python-format msgid "Sign up" -msgstr "" +msgstr "註冊" #. module: auth_signup #: model:ir.model,name:auth_signup.model_res_partner msgid "Partner" -msgstr "" +msgstr "業務夥伴" #. module: auth_signup #: field:res.partner,signup_token:0 diff --git a/addons/base_action_rule/base_action_rule.py b/addons/base_action_rule/base_action_rule.py index 59d61ba5b67..0d98030e800 100644 --- a/addons/base_action_rule/base_action_rule.py +++ b/addons/base_action_rule/base_action_rule.py @@ -23,6 +23,7 @@ from datetime import datetime, timedelta import time import logging +import openerp from openerp import SUPERUSER_ID from openerp.osv import fields, osv from openerp.tools import DEFAULT_SERVER_DATETIME_FORMAT @@ -222,6 +223,7 @@ class base_action_rule(osv.osv): def create(self, cr, uid, vals, context=None): res_id = super(base_action_rule, self).create(cr, uid, vals, context=context) self._register_hook(cr, [res_id]) + openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname) return res_id def write(self, cr, uid, ids, vals, context=None): @@ -229,6 +231,7 @@ class base_action_rule(osv.osv): ids = [ids] super(base_action_rule, self).write(cr, uid, ids, vals, context=context) self._register_hook(cr, ids) + openerp.modules.registry.RegistryManager.signal_registry_change(cr.dbname) return True def onchange_model_id(self, cr, uid, ids, model_id, context=None): diff --git a/addons/base_action_rule/i18n/he.po b/addons/base_action_rule/i18n/he.po new file mode 100644 index 00000000000..49d917c2665 --- /dev/null +++ b/addons/base_action_rule/i18n/he.po @@ -0,0 +1,313 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-12-30 18:37+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: base_action_rule +#: selection:base.action.rule.lead.test,state:0 +msgid "In Progress" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "" +"- In this same \"Search\" view, select the menu \"Save Current Filter\", " +"enter the name (Ex: Create the 01/01/2012) and add the option \"Share with " +"all users\"" +msgstr "" + +#. module: base_action_rule +#: model:ir.model,name:base_action_rule.model_base_action_rule +msgid "Action Rules" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Select a filter or a timer as condition." +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule.lead.test,user_id:0 +msgid "Responsible" +msgstr "" + +#. module: base_action_rule +#: help:base.action.rule,server_action_ids:0 +msgid "Examples: email reminders, call object service, etc." +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,act_followers:0 +msgid "Add Followers" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,act_user_id:0 +msgid "Set Responsible" +msgstr "" + +#. module: base_action_rule +#: help:base.action.rule,trg_date_range:0 +msgid "" +"Delay after the trigger date.You can put a negative number if you need a " +"delay before thetrigger date, like sending a reminder 15 minutes before a " +"meeting." +msgstr "" + +#. module: base_action_rule +#: model:ir.model,name:base_action_rule.model_base_action_rule_lead_test +msgid "base.action.rule.lead.test" +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule.lead.test,state:0 +msgid "Closed" +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule.lead.test,state:0 +msgid "New" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,trg_date_range:0 +msgid "Delay after trigger date" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Conditions" +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule.lead.test,state:0 +msgid "Pending" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule.lead.test,state:0 +msgid "Status" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,filter_pre_id:0 +msgid "Before Update Filter" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Action Rule" +msgstr "" + +#. module: base_action_rule +#: help:base.action.rule,filter_id:0 +msgid "" +"If present, this condition must be satisfied after the update of the record." +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Fields to Change" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "The filter must therefore be available in this page." +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,filter_id:0 +msgid "After Update Filter" +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_range_type:0 +msgid "Hours" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "To create a new filter:" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,active:0 +#: field:base.action.rule.lead.test,active:0 +msgid "Active" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Delay After Trigger Date" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "" +"An action rule is checked when you create or modify the \"Related Document " +"Model\". The precondition filter is checked right before the modification " +"while the postcondition filter is checked after the modification. A " +"precondition filter will therefore not work during a creation." +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Filter Condition" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "" +"- Go to your \"Related Document Model\" page and set the filter parameters " +"in the \"Search\" view (Example of filter based on Leads/Opportunities: " +"Creation Date \"is equal to\" 01/01/2012)" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,name:0 +msgid "Rule Name" +msgstr "" + +#. module: base_action_rule +#: model:ir.actions.act_window,name:base_action_rule.base_action_rule_act +#: model:ir.ui.menu,name:base_action_rule.menu_base_action_rule_form +msgid "Automated Actions" +msgstr "" + +#. module: base_action_rule +#: help:base.action.rule,sequence:0 +msgid "Gives the sequence order when displaying a list of rules." +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_range_type:0 +msgid "Months" +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_range_type:0 +msgid "Days" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Timer" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,trg_date_range_type:0 +msgid "Delay type" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Server actions to run" +msgstr "" + +#. module: base_action_rule +#: help:base.action.rule,active:0 +msgid "When unchecked, the rule is hidden and will not be executed." +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule.lead.test,state:0 +msgid "Cancelled" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,model:0 +msgid "Model" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,last_run:0 +msgid "Last Run" +msgstr "" + +#. module: base_action_rule +#: selection:base.action.rule,trg_date_range_type:0 +msgid "Minutes" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,model_id:0 +msgid "Related Document Model" +msgstr "" + +#. module: base_action_rule +#: help:base.action.rule,filter_pre_id:0 +msgid "" +"If present, this condition must be satisfied before the update of the record." +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +msgid "Actions" +msgstr "" + +#. module: base_action_rule +#: model:ir.actions.act_window,help:base_action_rule.base_action_rule_act +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to setup a new automated action rule. \n" +" </p><p>\n" +" Use automated actions to automatically trigger actions for\n" +" various screens. Example: a lead created by a specific user " +"may\n" +" be automatically set to a specific sales team, or an\n" +" opportunity which still has status pending after 14 days " +"might\n" +" trigger an automatic reminder email.\n" +" </p>\n" +" " +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,create_date:0 +msgid "Create Date" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule.lead.test,date_action_last:0 +msgid "Last Action" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule.lead.test,partner_id:0 +msgid "Partner" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule,trg_date_id:0 +msgid "Trigger Date" +msgstr "" + +#. module: base_action_rule +#: view:base.action.rule:0 +#: field:base.action.rule,server_action_ids:0 +msgid "Server Actions" +msgstr "" + +#. module: base_action_rule +#: field:base.action.rule.lead.test,name:0 +msgid "Subject" +msgstr "" diff --git a/addons/base_calendar/i18n/he.po b/addons/base_calendar/i18n/he.po new file mode 100644 index 00000000000..c0a729b6507 --- /dev/null +++ b/addons/base_calendar/i18n/he.po @@ -0,0 +1,1602 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2014-01-03 02:56+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2014-01-04 05:42+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: base_calendar +#: selection:calendar.alarm,trigger_related:0 +#: selection:res.alarm,trigger_related:0 +msgid "The event starts" +msgstr "האירוע מתחיל" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "My Events" +msgstr "האירועים שלי" + +#. module: base_calendar +#: help:calendar.event,exdate:0 +#: help:calendar.todo,exdate:0 +#: help:crm.meeting,exdate:0 +msgid "" +"This property defines the list of date/time exceptions for a recurring " +"calendar component." +msgstr "" + +#. module: base_calendar +#: selection:calendar.event,rrule_type:0 +#: selection:calendar.todo,rrule_type:0 +#: selection:crm.meeting,rrule_type:0 +msgid "Week(s)" +msgstr "שבוע(ות)" + +#. module: base_calendar +#: field:calendar.event,we:0 +#: field:calendar.todo,we:0 +#: field:crm.meeting,we:0 +msgid "Wed" +msgstr "רביעי" + +#. module: base_calendar +#: selection:calendar.attendee,cutype:0 +msgid "Unknown" +msgstr "לא ידוע" + +#. module: base_calendar +#: help:calendar.event,recurrency:0 +#: help:calendar.todo,recurrency:0 +#: help:crm.meeting,recurrency:0 +msgid "Recurrent Meeting" +msgstr "פגישה חוזרת" + +#. module: base_calendar +#: model:crm.meeting.type,name:base_calendar.categ_meet5 +msgid "Feedback Meeting" +msgstr "פגישת משוב" + +#. module: base_calendar +#: model:ir.actions.act_window,name:base_calendar.action_res_alarm_view +#: model:ir.ui.menu,name:base_calendar.menu_crm_meeting_avail_alarm +msgid "Alarms" +msgstr "התראות" + +#. module: base_calendar +#: selection:calendar.event,week_list:0 +#: selection:calendar.todo,week_list:0 +#: selection:crm.meeting,week_list:0 +msgid "Sunday" +msgstr "ראשון" + +#. module: base_calendar +#: field:calendar.attendee,role:0 +msgid "Role" +msgstr "תפקיד" + +#. module: base_calendar +#: view:calendar.event:0 +#: view:crm.meeting:0 +msgid "Invitation details" +msgstr "פרטי ההזמנה" + +#. module: base_calendar +#: selection:calendar.event,byday:0 +#: selection:calendar.todo,byday:0 +#: selection:crm.meeting,byday:0 +msgid "Fourth" +msgstr "הרביעי" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_res_users +msgid "Users" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,day:0 +#: selection:calendar.event,select1:0 +#: field:calendar.todo,day:0 +#: selection:calendar.todo,select1:0 +#: field:crm.meeting,day:0 +#: selection:crm.meeting,select1:0 +msgid "Date of month" +msgstr "תאריך בחודש" + +#. module: base_calendar +#: selection:calendar.event,class:0 +#: selection:calendar.todo,class:0 +#: selection:crm.meeting,class:0 +msgid "Public" +msgstr "ציבורי" + +#. module: base_calendar +#: selection:calendar.alarm,trigger_interval:0 +#: selection:res.alarm,trigger_interval:0 +msgid "Hours" +msgstr "שעות" + +#. module: base_calendar +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +#: selection:crm.meeting,month_list:0 +msgid "March" +msgstr "מרץ" + +#. module: base_calendar +#: help:calendar.attendee,cutype:0 +msgid "Specify the type of Invitation" +msgstr "הגדר את סוג ההזמנה" + +#. module: base_calendar +#: view:crm.meeting:0 +#: field:crm.meeting,message_unread:0 +msgid "Unread Messages" +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 "שישי" + +#. module: base_calendar +#: field:calendar.event,allday:0 +#: field:calendar.todo,allday:0 +#: field:crm.meeting,allday:0 +msgid "All Day" +msgstr "כל היום" + +#. module: base_calendar +#: field:calendar.event,vtimezone:0 +#: field:calendar.todo,vtimezone:0 +#: field:crm.meeting,vtimezone:0 +msgid "Timezone" +msgstr "אזור זמן" + +#. module: base_calendar +#: selection:calendar.attendee,availability:0 +#: selection:calendar.event,show_as:0 +#: selection:calendar.todo,show_as:0 +#: selection:crm.meeting,show_as:0 +msgid "Free" +msgstr "פנוי" + +#. module: base_calendar +#: help:crm.meeting,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "אם מסומן אז הודעה חדשה דורשת התייחסותכם." + +#. module: base_calendar +#: help:calendar.attendee,rsvp:0 +msgid "Indicats whether the favor of a reply is requested" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,alarm_id:0 +msgid "Basic Alarm" +msgstr "התראה בסיסית" + +#. module: base_calendar +#: help:calendar.attendee,delegated_to:0 +msgid "The users that the original request was delegated to" +msgstr "" + +#. module: base_calendar +#: field:calendar.attendee,ref:0 +msgid "Event Ref" +msgstr "" + +#. module: base_calendar +#: field:calendar.event,tu:0 +#: field:calendar.todo,tu:0 +#: field:crm.meeting,tu:0 +msgid "Tue" +msgstr "שלישי" + +#. module: base_calendar +#: selection:calendar.event,byday:0 +#: selection:calendar.todo,byday:0 +#: selection:crm.meeting,byday:0 +msgid "Third" +msgstr "השלישי" + +#. module: base_calendar +#: selection:calendar.alarm,trigger_related:0 +#: selection:res.alarm,trigger_related:0 +msgid "The event ends" +msgstr "האירוע מסתיים" + +#. module: base_calendar +#: selection:calendar.event,byday:0 +#: selection:calendar.todo,byday:0 +#: selection:crm.meeting,byday:0 +msgid "Last" +msgstr "אחרון" + +#. module: base_calendar +#: help:crm.meeting,message_ids:0 +msgid "Messages and communication history" +msgstr "היסטוריית הודעות ותקשורת" + +#. module: base_calendar +#: field:crm.meeting,message_ids:0 +msgid "Messages" +msgstr "הודעות" + +#. module: base_calendar +#: selection:calendar.alarm,trigger_interval:0 +#: selection:res.alarm,trigger_interval:0 +msgid "Days" +msgstr "ימים" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "To" +msgstr "אל" + +#. module: base_calendar +#: code:addons/base_calendar/base_calendar.py:1262 +#, python-format +msgid "Error!" +msgstr "שגיאה!" + +#. module: base_calendar +#: selection:calendar.attendee,role:0 +msgid "Chair Person" +msgstr "" + +#. module: base_calendar +#: view:crm.meeting:0 +msgid "My Meetings" +msgstr "הפגישות שלי" + +#. module: base_calendar +#: selection:calendar.alarm,action:0 +msgid "Procedure" +msgstr "תהליך" + +#. module: base_calendar +#: field:calendar.event,recurrent_id:0 +#: field:calendar.todo,recurrent_id:0 +#: field:crm.meeting,recurrent_id:0 +msgid "Recurrent ID" +msgstr "" + +#. module: base_calendar +#: selection:calendar.event,state:0 +#: selection:calendar.todo,state:0 +msgid "Cancelled" +msgstr "בוטלה" + +#. module: base_calendar +#: selection:calendar.alarm,trigger_interval:0 +#: selection:res.alarm,trigger_interval:0 +msgid "Minutes" +msgstr "דקות" + +#. module: base_calendar +#: selection:calendar.alarm,action:0 +msgid "Display" +msgstr "תצוגה" + +#. module: base_calendar +#: help:calendar.attendee,state:0 +msgid "Status of the attendee's participation" +msgstr "סטטוס השתתפות המוזמנים" + +#. module: base_calendar +#: view:crm.meeting:0 +msgid "Mail To" +msgstr "שלח אל" + +#. module: base_calendar +#: field:crm.meeting,name:0 +msgid "Meeting Subject" +msgstr "נושא הפגישה" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "End of Recurrence" +msgstr "סיום החזרה" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Group By..." +msgstr "קבץ לפי..." + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Recurrency Option" +msgstr "אפשרויות חזרה" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Choose day where repeat the meeting" +msgstr "בחרו יום לחזרת הפגישה" + +#. module: base_calendar +#: view:crm.meeting:0 +#: model:ir.actions.act_window,name:base_calendar.action_crm_meeting +msgid "Meetings" +msgstr "פגישות" + +#. module: base_calendar +#: field:calendar.event,recurrent_id_date:0 +#: field:calendar.todo,recurrent_id_date:0 +#: field:crm.meeting,recurrent_id_date:0 +msgid "Recurrent ID date" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,event_end_date:0 +#: field:calendar.attendee,event_end_date:0 +msgid "Event End Date" +msgstr "תאריך סיום האירוע" + +#. module: base_calendar +#: selection:calendar.attendee,role:0 +msgid "Optional Participation" +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 "" + +#. module: base_calendar +#: code:addons/base_calendar/base_calendar.py:399 +#: code:addons/base_calendar/base_calendar.py:441 +#: code:addons/base_calendar/base_calendar.py:1015 +#: code:addons/base_calendar/base_calendar.py:1017 +#: code:addons/base_calendar/base_calendar.py:1462 +#, python-format +msgid "Warning!" +msgstr "אזהרה!" + +#. module: base_calendar +#: help:calendar.event,active:0 +#: help:calendar.todo,active:0 +#: help:crm.meeting,active:0 +msgid "" +"If the active field is set to true, it will allow you to hide the " +"event alarm information without removing it." +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,repeat:0 +#: field:calendar.event,count:0 +#: field:calendar.todo,count:0 +#: field:crm.meeting,count:0 +#: field:res.alarm,repeat:0 +msgid "Repeat" +msgstr "חזרה" + +#. module: base_calendar +#: field:calendar.event,organizer:0 +#: field:calendar.event,organizer_id:0 +#: field:calendar.todo,organizer:0 +#: field:calendar.todo,organizer_id:0 +#: field:crm.meeting,organizer:0 +#: field:crm.meeting,organizer_id:0 +msgid "Organizer" +msgstr "מארגן" + +#. module: base_calendar +#: view:calendar.event:0 +#: field:calendar.event,user_id:0 +#: field:calendar.todo,user_id:0 +#: field:crm.meeting,user_id:0 +msgid "Responsible" +msgstr "אחראי" + +#. module: base_calendar +#: view:calendar.event:0 +#: model:res.request.link,name:base_calendar.request_link_event +msgid "Event" +msgstr "אירוע" + +#. module: base_calendar +#: selection:calendar.alarm,trigger_occurs:0 +#: selection:res.alarm,trigger_occurs:0 +msgid "Before" +msgstr "לפני" + +#. module: base_calendar +#: view:calendar.event:0 +#: selection:calendar.event,state:0 +#: selection:calendar.todo,state:0 +#: field:crm.meeting,date_open:0 +#: selection:crm.meeting,state:0 +msgid "Confirmed" +msgstr "מאושר" + +#. module: base_calendar +#: field:calendar.alarm,attendee_ids:0 +#: field:calendar.event,attendee_ids:0 +#: field:calendar.event,partner_ids:0 +#: field:calendar.todo,attendee_ids:0 +#: field:calendar.todo,partner_ids:0 +#: field:crm.meeting,attendee_ids:0 +#: field:crm.meeting,partner_ids:0 +msgid "Attendees" +msgstr "משתתפים" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Confirm" +msgstr "אשר" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_calendar_todo +msgid "Calendar Task" +msgstr "משימת לוח שנה" + +#. module: base_calendar +#: field:calendar.event,su:0 +#: field:calendar.todo,su:0 +#: field:crm.meeting,su:0 +msgid "Sun" +msgstr "ראשון" + +#. module: base_calendar +#: field:calendar.attendee,cutype:0 +msgid "Invite Type" +msgstr "סוג ההזמנה" + +#. module: base_calendar +#: view:res.alarm:0 +msgid "Reminder details" +msgstr "פרטי התזכורת" + +#. module: base_calendar +#: field:calendar.attendee,parent_ids:0 +msgid "Delegrated From" +msgstr "" + +#. module: base_calendar +#: selection:calendar.event,select1:0 +#: selection:calendar.todo,select1:0 +#: selection:crm.meeting,select1:0 +msgid "Day of month" +msgstr "יום בחודש" + +#. module: base_calendar +#: field:crm.meeting,message_follower_ids:0 +msgid "Followers" +msgstr "עוקבים" + +#. module: base_calendar +#: field:calendar.event,location:0 +#: field:calendar.todo,location:0 +#: field:crm.meeting,location:0 +msgid "Location" +msgstr "מיקום" + +#. module: base_calendar +#: selection:calendar.attendee,role:0 +msgid "Participation required" +msgstr "ההשתתפות נדרשת" + +#. module: base_calendar +#: view:calendar.event:0 +#: field:calendar.event,show_as:0 +#: field:calendar.todo,show_as:0 +#: field:crm.meeting,show_as:0 +msgid "Show Time as" +msgstr "הצג זמן כ" + +#. module: base_calendar +#: selection:calendar.alarm,action:0 +#: field:calendar.attendee,email:0 +msgid "Email" +msgstr "דוא״ל" + +#. module: base_calendar +#: selection:calendar.attendee,cutype:0 +msgid "Room" +msgstr "חדר" + +#. module: base_calendar +#: selection:calendar.alarm,state:0 +msgid "Run" +msgstr "הפעלה" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_calendar_alarm +msgid "Event alarm information" +msgstr "מידע על התראת האירוע" + +#. module: base_calendar +#: code:addons/base_calendar/base_calendar.py:1017 +#, python-format +msgid "Count cannot be negative or 0." +msgstr "" + +#. module: base_calendar +#: field:crm.meeting,create_date:0 +msgid "Creation Date" +msgstr "תאריך היצירה" + +#. module: base_calendar +#: view:crm.meeting:0 +#: model:ir.model,name:base_calendar.model_crm_meeting +#: model:res.request.link,name:base_calendar.request_link_meeting +msgid "Meeting" +msgstr "פגישה" + +#. module: base_calendar +#: selection:calendar.event,rrule_type:0 +#: selection:calendar.todo,rrule_type:0 +#: selection:crm.meeting,rrule_type:0 +msgid "Month(s)" +msgstr "חודש(ים)" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Visibility" +msgstr "נראות" + +#. module: base_calendar +#: field:calendar.attendee,rsvp:0 +msgid "Required Reply?" +msgstr "מענה נדרש?" + +#. module: base_calendar +#: field:calendar.event,base_calendar_url:0 +#: field:calendar.todo,base_calendar_url:0 +#: field:crm.meeting,base_calendar_url:0 +msgid "Caldav URL" +msgstr "" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_mail_wizard_invite +msgid "Invite wizard" +msgstr "אשף הזמנה" + +#. module: base_calendar +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +#: selection:crm.meeting,month_list:0 +msgid "July" +msgstr "יולי" + +#. module: base_calendar +#: selection:calendar.attendee,state:0 +msgid "Accepted" +msgstr "אושרה" + +#. module: base_calendar +#: field:calendar.event,th:0 +#: field:calendar.todo,th:0 +#: field:crm.meeting,th:0 +msgid "Thu" +msgstr "חמישי" + +#. module: base_calendar +#: view:crm.meeting:0 +msgid "Meeting Details" +msgstr "פרטי הפגישה" + +#. module: base_calendar +#: field:calendar.attendee,child_ids:0 +msgid "Delegrated To" +msgstr "הואצל ל" + +#. module: base_calendar +#: code:addons/base_calendar/crm_meeting.py:102 +#, python-format +msgid "The following contacts have no email address :" +msgstr "לאנשי הקשר הבאים אין כתובת דוא\"ל :" + +#. module: base_calendar +#: selection:calendar.event,rrule_type:0 +#: selection:calendar.todo,rrule_type:0 +#: selection:crm.meeting,rrule_type:0 +msgid "Year(s)" +msgstr "שנה(ים)" + +#. module: base_calendar +#: view:crm.meeting.type:0 +#: model:ir.actions.act_window,name:base_calendar.action_crm_meeting_type +#: model:ir.ui.menu,name:base_calendar.menu_crm_meeting_type +msgid "Meeting Types" +msgstr "סוגי פגישות" + +#. module: base_calendar +#: field:calendar.event,create_date:0 +#: field:calendar.todo,create_date:0 +msgid "Created" +msgstr "נוצר" + +#. module: base_calendar +#: selection:calendar.event,class:0 +#: selection:calendar.todo,class:0 +#: selection:crm.meeting,class:0 +msgid "Public for Employees" +msgstr "ציבורי לעובדים" + +#. module: base_calendar +#: view:crm.meeting:0 +msgid "hours" +msgstr "שעות" + +#. module: base_calendar +#: field:calendar.attendee,partner_id:0 +msgid "Contact" +msgstr "איש קשר" + +#. module: base_calendar +#: field:calendar.attendee,language:0 +msgid "Language" +msgstr "שפה" + +#. module: base_calendar +#: field:calendar.event,end_date:0 +#: field:calendar.todo,end_date:0 +#: field:crm.meeting,end_date:0 +msgid "Repeat Until" +msgstr "חזור עד" + +#. module: base_calendar +#: view:crm.meeting:0 +msgid "Options" +msgstr "אפשרויות" + +#. module: base_calendar +#: selection:calendar.event,byday:0 +#: selection:calendar.todo,byday:0 +#: selection:crm.meeting,byday:0 +msgid "First" +msgstr "הראשון" + +#. module: base_calendar +#: view:calendar.event:0 +#: view:crm.meeting:0 +msgid "Subject" +msgstr "נושא" + +#. module: base_calendar +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +#: selection:crm.meeting,month_list:0 +msgid "September" +msgstr "ספטמבר" + +#. module: base_calendar +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +#: selection:crm.meeting,month_list:0 +msgid "December" +msgstr "דצמבר" + +#. module: base_calendar +#: selection:calendar.event,week_list:0 +#: selection:calendar.todo,week_list:0 +#: selection:crm.meeting,week_list:0 +msgid "Tuesday" +msgstr "שלישי" + +#. module: base_calendar +#: field:crm.meeting,categ_ids:0 +msgid "Tags" +msgstr "תגיות" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Availability" +msgstr "זמינות" + +#. module: base_calendar +#: selection:calendar.attendee,cutype:0 +msgid "Individual" +msgstr "" + +#. module: base_calendar +#: help:calendar.event,count:0 +#: help:calendar.todo,count:0 +#: help:crm.meeting,count:0 +msgid "Repeat x times" +msgstr "חזור x פעמים" + +#. module: base_calendar +#: field:calendar.alarm,user_id:0 +msgid "Owner" +msgstr "בעלים" + +#. module: base_calendar +#: help:calendar.event,rrule_type:0 +#: help:calendar.todo,rrule_type:0 +#: help:crm.meeting,rrule_type:0 +msgid "Let the event automatically repeat at that interval" +msgstr "" + +#. module: base_calendar +#: model:ir.ui.menu,name:base_calendar.mail_menu_calendar +msgid "Calendar" +msgstr "לוח שנה" + +#. module: base_calendar +#: field:calendar.attendee,cn:0 +msgid "Common name" +msgstr "שם נפוץ" + +#. module: base_calendar +#: selection:calendar.attendee,state:0 +msgid "Declined" +msgstr "נדחה" + +#. module: base_calendar +#: code:addons/base_calendar/base_calendar.py:1462 +#, python-format +msgid "Group by date is not supported, use the calendar view instead." +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +#: view:crm.meeting:0 +msgid "Decline" +msgstr "דחה" + +#. module: base_calendar +#: selection:calendar.attendee,cutype:0 +msgid "Group" +msgstr "קבוצה" + +#. module: base_calendar +#: selection:calendar.event,class:0 +#: selection:calendar.todo,class:0 +#: selection:crm.meeting,class:0 +msgid "Private" +msgstr "פרטי" + +#. module: base_calendar +#: view:calendar.event:0 +#: field:calendar.event,class:0 +#: field:calendar.todo,class:0 +#: field:crm.meeting,class:0 +msgid "Privacy" +msgstr "פרטיות" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_res_alarm +msgid "Basic Alarm Information" +msgstr "מידע התראה בסיסי" + +#. module: base_calendar +#: field:calendar.event,fr:0 +#: field:calendar.todo,fr:0 +#: field:crm.meeting,fr:0 +msgid "Fri" +msgstr "שישי" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Invitation Detail" +msgstr "פרטי ההזמנה" + +#. module: base_calendar +#: field:calendar.attendee,member:0 +msgid "Member" +msgstr "חבר" + +#. module: base_calendar +#: help:calendar.event,location:0 +#: help:calendar.todo,location:0 +#: help:crm.meeting,location:0 +msgid "Location of Event" +msgstr "מיקום האירוע" + +#. module: base_calendar +#: field:calendar.event,rrule:0 +#: field:calendar.todo,rrule:0 +#: field:crm.meeting,rrule:0 +msgid "Recurrent Rule" +msgstr "כלל החזרה" + +#. module: base_calendar +#: selection:calendar.alarm,state:0 +msgid "Draft" +msgstr "טיוטה" + +#. module: base_calendar +#: field:calendar.alarm,attach:0 +msgid "Attachment" +msgstr "קובץ מצורף" + +#. module: base_calendar +#: field:crm.meeting,date_closed:0 +msgid "Closed" +msgstr "סגור" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "From" +msgstr "מאת" + +#. module: base_calendar +#: view:calendar.event:0 +#: field:calendar.event,alarm_id:0 +#: field:calendar.todo,alarm_id:0 +#: field:crm.meeting,alarm_id:0 +msgid "Reminder" +msgstr "תזכורת" + +#. module: base_calendar +#: selection:calendar.event,end_type:0 +#: selection:calendar.todo,end_type:0 +#: selection:crm.meeting,end_type:0 +msgid "Number of repetitions" +msgstr "מספר החזרות" + +#. module: base_calendar +#: model:crm.meeting.type,name:base_calendar.categ_meet2 +msgid "Internal Meeting" +msgstr "פגישה פנימית" + +#. module: base_calendar +#: view:calendar.event:0 +#: model:ir.actions.act_window,name:base_calendar.action_view_event +#: model:ir.ui.menu,name:base_calendar.menu_events +msgid "Events" +msgstr "אירועים" + +#. module: base_calendar +#: field:calendar.alarm,state:0 +#: field:calendar.attendee,state:0 +#: view:calendar.event:0 +#: field:calendar.event,state:0 +#: field:calendar.todo,state:0 +#: field:crm.meeting,state:0 +msgid "Status" +msgstr "סטטוס" + +#. module: base_calendar +#: help:calendar.attendee,email:0 +msgid "Email of Invited Person" +msgstr "דוא\"ל של המוזמן" + +#. module: base_calendar +#: model:crm.meeting.type,name:base_calendar.categ_meet1 +msgid "Customer Meeting" +msgstr "פגישת לקוח" + +#. module: base_calendar +#: help:calendar.attendee,dir:0 +msgid "" +"Reference to the URIthat points to the directory information corresponding " +"to the attendee." +msgstr "" + +#. module: base_calendar +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +#: selection:crm.meeting,month_list:0 +msgid "August" +msgstr "אוגוסט" + +#. module: base_calendar +#: selection:calendar.event,week_list:0 +#: selection:calendar.todo,week_list:0 +#: selection:crm.meeting,week_list:0 +msgid "Monday" +msgstr "שני" + +#. module: base_calendar +#: model:crm.meeting.type,name:base_calendar.categ_meet4 +msgid "Open Discussion" +msgstr "דיון פתוח" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_ir_model +msgid "Models" +msgstr "מודלים" + +#. module: base_calendar +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +#: selection:crm.meeting,month_list:0 +msgid "June" +msgstr "יוני" + +#. module: base_calendar +#: field:calendar.alarm,event_date:0 +#: field:calendar.attendee,event_date:0 +#: view:calendar.event:0 +msgid "Event Date" +msgstr "תאריך האירוע" + +#. module: base_calendar +#: view:crm.meeting:0 +msgid "Invitations" +msgstr "הזמנות" + +#. module: base_calendar +#: view:calendar.event:0 +#: view:crm.meeting:0 +msgid "The" +msgstr "ה־" + +#. module: base_calendar +#: field:crm.meeting,write_date:0 +msgid "Write Date" +msgstr "תאריך כתיבה" + +#. module: base_calendar +#: field:calendar.attendee,delegated_from:0 +msgid "Delegated From" +msgstr "הואצל מ-" + +#. module: base_calendar +#: field:crm.meeting,message_is_follower:0 +msgid "Is a Follower" +msgstr "הוא עוקב" + +#. module: base_calendar +#: field:calendar.attendee,user_id:0 +msgid "User" +msgstr "משתמש" + +#. module: base_calendar +#: view:calendar.event:0 +#: field:calendar.event,date:0 +#: field:crm.meeting,date:0 +msgid "Date" +msgstr "תאריך" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Start Date" +msgstr "תאריך התחלה" + +#. module: base_calendar +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +#: selection:crm.meeting,month_list:0 +msgid "November" +msgstr "נובמבר" + +#. module: base_calendar +#: help:calendar.attendee,member:0 +msgid "Indicate the groups that the attendee belongs to" +msgstr "ציינו את הקבוצות אליהן שייך המשתתף" + +#. module: base_calendar +#: field:calendar.event,mo:0 +#: field:calendar.todo,mo:0 +#: field:crm.meeting,mo:0 +msgid "Mon" +msgstr "שני" + +#. module: base_calendar +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +#: selection:crm.meeting,month_list:0 +msgid "October" +msgstr "אוקטובר" + +#. module: base_calendar +#: selection:calendar.attendee,state:0 +#: view:calendar.event:0 +#: selection:calendar.event,state:0 +#: selection:calendar.todo,state:0 +#: view:crm.meeting:0 +msgid "Uncertain" +msgstr "לא בטוח" + +#. module: base_calendar +#: constraint:calendar.event:0 +#: constraint:calendar.todo:0 +#: constraint:crm.meeting:0 +msgid "Error ! End date cannot be set before start date." +msgstr "שגיאה ! תאריך הסיום לא יכול להיות לפני תאריך ההתחלה." + +#. module: base_calendar +#: field:calendar.alarm,trigger_occurs:0 +#: field:res.alarm,trigger_occurs:0 +msgid "Triggers" +msgstr "טריגרים" + +#. module: base_calendar +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +#: selection:crm.meeting,month_list:0 +msgid "January" +msgstr "ינואר" + +#. module: base_calendar +#: field:calendar.alarm,trigger_related:0 +#: field:res.alarm,trigger_related:0 +msgid "Related to" +msgstr "מקושר ל" + +#. module: base_calendar +#: field:calendar.alarm,trigger_interval:0 +#: field:res.alarm,trigger_interval:0 +msgid "Interval" +msgstr "מרווח" + +#. module: base_calendar +#: selection:calendar.event,week_list:0 +#: selection:calendar.todo,week_list:0 +#: selection:crm.meeting,week_list:0 +msgid "Wednesday" +msgstr "רביעי" + +#. module: base_calendar +#: field:calendar.alarm,name:0 +#: view:calendar.event:0 +#: field:crm.meeting,message_summary:0 +msgid "Summary" +msgstr "תקציר" + +#. module: base_calendar +#: field:calendar.alarm,active:0 +#: field:calendar.event,active:0 +#: field:calendar.todo,active:0 +#: field:crm.meeting,active:0 +#: field:res.alarm,active:0 +msgid "Active" +msgstr "פעיל" + +#. module: base_calendar +#: code:addons/base_calendar/base_calendar.py:399 +#, python-format +msgid "You cannot duplicate a calendar attendee." +msgstr "אינכם יכולים לשכפל משתתף בלוח שנה." + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Choose day in the month where repeat the meeting" +msgstr "בחרו את היום בחודש בו תרצו לחזור על הפגישה" + +#. module: base_calendar +#: field:calendar.alarm,action:0 +msgid "Action" +msgstr "פעולה" + +#. module: base_calendar +#: help:calendar.alarm,duration:0 +#: help:res.alarm,duration:0 +msgid "" +"Duration' and 'Repeat' are both optional, but if one occurs, so MUST the " +"other" +msgstr "" + +#. module: base_calendar +#: help:calendar.attendee,role:0 +msgid "Participation role for the calendar user" +msgstr "תפקיד המשתתף עבור משתמש בלוח השנה" + +#. module: base_calendar +#: field:calendar.attendee,delegated_to:0 +msgid "Delegated To" +msgstr "מואצל ל" + +#. module: base_calendar +#: help:calendar.alarm,action:0 +msgid "Defines the action to be invoked when an alarm is triggered" +msgstr "" + +#. module: base_calendar +#: view:crm.meeting:0 +msgid "Starting at" +msgstr "מתחיל ב" + +#. module: base_calendar +#: selection:calendar.event,end_type:0 +#: selection:calendar.todo,end_type:0 +#: selection:crm.meeting,end_type:0 +msgid "End date" +msgstr "תאריך סיום" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Search Events" +msgstr "חיפוש אירועים" + +#. module: base_calendar +#: help:calendar.alarm,active:0 +#: help:res.alarm,active:0 +msgid "" +"If the active field is set to true, it will allow you to hide the event " +"alarm information without removing it." +msgstr "" + +#. module: base_calendar +#: field:calendar.event,end_type:0 +#: field:calendar.todo,end_type:0 +#: field:crm.meeting,end_type:0 +msgid "Recurrence Termination" +msgstr "סיום החזרה" + +#. module: base_calendar +#: view:crm.meeting:0 +msgid "Until" +msgstr "עד" + +#. module: base_calendar +#: view:res.alarm:0 +msgid "Reminder Details" +msgstr "פרטי התזכורת" + +#. module: base_calendar +#: model:crm.meeting.type,name:base_calendar.categ_meet3 +msgid "Off-site Meeting" +msgstr "פגישה מחוץ לאתר" + +#. module: base_calendar +#: view:crm.meeting:0 +msgid "Day of Month" +msgstr "יום בחודש" + +#. module: base_calendar +#: selection:calendar.alarm,state:0 +msgid "Done" +msgstr "בוצע" + +#. module: base_calendar +#: help:calendar.event,interval:0 +#: help:calendar.todo,interval:0 +#: help:crm.meeting,interval:0 +msgid "Repeat every (Days/Week/Month/Year)" +msgstr "חזור כל (יום/שבוע/חודש/שנה)" + +#. module: base_calendar +#: view:crm.meeting:0 +msgid "All Day?" +msgstr "יום שלם?" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Cancel" +msgstr "" + +#. module: base_calendar +#: model:ir.actions.act_window,help:base_calendar.action_crm_meeting +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to schedule a new meeting.\n" +" </p><p>\n" +" The calendar is shared between employees and fully integrated " +"with\n" +" other applications such as the employee holidays or the " +"business\n" +" opportunities.\n" +" </p>\n" +" " +msgstr "" + +#. module: base_calendar +#: help:calendar.alarm,description:0 +msgid "" +"Provides a more complete description of the " +"calendar component, than that provided by the " +"\"SUMMARY\" property" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Responsible User" +msgstr "משתמש אחראי" + +#. module: base_calendar +#: view:crm.meeting:0 +msgid "Select Weekdays" +msgstr "בחר את ימי השבוע" + +#. module: base_calendar +#: code:addons/base_calendar/base_calendar.py:1521 +#: selection:calendar.attendee,availability:0 +#: selection:calendar.event,show_as:0 +#: selection:calendar.todo,show_as:0 +#: selection:crm.meeting,show_as:0 +#, python-format +msgid "Busy" +msgstr "לא פנוי" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_calendar_event +msgid "Calendar Event" +msgstr "אירועי לוח שנה" + +#. module: base_calendar +#: field:calendar.event,recurrency:0 +#: field:calendar.todo,recurrency:0 +#: field:crm.meeting,recurrency:0 +msgid "Recurrent" +msgstr "חוזרת" + +#. module: base_calendar +#: field:calendar.event,rrule_type:0 +#: field:calendar.todo,rrule_type:0 +#: field:crm.meeting,rrule_type:0 +msgid "Recurrency" +msgstr "חזרה" + +#. module: base_calendar +#: selection:calendar.event,week_list:0 +#: selection:calendar.todo,week_list:0 +#: selection:crm.meeting,week_list:0 +msgid "Thursday" +msgstr "חמישי" + +#. module: base_calendar +#: field:calendar.event,exrule:0 +#: field:calendar.todo,exrule:0 +#: field:crm.meeting,exrule:0 +msgid "Exception Rule" +msgstr "כלל חריגה" + +#. module: base_calendar +#: help:calendar.attendee,language:0 +msgid "" +"To specify the language for text values in aproperty or property parameter." +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Details" +msgstr "פרטים" + +#. module: base_calendar +#: help:calendar.event,exrule:0 +#: help:calendar.todo,exrule:0 +#: help:crm.meeting,exrule:0 +msgid "" +"Defines a rule or repeating pattern of time to exclude from the recurring " +"rule." +msgstr "" + +#. module: base_calendar +#: field:calendar.event,month_list:0 +#: field:calendar.todo,month_list:0 +#: field:crm.meeting,month_list:0 +msgid "Month" +msgstr "חודש" + +#. module: base_calendar +#: selection:calendar.event,rrule_type:0 +#: selection:calendar.todo,rrule_type:0 +#: selection:crm.meeting,rrule_type:0 +msgid "Day(s)" +msgstr "ימים" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Confirmed Events" +msgstr "אירועים שאושרו" + +#. module: base_calendar +#: field:calendar.attendee,dir:0 +msgid "URI Reference" +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,description:0 +#: view:calendar.event:0 +#: field:calendar.event,description:0 +#: field:calendar.event,name:0 +#: field:calendar.todo,description:0 +#: field:calendar.todo,name:0 +#: field:crm.meeting,description:0 +msgid "Description" +msgstr "תיאור" + +#. module: base_calendar +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +#: selection:crm.meeting,month_list:0 +msgid "May" +msgstr "מאי" + +#. module: base_calendar +#: selection:calendar.alarm,trigger_occurs:0 +#: selection:res.alarm,trigger_occurs:0 +msgid "After" +msgstr "לאחר" + +#. module: base_calendar +#: selection:calendar.alarm,state:0 +msgid "Stop" +msgstr "עצור" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_ir_values +msgid "ir.values" +msgstr "" + +#. module: base_calendar +#: view:crm.meeting:0 +msgid "Search Meetings" +msgstr "חפש פגישות" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_ir_attachment +msgid "ir.attachment" +msgstr "" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_crm_meeting_type +msgid "Meeting Type" +msgstr "סוג הפגישה" + +#. module: base_calendar +#: selection:calendar.attendee,state:0 +msgid "Delegated" +msgstr "הואצל" + +#. module: base_calendar +#: field:calendar.event,sa:0 +#: field:calendar.todo,sa:0 +#: field:crm.meeting,sa:0 +msgid "Sat" +msgstr "שבת" + +#. module: base_calendar +#: model:ir.actions.act_window,help:base_calendar.action_res_alarm_view +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to setup a new alarm type.\n" +" </p><p>\n" +" You can define a customized type of calendar alarm that may " +"be\n" +" assigned to calendar events or meetings.\n" +" </p>\n" +" " +msgstr "" + +#. module: base_calendar +#: selection:crm.meeting,state:0 +msgid "Unconfirmed" +msgstr "לא מאושר" + +#. module: base_calendar +#: help:calendar.attendee,sent_by:0 +msgid "Specify the user that is acting on behalf of the calendar user" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +#: field:calendar.event,date_deadline:0 +#: field:calendar.todo,date_deadline:0 +#: field:crm.meeting,date_deadline:0 +msgid "End Date" +msgstr "תאריך סיום" + +#. module: base_calendar +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +#: selection:crm.meeting,month_list:0 +msgid "February" +msgstr "פברואר" + +#. module: base_calendar +#: selection:calendar.attendee,cutype:0 +msgid "Resource" +msgstr "משאב" + +#. module: base_calendar +#: field:crm.meeting.type,name:0 +#: field:res.alarm,name:0 +msgid "Name" +msgstr "שם" + +#. module: base_calendar +#: field:calendar.event,exdate:0 +#: field:calendar.todo,exdate:0 +#: field:crm.meeting,exdate:0 +msgid "Exception Date/Times" +msgstr "" + +#. module: base_calendar +#: help:calendar.alarm,name:0 +msgid "" +"Contains the text to be used as the message subject for " +"email or contains the text to be used for display" +msgstr "" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_mail_message +msgid "Message" +msgstr "הודעה" + +#. module: base_calendar +#: field:calendar.event,base_calendar_alarm_id:0 +#: field:calendar.todo,base_calendar_alarm_id:0 +#: field:crm.meeting,base_calendar_alarm_id:0 +msgid "Alarm" +msgstr "התראה" + +#. module: base_calendar +#: field:calendar.attendee,sent_by_uid:0 +msgid "Sent By User" +msgstr "נשלח על ידי משתמש" + +#. module: base_calendar +#: selection:calendar.event,month_list:0 +#: selection:calendar.todo,month_list:0 +#: selection:crm.meeting,month_list:0 +msgid "April" +msgstr "אפריל" + +#. module: base_calendar +#: code:addons/base_calendar/crm_meeting.py:106 +#, python-format +msgid "Email addresses not found" +msgstr "לא נמצאה כתבות דוא\"ל" + +#. module: base_calendar +#: view:calendar.event:0 +msgid "Recurrency period" +msgstr "תקופת החזרה" + +#. module: base_calendar +#: field:calendar.event,week_list:0 +#: field:calendar.todo,week_list:0 +#: field:crm.meeting,week_list:0 +msgid "Weekday" +msgstr "יום בשבוע" + +#. module: base_calendar +#: code:addons/base_calendar/base_calendar.py:1015 +#, python-format +msgid "Interval cannot be negative." +msgstr "המרווח אינו יכול להיות שלילי." + +#. module: base_calendar +#: field:calendar.event,byday:0 +#: field:calendar.todo,byday:0 +#: field:crm.meeting,byday:0 +msgid "By day" +msgstr "לפי יום" + +#. module: base_calendar +#: code:addons/base_calendar/base_calendar.py:441 +#, python-format +msgid "First you have to specify the date of the invitation." +msgstr "" + +#. module: base_calendar +#: field:calendar.alarm,model_id:0 +msgid "Model" +msgstr "מודל" + +#. module: base_calendar +#: selection:calendar.alarm,action:0 +msgid "Audio" +msgstr "שמע" + +#. module: base_calendar +#: field:calendar.event,id:0 +#: field:calendar.todo,id:0 +#: field:crm.meeting,id:0 +msgid "ID" +msgstr "מזהה" + +#. module: base_calendar +#: selection:calendar.attendee,role:0 +msgid "For information Purpose" +msgstr "למטרות מידע" + +#. module: base_calendar +#: field:calendar.event,select1:0 +#: field:calendar.todo,select1:0 +#: field:crm.meeting,select1:0 +msgid "Option" +msgstr "אפשרות" + +#. module: base_calendar +#: model:ir.model,name:base_calendar.model_calendar_attendee +msgid "Attendee information" +msgstr "מידע משתתפים" + +#. module: base_calendar +#: field:calendar.alarm,res_id:0 +msgid "Resource ID" +msgstr "מזהה משאב" + +#. module: base_calendar +#: selection:calendar.attendee,state:0 +msgid "Needs Action" +msgstr "נדרשת פעולה" + +#. module: base_calendar +#: field:calendar.attendee,sent_by:0 +msgid "Sent By" +msgstr "נשלח על ידי" + +#. module: base_calendar +#: field:calendar.event,sequence:0 +#: field:calendar.todo,sequence:0 +#: field:crm.meeting,sequence:0 +msgid "Sequence" +msgstr "רצף" + +#. module: base_calendar +#: help:calendar.event,alarm_id:0 +#: help:calendar.todo,alarm_id:0 +#: help:crm.meeting,alarm_id:0 +msgid "Set an alarm at this time, before the event occurs" +msgstr "" + +#. module: base_calendar +#: view:calendar.event:0 +#: view:crm.meeting:0 +msgid "Accept" +msgstr "אשר" + +#. module: base_calendar +#: selection:calendar.event,week_list:0 +#: selection:calendar.todo,week_list:0 +#: selection:crm.meeting,week_list:0 +msgid "Saturday" +msgstr "שבת" + +#. module: base_calendar +#: field:calendar.event,interval:0 +#: field:calendar.todo,interval:0 +#: field:crm.meeting,interval:0 +msgid "Repeat Every" +msgstr "חזור כל" + +#. module: base_calendar +#: selection:calendar.event,byday:0 +#: selection:calendar.todo,byday:0 +#: selection:crm.meeting,byday:0 +msgid "Second" +msgstr "שנייה" + +#. module: base_calendar +#: field:calendar.attendee,availability:0 +msgid "Free/Busy" +msgstr "פנוי/עסוק" + +#. module: base_calendar +#: field:calendar.alarm,duration:0 +#: field:calendar.alarm,trigger_duration:0 +#: field:calendar.event,duration:0 +#: field:calendar.todo,date:0 +#: field:calendar.todo,duration:0 +#: field:crm.meeting,duration:0 +#: field:res.alarm,duration:0 +#: field:res.alarm,trigger_duration:0 +msgid "Duration" +msgstr "משך" + +#. module: base_calendar +#: field:calendar.alarm,trigger_date:0 +msgid "Trigger Date" +msgstr "" + +#. module: base_calendar +#: help:calendar.alarm,attach:0 +msgid "" +"* Points to a sound resource, which is rendered when the " +"alarm is triggered for audio,\n" +" * File which is intended to be sent as message " +"attachments for email,\n" +" * Points to a procedure resource, which is invoked when " +" the alarm is triggered for procedure." +msgstr "" + +#. module: base_calendar +#: selection:calendar.event,byday:0 +#: selection:calendar.todo,byday:0 +#: selection:crm.meeting,byday:0 +msgid "Fifth" +msgstr "החמישי" diff --git a/addons/base_setup/i18n/he.po b/addons/base_setup/i18n/he.po new file mode 100644 index 00000000000..4c4b3037c71 --- /dev/null +++ b/addons/base_setup/i18n/he.po @@ -0,0 +1,370 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-12-30 18:38+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: base_setup +#: view:sale.config.settings:0 +msgid "Emails Integration" +msgstr "" + +#. module: base_setup +#: selection:base.setup.terminology,partner:0 +msgid "Guest" +msgstr "" + +#. module: base_setup +#: view:sale.config.settings:0 +msgid "Contacts" +msgstr "" + +#. module: base_setup +#: model:ir.model,name:base_setup.model_base_config_settings +msgid "base.config.settings" +msgstr "" + +#. module: base_setup +#: field:base.config.settings,module_auth_oauth:0 +msgid "" +"Use external authentication providers, sign in with google, facebook, ..." +msgstr "" + +#. module: base_setup +#: view:sale.config.settings:0 +msgid "" +"OpenERP allows to automatically create leads (or others documents)\n" +" from incoming emails. You can automatically " +"synchronize emails with OpenERP\n" +" using regular POP/IMAP accounts, using a direct " +"email integration script for your\n" +" email server, or by manually pushing emails to " +"OpenERP using specific\n" +" plugins for your preferred email application." +msgstr "" + +#. module: base_setup +#: field:sale.config.settings,module_sale:0 +msgid "SALE" +msgstr "" + +#. module: base_setup +#: selection:base.setup.terminology,partner:0 +msgid "Member" +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +msgid "Portal access" +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +msgid "Authentication" +msgstr "" + +#. module: base_setup +#: view:sale.config.settings:0 +msgid "Quotations and Sales Orders" +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 "" + +#. module: base_setup +#: selection:base.setup.terminology,partner:0 +msgid "Donor" +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +msgid "Email" +msgstr "" + +#. module: base_setup +#: field:sale.config.settings,module_crm:0 +msgid "CRM" +msgstr "" + +#. module: base_setup +#: selection:base.setup.terminology,partner:0 +msgid "Patient" +msgstr "" + +#. module: base_setup +#: field:base.config.settings,module_base_import:0 +msgid "Allow users to import data from CSV files" +msgstr "" + +#. module: base_setup +#: field:base.config.settings,module_multi_company:0 +msgid "Manage multiple companies" +msgstr "" + +#. module: base_setup +#: view:sale.config.settings:0 +msgid "On Mail Client" +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +msgid "--db-filter=YOUR_DATABAE" +msgstr "" + +#. module: base_setup +#: field:sale.config.settings,module_web_linkedin:0 +msgid "Get contacts automatically from linkedIn" +msgstr "" + +#. module: base_setup +#: field:sale.config.settings,module_plugin_thunderbird:0 +msgid "Enable Thunderbird plug-in" +msgstr "" + +#. module: base_setup +#: view:base.setup.terminology:0 +msgid "res_config_contents" +msgstr "" + +#. module: base_setup +#: view:sale.config.settings:0 +msgid "Customer Features" +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +msgid "Import / Export" +msgstr "" + +#. module: base_setup +#: view:sale.config.settings:0 +msgid "Sale Features" +msgstr "" + +#. module: base_setup +#: field:sale.config.settings,module_plugin_outlook:0 +msgid "Enable Outlook plug-in" +msgstr "" + +#. module: base_setup +#: view:base.setup.terminology:0 +msgid "" +"You can use this wizard to change the terminologies for customers in the " +"whole application." +msgstr "" + +#. module: base_setup +#: selection:base.setup.terminology,partner:0 +msgid "Tenant" +msgstr "" + +#. module: base_setup +#: help:base.config.settings,module_share:0 +msgid "Share or embbed any screen of openerp." +msgstr "" + +#. module: base_setup +#: selection:base.setup.terminology,partner:0 +msgid "Customer" +msgstr "" + +#. module: base_setup +#: help:sale.config.settings,module_web_linkedin:0 +msgid "" +"When you create a new contact (person or company), you will be able to load " +"all the data from LinkedIn (photos, address, etc)." +msgstr "" + +#. module: base_setup +#: help:base.config.settings,module_multi_company:0 +msgid "" +"Work in multi-company environments, with appropriate security access between " +"companies.\n" +" This installs the module multi_company." +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +msgid "" +"The public portal is accessible only if you are in a single database mode. " +"You can\n" +" launch the OpenERP Server with the option" +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +msgid "" +"You will find more options in your company details: address for the header " +"and footer, overdue payments texts, etc." +msgstr "" + +#. module: base_setup +#: model:ir.model,name:base_setup.model_sale_config_settings +msgid "sale.config.settings" +msgstr "" + +#. module: base_setup +#: field:base.setup.terminology,partner:0 +msgid "How do you call a Customer" +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +msgid "" +"When you send a document to a customer\n" +" (quotation, invoice), your customer will " +"be\n" +" able to signup to get all his " +"documents,\n" +" read your company news, check his " +"projects,\n" +" etc." +msgstr "" + +#. module: base_setup +#: model:ir.model,name:base_setup.model_base_setup_terminology +msgid "base.setup.terminology" +msgstr "" + +#. module: base_setup +#: selection:base.setup.terminology,partner:0 +msgid "Client" +msgstr "" + +#. module: base_setup +#: help:base.config.settings,module_portal_anonymous:0 +msgid "Enable the public part of openerp, openerp becomes a public website." +msgstr "" + +#. module: base_setup +#: help:sale.config.settings,module_plugin_thunderbird:0 +msgid "" +"The plugin allows you archive email and its attachments to the selected\n" +" OpenERP objects. You can select a partner, or a lead and\n" +" attach the selected mail as a .eml file in\n" +" the attachment of a selected record. You can create " +"documents for CRM Lead,\n" +" Partner from the selected emails.\n" +" This installs the module plugin_thunderbird." +msgstr "" + +#. module: base_setup +#: selection:base.setup.terminology,partner:0 +msgid "Partner" +msgstr "" + +#. module: base_setup +#: model:ir.actions.act_window,name:base_setup.action_partner_terminology_config_form +msgid "Use another word to say \"Customer\"" +msgstr "" + +#. module: base_setup +#: model:ir.actions.act_window,name:base_setup.action_sale_config +#: view:sale.config.settings:0 +msgid "Configure Sales" +msgstr "" + +#. module: base_setup +#: help:sale.config.settings,module_plugin_outlook:0 +msgid "" +"The Outlook plugin allows you to select an object that you would like to " +"add\n" +" to your email and its attachments from MS Outlook. You can " +"select a partner,\n" +" or a lead object and archive a selected\n" +" email into an OpenERP mail message with attachments.\n" +" This installs the module plugin_outlook." +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +msgid "Options" +msgstr "" + +#. module: base_setup +#: field:base.config.settings,module_portal:0 +msgid "Activate the customer portal" +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +msgid "" +"to do so.\n" +" Once activated, the login page will be " +"replaced by the public website." +msgstr "" + +#. module: base_setup +#: field:base.config.settings,module_share:0 +msgid "Allow documents sharing" +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +msgid "(company news, jobs, contact form, etc.)" +msgstr "" + +#. module: base_setup +#: field:base.config.settings,module_portal_anonymous:0 +msgid "Activate the public portal" +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +msgid "Configure outgoing email servers" +msgstr "" + +#. module: base_setup +#: view:sale.config.settings:0 +msgid "Social Network Integration" +msgstr "" + +#. module: base_setup +#: help:base.config.settings,module_portal:0 +msgid "Give your customers access to their documents." +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +#: view:sale.config.settings:0 +msgid "Cancel" +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +#: view:sale.config.settings:0 +msgid "Apply" +msgstr "" + +#. module: base_setup +#: view:base.setup.terminology:0 +msgid "Specify Your Terminology" +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +#: view:sale.config.settings:0 +msgid "or" +msgstr "" + +#. module: base_setup +#: view:base.config.settings:0 +msgid "Configure your company data" +msgstr "" diff --git a/addons/base_setup/i18n/zh_TW.po b/addons/base_setup/i18n/zh_TW.po index 929f62ca24d..634a16c7697 100644 --- a/addons/base_setup/i18n/zh_TW.po +++ b/addons/base_setup/i18n/zh_TW.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-12-21 17:05+0000\n" -"PO-Revision-Date: 2011-11-07 12:53+0000\n" -"Last-Translator: Walter Cheuk <wwycheuk@gmail.com>\n" +"PO-Revision-Date: 2013-12-29 15:39+0000\n" +"Last-Translator: Andy Cheng <andy@dobtor.com>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-12 05:22+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-12-30 04:39+0000\n" +"X-Generator: Launchpad (build 16877)\n" #. module: base_setup #: view:sale.config.settings:0 @@ -189,7 +189,7 @@ msgstr "客戶" msgid "" "When you create a new contact (person or company), you will be able to load " "all the data from LinkedIn (photos, address, etc)." -msgstr "" +msgstr "當建立新的聯絡人時(個人或公司),你就可以從 LinkedIn 載入所有資料(照片、地址等)。" #. module: base_setup #: help:base.config.settings,module_multi_company:0 @@ -212,7 +212,7 @@ msgstr "" msgid "" "You will find more options in your company details: address for the header " "and footer, overdue payments texts, etc." -msgstr "" +msgstr "您可在貴公司的詳細資訊中找到更多選項,如表頭和頁尾的地址、付款過期通知等等。" #. module: base_setup #: model:ir.model,name:base_setup.model_sale_config_settings diff --git a/addons/base_vat/i18n/zh_TW.po b/addons/base_vat/i18n/zh_TW.po index 070658c056d..545b8be9e90 100644 --- a/addons/base_vat/i18n/zh_TW.po +++ b/addons/base_vat/i18n/zh_TW.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:05+0000\n" -"PO-Revision-Date: 2009-01-30 12:44+0000\n" -"Last-Translator: <>\n" +"PO-Revision-Date: 2013-12-27 04:38+0000\n" +"Last-Translator: Andy Cheng <andy@dobtor.com>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-12 05:19+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-12-28 05:19+0000\n" +"X-Generator: Launchpad (build 16877)\n" #. module: base_vat #: view:res.partner:0 msgid "Check Validity" -msgstr "" +msgstr "檢查有效性" #. module: base_vat #: code:addons/base_vat/base_vat.py:152 @@ -28,11 +28,13 @@ msgid "" "This VAT number does not seem to be valid.\n" "Note: the expected format is %s" msgstr "" +"這個統編似乎是無效的。\n" +"提醒:格式應為 %s" #. module: base_vat #: field:res.company,vat_check_vies:0 msgid "VIES VAT Check" -msgstr "" +msgstr "VIES 統編(VAT)檢查" #. module: base_vat #: model:ir.model,name:base_vat.model_res_company @@ -43,7 +45,7 @@ msgstr "公司" #: code:addons/base_vat/base_vat.py:113 #, python-format msgid "Error!" -msgstr "錯誤!" +msgstr "錯誤!" #. module: base_vat #: help:res.partner,vat_subjected:0 @@ -51,20 +53,23 @@ msgid "" "Check this box if the partner is subjected to the VAT. It will be used for " "the VAT legal statement." msgstr "" +"Check this box if the partner is subjected to the VAT. It will be used for " +"the VAT legal statement.\r\n" +"如果該業務夥伴需申報(加值型)營業稅,則勾選此框。這會用在營業稅相關的稅務報告。" #. module: base_vat #: model:ir.model,name:base_vat.model_res_partner msgid "Partner" -msgstr "夥伴" +msgstr "業務夥伴" #. module: base_vat #: help:res.company,vat_check_vies:0 msgid "" "If checked, Partners VAT numbers will be fully validated against EU's VIES " "service rather than via a simple format validation (checksum)." -msgstr "" +msgstr "如果勾選此框,則業務夥伴的統編會以歐盟的 VIES 做完整檢查,否則僅會作基本格式檢查(checksum檢查)。" #. module: base_vat #: field:res.partner,vat_subjected:0 msgid "VAT Legal Statement" -msgstr "" +msgstr "營業稅報告" diff --git a/addons/board/i18n/he.po b/addons/board/i18n/he.po new file mode 100644 index 00000000000..d6a4466de8d --- /dev/null +++ b/addons/board/i18n/he.po @@ -0,0 +1,167 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-12-30 18:41+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: board +#: model:ir.actions.act_window,name:board.action_board_create +#: model:ir.ui.menu,name:board.menu_board_create +msgid "Create Board" +msgstr "" + +#. module: board +#: view:board.create:0 +msgid "Create" +msgstr "" + +#. module: board +#. openerp-web +#: code:addons/board/static/src/xml/board.xml:4 +#, python-format +msgid "Reset Layout.." +msgstr "" + +#. module: board +#: view:board.create:0 +msgid "Create New Dashboard" +msgstr "" + +#. module: board +#. openerp-web +#: code:addons/board/static/src/xml/board.xml:40 +#, python-format +msgid "Choose dashboard layout" +msgstr "" + +#. module: board +#. openerp-web +#: code:addons/board/static/src/xml/board.xml:70 +#, python-format +msgid "Add" +msgstr "" + +#. module: board +#. openerp-web +#: code:addons/board/static/src/js/dashboard.js:139 +#, python-format +msgid "Are you sure you want to remove this item ?" +msgstr "" + +#. module: board +#: model:ir.model,name:board.model_board_board +msgid "Board" +msgstr "" + +#. module: board +#: view:board.board:0 +#: model:ir.actions.act_window,name:board.open_board_my_dash_action +#: model:ir.ui.menu,name:board.menu_board_my_dash +msgid "My Dashboard" +msgstr "" + +#. module: board +#: field:board.create,name:0 +msgid "Board Name" +msgstr "" + +#. module: board +#: model:ir.model,name:board.model_board_create +msgid "Board Creation" +msgstr "" + +#. module: board +#. openerp-web +#: code:addons/board/static/src/xml/board.xml:67 +#, python-format +msgid "Add to Dashboard" +msgstr "" + +#. module: board +#. openerp-web +#: code:addons/board/static/src/xml/board.xml:28 +#, python-format +msgid " " +msgstr "" + +#. module: board +#: model:ir.actions.act_window,help:board.open_board_my_dash_action +msgid "" +"<div class=\"oe_empty_custom_dashboard\">\n" +" <p>\n" +" <b>Your personal dashboard is empty.</b>\n" +" </p><p>\n" +" To add your first report into this dashboard, go to any\n" +" menu, switch to list or graph view, and click <i>'Add " +"to\n" +" Dashboard'</i> in the extended search options.\n" +" </p><p>\n" +" You can filter and group data before inserting into the\n" +" dashboard using the search options.\n" +" </p>\n" +" </div>\n" +" " +msgstr "" + +#. module: board +#. openerp-web +#: code:addons/board/static/src/xml/board.xml:6 +#, python-format +msgid "Reset" +msgstr "" + +#. module: board +#: field:board.create,menu_parent_id:0 +msgid "Parent Menu" +msgstr "" + +#. module: board +#. openerp-web +#: code:addons/board/static/src/xml/board.xml:8 +#, python-format +msgid "Change Layout.." +msgstr "" + +#. module: board +#. openerp-web +#: code:addons/board/static/src/js/dashboard.js:93 +#, python-format +msgid "Edit Layout" +msgstr "" + +#. module: board +#. openerp-web +#: code:addons/board/static/src/xml/board.xml:10 +#, python-format +msgid "Change Layout" +msgstr "" + +#. module: board +#: view:board.create:0 +msgid "Cancel" +msgstr "" + +#. module: board +#: view:board.create:0 +msgid "or" +msgstr "" + +#. module: board +#. openerp-web +#: code:addons/board/static/src/xml/board.xml:69 +#, python-format +msgid "Title of new dashboard item" +msgstr "" diff --git a/addons/contacts/i18n/he.po b/addons/contacts/i18n/he.po new file mode 100644 index 00000000000..a1cb06dbc41 --- /dev/null +++ b/addons/contacts/i18n/he.po @@ -0,0 +1,37 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-12-30 18:41+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: contacts +#: model:ir.actions.act_window,help:contacts.action_contacts +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to add a contact in your address book.\n" +" </p><p>\n" +" OpenERP helps you easily track all activities related to\n" +" a customer; discussions, history of business opportunities,\n" +" documents, etc.\n" +" </p>\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/sk.po b/addons/contacts/i18n/sk.po new file mode 100644 index 00000000000..96ec90214cf --- /dev/null +++ b/addons/contacts/i18n/sk.po @@ -0,0 +1,37 @@ +# Slovak translation for openobject-addons +# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2014-01-04 10:36+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Slovak <sk@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2014-01-05 05:26+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: contacts +#: model:ir.actions.act_window,help:contacts.action_contacts +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to add a contact in your address book.\n" +" </p><p>\n" +" OpenERP helps you easily track all activities related to\n" +" a customer; discussions, history of business opportunities,\n" +" documents, etc.\n" +" </p>\n" +" " +msgstr "" + +#. module: contacts +#: model:ir.actions.act_window,name:contacts.action_contacts +#: model:ir.ui.menu,name:contacts.menu_contacts +msgid "Contacts" +msgstr "Kontakty" diff --git a/addons/crm/crm_lead_view.xml b/addons/crm/crm_lead_view.xml index 1fcd7311a79..1107234b928 100644 --- a/addons/crm/crm_lead_view.xml +++ b/addons/crm/crm_lead_view.xml @@ -411,7 +411,7 @@ on_change="on_change_partner_id(partner_id)" string="Customer" context="{'default_name': partner_name, 'default_email': email_from, 'default_phone': phone}"/> - <field name="email_from" string="Email"/> + <field name="email_from" string="Email" widget="email"/> <field name="phone"/> </group> diff --git a/addons/crm/i18n/he.po b/addons/crm/i18n/he.po new file mode 100644 index 00000000000..1f496821c20 --- /dev/null +++ b/addons/crm/i18n/he.po @@ -0,0 +1,3014 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:04+0000\n" +"PO-Revision-Date: 2013-12-26 23:09+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-27 05:22+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: crm +#: view:crm.lead.report:0 +msgid "# Leads" +msgstr "" + +#. module: crm +#: help:sale.config.settings,fetchmail_lead:0 +msgid "" +"Allows you to configure your incoming mail server, and create leads from " +"incoming emails." +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:898 +#: selection:crm.case.stage,type:0 +#: view:crm.lead:0 +#: selection:crm.lead,type:0 +#: view:crm.lead.report:0 +#: selection:crm.lead.report,type:0 +#, python-format +msgid "Lead" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: field:crm.lead,title:0 +msgid "Title" +msgstr "" + +#. module: crm +#: model:ir.actions.server,message:crm.action_email_reminder_lead +msgid "" +"Warning unprocessed incoming lead is more than 5 day old.\n" +"Name: [[object.name ]]\n" +"ID: [[object.id ]]\n" +"Description: [[object.description]]\n" +" " +msgstr "" + +#. module: crm +#: field:crm.opportunity2phonecall,action:0 +#: field:crm.phonecall2phonecall,action:0 +msgid "Action" +msgstr "" + +#. module: crm +#: model:ir.actions.server,name:crm.action_set_team_sales_department +msgid "Set team to Sales Department" +msgstr "" + +#. module: crm +#: view:crm.lead2opportunity.partner.mass:0 +msgid "Select Opportunities" +msgstr "" + +#. module: crm +#: model:res.groups,name:crm.group_fund_raising +#: field:sale.config.settings,group_fund_raising:0 +msgid "Manage Fund Raising" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +#: field:crm.phonecall.report,delay_close:0 +msgid "Delay to close" +msgstr "" + +#. module: crm +#: view:crm.case.stage:0 +#: field:crm.case.stage,name:0 +msgid "Stage Name" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: field:crm.lead,user_id:0 +#: view:crm.lead.report:0 +#: view:crm.phonecall.report:0 +msgid "Salesperson" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_crm_lead_report +msgid "CRM Lead Analysis" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +#: view:crm.phonecall.report:0 +#: field:crm.phonecall.report,day:0 +msgid "Day" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Company Name" +msgstr "" + +#. module: crm +#: model:crm.case.categ,name:crm.categ_oppor6 +msgid "Training" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.crm_lead_categ_action +#: model:ir.ui.menu,name:crm.menu_crm_lead_categ +msgid "Sales Tags" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "Exp. Closing" +msgstr "" + +#. module: crm +#: help:crm.case.section,message_unread:0 +#: help:crm.lead,message_unread:0 +#: help:crm.phonecall,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: crm +#: help:crm.lead.report,creation_day:0 +msgid "Creation day" +msgstr "" + +#. module: crm +#: field:crm.segmentation.line,name:0 +msgid "Rule Name" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_phonecall.py:280 +#, python-format +msgid "It's only possible to convert one phonecall at a time." +msgstr "" + +#. module: crm +#: view:crm.case.resource.type:0 +#: view:crm.lead:0 +#: field:crm.lead,type_id:0 +#: view:crm.lead.report:0 +#: field:crm.lead.report,type_id:0 +#: model:ir.model,name:crm.model_crm_case_resource_type +msgid "Campaign" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Search Opportunities" +msgstr "" + +#. module: crm +#: help:crm.lead.report,deadline_month:0 +msgid "Expected closing month" +msgstr "" + +#. module: crm +#: help:crm.case.section,message_summary:0 +#: help:crm.lead,message_summary:0 +#: help:crm.phonecall,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:640 +#: code:addons/crm/crm_lead.py:761 +#: code:addons/crm/crm_phonecall.py:280 +#, python-format +msgid "Warning!" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: field:crm.lead,partner_id:0 +#: view:crm.lead.report:0 +#: field:crm.lead.report,partner_id:0 +#: field:crm.opportunity2phonecall,partner_id:0 +#: view:crm.phonecall:0 +#: view:crm.phonecall.report:0 +#: field:crm.phonecall.report,partner_id:0 +#: field:crm.phonecall2phonecall,partner_id:0 +#: model:ir.model,name:crm.model_res_partner +#: model:process.node,name:crm.process_node_partner0 +msgid "Partner" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +#: model:ir.actions.act_window,name:crm.phonecall_to_phonecall_act +msgid "Schedule Other Call" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_phonecall.py:209 +#: view:crm.phonecall:0 +#, python-format +msgid "Phone Call" +msgstr "" + +#. module: crm +#: field:crm.lead,opt_out:0 +msgid "Opt-Out" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: field:crm.lead,state_id:0 +msgid "State" +msgstr "" + +#. module: crm +#: field:res.partner,meeting_count:0 +msgid "# Meetings" +msgstr "" + +#. module: crm +#: model:ir.actions.server,name:crm.action_email_reminder_lead +msgid "Reminder to User" +msgstr "" + +#. module: crm +#: field:crm.segmentation,segmentation_line:0 +msgid "Criteria" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +msgid "Excluded Answers :" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_crm_merge_opportunity +msgid "Merge opportunities" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +#: model:ir.actions.act_window,name:crm.action_report_crm_lead +#: model:ir.ui.menu,name:crm.menu_report_crm_leads_tree +msgid "Leads Analysis" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:1010 +#, python-format +msgid "<b>%s a call</b> for the <em>%s</em>." +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.crm_case_resource_type_act +#: model:ir.ui.menu,name:crm.menu_crm_case_resource_type_act +msgid "Campaigns" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: field:crm.lead,categ_ids:0 +#: model:ir.ui.menu,name:crm.menu_crm_case_phonecall-act +msgid "Categories" +msgstr "" + +#. module: crm +#: help:crm.lead,opt_out:0 +msgid "" +"If opt-out is checked, this contact has refused to receive emails or " +"unsubscribed to a campaign." +msgstr "" + +#. module: crm +#: model:process.transition,name:crm.process_transition_leadpartner0 +msgid "Prospect Partner" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:1002 +#, python-format +msgid "No Subject" +msgstr "" + +#. module: crm +#: field:crm.lead,contact_name:0 +msgid "Contact Name" +msgstr "" + +#. module: crm +#: help:crm.segmentation,categ_id:0 +msgid "" +"The partner category that will be added to partners that match the " +"segmentation criterions after computation." +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.crm_segmentation_tree-act +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to define a new customer segmentation.\n" +" </p><p>\n" +" Create specific categories which you can assign to your\n" +" contacts to better manage your interactions with them. The\n" +" segmentation tool is able to assign categories to contacts\n" +" according to criteria you set.\n" +" </p>\n" +" " +msgstr "" + +#. module: crm +#: field:crm.opportunity2phonecall,contact_name:0 +#: field:crm.phonecall,partner_id:0 +#: field:crm.phonecall2phonecall,contact_name:0 +msgid "Contact" +msgstr "" + +#. module: crm +#: help:crm.case.section,change_responsible:0 +msgid "" +"When escalating to this team override the salesman with the team leader." +msgstr "" + +#. module: crm +#: model:process.transition,name:crm.process_transition_opportunitymeeting0 +msgid "Opportunity Meeting" +msgstr "" + +#. module: crm +#: help:crm.lead.report,delay_close:0 +#: help:crm.phonecall.report,delay_close:0 +msgid "Number of Days to close the case" +msgstr "" + +#. module: crm +#: model:process.node,note:crm.process_node_opportunities0 +msgid "When a real project/opportunity is detected" +msgstr "" + +#. module: crm +#: field:res.partner,opportunity_ids:0 +msgid "Leads and Opportunities" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.relate_partner_opportunities +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create an opportunity related to this customer.\n" +" </p><p>\n" +" Use opportunities to keep track of your sales pipeline, " +"follow\n" +" up potential sales and better forecast your future " +"revenues.\n" +" </p><p>\n" +" You will be able to plan meetings and phone calls from\n" +" opportunities, convert them into quotations, attach related\n" +" documents, track all discussions, and much more.\n" +" </p>\n" +" " +msgstr "" + +#. module: crm +#: model:crm.case.stage,name:crm.stage_lead7 +#: view:crm.lead:0 +msgid "Dead" +msgstr "" + +#. module: crm +#: field:crm.case.section,message_unread:0 +#: view:crm.lead:0 +#: field:crm.lead,message_unread:0 +#: field:crm.phonecall,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +#: field:crm.segmentation.line,segmentation_id:0 +#: model:ir.actions.act_window,name:crm.crm_segmentation-act +msgid "Segmentation" +msgstr "" + +#. module: crm +#: selection:crm.lead2opportunity.partner,action:0 +#: selection:crm.lead2opportunity.partner.mass,action:0 +#: selection:crm.partner.binding,action:0 +msgid "Link to an existing customer" +msgstr "" + +#. module: crm +#: field:crm.lead,write_date:0 +msgid "Update Date" +msgstr "" + +#. module: crm +#: field:crm.case.section,user_id:0 +msgid "Team Leader" +msgstr "" + +#. module: crm +#: help:crm.case.stage,probability:0 +msgid "" +"This percentage depicts the default/average probability of the Case for this " +"stage to be a success" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: field:crm.opportunity2phonecall,categ_id:0 +#: field:crm.phonecall,categ_id:0 +#: view:crm.phonecall.report:0 +#: field:crm.phonecall.report,categ_id:0 +#: field:crm.phonecall2phonecall,categ_id:0 +msgid "Category" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "#Opportunities" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:640 +#, python-format +msgid "" +"Please select more than one element (lead or opportunity) from the list view." +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Leads that are assigned to one of the sale teams I manage, or to me" +msgstr "" + +#. module: crm +#: field:crm.lead,partner_address_email:0 +msgid "Partner Contact Email" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.crm_case_section_act +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to define a new sales team.\n" +" </p><p>\n" +" Use sales team to organize your different salespersons or\n" +" departments into separate teams. Each team will work in\n" +" its own list of opportunities.\n" +" </p>\n" +" " +msgstr "" + +#. module: crm +#: model:process.transition,note:crm.process_transition_opportunitymeeting0 +msgid "Normal or phone meeting for opportunity" +msgstr "" + +#. module: crm +#: field:crm.lead,state:0 +#: field:crm.lead.report,state:0 +#: field:crm.phonecall,state:0 +#: view:crm.phonecall.report:0 +#: field:crm.phonecall.report,state:0 +msgid "Status" +msgstr "" + +#. module: crm +#: view:crm.lead2opportunity.partner:0 +msgid "Create Opportunity" +msgstr "" + +#. module: crm +#: view:sale.config.settings:0 +msgid "Configure" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Escalate" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Mailings" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,description:crm.mt_lead_stage +msgid "Stage changed" +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 +#: selection:crm.phonecall.report,month:0 +msgid "June" +msgstr "" + +#. module: crm +#: selection:crm.segmentation,state:0 +msgid "Not Running" +msgstr "" + +#. module: crm +#: field:crm.lead.report,planned_revenue:0 +msgid "Planned Revenue" +msgstr "" + +#. module: crm +#: field:crm.lead,planned_revenue:0 +msgid "Expected Revenue" +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 +#: selection:crm.phonecall.report,month:0 +msgid "October" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +msgid "Included Answers :" +msgstr "" + +#. module: crm +#: help:crm.phonecall,state:0 +msgid "" +"The status is set to 'Todo', when a case is created. " +" If the case is in progress the status is set to 'Open'. " +" When the call is over, the status is set to 'Held'. " +" If the call needs to be done then the status is set " +"to 'Not Held'." +msgstr "" + +#. module: crm +#: field:crm.case.section,message_summary:0 +#: field:crm.lead,message_summary:0 +#: field:crm.phonecall,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: crm +#: view:crm.merge.opportunity:0 +msgid "Merge" +msgstr "" + +#. module: crm +#: model:email.template,subject:crm.email_template_opportunity_mail +msgid "Opportunity ${object.name | h})" +msgstr "" + +#. module: crm +#: view:crm.case.categ:0 +msgid "Case Category" +msgstr "" + +#. module: crm +#: field:crm.lead,partner_address_name:0 +msgid "Partner Contact Name" +msgstr "" + +#. module: crm +#: model:ir.actions.server,subject:crm.action_email_reminder_lead +msgid "" +"Reminder on Lead: [[object.id ]] [[object.partner_id and 'of ' " +"+object.partner_id.name or '']]" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +msgid "Profiling Options" +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +msgid "#Phone calls" +msgstr "" + +#. module: crm +#: sql_constraint:crm.case.section:0 +msgid "The code of the sales team must be unique !" +msgstr "" + +#. module: crm +#: help:crm.lead,email_from:0 +msgid "Email address of the contact" +msgstr "" + +#. module: crm +#: selection:crm.case.stage,state:0 +#: view:crm.lead:0 +#: selection:crm.lead,state:0 +msgid "In Progress" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.crm_phonecall_categ_action +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to add a new category.\n" +" </p><p>\n" +" Create specific phone call categories to better define the type " +"of\n" +" calls tracked in the system.\n" +" </p>\n" +" " +msgstr "" + +#. module: crm +#: help:crm.case.section,reply_to:0 +msgid "" +"The email address put in the 'Reply-To' of all emails sent by OpenERP about " +"cases in this sales team" +msgstr "" + +#. module: crm +#: field:crm.lead.report,creation_month:0 +msgid "Creation Month" +msgstr "" + +#. module: crm +#: field:crm.case.section,resource_calendar_id:0 +#: model:ir.ui.menu,name:crm.menu_action_resource_calendar_form +msgid "Working Time" +msgstr "" + +#. module: crm +#: view:crm.segmentation.line:0 +msgid "Partner Segmentation Lines" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.action_report_crm_phonecall +#: model:ir.ui.menu,name:crm.menu_report_crm_phonecalls_tree +msgid "Phone Calls Analysis" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Leads Form" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +#: model:ir.model,name:crm.model_crm_segmentation +msgid "Partner Segmentation" +msgstr "" + +#. module: crm +#: field:crm.lead,company_currency:0 +msgid "Currency" +msgstr "" + +#. module: crm +#: field:crm.lead.report,probable_revenue:0 +msgid "Probable Revenue" +msgstr "" + +#. module: crm +#: help:crm.lead.report,creation_month:0 +msgid "Creation month" +msgstr "" + +#. module: crm +#: help:crm.segmentation,name:0 +msgid "The name of the segmentation." +msgstr "" + +#. module: crm +#: field:crm.case.stage,probability:0 +msgid "Probability (%)" +msgstr "" + +#. module: crm +#: sql_constraint:crm.lead:0 +msgid "The probability of closing the deal should be between 0% and 100%!" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Leads Generation" +msgstr "" + +#. module: crm +#: view:board.board:0 +msgid "Statistics Dashboard" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:878 +#: model:crm.case.stage,name:crm.stage_lead2 +#: selection:crm.case.stage,type:0 +#: view:crm.lead:0 +#: selection:crm.lead,type:0 +#: view:crm.lead.report:0 +#: selection:crm.lead.report,type:0 +#: field:crm.meeting,opportunity_id:0 +#: field:res.partner,opportunity_count:0 +#, python-format +msgid "Opportunity" +msgstr "" + +#. module: crm +#: model:crm.case.resource.type,name:crm.type_lead7 +msgid "Television" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.action_crm_send_mass_convert +msgid "Convert to opportunities" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_sale_config_settings +msgid "sale.config.settings" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +msgid "Stop Process" +msgstr "" + +#. module: crm +#: field:crm.case.section,alias_id:0 +msgid "Alias" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +msgid "Search Phonecalls" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "" +"Leads/Opportunities that are assigned to one of the sale teams I manage" +msgstr "" + +#. module: crm +#: field:calendar.attendee,categ_id:0 +msgid "Event Type" +msgstr "" + +#. module: crm +#: field:crm.segmentation,exclusif:0 +msgid "Exclusive" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:600 +#, python-format +msgid "From %s : %s" +msgstr "" + +#. module: crm +#: view:crm.lead2opportunity.partner.mass:0 +msgid "Convert to Opportunities" +msgstr "" + +#. module: crm +#: view:crm.lead2opportunity.partner:0 +#: view:crm.lead2opportunity.partner.mass:0 +#: view:crm.merge.opportunity:0 +#: view:crm.opportunity2phonecall:0 +#: view:crm.phonecall2phonecall:0 +msgid "or" +msgstr "" + +#. module: crm +#: field:crm.lead.report,create_date:0 +#: field:crm.phonecall.report,create_date:0 +msgid "Create Date" +msgstr "" + +#. module: crm +#: field:crm.lead,ref2:0 +msgid "Reference 2" +msgstr "" + +#. module: crm +#: help:crm.case.stage,section_ids:0 +msgid "" +"Link between stages and sales teams. When set, this limitate the current " +"stage to the selected sales teams." +msgstr "" + +#. module: crm +#: view:crm.case.stage:0 +#: field:crm.case.stage,requirements:0 +msgid "Requirements" +msgstr "" + +#. module: crm +#: field:crm.lead,zip:0 +msgid "Zip" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +msgid "Unassigned Phonecalls" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: view:crm.lead2opportunity.partner:0 +#: field:crm.lead2opportunity.partner,opportunity_ids:0 +#: field:crm.lead2opportunity.partner.mass,opportunity_ids:0 +#: model:ir.actions.act_window,name:crm.crm_case_category_act_oppor11 +#: model:ir.actions.act_window,name:crm.relate_partner_opportunities +#: model:ir.ui.menu,name:crm.menu_crm_opportunities +#: model:process.node,name:crm.process_node_opportunities0 +#: view:res.partner:0 +msgid "Opportunities" +msgstr "" + +#. module: crm +#: field:crm.segmentation,categ_id:0 +msgid "Partner Category" +msgstr "" + +#. module: crm +#: field:crm.lead,probability:0 +msgid "Success Rate (%)" +msgstr "" + +#. module: crm +#: field:crm.segmentation,sales_purchase_active:0 +msgid "Use The Sales Purchase Rules" +msgstr "" + +#. module: crm +#: model:crm.case.categ,name:crm.categ_phone2 +msgid "Outbound" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Mark Won" +msgstr "" + +#. module: crm +#: model:ir.filters,name:crm.filter_usa_lead +msgid "Leads from USA" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Mark Lost" +msgstr "" + +#. module: crm +#: model:ir.filters,name:crm.filter_draft_lead +msgid "Draft Leads" +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 +#: selection:crm.phonecall.report,month:0 +msgid "March" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Send Email" +msgstr "" + +#. module: crm +#: code:addons/crm/wizard/crm_lead_to_opportunity.py:89 +#, python-format +msgid "Warning !" +msgstr "" + +#. module: crm +#: field:crm.lead,day_open:0 +msgid "Days to Open" +msgstr "" + +#. module: crm +#: field:crm.lead,mobile:0 +#: field:crm.phonecall,partner_mobile:0 +msgid "Mobile" +msgstr "" + +#. module: crm +#: field:crm.lead,ref:0 +msgid "Reference" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "" +"Opportunities that are assigned to either me or one of the sale teams I " +"manage" +msgstr "" + +#. module: crm +#: help:crm.case.section,resource_calendar_id:0 +msgid "Used to compute open days" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.act_crm_opportunity_crm_meeting_new +#: model:ir.actions.act_window,name:crm.crm_meeting_partner +#: view:res.partner:0 +#: field:res.partner,meeting_ids:0 +msgid "Meetings" +msgstr "" + +#. module: crm +#: field:crm.lead,date_action_next:0 +#: field:crm.lead,title_action:0 +#: field:crm.phonecall,date_action_next:0 +msgid "Next Action" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:780 +#, python-format +msgid "<b>Partner</b> set to <em>%s</em>." +msgstr "" + +#. module: crm +#: selection:crm.lead.report,state:0 +#: selection:crm.phonecall,state:0 +#: selection:crm.phonecall.report,state:0 +msgid "Draft" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +msgid "Partner Segmentations" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "Show only opportunity" +msgstr "" + +#. module: crm +#: field:crm.lead,name:0 +msgid "Subject" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "New Leads" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Show Sales Team" +msgstr "" + +#. module: crm +#: help:sale.config.settings,module_crm_claim:0 +msgid "" +"Allows you to track your customers/suppliers claims and grievances.\n" +" This installs the module crm_claim." +msgstr "" + +#. module: crm +#: model:crm.case.stage,name:crm.stage_lead6 +#: view:crm.lead:0 +msgid "Won" +msgstr "" + +#. module: crm +#: field:crm.lead.report,delay_expected:0 +msgid "Overpassed Deadline" +msgstr "" + +#. module: crm +#: model:crm.case.section,name:crm.section_sales_department +msgid "Sales Department" +msgstr "" + +#. module: crm +#: field:crm.case.stage,type:0 +#: field:crm.lead,type:0 +#: field:crm.lead.report,type:0 +#: view:crm.opportunity2phonecall:0 +msgid "Type" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +msgid "Compute Segmentation" +msgstr "" + +#. module: crm +#: selection:crm.lead,priority:0 +#: selection:crm.lead.report,priority:0 +#: selection:crm.phonecall,priority:0 +#: selection:crm.phonecall.report,priority:0 +msgid "Lowest" +msgstr "" + +#. module: crm +#: field:crm.lead,create_date:0 +#: view:crm.phonecall:0 +#: field:crm.phonecall,create_date:0 +#: field:crm.phonecall.report,creation_date:0 +msgid "Creation Date" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:715 +#, python-format +msgid "Lead <b>converted into an Opportunity</b>" +msgstr "" + +#. module: crm +#: selection:crm.segmentation.line,expr_name:0 +msgid "Purchase Amount" +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +msgid "Year of call" +msgstr "" + +#. module: crm +#: view:crm.case.stage:0 +#: view:crm.lead:0 +#: field:crm.lead,stage_id:0 +#: view:crm.lead.report:0 +#: field:crm.lead.report,stage_id:0 +msgid "Stage" +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +msgid "Phone Calls that are assigned to me" +msgstr "" + +#. module: crm +#: field:crm.lead,user_login:0 +msgid "User Login" +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +msgid "Phone calls which are in pending state" +msgstr "" + +#. module: crm +#: view:crm.case.section:0 +#: field:crm.case.section,stage_ids:0 +#: view:crm.case.stage:0 +#: model:ir.actions.act_window,name:crm.crm_case_stage_act +#: model:ir.actions.act_window,name:crm.crm_lead_stage_act +#: model:ir.ui.menu,name:crm.menu_crm_lead_stage_act +msgid "Stages" +msgstr "" + +#. module: crm +#: help:sale.config.settings,module_crm_helpdesk:0 +msgid "" +"Allows you to communicate with Customer, process Customer query, and " +"provide better help and support. This installs the module crm_helpdesk." +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Delete" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,description:crm.mt_lead_create +msgid "Opportunity created" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "í" +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 +#: selection:crm.phonecall.report,month:0 +msgid "September" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.crm_case_category_act_oppor11 +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a new opportunity.\n" +" </p><p>\n" +" OpenERP helps you keep track of your sales pipeline to follow\n" +" up potential sales and better forecast your future revenues.\n" +" </p><p>\n" +" You will be able to plan meetings and phone calls from\n" +" opportunities, convert them into quotations, attach related\n" +" documents, track all discussions, and much more.\n" +" </p>\n" +" " +msgstr "" + +#. module: crm +#: field:crm.segmentation,partner_id:0 +msgid "Max Partner ID processed" +msgstr "" + +#. module: crm +#: help:crm.case.stage,on_change:0 +msgid "" +"Setting this stage will change the probability automatically on the " +"opportunity." +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "oe_kanban_text_red" +msgstr "" + +#. module: crm +#: model:ir.ui.menu,name:crm.menu_crm_payment_mode_act +msgid "Payment Modes" +msgstr "" + +#. module: crm +#: field:crm.lead.report,opening_date:0 +#: field:crm.phonecall.report,opening_date:0 +msgid "Opening Date" +msgstr "" + +#. module: crm +#: help:crm.phonecall,duration:0 +msgid "Duration in Minutes" +msgstr "" + +#. module: crm +#: field:crm.case.channel,name:0 +msgid "Channel Name" +msgstr "" + +#. module: crm +#: help:crm.lead.report,deadline_day:0 +msgid "Expected closing day" +msgstr "" + +#. module: crm +#: help:crm.case.section,active:0 +msgid "" +"If the active field is set to true, it will allow you to hide the sales team " +"without removing it." +msgstr "" + +#. module: crm +#: help:crm.case.stage,case_default:0 +msgid "" +"If you check this field, this stage will be proposed by default on each " +"sales team. It will not assign this stage to existing teams." +msgstr "" + +#. module: crm +#: help:crm.case.stage,type:0 +msgid "" +"This field is used to distinguish stages related to Leads from stages " +"related to Opportunities, or to specify stages available for both types." +msgstr "" + +#. module: crm +#: model:mail.message.subtype,name:crm.mt_lead_create +#: model:mail.message.subtype,name:crm.mt_salesteam_lead +msgid "Lead Created" +msgstr "" + +#. module: crm +#: help:crm.segmentation,sales_purchase_active:0 +msgid "" +"Check if you want to use this tab as part of the segmentation rule. If not " +"checked, the criteria beneath will be ignored" +msgstr "" + +#. module: crm +#: field:crm.segmentation,state:0 +msgid "Execution Status" +msgstr "" + +#. module: crm +#: view:crm.opportunity2phonecall:0 +msgid "Log call" +msgstr "" + +#. module: crm +#: field:crm.lead,day_close:0 +msgid "Days to Close" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:1057 +#: field:crm.case.section,complete_name:0 +#, python-format +msgid "unknown" +msgstr "" + +#. module: crm +#: field:crm.case.section,message_is_follower:0 +#: field:crm.lead,message_is_follower:0 +#: field:crm.phonecall,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: crm +#: field:crm.opportunity2phonecall,date:0 +#: view:crm.phonecall:0 +#: field:crm.phonecall,date:0 +#: field:crm.phonecall2phonecall,date:0 +msgid "Date" +msgstr "" + +#. module: crm +#: model:crm.case.section,name:crm.crm_case_section_4 +msgid "Online Support" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +#: view:crm.phonecall.report:0 +msgid "Extended Filters..." +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +msgid "Phone calls which are in closed state" +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +msgid "Search" +msgstr "" + +#. module: crm +#: help:crm.lead,state:0 +msgid "" +"The Status is set to 'Draft', when a case is created. If the case is in " +"progress the Status is set to 'Open'. When the case is over, the Status is " +"set to 'Done'. If the case needs to be reviewed then the Status is set to " +"'Pending'." +msgstr "" + +#. module: crm +#: model:crm.case.section,name:crm.crm_case_section_1 +msgid "Sales Marketing Department" +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +msgid "Date of call" +msgstr "" + +#. module: crm +#: help:crm.lead,section_id:0 +msgid "" +"When sending mails, the default email address is taken from the sales team." +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +msgid "" +"Phone Calls Assigned to the current user or with a team having the current " +"user as team leader" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +msgid "Segmentation Description" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Lead Description" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:581 +#, python-format +msgid "Merged opportunities" +msgstr "" + +#. module: crm +#: model:crm.case.categ,name:crm.categ_oppor7 +msgid "Consulting" +msgstr "" + +#. module: crm +#: field:crm.case.section,code:0 +msgid "Code" +msgstr "" + +#. module: crm +#: view:sale.config.settings:0 +msgid "Features" +msgstr "" + +#. module: crm +#: field:crm.case.section,child_ids:0 +msgid "Child Teams" +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +msgid "Phone calls which are in draft and open state" +msgstr "" + +#. module: crm +#: field:crm.lead2opportunity.partner.mass,user_ids:0 +msgid "Salesmen" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "References" +msgstr "" + +#. module: crm +#: view:crm.lead2opportunity.partner:0 +#: view:crm.lead2opportunity.partner.mass:0 +#: view:crm.merge.opportunity:0 +#: view:crm.opportunity2phonecall:0 +#: view:crm.phonecall:0 +#: view:crm.phonecall2phonecall:0 +msgid "Cancel" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Opportunities Assigned to Me or My Team(s)" +msgstr "" + +#. module: crm +#: model:crm.case.categ,name:crm.categ_oppor4 +msgid "Information" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "Leads/Opportunities which are in pending state" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +msgid "To Do" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,description:crm.mt_lead_lost +msgid "Opportunity lost" +msgstr "" + +#. module: crm +#: field:crm.lead2opportunity.partner,action:0 +#: field:crm.lead2opportunity.partner.mass,action:0 +#: field:crm.partner.binding,action:0 +msgid "Related Customer" +msgstr "" + +#. module: crm +#: model:crm.case.categ,name:crm.categ_oppor8 +msgid "Other" +msgstr "" + +#. module: crm +#: field:crm.phonecall,opportunity_id:0 +#: model:ir.model,name:crm.model_crm_lead +msgid "Lead/Opportunity" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.action_merge_opportunities +#: model:ir.actions.act_window,name:crm.merge_opportunity_act +msgid "Merge leads/opportunities" +msgstr "" + +#. module: crm +#: help:crm.case.stage,sequence:0 +msgid "Used to order stages. Lower is better." +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.crm_phonecall_categ_action +msgid "Phonecall Categories" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "Leads/Opportunities which are in open state" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_res_users +msgid "Users" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,name:crm.mt_lead_stage +msgid "Stage Changed" +msgstr "" + +#. module: crm +#: field:crm.case.stage,section_ids:0 +msgid "Sections" +msgstr "" + +#. module: crm +#: constraint:crm.case.section:0 +msgid "Error ! You cannot create recursive Sales team." +msgstr "" + +#. module: crm +#: selection:crm.opportunity2phonecall,action:0 +#: selection:crm.phonecall2phonecall,action:0 +msgid "Log a call" +msgstr "" + +#. module: crm +#: selection:crm.segmentation.line,expr_name:0 +msgid "Sale Amount" +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +#: model:ir.actions.act_window,name:crm.act_crm_opportunity_crm_phonecall_new +msgid "Phone calls" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.action_report_crm_opportunity +msgid "" +"Opportunities Analysis gives you an instant access to your opportunities " +"with information such as the expected revenue, planned cost, missed " +"deadlines or the number of interactions per opportunity. This report is " +"mainly used by the sales manager in order to do the periodic review with the " +"teams of the sales pipeline." +msgstr "" + +#. module: crm +#: field:crm.case.categ,name:0 +#: field:crm.payment.mode,name:0 +#: field:crm.segmentation,name:0 +msgid "Name" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "Leads/Opportunities that are assigned to me" +msgstr "" + +#. module: crm +#: field:crm.lead.report,date_closed:0 +#: field:crm.phonecall.report,date_closed:0 +msgid "Close Date" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "My Case(s)" +msgstr "" + +#. module: crm +#: help:crm.case.section,message_ids:0 +#: help:crm.lead,message_ids:0 +#: help:crm.phonecall,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Show Countries" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: view:crm.phonecall:0 +msgid "Creation" +msgstr "" + +#. module: crm +#: selection:crm.lead,priority:0 +#: selection:crm.lead.report,priority:0 +#: selection:crm.phonecall,priority:0 +#: selection:crm.phonecall.report,priority:0 +msgid "High" +msgstr "" + +#. module: crm +#: model:process.node,note:crm.process_node_partner0 +msgid "Convert to prospect to business partner" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_crm_payment_mode +msgid "CRM Payment Mode" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "Leads/Opportunities which are in done state" +msgstr "" + +#. module: crm +#: field:crm.lead.report,delay_close:0 +msgid "Delay to Close" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: view:crm.lead.report:0 +#: view:crm.phonecall:0 +#: view:crm.phonecall.report:0 +msgid "Group By..." +msgstr "" + +#. module: crm +#: view:crm.merge.opportunity:0 +msgid "Merge Leads/Opportunities" +msgstr "" + +#. module: crm +#: field:crm.case.section,parent_id:0 +msgid "Parent Team" +msgstr "" + +#. module: crm +#: selection:crm.lead2opportunity.partner,action:0 +#: selection:crm.lead2opportunity.partner.mass,action:0 +#: selection:crm.partner.binding,action:0 +msgid "Do not link to a customer" +msgstr "" + +#. module: crm +#: field:crm.lead,date_action:0 +msgid "Next Action Date" +msgstr "" + +#. module: crm +#: help:crm.case.stage,state:0 +msgid "" +"The status of your document will automatically change regarding the selected " +"stage. For example, if a stage is related to the status 'Close', when your " +"document reaches this stage, it is automatically closed." +msgstr "" + +#. module: crm +#: view:crm.lead2opportunity.partner.mass:0 +msgid "Assign opportunities to" +msgstr "" + +#. module: crm +#: model:crm.case.categ,name:crm.categ_phone1 +msgid "Inbound" +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +msgid "Month of call" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_phonecall.py:290 +#, python-format +msgid "Partner has been <b>created</b>." +msgstr "" + +#. module: crm +#: field:sale.config.settings,module_crm_claim:0 +msgid "Manage Customer Claims" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.action_report_crm_lead +msgid "" +"Leads Analysis allows you to check different CRM related information like " +"the treatment delays or number of leads per state. You can sort out your " +"leads analysis by different groups to get accurate grained analysis." +msgstr "" + +#. module: crm +#: model:crm.case.categ,name:crm.categ_oppor3 +msgid "Services" +msgstr "" + +#. module: crm +#: selection:crm.lead,priority:0 +#: selection:crm.lead.report,priority:0 +#: selection:crm.phonecall,priority:0 +#: selection:crm.phonecall.report,priority:0 +msgid "Highest" +msgstr "" + +#. module: crm +#: help:crm.lead.report,creation_year:0 +msgid "Creation year" +msgstr "" + +#. module: crm +#: view:crm.case.section:0 +#: field:crm.lead,description:0 +msgid "Notes" +msgstr "" + +#. module: crm +#: field:crm.segmentation.line,expr_value:0 +msgid "Value" +msgstr "" + +#. module: crm +#: field:crm.lead,partner_name:0 +msgid "Customer Name" +msgstr "" + +#. module: crm +#: field:crm.case.section,reply_to:0 +msgid "Reply-To" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Display" +msgstr "" + +#. module: crm +#: view:board.board:0 +msgid "Opportunities by Stage" +msgstr "" + +#. module: crm +#: model:process.transition,note:crm.process_transition_leadpartner0 +msgid "Prospect is converting to business partner" +msgstr "" + +#. module: crm +#: view:crm.case.channel:0 +#: model:ir.actions.act_window,name:crm.crm_case_channel_action +#: model:ir.model,name:crm.model_crm_case_channel +#: model:ir.ui.menu,name:crm.menu_crm_case_channel +msgid "Channels" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +#: selection:crm.phonecall,state:0 +#: view:crm.phonecall.report:0 +#: selection:crm.phonecall.report,state:0 +msgid "Held" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Extra Info" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Fund Raising" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Edit..." +msgstr "" + +#. module: crm +#: model:crm.case.resource.type,name:crm.type_lead5 +msgid "Google Adwords" +msgstr "" + +#. module: crm +#: view:crm.case.section:0 +msgid "Select Stages for this Sales Team" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: field:crm.lead,priority:0 +#: view:crm.lead.report:0 +#: field:crm.lead.report,priority:0 +#: field:crm.phonecall,priority:0 +#: view:crm.phonecall.report:0 +#: field:crm.phonecall.report,priority:0 +msgid "Priority" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_crm_lead2opportunity_partner +msgid "Lead To Opportunity Partner" +msgstr "" + +#. module: crm +#: help:crm.lead,partner_id:0 +msgid "Linked partner (optional). Usually created when converting the lead." +msgstr "" + +#. module: crm +#: field:crm.lead,payment_mode:0 +#: view:crm.payment.mode:0 +#: model:ir.actions.act_window,name:crm.action_crm_payment_mode +msgid "Payment Mode" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_crm_lead2opportunity_partner_mass +msgid "Mass Lead To Opportunity Partner" +msgstr "" + +#. module: crm +#: view:sale.config.settings:0 +msgid "On Mail Server" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.open_board_statistical_dash +#: model:ir.ui.menu,name:crm.menu_board_statistics_dash +msgid "CRM" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.crm_segmentation_tree-act +#: model:ir.ui.menu,name:crm.menu_crm_segmentation-act +msgid "Contacts Segmentation" +msgstr "" + +#. module: crm +#: model:process.node,note:crm.process_node_meeting0 +msgid "Schedule a normal or phone meeting" +msgstr "" + +#. module: crm +#: model:crm.case.resource.type,name:crm.type_lead1 +msgid "Telesales" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Leads Assigned to Me or My Team(s)" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_crm_segmentation_line +msgid "Segmentation line" +msgstr "" + +#. module: crm +#: view:crm.opportunity2phonecall:0 +#: view:crm.phonecall2phonecall:0 +msgid "Planned Date" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Expected Revenues" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Referrer" +msgstr "" + +#. module: crm +#: help:crm.lead,type:0 +#: help:crm.lead.report,type:0 +msgid "Type is used to separate Leads and Opportunities" +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 +#: selection:crm.phonecall.report,month:0 +msgid "July" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Lead / Customer" +msgstr "" + +#. module: crm +#: model:crm.case.section,name:crm.crm_case_section_2 +msgid "Support Department" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "Show only lead" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.crm_case_section_act +#: model:ir.model,name:crm.model_crm_case_section +#: model:ir.ui.menu,name:crm.menu_crm_case_section_act +msgid "Sales Teams" +msgstr "" + +#. module: crm +#: field:crm.case.stage,case_default:0 +msgid "Default to New Sales Team" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Team" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "Leads/Opportunities which are in New state" +msgstr "" + +#. module: crm +#: selection:crm.phonecall,state:0 +#: view:crm.phonecall.report:0 +msgid "Not Held" +msgstr "" + +#. module: crm +#: field:crm.lead.report,probability:0 +msgid "Probability" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +#: view:crm.phonecall.report:0 +#: field:crm.phonecall.report,month:0 +msgid "Month" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: model:ir.actions.act_window,name:crm.crm_case_category_act_leads_all +#: model:ir.ui.menu,name:crm.menu_crm_leads +#: model:process.node,name:crm.process_node_leads0 +msgid "Leads" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:579 +#, python-format +msgid "Merged leads" +msgstr "" + +#. module: crm +#: model:crm.case.categ,name:crm.categ_oppor5 +msgid "Design" +msgstr "" + +#. module: crm +#: selection:crm.lead2opportunity.partner,name:0 +#: selection:crm.lead2opportunity.partner.mass,name:0 +msgid "Merge with existing opportunities" +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +#: selection:crm.phonecall.report,state:0 +msgid "Todo" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,name:crm.mt_lead_convert_to_opportunity +#: model:mail.message.subtype,name:crm.mt_salesteam_lead_opportunity +msgid "Lead to Opportunity" +msgstr "" + +#. module: crm +#: field:crm.lead,user_email:0 +msgid "User Email" +msgstr "" + +#. module: crm +#: help:crm.lead,partner_name:0 +msgid "" +"The name of the future partner company that will be created while converting " +"the lead into opportunity" +msgstr "" + +#. module: crm +#: field:crm.opportunity2phonecall,note:0 +#: field:crm.phonecall2phonecall,note:0 +msgid "Note" +msgstr "" + +#. module: crm +#: selection:crm.lead,priority:0 +#: selection:crm.lead.report,priority:0 +#: selection:crm.phonecall,priority:0 +#: selection:crm.phonecall.report,priority:0 +msgid "Low" +msgstr "" + +#. module: crm +#: selection:crm.case.stage,state:0 +#: field:crm.lead,date_closed:0 +#: selection:crm.lead,state:0 +#: view:crm.lead.report:0 +#: selection:crm.lead.report,state:0 +#: field:crm.phonecall,date_closed:0 +msgid "Closed" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Open Opportunities" +msgstr "" + +#. module: crm +#: model:crm.case.resource.type,name:crm.type_lead2 +msgid "Email Campaign - Services" +msgstr "" + +#. module: crm +#: selection:crm.case.stage,state:0 +#: selection:crm.lead,state:0 +#: view:crm.lead.report:0 +#: selection:crm.lead.report,state:0 +#: selection:crm.phonecall.report,state:0 +msgid "Pending" +msgstr "" + +#. module: crm +#: model:process.transition,name:crm.process_transition_leadopportunity0 +msgid "Prospect Opportunity" +msgstr "" + +#. module: crm +#: field:crm.lead,email_cc:0 +msgid "Global CC" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +#: model:ir.actions.act_window,name:crm.crm_case_categ_phone0 +#: model:ir.ui.menu,name:crm.menu_crm_case_phone +#: model:ir.ui.menu,name:crm.menu_crm_config_phonecall +msgid "Phone Calls" +msgstr "" + +#. module: crm +#: view:crm.case.stage:0 +msgid "Stage Search" +msgstr "" + +#. module: crm +#: help:crm.lead.report,delay_open:0 +#: help:crm.phonecall.report,delay_open:0 +msgid "Number of Days to open the case" +msgstr "" + +#. module: crm +#: field:crm.lead,phone:0 +#: field:crm.opportunity2phonecall,phone:0 +#: view:crm.phonecall:0 +#: field:crm.phonecall,partner_phone:0 +#: field:crm.phonecall2phonecall,phone:0 +msgid "Phone" +msgstr "" + +#. module: crm +#: field:crm.case.channel,active:0 +#: field:crm.case.section,active:0 +#: field:crm.lead,active:0 +#: field:crm.phonecall,active:0 +msgid "Active" +msgstr "" + +#. module: crm +#: selection:crm.segmentation.line,operator:0 +msgid "Mandatory Expression" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Send Mail" +msgstr "" + +#. module: crm +#: selection:crm.lead2opportunity.partner,action:0 +#: selection:crm.lead2opportunity.partner.mass,action:0 +#: selection:crm.partner.binding,action:0 +msgid "Create a new customer" +msgstr "" + +#. module: crm +#: field:crm.lead.report,deadline_day:0 +msgid "Exp. Closing Day" +msgstr "" + +#. module: crm +#: model:crm.case.categ,name:crm.categ_oppor2 +msgid "Software" +msgstr "" + +#. module: crm +#: field:crm.case.section,change_responsible:0 +msgid "Reassign Escalated" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +#: model:ir.actions.act_window,name:crm.action_report_crm_opportunity +#: model:ir.ui.menu,name:crm.menu_report_crm_opportunities_tree +msgid "Opportunities Analysis" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Misc" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: view:crm.lead.report:0 +#: selection:crm.lead.report,state:0 +msgid "Open" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: field:crm.lead,city:0 +msgid "City" +msgstr "" + +#. module: crm +#: selection:crm.case.stage,type:0 +msgid "Both" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +msgid "Call Done" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +#: field:crm.phonecall,user_id:0 +msgid "Responsible" +msgstr "" + +#. module: crm +#: model:crm.case.section,name:crm.crm_case_section_3 +msgid "Direct Marketing" +msgstr "" + +#. module: crm +#: model:crm.case.categ,name:crm.categ_oppor1 +msgid "Product" +msgstr "" + +#. module: crm +#: field:crm.lead.report,creation_year:0 +msgid "Creation Year" +msgstr "" + +#. module: crm +#: view:crm.lead2opportunity.partner.mass:0 +msgid "Conversion Options" +msgstr "" + +#. module: crm +#: view:crm.case.section:0 +msgid "" +"Follow this salesteam to automatically track the events associated to users " +"of this team." +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Address" +msgstr "" + +#. module: crm +#: help:crm.case.section,alias_id:0 +msgid "" +"The email address associated with this team. New emails received will " +"automatically create new leads assigned to the team." +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Unassigned Opportunities" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Search Leads" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +#: view:crm.phonecall.report:0 +#: field:crm.phonecall.report,delay_open:0 +msgid "Delay to open" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.crm_case_categ_phone_outgoing0 +#: model:ir.ui.menu,name:crm.menu_crm_case_phone_outbound +msgid "Scheduled Calls" +msgstr "" + +#. module: crm +#: field:crm.lead,id:0 +msgid "ID" +msgstr "" + +#. module: crm +#: help:crm.lead,type_id:0 +msgid "" +"From which campaign (seminar, marketing campaign, mass mailing, ...) did " +"this contact come from?" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_calendar_attendee +msgid "Attendee information" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +msgid "Segmentation Test" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +msgid "Continue Process" +msgstr "" + +#. module: crm +#: selection:crm.lead2opportunity.partner,name:0 +#: selection:crm.lead2opportunity.partner.mass,name:0 +#: model:ir.actions.act_window,name:crm.action_crm_lead2opportunity_partner +msgid "Convert to opportunity" +msgstr "" + +#. module: crm +#: field:crm.opportunity2phonecall,user_id:0 +#: field:crm.phonecall2phonecall,user_id:0 +msgid "Assign To" +msgstr "" + +#. module: crm +#: field:crm.lead,date_action_last:0 +#: field:crm.phonecall,date_action_last:0 +msgid "Last Action" +msgstr "" + +#. module: crm +#: field:crm.phonecall,duration:0 +#: field:crm.phonecall.report,duration:0 +msgid "Duration" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.crm_case_categ_phone_outgoing0 +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to schedule a call \n" +" </p><p>\n" +" OpenERP allows you to easily define all the calls to be done\n" +" by your sales team and follow up based on their summary.\n" +" </p><p> \n" +" You can use the import feature to massively import a new list " +"of\n" +" prospects to qualify.\n" +" </p>\n" +" " +msgstr "" + +#. module: crm +#: help:crm.case.stage,fold:0 +msgid "" +"This stage is not visible, for example in status bar or kanban view, when " +"there are no records in that stage to display." +msgstr "" + +#. module: crm +#: field:crm.lead.report,nbr:0 +#: field:crm.phonecall.report,nbr:0 +msgid "# of Cases" +msgstr "" + +#. module: crm +#: help:crm.phonecall,section_id:0 +msgid "Sales team to which Case belongs to." +msgstr "" + +#. module: crm +#: model:crm.case.resource.type,name:crm.type_lead6 +msgid "Banner Ads" +msgstr "" + +#. module: crm +#: field:crm.merge.opportunity,opportunity_ids:0 +msgid "Leads/Opportunities" +msgstr "" + +#. module: crm +#: field:crm.lead,fax:0 +msgid "Fax" +msgstr "" + +#. module: crm +#: field:crm.lead,company_id:0 +#: view:crm.lead.report:0 +#: field:crm.lead.report,company_id:0 +#: field:crm.phonecall,company_id:0 +#: view:crm.phonecall.report:0 +#: field:crm.phonecall.report,company_id:0 +msgid "Company" +msgstr "" + +#. module: crm +#: selection:crm.segmentation,state:0 +msgid "Running" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,description:crm.mt_lead_convert_to_opportunity +msgid "Lead converted into an opportunity" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Unassigned Leads" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,description:crm.mt_lead_won +msgid "Opportunity won" +msgstr "" + +#. module: crm +#: field:crm.case.categ,object_id:0 +msgid "Object Name" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +msgid "Phone Calls Assigned to Me or My Team(s)" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Reset" +msgstr "" + +#. module: crm +#: view:sale.config.settings:0 +msgid "After-Sale Services" +msgstr "" + +#. module: crm +#: field:crm.case.section,message_ids:0 +#: field:crm.lead,message_ids:0 +#: field:crm.phonecall,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: crm +#: help:crm.lead,channel_id:0 +msgid "Communication channel (mail, direct, phone, ...)" +msgstr "" + +#. module: crm +#: field:crm.opportunity2phonecall,name:0 +#: field:crm.phonecall2phonecall,name:0 +msgid "Call summary" +msgstr "" + +#. module: crm +#: selection:crm.case.stage,state:0 +#: selection:crm.lead,state:0 +#: selection:crm.lead.report,state:0 +#: selection:crm.phonecall,state:0 +#: selection:crm.phonecall.report,state:0 +msgid "Cancelled" +msgstr "" + +#. module: crm +#: field:crm.lead,color:0 +msgid "Color Index" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.action_report_crm_phonecall +msgid "" +"From this report, you can analyse the performance of your sales team, based " +"on their phone calls. You can group or filter the information according to " +"several criteria and drill down the information, by adding more groups in " +"the report." +msgstr "" + +#. module: crm +#: field:crm.case.stage,fold:0 +msgid "Fold by Default" +msgstr "" + +#. module: crm +#: field:crm.case.stage,state:0 +msgid "Related Status" +msgstr "" + +#. module: crm +#: field:crm.phonecall,name:0 +msgid "Call Summary" +msgstr "" + +#. module: crm +#: field:crm.segmentation.line,expr_operator:0 +msgid "Operator" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: model:ir.actions.act_window,name:crm.opportunity2phonecall_act +msgid "Schedule/Log Call" +msgstr "" + +#. module: crm +#: view:crm.merge.opportunity:0 +msgid "Select Leads/Opportunities" +msgstr "" + +#. module: crm +#: selection:crm.phonecall,state:0 +msgid "Confirmed" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_crm_partner_binding +msgid "Handle partner binding or generation in CRM wizards." +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.act_oppor_stage_user +msgid "Planned Revenue By User and Stage" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +msgid "Confirm" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Unread messages" +msgstr "" + +#. module: crm +#: field:crm.phonecall.report,section_id:0 +msgid "Section" +msgstr "" + +#. module: crm +#: selection:crm.segmentation.line,operator:0 +msgid "Optional Expression" +msgstr "" + +#. module: crm +#: field:crm.case.section,message_follower_ids:0 +#: field:crm.lead,message_follower_ids:0 +#: field:crm.phonecall,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.crm_case_category_act_leads_all +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create an unqualified lead.\n" +" </p><p>\n" +" Use leads if you need a qualification step before creating an\n" +" opportunity or a customer. It can be a business card you " +"received,\n" +" a contact form filled in your website, or a file of unqualified\n" +" prospects you import, etc.\n" +" </p><p>\n" +" Once qualified, the lead can be converted into a business\n" +" opportunity and/or a new customer in your address book.\n" +" </p>\n" +" " +msgstr "" + +#. module: crm +#: field:sale.config.settings,fetchmail_lead:0 +msgid "Create leads from incoming mails" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: field:crm.lead,email_from:0 +#: field:crm.phonecall,email_from:0 +msgid "Email" +msgstr "" + +#. module: crm +#: view:crm.case.channel:0 +#: view:crm.lead:0 +#: field:crm.lead,channel_id:0 +#: view:crm.lead.report:0 +#: field:crm.lead.report,channel_id:0 +msgid "Channel" +msgstr "" + +#. module: crm +#: view:crm.opportunity2phonecall:0 +#: view:crm.phonecall2phonecall:0 +msgid "Schedule Call" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +#: view:crm.phonecall.report:0 +msgid "My Sales Team(s)" +msgstr "" + +#. module: crm +#: help:crm.segmentation,exclusif:0 +msgid "" +"Check if the category is limited to partners that match the segmentation " +"criterions. \n" +"If checked, remove the category from partners that doesn't match " +"segmentation criterions" +msgstr "" + +#. module: crm +#: model:process.transition,note:crm.process_transition_leadopportunity0 +msgid "Creating business opportunities from Leads" +msgstr "" + +#. module: crm +#: model:crm.case.resource.type,name:crm.type_lead3 +msgid "Email Campaign - Products" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.crm_case_categ_phone_incoming0 +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to log the summary of a phone call. \n" +" </p><p>\n" +" OpenERP allows you to log inbound calls on the fly to track the\n" +" history of the communication with a customer or to inform " +"another\n" +" team member.\n" +" </p><p>\n" +" In order to follow up on the call, you can trigger a request " +"for\n" +" another call, a meeting or an opportunity.\n" +" </p>\n" +" " +msgstr "" + +#. module: crm +#: model:process.node,note:crm.process_node_leads0 +msgid "Very first contact with new prospect" +msgstr "" + +#. module: crm +#: view:res.partner:0 +msgid "Calls" +msgstr "" + +#. module: crm +#: field:crm.case.stage,on_change:0 +msgid "Change Probability Automatically" +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +msgid "My Phone Calls" +msgstr "" + +#. module: crm +#: model:crm.case.stage,name:crm.stage_lead3 +msgid "Qualification" +msgstr "" + +#. module: crm +#: field:crm.lead2opportunity.partner,name:0 +#: field:crm.lead2opportunity.partner.mass,name:0 +msgid "Conversion Action" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.crm_lead_categ_action +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to define a new sales tag.\n" +" </p><p>\n" +" Create specific tags that fit your company's activities\n" +" to better classify and analyse your leads and " +"opportunities.\n" +" Such categories could for instance reflect your product\n" +" structure or the different types of sales you do.\n" +" </p>\n" +" " +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 +#: selection:crm.phonecall.report,month:0 +msgid "August" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,name:crm.mt_lead_lost +#: model:mail.message.subtype,name:crm.mt_salesteam_lead_lost +msgid "Opportunity Lost" +msgstr "" + +#. module: crm +#: field:crm.lead.report,deadline_month:0 +msgid "Exp. Closing Month" +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 +#: selection:crm.phonecall.report,month:0 +msgid "December" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +msgid "Date of Call" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: field:crm.lead,date_deadline:0 +msgid "Expected Closing" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_crm_opportunity2phonecall +msgid "Opportunity to Phonecall" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +msgid "Sales Purchase" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Schedule Meeting" +msgstr "" + +#. module: crm +#: field:crm.lead.report,deadline_year:0 +msgid "Ex. Closing Year" +msgstr "" + +#. module: crm +#: model:ir.actions.client,name:crm.action_client_crm_menu +msgid "Open Sale Menu" +msgstr "" + +#. module: crm +#: field:crm.lead,date_open:0 +#: field:crm.phonecall,date_open:0 +msgid "Opened" +msgstr "" + +#. module: crm +#: view:crm.case.section:0 +#: field:crm.case.section,member_ids:0 +msgid "Team Members" +msgstr "" + +#. module: crm +#: view:crm.opportunity2phonecall:0 +#: view:crm.phonecall2phonecall:0 +msgid "Schedule/Log a Call" +msgstr "" + +#. module: crm +#: field:crm.lead,planned_cost:0 +msgid "Planned Costs" +msgstr "" + +#. module: crm +#: help:crm.lead,date_deadline:0 +msgid "Estimate of the date on which the opportunity will be won." +msgstr "" + +#. module: crm +#: help:crm.lead,email_cc:0 +msgid "" +"These email addresses will be added to the CC field of all inbound and " +"outbound emails for this record before being sent. Separate multiple email " +"addresses with a comma" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.crm_case_categ_phone_incoming0 +#: model:ir.ui.menu,name:crm.menu_crm_case_phone_inbound +msgid "Logged Calls" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,name:crm.mt_lead_won +#: model:mail.message.subtype,name:crm.mt_salesteam_lead_won +msgid "Opportunity Won" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,name:crm.crm_case_section_act_tree +msgid "Cases by Sales Team" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: view:crm.phonecall:0 +#: model:ir.model,name:crm.model_crm_meeting +#: model:process.node,name:crm.process_node_meeting0 +msgid "Meeting" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_crm_case_categ +msgid "Category of Case" +msgstr "" + +#. module: crm +#: view:board.board:0 +msgid "Planned Revenue by Stage and User" +msgstr "" + +#. module: crm +#: selection:crm.lead,priority:0 +#: selection:crm.lead.report,priority:0 +#: selection:crm.phonecall,priority:0 +#: selection:crm.phonecall.report,priority:0 +msgid "Normal" +msgstr "" + +#. module: crm +#: field:crm.lead,street2:0 +msgid "Street2" +msgstr "" + +#. module: crm +#: field:sale.config.settings,module_crm_helpdesk:0 +msgid "Manage Helpdesk and Support" +msgstr "" + +#. module: crm +#: field:crm.lead.report,delay_open:0 +msgid "Delay to Open" +msgstr "" + +#. module: crm +#: field:crm.lead.report,user_id:0 +#: field:crm.phonecall.report,user_id:0 +msgid "User" +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 +#: selection:crm.phonecall.report,month:0 +msgid "November" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +#: model:ir.actions.act_window,name:crm.act_opportunity_stage +msgid "Opportunities By Stage" +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 +#: selection:crm.phonecall.report,month:0 +msgid "January" +msgstr "" + +#. module: crm +#: model:process.process,name:crm.process_process_contractprocess0 +msgid "Contract" +msgstr "" + +#. module: crm +#: model:crm.case.resource.type,name:crm.type_lead4 +msgid "Twitter Ads" +msgstr "" + +#. module: crm +#: field:crm.lead.report,creation_day:0 +msgid "Creation Day" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +msgid "Planned Revenues" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Exp.Closing" +msgstr "" + +#. module: crm +#: help:crm.lead.report,deadline_year:0 +msgid "Expected closing year" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_crm_case_stage +msgid "Stage of case" +msgstr "" + +#. module: crm +#: selection:crm.opportunity2phonecall,action:0 +#: selection:crm.phonecall2phonecall,action:0 +msgid "Schedule a call" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Categorization" +msgstr "" + +#. module: crm +#: view:crm.phonecall2phonecall:0 +msgid "Log Call" +msgstr "" + +#. module: crm +#: help:sale.config.settings,group_fund_raising:0 +msgid "Allows you to trace and manage your activities for fund raising." +msgstr "" + +#. module: crm +#: field:crm.meeting,phonecall_id:0 +#: model:ir.model,name:crm.model_crm_phonecall +msgid "Phonecall" +msgstr "" + +#. module: crm +#: view:crm.phonecall.report:0 +msgid "Phone calls that are assigned to one of the sale teams I manage" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Create date" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "at" +msgstr "" + +#. module: crm +#: model:crm.case.stage,name:crm.stage_lead1 +#: selection:crm.case.stage,state:0 +#: view:crm.lead:0 +#: selection:crm.lead,state:0 +#: view:crm.lead.report:0 +msgid "New" +msgstr "" + +#. module: crm +#: field:crm.lead,function:0 +msgid "Function" +msgstr "" + +#. module: crm +#: field:crm.case.section,note:0 +#: field:crm.phonecall,description:0 +#: field:crm.segmentation,description:0 +msgid "Description" +msgstr "" + +#. module: crm +#: field:crm.case.categ,section_id:0 +#: field:crm.case.resource.type,section_id:0 +#: view:crm.case.section:0 +#: field:crm.case.section,name:0 +#: field:crm.lead,section_id:0 +#: view:crm.lead.report:0 +#: field:crm.lead.report,section_id:0 +#: field:crm.lead2opportunity.partner.mass,section_id:0 +#: field:crm.opportunity2phonecall,section_id:0 +#: field:crm.payment.mode,section_id:0 +#: view:crm.phonecall:0 +#: field:crm.phonecall,section_id:0 +#: view:crm.phonecall.report:0 +#: field:crm.phonecall2phonecall,section_id:0 +#: field:res.partner,section_id:0 +msgid "Sales Team" +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 +#: selection:crm.phonecall.report,month:0 +msgid "May" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.crm_case_channel_action +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to define a new channel.\n" +" </p><p>\n" +" Use channels to track the soure of your leads and " +"opportunities. Channels\n" +" are mostly used in reporting to analyse sales performance\n" +" related to marketing efforts.\n" +" </p><p>\n" +" Some examples of channels: company website, phone call\n" +" campaign, reseller, etc.\n" +" </p>\n" +" " +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "Internal Notes" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +msgid "New Opportunities" +msgstr "" + +#. module: crm +#: field:crm.segmentation.line,operator:0 +msgid "Mandatory / Optional" +msgstr "" + +#. module: crm +#: field:crm.lead,street:0 +msgid "Street" +msgstr "" + +#. module: crm +#: field:crm.lead,referred:0 +msgid "Referred By" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +msgid "Reset to Todo" +msgstr "" + +#. module: crm +#: field:crm.case.section,working_hours:0 +msgid "Working Hours" +msgstr "" + +#. module: crm +#: code:addons/crm/crm_lead.py:986 +#: view:crm.lead:0 +#: field:crm.lead2opportunity.partner,partner_id:0 +#: field:crm.lead2opportunity.partner.mass,partner_id:0 +#: field:crm.partner.binding,partner_id:0 +#, python-format +msgid "Customer" +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 +#: selection:crm.phonecall.report,month:0 +msgid "February" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +msgid "Schedule a Meeting" +msgstr "" + +#. module: crm +#: model:crm.case.stage,name:crm.stage_lead8 +#: view:crm.lead:0 +msgid "Lost" +msgstr "" + +#. module: crm +#: code:addons/crm/wizard/crm_lead_to_opportunity.py:89 +#, python-format +msgid "Closed/Cancelled leads cannot be converted into opportunities." +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: field:crm.lead,country_id:0 +#: view:crm.lead.report:0 +#: field:crm.lead.report,country_id:0 +msgid "Country" +msgstr "" + +#. module: crm +#: view:crm.lead:0 +#: view:crm.lead2opportunity.partner:0 +#: view:crm.lead2opportunity.partner.mass:0 +#: view:crm.phonecall:0 +msgid "Convert to Opportunity" +msgstr "" + +#. module: crm +#: help:crm.phonecall,email_from:0 +msgid "These people will receive email." +msgstr "" + +#. module: crm +#: selection:crm.lead.report,creation_month:0 +#: selection:crm.lead.report,deadline_month:0 +#: selection:crm.phonecall.report,month:0 +msgid "April" +msgstr "" + +#. module: crm +#: field:crm.case.resource.type,name:0 +msgid "Campaign Name" +msgstr "" + +#. module: crm +#: view:crm.segmentation:0 +msgid "Profiling" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_crm_phonecall_report +msgid "Phone calls by user and section" +msgstr "" + +#. module: crm +#: model:crm.case.stage,name:crm.stage_lead5 +msgid "Negotiation" +msgstr "" + +#. module: crm +#: model:ir.model,name:crm.model_crm_phonecall2phonecall +msgid "Phonecall To Phonecall" +msgstr "" + +#. module: crm +#: field:crm.case.stage,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: crm +#: field:crm.segmentation.line,expr_name:0 +msgid "Control Variable" +msgstr "" + +#. module: crm +#: model:crm.case.stage,name:crm.stage_lead4 +msgid "Proposition" +msgstr "" + +#. module: crm +#: view:crm.phonecall:0 +#: field:res.partner,phonecall_ids:0 +msgid "Phonecalls" +msgstr "" + +#. module: crm +#: view:crm.lead.report:0 +#: view:crm.phonecall.report:0 +#: field:crm.phonecall.report,name:0 +msgid "Year" +msgstr "" + +#. module: crm +#: model:crm.case.resource.type,name:crm.type_lead8 +msgid "Newsletter" +msgstr "" + +#. module: crm +#: model:mail.message.subtype,name:crm.mt_salesteam_lead_stage +msgid "Opportunity Stage Changed" +msgstr "" + +#. module: crm +#: model:ir.actions.act_window,help:crm.crm_lead_stage_act +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to set a new stage in your lead/opportunity pipeline.\n" +" </p><p>\n" +" Stages will allow salespersons to easily track how a " +"specific\n" +" lead or opportunity is positioned in the sales cycle.\n" +" </p>\n" +" " +msgstr "" diff --git a/addons/crm_helpdesk/i18n/he.po b/addons/crm_helpdesk/i18n/he.po new file mode 100644 index 00000000000..c7bc290288f --- /dev/null +++ b/addons/crm_helpdesk/i18n/he.po @@ -0,0 +1,708 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-12-30 18:48+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: crm_helpdesk +#: field:crm.helpdesk.report,delay_close:0 +msgid "Delay to Close" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk.report,nbr:0 +msgid "# of Cases" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +#: view:crm.helpdesk.report:0 +msgid "Group By..." +msgstr "" + +#. module: crm_helpdesk +#: help:crm.helpdesk,email_from:0 +msgid "Destination email for email gateway" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk.report,month:0 +msgid "March" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,company_id:0 +#: view:crm.helpdesk.report:0 +#: field:crm.helpdesk.report,company_id:0 +msgid "Company" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,email_cc:0 +msgid "Watchers Emails" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +msgid "Salesperson" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk,priority:0 +#: selection:crm.helpdesk.report,priority:0 +msgid "Highest" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +#: field:crm.helpdesk.report,day:0 +msgid "Day" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +msgid "Date of helpdesk requests" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Notes" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +msgid "My company" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk,state:0 +#: selection:crm.helpdesk.report,state:0 +msgid "Cancelled" +msgstr "" + +#. module: crm_helpdesk +#: help:crm.helpdesk,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: crm_helpdesk +#: model:ir.actions.act_window,name:crm_helpdesk.action_report_crm_helpdesk +#: model:ir.ui.menu,name:crm_helpdesk.menu_report_crm_helpdesks_tree +msgid "Helpdesk Analysis" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +#: field:crm.helpdesk.report,date_closed:0 +msgid "Close Date" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,ref:0 +msgid "Reference" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,date_action_next:0 +msgid "Next Action" +msgstr "" + +#. module: crm_helpdesk +#: help:crm.helpdesk,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Helpdesk Supports" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Extra Info" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +#: field:crm.helpdesk,partner_id:0 +#: view:crm.helpdesk.report:0 +#: field:crm.helpdesk.report,partner_id:0 +msgid "Partner" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Estimates" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk.report,section_id:0 +msgid "Section" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +#: field:crm.helpdesk,priority:0 +#: view:crm.helpdesk.report:0 +#: field:crm.helpdesk.report,priority:0 +msgid "Priority" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +#: selection:crm.helpdesk,state:0 +#: view:crm.helpdesk.report:0 +msgid "New" +msgstr "" + +#. module: crm_helpdesk +#: model:ir.model,name:crm_helpdesk.model_crm_helpdesk_report +msgid "Helpdesk report after Sales Services" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,email_from:0 +msgid "Email" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,channel_id:0 +#: view:crm.helpdesk.report:0 +#: field:crm.helpdesk.report,channel_id:0 +msgid "Channel" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk,priority:0 +#: selection:crm.helpdesk.report,priority:0 +msgid "Lowest" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +msgid "# Mails" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +msgid "My Sales Team(s)" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,create_date:0 +#: field:crm.helpdesk.report,create_date:0 +msgid "Creation Date" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Reset to Draft" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +#: field:crm.helpdesk,date_deadline:0 +#: field:crm.helpdesk.report,date_deadline:0 +msgid "Deadline" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk.report,month:0 +msgid "July" +msgstr "" + +#. module: crm_helpdesk +#: model:ir.actions.act_window,name:crm_helpdesk.crm_helpdesk_categ_action +msgid "Helpdesk Categories" +msgstr "" + +#. module: crm_helpdesk +#: model:ir.ui.menu,name:crm_helpdesk.menu_crm_case_helpdesk-act +msgid "Categories" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "New Helpdesk Request" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Dates" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +msgid "Month of helpdesk requests" +msgstr "" + +#. module: crm_helpdesk +#: code:addons/crm_helpdesk/crm_helpdesk.py:104 +#, python-format +msgid "No Subject" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "" +"Helpdesk requests that are assigned to me or to one of the sale teams I " +"manage" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +msgid "#Helpdesk" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "All pending Helpdesk Request" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +msgid "Year of helpdesk requests" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk.report,month:0 +msgid "September" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk.report,month:0 +msgid "December" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +#: field:crm.helpdesk.report,month:0 +msgid "Month" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,write_date:0 +msgid "Update Date" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Query" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,ref2:0 +msgid "Reference 2" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,categ_id:0 +#: field:crm.helpdesk.report,categ_id:0 +msgid "Category" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Responsible User" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Helpdesk Support" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,planned_cost:0 +#: field:crm.helpdesk.report,planned_cost:0 +msgid "Planned Costs" +msgstr "" + +#. module: crm_helpdesk +#: help:crm.helpdesk,channel_id:0 +msgid "Communication channel." +msgstr "" + +#. module: crm_helpdesk +#: help:crm.helpdesk,email_cc:0 +msgid "" +"These email addresses will be added to the CC field of all inbound and " +"outbound emails for this record before being sent. Separate multiple email " +"addresses with a comma" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Search Helpdesk" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk.report,state:0 +msgid "Draft" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk,priority:0 +#: selection:crm.helpdesk.report,priority:0 +msgid "Low" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,date_closed:0 +#: selection:crm.helpdesk,state:0 +#: view:crm.helpdesk.report:0 +#: selection:crm.helpdesk.report,state:0 +msgid "Closed" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +#: selection:crm.helpdesk,state:0 +#: selection:crm.helpdesk.report,state:0 +msgid "Pending" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +#: field:crm.helpdesk,state:0 +#: view:crm.helpdesk.report:0 +#: field:crm.helpdesk.report,state:0 +msgid "Status" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk.report,month:0 +msgid "August" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk,priority:0 +#: selection:crm.helpdesk.report,priority:0 +msgid "Normal" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Escalate" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk.report,month:0 +msgid "June" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,id:0 +msgid "ID" +msgstr "" + +#. module: crm_helpdesk +#: model:ir.actions.act_window,help:crm_helpdesk.crm_case_helpdesk_act111 +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a new request. \n" +" </p><p>\n" +" Helpdesk and Support allow you to track your interventions.\n" +" </p><p>\n" +" Use the OpenERP Issues system to manage your support\n" +" activities. Issues can be connected to the email gateway: " +"new\n" +" emails may create issues, each of them automatically gets " +"the\n" +" history of the conversation with the customer.\n" +" </p>\n" +" " +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,planned_revenue:0 +msgid "Planned Revenue" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk.report,user_id:0 +msgid "User" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,active:0 +msgid "Active" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk.report,month:0 +msgid "November" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +msgid "Extended Filters..." +msgstr "" + +#. module: crm_helpdesk +#: model:ir.actions.act_window,name:crm_helpdesk.crm_case_helpdesk_act111 +msgid "Helpdesk Requests" +msgstr "" + +#. module: crm_helpdesk +#: help:crm.helpdesk,section_id:0 +msgid "" +"Responsible sales team. Define Responsible user and Email account for mail " +"gateway." +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk.report,month:0 +msgid "October" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk.report,month:0 +msgid "January" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +#: field:crm.helpdesk,date:0 +msgid "Date" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Misc" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +msgid "My Company" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "General" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "References" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Communication" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Cancel" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Close" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +#: view:crm.helpdesk.report:0 +#: selection:crm.helpdesk.report,state:0 +msgid "Open" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Helpdesk Support Tree" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk,state:0 +msgid "In Progress" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Categorization" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +#: model:ir.model,name:crm_helpdesk.model_crm_helpdesk +#: model:ir.ui.menu,name:crm_helpdesk.menu_config_helpdesk +msgid "Helpdesk" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +#: field:crm.helpdesk,user_id:0 +msgid "Responsible" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +msgid "Search" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk.report,delay_expected:0 +msgid "Overpassed Deadline" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,description:0 +msgid "Description" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk.report,month:0 +msgid "May" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,probability:0 +msgid "Probability (%)" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk.report,email:0 +msgid "# Emails" +msgstr "" + +#. module: crm_helpdesk +#: model:ir.actions.act_window,help:crm_helpdesk.action_report_crm_helpdesk +msgid "" +"Have a general overview of all support requests by sorting them with " +"specific criteria such as the processing time, number of requests answered, " +"emails sent and costs." +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk.report,month:0 +msgid "February" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,name:0 +msgid "Name" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +#: field:crm.helpdesk.report,name:0 +msgid "Year" +msgstr "" + +#. module: crm_helpdesk +#: model:ir.ui.menu,name:crm_helpdesk.menu_help_support_main +msgid "Helpdesk and Support" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk.report,month:0 +msgid "April" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk.report:0 +msgid "My Case(s)" +msgstr "" + +#. module: crm_helpdesk +#: help:crm.helpdesk,state:0 +msgid "" +"The status is set to 'Draft', when a case is created. " +" \n" +"If the case is in progress the status is set to 'Open'. " +" \n" +"When the case is over, the status is set to 'Done'. " +" \n" +"If the case needs to be reviewed then the status is set to 'Pending'." +msgstr "" + +#. module: crm_helpdesk +#: help:crm.helpdesk,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: crm_helpdesk +#: model:ir.actions.act_window,help:crm_helpdesk.crm_helpdesk_categ_action +msgid "" +"Create and manage helpdesk categories to better manage and classify your " +"support requests." +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Request Date" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Open Helpdesk Request" +msgstr "" + +#. module: crm_helpdesk +#: selection:crm.helpdesk,priority:0 +#: selection:crm.helpdesk.report,priority:0 +msgid "High" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +#: field:crm.helpdesk,section_id:0 +#: view:crm.helpdesk.report:0 +msgid "Sales Team" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,date_action_last:0 +msgid "Last Action" +msgstr "" + +#. module: crm_helpdesk +#: view:crm.helpdesk:0 +msgid "Assigned to Me or My Sales Team(s)" +msgstr "" + +#. module: crm_helpdesk +#: field:crm.helpdesk,duration:0 +msgid "Duration" +msgstr "" diff --git a/addons/crm_todo/i18n/he.po b/addons/crm_todo/i18n/he.po new file mode 100644 index 00000000000..116b0a50883 --- /dev/null +++ b/addons/crm_todo/i18n/he.po @@ -0,0 +1,85 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2014 Rosetta Contributors and Canonical Ltd 2014 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2014. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2014-01-03 03:46+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2014-01-04 05:42+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: crm_todo +#: model:ir.model,name:crm_todo.model_project_task +msgid "Task" +msgstr "משימה" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Timebox" +msgstr "" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Lead" +msgstr "ליד (Lead)" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For cancelling the task" +msgstr "לביטול המשימה" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Next" +msgstr "הבא" + +#. module: crm_todo +#: model:ir.actions.act_window,name:crm_todo.crm_todo_action +#: model:ir.ui.menu,name:crm_todo.menu_crm_todo +msgid "My Tasks" +msgstr "המשימות שלי" + +#. module: crm_todo +#: view:crm.lead:0 +#: field:crm.lead,task_ids:0 +msgid "Tasks" +msgstr "משימות" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Done" +msgstr "בוצע" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Cancel" +msgstr "בטל" + +#. module: crm_todo +#: model:ir.model,name:crm_todo.model_crm_lead +msgid "Lead/Opportunity" +msgstr "ליד/הזדמנות" + +#. module: crm_todo +#: field:project.task,lead_id:0 +msgid "Lead / Opportunity" +msgstr "ליד/הזדמנות" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "For changing to done state" +msgstr "לשינוי לסטטוס בוצע" + +#. module: crm_todo +#: view:crm.lead:0 +msgid "Previous" +msgstr "הקודם" diff --git a/addons/document/document.py b/addons/document/document.py index 5fc62578b1d..eb51ad5ac57 100644 --- a/addons/document/document.py +++ b/addons/document/document.py @@ -32,6 +32,7 @@ import psycopg2 import openerp from openerp import tools +from openerp import SUPERUSER_ID from openerp.osv import fields, osv from openerp.osv.orm import except_orm import openerp.report.interface @@ -322,7 +323,7 @@ class document_directory(osv.osv): ressource_parent_type_id=vals.get('ressource_parent_type_id',False) ressource_id=vals.get('ressource_id',0) if op=='write': - for directory in self.browse(cr, uid, ids): + for directory in self.browse(cr, SUPERUSER_ID, ids): if not name: name=directory.name if not parent_id: @@ -336,7 +337,7 @@ class document_directory(osv.osv): if len(res): return False if op=='create': - res=self.search(cr,uid,[('name','=',name),('parent_id','=',parent_id),('ressource_parent_type_id','=',ressource_parent_type_id),('ressource_id','=',ressource_id)]) + res = self.search(cr, SUPERUSER_ID, [('name','=',name),('parent_id','=',parent_id),('ressource_parent_type_id','=',ressource_parent_type_id),('ressource_id','=',ressource_id)]) if len(res): return False return True diff --git a/addons/document/i18n/he.po b/addons/document/i18n/he.po new file mode 100644 index 00000000000..644f64141fd --- /dev/null +++ b/addons/document/i18n/he.po @@ -0,0 +1,758 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-12-30 18:49+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: document +#: field:document.directory,parent_id:0 +msgid "Parent Directory" +msgstr "" + +#. module: document +#: code:addons/document/document.py:350 +#, python-format +msgid "Directory name contains special characters!" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Search Document Directory" +msgstr "" + +#. module: document +#: help:document.directory,resource_field:0 +msgid "" +"Field to be used as name on resource directories. If empty, the \"name\" " +"will be used." +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Group By..." +msgstr "" + +#. module: document +#: view:ir.attachment:0 +msgid "Modification" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Resources" +msgstr "" + +#. module: document +#: field:document.directory,file_ids:0 +#: view:report.document.user:0 +msgid "Files" +msgstr "" + +#. module: document +#: field:document.directory.content.type,mimetype:0 +msgid "Mime Type" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +msgid "March" +msgstr "" + +#. module: document +#: field:document.directory.dctx,expr:0 +msgid "Expression" +msgstr "" + +#. module: document +#: view:document.directory:0 +#: field:document.directory,company_id:0 +msgid "Company" +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_document_directory_content +msgid "Directory Content" +msgstr "" + +#. module: document +#: view:ir.attachment:0 +msgid "My Document(s)" +msgstr "" + +#. module: document +#: model:ir.ui.menu,name:document.menu_document_management_configuration +msgid "Document Management" +msgstr "" + +#. module: document +#: help:document.directory.dctx,expr:0 +msgid "" +"A python expression used to evaluate the field.\n" +"You can use 'dir_id' for current dir, 'res_id', 'res_model' as a reference " +"to the current record, in dynamic folders" +msgstr "" + +#. module: document +#: help:document.directory.dctx,field:0 +msgid "The name of the field." +msgstr "" + +#. module: document +#: code:addons/document/document.py:340 +#: code:addons/document/document.py:345 +#, python-format +msgid "Directory name must be unique!" +msgstr "" + +#. module: document +#: view:ir.attachment:0 +msgid "Filter on my documents" +msgstr "" + +#. module: document +#: view:ir.attachment:0 +#: field:ir.attachment,index_content:0 +msgid "Indexed Content" +msgstr "" + +#. module: document +#: help:document.directory,resource_find_all:0 +msgid "" +"If true, all attachments that match this resource will be located. If " +"false, only ones that have this as parent." +msgstr "" + +#. module: document +#: view:document.directory:0 +#: model:ir.actions.act_window,name:document.action_document_directory_form +#: model:ir.ui.menu,name:document.menu_document_directories +msgid "Directories" +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_report_document_user +msgid "Files details by Users" +msgstr "" + +#. module: document +#: field:document.directory,resource_find_all:0 +msgid "Find all resources" +msgstr "" + +#. module: document +#: selection:document.directory,type:0 +msgid "Folders per resource" +msgstr "" + +#. module: document +#: field:document.directory.content,suffix:0 +msgid "Suffix" +msgstr "" + +#. module: document +#: field:report.document.user,change_date:0 +msgid "Modified Date" +msgstr "" + +#. module: document +#: view:document.configuration:0 +msgid "Knowledge Application Configuration" +msgstr "" + +#. module: document +#: view:ir.attachment:0 +#: field:ir.attachment,partner_id:0 +msgid "Partner" +msgstr "" + +#. module: document +#: model:ir.actions.act_window,name:document.act_res_partner_document +#: model:ir.actions.act_window,name:document.zoom_directory +msgid "Related Documents" +msgstr "" + +#. module: document +#: model:ir.actions.act_window,help:document.action_document_file_form +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a new document. \n" +" </p><p>\n" +" The Documents repository gives you access to all attachments, " +"such\n" +" as mails, project documents, invoices etc.\n" +" </p>\n" +" " +msgstr "" + +#. module: document +#: code:addons/document/document.py:340 +#: code:addons/document/document.py:345 +#: code:addons/document/document.py:350 +#, python-format +msgid "ValidateError" +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" + +#. module: document +#: model:ir.actions.act_window,name:document.action_document_file_form +#: model:ir.ui.menu,name:document.menu_document_doc +#: model:ir.ui.menu,name:document.menu_document_files +msgid "Documents" +msgstr "" + +#. module: document +#: field:document.directory,ressource_type_id:0 +msgid "Resource model" +msgstr "" + +#. module: document +#: field:report.document.file,file_size:0 +#: field:report.document.user,file_size:0 +msgid "File Size" +msgstr "" + +#. module: document +#: field:document.directory.content.type,name:0 +#: field:ir.attachment,file_type:0 +msgid "Content Type" +msgstr "" + +#. module: document +#: view:document.directory:0 +#: field:document.directory,type:0 +msgid "Type" +msgstr "" + +#. module: document +#: sql_constraint:ir.attachment:0 +msgid "The filename must be unique in a directory !" +msgstr "" + +#. module: document +#: code:addons/document/document.py:110 +#: code:addons/document/document.py:310 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: document +#: help:document.directory,ressource_type_id:0 +msgid "" +"Select an object here and there will be one folder per record of that " +"resource." +msgstr "" + +#. module: document +#: help:document.directory,domain:0 +msgid "" +"Use a domain if you want to apply an automatic filter on visible resources." +msgstr "" + +#. module: document +#: constraint:document.directory:0 +msgid "Error! You cannot create recursive directories." +msgstr "" + +#. module: document +#: field:document.directory,resource_field:0 +msgid "Name field" +msgstr "" + +#. module: document +#: field:document.directory,dctx_ids:0 +msgid "Context fields" +msgstr "" + +#. module: document +#: view:document.directory:0 +#: field:report.document.user,type:0 +msgid "Directory Type" +msgstr "" + +#. module: document +#: field:document.directory.content,report_id:0 +msgid "Report" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +msgid "July" +msgstr "" + +#. module: document +#: field:document.directory.content.type,code:0 +msgid "Extension" +msgstr "" + +#. module: document +#: field:document.directory,content_ids:0 +msgid "Virtual Files" +msgstr "" + +#. module: document +#: code:addons/document/document.py:576 +#, python-format +msgid "Error at doc write!" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Generated Files" +msgstr "" + +#. module: document +#: view:document.configuration:0 +msgid "" +"When executing this wizard, it will configure your directories automatically " +"according to modules installed." +msgstr "" + +#. module: document +#: field:document.directory.content,directory_id:0 +#: field:document.directory.dctx,dir_id:0 +#: model:ir.actions.act_window,name:document.action_document_file_directory_form +#: view:ir.attachment:0 +#: field:ir.attachment,parent_id:0 +#: model:ir.model,name:document.model_document_directory +#: field:report.document.user,directory:0 +msgid "Directory" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Security" +msgstr "" + +#. module: document +#: field:document.directory,write_uid:0 +#: field:ir.attachment,write_uid:0 +msgid "Last Modification User" +msgstr "" + +#. module: document +#: model:ir.actions.act_window,name:document.action_view_files_by_user_graph +#: view:report.document.user:0 +msgid "Files by User" +msgstr "" + +#. module: document +#: view:ir.attachment:0 +msgid "on" +msgstr "" + +#. module: document +#: field:document.directory,domain:0 +msgid "Domain" +msgstr "" + +#. module: document +#: field:document.directory,write_date:0 +#: field:ir.attachment,write_date:0 +msgid "Date Modified" +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_report_document_file +msgid "Files details by Directory" +msgstr "" + +#. module: document +#: view:report.document.user:0 +msgid "All users files" +msgstr "" + +#. module: document +#: model:ir.actions.act_window,name:document.action_view_size_month +#: view:report.document.file:0 +msgid "File Size by Month" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +msgid "December" +msgstr "" + +#. module: document +#: selection:document.directory,type:0 +msgid "Static Directory" +msgstr "" + +#. module: document +#: field:report.document.file,month:0 +#: field:report.document.user,month:0 +msgid "Month" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Define words in the context, for all child directories and files" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Static" +msgstr "" + +#. module: document +#: field:report.document.user,user:0 +msgid "unknown" +msgstr "" + +#. module: document +#: view:document.directory:0 +#: field:document.directory,user_id:0 +#: view:ir.attachment:0 +#: field:ir.attachment,user_id:0 +#: field:report.document.user,user_id:0 +msgid "Owner" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "PDF Report" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Contents" +msgstr "" + +#. module: document +#: field:document.directory,create_date:0 +#: field:report.document.user,create_date:0 +msgid "Date Created" +msgstr "" + +#. module: document +#: help:document.directory.content,include_name:0 +msgid "" +"Check this field if you want that the name of the file to contain the record " +"name.\n" +"If set, the directory will have to be a resource one." +msgstr "" + +#. module: document +#: view:document.configuration:0 +#: model:ir.actions.act_window,name:document.action_config_auto_directory +msgid "Configure Directories" +msgstr "" + +#. module: document +#: field:document.directory.content,include_name:0 +msgid "Include Record Name" +msgstr "" + +#. module: document +#: field:ir.actions.report.xml,model_id:0 +msgid "Model Id" +msgstr "" + +#. module: document +#: help:document.directory,ressource_tree:0 +msgid "" +"Check this if you want to use the same tree structure as the object selected " +"in the system." +msgstr "" + +#. module: document +#: help:document.directory,ressource_id:0 +msgid "" +"Along with Parent Model, this ID attaches this folder to a specific record " +"of Parent Model." +msgstr "" + +#. module: document +#. openerp-web +#: code:addons/document/static/src/js/document.js:6 +#, python-format +msgid "Attachment(s)" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +msgid "August" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Dynamic context" +msgstr "" + +#. module: document +#: sql_constraint:document.directory:0 +msgid "Directory cannot be parent of itself!" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +msgid "June" +msgstr "" + +#. module: document +#: field:document.directory,group_ids:0 +msgid "Groups" +msgstr "" + +#. module: document +#: field:document.directory.content.type,active:0 +msgid "Active" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +msgid "November" +msgstr "" + +#. module: document +#: help:document.directory,ressource_parent_type_id:0 +msgid "" +"If you put an object here, this directory template will appear bellow all of " +"these objects. Such directories are \"attached\" to the specific model or " +"record, just like attachments. Don't put a parent directory if you select a " +"parent model." +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Definition" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +msgid "October" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Seq." +msgstr "" + +#. module: document +#: model:ir.actions.act_window,name:document.action_view_all_document_tree1 +msgid "All Users files" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +msgid "January" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Document Directory" +msgstr "" + +#. module: document +#: sql_constraint:document.directory:0 +msgid "The directory name must be unique !" +msgstr "" + +#. module: document +#: view:ir.attachment:0 +msgid "Attachments" +msgstr "" + +#. module: document +#: field:document.directory,create_uid:0 +msgid "Creator" +msgstr "" + +#. module: document +#: view:document.configuration:0 +msgid "" +"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." +msgstr "" + +#. module: document +#: model:ir.actions.act_window,name:document.action_view_files_by_month_graph +#: view:report.document.user:0 +msgid "Files by Month" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +msgid "September" +msgstr "" + +#. module: document +#: field:document.directory.content,prefix:0 +msgid "Prefix" +msgstr "" + +#. module: document +#: field:document.directory,child_ids:0 +msgid "Children" +msgstr "" + +#. module: document +#: field:document.directory,ressource_id:0 +msgid "Resource ID" +msgstr "" + +#. module: document +#: field:document.directory.dctx,field:0 +msgid "Field" +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_document_directory_dctx +msgid "Directory Dynamic Context" +msgstr "" + +#. module: document +#: field:document.directory,ressource_parent_type_id:0 +msgid "Parent Model" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "" +"These groups, however, do NOT apply to children directories, which must " +"define their own groups." +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +msgid "May" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "For each entry here, virtual files will appear in this folder." +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_ir_attachment +msgid "ir.attachment" +msgstr "" + +#. module: document +#: view:report.document.user:0 +msgid "Users File" +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_document_configuration +msgid "Directory Configuration" +msgstr "" + +#. module: document +#: help:document.directory,type:0 +msgid "" +"Each directory can either have the type Static or be linked to another " +"resource. A static directory, as with Operating Systems, is the classic " +"directory that can contain a set of files. The directories linked to systems " +"resources automatically possess sub-directories for each of resource types " +"defined in the parent directory." +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +msgid "February" +msgstr "" + +#. module: document +#: field:document.directory,name:0 +msgid "Name" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "Fields" +msgstr "" + +#. module: document +#: selection:report.document.user,month:0 +msgid "April" +msgstr "" + +#. module: document +#: field:report.document.file,nbr:0 +#: field:report.document.user,nbr:0 +msgid "# of Files" +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_document_directory_content_type +msgid "Directory Content Type" +msgstr "" + +#. module: document +#: view:document.directory:0 +msgid "" +"Only members of these groups will have access to this directory and its " +"files." +msgstr "" + +#. module: document +#. openerp-web +#: code:addons/document/static/src/js/document.js:17 +#, python-format +msgid "%s (%s)" +msgstr "" + +#. module: document +#: field:document.directory.content,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: document +#: field:document.directory.content,name:0 +msgid "Content Name" +msgstr "" + +#. module: document +#: field:report.document.user,datas_fname:0 +msgid "File Name" +msgstr "" + +#. module: document +#: field:document.directory,ressource_tree:0 +msgid "Tree Structure" +msgstr "" + +#. module: document +#: view:document.configuration:0 +msgid "res_config_contents" +msgstr "" + +#. module: document +#: model:ir.actions.act_window,name:document.action_document_directory_tree +#: model:ir.ui.menu,name:document.menu_document_directories_tree +msgid "Directories' Structure" +msgstr "" + +#. module: document +#: field:report.document.user,name:0 +msgid "Year" +msgstr "" + +#. module: document +#: model:ir.model,name:document.model_document_storage +msgid "Storage Media" +msgstr "" + +#. module: document +#: field:document.directory.content,extension:0 +msgid "Document Type" +msgstr "" diff --git a/addons/document/report/document_report.py b/addons/document/report/document_report.py index c9df78e4272..a4133f46387 100644 --- a/addons/document/report/document_report.py +++ b/addons/document/report/document_report.py @@ -31,7 +31,7 @@ class report_document_user(osv.osv): 'name': fields.char('Year', size=64,readonly=True), 'month':fields.selection([('01','January'), ('02','February'), ('03','March'), ('04','April'), ('05','May'), ('06','June'), ('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')],'Month',readonly=True), - 'user_id':fields.integer('Owner', readonly=True), + 'user_id': fields.many2one('res.users', 'Owner', readonly=True), 'user': fields.related('user_id', 'name', type='char', size=64, readonly=True), 'directory': fields.char('Directory',size=64,readonly=True), 'datas_fname': fields.char('File Name',size=64,readonly=True), diff --git a/addons/document/test/document_test2.yml b/addons/document/test/document_test2.yml index beff61d4d0f..0c6345ef6c4 100644 --- a/addons/document/test/document_test2.yml +++ b/addons/document/test/document_test2.yml @@ -59,6 +59,23 @@ ids = self.search(cr, uid, [('res_model', '=', 'res.country'), ('res_id', '=', ref("base.za"))]) assert ids == [ ref("attach_3rd")], ids - + I test that I can't create duplicate directories (even when duplicates are hidden by a record rule) +- + !python {model: document.directory}: | + duplicate_detected = False + from openerp.osv.osv import except_osv + try: + demo_uid = ref('base.user_demo') + dir_vals = { + 'name': 'Testing (will be deleted!)', + 'parent_id': ref('document.dir_root') + } + new_dir_id = self.create(cr, demo_uid, dir_vals, context=None) + self.unlink(cr, uid, [new_dir_id], context=None) + except except_osv, e: + duplicate_detected = e.value == u'Directory name must be unique!' + assert duplicate_detected is True, 'Failed to detect duplicate directory' +- I delete the attachments - !python {model: ir.attachment}: | diff --git a/addons/edi/i18n/he.po b/addons/edi/i18n/he.po new file mode 100644 index 00000000000..6d66ac0dc1e --- /dev/null +++ b/addons/edi/i18n/he.po @@ -0,0 +1,87 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-12-30 18:50+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: edi +#. openerp-web +#: code:addons/edi/static/src/js/edi.js:67 +#, python-format +msgid "Reason:" +msgstr "" + +#. module: edi +#. openerp-web +#: code:addons/edi/static/src/js/edi.js:60 +#, python-format +msgid "The document has been successfully imported!" +msgstr "" + +#. module: edi +#. openerp-web +#: code:addons/edi/static/src/js/edi.js:65 +#, python-format +msgid "Sorry, the document could not be imported." +msgstr "" + +#. module: edi +#: model:ir.model,name:edi.model_res_company +msgid "Companies" +msgstr "" + +#. module: edi +#: model:ir.model,name:edi.model_res_currency +msgid "Currency" +msgstr "" + +#. module: edi +#. openerp-web +#: code:addons/edi/static/src/js/edi.js:71 +#, python-format +msgid "Document Import Notification" +msgstr "" + +#. module: edi +#: code:addons/edi/models/edi.py:130 +#, python-format +msgid "Missing application." +msgstr "" + +#. module: edi +#: code:addons/edi/models/edi.py:131 +#, python-format +msgid "" +"The document you are trying to import requires the OpenERP `%s` application. " +"You can install it by connecting as the administrator and opening the " +"configuration assistant." +msgstr "" + +#. module: edi +#: code:addons/edi/models/edi.py:47 +#, python-format +msgid "'%s' is an invalid external ID" +msgstr "" + +#. module: edi +#: model:ir.model,name:edi.model_res_partner +msgid "Partner" +msgstr "" + +#. module: edi +#: model:ir.model,name:edi.model_edi_edi +msgid "EDI Subsystem" +msgstr "" diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py index 6e19b1eb8aa..904481096d3 100644 --- a/addons/email_template/email_template.py +++ b/addons/email_template/email_template.py @@ -411,7 +411,17 @@ class email_template(osv.osv): # create a mail_mail based on values, without attachments values = self.generate_email(cr, uid, template_id, res_id, context=context) assert values.get('email_from'), 'email_from is missing or empty after template rendering, send_mail() cannot proceed' - del values['partner_to'] # TODO Properly use them. + + # process partner_to field that is a comma separated list of partner_ids -> recipient_ids + # NOTE: only usable if force_send is True, because otherwise the value is + # not stored on the mail_mail, and therefore lost -> fixed in v8 + values['recipient_ids'] = [] + partner_to = values.pop('partner_to', '') + if partner_to: + # placeholders could generate '', 3, 2 due to some empty field values + tpl_partner_ids = [pid for pid in partner_to.split(',') if pid] + values['recipient_ids'] += [(4, pid) for pid in self.pool['res.partner'].exists(cr, SUPERUSER_ID, tpl_partner_ids, context=context)] + attachment_ids = values.pop('attachment_ids', []) attachments = values.pop('attachments', []) msg_id = mail_mail.create(cr, uid, values, context=context) @@ -420,11 +430,11 @@ class email_template(osv.osv): # manage attachments for attachment in attachments: attachment_data = { - 'name': attachment[0], - 'datas_fname': attachment[0], - 'datas': attachment[1], - 'res_model': 'mail.message', - 'res_id': mail.mail_message_id.id, + 'name': attachment[0], + 'datas_fname': attachment[0], + 'datas': attachment[1], + 'res_model': 'mail.message', + 'res_id': mail.mail_message_id.id, } context.pop('default_type', None) attachment_ids.append(ir_attachment.create(cr, uid, attachment_data, context=context)) diff --git a/addons/email_template/i18n/he.po b/addons/email_template/i18n/he.po new file mode 100644 index 00000000000..2ce04ed39e5 --- /dev/null +++ b/addons/email_template/i18n/he.po @@ -0,0 +1,488 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-12-30 18:51+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: email_template +#: field:email.template,email_from:0 +#: field:email_template.preview,email_from:0 +msgid "From" +msgstr "" + +#. module: email_template +#: field:mail.compose.message,template_id:0 +msgid "Template" +msgstr "" + +#. module: email_template +#: help:email.template,ref_ir_value:0 +#: help:email_template.preview,ref_ir_value:0 +msgid "Sidebar button to open the sidebar action" +msgstr "" + +#. module: email_template +#: field:res.partner,opt_out:0 +msgid "Opt-Out" +msgstr "" + +#. module: email_template +#: field:email.template,email_to:0 +#: field:email_template.preview,email_to:0 +msgid "To (Emails)" +msgstr "" + +#. module: email_template +#: field:email.template,mail_server_id:0 +#: field:email_template.preview,mail_server_id:0 +msgid "Outgoing Mail Server" +msgstr "" + +#. module: email_template +#: help:email.template,ref_ir_act_window:0 +#: help:email_template.preview,ref_ir_act_window:0 +msgid "" +"Sidebar action to make this template available on records of the related " +"document model" +msgstr "" + +#. module: email_template +#: field:email.template,model_object_field:0 +#: field:email_template.preview,model_object_field:0 +msgid "Field" +msgstr "" + +#. module: email_template +#: help:email.template,email_from:0 +#: help:email_template.preview,email_from:0 +msgid "Sender address (placeholders may be used here)" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Remove context action" +msgstr "" + +#. module: email_template +#: help:email.template,mail_server_id:0 +#: help:email_template.preview,mail_server_id:0 +msgid "" +"Optional preferred server for outgoing mails. If not set, the highest " +"priority one will be used." +msgstr "" + +#. module: email_template +#: field:email.template,report_name:0 +#: field:email_template.preview,report_name:0 +msgid "Report Filename" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Preview" +msgstr "" + +#. module: email_template +#: field:email.template,reply_to:0 +#: field:email_template.preview,reply_to:0 +msgid "Reply-To" +msgstr "" + +#. module: email_template +#: view:mail.compose.message:0 +msgid "Use template" +msgstr "" + +#. module: email_template +#: field:email.template,body_html:0 +#: field:email_template.preview,body_html:0 +msgid "Body" +msgstr "" + +#. module: email_template +#: code:addons/email_template/email_template.py:247 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: email_template +#: help:email.template,user_signature:0 +#: help:email_template.preview,user_signature:0 +msgid "" +"If checked, the user's signature will be appended to the text version of the " +"message" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "SMTP Server" +msgstr "" + +#. module: email_template +#: view:mail.compose.message:0 +msgid "Save as new template" +msgstr "" + +#. module: email_template +#: help:email.template,sub_object:0 +#: help:email_template.preview,sub_object:0 +msgid "" +"When a relationship field is selected as first field, this field shows the " +"document model the relationship goes to." +msgstr "" + +#. module: email_template +#: model:ir.model,name:email_template.model_email_template +msgid "Email Templates" +msgstr "" + +#. module: email_template +#: help:email.template,report_name:0 +#: help:email_template.preview,report_name:0 +msgid "" +"Name to use for the generated report file (may contain placeholders)\n" +"The extension can be omitted and will then come from the report type." +msgstr "" + +#. module: email_template +#: field:email.template,ref_ir_act_window:0 +#: field:email_template.preview,ref_ir_act_window:0 +msgid "Sidebar action" +msgstr "" + +#. module: email_template +#: help:email.template,lang:0 +#: help:email_template.preview,lang:0 +msgid "" +"Optional translation language (ISO code) to select when sending out an " +"email. If not set, the english version will be used. This should usually be " +"a placeholder expression that provides the appropriate language code, e.g. " +"${object.partner_id.lang.code}." +msgstr "" + +#. module: email_template +#: field:email_template.preview,res_id:0 +msgid "Sample Document" +msgstr "" + +#. module: email_template +#: help:email.template,model_object_field:0 +#: help:email_template.preview,model_object_field:0 +msgid "" +"Select target field from the related document model.\n" +"If it is a relationship field you will be able to select a target field at " +"the destination of the relationship." +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Dynamic Value Builder" +msgstr "" + +#. module: email_template +#: model:ir.actions.act_window,name:email_template.wizard_email_template_preview +msgid "Template Preview" +msgstr "" + +#. module: email_template +#: view:mail.compose.message:0 +msgid "Save as a new template" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "" +"Display an option on related documents to open a composition wizard with " +"this template" +msgstr "" + +#. module: email_template +#: help:email.template,email_cc:0 +#: help:email_template.preview,email_cc:0 +msgid "Carbon copy recipients (placeholders may be used here)" +msgstr "" + +#. module: email_template +#: help:email.template,email_to:0 +#: help:email_template.preview,email_to:0 +msgid "Comma-separated recipient addresses (placeholders may be used here)" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Advanced" +msgstr "" + +#. module: email_template +#: view:email_template.preview:0 +msgid "Preview of" +msgstr "" + +#. module: email_template +#: view:email_template.preview:0 +msgid "Using sample document" +msgstr "" + +#. module: email_template +#: view:email.template:0 +#: model:ir.actions.act_window,name:email_template.action_email_template_tree_all +#: model:ir.ui.menu,name:email_template.menu_email_templates +msgid "Templates" +msgstr "" + +#. module: email_template +#: field:email.template,name:0 +#: field:email_template.preview,name:0 +msgid "Name" +msgstr "" + +#. module: email_template +#: field:email.template,lang:0 +#: field:email_template.preview,lang:0 +msgid "Language" +msgstr "" + +#. module: email_template +#: model:ir.model,name:email_template.model_email_template_preview +msgid "Email Template Preview" +msgstr "" + +#. module: email_template +#: view:email_template.preview:0 +msgid "Email Preview" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "" +"Remove the contextual action to use this template on related documents" +msgstr "" + +#. module: email_template +#: field:email.template,copyvalue:0 +#: field:email_template.preview,copyvalue:0 +msgid "Placeholder Expression" +msgstr "" + +#. module: email_template +#: field:email.template,sub_object:0 +#: field:email_template.preview,sub_object:0 +msgid "Sub-model" +msgstr "" + +#. module: email_template +#: help:email.template,subject:0 +#: help:email_template.preview,subject:0 +msgid "Subject (placeholders may be used here)" +msgstr "" + +#. module: email_template +#: help:email.template,reply_to:0 +#: help:email_template.preview,reply_to:0 +msgid "Preferred response address (placeholders may be used here)" +msgstr "" + +#. module: email_template +#: field:email.template,ref_ir_value:0 +#: field:email_template.preview,ref_ir_value:0 +msgid "Sidebar Button" +msgstr "" + +#. module: email_template +#: field:email.template,report_template:0 +#: field:email_template.preview,report_template:0 +msgid "Optional report to print and attach" +msgstr "" + +#. module: email_template +#: help:email.template,null_value:0 +#: help:email_template.preview,null_value:0 +msgid "Optional value to use if the target field is empty" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Model" +msgstr "" + +#. module: email_template +#: model:ir.model,name:email_template.model_mail_compose_message +msgid "Email composition wizard" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Add context action" +msgstr "" + +#. module: email_template +#: help:email.template,model_id:0 +#: help:email_template.preview,model_id:0 +msgid "The kind of document with with this template can be used" +msgstr "" + +#. module: email_template +#: field:email.template,email_recipients:0 +#: field:email_template.preview,email_recipients:0 +msgid "To (Partners)" +msgstr "" + +#. module: email_template +#: field:email.template,auto_delete:0 +#: field:email_template.preview,auto_delete:0 +msgid "Auto Delete" +msgstr "" + +#. module: email_template +#: help:email.template,copyvalue:0 +#: help:email_template.preview,copyvalue:0 +msgid "" +"Final placeholder expression, to be copy-pasted in the desired template " +"field." +msgstr "" + +#. module: email_template +#: field:email.template,model:0 +#: field:email_template.preview,model:0 +msgid "Related Document Model" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Addressing" +msgstr "" + +#. module: email_template +#: help:email.template,email_recipients:0 +#: help:email_template.preview,email_recipients:0 +msgid "" +"Comma-separated ids of recipient partners (placeholders may be used here)" +msgstr "" + +#. module: email_template +#: field:email.template,attachment_ids:0 +#: field:email_template.preview,attachment_ids:0 +msgid "Attachments" +msgstr "" + +#. module: email_template +#: code:addons/email_template/email_template.py:234 +#, python-format +msgid "Deletion of the action record failed." +msgstr "" + +#. module: email_template +#: field:email.template,email_cc:0 +#: field:email_template.preview,email_cc:0 +msgid "Cc" +msgstr "" + +#. module: email_template +#: field:email.template,model_id:0 +#: field:email_template.preview,model_id:0 +msgid "Applies to" +msgstr "" + +#. module: email_template +#: field:email.template,sub_model_object_field:0 +#: field:email_template.preview,sub_model_object_field:0 +msgid "Sub-field" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Email Details" +msgstr "" + +#. module: email_template +#: code:addons/email_template/email_template.py:199 +#, python-format +msgid "Send Mail (%s)" +msgstr "" + +#. module: email_template +#: help:res.partner,opt_out:0 +msgid "" +"If checked, this partner will not receive any automated email notifications, " +"such as the availability of invoices." +msgstr "" + +#. module: email_template +#: help:email.template,auto_delete:0 +#: help:email_template.preview,auto_delete:0 +msgid "Permanently delete this email after sending it, to save space" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Group by..." +msgstr "" + +#. module: email_template +#: help:email.template,sub_model_object_field:0 +#: help:email_template.preview,sub_model_object_field:0 +msgid "" +"When a relationship field is selected as first field, this field lets you " +"select the target field within the destination document model (sub-model)." +msgstr "" + +#. module: email_template +#: code:addons/email_template/email_template.py:234 +#, python-format +msgid "Warning" +msgstr "" + +#. module: email_template +#: field:email.template,user_signature:0 +#: field:email_template.preview,user_signature:0 +msgid "Add Signature" +msgstr "" + +#. module: email_template +#: model:ir.model,name:email_template.model_res_partner +msgid "Partner" +msgstr "" + +#. module: email_template +#: field:email.template,null_value:0 +#: field:email_template.preview,null_value:0 +msgid "Default Value" +msgstr "" + +#. module: email_template +#: help:email.template,attachment_ids:0 +#: help:email_template.preview,attachment_ids:0 +msgid "" +"You may attach files to this template, to be added to all emails created " +"from this template" +msgstr "" + +#. module: email_template +#: help:email.template,body_html:0 +#: help:email_template.preview,body_html:0 +msgid "Rich-text/HTML version of the message (placeholders may be used here)" +msgstr "" + +#. module: email_template +#: view:email.template:0 +msgid "Contents" +msgstr "" + +#. module: email_template +#: field:email.template,subject:0 +#: field:email_template.preview,subject:0 +msgid "Subject" +msgstr "" diff --git a/addons/email_template/tests/test_ir_actions.py b/addons/email_template/tests/test_ir_actions.py index d323ee36c1f..9b408a45316 100644 --- a/addons/email_template/tests/test_ir_actions.py +++ b/addons/email_template/tests/test_ir_actions.py @@ -33,7 +33,7 @@ class TestServerActionsEmail(TestServerActionsBase): 'name': 'TestTemplate', 'email_from': 'myself@example.com', 'email_to': 'brigitte@example.com', - 'partner_to': '[%s]' % self.test_partner_id, + 'partner_to': '%s' % self.test_partner_id, 'model_id': self.res_partner_model_id, 'subject': 'About ${object.name}', 'body_html': '<p>Dear ${object.name}, your parent is ${object.parent_id and object.parent_id.name or "False"}</p>', diff --git a/addons/email_template/tests/test_mail.py b/addons/email_template/tests/test_mail.py index ccc8a49b875..a43bbe79713 100644 --- a/addons/email_template/tests/test_mail.py +++ b/addons/email_template/tests/test_mail.py @@ -21,6 +21,7 @@ import base64 from openerp.addons.mail.tests.common import TestMail +from openerp.tools import mute_logger class test_message_compose(TestMail): @@ -200,3 +201,44 @@ class test_message_compose(TestMail): # Generate messsage with default email and partner on template mail_value = mail_compose.generate_email_for_composer(cr, uid, email_template_id, uid) self.assertEqual(set(mail_value['partner_ids']), set(send_to), 'mail.message partner_ids list created by template is incorrect') + + @mute_logger('openerp.osv.orm', 'openerp.osv.orm') + def test_10_email_templating(self): + """ Tests designed for the mail.compose.message wizard updated by email_template. """ + cr, uid, context = self.cr, self.uid, {} + + # create the email.template on mail.group model + group_model_id = self.registry('ir.model').search(cr, uid, [('model', '=', 'mail.group')])[0] + email_template = self.registry('email.template') + email_template_id = email_template.create(cr, uid, { + 'model_id': group_model_id, + 'name': 'Pigs Template', + 'email_from': 'Raoul Grosbedon <raoul@example.com>', + 'subject': '${object.name}', + 'body_html': '${object.description}', + 'user_signature': True, + 'email_to': 'b@b.b c@c.c', + 'email_cc': 'd@d.d', + 'partner_to': '${user.partner_id.id},%s,%s,-1' % (self.user_raoul.partner_id.id, self.user_bert.partner_id.id) + }) + + # not force send: email_recipients is not taken into account + msg_id = email_template.send_mail(cr, uid, email_template_id, self.group_pigs_id, context=context) + mail = self.mail_mail.browse(cr, uid, msg_id, context=context) + self.assertEqual(mail.subject, 'Pigs', 'email_template: send_mail: wrong subject') + self.assertEqual(mail.email_to, 'b@b.b c@c.c', 'email_template: send_mail: wrong email_to') + self.assertEqual(mail.email_cc, 'd@d.d', 'email_template: send_mail: wrong email_cc') + self.assertEqual( + set([partner.id for partner in mail.recipient_ids]), + set((self.partner_admin_id, self.user_raoul.partner_id.id, self.user_bert.partner_id.id)), + 'email_template: send_mail: wrong management of partner_to') + + # force send: take email_recipients into account + email_template.send_mail(cr, uid, email_template_id, self.group_pigs_id, force_send=True, context=context) + sent_emails = self._build_email_kwargs_list + email_to_lst = [ + ['b@b.b', 'c@c.c'], ['"Followers of Pigs" <admin@example.com>'], + ['"Followers of Pigs" <raoul@raoul.fr>'], ['"Followers of Pigs" <bert@bert.fr>']] + self.assertEqual(len(sent_emails), 4, 'email_template: send_mail: 3 valid email recipients + email_to -> should send 4 emails') + for email in sent_emails: + self.assertIn(email['email_to'], email_to_lst, 'email_template: send_mail: wrong email_recipients') diff --git a/addons/email_template/wizard/mail_compose_message.py b/addons/email_template/wizard/mail_compose_message.py index db6485d19ae..2ef1d5d80ff 100644 --- a/addons/email_template/wizard/mail_compose_message.py +++ b/addons/email_template/wizard/mail_compose_message.py @@ -19,7 +19,7 @@ # ############################################################################## -from openerp import tools +from openerp import tools, SUPERUSER_ID from openerp.osv import osv, fields @@ -157,9 +157,9 @@ class mail_compose_message(osv.TransientModel): partner_ids.append(partner_id) partner_to = rendered_values.pop('partner_to', '') if partner_to: - for partner_id in partner_to.split(','): - if partner_id: # placeholders could generate '', 3, 2 due to some empty field values - partner_ids.append(int(partner_id)) + # placeholders could generate '', 3, 2 due to some empty field values + tpl_partner_ids = [pid for pid in partner_to.split(',') if pid] + partner_ids += self.pool['res.partner'].exists(cr, SUPERUSER_ID, tpl_partner_ids, context=context) return partner_ids def generate_email_for_composer_batch(self, cr, uid, template_id, res_ids, context=None): diff --git a/addons/fleet/i18n/lo.po b/addons/fleet/i18n/lo.po new file mode 100644 index 00000000000..bb3d220ffbe --- /dev/null +++ b/addons/fleet/i18n/lo.po @@ -0,0 +1,1912 @@ +# Lao translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-12-19 15:15+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Lao <lo@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-20 05:11+0000\n" +"X-Generator: Launchpad (build 16872)\n" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Hybrid" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_compact +msgid "Compact" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_1 +msgid "A/C Compressor Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,vin_sn:0 +msgid "Unique number written on the vehicle motor (VIN/SN number)" +msgstr "" + +#. module: fleet +#: selection:fleet.service.type,category:0 +#: view:fleet.vehicle.log.contract:0 +#: view:fleet.vehicle.log.services:0 +msgid "Service" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Monthly" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:62 +#, python-format +msgid "Unknown" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_20 +msgid "Engine/Drive Belt(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Vehicle costs" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Diesel" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:421 +#, python-format +msgid "License Plate: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_38 +msgid "Resurface Rotors" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: view:fleet.vehicle.model:0 +msgid "Group By..." +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_32 +msgid "Oil Pump Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_18 +msgid "Engine Belt Inspection" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "No" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,power:0 +msgid "Power in kW of the vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_2 +msgid "Depreciation and Interests" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,insurer_id:0 +#: field:fleet.vehicle.log.fuel,vendor_id:0 +#: field:fleet.vehicle.log.services,vendor_id:0 +msgid "Supplier" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_35 +msgid "Power Steering Hose Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Odometer details" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Has Alert(s)" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,liter:0 +msgid "Liter" +msgstr "" + +#. module: fleet +#: model:ir.actions.client,name:fleet.action_fleet_menu +msgid "Open Fleet Menu" +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Fuel Costs" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_9 +msgid "Battery Inspection" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,company_id:0 +msgid "Company" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Invoice Date" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +msgid "Refueling Details" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:669 +#, python-format +msgid "%s contract(s) need(s) to be renewed and/or closed!" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Indicative Costs" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_16 +msgid "Charging System Diagnosis" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,car_value:0 +msgid "Value of the bought vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_44 +msgid "Tie Rod End Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_24 +msgid "Head Gasket(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Services" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,odometer:0 +#: help:fleet.vehicle.cost,odometer:0 +#: help:fleet.vehicle.cost,odometer_id:0 +msgid "Odometer measure of the vehicle at the moment of this log" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: field:fleet.vehicle.log.contract,notes:0 +msgid "Terms and Conditions" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_kanban +msgid "Vehicles with alerts" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_costs_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_costs_menu +msgid "Vehicle Costs" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Total Cost" +msgstr "" + +#. module: fleet +#: selection:fleet.service.type,category:0 +msgid "Both" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_id:0 +#: field:fleet.vehicle.log.fuel,cost_id:0 +#: field:fleet.vehicle.log.services,cost_id:0 +msgid "Automatically created field to link to parent fleet.vehicle.cost" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Terminate Contract" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,parent_id:0 +msgid "Parent cost to this current cost" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Frequency of the recuring cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_1 +msgid "Calculation Benefit In Kind" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,expiration_date:0 +msgid "" +"Date when the coverage of the contract expirates (by default, one year after " +"begin date)" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +#: field:fleet.vehicle.log.fuel,notes:0 +#: view:fleet.vehicle.log.services:0 +#: field:fleet.vehicle.log.services,notes:0 +msgid "Notes" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:47 +#, python-format +msgid "Operation not allowed!" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: fleet +#: model:res.groups,name:fleet.group_fleet_user +msgid "User" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,vehicle_id:0 +msgid "Vehicle concerned by this log" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_amount:0 +#: field:fleet.vehicle.log.fuel,cost_amount:0 +#: field:fleet.vehicle.log.services,cost_amount:0 +msgid "Amount" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_6 +msgid "Air Filter Replacement" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_tag +msgid "fleet.vehicle.tag" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the services logs for this vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_name:0 +msgid "Name of contract to renew soon" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_senior +msgid "Senior" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,state:0 +msgid "Choose wheter the contract is still valid or not" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,transmission:0 +msgid "Automatic" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:414 +#, python-format +msgid "Driver: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "and" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model.brand,image_medium:0 +msgid "Medium-sized photo" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_34 +msgid "Oxygen Sensor Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Service Type" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,transmission:0 +msgid "Transmission Used by the vehicle" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:740 +#: view:fleet.vehicle.log.contract:0 +#: model:ir.actions.act_window,name:fleet.act_renew_contract +#, python-format +msgid "Renew Contract" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the odometer logs for this vehicle" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,odometer_unit:0 +msgid "Unit of the odometer " +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Services Costs Per Month" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Effective Costs" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_8 +msgid "Repair and maintenance" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,purchaser_id:0 +msgid "Person to which the contract is signed for" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_contract_act +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a new contract. \n" +" </p><p>\n" +" Manage all your contracts (leasing, insurances, etc.) with\n" +" their related services, costs. OpenERP will automatically " +"warn\n" +" you when some contracts have to be renewed.\n" +" </p><p>\n" +" Each contract (e.g.: leasing) may include several services\n" +" (reparation, insurances, periodic maintenance).\n" +" </p>\n" +" " +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_service_type +msgid "Type of services available on a vehicle" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_service_types_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_service_types_menu +msgid "Service Types" +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Contracts Costs" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_services_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_log_services_menu +msgid "Vehicles Services Logs" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_fuel_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_log_fuel_menu +msgid "Vehicles Fuel Logs" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.model.brand:0 +msgid "" +"$('.oe_picture').load(function() { if($(this).width() > $(this).height()) { " +"$(this).addClass('oe_employee_picture_wide') } });" +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Vehicles With Alerts" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_costs_act +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a new cost.\n" +" </p><p>\n" +" OpenERP helps you managing the costs for your different\n" +" vehicles. Costs are created automatically from services,\n" +" contracts (fixed or recurring) and fuel logs.\n" +" </p>\n" +" " +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the fuel logs for this vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,purchaser_id:0 +msgid "Contractor" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,license_plate:0 +msgid "License Plate" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,state:0 +msgid "To Close" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Recurring Cost Frequency" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,inv_ref:0 +#: field:fleet.vehicle.log.services,inv_ref:0 +msgid "Invoice Reference" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,location:0 +msgid "Location" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Costs Per Month" +msgstr "" + +#. module: fleet +#: field:fleet.contract.state,name:0 +msgid "Contract Status" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_total:0 +msgid "Total of contracts due or overdue minus one" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,cost_subtype_id:0 +msgid "Type" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_overdue:0 +msgid "Has Contracts Overdued" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,amount:0 +msgid "Total Price" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_27 +msgid "Heater Core Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_14 +msgid "Car Wash" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,driver_id:0 +msgid "Driver of the vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "other(s)" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_refueling +msgid "Refueling" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_5 +msgid "A/C Recharge" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_log_fuel +msgid "Fuel log for vehicles" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Engine Options" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +msgid "Fuel Costs Per Month" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_sedan +msgid "Sedan" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,seats:0 +msgid "Seats Number" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_convertible +msgid "Convertible" +msgstr "" + +#. module: fleet +#: model:ir.ui.menu,name:fleet.fleet_configuration +msgid "Configuration" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: field:fleet.vehicle.log.contract,sum_cost:0 +msgid "Indicative Costs Total" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_junior +msgid "Junior" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,model_id:0 +msgid "Model of the vehicle" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_state_act +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a vehicule status.\n" +" </p><p>\n" +" You can customize available status to track the evolution " +"of\n" +" each vehicule. Example: Active, Being Repaired, Sold.\n" +" </p>\n" +" " +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: field:fleet.vehicle,log_fuel:0 +#: view:fleet.vehicle.log.fuel:0 +msgid "Fuel Logs" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:409 +#: code:addons/fleet/fleet.py:413 +#: code:addons/fleet/fleet.py:417 +#: code:addons/fleet/fleet.py:420 +#, python-format +msgid "None" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_reporting_costs_non_effective +#: model:ir.ui.menu,name:fleet.menu_fleet_reporting_indicative_costs +msgid "Indicative Costs Analysis" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_12 +msgid "Brake Inspection" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,state_id:0 +msgid "Current state of the vehicle" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,transmission:0 +msgid "Manual" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_52 +msgid "Wheel Bearing Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,cost_subtype_id:0 +msgid "Cost type purchased with this cost" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Gasoline" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_model_brand_act +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a new brand.\n" +" </p>\n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,start_date:0 +msgid "Contract Start Date" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,odometer_unit:0 +msgid "Odometer Unit" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_30 +msgid "Intake Manifold Gasket Replacement" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Daily" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_6 +msgid "Snow tires" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,date:0 +msgid "Date when the cost has been executed" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: view:fleet.vehicle.model:0 +msgid "Vehicles costs" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_log_services +msgid "Services for vehicles" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Indicative Cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_26 +msgid "Heater Control Valve Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "" +"Create a new contract automatically with all the same informations except " +"for the date that will start at the end of current contract" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,state:0 +msgid "Terminated" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_cost +msgid "Cost related to a vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_33 +msgid "Other Maintenance" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,parent_id:0 +msgid "Parent" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,state_id:0 +#: view:fleet.vehicle.state:0 +msgid "State" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,cost_generated:0 +msgid "Recurring Cost Amount" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_49 +msgid "Transmission Replacement" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_fuel_act +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a new fuel log. \n" +" </p><p>\n" +" Here you can add refuelling entries for all vehicles. You " +"can\n" +" also filter logs of a particular vehicle using the search\n" +" field.\n" +" </p>\n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_11 +msgid "Brake Caliper Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,odometer:0 +msgid "Last Odometer" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_model_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_model_menu +msgid "Vehicle Model" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,doors:0 +msgid "Doors Number" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,acquisition_date:0 +msgid "Date when the vehicle has been bought" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.model:0 +msgid "Models" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "amount" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,fuel_type:0 +msgid "Fuel Used by the vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Set Contract In Progress" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,odometer_unit:0 +#: field:fleet.vehicle.odometer,unit:0 +msgid "Unit" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,horsepower:0 +msgid "Horsepower" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,image:0 +#: field:fleet.vehicle,image_medium:0 +#: field:fleet.vehicle,image_small:0 +#: field:fleet.vehicle.model,image:0 +#: field:fleet.vehicle.model,image_medium:0 +#: field:fleet.vehicle.model,image_small:0 +#: field:fleet.vehicle.model.brand,image:0 +msgid "Logo" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,horsepower_tax:0 +msgid "Horsepower Taxation" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,log_services:0 +#: view:fleet.vehicle.log.services:0 +msgid "Services Logs" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.model:0 +msgid "Brand" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_43 +msgid "Thermostat Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.service.type,category:0 +msgid "Category" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_fuel_graph +msgid "Fuel Costs by Month" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model.brand,image:0 +msgid "" +"This field holds the image used as logo for the brand, limited to " +"1024x1024px." +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_11 +msgid "Management Fee" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "All vehicles" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +#: view:fleet.vehicle.log.services:0 +msgid "Additional Details" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_services_graph +msgid "Services Costs by Month" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_9 +msgid "Assistance" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,price_per_liter:0 +msgid "Price Per Liter" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_17 +msgid "Door Window Motor/Regulator Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_46 +msgid "Tire Service" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_8 +msgid "Ball Joint Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,fuel_type:0 +msgid "Fuel Type" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_22 +msgid "Fuel Injector Replacement" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_state_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_state_menu +msgid "Vehicle Status" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_50 +msgid "Water Pump Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,location:0 +msgid "Location of the vehicle (garage, ...)" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_28 +msgid "Heater Hose Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,state:0 +msgid "Status" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_40 +msgid "Rotor Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model,brand_id:0 +msgid "Brand of the vehicle" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,start_date:0 +msgid "Date when the coverage of the contract begins" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,fuel_type:0 +msgid "Electric" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,tag_ids:0 +msgid "Tags" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: field:fleet.vehicle,log_contracts:0 +msgid "Contracts" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_13 +msgid "Brake Pad(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +#: view:fleet.vehicle.log.services:0 +msgid "Odometer Details" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,driver_id:0 +msgid "Driver" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model.brand,image_small:0 +msgid "" +"Small-sized photo of the brand. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Fleet Dashboard" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_break +msgid "Break" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_contract_omnium +msgid "Omnium" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Services Details" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_15 +msgid "Residual value (Excluding VAT)" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_7 +msgid "Alternator Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_3 +msgid "A/C Diagnosis" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_23 +msgid "Fuel Pump Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Activation Cost" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Cost Type" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_4 +msgid "A/C Evaporator Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show all the costs for this vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.odometer:0 +msgid "Odometer Values Per Month" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_model_act +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a new model.\n" +" </p><p>\n" +" You can define several models (e.g. A3, A4) for each brand " +"(Audi).\n" +" </p>\n" +" " +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_act +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a new vehicle. \n" +" </p><p>\n" +" You will be able to manage your fleet by keeping track of " +"the\n" +" contracts, services, fixed and recurring costs, odometers " +"and\n" +" fuel logs associated to each vehicle.\n" +" </p><p>\n" +" OpenERP will warn you when services or contract have to be\n" +" renewed.\n" +" </p>\n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_13 +msgid "Entry into service tax" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,expiration_date:0 +msgid "Contract Expiration Date" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Cost Subtype" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.open_board_fleet +msgid "" +"<div class=\"oe_empty_custom_dashboard\">\n" +" <p>\n" +" <b>Fleet dashboard is empty.</b>\n" +" </p><p>\n" +" To add your first report into this dashboard, go to any\n" +" menu, switch to list or graph view, and click <i>'Add " +"to\n" +" Dashboard'</i> in the extended search options.\n" +" </p><p>\n" +" You can filter and group data before inserting into the\n" +" dashboard using the search options.\n" +" </p>\n" +" </div>\n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_12 +msgid "Rent (Excluding VAT)" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,odometer_unit:0 +msgid "Kilometers" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.fuel:0 +msgid "Vehicle Details" +msgstr "" + +#. module: fleet +#: selection:fleet.service.type,category:0 +#: field:fleet.vehicle.cost,contract_id:0 +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Contract" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_model_brand_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_model_brand_menu +msgid "Model brand of Vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_10 +msgid "Battery Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,date:0 +#: field:fleet.vehicle.odometer,date:0 +msgid "Date" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_menu +#: model:ir.ui.menu,name:fleet.fleet_vehicles +msgid "Vehicles" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle,odometer_unit:0 +msgid "Miles" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,cost_generated:0 +msgid "" +"Costs paid at regular intervals, depending on the cost frequency. If the " +"cost frequency is set to unique, the cost will be logged at the start date" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_17 +msgid "Emissions" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_model +msgid "Model of a vehicle" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.action_fleet_reporting_costs +#: model:ir.actions.act_window,help:fleet.action_fleet_reporting_costs_non_effective +msgid "" +"<p>\n" +" OpenERP helps you managing the costs for your different vehicles\n" +" Costs are generally created from services and contract and appears " +"here.\n" +" </p>\n" +" <p>\n" +" Thanks to the different filters, OpenERP can only print the " +"effective\n" +" costs, sort them by type and by vehicle.\n" +" </p>\n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,car_value:0 +msgid "Car Value" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.open_board_fleet +#: model:ir.module.category,name:fleet.module_fleet_category +#: model:ir.ui.menu,name:fleet.menu_fleet_dashboard +#: model:ir.ui.menu,name:fleet.menu_fleet_reporting +#: model:ir.ui.menu,name:fleet.menu_root +msgid "Fleet" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_14 +msgid "Total expenses (Excluding VAT)" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,odometer_id:0 +msgid "Odometer" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_45 +msgid "Tire Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.service.type:0 +msgid "Service types" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.fuel,purchaser_id:0 +#: field:fleet.vehicle.log.services,purchaser_id:0 +msgid "Purchaser" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_3 +msgid "Tax roll" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.model:0 +#: field:fleet.vehicle.model,vendors:0 +msgid "Vendors" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_contract_leasing +msgid "Leasing" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.model.brand,image_medium:0 +msgid "" +"Medium-sized logo of the brand. It is automatically resized as a 128x128px " +"image, with aspect ratio preserved. Use this field in form views or some " +"kanban views." +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Weekly" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: view:fleet.vehicle.odometer:0 +msgid "Odometer Logs" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,acquisition_date:0 +msgid "Acquisition Date" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_odometer +msgid "Odometer log for a vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,cost_type:0 +msgid "Category of the cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_5 +#: model:fleet.service.type,name:fleet.type_service_service_7 +msgid "Summer tires" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,contract_renewal_due_soon:0 +msgid "Has Contracts to renew" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_31 +msgid "Oil Change" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model.brand,image_small:0 +msgid "Smal-sized photo" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_model_brand +msgid "Brand model of the vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_51 +msgid "Wheel Alignment" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_purchased +msgid "Purchased" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_odometer_act +msgid "" +"<p>\n" +" Here you can add various odometer entries for all vehicles.\n" +" You can also show odometer value for a particular vehicle " +"using\n" +" the search field.\n" +" </p>\n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model,brand_id:0 +#: view:fleet.vehicle.model.brand:0 +msgid "Model Brand" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "General Properties" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_21 +msgid "Exhaust Manifold Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_47 +msgid "Transmission Filter Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_10 +msgid "Replacement Vehicle" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,state:0 +msgid "In Progress" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.log.contract,cost_frequency:0 +msgid "Yearly" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model,modelname:0 +msgid "Model name" +msgstr "" + +#. module: fleet +#: view:board.board:0 +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_costs_graph +msgid "Costs by Month" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_18 +msgid "Touring Assistance" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,power:0 +msgid "Power (kW)" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:418 +#, python-format +msgid "State: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_2 +msgid "A/C Condenser Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_19 +msgid "Engine Coolant Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +msgid "Cost Details" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:410 +#, python-format +msgid "Model: from '%s' to '%s'" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Other" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Contract details" +msgstr "" + +#. module: fleet +#: model:fleet.vehicle.tag,name:fleet.vehicle_tag_leasing +msgid "Employee Car" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,auto_generated:0 +msgid "Automatically Generated" +msgstr "" + +#. module: fleet +#: selection:fleet.vehicle.cost,cost_type:0 +msgid "Fuel" +msgstr "" + +#. module: fleet +#: sql_constraint:fleet.vehicle.state:0 +msgid "State name already exists" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_37 +msgid "Radiator Repair" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_log_contract +msgid "Contract information on a vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,days_left:0 +msgid "Warning Date" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_19 +msgid "Residual value in %" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Additional Properties" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle_state +msgid "fleet.vehicle.state" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Contract Costs Per Month" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_log_contract_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_log_contract_menu +msgid "Vehicles Contracts" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_48 +msgid "Transmission Fluid Replacement" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.model.brand,name:0 +msgid "Brand Name" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_36 +msgid "Power Steering Pump Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,contract_id:0 +msgid "Contract attached to this cost" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:397 +#, python-format +msgid "Vehicle %s has been added to the fleet!" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: view:fleet.vehicle.log.fuel:0 +#: view:fleet.vehicle.log.services:0 +msgid "Price" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,odometer:0 +#: field:fleet.vehicle.odometer,value:0 +msgid "Odometer Value" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,vehicle_id:0 +#: field:fleet.vehicle.odometer,vehicle_id:0 +msgid "Vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.cost,cost_ids:0 +#: view:fleet.vehicle.log.contract:0 +#: view:fleet.vehicle.log.services:0 +msgid "Included Services" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.action_fleet_vehicle_kanban +msgid "" +"<p>\n" +" Here are displayed vehicles for which one or more contracts need " +"to be renewed. If you see this message, then there is no contracts to " +"renew.\n" +" </p>\n" +" " +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_15 +msgid "Catalytic Converter Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_25 +msgid "Heater Blower Motor Replacement" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.fleet_vehicle_odometer_act +#: model:ir.ui.menu,name:fleet.fleet_vehicle_odometer_menu +msgid "Vehicles Odometer" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.log.contract,notes:0 +msgid "Write here all supplementary informations relative to this contract" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_29 +msgid "Ignition Coil Replacement" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_service_16 +msgid "Options" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_contract_repairing +msgid "Repairing" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_reporting_costs +#: model:ir.ui.menu,name:fleet.menu_fleet_reporting_costs +msgid "Costs Analysis" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.log.contract,ins_ref:0 +msgid "Contract Reference" +msgstr "" + +#. module: fleet +#: field:fleet.service.type,name:0 +#: field:fleet.vehicle,name:0 +#: field:fleet.vehicle.cost,name:0 +#: field:fleet.vehicle.log.contract,name:0 +#: field:fleet.vehicle.model,name:0 +#: field:fleet.vehicle.odometer,name:0 +#: field:fleet.vehicle.state,name:0 +#: field:fleet.vehicle.tag,name:0 +msgid "Name" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,doors:0 +msgid "Number of doors of the vehicle" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,transmission:0 +msgid "Transmission" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,vin_sn:0 +msgid "Chassis Number" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,color:0 +msgid "Color of the vehicle" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_log_services_act +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a new service entry. \n" +" </p><p>\n" +" OpenERP helps you keeping track of all the services done\n" +" on your vehicle. Services can be of many type: occasional\n" +" repair, fixed maintenance, etc.\n" +" </p>\n" +" " +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,co2:0 +msgid "CO2 Emissions" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +msgid "Contract logs" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "Costs" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,name:fleet.action_fleet_vehicle_log_contract_graph +msgid "Contracts Costs by Month" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,model_id:0 +#: view:fleet.vehicle.model:0 +msgid "Model" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_41 +msgid "Spark Plug Replacement" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_vehicle +msgid "Information on a vehicle" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,co2:0 +msgid "CO2 emissions of the vehicle" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_53 +msgid "Windshield Wiper(s) Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.contract:0 +#: field:fleet.vehicle.log.contract,generated_cost_ids:0 +msgid "Generated Costs" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle.state,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: fleet +#: field:fleet.vehicle,color:0 +msgid "Color" +msgstr "" + +#. module: fleet +#: model:ir.actions.act_window,help:fleet.fleet_vehicle_service_types_act +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a new type of service.\n" +" </p><p>\n" +" Each service can used in contracts, as a standalone service " +"or both.\n" +" </p>\n" +" " +msgstr "" + +#. module: fleet +#: view:board.board:0 +msgid "Services Costs" +msgstr "" + +#. module: fleet +#: code:addons/fleet/fleet.py:47 +#, python-format +msgid "Emptying the odometer value of a vehicle is not allowed." +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,seats:0 +msgid "Number of seats of the vehicle" +msgstr "" + +#. module: fleet +#: model:res.groups,name:fleet.group_fleet_manager +msgid "Manager" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Cost" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_39 +msgid "Rotate Tires" +msgstr "" + +#. module: fleet +#: model:fleet.service.type,name:fleet.type_service_42 +msgid "Starter Replacement" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.cost:0 +#: field:fleet.vehicle.cost,year:0 +msgid "Year" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle,license_plate:0 +msgid "License plate number of the vehicle (ie: plate number for a car)" +msgstr "" + +#. module: fleet +#: model:ir.model,name:fleet.model_fleet_contract_state +msgid "Contains the different possible status of a leasing contract" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle:0 +msgid "show the contract for this vehicle" +msgstr "" + +#. module: fleet +#: view:fleet.vehicle.log.services:0 +msgid "Total" +msgstr "" + +#. module: fleet +#: help:fleet.service.type,category:0 +msgid "" +"Choose wheter the service refer to contracts, vehicle services or both" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.cost,cost_type:0 +msgid "For internal purpose only" +msgstr "" + +#. module: fleet +#: help:fleet.vehicle.state,sequence:0 +msgid "Used to order the note stages" +msgstr "" diff --git a/addons/gamification/__init__.py b/addons/gamification/__init__.py new file mode 100644 index 00000000000..21f9c9491ac --- /dev/null +++ b/addons/gamification/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://openerp.com>). +# +# 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 <http://www.gnu.org/licenses/>. +# +############################################################################## + +import models +import wizard diff --git a/addons/gamification/__openerp__.py b/addons/gamification/__openerp__.py new file mode 100644 index 00000000000..c522e287725 --- /dev/null +++ b/addons/gamification/__openerp__.py @@ -0,0 +1,59 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://openerp.com>). +# +# 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 <http://www.gnu.org/licenses/>. +# +############################################################################## +{ + 'name': 'Gamification', + 'version': '1.0', + 'author': 'OpenERP SA', + 'category': 'Human Ressources', + 'depends': ['mail', 'email_template', 'web_kanban_gauge'], + 'description': """ +Gamification process +==================== +The Gamification module provides ways to evaluate and motivate the users of OpenERP. + +The users can be evaluated using goals and numerical objectives to reach. +**Goals** are assigned through **challenges** to evaluate and compare members of a team with each others and through time. + +For non-numerical achievements, **badges** can be granted to users. From a simple "thank you" to an exceptional achievement, a badge is an easy way to exprimate gratitude to a user for their good work. + +Both goals and badges are flexibles and can be adapted to a large range of modules and actions. When installed, this module creates easy goals to help new users to discover OpenERP and configure their user profile. +""", + + 'data': [ + 'wizard/update_goal.xml', + 'wizard/grant_badge.xml', + 'views/badge.xml', + 'views/challenge.xml', + 'views/goal.xml', + 'data/cron.xml', + 'security/gamification_security.xml', + 'security/ir.model.access.csv', + 'data/goal_base.xml', + 'data/badge.xml', + ], + 'installable': True, + 'application': True, + 'auto_install': False, + + 'css': ['static/src/css/gamification.css'], + 'js': ['static/src/js/gamification.js',], + 'qweb': ['static/src/xml/gamification.xml'], +} diff --git a/addons/gamification/data/badge.xml b/addons/gamification/data/badge.xml new file mode 100644 index 00000000000..dc9f1212ae1 --- /dev/null +++ b/addons/gamification/data/badge.xml @@ -0,0 +1,1142 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> + <data noupdate="1"> + <record id="badge_good_job" model="gamification.badge"> + <field name="name">Good Job</field> + <field name="description">You did great at your job.</field> + <field name="rule_auth">everyone</field> + <field name="image">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 + RU5ErkJggg==</field> + </record> + + <record id="badge_problem_solver" model="gamification.badge"> + <field name="name">Problem Solver</field> + <field name="description">No one can solve challenges like you do.</field> + <field name="rule_auth">everyone</field> + <field name="image">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</field> + </record> + + <record id="badge_hidden" model="gamification.badge"> + <field name="name">Hidden</field> + <field name="description">You have found the hidden badge</field> + <field name="rule_auth">nobody</field> + <field name="image">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 + oZLwTwSrpfvBrHNcSUesOjyfJLWUiLcDPe1haF///Zh9t1HQUWnFS9BX3I8e/xzHFh2TVUtN+Lbz + vXeNyl1Q937yIlQiWMLFMViuueWucSU84WK7R7jWAjcAr06aDOj4AOv7+ugevpnD+mYMu9hyYaOF + iWGEGAnPEVn4LqcmxzAKk8wXqQAPA89QO5jsuqlinaPKOF+zHqGqeIQKESsRLOGFHZebfOq6rjZH + uNqd7xOOeN0NbAWG1rWjOgZuIJvcixUZohjqQ2sbrW2MJppvGgOtTNrVEpXiPIPlQ5w9f5r5hQmc + UO4c8BjwLMulgFyhynmEyhWpHLW1q7IIlQiWcHX9Y3iEy+u6XPFq8whX3PnzVzgCNggwkDToHryR + waGdHK7uaIqGSRglenKPUZl9hEPnl9zfrgCPAA+xXBzPrVdWdMTIFaqsR6TyLC+kuweUJfQTwRKu + oZ+8ritMLQnVdV5tjoC5n7jz6QTWABud8HFzbwzKoR6i8U529LcxG7uJaNsI58p9KKrYNg0/22hh + olTNPSllclPkAOfm57HSJ8hmZykUcxRLRco2aWr5UsdZruRpeZxUyRP25Txila9bm6rUrU+JUIlg + CddRuJTHdYXrnFf9x3VdEeeziVrJm80sp1BEN3VAJrqFdV0xThk30hk1wEximQnaI7Bg92FrN31V + o7DRujazjYsUzdROyHbBg6vadzbGc79uM/KE7DyZkqZLzZEqwTBjZLMLRAunmEnlmSsDy4vgM9TS + D445guO9zcgrUgWPULkCVagTKa+bkrBPBEtYBfEyLuK8vO6r/uP+ecT5++4a2Q5gOzBKrWLqBYRN + xZo2g5F2E6J9nGEn6zpM+tqTPFJ8yfMertPMcUv0ANmyJlvRpIo2qaJNoVTilsgTnM9ajGcsZvMX + TckoA2eAk44wTXuExVswseIJ5Yp1QlXwfLzhXn3IJyIlgiU0oA/rxStUJ2BRj2DFnE+9eLkCZnrW + yFyn5mbkez9uvtgLXchb9giKKyZZj2NKsZxW4Doib4hWL1DecK9UJ1Tur0uef7fq+X+JSIlgCT4W + L/cT8giYG0J6xapeuCKev296RMzwfFV1X72uj4uEWF6h8N7zqD3CVC9Q9SLlFar678uev29dZE1K + REoESwhI/xp1ImZ6RMwrZOG6UNHrukIe4fJ+6kXsYoKl60TKFZIXEimvWFU8604Vz59XX8BBiUiJ + YAlN4r4uJmKuEzPqhOlS319MtLybApdyU7pOYNzvq3XCVf/VrnNOlxInESkRLKEFRKw+nPSKWb2w + 1f/auIjDulg4eLFQ0Ou67Iv8nr7ER8RJBEsQnjcm1AsIm6pzbJdCv4CIvdD3iDgJIljC9R4vVzKO + 9FX+mSAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAI + giAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIgiAIghBg/j+I/UnoNLmiuQAAAABJRU5ErkJggg==</field> + <field name="active" eval="False" /> + </record> + + + <record id="badge_idea" model="gamification.badge"> + <field name="name">Brilliant</field> + <field name="description">With your brilliant ideas, you are an inspiration to others.</field> + <field name="rule_auth">everyone</field> + <field name="rule_max">True</field> + <field name="rule_max_number">2</field> + <field name="image">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 + AABJRU5ErkJggg==</field> + </record> + </data> + + + <data noupdate="0"> + + <record id="email_template_badge_received" model="email.template"> + <field name="name">Received Badge</field> + <field name="body_html"><![CDATA[ + <p>Congratulation, you have received the badge <strong>${object.badge_id.name}</strong> ! + % if object.sender_id + This badge was granted by <strong>${object.sender_id.name}</strong>. + % endif + </p> + + % if object.comment + <p><em>${object.comment}</em></p> + % endif + ]]></field> + </record> + </data> +</openerp> diff --git a/addons/gamification/data/cron.xml b/addons/gamification/data/cron.xml new file mode 100644 index 00000000000..8585771c97d --- /dev/null +++ b/addons/gamification/data/cron.xml @@ -0,0 +1,16 @@ +<?xml version="1.0" encoding="UTF-8"?> +<openerp> + <data> + <record forcecreate="True" id="ir_cron_check_challenge" + model="ir.cron"> + <field name="name">Run Goal Challenge Checker</field> + <field name="interval_number">1</field> + <field name="interval_type">days</field> + <field name="numbercall">-1</field> + <field eval="False" name="doall" /> + <field name="model">gamification.challenge</field> + <field name="function">_cron_update</field> + <field name="args">()</field> + </record> + </data> +</openerp>
\ No newline at end of file diff --git a/addons/gamification/data/goal_base.xml b/addons/gamification/data/goal_base.xml new file mode 100644 index 00000000000..66dd7be7431 --- /dev/null +++ b/addons/gamification/data/goal_base.xml @@ -0,0 +1,208 @@ +<?xml version="1.0"?> +<openerp> + <!-- Mail template is done in a NOUPDATE block + so users can freely customize/delete them --> + <data noupdate="0"> + <!--Email template --> + + <record id="email_template_goal_reminder" model="email.template"> + <field name="name">Reminder for Goal Update</field> + <field name="body_html"><![CDATA[ + <header> + <strong>Reminder ${object.name}</strong> + </header> + + <p>You have not updated your progress for the goal ${object.definition_id.name} (currently reached at ${object.completeness}%) for at least ${object.remind_update_delay} days. Do not forget to do it.</p> + + <p>If you have not changed your score yet, you can use the button "The current value is up to date" to indicate so.</p> + ]]></field> + </record> + + <record id="simple_report_template" model="email.template"> + <field name="name">Simple Challenge Report Progress</field> + <field name="body_html"><![CDATA[ +<header> + <strong>${object.name}</strong> +</header> +<p class="oe_grey">The following message contains the current progress for the challenge ${object.name}</p> + +% if object.visibility_mode == 'personal': + <table width="100%" border="1"> + <tr> + <th>Goal</th> + <th>Target</th> + <th>Current</th> + <th>Completeness</th> + </tr> + % for line in ctx["challenge_lines"]: + <tr + % if line['completeness'] >= 100: + style="font-weight:bold;" + % endif + > + <td>${line['name']}</td> + <td>${line['target']} + % if line['suffix']: + ${line['suffix']} + % endif + </td> + <td>${line['current']} + % if line['suffix']: + ${line['suffix']} + % endif + </td> + <td>${line['completeness']} %</td> + </tr> + % endfor + </table> +% else: + % for line in ctx["challenge_lines"]: + <table width="100%" border="1"> + <tr> + <th colspan="4">${line['name']}</th> + </tr> + <tr> + <th>#</th> + <th>Person</th> + <th>Completeness</th> + <th>Current</th> + </tr> + % for goal in line['goals']: + <tr + % if goal.completeness >= 100: + style="font-weight:bold;" + % endif + > + <td>${goal['rank']}</td> + <td>${goal['name']}</td> + <td>${goal['completeness']}%</td> + <td>${goal['current']}/${line['target']} + % if line['suffix']: + ${line['suffix']} + % endif + </td> + </tr> + % endfor + </table> + + <br/><br/> + + % endfor +% endif + ]]></field> + </record> + + </data> + + <data> + + <!-- goal definitions --> + <record model="gamification.goal.definition" id="definition_base_timezone"> + <field name="name">Set your Timezone</field> + <field name="description">Configure your profile and specify your timezone</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" eval="ref('base.model_res_users')" /> + <field name="domain">[('id','=',user.id),('partner_id.tz', '!=', False)]</field> + <field name="action_id" eval="ref('base.action_res_users_my')" /> + <field name="res_id_field">user.id</field> + </record> + + <record model="gamification.goal.definition" id="definition_base_company_data"> + <field name="name">Set your Company Data</field> + <field name="description">Write some information about your company (specify at least a name)</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" eval="ref('base.model_res_company')" /> + <field name="domain">[('user_ids', 'in', [user.id]), ('name', '=', 'Your Company')]</field> + <field name="condition">lower</field> + <field name="action_id" eval="ref('base.action_res_company_form')" /> + <field name="res_id_field">user.company_id.id</field> + </record> + + <record model="gamification.goal.definition" id="definition_base_company_logo"> + <field name="name">Set your Company Logo</field> + <field name="computation_mode">count</field> + <field name="display_mode">boolean</field> + <field name="model_id" eval="ref('base.model_res_company')" /> + <field name="domain">[('user_ids', 'in', user.id),('logo', '!=', False)]</field> + <field name="action_id" eval="ref('base.action_res_company_form')" /> + <field name="res_id_field">user.company_id.id</field> + </record> + + <record id="action_new_simplified_res_users" model="ir.actions.act_window"> + <field name="name">Create User</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">res.users</field> + <field name="view_type">form</field> + <field name="target">current</field> + <field name="view_id" ref="base.view_users_simple_form"/> + <field name="context">{'default_groups_ref': ['base.group_user']}</field> + <field name="help">Create and manage users that will connect to the system. Users can be deactivated should there be a period of time during which they will/should not connect to the system. You can assign them groups in order to give them specific access to the applications they need to use in the system.</field> + </record> + + <record model="gamification.goal.definition" id="definition_base_invite"> + <field name="name">Invite new Users</field> + <field name="description">Create at least another user</field> + <field name="display_mode">boolean</field> + <field name="computation_mode">count</field> + <field name="model_id" eval="ref('base.model_res_users')" /> + <field name="domain">[('id', '!=', user.id)]</field> + <field name="action_id" eval="ref('action_new_simplified_res_users')" /> + </record> + + <record model="gamification.goal.definition" id="definition_nbr_following"> + <field name="name">Mail Group Following</field> + <field name="description">Follow mail groups to receive news</field> + <field name="computation_mode">python</field> + <field name="compute_code">result = pool.get('mail.followers').search(cr, uid, [('res_model', '=', 'mail.group'), ('partner_id', '=', object.user_id.partner_id.id)], count=True, context=context)</field> + <field name="action_id" eval="ref('mail.action_view_groups')" /> + </record> + + + <!-- challenges --> + <record model="gamification.challenge" id="challenge_base_discover"> + <field name="name">Complete your Profile</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="autojoin_group_id" eval="ref('base.group_user')" /> + <field name="state">inprogress</field> + <field name="category">other</field> + </record> + + <record model="gamification.challenge" id="challenge_base_configure"> + <field name="name">Setup your Company</field> + <field name="period">once</field> + <field name="visibility_mode">personal</field> + <field name="report_message_frequency">never</field> + <field name="user_ids" eval="[(4, ref('base.user_root'))]" /> + <field name="state">inprogress</field> + <field name="category">other</field> + </record> + + <!-- lines --> + <record model="gamification.challenge.line" id="line_base_discover1"> + <field name="definition_id" eval="ref('definition_base_timezone')" /> + <field name="target_goal">1</field> + <field name="challenge_id" eval="ref('challenge_base_discover')" /> + </record> + + <record model="gamification.challenge.line" id="line_base_admin2"> + <field name="definition_id" eval="ref('definition_base_company_logo')" /> + <field name="target_goal">1</field> + <field name="challenge_id" eval="ref('challenge_base_configure')" /> + </record> + <record model="gamification.challenge.line" id="line_base_admin1"> + <field name="definition_id" eval="ref('definition_base_company_data')" /> + <field name="target_goal">0</field> + <field name="challenge_id" eval="ref('challenge_base_configure')" /> + </record> + <record model="gamification.challenge.line" id="line_base_admin3"> + <field name="definition_id" eval="ref('definition_base_invite')" /> + <field name="target_goal">1</field> + <field name="challenge_id" eval="ref('challenge_base_configure')" /> + </record> + </data> + +</openerp> diff --git a/addons/gamification/html/index.html b/addons/gamification/html/index.html new file mode 100644 index 00000000000..890efa0d1ec --- /dev/null +++ b/addons/gamification/html/index.html @@ -0,0 +1,86 @@ +<section class="oe_container"> + <div class="oe_row oe_spaced"> + <div class="oe_span12"> + <h2 class="oe_slogan">Drive Engagement with Gamification</h2> + <h3 class="oe_slogan">Leverage natural desire for competition</h3> + <p class="oe_mt32"> + Reinforce good habits and improve win rates with real-time recognition and rewards inspired by <a href="http://en.wikipedia.org/wiki/Gamification">game mechanics</a>. Align teams around clear business objectives with challenges, personal objectives and team leader boards. + </p> + <div class="oe_span4 oe_centered"> + <h3>Leaderboards</h3> + <div class="oe_row_img oe_centered"> + <img class="oe_picture" src="crm_game_01.png"> + </div> + <p> + Promote leaders and competition amongst sales team with performance ratios. + </p> + </div> + <div class="oe_span4 oe_centered"> + <h3>Personnal Objectives</h3> + <div class="oe_row_img"> + <img class="oe_picture" src="crm_game_02.png"> + </div> + <p> + Assign clear goals to users to align them with the company objectives. + </p> + </div> + <div class="oe_span4 oe_centered"> + <h3>Visual Information</h3> + <div class="oe_row_img oe_centered"> + <img class="oe_picture" src="crm_game_03.png"> + </div> + <p> + See in an glance the progress of each user. + </p> + </div> + </div> +</section> + + +<section class="oe_container oe_dark"> + <div class="oe_row oe_spaced"> + <h2 class="oe_slogan">Create custom Challenges</h2> + <div class="oe_span6"> + <p class="oe_mt32"> +Use predefined goals to generate easily your own challenges. Assign it to a team or individual users. Receive feedback as often as needed: daily, weekly... Repeat it automatically to compare progresses through time. + </p> + </div> + <div class="oe_span6"> + <div class="oe_row_img oe_centered"> + <img class="oe_picture oe_screenshot" src="crm_sc_05.png"> + </div> + </div> + </div> +</section> + +<section class="oe_container"> + <div class="oe_row oe_spaced"> + <h2 class="oe_slogan">Motivate with Badges</h2> + <div class="oe_span6"> + <div class="oe_row_img oe_centered"> + <img class="oe_picture" src="crm_linkedin.png"> + </div> + </div> + <div class="oe_span6"> + <p class="oe_mt32"> +Inspire achievement with recognition of coworker's good work by rewarding badges. These can be deserved manually or upon completion of challenges. Add fun to the competition with rare badges. + </p> + </div> + </div> +</section> + +<section class="oe_container oe_dark"> + <div class="oe_row oe_spaced"> + <h2 class="oe_slogan">Adapt to any module</h2> + <div class="oe_span6"> + <p class="oe_mt32"> +Create goals linked to any module. The evaluation system is very flexible and can be used for many different tasks : sales evaluation, creation of events, project completion or even helping new users to complete their profile. + </p> + </div> + <div class="oe_span6"> + <div class="oe_row_img oe_centered"> + <img class="oe_picture oe_screenshot" src="crm_sc_02.png"> + </div> + </div> + </div> +</section> diff --git a/addons/gamification/models/__init__.py b/addons/gamification/models/__init__.py new file mode 100644 index 00000000000..812a08b1e19 --- /dev/null +++ b/addons/gamification/models/__init__.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://openerp.com>). +# +# 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 <http://www.gnu.org/licenses/>. +# +############################################################################## + +import goal +import challenge +import res_users +import badge diff --git a/addons/gamification/models/badge.py b/addons/gamification/models/badge.py new file mode 100644 index 00000000000..1d879393ed2 --- /dev/null +++ b/addons/gamification/models/badge.py @@ -0,0 +1,276 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://www.openerp.com>) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/> +# +############################################################################## + +from openerp import SUPERUSER_ID +from openerp.osv import fields, osv +from openerp.tools import DEFAULT_SERVER_DATE_FORMAT as DF +from openerp.tools.translate import _ + +from datetime import date +import logging + +_logger = logging.getLogger(__name__) + +class gamification_badge_user(osv.Model): + """User having received a badge""" + + _name = 'gamification.badge.user' + _description = 'Gamification user badge' + _order = "create_date desc" + + _columns = { + 'user_id': fields.many2one('res.users', string="User", required=True), + 'sender_id': fields.many2one('res.users', string="Sender", help="The user who has send the badge"), + 'badge_id': fields.many2one('gamification.badge', string='Badge', required=True), + 'comment': fields.text('Comment'), + 'badge_name': fields.related('badge_id', 'name', type="char", string="Badge Name"), + 'create_date': fields.datetime('Created', readonly=True), + 'create_uid': fields.many2one('res.users', string='Creator', readonly=True), + } + + + def _send_badge(self, cr, uid, ids, context=None): + """Send a notification to a user for receiving a badge + + Does not verify constrains on badge granting. + The users are added to the owner_ids (create badge_user if needed) + The stats counters are incremented + :param ids: list(int) of badge users that will receive the badge + """ + res = True + temp_obj = self.pool.get('email.template') + user_obj = self.pool.get('res.users') + template_id = self.pool['ir.model.data'].get_object(cr, uid, 'gamification', 'email_template_badge_received', context) + for badge_user in self.browse(cr, uid, ids, context=context): + body_html = temp_obj.render_template(cr, uid, template_id.body_html, 'gamification.badge.user', badge_user.id, context=context) + res = user_obj.message_post(cr, uid, badge_user.user_id.id, body=body_html, context=context) + return res + + def create(self, cr, uid, vals, context=None): + self.pool.get('gamification.badge').check_granting(cr, uid, badge_id=vals.get('badge_id'), context=context) + return super(gamification_badge_user, self).create(cr, uid, vals, context=context) + + +class gamification_badge(osv.Model): + """Badge object that users can send and receive""" + + CAN_GRANT = 1 + NOBODY_CAN_GRANT = 2 + USER_NOT_VIP = 3 + BADGE_REQUIRED = 4 + TOO_MANY = 5 + + _name = 'gamification.badge' + _description = 'Gamification badge' + _inherit = ['mail.thread'] + + def _get_owners_info(self, cr, uid, ids, name, args, context=None): + """Return: + the list of unique res.users ids having received this badge + the total number of time this badge was granted + the total number of users this badge was granted to + """ + result = dict.fromkeys(ids, False) + for obj in self.browse(cr, uid, ids, context=context): + res = list(set(owner.user_id.id for owner in obj.owner_ids)) + result[obj.id] = { + 'unique_owner_ids': res, + 'stat_count': len(obj.owner_ids), + 'stat_count_distinct': len(res) + } + return result + + def _get_badge_user_stats(self, cr, uid, ids, name, args, context=None): + """Return stats related to badge users""" + result = dict.fromkeys(ids, False) + badge_user_obj = self.pool.get('gamification.badge.user') + first_month_day = date.today().replace(day=1).strftime(DF) + for bid in ids: + result[bid] = { + 'stat_my': badge_user_obj.search(cr, uid, [('badge_id', '=', bid), ('user_id', '=', uid)], context=context, count=True), + 'stat_this_month': badge_user_obj.search(cr, uid, [('badge_id', '=', bid), ('create_date', '>=', first_month_day)], context=context, count=True), + 'stat_my_this_month': badge_user_obj.search(cr, uid, [('badge_id', '=', bid), ('user_id', '=', uid), ('create_date', '>=', first_month_day)], context=context, count=True), + 'stat_my_monthly_sending': badge_user_obj.search(cr, uid, [('badge_id', '=', bid), ('create_uid', '=', uid), ('create_date', '>=', first_month_day)], context=context, count=True) + } + return result + + def _remaining_sending_calc(self, cr, uid, ids, name, args, context=None): + """Computes the number of badges remaining the user can send + + 0 if not allowed or no remaining + integer if limited sending + -1 if infinite (should not be displayed) + """ + result = dict.fromkeys(ids, False) + for badge in self.browse(cr, uid, ids, context=context): + if self._can_grant_badge(cr, uid, badge.id, context) != 1: + # if the user cannot grant this badge at all, result is 0 + result[badge.id] = 0 + elif not badge.rule_max: + # if there is no limitation, -1 is returned which means 'infinite' + result[badge.id] = -1 + else: + result[badge.id] = badge.rule_max_number - badge.stat_my_monthly_sending + return result + + _columns = { + 'name': fields.char('Badge', required=True, translate=True), + 'description': fields.text('Description'), + 'image': fields.binary("Image", help="This field holds the image used for the badge, limited to 256x256"), + 'rule_auth': fields.selection([ + ('everyone', 'Everyone'), + ('users', 'A selected list of users'), + ('having', 'People having some badges'), + ('nobody', 'No one, assigned through challenges'), + ], + string="Allowance to Grant", + help="Who can grant this badge", + required=True), + 'rule_auth_user_ids': fields.many2many('res.users', 'rel_badge_auth_users', + string='Authorized Users', + help="Only these people can give this badge"), + 'rule_auth_badge_ids': fields.many2many('gamification.badge', + 'rel_badge_badge', 'badge1_id', 'badge2_id', + string='Required Badges', + help="Only the people having these badges can give this badge"), + + 'rule_max': fields.boolean('Monthly Limited Sending', + help="Check to set a monthly limit per person of sending this badge"), + 'rule_max_number': fields.integer('Limitation Number', + help="The maximum number of time this badge can be sent per month per person."), + 'stat_my_monthly_sending': fields.function(_get_badge_user_stats, + type="integer", + string='My Monthly Sending Total', + multi='badge_users', + help="The number of time the current user has sent this badge this month."), + 'remaining_sending': fields.function(_remaining_sending_calc, type='integer', + string='Remaining Sending Allowed', help="If a maxium is set"), + + 'challenge_ids': fields.one2many('gamification.challenge', 'reward_id', + string="Reward of Challenges"), + + 'goal_definition_ids': fields.many2many('gamification.goal.definition', 'badge_unlocked_definition_rel', + string='Rewarded by', + help="The users that have succeeded theses goals will receive automatically the badge."), + + 'owner_ids': fields.one2many('gamification.badge.user', 'badge_id', + string='Owners', help='The list of instances of this badge granted to users'), + 'active': fields.boolean('Active'), + 'unique_owner_ids': fields.function(_get_owners_info, + string='Unique Owners', + help="The list of unique users having received this badge.", + multi='unique_users', + type="many2many", relation="res.users"), + + 'stat_count': fields.function(_get_owners_info, string='Total', + type="integer", + multi='unique_users', + help="The number of time this badge has been received."), + 'stat_count_distinct': fields.function(_get_owners_info, + type="integer", + string='Number of users', + multi='unique_users', + help="The number of time this badge has been received by unique users."), + 'stat_this_month': fields.function(_get_badge_user_stats, + type="integer", + string='Monthly total', + multi='badge_users', + help="The number of time this badge has been received this month."), + 'stat_my': fields.function(_get_badge_user_stats, string='My Total', + type="integer", + multi='badge_users', + help="The number of time the current user has received this badge."), + 'stat_my_this_month': fields.function(_get_badge_user_stats, + type="integer", + string='My Monthly Total', + multi='badge_users', + help="The number of time the current user has received this badge this month."), + } + + _defaults = { + 'rule_auth': 'everyone', + 'active': True, + } + + def check_granting(self, cr, uid, badge_id, context=None): + """Check the user 'uid' can grant the badge 'badge_id' and raise the appropriate exception + if not + + Do not check for SUPERUSER_ID + """ + status_code = self._can_grant_badge(cr, uid, badge_id, context=context) + if status_code == self.CAN_GRANT: + return True + elif status_code == self.NOBODY_CAN_GRANT: + raise osv.except_osv(_('Warning!'), _('This badge can not be sent by users.')) + elif status_code == self.USER_NOT_VIP: + raise osv.except_osv(_('Warning!'), _('You are not in the user allowed list.')) + elif status_code == self.BADGE_REQUIRED: + raise osv.except_osv(_('Warning!'), _('You do not have the required badges.')) + elif status_code == self.TOO_MANY: + raise osv.except_osv(_('Warning!'), _('You have already sent this badge too many time this month.')) + else: + _logger.exception("Unknown badge status code: %d" % int(status_code)) + return False + + def _can_grant_badge(self, cr, uid, badge_id, context=None): + """Check if a user can grant a badge to another user + + :param uid: the id of the res.users trying to send the badge + :param badge_id: the granted badge id + :return: integer representing the permission. + """ + if uid == SUPERUSER_ID: + return self.CAN_GRANT + + badge = self.browse(cr, uid, badge_id, context=context) + + if badge.rule_auth == 'nobody': + return self.NOBODY_CAN_GRANT + + elif badge.rule_auth == 'users' and uid not in [user.id for user in badge.rule_auth_user_ids]: + return self.USER_NOT_VIP + + elif badge.rule_auth == 'having': + all_user_badges = self.pool.get('gamification.badge.user').search(cr, uid, [('user_id', '=', uid)], context=context) + for required_badge in badge.rule_auth_badge_ids: + if required_badge.id not in all_user_badges: + return self.BADGE_REQUIRED + + if badge.rule_max and badge.stat_my_monthly_sending >= badge.rule_max_number: + return self.TOO_MANY + + # badge.rule_auth == 'everyone' -> no check + return self.CAN_GRANT + + def check_progress(self, cr, uid, context=None): + try: + model, res_id = template_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'gamification', 'badge_hidden') + except ValueError: + return True + badge_user_obj = self.pool.get('gamification.badge.user') + if not badge_user_obj.search(cr, uid, [('user_id', '=', uid), ('badge_id', '=', res_id)], context=context): + values = { + 'user_id': uid, + 'badge_id': res_id, + } + badge_user_obj.create(cr, SUPERUSER_ID, values, context=context) + return True
\ No newline at end of file diff --git a/addons/gamification/models/challenge.py b/addons/gamification/models/challenge.py new file mode 100644 index 00000000000..ae27aa96719 --- /dev/null +++ b/addons/gamification/models/challenge.py @@ -0,0 +1,821 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://www.openerp.com>) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/> +# +############################################################################## + +from openerp import SUPERUSER_ID +from openerp.osv import fields, osv +from openerp.tools import DEFAULT_SERVER_DATE_FORMAT as DF +from openerp.tools.translate import _ + +from datetime import date, datetime, timedelta +import calendar +import logging +_logger = logging.getLogger(__name__) + +# display top 3 in ranking, could be db variable +MAX_VISIBILITY_RANKING = 3 + +def start_end_date_for_period(period, default_start_date=False, default_end_date=False): + """Return the start and end date for a goal period based on today + + :return: (start_date, end_date), datetime.date objects, False if the period is + not defined or unknown""" + today = date.today() + if period == 'daily': + start_date = today + end_date = start_date + elif period == 'weekly': + delta = timedelta(days=today.weekday()) + start_date = today - delta + end_date = start_date + timedelta(days=7) + elif period == 'monthly': + month_range = calendar.monthrange(today.year, today.month) + start_date = today.replace(day=1) + end_date = today.replace(day=month_range[1]) + elif period == 'yearly': + start_date = today.replace(month=1, day=1) + end_date = today.replace(month=12, day=31) + else: # period == 'once': + start_date = default_start_date # for manual goal, start each time + end_date = default_end_date + + if start_date and end_date: + return (start_date.strftime(DF), end_date.strftime(DF)) + else: + return (start_date, end_date) + + +class gamification_challenge(osv.Model): + """Gamification challenge + + Set of predifined objectives assigned to people with rules for recurrence and + rewards + + If 'user_ids' is defined and 'period' is different than 'one', the set will + be assigned to the users for each period (eg: every 1st of each month if + 'monthly' is selected) + """ + + _name = 'gamification.challenge' + _description = 'Gamification challenge' + _inherit = 'mail.thread' + + def _get_next_report_date(self, cr, uid, ids, field_name, arg, context=None): + """Return the next report date based on the last report date and report + period. + + :return: a string in DEFAULT_SERVER_DATE_FORMAT representing the date""" + res = {} + for challenge in self.browse(cr, uid, ids, context): + last = datetime.strptime(challenge.last_report_date, DF).date() + if challenge.report_message_frequency == 'daily': + next = last + timedelta(days=1) + res[challenge.id] = next.strftime(DF) + elif challenge.report_message_frequency == 'weekly': + next = last + timedelta(days=7) + res[challenge.id] = next.strftime(DF) + elif challenge.report_message_frequency == 'monthly': + month_range = calendar.monthrange(last.year, last.month) + next = last.replace(day=month_range[1]) + timedelta(days=1) + res[challenge.id] = next.strftime(DF) + elif challenge.report_message_frequency == 'yearly': + res[challenge.id] = last.replace(year=last.year + 1).strftime(DF) + # frequency == 'once', reported when closed only + else: + res[challenge.id] = False + + return res + + def _get_categories(self, cr, uid, context=None): + return [ + ('hr', 'Human Ressources / Engagement'), + ('other', 'Settings / Gamification Tools'), + ] + + def _get_report_template(self, cr, uid, context=None): + try: + return self.pool.get('ir.model.data').get_object_reference(cr, uid, 'gamification', 'simple_report_template')[1] + except ValueError: + return False + + _order = 'end_date, start_date, name, id' + _columns = { + 'name': fields.char('Challenge Name', required=True, translate=True), + 'description': fields.text('Description', translate=True), + 'state': fields.selection([ + ('draft', 'Draft'), + ('inprogress', 'In Progress'), + ('done', 'Done'), + ], + string='State', required=True, track_visibility='onchange'), + 'manager_id': fields.many2one('res.users', + string='Responsible', help="The user responsible for the challenge."), + + 'user_ids': fields.many2many('res.users', 'user_ids', + string='Users', + help="List of users participating to the challenge"), + 'autojoin_group_id': fields.many2one('res.groups', + string='Auto-subscription Group', + help='Group of users whose members will be automatically added to user_ids once the challenge is started'), + + 'period': fields.selection([ + ('once', 'Non recurring'), + ('daily', 'Daily'), + ('weekly', 'Weekly'), + ('monthly', 'Monthly'), + ('yearly', 'Yearly') + ], + string='Periodicity', + help='Period of automatic goal assigment. If none is selected, should be launched manually.', + required=True), + 'start_date': fields.date('Start Date', + help="The day a new challenge will be automatically started. If no periodicity is set, will use this date as the goal start date."), + 'end_date': fields.date('End Date', + help="The day a new challenge will be automatically closed. If no periodicity is set, will use this date as the goal end date."), + + 'invited_user_ids': fields.many2many('res.users', 'invited_user_ids', + string="Suggest to users"), + + 'line_ids': fields.one2many('gamification.challenge.line', 'challenge_id', + string='Lines', + help="List of goals that will be set", + required=True), + + 'reward_id': fields.many2one('gamification.badge', string="For Every Succeding User"), + 'reward_first_id': fields.many2one('gamification.badge', string="For 1st user"), + 'reward_second_id': fields.many2one('gamification.badge', string="For 2nd user"), + 'reward_third_id': fields.many2one('gamification.badge', string="For 3rd user"), + 'reward_failure': fields.boolean('Reward Bests if not Succeeded?'), + + 'visibility_mode': fields.selection([ + ('personal', 'Individual Goals'), + ('ranking', 'Leader Board (Group Ranking)'), + ], + string="Display Mode", required=True), + + 'report_message_frequency': fields.selection([ + ('never', 'Never'), + ('onchange', 'On change'), + ('daily', 'Daily'), + ('weekly', 'Weekly'), + ('monthly', 'Monthly'), + ('yearly', 'Yearly') + ], + string="Report Frequency", required=True), + 'report_message_group_id': fields.many2one('mail.group', + string='Send a copy to', + help='Group that will receive a copy of the report in addition to the user'), + 'report_template_id': fields.many2one('email.template', string="Report Template", required=True), + 'remind_update_delay': fields.integer('Non-updated manual goals will be reminded after', + help="Never reminded if no value or zero is specified."), + 'last_report_date': fields.date('Last Report Date'), + 'next_report_date': fields.function(_get_next_report_date, + type='date', string='Next Report Date', store=True), + + 'category': fields.selection(lambda s, *a, **k: s._get_categories(*a, **k), + string="Appears in", help="Define the visibility of the challenge through menus", required=True), + } + + _defaults = { + 'period': 'once', + 'state': 'draft', + 'visibility_mode': 'personal', + 'report_message_frequency': 'never', + 'last_report_date': fields.date.today, + 'start_date': fields.date.today, + 'manager_id': lambda s, cr, uid, c: uid, + 'category': 'hr', + 'reward_failure': False, + 'report_template_id': lambda s, *a, **k: s._get_report_template(*a, **k), + } + + + def create(self, cr, uid, vals, context=None): + """Overwrite the create method to add the user of groups""" + + # add users when change the group auto-subscription + if vals.get('autojoin_group_id'): + new_group = self.pool.get('res.groups').browse(cr, uid, vals['autojoin_group_id'], context=context) + + if not vals.get('user_ids'): + vals['user_ids'] = [] + vals['user_ids'] += [(4, user.id) for user in new_group.users] + + create_res = super(gamification_challenge, self).create(cr, uid, vals, context=context) + + # subscribe new users to the challenge + if vals.get('user_ids'): + # done with browse after super to be sure catch all after orm process + challenge = self.browse(cr, uid, create_res, context=context) + self.message_subscribe_users(cr, uid, [challenge.id], [user.id for user in challenge.user_ids], context=context) + + return create_res + + def write(self, cr, uid, ids, vals, context=None): + if isinstance(ids, (int,long)): + ids = [ids] + + # add users when change the group auto-subscription + if vals.get('autojoin_group_id'): + new_group = self.pool.get('res.groups').browse(cr, uid, vals['autojoin_group_id'], context=context) + + if not vals.get('user_ids'): + vals['user_ids'] = [] + vals['user_ids'] += [(4, user.id) for user in new_group.users] + + if vals.get('state') == 'inprogress': + # starting a challenge + if not vals.get('autojoin_group_id'): + # starting challenge, add users in autojoin group + if not vals.get('user_ids'): + vals['user_ids'] = [] + for challenge in self.browse(cr, uid, ids, context=context): + if challenge.autojoin_group_id: + vals['user_ids'] += [(4, user.id) for user in challenge.autojoin_group_id.users] + + self.generate_goals_from_challenge(cr, uid, ids, context=context) + + elif vals.get('state') == 'done': + self.check_challenge_reward(cr, uid, ids, force=True, context=context) + + elif vals.get('state') == 'draft': + # resetting progress + if self.pool.get('gamification.goal').search(cr, uid, [('challenge_id', 'in', ids), ('state', 'in', ['inprogress', 'inprogress_update'])], context=context): + raise osv.except_osv("Error", "You can not reset a challenge with unfinished goals.") + + write_res = super(gamification_challenge, self).write(cr, uid, ids, vals, context=context) + + # subscribe new users to the challenge + if vals.get('user_ids'): + # done with browse after super if changes in groups + for challenge in self.browse(cr, uid, ids, context=context): + self.message_subscribe_users(cr, uid, [challenge.id], [user.id for user in challenge.user_ids], context=context) + + return write_res + + + ##### Update ##### + + def _cron_update(self, cr, uid, context=None, ids=False): + """Daily cron check. + + - Start planned challenges (in draft and with start_date = today) + - Create the missing goals (eg: modified the challenge to add lines) + - Update every running challenge + """ + # start planned challenges + planned_challenge_ids = self.search(cr, uid, [ + ('state', '=', 'draft'), + ('start_date', '<=', fields.date.today())]) + self.write(cr, uid, planned_challenge_ids, {'state': 'inprogress'}, context=context) + + # close planned challenges + planned_challenge_ids = self.search(cr, uid, [ + ('state', '=', 'inprogress'), + ('end_date', '>=', fields.date.today())]) + self.write(cr, uid, planned_challenge_ids, {'state': 'done'}, context=context) + + if not ids: + ids = self.search(cr, uid, [('state', '=', 'inprogress')], context=context) + + return self._update_all(cr, uid, ids, context=context) + + def _update_all(self, cr, uid, ids, context=None): + """Update the challenges and related goals + + :param list(int) ids: the ids of the challenges to update, if False will + update only challenges in progress.""" + if isinstance(ids, (int,long)): + ids = [ids] + + goal_obj = self.pool.get('gamification.goal') + + # we use yesterday to update the goals that just ended + yesterday = date.today() - timedelta(days=1) + goal_ids = goal_obj.search(cr, uid, [ + ('challenge_id', 'in', ids), + '|', + ('state', 'in', ('inprogress', 'inprogress_update')), + '&', + ('state', 'in', ('reached', 'failed')), + '|', + ('end_date', '>=', yesterday.strftime(DF)), + ('end_date', '=', False) + ], context=context) + # update every running goal already generated linked to selected challenges + goal_obj.update(cr, uid, goal_ids, context=context) + + for challenge in self.browse(cr, uid, ids, context=context): + if challenge.autojoin_group_id: + # check in case of new users in challenge, this happens if manager removed users in challenge manually + self.write(cr, uid, [challenge.id], {'user_ids': [(4, user.id) for user in challenge.autojoin_group_id.users]}, context=context) + self.generate_goals_from_challenge(cr, uid, [challenge.id], context=context) + + # goals closed but still opened at the last report date + closed_goals_to_report = goal_obj.search(cr, uid, [ + ('challenge_id', '=', challenge.id), + ('start_date', '>=', challenge.last_report_date), + ('end_date', '<=', challenge.last_report_date) + ]) + + if len(closed_goals_to_report) > 0: + # some goals need a final report + self.report_progress(cr, uid, challenge, subset_goal_ids=closed_goals_to_report, context=context) + + if fields.date.today() == challenge.next_report_date: + self.report_progress(cr, uid, challenge, context=context) + + self.check_challenge_reward(cr, uid, ids, context=context) + return True + + def quick_update(self, cr, uid, challenge_id, context=None): + """Update all the goals of a challenge, no generation of new goals""" + goal_ids = self.pool.get('gamification.goal').search(cr, uid, [('challenge_id', '=', challenge_id)], context=context) + self.pool.get('gamification.goal').update(cr, uid, goal_ids, context=context) + return True + + + def action_check(self, cr, uid, ids, context=None): + """Check a challenge + + Create goals that haven't been created yet (eg: if added users) + Recompute the current value for each goal related""" + return self._update_all(cr, uid, ids=ids, context=context) + + def action_report_progress(self, cr, uid, ids, context=None): + """Manual report of a goal, does not influence automatic report frequency""" + if isinstance(ids, (int,long)): + ids = [ids] + for challenge in self.browse(cr, uid, ids, context): + self.report_progress(cr, uid, challenge, context=context) + return True + + + ##### Automatic actions ##### + + def generate_goals_from_challenge(self, cr, uid, ids, context=None): + """Generate the goals for each line and user. + + If goals already exist for this line and user, the line is skipped. This + can be called after each change in the list of users or lines. + :param list(int) ids: the list of challenge concerned""" + + for challenge in self.browse(cr, uid, ids, context): + (start_date, end_date) = start_end_date_for_period(challenge.period) + + # if no periodicity, use challenge dates + if not start_date and challenge.start_date: + start_date = challenge.start_date + if not end_date and challenge.end_date: + end_date = challenge.end_date + + for line in challenge.line_ids: + for user in challenge.user_ids: + + goal_obj = self.pool.get('gamification.goal') + domain = [('line_id', '=', line.id), ('user_id', '=', user.id)] + if start_date: + domain.append(('start_date', '=', start_date)) + + # goal already existing for this line ? + if len(goal_obj.search(cr, uid, domain, context=context)) > 0: + + # resume canceled goals + domain.append(('state', '=', 'canceled')) + canceled_goal_ids = goal_obj.search(cr, uid, domain, context=context) + goal_obj.write(cr, uid, canceled_goal_ids, {'state': 'inprogress'}, context=context) + goal_obj.update(cr, uid, canceled_goal_ids, context=context) + + # skip to next user + continue + + values = { + 'definition_id': line.definition_id.id, + 'line_id': line.id, + 'user_id': user.id, + 'target_goal': line.target_goal, + 'state': 'inprogress', + } + + if start_date: + values['start_date'] = start_date + if end_date: + values['end_date'] = end_date + + if challenge.remind_update_delay: + values['remind_update_delay'] = challenge.remind_update_delay + + new_goal_id = goal_obj.create(cr, uid, values, context) + + goal_obj.update(cr, uid, [new_goal_id], context=context) + + return True + + ##### JS utilities ##### + + def _get_serialized_challenge_lines(self, cr, uid, challenge, user_id=False, restrict_goal_ids=False, restrict_top=False, context=None): + """Return a serialised version of the goals information + + :challenge: browse record of challenge to compute + :user_id: res.users id of the user retrieving progress (False if no distinction, only for ranking challenges) + :restrict_goal_ids: <list(int)> compute only the results for this subset if gamification.goal ids, if False retrieve every goal of current running challenge + :restrict_top: <int> for challenge lines where visibility_mode == 'ranking', retrieve only these bests results and itself, if False retrieve all + restrict_goal_ids has priority over restrict_top + + format list + # if visibility_mode == 'ranking' + { + 'name': <gamification.goal.description name>, + 'description': <gamification.goal.description description>, + 'condition': <reach condition {lower,higher}>, + 'computation_mode': <target computation {manually,count,sum,python}>, + 'monetary': <{True,False}>, + 'suffix': <value suffix>, + 'action': <{True,False}>, + 'display_mode': <{progress,boolean}>, + 'target': <challenge line target>, + 'own_goal_id': <gamification.goal id where user_id == uid>, + 'goals': [ + { + 'id': <gamification.goal id>, + 'rank': <user ranking>, + 'user_id': <res.users id>, + 'name': <res.users name>, + 'state': <gamification.goal state {draft,inprogress,inprogress_update,reached,failed,canceled}>, + 'completeness': <percentage>, + 'current': <current value>, + } + ] + }, + # if visibility_mode == 'personal' + { + 'id': <gamification.goal id>, + 'name': <gamification.goal.description name>, + 'description': <gamification.goal.description description>, + 'condition': <reach condition {lower,higher}>, + 'computation_mode': <target computation {manually,count,sum,python}>, + 'monetary': <{True,False}>, + 'suffix': <value suffix>, + 'action': <{True,False}>, + 'display_mode': <{progress,boolean}>, + 'target': <challenge line target>, + 'state': <gamification.goal state {draft,inprogress,inprogress_update,reached,failed,canceled}>, + 'completeness': <percentage>, + 'current': <current value>, + } + """ + goal_obj = self.pool.get('gamification.goal') + (start_date, end_date) = start_end_date_for_period(challenge.period) + + res_lines = [] + for line in challenge.line_ids: + line_data = { + 'name': line.definition_id.name, + 'description': line.definition_id.description, + 'condition': line.definition_id.condition, + 'computation_mode': line.definition_id.computation_mode, + 'monetary': line.definition_id.monetary, + 'suffix': line.definition_id.suffix, + 'action': True if line.definition_id.action_id else False, + 'display_mode': line.definition_id.display_mode, + 'target': line.target_goal, + } + domain = [ + ('line_id', '=', line.id), + ('state', '!=', 'draft'), + ] + if restrict_goal_ids: + domain.append(('ids', 'in', restrict_goal_ids)) + else: + # if no subset goals, use the dates for restriction + if start_date: + domain.append(('start_date', '=', start_date)) + if end_date: + domain.append(('end_date', '=', end_date)) + + if challenge.visibility_mode == 'personal': + if not user_id: + raise osv.except_osv(_('Error!'),_("Retrieving progress for personal challenge without user information")) + domain.append(('user_id', '=', user_id)) + sorting = goal_obj._order + limit = 1 + # initialise in case search returns no results + line_data.update({ + 'id': 0, + 'current': 0, + 'completeness': 0, + 'state': 'draft', + }) + else: + line_data.update({ + 'own_goal_id': False, + 'goals': [], + }) + sorting = "completeness desc, current desc" + limit = False + + goal_ids = goal_obj.search(cr, uid, domain, order=sorting, limit=limit, context=context) + ranking = 0 + for goal in goal_obj.browse(cr, uid, goal_ids, context=context): + if challenge.visibility_mode == 'personal': + # limit=1 so only one result + line_data.update({ + 'id': goal.id, + 'current': goal.current, + 'completeness': goal.completeness, + 'state': goal.state, + }) + else: + ranking += 1 + if user_id and goal.user_id.id == user_id: + line_data['own_goal_id'] = goal.id + elif restrict_top and ranking > restrict_top: + # not own goal, over top, skipping + continue + + line_data['goals'].append({ + 'id': goal.id, + 'user_id': goal.user_id.id, + 'name': goal.user_id.name, + 'rank': ranking, + 'current': goal.current, + 'completeness': goal.completeness, + 'state': goal.state, + }) + res_lines.append(line_data) + return res_lines + + ##### Reporting ##### + + def report_progress(self, cr, uid, challenge, context=None, users=False, subset_goal_ids=False): + """Post report about the progress of the goals + + :param challenge: the challenge object that need to be reported + :param users: the list(res.users) of users that are concerned by + the report. If False, will send the report to every user concerned + (goal users and group that receive a copy). Only used for challenge with + a visibility mode set to 'personal'. + :param goal_ids: the list(int) of goal ids linked to the challenge for + the report. If not specified, use the goals for the current challenge + period. This parameter can be used to produce report for previous challenge + periods. + :param subset_goal_ids: a list(int) of goal ids to restrict the report + """ + if context is None: + context = {} + + temp_obj = self.pool.get('email.template') + ctx = context.copy() + if challenge.visibility_mode == 'ranking': + lines_boards = self._get_serialized_challenge_lines(cr, uid, challenge, user_id=False, restrict_goal_ids=subset_goal_ids, restrict_top=False, context=context) + + ctx.update({'challenge_lines': lines_boards}) + body_html = temp_obj.render_template(cr, uid, challenge.report_template_id.body_html, 'gamification.challenge', challenge.id, context=ctx) + + # send to every follower of the challenge + self.message_post(cr, uid, challenge.id, + body=body_html, + context=context, + subtype='mail.mt_comment') + if challenge.report_message_group_id: + self.pool.get('mail.group').message_post(cr, uid, challenge.report_message_group_id.id, + body=body_html, + context=context, + subtype='mail.mt_comment') + + else: + # generate individual reports + for user in users or challenge.user_ids: + goals = self._get_serialized_challenge_lines(cr, uid, challenge, user.id, restrict_goal_ids=subset_goal_ids, context=context) + if not goals: + continue + + ctx.update({'challenge_lines': goals}) + body_html = temp_obj.render_template(cr, user.id, challenge.report_template_id.body_html, 'gamification.challenge', challenge.id, context=ctx) + + # send message only to users, not on the challenge + self.message_post(cr, uid, 0, + body=body_html, + partner_ids=[(4, user.partner_id.id)], + context=context, + subtype='mail.mt_comment') + if challenge.report_message_group_id: + self.pool.get('mail.group').message_post(cr, uid, challenge.report_message_group_id.id, + body=body_html, + context=context, + subtype='mail.mt_comment') + return self.write(cr, uid, challenge.id, {'last_report_date': fields.date.today()}, context=context) + + ##### Challenges ##### + def accept_challenge(self, cr, uid, challenge_ids, context=None, user_id=None): + """The user accept the suggested challenge""" + user_id = user_id or uid + user = self.pool.get('res.users').browse(cr, uid, user_id, context=context) + message = "%s has joined the challenge" % user.name + self.message_post(cr, uid, challenge_ids, body=message, context=context) + self.write(cr, SUPERUSER_ID, challenge_ids, {'invited_user_ids': [(3, user_id)], 'user_ids': [(4, user_id)]}, context=context) + return self.generate_goals_from_challenge(cr, uid, challenge_ids, context=context) + + def discard_challenge(self, cr, uid, challenge_ids, context=None, user_id=None): + """The user discard the suggested challenge""" + user_id = user_id or uid + user = self.pool.get('res.users').browse(cr, uid, user_id, context=context) + message = "%s has refused the challenge" % user.name + self.message_post(cr, SUPERUSER_ID, challenge_ids, body=message, context=context) + return self.write(cr, uid, challenge_ids, {'invited_user_ids': (3, user_id)}, context=context) + + def reply_challenge_wizard(self, cr, uid, challenge_id, context=None): + result = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'gamification', 'challenge_wizard') + id = result and result[1] or False + result = self.pool.get('ir.actions.act_window').read(cr, uid, [id], context=context)[0] + result['res_id'] = challenge_id + return result + + def check_challenge_reward(self, cr, uid, ids, force=False, context=None): + """Actions for the end of a challenge + + If a reward was selected, grant it to the correct users. + Rewards granted at: + - the end date for a challenge with no periodicity + - the end of a period for challenge with periodicity + - when a challenge is manually closed + (if no end date, a running challenge is never rewarded) + """ + if isinstance(ids, (int,long)): + ids = [ids] + context = context or {} + for challenge in self.browse(cr, uid, ids, context=context): + (start_date, end_date) = start_end_date_for_period(challenge.period, challenge.start_date, challenge.end_date) + yesterday = date.today() - timedelta(days=1) + if end_date == yesterday.strftime(DF) or force: + # open chatter message + message_body = _("The challenge %s is finished." % challenge.name) + + # reward for everybody succeeding + rewarded_users = [] + if challenge.reward_id: + for user in challenge.user_ids: + reached_goal_ids = self.pool.get('gamification.goal').search(cr, uid, [ + ('challenge_id', '=', challenge.id), + ('user_id', '=', user.id), + ('start_date', '=', start_date), + ('end_date', '=', end_date), + ('state', '=', 'reached') + ], context=context) + if len(reached_goal_ids) == len(challenge.line_ids): + self.reward_user(cr, uid, user.id, challenge.reward_id.id, context) + rewarded_users.append(user) + + if rewarded_users: + message_body += _("<br/>Reward (badge %s) for every succeeding user was sent to %s." % (challenge.reward_id.name, ", ".join([user.name for user in rewarded_users]))) + else: + message_body += _("<br/>Nobody has succeeded to reach every goal, no badge is rewared for this challenge.") + + # reward bests + if challenge.reward_first_id: + (first_user, second_user, third_user) = self.get_top3_users(cr, uid, challenge, context) + if first_user: + self.reward_user(cr, uid, first_user.id, challenge.reward_first_id.id, context) + message_body += _("<br/>Special rewards were sent to the top competing users. The ranking for this challenge is :") + message_body += "<br/> 1. %s - %s" % (first_user.name, challenge.reward_first_id.name) + else: + message_body += _("Nobody reached the required conditions to receive special badges.") + + if second_user and challenge.reward_second_id: + self.reward_user(cr, uid, second_user.id, challenge.reward_second_id.id, context) + message_body += "<br/> 2. %s - %s" % (second_user.name, challenge.reward_second_id.name) + if third_user and challenge.reward_third_id: + self.reward_user(cr, uid, third_user.id, challenge.reward_second_id.id, context) + message_body += "<br/> 3. %s - %s" % (third_user.name, challenge.reward_third_id.name) + + self.message_post(cr, uid, challenge.id, body=message_body, context=context) + return True + + def get_top3_users(self, cr, uid, challenge, context=None): + """Get the top 3 users for a defined challenge + + Ranking criterias: + 1. succeed every goal of the challenge + 2. total completeness of each goal (can be over 100) + Top 3 is computed only for users succeeding every goal of the challenge, + except if reward_failure is True, in which case every user is + considered. + :return: ('first', 'second', 'third'), tuple containing the res.users + objects of the top 3 users. If no user meets the criterias for a rank, + it is set to False. Nobody can receive a rank is noone receives the + higher one (eg: if 'second' == False, 'third' will be False) + """ + goal_obj = self.pool.get('gamification.goal') + (start_date, end_date) = start_end_date_for_period(challenge.period, challenge.start_date, challenge.end_date) + challengers = [] + for user in challenge.user_ids: + all_reached = True + total_completness = 0 + # every goal of the user for the running period + goal_ids = goal_obj.search(cr, uid, [ + ('challenge_id', '=', challenge.id), + ('user_id', '=', user.id), + ('start_date', '=', start_date), + ('end_date', '=', end_date) + ], context=context) + for goal in goal_obj.browse(cr, uid, goal_ids, context=context): + if goal.state != 'reached': + all_reached = False + if goal.definition_condition == 'higher': + # can be over 100 + total_completness += 100.0 * goal.current / goal.target_goal + elif goal.state == 'reached': + # for lower goals, can not get percentage so 0 or 100 + total_completness += 100 + + challengers.append({'user': user, 'all_reached': all_reached, 'total_completness': total_completness}) + sorted_challengers = sorted(challengers, key=lambda k: (k['all_reached'], k['total_completness']), reverse=True) + + if len(sorted_challengers) == 0 or (not challenge.reward_failure and not sorted_challengers[0]['all_reached']): + # nobody succeeded + return (False, False, False) + if len(sorted_challengers) == 1 or (not challenge.reward_failure and not sorted_challengers[1]['all_reached']): + # only one user succeeded + return (sorted_challengers[0]['user'], False, False) + if len(sorted_challengers) == 2 or (not challenge.reward_failure and not sorted_challengers[2]['all_reached']): + # only one user succeeded + return (sorted_challengers[0]['user'], sorted_challengers[1]['user'], False) + return (sorted_challengers[0]['user'], sorted_challengers[1]['user'], sorted_challengers[2]['user']) + + def reward_user(self, cr, uid, user_id, badge_id, context=None): + """Create a badge user and send the badge to him + + :param user_id: the user to reward + :param badge_id: the concerned badge + """ + badge_user_obj = self.pool.get('gamification.badge.user') + user_badge_id = badge_user_obj.create(cr, uid, {'user_id': user_id, 'badge_id': badge_id}, context=context) + return badge_user_obj._send_badge(cr, uid, [user_badge_id], context=context) + + +class gamification_challenge_line(osv.Model): + """Gamification challenge line + + Predifined goal for 'gamification_challenge' + These are generic list of goals with only the target goal defined + Should only be created for the gamification_challenge object + """ + + _name = 'gamification.challenge.line' + _description = 'Gamification generic goal for challenge' + _order = "sequence, id" + + def on_change_definition_id(self, cr, uid, ids, definition_id=False, context=None): + goal_definition = self.pool.get('gamification.goal.definition') + if not definition_id: + return {'value': {'definition_id': False}} + goal_definition = goal_definition.browse(cr, uid, definition_id, context=context) + ret = { + 'value': { + 'condition': goal_definition.condition, + 'definition_full_suffix': goal_definition.full_suffix + } + } + return ret + + _columns = { + 'name': fields.related('definition_id', 'name', string="Name"), + 'challenge_id': fields.many2one('gamification.challenge', + string='Challenge', + required=True, + ondelete="cascade"), + 'definition_id': fields.many2one('gamification.goal.definition', + string='Goal Definition', + required=True, + ondelete="cascade"), + 'target_goal': fields.float('Target Value to Reach', + required=True), + 'sequence': fields.integer('Sequence', + help='Sequence number for ordering'), + 'condition': fields.related('definition_id', 'condition', type="selection", + readonly=True, string="Condition", selection=[('lower', '<='), ('higher', '>=')]), + 'definition_suffix': fields.related('definition_id', 'suffix', type="char", readonly=True, string="Unit"), + 'definition_monetary': fields.related('definition_id', 'monetary', type="boolean", readonly=True, string="Monetary"), + 'definition_full_suffix': fields.related('definition_id', 'full_suffix', type="char", readonly=True, string="Suffix"), + } + + _default = { + 'sequence': 1, + } diff --git a/addons/gamification/models/goal.py b/addons/gamification/models/goal.py new file mode 100644 index 00000000000..8792e219d71 --- /dev/null +++ b/addons/gamification/models/goal.py @@ -0,0 +1,394 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://www.openerp.com>) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/> +# +############################################################################## + +from openerp import SUPERUSER_ID +from openerp.osv import fields, osv +from openerp.tools import DEFAULT_SERVER_DATE_FORMAT as DF +from openerp.tools.safe_eval import safe_eval +from openerp.tools.translate import _ + +import logging +import time +from datetime import date, datetime, timedelta + +_logger = logging.getLogger(__name__) + + +class gamification_goal_definition(osv.Model): + """Goal definition + + A goal definition contains the way to evaluate an objective + Each module wanting to be able to set goals to the users needs to create + a new gamification_goal_definition + """ + _name = 'gamification.goal.definition' + _description = 'Gamification goal definition' + + def _get_suffix(self, cr, uid, ids, field_name, arg, context=None): + res = dict.fromkeys(ids, '') + for goal in self.browse(cr, uid, ids, context=context): + if goal.suffix and not goal.monetary: + res[goal.id] = goal.suffix + elif goal.monetary: + # use the current user's company currency + user = self.pool.get('res.users').browse(cr, uid, uid, context) + if goal.suffix: + res[goal.id] = "%s %s" % (user.company_id.currency_id.symbol, goal.suffix) + else: + res[goal.id] = user.company_id.currency_id.symbol + else: + res[goal.id] = "" + return res + + _columns = { + 'name': fields.char('Goal Definition', required=True, translate=True), + 'description': fields.text('Goal Description'), + 'monetary': fields.boolean('Monetary Value', help="The target and current value are defined in the company currency."), + 'suffix': fields.char('Suffix', help="The unit of the target and current values", translate=True), + 'full_suffix': fields.function(_get_suffix, type="char", string="Full Suffix", help="The currency and suffix field"), + 'computation_mode': fields.selection([ + ('manually', 'Recorded manually'), + ('count', 'Automatic: number of records'), + ('sum', 'Automatic: sum on a field'), + ('python', 'Automatic: execute a specific Python code'), + ], + string="Computation Mode", + help="Defined how will be computed the goals. The result of the operation will be stored in the field 'Current'.", + required=True), + 'display_mode': fields.selection([ + ('progress', 'Progressive (using numerical values)'), + ('boolean', 'Exclusive (done or not-done)'), + ], + string="Displayed as", required=True), + 'model_id': fields.many2one('ir.model', + string='Model', + help='The model object for the field to evaluate'), + 'field_id': fields.many2one('ir.model.fields', + string='Field to Sum', + help='The field containing the value to evaluate'), + 'field_date_id': fields.many2one('ir.model.fields', + string='Date Field', + help='The date to use for the time period evaluated'), + 'domain': fields.char("Filter Domain", + help="Domain for filtering records. The rule can contain reference to 'user' that is a browse record of the current user, e.g. [('user_id', '=', user.id)].", + required=True), + 'compute_code': fields.text('Python Code', + help="Python code to be executed for each user. 'result' should contains the new current value. Evaluated user can be access through object.user_id."), + 'condition': fields.selection([ + ('higher', 'The higher the better'), + ('lower', 'The lower the better') + ], + string='Goal Performance', + help='A goal is considered as completed when the current value is compared to the value to reach', + required=True), + 'action_id': fields.many2one('ir.actions.act_window', string="Action", + help="The action that will be called to update the goal value."), + 'res_id_field': fields.char("ID Field of user", + help="The field name on the user profile (res.users) containing the value for res_id for action.") + } + + _defaults = { + 'condition': 'higher', + 'computation_mode': 'manually', + 'domain': "[]", + 'monetary': False, + 'display_mode': 'progress', + } + + def number_following(self, cr, uid, model_name="mail.thread", context=None): + """Return the number of 'model_name' objects the user is following + + The model specified in 'model_name' must inherit from mail.thread + """ + user = self.pool.get('res.users').browse(cr, uid, uid, context=context) + return self.pool.get('mail.followers').search(cr, uid, [('res_model', '=', model_name), ('partner_id', '=', user.partner_id.id)], count=True, context=context) + + + +class gamification_goal(osv.Model): + """Goal instance for a user + + An individual goal for a user on a specified time period""" + + _name = 'gamification.goal' + _description = 'Gamification goal instance' + _inherit = 'mail.thread' + + def _get_completion(self, cr, uid, ids, field_name, arg, context=None): + """Return the percentage of completeness of the goal, between 0 and 100""" + res = dict.fromkeys(ids, 0.0) + for goal in self.browse(cr, uid, ids, context=context): + if goal.definition_condition == 'higher': + if goal.current >= goal.target_goal: + res[goal.id] = 100.0 + else: + res[goal.id] = round(100.0 * goal.current / goal.target_goal, 2) + elif goal.current < goal.target_goal: + # a goal 'lower than' has only two values possible: 0 or 100% + res[goal.id] = 100.0 + else: + res[goal.id] = 0.0 + return res + + def on_change_definition_id(self, cr, uid, ids, definition_id=False, context=None): + goal_definition = self.pool.get('gamification.goal.definition') + if not definition_id: + return {'value': {'definition_id': False}} + goal_definition = goal_definition.browse(cr, uid, definition_id, context=context) + return {'value': {'computation_mode': goal_definition.computation_mode, 'definition_condition': goal_definition.condition}} + + _columns = { + 'definition_id': fields.many2one('gamification.goal.definition', string='Goal Definition', required=True, ondelete="cascade"), + 'user_id': fields.many2one('res.users', string='User', required=True), + 'line_id': fields.many2one('gamification.challenge.line', string='Goal Line', ondelete="cascade"), + 'challenge_id': fields.related('line_id', 'challenge_id', + string="Challenge", + type='many2one', + relation='gamification.challenge', + store=True), + 'start_date': fields.date('Start Date'), + 'end_date': fields.date('End Date'), # no start and end = always active + 'target_goal': fields.float('To Reach', + required=True, + track_visibility='always'), # no goal = global index + 'current': fields.float('Current Value', required=True, track_visibility='always'), + 'completeness': fields.function(_get_completion, type='float', string='Completeness'), + 'state': fields.selection([ + ('draft', 'Draft'), + ('inprogress', 'In progress'), + ('inprogress_update', 'In progress (to update)'), + ('reached', 'Reached'), + ('failed', 'Failed'), + ('canceled', 'Canceled'), + ], + string='State', + required=True, + track_visibility='always'), + + 'computation_mode': fields.related('definition_id', 'computation_mode', type='char', string="Computation mode"), + 'remind_update_delay': fields.integer('Remind delay', + help="The number of days after which the user assigned to a manual goal will be reminded. Never reminded if no value is specified."), + 'last_update': fields.date('Last Update', + help="In case of manual goal, reminders are sent if the goal as not been updated for a while (defined in challenge). Ignored in case of non-manual goal or goal not linked to a challenge."), + + 'definition_description': fields.related('definition_id', 'description', type='char', string='Definition Description', readonly=True), + 'definition_condition': fields.related('definition_id', 'condition', type='char', string='Definition Condition', readonly=True), + 'definition_suffix': fields.related('definition_id', 'full_suffix', type="char", string="Suffix", readonly=True), + 'definition_display': fields.related('definition_id', 'display_mode', type="char", string="Display Mode", readonly=True), + } + + _defaults = { + 'current': 0, + 'state': 'draft', + 'start_date': fields.date.today, + } + _order = 'create_date desc, end_date desc, definition_id, id' + + def _check_remind_delay(self, cr, uid, goal, context=None): + """Verify if a goal has not been updated for some time and send a + reminder message of needed. + + :return: data to write on the goal object + """ + if goal.remind_update_delay and goal.last_update: + delta_max = timedelta(days=goal.remind_update_delay) + last_update = datetime.strptime(goal.last_update, DF).date() + if date.today() - last_update > delta_max and goal.state == 'inprogress': + # generate a remind report + temp_obj = self.pool.get('email.template') + template_id = self.pool['ir.model.data'].get_object(cr, uid, 'gamification', 'email_template_goal_reminder', context) + body_html = temp_obj.render_template(cr, uid, template_id.body_html, 'gamification.goal', goal.id, context=context) + + self.message_post(cr, uid, goal.id, body=body_html, partner_ids=[goal.user_id.partner_id.id], context=context, subtype='mail.mt_comment') + return {'state': 'inprogress_update'} + return {} + + def update(self, cr, uid, ids, context=None): + """Update the goals to recomputes values and change of states + + If a manual goal is not updated for enough time, the user will be + reminded to do so (done only once, in 'inprogress' state). + If a goal reaches the target value, the status is set to reached + If the end date is passed (at least +1 day, time not considered) without + the target value being reached, the goal is set as failed.""" + if context is None: + context = {} + + for goal in self.browse(cr, uid, ids, context=context): + towrite = {} + if goal.state in ('draft', 'canceled'): + # skip if goal draft or canceled + continue + + if goal.definition_id.computation_mode == 'manually': + towrite.update(self._check_remind_delay(cr, uid, goal, context)) + + elif goal.definition_id.computation_mode == 'python': + # execute the chosen method + cxt = { + 'self': self.pool.get('gamification.goal'), + 'object': goal, + 'pool': self.pool, + 'cr': cr, + 'context': dict(context), # copy context to prevent side-effects of eval + 'uid': uid, + 'result': False, + 'date': date, 'datetime': datetime, 'timedelta': timedelta, 'time': time + } + code = goal.definition_id.compute_code.strip() + safe_eval(code, cxt, mode="exec", nocopy=True) + # the result of the evaluated codeis put in the 'result' local variable, propagated to the context + result = cxt.get('result', False) + if result and type(result) in (float, int, long): + if result != goal.current: + towrite['current'] = result + else: + _logger.exception(_('Invalid return content from the evaluation of %s' % code)) + + else: # count or sum + obj = self.pool.get(goal.definition_id.model_id.model) + field_date_name = goal.definition_id.field_date_id.name + + # eval the domain with user replaced by goal user object + domain = safe_eval(goal.definition_id.domain, {'user': goal.user_id}) + + # add temporal clause(s) to the domain if fields are filled on the goal + if goal.start_date and field_date_name: + domain.append((field_date_name, '>=', goal.start_date)) + if goal.end_date and field_date_name: + domain.append((field_date_name, '<=', goal.end_date)) + + if goal.definition_id.computation_mode == 'sum': + field_name = goal.definition_id.field_id.name + res = obj.read_group(cr, uid, domain, [field_name], [''], context=context) + new_value = res and res[0][field_name] or 0.0 + + else: # computation mode = count + new_value = obj.search(cr, uid, domain, context=context, count=True) + + # avoid useless write if the new value is the same as the old one + if new_value != goal.current: + towrite['current'] = new_value + + # check goal target reached + if (goal.definition_condition == 'higher' and towrite.get('current', goal.current) >= goal.target_goal) or (goal.definition_condition == 'lower' and towrite.get('current', goal.current) <= goal.target_goal): + towrite['state'] = 'reached' + + # check goal failure + elif goal.end_date and fields.date.today() > goal.end_date: + towrite['state'] = 'failed' + if towrite: + self.write(cr, uid, [goal.id], towrite, context=context) + return True + + def action_start(self, cr, uid, ids, context=None): + """Mark a goal as started. + + This should only be used when creating goals manually (in draft state)""" + self.write(cr, uid, ids, {'state': 'inprogress'}, context=context) + return self.update(cr, uid, ids, context=context) + + def action_reach(self, cr, uid, ids, context=None): + """Mark a goal as reached. + + If the target goal condition is not met, the state will be reset to In + Progress at the next goal update until the end date.""" + return self.write(cr, uid, ids, {'state': 'reached'}, context=context) + + def action_fail(self, cr, uid, ids, context=None): + """Set the state of the goal to failed. + + A failed goal will be ignored in future checks.""" + return self.write(cr, uid, ids, {'state': 'failed'}, context=context) + + def action_cancel(self, cr, uid, ids, context=None): + """Reset the completion after setting a goal as reached or failed. + + This is only the current state, if the date and/or target criterias + match the conditions for a change of state, this will be applied at the + next goal update.""" + return self.write(cr, uid, ids, {'state': 'inprogress'}, context=context) + + def create(self, cr, uid, vals, context=None): + """Overwrite the create method to add a 'no_remind_goal' field to True""" + if context is None: + context = {} + context['no_remind_goal'] = True + return super(gamification_goal, self).create(cr, uid, vals, context=context) + + def write(self, cr, uid, ids, vals, context=None): + """Overwrite the write method to update the last_update field to today + + If the current value is changed and the report frequency is set to On + change, a report is generated + """ + if context is None: + context = {} + vals['last_update'] = fields.date.today() + result = super(gamification_goal, self).write(cr, uid, ids, vals, context=context) + for goal in self.browse(cr, uid, ids, context=context): + if goal.state != "draft" and ('definition_id' in vals or 'user_id' in vals): + # avoid drag&drop in kanban view + raise osv.except_osv(_('Error!'), _('Can not modify the configuration of a started goal')) + + if vals.get('current'): + if 'no_remind_goal' in context: + # new goals should not be reported + continue + + if goal.challenge_id and goal.challenge_id.report_message_frequency == 'onchange': + self.pool.get('gamification.challenge').report_progress(cr, SUPERUSER_ID, goal.challenge_id, users=[goal.user_id], context=context) + return result + + def get_action(self, cr, uid, goal_id, context=None): + """Get the ir.action related to update the goal + + In case of a manual goal, should return a wizard to update the value + :return: action description in a dictionnary + """ + goal = self.browse(cr, uid, goal_id, context=context) + + if goal.definition_id.action_id: + # open a the action linked to the goal + action = goal.definition_id.action_id.read()[0] + + if goal.definition_id.res_id_field: + current_user = self.pool.get('res.users').browse(cr, uid, uid, context=context) + action['res_id'] = safe_eval(goal.definition_id.res_id_field, {'user': current_user}) + + # if one element to display, should see it in form mode if possible + action['views'] = [(view_id, mode) for (view_id, mode) in action['views'] if mode == 'form'] or action['views'] + return action + + if goal.computation_mode == 'manually': + # open a wizard window to update the value manually + action = { + 'name': _("Update %s") % goal.definition_id.name, + 'id': goal_id, + 'type': 'ir.actions.act_window', + 'views': [[False, 'form']], + 'target': 'new', + 'context': {'default_goal_id': goal_id, 'default_current': goal.current}, + 'res_model': 'gamification.goal.wizard' + } + return action + + return False diff --git a/addons/gamification/models/res_users.py b/addons/gamification/models/res_users.py new file mode 100644 index 00000000000..408ddddf082 --- /dev/null +++ b/addons/gamification/models/res_users.py @@ -0,0 +1,132 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://www.openerp.com>) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/> +# +############################################################################## + +from openerp.osv import osv +from challenge import MAX_VISIBILITY_RANKING + +class res_users_gamification_group(osv.Model): + """ Update of res.users class + - if adding groups to an user, check gamification.challenge linked to + this group, and the user. This is done by overriding the write method. + """ + _name = 'res.users' + _inherit = ['res.users'] + + def write(self, cr, uid, ids, vals, context=None): + """Overwrite to autosubscribe users if added to a group marked as autojoin, user will be added to challenge""" + write_res = super(res_users_gamification_group, self).write(cr, uid, ids, vals, context=context) + if vals.get('groups_id'): + # form: {'group_ids': [(3, 10), (3, 3), (4, 10), (4, 3)]} or {'group_ids': [(6, 0, [ids]} + user_group_ids = [command[1] for command in vals['groups_id'] if command[0] == 4] + user_group_ids += [id for command in vals['groups_id'] if command[0] == 6 for id in command[2]] + + challenge_obj = self.pool.get('gamification.challenge') + challenge_ids = challenge_obj.search(cr, uid, [('autojoin_group_id', 'in', user_group_ids)], context=context) + if challenge_ids: + challenge_obj.write(cr, uid, challenge_ids, {'user_ids': [(4, user_id) for user_id in ids]}, context=context) + return write_res + + def create(self, cr, uid, vals, context=None): + """Overwrite to autosubscribe users if added to a group marked as autojoin, user will be added to challenge""" + write_res = super(res_users_gamification_group, self).create(cr, uid, vals, context=context) + if vals.get('groups_id'): + # form: {'group_ids': [(3, 10), (3, 3), (4, 10), (4, 3)]} or {'group_ids': [(6, 0, [ids]} + user_group_ids = [command[1] for command in vals['groups_id'] if command[0] == 4] + user_group_ids += [id for command in vals['groups_id'] if command[0] == 6 for id in command[2]] + + challenge_obj = self.pool.get('gamification.challenge') + challenge_ids = challenge_obj.search(cr, uid, [('autojoin_group_id', 'in', user_group_ids)], context=context) + if challenge_ids: + challenge_obj.write(cr, uid, challenge_ids, {'user_ids': [(4, write_res)]}, context=context) + return write_res + + # def get_goals_todo_info(self, cr, uid, context=None): + + def get_serialised_gamification_summary(self, cr, uid, context=None): + return self._serialised_goals_summary(cr, uid, user_id=uid, context=context) + + def _serialised_goals_summary(self, cr, uid, user_id, context=None): + """Return a serialised list of goals assigned to the user, grouped by challenge + + [ + { + 'id': <gamification.challenge id>, + 'name': <gamification.challenge name>, + 'visibility_mode': <visibility {ranking,personal}>, + 'currency': <res.currency id>, + 'lines': [(see gamification_challenge._get_serialized_challenge_lines() format)] + }, + ] + """ + all_goals_info = [] + challenge_obj = self.pool.get('gamification.challenge') + + user = self.browse(cr, uid, uid, context=context) + challenge_ids = challenge_obj.search(cr, uid, [('user_ids', 'in', uid), ('state', '=', 'inprogress')], context=context) + for challenge in challenge_obj.browse(cr, uid, challenge_ids, context=context): + # serialize goals info to be able to use it in javascript + all_goals_info.append({ + 'id': challenge.id, + 'name': challenge.name, + 'visibility_mode': challenge.visibility_mode, + 'currency': user.company_id.currency_id.id, + 'lines': challenge_obj._get_serialized_challenge_lines(cr, uid, challenge, user_id, restrict_top=MAX_VISIBILITY_RANKING, context=context), + }) + + return all_goals_info + + def get_challenge_suggestions(self, cr, uid, context=None): + """Return the list of challenges suggested to the user""" + challenge_info = [] + challenge_obj = self.pool.get('gamification.challenge') + challenge_ids = challenge_obj.search(cr, uid, [('invited_user_ids', 'in', uid), ('state', '=', 'inprogress')], context=context) + for challenge in challenge_obj.browse(cr, uid, challenge_ids, context=context): + values = { + 'id': challenge.id, + 'name': challenge.name, + 'description': challenge.description, + } + challenge_info.append(values) + return challenge_info + + +class res_groups_gamification_group(osv.Model): + """ Update of res.groups class + - if adding users from a group, check gamification.challenge linked to + this group, and the user. This is done by overriding the write method. + """ + _name = 'res.groups' + _inherit = 'res.groups' + + # No need to overwrite create as very unlikely to be the value in the autojoin_group_id field + def write(self, cr, uid, ids, vals, context=None): + """Overwrite to autosubscribe users if add users to a group marked as autojoin, these will be added to the challenge""" + write_res = super(res_groups_gamification_group, self).write(cr, uid, ids, vals, context=context) + if vals.get('users'): + # form: {'group_ids': [(3, 10), (3, 3), (4, 10), (4, 3)]} or {'group_ids': [(6, 0, [ids]} + user_ids = [command[1] for command in vals['users'] if command[0] == 4] + user_ids += [id for command in vals['users'] if command[0] == 6 for id in command[2]] + + challenge_obj = self.pool.get('gamification.challenge') + challenge_ids = challenge_obj.search(cr, uid, [('autojoin_group_id', 'in', ids)], context=context) + if challenge_ids: + challenge_obj.write(cr, uid, challenge_ids, {'user_ids': [(4, user_id) for user_id in user_ids]}, context=context) + return write_res diff --git a/addons/gamification/security/gamification_security.xml b/addons/gamification/security/gamification_security.xml new file mode 100644 index 00000000000..904ba50721e --- /dev/null +++ b/addons/gamification/security/gamification_security.xml @@ -0,0 +1,43 @@ +<?xml version="1.0" ?> +<openerp> + <data noupdate="1"> + <record model="ir.module.category" id="module_goal_category"> + <field name="name">Gamification</field> + <field name="description"></field> + <field name="sequence">17</field> + </record> + <record id="group_goal_manager" model="res.groups"> + <field name="name">Manager</field> + <field name="category_id" ref="module_goal_category"/> + <field name="users" eval="[(4, ref('base.user_root'))]"/> + </record> + + <record id="goal_user_visibility" model="ir.rule"> + <field name="name">User can only see his/her goals or goal from the same challenge in board visibility</field> + <field name="model_id" ref="model_gamification_goal"/> + <field name="groups" eval="[(4, ref('base.group_user'))]"/> + <field name="perm_read" eval="True"/> + <field name="perm_write" eval="True"/> + <field name="perm_create" eval="False"/> + <field name="perm_unlink" eval="False"/> + <field name="domain_force">[ + '|', + ('user_id','=',user.id), + '&', + ('challenge_id.user_ids','in',user.id), + ('challenge_id.visibility_mode','=','ranking')]</field> + </record> + + <record id="goal_gamification_manager_visibility" model="ir.rule"> + <field name="name">Gamification Manager can see any goal</field> + <field name="model_id" ref="model_gamification_goal"/> + <field name="groups" eval="[(4, ref('group_goal_manager'))]"/> + <field name="perm_read" eval="True"/> + <field name="perm_write" eval="True"/> + <field name="perm_create" eval="False"/> + <field name="perm_unlink" eval="False"/> + <field name="domain_force">[(1, '=', 1)]</field> + </record> + + </data> +</openerp> diff --git a/addons/gamification/security/ir.model.access.csv b/addons/gamification/security/ir.model.access.csv new file mode 100644 index 00000000000..932c5d97c62 --- /dev/null +++ b/addons/gamification/security/ir.model.access.csv @@ -0,0 +1,19 @@ +id,name,model_id/id,group_id/id,perm_read,perm_write,perm_create,perm_unlink + +goal_employee,"Goal Employee",model_gamification_goal,base.group_user,1,1,0,0 +goal_manager,"Goal Manager",model_gamification_goal,group_goal_manager,1,1,1,1 + +goal_definition_employee,"Goal Definition Employee",model_gamification_goal_definition,base.group_user,1,0,0,0 +goal_definition_manager,"Goal Definition Manager",model_gamification_goal_definition,group_goal_manager,1,1,1,1 + +challenge_employee,"Goal Challenge Employee",model_gamification_challenge,base.group_user,1,0,0,0 +challenge_manager,"Goal Challenge Manager",model_gamification_challenge,group_goal_manager,1,1,1,1 + +challenge_line_employee,"Challenge Line Employee",model_gamification_challenge_line,base.group_user,1,0,0,0 +challenge_line_manager,"Challenge Line Manager",model_gamification_challenge_line,group_goal_manager,1,1,1,1 + +badge_employee,"Badge Employee",model_gamification_badge,base.group_user,1,0,0,0 +badge_manager,"Badge Manager",model_gamification_badge,group_goal_manager,1,1,1,1 + +badge_user_employee,"Badge-user Employee",model_gamification_badge_user,base.group_user,1,1,1,0 +badge_user_manager,"Badge-user Manager",model_gamification_badge_user,group_goal_manager,1,1,1,1 diff --git a/addons/gamification/static/description/icon.png b/addons/gamification/static/description/icon.png Binary files differnew file mode 100644 index 00000000000..52a75f726ba --- /dev/null +++ b/addons/gamification/static/description/icon.png diff --git a/addons/gamification/static/src/css/Makefile b/addons/gamification/static/src/css/Makefile new file mode 100644 index 00000000000..3a6a70cf59b --- /dev/null +++ b/addons/gamification/static/src/css/Makefile @@ -0,0 +1,3 @@ +gamification.css: gamification.sass + sass --trace -t expanded gamification.sass gamification.css + diff --git a/addons/gamification/static/src/css/gamification.css b/addons/gamification/static/src/css/gamification.css new file mode 100644 index 00000000000..4ac3a0340fa --- /dev/null +++ b/addons/gamification/static/src/css/gamification.css @@ -0,0 +1,190 @@ +@charset "UTF-8"; +.openerp .oe_kanban_view .oe_kanban_card.oe_kanban_goal { + width: 230px; + min-height: 200px; +} +.openerp .oe_kanban_view .oe_kanban_card.oe_kanban_badge { + width: 250px; + min-height: 150px; +} +.openerp .oe_kanban_badge_avatars { + margin-top: 8px; +} +.openerp .oe_kanban_badge_avatars img { + width: 30px; + height: 30px; + padding-left: 0; + margin-top: 3px; + border-radius: 2px; + -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); +} +.openerp .oe_kanban_goal .oe_goal_state_block { + width: 200px; + height: 130px; + margin: auto; + margin-bottom: -20px; +} +.openerp .oe_kanban_goal .oe_goal_state_block .oe_goal_state { + font-size: 2.5em; + font-weight: bold; + padding-top: 30px; +} +.openerp .oe_kanban_goal .oe_goal_state_block .oe_goal_state.oe_e { + font-size: 7em; +} +.openerp .oe_kanban_goal .oe_goal_state_block, .openerp .oe_kanban_goal p { + text-align: center; +} +.openerp .oe_kanban_content .oe_goal_gauge:first-child { + margin: auto; +} +.openerp .oe_kanban_content .oe_goal_gauge svg { + margin-top: -20px; +} +.openerp .oe_no_overflow { + overflow: hidden; +} +.openerp .oe_red { + color: red; +} +.openerp .oe_green { + color: green; +} +.openerp .oe_orange { + color: orange; +} +.openerp .oe_form td .oe_no_padding { + margin-left: -6px; +} +.openerp .oe_mail_wall .oe_mail_wall_aside { + margin-top: 15px; + position: relative; + display: inline-block; + vertical-align: top; + width: 280px; + border-radius: 2px; +} +.openerp .oe_mail_wall .oe_mail_wall_aside .oe_gamification_challenge_list { + background-color: #ededf6; +} +.openerp .oe_mail_wall .oe_mail_wall_aside .oe_gamification_suggestion { + background-color: #d3def1; +} +.openerp .oe_mail_wall .oe_mail_wall_aside .oe_gamification_suggestion ul { + padding-left: 15px; +} +.openerp .oe_mail_wall .oe_mail_wall_aside h4, .openerp .oe_mail_wall .oe_mail_wall_aside .oe_goals_list .oe_thead { + text-align: center; + padding-bottom: 15px; +} +.openerp .oe_mail_wall .oe_mail_wall_aside > div { + border-bottom: solid 5px white; + border-radius: 2px; +} +.openerp .oe_mail_wall .oe_goal { + border-bottom: solid 3px white; + padding: 5px 10px; +} +.openerp .oe_mail_wall .oe_goal .oe_update_challenge.oe_e, .openerp .oe_mail_wall .oe_goal .oe_goal_action.oe_e { + visibility: hidden; + font-size: 25px; + float: right; + position: relative; +} +.openerp .oe_mail_wall .oe_goal div:hover > .oe_update_challenge, .openerp .oe_mail_wall .oe_goal div:hover > .oe_goal_action, .openerp .oe_mail_wall .oe_goal th:hover > .oe_goal_action { + visibility: visible; +} +.openerp .oe_mail_wall .oe_goal .oe_goals_list { + padding-left: 0; + margin-top: 5px; + margin-bottom: 10px; + width: 100%; +} +.openerp .oe_mail_wall .oe_goal .oe_goals_list .oe_no_progress div { + display: inline-block; +} +.openerp .oe_mail_wall .oe_goal .oe_goals_list .oe_no_progress::before { + content: "•"; + padding-right: 4px; +} +.openerp .oe_mail_wall .oe_goal .oe_goals_list .oe_no_progress.oe_goal_reached::before { + content: "✓"; + padding-right: 0; + margin-left: -2px; +} +.openerp .oe_mail_wall .oe_goal .oe_goals_list .oe_no_progress.oe_goal_reached .oe_cell { + text-decoration: line-through; +} +.openerp .oe_mail_wall .oe_goal .oe_goals_list .oe_cell.oe_goal_current { + font-size: 150%; + font-weight: bold; + min-width: 50px; + padding: 0 5px; +} +.openerp .oe_mail_wall .oe_goal .oe_goals_list .oe_goal_outer_box { + display: inline-block; + position: relative; + z-index: 0; + vertical-align: middle; + width: 100%; + border: solid 1px rgba(0, 0, 0, 0.03); + border-radius: 2px; +} +.openerp .oe_mail_wall .oe_goal .oe_goals_list .oe_goal_outer_box.oe_no_progress { + border: none; +} +.openerp .oe_mail_wall .oe_goal .oe_goals_list .oe_goal_progress_background { + background-color: white; + position: absolute; + height: 100%; + width: 100%; + z-index: -2; + top: 0; + left: 0; +} +.openerp .oe_mail_wall .oe_goal .oe_goals_list .oe_goal_progress { + background-color: #d4e9de; + position: absolute; + height: 100%; + width: 0; + z-index: -1; + top: 0; + left: 0; +} +.openerp .oe_mail_wall .oe_goal .oe_goals_list .oe_thead { + font-weight: normal; + padding: 5px; + text-align: center; +} +.openerp .oe_mail_wall .oe_goal .oe_goals_list .oe_cell { + padding: 3px 0; +} +.openerp .oe_mail_wall .oe_table.oe_goals_list .col0 { + font-size: 200%; + font-weight: bold; + width: 25px; + text-align: center; +} +.openerp .oe_mail_wall .oe_table.oe_goals_list .col1 { + padding: 0 5px; +} +.openerp .oe_mail_wall .oe_table.oe_goals_list .col2 { + width: auto; +} +.openerp .oe_mail_wall .oe_user_avatar { + width: 24px; + padding-right: 5px; +} +.openerp .oe_mail_wall .oe_mail { + display: inline-block; +} +.openerp .oe_mail_wall .oe_table { + display: table; +} +.openerp .oe_mail_wall .oe_row { + display: table-row; +} +.openerp .oe_mail_wall .oe_cell { + display: table-cell; + vertical-align: middle; +} diff --git a/addons/gamification/static/src/css/gamification.sass b/addons/gamification/static/src/css/gamification.sass new file mode 100644 index 00000000000..3bb6b570e66 --- /dev/null +++ b/addons/gamification/static/src/css/gamification.sass @@ -0,0 +1,181 @@ +@charset "utf-8" + +.openerp + // Kanban views + .oe_kanban_view + .oe_kanban_card.oe_kanban_goal + width: 230px + min-height: 200px + .oe_kanban_card.oe_kanban_badge + width: 250px + min-height: 150px + .oe_kanban_badge_avatars + margin-top: 8px + img + width: 30px + height: 30px + padding-left: 0 + margin-top: 3px + border-radius: 2px + -box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2) + + .oe_kanban_goal + .oe_goal_state_block + width: 200px + height: 130px + margin: auto + margin-bottom: -20px + .oe_goal_state + font-size: 2.5em + font-weight: bold + padding-top: 30px + .oe_goal_state.oe_e + font-size: 7em + .oe_goal_state_block,p + text-align: center + + .oe_kanban_content + .oe_goal_gauge:first-child + margin: auto /* avoid margin-right: 16px */ + .oe_goal_gauge + svg + margin-top: -20px + .oe_no_overflow + overflow: hidden + + + .oe_red + color: red + .oe_green + color: green + .oe_orange + color: orange + + + // compensate padding from .openerp .oe_form td.oe_form_group_cell + .oe_form_group_cell + .oe_form td .oe_no_padding + margin-left: -6px + + + .oe_mail_wall + .oe_mail_wall_aside + margin-top: 15px + position: relative + display: inline-block + vertical-align: top + width: 280px + border-radius: 2px + + .oe_gamification_challenge_list + background-color: #EDEDF6 + .oe_gamification_suggestion + background-color: rgb(211, 222, 241) + ul + padding-left: 15px + + h4, .oe_goals_list .oe_thead + text-align: center + padding-bottom: 15px + + .oe_mail_wall_aside > div + border-bottom: solid 5px white + border-radius: 2px + + .oe_goal + border-bottom: solid 3px white + padding: 5px 10px + .oe_update_challenge.oe_e, .oe_goal_action.oe_e + visibility: hidden + font-size: 25px + float: right + position: relative + div:hover > .oe_update_challenge, div:hover > .oe_goal_action, th:hover > .oe_goal_action + visibility: visible + + .oe_goals_list + padding-left: 0 + margin-top: 5px + margin-bottom: 10px + width: 100% + + .oe_no_progress + div + display: inline-block + .oe_no_progress::before + content: "•" + padding-right: 4px + .oe_no_progress.oe_goal_reached::before + content: "✓" + padding-right: 0 + margin-left: -2px + .oe_no_progress.oe_goal_reached + .oe_cell + text-decoration: line-through + + .oe_cell.oe_goal_current + font-size: 150% + font-weight: bold + min-width: 50px + padding: 0 5px + + .oe_goal_outer_box + display: inline-block + position: relative + z-index: 0 + vertical-align: middle + width: 100% + border: solid 1px rgba(0,0,0,0.03) + border-radius: 2px + .oe_goal_outer_box.oe_no_progress + border: none + + .oe_goal_progress_background + background-color: white + position: absolute + height: 100% + width: 100% + z-index: -2 + top: 0 + left: 0 + + .oe_goal_progress + background-color: rgb(212, 233, 222) + position: absolute + height: 100% + width: 0 + z-index: -1 + top: 0 + left: 0 + + .oe_thead + font-weight: normal + padding: 5px + text-align: center + .oe_cell + padding: 3px 0 + + .oe_table.oe_goals_list + .col0 + font-size: 200% + font-weight: bold + width: 25px + text-align: center + .col1 + padding: 0 5px + .col2 + width: auto + + .oe_user_avatar + width: 24px + padding-right: 5px + + .oe_mail + display: inline-block + + .oe_table + display: table + .oe_row + display: table-row + .oe_cell + display: table-cell + vertical-align: middle diff --git a/addons/gamification/static/src/js/gamification.js b/addons/gamification/static/src/js/gamification.js new file mode 100644 index 00000000000..2a8db5f369d --- /dev/null +++ b/addons/gamification/static/src/js/gamification.js @@ -0,0 +1,148 @@ +openerp.gamification = function(instance) { + var QWeb = instance.web.qweb; + + instance.gamification.Sidebar = instance.web.Widget.extend({ + template: 'gamification.UserWallSidebar', + init: function (parent, action) { + var self = this; + this._super(parent, action); + this.deferred = $.Deferred(); + this.goals_info = {}; + this.challenge_suggestions = {}; + $(document).off('keydown.klistener'); + }, + events: { + // update a challenge and related goals + 'click a.oe_update_challenge': function(event) { + var self = this; + var challenge_id = parseInt(event.currentTarget.id, 10); + var goals_updated = new instance.web.Model('gamification.challenge').call('quick_update', [challenge_id]); + $.when(goals_updated).done(function() { + self.get_goal_todo_info(); + }); + }, + // action to modify a goal + 'click a.oe_goal_action': function(event) { + var self = this; + var goal_id = parseInt(event.currentTarget.id, 10); + var goal_action = new instance.web.Model('gamification.goal').call('get_action', [goal_id]).then(function(res) { + goal_action['action'] = res; + }); + $.when(goal_action).done(function() { + var action = self.do_action(goal_action.action); + $.when(action).done(function () { + new instance.web.Model('gamification.goal').call('update', [[goal_id]]).then(function(res) { + self.get_goal_todo_info(); + }); + }); + }); + }, + // get more info about a challenge request + 'click a.oe_challenge_reply': function(event) { + var self = this; + var challenge_id = parseInt(event.currentTarget.id, 10); + var challenge_action = new instance.web.Model('gamification.challenge').call('reply_challenge_wizard', [challenge_id]).then(function(res) { + challenge_action['action'] = res; + }); + $.when(challenge_action).done(function() { + self.do_action(challenge_action.action).done(function () { + self.get_goal_todo_info(); + }); + }); + }, + 'click .oe_goal h4': function(event) { + var self = this; + this.kkeys = []; + $(document).on('keydown.klistener', function(event) { + if ("37,38,39,40,65,66".indexOf(event.keyCode) < 0) { + $(document).off('keydown.klistener'); + } else { + self.kkeys.push(event.keyCode); + if (self.kkeys.toString().indexOf("38,38,40,40,37,39,37,39,66,65") >= 0) { + new instance.web.Model('gamification.badge').call('check_progress', []); + $(document).off('keydown.klistener'); + } + } + }); + } + }, + start: function() { + var self = this; + this._super.apply(this, arguments); + self.get_goal_todo_info(); + self.get_challenge_suggestions(); + }, + get_goal_todo_info: function() { + var self = this; + var challenges = new instance.web.Model('res.users').call('get_serialised_gamification_summary', []).then(function(result) { + if (result.length === 0) { + self.$el.find(".oe_gamification_challenge_list").hide(); + } else { + self.$el.find(".oe_gamification_challenge_list").empty(); + _.each(result, function(item){ + var $item = $(QWeb.render("gamification.ChallengeSummary", {challenge: item})); + self.render_money_fields($item); + self.render_user_avatars($item); + self.$el.find('.oe_gamification_challenge_list').append($item); + }); + } + }); + }, + get_challenge_suggestions: function() { + var self = this; + var challenge_suggestions = new instance.web.Model('res.users').call('get_challenge_suggestions', []).then(function(result) { + if (result.length === 0) { + self.$el.find(".oe_gamification_suggestion").hide(); + } else { + var $item = $(QWeb.render("gamification.ChallengeSuggestion", {challenges: result})); + self.$el.find('.oe_gamification_suggestion').append($item); + } + }); + }, + render_money_fields: function(item) { + var self = this; + self.dfm = new instance.web.form.DefaultFieldManager(self); + // Generate a FieldMonetary for each .oe_goal_field_monetary + item.find(".oe_goal_field_monetary").each(function() { + var currency_id = parseInt( $(this).attr('data-id'), 10); + money_field = new instance.web.form.FieldMonetary(self.dfm, { + attrs: { + modifiers: '{"readonly": true}' + } + }); + money_field.set('currency', currency_id); + money_field.get_currency_info(); + money_field.set('value', parseInt($(this).text(), 10)); + money_field.replace($(this)); + }); + }, + render_user_avatars: function(item) { + var self = this; + item.find(".oe_user_avatar").each(function() { + var user_id = parseInt( $(this).attr('data-id'), 10); + var url = instance.session.url('/web/binary/image', {model: 'res.users', field: 'image_small', id: user_id}); + $(this).attr("src", url); + }); + } + }); + + instance.mail.Widget.include({ + start: function() { + this._super(); + var sidebar = new instance.gamification.Sidebar(this); + sidebar.appendTo($('.oe_mail_wall_aside')); + }, + }); + + instance.web_kanban.KanbanRecord.include({ + // open related goals when clicking on challenge kanban view + on_card_clicked: function() { + if (this.view.dataset.model === 'gamification.challenge') { + this.$('.oe_kanban_project_list a').first().click(); + } else { + this._super.apply(this, arguments); + } + }, + }); + +}; diff --git a/addons/gamification/static/src/xml/gamification.xml b/addons/gamification/static/src/xml/gamification.xml new file mode 100644 index 00000000000..6316ca886f0 --- /dev/null +++ b/addons/gamification/static/src/xml/gamification.xml @@ -0,0 +1,114 @@ +<templates> + <t t-name="gamification.UserWallSidebar" class="oe_gamification_user_wall_sidebar"> + <div> + <div class="oe_gamification_suggestion"></div> + <div class="oe_gamification_challenge_list"></div> + </div> + </t> + <t t-name="gamification.ChallengeSummary"> + <div class="oe_goal"> + <div> + <a class="oe_update_challenge oe_e" rol="button" t-attf-id="{challenge.id}">e</a> + <h4><t t-esc="challenge.name" /></h4> + </div> + + <t t-if="challenge.visibility_mode == 'personal'"> + <div class="oe_table oe_goals_list"> + <div t-foreach="challenge.lines" t-as="line" t-attf-class="oe_row oe_goal_outer_box #{line.state == 'reached' ? 'oe_goal_reached' : ''} #{line.display_mode != 'progress' ? 'oe_no_progress' : ''}"> + <t t-if="line.display_mode == 'progress'"> + <div class="oe_goal_progress_background"></div> + <div class="oe_goal_progress" t-attf-style="#{line.display_mode == 'progress' ? 'width: '+line.completeness+'%;' : 'width:0;'}"></div> + <div class="oe_cell oe_goal_current"><t t-esc="line.current" /></div> + </t> + <div class="oe_cell"> + <t t-if="line.computation_mode != 'manually' and !line.action"> + <span t-att-title="line.description"><t t-esc="line.name" /></span> + </t> + <t t-if="line.action or line.computation_mode == 'manually'"> + <span t-att-title="line.description"><a class="oe_goal_action" t-att-id="line.id"><t t-esc="line.name" /></a></span> + </t> + <t t-if="line.display_mode == 'progress'"><br/> + <div class="oe_grey"> + <t t-if="line.definition_condition == 'higher'"> + Target: + </t> + <t t-if="line.definition_condition == 'lower'"> + Target: <= + </t> + <span t-attf-class="#{line.monetary ? 'oe_goal_field_monetary' : ''}" t-attf-data-id="#{line.monetary ? challenge.currency : ''}"><t t-esc="line.target"/></span> + <t t-if="line.suffix"><t t-esc="line.suffix"/></t> + </div> + </t> + </div> + </div> + </div> + </t> + + <t t-if="challenge.visibility_mode == 'ranking'"> + <div t-foreach="challenge.lines" t-as="line" class="oe_goals_list oe_table"> + <div class="oe_row"> + <div class="oe_cell oe_thead" colspan="3" t-attf-title="#{line.description ? line.description : ''}"> + <strong><t t-esc="line.name"/></strong> + <br/> + <div class="oe_grey"> + <t t-if="line.definition_condition == 'higher'"> + Target: + </t> + <t t-if="line.definition_condition == 'lower'"> + Target: <= + </t> + <span t-attf-class="#{line.monetary ? 'oe_goal_field_monetary' : ''}" t-attf-data-id="#{line.monetary ? challenge.currency : ''}"><t t-esc="line.target" /></span><t t-if="line.suffix"> <t t-esc="line.suffix"/></t> + </div> + </div> + </div> + <div t-foreach="line.goals" t-as="goal" t-attf-class="#{goal.id == line.own_goal_id ? 'oe_bold' : ''}"> + <div t-attf-class="oe_row oe_goal_outer_box #{goal.state == 'reached' ? 'oe_goal_reached' : ''} #{line.display_mode != 'progress' ? 'oe_no_progress' : ''}"> + <t t-if="line.display_mode == 'progress'"> + <div class="oe_goal_progress_background"></div> + <div class="oe_goal_progress" t-attf-style="#{line.display_mode == 'progress' ? 'width: '+goal.completeness+'%;' : 'width:0;'}"></div> + </t> + + <div class="oe_cell col0"><t t-esc="goal.rank" /></div> + <div class="oe_cell col1"><img class="oe_user_avatar" t-attf-alt="#{goal.name}" t-attf-data-id="#{goal.user_id}"/></div> + <div class="oe_cell col2"> + <t t-if="line.display_mode == 'progress'"> + <!-- progress, action on current value --> + <t t-esc="goal.name"/><br/> + <t t-if="goal.id != line.own_goal_id or (line.computation_mode != 'manually' and !line.action)"> + <span t-attf-class="#{line.monetary ? 'oe_goal_field_monetary' : ''}" t-attf-data-id="#{line.monetary ? challenge.currency : ''}"><t t-esc="goal.current" /></span><t t-if="line.suffix"> <t t-esc="line.suffix"/></t> + </t> + <t t-if="goal.id == line.own_goal_id and (line.action or line.computation_mode == 'manually')"> + <a class="oe_goal_action" t-att-id="line.own_goal_id"> + <span t-attf-class="#{line.monetary ? 'oe_goal_field_monetary' : ''}" t-attf-data-id="#{line.monetary ? challenge.currency : ''}"><t t-esc="goal.current" /></span><t t-if="line.suffix"> <t t-esc="line.suffix"/></t> + </a> + </t> + </t> + <t t-if="line.display_mode != 'progress'"> + <!-- not progress, action on user name --> + <t t-if="goal.id != line.own_goal_id or (line.computation_mode != 'manually' and !line.action)"> + <t t-esc="goal.name"/> + </t> + <t t-if="goal.id == line.own_goal_id and (line.action or line.computation_mode == 'manually')"> + <a class="oe_goal_action" t-att-id="line.own_goal_id"><t t-esc="goal.name"/></a> + </t> + </t> + </div> + </div> + </div> + </div> + </t> + </div> + </t> + + <t t-name="gamification.ChallengeSuggestion"> + <div class="oe_goal"> + <h4>Invited Challenges</h4> + <ul t-foreach="challenges" t-as="challenge" class="oe_goals_list"> + <li> + <strong><a class="oe_challenge_reply" t-attf-title="#{challenge.description.value ? challenge.description.value : ''}" t-attf-id="{challenge.id}" title="more details..."><t t-esc="challenge.name"/></a></strong> + </li> + </ul> + </div> + </t> + +</templates> diff --git a/addons/gamification/tests/__init__.py b/addons/gamification/tests/__init__.py new file mode 100644 index 00000000000..9cafd242b28 --- /dev/null +++ b/addons/gamification/tests/__init__.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Business Applications +# Copyright (c) 2013 OpenERP S.A. <http://openerp.com> +# +# 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 <http://www.gnu.org/licenses/>. +# +############################################################################## + +from . import test_challenge + +checks = [ + test_challenge, +] diff --git a/addons/gamification/tests/test_challenge.py b/addons/gamification/tests/test_challenge.py new file mode 100644 index 00000000000..6b93da727ac --- /dev/null +++ b/addons/gamification/tests/test_challenge.py @@ -0,0 +1,89 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Business Applications +# Copyright (c) 2013 OpenERP S.A. <http://openerp.com> +# +# 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 <http://www.gnu.org/licenses/>. +# +############################################################################## + +from openerp.tests import common + + +class test_challenge(common.TransactionCase): + + def setUp(self): + super(test_challenge, self).setUp() + cr, uid = self.cr, self.uid + self.data_obj = self.registry('ir.model.data') + self.user_obj = self.registry('res.users') + + self.challenge_obj = self.registry('gamification.challenge') + self.line_obj = self.registry('gamification.challenge.line') + self.goal_obj = self.registry('gamification.goal') + self.badge_obj = self.registry('gamification.badge') + self.badge_user_obj = self.registry('gamification.badge.user') + + self.demo_user_id = self.data_obj.get_object_reference(cr, uid, 'base', 'user_demo')[1] + self.group_user_id = self.data_obj.get_object_reference(cr, uid, 'base', 'group_user')[1] + self.challenge_base_id = self.data_obj.get_object_reference(cr, uid, 'gamification', 'challenge_base_discover')[1] + self.definition_timezone_id = self.data_obj.get_object_reference(cr, uid, 'gamification', 'definition_base_timezone')[1] + self.badge_id = self.data_obj.get_object_reference(cr, uid, 'gamification', 'badge_good_job')[1] + + def test_00_join_challenge(self): + cr, uid, context = self.cr, self.uid, {} + + user_ids = self.user_obj.search(cr, uid, [('groups_id', '=', self.group_user_id)]) + challenge = self.challenge_obj.browse(cr, uid, self.challenge_base_id, context=context) + + self.assertGreaterEqual(len(challenge.user_ids), len(user_ids), "Not enough users in base challenge") + + self.user_obj.create(cr, uid, { + 'name': 'R2D2', + 'login': 'r2d2@openerp.com', + 'email': 'r2d2@openerp.com', + 'groups_id': [(6, 0, [self.group_user_id])] + }, {'no_reset_password': True}) + + challenge = self.challenge_obj.browse(cr, uid, self.challenge_base_id, context=context) + self.assertGreaterEqual(len(challenge.user_ids), len(user_ids)+1, "These are not droids you are looking for") + + def test_10_reach_challenge(self): + cr, uid, context = self.cr, self.uid, {} + + self.challenge_obj.write(cr, uid, [self.challenge_base_id], {'state': 'inprogress'}, context=context) + challenge = self.challenge_obj.browse(cr, uid, self.challenge_base_id, context=context) + challenge_user_ids = [user.id for user in challenge.user_ids] + + self.assertEqual(challenge.state, 'inprogress', "Challenge failed the change of state") + + line_ids = self.line_obj.search(cr, uid, [('challenge_id', '=', self.challenge_base_id)], context=context) + goal_ids = self.goal_obj.search(cr, uid, [('challenge_id', '=', self.challenge_base_id), ('state', '!=', 'draft')], context=context) + self.assertEqual(len(goal_ids), len(line_ids)*len(challenge_user_ids), "Incorrect number of goals generated, should be 1 goal per user, per challenge line") + + # demo user will set a timezone + self.user_obj.write(cr, uid, self.demo_user_id, {'tz': "Europe/Brussels"}, context=context) + goal_ids = self.goal_obj.search(cr, uid, [('user_id', '=', self.demo_user_id), ('definition_id', '=', self.definition_timezone_id)], context=context) + + self.goal_obj.update(cr, uid, goal_ids, context=context) + reached_goal_ids = self.goal_obj.search(cr, uid, [('id', 'in', goal_ids), ('state', '=', 'reached')], context=context) + self.assertEqual(set(goal_ids), set(reached_goal_ids), "Not every goal was reached after changing timezone") + + # reward for two firsts as admin may have timezone + self.challenge_obj.write(cr, uid, self.challenge_base_id, {'reward_first_id': self.badge_id, 'reward_second_id': self.badge_id}, context=context) + self.challenge_obj.write(cr, uid, self.challenge_base_id, {'state': 'done'}, context=context) + + badge_ids = self.badge_user_obj.search(cr, uid, [('badge_id', '=', self.badge_id), ('user_id', '=', self.demo_user_id)]) + self.assertGreater(len(badge_ids), 0, "Demo user has not received the badge")
\ No newline at end of file diff --git a/addons/gamification/views/badge.xml b/addons/gamification/views/badge.xml new file mode 100644 index 00000000000..0b37e62051d --- /dev/null +++ b/addons/gamification/views/badge.xml @@ -0,0 +1,194 @@ +<?xml version="1.0" encoding="UTF-8"?> +<openerp> + <data> + + <!-- Badge views --> + <record id="badge_list_action" model="ir.actions.act_window"> + <field name="name">Badges</field> + <field name="res_model">gamification.badge</field> + <field name="view_mode">kanban,tree,form</field> + <field name="help" type="html"> + <p class="oe_view_nocontent_create"> + Click to create a badge. + </p> + <p> + A badge is a symbolic token granted to a user as a sign of reward. + It can be deserved automatically when some conditions are met or manually by users. + Some badges are harder than others to get with specific conditions. + </p> + </field> + </record> + + <record id="badge_list_view" model="ir.ui.view"> + <field name="name">Badge List</field> + <field name="model">gamification.badge</field> + <field name="arch" type="xml"> + <tree string="Badge List"> + <field name="name"/> + <field name="stat_count"/> + <field name="stat_this_month"/> + <field name="stat_my"/> + <field name="rule_auth"/> + </tree> + </field> + </record> + + <record id="badge_form_view" model="ir.ui.view"> + <field name="name">Badge Form</field> + <field name="model">gamification.badge</field> + <field name="arch" type="xml"> + <form string="Badge" version="7.0"> + <header> + <button string="Grant this Badge" type="action" name="%(action_grant_wizard)d" class="oe_highlight" attrs="{'invisible': [('remaining_sending','=',0)]}" /> + <button string="Check Badge" type="object" name="check_automatic" groups="base.group_no_one" /> + </header> + <sheet> + <div class="oe_right oe_button_box"> + </div> + <field name="image" widget='image' class="oe_left oe_avatar"/> + <div class="oe_title"> + <label for="name" class="oe_edit_only"/> + <h1> + <field name="name"/> + </h1> + </div> + <group> + <field name="description" nolabel="1" placeholder="Badge Description" /> + </group> + <group string="Granting"> + <div class="oe_grey" colspan="4"> + Security rules to define who is allowed to manually grant badges. Not enforced for administrator. + </div> + <field name="rule_auth" widget="radio" /> + <field name="rule_auth_user_ids" attrs="{'invisible': [('rule_auth','!=','users')]}" widget="many2many_tags" /> + <field name="rule_auth_badge_ids" attrs="{'invisible': [('rule_auth','!=','having')]}" widget="many2many_tags" /> + <field name="rule_max" attrs="{'invisible': [('rule_auth','=','nobody')]}" /> + <field name="rule_max_number" attrs="{'invisible': ['|',('rule_max','=',False),('rule_auth','=','nobody')]}"/> + <label for="stat_my_monthly_sending"/> + <div> + <field name="stat_my_monthly_sending" attrs="{'invisible': [('rule_auth','=','nobody')]}" /> + <div attrs="{'invisible': [('remaining_sending','=',-1)]}" class="oe_grey"> + You can still grant <field name="remaining_sending" class="oe_inline"/> badges this month + </div> + <div attrs="{'invisible': [('remaining_sending','!=',-1)]}" class="oe_grey"> + No monthly sending limit + </div> + </div> + </group> + <group string="Rewards for challenges"> + <field name="challenge_ids" widget="many2many_kanban" nolabel="1" /> + </group> + <group string="Statistics"> + <group> + <field name="stat_count"/> + <field name="stat_this_month"/> + <field name="stat_count_distinct"/> + </group> + <group> + <field name="stat_my"/> + <field name="stat_my_this_month"/> + </group> + </group> + </sheet> + </form> + </field> + </record> + + + <record id="badge_kanban_view" model="ir.ui.view" > + <field name="name">Badge Kanban View</field> + <field name="model">gamification.badge</field> + <field name="arch" type="xml"> + <kanban version="7.0" class="oe_background_grey"> + <field name="name"/> + <field name="description"/> + <field name="image"/> + <field name="stat_my"/> + <field name="stat_count"/> + <field name="stat_this_month"/> + <field name="unique_owner_ids"/> + <field name="stat_my_monthly_sending"/> + <field name="remaining_sending" /> + <field name="rule_max_number" /> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="#{record.stat_my.raw_value ? 'oe_kanban_color_5' : 'oe_kanban_color_white'} oe_kanban_card oe_kanban_global_click oe_kanban_badge"> + <div class="oe_kanban_content"> + <div class="oe_kanban_left"> + <a type="open"><img t-att-src="kanban_image('gamification.badge', 'image', record.image.raw_value)" t-att-title="record.name.value" width="90" height="90" /></a> + </div> + <div class="oe_no_overflow"> + <h4><field name="name"/></h4> + <t t-if="record.remaining_sending.value != 0"> + <button type="action" name="%(action_grant_wizard)d" class="oe_highlight">Grant</button> + <span class="oe_grey"> + <t t-if="record.remaining_sending.value != -1"> + <t t-esc="record.stat_my_monthly_sending.value"/>/<t t-esc="record.rule_max_number.value"/> + </t> + <t t-if="record.remaining_sending.value == -1"> + <t t-esc="record.stat_my_monthly_sending.value"/>/∞ + </t> + </span> + </t> + <t t-if="record.remaining_sending.value == 0"> + <div class="oe_grey">Can not grant</div> + </t> + <p> + <strong><t t-esc="record.stat_count.raw_value"/></strong> granted,<br/> + <strong><t t-esc="record.stat_this_month.raw_value"/></strong> this month + </p> + </div> + <div class="oe_kanban_badge_avatars"> + <t t-if="record.description.value"> + <p><em><field name="description"/></em></p> + </t> + <a type="object" name="get_granted_employees"> + <t t-foreach="record.unique_owner_ids.raw_value.slice(0,11)" t-as="owner"> + <img t-att-src="kanban_image('res.users', 'image_small', owner)" t-att-data-member_id="owner"/> + </t> + </a> + </div> + </div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + + + <!-- Badge user viewss --> + + <record id="badge_user_kanban_view" model="ir.ui.view" > + <field name="name">Badge User Kanban View</field> + <field name="model">gamification.badge.user</field> + <field name="arch" type="xml"> + <kanban version="7.0" class="oe_background_grey"> + <field name="badge_name"/> + <field name="badge_id"/> + <field name="user_id"/> + <field name="comment"/> + <field name="create_date"/> + <templates> + <t t-name="kanban-box"> + <div class="oe_kanban_card oe_kanban_global_click oe_kanban_badge oe_kanban_color_white"> + <div class="oe_kanban_content"> + <div class="oe_kanban_left"> + <a type="open"><img t-att-src="kanban_image('gamification.badge', 'image', record.badge_id.raw_value)" t-att-title="record.badge_name.value" width="24" height="24" /></a> + </div> + <h4> + <a type="open"><t t-esc="record.badge_name.raw_value" /></a> + </h4> + <t t-if="record.comment.raw_value"> + <p><em><field name="comment"/></em></p> + </t> + <p>Granted by <a type="open"><field name="create_uid" /></a> the <t t-esc="record.create_date.raw_value.toString(Date.CultureInfo.formatPatterns.shortDate)" /></p> + </div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + </data> +</openerp> diff --git a/addons/gamification/views/challenge.xml b/addons/gamification/views/challenge.xml new file mode 100644 index 00000000000..075afcaccfa --- /dev/null +++ b/addons/gamification/views/challenge.xml @@ -0,0 +1,289 @@ +<?xml version="1.0" encoding="UTF-8"?> +<openerp> + <data> + + <record id="challenge_list_view" model="ir.ui.view"> + <field name="name">Challenges List</field> + <field name="model">gamification.challenge</field> + <field name="arch" type="xml"> + <tree string="Goal definitions" colors="blue:state == 'draft';grey:state == 'done'"> + <field name="name"/> + <field name="period"/> + <field name="manager_id"/> + <field name="state"/> + </tree> + </field> + </record> + + <record id="goals_from_challenge_act" model="ir.actions.act_window"> + <field name="res_model">gamification.goal</field> + <field name="name">Related Goals</field> + <field name="view_mode">kanban,tree</field> + <field name="context">{'search_default_group_by_definition': True, 'search_default_inprogress': True, 'search_default_challenge_id': active_id, 'default_challenge_id': active_id}</field> + <field name="help" type="html"> + <p> + There is no goals associated to this challenge matching your search. + Make sure that your challenge is active and assigned to at least one user. + </p> + </field> + </record> + + <record id="challenge_form_view" model="ir.ui.view"> + <field name="name">Challenge Form</field> + <field name="model">gamification.challenge</field> + <field name="arch" type="xml"> + <form string="Goal definitions" version="7.0"> + <header> + <button string="Refresh Challenge" type="object" name="action_check" states="inprogress"/> + <button string="Send Report" type="object" name="action_report_progress" states="inprogress,done" groups="base.group_no_one"/> + <field name="state" widget="statusbar" clickable="True"/> + </header> + <sheet> + + <div class="oe_title"> + <label for="name" class="oe_edit_only"/> + <h1> + <field name="name" placeholder="e.g. Monthly Sales Objectives"/> + </h1> + <label for="user_ids" class="oe_edit_only" string="Assign Challenge To"/> + <div> + <field name="user_ids" widget="many2many_tags" /> + </div> + </div> + + <!-- action buttons --> + <div class="oe_right oe_button_box"> + <button type="action" name="%(goals_from_challenge_act)d" string="Related Goals" attrs="{'invisible': [('state','=','draft')]}" /> + </div> + <group> + <group> + <field name="period" attrs="{'readonly':[('state','!=','draft')]}"/> + <field name="visibility_mode" widget="radio" colspan="1" /> + </group> + <group> + <field name="manager_id"/> + <field name="start_date" attrs="{'readonly':[('state','!=','draft')]}"/> + <field name="end_date" attrs="{'readonly':[('state','!=','draft')]}"/> + </group> + </group> + <notebook> + <page string="Goals"> + <field name="line_ids" nolabel="1" colspan="4"> + <tree string="Line List" version="7.0" editable="bottom" > + <field name="sequence" widget="handle"/> + <field name="definition_id" on_change="on_change_definition_id(definition_id)" /> + <field name="condition"/> + <field name="target_goal"/> + <field name="definition_full_suffix"/> + </tree> + </field> + <field name="description" placeholder="Describe the challenge: what is does, who it targets, why it matters..."/> + </page> + <page string="Reward"> + <group> + <field name="reward_id"/> + <field name="reward_first_id" /> + <field name="reward_second_id" attrs="{'invisible': [('reward_first_id','=', False)]}" /> + <field name="reward_third_id" attrs="{'invisible': ['|',('reward_first_id','=', False),('reward_second_id','=', False)]}" /> + <field name="reward_failure" attrs="{'invisible': [('reward_first_id','=', False)]}" /> + </group> + <div class="oe_grey"> + <p>Badges are granted when a challenge is finished. This is either at the end of a running period (eg: end of the month for a monthly challenge), at the end date of a challenge (if no periodicity is set) or when the challenge is manually closed.</p> + </div> + </page> + <page string="Advanced Options"> + <group string="Subscriptions"> + <field name="autojoin_group_id" /> + <field name="invited_user_ids" widget="many2many_tags" /> + </group> + <group string="Notification Messages"> + <div class="oe_grey" colspan="4"> + <p>Depending on the Display mode, reports will be individual or shared.</p> + </div> + <field name="report_message_frequency" /> + <field name="report_template_id" attrs="{'invisible': [('report_message_frequency','=','never')]}" /> + <field name="report_message_group_id" attrs="{'invisible': [('report_message_frequency','=','never')]}" /> + </group> + <group string="Reminders for Manual Goals"> + <label for="remind_update_delay" /> + <div> + <field name="remind_update_delay" class="oe_inline"/> days + </div> + </group> + <group string="Category" groups="base.group_no_one"> + <field name="category" widget="radio" /> + </group> + </page> + </notebook> + + </sheet> + <div class="oe_chatter"> + <field name="message_follower_ids" widget="mail_followers"/> + <field name="message_ids" widget="mail_thread"/> + </div> + </form> + </field> + </record> + + <record model="ir.ui.view" id="view_challenge_kanban"> + <field name="name">Challenge Kanban</field> + <field name="model">gamification.challenge</field> + <field name="arch" type="xml"> + <kanban string="Challenges" class="oe_background_grey" version="7.0"> + <field name="line_ids"/> + <field name="user_ids"/> + <templates> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_card oe_kanban_goal oe_kanban_global_click"> + <div class="oe_dropdown_toggle oe_dropdown_kanban"> + <span class="oe_e">í</span> + <ul class="oe_dropdown_menu"> + <li><a type="edit">Configure Challenge</a></li> + </ul> + </div> + <div class="oe_kanban_content"> + + <h4><field name="name"/></h4> + <div class="oe_kanban_project_list"> + <a type="action" name="%(goals_from_challenge_act)d" style="margin-right: 10px"> + <span t-if="record.line_ids.raw_value.length gt 1"><t t-esc="record.line_ids.raw_value.length"/> Goals</span> + <span t-if="record.line_ids.raw_value.length lt 2"><t t-esc="record.line_ids.raw_value.length"/> Goal</span> + </a> + </div> + <div class="oe_kanban_badge_avatars"> + <t t-foreach="record.user_ids.raw_value.slice(0,11)" t-as="member"> + <img t-att-src="kanban_image('res.users', 'image_small', member)" t-att-data-member_id="member"/> + </t> + </div> + </div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + + <record id="challenge_list_action" model="ir.actions.act_window"> + <field name="name">Challenges</field> + <field name="res_model">gamification.challenge</field> + <field name="view_mode">kanban,tree,form</field> + <field name="context">{'search_default_inprogress':True, 'default_inprogress':True}</field> + <field name="help" type="html"> + <p class="oe_view_nocontent_create"> + Click to create a challenge. + </p> + <p> + Assign a list of goals to chosen users to evaluate them. + The challenge can use a period (weekly, monthly...) for automatic creation of goals. + The goals are created for the specified users or member of the group. + </p> + </field> + </record> + <!-- Specify form view ID to avoid selecting view_challenge_wizard --> + <record id="challenge_list_action_view1" model="ir.actions.act_window.view"> + <field eval="1" name="sequence"/> + <field name="view_mode">kanban</field> + <field name="act_window_id" ref="challenge_list_action"/> + <field name="view_id" ref="view_challenge_kanban"/> + </record> + <record id="challenge_list_action_view2" model="ir.actions.act_window.view"> + <field eval="10" name="sequence"/> + <field name="view_mode">form</field> + <field name="act_window_id" ref="challenge_list_action"/> + <field name="view_id" ref="challenge_form_view"/> + </record> + + <!-- Line --> + <record id="challenge_line_list_view" model="ir.ui.view"> + <field name="name">Challenge line list</field> + <field name="model">gamification.challenge.line</field> + <field name="arch" type="xml"> + <tree string="Challenge Lines" > + <field name="definition_id"/> + <field name="target_goal"/> + </tree> + </field> + </record> + + + <record id="challenge_search_view" model="ir.ui.view"> + <field name="name">Challenge Search</field> + <field name="model">gamification.challenge</field> + <field name="arch" type="xml"> + <search string="Search Challenges"> + <filter name="inprogress" string="Running Challenges" + domain="[('state', '=', 'inprogress')]"/> + <filter name="hr_challenges" string="HR Challenges" + domain="[('category', '=', 'hr')]"/> + <field name="name"/> + <group expand="0" string="Group By..."> + <filter string="State" domain="[]" context="{'group_by':'state'}"/> + <filter string="Period" domain="[]" context="{'group_by':'period'}"/> + </group> + </search> + </field> + </record> + + + <record id="view_challenge_wizard" model="ir.ui.view"> + <field name="name">Challenge Wizard</field> + <field name="model">gamification.challenge</field> + <field name="arch" type="xml"> + <form string="Challenge" version="7.0"> + <field name="reward_failure" invisible="1"/> + <div class="oe_title"> + <h1><field name="name" nolabel="1" readonly="1"/></h1> + </div> + <field name="description" nolabel="1" readonly="1" /> + <group> + <field name="start_date" readonly="1" /> + <field name="end_date" readonly="1" /> + <field name="user_ids" string="Participating" readonly="1" widget="many2many_tags" /> + <field name="invited_user_ids" string="Invited" readonly="1" widget="many2many_tags" /> + </group> + <group string="Goals"> + <field name="line_ids" nolabel="1" readonly="1" colspan="4"> + <tree string="Challenge Lines" version="7.0" editable="bottom" > + <field name="sequence" widget="handle"/> + <field name="definition_id"/> + <field name="condition"/> + <field name="target_goal"/> + <field name="definition_full_suffix"/> + </tree> + </field> + </group> + <group string="Reward"> + <div class="oe_grey" attrs="{'invisible': ['|',('reward_id','!=',False),('reward_first_id','!=',False)]}"> + There is no reward upon completion of this challenge. + </div> + <group attrs="{'invisible': [('reward_id','=',False),('reward_first_id','=',False)]}"> + <field name="reward_id" readonly="1" attrs="{'invisible': [('reward_first_id','=', False)]}" /> + <field name="reward_first_id" readonly="1" attrs="{'invisible': [('reward_first_id','=', False)]}" /> + <field name="reward_second_id" readonly="1" attrs="{'invisible': [('reward_second_id','=', False)]}" /> + <field name="reward_third_id" readonly="1" attrs="{'invisible': [('reward_third_id','=', False)]}" /> + </group> + <div class="oe_grey" attrs="{'invisible': [('reward_failure','=',False)]}"> + Even if the challenge is failed, best challengers will be rewarded + </div> + </group> + <footer> + <center> + <button string="Accept" type="object" name="accept_challenge" class="oe_highlight" /> + <button string="Reject" type="object" name="discard_challenge"/> or + <button string="reply later" special="cancel" class="oe_link"/> + </center> + </footer> + </form> + </field> + </record> + + <record id="challenge_wizard" model="ir.actions.act_window"> + <field name="name">Challenge Description</field> + <field name="res_model">gamification.challenge</field> + <field name="view_type">form</field> + <field name="view_id" ref="view_challenge_wizard"/> + <field name="target">new</field> + </record> + + </data> +</openerp>
\ No newline at end of file diff --git a/addons/gamification/views/goal.xml b/addons/gamification/views/goal.xml new file mode 100644 index 00000000000..a269f710c02 --- /dev/null +++ b/addons/gamification/views/goal.xml @@ -0,0 +1,289 @@ +<?xml version="1.0" encoding="UTF-8"?> +<openerp> + <data> + + <!-- Goal views --> + <record id="goal_list_action" model="ir.actions.act_window"> + <field name="name">Goals</field> + <field name="res_model">gamification.goal</field> + <field name="view_mode">tree,form,kanban</field> + <field name="context">{'search_default_group_by_user': True, 'search_default_group_by_definition': True}</field> + <field name="help" type="html"> + <p class="oe_view_nocontent_create"> + Click to create a goal. + </p> + <p> + A goal is defined by a user and a goal definition. + Goals can be created automatically by using challenges. + </p> + </field> + </record> + + <record id="goal_list_view" model="ir.ui.view"> + <field name="name">Goal List</field> + <field name="model">gamification.goal</field> + <field name="arch" type="xml"> + <tree string="Goal List" colors="red:state == 'failed';green:state == 'reached';grey:state == 'canceled'"> + <field name="definition_id" invisible="1" /> + <field name="user_id" invisible="1" /> + <field name="start_date"/> + <field name="end_date"/> + <field name="current"/> + <field name="target_goal"/> + <field name="completeness" widget="progressbar"/> + <field name="state" invisible="1"/> + <field name="line_id" invisible="1"/> + </tree> + </field> + </record> + + <record id="goal_form_view" model="ir.ui.view"> + <field name="name">Goal Form</field> + <field name="model">gamification.goal</field> + <field name="arch" type="xml"> + <form string="Goal" version="7.0"> + <header> + <button string="Start goal" type="object" name="action_start" states="draft" class="oe_highlight"/> + + <button string="Goal Reached" type="object" name="action_reach" states="inprogress,inprogress_update" /> + <button string="Goal Failed" type="object" name="action_fail" states="inprogress,inprogress_update"/> + <button string="Reset Completion" type="object" name="action_cancel" states="failed,reached" groups="base.group_no_one" /> + <field name="state" widget="statusbar" statusbar_visible="draft,inprogress,reached" /> + </header> + <sheet> + <group> + <group string="Reference"> + <field name="definition_id" on_change="on_change_definition_id(definition_id)" attrs="{'readonly':[('state','!=','draft')]}"/> + <field name="user_id" attrs="{'readonly':[('state','!=','draft')]}"/> + <field name="challenge_id" attrs="{'readonly':[('state','!=','draft')]}"/> + </group> + <group string="Schedule"> + <field name="start_date" attrs="{'readonly':[('state','!=','draft')]}"/> + <field name="end_date" /> + <field name="computation_mode" invisible="1"/> + + <label for="remind_update_delay" attrs="{'invisible':[('computation_mode','!=', 'manually')]}"/> + <div attrs="{'invisible':[('computation_mode','!=', 'manually')]}"> + <field name="remind_update_delay" class="oe_inline"/> + days + </div> + <field name="last_update" groups="base.group_no_one"/> + </group> + <group string="Data" colspan="4"> + <label for="target_goal" /> + <div> + <field name="target_goal" attrs="{'readonly':[('state','!=','draft')]}" class="oe_inline"/> + <field name="definition_suffix" class="oe_inline"/> + </div> + <label for="current" /> + <div> + <field name="current" class="oe_inline"/> + <button string="refresh" type="object" name="update" class="oe_link" attrs="{'invisible':['|',('computation_mode', '=', 'manually'),('state', '=', 'draft')]}" /> + <div class="oe_grey" attrs="{'invisible':[('definition_id', '=', False)]}"> + Reached when current value is <strong><field name="definition_condition" class="oe_inline"/></strong> than the target. + </div> + </div> + </group> + </group> + </sheet> + <div class="oe_chatter"> + <field name="message_follower_ids" widget="mail_followers"/> + <field name="message_ids" widget="mail_thread"/> + </div> + </form> + </field> + </record> + + <record id="goal_search_view" model="ir.ui.view"> + <field name="name">Goal Search</field> + <field name="model">gamification.goal</field> + <field name="arch" type="xml"> + <search string="Search Goals"> + <filter name="my" string="My Goals" domain="[('user_id', '=', uid)]"/> + <separator/> + <filter name="draft" string="Draft" domain="[('state', '=', 'draft')]"/> + <filter name="inprogress" string="Current" + domain="[ + '|', + ('state', 'in', ('inprogress', 'inprogress_update')), + ('end_date', '>=', context_today().strftime('%%Y-%%m-%%d')) + ]"/> + <filter name="closed" string="Passed" domain="[('state', 'in', ('reached', 'failed'))]"/> + <separator/> + + <field name="user_id"/> + <field name="definition_id"/> + <field name="challenge_id"/> + <group expand="0" string="Group By..."> + <filter name="group_by_user" string="User" domain="[]" context="{'group_by':'user_id'}"/> + <filter name="group_by_definition" string="Goal Definition" domain="[]" context="{'group_by':'definition_id'}"/> + <filter string="State" domain="[]" context="{'group_by':'state'}"/> + <filter string="End Date" domain="[]" context="{'group_by':'end_date'}"/> + </group> + </search> + </field> + </record> + + <record id="goal_kanban_view" model="ir.ui.view" > + <field name="name">Goal Kanban View</field> + <field name="model">gamification.goal</field> + <field name="arch" type="xml"> + <kanban version="7.0" class="oe_background_grey"> + <field name="definition_id"/> + <field name="user_id"/> + <field name="current"/> + <field name="completeness"/> + <field name="state"/> + <field name="target_goal"/> + <field name="definition_condition"/> + <field name="definition_suffix"/> + <field name="definition_display"/> + <field name="start_date"/> + <field name="end_date"/> + <field name="last_update"/> + <templates> + <t t-name="kanban-tooltip"> + <field name="definition_description"/> + </t> + <t t-name="kanban-box"> + <div t-attf-class="oe_kanban_card oe_gamification_goal oe_kanban_goal #{record.end_date.raw_value < record.last_update.raw_value & record.state.raw_value == 'failed' ? 'oe_kanban_color_2' : ''} #{record.end_date.raw_value < record.last_update.raw_value & record.state.raw_value == 'reached' ? 'oe_kanban_color_5' : ''}"> + <div class="oe_kanban_content"> + <p><h4 class="oe_goal_name" tooltip="kanban-tooltip"><field name="definition_id" /></h4></p> + <div class="oe_kanban_left"> + <img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" /> + </div> + <field name="user_id" /> + <div class="oe_goal_state_block"> + <t t-if="record.definition_display.raw_value == 'boolean'"> + <div class="oe_goal_state oe_e"> + <t t-if="record.state.raw_value=='reached'"><span class="oe_green" title="Goal Reached">W</span></t> + <t t-if="record.state.raw_value=='inprogress' || record.state.raw_value=='inprogress_update'"><span title="Goal in Progress">N</span></t> + <t t-if="record.state.raw_value=='failed'"><span class="oe_red" title="Goal Failed">X</span></t> + </div> + </t> + <t t-if="record.definition_display.raw_value == 'progress'"> + <t t-if="record.definition_condition.raw_value =='higher'"> + <field name="current" widget="gauge" style="width:160px; height: 120px;" options="{'max_field': 'target_goal', 'label_field': 'definition_suffix'}" /> + </t> + <t t-if="record.definition_condition.raw_value != 'higher'"> + <div t-attf-class="oe_goal_state #{record.current.raw_value == record.target_goal.raw_value+1 ? 'oe_orange' : record.current.raw_value > record.target_goal.raw_value ? 'oe_red' : 'oe_green'}"> + <t t-esc="record.current.raw_value" /> + </div> + <em>Target: less than <t t-esc="record.target_goal.raw_value" /></em> + </t> + </t> + + </div> + <p> + <t t-if="record.start_date.value"> + From <t t-esc="record.start_date.value" /> + </t> + <t t-if="record.end_date.value"> + To <t t-esc="record.end_date.value" /> + </t> + </p> + </div> + </div> + </t> + </templates> + </kanban> + </field> + </record> + + + <!-- Goal definitions view --> + + <record id="goal_definition_list_action" model="ir.actions.act_window"> + <field name="name">Goal Definitions</field> + <field name="res_model">gamification.goal.definition</field> + <field name="view_mode">tree,form</field> + <field name="help" type="html"> + <p class="oe_view_nocontent_create"> + Click to create a goal definition. + </p> + <p> + A goal definition is a technical model of goal defining a condition to reach. + The dates, values to reach or users are defined in goal instance. + </p> + </field> + </record> + + <record id="goal_definition_list_view" model="ir.ui.view"> + <field name="name">Goal Definitions List</field> + <field name="model">gamification.goal.definition</field> + <field name="arch" type="xml"> + <tree string="Goal Definitions"> + <field name="name"/> + <field name="computation_mode"/> + </tree> + </field> + </record> + + + <record id="goal_definition_form_view" model="ir.ui.view"> + <field name="name">Goal Definitions Form</field> + <field name="model">gamification.goal.definition</field> + <field name="arch" type="xml"> + <form string="Goal definitions" version="7.0"> + <sheet> + <label for="name" class="oe_edit_only"/> + <h1> + <field name="name" class="oe_inline"/> + </h1> + <label for="description" class="oe_edit_only"/> + <div> + <field name="description" class="oe_inline"/> + </div> + + <group string="How to compute the goal?"> + + <field widget="radio" name="computation_mode"/> + + <!-- Hide the fields below if manually --> + <field name="model_id" attrs="{'invisible':[('computation_mode','not in',('sum', 'count'))], 'required':[('computation_mode','in',('sum', 'count'))]}" class="oe_inline"/> + <field name="field_id" attrs="{'invisible':[('computation_mode','!=','sum')], 'required':[('computation_mode','=','sum')]}" domain="[('model_id','=',model_id)]" class="oe_inline"/> + <field name="field_date_id" attrs="{'invisible':[('computation_mode','not in',('sum', 'count'))]}" domain="[('ttype', 'in', ('date', 'datetime')), ('model_id','=',model_id)]" class="oe_inline"/> + <field name="domain" attrs="{'invisible':[('computation_mode','not in',('sum', 'count'))], 'required':[('computation_mode','in',('sum', 'count'))]}" class="oe_inline"/> + <field name="compute_code" attrs="{'invisible':[('computation_mode','!=','python')], 'required':[('computation_mode','=','python')]}" placeholder="e.g. result = pool.get('mail.followers').search(cr, uid, [('res_model', '=', 'mail.group'), ('partner_id', '=', object.user_id.partner_id.id)], count=True, context=context)"/> + <field name="condition" widget="radio"/> + </group> + <group string="Formating Options"> + <field name="display_mode" widget="radio" /> + <field name="suffix" placeholder="e.g. days"/> + <field name="monetary"/> + </group> + <group string="Clickable Goals" attrs="{'invisible': [('computation_mode', '=', 'manually')]}"> + <field name="action_id" class="oe_inline"/> + <field name="res_id_field" attrs="{'invisible': [('action_id', '=', False)]}" class="oe_inline"/> + </group> + + </sheet> + </form> + </field> + </record> + + <record id="goal_definition_search_view" model="ir.ui.view"> + <field name="name">Goal Definition Search</field> + <field name="model">gamification.goal.definition</field> + <field name="arch" type="xml"> + <search string="Search Goal Definitions"> + <field name="name"/> + <field name="model_id"/> + <field name="field_id"/> + <group expand="0" string="Group By..."> + <filter string="Model" domain="[]" context="{'group_by':'model_id'}"/> + <filter string="Computation Mode" domain="[]" context="{'group_by':'computation_mode'}"/> + </group> + </search> + </field> + </record> + + <!-- menus in settings - technical feature required --> + <menuitem id="gamification_menu" name="Gamification Tools" parent="base.menu_administration" groups="base.group_no_one" /> + <menuitem id="gamification_goal_menu" parent="gamification_menu" action="goal_list_action" sequence="0"/> + <menuitem id="gamification_challenge_menu" parent="gamification_menu" action="challenge_list_action" sequence="10"/> + <menuitem id="gamification_definition_menu" parent="gamification_menu" action="goal_definition_list_action" sequence="20"/> + <menuitem id="gamification_badge_menu" parent="gamification_menu" action="badge_list_action" sequence="30"/> + + </data> +</openerp> diff --git a/addons/gamification/wizard/__init__.py b/addons/gamification/wizard/__init__.py new file mode 100644 index 00000000000..638fbef4373 --- /dev/null +++ b/addons/gamification/wizard/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://openerp.com>). +# +# 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 <http://www.gnu.org/licenses/>. +# +############################################################################## + +import update_goal +import grant_badge diff --git a/addons/gamification/wizard/grant_badge.py b/addons/gamification/wizard/grant_badge.py new file mode 100644 index 00000000000..44f739fff4e --- /dev/null +++ b/addons/gamification/wizard/grant_badge.py @@ -0,0 +1,56 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://www.openerp.com>) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/> +# +############################################################################## + +from openerp.osv import fields, osv +from openerp.tools.translate import _ + + +class grant_badge_wizard(osv.TransientModel): + """ Wizard allowing to grant a badge to a user""" + + _name = 'gamification.badge.user.wizard' + _columns = { + 'user_id': fields.many2one("res.users", string='User', required=True), + 'badge_id': fields.many2one("gamification.badge", string='Badge', required=True), + 'comment': fields.text('Comment'), + } + + def action_grant_badge(self, cr, uid, ids, context=None): + """Wizard action for sending a badge to a chosen user""" + + badge_obj = self.pool.get('gamification.badge') + badge_user_obj = self.pool.get('gamification.badge.user') + + for wiz in self.browse(cr, uid, ids, context=context): + if uid == wiz.user_id.id: + raise osv.except_osv(_('Warning!'), _('You can not grant a badge to yourself')) + + #create the badge + values = { + 'user_id': wiz.user_id.id, + 'sender_id': uid, + 'badge_id': wiz.badge_id.id, + 'comment': wiz.comment, + } + badge_user = badge_user_obj.create(cr, uid, values, context=context) + result = badge_obj._send_badge(cr, uid, badge_user, context=context) + + return result diff --git a/addons/gamification/wizard/grant_badge.xml b/addons/gamification/wizard/grant_badge.xml new file mode 100644 index 00000000000..e03dbac4096 --- /dev/null +++ b/addons/gamification/wizard/grant_badge.xml @@ -0,0 +1,33 @@ +<?xml version="1.0" encoding="UTF-8"?> +<openerp> + <data> + + <record id="view_badge_wizard_grant" model="ir.ui.view"> + <field name="name">Grant Badge User Form</field> + <field name="model">gamification.badge.user.wizard</field> + <field name="arch" type="xml"> + <form string="Grant Badge To" version="7.0"> + Who would you like to reward? + <group> + <field name="user_id" nolabel="1" /> + <field name="badge_id" invisible="1"/> + <field name="comment" nolabel="1" placeholder="Describe what they did and why it matters (will be public)" class="oe_no_padding" /> + </group> + <footer> + <button string="Grant Badge" type="object" name="action_grant_badge" class="oe_highlight" /> or + <button string="Cancel" special="cancel" class="oe_link"/> + </footer> + </form> + </field> + </record> + + <act_window domain="[]" id="action_grant_wizard" + name="Grant Badge" + target="new" + res_model="gamification.badge.user.wizard" + context="{'default_badge_id': active_id, 'badge_id': active_id}" + view_type="form" view_mode="form" + view_id="gamification.view_badge_wizard_grant" /> + + </data> +</openerp> diff --git a/addons/gamification/wizard/update_goal.py b/addons/gamification/wizard/update_goal.py new file mode 100644 index 00000000000..cbda3fefbce --- /dev/null +++ b/addons/gamification/wizard/update_goal.py @@ -0,0 +1,44 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://www.openerp.com>) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/> +# +############################################################################## + +from openerp.osv import fields, osv + +class goal_manual_wizard(osv.TransientModel): + """Wizard to update a manual goal""" + _name = 'gamification.goal.wizard' + _columns = { + 'goal_id': fields.many2one("gamification.goal", string='Goal', required=True), + 'current': fields.float('Current'), + } + + def action_update_current(self, cr, uid, ids, context=None): + """Wizard action for updating the current value""" + + goal_obj = self.pool.get('gamification.goal') + + for wiz in self.browse(cr, uid, ids, context=context): + towrite = { + 'current': wiz.current, + 'goal_id': wiz.goal_id.id, + } + goal_obj.write(cr, uid, [wiz.goal_id.id], towrite, context=context) + goal_obj.update(cr, uid, [wiz.goal_id.id], context=context) + return {} diff --git a/addons/gamification/wizard/update_goal.xml b/addons/gamification/wizard/update_goal.xml new file mode 100644 index 00000000000..793efab90ff --- /dev/null +++ b/addons/gamification/wizard/update_goal.xml @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="UTF-8"?> +<openerp> + <data> + + <record id="view_goal_wizard_update_current" model="ir.ui.view"> + <field name="name">Update the current value of the Goal</field> + <field name="model">gamification.goal.wizard</field> + <field name="arch" type="xml"> + <form string="Grant Badge To" version="7.0"> + Set the current value you have reached for this goal + <group> + <field name="goal_id" invisible="1"/> + <field name="current" /> + </group> + <footer> + <button string="Update" type="object" name="action_update_current" class="oe_highlight" /> or + <button string="Cancel" special="cancel" class="oe_link"/> + </footer> + </form> + </field> + </record> + + </data> +</openerp> diff --git a/addons/gamification_sale_crm/__init__.py b/addons/gamification_sale_crm/__init__.py new file mode 100644 index 00000000000..e14c014a1ef --- /dev/null +++ b/addons/gamification_sale_crm/__init__.py @@ -0,0 +1,20 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://openerp.com>). +# +# 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 <http://www.gnu.org/licenses/>. +# +############################################################################## diff --git a/addons/gamification_sale_crm/__openerp__.py b/addons/gamification_sale_crm/__openerp__.py new file mode 100644 index 00000000000..b2ec9a10428 --- /dev/null +++ b/addons/gamification_sale_crm/__openerp__.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://openerp.com>). +# +# 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 <http://www.gnu.org/licenses/>. +# +############################################################################## +{ + 'name': 'CRM Gamification', + 'version': '1.0', + 'author': 'OpenERP SA', + 'category': 'hidden', + 'depends': ['gamification','sale_crm'], + 'description': """Example of goal definitions and challenges that can be used related to the usage of the CRM Sale module.""", + + 'data': ['sale_crm_goals.xml'], + 'demo': ['sale_crm_goals_demo.xml'], + 'auto_install': True, +} diff --git a/addons/gamification_sale_crm/sale_crm_goals.xml b/addons/gamification_sale_crm/sale_crm_goals.xml new file mode 100644 index 00000000000..b48cc8a3117 --- /dev/null +++ b/addons/gamification_sale_crm/sale_crm_goals.xml @@ -0,0 +1,173 @@ +<?xml version="1.0"?> +<openerp> + <data> + + <!-- goal definitions --> + <record model="gamification.goal.definition" id="definition_crm_tot_invoices"> + <field name="name">Total Invoiced</field> + <field name="description"></field> + <field name="computation_mode">sum</field> + <field name="monetary">True</field> + <field name="model_id" eval="ref('account.model_account_invoice_report')" /> + <field name="field_id" eval="ref('account.field_account_invoice_report_price_total')" /> + <field name="field_date_id" eval="ref('account.field_account_invoice_report_day')" /> + <field name="domain">[('state','!=','cancel'),('user_id','=',user.id),('type','=','out_invoice')]</field> + </record> + + <record model="gamification.goal.definition" id="definition_crm_nbr_new_leads"> + <field name="name">New Leads</field> + <field name="description">Based on the creation date</field> + <field name="computation_mode">count</field> + <field name="suffix">leads</field> + <field name="model_id" eval="ref('crm.model_crm_lead')" /> + <field name="field_date_id" eval="ref('crm.field_crm_lead_create_date')" /> + <!-- lead AND opportunity as don't want to be penalised for lead converted to opportunity --> + <field name="domain">[('user_id','=',user.id), '|', ('type', '=', 'lead'), ('type', '=', 'opportunity')]</field> + </record> + + <record model="gamification.goal.definition" id="definition_crm_lead_delay_open"> + <field name="name">Time to Qualify a Lead</field> + <field name="description">The average number of days to open the case (lower than)</field> + <field name="computation_mode">sum</field> + <field name="condition">lower</field> + <field name="suffix">days</field> + <field name="model_id" eval="ref('crm.model_crm_lead_report')" /> + <field name="field_id" eval="ref('crm.field_crm_lead_report_delay_close')" /> + <field name="field_date_id" eval="ref('crm.field_crm_lead_report_date_closed')" /> + <field name="domain">[('user_id','=',user.id),('type', '=', 'lead')]</field> + </record> + + <record model="gamification.goal.definition" id="definition_crm_lead_delay_close"> + <field name="name">Days to Close a Deal</field> + <field name="description">The average number of days to close the case (lower than)</field> + <field name="computation_mode">sum</field> + <field name="condition">lower</field> + <field name="suffix">days</field> + <field name="model_id" eval="ref('crm.model_crm_lead_report')" /> + <field name="field_id" eval="ref('crm.field_crm_lead_report_delay_open')" /> + <field name="field_date_id" eval="ref('crm.field_crm_lead_report_opening_date')" /> + <field name="domain">[('user_id','=',user.id)]</field> + </record> + + + <record model="gamification.goal.definition" id="definition_crm_nbr_call"> + <field name="name">Logged Calls</field> + <field name="description">Log a certain number of calls to reach this goal</field> + <field name="computation_mode">count</field> + <field name="suffix">calls</field> + <field name="model_id" eval="ref('crm.model_crm_phonecall')" /> + <field name="field_date_id" eval="ref('crm.field_crm_phonecall_date_closed')" /> + <field name="domain">[('user_id','=',user.id),('state','=','done')]</field> + </record> + + <record model="gamification.goal.definition" id="definition_crm_nbr_new_opportunities"> + <field name="name">New Opportunities</field> + <field name="description">Based on the opening date</field> + <field name="computation_mode">count</field> + <field name="suffix">opportunities</field> + <field name="model_id" eval="ref('crm.model_crm_lead')" /> + <field name="field_date_id" eval="ref('crm.field_crm_lead_date_open')" /> + <field name="domain">[('user_id','=',user.id),('type','=','opportunity')]</field> + </record> + + <record model="gamification.goal.definition" id="definition_crm_nbr_sale_order_created"> + <field name="name">New Sales Orders</field> + <field name="description">Based on the creation date</field> + <field name="computation_mode">count</field> + <field name="suffix">orders</field> + <field name="model_id" eval="ref('sale.model_sale_order')" /> + <field name="field_date_id" eval="ref('sale.field_sale_order_date_order')" /> + <field name="domain">[('user_id','=',user.id),('state','not in',('draft', 'sent', 'cancel'))]</field> + </record> + + <record model="gamification.goal.definition" id="definition_crm_nbr_paid_sale_order"> + <field name="name">Paid Sales Orders</field> + <field name="description">Based on the invoice date</field> + <field name="computation_mode">count</field> + <field name="suffix">orders</field> + <field name="model_id" eval="ref('account.model_account_invoice_report')" /> + <field name="field_date_id" eval="ref('account.field_account_invoice_report_day')" /> + <field name="domain">[('state','=','paid'),('user_id','=',user.id),('type','=','out_invoice')]</field> + </record> + <record model="gamification.goal.definition" id="definition_crm_tot_paid_sale_order"> + <field name="name">Total Paid Sales Orders</field> + <field name="description">Based on the invoice date</field> + <field name="computation_mode">count</field> + <field name="monetary">True</field> + <field name="model_id" eval="ref('account.model_account_invoice_report')" /> + <field name="field_id" eval="ref('account.field_account_invoice_report_price_total')" /> + <field name="field_date_id" eval="ref('account.field_account_invoice_report_day')" /> + <field name="domain">[('state','=','paid'),('user_id','=',user.id),('type','=','out_invoice')]</field> + </record> + + + <record model="gamification.goal.definition" id="definition_crm_nbr_customer_refunds"> + <field name="name">Customer Refunds</field> + <field name="description">Refund the least customers (lower than)</field> + <field name="computation_mode">count</field> + <field name="condition">lower</field> + <field name="suffix">invoices</field> + <field name="model_id" eval="ref('account.model_account_invoice_report')" /> + <field name="field_date_id" eval="ref('account.field_account_invoice_report_day')" /> + <field name="domain">[('state','!=','cancel'),('user_id','=',user.id),('type','=','out_refund')]</field> + </record> + <record model="gamification.goal.definition" id="definition_crm_tot_customer_refunds"> + <field name="name">Total Customer Refunds</field> + <field name="description">The total refunded value is a negative value. Validated when higher (min refunded).</field> + <field name="computation_mode">sum</field> + <field name="condition">higher</field> + <field name="monetary">True</field> + <field name="model_id" eval="ref('account.model_account_invoice_report')" /> + <field name="field_id" eval="ref('account.field_account_invoice_report_price_total')" /> + <field name="field_date_id" eval="ref('account.field_account_invoice_report_day')" /> + <field name="domain">[('state','!=','cancel'),('user_id','=',user.id),('type','=','out_refund')]</field> + </record> + + + + <!-- challenges --> + <record model="gamification.challenge" id="challenge_crm_sale"> + <field name="name">Monthly Sales Targets</field> + <field name="period">monthly</field> + <field name="visibility_mode">ranking</field> + <field name="autojoin_group_id" eval="ref('base.group_sale_salesman')" /> + <field name="report_message_frequency">weekly</field> + </record> + + <record model="gamification.challenge" id="challenge_crm_marketing"> + <field name="name">Lead Acquisition</field> + <field name="period">monthly</field> + <field name="visibility_mode">ranking</field> + <field name="autojoin_group_id" eval="ref('base.group_sale_salesman')" /> + <field name="report_message_frequency">weekly</field> + </record> + + <!-- lines --> + <record model="gamification.challenge.line" id="line_crm_sale1"> + <field name="definition_id" eval="ref('definition_crm_tot_invoices')" /> + <field name="target_goal">20000</field> + <field name="challenge_id" eval="ref('challenge_crm_sale')" /> + </record> + + + <record model="gamification.challenge.line" id="line_crm_marketing1"> + <field name="definition_id" eval="ref('definition_crm_nbr_new_leads')" /> + <field name="target_goal">7</field> + <field name="challenge_id" eval="ref('challenge_crm_marketing')" /> + <field name="sequence">1</field> + </record> + <record model="gamification.challenge.line" id="line_crm_marketing2"> + <field name="definition_id" eval="ref('definition_crm_lead_delay_open')" /> + <field name="target_goal">15</field> + <field name="challenge_id" eval="ref('challenge_crm_marketing')" /> + <field name="sequence">2</field> + </record> + <record model="gamification.challenge.line" id="line_crm_marketing3"> + <field name="definition_id" eval="ref('definition_crm_nbr_new_opportunities')" /> + <field name="target_goal">5</field> + <field name="challenge_id" eval="ref('challenge_crm_marketing')" /> + <field name="sequence">3</field> + </record> + + </data> +</openerp> diff --git a/addons/gamification_sale_crm/sale_crm_goals_demo.xml b/addons/gamification_sale_crm/sale_crm_goals_demo.xml new file mode 100644 index 00000000000..fd69c36162f --- /dev/null +++ b/addons/gamification_sale_crm/sale_crm_goals_demo.xml @@ -0,0 +1,23 @@ +<?xml version="1.0"?> +<openerp> + <data> + + <!-- challenges --> + <record model="gamification.challenge" id="challenge_crm_sale"> + <field name="user_ids" eval="[(4,ref('base.user_demo'))]" /> + <field name="state">inprogress</field> + </record> + + <!-- goals --> + <record model="gamification.goal" id="goal_crm_sale1"> + <field name="definition_id" eval="ref('definition_crm_tot_invoices')" /> + <field name="user_id" eval="ref('base.user_demo')" /> + <field name="line_id" eval="ref('line_crm_sale1')" /> + <field name="start_date" eval="time.strftime('%Y-%m-01')" /> + <field name="end_date" eval="time.strftime('%Y-%m-31')" /> + <field name="target_goal">2000</field> + <field name="state">inprogress</field> + </record> + + </data> +</openerp> diff --git a/addons/hr/hr_demo.xml b/addons/hr/hr_demo.xml index 17059f217f5..98794a86f22 100644 --- a/addons/hr/hr_demo.xml +++ b/addons/hr/hr_demo.xml @@ -182,7 +182,7 @@ If you have development competencies, we can propose you specific traineeships</ <field name="work_phone">+3281813700</field> <field name="mobile_phone">+32486571630</field> <field name="work_email">john@openerp.com</field> - <field name="image">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</field> + <field name="image">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</field> </record> <record id="employee_niv" model="hr.employee"> @@ -194,7 +194,7 @@ If you have development competencies, we can propose you specific traineeships</ <field name="work_location">Grand-Rosière</field> <field name="work_phone">+3281813700</field> <field name="work_email">michael@openerp.com</field> - <field name="image">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</field> + <field name="image">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</field> </record> <record id="employee_stw" model="hr.employee"> @@ -210,14 +210,14 @@ If you have development competencies, we can propose you specific traineeships</ </record> <record id="employee_chs" model="hr.employee"> - <field name="name">Devid Simpson</field> + <field name="name">David Samson</field> <field name="department_id" ref="dep_rd"/> <field name="parent_id" ref="employee_al"/> <field name="job_id" ref="hr.job_developer"/> <field name="category_ids" eval="[(6, 0, [ref('employee_category_4')])]"/> <field name="work_location">Grand-Rosière</field> <field name="work_phone">+3281813700</field> - <field name="work_email">devid@openerp.com</field> + <field name="work_email">david@openerp.com</field> <field name="image">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</field> </record> @@ -243,7 +243,7 @@ If you have development competencies, we can propose you specific traineeships</ <field name="work_location">Grand-Rosière</field> <field name="work_phone">+3281813700</field> <field name="work_email">jack@openerp.com</field> - <field name="image">/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBhAQEBQUDxQUFRQUFBQQFRUUFBQVFRQUFBQVFBQUFRQXHCYeGBkjGRQUHy8gIycpLCwsFR4xNTAqNSYrLCkBCQoKDgwOGQ8PGSocHBwpKSwsLCosLCwsLCkpKSkpLCwpKSwpLCwsKSksLCkpKSksKSkpKSkpKSwpKSwpLCksLP/AABEIAOEA4QMBIgACEQEDEQH/xAAcAAEAAgMBAQEAAAAAAAAAAAAAAQUEBgcDAgj/xABEEAABAgMFBQUEBwUHBQAAAAABAAIDBBEFBhIhMUFRYXGREyIygaEjQlKxBxRygtHh8DM0c5LBFRZiorLC8RckQ1PD/8QAGgEBAAMBAQEAAAAAAAAAAAAAAAEDBAIFBv/EACQRAQEBAAIBBAMAAwEAAAAAAAABAgMRIQQSMVETIkFxsfBh/9oADAMBAAIRAxEAPwDb0UovReWhFKIIRSiCEUoghFKIIRSiCEUqHuoKnIDOpQEWvTN9IAcWwQ6MRkTDHcB3YjqeVVgRb8RK92G2mlCTXzrT5Li8mYsnHq/xuCLUTeyZFPZw8xUan0Dqr2ZfTC6kVjTxY41/keASOIJXP5sfbr8O/ptCKjh30k6gPeWFxoA9pzPAioKuYMdr2hzHBzToWkEdQrJqX4VXNny+0UopQhFKIIRSiCERECiIiCUUogKFKICIiAiKVAhERARFD3ACpRI51BU7FoV+LaEWkJsQCG04ntr+0I0xbcA3e8eWfhei+ZLyyHUsFWihpjNOuWn6C16zLPizcUNpUDvONAGjhlw3b9Vj5eb6+G3h4PPn5fcpBFKg4gQQ0BuBoA96p0HHIZ6rIlpB0XusDsQzr3iByAz9CtpFlw5dnhxxSKNbTwgDWmz9cVVRrnTEUF8Z2AE++6lfuhYvzSvQ/B1FNaVIFQYoiHZgc5tCDo4PaP0FRR7QxCg+Xr+atrQu7DZXvhx30dSqo3We6uWfEadVZnUqrWLHwJlwFD3m7jmPyVtZlqOZQwnxGOA915add1aO2ahVbrPeM6ef4rzLHNzGxW5118KtY+3SbH+kCIKCOBEHxNAbEHMeF3+XzW7SFowo7McFwc3Q7CDucDm08CuENnKgHR22iuLDt6JCeHwnUdpn4Xj4HjaPUbFoxy/bLvh+nZ0VdYVuQ5uEHtycDhewnNjxqDvG0HaFZLRL2zWdIRSikQilEHyilEH0iKVAhFKIIRSiCEUoghFKIIWpXutcGsFpoKBz3V1bWmBvM0z014rYrXnexgviHPC2oG87B1XIPrxiTOGISTEcMfHOuXDcs/NrqdRo4Md33V9R2vixGtgto4gMH+AaZE+p1Oyg16bdSwIcvCDRm45ucdXO3rT7rymOaiOBqAcjuBzXSZSgAqQOZ1Xj+o3bfbHtcGZJ7q9YNntaS6gxHaV4zF2xGNYsR32RSnnvWcyK3YQsqtRks07aK103Dlj4nRHc35dAFEW58uG0pX7VMvRX4aV5RQuruomWpxbnQuFOQcT5kKtnLrwhWo14aLcY4oqibinMLn36+3ftjk1u2H2DyR4a6DZXTyKqWsINW8yK68QFu96oQ8XkaHfwWlwG1fnnz3E0PzXp8O7c+Xm8+ZNeGz3UvD2MeEfciOEN/M5NJ4hdbhuqKr8/QGua5oGpiMpxIOS73Z7qw2ngB6Bb+K9vN5s9dVkIiK9nFClEEIpRBKIiAiKVAhEUqRCKUUCEUqEFLfKJhkoxGxvzIC4hHmD2lRrUEEcNF176S5sskSB78RjfIVcf9IXOrn3dM5MAOHs2d554fDzOiyc+pL3W30+bZ02GxXvlZJjgPaRe8CRo33fRVM2yafV/tHHUkVW5Xks2OaGDCxhooACAAORWmTc3aLT4Xcm588gajovPxrvzOvL1N56nVeMjeuZgnxO+fUVW+Xcv52oo/I/NcqizznOLnijic9hrxC3j6PrtGaJiu7sNpw6eI6nyCc2Z13UcN89SukS9vila9VL7bY7ctGv2XSob2ZyrQHyWhRLYmK1Dz1VGOK7nyv3yTH8dvdOAjIqvm4oAXJpS981CcCHHkRUdCtxs2+MOaaWOGGJhqNzqahN+n1ny5xz514+FPeGea9zgKVBpnUV5LWGOIxHp8x65qwtSL33HXPaqSIRWg/JbeLPUZObXdWEnEMSYg/xGmm+lKfJdzs2HhhNB3V65ri9yZcRJ6C06Al3RpP8ARdxYMlu4Z/Xnc9+IlERXswiIghSiKRKKaIoEIpRBCKUQQilEEIpRBq99my0VsODMOc0kl7S2mRDSBXI5VOzcvq59jNloDWjV1HOO8nT0+aw7ySJfOQnOIw+EN2mlXOJG7Z5rYZJeH6nlurf++H0Pp+GYzmf3r/flbwYAOoWDaF0oEUgltDyCsJeJRekecAaTuBPQLJlrsaxMXMk6ARWB+HSuXqM6cFcykJsKFhYA1tKANFABuAWo2h9IsqIgYCS4mlaZBJz6R6tDAyoGhpTqV17d357O8xT3/MSY7jBmwF9N9N3lVczMQrqsnGExE7UHc1w2tO9fNsfRm2M4xJZwY45lp8JO8U05K/i5Zj9dM/LxXf7RzGDEDtVmQ4RY4OZqCs22LqTEsfbQsvib3m+miwJaKRkVqllncZLm58VkTryQTt1VQSrmdb3CVSFy7yr0u7oTZhzsJwz74bTeHd0joSu8t0X58sJxbMQiNe0aehX6DY2gWrh/rHzzzEopRXsyEREEKURBKlEQQpREBERAREQEREGs2iMU3oaMhkAkZVLjUA8BRWcu7JYs+72pzB4bua9IL6V4L5/nn7X/ADX0nBf1nf1P9LKDF36LJMUUoOS0e8FvTDCGy0J8Q+8Wsc4DovmWvJOuA7OVine50N2vAUCrzx3rtd7u71GDbtxYUGFEfDc8uALwXYTpnTILQJycdEFDltyK6bGvq+GcE1D+6+GWfr1Wi2zKyz3F0ribUkmG41GfwOp6HNauLV+NM/Nx2eYi69pGHEY0vOb2t40JGR4LtkqQAuKWLYkSK9pAoA4VcctDs2ldXiTuFuqo9TJ3OlvprbnyzrRDXDOnmudXpsKEPaQgAQe8BoeI4q+n7bptWs2vaJfyUcE133Dm9vt6rXrTNIXMgKjw5q6tAYqNCxpeyHPcGtIxEgAczRejHm2WrW4lkOmZxlPDDPaO3Ub+JoPNdwWv3LsASkuGlgDzm91QcR57uC2FbePPtjz+XXuqEUorFaEUogiiIiCVKIgIiICIiAiIgIiINdvAQyK00pibUneQaVPlRYDrR3bVm32hkQ4bx7ri08nCv+1avJxcRXk+q4/2tev6Tk/SRtMlOhrePqq+17x9mKgaZhe8pJ4gvSPc8RfE4gcCsMkl8vRm7J4a7/1GMQYI8NkRpyIe0OHU5qpnpeUjV7BvZP1ADiWebTp5LNvLc0w6ughxI2HOo4LVGxDWm3Sm1a8yXzlTeXXxqSvSFa0SFEAdiDmmlNR1W6PtIlnltVZZLIJo6KxpLdCRmDwUTs6xtadFXvrV66Mfr57YVpTZJ1WG+NULzjRMTiVJh1FAtGc9Rm3rusF0arjU0zotiuFIGLaDaaQ6vPJop6khUcCynxXhrc6mgAzqcgKcSuv3QuwJKEcVDFiZvI0G5g4BX8efdr/Cjk37MX7q+ARSi2vNQilFIhFKKBCKVCkfSIpQQilEEIpRBFEopRQIRSiCgvof+1++3+q58yKWOqFv99RWXp97pRaAyjgsPNe9WPR9POsS/bY5W3w1o2L2/ve0ZVK1oQQRn1Xm6A1ZLxZrbN2Rs/8AeVr8q9SFT2x2L86NxfEKBVEaW3LCiBw2lJxdXuUvJ466e0ebDRRqwi8nVfJUK2Z6VXVr1Y1e2QFSQKmgr6ryghbhc667ZiII0YVZCNGtOjn5GpG4ZKzObq9Kd7mZ3WZcO7LmvEeIKNaKQgdXEjOIdwoSBv13Le1ICLdnMzOo8/e7u91CKUXThCKUQQilEEIpRBKKUQQpREBERAREQEXjHnGM8Rz3DM9FTWjedsMV7rRvcc/11XOtzPy7zjWvh7W/CEQYDtYR5nRcwa4tdTcadF0SXmDFhtiGpxjEK64T4cuVCtFvFL9nMO3O7489fWq8v8nv5NPXnH7OPL0gRgV6vhgqohxaaL2ZPqbEyvaNL8Sq+NAWS+fWLFmlM7L0xYjKLyX1GmFiuirqK6zpdy7FdSS7KUhja5uM83Z/Ki4vKvzXcrHtCDGhNMCI17QAKtOlBShGrTwK08M8sfqL4ZqKUWlkQilQgIpUIChSiJQimiIJRSiIQilEBFURb0S4c9rHY3wyGuDaZE11PkVjRLXiPqPDnho38TmuNbkWZ49VcTM8yHqc9w1/JVE5bLyMu6P17yrp2cZCFcgBmSVqjbQiWhHwNJEFmbjpi3Dz/oqNclrRnik/9Xk9NxSPZBpJ95zgGjjlUlUErdqctCK8AhzIZ9pEqcDamha2urtlAFZzpJLYECpe6jBhFSKmmQ2uOgXYLrXXbJSrYVASQO03HLQcs89pJO1VdeF88NVbLBrQ1ooGgNHADILWr32TjhY2jvMqTxademq6bOXcDs4RH2XZHyKo5uw4zahzDTQ5VHULzbnfHrux6M1jc67cUI8l8PaeBV7eCyvq8VzXCg1aTlkdFSua3eOq2y9ztluer0xX4h/z+S8HvduWW8jf6rGiRWj3l05Yz8S+Qxe4a5/ga53IFZkvYMZ3iAYOOZ6BdyWq7YwqmlGipOQ5rzsS1IsvFD4bixzTSo+RG0cCttkrBwA4WkupTE7LpXRV4ujDEQmLFOZqGQxUnzP9Au+vb/Vfy6Vdm+sCaaGxHNhx9HMJoHHfDJ1B3aj1V7FnoTPE9o5uC5vKSbWfsoTGbMTwXO6ZkHosmbkiWFz3vO3Y0eQ/NWTmqm8EdEhxA4AtIIOYINQRvBX0sSyIAZLwmjZDYP8AKCfVZi0MyEUqEBERAoilEQIpUOcBrkgKovbPvgScV0IExC3s2BoJON5wigG4EnyX1a15YMu2pOJxya0audsAVDHtSJEGOOQ1uoaDkBxVW+SSeF2OO291pFxmOxRi7/CDXWtSVtU1bDIQxPOhxU25ZqhtW1mMc7swG17ziBTOmRPHMnotTmp58dwa2pqaAalxJ3c9izta0tK1Y0/HDIQycchs4k8AFtDmw7PlsLc3bTte87f1oAviwLGbJQsT6dq4d4/CNcIO4bTtPJZ92brRbWmC4ktgwyKuIrWu7/EaeShLcforujhhCdj5xotXMB0hw60FB8RpruoN66K14K85SUZCY1jBRrGhg5NFB8l6OYCg840sHcFhRTGh6d4LP7M7D1UHFtAKkateCIJiFhiw9DUFzdPNabGu3KnVjD91q6pGlmuBDmmhBB12rll5LImJV5qCWHwvANCNx3Fd5RVbFutKj3GfyheX9kyzdGN8gAsSLMRdzuhXzDgR3mga814Lvpz2yYhhN8ICxg50VowPwUJzazUbNaFbTYX0azMajpj2TOObzybs8+iwLxSMvKzHZyzy9lM9uGJ7zQ4a1oDwIVenUUzITdHuiv50Hl3QD6rOl5JoGTQ0bhl1pqV7QRUj9fJexyVaXyxgGgVPeW0xChkK3xLR7Wkos1HMMHId953MB1PHcEiHV7AtqU+rQg+JGe4MaHPo1wcQNeSy323KnwOf99tB1FfkuXWMTKRjAcaw3DHCJ3HVvMLZQV3N6n9c3Gb/ABucGIXirWPI3tGMdYZPqvQ8ajmCPQrTocYtzBpxBoeqyoVtzDfDFiDhiJHQruc1V3hn8bOioYd5I3vBjuJYAerKL3g3gGfaCg3g5ev4qycsqu8Op8LdFW/3gl/jP8rvwUrv3T7V+zX0+bRtkMdgZQu2nYOHNVEzPudm4lVEjFc6hcauc3tDzea08hl5LJjCtBv15LLrdrXnEyxIcrjeYsXXMMGxjfxO9YttzfYwzEicobNx+IjfuGz5XbQAPlw4rm987W7aPgae6zLmdpXLtTTU66Kc99aLd7qXeEuztow9oR3Wn3Af9x9B5qtuXd/Ee3ijut8AO1w988B8+S3WxrKj2pFLJY4ITfHHIqNaUh7zkc+BppVEsWVsiPaMcQYO8do73WM4/ht812qw7GhScBkGCKNaMztc7a48SvK7t3YEjBEKAMtXOObnu2ucdpVogIiICIiAoc0HI5qUQYMSw5Zxq6DDJ+wF7y8jCh/s2Mb9loHyXuiAtDvtcTtA6NKt73idDHvbSWceHRb4iDhEnMfFlQ589/LfuPNZrYYdnUnhsW4X4udWszLN74ziwwPGNr2j4qajbzWkwX1GRy2cOB4buiWD4mpwMcGMa6JEPuN0aN73aMHPM7AV5SVmhhe+JQviGppWgpo1tfdFTzqTlos+E6nhaANTTad/FREYoFJeKynPhYmULoR7VooakDxMFNaj5BZojAw2PaBhLQ4YQBlrsVg7fvVbZLA1r4R/8by1v2Hd9noaeSDMhxAQCMwcwV9KhfOmUi4YlexiHuu/9btx4K77Ubx+I4IPTEvCdZihvbvaR6L1ruXnGdRp5H5IhifUIe4IsP8AtBSgz5PJxHBrf5QFmw27Vhtb7XLaKrLjPpkEFbeK1hAgudtPdatFu7Yxm43frgacTzvro0cT+KsL3TRixmQoeZqBTeTkFewpdsnLBjc3EZke892XzyHAKUvXsnTcUS0DKE3C1+DIvJyZCbuB+We5dzu7YjJOXZCYAKCriNrqZ+Q0HABan9F90uxhNjxR33Vcyo+LxRDxOg4c1v6AiIgIiICIiAiIgIiICIiAuU33sT6pMh8MUhRiTQDJrj4mjdnRw5rqyo752SJmTiNNMTR2jPtMz9RUeaDmMF9dOX5BfbtTxzXhJDKp113c6edVkRXZ1UBD0WDEh4Y4PxtLDzb3mehf0WY11CsSddo74XNd5VofQlB52nItjMLH6OHmDvHFUl3LUdBiGVmNW5MJ0cNgz2EZhX7YhxFp35c1QXus0uYI0Pxw88tSzU9NeqDZfqrdW1by0826dKLHtElrDXdqND+CxLs28I0MYvEBR3Gm1V1vXgJmRBZXCBR1BWpI9AK1QYPaovDEi6c9N3guGRO5Y05Hwtc48f10qvtjcLQNwA6BUN6ZkhgYNXkMHNxpl5fNQljXWkDFivmYmlSIdehdyAy8zuW2XWsX6/Psa6vZwvbxOQyY3mf6lVkwGshtY3IUDcvhFB+C6n9GFjdjJCK4d+ZPbHhD0hD+XP7yJbe1oAAAoBkANABsUoiAiIgIiICIiAiIgIiICIiAoc0HUVUog5Fash9WmosOmQdVu3uuzHzHqsOLptyW3/SPI4XQo42+xeedSw/PoFqDnc/z/wCVFHyHVHELwmhVp5FTWhqvmPE7qDyxd7yB65r7ikEZ6HUfMLw2j7LfSoUxXUQalZlZeZcwVDXd5lfhOn4eSyZWXP1qZeeH+bM/Je9uS2UN7dWOw/dK9JiKGQYr9paD54aBBQ/2o3d6oqOiKR1ty1m8n7xA/it/0tREQz7Q/wDmV3yw/wB1gfwYX+hqlESzUREBERAREQEREBERAREQEREBERBq30kfuJ/iQ/mVz4+I/raiIl4u2rGmPCpRQh8O1H2f6lfMbYiIKy0/2R+0sO1P3V/2G/7kRBpyIikf/9k=</field> + <field name="image">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</field> </record> <record id="employee_fpi" model="hr.employee"> @@ -255,7 +255,7 @@ If you have development competencies, we can propose you specific traineeships</ <field name="work_location">Grand-Rosière</field> <field name="work_phone">+3281813700</field> <field name="work_email">martin@openerp.com</field> - <field name="image">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</field> + <field name="image">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</field> </record> <record id="employee_jth" model="hr.employee"> @@ -267,7 +267,7 @@ If you have development competencies, we can propose you specific traineeships</ <field name="work_location">Grand-Rosière</field> <field name="work_phone">+3281813700</field> <field name="work_email">jimmy@openerp.com</field> - <field name="image">/9j/4AAQSkZJRgABAgAAAQABAAD/2wBDAAUDBAQEAwUEBAQFBQUGBwwIBwcHBw8KCwkMEQ8SEhEPERATFhwXExQaFRARGCEYGhwdHx8fExciJCIeJBweHx7/2wBDAQUFBQcGBw4ICA4eFBEUHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh7/wAARCADIAMgDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD2aiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooplxKkELzSMFRFLEk44oegIfXPeIvF+j6MGSSbz5h1jiIOPqe1eVfE74tXCmax0fdDGpIMin5m/GvF73xZq92HRGZS2QzHrWEqrfwnRGj/MfQN78VLxZ32xWsEf8AACdxYVlap8RNZv4W+zXflgDOIxj9a8MspruWRVeRiOuCa0bPVZraYwSKTG3GfesJOT6nVGnFdDtp/iR4jt54lTUpmbOOvb3rovD/AMXdVW8iW8kSWMDDI4AYmvK4hHOkqmMsMcMc5qs0crsPJMpkX36D096FITpLsfTnhz4m6Vfv5N+htJPXqorureaG5hWa3lSWNhlWQ5Br5BsLi5aIW86OJduUkB5GOma7bwH441qwhNgbonYflXaDz9O9aKu18RjLDp/CfRdFct4D8WReIIWgnCRX0Qy6Dow9RXU10RkpK6OaUXF2YUUUVRIUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV5n8bPEZtrP8AsO3kCvMAZSOuOwr0yvnj4nR3GvfFG40u1c8ssZI/hAA3GsMRK0DfDx5pnL2Hh251uF5IlDR7sBz3NTW3w11AyHfJGFJ9a9Z0/T7XTrKKzt0ASNQBxVhY8ngV5Uq8lse9Tw0WtTz3S/hsqfNc3Cqe20VoH4d6cWBaUtj2rtljJOc08pzWTrSZ1KhBI5AeDNNjgMewnjqDWRq3gq2aFjbloz2INehyIQCKqyJgbaaqS3FKlG1rHguoaZPp10Y52KMOVbPX/wCvUWnefBMXL5JOckcj/GvWvGGiRahp0uYgZF5U4ryV4TazleAQdvTg12U58yPNr0uSR33gLXpLHxhYTyybY8hJXB6qeua+jwQwDA5BGQfWvknw/cH7SJnAzGQMetfVeizC40eymCbA8CEL6fKK6cO7SaPOxK0TLdFFFdZyBRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABXjejWcbeMfEerkAt9qaKP2Ga9krzGK18nVNeVQApvyR+IB/rXHjb8iO3A29oAdi+TVyLBXIqKFFzjIqzEoxgYryGmz6ODVgQnGARSkgdeaUhV7gUxrqyj5luIkyP4mxRys0ugcZPsaqXWVYU2713S4Tt+1xuewVs1Qk16xlbYWYZ6HHFPlZnzomu3X7NICMgqc14z4pjEd+y44LE8HmvY1KtnBDKw4rzL4n6YNPnS8jbEUjY57Gt6D96xyYqN43Oc0W9MWrRRMVZGdQx+p719eaE4fQ7BhnBt4yM/7or4ot5CmspIpOGcKR6k19m+EJ45vDmnqsis6WyK4B5BA716NJWmeLWu4mtRRRXUcgUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAV5P8TZWttSlt7TUoYPtEnmSHcMg4Ax+leheL7PVr/wAP3Npol8tjfSABJmXO0Z5/MV5x440r+ybO2tdOtN1y1uoYHlnk7lj3PWuXFfAdmCt7Q4a7GtLOGtdeV17KCRXReH/EE8UkVvfS7pScbum7/GuSvtI166tEaS8kWYht8e/YiehBHWoItFvJvIt3kkZpJQpYNyoLdQevArhlFW1Z7MJSUtEz1nUXuTbs8ePL25z0rzrVJrLUJRC95KyKeXUnafxrr9a8NWB8PS20Sy+b5RCMZnJzj61xmk6PLc6cUuYzG6se3JFZwta9zomm3Zl7T5vCmilWZ7aaY87pJ1JrVOvabJEZIbeIxjqUZWwKzLvw/a38NvDOsluIRtzEpXcM55x15oj8JaXCweKOVQigDqAffFU+Te5ko1YuzSsX7fxLZ+ebe1zcSdQidqy/H1rfar4anubmKNFgIkWLuT7mt3w3oVrp8H7iFVkIAZ8ct9am8S2r3GhX1svLPCwUepxxShOKasTUpylF8zOG+FWk29xZ/wBrXMCSyhykQI4X3xXpmh3Fzo/iuB3mkMcw2upbII+lcX4DW70/wrBLBb+b8zOVcEZGece9dfayJq17ptxEuxxMqMufWqlN890b4ekvYWktLHrppKU0leyj5N7hRRRQIKKKKACiiigAooooAKKKKACiiigArhfHyM+oYUAnyxj2ruq4vxkf+JtyP4BXJjf4Z35ck61jhntmLbQi/Xmp9PscX0bEDjnGOBWq/ljPAzWcdbsLPUorW4kRJJT8mSPmx2ryYttn0jikjR1aRo9pz8o7VUtYIrlzJDj5vvY9ag1/xJpUdxHbTyRR+adqs7gA0y2nSz1CBoWBWU7WAPBzVNOxpozWS3liOAOPpVhbQyqS4471aQgjkc+tPJCq3pWa1FKyRQmRYojtA46Vj3kuFLFjzWnfSqSVBrDvCWbtxWkFqclWehZiu4o4Le2QZlcHYgHWtPwHp7PrEKsMmNzLKR0yOgFZ+mSIi7iyqQMDPUV6D4N0/wCzWbXTptefkAjB2/8A163oU+eoiK+I9jh33ZvUUUV7B8uFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFcT49PlanFJ2aMfzrtq5H4kQn7NbXIHCsUP49K5sXG9JnXgp8tZHH3UynABw3rWFrGnRXN1HcMqs6+ozj/CtK+huDbCa1VXJ4IY9KxpdT1WCZYU0wM5A+bdkH6V48F1PqIyvoPOjJcMUurdJQenmRg8A1taTpkENws8khdk+6Oip9BVBdT118hNO2PjqVGP50qan4hcbRptuxPGd2K0d2aqLijqTcqhyWBFI91lCF444rnba11m4n827kgiQf8s4wT+tbMieTEqZyQtYNWdjGT7lW4lYqzZyazpDhckH2q9clfJyDzWTPMoUjv6V0QRxVWd/8ObS3lLXL26O6oArEA45ruK5H4acWMqnqFXNddXqYVL2Z4eLbdTUKKKK6DmCiiigAooooAKKKKACiiigAooooAKKKKACqOv2A1LSp7TgMy5Qnsw6VeopSSkrMcW4u6PGoWljkktpQVKsQynsRUN9A7r+7+8DkV1vxF0oW041eAALIQJgPX1rmorlAyhhyeleFVpypSsfS4TERqRTMFLnWftRhZWCZAzjtXR2MUqRAzd/SrCiDzQWwCR61YmniTCkj86hts7+ZJasSEnPQACq2oScEg+1R6hfRwRFgR+dc3qWsrjduwPTNOMG9TlqVk2WdVv1RfvcCsOCeS7uwq525rNuL2S8m8tM4JroPD9qsSec4wqjOTW3wo5dZst+MPGmr+DPDYvdJaIStIEYSJuBGK3fhR8TdV1+/s9O1mGATXC53IuzB9MZryXx7ri3t4lrhWiVsqGx+f1q58Gwp+JmmmZyqxSblyfUYAz+NduHuoI87FKLm2fVdFFFdp54UUUUAFFFFABRRRQAUUUUAFFFFABRRSOyohd2CqoySTgAUALUGpXkOn6fcX1ySIbeNpJCBn5QMmqGp+JdB07TDqV3q1olrg4k80EN7DHU18+fGL4xS6/ZS6J4ejkt7FziWduHlHoB2FJspRbOX+KXxM1bxLrglt7l7e0tpC1rGhxj0LeproPCniWbVtD+3yw7fKfypSvIDY6143ePghmPLce1e7/Dfw9BovhmKzuGZ72/gW6mQjhVcZUfkea48Sly3Z6GFvzWRJ/wkcTIAzgkdKZL4kjH8X/16o6noDpcN9mIHP3TVA6PqLtswq1xpRPQdSb0H6hrklw2RkD34qluluD82fpWpbeG5Sd8rfhWzp+iqGA2jGcU3JImMG9yhoml5XzpeFXnPStq9u7eLTpIIYydyEZ6Voz2scNusAxu71Tj06S+uPs8QHQs7HoqjqTUXuzbl5Vc8a8UIx1lQRgMMk+gFbfh3UksdPa52/KhUQyZ+cNuHOfQelVviBe2F7r6WGmMvkQDyzL03c/MxrAuLmOW62QnFuzFUGeAO1ejCPupHkVZJzbR9k+APEEXiPw5b3qyK06jZOB2cdfzroK+Wvgt43PhrW5Bes72NwgV1Xsw74r6M8PeKdA15AdM1OCaTvEW2uP8AgJ5reMtLM45RszZoooqyAooooAKKKKACiiigAooooAKp67YJqmjXmmyMVW5haIsO2RjNXKKAPiDxFY3Wk6rcadd7m+ySvGVzwCD1rLnzKCoUKD6V9J/HX4dXGsuNe0K0Et3jF1CvWUf3h6mvnDUbaWB2Us0YQ7WVhgoR1zWWzsdUJXRnwW32q5isd2GeRVX8SBX0Z8QpW0H4m6TEQY7Ke1FtGe3ygYr5wspRbatDN5gYpKrZHsQa+u/jl4Vn8R+F0n00L/aWnyfarc93wASufcVjWjzaG1CXK7nN6tB86zJS2flOu5iMjrWb4Y1ePVdJj83KyqNrqeqsOoNWJrF2YlHZfoa81prRnqxs9SWVvNmITaFz+VWo2S2Tcw5/hWqsMItYyScsenrVzSdMvdUnLRLlR96RuEQepNFr7FXS3I4Yp7ydYYlLSyHAArmPir4us/DdhN4b0uZZdQlGLydf4D/dHuKT4kePrbw1HNo3h2USaiQY7m8ByIvVV7Z9+1eE3NybmdpZXZ2Y5JJySa7aGHt70jz8Viub3Yk13NH9kZs5lkYKOe1ELlQCD9xlqoV8y5RVHA5q3AhZpExwxxXacC1L0EhDuPm2scqR1Brd0vV7uwnjkgvJt4+YEcEe+awosxjaMGRjg1YL5ZYB0PLt3qWUfQfhz41xyraxanYBRtCyyq/JP97FewWd1b3dvHPbTJLHIu5WVs5FfEpk3MAvAHSt7Q/EepaTcRSWV5NGy9CGPAoUmiZUk9j7Corynw18YtOn8m31W2eJ8BWlQ5BPrivULG7t721jubWVZYpBlWU1opJmMouO5NRRRTJCiiigAoorjvGvxB0bw5IbMN9rvgOYkPCe7HtSbS3Gk3sdizKqlmYKoGSScAVwPjj4paB4es2NrMmoXR4VIjlfqT/hXj/jv4i6x4luDaGU29goy8MRID+x9a8+luXvL4tISUTn/AVm5t7GypW3O58WfFLxNqMLtJeNbLL9y3gO0KD056k159qFwXvY4pctdSD962eCfemtL9o1IO33YxuP17VQZ3Zru6/iA2g1KNNtirrFkI2aeGMgqfnQdVNes+PfGviR9H8Japa6vdw2I0+B5BDIUEjrhZC2OpyteXNLMZlLvndECCep46Gut0rULXWvCC6FdSCOa1LG0zgBlbllH48/jRJDjueqeJdDlsnHjXSriNrCWOOS7gJ2su7A3gdwcirFrcpcxCa3kBVueKj8ArNq/gl9Bv5zJE9stsxXBZVA4OfbFc78Plls9YvNFuZd7wSNHnscHGa4qsbq56FCTbszsLeze5EspaNI4l3yPI4UKPxrgPiB8QHsVm0jw9dSINpSe4RyA/qAP61d+Mmry6ZbRaakqRiVNxjU8sM/eb/CvFbqeV5CcZB5962oUUldmGIrtvlRHPcO7ZfOT61HGPNkCjpR5g7jFW7Zf3ZYj5mOAK6ziWosCIm52PsABU8TD5ii7R3NMI2YjTBc9/T3p+MkRAnA5J9aTKJLcgZlI4xhR3qeM4UscZPU1EfmYKOgpzE/KozSGTxOcbjxUkEjFiwPWq7naoXjJPNPdtqBR1PX+tA7l63umD7scDpXQaH4q1jTrpWsL+WJl9G4+mK5UnZGAPvVPbny03HPv681LQz6L8JfFzT5reK31tWjmAw8642n3IorwG0IZg83Y8LRTuyPZxPtKq2o39lp1ubi+uY4Ih/E7YzU1zNHb28lxMwSOJC7sewAyTXzH4z8W3viDXLm8ld/s8ZK28OeFHbj1q5S5TCEOZnYfEr4pyStLYaFI0Vup2NOOGc98egrx+W7lkWS4lctJMepPOKh1F32GLoe+eevWqM8jumCwyRjpWW+p1Rio7EkUpMDuer8/hVVOIGYjDMc04FjGVLE9qikBWMjJznqTTSAZagiOVsfePH0qrIuzSXPdySfxq1ApEJXeSfc0PAn2NlxkZzTFbQoXZ2fZ5AwwAKdcfudhQgZfAA4pZo/MtVXHKHigKJrfL7VCqXEn91gOM+xp3sJK53XgXxjNY7tPuZZBFMojYq+MjI6/lXe39noPhq2XxfptzHPaldjQ78HzT2A9P5V8/WDvcfMhIB/nWpf3s81qlvJMxSMY9v/ANdZTpKRtTruKI/FGq3Wt6tNqF1KN8jEkDoPYe1ZKszY+Xj17U/Z5hBJyo7VZYxpFkYPYLWyVlY53du7IOTIqr+PFWTmMgKu6QjgelECGNfNkxuYce1SxIdxY9TTGkLBEUBZvmc9TT4kKqS3VjT1XmnE5qSrCDpyMfjSRkNIWGeOnFPwAM0fQ0DEBV5cjotKGVpM4PHtQOOBQzY+lArD4nDy5OflHpUokDv94/L2/rUUeVXJ6mmyy7OB1PFFhlp7hicLkkjAFFVoiI0LknLcD2ooJPqv46a8+leF1sIH2zX7GMn/AGAOa+dsrGzE8szEk0UVM9xUfhM/UGxMST1rPc/NmiihFvcehGfrUVwPyoopjew2PpipM5QgniiihiKsimNiccGqs4b7O6oxUN8px6GiimJklvEtjarGoyx4GaqyBpCwjJbJyaKKaJJ7aMKACCp7mnKFlmLADy0PBx1PrRRSGSkeYwPYVIBjp+NFFIoXJ/WnDk4IFFFACsccUY7UUU2AhIxQo3EZoopAOmYKPoKrRkySbsDGeKKKpbEvcfLIWkEamiiimB//2Q==</field> + <field name="image">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</field> </record> <record id="employee_ngh" model="hr.employee"> @@ -300,7 +300,7 @@ If you have development competencies, we can propose you specific traineeships</ <field name="job_id" ref="hr.job_developer"/> <field name="work_location">Grand-Rosière</field> <field name="work_phone">+3282823500</field> - <field name="image">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</field> + <field name="image">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</field> </record> <record id="employee_jve" model="hr.employee"> @@ -310,7 +310,7 @@ If you have development competencies, we can propose you specific traineeships</ <field name="work_location">Auderghem</field> <field name="work_phone">+3282823500</field> <field name="work_email">jve@openerp.com</field> - <field name="image">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</field> + <field name="image">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</field> </record> <record id="employee_jep" model="hr.employee"> @@ -330,7 +330,7 @@ If you have development competencies, we can propose you specific traineeships</ <field name="work_location">Grand-Rosière</field> <field name="work_phone">+3282823500</field> <field name="work_email">jod@openerp.com</field> - <field name="image">/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBhQSEBQUEBQUFRUUFRQUFBUUFBQUFhQXFxgWFBUVFBQXHCYeFxkkGhUVHy8gIycpLC0sFR4xNTAqNSYrLCkBCQoKDgwOGg8PFywkHBwqKSkqKSksKSwsLCkpKSwpKSksKSkpKSwsKSkpKSkpLCkpKSksKSkpKSwpKSwsLCwpKf/AABEIAQQAwgMBIgACEQEDEQH/xAAcAAABBQEBAQAAAAAAAAAAAAABAAIDBAUGBwj/xAA+EAABAwIDBQUGBAUDBQEAAAABAAIRAyEEMUEFElFhcQYigZGhEzJCscHwB1LR4RQVI2JyssLxJDNDguKS/8QAGQEBAAMBAQAAAAAAAAAAAAAAAAECAwQF/8QAJhEBAAIBBAEDBQEBAAAAAAAAAAECEQMSITFBBDJhEyJCUcFxI//aAAwDAQACEQMRAD8A83hEBEBGFRcIToShGEChKEYRhAIRhGEYRIQktvZPZapWG+4inTtDnAy7kxvxfJdBR7I4Zo75qOvmXMZe3wgEx4+qjI4WEgu4/keCNt2oMripMyJyIVrC9lMDvd41jyJAjLg3r93TI8+Rhep0dhYFmVHem0ubUd0z6cFG/AYJ1vYszGTCPkROt0yPMIQhej4ns1hHghrHNiDNLenKfiJB8tVg4vsSZPsKgf8A2PBY/wDQ9bJkctCSuYzZdWkYq03N6ix6HIqqQpDEoToShA2EoToQhQGpJ0IQgEJJySIQQnAJAJwCkABGEQEYRIQjCICMIha2TgxVrNa6d2ZdGYaLkrew+yMN7ZzgXOptiKbyCS+xgkR3Yc3neFX2LRDKL6riBvWHGARPnfyWX2Xxzqj6zjlvGD1IJ15DyUJdlVx5NxbQcAIyA0FvRU2PeQXSbi9zrx8imRvCBynmLOiZTi6H2ndgjTgNDnHHnyUAjEuENBmPdJib3AuJiQoquOJIhxygRxtJt9OJQqnu2tcWPP1BtpZRvYJPQZ6QAeEjP7ugl/jqvvBz72s4+M/eis09r1SPecYOsTExBn5dVTY+CM8sgIgicgeaayuBE2zzHP8ATrkgvHbTyc7cMom59AfXil/OnERvC1r3mMxObf3WW/ei3GJyA4ffJRj4pGUQeeufVB01Pa26DvSWmQfiBnjxPVZeL2JRrDepxTcfy5STaWaDp5LKNYtsJAIkkER0jLNTUseZ3rTIiJB6+nogobQ2FUo3cN5v52neb4xl4rOhdXT23G8CQRMQbGLz1nnwWXtWgxxL6Td3PebNuO83lGY5KcjJhCE6EoUhsIQnwhCINSTkEEQCcAkAjCJJFKEQEQSMJQp8HR3qjW8SAiWnt+r7DAgCzvZwePfuZPTeWZ2IoxRLj8Tj6WS/ECsdyN43eGx0k/ULT2RSDcPTa3ukNF+ZGnO6jwjy0WOdp1MHqb8PVJ1Tee2/9swORtdPNSWuhwMNAga3vrn55Jlal3oiLjdvkYABgeN0SjfmQTPeF+kifVCq0uceYuBaLDThF09rIDpOTj8zYD795RvqXufhniZIEQoSY9pBbc717wDqYE8EH9OJm2ZuZMKRrbtIjObi+YJ58PNNe+0AC7r3jjYRqgjc838iQCToZ5C5TXgTY6ax4g+SfUqTMETaNTkLTPX7KiqgwM8rxOdxEDmiEWUHOWzy5fNQlwEzwPpfPQQnvMkEwInQAxzAvqq7wIzN79RcmfvVSD7QZEiLGPCJ1UDsRqLxe+Xj6+aFarl0HISTkqz32Pl4qBaqATLcjccuR5jJNhNoGWzzP0T4Vg1KE6EoQMhJOhJBCEUUYRAQnAJIgIkgFe2R/wB0HgCfSPqqYV7Zebug0nWUGZ25YSxjuDgDnqNdNFvbMqf02Otk03mAfdjyVPtLhzUw9SIsQ4WnLeNj0J9Fb2eQ2jTGoYLW1Av5wo8I8rzWSRED3Gm3p6IvaQ10/ERBj15ZqH2sCJBuLnOQIOmSbUqHdGfxAExu2AvOuSJTPw0F5mLjI2nIfOfBMqaZzunOYBAPK565KH+Ic7elwkxrzBNrxnopg7dcDvADd0JPw5+o8SoBbQdDI/MYyHA5c5UVVp72d3DTre1lNTrtAbJuLujd/NyJA/4KipuaQbjMAXnjPLh5qEq9VvvXMcb8OGWaiNt2RwmLHMzHkdFdrtEWkSL3EZZeQz5Ks1tmm13HgeZN0QpucJBHHiM7a9TkoajsiTOZAEWz/VSVsKYEXvyIvefvgq1SiWgeP7AKwjrgESMx6eHiqjnQIH39yrBfMi8WUDwkoWMDiAd5mrb+djby81ZhYmwqv9Z4OZLvqfot1SGwlCMJIk2Ek5JBBCICQCIQKEUYSQGFe2b8XQfPRVsPRL3taM3ODR4mF2+wn4Wvv4b2RYWyA8hveOU74uHcj+yzveK8N9HQtqRMx1Dl8TjWtmTaLgxfXLrfwUOyalOs4spvI3WmRY2yAAnIQPRZfbzY+IoVA192H3XNyPXgVR7F7IqVMQNwkbufC+YPHRTFoxlnNJi2127djNMBxJiZkkT1A8lMdmUhaAbEjeJMcLSfvyVzG4V1M9/ugwC4Tum+X1hRuYSLgGIPAAHS+d+PFItnlE1mOJRfwNPds1oI5Dw00Q9g2fdAkGYaJjL5j1UpbNwC0EEOztxy8DZN9jYgZi4sbDW3MNnwUIVjh90nutEZ5X8Iy/VDcAyA7wv5yfpZSveW31yO9mZzN9FFXLBZz2NmD77Zvr3Z4RCJJ7RfutMcQDIHGRbxlRP3TbdHhYZaqB22KLf/ACX4RPpaf3QbtehIh5ANzIiD/wAc0Qe/Ct0ka5mZ8R9yqGJwJbqHAcbHSw8Z9Faftqkbh7dJzuOMfead/GMd7rh148ZUjEqDiIiMxeL5qpUaIEa8PvktvFYQPzzOULJxWHczO4ynIjqFOUM/Yzf+of1d8it5YuwMN33vP90dCbfVbasg1JGEoUAQgnJIIAE6EkQpSQRASARQWdm1N2tTccg9s+a9C2PsxlGi91TWTPif0XmwXfbTxLquCp7ubxTJ8Rf1BXPrx1L0vQ2zE0/yXJ/iDtH2lZrWvD2Umb0zq4m3WwWr+FmzRDnamTKxtvdnvZURWcSd5wDuAgOMfJdp+G+BNPD7zhBqd4CMhp+qzmcUVtX/AKy39p4YFhBC4/G9nyJNNxbxg2jpku7xzO6ei4faYmd48dZHkVnWcT20xExzDl9ourUzHtTyEibZLPrbTxJze7TXhkeoWhjdl73u1GjpLfkVi1dm1WZPt1ldEW+XPNMT7S/qOneJM53N09mEPkpMNinAw4StWk0G6ra0wvWkSxTgyFFUw5hdFUoDgo/4UAKsXTNHJ18M7mq289mR8/1XVVvZ6kDqsrFBnEFaRaWVqwGB22cj6/rqtUVmvFiDeP8AlYWNwQFIuF53cuoVvB4N5pgz3ufDmtInLC9MNChRDRDeqfCqUsWZh4IPnKuK7I2EkYSQCEkYSUiBOAQATgiSRCQRCAhegdhKja1L2biA6kciJlrjIt1kLz8LR2HtY4esHi4ycOLdfHVUvXdDbQ1Nl8vSO1XZ2m/DOpxDC5rjBNnBwgwdInzUuzAGMa0ZAAJuL2qyrh2mm4GXN18boUn281xWd8e7lsC4hcx2g7G060mXN47piVu4SqtB9EOURBb7XjuO7B0WhwBdvH3XEl0QsnZnZtlMOFUudmW7sggxnvEC3LJetbZ2U1wNo5yuUxHZ0k90OPVafUtHEqfTpPOHF0MBUmAJiLzIz4rpMBsYyJ1XR7J7IlneqeDRkOvFaDtnwbcVWZTDmamzN0GdFym2sWGEyeUBeibfobod0BXA7Uwkm7RyMT1SOJTbpzdDEtquLQ182tLZMkNAEm5lwsFbZg6clsua4WLXCCOoK1cFgAxwe0br9DAMdJt4qSpskOfvvku1Op5dFtN4xwwjTnyxsRhCwNzLS8fVaVPJWNoUp3RoDPkCPqo4WmnOYy59aMWwaknJQtGRiSKUIGwkikiEITghCKlIohBEICigE4INHYVUiuy9r28Cu/o1LDw5LzvZX/daeEnyF129GtLei5Nft2+n6b1B60GVbWWDh8SIlaeGxIOqwiXZaMwmrUic0KVMDhxTzUssfaW1S0GBc2F1OcM9szw13125KI0p6LP2bjKYa0Pe0Pde5uVtYOmJzmL2V68k12ub7XWa7wC5EskQRIXX9o277Hk6LiGY/dfuv1Ej5Ktu1scLNLCBOqUBCs04hQ1nRKonDDxnvRwUCkrOlxPNRrv04xWHl6s5vJIIpK7M1JFIoGpIpIIUUAnKQkQgiEBCmw2HdUe1jAXOcYaBmSoguw/DbBb1d9Qj3GFrf8ncPAHzSZwtWu6cK2B2QylXaxzt+puu392NxloLZzce9mpsFXglrs2mD1EhQdlWmpi8W5wvTd7PLXeJP+n1Um1qXsq4f8L7HgDlPl8lw2ndPL0tsUj7Wvh3cDOh/RauGeVk4F4zkH5HotqkFk13RhLVxFlBgqAed4ieEz9UMXiGtzi0eJ4KHD7VDrNMnkcuqRGZUmTO0PZCjiQ0uEObkbeSxf5zUwXckuAGZJPgSb+a6HFYnu997Wjm4D7C5jalNlZ4DarHATMOH3C2WrumEVbtZ7VhbHvZ8ljbRoBzQ5ubb/qpccKDXbrajeFspyzyUP8AFMMtDgTunIg6HyUTCszMLmBxXcuq+LxljGeSL+60HKWieqoaqNOu6ymrqbahCUIpLueYCCISKAIFFBAEUkkEKKaE5SEnBNJUNTHNGs9FIshel9kMAcPRbve8477hw3hYdYhcl+H2DbWqh9QAgElo/wAY06keS9I+LqqW/Tq9PT8lR2zGUqlU0xHtne2PMwGu+Q81i7ZwYqMc06/YhdZ7HebBzb7p+axMXSgkOEH59Fx3rMTl2RDktl44iQ6ZYYPPgeWq6LCbVAFuvVYO2MEWO9ozMe8OLcyjhcUHtG6Re8C3SFSVOpapoCs7vG3Dqnv7IYUSQHga7lRwnnY2UWz2u4ff1TsRinsGSROGsSz6vZrBgzvVmn+6o48dSVlVuz9GT/UfGnf+dlLtDalUmGsnwlZDnVibgdIWu5r9WI8Iq+x6e+Qwlw1Jk+F1bZhmshrQAI0RpggXUJeXu3W5nM/lAzKrM7pY3tk3aGM1MhgO6XAGAYsCdExlQHIrdwzhSbugS0iCDBnrOa57aWzxd+HBbF3UvhPHcIuw8sui6dOIrGHHq0tblKUlg/ztzY+JpEibGFew22qb8zunn+q1w48r6SDagORB6JKEkgiggSSSSCuXAZqniNpgWbfmsqpiCcyVE56vhXKzXxxOd1E+qoHFAuUj1L8JawvxG/6ln7eS9CxNnTovI/wqxobidw/EQPBwLfnur12q6QQdPsrG/b0vTc0W6DpEqPamz/aMsYcLgxl+vRVcHX3bHJbNN1vqq4zDWftlwGIcTvMcIc33hnbiOIK5fHYd9F+9TmJkt48SF0vaTtjgHVxRbV/qSQHtBLWn8rnDME8FSqUi4Qd13HdId4x7w8lzTWayvMReD9jbea4AtgmDI1nWeC6RlVjxcDhpdec4zZoDt6k4sd5g9eKFPb1ekIcN6LS10+majET0yxNZ5d3tB7GtiAPBYeLrt0+i5iv2r3vfcRyIIVLGdqhHdl3DQeZTZMp3Q0dsbSDRAzNgNSeSk2JRgSfecfv75rkX7S3Xh9Yy4/CL7reJBynhnquw2PimVADTIPT6jRbRTbCsWiZ+VzH1Yaeh/RV8C6Gm0TfqOIUG2sQLN8T00+qr7NdxM8OQVl8cOT29S3KrwMg8kdHDe/VUGV1s9rG/1Xf4s/3Bc8uis8PL1YxeV6lji090kdCtHDdoHj3ocOdj5rABUjSrMnW0NuMdnLfUeiv06rXe6Qei4hr1NSxJBsYUbVsuzSXMjbNT83yQUbZMqxKaUEldBBBEIDVBqdnMaaWIYQYm3jmPUBe9txIqMZWb7rgN7lOvgvnJjogjSCvc/wAO8d7XDOByMHpvXI8w7zWWpDt9JfEzDSxjSw8s5Hz6LmPxN7Tvo7PDKRLXVXbhcMw25Inw9V25w1t12Wh4Lj+2XZY16LqYzmW6wRkRy/dZw77xurO3t4dhCd8Obm0gjqDK9Tq9uxjHUvbsbTe1pDqm8BvuhsCTE3Djc/Frp52dkvpvh3ccDEOs13R2RWqymYuwyfeYcnDix2RK2mImHmae7TtnDsNoVmES10uvl397xb9f2XNYjGFy2uzu0wyKboh3uPjdM/lfzWfi6lOnVc9rd4ky0RLWnVxmxMzA0zPBc9tLnh3fUi0ZU6OwnP71TutiQHfF4cPmsraWLZTdFKHOHxQIb0581a2ptOpUBDbTmSblZAwu60kiePCdBzV60x2x1NTxRn1CSSSZOpOq3OyNR7K4cJDYO9wiE3ZmwKmIeLBrczpA/Wy6ars9lLdpU8yAXnlo36+Cta0dM9HRnO6SBNRxcdfsBOwFLvkFWMPhjCs4fDQ4nksna43tUP6j54U/qufXQ9rD/Ud1aPJs/Vc8t69PK1vfIBHeQhJWZDvIhyaigl9qUlEkiF5FNlOCskkm5pIOzQJel/hBtYCoaTj70i/PvN9QR/7BeauC0ez+0DRxDHC1wJ4XBB8CAomMwvS220S+kGU1DisODEgHiOI1Cbs7GirTbUGT2g20Oo8DKtHJc71Ys5HtbsajUxVP2bGubWa/epkRJpxLgCLG/jBXMY78PGi+GqPZM9wkiOQORHVel/y5jqgqEd5s7pkxfMxMTzUWKoCZjPPgVJivEPI8NsupSLmVwT+VxzkdcrKpjcJF16N2twwGH3jmx7I1zO7E56nyXDY+IM/OFrW3Dl1KYt8OTxL72W/s/Yg3AH6d53U/YCycJQDq/wDa3vX14eq6nAsNR4baLE89VS88tNGsTGWl2XrDCNe5zA4kSBxDrNB6xCr0NnG5cO8TJIWlicKPatkTAEeCvswt/wB1l26orEcshuE9U91DdBWpWwigxbAGnkiXlHap01T/AJO9ICxIWnt981vCfMkrNhdMRw8S85tMmpIpQigJJwCUIGopQkpFwJwQanKUmpP/AESlJwsUDtExpTgU059UHtn4V7Y9rQNMm7bjxs71E+K7hzF4V+G+2fYYoA5HPobO+h8F7s4rG0Yl6GjbdWAAumlpjROb4JuIqBrXOcYABJ6ASfkqtXFfiRjIoCjTP9R5Du78LRInlJy/xK4w4emwb263eAjeIBd5m60NpY41ar6js3EW4DJrfAALBxlQklaxGHPa0XlXwfeqnK4K7HYmEh3l8guIpEtcCNF6F2WqNqAObykcDqs7x5baFsRtntfxGH77VpUMPCjxLe+tLDe6FR0TPChWp2Kytsd2i8j8p+S3sYLLne0tbdwziTpH1+iImcRMvGdqP3qzyOMeVlVIUj7kniSfNNq5LpeKiCdCTQiiACUIooGwgnwggtBElAIlSkCUQE1OCANyQqIhJ6CbA4k06jXj4TPUajyX0P2X2j7fCsdMkDdPUa+IXzg1eufhDtuWOouOnd6t/wDkj/8AJVLxxl0enti2P29Ka1ZvaEOOGqgHNpy8ytP7Ko4lkyDkfqP0WTtxl4y7Hb1Wqwf+PcHiQ4u+g8E2sbQoMNhyzHYym7NtT5FwB8iFYxC1xnEywraaxatZ74n5hQqtutzsdtL2dcD4XGD10WI6+Smw003B2ocD6pbHSNOLcW+cZ/j1Vxl0rWwjAQsXZz98A6wCugwgssHbbpn7Rb0XE9vsTu4YjKxjxt9V2m1HXtK84/E7Gd1rOMfU/QK1e2etO3Tl50AmV/qpAFFWNwt3kk0IkIhJwQNSRSUBQkkkhhYSKCBKsCigE6UAQqFEBMqoDkV0PYna5oYpjpgSD1jTxBcufenUKpa4OGYII8FEpicTl9QNeC0EGxEiPPRQ1c+qxuwm1vb4NvFkN8Ilp8reC2K0yLeqwl6tcTy4Dtn2dDMV/FMiKrBTqDLvtgtcOrRH/qOK5DHu0Xp/bgzhJ4VG/wC79V5biLuWtOnLqxi3BYZkXUWMqQrVMWVHGuupxhE2m1cZ+cf16p2ccTTaeQXS4U9391zHYx4dh6d82jgulpjOB8uqwdszlR2qJd+y8e/EXETiQ3h+w+hXr21nQQfkvDu1mJ38W8nSB9fqr07c/qbfZEMghV3XcrBNlWp5rV56WEnp0JrygCCcggakkkoQnKCSSkFP0SSRIBQ1cwkkiEkoNSSUj1T8HMU4+0act0+hEf6ivScUIARSWF+3paHthzfbQf8ASP5Fn+oLzTdukktKdM/Ue6DnuWbjSkkrSwjt6V+HNQ/wzerh6ldi2nL78AUklzvQ8MXtI7d3o0DvkvB9qPmtUP8Ac70MJJLSjk9V+KpUNvBR0Uklo40rk1xSSQJNSSQNlJJJEP/Z</field> + <field name="image">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</field> </record> <record id="employee_jog" model="hr.employee"> @@ -340,7 +340,7 @@ If you have development competencies, we can propose you specific traineeships</ <field name="work_location">Auderghem</field> <field name="work_phone">+3282823500</field> <field name="work_email">jog@openerp.com</field> - <field name="image">/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAkGBhQSERUUEhQUFBQUFBQUEhYUFBUVFBQUFBQVFRQUFBQXHCYeFxkjGRQUHy8gIycpLCwsFR4xNTAqNSYrLCkBCQoKDgwOFA8PFCkYFBgpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKSkpKf/AABEIAOEA4QMBIgACEQEDEQH/xAAcAAABBQEBAQAAAAAAAAAAAAAFAgMEBgcAAQj/xABEEAABAwEFBQQHBQcCBgMAAAABAAIDEQQFEiExBkFRYXETIoGRBzJCobHB8CNSctHhFDM0YnOy8VOCJHSSorPSFRY1/8QAFwEBAQEBAAAAAAAAAAAAAAAAAAECA//EABoRAQEBAAMBAAAAAAAAAAAAAAABESExQQL/2gAMAwEAAhEDEQA/AMgDk3IEu1RFjy3gSEklRTZTjCkvC9YqFPYmAM1LYm5I1BJs6mWeCtSd1ANNTkKZiuoyUaxRVUmWU5YdzqV8Kb9+agnQWhjAe1NaHDQOAw0rrQ5tO413cNW226smXZPDW0bUOALQK65ZiuR+jEhstS5jzWjHOYanC7WhNRxrr03KQ+zOYwYgQ4tyrua7QdMJHmimxbQ6TQYQCAKbwQQacKZLsdBT2n148ak/XFMMZQV5ZeJrXyCkGpIcRUuFGtA3HdThv8d+4hGLvAClARpx4fBPRQ6l3HjvOvyUyz3UaVeQOAB3HfkDTEQadNydNlLnhrfVpU1BrQby0EnXSuqCAxmXrOI0aK1A45JyMZEUpmpcNjzIcHDeBTvUHLIe/fvSobOHGu4ZGuo8v0RUV9gaRUa8tPJCZbJ3s8yflorTPEB3WgkZAchz96h3ld1DUClKct2aCrvj3FT7gi+08UzbICD5fBENm3AyAHU6K+Iu4b3PBArwjyKtEcfdQW8odVGjWz9q7tFVtsZKzKfZbZ2biOaB39PjkqrEDAn4nJhLYURN3KHaWb1KickzMQD1yd7Bcgsm213dnOSNHKuBy0z0h3bijxgZhZikKkOzCSxcw5LzeqH2FOltUywp5qgn2SznB1zTwyINAQ0Oy0zcNfMinROMZ3W1+6CnLIwuq0by3XLIbvMqKZu1oeyVxriLTHGDpR1MZ03Z+aebGTGKnNjcDq5ggnKh5An6KmXXdTgXNGmnhUVpw0CMturuYaDWvx/NFVMSsFARyaB7VTlQHTVeut4aaNpiFQc8geFRrT5oza9nTWrR04+aHjZZ59gnPdoiYbstsdTNzTqRqddx7wyPFS7GO8SXULszQg58RrT3ohd2x73ADAeVa5K02H0elwGIAHLP9ApqyKoLNjBaQDnUl2uXkPciN1XTjdm1rmt41rTdodPBXu7vR81o7xqegFRwyR+x7NRx+qKKauK7YtkWjMnXQZHLhXVe3rsix7QGjTwVtNnDcgmntU1rGHbUbJOhccss8x5hVKzOMUrXcCPivoi/buEsbsqmnmsK2msHZyEbqlajFmNAsfeblvFUNvOFP7KT44Gfhp4jJO3rGis4vvuuQO0SVKsW1EearDlph4EtqQEsIJETk+cwozE/G5AnCuTq5Brd7RCWIjiFjV4WYxyOadxWv3dacTeoWf7c3fhlxgZFSLVcjKU8JppTx0WkLYU80qNGU+wqCyywd1uvqg5cKDJELosh7RulA8VHEDeD9ahOMs1WsplVjRpXMjT4KWI3CjM2ihBGYzO/hWjWjxWWljuqwB9ab9CaVyXGKh6KfsvZ6truAHWhIrTw+CXfliwSZaHTyz96jSNZoQdUdsFnaKZDyQKyOzCsFjUBOOEcApVnTEBT7BRGkthzUoRqPEFLaoiNLGoczERlCizR1RYGOWQbf3fSVxHGvmthnbQrOPSBZ8zz+vzWoz9A+w1oqwt+6T780bvNmSrWxvdke3oflVWq8G5Ksxnu1MWSpjlftpou6VQX6rUSkhLCQltREiMJYSI0qqBeNeptcgu+xt6YowCc25KXtjYe0gJGozVL2Ut+CWh0ctGmIfERyUrTH0/Gck5etl7OVzeeSZiKrJQ1T7CmnBLjQa3YLOHwxuwkYGNrhHEjPmO9TPRKtUZJa5xaKEOI3BobWm4Cppv1J4KXs9ERHF3qtoKivABw6mu7mkXrBXOhJLTkRU1AyI3Aku8ATwWWxrZm21LQaYaAdQKg7t5y96l7UHutdSnHn935+/VArktFHhpBGQwgihpkAPKv6KxX7ZcUeM6NzNNc6DpzUXwFu9qO2YKtWGXNWOzPSkFbKKfJTI0PiloFMglqo0mxyKTHIoTU/HIoJDkzIxemYDMlDrVfTAcINTTcgTalnO3BdiApqQB40qOv5q9OvJrsjkVXtr7AHwlw1bQj68VqJWe7PPwzkfWRVxtgq1UO7JKWgcyRzV8kNWDoqzFO2gjqwrOJx3itQvqOrSs0traPPVWM1GS2pCW1aQ/GlJLEpoUHtFyXgXqCBDLhcCNxqtQuW2CSIHiFlhCuGxV4ZFh1GY6JViNtlY6ODx0PyVcjK0HaWx42HmKjqFntKFIVJOi9jK8YckW2c2Zltj3tiApGwySOdk1rQaZ9TQIjTbpm+ziLS2roq0dQ5dzKu72ffwSrY4BjczWUk1zyGEFuQ1GhHMkpi4Q0xiLEHPbHRwFSRhqG0yGQ39U/AXSuwEjuPDAa9W7qV0A6jrXDYtcN0l/ezyz4EU06f4Vk2hoyyVJpTw4DJEjZ2wRAAVyG7p+QWaekPacvHYxZgFtTXIU1FBzT1fA520IY7u6e/wDyp9j29YMn+6qqlgu9oGOd1G665nwSrbeFgJDWwvJJDQ7EGipNAauNAOdVcZ1o1i2zs8lAHUPPJE7JerT6pBHJY4+4nMZ2oY4REkAmhzBIILmEitQdcuaK7O3g5rmgE016hTF1s8U1Qh953+2H1tdymXO7E3wUG/Lrxtc5gq8Cjepy1UbUq+9pp53YWVZTeSRTPgNB1SrvuZ1A6S1VOvdyArz/ADoh1+bEvkaD3nPocQqO6TvaCaIzs3siaPdaG4nubGyPAQ14wNw4yY6YTp13qscpUt3yAVa/GOozoKUy3KZZXulspa4Udhc01BA30pXdml3bsvJESXSFzXatdQnLeXDU80VngDW5UCi4yHZ+7hJaHF3dayrnHcKcfNXFnqZablBuW7gJrY0j2qj8LqkZbwiBFC8cHFVFdvRmRWZXuykhWqXizVZntCykhWozQlLakJxi0h0JyMZpqqfgGaB/AvU7hXKAEVNuS29lM07q0PRRKJNFRqkzccWW5Zze9mwSngcwrlsleXaRhp1bkfkhW193U7w3GvgszharkLlbNjrwfFFasDsJLYcX8zcbgWniO8FT4irFsxPR0rP9SB48WFsgp/0FVIul2TYJWSsdTH6za+sN4r4KxXJYSbS0DPE5rjllhpUUOmtVVL4kbG2zM9Uss8bnU1xvrLU86PHkFedgrwbPgmz7pLQOB3j8uvisVuLTtTMWxvI3A0/RYu6yOLi6lc9+a2y+4u0hfmKYT9Z66LPIrKNKfJIWKu243PdilqWjRtaCm5EmbKxyuHrtzGRaxwrxrUK0susOUuy3WGpaYd/+NjFlbBpGBSgPeNakknmTXJU+0XO2EjAKAE0BNaAnSquk9AOAVavSSp+CQq47NT1Y3oizHUKqmy9pyAKswdmo1DpsIca/qnIYaZZeS6zSqQ4Z1UUxK1C7Y3VG5m1GSDWzQoK/ZrEO0kdveAP+nihkTqyS/jKO2cEVduqfE6UVWui045JCN73fFVg1eMazPaqOj1q15RrNNsIs1qJVWolxpFU5GVtksqVZRmopU2yBQS6LkpcgryVhSVLsrK5IJOzt4dlMODsj8le75sglhqOCoFqu8tzCumyl59rFgdqMiosZ/NEWPLTuKn3TauzljedA4Yvwnuu9xKm7W3b2cmIaFBYyr2i47Vk9sDuMcfTusa0+8Far6PJImXe1kYq4/aSHKuNxcKjkA0DwWYXDO20shZKMXfbE8jN7SSA1wG8EbuIKuGyM/YWuazEUYWuDK6gscDTrQkrNai8S2yjXCuXSniOKrNoFQ5wFA0/PIDwoEQtE27d9ZodJLhgcePHdVRpMu+atEaipSqqN12xG23hRuqgYvy8RE0kqtR2gPGJx10UfayR8gyPgqpIJC3AXuFN4yPuWpErStnrc0S0JVztFvY1uJxDWgVJJAAHMnRYhdVpcwgdo4kbzUnzWoXNGJ4R2wxUzAcMhwNOKlWUajtIlaHREOH3gajlmkwX4WnBJk7nv6JVmjbG0NYA1g0Ay/wApFusrZBRwG+h3g8lGk02+oyKh2iWqDQzuY8xk14dESJyRNDr0t3ZWV76Z98N/E40HxVJ2Sm7xRvau+BhMA1qXO5A5gdVWNmpaSkc1Watt4NyWc7YwZVWkWrMKjbXR1YVYVndEppXjguC0wdaiFlQ9iI2ZBJXLqrxABUmxuoUz2SdhjIKC2WaAPZQqBA11mmDh6pyKlXRLkiVqswkGain77sonhqNaVCzsswkg7ir7dE5aDG7dp0Vd2ou7C/G3Q68irCodyXq6zzNkaKgEYmnRwBrQ+S0KS2s/aGWmI1je4PGeYr6wPPWoWXNKIWK9HxigNW64TpXiOBUsSNznflXX61Qa9p6RYep9/wCqnWCTHZoX7nxRu82itOhqPBBb3f3qHT86LLby6HEotNPTqh+zpGY4IxJd5J5HNUV62vBOZTMdijdqRXzQraWzWmOVxazFHXVpJI5FoU/Z67JZmtLXhtZMDhTMc0RZ7nu+zNFXAk/hNFbbOYWNDmNNSKcPNA7o2QmL3NfLhpTCQ0UIIqCa+Sst27NNbEDM9znV71ThbTF6tBuUagba72azNxaNdXAIQNpRO/BZftXDN9D3WjTN+nvViva7LO9jo2xtIJcSaDulwoS0nfw4JOzVyQ2aLDC0NaMuZpxOpPNRUWGMvwl7cLhrv96cmNBRTrXkckNl48kGc7QyVtknLCPJoQu634Z/FKt1pxWh7/vPcR0rl7lHLsMwK0wvsjqt8FU9po6xlWOCarB0QO/21YUVlsmpSQnLQO8eqbWmDsaI2dD4kRgQSF4vVyAJHNRErJamnVCSuBQXOxFu4omxUOz25zd6NWK/dxUXRq0MzDhqE3bSJGGu/I8ilxWkOCblbToUVTLRFgcR5JIkRe+LAaYhu+CDYVWa2vYm0dpdlnO9hliP+2RxHuKg7QR6FM+i60YrBKz7loqP98bT8WnzRK9LPiaeOf8AhYb8V6xW0seCtBuy8GmOp0NM1mcjaHojtz284C2vRWpB23nMlvFN2S34aAgEA60zr+ajx2upoeGa9lsbjmytfioq12S8MZDhI4GgFMQAoMxkRzKLxAuFHyYm60JrXkqBAJgMyARyCOWCJ7vWkca8O6oso9OAcmmnFS4BRvgolhsjW0JJ+uKmSvRpFtIqgN/Wrs4nO0yNOpyHvKOTv1Wf7aXrie2Jp07z+u4fE+SJVPnyckW05tKXbhoVHtr+6Ftha7rtFYwmL3FWFRbgnqxTLc2rSgy63tpI7qo6m3uykpUIKsn4URhQ6BEYkD65IxL1ACXL0heIOS2OSF6EBWw3kWo3FbA8KogqTBaSN6C2RMDxQ6jVVq9buML6eyc2/kiV3XjRwPmrRa7nbaYctSKtPAqL2b9FDzgtbN2GJ/iC5vzVimtgB72mjuvFRfRtsjNAy0vmAbjjaxrK9+mMnG4bgaZDVRb0loSOoKnqzoze1iocQ0Kg2aXCapUN4lmR7zDqD8l5LCCMTDVutN46hAVhmxEZ/qrVclpacjrp4Kgwz0+Sn2W+sJ1RWguDa+qDUaqZDHQfqqvYr9Yad6njUIqy/m0pXQ6/D65LOLqxRsy1+gkPeAq6dpWn2+GhUS07Ql9GR58+KLo1aLWXHC3U68hvJWW3q7/iJd/2jx4BxA+C1C7LKWtq71jmT8llN5y1mk5vef8AuKsZpFrbVqGWx3cRXVqE2sd0hVEzZi3jRWedtWnosxsltMb6jirxdV9h7KE7lUlUq/2UlKGBGdpf3lQgyqH4EQjKgQKa05IF4l4msS5APK8XpXiDgvV4lIOXBdRKAVQ7BNQrS/RlaMcjmu9RjMee4kho95qswAWl+hWzF01pJFWCANPCrnggHnRrvJZrU7TbFf8ANY7bM20EmCfJj9QCKlp65kEcFFv6jnYm5g8FZr2sTY6tlaH2d2QJz7M7g7l/NuVUvq4ZIe9HWSHXLNzR4esOf+VFoS51VHMpaag0XPn3hNvNQqJsN4g+sM/JShgdqgSehlciDkcDRo9OOH83vQ+zwOcjVhuquuaim7JZMZyq7zorzcFxYBiIzovLgu1rRorBQAZKVqQilAVhF5T/AGjvxO+JW7E5FYt6Qbm/ZbSQw4opR2sDjva40c082uqEifRmxWiqYvRlAhdgttHIneFoDmLTKrSjMqVY7UW6KPJquaqhy3TYjUqGnpE0gehUmuSjQp9xQeYlybqvUEUrxekrxB6lJAKUECwlAJATrQqh6OznAX034W9aVJ+uK130MGM3faGVwyumxV0dhDQGEdCHeaz28LH2dnYz2gMTvxOzNemQ8ET2Dtrg6kZAkbUhtadozUtrucNyzWpxWmTWoucYpQMedPuyt3lvnmNyGmyvg/djHFvj9pvOM7x/KicccdqjzqaHo+N497XApNXw5T96PQTDdwErfZ/EMuiy2BWnZaC1jtITgdvLRv4PZx8jzVZvLZC0QZvZiZ99mbf9w1b4rTJbhDndpE7s5KZPZmHDcHt0eFKsl6mIhlpaGE5NkbUwu8fYPJ3gSmmMis90FyKWe5aUqKLVrRslZ5s2tEbjmHR0oeZbofBCLXs1JDqMbPvNFaD+Yat+HNNTFUs9gpTLyROGzDh5DeijbE0jLgnf2McfdmmrhF3Sbq+CK9rXRA5bAa1D1PsjaZVqVFifhyp9VVM9J91Ca7mTNp3Zg5nCknckA5FwY5XJ0oa0k5UFfJDtpLrfJcQbho8QiXDya5shHXCrE+nz2+FzdxSjajSiIpp8LTqFtzC1ymvu8bj5piSyOG6vRAwQmSnyEyQgdhTr0iFqXIgbquXLkDb7I4bimzGeC0ea52ncoM1yN4IuKLhXoCtr7ibwTX/14JqYrbAi9yWYA9o7Rh7o4u/Ia+SkWi5Gx+sact6amtIwhrRQAUp47+f5qBd4W4vrU1UCy2h0bg5hLXNNWkZEHqvTmu7NBq2yF/NtnqubFbGtzBHctDRxbvNNaZjdkrrd94B5MUrezloasdSjhxYdHtP0F89WaUscHNJa5pBa4GhBGhBGhWx7HbUw3jG2z2ugtLfUd6pkpo+Nw9WTiBrqN4GbG5VjF0PhqbMcq1MLj3Dx7N2sZ9ymWO2MlrG5pY+neikAxU6aOGmYqkME1mykxTRf6jR9qz8bB645jPkib7JDaYwThe3VrmnvNPFrhm0qNB8dxPhOKzPoNexkJMR/AczH4ZckSu+9MTsEjXRSfcfTvccDgaP3/km29tBrWeMe0B9s3qPbHMZqbH2NpZ7Mjee48xq13kUTTdruFju80BrjqPYd1A0PMIRNclahndeMyxxzPNjvaHkjbIpIdCZY+Bp2jRyPtjlqn+5M3I1ociMnMd8Wlaxjapb4i00cDUcdfelRszVntlkDspRXc2VozHJ43fDoq9fL47JR08rWRkEh+tQKaNGZ1b5hSxqV7LYDIx4/lz8SGgePyVslhBwsplgcKbqUa2nvWeR+lO72NayN7nDG10hcxzC6mfdypuGRIyGqul2bQQ2iQdm/Ps64T3XCpaaUO+gqrIlfPO11yfsdslhp3K44ucT+8zyGXghDmbwtc9NuzmKCK1NHehpHL/Tc6jXeDv71kNnmqqy8XoKdc1JLFQlzQdRVR33cw8uik0XqCGLvpofNNTWV3CqIpTUAXsDwK5HKLkVIs+1fFEob9Y/VZ/iTjJiEw1pETmO0KavK1shbxefVb8zyVUux0lA4khvsje7py5p+2zUqSakjX5KYag2+2Oc41NTv/JM2c508R8/kmwvXDeNRmqiX2a7AnGZgGiVRAgBPwvoQQSCCCCDQgjMEEaFM4Vzn0Hu+vBBuPo49I7bU0QWkgTjJjjkJgPg/lvVxtFzUcZIXGKQ60zY/+ozQ9Rn1ovl6GYtI5LWtgvSdJ3YZ/tNzSTR/IBxyPQ+azY1K0eC98LgydnZOPqmtY3/gfu6GhT892Nc7GwmOT7zMq8ntOTx180qG0xWhhGTho9jhmOTmHMFRxYZIP3Jxs/0nE5f03nToclFPx3i5hwzgNO54zjd46tPIqRNZATiacL/vDfycPaCTZbcyUEUIIyex4o4cnNO73JH7I6POI1bvjJ0/A7d0OS2wV+3YP31Ga96vcI44vZ8Viu3e0kNpnc3ssUcZIaC97QTvOFrxTOqs3pT2z+z/AGWB4jkdTtsdQWjItjyB19Y03AfeWORXY6o/4hlSeEpPPPCosWO64bKQ6V8D4xGTQiR7mktGJxLXucHBoplvLmDeQoIvKk3a2aZ2IAkA1D2a1IPtEak0HGh3GZLpE1mbCyePEAMXdkzAJcTk0+s7P8McaEO2InicJGuikDSHENc8HI6d9rQamgyO9BsOyu0DLysboLTQyua6OZugeHAnGymgNK8lhm0NyPsNqkgfngPdP32HNrvEe8FaXd+z9qi7C1WNmOgDg2oxOY7VjweIyrxHJS/SNswbxskdrs7a2iFpEkdKPLNXsLdcTDu5lRWSxPqvHBRo3FpoagjipbjUVCrJAevSmnE7x5FOMcqPV4vV4oPcRXJK9QVxet3dR8Vy5UWmb1m9Gf2hQb318T8ly5BBCUfryXLkEizeqE8Fy5B4dV5JoOvyXLkDe5Trp/et6t/uXLkJ2+g7v/i4v6Df7Wq1NXLlhuhF4/xUPT/2Rp35rly1GK+YPSH/APpWv/mJPkqzY/33+1/9pXLkU4P4g9fyVtuD91aOsX/htK5cpVjavR9/AWP+i74lTLq/jbT1b/axcuQr5x2l/i5v6knxTMOi5cqkckb1y5ELXhXLkHi5cuQf/9k=</field> + <field name="image">/9j/4AAQSkZJRgABAQEA8ADwAAD/4gxYSUNDX1BST0ZJTEUAAQEAAAxITGlubwIQAABtbnRyUkdCIFhZWiAHzgACAAkABgAxAABhY3NwTVNGVAAAAABJRUMgc1JHQgAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLUhQICAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFjcHJ0AAABUAAAADNkZXNjAAABhAAAAGx3dHB0AAAB8AAAABRia3B0AAACBAAAABRyWFlaAAACGAAAABRnWFlaAAACLAAAABRiWFlaAAACQAAAABRkbW5kAAACVAAAAHBkbWRkAAACxAAAAIh2dWVkAAADTAAAAIZ2aWV3AAAD1AAAACRsdW1pAAAD+AAAABRtZWFzAAAEDAAAACR0ZWNoAAAEMAAAAAxyVFJDAAAEPAAACAxnVFJDAAAEPAAACAxiVFJDAAAEPAAACAx0ZXh0AAAAAENvcHlyaWdodCAoYykgMTk5OCBIZXdsZXR0LVBhY2thcmQgQ29tcGFueQAAZGVzYwAAAAAAAAASc1JHQiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAABJzUkdCIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWFlaIAAAAAAAAPNRAAEAAAABFsxYWVogAAAAAAAAAAAAAAAAAAAAAFhZWiAAAAAAAABvogAAOPUAAAOQWFlaIAAAAAAAAGKZAAC3hQAAGNpYWVogAAAAAAAAJKAAAA+EAAC2z2Rlc2MAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAFklFQyBodHRwOi8vd3d3LmllYy5jaAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABkZXNjAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAC5JRUMgNjE5NjYtMi4xIERlZmF1bHQgUkdCIGNvbG91ciBzcGFjZSAtIHNSR0IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZGVzYwAAAAAAAAAsUmVmZXJlbmNlIFZpZXdpbmcgQ29uZGl0aW9uIGluIElFQzYxOTY2LTIuMQAAAAAAAAAAAAAALFJlZmVyZW5jZSBWaWV3aW5nIENvbmRpdGlvbiBpbiBJRUM2MTk2Ni0yLjEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHZpZXcAAAAAABOk/gAUXy4AEM8UAAPtzAAEEwsAA1yeAAAAAVhZWiAAAAAAAEwJVgBQAAAAVx/nbWVhcwAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAo8AAAACc2lnIAAAAABDUlQgY3VydgAAAAAAAAQAAAAABQAKAA8AFAAZAB4AIwAoAC0AMgA3ADsAQABFAEoATwBUAFkAXgBjAGgAbQByAHcAfACBAIYAiwCQAJUAmgCfAKQAqQCuALIAtwC8AMEAxgDLANAA1QDbAOAA5QDrAPAA9gD7AQEBBwENARMBGQEfASUBKwEyATgBPgFFAUwBUgFZAWABZwFuAXUBfAGDAYsBkgGaAaEBqQGxAbkBwQHJAdEB2QHhAekB8gH6AgMCDAIUAh0CJgIvAjgCQQJLAlQCXQJnAnECegKEAo4CmAKiAqwCtgLBAssC1QLgAusC9QMAAwsDFgMhAy0DOANDA08DWgNmA3IDfgOKA5YDogOuA7oDxwPTA+AD7AP5BAYEEwQgBC0EOwRIBFUEYwRxBH4EjASaBKgEtgTEBNME4QTwBP4FDQUcBSsFOgVJBVgFZwV3BYYFlgWmBbUFxQXVBeUF9gYGBhYGJwY3BkgGWQZqBnsGjAadBq8GwAbRBuMG9QcHBxkHKwc9B08HYQd0B4YHmQesB78H0gflB/gICwgfCDIIRghaCG4IggiWCKoIvgjSCOcI+wkQCSUJOglPCWQJeQmPCaQJugnPCeUJ+woRCicKPQpUCmoKgQqYCq4KxQrcCvMLCwsiCzkLUQtpC4ALmAuwC8gL4Qv5DBIMKgxDDFwMdQyODKcMwAzZDPMNDQ0mDUANWg10DY4NqQ3DDd4N+A4TDi4OSQ5kDn8Omw62DtIO7g8JDyUPQQ9eD3oPlg+zD88P7BAJECYQQxBhEH4QmxC5ENcQ9RETETERTxFtEYwRqhHJEegSBxImEkUSZBKEEqMSwxLjEwMTIxNDE2MTgxOkE8UT5RQGFCcUSRRqFIsUrRTOFPAVEhU0FVYVeBWbFb0V4BYDFiYWSRZsFo8WshbWFvoXHRdBF2UXiReuF9IX9xgbGEAYZRiKGK8Y1Rj6GSAZRRlrGZEZtxndGgQaKhpRGncanhrFGuwbFBs7G2MbihuyG9ocAhwqHFIcexyjHMwc9R0eHUcdcB2ZHcMd7B4WHkAeah6UHr4e6R8THz4faR+UH78f6iAVIEEgbCCYIMQg8CEcIUghdSGhIc4h+yInIlUigiKvIt0jCiM4I2YjlCPCI/AkHyRNJHwkqyTaJQklOCVoJZclxyX3JicmVyaHJrcm6CcYJ0kneierJ9woDSg/KHEooijUKQYpOClrKZ0p0CoCKjUqaCqbKs8rAis2K2krnSvRLAUsOSxuLKIs1y0MLUEtdi2rLeEuFi5MLoIuty7uLyQvWi+RL8cv/jA1MGwwpDDbMRIxSjGCMbox8jIqMmMymzLUMw0zRjN/M7gz8TQrNGU0njTYNRM1TTWHNcI1/TY3NnI2rjbpNyQ3YDecN9c4FDhQOIw4yDkFOUI5fzm8Ofk6Njp0OrI67zstO2s7qjvoPCc8ZTykPOM9Ij1hPaE94D4gPmA+oD7gPyE/YT+iP+JAI0BkQKZA50EpQWpBrEHuQjBCckK1QvdDOkN9Q8BEA0RHRIpEzkUSRVVFmkXeRiJGZ0arRvBHNUd7R8BIBUhLSJFI10kdSWNJqUnwSjdKfUrESwxLU0uaS+JMKkxyTLpNAk1KTZNN3E4lTm5Ot08AT0lPk0/dUCdQcVC7UQZRUFGbUeZSMVJ8UsdTE1NfU6pT9lRCVI9U21UoVXVVwlYPVlxWqVb3V0RXklfgWC9YfVjLWRpZaVm4WgdaVlqmWvVbRVuVW+VcNVyGXNZdJ114XcleGl5sXr1fD19hX7NgBWBXYKpg/GFPYaJh9WJJYpxi8GNDY5dj62RAZJRk6WU9ZZJl52Y9ZpJm6Gc9Z5Nn6Wg/aJZo7GlDaZpp8WpIap9q92tPa6dr/2xXbK9tCG1gbbluEm5rbsRvHm94b9FwK3CGcOBxOnGVcfByS3KmcwFzXXO4dBR0cHTMdSh1hXXhdj52m3b4d1Z3s3gReG54zHkqeYl553pGeqV7BHtje8J8IXyBfOF9QX2hfgF+Yn7CfyN/hH/lgEeAqIEKgWuBzYIwgpKC9INXg7qEHYSAhOOFR4Wrhg6GcobXhzuHn4gEiGmIzokziZmJ/opkisqLMIuWi/yMY4zKjTGNmI3/jmaOzo82j56QBpBukNaRP5GokhGSepLjk02TtpQglIqU9JVflcmWNJaflwqXdZfgmEyYuJkkmZCZ/JpomtWbQpuvnByciZz3nWSd0p5Anq6fHZ+Ln/qgaaDYoUehtqImopajBqN2o+akVqTHpTilqaYapoum/adup+CoUqjEqTepqaocqo+rAqt1q+msXKzQrUStuK4trqGvFq+LsACwdbDqsWCx1rJLssKzOLOutCW0nLUTtYq2AbZ5tvC3aLfguFm40blKucK6O7q1uy67p7whvJu9Fb2Pvgq+hL7/v3q/9cBwwOzBZ8Hjwl/C28NYw9TEUcTOxUvFyMZGxsPHQce/yD3IvMk6ybnKOMq3yzbLtsw1zLXNNc21zjbOts83z7jQOdC60TzRvtI/0sHTRNPG1EnUy9VO1dHWVdbY11zX4Nhk2OjZbNnx2nba+9uA3AXcit0Q3ZbeHN6i3ynfr+A24L3hROHM4lPi2+Nj4+vkc+T85YTmDeaW5x/nqegy6LzpRunQ6lvq5etw6/vshu0R7ZzuKO6070DvzPBY8OXxcvH/8ozzGfOn9DT0wvVQ9d72bfb794r4Gfio+Tj5x/pX+uf7d/wH/Jj9Kf26/kv+3P9t////2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCACgAGoDAREAAhEBAxEB/8QAHAAAAgMBAQEBAAAAAAAAAAAABQYDBAcBAggA/8QAPBAAAgEDAgQEAwYEBAcBAAAAAQIDAAQRBSEGEjFBEyJRYQdxgRQyUpGhsRVC4fAIJDPBFiM0U3LR8aL/xAAbAQACAwEBAQAAAAAAAAAAAAACAwABBAUGB//EAC8RAAICAgIBBAEDAwMFAAAAAAABAhEDIRIxBAUTIkFRFGFxMrHwQpHBUoGh0eH/2gAMAwEAAhEDEQA/APm+PmPesrZpSJwDj71DYVE8W381U2XRYBONmNVZdEsbEdSx+lUyInWQnorn6VVEOjxCdo5KhZKPFA2jb86hKPapO/3Yc/Woimc8C6ztDRUUda1vCNowPpVpFWU5bG7J3AH0okgWL+rmaBiGamwQuTA/MfU02hdmg2/DRbGQazWaQtacJh8ZWhJYUg4RjHVRVF2EIOE4QRlVqaJZZbhq1hXLKPkBVOSRaTfQIvYIIHeMRqjD2oHO+hqhXZWezubi3MlpEHiiPnYY8vv8qG/yFRSW2kMzGRDGSOjd6uy0jzGHhkOCVY7ge1SyONh2WaGWytHhTEzE8w7YFXyYv2wqLKB0QIFMjdV7imqSYhxaKlzpygN5BRpgmVcZxcl1gDG9MiAxb8I0fIrib7bWgwKyWPoLWluBVWXQTS3RIWklYKP5c96HkguLPKXdqsTSZDlfuoD1PvSZZG9IdDGu2B9R1a4uIPFeJlXOERdwdv760CjsZddAK4aS5YeFFzkJgh+gPpv+tMWgas9pYTcmY+URYGeUcw+W3SpyRdM9NDJFZoZWEi5YcpBzjv8AL/7VX+C0jxDZ2twgFucMwPhiTpn8P9au/wAkOX+nXNrNCkkHhBh5ebfmz8qtOwSOxvZrWYS3KusJ250G3y9qv+AWr7GazlF3C4eMDy+XG+1HGTEzijI+OrYnUCoHetMWIoXRYyY6VLJRv9vBsKz2ODFhYSzkeFEXycADufSglKkFGNs5f28rzmHMcjjCsq9FUdd+9Z3K3ZpSpFaHRMTTsXw+DlM+U99/TttV3ohFdxQxq9ufD50A8dmOcD299+lVZZDd2L27s0QcNIpaRmBPX7q/PH71dkRZ0m2tm04SOo8PmEaxk48TPaqbCaC8dvZ2YlhmRTbO3LHJId0PfOe3TfP7VVldixrlqbC5LW4iWJz50xzcrA4JHcdP/tGnZVFRdTkkhEN1Gz2bSZSVFybV89MdeU+n5elEkCwRqIaLnaxZZE5gXQ7b+o9qJfuCy7wxfSTO3hp4TjYrjb8qjdAtWK/xJtHs7qO4kxyybhsbGtEJckZ5RpiYNRX+xTKBPoW3tzkAdTsKzDR0ER0XTFjaUSX8yFVjTpEnU792P9KTkkukNxxfbCFhY22m2Eb3MZa6aIysgG+duVSe3X96BINuxY1fWrRYZjbwl5GYQwb8vM2RzN+Z/vepQSBUGj20UUrspYoQWZty8h35QfbvV2yF21026nXx5/ueOVRBueXpze+SP1qUSxgsdFg1CxsxDEFcynynbBVgTv67VKspzoYG4YaeW9hliBimTnwRuGJCsPbYA1fB2B7qqxKvuB7/AE+/d7ZGnWMAnxCWyO+3zqnBpjo5YtbFu9tVtxNGY3ReVYrkhfKpAIyw77cv71EUxa1S2dY2eytmkCglmAIwp6deo3zTELZzTpxp95EXjZJVALgjZ89/1q2rRRL8UoxccIvMkHMgbIKndKPC9gZOjCc1sozn2VwPor6jqqyOo+zw7knu3YD96xMddDZquhxzXIKKWk5gOc9AM7CkOOxsZaFniGeSC9KxOT4jHMvN05WCgge5LfpUoJPQva5ZRvJbC2RTDzApynJUAg5+ZI3q+i0xp0HS7e/MvLdQuzObjkx50YncYPb5UKduiStbCuncMTW865J5QzebOdsHBx6jY0ai/sW5oPR6baWMJmnIaMSCUFDuh6E+/U/Q1dJbZVuTpHq64ktbWRS7KWKhQ59cnv8AL9qjy0UsDZZs9XgMg5wGLgEj6biosqTLlhdEdxp+l6pK8wijDyIY5oztzj0P0orjJ2gflBUzPOIeEILCzmks7kLbIoGZiCOTccrH2z+VC19oNSvTMa1ua4ieOJ5EMtu7ABwSeXHT5D/1RxIy6ss+o8LXKc4GEKspGTjGRmijqQMtowmReWRhzA4JFbDOfeej3MOk6elqrKJCAnN0y5GT9dwK58pbo0RjewrfalbiSazEq80EReR1YZX2x6nH02qm09ESfYka/NYW9zbWtwyG2eIKAp3Vlww3/wDIH64oHSHwi5boX7m3vEinOneHdWEqeSeE4ZAeiuB06df1oW9DoQt09MB6Xb6noupx3kN2zSI2Sr783se+O1ByGyxXpmkwcY3GoMHjjEMoPmDDZ9u/v/fyN5b6ErxePZau9QuL6xMCjz9NjjIoHJtUGsKi7FTXNKunsSrSP4gIKuNj9R6il7Q5pSHXRrTnhVnLAryjPoRuKOKsTk1oq8SiWyfxInIXbcdquSpgRqSA3EGsluGI/tCRXMUswEqMNzH/ADDHfHX1FNhJtCJQSkYhxNG6aq00BJBHKOc+YKNh+gx8vlT49AtFvSr8NBOGfwFSMjGeox0q62A+jG7hFNxKQGxzHG/vWozH1Fr2pT2l9psjyuLdZQ7nGejCudk1I34knFinofEt43HOoL4rtHfGZfKc4BOc574wMVV1AasdzSHaSzNzEZZFLyHc7VntyN0YqGi9o9hKW/y/lPTrirRJOKWy7NokkrsXYM/ooqmnYPNJHdO4fuTcZCMB61ag2U8sUhjj0m4g5MplaZwaFe7FhiTR/tcallHNtuetG8diFl4sL2mnLbxgHGcb0ahQiWXkwXxXpf2zTnEIxMoyvvQzja0HinT2YZr2rz6fAdPnDpIsjllYdyMZz9arGg8irYlX9xD4JMn38ZIHt3x2pyTFpocuBuB9MvuHbniXjKWWw0EDMMYJjeYfiPcDOwA3NW5cVZFjeSXGK2/82K8uifDl5XaLTdeEbMSo+0jp27VmfmZf+k6q9Gg1uf8Ac1C8s4r22eGYZVhjPofWtTipKjhxm4u0Zbpemy6Tx3ZQSgkhmAP4sg1myL4tG/FJOSZuGmac8sCsBt1+lIjs0ylQf0/RAHVkwoYb423pigInloO2mjpbsWbzMdxkUyOKnZmln5aL9vCkSksAM9M02CrsVOTlpHHPO+EQt7gVbdvRaVLbCFvBhclcN706MNGbJk3o8yoASSckUMkXFtlCZgX5aSzRHSPnb4zcXaRq2pDQeELb+L8Qc4V54N4bc9CCw+8fYbD17UccSj8p6RHklL4R3/wd4B4FutG1WyuuJWE08rAvGR5UOP6UOSd6+huKLjuxs19X4716K0WVYdC04gsucCV+23oB+9JlLl0dCEVhjf2wx/wVYDYQx47eUUqmF+pYICY7V0DggnXNIS6ubS9iHLc28gYH1GdxS8kbTH4cnGSQ9cN30PP9nZgJBuR3rJBG/JbVjZbvHKTArYcg8pNOST+Jlla+RakvFhtFlOCF8p9jRcqSYr27k0ANS4ss9M5mvCVVd2z2/sUHu12aF4/JaAN78XdJi8umCS9yBjwFyv1c4X9aZ7kv4Ffp4v8Ac7b8d6nqCMYEsLSPu0srzMPooUf/AKNRZV9thfpJdpIX+KeN+INHs3v7a4sdShhjMk8EULRyco3LKeZht6H86kXGbpOi3jeNXJWZceOuM/i9qP8ABdI8XSeHz/1lxEu4TG/M4657IOud9q0SjHDG3tmWLeaVRVI2b4c8E6Pw4Il061WNIhs7gGSRu7sfX9B2rJyc5XJmxxUIcYhvjGJZLXyHlYnGfTt/vVy6KxaZlOj8A65pXGcreOJ4WcSYDEBlPT60Eo8qil0dKGePByb7NsjVxGoML5AFM4/sYX32IfICKec0ju5bW0h8S9uIbeM9GlcKD8s9alWS6KUfE/D1sy3sr3TuBtJDaysB755cGsig0zpSy2tFW6+LOj24drea4Rx5leWBlAPvkUXtz+iucP8AV0V7L4xafHGz3E0UssmS1vATKz5PQKNzUWPJfRcp4a/q/wCTNuJ+LbjiW4N0YJltJP8ARtWOfDG/3/xN5TsdhjG53pscPH+RazKSX+f7ggXd9cyQrbrIHbbmxuAPn0q+MU9jeTmqWhoXga71SeOW61u4sLDlDOpdmYnHQb4xRrJBLoRLBkb/AKmPPBvA2n3F4Tp8t+LZPLJK0vll2xg52I+QpEnyehzfBUzWeF+H7fQOF9O0y1ChLeBI+YIFLYGMkDuauVvZmi/r8FvkW2jYgAE0HQ3sSeL9REcITqxYY/Ohb0PhH7GjhaYXdml1KuZ2IjQscc2PT2pmNisy4/FdfYxG3vs/61qPbkJx+taOGT8oy+5h/D/3MkvJZbWwubiGFriSKNpFhU4MhAzyg9s1BBl2gx65xxa2t5bzpplrIG+13i4e4ds7xrndAvTAwMYNN+MH+QNyQT4/0i70nSYGtZLi+gGIwrv5lPqT3FZuMeVm7Flco01bRlN1pmq3E6yCV4IgMlVGPp7/AFpycIrot48kn3SNO/w1aNLb8Y6hDMsaxvbmWM7Fj5xv7f0oMzWSgccXhUr6NV46+FenTXmo6i7n+H37rNPGowYJP5pAR1VsKWGNjk9zVZIyxpSiwcEo5bxtb/v/APQdB8N9Pu41MUirkkq0DeXHbHrtSI2zU5+2wna/DNRgSXcroN9zmi9oj8v9h80PQ7HSrRYkU7DfJ60yMIrsyZMs5vRcurhFGx2oZSX0Xjxti5rF8gjbDAAdaTJmyETNNduPtT5ySAdiT0paH1QzcO8d8OaNorteXEa3NuMOhOW5vYUzHNRfWxeXxp5N3SMtvf8AEBqJvJzb2C+CZGKcz78uds/StPCb3Yj9RgjpRbo0xCcUZzjlnY2kV3czqpie4w0hXozAYBI+QwTU/khHrVmtzpFzE5XBXIJPQil5V8WNwSrIhTtuCvHYPLKWjO/Kv/us0ZOjrNUNvBmlQaJxXY+AoDyKYth2xmrjJ81YrLFe2zaLleaAA9OhzXSmviji43UjNNYMGh6g/wBll8BWOfD6KCT2rmTXF6O5jvLFclYb0rUZp4lcHmBx0NHCboVkxRTovXF04Qn96JyYEMasXtT1XkDEdT7daU5GzHhsWrq8aYYc4yc7jO1CHKFdC9dRq0LlsYLE7ftUoBvZkOu2kj6/cy8vkd9j9KenoGSAkmgytIxUHBJIpyyIwPA7PpxCT2ojGTxjfpUIe5AHjZCNmBFU1aoKLp2C9BvGmJtmPK8RKMPcGsMU06O62nFSX2PPClhA+om7lIMsS8qH05up/Lan4Yrlsw+VN8aQ5XFxGsQyST1rZKao50McmxcvY9PvlnjulhYcu5bHlrK+Muzowc4U4g/QLNrXT4t1ZCDysDt1pUVQ3LNSk0XrpSUPONuh96NgRddCxqsSPjO2dsHqKW1ZsxyaF++AUhE6nr70FBN2BdVlEVpIWOMVYuti7penpqVpJI6jIY71TdMOj9/BF9DU5AUaOjDat5widHFQhMCDUIKnE3Po+qpqEP8AoXOEfbZZB3+o/as+WNO0dLw8vKPB/Qy6fPqjaTJeaXLFHcFNlmB5X+o6H33pUZM0yUW6Zmeu/E3iaNZrSZollQlCYxvn502Pz+wuMIdIXuHZuJ+KdVjt11C4gt5GzKynAx8+9ScYxVFRySu30fWGj2sNlo9pZg5WGMIC3U4HejikopHNySlLI5EV86RocH6GqehkbYsam6vzOp5sD5Uts049aFG9kHilieXA/Kls0diTxZqOUdObAOdquKsKELLXBz50dVzvIxJoZdhSVMZhAuBgbUIovxyq2NxXSOAW4sGoQnTFUQj1Syi1LTprWTGHHlP4WHQ/nVSXJUHjm4SUkIMWvX+hpLDcyE2sTeGy43jb39j61iaadHZjJSVoUNRWz1XUQ8F7BzztzEc33fajhyj9B1z6HzhPWuE+HlSK+1e3ilUeYepqcJSdtFTjKqQ3XXxZ4YijC2mqR3LHosaMxFHUkZ1hbeyhb8dWetXISJpFHYuMUuT/ACMWOlouX2poEwG8g7561VlqAo6xqCBfKw5juQDVD4mca9em4uuRW26UyK0aYx4qxz4RA8BObaNB27mky7Ez0NAnbGxFCBo9QHpvXTPOBK3OO9WQtqc9DVFkikjvUKFrjPSJZoZL6xjEsnJieHG8ijuPcftScuPltGzxc/H4S6EaF+H5rVI760TlXclB5vmKRC0zrwkvsYtFl4AtQ3g29qTjzeLHzMe/Vqc5FvrTQctuJuHVZvslva20I/7cYBb60mUm/oTT/IF1rXdKu2ZLVVZvxItBQaiwHdXrwITzyrgZ81WkEhbvtWwjYOWPU0Sjs0QhYDtSbi7BPUn8qYwpy/BoWk3C29qoJwAKQ0Z3svC+uWGVt2IO43qUDaCUE55utdE84FbeZiBg1RC9DI+RvUIXeYlashQ1LW7bTELTygMO2aVPLGHZ0fC9Lz+Y/gtGT63qFjqmtScsItln+642HP6496y8+Ts9H5Ho0/DwKd3XZPp3AzXrFnuHjwd+X09av3X9HLjBPY46d8N7Bol/zUzsfV9qpykypVELDhzStFhPmQsBuT1FVV9lKTfRlfG2r2sl2YbI+VT5mDbGjjFo044PtiVcXXiNhfu05RoZLIkqQV0RMuGbpQyEudjDca3Y6eo+0yDy7+GDk07xfBy+TKoL/v8ARi8rzcfjRub2Dm+JqhiEsk5Qdssc4rur0DDW8m/4OC/WM16h/wCRztLxtq4tDQ1Z3RxnFQsvxXxDdKhAXxRxO1hAIoMeO+w9qTlycdI73ovpX62fKf8ASjOr3VZLiVvtchaX1Pesbjez6N4+KGGKhBUBrybxOvar6G5VFpphjTON5rW2EFy3mUcol7ke9MhDkeJ87wXgk5Yuv7BGz+J8thGwWZJT2Of9qZ7JzUnLTFHib4k3molwzyMD2XyitWLwnJcrMmXzseB8abYtW+q/bn5c8rfhNXLD7fYC895SSa8itj/zpAD+EbmqjilPpFS8pR/qZBLxLMF5LQFB+LvW3D4MW7mY83qMqrGVoUnvH5pmbc9+9egwYqjS0jh5svKV9thYaXsPIab+p8Vac0aF6N6pJclhlT/Y0e2v8Y3rxxrsMWeokY3qgrCcepqiM7HYDNUXFcnSM31vVG1C8nm5iVB5U9qxzfys+n+keMsPhpfb2BnuS/lmyD60LX2jb76fwyaZWuboxrjmDfvVxx8jL5HmPGqTsoSzq4zT443E5mXyY5FYNn8r8y9K0I4ef4y5IpzLzk460/Fk4fwcvycCzddlMEo+VJBFa2lJHJ3B/uelzI2WySe5pkIoCTbCthalsHAUUc/MxeOvyzb4no+fzHb+Mf3/APQftESEDH3vU1yPK9Sz5/jdR/CPcel+i+H4NTjG5fl/5ot+MPaucei91H//2Q==</field> </record> <record id="employee_jgo" model="hr.employee"> @@ -349,17 +349,17 @@ If you have development competencies, we can propose you specific traineeships</ <field name="job_id" ref="hr.job_consultant"/> <field name="work_location">Grand-Rosière</field> <field name="work_phone">+3282823500</field> - <field name="image">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</field> + <field name="image">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</field> </record> <record id="employee_lur" model="hr.employee"> - <field name="name">Luigi Roni</field> + <field name="name">Luigi Rondi</field> <field name="department_id" ref="dep_sales"/> <field name="job_id" ref="hr.job_marketing"/> <field name="work_location">Auderghem</field> <field name="work_phone">+3282823500</field> <field name="work_email">lur@openerp.com</field> - <field name="image">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</field> + <field name="image">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</field> </record> <record id="employee_hne" model="hr.employee"> @@ -368,7 +368,7 @@ If you have development competencies, we can propose you specific traineeships</ <field name="job_id" ref="hr.job_consultant"/> <field name="work_location">Grand-Rosière</field> <field name="work_phone">+3282823500</field> - <field name="image">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</field> + <field name="image">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</field> </record> <record id="employee_djj" model="hr.employee"> @@ -377,7 +377,7 @@ If you have development competencies, we can propose you specific traineeships</ <field name="job_id" ref="hr.job_consultant"/> <field name="work_location">Grand-Rosière</field> <field name="work_phone">+3282823500</field> - <field name="image">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</field> + <field name="image">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</field> </record> <record id="employee_dzc" model="hr.employee"> @@ -386,7 +386,7 @@ If you have development competencies, we can propose you specific traineeships</ <field name="job_id" ref="hr.job_developer"/> <field name="work_location">Auderghem</field> <field name="work_phone">+3282823500</field> - <field name="image">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</field> + <field name="image">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</field> </record> </data> </openerp> diff --git a/addons/hr/i18n/he.po b/addons/hr/i18n/he.po new file mode 100644 index 00000000000..b4f74a25a8d --- /dev/null +++ b/addons/hr/i18n/he.po @@ -0,0 +1,963 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:04+0000\n" +"PO-Revision-Date: 2013-12-30 19:04+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: hr +#: model:process.node,name:hr.process_node_openerpuser0 +msgid "Openerp user" +msgstr "" + +#. module: hr +#: field:hr.config.settings,module_hr_timesheet_sheet:0 +msgid "Allow timesheets validation by managers" +msgstr "" + +#. module: hr +#: field:hr.job,requirements:0 +msgid "Requirements" +msgstr "" + +#. module: hr +#: model:process.transition,name:hr.process_transition_contactofemployee0 +msgid "Link the employee to information" +msgstr "" + +#. module: hr +#: field:hr.employee,sinid:0 +msgid "SIN No" +msgstr "" + +#. module: hr +#: model:ir.actions.act_window,name:hr.open_board_hr +#: model:ir.ui.menu,name:hr.menu_hr_dashboard +#: model:ir.ui.menu,name:hr.menu_hr_main +#: model:ir.ui.menu,name:hr.menu_hr_reporting +#: model:ir.ui.menu,name:hr.menu_hr_root +#: model:ir.ui.menu,name:hr.menu_human_resources_configuration +msgid "Human Resources" +msgstr "" + +#. module: hr +#: help:hr.employee,image_medium:0 +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 "" + +#. module: hr +#: view:hr.config.settings:0 +msgid "Time Tracking" +msgstr "" + +#. module: hr +#: view:hr.employee:0 +#: view:hr.job:0 +msgid "Group By..." +msgstr "" + +#. module: hr +#: model:ir.actions.act_window,name:hr.view_department_form_installer +msgid "Create Your Departments" +msgstr "" + +#. module: hr +#: help:hr.job,no_of_employee:0 +msgid "Number of employees currently occupying this job position." +msgstr "" + +#. module: hr +#: field:hr.config.settings,module_hr_evaluation:0 +msgid "Organize employees periodic evaluation" +msgstr "" + +#. module: hr +#: view:hr.department:0 +#: view:hr.employee:0 +#: field:hr.employee,department_id:0 +#: view:hr.job:0 +#: field:hr.job,department_id:0 +#: model:ir.model,name:hr.model_hr_department +msgid "Department" +msgstr "" + +#. module: hr +#: field:hr.employee,work_email:0 +msgid "Work Email" +msgstr "" + +#. module: hr +#: help:hr.employee,image:0 +msgid "" +"This field holds the image used as photo for the employee, limited to " +"1024x1024px." +msgstr "" + +#. module: hr +#: help:hr.config.settings,module_hr_holidays:0 +msgid "This installs the module hr_holidays." +msgstr "" + +#. module: hr +#: view:hr.job:0 +msgid "Jobs" +msgstr "" + +#. module: hr +#: view:hr.job:0 +msgid "In Recruitment" +msgstr "" + +#. module: hr +#: field:hr.job,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: hr +#: field:hr.department,company_id:0 +#: view:hr.employee:0 +#: view:hr.job:0 +#: field:hr.job,company_id:0 +msgid "Company" +msgstr "" + +#. module: hr +#: field:hr.job,no_of_recruitment:0 +msgid "Expected in Recruitment" +msgstr "" + +#. module: hr +#: field:res.users,employee_ids:0 +msgid "Related employees" +msgstr "" + +#. module: hr +#: constraint:hr.employee.category:0 +msgid "Error! You cannot create recursive Categories." +msgstr "" + +#. module: hr +#: help:hr.config.settings,module_hr_recruitment:0 +msgid "This installs the module hr_recruitment." +msgstr "" + +#. module: hr +#: view:hr.employee:0 +msgid "Birth" +msgstr "" + +#. module: hr +#: model:ir.actions.act_window,name:hr.open_view_categ_form +#: model:ir.ui.menu,name:hr.menu_view_employee_category_form +msgid "Employee Tags" +msgstr "" + +#. module: hr +#: view:hr.job:0 +msgid "Launch Recruitement" +msgstr "" + +#. module: hr +#: model:process.transition,name:hr.process_transition_employeeuser0 +msgid "Link a user to an employee" +msgstr "" + +#. module: hr +#: field:hr.department,parent_id:0 +msgid "Parent Department" +msgstr "" + +#. module: hr +#: model:ir.ui.menu,name:hr.menu_open_view_attendance_reason_config +msgid "Leaves" +msgstr "" + +#. module: hr +#: selection:hr.employee,marital:0 +msgid "Married" +msgstr "" + +#. module: hr +#: field:hr.job,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: hr +#: view:hr.config.settings:0 +msgid "Talent Management" +msgstr "" + +#. module: hr +#: help:hr.config.settings,module_hr_timesheet_sheet:0 +msgid "This installs the module hr_timesheet_sheet." +msgstr "" + +#. module: hr +#: view:hr.employee:0 +msgid "Mobile:" +msgstr "" + +#. module: hr +#: view:hr.employee:0 +msgid "Position" +msgstr "" + +#. module: hr +#: help:hr.job,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: hr +#: field:hr.employee,color:0 +msgid "Color Index" +msgstr "" + +#. module: hr +#: model:process.transition,note:hr.process_transition_employeeuser0 +msgid "" +"The Related user field on the Employee form allows to link the OpenERP user " +"(and her rights) to the employee." +msgstr "" + +#. module: hr +#: field:hr.employee,image_medium:0 +msgid "Medium-sized photo" +msgstr "" + +#. module: hr +#: field:hr.employee,identification_id:0 +msgid "Identification No" +msgstr "" + +#. module: hr +#: selection:hr.employee,gender:0 +msgid "Female" +msgstr "" + +#. module: hr +#: model:ir.ui.menu,name:hr.menu_open_view_attendance_reason_new_config +msgid "Attendance" +msgstr "" + +#. module: hr +#: field:hr.employee,work_phone:0 +msgid "Work Phone" +msgstr "" + +#. module: hr +#: field:hr.employee.category,child_ids:0 +msgid "Child Categories" +msgstr "" + +#. module: hr +#: field:hr.job,description:0 +#: model:ir.model,name:hr.model_hr_job +msgid "Job Description" +msgstr "" + +#. module: hr +#: field:hr.employee,work_location:0 +msgid "Office Location" +msgstr "" + +#. module: hr +#: field:hr.job,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: hr +#: view:hr.employee:0 +#: model:ir.model,name:hr.model_hr_employee +#: model:process.node,name:hr.process_node_employee0 +msgid "Employee" +msgstr "" + +#. module: hr +#: model:process.node,note:hr.process_node_employeecontact0 +msgid "Other information" +msgstr "" + +#. module: hr +#: help:hr.employee,image_small:0 +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 "" + +#. module: hr +#: field:hr.employee,birthday:0 +msgid "Date of Birth" +msgstr "" + +#. module: hr +#: help:hr.job,no_of_recruitment:0 +msgid "Number of new employees you expect to recruit." +msgstr "" + +#. module: hr +#: model:ir.actions.client,name:hr.action_client_hr_menu +msgid "Open HR Menu" +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 "" + +#. 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 "" + +#. module: hr +#: view:board.board:0 +msgid "Human Resources Dashboard" +msgstr "" + +#. module: hr +#: view:hr.employee:0 +#: field:hr.employee,job_id:0 +#: view:hr.job:0 +msgid "Job" +msgstr "" + +#. module: hr +#: field:hr.job,no_of_employee:0 +msgid "Current Number of Employees" +msgstr "" + +#. module: hr +#: field:hr.department,member_ids:0 +msgid "Members" +msgstr "" + +#. module: hr +#: model:ir.ui.menu,name:hr.menu_hr_configuration +msgid "Configuration" +msgstr "" + +#. module: hr +#: model:process.node,note:hr.process_node_employee0 +msgid "Employee form and structure" +msgstr "" + +#. module: hr +#: field:hr.config.settings,module_hr_expense:0 +msgid "Manage employees expenses" +msgstr "" + +#. module: hr +#: view:hr.employee:0 +msgid "Tel:" +msgstr "" + +#. module: hr +#: selection:hr.employee,marital:0 +msgid "Divorced" +msgstr "" + +#. module: hr +#: field:hr.employee.category,parent_id:0 +msgid "Parent Category" +msgstr "" + +#. module: hr +#: view:hr.department:0 +#: model:ir.actions.act_window,name:hr.open_module_tree_department +#: model:ir.ui.menu,name:hr.menu_hr_department_tree +msgid "Departments" +msgstr "" + +#. module: hr +#: model:process.node,name:hr.process_node_employeecontact0 +msgid "Employee Contact" +msgstr "" + +#. module: hr +#: model:ir.actions.act_window,help:hr.action_hr_job +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to define a new job position.\n" +" </p><p>\n" +" Job Positions are used to define jobs and their " +"requirements.\n" +" You can keep track of the number of employees you have per " +"job\n" +" position and follow the evolution according to what you " +"planned\n" +" for the future.\n" +" </p><p>\n" +" You can attach a survey to a job position. It will be used " +"in\n" +" the recruitment process to evaluate the applicants for this " +"job\n" +" position.\n" +" </p>\n" +" " +msgstr "" + +#. module: hr +#: selection:hr.employee,gender:0 +msgid "Male" +msgstr "" + +#. module: hr +#: view:hr.employee:0 +msgid "" +"$('.oe_employee_picture').load(function() { if($(this).width() > " +"$(this).height()) { $(this).addClass('oe_employee_picture_wide') } });" +msgstr "" + +#. 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 "" + +#. module: hr +#: help:hr.config.settings,module_hr_attendance:0 +msgid "This installs the module hr_attendance." +msgstr "" + +#. module: hr +#: field:hr.employee,image_small:0 +msgid "Smal-sized photo" +msgstr "" + +#. module: hr +#: view:hr.employee.category:0 +#: model:ir.model,name:hr.model_hr_employee_category +msgid "Employee Category" +msgstr "" + +#. module: hr +#: field:hr.employee,category_ids:0 +msgid "Tags" +msgstr "" + +#. module: hr +#: help:hr.config.settings,module_hr_contract:0 +msgid "This installs the module hr_contract." +msgstr "" + +#. module: hr +#: view:hr.employee:0 +msgid "Related User" +msgstr "" + +#. module: hr +#: view:hr.config.settings:0 +msgid "or" +msgstr "" + +#. module: hr +#: field:hr.employee.category,name:0 +msgid "Category" +msgstr "" + +#. module: hr +#: view:hr.job:0 +msgid "Stop Recruitment" +msgstr "" + +#. module: hr +#: field:hr.config.settings,module_hr_attendance:0 +msgid "Install attendances feature" +msgstr "" + +#. module: hr +#: help:hr.employee,bank_account_id:0 +msgid "Employee bank salary account" +msgstr "" + +#. module: hr +#: field:hr.department,note:0 +msgid "Note" +msgstr "" + +#. module: hr +#: model:ir.actions.act_window,name:hr.open_view_employee_tree +msgid "Employees Structure" +msgstr "" + +#. module: hr +#: view:hr.employee:0 +msgid "Contact Information" +msgstr "" + +#. module: hr +#: field:hr.config.settings,module_hr_holidays:0 +msgid "Manage holidays, leaves and allocation requests" +msgstr "" + +#. module: hr +#: field:hr.department,child_ids:0 +msgid "Child Departments" +msgstr "" + +#. module: hr +#: view:hr.employee:0 +#: view:hr.job:0 +#: field:hr.job,state:0 +msgid "Status" +msgstr "" + +#. module: hr +#: field:hr.employee,otherid:0 +msgid "Other Id" +msgstr "" + +#. module: hr +#: model:process.process,name:hr.process_process_employeecontractprocess0 +msgid "Employee Contract" +msgstr "" + +#. module: hr +#: view:hr.config.settings:0 +msgid "Contracts" +msgstr "" + +#. module: hr +#: help:hr.job,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: hr +#: field:hr.employee,ssnid:0 +msgid "SSN No" +msgstr "" + +#. module: hr +#: field:hr.job,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: hr +#: field:hr.config.settings,module_hr_recruitment:0 +msgid "Manage the recruitment process" +msgstr "" + +#. module: hr +#: view:hr.employee:0 +msgid "Active" +msgstr "" + +#. module: hr +#: view:hr.config.settings:0 +msgid "Human Resources Management" +msgstr "" + +#. module: hr +#: view:hr.config.settings:0 +msgid "Install your country's payroll" +msgstr "" + +#. module: hr +#: field:hr.employee,bank_account_id:0 +msgid "Bank Account Number" +msgstr "" + +#. module: hr +#: view:hr.department:0 +msgid "Companies" +msgstr "" + +#. module: hr +#: field:hr.job,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: hr +#: model:process.transition,note:hr.process_transition_contactofemployee0 +msgid "" +"In the Employee form, there are different kind of information like Contact " +"information." +msgstr "" + +#. module: hr +#: model:ir.actions.act_window,help:hr.open_view_employee_list_my +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to add a new employee.\n" +" </p><p>\n" +" With just a quick glance on the OpenERP employee screen, " +"you\n" +" can easily find all the information you need for each " +"person;\n" +" contact data, job position, availability, etc.\n" +" </p>\n" +" " +msgstr "" + +#. module: hr +#: view:hr.employee:0 +msgid "HR Settings" +msgstr "" + +#. module: hr +#: view:hr.employee:0 +msgid "Citizenship & Other Info" +msgstr "" + +#. module: hr +#: constraint:hr.department:0 +msgid "Error! You cannot create recursive departments." +msgstr "" + +#. module: hr +#: field:hr.employee,address_id:0 +msgid "Working Address" +msgstr "" + +#. module: hr +#: view:hr.employee:0 +msgid "Public Information" +msgstr "" + +#. module: hr +#: field:hr.employee,marital:0 +msgid "Marital Status" +msgstr "" + +#. module: hr +#: model:ir.model,name:hr.model_ir_actions_act_window +msgid "ir.actions.act_window" +msgstr "" + +#. module: hr +#: field:hr.employee,last_login:0 +msgid "Latest Connection" +msgstr "" + +#. module: hr +#: field:hr.employee,image:0 +msgid "Photo" +msgstr "" + +#. module: hr +#: view:hr.config.settings:0 +msgid "Cancel" +msgstr "" + +#. module: hr +#: model:ir.actions.act_window,help:hr.open_module_tree_department +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a department.\n" +" </p><p>\n" +" OpenERP's department structure is used to manage all " +"documents\n" +" related to employees by departments: expenses, timesheets,\n" +" leaves and holidays, recruitments, etc.\n" +" </p>\n" +" " +msgstr "" + +#. module: hr +#: help:hr.config.settings,module_hr_timesheet:0 +msgid "This installs the module hr_timesheet." +msgstr "" + +#. module: hr +#: help:hr.job,expected_employees:0 +msgid "" +"Expected number of employees for this job position after new recruitment." +msgstr "" + +#. module: hr +#: model:ir.actions.act_window,help:hr.view_department_form_installer +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to define a new department.\n" +" </p><p>\n" +" Your departments structure is used to manage all documents\n" +" related to employees by departments: expenses and " +"timesheets,\n" +" leaves and holidays, recruitments, etc.\n" +" </p>\n" +" " +msgstr "" + +#. module: hr +#: view:hr.employee:0 +msgid "Personal Information" +msgstr "" + +#. module: hr +#: field:hr.employee,city:0 +msgid "City" +msgstr "" + +#. module: hr +#: field:hr.employee,passport_id:0 +msgid "Passport No" +msgstr "" + +#. module: hr +#: field:hr.employee,mobile_phone:0 +msgid "Work Mobile" +msgstr "" + +#. module: hr +#: selection:hr.job,state:0 +msgid "Recruitement in Progress" +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 "" + +#. module: hr +#: view:hr.employee.category:0 +msgid "Employees Categories" +msgstr "" + +#. module: hr +#: field:hr.employee,address_home_id:0 +msgid "Home Address" +msgstr "" + +#. module: hr +#: field:hr.config.settings,module_hr_timesheet:0 +msgid "Manage timesheets" +msgstr "" + +#. module: hr +#: model:ir.actions.act_window,name:hr.open_payroll_modules +msgid "Payroll" +msgstr "" + +#. module: hr +#: selection:hr.employee,marital:0 +msgid "Single" +msgstr "" + +#. module: hr +#: field:hr.job,name:0 +msgid "Job Name" +msgstr "" + +#. module: hr +#: view:hr.job:0 +msgid "In Position" +msgstr "" + +#. module: hr +#: help:hr.config.settings,module_hr_payroll:0 +msgid "This installs the module hr_payroll." +msgstr "" + +#. module: hr +#: field:hr.config.settings,module_hr_contract:0 +msgid "Record contracts per employee" +msgstr "" + +#. module: hr +#: view:hr.department:0 +msgid "department" +msgstr "" + +#. module: hr +#: field:hr.employee,country_id:0 +msgid "Nationality" +msgstr "" + +#. module: hr +#: view:hr.config.settings:0 +msgid "Additional Features" +msgstr "" + +#. module: hr +#: field:hr.employee,notes:0 +msgid "Notes" +msgstr "" + +#. module: hr +#: model:ir.actions.act_window,name:hr.action2 +msgid "Subordinate Hierarchy" +msgstr "" + +#. module: hr +#: field:hr.employee,resource_id:0 +msgid "Resource" +msgstr "" + +#. module: hr +#: field:hr.department,complete_name:0 +#: field:hr.employee,name_related:0 +#: field:hr.employee.category,complete_name:0 +msgid "Name" +msgstr "" + +#. module: hr +#: field:hr.employee,gender:0 +msgid "Gender" +msgstr "" + +#. module: hr +#: view:hr.employee:0 +#: field:hr.employee.category,employee_ids:0 +#: field:hr.job,employee_ids:0 +#: model:ir.actions.act_window,name:hr.hr_employee_normal_action_tree +#: model:ir.actions.act_window,name:hr.open_view_employee_list +#: model:ir.actions.act_window,name:hr.open_view_employee_list_my +#: model:ir.ui.menu,name:hr.menu_open_view_employee_list_my +msgid "Employees" +msgstr "" + +#. module: hr +#: help:hr.employee,sinid:0 +msgid "Social Insurance Number" +msgstr "" + +#. module: hr +#: field:hr.department,name:0 +msgid "Department Name" +msgstr "" + +#. module: hr +#: model:ir.ui.menu,name:hr.menu_hr_reporting_timesheet +msgid "Reports" +msgstr "" + +#. module: hr +#: field:hr.config.settings,module_hr_payroll:0 +msgid "Manage payroll" +msgstr "" + +#. module: hr +#: view:hr.config.settings:0 +#: model:ir.actions.act_window,name:hr.action_human_resources_configuration +msgid "Configure Human Resources" +msgstr "" + +#. module: hr +#: selection:hr.job,state:0 +msgid "No Recruitment" +msgstr "" + +#. module: hr +#: help:hr.employee,ssnid:0 +msgid "Social Security Number" +msgstr "" + +#. module: hr +#: model:process.node,note:hr.process_node_openerpuser0 +msgid "Creation of a OpenERP user" +msgstr "" + +#. module: hr +#: field:hr.employee,login:0 +msgid "Login" +msgstr "" + +#. module: hr +#: field:hr.job,expected_employees:0 +msgid "Total Forecasted Employees" +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 "" + +#. module: hr +#: model:ir.model,name:hr.model_res_users +msgid "Users" +msgstr "" + +#. module: hr +#: model:ir.actions.act_window,name:hr.action_hr_job +#: model:ir.ui.menu,name:hr.menu_hr_job +msgid "Job Positions" +msgstr "" + +#. module: hr +#: model:ir.actions.act_window,help:hr.open_board_hr +msgid "" +"<div class=\"oe_empty_custom_dashboard\">\n" +" <p>\n" +" <b>Human Resources dashboard is empty.</b>\n" +" </p><p>\n" +" To add your first report into this dashboard, go to any\n" +" menu, switch to list or graph view, and click <i>'Add " +"to\n" +" Dashboard'</i> in the extended search options.\n" +" </p><p>\n" +" You can filter and group data before inserting into the\n" +" dashboard using the search options.\n" +" </p>\n" +" </div>\n" +" " +msgstr "" + +#. module: hr +#: view:hr.employee:0 +#: field:hr.employee,coach_id:0 +msgid "Coach" +msgstr "" + +#. module: hr +#: sql_constraint:hr.job:0 +msgid "The name of the job position must be unique per company!" +msgstr "" + +#. module: hr +#: help:hr.config.settings,module_hr_expense:0 +msgid "This installs the module hr_expense." +msgstr "" + +#. module: hr +#: model:ir.model,name:hr.model_hr_config_settings +msgid "hr.config.settings" +msgstr "" + +#. module: hr +#: field:hr.department,manager_id:0 +#: view:hr.employee:0 +#: field:hr.employee,parent_id:0 +msgid "Manager" +msgstr "" + +#. module: hr +#: selection:hr.employee,marital:0 +msgid "Widower" +msgstr "" + +#. module: hr +#: field:hr.employee,child_ids:0 +msgid "Subordinates" +msgstr "" + +#. module: hr +#: view:hr.config.settings:0 +msgid "Apply" +msgstr "" diff --git a/addons/hr/i18n/zh_TW.po b/addons/hr/i18n/zh_TW.po index e31a3c399fd..00daa2f9477 100644 --- a/addons/hr/i18n/zh_TW.po +++ b/addons/hr/i18n/zh_TW.po @@ -7,24 +7,24 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2012-05-10 17:48+0000\n" -"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n" +"PO-Revision-Date: 2013-12-27 05:02+0000\n" +"Last-Translator: Andy Cheng <andy@dobtor.com>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-12 05:56+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-12-28 05:19+0000\n" +"X-Generator: Launchpad (build 16877)\n" #. module: hr #: model:process.node,name:hr.process_node_openerpuser0 msgid "Openerp user" -msgstr "" +msgstr "Openerp 使用者" #. 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 @@ -62,7 +62,7 @@ msgstr "" #. module: hr #: view:hr.config.settings:0 msgid "Time Tracking" -msgstr "" +msgstr "追蹤時間" #. module: hr #: view:hr.employee:0 @@ -73,17 +73,17 @@ msgstr "分組根據..." #. module: hr #: model:ir.actions.act_window,name:hr.view_department_form_installer msgid "Create Your Departments" -msgstr "" +msgstr "建立您的部門" #. module: hr #: help:hr.job,no_of_employee:0 msgid "Number of employees currently occupying this job position." -msgstr "" +msgstr "從事此職位的現有員工數量。" #. module: hr #: field:hr.config.settings,module_hr_evaluation:0 msgid "Organize employees periodic evaluation" -msgstr "" +msgstr "安排員工定期考評" #. module: hr #: view:hr.department:0 @@ -98,19 +98,19 @@ msgstr "部門" #. module: hr #: field:hr.employee,work_email:0 msgid "Work Email" -msgstr "" +msgstr "工作電子郵件" #. module: hr #: help:hr.employee,image:0 msgid "" "This field holds the image used as photo for the employee, limited to " "1024x1024px." -msgstr "" +msgstr "此欄位存放圖片作為員工照片,限制大小為 1024*1024 像素。" #. 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 +125,7 @@ msgstr "正招聘" #. module: hr #: field:hr.job,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "未讀訊息" #. module: hr #: field:hr.department,company_id:0 @@ -143,7 +143,7 @@ msgstr "" #. module: hr #: field:res.users,employee_ids:0 msgid "Related employees" -msgstr "" +msgstr "相關員工" #. module: hr #: constraint:hr.employee.category:0 @@ -153,28 +153,28 @@ 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 #: model:ir.actions.act_window,name:hr.open_view_categ_form #: model:ir.ui.menu,name:hr.menu_view_employee_category_form msgid "Employee Tags" -msgstr "" +msgstr "員工標籤" #. module: hr #: view:hr.job:0 msgid "Launch Recruitement" -msgstr "" +msgstr "啟動招募" #. module: hr #: model:process.transition,name:hr.process_transition_employeeuser0 msgid "Link a user to an employee" -msgstr "" +msgstr "將一個使用者帳號連結到一位員工" #. module: hr #: field:hr.department,parent_id:0 @@ -184,7 +184,7 @@ msgstr "上級部門" #. module: hr #: model:ir.ui.menu,name:hr.menu_open_view_attendance_reason_config msgid "Leaves" -msgstr "" +msgstr "休假" #. module: hr #: selection:hr.employee,marital:0 @@ -194,37 +194,37 @@ 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 msgid "Position" -msgstr "" +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 msgid "Color Index" -msgstr "" +msgstr "顏色索引" #. module: hr #: model:process.transition,note:hr.process_transition_employeeuser0 @@ -236,7 +236,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 +251,7 @@ msgstr "女" #. module: hr #: model:ir.ui.menu,name:hr.menu_open_view_attendance_reason_new_config msgid "Attendance" -msgstr "" +msgstr "出勤" #. module: hr #: field:hr.employee,work_phone:0 @@ -277,7 +277,7 @@ msgstr "辦公室位置" #. module: hr #: field:hr.job,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "關注者" #. module: hr #: view:hr.employee:0 @@ -307,12 +307,12 @@ msgstr "出生日期" #. module: hr #: help:hr.job,no_of_recruitment:0 msgid "Number of new employees you expect to recruit." -msgstr "" +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 @@ -326,12 +326,12 @@ msgstr "" 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 msgid "Human Resources Dashboard" -msgstr "" +msgstr "人力資源儀表板" #. module: hr #: view:hr.employee:0 @@ -343,7 +343,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 @@ -353,22 +353,22 @@ msgstr "成員" #. module: hr #: model:ir.ui.menu,name:hr.menu_hr_configuration msgid "Configuration" -msgstr "" +msgstr "組態設定" #. module: hr #: model:process.node,note:hr.process_node_employee0 msgid "Employee form and structure" -msgstr "" +msgstr "員工表單與架構" #. module: hr #: field:hr.config.settings,module_hr_expense:0 msgid "Manage employees expenses" -msgstr "" +msgstr "管理員工費用報支" #. module: hr #: view:hr.employee:0 msgid "Tel:" -msgstr "" +msgstr "電話:" #. module: hr #: selection:hr.employee,marital:0 @@ -430,7 +430,7 @@ msgstr "" #. module: hr #: help:hr.config.settings,module_hr_evaluation:0 msgid "This installs the module hr_evaluation." -msgstr "" +msgstr "此功能將安裝 hr_evaluation 模組。" #. module: hr #: constraint:hr.employee:0 @@ -440,12 +440,12 @@ msgstr "" #. 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 @@ -456,22 +456,22 @@ 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 msgid "Related User" -msgstr "" +msgstr "相關使用者" #. module: hr #: view:hr.config.settings:0 msgid "or" -msgstr "" +msgstr "或" #. module: hr #: field:hr.employee.category,name:0 @@ -481,12 +481,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 @@ -501,7 +501,7 @@ msgstr "備註" #. module: hr #: model:ir.actions.act_window,name:hr.open_view_employee_tree msgid "Employees Structure" -msgstr "" +msgstr "員工架構" #. module: hr #: view:hr.employee:0 @@ -511,7 +511,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 @@ -528,7 +528,7 @@ msgstr "狀況" #. module: hr #: field:hr.employee,otherid:0 msgid "Other Id" -msgstr "" +msgstr "其他ID" #. module: hr #: model:process.process,name:hr.process_process_employeecontractprocess0 @@ -538,12 +538,12 @@ 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 @@ -553,12 +553,12 @@ msgstr "社會保障號碼(美國)" #. 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 @@ -568,12 +568,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 @@ -588,7 +588,7 @@ msgstr "公司" #. module: hr #: field:hr.job,message_summary:0 msgid "Summary" -msgstr "" +msgstr "摘要" #. module: hr #: model:process.transition,note:hr.process_transition_contactofemployee0 @@ -615,12 +615,12 @@ msgstr "" #. 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 @@ -635,7 +635,7 @@ msgstr "辦公地址" #. module: hr #: view:hr.employee:0 msgid "Public Information" -msgstr "" +msgstr "公開資訊" #. module: hr #: field:hr.employee,marital:0 diff --git a/addons/hr/res_config.py b/addons/hr/res_config.py index 147c4e4d5b9..94c029262ff 100644 --- a/addons/hr/res_config.py +++ b/addons/hr/res_config.py @@ -42,6 +42,8 @@ class hr_config_settings(osv.osv_memory): help ="""This installs the module hr_contract."""), 'module_hr_evaluation': fields.boolean('Organize employees periodic evaluation', help ="""This installs the module hr_evaluation."""), + 'module_hr_gamification': fields.boolean('Drive engagement with challenges and badges', + help ="""This installs the module hr_gamification."""), 'module_account_analytic_analysis': fields.boolean('Allow invoicing based on timesheets (the sale application will be installed)', help ="""This installs the module account_analytic_analysis, which will install sales management too."""), 'module_hr_payroll': fields.boolean('Manage payroll', diff --git a/addons/hr/res_config_view.xml b/addons/hr/res_config_view.xml index 632ceb56918..3dc1795139c 100644 --- a/addons/hr/res_config_view.xml +++ b/addons/hr/res_config_view.xml @@ -56,6 +56,10 @@ <field name="module_hr_expense" class="oe_inline"/> <label for="module_hr_expense"/> </div> + <div> + <field name="module_hr_gamification" class="oe_inline"/> + <label for="module_hr_gamification"/> + </div> </div> </group> <group name="timesheet_grp"> diff --git a/addons/hr/res_users.py b/addons/hr/res_users.py index c3550596281..d5bebe05446 100644 --- a/addons/hr/res_users.py +++ b/addons/hr/res_users.py @@ -57,9 +57,10 @@ class res_users(osv.Model): various mailboxes, we do not have access to the current partner_id. """ if kwargs.get('type') == 'email': return super(res_users, self).message_post(cr, uid, thread_id, context=context, **kwargs) + res = None employee_ids = self._message_post_get_eid(cr, uid, thread_id, context=context) - if not employee_ids: - pass # dpo something + if not employee_ids: # no employee: fall back on previous behavior + return super(res_users, self).message_post(cr, uid, thread_id, context=context, **kwargs) for employee_id in employee_ids: res = self.pool.get('hr.employee').message_post(cr, uid, employee_id, context=context, **kwargs) return res diff --git a/addons/hr/static/src/css/hr.css b/addons/hr/static/src/css/hr.css index 951ec4d02e3..be21ca7e7a6 100644 --- a/addons/hr/static/src/css/hr.css +++ b/addons/hr/static/src/css/hr.css @@ -72,4 +72,4 @@ .openerp .oe_employee_vignette .oe_followers { width: auto; float: none; -} +}
\ No newline at end of file diff --git a/addons/hr_applicant_document/__init__.py b/addons/hr_applicant_document/__init__.py new file mode 100644 index 00000000000..76e07d0ac4f --- /dev/null +++ b/addons/hr_applicant_document/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2010-today OpenERP SA (<http://www.openerp.com>) +# +# 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 <http://www.gnu.org/licenses/> +# +############################################################################## + +import models diff --git a/addons/hr_applicant_document/__openerp__.py b/addons/hr_applicant_document/__openerp__.py new file mode 100644 index 00000000000..bd8224f1755 --- /dev/null +++ b/addons/hr_applicant_document/__openerp__.py @@ -0,0 +1,28 @@ +# -*- coding: utf-8 -*- + +{ + 'name': 'Applicant Resumes and Letters', + 'version': '1.0', + 'category': 'Human Resources', + 'sequence': 25, + 'summary': 'Search job applications by Index content.', + 'description': """This module allows you to search job applications by content + of resumes and letters.""", + 'author': 'OpenERP SA', + 'website': 'http://www.openerp.com', + 'depends': [ + 'hr_recruitment', + 'document' + ], + 'data': [ + 'views/hr_applicant.xml' + ], + 'demo': [ + 'demo/hr_applicant.xml' + ], + 'installable': True, + 'auto_install': True, + 'application': True, +} + +# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/hr_applicant_document/demo/hr_applicant.xml b/addons/hr_applicant_document/demo/hr_applicant.xml new file mode 100644 index 00000000000..46bac2250a0 --- /dev/null +++ b/addons/hr_applicant_document/demo/hr_applicant.xml @@ -0,0 +1,257 @@ +<?xml version="1.0"?> +<openerp> + <data noupdate="1"> + + <record id="applicant_attach1" model="ir.attachment"> + <field name="datas">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 +aGKgRB9MdCaipUQDpDWUSIGEgHLkNhFgQphCMAiAxxJkIrgDOxq34DH/d37Q/7YA/+ZPJPpvgO3r +dQplbmRzdHJlYW0KZW5kb2JqCgo2IDAgb2JqCjEwNDEzCmVuZG9iagoKNyAwIG9iago8PC9UeXBl +L0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0JBQUFBQStEZWphVnVTYW5zTW9ubwovRmxhZ3MgNQov +Rm9udEJCb3hbLTU1NyAtMzc0IDcxNiAxMDQxXS9JdGFsaWNBbmdsZSAwCi9Bc2NlbnQgOTI4Ci9E +ZXNjZW50IC0yMzUKL0NhcEhlaWdodCAxMDQxCi9TdGVtViA4MAovRm9udEZpbGUyIDUgMCBSCj4+ +CmVuZG9iagoKOCAwIG9iago8PC9MZW5ndGggNDE2L0ZpbHRlci9GbGF0ZURlY29kZT4+CnN0cmVh +bQp4nF2TzW7iMBSF93kKLzuLKvEPCZVQJAaKxKIz1dA+QEgME2lwIhMWvH197klbaRagz/G9l8/m +JN/st/vQT/lrHNqDn9SpD1301+EWW6+O/tyHTBvV9e00r+S7vTRjlqfew/06+cs+nIbVKsv/pL3r +FO/qYd0NR/8jy3/Hzsc+nNXD++aQ1ofbOP7zFx8mVWR1rTp/SnNemvFXc/G5dD3uu7TdT/fH1PJd +8HYfvTKy1lRph85fx6b1sQlnn62Kolar3a7OfOj+23OWLcdT+7eJqVSn0qJYFHViI1wZsBUud2BH +LsEL8hO4JG/AFXkBXgq7Z/ATn2vwmrwF/xQ28rsbYbsGb9krc55ZL3N2dMMcXZBRo+nv0Ktnfwum +v5P62d+B6W/lOf0tzqtnf2H6V1JPf4Mzavo7mU//cgmmf4Wz6NkfZ9T0txWY/hYzDf0t6s3sj7s1 +9C8x39B/AU9Dfwc3Q38nvfQ3uB9Df4v/xdDfykz6W5lJf4t7M/S3SwnJnAbEBXn+jKFqbzGmCEro +JXtIXR/813sxDiO65PMBZrbPkAplbmRzdHJlYW0KZW5kb2JqCgo5IDAgb2JqCjw8L1R5cGUvRm9u +dC9TdWJ0eXBlL1RydWVUeXBlL0Jhc2VGb250L0JBQUFBQStEZWphVnVTYW5zTW9ubwovRmlyc3RD +aGFyIDAKL0xhc3RDaGFyIDQzCi9XaWR0aHNbNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYw +MiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyCjYwMiA2MDIgNjAyIDYwMiA2MDIgNjAy +IDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMgo2MDIgNjAyIDYwMiA2MDIg +NjAyIDYwMiA2MDIgNjAyIDYwMiA2MDIgNjAyIDYwMiBdCi9Gb250RGVzY3JpcHRvciA3IDAgUgov +VG9Vbmljb2RlIDggMCBSCj4+CmVuZG9iagoKMTAgMCBvYmoKPDwvRjEgOSAwIFIKPj4KZW5kb2Jq +CgoxMSAwIG9iago8PC9Gb250IDEwIDAgUgovUHJvY1NldFsvUERGL1RleHRdCj4+CmVuZG9iagoK +MSAwIG9iago8PC9UeXBlL1BhZ2UvUGFyZW50IDQgMCBSL1Jlc291cmNlcyAxMSAwIFIvTWVkaWFC +b3hbMCAwIDU5NSA4NDJdL0dyb3VwPDwvUy9UcmFuc3BhcmVuY3kvQ1MvRGV2aWNlUkdCL0kgdHJ1 +ZT4+L0NvbnRlbnRzIDIgMCBSPj4KZW5kb2JqCgo0IDAgb2JqCjw8L1R5cGUvUGFnZXMKL1Jlc291 +cmNlcyAxMSAwIFIKL01lZGlhQm94WyAwIDAgNTk1IDg0MiBdCi9LaWRzWyAxIDAgUiBdCi9Db3Vu +dCAxPj4KZW5kb2JqCgoxMiAwIG9iago8PC9UeXBlL0NhdGFsb2cvUGFnZXMgNCAwIFIKL09wZW5B +Y3Rpb25bMSAwIFIgL1hZWiBudWxsIG51bGwgMF0KL0xhbmcoZW4tSU4pCj4+CmVuZG9iagoKMTMg +MCBvYmoKPDwvQ3JlYXRvcjxGRUZGMDA1NzAwNzIwMDY5MDA3NDAwNjUwMDcyPgovUHJvZHVjZXI8 +RkVGRjAwNEMwMDY5MDA2MjAwNzIwMDY1MDA0RjAwNjYwMDY2MDA2OTAwNjMwMDY1MDAyMDAwMzMw +MDJFMDAzNj4KL0NyZWF0aW9uRGF0ZShEOjIwMTMwOTE3MTA1MjE5KzA1JzMwJyk+PgplbmRvYmoK +CnhyZWYKMCAxNAowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMTIxNDEgMDAwMDAgbiAKMDAwMDAw +MDAxOSAwMDAwMCBuIAowMDAwMDAwNTAzIDAwMDAwIG4gCjAwMDAwMTIyODQgMDAwMDAgbiAKMDAw +MDAwMDUyMyAwMDAwMCBuIAowMDAwMDExMDIxIDAwMDAwIG4gCjAwMDAwMTEwNDMgMDAwMDAgbiAK +MDAwMDAxMTIzOCAwMDAwMCBuIAowMDAwMDExNzIzIDAwMDAwIG4gCjAwMDAwMTIwNTQgMDAwMDAg +biAKMDAwMDAxMjA4NiAwMDAwMCBuIAowMDAwMDEyMzgzIDAwMDAwIG4gCjAwMDAwMTI0ODAgMDAw +MDAgbiAKdHJhaWxlcgo8PC9TaXplIDE0L1Jvb3QgMTIgMCBSCi9JbmZvIDEzIDAgUgovSUQgWyA8 +MUQ3RURGOENDMTExODZGOUQwNERCQTNCNTIxRUIwRUQ+CjwxRDdFREY4Q0MxMTE4NkY5RDA0REJB +M0I1MjFFQjBFRD4gXQovRG9jQ2hlY2tzdW0gL0FGQTcyQ0IwMzY4QzE1RjAyN0YxODgxNDAxQkM3 +QkQ0Cj4+CnN0YXJ0eHJlZgoxMjY1NQolJUVPRgo=</field> + <field name="datas_fname">Jones_CV.pdf</field> + <field name="name">Jones_CV.pdf</field> + <field name="res_id" ref="hr_recruitment.hr_case_salesman0"/> + <field name="res_model">hr.applicant</field> + </record> + <record id="applicant_attach2" model="ir.attachment"> + <field name="datas">UFJPRklMRSANCg0KTmFtZSAgICAgICAgICAgIDogU2hhbmUgV2lsbGlhbXMgIA0KQWRkcmVzcyAgICAgICAgIDogODEgQWNhZGVteSBBdmVudWUsIA0KICAgICAgICAgICAgICAgICAgICAgOkJpcm1pbmdoYW1CNDYgM0FHLCANCiAgICAgICAgICAgICAgICAgICAgIDpVbml0ZWQgS2luZ2RvbSwgDQpRdWFsaWZpY2F0aW9uICAgOiBNQ0EgDQpFbWFpbCAgICAgICAgICAgICA6IFNoYW5lV2lsbGlhbXNAaW5mby5jb20gDQpNb2JpbGUgICAgICAgICAgIDogOTk2MzIxNDU4NyA=</field> + <field name="datas_fname">Williams_CV.doc</field> + <field name="name">Williams_CV.doc</field> + <field name="res_id" ref="hr_recruitment.hr_case_programmer"/> + <field name="res_model">hr.applicant</field> + </record> + <record id="applicant_attach3" model="ir.attachment"> + <field name="datas">UHJvZmlsZQ0KDQpOYW1lICAgICAgICAgIDpKb3NlDQpBZGRyZXNzICAgICAgIDo5MywgUHJlc3MgQXZlbnVlDQogICAgICAgICAgICAgICAgICAgOkxlIEJvdXJnZXQgZHUgTGFjLCA3MzM3NywNCiAgICAgICAgICAgICAgICAgICA6IEZyYW5jZSANClF1YWxpZmljYXRpb24gOk1DQQ0KRW1haWwgICAgICAgICAgIDpKb3NlQGdtYWlsLmNvbQ0KTW9iaWxlICAgICAgICAgIDo5OTY4NTEzNTg3</field> + <field name="datas_fname">Jose_CV.txt</field> + <field name="name">Jose_CV.txt</field> + <field name="res_id" ref="hr_recruitment.hr_case_fresher0"/> + <field name="res_model">hr.applicant</field> + </record> + </data> +</openerp> diff --git a/addons/hr_applicant_document/models/__init__.py b/addons/hr_applicant_document/models/__init__.py new file mode 100644 index 00000000000..0f3aa35f140 --- /dev/null +++ b/addons/hr_applicant_document/models/__init__.py @@ -0,0 +1,3 @@ +# -*- coding: utf-8 -*- + +import hr_applicant diff --git a/addons/hr_applicant_document/models/hr_applicant.py b/addons/hr_applicant_document/models/hr_applicant.py new file mode 100644 index 00000000000..036ea6c200e --- /dev/null +++ b/addons/hr_applicant_document/models/hr_applicant.py @@ -0,0 +1,29 @@ +# -*- coding: utf-8 -*- + +from openerp.osv import fields, osv + + +class hr_applicant(osv.Model): + _inherit = 'hr.applicant' + + def _get_index_content(self, cr, uid, ids, fields, args, context=None): + res = dict.fromkeys(ids, '') + Attachment = self.pool.get('ir.attachment') + attachment_ids = Attachment.search(cr, uid, [('res_model', '=', 'hr.applicant'), ('res_id', 'in', ids)], context=context) + for attachment in Attachment.browse(cr, uid, attachment_ids, context=context): + res[attachment.res_id] += attachment.index_content or '' + return res + + def _content_search(self, cr, user, obj, name, args, context=None): + record_ids = set() + Attachment = self.pool.get('ir.attachment') + args = ['&'] + args + [('res_model', '=', 'hr.applicant')] + att_ids = Attachment.search(cr, user, args, context=context) + record_ids = set(att.res_id for att in Attachment.browse(cr, user, att_ids, context=context)) + return [('id', 'in', list(record_ids))] + + _columns = { + 'index_content': fields.function( + _get_index_content, fnct_search=_content_search, + string='Index Content', type="text"), + } diff --git a/addons/hr_applicant_document/views/hr_applicant.xml b/addons/hr_applicant_document/views/hr_applicant.xml new file mode 100644 index 00000000000..706a1b4c754 --- /dev/null +++ b/addons/hr_applicant_document/views/hr_applicant.xml @@ -0,0 +1,37 @@ +<?xml version="1.0"?> +<openerp> + <data> + + <record id="view_crm_case_jobs_filter_inherit" model="ir.ui.view"> + <field name="name">Jobs - Recruitment Search</field> + <field name="model">hr.applicant</field> + <field name="inherit_id" ref="hr_recruitment.view_crm_case_jobs_filter" /> + <field name="arch" type="xml"> + <field name="job_id" position="before"> + <field name="index_content" string="Resume Content"/> + </field> + </field> + </record> + + <record model="ir.actions.act_window" id="hr_applicant_resumes"> + <field name="name">Resumes and Letters</field> + <field name="res_model">ir.attachment</field> + <field name="view_mode">tree,form</field> + <field name="view_id" ref="document.view_document_file_tree"/> + <field name="domain">[('res_model','=','hr.applicant')]</field> + <field name="help" type="html"> + <p> + Search through resumes and motivation letters. + </p> + </field> + </record> + + <menuitem + name="Resumes and Letters" + parent="base.menu_crm_case_job_req_main" + id="menu_crm_case_categ0_act_job02" action="hr_applicant_resumes" sequence="3"/> + + </data> +</openerp> + + diff --git a/addons/hr_evaluation/hr_evaluation.py b/addons/hr_evaluation/hr_evaluation.py index 09c47b89153..462154e9e4a 100644 --- a/addons/hr_evaluation/hr_evaluation.py +++ b/addons/hr_evaluation/hr_evaluation.py @@ -101,6 +101,8 @@ Thanks, class hr_employee(osv.osv): _name = "hr.employee" _inherit="hr.employee" + + _columns = { 'evaluation_plan_id': fields.many2one('hr_evaluation.plan', 'Appraisal Plan'), 'evaluation_date': fields.date('Next Appraisal Date', help="The date of the next appraisal is computed by the appraisal plan's dates (first appraisal + periodicity)."), @@ -123,6 +125,8 @@ class hr_employee(osv.osv): obj_evaluation.button_plan_in_progress(cr, uid, [plan_id], context=context) return True + + class hr_evaluation(osv.osv): _name = "hr_evaluation.evaluation" _inherit = "mail.thread" diff --git a/addons/hr_evaluation/security/ir.model.access.csv b/addons/hr_evaluation/security/ir.model.access.csv index a304ee84c10..4be3d74b7d8 100644 --- a/addons/hr_evaluation/security/ir.model.access.csv +++ b/addons/hr_evaluation/security/ir.model.access.csv @@ -39,4 +39,4 @@ access_survey_response_hr_employee,survey.response.employee,survey.model_survey_ access_survey_question_column_heading_hr_employee,survey.question.column.heading.employee,survey.model_survey_question_column_heading,base.group_user,1,0,0,0
access_survey_response_line_hr_employee,survey.response.line.employee,survey.model_survey_response_line,base.group_user,1,1,1,0
access_survey_response_answer_hr_employee,survey.response.answer.hr.employee,survey.model_survey_response_answer,base.group_user,1,1,1,0
-access_survey_tbl_column_heading_hr_employee,survey.tbl.column.heading,survey.model_survey_tbl_column_heading,base.group_user,1,1,1,0
+access_survey_tbl_column_heading_hr_employee,survey.tbl.column.heading,survey.model_survey_tbl_column_heading,base.group_user,1,1,1,0
\ No newline at end of file diff --git a/addons/hr_expense/i18n/zh_TW.po b/addons/hr_expense/i18n/zh_TW.po index 29cf442efbc..227f7fd91db 100644 --- a/addons/hr_expense/i18n/zh_TW.po +++ b/addons/hr_expense/i18n/zh_TW.po @@ -7,57 +7,57 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2009-01-30 13:19+0000\n" -"Last-Translator: <>\n" +"PO-Revision-Date: 2013-12-27 04:48+0000\n" +"Last-Translator: Andy Cheng <andy@dobtor.com>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-12 05:53+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-12-28 05:19+0000\n" +"X-Generator: Launchpad (build 16877)\n" #. module: hr_expense #: view:hr.expense.expense:0 #: model:process.node,name:hr_expense.process_node_confirmedexpenses0 msgid "Confirmed Expenses" -msgstr "" +msgstr "已確認費用報支" #. module: hr_expense #: model:ir.model,name:hr_expense.model_hr_expense_line msgid "Expense Line" -msgstr "" +msgstr "費用報支項目" #. module: hr_expense #: model:process.node,note:hr_expense.process_node_reimbursement0 msgid "The accoutant reimburse the expenses" -msgstr "" +msgstr "會計師報支費用" #. module: hr_expense #: model:mail.message.subtype,description:hr_expense.mt_expense_approved msgid "Expense approved" -msgstr "" +msgstr "費用報支已核准" #. module: hr_expense #: field:hr.expense.expense,date_confirm:0 #: field:hr.expense.report,date_confirm:0 msgid "Confirmation Date" -msgstr "" +msgstr "確認日期" #. module: hr_expense #: view:hr.expense.expense:0 #: view:hr.expense.report:0 msgid "Group By..." -msgstr "" +msgstr "分組..." #. module: hr_expense #: model:product.template,name:hr_expense.air_ticket_product_template msgid "Air Ticket" -msgstr "" +msgstr "機票" #. module: hr_expense #: report:hr.expense:0 msgid "Validated By" -msgstr "" +msgstr "已完成審核" #. module: hr_expense #: view:hr.expense.expense:0 @@ -65,45 +65,45 @@ msgstr "" #: view:hr.expense.report:0 #: field:hr.expense.report,department_id:0 msgid "Department" -msgstr "" +msgstr "部門" #. module: hr_expense #: view:hr.expense.expense:0 msgid "New Expense" -msgstr "" +msgstr "新增費用報支" #. module: hr_expense #: field:hr.expense.line,uom_id:0 #: view:product.product:0 msgid "Unit of Measure" -msgstr "" +msgstr "度量單位" #. module: hr_expense #: selection:hr.expense.report,month:0 msgid "March" -msgstr "" +msgstr "三月" #. module: hr_expense #: field:hr.expense.expense,message_unread:0 msgid "Unread Messages" -msgstr "" +msgstr "未讀訊息" #. module: hr_expense #: field:hr.expense.expense,company_id:0 #: view:hr.expense.report:0 #: field:hr.expense.report,company_id:0 msgid "Company" -msgstr "" +msgstr "公司" #. module: hr_expense #: view:hr.expense.expense:0 msgid "Set to Draft" -msgstr "" +msgstr "設為草稿" #. module: hr_expense #: view:hr.expense.expense:0 msgid "To Pay" -msgstr "" +msgstr "應付款" #. module: hr_expense #: code:addons/hr_expense/hr_expense.py:172 @@ -111,12 +111,12 @@ msgstr "" msgid "" "No expense journal found. Please make sure you have a journal with type " "'purchase' configured." -msgstr "" +msgstr "未找到費用日記帳。請確認您是否有設置型態為「採購」的日記帳。" #. module: hr_expense #: model:ir.model,name:hr_expense.model_hr_expense_report msgid "Expenses Statistics" -msgstr "" +msgstr "費用報支統計" #. module: hr_expense #: view:hr.expense.expense:0 @@ -127,7 +127,7 @@ msgstr "" #: view:hr.expense.report:0 #: field:hr.expense.report,day:0 msgid "Day" -msgstr "" +msgstr "日" #. module: hr_expense #: help:hr.expense.expense,date_valid:0 @@ -139,12 +139,12 @@ msgstr "" #. module: hr_expense #: view:hr.expense.expense:0 msgid "Notes" -msgstr "" +msgstr "備註" #. module: hr_expense #: field:hr.expense.expense,message_ids:0 msgid "Messages" -msgstr "" +msgstr "訊息" #. module: hr_expense #: code:addons/hr_expense/hr_expense.py:172 @@ -154,28 +154,28 @@ msgstr "" #: code:addons/hr_expense/hr_expense.py:353 #, python-format msgid "Error!" -msgstr "" +msgstr "錯誤!" #. module: hr_expense #: model:mail.message.subtype,description:hr_expense.mt_expense_refused msgid "Expense refused" -msgstr "" +msgstr "費用報支被拒" #. module: hr_expense #: model:ir.actions.act_window,name:hr_expense.hr_expense_product #: view:product.product:0 msgid "Products" -msgstr "" +msgstr "產品" #. module: hr_expense #: view:hr.expense.report:0 msgid "Confirm Expenses" -msgstr "" +msgstr "確認費用報支" #. module: hr_expense #: selection:hr.expense.report,state:0 msgid "Cancelled" -msgstr "" +msgstr "已取消" #. module: hr_expense #: model:process.node,note:hr_expense.process_node_refused0 @@ -190,17 +190,17 @@ msgstr "" #. module: hr_expense #: selection:hr.expense.report,state:0 msgid "Waiting confirmation" -msgstr "" +msgstr "等待確認中" #. module: hr_expense #: selection:hr.expense.report,state:0 msgid "Accepted" -msgstr "" +msgstr "已接受" #. module: hr_expense #: field:hr.expense.line,ref:0 msgid "Reference" -msgstr "" +msgstr "參考" #. module: hr_expense #: report:hr.expense:0 @@ -228,7 +228,7 @@ msgstr "" #: view:hr.expense.report:0 #: field:hr.expense.report,nbr:0 msgid "# of Lines" -msgstr "" +msgstr "項目數量" #. module: hr_expense #: help:hr.expense.expense,message_summary:0 @@ -241,33 +241,33 @@ msgstr "" #: code:addons/hr_expense/hr_expense.py:453 #, python-format msgid "Warning" -msgstr "" +msgstr "警告" #. module: hr_expense #: report:hr.expense:0 msgid "(Date and signature)" -msgstr "" +msgstr "(日期與簽名)" #. module: hr_expense #: report:hr.expense:0 msgid "Total:" -msgstr "" +msgstr "合計:" #. module: hr_expense #: model:process.transition,name:hr_expense.process_transition_refuseexpense0 msgid "Refuse expense" -msgstr "" +msgstr "拒絕費用報支" #. module: hr_expense #: field:hr.expense.report,price_average:0 msgid "Average Price" -msgstr "" +msgstr "平均價格" #. module: hr_expense #: view:hr.expense.expense:0 #: model:process.transition.action,name:hr_expense.process_transition_action_confirm0 msgid "Confirm" -msgstr "" +msgstr "確認" #. module: hr_expense #: model:process.node,note:hr_expense.process_node_supplierinvoice0 diff --git a/addons/hr_gamification/__init__.py b/addons/hr_gamification/__init__.py new file mode 100644 index 00000000000..1896704c7fc --- /dev/null +++ b/addons/hr_gamification/__init__.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://openerp.com>). +# +# 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 <http://www.gnu.org/licenses/>. +# +############################################################################## + +import models +import wizard
\ No newline at end of file diff --git a/addons/hr_gamification/__openerp__.py b/addons/hr_gamification/__openerp__.py new file mode 100644 index 00000000000..c75a4454437 --- /dev/null +++ b/addons/hr_gamification/__openerp__.py @@ -0,0 +1,40 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://openerp.com>). +# +# 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 <http://www.gnu.org/licenses/>. +# +############################################################################## +{ + 'name': 'HR Gamification', + 'version': '1.0', + 'author': 'OpenERP SA', + 'category': 'hidden', + 'depends': ['gamification', 'hr'], + 'description': """Use the HR ressources for the gamification process. + +The HR officer can now manage challenges and badges. +This allow the user to send badges to employees instead of simple users. +Badge received are displayed on the user profile. +""", + 'data': [ + 'security/ir.model.access.csv', + 'security/gamification_security.xml', + 'wizard/grant_badge.xml', + 'views/gamification.xml', + ], + 'js': ['static/src/js/gamification.js'], +} diff --git a/addons/hr_gamification/models/__init__.py b/addons/hr_gamification/models/__init__.py new file mode 100644 index 00000000000..51cf01dfa09 --- /dev/null +++ b/addons/hr_gamification/models/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://openerp.com>). +# +# 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 <http://www.gnu.org/licenses/>. +# +############################################################################## + +import gamification diff --git a/addons/hr_gamification/models/gamification.py b/addons/hr_gamification/models/gamification.py new file mode 100644 index 00000000000..b2aa9039cb1 --- /dev/null +++ b/addons/hr_gamification/models/gamification.py @@ -0,0 +1,113 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://www.openerp.com>) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/> +# +############################################################################## + +from openerp.osv import fields, osv + + +class hr_gamification_badge_user(osv.Model): + """User having received a badge""" + + _name = 'gamification.badge.user' + _inherit = ['gamification.badge.user'] + + _columns = { + 'employee_id': fields.many2one("hr.employee", string='Employee'), + } + + def _check_employee_related_user(self, cr, uid, ids, context=None): + for badge_user in self.browse(cr, uid, ids, context=context): + if badge_user.user_id and badge_user.employee_id: + if badge_user.employee_id not in badge_user.user_id.employee_ids: + return False + return True + + _constraints = [ + (_check_employee_related_user, "The selected employee does not correspond to the selected user.", ['employee_id']), + ] + + +class gamification_badge(osv.Model): + _name = 'gamification.badge' + _inherit = ['gamification.badge'] + + def get_granted_employees(self, cr, uid, badge_ids, context=None): + if context is None: + context = {} + + employee_ids = [] + badge_user_ids = self.pool.get('gamification.badge.user').search(cr, uid, [('badge_id', 'in', badge_ids), ('employee_id', '!=', False)], context=context) + for badge_user in self.pool.get('gamification.badge.user').browse(cr, uid, badge_user_ids, context): + employee_ids.append(badge_user.employee_id.id) + # remove duplicates + employee_ids = list(set(employee_ids)) + return { + 'type': 'ir.actions.act_window', + 'name': 'Granted Employees', + 'view_mode': 'kanban,tree,form', + 'view_type': 'form', + 'res_model': 'hr.employee', + 'domain': [('id', 'in', employee_ids)] + } + + +class hr_employee(osv.osv): + _name = "hr.employee" + _inherit = "hr.employee" + + def _get_employee_goals(self, cr, uid, ids, field_name, arg, context=None): + """Return the list of goals assigned to the employee""" + res = {} + for employee in self.browse(cr, uid, ids, context=context): + res[employee.id] = self.pool.get('gamification.goal').search(cr,uid,[('user_id', '=', employee.user_id.id), ('challenge_id.category', '=', 'hr')], context=context) + return res + + def _get_employee_badges(self, cr, uid, ids, field_name, arg, context=None): + """Return the list of badge_users assigned to the employee""" + res = {} + for employee in self.browse(cr, uid, ids, context=context): + res[employee.id] = self.pool.get('gamification.badge.user').search(cr, uid, [ + '|', + ('employee_id', '=', employee.id), + '&', + ('employee_id', '=', False), + ('user_id', '=', employee.user_id.id) + ], context=context) + return res + + def _has_badges(self, cr, uid, ids, field_name, arg, context=None): + """Return the list of badge_users assigned to the employee""" + res = {} + for employee in self.browse(cr, uid, ids, context=context): + employee_badge_ids = self.pool.get('gamification.badge.user').search(cr, uid, [ + '|', + ('employee_id', '=', employee.id), + '&', + ('employee_id', '=', False), + ('user_id', '=', employee.user_id.id) + ], context=context) + res[employee.id] = len(employee_badge_ids) > 0 + return res + + _columns = { + 'goal_ids': fields.function(_get_employee_goals, type="one2many", obj='gamification.goal', string="Employee HR Goals"), + 'badge_ids': fields.function(_get_employee_badges, type="one2many", obj='gamification.badge.user', string="Employee Badges"), + 'has_badges': fields.function(_has_badges, type="boolean", string="Has Badges"), + } diff --git a/addons/hr_gamification/security/gamification_security.xml b/addons/hr_gamification/security/gamification_security.xml new file mode 100644 index 00000000000..e0f9a6cf918 --- /dev/null +++ b/addons/hr_gamification/security/gamification_security.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" ?> +<openerp> + <data noupdate="1"> + + <record id="goal_officer_visibility" model="ir.rule"> + <field name="name">HR Officer can see any goal</field> + <field name="model_id" ref="gamification.model_gamification_goal"/> + <field name="groups" eval="[(4, ref('base.group_hr_user'))]"/> + <field name="perm_read" eval="True"/> + <field name="perm_write" eval="True"/> + <field name="perm_create" eval="False"/> + <field name="perm_unlink" eval="False"/> + <field name="domain_force">[(1, '=', 1)]</field> + </record> + + </data> +</openerp> diff --git a/addons/hr_gamification/security/ir.model.access.csv b/addons/hr_gamification/security/ir.model.access.csv new file mode 100644 index 00000000000..b89db7cd104 --- /dev/null +++ b/addons/hr_gamification/security/ir.model.access.csv @@ -0,0 +1,5 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +challenge_officer,"Challenge Officer",gamification.model_gamification_challenge,base.group_hr_user,1,1,1,1 +challenge_line_officer,"Challenge Line Officer",gamification.model_gamification_challenge_line,base.group_hr_user,1,1,1,1 +badge_officer,"Badge Officer",gamification.model_gamification_badge,base.group_hr_user,1,1,1,1 +badge_user_officer,"Badge-user Officer",gamification.model_gamification_badge_user,base.group_hr_user,1,1,1,1
\ No newline at end of file diff --git a/addons/hr_gamification/static/src/js/gamification.js b/addons/hr_gamification/static/src/js/gamification.js new file mode 100644 index 00000000000..a9126464a10 --- /dev/null +++ b/addons/hr_gamification/static/src/js/gamification.js @@ -0,0 +1,19 @@ +openerp.hr_gamification = function(instance) { + instance.web_kanban.KanbanRecord.include({ + on_card_clicked: function() { + if (this.view.dataset.model === 'gamification.badge.user') { + var action = { + type: 'ir.actions.act_window', + res_model: 'gamification.badge', + view_mode: 'form', + view_type: 'form,kanban,tree', + views: [[false, 'form']], + res_id: this.record.badge_id.raw_value[0] + }; + this.do_action(action); + } else { + this._super.apply(this, arguments); + } + } + }); +}; diff --git a/addons/hr_gamification/views/gamification.xml b/addons/hr_gamification/views/gamification.xml new file mode 100644 index 00000000000..e2d45948b95 --- /dev/null +++ b/addons/hr_gamification/views/gamification.xml @@ -0,0 +1,104 @@ +<?xml version="1.0" encoding="UTF-8"?> +<openerp> + <data> + + <record id="hr_badge_form_view" model="ir.ui.view"> + <field name="name">Badge Form</field> + <field name="model">gamification.badge</field> + <field name="inherit_id" ref="gamification.badge_form_view"/> + <field name="arch" type="xml"> + <xpath expr="//div[@class='oe_right oe_button_box']" position="inside"> + <button string="Granted Employees" type="object" name="get_granted_employees" attrs="{'invisible': [('stat_count','=',0)]}" /> + </xpath> + </field> + </record> + + <!-- HR Employee --> + + <record id="hr_hr_employee_view_form" model="ir.ui.view"> + <field name="name">hr.hr.employee.view.form</field> + <field name="model">hr.employee</field> + <field name="inherit_id" ref="hr.view_employee_form"/> + <field name="arch" type="xml"> + + <xpath expr="//page[@string='Public Information']" position="before"> + <page string="Received Badges" attrs="{'invisible': [('user_id', '=', False)]}"> + <field name="has_badges" invisible="1"/> + <button string="Grant a Badge" type="action" name="%(action_reward_wizard)d"/> to reward this employee for a good action + <div class="oe_view_nocontent" attrs="{'invisible': [('has_badges', '=', True)]}"> + <p class="oe_view_nocontent_create"> + Click to grant this employee his first badge + </p><p class="oe_grey"> + Badges are rewards of good work. Give them to people you believe deserve it. + </p> + </div> + <field name="badge_ids" widget="many2many_kanban" /> + </page> + </xpath> + <xpath expr="//page[@string='Public Information']" position="after"> + <page string="Goals"> + <field name="goal_ids" widget="many2many_kanban" /> + </page> + </xpath> + + </field> + </record> + + + <record id="goals_menu_groupby_action2" model="ir.actions.act_window"> + <field name="res_model">gamification.goal</field> + <field name="view_type">form</field> + <field name="name">Goals History</field> + <field name="view_mode">tree,kanban</field> + <field name="context">{'search_default_group_by_user': True, 'search_default_group_by_type': True}</field> + <field name="domain">[('challenge_id.category', '=', 'hr')]</field> + <field name="help" type="html"> + <p class="oe_view_nocontent_create"> + Click to create a goal. + </p> + <p> + A goal is defined by a user and a goal type. + Goals can be created automatically by using challenges. + </p> + </field> + </record> + + + <record id="challenge_list_action2" model="ir.actions.act_window"> + <field name="name">Challenges</field> + <field name="res_model">gamification.challenge</field> + <field name="view_mode">kanban,tree,form</field> + <field name="domain">[('category', '=', 'hr')]</field> + <field name="context">{'search_default_inprogress':True, 'default_inprogress':True}</field> + <field name="help" type="html"> + <p class="oe_view_nocontent_create"> + Click to create a challenge. + </p> + <p> + Assign a list of goals to chosen users to evaluate them. + The challenge can use a period (weekly, monthly...) for automatic creation of goals. + The goals are created for the specified users or member of the group. + </p> + </field> + </record> + <record id="challenge_list_action2_view1" model="ir.actions.act_window.view"> + <field eval="1" name="sequence"/> + <field name="view_mode">kanban</field> + <field name="act_window_id" ref="challenge_list_action2"/> + <field name="view_id" ref="gamification.view_challenge_kanban"/> + </record> + <record id="challenge_list_action2_view2" model="ir.actions.act_window.view"> + <field eval="10" name="sequence"/> + <field name="view_mode">form</field> + <field name="act_window_id" ref="challenge_list_action2"/> + <field name="view_id" ref="gamification.challenge_form_view"/> + </record> + + <menuitem id="menu_hr_gamification" parent="hr.menu_hr_root" name="Engagement" sequence="40"/> + + <menuitem id="gamification_badge_menu_hr" parent="menu_hr_gamification" action="gamification.badge_list_action" /> + <menuitem id="gamification_challenge_menu_hr" parent="menu_hr_gamification" action="challenge_list_action2" groups="base.group_hr_user"/> + <menuitem id="gamification_goal_menu_hr" parent="menu_hr_gamification" action="goals_menu_groupby_action2" groups="base.group_hr_user"/> + + </data> +</openerp> diff --git a/addons/hr_gamification/wizard/__init__.py b/addons/hr_gamification/wizard/__init__.py new file mode 100644 index 00000000000..bb521f011bb --- /dev/null +++ b/addons/hr_gamification/wizard/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://openerp.com>). +# +# 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 <http://www.gnu.org/licenses/>. +# +############################################################################## + +import grant_badge
\ No newline at end of file diff --git a/addons/hr_gamification/wizard/grant_badge.py b/addons/hr_gamification/wizard/grant_badge.py new file mode 100644 index 00000000000..b8a51044d4c --- /dev/null +++ b/addons/hr_gamification/wizard/grant_badge.py @@ -0,0 +1,60 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://www.openerp.com>) +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU 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 General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/> +# +############################################################################## + +from openerp.osv import fields, osv +from openerp.tools.translate import _ + +class hr_grant_badge_wizard(osv.TransientModel): + _name = 'gamification.badge.user.wizard' + _inherit = ['gamification.badge.user.wizard'] + + _columns = { + 'employee_id': fields.many2one("hr.employee", string='Employee', required=True), + 'user_id': fields.related("employee_id", "user_id", + type="many2one", relation="res.users", + store=True, string='User') + } + + def action_grant_badge(self, cr, uid, ids, context=None): + """Wizard action for sending a badge to a chosen employee""" + if context is None: + context = {} + + badge_user_obj = self.pool.get('gamification.badge.user') + + for wiz in self.browse(cr, uid, ids, context=context): + if not wiz.user_id: + raise osv.except_osv(_('Warning!'), _('You can send badges only to employees linked to a user.')) + + if uid == wiz.user_id.id: + raise osv.except_osv(_('Warning!'), _('You can not send a badge to yourself')) + + values = { + 'user_id': wiz.user_id.id, + 'sender_id': uid, + 'badge_id': wiz.badge_id.id, + 'employee_id': wiz.employee_id.id, + 'comment': wiz.comment, + } + + badge_user = badge_user_obj.create(cr, uid, values, context=context) + result = badge_user_obj._send_badge(cr, uid, [badge_user], context=context) + return result
\ No newline at end of file diff --git a/addons/hr_gamification/wizard/grant_badge.xml b/addons/hr_gamification/wizard/grant_badge.xml new file mode 100644 index 00000000000..6dcf2d2e7c4 --- /dev/null +++ b/addons/hr_gamification/wizard/grant_badge.xml @@ -0,0 +1,46 @@ +<?xml version="1.0" encoding="UTF-8"?> +<openerp> + <data> + + <record id="view_badge_wizard_grant_employee" model="ir.ui.view"> + <field name="name">Grant Badge Employee Form</field> + <field name="model">gamification.badge.user.wizard</field> + <field name="inherit_id" ref="gamification.view_badge_wizard_grant" /> + <field name="arch" type="xml"> + <data> + <xpath expr="//field[@name='user_id']" position="replace"> + <field name="employee_id" nolabel="1" domain="[('user_id', '!=', False),('user_id', '!=', uid)]" /> + </xpath> + </data> + </field> + </record> + + <record id="view_badge_wizard_reward" model="ir.ui.view"> + <field name="name">Reward Employee Badge Form</field> + <field name="model">gamification.badge.user.wizard</field> + <field name="arch" type="xml"> + <form string="Reward Employee with" version="7.0"> + What are you thank for? + <group> + <field name="employee_id" invisible="1" /> + <field name="badge_id" nolabel="1" colspan="4" /> + <field name="comment" nolabel="1" placeholder="Describe what they did and why it matters (will be public)" /> + </group> + <footer> + <button string="Reward Employee" type="object" name="action_grant_badge" class="oe_highlight" /> or + <button string="Cancel" special="cancel" class="oe_link"/> + </footer> + </form> + </field> + </record> + + <act_window domain="[]" id="action_reward_wizard" + name="Reward Employee" + target="new" + res_model="gamification.badge.user.wizard" + context="{'default_employee_id': active_id, 'employee_id': active_id}" + view_type="form" view_mode="form" + view_id="view_badge_wizard_reward"/> + + </data> +</openerp> diff --git a/addons/hr_holidays/hr_holidays.py b/addons/hr_holidays/hr_holidays.py index 682508e0ca0..a30b874bd8a 100644 --- a/addons/hr_holidays/hr_holidays.py +++ b/addons/hr_holidays/hr_holidays.py @@ -242,6 +242,10 @@ class hr_holidays(osv.osv): result['value'] = { 'employee_id': ids_employee[0] } + elif holiday_type != 'employee': + result['value'] = { + 'employee_id': False + } return result def onchange_employee(self, cr, uid, ids, employee_id): diff --git a/addons/hr_holidays/hr_holidays_view.xml b/addons/hr_holidays/hr_holidays_view.xml index 3064eda5ab1..af20d727fc8 100644 --- a/addons/hr_holidays/hr_holidays_view.xml +++ b/addons/hr_holidays/hr_holidays_view.xml @@ -47,30 +47,31 @@ </field> </record> - <record id="edit_holiday_new" model="ir.ui.view"> + <!-- Holidays: Allocation Request --> + <record model="ir.ui.view" id="edit_holiday_new"> <field name="name">Leave Request</field> <field name="model">hr.holidays</field> - <field name="priority">1</field> <field name="arch" type="xml"> <form string="Leave Request" version="7.0"> <field name="can_reset" invisible="1"/> + <field name="type" invisible="1"/> <header> <button string="Confirm" name="confirm" states="draft" type="workflow" class="oe_highlight"/> <button string="Approve" name="validate" states="confirm" type="workflow" groups="base.group_hr_user" class="oe_highlight"/> <button string="Validate" name="second_validate" states="validate1" type="workflow" groups="base.group_hr_user" class="oe_highlight"/> - <button string="Refuse" name="refuse" states="confirm,validate1,validate" type="workflow" groups="base.group_hr_user"/> + <button string="Refuse" name="refuse" states="confirm,validate,validate1" type="workflow" groups="base.group_hr_user"/> <button string="Reset to Draft" name="reset" type="workflow" attrs="{'invisible': ['|', ('can_reset', '=', False), ('state', 'not in', ['confirm', 'refuse'])]}"/> <field name="state" widget="statusbar" statusbar_visible="draft,confirm,validate" statusbar_colors='{"confirm":"blue","validate1":"blue","refuse":"red"}'/> </header> - <sheet string="Leave Request"> + <sheet> <group> <group> - <field name="name" attrs="{'readonly':[('state','!=','draft'),('state','!=','confirm')]}"/> + <field name="name" attrs="{'readonly':[('state','!=','draft'),('state','!=','confirm')], 'required': [('type', '=', 'add')]}"/> <field name="holiday_status_id" context="{'employee_id':employee_id}"/> - <label for="number_of_days_temp" string="Duration" help="The default duration interval between the start date and the end date is 8 hours. Feel free to adapt it to your needs."/> + <label for="number_of_days_temp" string="Duration"/> <div> - <group col="3"> + <group col="3" attrs="{'invisible': [('type', '=', 'add')]}"> <field name="date_from" nolabel="1" on_change="onchange_date_from(date_to, date_from)" required="1" class="oe_inline"/><label string="-" class="oe_inline"/> <field name="date_to" nolabel="1" on_change="onchange_date_to(date_to, date_from)" required="1" class="oe_inline"/> </group> @@ -78,57 +79,15 @@ <field name="number_of_days_temp" class="oe_inline"/> days </div> </div> - <field name="category_id" attrs="{'required':[('holiday_type','=','category')], 'invisible':[('holiday_type','=','employee')], 'readonly':[('state','!=','draft'), ('state','!=','confirm')]}"/> </group> <group> - <field name="holiday_type" on_change="onchange_type(holiday_type, employee_id)" attrs="{'readonly':[('state','!=','draft')]}" width="130" string="Mode" groups="base.group_hr_user"/> + <field name="holiday_type" on_change="onchange_type(holiday_type)" attrs="{'readonly':[('type', '=', 'remove'),('state','!=','draft')]}" string="Mode" groups="base.group_hr_user"/> <field name="employee_id" attrs="{'required':[('holiday_type','=','employee')],'invisible':[('holiday_type','=','category')]}" on_change="onchange_employee(employee_id)" groups="base.group_hr_user"/> - <field name="department_id" attrs="{'readonly':[('holiday_type','=','category')]}" groups="base.group_hr_user"/> - </group> - </group> - </sheet> - <div class="oe_chatter"> - <field name="message_follower_ids" widget="mail_followers"/> - <field name="message_ids" widget="mail_thread"/> - </div> - </form> - </field> - </record> - - <!-- Holidays: Allocation Request --> - <record model="ir.ui.view" id="allocation_leave_new"> - <field name="name">Allocation Request</field> - <field name="model">hr.holidays</field> - <field name="arch" type="xml"> - <form string="Allocation Request" version="7.0"> - <field name="can_reset" invisible="1"/> - <header> - <button string="Confirm" name="confirm" states="draft" type="workflow" class="oe_highlight"/> - <button string="Approve" name="validate" states="confirm" type="workflow" groups="base.group_hr_user" class="oe_highlight"/> - <button string="Validate" name="second_validate" states="validate1" type="workflow" groups="base.group_hr_user" class="oe_highlight"/> - <button string="Refuse" name="refuse" states="confirm,validate,validate1" type="workflow" groups="base.group_hr_user"/> - <button string="Reset to Draft" name="reset" type="workflow" - attrs="{'invisible': ['|', ('can_reset', '=', False), ('state', 'not in', ['confirm', 'refuse'])]}"/> - <field name="state" widget="statusbar" statusbar_visible="draft,confirm,validate" statusbar_colors='{"confirm":"blue","validate1":"blue","refuse":"red"}'/> - </header> - <sheet> - <group> - <group> - <field name="name" required="1" attrs="{'readonly':[('state','!=','draft'),('state','!=','confirm')]}"/> - <field name="holiday_status_id" context="{'employee_id':employee_id}"/> - <label for="number_of_days_temp"/> - <div> - <field name="number_of_days_temp" class="oe_inline"/> days - </div> - </group> - <group> - <field name="holiday_type" on_change="onchange_type(holiday_type)"/> - <field name="employee_id" attrs="{'required':[('holiday_type','=','employee')], 'invisible':[('holiday_type','=','category')]}"/> - <field name="category_id" attrs="{'required':[('holiday_type','=','category')], 'invisible':[('holiday_type','=','employee')]}"/> - <field name="department_id" attrs="{'invisible':[('holiday_type','=','category')]}"/> + <field name="category_id" attrs="{'required':[('holiday_type','=','category')], 'readonly': [('type', '=', 'remove'),('state','!=','draft'), ('state','!=','confirm')], 'invisible':[('holiday_type','=','employee')]}"/> + <field name="department_id" attrs="{'readonly':['|', ('type','=','add'),('holiday_type','=','category')],'invisible':[('holiday_type','=','category')]}" groups="base.group_hr_user"/> </group> </group> - <field name="notes" nolabel="1" colspan="4" placeholder="Add a reason..."/> + <field name="notes" nolabel="1" colspan="4" placeholder="Add a reason..." attrs="{'invisible': [('type', '=', 'remove')]}"/> </sheet> <div class="oe_chatter"> <field name="message_follower_ids" widget="mail_followers"/> @@ -231,7 +190,7 @@ <menuitem name="Leaves" parent="hr.menu_hr_root" id="menu_open_ask_holidays" sequence="20"/> <record model="ir.actions.act_window" id="open_ask_holidays"> - <field name="name">Leave Requests</field> + <field name="name">Leave Request</field> <field name="res_model">hr.holidays</field> <field name="view_type">form</field> <field name="view_id" ref="edit_holiday_new"/> @@ -305,7 +264,7 @@ <field name="view_type">form</field> <field name="context">{'default_type':'add', 'search_default_my_leaves':1}</field> <field name="domain">[('type','=','add')]</field> - <field name="view_id" ref="allocation_leave_new"/> + <field name="view_id" ref="edit_holiday_new"/> <field name="search_view_id" ref="view_hr_holidays_filter"/> </record> @@ -319,7 +278,7 @@ <record model="ir.actions.act_window.view" id="action_open_allocation_holidays_form"> <field name="sequence" eval="2"/> <field name="view_mode">form</field> - <field name="view_id" ref="allocation_leave_new"/> + <field name="view_id" ref="edit_holiday_new"/> <field name="act_window_id" ref="open_allocation_holidays"/> </record> @@ -331,7 +290,7 @@ <field name="view_type">form</field> <field name="context">{'default_type': 'add', 'search_default_approve':1}</field> <field name="domain">[('type','=','add')]</field> - <field name="view_id" ref="allocation_leave_new"/> + <field name="view_id" ref="edit_holiday_new"/> <field name="search_view_id" ref="view_hr_holidays_filter"/> </record> @@ -345,7 +304,7 @@ <record model="ir.actions.act_window.view" id="action_request_approve_allocation_form"> <field name="sequence" eval="2"/> <field name="view_mode">form</field> - <field name="view_id" ref="allocation_leave_new"/> + <field name="view_id" ref="edit_holiday_new"/> <field name="act_window_id" ref="request_approve_allocation"/> </record> diff --git a/addons/hr_holidays/report/holidays_summary_report.py b/addons/hr_holidays/report/holidays_summary_report.py index d39ae53d5b6..adf09a63c85 100644 --- a/addons/hr_holidays/report/holidays_summary_report.py +++ b/addons/hr_holidays/report/holidays_summary_report.py @@ -96,7 +96,7 @@ class report_custom(report_rml): res=cr.fetchone()[0] date_xml=[] date_today=time.strftime('%Y-%m-%d %H:%M:%S') - date_xml +=['<res name="%s" today="%s" />' % (res,date_today)] + date_xml +=['<res name="%s" today="%s" />' % (to_xml(res),date_today)] cr.execute("SELECT id, name, color_name FROM hr_holidays_status ORDER BY id") legend=cr.fetchall() @@ -128,7 +128,7 @@ class report_custom(report_rml): # date_xml=[] for l in range(0,len(legend)): date_xml += ['<legend row="%d" id="%d" name="%s" color="%s" />' % (l+1,legend[l][0],_(legend[l][1]),legend[l][2])] - date_xml += ['<date month="%s" year="%d" />' % (som.strftime('%B'), som.year),'<days>'] + date_xml += ['<date month="%s" year="%d" />' % (ustr(som.strftime('%B')), som.year),'<days>'] cell=1 if day_diff.days>=30: diff --git a/addons/hr_payroll/hr_payroll.py b/addons/hr_payroll/hr_payroll.py index 3c0f5cc6e4a..081fe226c3a 100644 --- a/addons/hr_payroll/hr_payroll.py +++ b/addons/hr_payroll/hr_payroll.py @@ -143,8 +143,9 @@ class hr_contract(osv.osv): @param contract_ids: list of contracts @return: the structures linked to the given contracts, ordered by hierachy (parent=False first, then first level children and so on) and without duplicata """ - all_structures = [] - structure_ids = [contract.struct_id.id for contract in self.browse(cr, uid, contract_ids, context=context)] + structure_ids = [contract.struct_id.id for contract in self.browse(cr, uid, contract_ids, context=context) if contract.struct_id] + if not structure_ids: + return [] return list(set(self.pool.get('hr.payroll.structure')._get_parent_structure(cr, uid, structure_ids, context=context))) diff --git a/addons/hr_recruitment/doc/changelog.rst b/addons/hr_recruitment/doc/changelog.rst index 404b94ee6d1..7cfce3f677d 100644 --- a/addons/hr_recruitment/doc/changelog.rst +++ b/addons/hr_recruitment/doc/changelog.rst @@ -3,6 +3,13 @@ Changelog ========= +`trunk (saas-3)` +---------------- + +- ``hr.recruitment.stage``: added template_id field. If an email template is linked + to the stage, it is used to render and post a message on the applicant. This + allows for example to have template for accepted or refused applicants. + `trunk (saas-2)` ---------------- diff --git a/addons/hr_recruitment/hr_recruitment.py b/addons/hr_recruitment/hr_recruitment.py index 25cdfc1c1fb..766fe008810 100644 --- a/addons/hr_recruitment/hr_recruitment.py +++ b/addons/hr_recruitment/hr_recruitment.py @@ -53,6 +53,7 @@ class hr_recruitment_stage(osv.osv): 'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of stages."), 'department_id':fields.many2one('hr.department', 'Specific to a Department', help="Stages of the recruitment process may be different per department. If this stage is common to all departments, keep this field empty."), 'requirements': fields.text('Requirements'), + 'template_id': fields.many2one('email.template', 'Use template', help="If set, a message is posted on the applicant using the template when the applicant is set to the stage."), 'fold': fields.boolean('Folded in Kanban View', help='This stage is folded in the kanban view when' 'there are no records in that stage to display.'), @@ -172,6 +173,12 @@ class hr_applicant(osv.Model): res[issue.id][field] = abs(float(duration)) return res + def _get_attachment_number(self, cr, uid, ids, fields, args, context=None): + res = dict.fromkeys(ids, 0) + for app_id in ids: + res[app_id] = self.pool['ir.attachment'].search_count(cr, uid, [('res_model', '=', 'hr.applicant'), ('res_id', '=', app_id)], context=context) + return res + _columns = { 'name': fields.char('Subject / Application Name', size=128, required=True), 'active': fields.boolean('Active', help="If the active field is set to false, it will allow you to hide the case without removing it."), @@ -215,9 +222,9 @@ class hr_applicant(osv.Model): 'day_close': fields.function(_compute_day, string='Days to Close', \ multi='day_close', type="float", store=True), 'color': fields.integer('Color Index'), - 'emp_id': fields.many2one('hr.employee', string='Employee', - help='Employee linked to the applicant.'), + 'emp_id': fields.many2one('hr.employee', string='Employee', help='Employee linked to the applicant.'), 'user_email': fields.related('user_id', 'email', type='char', string='User Email', readonly=True), + 'attachment_number': fields.function(_get_attachment_number, string='Number of Attachments', type="integer"), } _defaults = { @@ -235,11 +242,11 @@ class hr_applicant(osv.Model): } def onchange_job(self, cr, uid, ids, job_id=False, context=None): + department_id = False if job_id: job_record = self.pool.get('hr.job').browse(cr, uid, job_id, context=context) - if job_record and job_record.department_id: - return {'value': {'department_id': job_record.department_id.id}} - return {} + department_id = job_record and job_record.department_id and job_record.department_id.id or False + return {'value': {'department_id': department_id}} def onchange_department_id(self, cr, uid, ids, department_id=False, stage_id=False, context=None): if not stage_id: @@ -290,10 +297,15 @@ class hr_applicant(osv.Model): @return: Dictionary value for created Meeting view """ applicant = self.browse(cr, uid, ids[0], context) + applicant_ids = [] + if applicant.partner_id: + applicant_ids.append(applicant.partner_id.id) + if applicant.department_id and applicant.department_id.manager_id and applicant.department_id.manager_id.user_id and applicant.department_id.manager_id.user_id.partner_id: + applicant_ids.append(applicant.department_id.manager_id.user_id.partner_id.id) category = self.pool.get('ir.model.data').get_object(cr, uid, 'hr_recruitment', 'categ_meet_interview', context) res = self.pool.get('ir.actions.act_window').for_xml_id(cr, uid, 'base_calendar', 'action_crm_meeting', context) res['context'] = { - 'default_partner_ids': applicant.partner_id and [applicant.partner_id.id] or False, + 'default_partner_ids': applicant_ids, 'default_user_id': uid, 'default_name': applicant.name, 'default_categ_ids': category and [category.id] or False, @@ -319,6 +331,20 @@ class hr_applicant(osv.Model): value = self.pool.get("survey").action_print_survey(cr, uid, ids, context=context) return value + def action_get_attachment_tree_view(self, cr, uid, ids, context): + domain = ['&', ('res_model', '=', 'hr.applicant'), ('res_id', 'in', ids)] + return { + 'name': _('Attachments'), + 'domain': domain, + 'res_model': 'ir.attachment', + 'type': 'ir.actions.act_window', + 'view_id': False, + 'view_mode': 'tree,form', + 'view_type': 'form', + 'limit': 80, + 'context': "{'default_res_model': '%s'}" % (self._name) + } + def message_get_suggested_recipients(self, cr, uid, ids, context=None): recipients = super(hr_applicant, self).message_get_suggested_recipients(cr, uid, ids, context=context) for applicant in self.browse(cr, uid, ids, context=context): @@ -364,6 +390,8 @@ class hr_applicant(osv.Model): def write(self, cr, uid, ids, vals, context=None): if isinstance(ids, (int, long)): ids = [ids] + res = True + # user_id change: update date_start if vals.get('user_id'): vals['date_start'] = fields.datetime.now() @@ -373,8 +401,34 @@ class hr_applicant(osv.Model): for applicant in self.browse(cr, uid, ids, context=None): vals['last_stage_id'] = applicant.stage_id.id res = super(hr_applicant, self).write(cr, uid, [applicant.id], vals, context=context) - return res - return super(hr_applicant, self).write(cr, uid, ids, vals, context=context) + else: + res = super(hr_applicant, self).write(cr, uid, ids, vals, context=context) + + # post processing: if stage changed, post a message in the chatter + if vals.get('stage_id'): + stage = self.pool['hr.recruitment.stage'].browse(cr, uid, vals['stage_id'], context=context) + if stage.template_id: + # TDENOTE: probably factorize me in a message_post_with_template generic method FIXME + compose_ctx = dict(context, + active_ids=ids) + compose_id = self.pool['mail.compose.message'].create( + cr, uid, { + 'model': self._name, + 'composition_mode': 'mass_mail', + 'template_id': stage.template_id.id, + 'same_thread': True, + 'post': True, + 'notify': True, + }, context=compose_ctx) + self.pool['mail.compose.message'].write( + cr, uid, [compose_id], + self.pool['mail.compose.message'].onchange_template_id( + cr, uid, [compose_id], + stage.template_id.id, 'mass_mail', self._name, False, + context=compose_ctx)['value'], + context=compose_ctx) + self.pool['mail.compose.message'].send_mail(cr, uid, [compose_id], context=compose_ctx) + return res def create_employee_from_applicant(self, cr, uid, ids, context=None): """ Create an hr.employee from the hr.applicants """ @@ -394,7 +448,10 @@ class hr_applicant(osv.Model): emp_id = hr_employee.create(cr, uid, {'name': applicant.partner_name or contact_name, 'job_id': applicant.job_id.id, 'address_home_id': address_id, - 'department_id': applicant.department_id.id + 'department_id': applicant.department_id.id or False, + 'address_id': applicant.company_id and applicant.company_id.partner_id and applicant.company_id.partner_id.id or False, + 'work_email': applicant.department_id and applicant.department_id.company_id and applicant.department_id.company_id.email or False, + 'work_phone': applicant.department_id and applicant.department_id.company_id and applicant.department_id.company_id.phone or False, }) self.write(cr, uid, [applicant.id], {'emp_id': emp_id}, context=context) else: diff --git a/addons/hr_recruitment/hr_recruitment_data.xml b/addons/hr_recruitment/hr_recruitment_data.xml index 219f36405b5..492c0f12c73 100644 --- a/addons/hr_recruitment/hr_recruitment_data.xml +++ b/addons/hr_recruitment/hr_recruitment_data.xml @@ -17,6 +17,43 @@ <field name="name">Interview</field> </record> + <!-- Templates for interest / refusing applicants --> + <record id="applicant_refuse" model="email.template"> + <field name="name">Application refused</field> + <field name="subject">Application refused</field> + <field name="email_to">${object.email_from}</field> + <field name="partner_to">${object.partner_id and object.partner_id.id or ''}</field> + <field name="lang">${object.partner_id and object.partner_id.lang or ''}</field> + <field name="model_id" ref="hr_recruitment.model_hr_applicant"/> + <field name="user_signature" eval="0"/> + <field name="body_html"><![CDATA[<p>Dear ${object.partner_name or 'applicant'},</p> + <p>We thank you for your interest in our company and for your application. + Unfortunately, your profile does not match with our needs or our recruitment + campaign has reached its term.</p> + <p>If you want more details, feel free to contact us by phone.</p> + <p>Kind regards,</p> + <br/> + ${object.user_id and object.user_id.signature or ''}]]></field> + </record> + + <record id="applicant_interest" model="email.template"> + <field name="name">Application approved</field> + <field name="subject">Application approved</field> + <field name="email_to">${object.email_from}</field> + <field name="partner_to">${object.partner_id and object.partner_id.id or ''}</field> + <field name="lang">${object.partner_id and object.partner_id.lang or ''}</field> + <field name="model_id" ref="hr_recruitment.model_hr_applicant"/> + <field name="user_signature" eval="0"/> + <field name="body_html"><![CDATA[<p>Dear ${object.partner_name or 'applicant'},</p> + <p>Congrats! Your resume's got our interest! + I will call you as soon as possible to make a 10 minutes phone interview and plan a first meeting.</p> + <p>If we can’t reach you or if you miss our call, feel free to reach me back on the number 001 312 349 3030 + If I do not answer, please let me a message with some schedules to call you back.</p> + <p>Kind regards,</p> + <br/> + ${object.user_id.signature}]]></field> + </record> + <!-- HR Recruitment Source --> <record model="hr.recruitment.source" id="source_linkedin"> @@ -58,6 +95,7 @@ </record> <record model="hr.recruitment.stage" id="stage_job2"> <field name="name">First Interview</field> + <field name="template_id" ref="applicant_interest"/> <field name="sequence">2</field> </record> <record model="hr.recruitment.stage" id="stage_job3"> @@ -76,6 +114,7 @@ <record model="hr.recruitment.stage" id="stage_job6"> <field name="name">Refused</field> <field name="sequence">6</field> + <field name="template_id" ref="applicant_refuse"/> <field name="fold" eval="True"/> </record> diff --git a/addons/hr_recruitment/hr_recruitment_demo.xml b/addons/hr_recruitment/hr_recruitment_demo.xml index 8e1435691c8..8ba49a2beb8 100644 --- a/addons/hr_recruitment/hr_recruitment_demo.xml +++ b/addons/hr_recruitment/hr_recruitment_demo.xml @@ -2,10 +2,12 @@ <openerp> <data noupdate="1"> <record id="hr_case_salesman0" model="hr.applicant"> - <field name="name">Salesperson</field> - <field name="job_id" ref="hr.job_developer"/> + <field name="name">Sales Manager</field> + <field name="job_id" ref="hr.job_marketing"/> + <field name="department_id" ref="hr.dep_sales"/> <field name="type_id" ref="degree_graduate"/> <field name="categ_ids" eval="[(6,0,[ref('tag_applicant_sales')])]"/> + <field name="user_id" ref="base.user_demo"/> <field name="priority">2</field> <field name="partner_name">Enrique Jones</field> <field name="partner_mobile">9963214587</field> @@ -15,8 +17,9 @@ </record> <record id="hr_case_traineemca0" model="hr.applicant"> <field name="name">Trainee - MCA</field> - <field name="job_id" ref="hr.job_developer"/> - <field name="type_id" ref="degree_bac5"/> + <field name="job_id" ref="hr.job_trainee"/> + <field name="department_id" ref="hr.dep_rd"/> + <field name="type_id" ref="degree_licenced"/> <field name="categ_ids" eval="[(6,0,[ref('tag_applicant_manager')])]"/> <field name="user_id" ref="base.user_demo"/> <field name="priority">3</field> @@ -29,10 +32,11 @@ </record> <record id="hr_case_fresher0" model="hr.applicant"> <field name="name">Fresher</field> - <field name="job_id" ref="hr.job_developer"/> - <field name="type_id" ref="degree_licenced"/> + <field name="job_id" ref="hr.job_trainee"/> + <field name="department_id" ref="hr.dep_administration"/> + <field name="type_id" ref="degree_bachelor"/> <field name="categ_ids" eval="[(6,0,[ref('tag_applicant_it')])]"/> - <field name="user_id" ref="base.user_root"/> + <field name="user_id" ref="base.user_demo"/> <field name="priority">1</field> <field name="partner_name">Jose</field> <field name="stage_id" ref="stage_job3"/> @@ -42,8 +46,9 @@ </record> <record id="hr_case_yrsexperienceinphp0" model="hr.applicant"> <field name="name">Marketing Job</field> - <field name="job_id" ref="hr.job_developer"/> - <field name="type_id" ref="degree_bac5"/> + <field name="job_id" ref="hr.job_marketing"/> + <field name="department_id" ref="hr.dep_sales"/> + <field name="type_id" ref="degree_graduate"/> <field name="categ_ids" eval="[(6,0,[ref('tag_applicant_manager')])]"/> <field name="user_id" ref="base.user_root"/> <field name="partner_name">John Bruno</field> @@ -54,6 +59,7 @@ <record id="hr_case_marketingjob0" model="hr.applicant"> <field name="name">More than 5 yrs Experience in PHP</field> <field name="job_id" ref="hr.job_developer"/> + <field name="department_id" ref="hr.dep_rd"/> <field name="type_id" ref="degree_licenced"/> <field name="categ_ids" eval="[(6,0,[ref('tag_applicant_reserve')])]"/> <field name="user_id" ref="base.user_demo"/> @@ -63,8 +69,9 @@ <field name="title_action">Send mail regarding our interview</field> </record> <record id="hr_case_financejob0" model="hr.applicant"> - <field name="name">Finance Job</field> - <field name="job_id" ref="hr.job_developer"/> + <field name="name">Finance Manager</field> + <field name="job_id" ref="hr.job_hrm"/> + <field name="department_id" ref="hr.dep_administration"/> <field name="type_id" ref="degree_licenced"/> <field name="categ_ids" eval="[(6,0,[ref('tag_applicant_reserve')])]"/> <field name="user_id" ref="base.user_root"/> @@ -77,8 +84,9 @@ </record> <record id="hr_case_traineemca1" model="hr.applicant"> <field name="name">Trainee - MCA</field> - <field name="job_id" ref="hr.job_developer"/> - <field name="type_id" ref="degree_bac5"/> + <field name="job_id" ref="hr.job_trainee"/> + <field name="department_id" ref="hr.dep_rd"/> + <field name="type_id" ref="degree_licenced"/> <field name="categ_ids" eval="[(6,0,[ref('tag_applicant_sales')])]"/> <field name="partner_name">Tina Augustie</field> <field name="partner_mobile">9898745745</field> @@ -90,7 +98,8 @@ <record id="hr_case_programmer" model="hr.applicant"> <field name="name">Programmer</field> <field name="job_id" ref="hr.job_developer"/> - <field name="type_id" ref="degree_bac5"/> + <field name="department_id" ref="hr.dep_rd"/> + <field name="type_id" ref="degree_licenced"/> <field name="categ_ids" eval="[(6,0,[ref('tag_applicant_it')])]"/> <field name="partner_name">Shane Williams</field> <field name="partner_mobile">9812398524</field> @@ -102,7 +111,8 @@ </record> <record id="hr_case_advertisement" model="hr.applicant"> <field name="name">Advertisement</field> - <field name="job_id" ref="hr.job_developer"/> + <field name="job_id" ref="hr.job_consultant"/> + <field name="department_id" ref="hr.dep_ps"/> <field name="type_id" ref="degree_licenced"/> <field name="categ_ids" eval="[(6,0,[ref('tag_applicant_it')])]"/> <field name="partner_name">David Armstrong</field> @@ -114,7 +124,80 @@ </record> <record id="hr.job_developer" model="hr.job"> + <field name="state">recruit</field> + <field name="no_of_recruitment">4</field> + <field name="survey_id" ref="survey_job_0"/> + </record> + <record id="hr.job_ceo" model="hr.job"> <field name="survey_id" ref="survey_job_0"/> </record> + <record id="hr.job_cto" model="hr.job"> + <field name="survey_id" ref="survey_job_0"/> + </record> + <record id="hr.job_consultant" model="hr.job"> + <field name="state">recruit</field> + <field name="no_of_recruitment">1</field> + <field name="survey_id" ref="survey_job_0"/> + </record> + <record id="hr.job_hrm" model="hr.job"> + <field name="no_of_recruitment">1</field> + <field name="state">recruit</field> + <field name="survey_id" ref="survey_job_0"/> + </record> + <record id="hr.job_marketing" model="hr.job"> + <field name="state">recruit</field> + <field name="no_of_recruitment">3</field> + <field name="survey_id" ref="survey_job_0"/> + </record> + <record id="hr.job_trainee" model="hr.job"> + <field name="state">recruit</field> + <field name="no_of_recruitment">6</field> + <field name="survey_id" ref="survey_job_0"/> + </record> + + <record id="message_application_demo" model="mail.message"> + <field name="model">hr.applicant</field> + <field name="res_id" ref="hr_case_advertisement"/> + <field name="body">Please do refer to this application for sure.</field> + <field name="type">comment</field> + <field name="author_id" ref="base.res_partner_2"/> + </record> + <record id="msg_case18_aplicant" model="mail.message"> + <field name="subject">Regarding reference</field> + <field name="model">hr.applicant</field> + <field name="res_id" ref="hr_case_advertisement"/> + <field name="body"><![CDATA[<p>Hello!<br /> + I will surely refer to this application as it is by your reference and <br /> + will try to conduct an interview within a very short time<br /> + Thanks,</p>]]></field> + <field name="type">comment</field> + <field name="subtype_id" ref="mail.mt_comment"/> + <field name="author_id" ref="base.partner_demo"/> + </record> + <function model="mail.message" name="set_message_starred" + eval="[ ref('msg_case18_aplicant')], True, {}" + /> + <record id="msg_case_salesman0_aplicant" model="mail.message"> + <field name="subject">Refuse Application</field> + <field name="model">hr.applicant</field> + <field name="res_id" ref="hr_case_salesman0"/> + <field name="body"><![CDATA[<p>Hello,</p> + <p>I have checked this application but It's not match with our requirement. so no need to process further and we should refuse this application.</p> + <p>Kind regards,</p>]]></field> + <field name="type">comment</field> + <field name="subtype_id" ref="mail.mt_comment"/> + <field name="author_id" ref="base.partner_demo"/> + </record> + <record id="msg_case_fresher0_aplicant" model="mail.message"> + <field name="model">hr.applicant</field> + <field name="res_id" ref="hr_case_fresher0"/> + <field name="body"><![CDATA[<p>Hello,</p> + <p>We should move further for this application as early as possible..</p> + <p>Kind regards,</p>]]></field> + <field name="type">comment</field> + <field name="subtype_id" ref="mail.mt_comment"/> + <field name="author_id" ref="base.partner_demo"/> + </record> + </data> </openerp> diff --git a/addons/hr_recruitment/hr_recruitment_menu.xml b/addons/hr_recruitment/hr_recruitment_menu.xml index c280f64105c..2dcd490b075 100644 --- a/addons/hr_recruitment/hr_recruitment_menu.xml +++ b/addons/hr_recruitment/hr_recruitment_menu.xml @@ -10,13 +10,15 @@ <field name="view_id" eval="False"/> <field name="search_view_id" ref="view_crm_case_jobs_filter"/> <field name="help" type="html"> - <p> - OpenERP helps you track applicants in the recruitment - process and follow up all operations: meetings, interviews, etc. + <p class="oe_view_nocontent_create"> + Click to add a new job applicant. </p><p> - Applicants and their attached CV are created automatically when an email is sent. - If you install the document management modules, all resumes are indexed automatically, - so that you can easily search through their content. + OpenERP helps you track applicants in the recruitment process + and follow up all operations: meetings, interviews, etc. + Candidates and their cv's are automatically created when they + apply for a job. If you install the document management modules, + all resumes are indexed automatically, so that you can easily + search through their content in the recruitment menu. </p> </field> </record> @@ -61,6 +63,7 @@ name="Applications" parent="base.menu_crm_case_job_req_main" id="menu_crm_case_categ0_act_job" action="crm_case_categ0_act_job" sequence="1"/> + <menuitem parent="hr.menu_hr_configuration" id="hr.menu_hr_job" action="hr.action_hr_job" sequence="2"/> diff --git a/addons/hr_recruitment/hr_recruitment_view.xml b/addons/hr_recruitment/hr_recruitment_view.xml index ebc426bc331..3ff73c9f951 100644 --- a/addons/hr_recruitment/hr_recruitment_view.xml +++ b/addons/hr_recruitment/hr_recruitment_view.xml @@ -83,6 +83,7 @@ <button name="action_print_survey" type="object" string="Print Interview" help="Print interview report" attrs="{'invisible':[('survey','=',False)]}"/> + <button name="action_get_attachment_tree_view" string="Documents" type="object"/> </div> <div class="oe_title"> <label for="name" class="oe_edit_only"/> @@ -121,6 +122,7 @@ <field name="response" invisible="1"/> <field name="job_id" on_change="onchange_job(job_id)"/> <field name="department_id" on_change="onchange_department_id(department_id, stage_id)"/> + <field name="company_id" /> <label for="availability"/> <div> <field name="availability" class="oe_inline"/> <label string="Day(s)" class="oe_inline"/> @@ -181,6 +183,7 @@ <separator/> <filter string="Next Actions" context="{'invisible_next_action':False, 'invisible_next_date':False}" domain="[('date_action','<>',False)]" help="Filter and view on next actions and date"/> + <field name="job_id"/> <field name="department_id"/> <field name="user_id"/> @@ -239,6 +242,7 @@ <field name="department_id"/> <field name="categ_ids"/> <field name="message_summary"/> + <field name="attachment_number"/> <templates> <t t-name="kanban-tooltip"> <ul class="oe_kanban_tooltip"> @@ -256,6 +260,7 @@ <li><a name="action_makeMeeting" type="object">Schedule Interview</a></li> <li><ul class="oe_kanban_colorpicker" data-field="color"/></li> </ul> + </div> <div class="oe_kanban_content" tooltip="kanban-tooltip"> <div> @@ -290,7 +295,9 @@ </div> <div class="oe_kanban_footer_left" style="margin-top:5px;"> <t t-raw="record.message_summary.raw_value"/> + <a t-if="record.attachment_number" name="action_get_attachment_tree_view" type="object" style="margin-right: 10px"> <field name="attachment_number"/> Documents</a> </div> + </div> <div class="oe_clear"></div> </div> @@ -369,6 +376,7 @@ <group> <field name="sequence"/> <field name="fold"/> + <field name="template_id" domain= "[('model_id.model', '=', 'hr.applicant')]"/> </group> </group> <separator string="Requirements"/> diff --git a/addons/hr_recruitment/res_config.py b/addons/hr_recruitment/res_config.py index d18ca7de477..ca70150b592 100644 --- a/addons/hr_recruitment/res_config.py +++ b/addons/hr_recruitment/res_config.py @@ -26,7 +26,7 @@ class hr_applicant_settings(osv.osv_memory): _inherit = ['hr.config.settings', 'fetchmail.config.settings'] _columns = { - 'module_document_ftp': fields.boolean('Allow the automatic indexation of resumes', + 'module_document': fields.boolean('Allow the automatic indexation of resumes', help='Manage your CV\'s and motivation letter related to all applicants.\n' '-This installs the module document_ftp. This will install the knowledge management module in order to allow you to search using specific keywords through the content of all documents (PDF, .DOCx...)'), 'fetchmail_applicants': fields.boolean('Create applicants from an incoming email account', diff --git a/addons/hr_recruitment/res_config_view.xml b/addons/hr_recruitment/res_config_view.xml index 1c692099f60..b0dfc5bb232 100644 --- a/addons/hr_recruitment/res_config_view.xml +++ b/addons/hr_recruitment/res_config_view.xml @@ -15,14 +15,8 @@ <field name="arch" type="xml"> <div name="recruitment" position="inside"> <div> - <field name="fetchmail_applicants" class="oe_inline"/> - <label for="fetchmail_applicants"/> - <button name="configure_fetchmail_applicants" type="object" string="Configure" icon="gtk-go-forward" - attrs="{'invisible': [('fetchmail_applicants','=',False)]}" class="oe_link"/> - </div> - <div> - <field name="module_document_ftp" class="oe_inline"/> - <label for="module_document_ftp"/> + <field name="module_document" class="oe_inline"/> + <label for="module_document"/> </div> </div> </field> diff --git a/addons/hr_timesheet/report/users_timesheet.py b/addons/hr_timesheet/report/users_timesheet.py index d8c4927947d..0d3f23e6bd3 100644 --- a/addons/hr_timesheet/report/users_timesheet.py +++ b/addons/hr_timesheet/report/users_timesheet.py @@ -106,7 +106,7 @@ class report_custom(report_rml): <date>%s</date> <company>%s</company> </header> - ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),registry['res.users'].browse(cr,uid,uid).company_id.name) + ''' % (str(rml_obj.formatLang(time.strftime("%Y-%m-%d"),date=True))+' ' + str(time.strftime("%H:%M")),toxml(registry['res.users'].browse(cr,uid,uid).company_id.name)) xml='''<?xml version="1.0" encoding="UTF-8" ?> <report> diff --git a/addons/l10n_ma/l10n_ma_tax.xml b/addons/l10n_ma/l10n_ma_tax.xml index 5bc59035861..3040cd4e78e 100644 --- a/addons/l10n_ma/l10n_ma_tax.xml +++ b/addons/l10n_ma/l10n_ma_tax.xml @@ -745,6 +745,8 @@ <field name="property_account_receivable" ref="pcg_3488"/> <field name="property_account_payable" ref="pcg_4488"/> <field name="currency_id" ref="base.MAD"/> + <field name="property_account_income_categ" ref="pcg_7111"/> + <field name="property_account_expense_categ" ref="pcg_1486"/> </record> <record model="account.tax.template" id="tva_exo"> diff --git a/addons/l10n_us/account.account.template.csv b/addons/l10n_us/account.account.template.csv index c7431ce89a7..6e6435fcbea 100644 --- a/addons/l10n_us/account.account.template.csv +++ b/addons/l10n_us/account.account.template.csv @@ -119,3 +119,5 @@ "51100_general_product",51100,"Freight and Shipping Costs","other","l10n_us.user_type_cogs","cost_of_goods_sold","False","l10n_us.account_chart_template_general_product" "52500_general_product",52500,"Purchase Discounts","other","l10n_us.user_type_cogs","cost_of_goods_sold","False","l10n_us.account_chart_template_general_product" "52900_general_product",52900,"Purchases - Resale Items","other","l10n_us.user_type_cogs","cost_of_goods_sold","False","l10n_us.account_chart_template_general_product" +"base_miscincome","49000","Miscellaneous Income","other","l10n_us.user_type_income","income","False","l10n_us.account_chart_template_basic" +"base_miscexpense","69000","Miscellaneous Expense","other","l10n_us.user_type_expense","expense","False","l10n_us.account_chart_template_basic"
\ No newline at end of file diff --git a/addons/l10n_us/account_chart_template_after.xml b/addons/l10n_us/account_chart_template_after.xml index 4cd1472773d..8db22dd262a 100644 --- a/addons/l10n_us/account_chart_template_after.xml +++ b/addons/l10n_us/account_chart_template_after.xml @@ -9,6 +9,8 @@ <field name="property_account_receivable" ref="account_receivable"/> <field name="property_account_payable" ref="account_payable"/> <field name="currency_id" ref="base.USD"/> + <field name="property_account_income_categ" ref="base_miscincome"/> + <field name="property_account_expense_categ" ref="base_miscexpense"/> </record> <record id="account_chart_template_advertising" model="account.chart.template"> <field name="bank_account_view_id" ref="cash_expenditure"/> diff --git a/addons/mail/__openerp__.py b/addons/mail/__openerp__.py index 1b9111d3040..59d2e5f81ee 100644 --- a/addons/mail/__openerp__.py +++ b/addons/mail/__openerp__.py @@ -81,16 +81,19 @@ Main Features 'css': [ 'static/src/css/mail.css', 'static/src/css/mail_group.css', + 'static/src/css/announcement.css', ], 'js': [ 'static/src/js/mail.js', 'static/src/js/mail_followers.js', 'static/src/js/many2many_tags_email.js', + 'static/src/js/announcement.js', 'static/src/js/suggestions.js', ], 'qweb': [ 'static/src/xml/mail.xml', 'static/src/xml/mail_followers.xml', + 'static/src/xml/announcement.xml', 'static/src/xml/suggestions.xml', ], } diff --git a/addons/mail/i18n/he.po b/addons/mail/i18n/he.po new file mode 100644 index 00000000000..e777b8dd948 --- /dev/null +++ b/addons/mail/i18n/he.po @@ -0,0 +1,1687 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:04+0000\n" +"PO-Revision-Date: 2013-12-30 19:34+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: mail +#: view:mail.followers:0 +msgid "Followers Form" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_publisher_warranty_contract +msgid "publisher_warranty.contract" +msgstr "" + +#. module: mail +#: field:mail.compose.message,author_id:0 +#: view:mail.mail:0 +#: field:mail.message,author_id:0 +msgid "Author" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Message Details" +msgstr "" + +#. module: mail +#: help:mail.mail,email_to:0 +msgid "Message recipients" +msgstr "" + +#. module: mail +#: help:mail.message.subtype,default:0 +msgid "Activated by default when subscribing." +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Comments" +msgstr "" + +#. module: mail +#: view:mail.alias:0 +#: view:mail.mail:0 +msgid "Group By..." +msgstr "" + +#. module: mail +#: help:mail.compose.message,body:0 +#: help:mail.message,body:0 +msgid "Automatically sanitized HTML contents" +msgstr "" + +#. module: mail +#: help:mail.alias,alias_name:0 +msgid "" +"The name of the email alias, e.g. 'jobs' if you want to catch emails for " +"<jobs@example.my.openerp.com>" +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_email_compose_message_wizard +#: view:mail.compose.message:0 +msgid "Compose Email" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:132 +#, python-format +msgid "Add them into recipients and followers" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Group Name" +msgstr "" + +#. module: mail +#: selection:mail.group,public:0 +msgid "Public" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Body" +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Show messages to read" +msgstr "" + +#. module: mail +#: help:mail.compose.message,email_from:0 +#: help:mail.message,email_from:0 +msgid "" +"Email address of the sender. This field is set when no matching partner is " +"found for incoming emails." +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_compose_message +msgid "Email composition wizard" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:23 +#, python-format +msgid "Add others" +msgstr "" + +#. module: mail +#: field:mail.message.subtype,parent_id:0 +msgid "Parent" +msgstr "" + +#. module: mail +#: field:mail.group,message_unread:0 +#: field:mail.thread,message_unread:0 +#: field:res.partner,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:313 +#, python-format +msgid "show" +msgstr "" + +#. module: mail +#: help:mail.group,group_ids:0 +msgid "" +"Members of those groups will automatically added as followers. Note that " +"they will be able to manage their subscription manually if necessary." +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/mail.js:1029 +#, python-format +msgid "Do you really want to delete this message?" +msgstr "" + +#. module: mail +#: view:mail.message:0 +#: field:mail.notification,read:0 +msgid "Read" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Search Groups" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/mail_followers.js:157 +#, python-format +msgid "followers" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_message.py:737 +#, python-format +msgid "Access Denied" +msgstr "" + +#. module: mail +#: help:mail.group,image_medium:0 +msgid "" +"Medium-sized photo of the group. It is automatically resized as a 128x128px " +"image, with aspect ratio preserved. Use this field in form views or some " +"kanban views." +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:212 +#, python-format +msgid "Uploading error" +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_support +msgid "Support" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_message.py:738 +#, python-format +msgid "" +"The requested operation cannot be completed due to security restrictions. " +"Please contact your system administrator.\n" +"\n" +"(Document type: %s, Operation: %s)" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +#: selection:mail.mail,state:0 +msgid "Received" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Thread" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:29 +#, python-format +msgid "Open the full mail composer" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:29 +#, python-format +msgid "ò" +msgstr "" + +#. module: mail +#: field:base.config.settings,alias_domain:0 +msgid "Alias Domain" +msgstr "" + +#. module: mail +#: field:mail.group,group_ids:0 +msgid "Auto Subscription" +msgstr "" + +#. module: mail +#: field:mail.mail,references:0 +msgid "References" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:206 +#, python-format +msgid "No messages." +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_group +msgid "Discussion group" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:96 +#: code:addons/mail/static/src/xml/mail.xml:108 +#, python-format +msgid "uploading" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:52 +#, python-format +msgid "more." +msgstr "" + +#. module: mail +#: help:mail.compose.message,type:0 +#: help:mail.message,type:0 +msgid "" +"Message type: email for email message, notification for system message, " +"comment for other messages such as user replies" +msgstr "" + +#. module: mail +#: help:mail.message.subtype,relation_field:0 +msgid "" +"Field used to link the related model to the subtype model when using " +"automatic subscription on a related document. The field is used to compute " +"getattr(related_document.relation_field)." +msgstr "" + +#. module: mail +#: selection:mail.mail,state:0 +msgid "Cancelled" +msgstr "" + +#. module: mail +#: field:mail.mail,reply_to:0 +msgid "Reply-To" +msgstr "" + +#. module: mail +#: code:addons/mail/wizard/invite.py:37 +#, python-format +msgid "<div>You have been invited to follow %s.</div>" +msgstr "" + +#. module: mail +#: help:mail.group,message_unread:0 +#: help:mail.thread,message_unread:0 +#: help:res.partner,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: mail +#: field:mail.group,image_medium:0 +msgid "Medium-sized photo" +msgstr "" + +#. module: mail +#: model:ir.actions.client,name:mail.action_mail_to_me_feeds +#: model:ir.ui.menu,name:mail.mail_tomefeeds +msgid "To: me" +msgstr "" + +#. module: mail +#: field:mail.message.subtype,name:0 +msgid "Message Type" +msgstr "" + +#. module: mail +#: field:mail.mail,auto_delete:0 +msgid "Auto Delete" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:12 +#: view:mail.group:0 +#, python-format +msgid "Unfollow" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:312 +#, python-format +msgid "show one more message" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_mail.py:75 +#: code:addons/mail/res_users.py:69 +#, python-format +msgid "Invalid Action!" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:25 +#, python-format +msgid "User img" +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_mail_mail +#: model:ir.ui.menu,name:mail.menu_mail_mail +#: view:mail.mail:0 +#: view:mail.message:0 +msgid "Emails" +msgstr "" + +#. module: mail +#: field:mail.followers,partner_id:0 +msgid "Related Partner" +msgstr "" + +#. module: mail +#: help:mail.group,message_summary:0 +#: help:mail.thread,message_summary:0 +#: help:res.partner,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: mail +#: help:mail.alias,alias_model_id:0 +msgid "" +"The model (OpenERP Document Kind) to which this alias corresponds. Any " +"incoming email that does not reply to an existing record will cause the " +"creation of a new record of this model (e.g. a Project Task)" +msgstr "" + +#. module: mail +#: field:mail.message.subtype,relation_field:0 +msgid "Relation field" +msgstr "" + +#. module: mail +#: selection:mail.compose.message,type:0 +#: selection:mail.message,type:0 +msgid "System notification" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_res_partner +msgid "Partner" +msgstr "" + +#. module: mail +#: model:ir.ui.menu,name:mail.mail_my_stuff +msgid "Organizer" +msgstr "" + +#. module: mail +#: field:mail.compose.message,subject:0 +#: field:mail.message,subject:0 +msgid "Subject" +msgstr "" + +#. module: mail +#: field:mail.wizard.invite,partner_ids:0 +msgid "Partners" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Retry" +msgstr "" + +#. module: mail +#: field:mail.compose.message,email_from:0 +#: field:mail.mail,email_from:0 +#: field:mail.message,email_from:0 +msgid "From" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +#: view:mail.message.subtype:0 +msgid "Email message" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_base_config_settings +msgid "base.config.settings" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:36 +#: view:mail.compose.message:0 +#, python-format +msgid "Send" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/mail_followers.js:153 +#, python-format +msgid "No followers" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Failed" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:22 +#: model:ir.actions.act_window,name:mail.action_view_followers +#: model:ir.ui.menu,name:mail.menu_email_followers +#: view:mail.followers:0 +#: field:mail.group,message_follower_ids:0 +#: field:mail.thread,message_follower_ids:0 +#: field:res.partner,message_follower_ids:0 +#, python-format +msgid "Followers" +msgstr "" + +#. module: mail +#: model:ir.actions.client,name:mail.action_mail_archives_feeds +#: model:ir.ui.menu,name:mail.mail_archivesfeeds +msgid "Archives" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:95 +#: code:addons/mail/static/src/xml/mail.xml:107 +#, python-format +msgid "Delete this attachment" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:245 +#: view:mail.mail:0 +#, python-format +msgid "Reply" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/mail_followers.js:155 +#, python-format +msgid "One follower" +msgstr "" + +#. module: mail +#: field:mail.compose.message,type:0 +#: field:mail.message,type:0 +msgid "Type" +msgstr "" + +#. module: mail +#: selection:mail.compose.message,type:0 +#: view:mail.mail:0 +#: selection:mail.message,type:0 +msgid "Email" +msgstr "" + +#. module: mail +#: field:ir.ui.menu,mail_group_id:0 +msgid "Mail Group" +msgstr "" + +#. module: mail +#: selection:res.partner,notification_email_send:0 +msgid "Comments and Emails" +msgstr "" + +#. module: mail +#: field:mail.alias,alias_defaults:0 +msgid "Default Values" +msgstr "" + +#. module: mail +#: code:addons/mail/res_users.py:89 +#, python-format +msgid "%s has joined the %s network." +msgstr "" + +#. module: mail +#: help:mail.group,image_small:0 +msgid "" +"Small-sized photo of the group. It is automatically resized as a 64x64px " +"image, with aspect ratio preserved. Use this field anywhere a small image is " +"required." +msgstr "" + +#. module: mail +#: view:mail.compose.message:0 +#: field:mail.message,partner_ids:0 +msgid "Recipients" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:140 +#, python-format +msgid "<<<" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:43 +#, python-format +msgid "Write to the followers of this document..." +msgstr "" + +#. module: mail +#: field:mail.group,group_public_id:0 +msgid "Authorized Group" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Join Group" +msgstr "" + +#. module: mail +#: help:mail.mail,email_from:0 +msgid "Message sender, taken from user preferences." +msgstr "" + +#. module: mail +#: code:addons/mail/wizard/invite.py:40 +#, python-format +msgid "<div>You have been invited to follow a new document.</div>" +msgstr "" + +#. module: mail +#: field:mail.compose.message,parent_id:0 +#: field:mail.message,parent_id:0 +msgid "Parent Message" +msgstr "" + +#. module: mail +#: field:mail.compose.message,res_id:0 +#: field:mail.followers,res_id:0 +#: field:mail.message,res_id:0 +#: field:mail.wizard.invite,res_id:0 +msgid "Related Document ID" +msgstr "" + +#. module: mail +#: model:ir.actions.client,help:mail.action_mail_to_me_feeds +msgid "" +"<p>\n" +" <b>No private message.</b>\n" +" </p><p>\n" +" This list contains messages sent to you.\n" +" </p>\n" +" " +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_rd +msgid "R&D" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:61 +#, python-format +msgid "/web/binary/upload_attachment" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_thread +msgid "Email Thread" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Advanced" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:244 +#, python-format +msgid "Move to Inbox" +msgstr "" + +#. module: mail +#: code:addons/mail/wizard/mail_compose_message.py:193 +#, python-format +msgid "Re:" +msgstr "" + +#. module: mail +#: field:mail.compose.message,to_read:0 +#: field:mail.message,to_read:0 +msgid "To read" +msgstr "" + +#. module: mail +#: code:addons/mail/res_users.py:69 +#, python-format +msgid "" +"You may not create a user. To create new users, you should use the " +"\"Settings > Users\" menu." +msgstr "" + +#. module: mail +#: help:mail.followers,res_model:0 +#: help:mail.wizard.invite,res_model:0 +msgid "Model of the followed resource" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:337 +#, python-format +msgid "like" +msgstr "" + +#. module: mail +#: view:mail.compose.message:0 +#: view:mail.wizard.invite:0 +msgid "Cancel" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:47 +#, python-format +msgid "Share with my followers..." +msgstr "" + +#. module: mail +#: field:mail.notification,partner_id:0 +msgid "Contact" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "" +"Only the invited followers can read the\n" +" discussions on this group." +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_ir_ui_menu +msgid "ir.ui.menu" +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Has attachments" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "on" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_message.py:926 +#, python-format +msgid "" +"The following partners chosen as recipients for the email have no email " +"address linked :" +msgstr "" + +#. module: mail +#: help:mail.alias,alias_defaults:0 +msgid "" +"A Python dictionary that will be evaluated to provide default values when " +"creating new records for this alias." +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_message_subtype +msgid "Message subtypes" +msgstr "" + +#. module: mail +#: help:mail.compose.message,notified_partner_ids:0 +#: help:mail.message,notified_partner_ids:0 +msgid "" +"Partners that have a notification pushing this message in their mailboxes" +msgstr "" + +#. module: mail +#: selection:mail.compose.message,type:0 +#: view:mail.mail:0 +#: selection:mail.message,type:0 +msgid "Comment" +msgstr "" + +#. module: mail +#: model:ir.actions.client,help:mail.action_mail_inbox_feeds +msgid "" +"<p>\n" +" <b>Good Job!</b> Your inbox is empty.\n" +" </p><p>\n" +" Your inbox contains private messages or emails sent to " +"you\n" +" as well as information related to documents or people " +"you\n" +" follow.\n" +" </p>\n" +" " +msgstr "" + +#. module: mail +#: field:mail.mail,notification:0 +msgid "Is Notification" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:188 +#, python-format +msgid "Compose a new message" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Send Now" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_mail.py:75 +#, python-format +msgid "" +"Unable to send email, please configure the sender's email address or alias." +msgstr "" + +#. module: mail +#: help:res.users,alias_id:0 +msgid "" +"Email address internally associated with this user. Incoming emails will " +"appear in the user's notifications." +msgstr "" + +#. module: mail +#: field:mail.group,image:0 +msgid "Photo" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:54 +#: code:addons/mail/static/src/xml/mail.xml:191 +#: view:mail.compose.message:0 +#: view:mail.wizard.invite:0 +#, python-format +msgid "or" +msgstr "" + +#. module: mail +#: help:mail.compose.message,vote_user_ids:0 +#: help:mail.message,vote_user_ids:0 +msgid "Users that voted for this message" +msgstr "" + +#. module: mail +#: help:mail.group,alias_id:0 +msgid "" +"The email address associated with this group. New emails received will " +"automatically create new topics." +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Month" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Email Search" +msgstr "" + +#. module: mail +#: field:mail.compose.message,child_ids:0 +#: field:mail.message,child_ids:0 +msgid "Child Messages" +msgstr "" + +#. module: mail +#: field:mail.alias,alias_user_id:0 +msgid "Owner" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_res_users +msgid "Users" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_message +#: field:mail.mail,mail_message_id:0 +#: view:mail.message:0 +#: field:mail.notification,message_id:0 +#: field:mail.wizard.invite,message:0 +msgid "Message" +msgstr "" + +#. module: mail +#: help:mail.followers,res_id:0 +#: help:mail.wizard.invite,res_id:0 +msgid "Id of the followed resource" +msgstr "" + +#. module: mail +#: field:mail.compose.message,body:0 +#: field:mail.message,body:0 +msgid "Contents" +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_mail_alias +#: model:ir.ui.menu,name:mail.mail_alias_menu +msgid "Aliases" +msgstr "" + +#. module: mail +#: help:mail.message.subtype,description:0 +msgid "" +"Description that will be added in the message posted for this subtype. If " +"void, the name will be added instead." +msgstr "" + +#. module: mail +#: field:mail.compose.message,vote_user_ids:0 +#: field:mail.message,vote_user_ids:0 +msgid "Votes" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Group" +msgstr "" + +#. module: mail +#: help:mail.compose.message,starred:0 +#: help:mail.message,starred:0 +msgid "Current user has a starred notification linked to this message" +msgstr "" + +#. module: mail +#: field:mail.group,public:0 +msgid "Privacy" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Notification" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/mail.js:654 +#, python-format +msgid "Please complete partner's informations" +msgstr "" + +#. module: mail +#: view:mail.wizard.invite:0 +msgid "Add Followers" +msgstr "" + +#. module: mail +#: view:mail.compose.message:0 +msgid "Followers of selected items and" +msgstr "" + +#. module: mail +#: field:mail.alias,alias_force_thread_id:0 +msgid "Record Thread ID" +msgstr "" + +#. module: mail +#: model:ir.ui.menu,name:mail.mail_group_root +msgid "My Groups" +msgstr "" + +#. module: mail +#: model:ir.actions.client,help:mail.action_mail_archives_feeds +msgid "" +"<p>\n" +" No message found and no message sent yet.\n" +" </p><p>\n" +" Click on the top-right icon to compose a message. This\n" +" message will be sent by email if it's an internal " +"contact.\n" +" </p>\n" +" " +msgstr "" + +#. module: mail +#: view:mail.mail:0 +#: field:mail.mail,state:0 +msgid "Status" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +#: selection:mail.mail,state:0 +msgid "Outgoing" +msgstr "" + +#. module: mail +#: selection:res.partner,notification_email_send:0 +msgid "All feeds" +msgstr "" + +#. module: mail +#: help:mail.compose.message,record_name:0 +#: help:mail.message,record_name:0 +msgid "Name get of the related document." +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_notifications +#: model:ir.model,name:mail.model_mail_notification +#: model:ir.ui.menu,name:mail.menu_email_notifications +#: field:mail.compose.message,notification_ids:0 +#: view:mail.message:0 +#: field:mail.message,notification_ids:0 +#: view:mail.notification:0 +msgid "Notifications" +msgstr "" + +#. module: mail +#: view:mail.alias:0 +msgid "Search Alias" +msgstr "" + +#. module: mail +#: help:mail.alias,alias_force_thread_id:0 +msgid "" +"Optional ID of a thread (record) to which all incoming messages will be " +"attached, even if they did not reply to it. If set, this will disable the " +"creation of new records completely." +msgstr "" + +#. module: mail +#: help:mail.message.subtype,name:0 +msgid "" +"Message subtype gives a more precise type on the message, especially for " +"system notifications. For example, it can be a notification related to a new " +"record (New), or to a stage change in a process (Stage change). Message " +"subtypes allow to precisely tune the notifications the user want to receive " +"on its wall." +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "by" +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_best_sales_practices +msgid "Best Sales Practices" +msgstr "" + +#. module: mail +#: selection:mail.group,public:0 +msgid "Selected Group Only" +msgstr "" + +#. module: mail +#: field:mail.group,message_is_follower:0 +#: field:mail.thread,message_is_follower:0 +#: field:res.partner,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: mail +#: view:mail.alias:0 +#: view:mail.mail:0 +msgid "User" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Groups" +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Messages Search" +msgstr "" + +#. module: mail +#: field:mail.compose.message,date:0 +#: field:mail.message,date:0 +msgid "Date" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:34 +#, python-format +msgid "Post" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Extended Filters..." +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:120 +#, python-format +msgid "To:" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:193 +#, python-format +msgid "Write to my followers" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_res_groups +msgid "Access Groups" +msgstr "" + +#. module: mail +#: field:mail.message.subtype,default:0 +msgid "Default" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:311 +#, python-format +msgid "show more message" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:246 +#, python-format +msgid "Mark as Todo" +msgstr "" + +#. module: mail +#: help:mail.message.subtype,parent_id:0 +msgid "Parent subtype, used for automatic subscription." +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_wizard_invite +msgid "Invite wizard" +msgstr "" + +#. module: mail +#: field:mail.group,message_summary:0 +#: field:mail.thread,message_summary:0 +#: field:res.partner,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: mail +#: help:mail.message.subtype,res_model:0 +msgid "" +"Model the subtype applies to. If False, this subtype applies to all models." +msgstr "" + +#. module: mail +#: field:mail.compose.message,subtype_id:0 +#: field:mail.followers,subtype_ids:0 +#: field:mail.message,subtype_id:0 +#: view:mail.message.subtype:0 +msgid "Subtype" +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "Group Form" +msgstr "" + +#. module: mail +#: field:mail.compose.message,starred:0 +#: field:mail.message,starred:0 +#: field:mail.notification,starred:0 +msgid "Starred" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:313 +#, python-format +msgid "more messages" +msgstr "" + +#. module: mail +#: code:addons/mail/update.py:93 +#, python-format +msgid "Error" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:13 +#, python-format +msgid "Following" +msgstr "" + +#. module: mail +#: sql_constraint:mail.alias:0 +msgid "" +"Unfortunately this email alias is already used, please choose a unique one" +msgstr "" + +#. module: mail +#: help:mail.alias,alias_user_id:0 +msgid "" +"The owner of records created upon receiving emails on this alias. If this " +"field is not set the system will attempt to find the right owner based on " +"the sender (From) address, or will use the Administrator account if no " +"system user is found for that address." +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:52 +#, python-format +msgid "And" +msgstr "" + +#. module: mail +#: field:mail.compose.message,message_id:0 +#: field:mail.message,message_id:0 +msgid "Message-Id" +msgstr "" + +#. module: mail +#: help:mail.group,image:0 +msgid "" +"This field holds the image used as photo for the group, limited to " +"1024x1024px." +msgstr "" + +#. module: mail +#: field:mail.compose.message,attachment_ids:0 +#: view:mail.mail:0 +#: field:mail.message,attachment_ids:0 +msgid "Attachments" +msgstr "" + +#. module: mail +#: field:mail.compose.message,record_name:0 +#: field:mail.message,record_name:0 +msgid "Message Record Name" +msgstr "" + +#. module: mail +#: field:mail.mail,email_cc:0 +msgid "Cc" +msgstr "" + +#. module: mail +#: help:mail.notification,starred:0 +msgid "Starred message that goes into the todo mailbox" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:123 +#: view:mail.compose.message:0 +#, python-format +msgid "Followers of" +msgstr "" + +#. module: mail +#: help:mail.mail,auto_delete:0 +msgid "Permanently delete this email after sending it, to save space" +msgstr "" + +#. module: mail +#: model:ir.actions.client,name:mail.action_mail_group_feeds +msgid "Discussion Group" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:242 +#, python-format +msgid "Done" +msgstr "" + +#. module: mail +#: model:mail.message.subtype,name:mail.mt_comment +msgid "Discussions" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:11 +#, python-format +msgid "Follow" +msgstr "" + +#. module: mail +#: field:mail.group,name:0 +msgid "Name" +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_all_employees +msgid "Whole Company" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:129 +#: code:addons/mail/static/src/xml/mail.xml:292 +#: view:mail.compose.message:0 +#, python-format +msgid "and" +msgstr "" + +#. module: mail +#: help:mail.mail,body_html:0 +msgid "Rich-text/HTML message" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +msgid "Creation Month" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:323 +#, python-format +msgid "Compose new Message" +msgstr "" + +#. module: mail +#: field:mail.group,menu_id:0 +msgid "Related Menu" +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Content" +msgstr "" + +#. module: mail +#: field:mail.mail,email_to:0 +msgid "To" +msgstr "" + +#. module: mail +#: field:mail.compose.message,notified_partner_ids:0 +#: field:mail.message,notified_partner_ids:0 +msgid "Notified partners" +msgstr "" + +#. module: mail +#: help:mail.group,public:0 +msgid "" +"This group is visible by non members. Invisible groups can add " +"members through the invite button." +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_board +msgid "Board meetings" +msgstr "" + +#. module: mail +#: constraint:mail.alias:0 +msgid "" +"Invalid expression, it must be a literal python dictionary definition e.g. " +"\"{'field': 'value'}\"" +msgstr "" + +#. module: mail +#: field:mail.alias,alias_model_id:0 +msgid "Aliased Model" +msgstr "" + +#. module: mail +#: help:mail.compose.message,message_id:0 +#: help:mail.message,message_id:0 +msgid "Message unique identifier" +msgstr "" + +#. module: mail +#: field:mail.group,description:0 +#: field:mail.message.subtype,description:0 +msgid "Description" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_followers +msgid "Document Followers" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail_followers.xml:35 +#, python-format +msgid "Remove this follower" +msgstr "" + +#. module: mail +#: selection:res.partner,notification_email_send:0 +msgid "Never" +msgstr "" + +#. module: mail +#: field:mail.mail,mail_server_id:0 +msgid "Outgoing mail server" +msgstr "" + +#. module: mail +#: code:addons/mail/mail_message.py:930 +#, python-format +msgid "Partners email addresses not found" +msgstr "" + +#. module: mail +#: view:mail.mail:0 +#: selection:mail.mail,state:0 +msgid "Sent" +msgstr "" + +#. module: mail +#: field:mail.mail,body_html:0 +msgid "Rich-text Contents" +msgstr "" + +#. module: mail +#: help:mail.compose.message,to_read:0 +#: help:mail.message,to_read:0 +msgid "Current user has an unread notification linked to this message" +msgstr "" + +#. module: mail +#: help:res.partner,notification_email_send:0 +msgid "" +"Choose in which case you want to receive an email when you receive new feeds." +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_groups +#: model:ir.ui.menu,name:mail.mail_allgroups +msgid "Join a group" +msgstr "" + +#. module: mail +#: model:ir.actions.client,help:mail.action_mail_group_feeds +msgid "" +"<p>\n" +" No message in this group.\n" +" </p>\n" +" " +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:213 +#, python-format +msgid "Please, wait while the file is uploading." +msgstr "" + +#. module: mail +#: view:mail.group:0 +msgid "" +"This group is visible by everyone,\n" +" including your customers if you " +"installed\n" +" the portal module." +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:243 +#, python-format +msgid "Set back to Todo" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:126 +#, python-format +msgid "this document" +msgstr "" + +#. module: mail +#: field:mail.compose.message,filter_id:0 +msgid "Filters" +msgstr "" + +#. module: mail +#: field:res.partner,notification_email_send:0 +msgid "Receive Feeds by Email" +msgstr "" + +#. module: mail +#: help:base.config.settings,alias_domain:0 +msgid "" +"If you have setup a catch-all email domain redirected to the OpenERP server, " +"enter the domain name here." +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_mail_message +#: model:ir.ui.menu,name:mail.menu_mail_message +#: field:mail.group,message_ids:0 +#: view:mail.message:0 +#: field:mail.thread,message_ids:0 +#: field:res.partner,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:139 +#, python-format +msgid "others..." +msgstr "" + +#. module: mail +#: model:ir.actions.client,name:mail.action_mail_star_feeds +#: model:ir.ui.menu,name:mail.mail_starfeeds +msgid "To-do" +msgstr "" + +#. module: mail +#: view:mail.alias:0 +#: field:mail.alias,alias_name:0 +#: field:mail.group,alias_id:0 +#: field:res.users,alias_id:0 +msgid "Alias" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_mail +msgid "Outgoing Mails" +msgstr "" + +#. module: mail +#: help:mail.compose.message,notification_ids:0 +#: help:mail.message,notification_ids:0 +msgid "" +"Technical field holding the message notifications. Use notified_partner_ids " +"to access notified partners." +msgstr "" + +#. module: mail +#: model:ir.ui.menu,name:mail.mail_feeds +#: model:ir.ui.menu,name:mail.mail_feeds_main +msgid "Messaging" +msgstr "" + +#. module: mail +#: view:mail.alias:0 +#: field:mail.message.subtype,res_model:0 +msgid "Model" +msgstr "" + +#. module: mail +#: view:mail.message:0 +msgid "Unread" +msgstr "" + +#. module: mail +#: help:mail.followers,subtype_ids:0 +msgid "" +"Message subtypes followed, meaning subtypes that will be pushed onto the " +"user's Wall." +msgstr "" + +#. module: mail +#: help:mail.group,message_ids:0 +#: help:mail.thread,message_ids:0 +#: help:res.partner,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: mail +#: help:mail.mail,references:0 +msgid "Message references, such as identifiers of previous messages" +msgstr "" + +#. module: mail +#: field:mail.compose.message,composition_mode:0 +msgid "Composition mode" +msgstr "" + +#. module: mail +#: field:mail.compose.message,model:0 +#: field:mail.followers,res_model:0 +#: field:mail.message,model:0 +#: field:mail.wizard.invite,res_model:0 +msgid "Related Document Model" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:338 +#, python-format +msgid "unlike" +msgstr "" + +#. module: mail +#: help:mail.compose.message,author_id:0 +#: help:mail.message,author_id:0 +msgid "" +"Author of the message. If not set, email_from may hold an email address that " +"did not match any partner." +msgstr "" + +#. module: mail +#: help:mail.mail,email_cc:0 +msgid "Carbon copy message recipients" +msgstr "" + +#. module: mail +#: field:mail.alias,alias_domain:0 +msgid "Alias domain" +msgstr "" + +#. module: mail +#: code:addons/mail/update.py:93 +#, python-format +msgid "Error during communication with the publisher warranty server." +msgstr "" + +#. module: mail +#: selection:mail.group,public:0 +msgid "Private" +msgstr "" + +#. module: mail +#: model:ir.actions.client,help:mail.action_mail_star_feeds +msgid "" +"<p>\n" +" <b>No todo.</b>\n" +" </p><p>\n" +" When you process messages in your inbox, you can mark " +"some\n" +" as <i>todo</i>. From this menu, you can process all your " +"todo.\n" +" </p>\n" +" " +msgstr "" + +#. module: mail +#: selection:mail.mail,state:0 +msgid "Delivery Failed" +msgstr "" + +#. module: mail +#: field:mail.compose.message,partner_ids:0 +msgid "Additional contacts" +msgstr "" + +#. module: mail +#: help:mail.compose.message,parent_id:0 +#: help:mail.message,parent_id:0 +msgid "Initial thread message." +msgstr "" + +#. module: mail +#: model:mail.group,name:mail.group_hr_policies +msgid "HR Policies" +msgstr "" + +#. module: mail +#: selection:res.partner,notification_email_send:0 +msgid "Emails only" +msgstr "" + +#. module: mail +#: model:ir.actions.client,name:mail.action_mail_inbox_feeds +#: model:ir.ui.menu,name:mail.mail_inboxfeeds +msgid "Inbox" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/xml/mail.xml:58 +#, python-format +msgid "File" +msgstr "" + +#. module: mail +#. openerp-web +#: code:addons/mail/static/src/js/many2many_tags_email.js:63 +#, python-format +msgid "Please complete partner's informations and Email" +msgstr "" + +#. module: mail +#: model:ir.actions.act_window,name:mail.action_view_message_subtype +#: model:ir.ui.menu,name:mail.menu_message_subtype +msgid "Subtypes" +msgstr "" + +#. module: mail +#: model:ir.model,name:mail.model_mail_alias +msgid "Email Aliases" +msgstr "" + +#. module: mail +#: field:mail.group,image_small:0 +msgid "Small-sized photo" +msgstr "" + +#. module: mail +#: help:mail.mail,reply_to:0 +msgid "Preferred response address for the message" +msgstr "" diff --git a/addons/mail/mail_message.py b/addons/mail/mail_message.py index 9dfec55b075..4d8d00ec7b9 100644 --- a/addons/mail/mail_message.py +++ b/addons/mail/mail_message.py @@ -201,7 +201,7 @@ class mail_message(osv.Model): def _get_default_from(self, cr, uid, context=None): this = self.pool.get('res.users').browse(cr, SUPERUSER_ID, uid, context=context) - if this.alias_domain: + if this.alias_name and this.alias_domain: return '%s <%s@%s>' % (this.name, this.alias_name, this.alias_domain) elif this.email: return '%s <%s>' % (this.name, this.email) diff --git a/addons/mail/static/src/css/announcement.css b/addons/mail/static/src/css/announcement.css new file mode 100644 index 00000000000..5d2a0ecba44 --- /dev/null +++ b/addons/mail/static/src/css/announcement.css @@ -0,0 +1,3 @@ +.openerp .annoucement_bar { + display: none; +} diff --git a/addons/mail/static/src/css/mail_group.css b/addons/mail/static/src/css/mail_group.css index 9560a4765d0..39cdf5c0b4c 100644 --- a/addons/mail/static/src/css/mail_group.css +++ b/addons/mail/static/src/css/mail_group.css @@ -90,7 +90,9 @@ } .openerp .oe_group_button { - padding-top: 7px; + position: absolute; + padding-bottom: 50px; + bottom: 0; } .openerp .oe_group_button .oe_group_join { diff --git a/addons/mail/static/src/js/announcement.js b/addons/mail/static/src/js/announcement.js new file mode 100644 index 00000000000..0dd438d13af --- /dev/null +++ b/addons/mail/static/src/js/announcement.js @@ -0,0 +1,42 @@ +openerp_announcement = function(instance) { + instance.web.WebClient.include({ + show_application: function() { + return $.when(this._super.apply(this, arguments)).then(this.proxy('show_annoucement_bar')); + }, + _ab_location: function(dbuuid) { + return _.str.sprintf('https://services.openerp.com/openerp-enterprise/ab/css/%s.css', dbuuid); + }, + show_annoucement_bar: function() { + if (this.session.get_cookie('ab') === 'c') { + return; + } + var self = this; + var config_parameter = new instance.web.Model('ir.config_parameter'); + var $bar = this.$el.find('.announcement_bar'); + return config_parameter.call('get_param', ['database.uuid', false]).then(function(dbuuid) { + if (!dbuuid) { + return; + } + var $link = $bar.find('.url a'); + $link.attr('href', _.str.sprintf('%s/%s', $link.attr('href'), dbuuid)); + var $css = $('<link />').attr({ + rel : 'stylesheet', + type: 'text/css', + media: 'screen', + href: self._ab_location(dbuuid) + }); + $css.on('load', function() { + var close = function() { + var ttl = 7*24*60*60; + self.session.set_cookie('ab', 'c', ttl); + $bar.slideUp('slow'); + }; + $bar.find('.close').on('click', close); + self.trigger('ab_loaded', $bar); + }); + + $('head').append($css); + }); + } + }); +}; diff --git a/addons/mail/static/src/js/mail.js b/addons/mail/static/src/js/mail.js index 269187df8cd..4378d2f75b5 100644 --- a/addons/mail/static/src/js/mail.js +++ b/addons/mail/static/src/js/mail.js @@ -6,6 +6,7 @@ openerp.mail = function (session) { openerp_mail_followers(session, mail); // import mail_followers.js openerp_FieldMany2ManyTagsEmail(session); // import manyy2many_tags_email.js + openerp_announcement(session); /** * ------------------------------------------------------------ diff --git a/addons/mail/static/src/xml/announcement.xml b/addons/mail/static/src/xml/announcement.xml new file mode 100644 index 00000000000..84dfa426796 --- /dev/null +++ b/addons/mail/static/src/xml/announcement.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<templates id="template" xml:space="preserve"> + <t t-extend="WebClient"> + <t t-jquery="table.oe_webclient" t-operation="prepend"> + <td colspan="2" class="announcement_bar"> + <span class="message"></span> + <span class="url"><a href="https://services.openerp.com/openerp-enterprise/ab/register" target="_blank"></a></span> + <span class="close"></span> + </td> + </t> + </t> +</templates> diff --git a/addons/marketing/i18n/he.po b/addons/marketing/i18n/he.po new file mode 100644 index 00000000000..19ce42dbfa0 --- /dev/null +++ b/addons/marketing/i18n/he.po @@ -0,0 +1,109 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-12-30 19:08+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: marketing +#: model:ir.model,name:marketing.model_marketing_config_settings +msgid "marketing.config.settings" +msgstr "" + +#. module: marketing +#: help:marketing.config.settings,module_marketing_campaign_crm_demo:0 +msgid "" +"Installs demo data like leads, campaigns and segments for Marketing " +"Campaigns.\n" +" This installs the module marketing_campaign_crm_demo." +msgstr "" + +#. module: marketing +#: model:ir.actions.act_window,name:marketing.action_marketing_configuration +#: view:marketing.config.settings:0 +msgid "Configure Marketing" +msgstr "" + +#. module: marketing +#: view:crm.lead:0 +#: model:ir.ui.menu,name:marketing.menu_marketing_configuration +msgid "Marketing" +msgstr "" + +#. module: marketing +#: field:marketing.config.settings,module_marketing_campaign:0 +msgid "Marketing campaigns" +msgstr "" + +#. module: marketing +#: view:marketing.config.settings:0 +msgid "or" +msgstr "" + +#. module: marketing +#: view:marketing.config.settings:0 +msgid "Campaigns" +msgstr "" + +#. module: marketing +#: model:res.groups,name:marketing.group_marketing_manager +msgid "Manager" +msgstr "" + +#. module: marketing +#: model:res.groups,name:marketing.group_marketing_user +msgid "User" +msgstr "" + +#. module: marketing +#: view:marketing.config.settings:0 +msgid "Campaigns Settings" +msgstr "" + +#. module: marketing +#: field:marketing.config.settings,module_crm_profiling:0 +msgid "Track customer profile to focus your campaigns" +msgstr "" + +#. module: marketing +#: view:marketing.config.settings:0 +msgid "Cancel" +msgstr "" + +#. module: marketing +#: view:marketing.config.settings:0 +msgid "Apply" +msgstr "" + +#. module: marketing +#: help:marketing.config.settings,module_marketing_campaign:0 +msgid "" +"Provides leads automation through marketing campaigns.\n" +" Campaigns can in fact be defined on any resource, not just " +"CRM leads.\n" +" This installs the module marketing_campaign." +msgstr "" + +#. module: marketing +#: help:marketing.config.settings,module_crm_profiling:0 +msgid "" +"Allows users to perform segmentation within partners.\n" +" This installs the module crm_profiling." +msgstr "" + +#. module: marketing +#: field:marketing.config.settings,module_marketing_campaign_crm_demo:0 +msgid "Demo data for marketing campaigns" +msgstr "" diff --git a/addons/marketing_campaign/i18n/he.po b/addons/marketing_campaign/i18n/he.po new file mode 100644 index 00000000000..71ef53e095c --- /dev/null +++ b/addons/marketing_campaign/i18n/he.po @@ -0,0 +1,1056 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-12-30 19:09+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +msgid "Manual Mode" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.transition,activity_from_id:0 +msgid "Previous Activity" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:819 +#, python-format +msgid "The current step for this item has no email or report to preview." +msgstr "" + +#. module: marketing_campaign +#: constraint:marketing.campaign.transition:0 +msgid "The To/From Activity of transition must be of the same Campaign " +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign.transition,trigger:0 +msgid "Time" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign.activity,type:0 +msgid "Custom Action" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: view:marketing.campaign:0 +#: view:marketing.campaign.segment:0 +#: view:marketing.campaign.workitem:0 +msgid "Group By..." +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,revenue:0 +msgid "" +"Set an expected revenue if you consider that every campaign item that has " +"reached this point has generated a certain revenue. You can get revenue " +"statistics in the Reporting section" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.transition,trigger:0 +msgid "Trigger" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +msgid "Follow-Up" +msgstr "" + +#. module: marketing_campaign +#: field:campaign.analysis,count:0 +msgid "# of Actions" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +msgid "Campaign Editor" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +#: selection:marketing.campaign,state:0 +#: view:marketing.campaign.segment:0 +#: selection:marketing.campaign.segment,state:0 +msgid "Running" +msgstr "" + +#. module: marketing_campaign +#: model:email.template,body_html:marketing_campaign.email_template_3 +msgid "" +"Hi, we are delighted to let you know that you have entered the select circle " +"of our Gold Partners" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "March" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,object_id:0 +msgid "Object" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "Sync mode: only records created after last sync" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,condition:0 +msgid "" +"Python expression to decide whether the activity can be executed, otherwise " +"it will be deleted or cancelled.The expression may use the following " +"[browsable] variables:\n" +" - activity: the campaign activity\n" +" - workitem: the campaign workitem\n" +" - resource: the resource object this campaign item represents\n" +" - transitions: list of campaign transitions outgoing from this activity\n" +"...- re: Python regular expression module" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +#: view:marketing.campaign.segment:0 +msgid "Set to Draft" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.activity:0 +#: field:marketing.campaign.activity,to_ids:0 +msgid "Next Activities" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:148 +#, python-format +msgid "" +"The campaign cannot be started. It does not have any starting activity. " +"Modify campaign's activities to mark one as the starting point." +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,email_template_id:0 +msgid "The email to send when this activity is activated" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +#: field:marketing.campaign.segment,date_run:0 +msgid "Launch Date" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,day:0 +msgid "Day" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.activity:0 +msgid "Outgoing Transitions" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.workitem:0 +msgid "Reset" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign,object_id:0 +msgid "Choose the resource on which you want this campaign to be run" +msgstr "" + +#. module: marketing_campaign +#: model:ir.actions.client,name:marketing_campaign.action_client_marketing_menu +msgid "Open Marketing Menu" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.segment,sync_last_date:0 +msgid "Last Synchronization" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign.transition,interval_type:0 +msgid "Year(s)" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.segment,sync_last_date:0 +msgid "" +"Date on which this segment was synchronized last time (automatically or " +"manually)" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,state:0 +#: selection:marketing.campaign,state:0 +#: selection:marketing.campaign.segment,state:0 +#: selection:marketing.campaign.workitem,state:0 +msgid "Cancelled" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign.transition,trigger:0 +msgid "Automatic" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign,mode:0 +msgid "" +"Test - It creates and process all the activities directly (without waiting " +"for the delay on transitions) but does not send emails or produce reports.\n" +"Test in Realtime - It creates and processes all the activities directly but " +"does not send emails or produce reports.\n" +"With Manual Confirmation - the campaigns runs normally, but the user has to " +"validate all workitem manually.\n" +"Normal - the campaign runs normally and automatically sends all emails and " +"reports (be very careful with this mode, you're live!)" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.segment,date_run:0 +msgid "Initial start date of this segment." +msgstr "" + +#. module: marketing_campaign +#: view:res.partner:0 +msgid "False" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,campaign_id:0 +#: view:marketing.campaign:0 +#: field:marketing.campaign.activity,campaign_id:0 +#: view:marketing.campaign.segment:0 +#: field:marketing.campaign.segment,campaign_id:0 +#: view:marketing.campaign.workitem:0 +#: field:marketing.campaign.workitem,campaign_id:0 +msgid "Campaign" +msgstr "" + +#. module: marketing_campaign +#: model:email.template,body_html:marketing_campaign.email_template_1 +msgid "Hello, you will receive your welcome pack via email shortly." +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,segment_id:0 +#: view:marketing.campaign.segment:0 +#: view:marketing.campaign.workitem:0 +#: field:marketing.campaign.workitem,segment_id:0 +msgid "Segment" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:214 +#, python-format +msgid "You cannot duplicate a campaign, Not supported yet." +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,type:0 +msgid "" +"The type of action to execute when an item enters this activity, such as:\n" +" - Email: send an email using a predefined email template\n" +" - Report: print an existing Report defined on the resource item and save " +"it into a specific directory\n" +" - Custom Action: execute a predefined action, e.g. to modify the fields " +"of the resource record\n" +" " +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.segment,date_next_sync:0 +msgid "Next time the synchronization job is scheduled to run automatically" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign.transition,interval_type:0 +msgid "Month(s)" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,partner_id:0 +#: model:ir.model,name:marketing_campaign.model_res_partner +#: field:marketing.campaign.workitem,partner_id:0 +msgid "Partner" +msgstr "" + +#. module: marketing_campaign +#: model:ir.filters,name:marketing_campaign.filter0 +msgid "Partners" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +msgid "Marketing Reports" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign,state:0 +#: selection:marketing.campaign.segment,state:0 +msgid "New" +msgstr "" + +#. module: marketing_campaign +#: sql_constraint:marketing.campaign.transition:0 +msgid "The interval must be positive or zero" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign.activity,type:0 +msgid "Email" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign,name:0 +#: field:marketing.campaign.activity,name:0 +#: field:marketing.campaign.segment,name:0 +#: field:marketing.campaign.transition,name:0 +msgid "Name" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.workitem,res_name:0 +msgid "Resource Name" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.segment,sync_mode:0 +msgid "Synchronization mode" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +#: view:marketing.campaign.segment:0 +msgid "Run" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.activity:0 +#: field:marketing.campaign.activity,from_ids:0 +msgid "Previous Activities" +msgstr "" + +#. module: marketing_campaign +#: model:email.template,subject:marketing_campaign.email_template_2 +msgid "Congratulations! You are now a Silver Partner!" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.segment,date_done:0 +msgid "Date this segment was last closed or cancelled." +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.workitem:0 +msgid "Marketing Campaign Activities" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.workitem:0 +#: field:marketing.campaign.workitem,error_msg:0 +msgid "Error Message" +msgstr "" + +#. module: marketing_campaign +#: model:ir.actions.act_window,name:marketing_campaign.action_marketing_campaign_form +#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_campaign +#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_campaign_form +#: view:marketing.campaign:0 +#: view:res.partner:0 +msgid "Campaigns" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.transition,interval_type:0 +msgid "Interval Unit" +msgstr "" + +#. module: marketing_campaign +#: field:campaign.analysis,country_id:0 +msgid "Country" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,report_id:0 +#: selection:marketing.campaign.activity,type:0 +msgid "Report" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "July" +msgstr "" + +#. module: marketing_campaign +#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_configuration +msgid "Configuration" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,variable_cost:0 +msgid "" +"Set a variable cost if you consider that every campaign item that has " +"reached this point has entailed a certain cost. You can get cost statistics " +"in the Reporting section" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign.transition,interval_type:0 +msgid "Hour(s)" +msgstr "" + +#. module: marketing_campaign +#: model:ir.model,name:marketing_campaign.model_marketing_campaign_segment +msgid "Campaign Segment" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,keep_if_condition_not_met:0 +msgid "" +"By activating this option, workitems that aren't executed because the " +"condition is not met are marked as cancelled instead of being deleted." +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +msgid "Exceptions" +msgstr "" + +#. module: marketing_campaign +#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_followup +#: field:res.partner,workitem_ids:0 +msgid "Workitems" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign,fixed_cost:0 +msgid "Fixed Cost" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "Newly Modified" +msgstr "" + +#. module: marketing_campaign +#: model:ir.actions.act_window,help:marketing_campaign.action_marketing_campaign_form +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a marketing campaign.\n" +" </p><p>\n" +" OpenERP's marketing campaign allows you to automate " +"communication\n" +" to your prospects. You can define a segment (set of conditions) " +"on\n" +" your leads and partners to fullfil the campaign.\n" +" </p><p>\n" +" A campaign can have many activities like sending an email, " +"printing\n" +" a letter, assigning to a team, etc. These activities are " +"triggered\n" +" from specific situations; contact form, 10 days after first\n" +" contact, if a lead is not closed yet, etc.\n" +" </p>\n" +" " +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.transition,interval_nbr:0 +msgid "Interval Value" +msgstr "" + +#. module: marketing_campaign +#: field:campaign.analysis,revenue:0 +#: field:marketing.campaign.activity,revenue:0 +msgid "Revenue" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "September" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "December" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign,partner_field_id:0 +msgid "" +"The generated workitems will be linked to the partner related to the record. " +"If the record is the partner itself leave this field empty. This is useful " +"for reporting purposes, via the Campaign Analysis or Campaign Follow-up " +"views." +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,month:0 +msgid "Month" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.transition,activity_to_id:0 +msgid "Next Activity" +msgstr "" + +#. module: marketing_campaign +#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_stat +#: model:ir.actions.act_window,name:marketing_campaign.action_marketing_campaign_workitem +#: model:ir.ui.menu,name:marketing_campaign.menu_action_marketing_campaign_workitem +msgid "Campaign Follow-up" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +msgid "Test Mode" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign.segment,sync_mode:0 +msgid "Only records modified after last sync (no duplicates)" +msgstr "" + +#. module: marketing_campaign +#: model:ir.model,name:marketing_campaign.model_ir_actions_report_xml +msgid "ir.actions.report.xml" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +msgid "Campaign Statistics" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,server_action_id:0 +msgid "The action to perform when this activity is activated" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign,partner_field_id:0 +msgid "Partner Field" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: model:ir.actions.act_window,name:marketing_campaign.action_campaign_analysis_all +#: model:ir.model,name:marketing_campaign.model_campaign_analysis +#: model:ir.ui.menu,name:marketing_campaign.menu_action_campaign_analysis_all +msgid "Campaign Analysis" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.segment,sync_mode:0 +msgid "" +"Determines an additional criterion to add to the filter when selecting new " +"records to inject in the campaign. \"No duplicates\" prevents selecting " +"records which have already entered the campaign previously.If the campaign " +"has a \"unique field\" set, \"no duplicates\" will also prevent selecting " +"records which have the same value for the unique field as other records that " +"already entered the campaign." +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign,mode:0 +msgid "Test in Realtime" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign,mode:0 +msgid "Test Directly" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,report_directory_id:0 +msgid "Directory" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +#: view:marketing.campaign.segment:0 +msgid "Draft" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.workitem:0 +msgid "Marketing Campaign Activity" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.workitem:0 +msgid "Preview" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,state:0 +#: view:marketing.campaign:0 +#: field:marketing.campaign,state:0 +#: view:marketing.campaign.segment:0 +#: field:marketing.campaign.segment,state:0 +#: view:marketing.campaign.workitem:0 +#: field:marketing.campaign.workitem,state:0 +msgid "Status" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "August" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign,mode:0 +msgid "Normal" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,start:0 +msgid "This activity is launched when the campaign starts." +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,signal:0 +msgid "" +"An activity with a signal can be called programmatically. Be careful, the " +"workitem is always created when a signal is sent" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: selection:campaign.analysis,state:0 +#: view:marketing.campaign.workitem:0 +#: selection:marketing.campaign.workitem,state:0 +msgid "To Do" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "June" +msgstr "" + +#. module: marketing_campaign +#: model:ir.model,name:marketing_campaign.model_email_template +msgid "Email Templates" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "Sync mode: all records" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign.segment,sync_mode:0 +msgid "All records (no duplicates)" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "Newly Created" +msgstr "" + +#. module: marketing_campaign +#: field:campaign.analysis,date:0 +msgid "Date" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "November" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,condition:0 +msgid "Condition" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,report_id:0 +msgid "The report to generate when this activity is activated" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign,unique_field_id:0 +msgid "Unique Field" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,state:0 +#: view:marketing.campaign.workitem:0 +#: selection:marketing.campaign.workitem,state:0 +msgid "Exception" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "October" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,email_template_id:0 +msgid "Email Template" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "January" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.workitem:0 +#: field:marketing.campaign.workitem,date:0 +msgid "Execution Date" +msgstr "" + +#. module: marketing_campaign +#: model:ir.model,name:marketing_campaign.model_marketing_campaign_workitem +msgid "Campaign Workitem" +msgstr "" + +#. module: marketing_campaign +#: model:ir.model,name:marketing_campaign.model_marketing_campaign_activity +msgid "Campaign Activity" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.activity,report_directory_id:0 +msgid "This folder is used to store the generated reports" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:136 +#: code:addons/marketing_campaign/marketing_campaign.py:148 +#: code:addons/marketing_campaign/marketing_campaign.py:158 +#, python-format +msgid "Error" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,server_action_id:0 +msgid "Action" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:528 +#, python-format +msgid "Automatic transition" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,start:0 +msgid "Start" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:819 +#, python-format +msgid "No preview" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.workitem:0 +msgid "Process" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:530 +#: selection:marketing.campaign.transition,trigger:0 +#, python-format +msgid "Cosmetic" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.transition,trigger:0 +msgid "How is the destination workitem triggered" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: selection:campaign.analysis,state:0 +#: view:marketing.campaign:0 +#: selection:marketing.campaign,state:0 +#: selection:marketing.campaign.segment,state:0 +#: selection:marketing.campaign.workitem,state:0 +msgid "Done" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:214 +#, python-format +msgid "Operation not supported" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.workitem:0 +msgid "Cancel" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "Close" +msgstr "" + +#. module: marketing_campaign +#: constraint:marketing.campaign.segment:0 +msgid "Model of filter must be same as resource model of Campaign " +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "Synchronize Manually" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.workitem:0 +#: field:marketing.campaign.workitem,res_id:0 +msgid "Resource ID" +msgstr "" + +#. module: marketing_campaign +#: model:ir.model,name:marketing_campaign.model_marketing_campaign_transition +msgid "Campaign Transition" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "Marketing Campaign Segment" +msgstr "" + +#. module: marketing_campaign +#: model:ir.actions.act_window,name:marketing_campaign.act_marketing_campaing_segment_opened +#: model:ir.actions.act_window,name:marketing_campaign.action_marketing_campaign_segment_form +#: model:ir.ui.menu,name:marketing_campaign.menu_marketing_campaign_segment_form +#: view:marketing.campaign:0 +#: view:marketing.campaign.segment:0 +msgid "Segments" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,keep_if_condition_not_met:0 +msgid "Don't Delete Workitems" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.activity:0 +msgid "Incoming Transitions" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign.transition,interval_type:0 +msgid "Day(s)" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +#: field:marketing.campaign,activity_ids:0 +#: view:marketing.campaign.activity:0 +msgid "Activities" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign,mode:0 +msgid "With Manual Confirmation" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "May" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,type:0 +msgid "Type" +msgstr "" + +#. module: marketing_campaign +#: model:email.template,subject:marketing_campaign.email_template_3 +msgid "Congratulations! You are now one of our Gold Partners!" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign,unique_field_id:0 +msgid "" +"If set, this field will help segments that work in \"no duplicates\" mode to " +"avoid selecting similar records twice. Similar records are records that have " +"the same value for this unique field. For example by choosing the " +"\"email_from\" field for CRM Leads you would prevent sending the same " +"campaign to the same email address again. If not set, the \"no duplicates\" " +"segments will only avoid selecting the same record again if it entered the " +"campaign previously. Only easily comparable fields like textfields, " +"integers, selections or single relationships may be used." +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:529 +#, python-format +msgid "After %(interval_nbr)d %(interval_type)s" +msgstr "" + +#. module: marketing_campaign +#: model:ir.model,name:marketing_campaign.model_marketing_campaign +#: view:marketing.campaign:0 +msgid "Marketing Campaign" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.segment,date_done:0 +msgid "End Date" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "February" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,res_id:0 +#: view:marketing.campaign:0 +#: field:marketing.campaign,object_id:0 +#: field:marketing.campaign.segment,object_id:0 +#: view:marketing.campaign.workitem:0 +#: field:marketing.campaign.workitem,object_id:0 +msgid "Resource" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign,fixed_cost:0 +msgid "" +"Fixed cost for running this campaign. You may also specify variable cost and " +"revenue on each campaign activity. Cost and Revenue statistics are included " +"in Campaign Reporting." +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "Sync mode: only records updated after last sync" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:793 +#, python-format +msgid "Email Preview" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,signal:0 +msgid "Signal" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.workitem,date:0 +msgid "If date is not set, this workitem has to be run manually" +msgstr "" + +#. module: marketing_campaign +#: selection:campaign.analysis,month:0 +msgid "April" +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:158 +#, python-format +msgid "The campaign cannot be marked as done before all segments are closed." +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign:0 +#: field:marketing.campaign,mode:0 +msgid "Mode" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,activity_id:0 +#: view:marketing.campaign.workitem:0 +#: field:marketing.campaign.workitem,activity_id:0 +msgid "Activity" +msgstr "" + +#. module: marketing_campaign +#: help:marketing.campaign.segment,ir_filter_id:0 +msgid "" +"Filter to select the matching resource records that belong to this segment. " +"New filters can be created and saved using the advanced search on the list " +"view of the Resource. If no filter is set, all records are selected without " +"filtering. The synchronization mode may also add a criterion to the filter." +msgstr "" + +#. module: marketing_campaign +#: code:addons/marketing_campaign/marketing_campaign.py:136 +#, python-format +msgid "The campaign cannot be started. There are no activities in it." +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.segment,date_next_sync:0 +msgid "Next Synchronization" +msgstr "" + +#. module: marketing_campaign +#: model:email.template,body_html:marketing_campaign.email_template_2 +msgid "" +"Hi, we are delighted to welcome you among our Silver Partners as of today!" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.segment,ir_filter_id:0 +msgid "Filter" +msgstr "" + +#. module: marketing_campaign +#: view:marketing.campaign.segment:0 +msgid "All" +msgstr "" + +#. module: marketing_campaign +#: selection:marketing.campaign.segment,sync_mode:0 +msgid "Only records created after last sync" +msgstr "" + +#. module: marketing_campaign +#: field:marketing.campaign.activity,variable_cost:0 +msgid "Variable Cost" +msgstr "" + +#. module: marketing_campaign +#: model:email.template,subject:marketing_campaign.email_template_1 +msgid "Welcome to the OpenERP Partner Channel!" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,total_cost:0 +msgid "Cost" +msgstr "" + +#. module: marketing_campaign +#: view:campaign.analysis:0 +#: field:campaign.analysis,year:0 +msgid "Year" +msgstr "" diff --git a/addons/mass_mailing/__openerp__.py b/addons/mass_mailing/__openerp__.py index b8ca21c60d7..92f8b1fc3e8 100644 --- a/addons/mass_mailing/__openerp__.py +++ b/addons/mass_mailing/__openerp__.py @@ -38,9 +38,9 @@ professional emails and reuse templates in a few clicks. ], 'data': [ 'mail_data.xml', - 'mass_mailing_view.xml', 'wizard/mail_compose_message_view.xml', 'wizard/mail_mass_mailing_create_segment.xml', + 'mass_mailing_view.xml', 'security/ir.model.access.csv', ], 'js': [ diff --git a/addons/mass_mailing/mass_mailing_view.xml b/addons/mass_mailing/mass_mailing_view.xml index f0c27f42a4a..c9594179a72 100644 --- a/addons/mass_mailing/mass_mailing_view.xml +++ b/addons/mass_mailing/mass_mailing_view.xml @@ -252,6 +252,9 @@ <t t-if="widget.view.is_action_enabled('edit')"> <li><a type="edit">Settings</a></li> </t> + <t t-if="widget.view.is_action_enabled('edit')"> + <li><a name="%(action_mail_mass_mailing_create)d" type="action">New Wave</a></li> + </t> <t t-if="widget.view.is_action_enabled('delete')"> <li><a type="delete">Delete</a></li> </t> diff --git a/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.py b/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.py index 9ea0d8aa1c5..0944e89f1de 100644 --- a/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.py +++ b/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.py @@ -36,7 +36,7 @@ class MailMassMailingCreate(osv.TransientModel): required=True, ), 'model_id': fields.many2one( - 'ir.model', 'Document', + 'ir.model', 'Document Type', required=True, help='Document on which the mass mailing will run. This must be a ' 'valid OpenERP model.', @@ -116,6 +116,8 @@ class MailMassMailingCreate(osv.TransientModel): 'default_template_id': wizard.template_id.id, 'default_use_mass_mailing_campaign': True, 'default_use_active_domain': True, + 'default_model': wizard.model_id.model, + 'default_res_id': False, 'default_active_domain': wizard.domain, 'default_mass_mailing_campaign_id': wizard.mass_mailing_campaign_id.id, 'default_mass_mailing_id': wizard.mass_mailing_id.id, diff --git a/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.xml b/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.xml index e307bdd8909..b2b48fb8618 100644 --- a/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.xml +++ b/addons/mass_mailing/wizard/mail_mass_mailing_create_segment.xml @@ -42,7 +42,7 @@ </p> </div> - <label for="model_id"/> + <label for="template_id"/> <div> <field name="template_id"/> <p class="oe_grey" @@ -55,8 +55,7 @@ <label for="name"/> <div> <field name="name"/> - <p class="oe_grey" - attrs="{'invisible': [('name', '!=', False)]}"> + <p class="oe_grey"> Please choose the name of the mailing. </p> </div> @@ -76,6 +75,7 @@ <field name="view_type">form</field> <field name="view_mode">form</field> <field name="target">new</field> + <field name="context">{'default_mass_mailing_campaign_id': active_id}</field> </record> </data> diff --git a/addons/mrp/report/price.py b/addons/mrp/report/price.py index d5a3c32646c..388d73713bd 100644 --- a/addons/mrp/report/price.py +++ b/addons/mrp/report/price.py @@ -69,6 +69,8 @@ class report_custom(report_rml): main_strd_price = str(std_price) + '\r\n' sum_strd = prod_qtty*std_price for seller_id in prod.seller_ids: + if seller_id.name.id == prod.seller_id.id: + continue sellers += '- <i>'+ to_xml(seller_id.name.name) +'</i>\r\n' pricelist = seller_id.name.property_product_pricelist_purchase price = pricelist_pool.price_get(cr,uid,[pricelist.id], diff --git a/addons/point_of_sale/point_of_sale.py b/addons/point_of_sale/point_of_sale.py index 141a5665f3c..ce14528c863 100644 --- a/addons/point_of_sale/point_of_sale.py +++ b/addons/point_of_sale/point_of_sale.py @@ -45,6 +45,16 @@ class pos_config(osv.osv): ('deprecated', 'Deprecated') ] + def _get_currency(self, cr, uid, ids, fieldnames, args, context=None): + result = dict.fromkeys(ids, False) + for pos_config in self.browse(cr, uid, ids, context=context): + if pos_config.journal_id: + currency_id = pos_config.journal_id.currency.id or pos_config.journal_id.company_id.currency_id.id + else: + currency_id = self.pool['res.users'].browse(cr, uid, uid, context=context).company_id.currency_id.id + result[pos_config.id] = currency_id + return result + _columns = { 'name' : fields.char('Point of Sale Name', size=32, select=1, required=True, help="An internal identification of the point of sale"), @@ -56,6 +66,7 @@ class pos_config(osv.osv): 'journal_id' : fields.many2one('account.journal', 'Sale Journal', domain=[('type', '=', 'sale')], help="Accounting journal used to post sales entries."), + 'currency_id' : fields.function(_get_currency, type="many2one", string="Currency", relation="res.currency"), 'iface_self_checkout' : fields.boolean('Self Checkout Mode', help="Check this if this point of sale should open by default in a self checkout mode. If unchecked, OpenERP uses the normal cashier mode by default."), 'iface_cashdrawer' : fields.boolean('Cashdrawer Interface'), @@ -202,6 +213,7 @@ class pos_session(osv.osv): readonly=True, states={'opening_control' : [('readonly', False)]} ), + 'currency_id' : fields.related('config_id', 'currency_id', type="many2one", relation='res.currency', string="Currnecy"), 'start_at' : fields.datetime('Opening Date', readonly=True), 'stop_at' : fields.datetime('Closing Date', readonly=True), @@ -232,27 +244,28 @@ class pos_session(osv.osv): type='float', digits_compute=dp.get_precision('Account'), string="Ending Balance", - help="Computed using the cash control lines", + help="Total of closing cash control lines.", readonly=True), 'cash_register_balance_start' : fields.related('cash_register_id', 'balance_start', type='float', digits_compute=dp.get_precision('Account'), string="Starting Balance", - help="Computed using the cash control at the opening.", + help="Total of opening cash control lines.", readonly=True), 'cash_register_total_entry_encoding' : fields.related('cash_register_id', 'total_entry_encoding', string='Total Cash Transaction', - readonly=True), + readonly=True, + help="Total of all paid sale orders"), 'cash_register_balance_end' : fields.related('cash_register_id', 'balance_end', type='float', digits_compute=dp.get_precision('Account'), - string="Computed Balance", - help="Computed with the initial cash control and the sum of all payments.", + string="Theoretical Closing Balance", + help="Sum of opening balance and transactions.", readonly=True), 'cash_register_difference' : fields.related('cash_register_id', 'difference', type='float', string='Difference', - help="Difference between the counted cash control at the closing and the computed balance.", + help="Difference between the theoretical closing balance and the real closing balance.", readonly=True), 'journal_ids' : fields.related('config_id', 'journal_ids', @@ -714,13 +727,14 @@ class pos_order(osv.osv): }, context=context) self.write(cr, uid, [order.id], {'picking_id': picking_id}, context=context) location_id = order.warehouse_id.lot_stock_id.id - output_id = order.warehouse_id.lot_output_id.id + if order.partner_id: + destination_id = order.partner_id.property_stock_customer.id + else: + destination_id = partner_obj.default_get(cr, uid, ['property_stock_customer'], context=context)['property_stock_customer'] for line in order.lines: if line.product_id and line.product_id.type == 'service': continue - if line.qty < 0: - location_id, output_id = output_id, location_id move_obj.create(cr, uid, { 'name': line.name, @@ -732,11 +746,9 @@ class pos_order(osv.osv): 'product_qty': abs(line.qty), 'tracking_id': False, 'state': 'draft', - 'location_id': location_id, - 'location_dest_id': output_id, + 'location_id': location_id if line.qty >= 0 else destination_id, + 'location_dest_id': destination_id if line.qty >= 0 else location_id, }, context=context) - if line.qty < 0: - location_id, output_id = output_id, location_id picking_obj.signal_button_confirm(cr, uid, [picking_id]) picking_obj.force_assign(cr, uid, [picking_id], context) diff --git a/addons/point_of_sale/point_of_sale_view.xml b/addons/point_of_sale/point_of_sale_view.xml index 0ec7f4eb624..2cdfe3cc4b2 100644 --- a/addons/point_of_sale/point_of_sale_view.xml +++ b/addons/point_of_sale/point_of_sale_view.xml @@ -722,6 +722,7 @@ <group col="4"> <field name="warehouse_id" widget="selection" groups="stock.group_locations" /> <field name="pricelist_id" groups="product.group_sale_pricelist"/> + <field name="currency_id" invisible="1"/> <field name="journal_id" widget="selection"/> <field name="group_by" groups="account.group_account_user"/> <field name="sequence_id" readonly="1" groups="base.group_no_one"/> @@ -828,9 +829,9 @@ class="oe_highlight" /> <button name="close" type="workflow" string="Validate Closing & Post Entries" states="closing_control" class="oe_highlight" /> - <div class="oe_right"> - <field name="state" widget="statusbar" statusbar_visible="opening_control,opened,closing_control,closed" nolabel="1" /> - </div> + + <field name="state" widget="statusbar" statusbar_visible="opening_control,opened,closing_control,closed" nolabel="1" /> + </header> <sheet> <div class="oe_right oe_button_box"> @@ -845,6 +846,7 @@ <field name="cash_control" invisible="1" /> <group> <field name="user_id" context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'point_of_sale.group_pos_manager', 'base.group_sale_manager']}"/> + <field name="currency_id" invisible="1"/> <field name="config_id"/> </group> <group> @@ -853,7 +855,7 @@ </group> <newline/> <group string="Opening Cash Control" attrs="{'invisible' : [('cash_control', '=', False)]}"> - <field name="opening_details_ids" nolabel="1" colspan="2" attrs="{'readonly' : [('state', 'not in', ('opening_control',))]}"> + <field name="opening_details_ids" nolabel="1" colspan="2" attrs="{'readonly' : [('state', '!=', 'opening_control')]}"> <tree string="Opening Cashbox Lines" editable="bottom"> <field name="pieces" readonly="1" /> <field name="number_opening" on_change="on_change_sub_opening(pieces, number_opening)" /> @@ -862,20 +864,22 @@ </field> </group> <group string="Closing Cash Control" attrs="{'invisible': ['|', ('cash_control', '=', False), ('state', '=', 'opening_control')]}"> - <field name="details_ids" nolabel="1" colspan="2"> + <field name="details_ids" nolabel="1" colspan="2" attrs="{'readonly' : [('state', '=', 'closed')]}"> <tree string="Cashbox Lines" editable="bottom"> <field name="pieces" readonly="1" /> - <field name="number_closing" /> - <field name="subtotal_closing"/> + <field name="number_closing" on_change="on_change_sub_closing(pieces, number_closing)"/> + <field name="subtotal_closing" string="Closing Subtotal" sum="Total"/> </tree> </field> </group> <div attrs="{'invisible' : [('cash_control', '=', False)]}"> <group class="oe_subtotal_footer oe_right"> - <field name="cash_register_balance_start" readonly="1" string="Opening Balance" class="oe_subtotal_footer_separator"/> - <field name="cash_register_total_entry_encoding" attrs="{'invisible' : [('state', '=', 'opening_control')]}" string="+ Transactions"/> - <field name="cash_register_balance_end" attrs="{'invisible' : [('state', '=', 'opening_control')]}" string="= Theoretical Balance"/> + <field name="cash_register_balance_start" readonly="1" string="Opening Balance" class="oe_subtotal_footer_separator" widget="monetary" options="{'currency_field': 'currency_id'}"/> + <label for="cash_register_total_entry_encoding" attrs="{'invisible' : [('state', '=', 'opening_control')]}" string="+ Transactions" class="oe_force_bold oe_opening_total"/> + <field name="cash_register_total_entry_encoding" nolabel="1" attrs="{'invisible' : [('state', '=', 'opening_control')]}" class="oe_bold oe_pos_total" widget="monetary" options="{'currency_field': 'currency_id'}"/> + <label for="cash_register_balance_end" attrs="{'invisible' : [('state', '=', 'opening_control')]}" string="= Theoretical Closing Balance" class="oe_force_bold oe_opening_total"/> + <field name="cash_register_balance_end" nolabel="1" attrs="{'invisible' : [('state', '=', 'opening_control')]}" class="oe_bold oe_pos_total" widget="monetary" options="{'currency_field': 'currency_id'}"/> </group> <div class="oe_clear"/> <div attrs="{'invisible' : ['|', ('cash_journal_id', '=', False), ('state', '!=', 'opening_control')]}" class="oe_view_nocontent" groups="point_of_sale.group_pos_manager"> @@ -886,14 +890,17 @@ </p> </div> </div> - - - <group class="oe_subtotal_footer oe_right" attrs="{'invisible': ['|', ('cash_control', '=', False), ('state', '=', 'opening_control')]}"> - <field name="cash_register_balance_end_real" class="oe_subtotal_footer_separator"/> - <field name="cash_register_difference" class="oe_subtotal_footer_separator"/> - </group> + <div> + <group class="oe_subtotal_footer oe_right" attrs="{'invisible': ['|', ('cash_control', '=', False), ('state', '=', 'opening_control')]}"> + <field name="cash_register_balance_end_real" string="Real Closing Balance" class="oe_subtotal_footer_separator" widget="monetary" options="{'currency_field': 'currency_id'}"/> + </group> + <group/> + <group/> + <group class="oe_subtotal_footer oe_right" attrs="{'invisible': ['|', ('cash_control', '=', False), ('state', '=', 'opening_control')]}"> + <field name="cash_register_difference" class="oe_subtotal_footer_separator oe_right oe_pos_total oe_pos_difference" widget="monetary" options="{'currency_field': 'currency_id'}"/> + </group> + </div> </group> - <separator string="Summary by Payment Methods" attrs="{'invisible' : [('state', '=', 'opening_control')]}"/> <field name="statement_ids" attrs="{'invisible' : [('state', '=', 'opening_control')]}"> <tree string="Statements"> diff --git a/addons/point_of_sale/static/src/js/devices.js b/addons/point_of_sale/static/src/js/devices.js index 67fde81136a..7071a862413 100644 --- a/addons/point_of_sale/static/src/js/devices.js +++ b/addons/point_of_sale/static/src/js/devices.js @@ -560,6 +560,7 @@ function openerp_pos_devices(instance,module){ //module is instance.point_of_sal this.handler = function(e){ if(e.which === 13){ //ignore returns + e.preventDefault(); return; } diff --git a/addons/portal/i18n/he.po b/addons/portal/i18n/he.po new file mode 100644 index 00000000000..7a76965f9fd --- /dev/null +++ b/addons/portal/i18n/he.po @@ -0,0 +1,497 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-12-30 19:47+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: portal +#: view:portal.payment.acquirer:0 +msgid "Mako" +msgstr "" + +#. module: portal +#: code:addons/portal/wizard/share_wizard.py:50 +#, python-format +msgid "Please select at least one user to share with" +msgstr "" + +#. module: portal +#: view:portal.wizard:0 +msgid "" +"Select which contacts should belong to the portal in the list below.\n" +" The email address of each selected contact must be " +"valid and unique.\n" +" If necessary, you can fix any contact's email " +"address directly in the list." +msgstr "" + +#. module: portal +#: model:mail.group,name:portal.company_jobs +msgid "Company Jobs" +msgstr "" + +#. module: portal +#: view:portal.payment.acquirer:0 +msgid "amount: the total amount to pay, as a float" +msgstr "" + +#. module: portal +#: view:portal.wizard.user:0 +msgid "Contacts" +msgstr "" + +#. module: portal +#: view:share.wizard:0 +#: field:share.wizard,group_ids:0 +msgid "Existing groups" +msgstr "" + +#. module: portal +#: view:res.groups:0 +msgid "Portal Groups" +msgstr "" + +#. module: portal +#: field:portal.wizard,welcome_message:0 +msgid "Invitation Message" +msgstr "" + +#. module: portal +#: view:res.groups:0 +msgid "Non-Portal Groups" +msgstr "" + +#. module: portal +#: code:addons/portal/wizard/share_wizard.py:54 +#, python-format +msgid "Please select at least one group to share with" +msgstr "" + +#. module: portal +#: view:share.wizard:0 +msgid "Details" +msgstr "" + +#. module: portal +#: model:ir.ui.menu,name:portal.portal_orders +msgid "Quotations and Sales Orders" +msgstr "" + +#. module: portal +#: view:portal.payment.acquirer:0 +msgid "reference: the reference number of the document to pay" +msgstr "" + +#. module: portal +#: help:portal.payment.acquirer,visible:0 +msgid "" +"Make this payment acquirer available in portal forms (Customer invoices, " +"etc.)" +msgstr "" + +#. module: portal +#: model:ir.model,name:portal.model_share_wizard +msgid "Share Wizard" +msgstr "" + +#. module: portal +#: field:portal.wizard.user,email:0 +msgid "Email" +msgstr "" + +#. module: portal +#: model:ir.actions.client,help:portal.action_news +msgid "" +"<p>\n" +" Youd don't have unread company's news.\n" +" </p>\n" +" " +msgstr "" + +#. module: portal +#: code:addons/portal/wizard/portal_wizard.py:194 +#, python-format +msgid "" +"You must have an email address in your User Preferences to send emails." +msgstr "" + +#. module: portal +#: model:ir.actions.client,name:portal.action_jobs +#: model:ir.ui.menu,name:portal.portal_jobs +msgid "Jobs" +msgstr "" + +#. module: portal +#: field:portal.wizard,user_ids:0 +msgid "Users" +msgstr "" + +#. module: portal +#: code:addons/portal/acquirer.py:82 +#, python-format +msgid "Pay safely online" +msgstr "" + +#. module: portal +#: code:addons/portal/acquirer.py:77 +#, python-format +msgid "No online payment acquirers configured" +msgstr "" + +#. module: portal +#: view:portal.payment.acquirer:0 +msgid "" +"kind: the kind of document on which the payment form is rendered (translated " +"to user language, e.g. \"Invoice\")" +msgstr "" + +#. module: portal +#: help:portal.wizard,portal_id:0 +msgid "The portal that users can be added in or removed from." +msgstr "" + +#. module: portal +#: code:addons/portal/wizard/share_wizard.py:38 +#, python-format +msgid "Users you already shared with" +msgstr "" + +#. module: portal +#: model:ir.actions.client,help:portal.action_jobs +msgid "" +"<p>\n" +" Youd don't have unread job offers.\n" +" </p>\n" +" " +msgstr "" + +#. module: portal +#: view:portal.payment.acquirer:0 +msgid "" +", so it may use Mako expressions.\n" +" The Mako evaluation context provides:" +msgstr "" + +#. module: portal +#: model:ir.ui.menu,name:portal.portal_menu +#: field:portal.wizard,portal_id:0 +#: field:res.groups,is_portal:0 +#: model:res.groups,name:portal.group_portal +msgid "Portal" +msgstr "" + +#. module: portal +#: code:addons/portal/wizard/portal_wizard.py:34 +#, python-format +msgid "Your OpenERP account at %(company)s" +msgstr "" + +#. module: portal +#: model:res.groups,name:portal.group_anonymous +msgid "Anonymous" +msgstr "" + +#. module: portal +#: field:portal.wizard.user,in_portal:0 +msgid "In Portal" +msgstr "" + +#. module: portal +#: model:ir.actions.client,name:portal.action_news +#: model:ir.ui.menu,name:portal.portal_company_news +msgid "News" +msgstr "" + +#. module: portal +#: model:ir.ui.menu,name:portal.portal_after_sales +msgid "After Sale Services" +msgstr "" + +#. module: portal +#: model:res.groups,comment:portal.group_portal +msgid "" +"Portal members have specific access rights (such as record rules and " +"restricted menus).\n" +" They usually do not belong to the usual OpenERP groups." +msgstr "" + +#. module: portal +#: model:ir.actions.act_window,name:portal.action_acquirer_list +#: view:portal.payment.acquirer:0 +msgid "Payment Acquirers" +msgstr "" + +#. module: portal +#: model:ir.ui.menu,name:portal.portal_projects +msgid "Projects" +msgstr "" + +#. module: portal +#: model:ir.actions.client,name:portal.action_mail_inbox_feeds_portal +#: model:ir.ui.menu,name:portal.portal_inbox +msgid "Inbox" +msgstr "" + +#. module: portal +#: view:share.wizard:0 +#: field:share.wizard,user_ids:0 +msgid "Existing users" +msgstr "" + +#. module: portal +#: field:portal.wizard.user,wizard_id:0 +msgid "Wizard" +msgstr "" + +#. module: portal +#: field:portal.payment.acquirer,name:0 +msgid "Name" +msgstr "" + +#. module: portal +#: model:ir.model,name:portal.model_res_groups +msgid "Access Groups" +msgstr "" + +#. module: portal +#: view:portal.payment.acquirer:0 +msgid "uid: the current user id" +msgstr "" + +#. module: portal +#: view:portal.payment.acquirer:0 +msgid "" +"quote(): a method to quote special string character to make them suitable " +"for inclusion in a URL" +msgstr "" + +#. module: portal +#: help:res.groups,is_portal:0 +msgid "If checked, this group is usable as a portal." +msgstr "" + +#. module: portal +#: field:portal.payment.acquirer,form_template:0 +msgid "Payment form template (HTML)" +msgstr "" + +#. module: portal +#: field:portal.wizard.user,partner_id:0 +msgid "Contact" +msgstr "" + +#. module: portal +#: model:ir.model,name:portal.model_mail_mail +msgid "Outgoing Mails" +msgstr "" + +#. module: portal +#: code:addons/portal/wizard/portal_wizard.py:193 +#, python-format +msgid "Email required" +msgstr "" + +#. module: portal +#: model:ir.ui.menu,name:portal.portal_messages +msgid "Messaging" +msgstr "" + +#. module: portal +#: model:res.groups,comment:portal.group_anonymous +msgid "" +"Anonymous users have specific access rights (such as record rules and " +"restricted menus).\n" +" They usually do not belong to the usual OpenERP groups." +msgstr "" + +#. module: portal +#: model:ir.model,name:portal.model_portal_payment_acquirer +msgid "Online Payment Acquirer" +msgstr "" + +#. module: portal +#: model:mail.group,name:portal.company_news_feed +msgid "Company News" +msgstr "" + +#. module: portal +#: code:addons/portal/acquirer.py:76 +#, python-format +msgid "" +"You can finish the configuration in the <a href=\"%s\">Bank&Cash settings</a>" +msgstr "" + +#. module: portal +#: view:portal.payment.acquirer:0 +msgid "cr: the current database cursor" +msgstr "" + +#. module: portal +#: model:ir.actions.client,help:portal.action_mail_inbox_feeds_portal +msgid "" +"<p>\n" +" <b>Good Job!</b> Your inbox is empty.\n" +" </p><p>\n" +" Your inbox contains private messages or emails sent to " +"you\n" +" as well as information related to documents or people " +"you\n" +" follow.\n" +" </p>\n" +" " +msgstr "" + +#. module: portal +#: view:portal.payment.acquirer:0 +msgid "" +"object: the document on which the payment form is rendered (usually an " +"invoice or sales order record)" +msgstr "" + +#. module: portal +#: help:portal.wizard,welcome_message:0 +msgid "This text is included in the email sent to new users of the portal." +msgstr "" + +#. module: portal +#: model:ir.ui.menu,name:portal.portal_company +msgid "About Us" +msgstr "" + +#. module: portal +#: view:portal.payment.acquirer:0 +msgid "" +"currency: the currency record in which the document is issued (e.g. " +"currency.name could be EUR)" +msgstr "" + +#. module: portal +#: view:portal.payment.acquirer:0 +msgid "Payment Acquirer" +msgstr "" + +#. module: portal +#: code:addons/portal/wizard/portal_wizard.py:35 +#, python-format +msgid "" +"Dear %(name)s,\n" +"\n" +"You have been given access to %(portal)s.\n" +"\n" +"Your login account data is:\n" +"Database: %(db)s\n" +"Username: %(login)s\n" +"\n" +"In order to complete the signin process, click on the following url:\n" +"%(url)s\n" +"\n" +"%(welcome_message)s\n" +"\n" +"--\n" +"OpenERP - Open Source Business Applications\n" +"http://www.openerp.com\n" +msgstr "" + +#. module: portal +#: view:portal.wizard:0 +msgid "or" +msgstr "" + +#. module: portal +#: model:portal.payment.acquirer,form_template:portal.paypal_acquirer +msgid "" +"\n" +"% if object.company_id.paypal_account:\n" +"<form action=\"https://www.paypal.com/cgi-bin/webscr\" method=\"post\" " +"target=\"_blank\">\n" +" <input type=\"hidden\" name=\"cmd\" value=\"_xclick\"/>\n" +" <input type=\"hidden\" name=\"business\" " +"value=\"${object.company_id.paypal_account}\"/>\n" +" <input type=\"hidden\" name=\"item_name\" " +"value=\"${object.company_id.name} ${kind.title()} ${reference}\"/>\n" +" <input type=\"hidden\" name=\"amount\" value=\"${amount}\"/>\n" +" <input type=\"hidden\" name=\"currency_code\" " +"value=\"${currency.name}\"/>\n" +" <input type=\"image\" name=\"submit\" " +"src=\"https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif\"/>\n" +"</form>\n" +"% endif\n" +" " +msgstr "" + +#. module: portal +#: model:ir.model,name:portal.model_portal_wizard_user +msgid "Portal User Config" +msgstr "" + +#. module: portal +#: view:portal.payment.acquirer:0 +msgid "" +"If the template renders to an empty result in a certain context it will be " +"ignored, as if it was inactive." +msgstr "" + +#. module: portal +#: field:portal.payment.acquirer,visible:0 +msgid "Visible" +msgstr "" + +#. module: portal +#: code:addons/portal/wizard/share_wizard.py:39 +#, python-format +msgid "Existing Groups (e.g Portal Groups)" +msgstr "" + +#. module: portal +#: view:portal.wizard:0 +msgid "Cancel" +msgstr "" + +#. module: portal +#: view:portal.wizard:0 +msgid "Apply" +msgstr "" + +#. module: portal +#: view:portal.payment.acquirer:0 +msgid "ctx: the current context dictionary" +msgstr "" + +#. module: portal +#: view:portal.payment.acquirer:0 +msgid "" +"This is an HTML form template to submit a payment through this acquirer.\n" +" The template will be rendered with" +msgstr "" + +#. module: portal +#: code:addons/portal/mail_mail.py:42 +#, python-format +msgid "" +"Access your personal documents through <a href=\"%s\">our Customer Portal</a>" +msgstr "" + +#. module: portal +#: view:portal.payment.acquirer:0 +msgid "Form Template" +msgstr "" + +#. module: portal +#: model:ir.actions.act_window,name:portal.partner_wizard_action +#: model:ir.model,name:portal.model_portal_wizard +#: view:portal.wizard:0 +msgid "Portal Access Management" +msgstr "" diff --git a/addons/portal_crm/i18n/he.po b/addons/portal_crm/i18n/he.po new file mode 100644 index 00000000000..b14cf413812 --- /dev/null +++ b/addons/portal_crm/i18n/he.po @@ -0,0 +1,546 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-12-30 19:12+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,type:0 +msgid "Lead" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,title:0 +msgid "Title" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,probability:0 +msgid "Success Rate (%)" +msgstr "" + +#. module: portal_crm +#: view:portal_crm.crm_contact_us:0 +msgid "Contact us" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,date_action:0 +msgid "Next Action Date" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,fax:0 +msgid "Fax" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,zip:0 +msgid "Zip" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,company_id:0 +msgid "Company" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,day_open:0 +msgid "Days to Open" +msgstr "" + +#. module: portal_crm +#: view:portal_crm.crm_contact_us:0 +msgid "Thank you for your interest, we'll respond to your request shortly." +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,priority:0 +msgid "Highest" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,mobile:0 +msgid "Mobile" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,description:0 +msgid "Notes" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,color:0 +msgid "Color Index" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,partner_latitude:0 +msgid "Geo Latitude" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,partner_name:0 +msgid "Customer Name" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,state:0 +msgid "Cancelled" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,channel_id:0 +msgid "Communication channel (mail, direct, phone, ...)" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,type_id:0 +msgid "Campaign" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,ref:0 +msgid "Reference" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,date_action_next:0 +#: field:portal_crm.crm_contact_us,title_action:0 +msgid "Next Action" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,partner_id:0 +msgid "Partner" +msgstr "" + +#. module: portal_crm +#: model:ir.actions.act_window,name:portal_crm.action_contact_us +msgid "Contact Us" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,name:0 +msgid "Subject" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,opt_out:0 +msgid "Opt-Out" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,priority:0 +msgid "Priority" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,state_id:0 +msgid "State" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,partner_id:0 +msgid "Linked partner (optional). Usually created when converting the lead." +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,payment_mode:0 +msgid "Payment Mode" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,state:0 +msgid "New" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,type:0 +msgid "Type" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,email_from:0 +msgid "Email" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,channel_id:0 +msgid "Channel" +msgstr "" + +#. module: portal_crm +#: view:portal_crm.crm_contact_us:0 +msgid "Name" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,priority:0 +msgid "Lowest" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,create_date:0 +msgid "Creation Date" +msgstr "" + +#. module: portal_crm +#: view:portal_crm.crm_contact_us:0 +msgid "Close" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,state:0 +msgid "Pending" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,type:0 +msgid "Type is used to separate Leads and Opportunities" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,categ_ids:0 +msgid "Categories" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,stage_id:0 +msgid "Stage" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,user_login:0 +msgid "User Login" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,opt_out:0 +msgid "" +"If opt-out is checked, this contact has refused to receive emails or " +"unsubscribed to a campaign." +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,contact_name:0 +msgid "Contact Name" +msgstr "" + +#. module: portal_crm +#: model:ir.ui.menu,name:portal_crm.portal_company_contact +msgid "Contact" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,partner_address_email:0 +msgid "Partner Contact Email" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,planned_revenue:0 +msgid "Expected Revenue" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,task_ids:0 +msgid "Tasks" +msgstr "" + +#. module: portal_crm +#: view:portal_crm.crm_contact_us:0 +msgid "Contact form" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,company_currency:0 +msgid "Currency" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,write_date:0 +msgid "Update Date" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,date_deadline:0 +msgid "Expected Closing" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,ref2:0 +msgid "Reference 2" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,user_email:0 +msgid "User Email" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,date_open:0 +msgid "Opened" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,state:0 +msgid "In Progress" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,partner_name:0 +msgid "" +"The name of the future partner company that will be created while converting " +"the lead into opportunity" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,planned_cost:0 +msgid "Planned Costs" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,date_deadline:0 +msgid "Estimate of the date on which the opportunity will be won." +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,email_cc:0 +msgid "" +"These email addresses will be added to the CC field of all inbound and " +"outbound emails for this record before being sent. Separate multiple email " +"addresses with a comma" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,priority:0 +msgid "Low" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,date_closed:0 +#: selection:portal_crm.crm_contact_us,state:0 +msgid "Closed" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,date_assign:0 +msgid "Assignation Date" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,state:0 +msgid "Status" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,priority:0 +msgid "Normal" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,email_cc:0 +msgid "Global CC" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,street2:0 +msgid "Street2" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,id:0 +msgid "ID" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,phone:0 +msgid "Phone" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,active:0 +msgid "Active" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,user_id:0 +msgid "Salesperson" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,day_close:0 +msgid "Days to Close" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,company_ids:0 +msgid "Companies" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,section_id:0 +msgid "" +"When sending mails, the default email address is taken from the sales team." +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,partner_address_name:0 +msgid "Partner Contact Name" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,partner_longitude:0 +msgid "Geo Longitude" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,date_assign:0 +msgid "Last date this case was forwarded/assigned to a partner" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,email_from:0 +msgid "Email address of the contact" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,city:0 +msgid "City" +msgstr "" + +#. module: portal_crm +#: view:portal_crm.crm_contact_us:0 +msgid "Submit" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,function:0 +msgid "Function" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,referred:0 +msgid "Referred By" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,partner_assigned_id:0 +msgid "Assigned Partner" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,type:0 +msgid "Opportunity" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,partner_assigned_id:0 +msgid "Partner this case has been forwarded/assigned to." +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,country_id:0 +msgid "Country" +msgstr "" + +#. module: portal_crm +#: view:portal_crm.crm_contact_us:0 +msgid "Thank you" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,state:0 +msgid "" +"The Status is set to 'Draft', when a case is created. If the case is in " +"progress the Status is set to 'Open'. When the case is over, the Status is " +"set to 'Done'. If the case needs to be reviewed then the Status is set to " +"'Pending'." +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: portal_crm +#: help:portal_crm.crm_contact_us,type_id:0 +msgid "" +"From which campaign (seminar, marketing campaign, mass mailing, ...) did " +"this contact come from?" +msgstr "" + +#. module: portal_crm +#: selection:portal_crm.crm_contact_us,priority:0 +msgid "High" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,section_id:0 +msgid "Sales Team" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,street:0 +msgid "Street" +msgstr "" + +#. module: portal_crm +#: field:portal_crm.crm_contact_us,date_action_last:0 +msgid "Last Action" +msgstr "" + +#. module: portal_crm +#: model:ir.model,name:portal_crm.model_portal_crm_crm_contact_us +msgid "Contact form for the portal" +msgstr "" diff --git a/addons/portal_gamification/__init__.py b/addons/portal_gamification/__init__.py new file mode 100644 index 00000000000..484faca7b68 --- /dev/null +++ b/addons/portal_gamification/__init__.py @@ -0,0 +1,21 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://openerp.com>). +# +# 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 <http://www.gnu.org/licenses/>. +# +############################################################################## + diff --git a/addons/portal_gamification/__openerp__.py b/addons/portal_gamification/__openerp__.py new file mode 100644 index 00000000000..e20e54be6e3 --- /dev/null +++ b/addons/portal_gamification/__openerp__.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 2013 OpenERP SA (<http://openerp.com>). +# +# 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 <http://www.gnu.org/licenses/>. +# +############################################################################## + + +{ + 'name': 'Portal Gamification', + 'version': '1', + 'category': 'Tools', + 'complexity': 'easy', + 'description': """ +This module adds security rules for gamification to allow portal users to participate to challenges +=================================================================================================== + """, + 'author': 'OpenERP SA', + 'depends': ['gamification','portal'], + 'data': [ + 'security/ir.model.access.csv', + 'security/portal_security.xml', + ], + 'installable': True, + 'auto_install': True, + 'category': 'Hidden', +} + diff --git a/addons/portal_gamification/security/ir.model.access.csv b/addons/portal_gamification/security/ir.model.access.csv new file mode 100644 index 00000000000..4f21669cf55 --- /dev/null +++ b/addons/portal_gamification/security/ir.model.access.csv @@ -0,0 +1,7 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink +goal_portal,"Goal Portal",gamification.model_gamification_goal,portal.group_portal,1,1,0,0 +goal_definition_portal,"Goal Definition Portal",gamification.model_gamification_goal_definition,portal.group_portal,1,0,0,0 +challenge_portal,"Goal Challenge Portal",gamification.model_gamification_challenge,portal.group_portal,1,0,0,0 +challenge_line_portal,"Challenge Line Portal",gamification.model_gamification_challenge_line,portal.group_portal,1,0,0,0 +badge_portal,"Badge Portal",gamification.model_gamification_badge,portal.group_portal,1,0,0,0 +badge_user_portal,"Badge-user Portal",gamification.model_gamification_badge_user,portal.group_portal,1,1,1,0 diff --git a/addons/portal_gamification/security/portal_security.xml b/addons/portal_gamification/security/portal_security.xml new file mode 100644 index 00000000000..6b46fe96519 --- /dev/null +++ b/addons/portal_gamification/security/portal_security.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<openerp> + <data> + <record id="gamification.goal_user_visibility" model="ir.rule"> + <field name="groups" eval="[(4, ref('portal.group_portal'))]"/> + </record> + + </data> +</openerp> diff --git a/addons/portal_project/i18n/he.po b/addons/portal_project/i18n/he.po new file mode 100644 index 00000000000..c28dd7b4313 --- /dev/null +++ b/addons/portal_project/i18n/he.po @@ -0,0 +1,33 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:05+0000\n" +"PO-Revision-Date: 2013-12-30 19:39+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: portal_project +#: model:ir.actions.act_window,help:portal_project.open_view_project +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to start a new project.\n" +" </p>\n" +" " +msgstr "" + +#. module: portal_project +#: model:ir.actions.act_window,name:portal_project.open_view_project +#: model:ir.ui.menu,name:portal_project.portal_services_projects +msgid "Projects" +msgstr "" diff --git a/addons/portal_project_issue/i18n/he.po b/addons/portal_project_issue/i18n/he.po new file mode 100644 index 00000000000..f72d40447a6 --- /dev/null +++ b/addons/portal_project_issue/i18n/he.po @@ -0,0 +1,40 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-12-30 19:39+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: portal_project_issue +#: view:project.issue:0 +msgid "Creation:" +msgstr "" + +#. module: portal_project_issue +#: model:ir.actions.act_window,help:portal_project_issue.project_issue_categ_act0 +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create an issue.\n" +" </p><p>\n" +" You can track your issues from this menu and the action we\n" +" will take.\n" +" </p>\n" +" " +msgstr "" + +#. module: portal_project_issue +#: model:ir.actions.act_window,name:portal_project_issue.project_issue_categ_act0 +msgid "Issues" +msgstr "" diff --git a/addons/process/i18n/he.po b/addons/process/i18n/he.po new file mode 100644 index 00000000000..1e06adfb373 --- /dev/null +++ b/addons/process/i18n/he.po @@ -0,0 +1,379 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-12-30 19:15+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: process +#: model:ir.model,name:process.model_process_node +#: view:process.node:0 +#: view:process.process:0 +msgid "Process Node" +msgstr "" + +#. module: process +#: help:process.process,active:0 +msgid "" +"If the active field is set to False, it will allow you to hide the process " +"without removing it." +msgstr "" + +#. module: process +#: field:process.node,menu_id:0 +msgid "Related Menu" +msgstr "" + +#. module: process +#: selection:process.node,kind:0 +msgid "Status" +msgstr "" + +#. module: process +#: field:process.transition,action_ids:0 +msgid "Buttons" +msgstr "" + +#. module: process +#: view:process.node:0 +#: view:process.process:0 +msgid "Group By..." +msgstr "" + +#. module: process +#: view:process.node:0 +msgid "Kind Of Node" +msgstr "" + +#. module: process +#: field:process.node,help_url:0 +msgid "Help URL" +msgstr "" + +#. module: process +#: field:process.node,flow_start:0 +msgid "Starting Flow" +msgstr "" + +#. module: process +#: model:ir.actions.act_window,name:process.action_process_node_form +#: model:ir.ui.menu,name:process.menu_process_node_form +#: view:process.node:0 +#: view:process.process:0 +msgid "Process Nodes" +msgstr "" + +#. module: process +#: view:process.process:0 +#: field:process.process,node_ids:0 +msgid "Nodes" +msgstr "" + +#. module: process +#: field:process.node,condition_ids:0 +#: view:process.process:0 +msgid "Conditions" +msgstr "" + +#. module: process +#: view:process.transition:0 +msgid "Search Process Transition" +msgstr "" + +#. module: process +#: field:process.condition,node_id:0 +msgid "Node" +msgstr "" + +#. module: process +#: selection:process.transition.action,state:0 +msgid "Workflow Trigger" +msgstr "" + +#. module: process +#: field:process.transition,note:0 +msgid "Description" +msgstr "" + +#. module: process +#: model:ir.model,name:process.model_process_transition_action +msgid "Process Transitions Actions" +msgstr "" + +#. module: process +#: field:process.condition,model_id:0 +#: view:process.node:0 +#: field:process.node,model_id:0 +#: view:process.process:0 +#: field:process.process,model_id:0 +msgid "Object" +msgstr "" + +#. module: process +#: field:process.transition,source_node_id:0 +msgid "Source Node" +msgstr "" + +#. module: process +#: view:process.transition:0 +#: field:process.transition,transition_ids:0 +msgid "Workflow Transitions" +msgstr "" + +#. module: process +#. openerp-web +#: code:addons/process/static/src/xml/process.xml:39 +#, python-format +msgid "Last modified by:" +msgstr "" + +#. module: process +#: field:process.transition.action,action:0 +msgid "Action ID" +msgstr "" + +#. module: process +#. openerp-web +#: code:addons/process/static/src/xml/process.xml:7 +#, python-format +msgid "Process View" +msgstr "" + +#. module: process +#: model:ir.model,name:process.model_process_transition +#: view:process.transition:0 +msgid "Process Transition" +msgstr "" + +#. module: process +#: model:ir.model,name:process.model_process_condition +msgid "Condition" +msgstr "" + +#. module: process +#: selection:process.transition.action,state:0 +msgid "Dummy" +msgstr "" + +#. module: process +#: model:ir.actions.act_window,name:process.action_process_form +#: model:ir.ui.menu,name:process.menu_process_form +msgid "Processes" +msgstr "" + +#. module: process +#: field:process.transition.action,transition_id:0 +msgid "Transition" +msgstr "" + +#. module: process +#: field:process.condition,name:0 +#: field:process.node,name:0 +#: field:process.process,name:0 +#: field:process.transition,name:0 +#: field:process.transition.action,name:0 +msgid "Name" +msgstr "" + +#. module: process +#: field:process.node,transition_in:0 +msgid "Starting Transitions" +msgstr "" + +#. module: process +#. openerp-web +#: code:addons/process/static/src/xml/process.xml:54 +#, python-format +msgid "Related:" +msgstr "" + +#. module: process +#: view:process.node:0 +#: field:process.node,note:0 +#: view:process.process:0 +#: field:process.process,note:0 +#: view:process.transition:0 +msgid "Notes" +msgstr "" + +#. module: process +#. openerp-web +#: code:addons/process/static/src/xml/process.xml:88 +#, python-format +msgid "Edit Process" +msgstr "" + +#. module: process +#. openerp-web +#: code:addons/process/static/src/xml/process.xml:39 +#, python-format +msgid "N/A" +msgstr "" + +#. module: process +#: view:process.process:0 +msgid "Search Process" +msgstr "" + +#. module: process +#: field:process.process,active:0 +msgid "Active" +msgstr "" + +#. module: process +#: view:process.transition:0 +msgid "Associated Groups" +msgstr "" + +#. module: process +#: field:process.node,model_states:0 +msgid "States Expression" +msgstr "" + +#. module: process +#: selection:process.transition.action,state:0 +msgid "Action" +msgstr "" + +#. module: process +#. openerp-web +#: code:addons/process/static/src/xml/process.xml:67 +#, python-format +msgid "Select Process" +msgstr "" + +#. module: process +#: field:process.condition,model_states:0 +msgid "Expression" +msgstr "" + +#. module: process +#: field:process.transition,group_ids:0 +msgid "Required Groups" +msgstr "" + +#. module: process +#: view:process.node:0 +#: view:process.process:0 +msgid "Incoming Transitions" +msgstr "" + +#. module: process +#: field:process.transition.action,state:0 +msgid "Type" +msgstr "" + +#. module: process +#: field:process.node,transition_out:0 +msgid "Ending Transitions" +msgstr "" + +#. module: process +#. openerp-web +#: code:addons/process/static/src/js/process.js:243 +#: code:addons/process/static/src/xml/process.xml:33 +#: model:ir.model,name:process.model_process_process +#: field:process.node,process_id:0 +#: view:process.process:0 +#, python-format +msgid "Process" +msgstr "" + +#. module: process +#: view:process.node:0 +msgid "Search ProcessNode" +msgstr "" + +#. module: process +#: view:process.node:0 +#: view:process.process:0 +msgid "Other Conditions" +msgstr "" + +#. module: process +#: model:ir.ui.menu,name:process.menu_process +msgid "Enterprise Process" +msgstr "" + +#. module: process +#: view:process.transition:0 +msgid "Actions" +msgstr "" + +#. module: process +#: view:process.node:0 +#: view:process.process:0 +msgid "Properties" +msgstr "" + +#. module: process +#: model:ir.actions.act_window,name:process.action_process_transition_form +#: model:ir.ui.menu,name:process.menu_process_transition_form +msgid "Process Transitions" +msgstr "" + +#. module: process +#: field:process.transition,target_node_id:0 +msgid "Target Node" +msgstr "" + +#. module: process +#: field:process.node,kind:0 +msgid "Kind of Node" +msgstr "" + +#. module: process +#. openerp-web +#: code:addons/process/static/src/xml/process.xml:42 +#, python-format +msgid "Subflows:" +msgstr "" + +#. module: process +#: view:process.node:0 +#: view:process.process:0 +msgid "Outgoing Transitions" +msgstr "" + +#. module: process +#. openerp-web +#: code:addons/process/static/src/xml/process.xml:36 +#, python-format +msgid "Notes:" +msgstr "" + +#. module: process +#: selection:process.node,kind:0 +#: field:process.node,subflow_id:0 +msgid "Subflow" +msgstr "" + +#. module: process +#: view:process.node:0 +#: view:process.process:0 +msgid "Transitions" +msgstr "" + +#. module: process +#: selection:process.transition.action,state:0 +msgid "Object Method" +msgstr "" + +#. module: process +#. openerp-web +#: code:addons/process/static/src/xml/process.xml:77 +#, python-format +msgid "Select" +msgstr "" diff --git a/addons/procurement/i18n/zh_TW.po b/addons/procurement/i18n/zh_TW.po new file mode 100644 index 00000000000..dd0d842b316 --- /dev/null +++ b/addons/procurement/i18n/zh_TW.po @@ -0,0 +1,1005 @@ +# Chinese (Traditional) translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-12-30 08:00+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: procurement +#: model:ir.ui.menu,name:procurement.menu_stock_sched +msgid "Schedulers" +msgstr "排程器" + +#. module: procurement +#: model:ir.model,name:procurement.model_make_procurement +msgid "Make Procurements" +msgstr "" + +#. module: procurement +#: help:procurement.order.compute.all,automatic:0 +msgid "" +"Triggers an automatic procurement for all products that have a virtual stock " +"under 0. You should probably not use this option, we suggest using a MTO " +"configuration on products." +msgstr "" + +#. module: procurement +#: view:stock.warehouse.orderpoint:0 +msgid "Group By..." +msgstr "分組..." + +#. module: procurement +#: help:stock.warehouse.orderpoint,procurement_draft_ids:0 +msgid "Draft procurement of the product and location of that orderpoint" +msgstr "" + +#. module: procurement +#: view:product.product:0 +msgid "" +"required quantities are always\n" +" available" +msgstr "" + +#. module: procurement +#: view:product.product:0 +msgid "" +"If there are not enough quantities available, the delivery order\n" +" will wait for new products. To fulfill the " +"inventory, you should\n" +" create others rules like orderpoints." +msgstr "" + +#. module: procurement +#: field:procurement.order,procure_method:0 +#: field:product.template,procure_method:0 +msgid "Procurement Method" +msgstr "" + +#. module: procurement +#: selection:product.template,supply_method:0 +msgid "Manufacture" +msgstr "" + +#. module: procurement +#: model:process.process,name:procurement.process_process_serviceproductprocess0 +msgid "Service" +msgstr "" + +#. module: procurement +#: model:ir.actions.act_window,name:procurement.action_procurement_compute +msgid "Compute Stock Minimum Rules Only" +msgstr "" + +#. module: procurement +#: view:stock.warehouse.orderpoint:0 +msgid "Rules" +msgstr "" + +#. module: procurement +#: field:procurement.order,company_id:0 +#: field:stock.warehouse.orderpoint,company_id:0 +msgid "Company" +msgstr "" + +#. module: procurement +#: field:procurement.order,product_uos_qty:0 +msgid "UoS Quantity" +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "Reason" +msgstr "" + +#. module: procurement +#: view:procurement.order.compute:0 +msgid "Compute Procurements" +msgstr "" + +#. module: procurement +#: field:procurement.order,message:0 +msgid "Latest error" +msgstr "" + +#. module: procurement +#: field:stock.warehouse.orderpoint,product_min_qty:0 +msgid "Minimum Quantity" +msgstr "" + +#. module: procurement +#: help:mrp.property,composition:0 +msgid "Not used in computations, for information purpose only." +msgstr "" + +#. module: procurement +#: field:stock.warehouse.orderpoint,procurement_id:0 +msgid "Latest procurement" +msgstr "" + +#. module: procurement +#: model:ir.actions.act_window,help:procurement.action_orderpoint_form +msgid "" +"You can define your minimum stock rules, so that OpenERP will automatically " +"create draft manufacturing orders or purchase quotations according to the " +"stock level. Once the virtual stock of a product (= stock on hand minus all " +"confirmed orders and reservations) is below the minimum quantity, OpenERP " +"will generate a procurement request to increase the stock up to the maximum " +"quantity." +msgstr "" + +#. module: procurement +#: field:procurement.order,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: procurement +#: help:procurement.order,message:0 +msgid "Exception occurred while computing procurement orders." +msgstr "" + +#. module: procurement +#: view:product.product:0 +msgid "Products" +msgstr "" + +#. module: procurement +#: selection:procurement.order,state:0 +msgid "Cancelled" +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "Permanent Procurement Exceptions" +msgstr "" + +#. module: procurement +#: help:procurement.order,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: procurement +#: view:procurement.order.compute.all:0 +msgid "Scheduler Parameters" +msgstr "" + +#. module: procurement +#: model:ir.model,name:procurement.model_stock_move +msgid "Stock Move" +msgstr "" + +#. module: procurement +#: view:product.product:0 +msgid "Stockable products" +msgstr "" + +#. module: procurement +#: code:addons/procurement/procurement.py:138 +#, python-format +msgid "Invalid Action!" +msgstr "" + +#. module: procurement +#: help:procurement.order,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: procurement +#: selection:procurement.order,state:0 +msgid "Ready" +msgstr "" + +#. module: procurement +#: field:procurement.order.compute.all,automatic:0 +msgid "Automatic orderpoint" +msgstr "" + +#. module: procurement +#: model:ir.actions.act_window,help:procurement.procurement_exceptions +msgid "" +"<p>\n" +" Procurement Orders represent the need for a certain quantity " +"of products, at a given time, in a given location. Sales Orders are one " +"typical source of Procurement Orders (but these are distinct documents). " +"Depending on the procurement parameters and the product configuration, the " +"procurement engine will attempt to satisfy the need by reserving products " +"from stock, ordering products from a supplier, or passing a manufacturing " +"order, etc. A Procurement Exception occurs when the system cannot find a way " +"to fulfill a procurement. Some exceptions will resolve themselves " +"automatically, but others require manual intervention (those are identified " +"by a specific error message).\n" +" </p>\n" +" " +msgstr "" + +#. module: procurement +#: selection:procurement.order,state:0 +msgid "Confirmed" +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "Retry" +msgstr "" + +#. module: procurement +#: view:procurement.order.compute:0 +#: view:procurement.orderpoint.compute:0 +msgid "Parameters" +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "Confirm" +msgstr "" + +#. module: procurement +#: view:stock.warehouse.orderpoint:0 +msgid "Quantity Multiple" +msgstr "" + +#. module: procurement +#: help:procurement.order,origin:0 +msgid "" +"Reference of the document that created this Procurement.\n" +"This is automatically completed by OpenERP." +msgstr "" + +#. module: procurement +#: view:stock.warehouse.orderpoint:0 +msgid "Procurement Orders to Process" +msgstr "" + +#. module: procurement +#: model:ir.model,name:procurement.model_stock_warehouse_orderpoint +msgid "Minimum Inventory Rule" +msgstr "" + +#. module: procurement +#: code:addons/procurement/procurement.py:370 +#, python-format +msgid "Procurement '%s' is in exception: " +msgstr "" + +#. module: procurement +#: field:procurement.order,priority:0 +msgid "Priority" +msgstr "" + +#. module: procurement +#: view:stock.warehouse.orderpoint:0 +msgid "Reordering Rules Search" +msgstr "" + +#. module: procurement +#: selection:procurement.order,state:0 +msgid "Waiting" +msgstr "" + +#. module: procurement +#: field:procurement.order,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: procurement +#: field:procurement.order,location_id:0 +#: view:stock.warehouse.orderpoint:0 +#: field:stock.warehouse.orderpoint,location_id:0 +msgid "Location" +msgstr "" + +#. module: procurement +#: model:ir.model,name:procurement.model_stock_picking +msgid "Picking List" +msgstr "" + +#. module: procurement +#: field:make.procurement,warehouse_id:0 +#: view:stock.warehouse.orderpoint:0 +#: field:stock.warehouse.orderpoint,warehouse_id:0 +msgid "Warehouse" +msgstr "" + +#. module: procurement +#: selection:stock.warehouse.orderpoint,logic:0 +msgid "Best price (not yet active!)" +msgstr "" + +#. module: procurement +#: code:addons/procurement/schedulers.py:110 +#, python-format +msgid "PROC %d: from stock - %3.2f %-5s - %s" +msgstr "" + +#. module: procurement +#: model:ir.model,name:procurement.model_procurement_order_compute +msgid "Compute Procurement" +msgstr "" + +#. module: procurement +#: field:res.company,schedule_range:0 +msgid "Scheduler Range Days" +msgstr "" + +#. module: procurement +#: view:make.procurement:0 +msgid "Ask New Products" +msgstr "" + +#. module: procurement +#: field:make.procurement,date_planned:0 +msgid "Planned Date" +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "Group By" +msgstr "" + +#. module: procurement +#: field:make.procurement,qty:0 +#: field:procurement.order,product_qty:0 +msgid "Quantity" +msgstr "" + +#. module: procurement +#: code:addons/procurement/procurement.py:365 +#, python-format +msgid "Not enough stock and no minimum orderpoint rule defined." +msgstr "" + +#. module: procurement +#: field:make.procurement,uom_id:0 +#: view:procurement.order:0 +msgid "Unit of Measure" +msgstr "" + +#. module: procurement +#: selection:procurement.order,procure_method:0 +#: selection:product.template,procure_method:0 +msgid "Make to Stock" +msgstr "" + +#. module: procurement +#: model:ir.actions.act_window,help:procurement.procurement_action +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a procurement order. \n" +" </p><p>\n" +" A procurement order is used to record a need for a specific\n" +" product at a specific location. Procurement orders are " +"usually\n" +" created automatically from sales orders, pull logistic rules " +"or\n" +" minimum stock rules.\n" +" </p><p>\n" +" When the procurement order is confirmed, it automatically\n" +" creates the necessary operations to fullfil the need: " +"purchase\n" +" order proposition, manufacturing order, etc.\n" +" </p>\n" +" " +msgstr "" + +#. module: procurement +#: help:procurement.order,procure_method:0 +msgid "" +"If you encode manually a Procurement, you probably want to use a make to " +"order method." +msgstr "" + +#. module: procurement +#: model:ir.ui.menu,name:procurement.menu_stock_procurement +msgid "Automatic Procurements" +msgstr "" + +#. module: procurement +#: view:product.product:0 +msgid "" +"use the available\n" +" inventory" +msgstr "" + +#. module: procurement +#: model:ir.model,name:procurement.model_procurement_order +#: model:process.process,name:procurement.process_process_procurementprocess0 +#: view:procurement.order:0 +msgid "Procurement" +msgstr "" + +#. module: procurement +#: model:ir.actions.act_window,name:procurement.procurement_action +msgid "Procurement Orders" +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "To Fix" +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "Exceptions" +msgstr "" + +#. module: procurement +#: model:process.node,note:procurement.process_node_serviceonorder0 +msgid "Assignment from Production or Purchase Order." +msgstr "" + +#. module: procurement +#: model:ir.model,name:procurement.model_mrp_property +msgid "Property" +msgstr "" + +#. module: procurement +#: model:ir.actions.act_window,name:procurement.act_make_procurement +#: view:make.procurement:0 +msgid "Procurement Request" +msgstr "" + +#. module: procurement +#: view:procurement.orderpoint.compute:0 +msgid "Compute Stock" +msgstr "" + +#. module: procurement +#: field:stock.warehouse.orderpoint,procurement_draft_ids:0 +msgid "Related Procurement Orders" +msgstr "" + +#. module: procurement +#: field:procurement.order,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: procurement +#: selection:mrp.property,composition:0 +msgid "plus" +msgstr "" + +#. module: procurement +#: help:procurement.order,state:0 +msgid "" +"When a procurement is created the status is set to 'Draft'.\n" +" If the procurement is confirmed, the status is set to 'Confirmed'. " +" \n" +"After confirming the status is set to 'Running'.\n" +" If any exception arises in the order then the status is set to " +"'Exception'.\n" +" Once the exception is removed the status becomes 'Ready'.\n" +" It is in 'Waiting'. status when the procurement is waiting for another one " +"to finish." +msgstr "" + +#. module: procurement +#: help:stock.warehouse.orderpoint,active:0 +msgid "" +"If the active field is set to False, it will allow you to hide the " +"orderpoint without removing it." +msgstr "" + +#. module: procurement +#: view:product.product:0 +msgid "" +"When you sell this service, nothing special will be triggered\n" +" to deliver the customer, as you set the " +"procurement method as\n" +" 'Make to Stock'." +msgstr "" + +#. module: procurement +#: help:procurement.orderpoint.compute,automatic:0 +msgid "If the stock of a product is under 0, it will act like an orderpoint" +msgstr "" + +#. module: procurement +#: field:procurement.order,product_uom:0 +#: field:stock.warehouse.orderpoint,product_uom:0 +msgid "Product Unit of Measure" +msgstr "" + +#. module: procurement +#: constraint:stock.warehouse.orderpoint:0 +msgid "" +"You have to select a product unit of measure in the same category than the " +"default unit of measure of the product" +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "Procurement Lines" +msgstr "" + +#. module: procurement +#: view:product.product:0 +msgid "" +"as it's a consumable (as a result of this, the quantity\n" +" on hand may become negative)." +msgstr "" + +#. module: procurement +#: field:procurement.order,note:0 +msgid "Note" +msgstr "" + +#. module: procurement +#: help:stock.warehouse.orderpoint,product_min_qty:0 +msgid "" +"When the virtual stock goes below the Min Quantity specified for this field, " +"OpenERP generates a procurement to bring the forecasted quantity to the Max " +"Quantity." +msgstr "" + +#. module: procurement +#: selection:procurement.order,state:0 +msgid "Draft" +msgstr "" + +#. module: procurement +#: model:ir.actions.act_window,name:procurement.action_compute_schedulers +#: model:ir.ui.menu,name:procurement.menu_stock_proc_schedulers +#: view:procurement.order.compute.all:0 +msgid "Run Schedulers" +msgstr "" + +#. module: procurement +#: view:procurement.order.compute:0 +msgid "This wizard will schedule procurements." +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +#: field:procurement.order,state:0 +msgid "Status" +msgstr "" + +#. module: procurement +#: selection:product.template,supply_method:0 +msgid "Buy" +msgstr "" + +#. module: procurement +#: view:product.product:0 +msgid "for the delivery order." +msgstr "" + +#. module: procurement +#: selection:procurement.order,priority:0 +msgid "Normal" +msgstr "" + +#. module: procurement +#: help:product.template,supply_method:0 +msgid "" +"Manufacture: When procuring the product, a manufacturing order or a task " +"will be generated, depending on the product type. \n" +"Buy: When procuring the product, a purchase order will be generated." +msgstr "" + +#. module: procurement +#: field:stock.warehouse.orderpoint,product_max_qty:0 +msgid "Maximum Quantity" +msgstr "" + +#. module: procurement +#: field:procurement.order,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: procurement +#: code:addons/procurement/procurement.py:367 +#, python-format +msgid "Not enough stock." +msgstr "" + +#. module: procurement +#: field:stock.warehouse.orderpoint,active:0 +msgid "Active" +msgstr "" + +#. module: procurement +#: model:process.node,name:procurement.process_node_procureproducts0 +msgid "Procure Products" +msgstr "" + +#. module: procurement +#: code:addons/procurement/procurement.py:312 +#, python-format +msgid "" +"Please check the quantity in procurement order(s) for the product \"%s\", it " +"should not be 0 or less!" +msgstr "" + +#. module: procurement +#: field:procurement.order,date_planned:0 +msgid "Scheduled date" +msgstr "" + +#. module: procurement +#: selection:procurement.order,state:0 +msgid "Exception" +msgstr "" + +#. module: procurement +#: view:product.product:0 +msgid "" +"When you sell this product, a delivery order will be created.\n" +" OpenERP will consider that the" +msgstr "" + +#. module: procurement +#: code:addons/procurement/schedulers.py:133 +#, python-format +msgid "Automatic OP: %s" +msgstr "" + +#. module: procurement +#: model:ir.model,name:procurement.model_procurement_orderpoint_compute +msgid "Automatic Order Point" +msgstr "" + +#. module: procurement +#: field:stock.warehouse.orderpoint,qty_multiple:0 +msgid "Qty Multiple" +msgstr "" + +#. module: procurement +#: help:stock.warehouse.orderpoint,qty_multiple:0 +msgid "The procurement quantity will be rounded up to this multiple." +msgstr "" + +#. module: procurement +#: model:ir.model,name:procurement.model_res_company +msgid "Companies" +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "Extra Information" +msgstr "" + +#. module: procurement +#: field:procurement.order,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: procurement +#: sql_constraint:stock.warehouse.orderpoint:0 +msgid "Qty Multiple must be greater than zero." +msgstr "" + +#. module: procurement +#: selection:stock.warehouse.orderpoint,logic:0 +msgid "Order to Max" +msgstr "" + +#. module: procurement +#: field:procurement.order,date_close:0 +msgid "Date Closed" +msgstr "" + +#. module: procurement +#: view:res.company:0 +msgid "Logistics" +msgstr "" + +#. module: procurement +#: help:product.template,procure_method:0 +msgid "" +"Make to Stock: When needed, the product is taken from the stock or we wait " +"for replenishment. \n" +"Make to Order: When needed, the product is purchased or produced." +msgstr "" + +#. module: procurement +#: field:mrp.property,composition:0 +msgid "Properties composition" +msgstr "" + +#. module: procurement +#: code:addons/procurement/procurement.py:311 +#, python-format +msgid "Data Insufficient !" +msgstr "" + +#. module: procurement +#: model:ir.model,name:procurement.model_mrp_property_group +#: field:mrp.property,group_id:0 +#: field:mrp.property.group,name:0 +msgid "Property Group" +msgstr "" + +#. module: procurement +#: view:stock.warehouse.orderpoint:0 +msgid "Misc" +msgstr "" + +#. module: procurement +#: field:stock.move,procurements:0 +msgid "Procurements" +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "Run Procurement" +msgstr "" + +#. module: procurement +#: selection:procurement.order,state:0 +msgid "Done" +msgstr "" + +#. module: procurement +#: view:make.procurement:0 +#: view:procurement.order.compute:0 +#: view:procurement.order.compute.all:0 +#: view:procurement.orderpoint.compute:0 +msgid "Cancel" +msgstr "" + +#. module: procurement +#: field:stock.warehouse.orderpoint,logic:0 +msgid "Reordering Mode" +msgstr "" + +#. module: procurement +#: field:procurement.order,origin:0 +msgid "Source Document" +msgstr "" + +#. module: procurement +#: selection:procurement.order,priority:0 +msgid "Not urgent" +msgstr "" + +#. module: procurement +#: model:ir.actions.act_window,name:procurement.product_open_orderpoint +#: view:product.product:0 +msgid "Orderpoints" +msgstr "" + +#. module: procurement +#: help:stock.warehouse.orderpoint,product_max_qty:0 +msgid "" +"When the virtual stock goes below the Min Quantity, OpenERP generates a " +"procurement to bring the forecasted quantity to the Quantity specified as " +"Max Quantity." +msgstr "" + +#. module: procurement +#: model:ir.model,name:procurement.model_procurement_order_compute_all +msgid "Compute all schedulers" +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "Late" +msgstr "" + +#. module: procurement +#: view:board.board:0 +msgid "Procurements in Exception" +msgstr "" + +#. module: procurement +#: model:ir.actions.act_window,name:procurement.procurement_action5 +#: model:ir.actions.act_window,name:procurement.procurement_action_board +#: model:ir.actions.act_window,name:procurement.procurement_exceptions +#: model:ir.ui.menu,name:procurement.menu_stock_procurement_action +#: view:procurement.order:0 +msgid "Procurement Exceptions" +msgstr "" + +#. module: procurement +#: field:product.product,orderpoint_ids:0 +msgid "Minimum Stock Rules" +msgstr "" + +#. module: procurement +#: view:make.procurement:0 +msgid "" +"Fill is this for to launch a procurement request for this\n" +" product. According to the product configuration, " +"this may\n" +" trigger a draft purchase order, a manufacturing " +"order or\n" +" a new task." +msgstr "" + +#. module: procurement +#: field:procurement.order,close_move:0 +msgid "Close Move at end" +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "Scheduled Date" +msgstr "" + +#. module: procurement +#: model:ir.model,name:procurement.model_product_product +#: field:make.procurement,product_id:0 +#: view:procurement.order:0 +#: field:procurement.order,product_id:0 +#: field:stock.warehouse.orderpoint,product_id:0 +msgid "Product" +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "Temporary" +msgstr "" + +#. module: procurement +#: field:mrp.property,description:0 +#: field:mrp.property.group,description:0 +#: field:procurement.order,name:0 +msgid "Description" +msgstr "" + +#. module: procurement +#: selection:procurement.order,priority:0 +msgid "Urgent" +msgstr "" + +#. module: procurement +#: selection:procurement.order,state:0 +msgid "Running" +msgstr "" + +#. module: procurement +#: model:process.node,name:procurement.process_node_serviceonorder0 +#: selection:procurement.order,procure_method:0 +#: selection:product.template,procure_method:0 +msgid "Make to Order" +msgstr "" + +#. module: procurement +#: field:product.template,supply_method:0 +msgid "Supply Method" +msgstr "" + +#. module: procurement +#: field:procurement.order,move_id:0 +msgid "Reservation" +msgstr "" + +#. module: procurement +#: model:process.node,note:procurement.process_node_procureproducts0 +msgid "The way to procurement depends on the product type." +msgstr "" + +#. module: procurement +#: view:product.product:0 +msgid "When you sell this product, OpenERP will" +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "Temporary Procurement Exceptions" +msgstr "" + +#. module: procurement +#: field:mrp.property,name:0 +#: field:stock.warehouse.orderpoint,name:0 +msgid "Name" +msgstr "" + +#. module: procurement +#: selection:mrp.property,composition:0 +msgid "max" +msgstr "" + +#. module: procurement +#: model:ir.actions.act_window,name:procurement.act_procurement_2_stock_warehouse_orderpoint +#: model:ir.actions.act_window,name:procurement.act_stock_warehouse_2_stock_warehouse_orderpoint +#: model:ir.actions.act_window,name:procurement.action_orderpoint_form +#: model:ir.ui.menu,name:procurement.menu_stock_order_points +#: view:stock.warehouse.orderpoint:0 +msgid "Reordering Rules" +msgstr "" + +#. module: procurement +#: code:addons/procurement/procurement.py:139 +#, python-format +msgid "Cannot delete Procurement Order(s) which are in %s state." +msgstr "" + +#. module: procurement +#: field:procurement.order,product_uos:0 +msgid "Product UoS" +msgstr "" + +#. module: procurement +#: model:ir.model,name:procurement.model_product_template +msgid "Product Template" +msgstr "" + +#. module: procurement +#: view:procurement.orderpoint.compute:0 +msgid "" +"Wizard checks all the stock minimum rules and generate procurement order." +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "Search Procurement" +msgstr "" + +#. module: procurement +#: help:res.company,schedule_range:0 +msgid "" +"This is the time frame analysed by the scheduler when computing " +"procurements. All procurements that are not between today and today+range " +"are skipped for future computation." +msgstr "" + +#. module: procurement +#: selection:procurement.order,priority:0 +msgid "Very Urgent" +msgstr "" + +#. module: procurement +#: field:procurement.orderpoint.compute,automatic:0 +msgid "Automatic Orderpoint" +msgstr "" + +#. module: procurement +#: help:procurement.order,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: procurement +#: view:procurement.order:0 +msgid "Procurement started late" +msgstr "" + +#. module: procurement +#: selection:mrp.property,composition:0 +msgid "min" +msgstr "" + +#. module: procurement +#: view:make.procurement:0 +#: view:procurement.order.compute:0 +#: view:procurement.order.compute.all:0 +#: view:procurement.orderpoint.compute:0 +msgid "or" +msgstr "" + +#. module: procurement +#: code:addons/procurement/schedulers.py:134 +#, python-format +msgid "SCHEDULER" +msgstr "" + +#. module: procurement +#: view:product.product:0 +msgid "Request Procurement" +msgstr "" + +#. module: procurement +#: code:addons/procurement/schedulers.py:87 +#, python-format +msgid "PROC %d: on order - %3.2f %-5s - %s" +msgstr "" + +#. module: procurement +#: code:addons/procurement/procurement.py:339 +#, python-format +msgid "Products reserved from stock." +msgstr "" diff --git a/addons/project/i18n/he.po b/addons/project/i18n/he.po new file mode 100644 index 00000000000..714693d9df4 --- /dev/null +++ b/addons/project/i18n/he.po @@ -0,0 +1,2109 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:04+0000\n" +"PO-Revision-Date: 2013-12-27 10:08+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-28 05:19+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: project +#: view:project.project:0 +msgid "Email Interface" +msgstr "" + +#. module: project +#: help:account.analytic.account,use_tasks:0 +msgid "" +"If checked, this contract will be available in the project menu and you will " +"be able to manage tasks or track issues" +msgstr "" + +#. module: project +#: field:project.project,progress_rate:0 +#: view:report.project.task.user:0 +#: field:report.project.task.user,progress:0 +msgid "Progress" +msgstr "" + +#. module: project +#: model:process.node,name:project.process_node_taskbydelegate0 +msgid "Task by delegate" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Parent" +msgstr "" + +#. module: project +#: model:ir.actions.act_window,name:project.dblc_proj +msgid "Project's tasks" +msgstr "" + +#. module: project +#: field:project.task.type,name:0 +msgid "Stage Name" +msgstr "" + +#. module: project +#: model:process.transition.action,name:project.process_transition_action_openpendingtask0 +msgid "Set pending" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "New Project Based on Template" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +#: field:report.project.task.user,day:0 +msgid "Day" +msgstr "" + +#. module: project +#: model:project.task.type,name:project.project_tt_merge +msgid "Merge" +msgstr "" + +#. module: project +#: view:res.partner:0 +msgid "Start Task" +msgstr "" + +#. module: project +#: code:addons/project/project.py:944 +#, python-format +msgid "Warning !" +msgstr "" + +#. module: project +#: help:project.project,message_unread:0 +#: help:project.task,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: project +#: model:process.node,name:project.process_node_donetask0 +msgid "Done task" +msgstr "" + +#. module: project +#: model:process.node,note:project.process_node_donetask0 +msgid "Task is Completed" +msgstr "" + +#. module: project +#: view:res.partner:0 +msgid "False" +msgstr "" + +#. module: project +#: model:project.task.type,name:project.project_tt_testing +msgid "Testing" +msgstr "" + +#. module: project +#: model:ir.model,name:project.model_account_analytic_account +msgid "Analytic Account" +msgstr "" + +#. module: project +#: field:project.config.settings,group_time_work_estimation_tasks:0 +msgid "Manage time estimation on tasks" +msgstr "" + +#. module: project +#: help:project.project,message_summary:0 +#: help:project.task,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: project +#: code:addons/project/project.py:444 +#: code:addons/project/project.py:1332 +#, python-format +msgid "Warning!" +msgstr "" + +#. module: project +#: model:ir.model,name:project.model_res_partner +msgid "Partner" +msgstr "" + +#. module: project +#: field:project.config.settings,group_manage_delegation_task:0 +msgid "Allow task delegation" +msgstr "" + +#. module: project +#: field:project.task.delegate,planned_hours:0 +#: view:report.project.task.user:0 +#: field:report.project.task.user,hours_planned:0 +msgid "Planned Hours" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Reset as Project" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +msgid "In progress tasks" +msgstr "" + +#. module: project +#: help:project.project,progress_rate:0 +msgid "Percent of tasks closed according to the total of tasks todo." +msgstr "" + +#. module: project +#: model:ir.actions.client,name:project.action_client_project_menu +msgid "Open Project Menu" +msgstr "" + +#. module: project +#: model:ir.actions.act_window,help:project.action_project_task_user_tree +msgid "" +"This report allows you to analyse the performance of your projects and " +"users. You can analyse the quantities of tasks, the hours spent compared to " +"the planned hours, the average number of days to open or close a task, etc." +msgstr "" + +#. module: project +#: view:project.task.delegate:0 +msgid "Validation Task Title" +msgstr "" + +#. module: project +#: model:res.groups,name:project.group_delegate_task +msgid "Task Delegation" +msgstr "" + +#. module: project +#: field:project.project,planned_hours:0 +#: field:project.task.history,planned_hours:0 +#: field:project.task.history.cumulative,planned_hours:0 +msgid "Planned Time" +msgstr "" + +#. module: project +#: selection:project.project,privacy_visibility:0 +msgid "Public" +msgstr "" + +#. module: project +#: model:project.category,name:project.project_category_01 +msgid "Contact's suggestion" +msgstr "" + +#. module: project +#: help:project.config.settings,group_time_work_estimation_tasks:0 +msgid "Allows you to compute Time Estimation on tasks." +msgstr "" + +#. module: project +#: field:report.project.task.user,user_id:0 +msgid "Assigned To" +msgstr "" + +#. module: project +#: model:mail.message.subtype,name:project.mt_project_task_closed +#: model:mail.message.subtype,name:project.mt_task_closed +msgid "Task Done" +msgstr "" + +#. module: project +#: view:project.project:0 +#: view:report.project.task.user:0 +#: field:report.project.task.user,partner_id:0 +msgid "Contact" +msgstr "" + +#. module: project +#: model:process.transition,name:project.process_transition_delegate0 +#: view:project.task:0 +msgid "Delegate" +msgstr "" + +#. module: project +#: model:ir.actions.act_window,name:project.open_view_template_project +#: view:project.project:0 +msgid "Templates of Projects" +msgstr "" + +#. module: project +#: field:project.project,analytic_account_id:0 +msgid "Contract/Analytic" +msgstr "" + +#. module: project +#: view:project.config.settings:0 +msgid "Project Management" +msgstr "" + +#. module: project +#: model:ir.actions.act_window,name:project.action_project_task_delegate +#: view:project.task.delegate:0 +msgid "Project Task Delegate" +msgstr "" + +#. module: project +#: model:mail.message.subtype,name:project.mt_project_task_started +#: model:mail.message.subtype,name:project.mt_task_started +msgid "Task Started" +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "Very Important" +msgstr "" + +#. module: project +#: view:project.config.settings:0 +msgid "Support" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Member" +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "Cancel Task" +msgstr "" + +#. module: project +#: help:project.project,members:0 +msgid "" +"Project's members are users who can have an access to the tasks related to " +"this project." +msgstr "" + +#. module: project +#: view:project.project:0 +#: field:project.task,manager_id:0 +msgid "Project Manager" +msgstr "" + +#. module: project +#: field:project.project,state:0 +#: field:project.task,state:0 +#: field:project.task.history,state:0 +#: field:project.task.history.cumulative,state:0 +#: field:report.project.task.user,state:0 +msgid "Status" +msgstr "" + +#. module: project +#: selection:report.project.task.user,month:0 +msgid "August" +msgstr "" + +#. module: project +#: view:project.project:0 +#: field:project.project,complete_name:0 +msgid "Project Name" +msgstr "" + +#. module: project +#: selection:report.project.task.user,month:0 +msgid "June" +msgstr "" + +#. module: project +#: selection:report.project.task.user,month:0 +msgid "October" +msgstr "" + +#. module: project +#: help:project.project,total_hours:0 +msgid "" +"Sum of total hours of all tasks related to this project and its child " +"projects." +msgstr "" + +#. module: project +#: help:project.project,active:0 +msgid "" +"If the active field is set to False, it will allow you to hide the project " +"without removing it." +msgstr "" + +#. module: project +#: model:process.transition,note:project.process_transition_opendonetask0 +msgid "When task is completed, it will come into the done state." +msgstr "" + +#. module: project +#: field:project.project,message_summary:0 +#: field:project.task,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Append this project to another one using analytic accounts hierarchy" +msgstr "" + +#. module: project +#: view:project.task:0 +#: view:project.task.history.cumulative:0 +msgid "In Progress Tasks" +msgstr "" + +#. module: project +#: help:res.company,project_time_mode_id:0 +msgid "" +"This will set the unit of measure used in projects and tasks.\n" +"If you use the timesheet linked to projects (project_timesheet module), " +"don't forget to setup the right unit of measure in your employees." +msgstr "" + +#. module: project +#: field:project.task,user_id:0 +#: view:report.project.task.user:0 +msgid "Assigned to" +msgstr "" + +#. module: project +#: code:addons/project/project.py:1033 +#, python-format +msgid "Delegated User should be specified" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Project(s) Manager" +msgstr "" + +#. module: project +#: selection:project.project,state:0 +#: view:project.task:0 +#: selection:project.task,state:0 +#: selection:project.task.history,state:0 +#: selection:project.task.history.cumulative,state:0 +#: selection:project.task.type,state:0 +#: selection:report.project.task.user,state:0 +msgid "In Progress" +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "Reactivate" +msgstr "" + +#. module: project +#: field:project.project,resource_calendar_id:0 +msgid "Working Time" +msgstr "" + +#. module: project +#: model:ir.actions.act_window,name:project.action_project_task_reevaluate +msgid "Re-evaluate Task" +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "Validate planned time" +msgstr "" + +#. module: project +#: field:project.config.settings,module_pad:0 +msgid "Use integrated collaborative note pads on task" +msgstr "" + +#. module: project +#: model:mail.message.subtype,name:project.mt_project_task_blocked +#: model:mail.message.subtype,name:project.mt_task_blocked +msgid "Task Blocked" +msgstr "" + +#. module: project +#: model:process.node,note:project.process_node_opentask0 +msgid "Encode your working hours." +msgstr "" + +#. module: project +#: field:project.project,alias_id:0 +msgid "Alias" +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "oe_kanban_text_red" +msgstr "" + +#. module: project +#: model:mail.message.subtype,description:project.mt_task_blocked +msgid "Task blocked" +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "Delegation" +msgstr "" + +#. module: project +#: field:project.task,create_date:0 +msgid "Create Date" +msgstr "" + +#. module: project +#: view:res.partner:0 +msgid "For changing to open state" +msgstr "" + +#. module: project +#: view:project.config.settings:0 +msgid "Apply" +msgstr "" + +#. module: project +#: model:ir.model,name:project.model_project_task_delegate +msgid "Task Delegate" +msgstr "" + +#. module: project +#: help:project.task.delegate,new_task_description:0 +msgid "Reinclude the description of the task in the task of the user" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Project Settings" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +msgid "My tasks" +msgstr "" + +#. module: project +#: model:process.transition,name:project.process_transition_opendonetask0 +msgid "Open Done Task" +msgstr "" + +#. module: project +#: field:project.task.delegate,planned_hours_me:0 +msgid "Hours to Validate" +msgstr "" + +#. module: project +#: help:project.task,remaining_hours:0 +msgid "" +"Total remaining time, can be re-estimated periodically by the assignee of " +"the task." +msgstr "" + +#. module: project +#: selection:report.project.task.user,month:0 +msgid "March" +msgstr "" + +#. module: project +#: view:board.board:0 +#: model:ir.actions.act_window,name:project.my_open_tasks_action +#: view:project.task:0 +#: view:project.task.history.cumulative:0 +msgid "My Tasks" +msgstr "" + +#. module: project +#: constraint:project.task:0 +msgid "Error ! You cannot create recursive tasks." +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +msgid "Pending tasks" +msgstr "" + +#. module: project +#: view:project.task.reevaluate:0 +msgid "_Evaluate" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +#: field:report.project.task.user,opening_days:0 +msgid "Days to Open" +msgstr "" + +#. module: project +#: selection:report.project.task.user,priority:0 +msgid "Very urgent" +msgstr "" + +#. module: project +#: help:project.task.delegate,project_id:0 +#: help:project.task.delegate,user_id:0 +msgid "User you want to delegate this task to" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Set as Template" +msgstr "" + +#. module: project +#: model:ir.model,name:project.model_project_task +#: view:project.config.settings:0 +#: view:project.project:0 +#: view:project.task:0 +#: field:project.task.history,task_id:0 +#: field:project.task.history.cumulative,task_id:0 +#: field:project.task.work,task_id:0 +#: view:report.project.task.user:0 +msgid "Task" +msgstr "" + +#. module: project +#: help:project.config.settings,group_tasks_work_on_tasks:0 +msgid "Allows you to compute work on tasks." +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Administration" +msgstr "" + +#. module: project +#: field:project.config.settings,group_tasks_work_on_tasks:0 +msgid "Log work activities on tasks" +msgstr "" + +#. module: project +#: model:project.task.type,name:project.project_tt_analysis +msgid "Analysis" +msgstr "" + +#. module: project +#: field:project.task,name:0 +#: field:report.project.task.user,name:0 +msgid "Task Summary" +msgstr "" + +#. module: project +#: field:project.task,active:0 +msgid "Not a Template Task" +msgstr "" + +#. module: project +#: field:project.task,planned_hours:0 +msgid "Initially Planned Hours" +msgstr "" + +#. module: project +#: model:process.transition,note:project.process_transition_delegate0 +msgid "Delegates tasks to the other user" +msgstr "" + +#. module: project +#: help:project.task,effective_hours:0 +msgid "Computed using the sum of the task work done." +msgstr "" + +#. module: project +#: model:ir.actions.act_window,help:project.open_view_project_all +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to start a new project.\n" +" </p><p>\n" +" Projects are used to organize your activities; plan\n" +" tasks, track issues, invoice timesheets. You can define\n" +" internal projects (R&D, Improve Sales Process),\n" +" private projects (My Todos) or customer ones.\n" +" </p><p>\n" +" You will be able collaborate with internal users on\n" +" projects or invite customers to share your activities.\n" +" </p>\n" +" " +msgstr "" + +#. module: project +#: view:project.config.settings:0 +msgid "Planning" +msgstr "" + +#. module: project +#: view:project.task:0 +#: field:project.task,date_deadline:0 +#: field:report.project.task.user,date_deadline:0 +msgid "Deadline" +msgstr "" + +#. module: project +#: view:project.task.history.cumulative:0 +msgid "Ready" +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "New Tasks" +msgstr "" + +#. module: project +#: field:project.config.settings,module_project_issue_sheet:0 +msgid "Invoice working time on issues" +msgstr "" + +#. module: project +#: view:project.project:0 +#: view:project.task:0 +#: field:project.task.history,end_date:0 +#: field:project.task.history.cumulative,end_date:0 +msgid "End Date" +msgstr "" + +#. module: project +#: model:project.task.type,name:project.project_tt_specification +msgid "Specification" +msgstr "" + +#. module: project +#: model:process.transition,note:project.process_transition_draftopentask0 +msgid "From draft state, it will come into the open state." +msgstr "" + +#. module: project +#: view:project.task.history.cumulative:0 +msgid "Task's Analysis" +msgstr "" + +#. module: project +#: view:project.task.delegate:0 +#: field:project.task.delegate,new_task_description:0 +msgid "New Task Description" +msgstr "" + +#. module: project +#: field:report.project.task.user,delay_endings_days:0 +msgid "Overpassed Deadline" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +msgid "New tasks" +msgstr "" + +#. module: project +#: selection:project.task,priority:0 +#: selection:report.project.task.user,priority:0 +msgid "Medium" +msgstr "" + +#. module: project +#: field:project.project,total_hours:0 +msgid "Total Time" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +msgid "Creation Date" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Miscellaneous" +msgstr "" + +#. module: project +#: view:project.task:0 +#: field:project.task,stage_id:0 +#: field:project.task.history,type_id:0 +#: field:project.task.history.cumulative,type_id:0 +msgid "Stage" +msgstr "" + +#. module: project +#: model:process.transition,name:project.process_transition_draftopentask0 +msgid "Draft Open task" +msgstr "" + +#. module: project +#: field:project.project,alias_model:0 +msgid "Alias Model" +msgstr "" + +#. module: project +#: help:report.project.task.user,closing_days:0 +msgid "Number of Days to close the task" +msgstr "" + +#. module: project +#: view:board.board:0 +msgid "My Board" +msgstr "" + +#. module: project +#: model:ir.actions.act_window,name:project.open_task_type_form +msgid "Stages" +msgstr "" + +#. module: project +#: view:project.project:0 +#: view:project.task:0 +msgid "Delete" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +msgid "In progress" +msgstr "" + +#. module: project +#: selection:report.project.task.user,month:0 +msgid "September" +msgstr "" + +#. module: project +#: selection:report.project.task.user,priority:0 +msgid "Urgent" +msgstr "" + +#. module: project +#: model:project.category,name:project.project_category_02 +msgid "Feature request" +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "Delegated tasks" +msgstr "" + +#. module: project +#: model:ir.model,name:project.model_project_task_work +msgid "Project Task Work" +msgstr "" + +#. module: project +#: code:addons/project/wizard/project_task_delegate.py:81 +#, python-format +msgid "CHECK: %s" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Close Project" +msgstr "" + +#. module: project +#: field:project.project,tasks:0 +msgid "Task Activities" +msgstr "" + +#. module: project +#: field:project.project,effective_hours:0 +#: field:project.task.work,hours:0 +msgid "Time Spent" +msgstr "" + +#. module: project +#: view:project.project:0 +#: view:project.task:0 +msgid "í" +msgstr "" + +#. module: project +#: field:account.analytic.account,company_uom_id:0 +msgid "unknown" +msgstr "" + +#. module: project +#: field:project.project,message_is_follower:0 +#: field:project.task,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: project +#: field:project.task,work_ids:0 +msgid "Work done" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +msgid "Extended Filters..." +msgstr "" + +#. module: project +#: model:ir.ui.menu,name:project.menu_tasks_config +msgid "GTD" +msgstr "" + +#. module: project +#: help:project.task,state:0 +msgid "" +"The status is set to 'Draft', when a case is created. " +"If the case is in progress the status is set to 'Open'. " +"When the case is over, the status is set to 'Done'. If " +"the case needs to be reviewed then the status is set " +"to 'Pending'." +msgstr "" + +#. module: project +#: model:ir.model,name:project.model_res_company +msgid "Companies" +msgstr "" + +#. module: project +#: field:project.task.type,fold:0 +msgid "Folded by Default" +msgstr "" + +#. module: project +#: field:project.task.history,date:0 +#: field:project.task.history.cumulative,date:0 +#: field:project.task.work,date:0 +msgid "Date" +msgstr "" + +#. module: project +#: help:project.config.settings,module_project_issue:0 +msgid "" +"Provides management of issues/bugs in projects.\n" +" This installs the module project_issue." +msgstr "" + +#. module: project +#: help:project.task,kanban_state:0 +msgid "" +"A task's kanban state indicates special situations affecting it:\n" +" * Normal is the default situation\n" +" * Blocked indicates something is preventing the progress of this task\n" +" * Ready for next stage indicates the task is ready to be pulled to the next " +"stage" +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "10" +msgstr "" + +#. module: project +#: help:project.project,analytic_account_id:0 +msgid "" +"Link this project to an analytic account if you need financial management on " +"projects. It enables you to connect projects with budgets, planning, cost " +"and revenue analysis, timesheets on projects, etc." +msgstr "" + +#. module: project +#: model:process.transition.action,name:project.process_transition_action_draftcanceltask0 +#: model:process.transition.action,name:project.process_transition_action_opencanceltask0 +#: view:project.config.settings:0 +#: view:project.task.delegate:0 +#: view:project.task.reevaluate:0 +msgid "Cancel" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Other Info" +msgstr "" + +#. module: project +#: view:project.task.delegate:0 +msgid "_Delegate" +msgstr "" + +#. module: project +#: selection:project.task,priority:0 +#: selection:report.project.task.user,priority:0 +msgid "Very Low" +msgstr "" + +#. module: project +#: help:project.project,effective_hours:0 +msgid "" +"Sum of spent hours of all tasks related to this project and its child " +"projects." +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "" +"Follow this project to automatically track the events associated to tasks " +"and issues of this project." +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "Users" +msgstr "" + +#. module: project +#: model:mail.message.subtype,name:project.mt_task_stage +msgid "Stage Changed" +msgstr "" + +#. module: project +#: view:project.project:0 +#: model:res.groups,name:project.group_project_manager +msgid "Manager" +msgstr "" + +#. module: project +#: selection:project.task,priority:0 +msgid "Important" +msgstr "" + +#. module: project +#: field:project.category,name:0 +msgid "Name" +msgstr "" + +#. module: project +#: selection:report.project.task.user,month:0 +msgid "November" +msgstr "" + +#. module: project +#: view:project.task.reevaluate:0 +msgid "Reevaluate Task" +msgstr "" + +#. module: project +#: model:ir.model,name:project.model_project_task_type +#: view:project.task.type:0 +msgid "Task Stage" +msgstr "" + +#. module: project +#: view:project.task.type:0 +msgid "Common" +msgstr "" + +#. module: project +#: help:project.project,message_ids:0 +#: help:project.task,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "" +"To invoice or setup invoicing and renewal options, go to the related " +"contract:" +msgstr "" + +#. module: project +#: field:project.task.delegate,state:0 +msgid "Validation State" +msgstr "" + +#. module: project +#: field:project.task.work,name:0 +msgid "Work summary" +msgstr "" + +#. module: project +#: view:project.project:0 +#: view:project.task:0 +#: view:report.project.task.user:0 +msgid "Group By..." +msgstr "" + +#. module: project +#: view:project.project:0 +#: selection:project.project,state:0 +msgid "Template" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Re-open project" +msgstr "" + +#. module: project +#: help:project.project,priority:0 +msgid "Gives the sequence order when displaying the list of projects" +msgstr "" + +#. module: project +#: constraint:project.project:0 +msgid "Error! project start-date must be lower then project end-date." +msgstr "" + +#. module: project +#: field:project.project,members:0 +msgid "Project Members" +msgstr "" + +#. module: project +#: field:project.task,child_ids:0 +msgid "Delegated Tasks" +msgstr "" + +#. module: project +#: view:project.project:0 +#: field:project.project,message_unread:0 +#: view:project.task:0 +#: field:project.task,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: project +#: view:project.task:0 +#: field:project.task,parent_ids:0 +msgid "Parent Tasks" +msgstr "" + +#. module: project +#: model:process.node,name:project.process_node_opentask0 +msgid "Open task" +msgstr "" + +#. module: project +#: view:project.task.type:0 +msgid "Stages common to all projects" +msgstr "" + +#. module: project +#: model:process.node,name:project.process_node_drafttask0 +msgid "Draft task" +msgstr "" + +#. module: project +#: field:project.task,notes:0 +msgid "Notes" +msgstr "" + +#. module: project +#: view:project.task:0 +#: view:project.task.history.cumulative:0 +msgid "Pending Tasks" +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "Show only tasks having a deadline" +msgstr "" + +#. module: project +#: model:project.category,name:project.project_category_04 +msgid "Usability" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +#: field:report.project.task.user,hours_delay:0 +msgid "Avg. Plan.-Eff." +msgstr "" + +#. module: project +#: field:project.task.work,user_id:0 +msgid "Done by" +msgstr "" + +#. module: project +#: code:addons/project/project.py:181 +#, python-format +msgid "Invalid Action!" +msgstr "" + +#. module: project +#: help:project.task.type,state:0 +msgid "" +"The status of your document is automatically changed regarding the selected " +"stage. For example, if a stage is related to the status 'Close', when your " +"document reaches this stage, it is automatically closed." +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "Extra Info" +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "Edit..." +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +#: field:report.project.task.user,nbr:0 +msgid "# of tasks" +msgstr "" + +#. module: project +#: field:project.project,doc_count:0 +msgid "Number of documents attached" +msgstr "" + +#. module: project +#: field:project.task,priority:0 +#: field:report.project.task.user,priority:0 +msgid "Priority" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Open Projects" +msgstr "" + +#. module: project +#: help:project.project,alias_id:0 +msgid "" +"Internal email associated with this project. Incoming emails are " +"automatically synchronizedwith Tasks (or optionally Issues if the Issue " +"Tracker module is installed)." +msgstr "" + +#. module: project +#: model:ir.actions.act_window,help:project.open_task_type_form +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to add a stage in the task pipeline.\n" +" </p><p>\n" +" Define the steps that will be used in the project from the\n" +" creation of the task, up to the closing of the task or " +"issue.\n" +" You will use these stages in order to track the progress in\n" +" solving a task or an issue.\n" +" </p>\n" +" " +msgstr "" + +#. module: project +#: help:project.task,total_hours:0 +msgid "Computed as: Time Spent + Remaining Time." +msgstr "" + +#. module: project +#: code:addons/project/project.py:368 +#: code:addons/project/project.py:389 +#: code:addons/project/project.py:721 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: project +#: model:mail.message.subtype,name:project.mt_project_task_stage +msgid "Task Stage Changed" +msgstr "" + +#. module: project +#: view:project.task:0 +#: field:project.task.history,remaining_hours:0 +#: field:project.task.history.cumulative,remaining_hours:0 +msgid "Remaining Time" +msgstr "" + +#. module: project +#: field:project.task.delegate,name:0 +msgid "Delegated Title" +msgstr "" + +#. module: project +#: selection:report.project.task.user,month:0 +msgid "July" +msgstr "" + +#. module: project +#: model:ir.model,name:project.model_project_task_reevaluate +msgid "project.task.reevaluate" +msgstr "" + +#. module: project +#: field:project.task,delay_hours:0 +msgid "Delay Hours" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Team" +msgstr "" + +#. module: project +#: help:project.config.settings,time_unit:0 +msgid "This will set the unit of measure used in projects and tasks." +msgstr "" + +#. module: project +#: selection:project.task,priority:0 +msgid "Very important" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +#: field:report.project.task.user,month:0 +msgid "Month" +msgstr "" + +#. module: project +#: model:project.task.type,name:project.project_tt_design +msgid "Design" +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "Start Date" +msgstr "" + +#. module: project +#: view:project.task:0 +#: selection:project.task,kanban_state:0 +#: selection:project.task.history,kanban_state:0 +#: view:project.task.history.cumulative:0 +#: selection:project.task.history.cumulative,kanban_state:0 +msgid "Blocked" +msgstr "" + +#. module: project +#: help:project.task,progress:0 +msgid "" +"If the task has a progress of 99.99% you should close the task if it's " +"finished or reevaluate the time" +msgstr "" + +#. module: project +#: field:project.task,user_email:0 +msgid "User Email" +msgstr "" + +#. module: project +#: help:project.task.delegate,prefix:0 +msgid "Title for your validation task" +msgstr "" + +#. module: project +#: field:project.config.settings,time_unit:0 +msgid "Working time unit" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Projects in which I am a member." +msgstr "" + +#. module: project +#: selection:project.task,priority:0 +#: selection:report.project.task.user,priority:0 +msgid "Low" +msgstr "" + +#. module: project +#: selection:project.project,state:0 +msgid "Closed" +msgstr "" + +#. module: project +#: view:project.project:0 +#: selection:project.project,state:0 +#: view:project.task:0 +#: selection:project.task,state:0 +#: selection:project.task.delegate,state:0 +#: selection:project.task.history,state:0 +#: selection:project.task.history.cumulative,state:0 +#: selection:project.task.type,state:0 +#: view:report.project.task.user:0 +#: selection:report.project.task.user,state:0 +msgid "Pending" +msgstr "" + +#. module: project +#: model:ir.actions.act_window,name:project.project_category_action +#: model:ir.ui.menu,name:project.menu_project_category_act +#: view:project.category:0 +#: field:project.task,categ_ids:0 +msgid "Tags" +msgstr "" + +#. module: project +#: model:ir.model,name:project.model_project_task_history +#: model:ir.model,name:project.model_project_task_history_cumulative +msgid "History of Tasks" +msgstr "" + +#. module: project +#: help:project.task.delegate,state:0 +msgid "" +"New state of your own task. Pending will be reopened automatically when the " +"delegated task is closed" +msgstr "" + +#. module: project +#: help:project.config.settings,group_manage_delegation_task:0 +msgid "Allows you to delegate tasks to other users." +msgstr "" + +#. module: project +#: field:project.project,active:0 +msgid "Active" +msgstr "" + +#. module: project +#: model:ir.model,name:project.model_project_category +msgid "Category of project's task, issue, ..." +msgstr "" + +#. module: project +#: help:project.project,resource_calendar_id:0 +msgid "Timetable working hours to adjust the gantt diagram report" +msgstr "" + +#. module: project +#: help:project.task,delay_hours:0 +msgid "" +"Computed as difference between planned hours by the project manager and the " +"total hours of the task." +msgstr "" + +#. module: project +#: view:project.config.settings:0 +msgid "Helpdesk & Support" +msgstr "" + +#. module: project +#: help:report.project.task.user,opening_days:0 +msgid "Number of Days to Open the task" +msgstr "" + +#. module: project +#: field:project.task,delegated_user_id:0 +msgid "Delegated To" +msgstr "" + +#. module: project +#: help:project.task,planned_hours:0 +msgid "" +"Estimated time to do the task, usually set by the project manager when the " +"task is in draft state." +msgstr "" + +#. module: project +#: code:addons/project/project.py:230 +#, python-format +msgid "Attachments" +msgstr "" + +#. module: project +#: view:project.task:0 +#: selection:project.task,state:0 +#: selection:project.task.delegate,state:0 +#: selection:project.task.history,state:0 +#: selection:project.task.history.cumulative,state:0 +#: model:project.task.type,name:project.project_tt_deployment +#: selection:project.task.type,state:0 +#: view:report.project.task.user:0 +#: selection:report.project.task.user,state:0 +#: view:res.partner:0 +msgid "Done" +msgstr "" + +#. module: project +#: code:addons/project/project.py:182 +#, python-format +msgid "" +"You cannot delete a project containing tasks. You can either delete all the " +"project's tasks and then delete the project or simply deactivate the project." +msgstr "" + +#. module: project +#: model:process.transition.action,name:project.process_transition_action_draftopentask0 +#: view:project.project:0 +msgid "Open" +msgstr "" + +#. module: project +#: field:project.project,privacy_visibility:0 +msgid "Privacy / Visibility" +msgstr "" + +#. module: project +#: view:project.task:0 +#: field:project.task,remaining_hours:0 +#: field:project.task.reevaluate,remaining_hours:0 +#: view:report.project.task.user:0 +#: field:report.project.task.user,remaining_hours:0 +msgid "Remaining Hours" +msgstr "" + +#. module: project +#: model:mail.message.subtype,description:project.mt_task_stage +msgid "Stage changed" +msgstr "" + +#. module: project +#: constraint:project.task:0 +msgid "Error ! Task end-date must be greater then task start-date" +msgstr "" + +#. module: project +#: field:project.task.history,user_id:0 +#: field:project.task.history.cumulative,user_id:0 +msgid "Responsible" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Search Project" +msgstr "" + +#. module: project +#: view:project.task.delegate:0 +msgid "Delegated Task" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +#: field:report.project.task.user,total_hours:0 +msgid "Total Hours" +msgstr "" + +#. module: project +#: model:ir.model,name:project.model_project_config_settings +msgid "project.config.settings" +msgstr "" + +#. module: project +#: model:project.task.type,name:project.project_tt_development +msgid "Development" +msgstr "" + +#. module: project +#: help:project.task,active:0 +msgid "" +"This field is computed automatically and have the same behavior than the " +"boolean 'active' field: if the task is linked to a template or unactivated " +"project, it will be hidden unless specifically asked." +msgstr "" + +#. module: project +#: model:res.request.link,name:project.req_link_task +msgid "Project task" +msgstr "" + +#. module: project +#: field:project.task,effective_hours:0 +msgid "Hours Spent" +msgstr "" + +#. module: project +#: help:project.config.settings,module_pad:0 +msgid "" +"Lets the company customize which Pad installation should be used to link to " +"new pads\n" +" (by default, http://ietherpad.com/).\n" +" This installs the module pad." +msgstr "" + +#. module: project +#: field:project.task,id:0 +msgid "ID" +msgstr "" + +#. module: project +#: model:ir.actions.act_window,name:project.action_view_task_overpassed_draft +msgid "Overpassed Tasks" +msgstr "" + +#. module: project +#: code:addons/project/project.py:944 +#, python-format +msgid "" +"Child task still open.\n" +"Please cancel or complete child task first." +msgstr "" + +#. module: project +#: field:project.task.delegate,user_id:0 +msgid "Assign To" +msgstr "" + +#. module: project +#: model:res.groups,name:project.group_time_work_estimation_tasks +msgid "Time Estimation on Tasks" +msgstr "" + +#. module: project +#: field:project.task,total_hours:0 +msgid "Total" +msgstr "" + +#. module: project +#: model:process.node,note:project.process_node_taskbydelegate0 +msgid "Delegate your task to the other user" +msgstr "" + +#. module: project +#: model:mail.message.subtype,description:project.mt_task_started +msgid "Task started" +msgstr "" + +#. module: project +#: help:project.task.reevaluate,remaining_hours:0 +msgid "Put here the remaining hours required to close the task." +msgstr "" + +#. module: project +#: help:project.task.type,fold:0 +msgid "" +"This stage is not visible, for example in status bar or kanban view, when " +"there are no records in that stage to display." +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "Deadlines" +msgstr "" + +#. module: project +#: code:addons/project/wizard/project_task_delegate.py:69 +#: code:addons/project/wizard/project_task_delegate.py:70 +#: code:addons/project/wizard/project_task_delegate.py:77 +#: code:addons/project/wizard/project_task_delegate.py:78 +#, python-format +msgid "CHECK: " +msgstr "" + +#. module: project +#: code:addons/project/project.py:444 +#, python-format +msgid "You must assign members on the project '%s' !" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Pending Projects" +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "Remaining" +msgstr "" + +#. module: project +#: field:project.task,progress:0 +msgid "Progress (%)" +msgstr "" + +#. module: project +#: field:project.task,company_id:0 +#: field:project.task.work,company_id:0 +#: view:report.project.task.user:0 +#: field:report.project.task.user,company_id:0 +msgid "Company" +msgstr "" + +#. module: project +#: help:project.config.settings,module_project_timesheet:0 +msgid "" +"This allows you to transfer the entries under tasks defined for Project " +"Management to\n" +" the timesheet line entries for particular date and user, " +"with the effect of creating,\n" +" editing and deleting either ways.\n" +" This installs the module project_timesheet." +msgstr "" + +#. module: project +#: field:project.config.settings,module_project_issue:0 +msgid "Track issues and bugs" +msgstr "" + +#. module: project +#: field:project.config.settings,module_project_mrp:0 +msgid "Generate tasks from sale orders" +msgstr "" + +#. module: project +#: model:ir.ui.menu,name:project.menu_task_types_view +msgid "Task Stages" +msgstr "" + +#. module: project +#: model:process.node,note:project.process_node_drafttask0 +msgid "Define the Requirements and Set Planned Hours." +msgstr "" + +#. module: project +#: field:project.project,message_ids:0 +#: field:project.task,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: project +#: field:project.project,color:0 +#: field:project.task,color:0 +msgid "Color Index" +msgstr "" + +#. module: project +#: model:ir.actions.act_window,name:project.open_board_project +#: model:ir.model,name:project.model_project_project +#: model:ir.ui.menu,name:project.menu_project_dashboard +#: model:ir.ui.menu,name:project.menu_project_management +#: view:project.project:0 +#: view:project.task:0 +#: field:project.task,project_id:0 +#: field:project.task.delegate,project_id:0 +#: field:project.task.history.cumulative,project_id:0 +#: view:report.project.task.user:0 +#: field:report.project.task.user,project_id:0 +#: model:res.request.link,name:project.req_link_project +msgid "Project" +msgstr "" + +#. module: project +#: selection:project.project,state:0 +#: selection:project.task,state:0 +#: selection:project.task.history,state:0 +#: selection:project.task.history.cumulative,state:0 +#: model:project.task.type,name:project.project_tt_cancel +#: selection:project.task.type,state:0 +#: selection:report.project.task.user,state:0 +msgid "Cancelled" +msgstr "" + +#. module: project +#: model:ir.actions.act_window,help:project.act_project_project_2_project_task_all +#: model:ir.actions.act_window,help:project.action_view_task +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a new task.\n" +" </p><p>\n" +" OpenERP's project management allows you to manage the " +"pipeline\n" +" of tasks in order to get things done efficiently. You can\n" +" track progress, discuss on tasks, attach documents, etc.\n" +" </p>\n" +" " +msgstr "" + +#. module: project +#: field:project.task,date_end:0 +#: field:report.project.task.user,date_end:0 +msgid "Ending Date" +msgstr "" + +#. module: project +#: field:project.task.type,state:0 +msgid "Related Status" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Documents" +msgstr "" + +#. module: project +#: model:mail.message.subtype,description:project.mt_task_new +msgid "Task created" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +#: field:report.project.task.user,no_of_days:0 +msgid "# of Days" +msgstr "" + +#. module: project +#: field:project.project,message_follower_ids:0 +#: field:project.task,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: project +#: selection:project.project,state:0 +#: view:project.task:0 +#: selection:project.task,state:0 +#: selection:project.task.history,state:0 +#: selection:project.task.history.cumulative,state:0 +#: selection:project.task.type,state:0 +#: view:report.project.task.user:0 +msgid "New" +msgstr "" + +#. module: project +#: model:ir.actions.act_window,name:project.action_view_task_history_cumulative +#: model:ir.ui.menu,name:project.menu_action_view_task_history_cumulative +msgid "Cumulative Flow" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +#: field:report.project.task.user,hours_effective:0 +msgid "Effective Hours" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +msgid "OverPass delay" +msgstr "" + +#. module: project +#: view:project.task.delegate:0 +msgid "Validation Task" +msgstr "" + +#. module: project +#: field:project.config.settings,module_project_long_term:0 +msgid "Manage resources planning on gantt view" +msgstr "" + +#. module: project +#: view:project.task:0 +#: view:project.task.history.cumulative:0 +msgid "Unassigned Tasks" +msgstr "" + +#. module: project +#: help:project.project,planned_hours:0 +msgid "" +"Sum of planned hours of all tasks related to this project and its child " +"projects." +msgstr "" + +#. module: project +#: view:res.partner:0 +msgid "For changing to done state" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +msgid "My Task" +msgstr "" + +#. module: project +#: view:project.task:0 +#: view:project.task.history.cumulative:0 +#: view:report.project.task.user:0 +msgid "My Projects" +msgstr "" + +#. module: project +#: help:project.task,sequence:0 +msgid "Gives the sequence order when displaying a list of tasks." +msgstr "" + +#. module: project +#: field:project.task,date_start:0 +#: field:report.project.task.user,date_start:0 +msgid "Starting Date" +msgstr "" + +#. module: project +#: code:addons/project/project.py:410 +#: model:ir.actions.act_window,name:project.open_view_project_all +#: model:ir.ui.menu,name:project.menu_projects +#: view:project.project:0 +#: field:project.task.type,project_ids:0 +#: view:res.company:0 +#, python-format +msgid "Projects" +msgstr "" + +#. module: project +#: model:res.groups,name:project.group_tasks_work_on_tasks +msgid "Task's Work on Tasks" +msgstr "" + +#. module: project +#: help:project.task.delegate,name:0 +msgid "New title of the task delegated to the user" +msgstr "" + +#. module: project +#: model:ir.actions.act_window,name:project.action_project_task_user_tree +#: model:ir.ui.menu,name:project.menu_project_task_user_tree +#: view:report.project.task.user:0 +msgid "Tasks Analysis" +msgstr "" + +#. module: project +#: view:project.task:0 +#: view:project.task.history.cumulative:0 +msgid "Project Tasks" +msgstr "" + +#. module: project +#: field:account.analytic.account,use_tasks:0 +#: model:ir.actions.act_window,name:project.act_project_project_2_project_task_all +#: model:ir.actions.act_window,name:project.action_view_task +#: model:ir.ui.menu,name:project.menu_action_view_task +#: model:process.process,name:project.process_process_tasksprocess0 +#: view:project.project:0 +#: view:project.task:0 +#: view:res.partner:0 +#: field:res.partner,task_ids:0 +msgid "Tasks" +msgstr "" + +#. module: project +#: selection:report.project.task.user,month:0 +msgid "December" +msgstr "" + +#. module: project +#: view:project.config.settings:0 +#: view:project.task.delegate:0 +#: view:project.task.reevaluate:0 +msgid "or" +msgstr "" + +#. module: project +#: help:project.config.settings,module_project_mrp:0 +msgid "" +"This feature automatically creates project tasks from service products in " +"sale orders.\n" +" More precisely, tasks are created for procurement lines with " +"product of type 'Service',\n" +" procurement method 'Make to Order', and supply method " +"'Manufacture'.\n" +" This installs the module project_mrp." +msgstr "" + +#. module: project +#: help:project.task.delegate,planned_hours:0 +msgid "Estimated time to close this task by the delegated user" +msgstr "" + +#. module: project +#: model:project.category,name:project.project_category_03 +msgid "Experiment" +msgstr "" + +#. module: project +#: model:process.transition.action,name:project.process_transition_action_opendrafttask0 +#: selection:report.project.task.user,state:0 +msgid "Draft" +msgstr "" + +#. module: project +#: field:project.task,kanban_state:0 +#: field:project.task.history,kanban_state:0 +#: field:project.task.history.cumulative,kanban_state:0 +msgid "Kanban State" +msgstr "" + +#. module: project +#: field:project.config.settings,module_project_timesheet:0 +msgid "Record timesheet lines per tasks" +msgstr "" + +#. module: project +#: model:ir.model,name:project.model_report_project_task_user +msgid "Tasks by user and project" +msgstr "" + +#. module: project +#: field:res.company,project_time_mode_id:0 +msgid "Project Time Unit" +msgstr "" + +#. module: project +#: view:project.task:0 +#: selection:project.task,kanban_state:0 +#: selection:project.task.history,kanban_state:0 +#: selection:project.task.history.cumulative,kanban_state:0 +msgid "Normal" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +#: field:report.project.task.user,closing_days:0 +msgid "Days to Close" +msgstr "" + +#. module: project +#: model:res.groups,name:project.group_project_user +msgid "User" +msgstr "" + +#. module: project +#: help:project.project,alias_model:0 +msgid "" +"The kind of document created when an email is received on this project's " +"email alias" +msgstr "" + +#. module: project +#: model:ir.actions.act_window,name:project.action_config_settings +#: view:project.config.settings:0 +msgid "Configure Project" +msgstr "" + +#. module: project +#: view:project.task.history.cumulative:0 +msgid "Tasks's Cumulative Flow" +msgstr "" + +#. module: project +#: selection:report.project.task.user,month:0 +msgid "January" +msgstr "" + +#. module: project +#: field:project.task.delegate,prefix:0 +msgid "Your Task Title" +msgstr "" + +#. module: project +#: view:project.task.reevaluate:0 +msgid "Reevaluation Task" +msgstr "" + +#. module: project +#: code:addons/project/project.py:1332 +#, python-format +msgid "Please delete the project linked with this account first." +msgstr "" + +#. module: project +#: model:mail.message.subtype,name:project.mt_project_task_new +#: model:mail.message.subtype,name:project.mt_task_new +msgid "Task Created" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +msgid "Non Assigned Tasks to users" +msgstr "" + +#. module: project +#: view:project.project:0 +msgid "Projects in which I am a manager" +msgstr "" + +#. module: project +#: view:project.task:0 +#: selection:project.task,kanban_state:0 +#: selection:project.task.history,kanban_state:0 +#: selection:project.task.history.cumulative,kanban_state:0 +msgid "Ready for next stage" +msgstr "" + +#. module: project +#: field:project.task.type,case_default:0 +msgid "Default for New Projects" +msgstr "" + +#. module: project +#: view:project.task:0 +#: field:project.task,description:0 +#: field:project.task.type,description:0 +msgid "Description" +msgstr "" + +#. module: project +#: selection:report.project.task.user,month:0 +msgid "May" +msgstr "" + +#. module: project +#: help:project.task.type,case_default:0 +msgid "" +"If you check this field, this stage will be proposed by default on each new " +"project. It will not assign this stage to existing projects." +msgstr "" + +#. module: project +#: field:project.task,partner_id:0 +msgid "Customer" +msgstr "" + +#. module: project +#: selection:report.project.task.user,month:0 +msgid "February" +msgstr "" + +#. module: project +#: help:project.config.settings,module_project_long_term:0 +msgid "" +"A long term project management module that tracks planning, scheduling, and " +"resource allocation.\n" +" This installs the module project_long_term." +msgstr "" + +#. module: project +#: model:mail.message.subtype,description:project.mt_task_closed +msgid "Task closed" +msgstr "" + +#. module: project +#: selection:report.project.task.user,month:0 +msgid "April" +msgstr "" + +#. module: project +#: view:project.task:0 +msgid "Spent Hours" +msgstr "" + +#. module: project +#: help:project.project,sequence:0 +msgid "Gives the sequence order when displaying a list of Projects." +msgstr "" + +#. module: project +#: model:ir.actions.act_window,name:project.act_res_users_2_project_task_opened +msgid "Assigned Tasks" +msgstr "" + +#. module: project +#: help:project.config.settings,module_project_issue_sheet:0 +msgid "" +"Provides timesheet support for the issues/bugs management in project.\n" +" This installs the module project_issue_sheet." +msgstr "" + +#. module: project +#: selection:project.project,privacy_visibility:0 +msgid "Followers Only" +msgstr "" + +#. module: project +#: view:board.board:0 +#: field:project.project,task_count:0 +msgid "Open Tasks" +msgstr "" + +#. module: project +#: field:project.project,priority:0 +#: field:project.project,sequence:0 +#: field:project.task,sequence:0 +#: field:project.task.type,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: project +#: view:project.task:0 +#: view:project.task.work:0 +msgid "Task Work" +msgstr "" + +#. module: project +#: help:project.task.delegate,planned_hours_me:0 +msgid "" +"Estimated time for you to validate the work done by the user to whom you " +"delegate this task" +msgstr "" + +#. module: project +#: view:report.project.task.user:0 +#: field:report.project.task.user,year:0 +msgid "Year" +msgstr "" + +#. module: project +#: field:project.project,type_ids:0 +#: view:project.task.type:0 +msgid "Tasks Stages" +msgstr "" diff --git a/addons/project/project.py b/addons/project/project.py index ea9c4492fa4..e42cd8d7247 100644 --- a/addons/project/project.py +++ b/addons/project/project.py @@ -479,7 +479,7 @@ def Project(): """ % ( project.id, project.date_start or time.strftime('%Y-%m-%d'), working_days, - '|'.join(['User_'+str(x) for x in puids]) + '|'.join(['User_'+str(x) for x in puids]) or 'None' ) vacation = calendar_id and tuple(resource_pool.compute_vacation(cr, uid, calendar_id, context=context)) or False if vacation: @@ -789,7 +789,7 @@ class task(osv.osv): }), 'progress': fields.function(_hours_get, string='Working Time Progress (%)', multi='hours', group_operator="avg", help="If the task has a progress of 99.99% you should close the task if it's finished or reevaluate the time", store = { - 'project.task': (lambda self, cr, uid, ids, c={}: ids, ['work_ids', 'remaining_hours', 'planned_hours','state'], 10), + 'project.task': (lambda self, cr, uid, ids, c={}: ids, ['work_ids', 'remaining_hours', 'planned_hours', 'state', 'stage_id'], 10), 'project.task.work': (_get_task, ['hours'], 10), }), 'delay_hours': fields.function(_hours_get, string='Delay Hours', multi='hours', help="Computed as difference between planned hours by the project manager and the total hours of the task.", diff --git a/addons/project/static/src/js/project.js b/addons/project/static/src/js/project.js index ce8be146e54..a4e899a8714 100644 --- a/addons/project/static/src/js/project.js +++ b/addons/project/static/src/js/project.js @@ -32,12 +32,6 @@ openerp.project = function(openerp) { if (self.dataset.model === 'project.project') { self.project_display_members_names(); } - }, - on_record_moved: function(record, old_group, old_index, new_group, new_index){ - var self = this; - this._super.apply(this, arguments); - if(new_group.state.folded) - new_group.do_action_toggle_fold(); } }); diff --git a/addons/project_issue/i18n/he.po b/addons/project_issue/i18n/he.po new file mode 100644 index 00000000000..a371ffffa71 --- /dev/null +++ b/addons/project_issue/i18n/he.po @@ -0,0 +1,984 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:04+0000\n" +"PO-Revision-Date: 2013-12-26 23:15+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-27 05:22+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: project_issue +#: model:project.category,name:project_issue.project_issue_category_03 +msgid "Deadly bug" +msgstr "" + +#. module: project_issue +#: help:project.config.settings,fetchmail_issue:0 +msgid "" +"Allows you to configure your incoming mail server, and create issues from " +"incoming emails." +msgstr "" + +#. module: project_issue +#: field:project.issue.report,delay_open:0 +msgid "Avg. Delay to Open" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +#: view:project.issue.report:0 +msgid "Group By..." +msgstr "" + +#. module: project_issue +#: field:project.issue,working_hours_open:0 +msgid "Working Hours to Open the Issue" +msgstr "" + +#. module: project_issue +#: model:mail.message.subtype,description:project_issue.mt_issue_started +msgid "Issue started" +msgstr "" + +#. module: project_issue +#: field:project.issue,date_open:0 +msgid "Opened" +msgstr "" + +#. module: project_issue +#: field:project.issue.report,opening_date:0 +msgid "Date of Opening" +msgstr "" + +#. module: project_issue +#: selection:project.issue.report,month:0 +msgid "March" +msgstr "" + +#. module: project_issue +#: field:project.issue,progress:0 +msgid "Progress (%)" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +#: field:project.issue,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: project_issue +#: field:project.issue,company_id:0 +#: view:project.issue.report:0 +#: field:project.issue.report,company_id:0 +msgid "Company" +msgstr "" + +#. module: project_issue +#: field:project.issue,email_cc:0 +msgid "Watchers Emails" +msgstr "" + +#. module: project_issue +#: help:project.issue,kanban_state:0 +msgid "" +"A Issue's kanban state indicates special situations affecting it:\n" +" * Normal is the default situation\n" +" * Blocked indicates something is preventing the progress of this issue\n" +" * Ready for next stage indicates the issue is ready to be pulled to the " +"next stage" +msgstr "" + +#. module: project_issue +#: help:project.issue,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: project_issue +#: help:account.analytic.account,use_issues:0 +msgid "Check this field if this project manages issues" +msgstr "" + +#. module: project_issue +#: field:project.issue,day_open:0 +msgid "Days to Open" +msgstr "" + +#. module: project_issue +#: code:addons/project_issue/project_issue.py:479 +#, python-format +msgid "" +"You cannot escalate this issue.\n" +"The relevant Project has not configured the Escalation Project!" +msgstr "" + +#. module: project_issue +#: constraint:project.project:0 +msgid "Error! You cannot assign escalation to the same project!" +msgstr "" + +#. module: project_issue +#: selection:project.issue,priority:0 +#: selection:project.issue.report,priority:0 +msgid "Highest" +msgstr "" + +#. module: project_issue +#: help:project.issue,inactivity_days:0 +msgid "Difference in days between last action and current date" +msgstr "" + +#. module: project_issue +#: view:project.issue.report:0 +#: field:project.issue.report,day:0 +msgid "Day" +msgstr "" + +#. module: project_issue +#: field:project.issue,days_since_creation:0 +msgid "Days since creation date" +msgstr "" + +#. module: project_issue +#: field:project.issue,task_id:0 +#: view:project.issue.report:0 +#: field:project.issue.report,task_id:0 +msgid "Task" +msgstr "" + +#. module: project_issue +#: model:mail.message.subtype,name:project_issue.mt_project_issue_stage +msgid "Issue Stage Changed" +msgstr "" + +#. module: project_issue +#: field:project.issue,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: project_issue +#: field:project.issue,inactivity_days:0 +msgid "Days since last action" +msgstr "" + +#. module: project_issue +#: model:ir.model,name:project_issue.model_project_project +#: view:project.issue:0 +#: field:project.issue,project_id:0 +#: view:project.issue.report:0 +#: field:project.issue.report,project_id:0 +msgid "Project" +msgstr "" + +#. module: project_issue +#: model:ir.actions.act_window,help:project_issue.project_issue_categ_act0 +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to report a new issue.\n" +" </p><p>\n" +" The OpenERP issues tacker allows you to efficiantly manage " +"things\n" +" like internal requests, software development bugs, customer\n" +" complaints, project troubles, material breakdowns, etc.\n" +" </p>\n" +" " +msgstr "" + +#. module: project_issue +#: selection:project.issue,state:0 +#: selection:project.issue.report,state:0 +msgid "Cancelled" +msgstr "" + +#. module: project_issue +#: field:project.issue,description:0 +msgid "Private Note" +msgstr "" + +#. module: project_issue +#: field:project.issue.report,date_closed:0 +msgid "Date of Closing" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Issue Tracker Search" +msgstr "" + +#. module: project_issue +#: field:project.issue,color:0 +msgid "Color Index" +msgstr "" + +#. module: project_issue +#: field:project.issue.report,working_hours_open:0 +msgid "Avg. Working Hours to Open" +msgstr "" + +#. module: project_issue +#: model:ir.model,name:project_issue.model_account_analytic_account +msgid "Analytic Account" +msgstr "" + +#. module: project_issue +#: help:project.issue,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: project_issue +#: help:project.project,project_escalation_id:0 +msgid "" +"If any issue is escalated from the current Project, it will be listed under " +"the project selected here." +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Extra Info" +msgstr "" + +#. module: project_issue +#: model:ir.actions.act_window,help:project_issue.action_project_issue_report +msgid "" +"This report on the project issues allows you to analyse the quality of your " +"support or after-sales services. You can track the issues per age. You can " +"analyse the time required to open or close an issue, the number of email to " +"exchange and the time spent on average by issues." +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Edit..." +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Responsible" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Statistics" +msgstr "" + +#. module: project_issue +#: field:project.issue,kanban_state:0 +msgid "Kanban State" +msgstr "" + +#. module: project_issue +#: code:addons/project_issue/project_issue.py:366 +#, python-format +msgid "Project issue <b>converted</b> to task." +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +#: field:project.issue,priority:0 +#: view:project.issue.report:0 +#: field:project.issue.report,priority:0 +msgid "Priority" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +#: field:project.issue,version_id:0 +#: view:project.issue.report:0 +#: field:project.issue.report,version_id:0 +msgid "Version" +msgstr "" + +#. module: project_issue +#: field:project.issue,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +#: selection:project.issue,state:0 +#: view:project.issue.report:0 +msgid "New" +msgstr "" + +#. module: project_issue +#: model:ir.actions.act_window,name:project_issue.project_issue_categ_action +msgid "Issue Categories" +msgstr "" + +#. module: project_issue +#: field:project.issue,email_from:0 +msgid "Email" +msgstr "" + +#. module: project_issue +#: field:project.issue,channel_id:0 +#: field:project.issue.report,channel_id:0 +msgid "Channel" +msgstr "" + +#. module: project_issue +#: selection:project.issue,priority:0 +#: selection:project.issue.report,priority:0 +msgid "Lowest" +msgstr "" + +#. module: project_issue +#: code:addons/project_issue/project_issue.py:388 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Unassigned Issues" +msgstr "" + +#. module: project_issue +#: field:project.issue,create_date:0 +#: view:project.issue.report:0 +#: field:project.issue.report,creation_date:0 +msgid "Creation Date" +msgstr "" + +#. module: project_issue +#: model:ir.actions.act_window,name:project_issue.project_issue_version_action +#: model:ir.ui.menu,name:project_issue.menu_project_issue_version_act +msgid "Versions" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "To Do Issues" +msgstr "" + +#. module: project_issue +#: model:ir.model,name:project_issue.model_project_issue_version +msgid "project.issue.version" +msgstr "" + +#. module: project_issue +#: field:project.config.settings,fetchmail_issue:0 +msgid "Create issues from an incoming email account " +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +#: selection:project.issue,state:0 +#: view:project.issue.report:0 +msgid "Done" +msgstr "" + +#. module: project_issue +#: selection:project.issue.report,month:0 +msgid "July" +msgstr "" + +#. module: project_issue +#: model:ir.ui.menu,name:project_issue.menu_project_issue_category_act +msgid "Categories" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +#: field:project.issue,stage_id:0 +#: view:project.issue.report:0 +#: field:project.issue.report,stage_id:0 +msgid "Stage" +msgstr "" + +#. module: project_issue +#: model:ir.actions.act_window,name:project_issue.action_project_issue_report +#: model:ir.ui.menu,name:project_issue.menu_project_issue_report_tree +#: view:project.issue.report:0 +msgid "Issues Analysis" +msgstr "" + +#. module: project_issue +#: code:addons/project_issue/project_issue.py:516 +#, python-format +msgid "No Subject" +msgstr "" + +#. module: project_issue +#: model:ir.actions.act_window,name:project_issue.action_view_my_project_issue_tree +msgid "My Project Issues" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +#: field:project.issue,partner_id:0 +#: view:project.issue.report:0 +#: field:project.issue.report,partner_id:0 +msgid "Contact" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Delete" +msgstr "" + +#. module: project_issue +#: code:addons/project_issue/project_issue.py:371 +#, python-format +msgid "Tasks" +msgstr "" + +#. module: project_issue +#: field:project.issue.report,nbr:0 +msgid "# of Issues" +msgstr "" + +#. module: project_issue +#: selection:project.issue.report,month:0 +msgid "September" +msgstr "" + +#. module: project_issue +#: selection:project.issue.report,month:0 +msgid "December" +msgstr "" + +#. module: project_issue +#: field:project.issue,categ_ids:0 +msgid "Tags" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Issue Tracker Tree" +msgstr "" + +#. module: project_issue +#: model:project.category,name:project_issue.project_issue_category_01 +msgid "Little problem" +msgstr "" + +#. module: project_issue +#: view:project.project:0 +msgid "creates" +msgstr "" + +#. module: project_issue +#: model:crm.case.categ,name:project_issue.feature_request_categ +msgid "Feature Requests" +msgstr "" + +#. module: project_issue +#: field:project.issue,write_date:0 +msgid "Update Date" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Project:" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Open Features" +msgstr "" + +#. module: project_issue +#: field:project.issue,date_action_next:0 +msgid "Next Action" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +#: selection:project.issue,kanban_state:0 +msgid "Blocked" +msgstr "" + +#. module: project_issue +#: field:project.issue,user_email:0 +msgid "User Email" +msgstr "" + +#. module: project_issue +#: view:project.issue.report:0 +msgid "#Number of Project Issues" +msgstr "" + +#. module: project_issue +#: help:project.issue,channel_id:0 +msgid "Communication channel." +msgstr "" + +#. module: project_issue +#: help:project.issue,email_cc:0 +msgid "" +"These email addresses will be added to the CC field of all inbound and " +"outbound emails for this record before being sent. Separate multiple email " +"addresses with a comma" +msgstr "" + +#. module: project_issue +#: model:crm.case.categ,name:project_issue.bug_categ +msgid "Maintenance" +msgstr "" + +#. module: project_issue +#: selection:project.issue.report,state:0 +msgid "Draft" +msgstr "" + +#. module: project_issue +#: selection:project.issue,priority:0 +#: selection:project.issue.report,priority:0 +msgid "Low" +msgstr "" + +#. module: project_issue +#: field:project.issue,date_closed:0 +#: selection:project.issue.report,state:0 +msgid "Closed" +msgstr "" + +#. module: project_issue +#: field:project.issue.report,delay_close:0 +msgid "Avg. Delay to Close" +msgstr "" + +#. module: project_issue +#: selection:project.issue,state:0 +#: view:project.issue.report:0 +#: selection:project.issue.report,state:0 +msgid "Pending" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +#: field:project.issue,state:0 +#: field:project.issue.report,state:0 +msgid "Status" +msgstr "" + +#. module: project_issue +#: view:project.issue.report:0 +msgid "#Project Issues" +msgstr "" + +#. module: project_issue +#: selection:project.issue.report,month:0 +msgid "August" +msgstr "" + +#. module: project_issue +#: selection:project.issue,kanban_state:0 +#: selection:project.issue,priority:0 +#: selection:project.issue.report,priority:0 +msgid "Normal" +msgstr "" + +#. module: project_issue +#: field:project.project,issue_count:0 +msgid "unknown" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Category:" +msgstr "" + +#. module: project_issue +#: selection:project.issue.report,month:0 +msgid "June" +msgstr "" + +#. module: project_issue +#: help:project.issue,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "New Issues" +msgstr "" + +#. module: project_issue +#: field:project.issue,day_close:0 +msgid "Days to Close" +msgstr "" + +#. module: project_issue +#: field:project.issue,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: project_issue +#: help:project.issue,state:0 +msgid "" +"The status is set to 'Draft', when a case is created. " +"If the case is in progress the status is set to 'Open'. " +"When the case is over, the status is set to 'Done'. If " +"the case needs to be reviewed then the status is set " +"to 'Pending'." +msgstr "" + +#. module: project_issue +#: field:project.issue,active:0 +#: field:project.issue.version,active:0 +msgid "Active" +msgstr "" + +#. module: project_issue +#: selection:project.issue.report,month:0 +msgid "November" +msgstr "" + +#. module: project_issue +#: code:addons/project_issue/project_issue.py:479 +#, python-format +msgid "Warning!" +msgstr "" + +#. module: project_issue +#: view:project.issue.report:0 +msgid "Search" +msgstr "" + +#. module: project_issue +#: selection:project.issue.report,month:0 +msgid "October" +msgstr "" + +#. module: project_issue +#: help:project.issue,days_since_creation:0 +msgid "Difference in days between creation date and current date" +msgstr "" + +#. module: project_issue +#: selection:project.issue.report,month:0 +msgid "January" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Feature Tracker Tree" +msgstr "" + +#. module: project_issue +#: help:project.issue,email_from:0 +msgid "These people will receive email." +msgstr "" + +#. module: project_issue +#: field:project.issue,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: project_issue +#: field:project.issue,date:0 +msgid "Date" +msgstr "" + +#. module: project_issue +#: field:project.issue,user_id:0 +#: view:project.issue.report:0 +#: field:project.issue.report,user_id:0 +msgid "Assigned to" +msgstr "" + +#. module: project_issue +#: view:project.config.settings:0 +msgid "Configure" +msgstr "" + +#. module: project_issue +#: model:mail.message.subtype,description:project_issue.mt_issue_closed +msgid "Issue closed" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Current Features" +msgstr "" + +#. module: project_issue +#: view:project.issue.version:0 +msgid "Issue Version" +msgstr "" + +#. module: project_issue +#: field:project.issue.version,name:0 +msgid "Version Number" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Cancel" +msgstr "" + +#. module: project_issue +#: selection:project.issue.report,state:0 +msgid "Open" +msgstr "" + +#. module: project_issue +#: field:account.analytic.account,use_issues:0 +#: model:ir.actions.act_window,name:project_issue.act_project_project_2_project_issue_all +#: model:ir.actions.act_window,name:project_issue.project_issue_categ_act0 +#: model:ir.ui.menu,name:project_issue.menu_project_confi +#: model:ir.ui.menu,name:project_issue.menu_project_issue_track +#: view:project.issue:0 +#: view:project.project:0 +msgid "Issues" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +#: selection:project.issue,state:0 +msgid "In Progress" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +#: view:project.issue.report:0 +msgid "To Do" +msgstr "" + +#. module: project_issue +#: model:ir.model,name:project_issue.model_project_issue +#: view:project.issue.report:0 +msgid "Project Issue" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Creation Month" +msgstr "" + +#. module: project_issue +#: help:project.issue,progress:0 +msgid "Computed as: Time Spent / Total Time." +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +#: selection:project.issue,kanban_state:0 +msgid "Ready for next stage" +msgstr "" + +#. module: project_issue +#: view:project.issue.report:0 +#: field:project.issue.report,section_id:0 +msgid "Sale Team" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +#: view:project.issue.report:0 +#: field:project.issue.report,month:0 +msgid "Month" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +#: field:project.issue,name:0 +#: view:project.project:0 +msgid "Issue" +msgstr "" + +#. module: project_issue +#: model:project.category,name:project_issue.project_issue_category_02 +msgid "PBCK" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Feature Tracker Search" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Description" +msgstr "" + +#. module: project_issue +#: field:project.issue,section_id:0 +msgid "Sales Team" +msgstr "" + +#. module: project_issue +#: selection:project.issue.report,month:0 +msgid "May" +msgstr "" + +#. module: project_issue +#: model:ir.model,name:project_issue.model_project_config_settings +msgid "project.config.settings" +msgstr "" + +#. module: project_issue +#: model:mail.message.subtype,name:project_issue.mt_issue_closed +#: model:mail.message.subtype,name:project_issue.mt_project_issue_closed +msgid "Issue Closed" +msgstr "" + +#. module: project_issue +#: view:project.issue.report:0 +#: field:project.issue.report,email:0 +msgid "# Emails" +msgstr "" + +#. module: project_issue +#: model:mail.message.subtype,name:project_issue.mt_issue_new +#: model:mail.message.subtype,name:project_issue.mt_project_issue_new +msgid "Issue Created" +msgstr "" + +#. module: project_issue +#: model:mail.message.subtype,name:project_issue.mt_issue_blocked +#: model:mail.message.subtype,name:project_issue.mt_project_issue_blocked +msgid "Issue Blocked" +msgstr "" + +#. module: project_issue +#: selection:project.issue.report,month:0 +msgid "February" +msgstr "" + +#. module: project_issue +#: model:mail.message.subtype,description:project_issue.mt_issue_stage +#: model:mail.message.subtype,description:project_issue.mt_project_issue_stage +msgid "Stage changed" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "Feature description" +msgstr "" + +#. module: project_issue +#: field:project.project,project_escalation_id:0 +msgid "Project Escalation" +msgstr "" + +#. module: project_issue +#: model:ir.actions.act_window,help:project_issue.project_issue_version_action +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to add a new version.\n" +" </p><p>\n" +" Define here the different versions of your products on " +"which\n" +" you can work on issues.\n" +" </p>\n" +" " +msgstr "" + +#. module: project_issue +#: help:project.issue,section_id:0 +msgid "" +"Sales team to which Case belongs to. Define " +"Responsible user and Email account for mail gateway." +msgstr "" + +#. module: project_issue +#: view:board.board:0 +msgid "My Issues" +msgstr "" + +#. module: project_issue +#: help:project.issue.report,delay_open:0 +msgid "Number of Days to open the project issue." +msgstr "" + +#. module: project_issue +#: selection:project.issue.report,month:0 +msgid "April" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "⇒ Escalate" +msgstr "" + +#. module: project_issue +#: view:project.issue:0 +msgid "References" +msgstr "" + +#. module: project_issue +#: model:mail.message.subtype,description:project_issue.mt_issue_new +msgid "Issue created" +msgstr "" + +#. module: project_issue +#: field:project.issue,working_hours_close:0 +msgid "Working Hours to Close the Issue" +msgstr "" + +#. module: project_issue +#: field:project.issue,id:0 +msgid "ID" +msgstr "" + +#. module: project_issue +#: model:mail.message.subtype,description:project_issue.mt_issue_blocked +msgid "Issue blocked" +msgstr "" + +#. module: project_issue +#: model:ir.model,name:project_issue.model_project_issue_report +msgid "project.issue.report" +msgstr "" + +#. module: project_issue +#: help:project.issue.report,delay_close:0 +msgid "Number of Days to close the project issue" +msgstr "" + +#. module: project_issue +#: field:project.issue.report,working_hours_close:0 +msgid "Avg. Working Hours to Close" +msgstr "" + +#. module: project_issue +#: model:mail.message.subtype,name:project_issue.mt_issue_stage +msgid "Stage Changed" +msgstr "" + +#. module: project_issue +#: selection:project.issue,priority:0 +#: selection:project.issue.report,priority:0 +msgid "High" +msgstr "" + +#. module: project_issue +#: field:project.issue,date_deadline:0 +msgid "Deadline" +msgstr "" + +#. module: project_issue +#: field:project.issue,date_action_last:0 +msgid "Last Action" +msgstr "" + +#. module: project_issue +#: view:project.issue.report:0 +#: field:project.issue.report,name:0 +msgid "Year" +msgstr "" + +#. module: project_issue +#: field:project.issue,duration:0 +msgid "Duration" +msgstr "" + +#. module: project_issue +#: model:mail.message.subtype,name:project_issue.mt_issue_started +#: model:mail.message.subtype,name:project_issue.mt_project_issue_started +msgid "Issue Started" +msgstr "" diff --git a/addons/project_issue_sheet/project_issue_sheet_view.xml b/addons/project_issue_sheet/project_issue_sheet_view.xml index 4911cac8f25..6d813b44239 100644 --- a/addons/project_issue_sheet/project_issue_sheet_view.xml +++ b/addons/project_issue_sheet/project_issue_sheet_view.xml @@ -19,7 +19,7 @@ </field> <xpath expr="//notebook/page[@string='Extra Info']" position="before"> <page string="Worklogs"> - <field name="timesheet_ids" colspan="4" nolabel="1" context="{'default_user_id' : user_id, 'default_account_id' : analytic_account_id}" + <field name="timesheet_ids" colspan="4" nolabel="1" context="{'default_user_id' : uid, 'default_account_id' : analytic_account_id}" groups="base.group_user"> <tree editable="top" string="Timesheets"> <field name="name"/> diff --git a/addons/project_mrp/process/project_mrp_process.xml b/addons/project_mrp/process/project_mrp_process.xml index de2b2c1b4c8..ab0de03eee0 100644 --- a/addons/project_mrp/process/project_mrp_process.xml +++ b/addons/project_mrp/process/project_mrp_process.xml @@ -46,12 +46,15 @@ Process Transition --> - <!-- This "foreign" process node is duplicated here from the corresponding sale_stock node because + <!-- This process node is duplicated here from the corresponding sale_stock node because `project_mrp` implements a basic procurement system for services without actually using the - full-fledged procurement process from sale_stock, and without the dependency. So it stil - represents a "procurement system". + full-fledged procurement process from sale_stock, and without the dependency. So it still + represents a "procurement system". Sharing the external ID causes other problems, so + we duplicate it instead. + TODO: To cleanup this duplicate node, it should probably be moved to the + `sale` module directly, and removed from both `sale_stock` and `project_mrp`. --> - <record id="procurement.process_node_saleprocurement0" model="process.node"> + <record id="process_node_saleprocurement0" model="process.node"> <field name="menu_id" ref="procurement.menu_stock_procurement_action"/> <field name="model_id" ref="procurement.model_procurement_order"/> <field name="kind">subflow</field> @@ -66,7 +69,7 @@ <field eval=""""Procurement Task"""" name="name"/> <field eval=""""if product type is 'service' then it creates the task."""" name="note"/> <field name="target_node_id" ref="process_node_procuretasktask0"/> - <field name="source_node_id" ref="procurement.process_node_saleprocurement0"/> + <field name="source_node_id" ref="process_node_saleprocurement0"/> </record> <record id="process_transition_createtask0" model="process.transition"> diff --git a/addons/purchase/report/purchase_report_view.xml b/addons/purchase/report/purchase_report_view.xml index 909663f43bb..58270f0ccd1 100644 --- a/addons/purchase/report/purchase_report_view.xml +++ b/addons/purchase/report/purchase_report_view.xml @@ -71,10 +71,8 @@ <filter string="Validated by" icon="terp-personal" context="{'group_by':'validator'}"/> <filter string="Product" name="group_product_id" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/> <filter string="Category" name="group_category_id" icon="terp-stock_symbol-selection" context="{'group_by':'category_id'}"/> - <filter string="Reference Unit of Measure" name="group_product_uom" icon="terp-mrp" context="{'group_by':'product_uom'}"/> <filter string="Warehouse" icon="terp-go-home" context="{'group_by':'warehouse_id'}"/> <filter string="Reference UOM" name="group_product_uom" icon="terp-mrp" context="{'group_by':'product_uom'}"/> - <filter string="Warehouse" icon="terp-go-home" context="{'group_by':'warehouse_id'}"/> <filter string="Destination" icon="terp-gtk-jump-to-ltr" context="{'group_by':'location_id'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> <filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/> diff --git a/addons/purchase/stock.py b/addons/purchase/stock.py index be4169c4624..7671c4b3d86 100644 --- a/addons/purchase/stock.py +++ b/addons/purchase/stock.py @@ -140,6 +140,6 @@ class stock_picking_in(osv.osv): _columns = { 'purchase_id': fields.many2one('purchase.order', 'Purchase Order', ondelete='set null', select=True), - 'warehouse_id': fields.related('purchase_id', 'warehouse_id', type='many2one', relation='stock.warehouse', string='Destination Warehouse'), + 'warehouse_id': fields.related('purchase_id', 'warehouse_id', type='many2one', relation='stock.warehouse', string='Destination Warehouse', readonly=True), } # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: diff --git a/addons/resource/i18n/he.po b/addons/resource/i18n/he.po new file mode 100644 index 00000000000..00e5ec58e2c --- /dev/null +++ b/addons/resource/i18n/he.po @@ -0,0 +1,351 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-12-30 19:37+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: resource +#: help:resource.calendar.leaves,resource_id:0 +msgid "" +"If empty, this is a generic holiday for the company. If a resource is set, " +"the holiday/leave is only for this resource" +msgstr "" + +#. module: resource +#: selection:resource.resource,resource_type:0 +msgid "Material" +msgstr "" + +#. module: resource +#: field:resource.resource,resource_type:0 +msgid "Resource Type" +msgstr "" + +#. module: resource +#: model:ir.model,name:resource.model_resource_calendar_leaves +#: view:resource.calendar.leaves:0 +msgid "Leave Detail" +msgstr "" + +#. module: resource +#: model:ir.actions.act_window,name:resource.resource_calendar_resources_leaves +msgid "Resources Leaves" +msgstr "" + +#. module: resource +#: field:resource.calendar.attendance,dayofweek:0 +msgid "Day of Week" +msgstr "" + +#. module: resource +#: selection:resource.calendar.attendance,dayofweek:0 +msgid "Thursday" +msgstr "" + +#. module: resource +#: view:resource.calendar.leaves:0 +#: view:resource.resource:0 +msgid "Group By..." +msgstr "" + +#. module: resource +#: selection:resource.calendar.attendance,dayofweek:0 +msgid "Sunday" +msgstr "" + +#. module: resource +#: field:resource.resource,time_efficiency:0 +msgid "Efficiency Factor" +msgstr "" + +#. module: resource +#: view:resource.resource:0 +msgid "Search Resource" +msgstr "" + +#. module: resource +#: view:resource.resource:0 +msgid "Type" +msgstr "" + +#. module: resource +#: model:ir.actions.act_window,name:resource.action_resource_resource_tree +#: view:resource.resource:0 +msgid "Resources" +msgstr "" + +#. module: resource +#: code:addons/resource/resource.py:455 +#, python-format +msgid "Make sure the Working time has been configured with proper week days!" +msgstr "" + +#. module: resource +#: code:addons/resource/resource.py:373 +#, python-format +msgid "%s (copy)" +msgstr "" + +#. module: resource +#: view:resource.calendar:0 +msgid "Search Working Time" +msgstr "" + +#. module: resource +#: constraint:resource.calendar.leaves:0 +msgid "Error! leave start-date must be lower then leave end-date." +msgstr "" + +#. module: resource +#: model:ir.model,name:resource.model_resource_calendar +msgid "Resource Calendar" +msgstr "" + +#. module: resource +#: field:resource.calendar,company_id:0 +#: view:resource.calendar.leaves:0 +#: field:resource.calendar.leaves,company_id:0 +#: view:resource.resource:0 +#: field:resource.resource,company_id:0 +msgid "Company" +msgstr "" + +#. module: resource +#: selection:resource.calendar.attendance,dayofweek:0 +msgid "Friday" +msgstr "" + +#. module: resource +#: view:resource.calendar.attendance:0 +msgid "Hours" +msgstr "" + +#. module: resource +#: view:resource.calendar.leaves:0 +msgid "Reason" +msgstr "" + +#. module: resource +#: view:resource.resource:0 +#: field:resource.resource,user_id:0 +msgid "User" +msgstr "" + +#. module: resource +#: view:resource.calendar.leaves:0 +msgid "Date" +msgstr "" + +#. module: resource +#: view:resource.calendar.leaves:0 +msgid "Search Working Period Leaves" +msgstr "" + +#. module: resource +#: field:resource.calendar.attendance,date_from:0 +msgid "Starting Date" +msgstr "" + +#. module: resource +#: field:resource.calendar,manager:0 +msgid "Workgroup Manager" +msgstr "" + +#. module: resource +#: field:resource.calendar.leaves,date_to:0 +msgid "End Date" +msgstr "" + +#. module: resource +#: model:ir.actions.act_window,name:resource.resource_calendar_closing_days +msgid "Closing Days" +msgstr "" + +#. module: resource +#: model:ir.ui.menu,name:resource.menu_resource_config +#: view:resource.calendar.leaves:0 +#: field:resource.calendar.leaves,resource_id:0 +#: view:resource.resource:0 +msgid "Resource" +msgstr "" + +#. module: resource +#: field:resource.calendar,name:0 +#: field:resource.calendar.attendance,name:0 +#: field:resource.calendar.leaves,name:0 +#: field:resource.resource,name:0 +msgid "Name" +msgstr "" + +#. module: resource +#: model:ir.actions.act_window,name:resource.action_resource_calendar_form +#: view:resource.calendar:0 +#: field:resource.calendar,attendance_ids:0 +#: view:resource.calendar.attendance:0 +#: field:resource.calendar.leaves,calendar_id:0 +#: field:resource.resource,calendar_id:0 +msgid "Working Time" +msgstr "" + +#. module: resource +#: help:resource.calendar.attendance,hour_from:0 +msgid "Start and End time of working." +msgstr "" + +#. module: resource +#: view:resource.calendar.leaves:0 +#: view:resource.resource:0 +msgid "Working Period" +msgstr "" + +#. module: resource +#: selection:resource.calendar.attendance,dayofweek:0 +msgid "Wednesday" +msgstr "" + +#. module: resource +#: model:ir.model,name:resource.model_resource_resource +msgid "Resource Detail" +msgstr "" + +#. module: resource +#: field:resource.resource,active:0 +msgid "Active" +msgstr "" + +#. module: resource +#: help:resource.resource,active:0 +msgid "" +"If the active field is set to False, it will allow you to hide the resource " +"record without removing it." +msgstr "" + +#. module: resource +#: field:resource.calendar.attendance,calendar_id:0 +msgid "Resource's Calendar" +msgstr "" + +#. module: resource +#: field:resource.calendar.attendance,hour_from:0 +msgid "Work from" +msgstr "" + +#. module: resource +#: model:ir.actions.act_window,help:resource.action_resource_calendar_form +msgid "" +"Define working hours and time table that could be scheduled to your project " +"members" +msgstr "" + +#. module: resource +#: help:resource.resource,user_id:0 +msgid "Related user name for the resource to manage its access." +msgstr "" + +#. module: resource +#: help:resource.resource,calendar_id:0 +msgid "Define the schedule of resource" +msgstr "" + +#. module: resource +#: view:resource.calendar.leaves:0 +msgid "Starting Date of Leave" +msgstr "" + +#. module: resource +#: field:resource.resource,code:0 +msgid "Code" +msgstr "" + +#. module: resource +#: selection:resource.calendar.attendance,dayofweek:0 +msgid "Monday" +msgstr "" + +#. module: resource +#: field:resource.calendar.attendance,hour_to:0 +msgid "Work to" +msgstr "" + +#. module: resource +#: model:ir.model,name:resource.model_resource_calendar_attendance +msgid "Work Detail" +msgstr "" + +#. module: resource +#: selection:resource.calendar.attendance,dayofweek:0 +msgid "Tuesday" +msgstr "" + +#. module: resource +#: help:resource.resource,time_efficiency:0 +msgid "" +"This field depict the efficiency of the resource to complete tasks. e.g " +"resource put alone on a phase of 5 days with 5 tasks assigned to him, will " +"show a load of 100% for this phase by default, but if we put a efficiency of " +"200%, then his load will only be 50%." +msgstr "" + +#. module: resource +#: model:ir.actions.act_window,name:resource.action_resource_calendar_leave_tree +#: model:ir.ui.menu,name:resource.menu_view_resource_calendar_leaves_search +msgid "Resource Leaves" +msgstr "" + +#. module: resource +#: model:ir.actions.act_window,help:resource.action_resource_resource_tree +msgid "" +"Resources allow you to create and manage resources that should be involved " +"in a specific project phase. You can also set their efficiency level and " +"workload based on their weekly working hours." +msgstr "" + +#. module: resource +#: view:resource.resource:0 +msgid "Inactive" +msgstr "" + +#. module: resource +#: code:addons/resource/faces/resource.py:340 +#, python-format +msgid "(vacation)" +msgstr "" + +#. module: resource +#: code:addons/resource/resource.py:455 +#, python-format +msgid "Configuration Error!" +msgstr "" + +#. module: resource +#: selection:resource.resource,resource_type:0 +msgid "Human" +msgstr "" + +#. module: resource +#: view:resource.calendar.leaves:0 +msgid "Duration" +msgstr "" + +#. module: resource +#: field:resource.calendar.leaves,date_from:0 +msgid "Start Date" +msgstr "" + +#. module: resource +#: selection:resource.calendar.attendance,dayofweek:0 +msgid "Saturday" +msgstr "" diff --git a/addons/sale/i18n/he.po b/addons/sale/i18n/he.po new file mode 100644 index 00000000000..2c26dfd7674 --- /dev/null +++ b/addons/sale/i18n/he.po @@ -0,0 +1,2132 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:04+0000\n" +"PO-Revision-Date: 2013-12-30 19:13+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: sale +#: model:res.groups,name:sale.group_analytic_accounting +msgid "Analytic Accounting for Sales" +msgstr "" + +#. module: sale +#: model:process.transition,name:sale.process_transition_confirmquotation0 +msgid "Confirm Quotation" +msgstr "" + +#. module: sale +#: view:board.board:0 +msgid "Sales Dashboard" +msgstr "" + +#. module: sale +#: code:addons/sale/wizard/sale_make_invoice_advance.py:92 +#, python-format +msgid "There is no income account defined as global property." +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,name:sale.action_order_line_tree2 +#: model:ir.ui.menu,name:sale.menu_invoicing_sales_order_lines +msgid "Order Lines to Invoice" +msgstr "" + +#. module: sale +#: field:sale.order,date_confirm:0 +msgid "Confirmation Date" +msgstr "" + +#. module: sale +#: view:sale.order:0 +#: view:sale.order.line:0 +#: view:sale.report:0 +msgid "Group By..." +msgstr "" + +#. module: sale +#: field:sale.order.line,address_allotment_id:0 +msgid "Allotment Partner" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,name:sale.action_view_sale_advance_payment_inv +msgid "Invoice Order" +msgstr "" + +#. module: sale +#: view:sale.config.settings:0 +msgid "Product Features" +msgstr "" + +#. module: sale +#: help:sale.config.settings,module_account_analytic_analysis:0 +msgid "" +"Allows to define your customer contracts conditions: invoicing\n" +" method (fixed price, on timesheet, advance invoice), the exact " +"pricing\n" +" (650€/day for a developer), the duration (one year support " +"contract).\n" +" You will be able to follow the progress of the contract and " +"invoice automatically.\n" +" It installs the account_analytic_analysis module." +msgstr "" + +#. module: sale +#: model:email.template,report_name:sale.email_template_edi_sale +msgid "" +"${(object.name or '').replace('/','_')}_${object.state == 'draft' and " +"'draft' or ''}" +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +#: field:sale.report,product_uom:0 +msgid "Unit of Measure" +msgstr "" + +#. module: sale +#: field:sale.order.line,type:0 +msgid "Procurement Method" +msgstr "" + +#. module: sale +#: help:sale.order,date_confirm:0 +msgid "Date on which sales order is confirmed." +msgstr "" + +#. module: sale +#: field:account.config.settings,module_sale_analytic_plans:0 +msgid "Use multiple analytic accounts on sales" +msgstr "" + +#. module: sale +#: selection:sale.report,month:0 +msgid "March" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:565 +#, python-format +msgid "First cancel all invoices attached to this sales order." +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "Quotation Number" +msgstr "" + +#. module: sale +#: view:sale.order:0 +#: field:sale.order,message_unread:0 +msgid "Unread Messages" +msgstr "" + +#. module: sale +#: field:sale.order,company_id:0 +#: field:sale.order.line,company_id:0 +#: view:sale.report:0 +#: field:sale.report,company_id:0 +#: field:sale.shop,company_id:0 +msgid "Company" +msgstr "" + +#. module: sale +#: field:sale.make.invoice,invoice_date:0 +msgid "Invoice Date" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,name:sale.action_order_line_tree3 +msgid "Uninvoiced and Delivered Lines" +msgstr "" + +#. module: sale +#: model:mail.message.subtype,description:sale.mt_order_confirmed +msgid "Quotation confirmed" +msgstr "" + +#. module: sale +#: selection:sale.order,state:0 +#: selection:sale.report,state:0 +msgid "Invoice Exception" +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "Quotation " +msgstr "" + +#. module: sale +#: selection:sale.order,state:0 +msgid "Draft Quotation" +msgstr "" + +#. module: sale +#: field:sale.order,partner_shipping_id:0 +msgid "Delivery Address" +msgstr "" + +#. module: sale +#: view:sale.report:0 +#: field:sale.report,analytic_account_id:0 +#: field:sale.shop,project_id:0 +msgid "Analytic Account" +msgstr "" + +#. module: sale +#: field:sale.config.settings,module_sale_journal:0 +msgid "Allow batch invoicing of delivery orders through journals" +msgstr "" + +#. module: sale +#: field:sale.order.line,price_subtotal:0 +msgid "Subtotal" +msgstr "" + +#. module: sale +#: view:sale.report:0 +#: field:sale.report,day:0 +msgid "Day" +msgstr "" + +#. module: sale +#: model:process.transition.action,name:sale.process_transition_action_cancelorder0 +#: view:sale.order:0 +msgid "Cancel Order" +msgstr "" + +#. module: sale +#: field:sale.order.line,th_weight:0 +msgid "Weight" +msgstr "" + +#. module: sale +#: view:sale.config.settings:0 +msgid "Warehouse Features" +msgstr "" + +#. module: sale +#: field:sale.config.settings,time_unit:0 +msgid "The default working time unit for services is" +msgstr "" + +#. module: sale +#: field:sale.order.line,product_uom:0 +msgid "Unit of Measure " +msgstr "" + +#. module: sale +#: code:addons/sale/wizard/sale_make_invoice_advance.py:101 +#, python-format +msgid "Incorrect Data" +msgstr "" + +#. module: sale +#: code:addons/sale/wizard/sale_make_invoice_advance.py:102 +#, python-format +msgid "The value of Advance Amount must be positive." +msgstr "" + +#. module: sale +#: help:sale.config.settings,group_discount_per_so_line:0 +msgid "Allows you to apply some discount per sales order line." +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +msgid "Sales Order Lines that are in 'done' state" +msgstr "" + +#. module: sale +#: selection:sale.order.line,type:0 +msgid "on order" +msgstr "" + +#. module: sale +#: field:sale.order,message_ids:0 +msgid "Messages" +msgstr "" + +#. module: sale +#: field:sale.report,state:0 +msgid "Order Status" +msgstr "" + +#. module: sale +#: field:sale.order,amount_tax:0 +#: field:sale.order.line,tax_id:0 +msgid "Taxes" +msgstr "" + +#. module: sale +#: field:sale.order,amount_untaxed:0 +msgid "Untaxed Amount" +msgstr "" + +#. module: sale +#: field:sale.config.settings,module_project:0 +msgid "Project" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:185 +#: code:addons/sale/sale.py:363 +#: code:addons/sale/sale.py:504 +#: code:addons/sale/sale.py:598 +#: code:addons/sale/sale.py:763 +#: code:addons/sale/sale.py:780 +#, python-format +msgid "Error!" +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "Net Total :" +msgstr "" + +#. module: sale +#: help:sale.order.line,type:0 +msgid "" +"From stock: When needed, the product is taken from the stock or we wait for " +"replenishment.\n" +"On order: When needed, the product is purchased or produced." +msgstr "" + +#. module: sale +#: help:sale.config.settings,module_analytic_user_function:0 +msgid "" +"Allows you to define what is the default function of a specific user on a " +"given account.\n" +" This is mostly used when a user encodes his timesheet. The " +"values are retrieved and the fields are auto-filled.\n" +" But the possibility to change these values is still " +"available.\n" +" This installs the module analytic_user_function." +msgstr "" + +#. module: sale +#: selection:sale.order,state:0 +#: selection:sale.order.line,state:0 +#: selection:sale.report,state:0 +msgid "Cancelled" +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +msgid "Sales Order Lines related to a Sales Order of mine" +msgstr "" + +#. module: sale +#: selection:sale.order,state:0 +msgid "Quotation Sent" +msgstr "" + +#. module: sale +#: model:ir.model,name:sale.model_mail_compose_message +msgid "Email composition wizard" +msgstr "" + +#. module: sale +#: help:sale.order,message_unread:0 +msgid "If checked new messages require your attention." +msgstr "" + +#. module: sale +#: selection:sale.order,state:0 +#: selection:sale.report,state:0 +msgid "Shipping Exception" +msgstr "" + +#. module: sale +#: field:sale.order.line,product_uos_qty:0 +msgid "Quantity (UoS)" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,name:sale.action_shop_form +#: field:sale.order,shop_id:0 +#: view:sale.report:0 +#: field:sale.report,shop_id:0 +msgid "Shop" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,name:sale.action_orders_exception +msgid "Sales in Exception" +msgstr "" + +#. module: sale +#: field:sale.order,partner_invoice_id:0 +msgid "Invoice Address" +msgstr "" + +#. module: sale +#: help:sale.order,create_date:0 +msgid "Date on which sales order is created." +msgstr "" + +#. module: sale +#: view:res.partner:0 +msgid "False" +msgstr "" + +#. module: sale +#: help:sale.advance.payment.inv,advance_payment_method:0 +msgid "" +"Use All to create the final invoice.\n" +" Use Percentage to invoice a percentage of the total amount.\n" +" Use Fixed Price to invoice a specific amound in advance.\n" +" Use Some Order Lines to invoice a selection of the sales " +"order lines." +msgstr "" + +#. module: sale +#: view:sale.make.invoice:0 +#: view:sale.order.line.make.invoice:0 +msgid "Create Invoices" +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "Tax" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:277 +#: code:addons/sale/sale.py:820 +#: code:addons/sale/sale.py:983 +#, python-format +msgid "Invalid Action!" +msgstr "" + +#. module: sale +#: help:sale.order,state:0 +msgid "" +"Gives the status of the quotation or sales order. \n" +"The exception status is automatically set when a cancel operation occurs " +" in the invoice validation (Invoice Exception) or in the picking " +"list process (Shipping Exception).\n" +"The 'Waiting Schedule' status is set when the invoice is confirmed " +" but waiting for the scheduler to run on the order date." +msgstr "" + +#. module: sale +#: field:sale.report,date_confirm:0 +msgid "Date Confirm" +msgstr "" + +#. module: sale +#: view:sale.report:0 +#: field:sale.report,nbr:0 +msgid "# of Lines" +msgstr "" + +#. module: sale +#: help:sale.order,message_summary:0 +msgid "" +"Holds the Chatter summary (number of messages, ...). This summary is " +"directly in html format in order to be inserted in kanban views." +msgstr "" + +#. module: sale +#: help:sale.order.line,sequence:0 +msgid "Gives the sequence order when displaying a list of sales order lines." +msgstr "" + +#. module: sale +#: view:sale.report:0 +#: field:sale.report,product_uom_qty:0 +msgid "# of Qty" +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "Fax :" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:277 +#, python-format +msgid "" +"In order to delete a confirmed sales order, you must cancel it before !" +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "(update)" +msgstr "" + +#. module: sale +#: model:ir.model,name:sale.model_res_partner +#: view:sale.report:0 +#: field:sale.report,partner_id:0 +msgid "Partner" +msgstr "" + +#. module: sale +#: view:sale.config.settings:0 +msgid "Contract Features" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:287 +#: code:addons/sale/sale.py:584 +#: model:ir.model,name:sale.model_sale_order +#: model:process.node,name:sale.process_node_order0 +#: model:process.node,name:sale.process_node_saleorder0 +#: field:res.partner,sale_order_ids:0 +#: model:res.request.link,name:sale.req_link_sale_order +#: view:sale.order:0 +#: selection:sale.order,state:0 +#, python-format +msgid "Sales Order" +msgstr "" + +#. module: sale +#: model:res.groups,name:sale.group_invoice_so_lines +msgid "Enable Invoicing Sales order lines" +msgstr "" + +#. module: sale +#: model:ir.model,name:sale.model_sale_order_line +msgid "Sales Order Line" +msgstr "" + +#. module: sale +#: field:sale.advance.payment.inv,amount:0 +msgid "Advance Amount" +msgstr "" + +#. module: sale +#: help:sale.order,invoice_exists:0 +msgid "It indicates that sales order has at least one invoice." +msgstr "" + +#. module: sale +#: help:sale.config.settings,group_sale_pricelist:0 +msgid "" +"Allows to manage different prices based on rules per category of customers.\n" +"Example: 10% for retailers, promotion of 5 EUR on this product, etc." +msgstr "" + +#. module: sale +#: field:sale.config.settings,module_analytic_user_function:0 +msgid "One employee can have different roles per contract" +msgstr "" + +#. module: sale +#: selection:sale.advance.payment.inv,advance_payment_method:0 +msgid "Invoice the whole sales order" +msgstr "" + +#. module: sale +#: field:sale.shop,payment_default_id:0 +msgid "Default Payment Term" +msgstr "" + +#. module: sale +#: model:process.transition.action,name:sale.process_transition_action_confirm0 +msgid "Confirm" +msgstr "" + +#. module: sale +#: field:sale.config.settings,timesheet:0 +msgid "Prepare invoices based on timesheets" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:820 +#, python-format +msgid "You cannot cancel a sales order line that has already been invoiced." +msgstr "" + +#. module: sale +#: view:account.invoice.report:0 +#: view:board.board:0 +#: model:ir.actions.act_window,name:sale.action_turnover_by_month +msgid "Monthly Turnover" +msgstr "" + +#. module: sale +#: selection:sale.order,invoice_quantity:0 +msgid "Shipped Quantities" +msgstr "" + +#. module: sale +#: view:sale.report:0 +#: field:sale.report,year:0 +msgid "Year" +msgstr "" + +#. module: sale +#: field:sale.config.settings,group_uom:0 +msgid "Allow using different units of measures" +msgstr "" + +#. module: sale +#: model:mail.message.subtype,name:sale.mt_order_confirmed +msgid "Sales Order Confirmed" +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "Sales Order that haven't yet been confirmed" +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "Print" +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "Order N°" +msgstr "" + +#. module: sale +#: view:sale.order:0 +#: field:sale.order,order_line:0 +msgid "Order Lines" +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "Disc.(%)" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:764 +#, python-format +msgid "Please define income account for this product: \"%s\" (id:%d)." +msgstr "" + +#. module: sale +#: field:sale.order.line,invoice_lines:0 +msgid "Invoice Lines" +msgstr "" + +#. module: sale +#: view:sale.report:0 +#: field:sale.report,price_total:0 +msgid "Total Price" +msgstr "" + +#. module: sale +#: help:account.config.settings,group_analytic_account_for_sales:0 +msgid "Allows you to specify an analytic account on sales orders." +msgstr "" + +#. module: sale +#: help:sale.config.settings,module_sale_journal:0 +msgid "" +"Allows you to categorize your sales and deliveries (picking lists) between " +"different journals,\n" +" and perform batch operations on journals.\n" +" This installs the module sale_journal." +msgstr "" + +#. module: sale +#: help:sale.make.invoice,grouped:0 +msgid "Check the box to group the invoices for the same customers" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,name:sale.action_sale_order_make_invoice +#: model:ir.actions.act_window,name:sale.action_view_sale_order_line_make_invoice +msgid "Make Invoices" +msgstr "" + +#. module: sale +#: code:addons/sale/res_config.py:97 +#, python-format +msgid "Hour" +msgstr "" + +#. module: sale +#: field:res.partner,sale_order_count:0 +msgid "# of Sales Order" +msgstr "" + +#. module: sale +#: help:sale.config.settings,timesheet:0 +msgid "" +"For modifying account analytic view to show important data to project " +"manager of services companies.\n" +" You can also view the report of account analytic summary " +"user-wise as well as month wise.\n" +" This installs the module account_analytic_analysis." +msgstr "" + +#. module: sale +#: field:sale.order,create_date:0 +msgid "Creation Date" +msgstr "" + +#. module: sale +#: view:sale.order:0 +#: view:sale.order.line:0 +msgid "To Invoice" +msgstr "" + +#. module: sale +#: help:sale.order,partner_invoice_id:0 +msgid "Invoice address for current sales order." +msgstr "" + +#. module: sale +#: selection:sale.order,invoice_quantity:0 +msgid "Ordered Quantities" +msgstr "" + +#. module: sale +#: view:sale.report:0 +msgid "Ordered Year of the sales order" +msgstr "" + +#. module: sale +#: model:res.groups,name:sale.group_delivery_invoice_address +msgid "Addresses in Sales Orders" +msgstr "" + +#. module: sale +#: field:sale.advance.payment.inv,qtty:0 +#: report:sale.order:0 +#: field:sale.order.line,product_uom_qty:0 +msgid "Quantity" +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "Total :" +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +msgid "Sales Order Lines ready to be invoiced" +msgstr "" + +#. module: sale +#: view:sale.report:0 +msgid "My Sales" +msgstr "" + +#. module: sale +#: field:sale.order,name:0 +#: field:sale.order.line,order_id:0 +msgid "Order Reference" +msgstr "" + +#. module: sale +#: field:sale.order,fiscal_position:0 +msgid "Fiscal Position" +msgstr "" + +#. module: sale +#: selection:sale.report,month:0 +msgid "July" +msgstr "" + +#. module: sale +#: help:sale.order.line,state:0 +msgid "" +"* The 'Draft' status is set when the related sales order in draft status. " +" \n" +"* The 'Confirmed' status is set when the related sales order is confirmed. " +" \n" +"* The 'Exception' status is set when the related sales order is set as " +"exception. \n" +"* The 'Done' status is set when the sales order line has been picked. " +" \n" +"* The 'Cancelled' status is set when a user cancel the sales order related." +msgstr "" + +#. module: sale +#: view:sale.config.settings:0 +msgid "Default Options" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:960 +#: code:addons/sale/wizard/sale_make_invoice_advance.py:91 +#: code:addons/sale/wizard/sale_make_invoice_advance.py:95 +#, python-format +msgid "Configuration Error!" +msgstr "" + +#. module: sale +#: field:account.config.settings,group_analytic_account_for_sales:0 +msgid "Analytic accounting for sales" +msgstr "" + +#. module: sale +#: view:sale.order:0 +#: field:sale.order,state:0 +#: view:sale.order.line:0 +#: field:sale.order.line,state:0 +#: view:sale.report:0 +msgid "Status" +msgstr "" + +#. module: sale +#: view:sale.advance.payment.inv:0 +msgid "" +"After clicking 'Show Lines to Invoice', select lines to invoice and create " +"the invoice from the 'More' dropdown menu." +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "Send by Email" +msgstr "" + +#. module: sale +#: code:addons/sale/edi/sale_order.py:140 +#, python-format +msgid "EDI Pricelist (%s)" +msgstr "" + +#. module: sale +#: selection:sale.order,order_policy:0 +msgid "On Delivery Order" +msgstr "" + +#. module: sale +#: view:sale.config.settings:0 +msgid "Invoicing Process" +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "Order Date" +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "Sales Order done" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:364 +#, python-format +msgid "Please define sales journal for this company: \"%s\" (id:%d)." +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,name:sale.act_res_partner_2_sale_order +#: view:res.partner:0 +msgid "Quotations and Sales" +msgstr "" + +#. module: sale +#: field:sale.order,invoiced:0 +msgid "Paid" +msgstr "" + +#. module: sale +#: help:sale.config.settings,group_uom:0 +msgid "" +"Allows you to select and maintain different units of measure for products." +msgstr "" + +#. module: sale +#: view:sale.report:0 +msgid "Reference Unit of Measure" +msgstr "" + +#. module: sale +#: view:sale.advance.payment.inv:0 +msgid "Create and View Invoice" +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +msgid "Sales order lines done" +msgstr "" + +#. module: sale +#: field:sale.make.invoice,grouped:0 +msgid "Group the invoices" +msgstr "" + +#. module: sale +#: help:sale.advance.payment.inv,amount:0 +msgid "The amount to be invoiced in advance." +msgstr "" + +#. module: sale +#: model:ir.model,name:sale.model_sale_make_invoice +msgid "Sales Make Invoice" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:307 +#, python-format +msgid "Pricelist Warning!" +msgstr "" + +#. module: sale +#: field:sale.order.line,discount:0 +msgid "Discount (%)" +msgstr "" + +#. module: sale +#: code:addons/sale/wizard/sale_line_invoice.py:107 +#, python-format +msgid "" +"Invoice cannot be created for this Sales Order Line due to one of the " +"following reasons:\n" +"1.The state of this sales order line is either \"draft\" or \"cancel\"!\n" +"2.The Sales Order Line is Invoiced!" +msgstr "" + +#. module: sale +#: view:sale.order.line.make.invoice:0 +msgid "Create & View Invoice" +msgstr "" + +#. module: sale +#: view:board.board:0 +#: model:ir.actions.act_window,name:sale.action_quotation_for_sale +msgid "My Quotations" +msgstr "" + +#. module: sale +#: field:sale.order,invoice_ids:0 +msgid "Invoices" +msgstr "" + +#. module: sale +#: selection:sale.report,month:0 +msgid "December" +msgstr "" + +#. module: sale +#: view:sale.config.settings:0 +msgid "Contracts Management" +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +msgid "Shipped" +msgstr "" + +#. module: sale +#: view:sale.report:0 +#: field:sale.report,month:0 +msgid "Month" +msgstr "" + +#. module: sale +#: field:sale.order,currency_id:0 +msgid "Currency" +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +msgid "Uninvoiced" +msgstr "" + +#. module: sale +#: view:sale.report:0 +#: field:sale.report,categ_id:0 +msgid "Category of Product" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:564 +#, python-format +msgid "Cannot cancel this sales order!" +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "Recreate Invoice" +msgstr "" + +#. module: sale +#: field:sale.config.settings,module_warning:0 +msgid "Allow configuring alerts by customer or products" +msgstr "" + +#. module: sale +#: field:sale.shop,name:0 +msgid "Shop Name" +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "My Sales Orders" +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "Taxes :" +msgstr "" + +#. module: sale +#: field:sale.order,invoice_exists:0 +#: field:sale.order.line,invoiced:0 +msgid "Invoiced" +msgstr "" + +#. module: sale +#: code:addons/sale/wizard/sale_make_invoice_advance.py:202 +#, python-format +msgid "Advance Invoice" +msgstr "" + +#. module: sale +#: help:sale.config.settings,group_invoice_so_lines:0 +msgid "" +"To allow your salesman to make invoices for sales order lines using the menu " +"'Lines to Invoice'." +msgstr "" + +#. module: sale +#: model:ir.actions.client,name:sale.action_client_sale_menu +msgid "Open Sale Menu" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:598 +#, python-format +msgid "You cannot confirm a sales order which has no line." +msgstr "" + +#. module: sale +#: selection:sale.report,state:0 +msgid "In Progress" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:865 +#, python-format +msgid "No Customer Defined !" +msgstr "" + +#. module: sale +#: field:sale.config.settings,module_sale_stock:0 +msgid "Trigger delivery orders automatically from sales orders" +msgstr "" + +#. module: sale +#: view:sale.make.invoice:0 +#: view:sale.order.line.make.invoice:0 +msgid "Create invoices" +msgstr "" + +#. module: sale +#: selection:sale.order.line,state:0 +msgid "Confirmed" +msgstr "" + +#. module: sale +#: code:addons/sale/wizard/sale_make_invoice_advance.py:106 +#, python-format +msgid "Advance of %s %%" +msgstr "" + +#. module: sale +#: model:ir.model,name:sale.model_sale_order_line_make_invoice +msgid "Sale OrderLine Make_invoice" +msgstr "" + +#. module: sale +#: selection:sale.order.line,state:0 +msgid "Draft" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,name:sale.action_email_templates +msgid "Email Templates" +msgstr "" + +#. module: sale +#: help:sale.order.line,address_allotment_id:0 +msgid "A partner to whom the particular product needs to be allotted." +msgstr "" + +#. module: sale +#: field:sale.order,project_id:0 +msgid "Contract / Analytic" +msgstr "" + +#. module: sale +#: selection:sale.order,state:0 +#: selection:sale.report,state:0 +msgid "Waiting Schedule" +msgstr "" + +#. module: sale +#: field:sale.order,note:0 +msgid "Terms and conditions" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,name:sale.action_orders +#: model:ir.ui.menu,name:sale.menu_sale_order +#: view:sale.order:0 +msgid "Sales Orders" +msgstr "" + +#. module: sale +#: help:sale.order,amount_tax:0 +msgid "The tax amount." +msgstr "" + +#. module: sale +#: field:sale.order,invoiced_rate:0 +msgid "Invoiced Ratio" +msgstr "" + +#. module: sale +#: selection:sale.order,order_policy:0 +msgid "On Demand" +msgstr "" + +#. module: sale +#: selection:sale.report,month:0 +msgid "August" +msgstr "" + +#. module: sale +#: model:process.node,note:sale.process_node_saleorder0 +msgid "Drives procurement and invoicing" +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +msgid "To Do" +msgstr "" + +#. module: sale +#: selection:sale.report,month:0 +msgid "June" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,help:sale.action_shop_form +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to define a new sale shop.\n" +" </p><p>\n" +" Each quotation or sales order must be linked to a shop. The\n" +" shop also defines the warehouse from which the products will " +"be\n" +" delivered for each particular sales.\n" +" </p>\n" +" " +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +msgid "Order" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,name:sale.action_order_report_all +#: model:ir.ui.menu,name:sale.menu_report_product_all +#: view:sale.report:0 +msgid "Sales Analysis" +msgstr "" + +#. module: sale +#: field:sale.order,message_is_follower:0 +msgid "Is a Follower" +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +msgid "" +"Sales Order Lines that are confirmed, done or in exception state and haven't " +"yet been invoiced" +msgstr "" + +#. module: sale +#: model:ir.model,name:sale.model_sale_report +msgid "Sales Orders Statistics" +msgstr "" + +#. module: sale +#: field:sale.order,date_order:0 +msgid "Date" +msgstr "" + +#. module: sale +#: report:sale.order:0 +#: view:sale.order:0 +#: field:sale.order,user_id:0 +#: view:sale.order.line:0 +#: field:sale.order.line,salesman_id:0 +#: view:sale.report:0 +#: field:sale.report,user_id:0 +msgid "Salesperson" +msgstr "" + +#. module: sale +#: selection:sale.report,month:0 +msgid "November" +msgstr "" + +#. module: sale +#: view:sale.report:0 +msgid "Extended Filters..." +msgstr "" + +#. module: sale +#: model:process.node,name:sale.process_node_quotation0 +#: view:sale.order:0 +#: selection:sale.report,state:0 +msgid "Quotation" +msgstr "" + +#. module: sale +#: field:sale.advance.payment.inv,product_id:0 +msgid "Advance Product" +msgstr "" + +#. module: sale +#: selection:sale.order.line,state:0 +msgid "Exception" +msgstr "" + +#. module: sale +#: selection:sale.report,month:0 +msgid "October" +msgstr "" + +#. module: sale +#: model:process.transition,note:sale.process_transition_invoice0 +msgid "" +"The Salesman creates an invoice manually, if the sales order shipping policy " +"is 'Shipping and Manual in Progress'. The invoice is created automatically " +"if the shipping policy is 'Payment before Delivery'." +msgstr "" + +#. module: sale +#: model:ir.model,name:sale.model_sale_shop +#: view:sale.shop:0 +msgid "Sales Shop" +msgstr "" + +#. module: sale +#: help:sale.config.settings,module_sale_stock:0 +msgid "" +"Allows you to Make Quotation, Sale Order using different Order policy and " +"Manage Related Stock.\n" +" This installs the module sale_stock." +msgstr "" + +#. module: sale +#: help:sale.advance.payment.inv,product_id:0 +msgid "" +"Select a product of type service which is called 'Advance Product'.\n" +" You may have to create it and set it as a default value on " +"this field." +msgstr "" + +#. module: sale +#: selection:sale.report,month:0 +msgid "January" +msgstr "" + +#. module: sale +#: field:sale.config.settings,group_discount_per_so_line:0 +msgid "Allow setting a discount on the sales order lines" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,name:sale.action_orders_in_progress +msgid "Sales Order in Progress" +msgstr "" + +#. module: sale +#: view:sale.order.line.make.invoice:0 +msgid "" +"All items in these order lines will be invoiced. You can also invoice a " +"percentage of the sales order\n" +" or a fixed price (for advances) directly from the sales " +"order form if you prefer." +msgstr "" + +#. module: sale +#: help:sale.config.settings,module_warning:0 +msgid "" +"Allow to configure notification on products and trigger them when a user " +"wants to sale a given product or a given customer.\n" +"Example: Product: this product is deprecated, do not purchase more than 5.\n" +" Supplier: don't forget to ask for an express delivery." +msgstr "" + +#. module: sale +#: field:sale.order,paypal_url:0 +msgid "Paypal Url" +msgstr "" + +#. module: sale +#: help:sale.order,project_id:0 +msgid "The analytic account related to a sales order." +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "View Invoice" +msgstr "" + +#. module: sale +#: field:sale.advance.payment.inv,advance_payment_method:0 +msgid "What do you want to invoice?" +msgstr "" + +#. module: sale +#: field:sale.config.settings,group_sale_pricelist:0 +msgid "Use pricelists to adapt your price per customers" +msgstr "" + +#. module: sale +#: model:process.transition,note:sale.process_transition_confirmquotation0 +msgid "" +"The salesman confirms the quotation. The state of the sales order becomes " +"'In progress' or 'Manual in progress'." +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:942 +#, python-format +msgid "" +"You have to select a pricelist or a customer in the sales form !\n" +"Please set one before choosing a product." +msgstr "" + +#. module: sale +#: help:sale.order,origin:0 +msgid "Reference of the document that generated this sales order request." +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:955 +#, python-format +msgid "No valid pricelist line found ! :" +msgstr "" + +#. module: sale +#: code:addons/sale/wizard/sale_make_invoice_advance.py:113 +#: code:addons/sale/wizard/sale_make_invoice_advance.py:115 +#, python-format +msgid "Advance of %s %s" +msgstr "" + +#. module: sale +#: view:sale.report:0 +#: field:sale.report,delay:0 +msgid "Commitment Delay" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,name:sale.action_quotations +#: model:ir.ui.menu,name:sale.menu_sale_quotations +#: view:sale.order:0 +#: view:sale.report:0 +msgid "Quotations" +msgstr "" + +#. module: sale +#: help:account.config.settings,module_sale_analytic_plans:0 +msgid "This allows install module sale_analytic_plans." +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "Ignore Exception" +msgstr "" + +#. module: sale +#: help:sale.order,partner_shipping_id:0 +msgid "Delivery address for current sales order." +msgstr "" + +#. module: sale +#: field:sale.config.settings,module_sale_margin:0 +msgid "Display margins on sales orders" +msgstr "" + +#. module: sale +#: help:sale.order,invoice_ids:0 +msgid "" +"This is the list of invoices that have been generated for this sales order. " +"The same sales order may have been invoiced in several times (by line for " +"example)." +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "Your Reference" +msgstr "" + +#. module: sale +#: view:sale.advance.payment.inv:0 +msgid "Show Lines to Invoice" +msgstr "" + +#. module: sale +#: field:sale.report,date:0 +msgid "Date Order" +msgstr "" + +#. module: sale +#: field:sale.order,pricelist_id:0 +#: field:sale.report,pricelist_id:0 +#: field:sale.shop,pricelist_id:0 +msgid "Pricelist" +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "TVA :" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:444 +#, python-format +msgid "Customer Invoices" +msgstr "" + +#. module: sale +#: model:process.node,note:sale.process_node_order0 +msgid "Confirmed sales order to invoice." +msgstr "" + +#. module: sale +#: field:sale.order.line,sequence:0 +msgid "Sequence" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,name:sale.open_board_sales +#: model:ir.ui.menu,name:sale.menu_dashboard_sales +#: model:process.process,name:sale.process_process_salesprocess0 +#: view:res.partner:0 +#: view:sale.order:0 +#: view:sale.report:0 +msgid "Sales" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:308 +#, python-format +msgid "" +"If you change the pricelist of this order (and eventually the currency), " +"prices of existing order lines will not be updated." +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +msgid "Qty" +msgstr "" + +#. module: sale +#: selection:sale.order.line,type:0 +msgid "from stock" +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "Quotation Date" +msgstr "" + +#. module: sale +#: field:sale.order,amount_total:0 +#: view:sale.order.line:0 +msgid "Total" +msgstr "" + +#. module: sale +#: view:sale.order:0 +#: selection:sale.order,state:0 +#: view:sale.order.line:0 +#: selection:sale.order.line,state:0 +#: selection:sale.report,state:0 +msgid "Done" +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "Invoice address :" +msgstr "" + +#. module: sale +#: code:addons/sale/wizard/sale_line_invoice.py:121 +#: model:ir.model,name:sale.model_account_invoice +#: model:process.node,name:sale.process_node_invoice0 +#: view:sale.order:0 +#, python-format +msgid "Invoice" +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +msgid "My Sales Order Lines" +msgstr "" + +#. module: sale +#: model:process.transition.action,name:sale.process_transition_action_cancel0 +#: view:sale.advance.payment.inv:0 +#: view:sale.make.invoice:0 +#: view:sale.order.line.make.invoice:0 +msgid "Cancel" +msgstr "" + +#. module: sale +#: field:sale.order,message_follower_ids:0 +msgid "Followers" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:944 +#, python-format +msgid "No Pricelist ! : " +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "Sales Order " +msgstr "" + +#. module: sale +#: model:mail.message.subtype,description:sale.mt_order_sent +#: model:mail.message.subtype,name:sale.mt_order_sent +msgid "Quotation send" +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +msgid "Search Uninvoiced Lines" +msgstr "" + +#. module: sale +#: model:ir.model,name:sale.model_account_config_settings +msgid "account.config.settings" +msgstr "" + +#. module: sale +#: sql_constraint:sale.order:0 +msgid "Order Reference must be unique per Company!" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,help:sale.action_order_line_tree2 +msgid "" +"<p>\n" +" Here is a list of each sales order line to be invoiced. You " +"can\n" +" invoice sales orders partially, by lines of sales order. You " +"do\n" +" not need this list if you invoice from the delivery orders " +"or\n" +" if you invoice sales totally.\n" +" </p>\n" +" " +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "Shipping address :" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:505 +#, python-format +msgid "" +"You cannot group sales having different currencies for the same partner." +msgstr "" + +#. module: sale +#: view:sale.advance.payment.inv:0 +msgid "Invoice Sales Order" +msgstr "" + +#. module: sale +#: help:sale.order,invoice_quantity:0 +msgid "" +"The sales order will automatically create the invoice proposition (draft " +"invoice). You have to choose " +"if you want your invoice based on ordered " +msgstr "" + +#. module: sale +#: field:sale.config.settings,module_account_analytic_analysis:0 +msgid "Use contracts management" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:952 +#, python-format +msgid "" +"Cannot find a pricelist line matching this product and quantity.\n" +"You have to change either the product, the quantity or the pricelist." +msgstr "" + +#. module: sale +#: model:ir.model,name:sale.model_sale_advance_payment_inv +msgid "Sales Advance Payment Invoice" +msgstr "" + +#. module: sale +#: model:process.transition,name:sale.process_transition_invoice0 +#: model:process.transition.action,name:sale.process_transition_action_createinvoice0 +#: view:sale.advance.payment.inv:0 +#: view:sale.order:0 +#: field:sale.order,order_policy:0 +#: view:sale.order.line:0 +msgid "Create Invoice" +msgstr "" + +#. module: sale +#: help:sale.order,amount_untaxed:0 +msgid "The amount without tax." +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +msgid "Order reference" +msgstr "" + +#. module: sale +#: help:sale.order,invoiced:0 +msgid "It indicates that an invoice has been paid." +msgstr "" + +#. module: sale +#: report:sale.order:0 +#: field:sale.order.line,price_unit:0 +msgid "Unit Price" +msgstr "" + +#. module: sale +#: selection:sale.advance.payment.inv,advance_payment_method:0 +msgid "Percentage" +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "Other Information" +msgstr "" + +#. module: sale +#: model:email.template,body_html:sale.email_template_edi_sale +msgid "" +"\n" +"<div style=\"font-family: 'Lucica Grande', Ubuntu, Arial, Verdana, sans-" +"serif; font-size: 12px; color: rgb(34, 34, 34); background-color: #FFF; \">\n" +"\n" +" <p>Hello ${object.partner_id.name},</p>\n" +" \n" +" <p>Here is your ${object.state in ('draft', 'sent') and 'quotation' or " +"'order confirmation'} from ${object.company_id.name}: </p>\n" +"\n" +" <p style=\"border-left: 1px solid #8e0000; margin-left: 30px;\">\n" +" <strong>REFERENCES</strong><br />\n" +" Order number: <strong>${object.name}</strong><br />\n" +" Order total: <strong>${object.amount_total} " +"${object.pricelist_id.currency_id.name}</strong><br />\n" +" Order date: ${object.date_order}<br />\n" +" % if object.origin:\n" +" Order reference: ${object.origin}<br />\n" +" % endif\n" +" % if object.client_order_ref:\n" +" Your reference: ${object.client_order_ref}<br />\n" +" % endif\n" +" % if object.user_id:\n" +" Your contact: <a href=\"mailto:${object.user_id.email or " +"''}?subject=Order%20${object.name}\">${object.user_id.name}</a>\n" +" % endif\n" +" </p>\n" +"\n" +" % if object.paypal_url:\n" +" <br/>\n" +" <p>It is also possible to directly pay with Paypal:</p>\n" +" <a style=\"margin-left: 120px;\" href=\"${object.paypal_url}\">\n" +" <img class=\"oe_edi_paypal_button\" " +"src=\"https://www.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif\"/>\n" +" </a>\n" +" % endif\n" +"\n" +" <br/>\n" +" <p>If you have any question, do not hesitate to contact us.</p>\n" +" <p>Thank you for choosing ${object.company_id.name or 'us'}!</p>\n" +" <br/>\n" +" <br/>\n" +" <div style=\"width: 375px; margin: 0px; padding: 0px; background-color: " +"#8E0000; border-top-left-radius: 5px 5px; border-top-right-radius: 5px 5px; " +"background-repeat: repeat no-repeat;\">\n" +" <h3 style=\"margin: 0px; padding: 2px 14px; font-size: 12px; color: " +"#DDD;\">\n" +" <strong style=\"text-" +"transform:uppercase;\">${object.company_id.name}</strong></h3>\n" +" </div>\n" +" <div style=\"width: 347px; margin: 0px; padding: 5px 14px; line-height: " +"16px; background-color: #F2F2F2;\">\n" +" <span style=\"color: #222; margin-bottom: 5px; display: block; \">\n" +" % if object.company_id.street:\n" +" ${object.company_id.street}<br/>\n" +" % endif\n" +" % if object.company_id.street2:\n" +" ${object.company_id.street2}<br/>\n" +" % endif\n" +" % if object.company_id.city or object.company_id.zip:\n" +" ${object.company_id.zip} ${object.company_id.city}<br/>\n" +" % endif\n" +" % if object.company_id.country_id:\n" +" ${object.company_id.state_id and ('%s, ' % " +"object.company_id.state_id.name) or ''} ${object.company_id.country_id.name " +"or ''}<br/>\n" +" % endif\n" +" </span>\n" +" % if object.company_id.phone:\n" +" <div style=\"margin-top: 0px; margin-right: 0px; margin-bottom: " +"0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: " +"0px; padding-left: 0px; \">\n" +" Phone: ${object.company_id.phone}\n" +" </div>\n" +" % endif\n" +" % if object.company_id.website:\n" +" <div>\n" +" Web : <a " +"href=\"${object.company_id.website}\">${object.company_id.website}</a>\n" +" </div>\n" +" %endif\n" +" <p></p>\n" +" </div>\n" +"</div>\n" +" " +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +#: field:sale.order.line,product_id:0 +#: view:sale.report:0 +#: field:sale.report,product_id:0 +msgid "Product" +msgstr "" + +#. module: sale +#: help:sale.order,amount_total:0 +msgid "The total amount." +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "Confirm Sale" +msgstr "" + +#. module: sale +#: code:addons/sale/wizard/sale_make_invoice_advance.py:96 +#, python-format +msgid "There is no income account defined for this product: \"%s\" (id:%d)." +msgstr "" + +#. module: sale +#: selection:sale.report,month:0 +msgid "May" +msgstr "" + +#. module: sale +#: model:email.template,subject:sale.email_template_edi_sale +msgid "" +"${object.company_id.name} ${object.state in ('draft', 'sent') and " +"'Quotation' or 'Order'} (Ref ${object.name or 'n/a' })" +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "Price" +msgstr "" + +#. module: sale +#: help:sale.order,order_policy:0 +msgid "" +"On demand: A draft invoice can be created from the sales order when needed. " +"\n" +"On delivery order: A draft invoice can be created from the delivery order " +"when the products have been delivered. \n" +"Before delivery: A draft invoice is created from the sales order and must be " +"paid before the products can be delivered." +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,help:sale.action_order_report_all +msgid "" +"This report performs analysis on your quotations and sales orders. Analysis " +"check your sales revenues and sort it by different group criteria (salesman, " +"partner, product, etc.) Use this report to perform analysis on sales not " +"having invoiced yet. If you want to analyse your turnover, you should use " +"the Invoice Analysis report in the Accounting application." +msgstr "" + +#. module: sale +#: model:ir.actions.report.xml,name:sale.report_sale_order +msgid "Quotation / Order" +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "Tel. :" +msgstr "" + +#. module: sale +#: view:sale.make.invoice:0 +msgid "Do you really want to create the invoice(s)?" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,help:sale.action_quotations +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a quotation, the first step of a new sale.\n" +" </p><p>\n" +" OpenERP will help you handle efficiently the complete sale " +"flow:\n" +" from the quotation to the sales order, the\n" +" delivery, the invoicing and the payment collection.\n" +" </p><p>\n" +" The social feature helps you organize discussions on each " +"sales\n" +" order, and allow your customers to keep track of the " +"evolution\n" +" of the sales order.\n" +" </p>\n" +" " +msgstr "" + +#. module: sale +#: view:res.partner:0 +msgid "sale.group_delivery_invoice_address" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:781 +#, python-format +msgid "" +"There is no Fiscal Position defined or Income category account defined for " +"default properties of Product categories." +msgstr "" + +#. module: sale +#: model:process.node,note:sale.process_node_invoice0 +msgid "To be reviewed by the accountant." +msgstr "" + +#. module: sale +#: model:res.groups,name:sale.group_mrp_properties +msgid "Properties on lines" +msgstr "" + +#. module: sale +#: selection:sale.order,state:0 +msgid "Sale to Invoice" +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "Order Number" +msgstr "" + +#. module: sale +#: view:sale.order:0 +#: field:sale.order,partner_id:0 +#: field:sale.order.line,order_partner_id:0 +msgid "Customer" +msgstr "" + +#. module: sale +#: model:product.template,name:sale.advance_product_0_product_template +msgid "Advance" +msgstr "" + +#. module: sale +#: selection:sale.report,month:0 +msgid "February" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,help:sale.action_orders +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a quotation that can be converted into a " +"sales\n" +" order.\n" +" </p><p>\n" +" OpenERP will help you efficiently handle the complete sales " +"flow:\n" +" quotation, sales order, delivery, invoicing and payment.\n" +" </p>\n" +" " +msgstr "" + +#. module: sale +#: field:sale.order,invoice_quantity:0 +msgid "Invoice on" +msgstr "" + +#. module: sale +#: selection:sale.advance.payment.inv,advance_payment_method:0 +msgid "Fixed price (deposit)" +msgstr "" + +#. module: sale +#: model:ir.model,name:sale.model_sale_config_settings +msgid "sale.config.settings" +msgstr "" + +#. module: sale +#: selection:sale.report,month:0 +msgid "September" +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "Date Ordered" +msgstr "" + +#. module: sale +#: selection:sale.order,order_policy:0 +msgid "Before Delivery" +msgstr "" + +#. module: sale +#: field:sale.order.line,product_uos:0 +msgid "Product UoS" +msgstr "" + +#. module: sale +#: model:process.node,note:sale.process_node_quotation0 +msgid "Draft state of sales order" +msgstr "" + +#. module: sale +#: field:sale.order,origin:0 +msgid "Source Document" +msgstr "" + +#. module: sale +#: selection:sale.report,month:0 +msgid "April" +msgstr "" + +#. module: sale +#: selection:sale.report,state:0 +msgid "Manual In Progress" +msgstr "" + +#. module: sale +#: code:addons/sale/wizard/sale_line_invoice.py:107 +#: code:addons/sale/wizard/sale_make_invoice.py:42 +#: code:addons/sale/wizard/sale_make_invoice.py:55 +#, python-format +msgid "Warning!" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,name:sale.action_order_tree +msgid "Old Quotations" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,help:sale.act_res_partner_2_sale_order +msgid "" +"<p class=\"oe_view_nocontent_create\">\n" +" Click to create a quotation or sales order for this " +"customer.\n" +" </p><p>\n" +" OpenERP will help you efficiently handle the complete sale " +"flow:\n" +" quotation, sales order, delivery, invoicing and\n" +" payment.\n" +" </p><p>\n" +" The social feature helps you organize discussions on each " +"sales\n" +" order, and allow your customer to keep track of the " +"evolution\n" +" of the sales order.\n" +" </p>\n" +" " +msgstr "" + +#. module: sale +#: field:sale.order,message_summary:0 +msgid "Summary" +msgstr "" + +#. module: sale +#: help:sale.order,message_ids:0 +msgid "Messages and communication history" +msgstr "" + +#. module: sale +#: view:sale.order:0 +#: view:sale.order.line:0 +msgid "Search Sales Order" +msgstr "" + +#. module: sale +#: report:sale.order:0 +#: field:sale.order.line,name:0 +msgid "Description" +msgstr "" + +#. module: sale +#: view:sale.config.settings:0 +msgid "" +"Use contract to be able to manage your services with\n" +" multiple invoicing as part of the same contract " +"with\n" +" your customer." +msgstr "" + +#. module: sale +#: view:sale.report:0 +msgid "Ordered month of the sales order" +msgstr "" + +#. module: sale +#: model:process.transition,name:sale.process_transition_saleinvoice0 +msgid "From a sales order" +msgstr "" + +#. module: sale +#: view:sale.order.line:0 +msgid "Confirmed sales order lines, not yet delivered" +msgstr "" + +#. module: sale +#: model:process.transition,note:sale.process_transition_saleinvoice0 +msgid "" +"Depending on the Invoicing control of the sales order, the invoice can be " +"based on delivered or on ordered quantities. Thus, a sales order can " +"generates an invoice or a delivery order as soon as it is confirmed by the " +"salesman." +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "UoS" +msgstr "" + +#. module: sale +#: selection:sale.advance.payment.inv,advance_payment_method:0 +msgid "Some order lines" +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:983 +#, python-format +msgid "Cannot delete a sales order line which is in state '%s'." +msgstr "" + +#. module: sale +#: report:sale.order:0 +#: field:sale.order,payment_term:0 +msgid "Payment Term" +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "Sales Order ready to be invoiced" +msgstr "" + +#. module: sale +#: field:sale.config.settings,group_invoice_so_lines:0 +msgid "Generate invoices based on the sales order lines" +msgstr "" + +#. module: sale +#: view:sale.advance.payment.inv:0 +#: view:sale.make.invoice:0 +#: view:sale.order.line.make.invoice:0 +msgid "or" +msgstr "" + +#. module: sale +#: model:ir.actions.act_window,name:sale.action_order_line_product_tree +#: view:sale.order:0 +#: view:sale.order.line:0 +msgid "Sales Order Lines" +msgstr "" + +#. module: sale +#: help:sale.order,pricelist_id:0 +msgid "Pricelist for current sales order." +msgstr "" + +#. module: sale +#: report:sale.order:0 +msgid "Quotation N°" +msgstr "" + +#. module: sale +#: model:res.groups,name:sale.group_discount_per_so_line +msgid "Discount on lines" +msgstr "" + +#. module: sale +#: field:sale.order,client_order_ref:0 +msgid "Customer Reference" +msgstr "" + +#. module: sale +#: view:sale.report:0 +msgid "Picked" +msgstr "" + +#. module: sale +#: help:sale.config.settings,module_sale_margin:0 +msgid "" +"This adds the 'Margin' on sales order.\n" +" This gives the profitability by calculating the difference " +"between the Unit Price and Cost Price.\n" +" This installs the module sale_margin." +msgstr "" + +#. module: sale +#: code:addons/sale/sale.py:865 +#, python-format +msgid "" +"Before choosing a product,\n" +" select a customer in the sales form." +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "Total Tax Included" +msgstr "" + +#. module: sale +#: view:sale.order:0 +msgid "New Copy of Quotation" +msgstr "" + +#. module: sale +#: view:sale.advance.payment.inv:0 +msgid "" +"Select how you want to invoice this order. This\n" +" will create a draft invoice that can be modified\n" +" before validation." +msgstr "" + +#. module: sale +#: view:sale.report:0 +msgid "Ordered date of the sales order" +msgstr "" diff --git a/addons/sale/i18n/zh_TW.po b/addons/sale/i18n/zh_TW.po index 1ec788e72b9..eb5a57ff7d1 100644 --- a/addons/sale/i18n/zh_TW.po +++ b/addons/sale/i18n/zh_TW.po @@ -7,19 +7,19 @@ msgstr "" "Project-Id-Version: OpenERP Server 6.0dev_rc3\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:04+0000\n" -"PO-Revision-Date: 2010-08-07 04:21+0000\n" -"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n" +"PO-Revision-Date: 2013-12-27 04:26+0000\n" +"Last-Translator: Andy Cheng <andy@dobtor.com>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-12 05:42+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-12-28 05:19+0000\n" +"X-Generator: Launchpad (build 16877)\n" #. module: sale #: model:res.groups,name:sale.group_analytic_accounting msgid "Analytic Accounting for Sales" -msgstr "" +msgstr "銷售分析科目" #. module: sale #: model:process.transition,name:sale.process_transition_confirmquotation0 @@ -29,24 +29,24 @@ msgstr "確認報價" #. module: sale #: view:board.board:0 msgid "Sales Dashboard" -msgstr "" +msgstr "業務儀錶版" #. module: sale #: code:addons/sale/wizard/sale_make_invoice_advance.py:92 #, python-format msgid "There is no income account defined as global property." -msgstr "" +msgstr "沒有任何收益科目被定義為全域屬性。" #. module: sale #: model:ir.actions.act_window,name:sale.action_order_line_tree2 #: model:ir.ui.menu,name:sale.menu_invoicing_sales_order_lines msgid "Order Lines to Invoice" -msgstr "" +msgstr "依訂單項目開立發票" #. module: sale #: field:sale.order,date_confirm:0 msgid "Confirmation Date" -msgstr "" +msgstr "確認日期" #. module: sale #: view:sale.order:0 @@ -58,12 +58,12 @@ msgstr "分類方式..." #. module: sale #: field:sale.order.line,address_allotment_id:0 msgid "Allotment Partner" -msgstr "" +msgstr "再分配給業務夥伴" #. module: sale #: model:ir.actions.act_window,name:sale.action_view_sale_advance_payment_inv msgid "Invoice Order" -msgstr "" +msgstr "產生訂單發票" #. module: sale #: view:sale.config.settings:0 @@ -82,6 +82,12 @@ msgid "" "invoice automatically.\n" " It installs the account_analytic_analysis module." msgstr "" +"讓您可以自行定義客戶的合約條款:\n" +"開立發票方式 (固定價格,根據工時表,定金發票)。\n" +"固定價格( 如,每一開發人員 650 歐元/日 )\n" +"期間 (如,一年的技術支援合約)\n" +"您可以能夠依照合約執行進度自動開立發票。\n" +"本項功能安裝於 account_analytic_analysis 模組。" #. module: sale #: model:email.template,report_name:sale.email_template_edi_sale @@ -89,6 +95,8 @@ msgid "" "${(object.name or '').replace('/','_')}_${object.state == 'draft' and " "'draft' or ''}" msgstr "" +"${(object.name or '').replace('/','_')}_${object.state == 'draft' and " +"'draft' or ''}" #. module: sale #: view:sale.order.line:0 @@ -104,23 +112,23 @@ msgstr "採購方式" #. module: sale #: help:sale.order,date_confirm:0 msgid "Date on which sales order is confirmed." -msgstr "" +msgstr "銷售訂單於該日期確認" #. module: sale #: field:account.config.settings,module_sale_analytic_plans:0 msgid "Use multiple analytic accounts on sales" -msgstr "" +msgstr "在業務銷售中啟用多個分析科目" #. module: sale #: selection:sale.report,month:0 msgid "March" -msgstr "" +msgstr "三月" #. module: sale #: code:addons/sale/sale.py:565 #, python-format msgid "First cancel all invoices attached to this sales order." -msgstr "" +msgstr "請先取消此銷售訂單附帶的所有發票。" #. module: sale #: view:sale.order:0 @@ -140,7 +148,7 @@ msgstr "未讀訊息" #: field:sale.report,company_id:0 #: field:sale.shop,company_id:0 msgid "Company" -msgstr "" +msgstr "公司" #. module: sale #: field:sale.make.invoice,invoice_date:0 @@ -166,17 +174,17 @@ msgstr "發票異常情況" #. module: sale #: view:sale.order:0 msgid "Quotation " -msgstr "" +msgstr "報價 " #. module: sale #: selection:sale.order,state:0 msgid "Draft Quotation" -msgstr "" +msgstr "報價單草稿" #. module: sale #: field:sale.order,partner_shipping_id:0 msgid "Delivery Address" -msgstr "" +msgstr "送貨地址" #. module: sale #: view:sale.report:0 @@ -188,7 +196,7 @@ msgstr "分析科目" #. module: sale #: field:sale.config.settings,module_sale_journal:0 msgid "Allow batch invoicing of delivery orders through journals" -msgstr "" +msgstr "允許透過日記帳的送貨單批次大量開立發票。" #. module: sale #: field:sale.order.line,price_subtotal:0 @@ -199,7 +207,7 @@ msgstr "小計" #: view:sale.report:0 #: field:sale.report,day:0 msgid "Day" -msgstr "" +msgstr "日" #. module: sale #: model:process.transition.action,name:sale.process_transition_action_cancelorder0 @@ -215,39 +223,39 @@ msgstr "重量" #. module: sale #: view:sale.config.settings:0 msgid "Warehouse Features" -msgstr "" +msgstr "倉儲功能" #. module: sale #: field:sale.config.settings,time_unit:0 msgid "The default working time unit for services is" -msgstr "" +msgstr "預設的服務工時單位是" #. module: sale #: field:sale.order.line,product_uom:0 msgid "Unit of Measure " -msgstr "" +msgstr "度量單位 " #. module: sale #: code:addons/sale/wizard/sale_make_invoice_advance.py:101 #, python-format msgid "Incorrect Data" -msgstr "" +msgstr "錯誤的資料" #. module: sale #: code:addons/sale/wizard/sale_make_invoice_advance.py:102 #, python-format msgid "The value of Advance Amount must be positive." -msgstr "" +msgstr "預付款金額必須為正值(大於零)" #. module: sale #: help:sale.config.settings,group_discount_per_so_line:0 msgid "Allows you to apply some discount per sales order line." -msgstr "" +msgstr "讓您可以對銷售訂單每個項目給予折扣" #. module: sale #: view:sale.order.line:0 msgid "Sales Order Lines that are in 'done' state" -msgstr "" +msgstr "銷售訂單項目在完成狀態" #. module: sale #: selection:sale.order.line,type:0 @@ -257,7 +265,7 @@ msgstr "按要求" #. module: sale #: field:sale.order,message_ids:0 msgid "Messages" -msgstr "" +msgstr "訊息" #. module: sale #: field:sale.report,state:0 @@ -303,6 +311,8 @@ msgid "" "replenishment.\n" "On order: When needed, the product is purchased or produced." msgstr "" +"從庫存:當需要時,產品由庫存取得或等待庫存回補。\n" +"依訂單:當需要時,產品是經由採購或自行生產。" #. module: sale #: help:sale.config.settings,module_analytic_user_function:0 @@ -315,6 +325,10 @@ msgid "" "available.\n" " This installs the module analytic_user_function." msgstr "" +"讓您可以自行定義某個使用者於指定科目的預設功能。\n" +"主要用於當使用者加密自己的工時表。\n" +"數值會自動取得,欄位會自動填入。但仍然可以更改相關數值。\n" +"本功能會附帶安裝 analytic_user_function 模組。" #. module: sale #: selection:sale.order,state:0 @@ -326,22 +340,22 @@ msgstr "已取消" #. module: sale #: view:sale.order.line:0 msgid "Sales Order Lines related to a Sales Order of mine" -msgstr "" +msgstr "與我的銷售訂單相關的訂單項目" #. module: sale #: selection:sale.order,state:0 msgid "Quotation Sent" -msgstr "" +msgstr "報價單已送出" #. module: sale #: model:ir.model,name:sale.model_mail_compose_message msgid "Email composition wizard" -msgstr "" +msgstr "電子郵件撰寫精靈" #. module: sale #: help:sale.order,message_unread:0 msgid "If checked new messages require your attention." -msgstr "" +msgstr "當有新訊息時通知您。" #. module: sale #: selection:sale.order,state:0 @@ -375,12 +389,12 @@ msgstr "發票地址" #. module: sale #: help:sale.order,create_date:0 msgid "Date on which sales order is created." -msgstr "" +msgstr "銷售訂單於該日期建立。" #. module: sale #: view:res.partner:0 msgid "False" -msgstr "" +msgstr "否" #. module: sale #: help:sale.advance.payment.inv,advance_payment_method:0 @@ -391,17 +405,21 @@ msgid "" " Use Some Order Lines to invoice a selection of the sales " "order lines." msgstr "" +"依全部金額開立最終發票。\n" +" 依「百分比」來按總金額比例開立發票。\n" +" 依「固定金額」來開立預付款項的發票。\n" +" 依「部分訂單項目」按所選的訂單項目開立發票。" #. module: sale #: view:sale.make.invoice:0 #: view:sale.order.line.make.invoice:0 msgid "Create Invoices" -msgstr "" +msgstr "開立發票" #. module: sale #: report:sale.order:0 msgid "Tax" -msgstr "" +msgstr "稅" #. module: sale #: code:addons/sale/sale.py:277 @@ -409,7 +427,7 @@ msgstr "" #: code:addons/sale/sale.py:983 #, python-format msgid "Invalid Action!" -msgstr "" +msgstr "無效的動作" #. module: sale #: help:sale.order,state:0 @@ -425,13 +443,13 @@ msgstr "" #. module: sale #: field:sale.report,date_confirm:0 msgid "Date Confirm" -msgstr "" +msgstr "確認日期" #. module: sale #: view:sale.report:0 #: field:sale.report,nbr:0 msgid "# of Lines" -msgstr "" +msgstr "明細數" #. module: sale #: help:sale.order,message_summary:0 @@ -449,7 +467,7 @@ msgstr "" #: view:sale.report:0 #: field:sale.report,product_uom_qty:0 msgid "# of Qty" -msgstr "" +msgstr "數量" #. module: sale #: report:sale.order:0 @@ -461,24 +479,24 @@ msgstr "傳真 :" #, python-format msgid "" "In order to delete a confirmed sales order, you must cancel it before !" -msgstr "" +msgstr "要刪除已確認的銷售訂單前,您必須先取消它。" #. module: sale #: view:sale.order:0 msgid "(update)" -msgstr "" +msgstr "(更新)" #. module: sale #: model:ir.model,name:sale.model_res_partner #: view:sale.report:0 #: field:sale.report,partner_id:0 msgid "Partner" -msgstr "" +msgstr "業務夥伴" #. module: sale #: view:sale.config.settings:0 msgid "Contract Features" -msgstr "" +msgstr "合約功能" #. module: sale #: code:addons/sale/sale.py:287 @@ -497,7 +515,7 @@ msgstr "銷貨單" #. module: sale #: model:res.groups,name:sale.group_invoice_so_lines msgid "Enable Invoicing Sales order lines" -msgstr "" +msgstr "允許依銷售訂單逐項開立發票" #. module: sale #: model:ir.model,name:sale.model_sale_order_line @@ -507,7 +525,7 @@ msgstr "銷貨單明㚼" #. module: sale #: field:sale.advance.payment.inv,amount:0 msgid "Advance Amount" -msgstr "" +msgstr "預付款總額" #. module: sale #: help:sale.order,invoice_exists:0 @@ -524,12 +542,12 @@ msgstr "" #. module: sale #: field:sale.config.settings,module_analytic_user_function:0 msgid "One employee can have different roles per contract" -msgstr "" +msgstr "一位員工在不同合約中可以有不同角色" #. module: sale #: selection:sale.advance.payment.inv,advance_payment_method:0 msgid "Invoice the whole sales order" -msgstr "" +msgstr "依整張銷售訂單開立發票" #. module: sale #: field:sale.shop,payment_default_id:0 @@ -544,13 +562,13 @@ msgstr "確認" #. module: sale #: field:sale.config.settings,timesheet:0 msgid "Prepare invoices based on timesheets" -msgstr "" +msgstr "準備依工時開立發票" #. module: sale #: code:addons/sale/sale.py:820 #, python-format msgid "You cannot cancel a sales order line that has already been invoiced." -msgstr "" +msgstr "您無法取消已開發票的銷售訂單項目。" #. module: sale #: view:account.invoice.report:0 @@ -568,27 +586,27 @@ msgstr "已運送數量" #: view:sale.report:0 #: field:sale.report,year:0 msgid "Year" -msgstr "" +msgstr "年" #. module: sale #: field:sale.config.settings,group_uom:0 msgid "Allow using different units of measures" -msgstr "" +msgstr "允許使用不同的度量單位" #. module: sale #: model:mail.message.subtype,name:sale.mt_order_confirmed msgid "Sales Order Confirmed" -msgstr "" +msgstr "銷售訂單已確認" #. module: sale #: view:sale.order:0 msgid "Sales Order that haven't yet been confirmed" -msgstr "" +msgstr "尚未確認的銷售訂單" #. module: sale #: view:sale.order:0 msgid "Print" -msgstr "" +msgstr "列印" #. module: sale #: report:sale.order:0 @@ -610,7 +628,7 @@ msgstr "折扣(%)" #: code:addons/sale/sale.py:764 #, python-format msgid "Please define income account for this product: \"%s\" (id:%d)." -msgstr "" +msgstr "請為此產品定義收益科目 \"%s\" (id:%d) 。" #. module: sale #: field:sale.order.line,invoice_lines:0 @@ -626,7 +644,7 @@ msgstr "總價" #. module: sale #: help:account.config.settings,group_analytic_account_for_sales:0 msgid "Allows you to specify an analytic account on sales orders." -msgstr "" +msgstr "讓您可為銷售訂單指定一分析科目。" #. module: sale #: help:sale.config.settings,module_sale_journal:0 @@ -640,24 +658,24 @@ msgstr "" #. module: sale #: help:sale.make.invoice,grouped:0 msgid "Check the box to group the invoices for the same customers" -msgstr "" +msgstr "點選此項目,發票將以同一客戶分群" #. module: sale #: model:ir.actions.act_window,name:sale.action_sale_order_make_invoice #: model:ir.actions.act_window,name:sale.action_view_sale_order_line_make_invoice msgid "Make Invoices" -msgstr "" +msgstr "開立發票" #. module: sale #: code:addons/sale/res_config.py:97 #, python-format msgid "Hour" -msgstr "" +msgstr "時" #. module: sale #: field:res.partner,sale_order_count:0 msgid "# of Sales Order" -msgstr "" +msgstr "銷售訂單數量" #. module: sale #: help:sale.config.settings,timesheet:0 @@ -668,22 +686,25 @@ msgid "" "user-wise as well as month wise.\n" " This installs the module account_analytic_analysis." msgstr "" +"修改科目分析檢視是為了顯示重要資料提供給服務公司的專案經理。\n" +" 您也可以檢視依使用者或依月份的科目分析摘要報表。\n" +" 此功能將會安裝 account_analytic_analysis 模組。" #. module: sale #: field:sale.order,create_date:0 msgid "Creation Date" -msgstr "" +msgstr "建立日期" #. module: sale #: view:sale.order:0 #: view:sale.order.line:0 msgid "To Invoice" -msgstr "" +msgstr "待開發票" #. module: sale #: help:sale.order,partner_invoice_id:0 msgid "Invoice address for current sales order." -msgstr "" +msgstr "當前銷售訂單的發票地址。" #. module: sale #: selection:sale.order,invoice_quantity:0 @@ -693,12 +714,12 @@ msgstr "已訂數量" #. module: sale #: view:sale.report:0 msgid "Ordered Year of the sales order" -msgstr "" +msgstr "銷售訂單的年份" #. module: sale #: model:res.groups,name:sale.group_delivery_invoice_address msgid "Addresses in Sales Orders" -msgstr "" +msgstr "銷售訂單中的地址" #. module: sale #: field:sale.advance.payment.inv,qtty:0 @@ -715,12 +736,12 @@ msgstr "總計 :" #. module: sale #: view:sale.order.line:0 msgid "Sales Order Lines ready to be invoiced" -msgstr "" +msgstr "銷售訂單項目已可開立發票" #. module: sale #: view:sale.report:0 msgid "My Sales" -msgstr "" +msgstr "我的業務銷售" #. module: sale #: field:sale.order,name:0 @@ -731,12 +752,12 @@ msgstr "訂單參考" #. module: sale #: field:sale.order,fiscal_position:0 msgid "Fiscal Position" -msgstr "" +msgstr "財務結構" #. module: sale #: selection:sale.report,month:0 msgid "July" -msgstr "" +msgstr "七月" #. module: sale #: help:sale.order.line,state:0 @@ -751,11 +772,16 @@ msgid "" " \n" "* The 'Cancelled' status is set when a user cancel the sales order related." msgstr "" +"* 「草稿」狀態,指相關的銷售訂單仍是草稿。 \n" +"* 「確認」狀態,指相關的銷售訂單已完成確認。 \n" +"* 「異常」狀態,指相關的銷售訂單有異常狀態 。\n" +"* 「完成」狀態,指相關的銷售訂單已經完成取貨時。 \n" +"* 「取消」狀態,指使用者取消該銷售訂單。" #. module: sale #: view:sale.config.settings:0 msgid "Default Options" -msgstr "" +msgstr "預設選項" #. module: sale #: code:addons/sale/sale.py:960 @@ -768,7 +794,7 @@ msgstr "設定錯誤!" #. module: sale #: field:account.config.settings,group_analytic_account_for_sales:0 msgid "Analytic accounting for sales" -msgstr "" +msgstr "業務銷售分析科目" #. module: sale #: view:sale.order:0 @@ -784,7 +810,7 @@ msgstr "狀態" msgid "" "After clicking 'Show Lines to Invoice', select lines to invoice and create " "the invoice from the 'More' dropdown menu." -msgstr "" +msgstr "點選 「依訂單項目開立發票」 後,選擇要開發票的項目並從下拉式選項「更多」 建立發票。" #. module: sale #: view:sale.order:0 @@ -800,7 +826,7 @@ msgstr "EDI 價目表 (%s)" #. module: sale #: selection:sale.order,order_policy:0 msgid "On Delivery Order" -msgstr "" +msgstr "依送貨單" #. module: sale #: view:sale.config.settings:0 @@ -810,24 +836,24 @@ msgstr "發票程序" #. module: sale #: view:sale.order:0 msgid "Order Date" -msgstr "" +msgstr "訂單日期" #. module: sale #: view:sale.order:0 msgid "Sales Order done" -msgstr "" +msgstr "銷售訂單已完成" #. module: sale #: code:addons/sale/sale.py:364 #, python-format msgid "Please define sales journal for this company: \"%s\" (id:%d)." -msgstr "" +msgstr "請為此公司 \"%s\" (id:%d) 定義銷售日記帳。" #. module: sale #: model:ir.actions.act_window,name:sale.act_res_partner_2_sale_order #: view:res.partner:0 msgid "Quotations and Sales" -msgstr "" +msgstr "報價與業務銷售" #. module: sale #: field:sale.order,invoiced:0 @@ -838,12 +864,12 @@ msgstr "已付" #: help:sale.config.settings,group_uom:0 msgid "" "Allows you to select and maintain different units of measure for products." -msgstr "" +msgstr "允許您針對產品選擇與維護不同的度量單位" #. module: sale #: view:sale.report:0 msgid "Reference Unit of Measure" -msgstr "" +msgstr "參考度量單位" #. module: sale #: view:sale.advance.payment.inv:0 @@ -853,7 +879,7 @@ msgstr "開立並檢視發票" #. module: sale #: view:sale.order.line:0 msgid "Sales order lines done" -msgstr "" +msgstr "銷售訂單項目已完成" #. module: sale #: field:sale.make.invoice,grouped:0 @@ -863,18 +889,18 @@ msgstr "發票分類" #. module: sale #: help:sale.advance.payment.inv,amount:0 msgid "The amount to be invoiced in advance." -msgstr "" +msgstr "預付款發票總金額" #. module: sale #: model:ir.model,name:sale.model_sale_make_invoice msgid "Sales Make Invoice" -msgstr "" +msgstr "銷售開立發票" #. module: sale #: code:addons/sale/sale.py:307 #, python-format msgid "Pricelist Warning!" -msgstr "" +msgstr "價格表警示!" #. module: sale #: field:sale.order.line,discount:0 @@ -890,11 +916,14 @@ msgid "" "1.The state of this sales order line is either \"draft\" or \"cancel\"!\n" "2.The Sales Order Line is Invoiced!" msgstr "" +"由於以下原因無法為此銷售訂單項目開立發票: \n" +"1. 銷售訂單項目的狀態是「草稿」或「取消」!\n" +"2. 銷售訂單項目已開立發票。" #. module: sale #: view:sale.order.line.make.invoice:0 msgid "Create & View Invoice" -msgstr "" +msgstr "新增並檢視發票" #. module: sale #: view:board.board:0 @@ -910,7 +939,7 @@ msgstr "發票" #. module: sale #: selection:sale.report,month:0 msgid "December" -msgstr "" +msgstr "十二月" #. module: sale #: view:sale.config.settings:0 @@ -926,17 +955,17 @@ msgstr "已出貨" #: view:sale.report:0 #: field:sale.report,month:0 msgid "Month" -msgstr "" +msgstr "月" #. module: sale #: field:sale.order,currency_id:0 msgid "Currency" -msgstr "" +msgstr "貨幣" #. module: sale #: view:sale.order.line:0 msgid "Uninvoiced" -msgstr "" +msgstr "未開立發票" #. module: sale #: view:sale.report:0 @@ -948,7 +977,7 @@ msgstr "產品類別" #: code:addons/sale/sale.py:564 #, python-format msgid "Cannot cancel this sales order!" -msgstr "" +msgstr "無法取消此銷售訂單!" #. module: sale #: view:sale.order:0 @@ -958,7 +987,7 @@ msgstr "重新開立發票" #. module: sale #: field:sale.config.settings,module_warning:0 msgid "Allow configuring alerts by customer or products" -msgstr "" +msgstr "可依客戶或產品來設定警示訊息" #. module: sale #: field:sale.shop,name:0 @@ -968,7 +997,7 @@ msgstr "商店名稱" #. module: sale #: view:sale.order:0 msgid "My Sales Orders" -msgstr "" +msgstr "我的銷售訂單" #. module: sale #: report:sale.order:0 @@ -992,18 +1021,18 @@ msgstr "先開發票" msgid "" "To allow your salesman to make invoices for sales order lines using the menu " "'Lines to Invoice'." -msgstr "" +msgstr "允許您的業務人員使用「依訂單項目開立發票」為銷售訂單項目開立發票。" #. module: sale #: model:ir.actions.client,name:sale.action_client_sale_menu msgid "Open Sale Menu" -msgstr "" +msgstr "開啟業務銷售選單" #. module: sale #: code:addons/sale/sale.py:598 #, python-format msgid "You cannot confirm a sales order which has no line." -msgstr "" +msgstr "您無法確認沒有銷售項目的銷售訂單。" #. module: sale #: selection:sale.report,state:0 @@ -1019,7 +1048,7 @@ msgstr "未定義客戶 !" #. module: sale #: field:sale.config.settings,module_sale_stock:0 msgid "Trigger delivery orders automatically from sales orders" -msgstr "" +msgstr "由銷售訂單自動帶出送貨單" #. module: sale #: view:sale.make.invoice:0 @@ -1036,12 +1065,12 @@ msgstr "確認" #: code:addons/sale/wizard/sale_make_invoice_advance.py:106 #, python-format msgid "Advance of %s %%" -msgstr "" +msgstr "%s %%的預付款" #. module: sale #: model:ir.model,name:sale.model_sale_order_line_make_invoice msgid "Sale OrderLine Make_invoice" -msgstr "" +msgstr "銷售項目開立發票" #. module: sale #: selection:sale.order.line,state:0 @@ -1056,12 +1085,12 @@ msgstr "郵件範本" #. module: sale #: help:sale.order.line,address_allotment_id:0 msgid "A partner to whom the particular product needs to be allotted." -msgstr "" +msgstr "業務夥伴有特定產品業務分配" #. module: sale #: field:sale.order,project_id:0 msgid "Contract / Analytic" -msgstr "" +msgstr "合約 / 分析" #. module: sale #: selection:sale.order,state:0 @@ -1072,7 +1101,7 @@ msgstr "等待排程" #. module: sale #: field:sale.order,note:0 msgid "Terms and conditions" -msgstr "" +msgstr "條款" #. module: sale #: model:ir.actions.act_window,name:sale.action_orders @@ -1084,37 +1113,37 @@ msgstr "銷貨單" #. module: sale #: help:sale.order,amount_tax:0 msgid "The tax amount." -msgstr "" +msgstr "稅額" #. module: sale #: field:sale.order,invoiced_rate:0 msgid "Invoiced Ratio" -msgstr "" +msgstr "已開發票比例" #. module: sale #: selection:sale.order,order_policy:0 msgid "On Demand" -msgstr "" +msgstr "應需求" #. module: sale #: selection:sale.report,month:0 msgid "August" -msgstr "" +msgstr "八月" #. module: sale #: model:process.node,note:sale.process_node_saleorder0 msgid "Drives procurement and invoicing" -msgstr "" +msgstr "驅動採購與開立發票" #. module: sale #: view:sale.order.line:0 msgid "To Do" -msgstr "" +msgstr "待辦" #. module: sale #: selection:sale.report,month:0 msgid "June" -msgstr "" +msgstr "六月" #. module: sale #: model:ir.actions.act_window,help:sale.action_shop_form @@ -1129,6 +1158,13 @@ msgid "" " </p>\n" " " msgstr "" +"<p class=\"oe_view_nocontent_create\">\n" +" 點擊定義一個新的銷售店點。\n" +" </p><p>\n" +" 每一張報價單或銷售訂單都必須連結到一個銷售店點,\n" +" 銷售店點也對每筆訂單定義發貨倉庫。.\n" +" </p>\n" +" " #. module: sale #: view:sale.order.line:0 @@ -1140,29 +1176,29 @@ msgstr "訂單" #: model:ir.ui.menu,name:sale.menu_report_product_all #: view:sale.report:0 msgid "Sales Analysis" -msgstr "" +msgstr "業務銷售分析" #. module: sale #: field:sale.order,message_is_follower:0 msgid "Is a Follower" -msgstr "" +msgstr "為關注者" #. module: sale #: view:sale.order.line:0 msgid "" "Sales Order Lines that are confirmed, done or in exception state and haven't " "yet been invoiced" -msgstr "" +msgstr "已確認、已完成或在例外狀態,且尚未開立發票的銷售訂單" #. module: sale #: model:ir.model,name:sale.model_sale_report msgid "Sales Orders Statistics" -msgstr "" +msgstr "銷售訂單統計" #. module: sale #: field:sale.order,date_order:0 msgid "Date" -msgstr "" +msgstr "日期" #. module: sale #: report:sale.order:0 @@ -1173,17 +1209,17 @@ msgstr "" #: view:sale.report:0 #: field:sale.report,user_id:0 msgid "Salesperson" -msgstr "" +msgstr "銷售人員" #. module: sale #: selection:sale.report,month:0 msgid "November" -msgstr "" +msgstr "十一月" #. module: sale #: view:sale.report:0 msgid "Extended Filters..." -msgstr "" +msgstr "進階篩選..." #. module: sale #: model:process.node,name:sale.process_node_quotation0 @@ -1195,7 +1231,7 @@ msgstr "報價單" #. module: sale #: field:sale.advance.payment.inv,product_id:0 msgid "Advance Product" -msgstr "" +msgstr "預付型產品" #. module: sale #: selection:sale.order.line,state:0 @@ -1205,7 +1241,7 @@ msgstr "異常情況" #. module: sale #: selection:sale.report,month:0 msgid "October" -msgstr "" +msgstr "十月" #. module: sale #: model:process.transition,note:sale.process_transition_invoice0 @@ -1214,12 +1250,14 @@ msgid "" "is 'Shipping and Manual in Progress'. The invoice is created automatically " "if the shipping policy is 'Payment before Delivery'." msgstr "" +"假如銷售訂單中的送貨方式是「送貨並手動開立發票」,則由銷售人員手動開立發票。 \r\n" +"假如銷售訂單中的送貨方式是「先付款再送貨」,則發票會自動產生。" #. module: sale #: model:ir.model,name:sale.model_sale_shop #: view:sale.shop:0 msgid "Sales Shop" -msgstr "" +msgstr "銷售店點" #. module: sale #: help:sale.config.settings,module_sale_stock:0 @@ -1228,6 +1266,8 @@ msgid "" "Manage Related Stock.\n" " This installs the module sale_stock." msgstr "" +"於建立報價單、銷售訂單時,允許使用不同的下單策略並且管理與其相關庫存。\n" +"此功能將會安裝 sale_stock 模組。" #. module: sale #: help:sale.advance.payment.inv,product_id:0 @@ -1236,16 +1276,18 @@ msgid "" " You may have to create it and set it as a default value on " "this field." msgstr "" +"選擇產品類型為服務的「預付型產品」。\n" +" 你可能須建立它並且將其設為此欄位的預設值。" #. module: sale #: selection:sale.report,month:0 msgid "January" -msgstr "" +msgstr "一月" #. module: sale #: field:sale.config.settings,group_discount_per_so_line:0 msgid "Allow setting a discount on the sales order lines" -msgstr "" +msgstr "允許依銷售訂單項目設定折扣" #. module: sale #: model:ir.actions.act_window,name:sale.action_orders_in_progress @@ -1259,7 +1301,7 @@ msgid "" "percentage of the sales order\n" " or a fixed price (for advances) directly from the sales " "order form if you prefer." -msgstr "" +msgstr "在訂單項目中的所有項目將會開立發票。您也能開立部分金額的發票,或者也能直接以固定金額開立發票(針對預付款)。" #. module: sale #: help:sale.config.settings,module_warning:0 @@ -1269,16 +1311,19 @@ msgid "" "Example: Product: this product is deprecated, do not purchase more than 5.\n" " Supplier: don't forget to ask for an express delivery." msgstr "" +"允許針對產品設定警示訊息,當使用者要求銷售指定商品或銷售給指定客戶時發出警示。\n" +"例如:產品:本產品已停產,請勿購買超過5個。\n" +" 供應商:別忘記要求快遞。" #. module: sale #: field:sale.order,paypal_url:0 msgid "Paypal Url" -msgstr "" +msgstr "Paypal 網址" #. module: sale #: help:sale.order,project_id:0 msgid "The analytic account related to a sales order." -msgstr "" +msgstr "銷售訂單相關的分析科目" #. module: sale #: view:sale.order:0 @@ -1288,19 +1333,19 @@ msgstr "檢視發票" #. module: sale #: field:sale.advance.payment.inv,advance_payment_method:0 msgid "What do you want to invoice?" -msgstr "" +msgstr "您要開立什麼的發票?" #. module: sale #: field:sale.config.settings,group_sale_pricelist:0 msgid "Use pricelists to adapt your price per customers" -msgstr "" +msgstr "使用價格表依客戶調整報價" #. module: sale #: model:process.transition,note:sale.process_transition_confirmquotation0 msgid "" "The salesman confirms the quotation. The state of the sales order becomes " "'In progress' or 'Manual in progress'." -msgstr "" +msgstr "業務人員確認報價。銷售訂單的狀態更動為 '處理中' 或 '手動處理中'。" #. module: sale #: code:addons/sale/sale.py:942 @@ -1309,24 +1354,26 @@ msgid "" "You have to select a pricelist or a customer in the sales form !\n" "Please set one before choosing a product." msgstr "" +"您必須在銷售表單中選擇一個價格表或者一位客戶!\n" +"請在選擇產品前設定其中一項。" #. module: sale #: help:sale.order,origin:0 msgid "Reference of the document that generated this sales order request." -msgstr "" +msgstr "產生此份銷售訂單需求的文件參考" #. module: sale #: code:addons/sale/sale.py:955 #, python-format msgid "No valid pricelist line found ! :" -msgstr "" +msgstr "找不到有效的價格表項目!" #. module: sale #: code:addons/sale/wizard/sale_make_invoice_advance.py:113 #: code:addons/sale/wizard/sale_make_invoice_advance.py:115 #, python-format msgid "Advance of %s %s" -msgstr "" +msgstr "預付款: %s %s" #. module: sale #: view:sale.report:0 @@ -1340,27 +1387,27 @@ msgstr "" #: view:sale.order:0 #: view:sale.report:0 msgid "Quotations" -msgstr "" +msgstr "報價單" #. module: sale #: help:account.config.settings,module_sale_analytic_plans:0 msgid "This allows install module sale_analytic_plans." -msgstr "" +msgstr "這讓您可以安裝 sale_analytic_plans 模組。" #. module: sale #: view:sale.order:0 msgid "Ignore Exception" -msgstr "" +msgstr "忽略例外情形" #. module: sale #: help:sale.order,partner_shipping_id:0 msgid "Delivery address for current sales order." -msgstr "" +msgstr "目前銷售訂單的送貨地址" #. module: sale #: field:sale.config.settings,module_sale_margin:0 msgid "Display margins on sales orders" -msgstr "" +msgstr "顯示銷售訂單利潤" #. module: sale #: help:sale.order,invoice_ids:0 @@ -1378,12 +1425,12 @@ msgstr "您的參考" #. module: sale #: view:sale.advance.payment.inv:0 msgid "Show Lines to Invoice" -msgstr "" +msgstr "顯示將開立發票的訂單項目" #. module: sale #: field:sale.report,date:0 msgid "Date Order" -msgstr "" +msgstr "下單日期" #. module: sale #: field:sale.order,pricelist_id:0 @@ -1401,12 +1448,12 @@ msgstr "增值稅(TVA) :" #: code:addons/sale/sale.py:444 #, python-format msgid "Customer Invoices" -msgstr "" +msgstr "客戶發票" #. module: sale #: model:process.node,note:sale.process_node_order0 msgid "Confirmed sales order to invoice." -msgstr "" +msgstr "需開立發票的已確認銷售訂單。" #. module: sale #: field:sale.order.line,sequence:0 @@ -1429,7 +1476,7 @@ msgstr "銷售" msgid "" "If you change the pricelist of this order (and eventually the currency), " "prices of existing order lines will not be updated." -msgstr "" +msgstr "假如你更動此訂單的價格清單(及幣別),已經存在的訂單明細項目價格並不會被更新。" #. module: sale #: view:sale.order.line:0 @@ -1444,7 +1491,7 @@ msgstr "自庫存" #. module: sale #: report:sale.order:0 msgid "Quotation Date" -msgstr "" +msgstr "報價日期" #. module: sale #: field:sale.order,amount_total:0 @@ -1478,7 +1525,7 @@ msgstr "發票" #. module: sale #: view:sale.order.line:0 msgid "My Sales Order Lines" -msgstr "" +msgstr "我的銷售訂單項目" #. module: sale #: model:process.transition.action,name:sale.process_transition_action_cancel0 @@ -1491,29 +1538,29 @@ msgstr "取消" #. module: sale #: field:sale.order,message_follower_ids:0 msgid "Followers" -msgstr "" +msgstr "關注者" #. module: sale #: code:addons/sale/sale.py:944 #, python-format msgid "No Pricelist ! : " -msgstr "" +msgstr "無價格表! : " #. module: sale #: view:sale.order:0 msgid "Sales Order " -msgstr "" +msgstr "銷售訂單 " #. module: sale #: model:mail.message.subtype,description:sale.mt_order_sent #: model:mail.message.subtype,name:sale.mt_order_sent msgid "Quotation send" -msgstr "" +msgstr "報價單已送出" #. module: sale #: view:sale.order.line:0 msgid "Search Uninvoiced Lines" -msgstr "" +msgstr "尋找尚未開立發票的訂單項目" #. module: sale #: model:ir.model,name:sale.model_account_config_settings @@ -1523,7 +1570,7 @@ msgstr "" #. module: sale #: sql_constraint:sale.order:0 msgid "Order Reference must be unique per Company!" -msgstr "" +msgstr "訂單編號在同一公司內不可重複!" #. module: sale #: model:ir.actions.act_window,help:sale.action_order_line_tree2 @@ -1555,7 +1602,7 @@ msgstr "" #. module: sale #: view:sale.advance.payment.inv:0 msgid "Invoice Sales Order" -msgstr "" +msgstr "銷售訂單開立發票" #. module: sale #: help:sale.order,invoice_quantity:0 @@ -1568,7 +1615,7 @@ msgstr "" #. module: sale #: field:sale.config.settings,module_account_analytic_analysis:0 msgid "Use contracts management" -msgstr "" +msgstr "使用合約管理" #. module: sale #: code:addons/sale/sale.py:952 @@ -1581,7 +1628,7 @@ msgstr "" #. module: sale #: model:ir.model,name:sale.model_sale_advance_payment_inv msgid "Sales Advance Payment Invoice" -msgstr "" +msgstr "訂單預付款發票" #. module: sale #: model:process.transition,name:sale.process_transition_invoice0 @@ -1596,7 +1643,7 @@ msgstr "開立發票" #. module: sale #: help:sale.order,amount_untaxed:0 msgid "The amount without tax." -msgstr "" +msgstr "未稅金額" #. module: sale #: view:sale.order.line:0 @@ -1606,7 +1653,7 @@ msgstr "" #. module: sale #: help:sale.order,invoiced:0 msgid "It indicates that an invoice has been paid." -msgstr "" +msgstr "這表示此發票已支付。" #. module: sale #: report:sale.order:0 @@ -1617,7 +1664,7 @@ msgstr "單價" #. module: sale #: selection:sale.advance.payment.inv,advance_payment_method:0 msgid "Percentage" -msgstr "" +msgstr "百分比" #. module: sale #: view:sale.order:0 @@ -1724,23 +1771,23 @@ msgstr "產品" #. module: sale #: help:sale.order,amount_total:0 msgid "The total amount." -msgstr "" +msgstr "總金額" #. module: sale #: view:sale.order:0 msgid "Confirm Sale" -msgstr "" +msgstr "確認銷售訂單" #. module: sale #: code:addons/sale/wizard/sale_make_invoice_advance.py:96 #, python-format msgid "There is no income account defined for this product: \"%s\" (id:%d)." -msgstr "" +msgstr "這個產品沒有定義收益科目: \"%s\" (id:%d)." #. module: sale #: selection:sale.report,month:0 msgid "May" -msgstr "" +msgstr "五月" #. module: sale #: model:email.template,subject:sale.email_template_edi_sale @@ -1788,7 +1835,7 @@ msgstr "電話 :" #. module: sale #: view:sale.make.invoice:0 msgid "Do you really want to create the invoice(s)?" -msgstr "" +msgstr "您真的要開立發票嗎?" #. module: sale #: model:ir.actions.act_window,help:sale.action_quotations diff --git a/addons/sale/sale.py b/addons/sale/sale.py index 14e5cae3ad6..2042faffbdc 100644 --- a/addons/sale/sale.py +++ b/addons/sale/sale.py @@ -1001,9 +1001,9 @@ class mail_compose_message(osv.Model): def send_mail(self, cr, uid, ids, context=None): context = context or {} - if context.get('active_model') == 'sale.order' and context.get('active_ids') and context.get('mark_so_as_sent'): + if context.get('default_model') == 'sale.order' and context.get('default_res_id') and context.get('mark_so_as_sent'): context = dict(context, mail_post_autofollow=True) - self.pool.get('sale.order').signal_quotation_sent(cr, uid, context['active_ids']) + self.pool.get('sale.order').signal_quotation_sent(cr, uid, [context['default_res_id']]) return super(mail_compose_message, self).send_mail(cr, uid, ids, context=context) diff --git a/addons/sale_crm/i18n/he.po b/addons/sale_crm/i18n/he.po new file mode 100644 index 00000000000..09018b26e34 --- /dev/null +++ b/addons/sale_crm/i18n/he.po @@ -0,0 +1,160 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-12-30 19:13+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: sale_crm +#: code:addons/sale_crm/wizard/crm_make_sale.py:92 +#, python-format +msgid "Insufficient Data!" +msgstr "" + +#. module: sale_crm +#: view:crm.lead:0 +#: view:crm.make.sale:0 +msgid "Convert to Quotation" +msgstr "" + +#. module: sale_crm +#: model:ir.model,name:sale_crm.model_account_invoice_report +msgid "Invoices Statistics" +msgstr "" + +#. module: sale_crm +#: field:crm.make.sale,close:0 +msgid "Mark Won" +msgstr "" + +#. module: sale_crm +#: field:res.users,default_section_id:0 +msgid "Default Sales Team" +msgstr "" + +#. module: sale_crm +#: view:sale.order:0 +msgid "My Sales Team(s)" +msgstr "" + +#. module: sale_crm +#: model:ir.model,name:sale_crm.model_res_users +msgid "Users" +msgstr "" + +#. module: sale_crm +#: help:crm.make.sale,close:0 +msgid "" +"Check this to close the opportunity after having created the sales order." +msgstr "" + +#. module: sale_crm +#: model:mail.message.subtype,name:sale_crm.mt_salesteam_order_sent +msgid "Quotation Send" +msgstr "" + +#. module: sale_crm +#: field:sale.order,categ_ids:0 +msgid "Categories" +msgstr "" + +#. module: sale_crm +#: code:addons/sale_crm/wizard/crm_make_sale.py:127 +#: code:addons/sale_crm/wizard/crm_make_sale.py:138 +#, python-format +msgid "Quotation" +msgstr "" + +#. module: sale_crm +#: field:crm.make.sale,partner_id:0 +msgid "Customer" +msgstr "" + +#. module: sale_crm +#: view:crm.make.sale:0 +msgid "_Create" +msgstr "" + +#. module: sale_crm +#: model:ir.model,name:sale_crm.model_crm_make_sale +msgid "Make sales" +msgstr "" + +#. module: sale_crm +#: model:ir.model,name:sale_crm.model_account_invoice +msgid "Invoice" +msgstr "" + +#. module: sale_crm +#: code:addons/sale_crm/wizard/crm_make_sale.py:95 +#, python-format +msgid "Opportunity: %s" +msgstr "" + +#. module: sale_crm +#: code:addons/sale_crm/wizard/crm_make_sale.py:113 +#, python-format +msgid "Opportunity has been <b>converted</b> to the quotation <em>%s</em>." +msgstr "" + +#. module: sale_crm +#: field:crm.make.sale,shop_id:0 +msgid "Shop" +msgstr "" + +#. module: sale_crm +#: code:addons/sale_crm/wizard/crm_make_sale.py:92 +#, python-format +msgid "No addresse(s) defined for this customer." +msgstr "" + +#. module: sale_crm +#: model:mail.message.subtype,name:sale_crm.mt_salesteam_order_confirmed +msgid "Sales Order Confirmed" +msgstr "" + +#. module: sale_crm +#: view:account.invoice:0 +#: field:account.invoice,section_id:0 +#: field:account.invoice.report,section_id:0 +#: view:sale.order:0 +#: field:sale.order,section_id:0 +msgid "Sales Team" +msgstr "" + +#. module: sale_crm +#: view:crm.lead:0 +msgid "Create Quotation" +msgstr "" + +#. module: sale_crm +#: model:ir.actions.act_window,name:sale_crm.action_crm_make_sale +msgid "Make Quotation" +msgstr "" + +#. module: sale_crm +#: view:crm.make.sale:0 +msgid "Cancel" +msgstr "" + +#. module: sale_crm +#: model:ir.model,name:sale_crm.model_sale_order +msgid "Sales Order" +msgstr "" + +#. module: sale_crm +#: view:crm.make.sale:0 +msgid "or" +msgstr "" diff --git a/addons/sale_crm/i18n/zh_TW.po b/addons/sale_crm/i18n/zh_TW.po index 7082c912a89..7d11cc6dbdf 100644 --- a/addons/sale_crm/i18n/zh_TW.po +++ b/addons/sale_crm/i18n/zh_TW.po @@ -7,20 +7,20 @@ msgstr "" "Project-Id-Version: OpenERP Server 5.0.4\n" "Report-Msgid-Bugs-To: support@openerp.com\n" "POT-Creation-Date: 2012-12-21 17:06+0000\n" -"PO-Revision-Date: 2009-01-30 13:18+0000\n" -"Last-Translator: <>\n" +"PO-Revision-Date: 2013-12-29 15:49+0000\n" +"Last-Translator: Andy Cheng <andy@dobtor.com>\n" "Language-Team: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Launchpad-Export-Date: 2013-09-12 05:19+0000\n" -"X-Generator: Launchpad (build 16761)\n" +"X-Launchpad-Export-Date: 2013-12-30 04:39+0000\n" +"X-Generator: Launchpad (build 16877)\n" #. module: sale_crm #: code:addons/sale_crm/wizard/crm_make_sale.py:92 #, python-format msgid "Insufficient Data!" -msgstr "" +msgstr "資料不足!" #. module: sale_crm #: view:crm.lead:0 @@ -31,27 +31,27 @@ msgstr "" #. module: sale_crm #: model:ir.model,name:sale_crm.model_account_invoice_report msgid "Invoices Statistics" -msgstr "" +msgstr "發票統計" #. module: sale_crm #: field:crm.make.sale,close:0 msgid "Mark Won" -msgstr "" +msgstr "標記為成交" #. module: sale_crm #: field:res.users,default_section_id:0 msgid "Default Sales Team" -msgstr "" +msgstr "預設業務團隊" #. module: sale_crm #: view:sale.order:0 msgid "My Sales Team(s)" -msgstr "" +msgstr "我的銷售團隊" #. module: sale_crm #: model:ir.model,name:sale_crm.model_res_users msgid "Users" -msgstr "" +msgstr "使用者" #. module: sale_crm #: help:crm.make.sale,close:0 @@ -62,7 +62,7 @@ msgstr "" #. module: sale_crm #: model:mail.message.subtype,name:sale_crm.mt_salesteam_order_sent msgid "Quotation Send" -msgstr "" +msgstr "報價已送出" #. module: sale_crm #: field:sale.order,categ_ids:0 @@ -74,12 +74,12 @@ msgstr "" #: code:addons/sale_crm/wizard/crm_make_sale.py:138 #, python-format msgid "Quotation" -msgstr "" +msgstr "報價單" #. module: sale_crm #: field:crm.make.sale,partner_id:0 msgid "Customer" -msgstr "" +msgstr "客戶" #. module: sale_crm #: view:crm.make.sale:0 diff --git a/addons/sale_crm/sale_crm.py b/addons/sale_crm/sale_crm.py index f1370841fe9..9bcb5adf6ae 100644 --- a/addons/sale_crm/sale_crm.py +++ b/addons/sale_crm/sale_crm.py @@ -26,6 +26,18 @@ from dateutil import relativedelta from openerp import tools from openerp.osv import osv, fields +class res_users(osv.Model): + _inherit = 'res.users' + _columns = { + 'default_section_id': fields.many2one('crm.case.section', 'Default Sales Team'), + } + + def __init__(self, pool, cr): + init_res = super(res_users, self).__init__(pool, cr) + # duplicate list to avoid modifying the original reference + self.SELF_WRITEABLE_FIELDS = list(self.SELF_WRITEABLE_FIELDS) + self.SELF_WRITEABLE_FIELDS.extend(['default_section_id']) + return init_res class sale_order(osv.osv): _inherit = 'sale.order' @@ -35,6 +47,17 @@ class sale_order(osv.osv): domain="['|',('section_id','=',section_id),('section_id','=',False), ('object_id.model', '=', 'crm.lead')]", context="{'object_name': 'crm.lead'}") } + def _get_default_section_id(self, cr, uid, context=None): + """ Gives default section by checking if present in the context """ + section_id = self.pool.get('crm.lead')._resolve_section_id_from_context(cr, uid, context=context) or False + if not section_id: + section_id = self.pool.get('res.users').browse(cr, uid, uid, context).default_section_id.id or False + return section_id + + _defaults = { + 'section_id': lambda s, cr, uid, c: s._get_default_section_id(cr, uid, c), + } + def _prepare_invoice(self, cr, uid, order, lines, context=None): invoice_vals = super(sale_order, self)._prepare_invoice(cr, uid, order, lines, context=context) if order.section_id and order.section_id.id: @@ -92,21 +115,6 @@ class crm_case_section(osv.osv): def action_forecast(self, cr, uid, id, value, context=None): return self.write(cr, uid, [id], {'invoiced_forecast': round(float(value))}, context=context) - -class res_users(osv.Model): - _inherit = 'res.users' - _columns = { - 'default_section_id': fields.many2one('crm.case.section', 'Default Sales Team'), - } - - def __init__(self, pool, cr): - init_res = super(res_users, self).__init__(pool, cr) - # duplicate list to avoid modifying the original reference - self.SELF_WRITEABLE_FIELDS = list(self.SELF_WRITEABLE_FIELDS) - self.SELF_WRITEABLE_FIELDS.extend(['default_section_id']) - return init_res - - class sale_crm_lead(osv.Model): _inherit = 'crm.lead' diff --git a/addons/sale_margin/i18n/zh_TW.po b/addons/sale_margin/i18n/zh_TW.po new file mode 100644 index 00000000000..fde65360a95 --- /dev/null +++ b/addons/sale_margin/i18n/zh_TW.po @@ -0,0 +1,46 @@ +# Chinese (Traditional) translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-12-29 16:03+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-30 04:39+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: sale_margin +#: field:sale.order.line,purchase_price:0 +msgid "Cost Price" +msgstr "成本價" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_sale_order +msgid "Sales Order" +msgstr "銷售訂單" + +#. module: sale_margin +#: field:sale.order,margin:0 +#: field:sale.order.line,margin:0 +msgid "Margin" +msgstr "毛利" + +#. module: sale_margin +#: model:ir.model,name:sale_margin.model_sale_order_line +msgid "Sales Order Line" +msgstr "銷售訂單細項" + +#. module: sale_margin +#: help:sale.order,margin:0 +msgid "" +"It gives profitability by calculating the difference between the Unit Price " +"and the cost price." +msgstr "獲利由計算單價與成本價的差異得之" diff --git a/addons/sale_mrp/i18n/zh_TW.po b/addons/sale_mrp/i18n/zh_TW.po new file mode 100644 index 00000000000..389235ec9fd --- /dev/null +++ b/addons/sale_mrp/i18n/zh_TW.po @@ -0,0 +1,43 @@ +# Chinese (Traditional) translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-12-29 16:52+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-30 04:39+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: sale_mrp +#: model:ir.model,name:sale_mrp.model_mrp_production +msgid "Manufacturing Order" +msgstr "生產單" + +#. module: sale_mrp +#: help:mrp.production,sale_name:0 +msgid "Indicate the name of sales order." +msgstr "指出銷售訂單名稱。" + +#. module: sale_mrp +#: help:mrp.production,sale_ref:0 +msgid "Indicate the Customer Reference from sales order." +msgstr "指出銷售訂單中的客戶參考。" + +#. module: sale_mrp +#: field:mrp.production,sale_ref:0 +msgid "Sale Reference" +msgstr "銷售參考" + +#. module: sale_mrp +#: field:mrp.production,sale_name:0 +msgid "Sale Name" +msgstr "銷售名稱" diff --git a/addons/sale_order_dates/i18n/zh_TW.po b/addons/sale_order_dates/i18n/zh_TW.po new file mode 100644 index 00000000000..273ad1ff532 --- /dev/null +++ b/addons/sale_order_dates/i18n/zh_TW.po @@ -0,0 +1,58 @@ +# Chinese (Traditional) translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-12-29 16:17+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Chinese (Traditional) <zh_TW@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-30 04:39+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: sale_order_dates +#: view:sale.order:0 +msgid "Dates" +msgstr "日期" + +#. module: sale_order_dates +#: field:sale.order,commitment_date:0 +msgid "Commitment Date" +msgstr "承諾日期" + +#. module: sale_order_dates +#: field:sale.order,effective_date:0 +msgid "Effective Date" +msgstr "有效日期" + +#. module: sale_order_dates +#: help:sale.order,effective_date:0 +msgid "Date on which picking is created." +msgstr "提貨單建立日期。" + +#. module: sale_order_dates +#: help:sale.order,requested_date:0 +msgid "Date requested by the customer for the sale." +msgstr "由訂單客戶所要求的日期。" + +#. module: sale_order_dates +#: field:sale.order,requested_date:0 +msgid "Requested Date" +msgstr "要求日期" + +#. module: sale_order_dates +#: model:ir.model,name:sale_order_dates.model_sale_order +msgid "Sales Order" +msgstr "銷售訂單" + +#. module: sale_order_dates +#: help:sale.order,commitment_date:0 +msgid "Committed date for delivery." +msgstr "承諾交貨日期" diff --git a/addons/share/i18n/he.po b/addons/share/i18n/he.po new file mode 100644 index 00000000000..479447d50cf --- /dev/null +++ b/addons/share/i18n/he.po @@ -0,0 +1,617 @@ +# Hebrew translation for openobject-addons +# Copyright (c) 2013 Rosetta Contributors and Canonical Ltd 2013 +# This file is distributed under the same license as the openobject-addons package. +# FIRST AUTHOR <EMAIL@ADDRESS>, 2013. +# +msgid "" +msgstr "" +"Project-Id-Version: openobject-addons\n" +"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n" +"POT-Creation-Date: 2012-12-21 17:06+0000\n" +"PO-Revision-Date: 2013-12-30 19:36+0000\n" +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" +"Language-Team: Hebrew <he@li.org>\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Launchpad-Export-Date: 2013-12-31 04:47+0000\n" +"X-Generator: Launchpad (build 16877)\n" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:842 +#, python-format +msgid "Invitation to collaborate about %s" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:780 +#, python-format +msgid "" +"The share engine has not been able to fetch a record_id for your invitation." +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "Include an Optional Personal Message" +msgstr "" + +#. module: share +#: field:share.wizard,embed_option_title:0 +msgid "Display title" +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "Access granted!" +msgstr "" + +#. module: share +#: field:share.wizard,record_name:0 +msgid "Record name" +msgstr "" + +#. module: share +#: help:share.wizard,message:0 +msgid "" +"An optional personal message, to be included in the email notification." +msgstr "" + +#. module: share +#: field:share.wizard,user_type:0 +msgid "Sharing method" +msgstr "" + +#. module: share +#: field:share.wizard,name:0 +msgid "Share Title" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:848 +#: code:addons/share/wizard/share_wizard.py:877 +#, python-format +msgid "" +"The documents are not attached, you can view them online directly on my " +"OpenERP server at:\n" +" %s\n" +"\n" +msgstr "" + +#. module: share +#: model:ir.module.category,name:share.module_category_share +msgid "Sharing" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:843 +#: code:addons/share/wizard/share_wizard.py:875 +#, python-format +msgid "" +"Hello,\n" +"\n" +msgstr "" + +#. module: share +#: field:share.wizard,share_root_url:0 +msgid "Share Access URL" +msgstr "" + +#. module: share +#: field:share.wizard,email_1:0 +#: field:share.wizard,email_2:0 +#: field:share.wizard,email_3:0 +msgid "New user email" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:887 +#, python-format +msgid "You may use your current login (%s) and password to view them.\n" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:621 +#, python-format +msgid "(Modified)" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:665 +#, python-format +msgid "You must be a member of the Share/User group to use the share wizard." +msgstr "" + +#. module: share +#. openerp-web +#: code:addons/share/static/src/js/share.js:63 +#, python-format +msgid "Embed" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:599 +#, python-format +msgid "Sharing filter created by user %s (%s) for group %s" +msgstr "" + +#. module: share +#: field:share.wizard,embed_url:0 +#: field:share.wizard.result.line,share_url:0 +msgid "Share URL" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:849 +#: code:addons/share/wizard/share_wizard.py:881 +#, python-format +msgid "These are your credentials to access this protected area:\n" +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "Access info" +msgstr "" + +#. module: share +#. openerp-web +#: code:addons/share/static/src/js/share.js:60 +#: view:share.wizard:0 +#, python-format +msgid "Share" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:571 +#, python-format +msgid "(Duplicated for modified sharing permissions)" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:669 +#, python-format +msgid "" +"Please indicate the emails of the persons to share with, one per line." +msgstr "" + +#. module: share +#: help:share.wizard,domain:0 +msgid "Optional domain for further data filtering" +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "Next" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:662 +#, python-format +msgid "Action and Access Mode are required to create a shared access." +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:850 +#: code:addons/share/wizard/share_wizard.py:882 +#, python-format +msgid "Username" +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "Sharing Options" +msgstr "" + +#. module: share +#. openerp-web +#: code:addons/share/static/src/xml/share.xml:9 +#, python-format +msgid "Invite" +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "Embedded code options" +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "Configuration" +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "" +"Please select the action that opens the screen containing the data you want " +"to share." +msgstr "" + +#. module: share +#: field:res.groups,share:0 +msgid "Share Group" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:835 +#: code:addons/share/wizard/share_wizard.py:866 +#, python-format +msgid "Email required" +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "" +"Optionally, you may specify an additional domain restriction that will be " +"applied to the shared data." +msgstr "" + +#. module: share +#: view:res.groups:0 +msgid "Non-Share Groups" +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "" +"An email notification with instructions has been sent to the following " +"people:" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:77 +#, python-format +msgid "Direct link or embed code" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:856 +#: code:addons/share/wizard/share_wizard.py:890 +#, python-format +msgid "" +"OpenERP is a powerful and user-friendly suite of Business Applications (CRM, " +"Sales, HR, etc.)\n" +"It is open source and can be found on http://www.openerp.com." +msgstr "" + +#. module: share +#: field:share.wizard,action_id:0 +msgid "Action to share" +msgstr "" + +#. module: share +#: help:share.wizard,record_name:0 +msgid "Name of the shared record, if sharing a precise record" +msgstr "" + +#. module: share +#: field:res.users,share:0 +msgid "Share User" +msgstr "" + +#. module: share +#: field:share.wizard.result.line,user_id:0 +msgid "unknown" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:61 +#: code:addons/share/wizard/share_wizard.py:657 +#, python-format +msgid "Sharing access cannot be created." +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:780 +#, python-format +msgid "Record id not found" +msgstr "" + +#. module: share +#: help:res.groups,share:0 +msgid "Group created to set access rights for sharing data with some users." +msgstr "" + +#. module: share +#: view:res.groups:0 +msgid "Share Groups" +msgstr "" + +#. module: share +#: help:share.wizard,action_id:0 +msgid "" +"The action that opens the screen containing the data you wish to share." +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:546 +#, python-format +msgid "(Copy for sharing)" +msgstr "" + +#. module: share +#: field:share.wizard.result.line,newly_created:0 +msgid "Newly created" +msgstr "" + +#. module: share +#: help:share.wizard,name:0 +msgid "Title for the share (displayed to users as menu and shortcut name)" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:636 +#, python-format +msgid "Indirect sharing filter created by user %s (%s) for group %s" +msgstr "" + +#. module: share +#: help:share.wizard,share_root_url:0 +msgid "Main access page for users that are granted shared access" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:206 +#, python-format +msgid "" +"You must configure your email address in the user preferences before using " +"the Share button." +msgstr "" + +#. module: share +#: model:res.groups,name:share.group_share_user +msgid "User" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:658 +#, python-format +msgid "" +"Sorry, the current screen and filter you are trying to share are not " +"supported at the moment.\n" +"You may want to try a simpler filter." +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "Use this link" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:852 +#: code:addons/share/wizard/share_wizard.py:884 +#, python-format +msgid "Database" +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "Share with these People (one email per line)" +msgstr "" + +#. module: share +#: field:share.wizard,domain:0 +msgid "Domain" +msgstr "" + +#. module: share +#: view:res.groups:0 +msgid "{'search_default_no_share':1}" +msgstr "" + +#. module: share +#: view:share.wizard:0 +#: field:share.wizard,result_line_ids:0 +msgid "Summary" +msgstr "" + +#. module: share +#: help:share.wizard,embed_code:0 +msgid "" +"Embed this code in your documents to provide a link to the shared document." +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:513 +#, python-format +msgid "Copied access for sharing" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:817 +#, python-format +msgid "Invitation" +msgstr "" + +#. module: share +#: model:ir.actions.act_window,name:share.action_share_wizard_step1 +msgid "Share your documents" +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "Or insert the following code where you want to embed your documents" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:886 +#, python-format +msgid "" +"The documents have been automatically added to your current OpenERP " +"documents.\n" +msgstr "" + +#. module: share +#: model:ir.model,name:share.model_share_wizard_result_line +msgid "share.wizard.result.line" +msgstr "" + +#. module: share +#: field:share.wizard,embed_code:0 +msgid "Code" +msgstr "" + +#. module: share +#: help:share.wizard,user_type:0 +msgid "Select the type of user(s) you would like to share data with." +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:844 +#, python-format +msgid "" +"I have shared %s (%s) with you!\n" +"\n" +msgstr "" + +#. module: share +#: field:share.wizard,view_type:0 +msgid "Current View Type" +msgstr "" + +#. module: share +#: selection:share.wizard,access_mode:0 +msgid "Can view" +msgstr "" + +#. module: share +#: selection:share.wizard,access_mode:0 +msgid "Can edit" +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "Cancel" +msgstr "" + +#. module: share +#: help:res.users,share:0 +msgid "" +"External user with limited access, created only for the purpose of sharing " +"data." +msgstr "" + +#. module: share +#: model:ir.actions.act_window,name:share.action_share_wizard +#: model:ir.model,name:share.model_share_wizard +#: field:share.wizard.result.line,share_wizard_id:0 +msgid "Share Wizard" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:793 +#, python-format +msgid "Shared access created!" +msgstr "" + +#. module: share +#: model:res.groups,comment:share.group_share_user +msgid "" +"\n" +"Members of this groups have access to the sharing wizard, which allows them " +"to invite external users to view or edit some of their documents." +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:853 +#, python-format +msgid "" +"The documents have been automatically added to your subscriptions.\n" +"\n" +msgstr "" + +#. module: share +#: model:ir.model,name:share.model_res_users +msgid "Users" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:876 +#, python-format +msgid "" +"I've shared %s with you!\n" +"\n" +msgstr "" + +#. module: share +#: model:ir.model,name:share.model_res_groups +msgid "Access Groups" +msgstr "" + +#. module: share +#: field:share.wizard,invite:0 +msgid "Invite users to OpenSocial record" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:851 +#: code:addons/share/wizard/share_wizard.py:883 +#: field:share.wizard.result.line,password:0 +#, python-format +msgid "Password" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:77 +#: field:share.wizard,new_users:0 +#, python-format +msgid "Emails" +msgstr "" + +#. module: share +#: field:share.wizard,embed_option_search:0 +msgid "Display search view" +msgstr "" + +#. module: share +#: field:share.wizard,message:0 +msgid "Personal Message" +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:835 +#: code:addons/share/wizard/share_wizard.py:866 +#, python-format +msgid "" +"The current user must have an email address configured in User Preferences " +"to be able to send outgoing emails." +msgstr "" + +#. module: share +#: code:addons/share/wizard/share_wizard.py:205 +#, python-format +msgid "No email address configured" +msgstr "" + +#. module: share +#: field:share.wizard.result.line,login:0 +msgid "Login" +msgstr "" + +#. module: share +#: view:res.users:0 +msgid "Regular users only (no share user)" +msgstr "" + +#. module: share +#: field:share.wizard,access_mode:0 +msgid "Access Mode" +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "Sharing: preparation" +msgstr "" + +#. module: share +#: model:ir.model,name:share.model_ir_model_access +msgid "ir.model.access" +msgstr "" + +#. module: share +#: view:share.wizard:0 +msgid "or" +msgstr "" + +#. module: share +#: help:share.wizard,access_mode:0 +msgid "Access rights to be granted on the shared documents." +msgstr "" diff --git a/addons/stock/security/stock_security.xml b/addons/stock/security/stock_security.xml index e51f20c67c9..aaf4333ece7 100644 --- a/addons/stock/security/stock_security.xml +++ b/addons/stock/security/stock_security.xml @@ -10,7 +10,7 @@ <record id="group_stock_manager" model="res.groups"> <field name="name">Manager</field> <field name="category_id" ref="base.module_category_warehouse_management"/> - <field name="implied_ids" eval="[(4, ref('group_stock_user')), (4, ref('account.group_account_user'))]"/> + <field name="implied_ids" eval="[(4, ref('group_stock_user')), (4, ref('account.group_account_invoice'))]"/> <field name="users" eval="[(4, ref('base.user_root'))]"/> </record> diff --git a/addons/stock/stock.py b/addons/stock/stock.py index 69d2c6e4791..1484397b5a8 100644 --- a/addons/stock/stock.py +++ b/addons/stock/stock.py @@ -2106,7 +2106,7 @@ class stock_move(osv.osv): }) new_moves.append(self.browse(cr, uid, [new_id])[0]) if pickid: - self.signal_button_confirm(cr, uid, [pickid]) + self.pool.get('stock.picking').signal_button_confirm(cr, uid, [pickid]) if new_moves: new_moves += self.create_chained_picking(cr, uid, new_moves, context) return new_moves diff --git a/addons/stock/stock_view.xml b/addons/stock/stock_view.xml index 99f2e738709..0443b888ef7 100644 --- a/addons/stock/stock_view.xml +++ b/addons/stock/stock_view.xml @@ -1044,7 +1044,7 @@ <button name="action_process" states="assigned" string="Receive" type="object" class="oe_highlight"/> </xpath> <xpath expr="//field[@name='partner_id']" position="replace"> - <field name="partner_id" on_change="onchange_partner_in(partner_id)" string="Supplier" domain="[('supplier','=',True)]" /> + <field name="partner_id" on_change="onchange_partner_in(partner_id)" string="Supplier" domain="[('supplier','=',True)]" context="{'default_supplier':1,'default_customer':0}"/> </xpath> <xpath expr="//field[@name='move_lines']" position="replace"> <field name="move_lines" context="{'address_in_id': partner_id, 'picking_type': 'in', 'form_view_ref':'view_move_picking_form', 'tree_view_ref':'view_move_picking_tree'}" options='{"reload_on_button": true}'/> diff --git a/addons/web_linkedin/__openerp__.py b/addons/web_linkedin/__openerp__.py index 6ce78cfca47..508ca240780 100644 --- a/addons/web_linkedin/__openerp__.py +++ b/addons/web_linkedin/__openerp__.py @@ -10,7 +10,7 @@ OpenERP Web LinkedIn module. This module provides the Integration of the LinkedIn with OpenERP. """, 'data': ['web_linkedin_view.xml'], - 'depends' : ['crm'], + 'depends' : ['web','crm'], 'js': ['static/src/js/*.js'], 'css': ['static/src/css/*.css'], 'qweb': ['static/src/xml/*.xml'], diff --git a/addons/web_linkedin/web_linkedin.py b/addons/web_linkedin/web_linkedin.py index a07dcd50ea0..83132511a17 100644 --- a/addons/web_linkedin/web_linkedin.py +++ b/addons/web_linkedin/web_linkedin.py @@ -24,6 +24,7 @@ import urllib2 from urlparse import urlparse, urlunparse import openerp +import openerp.addons.web from openerp.osv import fields, osv class Binary(openerp.http.Controller): @@ -88,4 +89,4 @@ class web_linkedin_fields(osv.Model): 'linkedin_url': fields.char(string="LinkedIn url", size=100, store=True), 'linkedin_public_url': fields.function(_get_url, type='text', string="LinkedIn url", help="This url is set automatically when you join the partner with a LinkedIn account."), - }
\ No newline at end of file + } |
