[MERGE] merge with main addons

bzr revid: cha@tinyerp.com-20120523111541-o1o60ncctasc5t41
This commit is contained in:
Ajay Chauhan (OpenERP) 2012-05-23 16:45:41 +05:30
commit 47cc03c954
329 changed files with 1811 additions and 1641 deletions

View File

@ -23,7 +23,6 @@
"version" : "1.1", "version" : "1.1",
"author" : "OpenERP SA", "author" : "OpenERP SA",
"category": 'Accounting & Finance', "category": 'Accounting & Finance',
'complexity': "easy",
"description": """ "description": """
Accounting and Financial Management. Accounting and Financial Management.
==================================== ====================================

View File

@ -893,7 +893,7 @@ class account_fiscalyear(osv.osv):
'date_start': fields.date('Start Date', required=True), 'date_start': fields.date('Start Date', required=True),
'date_stop': fields.date('End Date', required=True), 'date_stop': fields.date('End Date', required=True),
'period_ids': fields.one2many('account.period', 'fiscalyear_id', 'Periods'), 'period_ids': fields.one2many('account.period', 'fiscalyear_id', 'Periods'),
'state': fields.selection([('draft','Open'), ('done','Closed')], 'State', readonly=True), 'state': fields.selection([('draft','Open'), ('done','Closed')], 'Status', readonly=True),
} }
_defaults = { _defaults = {
'state': 'draft', 'state': 'draft',
@ -990,7 +990,7 @@ class account_period(osv.osv):
'date_start': fields.date('Start of Period', required=True, states={'done':[('readonly',True)]}), 'date_start': fields.date('Start of Period', required=True, states={'done':[('readonly',True)]}),
'date_stop': fields.date('End of Period', required=True, states={'done':[('readonly',True)]}), 'date_stop': fields.date('End of Period', required=True, states={'done':[('readonly',True)]}),
'fiscalyear_id': fields.many2one('account.fiscalyear', 'Fiscal Year', required=True, states={'done':[('readonly',True)]}, select=True), 'fiscalyear_id': fields.many2one('account.fiscalyear', 'Fiscal Year', required=True, states={'done':[('readonly',True)]}, select=True),
'state': fields.selection([('draft','Open'), ('done','Closed')], 'State', readonly=True, 'state': fields.selection([('draft','Open'), ('done','Closed')], 'Status', readonly=True,
help='When monthly periods are created. The state is \'Draft\'. At the end of monthly period it is in \'Done\' state.'), help='When monthly periods are created. The state is \'Draft\'. At the end of monthly period it is in \'Done\' state.'),
'company_id': fields.related('fiscalyear_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True) 'company_id': fields.related('fiscalyear_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True)
} }
@ -1117,7 +1117,7 @@ class account_journal_period(osv.osv):
'period_id': fields.many2one('account.period', 'Period', required=True, ondelete="cascade"), 'period_id': fields.many2one('account.period', 'Period', required=True, ondelete="cascade"),
'icon': fields.function(_icon_get, string='Icon', type='char', size=32), 'icon': fields.function(_icon_get, string='Icon', type='char', size=32),
'active': fields.boolean('Active', required=True, help="If the active field is set to False, it will allow you to hide the journal period without removing it."), 'active': fields.boolean('Active', required=True, help="If the active field is set to False, it will allow you to hide the journal period without removing it."),
'state': fields.selection([('draft','Draft'), ('printed','Printed'), ('done','Done')], 'State', required=True, readonly=True, 'state': fields.selection([('draft','Draft'), ('printed','Printed'), ('done','Done')], 'Status', required=True, readonly=True,
help='When journal period is created. The state is \'Draft\'. If a report is printed it comes to \'Printed\' state. When all transactions are done, it comes in \'Done\' state.'), help='When journal period is created. The state is \'Draft\'. If a report is printed it comes to \'Printed\' state. When all transactions are done, it comes in \'Done\' state.'),
'fiscalyear_id': fields.related('period_id', 'fiscalyear_id', string='Fiscal Year', type='many2one', relation='account.fiscalyear'), 'fiscalyear_id': fields.related('period_id', 'fiscalyear_id', string='Fiscal Year', type='many2one', relation='account.fiscalyear'),
'company_id': fields.related('journal_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True) 'company_id': fields.related('journal_id', 'company_id', type='many2one', relation='res.company', string='Company', store=True, readonly=True)
@ -1264,7 +1264,7 @@ class account_move(osv.osv):
'ref': fields.char('Reference', size=64), 'ref': fields.char('Reference', size=64),
'period_id': fields.many2one('account.period', 'Period', required=True, states={'posted':[('readonly',True)]}), 'period_id': fields.many2one('account.period', 'Period', required=True, states={'posted':[('readonly',True)]}),
'journal_id': fields.many2one('account.journal', 'Journal', required=True, states={'posted':[('readonly',True)]}), 'journal_id': fields.many2one('account.journal', 'Journal', required=True, states={'posted':[('readonly',True)]}),
'state': fields.selection([('draft','Unposted'), ('posted','Posted')], 'State', required=True, readonly=True, 'state': fields.selection([('draft','Unposted'), ('posted','Posted')], 'Status', required=True, readonly=True,
help='All manually created new journal entries are usually in the state \'Unposted\', but you can set the option to skip that state on the related journal. In that case, they will be behave as journal entries automatically created by the system on document validation (invoices, bank statements...) and will be created in \'Posted\' state.'), help='All manually created new journal entries are usually in the state \'Unposted\', but you can set the option to skip that state on the related journal. In that case, they will be behave as journal entries automatically created by the system on document validation (invoices, bank statements...) and will be created in \'Posted\' state.'),
'line_id': fields.one2many('account.move.line', 'move_id', 'Entries', states={'posted':[('readonly',True)]}), 'line_id': fields.one2many('account.move.line', 'move_id', 'Entries', states={'posted':[('readonly',True)]}),
'to_check': fields.boolean('To Review', help='Check this box if you are unsure of that journal entry and if you want to note it as \'to be reviewed\' by an accounting expert.'), 'to_check': fields.boolean('To Review', help='Check this box if you are unsure of that journal entry and if you want to note it as \'to be reviewed\' by an accounting expert.'),
@ -2350,7 +2350,7 @@ class account_subscription(osv.osv):
'period_total': fields.integer('Number of Periods', required=True), 'period_total': fields.integer('Number of Periods', required=True),
'period_nbr': fields.integer('Period', required=True), 'period_nbr': fields.integer('Period', required=True),
'period_type': fields.selection([('day','days'),('month','month'),('year','year')], 'Period Type', required=True), 'period_type': fields.selection([('day','days'),('month','month'),('year','year')], 'Period Type', required=True),
'state': fields.selection([('draft','Draft'),('running','Running'),('done','Done')], 'State', required=True, readonly=True), 'state': fields.selection([('draft','Draft'),('running','Running'),('done','Done')], 'Status', required=True, readonly=True),
'lines_id': fields.one2many('account.subscription.line', 'subscription_id', 'Subscription Lines') 'lines_id': fields.one2many('account.subscription.line', 'subscription_id', 'Subscription Lines')
} }
_defaults = { _defaults = {

View File

@ -153,7 +153,7 @@ class account_bank_statement(osv.osv):
'state': fields.selection([('draft', 'New'), 'state': fields.selection([('draft', 'New'),
('open','Open'), # used by cash statements ('open','Open'), # used by cash statements
('confirm', 'Closed')], ('confirm', 'Closed')],
'State', required=True, readonly="1", 'Status', required=True, readonly="1",
help='When new statement is created the state will be \'Draft\'.\n' help='When new statement is created the state will be \'Draft\'.\n'
'And after getting confirmation from the bank it will be in \'Confirmed\' state.'), 'And after getting confirmation from the bank it will be in \'Confirmed\' state.'),
'currency': fields.function(_currency, string='Currency', 'currency': fields.function(_currency, string='Currency',

View File

@ -201,12 +201,12 @@ class account_invoice(osv.osv):
'state': fields.selection([ 'state': fields.selection([
('draft','Draft'), ('draft','Draft'),
('cancel','Cancelled'),
('proforma','Pro-forma'), ('proforma','Pro-forma'),
('proforma2','Pro-forma'), ('proforma2','Pro-forma'),
('open','Open'), ('open','Open'),
('paid','Paid'), ('paid','Paid')
('cancel','Cancelled') ],'Status', select=True, readonly=True,
],'State', select=True, readonly=True,
help=' * The \'Draft\' state is used when a user is encoding a new and unconfirmed Invoice. \ help=' * The \'Draft\' state is used when a user is encoding a new and unconfirmed Invoice. \
\n* The \'Pro-forma\' when invoice is in Pro-forma state,invoice does not have an invoice number. \ \n* The \'Pro-forma\' when invoice is in Pro-forma state,invoice does not have an invoice number. \
\n* The \'Open\' state is used when user create invoice,a invoice number is generated.Its in open state till user does not pay invoice. \ \n* The \'Open\' state is used when user create invoice,a invoice number is generated.Its in open state till user does not pay invoice. \
@ -273,7 +273,7 @@ class account_invoice(osv.osv):
help="Remaining amount due."), help="Remaining amount due."),
'payment_ids': fields.function(_compute_lines, relation='account.move.line', type="many2many", string='Payments'), 'payment_ids': fields.function(_compute_lines, relation='account.move.line', type="many2many", string='Payments'),
'move_name': fields.char('Journal Entry', size=64, readonly=True, states={'draft':[('readonly',False)]}), 'move_name': fields.char('Journal Entry', size=64, readonly=True, states={'draft':[('readonly',False)]}),
'user_id': fields.many2one('res.users', 'Salesman', readonly=True, states={'draft':[('readonly',False)]}), 'user_id': fields.many2one('res.users', 'Salesperson', readonly=True, states={'draft':[('readonly',False)]}),
'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position', readonly=True, states={'draft':[('readonly',False)]}) 'fiscal_position': fields.many2one('account.fiscal.position', 'Fiscal Position', readonly=True, states={'draft':[('readonly',False)]})
} }
_defaults = { _defaults = {
@ -1307,7 +1307,7 @@ class account_invoice_line(osv.osv):
_description = "Invoice Line" _description = "Invoice Line"
_columns = { _columns = {
'name': fields.char('Description', size=256, required=True), 'name': fields.char('Description', size=256, required=True),
'origin': fields.char('Origin', size=256, help="Reference of the document that produced this invoice."), 'origin': fields.char('Source', size=256, help="Reference of the document that produced this invoice."),
'invoice_id': fields.many2one('account.invoice', 'Invoice Reference', ondelete='cascade', select=True), 'invoice_id': fields.many2one('account.invoice', 'Invoice Reference', ondelete='cascade', select=True),
'uos_id': fields.many2one('product.uom', 'Unit of Measure', ondelete='set null'), 'uos_id': fields.many2one('product.uom', 'Unit of Measure', ondelete='set null'),
'product_id': fields.many2one('product.product', 'Product', ondelete='set null'), 'product_id': fields.many2one('product.product', 'Product', ondelete='set null'),

View File

@ -142,8 +142,20 @@
<field name="type">form</field> <field name="type">form</field>
<field name="priority">2</field> <field name="priority">2</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Supplier Invoice"> <form layout="manual">
<group col="8" colspan="4"> <div class="oe_form_topbar">
<button name="invoice_open" states="draft,proforma2" string="Approve"/>
<button name="%(action_account_invoice_refund)d" type='action' string='Refund' states='open,paid'/>
<button name='%(action_account_state_open)d' type='action' string='Re-Open' groups="account.group_account_invoice" attrs="{'invisible':['|', ('state','&lt;&gt;','paid'), ('reconciled', '=', True)]}" help="This button only appears when the state of the invoice is 'paid' (showing that it has been fully reconciled) and auto-computed boolean 'reconciled' is False (depicting that it's not the case anymore). In other words, the invoice has been dereconciled and it does not fit anymore the 'paid' state. You should press this button to re-open it and let it continue its normal process after having resolved the eventual exceptions it may have created."/>
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" groups="base.group_no_one"/>
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object"/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,open,paid" statusbar_colors='{"proforma":"blue","proforma2":"blue"}'/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Supplier Invoice" layout="auto">
<group col="8" colspan="4" class="oe_form_header">
<field name="journal_id" on_change="onchange_journal_id(journal_id)" widget="selection"/> <field name="journal_id" on_change="onchange_journal_id(journal_id)" widget="selection"/>
<field name="number" readonly="1"/> <field name="number" readonly="1"/>
<field name="type" invisible="1"/> <field name="type" invisible="1"/>
@ -201,15 +213,7 @@
<field name="amount_tax"/> <field name="amount_tax"/>
<field name="reconciled"/> <field name="reconciled"/>
<field name="amount_total"/> <field name="amount_total"/>
<field name="state" widget="statusbar" statusbar_visible="draft,open,paid" statusbar_colors='{"proforma":"blue","proforma2":"blue"}'/>
<field name="residual"/> <field name="residual"/>
<group col="6" colspan="4">
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel" groups="base.group_no_one"/>
<button name="action_cancel_draft" states="cancel" string="Set to Draft" type="object" icon="terp-stock_effects-object-colorize"/>
<button name="%(action_account_invoice_refund)d" type='action' string='Refund' states='open,paid' icon="gtk-execute"/>
<button name='%(action_account_state_open)d' type='action' string='Re-Open' groups="account.group_account_invoice" attrs="{'invisible':['|', ('state','&lt;&gt;','paid'), ('reconciled', '=', True)]}" icon="gtk-convert" help="This button only appears when the state of the invoice is 'paid' (showing that it has been fully reconciled) and auto-computed boolean 'reconciled' is False (depicting that it's not the case anymore). In other words, the invoice has been dereconciled and it does not fit anymore the 'paid' state. You should press this button to re-open it and let it continue its normal process after having resolved the eventual exceptions it may have created."/>
<button name="invoice_open" states="draft,proforma2" string="Approve" icon="terp-camera_test"/>
</group>
</group> </group>
</page> </page>
<page string="Other Info"> <page string="Other Info">
@ -241,7 +245,10 @@
</field> </field>
</page> </page>
</notebook> </notebook>
</sheet>
<div class="oe_form_sheet_width">
<field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/> <field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/>
</div>
</form> </form>
</field> </field>
</record> </record>
@ -251,8 +258,22 @@
<field name="model">account.invoice</field> <field name="model">account.invoice</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Invoice"> <form layout="manual">
<group colspan="4" col="8"> <div class="oe_form_topbar">
<button name="invoice_proforma2" states="draft" string="PRO-FORMA" groups="account.group_proforma_invoices"/>
<button name="invoice_open" states="draft,proforma2" string="Validate"/>
<button name='%(action_account_state_open)d' type='action' string='Re-Open' groups="account.group_account_invoice" attrs="{'invisible':['|', ('state','&lt;&gt;','paid'), ('reconciled', '=', True)]}" help="This button only appears when the state of the invoice is 'paid' (showing that it has been fully reconciled) and auto-computed boolean 'reconciled' is False (depicting that it's not the case anymore). In other words, the invoice has been dereconciled and it does not fit anymore the 'paid' state. You should press this button to re-open it and let it continue its normal process after having resolved the eventual exceptions it may have created."/>
<button name="%(account_invoices)d" string="Print Invoice" type="action" states="open,paid,proforma,sale,proforma2"/>
<button name="%(action_account_invoice_refund)d" type='action' string='Refund' states='open,paid'/>
<button name="action_cancel_draft" states="cancel" string="Reset to Draft" type="object"/>
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" groups="base.group_no_one"/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,open,paid" statusbar_colors='{"proforma":"blue","proforma2":"blue"}'/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Invoice" layout="auto">
<group colspan="4" col="8" class="oe_form_header">
<field name="journal_id" groups="base.group_user" on_change="onchange_journal_id(journal_id, context)" widget="selection"/> <field name="journal_id" groups="base.group_user" on_change="onchange_journal_id(journal_id, context)" widget="selection"/>
<field name="number"/> <field name="number"/>
<field name="type" invisible="1"/> <field name="type" invisible="1"/>
@ -295,17 +316,7 @@
<field name="amount_tax"/> <field name="amount_tax"/>
<field name="reconciled"/> <field name="reconciled"/>
<field name="amount_total"/> <field name="amount_total"/>
<field name="state" widget="statusbar" statusbar_visible="draft,open,paid" statusbar_colors='{"proforma":"blue","proforma2":"blue"}'/>
<field name="residual"/> <field name="residual"/>
<group col="8" colspan="4" groups="base.group_user">
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel" groups="base.group_no_one"/>
<button name="action_cancel_draft" states="cancel" string="Reset to Draft" type="object" icon="terp-stock_effects-object-colorize"/>
<button name='%(action_account_state_open)d' type='action' string='Re-Open' groups="account.group_account_invoice" attrs="{'invisible':['|', ('state','&lt;&gt;','paid'), ('reconciled', '=', True)]}" icon="gtk-convert" help="This button only appears when the state of the invoice is 'paid' (showing that it has been fully reconciled) and auto-computed boolean 'reconciled' is False (depicting that it's not the case anymore). In other words, the invoice has been dereconciled and it does not fit anymore the 'paid' state. You should press this button to re-open it and let it continue its normal process after having resolved the eventual exceptions it may have created."/>
<button name="%(action_account_invoice_refund)d" type='action' string='Refund' states='open,paid' icon="gtk-execute"/>
<button name="invoice_proforma2" states="draft" string="PRO-FORMA" icon="terp-gtk-media-pause" groups="account.group_proforma_invoices"/>
<button name="invoice_open" states="draft,proforma2" string="Validate" icon="gtk-go-forward"/>
<button name="%(account_invoices)d" string="Print Invoice" type="action" icon="gtk-print" states="open,paid,proforma,sale,proforma2"/>
</group>
</group> </group>
</page> </page>
<page string="Other Info"> <page string="Other Info">
@ -336,7 +347,10 @@
</field> </field>
</page> </page>
</notebook> </notebook>
</sheet>
<div class="oe_form_sheet_width">
<field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/> <field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/>
</div>
</form> </form>
</field> </field>
</record> </record>
@ -358,7 +372,7 @@
string="Reference" string="Reference"
filter_domain="['|', ('number','ilike',self),('origin','ilike',self)]"/> filter_domain="['|', ('number','ilike',self),('origin','ilike',self)]"/>
<field name="partner_id"/> <field name="partner_id"/>
<field name="user_id" widget="selection" string="Salesman"> <field name="user_id" widget="selection" string="Salesperson">
<filter domain="[('user_id','=',uid)]" help="My invoices" icon="terp-personal" /> <filter domain="[('user_id','=',uid)]" help="My invoices" icon="terp-personal" />
</field> </field>
</group> </group>
@ -373,7 +387,7 @@
<filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/> <filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id'}"/>
<filter string="Invoice Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_invoice'}"/> <filter string="Invoice Date" icon="terp-go-month" domain="[]" context="{'group_by':'date_invoice'}"/>

View File

@ -2,7 +2,7 @@
<openerp> <openerp>
<data> <data>
<menuitem icon="terp-account" id="menu_finance" name="Accounting" sequence="13" <menuitem icon="terp-account" id="menu_finance" name="Accounting" sequence="14"
groups="group_account_user,group_account_manager,group_account_invoice" groups="group_account_user,group_account_manager,group_account_invoice"
web_icon="images/accounting.png" web_icon="images/accounting.png"
web_icon_hover="images/accounting-hover.png"/> web_icon_hover="images/accounting-hover.png"/>

View File

@ -508,7 +508,7 @@ class account_move_line(osv.osv):
'analytic_lines': fields.one2many('account.analytic.line', 'move_id', 'Analytic lines'), 'analytic_lines': fields.one2many('account.analytic.line', 'move_id', 'Analytic lines'),
'centralisation': fields.selection([('normal','Normal'),('credit','Credit Centralisation'),('debit','Debit Centralisation'),('currency','Currency Adjustment')], 'Centralisation', size=8), 'centralisation': fields.selection([('normal','Normal'),('credit','Credit Centralisation'),('debit','Debit Centralisation'),('currency','Currency Adjustment')], 'Centralisation', size=8),
'balance': fields.function(_balance, fnct_search=_balance_search, string='Balance'), 'balance': fields.function(_balance, fnct_search=_balance_search, string='Balance'),
'state': fields.selection([('draft','Unbalanced'), ('valid','Valid')], 'State', readonly=True, 'state': fields.selection([('draft','Unbalanced'), ('valid','Valid')], 'Status', readonly=True,
help='When new move line is created the state will be \'Draft\'.\n* When all the payments are done it will be in \'Valid\' state.'), help='When new move line is created the state will be \'Draft\'.\n* When all the payments are done it will be in \'Valid\' state.'),
'tax_code_id': fields.many2one('account.tax.code', 'Tax Account', help="The Account can either be a base tax code or a tax code account."), 'tax_code_id': fields.many2one('account.tax.code', 'Tax Account', help="The Account can either be a base tax code or a tax code account."),
'tax_amount': fields.float('Tax/Base Amount', digits_compute=dp.get_precision('Account'), select=True, help="If the Tax account is a tax code account, this field will contain the taxed amount.If the tax account is base tax code, "\ 'tax_amount': fields.float('Tax/Base Amount', digits_compute=dp.get_precision('Account'), select=True, help="If the Tax account is a tax code account, this field will contain the taxed amount.If the tax account is base tax code, "\

View File

@ -11,8 +11,17 @@
<field name="model">account.fiscalyear</field> <field name="model">account.fiscalyear</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Fiscalyear"> <form layout="manual">
<group> <div class="oe_form_topbar">
<button name="create_period" states="draft" string="Create Monthly Periods" type="object"/>
<button name="create_period3" states="draft" string="Create 3 Months Periods" type="object"/>
<div class="oe_right">
<field name="state" select="1" widget="statusbar" nolabel="1" />
</div>
<div class="oe_clear"/>
</div>
<sheet string="Fiscalyear" layout="auto">
<group class="oe_form_header">
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="date_start"/> <field name="date_start"/>
@ -30,12 +39,7 @@
<field name="special"/> <field name="special"/>
</form> </form>
</field> </field>
<separator colspan="4" string="States"/> </sheet>
<group>
<field name="state" select="1" readonly="1"/>
<button name="create_period" states="draft" string="Create Monthly Periods" type="object" icon="terp-document-new"/>
<button name="create_period3" states="draft" string="Create 3 Months Periods" type="object" icon="terp-document-new"/>
</group>
</form> </form>
</field> </field>
</record> </record>
@ -68,7 +72,7 @@
</group> </group>
<newline/> <newline/>
<group expand="0" string="Group By..."> <group expand="0" string="Group By...">
<filter string="State" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/> <filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/>
</group> </group>
</search> </search>
</field> </field>
@ -92,7 +96,16 @@
<field name="model">account.period</field> <field name="model">account.period</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Period"> <form layout="manual">
<div class="oe_form_topbar">
<button name="action_draft" states="done" string="Set to Draft" type="object" groups="account.group_account_manager"/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1"/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Period" layout="auto">
<group class="oe_form_header">
<field name="name"/> <field name="name"/>
<field name="code"/> <field name="code"/>
<field name="date_start"/> <field name="date_start"/>
@ -100,9 +113,8 @@
<field name="company_id" widget="selection" groups="base.group_multi_company"/> <field name="company_id" widget="selection" groups="base.group_multi_company"/>
<field name="fiscalyear_id" widget="selection"/> <field name="fiscalyear_id" widget="selection"/>
<field name="special"/> <field name="special"/>
<separator colspan="4" string="States"/> </group>
<field name="state"/> </sheet>
<button name="action_draft" states="done" string="Set to Draft" type="object" icon="gtk-convert" groups="account.group_account_manager"/>
</form> </form>
</field> </field>
</record> </record>
@ -535,7 +547,7 @@
<newline/> <newline/>
<group expand="0" string="Group By..."> <group expand="0" string="Group By...">
<filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/> <filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/>
<filter string="State" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/> <filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/> <filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/>
</group> </group>
@ -578,7 +590,7 @@
<newline/> <newline/>
<group expand="0" string="Group By..."> <group expand="0" string="Group By...">
<filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/> <filter string="Journal" context="{'group_by': 'journal_id'}" icon="terp-folder-orange"/>
<filter string="State" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/> <filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/> <filter string="Period" context="{'group_by': 'period_id'}" icon="terp-go-month"/>
</group> </group>
@ -590,8 +602,18 @@
<field name="model">account.bank.statement</field> <field name="model">account.bank.statement</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Bank Statement"> <form layout="manual">
<group col="7" colspan="4"> <div class="oe_form_topbar">
<button name="button_confirm_bank" states="draft" string="Confirm" type="object" />
<button name="button_dummy" states="draft" string="Compute" type="object"/>
<button name="button_cancel" states="confirm" string="Cancel" type="object"/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,confirm"/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Bank Statement" layout="auto">
<group col="7" colspan="4" class="oe_form_header">
<field name="name" select="1"/> <field name="name" select="1"/>
<field name="date" select="1" on_change="onchange_date(date, company_id)"/> <field name="date" select="1" on_change="onchange_date(date, company_id)"/>
<field name="journal_id" domain="[('type', '=', 'bank')]" on_change="onchange_journal_id(journal_id)" select="1" widget="selection"/> <field name="journal_id" domain="[('type', '=', 'bank')]" on_change="onchange_journal_id(journal_id)" select="1" widget="selection"/>
@ -635,13 +657,7 @@
<field colspan="4" name="move_line_ids" nolabel="1"/> <field colspan="4" name="move_line_ids" nolabel="1"/>
</page> </page>
</notebook> </notebook>
<group col="8" colspan="4"> </sheet>
<field name="state" widget="statusbar" statusbar_visible="draft,confirm"/>
<field name="balance_end"/>
<button name="button_cancel" states="confirm" string="Cancel" type="object" icon="gtk-cancel"/>
<button name="button_dummy" states="draft" string="Compute" type="object" icon="terp-stock_format-scientific"/>
<button name="button_confirm_bank" states="draft" string="Confirm" type="object" icon="terp-camera_test"/>
</group>
</form> </form>
</field> </field>
</record> </record>
@ -651,8 +667,18 @@
<field name="model">account.bank.statement</field> <field name="model">account.bank.statement</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Bank Statement"> <form layout="manual">
<group col="7" colspan="4"> <div class="oe_form_topbar">
<button name="button_confirm_bank" states="draft" string="Confirm" type="object" />
<button name="button_dummy" states="draft" string="Compute" type="object"/>
<button name="button_cancel" states="confirm" string="Cancel" type="object"/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,confirm"/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Bank Statement" layout="auto">
<group col="7" colspan="4" class="oe_form_header">
<field name="name" select="1"/> <field name="name" select="1"/>
<field name="date" select="1" on_change="onchange_date(date, company_id)"/> <field name="date" select="1" on_change="onchange_date(date, company_id)"/>
<field name='company_id' widget="selection" groups="base.group_multi_company" /> <field name='company_id' widget="selection" groups="base.group_multi_company" />
@ -682,12 +708,9 @@
</page> </page>
</notebook> </notebook>
<group col="8" colspan="4"> <group col="8" colspan="4">
<field name="state"/>
<field name="balance_end"/> <field name="balance_end"/>
<button name="button_cancel" states="confirm" string="Cancel" type="object" icon="gtk-cancel"/>
<button name="button_dummy" states="draft" string="Compute" type="object" icon="terp-stock_format-scientific"/>
<button name="button_confirm_bank" states="draft" string="Confirm" type="object" icon="terp-camera_test"/>
</group> </group>
</sheet>
</form> </form>
</field> </field>
</record> </record>
@ -1184,7 +1207,7 @@
<newline/> <newline/>
<field name="account_tax_id" domain="[('parent_id','=',False)]"/> <field name="account_tax_id" domain="[('parent_id','=',False)]"/>
<field name="analytic_account_id" domain="[('parent_id','!=',False)]" groups="analytic.group_analytic_accounting"/> <field name="analytic_account_id" domain="[('parent_id','!=',False)]" groups="analytic.group_analytic_accounting"/>
<separator colspan="4" string="State"/> <separator colspan="4" string="Status"/>
<newline/> <newline/>
<field name="reconcile_id"/> <field name="reconcile_id"/>
<field name="reconcile_partial_id"/> <field name="reconcile_partial_id"/>
@ -1339,8 +1362,17 @@
<field name="model">account.move</field> <field name="model">account.move</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Journal Entries"> <form layout="manual">
<group colspan="4" col="6"> <div class="oe_form_topbar">
<button name="button_validate" states="draft" string="Post" type="object"/>
<button name="button_cancel" states="posted" string="Cancel" type="object"/>
<div class="oe_right">
<field name="state" select="1" widget="statusbar" nolabel="1" />
</div>
<div class="oe_clear"/>
</div>
<sheet string="Journal Entries" layout="auto">
<group colspan="4" col="6" class="oe_form_header">
<field name="name" readonly="True"/> <field name="name" readonly="True"/>
<field name="ref"/> <field name="ref"/>
<field name="to_check"/> <field name="to_check"/>
@ -1449,13 +1481,9 @@
</field> </field>
<separator colspan="4" string="Internal Note"/> <separator colspan="4" string="Internal Note"/>
<field name="narration" colspan="4" nolabel="1" height="50"/> <field name="narration" colspan="4" nolabel="1" height="50"/>
<group col="4" colspan="4">
<field name="state" select="1"/>
<button name="button_cancel" states="posted" string="Cancel" type="object" icon="gtk-cancel"/>
<button name="button_validate" states="draft" string="Post" type="object" icon="terp-camera_test"/>
</group>
</page> </page>
</notebook> </notebook>
</sheet>
</form> </form>
</field> </field>
</record> </record>
@ -2605,8 +2633,18 @@ action = pool.get('res.config').next(cr, uid, [], context)
<field name="model">account.bank.statement</field> <field name="model">account.bank.statement</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Statement"> <form layout="manual">
<group col="6" colspan="4"> <div class="oe_form_topbar">
<button name="button_confirm_cash" states="open" string="Close CashBox" type="object"/>
<button name="button_open" states="draft" string="Open CashBox" type="object"/>
<button name="button_cancel" states="confirm,open" string="Cancel" type="object" groups="base.group_extended"/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,confirm"/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Statement" layout="auto">
<group col="6" colspan="4" class="oe_form_header">
<field name="name" select="1"/> <field name="name" select="1"/>
<field name='company_id' widget="selection" groups="base.group_multi_company" /> <field name='company_id' widget="selection" groups="base.group_multi_company" />
<field name="journal_id" on_change="onchange_journal_id(journal_id)" select="1" widget="selection"/> <field name="journal_id" on_change="onchange_journal_id(journal_id)" select="1" widget="selection"/>
@ -2695,12 +2733,7 @@ action = pool.get('res.config').next(cr, uid, [], context)
<field name="balance_end_cash"/> <field name="balance_end_cash"/>
</group> </group>
</group> </group>
<group col="8" colspan="4"> </sheet>
<field name="state" widget="statusbar" statusbar_visible="draft,confirm" colspan="4"/>
<button name="button_cancel" states="confirm,open" string="Cancel" icon="terp-gtk-stop" type="object"/>
<button name="button_confirm_cash" states="open" string="Close CashBox" icon="terp-dialog-close" type="object"/>
<button name="button_open" states="draft" string="Open CashBox" icon="gtk-go-forward" type="object"/>
</group>
</form> </form>
</field> </field>
</record> </record>

View File

@ -63,8 +63,6 @@
<menuitem id="menu_dashboard_acc" name="Accounting" sequence="30" parent="base.menu_reporting_dashboard" groups="group_account_user,group_account_manager"/> <menuitem id="menu_dashboard_acc" name="Accounting" sequence="30" parent="base.menu_reporting_dashboard" groups="group_account_user,group_account_manager"/>
<menuitem action="open_board_account" icon="terp-graph" id="menu_board_account" parent="menu_dashboard_acc" sequence="1"/> <menuitem action="open_board_account" icon="terp-graph" id="menu_board_account" parent="menu_dashboard_acc" sequence="1"/>
<menuitem icon="terp-account" id="account.menu_finance" name="Accounting" sequence="14" action="open_board_account"/>
</data> </data>
</openerp> </openerp>

View File

@ -125,7 +125,7 @@
</record> </record>
<record id="bank_col23" model="account.journal.column"> <record id="bank_col23" model="account.journal.column">
<field name="view_id" ref="account_journal_bank_view"/> <field name="view_id" ref="account_journal_bank_view"/>
<field name="name">State</field> <field name="name">Status</field>
<field name="field">state</field> <field name="field">state</field>
<field eval="19" name="sequence"/> <field eval="19" name="sequence"/>
</record> </record>
@ -212,7 +212,7 @@
</record> </record>
<record id="bank_col23_multi" model="account.journal.column"> <record id="bank_col23_multi" model="account.journal.column">
<field name="view_id" ref="account_journal_bank_view_multi"/> <field name="view_id" ref="account_journal_bank_view_multi"/>
<field name="name">State</field> <field name="name">Status</field>
<field name="field">state</field> <field name="field">state</field>
<field eval="19" name="sequence"/> <field eval="19" name="sequence"/>
</record> </record>
@ -287,7 +287,7 @@
</record> </record>
<record id="journal_col24" model="account.journal.column"> <record id="journal_col24" model="account.journal.column">
<field name="view_id" ref="account_journal_view"/> <field name="view_id" ref="account_journal_view"/>
<field name="name">State</field> <field name="name">Status</field>
<field name="field">state</field> <field name="field">state</field>
<field eval="19" name="sequence"/> <field eval="19" name="sequence"/>
</record> </record>
@ -368,7 +368,7 @@
</record> </record>
<record id="sp_journal_col24" model="account.journal.column"> <record id="sp_journal_col24" model="account.journal.column">
<field name="view_id" ref="account_sp_journal_view"/> <field name="view_id" ref="account_sp_journal_view"/>
<field name="name">State</field> <field name="name">Status</field>
<field name="field">state</field> <field name="field">state</field>
<field eval="19" name="sequence"/> <field eval="19" name="sequence"/>
</record> </record>
@ -454,7 +454,7 @@
</record> </record>
<record id="sp_refund_journal_col24" model="account.journal.column"> <record id="sp_refund_journal_col24" model="account.journal.column">
<field name="view_id" ref="account_sp_refund_journal_view"/> <field name="view_id" ref="account_sp_refund_journal_view"/>
<field name="name">State</field> <field name="name">Status</field>
<field name="field">state</field> <field name="field">state</field>
<field eval="19" name="sequence"/> <field eval="19" name="sequence"/>
</record> </record>

View File

@ -46,7 +46,7 @@
<filter string="Associated Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Associated Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string="Parent Account" icon="terp-folder-green" domain="[]" context="{'group_by':'parent_id'}"/> <filter string="Parent Account" icon="terp-folder-green" domain="[]" context="{'group_by':'parent_id'}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" groups="base.group_no_one"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}" groups="base.group_no_one"/>
</group> </group>
</search> </search>
</field> </field>
@ -80,7 +80,8 @@
<field name="model">account.analytic.account</field> <field name="model">account.analytic.account</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Analytic account"> <form layout="manual">
<sheet string="Analytic account" layout="auto">
<group colspan="4" col="6"> <group colspan="4" col="6">
<field name="name" colspan="4"/> <field name="name" colspan="4"/>
<field name="code"/> <field name="code"/>
@ -106,6 +107,7 @@
<field colspan="4" name="description" nolabel="1"/> <field colspan="4" name="description" nolabel="1"/>
</page> </page>
</notebook> </notebook>
</sheet>
</form> </form>
</field> </field>
</record> </record>

View File

@ -51,7 +51,7 @@ class account_entries_report(osv.osv):
'fiscalyear_id': fields.many2one('account.fiscalyear', 'Fiscal Year', readonly=True), 'fiscalyear_id': fields.many2one('account.fiscalyear', 'Fiscal Year', readonly=True),
'product_id': fields.many2one('product.product', 'Product', readonly=True), 'product_id': fields.many2one('product.product', 'Product', readonly=True),
'product_uom_id': fields.many2one('product.uom', 'Product Unit of Measure', readonly=True), 'product_uom_id': fields.many2one('product.uom', 'Product Unit of Measure', readonly=True),
'move_state': fields.selection([('draft','Unposted'), ('posted','Posted')], 'State', readonly=True), 'move_state': fields.selection([('draft','Unposted'), ('posted','Posted')], 'Status', readonly=True),
'move_line_state': fields.selection([('draft','Unbalanced'), ('valid','Valid')], 'State of Move Line', readonly=True), 'move_line_state': fields.selection([('draft','Unbalanced'), ('valid','Valid')], 'State of Move Line', readonly=True),
'reconcile_id': fields.many2one('account.move.reconcile', readonly=True), 'reconcile_id': fields.many2one('account.move.reconcile', readonly=True),
'partner_id': fields.many2one('res.partner','Partner', readonly=True), 'partner_id': fields.many2one('res.partner','Partner', readonly=True),

View File

@ -45,7 +45,7 @@ class account_invoice_report(osv.osv):
'journal_id': fields.many2one('account.journal', 'Journal', readonly=True), 'journal_id': fields.many2one('account.journal', 'Journal', readonly=True),
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True), 'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
'company_id': fields.many2one('res.company', 'Company', readonly=True), 'company_id': fields.many2one('res.company', 'Company', readonly=True),
'user_id': fields.many2one('res.users', 'Salesman', readonly=True), 'user_id': fields.many2one('res.users', 'Salesperson', readonly=True),
'price_total': fields.float('Total Without Tax', readonly=True), 'price_total': fields.float('Total Without Tax', readonly=True),
'price_average': fields.float('Average Price', readonly=True, group_operator="avg"), 'price_average': fields.float('Average Price', readonly=True, group_operator="avg"),
'currency_rate': fields.float('Currency Rate', readonly=True), 'currency_rate': fields.float('Currency Rate', readonly=True),

View File

@ -107,12 +107,12 @@
<newline/> <newline/>
<group expand="1" string="Group By..."> <group expand="1" string="Group By...">
<filter string="Partner" name="partner" icon="terp-partner" context="{'group_by':'partner_id','residual_visible':True}"/> <filter string="Partner" name="partner" icon="terp-partner" context="{'group_by':'partner_id','residual_visible':True}"/>
<filter string="Salesman" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/> <filter string="Salesperson" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True,'residual_invisible':True}"/> <filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True,'residual_invisible':True}"/>
<filter string="Category of Product" name="category_product" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id','residual_invisible':True}"/> <filter string="Category of Product" name="category_product" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id','residual_invisible':True}"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/> <filter string="Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/> <filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/>

View File

@ -191,7 +191,7 @@
<para style="terp_tblheader_General_Centre">Invoice Date</para> <para style="terp_tblheader_General_Centre">Invoice Date</para>
</td> </td>
<td> <td>
<para style="terp_tblheader_General_Centre">Origin</para> <para style="terp_tblheader_General_Centre">Source</para>
</td> </td>
<td> <td>
<para style="terp_tblheader_General_Centre">Customer Code</para> <para style="terp_tblheader_General_Centre">Customer Code</para>

View File

@ -175,7 +175,7 @@ class report_invoice_created(osv.osv):
('open','Open'), ('open','Open'),
('paid','Done'), ('paid','Done'),
('cancel','Cancelled') ('cancel','Cancelled')
],'State', readonly=True), ],'Status', readonly=True),
'origin': fields.char('Source Document', size=64, readonly=True, help="Reference of the document that generated this invoice report."), 'origin': fields.char('Source Document', size=64, readonly=True, help="Reference of the document that generated this invoice report."),
'create_date': fields.datetime('Create Date', readonly=True) 'create_date': fields.datetime('Create Date', readonly=True)
} }

View File

@ -53,7 +53,7 @@
<field name="view_mode">form</field> <field name="view_mode">form</field>
<field name="view_id" ref="accounting_report_view"/> <field name="view_id" ref="accounting_report_view"/>
<field name="target">new</field> <field name="target">new</field>
<field name="context"></field> <field name="context">{}</field>
<field name="context" eval="{'default_account_report_id':ref('account.account_financial_report_profitandloss0')}"/> <field name="context" eval="{'default_account_report_id':ref('account.account_financial_report_profitandloss0')}"/>
</record> </record>
<menuitem icon="STOCK_PRINT" name="Profit And Loss" action="action_account_report_pl" id="menu_account_report_pl" parent="final_accounting_reports"/> <menuitem icon="STOCK_PRINT" name="Profit And Loss" action="action_account_report_pl" id="menu_account_report_pl" parent="final_accounting_reports"/>

View File

@ -24,7 +24,6 @@
"author" : "OpenERP SA", "author" : "OpenERP SA",
"category": 'Accounting & Finance', "category": 'Accounting & Finance',
"sequence": 10, "sequence": 10,
'complexity': "normal",
"description": """ "description": """
Accounting Access Rights. Accounting Access Rights.
========================= =========================

View File

@ -24,7 +24,6 @@
'name': 'Contracts Management', 'name': 'Contracts Management',
'version': '1.1', 'version': '1.1',
'category': 'Sales Management', 'category': 'Sales Management',
'complexity': "normal",
'description': """ 'description': """
This module is for modifying account analytic view to show important data to project manager of services companies. This module is for modifying account analytic view to show important data to project manager of services companies.
=================================================================================================================== ===================================================================================================================

View File

@ -43,7 +43,7 @@
</group> </group>
<newline/> <newline/>
<group expand="0" string="Group By..."> <group expand="0" string="Group By...">
<filter string="State" icon="terp-personal" domain="[]" context="{'group_by':'state'}"/> <filter string="Status" icon="terp-personal" domain="[]" context="{'group_by':'state'}"/>
<filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> <filter string="Responsible" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>

View File

@ -23,7 +23,6 @@
'name' : 'Account Analytic Defaults', 'name' : 'Account Analytic Defaults',
'version' : '1.0', 'version' : '1.0',
"category": 'Accounting & Finance', "category": 'Accounting & Finance',
'complexity': "normal",
'description': """Set default values for your analytic accounts 'description': """Set default values for your analytic accounts
Allows to automatically select analytic accounts based on criterions: Allows to automatically select analytic accounts based on criterions:
===================================================================== =====================================================================

View File

@ -24,7 +24,6 @@
'name': 'Multiple Analytic Plans', 'name': 'Multiple Analytic Plans',
'version': '1.0', 'version': '1.0',
'category': 'Accounting & Finance', 'category': 'Accounting & Finance',
'complexity': "normal",
'description': """ 'description': """
This module allows to use several analytic plans, according to the general journal. This module allows to use several analytic plans, according to the general journal.
=================================================================================== ===================================================================================

View File

@ -303,10 +303,10 @@
<field name="type">form</field> <field name="type">form</field>
<field name="inherit_id" ref="account.view_bank_statement_form"/> <field name="inherit_id" ref="account.view_bank_statement_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="/form/notebook/page/field[@name='line_ids']/tree/field[@name='analytic_account_id']" position="replace"> <xpath expr="/form/sheet/notebook/page/field[@name='line_ids']/tree/field[@name='analytic_account_id']" position="replace">
<field name="analytics_id" groups="analytic.group_analytic_accounting"/> <field name="analytics_id" groups="analytic.group_analytic_accounting"/>
</xpath> </xpath>
<xpath expr="/form/notebook/page/field[@name='line_ids']/form/field[@name='analytic_account_id']" position="replace"> <xpath expr="/form/sheet/notebook/page/field[@name='line_ids']/form/field[@name='analytic_account_id']" position="replace">
<field name="analytics_id" groups="analytic.group_analytic_accounting"/> <field name="analytics_id" groups="analytic.group_analytic_accounting"/>
</xpath> </xpath>
</field> </field>

View File

@ -23,7 +23,6 @@
"version": "1.2", "version": "1.2",
"author": "OpenERP SA, Veritos", "author": "OpenERP SA, Veritos",
"website": "http://tinyerp.com - http://veritos.nl", "website": "http://tinyerp.com - http://veritos.nl",
'complexity': "normal",
"description": """ "description": """
This module supports the Anglo-Saxon accounting methodology by changing the accounting logic with stock transactions. This module supports the Anglo-Saxon accounting methodology by changing the accounting logic with stock transactions.
===================================================================================================================== =====================================================================================================================

View File

@ -51,7 +51,7 @@
], ],
"auto_install": False, "auto_install": False,
"installable": True, "installable": True,
"application": True, "application": False,
} }
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -223,7 +223,7 @@ class account_asset_asset(osv.osv):
'parent_id': fields.many2one('account.asset.asset', 'Parent Asset', readonly=True, states={'draft':[('readonly',False)]}), 'parent_id': fields.many2one('account.asset.asset', 'Parent Asset', readonly=True, states={'draft':[('readonly',False)]}),
'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Children Assets'), 'child_ids': fields.one2many('account.asset.asset', 'parent_id', 'Children Assets'),
'purchase_date': fields.date('Purchase Date', required=True, readonly=True, states={'draft':[('readonly',False)]}), 'purchase_date': fields.date('Purchase Date', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'State', required=True, 'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'Status', required=True,
help="When an asset is created, the state is 'Draft'.\n" \ help="When an asset is created, the state is 'Draft'.\n" \
"If the asset is confirmed, the state goes in 'Running' and the depreciation lines can be posted in the accounting.\n" \ "If the asset is confirmed, the state goes in 'Running' and the depreciation lines can be posted in the accounting.\n" \
"You can manually close an asset when the depreciation is over. If the last line of depreciation is posted, the asset automatically goes in that state."), "You can manually close an asset when the depreciation is over. If the last line of depreciation is posted, the asset automatically goes in that state."),

View File

@ -78,8 +78,18 @@
<field name="model">account.asset.asset</field> <field name="model">account.asset.asset</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Asset"> <form layout="manual">
<group col="6" colspan="4"> <div class="oe_form_topbar">
<button name="validate" states="draft" string="Confirm Asset" type="object"/>
<button name="set_to_close" states="open" string="Set to Close" type="object"/>
<button name="set_to_draft" states="open" string="Set to Draft" type="object"/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,open"/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Asset" layout="auto">
<group col="6" colspan="4" class="oe_form_header">
<field name="name"/> <field name="name"/>
<field name="category_id" on_change="onchange_category_id(category_id)"/> <field name="category_id" on_change="onchange_category_id(category_id)"/>
<field name="code"/> <field name="code"/>
@ -111,14 +121,6 @@
<field name="method_progress_factor" attrs="{'invisible':[('method','=','linear')], 'required':[('method','=','degressive')]}"/> <field name="method_progress_factor" attrs="{'invisible':[('method','=','linear')], 'required':[('method','=','degressive')]}"/>
<field name="prorata" attrs="{'invisible': [('method_time','=','end')]}"/> <field name="prorata" attrs="{'invisible': [('method_time','=','end')]}"/>
</group> </group>
<newline/>
<separator string="" colspan="4"/>
<field name="state" readonly="1" colspan="2"/>
<group colspan="2" col="4">
<button name="validate" states="draft" string="Confirm Asset" type="object" icon="terp-camera_test"/>
<button name="set_to_draft" states="open" string="Set to Draft" type="object" icon="gtk-convert"/>
<button name="set_to_close" states="open" string="Set to Close" type="object" icon="gtk-close"/>
</group>
</page> </page>
<page string="Depreciation Board"> <page string="Depreciation Board">
<field name="depreciation_line_ids" colspan="4" nolabel="1" mode="tree,graph"> <field name="depreciation_line_ids" colspan="4" nolabel="1" mode="tree,graph">
@ -148,6 +150,7 @@
<field name="note" nolabel="1"/> <field name="note" nolabel="1"/>
</page> </page>
</notebook> </notebook>
</sheet>
</form> </form>
</field> </field>
</record> </record>

View File

@ -33,7 +33,7 @@ class asset_asset_report(osv.osv):
'asset_id': fields.many2one('account.asset.asset', string='Asset', readonly=True), 'asset_id': fields.many2one('account.asset.asset', string='Asset', readonly=True),
'asset_category_id': fields.many2one('account.asset.category',string='Asset category'), 'asset_category_id': fields.many2one('account.asset.category',string='Asset category'),
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True), 'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'State', readonly=True), 'state': fields.selection([('draft','Draft'),('open','Running'),('close','Close')], 'Status', readonly=True),
'depreciation_value': fields.float('Amount of Depreciation Lines', readonly=True), 'depreciation_value': fields.float('Amount of Depreciation Lines', readonly=True),
'move_check': fields.boolean('Posted', readonly=True), 'move_check': fields.boolean('Posted', readonly=True),
'nbr': fields.integer('# of Depreciation Lines', readonly=True), 'nbr': fields.integer('# of Depreciation Lines', readonly=True),

View File

@ -113,7 +113,7 @@ class account_bank_statement_line(osv.osv):
'globalisation_amount': fields.related('globalisation_id', 'amount', type='float', 'globalisation_amount': fields.related('globalisation_id', 'amount', type='float',
relation='account.bank.statement.line.global', string='Glob. Amount', readonly=True), relation='account.bank.statement.line.global', string='Glob. Amount', readonly=True),
'state': fields.selection([('draft', 'Draft'), ('confirm', 'Confirmed')], 'state': fields.selection([('draft', 'Draft'), ('confirm', 'Confirmed')],
'State', required=True, readonly=True), 'Status', required=True, readonly=True),
'counterparty_name': fields.char('Counterparty Name', size=35), 'counterparty_name': fields.char('Counterparty Name', size=35),
'counterparty_bic': fields.char('Counterparty BIC', size=11), 'counterparty_bic': fields.char('Counterparty BIC', size=11),
'counterparty_number': fields.char('Counterparty Number', size=34), 'counterparty_number': fields.char('Counterparty Number', size=34),

View File

@ -42,17 +42,17 @@
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<data> <data>
<xpath expr="/form/notebook/page[@name='statement_line_ids']/field[@name='line_ids']/tree/field[@name='date']" position="after"> <xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/tree/field[@name='date']" position="after">
<field name="val_date"/> <field name="val_date"/>
</xpath> </xpath>
<xpath expr="/form/notebook/page[@name='statement_line_ids']/field[@name='line_ids']/tree/field[@name='amount']" position="after"> <xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/tree/field[@name='amount']" position="after">
<field name="globalisation_id" string="Glob. Id"/> <field name="globalisation_id" string="Glob. Id"/>
<field name="state" invisible="1"/> <field name="state" invisible="1"/>
</xpath> </xpath>
<xpath expr="/form/notebook/page[@name='statement_line_ids']/field[@name='line_ids']/form/field[@name='date']" position="after"> <xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/form/field[@name='date']" position="after">
<field name="val_date"/> <field name="val_date"/>
</xpath> </xpath>
<xpath expr="/form/notebook/page[@name='statement_line_ids']/field[@name='line_ids']/form/field[@name='amount']" position="after"> <xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/form/field[@name='amount']" position="after">
<field name="globalisation_id"/> <field name="globalisation_id"/>
<field name="state" invisible="1"/> <field name="state" invisible="1"/>
</xpath> </xpath>

View File

@ -24,7 +24,6 @@
'name': 'Budgets Management', 'name': 'Budgets Management',
'version': '1.0', 'version': '1.0',
'category': 'Accounting & Finance', 'category': 'Accounting & Finance',
'complexity': "normal",
'description': """ 'description': """
This module allows accountants to manage analytic and crossovered budgets. This module allows accountants to manage analytic and crossovered budgets.
========================================================================== ==========================================================================

View File

@ -62,7 +62,7 @@ class crossovered_budget(osv.osv):
'validating_user_id': fields.many2one('res.users', 'Validate User', readonly=True), 'validating_user_id': fields.many2one('res.users', 'Validate User', readonly=True),
'date_from': fields.date('Start Date', required=True, states={'done':[('readonly',True)]}), 'date_from': fields.date('Start Date', required=True, states={'done':[('readonly',True)]}),
'date_to': fields.date('End Date', required=True, states={'done':[('readonly',True)]}), 'date_to': fields.date('End Date', required=True, states={'done':[('readonly',True)]}),
'state' : fields.selection([('draft','Draft'),('confirm','Confirmed'),('validate','Validated'),('done','Done'),('cancel', 'Cancelled')], 'Status', select=True, required=True, readonly=True), 'state' : fields.selection([('draft','Draft'),('cancel', 'Cancelled'),('confirm','Confirmed'),('validate','Validated'),('done','Done')], 'Status', select=True, required=True, readonly=True),
'crossovered_budget_line': fields.one2many('crossovered.budget.lines', 'crossovered_budget_id', 'Budget Lines', states={'done':[('readonly',True)]}), 'crossovered_budget_line': fields.one2many('crossovered.budget.lines', 'crossovered_budget_id', 'Budget Lines', states={'done':[('readonly',True)]}),
'company_id': fields.many2one('res.company', 'Company', required=True), 'company_id': fields.many2one('res.company', 'Company', required=True),
} }

View File

@ -104,7 +104,20 @@
<field name="model">crossovered.budget</field> <field name="model">crossovered.budget</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Budget"> <form layout="manual">
<div class="oe_form_topbar">
<button string="Confirm" name="confirm" states="draft" type="workflow" />
<button string="Approve" name="validate" states="confirm" type="workflow"/>
<button string="Done" name="done" states="validate" type="workflow" />
<button name="draft" states="cancel" string="Reset to Draft" type="workflow"/>
<button string="Cancel" name="cancel" states="confirm,validate" type="workflow"/>
<div class="oe_right">
<field name="state" select="1" widget="statusbar" nolabel="1" statusbar_visible="draft,confirm"/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Budget" layout="auto">
<group class="oe_form_header">
<field name="name" colspan="1" select="1" attrs="{'readonly':[('state','!=','draft')]}"/> <field name="name" colspan="1" select="1" attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="code" colspan="1" select="1" attrs="{'readonly':[('state','!=','draft')]}"/> <field name="code" colspan="1" select="1" attrs="{'readonly':[('state','!=','draft')]}"/>
<field name="creating_user_id" attrs="{'readonly':[('state','!=','draft')]}"/> <field name="creating_user_id" attrs="{'readonly':[('state','!=','draft')]}"/>
@ -134,15 +147,8 @@
<field name="company_id" widget="selection" groups="base.group_multi_company"/> <field name="company_id" widget="selection" groups="base.group_multi_company"/>
</form> </form>
</field> </field>
<field name="state" select="1"/>
<group col="4" colspan="2">
<button string="Cancel" name="cancel" states="confirm,validate" type="workflow" icon="gtk-cancel"/>
<button string="Confirm" name="confirm" states="draft" type="workflow" icon="gtk-apply" />
<button string="Approve" name="validate" states="confirm" type="workflow" icon="gtk-ok"/>
<button string="Done" name="done" states="validate" type="workflow" icon="gtk-jump-to" />
<button name="draft" states="cancel" string="Reset to Draft" type="workflow" icon="terp-stock_effects-object-colorize"/>
</group> </group>
</sheet>
</form> </form>
</field> </field>
</record> </record>

View File

@ -24,7 +24,6 @@
"version" : "1.1", "version" : "1.1",
"author" : "OpenERP SA", "author" : "OpenERP SA",
"category": 'Accounting & Finance', "category": 'Accounting & Finance',
'complexity': "normal",
"description": """ "description": """
Allows cancelling accounting entries. Allows cancelling accounting entries.
===================================== =====================================

View File

@ -19,7 +19,7 @@
<field name="type">form</field> <field name="type">form</field>
<field name="inherit_id" ref="account.invoice_form"/> <field name="inherit_id" ref="account.invoice_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="/form/notebook/page/group/group/button[@name='invoice_cancel']" position="replace"> <xpath expr="//button[@name='invoice_cancel']" position="replace">
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel" groups="account.group_account_invoice"/> <button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel" groups="account.group_account_invoice"/>
</xpath> </xpath>
</field> </field>
@ -31,7 +31,7 @@
<field name="type">form</field> <field name="type">form</field>
<field name="inherit_id" ref="account.invoice_supplier_form"/> <field name="inherit_id" ref="account.invoice_supplier_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="/form/notebook/page/group/group/button[@name='invoice_cancel']" position="replace"> <xpath expr="//button[@name='invoice_cancel']" position="replace">
<button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel" groups="account.group_account_invoice"/> <button name="invoice_cancel" states="draft,proforma2,sale,open" string="Cancel" icon="gtk-cancel" groups="account.group_account_invoice"/>
</xpath> </xpath>
</field> </field>

View File

@ -24,7 +24,6 @@
"version": '2.1', "version": '2.1',
"author": 'Noviat', "author": 'Noviat',
"category": 'Accounting & Finance', "category": 'Accounting & Finance',
"complexity": "normal",
"description": ''' "description": '''
Module to import CODA bank statements. Module to import CODA bank statements.
====================================== ======================================

View File

@ -23,7 +23,6 @@
'name': 'Followup Management', 'name': 'Followup Management',
'version': '1.0', 'version': '1.0',
'category': 'Accounting & Finance', 'category': 'Accounting & Finance',
'complexity': "normal",
'description': """ 'description': """
Module to automate letters for unpaid invoices, with multi-level recalls. Module to automate letters for unpaid invoices, with multi-level recalls.
========================================================================== ==========================================================================

View File

@ -24,7 +24,6 @@
'name': 'Invoice Layouts', 'name': 'Invoice Layouts',
'version': '1.0', 'version': '1.0',
"category": 'Accounting & Finance', "category": 'Accounting & Finance',
'complexity': "easy",
'description': """ 'description': """
This module provides some features to improve the layout of the invoices. This module provides some features to improve the layout of the invoices.
========================================================================= =========================================================================

View File

@ -47,7 +47,7 @@
<field name="inherit_id" ref="account.invoice_form"/> <field name="inherit_id" ref="account.invoice_form"/>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="/form/notebook/page/field[@name='invoice_line']" position="replace"> <xpath expr="//field[@name='invoice_line']" position="replace">
<!-- keep the original fields, because other views position on that, too --> <!-- keep the original fields, because other views position on that, too -->
<field name="invoice_line" invisible="True"/> <field name="invoice_line" invisible="True"/>
<field name="abstract_line_ids" colspan="4" nolabel="1"/> <field name="abstract_line_ids" colspan="4" nolabel="1"/>

View File

@ -228,7 +228,7 @@
<para style="terp_tblheader_General_Centre">Invoice Date</para> <para style="terp_tblheader_General_Centre">Invoice Date</para>
</td> </td>
<td> <td>
<para style="terp_tblheader_General_Centre">Origin</para> <para style="terp_tblheader_General_Centre">Source</para>
</td> </td>
<td> <td>
<para style="terp_tblheader_General_Centre">Customer Code</para> <para style="terp_tblheader_General_Centre">Customer Code</para>

View File

@ -232,7 +232,7 @@
<para style="terp_tblheader_General_Centre">Invoice Date</para> <para style="terp_tblheader_General_Centre">Invoice Date</para>
</td> </td>
<td> <td>
<para style="terp_tblheader_General_Centre">Origin</para> <para style="terp_tblheader_General_Centre">Source</para>
</td> </td>
<td> <td>
<para style="terp_tblheader_General_Centre">Your Reference</para> <para style="terp_tblheader_General_Centre">Your Reference</para>

View File

@ -24,7 +24,6 @@
"version": "1.1", "version": "1.1",
"author": "OpenERP SA", "author": "OpenERP SA",
"category": "Accounting & Finance", "category": "Accounting & Finance",
'complexity': "easy",
"description": """ "description": """
Module to manage the payment of your supplier invoices. Module to manage the payment of your supplier invoices.
======================================================= =======================================================

View File

@ -92,9 +92,9 @@ class payment_order(osv.osv):
'mode': fields.many2one('payment.mode', 'Payment mode', select=True, required=1, states={'done': [('readonly', True)]}, help='Select the Payment Mode to be applied.'), 'mode': fields.many2one('payment.mode', 'Payment mode', select=True, required=1, states={'done': [('readonly', True)]}, help='Select the Payment Mode to be applied.'),
'state': fields.selection([ 'state': fields.selection([
('draft', 'Draft'), ('draft', 'Draft'),
('open', 'Confirmed'),
('cancel', 'Cancelled'), ('cancel', 'Cancelled'),
('done', 'Done')], 'State', select=True, ('open', 'Confirmed'),
('done', 'Done')], 'Status', select=True,
help='When an order is placed the state is \'Draft\'.\n Once the bank is confirmed the state is set to \'Confirmed\'.\n Then the order is paid the state is \'Done\'.'), help='When an order is placed the state is \'Draft\'.\n Once the bank is confirmed the state is set to \'Confirmed\'.\n Then the order is paid the state is \'Done\'.'),
'line_ids': fields.one2many('payment.line', 'order_id', 'Payment lines', states={'done': [('readonly', True)]}), 'line_ids': fields.one2many('payment.line', 'order_id', 'Payment lines', states={'done': [('readonly', True)]}),
'total': fields.function(_total, string="Total", type='float'), 'total': fields.function(_total, string="Total", type='float'),

View File

@ -100,8 +100,19 @@
<field name="model">payment.order</field> <field name="model">payment.order</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Payment order"> <form layout="manual">
<group col="6" colspan="4"> <div class="oe_form_topbar">
<button name="open" states="draft" string="Confirm Payments" />
<button name="set_done" states="open" string="Make Payments" type="object"/>
<button name="set_to_draft" states="cancel" string="Set to draft" type="object"/>
<button name="cancel" states="draft,open" string="Cancel"/>
<div class="oe_right">
<field name="state" select="1" widget="statusbar" nolabel="1" statusbar_visible="draft,open"/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Payment order" layout="auto">
<group col="6" colspan="4" class="oe_form_header">
<field name="reference"/> <field name="reference"/>
<field name="mode" widget='selection'/> <field name="mode" widget='selection'/>
<field name="user_id"/> <field name="user_id"/>
@ -162,13 +173,7 @@
</field> </field>
<field name="date_created"/> <field name="date_created"/>
<field name="date_done"/> <field name="date_done"/>
<field name="state" readonly="1" select="1"/> </sheet>
<group col="4" colspan="2">
<button name="cancel" states="draft,open" string="Cancel" icon="gtk-cancel"/>
<button name="open" states="draft" string="Confirm Payments" icon="gtk-apply"/>
<button name="set_done" states="open" string="Make Payments" type="object" icon="gtk-execute"/>
<button name="set_to_draft" states="cancel" string="Set to draft" type="object" icon="gtk-convert"/>
</group>
</form> </form>
</field> </field>
</record> </record>
@ -211,7 +216,7 @@
<newline/> <newline/>
<group expand="0" string="Group By..."> <group expand="0" string="Group By...">
<filter string="Payment Mode" context="{'group_by': 'mode'}" icon="terp-dolar"/> <filter string="Payment Mode" context="{'group_by': 'mode'}" icon="terp-dolar"/>
<filter string="State" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/> <filter string="Status" context="{'group_by': 'state'}" icon="terp-stock_effects-object-colorize"/>
</group> </group>
</search> </search>
</field> </field>

View File

@ -23,7 +23,6 @@
'name': 'Entries Sequence Numbering', 'name': 'Entries Sequence Numbering',
'version': '1.1', 'version': '1.1',
"category": 'Accounting & Finance', "category": 'Accounting & Finance',
'complexity': "easy",
'description': """ 'description': """
This module maintains internal sequence number for accounting entries. This module maintains internal sequence number for accounting entries.
====================================================================== ======================================================================

View File

@ -23,7 +23,6 @@
"name" : "eInvoicing & Payments", "name" : "eInvoicing & Payments",
"version" : "1.0", "version" : "1.0",
"author" : 'OpenERP SA', "author" : 'OpenERP SA',
'complexity': "normal",
"description": """ "description": """
Account Voucher module includes all the basic requirements of Voucher Entries for Bank, Cash, Sales, Purchase, Expanse, Contra, etc. Account Voucher module includes all the basic requirements of Voucher Entries for Bank, Cash, Sales, Purchase, Expanse, Contra, etc.
==================================================================================================================================== ====================================================================================================================================

View File

@ -275,10 +275,10 @@ class account_voucher(osv.osv):
'company_id': fields.many2one('res.company', 'Company', required=True, readonly=True, states={'draft':[('readonly',False)]}), 'company_id': fields.many2one('res.company', 'Company', required=True, readonly=True, states={'draft':[('readonly',False)]}),
'state':fields.selection( 'state':fields.selection(
[('draft','Draft'), [('draft','Draft'),
('cancel','Cancelled'),
('proforma','Pro-forma'), ('proforma','Pro-forma'),
('posted','Posted'), ('posted','Posted')
('cancel','Cancelled') ], 'Status', readonly=True, size=32,
], 'State', readonly=True, size=32,
help=' * The \'Draft\' state is used when a user is encoding a new and unconfirmed Voucher. \ 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 \'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 \'Posted\' state is used when user create voucher,a voucher number is generated and voucher entries are created in account \

View File

@ -39,8 +39,19 @@
<field name="model">account.voucher</field> <field name="model">account.voucher</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Accounting Voucher"> <form layout="manual">
<group col="6" colspan="4"> <div class="oe_form_topbar">
<button name="proforma_voucher" string="Post" states="draft"/>
<button name="cancel_voucher" string="Cancel" type="object" states="posted" confirm="Are you sure to unreconcile this record ?"/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma" />
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft"/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Accounting Voucher" layout="auto">
<group col="6" colspan="4" class="oe_form_header">
<field name="partner_id" required="1" on_change="onchange_journal_voucher(line_ids, tax_id, amount, partner_id, journal_id, type)"/> <field name="partner_id" required="1" on_change="onchange_journal_voucher(line_ids, tax_id, amount, partner_id, journal_id, type)"/>
<field name="date" on_change="onchange_date(date, currency_id, payment_rate_currency_id, amount, company_id)"/> <field name="date" on_change="onchange_date(date, currency_id, payment_rate_currency_id, amount, company_id)"/>
<field name="journal_id" widget="selection" select="1" on_change="onchange_journal_voucher(line_ids, tax_id, amount, partner_id, journal_id, type)"/> <field name="journal_id" widget="selection" select="1" on_change="onchange_journal_voucher(line_ids, tax_id, amount, partner_id, journal_id, type)"/>
@ -100,13 +111,7 @@
</field> </field>
</page> </page>
</notebook> </notebook>
<group col="10" colspan="4"> </sheet>
<field name="state" widget="statusbar" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma" icon="gtk-cancel"/>
<button name="cancel_voucher" string="Cancel" type="object" states="posted" icon="terp-stock_effects-object-colorize" confirm="Are you sure to unreconcile this record ?"/>
<button name="proforma_voucher" string="Post" states="draft" icon="terp-camera_test"/>
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/>
</group>
</form> </form>
</field> </field>
</record> </record>
@ -138,7 +143,7 @@
<filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Partner" icon="terp-partner" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id','visible':True}"/> <filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id','visible':True}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group> </group>
</search> </search>
</field> </field>
@ -217,7 +222,7 @@
<field name="type">form</field> <field name="type">form</field>
<field name="inherit_id" ref="account.view_bank_statement_form"/> <field name="inherit_id" ref="account.view_bank_statement_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="/form/notebook/page[@name='statement_line_ids']/field[@name='line_ids']/tree/field[@name='amount']" position="after"> <xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/tree/field[@name='amount']" position="after">
<field name="voucher_id" context="{'line_type': type, 'default_type': amount &lt; 0 and 'payment' or 'receipt', 'type': amount &lt; 0 and 'payment' or 'receipt', 'default_partner_id': partner_id, 'default_journal_id': parent.journal_id, 'default_amount': abs(amount), 'default_reference': ref, 'default_date': date, 'default_name': name}"/> <field name="voucher_id" context="{'line_type': type, 'default_type': amount &lt; 0 and 'payment' or 'receipt', 'type': amount &lt; 0 and 'payment' or 'receipt', 'default_partner_id': partner_id, 'default_journal_id': parent.journal_id, 'default_amount': abs(amount), 'default_reference': ref, 'default_date': date, 'default_name': name}"/>
</xpath> </xpath>
</field> </field>
@ -229,7 +234,7 @@
<field name="type">form</field> <field name="type">form</field>
<field name="inherit_id" ref="account.view_bank_statement_form"/> <field name="inherit_id" ref="account.view_bank_statement_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="/form/notebook/page[@name='statement_line_ids']/field[@name='line_ids']/form/field[@name='sequence']" position="before"> <xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/form/field[@name='sequence']" position="before">
<field name="voucher_id" context="{'line_type': type, 'default_type': amount &lt; 0 and 'payment' or 'receipt', 'type': amount &lt; 0 and 'payment' or 'receipt', 'default_partner_id': partner_id, 'default_journal_id': parent.journal_id, 'default_amount': abs(amount), 'default_reference': ref, 'default_date': date, 'default_name': name}"/> <field name="voucher_id" context="{'line_type': type, 'default_type': amount &lt; 0 and 'payment' or 'receipt', 'type': amount &lt; 0 and 'payment' or 'receipt', 'default_partner_id': partner_id, 'default_journal_id': parent.journal_id, 'default_amount': abs(amount), 'default_reference': ref, 'default_date': date, 'default_name': name}"/>
</xpath> </xpath>
</field> </field>
@ -240,7 +245,7 @@
<field name="type">form</field> <field name="type">form</field>
<field name="inherit_id" ref="account.view_bank_statement_form2"/> <field name="inherit_id" ref="account.view_bank_statement_form2"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="/form/notebook/page/field[@name='line_ids']/tree/field[@name='amount']" position="after"> <xpath expr="//page/field[@name='line_ids']/tree/field[@name='amount']" position="after">
<field name="voucher_id" context="{'line_type': type, 'default_type': amount &lt; 0 and 'payment' or 'receipt', 'type': amount &lt; 0 and 'payment' or 'receipt', 'default_partner_id': partner_id, 'default_journal_id': parent.journal_id, 'default_amount': abs(amount), 'default_reference': ref, 'default_date': date, 'default_name': name}"/> <field name="voucher_id" context="{'line_type': type, 'default_type': amount &lt; 0 and 'payment' or 'receipt', 'type': amount &lt; 0 and 'payment' or 'receipt', 'default_partner_id': partner_id, 'default_journal_id': parent.journal_id, 'default_amount': abs(amount), 'default_reference': ref, 'default_date': date, 'default_name': name}"/>
</xpath> </xpath>
</field> </field>
@ -252,7 +257,7 @@
<field name="type">form</field> <field name="type">form</field>
<field name="inherit_id" ref="account.view_bank_statement_form2"/> <field name="inherit_id" ref="account.view_bank_statement_form2"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="/form/notebook/page/field[@name='line_ids']/form/field[@name='amount']" position="after"> <xpath expr="//page/field[@name='line_ids']/form/field[@name='amount']" position="after">
<field name="voucher_id" context="{'line_type': type, 'default_type': amount &lt; 0 and 'payment' or 'receipt', 'type': amount &lt; 0 and 'payment' or 'receipt', 'default_partner_id': partner_id, 'default_journal_id': parent.journal_id, 'default_amount': abs(amount), 'default_reference': ref, 'default_date': date, 'default_name': name}"/> <field name="voucher_id" context="{'line_type': type, 'default_type': amount &lt; 0 and 'payment' or 'receipt', 'type': amount &lt; 0 and 'payment' or 'receipt', 'default_partner_id': partner_id, 'default_journal_id': parent.journal_id, 'default_amount': abs(amount), 'default_reference': ref, 'default_date': date, 'default_name': name}"/>
</xpath> </xpath>
</field> </field>

View File

@ -185,7 +185,7 @@
<blockTable colWidths="63.0,72.0,44.0,84.0,52.0,210.0" style="Table8"> <blockTable colWidths="63.0,72.0,44.0,84.0,52.0,210.0" style="Table8">
<tr> <tr>
<td> <td>
<para style="terp_tblheader_General">State:</para> <para style="terp_tblheader_General">Status:</para>
</td> </td>
<td> <td>
<para style="P2">PRO-FORMA [[ ((voucher.state == 'proforma') or removeParentNode('para')) and '' ]]</para> <para style="P2">PRO-FORMA [[ ((voucher.state == 'proforma') or removeParentNode('para')) and '' ]]</para>

View File

@ -159,7 +159,7 @@
<blockTable colWidths="52.0,123.0,50.0,198.0,42.0,59.0" style="Table4"> <blockTable colWidths="52.0,123.0,50.0,198.0,42.0,59.0" style="Table4">
<tr> <tr>
<td> <td>
<para style="terp_tblheader_Details">State:</para> <para style="terp_tblheader_Details">Status:</para>
</td> </td>
<td> <td>
<para style="P4">PRO-FORMA [[ ((voucher.state == 'proforma') or removeParentNode('para')) and '' ]]</para> <para style="P4">PRO-FORMA [[ ((voucher.state == 'proforma') or removeParentNode('para')) and '' ]]</para>

View File

@ -37,7 +37,7 @@ class sale_receipt_report(osv.osv):
'journal_id': fields.many2one('account.journal', 'Journal', readonly=True), 'journal_id': fields.many2one('account.journal', 'Journal', readonly=True),
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True), 'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
'company_id': fields.many2one('res.company', 'Company', readonly=True), 'company_id': fields.many2one('res.company', 'Company', readonly=True),
'user_id': fields.many2one('res.users', 'Salesman', readonly=True), 'user_id': fields.many2one('res.users', 'Salesperson', readonly=True),
'price_total': fields.float('Total Without Tax', readonly=True), 'price_total': fields.float('Total Without Tax', readonly=True),
'price_total_tax': fields.float('Total With Tax', readonly=True), 'price_total_tax': fields.float('Total With Tax', readonly=True),
'nbr':fields.integer('# of Voucher Lines', readonly=True), 'nbr':fields.integer('# of Voucher Lines', readonly=True),

View File

@ -91,9 +91,9 @@
<newline/> <newline/>
<group expand="1" string="Group By..."> <group expand="1" string="Group By...">
<filter string="Partner" name="partner" icon="terp-partner" context="{'group_by':'partner_id'}"/> <filter string="Partner" name="partner" icon="terp-partner" context="{'group_by':'partner_id'}"/>
<filter string="Salesman" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/> <filter string="Salesperson" name='user' icon="terp-personal" context="{'group_by':'user_id'}"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
<filter string="Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/> <filter string="Type" icon="terp-stock_symbol-selection" context="{'group_by':'type'}"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/> <filter string="Journal" icon="terp-folder-orange" context="{'group_by':'journal_id'}"/>

View File

@ -28,7 +28,7 @@
<filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id','visible':True}"/> <filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id','visible':True}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group> </group>
</search> </search>
</field> </field>
@ -61,7 +61,7 @@
<filter string="Supplier" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Supplier" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id','visible':True}"/> <filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id','visible':True}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group> </group>
</search> </search>
</field> </field>
@ -143,8 +143,19 @@
<field name="model">account.voucher</field> <field name="model">account.voucher</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Bill Payment"> <form layout="manual">
<group col="6" colspan="4"> <div class="oe_form_topbar">
<button name="proforma_voucher" string="Validate" states="draft" invisible="context.get('line_type', False)"/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma" invisible="context.get('line_type', False)"/>
<button name="cancel_voucher" string="Unreconcile" type="object" states="posted" invisible="context.get('line_type', False)" confirm="Are you sure to unreconcile and cancel this record ?"/>
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" invisible="context.get('line_type', False)"/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Bill Payment" layout="auto">
<group col="6" colspan="4" class="oe_form_header">
<field name="partner_id" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" context="{'invoice_currency':currency_id, 'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" string="Supplier"/> <field name="partner_id" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" context="{'invoice_currency':currency_id, 'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" string="Supplier"/>
<field name="amount" invisible="context.get('line_type', False)" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)"/> <field name="amount" invisible="context.get('line_type', False)" on_change="onchange_amount(amount, payment_rate, partner_id, journal_id, currency_id, type, date, payment_rate_currency_id, company_id, context)"/>
<field name="journal_id" <field name="journal_id"
@ -249,13 +260,7 @@
</field> </field>
</page> </page>
</notebook> </notebook>
<group col="10" colspan="4"> </sheet>
<field name="state" widget="statusbar" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma" icon="gtk-cancel" invisible="context.get('line_type', False)"/>
<button name="cancel_voucher" string="Unreconcile" type="object" states="posted" icon="terp-stock_effects-object-colorize" invisible="context.get('line_type', False)" confirm="Are you sure to unreconcile and cancel this record ?"/>
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize" invisible="context.get('line_type', False)"/>
<button name="proforma_voucher" string="Validate" states="draft" icon="gtk-go-forward" invisible="context.get('line_type', False)"/>
</group>
</form> </form>
</field> </field>
</record> </record>
@ -292,8 +297,19 @@
<field name="model">account.voucher</field> <field name="model">account.voucher</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Customer Payment"> <form layout="manual">
<group col="6" colspan="4"> <div class="oe_form_topbar">
<button name="proforma_voucher" string="Validate" states="draft" invisible="context.get('line_type', False)"/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma" invisible="context.get('line_type', False)"/>
<button name="cancel_voucher" string="Unreconcile" type="object" states="posted" invisible="context.get('line_type', False)" confirm="Are you sure to unreconcile and cancel this record ?"/>
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" invisible="context.get('line_type', False)"/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Customer Payment" layout="auto">
<group col="6" colspan="4" class="oe_form_header">
<field name="partner_id" domain="[('customer','=',True)]" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Customer" context="{'search_default_customer': 1}"/> <field name="partner_id" domain="[('customer','=',True)]" required="1" invisible="context.get('line_type', False)" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Customer" context="{'search_default_customer': 1}"/>
<field name="currency_id" invisible="1"/> <field name="currency_id" invisible="1"/>
<field name="amount" <field name="amount"
@ -401,13 +417,7 @@
</field> </field>
</page> </page>
</notebook> </notebook>
<group col="10" colspan="4"> </sheet>
<field name="state" widget="statusbar" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma" icon="gtk-cancel" invisible="context.get('line_type', False)"/>
<button name="cancel_voucher" string="Unreconcile" type="object" states="posted" invisible="context.get('line_type', False)" icon="terp-stock_effects-object-colorize" confirm="Are you sure to unreconcile and cancel this record ?"/>
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize" invisible="context.get('line_type', False)"/>
<button name="proforma_voucher" string="Validate" states="draft" icon="gtk-go-forward" invisible="context.get('line_type', False)"/>
</group>
</form> </form>
</field> </field>
</record> </record>

View File

@ -27,7 +27,7 @@
<filter string="Supplier" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Supplier" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id','visible':True}"/> <filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id','visible':True}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group> </group>
</search> </search>
</field> </field>
@ -59,7 +59,7 @@
<filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Customer" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
<filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/> <filter string="Journal" icon="terp-folder-orange" domain="[]" context="{'group_by':'journal_id'}"/>
<filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id','visible':True}"/> <filter string="Period" icon="terp-go-month" domain="[]" context="{'group_by':'period_id','visible':True}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group> </group>
</search> </search>
</field> </field>
@ -80,8 +80,20 @@
<field name="model">account.voucher</field> <field name="model">account.voucher</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Sales Receipt"> <form layout="manual">
<group col="6" colspan="4"> <div class="oe_form_topbar">
<button name="proforma_voucher" string="Validate" states="draft"/>
<button name="%(act_pay_voucher)d" context="{'narration':narration, 'title':'Customer Payment', 'type':'receipt', 'partner_id':partner_id, 'reference':reference, 'amount':amount}" type="action" string="Pay" attrs="{'invisible':['|',('pay_now','=','pay_now'),'|',('state','=','draft'), ('paid','=',True)]}"/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma" />
<button name="cancel_voucher" string="Cancel" type="object" states="posted" confirm="Are you sure to confirm this record ?"/>
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft"/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Sales Receipt" layout="auto">
<group col="6" colspan="4" class="oe_form_header">
<field name="partner_id" domain="[('customer','=',True)]" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Customer" context="{'search_default_customer': 1}"/> <field name="partner_id" domain="[('customer','=',True)]" required="1" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" string="Customer" context="{'search_default_customer': 1}"/>
<field name="date" on_change="onchange_date(date, currency_id, currency_id, amount, company_id, context)"/> <field name="date" on_change="onchange_date(date, currency_id, currency_id, amount, company_id, context)"/>
<field name="journal_id" domain="[('type','in',['sale','sale_refund'])]" widget="selection" on_change="onchange_journal(journal_id, line_cr_ids, tax_id, partner_id, date, amount, type, company_id, context)"/> <field name="journal_id" domain="[('type','in',['sale','sale_refund'])]" widget="selection" on_change="onchange_journal(journal_id, line_cr_ids, tax_id, partner_id, date, amount, type, company_id, context)"/>
@ -148,16 +160,7 @@
</field> </field>
</page> </page>
</notebook> </notebook>
<group col="8" colspan="4"> </sheet>
<field name="state" widget="statusbar" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma" icon="gtk-cancel"/>
<button name="cancel_voucher" string="Cancel" type="object" states="posted" icon="terp-stock_effects-object-colorize" confirm="Are you sure to confirm this record ?"/>
<button name="proforma_voucher" string="Validate" states="draft" icon="gtk-go-forward"/>
<group attrs="{'invisible':['|', ('state','!=','posted'), ('paid','=',True)]}">
<button icon="terp-dolar_ok!" name="%(act_pay_voucher)d" context="{'narration':narration, 'title':'Customer Payment', 'type':'receipt', 'partner_id':partner_id, 'reference':reference, 'amount':amount}" type="action" string="Pay" attrs="{'invisible':[('pay_now','=','pay_now')]}"/>
</group>
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/>
</group>
</form> </form>
</field> </field>
</record> </record>
@ -206,8 +209,21 @@
<field name="model">account.voucher</field> <field name="model">account.voucher</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Supplier Voucher"> <form layout="manual">
<group col="6" colspan="4"> <div class="oe_form_topbar">
<button name="proforma_voucher" string="Validate" states="draft"/>
<button name="%(act_pay_bills)d" context="{'narration':narration, 'title':'Bill Payment', 'type':'payment', 'partner_id': partner_id, 'reference':reference}" type="action" string="Pay Bill" attrs="{'invisible':['|',('pay_now','=','pay_now'),'|',('state','=','draft'), ('paid','=',True)]}"/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma" />
<button name="cancel_voucher" string="Cancel" type="object" states="posted" confirm="Are you sure to confirm this record ?"/>
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft"/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Supplier Voucher" layout="auto">
<field name="pay_now" invisible="1"/>
<group col="6" colspan="4" class="oe_form_header">
<field name="partner_id" domain="[('supplier','=',True)]" required="1" string="Supplier" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" /> <field name="partner_id" domain="[('supplier','=',True)]" required="1" string="Supplier" on_change="onchange_partner_id(partner_id, journal_id, amount, currency_id, type, date, context)" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" />
<field name="date" string="Bill Date" select="1" on_change="onchange_date(date, currency_id, currency_id, amount, company_id, context)"/> <field name="date" string="Bill Date" select="1" on_change="onchange_date(date, currency_id, currency_id, amount, company_id, context)"/>
<field name="journal_id" domain="[('type','in',['purchase','purchase_refund'])]" widget="selection" select="1" on_change="onchange_journal(journal_id, line_dr_ids, tax_id, partner_id, date, amount, type, company_id, context)"/> <field name="journal_id" domain="[('type','in',['purchase','purchase_refund'])]" widget="selection" select="1" on_change="onchange_journal(journal_id, line_dr_ids, tax_id, partner_id, date, amount, type, company_id, context)"/>
@ -268,17 +284,7 @@
</field> </field>
</page> </page>
</notebook> </notebook>
<group col="10" colspan="4"> </sheet>
<field name="state" widget="statusbar" statusbar_visible="draft,posted" statusbar_colors='{"proforma":"blue"}'/>
<button name="cancel_voucher" string="Cancel" states="draft,proforma" icon="gtk-cancel"/>
<button name="cancel_voucher" string="Cancel" type="object" states="posted" icon="terp-stock_effects-object-colorize" confirm="Are you sure to confirm this record ?"/>
<group attrs="{'invisible':['|', ('state','!=','posted'), ('paid','=',True)]}">
<button icon="terp-dolar_ok!" name="%(act_pay_bills)d" context="{'narration':narration, 'title':'Bill Payment', 'type':'payment', 'partner_id': partner_id, 'reference':reference}" type="action" string="Pay Bill" attrs="{'invisible':[('pay_now','=','pay_now')]}"/>
</group>
<field name="pay_now" invisible="1"/>
<button name="action_cancel_draft" type="object" states="cancel" string="Set to Draft" icon="terp-stock_effects-object-colorize"/>
<button name="proforma_voucher" string="Validate" states="draft" icon="gtk-go-forward"/>
</group>
</form> </form>
</field> </field>
</record> </record>

View File

@ -171,7 +171,7 @@ class account_analytic_account(osv.osv):
'date_start': fields.date('Date Start'), 'date_start': fields.date('Date Start'),
'date': fields.date('Date End', select=True), 'date': fields.date('Date End', select=True),
'company_id': fields.many2one('res.company', 'Company', required=False), #not required because we want to allow different companies to use the same chart of account, except for leaf accounts. 'company_id': fields.many2one('res.company', 'Company', required=False), #not required because we want to allow different companies to use the same chart of account, except for leaf accounts.
'state': fields.selection([('template', 'Template'),('draft','New'),('open','Open'), ('pending','Pending'),('cancelled', 'Cancelled'),('close','Closed')], 'State', required=True, 'state': fields.selection([('template', 'Template'),('draft','New'),('open','Open'), ('cancelled', 'Cancelled'),('pending','Pending'),('close','Closed')], 'Status', required=True,
help='* When an account is created its in \'Draft\' state.\ help='* 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 associated partner is there, it can be in \'Open\' state.\
\n* If any pending balance is there it can be in \'Pending\'. \ \n* If any pending balance is there it can be in \'Pending\'. \

View File

@ -47,7 +47,7 @@
<field name="type">form</field> <field name="type">form</field>
<field name="inherit_id" ref="hr_timesheet_sheet.hr_timesheet_sheet_form"/> <field name="inherit_id" ref="hr_timesheet_sheet.hr_timesheet_sheet_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="/form/notebook/page/field[@name='timesheet_ids']/tree/field[@name='account_id']" position="replace"> <xpath expr="/form/sheet/notebook/page/field[@name='timesheet_ids']/tree/field[@name='account_id']" position="replace">
<field name="account_id" domain="[('type','=','normal'),('state', '&lt;&gt;', 'close')]" on_change="on_change_account_id(account_id, user_id, unit_amount, journal_id)"/> <field name="account_id" domain="[('type','=','normal'),('state', '&lt;&gt;', 'close')]" on_change="on_change_account_id(account_id, user_id, unit_amount, journal_id)"/>
</xpath> </xpath>
</field> </field>

View File

@ -34,7 +34,7 @@
<field name="type">form</field> <field name="type">form</field>
<field name="inherit_id" ref="account.view_account_analytic_account_form"/> <field name="inherit_id" ref="account.view_account_analytic_account_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="/form/notebook/page" position="after"> <xpath expr="//notebook/page" position="after">
<page string="Users/Products Rel."> <page string="Users/Products Rel.">
<field name="user_product_ids" colspan="4" nolabel="1"/> <field name="user_product_ids" colspan="4" nolabel="1"/>
</page> </page>
@ -50,7 +50,7 @@
<field name="priority" eval="18"/> <field name="priority" eval="18"/>
<field name="inherit_id" ref="hr_timesheet_sheet.hr_timesheet_sheet_form"/> <field name="inherit_id" ref="hr_timesheet_sheet.hr_timesheet_sheet_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="/form/notebook/page/field[@name='timesheet_ids']/tree/field[@name='account_id']" position="replace"> <xpath expr="//field[@name='timesheet_ids']/tree/field[@name='account_id']" position="replace">
<field name="account_id" domain="[('type','=','normal'),('state', '&lt;&gt;', 'close')]" on_change="on_change_account_id(account_id, user_id, unit_amount)"/> <field name="account_id" domain="[('type','=','normal'),('state', '&lt;&gt;', 'close')]" on_change="on_change_account_id(account_id, user_id, unit_amount)"/>
</xpath> </xpath>
</field> </field>
@ -64,7 +64,7 @@
<field name="priority" eval="19"/> <field name="priority" eval="19"/>
<field name="inherit_id" ref="hr_timesheet_sheet.hr_timesheet_sheet_form"/> <field name="inherit_id" ref="hr_timesheet_sheet.hr_timesheet_sheet_form"/>
<field name="arch" type="xml"> <field name="arch" type="xml">
<xpath expr="/form/notebook/page/field[@name='timesheet_ids']/form/field[@name='account_id']" position="replace"> <xpath expr="//field[@name='timesheet_ids']/form/field[@name='account_id']" position="replace">
<field name="account_id" domain="[('type','=','normal'),('state', '&lt;&gt;', 'close')]" on_change="on_change_account_id(account_id, user_id, unit_amount)"/> <field name="account_id" domain="[('type','=','normal'),('state', '&lt;&gt;', 'close')]" on_change="on_change_account_id(account_id, user_id, unit_amount)"/>
</xpath> </xpath>
</field> </field>

View File

@ -25,7 +25,6 @@
'name': 'Database Anonymization', 'name': 'Database Anonymization',
'version': '1.0', 'version': '1.0',
'category': 'Tools', 'category': 'Tools',
'complexity': "easy",
'description': """ 'description': """
This module allows you to anonymize a database. This module allows you to anonymize a database.
=============================================== ===============================================

View File

@ -48,7 +48,7 @@ class ir_model_fields_anonymization(osv.osv):
'model_id': fields.many2one('ir.model', 'Object', ondelete='set null'), 'model_id': fields.many2one('ir.model', 'Object', ondelete='set null'),
'field_name': fields.char('Field Name', size=128, required=True), 'field_name': fields.char('Field Name', size=128, required=True),
'field_id': fields.many2one('ir.model.fields', 'Field', ondelete='set null'), 'field_id': fields.many2one('ir.model.fields', 'Field', ondelete='set null'),
'state': fields.selection(selection=FIELD_STATES, String='State', required=True, readonly=True), 'state': fields.selection(selection=FIELD_STATES, String='Status', required=True, readonly=True),
} }
_sql_constraints = [ _sql_constraints = [
@ -209,7 +209,7 @@ class ir_model_fields_anonymization_history(osv.osv):
_columns = { _columns = {
'date': fields.datetime('Date', required=True, readonly=True), 'date': fields.datetime('Date', required=True, readonly=True),
'field_ids': fields.many2many('ir.model.fields.anonymization', 'anonymized_field_to_history_rel', 'field_id', 'history_id', 'Fields', readonly=True), 'field_ids': fields.many2many('ir.model.fields.anonymization', 'anonymized_field_to_history_rel', 'field_id', 'history_id', 'Fields', readonly=True),
'state': fields.selection(selection=ANONYMIZATION_HISTORY_STATE, string='State', required=True, readonly=True), 'state': fields.selection(selection=ANONYMIZATION_HISTORY_STATE, string='Status', required=True, readonly=True),
'direction': fields.selection(selection=ANONYMIZATION_DIRECTION, string='Direction', required=True, readonly=True), 'direction': fields.selection(selection=ANONYMIZATION_DIRECTION, string='Direction', required=True, readonly=True),
'msg': fields.text('Message', readonly=True), 'msg': fields.text('Message', readonly=True),
'filepath': fields.char(string='File path', size=256, readonly=True), 'filepath': fields.char(string='File path', size=256, readonly=True),
@ -243,7 +243,7 @@ class ir_model_fields_anonymize_wizard(osv.osv_memory):
'summary': fields.function(_get_summary, type='text', string='Summary'), 'summary': fields.function(_get_summary, type='text', string='Summary'),
'file_export': fields.binary(string='Export'), 'file_export': fields.binary(string='Export'),
'file_import': fields.binary(string='Import'), 'file_import': fields.binary(string='Import'),
'state': fields.function(_get_state, string='State', type='selection', selection=ANONYMIZATION_STATES, readonly=False), 'state': fields.function(_get_state, string='Status', type='selection', selection=ANONYMIZATION_STATES, readonly=False),
'msg': fields.text(string='Message'), 'msg': fields.text(string='Message'),
} }

View File

@ -24,7 +24,6 @@
'name': 'Associations Management', 'name': 'Associations Management',
'version': '0.1', 'version': '0.1',
'category': 'Specific Industry Applications', 'category': 'Specific Industry Applications',
'complexity': "normal",
'description': """ 'description': """
This module is to configure modules related to an association. This module is to configure modules related to an association.
============================================================== ==============================================================

View File

@ -43,7 +43,7 @@ class audittrail_rule(osv.osv):
"log_create": fields.boolean("Log Creates",help="Select this if you want to keep track of creation on any record of the object of this rule"), "log_create": fields.boolean("Log Creates",help="Select this if you want to keep track of creation on any record of the object of this rule"),
"log_action": fields.boolean("Log Action",help="Select this if you want to keep track of actions on the object of this rule"), "log_action": fields.boolean("Log Action",help="Select this if you want to keep track of actions on the object of this rule"),
"log_workflow": fields.boolean("Log Workflow",help="Select this if you want to keep track of workflow on any record of the object of this rule"), "log_workflow": fields.boolean("Log Workflow",help="Select this if you want to keep track of workflow on any record of the object of this rule"),
"state": fields.selection((("draft", "Draft"), ("subscribed", "Subscribed")), "State", required=True), "state": fields.selection((("draft", "Draft"), ("subscribed", "Subscribed")), "Status", required=True),
"action_id": fields.many2one('ir.actions.act_window', "Action ID"), "action_id": fields.many2one('ir.actions.act_window', "Action ID"),
} }
_defaults = { _defaults = {

View File

@ -68,7 +68,7 @@
</group> </group>
<newline/> <newline/>
<group expand="0" string="Group By..."> <group expand="0" string="Group By...">
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
</group> </group>
</search> </search>
</field> </field>

View File

@ -95,7 +95,7 @@ trigger date, like sending a reminder 15 minutes before a meeting."),
'trg_user_id': fields.many2one('res.users', 'Responsible'), 'trg_user_id': fields.many2one('res.users', 'Responsible'),
'trg_partner_id': fields.many2one('res.partner', 'Partner'), 'trg_partner_id': fields.many2one('res.partner', 'Partner'),
'trg_partner_categ_id': fields.many2one('res.partner.category', 'Partner Category'), 'trg_partner_categ_id': fields.many2one('res.partner.category', 'Partner Category'),
'trg_state_from': fields.selection(_state_get, 'State', size=16), 'trg_state_from': fields.selection(_state_get, 'Status', size=16),
'trg_state_to': fields.selection(_state_get, 'Button Pressed', size=16), 'trg_state_to': fields.selection(_state_get, 'Button Pressed', size=16),
'act_method': fields.char('Call Object Method', size=64), 'act_method': fields.char('Call Object Method', size=64),

View File

@ -23,7 +23,6 @@
"name": "Calendar Layer", "name": "Calendar Layer",
"version": "1.0", "version": "1.0",
"depends": ["base", "mail"], "depends": ["base", "mail"],
'complexity': "easy",
'description': """ 'description': """
This is a full-featured calendar system. This is a full-featured calendar system.
======================================== ========================================

View File

@ -333,11 +333,11 @@ class calendar_attendee(osv.osv):
('opt-participant', 'Optional Participation'), \ ('opt-participant', 'Optional Participation'), \
('non-participant', 'For information Purpose')], 'Role', \ ('non-participant', 'For information Purpose')], 'Role', \
help='Participation role for the calendar user'), help='Participation role for the calendar user'),
'state': fields.selection([('tentative', 'Tentative'), 'state': fields.selection([('needs-action', 'Needs Action'),
('needs-action', 'Needs Action'), ('tentative', 'Tentative'),
('accepted', 'Accepted'),
('declined', 'Declined'), ('declined', 'Declined'),
('delegated', 'Delegated')], 'State', readonly=True, \ ('accepted', 'Accepted'),
('delegated', 'Delegated')], 'Status', readonly=True, \
help="Status of the attendee's participation"), help="Status of the attendee's participation"),
'rsvp': fields.boolean('Required Reply?', 'rsvp': fields.boolean('Required Reply?',
help="Indicats whether the favor of a reply is requested"), help="Indicats whether the favor of a reply is requested"),
@ -767,7 +767,7 @@ class calendar_alarm(osv.osv):
('run', 'Run'), ('run', 'Run'),
('stop', 'Stop'), ('stop', 'Stop'),
('done', 'Done'), ('done', 'Done'),
], 'State', select=True, readonly=True), ], 'Status', select=True, readonly=True),
} }
_defaults = { _defaults = {
@ -1036,8 +1036,9 @@ class calendar_event(osv.osv):
'Show as', states={'done': [('readonly', True)]}), 'Show as', states={'done': [('readonly', True)]}),
'base_calendar_url': fields.char('Caldav URL', size=264), 'base_calendar_url': fields.char('Caldav URL', size=264),
'state': fields.selection([('tentative', 'Tentative'), 'state': fields.selection([('tentative', 'Tentative'),
('cancelled', 'Cancelled'),
('confirmed', 'Confirmed'), ('confirmed', 'Confirmed'),
('cancelled', 'Cancelled')], 'State', readonly=True), ], 'Status', readonly=True),
'exdate': fields.text('Exception Date/Times', help="This property \ 'exdate': fields.text('Exception Date/Times', help="This property \
defines the list of date/time exceptions for a recurring calendar component."), defines the list of date/time exceptions for a recurring calendar component."),
'exrule': fields.char('Exception Rule', size=352, help="Defines a \ 'exrule': fields.char('Exception Rule', size=352, help="Defines a \

View File

@ -8,59 +8,64 @@
<field name="model">calendar.attendee</field> <field name="model">calendar.attendee</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Invitation details"> <form layout="manual">
<group col="6" colspan="4"> <div class="oe_form_topbar">
<field name="email" string="Invitation To"/> <button name="do_tentative"
<field name="cutype" string="Invitation Type" /> states="needs-action,declined,accepted"
<field name="rsvp" /> string="Uncertain" type="object"
<field name="role" string="Role" /> />
<field name="sent_by_uid" string="Invitation From" /> <button name="do_accept" string="Accept"
</group> states="needs-action,tentative,declined"
<notebook colspan="4"> type="object" />
<page string="Invitation"> <button
<separator string="Invitation Detail" colspan="4" /> name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d"
<group colspan="4" col="4"> string="Delegate" type="action"
<field name="user_id" string="Invited User"/>
<newline/> states="needs-action,tentative,declined,accepted"
<field name="partner_id" context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" />
string="Contact" /> <button name="do_decline" string="Decline"
</group> states="needs-action,tentative,accepted"
<separator string="Event Detail" colspan="4" /> type="object" />
<group colspan="4" col="4"> <div class="oe_right">
<field name="event_date" /> <field name="state" widget="statusbar" nolabel="1" statusbar_visible="tentative,needs-action,accepted" statusbar_colors='{"proforma":"blue"}'/>
<field name="event_end_date" /> </div>
<field name="language"/> <div class="oe_clear"/>
<field name="ref" colspan="4" readonly="1"/> </div>
</group> <sheet string="Invitation details" layout="auto">
</page> <group col="6" colspan="4">
<page string="Delegation Info"> <field name="email" string="Invitation To"/>
<separator string="Delegated From" colspan="4" /> <field name="cutype" string="Invitation Type" />
<field name="parent_ids" nolabel="1" <field name="rsvp" />
colspan="4" readonly="1" /> <field name="role" string="Role" />
<separator string="Delegated To" colspan="4" /> <field name="sent_by_uid" string="Invitation From" />
<field name="child_ids" nolabel="1" </group>
colspan="4" readonly="1" /> <notebook colspan="4">
</page> <page string="Invitation">
</notebook> <separator string="Invitation Detail" colspan="4" />
<group col="6" colspan="4"> <group colspan="4" col="4">
<field name="state" /> <field name="user_id" string="Invited User"/>
<button name="do_tentative" <newline/>
states="needs-action,declined,accepted" <field name="partner_id"
string="Uncertain" type="object" string="Contact" />
icon="terp-crm" /> </group>
<button name="do_accept" string="Accept" <separator string="Event Detail" colspan="4" />
states="needs-action,tentative,declined" <group colspan="4" col="4">
type="object" icon="gtk-apply" /> <field name="event_date" />
<button name="do_decline" string="Decline" <field name="event_end_date" />
states="needs-action,tentative,accepted" <field name="language"/>
type="object" icon="gtk-cancel" /> <field name="ref" colspan="4" readonly="1"/>
<button </group>
name="%(base_calendar.action_view_calendar_invite_attendee_wizard)d" </page>
string="Delegate" type="action" <page string="Delegation Info">
icon="gtk-sort-descending" <separator string="Delegated From" colspan="4" />
states="needs-action,tentative,declined,accepted" <field name="parent_ids" nolabel="1"
context="{'model' : 'calendar.attendee', 'attendee_field' : 'child_ids'}" /> colspan="4" readonly="1" />
</group> <separator string="Delegated To" colspan="4" />
<field name="child_ids" nolabel="1"
colspan="4" readonly="1" />
</page>
</notebook>
</sheet>
</form> </form>
</field> </field>
</record> </record>
@ -124,7 +129,7 @@
<filter string="Required Reply" icon="terp-mail-replied" <filter string="Required Reply" icon="terp-mail-replied"
domain="[]" context="{'group_by':'rsvp'}" /> domain="[]" context="{'group_by':'rsvp'}" />
<separator orientation="vertical" /> <separator orientation="vertical" />
<filter string="State" icon="terp-stock_effects-object-colorize" help="Invitation Type" <filter string="Status" icon="terp-stock_effects-object-colorize" help="Invitation Type"
domain="[]" context="{'group_by':'state'}" /> domain="[]" context="{'group_by':'state'}" />
</group> </group>
</search> </search>
@ -208,7 +213,29 @@
<field name="model">calendar.event</field> <field name="model">calendar.event</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Events"> <form layout="manual">
<div class="oe_form_topbar">
<button name="do_confirm"
string="Confirm"
states="tentative,cancelled"
type="object"
/>
<button name="do_tentative"
states="confirmed,cancelled"
string="Uncertain"
type="object"
/>
<button name="do_cancel"
string="Cancel"
states="tentative,confirmed"
type="object"
/>
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="tentative,confirmed" statusbar_colors='{"proforma":"blue"}'/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Events" layout="auto">
<group col="6" colspan="4"> <group col="6" colspan="4">
<field name="name" select="1" string="Summary" <field name="name" select="1" string="Summary"
colspan="4" required="1" /> colspan="4" required="1" />
@ -239,25 +266,6 @@
</group> </group>
<separator string="Description" colspan="4" /> <separator string="Description" colspan="4" />
<field name="description" nolabel="1" colspan="4" /> <field name="description" nolabel="1" colspan="4" />
<separator colspan="4" string="" />
<group col="5" colspan="4">
<field name="state" select="2" />
<button name="do_cancel"
string="Cancel"
states="tentative,confirmed"
type="object"
icon="gtk-cancel" />
<button name="do_tentative"
states="confirmed,cancelled"
string="Uncertain"
type="object"
icon="terp-crm" />
<button name="do_confirm"
string="Confirm"
states="tentative,cancelled"
type="object"
icon="gtk-apply" />
</group>
</page> </page>
<page string="Invitation Detail"> <page string="Invitation Detail">
<button string="Invite People" <button string="Invite People"
@ -333,9 +341,7 @@
<field name="rrule_type" string="Recurrency period" <field name="rrule_type" string="Recurrency period"
attrs="{'readonly':[('recurrent_uid','!=',False)]}" /> attrs="{'readonly':[('recurrent_uid','!=',False)]}" />
<field name="interval" /> <field name="interval" />
<separator string="End of Recurrence" colspan="4"/>
<separator string="End of Recurrency" colspan="4"/>
<field name="end_type" /> <field name="end_type" />
<label string=" " colspan="2" /> <label string=" " colspan="2" />
<newline /> <newline />
@ -382,6 +388,7 @@
</page> </page>
</notebook> </notebook>
</sheet>
</form> </form>
</field> </field>
</record> </record>
@ -455,7 +462,7 @@
domain="[]" context="{'group_by':'show_as'}" /> domain="[]" context="{'group_by':'show_as'}" />
<filter string="Privacy" icon="terp-locked" <filter string="Privacy" icon="terp-locked"
domain="[]" context="{'group_by':'class'}" /> domain="[]" context="{'group_by':'class'}" />
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]"
context="{'group_by':'state'}" /> context="{'group_by':'state'}" />
<separator orientation="vertical" /> <separator orientation="vertical" />
<filter string="Date" icon="terp-go-month" <filter string="Date" icon="terp-go-month"

View File

@ -25,7 +25,6 @@
"maintainer" : "OpenERP SA", "maintainer" : "OpenERP SA",
"website" : "http://www.openerp.com", "website" : "http://www.openerp.com",
"category" : "Tools", "category" : "Tools",
'complexity': "easy",
"description": """ "description": """
Replaces cleartext passwords in the database with a secure hash Replaces cleartext passwords in the database with a secure hash
=============================================================== ===============================================================

View File

@ -22,7 +22,6 @@
'name': 'IBAN Bank Accounts', 'name': 'IBAN Bank Accounts',
'version': '1.0', 'version': '1.0',
"category": 'Hidden/Dependency', "category": 'Hidden/Dependency',
'complexity': "easy",
'description': """ 'description': """
This module installs the base for IBAN (International Bank Account Number) bank accounts and checks for its validity. This module installs the base for IBAN (International Bank Account Number) bank accounts and checks for its validity.
===================================================================================================================== =====================================================================================================================

View File

@ -296,7 +296,7 @@ class module_quality_detail(osv.osv):
'summary': fields.text('Summary'), 'summary': fields.text('Summary'),
'detail': fields.text('Details'), 'detail': fields.text('Details'),
'message': fields.char('Message', size=64), 'message': fields.char('Message', size=64),
'state': fields.selection([('done','Done'),('skipped','Skipped'),], 'State', size=24, help='The test will be completed only if the module is installed or if the test may be processed on uninstalled module.'), 'state': fields.selection([('done','Done'),('skipped','Skipped'),], 'Status', size=24, help='The test will be completed only if the module is installed or if the test may be processed on uninstalled module.'),
} }
module_quality_detail() module_quality_detail()

View File

@ -24,7 +24,6 @@
'name': 'OpenOffice Report Designer', 'name': 'OpenOffice Report Designer',
'version': '0.1', 'version': '0.1',
'category': 'Reporting', 'category': 'Reporting',
'complexity': "normal",
'description': """ 'description': """
This module is used along with OpenERP OpenOffice Plugin. This module is used along with OpenERP OpenOffice Plugin.
========================================================= =========================================================

View File

@ -668,14 +668,14 @@ class DBModalDialog:
UnoControlButtonModel UnoControlButtonModel
UnoControlCheckBoxModel UnoControlCheckBoxModel
""" """
self.setControlModelProperty( cCtrlName, "State", nState ) self.setControlModelProperty( cCtrlName, "Status", nState )
def getState( self, cCtrlName ): def getState( self, cCtrlName ):
"""Supported controls... """Supported controls...
UnoControlButtonModel UnoControlButtonModel
UnoControlCheckBoxModel UnoControlCheckBoxModel
""" """
return self.getControlModelProperty( cCtrlName, "State" ) return self.getControlModelProperty( cCtrlName, "Status" )
def setLabel( self, cCtrlName, cLabel ): def setLabel( self, cCtrlName, cLabel ):
"""Supported controls... """Supported controls...

View File

@ -24,7 +24,6 @@
'name': 'Initial Setup Tools', 'name': 'Initial Setup Tools',
'version': '1.0', 'version': '1.0',
'category': 'Hidden', 'category': 'Hidden',
'complexity': "easy",
'description': """ 'description': """
This module helps to configure the system at the installation of a new database. This module helps to configure the system at the installation of a new database.
================================================================================ ================================================================================

View File

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<openerp> <openerp>
<data> <data>
<menuitem id="synch_config" name="Synchronization" parent="base.menu_config" sequence="60"/>
<record id="view_transfer_line_tree" model="ir.ui.view"> <record id="view_transfer_line_tree" model="ir.ui.view">
<field name="name">base.synchro.obj.line.tree</field> <field name="name">base.synchro.obj.line.tree</field>
<field name="model">base.synchro.obj.line</field> <field name="model">base.synchro.obj.line</field>
@ -197,7 +196,7 @@
<field name="view_type">form</field> <field name="view_type">form</field>
</record> </record>
<menuitem action="action_base_synchro_server_tree" id="synchro_server_tree_menu_id" parent="base_synchro.synch_config"/> <menuitem action="action_base_synchro_server_tree" id="synchro_server_tree_menu_id" parent="base_synchro.next_id_62"/>
<!--view_base_synchro_server end --> <!--view_base_synchro_server end -->

View File

@ -5,7 +5,6 @@
"version": "1.0", "version": "1.0",
"depends": ["base"], "depends": ["base"],
"category" : "Hidden/Dependency", "category" : "Hidden/Dependency",
'complexity': "easy",
'description': """ 'description': """
Common base for tools modules. Common base for tools modules.
============================== ==============================

View File

@ -23,7 +23,6 @@
'name': 'VAT Number Validation', 'name': 'VAT Number Validation',
'version': '1.0', 'version': '1.0',
"category": 'Hidden/Dependency', "category": 'Hidden/Dependency',
'complexity': "easy",
'description': """ 'description': """
VAT validation for Partners' VAT numbers VAT validation for Partners' VAT numbers
======================================== ========================================

View File

@ -23,7 +23,6 @@
'name': 'Dashboards', 'name': 'Dashboards',
'version': '1.0', 'version': '1.0',
'category': 'Hidden', 'category': 'Hidden',
'complexity': "normal",
'description': """ 'description': """
Lets the user create a custom dashboard. Lets the user create a custom dashboard.
======================================== ========================================

View File

@ -23,7 +23,6 @@
{ {
"name": "Share Calendar using CalDAV", "name": "Share Calendar using CalDAV",
"version": "1.1", "version": "1.1",
'complexity': "normal",
"depends": [ "depends": [
"base", "base",
"document_webdav", "document_webdav",

View File

@ -25,7 +25,6 @@
'version': '1.0', 'version': '1.0',
'category': 'Customer Relationship Management', 'category': 'Customer Relationship Management',
"sequence": 2, "sequence": 2,
'complexity': "easy",
'description': """ 'description': """
The generic OpenERP Customer Relationship Management. The generic OpenERP Customer Relationship Management.
===================================================== =====================================================

View File

@ -85,7 +85,6 @@
<field name="usage">menu</field> <field name="usage">menu</field>
<field name="view_id" ref="board_crm_form"/> <field name="view_id" ref="board_crm_form"/>
</record> </record>
<menuitem id="menu_board_crm" parent="base.menu_reporting_dashboard" action="open_board_crm" sequence="10" groups="base.group_sale_salesman"/>
<!-- crm mananger dashboard --> <!-- crm mananger dashboard -->
<record model="ir.ui.view" id="view_crm_opportunity_categ_graph"> <record model="ir.ui.view" id="view_crm_opportunity_categ_graph">

View File

@ -30,10 +30,10 @@ from tools.translate import _
MAX_LEVEL = 15 MAX_LEVEL = 15
AVAILABLE_STATES = [ AVAILABLE_STATES = [
('draft', 'New'), ('draft', 'New'),
('open', 'In Progress'),
('cancel', 'Cancelled'), ('cancel', 'Cancelled'),
('done', 'Closed'), ('open', 'In Progress'),
('pending', 'Pending'), ('pending', 'Pending'),
('done', 'Closed')
] ]
AVAILABLE_PRIORITIES = [ AVAILABLE_PRIORITIES = [
@ -224,10 +224,7 @@ class crm_base(object):
return uid return uid
def _get_section(self, cr, uid, context=None): def _get_section(self, cr, uid, context=None):
"""Gives section id for current User return False
"""
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
return user.context_section_id.id or False
def onchange_partner_address_id(self, cr, uid, ids, add, email=False): def onchange_partner_address_id(self, cr, uid, ids, add, email=False):
"""This function returns value of partner email based on Partner Address """This function returns value of partner email based on Partner Address
@ -605,20 +602,4 @@ def _links_get(self, cr, uid, context=None):
res = obj.read(cr, uid, ids, ['object', 'name'], context) res = obj.read(cr, uid, ids, ['object', 'name'], context)
return [(r['object'], r['name']) for r in res] return [(r['object'], r['name']) for r in res]
class users(osv.osv):
_inherit = 'res.users'
_description = "Users"
_columns = {
'context_section_id': fields.many2one('crm.case.section', 'Sales Team'),
}
def create(self, cr, uid, vals, context=None):
res = super(users, self).create(cr, uid, vals, context=context)
section_obj=self.pool.get('crm.case.section')
if vals.get('context_section_id'):
section_obj.write(cr, uid, [vals['context_section_id']], {'member_ids':[(4, res)]}, context)
return res
users()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

View File

@ -168,23 +168,23 @@ class crm_lead(crm_case, osv.osv):
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True), 'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority', select=True),
'date_closed': fields.datetime('Closed', readonly=True), 'date_closed': fields.datetime('Closed', readonly=True),
'stage_id': fields.many2one('crm.case.stage', 'Stage', domain="[('section_ids', '=', section_id)]"), 'stage_id': fields.many2one('crm.case.stage', 'Stage', domain="[('section_ids', '=', section_id)]"),
'user_id': fields.many2one('res.users', 'Salesman'), 'user_id': fields.many2one('res.users', 'Salesperson'),
'referred': fields.char('Referred by', size=64), 'referred': fields.char('Referred By', size=64),
'date_open': fields.datetime('Opened', readonly=True), 'date_open': fields.datetime('Opened', readonly=True),
'day_open': fields.function(_compute_day, string='Days to Open', \ 'day_open': fields.function(_compute_day, string='Days to Open', \
multi='day_open', type="float", store=True), multi='day_open', type="float", store=True),
'day_close': fields.function(_compute_day, string='Days to Close', \ 'day_close': fields.function(_compute_day, string='Days to Close', \
multi='day_close', type="float", store=True), multi='day_close', type="float", store=True),
'state': fields.selection(crm.AVAILABLE_STATES, 'State', size=16, readonly=True, 'state': fields.selection(crm.AVAILABLE_STATES, 'Status', size=16, readonly=True,
help='The state is set to \'Draft\', when a case is created.\ help='The state is set to \'Draft\', when a case is created.\
\nIf the case is in progress the state is set to \'Open\'.\ \nIf the case is in progress the state is set to \'In progress\'.\
\nWhen the case is over, the state is set to \'Done\'.\ \nWhen the case is over, the state is set to \'Done\'.\
\nIf the case needs to be reviewed then the state is set to \'Pending\'.'), \nIf the case needs to be reviewed then the state is set to \'Pending\'.'),
'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)]), 'message_ids': fields.one2many('mail.message', 'res_id', 'Messages', domain=[('model','=',_name)]),
'subjects': fields.function(_get_email_subject, fnct_search=_history_search, string='Subject of Email', type='char', size=64), 'subjects': fields.function(_get_email_subject, fnct_search=_history_search, string='Subject of Email', type='char', size=64),
# Only used for type opportunity # Only used for type opportunity
'probability': fields.float('Probability (%)',group_operator="avg"), 'probability': fields.float('Success Rate (%)',group_operator="avg"),
'planned_revenue': fields.float('Expected Revenue'), 'planned_revenue': fields.float('Expected Revenue'),
'ref': fields.reference('Reference', selection=crm._links_get, size=128), 'ref': fields.reference('Reference', selection=crm._links_get, size=128),
'ref2': fields.reference('Reference 2', selection=crm._links_get, size=128), 'ref2': fields.reference('Reference 2', selection=crm._links_get, size=128),

View File

@ -9,7 +9,7 @@
<field name="domain">['|', ('type','=','lead'), ('type','=',False)]</field> <field name="domain">['|', ('type','=','lead'), ('type','=',False)]</field>
<field name="view_id" ref="crm_case_tree_view_leads"/> <field name="view_id" ref="crm_case_tree_view_leads"/>
<field name="search_view_id" ref="crm.view_crm_case_leads_filter"/> <field name="search_view_id" ref="crm.view_crm_case_leads_filter"/>
<field name="context">{'default_type': 'lead', 'search_default_section_id': section_id, 'stage_type': 'lead'}</field> <field name="context">{'default_type':'lead', 'stage_type':'lead'}</field>
<field name="help"> <field name="help">
&lt;img src="http://www.thaicrmsoftware.com/wp-content/uploads/2011/11/lead-conversion.jpg" align="right" style="padding: 6px" width="306" height="223"&gt; &lt;img src="http://www.thaicrmsoftware.com/wp-content/uploads/2011/11/lead-conversion.jpg" align="right" style="padding: 6px" width="306" height="223"&gt;
&lt;h2&gt;Create your first OpenERP Lead &lt;/h2&gt; &lt;h2&gt;Create your first OpenERP Lead &lt;/h2&gt;
@ -66,7 +66,7 @@
<field name="res_model">crm.lead</field> <field name="res_model">crm.lead</field>
<field name="view_mode">kanban,tree,form,graph,calendar</field> <field name="view_mode">kanban,tree,form,graph,calendar</field>
<field name="domain">[('type','=','opportunity')]</field> <field name="domain">[('type','=','opportunity')]</field>
<field name="context">{'search_default_new':1, 'search_default_open':1, 'search_default_section_id':section_id, 'stage_type': 'opportunity', 'default_type': 'opportunity'}</field> <field name="context">{'search_default_new':1, 'search_default_open':1, 'stage_type': 'opportunity', 'default_type': 'opportunity'}</field>
<field name="view_id" eval="False"/> <field name="view_id" eval="False"/>
<field name="search_view_id" ref="crm.view_crm_case_opportunities_filter"/> <field name="search_view_id" ref="crm.view_crm_case_opportunities_filter"/>
<field name="help">With opportunities you can manage and keep track of your sales pipeline by creating specific customer- or prospect-related sales documents to follow up potential sales. Information such as expected revenue, opportunity stage, expected closing date, communication history and much more can be stored. Opportunities can be connected to the email gateway: new emails may create opportunities, each of them automatically gets the history of the conversation with the customer. <field name="help">With opportunities you can manage and keep track of your sales pipeline by creating specific customer- or prospect-related sales documents to follow up potential sales. Information such as expected revenue, opportunity stage, expected closing date, communication history and much more can be stored. Opportunities can be connected to the email gateway: new emails may create opportunities, each of them automatically gets the history of the conversation with the customer.

View File

@ -53,15 +53,16 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Leads Form" layout="manual"> <form string="Leads Form" layout="manual">
<div class="oe_form_topbar"> <div class="oe_form_topbar">
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel" /> <button name="case_open" string="Open" states="draft,pending" type="object" />
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" /> <button name="case_mark_lost" string="Close" states="open,pending" type="object" />
<button name="case_mark_lost" string="Close" states="open,pending" type="object" icon="gtk-close" /> <button name="case_pending" string="Pending" states="open" type="object" />
<button name="case_pending" string="Pending" states="open" type="object" icon="gtk-media-pause" /> <button name="case_escalate" string="Escalate" states="open,pending" type="object" />
<button name="case_escalate" string="Escalate" states="open,pending" type="object" icon="gtk-go-up" /> <button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" />
<button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert" /> <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" />
<div class="oe_right"> <div class="oe_right">
<field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/> <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
</div> </div>
<div class="oe_clear"/>
</div> </div>
<sheet layout="auto"> <sheet layout="auto">
<group colspan="4" col="7"> <group colspan="4" col="7">
@ -155,7 +156,7 @@
</page> </page>
</notebook> </notebook>
</sheet> </sheet>
<div class="oe_form_sheet_width"> <div class="oe_form_bottom">
<field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/> <field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/>
</div> </div>
</form> </form>
@ -340,7 +341,7 @@
context="{'invisible_section': False}"> context="{'invisible_section': False}">
<filter icon="terp-personal+" <filter icon="terp-personal+"
context="{'invisible_section': False}" context="{'invisible_section': False}"
domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
help="My Sales Team(s)"/> help="My Sales Team(s)"/>
<filter icon="terp-personal+" <filter icon="terp-personal+"
context="{'invisible_section': False}" context="{'invisible_section': False}"
@ -353,7 +354,7 @@
</field> </field>
<newline/> <newline/>
<group expand="0" string="Group By..."> <group expand="0" string="Group By...">
<filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/> <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
<filter string="Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/> <filter string="Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
<filter string="Referrer" icon="terp-personal" domain="[]" context="{'group_by':'referred'}"/> <filter string="Referrer" icon="terp-personal" domain="[]" context="{'group_by':'referred'}"/>
<separator orientation="vertical"/> <separator orientation="vertical"/>
@ -364,7 +365,7 @@
domain="[]" context="{'group_by':'channel_id'}" /> domain="[]" context="{'group_by':'channel_id'}" />
<separator orientation="vertical"/> <separator orientation="vertical"/>
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/> <filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<separator orientation="vertical" groups="base.group_no_one"/> <separator orientation="vertical" groups="base.group_no_one"/>
<filter string="Creation" help="Create date" icon="terp-go-month" <filter string="Creation" help="Create date" icon="terp-go-month"
domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/> domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
@ -383,13 +384,13 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Opportunities" layout="manual"> <form string="Opportunities" layout="manual">
<div class="oe_form_topbar oe_form_topbar_hifirst"> <div class="oe_form_topbar oe_form_topbar_hifirst">
<button name="case_cancel" string="Cancel" states="draft" type="object" icon="gtk-cancel" /> <button name="case_mark_won" string="Mark Won" states="open,pending" type="object" />
<button name="case_mark_lost" string="Mark Lost" states="open,pending" type="object" icon="gtk-cancel" /> <button name="case_open" string="Open" states="draft,pending" type="object" />
<button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert" /> <button name="case_pending" string="Pending" states="draft,open" type="object" />
<button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" /> <button name="case_escalate" string="Escalate" states="open,pending" type="object" />
<button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause" /> <button name="case_mark_lost" string="Mark Lost" states="open,pending" type="object" />
<button name="case_escalate" string="Escalate" states="open,pending" type="object" icon="gtk-go-up" /> <button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" />
<button name="case_mark_won" string="Mark Won" states="open,pending" type="object" icon="gtk-apply" /> <button name="case_cancel" string="Cancel" states="draft" type="object" />
<div class="oe_right"> <div class="oe_right">
<field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/> <field name="state" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
</div> </div>
@ -430,9 +431,7 @@
icon="terp-partner" type="action" icon="terp-partner" type="action"
string="Create" string="Create"
attrs="{'invisible':[('partner_id','!=',False)]}"/> attrs="{'invisible':[('partner_id','!=',False)]}"/>
<field name="phone" colspan="3"/> <field name="phone" colspan="3"/>
<field width="80%%" name="email_from" string="Email"/> <field width="80%%" name="email_from" string="Email"/>
<button string="Mail" <button string="Mail"
name="%(mail.action_email_compose_message_wizard)d" name="%(mail.action_email_compose_message_wizard)d"
@ -441,7 +440,7 @@
</group> </group>
</group> </group>
<group col="2" colspan="2" class="oe_form_group_label_border"> <group col="2" colspan="2" class="oe_form_group_label_border">
<separator colspan="2" string="Categorization"/> <separator colspan="2" string="Category"/>
<field name="section_id" colspan="1" widget="selection"/> <field name="section_id" colspan="1" widget="selection"/>
<field name="categ_id" select="1" <field name="categ_id" select="1"
string="Category" widget="selection" string="Category" widget="selection"
@ -512,7 +511,7 @@
</page> </page>
</notebook> </notebook>
</sheet> </sheet>
<div class="oe_form_sheet_width"> <div class="oe_form_bottom">
<field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/> <field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/>
</div> </div>
</form> </form>
@ -581,7 +580,7 @@
context="{'invisible_section': False}" context="{'invisible_section': False}"
widget="selection"> widget="selection">
<filter icon="terp-personal+" <filter icon="terp-personal+"
domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
context="{'invisible_section': False}" context="{'invisible_section': False}"
help="My Sales Team(s)" /> help="My Sales Team(s)" />
<filter icon="terp-personal+" <filter icon="terp-personal+"
@ -589,10 +588,9 @@
domain="[]" domain="[]"
help="Show Sales Team"/> help="Show Sales Team"/>
</field> </field>
<newline/> <newline/>
<group expand="0" string="Group By..." colspan="16"> <group expand="0" string="Group By..." colspan="16">
<filter string="Salesman" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" /> <filter string="Salesperson" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}" />
<filter string="Team" help="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/> <filter string="Team" help="Sales Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
<filter string="Customer" help="Partner" icon="terp-personal+" domain="[]" context="{'group_by':'partner_id'}"/> <filter string="Customer" help="Partner" icon="terp-personal+" domain="[]" context="{'group_by':'partner_id'}"/>
<separator orientation="vertical" /> <separator orientation="vertical" />
@ -601,7 +599,7 @@
<filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" /> <filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}" />
<filter string="Campaign" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'type_id'}"/> <filter string="Campaign" icon="terp-gtk-jump-to-rtl" domain="[]" context="{'group_by':'type_id'}"/>
<filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" /> <filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'channel_id'}" />
<filter string="State" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/> <filter string="Status" icon="terp-stock_effects-object-colorize" domain="[]" context="{'group_by':'state'}"/>
<separator orientation="vertical" /> <separator orientation="vertical" />
<filter string="Creation" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/> <filter string="Creation" icon="terp-go-month" domain="[]" context="{'group_by':'create_date'}" groups="base.group_no_one"/>
<filter string="Exp.Closing" icon="terp-go-month" help="Expected Closing" domain="[]" context="{'group_by':'date_deadline'}" /> <filter string="Exp.Closing" icon="terp-go-month" help="Expected Closing" domain="[]" context="{'group_by':'date_deadline'}" />

View File

@ -70,7 +70,7 @@ class crm_meeting(crm_base, osv.osv):
'state': fields.selection([('open', 'Confirmed'), 'state': fields.selection([('open', 'Confirmed'),
('draft', 'Unconfirmed'), ('draft', 'Unconfirmed'),
('cancel', 'Cancelled'), ('cancel', 'Cancelled'),
('done', 'Done')], 'State', \ ('done', 'Done')], 'Status', \
size=16, readonly=True), size=16, readonly=True),
} }
_defaults = { _defaults = {

View File

@ -27,7 +27,7 @@
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Meetings"> <form string="Meetings">
<group col="6" colspan="4"> <group col="6" colspan="4">
<field name="name" select="1" string="Summary" <field name="name" select="1" string="Title"
required="1" /> required="1" />
<field name="categ_id" widget="selection" <field name="categ_id" widget="selection"
string="Meeting Type" string="Meeting Type"
@ -44,7 +44,7 @@
<field name="alarm_id" string="Reminder" <field name="alarm_id" string="Reminder"
widget="selection" /> widget="selection" />
<group colspan="2" col="4" attrs="{'readonly': ['|', ('recurrent_uid','!=',False), ('state','=','done')]}"> <group colspan="2" col="4" attrs="{'readonly': ['|', ('recurrent_uid','!=',False), ('state','=','done')]}">
<field name="recurrency"/> <field name="recurrency" string="Recurrence"/>
</group> </group>
</group> </group>
<notebook colspan="4"> <notebook colspan="4">
@ -158,14 +158,12 @@
</form> </form>
</field> </field>
</page> </page>
<page string="Recurrency Option" attrs="{'invisible': [('recurrency','=',False)], 'readonly': ['|', ('recurrent_uid','!=',False), ('state','=','done')]}"> <page string="Recurrence Options" attrs="{'invisible': [('recurrency','=',False)], 'readonly': ['|', ('recurrent_uid','!=',False), ('state','=','done')]}">
<group col="4" colspan="4" name="rrule"> <group col="4" colspan="4" name="rrule">
<group col="4" colspan="4"> <group col="4" colspan="4">
<field name="rrule_type" string="Recurrency period" /> <field name="rrule_type" string=" Recurrence Pattern" />
<field name="interval" /> <field name="interval" />
<separator string="End of Recurrence" colspan="4"/>
<separator string="End of Recurrency" colspan="4"/>
<field name="end_type" /> <field name="end_type" />
<label string=" " colspan="2" /> <label string=" " colspan="2" />
<newline /> <newline />
@ -282,11 +280,7 @@
domain="[('user_id','=',uid)]" domain="[('user_id','=',uid)]"
help="My Meetings" /> help="My Meetings" />
</field> </field>
<field name="section_id" widget="selection"> <field name="partner_id"/>
<filter icon="terp-personal+"
domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
help="My Sales Team(s)" />
</field>
</group> </group>
</search> </search>
</field> </field>

View File

@ -51,10 +51,10 @@ class crm_phonecall(crm_base, osv.osv):
'state': fields.selection([ 'state': fields.selection([
('draft', 'Draft'), ('draft', 'Draft'),
('open', 'Todo'), ('open', 'Todo'),
('pending', 'Not Held'),
('cancel', 'Cancelled'), ('cancel', 'Cancelled'),
('done', 'Held'), ('done', 'Held'),
('pending', 'Not Held'), ], 'Status', size=16, readonly=True,
], 'State', size=16, readonly=True,
help='The state is set to \'Todo\', when a case is created.\ help='The state is set to \'Todo\', when a case is created.\
\nIf the case is in progress the state is set to \'Open\'.\ \nIf the case is in progress the state is set to \'Open\'.\
\nWhen the call is over, the state is set to \'Held\'.\ \nWhen the call is over, the state is set to \'Held\'.\

View File

@ -31,7 +31,7 @@
<field name="view_type">form</field> <field name="view_type">form</field>
<field name="view_mode">tree,calendar</field> <field name="view_mode">tree,calendar</field>
<field name="view_id" ref="crm_case_phone_tree_view"/> <field name="view_id" ref="crm_case_phone_tree_view"/>
<field name="context">{"search_default_user_id":uid, 'search_default_section_id': section_id}</field> <field name="context">{"search_default_user_id":uid}</field>
<field name="search_view_id" ref="crm.view_crm_case_phonecalls_filter"/> <field name="search_view_id" ref="crm.view_crm_case_phonecalls_filter"/>
</record> </record>
@ -67,7 +67,7 @@
<field name="view_mode">tree,calendar</field> <field name="view_mode">tree,calendar</field>
<field name="view_id" ref="crm_case_inbound_phone_tree_view"/> <field name="view_id" ref="crm_case_inbound_phone_tree_view"/>
<field name="domain">[]</field> <field name="domain">[]</field>
<field name="context" eval="'{\'search_default_section_id\':section_id}'"/> <field name="context">{}</field>
<field name="search_view_id" ref="crm.view_crm_case_phonecalls_filter"/> <field name="search_view_id" ref="crm.view_crm_case_phonecalls_filter"/>
<field name="help">This tool allows you to log your inbound calls on the fly. Each call you get will appear on the partner form to trace every contact you have with a partner. From the phone call form, you can trigger a request for another call, a meeting or an opportunity.</field> <field name="help">This tool allows you to log your inbound calls on the fly. Each call you get will appear on the partner form to trace every contact you have with a partner. From the phone call form, you can trigger a request for another call, a meeting or an opportunity.</field>
@ -105,7 +105,7 @@
<field name="view_mode">tree,calendar</field> <field name="view_mode">tree,calendar</field>
<field name="view_id" ref="crm_case_phone_tree_view"/> <field name="view_id" ref="crm_case_phone_tree_view"/>
<field name="domain">[('state','!=','done')]</field> <field name="domain">[('state','!=','done')]</field>
<field name="context" eval="'{\'search_default_section_id\':section_id, \'default_state\':\'open\'}'"/> <field name="context" eval="'{\'default_state\':\'open\'}'"/>
<field name="search_view_id" ref="crm.view_crm_case_scheduled_phonecalls_filter"/> <field name="search_view_id" ref="crm.view_crm_case_scheduled_phonecalls_filter"/>
<field name="help">Scheduled calls list all the calls to be done by your sales team. A salesman can record the information about the call in the form view. This information will be stored in the partner form to trace every contact you have with a customer. You can also import a .CSV file with a list of calls to be done by your sales team.</field> <field name="help">Scheduled calls list all the calls to be done by your sales team. A salesman can record the information about the call in the form view. This information will be stored in the partner form to trace every contact you have with a customer. You can also import a .CSV file with a list of calls to be done by your sales team.</field>
</record> </record>

View File

@ -46,7 +46,19 @@
<field name="model">crm.phonecall</field> <field name="model">crm.phonecall</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Phone Call"> <form layout="manual">
<div class="oe_form_topbar">
<button name="case_close" string="Held" states="open,pending" type="object" />
<button name="case_open" string="Todo" states="pending" type="object" />
<button name="case_pending" string="Not Held" states="open" type="object" />
<button name="case_reset" string="Reset to Todo" states="cancel" type="object" />
<button name="case_cancel" string="Cancel" states="open,pending" type="object" />
<div class="oe_right">
<field name="state" widget="statusbar" nolabel="1" statusbar_visible="open,done" statusbar_colors='{"pending":"red"}' select="1"/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Phone Call" layout="auto">
<group colspan="6" col="7"> <group colspan="6" col="7">
<field name="name" required="1"/> <field name="name" required="1"/>
<field name="partner_phone"/> <field name="partner_phone"/>
@ -91,25 +103,10 @@
</group> </group>
<separator string="Description" colspan="4" /> <separator string="Description" colspan="4" />
<field name="description" nolabel="1" colspan="4" /> <field name="description" nolabel="1" colspan="4" />
<separator colspan="4" /> </sheet>
<group col="8" colspan="4"> <div class="oe_form_sheet_width">
<field name="state" widget="statusbar" statusbar_visible="open,done" statusbar_colors='{"pending":"red"}' select="1"/>
<button name="case_cancel" string="Cancel"
states="open,pending" type="object"
icon="gtk-cancel" />
<button name="case_open" string="Todo"
states="pending" type="object"
icon="gtk-go-forward" />
<button name="case_pending" string="Not Held"
states="open" type="object" icon="gtk-media-pause" />
<button name="case_close" string="Held"
states="open,pending" type="object"
icon="gtk-jump-to" />
<button name="case_reset" string="Reset to Todo"
states="cancel" type="object"
icon="gtk-convert" />
</group>
<field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/> <field name="message_ids_social" colspan="4" widget="ThreadView" nolabel="1"/>
</div>
</form> </form>
</field> </field>
</record> </record>
@ -187,7 +184,7 @@
<field name="section_id" <field name="section_id"
widget="selection" string="Sales Team"> widget="selection" string="Sales Team">
<filter icon="terp-personal+" <filter icon="terp-personal+"
domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
help="My Sales Team(s)" /> help="My Sales Team(s)" />
</field> </field>
<newline/> <newline/>
@ -237,7 +234,7 @@
<field name="section_id" <field name="section_id"
widget="selection" string="Sales Team"> widget="selection" string="Sales Team">
<filter icon="terp-personal+" <filter icon="terp-personal+"
domain="['|', ('section_id', '=', context.get('section_id')), '|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]" domain="['|', ('section_id.user_id','=',uid), ('section_id.member_ids', 'in', [uid])]"
help="My Sales Team(s)" /> help="My Sales Team(s)" />
</field> </field>
<newline/> <newline/>

View File

@ -376,32 +376,6 @@
groups="base.group_no_one" sequence="15" groups="base.group_no_one" sequence="15"
parent="base.menu_base_config" /> parent="base.menu_base_config" />
<record model="ir.ui.view" id="view_users_form_simple_modif_inherited1">
<field name="name">view.users.form.crm.modif.inherited1</field>
<field name="model">res.users</field>
<field name="inherit_id" ref="base.view_users_form_simple_modif" />
<field name="type">form</field>
<field name="arch" type="xml">
<group name="default_filters" position="inside">
<field name="context_section_id" completion="1"
readonly="0"/>
</group>
</field>
</record>
<record id="view_users_form_simple_modif_inherited2" model="ir.ui.view">
<field name="name">view.users.form.crm.modif.inherited2</field>
<field name="model">res.users</field>
<field name="type">form</field>
<field name="inherit_id" ref="base.view_users_form"/>
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<group name="default_filters" position="inside">
<field name="context_section_id" completion="1"/>
</group>
</field>
</record>
<!-- menu for the working time --> <!-- menu for the working time -->
<menuitem action="resource.action_resource_calendar_form" id="menu_action_resource_calendar_form" parent="resource.menu_resource_config" sequence="1"/> <menuitem action="resource.action_resource_calendar_form" id="menu_action_resource_calendar_form" parent="resource.menu_resource_config" sequence="1"/>

View File

@ -79,7 +79,7 @@ class crm_lead_report(osv.osv):
'section_id':fields.many2one('crm.case.section', 'Sales Team', readonly=True), 'section_id':fields.many2one('crm.case.section', 'Sales Team', readonly=True),
'channel_id':fields.many2one('crm.case.channel', 'Channel', readonly=True), 'channel_id':fields.many2one('crm.case.channel', 'Channel', readonly=True),
'type_id':fields.many2one('crm.case.resource.type', 'Campaign', readonly=True), 'type_id':fields.many2one('crm.case.resource.type', 'Campaign', readonly=True),
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True), 'state': fields.selection(AVAILABLE_STATES, 'Status', size=16, readonly=True),
'company_id': fields.many2one('res.company', 'Company', readonly=True), 'company_id': fields.many2one('res.company', 'Company', readonly=True),
'email': fields.integer('# Emails', size=128, readonly=True), 'email': fields.integer('# Emails', size=128, readonly=True),
'probability': fields.float('Probability',digits=(16,2),readonly=True, group_operator="avg"), 'probability': fields.float('Probability',digits=(16,2),readonly=True, group_operator="avg"),

View File

@ -119,7 +119,7 @@
domain="[('section_id.user_id','=',uid)]" domain="[('section_id.user_id','=',uid)]"
help="My Sales Team(s)" /> help="My Sales Team(s)" />
</field> </field>
<field name="user_id" string="Salesman"> <field name="user_id" string="Salesperson">
<filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" /> <filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" />
</field> </field>
</group> </group>
@ -140,7 +140,7 @@
</group> </group>
<newline/> <newline/>
<group expand="1" string="Group By..."> <group expand="1" string="Group By...">
<filter string="Salesman" name="user" icon="terp-personal" <filter string="Salesperson" name="user" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" /> domain="[]" context="{'group_by':'user_id'}" />
<filter string="Sales Team" icon="terp-personal+" <filter string="Sales Team" icon="terp-personal+"
domain="[]" domain="[]"
@ -161,7 +161,7 @@
<filter string="Channel" icon="terp-call-start" <filter string="Channel" icon="terp-call-start"
domain="[]" context="{'group_by':'channel_id'}" /> domain="[]" context="{'group_by':'channel_id'}" />
<separator orientation="vertical" /> <separator orientation="vertical" />
<filter string="State" icon="terp-stock_effects-object-colorize" <filter string="Status" icon="terp-stock_effects-object-colorize"
domain="[]" context="{'group_by':'state'}" /> domain="[]" context="{'group_by':'state'}" />
<separator orientation="vertical" /> <separator orientation="vertical" />
<filter string="Year" icon="terp-go-year" <filter string="Year" icon="terp-go-year"

View File

@ -45,7 +45,7 @@ class crm_phonecall_report(osv.osv):
'section_id':fields.many2one('crm.case.section', 'Section', readonly=True), 'section_id':fields.many2one('crm.case.section', 'Section', readonly=True),
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'), 'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
'nbr': fields.integer('# of Cases', readonly=True), 'nbr': fields.integer('# of Cases', readonly=True),
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True), 'state': fields.selection(AVAILABLE_STATES, 'Status', size=16, readonly=True),
'month':fields.selection([('01', 'January'), ('02', 'February'), \ 'month':fields.selection([('01', 'January'), ('02', 'February'), \
('03', 'March'), ('04', 'April'),\ ('03', 'March'), ('04', 'April'),\
('05', 'May'), ('06', 'June'), \ ('05', 'May'), ('06', 'June'), \

View File

@ -83,7 +83,7 @@
domain="[('section_id.user_id','=',uid)]" domain="[('section_id.user_id','=',uid)]"
help="My Sales Team(s)" /> help="My Sales Team(s)" />
</field> </field>
<field name="user_id" string="Salesman"> <field name="user_id" string="Salesperson">
<filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" /> <filter icon="terp-personal" string="My Case(s)" help="My Case(s)" domain="[('user_id','=',uid)]" />
</field> </field>
</group> </group>
@ -99,7 +99,7 @@
</group> </group>
<newline/> <newline/>
<group expand="1" string="Group By..."> <group expand="1" string="Group By...">
<filter string="Salesman" name="Salesman" icon="terp-personal" <filter string="Salesperson" name="Salesperson" icon="terp-personal"
domain="[]" context="{'group_by':'user_id'}" /> domain="[]" context="{'group_by':'user_id'}" />
<filter string="Sales Team" icon="terp-personal+" <filter string="Sales Team" icon="terp-personal+"
domain="[]" domain="[]"
@ -109,7 +109,7 @@
<filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" /> <filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
<filter string="Category" icon="terp-stock_symbol-selection" <filter string="Category" icon="terp-stock_symbol-selection"
domain="[]" context="{'group_by':'categ_id'}" /> domain="[]" context="{'group_by':'categ_id'}" />
<filter string="State" icon="terp-stock_effects-object-colorize" <filter string="Status" icon="terp-stock_effects-object-colorize"
domain="[]" context="{'group_by':'state'}" /> domain="[]" context="{'group_by':'state'}" />
<separator orientation="vertical" /> <separator orientation="vertical" />
<filter string="Company" icon="terp-go-home" <filter string="Company" icon="terp-go-home"

View File

@ -24,14 +24,26 @@ from osv import fields,osv
class res_partner(osv.osv): class res_partner(osv.osv):
""" Inherits partner and adds CRM information in the partner form """ """ Inherits partner and adds CRM information in the partner form """
_inherit = 'res.partner' _inherit = 'res.partner'
def _opportunity_meeting_count(self, cr, uid, ids, field_name, arg, context=None):
res = {}
for partner in self.browse(cr, uid, ids, context):
res[partner.id] = {
'opportunity_count': len(partner.opportunity_ids),
'meeting_count': len(partner.meeting_ids),
}
return res
_columns = { _columns = {
'section_id': fields.many2one('crm.case.section', 'Sales Team'), 'section_id': fields.many2one('crm.case.section', 'Sales Team'),
'opportunity_ids': fields.one2many('crm.lead', 'partner_id',\ 'opportunity_ids': fields.one2many('crm.lead', 'partner_id',\
'Leads and Opportunities'), 'Leads and Opportunities', domain=[('state','in', ('draft','open','pending'))]),
'meeting_ids': fields.one2many('crm.meeting', 'partner_id',\ 'meeting_ids': fields.one2many('crm.meeting', 'partner_id',\
'Meetings'), 'Meetings'),
'phonecall_ids': fields.one2many('crm.phonecall', 'partner_id',\ 'phonecall_ids': fields.one2many('crm.phonecall', 'partner_id',\
'Phonecalls'), 'Phonecalls'),
'opportunity_count': fields.function(_opportunity_meeting_count, string="Opportunity", type='integer', multi='opp_meet'),
'meeting_count': fields.function(_opportunity_meeting_count, string="Meeting", type='integer', multi='opp_meet'),
} }
def redirect_partner_form(self, cr, uid, partner_id, context=None): def redirect_partner_form(self, cr, uid, partner_id, context=None):

View File

@ -42,6 +42,46 @@
</field> </field>
</record> </record>
<act_window
id="crm_meeting_partner"
name="Meetings"
res_model="crm.meeting"
src_model="res.partner"
view_mode="calendar,tree,form,gantt"
context="{'search_default_partner_id': [active_id],'default_partner_id': active_id}"
/>
<act_window
id="act_res_partner_2_opportunity"
name="Opportunities"
res_model="crm.lead"
src_model="res.partner"
view_mode="kanban,tree,form,graph,calendar"
domain="[('type','=','opportunity')]"
context="{'search_default_partner_id': [active_id],'default_partner_id': active_id}"
/>
<!-- Partner kanban view inherte -->
<record model="ir.ui.view" id="crm_lead_partner_kanban_view">
<field name="name">res.partner.kanban.inherit</field>
<field name="model">res.partner</field>
<field name="type">kanban</field>
<field name="inherit_id" ref="base.res_partner_kanban_view"/>
<field name="arch" type="xml">
<field name="mobile" position="after">
<field name="opportunity_count"/>
<field name="meeting_count"/>
</field>
<xpath expr="//h4[@class='oe_partner_heading']" position="after">
<a name="%(act_res_partner_2_opportunity)d" type="action">
<t t-if="record.opportunity_count.value">Opportunities(<t t-esc="record.opportunity_count.value"/>)</t>
</a>
<a name="%(crm_meeting_partner)d" type="action">
<t t-if="record.meeting_count.value">Meetings(<t t-esc="record.meeting_count.value"/>)</t>
</a>
</xpath>
</field>
</record>
<!-- Add History tabs to res.partner form --> <!-- Add History tabs to res.partner form -->
<record id="view_crm_partner_info_form1" model="ir.ui.view"> <record id="view_crm_partner_info_form1" model="ir.ui.view">
<field name="name">res.partner.crm.info.inherit1</field> <field name="name">res.partner.crm.info.inherit1</field>

View File

@ -25,7 +25,6 @@
'name': 'Meetings Synchronization', 'name': 'Meetings Synchronization',
'version': '1.1', 'version': '1.1',
'category': 'Customer Relationship Management', 'category': 'Customer Relationship Management',
'complexity': "normal",
'description': """ 'description': """
Caldav features in Meeting. Caldav features in Meeting.
=========================== ===========================

View File

@ -24,7 +24,6 @@
'name': 'Claims Management', 'name': 'Claims Management',
'version': '1.0', 'version': '1.0',
'category': 'Customer Relationship Management', 'category': 'Customer Relationship Management',
'complexity': "easy",
'description': """ 'description': """
This modules allows you to track your customers/suppliers claims and grievances. This modules allows you to track your customers/suppliers claims and grievances.
================================================================================ ================================================================================

View File

@ -75,7 +75,7 @@ class crm_claim(crm.crm_case, osv.osv):
'partner_phone': fields.char('Phone', size=32), 'partner_phone': fields.char('Phone', size=32),
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_ids','=',section_id)]"), 'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('section_ids','=',section_id)]"),
'cause': fields.text('Root Cause'), 'cause': fields.text('Root Cause'),
'state': fields.selection(crm.AVAILABLE_STATES, 'State', size=16, readonly=True, 'state': fields.selection(crm.AVAILABLE_STATES, 'Status', size=16, readonly=True,
help='The state is set to \'Draft\', when a case is created.\ help='The state is set to \'Draft\', when a case is created.\
\nIf the case is in progress the state is set to \'Open\'.\ \nIf the case is in progress the state is set to \'Open\'.\
\nWhen the case is over, the state is set to \'Done\'.\ \nWhen the case is over, the state is set to \'Done\'.\

View File

@ -20,7 +20,7 @@
<field name="view_type">form</field> <field name="view_type">form</field>
<field name="view_mode">tree,calendar,form</field> <field name="view_mode">tree,calendar,form</field>
<field name="view_id" ref="crm_case_claims_tree_view"/> <field name="view_id" ref="crm_case_claims_tree_view"/>
<field name="context">{'search_default_section_id': section_id,"search_default_user_id":uid, "stage_type":'claim'}</field> <field name="context">{"search_default_user_id":uid, "stage_type":'claim'}</field>
<field name="search_view_id" ref="crm_claim.view_crm_case_claims_filter"/> <field name="search_view_id" ref="crm_claim.view_crm_case_claims_filter"/>
<field name="help">Record and track your customers' claims. Claims may be linked to a sales order or a lot. You can send emails with attachments and keep the full history for a claim (emails sent, intervention type and so on). Claims may automatically be linked to an email address using the mail gateway module.</field> <field name="help">Record and track your customers' claims. Claims may be linked to a sales order or a lot. You can send emails with attachments and keep the full history for a claim (emails sent, intervention type and so on). Claims may automatically be linked to an email address using the mail gateway module.</field>
</record> </record>

View File

@ -60,7 +60,19 @@
<field name="model">crm.claim</field> <field name="model">crm.claim</field>
<field name="type">form</field> <field name="type">form</field>
<field name="arch" type="xml"> <field name="arch" type="xml">
<form string="Claims"> <form layout="manual">
<div class="oe_form_topbar">
<button name="case_close" string="Done" states="open,pending" type="object" />
<button name="case_open" string="Open" states="draft,pending" type="object" />
<button name="case_pending" string="Pending" states="draft,open" type="object" />
<button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" />
<button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" />
<div class="oe_right">
<field name="state" select="1" nolabel="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
</div>
<div class="oe_clear"/>
</div>
<sheet string="Claims" layout="auto">
<group> <group>
<field name="name" /> <field name="name" />
<field name="date"/> <field name="date"/>
@ -96,25 +108,6 @@
</group> </group>
<separator colspan="4" string="Claim/Action Description"/> <separator colspan="4" string="Claim/Action Description"/>
<field name="description" colspan="4" nolabel="1"/> <field name="description" colspan="4" nolabel="1"/>
<separator colspan="4" string=""/>
<group col="8" colspan="4">
<field name="state" select="1" widget="statusbar" statusbar_visible="draft,open,done" statusbar_colors='{"pending":"blue"}'/>
<button name="case_cancel" string="Cancel"
states="draft,open,pending" type="object"
icon="gtk-cancel" />
<button name="case_pending" string="Pending"
states="draft,open" type="object"
icon="gtk-media-pause" />
<button name="case_open" string="Open"
states="draft,pending" type="object"
icon="gtk-go-forward" />
<button name="case_close" string="Done"
states="open,pending" type="object"
icon="gtk-jump-to" />
<button name="case_reset"
string="Reset to Draft" states="done,cancel"
type="object" icon="gtk-convert" />
</group>
</page> </page>
<page string="Follow Up"> <page string="Follow Up">
<group colspan="2" col="2"> <group colspan="2" col="2">
@ -164,6 +157,7 @@
</page> </page>
</notebook> </notebook>
</group> </group>
</sheet>
</form> </form>
</field> </field>
</record> </record>
@ -225,7 +219,7 @@
domain="[]" context="{'group_by':'stage_id'}" /> domain="[]" context="{'group_by':'stage_id'}" />
<filter string="Type" icon="terp-stock_symbol-selection" <filter string="Type" icon="terp-stock_symbol-selection"
domain="[]" context="{'group_by':'categ_id'}" /> domain="[]" context="{'group_by':'categ_id'}" />
<filter string="State" <filter string="Status"
icon="terp-stock_effects-object-colorize" icon="terp-stock_effects-object-colorize"
domain="[]" context="{'group_by':'state'}" /> domain="[]" context="{'group_by':'state'}" />
<separator orientation="vertical"/> <separator orientation="vertical"/>

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