[IMP] : black, isort, prettier

This commit is contained in:
Kitti U
2021-02-10 00:11:01 +07:00
parent 69ed532279
commit 01f5f982be
9 changed files with 97 additions and 64 deletions

View File

@@ -1,13 +1,13 @@
# Copyright 2020 Creu Blanca
# Copyright 2020 Ecosoft Co., Ltd.
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
import time
import logging
from odoo import fields, models, _
import time
from io import BytesIO
from odoo.tools.safe_eval import safe_eval
from odoo.exceptions import ValidationError
from odoo import _, fields, models
from odoo.exceptions import ValidationError
from odoo.tools.safe_eval import safe_eval
_logger = logging.getLogger(__name__)
try:
@@ -20,13 +20,12 @@ class IrActionsReport(models.Model):
_inherit = "ir.actions.report"
encrypt = fields.Selection(
[("manual", "Manual Input Password"),
("auto", "Auto Generated Password")],
[("manual", "Manual Input Password"), ("auto", "Auto Generated Password")],
string="Encryption",
help="* Manual Input Password: allow user to key in password on the fly. "
"This option available only on document print action.\n"
"* Auto Generated Password: system will auto encrypt password when PDF "
"created, based on provided python syntax."
"created, based on provided python syntax.",
)
encrypt_password = fields.Char(
help="Python code syntax to gnerate password.",
@@ -34,7 +33,8 @@ class IrActionsReport(models.Model):
def render_qweb_pdf(self, res_ids=None, data=None):
document, ttype = super(IrActionsReport, self).render_qweb_pdf(
res_ids=res_ids, data=data)
res_ids=res_ids, data=data
)
password = self._get_pdf_password(res_ids[:1])
document = self._encrypt_pdf(document, password)
return document, ttype
@@ -51,12 +51,14 @@ class IrActionsReport(models.Model):
elif self.encrypt == "auto" and self.encrypt_password:
obj = self.env[self.model].browse(res_id)
try:
encrypt_password = safe_eval(self.encrypt_password,
{'object': obj, 'time': time})
encrypt_password = safe_eval(
self.encrypt_password, {"object": obj, "time": time}
)
except:
raise ValidationError(
_("Python code used for encryption password is invalid.\n%s")
% self.encrypt_password)
% self.encrypt_password
)
return encrypt_password
def _encrypt_pdf(self, data, password):