Esempio n. 1
0
    User = get_user_model()
    customer = pagarme_transaction['customer']
    try:
        return User.objects.get(email=customer['email'])
    except User.DoesNotExist:
        return User.objects.create(first_name=customer['name'],
                                   email=customer['email'])


facade.set_user_factory(user_factory)


def print_contact_info(name, email, phone, payment_item_slug, user=None):
    print('Contact Data:', name, email, phone, payment_item_slug, user)


facade.add_contact_info_listener(print_contact_info)


def print_payment_id(payment_id):
    payment = facade.find_payment(payment_id)
    print(payment, payment.status())


facade.add_payment_status_changed(print_payment_id)


def home(request):
    ctx = {'payment_items': facade.list_payment_item_configs()}
    return render(request, 'home.html', ctx)
                          phone: str,
                          payment_item_slug: str,
                          user=None):
    if (user is not None) and user.is_authenticated:
        user_id = user.id
        if payment_item_slug.startswith('membership'):
            core_facade.member_checkout_form(user)
        elif payment_item_slug.startswith('webdev'):
            core_facade.webdev_checkout_form(user)
    else:
        user_id = None
    email_marketing_facade.create_or_update_with_no_role.delay(
        name, email, f'{payment_item_slug}-form', id=user_id, phone=str(phone))


django_pagarme_facade.add_contact_info_listener(contact_info_listener)


def user_factory(pagarme_transaction):
    customer = pagarme_transaction['customer']
    customer_email = customer['email'].lower()
    customer_first_name = customer['name'].split()[0]
    return user_facade.force_register_lead(customer_first_name, customer_email)


django_pagarme_facade.set_user_factory(user_factory)

GENERATED_BOLETO_TAG = 'generated-boleto'


@shared_task()
Esempio n. 3
0
def listener_mock(mocker):
    listener = mocker.Mock()
    facade.add_contact_info_listener(listener)
    yield listener
    facade._contact_info_listeners = []