Feature: Feature flags on account (#814) (#815)

* Feature: Feature flags on account (#814)
* Added the new column on account model for managing feature flags
* Added the inbound email flag
* Locked the settings of this eature in account settings based on this
* Encapsulated the feature flaging as a concern. With this, we can re-use the same concern if we introduce this in other models like user or inbox or so.
* Added the features in the account api

* Changed Rails/FilePath style - rubocop issue

* Revert "Changed Rails/FilePath style - rubocop issue"

This reverts commit 3a42d3b9c9b3a2fde8bc7256fd704b6fcaf54040.

* Disabling rubocop on codeclimate as we already have this in CICD
This commit is contained in:
Sony Mathew
2020-05-04 23:06:42 +05:30
committed by GitHub
parent 98af47aae2
commit fabc3170b7
9 changed files with 83 additions and 4 deletions

View File

@@ -41,7 +41,7 @@
:placeholder="$t('GENERAL_SETTINGS.FORM.DOMAIN.PLACEHOLDER')"
/>
</label>
<label>
<label v-if="featureInboundEmailEnabled">
{{ $t('GENERAL_SETTINGS.FORM.ENABLE_DOMAIN_EMAIL.LABEL') }}
<select v-model="domainEmailsEnabled">
<option value="true">
@@ -63,7 +63,7 @@
{{ $t('GENERAL_SETTINGS.FORM.ENABLE_DOMAIN_EMAIL.PLACEHOLDER') }}
</p>
</label>
<label>
<label v-if="featureInboundEmailEnabled">
{{ $t('GENERAL_SETTINGS.FORM.SUPPORT_EMAIL.LABEL') }}
<input
v-model="supportEmail"
@@ -102,6 +102,7 @@ export default {
domain: '',
domainEmailsEnabled: false,
supportEmail: '',
features: {},
};
},
validations: {
@@ -121,6 +122,10 @@ export default {
isUpdating() {
return this.uiFlags.isUpdating;
},
featureInboundEmailEnabled() {
return !!this.features.inbound_emails;
},
},
mounted() {
if (!this.id) {
@@ -141,6 +146,7 @@ export default {
domain,
support_email,
domain_emails_enabled,
features,
} = this.getAccount(accountId);
Vue.config.lang = locale;
@@ -150,6 +156,7 @@ export default {
this.domain = domain;
this.supportEmail = support_email;
this.domainEmailsEnabled = domain_emails_enabled;
this.features = features;
}
},