diff --git a/src/Makefile b/src/Makefile
index 5d5cae0..6e6d80e 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -475,7 +475,8 @@ box-drawing.import.scm: $(BOX-DRAWING-SOURCES)
EXPORT-WEB-STATIC-SOURCES=export-web-static.scm brmember.import.scm \
util-dir.import.scm mbase.import.scm \
members-payments.import.scm cal-day.import.scm \
- util-git.import.scm configuration.import.scm texts.import.scm
+ util-git.import.scm configuration.import.scm texts.import.scm \
+ members-fees.import.scm qr-payment.import.scm
export-web-static.o: export-web-static.import.scm
export-web-static.import.scm: $(EXPORT-WEB-STATIC-SOURCES)
@@ -579,7 +580,7 @@ MBASE-QUERY-SOURCES=mbase-query.scm mbase.import.scm \
mbase-query.o: mbase-query.import.scm
mbase-query.import.scm: $(MBASE-QUERY-SOURCES)
-QR-PAYMENT-SOURCES=qr-payment.scm
+QR-PAYMENT-SOURCES=qr-payment.scm util-io.import.scm
qr-payment.o: qr-payment.import.scm
qr-payment.import.scm: $(QR-PAYMENT-SOURCES)
diff --git a/src/export-web-static.scm b/src/export-web-static.scm
index 4b0b15d..6ac3a3d 100644
--- a/src/export-web-static.scm
+++ b/src/export-web-static.scm
@@ -45,7 +45,9 @@
util-git
configuration
texts
- logging)
+ logging
+ qr-payment
+ members-fees)
;; HTML entities
(define (sanitize-html str)
@@ -110,6 +112,13 @@
(print "")
(print "")
(print "
")
+ (let ((fee (member-calendar-entry->fee
+ (make-member-calendar-entry mr))))
+ (print "Fee: " fee)
+ (print (make-brmlab-qrp-svg-string
+ fee "CZK" (brmember-id mr))))
+ (print "
")
+ (print "")
(print "
Payments History
")
(print "
")
(print "Date | Type | Comment | Amount | Currency | Amount [CZK] | Balance |
")
diff --git a/src/qr-payment.scm b/src/qr-payment.scm
index be79b50..0c28ac6 100644
--- a/src/qr-payment.scm
+++ b/src/qr-payment.scm
@@ -36,7 +36,8 @@
(import scheme
(chicken format)
(chicken string)
- (chicken base))
+ (chicken base)
+ util-io)
(define (make-empty-qrp . vs)
(let ((v (if (null? vs) "1.0" (car vs))))
@@ -54,7 +55,7 @@
(string->number amt)
amt))
(s (number->string n))
- (f (string-split str "."))
+ (f (string-split s "."))
(i? (null? (cdr f))))
(format "~A.~A"
(car f)
@@ -65,7 +66,7 @@
0 2)))))
(define (make-qrp iban amt cc vs msg)
- (let loop ((keys '(ACC AM CC MSG X-CS))
+ (let loop ((keys '(ACC AM CC MSG X-VS))
(vals (list iban (ensure-amount-format amt) cc msg vs))
(qrp (make-empty-qrp)))
(if (null? keys)
@@ -83,8 +84,18 @@
(make-qrp iban amt cc vs "Brmlab")))
(define (qrp-create-svg-string qrps)
- ;; qrencode -t svg -o - -l M
- "TODO")
+ (let-values
+ (((ec ol)
+ (get-process-exit+output-lines
+ "qrencode"
+ "-t" "svg"
+ "--inline"
+ "-o" "-"
+ "-l" "M"
+ qrps)))
+ (if (eq? ec 0)
+ (string-intersperse ol "\n")
+ #f)))
(define (make-brmlab-qrp-svg-string amt cc vs)
(qrp-create-svg-string