[MERGE] Use Email everywhere

bzr revid: al@openerp.com-20120627131528-u97jw0m7cq2825ll
This commit is contained in:
Antony Lesuisse 2012-06-27 15:15:28 +02:00
commit f17b0eea00
52 changed files with 148 additions and 148 deletions

View File

@ -96,7 +96,7 @@ class account_config_settings(osv.osv_memory):
'module_account_voucher': fields.boolean('Manage Customer Payments',
help="""This includes all the basic requirements of voucher entries for bank, cash, sales, purchase, expense, contra, etc.
This installs the module account_voucher."""),
'module_account_followup': fields.boolean('Manage Customer Payment Follow-Ups',
'module_account_followup': fields.boolean('Manage Customer Payment Follow-ups',
help="""This allows to automate letters for unpaid invoices, with multi-level recalls.
This installs the module account_followup."""),
'module_account_invoice_layout': fields.boolean('Allow Notes and Subtotals',

View File

@ -20,7 +20,7 @@
##############################################################################
{
'name': 'Followup Management',
'name': 'Follow-up Management',
'version': '1.0',
'category': 'Accounting & Finance',
'description': """
@ -28,16 +28,16 @@ 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
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 followups
Accounting/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 followup level for a given partner/account entry, you can do from in 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
""",

View File

@ -23,11 +23,11 @@ from osv import fields, osv
class followup(osv.osv):
_name = 'account_followup.followup'
_description = 'Account Follow Up'
_description = 'Account Follow-up'
_columns = {
'name': fields.char('Name', size=64, required=True),
'description': fields.text('Description'),
'followup_line': fields.one2many('account_followup.followup.line', 'followup_id', 'Follow-Up'),
'followup_line': fields.one2many('account_followup.followup.line', 'followup_id', 'Follow-up'),
'company_id': fields.many2one('res.company', 'Company', required=True),
}
_defaults = {
@ -38,7 +38,7 @@ followup()
class followup_line(osv.osv):
_name = 'account_followup.followup.line'
_description = 'Follow-Up Criteria'
_description = 'Follow-up Criteria'
_columns = {
'name': fields.char('Name', size=64, required=True),
'sequence': fields.integer('Sequence', help="Gives the sequence order when displaying a list of follow-up lines."),

View File

@ -3,7 +3,7 @@
<data noupdate="1">
<record id="demo_followup1" model="account_followup.followup">
<field name="name">Default Follow-Up</field>
<field name="name">Default Follow-up</field>
<field name="company_id" ref="base.main_company"/>
<field name="description">First letter after 15 net days, 30 net days and 45 days end of month levels.</field>
</record>

View File

@ -6,7 +6,7 @@
<field name="model">account_followup.followup.line</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Follow-Up Steps">
<tree string="Follow-up Steps">
<field name="name"/>
<field name="delay"/>
<field name="start"/>
@ -19,7 +19,7 @@
<field name="model">account_followup.followup.line</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Follow-Up Steps" version="7.0">
<form string="Follow-up Steps" version="7.0">
<group col="4">
<field name="name"/>
<field name="delay"/>
@ -43,7 +43,7 @@
<field name="model">account_followup.followup</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Follow-Up" version="7.0">
<form string="Follow-up" version="7.0">
<group col="4">
<field name="name"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
@ -58,7 +58,7 @@
<field name="model">account_followup.followup</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Follow-Up">
<tree string="Follow-up">
<field name="name"/>
<field name="company_id" groups="base.group_multi_company"/>
</tree>
@ -70,9 +70,9 @@
<field name="model">account_followup.followup</field>
<field name="type">search</field>
<field name="arch" type="xml">
<search string="Search Followup">
<search string="Search Follow-up">
<group>
<field name="name" string="Followup"/>
<field name="name" string="Follow-up"/>
<separator orientation="vertical"/>
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
</group>
@ -81,16 +81,16 @@
</record>
<record id="action_account_followup_definition_form" model="ir.actions.act_window">
<field name="name">Follow-Ups</field>
<field name="name">Follow-ups</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account_followup.followup</field>
<field name="search_view_id" ref="view_account_followup_filter"/>
<field name="view_type">form</field>
<field name="help">Define follow up levels and their related messages and delay. For each step, specify the message and the day of delay. Use the legend to know the using code to adapt the email content to the good context (good name, good date) and you can manage the multi language of messages.</field>
<field name="help">Define follow-up levels and their related messages and delay. For each step, specify the message and the day of delay. Use the legend to know the using code to adapt the email content to the good context (good name, good date) and you can manage the multi language of messages.</field>
</record>
<menuitem action="action_account_followup_definition_form" id="account_followup_menu" parent="account.menu_configuration_misc"/>
<report auto="False" id="account_followup_followup_report" menu="False" model="account_followup.followup" name="account_followup.followup.print" rml="account_followup/report/account_followup_print.rml" string="Followup Report"/>
<report auto="False" id="account_followup_followup_report" menu="False" model="account_followup.followup" name="account_followup.followup.print" rml="account_followup/report/account_followup_print.rml" string="Follow-up Report"/>
<record id="account_move_line_partner_tree" model="ir.ui.view">
<field name="name">account.move.line.partner.tree</field>

View File

@ -17,7 +17,7 @@ msgstr ""
#. module: account_followup
#: view:account_followup.followup:0
msgid "Search Followup"
msgid "Search Follow-up"
msgstr ""
#. module: account_followup
@ -34,12 +34,12 @@ msgstr ""
#. module: account_followup
#: view:account_followup.followup:0
#: field:account_followup.followup,followup_line:0
msgid "Follow-Up"
msgid "Follow-up"
msgstr ""
#. module: account_followup
#: help:account.followup.print.all,test_print:0
msgid "Check if you want to print followups without changing followups level."
msgid "Check if you want to print follow-ups without changing follow-ups level."
msgstr ""
#. module: account_followup
@ -80,7 +80,7 @@ msgstr ""
#. module: account_followup
#: model:ir.actions.act_window,help:account_followup.action_followup_stat
msgid "Follow up on the reminders sent over to your partners for unpaid invoices."
msgid "Follow-up on the reminders sent over to your partners for unpaid invoices."
msgstr ""
#. module: account_followup
@ -91,7 +91,7 @@ msgstr ""
#. module: account_followup
#: view:account_followup.stat:0
msgid "Follow up Entries with period in current year"
msgid "Follow-up Entries with period in current year"
msgstr ""
#. module: account_followup
@ -117,7 +117,7 @@ msgstr ""
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.action_account_followup_definition_form
#: model:ir.ui.menu,name:account_followup.account_followup_menu
msgid "Follow-Ups"
msgid "Follow-ups"
msgstr ""
#. module: account_followup
@ -175,7 +175,7 @@ msgstr ""
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_followup
msgid "Account Follow Up"
msgid "Account Follow-up"
msgstr ""
#. module: account_followup
@ -227,7 +227,7 @@ msgstr ""
#. module: account_followup
#: field:account_followup.stat,date_followup:0
#: field:account_followup.stat.by.partner,date_followup:0
msgid "Latest followup"
msgid "Latest follow-up"
msgstr ""
#. module: account_followup
@ -269,7 +269,7 @@ msgstr ""
#: model:ir.actions.act_window,name:account_followup.action_account_followup_print
#: model:ir.actions.act_window,name:account_followup.action_account_followup_print_all
#: model:ir.ui.menu,name:account_followup.account_followup_print_menu
msgid "Send followups"
msgid "Send follow-ups"
msgstr ""
#. module: account_followup
@ -280,13 +280,13 @@ msgstr ""
#. module: account_followup
#: field:account_followup.followup.line,followup_id:0
#: field:account_followup.stat,followup_id:0
msgid "Follow Ups"
msgid "Follow-ups"
msgstr ""
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:296
#, python-format
msgid "All E-mails have been successfully sent to Partners:.\n"
msgid "All Emails have been successfully sent to Partners:.\n"
"\n"
"%s"
msgstr ""
@ -308,7 +308,7 @@ msgstr ""
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_stat_by_partner
msgid "Followup Statistics by Partner"
msgid "Follow-up Statistics by Partner"
msgstr ""
#. module: account_followup
@ -326,7 +326,7 @@ msgstr ""
#, python-format
msgid "\n"
"\n"
"E-Mail sent to following Partners successfully. !\n"
"Email sent to following Partners successfully. !\n"
"\n"
"%s"
msgstr ""
@ -354,7 +354,7 @@ msgstr ""
#. module: account_followup
#: view:account.followup.print.all:0
msgid "Print Follow Ups"
msgid "Print Follow-ups"
msgstr ""
#. module: account_followup
@ -364,7 +364,7 @@ msgstr ""
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_stat
msgid "Followup Statistics"
msgid "Follow-up Statistics"
msgstr ""
#. module: account_followup
@ -430,7 +430,7 @@ msgstr ""
#. module: account_followup
#: view:account_followup.stat:0
msgid "Follow-Up lines"
msgid "Follow-up lines"
msgstr ""
#. module: account_followup
@ -453,7 +453,7 @@ msgstr ""
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_print
#: model:ir.model,name:account_followup.model_account_followup_print_all
msgid "Print Followup & Send Mail to Customers"
msgid "Print Follow-up & Send Mail to Customers"
msgstr ""
#. module: account_followup
@ -464,12 +464,12 @@ msgstr ""
#. module: account_followup
#: model:ir.actions.report.xml,name:account_followup.account_followup_followup_report
msgid "Followup Report"
msgid "Follow-up Report"
msgstr ""
#. module: account_followup
#: view:account_followup.followup.line:0
msgid "Follow-Up Steps"
msgid "Follow-up Steps"
msgstr ""
#. module: account_followup
@ -480,7 +480,7 @@ msgstr ""
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:307
#, python-format
msgid "Followup Summary"
msgid "Follow-up Summary"
msgstr ""
#. module: account_followup
@ -496,12 +496,12 @@ msgstr ""
#. module: account_followup
#: field:account_followup.stat.by.partner,max_followup_id:0
msgid "Max Follow Up Level"
msgid "Max Follow-up Level"
msgstr ""
#. module: account_followup
#: model:ir.actions.act_window,name:account_followup.action_view_account_followup_followup_form
msgid "Review Invoicing Follow-Ups"
msgid "Review Invoicing Follow-ups"
msgstr ""
#. module: account_followup
@ -511,7 +511,7 @@ msgstr ""
#. module: account_followup
#: model:ir.actions.act_window,help:account_followup.action_account_followup_definition_form
msgid "Define follow up levels and their related messages and delay. For each step, specify the message and the day of delay. Use the legend to know the using code to adapt the email content to the good context (good name, good date) and you can manage the multi language of messages."
msgid "Define follow-up levels and their related messages and delay. For each step, specify the message and the day of delay. Use the legend to know the using code to adapt the email content to the good context (good name, good date) and you can manage the multi language of messages."
msgstr ""
#. module: account_followup
@ -522,7 +522,7 @@ msgstr ""
#. module: account_followup
#: code:addons/account_followup/wizard/account_followup_print.py:298
#, python-format
msgid "E-Mail not sent to following Partners, E-mail not available !\n"
msgid "Email not sent to following Partners, Email not available !\n"
"\n"
"%s"
msgstr ""
@ -545,7 +545,7 @@ msgstr ""
#. module: account_followup
#: view:account_followup.stat:0
msgid "Followup Level"
msgid "Follow-up Level"
msgstr ""
#. module: account_followup
@ -556,7 +556,7 @@ msgstr ""
#. module: account_followup
#: constraint:account_followup.followup:0
msgid "Only One Followup by Company."
msgid "Only One Follow-up by Company."
msgstr ""
#. module: account_followup
@ -682,11 +682,11 @@ msgstr ""
#. module: account_followup
#: view:account_followup.stat:0
msgid "Latest Followup Date"
msgid "Latest Follow-up Date"
msgstr ""
#. module: account_followup
#: model:ir.model,name:account_followup.model_account_followup_followup_line
msgid "Follow-Up Criteria"
msgid "Follow-up Criteria"
msgstr ""

View File

@ -1,6 +1,6 @@
<?xml version="1.0"?>
<document filename="Account Followup.pdf">
<template title="Account Followup" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<document filename="Account Follow-up.pdf">
<template title="Account Follow-up" author="OpenERP S.A. (sales@openerp.com)" allowSplitting="20">
<pageTemplate id="first">
<frame id="first" x1="31.0" y1="28.0" width="532" height="786"/>
</pageTemplate>

View File

@ -24,7 +24,7 @@ import tools
class account_followup_stat(osv.osv):
_name = "account_followup.stat"
_description = "Followup Statistics"
_description = "Follow-up Statistics"
_rec_name = 'partner_id'
_auto = False
_columns = {

View File

@ -7,7 +7,7 @@
<field name="model">account_followup.stat</field>
<field name="type">tree</field>
<field name="arch" type="xml">
<tree string="Follow-Up lines">
<tree string="Follow-up lines">
<field name="partner_id"/>
<field name="date_move"/>
<field name="date_move_last"/>
@ -28,7 +28,7 @@
<field name="model">account_followup.stat</field>
<field name="type">graph</field>
<field name="arch" type="xml">
<graph string="Follow-Up lines" type="bar">
<graph string="Follow-up lines" type="bar">
<field name="partner_id"/>
<field name="balance" operator="+"/>
</graph>
@ -47,7 +47,7 @@
<filter icon="terp-go-year" string="This Fiscal year"
name="fiscalyear"
domain="[('period_id','in','current_year')]"
help="Follow up Entries with period in current year"/>
help="Follow-up Entries with period in current year"/>
<separator orientation="vertical"/>
<filter icon="terp-camera_test" string="Not Litigation"
domain="[('blocked','=', False)]"
@ -62,8 +62,8 @@
<separator orientation="vertical"/>
<filter string="Litigation" icon="terp-camera_test" context="{'group_by':'blocked'}" />
<separator orientation="vertical"/>
<filter string="Followup Level" icon="terp-stock_effects-object-colorize" name="followup_level" context="{'group_by':'followup_id'}" />
<filter string="Latest Followup Date" icon="terp-go-month" context="{'group_by':'date_followup'}" />
<filter string="Follow-up Level" icon="terp-stock_effects-object-colorize" name="followup_level" context="{'group_by':'followup_id'}" />
<filter string="Latest Follow-up Date" icon="terp-go-month" context="{'group_by':'date_followup'}" />
<separator orientation="vertical" groups="base.group_multi_company"/>
<filter string="Company" groups="base.group_multi_company" icon="terp-go-home" context="{'group_by':'company_id'}" />
</group>
@ -77,7 +77,7 @@
<field name="view_mode">tree,graph</field>
<field name="context">{'search_default_followup_level':1}</field>
<field name="search_view_id" ref="view_account_followup_stat_search"/>
<field name="help">Follow up on the reminders sent over to your partners for unpaid invoices.</field>
<field name="help">Follow-up on the reminders sent over to your partners for unpaid invoices.</field>
</record>
<menuitem action="action_followup_stat" id="menu_action_followup_stat_follow" parent="account.next_id_22" groups="account.group_account_user"/>

View File

@ -3,14 +3,14 @@
<data>
<record id="account_followup_comp_rule" model="ir.rule">
<field name="name">Account Followup multi company rule</field>
<field name="name">Account Follow-up multi company rule</field>
<field model="ir.model" name="model_id" ref="model_account_followup_followup"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>
</record>
<record id="account_followup_stat_by_partner_comp_rule" model="ir.rule">
<field name="name">Account Followup Statistics by Partner Rule</field>
<field name="name">Account Follow-up Statistics by Partner Rule</field>
<field ref="model_account_followup_stat_by_partner" name="model_id"/>
<field eval="True" name="global"/>
<field name="domain_force">['|',('company_id','=',False),('company_id','child_of',[user.company_id.id])]</field>

View File

@ -1,23 +1,23 @@
-
In order to test account followup module in OpenERP, I change the state of invoice to "open".
In order to test account follow-up module in OpenERP, I change the state of invoice to "open".
-
!record {model: account.invoice, id: account.demo_invoice_0}:
check_total: 14.0
-
!workflow {model: account.invoice, action: invoice_open, ref: account.demo_invoice_0}
-
I create a followup.
I create a follow-up.
-
!record {model: account.followup.print, id: account_followup_print_0}:
{}
-
I select the followup to send it to the partner.
I select the follow-up to send it to the partner.
-
!python {model: account.followup.print}: |
self.do_continue(cr, uid, [ref("account_followup_print_0")], {"active_ids": [ref("account_followup.account_followup_print_menu")], "active_id": ref("account_followup.account_followup_print_menu"),
})
-
I select partners whom I want to send followups.
I select partners whom I want to send follow-ups.
-
!record {model: account.followup.print.all, id: account_followup_print_all_0}:
email_body: 'Date : %(date)s\n\nDear %(partner_name)s,\n\nPlease find in attachment
@ -28,7 +28,7 @@
- base.res_partner_desertic_hispafuentes
partner_lang: 1
-
I send a followup mail to partner.
I send a follow-up mail to partner.
-
!python {model: account.followup.print.all}: |
import time

View File

@ -1,10 +1,10 @@
-
In order to test the report I print followup report.
In order to test the report I print follow-up report.
-
!python {model: account.followup.print.all}: |
import time
ctx = {'form_view_ref':'account_followup.view_account_followup_print_all', 'followup_id': ref('account_followup.demo_followup1'),'date': time.strftime('%Y-%m-%d'),'model': 'account_followup.followup','active_ids':[ref('account_followup_print_all_0')], 'company_id':ref('base.main_company')}
data_dict = {'email_conf': 1}
from tools import test_reports
test_reports.try_report_action(cr, uid, 'action_account_followup_print_all', context=ctx, wiz_data=data_dict,wiz_buttons=["Print Follow Ups"], our_module='account_followup')
test_reports.try_report_action(cr, uid, 'action_account_followup_print_all', context=ctx, wiz_data=data_dict,wiz_buttons=["Print Follow-ups"], our_module='account_followup')

View File

@ -28,7 +28,7 @@ from tools.translate import _
class account_followup_print(osv.osv_memory):
_name = 'account.followup.print'
_description = 'Print Followup & Send Mail to Customers'
_description = 'Print Follow-up & Send Mail to Customers'
_columns = {
'date': fields.date('Follow-up Sending Date', required=True, help="This field allow you to select a forecast date to plan your follow-ups"),
'followup_id': fields.many2one('account_followup.followup', 'Follow-up', required=True),
@ -71,14 +71,14 @@ account_followup_print()
class account_followup_stat_by_partner(osv.osv):
_name = "account_followup.stat.by.partner"
_description = "Followup Statistics by Partner"
_description = "Follow-up Statistics by Partner"
_rec_name = 'partner_id'
_auto = False
_columns = {
'partner_id': fields.many2one('res.partner', 'Partner', readonly=True),
'date_move':fields.date('First move', readonly=True),
'date_move_last':fields.date('Last move', readonly=True),
'date_followup':fields.date('Latest followup', readonly=True),
'date_followup':fields.date('Latest follow-up', readonly=True),
'max_followup_id': fields.many2one('account_followup.followup.line',
'Max Follow Up Level', readonly=True, ondelete="cascade"),
'balance':fields.float('Balance', readonly=True),
@ -90,7 +90,7 @@ class account_followup_stat_by_partner(osv.osv):
# Here we don't have other choice but to create a virtual ID based on the concatenation
# of the partner_id and the company_id, because if a partner is shared between 2 companies,
# we want to see 2 lines for him in this table. It means that both company should be able
# to send him followups separately . An assumption that the number of companies will not
# to send him follow-ups separately . An assumption that the number of companies will not
# reach 10 000 records is made, what should be enough for a time.
cr.execute("""
create or replace view account_followup_stat_by_partner as (
@ -118,7 +118,7 @@ account_followup_stat_by_partner()
class account_followup_print_all(osv.osv_memory):
_name = 'account.followup.print.all'
_description = 'Print Followup & Send Mail to Customers'
_description = 'Print Follow-up & Send Mail to Customers'
_columns = {
'partner_ids': fields.many2many('account_followup.stat.by.partner', 'partner_stat_rel', 'osv_memory_id', 'partner_id', 'Partners', required=True),
'email_conf': fields.boolean('Send email confirmation'),
@ -126,7 +126,7 @@ class account_followup_print_all(osv.osv_memory):
'partner_lang': fields.boolean('Send Email in Partner Language', help='Do not change message text, if you want to send email in partner language, or configure from company'),
'email_body': fields.text('Email body'),
'summary': fields.text('Summary', required=True, readonly=True),
'test_print': fields.boolean('Test Print', help='Check if you want to print followups without changing followups level.')
'test_print': fields.boolean('Test Print', help='Check if you want to print follow-ups without changing follow-ups level.')
}
def _get_summary(self, cr, uid, context=None):
if context is None:
@ -289,15 +289,15 @@ class account_followup_print_all(osv.osv_memory):
msg += partner.name + '\n'
msg_unsent += msg
if not msg_unsent:
summary = _("All E-mails have been successfully sent to Partners:.\n\n%s") % msg_sent
summary = _("All Emails have been successfully sent to Partners:.\n\n%s") % msg_sent
else:
msg_unsent = _("E-Mail not sent to following Partners, E-mail not available !\n\n%s") % msg_unsent
msg_sent = msg_sent and _("\n\nE-Mail sent to following Partners successfully. !\n\n%s") % msg_sent
msg_unsent = _("Email not sent to following Partners, Email not available !\n\n%s") % msg_unsent
msg_sent = msg_sent and _("\n\nEmail sent to following Partners successfully. !\n\n%s") % msg_sent
line = '=========================================================================='
summary = msg_unsent + line + msg_sent
context.update({'summary': summary})
else:
context.update({'summary': '\n\n\nE-Mail has not been sent to any partner. If you want to send it, please tick send email confirmation on wizard.'})
context.update({'summary': '\n\n\nEmail has not been sent to any partner. If you want to send it, please tick send email confirmation on wizard.'})
return {
'name': _('Followup Summary'),

View File

@ -7,12 +7,12 @@
<field name="model">account.followup.print</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Send followups" version="7.0">
<form string="Send follow-ups" version="7.0">
<header>
<button name="do_continue" string="Continue" colspan="1" type="object" icon="gtk-ok"/>
<button special="cancel" string="Cancel" icon='gtk-cancel'/>
</header>
<separator string="Send Follow-Ups"/>
<separator string="Send Follow-ups"/>
<label string ="This feature allows you to send reminders to partners with pending invoices. You can send them the default message for unpaid invoices or manually enter a message should you need to remind them of a specific information."/>
<group col="4">
<field name="followup_id"/>
@ -23,7 +23,7 @@
</record>
<record id="action_account_followup_print" model="ir.actions.act_window">
<field name="name">Send followups</field>
<field name="name">Send follow-ups</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.followup.print</field>
<field name="view_type">form</field>
@ -75,7 +75,7 @@
<field name="model">account.followup.print.all</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Send followups" version="7.0">
<form string="Send follow-ups" version="7.0">
<header>
<button name="do_mail" string="Send Mails" colspan="1" type="object" icon="gtk-execute"/>
<button name="do_print" string="Print Follow Ups" colspan="1" type="object" icon="gtk-print"/>
@ -126,7 +126,7 @@
</record>
<record id="action_account_followup_print_all" model="ir.actions.act_window">
<field name="name">Send followups</field>
<field name="name">Send follow-ups</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">account.followup.print.all</field>
<field name="view_type">form</field>

View File

@ -327,7 +327,7 @@ the rule to mark CC(mail to any other person defined in actions)."),
reply_to = emailfrom
if not emailfrom:
raise osv.except_osv(_('Error!'),
_("No E-Mail ID Found for your Company address!"))
_("No Email ID Found for your Company address!"))
return mail_message.schedule_with_attach(cr, uid, emailfrom, emails, name, body, model='base.action.rule', reply_to=reply_to, res_id=obj.id)

View File

@ -286,7 +286,7 @@ msgstr ""
#. module: base_action_rule
#: code:addons/base_action_rule/base_action_rule.py:329
#, python-format
msgid "No E-Mail ID Found for your Company address!"
msgid "No Email ID Found for your Company address!"
msgstr ""
#. module: base_action_rule

View File

@ -59,7 +59,7 @@ class base_action_rule(osv.osv):
else:
reply_to = emailfrom
if not emailfrom:
raise osv.except_osv(_('Error!'), _("No E-Mail Found for your Company address!"))
raise osv.except_osv(_('Error!'), _("No Email Found for your Company address!"))
return mail_message.schedule_with_attach(cr, uid, emailfrom, emails, name, body, model=obj._name, reply_to=reply_to, res_id=obj.id)
def do_check(self, cr, uid, action, obj, context=None):

View File

@ -11,7 +11,7 @@
<field name="name">direct</field>
</record>
<record model="crm.case.channel">
<field name="name">e-mail</field>
<field name="name">email</field>
</record>
<record model="crm.case.section" id="section_sales_department">
<field name="name">Sales Department</field>

View File

@ -193,7 +193,7 @@ class crm_lead(base_stage, osv.osv):
'active': fields.boolean('Active', required=False),
'date_action_last': fields.datetime('Last Action', readonly=1),
'date_action_next': fields.datetime('Next Action', readonly=1),
'email_from': fields.char('Email', size=128, help="E-mail address of the contact", select=1),
'email_from': fields.char('Email', size=128, help="Email address of the contact", select=1),
'section_id': fields.many2one('crm.case.section', 'Sales Team', \
select=True, help='When sending mails, the default email address is taken from the sales team.'),
'create_date': fields.datetime('Creation Date' , readonly=True),

View File

@ -263,7 +263,7 @@
<field name="categ_id" ref="crm.categ_oppor3"/>
<field name="stage_id" ref="crm.stage_lead3"/>
<field eval="'Interest in your Kitchen Design Project'" name="name"/>
<field eval="'Send Catalogue by E-Mail'" name="title_action"/>
<field eval="'Send Catalogue by Email'" name="title_action"/>
<field eval="time.strftime('%Y-01-10')" name="date_action"/>
<field eval="time.strftime('%Y-02-23')" name="date_deadline"/>
<field name="partner_name">Lucie Vonck</field>

View File

@ -540,7 +540,7 @@ msgstr ""
#. module: crm
#: field:crm.lead,email:0
msgid "E-Mail"
msgid "Email"
msgstr ""
#. module: crm
@ -2675,7 +2675,7 @@ msgstr ""
#. module: crm
#: help:crm.lead,email_from:0
msgid "E-mail address of the contact"
msgid "Email address of the contact"
msgstr ""
#. module: crm
@ -3401,7 +3401,7 @@ msgstr ""
#. module: crm
#: code:addons/crm/crm_action_rule.py:61
#, python-format
msgid "No E-Mail Found for your Company address!"
msgid "No Email Found for your Company address!"
msgstr ""
#. module: crm
@ -3563,7 +3563,7 @@ msgstr ""
#. module: crm
#: model:ir.model,name:crm.model_mail_compose_message
msgid "E-mail composition wizard"
msgid "Email composition wizard"
msgstr ""
#. module: crm

View File

@ -832,7 +832,7 @@ msgstr ""
#. module: crm_partner_assign
#: model:ir.model,name:crm_partner_assign.model_crm_lead_forward_to_partner
msgid "E-mail composition wizard"
msgid "Email composition wizard"
msgstr ""
#. module: crm_partner_assign

View File

@ -21,7 +21,7 @@
##############################################################################
{
"name" : "E-Mail Templates",
"name" : "Email Templates",
"version" : "1.1",
"author" : "OpenERP,OpenLabs",
"website" : "http://openerp.com",

View File

@ -173,7 +173,7 @@ msgstr ""
#. module: email_template
#: model:ir.model,name:email_template.model_mail_compose_message
msgid "E-mail composition wizard"
msgid "Email composition wizard"
msgstr ""
#. module: email_template

View File

@ -191,7 +191,7 @@ class hr_employee(osv.osv):
'bank_account_id':fields.many2one('res.partner.bank', 'Bank Account Number', domain="[('partner_id','=',address_home_id)]", help="Employee bank salary account"),
'work_phone': fields.char('Work Phone', size=32, readonly=False),
'mobile_phone': fields.char('Work Mobile', size=32, readonly=False),
'work_email': fields.char('Work E-mail', size=240),
'work_email': fields.char('Work Email', size=240),
'work_location': fields.char('Office Location', size=32),
'notes': fields.text('Notes'),
'parent_id': fields.many2one('hr.employee', 'Manager'),

View File

@ -249,7 +249,7 @@ msgstr ""
#. module: hr
#: field:hr.employee,work_email:0
msgid "Work E-mail"
msgid "Work Email"
msgstr ""
#. module: hr

View File

@ -307,7 +307,7 @@ msgstr ""
#. module: hr_evaluation
#: model:ir.model,name:hr_evaluation.model_mail_compose_message
msgid "E-mail composition wizard"
msgid "Email composition wizard"
msgstr ""
#. module: hr_evaluation

View File

@ -116,7 +116,7 @@
<tr><td>${_("Fax") |entity}: ${inv.partner_id.fax|entity}</td></tr>
%endif
%if inv.partner_id.email :
<tr><td>${_("E-mail") |entity}: ${inv.partner_id.email|entity}</td></tr>
<tr><td>${_("Email") |entity}: ${inv.partner_id.email|entity}</td></tr>
%endif
%if inv.partner_id.vat :
<tr><td>${_("VAT") |entity}: ${inv.partner_id.vat|entity}</td></tr>

View File

@ -23,7 +23,7 @@
<tr><td>${_("Fax") |entity}: ${inv.partner_id.fax|entity}</td></tr>
%endif
%if inv.partner_id.email :
<tr><td>${_("E-mail") |entity}: ${inv.partner_id.email|entity}</td></tr>
<tr><td>${_("Email") |entity}: ${inv.partner_id.email|entity}</td></tr>
%endif
%if inv.partner_id.vat :
<tr><td>${_("VAT") |entity}: ${inv.partner_id.vat|entity}</td></tr>

View File

@ -42,7 +42,7 @@
<td>${company.partner_id and company.partner_id.street2 or ''|entity}</td><td>${_('Fax')}:</td><td>${company.partner_id and company.partner_id.fax or ''|entity} </td><td></td>
</tr>
<tr>
<td>${company.partner_id and company.partner_id.zip or ''|entity} ${company.partner_id and company.partner_id.city or ''|entity}</td><td>${_('e-mail')}:</td><td><a href="mailto:${company.partner_id and company.partner_id.email or ''|entity}">${company.partner_id and company.partner_id.email or ''|entity}</a></td><td></td>
<td>${company.partner_id and company.partner_id.zip or ''|entity} ${company.partner_id and company.partner_id.city or ''|entity}</td><td>${_('email')}:</td><td><a href="mailto:${company.partner_id and company.partner_id.email or ''|entity}">${company.partner_id and company.partner_id.email or ''|entity}</a></td><td></td>
</tr>
<tr>
<td>${company.partner_id and company.partner_id.country_id.name or ''|entity}</td><td></td><td style="text-align:right;font-size:12" ><span class="page"/></td><td style="text-align:left;font-size:12;"> / <span class="topage"/></td>

View File

@ -194,7 +194,7 @@ msgstr ""
#. module: mail
#: model:ir.model,name:mail.model_mail_compose_message
msgid "E-mail composition wizard"
msgid "Email composition wizard"
msgstr ""
#. module: mail

View File

@ -202,10 +202,10 @@ class mail_message(osv.osv):
_columns = {
'type': fields.selection([
('email', 'e-mail'),
('email', 'email'),
('comment', 'Comment'),
('notification', 'System notification'),
], 'Type', help="Message type: e-mail for e-mail message, notification for system message, comment for other messages such as user replies"),
], 'Type', help="Message type: email for email message, notification for system message, comment for other messages such as user replies"),
'partner_id': fields.many2one('res.partner', 'Related partner'),
'user_id': fields.many2one('res.users', 'Related User', readonly=1),
'attachment_ids': fields.many2many('ir.attachment', 'message_attachment_rel', 'message_id', 'attachment_id', 'Attachments'),
@ -228,7 +228,7 @@ class mail_message(osv.osv):
}
#------------------------------------------------------
# E-Mail api
# Email api
#------------------------------------------------------
def init(self, cr):

View File

@ -36,7 +36,7 @@ class res_users(osv.osv):
('comments', 'Only comments'),
('to_me', 'Only when sent directly to me'),
('none', 'Never')
], 'Receive Feeds by E-mail', required=True,
], 'Receive Feeds by Email', required=True,
help="Choose in which case you want to receive an email when you receive new feeds."),
}

View File

@ -34,7 +34,7 @@ from ..mail_message import to_email
EXPRESSION_PATTERN = re.compile('(\$\{.+?\})')
class mail_compose_message(osv.osv_memory):
"""Generic E-mail composition wizard. This wizard is meant to be inherited
"""Generic Email composition wizard. This wizard is meant to be inherited
at model and view level to provide specific wizard features.
The behavior of the wizard can be modified through the use of context
@ -58,7 +58,7 @@ class mail_compose_message(osv.osv_memory):
"""
_name = 'mail.compose.message'
_inherit = 'mail.message.common'
_description = 'E-mail composition wizard'
_description = 'Email composition wizard'
def default_get(self, cr, uid, fields, context=None):
"""Overridden to provide specific defaults depending on the context

View File

@ -491,7 +491,7 @@ msgstr ""
#. module: marketing_campaign
#: help:marketing.campaign.activity,email_template_id:0
msgid "The e-mail to send when this activity is activated"
msgid "The email to send when this activity is activated"
msgstr ""
#. module: marketing_campaign
@ -837,7 +837,7 @@ msgstr ""
#. module: marketing_campaign
#: selection:marketing.campaign.activity,type:0
msgid "E-mail"
msgid "Email"
msgstr ""
#. module: marketing_campaign
@ -957,7 +957,7 @@ msgstr ""
#. module: marketing_campaign
#: model:ir.actions.act_window,name:marketing_campaign.action_marketing_campaign_workitem
#: model:ir.ui.menu,name:marketing_campaign.menu_action_marketing_campaign_workitem
msgid "Campaign Followup"
msgid "Campaign Follow-up"
msgstr ""
#. module: marketing_campaign

View File

@ -392,7 +392,7 @@ class marketing_campaign_activity(osv.osv):
_description = "Campaign Activity"
_action_types = [
('email', 'E-mail'),
('email', 'Email'),
('report', 'Report'),
('action', 'Custom Action'),
# TODO implement the subcampaigns.
@ -423,7 +423,7 @@ class marketing_campaign_activity(osv.osv):
- Report: print an existing Report defined on the resource item and save it into a specific directory
- Custom Action: execute a predefined action, e.g. to modify the fields of the resource record
"""),
'email_template_id': fields.many2one('email.template', "Email Template", help='The e-mail to send when this activity is activated'),
'email_template_id': fields.many2one('email.template', "Email Template", help='The email to send when this activity is activated'),
'report_id': fields.many2one('ir.actions.report.xml', "Report", help='The report to generate when this activity is activated', ),
'report_directory_id': fields.many2one('document.directory','Directory',
help="This folder is used to store the generated reports"),

View File

@ -421,7 +421,7 @@
</record>
<record model="ir.actions.act_window" id="action_marketing_campaign_workitem">
<field name="name">Campaign Followup</field>
<field name="name">Campaign Follow-up</field>
<field name="type">ir.actions.act_window</field>
<field name="res_model">marketing.campaign.workitem</field>
<field name="view_type">form</field>
@ -442,7 +442,7 @@
context="{'search_default_campaign_id': [active_id], 'default_campaign_id': active_id}"
/>
<!-- Campaign Followups -->
<!-- Campaign Follow-ups -->
<act_window
context="{'search_default_campaign_id': [active_id], 'default_campaign_id': active_id}"
id="act_marketing_campaing_followup"

View File

@ -42,37 +42,37 @@
record = self.browse(cr, uid, ids[0])
assert record.state == 'todo' or record.state == 'done' , 'Marketing Workitem shoud be in draft state.'
-
I check followup detail of first activity.
I check follow-up detail of first activity.
-
!python {model: marketing.campaign.workitem}: |
ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')),
('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_0'))])
assert ids, 'Followup item is not created for first activity.'
assert ids, 'Follow-up item is not created for first activity.'
work_item_id = self.browse(cr ,uid ,ids[0] ,context)
assert work_item_id.res_name, 'Resource Name is not defined.'
-
I process followup of first activity.
I process follow-up of first activity.
-
!python {model: marketing.campaign.workitem}: |
ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')),
('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_0'))])
self.process(cr, uid, ids)
record = self.browse(cr, uid, ids)[0]
assert record.state == "done", "Followup item should be closed after process."
assert record.state == "done", "Follow-up item should be closed after process."
-
I check followup detail of second activity after process of first activity.
I check follow-up detail of second activity after process of first activity.
-
!python {model: marketing.campaign.workitem}: |
ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')),
('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_1'))])
assert ids, 'Followup item is not created for second activity.'
assert ids, 'Follow-up item is not created for second activity.'
-
Now I increase credit limit of customer
-
!python {model: res.partner}: |
self.write(cr, uid, [ref("base.res_partner_agrolait")], {'credit_limit':41000}, context=context)
-
I process followup of second activity after set draft.
I process follow-up of second activity after set draft.
-
!python {model: marketing.campaign.workitem}: |
ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')),
@ -80,21 +80,21 @@
self.button_draft(cr, uid, ids, context=context)
self.process(cr, uid, ids, context=context)
record = self.browse(cr, uid, ids[0], context=context)
assert record.state == "done", "Followup item should be closed after process."
assert record.state == "done", "Follow-up item should be closed after process."
-
I check followup detail of third activity after process of second activity.
I check follow-up detail of third activity after process of second activity.
-
!python {model: marketing.campaign.workitem}: |
ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')),
('campaign_id', '=', ref('marketing_campaign_openerppartnerchannel')), ('activity_id', '=', ref('marketing_campaign_activity_2'))])
assert ids, 'Followup item is not created for third activity.'
assert ids, 'Follow-up item is not created for third activity.'
-
Now I increase credit limit of customer
-
!python {model: res.partner}: |
self.write(cr, uid, [ref("base.res_partner_agrolait")], {'credit_limit':151000}, context=context)
-
I process followup of third activity after set draft.
I process follow-up of third activity after set draft.
-
!python {model: marketing.campaign.workitem}: |
ids = self.search(cr, uid, [('segment_id', '=', ref('marketing_campaign_segment0')),
@ -102,7 +102,7 @@
self.button_draft(cr, uid, ids, context=context)
self.process(cr, uid, ids, context=context)
record = self.browse(cr, uid, ids[0], context=context)
assert record.state == "done", "Followup item should be closed after process."
assert record.state == "done", "Follow-up item should be closed after process."
-
I print workitem report.
-

View File

@ -52,7 +52,7 @@ msgstr ""
#. module: plugin_thunderbird
#: view:plugin_thunderbird.installer:0
msgid ""
"This plug-in allows you to link your e-mail to OpenERP's documents. You can "
"This plug-in allows you to link your email to OpenERP's documents. You can "
"attach it to any existing one in OpenERP or create a new one."
msgstr ""

View File

@ -12,7 +12,7 @@
<attribute name="string">Install Thunderbird Plug-In</attribute>
</form>
<separator string="title" position="before">
<label string="This plug-in allows you to link your e-mail to OpenERP's documents. You can attach it to any existing one in OpenERP or create a new one."/>
<label string="This plug-in allows you to link your email to OpenERP's documents. You can attach it to any existing one in OpenERP or create a new one."/>
</separator>
<xpath expr="//button[@string='Install Modules']" position="replace">
<button colspan="1" icon="gtk-close" special="cancel" string="_Close"/>

View File

@ -60,7 +60,7 @@ msgstr ""
#. module: portal
#: field:res.portal.wizard.user,user_email:0
msgid "E-mail"
msgid "Email"
msgstr ""
#. module: portal

View File

@ -197,7 +197,7 @@ class wizard_user(osv.osv_memory):
string='User Name',
help="The user's real name"),
'user_email': fields.char(size=64, required=True,
string='E-mail',
string='Email',
help="Will be used as user login. "
"Also necessary to send the account information to new users"),
'lang': fields.selection(_lang_get, required=True,

View File

@ -663,7 +663,7 @@ msgstr ""
#. module: project
#: model:ir.model,name:project.model_mail_compose_message
msgid "E-mail composition wizard"
msgid "Email composition wizard"
msgstr ""
#. module: project

View File

@ -72,7 +72,7 @@ msgstr ""
#. module: report_webkit_sample
#: report:addons/report_webkit_sample/report/report_webkit_html.mako:25
msgid "E-mail"
msgid "Email"
msgstr ""
#. module: report_webkit_sample

View File

@ -22,7 +22,7 @@
<tr><td>${_("Fax")}: ${inv.address_invoice_id.fax|entity}</td></tr>
%endif
%if inv.address_invoice_id.email :
<tr><td>${_("E-mail")}: ${inv.address_invoice_id.email|entity}</td></tr>
<tr><td>${_("Email")}: ${inv.address_invoice_id.email|entity}</td></tr>
%endif
%if inv.partner_id.vat :
<tr><td>${_("VAT")}: ${inv.partner_id.vat|entity}</td></tr>

View File

@ -52,7 +52,7 @@ msgstr ""
#. module: share
#: view:share.wizard:0
msgid "Share with these People (one e-mail per line)"
msgid "Share with these People (one email per line)"
msgstr ""
#. module: share
@ -372,7 +372,7 @@ msgstr ""
#. module: share
#: view:share.wizard:0
msgid ""
"An e-mail notification with instructions has been sent to the following "
"An email notification with instructions has been sent to the following "
"people:"
msgstr ""
@ -404,7 +404,7 @@ msgstr ""
#. module: share
#: help:share.wizard,message:0
msgid ""
"An optional personal message, to be included in the e-mail notification."
"An optional personal message, to be included in the email notification."
msgstr ""
#. module: share
@ -472,7 +472,7 @@ msgstr ""
#. module: share
#: code:addons/share/wizard/share_wizard.py:197
#, python-format
msgid "No e-mail address configured"
msgid "No email address configured"
msgstr ""
#. module: share
@ -512,7 +512,7 @@ msgstr ""
#: code:addons/share/wizard/share_wizard.py:198
#, python-format
msgid ""
"You must configure your e-mail address in the user preferences before using "
"You must configure your email address in the user preferences before using "
"the Share button."
msgstr ""

View File

@ -176,7 +176,7 @@ class share_wizard(osv.osv_memory):
help='Main access page for users that are granted shared access'),
'name': fields.char('Share Title', size=64, required=True, help="Title for the share (displayed to users as menu and shortcut name)"),
'record_name': fields.char('Record name', size=128, help="Name of the shared record, if sharing a precise record"),
'message': fields.text("Personal Message", help="An optional personal message, to be included in the e-mail notification."),
'message': fields.text("Personal Message", help="An optional personal message, to be included in the email notification."),
'embed_code': fields.function(_embed_code, type='text'),
'embed_option_title': fields.boolean("Display title"),
@ -200,8 +200,8 @@ class share_wizard(osv.osv_memory):
def go_step_1(self, cr, uid, ids, context=None):
wizard_data = self.browse(cr,uid,ids,context)[0]
if wizard_data.user_type == 'emails' and not self.has_email(cr, uid, context=context):
raise osv.except_osv(_('No e-mail address configured'),
_('You must configure your e-mail address in the user preferences before using the Share button.'))
raise osv.except_osv(_('No email address configured'),
_('You must configure your email address in the user preferences before using the Share button.'))
model, res_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'share', 'action_share_wizard_step1')
action = self.pool.get(model).read(cr, uid, res_id, context=context)
action['res_id'] = ids[0]

View File

@ -37,10 +37,10 @@
<field name="user_type" invisible="1"/>
<field name="invite" invisible="1"/>
<group>
<group name="emails_group" attrs="{'invisible':['|', ('user_type', '!=', 'emails'), ('invite', '=', True)]}" string="Share with these People (one e-mail per line)">
<group name="emails_group" attrs="{'invisible':['|', ('user_type', '!=', 'emails'), ('invite', '=', True)]}" string="Share with these People (one email per line)">
<field colspan="2" nolabel="1" name="new_users" attrs="{'required':[('user_type','=','emails'), ('invite', '!=', True)]}"/>
</group>
<group name="email_lines" attrs="{'invisible':[('invite', '!=', True)]}" string="Share with these People (one e-mail per line)">
<group name="email_lines" attrs="{'invisible':[('invite', '!=', True)]}" string="Share with these People (one email per line)">
<field name="email_1"/>
<field name="email_2"/>
<field name="email_3"/>
@ -69,7 +69,7 @@
<field name="access_mode" invisible="1"/>
</header>
<group attrs="{'invisible':[('user_type','=','embedded')]}">
<separator string="An e-mail notification with instructions has been sent to the following people:"/>
<separator string="An email notification with instructions has been sent to the following people:"/>
<field name="result_line_ids" nolabel="1" mode="tree">
<tree string="Summary">
<field name="login"/>

View File

@ -996,7 +996,7 @@ msgstr ""
#. module: survey
#: field:survey,send_response:0
msgid "E-mail Notification on Answer"
msgid "Email Notification on Answer"
msgstr ""
#. module: survey
@ -1211,7 +1211,7 @@ msgstr ""
#. module: survey
#: field:survey.request,email:0
msgid "E-mail"
msgid "Email"
msgstr ""
#. module: survey

View File

@ -66,7 +66,7 @@ class survey(osv.osv):
'note': fields.text('Description', size=128),
'history': fields.one2many('survey.history', 'survey_id', 'History Lines', readonly=True),
'users': fields.many2many('res.users', 'survey_users_rel', 'sid', 'uid', 'Users'),
'send_response': fields.boolean('E-mail Notification on Answer'),
'send_response': fields.boolean('Email Notification on Answer'),
'type': fields.many2one('survey.type', 'Type'),
'invited_user_ids': fields.many2many('res.users', 'survey_invited_user_rel', 'sid', 'uid', 'Invited User'),
}
@ -699,7 +699,7 @@ class survey_request(osv.osv):
_columns = {
'date_deadline': fields.date("Deadline date"),
'user_id': fields.many2one("res.users", "User"),
'email': fields.char("E-mail", size=64),
'email': fields.char("Email", size=64),
'survey_id': fields.many2one("survey", "Survey", required=1, ondelete='cascade'),
'response': fields.many2one('survey.response', 'Answer'),
'state': fields.selection([('draft','Draft'),('cancel', 'Cancelled'),('waiting_answer', 'Waiting Answer'),('done', 'Done')], 'Status', readonly=1)

View File

@ -435,7 +435,7 @@ class survey_question_wiz(osv.osv_memory):
def create_report(self, cr, uid, res_ids, report_name=False, file_name=False, context=None):
"""
If any user give answer of survey then last create report of this answer and if 'E-mail Notification on Answer' set True in survey then send mail on responsible person of this survey and attach survey answer report in pdf format.
If any user give answer of survey then last create report of this answer and if 'Email Notification on Answer' set True in survey then send mail on responsible person of this survey and attach survey answer report in pdf format.
"""
if not report_name or not res_ids:
return (False, Exception('Report name and Resources ids are required !!!'))

View File

@ -191,7 +191,7 @@ class survey_send_invitation(osv.osv_memory):
if skipped:
note += "%d contacts where ignored (an email address is missing).\n\n" % (skipped)
if error:
note += 'E-Mail not send successfully:\n====================\n%s\n' % (error)
note += 'Email not send successfully:\n====================\n%s\n' % (error)
context.update({'note' : note})
return {
'view_type': 'form',