Compare commits

..

1 Commits

Author SHA1 Message Date
Raphael Michel
dedbab59f1 asynctask.js: Fix gettext being used before translations are loaded (Z#23204825) 2025-08-22 09:50:17 +02:00
31 changed files with 101 additions and 192 deletions

View File

@@ -42,7 +42,7 @@ dependencies = [
"django-filter==25.1",
"django-formset-js-improved==0.5.0.3",
"django-formtools==2.5.1",
"django-hierarkey==2.0.*,>=2.0.1",
"django-hierarkey==2.0.*",
"django-hijack==3.7.*",
"django-i18nfield==1.10.*",
"django-libsass==0.9",

View File

@@ -197,7 +197,6 @@ def order_overview(
item.all_variations = list(item.variations.all())
item.has_variations = (len(item.all_variations) > 0)
item.num = {}
item.subevent = subevent
if item.has_variations:
for var in item.all_variations:
variid = var.id

View File

@@ -107,16 +107,11 @@ def get_all_payment_providers():
return Event
with rolledback_transaction():
plugins = ",".join([app.name for app in apps.get_app_configs()])
organizer = Organizer.objects.create(
name="INTERNAL",
plugins=plugins,
)
event = Event.objects.create(
plugins=plugins,
plugins=",".join([app.name for app in apps.get_app_configs()]),
name="INTERNAL",
date_from=now(),
organizer=organizer,
organizer=Organizer.objects.create(name="INTERNAL")
)
event = FakeEvent(event)
provs = register_payment_providers.send(
@@ -225,7 +220,6 @@ class OrderFilterForm(FilterForm):
(_('Cancellations'), (
(Order.STATUS_CANCELED, _('Canceled (fully)')),
('cp', _('Canceled (fully or with paid fee)')),
('cany', _('Canceled (at least one position)')),
('rc', _('Cancellation requested')),
('cni', _('Fully canceled but invoice not canceled')),
)),
@@ -402,16 +396,6 @@ class OrderFilterForm(FilterForm):
).filter(
Q(status=Order.STATUS_PAID, has_pc=False) | Q(status=Order.STATUS_CANCELED)
)
elif s == 'cany':
s = OrderPosition.all.filter(
order=OuterRef('pk'),
canceled=True,
)
qs = qs.annotate(
has_pc_c=Exists(s)
).filter(
Q(has_pc_c=True) | Q(status=Order.STATUS_CANCELED)
)
if fdata.get('ordering'):
qs = qs.order_by(*get_deterministic_ordering(Order, self.get_order_by()))
@@ -490,31 +474,16 @@ class EventOrderFilterForm(OrderFilterForm):
fdata = self.cleaned_data
qs = super().filter_qs(qs)
# This is a little magic, but there's no option that does not confuse people and let's hope this confuses less
# people.
only_match_noncanceled_products = fdata.get('status') in (
Order.STATUS_PAID,
Order.STATUS_PAID + 'v',
Order.STATUS_PENDING,
Order.STATUS_PENDING + Order.STATUS_PAID,
)
if only_match_noncanceled_products:
canceled_filter = Q(all_positions__canceled=False)
elif fdata.get('status') in ('cp', 'cany'):
canceled_filter = Q(all_positions__canceled=True) | Q(status=Order.STATUS_CANCELED)
else:
canceled_filter = Q()
item = fdata.get('item')
if item:
if '-' in item:
var = item.split('-')[1]
qs = qs.filter(canceled_filter, all_positions__variation_id=var).distinct()
qs = qs.filter(all_positions__variation_id=var, all_positions__canceled=False).distinct()
else:
qs = qs.filter(canceled_filter, all_positions__item_id=fdata.get('item')).distinct()
qs = qs.filter(all_positions__item_id=fdata.get('item'), all_positions__canceled=False).distinct()
if fdata.get('subevent'):
qs = qs.filter(canceled_filter, all_positions__subevent=fdata.get('subevent')).distinct()
qs = qs.filter(all_positions__subevent=fdata.get('subevent'), all_positions__canceled=False).distinct()
if fdata.get('question') and fdata.get('answer') is not None:
q = fdata.get('question')

View File

@@ -74,7 +74,7 @@
<thead>
<tr>
<th>{% trans "Product" %}</th>
<th>{% trans "Canceled" %}</th>
<th>{% trans "Canceled" %}¹</th>
<th>{% trans "Expired" %}</th>
<th>{% trans "Approval pending" %}</th>
<th colspan="3" class="text-center">{% trans "Purchased" %}</th>
@@ -106,27 +106,27 @@
<tr class="item {% if tup.0 %}categorized{% endif %}">
<td>{{ item }}</td>
<td>
<a href="{{ listurl }}?item={{ item.id }}&amp;status=cany&amp;provider={{ item.provider }}{% if subevent %}&amp;subevent={{ subevent.pk }}{% endif %}">
<a href="{{ listurl }}?item={{ item.id }}&amp;status=c&amp;provider={{ item.provider }}">
{{ item.num.canceled|togglesum:request.event.currency }}
</a>
</td>
<td>
<a href="{{ listurl }}?item={{ item.id }}&amp;status=e&amp;provider={{ item.provider }}{% if subevent %}&amp;subevent={{ subevent.pk }}{% endif %}">
<a href="{{ listurl }}?item={{ item.id }}&amp;status=e&amp;provider={{ item.provider }}">
{{ item.num.expired|togglesum:request.event.currency }}
</a>
</td>
<td>
<a href="{{ listurl }}?item={{ item.id }}&amp;status=pa&amp;provider={{ item.provider }}{% if subevent %}&amp;subevent={{ subevent.pk }}{% endif %}">
<a href="{{ listurl }}?item={{ item.id }}&amp;status=pa&amp;provider={{ item.provider }}">
{{ item.num.unapproved|togglesum:request.event.currency }}
</a>
</td>
<td>
<a href="{{ listurl }}?item={{ item.id }}&amp;status=na&amp;provider={{ item.provider }}{% if subevent %}&amp;subevent={{ subevent.pk }}{% endif %}">
<a href="{{ listurl }}?item={{ item.id }}&amp;status=na&amp;provider={{ item.provider }}">
{{ item.num.pending|togglesum:request.event.currency }}
</a>
</td>
<td>
<a href="{{ listurl }}?item={{ item.id }}&amp;status=p&amp;provider={{ item.provider }}{% if subevent %}&amp;subevent={{ subevent.pk }}{% endif %}">
<a href="{{ listurl }}?item={{ item.id }}&amp;status=p&amp;provider={{ item.provider }}">
{{ item.num.paid|togglesum:request.event.currency }}
</a>
</td>
@@ -139,27 +139,27 @@
<tr class="variation {% if tup.0 %}categorized{% endif %}">
<td>{{ var }}</td>
<td>
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&amp;status=cany&amp;provider={{ item.provider }}{% if subevent %}&amp;subevent={{ subevent.pk }}{% endif %}">
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&amp;status=c&amp;provider={{ item.provider }}">
{{ var.num.canceled|togglesum:request.event.currency }}
</a>
</td>
<td>
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&amp;status=e&amp;provider={{ item.provider }}{% if subevent %}&amp;subevent={{ subevent.pk }}{% endif %}">
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&amp;status=e&amp;provider={{ item.provider }}">
{{ var.num.expired|togglesum:request.event.currency }}
</a>
</td>
<td>
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&amp;status=pa&amp;provider={{ item.provider }}{% if subevent %}&amp;subevent={{ subevent.pk }}{% endif %}">
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&amp;status=pa&amp;provider={{ item.provider }}">
{{ var.num.unapproved|togglesum:request.event.currency }}
</a>
</td>
<td>
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&amp;status=na&amp;provider={{ item.provider }}{% if subevent %}&amp;subevent={{ subevent.pk }}{% endif %}">
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&amp;status=na&amp;provider={{ item.provider }}">
{{ var.num.pending|togglesum:request.event.currency }}
</a>
</td>
<td>
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&amp;status=p&amp;provider={{ item.provider }}{% if subevent %}&amp;subevent={{ subevent.pk }}{% endif %}">
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&amp;status=p&amp;provider={{ item.provider }}">
{{ var.num.paid|togglesum:request.event.currency }}
</a>
</td>
@@ -185,4 +185,7 @@
</tfoot>
</table>
</div>
<p class="help-block">
¹ {% trans "If you click links in this column, you will only find orders that are canceled completely, while the numbers also include single canceled positions within valid orders." %}
</p>
{% endblock %}

View File

@@ -69,36 +69,34 @@
{% if show_meta %}
<span class="text-muted text-sm">{{ plugin.version }}</span>
{% endif %}
{% if is_active or plugin.level == "event" %}
{% if plugin.level == "organizer" %}
<span class="label label-success" data-is-active>
<span class="fa fa-check" aria-hidden="true"></span>
{% trans "Active" %}
</span>
{% elif events_total and events_counter == events_total %}
<span class="label label-success" data-is-active>
<span class="fa fa-check" aria-hidden="true"></span>
{% trans "Active (all events)" %}
</span>
{% elif events_counter %}
<span class="label label-info" data-is-active>
<span class="fa fa-check" aria-hidden="true"></span>
{% blocktrans trimmed count count=events_counter %}
Active ({{ count }} event)
{% plural %}
Active ({{ count }} events)
{% endblocktrans %}
</span>
{% elif level == "event_organizer" %}
<span class="label label-info" data-is-active>
<span class="fa fa-check" aria-hidden="true"></span>
{% blocktrans trimmed count count=0 %}
Active ({{ count }} event)
{% plural %}
Active ({{ count }} events)
{% endblocktrans %}
</span>
{% endif %}
{% if is_active and level == "organizer" %}
<span class="label label-success" data-is-active>
<span class="fa fa-check" aria-hidden="true"></span>
{% trans "Active" %}
</span>
{% elif events_counter == events_total %}
<span class="label label-success" data-is-active>
<span class="fa fa-check" aria-hidden="true"></span>
{% trans "Active (all events)" %}
</span>
{% elif events_counter %}
<span class="label label-info" data-is-active>
<span class="fa fa-check" aria-hidden="true"></span>
{% blocktrans trimmed count count=events_counter %}
Active ({{ count }} event)
{% plural %}
Active ({{ count }} events)
{% endblocktrans %}
</span>
{% elif level == "event_organizer" %}
<span class="label label-info" data-is-active>
<span class="fa fa-check" aria-hidden="true"></span>
{% blocktrans trimmed count count=0 %}
Active ({{ count }} event)
{% plural %}
Active ({{ count }} events)
{% endblocktrans %}
</span>
{% endif %}
</h4>
{% include "pretixcontrol/event/fragment_plugin_description.html" with plugin=plugin %}

View File

@@ -82,35 +82,27 @@ class ControlSyncJob(OrderView):
messages.success(self.request, _('The sync job has been enqueued and will run in the next minutes.'))
elif self.request.POST.get("cancel_job"):
with transaction.atomic():
try:
job = self.order.queued_sync_jobs.select_for_update(of=OF_SELF).get(
pk=self.request.POST.get("cancel_job")
)
except OrderSyncQueue.DoesNotExist:
messages.info(self.request, _('The sync job could not be found. It may have been processed in the meantime.'))
job = self.order.queued_sync_jobs.select_for_update(of=OF_SELF).get(
pk=self.request.POST.get("cancel_job")
)
if job.in_flight:
messages.warning(self.request, _('The sync job is already in progress.'))
else:
if job.in_flight:
messages.warning(self.request, _('The sync job is already in progress.'))
else:
job.delete()
messages.success(self.request, _('The sync job has been canceled.'))
job.delete()
messages.success(self.request, _('The sync job has been canceled.'))
elif self.request.POST.get("run_job_now"):
with transaction.atomic():
try:
job = self.order.queued_sync_jobs.select_for_update(of=OF_SELF).get(
pk=self.request.POST.get("run_job_now")
)
except OrderSyncQueue.DoesNotExist:
messages.info(self.request, _('The sync job could not be found. It may have been processed in the meantime.'))
job = self.order.queued_sync_jobs.select_for_update(of=OF_SELF).get(
pk=self.request.POST.get("run_job_now")
)
if job.in_flight:
messages.success(self.request, _('The sync job is already in progress.'))
else:
if job.in_flight:
messages.success(self.request, _('The sync job is already in progress.'))
else:
job.not_before = now()
job.need_manual_retry = None
job.save()
sync_single.apply_async(args=(job.pk,))
messages.success(self.request, _('The sync job has been set to run as soon as possible.'))
job.not_before = now()
job.need_manual_retry = None
job.save()
sync_single.apply_async(args=(job.pk,))
messages.success(self.request, _('The sync job has been set to run as soon as possible.'))
return redirect(self.get_order_url())

View File

@@ -2575,11 +2575,6 @@ class OverView(EventPermissionRequiredMixin, TemplateView):
self.request.event,
fees=True
)
ctx['subevent'] = (
self.request.event.has_subevents and
self.filter_form.is_valid() and
self.filter_form.cleaned_data.get('subevent')
)
ctx['subevent_warning'] = (
self.request.event.has_subevents and
self.filter_form.is_valid() and

View File

@@ -174,38 +174,21 @@ class SubEventDelete(EventPermissionRequiredMixin, CompatDeleteView):
return HttpResponseRedirect(self.get_success_url())
return super().get(request, *args, **kwargs)
@transaction.atomic
def delete(self, request, *args, **kwargs):
self.object = self.get_object()
success_url = self.get_success_url()
try:
with transaction.atomic():
if not self.object.allow_delete():
messages.error(request, pgettext_lazy('subevent', 'A date can not be deleted if orders already have been '
'placed.'))
return HttpResponseRedirect(success_url)
self.object.log_action('pretix.subevent.deleted', user=self.request.user)
CartPosition.objects.filter(addon_to__subevent=self.object).delete()
self.object.cartposition_set.all().delete()
self.object.delete()
except ProtectedError:
if self.object.active:
with transaction.atomic():
self.object.log_action(
'pretix.subevent.changed', user=self.request.user, data={
'active': False
},
)
self.object.active = False
self.object.save(update_fields=['active'])
messages.error(self.request, pgettext_lazy(
'subevent',
'The date could not be deleted as some constraints (e.g. data created by plug-ins) did not allow '
'it. The date was disabled instead.'
))
if not self.object.allow_delete():
messages.error(request, pgettext_lazy('subevent', 'A date can not be deleted if orders already have been '
'placed.'))
return HttpResponseRedirect(self.get_success_url())
else:
self.object.log_action('pretix.subevent.deleted', user=self.request.user)
CartPosition.objects.filter(addon_to__subevent=self.object).delete()
self.object.cartposition_set.all().delete()
self.object.delete()
messages.success(request, pgettext_lazy('subevent', 'The selected date has been deleted.'))
return HttpResponseRedirect(success_url)
def get_success_url(self) -> str:

View File

@@ -5,8 +5,8 @@ msgstr ""
"Project-Id-Version: 1\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-08-19 16:35+0000\n"
"PO-Revision-Date: 2025-08-21 21:00+0000\n"
"Last-Translator: Luca Hammer <hammer@rami.io>\n"
"PO-Revision-Date: 2025-08-19 17:11+0000\n"
"Last-Translator: Raphael Michel <michel@rami.io>\n"
"Language-Team: German <https://translate.pretix.eu/projects/pretix/pretix/de/"
">\n"
"Language: de\n"
@@ -34943,7 +34943,7 @@ msgstr "Ihre Bestellung war erfolgreich! Sie finden weiter unten alle Details."
#: pretix/presale/templates/pretixpresale/event/order.html:19
#: pretix/presale/templates/pretixpresale/event/order.html:50
msgid "We successfully received your payment. See below for details."
msgstr "Wir haben Ihre Zahlung erfolgreich erhalten. Details siehe unten."
msgstr "Wir haben Ihre Zahlung erfolgreich erhalten."
#: pretix/presale/templates/pretixpresale/event/order.html:35
msgid ""

View File

@@ -24,7 +24,6 @@ from django.utils.functional import cached_property
from django.utils.translation import gettext_lazy as _
from pretix import __version__ as version
from pretix.base.plugins import PLUGIN_LEVEL_EVENT_ORGANIZER_HYBRID
class BankTransferApp(AppConfig):
@@ -46,7 +45,6 @@ class BankTransferApp(AppConfig):
((_("Bank transfer"), _("Import bank data")), "plugins:banktransfer:import", {}),
((_("Bank transfer"), _("Export refunds")), "plugins:banktransfer:refunds.list", {}),
]
level = PLUGIN_LEVEL_EVENT_ORGANIZER_HYBRID
def ready(self):
from . import signals # NOQA

View File

@@ -1,30 +0,0 @@
# Generated by Django 4.2.16 on 2025-08-20 11:35
from django.db import migrations
from django.db.models import Exists, OuterRef
def activate_plugin(apps, schema_editor):
Event = apps.get_model('pretixbase', 'Event')
Organizer = apps.get_model('pretixbase', 'Organizer')
qs = Organizer.objects.filter(
Exists(Event.objects.filter(organizer_id=OuterRef("pk"), plugins__contains="pretix.plugins.banktransfer"))
)
for org in qs:
if "pretix.plugins.banktransfer" not in org.plugins:
org.plugins = ",".join(org.plugins.split(",") + ["pretix.plugins.banktransfer"])
org.save(update_fields=["plugins"])
class Migration(migrations.Migration):
dependencies = [
("banktransfer", "0011_banktransaction_external_id"),
("pretixbase", "0287_organizer_plugins"),
]
operations = [
migrations.RunPython(
activate_plugin,
migrations.RunPython.noop,
)
]

View File

@@ -78,6 +78,8 @@ def control_nav_orga_import(sender, request=None, **kwargs):
url = resolve(request.path_info)
if not request.user.has_organizer_permission(request.organizer, 'can_change_orders', request=request):
return []
if not request.organizer.events.filter(plugins__icontains='pretix.plugins.banktransfer'):
return []
return [
{
'label': _("Bank transfer"),

View File

@@ -52,7 +52,7 @@ def client():
@pytest.fixture
@scopes_disabled()
def organizer():
return Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
return Organizer.objects.create(name='Dummy', slug='dummy')
@pytest.fixture

View File

@@ -31,7 +31,7 @@ TEST_ORGANIZER_RES = {
"name": "Dummy",
"slug": "dummy",
"public_url": "http://example.com/dummy/",
"plugins": ["pretix.plugins.banktransfer"],
"plugins": [],
}

View File

@@ -47,7 +47,7 @@ TZ = ZoneInfo('Europe/Berlin')
@pytest.fixture(scope='function')
def event():
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
o = Organizer.objects.create(name='Dummy', slug='dummy')
o.settings.customer_accounts = True
event = Event.objects.create(
organizer=o, name='Dummy', slug='dummy',

View File

@@ -64,7 +64,7 @@ from pretix.testutils.scope import classscope
@pytest.fixture(scope='function')
def event():
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
o = Organizer.objects.create(name='Dummy', slug='dummy')
event = Event.objects.create(
organizer=o, name='Dummy', slug='dummy',
date_from=now(),
@@ -1441,7 +1441,7 @@ class OrderCancelTests(TestCase):
class OrderChangeManagerTests(TestCase):
def setUp(self):
super().setUp()
self.o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
self.o = Organizer.objects.create(name='Dummy', slug='dummy')
with scope(organizer=self.o):
self.event = Event.objects.create(organizer=self.o, name='Dummy', slug='dummy', date_from=now(),
plugins='pretix.plugins.banktransfer')

View File

@@ -45,7 +45,7 @@ from pretix.base.shredder import (
@pytest.fixture
def event():
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
o = Organizer.objects.create(name='Dummy', slug='dummy')
event = Event.objects.create(
organizer=o, name='Dummy', slug='dummy',
date_from=now(), plugins='pretix.plugins.banktransfer,pretix.plugins.ticketoutputpdf'

View File

@@ -45,7 +45,7 @@ def autoskip(request, settings):
@pytest.fixture
@scopes_disabled()
def organizer():
return Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
return Organizer.objects.create(name='Dummy', slug='dummy')
@pytest.fixture

View File

@@ -60,8 +60,8 @@ class EventsTest(SoupTest):
def setUp(self):
super().setUp()
self.user = User.objects.create_user('dummy@dummy.dummy', 'dummy')
self.orga1 = Organizer.objects.create(name='CCC', slug='ccc', plugins='pretix.plugins.banktransfer')
self.orga2 = Organizer.objects.create(name='MRM', slug='mrm', plugins='pretix.plugins.banktransfer')
self.orga1 = Organizer.objects.create(name='CCC', slug='ccc')
self.orga2 = Organizer.objects.create(name='MRM', slug='mrm')
self.event1 = Event.objects.create(
organizer=self.orga1, name='30C3', slug='30c3',
date_from=datetime.datetime(2013, 12, 26, tzinfo=datetime.timezone.utc),

View File

@@ -60,7 +60,7 @@ from pretix.base.services.tax import VATIDFinalError, VATIDTemporaryError
@pytest.fixture
def env():
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
o = Organizer.objects.create(name='Dummy', slug='dummy')
event = Event.objects.create(
organizer=o, name='Dummy', slug='dummy',
date_from=now(), plugins='pretix.plugins.banktransfer,pretix.plugins.stripe,tests.testdummy'

View File

@@ -49,7 +49,7 @@ from pretix.base.models import (
@pytest.fixture
def env():
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
o = Organizer.objects.create(name='Dummy', slug='dummy')
event = Event.objects.create(
organizer=o, name='Dummy', slug='dummy',
date_from=now(), plugins='pretix.plugins.banktransfer,pretix.plugins.stripe,tests.testdummy'

View File

@@ -43,8 +43,8 @@ class OrganizerTest(SoupTest):
def setUp(self):
super().setUp()
self.user = User.objects.create_user('dummy@dummy.dummy', 'dummy')
self.orga1 = Organizer.objects.create(name='CCC', slug='ccc', plugins='pretix.plugins.banktransfer')
self.orga2 = Organizer.objects.create(name='MRM', slug='mrm', plugins='pretix.plugins.banktransfer')
self.orga1 = Organizer.objects.create(name='CCC', slug='ccc')
self.orga2 = Organizer.objects.create(name='MRM', slug='mrm')
self.event1 = Event.objects.create(
organizer=self.orga1, name='30C3', slug='30c3',
date_from=datetime.datetime(2013, 12, 26, tzinfo=datetime.timezone.utc),

View File

@@ -31,7 +31,7 @@ from pretix.base.models import Event, Organizer, Team
@pytest.fixture
@scopes_disabled()
def organizer():
return Organizer.objects.create(name="Dummy", slug="dummy", plugins='pretix.plugins.banktransfer')
return Organizer.objects.create(name="Dummy", slug="dummy")
@pytest.fixture

View File

@@ -35,7 +35,7 @@ from pretix.plugins.banktransfer.models import BankImportJob, BankTransaction
@pytest.fixture
def env():
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
o = Organizer.objects.create(name='Dummy', slug='dummy')
event = Event.objects.create(
organizer=o, name='Dummy', slug='dummy',
date_from=now(), plugins='pretix.plugins.banktransfer'

View File

@@ -36,7 +36,7 @@ from pretix.plugins.banktransfer.models import BankImportJob, BankTransaction
@pytest.fixture
def env():
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
o = Organizer.objects.create(name='Dummy', slug='dummy')
event = Event.objects.create(
organizer=o, name='Dummy', slug='dummy',
date_from=now(), plugins='pretix.plugins.banktransfer'

View File

@@ -53,7 +53,7 @@ from pretix.plugins.banktransfer.tasks import process_banktransfers
@pytest.fixture
def env():
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
o = Organizer.objects.create(name='Dummy', slug='dummy')
event = Event.objects.create(
organizer=o, name='Dummy', slug='dummy',
date_from=now(), plugins='pretix.plugins.banktransfer,pretix.plugins.paypal'

View File

@@ -34,7 +34,7 @@ from pretix.base.models import (
@pytest.fixture
def env():
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
o = Organizer.objects.create(name='Dummy', slug='dummy')
event = Event.objects.create(
organizer=o, name='Dummy', slug='dummy',
date_from=now(), plugins='pretix.plugins.banktransfer,pretix.plugins.paypal'

View File

@@ -35,7 +35,7 @@ from pretix.plugins.banktransfer.views import (
@pytest.fixture
def env():
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
o = Organizer.objects.create(name='Dummy', slug='dummy')
event = Event.objects.create(
organizer=o, name='Dummy', slug='dummy',
date_from=now(), plugins='pretix.plugins.banktransfer,pretix.plugins.paypal'

View File

@@ -70,7 +70,7 @@ class BaseCheckoutTestCase:
@scopes_disabled()
def setUp(self):
super().setUp()
self.orga = Organizer.objects.create(name='CCC', slug='ccc', plugins='pretix.plugins.banktransfer')
self.orga = Organizer.objects.create(name='CCC', slug='ccc')
self.event = Event.objects.create(
organizer=self.orga, name='30C3', slug='30c3',
date_from=datetime.datetime(now().year + 1, 12, 26, tzinfo=datetime.timezone.utc),

View File

@@ -55,7 +55,7 @@ class BaseOrdersTest(TestCase):
@scopes_disabled()
def setUp(self):
super().setUp()
self.orga = Organizer.objects.create(name='CCC', slug='ccc', plugins='pretix.plugins.banktransfer')
self.orga = Organizer.objects.create(name='CCC', slug='ccc')
self.event = Event.objects.create(
organizer=self.orga, name='30C3', slug='30c3',
date_from=datetime.datetime(2013, 12, 26, tzinfo=datetime.timezone.utc),

View File

@@ -56,7 +56,7 @@ class BaseOrdersTest(TestCase):
@scopes_disabled()
def setUp(self):
super().setUp()
self.orga = Organizer.objects.create(name='CCC', slug='ccc', plugins='pretix.plugins.banktransfer')
self.orga = Organizer.objects.create(name='CCC', slug='ccc')
self.event = Event.objects.create(
organizer=self.orga, name='30C3', slug='30c3',
date_from=datetime.datetime(2013, 12, 26, tzinfo=datetime.timezone.utc),