mirror of
https://github.com/pretix/pretix.git
synced 2026-08-11 10:57:00 +00:00
Vouchers: Allow to bulk-update (#6096)
* Vouchers: Allow to bulk-delete larger numbers * [DRAFT] voucher bulk update * untested draft * Minor fixes * some tests and fixes * More tests * Bulk vouchers - refactor (#6353) * Reuse parse_itemvar from VoucherForm * Refactor: Method for _bulk update check * remove unused parameter * Refactor: Deduplicate get_affected_quotas code * Remove unused delete button * Prevent accidental update of *all* vouchers (cf PR #4960) * Make sure we actually edit the selected items * Use dataclass for bulk-edit data, deduplicate quota-blocking logic * Move dataclass to models.py * Fix linter errors * Fix tests * Fix tests --------- Co-authored-by: luelista <weller@rami.io>
This commit is contained in:
co-authored by
luelista
parent
ea2c81e6dc
commit
dc1b62fc56
@@ -964,6 +964,8 @@ def test_redeemed_is_not_writable(token_client, organizer, event, item):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_create_multiple_vouchers(token_client, organizer, event, item):
|
||||
with scopes_disabled():
|
||||
event.quotas.create(name="Q", size=100).items.add(item)
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/vouchers/batch_create/'.format(organizer.slug, event.slug),
|
||||
data=[
|
||||
@@ -1012,6 +1014,8 @@ def test_create_multiple_vouchers(token_client, organizer, event, item):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_create_multiple_vouchers_one_invalid(token_client, organizer, event, item):
|
||||
with scopes_disabled():
|
||||
event.quotas.create(name="Q", size=100).items.add(item)
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/vouchers/batch_create/'.format(organizer.slug, event.slug),
|
||||
data=[
|
||||
@@ -1055,6 +1059,8 @@ def test_create_multiple_vouchers_one_invalid(token_client, organizer, event, it
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_create_multiple_vouchers_duplicate_code(token_client, organizer, event, item):
|
||||
with scopes_disabled():
|
||||
event.quotas.create(name="Q", size=100).items.add(item)
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/vouchers/batch_create/'.format(organizer.slug, event.slug),
|
||||
data=[
|
||||
@@ -1098,6 +1104,8 @@ def test_create_multiple_vouchers_duplicate_code(token_client, organizer, event,
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_create_multiple_vouchers_autogenerate_codes(token_client, organizer, event, item):
|
||||
with scopes_disabled():
|
||||
event.quotas.create(name="Q", size=100).items.add(item)
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/vouchers/batch_create/'.format(organizer.slug, event.slug),
|
||||
data=[
|
||||
@@ -1157,6 +1165,8 @@ def seat1(item, event):
|
||||
|
||||
@pytest.mark.django_db
|
||||
def test_create_multiple_vouchers_duplicate_seat(token_client, organizer, event, item, seat1, seatingplan):
|
||||
with scopes_disabled():
|
||||
event.quotas.create(name="Q", size=100).items.add(item)
|
||||
resp = token_client.post(
|
||||
'/api/v1/organizers/{}/events/{}/vouchers/batch_create/'.format(organizer.slug, event.slug),
|
||||
data=[
|
||||
|
||||
Reference in New Issue
Block a user