Skip to content

Instantly share code, notes, and snippets.

@poonlap
poonlap / otfcopy.sh
Created March 31, 2021 05:36
Copy OTF file by it's name
#!/bin/bash
for i in $@
do
echo $i
name=`otfinfo -a $i`.otf
name=`echo $name | sed 's/ //g'`
cp $i "$name"
done
@poonlap
poonlap / testzeep.py
Created November 30, 2020 01:17
Test RD web service
from requests import Session
from zeep import helpers, Client
from zeep.transports import Transport
import pprint
session = Session()
session.verify = '/home/poonlap/all.cer'
# session.verify =False
transport = Transport(session=session)
<odoo>
<template id="payment_promptpay_web_display" inherit_id="website_sale.confirmation">
<xpath expr="//table" position="after">
<t t-set="payment_tx_id" t-value="order.get_portal_last_transaction()" />
<t
t-if="payment_tx_id.acquirer_id.qr_code_promptpay and payment_tx_id.acquirer_id.provider == 'transfer'"
>
<div class="oe_website_sale_tx_status mt-3">
<div class="card bg-info">
<div class="card-header">
@poonlap
poonlap / payment.py
Last active November 24, 2020 16:26
Excerpt from l10n_th_promptpay model
class L10nTHPromptpay(models.Model):
_inherit = "payment.acquirer"
qr_code_promptpay = fields.Boolean("Use PromptPay QR code")
promptpay_id = fields.Char(
string="PromptPay ID",
help="13 digits for company's tax ID or 10 digits for mobile phone number",
)
def promptpayPayload(self, data):
return qrcode.generate_payload(self.promptpay_id, float(data))
@poonlap
poonlap / Odoo QR code basic
Created November 24, 2020 07:01
Odoo QR code basic
<img src="demo.odoo.com/report/barcode/?type=QR&value=promptpay&width=200&height=200 />
@poonlap
poonlap / gist:2cda607894bce8a98c39abe4b3c24198
Created November 23, 2020 17:02
QR code sample for Odoo
<img t-att-src="'/report/barcode/?type=%s&value=%s&width=%s&height=%s'%('QR', 'text', 200, 200)"/>
@poonlap
poonlap / qrcode.xml
Last active November 24, 2020 16:01
QR code
<img t-att-src="'/report/barcode/?type=%s&amp;value=%s&amp;width=%s&amp;height=%s'%('QR', doc.payment_tx_id.promptpay_qrcode , 200, 200)"/>
@poonlap
poonlap / promptpay.sh
Last active November 24, 2020 15:53
qrcode cli sample
❯ pip3 install promptpay
❯ promptpay qrcode --id=1111111111111
payload of 1111111111111: 00020101021129370016A000000677010111021311111111111115802TH530376463047B5A
❯ promptpay qrcode --id=1111111111111 --file=qrcode.png
@poonlap
poonlap / fix_top_menu_with_lang_selector.xml
Last active October 17, 2022 08:04
Odoo's fixed top menu with language selector.
<data inherit_id="website.layout" name="Fixed Top Menu">
<xpath expr="//header" position="attributes">
<attribute name="t-attf-class" add="#{'o_affix_enabled'}" separator=" "/>
</xpath>
<xpath expr="//header[1]/nav/div/div/ul/li[4]" position="after">
<!--
<xpath expr="//header/nav/div/div/ul/li" position="after">
<xpath expr="//header" position="before">
-->
<t t-name="website.language_selector">
@poonlap
poonlap / gist:6502d669702e78c6ad39587232b64334
Created October 18, 2020 16:07
Modified Odoo's language selector
<t t-name="website.language_selector">
<ul class="nav-link" t-if="(request and request.is_frontend_multilang and len(languages) &gt; 1) or (website and (editable or translatable))">
<li class="nav-item list-inline-item">
<div class="dropdown">
<button class="btn btn-sm btn-secondary dropdown-toggle" type="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
<span t-esc="list(filter(lambda lg : lg[0] == lang, languages))[0][2].split('/').pop()"/>
<span class="caret ml4"/>
</button>
<div class="dropdown-menu" role="menu">
<t t-foreach="languages" t-as="lg">