0001-Implement-POST-method-for-eopayment-requests-fixes-6.patch
extra/modules/payments.py | ||
---|---|---|
5 | 5 |
import time |
6 | 6 |
import urllib |
7 | 7 | |
8 | 8 |
from decimal import Decimal |
9 | 9 | |
10 | 10 |
from quixote import (redirect, get_publisher, get_request, get_session, |
11 | 11 |
get_response) |
12 | 12 |
from quixote.directory import Directory |
13 |
from quixote.html import TemplateIO, htmltext |
|
13 | 14 | |
14 | 15 |
if not set: |
15 | 16 |
from sets import Set as set |
16 | 17 | |
17 | 18 |
eopayment = None |
18 | 19 |
try: |
19 | 20 |
import eopayment |
20 | 21 |
except ImportError: |
... | ... | |
424 | 425 |
if not formdata.evolution: |
425 | 426 |
formdata.evolution = [] |
426 | 427 |
formdata.evolution.append(evo) |
427 | 428 |
formdata.store() |
428 | 429 | |
429 | 430 |
if kind == eopayment.URL: |
430 | 431 |
return redirect(data) |
431 | 432 |
elif kind == eopayment.FORM: |
432 |
raise NotImplementedError()
|
|
433 |
return return_eopayment_form(data)
|
|
433 | 434 |
else: |
434 | 435 |
raise NotImplementedError() |
435 | 436 | |
437 |
def return_eopayment_form(form): |
|
438 |
r = TemplateIO(html=True) |
|
439 |
r += htmltext('<html><body onload="document.payform.submit()">') |
|
440 |
r += htmltext('<form action="%s" method="%s" name="payform">') % (form.url, form.method) |
|
441 |
for field in form.fields: |
|
442 |
r += htmltext('<input type="%s" name="%s" value="%s"/>') % ( |
|
443 |
field['type'], |
|
444 |
field['name'], |
|
445 |
field['value']) |
|
446 |
r += htmltext('<input type="submit" name="submit" value="%s"/>') % _('Pay') |
|
447 |
r += htmltext('</body></html>') |
|
448 |
return r.getvalue() |
|
449 | ||
436 | 450 | |
437 | 451 |
class PaymentValidationWorkflowStatusItem(WorkflowStatusItem): |
438 | 452 |
description = N_('Payment Validation') |
439 | 453 |
key = 'payment-validation' |
440 | 454 |
endpoint = False |
441 | 455 |
category = ('aq-payment', N_('Payment')) |
442 | 456 | |
443 | 457 |
next_status = None |
444 |
- |