add tax profiles api

This commit is contained in:
Zin Moe
2020-07-14 17:56:45 +06:30
parent 495e47601a
commit 8ee27a9c35
5 changed files with 26 additions and 1 deletions

View File

@@ -8,6 +8,10 @@ class Api::ApiController < ActionController::API
# before_action :lookup_domain
helper_method :current_token, :current_login_employee, :get_cashier
def get_tax_profiles
@inclusive_tax, @exclusive_tax = TaxProfile.calculate_tax("online_order")
end
private
# ActionView::Rendering override render_to_body breaks render :json,
# resulting in an ActionView::MissingTemplate error.

View File

@@ -4,4 +4,22 @@ class TaxProfile < ApplicationRecord
default_scope { order('order_by asc') }
# validations
validates_presence_of :name, :rate, :group_type
def self.calculate_tax(group_type)
divided_value =0.0
exclusive =0.0
tax_profiles = TaxProfile.where(group_type: group_type, tax_type: 'Percentage')
if !tax_profiles.empty?
tax_profiles.each do |tax|
#include or execulive
if tax.inclusive
rate = tax.rate.to_f
divided_value += (100 + rate)/rate
else
exclusive += tax.rate.to_f / 100
end
end
end
return divided_value,exclusive
end
end

View File

@@ -0,0 +1,3 @@
json.status true
json.inclusive_tax @inclusive_tax
json.exclusive_tax @exclusive_tax

View File

@@ -14,4 +14,3 @@ menu_json = json.array! @menus do |menu|
# end
# end
end

View File

@@ -50,6 +50,7 @@ scope "(:locale)", locale: /en|mm/ do
post 'authenticate' => "authenticate#create"
delete 'authenticate' => "authenticate#destroy"
get "menu_item_groups" => "menu_item_groups#index"
get 'get_tax_profiles' => 'api#get_tax_profiles'
namespace :restaurant do
get 'zones' => "zones#index"
resources :menu, only: [:index, :show]