mirror of
https://github.com/pretix/pretix.git
synced 2025-12-06 21:42:49 +00:00
Compare commits
42 Commits
v2025.7.2
...
fix-order-
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7648cb2e35 | ||
|
|
b7803565d6 | ||
|
|
f3b6627e63 | ||
|
|
574513550d | ||
|
|
f145d447a2 | ||
|
|
72b9b49b9d | ||
|
|
6d20d0e840 | ||
|
|
4a662a1aa1 | ||
|
|
8213b09847 | ||
|
|
c54f776b39 | ||
|
|
fdd03536f2 | ||
|
|
44303a0030 | ||
|
|
5ba10416ce | ||
|
|
efa117c836 | ||
|
|
70cd2265db | ||
|
|
b5afbfa1bf | ||
|
|
2dffe0e2c8 | ||
|
|
df0e0f9115 | ||
|
|
2fc47c5d71 | ||
|
|
c23d2e5504 | ||
|
|
58c7e3d316 | ||
|
|
2d5c3fbea6 | ||
|
|
222851620e | ||
|
|
9ac772b2f3 | ||
|
|
1408f31ec5 | ||
|
|
04f32284a8 | ||
|
|
318b80c3a5 | ||
|
|
102d172942 | ||
|
|
c084698821 | ||
|
|
edffe5c9dd | ||
|
|
09e9273a57 | ||
|
|
24ac588119 | ||
|
|
d23735b1a6 | ||
|
|
d8156186d8 | ||
|
|
abab7e5bc6 | ||
|
|
f89a33862a | ||
|
|
deb7cfa899 | ||
|
|
3f00fa58a0 | ||
|
|
49c0f6b967 | ||
|
|
fe9a7eaa24 | ||
|
|
ebac7d563c | ||
|
|
7ecc64ec73 |
@@ -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.*",
|
||||
"django-hierarkey==2.0.*,>=2.0.1",
|
||||
"django-hijack==3.7.*",
|
||||
"django-i18nfield==1.10.*",
|
||||
"django-libsass==0.9",
|
||||
|
||||
@@ -19,4 +19,4 @@
|
||||
# You should have received a copy of the GNU Affero General Public License along with this program. If not, see
|
||||
# <https://www.gnu.org/licenses/>.
|
||||
#
|
||||
__version__ = "2025.7.0"
|
||||
__version__ = "2025.8.0.dev0"
|
||||
|
||||
@@ -405,8 +405,12 @@ def mail_send_task(self, *args, to: List[str], subject: str, body: str, html: st
|
||||
attach_cid_images(html_message, cid_images, verify_ssl=True)
|
||||
email.attach_alternative(html_message, "multipart/related")
|
||||
|
||||
log_target = None
|
||||
|
||||
if user:
|
||||
user = User.objects.get(pk=user)
|
||||
error_log_action_type = 'pretix.user.email.error'
|
||||
log_target = user
|
||||
|
||||
if event:
|
||||
with scopes_disabled():
|
||||
@@ -426,12 +430,15 @@ def mail_send_task(self, *args, to: List[str], subject: str, body: str, html: st
|
||||
with cm():
|
||||
if customer:
|
||||
customer = Customer.objects.get(pk=customer)
|
||||
log_target = user or customer
|
||||
if not user:
|
||||
error_log_action_type = 'pretix.customer.email.error'
|
||||
log_target = customer
|
||||
|
||||
if event:
|
||||
if order:
|
||||
try:
|
||||
order = event.orders.get(pk=order)
|
||||
error_log_action_type = 'pretix.event.order.email.error'
|
||||
log_target = order
|
||||
except Order.DoesNotExist:
|
||||
order = None
|
||||
@@ -574,7 +581,7 @@ def mail_send_task(self, *args, to: List[str], subject: str, body: str, html: st
|
||||
except MaxRetriesExceededError:
|
||||
if log_target:
|
||||
log_target.log_action(
|
||||
'pretix.email.error',
|
||||
error_log_action_type,
|
||||
data={
|
||||
'subject': 'SMTP code {}, max retries exceeded'.format(e.smtp_code),
|
||||
'message': e.smtp_error.decode() if isinstance(e.smtp_error, bytes) else str(e.smtp_error),
|
||||
@@ -587,7 +594,7 @@ def mail_send_task(self, *args, to: List[str], subject: str, body: str, html: st
|
||||
logger.exception('Error sending email')
|
||||
if log_target:
|
||||
log_target.log_action(
|
||||
'pretix.email.error',
|
||||
error_log_action_type,
|
||||
data={
|
||||
'subject': 'SMTP code {}'.format(e.smtp_code),
|
||||
'message': e.smtp_error.decode() if isinstance(e.smtp_error, bytes) else str(e.smtp_error),
|
||||
@@ -618,7 +625,7 @@ def mail_send_task(self, *args, to: List[str], subject: str, body: str, html: st
|
||||
message.append(f'{e}: {val[0]} {val[1].decode()}')
|
||||
|
||||
log_target.log_action(
|
||||
'pretix.email.error',
|
||||
error_log_action_type,
|
||||
data={
|
||||
'subject': 'SMTP error',
|
||||
'message': '\n'.join(message),
|
||||
@@ -635,7 +642,7 @@ def mail_send_task(self, *args, to: List[str], subject: str, body: str, html: st
|
||||
except MaxRetriesExceededError:
|
||||
if log_target:
|
||||
log_target.log_action(
|
||||
'pretix.email.error',
|
||||
error_log_action_type,
|
||||
data={
|
||||
'subject': 'Internal error',
|
||||
'message': f'Max retries exceeded after error "{str(e)}"',
|
||||
@@ -646,7 +653,7 @@ def mail_send_task(self, *args, to: List[str], subject: str, body: str, html: st
|
||||
raise e
|
||||
if log_target:
|
||||
log_target.log_action(
|
||||
'pretix.email.error',
|
||||
error_log_action_type,
|
||||
data={
|
||||
'subject': 'Internal error',
|
||||
'message': str(e),
|
||||
|
||||
@@ -197,6 +197,7 @@ 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
|
||||
|
||||
@@ -107,11 +107,16 @@ 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=",".join([app.name for app in apps.get_app_configs()]),
|
||||
plugins=plugins,
|
||||
name="INTERNAL",
|
||||
date_from=now(),
|
||||
organizer=Organizer.objects.create(name="INTERNAL")
|
||||
organizer=organizer,
|
||||
)
|
||||
event = FakeEvent(event)
|
||||
provs = register_payment_providers.send(
|
||||
@@ -220,6 +225,7 @@ 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')),
|
||||
)),
|
||||
@@ -396,6 +402,16 @@ 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()))
|
||||
@@ -474,16 +490,31 @@ 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(all_positions__variation_id=var, all_positions__canceled=False).distinct()
|
||||
qs = qs.filter(canceled_filter, all_positions__variation_id=var).distinct()
|
||||
else:
|
||||
qs = qs.filter(all_positions__item_id=fdata.get('item'), all_positions__canceled=False).distinct()
|
||||
qs = qs.filter(canceled_filter, all_positions__item_id=fdata.get('item')).distinct()
|
||||
|
||||
if fdata.get('subevent'):
|
||||
qs = qs.filter(all_positions__subevent=fdata.get('subevent'), all_positions__canceled=False).distinct()
|
||||
qs = qs.filter(canceled_filter, all_positions__subevent=fdata.get('subevent')).distinct()
|
||||
|
||||
if fdata.get('question') and fdata.get('answer') is not None:
|
||||
q = fdata.get('question')
|
||||
|
||||
@@ -719,6 +719,7 @@ class CoreUserImpersonatedLogEntryType(UserImpersonatedLogEntryType):
|
||||
'pretix.customer.anonymized': _('The account has been disabled and anonymized.'),
|
||||
'pretix.customer.password.resetrequested': _('A new password has been requested.'),
|
||||
'pretix.customer.password.set': _('A new password has been set.'),
|
||||
'pretix.customer.email.error': _('Sending of an email has failed.'),
|
||||
'pretix.reusable_medium.created': _('The reusable medium has been created.'),
|
||||
'pretix.reusable_medium.created.auto': _('The reusable medium has been created automatically.'),
|
||||
'pretix.reusable_medium.changed': _('The reusable medium has been changed.'),
|
||||
@@ -752,6 +753,7 @@ class CoreUserImpersonatedLogEntryType(UserImpersonatedLogEntryType):
|
||||
'pretix.user.anonymized': _('This user has been anonymized.'),
|
||||
'pretix.user.oauth.authorized': _('The application "{application_name}" has been authorized to access your '
|
||||
'account.'),
|
||||
'pretix.user.email.error': _('Sending of an email has failed.'),
|
||||
'pretix.control.auth.user.forgot_password.mail_sent': _('Password reset mail sent.'),
|
||||
'pretix.control.auth.user.forgot_password.recovered': _('The password has been reset.'),
|
||||
'pretix.control.auth.user.forgot_password.denied.repeated': _('A repeated password reset has been denied, as '
|
||||
|
||||
@@ -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 }}&status=c&provider={{ item.provider }}">
|
||||
<a href="{{ listurl }}?item={{ item.id }}&status=cany&provider={{ item.provider }}{% if subevent %}&subevent={{ subevent.pk }}{% endif %}">
|
||||
{{ item.num.canceled|togglesum:request.event.currency }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ listurl }}?item={{ item.id }}&status=e&provider={{ item.provider }}">
|
||||
<a href="{{ listurl }}?item={{ item.id }}&status=e&provider={{ item.provider }}{% if subevent %}&subevent={{ subevent.pk }}{% endif %}">
|
||||
{{ item.num.expired|togglesum:request.event.currency }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ listurl }}?item={{ item.id }}&status=pa&provider={{ item.provider }}">
|
||||
<a href="{{ listurl }}?item={{ item.id }}&status=pa&provider={{ item.provider }}{% if subevent %}&subevent={{ subevent.pk }}{% endif %}">
|
||||
{{ item.num.unapproved|togglesum:request.event.currency }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ listurl }}?item={{ item.id }}&status=na&provider={{ item.provider }}">
|
||||
<a href="{{ listurl }}?item={{ item.id }}&status=na&provider={{ item.provider }}{% if subevent %}&subevent={{ subevent.pk }}{% endif %}">
|
||||
{{ item.num.pending|togglesum:request.event.currency }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ listurl }}?item={{ item.id }}&status=p&provider={{ item.provider }}">
|
||||
<a href="{{ listurl }}?item={{ item.id }}&status=p&provider={{ item.provider }}{% if subevent %}&subevent={{ subevent.pk }}{% endif %}">
|
||||
{{ 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 }}&status=c&provider={{ item.provider }}">
|
||||
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&status=cany&provider={{ item.provider }}{% if subevent %}&subevent={{ subevent.pk }}{% endif %}">
|
||||
{{ var.num.canceled|togglesum:request.event.currency }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&status=e&provider={{ item.provider }}">
|
||||
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&status=e&provider={{ item.provider }}{% if subevent %}&subevent={{ subevent.pk }}{% endif %}">
|
||||
{{ var.num.expired|togglesum:request.event.currency }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&status=pa&provider={{ item.provider }}">
|
||||
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&status=pa&provider={{ item.provider }}{% if subevent %}&subevent={{ subevent.pk }}{% endif %}">
|
||||
{{ var.num.unapproved|togglesum:request.event.currency }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&status=na&provider={{ item.provider }}">
|
||||
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&status=na&provider={{ item.provider }}{% if subevent %}&subevent={{ subevent.pk }}{% endif %}">
|
||||
{{ var.num.pending|togglesum:request.event.currency }}
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&status=p&provider={{ item.provider }}">
|
||||
<a href="{{ listurl }}?item={{ item.id }}-{{ var.id }}&status=p&provider={{ item.provider }}{% if subevent %}&subevent={{ subevent.pk }}{% endif %}">
|
||||
{{ var.num.paid|togglesum:request.event.currency }}
|
||||
</a>
|
||||
</td>
|
||||
@@ -185,7 +185,4 @@
|
||||
</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 %}
|
||||
|
||||
@@ -69,34 +69,36 @@
|
||||
{% if show_meta %}
|
||||
<span class="text-muted text-sm">{{ plugin.version }}</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>
|
||||
{% 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 %}
|
||||
{% endif %}
|
||||
</h4>
|
||||
{% include "pretixcontrol/event/fragment_plugin_description.html" with plugin=plugin %}
|
||||
|
||||
@@ -82,27 +82,35 @@ 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():
|
||||
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.'))
|
||||
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.'))
|
||||
else:
|
||||
job.delete()
|
||||
messages.success(self.request, _('The sync job has been canceled.'))
|
||||
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.'))
|
||||
elif self.request.POST.get("run_job_now"):
|
||||
with transaction.atomic():
|
||||
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.'))
|
||||
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.'))
|
||||
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.'))
|
||||
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.'))
|
||||
|
||||
return redirect(self.get_order_url())
|
||||
|
||||
|
||||
@@ -2575,6 +2575,11 @@ 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
|
||||
|
||||
@@ -174,21 +174,38 @@ 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()
|
||||
|
||||
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())
|
||||
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.'
|
||||
))
|
||||
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:
|
||||
|
||||
@@ -34,9 +34,7 @@
|
||||
|
||||
from django.utils.html import format_html
|
||||
from django.utils.safestring import mark_safe
|
||||
from django.utils.translation import (
|
||||
get_language, gettext_lazy as _, pgettext_lazy,
|
||||
)
|
||||
from django.utils.translation import get_language, pgettext_lazy
|
||||
|
||||
from pretix.helpers.templatetags.date_fast import date_fast as _date
|
||||
|
||||
@@ -103,7 +101,7 @@ def daterange(df, dt, as_html=False):
|
||||
until=until,
|
||||
)
|
||||
|
||||
return _("{date_from}{until}{date_to}").format(
|
||||
return "{date_from}{until}{date_to}".format(
|
||||
date_from=_date(df, "DATE_FORMAT"),
|
||||
date_to=_date(dt, "DATE_FORMAT"),
|
||||
until=until,
|
||||
|
||||
@@ -4,8 +4,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-07-21 21:00+0000\n"
|
||||
"Last-Translator: Nikolai <nikolai@lengefeldt.de>\n"
|
||||
"PO-Revision-Date: 2025-08-27 22:00+0000\n"
|
||||
"Last-Translator: Mie Frydensbjerg <mif@aarhus.dk>\n"
|
||||
"Language-Team: Danish <https://translate.pretix.eu/projects/pretix/pretix/da/"
|
||||
">\n"
|
||||
"Language: da\n"
|
||||
@@ -13,7 +13,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
"X-Generator: Weblate 5.13\n"
|
||||
|
||||
#: pretix/_base_settings.py:87
|
||||
msgid "English"
|
||||
@@ -33244,14 +33244,12 @@ msgstr "Du skal have en gyldig voucherkode for at bestille dette produkt."
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_availability.html:10
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_availability.html:14
|
||||
#, fuzzy
|
||||
msgid "Not available yet."
|
||||
msgstr "Ikke tilgængelig"
|
||||
msgstr "Ikke tilgængelig endnu."
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_availability.html:18
|
||||
#, fuzzy
|
||||
msgid "Not available any more."
|
||||
msgstr "Ikke tilgængelig"
|
||||
msgstr "Ikke tilgængelig længere."
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_availability.html:23
|
||||
#: pretix/presale/templates/pretixpresale/event/fragment_product_list.html:89
|
||||
|
||||
@@ -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-19 17:11+0000\n"
|
||||
"Last-Translator: Raphael Michel <michel@rami.io>\n"
|
||||
"PO-Revision-Date: 2025-08-21 21:00+0000\n"
|
||||
"Last-Translator: Luca Hammer <hammer@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."
|
||||
msgstr "Wir haben Ihre Zahlung erfolgreich erhalten. Details siehe unten."
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/order.html:35
|
||||
msgid ""
|
||||
|
||||
@@ -8,7 +8,7 @@ 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-19 17:33+0000\n"
|
||||
"PO-Revision-Date: 2025-08-22 16:00+0000\n"
|
||||
"Last-Translator: Raphael Michel <michel@rami.io>\n"
|
||||
"Language-Team: German (informal) <https://translate.pretix.eu/projects/"
|
||||
"pretix/pretix/de_Informal/>\n"
|
||||
@@ -34886,7 +34886,7 @@ msgstr ""
|
||||
#: 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 deine Zahlung erfolgreich erhalten."
|
||||
msgstr "Wir haben deine Zahlung erfolgreich erhalten. Details siehe unten."
|
||||
|
||||
#: pretix/presale/templates/pretixpresale/event/order.html:35
|
||||
msgid ""
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,7 @@ msgstr ""
|
||||
"Project-Id-Version: French\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-08-19 16:02+0000\n"
|
||||
"PO-Revision-Date: 2025-05-30 11:06+0000\n"
|
||||
"PO-Revision-Date: 2025-08-28 23:00+0000\n"
|
||||
"Last-Translator: CVZ-es <damien.bremont@casadevelazquez.org>\n"
|
||||
"Language-Team: French <https://translate.pretix.eu/projects/pretix/pretix-js/"
|
||||
"fr/>\n"
|
||||
@@ -16,7 +16,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 5.11.4\n"
|
||||
"X-Generator: Weblate 5.13\n"
|
||||
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
|
||||
@@ -551,7 +551,7 @@ msgstr "minutes"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:192
|
||||
msgid "Duplicate"
|
||||
msgstr "Doublon"
|
||||
msgstr "Dupliquer"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/checkinrules.js:193
|
||||
msgctxt "entry_status"
|
||||
|
||||
@@ -8,8 +8,8 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-08-19 16:35+0000\n"
|
||||
"PO-Revision-Date: 2025-08-19 17:46+0000\n"
|
||||
"Last-Translator: Raphael Michel <michel@rami.io>\n"
|
||||
"PO-Revision-Date: 2025-08-23 21:00+0000\n"
|
||||
"Last-Translator: \"Luca Sorace \\\"Stranck\\\"\" <strdjn@gmail.com>\n"
|
||||
"Language-Team: Italian <https://translate.pretix.eu/projects/pretix/pretix/"
|
||||
"it/>\n"
|
||||
"Language: it\n"
|
||||
@@ -89,7 +89,7 @@ msgstr "Greco"
|
||||
|
||||
#: pretix/_base_settings.py:104
|
||||
msgid "Hebrew"
|
||||
msgstr ""
|
||||
msgstr "Ebraico"
|
||||
|
||||
#: pretix/_base_settings.py:105
|
||||
msgid "Indonesian"
|
||||
@@ -145,7 +145,7 @@ msgstr "Spagnolo"
|
||||
|
||||
#: pretix/_base_settings.py:118
|
||||
msgid "Spanish (Latin America)"
|
||||
msgstr ""
|
||||
msgstr "Spagnolo (America Latina)"
|
||||
|
||||
#: pretix/_base_settings.py:119
|
||||
msgid "Turkish"
|
||||
@@ -632,6 +632,8 @@ msgid ""
|
||||
"Only includes explicit changes to the voucher, not e.g. an increase of the "
|
||||
"number of redemptions."
|
||||
msgstr ""
|
||||
"Include solamente cambiamenti espliciti al voucher, non, ad esempio, "
|
||||
"l'aumento del numero di riscatti."
|
||||
|
||||
#: pretix/api/webhooks.py:421
|
||||
#, fuzzy
|
||||
@@ -825,6 +827,8 @@ msgid ""
|
||||
"Field \"{field_name}\" is not valid for {available_inputs}. Please check "
|
||||
"your {provider_name} settings."
|
||||
msgstr ""
|
||||
"Il campo {field_name} non è valido per {available_inputs}. Per favore, "
|
||||
"controlla le impostazioni di {provider_name}."
|
||||
|
||||
#: pretix/base/datasync/datasync.py:267
|
||||
#, python-brace-format
|
||||
@@ -863,7 +867,7 @@ msgstr "Dati del prodotto"
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html:176
|
||||
#: pretix/presale/templates/pretixpresale/event/order.html:22
|
||||
msgid "Order details"
|
||||
msgstr ""
|
||||
msgstr "Dettagli dell'ordine"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:133
|
||||
#: pretix/base/datasync/sourcefields.py:299
|
||||
@@ -2910,7 +2914,7 @@ msgstr "Ordini pagati"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:1152 pretix/control/views/item.py:975
|
||||
msgid "Pending orders"
|
||||
msgstr "Ordini pendenti"
|
||||
msgstr "Ordini in attesa"
|
||||
|
||||
#: pretix/base/exporters/orderlist.py:1152
|
||||
msgid "Blocking vouchers"
|
||||
@@ -3379,13 +3383,12 @@ msgstr ""
|
||||
"venditore."
|
||||
|
||||
#: pretix/base/forms/questions.py:1177
|
||||
#, fuzzy
|
||||
msgid "No invoice requested"
|
||||
msgstr "Cancellazione"
|
||||
msgstr "Fattura non richiesta"
|
||||
|
||||
#: pretix/base/forms/questions.py:1179
|
||||
msgid "Invoice transmission method"
|
||||
msgstr ""
|
||||
msgstr "Metodo per le trasmettere le fatture"
|
||||
|
||||
#: pretix/base/forms/questions.py:1324
|
||||
msgid "You need to provide a company name."
|
||||
@@ -3400,26 +3403,28 @@ msgid ""
|
||||
"If you enter an invoice address, you also need to select an invoice "
|
||||
"transmission method."
|
||||
msgstr ""
|
||||
"Se inserisci l'indirizzo della fattura, devi anche specificare come "
|
||||
"trasmetterla."
|
||||
|
||||
#: pretix/base/forms/questions.py:1380
|
||||
#, fuzzy
|
||||
#| msgid "The selected media type is not enabled in your organizer settings."
|
||||
msgid ""
|
||||
"The selected transmission type is not available in your country or for your "
|
||||
"type of address."
|
||||
msgstr ""
|
||||
"Il tipo di supporto selezionato non è abilitato nelle tue impostazioni da "
|
||||
"organizzatore."
|
||||
"Il metodo selezionato per trasmettere la fattura non è disponibile nella "
|
||||
"nazione specificata nel tuo indirizzo."
|
||||
|
||||
#: pretix/base/forms/questions.py:1389
|
||||
msgid ""
|
||||
"The selected type of invoice transmission requires a field that is currently "
|
||||
"not available, please reach out to the organizer."
|
||||
msgstr ""
|
||||
"Il metodo selezionato per trasmettere la fattura richiede un campo non "
|
||||
"disponibile, per favore contatta l'organizzatore."
|
||||
|
||||
#: pretix/base/forms/questions.py:1393
|
||||
msgid "This field is required for the selected type of invoice transmission."
|
||||
msgstr ""
|
||||
msgstr "Questo campo è necessario per trasmettere la fattura come selezionato."
|
||||
|
||||
#: pretix/base/forms/user.py:51 pretix/control/forms/users.py:43
|
||||
msgid ""
|
||||
@@ -3533,7 +3538,7 @@ msgstr "Cliente individuale"
|
||||
|
||||
#: pretix/base/invoicing/email.py:50
|
||||
msgid "Email invoice directly to accounting department"
|
||||
msgstr ""
|
||||
msgstr "Invia la fattura alla contabilità"
|
||||
|
||||
#: pretix/base/invoicing/email.py:51
|
||||
#, fuzzy
|
||||
@@ -3550,7 +3555,7 @@ msgstr "Indirizzo email verificato"
|
||||
|
||||
#: pretix/base/invoicing/email.py:91
|
||||
msgid "PDF via email"
|
||||
msgstr ""
|
||||
msgstr "Invia PDF via email"
|
||||
|
||||
#: pretix/base/invoicing/national.py:37
|
||||
msgctxt "italian_invoice"
|
||||
@@ -3950,7 +3955,7 @@ msgstr "Sono state trovate più date corrispondenti."
|
||||
|
||||
#: pretix/base/modelimport_orders.py:73
|
||||
msgid "Grouping"
|
||||
msgstr ""
|
||||
msgstr "Raggruppa"
|
||||
|
||||
#: pretix/base/modelimport_orders.py:75
|
||||
msgid ""
|
||||
@@ -3958,6 +3963,10 @@ msgid ""
|
||||
"together...\". Lines with the same grouping value will be put in the same "
|
||||
"order, but MUST be consecutive lines of the input file."
|
||||
msgstr ""
|
||||
"Usabile solamente quando \"Modo di importazione\" è impostato su "
|
||||
"\"Raggruppa più righe insieme...\". Righe con lo stesso valore di "
|
||||
"raggruppamento manterranno lo stesso ordine, ma DEVONO essere consecutive "
|
||||
"nel file in input."
|
||||
|
||||
#: pretix/base/modelimport_orders.py:101
|
||||
msgid "Enter a valid phone number."
|
||||
@@ -3979,6 +3988,8 @@ msgstr "Devi selezionare una data."
|
||||
msgid ""
|
||||
"The product can be specified by its internal ID, full name or internal name."
|
||||
msgstr ""
|
||||
"Il prodotto può essere identificato usando il ID interno, nome completo o "
|
||||
"nome interno."
|
||||
|
||||
#: pretix/base/modelimport_orders.py:149
|
||||
#: pretix/base/modelimport_vouchers.py:194
|
||||
@@ -3999,6 +4010,7 @@ msgstr "Variante prodotto"
|
||||
#: pretix/base/modelimport_orders.py:161
|
||||
msgid "The variation can be specified by its internal ID or full name."
|
||||
msgstr ""
|
||||
"La variante può essere identificata usando il suo ID interno o il suo nome."
|
||||
|
||||
#: pretix/base/modelimport_orders.py:181
|
||||
#: pretix/base/modelimport_vouchers.py:225
|
||||
@@ -4028,7 +4040,7 @@ msgstr "Inserire un codice paese valido."
|
||||
|
||||
#: pretix/base/modelimport_orders.py:290 pretix/base/modelimport_orders.py:441
|
||||
msgid "The state can be specified by its short form or full name."
|
||||
msgstr ""
|
||||
msgstr "Lo stato può essere indicato usando il suo nome completo o abbreviato."
|
||||
|
||||
#: pretix/base/modelimport_orders.py:300 pretix/base/modelimport_orders.py:450
|
||||
msgid "States are not supported for this country."
|
||||
@@ -4085,6 +4097,8 @@ msgid ""
|
||||
"The sales channel can be specified by it's internal identifier or its full "
|
||||
"name."
|
||||
msgstr ""
|
||||
"Il canale di vendita può essere indicato usando il suo identificatore "
|
||||
"interno o il suo nome completo."
|
||||
|
||||
#: pretix/base/modelimport_orders.py:599 pretix/base/modelimport_orders.py:601
|
||||
msgid "Please enter a valid sales channel."
|
||||
@@ -4092,7 +4106,7 @@ msgstr "Inserire un canale di vendita valido."
|
||||
|
||||
#: pretix/base/modelimport_orders.py:611
|
||||
msgid "The seat needs to be specified by its internal ID."
|
||||
msgstr ""
|
||||
msgstr "Il posto deve essere indicato usando il suo ID interno."
|
||||
|
||||
#: pretix/base/modelimport_orders.py:626
|
||||
#: pretix/base/modelimport_vouchers.py:291
|
||||
@@ -4567,19 +4581,20 @@ msgstr "Separa valori multipli con spazi"
|
||||
|
||||
#: pretix/base/models/datasync.py:53
|
||||
msgid "Temporary error, auto-retry limit exceeded"
|
||||
msgstr ""
|
||||
msgstr "Errore momentaneo, limite di tentativi automatici superato"
|
||||
|
||||
#: pretix/base/models/datasync.py:54
|
||||
msgid "Provider reported a permanent error"
|
||||
msgstr ""
|
||||
msgstr "Il provider ha riportato un errore permanente"
|
||||
|
||||
#: pretix/base/models/datasync.py:55
|
||||
msgid "Misconfiguration, please check provider settings"
|
||||
msgstr ""
|
||||
"Configurazione errata, per favore controlla le impostazioni del provider"
|
||||
|
||||
#: pretix/base/models/datasync.py:56 pretix/base/models/datasync.py:57
|
||||
msgid "System error, needs manual intervention"
|
||||
msgstr ""
|
||||
msgstr "Errore del sistema, richiesto intervento manuale"
|
||||
|
||||
#: pretix/base/models/devices.py:70 pretix/base/models/items.py:1675
|
||||
msgid "Internal identifier"
|
||||
@@ -4841,13 +4856,15 @@ msgstr "Opzionale. Nessun prodotto verrà venduto prima di questa data."
|
||||
|
||||
#: pretix/base/models/event.py:620
|
||||
msgid "This event is remote or partially remote."
|
||||
msgstr ""
|
||||
msgstr "Questo evento è totalmente o parzialmente da remoto."
|
||||
|
||||
#: pretix/base/models/event.py:621
|
||||
msgid ""
|
||||
"This will be used to let users know if the event is in a different timezone "
|
||||
"and let’s us calculate users’ local times."
|
||||
msgstr ""
|
||||
"Verrà usato per informare gli utenti se l'evento si trova in un fuso orario "
|
||||
"differente e permette di calcolare l'ora locale dei vari utenti."
|
||||
|
||||
#: pretix/base/models/event.py:641 pretix/base/models/organizer.py:97
|
||||
#: pretix/control/navigation.py:65 pretix/control/navigation.py:499
|
||||
@@ -5131,14 +5148,12 @@ msgid "Manual transaction"
|
||||
msgstr "Transazione manuale"
|
||||
|
||||
#: pretix/base/models/invoices.py:120
|
||||
#, fuzzy
|
||||
#| msgid "Pending amount"
|
||||
msgid "pending transmission"
|
||||
msgstr "Ammontare rimanente"
|
||||
msgstr "trasmissione in attesa"
|
||||
|
||||
#: pretix/base/models/invoices.py:121
|
||||
msgid "currently being transmitted"
|
||||
msgstr ""
|
||||
msgstr "trasmissione in corso"
|
||||
|
||||
#: pretix/base/models/invoices.py:122
|
||||
#, fuzzy
|
||||
@@ -5155,11 +5170,11 @@ msgstr "fallito"
|
||||
#: pretix/base/models/invoices.py:124
|
||||
#: pretix/plugins/sendmail/templates/pretixplugins/sendmail/rule_list.html:56
|
||||
msgid "unknown"
|
||||
msgstr ""
|
||||
msgstr "sconosciuto"
|
||||
|
||||
#: pretix/base/models/invoices.py:125
|
||||
msgid "not transmitted due to test mode"
|
||||
msgstr ""
|
||||
msgstr "non trasmesso perché in modalità di test"
|
||||
|
||||
#: pretix/base/models/invoices.py:217
|
||||
#, python-format
|
||||
@@ -6113,6 +6128,9 @@ msgid ""
|
||||
"with changing the type of question without data loss. Consider hiding this "
|
||||
"question and creating a new one instead."
|
||||
msgstr ""
|
||||
"Sono già presenti delle risposte a questa domanda di tipo incompatibile "
|
||||
"rispetto al nuovo. Il cambio avverrebbe perdendo informazioni. È possibile "
|
||||
"invece procedere nascondendo questa domanda e creandone un'altra."
|
||||
|
||||
#: pretix/base/models/items.py:1961
|
||||
#: pretix/control/templates/pretixcontrol/items/question.html:90
|
||||
@@ -8243,7 +8261,7 @@ msgstr "Il tuo file di layout non è un layout valido. Messaggio di errore: {}"
|
||||
#: pretix/base/plugins.py:136
|
||||
#: pretix/control/templates/pretixcontrol/event/quick_setup.html:132
|
||||
msgid "Features"
|
||||
msgstr ""
|
||||
msgstr "Funzionalità"
|
||||
|
||||
#: pretix/base/plugins.py:138
|
||||
msgid "Integrations"
|
||||
@@ -8261,7 +8279,7 @@ msgstr "Formato di esportazione"
|
||||
|
||||
#: pretix/base/plugins.py:141
|
||||
msgid "API features"
|
||||
msgstr ""
|
||||
msgstr "Funzionalità dell'API"
|
||||
|
||||
#: pretix/base/reldate.py:38
|
||||
msgid "Event start"
|
||||
@@ -9147,6 +9165,8 @@ msgid ""
|
||||
"The grouping \"%(value)s\" occurs on non-consecutive lines (seen again on "
|
||||
"line %(row)s)."
|
||||
msgstr ""
|
||||
"Il raggruppamento \"%(value)s\" è stato trovato su righe non consecutive ("
|
||||
"visto già su linea %(row)s)."
|
||||
|
||||
#: pretix/base/services/modelimport.py:151
|
||||
#, python-brace-format
|
||||
@@ -9154,6 +9174,9 @@ msgid ""
|
||||
"Inconsistent data in row {row}: Column {col} contains value \"{val_line}\", "
|
||||
"but for this order, the value has already been set to \"{val_order}\"."
|
||||
msgstr ""
|
||||
"Dati inconsistenti su riga {row}: La colonna {col} contiene il valore "
|
||||
"\"{val_line}\", ma sullo stesso ordine è già presente il valore "
|
||||
"\"{val_order}\"."
|
||||
|
||||
#: pretix/base/services/modelimport.py:165
|
||||
#: pretix/base/services/modelimport.py:277
|
||||
@@ -9752,19 +9775,19 @@ msgstr "Chiedi il nome dei partecipanti"
|
||||
|
||||
#: pretix/base/settings.py:359
|
||||
msgid "Ask for a name for all personalized tickets."
|
||||
msgstr ""
|
||||
msgstr "Richiedi un nome per tutti i biglietti personalizzati."
|
||||
|
||||
#: pretix/base/settings.py:368
|
||||
msgid "Require attendee names"
|
||||
msgstr ""
|
||||
msgstr "Richiedi i nomi dei partecipanti"
|
||||
|
||||
#: pretix/base/settings.py:369
|
||||
msgid "Require customers to fill in the names of all attendees."
|
||||
msgstr ""
|
||||
msgstr "Obbliga i clienti a riempire i nomi di tutti i partecipanti."
|
||||
|
||||
#: pretix/base/settings.py:379
|
||||
msgid "Ask for email addresses per ticket"
|
||||
msgstr ""
|
||||
msgstr "Chiedi l'indirizzo email per i biglietti"
|
||||
|
||||
#: pretix/base/settings.py:380
|
||||
msgid ""
|
||||
@@ -9777,10 +9800,18 @@ msgid ""
|
||||
"primary email address, not to the per-attendee addresses. You can however "
|
||||
"enable this in the email settings."
|
||||
msgstr ""
|
||||
"Normalmente Pretix chiede un indirizzo email per ordine, che verrà usato per "
|
||||
"inviare la conferma dello stesso. Se attivi questa opzione, il sistema "
|
||||
"chiederà in aggiunta un indirizzo email per ogni biglietto personalizzato. "
|
||||
"Questo può essere utile per ottenere un indirizzo email per ogni "
|
||||
"partecipante, anche in caso di ordini di gruppo. In ogni caso, di default "
|
||||
"Pretix invierà la conferma dell'ordine solamente all'email principale, non "
|
||||
"ad ogni partecipante. Puoi comunque cambiare questa opzione nelle "
|
||||
"impostazioni della email."
|
||||
|
||||
#: pretix/base/settings.py:394
|
||||
msgid "Require email addresses per ticket"
|
||||
msgstr ""
|
||||
msgstr "Richiedi un indirizzo email per ogni biglietto"
|
||||
|
||||
#: pretix/base/settings.py:395
|
||||
msgid ""
|
||||
@@ -9788,60 +9819,63 @@ msgid ""
|
||||
"tickets. See the above option for more details. One email address for the "
|
||||
"order confirmation will always be required regardless of this setting."
|
||||
msgstr ""
|
||||
"Obbliga i clienti ad indicare un indirizzo email per ogni biglietto "
|
||||
"personalizzato. Guarda l'opzione sopra per maggiori informazioni. Verrà "
|
||||
"comunque richiesto un indirizzo email per la conferma dell'ordine, a "
|
||||
"prescindere da questa opzione."
|
||||
|
||||
#: pretix/base/settings.py:407
|
||||
msgid "Ask for company per ticket"
|
||||
msgstr ""
|
||||
msgstr "Chiedi l'azienda su ogni biglietto"
|
||||
|
||||
#: pretix/base/settings.py:416
|
||||
msgid "Require company per ticket"
|
||||
msgstr ""
|
||||
msgstr "Obbliga a inserire l'azienda su ogni biglietto"
|
||||
|
||||
#: pretix/base/settings.py:426
|
||||
msgid "Ask for postal addresses per ticket"
|
||||
msgstr ""
|
||||
msgstr "Chiedi l'indirizzo postale su ogni biglietto"
|
||||
|
||||
#: pretix/base/settings.py:435
|
||||
msgid "Require postal addresses per ticket"
|
||||
msgstr ""
|
||||
msgstr "Obbliga ad inserire l'indirizzo postale su ogni biglietto"
|
||||
|
||||
#: pretix/base/settings.py:445
|
||||
msgid "Ask for the order email address twice"
|
||||
msgstr ""
|
||||
msgstr "Chiedi di inserire due volte l'indirizzo email"
|
||||
|
||||
#: pretix/base/settings.py:446
|
||||
msgid ""
|
||||
"Require customers to fill in the primary email address twice to avoid errors."
|
||||
msgstr ""
|
||||
msgstr "Obbliga i clienti di inserire due volte l'indirizzo email per conferma."
|
||||
|
||||
#: pretix/base/settings.py:455
|
||||
msgid "Ask for a phone number per order"
|
||||
msgstr ""
|
||||
msgstr "Chiedi il numero di telefono"
|
||||
|
||||
#: pretix/base/settings.py:464
|
||||
msgid "Require a phone number per order"
|
||||
msgstr ""
|
||||
msgstr "Obbliga l'inserimento del numero di telefono"
|
||||
|
||||
#: pretix/base/settings.py:474
|
||||
msgid "Ask for invoice address"
|
||||
msgstr ""
|
||||
msgstr "Chiedi l'indirizzo di fattura"
|
||||
|
||||
#: pretix/base/settings.py:483
|
||||
msgid "Do not ask for invoice address if an order is free"
|
||||
msgstr ""
|
||||
msgstr "Non chiedere l'indirizzo di fattura se un ordine è gratuito"
|
||||
|
||||
#: pretix/base/settings.py:492
|
||||
msgid "Require customer name"
|
||||
msgstr ""
|
||||
msgstr "Obbliga l'inserimento del nome del cliente"
|
||||
|
||||
#: pretix/base/settings.py:501
|
||||
msgid "Show attendee names on invoices"
|
||||
msgstr ""
|
||||
msgstr "Mostra il nome del partecipante sulla fattura"
|
||||
|
||||
#: pretix/base/settings.py:510
|
||||
#, fuzzy
|
||||
msgid "Show event location on invoices"
|
||||
msgstr "Prevendita non ancora attiva"
|
||||
msgstr "Mostra l'indirizzo dell'evento sulla fattura"
|
||||
|
||||
#: pretix/base/settings.py:511
|
||||
msgid ""
|
||||
@@ -9849,22 +9883,27 @@ msgid ""
|
||||
"same for all lines. It will be shown on every line if there are different "
|
||||
"locations."
|
||||
msgstr ""
|
||||
"L'indirizzo dell'evento verrà mostrato sotto la lista dei prodotti se è lo "
|
||||
"stesso per tutti. Se l'evento si svolgerà in luoghi differenti, verrà "
|
||||
"mostrato sotto ciascuno."
|
||||
|
||||
#: pretix/base/settings.py:521
|
||||
#, fuzzy
|
||||
msgid "Show exchange rates"
|
||||
msgstr "Mostra il valore a"
|
||||
msgstr "Mostra i tassi di cambio"
|
||||
|
||||
#: pretix/base/settings.py:524 pretix/base/settings.py:532
|
||||
#: pretix/control/forms/item.py:626
|
||||
msgid "Never"
|
||||
msgstr ""
|
||||
msgstr "Mai"
|
||||
|
||||
#: pretix/base/settings.py:525 pretix/base/settings.py:533
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Based on European Central Bank daily rates, whenever the invoice recipient "
|
||||
"is in an EU country that uses a different currency."
|
||||
msgstr ""
|
||||
"In base ai cambio della Banca Centrale Europea, se il destinatario della "
|
||||
"fattura è in una nazione dell'EU che usa una valuta differente."
|
||||
|
||||
#: pretix/base/settings.py:527 pretix/base/settings.py:535
|
||||
msgid ""
|
||||
@@ -9874,25 +9913,24 @@ msgstr ""
|
||||
|
||||
#: pretix/base/settings.py:545
|
||||
msgid "Require invoice address"
|
||||
msgstr ""
|
||||
msgstr "Obbliga l'inserimento dell'indirizzo di fatturazione"
|
||||
|
||||
#: pretix/base/settings.py:555
|
||||
#, fuzzy
|
||||
msgid "Require a business address"
|
||||
msgstr "Crea un nuovo organizzatore"
|
||||
msgstr "Richiedi un indirizzo aziendale"
|
||||
|
||||
#: pretix/base/settings.py:556
|
||||
msgid "This will require users to enter a company name."
|
||||
msgstr ""
|
||||
msgstr "Obbligherà gli utenti ad inserire il nome della propria azienda."
|
||||
|
||||
#: pretix/base/settings.py:566
|
||||
msgid "Ask for beneficiary"
|
||||
msgstr ""
|
||||
msgstr "Chiedi il beneficiario"
|
||||
|
||||
#: pretix/base/settings.py:576
|
||||
#, fuzzy
|
||||
msgid "Custom recipient field label"
|
||||
msgstr "Campo indirizzo personalizzato"
|
||||
msgstr "Campo indirizzo del destinatario personalizzato"
|
||||
|
||||
#: pretix/base/settings.py:578
|
||||
msgid ""
|
||||
@@ -9902,11 +9940,15 @@ msgid ""
|
||||
"details as well as for displaying the value on the invoice. It will be shown "
|
||||
"on the invoice below the headline. The field will not be required."
|
||||
msgstr ""
|
||||
"Se vuoi aggiungere un campo di testo personalizzato, ad esempio un numero di "
|
||||
"registrazione specifico per ogni nazione, al tuo modulo per la fattura, "
|
||||
"inserisci il nome qui. Questo nome verrà usato sia per chiedere agli utenti "
|
||||
"di inserire i propri dettagli, che per mostrare il valore sulla fattura, "
|
||||
"sotto il titolo. Questo campo non è obbligatorio."
|
||||
|
||||
#: pretix/base/settings.py:591
|
||||
#, fuzzy
|
||||
msgid "Custom recipient field help text"
|
||||
msgstr "Campo indirizzo personalizzato"
|
||||
msgstr "Testo di aiuto per il campo indirizzo del destinatario personalizzato"
|
||||
|
||||
#: pretix/base/settings.py:593
|
||||
msgid ""
|
||||
@@ -9914,10 +9956,13 @@ msgid ""
|
||||
"will be displayed underneath the field. It will not be displayed on the "
|
||||
"invoice."
|
||||
msgstr ""
|
||||
"Se utilizzi il campo indirizzo del destinatario personalizzato, puoi "
|
||||
"specificare un testo di aiuto che verrà mostrato al di sotto del campo "
|
||||
"stesso. Non verrà, invece, mostrato sulla fattura."
|
||||
|
||||
#: pretix/base/settings.py:603
|
||||
msgid "Ask for VAT ID"
|
||||
msgstr ""
|
||||
msgstr "Chiedi la partita IVA"
|
||||
|
||||
#: pretix/base/settings.py:605
|
||||
#, python-brace-format
|
||||
@@ -9926,10 +9971,14 @@ msgid ""
|
||||
"only requested from business customers in the following countries: "
|
||||
"{countries}"
|
||||
msgstr ""
|
||||
"Funzionerà solamente se viene richiesto anche l'indirizzo per la "
|
||||
"fatturazione. La partita IVA non è mai un campo obbligatorio e verrà "
|
||||
"richiesta solamente per i clienti aziendali dalle seguenti nazioni: "
|
||||
"{countries}"
|
||||
|
||||
#: pretix/base/settings.py:618
|
||||
msgid "Invoice address explanation"
|
||||
msgstr ""
|
||||
msgstr "Spiegazione dell'indirizzo di fattura"
|
||||
|
||||
#: pretix/base/settings.py:621
|
||||
msgid "This text will be shown above the invoice address form during checkout."
|
||||
@@ -9940,54 +9989,64 @@ msgstr ""
|
||||
#: pretix/base/settings.py:630
|
||||
msgid "Show paid amount on partially paid invoices"
|
||||
msgstr ""
|
||||
"Mostra quanto è stato già versato sugli ordini pagati solamente parzialmente"
|
||||
|
||||
#: pretix/base/settings.py:631
|
||||
msgid ""
|
||||
"If an invoice has already been paid partially, this option will add the paid "
|
||||
"and pending amount to the invoice."
|
||||
msgstr ""
|
||||
"Se una fattura è già stata pagata parzialmente, questa opzione aggiungerà "
|
||||
"quanto è stato pagato e quanto rimane da pagare alla stessa."
|
||||
|
||||
#: pretix/base/settings.py:641
|
||||
msgid "Show free products on invoices"
|
||||
msgstr ""
|
||||
msgstr "Mostra i prodotti gratuiti sulla fattura"
|
||||
|
||||
#: pretix/base/settings.py:642
|
||||
msgid ""
|
||||
"Note that invoices will never be generated for orders that contain only free "
|
||||
"products."
|
||||
msgstr ""
|
||||
"Nota che non verrà emessa alcuna fattura per gli ordini che contengono "
|
||||
"solamente prodotti gratuiti."
|
||||
|
||||
#: pretix/base/settings.py:652
|
||||
msgid "Show expiration date of order"
|
||||
msgstr ""
|
||||
msgstr "Mostra la data di scadenza degli ordini"
|
||||
|
||||
#: pretix/base/settings.py:653
|
||||
msgid ""
|
||||
"The expiration date will not be shown if the invoice is generated after the "
|
||||
"order is paid."
|
||||
msgstr ""
|
||||
"La data di scadenza non verrà mostrata se la fattura verrà emessa dopo che "
|
||||
"l'ordine è stato pagato."
|
||||
|
||||
#: pretix/base/settings.py:663
|
||||
msgid "Minimum length of invoice number after prefix"
|
||||
msgstr ""
|
||||
msgstr "Lunghezza minima del numero di fattura, escluso il prefisso"
|
||||
|
||||
#: pretix/base/settings.py:664
|
||||
msgid ""
|
||||
"The part of your invoice number after your prefix will be filled up with "
|
||||
"leading zeros up to this length, e.g. INV-001 or INV-00001."
|
||||
msgstr ""
|
||||
"La parte del tuo numero di fattura dopo il prefisso verrà riempita con zeri "
|
||||
"iniziali per raggiungere la lunghezza impostata, ad esempio: INV-001 oppure "
|
||||
"INV-00001."
|
||||
|
||||
#: pretix/base/settings.py:675
|
||||
msgid "Generate invoices with consecutive numbers"
|
||||
msgstr ""
|
||||
msgstr "Genera le fatture seguendo una numerazione consecutiva"
|
||||
|
||||
#: pretix/base/settings.py:676
|
||||
msgid "If deactivated, the order code will be used in the invoice number."
|
||||
msgstr ""
|
||||
msgstr "Se disattivata, il codice d'ordine verrà usato come numero di fattura."
|
||||
|
||||
#: pretix/base/settings.py:685
|
||||
msgid "Invoice number prefix"
|
||||
msgstr ""
|
||||
msgstr "Prefisso del numero di fattura"
|
||||
|
||||
#: pretix/base/settings.py:686
|
||||
msgid ""
|
||||
@@ -9999,6 +10058,14 @@ msgid ""
|
||||
"can use %Y (with century) %y (without century) to insert the year of the "
|
||||
"invoice, or %m and %d for the day of month."
|
||||
msgstr ""
|
||||
"Verrà anteposto ai numeri di fattura. Se non riempi questo campo, verrà "
|
||||
"usato lo slug dell'evento, seguito da -. Attenzione: se più eventi della "
|
||||
"stessa organizzazione usano lo stesso valore in questo campo, condivideranno "
|
||||
"la stessa numerazione: Un singolo numero di fattura verrà usato una ed una "
|
||||
"sola volta per ogni evento che condivide lo stesso prefisso. Le modifiche a "
|
||||
"questo campo si applicheranno solamente alle fatture future. Puoi usare %Y ("
|
||||
"con secolo) %y (senza secolo) per inserire l'anno della fattura, oppure %m e "
|
||||
"%d per il mese ed il giorno."
|
||||
|
||||
#: pretix/base/settings.py:698 pretix/base/settings.py:720
|
||||
#, python-brace-format
|
||||
@@ -10007,7 +10074,7 @@ msgstr "Per favore, utilizza soltanto i caratteri {allowed} in questo campo."
|
||||
|
||||
#: pretix/base/settings.py:711
|
||||
msgid "Invoice number prefix for cancellations"
|
||||
msgstr ""
|
||||
msgstr "Prefisso per i numeri di fattura per le cancellazioni"
|
||||
|
||||
#: pretix/base/settings.py:712
|
||||
msgid ""
|
||||
@@ -10015,42 +10082,48 @@ msgid ""
|
||||
"this field empty, the same numbering scheme will be used that you configured "
|
||||
"for regular invoices."
|
||||
msgstr ""
|
||||
"Verrà anteposto al numero di fatturazione per le cancellazioni. Se lasci "
|
||||
"questo campo vuoto, verrà utilizzato lo stesso schema di numerazione "
|
||||
"configurato per le fatture normali."
|
||||
|
||||
#: pretix/base/settings.py:733
|
||||
msgid "Highlight order code to make it stand out visibly"
|
||||
msgstr ""
|
||||
msgstr "Evidenzia il codice d'ordine per renderlo più visibile"
|
||||
|
||||
#: pretix/base/settings.py:734 pretix/base/settings.py:745
|
||||
msgid "Only respected by some invoice renderers."
|
||||
msgstr ""
|
||||
msgstr "Funziona solamente con alcuni renderizzatori di fatture."
|
||||
|
||||
#: pretix/base/settings.py:744 pretix/base/settings.py:2959
|
||||
#: pretix/control/templates/pretixcontrol/pdf/index.html:436
|
||||
msgid "Font"
|
||||
msgstr ""
|
||||
msgstr "Font"
|
||||
|
||||
#: pretix/base/settings.py:770
|
||||
#, fuzzy
|
||||
msgid "Length of ticket codes"
|
||||
msgstr "Codice biglietto"
|
||||
msgstr "Lunghezza dei codici dei biglietti"
|
||||
|
||||
#: pretix/base/settings.py:797
|
||||
msgid "Reservation period"
|
||||
msgstr ""
|
||||
msgstr "Durata del carrello"
|
||||
|
||||
#: pretix/base/settings.py:799
|
||||
msgid ""
|
||||
"The number of minutes the items in a user's cart are reserved for this user."
|
||||
msgstr ""
|
||||
"Numero di minuti per cui un prodotto rimane riservato nel carrello di un "
|
||||
"utente."
|
||||
|
||||
#: pretix/base/settings.py:808
|
||||
msgid ""
|
||||
"Directly redirect to check-out after a product has been added to the cart."
|
||||
msgstr ""
|
||||
"Reindirizza direttamente al check-out dopo che un prodotto viene aggiunto al "
|
||||
"carrello."
|
||||
|
||||
#: pretix/base/settings.py:817
|
||||
msgid "End of presale text"
|
||||
msgstr ""
|
||||
msgstr "Testo per la fine della prevendita"
|
||||
|
||||
#: pretix/base/settings.py:820
|
||||
msgid ""
|
||||
@@ -10058,16 +10131,21 @@ msgid ""
|
||||
"timeframe for this event is over. You can use it to describe other options "
|
||||
"to get a ticket, such as a box office."
|
||||
msgstr ""
|
||||
"Questo testo verrà mostrato sopra lo shop una volta che il termine per la "
|
||||
"vendita dei biglietti viene raggiunto. Puoi utilizzarlo per descrivere "
|
||||
"alternative per l'acquisto dei biglietti, come ad esempio un box office."
|
||||
|
||||
#: pretix/base/settings.py:834
|
||||
msgid "Guidance text"
|
||||
msgstr ""
|
||||
msgstr "Guida ai pagamenti"
|
||||
|
||||
#: pretix/base/settings.py:835
|
||||
msgid ""
|
||||
"This text will be shown above the payment options. You can explain the "
|
||||
"choices to the user here, if you want."
|
||||
msgstr ""
|
||||
"Questo testo apparirà sopra le opzioni di pagamento. Puoi usarlo per "
|
||||
"spiegare le varie opzioni agli utenti, se vuoi."
|
||||
|
||||
#: pretix/base/settings.py:846 pretix/base/settings.py:855
|
||||
msgid "in days"
|
||||
@@ -10078,19 +10156,21 @@ msgid "in minutes"
|
||||
msgstr "in minuti"
|
||||
|
||||
#: pretix/base/settings.py:851
|
||||
#, fuzzy
|
||||
msgid "Set payment term"
|
||||
msgstr "Nascondi metodo di pagamento"
|
||||
msgstr "Termine dei pagamenti"
|
||||
|
||||
#: pretix/base/settings.py:858
|
||||
msgid ""
|
||||
"If using days, the order will expire at the end of the last day. Using "
|
||||
"minutes is more exact, but should only be used for real-time payment methods."
|
||||
msgstr ""
|
||||
"Utilizzando i giorni, l'ordine scadrà alla fine dell'ultimo giorno. Usando "
|
||||
"invece i minuti, si può essere più precisi, ma questa opzione dovrebbe "
|
||||
"essere utilizzata solamente per i metodi di pagamento in tempo reale."
|
||||
|
||||
#: pretix/base/settings.py:868
|
||||
msgid "Payment term in days"
|
||||
msgstr ""
|
||||
msgstr "Termine di pagamento in giorni"
|
||||
|
||||
#: pretix/base/settings.py:875
|
||||
msgid ""
|
||||
@@ -10099,10 +10179,15 @@ msgid ""
|
||||
"recommend 14 days. If you only use real-time payment methods, we recommend "
|
||||
"still setting two or three days to allow people to retry failed payments."
|
||||
msgstr ""
|
||||
"Il numero di giorni in cui un utente può pagare un ordine già fatto per "
|
||||
"mantenere la propria prenotazione. Se utilizzi metodi di pagamento lenti "
|
||||
"come i bonifici, raccomandiamo un valore di 14 giorni. Se usi invece metodi "
|
||||
"di pagamento in tempo reale, raccomandiamo di lasciare agli utenti 2-3 "
|
||||
"giorni per permettergli di riprovare pagamenti falliti."
|
||||
|
||||
#: pretix/base/settings.py:893
|
||||
msgid "Only end payment terms on weekdays"
|
||||
msgstr ""
|
||||
msgstr "Fai cadere il termine dei pagamenti solamente nei giorni feriali"
|
||||
|
||||
#: pretix/base/settings.py:894
|
||||
msgid ""
|
||||
@@ -10111,11 +10196,14 @@ msgid ""
|
||||
"some countries by civil law. This will not effect the last date of payments "
|
||||
"configured below."
|
||||
msgstr ""
|
||||
"Se questa opzione è attiva e il termine di pagamento cade di Sabato o "
|
||||
"Domenica, verrà spostato al Lunedì successivo. Questo è legalmente richiesto "
|
||||
"in alcune nazioni. Questa opzione non avrà comunque effetto sull'ultima data "
|
||||
"di pagamento, configurabile sotto."
|
||||
|
||||
#: pretix/base/settings.py:910
|
||||
#, fuzzy
|
||||
msgid "Payment term in minutes"
|
||||
msgstr "ID Pagamento"
|
||||
msgstr "Termine di pagamento in minuti"
|
||||
|
||||
#: pretix/base/settings.py:911
|
||||
msgid ""
|
||||
@@ -10124,6 +10212,11 @@ msgid ""
|
||||
"methods. Please note that for technical reasons, the actual time frame might "
|
||||
"be a few minutes longer before the order is marked as expired."
|
||||
msgstr ""
|
||||
"Il numero di minuti in cui un utente può pagare un ordine già fatto per "
|
||||
"mantenere la propria prenotazione. Usa questa opzione solo se usi "
|
||||
"esclusivamente metodi di pagamento in tempo reale. Tieni in mente che per "
|
||||
"ragioni tecniche, il termine potrebbe essere esteso automaticamente di "
|
||||
"alcuni minuti."
|
||||
|
||||
#: pretix/base/settings.py:934
|
||||
msgid "Last date of payments"
|
||||
@@ -10135,10 +10228,14 @@ msgid ""
|
||||
"configured above. If you use the event series feature and an order contains "
|
||||
"tickets for multiple dates, the earliest date will be used."
|
||||
msgstr ""
|
||||
"L'ultimo giorno in cui i pagamenti vengono accettati. Questa opzione ha "
|
||||
"precedenza rispetto a tutte le altre configurate sopra. Se usi la "
|
||||
"funzionalità per avere una serie di eventi ed un ordine contiene biglietti "
|
||||
"per più date, verrà usata la prima."
|
||||
|
||||
#: pretix/base/settings.py:946
|
||||
msgid "Automatically expire unpaid orders"
|
||||
msgstr ""
|
||||
msgstr "Fai scadere automaticamente gli ordini non pagati"
|
||||
|
||||
#: pretix/base/settings.py:947
|
||||
msgid ""
|
||||
@@ -10146,11 +10243,14 @@ msgid ""
|
||||
"'expired' after the end of their payment deadline. This means that those "
|
||||
"tickets go back to the pool and can be ordered by other people."
|
||||
msgstr ""
|
||||
"Se selezionata, tutti gli ordini non pagati passeranno automaticamente da "
|
||||
"\"in attesa\" a \"scaduti\", dopo aver raggiunto il termine di pagamento. "
|
||||
"Questo implica che i biglietti torneranno indietro nella quota e che "
|
||||
"potranno essere riordinati da altre persone."
|
||||
|
||||
#: pretix/base/settings.py:958
|
||||
#, fuzzy
|
||||
msgid "Expiration delay"
|
||||
msgstr "Carrello scaduto"
|
||||
msgstr "Ritardo nella scadenza"
|
||||
|
||||
#: pretix/base/settings.py:959
|
||||
msgid ""
|
||||
@@ -10160,6 +10260,12 @@ msgid ""
|
||||
"beyond the \"last date of payments\" configured above, which is always "
|
||||
"enforced."
|
||||
msgstr ""
|
||||
"L'ordine scadrà davvero solamente dopo i giorni specificati a partire dalla "
|
||||
"data di scadenza comunicata al cliente. Se selezioni "
|
||||
"\"Fai cadere il termine dei pagamenti solamente nei giorni feriali\", verrà "
|
||||
"rispettato anche in questo caso. Tieni in considerazione che il ritardo non "
|
||||
"scavallerà l'\"ultima data per i pagamenti\" impostata sopra, che verrà "
|
||||
"sempre rispettata."
|
||||
|
||||
#: pretix/base/settings.py:980
|
||||
msgid "Hide \"payment pending\" state on customer-facing pages"
|
||||
@@ -14910,7 +15016,7 @@ msgstr ""
|
||||
|
||||
#: pretix/control/forms/modelimport.py:76
|
||||
msgid "Import mode"
|
||||
msgstr "modo importazione"
|
||||
msgstr "Modo di importazione"
|
||||
|
||||
#: pretix/control/forms/modelimport.py:78
|
||||
msgid "Create a separate order for each line"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,16 +8,16 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-08-19 16:02+0000\n"
|
||||
"PO-Revision-Date: 2025-07-23 01:00+0000\n"
|
||||
"Last-Translator: Hijiri Umemoto <hijiri@umemoto.org>\n"
|
||||
"Language-Team: Japanese <https://translate.pretix.eu/projects/pretix/pretix-"
|
||||
"js/ja/>\n"
|
||||
"PO-Revision-Date: 2025-08-24 16:00+0000\n"
|
||||
"Last-Translator: Yasunobu YesNo Kawaguchi <kawaguti@gmail.com>\n"
|
||||
"Language-Team: Japanese <https://translate.pretix.eu/projects/pretix/"
|
||||
"pretix-js/ja/>\n"
|
||||
"Language: ja\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 5.12.2\n"
|
||||
"X-Generator: Weblate 5.13\n"
|
||||
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
|
||||
@@ -209,7 +209,7 @@ msgstr "方向転換"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:38
|
||||
msgid "Entry"
|
||||
msgstr "入口"
|
||||
msgstr "エントリー"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:39
|
||||
msgid "Exit"
|
||||
@@ -644,7 +644,8 @@ msgstr ""
|
||||
msgid ""
|
||||
"Your color has insufficient contrast to white. Accessibility of your site "
|
||||
"will be impacted."
|
||||
msgstr ""
|
||||
msgstr "あなたの色は白に対して十分なコントラストがありません。サイトのアクセシビリテ"
|
||||
"ィに影響します。"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:417
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:437
|
||||
@@ -719,7 +720,7 @@ msgstr "カートの有効期限が切れています"
|
||||
#: pretix/static/pretixpresale/js/ui/cart.js:58
|
||||
#: pretix/static/pretixpresale/js/ui/cart.js:84
|
||||
msgid "Your cart is about to expire."
|
||||
msgstr ""
|
||||
msgstr "カートの有効期限が近づいています。"
|
||||
|
||||
#: pretix/static/pretixpresale/js/ui/cart.js:62
|
||||
msgid "The items in your cart are reserved for you for one minute."
|
||||
@@ -784,12 +785,12 @@ msgstr "数量を増やす"
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:19
|
||||
msgctxt "widget"
|
||||
msgid "Filter events by"
|
||||
msgstr ""
|
||||
msgstr "イベントをフィルタ"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:20
|
||||
msgctxt "widget"
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
msgstr "フィルタ"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:21
|
||||
msgctxt "widget"
|
||||
@@ -974,7 +975,7 @@ msgstr ""
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:57
|
||||
msgctxt "widget"
|
||||
msgid "Resume checkout"
|
||||
msgstr "購入を続行する"
|
||||
msgstr "チェックアウトを続行する"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:58
|
||||
msgctxt "widget"
|
||||
@@ -997,17 +998,14 @@ msgid "Close"
|
||||
msgstr "閉じる"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:62
|
||||
#, fuzzy
|
||||
#| msgctxt "widget"
|
||||
#| msgid "Resume checkout"
|
||||
msgctxt "widget"
|
||||
msgid "Close checkout"
|
||||
msgstr "購入を続行する"
|
||||
msgstr "チェックアウトを閉じる"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:63
|
||||
msgctxt "widget"
|
||||
msgid "You cannot cancel this operation. Please wait for loading to finish."
|
||||
msgstr ""
|
||||
msgstr "この操作はキャンセルできません。読み込みが完了するまでお待ちください。"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:64
|
||||
msgctxt "widget"
|
||||
|
||||
@@ -8,8 +8,8 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-08-19 16:35+0000\n"
|
||||
"PO-Revision-Date: 2025-06-25 06:56+0000\n"
|
||||
"Last-Translator: 조정화 <junghwa.jo@om.org>\n"
|
||||
"PO-Revision-Date: 2025-09-01 18:00+0000\n"
|
||||
"Last-Translator: z3rrry <z3rrry@gmail.com>\n"
|
||||
"Language-Team: Korean <https://translate.pretix.eu/projects/pretix/pretix/ko/"
|
||||
">\n"
|
||||
"Language: ko\n"
|
||||
@@ -17,7 +17,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=1; plural=0;\n"
|
||||
"X-Generator: Weblate 5.11.4\n"
|
||||
"X-Generator: Weblate 5.13\n"
|
||||
|
||||
#: pretix/_base_settings.py:87
|
||||
msgid "English"
|
||||
@@ -145,7 +145,7 @@ msgstr "스페인어"
|
||||
|
||||
#: pretix/_base_settings.py:118
|
||||
msgid "Spanish (Latin America)"
|
||||
msgstr ""
|
||||
msgstr "스페인어 (라틴 아메리카)"
|
||||
|
||||
#: pretix/_base_settings.py:119
|
||||
msgid "Turkish"
|
||||
@@ -617,7 +617,8 @@ msgstr "바우처 할당"
|
||||
msgid ""
|
||||
"Only includes explicit changes to the voucher, not e.g. an increase of the "
|
||||
"number of redemptions."
|
||||
msgstr ""
|
||||
msgstr "쿠폰에 대한 명시적인 변경 사항만 포함하며, 예를 들어 사용 횟수 증가 등은 "
|
||||
"포함하지 않습니다."
|
||||
|
||||
#: pretix/api/webhooks.py:421
|
||||
#, fuzzy
|
||||
@@ -729,18 +730,16 @@ msgstr ""
|
||||
"있습니다."
|
||||
|
||||
#: pretix/base/context.py:38
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "powered by {name} based on <a {a_attr}>pretix</a>"
|
||||
#, python-brace-format
|
||||
msgid "<a {a_name_attr}>powered by {name}</a> <a {a_attr}>based on pretix</a>"
|
||||
msgstr ""
|
||||
"이 서비스는 {name}에 의해 제공되며 pretix(온라인 이벤트 티켓팅 및 등록 시스"
|
||||
"템) 시스템 기반으로 작동합니다"
|
||||
"이 서비스는 <a {a_name_attr}>{name}</a>에 의해 제공되며 <a {a_attr}>pretix</"
|
||||
"a> 기반으로 작동합니다"
|
||||
|
||||
#: pretix/base/context.py:48
|
||||
#, fuzzy, python-brace-format
|
||||
#| msgid "powered by {name} based on <a {a_attr}>pretix</a>"
|
||||
#, python-brace-format
|
||||
msgid "<a {a_attr}>powered by {name} based on pretix</a>"
|
||||
msgstr "이 서비스는 {name}에서 제공하며 pretix를 기반으로 합니다."
|
||||
msgstr "이 서비스는 <a {a_attr}>{name}</a>에서 제공하며 pretix를 기반으로 합니다."
|
||||
|
||||
#: pretix/base/context.py:55
|
||||
#, python-format
|
||||
@@ -812,13 +811,16 @@ msgid ""
|
||||
"Field \"{field_name}\" is not valid for {available_inputs}. Please check "
|
||||
"your {provider_name} settings."
|
||||
msgstr ""
|
||||
"필드 \"{field_name}\"은 {available_inputs}에 유효하지 않습니다. "
|
||||
"{provider_name} 설정을 확인해 주세요."
|
||||
|
||||
#: pretix/base/datasync/datasync.py:267
|
||||
#, python-brace-format
|
||||
msgid ""
|
||||
"Please update value mapping for field \"{field_name}\" - option \"{val}\" "
|
||||
"not assigned"
|
||||
msgstr ""
|
||||
msgstr "필드 \"{field_name}\"의 값 매핑을 업데이트해 주세요 - 옵션 \"{val}\"이 "
|
||||
"할당되지 않았습니다"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:128
|
||||
#, fuzzy
|
||||
@@ -850,7 +852,7 @@ msgstr "상품 데이터"
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html:176
|
||||
#: pretix/presale/templates/pretixpresale/event/order.html:22
|
||||
msgid "Order details"
|
||||
msgstr ""
|
||||
msgstr "주문 내역"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:133
|
||||
#: pretix/base/datasync/sourcefields.py:299
|
||||
|
||||
@@ -7,16 +7,16 @@ 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-07-06 01:00+0000\n"
|
||||
"PO-Revision-Date: 2025-08-26 19:00+0000\n"
|
||||
"Last-Translator: Jan Van Haver <jan.van.haver@gmail.com>\n"
|
||||
"Language-Team: Dutch <https://translate.pretix.eu/projects/pretix/pretix/nl/"
|
||||
">\n"
|
||||
"Language-Team: Dutch <https://translate.pretix.eu/projects/pretix/pretix/nl/>"
|
||||
"\n"
|
||||
"Language: nl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.11.4\n"
|
||||
"X-Generator: Weblate 5.13\n"
|
||||
|
||||
#: pretix/_base_settings.py:87
|
||||
msgid "English"
|
||||
@@ -144,7 +144,7 @@ msgstr "Spaans"
|
||||
|
||||
#: pretix/_base_settings.py:118
|
||||
msgid "Spanish (Latin America)"
|
||||
msgstr ""
|
||||
msgstr "Spaans (Latijns-Amerika)"
|
||||
|
||||
#: pretix/_base_settings.py:119
|
||||
msgid "Turkish"
|
||||
@@ -559,22 +559,16 @@ msgid "Event series date deleted"
|
||||
msgstr "Evenementenreeks: datum verwijderd"
|
||||
|
||||
#: pretix/api/webhooks.py:374
|
||||
#, fuzzy
|
||||
#| msgid "Product name"
|
||||
msgid "Product changed"
|
||||
msgstr "Productnaam"
|
||||
msgstr "Product is veranderd"
|
||||
|
||||
#: pretix/api/webhooks.py:375
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "Product changed (including product added or deleted and including changes "
|
||||
#| "to nested objects like variations or bundles)"
|
||||
msgid ""
|
||||
"This includes product added or deleted and changes to nested objects like "
|
||||
"variations or bundles."
|
||||
msgstr ""
|
||||
"Product veranderd (inclusief product toegevoegd of verwijderd en inclusief "
|
||||
"veranderingen aan geneste objecten zoals variaties of bundels)"
|
||||
"Dit omvat toegevoegd of verwijderde product en wijzigingen in geneste "
|
||||
"objecten zoals variaties of bundels."
|
||||
|
||||
#: pretix/api/webhooks.py:380
|
||||
msgid "Shop taken live"
|
||||
@@ -609,28 +603,24 @@ msgid "Waiting list entry received voucher"
|
||||
msgstr "Wachtlijstitem heeft voucher ontvangen"
|
||||
|
||||
#: pretix/api/webhooks.py:412
|
||||
#, fuzzy
|
||||
#| msgid "Voucher code"
|
||||
msgid "Voucher added"
|
||||
msgstr "Vouchercode"
|
||||
msgstr "Voucher toegevoegd"
|
||||
|
||||
#: pretix/api/webhooks.py:416
|
||||
#, fuzzy
|
||||
#| msgid "Voucher assigned"
|
||||
msgid "Voucher changed"
|
||||
msgstr "Voucher toegewezen"
|
||||
msgstr "Voucher gewijzigd"
|
||||
|
||||
#: pretix/api/webhooks.py:417
|
||||
msgid ""
|
||||
"Only includes explicit changes to the voucher, not e.g. an increase of the "
|
||||
"number of redemptions."
|
||||
msgstr ""
|
||||
"Omvat alleen expliciete wijzigingen aan de voucher, niet bijvoorbeeld een "
|
||||
"toename van het aantal inwisselingen."
|
||||
|
||||
#: pretix/api/webhooks.py:421
|
||||
#, fuzzy
|
||||
#| msgid "Voucher redeemed"
|
||||
msgid "Voucher deleted"
|
||||
msgstr "Voucher verzilverd"
|
||||
msgstr "Voucher verwijderd"
|
||||
|
||||
#: pretix/api/webhooks.py:425
|
||||
msgid "Customer account created"
|
||||
@@ -874,17 +864,13 @@ msgid "Invoice address"
|
||||
msgstr "Factuuradres"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:134
|
||||
#, fuzzy
|
||||
#| msgid "Meta information"
|
||||
msgid "Event information"
|
||||
msgstr "Meta-informatie"
|
||||
msgstr "Event-informatie"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:135
|
||||
#, fuzzy
|
||||
#| msgid "Send recovery information"
|
||||
msgctxt "subevent"
|
||||
msgid "Event or date information"
|
||||
msgstr "Stuur herstelinformatie"
|
||||
msgstr "Event- of datuminformatie"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:175
|
||||
#: pretix/base/exporters/orderlist.py:604
|
||||
@@ -909,10 +895,8 @@ msgstr "Naam van aanwezige"
|
||||
#: pretix/base/datasync/sourcefields.py:187
|
||||
#: pretix/base/datasync/sourcefields.py:604
|
||||
#: pretix/base/datasync/sourcefields.py:628
|
||||
#, fuzzy
|
||||
#| msgid "Attendee name"
|
||||
msgid "Attendee"
|
||||
msgstr "Naam van aanwezige"
|
||||
msgstr "Aanwezige"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:207
|
||||
#: pretix/base/exporters/orderlist.py:611 pretix/base/forms/questions.py:685
|
||||
@@ -926,10 +910,8 @@ msgid "Attendee email"
|
||||
msgstr "E-mailadres van aanwezige"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:219
|
||||
#, fuzzy
|
||||
#| msgid "Attendee email"
|
||||
msgid "Attendee or order email"
|
||||
msgstr "E-mailadres van aanwezige"
|
||||
msgstr "E-mailadres van de aanwezige of de bestelling"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:232 pretix/base/pdf.py:186
|
||||
#: pretix/control/templates/pretixcontrol/order/index.html:595
|
||||
@@ -941,28 +923,20 @@ msgid "Attendee company"
|
||||
msgstr "Bedrijf aanwezige"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:241
|
||||
#, fuzzy
|
||||
#| msgid "Attendee address"
|
||||
msgid "Attendee address street"
|
||||
msgstr "Adres van gast"
|
||||
msgstr "Adres aanwezige: straat"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:250
|
||||
#, fuzzy
|
||||
#| msgid "Attendee ZIP code"
|
||||
msgid "Attendee address ZIP code"
|
||||
msgstr "Adres gast: postcode"
|
||||
msgstr "Adres aanwezige: postcode"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:259
|
||||
#, fuzzy
|
||||
#| msgid "Attendee address"
|
||||
msgid "Attendee address city"
|
||||
msgstr "Adres van gast"
|
||||
msgstr "Adres aanwezige: plaats"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:268
|
||||
#, fuzzy
|
||||
#| msgid "Attendee address"
|
||||
msgid "Attendee address country"
|
||||
msgstr "Adres van gast"
|
||||
msgstr "Adres aanwezige: land"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:279 pretix/base/pdf.py:344
|
||||
msgid "Invoice address company"
|
||||
@@ -997,16 +971,12 @@ msgid "Invoice address country"
|
||||
msgstr "Factuuradres: land"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:353
|
||||
#, fuzzy
|
||||
#| msgid "Order details"
|
||||
msgid "Order email"
|
||||
msgstr "Bestellingsdetails"
|
||||
msgstr "Emailadres bestelling"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:362
|
||||
#, fuzzy
|
||||
#| msgid "Organizer domain"
|
||||
msgid "Order email domain"
|
||||
msgstr "Domein van de organisator"
|
||||
msgstr "E-maildomein van de bestelling"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:371
|
||||
#: pretix/base/exporters/invoices.py:201 pretix/base/exporters/invoices.py:328
|
||||
@@ -1037,10 +1007,8 @@ msgid "Order code"
|
||||
msgstr "Bestelcode"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:380
|
||||
#, fuzzy
|
||||
#| msgid "End order date"
|
||||
msgid "Event and order code"
|
||||
msgstr "Einddatum bestelling"
|
||||
msgstr "Code van event en bestelling"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:389
|
||||
#: pretix/base/exporters/orderlist.py:262 pretix/base/notifications.py:201
|
||||
@@ -1052,10 +1020,8 @@ msgid "Order total"
|
||||
msgstr "Totaalbedrag van bestelling"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:398
|
||||
#, fuzzy
|
||||
#| msgid "Product name and variation"
|
||||
msgid "Product and variation name"
|
||||
msgstr "Productnaam en variant"
|
||||
msgstr "Product- en variantnaam"
|
||||
|
||||
#: pretix/base/datasync/sourcefields.py:410 pretix/base/exporters/items.py:57
|
||||
#: pretix/base/exporters/orderlist.py:597
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,7 @@ msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-08-19 16:02+0000\n"
|
||||
"PO-Revision-Date: 2025-02-27 18:00+0000\n"
|
||||
"PO-Revision-Date: 2025-08-28 13:43+0000\n"
|
||||
"Last-Translator: Renne Rocha <renne@rocha.dev.br>\n"
|
||||
"Language-Team: Portuguese (Brazil) <https://translate.pretix.eu/projects/"
|
||||
"pretix/pretix-js/pt_BR/>\n"
|
||||
@@ -17,7 +17,7 @@ msgstr ""
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 5.10.1\n"
|
||||
"X-Generator: Weblate 5.13\n"
|
||||
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:56
|
||||
#: pretix/plugins/banktransfer/static/pretixplugins/banktransfer/ui.js:62
|
||||
@@ -143,7 +143,7 @@ msgstr "Continuar"
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:317
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:341
|
||||
msgid "Confirming your payment …"
|
||||
msgstr "Confirmado o seu pagamento …"
|
||||
msgstr "Confirmando seu pagamento …"
|
||||
|
||||
#: pretix/plugins/paypal2/static/pretixplugins/paypal2/pretix-paypal.js:254
|
||||
msgid "Payment method unavailable"
|
||||
@@ -165,7 +165,7 @@ msgstr "Receita total"
|
||||
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:15
|
||||
msgid "Contacting Stripe …"
|
||||
msgstr "Contactando Stripe …"
|
||||
msgstr "Contatando Stripe …"
|
||||
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:72
|
||||
msgid "Total"
|
||||
@@ -173,7 +173,7 @@ msgstr "Total"
|
||||
|
||||
#: pretix/plugins/stripe/static/pretixplugins/stripe/pretix-stripe.js:291
|
||||
msgid "Contacting your bank …"
|
||||
msgstr "Contactando o seu banco …"
|
||||
msgstr "Contatando o seu banco …"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:30
|
||||
msgid "Select a check-in list"
|
||||
@@ -217,7 +217,7 @@ msgstr "Saída"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:40
|
||||
msgid "Scan a ticket or search and press return…"
|
||||
msgstr "Escanear um ingresso ou pesquisar e pressionar enter…"
|
||||
msgstr "Escanear um ingresso ou pesquisar e pressionar Enter…"
|
||||
|
||||
#: pretix/plugins/webcheckin/static/pretixplugins/webcheckin/main.js:41
|
||||
msgid "Load more"
|
||||
@@ -370,9 +370,9 @@ msgid ""
|
||||
"If this takes longer than two minutes, please contact us or go back in your "
|
||||
"browser and try again."
|
||||
msgstr ""
|
||||
"Sua solicitação chegou ao nosso servidor mas ainda precisamos esperar ela "
|
||||
"ser processada. Se isto tomar mais do que dois minutos, por favor entre em "
|
||||
"contato conosco ou retorne no seu navegador e tente novamente."
|
||||
"Sua solicitação chegou ao servidor, mas ainda esperamos que ela seja "
|
||||
"processada. Se isso demorar mais de dois minutos, entre em contato conosco "
|
||||
"ou volte ao seu navegador e tente novamente."
|
||||
|
||||
#: pretix/static/pretixbase/js/asynctask.js:119
|
||||
#: pretix/static/pretixbase/js/asynctask.js:176
|
||||
@@ -386,8 +386,8 @@ msgid ""
|
||||
"We currently cannot reach the server, but we keep trying. Last error code: "
|
||||
"{code}"
|
||||
msgstr ""
|
||||
"Não conseguimos acessar o servidor, mas continuaremos tentando. Último "
|
||||
"código do erro: {code}"
|
||||
"No momento, não podemos acessar o servidor, mas continuamos tentando. Último "
|
||||
"código de erro: {code}"
|
||||
|
||||
#: pretix/static/pretixbase/js/asynctask.js:156
|
||||
#: pretix/static/pretixcontrol/js/ui/mail.js:21
|
||||
@@ -399,8 +399,8 @@ msgstr "A solicitação demorou muito. Por favor, tente novamente."
|
||||
msgid ""
|
||||
"We currently cannot reach the server. Please try again. Error code: {code}"
|
||||
msgstr ""
|
||||
"Não conseguimos acessar o servidor. Por favor, tente novamente. Código do "
|
||||
"erro: {code}"
|
||||
"No momento, não podemos acessar o servidor. Por favor, tente novamente. "
|
||||
"Código de erro: {code}"
|
||||
|
||||
#: pretix/static/pretixbase/js/asynctask.js:210
|
||||
msgid "We are processing your request …"
|
||||
@@ -418,7 +418,7 @@ msgstr ""
|
||||
|
||||
#: pretix/static/pretixbase/js/asynctask.js:270
|
||||
msgid "If this takes longer than a few minutes, please contact us."
|
||||
msgstr ""
|
||||
msgstr "Se isso demorar mais do que alguns minutos, entre em contato conosco."
|
||||
|
||||
#: pretix/static/pretixbase/js/asynctask.js:325
|
||||
msgid "Close message"
|
||||
@@ -630,26 +630,24 @@ msgid "Unknown error."
|
||||
msgstr "Erro desconhecido."
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:292
|
||||
#, fuzzy
|
||||
#| msgid "Your color has great contrast and is very easy to read!"
|
||||
msgid "Your color has great contrast and will provide excellent accessibility."
|
||||
msgstr "Sua cor tem grande contraste e é muito fácil de ler!"
|
||||
msgstr "Sua cor tem ótimo contraste e proporcionará excelente acessibilidade."
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:296
|
||||
#, fuzzy
|
||||
#| msgid "Your color has decent contrast and is probably good-enough to read!"
|
||||
msgid ""
|
||||
"Your color has decent contrast and is sufficient for minimum accessibility "
|
||||
"requirements."
|
||||
msgstr ""
|
||||
"Sua cor tem um contraste aceitável e provavelmente é boa o suficiente para "
|
||||
"ler!"
|
||||
"Sua cor tem contraste decente e é suficiente para requisitos mínimos de "
|
||||
"acessibilidade."
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:300
|
||||
msgid ""
|
||||
"Your color has insufficient contrast to white. Accessibility of your site "
|
||||
"will be impacted."
|
||||
msgstr ""
|
||||
"Sua cor não tem contraste suficiente com o branco. A acessibilidade do seu "
|
||||
"site será afetada."
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:417
|
||||
#: pretix/static/pretixcontrol/js/ui/main.js:437
|
||||
@@ -693,10 +691,8 @@ msgid "Calculating default price…"
|
||||
msgstr "Calculando o preço padrão…"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/plugins.js:69
|
||||
#, fuzzy
|
||||
#| msgid "Search results"
|
||||
msgid "No results"
|
||||
msgstr "Resultados da busca"
|
||||
msgstr "Sem resultados"
|
||||
|
||||
#: pretix/static/pretixcontrol/js/ui/question.js:41
|
||||
msgid "Others"
|
||||
@@ -727,7 +723,7 @@ msgstr "Carrinho expirado"
|
||||
#: pretix/static/pretixpresale/js/ui/cart.js:58
|
||||
#: pretix/static/pretixpresale/js/ui/cart.js:84
|
||||
msgid "Your cart is about to expire."
|
||||
msgstr ""
|
||||
msgstr "Seu carrinho está para expirar."
|
||||
|
||||
#: pretix/static/pretixpresale/js/ui/cart.js:62
|
||||
msgid "The items in your cart are reserved for you for one minute."
|
||||
@@ -737,16 +733,10 @@ msgstr[1] ""
|
||||
"Os itens em seu carrinho estão reservados para você por {num} minutos."
|
||||
|
||||
#: pretix/static/pretixpresale/js/ui/cart.js:83
|
||||
#, fuzzy
|
||||
#| msgid "Cart expired"
|
||||
msgid "Your cart has expired."
|
||||
msgstr "Carrinho expirado"
|
||||
msgstr "Seu carrinho expirou."
|
||||
|
||||
#: pretix/static/pretixpresale/js/ui/cart.js:86
|
||||
#, fuzzy
|
||||
#| msgid ""
|
||||
#| "The items in your cart are no longer reserved for you. You can still "
|
||||
#| "complete your order as long as they’re available."
|
||||
msgid ""
|
||||
"The items in your cart are no longer reserved for you. You can still "
|
||||
"complete your order as long as they're available."
|
||||
@@ -756,11 +746,11 @@ msgstr ""
|
||||
|
||||
#: pretix/static/pretixpresale/js/ui/cart.js:87
|
||||
msgid "Do you want to renew the reservation period?"
|
||||
msgstr ""
|
||||
msgstr "Você quer renovar o seu período de reserva?"
|
||||
|
||||
#: pretix/static/pretixpresale/js/ui/cart.js:90
|
||||
msgid "Renew reservation"
|
||||
msgstr ""
|
||||
msgstr "Renovar reserva"
|
||||
|
||||
#: pretix/static/pretixpresale/js/ui/main.js:194
|
||||
msgid "The organizer keeps %(currency)s %(amount)s"
|
||||
@@ -800,12 +790,12 @@ msgstr "Aumentar quantidade"
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:19
|
||||
msgctxt "widget"
|
||||
msgid "Filter events by"
|
||||
msgstr ""
|
||||
msgstr "Filtrar eventos por"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:20
|
||||
msgctxt "widget"
|
||||
msgid "Filter"
|
||||
msgstr ""
|
||||
msgstr "Filtro"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:21
|
||||
msgctxt "widget"
|
||||
@@ -833,7 +823,7 @@ msgstr "Selecione"
|
||||
#, javascript-format
|
||||
msgctxt "widget"
|
||||
msgid "Select %s"
|
||||
msgstr "Selecion %s"
|
||||
msgstr "Selecione %s"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:26
|
||||
#, javascript-format
|
||||
@@ -955,12 +945,9 @@ msgid "Open ticket shop"
|
||||
msgstr "Abrir loja de ingressos"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:50
|
||||
#, fuzzy
|
||||
#| msgctxt "widget"
|
||||
#| msgid "Resume checkout"
|
||||
msgctxt "widget"
|
||||
msgid "Checkout"
|
||||
msgstr "Retomar checkout"
|
||||
msgstr "Checkout"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:51
|
||||
msgctxt "widget"
|
||||
@@ -1017,17 +1004,14 @@ msgid "Close"
|
||||
msgstr "Fechar"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:62
|
||||
#, fuzzy
|
||||
#| msgctxt "widget"
|
||||
#| msgid "Resume checkout"
|
||||
msgctxt "widget"
|
||||
msgid "Close checkout"
|
||||
msgstr "Retomar checkout"
|
||||
msgstr "Fechar checkout"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:63
|
||||
msgctxt "widget"
|
||||
msgid "You cannot cancel this operation. Please wait for loading to finish."
|
||||
msgstr ""
|
||||
msgstr "Você não pode cancelar esta operação. Aguarde o carregamento terminar."
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:64
|
||||
msgctxt "widget"
|
||||
@@ -1130,31 +1114,31 @@ msgstr "Dom"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:85
|
||||
msgid "Monday"
|
||||
msgstr ""
|
||||
msgstr "Segunda-feira"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:86
|
||||
msgid "Tuesday"
|
||||
msgstr ""
|
||||
msgstr "Terça-feira"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:87
|
||||
msgid "Wednesday"
|
||||
msgstr ""
|
||||
msgstr "Quarta-feira"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:88
|
||||
msgid "Thursday"
|
||||
msgstr ""
|
||||
msgstr "Quinta-feira"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:89
|
||||
msgid "Friday"
|
||||
msgstr ""
|
||||
msgstr "Sexta-feira"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:90
|
||||
msgid "Saturday"
|
||||
msgstr ""
|
||||
msgstr "Sábado"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:91
|
||||
msgid "Sunday"
|
||||
msgstr ""
|
||||
msgstr "Domingo"
|
||||
|
||||
#: pretix/static/pretixpresale/js/widget/widget.js:94
|
||||
msgid "January"
|
||||
|
||||
@@ -24,6 +24,7 @@ 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):
|
||||
@@ -45,6 +46,7 @@ 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
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
# 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,
|
||||
)
|
||||
]
|
||||
@@ -78,8 +78,6 @@ 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"),
|
||||
|
||||
@@ -565,7 +565,7 @@ class PaypalMethod(BasePaymentProvider):
|
||||
)
|
||||
request.session['payment_paypal_payment'] = None
|
||||
else:
|
||||
pass
|
||||
return None
|
||||
|
||||
try:
|
||||
paymentreq = OrdersCreateRequest()
|
||||
|
||||
@@ -976,7 +976,7 @@ class DayCalendarView(OrganizerViewMixin, EventListMixin, TemplateView):
|
||||
return ctx
|
||||
|
||||
events = ebd[self.date]
|
||||
shortest_duration = self._get_shortest_duration(events).total_seconds() // 60
|
||||
shortest_duration = max(self._get_shortest_duration(events).total_seconds() // 60, 1)
|
||||
# pick the next biggest tick_duration based on shortest_duration, max. 180 minutes
|
||||
tick_duration = next((d for d in [5, 10, 15, 30, 60, 120, 180] if d >= shortest_duration), 180)
|
||||
|
||||
|
||||
@@ -8,15 +8,16 @@ var async_task_is_long = false;
|
||||
var async_task_dont_redirect = false;
|
||||
|
||||
var async_task_status_messages = {
|
||||
long_task_started: gettext(
|
||||
// These are functions in order to be lazily evaluated after the gettext file is loaded
|
||||
long_task_started: () => gettext(
|
||||
'Your request is currently being processed. Depending on the size of your event, this might take up to ' +
|
||||
'a few minutes.'
|
||||
),
|
||||
long_task_pending: gettext(
|
||||
long_task_pending: () => gettext(
|
||||
'Your request has been queued on the server and will soon be ' +
|
||||
'processed.'
|
||||
),
|
||||
short_task: gettext(
|
||||
short_task: () => gettext(
|
||||
'Your request arrived on the server but we still wait for it to be ' +
|
||||
'processed. If this takes longer than two minutes, please contact us or go ' +
|
||||
'back in your browser and try again.'
|
||||
@@ -73,12 +74,12 @@ function async_task_check_callback(data, textStatus, jqXHR) {
|
||||
function async_task_update_status(data) {
|
||||
if (async_task_is_long) {
|
||||
if (data.started) {
|
||||
waitingDialog.setStatus(async_task_status_messages.long_task_started);
|
||||
waitingDialog.setStatus(async_task_status_messages.long_task_started());
|
||||
} else {
|
||||
waitingDialog.setStatus(async_task_status_messages.long_task_pending);
|
||||
waitingDialog.setStatus(async_task_status_messages.long_task_pending());
|
||||
}
|
||||
} else {
|
||||
waitingDialog.setStatus(async_task_status_messages.short_task);
|
||||
waitingDialog.setStatus(async_task_status_messages.short_task());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -52,7 +52,7 @@ def client():
|
||||
@pytest.fixture
|
||||
@scopes_disabled()
|
||||
def organizer():
|
||||
return Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
return Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
|
||||
@@ -31,7 +31,7 @@ TEST_ORGANIZER_RES = {
|
||||
"name": "Dummy",
|
||||
"slug": "dummy",
|
||||
"public_url": "http://example.com/dummy/",
|
||||
"plugins": [],
|
||||
"plugins": ["pretix.plugins.banktransfer"],
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@ TZ = ZoneInfo('Europe/Berlin')
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def event():
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
|
||||
o.settings.customer_accounts = True
|
||||
event = Event.objects.create(
|
||||
organizer=o, name='Dummy', slug='dummy',
|
||||
|
||||
@@ -64,7 +64,7 @@ from pretix.testutils.scope import classscope
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def event():
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
|
||||
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')
|
||||
self.o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
|
||||
with scope(organizer=self.o):
|
||||
self.event = Event.objects.create(organizer=self.o, name='Dummy', slug='dummy', date_from=now(),
|
||||
plugins='pretix.plugins.banktransfer')
|
||||
|
||||
@@ -45,7 +45,7 @@ from pretix.base.shredder import (
|
||||
|
||||
@pytest.fixture
|
||||
def event():
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
|
||||
event = Event.objects.create(
|
||||
organizer=o, name='Dummy', slug='dummy',
|
||||
date_from=now(), plugins='pretix.plugins.banktransfer,pretix.plugins.ticketoutputpdf'
|
||||
|
||||
@@ -45,7 +45,7 @@ def autoskip(request, settings):
|
||||
@pytest.fixture
|
||||
@scopes_disabled()
|
||||
def organizer():
|
||||
return Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
return Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
|
||||
@@ -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')
|
||||
self.orga2 = Organizer.objects.create(name='MRM', slug='mrm')
|
||||
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.event1 = Event.objects.create(
|
||||
organizer=self.orga1, name='30C3', slug='30c3',
|
||||
date_from=datetime.datetime(2013, 12, 26, tzinfo=datetime.timezone.utc),
|
||||
|
||||
@@ -60,7 +60,7 @@ from pretix.base.services.tax import VATIDFinalError, VATIDTemporaryError
|
||||
|
||||
@pytest.fixture
|
||||
def env():
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
|
||||
event = Event.objects.create(
|
||||
organizer=o, name='Dummy', slug='dummy',
|
||||
date_from=now(), plugins='pretix.plugins.banktransfer,pretix.plugins.stripe,tests.testdummy'
|
||||
|
||||
@@ -49,7 +49,7 @@ from pretix.base.models import (
|
||||
|
||||
@pytest.fixture
|
||||
def env():
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
|
||||
event = Event.objects.create(
|
||||
organizer=o, name='Dummy', slug='dummy',
|
||||
date_from=now(), plugins='pretix.plugins.banktransfer,pretix.plugins.stripe,tests.testdummy'
|
||||
|
||||
@@ -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')
|
||||
self.orga2 = Organizer.objects.create(name='MRM', slug='mrm')
|
||||
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.event1 = Event.objects.create(
|
||||
organizer=self.orga1, name='30C3', slug='30c3',
|
||||
date_from=datetime.datetime(2013, 12, 26, tzinfo=datetime.timezone.utc),
|
||||
|
||||
@@ -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")
|
||||
return Organizer.objects.create(name="Dummy", slug="dummy", plugins='pretix.plugins.banktransfer')
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
|
||||
@@ -35,7 +35,7 @@ from pretix.plugins.banktransfer.models import BankImportJob, BankTransaction
|
||||
|
||||
@pytest.fixture
|
||||
def env():
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
|
||||
event = Event.objects.create(
|
||||
organizer=o, name='Dummy', slug='dummy',
|
||||
date_from=now(), plugins='pretix.plugins.banktransfer'
|
||||
|
||||
@@ -36,7 +36,7 @@ from pretix.plugins.banktransfer.models import BankImportJob, BankTransaction
|
||||
|
||||
@pytest.fixture
|
||||
def env():
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
|
||||
event = Event.objects.create(
|
||||
organizer=o, name='Dummy', slug='dummy',
|
||||
date_from=now(), plugins='pretix.plugins.banktransfer'
|
||||
|
||||
@@ -53,7 +53,7 @@ from pretix.plugins.banktransfer.tasks import process_banktransfers
|
||||
|
||||
@pytest.fixture
|
||||
def env():
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
|
||||
event = Event.objects.create(
|
||||
organizer=o, name='Dummy', slug='dummy',
|
||||
date_from=now(), plugins='pretix.plugins.banktransfer,pretix.plugins.paypal'
|
||||
|
||||
@@ -34,7 +34,7 @@ from pretix.base.models import (
|
||||
|
||||
@pytest.fixture
|
||||
def env():
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
|
||||
event = Event.objects.create(
|
||||
organizer=o, name='Dummy', slug='dummy',
|
||||
date_from=now(), plugins='pretix.plugins.banktransfer,pretix.plugins.paypal'
|
||||
|
||||
@@ -35,7 +35,7 @@ from pretix.plugins.banktransfer.views import (
|
||||
|
||||
@pytest.fixture
|
||||
def env():
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy')
|
||||
o = Organizer.objects.create(name='Dummy', slug='dummy', plugins='pretix.plugins.banktransfer')
|
||||
event = Event.objects.create(
|
||||
organizer=o, name='Dummy', slug='dummy',
|
||||
date_from=now(), plugins='pretix.plugins.banktransfer,pretix.plugins.paypal'
|
||||
|
||||
@@ -70,7 +70,7 @@ class BaseCheckoutTestCase:
|
||||
@scopes_disabled()
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.orga = Organizer.objects.create(name='CCC', slug='ccc')
|
||||
self.orga = Organizer.objects.create(name='CCC', slug='ccc', plugins='pretix.plugins.banktransfer')
|
||||
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),
|
||||
|
||||
@@ -55,7 +55,7 @@ class BaseOrdersTest(TestCase):
|
||||
@scopes_disabled()
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.orga = Organizer.objects.create(name='CCC', slug='ccc')
|
||||
self.orga = Organizer.objects.create(name='CCC', slug='ccc', plugins='pretix.plugins.banktransfer')
|
||||
self.event = Event.objects.create(
|
||||
organizer=self.orga, name='30C3', slug='30c3',
|
||||
date_from=datetime.datetime(2013, 12, 26, tzinfo=datetime.timezone.utc),
|
||||
|
||||
@@ -56,7 +56,7 @@ class BaseOrdersTest(TestCase):
|
||||
@scopes_disabled()
|
||||
def setUp(self):
|
||||
super().setUp()
|
||||
self.orga = Organizer.objects.create(name='CCC', slug='ccc')
|
||||
self.orga = Organizer.objects.create(name='CCC', slug='ccc', plugins='pretix.plugins.banktransfer')
|
||||
self.event = Event.objects.create(
|
||||
organizer=self.orga, name='30C3', slug='30c3',
|
||||
date_from=datetime.datetime(2013, 12, 26, tzinfo=datetime.timezone.utc),
|
||||
|
||||
Reference in New Issue
Block a user