api: add organizer event's attribute in ics exports (#67104)
This commit is contained in:
parent
d3fcbfc051
commit
2fb68bcb8a
|
@ -2099,6 +2099,14 @@ class Booking(models.Model):
|
|||
vevent.add('dtstart').value = self.event.start_datetime
|
||||
if self.user_name:
|
||||
vevent.add('attendee').value = self.user_name
|
||||
organizer_name = getattr(settings, 'TEMPLATE_VARS', {}).get('global_title', 'chrono')
|
||||
organizer_email = getattr(settings, 'TEMPLATE_VARS', {}).get(
|
||||
'default_from_email', 'chrono@example.net'
|
||||
)
|
||||
organizer = vevent.add('organizer')
|
||||
organizer.value = f'mailto:{organizer_email}'
|
||||
organizer.cn_param = organizer_name
|
||||
|
||||
if self.event.end_datetime:
|
||||
vevent.add('dtend').value = self.event.end_datetime
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@ from chrono.utils.lingo import CheckType
|
|||
pytestmark = pytest.mark.django_db
|
||||
|
||||
|
||||
def test_booking_ics(app, some_data, meetings_agenda, user):
|
||||
def test_booking_ics(app, some_data, meetings_agenda, user, settings):
|
||||
agenda = Agenda.objects.filter(label='Foo bar')[0]
|
||||
event = [x for x in Event.objects.filter(agenda=agenda) if x.in_bookable_period()][0]
|
||||
|
||||
|
@ -24,7 +24,12 @@ def test_booking_ics(app, some_data, meetings_agenda, user):
|
|||
assert 'SUMMARY:\r\n' in booking_ics
|
||||
assert 'DTSTART:%sZ\r\n' % formatted_start_date in booking_ics
|
||||
assert 'DTEND:' not in booking_ics
|
||||
assert 'ORGANIZER;CN=chrono:mailto:chrono@example.net\r\n' in booking_ics
|
||||
|
||||
settings.TEMPLATE_VARS = {
|
||||
'global_title': 'meeting server',
|
||||
'default_from_email': 'donotanswer@meeting-server.com',
|
||||
}
|
||||
# test with additional data
|
||||
booking.label = 'foo'
|
||||
booking.user_last_name = 'bar'
|
||||
|
@ -35,6 +40,7 @@ def test_booking_ics(app, some_data, meetings_agenda, user):
|
|||
assert 'SUMMARY:foo\r\n' in booking_ics
|
||||
assert 'ATTENDEE:bar\r\n' in booking_ics
|
||||
assert 'URL:http://example.com/booking\r\n' in booking_ics
|
||||
assert 'ORGANIZER;CN=meeting server:mailto:donotanswer@meeting-server.com\r\n' in booking_ics
|
||||
|
||||
# test with user_label in additionnal data
|
||||
booking.user_first_name = 'foo'
|
||||
|
|
Loading…
Reference in New Issue