fixed option reset when extending
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user