forked from CGM_Public/pretix_original
Cloning events: Copy *relative* admission time
This commit is contained in:
@@ -559,7 +559,8 @@ class Event(EventMixin, LoggedModel):
|
|||||||
|
|
||||||
self.plugins = other.plugins
|
self.plugins = other.plugins
|
||||||
self.is_public = other.is_public
|
self.is_public = other.is_public
|
||||||
self.date_admission = other.date_admission
|
if other.date_admission:
|
||||||
|
self.date_admission = self.date_from + (other.date_admission - other.date_from)
|
||||||
self.testmode = other.testmode
|
self.testmode = other.testmode
|
||||||
self.save()
|
self.save()
|
||||||
self.log_action('pretix.object.cloned', data={'source': other.slug, 'source_id': other.pk})
|
self.log_action('pretix.object.cloned', data={'source': other.slug, 'source_id': other.pk})
|
||||||
|
|||||||
@@ -1888,7 +1888,8 @@ class EventTest(TestCase):
|
|||||||
def test_copy(self):
|
def test_copy(self):
|
||||||
event1 = Event.objects.create(
|
event1 = Event.objects.create(
|
||||||
organizer=self.organizer, name='Download', slug='ab1234',
|
organizer=self.organizer, name='Download', slug='ab1234',
|
||||||
date_from=datetime.datetime(2013, 12, 26, tzinfo=datetime.timezone.utc),
|
date_from=datetime.datetime(2013, 12, 26, 9, 0, 0, tzinfo=datetime.timezone.utc),
|
||||||
|
date_admission=datetime.datetime(2013, 12, 26, 8, 0, 0, tzinfo=datetime.timezone.utc),
|
||||||
is_public=True,
|
is_public=True,
|
||||||
)
|
)
|
||||||
tr7 = event1.tax_rules.create(rate=Decimal('7.00'))
|
tr7 = event1.tax_rules.create(rate=Decimal('7.00'))
|
||||||
@@ -1919,7 +1920,7 @@ class EventTest(TestCase):
|
|||||||
|
|
||||||
event2 = Event.objects.create(
|
event2 = Event.objects.create(
|
||||||
organizer=self.organizer, name='Download', slug='ab54321',
|
organizer=self.organizer, name='Download', slug='ab54321',
|
||||||
date_from=datetime.datetime(2013, 12, 26, tzinfo=datetime.timezone.utc)
|
date_from=datetime.datetime(2013, 12, 27, 9, 0, 0, tzinfo=datetime.timezone.utc),
|
||||||
)
|
)
|
||||||
event2.copy_data_from(event1)
|
event2.copy_data_from(event1)
|
||||||
|
|
||||||
@@ -1927,6 +1928,8 @@ class EventTest(TestCase):
|
|||||||
a.refresh_from_db()
|
a.refresh_from_db()
|
||||||
assert a.event == event1
|
assert a.event == event1
|
||||||
|
|
||||||
|
assert event2.date_admission == datetime.datetime(2013, 12, 27, 8, 0, 0, tzinfo=datetime.timezone.utc)
|
||||||
|
|
||||||
trnew = event2.tax_rules.first()
|
trnew = event2.tax_rules.first()
|
||||||
assert trnew.rate == tr7.rate
|
assert trnew.rate == tr7.rate
|
||||||
c1new = event2.categories.get(name='Tickets')
|
c1new = event2.categories.get(name='Tickets')
|
||||||
|
|||||||
Reference in New Issue
Block a user