[MERGE] l10n that just merged trunk
bzr revid: al@openerp.com-20110817204653-1qw6ijdu5lbcsu4g
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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': [
|
||||
|
||||
@@ -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."\
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 & 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>
|
||||
@@ -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'}"/>
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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
@@ -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"
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -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">
|
||||
|
||||
@@ -4,12 +4,13 @@
|
||||
<record id="group_account_invoice" model="res.groups">
|
||||
<field name="name">Accounting / Invoicing & 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>
|
||||
|
||||
@@ -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
|
||||
|
||||
|
@@ -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>
|
||||
|
||||
@@ -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
File diff suppressed because it is too large
Load Diff
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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']}
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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',
|
||||
|
||||
@@ -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!"
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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,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 < 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
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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."),
|
||||
}
|
||||
|
||||
@@ -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'}"/>
|
||||
|
||||
@@ -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="[]"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
@@ -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"
|
||||
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 "
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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>
|
||||
@@ -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">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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<0;blue:virtual_available>=0 and state in ('draft', 'end', 'obsolete');black:virtual_available>=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>
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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
|
||||
@@ -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>
|
||||
@@ -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"
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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()
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
@@ -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
Reference in New Issue
Block a user