diff --git a/core/scripts/webpanel/routers/user/viewmodel.py b/core/scripts/webpanel/routers/user/viewmodel.py index 9db3110..f7e43ce 100644 --- a/core/scripts/webpanel/routers/user/viewmodel.py +++ b/core/scripts/webpanel/routers/user/viewmodel.py @@ -9,6 +9,7 @@ class User(BaseModel): traffic_used: str expiry_date: str expiry_days: str + day_usage: str enable: bool unlimited_ip: bool online_count: int = 0 @@ -36,6 +37,7 @@ class User(BaseModel): 'traffic_used': 'N/A', 'expiry_date': 'N/A', 'expiry_days': 'N/A', + 'day_usage': 'N/A', 'enable': False, 'unlimited_ip': False, 'online_count': 0 @@ -43,21 +45,26 @@ class User(BaseModel): expiration_days = user_data.get('expiration_days', 0) creation_date_str = user_data.get("account_creation_date") + + day_usage = "On-hold" + display_expiry_days = "On-hold" + display_expiry_date = "On-hold" - if not creation_date_str: - display_expiry_days = "On-hold" - display_expiry_date = "On-hold" - elif expiration_days <= 0: - display_expiry_days = "Unlimited" - display_expiry_date = "Unlimited" - else: - display_expiry_days = str(expiration_days) + if creation_date_str: try: creation_date = datetime.strptime(creation_date_str, "%Y-%m-%d") - expiry_dt_obj = creation_date + timedelta(days=expiration_days) - display_expiry_date = expiry_dt_obj.strftime("%Y-%m-%d") + day_usage = str((datetime.now() - creation_date).days) + + if expiration_days <= 0: + display_expiry_days = "Unlimited" + display_expiry_date = "Unlimited" + else: + display_expiry_days = str(expiration_days) + expiry_dt_obj = creation_date + timedelta(days=expiration_days) + display_expiry_date = expiry_dt_obj.strftime("%Y-%m-%d") except (ValueError, TypeError): display_expiry_date = "Error" + day_usage = "Error" used_bytes = user_data.get("download_bytes", 0) + user_data.get("upload_bytes", 0) quota_bytes = user_data.get('max_download_bytes', 0) @@ -78,6 +85,7 @@ class User(BaseModel): 'traffic_used': traffic_used_display, 'expiry_date': display_expiry_date, 'expiry_days': display_expiry_days, + 'day_usage': day_usage, 'enable': not user_data.get('blocked', False), 'unlimited_ip': user_data.get('unlimited_user', False), 'online_count': user_data.get('online_count', 0) diff --git a/core/scripts/webpanel/templates/users.html b/core/scripts/webpanel/templates/users.html index 0cb0382..4825065 100644 --- a/core/scripts/webpanel/templates/users.html +++ b/core/scripts/webpanel/templates/users.html @@ -83,6 +83,7 @@