fix excepton if user has no orders.

This commit is contained in:
Ivan Hörler 2018-02-27 22:11:02 +01:00
parent f6ae6cf872
commit 9354817dd7
1 changed files with 31 additions and 30 deletions

View File

@ -169,36 +169,37 @@ def profile(request):
currency_name = ""
person = Person.objects.get(user=request.user)
orders = Order.objects.filter(user=request.user)
orders_list = list(orders)
for idx1, order in enumerate(orders_list):
# get all items in the Order:
order_positions = OrderPosition.objects.filter(order=order)
if (order_positions.count()) > 0:
order_position_list = list(order_positions)
for idx2, order_position in enumerate(order_position_list):
# get currencyname to display:
if order.exchange_rate is not None:
print('order.exchange_rate', order.exchange_rate, order.exchange_rate.id)
# get price of position in order and append to a list:
rate = ExchangeRate.objects.get(id=order.exchange_rate.id)
order_position.price_in_chf = round(
rate.exchange_rate_to_chf * order_position.price_in_chf,
2)
currency_name = order.exchange_rate
else:
currency_name = 'CHF'
totalprice_list.append(order_position.price_in_chf)
order_position_list[idx2] = order_position
total = sum(totalprice_list)
currency_list.append(currency_name)
total_list.append(total)
order_positions_count = order_positions.count()
order_positions_count_list.append(order_positions_count)
orders_list[idx1] = order
order_list_zip = zip(orders_list,
order_positions_count_list,
total_list,
currency_list)
if orders:
orders_list = list(orders)
for idx1, order in enumerate(orders_list):
# get all items in the Order:
order_positions = OrderPosition.objects.filter(order=order)
if (order_positions.count()) > 0:
order_position_list = list(order_positions)
for idx2, order_position in enumerate(order_position_list):
# get currencyname to display:
if order.exchange_rate is not None:
print('order.exchange_rate', order.exchange_rate, order.exchange_rate.id)
# get price of position in order and append to a list:
rate = ExchangeRate.objects.get(id=order.exchange_rate.id)
order_position.price_in_chf = round(
rate.exchange_rate_to_chf * order_position.price_in_chf,
2)
currency_name = order.exchange_rate
else:
currency_name = 'CHF'
totalprice_list.append(order_position.price_in_chf)
order_position_list[idx2] = order_position
total = sum(totalprice_list)
currency_list.append(currency_name)
total_list.append(total)
order_positions_count = order_positions.count()
order_positions_count_list.append(order_positions_count)
orders_list[idx1] = order
order_list_zip = zip(orders_list,
order_positions_count_list,
total_list,
currency_list)
# assert False
return render(request, 'registration/profile.html',
{'person': person,