[MERGE]: Merge with latest trunk-addons

bzr revid: rpa@tinyerp.com-20120726053855-8j8c70xqc0ynikx1
This commit is contained in:
Rucha (Open ERP) 2012-07-26 11:08:55 +05:30
commit 4eb76030a6
274 changed files with 4741 additions and 1345 deletions

View File

@ -29,25 +29,23 @@ Accounting and Financial Management.
Financial and accounting module that covers:
--------------------------------------------
General accountings
Cost / Analytic accounting
Third party accounting
Taxes management
Budgets
Customer and Supplier Invoices
Bank statements
Reconciliation process by partner
* General Accounting
* Cost/Analytic accounting
* Third party accounting
* Taxes management
* Budgets
* Customer and Supplier Invoices
* Bank statements
* Reconciliation process by partner
Creates a dashboard for accountants that includes:
--------------------------------------------------
* List of Customer Invoice to Approve
* Company Analysis
* Graph of Aged Receivables
* Graph of Treasury
* List of Customer Invoice to Approve
* Company Analysis
* Graph of Treasury
The processes like maintaining of general ledger is done through the defined financial Journals (entry move line or
grouping is maintained through journal) for a particular financial year and for preparation of vouchers there is a
module named account_voucher.
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
financial year and for preparation of vouchers there is a module named account_voucher.
""",
'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'],

View File

@ -29,6 +29,8 @@ import pooler
from osv import fields, osv
import decimal_precision as dp
from tools.translate import _
from tools.float_utils import float_round
_logger = logging.getLogger(__name__)
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'),
('balance', 'Balance'),
('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."),
'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)
_logger.debug('Status: %s',(cr.statusmessage))
for res in cr.dictfetchall():
accounts[res['id']] = res
for row in cr.dictfetchall():
accounts[row['id']] = row
# consolidate accounts with direct children
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."),
'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."),
'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"),
'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'),
@ -1269,7 +1271,7 @@ class account_move(osv.osv):
'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)]}),
'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)]}),
'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),
@ -2090,7 +2092,7 @@ class account_tax(osv.osv):
tax_compute_precision = precision
if taxes and taxes[0].company_id.tax_calculation_rounding_method == 'round_globally':
tax_compute_precision += 5
totalin = totalex = round(price_unit * quantity, precision)
totalin = totalex = float_round(price_unit * quantity, precision)
tin = []
tex = []
for tax in taxes:

View File

@ -196,7 +196,7 @@
<notebook>
<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">
<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 domain="[('company_id', '=', parent.company_id), ('journal_id', '=', parent.journal_id), ('type', '&lt;&gt;', '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)]"/>
@ -344,7 +344,22 @@
<field name="sent" invisible="1"/>
<notebook colspan="4">
<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', '&lt;&gt;', '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">
<field name="amount_untaxed"/>
<div>

View File

@ -2601,7 +2601,7 @@ action = pool.get('res.config').next(cr, uid, [], context)
<h1><field name="name" class="oe_inline" attrs="{'invisible':[('name','=','/')]}"/></h1>
<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="total_entry_encoding"/>
<field name='company_id' widget="selection" groups="base.group_multi_company" />

View File

@ -45,7 +45,7 @@ class res_company(osv.osv):
_defaults = {
'expects_chart_of_accounts': True,
'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.
If the amount has already been paid, please disregard this notice. Otherwise, please forward us the total amount stated below.

View File

@ -36,7 +36,7 @@ class accounting_report(osv.osv_memory):
'period_to_cmp': fields.many2one('account.period', 'End Period'),
'date_from_cmp': fields.date("Start 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):

View File

@ -26,7 +26,7 @@ class account_common_journal_report(osv.osv_memory):
_description = 'Account Common Journal Report'
_inherit = "account.common.report"
_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):

View File

@ -30,7 +30,7 @@ class account_report_general_ledger(osv.osv_memory):
'landscape': fields.boolean("Landscape Mode"),
'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.'),
'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),
'journal_ids': fields.many2many('account.journal', 'account_report_general_ledger_journal_rel', 'account_id', 'journal_id', 'Journals', required=True),
}

View File

@ -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.'),
'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'),
'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),
}
_defaults = {

View File

@ -29,10 +29,10 @@
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.
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.
""",
'website': 'http://www.openerp.com',

View File

@ -1,20 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>
<!-- rename root menu "Accounting" -->
<record id="account.menu_finance" model="ir.ui.menu">
<field name="name">Accounting</field>
</record>
</data>
<!--
It's easier for new users to not activate this (ex: they misconfigure
header and footer.)
<record model="ir.actions.report.xml" id="account.account_invoices">
<field name="attachment_use">1</field>
</record>
-->
<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 Accounting and Finance has been installed</value>
<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>
</openerp>

View File

@ -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.
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",
"website": "http://www.camptocamp.com/",

View File

@ -446,7 +446,7 @@ class account_analytic_account(osv.osv):
help="Computed using the formula: Invoiced Amount - Total Costs.",
digits_compute=dp.get_precision('Account')),
'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')),
'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.",

View File

@ -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_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_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

1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
3 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
4 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
5 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

View File

@ -23,15 +23,17 @@
'name' : 'Account Analytic Defaults',
'version' : '1.0',
"category": 'Accounting & Finance',
'description': """Set default values for your analytic accounts
Allows to automatically select analytic accounts based on criterions:
=====================================================================
'description': """
Set default values for your analytic accounts.
=============================================
* Product
* Partner
* User
* Company
* Date
Allows to automatically select analytic accounts based on criterions:
---------------------------------------------------------------------
* Product
* Partner
* User
* Company
* Date
""",
'author' : 'OpenERP SA',
'website' : 'http://www.openerp.com',

View File

@ -30,13 +30,13 @@ class account_analytic_default(osv.osv):
_order = "sequence"
_columns = {
'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"),
'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)"),
'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)"),
'user_id': fields.many2one('res.users', 'User', ondelete='cascade', help="select a user which will use analytical 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)"),
'date_start': fields.date('Start Date', help="Default start date for this Analytical Account"),
'date_stop': fields.date('End Date', help="Default end date for this 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 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 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 analytic account specified in analytic default."),
'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 Analytic 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):

View File

@ -25,7 +25,7 @@
'version': '1.0',
'category': 'Accounting & Finance',
'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
@ -55,6 +55,7 @@ Plan2:
So when this line of invoice will be confirmed, it will generate 3 analytic lines,
for one account entry.
The analytic plan validates the minimum and maximum percentage at the time of creation
of distribution models.
""",

View File

@ -27,15 +27,18 @@
This module supports the Anglo-Saxon accounting methodology by changing the accounting logic with stock transactions.
=====================================================================================================================
The difference between the Anglo-Saxon accounting countries
and the Rhine or also called Continental accounting countries is the moment of taking the Cost of Goods Sold versus Cost of Sales.
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.
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""",
The difference between the Anglo-Saxon accounting countries and the Rhine (or also called
Continental accounting) countries is the moment of taking the Cost of Goods Sold versus
Cost of Sales. 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.
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"],
"depends": ["product", "purchase"],
"category": "Hidden/Dependency",
"category": "Accounting & Finance",
"init_xml": [],
"demo_xml": [],
"update_xml": ["product_view.xml",],

View File

@ -24,9 +24,13 @@
"version" : "1.0",
"depends" : ["account"],
"author" : "OpenERP S.A.",
"description": """Financial and accounting asset management.
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.
"description": """
Financial and accounting asset management.
==========================================
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",
"category" : "Accounting & Finance",

View File

@ -20,22 +20,23 @@
#
##############################################################################
{
'name': 'Bank Statement extensions to support e-banking',
'name': 'Bank Statement Extensions to Support e-banking',
'version': '0.3',
'license': 'AGPL-3',
'author': 'Noviat',
'category': 'Generic Modules/Accounting',
'description': '''
Module that extends the standard account_bank_statement_line object for improved e-banking support.
===================================================================================================
Adds
- valuta date
- batch payments
- traceability of changes to bank statement lines
- bank statement line views
- bank statements balances report
- 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
This module adds:
- valuta date
- batch payments
- traceability of changes to bank statement lines
- bank statement line views
- bank statements balances report
- 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
''',
'depends': ['account'],
'demo_xml': [],

View File

@ -28,21 +28,20 @@
This module allows accountants to manage analytic and crossovered budgets.
==========================================================================
Once the Master Budgets and the Budgets are defined (in Accounting/Budgets/),
the Project Managers can set the planned amount on each Analytic Account.
Once the Budgets are defined (in Invoicing/Budgets/Budgets), the Project Managers
can set the planned amount on each Analytic Account.
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
greater/lower than what he planned for this Budget/Master Budget. Each list of
record can also be switched to a graphical view of it.
Budget in order to ensure the total planned is not greater/lower than what he planned
for this Budget. Each list of record can also be switched to a graphical view of it.
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.
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',
'website': 'http://www.openerp.com',

View File

@ -28,7 +28,8 @@
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',
"images" : ["images/account_cancel.jpeg"],

View File

@ -19,12 +19,12 @@
#
##############################################################################
{
"name" : "Check writing",
"name" : "Check Writing",
"version" : "1.1",
"author" : "OpenERP SA, NovaPoint Group",
"category": "Generic Modules/Accounting",
"description": """
Module for the Check writing and check printing
Module for the Check Writing and Check Printing.
""",
'website': 'http://www.openerp.com',
'init_xml': [],

View File

@ -20,7 +20,7 @@
#
##############################################################################
{
"name": 'Belgium - Import bank CODA statements',
"name": 'Belgium - Import Bank CODA Statements',
"version": '2.1',
"author": 'Noviat',
"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.
* CODA v1 support.
* CODA v2.2 support.
* Foreign Currency support.
* Support for all data record types (0, 1, 2, 3, 4, 8, 9).
* Parsing & logging of all Transaction Codes and Structured Format Communications.
* Automatic Financial Journal assignment via CODA configuration parameters.
* Support for multiple Journals per Bank Account Number.
* 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).
* Multi-language CODA parsing, parsing configuration data provided for EN, NL, FR.
* CODA v1 support.
* CODA v2.2 support.
* Foreign Currency support.
* Support for all data record types (0, 1, 2, 3, 4, 8, 9).
* Parsing & logging of all Transaction Codes and Structured Format Communications.
* Automatic Financial Journal assignment via CODA configuration parameters.
* Support for multiple Journals per Bank Account Number.
* 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).
* 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.
Also Bank Statements are generated containing a subset of the CODA information (only those transaction lines
that are required for the creation of the Financial Accounting records).
The CODA Bank Statement is a 'read-only' object, hence remaining a reliable representation of the original CODA file
whereas the Bank Statement will get modified as required by accounting business processes.
The machine readable CODA Files are parsed and stored in human readable format in
CODA Bank Statements. Also Bank Statements are generated containing a subset of
the CODA information (only those transaction lines that are required for the creation
of the Financial Accounting records). The CODA Bank Statement is a 'read-only'
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.
A removal of one object in the CODA processing results in the removal of the associated objects.
The removal of a CODA File containing multiple Bank Statements will also remove those associated
statements.
A removal of one object in the CODA processing results in the removal of the associated
objects. The removal of a CODA File containing multiple Bank Statements will also
remove those associated statements.
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.
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.
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
after updating the OpenERP database with the information that was missing to allow automatic reconciliation.
In stead of a manual adjustment of the generated Bank Statements, you can also
re-import the CODA after updating the OpenERP database with the information that
was missing to allow automatic reconciliation.
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.

View File

@ -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:
Accounting/Configuration/Miscellaneous/Follow-ups
Once it is defined, you can automatically print recalls every day through simply clicking on the menu:
Accounting/Periodical Processing/Billing/Send follow-ups
Invoicing/Configuration/Miscellaneous/Follow-ups
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.
Once it is defined, you can automatically print recalls every day through simply
clicking on the menu:
Note that if you want to check the follow-up level for a given partner/account entry, you can do from in the menu:
Accounting/Reporting/Generic Reporting/Partners/Follow-ups Sent
Invoicing/Periodical Processing/Billing/Send follow-ups
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',

View File

@ -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
* serve as base for an easy plug-in of various automated payment mechanisms.
* provide a more efficient way to manage invoice payment.
* serve as base for an easy plug-in of various automated payment mechanisms.
* provide a more efficient way to manage invoice payment.
Warning:
--------

View File

@ -25,11 +25,12 @@
"author" : 'OpenERP SA',
"summary": 'Supplier & Customer Invoices, Payments',
"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 Receipt
* Voucher Receipt [Sales & Purchase]
* Voucher Payment [Customer & Supplier]
* Cheque Register
""",
"category": 'Accounting & Finance',
@ -37,7 +38,9 @@ Account Voucher module includes all the basic requirements of Voucher Entries fo
"website" : "http://tinyerp.com",
"images" : ["images/customer_payment.jpeg","images/journal_voucher.jpeg","images/sales_receipt.jpeg","images/supplier_voucher.jpeg"],
"depends" : ["account"],
"init_xml" : [],
"init_xml" : [
'account_voucher_data.xml',
],
"demo_xml" : [],

View File

@ -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 &amp; 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>

View File

@ -31,7 +31,7 @@ Module for defining analytic accounting object.
===============================================
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.
""",
"init_xml" : [],

View File

@ -26,7 +26,6 @@
'category': 'Hidden',
'description': """
This module is for modifying project view to show some data related to the hr_expense module.
======================================================================================================
""",
"author": "OpenERP S.A.",

View File

@ -26,7 +26,6 @@
'category': 'Hidden',
'description': """
This module is for modifying account analytic view to show some data related to the hr_expense module.
======================================================================================================
""",
"author": "OpenERP S.A.",

View File

@ -20,14 +20,14 @@
##############################################################################
{
"name" : "Contract On Project",
"name" : "Contract on Project",
"version": "1.1",
"author" : "OpenERP SA",
'category': 'Hidden',
"website" : "http://www.openerp.com",
"depends" : ["project", "account_analytic_analysis"],
"description": """
Add "Contract Data" in project view.
Add "Contract Data" in project view.
""",
"init_xml" : [],
"update_xml": ["analytic_contract_project_view.xml"],

View File

@ -78,6 +78,7 @@ class task(osv.osv):
def create(self, cr, uid, vals, context=None):
task_id = super(task, self).create(cr, uid, vals, 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
task()

View File

@ -28,9 +28,13 @@
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',

View File

@ -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 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 customers confidential data. The principle is that you run
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

View File

@ -1,6 +1,6 @@
{
'name': 'Anonymous',
'description': 'Allow anonymous access to OpenERP',
'description': 'Allow anonymous access to OpenERP.',
'author': 'OpenERP SA',
'version': '1.0',
'category': 'Tools',

View File

@ -4,10 +4,12 @@
<templates id="template" xml:space="preserve">
<t t-name="UserMenu.anonymous">
<div>
<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'"/>
Login
</a>
</div>
</t>
</templates>

View File

@ -28,7 +28,8 @@
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',
'depends': ['base_setup', 'membership', 'event'],

View File

@ -28,8 +28,8 @@
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
delete on objects and can check logs.
The administrator can subscribe to rules for read, write and delete on objects
and can check logs.
""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',

View File

@ -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"

View File

@ -29,7 +29,7 @@ This module allows to implement action rules for any object.
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
trigger an automatic reminder email.
""",

View File

@ -22,7 +22,7 @@
{
"name": "Calendar Layer",
"version": "1.0",
"depends": ["base", "base_status", "mail"],
"depends": ["base", "base_status", "mail", "base_action_rule"],
'description': """
This is a full-featured calendar system.
========================================

View File

@ -941,16 +941,19 @@ class calendar_event(osv.osv):
duration = 1.00
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")
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:
end = datetime.strptime(end_date, "%Y-%m-%d %H:%M:%S")
diff = end - start
@ -1025,8 +1028,8 @@ class calendar_event(osv.osv):
'id': fields.integer('ID', readonly=True),
'sequence': fields.integer('Sequence'),
'name': fields.char('Description', size=64, required=False, states={'done': [('readonly', True)]}),
'date': fields.datetime('Date', states={'done': [('readonly', True)]}),
'date_deadline': fields.datetime('Deadline', states={'done': [('readonly', True)]}),
'date': fields.datetime('Date', states={'done': [('readonly', True)]}, required=True,),
'date_deadline': fields.datetime('Deadline', states={'done': [('readonly', True)]}, required=True,),
'create_date': fields.datetime('Created', readonly=True),
'duration': fields.float('Duration', states={'done': [('readonly', True)]}),
'description': fields.text('Description', states={'done': [('readonly', True)]}),

View File

@ -136,7 +136,7 @@
<!-- Calenadar's menu -->
<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 -->

View File

@ -26,35 +26,34 @@
"website" : "http://www.openerp.com",
"category" : "Tools",
"description": """
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.
Replaces cleartext passwords in the database with a secure hash.
================================================================
All passwords will be replaced by a secure, salted, cryptographic
hash, preventing anyone from reading the original password in
the database.
For your existing user base, the removal of the cleartext passwords occurs
immediately when you instal base_crypt.
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.
All passwords will be replaced by a secure, salted, cryptographic hash,
preventing anyone from reading the original password in the database.
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,
as the password is still transmitted unencrypted on the network, unless you
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
contain critical data. Appropriate security measures need to be implemented
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
will disable LDAP authentication completely if installed at the same time.
""",
""",
"depends" : ["base"],
"data" : [],
"auto_install": False,

View File

@ -23,10 +23,11 @@
'version': '1.0',
"category": 'Hidden/Dependency',
'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',
'website': 'http://www.openerp.com',

View File

@ -28,19 +28,18 @@
This module allows you to create a new module without any development.
======================================================================
It records all operations on objects during the recording session and
produce a .ZIP module. So you can create your own module directly from
the OpenERP client.
It records all operations on objects during the recording session and produce a
.ZIP module. So you can create your own module directly from the OpenERP client.
This version works for creating and updating existing records. It recomputes
dependencies and links for all types of widgets (many2one, many2many, ...).
It also support workflows and demo/update data.
This should help you to easily create reusable and publishable modules
for custom configurations and demo/testing data.
This should help you to easily create reusable and publishable modules for custom
configurations and demo/testing data.
How to use it:
Run Administration/Customization/Module Creation/Export Customizations As a Module wizard.
How to use it?:
Run Settings/Technical/Module Creation/Export Customizations As a Module wizard.
Select datetime criteria of recording and objects to be recorded and Record module.
""",
'author': 'OpenERP SA',

View File

@ -28,9 +28,8 @@
This module is used along with OpenERP OpenOffice Plugin.
=========================================================
This module adds wizards to Import/Export .sxw report that
you can modify in OpenOffice. Once you have modified it you can
upload the report using the same wizard.
This module adds wizards to Import/Export .sxw report that you can modify in OpenOffice.
Once you have modified it you can upload the report using the same wizard.
""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',

View File

@ -174,7 +174,7 @@ class Fields(unohelper.Base, XJobExecutor ):
self.win.doModalDialog("lstFields",self.sValue)
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()
def lstbox_selected(self,oItemEvent):

View File

@ -154,7 +154,7 @@ class AddLang(unohelper.Base, XJobExecutor ):
self.win.doModalDialog("lstFields",self.sValue)
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()
def lstbox_selected(self,oItemEvent):

View File

@ -77,7 +77,7 @@ class modify(unohelper.Base, XJobExecutor ):
ErrorDialog(
"Please insert user define field Field-1",
"Just go to File->Properties->User Define \n"
"Field-1 Eg. http://localhost:8069"
"Field-1 E.g. http://localhost:8069"
)
exit(1)
@ -108,9 +108,9 @@ class modify(unohelper.Base, XJobExecutor ):
ErrorDialog(
"Please insert user define field Field-1 or Field-4",
"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"
"Field-4 Eg. account.invoice"
"Field-4 E.g. account.invoice"
)
exit(1)

View File

@ -33,13 +33,18 @@ Shows you a list of applications features to install from.
""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
'depends': ['base'],
'init_xml': [],
'update_xml': ['security/ir.model.access.csv', 'base_setup_views.xml', 'res_config_view.xml'],
'demo_xml': [],
'depends': ['base', 'web_kanban'],
'data': [
'security/ir.model.access.csv',
'base_setup_views.xml',
'res_config_view.xml',
'res_partner_view.xml',
],
'demo': [],
'installable': True,
'auto_install': False,
'certificate': '0086711085869',
'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:

View File

@ -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>

View File

@ -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]);
});
});
}
}
});
};

View File

@ -26,6 +26,7 @@
'description': """
This module handles state and stage. It is derived from the crm_base and
crm_case classes from crm.
========================================================================
* ``base_state``: state management
* ``base_stage``: stage management

View File

@ -9,7 +9,7 @@
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": [],
"update_xml": [

View File

@ -24,8 +24,8 @@
'version': '1.0',
"category": 'Hidden/Dependency',
'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
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
such as Chile, Colombia, Mexico, Norway or Russia. For unsupported countries,
only the country code will be validated.
""",
'author': 'OpenERP SA',
'depends': ['account'],

View File

@ -21,7 +21,7 @@
{
"name": "Share Calendar using CalDAV",
"name": "Share Calendar Using CalDAV",
"version": "1.1",
"depends": [
"base",

View File

@ -31,7 +31,8 @@ The generic OpenERP Customer Relationship Management.
=====================================================
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,
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
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
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.
The CRM module has a email gateway for the synchronisation interface
between mails and OpenERP.
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)
* Opportunities by Stage (graph)
""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',

View File

@ -110,7 +110,7 @@ class crm_case_section(osv.osv):
'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."),
'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'),
'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"),

View File

@ -17,5 +17,27 @@
<field name="name">Sales Department</field>
<field name="code">Sales</field>
</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>
</openerp>

View File

@ -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"),
'description': fields.text('Notes'),
'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')]"),
'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?"),

View File

@ -39,7 +39,7 @@
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(392) 895-7917'" name="mobile"/>
<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 eval="'Interest in Your New Product'" name="name"/>
<field eval="'(956) 293-2595'" name="phone"/>
@ -56,7 +56,7 @@
<field name="section_id" ref="crm.section_sales_department"/>
<field eval="'(820) 167-3208'" name="mobile"/>
<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 eval="'Need Info about Web Design'" name="name"/>
<field eval="'(079) 681-2139'" name="phone"/>
@ -91,7 +91,7 @@
<field name="section_id" ref="crm.section_sales_marketing_department"/>
<field eval="'(333) 715-1450'" name="mobile"/>
<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 eval="'Need a Quotation for PC1'" name="name"/>
<field eval="'(855) 924-4364'" name="phone"/>
@ -111,7 +111,7 @@
<field name="country_id" ref="base.it"/>
<field name="section_id" ref="crm.section_sales_department"/>
<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 eval="'Need Info about your Services'" name="name"/>
<field eval="'(373) 907-1009'" name="phone"/>
@ -130,7 +130,7 @@
<field name="country_id" ref="base.ua"/>
<field name="section_id" ref="crm.section_sales_department"/>
<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 eval="'Info about Your Company ?'" name="name"/>
<field eval="'(282) 603-7489'" name="phone"/>
@ -143,7 +143,7 @@
<field name="user_id" ref="base.user_demo"/>
<field eval="'Survey'" name="name"/>
<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 eval="'Survey Expert'" name="partner_name"/>
<field eval="'John Smith'" name="contact_name"/>
@ -161,7 +161,7 @@
<field name="user_id" ref="base.user_root"/>
<field eval="'Partnership'" name="name"/>
<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 eval="'Marketing Business'" name="partner_name"/>
<field eval="'Laure Smith'" name="contact_name"/>
@ -189,7 +189,7 @@
<field name="user_id" ref="base.user_demo"/>
<field eval="'Need Info about Onsite Intervention'" name="name"/>
<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 eval="'Agrolait'" name="partner_name"/>
<field eval="'Sylvie Lelitre'" name="contact_name"/>
@ -202,7 +202,7 @@
<field name="user_id" ref="base.user_demo"/>
<field eval="'Need Quotation for 100 PC and 100 Keyboards'" name="name"/>
<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 eval="'Centrale d\'achats 1'" name="partner_name"/>
</record>
@ -234,7 +234,7 @@
<field name="user_id" ref="base.user_root"/>
<field eval="'150000'" name="planned_revenue"/>
<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 eval="'Plan to buy 200 PC2'" name="name"/>
<field eval="'Conf call with purchase manager'" name="title_action"/>
@ -249,7 +249,7 @@
<field eval="45000.0" name="planned_revenue"/>
<field eval="35" name="probability"/>
<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 eval="'Pricing Information of Onsite Intervention'" name="name"/>
<field eval="'Send price list regarding our interventions'" name="title_action"/>
@ -271,7 +271,7 @@
<field eval="30000.0" name="planned_revenue"/>
<field eval="30" name="probability"/>
<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 eval="'Interest in your Kitchen Design Project'" name="name"/>
<field eval="'Send Catalogue by Email'" name="title_action"/>
@ -345,7 +345,7 @@
<field eval="2500.0" name="planned_revenue"/>
<field eval="25" name="probability"/>
<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 eval="'Plan train our students on your product'" name="name"/>
<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="40" name="probability"/>
<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 eval="'Plan to buy 66 keyboards and 66 mouses'" name="name"/>
<field eval="'Propose the kit keyboard+mouse'" name="title_action"/>
@ -391,7 +391,7 @@
<field eval="55000.0" name="planned_revenue"/>
<field eval="90" name="probability"/>
<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 eval="'Need 20 Days of Consultancy'" name="name"/>
<field eval="time.strftime('%Y-%m-%d')" name="date_deadline"/>
@ -407,7 +407,7 @@
<field name="user_id" ref="base.user_demo"/>
<field eval="45000.0" name="planned_revenue"/>
<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 eval="'Need a new design for my website'" name="name"/>
<field eval="time.strftime('%Y-05-01')" name="date_action"/>
@ -429,7 +429,7 @@
<field name="user_id" ref="base.user_demo"/>
<field eval="42000.0" name="planned_revenue"/>
<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 eval="'Want to subscribe to your online solution'" name="name"/>
</record>
@ -442,7 +442,7 @@
<field name="user_id" ref="base.user_root"/>
<field eval="25000.0" name="planned_revenue"/>
<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 eval="'Interest in your Partnership Contract'" name="name"/>
</record>
@ -456,7 +456,7 @@
<field eval="5000" name="planned_revenue"/>
<field eval="30" name="probability"/>
<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 eval="'Plan to attend a training'" name="name"/>
<field eval="time.strftime('%Y-04-10')" name="date_action"/>
@ -478,7 +478,7 @@
<field name="user_id" ref="base.user_root"/>
<field eval="'150000'" name="planned_revenue"/>
<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 eval="'Need to customize the solution'" name="name"/>
<field eval="'Conf call with technical service'" name="title_action"/>
@ -499,7 +499,7 @@
<field name="user_id" ref="base.user_root"/>
<field eval="'1200'" name="planned_revenue"/>
<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 eval="'Interest in your customizable PC'" name="name"/>
<field eval="time.strftime('%Y-08-05')" name="date_action"/>
@ -518,7 +518,7 @@
<field name="partner_id" ref="base.res_partner_7"/>
<field eval="'3'" name="priority"/>
<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 eval="'Need more info about the onsite intervention'" name="name"/>
</record>
@ -529,7 +529,7 @@
<field name="partner_id" ref="base.res_partner_2"/>
<field eval="'3'" name="priority"/>
<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 eval="'Need more info about your pc2'" name="name"/>
</record>

View File

@ -12,17 +12,11 @@
<field name="context">{'default_type':'lead', 'stage_type':'lead'}</field>
<field name="help">
&lt;img src="http://www.thaicrmsoftware.com/wp-content/uploads/2011/11/lead-conversion.jpg" align="right" style="padding: 6px" width="306" height="223"&gt;
&lt;h2&gt;Create your first OpenERP Lead &lt;/h2&gt;
&lt;p&gt;
Leads allow you to manage and keep track of all initial contacts with a prospect or partner showing interest in your products or services.
&lt;h2&gt;Click here to create a Lead. &lt;/h2&gt;
&lt;p&gt;
A lead is usually the first step in your sales cycle.
&lt;p&gt;
Once qualified, a lead may be converted into a business opportunity, while creating the related partner for further detailed tracking of any linked activities.
&lt;p&gt;
You can import a database of prospects, keep track of your business cards or integrate your website's contact form with the OpenERP Leads.
&lt;p&gt;
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>
</record>
@ -43,7 +37,7 @@
<record model="ir.actions.act_window" id="crm_case_category_act_oppor11">
<field name="name">Opportunities</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="context">{'stage_type': 'opportunity', 'default_type': 'opportunity'}</field>
<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"/>
</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="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" />

View File

@ -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>
</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
@ -145,13 +145,13 @@
<group>
<group>
<field name="user_id" />
<field name="section_id" widget="selection" />
<field name="section_id"/>
<field name="type" invisible="1"/>
</group>
<group>
<field name="priority"/>
<field name="categ_id"
widget="selection"
<field name="categ_ids"
widget="many2many_tags"
domain="[('object_id.model','=','crm.lead')]"/>
</group>
<group>
@ -233,7 +233,7 @@
<field name="email_from"/>
<field name="phone"/>
<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="state" groups="base.group_no_one"/>
<field name="type_id" invisible="1"/>
@ -391,7 +391,6 @@
<filter string="Team" icon="terp-personal+" domain="[]" context="{'group_by':'section_id'}"/>
<filter string="Referrer" icon="terp-personal" domain="[]" context="{'group_by':'referred'}"/>
<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"
domain="[]" context="{'group_by':'type_id'}" />
<filter string="Channel" icon="terp-call-start"
@ -431,9 +430,9 @@
<form string="Opportunities" version="7.0">
<header>
<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"
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"
states="open" class="oe_highlight"/>
<button name="case_mark_won" string="Mark Won" type="object"
@ -483,7 +482,7 @@
<group>
<label for="title_action"/>
<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"/>
</div>
<field name="date_deadline"/>
@ -495,9 +494,9 @@
<field name="section_id" colspan="1" widget="selection"/>
</group>
<group>
<field name="categ_id"
string="Category" widget="selection"
domain="[('object_id.model', '=', 'crm.lead')]" />
<field name="categ_ids"
string="Categories" widget="many2many_tags"
domain="[('object_id.model', '=', 'crm.lead')]"/>
</group>
</group>
@ -593,7 +592,6 @@
<field name="section_id" invisible="context.get('invisible_section', True)" />
<field name="user_id"/>
<field name="priority" invisible="1"/>
<field name="categ_id" invisible="1"/>
<field name="state" groups="base.group_no_one"/>
<field name="needaction_pending" invisible="1"/>
</tree>
@ -645,7 +643,6 @@
<separator orientation="vertical" />
<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="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="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'}"/>
@ -664,19 +661,5 @@
</field>
</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>
</openerp>

View File

@ -41,7 +41,7 @@ class crm_phonecall(base_state, osv.osv):
'section_id': fields.many2one('crm.case.section', 'Sales Team', \
select=True, help='Sales team to which Case belongs to.'),
'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'),
'description': fields.text('Description'),
'state': fields.selection([ ('draft', 'Draft'),

View File

@ -68,7 +68,13 @@
<field name="domain">[]</field>
<field name="context">{}</field>
<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.
&lt;p&gt;
This tool allows you to log your calls on the fly.
&lt;p&gt;
From this feature, you can trigger a request for another call, a meeting or an opportunity.
</field>
</record>
@ -106,7 +112,13 @@
<field name="domain">[('state','!=','done')]</field>
<field name="context" eval="'{\'default_state\':\'open\'}'"/>
<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.
&lt;p&gt;
Scheduled calls list all the calls to be done by your sales team.
&lt;p&gt;
This information will be stored in the partner form to trace every contact you have with a customer.
</field>
</record>
<record model="ir.actions.act_window.view" id="action_crm_tag_tree_phone_outgoing0">

View File

@ -137,7 +137,7 @@
<field name="user_id" />
<field name="duration" widget="float_time" />
<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"
domain="[('object_id.model', '=', 'crm.phonecall')]"/>
<field name="partner_mobile" />
@ -165,8 +165,7 @@
<field name="date"/>
<field name="name"/>
<field name="partner_id"
on_change="onchange_partner_id(partner_id)"
string="Partner" />
on_change="onchange_partner_id(partner_id)"/>
<field name="partner_phone"
invisible="1"/>
<field name="user_id"/>

View File

@ -85,8 +85,6 @@ class crm_lead_report(osv.osv):
'probability': fields.float('Probability',digits=(16,2),readonly=True, group_operator="avg"),
'planned_revenue': fields.float('Planned 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)]"),
'partner_id': fields.many2one('res.partner', 'Partner' , readonly=True),
'nbr': fields.integer('# of Cases', readonly=True),
@ -134,7 +132,6 @@ class crm_lead_report(osv.osv):
c.section_id,
c.channel_id,
c.type_id,
c.categ_id,
c.partner_id,
c.country_id,
c.planned_revenue,

View File

@ -16,7 +16,6 @@
<field name="deadline_month" invisible="1"/>
<field name="state" invisible="1"/>
<field name="stage_id" invisible="1"/>
<field name="categ_id" invisible="1"/>
<field name="type_id" invisible="1"/>
<field name="channel_id" invisible="1"/>
<field name="type" invisible="1"/>
@ -114,7 +113,6 @@
<field name="partner_id"/>
<separator orientation="vertical"/>
<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="channel_id" widget="selection"/>
<separator orientation="vertical"/>
@ -140,8 +138,6 @@
<separator orientation="vertical" />
<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="Category" name="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="Channel" icon="terp-call-start"
@ -183,7 +179,6 @@
<field name="state" invisible="1"/>
<field name="stage_id" invisible="1"/>
<field name="priority" invisible="1"/>
<field name="categ_id" invisible="1"/>
<field name="type_id" invisible="1"/>
<field name="channel_id" invisible="1"/>
<field name="type" invisible="1"/>

View File

@ -11,7 +11,7 @@
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<field name="user_id" position="after">
<field name="section_id" completion="1" widget="selection"/>
<field name="section_id" completion="1"/>
</field>
</field>
</record>
@ -24,7 +24,7 @@
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<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>
</record>
@ -37,11 +37,16 @@
<field eval="18" name="priority"/>
<field name="arch" type="xml">
<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>
<xpath expr="//field[@name='user_id']" position="after">
<field name="country_id"/>
</xpath>
<xpath expr="//group[@string='Group By...']" position="after">
<group string="Display">
<filter string="Show Sales Team" context="{'invisible_section': False}"/>
</group>
</xpath>
</field>
</record>
@ -88,12 +93,6 @@
<field name="view_id" ref="crm_case_form_view_oppor"/>
<field name="act_window_id" ref="relate_partner_opportunities"/>
</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 -->
<record model="ir.ui.view" id="crm_lead_partner_kanban_view">
@ -101,16 +100,17 @@
<field name="model">res.partner</field>
<field name="type">kanban</field>
<field name="inherit_id" ref="base.res_partner_kanban_view"/>
<field name="priority" eval="10"/>
<field name="arch" type="xml">
<field name="mobile" position="after">
<field name="opportunity_count"/>
<field name="meeting_count"/>
</field>
<xpath expr="//h4[@class='oe_partner_heading']" position="after">
<a name="%(relate_partner_opportunities)d" type="action" t-if="record.opportunity_count.value>0" class="oe_tag">
<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">
<t t-esc="record.opportunity_count.value"/> Opportunities
</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
</a>
</xpath>

View File

@ -29,7 +29,7 @@
Caldav features in Meeting.
===========================
* Share meeting with other calendar clients like sunbird
* Share meeting with other calendar clients like sunbird
""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',

View File

@ -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"),
'planned_revenue': fields.float('Planned 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)]"),
'partner_id': fields.many2one('res.partner', 'Customer' , 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.priority,
c.section_id,
c.categ_id,
c.partner_id,
c.country_id,
c.planned_revenue,

View File

@ -29,7 +29,6 @@
<field name="partner_id"/>
<separator orientation="vertical"/>
<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"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
<newline/>
@ -49,8 +48,6 @@
context="{'group_by':'section_id'}" />
<filter string="Grade" name="group_grade" icon="terp-stock_symbol-selection"
domain="[]" context="{'group_by':'grade_id'}" />
<filter string="Category" icon="terp-stock_symbol-selection"
domain="[]" context="{'group_by':'categ_id'}" />
<separator orientation="vertical" />
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
@ -115,7 +112,6 @@
<field name="state" invisible="1"/>
<field name="stage_id" invisible="1"/>
<field name="priority" invisible="1"/>
<field name="categ_id" invisible="1"/>
<field name="type" invisible="1"/>
<field name="company_id" invisible="1" groups="base.group_multi_company"/>
<field name="nbr" string="#Opportunities" sum="#Opportunities"/>

View File

@ -28,11 +28,15 @@
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',
'website': 'http://www.openerp.com',

View File

@ -22,8 +22,8 @@
{
"name": "Decimal Precision Configuration",
"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.
""",

View File

@ -28,10 +28,9 @@
Allows you to add delivery methods in sale orders and picking.
==============================================================
You can define your own carrier and delivery grids for prices.
When creating invoices from picking, OpenERP is able to add and compute the shipping line.
""",
You can define your own carrier and delivery grids for prices. When creating
invoices from picking, OpenERP is able to add and compute the shipping line.
""",
'author': 'OpenERP SA',
'depends': ['sale', 'purchase', 'stock'],
'init_xml': ['delivery_data.xml'],

View File

@ -68,7 +68,7 @@ class delivery_carrier(osv.osv):
'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."),
'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"),
'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'),

View File

@ -29,7 +29,7 @@ This is a complete document management system.
==============================================
* 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:
* New Files (list)
* Files by Resource Type (graph)
@ -37,8 +37,8 @@ This is a complete document management system.
* Files Size by Month (graph)
ATTENTION:
- When you install this module in a running company that have already PDF files stored into the database,
you will lose them all.
- When you install this module in a running company that have already PDF
files stored into the database, you will lose them all.
- After installing this module PDF's are no longer stored into the database,
but in the servers rootpad like /server/bin/filestore.
""",

View File

@ -375,7 +375,7 @@ class node_class(object):
could do various things.
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.
"""
raise NotImplementedError(repr(self))

View File

@ -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.
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:
[webdav]
@ -55,7 +56,7 @@ Server Configuration Parameter:
; these options on
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"],
"init_xml" : [],

View File

@ -23,15 +23,14 @@
'version': '1.0',
'category': 'Tools',
'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
documents between different systems, and provides generic
mechanisms to import and export them.
OpenERP specifies a generic EDI format for exchanging business documents between
different systems, and provides generic mechanisms to import and export them.
More details about OpenERP's EDI format may be found in the
technical OpenERP documentation at http://doc.openerp.com
More details about OpenERP's EDI format may be found in the technical OpenERP
documentation at http://doc.openerp.com.
""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',

View File

@ -28,8 +28,8 @@
"category" : "Marketing",
"depends" : ['mail'],
"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
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.
Technical note: only the templating system of the original Power Email by
Openlabs was kept
Openlabs was kept.
""",
"data": [
'wizard/email_template_preview_view.xml',
'email_template_view.xml',
'res_partner_view.xml',
'wizard/email_compose_message_view.xml',
'wizard/mail_compose_message_view.xml',
'security/ir.model.access.csv'
],
"demo": [

View File

@ -41,10 +41,10 @@
on_change="on_change_template(use_template, template_id, False, False, context)"/>
</xpath>
<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=""
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=""
help="Save as a new template"/>
</xpath>

View File

@ -32,12 +32,12 @@ Organization and management of Events.
This module allows you
* 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:
- You can define new types of events in
Association / Configuration / Types of Events
Events/Configuration/Types of Events
""",
'author': 'OpenERP SA',
'depends': ['base_setup', 'board', 'email_template', 'google_map'],

View File

@ -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>

1264
addons/event/i18n/nb.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -25,33 +25,32 @@
'version': '0.1',
'category': 'Tools',
'description': """
Configure your moodle server
Configure your moodle server.
=============================
With this module you are able to connect your OpenERP with a moodle plateform.
This module will create courses and students automatically in your moodle plateform to avoid wasting time.
Now you have a simple way to create training or courses with OpenERP and moodle
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 platform
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
activate the xmlrpc web service
>site administration >plugins >web services >manage protocols activate the xmlrpc web service
>site administration >plugins>web sevices >manage tokens
create a token
>site administration >plugins >web services >manage tokens create a token
>site administration >plugins>web sevices >overview
activate webservice
>site administration >plugins >web services >overview activate webservice
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.
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.
........your configuration text.......

View File

@ -28,9 +28,14 @@
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',
'depends': ['event','sale','sale_crm'],

View File

@ -37,7 +37,7 @@ product()
class sale_order_line(osv.osv):
_inherit = 'sale.order.line'
_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
'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'),

View File

@ -27,36 +27,33 @@
"author" : "OpenERP SA",
"category": 'Tools',
"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
emails on these accounts will be automatically downloaded into your OpenERP
system. All POP3/IMAP-compatible servers are supported, included those
that require an encrypted SSL/TLS connection.
Enter the parameters of your POP/IMAP account(s), and any incoming emails on
these accounts will be automatically downloaded into your OpenERP system. All
POP3/IMAP-compatible servers are supported, included those that require an
encrypted SSL/TLS connection.
This can be used to easily create email-based workflows for many
email-enabled OpenERP documents, such as:
This can be used to easily create email-based workflows for many email-enabled
OpenERP documents, such as:
* CRM Leads/Opportunities
* CRM Claims
* Project Issues
* Project Tasks
* Human Resource Recruitments (Applicants)
* etc.
* CRM Leads/Opportunities
* CRM Claims
* Project Issues
* Project Tasks
* Human Resource Recruitments (Applicants)
Just install the relevant application, and you can assign any of
these document types (Leads, Project Issues, etc.) to your incoming
email accounts. New emails will automatically spawn new documents
of the chosen type, so it's a snap to create a mailbox-to-OpenERP
integration. Even better: these documents directly act as mini
conversations synchronized by email. You can reply from within
OpenERP, and the answers will automatically be collected when
they come back, and attached to the same *conversation* document.
Just install the relevant application, and you can assign any of these document
types (Leads, Project Issues) to your incoming email accounts. New emails will
automatically spawn new documents of the chosen type, so it's a snap to create a
mailbox-to-OpenERP integration. Even better: these documents directly act as mini
conversations synchronized by email. You can reply from within OpenERP, and the
answers will automatically be collected when they come back, and attached to the
same *conversation* document.
For more specific needs, you may also assign custom-defined actions
(technically: Server Actions) to be triggered for each incoming
mail.
(technically: Server Actions) to be triggered for each incoming mail.
""",
'website': 'http://www.openerp.com',
'init_xml': [],

View File

@ -24,7 +24,7 @@
'name': 'Google Users',
'version': '1.0',
'category': 'Tools',
'description': """The module adds google user in res user""",
'description': """The module adds google user in res user.""",
'author': 'OpenERP SA',
'website': 'http://www.openerp.com',
'depends': ['base'],

View File

@ -28,7 +28,7 @@
"website": "http://www.openerp.com",
"summary": "Hierarchy, Jobs, Departments",
"description": """
Module for human resource management.
Module for Human Resource Management.
=====================================
You can manage:

View File

@ -1,6 +1,23 @@
<?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 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">
<field name="name">Administrator</field>

View File

@ -9,7 +9,7 @@
sequence="110"/>
<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_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"
parent="menu_hr_reporting" sequence="6" />
@ -348,7 +348,7 @@
</record>
<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">
<field name="name">hr.job.form</field>

View File

@ -28,9 +28,10 @@
Add all information on the employee form to manage contracts.
=============================================================
* Marital status,
* Security number,
* Place of birth, birth date, ...
* Contract
* Place of Birth,
* Medical Examination Date
* Company Vehicle
You can assign several contracts per employee.
""",

View File

@ -28,7 +28,7 @@
<field name="place_of_birth"/>
</field>
<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>
</data>
</field>

View File

@ -32,12 +32,11 @@
Ability to create employees evaluation.
=======================================
An evaluation can be created by employee for subordinates,
juniors as well as his manager.The evaluation is done under a plan
in which various surveys can be created and it can be defined which
level of employee hierarchy fills what and final review and evaluation
is done by the manager.Every evaluation filled by the employees can be viewed
in the form of pdf file. Implements a dashboard for My Current Evaluations
An evaluation can be created by employee for subordinates, juniors as well as
his manager. The evaluation is done under a plan in which various surveys can be
created and it can be defined which level of employee hierarchy fills what and
final review and evaluation is done by the manager. Every evaluation filled by
the employees can be viewed in the form of pdf file.
""",
"demo": ["hr_evaluation_demo.xml"],
"data": [

View File

@ -156,7 +156,7 @@ class hr_evaluation(osv.osv):
('2','Meet expectations'),
('3','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'),
'plan_id': fields.many2one('hr_evaluation.plan', 'Plan', required=True),
'state': fields.selection([

View File

@ -1,6 +1,18 @@
<?xml version="1.0"?>
<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 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">
<field name="title">Self Appraisal</field>
<field name="max_response_limit">20</field>

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