mirror of
https://github.com/bringout/oca-report.git
synced 2026-04-22 20:21:59 +02:00
Initial commit: OCA Report packages (45 packages)
This commit is contained in:
commit
2f4db400df
2543 changed files with 469120 additions and 0 deletions
|
|
@ -0,0 +1 @@
|
|||
from . import ir_actions_report
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
import io
|
||||
|
||||
import qrcode
|
||||
from qrcode.image import pil, svg
|
||||
|
||||
from odoo import api, models
|
||||
|
||||
|
||||
class IrActionsReport(models.Model):
|
||||
_inherit = "ir.actions.report"
|
||||
|
||||
@api.model
|
||||
def qr_generate(self, value, box_size=3, border=5, factory="png", **kwargs):
|
||||
factories = {
|
||||
"png": pil.PilImage,
|
||||
"svg": svg.SvgImage,
|
||||
"svg-fragment": svg.SvgFragmentImage,
|
||||
"svg-path": svg.SvgPathImage,
|
||||
}
|
||||
back_color = kwargs.pop("back_color", "white")
|
||||
fill_color = kwargs.pop("fill_color", "black")
|
||||
try:
|
||||
# Defaults to png if the argument is unknown
|
||||
image_factory = factories.get(factory, pil.PilImage)
|
||||
qr = qrcode.QRCode(
|
||||
box_size=box_size, border=border, image_factory=image_factory, **kwargs
|
||||
)
|
||||
qr.add_data(value)
|
||||
qr.make()
|
||||
img = qr.make_image(fill_color=fill_color, back_color=back_color)
|
||||
arr = io.BytesIO()
|
||||
img.save(arr)
|
||||
return arr.getvalue()
|
||||
except Exception as e:
|
||||
raise ValueError("Cannot convert into barcode.") from e
|
||||
Loading…
Add table
Add a link
Reference in a new issue