diff --git a/app/builders/account_builder.rb b/app/builders/account_builder.rb index 31d0e1aba..807f499e1 100644 --- a/app/builders/account_builder.rb +++ b/app/builders/account_builder.rb @@ -2,7 +2,7 @@ class AccountBuilder include CustomExceptions::Account - pattr_initialize [:account_name!, :email!, :confirmed!, :user] + pattr_initialize [:account_name!, :email!, :confirmed!, :user, :user_full_name] def perform if @user.nil? @@ -60,18 +60,13 @@ class AccountBuilder ) end - def email_to_name(email) - name = email[/[^@]+/] - name.split('.').map(&:capitalize).join(' ') - end - def create_user password = SecureRandom.alphanumeric(12) @user = User.new(email: @email, password: password, password_confirmation: password, - name: email_to_name(@email)) + name: @user_full_name) @user.confirm if @confirmed @user.save! end diff --git a/app/controllers/api/v1/accounts_controller.rb b/app/controllers/api/v1/accounts_controller.rb index 51dcb1a57..548f86175 100644 --- a/app/controllers/api/v1/accounts_controller.rb +++ b/app/controllers/api/v1/accounts_controller.rb @@ -16,6 +16,7 @@ class Api::V1::AccountsController < Api::BaseController def create @user, @account = AccountBuilder.new( account_name: account_params[:account_name], + user_full_name: account_params[:user_full_name], email: account_params[:email], confirmed: confirmed?, user: current_user @@ -54,7 +55,7 @@ class Api::V1::AccountsController < Api::BaseController end def account_params - params.permit(:account_name, :email, :name, :locale, :domain, :support_email, :auto_resolve_duration) + params.permit(:account_name, :email, :name, :locale, :domain, :support_email, :auto_resolve_duration, :user_full_name) end def check_signup_enabled diff --git a/app/javascript/dashboard/api/auth.js b/app/javascript/dashboard/api/auth.js index 1a16108ca..46379ab1e 100644 --- a/app/javascript/dashboard/api/auth.js +++ b/app/javascript/dashboard/api/auth.js @@ -26,7 +26,8 @@ export default { const fetchPromise = new Promise((resolve, reject) => { axios .post(urlData.url, { - account_name: creds.name, + account_name: creds.accountName.trim(), + user_full_name: creds.fullName.trim(), email: creds.email, }) .then(response => { diff --git a/app/javascript/dashboard/assets/scss/_woot.scss b/app/javascript/dashboard/assets/scss/_woot.scss index 7f9041b93..1877895bc 100644 --- a/app/javascript/dashboard/assets/scss/_woot.scss +++ b/app/javascript/dashboard/assets/scss/_woot.scss @@ -23,7 +23,6 @@ @import 'views/settings/inbox'; @import 'views/settings/channel'; @import 'views/settings/integrations'; -@import 'views/signup'; @import 'plugins/multiselect'; @import 'plugins/dropdown'; diff --git a/app/javascript/dashboard/assets/scss/views/_signup.scss b/app/javascript/dashboard/assets/scss/views/_signup.scss deleted file mode 100644 index 5233e3de0..000000000 --- a/app/javascript/dashboard/assets/scss/views/_signup.scss +++ /dev/null @@ -1,94 +0,0 @@ -.signup { - // margin-top: $space-larger*1.2; - - .signup--hero { - margin-bottom: $space-larger * 1.5; - - .hero--logo { - width: 180px; - } - - .hero--title { - margin-top: $space-large; - font-weight: $font-weight-light; - } - - .hero--sub { - font-size: $font-size-medium; - color: $medium-gray; - } - } - - .signup--features { - list-style-type: none; - font-size: $font-size-medium; - - > li { - padding: $space-slab; - - > i { - margin-right: $space-two; - font-size: $font-size-large; - - &.beer { - color: #dfb63b; - } - - &.report { - color: #2196f3; - } - - &.canned { - color: #1cad22; - } - - &.uptime { - color: #a753b5; - } - - &.secure { - color: #607d8b; - } - } - } - } - - .signup--box { - @include elegant-card; - padding: $space-large; - - label { - font-size: $font-size-default; - color: $color-gray; - - input { - padding: $space-slab; - height: $space-larger; - font-size: $font-size-default; - } - - .error { - font-size: $font-size-small - } - } - } - - .sigin--footer { - padding: $space-medium; - font-size: $font-size-default; - - > a { - font-weight: $font-weight-bold; - } - } - - .accept--terms { - font-size: $font-size-mini; - text-align: center; - @include margin($zero); - - a { - font-size: $font-size-mini; - } - } -} diff --git a/app/javascript/dashboard/assets/scss/widgets/_forms.scss b/app/javascript/dashboard/assets/scss/widgets/_forms.scss index d824f9d48..231f4c535 100644 --- a/app/javascript/dashboard/assets/scss/widgets/_forms.scss +++ b/app/javascript/dashboard/assets/scss/widgets/_forms.scss @@ -2,12 +2,13 @@ #{$all-text-inputs}, select, .multiselect > .multiselect__tags { - @include thin-border(darken(get-color(alert), 25%)); + @include thin-border(var(--r-400)); } .message { - color: darken(get-color(alert), 25%); + color: var(--r-400); display: block; + font-size: var(--font-size-small); font-weight: $font-weight-normal; margin-bottom: $space-one; margin-top: -$space-normal; diff --git a/app/javascript/dashboard/components/widgets/forms/Input.vue b/app/javascript/dashboard/components/widgets/forms/Input.vue index db8dcb130..7322cda77 100644 --- a/app/javascript/dashboard/components/widgets/forms/Input.vue +++ b/app/javascript/dashboard/components/widgets/forms/Input.vue @@ -6,8 +6,12 @@ :type="type" :placeholder="placeholder" @input="onChange" + @blur="onBlur" />

+ + {{ error }} + @@ -34,11 +38,18 @@ export default { type: String, default: '', }, + error: { + type: String, + default: '', + }, }, methods: { onChange(e) { this.$emit('input', e.target.value); }, + onBlur(e) { + this.$emit('blur', e.target.value); + }, }, }; diff --git a/app/javascript/dashboard/i18n/locale/en/signup.json b/app/javascript/dashboard/i18n/locale/en/signup.json index 08366a1e3..6eaa5d646 100644 --- a/app/javascript/dashboard/i18n/locale/en/signup.json +++ b/app/javascript/dashboard/i18n/locale/en/signup.json @@ -4,14 +4,19 @@ "TITLE": "Register", "TERMS_ACCEPT": "By signing up, you agree to our T & C and Privacy policy", "ACCOUNT_NAME": { - "LABEL": "Account Name", - "PLACEHOLDER": "Wayne Enterprises", - "ERROR": "Account Name is too short" + "LABEL": "Account name", + "PLACEHOLDER": "Enter an account name. eg: Wayne Enterprises", + "ERROR": "Account name is too short" + }, + "FULL_NAME": { + "LABEL": "Full name", + "PLACEHOLDER": "Enter your full name. eg: Bruce Wayne", + "ERROR": "Full name is too short" }, "EMAIL": { - "LABEL": "Email", - "PLACEHOLDER": "bruce@wayne.enterprises", - "ERROR": "Email is invalid" + "LABEL": "Work email", + "PLACEHOLDER": "Enter your work email address. eg: bruce@wayne.enterprises", + "ERROR": "Email address is invalid" }, "PASSWORD": { "LABEL": "Password", @@ -28,12 +33,6 @@ "ERROR_MESSAGE": "Could not connect to Woot Server, Please try again later" }, "SUBMIT": "Submit", - "FEATURES": { - "UNLIMITED_INBOXES": "Unlimited inboxes", - "ROBUST_REPORTING": "Robust Reporting", - "CANNED_RESPONSES": "Canned Responses", - "AUTO_ASSIGNMENT": "Auto Assignment", - "SECURITY": "Enterprise level security" - } + "HAVE_AN_ACCOUNT": "Already have an account?" } } diff --git a/app/javascript/dashboard/routes/auth/Signup.vue b/app/javascript/dashboard/routes/auth/Signup.vue index 1c3835596..ed6743c62 100644 --- a/app/javascript/dashboard/routes/auth/Signup.vue +++ b/app/javascript/dashboard/routes/auth/Signup.vue @@ -11,73 +11,54 @@
-
- -
-
-