19 |
19 |
import eopayment
|
20 |
20 |
except ImportError:
|
21 |
21 |
pass
|
22 |
22 |
|
23 |
23 |
from qommon import errors, get_logger, get_cfg, emails
|
24 |
24 |
from qommon.storage import StorableObject
|
25 |
25 |
from qommon.form import htmltext, StringWidget, TextWidget, SingleSelectWidget, \
|
26 |
26 |
WidgetDict
|
|
27 |
from qommon.misc import latin1_to_ascii
|
27 |
28 |
|
28 |
29 |
from wcs.formdef import FormDef
|
29 |
30 |
from wcs.formdata import Evolution
|
30 |
31 |
from wcs.workflows import WorkflowStatusItem, register_item_class, template_on_formdata
|
31 |
32 |
from wcs.users import User
|
32 |
33 |
|
33 |
34 |
def is_payment_supported():
|
34 |
35 |
if not eopayment:
|
35 |
36 |
return False
|
36 |
37 |
return get_cfg('aq-permissions', {}).get('payments', None) is not None
|
37 |
38 |
|
38 |
39 |
|
|
40 |
|
39 |
41 |
class Regie(StorableObject):
|
40 |
42 |
_names = 'regies'
|
41 |
43 |
|
42 |
44 |
label = None
|
43 |
45 |
description = None
|
44 |
46 |
service = None
|
45 |
47 |
service_options = None
|
46 |
48 |
|
... | ... | |
401 |
403 |
payment = regie.get_payment_object()
|
402 |
404 |
# initialize request_kwargs using informations from the first invoice
|
403 |
405 |
# and update using current user informations
|
404 |
406 |
request_kwargs = getattr(invoices[0], 'request_kwargs', {})
|
405 |
407 |
request = get_request()
|
406 |
408 |
if request.user and request.user.email:
|
407 |
409 |
request_kwargs['email'] = request.user.email
|
408 |
410 |
if request.user and request.user.display_name:
|
409 |
|
request_kwargs['name'] = request.user.display_name
|
|
411 |
request_kwargs['name'] = latin1_to_ascii(request.user.display_name)
|
410 |
412 |
(order_id, kind, data) = payment.request(amount, next_url=url, **request_kwargs)
|
411 |
413 |
transaction.order_id = order_id
|
412 |
414 |
transaction.store()
|
413 |
415 |
|
414 |
416 |
for invoice in invoices:
|
415 |
417 |
if invoice.formdef_id and invoice.formdata_id:
|
416 |
418 |
formdef = FormDef.get(invoice.formdef_id)
|
417 |
419 |
formdata = formdef.data_class().get(invoice.formdata_id)
|
418 |
|
-
|