diff --git a/res_users_signature/README.rst b/res_users_signature/README.rst index 91fe7d3050..7ded1d3a18 100644 --- a/res_users_signature/README.rst +++ b/res_users_signature/README.rst @@ -1,31 +1,40 @@ -Allows create signature templates for users. For example, +=================================== + Signature templates for user email +=================================== - --- +Add templated signature for users -
${user.name}, ${user.function} of ${user.partner_id.company_id.name}
+Credits +======= -${user.phone},
+Contributors
+------------
+* `Ivan Yelizariev
Bob, sale manager of You Company
+HTML Description: https://apps.odoo.com/apps/modules/12.0/res_users_signature/ -+123456789, sales@example.com
+Usage instructions: `${user.name}, ${user.function} of ${user.partner_id.company_id.name}
+ +${user.phone}, + + % if user.mobile + + ${user.mobile}, + + % endif + + ${user.email}
+ + + +Will be converted to + + --- + +Bob, sale manager of You Company
+ ++123456789, sales@example.com
+ + + +* RESULT: {what user gets, how the modules changes default behaviour} diff --git a/res_users_signature/images/main.png b/res_users_signature/images/main.png new file mode 100644 index 0000000000..1bf3d839f5 Binary files /dev/null and b/res_users_signature/images/main.png differ diff --git a/res_users_signature/models/__init__.py b/res_users_signature/models/__init__.py new file mode 100644 index 0000000000..a18968a084 --- /dev/null +++ b/res_users_signature/models/__init__.py @@ -0,0 +1 @@ +from . import res_users_signature_models diff --git a/res_users_signature/res_users_signature_models.py b/res_users_signature/models/res_users_signature_models.py similarity index 90% rename from res_users_signature/res_users_signature_models.py rename to res_users_signature/models/res_users_signature_models.py index 71a9af4c6c..b73992cd4c 100644 --- a/res_users_signature/res_users_signature_models.py +++ b/res_users_signature/models/res_users_signature_models.py @@ -1,36 +1,32 @@ -from openerp import fields as old_fields -from openerp import api, models, fields, tools +from odoo import api, models, fields, tools try: - from openerp.addons.email_template.email_template import mako_template_env + from odoo.addons.mail.models.mail_template import mako_template_env except ImportError: - try: - from openerp.addons.mail.mail_template import mako_template_env - except ImportError: - pass + pass -from openerp.loglevels import ustr +from odoo.loglevels import ustr from email.mime.text import MIMEText from email.mime.base import MIMEBase from email.mime.multipart import MIMEMultipart from email.utils import COMMASPACE from email.utils import formatdate from email.utils import make_msgid -from email import Encoders -from openerp.tools import html2text +from email import encoders +import html2text import re import base64 -from openerp.addons.base.models.ir_mail_server import encode_rfc2822_address_header, encode_header, encode_header_param +from odoo.addons.base.models.ir_mail_server import encode_rfc2822_address_header, encode_header, encode_header_param class ResUsers(models.Model): _inherit = 'res.users' signature_id = fields.Many2one('res.users.signature', string='Signature template', help='Keep empty to edit signature manually') - - 'signature': old_fields.Html('Signature', sanitize=False) - + _columns = { + 'signature': fields.Html('Signature', sanitize=False) + } @api.one @api.onchange('signature_id') @@ -53,6 +49,7 @@ def write(self, vals): class ResUsersSignature(models.Model): _name = 'res.users.signature' + _description = 'Users signatures' name = fields.Char('Name') comment = fields.Text('Internal note') @@ -112,7 +109,7 @@ class IrMailServer(models.Model): def build_email(self, email_from, email_to, subject, body, email_cc=None, email_bcc=None, reply_to=False, attachments=None, message_id=None, references=None, object_id=False, subtype='plain', headers=None, body_alternative=None, subtype_alternative='plain'): - """ copy-pasted from openerp/addons/base/models/ir_mail_server.py::build_email """ + """ copy-pasted from odoo/addons/base/models/ir_mail_server.py::build_email """ ftemplate = '__image-%s__' fcounter = 0 @@ -184,7 +181,7 @@ def build_email(self, email_from, email_to, subject, body, email_cc=None, email_ msg['Bcc'] = encode_rfc2822_address_header(COMMASPACE.join(email_bcc)) msg['Date'] = formatdate() # Custom headers may override normal headers or provide additional ones - for key, value in headers.iteritems(): + for key, value in headers.items(): msg[ustr(key).encode('utf-8')] = encode_header(value) if subtype == 'html' and not body_alternative and html2text: @@ -212,11 +209,11 @@ def build_email(self, email_from, email_to, subject, body, email_cc=None, email_ # The default RFC2231 encoding of Message.add_header() works in Thunderbird but not GMail # so we fix it by using RFC2047 encoding for the filename instead. - part.set_param('name', filename_rfc2047) + part.sudo().set_param('name', filename_rfc2047) part.add_header('Content-Disposition', 'attachment', filename=filename_rfc2047) part.add_header('Content-ID', '<%s>' % filename_rfc2047) # NEW STUFF part.set_payload(fcontent) - Encoders.encode_base64(part) + encoders.encode_base64(part) msg.attach(part) return msg diff --git a/res_users_signature/security/res_users_signature_security.xml b/res_users_signature/security/res_users_signature_security.xml index 3f188cb688..aa85d8c883 100644 --- a/res_users_signature/security/res_users_signature_security.xml +++ b/res_users_signature/security/res_users_signature_security.xml @@ -1,10 +1,8 @@ -Contact us by email or fill out request form
+${user.name}, ${user.function} of ${user.partner_id.company_id.name}
+ +${user.phone}, + + % if user.mobile + + ${user.mobile}, + + % endif + + ${user.email}
+ + + +Will be converted to + + --- + +Bob, sale manager of You Company
+ ++123456789, sales@example.com
+ + + +* RESULT: {what user gets, how the modules changes default behaviour} diff --git a/res_users_signature_hr/models.py b/res_users_signature_hr/models/res_users_signature_models.py similarity index 82% rename from res_users_signature_hr/models.py rename to res_users_signature_hr/models/res_users_signature_models.py index a9382067fe..b571f68c96 100644 --- a/res_users_signature_hr/models.py +++ b/res_users_signature_hr/models/res_users_signature_models.py @@ -1,5 +1,5 @@ -from openerp import api -from openerp import models +from odoo import api +from odoo import models class HrEmployee(models.Model): diff --git a/res_users_signature_hr/views.xml b/res_users_signature_hr/views/res_users_signature_hr_views.xml similarity index 53% rename from res_users_signature_hr/views.xml rename to res_users_signature_hr/views/res_users_signature_hr_views.xml index 379a8683a4..6fa84137e4 100644 --- a/res_users_signature_hr/views.xml +++ b/res_users_signature_hr/views/res_users_signature_hr_views.xml @@ -1,3 +1,3 @@ -