[Merge]with: lp:openobject-addons

bzr revid: dbr@tinyerp.com-20111129070253-rxvua0knwe90yjq1
This commit is contained in:
DBR (OpenERP) 2011-11-29 12:32:53 +05:30
commit 28e78e8348
465 changed files with 11485 additions and 4465 deletions

View File

@ -125,6 +125,7 @@ module named account_voucher.
"wizard/account_report_balance_sheet_view.xml",
"edi/invoice_action_data.xml",
"account_bank_view.xml",
"account_pre_install.yml"
],
'demo_xml': [
'demo/account_demo.xml',
@ -140,7 +141,6 @@ module named account_voucher.
'test/account_change_currency.yml',
'test/chart_of_account.yml',
'test/account_period_close.yml',
'test/account_fiscalyear_close_state.yml',
'test/account_use_model.yml',
'test/account_validate_account_move.yml',
'test/account_fiscalyear_close.yml',
@ -148,6 +148,7 @@ module named account_voucher.
'test/account_cash_statement.yml',
'test/test_edi_invoice.yml',
'test/account_report.yml',
'test/account_fiscalyear_close_state.yml', #last test, as it will definitively close the demo fiscalyear
],
'installable': True,
'active': False,

View File

@ -461,7 +461,7 @@ class account_account(osv.osv):
}
_defaults = {
'type': 'view',
'type': 'other',
'reconcile': False,
'active': True,
'currency_mode': 'current',
@ -716,6 +716,19 @@ class account_journal(osv.osv):
_order = 'code'
def _check_currency(self, cr, uid, ids, context=None):
for journal in self.browse(cr, uid, ids, context=context):
if journal.currency:
if journal.default_credit_account_id and not journal.default_credit_account_id.currency_id.id == journal.currency.id:
return False
if journal.default_debit_account_id and not journal.default_debit_account_id.currency_id.id == journal.currency.id:
return False
return True
_constraints = [
(_check_currency, 'Configuration error! The currency chosen should be shared by the default accounts too.', ['currency','default_debit_account_id','default_credit_account_id']),
]
def copy(self, cr, uid, id, default={}, context=None, done_list=[], local=False):
journal = self.browse(cr, uid, id, context=context)
if not default:
@ -846,21 +859,8 @@ class account_fiscalyear(osv.osv):
'state': 'draft',
'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id,
}
_order = "date_start"
_order = "date_start, id"
def _check_fiscal_year(self, cr, uid, ids, context=None):
current_fiscal_yr = self.browse(cr, uid, ids, context=context)[0]
obj_fiscal_ids = self.search(cr, uid, [('company_id', '=', current_fiscal_yr.company_id.id)], context=context)
obj_fiscal_ids.remove(ids[0])
data_fiscal_yr = self.browse(cr, uid, obj_fiscal_ids, context=context)
for old_fy in data_fiscal_yr:
if old_fy.company_id.id == current_fiscal_yr['company_id'].id:
# Condition to check if the current fiscal year falls in between any previously defined fiscal year
if old_fy.date_start <= current_fiscal_yr['date_start'] <= old_fy.date_stop or \
old_fy.date_start <= current_fiscal_yr['date_stop'] <= old_fy.date_stop:
return False
return True
def _check_duration(self, cr, uid, ids, context=None):
obj_fy = self.browse(cr, uid, ids[0], context=context)
@ -869,8 +869,7 @@ class account_fiscalyear(osv.osv):
return True
_constraints = [
(_check_duration, 'Error! The start date of the fiscal year must be before his end date.', ['date_start','date_stop']),
(_check_fiscal_year, 'Error! You can not define overlapping fiscal years for the same company.',['date_start', 'date_stop'])
(_check_duration, 'Error! The start date of the fiscal year must be before his end date.', ['date_start','date_stop'])
]
def create_period3(self, cr, uid, ids, context=None):
@ -905,6 +904,10 @@ class account_fiscalyear(osv.osv):
return True
def find(self, cr, uid, dt=None, exception=True, context=None):
res = self.finds(cr, uid, dt, exception, context=context)
return res and res[0] or False
def finds(self, cr, uid, dt=None, exception=True, context=None):
if context is None: context = {}
if not dt:
dt = time.strftime('%Y-%m-%d')
@ -919,8 +922,8 @@ class account_fiscalyear(osv.osv):
if exception:
raise osv.except_osv(_('Error !'), _('No fiscal year defined for this date !\nPlease create one.'))
else:
return False
return ids[0]
return []
return ids
def name_search(self, cr, user, name, args=None, operator='ilike', context=None, limit=80):
if args is None:
@ -1683,13 +1686,15 @@ class account_tax_code(osv.osv):
if context.get('state', 'all') == 'all':
move_state = ('draft', 'posted', )
if context.get('fiscalyear_id', False):
fiscalyear_id = context['fiscalyear_id']
fiscalyear_id = [context['fiscalyear_id']]
else:
fiscalyear_id = self.pool.get('account.fiscalyear').find(cr, uid, exception=False)
fiscalyear_id = self.pool.get('account.fiscalyear').finds(cr, uid, exception=False)
where = ''
where_params = ()
if fiscalyear_id:
pids = map(lambda x: str(x.id), self.pool.get('account.fiscalyear').browse(cr, uid, fiscalyear_id).period_ids)
pids = []
for fy in fiscalyear_id:
pids += map(lambda x: str(x.id), self.pool.get('account.fiscalyear').browse(cr, uid, fy).period_ids)
if pids:
where = ' AND line.period_id IN %s AND move.state IN %s '
where_params = (tuple(pids), move_state)

View File

@ -108,3 +108,5 @@ class bank(osv.osv):
self.write(cr, uid, [bank.id], {'journal_id': journal_id}, context=context)
return True
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -57,7 +57,7 @@
<record id="category_accounting_configuration" model="ir.actions.todo.category">
<field name="name">Accounting</field>
<field name="sequence">5</field>
</record>
</record>
<record id="account_configuration_installer_todo" model="ir.actions.todo">
<field name="action_id" ref="action_account_configuration_installer"/>

View File

@ -153,7 +153,7 @@
<button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change" attrs="{'invisible':[('state','!=','draft')]}" groups="account.group_account_user"/>
<newline/>
<field string="Supplier" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}"/>
<field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/>
<field domain="[('partner_id','=',partner_id)]" name="address_invoice_id" context="{'default_partner_id': partner_id}"/>
<field name="fiscal_position" groups="base.group_extended" widget="selection"/>
<newline/>
<field name="date_invoice"/>
@ -264,7 +264,7 @@
<button name="%(action_account_change_currency)d" type="action" icon="terp-stock_effects-object-colorize" string="Change" attrs="{'invisible':[('state','!=','draft')]}" groups="account.group_account_user"/>
<newline/>
<field string="Customer" name="partner_id" on_change="onchange_partner_id(type,partner_id,date_invoice,payment_term, partner_bank_id,company_id)" groups="base.group_user" context="{'search_default_customer': 1}"/>
<field domain="[('partner_id','=',partner_id)]" name="address_invoice_id"/>
<field domain="[('partner_id','=',partner_id)]" name="address_invoice_id" context="{'default_partner_id': partner_id}"/>
<field name="fiscal_position" groups="base.group_extended" widget="selection"/>
<newline/>
<field name="date_invoice"/>
@ -432,7 +432,7 @@
<field name="view_mode">tree,form,calendar,graph</field>
<field eval="False" name="view_id"/>
<field name="domain">[('type','=','out_invoice')]</field>
<field name="context">{'type':'out_invoice', 'journal_type': 'sale'}</field>
<field name="context">{'default_type':'out_invoice', 'type':'out_invoice', 'journal_type': 'sale'}</field>
<field name="search_view_id" ref="view_account_invoice_filter"/>
<field name="help">With Customer Invoices you can create and manage sales invoices issued to your customers. OpenERP can also generate draft invoices automatically from sales orders or deliveries. You should only confirm them before sending them to your customers.</field>
</record>
@ -460,7 +460,7 @@
<field name="view_mode">tree,form,calendar,graph</field>
<field eval="False" name="view_id"/>
<field name="domain">[('type','=','in_invoice')]</field>
<field name="context">{'type':'in_invoice', 'journal_type': 'purchase'}</field>
<field name="context">{'default_type': 'in_invoice', 'type': 'in_invoice', 'journal_type': 'purchase'}</field>
<field name="search_view_id" ref="view_account_invoice_filter"/>
<field name="help">With Supplier Invoices you can enter and manage invoices issued by your suppliers. OpenERP can also generate draft invoices automatically from purchase orders or receipts. This way, you can control the invoice from your supplier according to what you purchased or received.</field>
</record>
@ -473,7 +473,7 @@
<field name="view_mode">tree,form,calendar,graph</field>
<field eval="False" name="view_id"/>
<field name="domain">[('type','=','out_refund')]</field>
<field name="context">{'type':'out_refund', 'journal_type': 'sale_refund'}</field>
<field name="context">{'default_type':'out_refund', 'type':'out_refund', 'journal_type': 'sale_refund'}</field>
<field name="search_view_id" ref="view_account_invoice_filter"/>
<field name="help">With Customer Refunds you can manage the credit notes for your customers. A refund is a document that credits an invoice completely or partially. You can easily generate refunds and reconcile them directly from the invoice form.</field>
</record>
@ -499,7 +499,7 @@
<field name="view_mode">tree,form,calendar,graph</field>
<field eval="False" name="view_id"/>
<field name="domain">[('type','=','in_refund')]</field>
<field name="context">{'type':'in_refund', 'journal_type': 'purchase_refund'}</field>
<field name="context">{'default_type': 'in_refund', 'type': 'in_refund', 'journal_type': 'purchase_refund'}</field>
<field name="search_view_id" ref="view_account_invoice_filter"/>
<field name="help">With Supplier Refunds you can manage the credit notes you receive from your suppliers. A refund is a document that credits an invoice completely or partially. You can easily generate refunds and reconcile them directly from the invoice form.</field>
</record>

View File

@ -0,0 +1,22 @@
-
I configure automatically if the country is set on the company, mainly for online offers.
-
!python {model: account.installer}: |
modules = self.pool.get('ir.module.module')
wizards = self.pool.get('ir.actions.todo')
wiz = wizards.browse(cr, uid, ref('account.account_configuration_installer_todo'))
part = self.pool.get('res.partner').browse(cr, uid, ref('base.main_partner'))
# if we know the country and the wizard has not yet been executed, we do it
if (part.country.id) and (wiz.state=='open'):
mod = 'l10n_'+part.country.code.lower()
ids = modules.search(cr, uid, [ ('name','=',mod) ], context=context)
if ids:
wizards.write(cr, uid, [ref('account.account_configuration_installer_todo')], {
'state': 'done'
})
wiz_id = self.create(cr, uid, {
'charts': mod
})
self.execute_simple(cr, uid, [wiz_id])
modules.state_update(cr, uid, ids,
'to install', ['uninstalled'], context=context)

View File

@ -1583,7 +1583,12 @@
context="{'search_default_account_id':[active_id], 'search_default_unreconciled':1, 'default_account_id': active_id}"
src_model="account.account"/>
<act_window domain="[('reconcile_id', '=', active_id)]" id="act_account_acount_move_line_reconcile_open" name="Reconciled entries" res_model="account.move.line" src_model="account.move.reconcile"/>
<act_window
domain="[('reconcile_id', '=', active_id)]"
id="act_account_acount_move_line_reconcile_open"
name="Reconciled entries"
res_model="account.move.line"
src_model="account.move.reconcile"/>
<!--
@ -2037,7 +2042,14 @@
res_model="account.move.line"
src_model="account.journal"/>
<act_window context="{'search_default_reconcile_id':False, 'search_default_partner_id':[active_id], 'default_partner_id': active_id}" domain="[('account_id.reconcile', '=', True),('account_id.type', 'in', ['receivable', 'payable'])]" id="act_account_partner_account_move_all" name="Receivables &amp; Payables" res_model="account.move.line" src_model="res.partner" groups="base.group_extended"/>
<act_window
context="{'search_default_reconcile_id':False, 'search_default_partner_id':[active_id], 'default_partner_id': active_id}"
domain="[('account_id.reconcile', '=', True),('account_id.type', 'in', ['receivable', 'payable'])]"
id="act_account_partner_account_move_all"
name="Receivables &amp; Payables"
res_model="account.move.line"
src_model="res.partner"
groups="base.group_extended"/>
<act_window context="{'search_default_partner_id':[active_id], 'default_partner_id': active_id}" id="act_account_partner_account_move" name="Journal Items" res_model="account.move.line" src_model="res.partner" groups="account.group_account_user"/>

View File

@ -30,6 +30,7 @@
<field name="view_type">form</field>
<field name="view_mode">graph,tree</field>
<field name="domain">[('type','=','liquidity')]</field>
<field name="context">{'default_type': 'liquidity'}</field>
<field name="view_id" ref="account.view_treasory_graph"/>
</record>
<record id="board_account_form" model="ir.ui.view">

View File

@ -7,7 +7,7 @@
-->
<record id="data_fiscalyear" model="account.fiscalyear">
<field eval="'Fiscal Year '+time.strftime('%Y')" name="name"/>
<field eval="'Fiscal Year X '+time.strftime('%Y')" name="name"/>
<field eval="'FY'+time.strftime('%Y')" name="code"/>
<field eval="time.strftime('%Y')+'-01-01'" name="date_start"/>
<field eval="time.strftime('%Y')+'-12-31'" name="date_stop"/>
@ -20,7 +20,7 @@
<record id="period_1" model="account.period">
<field eval="'01/'+time.strftime('%Y')" name="code"/>
<field eval="'01/'+time.strftime('%Y')" name="name"/>
<field eval="'X 01/'+time.strftime('%Y')" name="name"/>
<field eval="True" name="special"/>
<field name="fiscalyear_id" ref="data_fiscalyear"/>
<field eval="time.strftime('%Y')+'-01-01'" name="date_start"/>
@ -29,7 +29,7 @@
</record>
<record id="period_2" model="account.period">
<field eval="'02/'+time.strftime('%Y')" name="code"/>
<field eval="'02/'+time.strftime('%Y')" name="name"/>
<field eval="'X 02/'+time.strftime('%Y')" name="name"/>
<field eval="True" name="special"/>
<field name="fiscalyear_id" ref="data_fiscalyear"/>
<field eval="time.strftime('%Y')+'-02-01'" name="date_start"/>
@ -38,7 +38,7 @@
</record>
<record id="period_3" model="account.period">
<field eval="'03/'+time.strftime('%Y')" name="code"/>
<field eval="'03/'+time.strftime('%Y')" name="name"/>
<field eval="'X 03/'+time.strftime('%Y')" name="name"/>
<field eval="True" name="special"/>
<field name="fiscalyear_id" ref="data_fiscalyear"/>
<field eval="time.strftime('%Y')+'-03-01'" name="date_start"/>
@ -47,7 +47,7 @@
</record>
<record id="period_4" model="account.period">
<field eval="'04/'+time.strftime('%Y')" name="code"/>
<field eval="'04/'+time.strftime('%Y')" name="name"/>
<field eval="'X 04/'+time.strftime('%Y')" name="name"/>
<field eval="True" name="special"/>
<field name="fiscalyear_id" ref="data_fiscalyear"/>
<field eval="time.strftime('%Y')+'-04-01'" name="date_start"/>
@ -56,7 +56,7 @@
</record>
<record id="period_5" model="account.period">
<field eval="'05/'+time.strftime('%Y')" name="code"/>
<field eval="'05/'+time.strftime('%Y')" name="name"/>
<field eval="'X 05/'+time.strftime('%Y')" name="name"/>
<field eval="True" name="special"/>
<field name="fiscalyear_id" ref="data_fiscalyear"/>
<field eval="time.strftime('%Y')+'-05-01'" name="date_start"/>
@ -65,7 +65,7 @@
</record>
<record id="period_6" model="account.period">
<field eval="'06/'+time.strftime('%Y')" name="code"/>
<field eval="'06/'+time.strftime('%Y')" name="name"/>
<field eval="'X 06/'+time.strftime('%Y')" name="name"/>
<field name="fiscalyear_id" ref="data_fiscalyear"/>
<field eval="True" name="special"/>
<field eval="time.strftime('%Y')+'-06-01'" name="date_start"/>
@ -74,7 +74,7 @@
</record>
<record id="period_7" model="account.period">
<field eval="'07/'+time.strftime('%Y')" name="code"/>
<field eval="'07/'+time.strftime('%Y')" name="name"/>
<field eval="'X 07/'+time.strftime('%Y')" name="name"/>
<field eval="True" name="special"/>
<field name="fiscalyear_id" ref="data_fiscalyear"/>
<field eval="time.strftime('%Y')+'-07-01'" name="date_start"/>
@ -83,7 +83,7 @@
</record>
<record id="period_8" model="account.period">
<field eval="'08/'+time.strftime('%Y')" name="code"/>
<field eval="'08/'+time.strftime('%Y')" name="name"/>
<field eval="'X 08/'+time.strftime('%Y')" name="name"/>
<field eval="True" name="special"/>
<field name="fiscalyear_id" ref="data_fiscalyear"/>
<field eval="time.strftime('%Y')+'-08-01'" name="date_start"/>
@ -92,7 +92,7 @@
</record>
<record id="period_9" model="account.period">
<field eval="'09/'+time.strftime('%Y')" name="code"/>
<field eval="'09/'+time.strftime('%Y')" name="name"/>
<field eval="'X 09/'+time.strftime('%Y')" name="name"/>
<field eval="True" name="special"/>
<field name="fiscalyear_id" ref="data_fiscalyear"/>
<field eval="time.strftime('%Y')+'-09-01'" name="date_start"/>
@ -101,7 +101,7 @@
</record>
<record id="period_10" model="account.period">
<field eval="'10/'+time.strftime('%Y')" name="code"/>
<field eval="'10/'+time.strftime('%Y')" name="name"/>
<field eval="'X 10/'+time.strftime('%Y')" name="name"/>
<field eval="True" name="special"/>
<field name="fiscalyear_id" ref="data_fiscalyear"/>
<field eval="time.strftime('%Y')+'-10-01'" name="date_start"/>
@ -110,7 +110,7 @@
</record>
<record id="period_11" model="account.period">
<field eval="'11/'+time.strftime('%Y')" name="code"/>
<field eval="'11/'+time.strftime('%Y')" name="name"/>
<field eval="'X 11/'+time.strftime('%Y')" name="name"/>
<field eval="True" name="special"/>
<field name="fiscalyear_id" ref="data_fiscalyear"/>
<field eval="time.strftime('%Y')+'-11-01'" name="date_start"/>
@ -119,7 +119,7 @@
</record>
<record id="period_12" model="account.period">
<field eval="'12/'+time.strftime('%Y')" name="code"/>
<field eval="'12/'+time.strftime('%Y')" name="name"/>
<field eval="'X 12/'+time.strftime('%Y')" name="name"/>
<field eval="True" name="special"/>
<field name="fiscalyear_id" ref="data_fiscalyear"/>
<field eval="time.strftime('%Y')+'-12-01'" name="date_start"/>
@ -129,6 +129,6 @@
<record id="base.user_demo" model="res.users">
<field name="groups_id" eval="[(4,ref('account.group_account_user'))]"/>
</record>
</record>
</data>
</openerp>

View File

@ -20,3 +20,5 @@
##############################################################################
import invoice
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -271,3 +271,5 @@ class account_invoice_tax(osv.osv, EDIMixin):
_inherit = "account.invoice.tax"
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-11-07 12:53+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"PO-Revision-Date: 2011-11-25 15:24+0000\n"
"Last-Translator: Numérigraphe <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: 2011-11-08 05:42+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-26 05:50+0000\n"
"X-Generator: Launchpad (build 14381)\n"
#. module: account
#: code:addons/account/account.py:1291
@ -584,8 +584,6 @@ msgstr ""
#: field:account.move.bank.reconcile,journal_id:0
#: view:account.move.line:0
#: field:account.move.line,journal_id:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: code:addons/account/account_move_line.py:983
#: view:analytic.entries.report:0
#: field:analytic.entries.report,journal_id:0
@ -968,7 +966,6 @@ msgstr "Créer des périodes trimestrielles"
#. module: account
#: report:account.overdue:0
#: report:account.aged_trial_balance:0
msgid "Due"
msgstr "Due"
@ -1063,10 +1060,6 @@ msgstr "Modèle d'écritures"
#: field:account.journal,code:0
#: report:account.partner.balance:0
#: field:account.period,code:0
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:pl.account:0
msgid "Code"
msgstr "Code"
@ -1396,7 +1389,6 @@ msgstr "Analyse des écritures comptables"
#. module: account
#: model:ir.actions.act_window,name:account.action_partner_all
#: model:ir.ui.menu,name:account.next_id_22
#: report:account.aged_trial_balance:0
msgid "Partners"
msgstr "Partenaires"
@ -2196,7 +2188,7 @@ msgstr ""
#. module: account
#: view:account.chart.template:0
msgid "Search Chart of Accounts Templates"
msgid "Search Chart of Account Templates"
msgstr "Chercher un modèle de plan comptable"
#. module: account
@ -2305,11 +2297,6 @@ msgstr "Modèle de produit"
#: report:account.third_party_ledger_other:0
#: report:account.vat.declaration:0
#: model:ir.model,name:account.model_account_fiscalyear
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:pl.account:0
#: report:account.aged_trial_balance:0
msgid "Fiscal Year"
msgstr "Exercice comptable"
@ -3187,9 +3174,7 @@ msgstr "Laisser vide pour utiliser le compte de dépense"
#: field:account.common.report,journal_ids:0
#: report:account.general.journal:0
#: field:account.general.journal,journal_ids:0
#: report:account.general.ledger_landscape:0
#: view:account.journal.period:0
#: report:account.partner.balance:0
#: field:account.partner.balance,journal_ids:0
#: field:account.partner.ledger,journal_ids:0
#: field:account.pl.report,journal_ids:0
@ -3550,7 +3535,6 @@ msgstr ""
#: field:account.entries.report,date:0
#: selection:account.general.journal,filter:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: field:account.invoice.report,date:0
#: report:account.journal.period.print:0
#: view:account.move:0
@ -4852,7 +4836,6 @@ msgstr "Balance Analytique -"
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: report:account.aged_trial_balance:0
msgid "Target Moves"
msgstr "Mouvements Cibles"
@ -5521,7 +5504,7 @@ msgstr "Ajustement"
#. module: account
#: field:res.partner,debit:0
msgid "Total Payable"
msgstr "Montant à payer"
msgstr "Total à payer"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_analytic_account_line_extended_form
@ -5687,16 +5670,6 @@ msgstr "La nouvelle devise n'est pas correctement paramétrée !"
#: field:account.print.journal,filter:0
#: field:account.report.general.ledger,filter:0
#: field:account.vat.declaration,filter:0
#: field:account.account.balance,filter:0
#: field:account.central.journal,filter:0
#: field:account.general.journal,filter:0
#: field:account.partner.balance,filter:0
#: field:account.balancesheet,filter:0
#: field:account.balancesheet.horizontal,filter:0
#: field:account.general.ledger,filter:0
#: field:account.general.ledger_landscape,filter:0
#: field:pl.account,filter:0
#: field:pl.account.horizontal,filter:0
msgid "Filter by"
msgstr "Filtrer par"
@ -6569,7 +6542,6 @@ msgstr " valorisation : pourcentage"
#: code:addons/account/invoice.py:1008
#: code:addons/account/wizard/account_invoice_refund.py:100
#: code:addons/account/wizard/account_invoice_refund.py:102
#: code:addons/account/wizard/account_open_closed_fiscalyear.py:40
#: code:addons/account/wizard/account_use_model.py:44
#, python-format
msgid "Error !"
@ -6712,7 +6684,6 @@ msgstr "Position fiscale des taxes"
#: view:account.report.general.ledger:0
#: model:ir.actions.act_window,name:account.action_account_general_ledger_menu
#: model:ir.actions.report.xml,name:account.account_general_ledger
#: model:ir.actions.report.xml,name:account.account_general_ledger_landscape
#: model:ir.ui.menu,name:account.menu_general_ledger
msgid "General Ledger"
msgstr "Grand livre"
@ -6748,8 +6719,8 @@ msgid ""
"Account Voucher module includes all the basic requirements of Voucher "
"Entries for Bank, Cash, Sales, Purchase, Expenses, Contra, etc... "
msgstr ""
"Le module Chèques comprend toutes les fonctionnalités de base pour la "
"Banque, la trésorerie, les ventes, les achats, les frais, etc. "
"Le module \"Justificatifs\" comprend toutes les fonctionnalités de base pour "
"la Banque, la trésorerie, les ventes, les achats, les frais, etc. "
#. module: account
#: view:account.chart.template:0
@ -6768,8 +6739,6 @@ msgstr "Plan de taxes comptables"
#: report:account.general.journal:0
#: report:account.invoice:0
#: report:account.partner.balance:0
#: report:pl.account.horizontal:0
#: report:pl.account:0
msgid "Total:"
msgstr "Total :"
@ -6979,7 +6948,7 @@ msgstr "Lignes analytiques"
#: model:ir.actions.act_window,help:account.action_account_analytic_account_tree2
msgid ""
"The normal chart of accounts has a structure defined by the legal "
"requirement of the country. The analytic chart of accounts structure should "
"requirement of the country. The analytic chart of account structure should "
"reflect your own business needs in term of costs/revenues reporting. They "
"are usually structured by contracts, projects, products or departements. "
"Most of the OpenERP operations (invoices, timesheets, expenses, etc) "
@ -7384,7 +7353,6 @@ msgstr "Information optionnelle"
#. module: account
#: view:account.analytic.line:0
#: field:account.bank.statement,user_id:0
#: view:account.journal:0
#: field:account.journal,user_id:0
#: view:analytic.entries.report:0
@ -7981,7 +7949,6 @@ msgstr "Gestion de la comptabilité et des finances"
#: view:account.entries.report:0
#: field:account.entries.report,period_id:0
#: view:account.fiscalyear:0
#: report:account.general.ledger_landscape:0
#: view:account.invoice:0
#: view:account.invoice.report:0
#: field:account.journal.period,period_id:0
@ -8102,21 +8069,6 @@ msgstr "Tél. :"
msgid "Company Currency"
msgstr "Devise société"
#. module: account
#: report:account.account.balance:0
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:pl.account:0
#: report:pl.account.horizontal:0
#: report:account.aged_trial_balance:0
msgid "Chart of Accounts"
msgstr "Plan comptable"
#. module: account
#: model:process.node,name:account.process_node_paymententries0
#: model:process.transition,name:account.process_transition_reconcilepaid0
@ -8233,7 +8185,6 @@ msgstr "Journal d'avoirs"
#: report:account.account.balance:0
#: report:account.central.journal:0
#: report:account.general.journal:0
#: report:account.general.ledger_landscape:0
#: report:account.partner.balance:0
#: report:account.balancesheet:0
#: report:account.balancesheet.horizontal:0
@ -8298,7 +8249,7 @@ msgstr ""
#. module: account
#: field:account.invoice.line,price_subtotal:0
msgid "Subtotal"
msgstr "Sous total"
msgstr "Sous-total"
#. module: account
#: view:account.vat.declaration:0
@ -8319,12 +8270,6 @@ msgstr "Modèle de pièce comptable"
msgid "Due Date"
msgstr "Date d'échéance"
#. module: account
#: view:account.print.invoice:0
#: field:account.print.invoice,date_due:0
msgid "Due Date"
msgstr "Echéance"
#. module: account
#: model:ir.ui.menu,name:account.menu_account_supplier
#: model:ir.ui.menu,name:account.menu_finance_payables
@ -8461,8 +8406,6 @@ msgid ""
"The amount of the voucher must be the same amount as the one on the "
"statement line"
msgstr ""
"Le montant du justificatif doit être identique à celui de la ligne le "
"concernant"
#. module: account
#: code:addons/account/account_move_line.py:1131
@ -8838,7 +8781,6 @@ msgstr "Impossible de trouver le code parent pour le compte modèle !"
#. module: account
#: field:account.aged.trial.balance,direction_selection:0
#: report:account.aged_trial_balance:0
msgid "Analysis Direction"
msgstr "Direction d'Analyse"
@ -8969,10 +8911,6 @@ msgstr "Laisser vide pour utiliser le compte de revenu"
#: report:account.third_party_ledger_other:0
#: field:report.account.receivable,balance:0
#: field:report.aged.receivable,balance:0
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:pl.account:0
msgid "Balance"
msgstr "Balance"
@ -9024,7 +8962,7 @@ msgstr ""
#: selection:account.account.template,type:0
#: selection:account.entries.report,type:0
msgid "Payable"
msgstr "Débiteurs"
msgstr "Payable"
#. module: account
#: view:report.account.sales:0
@ -9123,7 +9061,6 @@ msgstr "Saisie manuelle"
#. module: account
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: report:account.journal.period.print:0
#: field:account.move.line,move_id:0
#: field:analytic.entries.report,move_id:0
@ -9203,7 +9140,7 @@ msgstr "Juillet"
#. module: account
#: view:account.account:0
msgid "Chart of Accounts"
msgid "Chart of accounts"
msgstr "Plan comptable"
#. module: account
@ -9250,7 +9187,7 @@ msgstr "Période de fin"
#: field:account.print.journal,chart_account_id:0
#: field:account.report.general.ledger,chart_account_id:0
#: field:account.vat.declaration,chart_account_id:0
msgid "Chart of Accounts"
msgid "Chart of account"
msgstr "Plan comptable"
#. module: account
@ -9298,7 +9235,6 @@ msgstr "Écriture d'abonnement"
#: report:account.general.journal:0
#: field:account.general.journal,date_from:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: field:account.installer,date_start:0
#: report:account.journal.period.print:0
#: report:account.partner.balance:0
@ -9311,7 +9247,6 @@ msgstr "Écriture d'abonnement"
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: field:account.vat.declaration,date_from:0
#: report:account.aged_trial_balance:0
msgid "Start Date"
msgstr "Date de début"
@ -9508,7 +9443,7 @@ msgstr ""
#: field:account.invoice,number:0
#: field:account.move,name:0
msgid "Number"
msgstr "Nombre"
msgstr "Numéro"
#. module: account
#: report:account.analytic.account.journal:0
@ -9736,7 +9671,6 @@ msgstr "Validé"
#: report:account.general.journal:0
#: field:account.general.journal,date_to:0
#: report:account.general.ledger:0
#: report:account.general.ledger_landscape:0
#: field:account.installer,date_stop:0
#: report:account.journal.period.print:0
#: report:account.partner.balance:0
@ -9824,7 +9758,6 @@ msgstr "États"
#: field:report.account.sales,amount_total:0
#: field:report.account_type.sales,amount_total:0
#: field:report.invoice.created,amount_total:0
#: report:account.aged_trial_balance:0
msgid "Total"
msgstr "Total"
@ -10259,7 +10192,7 @@ msgstr "La date de la pièce comptable n'est pas dans la période définie."
#. module: account
#: field:account.subscription,period_total:0
msgid "Number of Periods"
msgstr "Nombre de Périodes"
msgstr "Nombre de périodes"
#. module: account
#: report:account.general.journal:0
@ -10355,7 +10288,6 @@ msgstr "account.addtmpl.wizard"
#: field:account.partner.ledger,result_selection:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: report:account.aged_trial_balance:0
msgid "Partner's"
msgstr "Du partenaire"
@ -10507,18 +10439,6 @@ msgstr "Actif"
msgid "Liabilities"
msgstr "Passif"
#. module: account
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Expenses"
msgstr "Charges"
#. module: account
#: report:pl.account:0
#: report:pl.account.horizontal:0
msgid "Income"
msgstr "Produits"
#~ msgid "Aged Trial Balance"
#~ msgstr "Balance Agée"
@ -10757,6 +10677,9 @@ msgstr "Produits"
#~ msgid "Close states"
#~ msgstr "Clôturer l'état"
#~ msgid "Income"
#~ msgstr "Produits"
#~ msgid "Print General Journal"
#~ msgstr "Imprimer le journal général"
@ -11822,7 +11745,7 @@ msgstr "Produits"
#~ msgid "Balance Sheet (Assets Accounts)"
#~ msgstr "Bilan (comptes d'actif)"
#~ msgid "Chart of Accounts"
#~ msgid "Chart of Account"
#~ msgstr "Plan comptable"
#~ msgid "Balance:"

View File

@ -111,6 +111,10 @@ class account_installer(osv.osv_memory):
return {}
def execute(self, cr, uid, ids, context=None):
self.execute_simple(cr, uid, ids, context)
super(account_installer, self).execute(cr, uid, ids, context=context)
def execute_simple(self, cr, uid, ids, context=None):
if context is None:
context = {}
fy_obj = self.pool.get('account.fiscalyear')
@ -219,7 +223,6 @@ class account_installer(osv.osv_memory):
fy_obj.create_period(cr, uid, [fiscal_id])
elif res['period'] == '3months':
fy_obj.create_period3(cr, uid, [fiscal_id])
super(account_installer, self).execute(cr, uid, ids, context=context)
def modules_to_install(self, cr, uid, ids, context=None):
modules = super(account_installer, self).modules_to_install(

View File

@ -55,10 +55,10 @@ class analytic_entries_report(osv.osv):
select
min(a.id) as id,
count(distinct a.id) as nbr,
a.create_date as date,
to_char(a.create_date, 'YYYY') as year,
to_char(a.create_date, 'MM') as month,
to_char(a.create_date, 'YYYY-MM-DD') as day,
a.date as date,
to_char(a.date, 'YYYY') as year,
to_char(a.date, 'MM') as month,
to_char(a.date, 'YYYY-MM-DD') as day,
a.user_id as user_id,
a.name as name,
analytic.partner_id as partner_id,
@ -76,9 +76,11 @@ class analytic_entries_report(osv.osv):
account_analytic_line a, account_analytic_account analytic
where analytic.id = a.account_id
group by
a.create_date, a.user_id,a.name,analytic.partner_id,a.company_id,a.currency_id,
a.date, a.user_id,a.name,analytic.partner_id,a.company_id,a.currency_id,
a.account_id,a.general_account_id,a.journal_id,
a.move_id,a.product_id,a.product_uom_id
)
""")
analytic_entries_report()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -153,3 +153,5 @@ class account_entries_report(osv.osv):
)
""")
account_entries_report()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -92,3 +92,5 @@ class report_account_common(report_sxw.rml_parse, common_report_header):
report_sxw.report_sxw('report.account.financial.report', 'account.financial.report',
'addons/account/report/account_financial_report.rml', parser=report_account_common, header='internal')
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -79,3 +79,5 @@ class account_treasury_report(osv.osv):
)
""")
account_treasury_report()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -141,3 +141,5 @@ class common_report_header(object):
return ''
#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -1,31 +1,8 @@
-
In order to check the Close a Fiscal Year wizard in OpenERP I first create a Fiscalyear
-
!record {model: account.fiscalyear, id: account_fiscalyear_fiscalyear0}:
code: !eval "'FY%s'% (datetime.now().year+1)"
company_id: base.main_company
date_start: !eval "'%s-01-01' %(datetime.now().year+1)"
date_stop: !eval "'%s-12-31' %(datetime.now().year+1)"
name: !eval "'Fiscal Year %s' %(datetime.now().year+1)"
-
I create monthly Periods for this fiscalyear
-
!python {model: account.fiscalyear}: |
self.create_period(cr, uid, [ref("account_fiscalyear_fiscalyear0")], {"lang":
'en_US', "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_account_fiscalyear_form")],
"tz": False, "active_id": ref("account.menu_action_account_fiscalyear_form"),
})
-
I check that the fiscalyear state is "Draft"
-
!assert {model: account.fiscalyear, id: account_fiscalyear_fiscalyear0, string: Fiscal Year is in Draft state}:
- state == 'draft'
-
I run the Close a Fiscalyear wizard to close this fiscalyear
I run the Close a Fiscalyear wizard to close the demo fiscalyear
-
!record {model: account.fiscalyear.close.state, id: account_fiscalyear_close_state_0}:
fy_id: account_fiscalyear_fiscalyear0
fy_id: data_fiscalyear
-
I clicked on Close States Button to close fiscalyear
@ -37,9 +14,6 @@
-
I check that the fiscalyear state is now "Done"
-
!assert {model: account.fiscalyear, id: account_fiscalyear_fiscalyear0, string: Fiscal Year is in Done state}:
!assert {model: account.fiscalyear, id: data_fiscalyear, string: Fiscal Year is in Done state}:
- state == 'done'

View File

@ -82,10 +82,10 @@
'active_model': 'ir.ui.menu', 'journal_type': 'purchase', 'active_ids': [ref('menu_action_invoice_tree2')],
'type': 'in_invoice', 'active_id': ref('menu_action_invoice_tree2')})
except Exception, e:
assert e, _('Warning message has not been raised')
assert e, 'Warning message has not been raised'
-
I verify that 'Period Sum' and 'Year sum' of account tax codes gets bind with the values
I verify that 'Period Sum' and 'Year sum' of the tax code are the expected values
-
!python {model: account.tax.code}: |
tax_code = self.browse(cr, uid, ref('tax_case'))
assert(tax_code.sum_period == 100.0 and tax_code.sum == 100.0), _("'Period Sum' and 'Year sum' has not been binded with the correct values")
assert(tax_code.sum_period == 100.0 and tax_code.sum == 100.0), "Incorrect 'Period Sum' / 'Year sum' expected twice 100.0, got period=%r and year=%r)" % (tax_code.sum_period,tax_code.sum)

View File

@ -47,3 +47,5 @@ for a in account_lists:
(a2['parent_right']<a['parent_right']))
if a2['parent_id']==a['id']:
assert (a2['parent_left']>a['parent_left']) and (a2['parent_right']<a['parent_right'])
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -41,3 +41,5 @@ class account_central_journal(osv.osv_memory):
account_central_journal()
#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -44,3 +44,5 @@ class account_common_account_report(osv.osv_memory):
account_common_account_report()
#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -49,4 +49,4 @@ class account_common_journal_report(osv.osv_memory):
account_common_journal_report()
#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -44,4 +44,5 @@ class account_common_partner_report(osv.osv_memory):
account_common_partner_report()
#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -37,3 +37,5 @@ class account_general_journal(osv.osv_memory):
account_general_journal()
#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -46,3 +46,5 @@ class account_print_journal(osv.osv_memory):
account_print_journal()
#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -59,4 +59,4 @@ class account_vat_declaration(osv.osv_memory):
account_vat_declaration()
#vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,36 @@
# Bengali translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-11-21 12:33+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Bengali <bn@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: 2011-11-22 05:00+0000\n"
"X-Generator: Launchpad (build 14299)\n"
#. module: account_accountant
#: model:ir.module.module,description:account_accountant.module_meta_information
msgid ""
"\n"
"This module gives the admin user the access to all the accounting features "
"like the journal\n"
"items and the chart of accounts.\n"
" "
msgstr ""
"\n"
"এই মডিউল admin ব্যবহারকারীকে সকল হিসাবরক্ষন এর সুবিধা দিবে\n"
" "
#. module: account_accountant
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information
msgid "Accountant"
msgstr "হিসাবরক্ষনকারী"

View File

@ -0,0 +1,33 @@
# Hebrew translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-11-18 17: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: 2011-11-19 05:13+0000\n"
"X-Generator: Launchpad (build 14299)\n"
#. module: account_accountant
#: model:ir.module.module,description:account_accountant.module_meta_information
msgid ""
"\n"
"This module gives the admin user the access to all the accounting features "
"like the journal\n"
"items and the chart of accounts.\n"
" "
msgstr ""
#. module: account_accountant
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information
msgid "Accountant"
msgstr ""

View File

@ -0,0 +1,38 @@
# Occitan (post 1500) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-11-20 09:14+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Occitan (post 1500) <oc@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: 2011-11-21 05:22+0000\n"
"X-Generator: Launchpad (build 14299)\n"
#. module: account_accountant
#: model:ir.module.module,description:account_accountant.module_meta_information
msgid ""
"\n"
"This module gives the admin user the access to all the accounting features "
"like the journal\n"
"items and the chart of accounts.\n"
" "
msgstr ""
"\n"
"Aqueste modul balha a l'administrator los accèsses a totas las "
"foncionalitats comptablas talas coma las linhas\n"
"d'escritura e lo plan comptable.\n"
" "
#. module: account_accountant
#: model:ir.module.module,shortdesc:account_accountant.module_meta_information
msgid "Accountant"
msgstr "Comptable"

View File

@ -77,3 +77,5 @@ class analytic_account(osv.osv):
return True
analytic_account()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -38,3 +38,5 @@ class purchase_order(osv.osv):
line.update({'account_id': new_account_id})
return line
purchase_order()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,36 @@
# Bengali translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-11-21 12:37+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Bengali <bn@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: 2011-11-22 05:00+0000\n"
"X-Generator: Launchpad (build 14299)\n"
#. module: account_cancel
#: model:ir.module.module,description:account_cancel.module_meta_information
msgid ""
"\n"
" Module adds 'Allow cancelling entries' field on form view of account "
"journal. If set to true it allows user to cancel entries & invoices.\n"
" "
msgstr ""
"\n"
" মডিউলটি 'Allow cancelling entries' ফিল্ড যুক্ত করবে যা দিয়ে জাবেদা "
"অন্তর্ভুক্তি বাতিল করা যাবে।\n"
" "
#. module: account_cancel
#: model:ir.module.module,shortdesc:account_cancel.module_meta_information
msgid "Account Cancel"
msgstr "হিসাব বাতিল"

View File

@ -0,0 +1,37 @@
# Occitan (post 1500) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-11-20 09:15+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Occitan (post 1500) <oc@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: 2011-11-21 05:22+0000\n"
"X-Generator: Launchpad (build 14299)\n"
#. module: account_cancel
#: model:ir.module.module,description:account_cancel.module_meta_information
msgid ""
"\n"
" Module adds 'Allow cancelling entries' field on form view of account "
"journal. If set to true it allows user to cancel entries & invoices.\n"
" "
msgstr ""
"\n"
" Lo modul apond lo camp 'Permetre l'anullacion de las entradas' dins la "
"vista formulari del jornal. S'es egal a Verai, aquò permet a l'utilizaire "
"d'anullar l'entrada e la factura.\n"
" "
#. module: account_cancel
#: model:ir.module.module,shortdesc:account_cancel.module_meta_information
msgid "Account Cancel"
msgstr "Anullacion comptabla"

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-11-11 15:22+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2011-11-25 14:47+0000\n"
"Last-Translator: Numérigraphe <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: 2011-11-12 04:52+0000\n"
"X-Generator: Launchpad (build 14277)\n"
"X-Launchpad-Export-Date: 2011-11-26 05:49+0000\n"
"X-Generator: Launchpad (build 14381)\n"
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:295
@ -89,6 +89,11 @@ msgid ""
"\n"
"%s"
msgstr ""
"\n"
"\n"
"Courriel envoyé vers les Partenaires suivants :\n"
"\n"
"%s"
#. module: account_followup
#: view:account_followup.followup:0
@ -538,6 +543,9 @@ msgid ""
"\n"
"%s"
msgstr ""
"Tous les courriels ont été envoyés correctement vers les Partenaires :\n"
"\n"
"%s"
#. module: account_followup
#: constraint:res.company:0
@ -728,6 +736,9 @@ msgid ""
"\n"
"%s"
msgstr ""
"Courriel non envoyé vers les Partenaires suivants (courriel indisponible) !\n"
"\n"
"%s"
#. module: account_followup
#: view:account.followup.print:0

View File

@ -8,25 +8,25 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-11-11 15:21+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2011-11-22 19:07+0000\n"
"Last-Translator: Milan Milosevic <Unknown>\n"
"Language-Team: Serbian latin <sr@latin@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: 2011-11-12 04:52+0000\n"
"X-Generator: Launchpad (build 14277)\n"
"X-Launchpad-Export-Date: 2011-11-23 05:20+0000\n"
"X-Generator: Launchpad (build 14336)\n"
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:295
#, python-format
msgid "Followup Summary"
msgstr "Sumarno Pracenje"
msgstr "Sumarno praćenje"
#. module: account_followup
#: view:account_followup.followup:0
msgid "Search Followup"
msgstr "Pretrazi Pracenja"
msgstr "Pretraži praćenja"
#. module: account_followup
#: model:ir.module.module,description:account_followup.module_meta_information
@ -52,11 +52,31 @@ msgid ""
"Sent\n"
"\n"
msgstr ""
"\n"
" Moduli za automatizovana pisma za neplaćenbe fakture, sa podsećanjem na "
"više nivoa.\n"
"\n"
" Možete definisati višestruke nivoe podsećanja kroz meni:\n"
" Accounting/Configuration/Miscellaneous/Follow-Ups\n"
"\n"
" Jednom kad budu definisani, možete štampati podsećanja svakodnevno\n"
" prostim klikom na meni:\n"
" Accounting/Periodical Processing/Billing/Send followups\n"
"\n"
" Generisaće se PDF datoteka sa svim pismima shodno\n"
" različitim nivoima podsećanja. Možete definisati različite načine\n"
" za različita preduzeća. Možete takođe poslati el.poštu stranci.\n"
"\n"
" Zapazite da ako želite da izmenite nivo praćenja za datog "
"partnera/stavku naloga, možete to uraditi iz menija:\n"
" Accounting/Reporting/Generic Reporting/Partner Accounts/Follow-ups "
"Sent\n"
"\n"
#. module: account_followup
#: view:account_followup.stat:0
msgid "Group By..."
msgstr "Grupirano po"
msgstr "Grupiši po..."
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:290
@ -68,12 +88,17 @@ msgid ""
"\n"
"%s"
msgstr ""
"\n"
"\n"
"El.pošta uspešno poslata sledećim partnerim. !\n"
"\n"
"%s"
#. module: account_followup
#: view:account_followup.followup:0
#: field:account_followup.followup,followup_line:0
msgid "Follow-Up"
msgstr "Следи"
msgstr "Sledi"
#. module: account_followup
#: field:account_followup.followup,company_id:0
@ -86,7 +111,7 @@ msgstr "Preduzeće"
#. module: account_followup
#: report:account_followup.followup.print:0
msgid "Invoice Date"
msgstr "Datum računa"
msgstr "Datum fakture"
#. module: account_followup
#: field:account.followup.print.all,email_subject:0
@ -108,27 +133,27 @@ msgstr "Legenda"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "Ok"
msgstr "U redu"
msgstr "OK"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "Select Partners to Remind"
msgstr ""
msgstr "Izaberite partnere koje biste hteli podsetiti"
#. module: account_followup
#: constraint:account.move.line:0
msgid "You can not create move line on closed account."
msgstr ""
msgstr "Ne možete da napravite poteznu liniju na zatvorenim računima."
#. module: account_followup
#: field:account.followup.print,date:0
msgid "Follow-up Sending Date"
msgstr "Datum Slanja Pracenja"
msgstr "Datum slanja praćenja"
#. module: account_followup
#: sql_constraint:account.move.line:0
msgid "Wrong credit or debit value in accounting entry !"
msgstr ""
msgstr "Pogrešna vrednost kredita ili debita u ulazu računa !"
#. module: account_followup
#: selection:account_followup.followup.line,start:0
@ -139,12 +164,12 @@ msgstr "Neto dana"
#: model:ir.actions.act_window,name:account_followup.action_account_followup_definition_form
#: model:ir.ui.menu,name:account_followup.account_followup_menu
msgid "Follow-Ups"
msgstr "Pracenja"
msgstr "Praćenja"
#. module: account_followup
#: view:account_followup.stat.by.partner:0
msgid "Balance > 0"
msgstr ""
msgstr "Balans > 0"
#. module: account_followup
#: view:account.move.line:0
@ -154,18 +179,18 @@ msgstr "Ukupno duguje"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "%(heading)s: Move line header"
msgstr "%(heading): Zaglavlje reda prijenosa"
msgstr "%(heading): Zaglavlje reda prenosa"
#. module: account_followup
#: view:res.company:0
#: field:res.company,follow_up_msg:0
msgid "Follow-up Message"
msgstr "Poruka Pracenja"
msgstr "Poruka praćenja"
#. module: account_followup
#: field:account.followup.print,followup_id:0
msgid "Follow-up"
msgstr "Pracenje"
msgstr "Praćenje"
#. module: account_followup
#: report:account_followup.followup.print:0
@ -198,17 +223,17 @@ msgstr ""
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_followup
msgid "Account Follow Up"
msgstr "Nalog Pracenja"
msgstr "Nalog praćenja"
#. module: account_followup
#: selection:account_followup.followup.line,start:0
msgid "End of Month"
msgstr "Kraj Meseca"
msgstr "Kraj meseca"
#. module: account_followup
#: view:account_followup.stat:0
msgid "Not Litigation"
msgstr "Nije Sporno"
msgstr "Nije sporno"
#. module: account_followup
#: view:account.followup.print.all:0
@ -227,22 +252,26 @@ msgid ""
"You can send them the default message for unpaid invoices or manually enter "
"a message should you need to remind them of a specific information."
msgstr ""
"Ova funkcija omogućava Vam slanje podsetnika partnerima sa fakturama na "
"čekanju. Možete im poslati podrazumevanu poruku za neplaćene fakture ili "
"ručno uneti poruku, u slučaju da Vam treba da ih podsetite na neku "
"specifičnu informaciju."
#. module: account_followup
#: report:account_followup.followup.print:0
msgid "Ref"
msgstr "Referenca"
msgstr "Ref"
#. module: account_followup
#: help:account_followup.followup.line,sequence:0
msgid "Gives the sequence order when displaying a list of follow-up lines."
msgstr "Daje redosled sekvenci pri prikazivanju linija pracenja"
msgstr "Daje redosled sekvenci pri prikazivanju linija praćenja"
#. module: account_followup
#: view:account.followup.print.all:0
#: field:account.followup.print.all,email_body:0
msgid "Email body"
msgstr "Sadrzaj Email-a"
msgstr "Sadržaj E-mail-a"
#. module: account_followup
#: field:account.move.line,followup_line_id:0
@ -279,44 +308,46 @@ msgid ""
"Best Regards,\n"
msgstr ""
"\n"
"Postovani %(partner_name)\n"
"Razocarani smo sto vam se moramo obracati ovako, saljuci vam opomenu, ali "
"vas nalog je u ozbiljnom prekoracenju.\n"
"Poštovani %(partner_name)\n"
"Razočarani smo što je Vaš nalog u ozbiljnom prekoracenju, uprkos poslatom "
"podsetniku.\n"
"\n"
"Vrlo je vazno da ispunite vase obaveze ka nama, inace ce mo biti prisiljeni "
"da obustavimo vas nalog, sto u stvari znaci da necemo vise biti\n"
"u mogucnosti da vase preduzece nadalje snabdevamo ( robom / servisiranjem).\n"
"Molimo vas da preduzmete mere kako bi regulisali vasa dugovanja u sledecih 8 "
"dana.\n"
" Vrlo je važno da ispunite svoje obaveze ka nama, inače ćemo biti prisiljeni "
"da obustavimo Vaš nalog, što u stvari znači da nećemo više biti\n"
" u mogućnosti da Vaše preduzeće nadalje snabdevamo ( robom / "
"servisiranjem).\n"
" Molimo vas da preduzmete mere kako biste regulisali svoja dugovanja u "
"sledećih 8 dana.\n"
"\n"
"Ukoliko postoji problem, vezan za fakturu, sa kojim nismo upoznati, ne "
"ustrucavajte se da kontaktirate nase racunovodstvo na broj (+32) 20 555 666 "
"kako bi smo razmotrili problem sto je hitnije moguce.\n"
" Ukoliko postoji problem, vezan za fakturu, sa kojim nismo upoznati, ne "
"ustručavajte se da kontaktirate naše računovodstvo na broj (+32) 20 555 666 "
"kako bismo razmotrili problem što je hitnije moguće.\n"
"\n"
"Detalji vase fakture su prikazani ispod.\n"
" Detalji Vaše fakture su prikazani ispod.\n"
"\n"
"Uz svo postovanje.\n"
" Uz svo poštovanje.\n"
#. module: account_followup
#: field:account.followup.print.all,partner_lang:0
msgid "Send Email in Partner Language"
msgstr "Posalji Email na jeziku Partnera"
msgstr "Pošalji E-mail na jeziku partnera"
#. module: account_followup
#: constraint:account.move.line:0
msgid ""
"You can not create move line on receivable/payable account without partner"
msgstr ""
"Ne možete napraviti poteznu liniju na primaćem/platežnom računu bez partnera"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "Partner Selection"
msgstr "Selekcija Partnera"
msgstr "Izbor partnera"
#. module: account_followup
#: field:account_followup.followup.line,description:0
msgid "Printed Message"
msgstr "Ispisana Poruka"
msgstr "Ištampana poruka"
#. module: account_followup
#: view:account.followup.print:0
@ -330,7 +361,7 @@ msgstr "Pošalji praćenja"
#. module: account_followup
#: view:account_followup.stat.by.partner:0
msgid "Partner to Remind"
msgstr ""
msgstr "Partner za podsećanje"
#. module: account_followup
#: field:account_followup.followup.line,followup_id:0
@ -355,17 +386,17 @@ msgid ""
"Best Regards,\n"
msgstr ""
"\n"
"postovani %(partner_name)\n"
"Poštovani %(partner_name)\n"
"\n"
"Nacinjen je izuzetak ukoliko je ovo nasa greska, ali , cini se da je sledeci "
"iznos ostao neplacen. Molimo vas da preduzmete odgovarajuce mere kako bi se "
"ovo resilo u sledecih 8 dana.\n"
"Načinjen je izuzetak ukoliko je ovo naša greška, ali , čini se da je sledeći "
"iznos ostao neplaćen. Molimo Vas da preduzmete odgovarajuće mere kako bi se "
"ovo rešilo u sledećih 8 dana.\n"
"\n"
"Ukoliko ste izvrsili uplatu u medjuvremenu, pre ovog Emaila, molimo "
"smatrajte ga nebitnim. Ne ustrucavajte se da kontaktirate nase racunovodstvo "
" Ukoliko ste izvršili uplatu u međuvremenu, pre ove el.pošte, molimo "
"smatrajte ga nebitnim. Ne ustručavajte se da kontaktirate naše računovodstvo "
"na broj (+32) 555 666.\n"
"\n"
"Svo Postovanje.\n"
" Svo poštovanje.\n"
#. module: account_followup
#: model:account_followup.followup.line,description:account_followup.demo_followup_line3
@ -405,7 +436,7 @@ msgstr ""
#. module: account_followup
#: view:account.followup.print.all:0
msgid "Send Mails"
msgstr "Slanje Emailova"
msgstr "Pošalji el.poštu"
#. module: account_followup
#: report:account_followup.followup.print:0
@ -415,25 +446,24 @@ msgstr "Valuta"
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_stat_by_partner
msgid "Followup Statistics by Partner"
msgstr ""
msgstr "Statistike praćenja po partneru"
#. module: account_followup
#: model:ir.module.module,shortdesc:account_followup.module_meta_information
msgid "Accounting follow-ups management"
msgstr "Menadzment naloga Praćenja"
msgstr "Uređivanje naloga praćenja"
#. module: account_followup
#: field:account_followup.stat,blocked:0
msgid "Blocked"
msgstr "Blokiran"
msgstr "Blokirano"
#. module: account_followup
#: help:account.followup.print,date:0
msgid ""
"This field allow you to select a forecast date to plan your follow-ups"
msgstr ""
"Ovo polje vam omogucava da selektujete udaljeni datum za planiranje vaseg "
"pracenja"
"Ovo polje Vam omogućava izbor udaljenog datuma za planiranje Vaših praćenja"
#. module: account_followup
#: report:account_followup.followup.print:0
@ -444,17 +474,17 @@ msgstr "Dospeće"
#: code:addons/account_followup/wizard/account_followup_print.py:56
#, python-format
msgid "Select Partners"
msgstr "Selektuj Partnere"
msgstr "Izaberi partnere"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "Email Settings"
msgstr "Email Postavke"
msgstr "Postavke el.pošte"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "Print Follow Ups"
msgstr "Stampaj Pracenja"
msgstr "Odštampaj praćenja"
#. module: account_followup
#: field:account.move.line,followup_date:0
@ -464,17 +494,17 @@ msgstr "Poslednje praćenje"
#. module: account_followup
#: report:account_followup.followup.print:0
msgid "Sub-Total:"
msgstr "Subtotal"
msgstr "Pod-total"
#. module: account_followup
#: report:account_followup.followup.print:0
msgid "Balance:"
msgstr "Saldo"
msgstr "Balans:"
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_stat
msgid "Followup Statistics"
msgstr "Statistika Pracenja"
msgstr "Statistika praćenja"
#. module: account_followup
#: report:account_followup.followup.print:0
@ -484,22 +514,22 @@ msgstr "Plaćeno"
#. module: account_followup
#: view:account_followup.followup.line:0
msgid "%(user_signature)s: User Name"
msgstr "%(user_signature): Korisnicko Ime"
msgstr "%(user_signature): Korisničko Ime"
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_move_line
msgid "Journal Items"
msgstr "Sadrzaj Dnevnika"
msgstr "Stavke dnevnika"
#. module: account_followup
#: constraint:account.move.line:0
msgid "Company must be same for its related account and period."
msgstr ""
msgstr "Preduzeće mora biti isto za sve vezane račune i periode."
#. module: account_followup
#: field:account.followup.print.all,email_conf:0
msgid "Send email confirmation"
msgstr "Pošalji Email potvrdu"
msgstr "Pošalji E-mail potvrdu"
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:287
@ -509,26 +539,29 @@ msgid ""
"\n"
"%s"
msgstr ""
"Sva el-pošta uspešno poslata partnerima:.\n"
"\n"
" %s"
#. module: account_followup
#: constraint:res.company:0
msgid "Error! You can not create recursive companies."
msgstr ""
msgstr "Greška! Ne možete da napravite rekurzivna preduzeća."
#. module: account_followup
#: view:account.followup.print.all:0
msgid "%(company_name)s: User's Company name"
msgstr "%(company_name)s: Ime preduzeca Korisnika"
msgstr "%(company_name)s: Ime preduzeća korisnika"
#. module: account_followup
#: model:ir.model,name:account_followup.model_res_company
msgid "Companies"
msgstr "Kompanije"
msgstr "Preduzeća"
#. module: account_followup
#: view:account_followup.followup:0
msgid "Followup Lines"
msgstr "Linije Pracenja"
msgstr "Linije praćenja"
#. module: account_followup
#: field:account_followup.stat,credit:0
@ -538,7 +571,7 @@ msgstr "Kredit"
#. module: account_followup
#: report:account_followup.followup.print:0
msgid "Maturity Date"
msgstr "Datum Dospeća"
msgstr "Datum dospeća"
#. module: account_followup
#: view:account_followup.followup.line:0
@ -548,30 +581,30 @@ msgstr "%(partner_name): Partnerovo Ime"
#. module: account_followup
#: view:account_followup.stat:0
msgid "Follow-Up lines"
msgstr "Redovi Praćenja"
msgstr "Linije praćenja"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "%(company_currency)s: User's Company Currency"
msgstr "%(company_currency)s: Valuta Preduzeca Korisnika"
msgstr "%(company_currency)s: Valuta preduzeća korisnika"
#. module: account_followup
#: view:account_followup.stat:0
#: field:account_followup.stat,balance:0
#: field:account_followup.stat.by.partner,balance:0
msgid "Balance"
msgstr "Saldo"
msgstr "Balans"
#. module: account_followup
#: field:account_followup.followup.line,start:0
msgid "Type of Term"
msgstr "Tip Uslova"
msgstr "Tip uslova"
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_print
#: model:ir.model,name:account_followup.model_account_followup_print_all
msgid "Print Followup & Send Mail to Customers"
msgstr "Stampaj Pracenje & Posalji Emailove Strankama"
msgstr "Ištampaj praćenje & pošalji E-mailove strankama"
#. module: account_followup
#: field:account_followup.stat,date_move_last:0
@ -582,12 +615,12 @@ msgstr "Poslednji potez"
#. module: account_followup
#: model:ir.actions.report.xml,name:account_followup.account_followup_followup_report
msgid "Followup Report"
msgstr "Izvestaj Pracenja"
msgstr "Izveštaj praćenja"
#. module: account_followup
#: field:account_followup.stat,period_id:0
msgid "Period"
msgstr "Razdoblje"
msgstr "Period"
#. module: account_followup
#: view:account.followup.print:0
@ -598,7 +631,7 @@ msgstr "Otkaži"
#. module: account_followup
#: view:account_followup.followup.line:0
msgid "Follow-Up Lines"
msgstr "Redovi Praćenja"
msgstr "Linije praćenja"
#. module: account_followup
#: view:account_followup.stat:0
@ -608,12 +641,12 @@ msgstr "Sporno"
#. module: account_followup
#: field:account_followup.stat.by.partner,max_followup_id:0
msgid "Max Follow Up Level"
msgstr ""
msgstr "Maksimalan nivo praćenja"
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.act_account_partner_account_move_payable_all
msgid "Payable Items"
msgstr "Stavke Placanja"
msgstr "Plative stavke"
#. module: account_followup
#: view:account.followup.print.all:0
@ -629,7 +662,7 @@ msgstr "%(datum)i: Trenutni Datum"
#. module: account_followup
#: view:account_followup.stat:0
msgid "Followup Level"
msgstr "Nivo Pracenja"
msgstr "Nivo praćenja"
#. module: account_followup
#: view:account_followup.followup:0
@ -641,12 +674,12 @@ msgstr "Opis"
#. module: account_followup
#: view:account_followup.stat:0
msgid "This Fiscal year"
msgstr "Fiskalna Godina"
msgstr "Ova fiskalna godina"
#. module: account_followup
#: view:account.move.line:0
msgid "Partner entries"
msgstr "Stavke Partnera"
msgstr "Stavke partnera"
#. module: account_followup
#: help:account.followup.print.all,partner_lang:0
@ -654,26 +687,26 @@ msgid ""
"Do not change message text, if you want to send email in partner language, "
"or configure from company"
msgstr ""
"Ne menjajte ovaj text ukoliko zelite da posaljete Email na jeziku Partnera, "
"ili ga konfigurisete po Preduzecu."
"Ne menjajte ovaj tekst, ukoliko želite da posaljete el-poštu na jeziku "
"partnera, ili ga konfigurišete po preduzecu."
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.act_account_partner_account_move_all
msgid "Receivable Items"
msgstr "Prijemne Stavke"
msgstr "Prijemljive stavke"
#. module: account_followup
#: view:account_followup.stat:0
#: model:ir.actions.act_window,name:account_followup.action_followup_stat
#: model:ir.ui.menu,name:account_followup.menu_action_followup_stat_follow
msgid "Follow-ups Sent"
msgstr "Pracenja Poslata"
msgstr "Praćenja poslata"
#. module: account_followup
#: field:account_followup.followup,name:0
#: field:account_followup.followup.line,name:0
msgid "Name"
msgstr "Ime"
msgstr "Naziv"
#. module: account_followup
#: field:account_followup.stat,date_move:0
@ -699,6 +732,9 @@ msgid ""
"\n"
"%s"
msgstr ""
"El.pošta nije poslata sledećim partnerima, el.pošta nije dostupna !\n"
"\n"
" %s"
#. module: account_followup
#: view:account.followup.print:0
@ -713,13 +749,13 @@ msgstr "Dana kašnjenja"
#. module: account_followup
#: report:account_followup.followup.print:0
msgid "Document : Customer account statement"
msgstr "Dokument:Korisnicka stavka naloga"
msgstr "Dokument: Izjava korisničkog naloga"
#. module: account_followup
#: view:account.followup.print.all:0
#: field:account.followup.print.all,summary:0
msgid "Summary"
msgstr "Sumarno"
msgstr "Sažetak"
#. module: account_followup
#: view:account.move.line:0
@ -729,7 +765,7 @@ msgstr "Ukupno potražuje"
#. module: account_followup
#: view:account.followup.print.all:0
msgid "%(line)s: Ledger Posting lines"
msgstr "%(line): Ledger Posting lines"
msgstr "%(linija)e: poslate iz glavnine"
#. module: account_followup
#: field:account_followup.followup.line,sequence:0
@ -739,7 +775,7 @@ msgstr "Sekvenca"
#. module: account_followup
#: view:account_followup.followup.line:0
msgid "%(company_name)s: User's Company Name"
msgstr "%(company_name): Strankino Ime Preduzeca"
msgstr "%(company_name): Naziv preduzeća korisnika"
#. module: account_followup
#: report:account_followup.followup.print:0
@ -754,17 +790,17 @@ msgstr "%(partner_name)s: Partnerovo Ime"
#. module: account_followup
#: view:account_followup.stat:0
msgid "Latest Followup Date"
msgstr "Datum poslednjeg Pracenja"
msgstr "Datum poslednjeg praćenja"
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_followup_line
msgid "Follow-Up Criteria"
msgstr "Kriterijum Pracenja"
msgstr "Kriterijum praćenja"
#. module: account_followup
#: constraint:account.move.line:0
msgid "You can not create move line on view account."
msgstr ""
msgstr "Ne možete napraviti poteznu liniju na računu po viđenju"
#, python-format
#~ msgid "Follwoup Summary"

View File

@ -7,14 +7,14 @@ msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-12-09 11:41+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"PO-Revision-Date: 2011-11-23 12:19+0000\n"
"Last-Translator: Paulino Ascenção <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: 2011-11-05 05:22+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-24 05:00+0000\n"
"X-Generator: Launchpad (build 14336)\n"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
@ -92,6 +92,20 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
" Este módulo disponibiliza algumas melhorias na apresentação das faturas\n"
"\n"
" Dá a possibilidade de\n"
" * pedir todas as linhas de uma fatura\n"
" * adicionar títulos, linhas de comentário, linhas de sub-total\n"
" * desenhar linhas horizontais e colocar quebras de página\n"
"\n"
" Além do mais, existe uma opção que permite imprimir todas as facturas "
"seleccionadas com uma mensagem especial em baixo. Esta capacidade pode ser "
"muito útil para imprimir facturas com desejos feliz ano novo, condições "
"pontuais especiais, etc...\n"
"\n"
" "
#. module: account_invoice_layout
#: report:account.invoice.layout:0

View File

@ -8,19 +8,19 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-12-23 15:39+0000\n"
"Last-Translator: Olivier Dony (OpenERP) <Unknown>\n"
"PO-Revision-Date: 2011-11-24 20:33+0000\n"
"Last-Translator: Milan Milosevic <Unknown>\n"
"Language-Team: Serbian latin <sr@latin@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: 2011-11-05 05:22+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-25 05:22+0000\n"
"X-Generator: Launchpad (build 14376)\n"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Sub Total"
msgstr "Subtotal"
msgstr "Podtotal"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -32,7 +32,7 @@ msgstr "Napomena:"
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Cancelled Invoice"
msgstr "Otkazane Fakture"
msgstr "Otkazana faktura"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
@ -44,7 +44,7 @@ msgstr "Naslov"
#: model:ir.actions.act_window,name:account_invoice_layout.action_account_invoice_special_msg
#: model:ir.actions.report.xml,name:account_invoice_layout.account_invoices_layout_message
msgid "Invoices with Layout and Message"
msgstr "Formatirana Faktura sa Porukom"
msgstr "Formatirana faktura sa porukom"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -60,19 +60,19 @@ msgstr "Napomena"
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_notify_message
msgid "Notify By Messages"
msgstr "Napomena po porukama"
msgstr "Obaveštenje putem poruke"
#. module: account_invoice_layout
#: help:notify.message,msg:0
msgid ""
"This notification will appear at the bottom of the Invoices when printed."
msgstr "Ova napomena ce se pojaviti na dnu fakture pri stampi"
msgstr "Ova napomena će se pojaviti na dnu faktura kad se odštampa"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Unit Price"
msgstr "Jedinična cijena"
msgstr "Pojedinačna cena"
#. module: account_invoice_layout
#: model:ir.module.module,description:account_invoice_layout.module_meta_information
@ -93,6 +93,20 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
" Ovaj modul dodaje funkcije za poboljšanje prikaza faktura.\n"
"\n"
" Daje Vam mogućnost da\n"
" *poređate sve linije jedne fakture\n"
" *dodajete naslove, linije komentara, linije podtotala\n"
" *dodajete vodoravne linije i odvajate stranice\n"
"\n"
" Povrh toga, postoji opcija koja Vam omogućava štampu svih faktura sa "
"datom specijalnom porukom\n"
"na dnu. Ova funkcija je veoma korisna za štampu faktura sa čestitkama za "
"Novu godinu, specijalnim uslovima...\n"
"\n"
" "
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -115,7 +129,7 @@ msgstr "Predračun"
#. module: account_invoice_layout
#: field:account.invoice,abstract_line_ids:0
msgid "Invoice Lines"
msgstr "Stavke računa"
msgstr "Linije računa"
#. module: account_invoice_layout
#: view:account.invoice.line:0
@ -125,7 +139,7 @@ msgstr "Sekv."
#. module: account_invoice_layout
#: model:ir.ui.menu,name:account_invoice_layout.menu_finan_config_notify_message
msgid "Notification Message"
msgstr "Poruka Napomene"
msgstr "Poruka obaveštenja"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
@ -136,12 +150,12 @@ msgstr "Proizvod"
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Description"
msgstr ""
msgstr "Opis"
#. module: account_invoice_layout
#: help:account.invoice.line,sequence:0
msgid "Gives the sequence order when displaying a list of invoice lines."
msgstr "poredja sekvence pri prikazu liste faktura."
msgstr "Daje redosled sekvenci pri prikazu spiska linija fakture"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -153,7 +167,7 @@ msgstr "Cena"
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Invoice Date"
msgstr "Datum Fakture"
msgstr "Datum fakture"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -163,12 +177,12 @@ msgstr "Porezi:"
#. module: account_invoice_layout
#: field:account.invoice.line,functional_field:0
msgid "Source Account"
msgstr "Изворни налог"
msgstr "Izvorni nalog"
#. module: account_invoice_layout
#: model:ir.actions.act_window,name:account_invoice_layout.notify_mesage_tree_form
msgid "Write Messages"
msgstr "Napisi Poruke"
msgstr "Napiši poruke"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -179,18 +193,18 @@ msgstr "Osnova"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
msgid "Page Break"
msgstr "Прелом стране"
msgstr "Kraj stranice"
#. module: account_invoice_layout
#: view:notify.message:0
#: field:notify.message,msg:0
msgid "Special Message"
msgstr "Specijalna Poruka"
msgstr "Specijalna poruka"
#. module: account_invoice_layout
#: help:account.invoice.special.msg,message:0
msgid "Message to Print at the bottom of report"
msgstr "Poruka koja se stampa pri dnu izvestaja"
msgstr "Poruka za štampu pri dnu izveštaja"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -202,7 +216,7 @@ msgstr "Količina"
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Refund"
msgstr "Refundiraj"
msgstr "Refundiranje"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -228,7 +242,7 @@ msgstr "Poruke"
#. module: account_invoice_layout
#: model:ir.actions.report.xml,name:account_invoice_layout.account_invoices_1
msgid "Invoices with Layout"
msgstr "Formatirana Faktura"
msgstr "Formatirane Fakture"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -240,33 +254,33 @@ msgstr "Opis / Porezi"
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Amount"
msgstr "Iznos"
msgstr "Količina"
#. module: account_invoice_layout
#: model:notify.message,msg:account_invoice_layout.demo_message1
msgid "ERP & CRM Solutions..."
msgstr ""
msgstr "ERP & CRM Rešenja..."
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Net Total :"
msgstr ""
msgstr "Ukupno neto :"
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Total :"
msgstr ""
msgstr "Ukupno :"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Draft Invoice"
msgstr "Neodobreni računi"
msgstr "Fakture u pripremi"
#. module: account_invoice_layout
#: field:account.invoice.line,sequence:0
msgid "Sequence Number"
msgstr "Broj Sekvence"
msgstr "Broj sekvence"
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_account_invoice_special_msg
@ -277,7 +291,7 @@ msgstr "Specijalna poruka naloga fakture"
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Origin"
msgstr ""
msgstr "Poreklo"
#. module: account_invoice_layout
#: field:account.invoice.line,state:0
@ -293,18 +307,18 @@ msgstr "Linija za odvajanje"
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Your Reference"
msgstr ""
msgstr "Vaš poziv na broj"
#. module: account_invoice_layout
#: model:ir.module.module,shortdesc:account_invoice_layout.module_meta_information
msgid "Invoices Layout Improvement"
msgstr "Unapredjenje izgleda fakture"
msgstr "Unapređenje izgleda fakture"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Supplier Invoice"
msgstr "Račun dobavljača"
msgstr "Faktura dobavljača"
#. module: account_invoice_layout
#: view:account.invoice.special.msg:0
@ -320,7 +334,7 @@ msgstr "Porez"
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_account_invoice_line
msgid "Invoice Line"
msgstr "Redak računa"
msgstr "Red fakture"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@ -330,14 +344,14 @@ msgstr "Neto Ukupno"
#. module: account_invoice_layout
#: view:notify.message:0
msgid "Write a notification or a wishful message."
msgstr "Napisi napomenu ili celu poruku"
msgstr "Napiši obaveštenje ili neku lepu želju"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: model:ir.model,name:account_invoice_layout.model_account_invoice
#: report:notify_account.invoice:0
msgid "Invoice"
msgstr "Račun"
msgstr "Faktura"
#. module: account_invoice_layout
#: view:account.invoice.special.msg:0
@ -348,7 +362,7 @@ msgstr "Otkaži"
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Supplier Refund"
msgstr "Povrat Dobavljaču"
msgstr "Povraćaj dobavljača"
#. module: account_invoice_layout
#: field:account.invoice.special.msg,message:0
@ -358,12 +372,12 @@ msgstr "Poruka"
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Taxes :"
msgstr ""
msgstr "Porezi :"
#. module: account_invoice_layout
#: model:ir.ui.menu,name:account_invoice_layout.menu_notify_mesage_tree_form
msgid "All Notification Messages"
msgstr "Sve Napomene"
msgstr "Sve poruke obaveštenja"
#~ msgid ""
#~ "The Object name must start with x_ and not contain any special character !"

View File

@ -322,7 +322,5 @@
</field>
</record>
<act_window domain="[('move_line_id.move_id.id', '=', move_id)]" id="act_account_invoice_2_payment_line" name="Payment Lines" res_model="payment.line" src_model="account.invoice"/>
</data>
</openerp>

View File

@ -0,0 +1,233 @@
# Serbian Latin translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-11-24 21:01+0000\n"
"Last-Translator: Milan Milosevic <Unknown>\n"
"Language-Team: Serbian Latin <sr@latin@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: 2011-11-25 05:22+0000\n"
"X-Generator: Launchpad (build 14376)\n"
#. module: account_sequence
#: view:account.sequence.installer:0
#: model:ir.actions.act_window,name:account_sequence.action_account_seq_installer
msgid "Account Sequence Application Configuration"
msgstr "Podešavanje aplikacije nizova naloga"
#. module: account_sequence
#: constraint:account.move:0
msgid ""
"You cannot create entries on different periods/journals in the same move"
msgstr ""
"Ne možete napraviti ulaze za različite periode/dnevnike u jednom potezu"
#. module: account_sequence
#: help:account.move,internal_sequence_number:0
#: help:account.move.line,internal_sequence_number:0
msgid "Internal Sequence Number"
msgstr "Broj unutrašnjeg niza"
#. module: account_sequence
#: help:account.sequence.installer,number_next:0
msgid "Next number of this sequence"
msgstr "Sledeći broj ovog niza"
#. module: account_sequence
#: field:account.sequence.installer,number_next:0
msgid "Next Number"
msgstr "Sledeći broj"
#. module: account_sequence
#: field:account.sequence.installer,number_increment:0
msgid "Increment Number"
msgstr "Inkrementalni broj"
#. module: account_sequence
#: model:ir.module.module,description:account_sequence.module_meta_information
msgid ""
"\n"
" This module maintains internal sequence number for accounting entries.\n"
" "
msgstr ""
"\n"
" Ovaj modul održava unutrašnji niz brojeva za odgovarajuće naloge.\n"
" "
#. module: account_sequence
#: model:ir.module.module,shortdesc:account_sequence.module_meta_information
msgid "Entries Sequence Numbering"
msgstr "Dodeljivanje brojeva nizovima ulaza"
#. module: account_sequence
#: help:account.sequence.installer,number_increment:0
msgid "The next number of the sequence will be incremented by this number"
msgstr "Sledeći broj ovog niza biće povećan ovim brojem"
#. module: account_sequence
#: view:account.sequence.installer:0
msgid "Configure Your Account Sequence Application"
msgstr "Podesi svoju aplikaciju za niz brojeva"
#. module: account_sequence
#: field:account.sequence.installer,progress:0
msgid "Configuration Progress"
msgstr "Napredak podešavanja"
#. module: account_sequence
#: help:account.sequence.installer,suffix:0
msgid "Suffix value of the record for the sequence"
msgstr "Sufiksalna vrednost zapisa za niz"
#. module: account_sequence
#: field:account.sequence.installer,company_id:0
msgid "Company"
msgstr "Preduzeće"
#. module: account_sequence
#: help:account.journal,internal_sequence_id:0
msgid ""
"This sequence will be used to maintain the internal number for the journal "
"entries related to this journal."
msgstr ""
"Ovaj niz će biti iskorišćen za održavanje unutrašnjeg broja za ulaze "
"dnevnika vezane za dnevnik."
#. module: account_sequence
#: field:account.sequence.installer,padding:0
msgid "Number padding"
msgstr "Ispunjavanje brojeva"
#. module: account_sequence
#: model:ir.model,name:account_sequence.model_account_move_line
msgid "Journal Items"
msgstr "Stavke dnevnika"
#. module: account_sequence
#: field:account.move,internal_sequence_number:0
#: field:account.move.line,internal_sequence_number:0
msgid "Internal Number"
msgstr "Unutrašnji broj"
#. module: account_sequence
#: constraint:account.move.line:0
msgid "Company must be same for its related account and period."
msgstr "Preduzeće mora biti isto za sve vezane račune i periode."
#. module: account_sequence
#: help:account.sequence.installer,padding:0
msgid ""
"OpenERP will automatically adds some '0' on the left of the 'Next Number' to "
"get the required padding size."
msgstr ""
"OpenERP će automatski dodati nekoliko '0' levo od 'Sledećeg broja' za "
"dobijanje tražene veličine ispunjavanja."
#. module: account_sequence
#: field:account.sequence.installer,name:0
msgid "Name"
msgstr "Naziv"
#. module: account_sequence
#: constraint:account.move.line:0
msgid "You can not create move line on closed account."
msgstr "Ne možete da napravite poteznu liniju na zatvorenim računima."
#. module: account_sequence
#: constraint:account.move:0
msgid ""
"You cannot create more than one move per period on centralized journal"
msgstr ""
"Ne možete napraviti više od jednog pomeranja po periodu u centralizovanom "
"dnevniku"
#. module: account_sequence
#: sql_constraint:account.move.line:0
msgid "Wrong credit or debit value in accounting entry !"
msgstr "Pogrešna vrednost kredita ili debita u ulazu računa !"
#. module: account_sequence
#: field:account.journal,internal_sequence_id:0
msgid "Internal Sequence"
msgstr "Unutrašnji niz"
#. module: account_sequence
#: model:ir.model,name:account_sequence.model_account_sequence_installer
msgid "account.sequence.installer"
msgstr "account.sequence.installer"
#. module: account_sequence
#: view:account.sequence.installer:0
msgid "Configure"
msgstr "Podešavanje"
#. module: account_sequence
#: help:account.sequence.installer,prefix:0
msgid "Prefix value of the record for the sequence"
msgstr "Prefiksalna vrednost zapisa za niz"
#. module: account_sequence
#: model:ir.model,name:account_sequence.model_account_move
msgid "Account Entry"
msgstr "Ulaz naloga"
#. module: account_sequence
#: field:account.sequence.installer,suffix:0
msgid "Suffix"
msgstr "Sufiks"
#. module: account_sequence
#: field:account.sequence.installer,config_logo:0
msgid "Image"
msgstr "Slika"
#. module: account_sequence
#: view:account.sequence.installer:0
msgid "title"
msgstr "naslov"
#. module: account_sequence
#: sql_constraint:account.journal:0
msgid "The name of the journal must be unique per company !"
msgstr "Naziv dnevnika mora biti jedinstven po preduzeću"
#. module: account_sequence
#: field:account.sequence.installer,prefix:0
msgid "Prefix"
msgstr "Prefiks"
#. module: account_sequence
#: sql_constraint:account.journal:0
msgid "The code of the journal must be unique per company !"
msgstr "Kod dnevnika mora biti jedinstven po preduzeću !"
#. module: account_sequence
#: constraint:account.move.line:0
msgid ""
"You can not create move line on receivable/payable account without partner"
msgstr ""
"Ne možete napraviti poteznu liniju na primaćem/platežnom računu bez partnera"
#. module: account_sequence
#: model:ir.model,name:account_sequence.model_account_journal
msgid "Journal"
msgstr "Dnevnik"
#. module: account_sequence
#: view:account.sequence.installer:0
msgid "You can enhance the Account Sequence Application by installing ."
msgstr ""
"Ne možete poboljšati Aplikaciju za nizanje naloga instaliranjem iste."
#. module: account_sequence
#: constraint:account.move.line:0
msgid "You can not create move line on view account."
msgstr "Ne možete napraviti poteznu liniju na računu po viđenju"

View File

@ -4,7 +4,6 @@
!record {model: account.voucher, id: account_voucher_voucheraxelor0}:
account_id: account.cash
company_id: base.main_company
currency_id: base.EUR
journal_id: account.bank_journal
name: Voucher Axelor
narration: Basic PC

View File

@ -34,6 +34,16 @@
name: !eval "'%s-04-01' %(datetime.now().year)"
rate: 1.052632
-
I create a cash account with currency USD
-
!record {model: account.account, id: account_cash_usd_id}:
currency_id: base.USD
name: "cash account in usd"
code: "Xcash usd"
type: 'liquidity'
user_type: "account.account_type_cash_moves"
-
I create a bank journal with USD as currency
-
@ -43,8 +53,8 @@
type: bank
analytic_journal_id: account.sit
sequence_id: account.sequence_bank_journal
default_debit_account_id: account.cash
default_credit_account_id: account.cash
default_debit_account_id: account_cash_usd_id
default_credit_account_id: account_cash_usd_id
currency: base.USD
company_id: base.main_company
view_id: account.account_journal_bank_view

View File

@ -49,7 +49,6 @@
sequence_id: account.sequence_bank_journal
default_debit_account_id: account.cash
default_credit_account_id: account.cash
currency: base.EUR
company_id: base.main_company
view_id: account.account_journal_bank_view
-
@ -61,8 +60,8 @@
type: bank
analytic_journal_id: account.sit
sequence_id: account.sequence_bank_journal
default_debit_account_id: account.cash
default_credit_account_id: account.cash
default_debit_account_id: account_cash_usd_id
default_credit_account_id: account_cash_usd_id
currency: base.USD
company_id: base.main_company
view_id: account.account_journal_bank_view

View File

@ -49,7 +49,6 @@
sequence_id: account.sequence_bank_journal
default_debit_account_id: account.cash
default_credit_account_id: account.cash
currency: base.EUR
company_id: base.main_company
view_id: account.account_journal_bank_view
-
@ -61,8 +60,8 @@
type: bank
analytic_journal_id: account.sit
sequence_id: account.sequence_bank_journal
default_debit_account_id: account.cash
default_credit_account_id: account.cash
default_debit_account_id: account_cash_usd_id
default_credit_account_id: account_cash_usd_id
currency: base.USD
company_id: base.main_company
view_id: account.account_journal_bank_view

View File

@ -26,7 +26,6 @@
sequence_id: account.sequence_bank_journal
default_debit_account_id: account.cash
default_credit_account_id: account.cash
currency: base.EUR
company_id: base.main_company
view_id: account.account_journal_bank_view
-

View File

@ -29,6 +29,16 @@
currency_id: base.CHF
name: !eval "'%s-03-01' %(datetime.now().year)"
rate: 1.25000
-
I create a cash account with currency CHF
-
!record {model: account.account, id: account_cash_chf_id}:
currency_id: base.CHF
name: "cash account in chf"
code: "Xcash chf"
type: 'liquidity'
user_type: "account.account_type_cash_moves"
-
I create a bank journal with CHF as currency
-
@ -38,8 +48,8 @@
type: bank
analytic_journal_id: account.sit
sequence_id: account.sequence_bank_journal
default_debit_account_id: account.cash
default_credit_account_id: account.cash
default_debit_account_id: account_cash_chf_id
default_credit_account_id: account_cash_chf_id
currency: base.CHF
company_id: base.main_company
view_id: account.account_journal_bank_view

View File

@ -93,7 +93,7 @@
<notebook colspan="4">
<page string="Payment Information">
<field name="line_dr_ids" attrs="{'invisible': [('type', '=', 'receipt')]}" default_get="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" colspan="4" nolabel="1" height="140" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, context)">
<tree string="Open Supplier Journal Entries" editable="bottom">
<tree string="Open Supplier Journal Entries" editable="bottom" colors="gray:amount==0">
<field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
on_change="onchange_move_line_id(move_line_id)"
domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"
@ -107,7 +107,7 @@
</tree>
</field>
<field name="line_cr_ids" colspan="4" nolabel="1" attrs="{'invisible': [('type', '=', 'payment')]}" default_get="{'journal_id':journal_id, 'partner_id':partner_id}" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, context)">
<tree string="Open Customer Journal Entries" editable="bottom">
<tree string="Open Customer Journal Entries" editable="bottom" colors="gray:amount==0">
<field name="move_line_id"/>
<field name="account_id" groups="base.group_extended" domain="[('type','=','receivable')]"/>
<field name="date_original"/>
@ -160,7 +160,7 @@
<notebook colspan="4">
<page string="Payment Information">
<field name="line_dr_ids" default_get="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" colspan="4" nolabel="1" height="140">
<tree string="Supplier Invoices and Outstanding transactions" editable="bottom">
<tree string="Supplier Invoices and Outstanding transactions" editable="bottom" colors="gray:amount==0">
<field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
on_change="onchange_move_line_id(move_line_id)"
domain="[('account_id.type','=','payable'), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"
@ -175,7 +175,7 @@
</tree>
</field>
<field name="line_cr_ids" colspan="4" nolabel="1" attrs="{'invisible': [('pre_line','=',False)]}" default_get="{'journal_id':journal_id, 'partner_id':partner_id}">
<tree string="Credits" editable="bottom">
<tree string="Credits" editable="bottom" colors="gray:amount==0">
<field name="move_line_id"/>
<field name="account_id" groups="base.group_extended" domain="[('type','=','receivable')]"/>
<field name="date_original"/>
@ -309,7 +309,7 @@
<notebook colspan="4">
<page string="Payment Information">
<field name="line_cr_ids" default_get="{'journal_id':journal_id, 'type':type, 'partner_id':partner_id}" colspan="4" nolabel="1" height="140" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, context)">
<tree string="Invoices and outstanding transactions" editable="bottom">
<tree string="Invoices and outstanding transactions" editable="bottom" colors="gray:amount==0">
<field name="move_line_id" context="{'journal_id':parent.journal_id, 'partner_id':parent.partner_id}"
on_change="onchange_move_line_id(move_line_id)"
domain="[('account_id.type','in',('receivable','payable')), ('reconcile_id','=', False), ('partner_id','=',parent.partner_id)]"
@ -324,7 +324,7 @@
</tree>
</field>
<field name="line_dr_ids" colspan="4" nolabel="1" attrs="{'invisible': [('pre_line','=',False)]}" default_get="{'journal_id':journal_id, 'partner_id':partner_id}" on_change="onchange_line_ids(line_dr_ids, line_cr_ids, amount, context)">
<tree string="Credits" editable="bottom">
<tree string="Credits" editable="bottom" colors="gray:amount==0">
<field name="move_line_id"/>
<field name="account_id" groups="base.group_extended" domain="[('type','=','receivable')]"/>
<field name="date_original"/>

View File

@ -168,7 +168,7 @@
<field name="res_model">account.voucher</field>
<field name="view_type">form</field>
<field name="domain">[('journal_id.type','in',['sale','sale_refund']), ('type','=','sale')]</field>
<field name="context">{'type':'sale'}</field>
<field name="context">{'default_type': 'sale', 'type': 'sale'}</field>
<field name="view_id" eval="False"/>
<field name="search_view_id" ref="view_voucher_filter_sale"/>
<field name="target">current</field>
@ -198,7 +198,7 @@
<field name="res_model">account.voucher</field>
<field name="view_type">form</field>
<field name="domain">[('journal_id.type', 'in', ['bank', 'cash']), ('type','=','payment'), ('partner_id','=',partner_id)]</field>
<field name="context">{'type':'payment', 'partner_id': partner_id, 'default_reference':reference}</field>
<field name="context">{'default_type':'payment', 'type':'payment', 'default_partner_id': partner_id, 'partner_id': partner_id, 'default_reference':reference}</field>
<field name="view_id" ref="view_vendor_payment_form"/>
<field name="target">current</field>
</record>
@ -287,7 +287,7 @@
<field name="res_model">account.voucher</field>
<field name="view_type">form</field>
<field name="domain">[('journal_id.type','in',['purchase','purchase_refund']), ('type','=','purchase')]</field>
<field name="context">{'type':'purchase'}</field>
<field name="context">{'default_type': 'purchase', 'type': 'purchase'}</field>
<field name="view_id" eval="False"/>
<field name="search_view_id" eval="view_voucher_filter_vendor"/>
<field name="target">current</field>

View File

@ -143,3 +143,5 @@ class hr_analytic_timesheet(osv.osv):
hr_analytic_timesheet()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -22,3 +22,5 @@
import anonymization
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -57,3 +57,5 @@ anonymization process to recover your previous data.
'images': ['images/anonymization1.jpeg','images/anonymization2.jpeg','images/anonymization3.jpeg'],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -578,3 +578,5 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory):
ir_model_fields_anonymize_wizard()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -4,17 +4,18 @@
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-11-12 11:51+0000\n"
"Last-Translator: Kuvaly [LCT] <kuvaly@seznam.cz>\n"
"Language-Team: \n"
"PO-Revision-Date: 2011-11-25 12:34+0000\n"
"Last-Translator: Jiří Hajda <robie@centrum.cz>\n"
"Language-Team: Czech <openerp-i18n-czech@lists.launchpad.net >\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-05 05:52+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-26 05:50+0000\n"
"X-Generator: Launchpad (build 14381)\n"
"X-Poedit-Language: Czech\n"
#. module: association
#: field:profile.association.config.install_modules_wizard,wiki:0
@ -24,22 +25,22 @@ msgstr "Wiki"
#. module: association
#: view:profile.association.config.install_modules_wizard:0
msgid "Event Management"
msgstr ""
msgstr "Správa událostí"
#. module: association
#: field:profile.association.config.install_modules_wizard,project_gtd:0
msgid "Getting Things Done"
msgstr ""
msgstr "Mít vše hotovo (GTD)"
#. module: association
#: model:ir.module.module,description:association.module_meta_information
msgid "This module is to create Profile for Associates"
msgstr ""
msgstr "Tento modul je k vytváření profilů asociací."
#. module: association
#: field:profile.association.config.install_modules_wizard,progress:0
msgid "Configuration Progress"
msgstr ""
msgstr "Proces nastavení"
#. module: association
#: view:profile.association.config.install_modules_wizard:0
@ -47,21 +48,22 @@ msgid ""
"Here are specific applications related to the Association Profile you "
"selected."
msgstr ""
"Zde jsou specifické aplikace vztažené k vámi vybraným profilům asociací."
#. module: association
#: view:profile.association.config.install_modules_wizard:0
msgid "title"
msgstr ""
msgstr "titulek"
#. module: association
#: help:profile.association.config.install_modules_wizard,event_project:0
msgid "Helps you to manage and organize your events."
msgstr ""
msgstr "Pomůže vám spravovat a organizovat vaše události."
#. module: association
#: field:profile.association.config.install_modules_wizard,config_logo:0
msgid "Image"
msgstr ""
msgstr "Obrázek"
#. module: association
#: help:profile.association.config.install_modules_wizard,hr_expense:0
@ -69,6 +71,8 @@ msgid ""
"Tracks and manages employee expenses, and can automatically re-invoice "
"clients if the expenses are project-related."
msgstr ""
"Sleduje a spravuje útraty zaměstnanců a může automaticky znovu fakturovat "
"klientům, pokud útraty jsou vztažené k projektu."
#. module: association
#: help:profile.association.config.install_modules_wizard,project_gtd:0
@ -76,27 +80,29 @@ msgid ""
"GTD is a methodology to efficiently organise yourself and your tasks. This "
"module fully integrates GTD principle with OpenERP's project management."
msgstr ""
"GTD je metodologie k efektivní organizaci váš a vašich úkolů. Tento modul "
"plně integruje principy GTD se správou projektů OpenERP."
#. module: association
#: view:profile.association.config.install_modules_wizard:0
msgid "Resources Management"
msgstr ""
msgstr "Správa zdrojů"
#. module: association
#: model:ir.module.module,shortdesc:association.module_meta_information
msgid "Association profile"
msgstr ""
msgstr "Profil asociací"
#. module: association
#: field:profile.association.config.install_modules_wizard,hr_expense:0
msgid "Expenses Tracking"
msgstr ""
msgstr "Sledování útrat"
#. module: association
#: model:ir.actions.act_window,name:association.action_config_install_module
#: view:profile.association.config.install_modules_wizard:0
msgid "Association Application Configuration"
msgstr ""
msgstr "Nastavení aplikace asociací"
#. module: association
#: help:profile.association.config.install_modules_wizard,wiki:0
@ -104,6 +110,8 @@ msgid ""
"Lets you create wiki pages and page groups in order to keep track of "
"business knowledge and share it with and between your employees."
msgstr ""
"Umožní vám vytvářet wiki stránky a skupiny stránek pro udržení přehledu o "
"obchodních znalostích a sdílet je s a mezi vašimi zaměstnanci."
#. module: association
#: help:profile.association.config.install_modules_wizard,project:0
@ -111,16 +119,18 @@ msgid ""
"Helps you manage your projects and tasks by tracking them, generating "
"plannings, etc..."
msgstr ""
"Pomůže vám spravovat vaše projekty a úkoly pomocí jejich sledování, "
"generování plánování, atd..."
#. module: association
#: model:ir.model,name:association.model_profile_association_config_install_modules_wizard
msgid "profile.association.config.install_modules_wizard"
msgstr ""
msgstr "profile.association.config.install_modules_wizard"
#. module: association
#: field:profile.association.config.install_modules_wizard,event_project:0
msgid "Events"
msgstr ""
msgstr "Události"
#. module: association
#: view:profile.association.config.install_modules_wizard:0
@ -131,4 +141,4 @@ msgstr "Správa projektů"
#. module: association
#: view:profile.association.config.install_modules_wizard:0
msgid "Configure"
msgstr ""
msgstr "Nastavit"

View File

@ -209,3 +209,5 @@ class report_object_encoded(osv.osv):
report_object_encoded()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -44,3 +44,5 @@ class auction_lots_able(osv.osv_memory):
return {'type': 'ir.actions.act_window_close'}
auction_lots_able()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -53,4 +53,5 @@ class auction_lots_cancel(osv.osv):
_columns = {
}
auction_lots_cancel()
auction_lots_cancel()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -41,3 +41,5 @@ class auction_lots_enable(osv.osv_memory):
return {'type': 'ir.actions.act_window_close'}
auction_lots_enable()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -89,3 +89,5 @@ class auction_lots_make_invoice(osv.osv_memory):
}
auction_lots_make_invoice()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -89,3 +89,5 @@ class auction_lots_make_invoice_buyer(osv.osv_memory):
}
auction_lots_make_invoice_buyer()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -55,3 +55,5 @@ class auction_pay_sel(osv.osv_memory):
return {'type': 'ir.actions.act_window_close'}
auction_pay_sel()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -51,3 +51,5 @@ class auction_taken(osv.osv_memory):
return {'lot_ids': []}
auction_taken()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -84,4 +84,5 @@ class auction_transfer_unsold_object(osv.osv):
'state':'draft'})
return {'type': 'ir.actions.act_window_close'}
auction_transfer_unsold_object()
auction_transfer_unsold_object()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -43,22 +43,17 @@ class audittrail_rule(osv.osv):
"log_create": fields.boolean("Log Creates",help="Select this if you want to keep track of creation on any record of the object of this rule"),
"log_action": fields.boolean("Log Action",help="Select this if you want to keep track of actions on the object of this rule"),
"log_workflow": fields.boolean("Log Workflow",help="Select this if you want to keep track of workflow on any record of the object of this rule"),
"state": fields.selection((("draft", "Draft"),
("subscribed", "Subscribed")),
"State", required=True),
"state": fields.selection((("draft", "Draft"), ("subscribed", "Subscribed")), "State", required=True),
"action_id": fields.many2one('ir.actions.act_window', "Action ID"),
}
_defaults = {
'state': lambda *a: 'draft',
'log_create': lambda *a: 1,
'log_unlink': lambda *a: 1,
'log_write': lambda *a: 1,
'state': 'draft',
'log_create': 1,
'log_unlink': 1,
'log_write': 1,
}
_sql_constraints = [
('model_uniq', 'unique (object_id)', """There is a rule defined on this object\n You cannot define another one the same object!""")
('model_uniq', 'unique (object_id)', """There is already a rule defined on this object\n You cannot define another: please edit the existing one.""")
]
__functions = {}
@ -178,54 +173,33 @@ class audittrail_log_line(osv.osv):
class audittrail_objects_proxy(object_proxy):
""" Uses Object proxy for auditing changes on object of subscribed Rules"""
def get_value_text(self, cr, uid, field_name, values, model, context=None):
def get_value_text(self, cr, uid, pool, resource_pool, method, field, value):
"""
Gets textual values for the fields.
If the field is a many2one, it returns the name.
If it's a one2many or a many2many, it returns a list of name.
In other cases, it just returns the value.
:param cr: the current row, from the database cursor,
:param uid: the current users ID for security checks,
:param pool: current db's pooler object.
:param resource_pool: pooler object of the model which values are being changed.
:param field: for which the text value is to be returned.
:param value: value of the field.
:param recursive: True or False, True will repeat the process recursively
:return: string value or a list of values(for O2M/M2M)
"""
Gets textual values for the fields
e.g.: For field of type many2one it gives its name value instead of id
@param cr: the current row, from the database cursor,
@param uid: the current users ID for security checks,
@param field_name: List of fields for text values
@param values: Values for field to be converted into textual values
@return: values: List of textual values for given fields
"""
if not context:
context = {}
if field_name in('__last_update','id'):
return values
pool = pooler.get_pool(cr.dbname)
field_pool = pool.get('ir.model.fields')
model_pool = pool.get('ir.model')
obj_pool = pool.get(model.model)
if obj_pool._inherits:
inherits_ids = model_pool.search(cr, uid, [('model', '=', obj_pool._inherits.keys()[0])])
field_ids = field_pool.search(cr, uid, [('name', '=', field_name), ('model_id', 'in', (model.id, inherits_ids[0]))])
field_obj = (resource_pool._all_columns.get(field)).column
if field_obj._type in ('one2many','many2many'):
data = pool.get(field_obj._obj).name_get(cr, uid, value)
#return the modifications on x2many fields as a list of names
res = map(lambda x:x[1], data)
elif field_obj._type == 'many2one':
#return the modifications on a many2one field as its value returned by name_get()
res = value and value[1] or value
else:
field_ids = field_pool.search(cr, uid, [('name', '=', field_name), ('model_id', '=', model.id)])
field_id = field_ids and field_ids[0] or False
assert field_id, _("'%s' field does not exist in '%s' model" %(field_name, model.model))
field = field_pool.read(cr, uid, field_id)
relation_model = field['relation']
relation_model_pool = relation_model and pool.get(relation_model) or False
if field['ttype'] == 'many2one':
res = False
relation_id = False
if values and type(values) == tuple:
relation_id = values[0]
if relation_id and relation_model_pool:
relation_model_object = relation_model_pool.read(cr, uid, relation_id, [relation_model_pool._rec_name])
res = relation_model_object[relation_model_pool._rec_name]
return res
elif field['ttype'] in ('many2many','one2many'):
res = []
for relation_model_object in relation_model_pool.read(cr, uid, values, [relation_model_pool._rec_name]):
res.append(relation_model_object[relation_model_pool._rec_name])
return res
return values
res = value
return res
def create_log_line(self, cr, uid, log_id, model, lines=[]):
"""
@ -233,7 +207,7 @@ class audittrail_objects_proxy(object_proxy):
@param cr: the current row, from the database cursor,
@param uid: the current users ID for security checks,
@param model: Object who's values are being changed
@param model: Object which values are being changed
@param lines: List of values for line is to be created
"""
pool = pooler.get_pool(cr.dbname)
@ -241,216 +215,273 @@ class audittrail_objects_proxy(object_proxy):
model_pool = pool.get('ir.model')
field_pool = pool.get('ir.model.fields')
log_line_pool = pool.get('audittrail.log.line')
#start Loop
for line in lines:
if line['name'] in('__last_update','id'):
continue
field_obj = obj_pool._all_columns.get(line['name'])
assert field_obj, _("'%s' field does not exist in '%s' model" %(line['name'], model.model))
field_obj = field_obj.column
old_value = line.get('old_value', '')
new_value = line.get('new_value', '')
search_models = [model.id]
if obj_pool._inherits:
inherits_ids = model_pool.search(cr, uid, [('model', '=', obj_pool._inherits.keys()[0])])
field_ids = field_pool.search(cr, uid, [('name', '=', line['name']), ('model_id', 'in', (model.id, inherits_ids[0]))])
else:
field_ids = field_pool.search(cr, uid, [('name', '=', line['name']), ('model_id', '=', model.id)])
field_id = field_ids and field_ids[0] or False
assert field_id, _("'%s' field does not exist in '%s' model" %(line['name'], model.model))
field = field_pool.read(cr, uid, field_id)
old_value = 'old_value' in line and line['old_value'] or ''
new_value = 'new_value' in line and line['new_value'] or ''
old_value_text = 'old_value_text' in line and line['old_value_text'] or ''
new_value_text = 'new_value_text' in line and line['new_value_text'] or ''
if old_value_text == new_value_text:
continue
if field['ttype'] == 'many2one':
if type(old_value) == tuple:
old_value = old_value[0]
if type(new_value) == tuple:
new_value = new_value[0]
search_models += model_pool.search(cr, uid, [('model', 'in', obj_pool._inherits.keys())])
field_id = field_pool.search(cr, uid, [('name', '=', line['name']), ('model_id', 'in', search_models)])
if field_obj._type == 'many2one':
old_value = old_value and old_value[0] or old_value
new_value = new_value and new_value[0] or new_value
vals = {
"log_id": log_id,
"field_id": field_id,
"field_id": field_id and field_id[0] or False,
"old_value": old_value,
"new_value": new_value,
"old_value_text": old_value_text,
"new_value_text": new_value_text,
"field_description": field['field_description']
"old_value_text": line.get('old_value_text', ''),
"new_value_text": line.get('new_value_text', ''),
"field_description": field_obj.string
}
line_id = log_line_pool.create(cr, uid, vals)
cr.commit()
#End Loop
return True
def log_fct(self, cr, uid, model, method, fct_src, *args):
def log_fct(self, cr, uid_orig, model, method, fct_src, *args):
"""
Logging function: This function is performs logging oprations according to method
@param db: the current database
@param uid: the current users ID for security checks,
@param object: Object who's values are being changed
@param method: method to log: create, read, write, unlink
Logging function: This function is performing the logging operation
@param model: Object whose values are being changed
@param method: method to log: create, read, write, unlink, action or workflow action
@param fct_src: execute method of Object proxy
@return: Returns result as per method of Object proxy
"""
uid_orig = uid
uid = 1
res2 = args
pool = pooler.get_pool(cr.dbname)
resource_pool = pool.get(model)
log_pool = pool.get('audittrail.log')
model_pool = pool.get('ir.model')
model_ids = model_pool.search(cr, uid, [('model', '=', model)])
model_ids = model_pool.search(cr, 1, [('model', '=', model)])
model_id = model_ids and model_ids[0] or False
assert model_id, _("'%s' Model does not exist..." %(model))
model = model_pool.browse(cr, uid, model_id)
model = model_pool.browse(cr, 1, model_id)
if method in ('create'):
res_id = fct_src(cr, uid_orig, model.model, method, *args)
resource = resource_pool.read(cr, uid, res_id, args[0].keys())
vals = {
"method": method,
"object_id": model.id,
"user_id": uid_orig,
"res_id": resource['id'],
}
if 'id' in resource:
del resource['id']
log_id = log_pool.create(cr, uid, vals)
lines = []
for field in resource:
line = {
'name': field,
'new_value': resource[field],
'new_value_text': self.get_value_text(cr, uid, field, resource[field], model)
}
lines.append(line)
self.create_log_line(cr, uid, log_id, model, lines)
# fields to log. currently only used by log on read()
field_list = []
old_values = new_values = {}
return res_id
elif method in ('read'):
res_ids = args[0]
old_values = {}
if method == 'create':
res = fct_src(cr, uid_orig, model.model, method, *args)
if type(res) == list:
for v in res:
old_values[v['id']] = v
else:
old_values[res['id']] = res
for res_id in old_values:
vals = {
"method": method,
"object_id": model.id,
"user_id": uid_orig,
"res_id": res_id,
}
log_id = log_pool.create(cr, uid, vals)
lines = []
for field in old_values[res_id]:
line = {
'name': field,
'old_value': old_values[res_id][field],
'old_value_text': self.get_value_text(cr, uid, field, old_values[res_id][field], model)
}
lines.append(line)
self.create_log_line(cr, uid, log_id, model, lines)
return res
elif method in ('unlink'):
res_ids = args[0]
old_values = {}
for res_id in res_ids:
old_values[res_id] = resource_pool.read(cr, uid, res_id)
for res_id in res_ids:
vals = {
"method": method,
"object_id": model.id,
"user_id": uid_orig,
"res_id": res_id,
}
log_id = log_pool.create(cr, uid, vals)
lines = []
for field in old_values[res_id]:
if field in ('id'):
continue
line = {
'name': field,
'old_value': old_values[res_id][field],
'old_value_text': self.get_value_text(cr, uid, field, old_values[res_id][field], model)
}
lines.append(line)
self.create_log_line(cr, uid, log_id, model, lines)
if res:
res_ids = [res]
new_values = self.get_data(cr, uid_orig, pool, res_ids, model, method)
elif method == 'read':
res = fct_src(cr, uid_orig, model.model, method, *args)
return res
else:
# build the res_ids and the old_values dict. Here we don't use get_data() to
# avoid performing an additional read()
res_ids = []
for record in res:
res_ids.append(record['id'])
old_values[(model.id, record['id'])] = {'value': record, 'text': record}
# log only the fields read
field_list = args[1]
elif method == 'unlink':
res_ids = args[0]
old_values = self.get_data(cr, uid_orig, pool, res_ids, model, method)
res = fct_src(cr, uid_orig, model.model, method, *args)
else: # method is write, action or workflow action
res_ids = []
res = True
if args:
res_ids = args[0]
old_values = {}
fields = []
if len(args)>1 and type(args[1]) == dict:
fields = args[1].keys()
if type(res_ids) in (long, int):
if isinstance(res_ids, (long, int)):
res_ids = [res_ids]
if res_ids:
for resource in resource_pool.read(cr, uid, res_ids):
resource_id = resource['id']
if 'id' in resource:
del resource['id']
old_values_text = {}
old_value = {}
for field in resource.keys():
old_value[field] = resource[field]
old_values_text[field] = self.get_value_text(cr, uid, field, resource[field], model)
old_values[resource_id] = {'text':old_values_text, 'value': old_value}
# store the old values into a dictionary
old_values = self.get_data(cr, uid_orig, pool, res_ids, model, method)
# process the original function, workflow trigger...
res = fct_src(cr, uid_orig, model.model, method, *args)
if method == 'copy':
res_ids = [res]
if res_ids:
for resource in resource_pool.read(cr, uid, res_ids):
resource_id = resource['id']
if 'id' in resource:
del resource['id']
vals = {
"method": method,
"object_id": model.id,
"user_id": uid_orig,
"res_id": resource_id,
}
# check the new values and store them into a dictionary
new_values = self.get_data(cr, uid_orig, pool, res_ids, model, method)
# compare the old and new values and create audittrail log if needed
self.process_data(cr, uid_orig, pool, res_ids, model, method, old_values, new_values, field_list)
return res
def get_data(self, cr, uid, pool, res_ids, model, method):
"""
This function simply read all the fields of the given res_ids, and also recurisvely on
all records of a x2m fields read that need to be logged. Then it returns the result in
convenient structure that will be used as comparison basis.
log_id = log_pool.create(cr, uid, vals)
lines = []
for field in resource.keys():
line = {
'name': field,
'new_value': resource[field],
'old_value': old_values[resource_id]['value'][field],
'new_value_text': self.get_value_text(cr, uid, field, resource[field], model),
'old_value_text': old_values[resource_id]['text'][field]
}
lines.append(line)
:param cr: the current row, from the database cursor,
:param uid: the current users ID. This parameter is currently not used as every
operation to get data is made as super admin. Though, it could be usefull later.
:param pool: current db's pooler object.
:param res_ids: Id's of resource to be logged/compared.
:param model: Object whose values are being changed
:param method: method to log: create, read, unlink, write, actions, workflow actions
:return: dict mapping a tuple (model_id, resource_id) with its value and textual value
{ (model_id, resource_id): { 'value': ...
'textual_value': ...
},
}
"""
data = {}
resource_pool = pool.get(model.model)
# read all the fields of the given resources in super admin mode
for resource in resource_pool.read(cr, 1, res_ids):
values = {}
values_text = {}
resource_id = resource['id']
# loop on each field on the res_ids we just have read
for field in resource:
if field in ('__last_update', 'id'):
continue
values[field] = resource[field]
# get the textual value of that field for this record
values_text[field] = self.get_value_text(cr, 1, pool, resource_pool, method, field, resource[field])
self.create_log_line(cr, uid, log_id, model, lines)
return res
field_obj = resource_pool._all_columns.get(field).column
if field_obj._type in ('one2many','many2many'):
# check if an audittrail rule apply in super admin mode
if self.check_rules(cr, 1, field_obj._obj, method):
# check if the model associated to a *2m field exists, in super admin mode
x2m_model_ids = pool.get('ir.model').search(cr, 1, [('model', '=', field_obj._obj)])
x2m_model_id = x2m_model_ids and x2m_model_ids[0] or False
assert x2m_model_id, _("'%s' Model does not exist..." %(field_obj._obj))
x2m_model = pool.get('ir.model').browse(cr, 1, x2m_model_id)
#recursive call on x2m fields that need to be checked too
data.update(self.get_data(cr, 1, pool, resource[field], x2m_model, method))
data[(model.id, resource_id)] = {'text':values_text, 'value': values}
return data
def prepare_audittrail_log_line(self, cr, uid, pool, model, resource_id, method, old_values, new_values, field_list=[]):
"""
This function compares the old data (i.e before the method was executed) and the new data
(after the method was executed) and returns a structure with all the needed information to
log those differences.
:param cr: the current row, from the database cursor,
:param uid: the current users ID. This parameter is currently not used as every
operation to get data is made as super admin. Though, it could be usefull later.
:param pool: current db's pooler object.
:param model: model object which values are being changed
:param resource_id: ID of record to which values are being changed
:param method: method to log: create, read, unlink, write, actions, workflow actions
:param old_values: dict of values read before execution of the method
:param new_values: dict of values read after execution of the method
:param field_list: optional argument containing the list of fields to log. Currently only
used when performing a read, it could be usefull later on if we want to log the write
on specific fields only.
:return: dictionary with
* keys: tuples build as ID of model object to log and ID of resource to log
* values: list of all the changes in field values for this couple (model, resource)
return {
(model.id, resource_id): []
}
The reason why the structure returned is build as above is because when modifying an existing
record (res.partner, for example), we may have to log a change done in a x2many field (on
res.partner.address, for example)
"""
key = (model.id, resource_id)
lines = {
key: []
}
# loop on all the fields
for field_name, field_definition in pool.get(model.model)._all_columns.items():
#if the field_list param is given, skip all the fields not in that list
if field_list and field_name not in field_list:
continue
field_obj = field_definition.column
if field_obj._type in ('one2many','many2many'):
# checking if an audittrail rule apply in super admin mode
if self.check_rules(cr, 1, field_obj._obj, method):
# checking if the model associated to a *2m field exists, in super admin mode
x2m_model_ids = pool.get('ir.model').search(cr, 1, [('model', '=', field_obj._obj)])
x2m_model_id = x2m_model_ids and x2m_model_ids[0] or False
assert x2m_model_id, _("'%s' Model does not exist..." %(field_obj._obj))
x2m_model = pool.get('ir.model').browse(cr, 1, x2m_model_id)
# the resource_ids that need to be checked are the sum of both old and previous values (because we
# need to log also creation or deletion in those lists).
x2m_old_values_ids = old_values.get(key, {'value': {}})['value'].get(field_name, [])
x2m_new_values_ids = new_values.get(key, {'value': {}})['value'].get(field_name, [])
# We use list(set(...)) to remove duplicates.
res_ids = list(set(x2m_old_values_ids + x2m_new_values_ids))
for res_id in res_ids:
lines.update(self.prepare_audittrail_log_line(cr, 1, pool, x2m_model, res_id, method, old_values, new_values, field_list))
# if the value value is different than the old value: record the change
if key not in old_values or key not in new_values or old_values[key]['value'][field_name] != new_values[key]['value'][field_name]:
data = {
'name': field_name,
'new_value': key in new_values and new_values[key]['value'].get(field_name),
'old_value': key in old_values and old_values[key]['value'].get(field_name),
'new_value_text': key in new_values and new_values[key]['text'].get(field_name),
'old_value_text': key in old_values and old_values[key]['text'].get(field_name)
}
lines[key].append(data)
return lines
def process_data(self, cr, uid, pool, res_ids, model, method, old_values={}, new_values={}, field_list=[]):
"""
This function processes and iterates recursively to log the difference between the old
data (i.e before the method was executed) and the new data and creates audittrail log
accordingly.
:param cr: the current row, from the database cursor,
:param uid: the current users ID,
:param pool: current db's pooler object.
:param res_ids: Id's of resource to be logged/compared.
:param model: model object which values are being changed
:param method: method to log: create, read, unlink, write, actions, workflow actions
:param old_values: dict of values read before execution of the method
:param new_values: dict of values read after execution of the method
:param field_list: optional argument containing the list of fields to log. Currently only
used when performing a read, it could be usefull later on if we want to log the write
on specific fields only.
:return: True
"""
# loop on all the given ids
for res_id in res_ids:
# compare old and new values and get audittrail log lines accordingly
lines = self.prepare_audittrail_log_line(cr, uid, pool, model, res_id, method, old_values, new_values, field_list)
# if at least one modification has been found
for model_id, resource_id in lines:
vals = {
'method': method,
'object_id': model_id,
'user_id': uid,
'res_id': resource_id,
}
if (model_id, resource_id) not in old_values and method not in ('copy', 'read'):
# the resource was not existing so we are forcing the method to 'create'
# (because it could also come with the value 'write' if we are creating
# new record through a one2many field)
vals.update({'method': 'create'})
if (model_id, resource_id) not in new_values and method not in ('copy', 'read'):
# the resource is not existing anymore so we are forcing the method to 'unlink'
# (because it could also come with the value 'write' if we are deleting the
# record through a one2many field)
vals.update({'method': 'unlink'})
# create the audittrail log in super admin mode, only if a change has been detected
if lines[(model_id, resource_id)]:
log_id = pool.get('audittrail.log').create(cr, 1, vals)
model = pool.get('ir.model').browse(cr, uid, model_id)
self.create_log_line(cr, 1, log_id, model, lines[(model_id, resource_id)])
return True
def check_rules(self, cr, uid, model, method):
"""
Checks if auditrails is installed for that db and then if one rule match
@param cr: the current row, from the database cursor,
@param uid: the current users ID,
@param model: value of _name of the object which values are being changed
@param method: method to log: create, read, unlink,write,actions,workflow actions
@return: True or False
"""
pool = pooler.get_pool(cr.dbname)
# Check if auditrails is installed for that db and then if one rule match
if 'audittrail.rule' in pool.models:
model_ids = pool.get('ir.model').search(cr, 1, [('model', '=', model)])
model_id = model_ids and model_ids[0] or False
if model_id:
rule_ids = pool.get('audittrail.rule').search(cr, 1, [('object_id', '=', model_id), ('state', '=', 'subscribed')])
for rule in pool.get('audittrail.rule').read(cr, 1, rule_ids, ['user_id','log_read','log_write','log_create','log_unlink','log_action','log_workflow']):
if len(rule['user_id'])==0 or uid in rule['user_id']:
if len(rule['user_id']) == 0 or uid in rule['user_id']:
if rule.get('log_'+method,0):
return True
elif method not in ('default_get','read','fields_view_get','fields_get','search','search_count','name_search','name_get','get','request_get', 'get_sc', 'unlink', 'write', 'create'):
@ -460,18 +491,14 @@ class audittrail_objects_proxy(object_proxy):
def execute_cr(self, cr, uid, model, method, *args, **kw):
fct_src = super(audittrail_objects_proxy, self).execute_cr
if self.check_rules(cr,uid,model,method):
res = self.log_fct(cr, uid, model, method, fct_src, *args)
else:
res = fct_src(cr, uid, model, method, *args)
return res
return self.log_fct(cr, uid, model, method, fct_src, *args)
return fct_src(cr, uid, model, method, *args)
def exec_workflow_cr(self, cr, uid, model, method, *args, **argv):
fct_src = super(audittrail_objects_proxy, self).exec_workflow_cr
if self.check_rules(cr,uid,model,'workflow'):
res = self.log_fct(cr, uid, model, method, fct_src, *args)
else:
res = fct_src(cr, uid, model, method, *args)
return res
return self.log_fct(cr, uid, model, method, fct_src, *args)
return fct_src(cr, uid, model, method, *args)
audittrail_objects_proxy()

View File

@ -62,3 +62,5 @@ class audittrail_view_log(osv.osv_memory):
return result
audittrail_view_log()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -18,3 +18,5 @@
#
##############################################################################
import main
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -223,3 +223,5 @@ class OpenIDController(openerpweb.Controller):
session = getattr(req.session, 'openid_session', {})
return {'status': session.get('status'), 'message': session.get('message')}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -92,3 +92,5 @@ class res_users(osv.osv):
res_users()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -44,3 +44,5 @@ def cursor(db):
finally:
cr.close()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -8,25 +8,26 @@ msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-12-15 20:31+0000\n"
"Last-Translator: OpenERP Administrators <Unknown>\n"
"PO-Revision-Date: 2011-11-23 12:16+0000\n"
"Last-Translator: Paulino Ascenção <Unknown>\n"
"Language-Team: Portuguese <pt@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: 2011-11-05 05:51+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-24 05:00+0000\n"
"X-Generator: Launchpad (build 14336)\n"
#. module: base_action_rule
#: help:base.action.rule,act_mail_to_user:0
msgid ""
"Check this if you want the rule to send an email to the responsible person."
msgstr ""
"Assinale aqui se pretender que a regra envie um e-mail à pessoa responsável."
#. module: base_action_rule
#: field:base.action.rule,act_remind_partner:0
msgid "Remind Partner"
msgstr "Alertar parceiro"
msgstr "Relembrar parceiro"
#. module: base_action_rule
#: field:base.action.rule,trg_partner_categ_id:0
@ -259,7 +260,7 @@ msgstr "Chamar o método do objeto"
#. module: base_action_rule
#: field:base.action.rule,act_email_to:0
msgid "Email To"
msgstr ""
msgstr "E-mail para"
#. module: base_action_rule
#: help:base.action.rule,act_mail_to_watchers:0
@ -369,12 +370,12 @@ msgstr "Erro: A mensagem não está bem formatada"
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Email Actions"
msgstr ""
msgstr "Ações do e-mail"
#. module: base_action_rule
#: view:base.action.rule:0
msgid "Email Information"
msgstr ""
msgstr "Informação sobre o e-mail"
#. module: base_action_rule
#: model:ir.model,name:base_action_rule.model_base_action_rule
@ -432,7 +433,7 @@ msgstr ""
#. module: base_action_rule
#: field:base.action.rule,act_email_cc:0
msgid "Add Watchers (Cc)"
msgstr ""
msgstr "Acdicionar observadores (CC)"
#. module: base_action_rule
#: view:base.action.rule:0

File diff suppressed because it is too large Load Diff

View File

@ -146,7 +146,11 @@
<field eval="&quot;&quot;&quot;Grand-Rosière&quot;&quot;&quot;" name="city"/>
<field eval="&quot;&quot;&quot;+32.81.73.35.01&quot;&quot;&quot;" name="fax"/>
<field eval="&quot;&quot;&quot;1367&quot;&quot;&quot;" name="zip"/>
<field name="country_id" ref="base.be"/>
<!-- The partner associated with the main company should not have a country specified in the demo data,
as it may conflicts with the accounting installing chart wizard. This wizard will indeed try to
install the localization module accordingly to this variable automatically. Thus, in demo data,
everyone would have the belgian chart of account by default, what should be avoided. -->
<!-- <field name="country_id" ref="base.be"/> -->
<field eval="&quot;&quot;&quot;+32.81.81.37.00&quot;&quot;&quot;" name="phone"/>
<field eval="&quot;&quot;&quot;Chaussée de Namur, 40&quot;&quot;&quot;" name="street"/>
</record>
@ -154,7 +158,11 @@
<field eval="&quot;&quot;&quot;Louvain-La-Neuve&quot;&quot;&quot;" name="city"/>
<field eval="&quot;&quot;&quot;1348&quot;&quot;&quot;" name="zip"/>
<field eval="&quot;&quot;&quot;contact&quot;&quot;&quot;" name="type"/>
<field name="country_id" ref="base.be"/>
<!-- The partner associated with the main company should not have a country specified in the demo data,
as it may conflicts with the accounting installing chart wizard. This wizard will indeed try to
install the localization module accordingly to this variable automatically. Thus, in demo data,
everyone would have the belgian chart of account by default, what should be avoided. -->
<!-- <field name="country_id" ref="base.be"/> -->
<field eval="&quot;&quot;&quot;rue du pré, 115&quot;&quot;&quot;" name="street"/>
<field eval="1" name="active"/>
</record>
@ -162,7 +170,11 @@
<field eval="&quot;&quot;&quot;Charleroi&quot;&quot;&quot;" name="city"/>
<field eval="&quot;&quot;&quot;6000&quot;&quot;&quot;" name="zip"/>
<field eval="&quot;&quot;&quot;contact&quot;&quot;&quot;" name="type"/>
<field name="country_id" ref="base.be"/>
<!-- The partner associated with the main company should not have a country specified in the demo data,
as it may conflicts with the accounting installing chart wizard. This wizard will indeed try to
install the localization module accordingly to this variable automatically. Thus, in demo data,
everyone would have the belgian chart of account by default, what should be avoided. -->
<!-- <field name="country_id" ref="base.be"/> -->
<field eval="&quot;&quot;&quot;Boulevars Tirou, 32&quot;&quot;&quot;" name="street"/>
<field eval="1" name="active"/>
</record>

View File

@ -4,17 +4,18 @@
#
msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 6.0dev\n"
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2010-08-03 00:58+0000\n"
"Last-Translator: Mantavya Gajjar (Open ERP) <Unknown>\n"
"Language-Team: \n"
"PO-Revision-Date: 2011-11-25 12:34+0000\n"
"Last-Translator: Jiří Hajda <robie@centrum.cz>\n"
"Language-Team: Czech <openerp-i18n-czech@lists.launchpad.net >\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2011-11-05 05:04+0000\n"
"X-Generator: Launchpad (build 14231)\n"
"X-Launchpad-Export-Date: 2011-11-26 05:49+0000\n"
"X-Generator: Launchpad (build 14381)\n"
"X-Poedit-Language: Czech\n"
#. module: base_contact
#: field:res.partner.contact,title:0
@ -24,7 +25,7 @@ msgstr "Název"
#. module: base_contact
#: view:res.partner.address:0
msgid "# of Contacts"
msgstr ""
msgstr "# z kontaktů"
#. module: base_contact
#: field:res.partner.job,fax:0
@ -34,27 +35,27 @@ msgstr "Fax"
#. module: base_contact
#: view:base.contact.installer:0
msgid "title"
msgstr ""
msgstr "nadpis"
#. module: base_contact
#: help:res.partner.job,date_start:0
msgid "Start date of job(Joining Date)"
msgstr ""
msgstr "Datum zahájení práce (datum připojení)"
#. module: base_contact
#: view:base.contact.installer:0
msgid "Select the Option for Addresses Migration"
msgstr ""
msgstr "Vyberte volbu pro přesun adres"
#. module: base_contact
#: help:res.partner.job,function:0
msgid "Function of this contact with this partner"
msgstr ""
msgstr "Funkce tohoto kontaktu s tímto partnerem"
#. module: base_contact
#: help:res.partner.job,state:0
msgid "Status of Address"
msgstr ""
msgstr "Stav adresy"
#. module: base_contact
#: help:res.partner.job,name:0
@ -62,64 +63,66 @@ msgid ""
"You may enter Address first,Partner will be linked "
"automatically if any."
msgstr ""
"Můžete zadat nejdříve adresu. Pokud je nějaký partner, "
"bude napojen automaticky."
#. module: base_contact
#: help:res.partner.job,fax:0
msgid "Job FAX no."
msgstr ""
msgstr "Číslo FAXu do práce"
#. module: base_contact
#: field:res.partner.contact,mobile:0
msgid "Mobile"
msgstr ""
msgstr "Mobil"
#. module: base_contact
#: view:res.partner.contact:0
#: field:res.partner.contact,comment:0
msgid "Notes"
msgstr ""
msgstr "Poznámky"
#. module: base_contact
#: model:process.node,note:base_contact.process_node_contacts0
msgid "People you work with."
msgstr ""
msgstr "Lidé, s kterými pracujete."
#. module: base_contact
#: model:process.transition,note:base_contact.process_transition_functiontoaddress0
msgid "Define functions and address."
msgstr ""
msgstr "Určit funkce a adresu."
#. module: base_contact
#: help:res.partner.job,date_stop:0
msgid "Last date of job"
msgstr ""
msgstr "Poslední datum práce"
#. module: base_contact
#: view:base.contact.installer:0
#: field:base.contact.installer,migrate:0
msgid "Migrate"
msgstr ""
msgstr "Přesunout"
#. module: base_contact
#: view:res.partner.contact:0
#: field:res.partner.job,name:0
msgid "Partner"
msgstr ""
msgstr "Partner"
#. module: base_contact
#: model:process.node,note:base_contact.process_node_function0
msgid "Jobs at a same partner address."
msgstr ""
msgstr "Pracovní pozice u stejné adresy partnera."
#. module: base_contact
#: model:process.node,name:base_contact.process_node_partners0
msgid "Partners"
msgstr ""
msgstr "Partneři"
#. module: base_contact
#: field:res.partner.job,state:0
msgid "State"
msgstr ""
msgstr "Stav"
#. module: base_contact
#: help:res.partner.contact,active:0
@ -127,6 +130,8 @@ msgid ""
"If the active field is set to False, it will allow you to "
"hide the partner contact without removing it."
msgstr ""
"Pokud je aktivní pole nastaveno na Nepravda, umožní vám to "
"skrýt kontakt partnera bez jeho odstranění."
#. module: base_contact
#: model:ir.module.module,description:base_contact.module_meta_information
@ -151,22 +156,40 @@ msgid ""
"an other object.\n"
" "
msgstr ""
"\n"
" Tento modul umožňuje úplně spravovat vaše kontakty.\n"
"\n"
" Nechá vás určit\n"
" *kontakty nevztažené k partnerovi,\n"
" *kontakty pracující na několika adresách (případně i pro různé "
"partnery),\n"
" *kontakty s možnými různými funkcemi pro každou jeho pracovní "
"adresu\n"
"\n"
" Také přidává nové položky nabídky umístěné v\n"
" Partneři \\ Kontakty\n"
" Partneři \\ Funkce\n"
"\n"
" Berte na vědomí, že tento modul převádí existující adresy na \"adresy + "
"kontakty\". To znamená, že některé pole adres budou chybět (jako jméno "
"kontaktu), protože ty jsou definovány v jiném objektu.\n"
" "
#. module: base_contact
#: model:ir.module.module,shortdesc:base_contact.module_meta_information
#: model:process.process,name:base_contact.process_process_basecontactprocess0
msgid "Base Contact"
msgstr ""
msgstr "Základní kontakt"
#. module: base_contact
#: field:res.partner.job,date_stop:0
msgid "Date Stop"
msgstr ""
msgstr "Datum zastavení"
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.action_res_partner_job
msgid "Contact's Jobs"
msgstr ""
msgstr "Pozice kontaktu"
#. module: base_contact
#: view:res.partner:0
@ -179,95 +202,97 @@ msgid ""
"Order of importance of this job title in the list of job "
"title of the linked partner"
msgstr ""
"Pořadí důležitosti této pracovní pozice v seznamu titulů "
"pozic napojeného partnera"
#. module: base_contact
#: field:res.partner.job,extension:0
msgid "Extension"
msgstr ""
msgstr "Rozšíření"
#. module: base_contact
#: help:res.partner.job,extension:0
msgid "Internal/External extension phone number"
msgstr ""
msgstr "Vnitřní/vnější telefoní číslo klapky"
#. module: base_contact
#: help:res.partner.job,phone:0
msgid "Job Phone no."
msgstr ""
msgstr "Telefoní číslo do práce."
#. module: base_contact
#: view:res.partner.contact:0
#: field:res.partner.contact,job_ids:0
msgid "Functions and Addresses"
msgstr ""
msgstr "Funkce a adresy"
#. module: base_contact
#: model:ir.model,name:base_contact.model_res_partner_contact
#: field:res.partner.job,contact_id:0
msgid "Contact"
msgstr ""
msgstr "Kontakt"
#. module: base_contact
#: help:res.partner.job,email:0
msgid "Job E-Mail"
msgstr ""
msgstr "Pracovní E-Mail"
#. module: base_contact
#: field:res.partner.job,sequence_partner:0
msgid "Partner Seq."
msgstr ""
msgstr "Poř. parnera"
#. module: base_contact
#: model:process.transition,name:base_contact.process_transition_functiontoaddress0
msgid "Function to address"
msgstr ""
msgstr "Funkce na adresu"
#. module: base_contact
#: field:base.contact.installer,progress:0
msgid "Configuration Progress"
msgstr ""
msgstr "Průběh nastavení"
#. module: base_contact
#: field:res.partner.contact,name:0
msgid "Last Name"
msgstr ""
msgstr "Příjmení"
#. module: base_contact
#: view:res.partner:0
#: view:res.partner.contact:0
msgid "Communication"
msgstr ""
msgstr "Komunikace"
#. module: base_contact
#: field:base.contact.installer,config_logo:0
#: field:res.partner.contact,photo:0
msgid "Image"
msgstr ""
msgstr "Obrázek"
#. module: base_contact
#: selection:res.partner.job,state:0
msgid "Past"
msgstr ""
msgstr "Minulý"
#. module: base_contact
#: model:ir.model,name:base_contact.model_res_partner_address
msgid "Partner Addresses"
msgstr ""
msgstr "Adresy partnerů"
#. module: base_contact
#: view:base.contact.installer:0
msgid "Address's Migration to Contacts"
msgstr ""
msgstr "Stěhování adresy na kontakty"
#. module: base_contact
#: field:res.partner.job,sequence_contact:0
msgid "Contact Seq."
msgstr ""
msgstr "Poř. kontaktu"
#. module: base_contact
#: view:res.partner.address:0
msgid "Search Contact"
msgstr ""
msgstr "Hledat kontakt"
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.action_partner_contact_form
@ -277,7 +302,7 @@ msgstr ""
#: view:res.partner:0
#: field:res.partner.address,job_ids:0
msgid "Contacts"
msgstr "Kotakty"
msgstr "Kontakty"
#. module: base_contact
#: view:base.contact.installer:0
@ -285,52 +310,54 @@ msgid ""
"Due to changes in Address and Partner's relation, some of the details from "
"address are needed to be migrated into contact information."
msgstr ""
"Kvůli změnám v adrese a vztahu partnera, některé podrobnosti adresy jsou "
"potřebné, aby byly přesunuty do informací účtu."
#. module: base_contact
#: model:process.node,note:base_contact.process_node_addresses0
msgid "Working and private addresses."
msgstr ""
msgstr "Pracovní a soukromé adresy."
#. module: base_contact
#: help:res.partner.job,address_id:0
msgid "Address which is linked to the Partner"
msgstr ""
msgstr "Adresa, která je napojena na partnera"
#. module: base_contact
#: field:res.partner.job,function:0
msgid "Partner Function"
msgstr ""
msgstr "Funkce partnera"
#. module: base_contact
#: help:res.partner.job,other:0
msgid "Additional phone field"
msgstr ""
msgstr "Doplňující pole telefonu"
#. module: base_contact
#: field:res.partner.contact,website:0
msgid "Website"
msgstr ""
msgstr "Webová stránka"
#. module: base_contact
#: view:base.contact.installer:0
msgid "Otherwise these details will not be visible from address/contact."
msgstr ""
msgstr "Jinak tyto podrobnosti nebudou viditelné z adresy/kontaktu."
#. module: base_contact
#: view:base.contact.installer:0
msgid "Configure"
msgstr ""
msgstr "Nastavit"
#. module: base_contact
#: field:res.partner.contact,email:0
#: field:res.partner.job,email:0
msgid "E-Mail"
msgstr ""
msgstr "E-mail"
#. module: base_contact
#: model:ir.model,name:base_contact.model_base_contact_installer
msgid "base.contact.installer"
msgstr ""
msgstr "base.contact.installer"
#. module: base_contact
#: view:res.partner.job:0
@ -345,27 +372,27 @@ msgstr "Telefon"
#. module: base_contact
#: view:base.contact.installer:0
msgid "Do you want to migrate your Address data in Contact Data?"
msgstr ""
msgstr "Chcete stěhovat vaše data adresy v datech kontaktu?"
#. module: base_contact
#: field:res.partner.contact,active:0
msgid "Active"
msgstr ""
msgstr "Aktivní"
#. module: base_contact
#: field:res.partner.contact,function:0
msgid "Main Function"
msgstr ""
msgstr "Hlavní funkce"
#. module: base_contact
#: model:process.transition,note:base_contact.process_transition_partnertoaddress0
msgid "Define partners and their addresses."
msgstr ""
msgstr "Určuje partnery a jejich adresy."
#. module: base_contact
#: view:res.partner.contact:0
msgid "Seq."
msgstr ""
msgstr "Poř."
#. module: base_contact
#: field:res.partner.contact,lang_id:0
@ -375,37 +402,37 @@ msgstr "Jazyk"
#. module: base_contact
#: view:res.partner.contact:0
msgid "Extra Information"
msgstr ""
msgstr "Speciální informace"
#. module: base_contact
#: model:process.node,note:base_contact.process_node_partners0
msgid "Companies you work with."
msgstr ""
msgstr "Společnosti, se kterými pracujete."
#. module: base_contact
#: view:res.partner.contact:0
msgid "Partner Contact"
msgstr ""
msgstr "Kontakt partnera"
#. module: base_contact
#: view:res.partner.contact:0
msgid "General"
msgstr ""
msgstr "Obecný"
#. module: base_contact
#: view:res.partner.contact:0
msgid "Photo"
msgstr ""
msgstr "Fotka"
#. module: base_contact
#: field:res.partner.contact,birthdate:0
msgid "Birth Date"
msgstr ""
msgstr "Datum narození"
#. module: base_contact
#: help:base.contact.installer,migrate:0
msgid "If you select this, all addresses will be migrated."
msgstr ""
msgstr "Pokud toto vyberete, všechny adresy budou přesunuty."
#. module: base_contact
#: selection:res.partner.job,state:0
@ -420,12 +447,12 @@ msgstr "Křestní jméno"
#. module: base_contact
#: model:ir.model,name:base_contact.model_res_partner_job
msgid "Contact Partner Function"
msgstr ""
msgstr "Kontakt funkce partnera"
#. module: base_contact
#: field:res.partner.job,other:0
msgid "Other"
msgstr ""
msgstr "Jiné"
#. module: base_contact
#: model:process.node,name:base_contact.process_node_function0
@ -436,17 +463,17 @@ msgstr "Funkce"
#: field:res.partner.address,job_id:0
#: field:res.partner.contact,job_id:0
msgid "Main Job"
msgstr ""
msgstr "Hlavní práce"
#. module: base_contact
#: model:process.transition,note:base_contact.process_transition_contacttofunction0
msgid "Defines contacts and functions."
msgstr ""
msgstr "Určuje kontakty a funkce."
#. module: base_contact
#: model:process.transition,name:base_contact.process_transition_contacttofunction0
msgid "Contact to function"
msgstr ""
msgstr "Kontakt na funkci"
#. module: base_contact
#: view:res.partner:0
@ -457,53 +484,53 @@ msgstr "Adresa"
#. module: base_contact
#: field:res.partner.contact,country_id:0
msgid "Nationality"
msgstr ""
msgstr "Národnost"
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.act_res_partner_jobs
msgid "Open Jobs"
msgstr ""
msgstr "Otevřené pozice"
#. module: base_contact
#: field:base.contact.installer,name:0
msgid "Name"
msgstr ""
msgstr "Jméno"
#. module: base_contact
#: view:base.contact.installer:0
msgid "You can migrate Partner's current addresses to the contact."
msgstr ""
msgstr "Můžete stěhovat partnerovu aktuální adresu do kontaktu."
#. module: base_contact
#: field:res.partner.contact,partner_id:0
msgid "Main Employer"
msgstr ""
msgstr "Hlavní zaměstnavatel"
#. module: base_contact
#: model:ir.actions.act_window,name:base_contact.action_base_contact_installer
msgid "Address Migration"
msgstr ""
msgstr "Stěhování adresy"
#. module: base_contact
#: view:res.partner:0
msgid "Postal Address"
msgstr ""
msgstr "Poštovní adresa"
#. module: base_contact
#: model:process.node,name:base_contact.process_node_addresses0
#: view:res.partner:0
msgid "Addresses"
msgstr ""
msgstr "Adresy"
#. module: base_contact
#: model:process.transition,name:base_contact.process_transition_partnertoaddress0
msgid "Partner to address"
msgstr ""
msgstr "Partner na adresu"
#. module: base_contact
#: field:res.partner.job,date_start:0
msgid "Date Start"
msgstr ""
msgstr "Počáteční datum"
#. module: base_contact
#: help:res.partner.job,sequence_contact:0
@ -511,6 +538,8 @@ msgid ""
"Order of importance of this address in the list of "
"addresses of the linked contact"
msgstr ""
"Pořadí podle důležitosti této adresy v seznamu adres napojeného "
"kontaktu"
#~ msgid "Invalid XML for View Architecture!"
#~ msgstr "Invalidní XML pro zobrazení architektury!"

View File

@ -64,7 +64,7 @@
country_id: base.be
first_name: Nicolas
job_ids:
- address_id: base.main_address
- address_id: base.res_partner_address_1
function: CTO
state: current
- address_id: base.res_partner_address_3000

View File

@ -21,3 +21,5 @@
from service import security
import crypt
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -62,3 +62,5 @@ will disable LDAP authentication completely if installed at the same time.
"installable": True,
"certificate" : "00721290471310299725",
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -0,0 +1,73 @@
# Occitan (post 1500) translation for openobject-addons
# Copyright (c) 2011 Rosetta Contributors and Canonical Ltd 2011
# This file is distributed under the same license as the openobject-addons package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2011.
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2011-01-11 11:14+0000\n"
"PO-Revision-Date: 2011-11-20 09:17+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Occitan (post 1500) <oc@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: 2011-11-21 05:22+0000\n"
"X-Generator: Launchpad (build 14299)\n"
#. module: base_crypt
#: sql_constraint:res.users:0
msgid "You can not have two users with the same login !"
msgstr "Podètz pas aver dos utilizaires amb lo meteis identificant !"
#. module: base_crypt
#: model:ir.model,name:base_crypt.model_res_users
msgid "res.users"
msgstr "res.users"
#. module: base_crypt
#: constraint:res.users:0
msgid "The chosen company is not in the allowed companies for this user"
msgstr ""
"La societat causida fa pas partida de las societats autorizadas per aqueste "
"utilizaire"
#. module: base_crypt
#: code:addons/base_crypt/crypt.py:132
#, python-format
msgid "Please specify the password !"
msgstr "Entratz un senhal"
#. module: base_crypt
#: model:ir.module.module,shortdesc:base_crypt.module_meta_information
msgid "Base - Password Encryption"
msgstr "Basa - Chifratge del senhal"
#. module: base_crypt
#: code:addons/base_crypt/crypt.py:132
#, python-format
msgid "Error"
msgstr "Error"
#. module: base_crypt
#: model:ir.module.module,description:base_crypt.module_meta_information
msgid ""
"This module replaces the cleartext password in the database with a password "
"hash,\n"
"preventing anyone from reading the original password.\n"
"For your existing user base, the removal of the cleartext passwords occurs "
"the first time\n"
"a user logs into the database, after installing base_crypt.\n"
"After installing this module it won't be possible to recover a forgotten "
"password for your\n"
"users, the only solution is for an admin to set a new password.\n"
"\n"
"Note: installing this module does not mean you can ignore basic security "
"measures,\n"
"as the password is still transmitted unencrypted on the network (by the "
"client),\n"
"unless you are using a secure protocol such as XML-RPCS.\n"
" "
msgstr ""

View File

@ -21,3 +21,5 @@
import base_module_doc_rst
import wizard
import report
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -42,3 +42,5 @@ This module generates the Technical Guides of selected modules in Restructured T
'images': ['images/base_module_doc_rst1.jpeg'],
}
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -78,4 +78,5 @@ class report_graph(report.interface.report_int):
pdf_string = self.get_proximity_graph(cr, uid, data['id'])
return (pdf_string, 'pdf')
report_graph('report.proximity.graph', 'ir.module.module')
report_graph('report.proximity.graph', 'ir.module.module')
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -22,3 +22,5 @@
import wizard_tech_guide_rst
import generate_relation_graph
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -507,3 +507,5 @@ class wizard_tech_guide_rst(wizard.interface):
wizard_tech_guide_rst('tech.guide.rst')
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -59,13 +59,21 @@ class report_xml(osv.osv):
return True
def report_get(self, cr, uid, report_id, context=None):
if context is None:
context = {}
# skip osv.fields.sanitize_binary_value() because we want the raw bytes in all cases
context.update(bin_raw=True)
report = self.browse(cr, uid, report_id, context=context)
sxw_data=(report.report_sxw_content).encode("iso-8859-1", "replace")
rml_data= (report.report_rml_content).encode("iso-8859-1", "replace")
sxw_data = report.report_sxw_content
rml_data = report.report_rml_content
if isinstance(sxw_data, unicode):
sxw_data = sxw_data.encode("iso-8859-1", "replace")
if isinstance(rml_data, unicode):
rml_data = rml_data.encode("iso-8859-1", "replace")
return {
'file_type' : report.report_type,
'report_sxw_content': report.report_sxw_content and base64.encodestring(sxw_data) or False,
'report_rml_content': report.report_rml_content and base64.encodestring(rml_data) or False
'file_type' : report.report_type,
'report_sxw_content': sxw_data and base64.encodestring(sxw_data) or False,
'report_rml_content': rml_data and base64.encodestring(rml_data) or False
}
report_xml()

View File

@ -109,3 +109,5 @@ if __name__<>"package" and __name__=="__main__":
elif __name__=="package":
g_ImplementationHelper.addImplementation( About, "org.openoffice.openerp.report.about", ("com.sun.star.task.Job",),)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -275,3 +275,5 @@ if __name__<>"package" and __name__=="__main__":
AddAttachment(None)
elif __name__=="package":
g_ImplementationHelper.addImplementation( AddAttachment, "org.openoffice.openerp.report.addattachment", ("com.sun.star.task.Job",),)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -137,3 +137,5 @@ if __name__<>"package" and __name__=="__main__":
elif __name__=="package":
g_ImplementationHelper.addImplementation( Change, "org.openoffice.openerp.report.change", ("com.sun.star.task.Job",),)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -283,3 +283,5 @@ if __name__<>"package":
else:
g_ImplementationHelper.addImplementation( ConvertBracesToField, "org.openoffice.openerp.report.convertBF", ("com.sun.star.task.Job",),)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -83,3 +83,5 @@ if __name__<>"package":
else:
g_ImplementationHelper.addImplementation( ConvertFieldsToBraces, "org.openoffice.openerp.report.convertFB", ("com.sun.star.task.Job",),)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -130,3 +130,5 @@ if __name__<>"package" and __name__=="__main__":
ExportToRML(None)
elif __name__=="package":
g_ImplementationHelper.addImplementation( ExportToRML, "org.openoffice.openerp.report.exporttorml", ("com.sun.star.task.Job",),)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -113,3 +113,5 @@ if __name__<>"package" and __name__=="__main__":
elif __name__=="package":
g_ImplementationHelper.addImplementation( Expression, "org.openoffice.openerp.report.expression", ("com.sun.star.task.Job",),)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -289,3 +289,5 @@ if __name__<>"package" and __name__=="__main__":
elif __name__=="package":
g_ImplementationHelper.addImplementation( Fields, "org.openoffice.openerp.report.fields", ("com.sun.star.task.Job",),)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -53,3 +53,5 @@ class LoginTest:
if not loginstatus:
Change(None)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -211,3 +211,5 @@ if __name__<>"package" and __name__=="__main__":
elif __name__=="package":
g_ImplementationHelper.addImplementation( ModifyExistingReport, "org.openoffice.openerp.report.modifyreport", ("com.sun.star.task.Job",),)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -117,3 +117,5 @@ elif __name__=="package":
NewReport,
"org.openoffice.openerp.report.opennewreport",
("com.sun.star.task.Job",),)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -298,3 +298,5 @@ if __name__<>"package" and __name__=="__main__":
elif __name__=="package":
g_ImplementationHelper = unohelper.ImplementationHelper()
g_ImplementationHelper.addImplementation( RepeatIn, "org.openoffice.openerp.report.repeatln", ("com.sun.star.task.Job",),)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -239,3 +239,5 @@ if __name__<>"package" and __name__=="__main__":
SendtoServer(None)
elif __name__=="package":
g_ImplementationHelper.addImplementation( SendtoServer, "org.openoffice.openerp.report.sendtoserver", ("com.sun.star.task.Job",),)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -172,3 +172,5 @@ if __name__<>"package" and __name__=="__main__":
elif __name__=="package":
g_ImplementationHelper.addImplementation( ServerParameter, "org.openoffice.openerp.report.serverparam", ("com.sun.star.task.Job",),)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -272,3 +272,5 @@ if __name__<>"package" and __name__=="__main__":
elif __name__=="package":
g_ImplementationHelper.addImplementation( AddLang, "org.openoffice.openerp.report.langtag", ("com.sun.star.task.Job",),)
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -59,3 +59,5 @@ import ConvertBracesToField
import ConvertFieldsToBraces
import ExportToRML
import SendtoServer
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -47,3 +47,5 @@
import compileall
compileall.compile_dir('package')
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

Some files were not shown because too many files have changed in this diff Show More