shoppe 0.0.10 → 0.0.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/app/assets/javascripts/shoppe/application.coffee +1 -1
- data/app/assets/stylesheets/shoppe/application.scss +3 -3
- data/app/controllers/shoppe/application_controller.rb +4 -0
- data/app/controllers/shoppe/delivery_service_prices_controller.rb +1 -1
- data/app/controllers/shoppe/products_controller.rb +1 -1
- data/app/controllers/shoppe/tax_rates_controller.rb +47 -0
- data/app/models/shoppe/country.rb +14 -0
- data/app/models/shoppe/delivery_service_price.rb +1 -1
- data/app/models/shoppe/order.rb +3 -2
- data/app/models/shoppe/order_item.rb +5 -4
- data/app/models/shoppe/product.rb +1 -1
- data/app/models/shoppe/tax_rate.rb +23 -0
- data/app/views/layouts/shoppe/application.html.haml +1 -0
- data/app/views/shoppe/delivery_service_prices/_form.html.haml +2 -2
- data/app/views/shoppe/orders/show.html.haml +1 -1
- data/app/views/shoppe/products/_form.html.haml +2 -2
- data/app/views/shoppe/tax_rates/form.html.haml +22 -0
- data/app/views/shoppe/tax_rates/index.html.haml +17 -0
- data/config/routes.rb +1 -0
- data/db/countries.txt +252 -0
- data/db/migrate/20131017180920_create_shoppe_countries.rb +16 -0
- data/db/migrate/20131017183211_create_shoppe_tax_rates.rb +26 -0
- data/db/seeds.rb +29 -25
- data/lib/shoppe/country_importer.rb +15 -0
- data/lib/shoppe/version.rb +1 -1
- data/lib/tasks/shoppe.rake +12 -0
- data/test/dummy/config/database.yml +12 -11
- data/test/dummy/db/migrate/20131017165217_create_nifty_attachments_table.rb +16 -0
- data/test/dummy/db/migrate/20131017165222_create_nifty_key_value_store_table.rb +14 -0
- data/test/dummy/db/schema.rb +22 -1
- data/test/dummy/log/development.log +45 -0
- data/test/dummy/log/test.log +938 -0
- data/test/models/shoppe/basket_test.rb +1 -1
- data/test/models/shoppe/user_test.rb +11 -21
- data/test/test_helper.rb +5 -1
- metadata +32 -3
@@ -76,6 +76,7 @@ header.main {
|
|
76
76
|
h2.products { background-image:image-url('shoppe/icons/tags.svg')}
|
77
77
|
h2.orders { background-image:image-url('shoppe/icons/bag.svg'); background-position: 0 3px;}
|
78
78
|
h2.delivery_services { background-image:image-url('shoppe/icons/box.svg'); background-position: 0 3px; background-size:20px;}
|
79
|
+
h2.tax_rates { background-image:image-url('shoppe/icons/currency.svg'); background-position: 0 2px; background-size:22px;}
|
79
80
|
h2.users { background-image:image-url('shoppe/icons/id.svg'); background-position: 0 2px; background-size:22px;}
|
80
81
|
|
81
82
|
}
|
@@ -169,7 +170,7 @@ header.main {
|
|
169
170
|
margin-bottom:15px;
|
170
171
|
legend {color:#5B6270; margin:0 25px; font-weight:300; font-size:1.5em;}
|
171
172
|
|
172
|
-
.splitContainer { margin:0 25px; margin-bottom:15px;
|
173
|
+
.splitContainer { margin:0 25px; margin-bottom:15px; height:50px;}
|
173
174
|
.splitContainer:last-child { margin-bottom:0;}
|
174
175
|
|
175
176
|
dl {
|
@@ -184,13 +185,12 @@ header.main {
|
|
184
185
|
-webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
|
185
186
|
-moz-box-sizing: border-box; /* Firefox, other Gecko */
|
186
187
|
box-sizing: border-box; /* Opera/IE 8+ */
|
187
|
-
|
188
188
|
font-size:1.1em;
|
189
189
|
font-family:$font;
|
190
190
|
&:focus { border-color:#9AC835; }
|
191
191
|
&.short { width:100px;}
|
192
192
|
}
|
193
|
-
dd select { width:
|
193
|
+
dd select { width:100%;}
|
194
194
|
dd textarea { height:80px; }
|
195
195
|
dd p.help { margin-top:15px; color:#333; background:image-url('shoppe/icons/support.svg') no-repeat 0 1px; background-size:13px; padding-left:15px;}
|
196
196
|
dd.checkbox { margin-top:14px; font-size:1.1em; color:#999;}
|
@@ -4,6 +4,10 @@ module Shoppe
|
|
4
4
|
# Require that a user is logged in for all parts of the Shoppe admin
|
5
5
|
# interface.
|
6
6
|
before_filter :login_required
|
7
|
+
|
8
|
+
rescue_from ActiveRecord::DeleteRestrictionError do |e|
|
9
|
+
redirect_to request.referer || root_path, :alert => e.message
|
10
|
+
end
|
7
11
|
|
8
12
|
private
|
9
13
|
|
@@ -36,7 +36,7 @@ class Shoppe::DeliveryServicePricesController < Shoppe::ApplicationController
|
|
36
36
|
private
|
37
37
|
|
38
38
|
def safe_params
|
39
|
-
params[:delivery_service_price].permit(:price, :cost_price, :
|
39
|
+
params[:delivery_service_price].permit(:price, :cost_price, :tax_rate_id, :min_weight, :max_weight, :code)
|
40
40
|
end
|
41
41
|
|
42
42
|
end
|
@@ -53,7 +53,7 @@ class Shoppe::ProductsController < Shoppe::ApplicationController
|
|
53
53
|
private
|
54
54
|
|
55
55
|
def safe_params
|
56
|
-
params[:product].permit(:product_category_id, :title, :sku, :permalink, :description, :short_description, :weight, :price, :cost_price, :
|
56
|
+
params[:product].permit(:product_category_id, :title, :sku, :permalink, :description, :short_description, :weight, :price, :cost_price, :tax_rate_id, :stock_control, :default_image_file, :data_sheet_file, :active, :featured, :in_the_box, :product_attributes_array => [:key, :value, :searchable, :public])
|
57
57
|
end
|
58
58
|
|
59
59
|
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
class Shoppe::TaxRatesController < Shoppe::ApplicationController
|
2
|
+
|
3
|
+
before_filter { @active_nav = :tax_rates }
|
4
|
+
before_filter { params[:id] && @tax_rate = Shoppe::TaxRate.find(params[:id]) }
|
5
|
+
|
6
|
+
def index
|
7
|
+
@tax_rates = Shoppe::TaxRate.ordered.all
|
8
|
+
end
|
9
|
+
|
10
|
+
def new
|
11
|
+
@tax_rate = Shoppe::TaxRate.new
|
12
|
+
render :action => "form"
|
13
|
+
end
|
14
|
+
|
15
|
+
def create
|
16
|
+
@tax_rate = Shoppe::TaxRate.new(safe_params)
|
17
|
+
if @tax_rate.save
|
18
|
+
redirect_to :tax_rates, :flash => {:notice => "Tax rate has been created successfully"}
|
19
|
+
else
|
20
|
+
render :action => "form"
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def edit
|
25
|
+
render :action => "form"
|
26
|
+
end
|
27
|
+
|
28
|
+
def update
|
29
|
+
if @tax_rate.update(safe_params)
|
30
|
+
redirect_to [:edit, @tax_rate], :flash => {:notice => "Tax rate has been updated successfully"}
|
31
|
+
else
|
32
|
+
render :action => "form"
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def destroy
|
37
|
+
@tax_rate.destroy
|
38
|
+
redirect_to :tax_rates, :flash => {:notice => "Tax rate has been removed successfully"}
|
39
|
+
end
|
40
|
+
|
41
|
+
private
|
42
|
+
|
43
|
+
def safe_params
|
44
|
+
params[:tax_rate].permit(:name, :rate)
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Shoppe
|
2
|
+
class Country < ActiveRecord::Base
|
3
|
+
|
4
|
+
# Set the table name
|
5
|
+
self.table_name = 'shoppe_countries'
|
6
|
+
|
7
|
+
# Relationships
|
8
|
+
has_many :orders, :dependent => :restrict_with_exception
|
9
|
+
|
10
|
+
# Scopes
|
11
|
+
scope :ordered, -> { order('shoppe_countries.name asc') }
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
@@ -5,11 +5,11 @@ class Shoppe::DeliveryServicePrice < ActiveRecord::Base
|
|
5
5
|
|
6
6
|
# Relationships
|
7
7
|
belongs_to :delivery_service, :class_name => 'Shoppe::DeliveryService'
|
8
|
+
belongs_to :tax_rate, :class_name => "Shoppe::TaxRate"
|
8
9
|
|
9
10
|
# Validations
|
10
11
|
validates :price, :numericality => true
|
11
12
|
validates :cost_price, :numericality => true, :allow_blank => true
|
12
|
-
validates :tax_rate, :numericality => true
|
13
13
|
validates :min_weight, :numericality => true
|
14
14
|
validates :max_weight, :numericality => true
|
15
15
|
|
data/app/models/shoppe/order.rb
CHANGED
@@ -16,6 +16,7 @@ class Shoppe::Order < ActiveRecord::Base
|
|
16
16
|
|
17
17
|
# Relationships
|
18
18
|
belongs_to :delivery_service, :class_name => 'Shoppe::DeliveryService'
|
19
|
+
belongs_to :country, :class_name => 'Shoppe::Country'
|
19
20
|
belongs_to :accepter, :class_name => 'Shoppe::User', :foreign_key => 'accepted_by'
|
20
21
|
belongs_to :rejecter, :class_name => 'Shoppe::User', :foreign_key => 'rejected_by'
|
21
22
|
belongs_to :shipper, :class_name => 'Shoppe::User', :foreign_key => 'shipped_by'
|
@@ -188,7 +189,7 @@ class Shoppe::Order < ActiveRecord::Base
|
|
188
189
|
def delivery_tax_amount
|
189
190
|
@delivery_tax_amount ||= begin
|
190
191
|
read_attribute(:delivery_tax_amount) ||
|
191
|
-
(delivery_service_price ? delivery_price / BigDecimal(100) * delivery_service_price.tax_rate : 0.0) ||
|
192
|
+
(delivery_service_price && delivery_service_price.tax_rate ? delivery_price / BigDecimal(100) * delivery_service_price.tax_rate.rate : 0.0) ||
|
192
193
|
0.0
|
193
194
|
end
|
194
195
|
end
|
@@ -197,7 +198,7 @@ class Shoppe::Order < ActiveRecord::Base
|
|
197
198
|
def delivery_tax_rate
|
198
199
|
@delivery_tax_rate ||= begin
|
199
200
|
read_attribute(:delivery_tax_rate) ||
|
200
|
-
delivery_service_price.try(:tax_rate) ||
|
201
|
+
delivery_service_price.try(:tax_rate).try(:rate) ||
|
201
202
|
0.0
|
202
203
|
end
|
203
204
|
end
|
@@ -14,10 +14,11 @@ class Shoppe::OrderItem < ActiveRecord::Base
|
|
14
14
|
# Set some values based on the selected product on validation
|
15
15
|
before_validation do
|
16
16
|
if self.product
|
17
|
-
self.unit_price
|
18
|
-
self.unit_cost_price
|
19
|
-
self.tax_rate
|
20
|
-
|
17
|
+
self.unit_price = self.product.price if self.unit_price.blank?
|
18
|
+
self.unit_cost_price = self.product.cost_price if self.unit_cost_price.blank?
|
19
|
+
self.tax_rate = self.product.tax_rate.rate if self.tax_rate.blank? && self.product.tax_rate
|
20
|
+
|
21
|
+
if unit_price_changed? || quantity_changed? || tax_rate_changed?
|
21
22
|
self.tax_amount = (self.sub_total / BigDecimal(100)) * self.tax_rate
|
22
23
|
end
|
23
24
|
|
@@ -12,6 +12,7 @@ class Shoppe::Product < ActiveRecord::Base
|
|
12
12
|
|
13
13
|
# Relationships
|
14
14
|
belongs_to :product_category, :class_name => 'Shoppe::ProductCategory'
|
15
|
+
belongs_to :tax_rate, :class_name => "Shoppe::TaxRate"
|
15
16
|
has_many :order_items, :dependent => :restrict_with_exception, :class_name => 'Shoppe::OrderItem'
|
16
17
|
has_many :orders, :through => :order_items, :class_name => 'Shoppe::Order'
|
17
18
|
has_many :stock_level_adjustments, :dependent => :destroy
|
@@ -26,7 +27,6 @@ class Shoppe::Product < ActiveRecord::Base
|
|
26
27
|
validates :weight, :numericality => true
|
27
28
|
validates :price, :numericality => true
|
28
29
|
validates :cost_price, :numericality => true, :allow_blank => true
|
29
|
-
validates :tax_rate, :numericality => true
|
30
30
|
|
31
31
|
# Set the permalink
|
32
32
|
before_validation { self.permalink = self.title.parameterize if self.permalink.blank? && self.title.is_a?(String) }
|
@@ -0,0 +1,23 @@
|
|
1
|
+
module Shoppe
|
2
|
+
class TaxRate < ActiveRecord::Base
|
3
|
+
|
4
|
+
# Set the table name
|
5
|
+
self.table_name = 'shoppe_tax_rates'
|
6
|
+
|
7
|
+
# Validations
|
8
|
+
validates :name, :presence => true
|
9
|
+
validates :rate, :numericality => true
|
10
|
+
|
11
|
+
# Relationships
|
12
|
+
has_many :products, :dependent => :restrict_with_exception
|
13
|
+
has_many :delivery_service_prices, :dependent => :restrict_with_exception
|
14
|
+
|
15
|
+
# Scopes
|
16
|
+
scope :ordered, -> { order("shoppe_tax_rates.id")}
|
17
|
+
|
18
|
+
def description
|
19
|
+
"#{name} (#{rate}%)"
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
end
|
@@ -19,6 +19,7 @@
|
|
19
19
|
%li= link_to "Products", [:products], :class => @active_nav == :products ? 'active' : ''
|
20
20
|
%li= link_to "Product Categories", :product_categories, :class => @active_nav == :product_categories ? 'active' : ''
|
21
21
|
%li= link_to "Delivery Services", [:delivery_services], :class => @active_nav == :delivery_services ? 'active' : ''
|
22
|
+
%li= link_to "Tax Rates", :tax_rates, :class => @active_nav == :tax_rates ? 'active' : ''
|
22
23
|
%li= link_to "Users", [:users], :class => @active_nav == :users ? 'active' : ''
|
23
24
|
%li= link_to "Logout", [:logout], :method => :delete
|
24
25
|
|
@@ -22,8 +22,8 @@
|
|
22
22
|
%dt= f.label :cost_price
|
23
23
|
%dd= f.text_field :cost_price
|
24
24
|
%dl.third
|
25
|
-
%dt= f.label :
|
26
|
-
%dd= f.
|
25
|
+
%dt= f.label :tax_rate_id
|
26
|
+
%dd= f.collection_select :tax_rate_id, Shoppe::TaxRate.ordered, :id, :description, {:include_blank => true}, {:class => 'chosen-with-deselect', :data => {:placeholder => "No tax"}}
|
27
27
|
|
28
28
|
%p.submit
|
29
29
|
- unless @delivery_service_price.new_record?
|
@@ -76,8 +76,8 @@
|
|
76
76
|
%dt= f.label :cost_price
|
77
77
|
%dd= f.text_field :cost_price
|
78
78
|
%dl.third
|
79
|
-
%dt= f.label :
|
80
|
-
%dd= f.
|
79
|
+
%dt= f.label :tax_rate_id
|
80
|
+
%dd= f.collection_select :tax_rate_id, Shoppe::TaxRate.ordered, :id, :description, {:include_blank => true}, {:class => 'chosen-with-deselect', :data => {:placeholder => "No tax"}}
|
81
81
|
|
82
82
|
= field_set_tag "Website Properties" do
|
83
83
|
.splitContainer
|
@@ -0,0 +1,22 @@
|
|
1
|
+
- @page_title = "Tax Rates"
|
2
|
+
= content_for :header do
|
3
|
+
%p.buttons= link_to "Back to tax rates", :tax_rates, :class => 'button'
|
4
|
+
%h2.tax_rates Tax Rates
|
5
|
+
|
6
|
+
= form_for @tax_rate do |f|
|
7
|
+
= f.error_messages
|
8
|
+
= field_set_tag "Rate Details" do
|
9
|
+
.splitContainer
|
10
|
+
%dl.half
|
11
|
+
%dt= f.label :name
|
12
|
+
%dd= f.text_field :name, :class => 'focus'
|
13
|
+
%dl.half
|
14
|
+
%dt= f.label :rate
|
15
|
+
%dd= f.text_field :rate
|
16
|
+
|
17
|
+
|
18
|
+
%p.submit
|
19
|
+
- unless @tax_rate.new_record?
|
20
|
+
%span.right= link_to "Delete", @tax_rate, :class => 'button purple', :method => :delete, :data => {:confirm => "Are you sure you wish to remove this tax_rate?"}
|
21
|
+
= f.submit :class => 'button green'
|
22
|
+
= link_to "Cancel", :tax_rates, :class => 'button'
|
@@ -0,0 +1,17 @@
|
|
1
|
+
- @page_title = "Tax Rates"
|
2
|
+
|
3
|
+
= content_for :header do
|
4
|
+
%p.buttons=link_to "New tax rate", :new_tax_rate, :class => 'button green'
|
5
|
+
%h2.tax_rates Tax Rates
|
6
|
+
|
7
|
+
.table
|
8
|
+
%table.data
|
9
|
+
%thead
|
10
|
+
%tr
|
11
|
+
%th Name
|
12
|
+
%th Rate
|
13
|
+
%tbody
|
14
|
+
- for tax_rate in @tax_rates
|
15
|
+
%tr
|
16
|
+
%td= link_to tax_rate.name, [:edit, tax_rate]
|
17
|
+
%td= tax_rate.rate
|
data/config/routes.rb
CHANGED
data/db/countries.txt
ADDED
@@ -0,0 +1,252 @@
|
|
1
|
+
AD AND Andorra EU .ad EUR
|
2
|
+
AE ARE United Arab Emirates AS .ae AED
|
3
|
+
AF AFG Afghanistan AS .af AFN
|
4
|
+
AG ATG Antigua and Barbuda NA .ag XCD
|
5
|
+
AI AIA Anguilla NA .ai XCD
|
6
|
+
AL ALB Albania EU .al ALL
|
7
|
+
AM ARM Armenia AS .am AMD
|
8
|
+
AO AGO Angola AF .ao AOA
|
9
|
+
AQ ATA Antarctica AN .aq
|
10
|
+
AR ARG Argentina SA .ar ARS
|
11
|
+
AS ASM American Samoa OC .as USD
|
12
|
+
AT AUT Austria EU .at EUR
|
13
|
+
AU AUS Australia OC .au AUD
|
14
|
+
AW ABW Aruba NA .aw AWG
|
15
|
+
AX ALA Aland Islands EU .ax EUR
|
16
|
+
AZ AZE Azerbaijan AS .az AZN
|
17
|
+
BA BIH Bosnia and Herzegovina EU .ba BAM
|
18
|
+
BB BRB Barbados NA .bb BBD
|
19
|
+
BD BGD Bangladesh AS .bd BDT
|
20
|
+
BE BEL Belgium EU .be EUR
|
21
|
+
BF BFA Burkina Faso AF .bf XOF
|
22
|
+
BG BGR Bulgaria EU .bg BGN
|
23
|
+
BH BHR Bahrain AS .bh BHD
|
24
|
+
BI BDI Burundi AF .bi BIF
|
25
|
+
BJ BEN Benin AF .bj XOF
|
26
|
+
BL BLM Saint Barthelemy NA .gp EUR
|
27
|
+
BM BMU Bermuda NA .bm BMD
|
28
|
+
BN BRN Brunei AS .bn BND
|
29
|
+
BO BOL Bolivia SA .bo BOB
|
30
|
+
BQ BES Bonaire, Saint Eustatius and Saba NA .bq USD
|
31
|
+
BR BRA Brazil SA .br BRL
|
32
|
+
BS BHS Bahamas NA .bs BSD
|
33
|
+
BT BTN Bhutan AS .bt BTN
|
34
|
+
BV BVT Bouvet Island AN .bv NOK
|
35
|
+
BW BWA Botswana AF .bw BWP
|
36
|
+
BY BLR Belarus EU .by BYR
|
37
|
+
BZ BLZ Belize NA .bz BZD
|
38
|
+
CA CAN Canada NA .ca CAD
|
39
|
+
CC CCK Cocos Islands AS .cc AUD
|
40
|
+
CD COD Democratic Republic of the Congo AF .cd CDF
|
41
|
+
CF CAF Central African Republic AF .cf XAF
|
42
|
+
CG COG Republic of the Congo AF .cg XAF
|
43
|
+
CH CHE Switzerland EU .ch CHF
|
44
|
+
CI CIV Ivory Coast AF .ci XOF
|
45
|
+
CK COK Cook Islands OC .ck NZD
|
46
|
+
CL CHL Chile SA .cl CLP
|
47
|
+
CM CMR Cameroon AF .cm XAF
|
48
|
+
CN CHN China AS .cn CNY
|
49
|
+
CO COL Colombia SA .co COP
|
50
|
+
CR CRI Costa Rica NA .cr CRC
|
51
|
+
CU CUB Cuba NA .cu CUP
|
52
|
+
CV CPV Cape Verde AF .cv CVE
|
53
|
+
CW CUW Curacao NA .cw ANG
|
54
|
+
CX CXR Christmas Island AS .cx AUD
|
55
|
+
CY CYP Cyprus EU .cy EUR
|
56
|
+
CZ CZE Czech Republic EU .cz CZK
|
57
|
+
DE DEU Germany EU .de EUR
|
58
|
+
DJ DJI Djibouti AF .dj DJF
|
59
|
+
DK DNK Denmark EU .dk DKK
|
60
|
+
DM DMA Dominica NA .dm XCD
|
61
|
+
DO DOM Dominican Republic NA .do DOP
|
62
|
+
DZ DZA Algeria AF .dz DZD
|
63
|
+
EC ECU Ecuador SA .ec USD
|
64
|
+
EE EST Estonia EU .ee EUR
|
65
|
+
EG EGY Egypt AF .eg EGP
|
66
|
+
EH ESH Western Sahara AF .eh MAD
|
67
|
+
ER ERI Eritrea AF .er ERN
|
68
|
+
ES ESP Spain EU .es EUR
|
69
|
+
ET ETH Ethiopia AF .et ETB
|
70
|
+
FI FIN Finland EU .fi EUR
|
71
|
+
FJ FJI Fiji OC .fj FJD
|
72
|
+
FK FLK Falkland Islands SA .fk FKP
|
73
|
+
FM FSM Micronesia OC .fm USD
|
74
|
+
FO FRO Faroe Islands EU .fo DKK
|
75
|
+
FR FRA France EU .fr EUR
|
76
|
+
GA GAB Gabon AF .ga XAF
|
77
|
+
GB GBR United Kingdom EU .uk GBP
|
78
|
+
GD GRD Grenada NA .gd XCD
|
79
|
+
GE GEO Georgia AS .ge GEL
|
80
|
+
GF GUF French Guiana SA .gf EUR
|
81
|
+
GG GGY Guernsey EU .gg GBP
|
82
|
+
GH GHA Ghana AF .gh GHS
|
83
|
+
GI GIB Gibraltar EU .gi GIP
|
84
|
+
GL GRL Greenland NA .gl DKK
|
85
|
+
GM GMB Gambia AF .gm GMD
|
86
|
+
GN GIN Guinea AF .gn GNF
|
87
|
+
GP GLP Guadeloupe NA .gp EUR
|
88
|
+
GQ GNQ Equatorial Guinea AF .gq XAF
|
89
|
+
GR GRC Greece EU .gr EUR
|
90
|
+
GS SGS South Georgia and the South Sandwich Islands AN .gs GBP
|
91
|
+
GT GTM Guatemala NA .gt GTQ
|
92
|
+
GU GUM Guam OC .gu USD
|
93
|
+
GW GNB Guinea-Bissau AF .gw XOF
|
94
|
+
GY GUY Guyana SA .gy GYD
|
95
|
+
HK HKG Hong Kong AS .hk HKD
|
96
|
+
HM HMD Heard Island and McDonald Islands AN .hm AUD
|
97
|
+
HN HND Honduras NA .hn HNL
|
98
|
+
HR HRV Croatia EU .hr HRK
|
99
|
+
HT HTI Haiti NA .ht HTG
|
100
|
+
HU HUN Hungary EU .hu HUF
|
101
|
+
ID IDN Indonesia AS .id IDR
|
102
|
+
IE IRL Ireland EU .ie EUR
|
103
|
+
IL ISR Israel AS .il ILS
|
104
|
+
IM IMN Isle of Man EU .im GBP
|
105
|
+
IN IND India AS .in INR
|
106
|
+
IO IOT British Indian Ocean Territory AS .io USD
|
107
|
+
IQ IRQ Iraq AS .iq IQD
|
108
|
+
IR IRN Iran AS .ir IRR
|
109
|
+
IS ISL Iceland EU .is ISK
|
110
|
+
IT ITA Italy EU .it EUR
|
111
|
+
JE JEY Jersey EU .je GBP
|
112
|
+
JM JAM Jamaica NA .jm JMD
|
113
|
+
JO JOR Jordan AS .jo JOD
|
114
|
+
JP JPN Japan AS .jp JPY
|
115
|
+
KE KEN Kenya AF .ke KES
|
116
|
+
KG KGZ Kyrgyzstan AS .kg KGS
|
117
|
+
KH KHM Cambodia AS .kh KHR
|
118
|
+
KI KIR Kiribati OC .ki AUD
|
119
|
+
KM COM Comoros AF .km KMF
|
120
|
+
KN KNA Saint Kitts and Nevis NA .kn XCD
|
121
|
+
KP PRK North Korea AS .kp KPW
|
122
|
+
KR KOR South Korea AS .kr KRW
|
123
|
+
XK XKX Kosovo EU EUR
|
124
|
+
KW KWT Kuwait AS .kw KWD
|
125
|
+
KY CYM Cayman Islands NA .ky KYD
|
126
|
+
KZ KAZ Kazakhstan AS .kz KZT
|
127
|
+
LA LAO Laos AS .la LAK
|
128
|
+
LB LBN Lebanon AS .lb LBP
|
129
|
+
LC LCA Saint Lucia NA .lc XCD
|
130
|
+
LI LIE Liechtenstein EU .li CHF
|
131
|
+
LK LKA Sri Lanka AS .lk LKR
|
132
|
+
LR LBR Liberia AF .lr LRD
|
133
|
+
LS LSO Lesotho AF .ls LSL
|
134
|
+
LT LTU Lithuania EU .lt LTL
|
135
|
+
LU LUX Luxembourg EU .lu EUR
|
136
|
+
LV LVA Latvia EU .lv LVL
|
137
|
+
LY LBY Libya AF .ly LYD
|
138
|
+
MA MAR Morocco AF .ma MAD
|
139
|
+
MC MCO Monaco EU .mc EUR
|
140
|
+
MD MDA Moldova EU .md MDL
|
141
|
+
ME MNE Montenegro EU .me EUR
|
142
|
+
MF MAF Saint Martin NA .gp EUR
|
143
|
+
MG MDG Madagascar AF .mg MGA
|
144
|
+
MH MHL Marshall Islands OC .mh USD
|
145
|
+
MK MKD Macedonia EU .mk MKD
|
146
|
+
ML MLI Mali AF .ml XOF
|
147
|
+
MM MMR Myanmar AS .mm MMK
|
148
|
+
MN MNG Mongolia AS .mn MNT
|
149
|
+
MO MAC Macao AS .mo MOP
|
150
|
+
MP MNP Northern Mariana Islands OC .mp USD
|
151
|
+
MQ MTQ Martinique NA .mq EUR
|
152
|
+
MR MRT Mauritania AF .mr MRO
|
153
|
+
MS MSR Montserrat NA .ms XCD
|
154
|
+
MT MLT Malta EU .mt EUR
|
155
|
+
MU MUS Mauritius AF .mu MUR
|
156
|
+
MV MDV Maldives AS .mv MVR
|
157
|
+
MW MWI Malawi AF .mw MWK
|
158
|
+
MX MEX Mexico NA .mx MXN
|
159
|
+
MY MYS Malaysia AS .my MYR
|
160
|
+
MZ MOZ Mozambique AF .mz MZN
|
161
|
+
NA NAM Namibia AF .na NAD
|
162
|
+
NC NCL New Caledonia OC .nc XPF
|
163
|
+
NE NER Niger AF .ne XOF
|
164
|
+
NF NFK Norfolk Island OC .nf AUD
|
165
|
+
NG NGA Nigeria AF .ng NGN
|
166
|
+
NI NIC Nicaragua NA .ni NIO
|
167
|
+
NL NLD Netherlands EU .nl EUR
|
168
|
+
NO NOR Norway EU .no NOK
|
169
|
+
NP NPL Nepal AS .np NPR
|
170
|
+
NR NRU Nauru OC .nr AUD
|
171
|
+
NU NIU Niue OC .nu NZD
|
172
|
+
NZ NZL New Zealand OC .nz NZD
|
173
|
+
OM OMN Oman AS .om OMR
|
174
|
+
PA PAN Panama NA .pa PAB
|
175
|
+
PE PER Peru SA .pe PEN
|
176
|
+
PF PYF French Polynesia OC .pf XPF
|
177
|
+
PG PNG Papua New Guinea OC .pg PGK
|
178
|
+
PH PHL Philippines AS .ph PHP
|
179
|
+
PK PAK Pakistan AS .pk PKR
|
180
|
+
PL POL Poland EU .pl PLN
|
181
|
+
PM SPM Saint Pierre and Miquelon NA .pm EUR
|
182
|
+
PN PCN Pitcairn OC .pn NZD
|
183
|
+
PR PRI Puerto Rico NA .pr USD
|
184
|
+
PS PSE Palestinian Territory AS .ps ILS
|
185
|
+
PT PRT Portugal EU .pt EUR
|
186
|
+
PW PLW Palau OC .pw USD
|
187
|
+
PY PRY Paraguay SA .py PYG
|
188
|
+
QA QAT Qatar AS .qa QAR
|
189
|
+
RE REU Reunion AF .re EUR
|
190
|
+
RO ROU Romania EU .ro RON
|
191
|
+
RS SRB Serbia EU .rs RSD
|
192
|
+
RU RUS Russia EU .ru RUB
|
193
|
+
RW RWA Rwanda AF .rw RWF
|
194
|
+
SA SAU Saudi Arabia AS .sa SAR
|
195
|
+
SB SLB Solomon Islands OC .sb SBD
|
196
|
+
SC SYC Seychelles AF .sc SCR
|
197
|
+
SD SDN Sudan AF .sd SDG
|
198
|
+
SS SSD South Sudan AF SSP
|
199
|
+
SE SWE Sweden EU .se SEK
|
200
|
+
SG SGP Singapore AS .sg SGD
|
201
|
+
SH SHN Saint Helena AF .sh SHP
|
202
|
+
SI SVN Slovenia EU .si EUR
|
203
|
+
SJ SJM Svalbard and Jan Mayen EU .sj NOK
|
204
|
+
SK SVK Slovakia EU .sk EUR
|
205
|
+
SL SLE Sierra Leone AF .sl SLL
|
206
|
+
SM SMR San Marino EU .sm EUR
|
207
|
+
SN SEN Senegal AF .sn XOF
|
208
|
+
SO SOM Somalia AF .so SOS
|
209
|
+
SR SUR Suriname SA .sr SRD
|
210
|
+
ST STP Sao Tome and Principe AF .st STD
|
211
|
+
SV SLV El Salvador NA .sv USD
|
212
|
+
SX SXM Sint Maarten NA .sx ANG
|
213
|
+
SY SYR Syria AS .sy SYP
|
214
|
+
SZ SWZ Swaziland AF .sz SZL
|
215
|
+
TC TCA Turks and Caicos Islands NA .tc USD
|
216
|
+
TD TCD Chad AF .td XAF
|
217
|
+
TF ATF French Southern Territories AN .tf EUR
|
218
|
+
TG TGO Togo AF .tg XOF
|
219
|
+
TH THA Thailand AS .th THB
|
220
|
+
TJ TJK Tajikistan AS .tj TJS
|
221
|
+
TK TKL Tokelau OC .tk NZD
|
222
|
+
TL TLS East Timor OC .tl USD
|
223
|
+
TM TKM Turkmenistan AS .tm TMT
|
224
|
+
TN TUN Tunisia AF .tn TND
|
225
|
+
TO TON Tonga OC .to TOP
|
226
|
+
TR TUR Turkey AS .tr TRY
|
227
|
+
TT TTO Trinidad and Tobago NA .tt TTD
|
228
|
+
TV TUV Tuvalu OC .tv AUD
|
229
|
+
TW TWN Taiwan AS .tw TWD
|
230
|
+
TZ TZA Tanzania AF .tz TZS
|
231
|
+
UA UKR Ukraine EU .ua UAH
|
232
|
+
UG UGA Uganda AF .ug UGX
|
233
|
+
UM UMI United States Minor Outlying Islands OC .um USD
|
234
|
+
US USA United States NA .us USD
|
235
|
+
UY URY Uruguay SA .uy UYU
|
236
|
+
UZ UZB Uzbekistan AS .uz UZS
|
237
|
+
VA VAT Vatican EU .va EUR
|
238
|
+
VC VCT Saint Vincent and the Grenadines NA .vc XCD
|
239
|
+
VE VEN Venezuela SA .ve VEF
|
240
|
+
VG VGB British Virgin Islands NA .vg USD
|
241
|
+
VI VIR U.S. Virgin Islands NA .vi USD
|
242
|
+
VN VNM Vietnam AS .vn VND
|
243
|
+
VU VUT Vanuatu OC .vu VUV
|
244
|
+
WF WLF Wallis and Futuna OC .wf XPF
|
245
|
+
WS WSM Samoa OC .ws WST
|
246
|
+
YE YEM Yemen AS .ye YER
|
247
|
+
YT MYT Mayotte AF .yt EUR
|
248
|
+
ZA ZAF South Africa AF .za ZAR
|
249
|
+
ZM ZMB Zambia AF .zm ZMK
|
250
|
+
ZW ZWE Zimbabwe AF .zw ZWL
|
251
|
+
CS SCG Serbia and Montenegro EU .cs RSD
|
252
|
+
AN ANT Netherlands Antilles NA .an ANG
|