[MERGE]: Merge with lp:openobject-addons

bzr revid: rpa@tinyerp.com-20100513132630-9d4y5ucn35m7tbvj
This commit is contained in:
rpa (Open ERP) 2010-05-13 18:56:30 +05:30
commit 8866e54ca9
160 changed files with 2509 additions and 1262 deletions

View File

@ -1763,52 +1763,6 @@ class account_subscription_line(osv.osv):
_rec_name = 'date'
account_subscription_line()
class account_config_wizard(osv.osv_memory):
_name = 'account.config.wizard'
_inherit = 'res.config'
_columns = {
'name':fields.char(
'Name', required=True, size=64,
help="Name of the fiscal year as displayed on screens."),
'code':fields.char(
'Code', required=True, size=64,
help="Name of the fiscal year as displayed in reports."),
'date1': fields.date('Start Date', required=True),
'date2': fields.date('End Date', required=True),
'period':fields.selection([('month','Month'), ('3months','3 Months')],
'Periods', required=True),
}
_defaults = {
'code': lambda *a: time.strftime('%Y'),
'name': lambda *a: time.strftime('%Y'),
'date1': lambda *a: time.strftime('%Y-01-01'),
'date2': lambda *a: time.strftime('%Y-12-31'),
'period':lambda *a:'month',
}
def execute(self, cr, uid, ids, context=None):
for res in self.read(cr,uid,ids):
if 'date1' in res and 'date2' in res:
res_obj = self.pool.get('account.fiscalyear')
start_date=res['date1']
end_date=res['date2']
name=res['name']#DateTime.strptime(start_date, '%Y-%m-%d').strftime('%m.%Y') + '-' + DateTime.strptime(end_date, '%Y-%m-%d').strftime('%m.%Y')
vals={
'name':name,
'code':name,
'date_start':start_date,
'date_stop':end_date,
}
new_id=res_obj.create(cr, uid, vals, context=context)
if res['period']=='month':
res_obj.create_period(cr,uid,[new_id])
elif res['period']=='3months':
res_obj.create_period3(cr,uid,[new_id])
account_config_wizard()
# ---------------------------------------------------------------
# Account Templates : Account, Tax, Tax Code and chart. + Wizard
# ---------------------------------------------------------------
@ -2163,6 +2117,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
'company_id': lambda self, cr, uid, c: self.pool.get('res.users').browse(cr,uid,[uid],c)[0].company_id.id,
'chart_template_id': _get_chart,
'code_digits': lambda *a:6,
'seq_journal': True
}
def execute(self, cr, uid, ids, context=None):
@ -2435,10 +2390,14 @@ class account_bank_accounts_wizard(osv.osv_memory):
_name='account.bank.accounts.wizard'
_columns = {
'acc_no':fields.many2one('res.partner.bank','Account No.',required=True),
'acc_name':fields.char('Account Name.', size=64, required=True),
'bank_account_id':fields.many2one('wizard.multi.charts.accounts', 'Bank Account', required=True),
'currency_id':fields.many2one('res.currency', 'Currency'),
'account_type':fields.selection([('cash','Cash'),('check','Check'),('bank','Bank')], 'Type', size=32),
}
_defaults = {
'currency_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.currency_id.id,
}
account_bank_accounts_wizard()

View File

@ -17,17 +17,51 @@
</separator>
<xpath expr="//label[@string='description']"
position="attributes">
<attribute name="string">You can enhance OpenERP's basic accounting support with a few additional OpenERP applications</attribute>
<attribute name="string">You can enhance OpenERP's basic accounting support with a few additional OpenERP applications.</attribute>
</xpath>
<group colspan="8">
<separator string="Accounting" colspan="4"/>
<xpath expr="//button[@string='Install Modules']" position="attributes">
<attribute name="string">Configure</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>23</attribute>
<attribute name='string'></attribute>
</xpath>
<group colspan="8">
<group colspan="4" height="450" width="600">
<field name="charts"/>
<field name="account_analytic_default"/>
<field name="account_analytic_plans"/>
<field name="account_payment"/>
<field name="account_followup"/>
<field name="account_asset"/>
<group colspan="4">
<separator col="4" colspan="4" string="Configure Fiscal Year"/>
<field name="date_start" on_change="on_change_start_date(date_start)"/>
<field name="date_stop"/>
<field name="period" colspan="4"/>
</group>
<group colspan="4" attrs="{'invisible':[('charts','!=','configurable')]}">
<separator col="4" colspan="4" string="Bank and Cost Account"/>
<field colspan="4" mode="tree" name="bank_accounts_id" nolabel="1" widget="one2many_list">
<form string="">
<field name="acc_name"/>
<field name="account_type"/>
<field name="currency_id" widget="selection"/>
</form>
<tree editable="bottom" string="">
<field name="acc_name"/>
<field name="account_type"/>
<field name="currency_id" widget="selection"/>
</tree>
</field>
</group>
<group colspan="4" attrs="{'invisible':[('charts','!=','configurable')]}">
<field name="sale_tax" colspan="2" on_change="on_change_tax(sale_tax)"/>
<field name="purchase_tax" colspan="2" />
</group>
<group colspan="4" groups="base.group_extended">
<separator col="4" colspan="4" string="Install Extra Account Module"/>
<field name="account_analytic_plans"/>
<field name="account_payment"/>
<field name="account_followup"/>
<field name="account_asset"/>
</group>
</group>
</group>
</data>
</field>
@ -46,6 +80,20 @@
<record id="account_installer_todo" model="ir.actions.todo">
<field name="action_id" ref="action_account_installer"/>
<field name="sequence">3</field>
<field name="restart">onskip</field>
</record>
<record id="account_ir_actions_todo_tree" model="ir.ui.view">
<field name="model">ir.actions.todo</field>
<field name="name">account_installer_action_replace</field>
<field name="type">tree</field>
<field name="inherit_id" ref="base.ir_actions_todo_tree"/>
<field name="arch" type="xml">
<xpath expr="//button[@string='Launch']" position="replace">
<button name="%(action_account_installer)d" states="open,skip" string="Launch" type="action" icon="gtk-execute" help="Launch Configuration Wizard"/>
</xpath>
</field>
</record>
</data>
</openerp>

View File

@ -1445,49 +1445,6 @@
<act_window domain="[('partner_id', '=', active_id)]" id="act_account_partner_account_move" name="All account entries" res_model="account.move.line" src_model="res.partner"/>
<!-- configuration wizard view -->
<record id="view_account_config_wizard_form" model="ir.ui.view">
<field name="name">Account Configure wizard</field>
<field name="model">account.config.wizard</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.res_config_view_base"/>
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Account Configure</attribute>
</form>
<group string="res_config_contents" position="replace">
<separator col="4" colspan="4" string="Create a Fiscal Year"/>
<field name="name"/>
<field name="code"/>
<field name="date1"/>
<field name="date2"/>
<field name="period" colspan="4"/>
</group>
<xpath expr='//button[@name="action_skip"]' position="replace"/>
</data>
</field>
</record>
<record id="action_account_config_wizard_form" model="ir.actions.act_window">
<field name="name">Account Configure Wizard </field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.config.wizard</field>
<field name="view_id" ref="view_account_config_wizard_form"/>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<!-- register configuration wizard -->
<record id="config_fiscalyear" model="ir.actions.todo">
<field name="action_id" ref="action_account_config_wizard_form"/>
<field name="restart">onskip</field>
</record>
<record id="view_account_addtmpl_wizard_form" model="ir.ui.view">
<field name="name">Account Add wizard</field>
<field name="model">account.addtmpl.wizard</field>
@ -1741,25 +1698,35 @@
<form position="attributes">
<attribute name="string">Generate Chart of Accounts from a Chart Template</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string"
>Generate Chart of Accounts from a Chart Template</attribute>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">This will automatically configure your chart of accounts, bank accounts, taxes and journals according to the selected template</attribute>
<attribute name="width">150</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>15</attribute>
<attribute name='string'></attribute>
</xpath>
<group string="res_config_contents" position="replace">
<separator col="4" colspan="4" string="
Generate Chart of Accounts from a Chart Template"/>
<label align="0.0" colspan="4"
string="This will automatically configure your chart of accounts, bank accounts, taxes and journals according to the selected template"/>
<field name="company_id" widget="selection"
groups="base.group_multi_company"/>
/>
<field name ="code_digits" />
<field name="chart_template_id"/>
<field name ="seq_journal" />
<field colspan="4" mode="tree" name="bank_accounts_id"
nolabel="1" widget="one2many_list">
<form string="Bank Information">
<field name="acc_no"/>
<field name="currency_id"/>
<field name="acc_name"/>
<field name="account_type"/>
<field name="currency_id" widget="selection"/>
</form>
<tree editable="bottom" string="Bank Information">
<field name="acc_no"/>
<field name="currency_id"/>
<field name="acc_name"/>
<field name="account_type"/>
<field name="currency_id" widget="selection"/>
</tree>
</field>
</group>

View File

@ -0,0 +1,516 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!-- Types -->
<record model="account.account.type" id="conf_account_type_receivable" >
<field name="name">Receivable</field>
<field name="code">receivable</field>
<field name="close_method">unreconciled</field>
</record>
<record model="account.account.type" id="conf_account_type_payable" >
<field name="name">Payable</field>
<field name="code">payable</field>
<field name="close_method">unreconciled</field>
</record>
<record model="account.account.type" id="conf_account_type_view">
<field name="name">View</field>
<field name="code">view</field>
<field name="close_method">none</field>
</record>
<record model="account.account.type" id="conf_account_type_income" >
<field name="name">Income</field>
<field name="code">income</field>
<field name="close_method">none</field>
</record>
<record model="account.account.type" id="conf_account_type_expense">
<field name="name">Expense</field>
<field name="code">expense</field>
<field name="close_method">none</field>
</record>
<record model="account.account.type" id="conf_account_type_tax">
<field name="name">Tax</field>
<field name="code">tax</field>
<field name="close_method">unreconciled</field>
</record>
<record model="account.account.type" id="conf_account_type_cash">
<field name="name">Cash</field>
<field name="code">cash</field>
<field name="close_method">balance</field>
</record>
<record model="account.account.type" id="conf_account_type_asset">
<field name="name">Asset</field>
<field name="code">asset</field>
<field name="close_method">balance</field>
</record>
<record model="account.account.type" id="conf_account_type_equity">
<field name="name">Equity</field>
<field name="code">equity</field>
<field name="close_method">balance</field>
</record>
<record model="account.account.type" id="conf_account_type_bnk">
<field name="name">Bank</field>
<field name="code">bank</field>
<field name="close_method">balance</field>
</record>
<record model="account.account.type" id="conf_account_type_chk">
<field name="name">Check</field>
<field name="code">check</field>
<field name="close_method">balance</field>
</record>
<!-- Account Templates-->
<record id="conf_chart0" model="account.account.template">
<field name="code">0</field>
<field name="name">Configurable Account Chart</field>
<field eval="0" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="conf_account_type_view"/>
</record>
<!-- Balance Sheet -->
<record id="conf_bal" model="account.account.template">
<field name="code">1</field>
<field name="name">Balance Sheet</field>
<field ref="conf_chart0" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="conf_account_type_view"/>
</record>
<record id="conf_fas" model="account.account.template">
<field name="code">10</field>
<field name="name">Fixed Assets</field>
<field ref="conf_bal" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="conf_account_type_view"/>
</record>
<record id="conf_xfa" model="account.account.template">
<field name="code">100</field>
<field name="name">Fixed Asset Account</field>
<field ref="conf_fas" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="conf_account_type_asset"/>
</record>
<record id="conf_nca" model="account.account.template">
<field name="code">11</field>
<field name="name">Net Current Assets</field>
<field ref="conf_bal" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="conf_account_type_view"/>
</record>
<record id="conf_cas" model="account.account.template">
<field name="code">110</field>
<field name="name">Current Assets</field>
<field ref="conf_nca" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="conf_account_type_view"/>
</record>
<record id="conf_stk" model="account.account.template">
<field name="code">1101</field>
<field name="name">Purchased Stocks</field>
<field ref="conf_cas" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="conf_account_type_asset"/>
</record>
<record id="conf_a_recv" model="account.account.template">
<field name="code">1102</field>
<field name="name">Debtors</field>
<field ref="conf_cas" name="parent_id"/>
<field name="type">receivable</field>
<field eval="True" name="reconcile"/>
<field name="user_type" ref="conf_account_type_receivable"/>
</record>
<!-- <record id="account.property_account_receivable" model="ir.property">
<field eval="'account.account,'+str(a_recv)" name="value"/>
</record> -->
<record id="conf_ova" model="account.account.template">
<field name="code">1103</field>
<field name="name">Output VAT</field>
<field ref="conf_cas" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="conf_account_type_tax"/>
</record>
<record id="conf_bnk" model="account.account.template">
<field name="code">1104</field>
<field name="name">Bank Current Account</field>
<field ref="conf_cas" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="conf_account_type_cash"/>
</record>
<record id="conf_cash" model="account.account.template">
<field name="code">1105</field>
<field name="name">Cash</field>
<field ref="conf_cas" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="conf_account_type_cash"/>
</record>
<record id="conf_cli" model="account.account.template">
<field name="code">111</field>
<field name="name">Current Liabilities</field>
<field ref="conf_nca" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="conf_account_type_view"/>
</record>
<record id="conf_a_pay" model="account.account.template">
<field name="code">1111</field>
<field name="name">Creditors</field>
<field ref="conf_cli" name="parent_id"/>
<field name="type">payable</field>
<field eval="True" name="reconcile"/>
<field name="user_type" ref="conf_account_type_payable"/>
</record>
<!-- <record id="account.property_account_payable" model="ir.property">
<field eval="'account.account,'+str(a_pay)" name="value"/>
</record>-->
<record id="conf_iva" model="account.account.template">
<field name="code">1112</field>
<field name="name">Input VAT</field>
<field ref="conf_cli" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="conf_account_type_tax"/>
</record>
<!-- Profit and Loss -->
<record id="conf_gpf" model="account.account.template">
<field name="code">2</field>
<field name="name">Profit and Loss</field>
<field ref="conf_chart0" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="conf_account_type_view"/>
</record>
<record id="conf_rev" model="account.account.template">
<field name="code">20</field>
<field name="name">Revenue</field>
<field ref="conf_gpf" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="conf_account_type_view"/>
</record>
<record id="conf_a_sale" model="account.account.template">
<field name="code">200</field>
<field name="name">Product Sales</field>
<field ref="conf_rev" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="conf_account_type_income"/>
</record>
<!-- <record id="account.property_account_income_categ" model="ir.property">
<field eval="'account.account,'+str(a_sale)" name="value"/>
</record> -->
<record id="conf_cos" model="account.account.template">
<field name="code">21</field>
<field name="name">Cost of Sales</field>
<field ref="conf_gpf" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="conf_account_type_view"/>
</record>
<record id="conf_cog" model="account.account.template">
<field name="code">210</field>
<field name="name">Cost of Goods Sold</field>
<field ref="conf_cos" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="conf_account_type_expense"/>
</record>
<record id="conf_ovr" model="account.account.template">
<field name="code">22</field>
<field name="name">Overheads</field>
<field ref="conf_gpf" name="parent_id"/>
<field name="type">view</field>
<field name="user_type" ref="conf_account_type_view"/>
</record>
<record id="conf_a_expense" model="account.account.template">
<field name="code">220</field>
<field name="name">Expenses</field>
<field ref="conf_ovr" name="parent_id"/>
<field name="type">other</field>
<field name="user_type" ref="conf_account_type_expense"/>
</record>
<!-- <record id="account.property_account_expense_categ" model="ir.property">
<field eval="'account.account,'+str(a_expense)" name="value"/>
</record> -->
<!-- Taxes -->
<!-- VAT Code Definitions -->
<!-- Invoiced VAT -->
<!-- Input VAT -->
<record id="vat_code_chart_root" model="account.tax.code.template">
<field name="name">Plan Fees </field>
</record>
<record id="vat_code_balance_net" model="account.tax.code.template">
<field name="name">VAT Balance to Pay</field>
<field name="parent_id" ref="vat_code_chart_root"/>
</record>
<record id="vat_code_input" model="account.tax.code.template">
<field name="name">Input VAT</field>
<field name="parent_id" ref="vat_code_balance_net"/>
<field eval="-1" name="sign"/>
</record>
<record id="vat_code_input_S" model="account.tax.code.template">
<field name="name">Input VAT Rate S (15%)</field>
<field name="parent_id" ref="vat_code_input"/>
</record>
<record id="vat_code_input_R" model="account.tax.code.template">
<field name="name">Input VAT Rate R (5%)</field>
<field name="parent_id" ref="vat_code_input"/>
</record>
<!-- Output VAT -->
<record id="vat_code_output" model="account.tax.code.template">
<field name="name">Output VAT</field>
<field name="parent_id" ref="vat_code_balance_net"/>
</record>
<record id="vat_code_output_S" model="account.tax.code.template">
<field name="name">Output VAT Rate S (15%)</field>
<field name="parent_id" ref="vat_code_output"/>
</record>
<record id="vat_code_output_R" model="account.tax.code.template">
<field name="name">Output VAT Rate R (5%)</field>
<field name="parent_id" ref="vat_code_output"/>
</record>
<!-- Invoiced Base of VAT -->
<!-- Purchases -->
<record id="vat_code_base_net" model="account.tax.code.template">
<field name="name">Tax Bases</field>
<field name="parent_id" ref="vat_code_chart_root"/>
</record>
<record id="vat_code_base_purchases" model="account.tax.code.template">
<field name="name">Taxable Purchases Base</field>
<field name="parent_id" ref="vat_code_base_net"/>
</record>
<record id="vat_code_purch_S" model="account.tax.code.template">
<field name="name">Taxable Purchases Rated S (15%)</field>
<field name="parent_id" ref="vat_code_base_purchases"/>
</record>
<record id="vat_code_purch_R" model="account.tax.code.template">
<field name="name">Taxable Purchases Rated R (5%)</field>
<field name="parent_id" ref="vat_code_base_purchases"/>
</record>
<record id="vat_code_purch_Z" model="account.tax.code.template">
<field name="name">Taxable Purchases Rated Z (0%)</field>
<field name="parent_id" ref="vat_code_base_purchases"/>
</record>
<record id="vat_code_purch_X" model="account.tax.code.template">
<field name="name">Taxable Purchases Type X (Exempt)</field>
<field name="parent_id" ref="vat_code_base_purchases"/>
</record>
<record id="vat_code_purch_O" model="account.tax.code.template">
<field name="name">Taxable Purchases Type O (Out of scope)</field>
<field name="parent_id" ref="vat_code_base_purchases"/>
</record>
<!-- Sales -->
<record id="vat_code_base_sales" model="account.tax.code.template">
<field name="name">Base of Taxable Sales</field>
<field name="parent_id" ref="vat_code_base_net"/>
</record>
<record id="vat_code_sales_S" model="account.tax.code.template">
<field name="name">Taxable Sales Rated S (15%)</field>
<field name="parent_id" ref="vat_code_base_sales"/>
</record>
<record id="vat_code_sales_R" model="account.tax.code.template">
<field name="name">Taxable Sales Rated R (5%)</field>
<field name="parent_id" ref="vat_code_base_sales"/>
</record>
<record id="vat_code_sales_Z" model="account.tax.code.template">
<field name="name">Taxable Sales Rated Z (0%)</field>
<field name="parent_id" ref="vat_code_base_sales"/>
</record>
<record id="vat_code_sales_X" model="account.tax.code.template">
<field name="name">Taxable Sales Type X (Exempt)</field>
<field name="parent_id" ref="vat_code_base_sales"/>
</record>
<record id="vat_code_sales_O" model="account.tax.code.template">
<field name="name">Taxable Sales Type O (Out of scope)</field>
<field name="parent_id" ref="vat_code_base_sales"/>
</record>
<record id="configurable_chart_template" model="account.chart.template">
<field name="name">Configurable Account Chart Template</field>
<field name="account_root_id" ref="conf_chart0"/>
<field name="tax_code_root_id" ref="vat_code_chart_root"/>
<field name="bank_account_view_id" ref="conf_bnk"/>
<field name="property_account_receivable" ref="conf_a_recv"/>
<field name="property_account_payable" ref="conf_a_pay"/>
<field name="property_account_expense_categ" ref="conf_a_expense"/>
<field name="property_account_income_categ" ref="conf_a_sale"/>
</record>
<!-- VAT Codes -->
<!-- Purchases + Input VAT -->
<record id="ivats" model="account.tax.template">
<field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">IVAT S</field>
<field eval="0.15" name="amount"/>
<field name="type">percent</field>
<field name="account_collected_id" ref="conf_iva"/>
<field name="account_paid_id" ref="conf_iva"/>
<field name="base_code_id" ref="vat_code_purch_S"/>
<field name="tax_code_id" ref="vat_code_input_S"/>
<field name="ref_base_code_id" ref="vat_code_purch_S"/>
<field name="ref_tax_code_id" ref="vat_code_input_S"/>
<field name="type_tax_use">purchase</field>
</record>
<record id="ivatr" model="account.tax.template">
<field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">IVAT R</field>
<field eval="0.005" name="amount"/>
<field name="type">percent</field>
<field name="account_collected_id" ref="conf_iva"/>
<field name="account_paid_id" ref="conf_iva"/>
<field name="base_code_id" ref="vat_code_purch_R"/>
<field name="tax_code_id" ref="vat_code_input_R"/>
<field name="ref_base_code_id" ref="vat_code_purch_R"/>
<field name="ref_tax_code_id" ref="vat_code_input_R"/>
<field name="type_tax_use">purchase</field>
</record>
<record id="ivatz" model="account.tax.template">
<field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">IVAT Z</field>
<field eval="0.0" name="amount"/>
<field name="type">percent</field>
<field name="base_code_id" ref="vat_code_purch_Z"/>
<field name="ref_base_code_id" ref="vat_code_purch_Z"/>
<field name="type_tax_use">purchase</field>
</record>
<record id="ivatx" model="account.tax.template">
<field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">IVAT X</field>
<field eval="0.0" name="amount"/>
<field name="type">percent</field>
<field name="base_code_id" ref="vat_code_purch_X"/>
<field name="ref_base_code_id" ref="vat_code_purch_X"/>
<field name="type_tax_use">purchase</field>
</record>
<record id="ivato" model="account.tax.template">
<field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">IVAT O</field>
<field eval="0.0" name="amount"/>
<field name="type">percent</field>
<field name="base_code_id" ref="vat_code_purch_O"/>
<field name="ref_base_code_id" ref="vat_code_purch_O"/>
<field name="type_tax_use">purchase</field>
</record>
<!-- Sales + Output VAT -->
<record id="ovats" model="account.tax.template">
<field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">OVAT S</field>
<field eval="0.15" name="amount"/>
<field name="type">percent</field>
<field name="account_collected_id" ref="conf_ova"/>
<field name="account_paid_id" ref="conf_ova"/>
<field name="base_code_id" ref="vat_code_sales_S"/>
<field name="tax_code_id" ref="vat_code_output_S"/>
<field name="ref_base_code_id" ref="vat_code_sales_S"/>
<field name="ref_tax_code_id" ref="vat_code_output_S"/>
<field name="type_tax_use">sale</field>
</record>
<record id="ovatr" model="account.tax.template">
<field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">OVAT R</field>
<field eval="0.005" name="amount"/>
<field name="type">percent</field>
<field name="account_collected_id" ref="conf_ova"/>
<field name="account_paid_id" ref="conf_ova"/>
<field name="base_code_id" ref="vat_code_sales_R"/>
<field name="tax_code_id" ref="vat_code_output_R"/>
<field name="ref_base_code_id" ref="vat_code_sales_R"/>
<field name="ref_tax_code_id" ref="vat_code_output_R"/>
<field name="type_tax_use">sale</field>
</record>
<record id="ovatz" model="account.tax.template">
<field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">OVAT Z</field>
<field eval="0.0" name="amount"/>
<field name="type">percent</field>
<field name="base_code_id" ref="vat_code_sales_Z"/>
<field name="ref_base_code_id" ref="vat_code_sales_Z"/>
<field name="type_tax_use">sale</field>
</record>
<record id="ovatx" model="account.tax.template">
<field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">OVAT X</field>
<field eval="0.0" name="amount"/>
<field name="type">percent</field>
<field name="base_code_id" ref="vat_code_sales_X"/>
<field name="ref_base_code_id" ref="vat_code_sales_X"/>
<field name="type_tax_use">sale</field>
</record>
<record id="ovato" model="account.tax.template">
<field name="chart_template_id" ref="configurable_chart_template"/>
<field name="name">OVAT O</field>
<field eval="0.0" name="amount"/>
<field name="type">percent</field>
<field name="base_code_id" ref="vat_code_sales_O"/>
<field name="ref_base_code_id" ref="vat_code_sales_O"/>
<field name="type_tax_use">sale</field>
</record>
</data>
</openerp>

View File

@ -785,10 +785,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree

View File

@ -805,10 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree

View File

@ -819,11 +819,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -816,11 +816,6 @@ msgstr "(Ostaviti prazno za sve otvorene fiskalne godine)"
msgid "Move Lines"
msgstr "Retci prijenosa"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.wizard"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -829,11 +829,6 @@ msgstr "(deixar-lo buit per a tots els exercicis fiscals oberts)"
msgid "Move Lines"
msgstr "Línies moviment"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.assistent"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -809,11 +809,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -811,11 +811,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -827,11 +827,6 @@ msgstr "(frei lassen für alle Wirtschaftsjahre)"
msgid "Move Lines"
msgstr "Buchungszeilen"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.wizard"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -829,11 +829,6 @@ msgstr "(Διατηρήστε κενό για όλα τα ανοιχτά λογ
msgid "Move Lines"
msgstr "Μετακίνηση Γραμμών"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.wizard"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -828,11 +828,6 @@ msgstr "(dejarlo vacío para todos los ejercicios fiscales abiertos)"
msgid "Move Lines"
msgstr "Líneas movimiento"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.asistente"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -827,11 +827,6 @@ msgstr "(dejar vacío para todos los ejercicios fiscales abiertos)"
msgid "Move Lines"
msgstr "Líneas del movimiento"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "asistente.configuracion.contable"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -826,11 +826,6 @@ msgstr "(dejarlo vacío para todos los ejercicios fiscales abiertos)"
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -807,11 +807,6 @@ msgstr "(Jäta tühjaks kõigi avatud majandusaastate jaoks)"
msgid "Move Lines"
msgstr "Liiguta read"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -826,11 +826,6 @@ msgstr "(Jätä tyhjäksi käyttääksesi kaikkia avoimia tilikausia)"
msgid "Move Lines"
msgstr "Siirron rivit"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.wizard"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -1240,11 +1240,6 @@ msgstr "Livre de coûts"
msgid "Move Lines"
msgstr "Lignes de mouvements"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.wizard"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -806,10 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree

View File

@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -805,11 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -805,11 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -826,11 +826,6 @@ msgstr "(Lasciare vuoto per tutti gli esercizi fiscali aperti)"
msgid "Move Lines"
msgstr "Righe Movimentate"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.wizard"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -806,10 +806,7 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree

View File

@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -809,11 +809,6 @@ msgstr "(palikite tuščią, jei norite visų atvirų fiskalinių metų)"
msgid "Move Lines"
msgstr "Didžiosios knygos įrašai"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -818,11 +818,6 @@ msgstr "(Atstāt tukšu visiem nenoslēgtajiem fiskālajiem gadiem)"
msgid "Move Lines"
msgstr "Grāmatojumu Rindas"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.wizard"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -827,11 +827,6 @@ msgstr "(laat leeg om alle boekjaren mee te nemen)"
msgid "Move Lines"
msgstr "Verplaats boekingsregels"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.wizard"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -805,11 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -808,10 +808,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.wizard"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree

View File

@ -825,11 +825,6 @@ msgstr "(Pozostaw puste dla wszystkich otwartych lat podatkowych)"
msgid "Move Lines"
msgstr "Pozycje zapisów"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -823,11 +823,6 @@ msgstr "(Manter vazio para todos os anos fiscais aberto)"
msgid "Move Lines"
msgstr "Linhas de movimentos"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.wizard"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -826,11 +826,6 @@ msgstr "(Manter vazio para todos os anos fiscais abertos)"
msgid "Move Lines"
msgstr "Mover Linhas"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.wizard"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -827,11 +827,6 @@ msgstr "(Lasaţi necompletat pentru toţi anii fiscali deschişi)"
msgid "Move Lines"
msgstr "Linii mişcări"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.wizard"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -820,11 +820,6 @@ msgstr "Оставить пустым для всех открытых фина
msgid "Move Lines"
msgstr "Строки финансового документа"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "Мастер конфигурации"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -809,11 +809,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -818,11 +818,6 @@ msgstr "(Prazno za vsa odprta davčna leta)"
msgid "Move Lines"
msgstr "Postavke knjižb"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.wizard"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -828,11 +828,6 @@ msgstr "(Mbaje zbrazët për të gjitha vitet fiskale)"
msgid "Move Lines"
msgstr "Lëviz Linjat"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -809,11 +809,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -815,11 +815,6 @@ msgstr "(tomt för alla öppna verksamhetsår)"
msgid "Move Lines"
msgstr "Flytta rader"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "account.config.wizard"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -805,11 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -805,11 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr "Hareket Kalemleri"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -805,11 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -817,11 +817,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -808,11 +808,6 @@ msgstr "(留空为所有开启的会计年度)"
msgid "Move Lines"
msgstr "凭证明细"
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr "科目.设置.向导"
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -806,11 +806,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -805,11 +805,6 @@ msgstr ""
msgid "Move Lines"
msgstr ""
#. module: account
#: model:ir.model,name:account.model_account_config_wizard
msgid "account.config.wizard"
msgstr ""
#. module: account
#: model:ir.actions.act_window,name:account.report_account_analytic_journal_tree
#: model:ir.ui.menu,name:account.report_account_analytic_journal_print

View File

@ -18,22 +18,34 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import time
import datetime
from dateutil.relativedelta import relativedelta
from tools.translate import _
from operator import itemgetter
from osv import fields, osv
import netsvc
import tools
from os.path import join as opj
class account_installer(osv.osv_memory):
_name = 'account.installer'
_inherit = 'res.config.installer'
def _get_default_accounts(self, cr, uid, context=None):
accounts = [{'acc_name':'Current','account_type':'cash'},
{'acc_name':'Deposit','account_type':'cash'}]
return accounts
def _get_charts(self, cr, uid, context=None):
modules = self.pool.get('ir.module.module')
ids = modules.search(cr, uid, [('category_id','=','Account Charts')])
return list(
charts = list(
sorted(((m.name, m.shortdesc)
for m in modules.browse(cr, uid, ids)),
key=itemgetter(1)))
charts.insert(0,('configurable','Generic Chart Of Account'))
return charts
_columns = {
# Accounting
@ -42,9 +54,6 @@ class account_installer(osv.osv_memory):
help="Installs localized accounting charts to match as closely as "
"possible the accounting needs of your company based on your "
"country."),
'account_analytic_default':fields.boolean('Analytic Accounting',
help="Automatically selects analytic accounts based on various "
"criteria."),
'account_analytic_plans':fields.boolean('Multiple Analytic Plans',
help="Allows invoice lines to impact multiple analytic accounts "
"simultaneously."),
@ -57,16 +66,423 @@ class account_installer(osv.osv_memory):
"per-partner policies."),
'account_asset':fields.boolean('Assets Management',
help="Enables asset management in the accounting application, "
"including asset categories and usage periods.")
"including asset categories and usage periods."),
'date_start': fields.date('Start Date', required=True),
'date_stop': fields.date('End Date', required=True),
'period':fields.selection([('month','Monthly'), ('3months','3 Monthly')],
'Periods', required=True),
'bank_accounts_id': fields.one2many('account.bank.accounts.wizard', 'bank_account_id', 'Bank Accounts',required=True),
'sale_tax':fields.float('Sale Tax(%)'),
'purchase_tax':fields.float('Purchase Tax(%)')
}
_defaults = {
'account_analytic_default':True,
'date_start': lambda *a: time.strftime('%Y-01-01'),
'date_stop': lambda *a: time.strftime('%Y-12-31'),
'period':lambda *a:'month',
'sale_tax':lambda *a:0.0,
'purchase_tax':lambda *a:0.0,
#'charts':'configurable',
'bank_accounts_id':_get_default_accounts
}
def on_change_tax(self, cr, uid, id, tax):
return{'value':{'purchase_tax':tax}}
def on_change_start_date(self, cr, uid, id, start_date):
if start_date:
start_date = datetime.datetime.strptime(start_date, "%Y-%m-%d")
end_date = (start_date + relativedelta(months=12)) - relativedelta(days=1)
return {'value':{'date_stop':end_date.strftime('%Y-%m-%d')}}
return {}
def generate_configurable_chart(self, cr, uid, ids, context=None):
mod_obj = self.pool.get('ir.model.data')
result = mod_obj._get_id(cr, uid, 'account', 'configurable_chart_template')
id = mod_obj.read(cr, uid, [result], ['res_id'])[0]['res_id']
obj_multi = self.pool.get('account.chart.template').browse(cr,uid, id)
obj_acc = self.pool.get('account.account')
obj_acc_tax = self.pool.get('account.tax')
obj_journal = self.pool.get('account.journal')
obj_sequence = self.pool.get('ir.sequence')
obj_acc_template = self.pool.get('account.account.template')
obj_fiscal_position_template = self.pool.get('account.fiscal.position.template')
obj_fiscal_position = self.pool.get('account.fiscal.position')
company_id = self.pool.get('res.users').browse(cr,uid,[uid],context)[0].company_id
seq_journal = True
# Creating Account
obj_acc_root = obj_multi.account_root_id
tax_code_root_id = obj_multi.tax_code_root_id.id
#new code
acc_template_ref = {}
tax_template_ref = {}
tax_code_template_ref = {}
todo_dict = {}
#create all the tax code
children_tax_code_template = self.pool.get('account.tax.code.template').search(cr, uid, [('parent_id','child_of',[tax_code_root_id])], order='id')
children_tax_code_template.sort()
for tax_code_template in self.pool.get('account.tax.code.template').browse(cr, uid, children_tax_code_template):
vals={
'name': (tax_code_root_id == tax_code_template.id) and company_id.name or tax_code_template.name,
'code': tax_code_template.code,
'info': tax_code_template.info,
'parent_id': tax_code_template.parent_id and ((tax_code_template.parent_id.id in tax_code_template_ref) and tax_code_template_ref[tax_code_template.parent_id.id]) or False,
'company_id': company_id.id,
'sign': tax_code_template.sign,
}
new_tax_code = self.pool.get('account.tax.code').create(cr,uid,vals)
#recording the new tax code to do the mapping
tax_code_template_ref[tax_code_template.id] = new_tax_code
#create all the tax
for tax in obj_multi.tax_template_ids:
#create it
vals_tax = {
'name':tax.name,
'sequence': tax.sequence,
'amount':tax.amount,
'type':tax.type,
'applicable_type': tax.applicable_type,
'domain':tax.domain,
'parent_id': tax.parent_id and ((tax.parent_id.id in tax_template_ref) and tax_template_ref[tax.parent_id.id]) or False,
'child_depend': tax.child_depend,
'python_compute': tax.python_compute,
'python_compute_inv': tax.python_compute_inv,
'python_applicable': tax.python_applicable,
'tax_group':tax.tax_group,
'base_code_id': tax.base_code_id and ((tax.base_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.base_code_id.id]) or False,
'tax_code_id': tax.tax_code_id and ((tax.tax_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.tax_code_id.id]) or False,
'base_sign': tax.base_sign,
'tax_sign': tax.tax_sign,
'ref_base_code_id': tax.ref_base_code_id and ((tax.ref_base_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.ref_base_code_id.id]) or False,
'ref_tax_code_id': tax.ref_tax_code_id and ((tax.ref_tax_code_id.id in tax_code_template_ref) and tax_code_template_ref[tax.ref_tax_code_id.id]) or False,
'ref_base_sign': tax.ref_base_sign,
'ref_tax_sign': tax.ref_tax_sign,
'include_base_amount': tax.include_base_amount,
'description':tax.description,
'company_id': company_id.id,
'type_tax_use': tax.type_tax_use
}
new_tax = obj_acc_tax.create(cr,uid,vals_tax)
#as the accounts have not been created yet, we have to wait before filling these fields
todo_dict[new_tax] = {
'account_collected_id': tax.account_collected_id and tax.account_collected_id.id or False,
'account_paid_id': tax.account_paid_id and tax.account_paid_id.id or False,
}
tax_template_ref[tax.id] = new_tax
#deactivate the parent_store functionnality on account_account for rapidity purpose
self.pool._init = True
children_acc_template = obj_acc_template.search(cr, uid, [('parent_id','child_of',[obj_acc_root.id]),('nocreate','!=',True)])
children_acc_template.sort()
for account_template in obj_acc_template.browse(cr, uid, children_acc_template):
tax_ids = []
for tax in account_template.tax_ids:
tax_ids.append(tax_template_ref[tax.id])
#create the account_account
dig = 6
code_main = account_template.code and len(account_template.code) or 0
code_acc = account_template.code or ''
if code_main>0 and code_main<=dig and account_template.type != 'view':
code_acc=str(code_acc) + (str('0'*(dig-code_main)))
vals={
'name': (obj_acc_root.id == account_template.id) and company_id.name or account_template.name,
#'sign': account_template.sign,
'currency_id': account_template.currency_id and account_template.currency_id.id or False,
'code': code_acc,
'type': account_template.type,
'user_type': account_template.user_type and account_template.user_type.id or False,
'reconcile': account_template.reconcile,
'shortcut': account_template.shortcut,
'note': account_template.note,
'parent_id': account_template.parent_id and ((account_template.parent_id.id in acc_template_ref) and acc_template_ref[account_template.parent_id.id]) or False,
'tax_ids': [(6,0,tax_ids)],
'company_id': company_id.id,
}
new_account = obj_acc.create(cr,uid,vals)
acc_template_ref[account_template.id] = new_account
if account_template.name == 'Bank Current Account':
view_id_cash = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Cash Journal View')])[0]
view_id_cur = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Multi-Currency Cash Journal View')])[0]
ref_acc_bank = obj_multi.bank_account_view_id
cash_result = mod_obj._get_id(cr, uid, 'account', 'conf_account_type_cash')
cash_type_id = mod_obj.read(cr, uid, [cash_result], ['res_id'])[0]['res_id']
bank_result = mod_obj._get_id(cr, uid, 'account', 'conf_account_type_bnk')
bank_type_id = mod_obj.read(cr, uid, [bank_result], ['res_id'])[0]['res_id']
check_result = mod_obj._get_id(cr, uid, 'account', 'conf_account_type_chk')
check_type_id = mod_obj.read(cr, uid, [check_result], ['res_id'])[0]['res_id']
record = self.browse(cr, uid, ids, context=context)[0]
code_cnt = 1
vals_seq = {
'name': _('Bank Journal '),
'code': 'account.journal',
}
seq_id = obj_sequence.create(cr,uid,vals_seq)
#create the bank journal
vals_journal = {}
vals_journal['name']= _('Bank Journal ')
vals_journal['code']= _('BNK')
vals_journal['sequence_id'] = seq_id
vals_journal['type'] = 'cash'
if vals.get('currency_id', False):
vals_journal['view_id'] = view_id_cur
vals_journal['currency'] = vals.get('currency_id', False)
else:
vals_journal['view_id'] = view_id_cash
vals_journal['default_credit_account_id'] = new_account
vals_journal['default_debit_account_id'] = new_account
obj_journal.create(cr,uid,vals_journal)
for val in record.bank_accounts_id:
if val.account_type == 'cash':type = cash_type_id
elif val.account_type == 'bank':type = bank_type_id
else:type = check_type_id
vals_bnk = {'name': val.acc_name or '',
'currency_id': val.currency_id.id or False,
'code': str(110400 + code_cnt),
'type': 'other',
'user_type': type,
'parent_id':new_account,
'company_id': company_id.id }
child_bnk_acc = obj_acc.create(cr, uid, vals_bnk)
vals_seq_child = {
'name': _(vals_bnk['name']),
'code': 'account.journal',
}
seq_id = obj_sequence.create(cr, uid, vals_seq_child)
#create the bank journal
vals_journal = {}
vals_journal['name']= vals_bnk['name'] + ' Journal'
vals_journal['code']= _(vals_bnk['name'][:3])
vals_journal['sequence_id'] = seq_id
vals_journal['type'] = 'cash'
if vals.get('currency_id', False):
vals_journal['view_id'] = view_id_cur
vals_journal['currency'] = vals_bnk.get('currency_id', False)
else:
vals_journal['view_id'] = view_id_cash
vals_journal['default_credit_account_id'] = child_bnk_acc
vals_journal['default_debit_account_id'] = child_bnk_acc
obj_journal.create(cr,uid,vals_journal)
code_cnt += 1
#reactivate the parent_store functionnality on account_account
self.pool._init = False
self.pool.get('account.account')._parent_store_compute(cr)
for key,value in todo_dict.items():
if value['account_collected_id'] or value['account_paid_id']:
obj_acc_tax.write(cr, uid, [key], {
'account_collected_id': acc_template_ref[value['account_collected_id']],
'account_paid_id': acc_template_ref[value['account_paid_id']],
})
# Creating Journals
vals_journal={}
view_id = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Journal View')])[0]
seq_id = obj_sequence.search(cr,uid,[('name','=','Account Journal')])[0]
if seq_journal:
seq_id_sale = obj_sequence.search(cr,uid,[('name','=','Sale Journal')])[0]
seq_id_purchase = obj_sequence.search(cr,uid,[('name','=','Purchase Journal')])[0]
else:
seq_id_sale = seq_id
seq_id_purchase = seq_id
vals_journal['view_id'] = view_id
#Sales Journal
vals_journal['name'] = _('Sales Journal')
vals_journal['type'] = 'sale'
vals_journal['code'] = _('SAJ')
vals_journal['sequence_id'] = seq_id_sale
if obj_multi.property_account_receivable:
vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.property_account_income_categ.id]
vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.property_account_income_categ.id]
obj_journal.create(cr,uid,vals_journal)
# Purchase Journal
vals_journal['name'] = _('Purchase Journal')
vals_journal['type'] = 'purchase'
vals_journal['code'] = _('EXJ')
vals_journal['sequence_id'] = seq_id_purchase
if obj_multi.property_account_payable:
vals_journal['default_credit_account_id'] = acc_template_ref[obj_multi.property_account_expense_categ.id]
vals_journal['default_debit_account_id'] = acc_template_ref[obj_multi.property_account_expense_categ.id]
obj_journal.create(cr,uid,vals_journal)
# Bank Journals
view_id_cash = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Cash Journal View')])[0]
view_id_cur = self.pool.get('account.journal.view').search(cr,uid,[('name','=','Multi-Currency Cash Journal View')])[0]
ref_acc_bank = obj_multi.bank_account_view_id
#create the properties
property_obj = self.pool.get('ir.property')
fields_obj = self.pool.get('ir.model.fields')
todo_list = [
('property_account_receivable','res.partner','account.account'),
('property_account_payable','res.partner','account.account'),
('property_account_expense_categ','product.category','account.account'),
('property_account_income_categ','product.category','account.account'),
('property_account_expense','product.template','account.account'),
('property_account_income','product.template','account.account')
]
for record in todo_list:
r = []
r = property_obj.search(cr, uid, [('name','=', record[0] ),('company_id','=',company_id.id)])
account = getattr(obj_multi, record[0])
field = fields_obj.search(cr, uid, [('name','=',record[0]),('model','=',record[1]),('relation','=',record[2])])
vals = {
'name': record[0],
'company_id': company_id.id,
'fields_id': field[0],
'value': account and 'account.account,'+str(acc_template_ref[account.id]) or False,
}
if r:
#the property exist: modify it
property_obj.write(cr, uid, r, vals)
else:
#create the property
property_obj.create(cr, uid, vals)
fp_ids = obj_fiscal_position_template.search(cr, uid,[('chart_template_id', '=', obj_multi.id)])
if fp_ids:
for position in obj_fiscal_position_template.browse(cr, uid, fp_ids):
vals_fp = {
'company_id' : company_id.id,
'name' : position.name,
}
new_fp = obj_fiscal_position.create(cr, uid, vals_fp)
obj_tax_fp = self.pool.get('account.fiscal.position.tax')
obj_ac_fp = self.pool.get('account.fiscal.position.account')
for tax in position.tax_ids:
vals_tax = {
'tax_src_id' : tax_template_ref[tax.tax_src_id.id],
'tax_dest_id' : tax.tax_dest_id and tax_template_ref[tax.tax_dest_id.id] or False,
'position_id' : new_fp,
}
obj_tax_fp.create(cr, uid, vals_tax)
for acc in position.account_ids:
vals_acc = {
'account_src_id' : acc_template_ref[acc.account_src_id.id],
'account_dest_id' : acc_template_ref[acc.account_dest_id.id],
'position_id' : new_fp,
}
obj_ac_fp.create(cr, uid, vals_acc)
def execute(self, cr, uid, ids, context=None):
super(account_installer, self).execute(cr, uid, ids, context=context)
record = self.browse(cr, uid, ids, context=context)[0]
company_id = self.pool.get('res.users').browse(cr,uid,[uid],context)[0].company_id
for res in self.read(cr,uid,ids):
if record.charts == 'configurable':
mod_obj = self.pool.get('ir.model.data')
fp = tools.file_open(opj('account','configurable_account_chart.xml'))
tools.convert_xml_import(cr, 'account', fp, {}, 'init',True, None)
fp.close()
self.generate_configurable_chart(cr, uid, ids, context=context)
obj_tax = self.pool.get('account.tax')
obj_product = self.pool.get('product.product')
ir_values = self.pool.get('ir.values')
s_tax = (res.get('sale_tax',0.0))/100
p_tax = (res.get('purchase_tax',0.0))/100
tax_val = {}
default_tax = []
pur_tax_parent = mod_obj._get_id(cr, uid, 'account', 'vat_code_base_purchases')
pur_tax_parent_id = mod_obj.read(cr, uid, [pur_tax_parent], ['res_id'])[0]['res_id']
sal_tax_parent = mod_obj._get_id(cr, uid, 'account', 'vat_code_base_sales')
sal_tax_parent_id = mod_obj.read(cr, uid, [sal_tax_parent], ['res_id'])[0]['res_id']
if s_tax*100 > 0.0:
vals_tax_code = {
'name': 'VAT%s%%'%(s_tax*100),
'code': 'VAT%s%%'%(s_tax*100),
'company_id': company_id.id,
'sign': 1,
'parent_id':sal_tax_parent_id
}
new_tax_code = self.pool.get('account.tax.code').create(cr,uid,vals_tax_code)
sales_tax = obj_tax.create(cr, uid,
{'name':'VAT%s%%'%(s_tax*100),
'description':'VAT%s%%'%(s_tax*100),
'amount':s_tax,
'base_code_id':new_tax_code,
'tax_code_id':new_tax_code,
'type_tax_use':'sale'
})
tax_val.update({'taxes_id':[(6,0,[sales_tax])]})
default_tax.append(('taxes_id',sales_tax))
if p_tax*100 > 0.0:
vals_tax_code = {
'name': 'VAT%s%%'%(p_tax*100),
'code': 'VAT%s%%'%(p_tax*100),
'company_id': company_id.id,
'sign': 1,
'parent_id':pur_tax_parent_id
}
new_tax_code = self.pool.get('account.tax.code').create(cr,uid,vals_tax_code)
purchase_tax = obj_tax.create(cr, uid,
{'name':'VAT%s%%'%(p_tax*100),
'description':'VAT%s%%'%(p_tax*100),
'amount':p_tax,
'base_code_id':new_tax_code,
'tax_code_id':new_tax_code,
'type_tax_use':'purchase'
})
tax_val.update({'supplier_taxes_id':[(6,0,[purchase_tax])]})
default_tax.append(('supplier_taxes_id',purchase_tax))
if len(tax_val):
product_ids = obj_product.search(cr,uid, [])
for product in obj_product.browse(cr, uid, product_ids):
obj_product.write(cr, uid, product.id, tax_val)
for name, value in default_tax:
ir_values.set(cr, uid, key='default', key2=False, name=name, models =[('product.product',False)], value=[value])
if 'date_start' in res and 'date_stop' in res:
name = code = res['date_start'][:4]
if int(name) != int(res['date_stop'][:4]):
name = res['date_start'][:4] +'-'+ res['date_stop'][:4]
code = res['date_start'][2:4] +'-'+ res['date_stop'][2:4]
res_obj = self.pool.get('account.fiscalyear')
vals = {'name':name,
'code':code,
'date_start':res['date_start'],
'date_stop':res['date_stop'],
}
period_id = res_obj.create(cr, uid, vals, context=context)
if res['period'] == 'month':
res_obj.create_period(cr, uid, [period_id])
elif res['period'] == '3months':
res_obj.create_period3(cr, uid, [period_id])
def modules_to_install(self, cr, uid, ids, context=None):
modules = super(account_installer, self).modules_to_install(
cr, uid, ids, context=context)
chart = self.read(cr, uid, ids, ['charts'],
context=context)[0]['charts']
self.logger.notifyChannel(
@ -76,3 +492,18 @@ class account_installer(osv.osv_memory):
account_installer()
class account_bank_accounts_wizard(osv.osv_memory):
_name='account.bank.accounts.wizard'
_columns = {
'acc_name':fields.char('Account Name.', size=64, required=True),
'bank_account_id':fields.many2one('wizard.multi.charts.accounts', 'Bank Account', required=True),
'currency_id':fields.many2one('res.currency', 'Currency'),
'account_type':fields.selection([('cash','Cash'),('check','Check'),('bank','Bank')], 'Type', size=32),
}
_defaults = {
'currency_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.currency_id.id,
}
account_bank_accounts_wizard()

View File

@ -1,26 +1,35 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<record id="analytic_root" model="account.analytic.account">
<field name="name">Analytic Chart</field>
<field name="code">0</field>
</record>
<record id="analytic_absences" model="account.analytic.account">
<field name="name">Leaves</field>
<field name="code">1</field>
<field name="parent_id" ref="analytic_root"/>
</record>
<record id="analytic_internal" model="account.analytic.account">
<field name="name">Internal</field>
<field name="code">2</field>
<field name="parent_id" ref="analytic_root"/>
</record>
<record id="analytic_our_super_product" model="account.analytic.account">
<field name="name">Our Super Product</field>
<field name="code">100</field>
<field name="state">open</field>
<field name="parent_id" ref="analytic_root"/>
</record>
<record id="analytic_project_1" model="account.analytic.account">
<field name="name">Project 1</field>
<field name="code">101</field>
<field name="parent_id" ref="analytic_root"/>
</record>
<record id="analytic_project_2" model="account.analytic.account">
<field name="name">Project 2</field>
<field name="code">102</field>
<field name="parent_id" ref="analytic_root"/>
</record>
<record id="analytic_journal_trainings" model="account.analytic.account">
<field name="name">Training</field>

View File

@ -65,8 +65,6 @@
"access_account_fiscalyear_invoice","account.fiscalyear.invoice","model_account_fiscalyear","account.group_account_invoice",1,0,0,0
"access_res_currency_account_manager","res.currency account manager","base.model_res_currency","group_account_manager",1,1,1,1
"access_res_currency_rate_account_manager","res.currency.rate account manager","base.model_res_currency_rate","group_account_manager",1,1,1,1
"access_account_config_wizard_account_manager","account.config.wizard account manager","model_account_config_wizard","group_account_manager",1,1,1,1
"access_account_config_wizard_system_manager","account.config.wizard system manager","model_account_config_wizard","base.group_system",1,1,1,1
"access_account_add_tmpl_wizard_account_manager","account.addtmpl.wizard account manager","model_account_addtmpl_wizard","group_account_manager",1,1,1,1
"access_account_add_tmpl_wizard_system_manager","account.addtmpl.wizard system manager","model_account_addtmpl_wizard","base.group_system",1,1,1,1
"access_account_invoice_user","account.invoice user","model_account_invoice","base.group_user",1,0,0,0

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
65 access_account_fiscalyear_invoice account.fiscalyear.invoice model_account_fiscalyear account.group_account_invoice 1 0 0 0
66 access_res_currency_account_manager res.currency account manager base.model_res_currency group_account_manager 1 1 1 1
67 access_res_currency_rate_account_manager res.currency.rate account manager base.model_res_currency_rate group_account_manager 1 1 1 1
access_account_config_wizard_account_manager account.config.wizard account manager model_account_config_wizard group_account_manager 1 1 1 1
access_account_config_wizard_system_manager account.config.wizard system manager model_account_config_wizard base.group_system 1 1 1 1
68 access_account_add_tmpl_wizard_account_manager account.addtmpl.wizard account manager model_account_addtmpl_wizard group_account_manager 1 1 1 1
69 access_account_add_tmpl_wizard_system_manager account.addtmpl.wizard system manager model_account_addtmpl_wizard base.group_system 1 1 1 1
70 access_account_invoice_user account.invoice user model_account_invoice base.group_user 1 0 0 0

View File

@ -54,7 +54,8 @@
id="analytic_rule_action_partner"
res_model="account.analytic.default"
src_model="res.partner"
domain="[('partner_id','=',active_id)]"/>
domain="[('partner_id','=',active_id)]"
groups="base.group_extended"/>
<act_window
name="Analytic Rules"
id="analytic_rule_action_user"
@ -66,7 +67,8 @@
res_model="account.analytic.default"
id="analytic_rule_action_product"
src_model="product.product"
domain="[('product_id','=',active_id)]"/>
domain="[('product_id','=',active_id)]"
groups="base.group_extended"/>
</data>
</openerp>

View File

@ -11,6 +11,9 @@
<form position="attributes">
<attribute name="string">Install Extra Modules</attribute>
</form>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
</xpath>
<xpath expr="//label[@string='description']"
position="attributes">
<attribute name="string">Install more modules. A few modules are proposed according to the Association Profile you selected. You will be able to install them based on our requirements.</attribute>
@ -45,5 +48,16 @@
<field name="action_id" ref="action_config_install_module"/>
<field name="sequence">3</field>
</record>
<record id="association_ir_actions_todo_tree" model="ir.ui.view">
<field name="model">ir.actions.todo</field>
<field name="name">association_installer_action_replace</field>
<field name="type">tree</field>
<field name="inherit_id" ref="base.ir_actions_todo_tree"/>
<field name="arch" type="xml">
<xpath expr="//button[@string='Launch']" position="replace">
<button name="%(action_config_install_module)d" states="open,skip" string="Launch" type="action" icon="gtk-execute" help="Launch Configuration Wizard"/>
</xpath>
</field>
</record>
</data>
</openerp>

View File

@ -1,6 +1,6 @@
# -*- coding: utf-8 -*-
##############################################################################
#
#
# OpenERP, Open Source Management Solution
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
#
@ -15,16 +15,21 @@
# 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/>.
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import installer
import todo
import gtk_contact_form
import wizard
from osv import osv
import os
import base64
import random
import tools
from osv import fields, osv
import netsvc
from tools.translate import _
class base_setup_config_choice(osv.osv_memory):
"""
@ -32,6 +37,29 @@ class base_setup_config_choice(osv.osv_memory):
_name = 'base.setup.config'
logger = netsvc.Logger()
def _get_image(self, cr, uid, context=None):
file_no = str(random.randint(1,3))
path = os.path.join('base','res','config_pixmaps/%s.png'%file_no)
file_data = tools.file_open(path,'rb').read()
return base64.encodestring(file_data)
def get_users(self, cr, uid, context={}):
user_obj = self.pool.get('res.users')
user_ids = user_obj.search(cr, uid, [])
users = user_obj.browse(cr, uid, user_ids)
user_str = '\n'.join(map(lambda x: ' - %s: %s / %s' % (x.name, x.login, x.password), users))
return _('The following users have been installed on your database: \n')+ user_str
_columns = {
'installed_users':fields.text('Installed Users', readonly=True),
'config_logo' : fields.binary('Image', readonly=True),
}
_defaults = {
'installed_users':get_users,
'config_logo' : _get_image
}
def set_default_menu(self, cr, uid, menu, context=None):
user = self.pool.get('res.users')\
.browse(cr, uid, uid, context=context)

View File

@ -43,7 +43,7 @@
'init_xml': ['base_setup_data.xml'],
'update_xml': ['security/ir.model.access.csv',
'base_setup_installer.xml',
'base_setup_todo.xml',],
'base_setup_todo.xml','gtk_contact_form.xml'],
'demo_xml': ['base_setup_demo.xml'],
'installable': True,
'active': True,

View File

@ -6,25 +6,29 @@
<field name="model">base.setup.config</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Setup">
<group colspan="4">
<image name="gtk-dialog-info"/>
<group colspan="2" col="4">
<separator colspan="4" string="Installation Done"/>
<label align="0.0" colspan="4"
string="Your new database is now fully installed."/>
<label align="0.0" colspan="4"
string="You can start configuring the system or connect directly to the database using the default setup."/>
</group>
</group>
<separator string="" colspan="4"/>
<button name="menu" icon="gtk-ok" type="object"
string="Use Directly"/>
<button name="config" icon="gtk-go-forward" type="object"
string="Start Configuration"/>
</form>
</field>
</record>
<form string="Setup">
<group colspan="4" col="8">
<group colspan="3" width="200">
<field name="config_logo" widget="image" width="150" height="100" nolabel="1" colspan="1"/>
<newline/>
<label align="0.0" string="You can start configuring the system or connect directly to the database as an administrator." width="200" colspan="2"/>
</group>
<separator string="" position="vertical" colspan="1" rowspan="8"/>
<group colspan="4" width="400">
<separator string="Installation Done" colspan="4"/>
<label align="0.0" string="Your new database is now fully installed." colspan="4"/>
<field name="installed_users" nolabel= "1" colspan="4"/>
</group>
</group>
<group colspan="8" col="8">
<separator string="" colspan="8"/>
<label string="" colspan="6"/>
<button name="menu" icon="gtk-ok" type="object" string="Use Directly" colspan="1"/>
<button name="config" icon="gtk-go-forward" type="object" string="Start Configuration" colspan="1"/>
</group>
</form>
</field>
</record>
<record id="action_base_setup" model="ir.actions.act_window">
<field name="name">Setup</field>

View File

@ -8,31 +8,34 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Base Setup Modules Installation</attribute>
<attribute name="string">Install OpenERP Modules</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">Install Modules</attribute>
</separator>
<xpath expr="//label[@string='description']"
position="attributes">
<attribute name="string"
>Now that OpenERP is installed, we have selected applications commonly useful to users which you can install directly, as well as sets of applications for more specific types or groups of businesses (the vertical modules).
>Now that OpenERP is installed, We have selected applications commonly useful to users which you can install directly, as well as sets of applications for more specific types or groups of businesses (the vertical modules).
If you don't think you need any of these right now, you can easily install them later on.</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
<attribute name='rowspan'>15</attribute>
</xpath>
<separator string="title" position="attributes">
<attribute name="string">Install Generic Modules</attribute>
</separator>
<group colspan="8">
<separator string="Generic Modules" colspan="4"/>
<field name="crm"/> <field name="sale"/>
<field name="project"/> <field name="knowledge"/>
<field name="stock"/> <field name="mrp"/>
<field name="account"/> <field name="purchase"/>
<field name="hr"/> <field name="point_of_sale"/>
<field name="marketing"/> <field name="misc_tools"/>
<field name="report_designer"/> <field name="thunderbird"/>
<separator string="Vertical Modules" colspan="4"/>
<field name="profile_association"/>
<field name="profile_auction"/>
<field name="profile_bookstore"/>
<field name="crm" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="sale" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
<field name="project" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="knowledge" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
<field name="stock" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="mrp" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
<field name="account" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="purchase" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
<field name="hr" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/> <field name="point_of_sale" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)" groups="base.group_extended"/>
<field name="marketing" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)" groups="base.group_extended"/> <field name="misc_tools" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
<field name="report_designer" groups="base.group_extended" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
<separator string="Install Specific Business Modules" colspan="4"/>
<field name="profile_association" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
<field name="profile_auction" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
<field name="profile_bookstore" on_change="onchange_moduleselection(crm,sale,project,knowledge,stock,mrp,account,purchase,hr,point_of_sale,marketing,misc_tools,report_designer,profile_association,profile_auction,profile_bookstore)"/>
</group>
</data>
</field>
@ -52,5 +55,16 @@ If you don't think you need any of these right now, you can easily install them
<field name="action_id" ref="action_base_setup_installer"/>
<field name="sequence">2</field>
</record>
<record id="base_setup_ir_actions_todo_tree" model="ir.ui.view">
<field name="model">ir.actions.todo</field>
<field name="name">base_setup_installer_action_replace</field>
<field name="type">tree</field>
<field name="inherit_id" ref="base.ir_actions_todo_tree"/>
<field name="arch" type="xml">
<xpath expr="//button[@string='Launch']" position="replace">
<button name="%(action_base_setup_installer)d" states="open,skip" string="Launch" type="action" icon="gtk-execute" help="Launch Configuration Wizard"/>
</xpath>
</field>
</record>
</data>
</openerp>

View File

@ -10,33 +10,45 @@
<form position="attributes">
<attribute name="string">Main Company Setup</attribute>
</form>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">Information of your company will be used to custiomise your documents like Invoices, Sale Orders,...</attribute>
</xpath>
<xpath expr='//separator[@string="title"]' position='attributes'>
<attribute name='string'>Configure Your Company</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>25</attribute>
<attribute name='string'></attribute>
</xpath>
<group string="res_config_contents" position="replace">
<field name="company_id" invisible="1"/>
<group colspan="5">
<group colspan="2">
<field name="company_id" invisible="1"/>
<field name="name" required="True"/><field name="account_no"/>
<field name="currency" widget="selection"/><field name="street"/>
<field name="zip"/>
<field name="street2"/>
<field name="city"/>
<field name="country_id"/>
<field name="state_id"/>
<field name="email"/>
<field name="phone"/>
<field name="website"/>
</group>
<newline/>
<group colspan="2" groups="base.group_extended">
<separator string="Report Information" colspan="4"/>
<field name="rml_header1" colspan="5"/>
<field name="rml_footer1" colspan="5"/>
<field name="rml_footer2" colspan="5"/>
<separator string="Configure Your Company" colspan="4"/>
<field name="name" colspan="4" required="True"/>
<newline/>
<field name="street"/>
<field name="street2"/>
<field name="zip"/>
<field name="city"/>
<field name="country_id"/>
<field name="state_id"/>
<field name="email"/>
<field name="phone"/>
<field name="currency"/>
<separator string="Report Information" colspan="4"/>
<field name="rml_header1" colspan="4"/>
<field name="rml_footer1" colspan="4"/>
<field name="rml_footer2" colspan="4"/>
<separator colspan="4"
string="Your Logo - Use a size of about 450x150 pixels."/>
<field colspan="4" name="logo" widget="image"
nolabel="1"/>
</group>
<separator colspan="4"
string="Your Logo - Use a size of about 450x150 pixels."/>
<field colspan="5" name="logo" widget="image"
nolabel="1"/>
</group>
</group>
</group>
<xpath expr='//button[@name="action_skip"]' position='replace'/>
</data>

View File

@ -0,0 +1,100 @@
# -*- 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 operator import itemgetter
from osv import osv, fields
import netsvc
import tools
from tools import misc
class base_gtkcontactform(osv.osv_memory):
"""
"""
_name = 'base.gtkcontactform'
_inherit = 'res.config'
logger = netsvc.Logger()
def default_get(self, cr, uid, fields_list=None, context=None):
''' set email and phone number selected in the previous company information
form '''
defaults = super(base_gtkcontactform, self)\
.default_get(cr, uid, fields_list=fields_list, context=context)
company_id = self.pool.get('base.setup.company').search(cr, uid, [])
company = self.pool.get('base.setup.company').read(cr, uid, company_id)
company = company and company[0] or False
if company:
defaults.update({'email':company.get('email',''),
'phone': company.get('phone','')})
return defaults
_columns = {
'name':fields.char('Your Name', size=64),
'job':fields.char('Job Title', size=64,),
'email':fields.char('E-mail', size=64),
'phone':fields.char('Phone', size=64),
'total_employees':fields.selection([('1-5','1-5'),('5-20','5-20'),('20-100','20-100'),('100-500','100-500'),('500','500+')], 'No Of Employees', size=32),
'industry':fields.selection([('apparel','Apparel'),('banking','Banking'),('biotechnology','Biotechnology'),('chemicals','Chemicals'),('communications','Communications'),
('construction','Construction'),('consulting','Consulting'),('education','Education'),('electronics','Electronics'),('energy','Energy'),('engineering','Engineering'),
('entertainment','Entertainment'),('environmental','Environmental'),('finance','Finance'),('government','Government'),('healthcare','Healthcare'),('hospitality','Hospitality'),
('insurance','Insurance'),('machinery','Machinery'),('manufacturing','Manufacturing'),('media','Media'),('notforprofit','Not For Profit'),
('recreation','Recreation'),('retail','Retail'),('shipping','Shipping'),('technology','Technology'),('telecommunications','Telecommunications'),
('transportation','Transportation'),('utilities','Utilities'),('other','Other'),
], 'Industry', size=32),
'use_openerp':fields.boolean('We plan to use OpenERP'),
'already_using_openerp':fields.boolean('Already using OpenERP'),
'sell_openerp':fields.boolean('Plan to sell OpenERP'),
'already_selling__openerp':fields.boolean('Already selling OpenERP'),
'features':fields.boolean('The features of OpenERP'),
'saas':fields.boolean('OpenERP Online Solutions (SaaS)'),
'partners_program':fields.boolean('OpenERP Partners Program (for integrators)'),
'support':fields.boolean('Support and Maintenance Solutions'),
'training':fields.boolean('OpenERP Training Program'),
'other':fields.boolean('Other'),
'ebook':fields.boolean('ebook'),
'updates':fields.boolean('Updates'),
'contact_me':fields.boolean('Contact Me'),
}
def execute(self, cr, uid, ids, context=None):
company_id = self.pool.get('base.setup.company').search(cr, uid, [])
company_data = self.pool.get('base.setup.company').read(cr, uid, company_id)
company_data = company_data and company_data[0] or False
country1 = ''
if company_data and company_data.get('country_id', False):
country = self.pool.get('res.country').read(cr, uid, company_data['country_id'],['name'])['name']
for res in self.read(cr, uid, ids):
email = res.get('email','')
result = "\ncompany: "+ str(company_data.get('name',''))
result += "\nname: " + str(res.get('name',''))
result += "\nphone: " + str(res.get('phone',''))
result += "\ncity: " + str(company_data.get('city',''))
result += "\ncountry: " + str(country)
result += "\nindustry: " + str(res.get('industry', ''))
result += "\ntotal_employees: " + str(res.get('total_employees', ''))
result += "\nplan_use: " + str(res.get('use_openerp', False))
result += "\nsell_openerp: " + str(res.get('sell_openerp', False))
result += "\nebook: " + str(res.get('ebook',False))
result += "\ngtk: " + str(True)
misc.upload_data(email, result, type='SURVEY')
base_gtkcontactform()

View File

@ -0,0 +1,79 @@
<openerp>
<data>
<record id="view_base_setup_contact" model="ir.ui.view">
<field name="name">Contact information</field>
<field name="model">base.gtkcontactform</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.res_config_view_base"/>
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Contact Information</attribute>
</form>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">Information about you and the company you are related too. The Basic information related to the company has already been collected and some more information required by you to fill.</attribute>
</xpath>
<xpath expr='//separator[@string="title"]' position='attributes'>
<attribute name='string'>Would you like more information or documentation ?</attribute>
<attribute name='colspan'>4</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>22</attribute>
<attribute name='string'></attribute>
</xpath>
<group string="res_config_contents" position="replace">
<group colspan="4" height="450" width="600">
<group colspan="4">
<field name="contact_me" nolabel="1"/>
<label align="0.0" string="I accept to be contacted by OpenERP." colspan="3"/>
<field name="ebook" nolabel="1"/>
<label align="0.0" string="I want to receive the Open ERP ebook (PDF) by email." colspan="3"/>
<field name="updates" nolabel="1"/>
<label align="0.0" string="Yes, I would like to receive information updates from OpenERP." colspan="3"/>
</group>
<group colspan="4" attrs="{'invisible':[('ebook','=',False),('updates','=',False)]}">
<separator colspan="4" string="About You"/>
<field name="name" colspan="2" attrs="{'required':[('ebook','=',True),('updates','=',True)]}"/>
<field name="job" colspan="2"/>
<field name="email" colspan="2" attrs="{'required':[('ebook','=',True),('updates','=',True)]}"/>
<field name="phone" colspan="2" attrs="{'required':[('ebook','=',True),('updates','=',True)]}"/>
<field name="total_employees" colspan="2"/>
<field name="industry" colspan="2"/>
</group>
<group colspan="4" attrs="{'invisible':[('ebook','=',False),('updates','=',False)]}">
<separator string="Your projects with OpenERP" colspan="4"/>
<field name="use_openerp" align="0.0" colspan="1"/>
<field name="already_using_openerp" align="0.0" colspan="1"/>
<field name="sell_openerp" align="0.0" colspan="1"/>
<field name="already_selling__openerp" align="0.0" colspan="1"/>
<separator colspan="4" string="You would like to know more about"/>
<field name="features" align="0.0" colspan="1"/>
<field name="training" align="0.0" colspan="1"/>
<field name="saas" align="0.0" colspan="1"/>
<field name="support" align="0.0" colspan="1"/>
<field name="partners_program" align="0.0" colspan="1"/>
<field name="other" align="0.0" colspan="1"/>
</group>
</group>
</group>
</data>
</field>
</record>
<record id="action_base_contact" model="ir.actions.act_window">
<field name="name">Setup contact information</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">base.gtkcontactform</field>
<field name="view_id" ref="view_base_setup_contact"/>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<record id="base_setup_contact_todo" model="ir.actions.todo">
<field name="action_id" ref="action_base_contact"/>
<field name="sequence">1</field>
<field name="restart">never</field>
</record>
</data>
</openerp>

View File

@ -69,7 +69,7 @@ class base_setup_installer(osv.osv_memory):
help="Helps you manage your marketing campaigns step by step."),
'misc_tools':fields.boolean('Miscellaneous Tools',
help="Lets you install various interesting but non-essential "
"tools."),
"tools like Survey, Lunch,..."),
'report_designer':fields.boolean('Advanced Reporting',
help="Lets you install various tools to simplify and enhance "
"OpenERP's report creation."),
@ -91,5 +91,25 @@ class base_setup_installer(osv.osv_memory):
_defaults = {
'crm': True,
}
def onchange_moduleselection(self, cr, uid, ids, *args):
progress = self._progress(cr, uid) - round((len(filter(lambda x: x==1, args)))*80/len(args))
if progress <= 10.0:
progress = 10.0
return {'value':{'progress':progress}}
def modules_to_install(self, cr, uid, ids, context=None):
modules = super(base_setup_installer, self).modules_to_install(cr, uid, ids, context=context)
interface_id = self.pool.get('res.config.view').search(cr, uid, [])
interface = self.pool.get('res.config.view').read(cr, uid, interface_id)[0]
modules_selected = self.read(cr, uid, ids)[0]
added_modules = []
if interface.get('view', '') == 'simple' :
if modules_selected.get('mrp', False):
added_modules.append('mrp_jit')
if modules_selected.get('knowledge', False):
added_modules.append('document_ftp')
return modules | set(added_modules)
base_setup_installer()

View File

@ -48,23 +48,23 @@ class base_setup_company(osv.osv_memory):
cr, uid, 'res.country.state', context=context)
def _get_all_countries(self, cr, uid, context=None):
return self._get_all(cr, uid, 'res.country', context=context)
def _get_all_currencies(self, cr, uid, context=None):
return self._get_all(cr, uid, 'res.currency', context=context)
def default_get(self, cr, uid, fields_list=None, context=None):
""" get default company if any, and the various other fields
from the company's fields
"""
base_mod = self.pool.get('ir.module.module').search(cr, uid, [('name','ilike','base')])
base_mod_rec = self.pool.get('ir.module.module').browse(cr, uid, base_mod)[0]
defaults = super(base_setup_company, self)\
.default_get(cr, uid, fields_list=fields_list, context=context)
companies = self.pool.get('res.company')
company_id = companies.search(cr, uid, [], limit=1, order="id")
if not company_id or 'company_id' not in fields_list:
return defaults
company = companies.browse(cr, uid, company_id[0])
defaults['company_id'] = company.id
if not base_mod_rec.demo:
return defaults
defaults['currency'] = company.currency_id.id
for field in ['name','logo','rml_header1','rml_footer1','rml_footer2']:
defaults[field] = company[field]
@ -86,11 +86,11 @@ class base_setup_company(osv.osv_memory):
'street2':fields.char('Street 2', size=128),
'zip':fields.char('Zip Code', size=24),
'city':fields.char('City', size=128),
'state_id':fields.selection(_get_all_states, 'States'),
'country_id':fields.selection(_get_all_countries, 'Countries'),
'state_id':fields.selection(_get_all_states, 'State'),
'country_id':fields.selection(_get_all_countries, 'Country'),
'email':fields.char('E-mail', size=64),
'phone':fields.char('Phone', size=64),
'currency':fields.selection(_get_all_currencies, 'Currency', required=True),
'currency':fields.many2one('res.currency', 'Currency', required=True),
'rml_header1':fields.char('Report Header', size=200,
help='''This sentence will appear at the top right corner of your reports.
We suggest you to put a slogan here:
@ -104,6 +104,8 @@ Web: http://openerp.com - Fax: +32.81.73.35.01 - Fortis Bank: 126-2013269-07''')
We suggest you to put bank information here:
IBAN: BE74 1262 0121 6907 - SWIFT: CPDF BE71 - VAT: BE0477.472.701'''),
'logo':fields.binary('Logo'),
'account_no':fields.char('Account No', size=64),
'website': fields.char('Web', size=64),
}
def execute(self, cr, uid, ids, context=None):
@ -112,7 +114,6 @@ IBAN: BE74 1262 0121 6907 - SWIFT: CPDF BE71 - VAT: BE0477.472.701'''),
if not getattr(payload, 'company_id', None):
raise ValueError('Case where no default main company is setup '
'not handled yet')
company = payload.company_id
company.write({
'name':payload.name,
@ -120,10 +121,13 @@ IBAN: BE74 1262 0121 6907 - SWIFT: CPDF BE71 - VAT: BE0477.472.701'''),
'rml_footer1':payload.rml_footer1,
'rml_footer2':payload.rml_footer2,
'logo':payload.logo,
'currency_id':payload.currency.id,
'account_no':payload.account_no,
})
company.partner_id.write({
'name':payload.name,
'website':payload.website,
})
address_data = {

View File

@ -21,7 +21,7 @@
<field name="model">crm.lead.report</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Opportunity by Sections and Categories" type="bar" orientation="horizontal">
<graph string="Opportunity by Sales Team and Categories" type="bar" orientation="horizontal">
<field name="categ_id"/>
<field name="nbr" operator="+"/>
</graph>

View File

@ -517,7 +517,7 @@ class crm_case_log(osv.osv):
_columns = {
'name': fields.char('Status', size=64),
'date': fields.datetime('Date'),
'section_id': fields.many2one('crm.case.section', 'Section'),
'section_id': fields.many2one('crm.case.section', 'Sales Team'),
'user_id': fields.many2one('res.users', 'User Responsible', readonly=True),
'model_id': fields.many2one('ir.model', "Model"),
'res_id': fields.integer('Resource ID'),

View File

@ -91,6 +91,12 @@
action="crm_case_categ_meet" parent="menu_meeting_sale"
sequence="1" />
<record id="ir_ui_view_sc_calendar0" model="ir.ui.view_sc">
<field name="name">Calendar</field>
<field name="resource">ir.ui.menu</field>
<field name="user_id" ref="base.user_root"/>
<field name="res_id" ref="crm.menu_crm_case_categ_meet"/>
</record>
<record id="action_view_attendee_form" model="ir.actions.act_window">
<field name="name">Meeting Invitations</field>
<field name="type">ir.actions.act_window</field>

View File

@ -101,7 +101,7 @@
<group col="2" colspan="2">
<separator colspan="2" string="Categorization"/>
<field name="section_id" colspan="1" widget="selection"/>
<field name="categ_id" select="1"
<field name="categ_id" select="1" groups="base.group_extended"
string="Category" widget="selection"
domain="[('object_id.model', '=', 'crm.lead')]" />
</group>
@ -225,7 +225,7 @@
<field name="planned_revenue" sum="Total of Planned Revenue"/>
<field name="probability" widget="progressbar" avg="Avg. of Probability"/>
<field name="date_action"/>
<field name="section_id"/>
<field name="section_id" groups="base.group_extended"/>
<field name="user_id"/>
<field name="priority"/>
<field name="state"/>
@ -289,7 +289,6 @@
/>
<separator orientation="vertical"/>
<field name="name" string="Opportunity"/>
<field name="partner_id"/>
<field name="user_id" widget="selection">
<filter icon="terp-partner"
domain="[('user_id','=',uid)]"
@ -319,7 +318,7 @@
<filter string="Partner" icon="terp-crm" domain="[]"
context="{'group_by':'partner_id'}" />
<filter string="Salesman" icon="terp-crm"
domain="[]" context="{'group_by':'user_id'}" />
domain="[('user_id','=',uid)]" context="{'group_by':'user_id'}" />
<separator orientation="vertical" />
<filter string="Creation" icon="terp-project"
domain="[]" context="{'group_by':'create_date'}" />

View File

@ -9,7 +9,7 @@
<field name="model">report.crm.case.section.categ2</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Cases by Section and Type">
<tree string="Cases by Team and Type">
<field name="name"/>
<field name="month"/>
<field name="user_id"/>
@ -31,7 +31,7 @@
<field name="model">report.crm.case.section.categ2</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Cases by Section and Category2">
<form string="Cases by Team and Category2">
<field name="name"/>
<field name="month"/>
<field name="user_id"/>
@ -49,11 +49,11 @@
<!-- Cases by section and category2 of case Graph View -->
<record model="ir.ui.view" id="view_crm_case_section_categ_graph">
<field name="name">CRM Report - Sections and Type(Graph)</field>
<field name="name">CRM Report - Teams and Type(Graph)</field>
<field name="model">report.crm.case.section.categ2</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Cases by Section and Type" type="bar" orientation="horizontal">
<graph string="Cases by Teams and Type" type="bar" orientation="horizontal">
<field name="category2_id"/>
<field name="amount_revenue" operator="+"/>
<field name="section_id" group="True"/>
@ -64,18 +64,18 @@
<!-- Cases by section and category2 of case Search View -->
<record id="view_crm_case_section_categ_filter" model="ir.ui.view">
<field name="name">CRM Report - Sections and Type(Select)</field>
<field name="name">CRM Report - Teams and Type(Select)</field>
<field name="model">report.crm.case.section.categ2</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Cases by Section and Type">
<search string="Cases by Team and Type">
<group col="10" colspan="4">
<filter string="This Year" icon="terp-hr"
domain="[('name','=',time.localtime()[0])]"
help="Cases by Section and Type for this year" />
help="Cases by Team and Type for this year" />
<filter string="This Month" icon="terp-hr"
domain="[('month','=',time.localtime()[1])]"
help="Cases by Section and Type for this month" />
help="Cases by Team and Type for this month" />
<separator orientation="vertical"/>
<field name="section_id"
select="1" widget="selection" />
@ -99,11 +99,11 @@
<!-- Cases by section and stage Tree View -->
<record model="ir.ui.view" id="view_crm_case_section_stage_tree">
<field name="name">CRM Report - Sections and Stage(Tree)</field>
<field name="name">CRM Report - Teams and Stage(Tree)</field>
<field name="model">report.crm.case.section.stage</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Cases by Section and Stage">
<tree string="Cases by Team and Stage">
<field name="name"/>
<field name="month"/>
<field name="user_id"/>
@ -120,11 +120,11 @@
<!-- Cases by section and stage Form View -->
<record model="ir.ui.view" id="view_crm_case_section_stage_form">
<field name="name">CRM Report - Sections and Stage(Form)</field>
<field name="name">CRM Report - Teams and Stage(Form)</field>
<field name="model">report.crm.case.section.stage</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Cases by Section and Stage">
<form string="Cases by Team and Stage">
<field name="name"/>
<field name="month"/>
<field name="user_id"/>
@ -141,11 +141,11 @@
<!-- Cases by section and stage Graph View -->
<record model="ir.ui.view" id="view_crm_case_section_stage_graph">
<field name="name">CRM Report - Sections and Stage(Graph)</field>
<field name="name">CRM Report - Teams and Stage(Graph)</field>
<field name="model">report.crm.case.section.stage</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Cases by Section and Stage" type="bar" orientation="horizontal">
<graph string="Cases by Team and Stage" type="bar" orientation="horizontal">
<field name="stage_id"/>
<field name="amount_revenue" operator="+"/>
<field name="section_id" group="True"/>
@ -156,18 +156,18 @@
<!-- Cases by section and stage Search View -->
<record id="view_crm_case_section_stage_filter" model="ir.ui.view">
<field name="name">CRM Report - Sections and Stage(Select)</field>
<field name="name">CRM Report - Teams and Stage(Select)</field>
<field name="model">report.crm.case.section.stage</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Cases by Section and Stage">
<search string="Cases by Team and Stage">
<group col="8" colspan="4">
<filter string="This Year" icon="terp-hr"
domain="[('name','=',time.localtime()[0])]"
help="Cases by Section and Stage for this year" />
help="Cases by Team and Stage for this year" />
<filter string="This Month" icon="terp-hr"
domain="[('month','=',time.localtime()[1])]"
help="Cases by Section and Stage for this month" />
help="Cases by Team and Stage for this month" />
<separator orientation="vertical"/>
<field name="section_id" select="1" widget="selection"/>
<field name="nbr" select="1"/>
@ -189,11 +189,11 @@
<!-- Cases by section, category and stage Tree View -->
<record model="ir.ui.view" id="view_crm_case_section_categ_stage_tree">
<field name="name">CRM Report - Section, Category and Stage(Tree)</field>
<field name="name">CRM Report - Team, Category and Stage(Tree)</field>
<field name="model">report.crm.case.section.categ.stage</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Cases by Section, Category and Stage">
<tree string="Cases by Team, Category and Stage">
<field name="name"/>
<field name="month"/>
<field name="user_id"/>
@ -210,7 +210,7 @@
<!-- Cases by section, category and stage Form View -->
<record model="ir.ui.view" id="view_crm_case_section_categ_stage_form">
<field name="name">CRM Report - Section, Category and Stage(Form)</field>
<field name="name">CRM Report - Team, Category and Stage(Form)</field>
<field name="model">report.crm.case.section.categ.stage</field>
<field name="type">form</field>
<field name="arch" type="xml">

View File

@ -2,7 +2,7 @@
<openerp>
<data>
<menuitem id="base.menu_crm_configuration" name="Cases"
parent="base.menu_base_config" sequence="0"/>
parent="base.menu_base_config" sequence="0" groups="base.group_extended"/>
<menuitem id="base.next_id_64" name="Reporting"
parent="base.menu_base_partner" sequence="8" />
@ -120,7 +120,7 @@
<field name="view_id" ref="crm_case_stage_tree"/>
</record>
<menuitem id="menu_crm_case_stage" name="Stages" parent="base.menu_crm_configuration"/>
<menuitem id="menu_crm_case_stage" name="Stages" parent="base.menu_crm_configuration" groups="base.group_extended"/>
<!-- Case Categories Form View -->
@ -160,7 +160,7 @@
<field name="view_type">form</field>
<field name="view_id" ref="crm_case_categ_tree-view"/>
</record>
<menuitem id="menu_crm_case_categ" name="Categories" parent="base.menu_crm_configuration"/>
<menuitem id="menu_crm_case_categ" name="Categories" parent="base.menu_crm_configuration" groups="base.group_extended"/>
<menuitem action="crm_case_section_act"
id="menu_crm_case_section_act"
@ -206,7 +206,7 @@
<field name="view_id" ref="crm_case_resource_type_tree"/>
</record>
<menuitem id="menu_crm_case_resource_type" name="Resource Type"
parent="base.menu_crm_configuration" />
parent="base.menu_crm_configuration" groups="base.group_extended" />
<record id="crm_case_section_act_tree" model="ir.actions.act_window">
<field name="name">Cases by section</field>

View File

@ -7,13 +7,13 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2010-01-05 05:59+0000\n"
"PO-Revision-Date: 2010-04-12 19:39+0000\n"
"Last-Translator: drygal <Unknown>\n"
"PO-Revision-Date: 2010-05-12 20:13+0000\n"
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <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: 2010-04-17 04:02+0000\n"
"X-Launchpad-Export-Date: 2010-05-13 04:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: crm
@ -307,7 +307,7 @@ msgstr ""
#. module: crm
#: view:crm.meeting:0
msgid "Exception Dates"
msgstr ""
msgstr "Daty wyjątków"
#. module: crm
#: selection:crm.case.rule,trg_date_type:0
@ -365,12 +365,12 @@ msgstr "Potencjalny partner"
#: view:crm.fundraising:0
#: view:crm.opportunity:0
msgid "Description Information"
msgstr ""
msgstr "Informacja opisowa"
#. module: crm
#: view:crm.lead:0
msgid "Contact Name"
msgstr ""
msgstr "Nazwa kontaktu"
#. module: crm
#: selection:crm.lead.opportunity_set,create_partner,action:0
@ -391,12 +391,12 @@ msgstr ""
#: view:crm.opportunity:0
#: view:crm.phonecall:0
msgid "Contact"
msgstr ""
msgstr "Kontakt"
#. module: crm
#: view:crm.job:0
msgid "Next Interview"
msgstr ""
msgstr "Następna rozmowa kwalifikacyjna"
#. module: crm
#: field:crm.case.rule,regex_history:0
@ -457,18 +457,18 @@ msgstr ""
#. module: crm
#: model:crm.case.stage,name:crm.stage_lead6
msgid "Dead"
msgstr ""
msgstr "Martwe"
#. module: crm
#: view:crm.meeting:0
msgid "Confirm Meeting"
msgstr ""
msgstr "Potwierdź spotkanie"
#. module: crm
#: model:crm.case.categ,name:crm.categ_lead1
#: model:crm.case.categ,name:crm.categ_oppor1
msgid "Existing Customer"
msgstr ""
msgstr "Istniejący klient"
#. module: crm
#: model:crm.case.category2,name:crm.category_meet2
@ -504,7 +504,7 @@ msgstr ""
#. module: crm
#: field:crm.meeting,class:0
msgid "Privacy"
msgstr ""
msgstr "Prywatność"
#. module: crm
#: view:crm.case.rule:0
@ -519,7 +519,7 @@ msgstr ""
#: view:crm.lead:0
#: view:crm.opportunity:0
msgid "Action Information"
msgstr ""
msgstr "Informacja o akcji"
#. module: crm
#: view:crm.case.rule:0
@ -537,7 +537,7 @@ msgstr ""
#. module: crm
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
#. module: crm
#: view:crm.case.rule:0
@ -572,12 +572,12 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "August"
msgstr ""
msgstr "Sierpień"
#. module: crm
#: view:crm.meeting:0
msgid "Meetings Tree"
msgstr ""
msgstr "Drzewo spotkań"
#. module: crm
#: code:addons/crm/crm.py:0
@ -594,7 +594,7 @@ msgstr ""
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm_case_categ_meet
msgid "All Meetings"
msgstr ""
msgstr "Wszystkie spotkania"
#. module: crm
#: model:ir.module.module,shortdesc:crm.module_meta_information
@ -613,7 +613,7 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "June"
msgstr ""
msgstr "Czerwiec"
#. module: crm
#: field:crm.segmentation,som_interval_default:0
@ -641,7 +641,7 @@ msgstr "Pozwól usuwać"
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "October"
msgstr ""
msgstr "Październik"
#. module: crm
#: model:crm.case.stage,name:crm.stage_oppor3
@ -666,7 +666,7 @@ msgstr ""
#. module: crm
#: help:crm.case.section,calendar:0
msgid "Allows to show calendar"
msgstr ""
msgstr "Pozwala pokazać kalendarz"
#. module: crm
#: view:crm.job:0
@ -674,13 +674,13 @@ msgstr ""
#: view:crm.opportunity:0
#: view:crm.phonecall:0
msgid " Today "
msgstr ""
msgstr " Dzisiaj "
#. module: crm
#: wizard_view:crm.job.reschedule_phone_call,init:0
#: wizard_view:crm.opportunity.reschedule_phone_call,init:0
msgid "Phone Call Description"
msgstr ""
msgstr "Opis rozmowy telefonicznej"
#. module: crm
#: view:crm.case.categ:0
@ -714,7 +714,7 @@ msgstr ""
#. module: crm
#: view:crm.phonecall:0
msgid "Assigned to"
msgstr ""
msgstr "Przypisano do"
#. module: crm
#: view:res.partner.events:0
@ -729,7 +729,7 @@ msgstr ""
#. module: crm
#: model:ir.ui.menu,name:crm.menu_crm_case_job_req_main
msgid "Jobs - Hiring Process"
msgstr ""
msgstr "Praca - proces zatrudnienia"
#. module: crm
#: view:crm.case:0
@ -745,7 +745,7 @@ msgstr ""
#: selection:report.crm.case.section.categ2,month:0
#: selection:report.crm.case.section.stage,month:0
msgid "September"
msgstr ""
msgstr "Wrzesień"
#. module: crm
#: view:crm.case:0
@ -765,7 +765,7 @@ msgstr ""
#. module: crm
#: view:crm.meeting:0
msgid "Meetings Form"
msgstr ""
msgstr "Formularz spotkań"
#. module: crm
#: model:crm.case.stage,name:crm.stage_oppor5
@ -812,7 +812,7 @@ msgstr ""
#. module: crm
#: model:crm.case.stage,name:crm.stage_job5
msgid "Contract Signed"
msgstr ""
msgstr "Umowę podpisano"
#. module: crm
#: wizard_view:caldav.crm.subscribe,init:0
@ -873,7 +873,7 @@ msgstr ""
#. module: crm
#: model:crm.case.category2,name:crm.category_lead7
msgid "Television"
msgstr ""
msgstr "Telewizja"
#. module: crm
#: view:crm.segmentation:0

View File

@ -25,6 +25,7 @@
"access_crm_phonecall2partner","crm.phonecall2partner","model_crm_phonecall2partner","crm.group_crm_user",1,1,1,1
"access_crm_phonecall2opportunity","crm.phonecall2opportunity","model_crm_phonecall2opportunity","crm.group_crm_user",1,1,1,1
"access_crm_send_mail","crm.send.mail","model_crm_send_mail","crm.group_crm_user",1,1,1,1
"access_crm_send_mail_attachment","crm.send.mail.attachment","model_crm_send_mail_attachment","crm.group_crm_user",1,1,1,1
"access_crm_partner2opportunity","crm.partner2opportunity","model_crm_partner2opportunity","crm.group_crm_user",1,1,1,1
"access_crm_lead2opportunity_partner","crm.lead2opportunity.partner","model_crm_lead2opportunity_partner","crm.group_crm_user",1,1,1,1
"access_crm_installer","crm.installer.rule","model_crm_installer","crm.group_crm_user",1,1,1,1

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
25 access_crm_phonecall2partner crm.phonecall2partner model_crm_phonecall2partner crm.group_crm_user 1 1 1 1
26 access_crm_phonecall2opportunity crm.phonecall2opportunity model_crm_phonecall2opportunity crm.group_crm_user 1 1 1 1
27 access_crm_send_mail crm.send.mail model_crm_send_mail crm.group_crm_user 1 1 1 1
28 access_crm_send_mail_attachment crm.send.mail.attachment model_crm_send_mail_attachment crm.group_crm_user 1 1 1 1
29 access_crm_partner2opportunity crm.partner2opportunity model_crm_partner2opportunity crm.group_crm_user 1 1 1 1
30 access_crm_lead2opportunity_partner crm.lead2opportunity.partner model_crm_lead2opportunity_partner crm.group_crm_user 1 1 1 1
31 access_crm_installer crm.installer.rule model_crm_installer crm.group_crm_user 1 1 1 1

View File

@ -216,6 +216,9 @@ class crm_send_new_email(osv.osv_memory):
(case.user_id and case.user_id.address_id and \
case.user_id.address_id.email) or hist.email_to or tools.config.get('email_from',False)})
signature = '\n' + (case.user_id.signature or '')
original = [signature]
if include_original == True and 'text' in fields:
header = '-------- Original Message --------'
sender = 'From: %s' %(hist.email_from or '')
@ -223,13 +226,10 @@ class crm_send_new_email(osv.osv_memory):
sentdate = 'Date: %s' % (hist.date)
desc = '\n%s'%(hist.description)
signature = ''
if case.user_id.signature:
signature = '--\n' + case.user_id.signature
original = [header, sender, to, sentdate, desc, signature]
original = '\n'.join(original)
res['text']=original
res['text']= '\n'.join(original)
if 'subject' in fields:
res.update({'subject': '[%s] %s' %(str(case.id), case.name or '')})
if 'state' in fields:

View File

@ -61,14 +61,16 @@
<field name="name" select="1"/>
<field name="active" select="1"/>
<field name="carrier_id" select="1"/>
<field name="sequence" select="1"/>
<field name="sequence" groups="base.group_extended" select="1"/>
<notebook colspan="4">
<page string="Grid definition">
<field colspan="4" name="line_ids" nolabel="1" select="1"/>
</page>
<page string="Destination">
<field colspan="4" name="country_ids"/>
<field colspan="4" name="state_ids"/>
<separator colspan="4" string="Countries"/>
<field colspan="4" name="country_ids" nolabel="1"/>
<separator colspan="4" string="States"/>
<field colspan="4" name="state_ids" nolabel="1"/>
<field name="zip_from"/>
<field name="zip_to"/>
</page>

View File

@ -316,7 +316,8 @@
<act_window domain="[('partner_id', '=', active_id)]"
id="act_res_partner_document" name="Related Documents"
res_model="ir.attachment"
src_model="res.partner"/>
src_model="res.partner"
groups="base.group_extended"/>
<act_window domain="[('parent_id', '=', active_id)]"
id="zoom_directory" name="Related Documents"

View File

@ -24,10 +24,17 @@
<form position="attributes">
<attribute name="string">Auto Configure</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">FTP Server Configuration</attribute>
</separator>
<xpath expr="//label[@string='description']" position="attributes">
<attribute name="string">Choose the address for the Document Management System's FTP server.</attribute>
</xpath>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='rowspan'>12</attribute>
<attribute name='string'></attribute>
</xpath>
<group string="res_config_contents" position="replace">
<separator string="FTP Server Configuration." colspan="4"/>
<label align="0.0" colspan="4"
string="Choose the address for the Document Management System's FTP server."/>
<field name="host"/>
</group>
<xpath expr="//button[@name='action_skip']" position="replace"/>
@ -47,6 +54,7 @@
<record model="ir.actions.todo" id="config_auto_directory">
<field name="action_id" ref="action_config_auto_directory"/>
<field name="groups_id" eval="[(6,0,[ref('base.group_extended')])]"/>
</record>
</data>
</openerp>

View File

@ -2,20 +2,20 @@
<openerp>
<data>
#
# Sequences for crm.case.section
#
#
# Sequences for crm.case.section
#
<record model="ir.sequence.type" id="seq_section_code">
<field name="name">Section Code</field>
<field name="code">event.event</field>
</record>
<record model="ir.sequence" id="seq_section_code1">
<field name="name">Section Code</field>
<field name="code">event.event</field>
<field name="prefix">C/</field>
<field name="padding">3</field>
</record>
<record model="ir.sequence.type" id="seq_section_code">
<field name="name">Section Code</field>
<field name="code">event.event</field>
</record>
<record model="ir.sequence" id="seq_section_code1">
<field name="name">Section Code</field>
<field name="code">event.event</field>
<field name="prefix">C/</field>
<field name="padding">3</field>
</record>
</data>
</openerp>

View File

@ -73,7 +73,7 @@
</record>
<menuitem action="open_module_tree_department" id="menu_department_def" parent="hr.menu_department_tree"/>
<menuitem action="open_module_tree_department" id="menu_hr_department_tree" parent="menu_hr_human_resources"/>
<menuitem action="open_module_tree_department" id="menu_hr_department_tree" parent="menu_hr_root" sequence="5"/>
<record model="ir.ui.view" id="view_users_form_inherit">
<field name="name">res.users.form</field>

View File

@ -8,18 +8,20 @@
<field name="arch" type="xml">
<data>
<form position="attributes">
<attribute name="string">Human Resources Modules Installation</attribute>
<attribute name="string">Select Human Resources Modules To Install</attribute>
</form>
<separator string="title" position="attributes">
<attribute name="string">Configure Human Resources"</attribute>
<attribute name="string">Select Human Resources Modules To Install</attribute>
</separator>
<xpath expr='//separator[@string="vsep"]' position='attributes'>
<attribute name='string'></attribute>
</xpath>
<xpath expr="//label[@string='description']"
position="attributes">
<attribute name="string">The base Human Resources addon will help you manage your employee roster, but your can enhance it even further by installing a few HR-related applications.</attribute>
<attribute name="string">The base Human Resources addon will help you manage your employee roster, but you can enhance it even further by installing a few HR-related applications.</attribute>
</xpath>
<group colspan="8">
<separator string="Human Resources Management" colspan="4"/>
<field name="hr_holidays"/>
<field name="hr_expense"/>
<field name="hr_recruitment"/>
@ -28,6 +30,9 @@
<field name="hr_evaluation"/>
<field name="hr_attendance"/>
</group>
<xpath expr="//button[@string='Install Modules']" position="attributes">
<attribute name="string">Configure</attribute>
</xpath>
</data>
</field>
</record>
@ -46,5 +51,16 @@
<field name="action_id" ref="action_hr_installer"/>
<field name="sequence">3</field>
</record>
<record id="hr_ir_actions_todo_tree" model="ir.ui.view">
<field name="model">ir.actions.todo</field>
<field name="name">hr_installer_action_replace</field>
<field name="type">tree</field>
<field name="inherit_id" ref="base.ir_actions_todo_tree"/>
<field name="arch" type="xml">
<xpath expr="//button[@string='Launch']" position="replace">
<button name="%(action_hr_installer)d" states="open,skip" string="Launch" type="action" icon="gtk-execute" help="Launch Configuration Wizard"/>
</xpath>
</field>
</record>
</data>
</openerp>

View File

@ -2,7 +2,7 @@
<openerp>
<data>
<menuitem icon="terp-hr" id="menu_hr_root" name="Human Resources" sequence="6"/>
<menuitem id="menu_hr_human_resources" sequence="1" name="Human Resources" parent="menu_hr_root"/>
<menuitem id="menu_hr_human_resources" sequence="2" name="Human Resources" parent="menu_hr_root"/>
<menuitem
id="menu_hr_configuration"
name="Configuration"
@ -58,7 +58,7 @@
<group col="2" colspan="2">
<separator string="Status" colspan="2"/>
<field name="gender"/>
<field name="marital"/>
<field name="marital" widget="selection"/>
<field name="country_id"/>
<field name="birthday"/>
</group>
@ -103,7 +103,7 @@
<newline />
<group expand="1" string="Group By..." colspan="11" col="11">
<filter string="Manager" icon="terp-sale" domain="[]" context="{'group_by':'parent_id'}"/>
<filter string="Coach" icon="terp-sale" domain="[]" context="{'group_by':'coach_id'}"/>
<filter string="Coach" icon="terp-sale" domain="[]" context="{'group_by':'coach_id'}" groups="base.group_extended"/>
<separator orientation="vertical" />
<filter string="Department" icon="terp-sale" domain="[]" context="{'group_by':'department_id'}"/>
<filter string="Job" icon="terp-sale" domain="[]" context="{'group_by':'job_id'}"/>
@ -141,13 +141,15 @@
<menuitem
action="open_view_employee_list_my"
id="menu_open_view_employee_list_my"
parent="menu_hr_human_resources"/>
sequence="3"
parent="menu_hr_root"/>
<!--
=======================
Employee marital status
=======================
-->
======================= -->
<record id="hr_hr_employee_marital_status_form" model="ir.ui.view">
<field name="name">hr.hr.employee.marital.status</field>
<field name="model">hr.employee.marital.status</field>
@ -172,6 +174,7 @@
id="hr_menu_marital_status"
parent="hr.menu_view_employee_category_configuration_form" sequence="3"/>
<!--
=======================
Employee architecture
@ -257,9 +260,10 @@
<field name="view_mode">tree,form</field>
</record>
<menuitem action="open_view_categ_form"
id="menu_view_employee_category_form"
parent="menu_view_employee_category_configuration_form" sequence="1"/>
<menuitem action="open_view_categ_form"
id="menu_view_employee_category_form"
parent="menu_view_employee_category_configuration_form" sequence="1"
groups="base.group_extended"/>
<record id="open_view_categ_tree" model="ir.actions.act_window">
<field name="name">Categories structure</field>
@ -287,8 +291,8 @@
<field eval="True" name="object"/>
</record>
<menuitem
action="open_view_categ_tree"
<menuitem
action="open_view_categ_tree"
groups="base.group_extended"
id="menu_view_employee_category_tree" parent="hr.menu_view_employee_category_form"/>
@ -375,9 +379,9 @@
name="Recruitment"
id="base.menu_crm_case_job_req_main"
parent="menu_hr_root"/>
<menuitem
parent="base.menu_crm_case_job_req_main"
id="menu_hr_job"
<menuitem
parent="base.menu_crm_case_job_req_main"
id="menu_hr_job"
action="action_hr_job" sequence="2"/>
</data>

View File

@ -7,31 +7,31 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-11-09 17:36+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2010-05-12 20:04+0000\n"
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <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: 2010-04-17 04:16+0000\n"
"X-Launchpad-Export-Date: 2010-05-13 04:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: hr
#: model:process.node,name:hr.process_node_openerpuser0
#: model:process.transition,name:hr.process_transition_employeeuser0
msgid "Openerp user"
msgstr ""
msgstr "Użytkownik OpenERP"
#. module: hr
#: model:ir.actions.act_window,name:hr.edit_workgroup
#: model:ir.ui.menu,name:hr.menu_edit_workgroup
msgid "Working Time Categories"
msgstr ""
msgstr "Kategorie czasu pracy"
#. module: hr
#: constraint:hr.department:0
msgid "Error! You can not create recursive departments."
msgstr ""
msgstr "Błąd! Nie możesz tworzyć rekurencyjnych działów"
#. module: hr
#: field:hr.employee,sinid:0
@ -42,7 +42,7 @@ msgstr ""
#: model:ir.module.module,shortdesc:hr.module_meta_information
#: model:ir.ui.menu,name:hr.menu_hr_root
msgid "Human Resources"
msgstr ""
msgstr "Zasoby ludzkie"
#. module: hr
#: selection:hr.timesheet,dayofweek:0
@ -57,7 +57,7 @@ msgstr "Nadrzędne"
#. module: hr
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
#. module: hr
#: view:hr.department:0
@ -67,17 +67,17 @@ msgstr "Dział"
#. module: hr
#: model:process.transition,name:hr.process_transition_contactofemployee0
msgid "Contact of employee"
msgstr ""
msgstr "Kontakt do pracownika"
#. module: hr
#: field:hr.employee,work_email:0
msgid "Work Email"
msgstr ""
msgstr "Służbowy e-mail"
#. module: hr
#: field:hr.timesheet.group,name:0
msgid "Group name"
msgstr ""
msgstr "Nazwa grupy"
#. module: hr
#: field:hr.department,company_id:0
@ -93,7 +93,7 @@ msgstr "Piątek"
#. module: hr
#: field:hr.department,parent_id:0
msgid "Parent Department"
msgstr ""
msgstr "Dział nadrzędny"
#. module: hr
#: view:hr.department:0
@ -105,22 +105,22 @@ msgstr "Uwagi"
#. module: hr
#: field:hr.timesheet,hour_from:0
msgid "Work from"
msgstr ""
msgstr "Pracuje od"
#. module: hr
#: model:ir.actions.act_window,name:hr.action2
msgid "Employee Hierarchy"
msgstr ""
msgstr "Hierarchia pracowników"
#. module: hr
#: model:ir.ui.menu,name:hr.menu_hr_configuration
msgid "Configuration"
msgstr "Ustawienia"
msgstr "Konfiguracja"
#. module: hr
#: selection:hr.employee,marital:0
msgid "Unmaried"
msgstr ""
msgstr "Wolny(a)"
#. module: hr
#: selection:hr.employee,gender:0
@ -130,13 +130,13 @@ msgstr "Kobieta"
#. module: hr
#: view:hr.timesheet.group:0
msgid "Working Time Category"
msgstr ""
msgstr "Kategoria czasu pracy"
#. module: hr
#: model:ir.actions.act_window,name:hr.open_view_employee_tree
#: model:ir.ui.menu,name:hr.menu_open_view_employee_tree
msgid "Employees Structure"
msgstr ""
msgstr "Struktura pracowników"
#. module: hr
#: view:hr.employee:0
@ -151,12 +151,12 @@ msgstr "Telefon do pracy"
#. module: hr
#: field:hr.employee.category,child_ids:0
msgid "Child Categories"
msgstr ""
msgstr "Kategorie podrzędne"
#. module: hr
#: field:hr.employee,work_location:0
msgid "Office Location"
msgstr ""
msgstr "Położenia biura"
#. module: hr
#: view:hr.employee:0
@ -169,12 +169,12 @@ msgstr "Pracownik"
#. module: hr
#: field:hr.timesheet.group,manager:0
msgid "Workgroup manager"
msgstr ""
msgstr "Kierownik grupy"
#. module: hr
#: field:hr.employee,child_ids:0
msgid "Subordinates"
msgstr ""
msgstr "Podlegli"
#. module: hr
#: model:ir.ui.menu,name:hr.menu_hr_reporting
@ -194,7 +194,7 @@ msgstr ""
#. module: hr
#: model:process.transition,note:hr.process_transition_contactofemployee0
msgid "Fill up contact information"
msgstr ""
msgstr "Wypełnij informacje o kontakcie"
#. module: hr
#: constraint:ir.ui.view:0
@ -209,7 +209,7 @@ msgstr "Rozwiedziony"
#. module: hr
#: field:hr.employee.category,parent_id:0
msgid "Parent Category"
msgstr ""
msgstr "Kategoria nadrzędna"
#. module: hr
#: model:ir.actions.act_window,name:hr.open_module_tree_department
@ -222,17 +222,17 @@ msgstr "Działy"
#. module: hr
#: model:process.node,name:hr.process_node_employeecontact0
msgid "Employee Contact"
msgstr ""
msgstr "Kontakt do pracownika"
#. module: hr
#: selection:hr.employee,marital:0
msgid "Maried"
msgstr ""
msgstr "Żonaty (Zamężna)"
#. module: hr
#: field:hr.timesheet,tgroup_id:0
msgid "Employee's timesheet group"
msgstr ""
msgstr "Grupa kart czasu pracy pracowników"
#. module: hr
#: selection:hr.employee,gender:0
@ -242,18 +242,18 @@ msgstr "Mężczyzna"
#. module: hr
#: model:process.transition,note:hr.process_transition_employeeuser0
msgid "Create openerp user"
msgstr ""
msgstr "Utwórz użytkownika OpenERP"
#. module: hr
#: view:hr.employee.category:0
#: model:ir.model,name:hr.model_hr_employee_category
msgid "Employee Category"
msgstr ""
msgstr "Kategoria pracownika"
#. module: hr
#: selection:hr.timesheet,dayofweek:0
msgid "Tuesday"
msgstr ""
msgstr "Wtorek"
#. module: hr
#: model:ir.model,name:hr.model_hr_department
@ -269,63 +269,63 @@ msgstr ""
#: field:hr.employee,category_id:0
#: field:hr.employee.category,name:0
msgid "Category"
msgstr ""
msgstr "Kategoria"
#. module: hr
#: field:hr.department,note:0
msgid "Note"
msgstr ""
msgstr "Notatka"
#. module: hr
#: view:hr.employee:0
msgid "Contact Information"
msgstr ""
msgstr "Informacje kontaktowe"
#. module: hr
#: view:hr.employee:0
msgid "Status"
msgstr ""
msgstr "Stan"
#. module: hr
#: selection:hr.timesheet,dayofweek:0
msgid "Monday"
msgstr ""
msgstr "Poniedziałek"
#. module: hr
#: model:ir.actions.act_window,name:hr.open_view_categ_tree
#: model:ir.ui.menu,name:hr.menu_view_employee_category_tree
msgid "Categories structure"
msgstr ""
msgstr "Struktura kategorii"
#. module: hr
#: field:hr.timesheet,dayofweek:0
msgid "Day of week"
msgstr ""
msgstr "Dzień tygodnia"
#. module: hr
#: field:hr.employee,birthday:0
msgid "Birthday"
msgstr ""
msgstr "Data urodzenia"
#. module: hr
#: field:hr.employee,active:0
msgid "Active"
msgstr ""
msgstr "Aktywny"
#. module: hr
#: constraint:hr.employee:0
msgid "Error ! You cannot create recursive Hierarchy of Employees."
msgstr ""
msgstr "Błąd ! Nie mozesz tworzyć rekurencyjnych hierarchii pracowników"
#. module: hr
#: model:process.process,name:hr.process_process_employeecontractprocess0
msgid "Employee Contract Process"
msgstr ""
msgstr "Proces umowy pracownika"
#. module: hr
#: model:process.node,note:hr.process_node_openerpuser0
msgid "Create OpenERP User"
msgstr ""
msgstr "Utwórz użytkownika OpenERP"
#. module: hr
#: model:process.node,note:hr.process_node_employee0
@ -335,23 +335,23 @@ msgstr ""
#. module: hr
#: view:hr.department:0
msgid "Companies"
msgstr ""
msgstr "Firmy"
#. module: hr
#: selection:hr.timesheet,dayofweek:0
msgid "Wednesday"
msgstr ""
msgstr "Środa"
#. module: hr
#: model:ir.actions.act_window,name:hr.open_view_categ_form
#: model:ir.ui.menu,name:hr.menu_view_employee_category_form
msgid "Categories of Employee"
msgstr ""
msgstr "Kategorie pracowników"
#. module: hr
#: field:hr.timesheet,date_from:0
msgid "Starting date"
msgstr ""
msgstr "Data rozpoczęcia"
#. module: hr
#: field:res.users,parent_id:0
@ -361,22 +361,22 @@ msgstr "Użytkownik nadrzędny"
#. module: hr
#: field:hr.employee,address_id:0
msgid "Working Address"
msgstr ""
msgstr "Adres do pracy"
#. module: hr
#: field:hr.employee,marital:0
msgid "Marital Status"
msgstr ""
msgstr "Stan cywilny"
#. module: hr
#: model:ir.model,name:hr.model_hr_timesheet
msgid "Timesheet Line"
msgstr ""
msgstr "Pozycja karty czasu pracy"
#. module: hr
#: view:hr.employee:0
msgid "Personal Information"
msgstr ""
msgstr "Informacje osobiste"
#. module: hr
#: constraint:ir.model:0
@ -391,42 +391,42 @@ msgstr ""
#: field:hr.timesheet.group,timesheet_id:0
#: model:ir.model,name:hr.model_hr_timesheet_group
msgid "Working Time"
msgstr ""
msgstr "Czas pracy"
#. module: hr
#: selection:hr.timesheet,dayofweek:0
msgid "Thursday"
msgstr ""
msgstr "Czwartek"
#. module: hr
#: field:hr.timesheet,hour_to:0
msgid "Work to"
msgstr ""
msgstr "Pracuje do"
#. module: hr
#: selection:hr.employee,marital:0
msgid "Other"
msgstr ""
msgstr "Inny"
#. module: hr
#: view:hr.employee.category:0
msgid "Employees Categories"
msgstr ""
msgstr "Kategorie pracowników"
#. module: hr
#: field:hr.employee,address_home_id:0
msgid "Home Address"
msgstr ""
msgstr "Adres domowy"
#. module: hr
#: view:hr.department:0
msgid "department"
msgstr ""
msgstr "dział"
#. module: hr
#: field:hr.employee,country_id:0
msgid "Nationality"
msgstr ""
msgstr "Narodowość"
#. module: hr
#: field:hr.employee,otherid:0
@ -436,59 +436,59 @@ msgstr ""
#. module: hr
#: field:hr.timesheet,name:0
msgid "Name"
msgstr ""
msgstr "Nazwa"
#. module: hr
#: field:hr.employee,gender:0
msgid "Gender"
msgstr ""
msgstr "Płeć"
#. module: hr
#: view:hr.employee:0
#: model:ir.actions.act_window,name:hr.open_view_employee_list
#: model:ir.ui.menu,name:hr.menu_open_view_employee_list
msgid "Employees"
msgstr ""
msgstr "Pracownicy"
#. module: hr
#: field:hr.department,name:0
msgid "Department Name"
msgstr ""
msgstr "Nazwa departamentu"
#. module: hr
#: field:hr.department,child_ids:0
msgid "Child Departments"
msgstr ""
msgstr "Działy podrzędne"
#. module: hr
#: view:hr.employee:0
msgid "Job Information"
msgstr ""
msgstr "Informacja o pracy"
#. module: hr
#: model:process.node,note:hr.process_node_employeecontact0
msgid "Fill up employee's contact information"
msgstr ""
msgstr "Wypełnij informacje kontaktowe pracownika"
#. module: hr
#: field:hr.department,manager_id:0
#: field:hr.employee,parent_id:0
msgid "Manager"
msgstr ""
msgstr "Menedżer"
#. module: hr
#: model:ir.actions.act_window,name:hr.open_view_employee_list_my
#: model:ir.ui.menu,name:hr.menu_open_view_employee_list_my
msgid "All Employees"
msgstr ""
msgstr "Wszyscy pracownicy"
#. module: hr
#: selection:hr.timesheet,dayofweek:0
msgid "Saturday"
msgstr ""
msgstr "Sobota"
#. module: hr
#: model:ir.actions.act_window,name:hr.open_view_employee_new
#: model:ir.ui.menu,name:hr.menu_open_view_employee_new
msgid "New Employee"
msgstr ""
msgstr "Nowy pracownik"

View File

@ -56,18 +56,19 @@
<field name="action" select="1" />
<newline/>
<group expand="1" string="Group By..." colspan="11" col="11">
<filter string="Employee" icon="terp-sale" domain="[]" context="{'group_by':'employee_id'}"/>
<filter name="employee" string="Employee" icon="terp-sale" domain="[]" context="{'group_by':'employee_id'}"/>
<filter string="Day" icon="terp-sale" domain="[]" context="{'group_by':'day'}"/>
</group>
</search>
</field>
</record>
<record id="open_view_attendance" model="ir.actions.act_window">
<field name="name">Attendances</field>
<field name="res_model">hr.attendance</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="context">{"search_default_employee":1}</field>
<field name="search_view_id" ref="view_hr_attendance_filter" />
</record>
@ -76,7 +77,7 @@
<menuitem
id="menu_hr_time_tracking"
name="Time Tracking"
parent="hr.menu_hr_root" sequence="5"/>
parent="hr.menu_hr_root" sequence="7"/>
<menuitem action="open_view_attendance" id="menu_open_view_attendance"
parent="menu_hr_time_tracking" groups="hr.group_hr_manager"/>

View File

@ -7,20 +7,20 @@ msgstr ""
"Project-Id-Version: OpenERP Server 5.0.0\n"
"Report-Msgid-Bugs-To: support@openerp.com\n"
"POT-Creation-Date: 2009-08-28 16:01+0000\n"
"PO-Revision-Date: 2009-09-16 15:47+0000\n"
"Last-Translator: Fabien (Open ERP) <fp@tinyerp.com>\n"
"PO-Revision-Date: 2010-05-12 19:58+0000\n"
"Last-Translator: Grzegorz Grzelak (Cirrus.pl) <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: 2010-04-17 04:18+0000\n"
"X-Launchpad-Export-Date: 2010-05-13 04:36+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#. module: hr_attendance
#: field:hr.employee,state:0
#: model:ir.model,name:hr_attendance.model_hr_attendance
msgid "Attendance"
msgstr "Frekwencja"
msgstr "Obecności"
#. module: hr_attendance
#: constraint:ir.model:0
@ -48,7 +48,7 @@ msgstr ""
#. module: hr_attendance
#: view:hr.attendance:0
msgid "Employee attendances"
msgstr ""
msgstr "Obecności pracownika"
#. module: hr_attendance
#: constraint:ir.ui.view:0
@ -77,28 +77,28 @@ msgstr "Opóźnienie"
#: wizard_field:hr.si_so,si_ask_so,name:0
#: wizard_field:hr.si_so,so_ask_si,name:0
msgid "Employee's name"
msgstr ""
msgstr "Nazwisko pracownika"
#. module: hr_attendance
#: wizard_button:hr.attendance.print_month,init,print:0
#: wizard_button:hr.attendance.print_week,init,print:0
msgid "Print Timesheet"
msgstr ""
msgstr "Drukuj kartę czasu pracy"
#. module: hr_attendance
#: model:ir.actions.wizard,name:hr_attendance.wizard_attendance_error
msgid "Print Attendance Error Report"
msgstr ""
msgstr "Drukuj raport błędów obecności"
#. module: hr_attendance
#: constraint:ir.actions.act_window:0
msgid "Invalid model name in the action definition."
msgstr ""
msgstr "Nieprawidłowa nazwa modelu w definicji akcji."
#. module: hr_attendance
#: model:ir.actions.wizard,name:hr_attendance.print_week
msgid "Print Timesheet by week"
msgstr ""
msgstr "Drukuj kartę czasu pracy wg tygodni"
#. module: hr_attendance
#: field:hr.attendance,employee_id:0
@ -109,12 +109,12 @@ msgstr "Pracownik"
#: wizard_view:hr.attendance.print_week,init:0
#: wizard_view:hr.attendance.report,init:0
msgid "Select a time span"
msgstr ""
msgstr "Wybierz odstęp czasu"
#. module: hr_attendance
#: rml:report.hr.timesheet.attendance.error:0
msgid "Date Recorded"
msgstr ""
msgstr "Data zapisu"
#. module: hr_attendance
#: selection:hr.attendance,action:0
@ -131,22 +131,22 @@ msgstr ""
#: field:hr.attendance,action_desc:0
#: model:ir.model,name:hr_attendance.model_hr_action_reason
msgid "Action reason"
msgstr ""
msgstr "Powód akcji"
#. module: hr_attendance
#: selection:hr.attendance.print_month,init,month:0
msgid "March"
msgstr ""
msgstr "Marzec"
#. module: hr_attendance
#: selection:hr.attendance.print_month,init,month:0
msgid "August"
msgstr ""
msgstr "Sierpień"
#. module: hr_attendance
#: selection:hr.attendance.print_month,init,month:0
msgid "May"
msgstr ""
msgstr "Maj"
#. module: hr_attendance
#: wizard_field:hr.si_so,so_ask_si,last_time:0
@ -156,12 +156,12 @@ msgstr ""
#. module: hr_attendance
#: selection:hr.attendance.print_month,init,month:0
msgid "June"
msgstr ""
msgstr "Czerwiec"
#. module: hr_attendance
#: model:ir.actions.wizard,name:hr_attendance.print_month
msgid "Print Timesheet by month"
msgstr ""
msgstr "Drukuj kartę czasu pracy wg miesięcy"
#. module: hr_attendance
#: selection:hr.attendance,action:0
@ -172,7 +172,7 @@ msgstr "Wyloguj się"
#. module: hr_attendance
#: model:ir.module.module,shortdesc:hr_attendance.module_meta_information
msgid "Attendances Of Employees"
msgstr ""
msgstr "Obecności pracowników"
#. module: hr_attendance
#: field:hr.action.reason,name:0
@ -187,17 +187,17 @@ msgstr ""
#. module: hr_attendance
#: rml:report.hr.timesheet.attendance.error:0
msgid "Date Signed"
msgstr ""
msgstr "Data podpisu"
#. module: hr_attendance
#: field:hr.attendance,name:0
msgid "Date"
msgstr ""
msgstr "Data"
#. module: hr_attendance
#: selection:hr.attendance.print_month,init,month:0
msgid "July"
msgstr ""
msgstr "Lipiec"
#. module: hr_attendance
#: wizard_view:hr.si_so,si_ask_so:0
@ -209,33 +209,33 @@ msgstr ""
#. module: hr_attendance
#: view:hr.action.reason:0
msgid "Attendance reasons"
msgstr ""
msgstr "Powody obecności"
#. module: hr_attendance
#: wizard_field:hr.attendance.print_week,init,init_date:0
#: wizard_field:hr.attendance.report,init,init_date:0
msgid "Starting Date"
msgstr ""
msgstr "Data rozpoczęcia"
#. module: hr_attendance
#: selection:hr.employee,state:0
msgid "Present"
msgstr ""
msgstr "Obecny(a)"
#. module: hr_attendance
#: selection:hr.employee,state:0
msgid "Absent"
msgstr ""
msgstr "Nieobecny(a)"
#. module: hr_attendance
#: selection:hr.attendance.print_month,init,month:0
msgid "February"
msgstr ""
msgstr "Luty"
#. module: hr_attendance
#: selection:hr.attendance.print_month,init,month:0
msgid "October"
msgstr ""
msgstr "Październik"
#. module: hr_attendance
#: wizard_field:hr.si_so,si_ask_so,last_time:0
@ -250,19 +250,19 @@ msgstr ""
#. module: hr_attendance
#: field:hr.action.reason,action_type:0
msgid "Action's type"
msgstr ""
msgstr "Typ akcji"
#. module: hr_attendance
#: view:hr.action.reason:0
msgid "Define attendance reason"
msgstr ""
msgstr "Definiuj powody obecności"
#. module: hr_attendance
#: selection:hr.action.reason,action_type:0
#: wizard_button:hr.si_so,init,si_test:0
#: wizard_button:hr.si_so,si_ask_so,si:0
msgid "Sign in"
msgstr ""
msgstr "Zaloguj się"
#. module: hr_attendance
#: wizard_view:hr.attendance.report,init:0
@ -272,29 +272,29 @@ msgstr ""
#. module: hr_attendance
#: wizard_field:hr.si_so,init,state:0
msgid "Current state"
msgstr ""
msgstr "Bieżący stan"
#. module: hr_attendance
#: selection:hr.attendance.print_month,init,month:0
msgid "January"
msgstr ""
msgstr "Styczeń"
#. module: hr_attendance
#: selection:hr.attendance.print_month,init,month:0
msgid "April"
msgstr ""
msgstr "Kwiecień"
#. module: hr_attendance
#: model:ir.actions.act_window,name:hr_attendance.open_view_attendance
#: model:ir.ui.menu,name:hr_attendance.menu_hr_attendance
#: model:ir.ui.menu,name:hr_attendance.menu_open_view_attendance
msgid "Attendances"
msgstr ""
msgstr "Obecności"
#. module: hr_attendance
#: rml:report.hr.timesheet.attendance.error:0
msgid "Attendance Errors"
msgstr ""
msgstr "Błąd obecności"
#. module: hr_attendance
#: field:hr.attendance,action:0
@ -305,18 +305,18 @@ msgstr "Akcja"
#. module: hr_attendance
#: wizard_button:hr.attendance.report,init,print:0
msgid "Print Attendance Report"
msgstr ""
msgstr "Drukuj raport obecności"
#. module: hr_attendance
#: model:ir.actions.act_window,name:hr_attendance.open_view_attendance_reason
#: model:ir.ui.menu,name:hr_attendance.menu_open_view_attendance_reason
msgid "Attendance Reasons"
msgstr ""
msgstr "Powód obecności"
#. module: hr_attendance
#: selection:hr.attendance.print_month,init,month:0
msgid "November"
msgstr ""
msgstr "Listopad"
#. module: hr_attendance
#: wizard_view:hr.attendance.report,init:0
@ -331,13 +331,13 @@ msgstr ""
#. module: hr_attendance
#: wizard_view:hr.attendance.print_week,init:0
msgid "Select a starting and a end date"
msgstr ""
msgstr "Wybierz datę rozpoczęcia i zakończenia"
#. module: hr_attendance
#: wizard_field:hr.attendance.print_week,init,end_date:0
#: wizard_field:hr.attendance.report,init,end_date:0
msgid "Ending Date"
msgstr ""
msgstr "Data końcowa"
#. module: hr_attendance
#: wizard_view:hr.si_so,so_ask_si:0
@ -349,32 +349,32 @@ msgstr ""
#. module: hr_attendance
#: selection:hr.attendance.print_month,init,month:0
msgid "September"
msgstr ""
msgstr "Wrzesień"
#. module: hr_attendance
#: selection:hr.attendance.print_month,init,month:0
msgid "December"
msgstr ""
msgstr "Grudzień"
#. module: hr_attendance
#: view:hr.attendance:0
msgid "Employee attendance"
msgstr ""
msgstr "Obecności pracownika"
#. module: hr_attendance
#: wizard_view:hr.attendance.print_month,init:0
msgid "Select a month"
msgstr ""
msgstr "Wybierz miesiąc"
#. module: hr_attendance
#: wizard_field:hr.attendance.print_month,init,month:0
msgid "Month"
msgstr ""
msgstr "Miesiąc"
#. module: hr_attendance
#: model:ir.module.module,description:hr_attendance.module_meta_information
msgid "This module aims to manage employee's attendances."
msgstr ""
msgstr "Ten moduł służy do kontroli obecności"
#. module: hr_attendance
#: model:ir.actions.report.xml,name:hr_attendance.attendance_error_report
@ -384,7 +384,7 @@ msgstr ""
#. module: hr_attendance
#: wizard_field:hr.attendance.print_month,init,year:0
msgid "Year"
msgstr ""
msgstr "Rok"
#. module: hr_attendance
#: wizard_button:hr.attendance.print_month,init,end:0
@ -394,9 +394,9 @@ msgstr ""
#: wizard_button:hr.si_so,si_ask_so,end:0
#: wizard_button:hr.si_so,so_ask_si,end:0
msgid "Cancel"
msgstr ""
msgstr "Anuluj"
#. module: hr_attendance
#: rml:report.hr.timesheet.attendance.error:0
msgid "Operation"
msgstr ""
msgstr "Operacja"

View File

@ -16,7 +16,7 @@
<separator colspan="4"/>
<group col="2" colspan="4">
<button special="cancel" string="Cancel" icon='gtk-cancel'/>
<button name="print_report" string="Print" colspan="1" type="object" icon="gtk-print"/>
<button name="print_report" string="Print" colspan="1" type="object" icon="gtk-yes"/>
</group>
</form>
</field>

View File

@ -17,7 +17,7 @@
<separator colspan="4"/>
<group col="2" colspan="4">
<button special="cancel" string="Cancel" icon='gtk-cancel'/>
<button name="print_report" string="Print" colspan="1" type="object" icon="gtk-print"/>
<button name="print_report" string="Print" colspan="1" type="object" icon="gtk-yes"/>
</group>
</form>
</field>

View File

@ -19,7 +19,7 @@
<separator colspan="4"/>
<group col="2" colspan="4">
<button special="cancel" string="Cancel" icon='gtk-cancel'/>
<button name="print_report" string="Print" colspan="1" type="object" icon="gtk-print"/>
<button name="print_report" string="Print" colspan="1" type="object" icon="gtk-yes"/>
</group>
</form>
</field>

View File

@ -46,7 +46,7 @@
<menuitem action="action_hr_attendance_sigh_in_out"
id="menu_hr_attendance_sigh_in_out"
parent="menu_hr_time_tracking" groups="group_hr_attendance" />
parent="menu_hr_time_tracking" groups="base.group_extended" />
<record id="view_hr_attendance_so_ask" model="ir.ui.view">
<field name="name">hr.sign.in.out.ask.form</field>

View File

@ -21,7 +21,7 @@
<field name="arch" type="xml">
<form string="Wage Type">
<field colspan="4" name="name"/>
<field name="period_id"/>
<field name="period_id" widget="selection"/>
<field name="type"/>
<separator colspan="4" string="Hourly cost computation"/>
<field name="factor_type"/>
@ -70,7 +70,7 @@
<field name="arch" type="xml">
<notebook position="inside">
<page string="Contracts">
<field colspan="4" name="contract_ids" nolabel="1">
<field colspan="4" mode="form,tree" name="contract_ids" nolabel="1">
<tree string="Contracts">
<field name="name"/>
<field name="job_id"/>
@ -133,14 +133,24 @@
</field>
</record>
<record id="hr_contract_type_view_form" model="ir.ui.view">
<field name="name">hr.contract.type.view.form</field>
<field name="model">hr.contract.type</field>
<field name="type">form</field>
<record id="hr_contract_view_search" model="ir.ui.view">
<field name="name">hr.contract.view.search</field>
<field name="model">hr.contract</field>
<field name="type">search</field>
<field name="arch" type="xml">
<form string="Contract Type">
<field colspan="4" name="name" select="1"/>
</form>
<search string="Search Contract">
<group col='15' colspan='4'>
<field name="name"/>
<field name="employee_id"/>
<field name="department_id"/>
<field name="date_start"/>
<field name="date_end"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="4" col="20">
<filter string="Department" icon="terp-project" domain="[]" context="{'group_by':'department_id'}"/>
</group>
</search>
</field>
</record>
@ -180,17 +190,6 @@
</field>
</record>
<record id="hr_contract_type_view_tree" model="ir.ui.view">
<field name="name">hr.contract.type.view.tree</field>
<field name="model">hr.contract.type</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Contract Type">
<field colspan="4" name="name"/>
</tree>
</field>
</record>
<record id="hr_contract_view_tree" model="ir.ui.view">
<field name="name">hr.contract.view.tree</field>
<field name="model">hr.contract</field>
@ -216,9 +215,30 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[]</field>
<field name="search_view_id" ref="hr_contract_view_search"/>
</record>
<record id="hr_contract_type_view_form" model="ir.ui.view">
<field name="name">hr.contract.type.view.form</field>
<field name="model">hr.contract.type</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Contract Type">
<field colspan="4" name="name" select="1"/>
</form>
</field>
</record>
<record id="hr_contract_type_view_tree" model="ir.ui.view">
<field name="name">hr.contract.type.view.tree</field>
<field name="model">hr.contract.type</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Contract Type">
<field colspan="4" name="name"/>
</tree>
</field>
</record>
<record id="action_hr_contract_type" model="ir.actions.act_window">
<field name="name">Contract Types</field>
<field name="res_model">hr.contract.type</field>
@ -227,8 +247,8 @@
</record>
<menuitem action="action_hr_contract_type" id="hr_menu_contract_type" parent="next_id_56"/>
<menuitem id="hr_menu_contract_main" parent="hr.menu_hr_root" name="Contracts" sequence="3"/>
<menuitem action="action_hr_contract" id="hr_menu_contract" parent="hr_menu_contract_main" name="Contracts"/>
<!--<menuitem id="hr_menu_contract_main" parent="hr.menu_hr_root" name="Contracts" sequence="3"/> -->
<menuitem action="action_hr_contract" id="hr_menu_contract" parent="hr.menu_hr_root" name="Contracts" sequence="4"/>
<!-- Contracts Button on Employee Form -->
<act_window domain="[('employee_id', '=', active_id)]" id="act_hr_employee_2_hr_contract" name="Contracts" res_model="hr.contract" src_model="hr.employee"/>

View File

@ -1,6 +1,25 @@
<?xml version="1.0" ?>
<openerp>
<data>
<record id="view_hr_evaluation_plan_search" model="ir.ui.view">
<field name="name">hr_evaluation.plan.search</field>
<field name="model">hr_evaluation.plan</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Evaluation Plan">
<group col='15' colspan='4'>
<field name="name"/>
<field name="company_id" widget="selection"/>
</group>
<newline/>
<group expand="1" string="Group By..." colspan="4" col="20">
<filter string="Company" icon="terp-project" domain="[]" context="{'group_by':'company_id'}"/>
</group>
</search>
</field>
</record>
<record model="ir.ui.view" id="view_hr_evaluation_plan_form">
<field name="name">hr_evaluation.plan.form</field>
<field name="model">hr_evaluation.plan</field>
@ -42,7 +61,7 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
<menuitem name="Evaluations" parent="hr.menu_hr_root" id="menu_eval_hr" sequence="3"/>
<menuitem name="Evaluations" parent="hr.menu_hr_root" id="menu_eval_hr" sequence="6"/>
<menuitem
name="Periodic Evaluations" parent="hr.menu_hr_configuration" id="menu_eval_hr_config" sequence="3"/>
@ -169,19 +188,23 @@
<button name="button_plan_in_progress"
string="Start Evaluation"
states="draft"
type="object"/>
type="object"
icon="gtk-execute"/>
<button name="button_final_validation"
string="Final Validation"
states="wait"
type="object"/>
type="object"
icon="gtk-execute"/>
<button name="button_done"
string="Done"
states="progress"
type="object"/>
type="object"
icon="gtk-jump-to"/>
<button name="button_cancel"
string="Cancel"
states="draft,wait,progress"
type="object"/>
type="object"
icon="gtk-cancel"/>
</group>
</form>
</field>
@ -279,7 +302,7 @@
<field name="date_deadline"/>
<field name="response" readonly="1"/>
<field name="user_to_review_id"/>
<field name="user_id"/>
<field name="user_id" string="Interviewer"/>
</group>
<newline/>
<separator string="State" colspan="4"/>
@ -328,7 +351,7 @@
<filter icon="terp-stock" string="Late" domain="[('date_deadline','&lt;',current_date)]"/>
<separator orientation="vertical"/>
<field name="user_to_review_id" widget="selection"/>
<field name="user_id" widget="selection"/>
<field name="user_id" string="Interviewer" widget="selection"/>
</group>
</search>
</field>

View File

@ -112,8 +112,8 @@
<field name="search_view_id" ref="view_evaluation_report_search"/>
</record>
<menuitem id="hr.menu_hr_reporting" name="Reporting" parent="hr.menu_hr_root" sequence="8"/>
<menuitem action="action_evaluation_report_all" id="menu_evaluation_report_all" parent="hr.menu_hr_reporting" sequence="0"/>
<menuitem id="hr.menu_hr_reporting" name="Reporting" parent="hr.menu_hr_root" sequence="10"/>
<menuitem action="action_evaluation_report_all" id="menu_evaluation_report_all" parent="hr.menu_hr_reporting" sequence="3"/>
</data>
</openerp>

View File

@ -10,8 +10,8 @@
<form string="Evaluation Reminders">
<field name="evaluation_id"/>
<newline/>
<button special="cancel" string="Cancel" />
<button name="send_mail" string="Send Mail" type="object"/>
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
<button name="send_mail" string="Send Mail" type="object" icon="gtk-ok"/>
</form>
</field>
</record>

View File

@ -30,8 +30,8 @@
<field name="date"/>
<field name="employee_id"/>
<field name="department_id" groups="base.group_extended"/>
<field name="name"/>
<field name="ref"/>
<field name="name"/>
<field name="amount"/>
<field name="state"/>
<button name="confirm" states="draft" string="Confirm" type="workflow" icon="gtk-apply"/>
@ -49,8 +49,8 @@
<field name="date"/>
<field name="employee_id"/>
<field name="department_id" groups="base.group_extended"/>
<field name="name"/>
<field name="ref"/>
<field name="name"/>
<field name="amount"/>
<field name="state"/>
<button name="confirm" states="draft" string="Confirm" type="workflow" icon="gtk-apply"/>
@ -68,8 +68,7 @@
<group colspan="4" col="6">
<field name="employee_id" select="1"/>
<field name="name" select="1"/>
<field name="employee_id" select="1"/>
<field name="ref"/>
<field name="ref" groups="base.group_extended"/>
<field name="date" select="1"/>
<field name="amount"/>
<field name="currency_id"/>
@ -82,7 +81,7 @@
<field colspan="4" name="line_ids" nolabel="1">
<form string="Expense Lines">
<field name="product_id" on_change="onchange_product_id(product_id, uom_id, parent.employee_id)"/>
<field name="uom_id" on_change="onchange_product_id(product_id, uom_id, parent.employee_id)"/>
<field name="uom_id" on_change="onchange_product_id(product_id, uom_id, parent.employee_id)" widget="selection"/>
<field name="name" select="1"/>
<field name="date_value" select="1"/>
<field name="unit_quantity"/>
@ -133,6 +132,12 @@
domain="[('state','=','draft')]"
string="Draft"
help="Draft Expense"/>
<filter
icon="terp-hr"
string="My Expenses"
default="1"
domain="[('user_id','=',uid)]"/>
<separator orientation="vertical"/>
<filter
icon="terp-hr"
domain="[('state','=','confirm')]"
@ -146,12 +151,7 @@
<separator orientation="vertical"/>
<field name="name" select='1'/>
<field name="date" select='1'/>
<field name="user_id" select="1" widget="selection">
<filter
icon="gtk-execute"
help="My Expenses"
default="1"
domain="[('user_id','=',uid)]"/>
<field name="user_id" select="1" widget="selection" string="User">
<filter icon="terp-hr"
domain="[('department_id','=',context.get('department_id',False))]"
string="Expenses of My Department"/>
@ -161,9 +161,9 @@
<newline />
<group expand="1" string="Group By..." colspan="11" col="11">
<filter string="Department" icon="terp-sale" domain="[]" context="{'group_by':'department_id'}"/>
<filter string="Employee" icon="terp-sale" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="User" icon="terp-sale" domain="[]" context="{'group_by':'user_id'}"/>
<separator orientation="vertical"/>
<filter string="Date" icon="terp-sale" domain="[]" context="{'group_by':'date'}"/>
<filter string="Month" icon="terp-sale" domain="[]" context="{'group_by':'date'}"/>
</group>
</search>
</field>
@ -176,7 +176,7 @@
<field name="search_view_id" ref="view_hr_expense_filter"/>
</record>
<menuitem id="next_id_49" name="Expenses" sequence="6"
<menuitem id="next_id_49" name="Expenses" sequence="8"
parent="hr.menu_hr_root"/>
<menuitem action="expense_all" id="menu_expense_all" name="Expenses"

View File

@ -137,8 +137,8 @@
<field name="search_view_id" ref="view_hr_expense_report_search"/>
</record>
<menuitem id="hr.menu_hr_reporting" name="Reporting" parent="hr.menu_hr_root" sequence="8"/>
<menuitem action="action_hr_expense_report_all" id="menu_hr_expense_report_all" parent="hr.menu_hr_reporting" sequence="0"/>
<menuitem id="hr.menu_hr_reporting" name="Reporting" parent="hr.menu_hr_root" sequence="10"/>
<menuitem action="action_hr_expense_report_all" id="menu_hr_expense_report_all" parent="hr.menu_hr_reporting" sequence="1"/>
</data>
</openerp>

View File

@ -73,7 +73,7 @@ class hr_holidays_status(osv.osv):
'name' : fields.char('Name', size=64, required=True, translate=True),
'categ_id': fields.many2one('crm.case.categ', 'Meeting Category', domain="[('object_id.model', '=', 'crm.meeting')]", help='If you link this type of leave with a category in the CRM, it will synchronize each leave asked with a case in this category, to display it in the company shared calendar for example.'),
'color_name' : fields.selection([('red', 'Red'), ('lightgreen', 'Light Green'), ('lightblue','Light Blue'), ('lightyellow', 'Light Yellow'), ('magenta', 'Magenta'),('lightcyan', 'Light Cyan'),('black', 'Black'),('lightpink', 'Light Pink'),('brown', 'Brown'),('violet', 'Violet'),('lightcoral', 'Light Coral'),('lightsalmon', 'Light Salmon'),('lavender', 'Lavender'),('wheat', 'Wheat'),('ivory', 'Ivory')],'Color in Report', required=True, help='This color will be used in the leaves summary located in Reporting\Leaves by Departement'),
'limit' : fields.boolean('Allow to Override Limit', help='If you thick this checkbox, the system will allow, for this section, the employees to take more leaves than the available ones.'),
'limit' : fields.boolean('Allow to Override Limit', help='If you thick this checkbox, the system will allow, for this team, the employees to take more leaves than the available ones.'),
'active' : fields.boolean('Active', help="If the active field is set to false, it will allow you to hide the leave type without removing it."),
'max_leaves' : fields.function(_user_left_days, method=True, string='Maximum Leaves Allowed', help='This value is given by the sum of all holidays requests with a positive value.', multi='user_left_days'),
'leaves_taken' : fields.function(_user_left_days, method=True, string='Leaves Already Taken', help='This value is given by the sum of all holidays requests with a negative value.', multi='user_left_days'),
@ -200,7 +200,7 @@ class hr_holidays(osv.osv):
if brows_obj.categ_id and brows_obj.categ_id.section_id and not brows_obj.categ_id.section_id.allow_unlink:
warning = {
'title': "Warning for ",
'message': "You won\'t be able to cancel this leave request because the CRM Section of the leave type disallows."
'message': "You won\'t be able to cancel this leave request because the CRM Sales Team of the leave type disallows."
}
return {'warning': warning}

View File

@ -198,7 +198,8 @@
<menuitem
name="Holidays Management"
parent="hr.menu_hr_root"
id="menu_open_ask_holidays"/>
id="menu_open_ask_holidays"
sequence="9"/>
<record model="ir.actions.act_window" id="open_ask_holidays">
<field name="name">Leave Requests</field>

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