| 26 | | (cond |
|---|
| 27 | | ((scan #?r"(^|.*/)handle-sale" template-name) |
|---|
| 28 | | (with-query-params (cartId name address country transStatus lang MC_gift) |
|---|
| 29 | | (unless (website-supports-language lang) |
|---|
| 30 | | (setf lang *default-language*)) |
|---|
| 31 | | (bos.m2::remember-worldpay-params cartId (all-request-params)) |
|---|
| 32 | | (let ((contract (get-contract (parse-integer cartId)))) |
|---|
| 33 | | (sponsor-set-language (contract-sponsor contract) lang) |
|---|
| 34 | | (cond |
|---|
| 35 | | ((not (typep contract 'contract)) |
|---|
| 36 | | (user-error "Error: Invalid transaction ID.")) |
|---|
| 37 | | ((contract-paidp contract) |
|---|
| 38 | | (user-error "Error: Transaction already processed.")) |
|---|
| 39 | | ((equal "C" transStatus) |
|---|
| 40 | | (setf template-name #?"/$(lang)/sponsor_canceled")) |
|---|
| 41 | | ((< (contract-price contract) *mail-certificate-threshold*) |
|---|
| 42 | | (setf template-name #?"/$(lang)/quittung")) |
|---|
| 43 | | (t |
|---|
| 44 | | (when (<= *mail-fiscal-certificate-threshold* (contract-price contract)) |
|---|
| 45 | | (mail-fiscal-certificate-to-office contract name address country)) |
|---|
| 46 | | (setf template-name (if (and MC_gift (equal MC_gift "1")) #?"/$(lang)/versand_geschenk" #?"/$(lang)/versand_info"))))))) |
|---|
| 47 | | ((and (not (scan "/" template-name)) |
|---|
| 48 | | (not (probe-file (merge-pathnames (make-pathname :name template-name :type "xml") |
|---|
| 49 | | (bknr.web::template-expander-destination handler))))) |
|---|
| 50 | | (setf template-name (format nil "~A/~A" (or (find-browser-prefered-language) |
|---|
| 51 | | *default-language*) |
|---|
| 52 | | (if (equal "" template-name) |
|---|
| 53 | | "index" template-name))))) |
|---|
| 54 | | (call-next-method handler template-name)) |
|---|
| | 26 | (call-next-method handler |
|---|
| | 27 | (cond |
|---|
| | 28 | ((scan #?r"(^|.*/)handle-sale" template-name) |
|---|
| | 29 | (with-query-params (cartId name address country transStatus lang MC_gift) |
|---|
| | 30 | (unless (website-supports-language lang) |
|---|
| | 31 | (setf lang *default-language*)) |
|---|
| | 32 | (bos.m2::remember-worldpay-params cartId (all-request-params)) |
|---|
| | 33 | (let ((contract (get-contract (parse-integer cartId)))) |
|---|
| | 34 | (sponsor-set-language (contract-sponsor contract) lang) |
|---|
| | 35 | (cond |
|---|
| | 36 | ((not (typep contract 'contract)) |
|---|
| | 37 | (user-error "Error: Invalid transaction ID.")) |
|---|
| | 38 | ((contract-paidp contract) |
|---|
| | 39 | (user-error "Error: Transaction already processed.")) |
|---|
| | 40 | ((equal "C" transStatus) |
|---|
| | 41 | #?"/$(lang)/sponsor_canceled") |
|---|
| | 42 | ((< (contract-price contract) *mail-certificate-threshold*) |
|---|
| | 43 | #?"/$(lang)/quittung") |
|---|
| | 44 | (t |
|---|
| | 45 | (when (<= *mail-fiscal-certificate-threshold* (contract-price contract)) |
|---|
| | 46 | (mail-fiscal-certificate-to-office contract name address country)) |
|---|
| | 47 | (if (and MC_gift (equal MC_gift "1")) |
|---|
| | 48 | #?"/$(lang)/versand_geschenk" |
|---|
| | 49 | #?"/$(lang)/versand_info")))))) |
|---|
| | 50 | ((equal "" template-name) |
|---|
| | 51 | "de/index") |
|---|
| | 52 | (t |
|---|
| | 53 | template-name)))) |
|---|