From f91b257198d325cc8e993ba2b7341d24aaa03712 Mon Sep 17 00:00:00 2001 From: Raj Rathore Date: Thu, 16 Apr 2020 01:57:56 +0530 Subject: [PATCH 1/4] feat(currency-inr): inr added to supported currencies --- app/serializers/payment_serializer.rb | 10 +++---- ...scriptions-products-show-plans-show.js.es6 | 2 +- .../discourse/helpers/format-curency.js.es6 | 25 +++++++++------- .../discourse/helpers/format-currency.js.es6 | 30 +++++++++++-------- config/settings.yml | 7 +++-- 5 files changed, 41 insertions(+), 33 deletions(-) diff --git a/app/serializers/payment_serializer.rb b/app/serializers/payment_serializer.rb index 80dc0d1..a2903e8 100644 --- a/app/serializers/payment_serializer.rb +++ b/app/serializers/payment_serializer.rb @@ -29,11 +29,9 @@ class PaymentSerializer < ApplicationSerializer private def user - begin - User.find(object.user_id) - rescue - nil - end + User.find(object.user_id) + rescue StandardError + nil end def currency_unit @@ -42,6 +40,8 @@ class PaymentSerializer < ApplicationSerializer "€" when "gbp" "£" + when "inr" + "₹" else "$" end diff --git a/assets/javascripts/discourse/controllers/admin-plugins-discourse-subscriptions-products-show-plans-show.js.es6 b/assets/javascripts/discourse/controllers/admin-plugins-discourse-subscriptions-products-show-plans-show.js.es6 index 90ebf93..8977220 100644 --- a/assets/javascripts/discourse/controllers/admin-plugins-discourse-subscriptions-products-show-plans-show.js.es6 +++ b/assets/javascripts/discourse/controllers/admin-plugins-discourse-subscriptions-products-show-plans-show.js.es6 @@ -3,7 +3,7 @@ import DiscourseURL from "discourse/lib/url"; export default Ember.Controller.extend({ // Also defined in settings. - currencies: ["AUD", "CAD", "EUR", "GBP", "USD"], + currencies: ["AUD", "CAD", "EUR", "GBP", "USD", "INR"], @computed("model.plan.isNew") planFieldDisabled(isNew) { diff --git a/assets/javascripts/discourse/helpers/format-curency.js.es6 b/assets/javascripts/discourse/helpers/format-curency.js.es6 index 7614daa..3ee80e1 100644 --- a/assets/javascripts/discourse/helpers/format-curency.js.es6 +++ b/assets/javascripts/discourse/helpers/format-curency.js.es6 @@ -1,17 +1,20 @@ // TODO: typo in this helper name: currency not curency. -export default Ember.Helper.helper(function(params) { - let currencySign; +export default Ember.Helper.helper(function (params) { + let currencySign switch (Discourse.SiteSettings.discourse_subscriptions_currency) { - case "EUR": - currencySign = "€"; - break; - case "GBP": - currencySign = "£"; - break; + case 'EUR': + currencySign = '€' + break + case 'GBP': + currencySign = '£' + break + case 'INR': + currencySign = '₹' + break default: - currencySign = "$"; + currencySign = '$' } - return [currencySign, params[0]].join(""); -}); + return [currencySign, params[0]].join('') +}) diff --git a/assets/javascripts/discourse/helpers/format-currency.js.es6 b/assets/javascripts/discourse/helpers/format-currency.js.es6 index 76fdc77..a878e31 100644 --- a/assets/javascripts/discourse/helpers/format-currency.js.es6 +++ b/assets/javascripts/discourse/helpers/format-currency.js.es6 @@ -1,18 +1,22 @@ -export default Ember.Helper.helper(function(params) { - let currencySign; +export default Ember.Helper.helper(function (params) { + let currencySign switch (params[0]) { - case "EUR": - case "eur": - currencySign = "€"; - break; - case "GBP": - case "gbp": - currencySign = "£"; - break; + case 'EUR': + case 'eur': + currencySign = '€' + break + case 'GBP': + case 'gbp': + currencySign = '£' + break + case 'INR': + case 'inr': + currencySign = '₹' + break default: - currencySign = "$"; + currencySign = '$' } - return currencySign + params.map(p => p.toUpperCase()).join(" "); -}); + return currencySign + params.map((p) => p.toUpperCase()).join(' ') +}) diff --git a/config/settings.yml b/config/settings.yml index 5377472..163aba4 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -5,13 +5,13 @@ plugins: default: false client: true discourse_subscriptions_public_key: - default: '' + default: "" client: true discourse_subscriptions_secret_key: - default: '' + default: "" client: false discourse_subscriptions_webhook_secret: - default: '' + default: "" client: false discourse_subscriptions_allow_payments: default: false @@ -27,3 +27,4 @@ plugins: - GBP - USD - NZD + - INR From 30299a5f135f813ea9fa3af20d861bfe38a96c95 Mon Sep 17 00:00:00 2001 From: Raj Rathore Date: Thu, 23 Apr 2020 16:06:02 +0530 Subject: [PATCH 2/4] fix(currency-symbol): hard-coded dollar symbol removed --- app/serializers/payment_serializer.rb | 8 +++++--- .../discourse/helpers/format-curency.js.es6 | 16 ++++++++-------- assets/javascripts/discourse/models/plan.js.es6 | 2 +- config/settings.yml | 8 ++++---- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/app/serializers/payment_serializer.rb b/app/serializers/payment_serializer.rb index a2903e8..a8119a2 100644 --- a/app/serializers/payment_serializer.rb +++ b/app/serializers/payment_serializer.rb @@ -29,9 +29,11 @@ class PaymentSerializer < ApplicationSerializer private def user - User.find(object.user_id) - rescue StandardError - nil + begin + User.find(object.user_id) + rescue StandardError + nil + end end def currency_unit diff --git a/assets/javascripts/discourse/helpers/format-curency.js.es6 b/assets/javascripts/discourse/helpers/format-curency.js.es6 index 3ee80e1..49c35bb 100644 --- a/assets/javascripts/discourse/helpers/format-curency.js.es6 +++ b/assets/javascripts/discourse/helpers/format-curency.js.es6 @@ -3,18 +3,18 @@ export default Ember.Helper.helper(function (params) { let currencySign switch (Discourse.SiteSettings.discourse_subscriptions_currency) { - case 'EUR': - currencySign = '€' + case "EUR": + currencySign = "€"; break - case 'GBP': - currencySign = '£' + case "GBP": + currencySign = "£"; break - case 'INR': - currencySign = '₹' + case "INR": + currencySign = "₹"; break default: - currencySign = '$' + currencySign = "$"; } - return [currencySign, params[0]].join('') + return [currencySign, params[0]].join(""); }) diff --git a/assets/javascripts/discourse/models/plan.js.es6 b/assets/javascripts/discourse/models/plan.js.es6 index 62be08c..a724c2f 100644 --- a/assets/javascripts/discourse/models/plan.js.es6 +++ b/assets/javascripts/discourse/models/plan.js.es6 @@ -16,7 +16,7 @@ const Plan = EmberObject.extend({ @computed("amountDollars", "currency", "interval") subscriptionRate(amountDollars, currency, interval) { - return `$${amountDollars} ${currency.toUpperCase()} / ${interval}`; + return `${amountDollars} ${currency.toUpperCase()} / ${interval}`; } }); diff --git a/config/settings.yml b/config/settings.yml index 163aba4..df16d87 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -5,20 +5,20 @@ plugins: default: false client: true discourse_subscriptions_public_key: - default: "" + default: '' client: true discourse_subscriptions_secret_key: - default: "" + default: '' client: false discourse_subscriptions_webhook_secret: - default: "" + default: '' client: false discourse_subscriptions_allow_payments: default: false client: true discourse_subscriptions_currency: client: true - default: "USD" + default: 'USD' type: enum choices: - AUD From 53a11872efcfa5db0b999d25ee4e24efea5e396c Mon Sep 17 00:00:00 2001 From: Raj Rathore Date: Thu, 23 Apr 2020 17:11:00 +0530 Subject: [PATCH 3/4] fix(coding-style): linting changes reverted to be consistent with existing style --- app/serializers/payment_serializer.rb | 2 +- .../discourse/helpers/format-curency.js.es6 | 6 ++-- .../discourse/helpers/format-currency.js.es6 | 28 +++++++++---------- config/settings.yml | 2 +- 4 files changed, 19 insertions(+), 19 deletions(-) diff --git a/app/serializers/payment_serializer.rb b/app/serializers/payment_serializer.rb index a8119a2..2d46499 100644 --- a/app/serializers/payment_serializer.rb +++ b/app/serializers/payment_serializer.rb @@ -31,7 +31,7 @@ class PaymentSerializer < ApplicationSerializer def user begin User.find(object.user_id) - rescue StandardError + rescue nil end end diff --git a/assets/javascripts/discourse/helpers/format-curency.js.es6 b/assets/javascripts/discourse/helpers/format-curency.js.es6 index 49c35bb..8b029f0 100644 --- a/assets/javascripts/discourse/helpers/format-curency.js.es6 +++ b/assets/javascripts/discourse/helpers/format-curency.js.es6 @@ -1,6 +1,6 @@ // TODO: typo in this helper name: currency not curency. -export default Ember.Helper.helper(function (params) { - let currencySign +export default Ember.Helper.helper(function(params) { + let currencySign; switch (Discourse.SiteSettings.discourse_subscriptions_currency) { case "EUR": @@ -17,4 +17,4 @@ export default Ember.Helper.helper(function (params) { } return [currencySign, params[0]].join(""); -}) +}); diff --git a/assets/javascripts/discourse/helpers/format-currency.js.es6 b/assets/javascripts/discourse/helpers/format-currency.js.es6 index a878e31..4f342f1 100644 --- a/assets/javascripts/discourse/helpers/format-currency.js.es6 +++ b/assets/javascripts/discourse/helpers/format-currency.js.es6 @@ -1,22 +1,22 @@ -export default Ember.Helper.helper(function (params) { - let currencySign +export default Ember.Helper.helper(function(params) { + let currencySign; switch (params[0]) { - case 'EUR': - case 'eur': - currencySign = '€' + case "EUR": + case "eur": + currencySign = "€"; break - case 'GBP': - case 'gbp': - currencySign = '£' + case "GBP": + case "gbp": + currencySign = "£"; break - case 'INR': - case 'inr': - currencySign = '₹' + case "INR": + case "inr": + currencySign = "₹"; break default: - currencySign = '$' + currencySign = "$"; } - return currencySign + params.map((p) => p.toUpperCase()).join(' ') -}) + return currencySign + params.map(p => p.toUpperCase()).join(" "); +}); diff --git a/config/settings.yml b/config/settings.yml index df16d87..5ee2b3b 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -18,7 +18,7 @@ plugins: client: true discourse_subscriptions_currency: client: true - default: 'USD' + default: "USD" type: enum choices: - AUD From 9153126f59fa547ddc423025bf77377c3b5bbb0a Mon Sep 17 00:00:00 2001 From: Raj Rathore Date: Thu, 23 Apr 2020 17:17:06 +0530 Subject: [PATCH 4/4] fix(coding-style): now consistent with existing coding style of the project --- assets/javascripts/discourse/helpers/format-curency.js.es6 | 6 +++--- assets/javascripts/discourse/helpers/format-currency.js.es6 | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/assets/javascripts/discourse/helpers/format-curency.js.es6 b/assets/javascripts/discourse/helpers/format-curency.js.es6 index 8b029f0..011dd46 100644 --- a/assets/javascripts/discourse/helpers/format-curency.js.es6 +++ b/assets/javascripts/discourse/helpers/format-curency.js.es6 @@ -5,13 +5,13 @@ export default Ember.Helper.helper(function(params) { switch (Discourse.SiteSettings.discourse_subscriptions_currency) { case "EUR": currencySign = "€"; - break + break; case "GBP": currencySign = "£"; - break + break; case "INR": currencySign = "₹"; - break + break; default: currencySign = "$"; } diff --git a/assets/javascripts/discourse/helpers/format-currency.js.es6 b/assets/javascripts/discourse/helpers/format-currency.js.es6 index 4f342f1..67834ff 100644 --- a/assets/javascripts/discourse/helpers/format-currency.js.es6 +++ b/assets/javascripts/discourse/helpers/format-currency.js.es6 @@ -5,15 +5,15 @@ export default Ember.Helper.helper(function(params) { case "EUR": case "eur": currencySign = "€"; - break + break; case "GBP": case "gbp": currencySign = "£"; - break + break; case "INR": case "inr": currencySign = "₹"; - break + break; default: currencySign = "$"; }