mirror of
https://github.com/OCA/reporting-engine.git
synced 2025-02-16 16:30:38 +02:00
[IMP] : black, isort, prettier
This commit is contained in:
@@ -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):
|
||||
|
||||
Reference in New Issue
Block a user