def event_reorder_up(request):
"""Switch this event with the previous event
and adjust the next event's previous_event_id"""
ctx = request.context
instance = ctx._instance
db = instance.db
next_event = db.query(TimelineEvent).filter_by(
previous_event_id=instance.id).first()
previous_event = instance.previous_event
pre_previous_id = previous_event.previous_event_id
# clear first to avoid index uniqueness checks
previous_event.previous_event_id = None
instance.previous_event_id = None
if next_event:
next_event.previous_event_id = None
db.flush()
instance.previous_event_id = pre_previous_id
previous_event.previous_event_id = instance.id
if next_event:
next_event.previous_event_id = previous_event.id
return HTTPOk()
评论列表
文章目录