diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py
index 114f0a5860c..e1b9078ec3f 100644
--- a/addons/account/__openerp__.py
+++ b/addons/account/__openerp__.py
@@ -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'],
diff --git a/addons/account/account.py b/addons/account/account.py
index fab9de5407c..057993f0212 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -101,7 +101,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." \
@@ -731,7 +731,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 +1269,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),
@@ -1788,7 +1788,7 @@ class account_tax_code(osv.osv):
'line_ids': fields.one2many('account.move.line', 'tax_code_id', 'Lines'),
'company_id': fields.many2one('res.company', 'Company', required=True),
'sign': fields.float('Coefficent for parent', required=True, help='You can specify here the coefficient that will be used when consolidating the amount of this case into its parent. For example, set 1/-1 if you want to add/substract it.'),
- 'notprintable':fields.boolean("Not Printable in Invoice", help="Check this box if you don't want any VAT related to this Tax Code to appear on invoices"),
+ 'notprintable':fields.boolean("Not Printable in Invoice", help="Check this box if you don't want any tax related to this tax code to appear on invoices"),
'sequence': fields.integer('Sequence', help="Determine the display order in the report 'Accounting \ Reporting \ Generic Reporting \ Taxes \ Taxes Report'"),
}
@@ -1880,17 +1880,17 @@ class account_tax(osv.osv):
'python_applicable':fields.text('Python Code'),
#
- # Fields used for the VAT declaration
+ # Fields used for the Tax declaration
#
- 'base_code_id': fields.many2one('account.tax.code', 'Account Base Code', help="Use this code for the VAT declaration."),
- 'tax_code_id': fields.many2one('account.tax.code', 'Account Tax Code', help="Use this code for the VAT declaration."),
+ 'base_code_id': fields.many2one('account.tax.code', 'Account Base Code', help="Use this code for the tax declaration."),
+ 'tax_code_id': fields.many2one('account.tax.code', 'Account Tax Code', help="Use this code for the tax declaration."),
'base_sign': fields.float('Base Code Sign', help="Usually 1 or -1."),
'tax_sign': fields.float('Tax Code Sign', help="Usually 1 or -1."),
# Same fields for refund invoices
- 'ref_base_code_id': fields.many2one('account.tax.code', 'Refund Base Code', help="Use this code for the VAT declaration."),
- 'ref_tax_code_id': fields.many2one('account.tax.code', 'Refund Tax Code', help="Use this code for the VAT declaration."),
+ 'ref_base_code_id': fields.many2one('account.tax.code', 'Refund Base Code', help="Use this code for the tax declaration."),
+ 'ref_tax_code_id': fields.many2one('account.tax.code', 'Refund Tax Code', help="Use this code for the tax declaration."),
'ref_base_sign': fields.float('Base Code Sign', help="Usually 1 or -1."),
'ref_tax_sign': fields.float('Tax Code Sign', help="Usually 1 or -1."),
'include_base_amount': fields.boolean('Included in base amount', help="Indicates if the amount of tax must be included in the base amount for the computation of the next taxes"),
@@ -2217,7 +2217,7 @@ class account_tax(osv.osv):
def compute_inv(self, cr, uid, taxes, price_unit, quantity, product=None, partner=None, precision=None):
"""
Compute tax values for given PRICE_UNIT, QUANTITY and a buyer/seller ADDRESS_ID.
- Price Unit is a VAT included price
+ Price Unit is a Tax included price
RETURN:
[ tax ]
@@ -2673,7 +2673,7 @@ class account_tax_code_template(osv.osv):
'parent_id': fields.many2one('account.tax.code.template', 'Parent Code', select=True),
'child_ids': fields.one2many('account.tax.code.template', 'parent_id', 'Child Codes'),
'sign': fields.float('Sign For Parent', required=True),
- 'notprintable':fields.boolean("Not Printable in Invoice", help="Check this box if you don't want any VAT related to this Tax Code to appear on invoices"),
+ 'notprintable':fields.boolean("Not Printable in Invoice", help="Check this box if you don't want any tax related to this tax Code to appear on invoices."),
}
_defaults = {
@@ -2788,17 +2788,17 @@ class account_tax_template(osv.osv):
'python_applicable':fields.text('Python Code'),
#
- # Fields used for the VAT declaration
+ # Fields used for the Tax declaration
#
- 'base_code_id': fields.many2one('account.tax.code.template', 'Base Code', help="Use this code for the VAT declaration."),
- 'tax_code_id': fields.many2one('account.tax.code.template', 'Tax Code', help="Use this code for the VAT declaration."),
+ 'base_code_id': fields.many2one('account.tax.code.template', 'Base Code', help="Use this code for the tax declaration."),
+ 'tax_code_id': fields.many2one('account.tax.code.template', 'Tax Code', help="Use this code for the tax declaration."),
'base_sign': fields.float('Base Code Sign', help="Usually 1 or -1."),
'tax_sign': fields.float('Tax Code Sign', help="Usually 1 or -1."),
# Same fields for refund invoices
- 'ref_base_code_id': fields.many2one('account.tax.code.template', 'Refund Base Code', help="Use this code for the VAT declaration."),
- 'ref_tax_code_id': fields.many2one('account.tax.code.template', 'Refund Tax Code', help="Use this code for the VAT declaration."),
+ 'ref_base_code_id': fields.many2one('account.tax.code.template', 'Refund Base Code', help="Use this code for the tax declaration."),
+ 'ref_tax_code_id': fields.many2one('account.tax.code.template', 'Refund Tax Code', help="Use this code for the tax declaration."),
'ref_base_sign': fields.float('Base Code Sign', help="Usually 1 or -1."),
'ref_tax_sign': fields.float('Tax Code Sign', help="Usually 1 or -1."),
'include_base_amount': fields.boolean('Include in Base Amount', help="Set if the amount of tax must be included in the base amount before computing the next taxes."),
diff --git a/addons/account/account_bank_statement.py b/addons/account/account_bank_statement.py
index 8f9c6ed1d6f..11bcf565260 100644
--- a/addons/account/account_bank_statement.py
+++ b/addons/account/account_bank_statement.py
@@ -173,7 +173,158 @@ class account_bank_statement(osv.osv):
def button_dummy(self, cr, uid, ids, context=None):
return self.write(cr, uid, ids, {}, context=context)
+ def _prepare_move(self, cr, uid, st_line, st_line_number, context=None):
+ """Prepare the dict of values to create the move from a
+ statement line. This method may be overridden to implement custom
+ move generation (making sure to call super() to establish
+ a clean extension chain).
+
+ :param browse_record st_line: account.bank.statement.line record to
+ create the move from.
+ :param char st_line_number: will be used as the name of the generated account move
+ :return: dict of value to create() the account.move
+ """
+ return {
+ 'journal_id': st_line.statement_id.journal_id.id,
+ 'period_id': st_line.statement_id.period_id.id,
+ 'date': st_line.date,
+ 'name': st_line_number,
+ 'ref': st_line.ref,
+ }
+
+ def _prepare_bank_move_line(self, cr, uid, st_line, move_id, amount, company_currency_id,
+ context=None):
+ """Compute the args to build the dict of values to create the bank move line from a
+ statement line by calling the _prepare_move_line_vals. This method may be
+ overridden to implement custom move generation (making sure to call super() to
+ establish a clean extension chain).
+
+ :param browse_record st_line: account.bank.statement.line record to
+ create the move from.
+ :param int/long move_id: ID of the account.move to link the move line
+ :param float amount: amount of the move line
+ :param int/long company_currency_id: ID of currency of the concerned company
+ :return: dict of value to create() the bank account.move.line
+ """
+ anl_id = st_line.analytic_account_id and st_line.analytic_account_id.id or False
+ debit = ((amount<0) and -amount) or 0.0
+ credit = ((amount>0) and amount) or 0.0
+ cur_id = False
+ amt_cur = False
+ if st_line.statement_id.currency.id <> company_currency_id:
+ cur_id = st_line.statement_id.currency.id
+ if st_line.account_id and st_line.account_id.currency_id and st_line.account_id.currency_id.id <> company_currency_id:
+ cur_id = st_line.account_id.currency_id.id
+ if cur_id:
+ res_currency_obj = self.pool.get('res.currency')
+ amt_cur = -res_currency_obj.compute(cr, uid, company_currency_id, cur_id, amount, context=context)
+
+ res = self._prepare_move_line_vals(cr, uid, st_line, move_id, debit, credit,
+ amount_currency=amt_cur, currency_id=cur_id, analytic_id=anl_id, context=context)
+ return res
+
+ def _get_counter_part_account(sefl, cr, uid, st_line, context=None):
+ """Retrieve the account to use in the counterpart move.
+ This method may be overridden to implement custom move generation (making sure to
+ call super() to establish a clean extension chain).
+
+ :param browse_record st_line: account.bank.statement.line record to
+ create the move from.
+ :return: int/long of the account.account to use as counterpart
+ """
+ if st_line.amount >= 0:
+ return st_line.statement_id.journal_id.default_credit_account_id.id
+ return st_line.statement_id.journal_id.default_debit_account_id.id
+
+ def _get_counter_part_partner(sefl, cr, uid, st_line, context=None):
+ """Retrieve the partner to use in the counterpart move.
+ This method may be overridden to implement custom move generation (making sure to
+ call super() to establish a clean extension chain).
+
+ :param browse_record st_line: account.bank.statement.line record to
+ create the move from.
+ :return: int/long of the res.partner to use as counterpart
+ """
+ return st_line.partner_id and st_line.partner_id.id or False
+
+ def _prepare_counterpart_move_line(self, cr, uid, st_line, move_id, amount, company_currency_id,
+ context=None):
+ """Compute the args to build the dict of values to create the counter part move line from a
+ statement line by calling the _prepare_move_line_vals. This method may be
+ overridden to implement custom move generation (making sure to call super() to
+ establish a clean extension chain).
+
+ :param browse_record st_line: account.bank.statement.line record to
+ create the move from.
+ :param int/long move_id: ID of the account.move to link the move line
+ :param float amount: amount of the move line
+ :param int/long account_id: ID of account to use as counter part
+ :param int/long company_currency_id: ID of currency of the concerned company
+ :return: dict of value to create() the bank account.move.line
+ """
+ account_id = self._get_counter_part_account(cr, uid, st_line, context=context)
+ partner_id = self._get_counter_part_partner(cr, uid, st_line, context=context)
+ debit = ((amount > 0) and amount) or 0.0
+ credit = ((amount < 0) and -amount) or 0.0
+ cur_id = False
+ amt_cur = False
+ if st_line.statement_id.currency.id <> company_currency_id:
+ amt_cur = st_line.amount
+ cur_id = st_line.statement_id.currency.id
+ return self._prepare_move_line_vals(cr, uid, st_line, move_id, debit, credit,
+ amount_currency = amt_cur, currency_id = cur_id, account_id = account_id,
+ partner_id = partner_id, context=context)
+
+ def _prepare_move_line_vals(self, cr, uid, st_line, move_id, debit, credit, currency_id = False,
+ amount_currency= False, account_id = False, analytic_id = False,
+ partner_id = False, context=None):
+ """Prepare the dict of values to create the move line from a
+ statement line. All non-mandatory args will replace the default computed one.
+ This method may be overridden to implement custom move generation (making sure to
+ call super() to establish a clean extension chain).
+
+ :param browse_record st_line: account.bank.statement.line record to
+ create the move from.
+ :param int/long move_id: ID of the account.move to link the move line
+ :param float debit: debit amount of the move line
+ :param float credit: credit amount of the move line
+ :param int/long currency_id: ID of currency of the move line to create
+ :param float amount_currency: amount of the debit/credit expressed in the currency_id
+ :param int/long account_id: ID of the account to use in the move line if different
+ from the statement line account ID
+ :param int/long analytic_id: ID of analytic account to put on the move line
+ :param int/long partner_id: ID of the partner to put on the move line
+ :return: dict of value to create() the account.move.line
+ """
+ acc_id = account_id or st_line.account_id.id
+ cur_id = currency_id or st_line.statement_id.currency.id
+ par_id = partner_id or (((st_line.partner_id) and st_line.partner_id.id) or False)
+ return {
+ 'name': st_line.name,
+ 'date': st_line.date,
+ 'ref': st_line.ref,
+ 'move_id': move_id,
+ 'partner_id': partner_id,
+ 'account_id': acc_id,
+ 'credit': credit,
+ 'debit': debit,
+ 'statement_id': st_line.statement_id.id,
+ 'journal_id': st_line.statement_id.journal_id.id,
+ 'period_id': st_line.statement_id.period_id.id,
+ 'currency_id': cur_id,
+ 'amount_currency': amount_currency,
+ 'analytic_account_id': analytic_id,
+ }
+
def create_move_from_st_line(self, cr, uid, st_line_id, company_currency_id, st_line_number, context=None):
+ """Create the account move from the statement line.
+
+ :param int/long st_line_id: ID of the account.bank.statement.line to create the move from.
+ :param int/long company_currency_id: ID of the res.currency of the company
+ :param char st_line_number: will be used as the name of the generated account move
+ :return: ID of the account.move created
+ """
+
if context is None:
context = {}
res_currency_obj = self.pool.get('res.currency')
@@ -185,82 +336,28 @@ class account_bank_statement(osv.osv):
context.update({'date': st_line.date})
- move_id = account_move_obj.create(cr, uid, {
- 'journal_id': st.journal_id.id,
- 'period_id': st.period_id.id,
- 'date': st_line.date,
- 'name': st_line_number,
- 'ref': st_line.ref,
- }, context=context)
+ move_vals = self._prepare_move(cr, uid, st_line, st_line_number, context=context)
+ move_id = account_move_obj.create(cr, uid, move_vals, context=context)
account_bank_statement_line_obj.write(cr, uid, [st_line.id], {
'move_ids': [(4, move_id, False)]
})
-
torec = []
- if st_line.amount >= 0:
- account_id = st.journal_id.default_credit_account_id.id
- else:
- account_id = st.journal_id.default_debit_account_id.id
-
acc_cur = ((st_line.amount<=0) and st.journal_id.default_debit_account_id) or st_line.account_id
+
context.update({
'res.currency.compute.account': acc_cur,
})
amount = res_currency_obj.compute(cr, uid, st.currency.id,
company_currency_id, st_line.amount, context=context)
- val = {
- 'name': st_line.name,
- 'date': st_line.date,
- 'ref': st_line.ref,
- 'move_id': move_id,
- 'partner_id': ((st_line.partner_id) and st_line.partner_id.id) or False,
- 'account_id': (st_line.account_id) and st_line.account_id.id,
- 'credit': ((amount>0) and amount) or 0.0,
- 'debit': ((amount<0) and -amount) or 0.0,
- 'statement_id': st.id,
- 'journal_id': st.journal_id.id,
- 'period_id': st.period_id.id,
- 'currency_id': st.currency.id,
- 'analytic_account_id': st_line.analytic_account_id and st_line.analytic_account_id.id or False
- }
-
- if st.currency.id <> company_currency_id:
- amount_cur = res_currency_obj.compute(cr, uid, company_currency_id,
- st.currency.id, amount, context=context)
- val['amount_currency'] = -amount_cur
-
- if st_line.account_id and st_line.account_id.currency_id and st_line.account_id.currency_id.id <> company_currency_id:
- val['currency_id'] = st_line.account_id.currency_id.id
- amount_cur = res_currency_obj.compute(cr, uid, company_currency_id,
- st_line.account_id.currency_id.id, amount, context=context)
- val['amount_currency'] = -amount_cur
-
- move_line_id = account_move_line_obj.create(cr, uid, val, context=context)
+ bank_move_vals = self._prepare_bank_move_line(cr, uid, st_line, move_id, amount,
+ company_currency_id, context=context)
+ move_line_id = account_move_line_obj.create(cr, uid, bank_move_vals, context=context)
torec.append(move_line_id)
- # Fill the secondary amount/currency
- # if currency is not the same than the company
- amount_currency = False
- currency_id = False
- if st.currency.id <> company_currency_id:
- amount_currency = st_line.amount
- currency_id = st.currency.id
- account_move_line_obj.create(cr, uid, {
- 'name': st_line.name,
- 'date': st_line.date,
- 'ref': st_line.ref,
- 'move_id': move_id,
- 'partner_id': ((st_line.partner_id) and st_line.partner_id.id) or False,
- 'account_id': account_id,
- 'credit': ((amount < 0) and -amount) or 0.0,
- 'debit': ((amount > 0) and amount) or 0.0,
- 'statement_id': st.id,
- 'journal_id': st.journal_id.id,
- 'period_id': st.period_id.id,
- 'amount_currency': amount_currency,
- 'currency_id': currency_id,
- }, context=context)
+ counterpart_move_vals = self._prepare_counterpart_move_line(cr, uid, st_line, move_id,
+ amount, company_currency_id, context=context)
+ account_move_line_obj.create(cr, uid, counterpart_move_vals, context=context)
for line in account_move_line_obj.browse(cr, uid, [x.id for x in
account_move_obj.browse(cr, uid, move_id,
diff --git a/addons/account/account_menuitem.xml b/addons/account/account_menuitem.xml
index c2275c0e461..9ac6f98661c 100644
--- a/addons/account/account_menuitem.xml
+++ b/addons/account/account_menuitem.xml
@@ -2,10 +2,12 @@
-
diff --git a/addons/account/report/account_journal_sale_purchase.rml b/addons/account/report/account_journal_sale_purchase.rml
index 68f93b88294..236879669f9 100644
--- a/addons/account/report/account_journal_sale_purchase.rml
+++ b/addons/account/report/account_journal_sale_purchase.rml
@@ -219,7 +219,7 @@
Account
Partner
Label
-
VAT
+
Tax
Debit
Credit
@@ -271,7 +271,7 @@
Account
Partner
Label
-
VAT
+
Tax
Debit
Credit
@@ -330,7 +330,7 @@
-
VAT Declaration
+
Tax Declaration
diff --git a/addons/account/wizard/account_financial_report.py b/addons/account/wizard/account_financial_report.py
index 0ddc50f4859..f96127f6375 100644
--- a/addons/account/wizard/account_financial_report.py
+++ b/addons/account/wizard/account_financial_report.py
@@ -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):
diff --git a/addons/account/wizard/account_report_common_journal.py b/addons/account/wizard/account_report_common_journal.py
index 92076cfe572..ed0f03df5b5 100644
--- a/addons/account/wizard/account_report_common_journal.py
+++ b/addons/account/wizard/account_report_common_journal.py
@@ -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):
diff --git a/addons/account/wizard/account_report_general_ledger.py b/addons/account/wizard/account_report_general_ledger.py
index d0b3c0fa3d3..8078da372ca 100644
--- a/addons/account/wizard/account_report_general_ledger.py
+++ b/addons/account/wizard/account_report_general_ledger.py
@@ -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),
}
diff --git a/addons/account/wizard/account_report_partner_ledger.py b/addons/account/wizard/account_report_partner_ledger.py
index 7a3f3932f1b..60ac20a42ed 100644
--- a/addons/account/wizard/account_report_partner_ledger.py
+++ b/addons/account/wizard/account_report_partner_ledger.py
@@ -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 = {
diff --git a/addons/account/wizard/account_vat_view.xml b/addons/account/wizard/account_vat_view.xml
index 988c4786bb8..acafb55e208 100644
--- a/addons/account/wizard/account_vat_view.xml
+++ b/addons/account/wizard/account_vat_view.xml
@@ -3,12 +3,12 @@
- Account Vat Declaration
+ Account Tax Declarationaccount.vat.declarationform
- Account Vat Declaration
+ Account Tax Declarationir.actions.act_windowaccount.vat.declarationformformnew
- This menu print a VAT declaration based on invoices or payments. You can select one or several periods of the fiscal year. Information required for a tax declaration is automatically generated by OpenERP from invoices (or payments, in some countries). This data is updated in real time. That’s very useful because it enables you to preview at any time the tax that you owe at the start and end of the month or quarter.
+ This menu print a tax declaration based on invoices or payments. You can select one or several periods of the fiscal year. Information required for a tax declaration is automatically generated by OpenERP from invoices (or payments, in some countries). This data is updated in real time. That’s very useful because it enables you to preview at any time the tax that you owe at the start and end of the month or quarter.\n"
"POT-Creation-Date: 2012-02-08 00:35+0000\n"
-"PO-Revision-Date: 2012-06-01 04:42+0000\n"
+"PO-Revision-Date: 2012-07-24 08:18+0000\n"
"Last-Translator: Jalpesh Patel(OpenERP) \n"
"Language-Team: Gujarati \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-14 06:27+0000\n"
-"X-Generator: Launchpad (build 15614)\n"
+"X-Launchpad-Export-Date: 2012-07-25 04:37+0000\n"
+"X-Generator: Launchpad (build 15679)\n"
#. module: account_bank_statement_extensions
#: view:account.bank.statement.line:0
@@ -54,7 +54,7 @@ msgstr "ઉધાર"
#: model:ir.actions.act_window,name:account_bank_statement_extensions.action_cancel_statement_line
#: model:ir.model,name:account_bank_statement_extensions.model_cancel_statement_line
msgid "Cancel selected statement lines"
-msgstr ""
+msgstr "પસંદ કરેલ નિવેદન લીટીઓ રદ કરો"
#. module: account_bank_statement_extensions
#: constraint:res.partner.bank:0
diff --git a/addons/account_budget/__openerp__.py b/addons/account_budget/__openerp__.py
index 89d06dccdca..e03c66c2132 100644
--- a/addons/account_budget/__openerp__.py
+++ b/addons/account_budget/__openerp__.py
@@ -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',
diff --git a/addons/account_cancel/__openerp__.py b/addons/account_cancel/__openerp__.py
index 6749cef0c8e..c616cc9d5e0 100644
--- a/addons/account_cancel/__openerp__.py
+++ b/addons/account_cancel/__openerp__.py
@@ -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"],
diff --git a/addons/account_check_writing/__openerp__.py b/addons/account_check_writing/__openerp__.py
index c09288f6955..faba82928ed 100644
--- a/addons/account_check_writing/__openerp__.py
+++ b/addons/account_check_writing/__openerp__.py
@@ -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': [],
diff --git a/addons/account_coda/__openerp__.py b/addons/account_coda/__openerp__.py
index 06a0a59d2c6..094ab45acc0 100644
--- a/addons/account_coda/__openerp__.py
+++ b/addons/account_coda/__openerp__.py
@@ -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.
diff --git a/addons/account_followup/__openerp__.py b/addons/account_followup/__openerp__.py
index 49e7f09863d..e8724b01b4e 100644
--- a/addons/account_followup/__openerp__.py
+++ b/addons/account_followup/__openerp__.py
@@ -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',
diff --git a/addons/account_payment/__openerp__.py b/addons/account_payment/__openerp__.py
index 1959d71da74..9e7209a348e 100644
--- a/addons/account_payment/__openerp__.py
+++ b/addons/account_payment/__openerp__.py
@@ -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:
--------
diff --git a/addons/account_voucher/__openerp__.py b/addons/account_voucher/__openerp__.py
index a7899338b8e..48e8013fd43 100644
--- a/addons/account_voucher/__openerp__.py
+++ b/addons/account_voucher/__openerp__.py
@@ -23,12 +23,14 @@
"name" : "eInvoicing & Payments",
"version" : "1.0",
"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',
diff --git a/addons/analytic/__openerp__.py b/addons/analytic/__openerp__.py
index fe9a42fe4c4..859a65e7856 100644
--- a/addons/analytic/__openerp__.py
+++ b/addons/analytic/__openerp__.py
@@ -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" : [],
diff --git a/addons/analytic_contract_expense_project/__openerp__.py b/addons/analytic_contract_expense_project/__openerp__.py
index 9dc4c114743..b569330d117 100644
--- a/addons/analytic_contract_expense_project/__openerp__.py
+++ b/addons/analytic_contract_expense_project/__openerp__.py
@@ -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.",
diff --git a/addons/analytic_contract_hr_expense/__openerp__.py b/addons/analytic_contract_hr_expense/__openerp__.py
index fb56d3d1749..b5ab6bea9ab 100644
--- a/addons/analytic_contract_hr_expense/__openerp__.py
+++ b/addons/analytic_contract_hr_expense/__openerp__.py
@@ -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.",
diff --git a/addons/analytic_contract_project/__openerp__.py b/addons/analytic_contract_project/__openerp__.py
index 7ad28c911ba..4e4f621663c 100644
--- a/addons/analytic_contract_project/__openerp__.py
+++ b/addons/analytic_contract_project/__openerp__.py
@@ -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"],
diff --git a/addons/analytic_contract_project/analytic_contract_project.py b/addons/analytic_contract_project/analytic_contract_project.py
index 6221617637e..1ffab1246c9 100644
--- a/addons/analytic_contract_project/analytic_contract_project.py
+++ b/addons/analytic_contract_project/analytic_contract_project.py
@@ -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 %s has been created.") % (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 %s has been created.") % (task_browse.name), context=context)
return task_id
task()
diff --git a/addons/analytic_user_function/__openerp__.py b/addons/analytic_user_function/__openerp__.py
index c2dcc3cc91b..1c1f345aca0 100644
--- a/addons/analytic_user_function/__openerp__.py
+++ b/addons/analytic_user_function/__openerp__.py
@@ -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',
diff --git a/addons/anonymization/__openerp__.py b/addons/anonymization/__openerp__.py
index 60ed423049d..acfc5ac3792 100644
--- a/addons/anonymization/__openerp__.py
+++ b/addons/anonymization/__openerp__.py
@@ -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 customer’s 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
diff --git a/addons/anonymous/__openerp__.py b/addons/anonymous/__openerp__.py
index 6babe973aba..3494fca7a9f 100644
--- a/addons/anonymous/__openerp__.py
+++ b/addons/anonymous/__openerp__.py
@@ -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',
diff --git a/addons/association/__openerp__.py b/addons/association/__openerp__.py
index 00683d18333..2b7fcab8b12 100644
--- a/addons/association/__openerp__.py
+++ b/addons/association/__openerp__.py
@@ -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'],
diff --git a/addons/association/profile_association.xml b/addons/association/profile_association.xml
index f131fe4f4a9..099a6f1ac97 100644
--- a/addons/association/profile_association.xml
+++ b/addons/association/profile_association.xml
@@ -1,14 +1,13 @@
-
+
+ sequence="70"/>
+
diff --git a/addons/audittrail/__openerp__.py b/addons/audittrail/__openerp__.py
index 94061548a89..9ba403bcee3 100644
--- a/addons/audittrail/__openerp__.py
+++ b/addons/audittrail/__openerp__.py
@@ -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',
diff --git a/addons/base_action_rule/__openerp__.py b/addons/base_action_rule/__openerp__.py
index 78f0851446b..eff92685313 100644
--- a/addons/base_action_rule/__openerp__.py
+++ b/addons/base_action_rule/__openerp__.py
@@ -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.
""",
diff --git a/addons/base_calendar/__openerp__.py b/addons/base_calendar/__openerp__.py
index 3f6ca129f6f..c7df187dd87 100644
--- a/addons/base_calendar/__openerp__.py
+++ b/addons/base_calendar/__openerp__.py
@@ -39,9 +39,10 @@ If you need to manage your meetings, you should install the CRM module.
'category': 'Hidden/Dependency',
'website': 'http://www.openerp.com',
"init_xml": [
- 'base_calendar_data.xml'
+ 'base_calendar_data.xml',
+ 'crm_meeting_data.xml',
],
- "demo_xml": [],
+ "demo_xml": ['crm_meeting_demo.xml'],
"update_xml": [
'security/calendar_security.xml',
'security/ir.model.access.csv',
diff --git a/addons/base_calendar/base_calendar.py b/addons/base_calendar/base_calendar.py
index a9e5949a3ca..e89a52aa0e5 100644
--- a/addons/base_calendar/base_calendar.py
+++ b/addons/base_calendar/base_calendar.py
@@ -515,7 +515,7 @@ property or property parameter."),
sub,
body,
attachments=attach and {'invitation.ics': attach} or None,
- subtype='html',
+ content_subtype='html',
reply_to=email_from,
context=context
)
diff --git a/addons/base_calendar/base_calendar_data.xml b/addons/base_calendar/base_calendar_data.xml
index 3c20bf5fad5..727a0703db2 100644
--- a/addons/base_calendar/base_calendar_data.xml
+++ b/addons/base_calendar/base_calendar_data.xml
@@ -2,7 +2,7 @@
-
+ Eventcalendar.event
diff --git a/addons/crm/crm_meeting_data.xml b/addons/base_calendar/crm_meeting_data.xml
similarity index 100%
rename from addons/crm/crm_meeting_data.xml
rename to addons/base_calendar/crm_meeting_data.xml
diff --git a/addons/crm/crm_meeting_demo.xml b/addons/base_calendar/crm_meeting_demo.xml
similarity index 89%
rename from addons/crm/crm_meeting_demo.xml
rename to addons/base_calendar/crm_meeting_demo.xml
index dda6d5a03a8..ad88c11bb1b 100644
--- a/addons/crm/crm_meeting_demo.xml
+++ b/addons/base_calendar/crm_meeting_demo.xml
@@ -12,7 +12,7 @@
-
+
@@ -24,7 +24,7 @@
-
+
@@ -37,7 +37,7 @@
-
+
@@ -48,7 +48,7 @@
-
+
@@ -59,7 +59,7 @@
-
+
@@ -70,7 +70,7 @@
-
+
diff --git a/addons/base_calendar/wizard/base_calendar_invite_attendee.py b/addons/base_calendar/wizard/base_calendar_invite_attendee.py
index 676f9b3fdd2..5da711cf657 100644
--- a/addons/base_calendar/wizard/base_calendar_invite_attendee.py
+++ b/addons/base_calendar/wizard/base_calendar_invite_attendee.py
@@ -78,6 +78,7 @@ send an Email to Invited Person')
att_obj = self.pool.get('calendar.attendee')
user_obj = self.pool.get('res.users')
current_user = user_obj.browse(cr, uid, uid, context=context)
+
for datas in self.read(cr, uid, ids, context=context):
type = datas.get('type')
vals = []
diff --git a/addons/base_crypt/__openerp__.py b/addons/base_crypt/__openerp__.py
index 369a55bb278..62edc76b277 100644
--- a/addons/base_crypt/__openerp__.py
+++ b/addons/base_crypt/__openerp__.py
@@ -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,
diff --git a/addons/base_iban/__openerp__.py b/addons/base_iban/__openerp__.py
index d31f2f4ade5..f7778c13f2b 100644
--- a/addons/base_iban/__openerp__.py
+++ b/addons/base_iban/__openerp__.py
@@ -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',
diff --git a/addons/base_module_record/__openerp__.py b/addons/base_module_record/__openerp__.py
index bfb3c497218..4cdc8116217 100644
--- a/addons/base_module_record/__openerp__.py
+++ b/addons/base_module_record/__openerp__.py
@@ -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',
diff --git a/addons/base_report_designer/__openerp__.py b/addons/base_report_designer/__openerp__.py
index 3b46389184d..078916b9439 100644
--- a/addons/base_report_designer/__openerp__.py
+++ b/addons/base_report_designer/__openerp__.py
@@ -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',
diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Fields.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Fields.py
index 92044f78fe1..e7c2b33ca88 100644
--- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Fields.py
+++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Fields.py
@@ -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):
diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Translation.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Translation.py
index 73146f1b68a..97e6427ae76 100644
--- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Translation.py
+++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/Translation.py
@@ -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):
diff --git a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/modify.py b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/modify.py
index fc3d6672b79..f38424fd614 100644
--- a/addons/base_report_designer/plugin/openerp_report_designer/bin/script/modify.py
+++ b/addons/base_report_designer/plugin/openerp_report_designer/bin/script/modify.py
@@ -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)
diff --git a/addons/base_status/__openerp__.py b/addons/base_status/__openerp__.py
index fcb8f54a7ee..bbd82b703ac 100644
--- a/addons/base_status/__openerp__.py
+++ b/addons/base_status/__openerp__.py
@@ -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
diff --git a/addons/base_tools/__openerp__.py b/addons/base_tools/__openerp__.py
index 747ecf64e83..8989c6d0a78 100644
--- a/addons/base_tools/__openerp__.py
+++ b/addons/base_tools/__openerp__.py
@@ -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": [
diff --git a/addons/base_tools/tools_view.xml b/addons/base_tools/tools_view.xml
index eb51e000c1b..fbe0e16e31a 100644
--- a/addons/base_tools/tools_view.xml
+++ b/addons/base_tools/tools_view.xml
@@ -1,9 +1,11 @@
-
+
+
+
+
diff --git a/addons/base_vat/__openerp__.py b/addons/base_vat/__openerp__.py
index ef46cd800d9..7b09ee24a58 100644
--- a/addons/base_vat/__openerp__.py
+++ b/addons/base_vat/__openerp__.py
@@ -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'],
diff --git a/addons/base_vat/base_vat_view.xml b/addons/base_vat/base_vat_view.xml
index 1d7f06eb571..df1d18ac194 100644
--- a/addons/base_vat/base_vat_view.xml
+++ b/addons/base_vat/base_vat_view.xml
@@ -7,7 +7,7 @@
res.partner
-
+
diff --git a/addons/caldav/__openerp__.py b/addons/caldav/__openerp__.py
index ffcfd7a6308..2946fe77b1f 100644
--- a/addons/caldav/__openerp__.py
+++ b/addons/caldav/__openerp__.py
@@ -21,7 +21,7 @@
{
- "name": "Share Calendar using CalDAV",
+ "name": "Share Calendar Using CalDAV",
"version": "1.1",
"depends": [
"base",
diff --git a/addons/crm/__openerp__.py b/addons/crm/__openerp__.py
index 0c9b75b4d41..6b0d0e1e2c9 100644
--- a/addons/crm/__openerp__.py
+++ b/addons/crm/__openerp__.py
@@ -25,12 +25,14 @@
'version': '1.0',
'category': 'Customer Relationship Management',
"sequence": 2,
+ "summary": "Agenda, Leads, Opportunities",
'description': """
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.
@@ -41,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',
@@ -68,7 +73,6 @@ Creates a dashboard for CRM that includes:
'init_xml': [
'crm_data.xml',
'crm_lead_data.xml',
- 'crm_meeting_data.xml',
'crm_phonecall_data.xml',
],
'update_xml': [
@@ -85,7 +89,6 @@ Creates a dashboard for CRM that includes:
'wizard/crm_opportunity_to_phonecall_view.xml',
'wizard/crm_partner_to_opportunity_view.xml',
- 'wizard/crm_add_note_view.xml',
'wizard/crm_merge_opportunities_view.xml',
'crm_view.xml',
@@ -115,7 +118,6 @@ Creates a dashboard for CRM that includes:
'demo_xml': [
'crm_demo.xml',
'crm_lead_demo.xml',
- 'crm_meeting_demo.xml',
'crm_phonecall_demo.xml',
],
'test': [
diff --git a/addons/crm/crm.py b/addons/crm/crm.py
index 65af3f9e530..6778f0bbe87 100644
--- a/addons/crm/crm.py
+++ b/addons/crm/crm.py
@@ -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"),
diff --git a/addons/crm/crm_view.xml b/addons/crm/crm_view.xml
index fc3cb3a3d2e..3f6e97fa186 100644
--- a/addons/crm/crm_view.xml
+++ b/addons/crm/crm_view.xml
@@ -2,10 +2,16 @@
-
+
+
-
-
-
-
-
-
-
- crm.new.add.note.form
- crm.add.note
- form
-
-
-
-
-
-
-
-
- Add Note
- crm.add.note
- form
- form
-
- new
-
-
-
-
-
diff --git a/addons/crm_caldav/__openerp__.py b/addons/crm_caldav/__openerp__.py
index ce3193a595d..6e4c108e5dd 100644
--- a/addons/crm_caldav/__openerp__.py
+++ b/addons/crm_caldav/__openerp__.py
@@ -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',
diff --git a/addons/crm_claim/crm_claim_menu.xml b/addons/crm_claim/crm_claim_menu.xml
index d4bfd8f21bb..46f8760387a 100644
--- a/addons/crm_claim/crm_claim_menu.xml
+++ b/addons/crm_claim/crm_claim_menu.xml
@@ -1,19 +1,18 @@
-
+
+ sequence="90"/>
-
Claimscrm.claim
@@ -51,13 +50,9 @@
parent="base.menu_aftersale" action="crm_case_categ_claim0" sequence="1"/>
-
-
-
+
diff --git a/addons/crm_helpdesk/crm_helpdesk_menu.xml b/addons/crm_helpdesk/crm_helpdesk_menu.xml
index f5c36eb1ab1..393428e091e 100644
--- a/addons/crm_helpdesk/crm_helpdesk_menu.xml
+++ b/addons/crm_helpdesk/crm_helpdesk_menu.xml
@@ -1,15 +1,15 @@
-
+
+
+
-
+
Helpdesk Requests
diff --git a/addons/crm_helpdesk/i18n/lv.po b/addons/crm_helpdesk/i18n/lv.po
new file mode 100644
index 00000000000..1b9d1a4e917
--- /dev/null
+++ b/addons/crm_helpdesk/i18n/lv.po
@@ -0,0 +1,738 @@
+# Latvian 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 , 2012.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: openobject-addons\n"
+"Report-Msgid-Bugs-To: FULL NAME \n"
+"POT-Creation-Date: 2012-02-08 00:36+0000\n"
+"PO-Revision-Date: 2012-07-20 08:02+0000\n"
+"Last-Translator: FULL NAME \n"
+"Language-Team: Latvian \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-21 05:08+0000\n"
+"X-Generator: Launchpad (build 15654)\n"
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk.report,delay_close:0
+msgid "Delay to Close"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk.report,nbr:0
+msgid "# of Cases"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: view:crm.helpdesk.report:0
+msgid "Group By..."
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Today"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "March"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Helpdesk requests occurred in current year"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,company_id:0
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,company_id:0
+msgid "Company"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,email_cc:0
+msgid "Watchers Emails"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk,priority:0
+#: selection:crm.helpdesk.report,priority:0
+msgid "Highest"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,day:0
+msgid "Day"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Add Internal Note"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Date of helpdesk requests"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Notes"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,message_ids:0
+msgid "Messages"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "My company"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk,state:0
+#: selection:crm.helpdesk.report,state:0
+msgid "Cancelled"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.actions.act_window,name:crm_helpdesk.action_report_crm_helpdesk
+#: model:ir.ui.menu,name:crm_helpdesk.menu_report_crm_helpdesks_tree
+msgid "Helpdesk Analysis"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,date_closed:0
+msgid "Close Date"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,ref:0
+msgid "Reference"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,date_action_next:0
+msgid "Next Action"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Helpdesk Supports"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Extra Info"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: field:crm.helpdesk,partner_id:0
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,partner_id:0
+msgid "Partner"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Estimates"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk.report,section_id:0
+msgid "Section"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Helpdesk requests occurred in last month"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Send New Email"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Helpdesk requests during last 7 days"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: selection:crm.helpdesk,state:0
+#: view:crm.helpdesk.report:0
+msgid "New"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.model,name:crm_helpdesk.model_crm_helpdesk_report
+msgid "Helpdesk report after Sales Services"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,email_from:0
+msgid "Email"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,channel_id:0
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,channel_id:0
+msgid "Channel"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk,priority:0
+#: selection:crm.helpdesk.report,priority:0
+msgid "Lowest"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "# Mails"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: view:crm.helpdesk.report:0
+msgid "My Sales Team(s)"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,create_date:0
+#: field:crm.helpdesk.report,create_date:0
+msgid "Creation Date"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Reset to Draft"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: selection:crm.helpdesk,state:0
+#: selection:crm.helpdesk.report,state:0
+msgid "Pending"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: field:crm.helpdesk,date_deadline:0
+#: field:crm.helpdesk.report,date_deadline:0
+msgid "Deadline"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "July"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.actions.act_window,name:crm_helpdesk.crm_helpdesk_categ_action
+msgid "Helpdesk Categories"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.ui.menu,name:crm_helpdesk.menu_crm_case_helpdesk-act
+msgid "Categories"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "New Helpdesk Request"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "History Information"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Dates"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Month of helpdesk requests"
+msgstr ""
+
+#. module: crm_helpdesk
+#: code:addons/crm_helpdesk/crm_helpdesk.py:101
+#, python-format
+msgid "No Subject"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "#Helpdesk"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "All pending Helpdesk Request"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Year of helpdesk requests"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "References"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "September"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Communication"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,month:0
+msgid "Month"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Escalate"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,write_date:0
+msgid "Update Date"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Helpdesk requests occurred in current month"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Salesman"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,ref2:0
+msgid "Reference 2"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,categ_id:0
+#: field:crm.helpdesk.report,categ_id:0
+msgid "Category"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Responsible User"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Helpdesk Support"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,planned_cost:0
+#: field:crm.helpdesk.report,planned_cost:0
+msgid "Planned Costs"
+msgstr ""
+
+#. module: crm_helpdesk
+#: help:crm.helpdesk,channel_id:0
+msgid "Communication channel."
+msgstr ""
+
+#. module: crm_helpdesk
+#: help:crm.helpdesk,email_cc:0
+msgid ""
+"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"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Search Helpdesk"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,state:0
+msgid "Draft"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk,priority:0
+#: selection:crm.helpdesk.report,priority:0
+msgid "Low"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,date_closed:0
+#: selection:crm.helpdesk,state:0
+#: view:crm.helpdesk.report:0
+#: selection:crm.helpdesk.report,state:0
+msgid "Closed"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Reply"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "7 Days"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Communication & History"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "August"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk,priority:0
+#: selection:crm.helpdesk.report,priority:0
+msgid "Normal"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Global CC"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "June"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,planned_revenue:0
+msgid "Planned Revenue"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk.report,user_id:0
+msgid "User"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,active:0
+msgid "Active"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "November"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Extended Filters..."
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.actions.act_window,name:crm_helpdesk.crm_case_helpdesk_act111
+msgid "Helpdesk Requests"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Search"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "October"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "January"
+msgstr ""
+
+#. module: crm_helpdesk
+#: help:crm.helpdesk,email_from:0
+msgid "These people will receive email."
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: field:crm.helpdesk,date:0
+msgid "Date"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "History"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: field:crm.helpdesk,priority:0
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,priority:0
+msgid "Priority"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,partner_address_id:0
+msgid "Partner Contact"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Misc"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: field:crm.helpdesk,state:0
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,state:0
+msgid "State"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "General"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Send Reminder"
+msgstr ""
+
+#. module: crm_helpdesk
+#: help:crm.helpdesk,section_id:0
+msgid ""
+"Sales team to which Case belongs to. Define "
+"Responsible user and Email account for mail gateway."
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Done"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "December"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Cancel"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Close"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: view:crm.helpdesk.report:0
+#: selection:crm.helpdesk.report,state:0
+msgid "Open"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Helpdesk Support Tree"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk,state:0
+msgid "In Progress"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Categorization"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+#: model:ir.model,name:crm_helpdesk.model_crm_helpdesk
+#: model:ir.ui.menu,name:crm_helpdesk.menu_config_helpdesk
+msgid "Helpdesk"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: field:crm.helpdesk,user_id:0
+msgid "Responsible"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk.report,delay_expected:0
+msgid "Overpassed Deadline"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,description:0
+msgid "Description"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "May"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,probability:0
+msgid "Probability (%)"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk.report,email:0
+msgid "# Emails"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.actions.act_window,help:crm_helpdesk.action_report_crm_helpdesk
+msgid ""
+"Have a general overview of all support requests by sorting them with "
+"specific criteria such as the processing time, number of requests answered, "
+"emails sent and costs."
+msgstr ""
+
+#. module: crm_helpdesk
+#: help:crm.helpdesk,state:0
+msgid ""
+"The state is set to 'Draft', when a case is created. "
+" \n"
+"If the case is in progress the state is set to 'Open'. "
+" \n"
+"When the case is over, the state is set to 'Done'. "
+" \n"
+"If the case needs to be reviewed then the state is set to 'Pending'."
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "February"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,name:0
+msgid "Name"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "Month-1"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.ui.menu,name:crm_helpdesk.menu_help_support_main
+msgid "Helpdesk and Support"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk.report,month:0
+msgid "April"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+msgid "My Case(s)"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Query"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,id:0
+msgid "ID"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.actions.act_window,help:crm_helpdesk.crm_helpdesk_categ_action
+msgid ""
+"Create and manage helpdesk categories to better manage and classify your "
+"support requests."
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Todays's Helpdesk Requests"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Request Date"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+msgid "Open Helpdesk Request"
+msgstr ""
+
+#. module: crm_helpdesk
+#: selection:crm.helpdesk,priority:0
+#: selection:crm.helpdesk.report,priority:0
+msgid "High"
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk:0
+#: field:crm.helpdesk,section_id:0
+#: view:crm.helpdesk.report:0
+msgid "Sales Team"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,date_action_last:0
+msgid "Last Action"
+msgstr ""
+
+#. module: crm_helpdesk
+#: model:ir.actions.act_window,help:crm_helpdesk.crm_case_helpdesk_act111
+msgid ""
+"Helpdesk and Support allow you to track your interventions. Select a "
+"customer, add notes and categorize interventions with partners if necessary. "
+"You can also assign a priority level. Use the OpenERP Issues system to "
+"manage your support activities. Issues can be connected to the email "
+"gateway: new emails may create issues, each of them automatically gets the "
+"history of the conversation with the customer."
+msgstr ""
+
+#. module: crm_helpdesk
+#: view:crm.helpdesk.report:0
+#: field:crm.helpdesk.report,name:0
+msgid "Year"
+msgstr ""
+
+#. module: crm_helpdesk
+#: field:crm.helpdesk,duration:0
+msgid "Duration"
+msgstr ""
diff --git a/addons/crm_profiling/__openerp__.py b/addons/crm_profiling/__openerp__.py
index 52fcf1173ed..68594281b9b 100644
--- a/addons/crm_profiling/__openerp__.py
+++ b/addons/crm_profiling/__openerp__.py
@@ -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',
diff --git a/addons/decimal_precision/__openerp__.py b/addons/decimal_precision/__openerp__.py
index 53c05e4dd63..9da1f2161a1 100644
--- a/addons/decimal_precision/__openerp__.py
+++ b/addons/decimal_precision/__openerp__.py
@@ -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.
""",
diff --git a/addons/delivery/__openerp__.py b/addons/delivery/__openerp__.py
index cd8d2520db6..092258f5e91 100644
--- a/addons/delivery/__openerp__.py
+++ b/addons/delivery/__openerp__.py
@@ -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'],
diff --git a/addons/delivery/delivery.py b/addons/delivery/delivery.py
index 75eb766f011..b03bb095d5d 100644
--- a/addons/delivery/delivery.py
+++ b/addons/delivery/delivery.py
@@ -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'),
diff --git a/addons/document/__openerp__.py b/addons/document/__openerp__.py
index d8e42703efc..d9ad9a09675 100644
--- a/addons/document/__openerp__.py
+++ b/addons/document/__openerp__.py
@@ -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.
""",
diff --git a/addons/document/nodes.py b/addons/document/nodes.py
index 273be7effa4..b4f423460d7 100644
--- a/addons/document/nodes.py
+++ b/addons/document/nodes.py
@@ -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))
diff --git a/addons/document_webdav/__openerp__.py b/addons/document_webdav/__openerp__.py
index ec50d9301dc..4d39a4e8015 100644
--- a/addons/document_webdav/__openerp__.py
+++ b/addons/document_webdav/__openerp__.py
@@ -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" : [],
diff --git a/addons/edi/__openerp__.py b/addons/edi/__openerp__.py
index 580b838d155..f441b1bbb89 100644
--- a/addons/edi/__openerp__.py
+++ b/addons/edi/__openerp__.py
@@ -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',
diff --git a/addons/email_template/__openerp__.py b/addons/email_template/__openerp__.py
index c426e3ae746..d6d7673e74b 100644
--- a/addons/email_template/__openerp__.py
+++ b/addons/email_template/__openerp__.py
@@ -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,8 +54,7 @@ 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',
diff --git a/addons/email_template/email_template.py b/addons/email_template/email_template.py
index c4ed2eedb85..bf57342f14f 100644
--- a/addons/email_template/email_template.py
+++ b/addons/email_template/email_template.py
@@ -101,6 +101,11 @@ class email_template(osv.osv):
mod_name = self.pool.get('ir.model').browse(cr, uid, model_id, context).model
return {'value':{'model': mod_name}}
+ def name_get(self, cr, uid, ids, context=None):
+ """ Override name_get of mail.message: return directly the template
+ name, and not the generated name from mail.message.common."""
+ return [(record.id, record.name) for record in self.browse(cr, uid, ids, context=context)]
+
_columns = {
'name': fields.char('Name', size=250),
'model_id': fields.many2one('ir.model', 'Related document model'),
@@ -311,7 +316,7 @@ class email_template(osv.osv):
'attachment_ids': False,
'message_id': False,
'state': 'outgoing',
- 'subtype': 'plain',
+ 'content_subtype': 'plain',
}
if not template_id:
return values
@@ -326,8 +331,15 @@ class email_template(osv.osv):
template.model, res_id, context=context) \
or False
+ # if email_to: find or create a partner
+ if values['email_to']:
+ partner_id = self.pool.get('mail.thread').message_partner_by_email(cr, uid, values['email_to'], context=context)['partner_id']
+ if not partner_id:
+ partner_id = self.pool.get('res.partner').name_create(cr, uid, values['email_to'], context=context)
+ values['partner_ids'] = [partner_id]
+
if values['body_html']:
- values.update(subtype='html')
+ values.update(content_subtype='html')
if template.user_signature:
signature = self.pool.get('res.users').browse(cr, uid, uid, context).signature
diff --git a/addons/email_template/static/src/img/email_template.png b/addons/email_template/static/src/img/email_template.png
new file mode 100644
index 00000000000..d679492bc19
Binary files /dev/null and b/addons/email_template/static/src/img/email_template.png differ
diff --git a/addons/email_template/static/src/img/email_template_save.png b/addons/email_template/static/src/img/email_template_save.png
new file mode 100644
index 00000000000..bf29f9ab4ad
Binary files /dev/null and b/addons/email_template/static/src/img/email_template_save.png differ
diff --git a/addons/email_template/wizard/email_compose_message_view.xml b/addons/email_template/wizard/email_compose_message_view.xml
index 96ea55da9e5..a911034cb1a 100644
--- a/addons/email_template/wizard/email_compose_message_view.xml
+++ b/addons/email_template/wizard/email_compose_message_view.xml
@@ -25,5 +25,32 @@
+
+
+ mail.compose.message.form
+ mail.compose.message
+ form
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/email_template/wizard/mail_compose_message.py b/addons/email_template/wizard/mail_compose_message.py
index a4fd749979c..1b007a990c0 100644
--- a/addons/email_template/wizard/mail_compose_message.py
+++ b/addons/email_template/wizard/mail_compose_message.py
@@ -27,19 +27,6 @@ from tools.translate import _
import tools
-def _reopen(self,res_id,model):
- return {'type': 'ir.actions.act_window',
- 'view_mode': 'form',
- 'view_type': 'form',
- 'res_id': res_id,
- 'res_model': self._name,
- 'target': 'new',
-
- # save original model in context, otherwise
- # it will be lost on the action's context switch
- 'context': {'mail.compose.target.model': model}
- }
-
class mail_compose_message(osv.osv_memory):
_inherit = 'mail.compose.message'
@@ -87,6 +74,8 @@ class mail_compose_message(osv.osv_memory):
else:
# render the mail as one-shot
values = self.pool.get('email.template').generate_email(cr, uid, template_id, res_id, context=context)
+ # get partner_ids back
+ values['dest_partner_ids'] = values['partner_ids']
# retrofit generated attachments in the expected field format
if values['attachments']:
attachment = values.pop('attachments')
@@ -110,18 +99,24 @@ class mail_compose_message(osv.osv_memory):
return {'value': values}
-
def template_toggle(self, cr, uid, ids, context=None):
for record in self.browse(cr, uid, ids, context=context):
- had_template = record.use_template
- record.write({'use_template': not(had_template)})
- if had_template:
+ values = {}
+ use_template = record.use_template
+ # simulate an on_change on use_template
+ values.update(self.onchange_use_template(cr, uid, ids, not use_template, context=context)['value'])
+ record.write(values)
+ return False
+
+ def onchange_use_template(self, cr, uid, ids, use_template, context=None):
+ values = {'use_template': use_template}
+ for record in self.browse(cr, uid, ids, context=context):
+ if not use_template:
# equivalent to choosing an empty template
- onchange_defaults = self.on_change_template(cr, uid, record.id, not(had_template),
- False, email_from=record.email_from,
- email_to=record.email_to, context=context)
- record.write(onchange_defaults['value'])
- return _reopen(self, record.id, record.model)
+ onchange_template_values = self.on_change_template(cr, uid, record.id, use_template,
+ False, email_from=record.email_from, email_to=record.email_to, context=context)
+ values.update(onchange_template_values['value'])
+ return {'value': values}
def save_as_template(self, cr, uid, ids, context=None):
if context is None:
@@ -153,7 +148,7 @@ class mail_compose_message(osv.osv_memory):
'use_template': True})
# _reopen same wizard screen with new template preselected
- return _reopen(self, record.id, model)
+ return False
# override the basic implementation
def render_template(self, cr, uid, template, model, res_id, context=None):
diff --git a/addons/event/__openerp__.py b/addons/event/__openerp__.py
index 1a7f3ba09c5..34707d1c0f6 100644
--- a/addons/event/__openerp__.py
+++ b/addons/event/__openerp__.py
@@ -25,18 +25,19 @@
'name': 'Events Organisation',
'version': '0.1',
'category': 'Tools',
+ 'summary': 'Invitations, Subscriptions',
'description': """
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'],
diff --git a/addons/event/event_view.xml b/addons/event/event_view.xml
index 1b1b5daa9a9..890cb1be9e6 100644
--- a/addons/event/event_view.xml
+++ b/addons/event/event_view.xml
@@ -1,7 +1,7 @@
-
-
-
-
+
+
+
-
+
+
+
Event typeevent.type
@@ -52,7 +56,7 @@
-
+
@@ -111,7 +115,7 @@
-
+
From to
@@ -151,7 +155,7 @@
-
+
@@ -222,7 +226,7 @@
-
+ event.event.kanbanevent.eventkanban
@@ -286,7 +290,7 @@
-
+
event.event.calendar
@@ -316,7 +320,7 @@
-
+
Events
@@ -362,7 +366,7 @@
-
+ Eventsir.actions.act_windowevent.event
@@ -371,9 +375,9 @@
{"search_default_upcoming":1}Event is the low level object used by meeting and others documents that should be synchronized with mobile devices or calendar applications through caldav. Most of the users should work in the Calendar menu, and not in the list of events.
-
+
-
-
+
-
+
diff --git a/addons/event_moodle/__openerp__.py b/addons/event_moodle/__openerp__.py
index 82fccad0914..14f6de8668d 100644
--- a/addons/event_moodle/__openerp__.py
+++ b/addons/event_moodle/__openerp__.py
@@ -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.......
diff --git a/addons/event_sale/__openerp__.py b/addons/event_sale/__openerp__.py
index d06e964c483..ff65d0e9172 100644
--- a/addons/event_sale/__openerp__.py
+++ b/addons/event_sale/__openerp__.py
@@ -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'],
diff --git a/addons/event_sale/event_sale.py b/addons/event_sale/event_sale.py
index 9e65a034544..681116d064e 100644
--- a/addons/event_sale/event_sale.py
+++ b/addons/event_sale/event_sale.py
@@ -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'),
diff --git a/addons/fetchmail/__openerp__.py b/addons/fetchmail/__openerp__.py
index c16bfb217c9..35b692990d7 100644
--- a/addons/fetchmail/__openerp__.py
+++ b/addons/fetchmail/__openerp__.py
@@ -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': [],
diff --git a/addons/google_base_account/__openerp__.py b/addons/google_base_account/__openerp__.py
index 66b46064097..9dc4a233dcb 100644
--- a/addons/google_base_account/__openerp__.py
+++ b/addons/google_base_account/__openerp__.py
@@ -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'],
diff --git a/addons/hr/__openerp__.py b/addons/hr/__openerp__.py
index 71d7d9aa93d..ebf8d7ba83e 100644
--- a/addons/hr/__openerp__.py
+++ b/addons/hr/__openerp__.py
@@ -26,8 +26,9 @@
"category": "Human Resources",
"sequence": 12,
"website": "http://www.openerp.com",
+ "summary": "Hierarchy, Jobs, Departments",
"description": """
-Module for human resource management.
+Module for Human Resource Management.
=====================================
You can manage:
diff --git a/addons/hr/hr.py b/addons/hr/hr.py
index 4a0c3736222..2a0ea3b45a4 100644
--- a/addons/hr/hr.py
+++ b/addons/hr/hr.py
@@ -212,6 +212,16 @@ class hr_employee(osv.osv):
'last_login': fields.related('user_id', 'date', type='datetime', string='Latest Connection', readonly=1),
}
+ def create(self, cr, uid, data, context=None):
+ employee_id = super(hr_employee, self).create(cr, uid, data, context=context)
+ try:
+ (model, mail_group_id) = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'mail', 'group_all_employees')
+ employee = self.browse(cr, uid, employee_id, context=context)
+ self.pool.get('mail.group').message_append_note(cr, uid, [mail_group_id], body='Welcome to %s! Please help him make its first steps in OpenERP!' % (employee.name), context=context)
+ except:
+ pass # group deleted: do not push a message
+ return employee_id
+
def unlink(self, cr, uid, ids, context=None):
resource_obj = self.pool.get('resource.resource')
resource_ids = []
diff --git a/addons/hr/hr_view.xml b/addons/hr/hr_view.xml
index 54ced534880..0706da45c86 100644
--- a/addons/hr/hr_view.xml
+++ b/addons/hr/hr_view.xml
@@ -2,10 +2,11 @@
-
+
+
@@ -20,7 +21,7 @@