Set EU VAT context for invoice_detail
This commit is contained in:
		
					parent
					
						
							
								e940b468c4
							
						
					
				
			
			
				commit
				
					
						73b590f480
					
				
			
		
					 1 changed files with 22 additions and 8 deletions
				
			
		| 
						 | 
					@ -1250,18 +1250,32 @@ class InvoiceDetailView(LoginRequiredMixin, DetailView):
 | 
				
			||||||
                context['vm'] = vm_detail.__dict__
 | 
					                context['vm'] = vm_detail.__dict__
 | 
				
			||||||
                context['vm']['name'] = '{}-{}'.format(
 | 
					                context['vm']['name'] = '{}-{}'.format(
 | 
				
			||||||
                    context['vm']['configuration'], context['vm']['vm_id'])
 | 
					                    context['vm']['configuration'], context['vm']['vm_id'])
 | 
				
			||||||
                price, vat, vat_percent, discount = get_vm_price_with_vat(
 | 
					                user_vat_country = obj.order.billing_address.country
 | 
				
			||||||
 | 
					                user_country_vat_rate = get_vat_rate_for_country(
 | 
				
			||||||
 | 
					                    user_vat_country)
 | 
				
			||||||
 | 
					                price, vat, vat_percent, discount = get_vm_price_for_given_vat(
 | 
				
			||||||
                    cpu=context['vm']['cores'],
 | 
					                    cpu=context['vm']['cores'],
 | 
				
			||||||
                    ssd_size=context['vm']['disk_size'],
 | 
					                    ssd_size=context['vm']['disk_size'],
 | 
				
			||||||
                    memory=context['vm']['memory'],
 | 
					                    memory=context['vm']['memory'],
 | 
				
			||||||
                    pricing_name=(obj.order.vm_pricing.name
 | 
					                    pricing_name=(obj.vm_pricing.name
 | 
				
			||||||
                                  if obj.order.vm_pricing else 'default')
 | 
					                                  if obj.vm_pricing else 'default'),
 | 
				
			||||||
 | 
					                    vat_rate=(
 | 
				
			||||||
 | 
					                        user_country_vat_rate * 100
 | 
				
			||||||
 | 
					                        if obj.vm_id > settings.FIRST_VM_ID_AFTER_EU_VAT
 | 
				
			||||||
 | 
					                        else 7.7
 | 
				
			||||||
 | 
					                    )
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
                context['vm']['vat'] = vat
 | 
					                context['vm']["after_eu_vat_intro"] = (
 | 
				
			||||||
                context['vm']['price'] = price
 | 
					                    True if obj.vm_id > settings.FIRST_VM_ID_AFTER_EU_VAT
 | 
				
			||||||
                context['vm']['discount'] = discount
 | 
					                    else False
 | 
				
			||||||
                context['vm']['vat_percent'] = vat_percent
 | 
					                )
 | 
				
			||||||
                context['vm']['total_price'] = price + vat - discount['amount']
 | 
					                context['vm']["price"] = price
 | 
				
			||||||
 | 
					                context['vm']["vat"] = vat
 | 
				
			||||||
 | 
					                context['vm']["vat_percent"] = vat_percent
 | 
				
			||||||
 | 
					                context['vm']["vat_country"] = user_vat_country
 | 
				
			||||||
 | 
					                context['vm']["discount"] = discount
 | 
				
			||||||
 | 
					                context['vm']["total_price"] = round(
 | 
				
			||||||
 | 
					                    price + vat - discount['amount'], 2)
 | 
				
			||||||
            except VMDetail.DoesNotExist:
 | 
					            except VMDetail.DoesNotExist:
 | 
				
			||||||
                # fallback to get it from the infrastructure
 | 
					                # fallback to get it from the infrastructure
 | 
				
			||||||
                try:
 | 
					                try:
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue