emile 9 months ago
parent 82abcc7f8e
commit e51170c750

Binary file not shown.

@ -78,7 +78,6 @@ class Osichat(WebsocketConsumer):
event = {
'type': 'get_chats_handler',
}
if data.get('whereAmI') == 'Chats':
self.get_chats_handler(event)
else:
@ -112,7 +111,6 @@ class Osichat(WebsocketConsumer):
for room in chat_rooms:
room.number_of_unread = room.unread_messages(user)
room.last_message = room.last_updated
context = {
'chat_rooms': chat_rooms,
}
@ -120,9 +118,13 @@ class Osichat(WebsocketConsumer):
if self.client_type == 'mobile_admin':
chat_rooms_data = []
for chat_room in chat_rooms:
last_message = ChatMessage.objects.filter(room=chat_room).last()
room_data = model_to_dict(chat_room)
room_data['number_of_unread'] = chat_room.unread_messages(user)
room_data['last_message'] = chat_room.last_updated
if last_message:
room_data['last_message'] = model_to_dict(last_message)
else:
room_data['last_message'] = None
if hasattr(chat_room, 'chatroomguest') and chat_room.chatroomguest.visitor:
visitor = chat_room.chatroomguest.visitor
room_data['visitor'] = {
@ -159,6 +161,11 @@ class Osichat(WebsocketConsumer):
}
if self.client_type == 'mobile_admin':
chat_room_data = model_to_dict(chat_room)
chat_room_data['visitor'] = model_to_dict(chat_room.chatroomguest.visitor)
if last_message:
chat_room_data['last_message'] = model_to_dict(last_message)
else:
chat_room_data['last_message'] = None
self.send(text_data=json.dumps({
'event_type': 'new_chat_update',
'chat_room_data': chat_room_data,
@ -182,16 +189,16 @@ class Osichat(WebsocketConsumer):
if self.client_type == 'mobile_admin':
visitors_data = []
for visitor in visitors:
visitors_data.append({
'is_online': visitor.is_online,
'duration': visitor.total_duration,
})
visitor_dict = model_to_dict(visitor)
visitor_logs = VisitorLog.objects.filter(visitor=visitor)
visitor_dict['is_online'] = visitor.is_online
visitor_dict['duration'] = visitor.total_duration
visitor_dict['flag'] = visitor.flag_image_url
visitor_logs = VisitorLog.objects.filter(visitor=visitor)
visitor_logs_data = [model_to_dict(log) for log in visitor_logs]
visitor_dict['visitor_logs'] = visitor_logs_data
visitors_data.append(visitor_dict)
self.send(text_data=json.dumps({
@ -209,11 +216,20 @@ class Osichat(WebsocketConsumer):
def new_visitor_update_handler(self, event):
visitor = get_object_or_404(Visitor, id=event['visitor_id'])
latest_log = VisitorLog.objects.filter(visitor=visitor).last()
context = {
'visitor': visitor,
}
if self.client_type == 'mobile_admin':
visitor_data = model_to_dict(visitor)
visitor_data['is_online'] = visitor.is_online
visitor_data['duration'] = visitor.total_duration
visitor_data['flag'] = visitor.flag_image_url
if latest_log:
visitor_data['latest_log'] = model_to_dict(latest_log)
self.send(text_data=json.dumps({
'event_type': 'new_visitor_update',
'visitor_data': visitor_data,

@ -22,6 +22,7 @@ def login_user(request):
future = datetime.utcnow() + datetime2.timedelta(days=183)
futuretime = calendar.timegm(future.timetuple())
encoded_jwt = jwt.encode({"username": username, "exp": futuretime, "is_superuser": serial.data['is_superuser'], "userid":serial.instance.id}, "ibiye4700", algorithm="HS256")
#encoded_jwt = encoded_jwt.decode('utf-8')
return successRes(msg={"token": encoded_jwt,"first_name":user.first_name,"last_name":user.last_name,"email":user.email, "id":user.id})
else:
raise ValueError("Incorrect password!")

@ -125,16 +125,17 @@ class Ticket(models.Model):
def get_all_ticket_staff(self):
ticket_staff = TicketStaff.objects.filter(ticket=self)
staff_members = [entry.staff for entry in ticket_staff]
staff_members = {entry.staff for entry in ticket_staff}
latest_department = TicketDepartment.objects.filter(ticket=self).order_by('-date_added').first()
if latest_department:
department_staff = latest_department.department.get_staff()
department_staff = set(latest_department.department.get_staff())
else:
department_staff = []
department_staff = set()
all_staff = list(staff_members) + list(department_staff)
return all_staff
all_staff = staff_members.union(department_staff)
return list(all_staff)
@receiver(post_save, sender=Ticket)

Loading…
Cancel
Save