[MERGE]: merging from the same branch
bzr revid: mga@tinyerp.com-20100621204848-ecste1963bil7ljf
This commit is contained in:
@@ -81,7 +81,7 @@ class account_payment_term(osv.osv):
|
||||
if amt:
|
||||
next_date = datetime.strptime(date_ref, '%Y-%m-%d') + relativedelta(days=line.days)
|
||||
if line.days2 < 0:
|
||||
next_date += relativedelta(day=line.days2)
|
||||
next_date += relativedelta(day=31)
|
||||
if line.days2 > 0:
|
||||
next_date += relativedelta(day=line.days2, months=1)
|
||||
result.append( (next_date.strftime('%Y-%m-%d'), amt) )
|
||||
@@ -2121,7 +2121,7 @@ class account_tax_code_template(osv.osv):
|
||||
'info': fields.text('Description'),
|
||||
'parent_id': fields.many2one('account.tax.code.template', 'Parent Code', select=True),
|
||||
'child_ids': fields.one2many('account.tax.code.template', 'parent_id', 'Child Codes'),
|
||||
'sign': fields.float('Sign for parent', required=True),
|
||||
'sign': fields.float('Sign for parent', required=True, help="Choose 1.00 to add the total to the parent account or -1.00 to subtract it"),
|
||||
'notprintable':fields.boolean("Not Printable in Invoice", help="Check this box if you don't want any VAT related to this Tax Code to appear on invoices"),
|
||||
}
|
||||
|
||||
@@ -2153,7 +2153,7 @@ class account_chart_template(osv.osv):
|
||||
|
||||
_columns={
|
||||
'name': fields.char('Name', size=64, required=True),
|
||||
'account_root_id': fields.many2one('account.account.template','Root Account',required=True,domain=[('parent_id','=',False)]),
|
||||
'account_root_id': fields.many2one('account.account.template','Root Account',required=True,domain=[('parent_id','=',False)], help=""),
|
||||
'tax_code_root_id': fields.many2one('account.tax.code.template','Root Tax Code',required=True,domain=[('parent_id','=',False)]),
|
||||
'tax_template_ids': fields.one2many('account.tax.template', 'chart_template_id', 'Tax Template List', help='List of all the taxes that have to be installed by the wizard'),
|
||||
'bank_account_view_id': fields.many2one('account.account.template','Bank Account',required=True),
|
||||
|
||||
+288
-46
@@ -12,12 +12,14 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Fiscalyear">
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1"/>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_stop"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="end_journal_period_id" groups="base.group_extended"/>
|
||||
</group>
|
||||
<separator colspan="4" string="Periods"/>
|
||||
<field colspan="4" name="period_ids" nolabel="1" widget="one2many_list">
|
||||
<form string="Period">
|
||||
@@ -49,11 +51,32 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_account_fiscalyear_search" model="ir.ui.view">
|
||||
<field name="name">account.fiscalyear.search</field>
|
||||
<field name="model">account.fiscalyear</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Fiscalyear">
|
||||
<group>
|
||||
<filter string="Done" domain="[('state','=','done')]" icon="terp-dolar_ok!"/>
|
||||
<filter string="Draft" domain="[('state','=','draft')]" icon="terp-document-new"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
<field name="state"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="State" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_account_fiscalyear_form" model="ir.actions.act_window">
|
||||
<field name="name">Fiscal Years</field>
|
||||
<field name="res_model">account.fiscalyear</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">tree,form,search</field>
|
||||
</record>
|
||||
<menuitem id="next_id_23" name="Periods" parent="account.menu_finance_accounting"/>
|
||||
<menuitem action="action_account_fiscalyear_form" id="menu_action_account_fiscalyear_form" parent="next_id_23"/>
|
||||
@@ -71,15 +94,15 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Period">
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_stop"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="fiscalyear_id"/>
|
||||
<field name="special"/>
|
||||
<separator colspan="4" string="States"/>
|
||||
<field name="state" select="1"/>
|
||||
<field name="state"/>
|
||||
<button name="action_draft" states="done" string="Set to Draft" type="object" icon="gtk-convert"/>
|
||||
</form>
|
||||
</field>
|
||||
@@ -99,11 +122,32 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_account_period_search" model="ir.ui.view">
|
||||
<field name="name">account.period.search</field>
|
||||
<field name="model">account.period</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Periods">
|
||||
<group>
|
||||
<filter string="Done" domain="[('state','=','done')]" icon="terp-dolar_ok!"/>
|
||||
<filter string="Draft" domain="[('state','=','draft')]" icon="terp-document-new"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
<field name="state"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="State" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_account_period_form" model="ir.actions.act_window">
|
||||
<field name="name">Periods</field>
|
||||
<field name="res_model">account.period</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">tree,form,search</field>
|
||||
</record>
|
||||
<menuitem action="action_account_period_form" id="menu_action_account_period_form" parent="account.next_id_23"/>
|
||||
|
||||
@@ -154,10 +198,21 @@
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Accounts">
|
||||
<field name="code" select="1"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="user_type" select="1"/>
|
||||
<field name="type" select="1"/>
|
||||
<group col="10" colspan="4">
|
||||
<filter icon="terp-sale" string="Receivable Accounts" domain="[('type','=','receivable')]"/>
|
||||
<filter icon="terp-purchase" string="Purchase Accounts" domain="[('type','=','purchase')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="name" select="1"/>
|
||||
<field name="user_type" select="1"/>
|
||||
<field name="type" select="1"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Parent Account" icon="terp-folder-orange" domain="" context="{'group_by':'parent_id'}"/>
|
||||
<filter string="User Type" icon="terp-folder-blue" domain="" context="{'group_by':'user_type'}"/>
|
||||
<filter string="Internal Type" icon="terp-folder-yellow" domain="" context="{'group_by':'type'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
@@ -262,7 +317,28 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_journal_search" model="ir.ui.view">
|
||||
<field name="name">account.journal.search</field>
|
||||
<field name="model">account.journal</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Search Account Journal">
|
||||
<group>
|
||||
<filter domain="[('type', '=', 'sale')]" string="Sale Journals" icon="terp-sale"/>
|
||||
<filter domain="[('type', '=', 'purchase')]" string="Purchase Journals" icon="terp-purchase"/>
|
||||
<filter domain="[('centralisation', '=', 'True')]" string="Centralized Journals" icon="terp-stock"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="code"/>
|
||||
<field name="name"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Type" context="{'group_by':'type'}" icon="terp-stock_effects-object-colorize"/>
|
||||
<filter string="User" context="{'group_by':'user_id'}" icon="terp-personal"/>
|
||||
</group>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_account_journal_form" model="ir.ui.view">
|
||||
<field name="name">account.journal.form</field>
|
||||
<field name="model">account.journal</field>
|
||||
@@ -351,16 +427,38 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_bank_statement_search" model="ir.ui.view">
|
||||
<field name="name">account.bank.statement.search</field>
|
||||
<field name="model">account.bank.statement</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Bank Statements">
|
||||
<group>
|
||||
<filter string="Draft" domain="[('state','=','draft')]" icon="terp-document-new"/>
|
||||
<filter string="Confirm" domain="[('state','=','confirm')]" icon="terp-camera_test"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="date"/>
|
||||
<field name="name"/>
|
||||
<field name="journal_id"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/>
|
||||
<filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/>
|
||||
<filter string="State" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_bank_statement_form" model="ir.ui.view">
|
||||
<field name="name">account.bank.statement.form</field>
|
||||
<field name="model">account.bank.statement</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Statement">
|
||||
<field name="name" select="1"/>
|
||||
<field name="date" select="1"/>
|
||||
<field name="journal_id" on_change="onchange_journal_id(journal_id)" select="1"/>
|
||||
<field name="name"/>
|
||||
<field name="date"/>
|
||||
<field name="journal_id" on_change="onchange_journal_id(journal_id)"/>
|
||||
<field name="currency"/>
|
||||
<field name="period_id"/>
|
||||
<group colspan="2" col="3">
|
||||
@@ -427,7 +525,7 @@
|
||||
<field name="name">Draft statements</field>
|
||||
<field name="res_model">account.bank.statement</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">tree,form,search</field>
|
||||
<field name="domain">[('state','=','draft')]</field>
|
||||
<field name="filter" eval="True"/>
|
||||
</record>
|
||||
@@ -629,6 +727,26 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_account_tax_search" model="ir.ui.view">
|
||||
<field name="name">account.tax.search</field>
|
||||
<field name="model">account.tax</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Taxes">
|
||||
<group col="10" colspan="4">
|
||||
<filter icon="terp-folder-blue" string="Vat Taxes" domain="[('tax_group','=','vat')]" help="Vat Taxes"/>
|
||||
<filter icon="terp-folder-yellow" string="Other Taxes" domain="[('tax_group','=','other')]" help="Other Taxes"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name"/>
|
||||
<field name="description"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Tax Type" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'type'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_tax_form" model="ir.ui.view">
|
||||
<field name="name">account.tax.form</field>
|
||||
<field name="model">account.tax</field>
|
||||
@@ -847,6 +965,13 @@
|
||||
</field>
|
||||
<field name="balance" string="Debit/Credit" select='1'/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Account" context="{'group_by':'account_id'}" icon="terp-folder-blue"/>
|
||||
<filter string="Journal" context="{'group_by':'journal_id'}" icon="terp-folder-orange"/>
|
||||
<filter string="Partner" context="{'group_by':'partner_id'}" icon="terp-personal"/>
|
||||
<filter string="state" context="{'group_by':'state'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
@@ -1041,7 +1166,7 @@
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_move_tree"/>
|
||||
<field name="search_view_id" ref="view_account_move_filter"/>
|
||||
<field name="domain">[('journal_id.type', '=', 'sale')]</field>
|
||||
<field name="domain">[('journal_id.type', 'in', ['sale', 'sale_refund'])]</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_account_moves_sale" id="menu_eaction_account_moves_sale" parent="menu_finance_receivables"/>
|
||||
@@ -1053,7 +1178,7 @@
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_move_tree"/>
|
||||
<field name="search_view_id" ref="view_account_move_filter"/>
|
||||
<field name="domain">[('journal_id.type', '=', 'purchase')]</field>
|
||||
<field name="domain">[('journal_id.type', 'in', ['purchase', 'purchase_refund'])]</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_account_moves_purchase" id="menu_eaction_account_moves_purchase" parent="menu_finance_payables"/>
|
||||
@@ -1296,7 +1421,7 @@
|
||||
<field name="name" select="1"/>
|
||||
<field name="ref" select="1"/>
|
||||
<field name="journal_id" select="1"/>
|
||||
<field colspan="4" name="lines_id" widget="one2many_list"/>
|
||||
<field colspan="4" name="lines_id" widget="one2many_list" nolabel="1"/>
|
||||
<separator string="Legend" colspan="4"/>
|
||||
<field name="legend" colspan="4" nolabel="1"/>
|
||||
<group col="1" colspan="4">
|
||||
@@ -1373,12 +1498,32 @@
|
||||
<field name="name" select="1"/>
|
||||
<field name="active" select="1"/>
|
||||
<separator colspan="4" string="Description on invoices"/>
|
||||
<field colspan="4" name="note"/>
|
||||
<field colspan="4" name="note" nolabel="1"/>
|
||||
<separator colspan="4" string="Computation"/>
|
||||
<field colspan="4" name="line_ids"/>
|
||||
<field colspan="4" name="line_ids" nolabel="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<!-- <record id="view_account_move_line_filter" model="ir.ui.view">-->
|
||||
<!-- <field name="name">Payment Terms</field>-->
|
||||
<!-- <field name="model">account.payment.term</field>-->
|
||||
<!-- <field name="type">search</field>-->
|
||||
<!-- <field name="arch" type="xml">-->
|
||||
<!-- <search string="Search Payment Terms">-->
|
||||
<!-- <group col='10' colspan='4'>-->
|
||||
<!-- <filter icon="terp-document-new" string="Draft" domain="[('state','=','draft')]" help="Draft Entry Lines"/>-->
|
||||
<!-- <filter icon="terp-camera_test" string="Posted" domain="[('state','=','valid')]" help="Posted Entry Lines"/>-->
|
||||
<!-- <separator orientation="vertical"/>-->
|
||||
<!-- <field name="date" select='1'/>-->
|
||||
<!-- <field name="account_id" select='1'/>-->
|
||||
<!-- <field name="partner_id" select='1'>-->
|
||||
<!-- <filter help="Next Partner Entries to reconcile" name="next_partner" string="Next Partner to reconcile" context="{'next_partner_only': 1}" icon="terp-partner" domain="[('account_id.reconcile','=',True),('reconcile_id','=',False)]"/>-->
|
||||
<!-- </field>-->
|
||||
<!-- <field name="balance" string="Debit/Credit" select='1'/>-->
|
||||
<!-- </group>-->
|
||||
<!-- </search>-->
|
||||
<!-- </field>-->
|
||||
<!-- </record>-->
|
||||
<record id="action_payment_term_form" model="ir.actions.act_window">
|
||||
<field name="name">Payment Terms</field>
|
||||
<field name="res_model">account.payment.term</field>
|
||||
@@ -1572,13 +1717,14 @@
|
||||
<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"/>
|
||||
|
||||
<record id="view_account_addtmpl_wizard_form" model="ir.ui.view">
|
||||
<field name="name">Account Add wizard</field>
|
||||
<field name="name">Create Account</field>
|
||||
<field name="model">account.addtmpl.wizard</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Account Add">
|
||||
<separator col="4" colspan="4" string="Select the common parent for the accounts"/>
|
||||
<form string="Create Account">
|
||||
<separator col="4" colspan="4" string="Create an Account based on this template"/>
|
||||
<field name="cparent_id"/>
|
||||
<newline/>
|
||||
<group col="2" colspan="2">
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel" name="action_cancel" type="object"/>
|
||||
<button icon="gtk-ok" name="action_create" string="Add" type="object"/>
|
||||
@@ -1588,7 +1734,8 @@
|
||||
</record>
|
||||
|
||||
<act_window domain="[]" id="action_account_addtmpl_wizard_form"
|
||||
name="Add account Wizard"
|
||||
name="Create Account"
|
||||
target="new"
|
||||
res_model="account.addtmpl.wizard"
|
||||
context="{'tmpl_ids': active_id}"
|
||||
src_model="account.account.template"
|
||||
@@ -1621,16 +1768,17 @@
|
||||
<notebook>
|
||||
<page string="General Information">
|
||||
<field name="name"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="code"/>
|
||||
<newline/>
|
||||
<field name="parent_id" select="1"/>
|
||||
<field name="parent_id"/>
|
||||
<field name="shortcut"/>
|
||||
<field name="type" select="1"/>
|
||||
<field name="user_type" select="1"/>
|
||||
<field name="type"/>
|
||||
<field name="user_type"/>
|
||||
|
||||
<field name="currency_id"/>
|
||||
<field name="reconcile"/>
|
||||
<field name="tax_ids" colspan="4"/>
|
||||
<separator string="Default taxes" colspan="4"/>
|
||||
<field name="tax_ids" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Notes">
|
||||
<field colspan="4" name="note" nolabel="1"/>
|
||||
@@ -1651,12 +1799,36 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_template_search" model="ir.ui.view">
|
||||
<field name="name">account.account.template.search</field>
|
||||
<field name="model">account.account.template</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Account Templates">
|
||||
<group>
|
||||
<filter icon="terp-sale" string="Receivale Accounts" domain="[('type','=','receivable')]"/>
|
||||
<filter icon="terp-purchase" string="Payable Accounts" domain="[('type','=','payable')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="code"/>
|
||||
<field name="parent_id"/>
|
||||
<field name="type"/>
|
||||
<field name="user_type"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Internal Type" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'type'}"/>
|
||||
<filter string="Account Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'user_type'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_account_template_form" model="ir.actions.act_window">
|
||||
<field name="name">Account Templates</field>
|
||||
<field name="res_model">account.account.template</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">tree,form,search</field>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -1670,21 +1842,50 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Chart of Accounts Template">
|
||||
<field name="name" select="1"/>
|
||||
<field name="account_root_id" select="1"/>
|
||||
<field name="bank_account_view_id" select="1"/>
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="account_root_id"/>
|
||||
<field name="bank_account_view_id"/>
|
||||
<field name="tax_code_root_id"/>
|
||||
<field name="tax_template_ids" colspan="4" readonly="1" />
|
||||
</group>
|
||||
<field name="tax_template_ids" colspan="4" readonly="1" nolabel="1"/>
|
||||
<separator string="Properties" colspan="4"/>
|
||||
<group>
|
||||
<field name="property_account_receivable"/>
|
||||
<field name="property_account_payable"/>
|
||||
<field name="property_account_expense_categ" />
|
||||
<field name="property_account_income_categ"/>
|
||||
<field name="property_account_expense"/>
|
||||
<field name="property_account_income"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_account_chart_template_seacrh" model="ir.ui.view">
|
||||
<field name="name">account.chart.template.search</field>
|
||||
<field name="model">account.chart.template</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Chart of Account Templates">
|
||||
<group>
|
||||
<field name="name"/>
|
||||
<field name="account_root_id"/>
|
||||
<field name="bank_account_view_id"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Root Account" icon="terp-folder-orange" domain="[]" context="{'group_by':'account_root_id'}"/>
|
||||
<filter string="Bank Account" icon="terp-folder-blue" domain="[]" context="{'group_by':'bank_account_view_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Receivable Account" icon="terp-sale" domain="[]" context="{'group_by':'property_account_receivable'}"/>
|
||||
<filter string="Payable Account" icon="terp-purchase" domain="[]" context="{'group_by':'property_account_payable'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Income Account" icon="terp-sale" domain="[]" context="{'group_by':'property_account_income_categ'}"/>
|
||||
<filter string="Expense Account" icon="terp-purchase" domain="[]" context="{'group_by':'property_account_expense_categ'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_account_chart_template_tree" model="ir.ui.view">
|
||||
<field name="name">account.chart.template.tree</field>
|
||||
<field name="model">account.chart.template</field>
|
||||
@@ -1702,7 +1903,7 @@
|
||||
<field name="name">Chart of Accounts Templates</field>
|
||||
<field name="res_model">account.chart.template</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">tree,form,search</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_account_chart_template_form" id="menu_action_account_chart_template_form" parent="account_template_accounts"/>
|
||||
@@ -1716,11 +1917,11 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="Account Tax Template">
|
||||
<group colspan="4">
|
||||
<field name="name" select="1"/>
|
||||
<field name="description" select="1"/>
|
||||
<field name="name"/>
|
||||
<field name="description"/>
|
||||
<newline/>
|
||||
<field name="chart_template_id" select="1"/>
|
||||
<field name="tax_group" select="1"/>
|
||||
<field name="chart_template_id"/>
|
||||
<field name="tax_group"/>
|
||||
<field name="type"/>
|
||||
<field name="type_tax_use"/>
|
||||
</group>
|
||||
@@ -1774,6 +1975,27 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
<record id="view_account_tax_template_search" model="ir.ui.view">
|
||||
<field name="name">account.tax.template.search</field>
|
||||
<field name="model">account.tax.template</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Tax Templates">
|
||||
<group col="10" colspan="4">
|
||||
<filter icon="terp-sale" string="Sale" domain="[('type_tax_use','=','sale')]" help="Taxes used in Sales"/>
|
||||
<filter icon="terp-purchase" string="Purchase" domain="[('type_tax_use','=','purchase')]" help="Taxes used in Purchases"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-folder-blue" string="Vat Taxes" domain="[('tax_group','=','vat')]" help="Vat Taxes"/>
|
||||
<filter icon="terp-folder-yellow" string="Other Taxes" domain="[('tax_group','=','other')]" help="Other Taxes"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name"/>
|
||||
<field name="description"/>
|
||||
<field name="chart_template_id"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_account_tax_template_form" model="ir.actions.act_window">
|
||||
<field name="name">Tax Templates</field>
|
||||
<field name="res_model">account.tax.template</field>
|
||||
@@ -1796,7 +2018,26 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="view_tax_code_template_search" model="ir.ui.view">
|
||||
<field name="name">account.tax.code.template.search</field>
|
||||
<field name="model">account.tax.code.template</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search tax template">
|
||||
<group>
|
||||
<field name="name" select="1"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="parent_id" select="1"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Parent Code" icon="terp-folder-orange" domain="[]" context="{'group_by':'parent_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_tax_code_template_form" model="ir.ui.view">
|
||||
<field name="name">account.tax.code.template.form</field>
|
||||
<field name="model">account.tax.code.template</field>
|
||||
@@ -1808,7 +2049,8 @@
|
||||
<field name="parent_id" select="1"/>
|
||||
<field name="sign"/>
|
||||
<newline/>
|
||||
<field colspan="4" name="info"/>
|
||||
<separator string="Description" colspan="4"/>
|
||||
<field colspan="4" name="info" nolabel="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
@@ -1817,7 +2059,7 @@
|
||||
<field name="name">Tax Code Templates</field>
|
||||
<field name="res_model">account.tax.code.template</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">tree,form,search</field>
|
||||
</record>
|
||||
<menuitem action="action_account_tax_code_template_form" id="menu_action_account_tax_code_template_form" parent="account_template_taxes" sequence="14"/>
|
||||
|
||||
@@ -1905,7 +2147,7 @@
|
||||
<field name="name" select="1"/>
|
||||
<field name="chart_template_id"/>
|
||||
<newline/>
|
||||
<field name="tax_ids" colspan="4">
|
||||
<field name="tax_ids" colspan="4" nolabel="1">
|
||||
<tree string="Taxes Mapping" editable="bottom">
|
||||
<field name="tax_src_id" domain="[('parent_id','=',False)]"/>
|
||||
<field name="tax_dest_id" domain="[('parent_id','=',False)]"/>
|
||||
@@ -1915,7 +2157,7 @@
|
||||
<field name="tax_dest_id" domain="[('parent_id','=',False)]"/>
|
||||
</form>
|
||||
</field>
|
||||
<field name="account_ids" colspan="4">
|
||||
<field name="account_ids" colspan="4" nolabel="1">
|
||||
<tree string="Accounts Mapping" editable="bottom">
|
||||
<field name="account_src_id"/>
|
||||
<field name="account_dest_id"/>
|
||||
|
||||
@@ -169,7 +169,7 @@ your own chart of account.
|
||||
<record id="refund_sales_journal" model="account.journal">
|
||||
<field name="name">x Sales Credit Note Journal</field>
|
||||
<field name="code">SCNJ</field>
|
||||
<field name="type">sale</field>
|
||||
<field name="type">sale_refund</field>
|
||||
<field name="refund_journal">True</field>
|
||||
<field name="view_id" ref="account_journal_view"/>
|
||||
<field name="sequence_id" ref="sequence_sale_journal"/>
|
||||
@@ -191,7 +191,7 @@ your own chart of account.
|
||||
<record id="refund_expenses_journal" model="account.journal">
|
||||
<field name="name">x Expenses Credit Notes Journal</field>
|
||||
<field name="code">ECNJ</field>
|
||||
<field name="type">purchase</field>
|
||||
<field name="type">purchase_refund</field>
|
||||
<field name="refund_journal">True</field>
|
||||
<field name="view_id" ref="account_journal_view"/>
|
||||
<field name="sequence_id" ref="sequence_purchase_journal"/>
|
||||
|
||||
@@ -51,11 +51,12 @@ class account_invoice(osv.osv):
|
||||
type_inv = context.get('type', 'out_invoice')
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid)
|
||||
company_id = context.get('company_id', user.company_id.id)
|
||||
type2journal = {'out_invoice': 'sale', 'in_invoice': 'purchase', 'out_refund': 'sale', 'in_refund': 'purchase'}
|
||||
type2journal = {'out_invoice': 'sale', 'in_invoice': 'purchase', 'out_refund': 'sale_refund', 'in_refund': 'purchase_refund'}
|
||||
refund_journal = {'out_invoice': False, 'in_invoice': False, 'out_refund': True, 'in_refund': True}
|
||||
journal_obj = self.pool.get('account.journal')
|
||||
res = journal_obj.search(cr, uid, [('type', '=', type2journal.get(type_inv, 'sale')),
|
||||
('company_id', '=', company_id),('refund_journal', '=', refund_journal.get(type_inv, False))],
|
||||
('company_id', '=', company_id),
|
||||
('refund_journal', '=', refund_journal.get(type_inv, False))],
|
||||
limit=1)
|
||||
if res:
|
||||
return res[0]
|
||||
@@ -753,6 +754,8 @@ class account_invoice(osv.osv):
|
||||
cur_obj = self.pool.get('res.currency')
|
||||
context = {}
|
||||
for inv in self.browse(cr, uid, ids):
|
||||
if not inv.invoice_line:
|
||||
raise osv.except_osv(_('No Invoice Lines !'), _('Please create some invoice lines.'))
|
||||
if inv.move_id:
|
||||
continue
|
||||
|
||||
@@ -774,7 +777,8 @@ class account_invoice(osv.osv):
|
||||
|
||||
# one move line per tax line
|
||||
iml += ait_obj.move_line_get(cr, uid, inv.id)
|
||||
|
||||
|
||||
entry_type=''
|
||||
if inv.type in ('in_invoice', 'in_refund'):
|
||||
ref = inv.reference
|
||||
entry_type = 'journal_pur_voucher'
|
||||
@@ -1011,7 +1015,7 @@ class account_invoice(osv.osv):
|
||||
|
||||
def refund(self, cr, uid, ids, date=None, period_id=None, description=None):
|
||||
invoices = self.read(cr, uid, ids, ['name', 'type', 'number', 'reference', 'comment', 'date_due', 'partner_id', 'address_contact_id', 'address_invoice_id', 'partner_contact', 'partner_insite', 'partner_ref', 'payment_term', 'account_id', 'currency_id', 'invoice_line', 'tax_line', 'journal_id'])
|
||||
|
||||
|
||||
new_ids = []
|
||||
for invoice in invoices:
|
||||
del invoice['id']
|
||||
@@ -1030,6 +1034,10 @@ class account_invoice(osv.osv):
|
||||
tax_lines = self.pool.get('account.invoice.tax').read(cr, uid, invoice['tax_line'])
|
||||
tax_lines = filter(lambda l: l['manual'], tax_lines)
|
||||
tax_lines = self._refund_cleanup_lines(cr, uid, tax_lines)
|
||||
if invoice['type'] == 'in_invoice':
|
||||
refund_journal_ids = self.pool.get('account.journal').search(cr, uid, [('type','=','purchase_refund')])
|
||||
else:
|
||||
refund_journal_ids = self.pool.get('account.journal').search(cr, uid, [('type','=','sale_refund')])
|
||||
if not date :
|
||||
date = time.strftime('%Y-%m-%d')
|
||||
invoice.update({
|
||||
@@ -1038,7 +1046,8 @@ class account_invoice(osv.osv):
|
||||
'state': 'draft',
|
||||
'number': False,
|
||||
'invoice_line': invoice_lines,
|
||||
'tax_line': tax_lines
|
||||
'tax_line': tax_lines,
|
||||
'journal_id': refund_journal_ids
|
||||
})
|
||||
if period_id :
|
||||
invoice.update({
|
||||
@@ -1092,7 +1101,6 @@ class account_invoice(osv.osv):
|
||||
ref = invoice.reference
|
||||
else:
|
||||
ref = self._convert_ref(cr, uid, invoice.number)
|
||||
|
||||
# Pay attention to the sign for both debit/credit AND amount_currency
|
||||
l1 = {
|
||||
'debit': direction * pay_amount>0 and direction * pay_amount,
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
<form string="Fiscal Position">
|
||||
<field name="name" select="1"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<separator string="Mapping" colspan="4"/>
|
||||
<newline/>
|
||||
<field name="note" colspan="4"/>
|
||||
<field name="tax_ids" colspan="4" widget="one2many_list">
|
||||
<field name="tax_ids" colspan="2" widget="one2many_list" nolabel="1">
|
||||
<tree string="Tax Mapping" editable="bottom">
|
||||
<field name="tax_src_id" domain="[('parent_id','=',False)]"/>
|
||||
<field name="tax_dest_id" domain="[('parent_id','=',False)]"/>
|
||||
@@ -22,7 +22,7 @@
|
||||
<field name="tax_dest_id" domain="[('parent_id','=',False)]"/>
|
||||
</form>
|
||||
</field>
|
||||
<field name="account_ids" colspan="4" widget="one2many_list">
|
||||
<field name="account_ids" colspan="2" widget="one2many_list" nolabel="1">
|
||||
<tree string="Account Mapping" editable="bottom">
|
||||
<field name="account_src_id"/>
|
||||
<field name="account_dest_id"/>
|
||||
@@ -32,6 +32,8 @@
|
||||
<field name="account_dest_id"/>
|
||||
</form>
|
||||
</field>
|
||||
<separator string="Notes" colspan="4"/>
|
||||
<field name="note" colspan="4" nolabel="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Analytic Account">
|
||||
<group col="8" colspan="4">
|
||||
<group col="8" colspan="4">
|
||||
<filter icon="terp-check" string="Current" domain="[('state','=','open')]" help="Current Accounts"/>
|
||||
<filter icon="terp-gtk-media-pause" string="Pending" domain="[('state','=','pending')]" help="Pending Accounts"/>
|
||||
<separator orientation="vertical"/>
|
||||
@@ -32,7 +32,15 @@
|
||||
<field name="code" select="1"/>
|
||||
<field name="partner_id" select="1"/>
|
||||
<field name="user_id" widget="selection"/>
|
||||
</group>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Parent" icon="terp-folder-orange" domain="[]" context="{'group_by':'parent_id'}"/>
|
||||
<filter string="Type" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'type'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Associated Partner" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Manager" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
@@ -148,7 +156,7 @@
|
||||
<field name="journal_id" select="2"/>
|
||||
<field name="general_account_id" select="2"/>
|
||||
<field name="move_id" select="2"/>
|
||||
<separator string="Optionnal Information" colspan="4"/>
|
||||
<separator string="Optional Information" colspan="4"/>
|
||||
<field name="unit_amount" select="2"/>
|
||||
<field name="ref" select="2"/>
|
||||
<field name="currency_id" select="2"/>
|
||||
@@ -195,6 +203,14 @@
|
||||
<field name="date" select="1"/>
|
||||
<field name="user_id" widget="selection"/>
|
||||
</group>
|
||||
<separator orientation="vertical"/>
|
||||
<newline/>
|
||||
<group string="Group By..." expand="0">
|
||||
<filter string="General Account" context="{'group_by':'general_account_id'}"/>
|
||||
<filter string="Analytic Account" context="{'group_by':'account_id'}"/>
|
||||
<filter string="Analytic Journal" context="{'group_by':'journal_id'}"/>
|
||||
<filter string="Product" context="{'group_by':'product_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
@@ -277,7 +293,20 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
<record id="view_analytic_journal_search" model="ir.ui.view">
|
||||
<field name="name">account.analytic.journal.search</field>
|
||||
<field name="model">account.analytic.journal</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="analytic Journals">
|
||||
<group expand="0" string="Group By...">
|
||||
<filter string="Type" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'type'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_analytic_journal_form" model="ir.ui.view">
|
||||
<field name="name">account.analytic.journal.form</field>
|
||||
<field name="model">account.analytic.journal</field>
|
||||
@@ -296,7 +325,7 @@
|
||||
<field name="name">Analytic Journals</field>
|
||||
<field name="res_model">account.analytic.journal</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_mode">tree,form,search</field>
|
||||
</record>
|
||||
<menuitem action="action_account_analytic_journal_form" id="account_def_analytic_journal" parent="menu_analytic"/>
|
||||
|
||||
|
||||
+14
-12
@@ -7,18 +7,20 @@
|
||||
<field name="model">account.analytic.cost.ledger.journal.report</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select period">
|
||||
<separator string="Cost Legder for period" colspan="4"/>
|
||||
<field name="date1"/>
|
||||
<field name="date2"/>
|
||||
<separator string="and Journals" colspan="4"/>
|
||||
<field name="journal" colspan="4"/>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_report" string="Print" type="object" icon="gtk-print"/>
|
||||
</group>
|
||||
</form>
|
||||
<form string="Select period">
|
||||
<group width="450">
|
||||
<separator string="Cost Legder for period" colspan="4"/>
|
||||
<field name="date1"/>
|
||||
<field name="date2"/>
|
||||
<separator string="and Journals" colspan="4"/>
|
||||
<field name="journal" colspan="4" nolabel="1"/>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_report" string="Print" type="object" icon="gtk-print"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
||||
@@ -241,7 +241,6 @@ class account_automatic_reconcile(osv.osv_memory):
|
||||
'type': 'ir.actions.act_window',
|
||||
'target': 'new',
|
||||
'context': context,
|
||||
'nodestroy':True,
|
||||
}
|
||||
|
||||
account_automatic_reconcile()
|
||||
|
||||
@@ -7,16 +7,18 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Close states of Fiscal year and periods">
|
||||
<group colspan="4" >
|
||||
<field name="fy_id" domain = "[('state','=','draft')]"/>
|
||||
<separator string="Are you sure you want to close the fiscal year ?" colspan="4"/>
|
||||
<field name="sure"/>
|
||||
</group>
|
||||
<separator string="" colspan="4" />
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-close" string="Close states" name="data_save" type="object"/>
|
||||
<group width="380" height="180">
|
||||
<group colspan="4">
|
||||
<field name="fy_id" domain = "[('state','=','draft')]"/>
|
||||
<separator string="Are you sure you want to close the fiscal year ?" colspan="4"/>
|
||||
<field name="sure"/>
|
||||
</group>
|
||||
<separator string="" colspan="4" />
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-close" string="Close states" name="data_save" type="object"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -23,19 +23,19 @@ import time
|
||||
from osv import fields, osv
|
||||
from tools.translate import _
|
||||
|
||||
class account_move_line_reconcile_prompt(osv.osv_memory):
|
||||
"""
|
||||
Asks user he wants to reconcile entries or not.
|
||||
"""
|
||||
_name = 'account.move.line.reconcile.prompt'
|
||||
_description = 'Account move line reconcile'
|
||||
_columns = {
|
||||
}
|
||||
|
||||
def ask_reconcilation(self, cr, uid, ids, context):
|
||||
return self.pool.get('account.move.line.reconcile').partial_check(cr, uid, ids, context)
|
||||
|
||||
account_move_line_reconcile_prompt()
|
||||
#class account_move_line_reconcile_prompt(osv.osv_memory):
|
||||
# """
|
||||
# Asks user he wants to reconcile entries or not.
|
||||
# """
|
||||
# _name = 'account.move.line.reconcile.prompt'
|
||||
# _description = 'Account move line reconcile'
|
||||
# _columns = {
|
||||
# }
|
||||
#
|
||||
# def ask_reconcilation(self, cr, uid, ids, context):
|
||||
# return self.pool.get('account.move.line.reconcile').partial_check(cr, uid, ids, context)
|
||||
#
|
||||
#account_move_line_reconcile_prompt()
|
||||
|
||||
class account_move_line_reconcile(osv.osv_memory):
|
||||
"""
|
||||
|
||||
@@ -2,86 +2,130 @@
|
||||
<openerp>
|
||||
<data>
|
||||
|
||||
<record id="view_account_move_line_reconcile_prompt" model="ir.ui.view">
|
||||
<field name="name">account.move.line.reconcile.prompt.form</field>
|
||||
<field name="model">account.move.line.reconcile.prompt</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Reconciliation">
|
||||
<separator string="Are you sure you want to reconcile entries?" colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<!-- <record id="view_account_move_line_reconcile_prompt" model="ir.ui.view">-->
|
||||
<!-- <field name="name">account.move.line.reconcile.prompt.form</field>-->
|
||||
<!-- <field name="model">account.move.line.reconcile.prompt</field>-->
|
||||
<!-- <field name="type">form</field>-->
|
||||
<!-- <field name="arch" type="xml">-->
|
||||
<!-- <form string="Reconciliation">-->
|
||||
<!-- <separator string="Are you sure you want to reconcile entries?" colspan="4"/>-->
|
||||
<!-- <group colspan="4" col="6">-->
|
||||
<!-- <label string ="" colspan="2"/>-->
|
||||
<!---->
|
||||
<!-- <button icon="gtk-cancel" special="cancel" string="Cancel"/>-->
|
||||
<!-- <button icon="gtk-ok" string="Ok" name="ask_reconcilation" type="object" default_focus="1"/>-->
|
||||
<!-- </group>-->
|
||||
<!-- </form>-->
|
||||
<!-- </field>-->
|
||||
<!-- </record>-->
|
||||
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-ok" string="Ok" name="ask_reconcilation" type="object" default_focus="1"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<!-- <record id="action_view_account_move_line_reconcile_prompt" model="ir.actions.act_window">-->
|
||||
<!-- <field name="name">Reconcile Entries</field>-->
|
||||
<!-- <field name="res_model">account.move.line.reconcile.prompt</field>-->
|
||||
<!-- <field name="view_type">form</field>-->
|
||||
<!-- <field name="view_mode">tree,form</field>-->
|
||||
<!-- <field name="view_id" ref="view_account_move_line_reconcile_prompt"/>-->
|
||||
<!-- <field name="target">new</field>-->
|
||||
<!-- </record>-->
|
||||
|
||||
<record id="action_view_account_move_line_reconcile_prompt" model="ir.actions.act_window">
|
||||
<field name="name">Reconcile Entries</field>
|
||||
<field name="res_model">account.move.line.reconcile.prompt</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_account_move_line_reconcile_prompt"/>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.values" id="action_account_move_line_reconcile_prompt_values">
|
||||
<field name="model_id" ref="account.model_account_move_line" />
|
||||
<field name="object" eval="1" />
|
||||
<field name="name">Reconcile Entries</field>
|
||||
<field name="key2">client_action_multi</field>
|
||||
<field name="value" eval="'ir.actions.act_window,' +str(ref('action_view_account_move_line_reconcile_prompt'))" />
|
||||
<field name="key">action</field>
|
||||
<field name="model">account.move.line</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_move_line_reconcile_full" model="ir.ui.view">
|
||||
<!-- <record model="ir.values" id="action_account_move_line_reconcile_prompt_values">-->
|
||||
<!-- <field name="model_id" ref="account.model_account_move_line" />-->
|
||||
<!-- <field name="object" eval="1" />-->
|
||||
<!-- <field name="name">Reconcile Entries</field>-->
|
||||
<!-- <field name="key2">client_action_multi</field>-->
|
||||
<!-- <field name="value" eval="'ir.actions.act_window,' +str(ref('action_view_account_move_line_reconcile_prompt'))" />-->
|
||||
<!-- <field name="key">action</field>-->
|
||||
<!-- <field name="model">account.move.line</field>-->
|
||||
<!-- </record>-->
|
||||
|
||||
<record id="view_account_move_line_reconcile_full" model="ir.ui.view">
|
||||
<field name="name">account.move.line.reconcile.full.form</field>
|
||||
<field name="model">account.move.line.reconcile</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Reconciliation">
|
||||
<separator string="Reconciliation transactions" colspan="4"/>
|
||||
<field name="trans_nbr"/>
|
||||
<newline/>
|
||||
<field name="credit"/>
|
||||
<field name="debit"/>
|
||||
<separator string="Write-Off" colspan="4"/>
|
||||
<field name="writeoff"/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="terp-stock_effects-object-colorize" string="Reconcile" name="trans_rec_reconcile_full" type="object" default_focus="1"/>
|
||||
</group>
|
||||
<group height="210" width="550">
|
||||
<separator string="Reconciliation transactions" colspan="4"/>
|
||||
<field name="trans_nbr"/>
|
||||
<newline/>
|
||||
<field name="credit"/>
|
||||
<field name="debit"/>
|
||||
<separator string="Write-Off" colspan="4"/>
|
||||
<field name="writeoff"/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="terp-stock_effects-object-colorize" string="Reconcile" name="trans_rec_reconcile_full" type="object" default_focus="1" attrs="{'invisible':[('writeoff','!=',0)]}"/>
|
||||
<button icon="gtk-ok" string="Reconcile With Write-Off" name="trans_rec_addendum_writeoff" type="object" attrs="{'invisible':[('writeoff','==',0)]}"/>
|
||||
<button icon="gtk-ok" string="Partial Reconcile" name="trans_rec_reconcile_partial_reconcile" type="object" attrs="{'invisible':[('writeoff','==',0)]}"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_move_line_reconcile_partial" model="ir.ui.view">
|
||||
<field name="name">account.move.line.reconcile.partial.form</field>
|
||||
<field name="model">account.move.line.reconcile</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Reconciliation">
|
||||
<separator string="Reconciliation transactions" colspan="4"/>
|
||||
<field name="trans_nbr"/>
|
||||
<newline/>
|
||||
<field name="credit"/>
|
||||
<field name="debit"/>
|
||||
<separator string="Write-Off" colspan="4"/>
|
||||
<field name="writeoff"/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-ok" string="Reconcile With Write-Off" name="trans_rec_addendum_writeoff" type="object" default_focus="1"/>
|
||||
<button icon="gtk-ok" string="Partial Reconcile" name="trans_rec_reconcile_partial_reconcile" type="object"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
<record id="action_view_account_move_line_reconcile" model="ir.actions.act_window">
|
||||
<field name="name">Reconcile Entries</field>
|
||||
<field name="res_model">account.move.line.reconcile</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="view_id" ref="view_account_move_line_reconcile_full"/>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.values" id="action_account_move_line_reconcile_prompt_values">
|
||||
<field name="model_id" ref="account.model_account_move_line" />
|
||||
<field name="object" eval="1" />
|
||||
<field name="name">Reconcile Entries</field>
|
||||
<field name="key2">client_action_multi</field>
|
||||
<field name="value" eval="'ir.actions.act_window,' +str(ref('action_view_account_move_line_reconcile'))" />
|
||||
<field name="key">action</field>
|
||||
<field name="model">account.move.line</field>
|
||||
</record>
|
||||
<!-- <record id="view_account_move_line_reconcile_full" model="ir.ui.view">-->
|
||||
<!-- <field name="name">account.move.line.reconcile.full.form</field>-->
|
||||
<!-- <field name="model">account.move.line.reconcile</field>-->
|
||||
<!-- <field name="type">form</field>-->
|
||||
<!-- <field name="arch" type="xml">-->
|
||||
<!-- <form string="Reconciliation">-->
|
||||
<!-- <separator string="Reconciliation transactions" colspan="4"/>-->
|
||||
<!-- <field name="trans_nbr"/>-->
|
||||
<!-- <newline/>-->
|
||||
<!-- <field name="credit"/>-->
|
||||
<!-- <field name="debit"/>-->
|
||||
<!-- <separator string="Write-Off" colspan="4"/>-->
|
||||
<!-- <field name="writeoff"/>-->
|
||||
<!-- <group colspan="4" col="6">-->
|
||||
<!-- <label string ="" colspan="2"/>-->
|
||||
<!-- <button icon="gtk-cancel" special="cancel" string="Cancel"/>-->
|
||||
<!-- <button icon="terp-stock_effects-object-colorize" string="Reconcile" name="trans_rec_reconcile_full" type="object" default_focus="1"/>-->
|
||||
<!-- </group>-->
|
||||
<!-- </form>-->
|
||||
<!-- </field>-->
|
||||
<!-- </record>-->
|
||||
<!---->
|
||||
<!-- <record id="view_account_move_line_reconcile_partial" model="ir.ui.view">-->
|
||||
<!-- <field name="name">account.move.line.reconcile.partial.form</field>-->
|
||||
<!-- <field name="model">account.move.line.reconcile</field>-->
|
||||
<!-- <field name="type">form</field>-->
|
||||
<!-- <field name="arch" type="xml">-->
|
||||
<!-- <form string="Reconciliation">-->
|
||||
<!-- <separator string="Reconciliation transactions" colspan="4"/>-->
|
||||
<!-- <field name="trans_nbr"/>-->
|
||||
<!-- <newline/>-->
|
||||
<!-- <field name="credit"/>-->
|
||||
<!-- <field name="debit"/>-->
|
||||
<!-- <separator string="Write-Off" colspan="4"/>-->
|
||||
<!-- <field name="writeoff"/>-->
|
||||
<!-- <group colspan="4" col="6">-->
|
||||
<!-- <label string ="" colspan="2"/>-->
|
||||
<!-- <button icon="gtk-cancel" special="cancel" string="Cancel"/>-->
|
||||
<!-- <button icon="gtk-ok" string="Reconcile With Write-Off" name="trans_rec_addendum_writeoff" type="object" default_focus="1"/>-->
|
||||
<!-- <button icon="gtk-ok" string="Partial Reconcile" name="trans_rec_reconcile_partial_reconcile" type="object"/>-->
|
||||
<!-- </group>-->
|
||||
<!-- </form>-->
|
||||
<!-- </field>-->
|
||||
<!-- </record>-->
|
||||
|
||||
<record id="account_move_line_reconcile_writeoff" model="ir.ui.view">
|
||||
<field name="name">account.move.line.reconcile.writeoff.form</field>
|
||||
|
||||
@@ -8,9 +8,10 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Create Entries From Models">
|
||||
<group height="240" width="510">
|
||||
<group height="250" width="470">
|
||||
<separator string="This wizard will create entries from Models" colspan="4"/>
|
||||
<field name="model"/>
|
||||
<separator string="Account Models" colspan="4"/>
|
||||
<field name="model" nolabel="1"/>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="2">
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
<field name="model">account.analytic.default</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Analytic Defaults" editable="bottom">
|
||||
<tree string="Analytic Defaults">
|
||||
<field name="sequence"/>
|
||||
<field name="analytic_id" required="1"/>
|
||||
<field name="product_id"/>
|
||||
@@ -18,17 +18,18 @@
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_analytic_default_form" model="ir.ui.view">
|
||||
<field name="name">account.analytic.default.form</field>
|
||||
<field name="model">account.analytic.default</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Analytic Defaults">
|
||||
<field name="analytic_id" select="1" required="1"/>
|
||||
<field name="analytic_id" required="1"/>
|
||||
<field name="sequence"/>
|
||||
<separator string="Conditions" colspan="4"/>
|
||||
<field name="product_id" select="1"/>
|
||||
<field name="partner_id" select="1"/>
|
||||
<field name="product_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<field name="date_start"/>
|
||||
@@ -36,11 +37,27 @@
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_account_analytic_default_form_search" model="ir.ui.view">
|
||||
<field name="name">account.analytic.default.search</field>
|
||||
<field name="model">account.analytic.default</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Accounts">
|
||||
<field name="analytic_id"/>
|
||||
<field name="product_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="company_id"/>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
<record id="action_analytic_default_form" model="ir.actions.act_window">
|
||||
<field name="name">Analytic Defaults</field>
|
||||
<field name="res_model">account.analytic.default</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="view_account_analytic_default_form_search"/>
|
||||
</record>
|
||||
<!-- <menuitem-->
|
||||
<!-- action="action_analytic_default_form"-->
|
||||
@@ -48,7 +65,12 @@
|
||||
<!-- parent="account.menu_analytic_accounting"/>-->
|
||||
|
||||
<act_window
|
||||
domain="[('account_id', '=', active_id)]" id="act_account_acount_move_line_open" name="Entries" res_model="account.move.line" src_model="account.account"/>
|
||||
name="Entries"
|
||||
id="act_account_acount_move_line_open"
|
||||
res_model="account.move.line"
|
||||
src_model="account.account"
|
||||
domain="[('account_id', '=', active_id)]"/>
|
||||
|
||||
<act_window
|
||||
name="Analytic Rules"
|
||||
id="analytic_rule_action_partner"
|
||||
@@ -56,12 +78,14 @@
|
||||
src_model="res.partner"
|
||||
domain="[('partner_id','=',active_id)]"
|
||||
groups="base.group_extended"/>
|
||||
|
||||
<act_window
|
||||
name="Analytic Rules"
|
||||
id="analytic_rule_action_user"
|
||||
res_model="account.analytic.default"
|
||||
src_model="res.users"
|
||||
domain="[('user_id','=',active_id)]"/>
|
||||
|
||||
<act_window
|
||||
name="Analytic Rules"
|
||||
res_model="account.analytic.default"
|
||||
|
||||
@@ -168,7 +168,7 @@
|
||||
<form string="Analytic Plan">
|
||||
<field name="name" select="1"/>
|
||||
<field name="default_instance_id"/>
|
||||
<field name="plan_ids" colspan="4"/>
|
||||
<field name="plan_ids" colspan="4" nolabel="1"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
@@ -192,7 +192,7 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
|
||||
<menuitem
|
||||
parent="account.menu_analytic"
|
||||
name="Multi Plans"
|
||||
@@ -201,7 +201,7 @@
|
||||
<menuitem
|
||||
parent="menu_account_analytic_multi_plan_action"
|
||||
id="menu_account_analytic_plan_action"
|
||||
action="account_analytic_plan_form_action"/>
|
||||
action="account_analytic_plan_form_action"/>
|
||||
|
||||
<record model="ir.ui.view" id="account_analytic_plan_line_form">
|
||||
<field name="name">account.analytic.plan.line.form</field>
|
||||
|
||||
@@ -75,11 +75,6 @@
|
||||
<page string="Accounts">
|
||||
<field name="account_ids" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Dotations">
|
||||
<button string="Spread" name="%(action_account_budget_spread)d" type="action" icon="gtk-fullscreen"/>
|
||||
<field name="dotation_ids" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
|
||||
<page string="Budget Lines">
|
||||
<field name="crossovered_budget_line" widget="one2many_list" colspan="4" nolabel="1" mode="graph,tree">
|
||||
<graph type="bar" string="Lines">
|
||||
|
||||
@@ -8,12 +8,15 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Dates Period">
|
||||
<field name="date_from"/>
|
||||
<field name="date_to"/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_report" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
<group width="450">
|
||||
<separator string="This wizard is used to print budget" colspan="4"/>
|
||||
<field name="date_from"/>
|
||||
<field name="date_to"/>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_report" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -8,12 +8,15 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Dates Period">
|
||||
<field name="date_from"/>
|
||||
<field name="date_to"/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_report" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
<group width="450">
|
||||
<separator string="This wizard is used to print budget" colspan="4"/>
|
||||
<field name="date_from"/>
|
||||
<field name="date_to"/>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_report" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -8,13 +8,16 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Dates Period">
|
||||
<field name="date_from"/>
|
||||
<field name="date_to"/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_report" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
</group>
|
||||
<group width="450">
|
||||
<separator string="This wizard is used to print summary of budgets" colspan="4"/>
|
||||
<field name="date_from"/>
|
||||
<field name="date_to"/>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_report" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -8,13 +8,16 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Dates Period">
|
||||
<field name="date1"/>
|
||||
<field name="date2"/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_report" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
</group>
|
||||
<group width="450">
|
||||
<separator string="Print Budgets" colspan="4"/>
|
||||
<field name="date1"/>
|
||||
<field name="date2"/>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_report" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -7,14 +7,16 @@
|
||||
<field name="model">account.budget.spread</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Dates Period">
|
||||
<field name="fiscalyear"/>
|
||||
<field name="amount"/>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_spread" string="Ok" type="object" icon="gtk-ok" default_focus="1"/>
|
||||
<form string="Select Fiscalyear">
|
||||
<group width="480">
|
||||
<separator string="" colspan="4"/>
|
||||
<field name="fiscalyear"/>
|
||||
<field name="amount"/>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_spread" string="Ok" type="object" icon="gtk-ok"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- encoding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,7 +15,7 @@
|
||||
# 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/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
@@ -27,7 +27,7 @@ class account_coda(osv.osv):
|
||||
_description = "coda for an Account"
|
||||
_columns = {
|
||||
'name': fields.binary('Coda file', readonly=True),
|
||||
'statement_ids': fields.one2many('account.bank.statement','coda_id','Generated Bank Statement', readonly=True),
|
||||
'statement_ids': fields.one2many('account.bank.statement','coda_id','Generated Bank Statements', readonly=True),
|
||||
'note': fields.text('Import log', readonly=True),
|
||||
'journal_id': fields.many2one('account.journal','Bank Journal', readonly=True, select=True),
|
||||
'date': fields.date('Import Date', readonly=True, select=True),
|
||||
|
||||
@@ -12,14 +12,14 @@
|
||||
<field name="journal_id" />
|
||||
<field name="date" />
|
||||
<field name="user_id" />
|
||||
<notebook colspan="4">
|
||||
<page string="Log">
|
||||
<field name="note" colspan="4"/>
|
||||
</page>
|
||||
<page string="Statements">
|
||||
<field name="statement_ids" colspan="4"/>
|
||||
</page>
|
||||
</notebook>
|
||||
<notebook colspan="4">
|
||||
<page string="Log">
|
||||
<field name="note" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Statements">
|
||||
<field name="statement_ids" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -124,7 +124,7 @@ def _coda_parsing(self, cr, uid, data, context):
|
||||
bank_statement['date'] = str2date(line[5:11])
|
||||
bank_statement['journal_id']=data['form']['journal_id']
|
||||
period_id = pool.get('account.period').search(cr, uid, [('date_start','<=',time.strftime('%Y-%m-%d',time.strptime(bank_statement['date'],"%y/%m/%d"))),('date_stop','>=',time.strftime('%Y-%m-%d',time.strptime(bank_statement['date'],"%y/%m/%d")))])
|
||||
bank_statement['period_id'] = period_id[0]
|
||||
bank_statement['period_id'] = period_id and period_id[0] or False
|
||||
bank_statement['state']='draft'
|
||||
elif line[0] == '1':
|
||||
# old balance data
|
||||
|
||||
@@ -28,11 +28,11 @@
|
||||
Modules to automate letters for unpaid invoices, with multi-level recalls.
|
||||
|
||||
You can define your multiple levels of recall through the menu:
|
||||
Financial Management/Configuration/Payment Terms/Follow-Ups
|
||||
Financial Management/Configuration/Follow-Ups
|
||||
|
||||
Once it's defined, you can automatically print recalls every day
|
||||
through simply clicking on the menu:
|
||||
Financial_Management/Periodical_Processing/Print_Follow-Ups
|
||||
Financial Management/Periodical Processing/Send followups
|
||||
|
||||
It will generate a PDF with all the letters according the the
|
||||
different levels of recall defined. You can define different policies
|
||||
@@ -40,7 +40,7 @@
|
||||
|
||||
|
||||
Note that if you want to change the followup level for a given partner/account entry, you can do it in the menu:
|
||||
Financial_Management/Reporting/Follow-Ups/All Receivable Entries
|
||||
Financial Management/Reporting/Follow-Ups/All receivable entries
|
||||
|
||||
""",
|
||||
'author': 'Tiny',
|
||||
|
||||
@@ -171,14 +171,13 @@ class account_followup_print_all(osv.osv_memory):
|
||||
data = self.read(cr, uid, ids, [])[0]
|
||||
model_data_ids = mod_obj.search(cr, uid, [('model','=','ir.ui.view'),('name','=','view_account_followup_print_all_msg')], context=context)
|
||||
resource_id = mod_obj.read(cr, uid, model_data_ids, fields=['res_id'], context=context)[0]['res_id']
|
||||
|
||||
if data['email_conf']:
|
||||
mail_notsent = ''
|
||||
msg_sent = ''
|
||||
msg_unsent = ''
|
||||
count = 0
|
||||
data_user = user_obj.browse(cr, uid, uid)
|
||||
move_lines = line_obj.browse(cr, uid, data['partner_ids'][0][2])
|
||||
move_lines = line_obj.browse(cr, uid, data['partner_ids'])
|
||||
partners = []
|
||||
dict_lines = {}
|
||||
for line in move_lines:
|
||||
|
||||
@@ -45,11 +45,11 @@
|
||||
<field name="model">payment.type</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Payment Type">
|
||||
<field name="name" select="1"/>
|
||||
<form string="Payment Type">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<newline/>
|
||||
<field colspan="4" name="suitable_bank_types" select="1"/>
|
||||
<separator string="Suitable Bank Types" colspan="4"/>
|
||||
<field name="suitable_bank_types" nolabel="1" colspan="4"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -102,8 +102,8 @@
|
||||
</blockTable>
|
||||
<para style="P3"><font color="white"> </font></para>
|
||||
<para style="P3"><seqReset/></para>
|
||||
<para style="P1">[[ repeatIn(lines(data['form']),'o')]]</para>
|
||||
<section>
|
||||
<para style="P1">[[ repeatIn(lines(data['form']),'o')]]</para>
|
||||
<blockTable colWidths="528.0" style="Table7">
|
||||
<tr>
|
||||
<td><para style="P11"><font color="white">[['.....'*(o['level']) ]]</font><font>[[ o['type']=='view' and setTag('para','para',{'fontName':'Helvetica-Bold','fontSize':'10.5'}) ]]</font>(<seq/>)<font>[[ o['name'] ]] ([[ o['code'] ]])</font></para></td>
|
||||
|
||||
@@ -8,14 +8,14 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Indicators">
|
||||
<label string="Select the criteria based on which Indicators will be printed."/>
|
||||
<newline/>
|
||||
<group width="450">
|
||||
<separator string="Select the criteria based on which Indicators will be printed." colspan="4"/>
|
||||
<field name="select_base"/>
|
||||
<separator string="" colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="next" string="Next" type="object" icon="gtk-ok" default_focus="1"/>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="next" string="Next" type="object" icon="gtk-ok" default_focus="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
@@ -31,9 +31,11 @@
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<menuitem action="action_account_report_print_indicators"
|
||||
name="Print Indicators"
|
||||
parent="account_report.menu_action_account_report_tree_view" id="menu_wizard_print_indicators"/>
|
||||
<menuitem
|
||||
action="action_account_report_print_indicators"
|
||||
name="Print Indicators"
|
||||
parent="account_report.menu_action_account_report_tree_view"
|
||||
id="menu_wizard_print_indicators"/>
|
||||
|
||||
<record id="account_report_print_indicators_relation_view" model="ir.ui.view">
|
||||
<field name="name">account.report.print.indicators.relation.form</field>
|
||||
@@ -41,10 +43,10 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Indicators">
|
||||
<newline/>
|
||||
<separator string="" colspan="4"/>
|
||||
<newline/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<newline/>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_report" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
</group>
|
||||
|
||||
@@ -8,16 +8,14 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select period">
|
||||
<group width="660" height="480">
|
||||
<field name="company_id"/>
|
||||
<field name="display_account" required = "True"/>
|
||||
<newline/>
|
||||
<field name="fiscalyear"/>
|
||||
<label colspan="2" string="(Keep empty for all open fiscal years)" align="0.0"/>
|
||||
<field name="display_type"/>
|
||||
<newline/>
|
||||
<separator string="Filters" colspan="4"/>
|
||||
<field name="state" required="True"/>
|
||||
<newline/>
|
||||
<group attrs="{'invisible':[('state','=','none')]}" colspan="4">
|
||||
<group attrs="{'invisible':[('state','=','byperiod')]}" colspan="4">
|
||||
<separator string="Date Filter" colspan="4"/>
|
||||
@@ -29,12 +27,12 @@
|
||||
<field name="periods" colspan="4" nolabel="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<newline/>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_state" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -8,32 +8,30 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select period">
|
||||
<field name="company_id"/>
|
||||
<field name="display_account" required = "True"/>
|
||||
<newline/>
|
||||
<field name="fiscalyear"/>
|
||||
<label colspan="2" string="(Keep empty for all open fiscal years)" align="0.0"/>
|
||||
<field name="display_type"/>
|
||||
<newline/>
|
||||
<separator string="Filters" colspan="4"/>
|
||||
<field name="state" required="True"/>
|
||||
<newline/>
|
||||
<group attrs="{'invisible':[('state','=','none')]}" colspan="4">
|
||||
<group attrs="{'invisible':[('state','=','byperiod')]}" colspan="4">
|
||||
<separator string="Date Filter" colspan="4"/>
|
||||
<field name="date_from"/>
|
||||
<field name="date_to"/>
|
||||
</group>
|
||||
<group attrs="{'invisible':[('state','=','bydate')]}" colspan="4">
|
||||
<separator string="Filter on Periods" colspan="4"/>
|
||||
<field name="periods" colspan="4" nolabel="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<newline/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_state" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
<group width="660" height="480">
|
||||
<field name="company_id"/>
|
||||
<field name="display_account" required = "True"/>
|
||||
<field name="fiscalyear"/>
|
||||
<label colspan="2" string="(Keep empty for all open fiscal years)" align="0.0"/>
|
||||
<field name="display_type"/>
|
||||
<separator string="Filters" colspan="4"/>
|
||||
<field name="state" required="True"/>
|
||||
<group attrs="{'invisible':[('state','=','none')]}" colspan="4">
|
||||
<group attrs="{'invisible':[('state','=','byperiod')]}" colspan="4">
|
||||
<separator string="Date Filter" colspan="4"/>
|
||||
<field name="date_from"/>
|
||||
<field name="date_to"/>
|
||||
</group>
|
||||
<group attrs="{'invisible':[('state','=','bydate')]}" colspan="4">
|
||||
<separator string="Filter on Periods" colspan="4"/>
|
||||
<field name="periods" colspan="4" nolabel="1"/>
|
||||
</group>
|
||||
</group>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_state" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
@@ -73,9 +71,9 @@
|
||||
<field name="context">{'record_id':active_id}</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<menuitem
|
||||
parent="account.menu_finance_legal_statement"
|
||||
|
||||
<menuitem
|
||||
parent="account.menu_finance_legal_statement"
|
||||
id="final_accounting_reports"
|
||||
name="Accounting Reports"/>
|
||||
|
||||
|
||||
@@ -9,21 +9,22 @@
|
||||
<field name="arch" type="xml">
|
||||
<form string="Account reporting">
|
||||
<notebook>
|
||||
<page string="General">
|
||||
<field name="name" select="1" colspan="3"/>
|
||||
<field name="code" select="1"/>
|
||||
<field name="parent_id" select="1" />
|
||||
<field name="sequence"/>
|
||||
<field name="color_font"/>
|
||||
<field name="color_back"/>
|
||||
<field name="font_style" />
|
||||
<field name="report_type" />
|
||||
<newline/>
|
||||
<separator string="Accounts" colspan="4"/>
|
||||
<field name="account_id" colspan="4" nolabel="1"/>
|
||||
</page><page string="Notes">
|
||||
<field name="note" nolabel="1" colspan="4"/>
|
||||
</page>
|
||||
<page string="General">
|
||||
<field name="name" colspan="2"/>
|
||||
<field name="code"/>
|
||||
<field name="parent_id"/>
|
||||
<field name="sequence"/>
|
||||
<field name="color_font"/>
|
||||
<field name="color_back"/>
|
||||
<field name="font_style"/>
|
||||
<field name="report_type"/>
|
||||
<newline/>
|
||||
<separator string="Accounts" colspan="4"/>
|
||||
<field name="account_id" colspan="4" nolabel="1"/>
|
||||
</page>
|
||||
<page string="Notes">
|
||||
<field name="note" nolabel="1" colspan="4"/>
|
||||
</page>
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -8,13 +8,16 @@
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Select Dates Period">
|
||||
<field name="fiscalyear"/>
|
||||
<newline/>
|
||||
<field name="periods"/>
|
||||
<group colspan="4" col="6">
|
||||
<label string ="" colspan="2"/>
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_report" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
<group height="350" width="390">
|
||||
<field name="fiscalyear" colspan="4"/>
|
||||
<newline/>
|
||||
<separator string="Periods" colspan="4"/>
|
||||
<field name="periods" nolabel="1" colspan="4"/>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<button special="cancel" string="Cancel" icon="gtk-cancel"/>
|
||||
<button name="check_report" string="Print" type="object" icon="gtk-print" default_focus="1"/>
|
||||
</group>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -51,7 +51,7 @@ ir_sequence_type()
|
||||
class account_journal(osv.osv):
|
||||
_inherit = "account.journal"
|
||||
_columns = {
|
||||
'max_amount': fields.float('Verify Transection', digits=(16, int(config['price_accuracy'])), help="Validate voucher entry twice before posting it, if transection amount more then entered here"),
|
||||
'max_amount': fields.float('Verify Transaction', digits=(16, int(config['price_accuracy'])), help="Validate voucher entry twice before posting it, if transection amount more then entered here"),
|
||||
}
|
||||
account_journal()
|
||||
|
||||
@@ -60,7 +60,7 @@ class account_voucher(osv.osv):
|
||||
def _get_period(self, cr, uid, context={}):
|
||||
if context.get('period_id', False):
|
||||
return context.get('period_id')
|
||||
|
||||
|
||||
periods = self.pool.get('account.period').find(cr, uid)
|
||||
if periods:
|
||||
return periods[0]
|
||||
@@ -76,12 +76,12 @@ class account_voucher(osv.osv):
|
||||
|
||||
def _get_journal(self, cr, uid, context={}):
|
||||
journal_pool = self.pool.get('account.journal')
|
||||
|
||||
|
||||
if context.get('journal_id', False):
|
||||
return context.get('journal_id')
|
||||
|
||||
|
||||
type_inv = context.get('type', 'rec_voucher')
|
||||
|
||||
|
||||
ttype = type2journal.get(type_inv, type_inv)
|
||||
res = journal_pool.search(cr, uid, [('type', '=', ttype)], limit=1)
|
||||
|
||||
@@ -131,7 +131,7 @@ class account_voucher(osv.osv):
|
||||
help=' * The \'Draft\' state is used when a user is encoding a new and unconfirmed Voucher. \
|
||||
\n* The \'Pro-forma\' when voucher is in Pro-forma state,voucher does not have an voucher number. \
|
||||
\n* The \'Posted\' state is used when user create voucher,a voucher number is generated and voucher entries are created in account \
|
||||
\n* The \'Cancelled\' state is used when user cancel voucher.'),
|
||||
\n* The \'Cancelled\' state is used when user cancel voucher.'),
|
||||
'amount':fields.float('Amount', readonly=True),
|
||||
'number':fields.char('Number', size=32, readonly=True),
|
||||
'reference': fields.char('Voucher Reference', size=64),
|
||||
@@ -147,7 +147,7 @@ class account_voucher(osv.osv):
|
||||
'type': _get_type,
|
||||
'journal_id':_get_journal,
|
||||
'currency_id': _get_currency,
|
||||
|
||||
|
||||
'state': lambda *a: 'draft',
|
||||
'date' : lambda *a: time.strftime('%Y-%m-%d'),
|
||||
'reference_type': lambda *a: "none",
|
||||
@@ -159,7 +159,7 @@ class account_voucher(osv.osv):
|
||||
# cur_obj = self.pool.get('res.currency')
|
||||
|
||||
def onchange_account(self, cr, uid, ids, account_id):
|
||||
|
||||
|
||||
if not account_id:
|
||||
return {
|
||||
'value':{'amount':False}
|
||||
@@ -176,9 +176,9 @@ class account_voucher(osv.osv):
|
||||
return {
|
||||
'value':{'account_id':False}
|
||||
}
|
||||
|
||||
|
||||
journal = self.pool.get('account.journal')
|
||||
|
||||
|
||||
if journal_id and (type in ('rec_voucher','bank_rec_voucher','journal_pur_voucher','journal_voucher')):
|
||||
account_id = journal.browse(cr, uid, journal_id).default_debit_account_id
|
||||
return {
|
||||
@@ -221,7 +221,7 @@ class account_voucher(osv.osv):
|
||||
self.write(cr, uid, ids, {'state':'draft'})
|
||||
return True
|
||||
|
||||
def unlink(self, cr, uid, ids, context={}):
|
||||
def unlink(self, cr, uid, ids, context=None):
|
||||
vouchers = self.read(cr, uid, ids, ['state'])
|
||||
unlink_ids = []
|
||||
for t in vouchers:
|
||||
@@ -229,7 +229,7 @@ class account_voucher(osv.osv):
|
||||
unlink_ids.append(t['id'])
|
||||
else:
|
||||
raise osv.except_osv('Invalid action !', 'Cannot delete Voucher(s) which are already opened or paid !')
|
||||
return super(account_voucher, self).unlink(self, cr, uid, unlink_ids)
|
||||
return super(account_voucher, self).unlink(cr, uid, unlink_ids, context=context)
|
||||
|
||||
def _get_analytic_lines(self, cr, uid, id):
|
||||
inv = self.browse(cr, uid, [id])[0]
|
||||
@@ -262,12 +262,12 @@ class account_voucher(osv.osv):
|
||||
return iml
|
||||
|
||||
def action_move_line_create(self, cr, uid, ids, *args):
|
||||
|
||||
|
||||
for inv in self.browse(cr, uid, ids):
|
||||
|
||||
|
||||
if inv.move_id:
|
||||
continue
|
||||
|
||||
|
||||
company_currency = inv.company_id.currency_id.id
|
||||
|
||||
line_ids = self.read(cr, uid, [inv.id], ['payment_ids'])[0]['payment_ids']
|
||||
@@ -386,7 +386,7 @@ class account_voucher(osv.osv):
|
||||
elif line.type == 'cr':
|
||||
move_line['credit'] = line.amount or False
|
||||
amount=line.amount * (-1)
|
||||
|
||||
|
||||
move_line['analytic_account_id'] = line.account_analytic_id.id or False
|
||||
ml_id=self.pool.get('account.move.line').create(cr, uid, move_line)
|
||||
|
||||
@@ -433,7 +433,7 @@ class account_voucher(osv.osv):
|
||||
'tax_amount': x.get('tax_amount', False),
|
||||
'ref':x.get('ref',False)
|
||||
}
|
||||
|
||||
|
||||
def _convert_ref(self, cr, uid, ref):
|
||||
return (ref or '').replace('/','')
|
||||
|
||||
|
||||
@@ -49,12 +49,16 @@
|
||||
<separator string="Narration" colspan="4"/>
|
||||
<field name="narration" colspan="4" nolabel="1" height="50"/>
|
||||
<group col="6" colspan="6">
|
||||
<group col="2" colspan="2">
|
||||
<field name="state"/>
|
||||
<button name="open_voucher" string="Pro-forma" states="draft"/>
|
||||
<button name="proforma_voucher" string="Create" states="proforma"/>
|
||||
</group>
|
||||
<group col="4" colspan="4">
|
||||
<button name="open_voucher" string="Pro-forma" states="draft" icon="terp-check"/>
|
||||
<button name="proforma_voucher" string="Create" states="proforma" icon="terp-document-new"/>
|
||||
<button name="recheck_voucher" string="Validate" states="recheck"/>
|
||||
<button name="cancel_voucher" string="Cancel" states="draft,proforma,recheck" type="object"/>
|
||||
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object"/>
|
||||
<button name="cancel_voucher" string="Cancel" states="draft,proforma,recheck" type="object" icon="gtk-cancel"/>
|
||||
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="terp-stock_effects-object-colorize"/>
|
||||
</group>
|
||||
</group>
|
||||
</page>
|
||||
<page string="Other Info">
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
import project
|
||||
import analytic
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
||||
@@ -0,0 +1,251 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2010-06-18 10:59:19+0000\n"
|
||||
"PO-Revision-Date: 2010-06-18 10:59:19+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,child_ids:0
|
||||
msgid "Child Accounts"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,amount_currency:0
|
||||
msgid "The amount expressed in the related account currency if not equal to the company one."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: constraint:ir.model:0
|
||||
msgid "The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,name:0
|
||||
msgid "Account Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,unit_amount:0
|
||||
msgid "Specifies the amount of quantity to count."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,currency_id:0
|
||||
msgid "The related account currency if not equal to the company one."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: model:ir.module.module,description:analytic.module_meta_information
|
||||
msgid "Module for defining analytic accounting object.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,state:0
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,user_id:0
|
||||
msgid "Account Manager"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Closed"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,debit:0
|
||||
msgid "Debit"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.account,state:0
|
||||
msgid "* When an account is created its in 'Draft' state. \n"
|
||||
"* If any associated partner is there, it can be in 'Open' state. \n"
|
||||
"* If any pending balance is there it can be in 'Pending'. \n"
|
||||
"* And finally when all the transactions are over, it can be in 'Close' state. \n"
|
||||
"* The project can be in either if the states 'Template' and 'Running'.\n"
|
||||
" If it is template then we can make projects based on the template projects. If its in 'Running' state it is a normal project. \n"
|
||||
" If it is to be reviewed then the state is 'Pending'.\n"
|
||||
" When the project is completed the state is set to 'Done'."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,type:0
|
||||
msgid "Account Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: model:ir.model,name:analytic.model_account_analytic_line
|
||||
msgid "Analytic Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,description:0
|
||||
#: field:account.analytic.line,name:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,amount:0
|
||||
msgid "Calculated by multiplying the quantity and the price given in the Product's cost price."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,company_id:0
|
||||
#: field:account.analytic.line,company_id:0
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,quantity_max:0
|
||||
msgid "Maximum Quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,user_id:0
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,parent_id:0
|
||||
msgid "Parent Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,date:0
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,currency_id:0
|
||||
#: field:account.analytic.line,currency_id:0
|
||||
msgid "Account currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,type:0
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.account,quantity_max:0
|
||||
msgid "Sets the higher limit of quantity of hours."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,credit:0
|
||||
msgid "Credit"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,amount:0
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,contact_id:0
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,balance:0
|
||||
msgid "Balance"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,quantity:0
|
||||
#: field:account.analytic.line,unit_amount:0
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,date:0
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,code:0
|
||||
msgid "Account Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,type:0
|
||||
msgid "Normal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,complete_name:0
|
||||
msgid "Full Account Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,account_id:0
|
||||
#: model:ir.model,name:analytic.model_account_analytic_account
|
||||
#: model:ir.module.module,shortdesc:analytic.module_meta_information
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,company_currency_id:0
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,amount_currency:0
|
||||
msgid "Amount currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,partner_id:0
|
||||
msgid "Associated Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,line_ids:0
|
||||
msgid "Analytic Entries"
|
||||
msgstr ""
|
||||
|
||||
@@ -0,0 +1,251 @@
|
||||
# Translation of OpenERP Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * analytic
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: OpenERP Server 6.0dev\n"
|
||||
"Report-Msgid-Bugs-To: support@openerp.com\n"
|
||||
"POT-Creation-Date: 2010-06-18 11:01:12+0000\n"
|
||||
"PO-Revision-Date: 2010-06-18 11:01:12+0000\n"
|
||||
"Last-Translator: <>\n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,child_ids:0
|
||||
msgid "Child Accounts"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,amount_currency:0
|
||||
msgid "The amount expressed in the related account currency if not equal to the company one."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: constraint:ir.model:0
|
||||
msgid "The Object name must start with x_ and not contain any special character !"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,name:0
|
||||
msgid "Account Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,unit_amount:0
|
||||
msgid "Specifies the amount of quantity to count."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,currency_id:0
|
||||
msgid "The related account currency if not equal to the company one."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: model:ir.module.module,description:analytic.module_meta_information
|
||||
msgid "Module for defining analytic accounting object.\n"
|
||||
" "
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,state:0
|
||||
msgid "State"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,user_id:0
|
||||
msgid "Account Manager"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Draft"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Closed"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,debit:0
|
||||
msgid "Debit"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.account,state:0
|
||||
msgid "* When an account is created its in 'Draft' state. \n"
|
||||
"* If any associated partner is there, it can be in 'Open' state. \n"
|
||||
"* If any pending balance is there it can be in 'Pending'. \n"
|
||||
"* And finally when all the transactions are over, it can be in 'Close' state. \n"
|
||||
"* The project can be in either if the states 'Template' and 'Running'.\n"
|
||||
" If it is template then we can make projects based on the template projects. If its in 'Running' state it is a normal project. \n"
|
||||
" If it is to be reviewed then the state is 'Pending'.\n"
|
||||
" When the project is completed the state is set to 'Done'."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,type:0
|
||||
msgid "Account Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Template"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: model:ir.model,name:analytic.model_account_analytic_line
|
||||
msgid "Analytic Line"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,description:0
|
||||
#: field:account.analytic.line,name:0
|
||||
msgid "Description"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.line,amount:0
|
||||
msgid "Calculated by multiplying the quantity and the price given in the Product's cost price."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,company_id:0
|
||||
#: field:account.analytic.line,company_id:0
|
||||
msgid "Company"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,quantity_max:0
|
||||
msgid "Maximum Quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,user_id:0
|
||||
msgid "User"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,parent_id:0
|
||||
msgid "Parent Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,date:0
|
||||
msgid "Date"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,currency_id:0
|
||||
#: field:account.analytic.line,currency_id:0
|
||||
msgid "Account currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,type:0
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: help:account.analytic.account,quantity_max:0
|
||||
msgid "Sets the higher limit of quantity of hours."
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,credit:0
|
||||
msgid "Credit"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,amount:0
|
||||
msgid "Amount"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,contact_id:0
|
||||
msgid "Contact"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Cancelled"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,balance:0
|
||||
msgid "Balance"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,date_start:0
|
||||
msgid "Date Start"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,quantity:0
|
||||
#: field:account.analytic.line,unit_amount:0
|
||||
msgid "Quantity"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,date:0
|
||||
msgid "Date End"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,code:0
|
||||
msgid "Account Code"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,type:0
|
||||
msgid "Normal"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,complete_name:0
|
||||
msgid "Full Account Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,account_id:0
|
||||
#: model:ir.model,name:analytic.model_account_analytic_account
|
||||
#: model:ir.module.module,shortdesc:analytic.module_meta_information
|
||||
msgid "Analytic Account"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,company_currency_id:0
|
||||
msgid "Currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.line,amount_currency:0
|
||||
msgid "Amount currency"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,partner_id:0
|
||||
msgid "Associated Partner"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: selection:account.analytic.account,state:0
|
||||
msgid "Open"
|
||||
msgstr ""
|
||||
|
||||
#. module: analytic
|
||||
#: field:account.analytic.account,line_ids:0
|
||||
msgid "Analytic Entries"
|
||||
msgstr ""
|
||||
|
||||
@@ -177,7 +177,7 @@ class crm_send_new_email(osv.osv_memory):
|
||||
"%s <%s>" % (case.user_id.name, case.user_id.address_id.email)) or \
|
||||
tools.config.get('email_from',False)})
|
||||
if 'subject' in fields:
|
||||
res.update({'subject': '[%s] %s' %(str(case.id), case.name or '')})
|
||||
res.update({'subject': '[%s] %s' % (str(case.id), context.get('subject', case.name) or '')})
|
||||
if 'email_cc' in fields:
|
||||
res.update({'email_cc': case.email_cc or ''})
|
||||
if 'text' in fields:
|
||||
|
||||
+2
-2
@@ -30,7 +30,7 @@
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.values" id="hr_timesheet_invoice_cost_ledger_values">
|
||||
<!-- <record model="ir.values" id="hr_timesheet_invoice_cost_ledger_values">
|
||||
<field name="model_id" ref="model_account_analytic_account" />
|
||||
<field name="object" eval="1" />
|
||||
<field name="name">Cost Ledger</field>
|
||||
@@ -38,7 +38,7 @@
|
||||
<field name="value" eval="'ir.actions.act_window,' + str(ref('action_hr_timesheet_invoice_cost_ledger'))" />
|
||||
<field name="key">action</field>
|
||||
<field name="model">account.analytic.account</field>
|
||||
</record>
|
||||
</record> -->
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -247,6 +247,7 @@
|
||||
<field name="count_comments" />
|
||||
<field name="count_votes" />
|
||||
<field name="state"/>
|
||||
<button name="idea_open" string="Open" states="draft" icon="terp-gtk-go-back-rtl"/>
|
||||
<button name="%(idea.action_idea_post_vote)d" icon="gtk-execute" type="action" states="open" string="Submit Vote"/>
|
||||
<button name="idea_close" string="Accept" states="open" icon="gtk-jump-to"/>
|
||||
<button name="idea_cancel" string="Refuse" states="open" icon="gtk-cancel"/>
|
||||
@@ -372,7 +373,7 @@
|
||||
<field name="search_view_id" ref="view_idea_vote_search"/>
|
||||
</record>
|
||||
|
||||
<menuitem name="Votes" parent="menu_ideas" id="menu_idea_vote" action="action_idea_vote"/>
|
||||
<menuitem name="Votes" parent="menu_idea_reporting" id="menu_idea_vote" action="action_idea_vote"/>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -101,6 +101,7 @@ class idea_post_vote(osv.osv_memory):
|
||||
"""
|
||||
|
||||
vote_ids = context and context.get('active_ids', []) or []
|
||||
vote_id = context['active_ids'][0]
|
||||
vote_pool = self.pool.get('idea.vote')
|
||||
idea_pool = self.pool.get('idea.idea')
|
||||
comment_pool = self.pool.get('idea.comment')
|
||||
|
||||
@@ -62,6 +62,7 @@ class partner_vat(osv.osv_memory):
|
||||
obj_vat_lclient = self.pool.get('vat.listing.clients')
|
||||
obj_model_data = self.pool.get('ir.model.data')
|
||||
data = self.read(cursor, user, ids)[0]
|
||||
context['test_xml'] = data['test_xml']
|
||||
period = obj_period.search(cursor, user, [('fiscalyear_id', '=', data['fyear'])], context=context)
|
||||
p_id_list = obj_partner.search(cursor, user, [('vat_subjected', '!=', False)], context=context)
|
||||
if not p_id_list:
|
||||
@@ -196,7 +197,7 @@ class partner_vat_list(osv.osv_memory):
|
||||
|
||||
data_file = '<?xml version="1.0"?>\n<VatList xmlns="http://www.minfin.fgov.be/VatList" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.minfin.fgov.be/VatList VatList.xml" RecipientId="VAT-ADMIN" SenderId="'+ str(company_vat) + '"'
|
||||
data_file +=' ControlRef="'+ cref + '" MandataireId="'+ tools.ustr(context['mand_id']) + '" SenderDate="'+ str(sender_date)+ '"'
|
||||
if ['test_xml']:
|
||||
if context['test_xml']:
|
||||
data_file += ' Test="0"'
|
||||
data_file += ' VersionTech="1.2">'
|
||||
data_file += '\n<AgentRepr DecNumber="1">\n\t<CompanyInfo>\n\t\t<VATNum>'+str(company_vat)+'</VATNum>\n\t\t<Name>'+tools.ustr(obj_cmpny.name)+'</Name>\n\t\t<Street>'+ tools.ustr(street) +'</Street>\n\t\t<CityAndZipCode>'+ tools.ustr(zip_city) +'</CityAndZipCode>'
|
||||
@@ -225,7 +226,7 @@ class partner_vat_list(osv.osv_memory):
|
||||
seq +=1
|
||||
sum_tax +=line['amount']
|
||||
sum_turnover +=line['turnover']
|
||||
data_clientinfo +='\n<ClientList SequenceNum="'+str(seq)+'">\n\t<CompanyInfo>\n\t\t<VATNum>'+line['vat'] +'</VATNum>\n\t\t<Country>'+tools.ustr(line['country']) +'</Country>\n\t</CompanyInfo>\n\t<Amount>'+str(int(line['amount'] * 100)) +'</Amount>\n\t<TurnOver>'+str(int(line['turnover'] * 100)) +'</TurnOver>\n</ClientList>'
|
||||
data_clientinfo +='\n<ClientList SequenceNum="'+str(seq)+'">\n\t<CompanyInfo>\n\t\t<VATNum>'+str(line['vat']) +'</VATNum>\n\t\t<Country>'+tools.ustr(line['country']) +'</Country>\n\t</CompanyInfo>\n\t<Amount>'+str(int(line['amount'] * 100)) +'</Amount>\n\t<TurnOver>'+str(int(line['turnover'] * 100)) +'</TurnOver>\n</ClientList>'
|
||||
|
||||
data_decl ='\n<DeclarantList SequenceNum="1" DeclarantNum="'+ dnum + '" ClientNbr="'+ str(seq) +'" TurnOverSum="'+ str(int(sum_turnover * 100)) +'" TaxSum="'+ str(int(sum_tax * 100)) +'" />'
|
||||
data_file += tools.ustr(data_decl) + tools.ustr(data_comp) + tools.ustr(data_period) + tools.ustr(data_clientinfo) + '\n</VatList>'
|
||||
|
||||
@@ -53,16 +53,51 @@
|
||||
<field name="state"/>
|
||||
<field name="descript"/>
|
||||
<field name="price" sum="Total price"/>
|
||||
<button colspan="1"
|
||||
name="%(action_lunch_order_confirm)d"
|
||||
string="Confirm Order"
|
||||
type="action" states="draft"
|
||||
icon="terp-gtk-go-back-rtl" />
|
||||
<button colspan="1"
|
||||
name="%(action_lunch_order_cancel)d"
|
||||
string="Cancel Order"
|
||||
type="action" states="confirmed"
|
||||
icon="terp-gtk-stop" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Lunch order Search view -->
|
||||
|
||||
<record id="view_lunch_order_filter" model="ir.ui.view">
|
||||
<field name="name">lunch.order.list.select</field>
|
||||
<field name="model">lunch.order</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Lunch Order">
|
||||
<filter icon="terp-check" string="To Confirm" domain="[('state','=','draft')]"/>
|
||||
<filter icon="terp-camera_test" string="Confirmed" domain="[('state','=',('confirmed'))]"/>
|
||||
<filter icon="terp-go-today" name="Today" string="Today" domain="[('date','=',time.strftime('%%Y-%%m-%%d'))]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="user_id"/>
|
||||
<field name="date"/>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="4" col="20">
|
||||
<filter string="Cashbox" icon="terp-dolar" domain="[]" context="{'group_by':'cashmove'}"/>
|
||||
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Lunch order Action -->
|
||||
|
||||
<record model="ir.actions.act_window" id="action_lunch_order_form">
|
||||
<field name="name">Lunch Orders</field>
|
||||
<field name="res_model">lunch.order</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
<field name="search_view_id" ref="view_lunch_order_filter"/>
|
||||
<field name="context">{"search_default_Today":1}</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Lunch Order" parent="menu_lunch"
|
||||
@@ -133,20 +168,45 @@
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="CashMove" editable="top">
|
||||
<field name="box" select="1"/>
|
||||
<field name="name" select="1" required="1"/>
|
||||
<field name="user_cashmove" select="1"/>
|
||||
<field name="amount" select="1" sum="Total amount"/>
|
||||
<field name="box" select="1"/>
|
||||
<field name="create_date"/>
|
||||
<field name="amount" select="1" sum="Total amount"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Cash Move Search View -->
|
||||
|
||||
<record id="view_lunch_cashmove_filter" model="ir.ui.view">
|
||||
<field name="name">lunch.cashmove.list.select</field>
|
||||
<field name="model">lunch.cashmove</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search CashMove">
|
||||
<filter icon="terp-go-today" name="Today" string="Today" domain="[('create_date','<=',time.strftime('%%Y-%%m-%%d 23:59:59'))]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="name"/>
|
||||
<field name="user_cashmove"/>
|
||||
<field name="create_date"/>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="4" col="20">
|
||||
<filter string="User" icon="terp-personal" domain="[]" context="{'group_by':'user_cashmove'}"/>
|
||||
<filter string="Box" icon="terp-accessories-archiver+" domain="[]" context="{'group_by':'box'}"/>
|
||||
</group>
|
||||
</search>
|
||||
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Cash Move Action -->
|
||||
|
||||
<record model="ir.actions.act_window" id="action_lunch_cashmove_form">
|
||||
<field name="name">CashMove</field>
|
||||
<field name="res_model">lunch.cashmove</field>
|
||||
<field name="search_view_id" ref="view_lunch_cashmove_filter"/>
|
||||
<field name="context">{"search_default_Today":1}</field>
|
||||
</record>
|
||||
|
||||
<menuitem name="Cash Moves" parent="menu_lunch"
|
||||
|
||||
@@ -195,7 +195,7 @@ class pos_order(osv.osv):
|
||||
line.price_unit * \
|
||||
(1-(line.discount or 0.0)/100.0), line.qty),
|
||||
res[order.id]['amount_tax'])
|
||||
else:
|
||||
elif line.qty != 0.0:
|
||||
for c in tax_obj.compute_all(cr, uid, line.product_id.taxes_id, line.price_unit * (1-(line.discount or 0.0)/100.0), line.qty, line.product_id, line.order_id.partner_id)['taxes']:
|
||||
val += c['amount']
|
||||
res[order.id]['amount_tax'] = cur_obj.round(cr, uid, cur, val)
|
||||
@@ -238,6 +238,7 @@ class pos_order(osv.osv):
|
||||
'invoice_id': False,
|
||||
'account_move': False,
|
||||
'picking_id': False,
|
||||
'statement_ids':[],
|
||||
'nb_print': 0,
|
||||
'pickings': []
|
||||
})
|
||||
@@ -1055,11 +1056,13 @@ class pos_order_line(osv.osv):
|
||||
return res
|
||||
|
||||
def _amount_line_ttc(self, cr, uid, ids, field_name, arg, context):
|
||||
res = {}
|
||||
res = dict.fromkeys(ids, 0.0)
|
||||
account_tax_obj = self.pool.get('account.tax')
|
||||
for line in self.browse(cr, uid, ids):
|
||||
tax_amount = 0.0
|
||||
taxes = [t for t in line.product_id.taxes_id]
|
||||
if line.qty == 0.0:
|
||||
continue
|
||||
computed_taxes = account_tax_obj.compute_all(cr, uid, taxes, line.price_unit, line.qty)['taxes']
|
||||
for tax in computed_taxes:
|
||||
tax_amount += tax['amount']
|
||||
|
||||
@@ -47,8 +47,8 @@
|
||||
<group colspan="4" col="7">
|
||||
<field name="amount_tax"/>
|
||||
<field name="amount_total"/>
|
||||
<button name="%(action_pos_discount)d" string="D_iscount" type="action" states="draft"/>
|
||||
<button name="dummy_button" string="Compute" type="object" />
|
||||
<button name="%(action_pos_discount)d" string="D_iscount" icon="gtk-execute" type="action" states="draft"/>
|
||||
<button name="dummy_button" string="Compute" icon="gtk-execute" type="object" />
|
||||
</group>
|
||||
|
||||
<group colspan="4" col="9" groups="base.group_extended">
|
||||
@@ -95,8 +95,8 @@
|
||||
<field name="sale_journal" domain="[('type','=','sale'),('company_id','=',company_id)]"/>
|
||||
<field name="pricelist_id" domain="[('type','=','sale')]"/>
|
||||
<field name="invoice_id"/>
|
||||
<group colspan="2" col="3">
|
||||
<button name="invoice" string="Create _Invoice" states="paid"/>
|
||||
<group colspan="2" col="4">
|
||||
<button name="invoice" icon="gtk-execute" string="Create _Invoice" states="paid"/>
|
||||
</group>
|
||||
</group>
|
||||
|
||||
|
||||
@@ -35,19 +35,19 @@ class pos_invoice(report_sxw.rml_parse):
|
||||
})
|
||||
|
||||
|
||||
def set_context(self, objects, data, ids, report_type=None):
|
||||
super(pos_invoice, self).set_context(objects, data, ids, report_type)
|
||||
def set_context(self, order, data, ids, report_type=None):
|
||||
super(pos_invoice, self).set_context(order, data, ids, report_type)
|
||||
iids = []
|
||||
nids = []
|
||||
|
||||
for order in objects:
|
||||
order.write({'nb_print': order.nb_print + 1})
|
||||
|
||||
if order.invoice_id and order.invoice_id not in iids:
|
||||
if not order.invoice_id:
|
||||
raise osv.except_osv(_('Error !'), _('Please create an invoice for this sale.'))
|
||||
iids.append(order.invoice_id)
|
||||
nids.append(order.invoice_id.id)
|
||||
order.write({'nb_print': order.nb_print + 1})
|
||||
|
||||
if order.invoice_id and order.invoice_id not in iids:
|
||||
if not order.invoice_id:
|
||||
raise osv.except_osv(_('Error !'), _('Please create an invoice for this sale.'))
|
||||
iids.append(order.invoice_id)
|
||||
nids.append(order.invoice_id.id)
|
||||
self.cr.commit()
|
||||
data['ids'] = nids
|
||||
self.datas = data
|
||||
|
||||
@@ -34,7 +34,7 @@
|
||||
<field name="balance_end"/>
|
||||
<field name="user_id"/>
|
||||
<field name="state"/>
|
||||
<button type="object" string="Open" name="button_open" states="draft" icon="terp-camera_test"/>
|
||||
<button type="object" string="Open" name="button_open" states="draft" icon="terp-camera_test"/>
|
||||
<button type="object" string="Confirm" name="button_confirm" states="open" icon="terp-gtk-go-back-rtl"/>
|
||||
<button type="object" string="Cancel" name="button_cancel" states="confirm" icon="terp-gtk-stop"/>
|
||||
</tree>
|
||||
@@ -109,10 +109,10 @@
|
||||
<field name="total_entry_encoding"/>
|
||||
</group>
|
||||
<group colspan="4">
|
||||
<button name="button_dummy" states="draft" string="Compute"/>
|
||||
<button name="button_confirm" states="open" string="Close CashBox" type="object"/>
|
||||
<button name="button_open" states="draft" string="Open CashBox" type="object"/>
|
||||
<button name="button_cancel" states="confirm" string="Cancel" type="object" groups="base.group_extended"/>
|
||||
<button name="button_dummy" states="draft" icon="gtk-execute" string="Compute"/>
|
||||
<button name="button_confirm" states="open" icon="terp-gtk-go-back-rtl" string="Close CashBox" type="object"/>
|
||||
<button name="button_open" states="draft" icon="terp-camera_test" string="Open CashBox" type="object"/>
|
||||
<button name="button_cancel" states="confirm" string="Cancel" type="object" icon="gtk-cancel" groups="base.group_extended"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
@@ -172,10 +172,10 @@
|
||||
<field name="total_entry_encoding"/>
|
||||
</group>
|
||||
<group colspan="4">
|
||||
<button name="button_dummy" states="draft" string="Compute"/>
|
||||
<button name="button_confirm" states="open" string="Close CashBox" type="object"/>
|
||||
<button name="button_open" states="draft" string="Open CashBox" type="object"/>
|
||||
<button name="button_cancel" states="confirm" string="Cancel" type="object" groups="base.group_extended"/>
|
||||
<button name="button_dummy" states="draft" icon="gtk-execute" string="Compute"/>
|
||||
<button name="button_confirm" states="open" icon="terp-gtk-go-back-rtl" string="Close CashBox" type="object"/>
|
||||
<button name="button_open" states="draft" icon="terp-camera_test" string="Open CashBox" type="object"/>
|
||||
<button name="button_cancel" states="confirm" icon="gtk-cancel" string="Cancel" type="object" groups="base.group_extended"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
@@ -301,10 +301,11 @@
|
||||
<field name="total_entry_encoding"/>
|
||||
</group>
|
||||
<group colspan="4">
|
||||
<button name="button_dummy" states="draft" string="Compute"/>
|
||||
<button name="button_open" states="draft" string="Open CashBox" type="object" />
|
||||
<button name="button_confirm" states="open" string="Confirm" type="object" />
|
||||
<button name="button_cancel" states="confirm" string="Cancel" type="object" groups="base.group_extended"/>
|
||||
<button name="button_dummy" states="draft" icon="gtk-execute" string="Compute"/>
|
||||
<button name="button_confirm" states="open" icon="terp-gtk-go-back-rtl" string="Close CashBox" type="object"/>
|
||||
<button name="button_open" states="draft" icon="terp-camera_test" string="Open CashBox" type="object"/>
|
||||
<button name="button_cancel" states="confirm" icon="gtk-cancel" string="Cancel" type="object" groups="base.group_extended"/>
|
||||
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -14,7 +14,7 @@
|
||||
# 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/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
@@ -39,7 +39,7 @@ class res_partner_manufacturer(osv.osv):
|
||||
'product_id': fields.many2one('product.product', 'Product', ondelete='cascade'),
|
||||
}
|
||||
_defaults = {
|
||||
'authorized': lambda *a: True,
|
||||
'authorized': True,
|
||||
}
|
||||
|
||||
res_partner_manufacturer()
|
||||
|
||||
@@ -42,7 +42,7 @@ class product_product(osv.osv):
|
||||
invoice_types=()
|
||||
states=()
|
||||
if invoice_state=='paid':
|
||||
states=('paid')
|
||||
states=('paid',)
|
||||
elif invoice_state=='open_paid':
|
||||
states=('open','paid')
|
||||
elif invoice_state=='draft_open_paid':
|
||||
|
||||
@@ -46,6 +46,25 @@ class sale_order_line(osv.osv):
|
||||
uom=False, qty_uos=0, uos=False, name='', partner_id=False,
|
||||
lang=False, update_tax=True,date_order=False,packaging=False,fiscal_position=False, flag=False):
|
||||
|
||||
def get_real_price(res_dict, product_id, pricelist):
|
||||
item_obj = self.pool.get('product.pricelist.item')
|
||||
price_type_obj = self.pool.get('product.price.type')
|
||||
product_obj = self.pool.get('product.product')
|
||||
template_obj = self.pool.get('product.template')
|
||||
field_name = 'list_price'
|
||||
|
||||
if res_dict.get('item_id',False) and res_dict['item_id'].get(pricelist,False):
|
||||
item = res_dict['item_id'].get(pricelist,False)
|
||||
item_base = item_obj.read(cr, uid, [item], ['base'])[0]['base']
|
||||
if item_base > 0:
|
||||
field_name = price_type_obj.browse(cr, uid, item_base).field
|
||||
|
||||
product_tmpl_id = product_obj.browse(cr, uid, product_id, context).product_tmpl_id.id
|
||||
|
||||
product_read = template_obj.read(cr, uid, product_tmpl_id, [field_name], context)
|
||||
return product_read[field_name]
|
||||
|
||||
|
||||
res=super(sale_order_line, self).product_id_change(cr, uid, ids, pricelist, product, qty,
|
||||
uom, qty_uos, uos, name, partner_id,
|
||||
lang, update_tax,date_order,fiscal_position=fiscal_position,flag=flag)
|
||||
@@ -68,15 +87,16 @@ class sale_order_line(osv.osv):
|
||||
# product_read = self.pool.get('product.template').read(cr, uid, product_tmpl_id, [field_name], context)
|
||||
# list_price = product_read[field_name]
|
||||
list_price = pricelist_obj.price_get(cr, uid, [pricelist],
|
||||
product.id, qty or 1.0, partner_id, {'uom': uom,'date': date_order })[pricelist]
|
||||
product.id, qty or 1.0, partner_id, {'uom': uom,'date': date_order })
|
||||
|
||||
pricelists=pricelist_obj.read(cr,uid,[pricelist],['visible_discount'])
|
||||
pricelists = pricelist_obj.read(cr,uid,[pricelist],['visible_discount'])
|
||||
|
||||
old_uom = product.uos_id or product.uom_id
|
||||
new_list_price = product_uom_obj._compute_price(cr,
|
||||
uid, old_uom.id, list_price, uom)
|
||||
if(len(pricelists)>0 and pricelists[0]['visible_discount'] and list_price != 0):
|
||||
discount=(new_list_price-price) / new_list_price * 100
|
||||
# new_list_price = product_uom_obj._compute_price(cr,
|
||||
# uid, old_uom.id, list_price, uom)
|
||||
new_list_price = get_real_price(list_price, product.id, pricelist)
|
||||
if(len(pricelists)>0 and pricelists[0]['visible_discount'] and list_price[pricelist] != 0):
|
||||
discount = (new_list_price - price) / new_list_price * 100
|
||||
result['price_unit'] = new_list_price
|
||||
result['discount'] = discount
|
||||
else:
|
||||
|
||||
@@ -349,7 +349,8 @@ class product_product(osv.osv):
|
||||
if location_info.usage == 'inventory':
|
||||
if fields.get('virtual_available'):
|
||||
res['fields']['virtual_available']['string'] = _('Future P&L')
|
||||
res['fields']['qty_available']['string'] = _('P&L Qty')
|
||||
if fields.get('qty_available'):
|
||||
res['fields']['qty_available']['string'] = _('P&L Qty')
|
||||
|
||||
if location_info.usage == 'procurement':
|
||||
if fields.get('virtual_available'):
|
||||
|
||||
+17
-15
@@ -559,7 +559,7 @@ class stock_picking(osv.osv):
|
||||
}
|
||||
new_id = super(stock_picking, self).create(cr, user, vals, context)
|
||||
if not vals.get('auto_picking', False):
|
||||
message = type_list.get(vals.get('type', False), _('Picking')) + " '" + (vals['name'] or "n/a") + _(" with origin")+" '" + (vals['origin'] or "n/a") + "' "+ _("is created.")
|
||||
message = type_list.get(vals.get('type', False), _('Picking')) + " '" + (vals['name'] or "n/a") + _(" with origin")+" '" + (vals.get('origin') or "n/a") + "' "+ _("is created.")
|
||||
self.log(cr, user, new_id, message)
|
||||
return new_id
|
||||
|
||||
@@ -687,6 +687,8 @@ class stock_picking(osv.osv):
|
||||
"""
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
for pick in self.browse(cr, uid, ids):
|
||||
if not pick.move_lines:
|
||||
raise osv.except_osv(_('Error !'),_('You can not process picking without stock moves'))
|
||||
wf_service.trg_validate(uid, 'stock.picking', pick.id,
|
||||
'button_confirm', cr)
|
||||
#move_ids = [x.id for x in pick.move_lines]
|
||||
@@ -1385,9 +1387,9 @@ class stock_move(osv.osv):
|
||||
'price_unit': fields.float('Unit Price',
|
||||
digits_compute= dp.get_precision('Account')),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True, select=1),
|
||||
'partner_id': fields.related('picking_id','address_id','partner_id',type='many2one', relation="res.partner", string="Partner"),
|
||||
'partner_id': fields.related('picking_id','address_id','partner_id',type='many2one', relation="res.partner", string="Partner", store=True),
|
||||
'backorder_id': fields.related('picking_id','backorder_id',type='many2one', relation="stock.picking", string="Back Order"),
|
||||
'origin': fields.related('picking_id','origin',type='char', size=64, relation="stock.picking", string="Origin"),
|
||||
'origin': fields.related('picking_id','origin',type='char', size=64, relation="stock.picking", string="Origin",store=True),
|
||||
'scraped': fields.related('location_dest_id','scrap_location',type='boolean',relation='stock.location',string='Scraped'),
|
||||
}
|
||||
_constraints = [
|
||||
@@ -1701,7 +1703,7 @@ class stock_move(osv.osv):
|
||||
tracking_id = tracking_obj.search(cr, uid, ['name','=', tracking])
|
||||
if prodlot_id:
|
||||
update_val['prodlot_id'] = prodlot_id
|
||||
else:
|
||||
else:
|
||||
tracking_id = tracking_obj.create(cr, uid, {'name': tracking}, {'product_id': self.browse(cr, uid, ids)[0].product_id.id})
|
||||
update_val['tracking_id'] = tracking_id
|
||||
else:
|
||||
@@ -2191,17 +2193,17 @@ class stock_move(osv.osv):
|
||||
|
||||
for move in complete:
|
||||
self.action_done(cr, uid, [move.id], context)
|
||||
|
||||
# TOCHECK : Done picking if all moves are done
|
||||
cr.execute("""
|
||||
SELECT move.id FROM stock_picking pick
|
||||
RIGHT JOIN stock_move move ON move.picking_id = pick.id AND move.state = %s
|
||||
WHERE pick.id = %s""",
|
||||
('done', move.picking_id.id))
|
||||
res = cr.fetchall()
|
||||
if len(res) == len(move.picking_id.move_lines):
|
||||
picking_obj.action_move(cr, uid, [move.picking_id.id])
|
||||
wf_service.trg_validate(uid, 'stock.picking', move.picking_id.id, 'button_done', cr)
|
||||
if move.picking_id.id :
|
||||
# TOCHECK : Done picking if all moves are done
|
||||
cr.execute("""
|
||||
SELECT move.id FROM stock_picking pick
|
||||
RIGHT JOIN stock_move move ON move.picking_id = pick.id AND move.state = %s
|
||||
WHERE pick.id = %s""",
|
||||
('done', move.picking_id.id))
|
||||
res = cr.fetchall()
|
||||
if len(res) == len(move.picking_id.move_lines):
|
||||
picking_obj.action_move(cr, uid, [move.picking_id.id])
|
||||
wf_service.trg_validate(uid, 'stock.picking', move.picking_id.id, 'button_done', cr)
|
||||
|
||||
ref = {}
|
||||
done_move_ids = []
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
<data>
|
||||
<report auto="False" id="report_product_history" model="product.product" name="stock.product.history" string="Future Stock Forecast"/>
|
||||
<report id="report_picking_list" model="stock.picking" name="stock.picking.list" string="Picking list" rml="stock/report/picking.rml"/>
|
||||
<report id="report_packing_list" model="stock.picking" name="stock.packing.list" string="Packing list" rml="stock/report/packing.rml"/>
|
||||
<report id="report_move_labels" model="stock.move" name="stock.move.label" string="Item Labels" xml="stock/report/lot_move_label.xml" xsl="stock/report/lot_move_label.xsl"/>
|
||||
<report auto="False" id="report_location_overview" model="stock.location" name="lot.stock.overview" string="Location Overview" rml="stock/report/lot_overview.rml" groups="base.group_extended"/>
|
||||
<report auto="False" id="report_lot_location" model="stock.location" name="lot.location" rml="stock/report/lot_location.rml" string="Lots by location"/>
|
||||
|
||||
@@ -1254,12 +1254,9 @@
|
||||
</notebook>
|
||||
</form>
|
||||
</field>
|
||||
<group col="7" colspan="4">
|
||||
<label colspan="5"/>
|
||||
<button name="%(act_stock_picking_move_wizard)d" string="Unreceived Products" type="action" states="draft" icon="gtk-redo"/>
|
||||
</group>
|
||||
<group col="10" colspan="4">
|
||||
<field name="state" readonly="1"/>
|
||||
<button name="%(act_stock_picking_move_wizard)d" string="Unreceived Products" type="action" states="draft" icon="gtk-redo"/>
|
||||
<button name="draft_force_assign" states="draft" string="Process Later" type="object" icon="gtk-ok"/>
|
||||
<button name="draft_validate" states="draft" string="Process Now" type="object" icon="gtk-media-play"/>
|
||||
<button name="action_assign" states="confirmed" string="Check Availability" type="object" icon="gtk-find"/>
|
||||
@@ -1354,7 +1351,6 @@
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="4" col="8">
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
|
||||
<filter string="Partner" icon="terp-personal" domain="[]" context="{'group_by':'address_id'}"/>
|
||||
<filter string="Order Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
|
||||
<filter string="Expected Date" icon="terp-go-month" domain="[]" context="{'group_by':'min_date'}"/>
|
||||
<filter string="Origin" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'origin'}"/>
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
<field name="name">cancel</field>
|
||||
<field name="flow_stop">True</field>
|
||||
<field name="kind">function</field>
|
||||
<field name="action">action_cancel_inventary()</field>
|
||||
<field name="action">action_cancel()</field>
|
||||
</record>
|
||||
|
||||
<record id="act_cancel" model="workflow.activity">
|
||||
|
||||
@@ -7,11 +7,14 @@
|
||||
<field name="model">stock.inventory.merge</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Merge inventories">
|
||||
<separator colspan="4" string="Merge inventories" />
|
||||
<label string="Do you want to merge theses inventories ?"/>
|
||||
<button special="cancel" string="Cancel" icon='gtk-cancel'/>
|
||||
<button name="do_merge" string="Yes" type="object" icon="gtk-apply"/>
|
||||
<form string="Merge inventories">
|
||||
<separator colspan="4" string="Merge inventories" />
|
||||
<label string="Do you want to merge theses inventories ?"/>
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" col="6">
|
||||
<button special="cancel" string="Cancel" icon='gtk-cancel'/>
|
||||
<button name="do_merge" string="Yes" type="object" icon="gtk-apply"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -176,15 +176,16 @@ class split_in_production_lot(osv.osv_memory):
|
||||
"""
|
||||
|
||||
res = super(split_in_production_lot, self).default_get(cr, uid, fields, context=context)
|
||||
move = self.pool.get('stock.move').browse(cr, uid, context['active_id'], context=context)
|
||||
if 'product_id' in fields:
|
||||
res.update({'product_id': move.product_id.id})
|
||||
if 'product_uom' in fields:
|
||||
res.update({'product_uom': move.product_uom.id})
|
||||
if 'qty' in fields:
|
||||
res.update({'qty': move.product_qty})
|
||||
if 'use_exist' in fields:
|
||||
res.update({'use_exist': (move.picking_id and move.picking_id.type=='out' and True) or False})
|
||||
if context.get('active_id'):
|
||||
move = self.pool.get('stock.move').browse(cr, uid, context['active_id'], context=context)
|
||||
if 'product_id' in fields:
|
||||
res.update({'product_id': move.product_id.id})
|
||||
if 'product_uom' in fields:
|
||||
res.update({'product_uom': move.product_uom.id})
|
||||
if 'qty' in fields:
|
||||
res.update({'qty': move.product_qty})
|
||||
if 'use_exist' in fields:
|
||||
res.update({'use_exist': (move.picking_id and move.picking_id.type=='out' and True) or False})
|
||||
return res
|
||||
|
||||
_columns = {
|
||||
|
||||
@@ -44,7 +44,9 @@ class stock_partial_move(osv.osv_memory):
|
||||
moveids = []
|
||||
for m in move_obj.browse(cr, uid, context.get('active_ids', [])):
|
||||
if m.state in ('done', 'cancel'):
|
||||
continue
|
||||
raise osv.except_osv(_('Invalid action !'), _('Cannot delivery products which are already delivered !'))
|
||||
|
||||
|
||||
if 'move%s_product_id'%(m.id) not in self._columns:
|
||||
self._columns['move%s_product_id'%(m.id)] = fields.many2one('product.product',string="Product")
|
||||
if 'move%s_product_qty'%(m.id) not in self._columns:
|
||||
@@ -66,7 +68,8 @@ class stock_partial_move(osv.osv_memory):
|
||||
move_ids = move_obj.search(cr, uid, [('id','in',move_ids)])
|
||||
_moves_arch_lst = """<form string="Deliver Products">
|
||||
<separator colspan="4" string="Delivery Information"/>
|
||||
<field name="date" colspan="4" />
|
||||
<field name="date" />
|
||||
<separator colspan="4"/>
|
||||
<group colspan="4" attrs="{'invisible':[('type','=','in')]}">
|
||||
<field name="partner_id" attrs="{'required':[('type','!=','in')]}" />
|
||||
<field name="address_id" attrs="{'required':[('type','!=','in')]}"/>
|
||||
|
||||
@@ -62,7 +62,8 @@ class stock_partial_picking(osv.osv_memory):
|
||||
picking_ids = context.get('active_ids', False)
|
||||
_moves_arch_lst = """<form string="Deliver Products">
|
||||
<separator colspan="4" string="Delivery Information"/>
|
||||
<field name="date" colspan="4" />
|
||||
<field name="date" />
|
||||
<separator colspan="4"/>
|
||||
<separator colspan="4" string="Move Detail"/>
|
||||
"""
|
||||
_moves_fields = result['fields']
|
||||
|
||||
@@ -32,7 +32,7 @@ class procurement_order(osv.osv):
|
||||
def check_buy(self, cr, uid, ids, context=None):
|
||||
for procurement in self.browse(cr, uid, ids):
|
||||
for line in procurement.product_id.flow_pull_ids:
|
||||
print line.location_src_id.name, line.location_id.name, line.type_proc
|
||||
|
||||
if line.location_id==procurement.location_id:
|
||||
return line.type_proc=='buy'
|
||||
return super(procurement_order, self).check_buy(cr, uid, ids)
|
||||
@@ -58,7 +58,6 @@ class procurement_order(osv.osv):
|
||||
move_obj = self.pool.get('stock.move')
|
||||
location_obj = self.pool.get('stock.location')
|
||||
wf_service = netsvc.LocalService("workflow")
|
||||
|
||||
for proc in proc_obj.browse(cr, uid, ids, context=context):
|
||||
line = None
|
||||
for line in proc.product_id.flow_pull_ids:
|
||||
@@ -79,7 +78,7 @@ class procurement_order(osv.osv):
|
||||
move_id = self.pool.get('stock.move').create(cr, uid, {
|
||||
'name': line.name,
|
||||
'picking_id': picking_id,
|
||||
'company_id': line.company_id and line.company_id.id or False,
|
||||
'company_id': line.company_id and line.company_id.id or False,
|
||||
'product_id': proc.product_id.id,
|
||||
'date_planned': proc.date_planned,
|
||||
'product_qty': proc.product_qty,
|
||||
@@ -104,7 +103,7 @@ class procurement_order(osv.osv):
|
||||
proc_id = self.pool.get('procurement.order').create(cr, uid, {
|
||||
'name': line.name,
|
||||
'origin': origin,
|
||||
'company_id': line.company_id and line.company_id.id or False,
|
||||
'company_id': line.company_id and line.company_id.id or False,
|
||||
'date_planned': proc.date_planned,
|
||||
'product_id': proc.product_id.id,
|
||||
'product_qty': proc.product_qty,
|
||||
|
||||
@@ -80,18 +80,19 @@ class product_pulled_flow(osv.osv):
|
||||
required=True,),
|
||||
}
|
||||
_defaults = {
|
||||
'cancel_cascade': lambda *arg: False,
|
||||
'procure_method': lambda *args: 'make_to_stock',
|
||||
'type_proc': lambda *args: 'move',
|
||||
'picking_type':lambda *args:'out',
|
||||
'invoice_state': lambda *args: 'none',
|
||||
'cancel_cascade': False,
|
||||
'procure_method': 'make_to_stock',
|
||||
'type_proc': 'move',
|
||||
'picking_type': 'out',
|
||||
'invoice_state': 'none',
|
||||
'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'product.pulled.flow', context=c),
|
||||
}
|
||||
product_pulled_flow()
|
||||
|
||||
class product_product(osv.osv):
|
||||
_inherit = 'product.product'
|
||||
_columns = {
|
||||
'flow_pull_ids': fields.one2many('product.pulled.flow', 'product_id', 'Pulled Flows'),
|
||||
'flow_pull_ids': fields.one2many('product.pulled.flow', 'product_id', 'Pulled Flows'),
|
||||
'path_ids': fields.one2many('stock.location.path', 'product_id',
|
||||
'Pushed Flow',
|
||||
help="These rules set the right path of the product in the "\
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
|
||||
#
|
||||
@@ -15,7 +15,7 @@
|
||||
# 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/>.
|
||||
#
|
||||
##############################################################################
|
||||
|
||||
@@ -28,7 +28,7 @@ class product(osv.osv):
|
||||
'auto_pick': fields.boolean('Auto Picking', help="Auto picking for raw materials of production orders.")
|
||||
}
|
||||
_defaults = {
|
||||
'auto_pick': lambda *args: True
|
||||
'auto_pick': True
|
||||
}
|
||||
product()
|
||||
|
||||
|
||||
@@ -346,12 +346,13 @@ class stock_sale_forecast(osv.osv):
|
||||
|
||||
def product_amt_change(self, cr, uid, ids, product_amt = 0.0, product_uom=False):
|
||||
ret={}
|
||||
round_value = 1
|
||||
if product_amt:
|
||||
coeff_def2uom = 1
|
||||
val1 = self.browse(cr, uid, ids)
|
||||
val = val1[0]
|
||||
if (product_uom != val.product_id.uom_id.id):
|
||||
coeff_def2uom, rounding = self._from_default_uom_factor( cr, uid, val, product_uom, {})
|
||||
coeff_def2uom, round_value = self._from_default_uom_factor( cr, uid, val, product_uom, {})
|
||||
ret['product_qty'] = rounding(coeff_def2uom * product_amt/(val.product_id.product_tmpl_id.list_price), round_value)
|
||||
res = {'value': ret}
|
||||
return res
|
||||
|
||||
@@ -105,7 +105,7 @@
|
||||
<separator colspan ="4" string="Forecast lines creation"/>
|
||||
<label colspan ="4" string="Creates forecast lines for selected warehouse and period. Doesn't duplicate existing lines created by you."/>
|
||||
<group colspan="4">
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-cancel" special="cancel" string="Cancel"/>
|
||||
<button icon="gtk-execute" name="create_forecast" string="Create Forecasts" type="object" />
|
||||
</group>
|
||||
</form>
|
||||
@@ -152,7 +152,7 @@
|
||||
<field name="product_amt" on_change="product_amt_change( product_amt, product_uom)" />
|
||||
<field name="product_qty" />
|
||||
<field name="state"/>
|
||||
<button name="action_validate" string="Validate" states="draft" type="object" colspan = "2"/>
|
||||
<button name="action_validate" icon="gtk-apply" string="Validate" states="draft" type="object" colspan = "2"/>
|
||||
</group>
|
||||
</group>
|
||||
<separator colspan ="4" string="Sales history"/>
|
||||
@@ -209,11 +209,13 @@
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Stock and Sales Forecasts" editable="bottom">
|
||||
<field name="warehouse_id"/>
|
||||
<field name ="company_id"/>
|
||||
<field name="user_id"/>
|
||||
<field name="period_id"/>
|
||||
<field name="product_id" on_change="product_id_change(product_id)" />
|
||||
<field name="product_qty"/>
|
||||
<field name="product_uom" />
|
||||
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -238,14 +240,20 @@
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Stock and Sales Forecast">
|
||||
<group col='10' colspan='4'>
|
||||
<filter icon="terp-camera_test" string="Validated" domain="[('state','=','validated')]" separator="1"/>
|
||||
<field name="company_id" widget="selection"/>
|
||||
<field name="warehouse_id" widget="selection"/>
|
||||
<field name="period_id" widget="selection"/>
|
||||
<field name="company_id"/>
|
||||
<field name="warehouse_id" />
|
||||
<field name="period_id" />
|
||||
<field name="product_id"/>
|
||||
<field name="create_uid"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="4" col="8">
|
||||
<filter string="Company" icon="terp-personal" domain="[]" context="{'group_by':'company_id'}"/>
|
||||
<filter string="Warehouse " icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'warehouse_id'}"/>
|
||||
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string='Default UOM' icon="terp-mrp" domain="[]" context="{'group_by' : 'product_uom'}" />
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
@@ -351,7 +359,7 @@
|
||||
<field name="to_procure"/>
|
||||
<field name="incoming"/>
|
||||
<field name="incoming_left"/>
|
||||
<button name="calculate_planning" string="Calculate Planning" type="object" colspan="2"/>
|
||||
<button name="calculate_planning" string="Calculate Planning" type="object" icon="gtk-execute" colspan="2"/>
|
||||
<field name="stock_only"/>
|
||||
</group>
|
||||
<group colspan ="2" col="2">
|
||||
@@ -362,10 +370,10 @@
|
||||
<field name="outgoing_before"/>
|
||||
<field name="incoming_before"/>
|
||||
<field name="stock_simulation"/>
|
||||
<button name="procure_incomming_left" string="Procure Incoming Left" type="object" colspan="2"/>
|
||||
<button name="procure_incomming_left" icon="gtk-convert" string="Procure Incoming Left" type="object" colspan="2"/>
|
||||
<field name="procure_to_stock"/>
|
||||
<separator colspan ="2" string = "Internal Supply"/>
|
||||
<button name="internal_supply" string="Supply from Another Warehouse" type="object" colspan="2"/>
|
||||
<button name="internal_supply" string="Supply from Another Warehouse" icon="gtk-convert" type="object" colspan="2"/>
|
||||
<field name="supply_warehouse_id" domain = "[('company_id','=',company_id)] "/>
|
||||
<field name="stock_supply_location"/>
|
||||
</group>
|
||||
@@ -382,14 +390,18 @@
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Stock Planning">
|
||||
<group col='10' colspan='4'>
|
||||
<!-- Doesn't work ! <filter icon="terp-purchase" string="Current" domain="[('line_time','=','Future')]" separator="1"/> -->
|
||||
<filter icon="terp-purchase" string="No Requisition" domain="[('history','=',False)]" separator="1"/>
|
||||
<field name="company_id" widget="selection"/>
|
||||
<field name="warehouse_id" widget="selection"/>
|
||||
<field name="period_id" widget="selection"/>
|
||||
<field name="product_id"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="4" col="8">
|
||||
<filter string="Company" icon="terp-personal" domain="[]" context="{'group_by':'company_id'}"/>
|
||||
<filter string="Warehouse " icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'warehouse_id'}"/>
|
||||
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -152,6 +152,9 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_id" ref="document_tree"/>
|
||||
</record>
|
||||
<menuitem action="action_document_form" id="menu_action_document_form" parent="subscription.next_id_45"/>
|
||||
<menuitem name="Configuration" parent="base.menu_tools"
|
||||
id="base.menu_lunch_survey_root" sequence="20" />
|
||||
<menuitem id="config_recuuring_event" name="Recurring Events" parent="base.menu_lunch_survey_root" sequence="4"/>
|
||||
<menuitem action="action_document_form" id="menu_action_document_form" parent="config_recuuring_event"/>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<data>
|
||||
|
||||
<menuitem icon="STOCK_PREFERENCES" id="base.menu_tools" name="Tools" sequence="28"/>
|
||||
<menuitem name="Surveys" id="menu_surveys" parent="base.menu_tools"
|
||||
<menuitem name="Surveys" id="menu_surveys" parent="base.menu_tools"
|
||||
groups="group_survey_manager,group_survey_user" sequence="2"/>
|
||||
<menuitem name="Define Surveys" id="menu_define_survey"
|
||||
groups="group_survey_manager"
|
||||
@@ -40,8 +40,9 @@
|
||||
<field name="title" select="1"/>
|
||||
<field name="sequence" groups="base.group_extended"/>
|
||||
<field name="note" colspan="4" nolabel="1"/>
|
||||
<field name="question_ids" colspan="4" nolabel="1" context="{'line_order': question_ids}">
|
||||
<form string="Survey Question">
|
||||
<field name="question_ids" height="200" width="200" colspan="4" nolabel="1" context="{'line_order': question_ids}">
|
||||
<form string="Survey Question" >
|
||||
<group col="6" colspan="6" height="600" width="200">
|
||||
<field name="question" colspan="4" select="1"/>
|
||||
<field name="sequence"/>
|
||||
<field name="tot_resp"/>
|
||||
@@ -170,6 +171,7 @@
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</group>
|
||||
</form>
|
||||
<tree string="Survey Question">
|
||||
<field name="sequence" string="Seq"/>
|
||||
@@ -230,11 +232,11 @@
|
||||
<field name="model">survey</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Survey">
|
||||
<tree colors="gray:state in ('close')" string="Survey">
|
||||
<field name="title" select="1"/>
|
||||
<field name="type" select="1"/>
|
||||
<field name="date_open" select="1" string="Open Date"/>
|
||||
<field name="responsible_id"/>
|
||||
<field name="date_open" select="1" string="Open Date"/>
|
||||
<field name="tot_start_survey" string="Started"/>
|
||||
<field name="tot_comp_survey" string="Completed"/>
|
||||
<field name="state" select="1"/>
|
||||
@@ -267,6 +269,12 @@
|
||||
<filter string="MY" icon="terp-partner" domain="[('responsible_id','=',uid)]"/>
|
||||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="4" col="20">
|
||||
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type'}"/>
|
||||
<filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'responsible_id'}"/>
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
@@ -457,6 +465,22 @@
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_survey_page_filter" model="ir.ui.view">
|
||||
<field name="name">survey.page.list.select</field>
|
||||
<field name="model">survey.page</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search Survey Page">
|
||||
<field name="title"/>
|
||||
<field name="survey_id"/>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="4" col="20">
|
||||
<filter string="Survey" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'survey_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.actions.act_window" id="action_survey_page_form">
|
||||
<field name="name">Survey Pages</field>
|
||||
<field name="res_model">survey.page</field>
|
||||
@@ -668,9 +692,9 @@
|
||||
<field name="search_view_id" ref="survey_question_search"/>
|
||||
</record>
|
||||
|
||||
<!--menuitem name="Survey Question" id="menu_survey_question_form1"
|
||||
action="action_survey_question_form" parent='menu_defination'
|
||||
groups="group_survey_manager"/-->
|
||||
<!-- <menuitem name="Survey Question" id="menu_survey_question_form1"-->
|
||||
<!-- action="action_survey_question_form" parent='menu_define_survey'-->
|
||||
<!-- groups="group_survey_manager"/>-->
|
||||
|
||||
<record model="ir.ui.view" id="survey_question_wizard_test">
|
||||
<field name="name">survey_question_wizard_test</field>
|
||||
|
||||
@@ -62,15 +62,17 @@ class survey_name_wiz(osv.osv_memory):
|
||||
for sur in surv_obj.browse(cr, uid, [context.get('survey_id',False)]):
|
||||
result.append((sur.id, sur.title))
|
||||
return result
|
||||
group_id = self.pool.get('res.groups').search(cr, uid, [('name', '=', 'Survey / Manager')])
|
||||
group_id = self.pool.get('res.groups').search(cr, uid, [('name', 'in', ('Survey / Manager','Survey / User'))])
|
||||
user_obj = self.pool.get('res.users')
|
||||
user_rec = user_obj.read(cr, uid, uid)
|
||||
for sur in surv_obj.browse(cr, uid, surv_obj.search(cr, uid, [])):
|
||||
if sur.state == 'open':
|
||||
if group_id[0] in user_rec['groups_id']:
|
||||
result.append((sur.id, sur.title))
|
||||
elif sur.id in user_rec['survey_id']:
|
||||
result.append((sur.id, sur.title))
|
||||
# if group_id[0] in user_rec['groups_id']:
|
||||
for i in group_id:
|
||||
if i in user_rec['groups_id']:
|
||||
result.append((sur.id, sur.title))
|
||||
elif sur.id in user_rec['survey_id']:
|
||||
result.append((sur.id, sur.title))
|
||||
return result
|
||||
|
||||
_columns = {
|
||||
|
||||
Reference in New Issue
Block a user