diff --git a/osinaweb/customercore/templates/listing_pages/products.html b/osinaweb/customercore/templates/listing_pages/products.html index 4d4928d0..b8eb4632 100644 --- a/osinaweb/customercore/templates/listing_pages/products.html +++ b/osinaweb/customercore/templates/listing_pages/products.html @@ -48,7 +48,7 @@

-

$89

+

$9

monthly/restaurant

@@ -61,7 +61,7 @@

-

$169

+

$29

monthly/restaurant

diff --git a/osinaweb/customercore/templates/products/osimenu-plans.html b/osinaweb/customercore/templates/products/osimenu-plans.html index 172baf84..7bee6217 100644 --- a/osinaweb/customercore/templates/products/osimenu-plans.html +++ b/osinaweb/customercore/templates/products/osimenu-plans.html @@ -139,7 +139,7 @@

Standard

-

$7/month

+

$9/month

{% if not active_order_item_standard %} @@ -255,7 +255,7 @@

Premium

-

$24/month

+

$29/month

{% if not active_order_item_premium %} @@ -493,7 +493,7 @@

Standard

-

$7/month

+

$9/month

{% if not active_order_item_standard %} @@ -610,7 +610,7 @@

Premium

-

$24/month

+

$29/month

{% if not active_order_item_premium %} diff --git a/osinaweb/db.sqlite3 b/osinaweb/db.sqlite3 index 3f1ac264..687413d3 100644 Binary files a/osinaweb/db.sqlite3 and b/osinaweb/db.sqlite3 differ diff --git a/osinaweb/osinacore/__pycache__/consumers.cpython-310.pyc b/osinaweb/osinacore/__pycache__/consumers.cpython-310.pyc index 29e95ead..ff564bec 100644 Binary files a/osinaweb/osinacore/__pycache__/consumers.cpython-310.pyc and b/osinaweb/osinacore/__pycache__/consumers.cpython-310.pyc differ diff --git a/osinaweb/osinacore/consumers.py b/osinaweb/osinacore/consumers.py index 95228301..d0c0850d 100644 --- a/osinaweb/osinacore/consumers.py +++ b/osinaweb/osinacore/consumers.py @@ -10,7 +10,14 @@ import threading class OnlineUserConsumer(WebsocketConsumer): def connect(self): self.user = self.scope['user'] - + existing_connection = Connection.objects.filter(user=self.user).last() + if existing_connection: + self.connection = existing_connection + self.connection.online = True + self.connection.disconnected = False + self.connection.save() + else: + self.connection = Connection.objects.create(user=self.user, online=True) async_to_sync(self.channel_layer.group_add)( 'online_users', self.channel_name @@ -34,10 +41,25 @@ class OnlineUserConsumer(WebsocketConsumer): self.modify_online_user() def modify_online_user(self): - + connections = Connection.objects.all() + online_connections = connections.filter(online=True) + offline_connections = connections.filter(online=False, last_seen__isnull=False).order_by('-last_seen')[:5] + sorted_connections = list(online_connections) + list(offline_connections) + online_users_ids = [connection.user.id for connection in online_connections] + customer_connections = [] + staff_connections = [] + for connection in sorted_connections: + if hasattr(connection.user, 'customerprofile'): + customer_connections.append(connection) + elif hasattr(connection.user, 'staffprofile'): + staff_connections.append(connection) + + print(staff_connections) event = { 'type': 'online_user_connection_handler', - + 'staff_connections': staff_connections, + 'customer_connections': customer_connections, + 'online_users_ids': online_users_ids } async_to_sync(self.channel_layer.group_send)( 'online_users', event @@ -45,13 +67,14 @@ class OnlineUserConsumer(WebsocketConsumer): def online_user_connection_handler(self, event): context = { - + 'staff_connections': event['staff_connections'], + 'customer_connections': event['customer_connections'], } html = render_to_string("details_templates/partials/recently-online.html", context=context) self.send(text_data=json.dumps({ 'event_type': 'online_user_status', 'html': html, - + 'online_users_ids': event.get('online_users_ids', []) }))