[MERGE]: Merge with latest trunk-addons
bzr revid: rpa@tinyerp.com-20120726053855-8j8c70xqc0ynikx1
This commit is contained in:
commit
4eb76030a6
|
@ -29,25 +29,23 @@ Accounting and Financial Management.
|
||||||
|
|
||||||
Financial and accounting module that covers:
|
Financial and accounting module that covers:
|
||||||
--------------------------------------------
|
--------------------------------------------
|
||||||
General accountings
|
* General Accounting
|
||||||
Cost / Analytic accounting
|
* Cost/Analytic accounting
|
||||||
Third party accounting
|
* Third party accounting
|
||||||
Taxes management
|
* Taxes management
|
||||||
Budgets
|
* Budgets
|
||||||
Customer and Supplier Invoices
|
* Customer and Supplier Invoices
|
||||||
Bank statements
|
* Bank statements
|
||||||
Reconciliation process by partner
|
* Reconciliation process by partner
|
||||||
|
|
||||||
Creates a dashboard for accountants that includes:
|
Creates a dashboard for accountants that includes:
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
* List of Customer Invoice to Approve
|
* List of Customer Invoice to Approve
|
||||||
* Company Analysis
|
* Company Analysis
|
||||||
* Graph of Aged Receivables
|
* Graph of Treasury
|
||||||
* Graph of Treasury
|
|
||||||
|
|
||||||
The processes like maintaining of general ledger is done through the defined financial Journals (entry move line or
|
The processes like maintaining of general ledger is done through the defined financial Journals (entry move line orgrouping is maintained through journal) for a particular
|
||||||
grouping is maintained through journal) for a particular financial year and for preparation of vouchers there is a
|
financial year and for preparation of vouchers there is a module named account_voucher.
|
||||||
module named account_voucher.
|
|
||||||
""",
|
""",
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
'images' : ['images/accounts.jpeg','images/bank_statement.jpeg','images/cash_register.jpeg','images/chart_of_accounts.jpeg','images/customer_invoice.jpeg','images/journal_entries.jpeg'],
|
'images' : ['images/accounts.jpeg','images/bank_statement.jpeg','images/cash_register.jpeg','images/chart_of_accounts.jpeg','images/customer_invoice.jpeg','images/journal_entries.jpeg'],
|
||||||
|
|
|
@ -29,6 +29,8 @@ import pooler
|
||||||
from osv import fields, osv
|
from osv import fields, osv
|
||||||
import decimal_precision as dp
|
import decimal_precision as dp
|
||||||
from tools.translate import _
|
from tools.translate import _
|
||||||
|
from tools.float_utils import float_round
|
||||||
|
|
||||||
_logger = logging.getLogger(__name__)
|
_logger = logging.getLogger(__name__)
|
||||||
|
|
||||||
def check_cycle(self, cr, uid, ids, context=None):
|
def check_cycle(self, cr, uid, ids, context=None):
|
||||||
|
@ -101,7 +103,7 @@ class account_payment_term_line(osv.osv):
|
||||||
'value': fields.selection([('procent', 'Percent'),
|
'value': fields.selection([('procent', 'Percent'),
|
||||||
('balance', 'Balance'),
|
('balance', 'Balance'),
|
||||||
('fixed', 'Fixed Amount')], 'Valuation',
|
('fixed', 'Fixed Amount')], 'Valuation',
|
||||||
required=True, help="""Select here the kind of valuation related to this payment term line. Note that you should have your last line with the type 'Balance' to ensure that the whole amount will be threated."""),
|
required=True, help="""Select here the kind of valuation related to this payment term line. Note that you should have your last line with the type 'Balance' to ensure that the whole amount will be treated."""),
|
||||||
|
|
||||||
'value_amount': fields.float('Amount To Pay', digits_compute=dp.get_precision('Payment Term'), help="For percent enter a ratio between 0-1."),
|
'value_amount': fields.float('Amount To Pay', digits_compute=dp.get_precision('Payment Term'), help="For percent enter a ratio between 0-1."),
|
||||||
'days': fields.integer('Number of Days', required=True, help="Number of days to add before computation of the day of month." \
|
'days': fields.integer('Number of Days', required=True, help="Number of days to add before computation of the day of month." \
|
||||||
|
@ -313,8 +315,8 @@ class account_account(osv.osv):
|
||||||
cr.execute(request, params)
|
cr.execute(request, params)
|
||||||
_logger.debug('Status: %s',(cr.statusmessage))
|
_logger.debug('Status: %s',(cr.statusmessage))
|
||||||
|
|
||||||
for res in cr.dictfetchall():
|
for row in cr.dictfetchall():
|
||||||
accounts[res['id']] = res
|
accounts[row['id']] = row
|
||||||
|
|
||||||
# consolidate accounts with direct children
|
# consolidate accounts with direct children
|
||||||
children_and_consolidated.reverse()
|
children_and_consolidated.reverse()
|
||||||
|
@ -731,7 +733,7 @@ class account_journal(osv.osv):
|
||||||
'centralisation': fields.boolean('Centralised counterpart', help="Check this box to determine that each entry of this journal won't create a new counterpart but will share the same counterpart. This is used in fiscal year closing."),
|
'centralisation': fields.boolean('Centralised counterpart', help="Check this box to determine that each entry of this journal won't create a new counterpart but will share the same counterpart. This is used in fiscal year closing."),
|
||||||
'update_posted': fields.boolean('Allow Cancelling Entries', help="Check this box if you want to allow the cancellation the entries related to this journal or of the invoice related to this journal"),
|
'update_posted': fields.boolean('Allow Cancelling Entries', help="Check this box if you want to allow the cancellation the entries related to this journal or of the invoice related to this journal"),
|
||||||
'group_invoice_lines': fields.boolean('Group Invoice Lines', help="If this box is checked, the system will try to group the accounting lines when generating them from invoices."),
|
'group_invoice_lines': fields.boolean('Group Invoice Lines', help="If this box is checked, the system will try to group the accounting lines when generating them from invoices."),
|
||||||
'sequence_id': fields.many2one('ir.sequence', 'Entry Sequence', help="This field contains the informatin related to the numbering of the journal entries of this journal.", required=True),
|
'sequence_id': fields.many2one('ir.sequence', 'Entry Sequence', help="This field contains the information related to the numbering of the journal entries of this journal.", required=True),
|
||||||
'user_id': fields.many2one('res.users', 'User', help="The user responsible for this journal"),
|
'user_id': fields.many2one('res.users', 'User', help="The user responsible for this journal"),
|
||||||
'groups_id': fields.many2many('res.groups', 'account_journal_group_rel', 'journal_id', 'group_id', 'Groups'),
|
'groups_id': fields.many2many('res.groups', 'account_journal_group_rel', 'journal_id', 'group_id', 'Groups'),
|
||||||
'currency': fields.many2one('res.currency', 'Currency', help='The currency used to enter statement'),
|
'currency': fields.many2one('res.currency', 'Currency', help='The currency used to enter statement'),
|
||||||
|
@ -1269,7 +1271,7 @@ class account_move(osv.osv):
|
||||||
'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')], 'Status', 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 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.'),
|
||||||
'partner_id': fields.related('line_id', 'partner_id', type="many2one", relation="res.partner", string="Partner", store=True),
|
'partner_id': fields.related('line_id', 'partner_id', type="many2one", relation="res.partner", string="Partner", store=True),
|
||||||
|
@ -2090,7 +2092,7 @@ class account_tax(osv.osv):
|
||||||
tax_compute_precision = precision
|
tax_compute_precision = precision
|
||||||
if taxes and taxes[0].company_id.tax_calculation_rounding_method == 'round_globally':
|
if taxes and taxes[0].company_id.tax_calculation_rounding_method == 'round_globally':
|
||||||
tax_compute_precision += 5
|
tax_compute_precision += 5
|
||||||
totalin = totalex = round(price_unit * quantity, precision)
|
totalin = totalex = float_round(price_unit * quantity, precision)
|
||||||
tin = []
|
tin = []
|
||||||
tex = []
|
tex = []
|
||||||
for tax in taxes:
|
for tax in taxes:
|
||||||
|
|
|
@ -196,7 +196,7 @@
|
||||||
<notebook>
|
<notebook>
|
||||||
<page string="Invoice">
|
<page string="Invoice">
|
||||||
<field context="{'partner_id': partner_id, 'price_type': 'price_type' in dir() and price_type or False, 'type': type}" name="invoice_line">
|
<field context="{'partner_id': partner_id, 'price_type': 'price_type' in dir() and price_type or False, 'type': type}" name="invoice_line">
|
||||||
<tree string="Invoice lines">
|
<tree string="Invoice lines" editable="bottom">
|
||||||
<field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/>
|
<field name="product_id" on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/>
|
||||||
<field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]" name="account_id" on_change="onchange_account_id(product_id,parent.partner_id,parent.type,parent.fiscal_position,account_id)" groups="base.group_account_user"/>
|
<field domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]" name="account_id" on_change="onchange_account_id(product_id,parent.partner_id,parent.type,parent.fiscal_position,account_id)" groups="base.group_account_user"/>
|
||||||
<field name="invoice_line_tax_id" view_mode="2" context="{'type':parent.type}" domain="[('parent_id','=',False)]"/>
|
<field name="invoice_line_tax_id" view_mode="2" context="{'type':parent.type}" domain="[('parent_id','=',False)]"/>
|
||||||
|
@ -344,7 +344,22 @@
|
||||||
<field name="sent" invisible="1"/>
|
<field name="sent" invisible="1"/>
|
||||||
<notebook colspan="4">
|
<notebook colspan="4">
|
||||||
<page string="Invoice Lines">
|
<page string="Invoice Lines">
|
||||||
<field name="invoice_line" nolabel="1" widget="one2many_list" context="{'type': type}"/>
|
<field name="invoice_line" nolabel="1" widget="one2many_list" context="{'type': type}">
|
||||||
|
<tree string="Invoice Lines" editable="bottom">
|
||||||
|
<field name="invoice_line_tax_id" invisible="1"/>
|
||||||
|
<field name="product_id" invisible="1"/>
|
||||||
|
<field name="name"/>
|
||||||
|
<field name="account_id" groups="account.group_account_user"
|
||||||
|
domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '<>', 'view')]"
|
||||||
|
on_change="onchange_account_id(product_id, parent.partner_id, parent.type, parent.fiscal_position,account_id)"/>
|
||||||
|
<field name="quantity"/>
|
||||||
|
<field name="uos_id" groups="product.group_uom"
|
||||||
|
on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/>
|
||||||
|
<field name="price_unit"/>
|
||||||
|
<field name="discount" groups="sale.group_discount_per_so_line"/>
|
||||||
|
<field name="price_subtotal"/>
|
||||||
|
</tree>
|
||||||
|
</field>
|
||||||
<group class="oe_subtotal_footer oe_right">
|
<group class="oe_subtotal_footer oe_right">
|
||||||
<field name="amount_untaxed"/>
|
<field name="amount_untaxed"/>
|
||||||
<div>
|
<div>
|
||||||
|
|
|
@ -2601,7 +2601,7 @@ action = pool.get('res.config').next(cr, uid, [], context)
|
||||||
<h1><field name="name" class="oe_inline" attrs="{'invisible':[('name','=','/')]}"/></h1>
|
<h1><field name="name" class="oe_inline" attrs="{'invisible':[('name','=','/')]}"/></h1>
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
<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" domain="[('type', '=', 'cash')]" />
|
||||||
<field name="user_id" readonly="1" string="Responsible"/>
|
<field name="user_id" readonly="1" string="Responsible"/>
|
||||||
<field name="total_entry_encoding"/>
|
<field name="total_entry_encoding"/>
|
||||||
<field name='company_id' widget="selection" groups="base.group_multi_company" />
|
<field name='company_id' widget="selection" groups="base.group_multi_company" />
|
||||||
|
|
|
@ -45,7 +45,7 @@ class res_company(osv.osv):
|
||||||
_defaults = {
|
_defaults = {
|
||||||
'expects_chart_of_accounts': True,
|
'expects_chart_of_accounts': True,
|
||||||
'tax_calculation_rounding_method': 'round_per_line',
|
'tax_calculation_rounding_method': 'round_per_line',
|
||||||
'overdue_msg': '''Dear Sir, dear Madam,
|
'overdue_msg': '''Dear Sir/Madam,
|
||||||
|
|
||||||
Our records indicate that some payments on your account are still due. Please find details below.
|
Our records indicate that some payments on your account are still due. Please find details below.
|
||||||
If the amount has already been paid, please disregard this notice. Otherwise, please forward us the total amount stated below.
|
If the amount has already been paid, please disregard this notice. Otherwise, please forward us the total amount stated below.
|
||||||
|
|
|
@ -36,7 +36,7 @@ class accounting_report(osv.osv_memory):
|
||||||
'period_to_cmp': fields.many2one('account.period', 'End Period'),
|
'period_to_cmp': fields.many2one('account.period', 'End Period'),
|
||||||
'date_from_cmp': fields.date("Start Date"),
|
'date_from_cmp': fields.date("Start Date"),
|
||||||
'date_to_cmp': fields.date("End Date"),
|
'date_to_cmp': fields.date("End Date"),
|
||||||
'debit_credit': fields.boolean('Display Debit/Credit Columns', help="This option allow you to get more details about your the way your balances are computed. Because it is space consumming, we do not allow to use it while doing a comparison"),
|
'debit_credit': fields.boolean('Display Debit/Credit Columns', help="This option allows you to get more details about the way your balances are computed. Because it is space consuming, we do not allow to use it while doing a comparison."),
|
||||||
}
|
}
|
||||||
|
|
||||||
def _get_account_report(self, cr, uid, context=None):
|
def _get_account_report(self, cr, uid, context=None):
|
||||||
|
|
|
@ -26,7 +26,7 @@ class account_common_journal_report(osv.osv_memory):
|
||||||
_description = 'Account Common Journal Report'
|
_description = 'Account Common Journal Report'
|
||||||
_inherit = "account.common.report"
|
_inherit = "account.common.report"
|
||||||
_columns = {
|
_columns = {
|
||||||
'amount_currency': fields.boolean("With Currency", help="Print Report with the currency column if the currency is different then the company currency"),
|
'amount_currency': fields.boolean("With Currency", help="Print Report with the currency column if the currency differs from the company currency."),
|
||||||
}
|
}
|
||||||
|
|
||||||
def _build_contexts(self, cr, uid, ids, data, context=None):
|
def _build_contexts(self, cr, uid, ids, data, context=None):
|
||||||
|
|
|
@ -30,7 +30,7 @@ class account_report_general_ledger(osv.osv_memory):
|
||||||
'landscape': fields.boolean("Landscape Mode"),
|
'landscape': fields.boolean("Landscape Mode"),
|
||||||
'initial_balance': fields.boolean('Include Initial Balances',
|
'initial_balance': fields.boolean('Include Initial Balances',
|
||||||
help='If you selected to filter by date or period, this field allow you to add a row to display the amount of debit/credit/balance that precedes the filter you\'ve set.'),
|
help='If you selected to filter by date or period, this field allow you to add a row to display the amount of debit/credit/balance that precedes the filter you\'ve set.'),
|
||||||
'amount_currency': fields.boolean("With Currency", help="It adds the currency column if the currency is different then the company currency"),
|
'amount_currency': fields.boolean("With Currency", help="It adds the currency column on report if the currency differs from the company currency."),
|
||||||
'sortby': fields.selection([('sort_date', 'Date'), ('sort_journal_partner', 'Journal & Partner')], 'Sort by', required=True),
|
'sortby': fields.selection([('sort_date', 'Date'), ('sort_journal_partner', 'Journal & Partner')], 'Sort by', required=True),
|
||||||
'journal_ids': fields.many2many('account.journal', 'account_report_general_ledger_journal_rel', 'account_id', 'journal_id', 'Journals', required=True),
|
'journal_ids': fields.many2many('account.journal', 'account_report_general_ledger_journal_rel', 'account_id', 'journal_id', 'Journals', required=True),
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ class account_partner_ledger(osv.osv_memory):
|
||||||
help='If you selected to filter by date or period, this field allow you to add a row to display the amount of debit/credit/balance that precedes the filter you\'ve set.'),
|
help='If you selected to filter by date or period, this field allow you to add a row to display the amount of debit/credit/balance that precedes the filter you\'ve set.'),
|
||||||
'filter': fields.selection([('filter_no', 'No Filters'), ('filter_date', 'Date'), ('filter_period', 'Periods'), ('unreconciled', 'Unreconciled Entries')], "Filter by", required=True),
|
'filter': fields.selection([('filter_no', 'No Filters'), ('filter_date', 'Date'), ('filter_period', 'Periods'), ('unreconciled', 'Unreconciled Entries')], "Filter by", required=True),
|
||||||
'page_split': fields.boolean('One Partner Per Page', help='Display Ledger Report with One partner per page'),
|
'page_split': fields.boolean('One Partner Per Page', help='Display Ledger Report with One partner per page'),
|
||||||
'amount_currency': fields.boolean("With Currency", help="It adds the currency column if the currency is different then the company currency"),
|
'amount_currency': fields.boolean("With Currency", help="It adds the currency column on report if the currency differs from the company currency."),
|
||||||
'journal_ids': fields.many2many('account.journal', 'account_partner_ledger_journal_rel', 'account_id', 'journal_id', 'Journals', required=True),
|
'journal_ids': fields.many2many('account.journal', 'account_partner_ledger_journal_rel', 'account_id', 'journal_id', 'Journals', required=True),
|
||||||
}
|
}
|
||||||
_defaults = {
|
_defaults = {
|
||||||
|
|
|
@ -29,10 +29,10 @@
|
||||||
Accounting Access Rights.
|
Accounting Access Rights.
|
||||||
=========================
|
=========================
|
||||||
|
|
||||||
This module gives the admin user the access to all the accounting features
|
This module gives the Admin user the access to all the accounting features
|
||||||
like the journal items and the chart of accounts.
|
like the journal items and the chart of accounts.
|
||||||
|
|
||||||
It assigns manager and user access rights to the Administrator, and only
|
It assigns manager and user access rights to the Administrator and only
|
||||||
user rights to Demo user.
|
user rights to Demo user.
|
||||||
""",
|
""",
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
|
|
|
@ -1,20 +1,23 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<openerp>
|
<openerp>
|
||||||
<data>
|
<data>
|
||||||
|
|
||||||
<!-- rename root menu "Accounting" -->
|
<!-- rename root menu "Accounting" -->
|
||||||
<record id="account.menu_finance" model="ir.ui.menu">
|
<record id="account.menu_finance" model="ir.ui.menu">
|
||||||
<field name="name">Accounting</field>
|
<field name="name">Accounting</field>
|
||||||
</record>
|
</record>
|
||||||
|
</data>
|
||||||
|
|
||||||
<!--
|
<data noupdate="1">
|
||||||
It's easier for new users to not activate this (ex: they misconfigure
|
<!-- notify all employees of module installation -->
|
||||||
header and footer.)
|
<function model="mail.group" name="message_append_note">
|
||||||
|
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
|
||||||
<record model="ir.actions.report.xml" id="account.account_invoices">
|
<value eval="[ref('mail.group_all_employees')]"/>
|
||||||
<field name="attachment_use">1</field>
|
<value>Module Accounting and Finance has been installed</value>
|
||||||
</record>
|
<value>From the top menu Accounting, manage all of your accounting:
|
||||||
-->
|
general accounting, cost/analytic accounting, third party
|
||||||
|
accounting, taxes, budgets, customer and supplier invoices,
|
||||||
|
bank statements, reconciliation process.
|
||||||
|
</value>
|
||||||
|
</function>
|
||||||
</data>
|
</data>
|
||||||
</openerp>
|
</openerp>
|
||||||
|
|
|
@ -30,7 +30,7 @@ This module is for modifying account analytic view to show important data to pro
|
||||||
|
|
||||||
Adds menu to show relevant information to each manager.
|
Adds menu to show relevant information to each manager.
|
||||||
You can also view the report of account analytic summary
|
You can also view the report of account analytic summary
|
||||||
user-wise as well as month wise.
|
user-wise as well as month-wise.
|
||||||
""",
|
""",
|
||||||
"author": "Camptocamp",
|
"author": "Camptocamp",
|
||||||
"website": "http://www.camptocamp.com/",
|
"website": "http://www.camptocamp.com/",
|
||||||
|
|
|
@ -446,7 +446,7 @@ class account_analytic_account(osv.osv):
|
||||||
help="Computed using the formula: Invoiced Amount - Total Costs.",
|
help="Computed using the formula: Invoiced Amount - Total Costs.",
|
||||||
digits_compute=dp.get_precision('Account')),
|
digits_compute=dp.get_precision('Account')),
|
||||||
'theorical_margin': fields.function(_theorical_margin_calc, type='float', string='Theoretical Margin',
|
'theorical_margin': fields.function(_theorical_margin_calc, type='float', string='Theoretical Margin',
|
||||||
help="Computed using the formula: Theorial Revenue - Total Costs",
|
help="Computed using the formula: Theoretical Revenue - Total Costs",
|
||||||
digits_compute=dp.get_precision('Account')),
|
digits_compute=dp.get_precision('Account')),
|
||||||
'real_margin_rate': fields.function(_real_margin_rate_calc, type='float', string='Real Margin Rate (%)',
|
'real_margin_rate': fields.function(_real_margin_rate_calc, type='float', string='Real Margin Rate (%)',
|
||||||
help="Computes using the formula: (Real Margin / Total Costs) * 100.",
|
help="Computes using the formula: (Real Margin / Total Costs) * 100.",
|
||||||
|
|
|
@ -3,5 +3,3 @@ access_account_analytic_analysis_summary_user_sale,account_analytic_analysis.sum
|
||||||
access_account_analytic_analysis_summary_month_sale,account_analytic_analysis.summary.month sale,model_account_analytic_analysis_summary_month,base.group_sale_salesman,1,0,0,0
|
access_account_analytic_analysis_summary_month_sale,account_analytic_analysis.summary.month sale,model_account_analytic_analysis_summary_month,base.group_sale_salesman,1,0,0,0
|
||||||
access_account_analytic_analysis_summary_user,account_analytic_analysis.summary.user,model_account_analytic_analysis_summary_user,account.group_account_manager,1,0,0,0
|
access_account_analytic_analysis_summary_user,account_analytic_analysis.summary.user,model_account_analytic_analysis_summary_user,account.group_account_manager,1,0,0,0
|
||||||
access_account_analytic_analysis_summary_month,account_analytic_analysis.summary.month,model_account_analytic_analysis_summary_month,account.group_account_manager,1,0,0,0
|
access_account_analytic_analysis_summary_month,account_analytic_analysis.summary.month,model_account_analytic_analysis_summary_month,account.group_account_manager,1,0,0,0
|
||||||
access_account_analytic_analysis_summary_user_project_user,account_analytic_analysis.summary.user project,model_account_analytic_analysis_summary_user,project.group_project_user,1,0,0,0
|
|
||||||
access_account_analytic_analysis_summary_month_project_user,account_analytic_analysis.summary.month project,model_account_analytic_analysis_summary_month,project.group_project_user,1,0,0,0
|
|
||||||
|
|
|
|
@ -23,15 +23,17 @@
|
||||||
'name' : 'Account Analytic Defaults',
|
'name' : 'Account Analytic Defaults',
|
||||||
'version' : '1.0',
|
'version' : '1.0',
|
||||||
"category": 'Accounting & Finance',
|
"category": 'Accounting & Finance',
|
||||||
'description': """Set default values for your analytic accounts
|
'description': """
|
||||||
Allows to automatically select analytic accounts based on criterions:
|
Set default values for your analytic accounts.
|
||||||
=====================================================================
|
=============================================
|
||||||
|
|
||||||
* Product
|
Allows to automatically select analytic accounts based on criterions:
|
||||||
* Partner
|
---------------------------------------------------------------------
|
||||||
* User
|
* Product
|
||||||
* Company
|
* Partner
|
||||||
* Date
|
* User
|
||||||
|
* Company
|
||||||
|
* Date
|
||||||
""",
|
""",
|
||||||
'author' : 'OpenERP SA',
|
'author' : 'OpenERP SA',
|
||||||
'website' : 'http://www.openerp.com',
|
'website' : 'http://www.openerp.com',
|
||||||
|
|
|
@ -30,13 +30,13 @@ class account_analytic_default(osv.osv):
|
||||||
_order = "sequence"
|
_order = "sequence"
|
||||||
_columns = {
|
_columns = {
|
||||||
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of analytic distribution"),
|
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of analytic distribution"),
|
||||||
'analytic_id': fields.many2one('account.analytic.account', 'Analytic Account' , help="Analytical Account"),
|
'analytic_id': fields.many2one('account.analytic.account', 'Analytic Account'),
|
||||||
'product_id': fields.many2one('product.product', 'Product', ondelete='cascade', help="select a product which will use analytical account specified in analytic default (eg. create new cutomer invoice or Sale order if we select this product, it will automatically take this as an analytical account)"),
|
'product_id': fields.many2one('product.product', 'Product', ondelete='cascade', help="Select a product which will use analytic account specified in analytic default (e.g. create new customer invoice or Sale order if we select this product, it will automatically take this as an analytic account)"),
|
||||||
'partner_id': fields.many2one('res.partner', 'Partner', ondelete='cascade', help="select a partner which will use analytical account specified in analytic default (eg. create new cutomer invoice or Sale order if we select this partner, it will automatically take this as an analytical account)"),
|
'partner_id': fields.many2one('res.partner', 'Partner', ondelete='cascade', help="Select a partner which will use analytic account specified in analytic default (e.g. create new customer invoice or Sale order if we select this partner, it will automatically take this as an analytic account)"),
|
||||||
'user_id': fields.many2one('res.users', 'User', ondelete='cascade', help="select a user which will use analytical account specified in analytic default"),
|
'user_id': fields.many2one('res.users', 'User', ondelete='cascade', help="Select a user which will use analytic account specified in analytic default."),
|
||||||
'company_id': fields.many2one('res.company', 'Company', ondelete='cascade', help="select a company which will use analytical account specified in analytic default (eg. create new cutomer invoice or Sale order if we select this company, it will automatically take this as an analytical account)"),
|
'company_id': fields.many2one('res.company', 'Company', ondelete='cascade', help="Select a company which will use analytic account specified in analytic default (e.g. create new customer invoice or Sale order if we select this company, it will automatically take this as an analytic account)"),
|
||||||
'date_start': fields.date('Start Date', help="Default start date for this Analytical Account"),
|
'date_start': fields.date('Start Date', help="Default start date for this Analytic Account."),
|
||||||
'date_stop': fields.date('End Date', help="Default end date for this Analytical Account"),
|
'date_stop': fields.date('End Date', help="Default end date for this Analytic Account."),
|
||||||
}
|
}
|
||||||
|
|
||||||
def account_get(self, cr, uid, product_id=None, partner_id=None, user_id=None, date=None, context=None):
|
def account_get(self, cr, uid, product_id=None, partner_id=None, user_id=None, date=None, context=None):
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
'version': '1.0',
|
'version': '1.0',
|
||||||
'category': 'Accounting & Finance',
|
'category': 'Accounting & Finance',
|
||||||
'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.
|
||||||
===================================================================================
|
===================================================================================
|
||||||
|
|
||||||
Here multiple analytic lines are created when the invoice or the entries
|
Here multiple analytic lines are created when the invoice or the entries
|
||||||
|
@ -55,6 +55,7 @@ Plan2:
|
||||||
|
|
||||||
So when this line of invoice will be confirmed, it will generate 3 analytic lines,
|
So when this line of invoice will be confirmed, it will generate 3 analytic lines,
|
||||||
for one account entry.
|
for one account entry.
|
||||||
|
|
||||||
The analytic plan validates the minimum and maximum percentage at the time of creation
|
The analytic plan validates the minimum and maximum percentage at the time of creation
|
||||||
of distribution models.
|
of distribution models.
|
||||||
""",
|
""",
|
||||||
|
|
|
@ -27,15 +27,18 @@
|
||||||
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.
|
||||||
=====================================================================================================================
|
=====================================================================================================================
|
||||||
|
|
||||||
The difference between the Anglo-Saxon accounting countries
|
The difference between the Anglo-Saxon accounting countries and the Rhine (or also called
|
||||||
and the Rhine or also called Continental accounting countries is the moment of taking the Cost of Goods Sold versus Cost of Sales.
|
Continental accounting) countries is the moment of taking the Cost of Goods Sold versus
|
||||||
Anglo-Saxons accounting does take the cost when sales invoice is created, Continental accounting will take the cost at the moment the goods are shipped.
|
Cost of Sales. Anglo-Saxons accounting does take the cost when sales invoice is created,
|
||||||
This module will add this functionality by using a interim account, to store the value of shipped goods and will contra book this interim account
|
Continental accounting will take the cost at the moment the goods are shipped.
|
||||||
when the invoice is created to transfer this amount to the debtor or creditor account.
|
|
||||||
Secondly, price differences between actual purchase price and fixed product standard price are booked on a separate account""",
|
This module will add this functionality by using a interim account, to store the value of
|
||||||
|
shipped goods and will contra book this interim account when the invoice is created to
|
||||||
|
transfer this amount to the debtor or creditor account. Secondly, price differences between
|
||||||
|
actual purchase price and fixed product standard price are booked on a separate account.""",
|
||||||
"images": ["images/account_anglo_saxon.jpeg"],
|
"images": ["images/account_anglo_saxon.jpeg"],
|
||||||
"depends": ["product", "purchase"],
|
"depends": ["product", "purchase"],
|
||||||
"category": "Hidden/Dependency",
|
"category": "Accounting & Finance",
|
||||||
"init_xml": [],
|
"init_xml": [],
|
||||||
"demo_xml": [],
|
"demo_xml": [],
|
||||||
"update_xml": ["product_view.xml",],
|
"update_xml": ["product_view.xml",],
|
||||||
|
|
|
@ -24,9 +24,13 @@
|
||||||
"version" : "1.0",
|
"version" : "1.0",
|
||||||
"depends" : ["account"],
|
"depends" : ["account"],
|
||||||
"author" : "OpenERP S.A.",
|
"author" : "OpenERP S.A.",
|
||||||
"description": """Financial and accounting asset management.
|
"description": """
|
||||||
This Module manages the assets owned by a company or an individual. It will keep track of depreciation's occurred on
|
Financial and accounting asset management.
|
||||||
those assets. And it allows to create Move's of the depreciation lines.
|
==========================================
|
||||||
|
|
||||||
|
This Module manages the assets owned by a company or an individual. It will keep track of depreciation's occurred on those assets.
|
||||||
|
And it allows to create Move's of the depreciation lines.
|
||||||
|
|
||||||
""",
|
""",
|
||||||
"website" : "http://www.openerp.com",
|
"website" : "http://www.openerp.com",
|
||||||
"category" : "Accounting & Finance",
|
"category" : "Accounting & Finance",
|
||||||
|
|
|
@ -20,22 +20,23 @@
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
{
|
{
|
||||||
'name': 'Bank Statement extensions to support e-banking',
|
'name': 'Bank Statement Extensions to Support e-banking',
|
||||||
'version': '0.3',
|
'version': '0.3',
|
||||||
'license': 'AGPL-3',
|
'license': 'AGPL-3',
|
||||||
'author': 'Noviat',
|
'author': 'Noviat',
|
||||||
'category': 'Generic Modules/Accounting',
|
'category': 'Generic Modules/Accounting',
|
||||||
'description': '''
|
'description': '''
|
||||||
Module that extends the standard account_bank_statement_line object for improved e-banking support.
|
Module that extends the standard account_bank_statement_line object for improved e-banking support.
|
||||||
|
===================================================================================================
|
||||||
|
|
||||||
Adds
|
This module adds:
|
||||||
- valuta date
|
- valuta date
|
||||||
- batch payments
|
- batch payments
|
||||||
- traceability of changes to bank statement lines
|
- traceability of changes to bank statement lines
|
||||||
- bank statement line views
|
- bank statement line views
|
||||||
- bank statements balances report
|
- bank statements balances report
|
||||||
- performance improvements for digital import of bank statement (via 'ebanking_import' context flag)
|
- performance improvements for digital import of bank statement (via 'ebanking_import' context flag)
|
||||||
- name_search on res.partner.bank enhanced to allow search on bank and iban account numbers
|
- name_search on res.partner.bank enhanced to allow search on bank and iban account numbers
|
||||||
''',
|
''',
|
||||||
'depends': ['account'],
|
'depends': ['account'],
|
||||||
'demo_xml': [],
|
'demo_xml': [],
|
||||||
|
|
|
@ -28,21 +28,20 @@
|
||||||
This module allows accountants to manage analytic and crossovered budgets.
|
This module allows accountants to manage analytic and crossovered budgets.
|
||||||
==========================================================================
|
==========================================================================
|
||||||
|
|
||||||
Once the Master Budgets and the Budgets are defined (in Accounting/Budgets/),
|
Once the Budgets are defined (in Invoicing/Budgets/Budgets), the Project Managers
|
||||||
the Project Managers can set the planned amount on each Analytic Account.
|
can set the planned amount on each Analytic Account.
|
||||||
|
|
||||||
The accountant has the possibility to see the total of amount planned for each
|
The accountant has the possibility to see the total of amount planned for each
|
||||||
Budget and Master Budget in order to ensure the total planned is not
|
Budget in order to ensure the total planned is not greater/lower than what he planned
|
||||||
greater/lower than what he planned for this Budget/Master Budget. Each list of
|
for this Budget. Each list of record can also be switched to a graphical view of it.
|
||||||
record can also be switched to a graphical view of it.
|
|
||||||
|
|
||||||
Three reports are available:
|
Three reports are available:
|
||||||
1. The first is available from a list of Budgets. It gives the spreading, for these Budgets, of the Analytic Accounts per Master Budgets.
|
|
||||||
|
1. The first is available from a list of Budgets. It gives the spreading, for these Budgets, of the Analytic Accounts.
|
||||||
|
|
||||||
2. The second is a summary of the previous one, it only gives the spreading, for the selected Budgets, of the Analytic Accounts.
|
2. The second is a summary of the previous one, it only gives the spreading, for the selected Budgets, of the Analytic Accounts.
|
||||||
|
|
||||||
3. The last one is available from the Analytic Chart of Accounts. It gives the spreading, for the selected Analytic Accounts, of the Master Budgets per Budgets.
|
3. The last one is available from the Analytic Chart of Accounts. It gives the spreading, for the selected Analytic Accounts of Budgets.
|
||||||
|
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
|
|
|
@ -28,7 +28,8 @@
|
||||||
Allows cancelling accounting entries.
|
Allows cancelling accounting entries.
|
||||||
=====================================
|
=====================================
|
||||||
|
|
||||||
This module adds 'Allow cancelling entries' field on form view of account journal. If set to true it allows user to cancel entries & invoices.
|
This module adds 'Allow Cancelling Entries' field on form view of account journal.
|
||||||
|
If set to true it allows user to cancel entries & invoices.
|
||||||
""",
|
""",
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
"images" : ["images/account_cancel.jpeg"],
|
"images" : ["images/account_cancel.jpeg"],
|
||||||
|
|
|
@ -19,12 +19,12 @@
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
{
|
{
|
||||||
"name" : "Check writing",
|
"name" : "Check Writing",
|
||||||
"version" : "1.1",
|
"version" : "1.1",
|
||||||
"author" : "OpenERP SA, NovaPoint Group",
|
"author" : "OpenERP SA, NovaPoint Group",
|
||||||
"category": "Generic Modules/Accounting",
|
"category": "Generic Modules/Accounting",
|
||||||
"description": """
|
"description": """
|
||||||
Module for the Check writing and check printing
|
Module for the Check Writing and Check Printing.
|
||||||
""",
|
""",
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
'init_xml': [],
|
'init_xml': [],
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#
|
#
|
||||||
##############################################################################
|
##############################################################################
|
||||||
{
|
{
|
||||||
"name": 'Belgium - Import bank CODA statements',
|
"name": 'Belgium - Import Bank CODA Statements',
|
||||||
"version": '2.1',
|
"version": '2.1',
|
||||||
"author": 'Noviat',
|
"author": 'Noviat',
|
||||||
"category": 'Accounting & Finance',
|
"category": 'Accounting & Finance',
|
||||||
|
@ -29,37 +29,40 @@ Module to import CODA bank statements.
|
||||||
======================================
|
======================================
|
||||||
|
|
||||||
Supported are CODA flat files in V2 format from Belgian bank accounts.
|
Supported are CODA flat files in V2 format from Belgian bank accounts.
|
||||||
* CODA v1 support.
|
* CODA v1 support.
|
||||||
* CODA v2.2 support.
|
* CODA v2.2 support.
|
||||||
* Foreign Currency support.
|
* Foreign Currency support.
|
||||||
* Support for all data record types (0, 1, 2, 3, 4, 8, 9).
|
* Support for all data record types (0, 1, 2, 3, 4, 8, 9).
|
||||||
* Parsing & logging of all Transaction Codes and Structured Format Communications.
|
* Parsing & logging of all Transaction Codes and Structured Format Communications.
|
||||||
* Automatic Financial Journal assignment via CODA configuration parameters.
|
* Automatic Financial Journal assignment via CODA configuration parameters.
|
||||||
* Support for multiple Journals per Bank Account Number.
|
* Support for multiple Journals per Bank Account Number.
|
||||||
* Support for multiple statements from different bank accounts in a single CODA file.
|
* Support for multiple statements from different bank accounts in a single CODA file.
|
||||||
* Support for 'parsing only' CODA Bank Accounts (defined as type='info' in the CODA Bank Account configuration records).
|
* Support for 'parsing only' CODA Bank Accounts (defined as type='info' in the CODA Bank Account configuration records).
|
||||||
* Multi-language CODA parsing, parsing configuration data provided for EN, NL, FR.
|
* Multi-language CODA parsing, parsing configuration data provided for EN, NL, FR.
|
||||||
|
|
||||||
The machine readable CODA Files are parsed and stored in human readable format in CODA Bank Statements.
|
The machine readable CODA Files are parsed and stored in human readable format in
|
||||||
Also Bank Statements are generated containing a subset of the CODA information (only those transaction lines
|
CODA Bank Statements. Also Bank Statements are generated containing a subset of
|
||||||
that are required for the creation of the Financial Accounting records).
|
the CODA information (only those transaction lines that are required for the creation
|
||||||
The CODA Bank Statement is a 'read-only' object, hence remaining a reliable representation of the original CODA file
|
of the Financial Accounting records). The CODA Bank Statement is a 'read-only'
|
||||||
whereas the Bank Statement will get modified as required by accounting business processes.
|
object, hence remaining a reliable representation of the original CODA file whereas
|
||||||
|
the Bank Statement will get modified as required by accounting business processes.
|
||||||
|
|
||||||
CODA Bank Accounts configured as type 'Info' will only generate CODA Bank Statements.
|
CODA Bank Accounts configured as type 'Info' will only generate CODA Bank Statements.
|
||||||
|
|
||||||
A removal of one object in the CODA processing results in the removal of the associated objects.
|
A removal of one object in the CODA processing results in the removal of the associated
|
||||||
The removal of a CODA File containing multiple Bank Statements will also remove those associated
|
objects. The removal of a CODA File containing multiple Bank Statements will also
|
||||||
statements.
|
remove those associated statements.
|
||||||
|
|
||||||
The following reconciliation logic has been implemented in the CODA processing:
|
The following reconciliation logic has been implemented in the CODA processing:
|
||||||
|
|
||||||
1) The Company's Bank Account Number of the CODA statement is compared against the Bank Account Number field of the Company's CODA Bank Account configuration records (whereby bank accounts defined in type='info' configuration records are ignored). If this is the case an 'internal transfer' transaction is generated using the 'Internal Transfer Account' field of the CODA File Import wizard.
|
1) The Company's Bank Account Number of the CODA statement is compared against the Bank Account Number field of the Company's CODA Bank Account configuration records (whereby bank accounts defined in type='info' configuration records are ignored). If this is the case an 'internal transfer' transaction is generated using the 'Internal Transfer Account' field of the CODA File Import wizard.
|
||||||
2) As a second step the 'Structured Communication' field of the CODA transaction line is matched against the reference field of in- and outgoing invoices (supported : Belgian Structured Communication Type).
|
2) As a second step the 'Structured Communication' field of the CODA transaction line is matched against the reference field of in- and outgoing invoices (supported : Belgian Structured Communication Type).
|
||||||
3) When the previous step doesn't find a match, the transaction counterparty is located via the Bank Account Number configured on the OpenERP Customer and Supplier records.
|
3) When the previous step doesn't find a match, the transaction counterparty is located via the Bank Account Number configured on the OpenERP Customer and Supplier records.
|
||||||
4) In case the previous steps are not successful, the transaction is generated by using the 'Default Account for Unrecognized Movement' field of the CODA File Import wizard in order to allow further manual processing.
|
4) In case the previous steps are not successful, the transaction is generated by using the 'Default Account for Unrecognized Movement' field of the CODA File Import wizard in order to allow further manual processing.
|
||||||
|
|
||||||
In stead of a manual adjustment of the generated Bank Statements, you can also re-import the CODA
|
In stead of a manual adjustment of the generated Bank Statements, you can also
|
||||||
after updating the OpenERP database with the information that was missing to allow automatic reconciliation.
|
re-import the CODA after updating the OpenERP database with the information that
|
||||||
|
was missing to allow automatic reconciliation.
|
||||||
|
|
||||||
Remark on CODA V1 support:
|
Remark on CODA V1 support:
|
||||||
In some cases a transaction code, transaction category or structured communication code has been given a new or clearer description in CODA V2.
|
In some cases a transaction code, transaction category or structured communication code has been given a new or clearer description in CODA V2.
|
||||||
|
|
|
@ -28,17 +28,22 @@ Module to automate letters for unpaid invoices, with multi-level recalls.
|
||||||
==========================================================================
|
==========================================================================
|
||||||
|
|
||||||
You can define your multiple levels of recall through the menu:
|
You can define your multiple levels of recall through the menu:
|
||||||
Accounting/Configuration/Miscellaneous/Follow-ups
|
|
||||||
|
|
||||||
Once it is defined, you can automatically print recalls every day through simply clicking on the menu:
|
Invoicing/Configuration/Miscellaneous/Follow-ups
|
||||||
Accounting/Periodical Processing/Billing/Send follow-ups
|
|
||||||
|
|
||||||
It will generate a PDF with all the letters according to the the
|
Once it is defined, you can automatically print recalls every day through simply
|
||||||
different levels of recall defined. You can define different policies
|
clicking on the menu:
|
||||||
for different companies. You can also send mail to the customer.
|
|
||||||
|
|
||||||
Note that if you want to check the follow-up level for a given partner/account entry, you can do from in the menu:
|
Invoicing/Periodical Processing/Billing/Send follow-ups
|
||||||
Accounting/Reporting/Generic Reporting/Partners/Follow-ups Sent
|
|
||||||
|
It will generate a PDF with all the letters according to the the different levels
|
||||||
|
of recall defined. You can define different policies for different companies. You
|
||||||
|
can also send mail to the customer.
|
||||||
|
|
||||||
|
Note that if you want to check the follow-up level for a given partner/account
|
||||||
|
entry, you can do from in the menu:
|
||||||
|
|
||||||
|
Invoicing/Reporting/Generic Reporting/Partners/Follow-ups Sent
|
||||||
|
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
|
|
|
@ -29,8 +29,8 @@ Module to manage the payment of your supplier invoices.
|
||||||
=======================================================
|
=======================================================
|
||||||
|
|
||||||
This module allows you to create and manage your payment orders, with purposes to
|
This module allows you to create and manage your payment orders, with purposes to
|
||||||
* serve as base for an easy plug-in of various automated payment mechanisms.
|
* serve as base for an easy plug-in of various automated payment mechanisms.
|
||||||
* provide a more efficient way to manage invoice payment.
|
* provide a more efficient way to manage invoice payment.
|
||||||
|
|
||||||
Warning:
|
Warning:
|
||||||
--------
|
--------
|
||||||
|
|
|
@ -25,11 +25,12 @@
|
||||||
"author" : 'OpenERP SA',
|
"author" : 'OpenERP SA',
|
||||||
"summary": 'Supplier & Customer Invoices, Payments',
|
"summary": 'Supplier & Customer Invoices, Payments',
|
||||||
"description": """
|
"description": """
|
||||||
Account Voucher module includes all the basic requirements of Voucher Entries for Bank, Cash, Sales, Purchase, Expanse, Contra, etc.
|
eInvoicing & Payments module manage all Voucher Entries such as "Reconciliation Entries", "Adjustment Entries", "Closing or Opening Entries" for Sales, Purchase, Bank, Cash, Expense, Contra.
|
||||||
====================================================================================================================================
|
==============================================================================================================================================================================================
|
||||||
|
|
||||||
* Voucher Entry
|
* Voucher Entry
|
||||||
* Voucher Receipt
|
* Voucher Receipt [Sales & Purchase]
|
||||||
|
* Voucher Payment [Customer & Supplier]
|
||||||
* Cheque Register
|
* Cheque Register
|
||||||
""",
|
""",
|
||||||
"category": 'Accounting & Finance',
|
"category": 'Accounting & Finance',
|
||||||
|
@ -37,7 +38,9 @@ Account Voucher module includes all the basic requirements of Voucher Entries fo
|
||||||
"website" : "http://tinyerp.com",
|
"website" : "http://tinyerp.com",
|
||||||
"images" : ["images/customer_payment.jpeg","images/journal_voucher.jpeg","images/sales_receipt.jpeg","images/supplier_voucher.jpeg"],
|
"images" : ["images/customer_payment.jpeg","images/journal_voucher.jpeg","images/sales_receipt.jpeg","images/supplier_voucher.jpeg"],
|
||||||
"depends" : ["account"],
|
"depends" : ["account"],
|
||||||
"init_xml" : [],
|
"init_xml" : [
|
||||||
|
'account_voucher_data.xml',
|
||||||
|
],
|
||||||
|
|
||||||
"demo_xml" : [],
|
"demo_xml" : [],
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<openerp>
|
||||||
|
<data noupdate="1">
|
||||||
|
<!-- notify all employees of module installation -->
|
||||||
|
<function model="mail.group" name="message_append_note">
|
||||||
|
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
|
||||||
|
<value eval="[ref('mail.group_all_employees')]"/>
|
||||||
|
<value>Module eInvoicing & Payments has been installed</value>
|
||||||
|
<value>From the top menu Invoicing, manage your customer and supplier
|
||||||
|
invoices. You can also manage refunds, receipts and register
|
||||||
|
payments.
|
||||||
|
|
||||||
|
In order to manage all accounting features (journal items,
|
||||||
|
chart of accounts, etc), you should install the module
|
||||||
|
"Accounting and Finance".
|
||||||
|
</value>
|
||||||
|
</function>
|
||||||
|
</data>
|
||||||
|
</openerp>
|
|
@ -31,7 +31,7 @@ Module for defining analytic accounting object.
|
||||||
===============================================
|
===============================================
|
||||||
|
|
||||||
In OpenERP, analytic accounts are linked to general accounts but are treated
|
In OpenERP, analytic accounts are linked to general accounts but are treated
|
||||||
totally independently. So you can enter various different analytic operations
|
totally independently. So, you can enter various different analytic operations
|
||||||
that have no counterpart in the general financial accounts.
|
that have no counterpart in the general financial accounts.
|
||||||
""",
|
""",
|
||||||
"init_xml" : [],
|
"init_xml" : [],
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
'category': 'Hidden',
|
'category': 'Hidden',
|
||||||
'description': """
|
'description': """
|
||||||
This module is for modifying project view to show some data related to the hr_expense module.
|
This module is for modifying project view to show some data related to the hr_expense module.
|
||||||
======================================================================================================
|
|
||||||
|
|
||||||
""",
|
""",
|
||||||
"author": "OpenERP S.A.",
|
"author": "OpenERP S.A.",
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
'category': 'Hidden',
|
'category': 'Hidden',
|
||||||
'description': """
|
'description': """
|
||||||
This module is for modifying account analytic view to show some data related to the hr_expense module.
|
This module is for modifying account analytic view to show some data related to the hr_expense module.
|
||||||
======================================================================================================
|
|
||||||
|
|
||||||
""",
|
""",
|
||||||
"author": "OpenERP S.A.",
|
"author": "OpenERP S.A.",
|
||||||
|
|
|
@ -20,14 +20,14 @@
|
||||||
##############################################################################
|
##############################################################################
|
||||||
|
|
||||||
{
|
{
|
||||||
"name" : "Contract On Project",
|
"name" : "Contract on Project",
|
||||||
"version": "1.1",
|
"version": "1.1",
|
||||||
"author" : "OpenERP SA",
|
"author" : "OpenERP SA",
|
||||||
'category': 'Hidden',
|
'category': 'Hidden',
|
||||||
"website" : "http://www.openerp.com",
|
"website" : "http://www.openerp.com",
|
||||||
"depends" : ["project", "account_analytic_analysis"],
|
"depends" : ["project", "account_analytic_analysis"],
|
||||||
"description": """
|
"description": """
|
||||||
Add "Contract Data" in project view.
|
Add "Contract Data" in project view.
|
||||||
""",
|
""",
|
||||||
"init_xml" : [],
|
"init_xml" : [],
|
||||||
"update_xml": ["analytic_contract_project_view.xml"],
|
"update_xml": ["analytic_contract_project_view.xml"],
|
||||||
|
|
|
@ -78,6 +78,7 @@ class task(osv.osv):
|
||||||
def create(self, cr, uid, vals, context=None):
|
def create(self, cr, uid, vals, context=None):
|
||||||
task_id = super(task, self).create(cr, uid, vals, context=context)
|
task_id = super(task, self).create(cr, uid, vals, context=context)
|
||||||
task_browse = self.browse(cr, uid, task_id, context=context)
|
task_browse = self.browse(cr, uid, task_id, context=context)
|
||||||
self.pool.get('account.analytic.account').message_append_note(cr, uid, [task_browse.project_id.analytic_account_id.id], body=_("Task <em>%s</em> has been <b>created</b>.") % (task_browse.name), context=context)
|
if task_browse.project_id.analytic_account_id:
|
||||||
|
self.pool.get('account.analytic.account').message_append_note(cr, uid, [task_browse.project_id.analytic_account_id.id], body=_("Task <em>%s</em> has been <b>created</b>.") % (task_browse.name), context=context)
|
||||||
return task_id
|
return task_id
|
||||||
task()
|
task()
|
||||||
|
|
|
@ -28,9 +28,13 @@
|
||||||
This module allows you to define what is the default function of a specific user on a given account.
|
This module allows you to define what is the default function of a specific user on a given account.
|
||||||
====================================================================================================
|
====================================================================================================
|
||||||
|
|
||||||
This is mostly used when a user encodes his timesheet: the values are retrieved and the fields are auto-filled. But the possibility to change these values is still available.
|
This is mostly used when a user encodes his timesheet: the values are retrieved
|
||||||
|
and the fields are auto-filled. But the possibility to change these values is
|
||||||
|
still available.
|
||||||
|
|
||||||
Obviously if no data has been recorded for the current account, the default value is given as usual by the employee data so that this module is perfectly compatible with older configurations.
|
Obviously if no data has been recorded for the current account, the default
|
||||||
|
value is given as usual by the employee data so that this module is perfectly
|
||||||
|
compatible with older configurations.
|
||||||
|
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
|
|
|
@ -30,7 +30,7 @@ This module allows you to anonymize a database.
|
||||||
===============================================
|
===============================================
|
||||||
|
|
||||||
This module allows you to keep your data confidential for a given database.
|
This module allows you to keep your data confidential for a given database.
|
||||||
This process is useful if you want to use the migration process and protect
|
This process is useful, if you want to use the migration process and protect
|
||||||
your own or your customer’s confidential data. The principle is that you run
|
your own or your customer’s confidential data. The principle is that you run
|
||||||
an anonymization tool which will hide your confidential data(they are replaced
|
an anonymization tool which will hide your confidential data(they are replaced
|
||||||
by ‘XXX’ characters). Then you can send the anonymized database to the migration
|
by ‘XXX’ characters). Then you can send the anonymized database to the migration
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
{
|
{
|
||||||
'name': 'Anonymous',
|
'name': 'Anonymous',
|
||||||
'description': 'Allow anonymous access to OpenERP',
|
'description': 'Allow anonymous access to OpenERP.',
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'version': '1.0',
|
'version': '1.0',
|
||||||
'category': 'Tools',
|
'category': 'Tools',
|
||||||
|
|
|
@ -4,10 +4,12 @@
|
||||||
<templates id="template" xml:space="preserve">
|
<templates id="template" xml:space="preserve">
|
||||||
|
|
||||||
<t t-name="UserMenu.anonymous">
|
<t t-name="UserMenu.anonymous">
|
||||||
|
<div>
|
||||||
<a href="#" class="oe_user_menu oe_topbar_item oe_topbar_anonymous_login">
|
<a href="#" class="oe_user_menu oe_topbar_item oe_topbar_anonymous_login">
|
||||||
<img class="oe_topbar_avatar" t-att-src="_s + '/web/static/src/img/icons/gtk-dialog-authentication.png'"/>
|
<img class="oe_topbar_avatar" t-att-src="_s + '/web/static/src/img/icons/gtk-dialog-authentication.png'"/>
|
||||||
Login
|
Login
|
||||||
</a>
|
</a>
|
||||||
|
</div>
|
||||||
</t>
|
</t>
|
||||||
|
|
||||||
</templates>
|
</templates>
|
||||||
|
|
|
@ -28,7 +28,8 @@
|
||||||
This module is to configure modules related to an association.
|
This module is to configure modules related to an association.
|
||||||
==============================================================
|
==============================================================
|
||||||
|
|
||||||
It installs the profile for associations to manage events, registrations, memberships, membership products (schemes), etc.
|
It installs the profile for associations to manage events, registrations, memberships,
|
||||||
|
membership products (schemes).
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'depends': ['base_setup', 'membership', 'event'],
|
'depends': ['base_setup', 'membership', 'event'],
|
||||||
|
|
|
@ -28,8 +28,8 @@
|
||||||
This module lets administrator track every user operation on all the objects of the system.
|
This module lets administrator track every user operation on all the objects of the system.
|
||||||
===========================================================================================
|
===========================================================================================
|
||||||
|
|
||||||
The administrator can subscribe to rules for read, write and
|
The administrator can subscribe to rules for read, write and delete on objects
|
||||||
delete on objects and can check logs.
|
and can check logs.
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
|
|
|
@ -0,0 +1,113 @@
|
||||||
|
# Norwegian Bokmal translation for openobject-addons
|
||||||
|
# Copyright (c) 2012 Rosetta Contributors and Canonical Ltd 2012
|
||||||
|
# This file is distributed under the same license as the openobject-addons package.
|
||||||
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2012.
|
||||||
|
#
|
||||||
|
msgid ""
|
||||||
|
msgstr ""
|
||||||
|
"Project-Id-Version: openobject-addons\n"
|
||||||
|
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"POT-Creation-Date: 2012-02-08 01:37+0100\n"
|
||||||
|
"PO-Revision-Date: 2012-07-25 09:59+0000\n"
|
||||||
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
|
"Language-Team: Norwegian Bokmal <nb@li.org>\n"
|
||||||
|
"MIME-Version: 1.0\n"
|
||||||
|
"Content-Type: text/plain; charset=UTF-8\n"
|
||||||
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"X-Launchpad-Export-Date: 2012-07-26 04:39+0000\n"
|
||||||
|
"X-Generator: Launchpad (build 15679)\n"
|
||||||
|
|
||||||
|
#. #-#-#-#-# auth_openid.pot (OpenERP Server 6.1rc1) #-#-#-#-#
|
||||||
|
#. module: auth_openid
|
||||||
|
#. #-#-#-#-# auth_openid.pot.web (PROJECT VERSION) #-#-#-#-#
|
||||||
|
#. openerp-web
|
||||||
|
#: view:res.users:0
|
||||||
|
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:12
|
||||||
|
msgid "OpenID"
|
||||||
|
msgstr "ÅpenID"
|
||||||
|
|
||||||
|
#. #-#-#-#-# auth_openid.pot (OpenERP Server 6.1rc1) #-#-#-#-#
|
||||||
|
#. module: auth_openid
|
||||||
|
#. #-#-#-#-# auth_openid.pot.web (PROJECT VERSION) #-#-#-#-#
|
||||||
|
#. openerp-web
|
||||||
|
#: field:res.users,openid_url:0
|
||||||
|
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:47
|
||||||
|
msgid "OpenID URL"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: auth_openid
|
||||||
|
#: help:res.users,openid_email:0
|
||||||
|
msgid "Used for disambiguation in case of a shared OpenID URL"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: auth_openid
|
||||||
|
#: sql_constraint:res.users:0
|
||||||
|
msgid "You can not have two users with the same login !"
|
||||||
|
msgstr "Du kan ikke ha to brukere med samme login !"
|
||||||
|
|
||||||
|
#. module: auth_openid
|
||||||
|
#: field:res.users,openid_email:0
|
||||||
|
msgid "OpenID Email"
|
||||||
|
msgstr "OpenID epost"
|
||||||
|
|
||||||
|
#. module: auth_openid
|
||||||
|
#: constraint:res.users:0
|
||||||
|
msgid "The chosen company is not in the allowed companies for this user"
|
||||||
|
msgstr ""
|
||||||
|
"Det valgte firmaet er ikke i listen over tillatte firmaer for denne brukeren"
|
||||||
|
|
||||||
|
#. module: auth_openid
|
||||||
|
#: field:res.users,openid_key:0
|
||||||
|
msgid "OpenID Key"
|
||||||
|
msgstr ""
|
||||||
|
|
||||||
|
#. module: auth_openid
|
||||||
|
#: model:ir.model,name:auth_openid.model_res_users
|
||||||
|
msgid "res.users"
|
||||||
|
msgstr "res.users"
|
||||||
|
|
||||||
|
#. openerp-web
|
||||||
|
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:8
|
||||||
|
msgid "Password"
|
||||||
|
msgstr "Passord"
|
||||||
|
|
||||||
|
#. openerp-web
|
||||||
|
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:9
|
||||||
|
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:10
|
||||||
|
msgid "Google"
|
||||||
|
msgstr "Google"
|
||||||
|
|
||||||
|
#. openerp-web
|
||||||
|
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:10
|
||||||
|
msgid "Google Apps"
|
||||||
|
msgstr "Google Apps"
|
||||||
|
|
||||||
|
#. openerp-web
|
||||||
|
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:11
|
||||||
|
msgid "Launchpad"
|
||||||
|
msgstr "Launchpad"
|
||||||
|
|
||||||
|
#. openerp-web
|
||||||
|
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:20
|
||||||
|
msgid "Google Apps Domain:"
|
||||||
|
msgstr "Google Apps domene:"
|
||||||
|
|
||||||
|
#. openerp-web
|
||||||
|
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:24
|
||||||
|
msgid "Username:"
|
||||||
|
msgstr "Brukernavn:"
|
||||||
|
|
||||||
|
#. openerp-web
|
||||||
|
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:28
|
||||||
|
msgid "OpenID URL:"
|
||||||
|
msgstr "OpenID URL:"
|
||||||
|
|
||||||
|
#. openerp-web
|
||||||
|
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:35
|
||||||
|
msgid "Google Apps Domain"
|
||||||
|
msgstr "Google Apps domene"
|
||||||
|
|
||||||
|
#. openerp-web
|
||||||
|
#: /home/odo/repositories/addons/trunk/auth_openid/static/src/xml/auth_openid.xml:41
|
||||||
|
msgid "Username"
|
||||||
|
msgstr "Brukernavn"
|
|
@ -29,7 +29,7 @@ This module allows to implement action rules for any object.
|
||||||
|
|
||||||
Use automated actions to automatically trigger actions for various screens.
|
Use automated actions to automatically trigger actions for various screens.
|
||||||
|
|
||||||
Example: a lead created by a specific user may be automatically set to a specific
|
Example: A lead created by a specific user may be automatically set to a specific
|
||||||
sales team, or an opportunity which still has status pending after 14 days might
|
sales team, or an opportunity which still has status pending after 14 days might
|
||||||
trigger an automatic reminder email.
|
trigger an automatic reminder email.
|
||||||
""",
|
""",
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
{
|
{
|
||||||
"name": "Calendar Layer",
|
"name": "Calendar Layer",
|
||||||
"version": "1.0",
|
"version": "1.0",
|
||||||
"depends": ["base", "base_status", "mail"],
|
"depends": ["base", "base_status", "mail", "base_action_rule"],
|
||||||
'description': """
|
'description': """
|
||||||
This is a full-featured calendar system.
|
This is a full-featured calendar system.
|
||||||
========================================
|
========================================
|
||||||
|
|
|
@ -941,16 +941,19 @@ class calendar_event(osv.osv):
|
||||||
duration = 1.00
|
duration = 1.00
|
||||||
value['duration'] = duration
|
value['duration'] = duration
|
||||||
|
|
||||||
if allday: # For all day event
|
|
||||||
value = {'duration': 24.0}
|
|
||||||
duration = 24.0
|
|
||||||
if start_date:
|
|
||||||
start = datetime.strptime(start_date, "%Y-%m-%d %H:%M:%S")
|
|
||||||
start_date = datetime.strftime(datetime(start.year, start.month, start.day, 0,0,0), "%Y-%m-%d %H:%M:%S")
|
|
||||||
value['date'] = start_date
|
|
||||||
|
|
||||||
|
|
||||||
start = datetime.strptime(start_date, "%Y-%m-%d %H:%M:%S")
|
start = datetime.strptime(start_date, "%Y-%m-%d %H:%M:%S")
|
||||||
|
if allday: # For all day event
|
||||||
|
duration = 24.0
|
||||||
|
value['duration'] = duration
|
||||||
|
# change start_date's time to 00:00:00 in the user's timezone
|
||||||
|
user = self.pool.get('res.users').browse(cr, uid, uid)
|
||||||
|
tz = pytz.timezone(user.context_tz) if user.context_tz else pytz.utc
|
||||||
|
start = pytz.utc.localize(start).astimezone(tz) # convert start in user's timezone
|
||||||
|
start = start.replace(hour=0, minute=0, second=0) # change start's time to 00:00:00
|
||||||
|
start = start.astimezone(pytz.utc) # convert start back to utc
|
||||||
|
start_date = start.strftime("%Y-%m-%d %H:%M:%S")
|
||||||
|
value['date'] = start_date
|
||||||
|
|
||||||
if end_date and not duration:
|
if end_date and not duration:
|
||||||
end = datetime.strptime(end_date, "%Y-%m-%d %H:%M:%S")
|
end = datetime.strptime(end_date, "%Y-%m-%d %H:%M:%S")
|
||||||
diff = end - start
|
diff = end - start
|
||||||
|
@ -1025,8 +1028,8 @@ class calendar_event(osv.osv):
|
||||||
'id': fields.integer('ID', readonly=True),
|
'id': fields.integer('ID', readonly=True),
|
||||||
'sequence': fields.integer('Sequence'),
|
'sequence': fields.integer('Sequence'),
|
||||||
'name': fields.char('Description', size=64, required=False, states={'done': [('readonly', True)]}),
|
'name': fields.char('Description', size=64, required=False, states={'done': [('readonly', True)]}),
|
||||||
'date': fields.datetime('Date', states={'done': [('readonly', True)]}),
|
'date': fields.datetime('Date', states={'done': [('readonly', True)]}, required=True,),
|
||||||
'date_deadline': fields.datetime('Deadline', states={'done': [('readonly', True)]}),
|
'date_deadline': fields.datetime('Deadline', states={'done': [('readonly', True)]}, required=True,),
|
||||||
'create_date': fields.datetime('Created', readonly=True),
|
'create_date': fields.datetime('Created', readonly=True),
|
||||||
'duration': fields.float('Duration', states={'done': [('readonly', True)]}),
|
'duration': fields.float('Duration', states={'done': [('readonly', True)]}),
|
||||||
'description': fields.text('Description', states={'done': [('readonly', True)]}),
|
'description': fields.text('Description', states={'done': [('readonly', True)]}),
|
||||||
|
|
|
@ -136,7 +136,7 @@
|
||||||
|
|
||||||
<!-- Calenadar's menu -->
|
<!-- Calenadar's menu -->
|
||||||
<menuitem id="base.menu_calendar_configuration" name="Calendar"
|
<menuitem id="base.menu_calendar_configuration" name="Calendar"
|
||||||
parent="base.menu_base_config" sequence="50" groups="base.group_sale_manager" />
|
parent="base.menu_base_config" sequence="50" groups="base.group_no_one"/>
|
||||||
|
|
||||||
<!-- Invitation menu -->
|
<!-- Invitation menu -->
|
||||||
|
|
||||||
|
|
|
@ -26,35 +26,34 @@
|
||||||
"website" : "http://www.openerp.com",
|
"website" : "http://www.openerp.com",
|
||||||
"category" : "Tools",
|
"category" : "Tools",
|
||||||
"description": """
|
"description": """
|
||||||
Replaces cleartext passwords in the database with a secure hash
|
Replaces cleartext passwords in the database with a secure hash.
|
||||||
===============================================================
|
================================================================
|
||||||
For your existing user base, the removal of the cleartext
|
|
||||||
passwords occurs immediately when you instal base_crypt.
|
|
||||||
|
|
||||||
All passwords will be replaced by a secure, salted, cryptographic
|
For your existing user base, the removal of the cleartext passwords occurs
|
||||||
hash, preventing anyone from reading the original password in
|
immediately when you instal base_crypt.
|
||||||
the database.
|
|
||||||
|
|
||||||
After installing this module it won't be possible to recover a
|
All passwords will be replaced by a secure, salted, cryptographic hash,
|
||||||
forgotten password for your users, the only solution is for an
|
preventing anyone from reading the original password in the database.
|
||||||
admin to set a new password.
|
|
||||||
|
|
||||||
Security Warning
|
After installing this module, it won't be possible to recover a forgotten password
|
||||||
++++++++++++++++
|
for your users, the only solution is for an admin to set a new password.
|
||||||
|
|
||||||
|
Security Warning:
|
||||||
|
-----------------
|
||||||
Installing this module does not mean you can ignore other security measures,
|
Installing this module does not mean you can ignore other security measures,
|
||||||
as the password is still transmitted unencrypted on the network, unless you
|
as the password is still transmitted unencrypted on the network, unless you
|
||||||
are using a secure protocol such as XML-RPCS or HTTPS.
|
are using a secure protocol such as XML-RPCS or HTTPS.
|
||||||
|
|
||||||
It also does not protect the rest of the content of the database, which may
|
It also does not protect the rest of the content of the database, which may
|
||||||
contain critical data. Appropriate security measures need to be implemented
|
contain critical data. Appropriate security measures need to be implemented
|
||||||
by the system administrator in all areas, such as: protection of database
|
by the system administrator in all areas, such as: protection of database
|
||||||
backups, system files, remote shell access, physical server access, etc.
|
backups, system files, remote shell access, physical server access.
|
||||||
|
|
||||||
Interation with LDAP authentication
|
Interation with LDAP authentication:
|
||||||
+++++++++++++++++++++++++++++++++++
|
------------------------------------
|
||||||
This module is currently not compatible with the ``user_ldap`` module and
|
This module is currently not compatible with the ``user_ldap`` module and
|
||||||
will disable LDAP authentication completely if installed at the same time.
|
will disable LDAP authentication completely if installed at the same time.
|
||||||
|
""",
|
||||||
""",
|
|
||||||
"depends" : ["base"],
|
"depends" : ["base"],
|
||||||
"data" : [],
|
"data" : [],
|
||||||
"auto_install": False,
|
"auto_install": False,
|
||||||
|
|
|
@ -23,10 +23,11 @@
|
||||||
'version': '1.0',
|
'version': '1.0',
|
||||||
"category": 'Hidden/Dependency',
|
"category": 'Hidden/Dependency',
|
||||||
'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 it's validity.
|
||||||
=====================================================================================================================
|
=====================================================================================================================
|
||||||
|
|
||||||
The ability to extract the correctly represented local accounts from IBAN accounts with a single statement.
|
The ability to extract the correctly represented local accounts from IBAN accounts
|
||||||
|
with a single statement.
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
|
|
|
@ -28,19 +28,18 @@
|
||||||
This module allows you to create a new module without any development.
|
This module allows you to create a new module without any development.
|
||||||
======================================================================
|
======================================================================
|
||||||
|
|
||||||
It records all operations on objects during the recording session and
|
It records all operations on objects during the recording session and produce a
|
||||||
produce a .ZIP module. So you can create your own module directly from
|
.ZIP module. So you can create your own module directly from the OpenERP client.
|
||||||
the OpenERP client.
|
|
||||||
|
|
||||||
This version works for creating and updating existing records. It recomputes
|
This version works for creating and updating existing records. It recomputes
|
||||||
dependencies and links for all types of widgets (many2one, many2many, ...).
|
dependencies and links for all types of widgets (many2one, many2many, ...).
|
||||||
It also support workflows and demo/update data.
|
It also support workflows and demo/update data.
|
||||||
|
|
||||||
This should help you to easily create reusable and publishable modules
|
This should help you to easily create reusable and publishable modules for custom
|
||||||
for custom configurations and demo/testing data.
|
configurations and demo/testing data.
|
||||||
|
|
||||||
How to use it:
|
How to use it?:
|
||||||
Run Administration/Customization/Module Creation/Export Customizations As a Module wizard.
|
Run Settings/Technical/Module Creation/Export Customizations As a Module wizard.
|
||||||
Select datetime criteria of recording and objects to be recorded and Record module.
|
Select datetime criteria of recording and objects to be recorded and Record module.
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
|
|
|
@ -28,9 +28,8 @@
|
||||||
This module is used along with OpenERP OpenOffice Plugin.
|
This module is used along with OpenERP OpenOffice Plugin.
|
||||||
=========================================================
|
=========================================================
|
||||||
|
|
||||||
This module adds wizards to Import/Export .sxw report that
|
This module adds wizards to Import/Export .sxw report that you can modify in OpenOffice.
|
||||||
you can modify in OpenOffice. Once you have modified it you can
|
Once you have modified it you can upload the report using the same wizard.
|
||||||
upload the report using the same wizard.
|
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
|
|
|
@ -174,7 +174,7 @@ class Fields(unohelper.Base, XJobExecutor ):
|
||||||
|
|
||||||
self.win.doModalDialog("lstFields",self.sValue)
|
self.win.doModalDialog("lstFields",self.sValue)
|
||||||
else:
|
else:
|
||||||
ErrorDialog("Please insert user define field Field-1 or Field-4","Just go to File->Properties->User Define \nField-1 Eg. http://localhost:8069 \nOR \nField-4 Eg. account.invoice")
|
ErrorDialog("Please insert user define field Field-1 or Field-4","Just go to File->Properties->User Define \nField-1 E.g. http://localhost:8069 \nOR \nField-4 E.g. account.invoice")
|
||||||
self.win.endExecute()
|
self.win.endExecute()
|
||||||
|
|
||||||
def lstbox_selected(self,oItemEvent):
|
def lstbox_selected(self,oItemEvent):
|
||||||
|
|
|
@ -154,7 +154,7 @@ class AddLang(unohelper.Base, XJobExecutor ):
|
||||||
|
|
||||||
self.win.doModalDialog("lstFields",self.sValue)
|
self.win.doModalDialog("lstFields",self.sValue)
|
||||||
else:
|
else:
|
||||||
ErrorDialog("Please insert user define field Field-1 or Field-4","Just go to File->Properties->User Define \nField-1 Eg. http://localhost:8069 \nOR \nField-4 Eg. account.invoice")
|
ErrorDialog("Please insert user define field Field-1 or Field-4","Just go to File->Properties->User Define \nField-1 E.g. http://localhost:8069 \nOR \nField-4 E.g. account.invoice")
|
||||||
self.win.endExecute()
|
self.win.endExecute()
|
||||||
|
|
||||||
def lstbox_selected(self,oItemEvent):
|
def lstbox_selected(self,oItemEvent):
|
||||||
|
|
|
@ -77,7 +77,7 @@ class modify(unohelper.Base, XJobExecutor ):
|
||||||
ErrorDialog(
|
ErrorDialog(
|
||||||
"Please insert user define field Field-1",
|
"Please insert user define field Field-1",
|
||||||
"Just go to File->Properties->User Define \n"
|
"Just go to File->Properties->User Define \n"
|
||||||
"Field-1 Eg. http://localhost:8069"
|
"Field-1 E.g. http://localhost:8069"
|
||||||
)
|
)
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
|
@ -108,9 +108,9 @@ class modify(unohelper.Base, XJobExecutor ):
|
||||||
ErrorDialog(
|
ErrorDialog(
|
||||||
"Please insert user define field Field-1 or Field-4",
|
"Please insert user define field Field-1 or Field-4",
|
||||||
"Just go to File->Properties->User Define \n"
|
"Just go to File->Properties->User Define \n"
|
||||||
"Field-1 Eg. http://localhost:8069 \n"
|
"Field-1 E.g. http://localhost:8069 \n"
|
||||||
"OR \n"
|
"OR \n"
|
||||||
"Field-4 Eg. account.invoice"
|
"Field-4 E.g. account.invoice"
|
||||||
)
|
)
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
|
|
|
@ -33,13 +33,18 @@ Shows you a list of applications features to install from.
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
'depends': ['base'],
|
'depends': ['base', 'web_kanban'],
|
||||||
'init_xml': [],
|
'data': [
|
||||||
'update_xml': ['security/ir.model.access.csv', 'base_setup_views.xml', 'res_config_view.xml'],
|
'security/ir.model.access.csv',
|
||||||
'demo_xml': [],
|
'base_setup_views.xml',
|
||||||
|
'res_config_view.xml',
|
||||||
|
'res_partner_view.xml',
|
||||||
|
],
|
||||||
|
'demo': [],
|
||||||
'installable': True,
|
'installable': True,
|
||||||
'auto_install': False,
|
'auto_install': False,
|
||||||
'certificate': '0086711085869',
|
'certificate': '0086711085869',
|
||||||
'images': ['images/base_setup1.jpeg','images/base_setup2.jpeg','images/base_setup3.jpeg','images/base_setup4.jpeg',],
|
'images': ['images/base_setup1.jpeg','images/base_setup2.jpeg','images/base_setup3.jpeg','images/base_setup4.jpeg',],
|
||||||
|
'js': ['static/src/js/base_setup.js'],
|
||||||
}
|
}
|
||||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||||
|
|
|
@ -0,0 +1,19 @@
|
||||||
|
<openerp>
|
||||||
|
<data>
|
||||||
|
|
||||||
|
<!-- Add partner categories in partner kanban view -->
|
||||||
|
<record id="res_partner_kanban_view" model="ir.ui.view">
|
||||||
|
<field name="name">res.partner.kanban.inherit</field>
|
||||||
|
<field name="model">res.partner</field>
|
||||||
|
<field name="inherit_id" ref="base.res_partner_kanban_view"/>
|
||||||
|
<field name="arch" type="xml">
|
||||||
|
<xpath expr="//div[@class='oe_kanban_partner_categories']" position="inside">
|
||||||
|
<t t-foreach="record.category_id.raw_value" t-as="category">
|
||||||
|
<span class="oe_tag" t-att-data-category_id="category"/>
|
||||||
|
</t>
|
||||||
|
</xpath>
|
||||||
|
</field>
|
||||||
|
</record>
|
||||||
|
|
||||||
|
</data>
|
||||||
|
</openerp>
|
|
@ -0,0 +1,24 @@
|
||||||
|
openerp.base_setup = function(openerp) {
|
||||||
|
/* extend kanban to include the names of partner categories in the kanban view of partners */
|
||||||
|
openerp.web_kanban.KanbanView.include({
|
||||||
|
on_groups_started: function() {
|
||||||
|
var self = this;
|
||||||
|
self._super.apply(this, arguments);
|
||||||
|
if (this.dataset.model === 'res.partner') {
|
||||||
|
/* Set names for partner categories */
|
||||||
|
var category_ids = [];
|
||||||
|
this.$element.find('.oe_kanban_partner_categories span').each(function() {
|
||||||
|
category_ids.push($(this).data('category_id'));
|
||||||
|
});
|
||||||
|
var dataset = new openerp.web.DataSetSearch(this, 'res.partner.category', self.session.context);
|
||||||
|
dataset.name_get(_.uniq(category_ids)).then(function(result) {
|
||||||
|
_.each(result, function(value) {
|
||||||
|
self.$element
|
||||||
|
.find('.oe_kanban_partner_categories span[data-category_id=' + value[0] + ']')
|
||||||
|
.html(value[1]);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
};
|
|
@ -26,6 +26,7 @@
|
||||||
'description': """
|
'description': """
|
||||||
This module handles state and stage. It is derived from the crm_base and
|
This module handles state and stage. It is derived from the crm_base and
|
||||||
crm_case classes from crm.
|
crm_case classes from crm.
|
||||||
|
========================================================================
|
||||||
|
|
||||||
* ``base_state``: state management
|
* ``base_state``: state management
|
||||||
* ``base_stage``: stage management
|
* ``base_stage``: stage management
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
Common base for tools modules.
|
Common base for tools modules.
|
||||||
==============================
|
==============================
|
||||||
|
|
||||||
Creates menu link for Tools from where tools like survey, lunch, idea, etc. are accessible if installed.
|
Creates menu link for Tools from where tools like survey, lunch, idea are accessible if installed.
|
||||||
""",
|
""",
|
||||||
"init_xml": [],
|
"init_xml": [],
|
||||||
"update_xml": [
|
"update_xml": [
|
||||||
|
|
|
@ -24,8 +24,8 @@
|
||||||
'version': '1.0',
|
'version': '1.0',
|
||||||
"category": 'Hidden/Dependency',
|
"category": 'Hidden/Dependency',
|
||||||
'description': """
|
'description': """
|
||||||
VAT validation for Partners' VAT numbers
|
VAT validation for Partner's VAT numbers.
|
||||||
========================================
|
=========================================
|
||||||
|
|
||||||
After installing this module, values entered in the VAT field of Partners will
|
After installing this module, values entered in the VAT field of Partners will
|
||||||
be validated for all supported countries. The country is inferred from the
|
be validated for all supported countries. The country is inferred from the
|
||||||
|
@ -50,7 +50,6 @@ There are two different levels of VAT number validation:
|
||||||
Supported countries currently include EU countries, and a few non-EU countries
|
Supported countries currently include EU countries, and a few non-EU countries
|
||||||
such as Chile, Colombia, Mexico, Norway or Russia. For unsupported countries,
|
such as Chile, Colombia, Mexico, Norway or Russia. For unsupported countries,
|
||||||
only the country code will be validated.
|
only the country code will be validated.
|
||||||
|
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'depends': ['account'],
|
'depends': ['account'],
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
|
|
||||||
|
|
||||||
{
|
{
|
||||||
"name": "Share Calendar using CalDAV",
|
"name": "Share Calendar Using CalDAV",
|
||||||
"version": "1.1",
|
"version": "1.1",
|
||||||
"depends": [
|
"depends": [
|
||||||
"base",
|
"base",
|
||||||
|
|
|
@ -31,7 +31,8 @@ The generic OpenERP Customer Relationship Management.
|
||||||
=====================================================
|
=====================================================
|
||||||
|
|
||||||
This system enables a group of people to intelligently and efficiently manage
|
This system enables a group of people to intelligently and efficiently manage
|
||||||
leads, opportunities, meeting, phonecall etc.
|
leads, opportunities, meeting, phonecall.
|
||||||
|
|
||||||
It manages key tasks such as communication, identification, prioritization,
|
It manages key tasks such as communication, identification, prioritization,
|
||||||
assignment, resolution and notification.
|
assignment, resolution and notification.
|
||||||
|
|
||||||
|
@ -42,16 +43,19 @@ specific methods and lots of other actions based on your own enterprise rules.
|
||||||
The greatest thing about this system is that users don't need to do anything
|
The greatest thing about this system is that users don't need to do anything
|
||||||
special. They can just send email to the request tracker. OpenERP will take
|
special. They can just send email to the request tracker. OpenERP will take
|
||||||
care of thanking them for their message, automatically routing it to the
|
care of thanking them for their message, automatically routing it to the
|
||||||
appropriate staff, and make sure all future correspondence gets to the right
|
appropriate staff and make sure all future correspondence gets to the right
|
||||||
place.
|
place.
|
||||||
|
|
||||||
The CRM module has a email gateway for the synchronisation interface
|
The CRM module has a email gateway for the synchronisation interface
|
||||||
between mails and OpenERP.
|
between mails and OpenERP.
|
||||||
|
|
||||||
Creates a dashboard for CRM that includes:
|
Creates a dashboard for CRM that includes:
|
||||||
* Opportunities by Categories (graph)
|
------------------------------------------
|
||||||
* Opportunities by Stage (graph)
|
* List of New Leads
|
||||||
|
* List of My Opportunities
|
||||||
|
* List of My Next Meetings
|
||||||
* Planned Revenue by Stage and User (graph)
|
* Planned Revenue by Stage and User (graph)
|
||||||
|
* Opportunities by Stage (graph)
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
|
|
|
@ -110,7 +110,7 @@ class crm_case_section(osv.osv):
|
||||||
'active': fields.boolean('Active', help="If the active field is set to "\
|
'active': fields.boolean('Active', help="If the active field is set to "\
|
||||||
"true, it will allow you to hide the sales team without removing it."),
|
"true, it will allow you to hide the sales team without removing it."),
|
||||||
'allow_unlink': fields.boolean('Allow Delete', help="Allows to delete non draft cases"),
|
'allow_unlink': fields.boolean('Allow Delete', help="Allows to delete non draft cases"),
|
||||||
'change_responsible': fields.boolean('Reassign Escalated', help="When escalating to this team override the saleman with the team leader."),
|
'change_responsible': fields.boolean('Reassign Escalated', help="When escalating to this team override the salesman with the team leader."),
|
||||||
'user_id': fields.many2one('res.users', 'Team Leader'),
|
'user_id': fields.many2one('res.users', 'Team Leader'),
|
||||||
'member_ids':fields.many2many('res.users', 'sale_member_rel', 'section_id', 'member_id', 'Team Members'),
|
'member_ids':fields.many2many('res.users', 'sale_member_rel', 'section_id', 'member_id', 'Team Members'),
|
||||||
'reply_to': fields.char('Reply-To', size=64, help="The email address put in the 'Reply-To' of all emails sent by OpenERP about cases in this sales team"),
|
'reply_to': fields.char('Reply-To', size=64, help="The email address put in the 'Reply-To' of all emails sent by OpenERP about cases in this sales team"),
|
||||||
|
|
|
@ -17,5 +17,27 @@
|
||||||
<field name="name">Sales Department</field>
|
<field name="name">Sales Department</field>
|
||||||
<field name="code">Sales</field>
|
<field name="code">Sales</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
<!-- notify all employees of module installation -->
|
||||||
|
<function model="mail.group" name="message_append_note">
|
||||||
|
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
|
||||||
|
<value eval="[ref('mail.group_all_employees')]"/>
|
||||||
|
<value>Module CRM has been installed</value>
|
||||||
|
<value>From the top menu Sales, manage your sales pipeline: leads,
|
||||||
|
opportunities, meetings, phone calls, and customers. OpenERP
|
||||||
|
ensures that all cases are successfully tracked by all parties.
|
||||||
|
It can automatically send reminders, escalate requests, trigger
|
||||||
|
specific methods and lots of other actions based on your own
|
||||||
|
enterprise rules.
|
||||||
|
|
||||||
|
In the Sales settings, you can configure an email gateway to
|
||||||
|
automatically create leads from messages sent on a particular
|
||||||
|
email address.
|
||||||
|
|
||||||
|
To manage quotations and sale orders, install the module "Sales
|
||||||
|
Management". With this module, you will be able to create
|
||||||
|
quotations directly from opportunities.
|
||||||
|
</value>
|
||||||
|
</function>
|
||||||
</data>
|
</data>
|
||||||
</openerp>
|
</openerp>
|
||||||
|
|
|
@ -201,7 +201,7 @@ class crm_lead(base_stage, osv.osv):
|
||||||
'email_cc': fields.text('Global CC', size=252 , help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"),
|
'email_cc': fields.text('Global CC', size=252 , help="These email addresses will be added to the CC field of all inbound and outbound emails for this record before being sent. Separate multiple email addresses with a comma"),
|
||||||
'description': fields.text('Notes'),
|
'description': fields.text('Notes'),
|
||||||
'write_date': fields.datetime('Update Date' , readonly=True),
|
'write_date': fields.datetime('Update Date' , readonly=True),
|
||||||
'categ_id': fields.many2one('crm.case.categ', 'Category', \
|
'categ_ids': fields.many2many('crm.case.categ', 'crm_lead_category_rel', 'lead_id', 'category_id', 'Categories', \
|
||||||
domain="['|',('section_id','=',section_id),('section_id','=',False), ('object_id.model', '=', 'crm.lead')]"),
|
domain="['|',('section_id','=',section_id),('section_id','=',False), ('object_id.model', '=', 'crm.lead')]"),
|
||||||
'type_id': fields.many2one('crm.case.resource.type', 'Campaign', \
|
'type_id': fields.many2one('crm.case.resource.type', 'Campaign', \
|
||||||
domain="['|',('section_id','=',section_id),('section_id','=',False)]", help="From which campaign (seminar, marketing campaign, mass mailing, ...) did this contact come from?"),
|
domain="['|',('section_id','=',section_id),('section_id','=',False)]", help="From which campaign (seminar, marketing campaign, mass mailing, ...) did this contact come from?"),
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field eval="'(392) 895-7917'" name="mobile"/>
|
<field eval="'(392) 895-7917'" name="mobile"/>
|
||||||
<field eval="1" name="active"/>
|
<field eval="1" name="active"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor2"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor2')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead1"/>
|
<field name="stage_id" ref="crm.stage_lead1"/>
|
||||||
<field eval="'Interest in Your New Product'" name="name"/>
|
<field eval="'Interest in Your New Product'" name="name"/>
|
||||||
<field eval="'(956) 293-2595'" name="phone"/>
|
<field eval="'(956) 293-2595'" name="phone"/>
|
||||||
|
@ -56,7 +56,7 @@
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field eval="'(820) 167-3208'" name="mobile"/>
|
<field eval="'(820) 167-3208'" name="mobile"/>
|
||||||
<field eval="1" name="active"/>
|
<field eval="1" name="active"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor4"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor4')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead1"/>
|
<field name="stage_id" ref="crm.stage_lead1"/>
|
||||||
<field eval="'Need Info about Web Design'" name="name"/>
|
<field eval="'Need Info about Web Design'" name="name"/>
|
||||||
<field eval="'(079) 681-2139'" name="phone"/>
|
<field eval="'(079) 681-2139'" name="phone"/>
|
||||||
|
@ -91,7 +91,7 @@
|
||||||
<field name="section_id" ref="crm.section_sales_marketing_department"/>
|
<field name="section_id" ref="crm.section_sales_marketing_department"/>
|
||||||
<field eval="'(333) 715-1450'" name="mobile"/>
|
<field eval="'(333) 715-1450'" name="mobile"/>
|
||||||
<field eval="1" name="active"/>
|
<field eval="1" name="active"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor1"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor1')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead1"/>
|
<field name="stage_id" ref="crm.stage_lead1"/>
|
||||||
<field eval="'Need a Quotation for PC1'" name="name"/>
|
<field eval="'Need a Quotation for PC1'" name="name"/>
|
||||||
<field eval="'(855) 924-4364'" name="phone"/>
|
<field eval="'(855) 924-4364'" name="phone"/>
|
||||||
|
@ -111,7 +111,7 @@
|
||||||
<field name="country_id" ref="base.it"/>
|
<field name="country_id" ref="base.it"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field eval="'(468) 017-2684'" name="mobile"/>
|
<field eval="'(468) 017-2684'" name="mobile"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor8"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor8')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead1"/>
|
<field name="stage_id" ref="crm.stage_lead1"/>
|
||||||
<field eval="'Need Info about your Services'" name="name"/>
|
<field eval="'Need Info about your Services'" name="name"/>
|
||||||
<field eval="'(373) 907-1009'" name="phone"/>
|
<field eval="'(373) 907-1009'" name="phone"/>
|
||||||
|
@ -130,7 +130,7 @@
|
||||||
<field name="country_id" ref="base.ua"/>
|
<field name="country_id" ref="base.ua"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field eval="'(463) 014-1208'" name="mobile"/>
|
<field eval="'(463) 014-1208'" name="mobile"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor4"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor4')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead1"/>
|
<field name="stage_id" ref="crm.stage_lead1"/>
|
||||||
<field eval="'Info about Your Company ?'" name="name"/>
|
<field eval="'Info about Your Company ?'" name="name"/>
|
||||||
<field eval="'(282) 603-7489'" name="phone"/>
|
<field eval="'(282) 603-7489'" name="phone"/>
|
||||||
|
@ -143,7 +143,7 @@
|
||||||
<field name="user_id" ref="base.user_demo"/>
|
<field name="user_id" ref="base.user_demo"/>
|
||||||
<field eval="'Survey'" name="name"/>
|
<field eval="'Survey'" name="name"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor6"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor6')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead1"/>
|
<field name="stage_id" ref="crm.stage_lead1"/>
|
||||||
<field eval="'Survey Expert'" name="partner_name"/>
|
<field eval="'Survey Expert'" name="partner_name"/>
|
||||||
<field eval="'John Smith'" name="contact_name"/>
|
<field eval="'John Smith'" name="contact_name"/>
|
||||||
|
@ -161,7 +161,7 @@
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field eval="'Partnership'" name="name"/>
|
<field eval="'Partnership'" name="name"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor5"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor5')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead1"/>
|
<field name="stage_id" ref="crm.stage_lead1"/>
|
||||||
<field eval="'Marketing Business'" name="partner_name"/>
|
<field eval="'Marketing Business'" name="partner_name"/>
|
||||||
<field eval="'Laure Smith'" name="contact_name"/>
|
<field eval="'Laure Smith'" name="contact_name"/>
|
||||||
|
@ -189,7 +189,7 @@
|
||||||
<field name="user_id" ref="base.user_demo"/>
|
<field name="user_id" ref="base.user_demo"/>
|
||||||
<field eval="'Need Info about Onsite Intervention'" name="name"/>
|
<field eval="'Need Info about Onsite Intervention'" name="name"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor3"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor3')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead1"/>
|
<field name="stage_id" ref="crm.stage_lead1"/>
|
||||||
<field eval="'Agrolait'" name="partner_name"/>
|
<field eval="'Agrolait'" name="partner_name"/>
|
||||||
<field eval="'Sylvie Lelitre'" name="contact_name"/>
|
<field eval="'Sylvie Lelitre'" name="contact_name"/>
|
||||||
|
@ -202,7 +202,7 @@
|
||||||
<field name="user_id" ref="base.user_demo"/>
|
<field name="user_id" ref="base.user_demo"/>
|
||||||
<field eval="'Need Quotation for 100 PC and 100 Keyboards'" name="name"/>
|
<field eval="'Need Quotation for 100 PC and 100 Keyboards'" name="name"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor1"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor1')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead1"/>
|
<field name="stage_id" ref="crm.stage_lead1"/>
|
||||||
<field eval="'Centrale d\'achats 1'" name="partner_name"/>
|
<field eval="'Centrale d\'achats 1'" name="partner_name"/>
|
||||||
</record>
|
</record>
|
||||||
|
@ -234,7 +234,7 @@
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field eval="'150000'" name="planned_revenue"/>
|
<field eval="'150000'" name="planned_revenue"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor1"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor1')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead4"/>
|
<field name="stage_id" ref="crm.stage_lead4"/>
|
||||||
<field eval="'Plan to buy 200 PC2'" name="name"/>
|
<field eval="'Plan to buy 200 PC2'" name="name"/>
|
||||||
<field eval="'Conf call with purchase manager'" name="title_action"/>
|
<field eval="'Conf call with purchase manager'" name="title_action"/>
|
||||||
|
@ -249,7 +249,7 @@
|
||||||
<field eval="45000.0" name="planned_revenue"/>
|
<field eval="45000.0" name="planned_revenue"/>
|
||||||
<field eval="35" name="probability"/>
|
<field eval="35" name="probability"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor3"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor3')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||||
<field eval="'Pricing Information of Onsite Intervention'" name="name"/>
|
<field eval="'Pricing Information of Onsite Intervention'" name="name"/>
|
||||||
<field eval="'Send price list regarding our interventions'" name="title_action"/>
|
<field eval="'Send price list regarding our interventions'" name="title_action"/>
|
||||||
|
@ -271,7 +271,7 @@
|
||||||
<field eval="30000.0" name="planned_revenue"/>
|
<field eval="30000.0" name="planned_revenue"/>
|
||||||
<field eval="30" name="probability"/>
|
<field eval="30" name="probability"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor3"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor3')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||||
<field eval="'Interest in your Kitchen Design Project'" name="name"/>
|
<field eval="'Interest in your Kitchen Design Project'" name="name"/>
|
||||||
<field eval="'Send Catalogue by Email'" name="title_action"/>
|
<field eval="'Send Catalogue by Email'" name="title_action"/>
|
||||||
|
@ -345,7 +345,7 @@
|
||||||
<field eval="2500.0" name="planned_revenue"/>
|
<field eval="2500.0" name="planned_revenue"/>
|
||||||
<field eval="25" name="probability"/>
|
<field eval="25" name="probability"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor6"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor6')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||||
<field eval="'Plan train our students on your product'" name="name"/>
|
<field eval="'Plan train our students on your product'" name="name"/>
|
||||||
<field eval="'Call to define real needs about training'" name="title_action"/>
|
<field eval="'Call to define real needs about training'" name="title_action"/>
|
||||||
|
@ -368,7 +368,7 @@
|
||||||
<field eval="462.0" name="planned_revenue"/>
|
<field eval="462.0" name="planned_revenue"/>
|
||||||
<field eval="40" name="probability"/>
|
<field eval="40" name="probability"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor2"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor2')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||||
<field eval="'Plan to buy 66 keyboards and 66 mouses'" name="name"/>
|
<field eval="'Plan to buy 66 keyboards and 66 mouses'" name="name"/>
|
||||||
<field eval="'Propose the kit keyboard+mouse'" name="title_action"/>
|
<field eval="'Propose the kit keyboard+mouse'" name="title_action"/>
|
||||||
|
@ -391,7 +391,7 @@
|
||||||
<field eval="55000.0" name="planned_revenue"/>
|
<field eval="55000.0" name="planned_revenue"/>
|
||||||
<field eval="90" name="probability"/>
|
<field eval="90" name="probability"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor7"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor7')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead6"/>
|
<field name="stage_id" ref="crm.stage_lead6"/>
|
||||||
<field eval="'Need 20 Days of Consultancy'" name="name"/>
|
<field eval="'Need 20 Days of Consultancy'" name="name"/>
|
||||||
<field eval="time.strftime('%Y-%m-%d')" name="date_deadline"/>
|
<field eval="time.strftime('%Y-%m-%d')" name="date_deadline"/>
|
||||||
|
@ -407,7 +407,7 @@
|
||||||
<field name="user_id" ref="base.user_demo"/>
|
<field name="user_id" ref="base.user_demo"/>
|
||||||
<field eval="45000.0" name="planned_revenue"/>
|
<field eval="45000.0" name="planned_revenue"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor5"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor5')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead5"/>
|
<field name="stage_id" ref="crm.stage_lead5"/>
|
||||||
<field eval="'Need a new design for my website'" name="name"/>
|
<field eval="'Need a new design for my website'" name="name"/>
|
||||||
<field eval="time.strftime('%Y-05-01')" name="date_action"/>
|
<field eval="time.strftime('%Y-05-01')" name="date_action"/>
|
||||||
|
@ -429,7 +429,7 @@
|
||||||
<field name="user_id" ref="base.user_demo"/>
|
<field name="user_id" ref="base.user_demo"/>
|
||||||
<field eval="42000.0" name="planned_revenue"/>
|
<field eval="42000.0" name="planned_revenue"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor2"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor2')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead8"/>
|
<field name="stage_id" ref="crm.stage_lead8"/>
|
||||||
<field eval="'Want to subscribe to your online solution'" name="name"/>
|
<field eval="'Want to subscribe to your online solution'" name="name"/>
|
||||||
</record>
|
</record>
|
||||||
|
@ -442,7 +442,7 @@
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field eval="25000.0" name="planned_revenue"/>
|
<field eval="25000.0" name="planned_revenue"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor6"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor6')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead8"/>
|
<field name="stage_id" ref="crm.stage_lead8"/>
|
||||||
<field eval="'Interest in your Partnership Contract'" name="name"/>
|
<field eval="'Interest in your Partnership Contract'" name="name"/>
|
||||||
</record>
|
</record>
|
||||||
|
@ -456,7 +456,7 @@
|
||||||
<field eval="5000" name="planned_revenue"/>
|
<field eval="5000" name="planned_revenue"/>
|
||||||
<field eval="30" name="probability"/>
|
<field eval="30" name="probability"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor2"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor2')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead3"/>
|
<field name="stage_id" ref="crm.stage_lead3"/>
|
||||||
<field eval="'Plan to attend a training'" name="name"/>
|
<field eval="'Plan to attend a training'" name="name"/>
|
||||||
<field eval="time.strftime('%Y-04-10')" name="date_action"/>
|
<field eval="time.strftime('%Y-04-10')" name="date_action"/>
|
||||||
|
@ -478,7 +478,7 @@
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field eval="'150000'" name="planned_revenue"/>
|
<field eval="'150000'" name="planned_revenue"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor1"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor1')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead4"/>
|
<field name="stage_id" ref="crm.stage_lead4"/>
|
||||||
<field eval="'Need to customize the solution'" name="name"/>
|
<field eval="'Need to customize the solution'" name="name"/>
|
||||||
<field eval="'Conf call with technical service'" name="title_action"/>
|
<field eval="'Conf call with technical service'" name="title_action"/>
|
||||||
|
@ -499,7 +499,7 @@
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field eval="'1200'" name="planned_revenue"/>
|
<field eval="'1200'" name="planned_revenue"/>
|
||||||
<field name="section_id" ref="crm.section_sales_department"/>
|
<field name="section_id" ref="crm.section_sales_department"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor1"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor1')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead4"/>
|
<field name="stage_id" ref="crm.stage_lead4"/>
|
||||||
<field eval="'Interest in your customizable PC'" name="name"/>
|
<field eval="'Interest in your customizable PC'" name="name"/>
|
||||||
<field eval="time.strftime('%Y-08-05')" name="date_action"/>
|
<field eval="time.strftime('%Y-08-05')" name="date_action"/>
|
||||||
|
@ -518,7 +518,7 @@
|
||||||
<field name="partner_id" ref="base.res_partner_7"/>
|
<field name="partner_id" ref="base.res_partner_7"/>
|
||||||
<field eval="'3'" name="priority"/>
|
<field eval="'3'" name="priority"/>
|
||||||
<field name="user_id" ref="base.user_root"/>
|
<field name="user_id" ref="base.user_root"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor4"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor4')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead1"/>
|
<field name="stage_id" ref="crm.stage_lead1"/>
|
||||||
<field eval="'Need more info about the onsite intervention'" name="name"/>
|
<field eval="'Need more info about the onsite intervention'" name="name"/>
|
||||||
</record>
|
</record>
|
||||||
|
@ -529,7 +529,7 @@
|
||||||
<field name="partner_id" ref="base.res_partner_2"/>
|
<field name="partner_id" ref="base.res_partner_2"/>
|
||||||
<field eval="'3'" name="priority"/>
|
<field eval="'3'" name="priority"/>
|
||||||
<field name="user_id" ref="base.user_demo"/>
|
<field name="user_id" ref="base.user_demo"/>
|
||||||
<field name="categ_id" ref="crm.categ_oppor4"/>
|
<field name="categ_ids" eval="[(6, 0, [ref('crm.categ_oppor4')])]"/>
|
||||||
<field name="stage_id" ref="crm.stage_lead1"/>
|
<field name="stage_id" ref="crm.stage_lead1"/>
|
||||||
<field eval="'Need more info about your pc2'" name="name"/>
|
<field eval="'Need more info about your pc2'" name="name"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
|
@ -12,17 +12,11 @@
|
||||||
<field name="context">{'default_type':'lead', 'stage_type':'lead'}</field>
|
<field name="context">{'default_type':'lead', 'stage_type':'lead'}</field>
|
||||||
<field name="help">
|
<field name="help">
|
||||||
<img src="http://www.thaicrmsoftware.com/wp-content/uploads/2011/11/lead-conversion.jpg" align="right" style="padding: 6px" width="306" height="223">
|
<img src="http://www.thaicrmsoftware.com/wp-content/uploads/2011/11/lead-conversion.jpg" align="right" style="padding: 6px" width="306" height="223">
|
||||||
<h2>Create your first OpenERP Lead </h2>
|
<h2>Click here to create a Lead. </h2>
|
||||||
<p>
|
|
||||||
Leads allow you to manage and keep track of all initial contacts with a prospect or partner showing interest in your products or services.
|
|
||||||
<p>
|
<p>
|
||||||
A lead is usually the first step in your sales cycle.
|
A lead is usually the first step in your sales cycle.
|
||||||
<p>
|
<p>
|
||||||
Once qualified, a lead may be converted into a business opportunity, while creating the related partner for further detailed tracking of any linked activities.
|
Once qualified, a lead may be converted into a business opportunity, while creating the related partner for further detailed tracking of any linked activities.
|
||||||
<p>
|
|
||||||
You can import a database of prospects, keep track of your business cards or integrate your website's contact form with the OpenERP Leads.
|
|
||||||
<p>
|
|
||||||
Leads can be connected to the email gateway: new emails may create leads, each of them automatically gets the history of the conversation with the prospect.
|
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
@ -43,7 +37,7 @@
|
||||||
<record model="ir.actions.act_window" id="crm_case_category_act_oppor11">
|
<record model="ir.actions.act_window" id="crm_case_category_act_oppor11">
|
||||||
<field name="name">Opportunities</field>
|
<field name="name">Opportunities</field>
|
||||||
<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,calendar</field>
|
||||||
<field name="domain">[('type','=','opportunity')]</field>
|
<field name="domain">[('type','=','opportunity')]</field>
|
||||||
<field name="context">{'stage_type': 'opportunity', 'default_type': 'opportunity'}</field>
|
<field name="context">{'stage_type': 'opportunity', 'default_type': 'opportunity'}</field>
|
||||||
<field name="view_id" eval="False"/>
|
<field name="view_id" eval="False"/>
|
||||||
|
@ -74,13 +68,6 @@ You and your team(s) will be able to plan meetings and phone calls from opportun
|
||||||
<field name="act_window_id" ref="crm_case_category_act_oppor11"/>
|
<field name="act_window_id" ref="crm_case_category_act_oppor11"/>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.actions.act_window.view" id="action_crm_tag_graph_view_oppor11">
|
|
||||||
<field name="sequence" eval="4"/>
|
|
||||||
<field name="view_mode">graph</field>
|
|
||||||
<field name="view_id" ref="crm_case_graph_view_opportunity"/>
|
|
||||||
<field name="act_window_id" ref="crm_case_category_act_oppor11"/>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<menuitem name="Sales" id="base.menu_sales" parent="base.menu_base_partner" sequence="1" />
|
<menuitem name="Sales" id="base.menu_sales" parent="base.menu_base_partner" sequence="1" />
|
||||||
<menuitem name="Leads" id="menu_crm_leads" parent="base.menu_sales" action="crm_case_category_act_leads_all" sequence="2" />
|
<menuitem name="Leads" id="menu_crm_leads" parent="base.menu_sales" action="crm_case_category_act_leads_all" sequence="2" />
|
||||||
<menuitem name="Opportunities" id="menu_crm_opportunities" parent="base.menu_sales" action="crm_case_category_act_oppor11" sequence="3" />
|
<menuitem name="Opportunities" id="menu_crm_opportunities" parent="base.menu_sales" action="crm_case_category_act_oppor11" sequence="3" />
|
||||||
|
|
|
@ -67,7 +67,7 @@
|
||||||
<field name="help">Add specific stages to leads and opportunities allowing your sales to better organise their sales pipeline. Stages will allow them to easily track how a specific lead or opportunity is positioned in the sales cycle.</field>
|
<field name="help">Add specific stages to leads and opportunities allowing your sales to better organise their sales pipeline. Stages will allow them to easily track how a specific lead or opportunity is positioned in the sales cycle.</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<menuitem action="crm_lead_stage_act" id="menu_crm_lead_stage_act" name="Stages" sequence="0" parent="base.menu_crm_config_lead" />
|
<menuitem action="crm_lead_stage_act" id="menu_crm_lead_stage_act" name="Stages" sequence="0" parent="base.menu_crm_config_lead" groups="base.group_no_one"/>
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
LEADS/OPPORTUNITIES CATEGORIES
|
LEADS/OPPORTUNITIES CATEGORIES
|
||||||
|
@ -145,13 +145,13 @@
|
||||||
<group>
|
<group>
|
||||||
<group>
|
<group>
|
||||||
<field name="user_id" />
|
<field name="user_id" />
|
||||||
<field name="section_id" widget="selection" />
|
<field name="section_id"/>
|
||||||
<field name="type" invisible="1"/>
|
<field name="type" invisible="1"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<field name="priority"/>
|
<field name="priority"/>
|
||||||
<field name="categ_id"
|
<field name="categ_ids"
|
||||||
widget="selection"
|
widget="many2many_tags"
|
||||||
domain="[('object_id.model','=','crm.lead')]"/>
|
domain="[('object_id.model','=','crm.lead')]"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
|
@ -233,7 +233,7 @@
|
||||||
<field name="email_from"/>
|
<field name="email_from"/>
|
||||||
<field name="phone"/>
|
<field name="phone"/>
|
||||||
<field name="stage_id"/>
|
<field name="stage_id"/>
|
||||||
<field name="categ_id" invisible="1"/>
|
<field name="user_id" invisible="1"/>
|
||||||
<field name="section_id" invisible="context.get('invisible_section', True)" />
|
<field name="section_id" invisible="context.get('invisible_section', True)" />
|
||||||
<field name="state" groups="base.group_no_one"/>
|
<field name="state" groups="base.group_no_one"/>
|
||||||
<field name="type_id" invisible="1"/>
|
<field name="type_id" invisible="1"/>
|
||||||
|
@ -391,7 +391,6 @@
|
||||||
<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"/>
|
||||||
<filter string="Category" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'categ_id'}"/>
|
|
||||||
<filter string="Campaign" icon="terp-gtk-jump-to-rtl"
|
<filter string="Campaign" icon="terp-gtk-jump-to-rtl"
|
||||||
domain="[]" context="{'group_by':'type_id'}" />
|
domain="[]" context="{'group_by':'type_id'}" />
|
||||||
<filter string="Channel" icon="terp-call-start"
|
<filter string="Channel" icon="terp-call-start"
|
||||||
|
@ -431,9 +430,9 @@
|
||||||
<form string="Opportunities" version="7.0">
|
<form string="Opportunities" version="7.0">
|
||||||
<header>
|
<header>
|
||||||
<button name="stage_previous" string="Previous" type="object"
|
<button name="stage_previous" string="Previous" type="object"
|
||||||
states="open" icon="gtk-go-back" context="{'stage_type': 'opportunity'}"/>
|
states="open" context="{'stage_type': 'opportunity'}"/>
|
||||||
<button name="stage_next" string="Next" type="object"
|
<button name="stage_next" string="Next" type="object"
|
||||||
states="open" icon="gtk-go-forward" context="{'stage_type': 'opportunity'}"/>
|
states="open" context="{'stage_type': 'opportunity'}"/>
|
||||||
<button name="case_mark_won" string="Mark Won" type="object"
|
<button name="case_mark_won" string="Mark Won" type="object"
|
||||||
states="open" class="oe_highlight"/>
|
states="open" class="oe_highlight"/>
|
||||||
<button name="case_mark_won" string="Mark Won" type="object"
|
<button name="case_mark_won" string="Mark Won" type="object"
|
||||||
|
@ -483,7 +482,7 @@
|
||||||
<group>
|
<group>
|
||||||
<label for="title_action"/>
|
<label for="title_action"/>
|
||||||
<div>
|
<div>
|
||||||
<field name="date_action" nolabel="1"/> -
|
<field name="date_action" nolabel="1"/> <label string="-" attrs="{'invisible': ['|', ('date_action', '=', False), ('title_action', '=', False)]}"/>
|
||||||
<field name="title_action" class="oe_inline" nolabel="1" placeholder="Call for proposal"/>
|
<field name="title_action" class="oe_inline" nolabel="1" placeholder="Call for proposal"/>
|
||||||
</div>
|
</div>
|
||||||
<field name="date_deadline"/>
|
<field name="date_deadline"/>
|
||||||
|
@ -495,9 +494,9 @@
|
||||||
<field name="section_id" colspan="1" widget="selection"/>
|
<field name="section_id" colspan="1" widget="selection"/>
|
||||||
</group>
|
</group>
|
||||||
<group>
|
<group>
|
||||||
<field name="categ_id"
|
<field name="categ_ids"
|
||||||
string="Category" widget="selection"
|
string="Categories" widget="many2many_tags"
|
||||||
domain="[('object_id.model', '=', 'crm.lead')]" />
|
domain="[('object_id.model', '=', 'crm.lead')]"/>
|
||||||
|
|
||||||
</group>
|
</group>
|
||||||
</group>
|
</group>
|
||||||
|
@ -593,7 +592,6 @@
|
||||||
<field name="section_id" invisible="context.get('invisible_section', True)" />
|
<field name="section_id" invisible="context.get('invisible_section', True)" />
|
||||||
<field name="user_id"/>
|
<field name="user_id"/>
|
||||||
<field name="priority" invisible="1"/>
|
<field name="priority" invisible="1"/>
|
||||||
<field name="categ_id" invisible="1"/>
|
|
||||||
<field name="state" groups="base.group_no_one"/>
|
<field name="state" groups="base.group_no_one"/>
|
||||||
<field name="needaction_pending" invisible="1"/>
|
<field name="needaction_pending" invisible="1"/>
|
||||||
</tree>
|
</tree>
|
||||||
|
@ -645,7 +643,6 @@
|
||||||
<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="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" 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="Status" 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'}"/>
|
||||||
|
@ -664,19 +661,5 @@
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<!-- crm.lead Opportunities Graph View -->
|
|
||||||
<record model="ir.ui.view" id="crm_case_graph_view_opportunity">
|
|
||||||
<field name="name">CRM - Opportunity Graph</field>
|
|
||||||
<field name="model">crm.lead</field>
|
|
||||||
<field name="type">graph</field>
|
|
||||||
<field name="arch" type="xml">
|
|
||||||
<graph string="Opportunity by Categories" type="bar" orientation="horizontal">
|
|
||||||
<field name="categ_id"/>
|
|
||||||
<field name="planned_revenue" operator="+"/>
|
|
||||||
<field name="state" group="True"/>
|
|
||||||
</graph>
|
|
||||||
</field>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
</data>
|
</data>
|
||||||
</openerp>
|
</openerp>
|
||||||
|
|
|
@ -41,7 +41,7 @@ class crm_phonecall(base_state, osv.osv):
|
||||||
'section_id': fields.many2one('crm.case.section', 'Sales Team', \
|
'section_id': fields.many2one('crm.case.section', 'Sales Team', \
|
||||||
select=True, help='Sales team to which Case belongs to.'),
|
select=True, help='Sales team to which Case belongs to.'),
|
||||||
'user_id': fields.many2one('res.users', 'Responsible'),
|
'user_id': fields.many2one('res.users', 'Responsible'),
|
||||||
'partner_id': fields.many2one('res.partner', 'Partner'),
|
'partner_id': fields.many2one('res.partner', 'Contact'),
|
||||||
'company_id': fields.many2one('res.company', 'Company'),
|
'company_id': fields.many2one('res.company', 'Company'),
|
||||||
'description': fields.text('Description'),
|
'description': fields.text('Description'),
|
||||||
'state': fields.selection([ ('draft', 'Draft'),
|
'state': fields.selection([ ('draft', 'Draft'),
|
||||||
|
|
|
@ -68,7 +68,13 @@
|
||||||
<field name="domain">[]</field>
|
<field name="domain">[]</field>
|
||||||
<field name="context">{}</field>
|
<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">
|
||||||
|
Click on "Create" to log a new call.
|
||||||
|
<p>
|
||||||
|
This tool allows you to log your calls on the fly.
|
||||||
|
<p>
|
||||||
|
From this feature, you can trigger a request for another call, a meeting or an opportunity.
|
||||||
|
</field>
|
||||||
|
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
@ -106,7 +112,13 @@
|
||||||
<field name="domain">[('state','!=','done')]</field>
|
<field name="domain">[('state','!=','done')]</field>
|
||||||
<field name="context" eval="'{\'default_state\':\'open\'}'"/>
|
<field name="context" eval="'{\'default_state\':\'open\'}'"/>
|
||||||
<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">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">
|
||||||
|
Click here to schedule a new call.
|
||||||
|
<p>
|
||||||
|
Scheduled calls list all the calls to be done by your sales team.
|
||||||
|
<p>
|
||||||
|
This information will be stored in the partner form to trace every contact you have with a customer.
|
||||||
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<record model="ir.actions.act_window.view" id="action_crm_tag_tree_phone_outgoing0">
|
<record model="ir.actions.act_window.view" id="action_crm_tag_tree_phone_outgoing0">
|
||||||
|
|
|
@ -137,7 +137,7 @@
|
||||||
<field name="user_id" />
|
<field name="user_id" />
|
||||||
<field name="duration" widget="float_time" />
|
<field name="duration" widget="float_time" />
|
||||||
<field name="section_id" colspan="1" widget="selection" />
|
<field name="section_id" colspan="1" widget="selection" />
|
||||||
<field name="partner_id" on_change="onchange_partner_id(partner_id)" />
|
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
|
||||||
<field name="categ_id" widget="selection"
|
<field name="categ_id" widget="selection"
|
||||||
domain="[('object_id.model', '=', 'crm.phonecall')]"/>
|
domain="[('object_id.model', '=', 'crm.phonecall')]"/>
|
||||||
<field name="partner_mobile" />
|
<field name="partner_mobile" />
|
||||||
|
@ -165,8 +165,7 @@
|
||||||
<field name="date"/>
|
<field name="date"/>
|
||||||
<field name="name"/>
|
<field name="name"/>
|
||||||
<field name="partner_id"
|
<field name="partner_id"
|
||||||
on_change="onchange_partner_id(partner_id)"
|
on_change="onchange_partner_id(partner_id)"/>
|
||||||
string="Partner" />
|
|
||||||
<field name="partner_phone"
|
<field name="partner_phone"
|
||||||
invisible="1"/>
|
invisible="1"/>
|
||||||
<field name="user_id"/>
|
<field name="user_id"/>
|
||||||
|
|
|
@ -85,8 +85,6 @@ class crm_lead_report(osv.osv):
|
||||||
'probability': fields.float('Probability',digits=(16,2),readonly=True, group_operator="avg"),
|
'probability': fields.float('Probability',digits=(16,2),readonly=True, group_operator="avg"),
|
||||||
'planned_revenue': fields.float('Planned Revenue',digits=(16,2),readonly=True),
|
'planned_revenue': fields.float('Planned Revenue',digits=(16,2),readonly=True),
|
||||||
'probable_revenue': fields.float('Probable Revenue', digits=(16,2),readonly=True),
|
'probable_revenue': fields.float('Probable Revenue', digits=(16,2),readonly=True),
|
||||||
'categ_id': fields.many2one('crm.case.categ', 'Category',\
|
|
||||||
domain="['|',('section_id','=',False),('section_id','=',section_id)]" , readonly=True),
|
|
||||||
'stage_id': fields.many2one ('crm.case.stage', 'Stage', readonly=True, domain="[('section_ids', '=', section_id)]"),
|
'stage_id': fields.many2one ('crm.case.stage', 'Stage', readonly=True, domain="[('section_ids', '=', section_id)]"),
|
||||||
'partner_id': fields.many2one('res.partner', 'Partner' , readonly=True),
|
'partner_id': fields.many2one('res.partner', 'Partner' , readonly=True),
|
||||||
'nbr': fields.integer('# of Cases', readonly=True),
|
'nbr': fields.integer('# of Cases', readonly=True),
|
||||||
|
@ -134,7 +132,6 @@ class crm_lead_report(osv.osv):
|
||||||
c.section_id,
|
c.section_id,
|
||||||
c.channel_id,
|
c.channel_id,
|
||||||
c.type_id,
|
c.type_id,
|
||||||
c.categ_id,
|
|
||||||
c.partner_id,
|
c.partner_id,
|
||||||
c.country_id,
|
c.country_id,
|
||||||
c.planned_revenue,
|
c.planned_revenue,
|
||||||
|
|
|
@ -16,7 +16,6 @@
|
||||||
<field name="deadline_month" invisible="1"/>
|
<field name="deadline_month" invisible="1"/>
|
||||||
<field name="state" invisible="1"/>
|
<field name="state" invisible="1"/>
|
||||||
<field name="stage_id" invisible="1"/>
|
<field name="stage_id" invisible="1"/>
|
||||||
<field name="categ_id" invisible="1"/>
|
|
||||||
<field name="type_id" invisible="1"/>
|
<field name="type_id" invisible="1"/>
|
||||||
<field name="channel_id" invisible="1"/>
|
<field name="channel_id" invisible="1"/>
|
||||||
<field name="type" invisible="1"/>
|
<field name="type" invisible="1"/>
|
||||||
|
@ -114,7 +113,6 @@
|
||||||
<field name="partner_id"/>
|
<field name="partner_id"/>
|
||||||
<separator orientation="vertical"/>
|
<separator orientation="vertical"/>
|
||||||
<field name="stage_id" widget="selection" domain="[('section_ids', '=', 'section_id')]" />
|
<field name="stage_id" widget="selection" domain="[('section_ids', '=', 'section_id')]" />
|
||||||
<field name="categ_id" widget="selection"/>
|
|
||||||
<field name="type_id" widget="selection"/>
|
<field name="type_id" widget="selection"/>
|
||||||
<field name="channel_id" widget="selection"/>
|
<field name="channel_id" widget="selection"/>
|
||||||
<separator orientation="vertical"/>
|
<separator orientation="vertical"/>
|
||||||
|
@ -140,8 +138,6 @@
|
||||||
<separator orientation="vertical" />
|
<separator orientation="vertical" />
|
||||||
<filter string="Stage" name="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
|
<filter string="Stage" name="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
|
||||||
<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" name="Category" icon="terp-stock_symbol-selection"
|
|
||||||
domain="[]" context="{'group_by':'categ_id'}" />
|
|
||||||
<filter string="Campaign" icon="terp-gtk-jump-to-rtl"
|
<filter string="Campaign" icon="terp-gtk-jump-to-rtl"
|
||||||
domain="[]" context="{'group_by':'type_id'}" />
|
domain="[]" context="{'group_by':'type_id'}" />
|
||||||
<filter string="Channel" icon="terp-call-start"
|
<filter string="Channel" icon="terp-call-start"
|
||||||
|
@ -183,7 +179,6 @@
|
||||||
<field name="state" invisible="1"/>
|
<field name="state" invisible="1"/>
|
||||||
<field name="stage_id" invisible="1"/>
|
<field name="stage_id" invisible="1"/>
|
||||||
<field name="priority" invisible="1"/>
|
<field name="priority" invisible="1"/>
|
||||||
<field name="categ_id" invisible="1"/>
|
|
||||||
<field name="type_id" invisible="1"/>
|
<field name="type_id" invisible="1"/>
|
||||||
<field name="channel_id" invisible="1"/>
|
<field name="channel_id" invisible="1"/>
|
||||||
<field name="type" invisible="1"/>
|
<field name="type" invisible="1"/>
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<field eval="18" name="priority"/>
|
<field eval="18" name="priority"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="user_id" position="after">
|
<field name="user_id" position="after">
|
||||||
<field name="section_id" completion="1" widget="selection"/>
|
<field name="section_id" completion="1"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
@ -24,7 +24,7 @@
|
||||||
<field eval="18" name="priority"/>
|
<field eval="18" name="priority"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="phone" position="after">
|
<field name="phone" position="after">
|
||||||
<field name="section_id" completion="1" widget="selection"/>
|
<field name="section_id" completion="1" invisible="context.get('invisible_section', True)"/>
|
||||||
</field>
|
</field>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
@ -37,11 +37,16 @@
|
||||||
<field eval="18" name="priority"/>
|
<field eval="18" name="priority"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="category_id" position="after">
|
<field name="category_id" position="after">
|
||||||
<field name="section_id" completion="1" widget="selection"/>
|
<field name="section_id" completion="1" widget="selection" context="{'invisible_section': False}"/>
|
||||||
</field>
|
</field>
|
||||||
<xpath expr="//field[@name='user_id']" position="after">
|
<xpath expr="//field[@name='user_id']" position="after">
|
||||||
<field name="country_id"/>
|
<field name="country_id"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
|
<xpath expr="//group[@string='Group By...']" position="after">
|
||||||
|
<group string="Display">
|
||||||
|
<filter string="Show Sales Team" context="{'invisible_section': False}"/>
|
||||||
|
</group>
|
||||||
|
</xpath>
|
||||||
</field>
|
</field>
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
|
@ -88,12 +93,6 @@
|
||||||
<field name="view_id" ref="crm_case_form_view_oppor"/>
|
<field name="view_id" ref="crm_case_form_view_oppor"/>
|
||||||
<field name="act_window_id" ref="relate_partner_opportunities"/>
|
<field name="act_window_id" ref="relate_partner_opportunities"/>
|
||||||
</record>
|
</record>
|
||||||
<record model="ir.actions.act_window.view" id="relate_partner_opportunities_graph">
|
|
||||||
<field name="sequence" eval="4"/>
|
|
||||||
<field name="view_mode">graph</field>
|
|
||||||
<field name="view_id" ref="crm_case_graph_view_opportunity"/>
|
|
||||||
<field name="act_window_id" ref="relate_partner_opportunities"/>
|
|
||||||
</record>
|
|
||||||
|
|
||||||
<!-- Partner kanban view inherte -->
|
<!-- Partner kanban view inherte -->
|
||||||
<record model="ir.ui.view" id="crm_lead_partner_kanban_view">
|
<record model="ir.ui.view" id="crm_lead_partner_kanban_view">
|
||||||
|
@ -101,16 +100,17 @@
|
||||||
<field name="model">res.partner</field>
|
<field name="model">res.partner</field>
|
||||||
<field name="type">kanban</field>
|
<field name="type">kanban</field>
|
||||||
<field name="inherit_id" ref="base.res_partner_kanban_view"/>
|
<field name="inherit_id" ref="base.res_partner_kanban_view"/>
|
||||||
|
<field name="priority" eval="10"/>
|
||||||
<field name="arch" type="xml">
|
<field name="arch" type="xml">
|
||||||
<field name="mobile" position="after">
|
<field name="mobile" position="after">
|
||||||
<field name="opportunity_count"/>
|
<field name="opportunity_count"/>
|
||||||
<field name="meeting_count"/>
|
<field name="meeting_count"/>
|
||||||
</field>
|
</field>
|
||||||
<xpath expr="//h4[@class='oe_partner_heading']" position="after">
|
<xpath expr="//div[@class='oe_kanban_partner_links']" position="inside">
|
||||||
<a name="%(relate_partner_opportunities)d" type="action" t-if="record.opportunity_count.value>0" class="oe_tag">
|
<a name="%(relate_partner_opportunities)d" type="action" t-if="record.opportunity_count.value>0">
|
||||||
<t t-esc="record.opportunity_count.value"/> Opportunities
|
<t t-esc="record.opportunity_count.value"/> Opportunities
|
||||||
</a>
|
</a>
|
||||||
<a name="%(crm_meeting_partner)d" type="action" t-if="record.meeting_count.value>0" class="oe_tag">
|
<a name="%(crm_meeting_partner)d" type="action" t-if="record.meeting_count.value>0">
|
||||||
<t t-esc="record.meeting_count.value"/> Meetings
|
<t t-esc="record.meeting_count.value"/> Meetings
|
||||||
</a>
|
</a>
|
||||||
</xpath>
|
</xpath>
|
||||||
|
|
|
@ -29,7 +29,7 @@
|
||||||
Caldav features in Meeting.
|
Caldav features in Meeting.
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
* Share meeting with other calendar clients like sunbird
|
* Share meeting with other calendar clients like sunbird
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
|
|
|
@ -61,8 +61,6 @@ class crm_lead_report_assign(osv.osv):
|
||||||
'probability_max': fields.float('Max Probability',digits=(16,2),readonly=True, group_operator="max"),
|
'probability_max': fields.float('Max Probability',digits=(16,2),readonly=True, group_operator="max"),
|
||||||
'planned_revenue': fields.float('Planned Revenue',digits=(16,2),readonly=True),
|
'planned_revenue': fields.float('Planned Revenue',digits=(16,2),readonly=True),
|
||||||
'probable_revenue': fields.float('Probable Revenue', digits=(16,2),readonly=True),
|
'probable_revenue': fields.float('Probable Revenue', digits=(16,2),readonly=True),
|
||||||
'categ_id': fields.many2one('crm.case.categ', 'Category',\
|
|
||||||
domain="[('section_id','=',section_id)]" , 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)]"),
|
||||||
'partner_id': fields.many2one('res.partner', 'Customer' , readonly=True),
|
'partner_id': fields.many2one('res.partner', 'Customer' , readonly=True),
|
||||||
'opening_date': fields.date('Opening Date', readonly=True),
|
'opening_date': fields.date('Opening Date', readonly=True),
|
||||||
|
@ -103,7 +101,6 @@ class crm_lead_report_assign(osv.osv):
|
||||||
c.company_id,
|
c.company_id,
|
||||||
c.priority,
|
c.priority,
|
||||||
c.section_id,
|
c.section_id,
|
||||||
c.categ_id,
|
|
||||||
c.partner_id,
|
c.partner_id,
|
||||||
c.country_id,
|
c.country_id,
|
||||||
c.planned_revenue,
|
c.planned_revenue,
|
||||||
|
|
|
@ -29,7 +29,6 @@
|
||||||
<field name="partner_id"/>
|
<field name="partner_id"/>
|
||||||
<separator orientation="vertical"/>
|
<separator orientation="vertical"/>
|
||||||
<field name="stage_id" widget="selection" domain="[('section_ids', '=', 'section_id')]"/>
|
<field name="stage_id" widget="selection" domain="[('section_ids', '=', 'section_id')]"/>
|
||||||
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'crm.lead')]"/>
|
|
||||||
<separator orientation="vertical"/>
|
<separator orientation="vertical"/>
|
||||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||||
<newline/>
|
<newline/>
|
||||||
|
@ -49,8 +48,6 @@
|
||||||
context="{'group_by':'section_id'}" />
|
context="{'group_by':'section_id'}" />
|
||||||
<filter string="Grade" name="group_grade" icon="terp-stock_symbol-selection"
|
<filter string="Grade" name="group_grade" icon="terp-stock_symbol-selection"
|
||||||
domain="[]" context="{'group_by':'grade_id'}" />
|
domain="[]" context="{'group_by':'grade_id'}" />
|
||||||
<filter string="Category" icon="terp-stock_symbol-selection"
|
|
||||||
domain="[]" context="{'group_by':'categ_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'}"/>
|
||||||
|
@ -115,7 +112,6 @@
|
||||||
<field name="state" invisible="1"/>
|
<field name="state" invisible="1"/>
|
||||||
<field name="stage_id" invisible="1"/>
|
<field name="stage_id" invisible="1"/>
|
||||||
<field name="priority" invisible="1"/>
|
<field name="priority" invisible="1"/>
|
||||||
<field name="categ_id" invisible="1"/>
|
|
||||||
<field name="type" invisible="1"/>
|
<field name="type" invisible="1"/>
|
||||||
<field name="company_id" invisible="1" groups="base.group_multi_company"/>
|
<field name="company_id" invisible="1" groups="base.group_multi_company"/>
|
||||||
<field name="nbr" string="#Opportunities" sum="#Opportunities"/>
|
<field name="nbr" string="#Opportunities" sum="#Opportunities"/>
|
||||||
|
|
|
@ -28,11 +28,15 @@
|
||||||
This module allows users to perform segmentation within partners.
|
This module allows users to perform segmentation within partners.
|
||||||
=================================================================
|
=================================================================
|
||||||
|
|
||||||
It uses the profiles criteria from the earlier segmentation module and improve it. Thanks to the new concept of questionnaire. You can now regroup questions into a questionnaire and directly use it on a partner.
|
It uses the profiles criteria from the earlier segmentation module and improve it.
|
||||||
|
Thanks to the new concept of questionnaire. You can now regroup questions into a
|
||||||
|
questionnaire and directly use it on a partner.
|
||||||
|
|
||||||
It also has been merged with the earlier CRM & SRM segmentation tool because they were overlapping.
|
It also has been merged with the earlier CRM & SRM segmentation tool because they
|
||||||
|
were overlapping.
|
||||||
|
|
||||||
* Note: this module is not compatible with the module segmentation, since it's the same which has been renamed.
|
* Note: this module is not compatible with the module segmentation, since
|
||||||
|
it's the same which has been renamed.
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
|
|
|
@ -22,8 +22,8 @@
|
||||||
{
|
{
|
||||||
"name": "Decimal Precision Configuration",
|
"name": "Decimal Precision Configuration",
|
||||||
"description": """
|
"description": """
|
||||||
Configure the price accuracy you need for different kinds of usage: accounting, sales, purchases, etc.
|
Configure the price accuracy you need for different kinds of usage: accounting, sales, purchases.
|
||||||
======================================================================================================
|
=================================================================================================
|
||||||
|
|
||||||
The decimal precision is configured per company.
|
The decimal precision is configured per company.
|
||||||
""",
|
""",
|
||||||
|
|
|
@ -28,10 +28,9 @@
|
||||||
Allows you to add delivery methods in sale orders and picking.
|
Allows you to add delivery methods in sale orders and picking.
|
||||||
==============================================================
|
==============================================================
|
||||||
|
|
||||||
You can define your own carrier and delivery grids for prices.
|
You can define your own carrier and delivery grids for prices. When creating
|
||||||
When creating invoices from picking, OpenERP is able to add and compute the shipping line.
|
invoices from picking, OpenERP is able to add and compute the shipping line.
|
||||||
|
""",
|
||||||
""",
|
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'depends': ['sale', 'purchase', 'stock'],
|
'depends': ['sale', 'purchase', 'stock'],
|
||||||
'init_xml': ['delivery_data.xml'],
|
'init_xml': ['delivery_data.xml'],
|
||||||
|
|
|
@ -68,7 +68,7 @@ class delivery_carrier(osv.osv):
|
||||||
'price' : fields.function(get_price, string='Price'),
|
'price' : fields.function(get_price, string='Price'),
|
||||||
'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the delivery carrier without removing it."),
|
'active': fields.boolean('Active', help="If the active field is set to False, it will allow you to hide the delivery carrier without removing it."),
|
||||||
'normal_price': fields.float('Normal Price', help="Keep empty if the pricing depends on the advanced pricing per destination"),
|
'normal_price': fields.float('Normal Price', help="Keep empty if the pricing depends on the advanced pricing per destination"),
|
||||||
'free_if_more_than': fields.boolean('Free If More Than', help="If the order is more expensive than a certain amount, the customer can benefit from a free shipping"),
|
'free_if_more_than': fields.boolean('Free If Order Total Amount Is More Than', help="If the order is more expensive than a certain amount, the customer can benefit from a free shipping"),
|
||||||
'amount': fields.float('Amount', help="Amount of the order to benefit from a free shipping, expressed in the company currency"),
|
'amount': fields.float('Amount', help="Amount of the order to benefit from a free shipping, expressed in the company currency"),
|
||||||
'use_detailed_pricelist': fields.boolean('Advanced Pricing per Destination', help="Check this box if you want to manage delivery prices that depends on the destination, the weight, the total of the order, etc."),
|
'use_detailed_pricelist': fields.boolean('Advanced Pricing per Destination', help="Check this box if you want to manage delivery prices that depends on the destination, the weight, the total of the order, etc."),
|
||||||
'pricelist_ids': fields.one2many('delivery.grid', 'carrier_id', 'Advanced Pricing'),
|
'pricelist_ids': fields.one2many('delivery.grid', 'carrier_id', 'Advanced Pricing'),
|
||||||
|
|
|
@ -29,7 +29,7 @@ This is a complete document management system.
|
||||||
==============================================
|
==============================================
|
||||||
|
|
||||||
* User Authentication
|
* User Authentication
|
||||||
* Document Indexation :- .pptx and .docx files are not supported in Windows platform.
|
* Document Indexation:- .pptx and .docx files are not supported in Windows platform.
|
||||||
* Dashboard for Document that includes:
|
* Dashboard for Document that includes:
|
||||||
* New Files (list)
|
* New Files (list)
|
||||||
* Files by Resource Type (graph)
|
* Files by Resource Type (graph)
|
||||||
|
@ -37,8 +37,8 @@ This is a complete document management system.
|
||||||
* Files Size by Month (graph)
|
* Files Size by Month (graph)
|
||||||
|
|
||||||
ATTENTION:
|
ATTENTION:
|
||||||
- When you install this module in a running company that have already PDF files stored into the database,
|
- When you install this module in a running company that have already PDF
|
||||||
you will lose them all.
|
files stored into the database, you will lose them all.
|
||||||
- After installing this module PDF's are no longer stored into the database,
|
- After installing this module PDF's are no longer stored into the database,
|
||||||
but in the servers rootpad like /server/bin/filestore.
|
but in the servers rootpad like /server/bin/filestore.
|
||||||
""",
|
""",
|
||||||
|
|
|
@ -375,7 +375,7 @@ class node_class(object):
|
||||||
could do various things.
|
could do various things.
|
||||||
Should also consider node<->content, dir<->dir moves etc.
|
Should also consider node<->content, dir<->dir moves etc.
|
||||||
|
|
||||||
Move operations, as instructed from APIs (eg. request from DAV) could
|
Move operations, as instructed from APIs (e.g. request from DAV) could
|
||||||
use this function.
|
use this function.
|
||||||
"""
|
"""
|
||||||
raise NotImplementedError(repr(self))
|
raise NotImplementedError(repr(self))
|
||||||
|
|
|
@ -40,7 +40,8 @@ With this module, the WebDAV server for documents is activated.
|
||||||
|
|
||||||
You can then use any compatible browser to remotely see the attachments of OpenObject.
|
You can then use any compatible browser to remotely see the attachments of OpenObject.
|
||||||
|
|
||||||
After installation, the WebDAV server can be controlled by a [webdav] section in the server's config.
|
After installation, the WebDAV server can be controlled by a [webdav] section in
|
||||||
|
the server's config.
|
||||||
Server Configuration Parameter:
|
Server Configuration Parameter:
|
||||||
|
|
||||||
[webdav]
|
[webdav]
|
||||||
|
@ -55,7 +56,7 @@ Server Configuration Parameter:
|
||||||
; these options on
|
; these options on
|
||||||
|
|
||||||
Also implements IETF RFC 5785 for services discovery on a http server,
|
Also implements IETF RFC 5785 for services discovery on a http server,
|
||||||
which needs explicit configuration in openerp-server.conf, too.
|
which needs explicit configuration in openerp-server.conf too.
|
||||||
""",
|
""",
|
||||||
"depends" : ["base", "document"],
|
"depends" : ["base", "document"],
|
||||||
"init_xml" : [],
|
"init_xml" : [],
|
||||||
|
|
|
@ -23,15 +23,14 @@
|
||||||
'version': '1.0',
|
'version': '1.0',
|
||||||
'category': 'Tools',
|
'category': 'Tools',
|
||||||
'description': """
|
'description': """
|
||||||
Provides a common EDI platform that other Applications can use
|
Provides a common EDI platform that other Applications can use.
|
||||||
==============================================================
|
===============================================================
|
||||||
|
|
||||||
OpenERP specifies a generic EDI format for exchanging business
|
OpenERP specifies a generic EDI format for exchanging business documents between
|
||||||
documents between different systems, and provides generic
|
different systems, and provides generic mechanisms to import and export them.
|
||||||
mechanisms to import and export them.
|
|
||||||
|
|
||||||
More details about OpenERP's EDI format may be found in the
|
More details about OpenERP's EDI format may be found in the technical OpenERP
|
||||||
technical OpenERP documentation at http://doc.openerp.com
|
documentation at http://doc.openerp.com.
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
|
|
|
@ -28,8 +28,8 @@
|
||||||
"category" : "Marketing",
|
"category" : "Marketing",
|
||||||
"depends" : ['mail'],
|
"depends" : ['mail'],
|
||||||
"description": """
|
"description": """
|
||||||
Email Templating (simplified version of the original Power Email by Openlabs)
|
Email Templating (simplified version of the original Power Email by Openlabs).
|
||||||
=============================================================================
|
==============================================================================
|
||||||
|
|
||||||
Lets you design complete email templates related to any OpenERP document (Sale
|
Lets you design complete email templates related to any OpenERP document (Sale
|
||||||
Orders, Invoices and so on), including sender, recipient, subject, body (HTML and
|
Orders, Invoices and so on), including sender, recipient, subject, body (HTML and
|
||||||
|
@ -54,14 +54,13 @@ These email templates are also at the heart of the marketing campaign system
|
||||||
campaigns on any OpenERP document.
|
campaigns on any OpenERP document.
|
||||||
|
|
||||||
Technical note: only the templating system of the original Power Email by
|
Technical note: only the templating system of the original Power Email by
|
||||||
Openlabs was kept
|
Openlabs was kept.
|
||||||
|
|
||||||
""",
|
""",
|
||||||
"data": [
|
"data": [
|
||||||
'wizard/email_template_preview_view.xml',
|
'wizard/email_template_preview_view.xml',
|
||||||
'email_template_view.xml',
|
'email_template_view.xml',
|
||||||
'res_partner_view.xml',
|
'res_partner_view.xml',
|
||||||
'wizard/email_compose_message_view.xml',
|
'wizard/mail_compose_message_view.xml',
|
||||||
'security/ir.model.access.csv'
|
'security/ir.model.access.csv'
|
||||||
],
|
],
|
||||||
"demo": [
|
"demo": [
|
||||||
|
|
|
@ -41,10 +41,10 @@
|
||||||
on_change="on_change_template(use_template, template_id, False, False, context)"/>
|
on_change="on_change_template(use_template, template_id, False, False, context)"/>
|
||||||
</xpath>
|
</xpath>
|
||||||
<xpath expr="//a[@class='oe_mail_compose_message_checklist']" position="before">
|
<xpath expr="//a[@class='oe_mail_compose_message_checklist']" position="before">
|
||||||
<button icon="../../../../../email_template/static/src/img/email_template"
|
<button icon="/email_template/static/src/img/email_template.png"
|
||||||
type="object" name="template_toggle" string=""
|
type="object" name="template_toggle" string=""
|
||||||
help="Use a message template"/>
|
help="Use a message template"/>
|
||||||
<button icon="../../../../../email_template/static/src/img/email_template_save"
|
<button icon="/email_template/static/src/img/email_template_save.png"
|
||||||
type="object" name="save_as_template" string=""
|
type="object" name="save_as_template" string=""
|
||||||
help="Save as a new template"/>
|
help="Save as a new template"/>
|
||||||
</xpath>
|
</xpath>
|
|
@ -32,12 +32,12 @@ Organization and management of Events.
|
||||||
|
|
||||||
This module allows you
|
This module allows you
|
||||||
* to manage your events and their registrations
|
* to manage your events and their registrations
|
||||||
* to use emails to automatically confirm and send acknowledgements for any registration to an event
|
* to use emails to automatically confirm and send acknowledgements for any
|
||||||
* ...
|
registration to an event
|
||||||
|
|
||||||
Note that:
|
Note that:
|
||||||
- You can define new types of events in
|
- You can define new types of events in
|
||||||
Association / Configuration / Types of Events
|
Events/Configuration/Types of Events
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'depends': ['base_setup', 'board', 'email_template', 'google_map'],
|
'depends': ['base_setup', 'board', 'email_template', 'google_map'],
|
||||||
|
|
|
@ -0,0 +1,15 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<openerp>
|
||||||
|
<data noupdate="1">
|
||||||
|
<!-- notify all employees of module installation -->
|
||||||
|
<function model="mail.group" name="message_append_note">
|
||||||
|
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
|
||||||
|
<value eval="[ref('mail.group_all_employees')]"/>
|
||||||
|
<value>Module Events Organisation has been installed</value>
|
||||||
|
<value>Organize events and manage their registrations. You can
|
||||||
|
automatically confirm and send acknowledgements of registrations
|
||||||
|
by email.
|
||||||
|
</value>
|
||||||
|
</function>
|
||||||
|
</data>
|
||||||
|
</openerp>
|
File diff suppressed because it is too large
Load Diff
|
@ -25,33 +25,32 @@
|
||||||
'version': '0.1',
|
'version': '0.1',
|
||||||
'category': 'Tools',
|
'category': 'Tools',
|
||||||
'description': """
|
'description': """
|
||||||
Configure your moodle server
|
Configure your moodle server.
|
||||||
|
=============================
|
||||||
|
|
||||||
With this module you are able to connect your OpenERP with a moodle plateform.
|
With this module you are able to connect your OpenERP with a moodle platform.
|
||||||
This module will create courses and students automatically in your moodle plateform to avoid wasting time.
|
This module will create courses and students automatically in your moodle platform
|
||||||
Now you have a simple way to create training or courses with OpenERP and moodle
|
to avoid wasting time.
|
||||||
|
Now you have a simple way to create training or courses with OpenERP and moodle.
|
||||||
|
|
||||||
|
STEPS TO CONFIGURE:
|
||||||
STEPS TO CONFIGURE
|
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
1. activate web service in moodle
|
1. Activate web service in moodle.
|
||||||
----------------------------------
|
----------------------------------
|
||||||
>site administration >plugins>web sevices >manage protocols
|
>site administration >plugins >web services >manage protocols activate the xmlrpc web service
|
||||||
activate the xmlrpc web service
|
|
||||||
|
|
||||||
|
|
||||||
>site administration >plugins>web sevices >manage tokens
|
>site administration >plugins >web services >manage tokens create a token
|
||||||
create a token
|
|
||||||
|
|
||||||
|
|
||||||
>site administration >plugins>web sevices >overview
|
>site administration >plugins >web services >overview activate webservice
|
||||||
activate webservice
|
|
||||||
|
|
||||||
|
|
||||||
2. Create confirmation email with login and password
|
2. Create confirmation email with login and password.
|
||||||
----------------------------------------------------
|
-----------------------------------------------------
|
||||||
we strongly suggest you to add those following lines at the bottom of your event confirmation email to communicate the login/password of moodle to your subscribers.
|
We strongly suggest you to add those following lines at the bottom of your event
|
||||||
|
confirmation email to communicate the login/password of moodle to your subscribers.
|
||||||
|
|
||||||
|
|
||||||
........your configuration text.......
|
........your configuration text.......
|
||||||
|
|
|
@ -28,9 +28,14 @@
|
||||||
Creating registration with sale orders.
|
Creating registration with sale orders.
|
||||||
=======================================
|
=======================================
|
||||||
|
|
||||||
This module allows you to automatize and connect your registration creation with your main sale flow and, therefore, to enable the invoicing feature of registrations.
|
This module allows you to automatize and connect your registration creation with
|
||||||
|
your main sale flow and therefore, to enable the invoicing feature of registrations.
|
||||||
|
|
||||||
It defines a new kind of service products that offers you the possibility to choose an event category associated with it. When you encode a sale order for that product, you will be able to choose an existing event of that category and when you confirm your sale order it will automatically create a registration for this event.
|
It defines a new kind of service products that offers you the possibility to
|
||||||
|
choose an event category associated with it. When you encode a sale order for
|
||||||
|
that product, you will be able to choose an existing event of that category and
|
||||||
|
when you confirm your sale order it will automatically create a registration for
|
||||||
|
this event.
|
||||||
""",
|
""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'depends': ['event','sale','sale_crm'],
|
'depends': ['event','sale','sale_crm'],
|
||||||
|
|
|
@ -37,7 +37,7 @@ product()
|
||||||
class sale_order_line(osv.osv):
|
class sale_order_line(osv.osv):
|
||||||
_inherit = 'sale.order.line'
|
_inherit = 'sale.order.line'
|
||||||
_columns = {
|
_columns = {
|
||||||
'event_id': fields.many2one('event.event', 'Event', help="Choose an event and it will authomaticaly create a registration for this event"),
|
'event_id': fields.many2one('event.event', 'Event', help="Choose an event and it will automatically create a registration for this event."),
|
||||||
#those 2 fields are used for dynamic domains and filled by onchange
|
#those 2 fields are used for dynamic domains and filled by onchange
|
||||||
'event_type_id': fields.related('event_type_id', type='many2one', relation="event.type", string="Event Type"),
|
'event_type_id': fields.related('event_type_id', type='many2one', relation="event.type", string="Event Type"),
|
||||||
'event_ok': fields.related('event_ok', string='event_ok', type='boolean'),
|
'event_ok': fields.related('event_ok', string='event_ok', type='boolean'),
|
||||||
|
|
|
@ -27,36 +27,33 @@
|
||||||
"author" : "OpenERP SA",
|
"author" : "OpenERP SA",
|
||||||
"category": 'Tools',
|
"category": 'Tools',
|
||||||
"description": """
|
"description": """
|
||||||
Retrieve incoming email on POP / IMAP servers
|
Retrieve incoming email on POP/IMAP servers.
|
||||||
=============================================
|
============================================
|
||||||
|
|
||||||
Enter the parameters of your POP/IMAP account(s), and any incoming
|
Enter the parameters of your POP/IMAP account(s), and any incoming emails on
|
||||||
emails on these accounts will be automatically downloaded into your OpenERP
|
these accounts will be automatically downloaded into your OpenERP system. All
|
||||||
system. All POP3/IMAP-compatible servers are supported, included those
|
POP3/IMAP-compatible servers are supported, included those that require an
|
||||||
that require an encrypted SSL/TLS connection.
|
encrypted SSL/TLS connection.
|
||||||
|
|
||||||
This can be used to easily create email-based workflows for many
|
This can be used to easily create email-based workflows for many email-enabled
|
||||||
email-enabled OpenERP documents, such as:
|
OpenERP documents, such as:
|
||||||
|
|
||||||
* CRM Leads/Opportunities
|
* CRM Leads/Opportunities
|
||||||
* CRM Claims
|
* CRM Claims
|
||||||
* Project Issues
|
* Project Issues
|
||||||
* Project Tasks
|
* Project Tasks
|
||||||
* Human Resource Recruitments (Applicants)
|
* Human Resource Recruitments (Applicants)
|
||||||
* etc.
|
|
||||||
|
|
||||||
Just install the relevant application, and you can assign any of
|
Just install the relevant application, and you can assign any of these document
|
||||||
these document types (Leads, Project Issues, etc.) to your incoming
|
types (Leads, Project Issues) to your incoming email accounts. New emails will
|
||||||
email accounts. New emails will automatically spawn new documents
|
automatically spawn new documents of the chosen type, so it's a snap to create a
|
||||||
of the chosen type, so it's a snap to create a mailbox-to-OpenERP
|
mailbox-to-OpenERP integration. Even better: these documents directly act as mini
|
||||||
integration. Even better: these documents directly act as mini
|
conversations synchronized by email. You can reply from within OpenERP, and the
|
||||||
conversations synchronized by email. You can reply from within
|
answers will automatically be collected when they come back, and attached to the
|
||||||
OpenERP, and the answers will automatically be collected when
|
same *conversation* document.
|
||||||
they come back, and attached to the same *conversation* document.
|
|
||||||
|
|
||||||
For more specific needs, you may also assign custom-defined actions
|
For more specific needs, you may also assign custom-defined actions
|
||||||
(technically: Server Actions) to be triggered for each incoming
|
(technically: Server Actions) to be triggered for each incoming mail.
|
||||||
mail.
|
|
||||||
""",
|
""",
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
'init_xml': [],
|
'init_xml': [],
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
'name': 'Google Users',
|
'name': 'Google Users',
|
||||||
'version': '1.0',
|
'version': '1.0',
|
||||||
'category': 'Tools',
|
'category': 'Tools',
|
||||||
'description': """The module adds google user in res user""",
|
'description': """The module adds google user in res user.""",
|
||||||
'author': 'OpenERP SA',
|
'author': 'OpenERP SA',
|
||||||
'website': 'http://www.openerp.com',
|
'website': 'http://www.openerp.com',
|
||||||
'depends': ['base'],
|
'depends': ['base'],
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
"website": "http://www.openerp.com",
|
"website": "http://www.openerp.com",
|
||||||
"summary": "Hierarchy, Jobs, Departments",
|
"summary": "Hierarchy, Jobs, Departments",
|
||||||
"description": """
|
"description": """
|
||||||
Module for human resource management.
|
Module for Human Resource Management.
|
||||||
=====================================
|
=====================================
|
||||||
|
|
||||||
You can manage:
|
You can manage:
|
||||||
|
|
|
@ -1,6 +1,23 @@
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<openerp>
|
<openerp>
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
<!-- notify all employees of module installation -->
|
||||||
|
<function model="mail.group" name="message_append_note">
|
||||||
|
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
|
||||||
|
<value eval="[ref('mail.group_all_employees')]"/>
|
||||||
|
<value>Module Employee Directory has been installed</value>
|
||||||
|
<value>Manage your human resources in OpenERP: employees and hierarchy,
|
||||||
|
HR departments and jobs.
|
||||||
|
|
||||||
|
More features are available in the following modules:
|
||||||
|
Recruitment Process (manage job positions and recruitment),
|
||||||
|
Timesheets Validation (record timesheets and attendance),
|
||||||
|
Leaves Management (keep track of employee leaves),
|
||||||
|
Expenses Management (manage employee expenses),
|
||||||
|
Employee Appraisals (organize employee surveys, where employees
|
||||||
|
evaluate their subordinates or their manager.)
|
||||||
|
</value>
|
||||||
|
</function>
|
||||||
|
|
||||||
<record id="employee" model="hr.employee">
|
<record id="employee" model="hr.employee">
|
||||||
<field name="name">Administrator</field>
|
<field name="name">Administrator</field>
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
sequence="110"/>
|
sequence="110"/>
|
||||||
<menuitem id="menu_hr_main" parent="menu_hr_root" name="Human Resources" sequence="0"/>
|
<menuitem id="menu_hr_main" parent="menu_hr_root" name="Human Resources" sequence="0"/>
|
||||||
<menuitem id="menu_hr_configuration" name="Configuration" parent="hr.menu_hr_root" groups="base.group_hr_manager" sequence="50"/>
|
<menuitem id="menu_hr_configuration" name="Configuration" parent="hr.menu_hr_root" groups="base.group_hr_manager" sequence="50"/>
|
||||||
<menuitem id="menu_hr_management" name="Human Resources" parent="hr.menu_hr_configuration" sequence="25"/>
|
<menuitem id="menu_hr_management" name="Human Resources" parent="hr.menu_hr_configuration" groups="base.group_no_one" sequence="25"/>
|
||||||
<menuitem id="menu_hr_reporting_timesheet" name="Reports"
|
<menuitem id="menu_hr_reporting_timesheet" name="Reports"
|
||||||
parent="menu_hr_reporting" sequence="6" />
|
parent="menu_hr_reporting" sequence="6" />
|
||||||
|
|
||||||
|
@ -348,7 +348,7 @@
|
||||||
</record>
|
</record>
|
||||||
|
|
||||||
<menuitem action="open_view_categ_tree"
|
<menuitem action="open_view_categ_tree"
|
||||||
id="menu_view_employee_category_tree" parent="menu_hr_management" sequence="2"/>
|
id="menu_view_employee_category_tree" parent="menu_hr_management" groups="base.group_no_one" sequence="2"/>
|
||||||
|
|
||||||
<record id="view_hr_job_form" model="ir.ui.view">
|
<record id="view_hr_job_form" model="ir.ui.view">
|
||||||
<field name="name">hr.job.form</field>
|
<field name="name">hr.job.form</field>
|
||||||
|
|
|
@ -28,9 +28,10 @@
|
||||||
Add all information on the employee form to manage contracts.
|
Add all information on the employee form to manage contracts.
|
||||||
=============================================================
|
=============================================================
|
||||||
|
|
||||||
* Marital status,
|
* Contract
|
||||||
* Security number,
|
* Place of Birth,
|
||||||
* Place of birth, birth date, ...
|
* Medical Examination Date
|
||||||
|
* Company Vehicle
|
||||||
|
|
||||||
You can assign several contracts per employee.
|
You can assign several contracts per employee.
|
||||||
""",
|
""",
|
||||||
|
|
|
@ -28,7 +28,7 @@
|
||||||
<field name="place_of_birth"/>
|
<field name="place_of_birth"/>
|
||||||
</field>
|
</field>
|
||||||
<field name="bank_account_id" position="replace">
|
<field name="bank_account_id" position="replace">
|
||||||
<field name="bank_account_id" context="{'display_partner':True, 'partner_id':partner_id}"/>
|
<field name="bank_account_id" context="{'display_partner':True}"/>
|
||||||
</field>
|
</field>
|
||||||
</data>
|
</data>
|
||||||
</field>
|
</field>
|
||||||
|
|
|
@ -32,12 +32,11 @@
|
||||||
Ability to create employees evaluation.
|
Ability to create employees evaluation.
|
||||||
=======================================
|
=======================================
|
||||||
|
|
||||||
An evaluation can be created by employee for subordinates,
|
An evaluation can be created by employee for subordinates, juniors as well as
|
||||||
juniors as well as his manager.The evaluation is done under a plan
|
his manager. The evaluation is done under a plan in which various surveys can be
|
||||||
in which various surveys can be created and it can be defined which
|
created and it can be defined which level of employee hierarchy fills what and
|
||||||
level of employee hierarchy fills what and final review and evaluation
|
final review and evaluation is done by the manager. Every evaluation filled by
|
||||||
is done by the manager.Every evaluation filled by the employees can be viewed
|
the employees can be viewed in the form of pdf file.
|
||||||
in the form of pdf file. Implements a dashboard for My Current Evaluations
|
|
||||||
""",
|
""",
|
||||||
"demo": ["hr_evaluation_demo.xml"],
|
"demo": ["hr_evaluation_demo.xml"],
|
||||||
"data": [
|
"data": [
|
||||||
|
|
|
@ -156,7 +156,7 @@ class hr_evaluation(osv.osv):
|
||||||
('2','Meet expectations'),
|
('2','Meet expectations'),
|
||||||
('3','Exceeds expectations'),
|
('3','Exceeds expectations'),
|
||||||
('4','Significantly exceeds expectations'),
|
('4','Significantly exceeds expectations'),
|
||||||
], "Appreciation", help="This is the appreciation on that summarize the evaluation"),
|
], "Appreciation", help="This is the appreciation on which the evaluation is summarized."),
|
||||||
'survey_request_ids': fields.one2many('hr.evaluation.interview','evaluation_id','Appraisal Forms'),
|
'survey_request_ids': fields.one2many('hr.evaluation.interview','evaluation_id','Appraisal Forms'),
|
||||||
'plan_id': fields.many2one('hr_evaluation.plan', 'Plan', required=True),
|
'plan_id': fields.many2one('hr_evaluation.plan', 'Plan', required=True),
|
||||||
'state': fields.selection([
|
'state': fields.selection([
|
||||||
|
|
|
@ -1,6 +1,18 @@
|
||||||
<?xml version="1.0"?>
|
<?xml version="1.0"?>
|
||||||
<openerp>
|
<openerp>
|
||||||
<data noupdate="1">
|
<data noupdate="1">
|
||||||
|
<!-- notify all employees of module installation -->
|
||||||
|
<function model="mail.group" name="message_append_note">
|
||||||
|
<!-- ids, subject, body, parent_id=False, type='notification', content_subtype='html' -->
|
||||||
|
<value eval="[ref('mail.group_all_employees')]"/>
|
||||||
|
<value>Module Employee Appraisals has been installed</value>
|
||||||
|
<value>Create evaluations for your subordinates or manager. You can
|
||||||
|
define a plan with several surveys, where you organize evaluation
|
||||||
|
surveys related to the hierarchy levels. Evaluations filled by
|
||||||
|
employees can exported as pdf files.
|
||||||
|
</value>
|
||||||
|
</function>
|
||||||
|
|
||||||
<record id="survey_2" model="survey">
|
<record id="survey_2" model="survey">
|
||||||
<field name="title">Self Appraisal</field>
|
<field name="title">Self Appraisal</field>
|
||||||
<field name="max_response_limit">20</field>
|
<field name="max_response_limit">20</field>
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue