maestrano/mno-enterprise

View on GitHub
api/app/views/mno_enterprise/auth/confirmations/_form.html.haml

Summary

Maintainability
Test Coverage
%div{ 'ng-init' => "user = { $pwdScore: {}, name: '#{resource.name}', surname: '#{resource.surname}', phone: '#{resource.phone}'}" }

= form_for(resource, as: resource_name, :url => mno_enterprise.user_confirmation_finalize_path, :html => { 'name' => 'loginForm', :class => 'autofill-detect text-center' }) do |f|

  .row
    .col-sm-12
      = f.text_field :name, placeholder: "*First Name", required: true, 'ng-model' => 'user.name', class:'form-control'

  %br

  .row
    .col-sm-12
      = f.text_field :surname, placeholder: "*Last Name", required: true, 'ng-model' => 'user.surname', class: 'form-control'

  - if @phone_required && MnoEnterprise.style.devise.phone_required
    %br
    .row
      .col-sm-12
        .phone
          = f.select :phone_country_code, options_for_select(Country.all.map { |country,code| c = Country.new(code); ["#{c.alpha2} +#{c.country_code}", code]}, MnoEnterprise.app_country), {}, class: 'form-control unstyled'
          = f.text_field :phone, placeholder: "*Phone", required: true, 'ng-model' => 'user.phone', class: 'form-control'

  %br

  - # Password: two validation styles offered
  .row
    .col-sm-12
      - if !!MnoEnterprise.style.devise.password_complexity_deep_check
        %div{'mno-password' => 'user', form: "loginForm"}

      - else
        .input-group
          = f.password_field :password, :placeholder => '*Choose Password', :class => 'form-control', :required => true, 'ng-model' => 'user.password', 'ng-minlength' => Devise.password_length.min, 'mno-password-strength' => true, 'password-score' => 'user.$pwdScore'
          %span.input-group-addon.classic.pw-strength-indicator{'ng-class' => 'user.$pwdScore.class' }
            {{ user.$pwdScore.value }}

      .text-center.ng-hide{ 'ng-show' => 'user.$pwdScore.showTip' }
        %small.text-danger= t('activemodel.errors.mno_enterprise/user.password_weak')

  = f.hidden_field :confirmation_token, value: @confirmation_token

  - unless @user[:meta_data][:tos_accepted_at]
    %br
    .row
      .col-sm-12
        .checkbox-section.text-center
          = check_box_tag 'tos', 'accept', false, required: true, style: "margin-top: -3px;", 'ng-model' => 'acceptTos'
          %label{for: 'tos'}= t('mno_enterprise.auth.registrations.new.user_accept')
          = link_to t('mno_enterprise.auth.registrations.new.tos'), MnoEnterprise.router.terms_url, target: '_blank'

  %br/
  %div
    %button{ :class => "btn btn-warning btn-login", :type => "submit", 'ng-click' => 'hasClicked = true', 'ng-disabled' => 'loginForm.$invalid', 'ng-hide' => 'hasClicked' }= t('mno_enterprise.auth.confirmations.show.confirm')
    %img.ng-hide{ 'ng-src' => asset_path('mno_enterprise/loader-32x32-bg-inverse.gif'), 'ng-show' => 'hasClicked' }