Rearrange the way we show VAT and discount calculations
This commit is contained in:
		
					parent
					
						
							
								e01b27835e
							
						
					
				
			
			
				commit
				
					
						38550ea75c
					
				
			
		
					 2 changed files with 17 additions and 11 deletions
				
			
		|  | @ -126,14 +126,9 @@ | |||
|                                     <div class="subtotal-price"> | ||||
|                                         {% if vm.vat > 0 %} | ||||
|                                             <p> | ||||
|                                                 <strong class="text-lg">{% trans "Subtotal" %} </strong> | ||||
|                                                 <strong class="text-lg">{% trans "Price" %} </strong> | ||||
|                                                 <strong class="pull-right">{{vm.price|floatformat:2|intcomma}} CHF</strong> | ||||
|                                             </p> | ||||
|                                             <p> | ||||
|                                                 <small>{% trans "VAT for" %} {{vm.vat_country}} ({{vm.vat_percent}}%) : </small> | ||||
|                                                 <strong class="pull-right">{{vm.vat|floatformat:2|intcomma}} CHF</strong> | ||||
|                                             </p> | ||||
|                                         {% endif %} | ||||
|                                             {% if vm.discount.amount > 0 %} | ||||
|                                                 <p class="text-primary"> | ||||
|                                                     {%trans "Discount" as discount_name %} | ||||
|  | @ -141,6 +136,15 @@ | |||
|                                                     <strong class="pull-right">- {{ vm.discount.amount }} CHF</strong> | ||||
|                                                 </p> | ||||
|                                             {% endif %} | ||||
|                                             <p> | ||||
|                                                 <strong class="text-lg">{% trans "Subtotal" %} </strong> | ||||
|                                                 <strong class="pull-right">{{vm.price - vm.discount.amount|floatformat:2|intcomma}} CHF</strong> | ||||
|                                             </p> | ||||
|                                             <p> | ||||
|                                                 <small>{% trans "VAT for" %} {{vm.vat_country}} ({{vm.vat_percent}}%) : </small> | ||||
|                                                 <strong class="pull-right">{{vm.vat|floatformat:2|intcomma}} CHF</strong> | ||||
|                                             </p> | ||||
|                                         {% endif %} | ||||
|                                     </div> | ||||
|                                 </div> | ||||
|                                 <div class="col-sm-12"> | ||||
|  |  | |||
|  | @ -104,15 +104,17 @@ def get_vm_price_for_given_vat(cpu, memory, ssd_size, hdd_size=0, | |||
|         (decimal.Decimal(hdd_size) * pricing.hdd_unit_price) | ||||
|     ) | ||||
| 
 | ||||
|     vat = price * decimal.Decimal(vat_rate) * decimal.Decimal(0.01) | ||||
|     discount_name = pricing.discount_name | ||||
|     discount_amount = round(float(pricing.discount_amount), 2) | ||||
|     vat = (price - discount_amount) * decimal.Decimal(vat_rate) * decimal.Decimal(0.01) | ||||
|     vat_percent = vat_rate | ||||
| 
 | ||||
|     cents = decimal.Decimal('.01') | ||||
|     price = price.quantize(cents, decimal.ROUND_HALF_UP) | ||||
|     vat = vat.quantize(cents, decimal.ROUND_HALF_UP) | ||||
|     discount = { | ||||
|         'name': pricing.discount_name, | ||||
|         'amount': round(float(pricing.discount_amount), 2) | ||||
|         'name': discount_name, | ||||
|         'amount': discount_amount | ||||
|     } | ||||
|     return (round(float(price), 2), round(float(vat), 2), | ||||
|             round(float(vat_percent), 2), discount) | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue