def METHOD_NAME(self, data, view_kwargs):
    identifier = 'identifier'
    if view_kwargs.get('identifier').isdigit():
        identifier = 'id'
    event = safe_query(
        Event, identifier, view_kwargs['identifier'], 'event_' + identifier
    )
    tickets = Ticket.query.filter_by(event_id=event.id).all()
    social_links = SocialLink.query.filter_by(event_id=event.id).all()
    sponsors = Sponsor.query.filter_by(event_id=event.id).all()
    microlocations = Microlocation.query.filter_by(event_id=event.id).all()
    tracks = Track.query.filter_by(event_id=event.id).all()
    custom_forms = CustomForms.query.filter_by(event_id=event.id).all()
    discount_codes = DiscountCode.query.filter_by(event_id=event.id).all()
    speaker_calls = SpeakersCall.query.filter_by(event_id=event.id).all()
    db.session.expunge(event)  # expunge the object from session
    make_transient(event)
    delattr(event, 'id')
    event.identifier = get_new_event_identifier()
    save_to_db(event)
    # Removes access_codes, order_tickets, ticket_tags for the new tickets created.
    for ticket in tickets:
        db.session.expunge(ticket)  # expunge the object from session
        make_transient(ticket)
        ticket.event_id = event.id
        delattr(ticket, 'id')
        save_to_db(ticket)
    for link in social_links:
        db.session.expunge(link)  # expunge the object from session
        make_transient(link)
        link.event_id = event.id
        delattr(link, 'id')
        save_to_db(link)
    for sponsor in sponsors:
        db.session.expunge(sponsor)  # expunge the object from session
        make_transient(sponsor)
        sponsor.event_id = event.id
        logo_url = create_save_resized_image(
            image_file=sponsor.logo_url, resize=False
        )
        delattr(sponsor, 'id')
        sponsor.logo_url = logo_url
        save_to_db(sponsor)
    for location in microlocations:
        db.session.expunge(location)  # expunge the object from session
        make_transient(location)
        location.event_id = event.id
        delattr(location, 'id')
        save_to_db(location)
    # No sessions are copied for new tracks
    for track in tracks:
        db.session.expunge(track)  # expunge the object from session
        make_transient(track)
        track.event_id = event.id
        delattr(track, 'id')
        save_to_db(track)
    for call in speaker_calls:
        db.session.expunge(call)  # expunge the object from session
        make_transient(call)
        call.event_id = event.id
        delattr(call, 'id')
        save_to_db(call)
    for code in discount_codes:
        db.session.expunge(code)  # expunge the object from session
        make_transient(code)
        code.event_id = event.id
        delattr(code, 'id')
        save_to_db(code)
    for form in custom_forms:
        db.session.expunge(form)  # expunge the object from session
        make_transient(form)
        form.event_id = event.id
        delattr(form, 'id')
        save_to_db(form)
    return event