Conversation
jathak
left a comment
There was a problem hiding this comment.
I've made some comments on how this is structured.
At a higher level, I think changing assigned tickets to show the time since they were assigned (rather than the time since they were created) is a more useful change than this.
oh_queue/views.py
Outdated
| event_type=event_type, | ||
| ticket=ticket, | ||
| user=current_user, | ||
| user_id=0 # assuming ids start @ 1, 0 signifies admin/autodelete |
There was a problem hiding this comment.
This seems hacky. I'd prefer to change TicketEvent to allow the user to be nullable (though that would require a migration)
oh_queue/models.py
Outdated
| return first_name | ||
|
|
||
| TicketStatus = enum.Enum('TicketStatus', 'pending assigned resolved deleted') | ||
| TicketStatus = enum.Enum('TicketStatus', 'pending assigned resolved deleted autoresolved autodeleted') |
There was a problem hiding this comment.
I don't think a separate "autoresolved" category is necessary. I don't see any situation where we'd need to be able to distinguish resolved vs autoresolved tickets (and if we really need to, we could always inspect the events)
I'd lean toward the same for autodeleted tickets, but I'm more open to a separate category there.
There was a problem hiding this comment.
That makes sense, I'll not add any categories here.
oh_queue/views.py
Outdated
| emit_event(ticket, TicketEventType.delete) | ||
| db.session.commit() | ||
|
|
||
| @socketio.on('autodelete') |
There was a problem hiding this comment.
This should only be triggered on the server-side, so I don't think the socket event listener is necessary.
oh_queue/views.py
Outdated
| db.session.commit() | ||
| return get_next_ticket() | ||
|
|
||
| @socketio.on('resolve') |
There was a problem hiding this comment.
See comment about autodelete above (also, this shouldn't have the same socket event as the existing resolve function.
manage.py
Outdated
| question=random.randrange(1, 6), | ||
| location=random.choice(['109 Morgan', '247 Cory']), | ||
| ) | ||
| if i % 2 == 0: |
There was a problem hiding this comment.
I don't think this is really necessary. If we do want to keep this, you should create the ticket outside the if and then update the fields for certain values.
To maximize the accuracy of estimated wait time, this PR will autoresolve students being assisted for longer than 30 minutes, and delete tickets that have been on the queue for more than 3 hours.