fixed option reset when extending

This commit is contained in:
Vladless
2025-12-23 21:45:50 +03:00
parent a081804268
commit ccef6afb7c
+25 -5
View File
@@ -453,18 +453,38 @@ async def process_callback_renew_plan(callback_query: CallbackQuery, state: FSMC
new_expiry_time = int(expiry_time + timedelta(days=duration_days).total_seconds() * 1000)
if tariff.get("configurable"):
cfg = normalize_tariff_config(tariff)
traffic_options = cfg.get("traffic_options_gb") or tariff.get("traffic_options_gb") or []
traffic_options_sorted = sorted([int(x) for x in traffic_options if str(x).isdigit()])
device_options = cfg.get("device_options") or tariff.get("device_options") or []
device_options_sorted = sorted([int(x) for x in device_options if str(x).isdigit()])
selected_devices_db = record.get("selected_device_limit")
selected_traffic_db = record.get("selected_traffic_limit")
if selected_devices_db is not None:
config_selected_devices = int(selected_devices_db)
if traffic_options_sorted:
selected_traffic_db = int(selected_traffic_db) if selected_traffic_db is not None else traffic_options_sorted[0]
if selected_traffic_db not in traffic_options_sorted:
selected_traffic_db = traffic_options_sorted[0]
else:
selected_traffic_db = None
if device_options_sorted:
selected_devices_db = int(selected_devices_db) if selected_devices_db is not None else device_options_sorted[0]
if selected_devices_db not in device_options_sorted:
selected_devices_db = device_options_sorted[0]
else:
selected_devices_db = None
config_selected_devices = selected_devices_db
if config_selected_devices is None:
base_devices = tariff.get("device_limit")
config_selected_devices = int(base_devices) if base_devices is not None else None
if selected_traffic_db is not None:
config_selected_traffic_gb = int(selected_traffic_db)
else:
config_selected_traffic_gb = selected_traffic_db
if config_selected_traffic_gb is None:
base_traffic_gb = tariff.get("traffic_limit")
config_selected_traffic_gb = int(base_traffic_gb) if base_traffic_gb is not None else None