Skip to content
Snippets Groups Projects
Commit bac1de98 authored by Tom Teichler's avatar Tom Teichler :beers:
Browse files

Merge branch 'price-fix' into 'master'

Set price correct for event registration

See merge request !42
parents b3cacfcb 89ae0d13
No related branches found
No related tags found
1 merge request!42Set price correct for event registration
Pipeline #130693 canceled
# Generated by Django 3.2.19 on 2023-06-04 14:54
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('paweljong', '0022_send_to_retracted_or_not_checked_in'),
]
operations = [
migrations.AddField(
model_name='eventregistration',
name='cost',
field=models.IntegerField(blank=True, null=True, verbose_name='Cost in €'),
),
]
# Generated by Django 3.2.19 on 2023-06-04 14:54
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('paweljong', '0023_eventregistration_cost'),
]
operations = [
migrations.RunSQL("UPDATE paweljong_eventregistration SET cost = (SELECT paweljong_event.cost FROM paweljong_event WHERE paweljong_event.id = paweljong_eventregistration.event_id);")
]
...@@ -309,6 +309,9 @@ class EventRegistration(ExtensibleModel): ...@@ -309,6 +309,9 @@ class EventRegistration(ExtensibleModel):
checked_in = models.BooleanField(verbose_name=_("Checked in"), default=False) checked_in = models.BooleanField(verbose_name=_("Checked in"), default=False)
checked_in_date = models.DateTimeField(verbose_name=_("Checked in at"), null=True, blank=True) checked_in_date = models.DateTimeField(verbose_name=_("Checked in at"), null=True, blank=True)
cost = models.IntegerField(verbose_name=_("Cost in €"), null=True, blank=True)
def mark_checked_in(self): def mark_checked_in(self):
if not self.checked_in: if not self.checked_in:
self.checked_in = True self.checked_in = True
...@@ -372,7 +375,7 @@ class EventRegistration(ExtensibleModel): ...@@ -372,7 +375,7 @@ class EventRegistration(ExtensibleModel):
yield PurchasedItem( yield PurchasedItem(
name=self.event.display_name, name=self.event.display_name,
quantity=1, quantity=1,
price=Decimal(self.event.cost / 1.07), price=Decimal(self.cost / 1.07),
currency="EUR", currency="EUR",
sku="EVENT", sku="EVENT",
tax_rate=7, tax_rate=7,
...@@ -394,7 +397,7 @@ class EventRegistration(ExtensibleModel): ...@@ -394,7 +397,7 @@ class EventRegistration(ExtensibleModel):
yield PurchasedItem( yield PurchasedItem(
name=_("Voucher / Granted discount"), name=_("Voucher / Granted discount"),
quantity=1, quantity=1,
price=Decimal(-1 * self.voucher.discount * (self.event.cost / 1.07) / 100), price=Decimal(-1 * self.voucher.discount * (self.cost / 1.07) / 100),
currency="EUR", currency="EUR",
sku="DISCO", sku="DISCO",
tax_rate=7, tax_rate=7,
...@@ -413,6 +416,8 @@ class EventRegistration(ExtensibleModel): ...@@ -413,6 +416,8 @@ class EventRegistration(ExtensibleModel):
def save(self, *args, **kwargs): def save(self, *args, **kwargs):
self.event.sync_group_members() self.event.sync_group_members()
if self.cost is None:
self.cost = self.event.cost
super().save(*args, **kwargs) super().save(*args, **kwargs)
def delete(self, *args, **kwargs): def delete(self, *args, **kwargs):
......
...@@ -169,7 +169,7 @@ class EventRegistrationEditView(PermissionRequiredMixin, AdvancedEditView): ...@@ -169,7 +169,7 @@ class EventRegistrationEditView(PermissionRequiredMixin, AdvancedEditView):
form_class = EditEventRegistrationForm form_class = EditEventRegistrationForm
permission_required = "paweljong.change_registration_rule" permission_required = "paweljong.change_registration_rule"
template_name = "paweljong/event_registration/edit.html" template_name = "paweljong/event_registration/edit.html"
success_url = reverse_lazy("registrations") success_url = reverse_lazy("index")
success_message = _("The event registration has been saved.") success_message = _("The event registration has been saved.")
...@@ -235,7 +235,7 @@ class EventRegistrationDeleteView(PermissionRequiredMixin, AdvancedDeleteView): ...@@ -235,7 +235,7 @@ class EventRegistrationDeleteView(PermissionRequiredMixin, AdvancedDeleteView):
model = EventRegistration model = EventRegistration
permission_required = "paweljong.delete_eventregistration_rule" permission_required = "paweljong.delete_eventregistration_rule"
template_name = "core/pages/delete.html" template_name = "core/pages/delete.html"
success_url = reverse_lazy("registrations") success_url = reverse_lazy("index")
success_message = _("The registration has been deleted.") success_message = _("The registration has been deleted.")
...@@ -866,7 +866,7 @@ class SendMailFromRegistration(PermissionRequiredMixin, FormView): ...@@ -866,7 +866,7 @@ class SendMailFromRegistration(PermissionRequiredMixin, FormView):
template_name = "paweljong/event_registration/notification.html" template_name = "paweljong/event_registration/notification.html"
permission_required = "paweljong.send_notification_mail_rule" permission_required = "paweljong.send_notification_mail_rule"
form_class = RegistrationNotificationForm form_class = RegistrationNotificationForm
success_url = reverse_lazy("registrations") success_url = reverse_lazy("index")
def form_valid(self, form): def form_valid(self, form):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment