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