def create_timetable_entry(event, data, parent=None, extend_parent=False): entry = TimetableEntry(event_new=event, parent=parent) entry.populate_from_dict(data) object_type, object_title = _get_object_info(entry) db.session.flush() signals.event.timetable_entry_created.send(entry) logger.info('Timetable entry %s created by %s', entry, session.user) entry.event_new.log(EventLogRealm.management, EventLogKind.positive, 'Timetable', "Entry for {} '{}' created".format(object_type, object_title), session.user, data={'Time': format_datetime(entry.start_dt)}) if extend_parent: entry.extend_parent() return entry