yuyu_dashboard/yuyu/cases/volume_price_use_case.py
Setyo Nugroho 9019084cca bug fixing
2022-05-23 00:05:01 +07:00

35 lines
1.1 KiB
Python

from openstack_dashboard import api
from openstack_dashboard.dashboards.yuyu.cases.pricing_use_case import PricingUseCase
class VolumePriceUseCase(PricingUseCase):
pricing_name = "volume"
def list(self, request):
data = list(super().list(request))
for d in data:
try:
d["name"] = api.cinder.volume_type_get(request, d['volume_type_id']).name
except Exception:
d["name"] = 'Invalid Volume'
return data
def get(self, request, id):
data = super().get(request, id)
try:
data["name"] = api.cinder.volume_type_get(request, data['volume_type_id']).name
except Exception:
data["name"] = 'Invalid Volume'
return data
def has_missing_price(self, request):
server_data_prices = list(map(lambda d: d['volume_type_id'], super().list(request)))
volume_types = api.cinder.volume_type_list(request)
for f in volume_types:
if f.id not in server_data_prices:
return True
return False