[MERGE] l10n that just merged trunk

bzr revid: al@openerp.com-20110817204653-1qw6ijdu5lbcsu4g
This commit is contained in:
Antony Lesuisse
2011-08-17 22:46:53 +02:00
152 changed files with 4115 additions and 1555 deletions
+1
View File
@@ -25,6 +25,7 @@ import project
import partner
import invoice
import account_bank_statement
import account_bank
import account_cash_statement
import account_move_line
import account_analytic_line
+4 -2
View File
@@ -123,13 +123,15 @@ module named account_voucher.
'company_view.xml',
'board_account_view.xml',
"wizard/account_report_profit_loss_view.xml",
"wizard/account_report_balance_sheet_view.xml"
"wizard/account_report_balance_sheet_view.xml",
"account_bank_view.xml"
],
'demo_xml': [
'account_demo.xml',
'demo/account_demo.xml',
'project/project_demo.xml',
'project/analytic_account_demo.xml',
'demo/account_minimal.xml',
'demo/account_invoice_demo.xml',
# 'account_unit_test.xml',
],
'test': [
+1 -1
View File
@@ -602,7 +602,7 @@ class account_journal(osv.osv):
_description = "Journal"
_columns = {
'name': fields.char('Journal Name', size=64, required=True),
'code': fields.char('Code', size=5, required=True, help="The code will be used to generate the numbers of the journal entries of this journal."),
'code': fields.char('Code', size=5, required=True, help="The code will be displayed on reports."),
'type': fields.selection([('sale', 'Sale'),('sale_refund','Sale Refund'), ('purchase', 'Purchase'), ('purchase_refund','Purchase Refund'), ('cash', 'Cash'), ('bank', 'Bank and Cheques'), ('general', 'General'), ('situation', 'Opening/Closing Situation')], 'Type', size=32, required=True,
help="Select 'Sale' for Sale journal to be used at the time of making invoice."\
" Select 'Purchase' for Purchase Journal to be used at the time of approving purchase order."\
+103
View File
@@ -0,0 +1,103 @@
# -*- coding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from tools.translate import _
from osv import fields, osv
class bank(osv.osv):
_inherit = "res.partner.bank"
_columns = {
'journal_id': fields.many2one('account.journal', 'Account Journal', help="This journal will be created automatically for this bank account when you save the record"),
}
def create(self, cr, uid, data, context={}):
result = super(bank, self).create(cr, uid, data, context=context)
self.post_write(cr, uid, [result], context=context)
return result
def write(self, cr, uid, ids, data, context={}):
result = super(bank, self).write(cr, uid, ids, data, context=context)
self.post_write(cr, uid, ids, context=context)
return result
def post_write(self, cr, uid, ids, context={}):
obj_acc = self.pool.get('account.account')
obj_data = self.pool.get('ir.model.data')
for bank in self.browse(cr, uid, ids, context):
if bank.company_id and not bank.journal_id:
# Find the code and parent of the bank account to create
dig = 6
current_num = 1
ids = obj_acc.search(cr, uid, [('type','=','liquidity')], context=context)
# No liquidity account exists, no template available
if not ids: continue
ref_acc_bank_temp = obj_acc.browse(cr, uid, ids[0], context=context)
ref_acc_bank = ref_acc_bank_temp.parent_id
while True:
new_code = str(ref_acc_bank.code.ljust(dig-len(str(current_num)), '0')) + str(current_num)
ids = obj_acc.search(cr, uid, [('code', '=', new_code), ('company_id', '=', bank.company_id.id)])
if not ids:
break
current_num += 1
acc = {
'name': (bank.bank_name or '')+' '+bank.acc_number,
'currency_id': bank.company_id.currency_id.id,
'code': new_code,
'type': 'liquidity',
'user_type': ref_acc_bank_temp.user_type.id,
'reconcile': False,
'parent_id': ref_acc_bank.id,
'company_id': bank.company_id.id,
}
acc_bank_id = obj_acc.create(cr,uid,acc,context=context)
# Get the journal view id
data_id = obj_data.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_journal_bank_view')])
data = obj_data.browse(cr, uid, data_id[0], context=context)
view_id_cash = data.res_id
jour_obj = self.pool.get('account.journal')
new_code = 1
while True:
code = _('BNK')+str(new_code)
ids = jour_obj.search(cr, uid, [('code','=',code)], context=context)
if not ids:
break
new_code += 1
#create the bank journal
vals_journal = {
'name': (bank.bank_name or '')+' '+bank.acc_number,
'code': code,
'type': 'bank',
'company_id': bank.company_id.id,
'analytic_journal_id': False,
'currency_id': False,
'default_credit_account_id': acc_bank_id,
'default_debit_account_id': acc_bank_id,
'view_id': view_id_cash
}
journal_id = jour_obj.create(cr, uid, vals_journal, context=context)
self.write(cr, uid, [bank.id], {'journal_id': journal_id}, context=context)
return True
+48
View File
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!--
Bank Accounts
-->
<record id="view_partner_bank_form_inherit" model="ir.ui.view">
<field name="name">Partner Bank Accounts - Journal</field>
<field name="model">res.partner.bank</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.view_partner_bank_form"/>
<field name="arch" type="xml">
<group name="bank" position="after">
<group name="accounting" col="2" colspan="2" attrs="{'invisible': [('company_id','=', False)]}">
<separator string="Accounting Information" colspan="2"/>
<field name="journal_id"/>
</group>
</group>
</field>
</record>
<record id="action_bank_tree" model="ir.actions.act_window">
<field name="name">Bank Accounts</field>
<field name="res_model">res.partner.bank</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context" eval="{'default_partner_id':ref('base.main_partner'), 'company_hide':False, 'default_company_id':ref('base.main_company'), 'search_default_my_bank':1}"/>
<field name="help">Configure your company's bank account and select those that must appear on the report footer. You can drag &amp; drop bank in the list view to reorder bank accounts. If you use the accounting application of OpenERP, journals and accounts will be created automatically based on these data.</field>
</record>
<menuitem
sequence="0"
parent="account.account_account_menu"
id="menu_action_bank_tree"
action="action_bank_tree"/>
<record id="account_configuration_bank_todo" model="ir.actions.todo">
<field name="action_id" ref="action_bank_tree"/>
<field name="category_id" ref="category_accounting_configuration"/>
<field name="sequence">4</field>
</record>
</data>
</openerp>
-4
View File
@@ -378,10 +378,6 @@
<field name="period_id" select='1' string="Period"/>
</group>
<newline/>
<group expand="0" string="Extended Filters..." name = "extended filter" >
<field name="reference" select="1" string="Invoice Reference"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
+1 -1
View File
@@ -16,7 +16,7 @@
<menuitem id="periodical_processing_journal_entries_validation" name="Draft Entries" parent="menu_finance_periodical_processing"/>
<menuitem id="periodical_processing_reconciliation" name="Reconciliation" parent="menu_finance_periodical_processing"/>
<menuitem id="periodical_processing_invoicing" name="Invoicing" parent="menu_finance_periodical_processing"/>
<menuitem id="menu_finance_charts" name="Charts" parent="menu_finance" sequence="6"/>
<menuitem id="menu_finance_charts" name="Charts" parent="menu_finance" groups="account.group_account_user" sequence="6"/>
<menuitem id="menu_finance_reporting" name="Reporting" parent="account.menu_finance" sequence="13"/>
<menuitem id="menu_finance_reporting_budgets" name="Budgets" parent="menu_finance_reporting" groups="group_account_user"/>
<menuitem id="menu_finance_legal_statement" name="Legal Reports" parent="menu_finance_reporting"/>
+3 -10
View File
@@ -767,7 +767,7 @@
<field name="search_view_id" ref="view_account_type_search"/>
<field name="help">An account type is used to determine how an account is used in each journal. The deferral method of an account type determines the process for the annual closing. Reports such as the Balance Sheet and the Profit and Loss report use the category (profit/loss or balance sheet). For example, the account type could be linked to an asset account, expense account or payable account. From this view, you can create and manage the account types you need for your company.</field>
</record>
<menuitem action="action_account_type_form" sequence="6" id="menu_action_account_type_form" parent="account_account_menu"/>
<menuitem action="action_account_type_form" sequence="6" id="menu_action_account_type_form" parent="account_account_menu" groups="base.group_extended"/>
<!--
Entries
-->
@@ -1201,13 +1201,6 @@
<field name="period_id" context="{'period_id':self, 'search_default_period_id':self}"/>
</group>
<newline/>
<group expand="0" string="Extended Filters...">
<field name="ref" select="1" string="Reference"/>
<field name="name" select="1"/>
<field name="narration" select="1"/>
<field name="balance" string="Debit/Credit" select='1'/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="12" col="10">
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
<separator orientation="vertical"/>
@@ -1266,8 +1259,8 @@
<field name="view_mode">tree,form</field>
<field name="view_id" ref="view_move_line_tree"/>
<field name="search_view_id" ref="view_account_move_line_filter"/>
<field name="domain">[('account_id', 'child_of', active_id)]</field>
<field name="context">{'account_id':active_id}</field>
<field name="domain">[]</field>
<field name="context">{'search_default_account_id': [active_id]}</field>
</record>
<record id="ir_account_move_line_select" model="ir.values">
-5
View File
@@ -1,11 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="note_account_type" model="board.note.type">
<field name="name">Accountants</field>
</record>
<record id="action_aged_receivable" model="ir.actions.act_window">
<field name="name">Receivable Accounts</field>
<field name="res_model">report.account.receivable</field>
@@ -0,0 +1,50 @@
<?xml version="1.0" ?>
<openerp>
<data noupdate="1">
<record id="demo_invoice_0" model="account.invoice">
<field name="date_due">2011-07-21</field>
<field name="payment_term" ref="account.account_payment_term"/>
<field name="journal_id" ref="account.refund_expenses_journal"/>
<field name="currency_id" ref="base.EUR"/>
<field name="address_invoice_id" ref="base.res_partner_address_wong"/>
<field name="user_id" ref="base.user_demo"/>
<field name="address_contact_id" ref="base.res_partner_address_wong"/>
<field name="reference_type">none</field>
<field name="company_id" ref="base.main_company"/>
<field name="state">draft</field>
<field name="type">in_invoice</field>
<field name="account_id" ref="account.a_pay"/>
<field eval="0" name="reconciled"/>
<field name="date_invoice">2011-06-01</field>
<field eval="14.0" name="amount_untaxed"/>
<field eval="14.0" name="amount_total"/>
<field name="partner_id" ref="base.res_partner_maxtor"/>
</record>
<record id="demo_invoice_0_line_rpanrearpanelshe0" model="account.invoice.line">
<field name="invoice_id" ref="demo_invoice_0"/>
<field name="account_id" ref="account.a_expense"/>
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="price_unit" eval="10.0" />
<field name="price_subtotal" eval="10.0" />
<field name="company_id" ref="base.main_company"/>
<field name="invoice_line_tax_id" eval="[(6,0,[])]"/>
<field name="product_id" ref="product.product_product_rearpanelarm0"/>
<field name="quantity" eval="1.0" />
<field name="partner_id" ref="base.res_partner_maxtor"/>
<field name="name">[RPAN100] Rear Panel SHE100</field>
</record>
<record id="demo_invoice_0_line_rckrackcm0" model="account.invoice.line">
<field name="invoice_id" ref="demo_invoice_0"/>
<field name="account_id" ref="account.a_expense"/>
<field name="uos_id" ref="product.product_uom_unit"/>
<field name="price_unit" eval="4.0"/>
<field name="price_subtotal" eval="4.0"/>
<field name="company_id" ref="base.main_company"/>
<field name="invoice_line_tax_id" eval="[(6,0,[])]"/>
<field name="product_id" ref="product.product_product_shelf1"/>
<field name="quantity" eval="1.0" />
<field name="partner_id" ref="base.res_partner_maxtor"/>
<field name="name">[RCK200] Rack 200cm</field>
</record>
</data>
</openerp>
+181 -97
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-07-15 02:11+0000\n"
"Last-Translator: Chronos <robie@centrum.cz>\n"
"PO-Revision-Date: 2011-08-13 17:32+0000\n"
"Last-Translator: Jan B. Krejčí <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-07-16 04:56+0000\n"
"X-Generator: Launchpad (build 13405)\n"
"X-Launchpad-Export-Date: 2011-08-14 04:44+0000\n"
"X-Generator: Launchpad (build 13674)\n"
"X-Poedit-Language: Czech\n"
#. module: account
@@ -40,13 +40,12 @@ msgid ""
"You cannot remove/deactivate an account which is set as a property to any "
"Partner."
msgstr ""
"Nemůžete odstranit/deaktivovat účet, který je nastaven jako vlastnost "
"některého partnera"
"Nemůžete odstranit/deaktivovat účet, který je přiřazen některému partnerovi"
#. module: account
#: view:account.move.reconcile:0
msgid "Journal Entry Reconcile"
msgstr ""
msgstr "Likvidace záznamu v knize"
#. module: account
#: field:account.installer.modules,account_voucher:0
@@ -71,12 +70,12 @@ msgstr "Zbytek"
#: code:addons/account/invoice.py:793
#, python-format
msgid "Please define sequence on invoice journal"
msgstr "Prosím nadefinujte sekvenci knihy faktur"
msgstr "Prosím nadefinujte číselnou řadu knihy faktur"
#. module: account
#: constraint:account.period:0
msgid "Error ! The duration of the Period(s) is/are invalid. "
msgstr "Chyba! Délku období (s) je / jsou neplatné. "
msgstr "Chyba! Neplatná délka období. "
#. module: account
#: field:account.analytic.line,currency_id:0
@@ -91,12 +90,12 @@ msgstr "Definice potomků"
#. module: account
#: model:ir.model,name:account.model_report_aged_receivable
msgid "Aged Receivable Till Today"
msgstr "Splatné pohledávky do dnešního dne"
msgstr "Pohledávky splatné ke dnešku"
#. module: account
#: field:account.partner.ledger,reconcil:0
msgid "Include Reconciled Entries"
msgstr ""
msgstr "Zahrnout zlikvidované záznamy"
#. module: account
#: view:account.pl.report:0
@@ -104,13 +103,13 @@ msgid ""
"The Profit and Loss report gives you an overview of your company profit and "
"loss in a single document"
msgstr ""
"Výkaz zisku a ztrát Vám dá přehled o zisku a ztrátě společnosti v jediném "
"Výkaz zisku a ztráty Vám dá přehled o zisku či ztrátě společnosti v jediném "
"dokumentu"
#. module: account
#: model:process.transition,name:account.process_transition_invoiceimport0
msgid "Import from invoice or payment"
msgstr "Importovat z faktur nebo plateb"
msgstr "Importovat z faktury nebo platby"
#. module: account
#: model:ir.model,name:account.model_wizard_multi_charts_accounts
@@ -128,17 +127,19 @@ msgid ""
"If you unreconciliate transactions, you must also verify all the actions "
"that are linked to those transactions because they will not be disabled"
msgstr ""
"Pokud zrušíte likvidaci transakcí, musíte také zkontrolovat všechny akce, "
"které se k nim váží, protože tyto nebudou zrušeny"
#. module: account
#: report:account.tax.code.entries:0
msgid "Accounting Entries-"
msgstr "Účetní zápisy-"
msgstr "Účetní záznamy -"
#. module: account
#: code:addons/account/account.py:1305
#, python-format
msgid "You can not delete posted movement: \"%s\"!"
msgstr "Nemůžet smazat vložené pohyby: \"%s\"!"
msgstr "Nemůžet smazat zaúčtované pohyby: \"%s\"!"
#. module: account
#: report:account.invoice:0
@@ -154,7 +155,7 @@ msgstr "Původ"
#: view:account.move.line.reconcile:0
#: view:account.move.line.reconcile.writeoff:0
msgid "Reconcile"
msgstr "Vyrovnání"
msgstr "Likvidace"
#. module: account
#: field:account.bank.statement.line,ref:0
@@ -169,7 +170,7 @@ msgstr "Odkaz"
#. module: account
#: view:account.open.closed.fiscalyear:0
msgid "Choose Fiscal Year "
msgstr "Vyberte Daňový rok "
msgstr "VYberte fiskální rok "
#. module: account
#: help:account.payment.term,active:0
@@ -178,7 +179,7 @@ msgid ""
"term without removing it."
msgstr ""
"Pokud je pole nastaveno na Nepravda, umožní vám to skrýt platební období bez "
"jejího odebrání."
"jeho odebrání."
#. module: account
#: code:addons/account/invoice.py:1436
@@ -195,12 +196,12 @@ msgstr "Zdroj účtu"
#. module: account
#: model:ir.actions.act_window,name:account.act_acc_analytic_acc_5_report_hr_timesheet_invoice_journal
msgid "All Analytic Entries"
msgstr "Všechny analytické položky"
msgstr "Všechny analytické záznamy"
#. module: account
#: model:ir.actions.act_window,name:account.action_view_created_invoice_dashboard
msgid "Invoices Created Within Past 15 Days"
msgstr ""
msgstr "Faktury vytvořené v posledních 15 dnech"
#. module: account
#: selection:account.account.type,sign:0
@@ -211,7 +212,7 @@ msgstr "Záporné"
#: code:addons/account/wizard/account_move_journal.py:95
#, python-format
msgid "Journal: %s"
msgstr "Deník: %s"
msgstr "Kniha: %s"
#. module: account
#: help:account.analytic.journal,type:0
@@ -220,6 +221,9 @@ msgid ""
"invoice) to create analytic entries, OpenERP will look for a matching "
"journal of the same type."
msgstr ""
"Udává typ analytické knihy. Pokud mají být pro dokument (např. fakturu) "
"vytvořeny analytické položky, OpenERP bude hledet vyhovující knihu shodného "
"typu."
#. module: account
#: model:ir.actions.act_window,name:account.action_account_tax_template_form
@@ -239,13 +243,13 @@ msgid ""
"No period defined for this date: %s !\n"
"Please create a fiscal year."
msgstr ""
"Není určena perioda pro tento datum: %s !\n"
"Prosíme vytvořte daňový rok."
"Pro toto datum: %s není definováno období.\n"
"Prosím vytvořte fiskální rok."
#. module: account
#: model:ir.model,name:account.model_account_move_line_reconcile_select
msgid "Move line reconcile select"
msgstr ""
msgstr "Výběr likvidace pohybu"
#. module: account
#: help:account.model.line,sequence:0
@@ -253,6 +257,8 @@ msgid ""
"The sequence field is used to order the resources from lower sequences to "
"higher ones"
msgstr ""
"Pole \"sequence\" je použito pro řazení záznamů od nejnižšího čísla k "
"nejvyššímu"
#. module: account
#: help:account.tax.code,notprintable:0
@@ -261,17 +267,19 @@ msgid ""
"Check this box if you don't want any VAT related to this Tax Code to appear "
"on invoices"
msgstr ""
"Zaškrtněte toto pole, pokud nechcete, aby se ve fakturách objevovalo k "
"tomuto daňovému kódu žádné DPH"
#. module: account
#: code:addons/account/invoice.py:1224
#, python-format
msgid "Invoice '%s' is paid partially: %s%s of %s%s (%s%s remaining)"
msgstr "Faktura '%s' je částečně zaplacená: %s%s of %s%s (%s%s zbývá)"
msgstr "Faktura '%s' je zaplacená částečně: %s%s z %s%s (zbývá %s%s)"
#. module: account
#: model:process.transition,note:account.process_transition_supplierentriesreconcile0
msgid "Accounting entries are an input of the reconciliation."
msgstr "Účetní položky jsou vstupem vyrovnání."
msgstr "Účetní záznamy jsou vstupem likvidace"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_management_belgian_reports
@@ -282,12 +290,12 @@ msgstr "Belgické výkazy"
#: code:addons/account/account_move_line.py:1182
#, python-format
msgid "You can not add/modify entries in a closed journal."
msgstr "Nemůžete přida/upravit položky v uzavřeném deníku."
msgstr "Nemůžete přidávat/upravovat položky v uzavřené knize."
#. module: account
#: view:account.bank.statement:0
msgid "Calculated Balance"
msgstr "Spočítat rozvahu"
msgstr "Vypočtený zůstatek"
#. module: account
#: model:ir.actions.act_window,name:account.action_account_use_model_create_entry
@@ -299,7 +307,7 @@ msgstr "Ruční opakování"
#. module: account
#: view:account.fiscalyear.close.state:0
msgid "Close Fiscalyear"
msgstr "Uzavřít finační rok"
msgstr "Uzávěrka fiskálního roku"
#. module: account
#: field:account.automatic.reconcile,allow_write_off:0
@@ -314,13 +322,13 @@ msgstr "Vyberte období pro analýzu"
#. module: account
#: view:account.move.line:0
msgid "St."
msgstr ""
msgstr "Sv."
#. module: account
#: code:addons/account/invoice.py:532
#, python-format
msgid "Invoice line account company does not match with invoice company."
msgstr ""
msgstr "Firma řádku faktury nesouhlasí s firmou faktury"
#. module: account
#: field:account.journal.column,field:0
@@ -333,6 +341,8 @@ msgid ""
"Installs localized accounting charts to match as closely as possible the "
"accounting needs of your company based on your country."
msgstr ""
"Nainstaluje lokalizované účtové rozvrhy, co nejlépe odpovídající účetním "
"potřebám vaší firmy a vaší země."
#. module: account
#: code:addons/account/wizard/account_move_journal.py:63
@@ -343,11 +353,15 @@ msgid ""
"You can create one in the menu: \n"
"Configuration/Financial Accounting/Accounts/Journals."
msgstr ""
"Pro tuto firmu neexistuje účetní kniha typu %s.\n"
"\n"
"Můžete ji vytvořit v nabídce:\n"
"Konfigurace/Finanční účetnictví/Účty/Knihy"
#. module: account
#: model:ir.model,name:account.model_account_unreconcile
msgid "Account Unreconcile"
msgstr ""
msgstr "Zrušit likvidaci"
#. module: account
#: view:product.product:0
@@ -377,6 +391,9 @@ msgid ""
"OpenERP. Journal items are created by OpenERP if you use Bank Statements, "
"Cash Registers, or Customer/Supplier payments."
msgstr ""
"Tento pohled je používán účetními pro hromadné vytváření záznamů. OpenERP "
"vytvoří záznamy, když použijete bankovní výpisy, pokladnu nebo platby "
"klientů či dodavatelům."
#. module: account
#: model:ir.model,name:account.model_account_tax_template
@@ -397,12 +414,12 @@ msgstr "Datum vytvoření"
#. module: account
#: selection:account.journal,type:0
msgid "Purchase Refund"
msgstr ""
msgstr "Dobropis přijatý"
#. module: account
#: selection:account.journal,type:0
msgid "Opening/Closing Situation"
msgstr ""
msgstr "Počáteční/konečný stav"
#. module: account
#: help:account.journal,currency:0
@@ -412,7 +429,7 @@ msgstr "Měna použitá k zadání příkazu"
#. module: account
#: field:account.open.closed.fiscalyear,fyear_id:0
msgid "Fiscal Year to Open"
msgstr "Finanční rok k otevření"
msgstr "Fiskální rok k otevření"
#. module: account
#: help:account.journal,sequence_id:0
@@ -420,11 +437,12 @@ msgid ""
"This field contains the informatin related to the numbering of the journal "
"entries of this journal."
msgstr ""
"Toto pole obsahuje informace související s číslováním záznamů této knihy."
#. module: account
#: field:account.journal,default_debit_account_id:0
msgid "Default Debit Account"
msgstr "Výchozí dluhový účet"
msgstr "Výchozí debetní účet"
#. module: account
#: view:account.move:0
@@ -439,7 +457,7 @@ msgstr "Kladný"
#. module: account
#: view:account.move.line.unreconcile.select:0
msgid "Open For Unreconciliation"
msgstr "Otevřít pro vyrovnání"
msgstr "Otevřít pro zrušení likvidace"
#. module: account
#: field:account.fiscal.position.template,chart_template_id:0
@@ -460,6 +478,9 @@ msgid ""
"it comes to 'Printed' state. When all transactions are done, it comes in "
"'Done' state."
msgstr ""
"Když je vytvořen záznam v knize, jeho stav je \"Draft\". Když je vytištěn "
"report, stav se změní na \"Printed\". Když jsou hotovy všechny transakce, "
"záznam přejde do stavu \"Done\"."
#. module: account
#: model:ir.actions.act_window,help:account.action_account_tax_chart
@@ -469,6 +490,10 @@ msgid ""
"amount of each area of the tax declaration for your country. It’s presented "
"in a hierarchical structure, which can be modified to fit your needs."
msgstr ""
"Daňový přehled je strom reprezentující strukturu daňových kódů či případů, "
"který zobrazuje aktuální daňovou situaci. Přehled zobrazuje výši všech "
"oblastí daňového přiznání pro vaši zemi. Je strukturován hierarchicky a může "
"být podle potřeby upraven."
#. module: account
#: view:account.analytic.line:0
@@ -502,7 +527,7 @@ msgstr ""
#: field:validate.account.move,journal_id:0
#, python-format
msgid "Journal"
msgstr "Deník"
msgstr "Kniha"
#. module: account
#: model:ir.model,name:account.model_account_invoice_confirm
@@ -517,7 +542,7 @@ msgstr "Nadřazený cíl"
#. module: account
#: field:account.bank.statement,account_id:0
msgid "Account used in this journal"
msgstr "Účet použitý v tomto deníku"
msgstr "Účet použitý v této knize"
#. module: account
#: help:account.aged.trial.balance,chart_account_id:0
@@ -536,17 +561,17 @@ msgstr "Účet použitý v tomto deníku"
#: help:account.report.general.ledger,chart_account_id:0
#: help:account.vat.declaration,chart_account_id:0
msgid "Select Charts of Accounts"
msgstr ""
msgstr "Vyberte účtový rozvrh"
#. module: account
#: view:product.product:0
msgid "Purchase Taxes"
msgstr "Daně nákupu"
msgstr "Nákupní daně"
#. module: account
#: model:ir.model,name:account.model_account_invoice_refund
msgid "Invoice Refund"
msgstr "Vrácení faktury"
msgstr "Dobropis vydaný"
#. module: account
#: report:account.overdue:0
@@ -556,13 +581,13 @@ msgstr ""
#. module: account
#: field:account.automatic.reconcile,unreconciled:0
msgid "Not reconciled transactions"
msgstr "Žádné vyrovnané transakce"
msgstr "Nezlikvidované transakce"
#. module: account
#: code:addons/account/account_cash_statement.py:349
#, python-format
msgid "CashBox Balance is not matching with Calculated Balance !"
msgstr ""
msgstr "Stav pokladny neodpovídá vypočtenému zůstatku!"
#. module: account
#: view:account.fiscal.position:0
@@ -575,12 +600,12 @@ msgstr "Mapování daně"
#: model:ir.actions.act_window,name:account.action_account_fiscalyear_close_state
#: model:ir.ui.menu,name:account.menu_wizard_fy_close_state
msgid "Close a Fiscal Year"
msgstr "Uzavřít finanční rok"
msgstr "Uzavřít fiskální rok"
#. module: account
#: model:process.transition,note:account.process_transition_confirmstatementfromdraft0
msgid "The accountant confirms the statement."
msgstr "Účetní potvrzuje příkaz"
msgstr "Účetní potvrzuje výpis."
#. module: account
#: selection:account.balance.report,display_account:0
@@ -596,12 +621,12 @@ msgstr "Vše"
#. module: account
#: field:account.invoice.report,address_invoice_id:0
msgid "Invoice Address Name"
msgstr "Jméno adresy faktury"
msgstr "Název příjemce faktury"
#. module: account
#: selection:account.installer,period:0
msgid "3 Monthly"
msgstr "3 měsíce"
msgstr "Kvartální"
#. module: account
#: view:account.unreconcile.reconcile:0
@@ -609,6 +634,8 @@ msgid ""
"If you unreconciliate transactions, you must also verify all the actions "
"that are linked to those transactions because they will not be disable"
msgstr ""
"Pokud zrušíte likvidaci transakcí, musíte také zkontrolovat všechny akce, "
"které s nimi souvisejí, protože tyto nebudou zrušeny"
#. module: account
#: view:analytic.entries.report:0
@@ -618,7 +645,7 @@ msgstr " 30 dní "
#. module: account
#: field:ir.sequence,fiscal_ids:0
msgid "Sequences"
msgstr "Posloupnosti"
msgstr "Číselné řady"
#. module: account
#: view:account.fiscal.position.template:0
@@ -628,12 +655,12 @@ msgstr "Mapování daní"
#. module: account
#: report:account.central.journal:0
msgid "Centralized Journal"
msgstr "Centralizovaný deník"
msgstr "Centralizovaná kniha"
#. module: account
#: sql_constraint:account.sequence.fiscalyear:0
msgid "Main Sequence must be different from current !"
msgstr "Hlavní posloupnost musí být odlišná od aktuální !"
msgstr "Hlavní číselná řada musí být odlišná od současné!"
#. module: account
#: field:account.invoice.tax,tax_amount:0
@@ -645,18 +672,18 @@ msgstr "Částka kódu daně"
#: code:addons/account/installer.py:434
#, python-format
msgid "SAJ"
msgstr ""
msgstr "KFV"
#. module: account
#: help:account.bank.statement,balance_end_real:0
msgid "closing balance entered by the cashbox verifier"
msgstr ""
msgstr "konečný zůstatek zadaný ověřovatelem pokladny"
#. module: account
#: view:account.period:0
#: view:account.period.close:0
msgid "Close Period"
msgstr "Ukončit období"
msgstr "Uzavřít období"
#. module: account
#: model:ir.model,name:account.model_account_common_partner_report
@@ -666,19 +693,19 @@ msgstr ""
#. module: account
#: field:account.fiscalyear.close,period_id:0
msgid "Opening Entries Period"
msgstr "Období otvíracích položek"
msgstr "Období počátečních zůstatků"
#. module: account
#: model:ir.model,name:account.model_account_journal_period
msgid "Journal Period"
msgstr "Období deníku"
msgstr "Období knihy"
#. module: account
#: code:addons/account/account_move_line.py:723
#: code:addons/account/account_move_line.py:767
#, python-format
msgid "To reconcile the entries company should be the same for all entries"
msgstr ""
msgstr "Při likvidaci záznamů by u všech měla být stejná firma"
#. module: account
#: view:account.account:0
@@ -690,12 +717,12 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_aged_receivable
#, python-format
msgid "Receivable Accounts"
msgstr "Účety pohledávek"
msgstr "Pohledávky"
#. module: account
#: model:ir.model,name:account.model_account_report_general_ledger
msgid "General Ledger Report"
msgstr "ˇ"
msgstr "Hlavní kniha"
#. module: account
#: view:account.invoice:0
@@ -705,17 +732,17 @@ msgstr "Znovu otevřít"
#. module: account
#: view:account.use.model:0
msgid "Are you sure you want to create entries?"
msgstr "Chcete opravdu vytvořit položky?"
msgstr "Opravdu chcete vytvořit záznamy?"
#. module: account
#: selection:account.bank.accounts.wizard,account_type:0
msgid "Check"
msgstr "Zkontrolovat"
msgstr "Šekový"
#. module: account
#: field:account.partner.reconcile.process,today_reconciled:0
msgid "Partners Reconciled Today"
msgstr ""
msgstr "Dnes likvidovaní partneři"
#. module: account
#: selection:account.payment.term.line,value:0
@@ -864,6 +891,7 @@ msgstr "Vytvořit 3-měsíční období"
#. module: account
#: report:account.overdue:0
#: report:account.aged_trial_balance:0
msgid "Due"
msgstr "Do"
@@ -916,7 +944,7 @@ msgstr ""
#. module: account
#: model:process.node,note:account.process_node_accountingstatemententries0
msgid "Bank statement"
msgstr "Bankovní příkaz"
msgstr "Bankovní výpis"
#. module: account
#: field:account.analytic.line,move_id:0
@@ -955,6 +983,10 @@ msgstr "Položky modelu"
#: 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 "Kód"
@@ -1072,7 +1104,7 @@ msgstr "Začátek období"
#. module: account
#: model:process.transition,name:account.process_transition_confirmstatementfromdraft0
msgid "Confirm statement"
msgstr "Potvrdit příkaz"
msgstr "Potvrdit výpis"
#. module: account
#: field:account.fiscal.position.tax,tax_dest_id:0
@@ -1276,6 +1308,7 @@ msgstr "Analýza položek deníku"
#. module: account
#: model:ir.ui.menu,name:account.next_id_22
#: report:account.aged_trial_balance:0
msgid "Partners"
msgstr "Partneři"
@@ -1286,7 +1319,7 @@ msgstr "Partneři"
#: model:process.node,name:account.process_node_bankstatement0
#: model:process.node,name:account.process_node_supplierbankstatement0
msgid "Bank Statement"
msgstr "Bankovní příkaz"
msgstr "Bankovní výpis"
#. module: account
#: view:res.partner:0
@@ -1373,6 +1406,9 @@ msgid ""
"entry per accounting document: invoice, refund, supplier payment, bank "
"statements, etc."
msgstr ""
"Záznam v knize se skládá z položek, kde každá je debetní nebo kreditní "
"transakcí. OpenERP automaticky vytvoří jeden záznam v knize pro každý účetní "
"dokument: fakturu, dobropis, platbu dodavateli, bankovní výpis atd."
#. module: account
#: view:account.entries.report:0
@@ -1475,7 +1511,7 @@ msgstr "Jít na dalšího partnera"
#. module: account
#: view:account.bank.statement:0
msgid "Search Bank Statements"
msgstr "Hledat bankovní příkazy"
msgstr "Hledat v bankovních výpisech"
#. module: account
#: sql_constraint:account.model.line:0
@@ -1499,7 +1535,7 @@ msgstr ""
#: view:account.bank.statement:0
#: field:account.bank.statement,line_ids:0
msgid "Statement lines"
msgstr "Řádky příkazů"
msgstr "Řádky výpisu"
#. module: account
#: model:ir.actions.act_window,help:account.action_bank_statement_tree
@@ -1511,6 +1547,10 @@ msgid ""
"the Payment column of a line, you can press F1 to open the reconciliation "
"form."
msgstr ""
"Bankovní výpis je souhrn všech transakcí v daném období na bankovním účtu. "
"Počáteční zůstatek je vyplněn automaticky, konečný byste měli najít na "
"výpisu z banky. Když jste ve sloupci Platba v položce, stiskem F1 vyvoláte "
"likvidaci."
#. module: account
#: report:account.analytic.account.cost_ledger:0
@@ -1704,7 +1744,7 @@ msgstr "Tyto období se mohou překrývat."
#. module: account
#: model:process.node,name:account.process_node_draftstatement0
msgid "Draft statement"
msgstr "Návrh příkazu"
msgstr "Rozpracovaný výpis"
#. module: account
#: view:account.tax:0
@@ -1916,6 +1956,8 @@ msgid ""
"be with same name as statement name. This allows the statement entries to "
"have the same references than the statement itself"
msgstr ""
"Jestliže zadáte název jiný než \"/\", budou se stejně jmenovat i vytvořené "
"účetní záznamy."
#. module: account
#: model:ir.actions.act_window,name:account.action_account_unreconcile
@@ -1948,7 +1990,7 @@ msgstr "Účty k vyrovnání"
#. module: account
#: model:process.transition,note:account.process_transition_filestatement0
msgid "Import of the statement in the system from an electronic file"
msgstr ""
msgstr "Import výpisu v elektronické podobě."
#. module: account
#: model:process.node,name:account.process_node_importinvoice0
@@ -2125,8 +2167,13 @@ msgstr "Šablona výrobku"
#: 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 "Přestupný rok(Fiscal Year)"
msgstr "Účetní období"
#. module: account
#: help:account.aged.trial.balance,fiscalyear_id:0
@@ -2145,17 +2192,17 @@ msgstr "Přestupný rok(Fiscal Year)"
#: help:account.report.general.ledger,fiscalyear_id:0
#: help:account.vat.declaration,fiscalyear_id:0
msgid "Keep empty for all open fiscal year"
msgstr "Nechat prázdné pro všechny otevřené finanční pozice"
msgstr "Pro vybrání všech účetních období nechte pole prázdné"
#. module: account
#: model:ir.model,name:account.model_account_move
msgid "Account Entry"
msgstr "Položka účtu"
msgstr "Účetní záznam"
#. module: account
#: field:account.sequence.fiscalyear,sequence_main_id:0
msgid "Main Sequence"
msgstr "Hlavní posloupnosti"
msgstr "Hlavní číselná řada"
#. module: account
#: field:account.invoice,payment_term:0
@@ -2467,7 +2514,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account.action_bank_statement_tree
#: model:ir.ui.menu,name:account.menu_bank_statement_tree
msgid "Bank Statements"
msgstr "Bankovní příkazy"
msgstr "Bankovní výpisy"
#. module: account
#: selection:account.tax.template,applicable_type:0
@@ -2651,7 +2698,7 @@ msgstr ""
#: help:account.bank.statement,account_id:0
msgid ""
"used in statement reconciliation domain, but shouldn't be used elswhere."
msgstr ""
msgstr "použito v rámci likvidace výpisu, nemělo by se používat jinde"
#. module: account
#: field:account.invoice.tax,base_amount:0
@@ -3822,6 +3869,8 @@ msgid ""
"the system on document validation (invoices, bank statements...) and will be "
"created in 'Posted' state."
msgstr ""
"Ručně vytvořené účetní záznamy jsou typicky založeny jako nezaúčtované. Toto "
"jde pro vybrané knihy přeskakovat, takže založené záznamy se rovnou zaúčtují."
#. module: account
#: code:addons/account/account_analytic_line.py:90
@@ -3920,7 +3969,7 @@ msgstr "Režim zobrazení"
#. module: account
#: model:process.node,note:account.process_node_importinvoice0
msgid "Statement from invoice or payment"
msgstr ""
msgstr "Výpis z faktury nebo platby"
#. module: account
#: view:account.payment.term.line:0
@@ -3952,7 +4001,7 @@ msgstr "Statistiky faktur"
#. module: account
#: model:process.transition,note:account.process_transition_paymentorderreconcilation0
msgid "Bank statements are entered in the system."
msgstr ""
msgstr "Bankovní výpisy jsou zadány do systému."
#. module: account
#: code:addons/account/wizard/account_reconcile.py:133
@@ -4301,7 +4350,7 @@ msgstr "Jste si jisti?"
#. module: account
#: help:account.move.line,statement_id:0
msgid "The bank statement used for bank reconciliation"
msgstr ""
msgstr "Bankovní výpis použitý pro likvidaci banky"
#. module: account
#: model:process.transition,note:account.process_transition_suppliercustomerinvoice0
@@ -4511,6 +4560,11 @@ msgstr ""
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: field:account.vat.declaration,target_move:0
#: 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 "Target Moves"
msgstr "Cílové pohyby"
@@ -4627,6 +4681,8 @@ msgstr "Výsledek vyrovnání"
#: view:account.bs.report:0
#: model:ir.actions.act_window,name:account.action_account_bs_report
#: model:ir.ui.menu,name:account.menu_account_bs_report
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
msgid "Balance Sheet"
msgstr "Zůstatkový list"
@@ -4663,7 +4719,7 @@ msgstr ""
#. module: account
#: view:account.tax.template:0
msgid "Compute Code (if type=code)"
msgstr ""
msgstr "Vypočítat kód (pokud typ = kód)"
#. module: account
#: selection:account.analytic.journal,type:0
@@ -4854,7 +4910,7 @@ msgstr "Analytické účetnictví"
#: selection:account.invoice.report,type:0
#: selection:report.invoice.created,type:0
msgid "Customer Refund"
msgstr ""
msgstr "Dobropis vystavený"
#. module: account
#: view:account.account:0
@@ -5555,7 +5611,7 @@ msgstr "Šablony účtů"
#. module: account
#: report:account.vat.declaration:0
msgid "Tax Statement"
msgstr "Daňový příkaz"
msgstr "Daňový výkaz"
#. module: account
#: model:ir.model,name:account.model_res_company
@@ -6018,6 +6074,8 @@ msgid ""
"corresponds with the entries (or records) of that account in your accounting "
"system."
msgstr ""
"Likvidace banky spočívá v kontrole, že bankovní výpis odpovídá záznamům v "
"účetnictví."
#. module: account
#: model:process.node,note:account.process_node_draftstatement0
@@ -6301,6 +6359,8 @@ msgstr ""
#: 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 "Celkem:"
@@ -6374,7 +6434,7 @@ msgstr "Dokončeno"
#. module: account
#: model:process.transition,note:account.process_transition_invoicemanually0
msgid "A statement with manual entries becomes a draft statement."
msgstr ""
msgstr "Výpis s ručně zadanými položkami je nastaven jako rozpracovaný."
#. module: account
#: view:account.aged.trial.balance:0
@@ -6409,7 +6469,7 @@ msgstr ""
#. module: account
#: model:ir.ui.menu,name:account.menu_menu_Bank_process
msgid "Statements Reconciliation"
msgstr "Vyrovnání příkazů"
msgstr "Likvidace výpisů"
#. module: account
#: report:account.invoice:0
@@ -6531,7 +6591,7 @@ msgstr "Nadřazená šablona účtu"
#: field:account.move.line,statement_id:0
#: model:process.process,name:account.process_process_statementprocess0
msgid "Statement"
msgstr "Příkaz"
msgstr "Výpis"
#. module: account
#: help:account.journal,default_debit_account_id:0
@@ -6627,7 +6687,7 @@ msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_bank_statement_line
msgid "Bank Statement Line"
msgstr ""
msgstr "Řádek bankovního výpisu"
#. module: account
#: field:account.automatic.reconcile,date2:0
@@ -7327,6 +7387,9 @@ msgid ""
"will see the taxes with codes related to your legal statement according to "
"your country."
msgstr ""
"Tento daňový přehled slouží k vytváření pravidelných daňových výkazů. "
"Uvidíte v něm daně a jejich kódy příslušející k daňovým přiznáním podle vaší "
"země."
#. module: account
#: view:account.installer.modules:0
@@ -7492,6 +7555,11 @@ msgstr "Měna společnosti"
#: report:account.partner.balance:0
#: report:account.third_party_ledger:0
#: report:account.third_party_ledger_other:0
#: 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 "Chart of Account"
msgstr ""
@@ -7607,6 +7675,10 @@ msgstr "Deník vrácení peněz"
#: report:account.general.journal:0
#: report:account.general.ledger_landscape:0
#: report:account.partner.balance:0
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:pl.account:0
msgid "Filter By"
msgstr "Filtrovat podle"
@@ -7663,7 +7735,7 @@ msgstr "Mezivýsledek"
#. module: account
#: view:account.vat.declaration:0
msgid "Print Tax Statement"
msgstr "Tisknout daňový příkaz"
msgstr "Tisk daňového výkazu"
#. module: account
#: view:account.model.line:0
@@ -7810,7 +7882,7 @@ msgstr ""
msgid ""
"The amount of the voucher must be the same amount as the one on the "
"statement line"
msgstr ""
msgstr "Částka na dokladu musí odpovídat částce v řádku výpisu"
#. module: account
#: code:addons/account/account_move_line.py:1137
@@ -7869,7 +7941,7 @@ msgstr "Měna"
#: help:account.bank.statement.line,sequence:0
msgid ""
"Gives the sequence order when displaying a list of bank statement lines."
msgstr ""
msgstr "Určuje pořadí v zobrazení seznamu řádků výpisu"
#. module: account
#: model:process.transition,note:account.process_transition_validentries0
@@ -8146,6 +8218,7 @@ msgstr ""
#. module: account
#: field:account.aged.trial.balance,direction_selection:0
#: report:account.aged_trial_balance:0
msgid "Analysis Direction"
msgstr ""
@@ -8262,6 +8335,10 @@ msgstr "Nechejte prázdné pro použití příjmového účtu"
#: 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 "Zůstatek"
@@ -8273,6 +8350,10 @@ msgstr "Ručně nebo automaticky zadáno do systému"
#. module: account
#: report:account.account.balance:0
#: report:account.general.ledger_landscape:0
#: report:account.balancesheet.horizontal:0
#: report:account.balancesheet:0
#: report:pl.account.horizontal:0
#: report:pl.account:0
msgid "Display Account"
msgstr "Zobrazit účet"
@@ -8337,7 +8418,7 @@ msgstr ""
#: code:addons/account/account_bank_statement.py:391
#, python-format
msgid "Cannot delete bank statement(s) which are already confirmed !"
msgstr ""
msgstr "Nelze smazat bankovní výpis, který už byl potvrzen!"
#. module: account
#: code:addons/account/wizard/account_automatic_reconcile.py:152
@@ -8408,7 +8489,7 @@ msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.act_account_journal_2_account_bank_statement
msgid "Bank statements"
msgstr "Bankovní příkazy"
msgstr "Bankovní výpisy"
#. module: account
#: help:account.addtmpl.wizard,cparent_id:0
@@ -8575,6 +8656,7 @@ msgstr "Vstupní předplatné"
#: 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 "Počáteční datum"
@@ -9045,6 +9127,7 @@ msgstr "Stavy"
#: 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 "Celkem"
@@ -9125,13 +9208,13 @@ msgstr "t"
#. module: account
#: model:ir.actions.act_window,name:account.action_bank_statement_draft_tree
msgid "Draft statements"
msgstr ""
msgstr "Rozpracované výpisy"
#. module: account
#: model:process.transition,note:account.process_transition_statemententries0
msgid ""
"Manual or automatic creation of payment entries according to the statements"
msgstr ""
msgstr "Manuální nebo automatické vytvoření záznamů o platbách podle výpisů"
#. module: account
#: view:account.invoice:0
@@ -9363,7 +9446,7 @@ msgstr "Další volitelná měna, pokud je položka více-měnová."
#: model:process.transition,note:account.process_transition_invoiceimport0
msgid ""
"Import of the statement in the system from a supplier or customer invoice"
msgstr ""
msgstr "Import výpisu do systému z vydané nebo přijaté faktury"
#. module: account
#: model:ir.ui.menu,name:account.menu_finance_periodical_processing_billing
@@ -9543,6 +9626,7 @@ 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 "Partneři"
@@ -9867,10 +9951,6 @@ msgstr ""
#~ msgid "Taxed Amount"
#~ msgstr "Zdaněná částka"
#, python-format
#~ msgid "The statement balance is incorrect !\n"
#~ msgstr "Zůstatek příkaz není správný !\n"
#, python-format
#~ msgid "Invoice "
#~ msgstr "Faktura "
@@ -9878,3 +9958,7 @@ msgstr ""
#, python-format
#~ msgid "is validated."
#~ msgstr "není platné."
#, python-format
#~ msgid "The statement balance is incorrect !\n"
#~ msgstr "Nesprávný zůstatek výpisu!\n"
+20 -17
View File
@@ -97,27 +97,30 @@
<form string="Bank account">
<field name="state"/>
<newline/>
<field name="acc_number" select="1"/>
<field name="acc_number"/>
<newline/>
<field name="bank"/>
<newline/>
<field name="sequence"/>
<field colspan="4" name="name"/>
<separator colspan="4" string="Bank account owner"/>
<field colspan="4" name="owner_name"/>
<field colspan="4" name="street"/>
<newline/>
<field name="zip"/>
<field name="city"/>
<newline/>
<field completion="1" name="country_id"/>
<field name="state_id"/>
<group name="owner" colspan="2" col="2">
<separator colspan="4" string="Bank Account Owner"/>
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
<field name="owner_name"/>
<field name="street"/>
<field name="city"/>
<field name="zip"/>
<field name="state_id"/>
<field name="country_id"/>
</group>
<group name="bank" colspan="2" col="2">
<separator colspan="2" string="Information About the Bank"/>
<field name="bank" on_change="onchange_bank_id(bank)" groups="base.group_extended"/>
<field name="bank_name"/>
<field name="bank_bic"/>
</group>
</form>
<tree string="Bank Details">
<field name="state"/>
<field name="bank"/>
<field name="owner_name"/>
<field name="sequence" invisible="1"/>
<field name="acc_number"/>
<field name="bank_name"/>
<field name="owner_name"/>
</tree>
</field>
</page>
@@ -2,7 +2,7 @@
<openerp>
<data noupdate="1">
<record id="analytic_root" model="account.analytic.account">
<field name="name" model="res.company" use="name" search="[('id', '=', 1)]"/>
<field name="name" model="res.company" use="name" search="[]"/>
<field name="code">0</field>
</record>
<record id="analytic_absences" model="account.analytic.account">
-6
View File
@@ -215,12 +215,6 @@
<field name="user_id">
<filter string="My Entries" domain="[('user_id','=',uid)]" icon="terp-personal"/>
</field>
</group>
<newline/>
<group expand="0" string="Extended Filters...">
<field name="journal_id" widget="selection"/>
<field name="product_id" widget="selection"/>
<field name="amount" select="1"/>
</group>
<newline/>
<group string="Group By..." expand="0">
+2 -1
View File
@@ -4,12 +4,13 @@
<record id="group_account_invoice" model="res.groups">
<field name="name">Accounting / Invoicing &amp; Payments</field>
</record>
<record id="group_account_user" model="res.groups" context="{'noadmin':True}">
<field name="name">Accounting / Accountant</field>
<field name="implied_ids" eval="[(4, ref('group_account_invoice'))]"/>
</record>
<record id="group_account_manager" model="res.groups" context="{'noadmin':True}">
<field name="name">Accounting / Manager</field>
<field name="implied_ids" eval="[(4, ref('group_account_user'))]"/>
</record>
<record id="account_move_comp_rule" model="ir.rule">
@@ -78,7 +78,7 @@ class account_move_journal(osv.osv_memory):
@return: Returns a dict that contains definition for fields, views, and toolbars
"""
res = super(account_move_journal, self).fields_view_get(cr, uid, view_id, view_type, context, toolbar, submenu)
res = super(account_move_journal, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
if not view_id:
return res
@@ -8,7 +8,7 @@
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Standard entries">
<field name="target_move"/>
</form>
</field>
</record>
+30 -24
View File
@@ -7,15 +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-10-30 13:03+0000\n"
"Last-Translator: Jordi Esteve (www.zikzakmedia.com) "
"<jesteve@zikzakmedia.com>\n"
"PO-Revision-Date: 2011-08-07 20:27+0000\n"
"Last-Translator: mgaja (GrupoIsep.com) <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-04-29 05:22+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-08 04:36+0000\n"
"X-Generator: Launchpad (build 13613)\n"
#. module: account_invoice_layout
#: selection:account.invoice.line,state:0
@@ -95,6 +94,21 @@ msgid ""
"\n"
" "
msgstr ""
"\n"
" Aquest mòdul proporciona diverses funcionalitats per millorar la "
"presentació de les factures.\n"
"\n"
"Permet la possibilitat de:\n"
"* ordenar totes les línies d'una factura\n"
"* afegir títols, línies de comentari, línies amb subtotals\n"
"* dibuixar línies horitzontals i posar salts de pàgina\n"
"\n"
"A més existeix una opció que permet imprimir totes les factures "
"seleccionades amb un missatge especial en la part inferior. Aquesta "
"característica pot ser molt útil per imprimir les factures amb felicitacions "
"de finalització d'any, condicions especials puntuals, ...\n"
"\n"
" "
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@@ -144,6 +158,7 @@ msgstr "Descripció"
#: help:account.invoice.line,sequence:0
msgid "Gives the sequence order when displaying a list of invoice lines."
msgstr ""
"Indica l'ordre de seqüència quan es mostra una llista de línies de factura."
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@@ -192,7 +207,7 @@ msgstr "Missatge especial"
#. module: account_invoice_layout
#: help:account.invoice.special.msg,message:0
msgid "Message to Print at the bottom of report"
msgstr ""
msgstr "Missatge a imprimir en el peu de l'informe."
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@@ -247,17 +262,17 @@ msgstr "Import"
#. module: account_invoice_layout
#: model:notify.message,msg:account_invoice_layout.demo_message1
msgid "ERP & CRM Solutions..."
msgstr ""
msgstr "Solucions ERP i CRM..."
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Net Total :"
msgstr ""
msgstr "Total net :"
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Total :"
msgstr ""
msgstr "Total :"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@@ -273,13 +288,13 @@ msgstr "Número de seqüència"
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_account_invoice_special_msg
msgid "Account Invoice Special Message"
msgstr ""
msgstr "Missatge especial factura comptable"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Origin"
msgstr ""
msgstr "Origen"
#. module: account_invoice_layout
#: field:account.invoice.line,state:0
@@ -295,12 +310,12 @@ msgstr "Línia de separació"
#: report:account.invoice.layout:0
#: report:notify_account.invoice:0
msgid "Your Reference"
msgstr ""
msgstr "La seva referència"
#. module: account_invoice_layout
#: model:ir.module.module,shortdesc:account_invoice_layout.module_meta_information
msgid "Invoices Layout Improvement"
msgstr ""
msgstr "Millora de la plantilla de les factures"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@@ -322,7 +337,7 @@ msgstr "Impost"
#. module: account_invoice_layout
#: model:ir.model,name:account_invoice_layout.model_account_invoice_line
msgid "Invoice Line"
msgstr ""
msgstr "Línia de factura"
#. module: account_invoice_layout
#: report:account.invoice.layout:0
@@ -360,19 +375,13 @@ msgstr "Missatge"
#. module: account_invoice_layout
#: report:notify_account.invoice:0
msgid "Taxes :"
msgstr ""
msgstr "Impostos :"
#. module: account_invoice_layout
#: model:ir.ui.menu,name:account_invoice_layout.menu_notify_mesage_tree_form
msgid "All Notification Messages"
msgstr "Tots els missatges de notificació"
#~ msgid "Document"
#~ msgstr "Document"
#~ msgid ":"
#~ msgstr ":"
#~ msgid "(incl. taxes):"
#~ msgstr "(amb impostos):"
@@ -420,6 +429,3 @@ msgstr "Tots els missatges de notificació"
#~ msgid "Invalid model name in the action definition."
#~ msgstr "Nom de model no vàlid en la definició de l'acció."
#~ msgid "Partner Ref."
#~ msgstr "Ref. empresa"
@@ -5,6 +5,9 @@
<record id="group_account_payment" model="res.groups">
<field name="name">Accounting / Payments</field>
</record>
<record id="account.group_account_invoice" model="res.groups">
<field name="implied_ids" eval="[(4, ref('group_account_payment'))]"/>
</record>
<record id="payment_mode_comp_rule" model="ir.rule">
<field name="name">Payment Mode company rule</field>
@@ -4,13 +4,11 @@
Creating a res.partner.bank record
-
!record {model: res.partner.bank, id: res_partner_bank_0}:
name: 'Test Bank Account'
acc_number: '0001'
acc_number: '126-2013269-08'
partner_id: base.res_partner_9
sequence: 0.0
state: bank
bank: base.res_bank_1
-
I created a new Payment Mode
-
@@ -135,13 +135,6 @@
<field name="period_id" groups="base.group_extended"/>
</group>
<newline/>
<group expand="0" string="Extended Filters..." col='8' colspan='4'>
<field name="reference"/>
<field name="name"/>
<field name="narration"/>
<field name="amount"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="4" col="10">
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
@@ -23,13 +23,6 @@
<field name="journal_id" widget="selection" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('bank','cash'))]"/>
<field name="period_id" groups="base.group_extended"/>
</group>
<newline/>
<group expand="0" string="Extended Filters..." col='8' colspan='4'>
<field name="reference"/>
<field name="name"/>
<field name="narration"/>
<field name="amount"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="4" col="10">
<filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
@@ -63,13 +56,6 @@
<field name="journal_id" widget="selection" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('bank','cash'))]"/>
<field name="period_id" groups="base.group_extended"/>
</group>
<newline/>
<group expand="0" string="Extended Filters..." col='8' colspan='4'>
<field name="reference"/>
<field name="name"/>
<field name="narration"/>
<field name="amount"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="4" col="10">
<filter string="Supplier" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
@@ -22,13 +22,6 @@
<field name="journal_id" widget="selection" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('purchase','purchase_refund'))]"/>
<field name="period_id" groups="base.group_extended"/>
</group>
<newline/>
<group expand="0" string="Extended Filters..." col='8' colspan='4'>
<field name="reference"/>
<field name="name"/>
<field name="narration"/>
<field name="amount"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="4" col="10">
<filter string="Supplier" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
@@ -61,13 +54,6 @@
<field name="journal_id" widget="selection" context="{'journal_id': self, 'set_visible':False}" domain="[('type','in',('sale','sale_refund'))]"/>
<field name="period_id" groups="base.group_extended"/>
</group>
<newline/>
<group expand="0" string="Extended Filters..." col='8' colspan='4'>
<field name="reference"/>
<field name="name"/>
<field name="narration"/>
<field name="amount"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="4" col="10">
<filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
@@ -0,0 +1,97 @@
# Finnish 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-03 16:56+0000\n"
"PO-Revision-Date: 2011-08-08 07:40+0000\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: Finnish <fi@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-08-09 04:50+0000\n"
"X-Generator: Launchpad (build 13628)\n"
#. module: analytic_journal_billing_rate
#: model:ir.module.module,description:analytic_journal_billing_rate.module_meta_information
msgid ""
"\n"
"\n"
" This module allows you to define what is the default invoicing rate for "
"a specific journal on a given account. This is mostly used when a user "
"encodes his timesheet: the values are retrieved and the fields are auto-"
"filled... but the possibility to change these values is still available.\n"
"\n"
" Obviously if no data has been recorded for the current account, the "
"default value is given as usual by the account data so that this module is "
"perfectly compatible with older configurations.\n"
"\n"
" "
msgstr ""
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,journal_id:0
msgid "Analytic Journal"
msgstr "Analyyttinen päiväkirja"
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_account_invoice
msgid "Invoice"
msgstr "Lasku"
#. module: analytic_journal_billing_rate
#: view:analytic_journal_rate_grid:0
msgid "Billing Rate per Journal for this Analytic Account"
msgstr "Veloitushinta päiväkirjoittain tälle analyyttiselle tilille"
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,account_id:0
#: model:ir.model,name:analytic_journal_billing_rate.model_account_analytic_account
msgid "Analytic Account"
msgstr "Analyyttinen tili"
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_analytic_journal_rate_grid
msgid "Relation table between journals and billing rates"
msgstr "Suhdetaulu päiväkirjojen ja veloituhintojen välillä"
#. module: analytic_journal_billing_rate
#: field:account.analytic.account,journal_rate_ids:0
msgid "Invoicing Rate per Journal"
msgstr "Veloitushinta päiväkirjoittain"
#. module: analytic_journal_billing_rate
#: model:ir.module.module,shortdesc:analytic_journal_billing_rate.module_meta_information
msgid ""
"Analytic Journal Billing Rate, Define the default invoicing rate for a "
"specific journal"
msgstr ""
"Analyyttisen päiväkirjan veloitushinta, määrittele oletushinta tietylle "
"päiväkirjalle"
#. module: analytic_journal_billing_rate
#: constraint:account.analytic.account:0
msgid ""
"Error! The currency has to be the same as the currency of the selected "
"company"
msgstr "Virhe! Valuutan tulee olla sama kun valitun yrityksen valutta."
#. module: analytic_journal_billing_rate
#: field:analytic_journal_rate_grid,rate_id:0
msgid "Invoicing Rate"
msgstr "Laskutushinta"
#. module: analytic_journal_billing_rate
#: constraint:account.analytic.account:0
msgid "Error! You can not create recursive analytic accounts."
msgstr "Virhe! Et voi luoda sisäkkäisiä analyyttisiä tilejä."
#. module: analytic_journal_billing_rate
#: model:ir.model,name:analytic_journal_billing_rate.model_hr_analytic_timesheet
msgid "Timesheet Line"
msgstr "Tuntilistan rivi"
@@ -37,3 +37,18 @@ anonymization_field_account_invoice_tax_base,account.invoice.tax,base
anonymization_field_product_name,product.template,name
anonymization_field_res_users_name,res.users,name
anonymization_field_res_users_signature,res.users,signature
anonymization_field_res_partner_contact_name,res.partner.contact,name
anonymization_field_res_partner_contact_first_name,res.partner.contact,first_name
anonymization_field_res_partner_contact_maiden_name,res.partner.contact,maiden_name
anonymization_field_res_partner_contact_mobile,res.partner.contact,mobile
anonymization_field_res_partner_contact_email,res.partner.contact,email
anonymization_field_res_partner_job_email,res.partner.job,email
anonymization_field_res_partner_job_phone,res.partner.job,phone
anonymization_field_res_partner_job_fax,res.partner.job,fax
anonymization_field_res_partner_job_other,res.partner.job,other
anonymization_field_crm_phonecall_partner_phone,crm.phonecall,partner_phone
anonymization_field_training_participation_stakeholder_request_email,training.participation.stakeholder.request,email
anonymization_field_training_participation_contact_firstname,training.participation,contact_firstname
anonymization_field_training_participation_contact_lastname,training.participation,contact_lastname
anonymization_field_training_subscription_partner_rh_email,training.subscription,partner_rh_email
anonymization_field_training_subscription_line_job_email,training.subscription.line,job_email
1 id model_name field_name
37 anonymization_field_product_name product.template name
38 anonymization_field_res_users_name res.users name
39 anonymization_field_res_users_signature res.users signature
40 anonymization_field_res_partner_contact_name res.partner.contact name
41 anonymization_field_res_partner_contact_first_name res.partner.contact first_name
42 anonymization_field_res_partner_contact_maiden_name res.partner.contact maiden_name
43 anonymization_field_res_partner_contact_mobile res.partner.contact mobile
44 anonymization_field_res_partner_contact_email res.partner.contact email
45 anonymization_field_res_partner_job_email res.partner.job email
46 anonymization_field_res_partner_job_phone res.partner.job phone
47 anonymization_field_res_partner_job_fax res.partner.job fax
48 anonymization_field_res_partner_job_other res.partner.job other
49 anonymization_field_crm_phonecall_partner_phone crm.phonecall partner_phone
50 anonymization_field_training_participation_stakeholder_request_email training.participation.stakeholder.request email
51 anonymization_field_training_participation_contact_firstname training.participation contact_firstname
52 anonymization_field_training_participation_contact_lastname training.participation contact_lastname
53 anonymization_field_training_subscription_partner_rh_email training.subscription partner_rh_email
54 anonymization_field_training_subscription_line_job_email training.subscription.line job_email
+15 -1
View File
@@ -18,7 +18,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from lxml import etree
from osv import fields, osv
class profile_association_config_install_modules_wizard(osv.osv_memory):
@@ -35,5 +35,19 @@ class profile_association_config_install_modules_wizard(osv.osv_memory):
"to keep track of business knowledge and share it with "
"and between your employees."),
}
# Will be removed when rd-v61-al-config-depends will be done
def fields_view_get(self, cr, user, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
res = super(profile_association_config_install_modules_wizard, self).fields_view_get(cr, user, view_id, view_type, context, toolbar=toolbar, submenu=submenu)
doc = etree.XML(res['arch'])
for module in ['project_gtd','hr_expense']:
count = 0
for node in doc.xpath("//field[@name='%s']" % (module)):
count = count + 1
if count > 1:
node.set('invisible', '1')
res['arch'] = etree.tostring(doc)
return res
profile_association_config_install_modules_wizard()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
@@ -1,11 +1,6 @@
<?xml version="1.0"?>
<openerp>
<data>
<record model="board.note.type" id="note_auction_type1">
<field name="name">Auction manager</field>
</record>
<record model="ir.ui.view" id="board_auction_manager_form1">
<field name="name">board.auction.manager.form</field>
<field name="model">board.board</field>
-4
View File
@@ -1,10 +1,6 @@
<?xml version="1.0"?>
<openerp>
<data>
<record model="board.note.type" id="note_auction_type1">
<field name="name">Auction DashBoard</field>
</record>
<record model="ir.actions.act_window" id="action_report_latest_objects_tree">
<field name="name">Latest objects</field>
<field name="res_model">auction.lots</field>
+194 -276
View File
File diff suppressed because it is too large Load Diff
+5 -4
View File
@@ -2,12 +2,13 @@
<openerp>
<data noupdate="0">
<record id="group_auction_manager" model="res.groups">
<field name="name">Auction / Manager</field>
</record>
<record id="group_auction_user" model="res.groups">
<field name="name">Auction / User</field>
</record>
<record id="group_auction_manager" model="res.groups">
<field name="name">Auction / Manager</field>
<field name="implied_ids" eval="[(4, ref('group_auction_user'))]"/>
</record>
</data>
</openerp>
</openerp>
+7 -8
View File
@@ -278,9 +278,9 @@ the rule to mark CC(mail to any other person defined in actions)."),
'object_description': hasattr(obj, 'description') and obj.description or False,
'object_user': hasattr(obj, 'user_id') and (obj.user_id and obj.user_id.name) or '/',
'object_user_email': hasattr(obj, 'user_id') and (obj.user_id and \
obj.user_id.address_id and obj.user_id.address_id.email) or '/',
'object_user_phone': hasattr(obj, 'user_id') and (obj.user_id and\
obj.user_id.address_id and obj.user_id.address_id.phone) or '/',
obj.user_id.user_email) or '/',
'object_user_phone': hasattr(obj, 'partner_address_id') and (obj.partner_address_id and \
obj.partner_address_id.phone) or '/',
'partner': hasattr(obj, 'partner_id') and (obj.partner_id and obj.partner_id.name) or '/',
'partner_email': hasattr(obj, 'partner_address_id') and (obj.partner_address_id and\
obj.partner_address_id.email) or '/',
@@ -304,9 +304,8 @@ the rule to mark CC(mail to any other person defined in actions)."),
body = self.format_mail(obj, body)
if not emailfrom:
if hasattr(obj, 'user_id') and obj.user_id and obj.user_id.address_id and\
obj.user_id.address_id.email:
emailfrom = obj.user_id.address_id.email
if hasattr(obj, 'user_id') and obj.user_id and obj.user_id.user_email:
emailfrom = obj.user_id.user_email
name = '[%d] %s' % (obj.id, tools.ustr(obj.name))
emailfrom = tools.ustr(emailfrom)
@@ -404,8 +403,8 @@ the rule to mark CC(mail to any other person defined in actions)."),
emails = []
if hasattr(obj, 'user_id') and action.act_mail_to_user:
if obj.user_id and obj.user_id.address_id:
emails.append(obj.user_id.address_id.email)
if obj.user_id:
emails.append(obj.user_id.user_email)
if action.act_mail_to_watchers:
emails += (action.act_email_cc or '').split(',')
@@ -3,7 +3,10 @@
<data>
<menuitem id="base.menu_base_action_rule" name="Automated Actions"
groups="base.group_extended"
parent="base.menu_custom" sequence="20" />
parent="base.menu_base_config" sequence="20" />
<menuitem id="base.menu_base_action_rule_admin" name="Automated Actions"
groups="base.group_extended"
parent="base.menu_custom" />
<!--
Action Rule Form View
@@ -118,7 +121,7 @@
</record>
<menuitem id="menu_base_action_rule_form"
parent="base.menu_base_action_rule" action="base_action_rule_act" sequence="1"/>
parent="base.menu_base_action_rule_admin" action="base_action_rule_act" sequence="1"/>
</data>
+4 -4
View File
@@ -245,7 +245,7 @@ class calendar_attendee(osv.osv):
continue
else:
result[id][name] = self._get_address(attdata.sent_by_uid.name, \
attdata.sent_by_uid.address_id.email)
attdata.sent_by_uid.user_email)
if name == 'cn':
if attdata.user_id:
@@ -535,7 +535,7 @@ property or property parameter."),
return {'value': {'email': ''}}
usr_obj = self.pool.get('res.users')
user = usr_obj.browse(cr, uid, user_id, *args)
return {'value': {'email': user.address_id.email, 'availability':user.availability}}
return {'value': {'email': user.user_email, 'availability':user.availability}}
def do_tentative(self, cr, uid, ids, context=None, *args):
""" Makes event invitation as Tentative
@@ -889,9 +889,9 @@ From:
""" % (alarm.name, alarm.trigger_date, alarm.description, \
alarm.user_id.name, alarm.user_id.signature)
mail_to = [alarm.user_id.address_id.email]
mail_to = [alarm.user_id.user_email]
for att in alarm.attendee_ids:
mail_to.append(att.user_id.address_id.email)
mail_to.append(att.user_id.user_email)
if mail_to:
tools.email_send(
tools.config.get('email_from', False),
@@ -98,12 +98,12 @@ send an Email to Invited Person')
user = user_obj.browse(cr, uid, user_id)
res = {
'user_id': user_id,
'email': user.address_id.email
'email': user.user_email
}
res.update(ref)
vals.append(res)
if user.address_id.email:
mail_to.append(user.address_id.email)
if user.user_email:
mail_to.append(user.user_email)
elif type == 'external' and datas.get('email'):
res = {'email': datas['email']}
+25 -41
View File
@@ -70,19 +70,27 @@ def _format_iban(string):
res += char.upper()
return res
def _pretty_iban(string):
"return string in groups of four characters separated by a single space"
res = []
while string:
res.append(string[:4])
string = string[4:]
return ' '.join(res)
class res_partner_bank(osv.osv):
_inherit = "res.partner.bank"
def create(self, cr, uid, vals, context=None):
#overwrite to format the iban number correctly
if 'iban' in vals and vals['iban']:
vals['iban'] = _format_iban(vals['iban'])
if (vals.get('state',False)=='iban') and vals.get('acc_number', False):
vals['acc_number'] = _format_iban(vals['acc_number'])
return super(res_partner_bank, self).create(cr, uid, vals, context)
def write(self, cr, uid, ids, vals, context=None):
#overwrite to format the iban number correctly
if 'iban' in vals and vals['iban']:
vals['iban'] = _format_iban(vals['iban'])
if (vals.get('state',False)=='iban') and vals.get('acc_number', False):
vals['acc_number'] = _format_iban(vals['acc_number'])
return super(res_partner_bank, self).write(cr, uid, ids, vals, context)
def check_iban(self, cr, uid, ids, context=None):
@@ -90,9 +98,9 @@ class res_partner_bank(osv.osv):
Check the IBAN number
'''
for bank_acc in self.browse(cr, uid, ids, context=context):
if not bank_acc.iban:
if bank_acc.state<>'iban':
continue
iban = _format_iban(bank_acc.iban).lower()
iban = _format_iban(bank_acc.acc_number).lower()
if iban[:2] in _iban_len and len(iban) != _iban_len[iban[:2]]:
return False
#the four first digits have to be shifted to the end
@@ -114,37 +122,11 @@ class res_partner_bank(osv.osv):
def default_iban_check(iban_cn):
return iban_cn[0] in string.ascii_lowercase and iban_cn[1] in string.ascii_lowercase
iban_country = self.browse(cr, uid, ids)[0].iban[:2]
iban_country = self.browse(cr, uid, ids)[0].acc_number[:2].lower()
if default_iban_check(iban_country):
iban_example = iban_country in _ref_iban and _ref_iban[iban_country] + ' \nWhere A = Account number, B = National bank code, S = Branch code, C = account No, N = branch No, K = National check digits....' or ''
return _('The IBAN does not seem to be correct. You should have entered something like this %s'), (iban_example)
return _('The IBAN is invalid, It should begin with the country code'), ()
def name_get(self, cr, uid, ids, context=None):
res = []
to_check_ids = []
for id in self.browse(cr, uid, ids, context=context):
if id.state=='iban':
res.append((id.id,id.iban))
else:
to_check_ids.append(id.id)
res += super(res_partner_bank, self).name_get(cr, uid, to_check_ids, context=context)
return res
def search(self, cr, uid, args, offset=0, limit=None, order=None, context=None, count=False):
#overwrite the search method in order to search not only on bank type == basic account number but also on type == iban
res = super(res_partner_bank,self).search(cr, uid, args, offset, limit, order, context=context, count=count)
if filter(lambda x:x[0]=='acc_number' ,args):
#get the value of the search
iban_value = filter(lambda x:x[0]=='acc_number' ,args)[0][2]
#get the other arguments of the search
args1 = filter(lambda x:x[0]!='acc_number' ,args)
#add the new criterion
args1 += [('iban','ilike',iban_value)]
#append the results to the older search
res += super(res_partner_bank,self).search(cr, uid, args1, offset, limit,
order, context=context, count=count)
return res
return _('The IBAN is invalid, it should begin with the country code'), ()
def get_bban_from_iban(self, cr, uid, ids, context=None):
'''
@@ -159,22 +141,24 @@ class res_partner_bank(osv.osv):
'gb': lambda x: x[14:],
}
for record in self.browse(cr, uid, ids, context=context):
if not record.iban:
if not record.acc_number:
res[record.id] = False
continue
res[record.id] = False
for code, function in mapping_list.items():
if record.iban.lower().startswith(code):
res[record.id] = function(record.iban)
if record.acc_number.lower().startswith(code):
res[record.id] = function(record.acc_number)
break
return res
_columns = {
'iban': fields.char('IBAN', size=34, readonly=True, help="International Bank Account Number"),
# Deprecated: we keep it for backward compatibility, to be removed in v7
# We use acc_number instead of IBAN since v6.1, but we keep this field
# to not break community modules.
'iban': fields.related('acc_number', string='IBAN', size=34, readonly=True, help="International Bank Account Number", type="char"),
}
_constraints = [(check_iban, _construct_constraint_msg, ["iban"])]
_constraints = [(check_iban, _construct_constraint_msg, ["acc_number"])]
res_partner_bank()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
+2 -13
View File
@@ -8,15 +8,10 @@
<record id="bank_iban" model="res.partner.bank.type">
<field name="name">IBAN Account</field>
<field name="code">iban</field>
</record>
<record id="bank_iban_field" model="res.partner.bank.type.field">
<field name="name">iban</field>
<field name="bank_type_id" ref="bank_iban"/>
<field eval="True" name="required"/>
<field eval="False" name="readonly"/>
<field name="format_layout">%(bank_name)s: IBAN %(acc_number)s - BIC %(bank_bic)s</field>
</record>
<record id="bank_swift_field" model="res.partner.bank.type.field">
<field name="name">bic</field>
<field name="name">bank_bic</field>
<field name="bank_type_id" ref="bank_iban"/>
<field eval="True" name="required"/>
<field eval="False" name="readonly"/>
@@ -33,11 +28,5 @@
<field eval="False" name="required"/>
<field eval="False" name="readonly"/>
</record>
<record id="bank_acc_number_field" model="res.partner.bank.type.field">
<field name="name">acc_number</field>
<field name="bank_type_id" ref="bank_iban"/>
<field eval="False" name="required"/>
<field eval="True" name="readonly"/>
</record>
</data>
</openerp>
-52
View File
@@ -2,57 +2,5 @@
<openerp>
<data>
<record id="view_partner_bank_iban_form" model="ir.ui.view">
<field name="name">res.partner.bank.form.iban.inherit</field>
<field name="model">res.partner.bank</field>
<field name="inherit_id" ref="base.view_partner_bank_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
<field name="acc_number" position="after">
<newline/>
<field name="iban"/>
<newline/>
</field>
</field>
</record>
<record id="view_partner_abnk_iban_tree" model="ir.ui.view">
<field name="name">res.partner.bank.tree.iban.inherit</field>
<field name="model">res.partner.bank</field>
<field name="inherit_id" ref="base.view_partner_bank_tree"/>
<field name="type">tree</field>
<field name="arch" type="xml">
<field name="acc_number" position="after">
<field name="iban"/>
</field>
</field>
</record>
<!-- view for res.partner -->
<record id="view_partner_iban_form" model="ir.ui.view">
<field name="name">res.partner.form.iban.inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
<field name="acc_number" position="after">
<newline/>
<field name="iban"/>
<newline/>
</field>
</field>
</record>
<record id="view_partner_iban_list" model="ir.ui.view">
<field name="name">res.partner.form.iban.inherit.list</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="type">form</field>
<field name="arch" type="xml">
<xpath expr="/form/notebook/page/field[@name='bank_ids']/tree/field[@name='acc_number']" position="after">
<field name="iban"/>
</xpath>
</field>
</record>
</data>
</openerp>
+3 -3
View File
@@ -143,13 +143,13 @@
<!-- Import or create customers configartion view -->
<record id="action_import_create_installer" model="ir.actions.act_window">
<field name="name">Import or create customers </field>
<field name="name">Import or Create Customers</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">res.partner</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="view_id" ref="base.view_partner_tree"/>
<field name="help">Create some customers, suppliers and their contacts manually or import a CSV spreadsheet by clicking on the import link</field>
<field name="help">Create some Customers, Suppliers and their contacts manually from this form or you can import your existing partners by CSV spreadsheet from "Import Data" wizard</field>
</record>
<!-- register configuration wizard -->
@@ -269,7 +269,7 @@
</record>
<record id="action_partner_terminology_config_form" model="ir.actions.act_window">
<field name="name">Specify Your Terminology</field>
<field name="name">Customer / Partner / Patient ?</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">specify.partner.terminology</field>
<field name="view_type">form</field>
+1 -1
View File
@@ -262,7 +262,7 @@ class specify_partner_terminology(osv.osv_memory):
('Guest','Guest'),
('Tenant','Tenant')
],
'Choose how to call a customer', required=True ),
'Choose how to call a Customer', required=True ),
}
_defaults={
'partner' :'Partner',
+5 -5
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: 2009-11-17 08:50+0000\n"
"Last-Translator: Kuvaly [LCT] <kuvaly@seznam.cz>\n"
"PO-Revision-Date: 2011-08-07 19:04+0000\n"
"Last-Translator: Jan B. Krejčí <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-04-29 05:02+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-08 04:36+0000\n"
"X-Generator: Launchpad (build 13613)\n"
#. module: base_vat
#: code:addons/base_vat/base_vat.py:87
@@ -69,7 +69,7 @@ msgstr ""
#. module: base_vat
#: field:res.partner,vat_subjected:0
msgid "VAT Legal Statement"
msgstr ""
msgstr "Přiznání k DPH"
#~ msgid "Invalid XML for View Architecture!"
#~ msgstr "Invalidní XML pro zobrazení architektury!"
-45
View File
@@ -195,51 +195,6 @@ class board_line(osv.osv):
board_line()
class board_note_type(osv.osv):
"""
Board note Type
"""
_name = 'board.note.type'
_description = "Note Type"
_columns = {
'name': fields.char('Note Type', size=64, required=True),
}
board_note_type()
def _type_get(self, cr, uid, context=None):
"""
Get by default Note type.
"""
obj = self.pool.get('board.note.type')
ids = obj.search(cr, uid, [])
res = obj.read(cr, uid, ids, ['name'], context=context)
res = [(r['name'], r['name']) for r in res]
return res
class board_note(osv.osv):
"""
Board Note
"""
_name = 'board.note'
_description = "Note"
_columns = {
'name': fields.char('Subject', size=128, required=True),
'note': fields.text('Note'),
'user_id': fields.many2one('res.users', 'Author', size=64),
'date': fields.date('Date', size=64, required=True),
'type': fields.selection(_type_get, 'Note type', size=64),
}
_defaults = {
'user_id': lambda object, cr, uid, context: uid,
'date': lambda object, cr, uid, context: time.strftime('%Y-%m-%d'),
}
board_note()
class res_log_report(osv.osv):
""" Log Report """
_name = "res.log.report"
@@ -52,10 +52,6 @@
help="Log created in last month"/>
</group>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="creation_date"/>
</group>
<newline/>
<group expand="1" string="Group By...">
<filter string="Model" icon="terp-go-home" context="{'group_by':'res_model'}" />
<separator orientation="vertical"/>
+9 -72
View File
@@ -34,67 +34,6 @@
<field name="view_mode">form</field>
<field name="view_id" ref="view_board_homepage"/>
</record>
<!--Board Note Search View -->
<record id="view_board_note_search" model="ir.ui.view">
<field name="name">board.note.search</field>
<field name="model">board.note</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Notes">
<group col="10" colspan="4">
<field name="name" string="Subject"/>
<field name="type" string="Note Type"/>
<field name="date" string="Date"/>
</group>
<newline/>
<group expand="0" colspan="4" string="Group By...">
<filter string="Author" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
</group>
</search>
</field>
</record>
<!--Board Note Tree View -->
<record id="view_board_note_tree" model="ir.ui.view">
<field name="name">board.note.tree</field>
<field name="model">board.note</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Notes">
<field name="name"/>
<field name="user_id"/>
</tree>
</field>
</record>
<!--Board Note Form View -->
<record id="view_board_note_form" model="ir.ui.view">
<field name="name">board.note.form</field>
<field name="model">board.note</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Note">
<field name="name" select="1"/>
<field name="type" select="1" required="1"/>
<field name="user_id" select="1"/>
<field name="date" select="1"/>
<separator string="Notes" colspan="4"/>
<field colspan="4" name="note" nolabel="1"/>
</form>
</field>
</record>
<!-- Action for Publish note Form -->
<record id="action_view_board_note_form" model="ir.actions.act_window">
<field name="name">Publish a note</field>
<field name="res_model">board.note</field>
<field name="view_type">form</field>
<field name="view_mode">form,tree</field>
<field name="search_view_id" ref="view_board_note_search"/>
</record>
<!-- Board Tree View -->
@@ -118,11 +57,14 @@
<field eval="1" name="priority"/>
<field name="arch" type="xml">
<form string="Dashboard">
<field name="name"/>
<button colspan="2"
name="%(action_board_menu_create)d"
string="Create Menu" type="action"
icon="gtk-justify-fill" />
<group col="6" colspan="4">
<field name="name"/>
<field name="view_id"/>
<button colspan="2"
name="%(action_board_menu_create)d"
string="Create Menu" type="action"
icon="gtk-justify-fill" />
</group>
<field colspan="4" name="line_ids" nolabel="1">
<tree string="Dashboard View">
<field name="name"/>
@@ -168,12 +110,7 @@
<menuitem
action="action_view_board_list_form"
id="menu_view_board_form" parent="base.reporting_menu" sequence="1"/>
<menuitem action="action_view_board_note_form"
id="menu_view_board_note_form"
parent="base.reporting_menu"
sequence="3" groups="base.group_system" />
id="menu_view_board_form" parent="base.reporting_menu" groups="base.group_no_one" sequence="1"/>
<act_window context="{'view': active_id}" id="dashboard_open"
multi="True" name="Open Dashboard" res_model="board.board"
@@ -1,8 +1,6 @@
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
"access_board_board","board.board","model_board_board","base.group_user",1,1,1,1
"access_board_board_line","board.board.line","model_board_board_line","base.group_user",1,1,1,1
"access_board_note_type","board.note.type","model_board_note_type","base.group_user",1,1,1,1
"access_board_note","board.note","model_board_note","base.group_user",1,1,1,1
"access_board_board_sale_salesman","board.board.sale.salesman","model_board_board","base.group_sale_salesman",1,1,1,1
"access_res_log_report","res.log.report","model_res_log_report","base.group_user",1,1,1,1
"access_res_log_report_system","res.log.report system","model_res_log_report",base.group_system,1,0,0,0
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_board_board board.board model_board_board base.group_user 1 1 1 1
3 access_board_board_line board.board.line model_board_board_line base.group_user 1 1 1 1
access_board_note_type board.note.type model_board_note_type base.group_user 1 1 1 1
access_board_note board.note model_board_note base.group_user 1 1 1 1
4 access_board_board_sale_salesman board.board.sale.salesman model_board_board base.group_sale_salesman 1 1 1 1
5 access_res_log_report res.log.report model_res_log_report base.group_user 1 1 1 1
6 access_res_log_report_system res.log.report system model_res_log_report base.group_system 1 0 0 0
+1 -5
View File
@@ -1,10 +1,6 @@
<?xml version="1.0"?>
<openerp>
<data>
<record model="board.note.type" id="note_crm_type">
<field name="name">CRM Configuration</field>
</record>
<record model="ir.ui.view" id="view_crm_opportunity_user_graph1">
<field name="name">crm.opportunity.user.graph1</field>
<field name="model">crm.lead.report</field>
@@ -37,7 +33,7 @@
<field name="arch" type="xml">
<tree string="Opportunities" colors="blue:state=='pending';grey:state in ('cancel', 'done');red:date_deadline and (date_deadline &lt; current_date)">
<field name="name" string="Opportunity"/>
<field name="partner_id"/>
<field name="partner_id" string="Customer"/>
<field name="stage_id"/>
<button name="stage_previous" string="Previous Stage"
states="open,pending" type="object" icon="gtk-go-back" />
+4 -8
View File
@@ -57,7 +57,6 @@ class crm_base(object):
"""
def _get_default_partner_address(self, cr, uid, context=None):
"""Gives id of default address for current user
:param context: if portal in context is false return false anyway
"""
@@ -65,7 +64,8 @@ class crm_base(object):
context = {}
if not context.get('portal'):
return False
return self.pool.get('res.users').browse(cr, uid, uid, context).address_id.id
# was user.address_id.id, but address_id has been removed
return False
def _get_default_partner(self, cr, uid, context=None):
"""Gives id of partner for current user
@@ -76,9 +76,7 @@ class crm_base(object):
if not context.get('portal', False):
return False
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
if not user.address_id:
return False
return user.address_id.partner_id.id
return user.company_id.partner_id.id
def _get_default_email(self, cr, uid, context=None):
"""Gives default email address for current user
@@ -87,9 +85,7 @@ class crm_base(object):
if not context.get('portal', False):
return False
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
if not user.address_id:
return False
return user.address_id.email
return user.user_email
def _get_default_user(self, cr, uid, context=None):
"""Gives current user id
+2 -2
View File
@@ -48,8 +48,8 @@ this if you want the rule to send an email to the partner."),
def email_send(self, cr, uid, obj, emails, body, emailfrom=tools.config.get('email_from', False), context=None):
body = self.format_mail(obj, body)
if not emailfrom:
if hasattr(obj, 'user_id') and obj.user_id and obj.user_id.address_id and obj.user_id.address_id.email:
emailfrom = obj.user_id.address_id.email
if hasattr(obj, 'user_id') and obj.user_id and obj.user_id.user_email:
emailfrom = obj.user_id.user_email
name = '[%d] %s' % (obj.id, tools.ustr(obj.name))
emailfrom = tools.ustr(emailfrom)
+5 -5
View File
@@ -30,11 +30,11 @@ class crm_installer(osv.osv_memory):
'crm_helpdesk': fields.boolean('Helpdesk', help="Manages a Helpdesk service."),
'crm_fundraising': fields.boolean('Fundraising', help="This may help associations in their fundraising process and tracking."),
'crm_claim': fields.boolean('Claims', help="Manages the suppliers and customers claims, including your corrective or preventive actions."),
'crm_caldav': fields.boolean('Synchronization: Calendar Synchronizing', help="Helps you to synchronize the meetings with other calendar clients and mobiles."),
'sale_crm': fields.boolean('Opportunity to Quotation', help="This module relates sale from opportunity cases in the CRM."),
'fetchmail': fields.boolean('Synchronization: Fetch Emails', help="Allows you to receive E-Mails from POP/IMAP server."),
'thunderbird': fields.boolean('Plug-In: Thunderbird', help="Allows you to link your e-mail to OpenERP's documents. You can attach it to any existing one in OpenERP or create a new one."),
'outlook': fields.boolean('Plug-In: MS-Outlook', help="Allows you to link your e-mail to OpenERP's documents. You can attach it to any existing one in OpenERP or create a new one."),
'crm_caldav': fields.boolean('Calendar Synchronizing', help="Helps you to synchronize the meetings with other calendar clients and mobiles."),
'sale_crm': fields.boolean('Opportunity to Quotation', help="Create a Quotation from an Opportunity."),
'fetchmail': fields.boolean('Fetch Emails', help="Allows you to receive E-Mails from POP/IMAP server."),
'thunderbird': fields.boolean('Thunderbird Plug-In', help="Allows you to link your e-mail to OpenERP's documents. You can attach it to any existing one in OpenERP or create a new one."),
'outlook': fields.boolean('MS-Outlook Plug-In', help="Allows you to link your e-mail to OpenERP's documents. You can attach it to any existing one in OpenERP or create a new one."),
'wiki_sale_faq': fields.boolean('Sale FAQ', help="Helps you manage wiki pages for Frequently Asked Questions on Sales Application."),
'import_google': fields.boolean('Google Import', help="Imports contacts and events from your google account."),
}
+6 -17
View File
@@ -309,8 +309,8 @@
<search string="Search Leads">
<filter icon="terp-check"
string="Current"
name="current" help="Draft and Open Leads"
domain="[('state','in',('draft','open'))]"/>
name="current" help="Draft, Open and Pending Leads"
domain="[('state','in',('draft','open','pending'))]"/>
<filter icon="terp-camera_test"
string="Open"
domain="[('state','=','open')]"/>
@@ -346,21 +346,10 @@
domain="[]"
help="Show Sales Team"/>
</field>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="stage_id" widget="selection" domain="[('type', '=', 'lead')]"/>
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
<separator orientation="vertical"/>
<field name="country_id" context="{'invisible_country': False}">
<filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
</field>
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<newline/>
<field name="create_date" string="Creation Date"/>
<field name="date_closed"/>
</group>
<separator orientation="vertical"/>
<field name="country_id" context="{'invisible_country': False}">
<filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
</field>
<newline/>
<group expand="0" string="Group By...">
<filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
-5
View File
@@ -312,11 +312,6 @@
</field>
<field name="user_id" select="1"/>
</group>
<newline/>
<group expand="0" string="Extended Filters...">
<field name="class" select="1" string="Privacy"/>
<field name="show_as" string="Show time as" select="1"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Responsible" icon="terp-personal" domain="[]"
+2 -19
View File
@@ -281,9 +281,9 @@
<field name="arch" type="xml">
<search string="Search Opportunities">
<filter icon="terp-check"
string="Current" help="Draft and Open Opportunities"
string="Current" help="Draft, Open and Pending Opportunities"
name="current"
domain="[('state','in',('draft','open'))]"/>
domain="[('state','in',('draft','open','pending'))]"/>
<filter icon="terp-camera_test"
string="Open" help="Open Opportunities"
domain="[('state','=','open')]"/>
@@ -311,23 +311,6 @@
help="Show Sales Team"/>
</field>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="stage_id" widget="selection" domain="[('type', '=', 'opportunity')]"/>
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
<separator orientation="vertical"/>
<field name="country_id" context="{'invisible_country': False}">
<filter icon="terp-personal+" context="{'invisible_country': False}" help="Show countries"/>
</field>
<separator orientation="vertical"/>
<field name="email_from"/>
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<newline/>
<field name="create_date" string="Creation Date"/>
<field name="date_closed"/>
<field name="subjects"/>
</group>
<newline/>
<group expand="0" string="Group By..." colspan="16">
<filter string="Salesman" icon="terp-personal"
+1
View File
@@ -33,6 +33,7 @@
<field name="user_id"/>
<field name="categ_id"/>
<field name="create_date" invisible="1"/>
<field name="opportunity_id" invisible="1"/>
<button string="Convert to Opportunity"
name="%(phonecall2opportunity_act)d"
states="open,pending"
+4 -4
View File
@@ -350,12 +350,12 @@
<field name="inherit_id" ref="base.view_users_form_simple_modif" />
<field name="type">form</field>
<field name="arch" type="xml">
<page string="Current Activity" position="inside">
<group name="default_filters" position="inside">
<field name="context_section_id" completion="1"
widget="selection"
context="{'user_prefence':True}"
readonly="0"/>
</page>
</group>
</field>
</record>
@@ -366,9 +366,9 @@
<field name="inherit_id" ref="base.view_users_form"/>
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<xpath expr="/form/notebook" position="before">
<group name="default_filters" position="inside">
<field name="context_section_id" completion="1" widget="selection"/>
</xpath>
</group>
</field>
</record>
+11 -21
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:15+0000\n"
"PO-Revision-Date: 2011-07-31 09:43+0000\n"
"PO-Revision-Date: 2011-08-06 11:01+0000\n"
"Last-Translator: mgaja (GrupoIsep.com) <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-08-01 04:39+0000\n"
"X-Generator: Launchpad (build 13405)\n"
"X-Launchpad-Export-Date: 2011-08-07 04:37+0000\n"
"X-Generator: Launchpad (build 13613)\n"
#. module: crm
#: view:crm.lead.report:0
@@ -92,7 +92,7 @@ msgstr " "
#: view:crm.lead.report:0
#: field:crm.phonecall.report,delay_close:0
msgid "Delay to close"
msgstr "Retard a tancar"
msgstr "Demora per tancar"
#. module: crm
#: view:crm.lead:0
@@ -612,7 +612,7 @@ msgstr "FAQ de vendes"
#. module: crm
#: model:ir.model,name:crm.model_crm_send_mail_attachment
msgid "crm.send.mail.attachment"
msgstr ""
msgstr "crm.envia.mail.adjunt"
#. module: crm
#: selection:crm.lead.report,month:0
@@ -906,7 +906,7 @@ msgstr "Tipus d'esdeveniment"
#. module: crm
#: model:ir.model,name:crm.model_crm_installer
msgid "crm.installer"
msgstr ""
msgstr "crm.instal·lador"
#. module: crm
#: field:crm.segmentation,exclusif:0
@@ -1194,7 +1194,7 @@ msgstr "Responsable"
#. module: crm
#: view:res.partner:0
msgid "Previous"
msgstr "Pèvia"
msgstr "Previ"
#. module: crm
#: view:crm.lead:0
@@ -1453,7 +1453,7 @@ msgstr "Dv"
#. module: crm
#: model:ir.model,name:crm.model_crm_lead
msgid "crm.lead"
msgstr ""
msgstr "crm.iniciativa"
#. module: crm
#: field:crm.meeting,write_date:0
@@ -1636,7 +1636,7 @@ msgstr "Cancel·la"
#. module: crm
#: model:ir.model,name:crm.model_res_users
msgid "res.users"
msgstr ""
msgstr "res.usuaris"
#. module: crm
#: model:ir.model,name:crm.model_crm_merge_opportunity
@@ -2091,7 +2091,7 @@ msgstr "Google Adwords"
#. module: crm
#: model:ir.model,name:crm.model_crm_phonecall
msgid "crm.phonecall"
msgstr ""
msgstr "crm.trucada"
#. module: crm
#: model:crm.case.resource.type,name:crm.type_lead3
@@ -2628,7 +2628,7 @@ msgstr "Repeteix cada"
#. module: crm
#: field:crm.installer,crm_helpdesk:0
msgid "Helpdesk"
msgstr "Asistència/Ajuda"
msgstr "Helpdesk"
#. module: crm
#: field:crm.meeting,recurrency:0
@@ -4460,13 +4460,6 @@ msgstr "Butlletí de notícies"
#~ msgid "Conditions on Priority Range"
#~ msgstr "Condicions sobre interval de prioritats"
#~ msgid ""
#~ "If the partner has not purchased (or buied) during a period, decrease the "
#~ "state of mind by this factor. It's a multiplication"
#~ msgstr ""
#~ "Si l'empresa no ha comprat (o demanat) durant un període, fer decréixer el "
#~ "grau de satisfacció per aquest factor. És una multiplicació."
#~ msgid "All "
#~ msgstr "Tots "
@@ -4518,9 +4511,6 @@ msgstr "Butlletí de notícies"
#~ msgid "Mail to watchers (Cc)"
#~ msgstr "Enviar correu a observadors (CC)"
#~ msgid "crm.case.section.open"
#~ msgstr "crm.cas.seccio.obert"
#~ msgid "Actions"
#~ msgstr "Accions"
+19 -7
View File
@@ -31,6 +31,21 @@ AVAILABLE_STATES = [
('pending','Pending')
]
MONTHS = [
('01', 'January'),
('02', 'February'),
('03', 'March'),
('04', 'April'),
('05', 'May'),
('06', 'June'),
('07', 'July'),
('08', 'August'),
('09', 'September'),
('10', 'October'),
('11', 'November'),
('12', 'December')
]
class crm_lead_report(osv.osv):
""" CRM Lead Report """
_name = "crm.lead.report"
@@ -45,12 +60,8 @@ class crm_lead_report(osv.osv):
'channel_id':fields.many2one('res.partner.canal', 'Channel', readonly=True),
'type_id':fields.many2one('crm.case.resource.type', 'Campaign', readonly=True),
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
'month':fields.selection([('01', 'January'), ('02', 'February'), \
('03', 'March'), ('04', 'April'),\
('05', 'May'), ('06', 'June'), \
('07', 'July'), ('08', 'August'),\
('09', 'September'), ('10', 'October'),\
('11', 'November'), ('12', 'December')], 'Month', readonly=True),
'creation_month':fields.selection(MONTHS, 'Creation Date', readonly=True),
'deadline_month':fields.selection(MONTHS, 'Exp. Closing', readonly=True),
'company_id': fields.many2one('res.company', 'Company', readonly=True),
'create_date': fields.datetime('Create Date', readonly=True, select=True),
'day': fields.char('Day', size=128, readonly=True),
@@ -88,8 +99,9 @@ class crm_lead_report(osv.osv):
SELECT
id,
to_char(c.date_deadline, 'YYYY') as name,
to_char(c.date_deadline, 'MM') as month,
to_char(c.date_deadline, 'MM') as deadline_month,
to_char(c.date_deadline, 'YYYY-MM-DD') as day,
to_char(c.create_date, 'MM') as creation_month,
to_char(c.create_date, 'YYYY-MM-DD') as creation_date,
to_char(c.date_open, 'YYYY-MM-DD') as opening_date,
to_char(c.date_closed, 'YYYY-mm-dd') as date_closed,
+8 -8
View File
@@ -18,7 +18,8 @@
<field name="channel_id" invisible="1"/>
<field name="type" invisible="1"/>
<field name="priority" invisible="1"/>
<field name="month" invisible="1"/>
<field name="creation_month" invisible="1"/>
<field name="deadline_month" invisible="1"/>
<field name="section_id" invisible="1"/>
<field name="user_id" invisible="1"/>
<field name="company_id" invisible="1"/>
@@ -157,12 +158,10 @@
<filter string="State" icon="terp-stock_effects-object-colorize"
domain="[]" context="{'group_by':'state'}" />
<separator orientation="vertical" />
<filter string="Day" icon="terp-go-today"
domain="[]" context="{'group_by':'day'}" help="Day on which lead/opportunity is created"/>
<filter string="Month" icon="terp-go-month"
domain="[]" context="{'group_by':'month'}" help="Month in which lead/opportunity is created"/>
<filter string="Year" icon="terp-go-year"
domain="[]" context="{'group_by':'name'}" help="Year in which lead/opportunity is created"/>
<filter string="Creation Date" icon="terp-go-month"
domain="[]" context="{'group_by':'creation_month'}"/>
<filter string="Exp. Closing" icon="terp-go-month"
domain="[]" context="{'group_by':'deadline_month'}"/>
</group>
</search>
</field>
@@ -177,7 +176,8 @@
<field name="arch" type="xml">
<tree colors="blue:state in ('draft');black:state in ('open','pending','done');gray:state in ('cancel') " string="Opportunities Analysis">
<field name="name" invisible="1"/>
<field name="month" invisible="1"/>
<field name="creation_month" invisible="1"/>
<field name="deadline_month" invisible="1"/>
<field name="section_id" invisible="1" groups="base.group_extended"/>
<field name="user_id" invisible="1"/>
<field name="partner_id" invisible="1"/>
+12 -6
View File
@@ -2,16 +2,22 @@
<openerp>
<data noupdate="0">
<record id="base.group_sale_manager" model="res.groups">
<field name="name">Sales / Manager</field>
</record>
<record id="base.group_sale_salesman" model="res.groups">
<field name="name">Sales / User</field>
<field name="name">Sales / User - Own Leads Only</field>
</record>
<record id="base.group_sale_salesman_all_leads" model="res.groups">
<field name="name">Sales / User - See All Leads</field>
<field name="name">Sales / User - All Leads</field>
<field name="implied_ids" eval="[(4, ref('base.group_sale_salesman'))]"/>
</record>
<record id="base.group_sale_manager" model="res.groups">
<field name="name">Sales / Manager</field>
<field name="implied_ids" eval="[(4, ref('base.group_sale_salesman_all_leads'))]"/>
</record>
<record model="res.users" id="base.user_admin">
<field eval="[(4,ref('base.group_partner_manager'))]" name="groups_id"/>
</record>
<record id="crm_rule_personal_lead" model="ir.rule">
@@ -254,10 +254,6 @@
domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
help="My Sales Team(s)" />
</field>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="write_date" string="Updated Date"/>
</group>
<newline/>
<group expand="0" string="Group By...">
<filter string="Partner" icon="terp-partner"
@@ -35,7 +35,7 @@ def geo_find(addr):
result = re.search(regex, xml, re.M|re.I)
if not result:
return None
return float(result.group(1)),float(result.group(2))
return float(result.group(2)),float(result.group(1))
except Exception, e:
raise osv.except_osv(_('Network error'),
_('Could not contact geolocation servers, please make sure you have a working internet connection (%s)') % e)
-4
View File
@@ -1,10 +1,6 @@
<?xml version="1.0"?>
<openerp>
<data>
<record model="board.note.type" id="note_document_type">
<field name="name">Document</field>
</record>
<record model="ir.ui.view" id="board_document_manager_form">
<field name="name">board.document.manager.form</field>
<field name="model">board.board</field>
File diff suppressed because it is too large Load Diff
-4
View File
@@ -34,10 +34,6 @@
<field name="view_mode">tree,form</field>
</record>
<record model="board.note.type" id="note_association_type">
<field name="name">associations</field>
</record>
<record model="ir.ui.view" id="board_associations_manager_form">
<field name="name">board.associations.manager.form</field>
<field name="model">board.board</field>
+1 -1
View File
@@ -449,7 +449,7 @@
<field name="type">calendar</field>
<field eval="2" name="priority"/>
<field name="arch" type="xml">
<calendar color="event_id" date_start="date" date_delay="date_closed" string="Event Registration">
<calendar color="event_id" date_start="date" date_stop="date_closed" string="Event Registration">
<field name="event_id"/>
<field name="partner_invoice_id"/>
</calendar>
+5 -4
View File
@@ -2,14 +2,15 @@
<openerp>
<data>
<record id="marketing.group_marketing_manager" model="res.groups">
<field name="name">Marketing / Manager</field>
</record>
<record id="marketing.group_marketing_user" model="res.groups">
<field name="name">Marketing / User</field>
</record>
<record id="marketing.group_marketing_manager" model="res.groups">
<field name="name">Marketing / Manager</field>
<field name="implied_ids" eval="[(4, ref('marketing.group_marketing_user'))]"/>
</record>
<record id="base.group_sale_manager" model="res.groups">
<field name="name">Sales / Manager</field>
</record>
+19 -30
View File
@@ -11,6 +11,21 @@
<field name="name">Experience</field>
</record>
<record id="category_sr_exec" model="hr.employee.category">
<field name="name">Senior (5 years)</field>
<field name="parent_id" ref="category_experience"/>
</record>
<record id="category_jr_exec" model="hr.employee.category">
<field name="name">Junior (6 months)</field>
<field name="parent_id" ref="category_experience"/>
</record>
<record id="category_trainee" model="hr.employee.category">
<field name="name">Trainee</field>
<field name="parent_id" ref="category_experience"/>
</record>
<record id="category_ranking" model="hr.employee.category">
<field name="name">Ranking</field>
</record>
@@ -20,42 +35,16 @@
<field name="parent_id" ref="category_ranking"/>
</record>
<record id="category_cto" model="hr.employee.category">
<field name="name">CTO</field>
<field name="parent_id" ref="category_ceo"/>
</record>
<record id="category_managers" model="hr.employee.category">
<field name="name">Managers (Tech. Heads)</field>
<field name="parent_id" ref="category_cto"/>
</record>
<record id="category_project_managers" model="hr.employee.category">
<field name="name">Project Managers</field>
<field name="parent_id" ref="category_managers"/>
<field name="name">Executive Managers</field>
<field name="parent_id" ref="category_ranking"/>
</record>
<record id="category_employee" model="hr.employee.category">
<field name="name">Employees</field>
<field name="parent_id" ref="category_project_managers"/>
<field name="parent_id" ref="category_ranking"/>
</record>
<record id="category_sr_exec" model="hr.employee.category">
<field name="name">Sr. Executives (5 years)</field>
<field name="parent_id" ref="category_experience"/>
</record>
<record id="category_jr_exec" model="hr.employee.category">
<field name="name">Jr. Executives (6 months)</field>
<field name="parent_id" ref="category_experience"/>
</record>
<record id="category_trainee" model="hr.employee.category">
<field name="name">Trainee</field>
<field name="parent_id" ref="category_experience"/>
</record>
<!-- Example employee -->
<record id="employee1" model="hr.employee">
@@ -76,7 +65,7 @@
<field name="name">Antoine Philippe</field>
<field name="calendar_id" ref="resource.timesheet_group1"/>
<field name="user_id" ref="base.user_root"/>
<field name="category_ids" eval="[(6, 0, [ref('category_trainee')])]"/>
<field name="category_ids" eval="[(6, 0, [ref('category_trainee'),ref('category_employee')])]"/>
</record>
<record id="ir_ui_view_sc_employees_demo" model="ir.ui.view_sc">
+4 -4
View File
@@ -71,9 +71,9 @@
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field name="arch" type="xml">
<xpath expr="/form/notebook" position="before">
<group name="default_filters" position="inside">
<field name="context_department_id" completion="1" widget="selection" string="Department"/>
</xpath>
</group>
</field>
</record>
<record model="ir.ui.view" id="view_department_form_simple_modif_inherited1">
@@ -82,9 +82,9 @@
<field name="inherit_id" ref="base.view_users_form_simple_modif" />
<field name="type">form</field>
<field name="arch" type="xml">
<page string="Current Activity" position="inside">
<group name="default_filters" position="inside">
<field name="context_department_id" widget="selection" readonly="0"/>
</page>
</group>
</field>
</record>
</data>
+1 -1
View File
@@ -24,7 +24,7 @@ class hr_installer(osv.osv_memory):
_inherit = 'base.setup.installer'
_columns = {
# Human Resources Management
'hr_holidays': fields.boolean('Holidays / Leaves Management',
'hr_holidays': fields.boolean('Leaves Management',
help="Tracks employee leaves, allocation requests and planning."),
'hr_expense': fields.boolean('Expenses',
help="Tracks and manages employee expenses, and can "
+5 -4
View File
@@ -2,12 +2,13 @@
<openerp>
<data noupdate="1">
<record id="base.group_hr_user" model="res.groups">
<field name="name">Human Resources / HR Officer</field>
</record>
<record id="base.group_hr_manager" model="res.groups">
<field name="name">Human Resources / Manager</field>
<field name="name">Human Resources / HR Manager</field>
<field name="implied_ids" eval="[(4, ref('base.group_hr_user'))]"/>
</record>
<record id="base.group_hr_user" model="res.groups">
<field name="name">Human Resources / Officer</field>
</record>
</data>
</openerp>
+1
View File
@@ -24,6 +24,7 @@ import time
from osv import fields, osv
from tools.translate import _
import decimal_precision as dp
import netsvc
def _employee_get(obj, cr, uid, context=None):
if context is None:
+12
View File
@@ -8,6 +8,18 @@
<field name="parent_id" ref="product.cat0"/>
<field name="name">Expenses</field>
</record>
<record id="product_product_expense_car" model="product.product">
<field name="list_price">0.32</field>
<field name="standard_price">0.32</field>
<field name="uom_id" ref="product.product_uom_km"/>
<field name="uom_po_id" ref="product.product_uom_km"/>
<field name="type">consu</field>
<field name="name">Travel Expenses</field>
<field name="default_code">TRA</field>
<field name="categ_id" ref="hr_expense.cat_expense"/>
<field name="hr_expense_ok" eval="True" />
</record>
</data>
</openerp>
-12
View File
@@ -26,18 +26,6 @@
<field name="hr_expense_ok" eval="True" />
</record>
<record id="product_product_expense_car" model="product.product">
<field name="list_price">0.30</field>
<field name="standard_price">0.30</field>
<field name="uom_id" ref="product.product_uom_km"/>
<field name="uom_po_id" ref="product.product_uom_km"/>
<field name="type">consu</field>
<field name="name">Car Travel</field>
<field name="default_code">CAR</field>
<field name="categ_id" ref="product.cat2"/>
<field name="hr_expense_ok" eval="True" />
</record>
<record id="hr_expense_expense_septemberexpenses0" model="hr.expense.expense">
<field name="currency_id" ref="base.EUR"/>
<field name="employee_id" ref="hr.employee1"/>
@@ -1,13 +1,29 @@
<openerp>
<data>
<record model="ir.actions.act_window" id="product_normal_form_view_installer">
<record id="product_expense_installer_tree_view" model="ir.ui.view">
<field name="name">product.product.tree</field>
<field name="model">product.product</field>
<field name="type">tree</field>
<field eval="7" name="priority"/>
<field name="arch" type="xml">
<tree editable="bottom" string="Products">
<field name="name"/>
<field name="standard_price"/>
<field name="list_price"/>
<field name="uom_id" string="UoM"/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="product_normal_form_view_installer">
<field name="name">Review Your Expenses Products</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">product.product</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context" eval="'{\'default_type\':\'service\',\'default_procure_method\':\'make_to_stock\',\'default_supply_method\':\'buy\',\'default_purchase_ok\':True, \'default_sale_ok\':False, \'default_hr_expense_ok\':True,\'default_categ_id\': ' + str(ref('cat_expense')) +'}'"/>
<field name="view_id" ref="product.product_normal_form_view"/>
<field name="domain">[('hr_expense_ok','=',True)]</field>
<field name="view_id" ref="product_expense_installer_tree_view"/>
</record>
<record id="product_normal_form_view_todo" model="ir.actions.todo">
+6
View File
@@ -23,6 +23,12 @@
<field name="color_name">brown</field>
</record>
<!--Unpaid Leave -->
<record model="hr.holidays.status" id="holiday_status_unpaid">
<field name="name">Unpaid</field>
<field name="limit">True</field>
<field name="color_name">brown</field>
</record>
</data>
</openerp>
+24
View File
@@ -31,10 +31,34 @@
<field name="employee_id" ref="hr.employee1"/>
</record>
<record model="hr.holidays" id="hr_holidays_employee1_vc">
<field name="name">Summer Vacation</field>
<field name="holiday_status_id" ref="holiday_status_unpaid"/>
<field eval="time.strftime('%Y-%m-20')" name="date_from"/>
<field eval="time.strftime('%Y-%m-22')" name="date_to"/>
<field name="type">add</field>
<field name="state">draft</field>
<field name="number_of_days_temp">7</field>
<field name="employee_id" ref="hr.employee1"/>
</record>
<record model="hr.holidays" id="hr_holidays_employee1_int_tour">
<field name="name">International Tour</field>
<field name="holiday_status_id" ref="holiday_status_comp"/>
<field eval="time.strftime('%Y-%m-20')" name="date_from"/>
<field eval="time.strftime('%Y-%m-22')" name="date_to"/>
<field name="type">add</field>
<field name="number_of_days_temp">7</field>
<field name="employee_id" ref="hr.employee1"/>
</record>
<workflow action="confirm" model="hr.holidays" ref="hr_holidays_employee1_allocation_cl"/>
<workflow action="validate" model="hr.holidays" ref="hr_holidays_employee1_allocation_cl"/>
<workflow action="confirm" model="hr.holidays" ref="hr_holidays_employee1_sl"/>
<workflow action="validate" model="hr.holidays" ref="hr_holidays_employee1_sl"/>
<workflow action="confirm" model="hr.holidays" ref="hr_holidays_employee1_int_tour"/>
<workflow action="validate" model="hr.holidays" ref="hr_holidays_employee1_int_tour"/>
</data>
</openerp>
-3
View File
@@ -22,9 +22,6 @@
<filter icon="terp-personal+" help="My Department Leaves" domain="[('department_id.manager_id','=',uid)]"/>
</field>
<field name="holiday_status_id" widget="selection"/>
</group>
<newline/>
<group expand="0" string="Extended Filters...">
<field name="date_from"/>
<field name="date_to"/>
</group>
+60 -54
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:15+0000\n"
"PO-Revision-Date: 2010-10-30 10:24+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2011-08-06 12:11+0000\n"
"Last-Translator: mgaja (GrupoIsep.com) <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-04-29 05:28+0000\n"
"X-Generator: Launchpad (build 12758)\n"
"X-Launchpad-Export-Date: 2011-08-07 04:37+0000\n"
"X-Generator: Launchpad (build 13613)\n"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
@@ -228,7 +228,7 @@ msgstr "Esborrany"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Magenta"
msgstr ""
msgstr "Magenta"
#. module: hr_holidays
#: help:hr.holidays,state:0
@@ -307,6 +307,42 @@ msgid ""
" for example, you maybe will do it for the user 'admin'\n"
" .\n"
msgstr ""
"Recursos humans: Gestió d'absències i flux de treball\n"
"\n"
" Aquest mòdul us permet gestionar les absències i les peticions "
"d'absències dels treballadors.\n"
" Implementa un panell per a gestió de recursos humans que inclou:\n"
" * Les meves absències\n"
" * Les meves despeses\n"
" Tingueu en compte que:\n"
"\n"
" - Es possible la sincronització amb l'agenda interna (del mòdul CRM): "
"Amb la finalitat de crear automàticament un cas quan s'accepta una "
"sol·licitud d'absència, heu de vincular l'estat d'absència a una secció de "
"cas. Podeu configurar aquesta informació i les seves preferències de color "
"a:\n"
" Recursos Humans / Configuració / Absències / Tipus "
"d'absència\n"
" - Un treballador pot sol·licitar més dies lliures mitjançant una nova "
"assignació. Això incrementarà el total de dies disponibles d'aquest tipus "
"d'absència (si s'accepta la petició).\n"
" - Hi ha dos formes de imprimir les absències dels treballadors:\n"
" * La primera us permetrà escollir treballadors per departament i "
"s'usa fent clic en l'opció de menú:\n"
" Recursos Humans / Informe / Absències / Absències per "
"departament\n"
" * La segona us permetrà escollir l'informe d'absències per "
"treballador específics a través de:\n"
" Recursos Humans / Informe / Absències / Anàlisi d'absència\n"
" Seleccioneu aquells treballadors dels que vulgueu l'informe i "
"premeu sobre la icona imprimeix.\n"
" - L'assistent us permet escollir si voleu imprimir les absències "
"confirmades, les validades o ambdues.\n"
"Aquests estats han de ser configurats per un usuari del grup 'Recursos "
"Humans'. Podeu definir aquestes opcions en la pestanya seguretat de les "
"dades de l'usuari:\n"
" Administració / Usuaris / Usuaris\n"
" Per exemple, podeu fer-ho per a l'usuari 'Administrador'.\n"
#. module: hr_holidays
#: field:hr.holidays.status,remaining_leaves:0
@@ -354,7 +390,7 @@ msgstr "Salmó clar"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Wheat"
msgstr ""
msgstr "Groc palla"
#. module: hr_holidays
#: constraint:resource.calendar.leaves:0
@@ -411,23 +447,23 @@ msgstr ""
#. module: hr_holidays
#: field:hr.holidays,linked_request_ids:0
msgid "Linked Requests"
msgstr ""
msgstr "Peticions associades"
#. module: hr_holidays
#: field:hr.holidays,parent_id:0
msgid "Parent"
msgstr ""
msgstr "Parent"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Lavender"
msgstr ""
msgstr "Lavanda"
#. module: hr_holidays
#: model:ir.actions.act_window,name:hr_holidays.open_ask_holidays
#: model:ir.ui.menu,name:hr_holidays.menu_open_ask_holidays_new
msgid "Leave Requests"
msgstr ""
msgstr "Peticions d'absència"
#. module: hr_holidays
#: field:hr.holidays.status,limit:0
@@ -489,18 +525,18 @@ msgstr "Reunió"
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Ivory"
msgstr ""
msgstr "Ivori"
#. module: hr_holidays
#: selection:hr.holidays.summary.dept,holiday_type:0
#: selection:hr.holidays.summary.employee,holiday_type:0
msgid "Both Validated and Confirmed"
msgstr ""
msgstr "Ambdues validades i confirmades"
#. module: hr_holidays
#: field:hr.holidays.status,leaves_taken:0
msgid "Leaves Already Taken"
msgstr ""
msgstr "Vacances realitzades"
#. module: hr_holidays
#: field:hr.holidays,user_id:0
@@ -521,7 +557,7 @@ msgstr "Absències per validar"
#. module: hr_holidays
#: view:hr.holidays:0
msgid "Extended Filters..."
msgstr ""
msgstr "Filtres estesos..."
#. module: hr_holidays
#: sql_constraint:hr.holidays:0
@@ -572,12 +608,12 @@ msgstr ""
#. module: hr_holidays
#: view:hr.holidays.status:0
msgid "Misc"
msgstr ""
msgstr "Varis"
#. module: hr_holidays
#: view:hr.holidays:0
msgid "General"
msgstr ""
msgstr "General"
#. module: hr_holidays
#: view:hr.holidays:0
@@ -632,7 +668,7 @@ msgstr "Aplica doble validació"
#: view:hr.holidays.summary.dept:0
#: view:hr.holidays.summary.employee:0
msgid "Print"
msgstr ""
msgstr "Imprimeix"
#. module: hr_holidays
#: view:hr.holidays.status:0
@@ -666,6 +702,9 @@ msgid ""
"By Employee: Allocation/Request for individual Employee, By Employee "
"Category: Allocation/Request for group of employees in category"
msgstr ""
"Per treballador: Assignació/Petició per a empleat individual. Per categoria "
"de treballador: Assignació/Petició per a un grup de treballadors en la "
"categoria."
#. module: hr_holidays
#: code:addons/hr_holidays/hr_holidays.py:186
@@ -729,7 +768,7 @@ msgstr ""
#. module: hr_holidays
#: selection:hr.holidays.status,color_name:0
msgid "Violet"
msgstr ""
msgstr "Violeta"
#. module: hr_holidays
#: field:hr.holidays.status,max_leaves:0
@@ -790,47 +829,14 @@ msgstr "Rosa clar"
#. module: hr_holidays
#: view:hr.holidays:0
msgid "Manager"
msgstr ""
msgstr "Director"
#. module: hr_holidays
#: view:hr.holidays:0
msgid "To Confirm"
msgstr ""
msgstr "Per confirmar"
#. module: hr_holidays
#: view:hr.holidays:0
msgid "To Approve"
msgstr ""
#~ msgid "My Holidays Request Waiting confirmation"
#~ msgstr "Les meves peticions de vacances esperant confirmació"
#~ msgid "Invalid XML for View Architecture!"
#~ msgstr "XML invàlid per a la definició de la vista!"
#, python-format
#~ msgid ""
#~ "You can not cancel this holiday request. first You have to make its case in "
#~ "draft state."
#~ msgstr ""
#~ "No podeu cancel·lar aquesta petició de vacances. Heu de convertir el seu cas "
#~ "en estat esborrany."
#~ msgid "History"
#~ msgstr "Historial"
#~ msgid "Log Holidays"
#~ msgstr "Registre de vacances"
#, python-format
#~ msgid "Warning !"
#~ msgstr "Atenció!"
#~ msgid "Validate"
#~ msgstr "Valida"
#~ msgid ""
#~ "The Object name must start with x_ and not contain any special character !"
#~ msgstr ""
#~ "El nom de l'objecte ha de començar amb x_ i no contenir cap caràcter "
#~ "especial!"
msgstr "Per aprovar"
@@ -4,9 +4,8 @@
I create a bank record
-
!record {model: res.partner.bank, id: res_partner_bank_0}:
acc_number: '987654321'
acc_number: '001-9876543-21'
partner_id: base.res_partner_desertic_hispafuentes
name: Fortis
state: bank
bank: base.res_bank_1
-
@@ -113,4 +112,4 @@
!python {model: hr.payslip}: |
from tools.translate import _
payslip_brw=self.browse(cr, uid, ref("hr_payslip_0"))
assert(payslip_brw.state == 'done'), _('State not changed!')
assert(payslip_brw.state == 'done'), _('State not changed!')
@@ -134,5 +134,48 @@
<field eval="time.strftime('%Y-%m-15')" name="date_deadline"/>
<field eval="'6630125'" name="partner_phone"/>
</record>
<record id="hr_case_programmer" model="hr.applicant">
<field model="res.partner.canal" name="canal_id" search="[('name','=','E-mail')]"/>
<field name="partner_address_id" ref="base.res_partner_address_14"/>
<field eval="time.strftime('%Y-%m-12 17:49:19')" name="date"/>
<field name="type_id" ref="degree_bac5"/>
<field name="partner_id" ref="base.res_partner_15"/>
<field eval="'3'" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field eval="'Shane Williams'" name="partner_name"/>
<field eval="'open'" name="state"/>
<field eval="1.15" name="duration"/>
<field eval="'tina_augustie@example.com'" name="partner_name2"/>
<field eval="'9812398524'" name="partner_mobile"/>
<field eval="1" name="active"/>
<field name="categ_id" ref="categ_job2"/>
<field name="stage_id" ref="stage_job4"/>
<field eval="'Programmer'" name="name"/>
<field eval="time.strftime('%Y-%m-15')" name="date_deadline"/>
<field eval="'6630125'" name="partner_phone"/>
<field name="job_id" ref="hr.job_jr_appli"/>
<field eval="11000.0" name="salary_expected"/>
</record>
<record id="hr_case_advertisement" model="hr.applicant">
<field eval="time.strftime('%Y-%m-26 17:39:42')" name="date"/>
<field eval="time.strftime('%Y-%m-28')" name="date_deadline"/>
<field name="type_id" ref="degree_licenced"/>
<field name="partner_id" ref="base.res_partner_11"/>
<field eval="'4'" name="priority"/>
<field name="user_id" ref="base.user_root"/>
<field eval="'David Armstrong'" name="partner_name"/>
<field eval="'done'" name="state"/>
<field eval="'david@market.edu'" name="partner_name2"/>
<field eval="'9925741564'" name="partner_mobile"/>
<field eval="1" name="active"/>
<field eval="2.20" name="duration"/>
<field name="categ_id" ref="categ_job1"/>
<field name="stage_id" ref="stage_job5"/>
<field eval="'Advertisement'" name="name"/>
<field eval="'25968745'" name="partner_phone"/>
<field eval="11000.0" name="salary_expected"/>
</record>
</data>
</openerp>
@@ -314,7 +314,7 @@
<tree string="Stages">
<field name="sequence" invisible="1"/>
<field name="name"/>
<field name="department_id"/>
<field name="department_id" groups="base.group_extended"/>
</tree>
</field>
</record>
@@ -330,7 +330,7 @@
<group colspan="4" col="6">
<separator string="Stage Definition" colspan="6"/>
<field name="name" select="1"/>
<field name="department_id"/>
<field name="department_id" groups="base.group_extended"/>
<field name="sequence"/>
</group>
<separator string="Requirements" colspan="4"/>
+2 -1
View File
@@ -30,7 +30,8 @@ class hr_employee(osv.osv):
_inherit = "hr.employee"
_columns = {
'product_id': fields.many2one('product.product', 'Product', help="Specifies employee's designation as a product with type 'service'."),
'journal_id': fields.many2one('account.analytic.journal', 'Analytic Journal')
'journal_id': fields.many2one('account.analytic.journal', 'Analytic Journal'),
'uom_id': fields.related('product_id', 'uom_id', type='many2one', relation='product.uom', string='UoM', store=True, readonly=True)
}
def _getAnalyticJournal(self, cr, uid, context=None):
@@ -78,6 +78,5 @@
<field name="journal_id" ref="analytic_journal"/>
</record>
</data>
</openerp>
@@ -104,6 +104,7 @@
<page string="Categories" position="after">
<page string="Timesheets" groups="base.group_hr_user">
<field name="product_id" domain="[('type','=','service')]"/>
<field name="uom_id"/>
<field name="journal_id" widget="selection"/>
</page>
</page>
@@ -47,7 +47,6 @@ reports, etc.""",
'wizard/hr_timesheet_invoice_create_view.xml',
'wizard/hr_timesheet_invoice_create_final_view.xml',
'board_hr_timesheet_invoice.xml',
'hr_timesheet_invoice_installer_view.xml'
],
'demo': [
'hr_timesheet_invoice_demo.xml',
@@ -1,39 +0,0 @@
<openerp>
<data>
<!-- Configure Your Services Config Wiz -->
<record id="product_timesheet_invoice_tree_view" model="ir.ui.view">
<field name="name">product.product.tree</field>
<field name="model">product.product</field>
<field name="type">tree</field>
<field eval="7" name="priority"/>
<field name="arch" type="xml">
<tree colors="red:virtual_available&lt;0;blue:virtual_available&gt;=0 and state in ('draft', 'end', 'obsolete');black:virtual_available&gt;=0 and state not in ('draft', 'end', 'obsolete')" string="Products">
<field name="name"/>
<field name="standard_price"/>
<field name="lst_price"/>
<field name="uom_id" string="UoM"/>
</tree>
</field>
</record>
<record model="ir.actions.act_window" id="product_services_form_view_installer">
<field name="name">Configure Your Services</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">product.product</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[('type','=','service')]</field>
<field name="context" eval="'{\'default_type\':\'service\', \'default_sale_ok\':True, \'default_hr_expense_ok\':False,}'"/>
<field name="view_id" ref="product_timesheet_invoice_tree_view"/>
</record>
<record id="product_services_form_view_todo" model="ir.actions.todo">
<field name="action_id" ref="product_services_form_view_installer"/>
<field name="category_id" ref="hr.category_hr_management_config"/>
<field name="sequence">3</field>
</record>
</data>
</openerp>
+9 -8
View File
@@ -1,14 +1,15 @@
<?xml version="1.0"?>
<openerp>
<data>
<data>
<record model="res.groups" id="base.group_tool_manager">
<field name="name">Tools / Manager</field>
</record>
<record model="res.groups" id="base.group_tool_user">
<field name="name">Tools / User</field>
</record>
<record model="res.groups" id="base.group_tool_user">
<field name="name">Tools / User</field>
</record>
<record model="res.groups" id="base.group_tool_manager">
<field name="name">Tools / Manager</field>
<field name="implied_ids" eval="[(4, ref('base.group_tool_user'))]"/>
</record>
</data>
</data>
</openerp>
+24
View File
@@ -0,0 +1,24 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
#
# Copyright (c) 2011 Noviat nv/sa (www.noviat.be). All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import partner
import invoice
+55
View File
@@ -0,0 +1,55 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
#
# Copyright (c) 2011 Noviat nv/sa (www.noviat.be). All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
{
'name': 'Add support for Belgian structured communication to Invoices',
'version': '1.2',
'license': 'AGPL-3',
'author': 'Noviat',
'category' : 'Localization/Accounting',
'description': """
Belgian localisation for in- and outgoing invoices (prereq to account_coda):
- Rename 'reference' field labels to 'Communication'
- Add support for Belgian Structured Communication
A Structured Communication can be generated automatically on outgoing invoices according to the following algorithms:
1) Random : +++RRR/RRRR/RRRDD+++
R..R = Random Digits, DD = Check Digits
2) Date : +++DOY/YEAR/SSSDD+++
DOY = Day of the Year, SSS = Sequence Number, DD = Check Digits)
3) Customer Reference +++RRR/RRRR/SSSDDD+++
R..R = Customer Reference without non-numeric characters, SSS = Sequence Number, DD = Check Digits)
The preferred type of Structured Communication and associated Algorithm can be specified on the Partner records.
A 'random' Structured Communication will generated if no algorithm is specified on the Partner record.
""",
'depends': ['account'],
'demo_xml': [],
'init_xml': [],
'update_xml' : [
'partner_view.xml',
'account_invoice_view.xml',
],
'active': False,
'installable': True,}
@@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Adapt Customer Invoices to support bba structured communication -->
<record id="customer_invoice_bbacomm_form" model="ir.ui.view">
<field name="name">account.invoice.form.inherit</field>
<field name="model">account.invoice</field>
<field name="type">form</field>
<field name="inherit_id" ref="account.invoice_form"/>
<field name="arch" type="xml">
<field name="payment_term" position="after">
<group col="4" colspan="2">
<field name="reference_type" nolabel="1" select="2" size="0" attrs="{'readonly':[('state','!=','draft')]}"
on_change="generate_bbacomm(type,reference_type,algorithm,partner_id,reference)" colspan="1"/>
<field name="reference" nolabel="1" select="1" colspan="3" attrs="{'readonly':[('state','!=','draft')]}"/>
</group>
</field>
</field>
</record>
</data>
</openerp>
+26
View File
@@ -0,0 +1,26 @@
# French translation of openobject-addons.
# This file contains the translation of the following modules:
# * l10n_be_extra
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: support@noviat.be\n"
"POT-Creation-Date: 2011-01-16 17:06:14.002000\n"
"PO-Revision-Date: 2011-01-16 17:06:14.002000\n"
"Last-Translator: Luc De Meyer (Noviat nv/sa)\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. module: l10n_be_extra
#: field:account.invoice,reference:0
msgid "Communication"
msgstr "Communication"
#. module: l10n_be_extra
#: field:account.invoice,reference_type:0
msgid "Communication Type"
msgstr "Type de communication"
+26
View File
@@ -0,0 +1,26 @@
# Dutch translation of openobject-addons.
# This file contains the translation of the following modules:
# * l10n_be_extra
#
msgid ""
msgstr ""
"Project-Id-Version: openobject-addons\n"
"Report-Msgid-Bugs-To: support@noviat.be\n"
"POT-Creation-Date: 2011-01-16 17:05:57.465000\n"
"PO-Revision-Date: 2011-01-16 17:05:57.465000\n"
"Last-Translator: Luc De Meyer (Noviat nv/sa)\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#. module: l10n_be_extra
#: field:account.invoice,reference:0
msgid "Communication"
msgstr "Mededeling"
#. module: l10n_be_extra
#: field:account.invoice,reference_type:0
msgid "Communication Type"
msgstr "Type mededeling"
+215
View File
@@ -0,0 +1,215 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
#
# Copyright (c) 2011 Noviat nv/sa (www.noviat.be). All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import re, time, random
from osv import fields, osv
from tools.translate import _
import netsvc
logger=netsvc.Logger()
"""
account.invoice object:
- Add support for Belgian structured communication
- Rename 'reference' field labels to 'Communication'
"""
class account_invoice(osv.osv):
_inherit = 'account.invoice'
def _get_reference_type(self, cursor, user, context=None):
"""Add BBA Structured Communication Type and change labels from 'reference' into 'communication' """
res = super(account_invoice, self)._get_reference_type(cursor, user,
context=context)
res[[i for i,x in enumerate(res) if x[0] == 'none'][0]] = ('none', 'Free Communication')
res.append(('bba', 'BBA Structured Communication'))
#logger.notifyChannel('addons.'+self._name, netsvc.LOG_WARNING, 'reference_type = %s' %res )
return res
def check_bbacomm(self, val):
supported_chars = '0-9+*/ '
pattern = re.compile('[^' + supported_chars + ']')
if pattern.findall(val or ''):
return False
bbacomm = re.sub('\D', '', val or '')
if len(bbacomm) == 12:
base = int(bbacomm[:10])
mod = base % 97 or 97
if mod == int(bbacomm[-2:]):
return True
return False
def _check_communication(self, cr, uid, ids):
for inv in self.browse(cr, uid, ids):
if inv.reference_type == 'bba':
return self.check_bbacomm(inv.reference)
return True
def onchange_partner_id(self, cr, uid, ids, type, partner_id,
date_invoice=False, payment_term=False, partner_bank_id=False, company_id=False):
result = super(account_invoice, self).onchange_partner_id(cr, uid, ids, type, partner_id,
date_invoice, payment_term, partner_bank_id, company_id)
# reference_type = self.default_get(cr, uid, ['reference_type'])['reference_type']
# logger.notifyChannel('addons.'+self._name, netsvc.LOG_WARNING, 'partner_id %s' % partner_id)
reference = False
reference_type = 'none'
if partner_id:
if (type == 'out_invoice'):
reference_type = self.pool.get('res.partner').browse(cr, uid, partner_id).out_inv_comm_type
if reference_type:
algorithm = self.pool.get('res.partner').browse(cr, uid, partner_id).out_inv_comm_algorithm
if not algorithm:
algorithm = 'random'
reference = self.generate_bbacomm(cr, uid, ids, type, reference_type, algorithm, partner_id, '')['value']['reference']
res_update = {
'reference_type': reference_type or 'none',
'reference': reference,
}
result['value'].update(res_update)
return result
def generate_bbacomm(self, cr, uid, ids, type, reference_type, algorithm, partner_id, reference):
partner_obj = self.pool.get('res.partner')
reference = reference or ''
if (type == 'out_invoice'):
if reference_type == 'bba':
if not algorithm:
if partner_id:
algorithm = partner_obj.browse(cr, uid, partner_id).out_inv_comm_algorithm
if not algorithm:
if not algorithm:
algorithm = 'random'
if algorithm == 'date':
if not self.check_bbacomm(reference):
doy = time.strftime('%j')
year = time.strftime('%Y')
seq = '001'
seq_ids = self.search(cr, uid,
[('type', '=', 'out_invoice'), ('reference_type', '=', 'bba'),
('reference', 'like', '+++%s/%s/%%' % (doy, year))], order='reference')
if seq_ids:
prev_seq = int(self.browse(cr, uid, seq_ids[-1]).reference[12:15])
if prev_seq < 999:
seq = '%03d' % (prev_seq + 1)
else:
raise osv.except_osv(_('Warning!'),
_('The daily maximum of outgoing invoices with an automatically generated BBA Structured Communications has been exceeded!' \
'\nPlease create manually a unique BBA Structured Communication.'))
bbacomm = doy + year + seq
base = int(bbacomm)
mod = base % 97 or 97
reference = '+++%s/%s/%s%02d+++' % (doy, year, seq, mod)
elif algorithm == 'partner_ref':
if not self.check_bbacomm(reference):
partner_ref = self.pool.get('res.partner').browse(cr, uid, partner_id).ref
partner_ref_nr = re.sub('\D', '', partner_ref or '')
if (len(partner_ref_nr) < 3) or (len(partner_ref_nr) > 7):
raise osv.except_osv(_('Warning!'),
_('The Partner should have a 3-7 digit Reference Number for the generation of BBA Structured Communications!' \
'\nPlease correct the Partner record.'))
else:
partner_ref_nr = partner_ref_nr.ljust(7, '0')
seq = '001'
seq_ids = self.search(cr, uid,
[('type', '=', 'out_invoice'), ('reference_type', '=', 'bba'),
('reference', 'like', '+++%s/%s/%%' % (partner_ref_nr[:3], partner_ref_nr[3:]))], order='reference')
if seq_ids:
prev_seq = int(self.browse(cr, uid, seq_ids[-1]).reference[12:15])
if prev_seq < 999:
seq = '%03d' % (prev_seq + 1)
else:
raise osv.except_osv(_('Warning!'),
_('The daily maximum of outgoing invoices with an automatically generated BBA Structured Communications has been exceeded!' \
'\nPlease create manually a unique BBA Structured Communication.'))
bbacomm = partner_ref_nr + seq
base = int(bbacomm)
mod = base % 97 or 97
reference = '+++%s/%s/%s%02d+++' % (partner_ref_nr[:3], partner_ref_nr[3:], seq, mod)
elif algorithm == 'random':
if not self.check_bbacomm(reference):
base = random.randint(1, 9999999999)
bbacomm = str(base).rjust(7, '0')
base = int(bbacomm)
mod = base % 97 or 97
mod = str(mod).rjust(2, '0')
reference = '+++%s/%s/%s%s+++' % (bbacomm[:3], bbacomm[3:7], bbacomm[7:], mod)
else:
raise osv.except_osv(_('Error!'),
_("Unsupported Structured Communication Type Algorithm '%s' !" \
"\nPlease contact your OpenERP support channel.") % algorithm)
return {'value': {'reference': reference}}
def create(self, cr, uid, vals, context=None):
if vals.has_key('reference_type'):
reference_type = vals['reference_type']
if reference_type == 'bba':
if vals.has_key('reference'):
bbacomm = vals['reference']
else:
raise osv.except_osv(_('Warning!'),
_('Empty BBA Structured Communication!' \
'\nPlease fill in a unique BBA Structured Communication.'))
if self.check_bbacomm(bbacomm):
reference = re.sub('\D', '', bbacomm)
vals['reference'] = '+++' + reference[0:3] + '/' + reference[3:7] + '/' + reference[7:] + '+++'
same_ids = self.search(cr, uid,
[('type', '=', 'out_invoice'), ('reference_type', '=', 'bba'),
('reference', '=', vals['reference'])])
if same_ids:
raise osv.except_osv(_('Warning!'),
_('The BBA Structured Communication has already been used!' \
'\nPlease create manually a unique BBA Structured Communication.'))
return super(account_invoice, self).create(cr, uid, vals, context=context)
def write(self, cr, uid, ids, vals, context={}):
for inv in self.browse(cr, uid, ids, context):
if vals.has_key('reference_type'):
reference_type = vals['reference_type']
else:
reference_type = inv.reference_type or ''
if reference_type == 'bba':
if vals.has_key('reference'):
bbacomm = vals['reference']
else:
bbacomm = inv.reference or ''
if self.check_bbacomm(bbacomm):
reference = re.sub('\D', '', bbacomm)
vals['reference'] = '+++' + reference[0:3] + '/' + reference[3:7] + '/' + reference[7:] + '+++'
same_ids = self.search(cr, uid,
[('id', '!=', inv.id), ('type', '=', 'out_invoice'),
('reference_type', '=', 'bba'), ('reference', '=', vals['reference'])])
if same_ids:
raise osv.except_osv(_('Warning!'),
_('The BBA Structured Communication has already been used!' \
'\nPlease create manually a unique BBA Structured Communication.'))
return super(account_invoice, self).write(cr, uid, ids, vals, context)
_columns = {
'reference': fields.char('Communication', size=64, help="The partner reference of this invoice."),
'reference_type': fields.selection(_get_reference_type, 'Communication Type',
required=True),
}
_constraints = [
(_check_communication, 'Invalid BBA Structured Communication !', ['Communication']),
]
account_invoice()
+52
View File
@@ -0,0 +1,52 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# OpenERP, Open Source Management Solution
#
# Created by Luc De Meyer
# Copyright (c) 2010 Noviat nv/sa (www.noviat.be). All rights reserved.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
from osv import fields, osv
import time
from tools.translate import _
import netsvc
logger=netsvc.Logger()
class res_partner(osv.osv):
""" add field to indicate default 'Communication Type' on customer invoices """
_inherit = 'res.partner'
def _get_comm_type(self, cr, uid, context=None):
res = self.pool.get('account.invoice')._get_reference_type(cr, uid,context=context)
return res
_columns = {
'out_inv_comm_type': fields.selection(_get_comm_type, 'Communication Type', change_default=True,
help='Select Default Communication Type for Outgoing Invoices.' ),
'out_inv_comm_algorithm': fields.selection([
('random','Random'),
('date','Date'),
('partner_ref','Customer Reference'),
], 'Communication Algorithm',
help='Select Algorithm to generate the Structured Communication on Outgoing Invoices.' ),
}
_default = {
'out_inv_comm_type': 'none',
}
res_partner()
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- Extension to Partner Form to support outgoing invoices with automatic generation of structured communication -->
<record id="view_partner_inv_comm_type_form" model="ir.ui.view">
<field name="name">res.partner.inv_comm_type.form.inherit</field>
<field name="model">res.partner</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<field name="property_payment_term" position="after">
<field name="out_inv_comm_type" groups="base.group_extended"/>
<field name="out_inv_comm_algorithm" groups="base.group_extended" attrs="{'invisible':[('out_inv_comm_type','!=','bba')]}"/>
</field>
</field>
</record>
</data>
</openerp>
+3 -6
View File
@@ -101,12 +101,9 @@
</para>
</td>
<td>
<para style="terp_default_8">[[ (user.address_id and user.address_id.partner_id and user.address_id.partner_id.title and user.address_id.partner_id.title.name) or '' ]] [[ (user.address_id and user.address_id.partner_id and user.address_id.partner_id.name) or '' ]]</para>
<para style="terp_default_8">[[ (user.address_id and user.address_id.street) or '' ]]</para>
<para style="terp_default_8">[[ (user.address_id and user.address_id.street2) or removeParentNode('para') ]]</para>
<para style="terp_default_8">[[ (user.address_id and user.address_id.zip) or '' ]] [[ (user.address_id and user.address_id.city) or '' ]]</para>
<para style="terp_default_8">[[ (user.address_id and user.address_id.state_id and user.address_id.state_id.name) or removeParentNode('para')]]</para>
<para style="terp_default_8">[[ (user.address_id and user.address_id.country_id and user.address_id.country_id.name) or '' ]]</para>
<para style="terp_default_8">[[ user.name ]] </para>
<para style="terp_default_8">[[ user.login ]]</para>
<para style="terp_default_8">[[ user.user_email ]]</para>
</td>
</tr>
</blockTable>
+8 -7
View File
@@ -2,12 +2,13 @@
<openerp>
<data noupdate="0">
<record model="res.groups" id="base.group_tool_manager">
<field name="name">Tools / Manager</field>
</record>
<record model="res.groups" id="base.group_tool_user">
<field name="name">Tools / User</field>
</record>
<record model="res.groups" id="base.group_tool_user">
<field name="name">Tools / User</field>
</record>
<record model="res.groups" id="base.group_tool_manager">
<field name="name">Tools / Manager</field>
<field name="implied_ids" eval="[(4, ref('base.group_tool_user'))]"/>
</record>
</data>
</openerp>
+1 -2
View File
@@ -164,8 +164,7 @@ class mailgate_thread(osv.osv):
'description': details or (hasattr(case, 'description') and case.description or False),
'email_to': email,
'email_from': email_from or \
(hasattr(case, 'user_id') and case.user_id and case.user_id.address_id and \
case.user_id.address_id.email),
(hasattr(case, 'user_id') and case.user_id and case.user_id.user_email),
'email_cc': email_cc,
'email_bcc': email_bcc,
'partner_id': partner_id,
@@ -4,10 +4,11 @@
<record id="marketing.group_marketing_user" model="res.groups">
<field name="name">Marketing / User</field>
</record>
<record id="marketing.group_marketing_manager" model="res.groups">
<field name="name">Marketing / Manager</field>
<field name="implied_ids" eval="[(4, ref('marketing.group_marketing_user'))]"/>
</record>
</data>
</openerp>
-4
View File
@@ -20,10 +20,6 @@
<field name="name"/>
<field name="categ_id" widget="selection" operator="child_of"/>
<newline/>
<group expand="0" string="Extended Filters..." groups="base.group_extended">
<field name="pricelist_id" widget="selection" context="{'pricelist': self}" />
</group>
<newline/>
<group expand='0' string='Group by...' groups="base.group_extended">
<filter string='Category' icon="terp-stock_symbol-selection" domain="[]" context="{'group_by' : 'categ_id'}" />
<separator orientation="vertical"/>
-4
View File
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<record id="note_sale_type" model="board.note.type">
<field name="name">Production</field>
</record>
<record id="board_mrp_manager_form" model="ir.ui.view">
<field name="name">board.mrp.manager.form</field>
<field name="model">board.board</field>

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