mno-enterprise-api 2.0.9 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (64) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/javascripts/mno_enterprise/config.js.coffee.erb +10 -0
  3. data/app/controllers/mno_enterprise/impersonate_controller.rb +5 -13
  4. data/app/controllers/mno_enterprise/jpi/v1/admin/audit_events_controller.rb +2 -2
  5. data/app/controllers/mno_enterprise/jpi/v1/admin/organizations_controller.rb +1 -1
  6. data/app/controllers/mno_enterprise/jpi/v1/admin/theme_controller.rb +109 -0
  7. data/app/controllers/mno_enterprise/jpi/v1/admin/users_controller.rb +1 -1
  8. data/app/controllers/mno_enterprise/jpi/v1/app_instances_sync_controller.rb +2 -2
  9. data/app/controllers/mno_enterprise/jpi/v1/impac/widgets_controller.rb +59 -1
  10. data/app/controllers/mno_enterprise/status_controller.rb +2 -4
  11. data/app/views/mno_enterprise/auth/confirmations/{default/_form.html.haml → _form.html.haml} +13 -17
  12. data/app/views/mno_enterprise/auth/confirmations/lounge.html.haml +32 -4
  13. data/app/views/mno_enterprise/auth/confirmations/new.html.haml +2 -2
  14. data/app/views/mno_enterprise/auth/confirmations/show.html.haml +10 -4
  15. data/app/views/mno_enterprise/auth/passwords/edit.html.haml +2 -13
  16. data/app/views/mno_enterprise/auth/passwords/new.html.haml +2 -2
  17. data/app/views/mno_enterprise/auth/registrations/{default/_form.html.haml → _form.html.haml} +12 -11
  18. data/app/views/mno_enterprise/auth/registrations/new.html.haml +11 -4
  19. data/app/views/mno_enterprise/auth/sessions/{default/_form.html.haml → _form.html.haml} +5 -4
  20. data/app/views/mno_enterprise/auth/sessions/new.html.haml +11 -4
  21. data/app/views/mno_enterprise/auth/shared/_links.html.haml +6 -6
  22. data/app/views/mno_enterprise/auth/unlocks/new.html.haml +3 -2
  23. data/app/views/mno_enterprise/jpi/v1/current_users/show.json.jbuilder +4 -2
  24. data/app/views/mno_enterprise/jpi/v1/impac/kpis/_kpi.json.jbuilder +1 -1
  25. data/app/views/mno_enterprise/jpi/v1/organizations/_credit_card.json.jbuilder +2 -2
  26. data/app/views/mno_enterprise/pages/app_access_unauthorized.html.haml +4 -7
  27. data/app/views/mno_enterprise/pages/app_logout.html.haml +3 -6
  28. data/app/views/mno_enterprise/pages/billing_details_required.html.haml +4 -7
  29. data/app/views/mno_enterprise/provision/_provision_apps.html.haml +7 -9
  30. data/app/views/mno_enterprise/provision/_select_organization.html.haml +4 -4
  31. data/app/views/mno_enterprise/webhook/o_auth/authorize.html.haml +4 -4
  32. data/app/views/mno_enterprise/webhook/o_auth/providers/myob.html.haml +12 -11
  33. data/app/views/mno_enterprise/webhook/o_auth/providers/xero.html.haml +11 -10
  34. data/config/initializers/sprockets.rb +11 -0
  35. data/config/routes.rb +6 -1
  36. data/lib/mno_enterprise/api/engine.rb +10 -0
  37. data/lib/mno_enterprise/concerns/controllers/org_invites_controller.rb +2 -6
  38. data/lib/mno_enterprise/concerns/controllers/pages_controller.rb +1 -1
  39. data/lib/mno_enterprise/concerns/controllers/provision_controller.rb +1 -7
  40. data/lib/mno_enterprise/concerns/controllers/webhook/o_auth_controller.rb +15 -1
  41. data/lib/mno_enterprise/concerns/mailers/system_notification_mailer.rb +1 -2
  42. data/lib/tasks/non_digested_assets.rake +46 -0
  43. data/spec/controllers/mno_enterprise/impersonate_controller_spec.rb +4 -15
  44. data/spec/controllers/mno_enterprise/jpi/v1/app_instances_sync_controller_spec.rb +0 -8
  45. data/spec/controllers/mno_enterprise/jpi/v1/current_users_controller_spec.rb +2 -4
  46. data/spec/controllers/mno_enterprise/jpi/v1/impac/kpis_controller_spec.rb +2 -2
  47. data/spec/controllers/mno_enterprise/org_invites_controller_spec.rb +19 -46
  48. data/spec/controllers/mno_enterprise/status_controller_spec.rb +0 -4
  49. data/spec/controllers/mno_enterprise/webhook/o_auth_controller_spec.rb +13 -2
  50. data/spec/routing/mno_enterprise/{impersonate_controller_routing.spec.rb → impersonate_controller_routing_spec.rb} +1 -1
  51. data/spec/routing/mno_enterprise/jpi/v1/admin/theme_controller_routing_spec.rb +15 -0
  52. metadata +57 -63
  53. data/app/views/mno_enterprise/auth/confirmations/default/_lounge.html.haml +0 -34
  54. data/app/views/mno_enterprise/auth/confirmations/default/_show.html.haml +0 -10
  55. data/app/views/mno_enterprise/auth/confirmations/material/_form.html.haml +0 -44
  56. data/app/views/mno_enterprise/auth/confirmations/material/_lounge.html.haml +0 -18
  57. data/app/views/mno_enterprise/auth/confirmations/material/_show.html.haml +0 -21
  58. data/app/views/mno_enterprise/auth/registrations/default/_new.html.haml +0 -11
  59. data/app/views/mno_enterprise/auth/registrations/material/_form.html.haml +0 -30
  60. data/app/views/mno_enterprise/auth/registrations/material/_new.html.haml +0 -10
  61. data/app/views/mno_enterprise/auth/sessions/default/_new.html.haml +0 -11
  62. data/app/views/mno_enterprise/auth/sessions/material/_form.html.haml +0 -26
  63. data/app/views/mno_enterprise/auth/sessions/material/_new.html.haml +0 -11
  64. data/lib/mno_enterprise/concerns/controllers/jpi/v1/impac/widgets_controller.rb +0 -72
@@ -5,7 +5,7 @@
5
5
  .row
6
6
  .login-box-wrapper
7
7
  .login-box-title
8
- %h2 Change your password
8
+ %h2= t('.title')
9
9
  .login-box
10
10
  .brand-logo
11
11
  = form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put, class: 'form-horizontal autofill-detect' }) do |f|
@@ -33,21 +33,10 @@
33
33
  .row
34
34
  .col-sm-12
35
35
  .text-center
36
- %button{ :class => "btn btn-warning", :type => "submit", 'ng-click' => 'hasClicked = true', 'ng-disabled' => 'form.$invalid', 'ng-hide' => 'hasClicked' } Change my password
36
+ %button{ :class => "btn btn-warning", :type => "submit", 'ng-click' => 'hasClicked = true', 'ng-disabled' => 'form.$invalid', 'ng-hide' => 'hasClicked' }= t('.change')
37
37
  %img.ng-hide{ 'ng-src' => asset_path('mno_enterprise/loader-32x32-bg-inverse.gif'), 'ng-show' => 'hasClicked' }
38
38
 
39
39
 
40
- / .field
41
- / = f.label :password, "New password"
42
- / %br/
43
- / = f.password_field :password, autofocus: true, autocomplete: "off", 'ng-model' => 'user.company', class: 'form-control'
44
- / .field
45
- / = f.label :password_confirmation, "Confirm new password"
46
- / %br/
47
- / = f.password_field :password_confirmation, autocomplete: "off"
48
- / .actions
49
- / = f.submit "Change my password"
50
-
51
40
  %hr
52
41
 
53
42
  = render "devise/shared/links"
@@ -5,7 +5,7 @@
5
5
  .row
6
6
  .login-box-wrapper
7
7
  .login-box-title
8
- %h2 Password Recovery
8
+ %h2= t('.title')
9
9
  .login-box
10
10
  .brand-logo
11
11
 
@@ -26,7 +26,7 @@
26
26
  .row
27
27
  .col-sm-12
28
28
  .text-center
29
- %button{ :class => "btn btn-warning", :type => "submit", 'ng-click' => 'hasClicked = true', 'ng-disabled' => 'form.$invalid', 'ng-hide' => 'hasClicked' } Recover my password
29
+ %button{ :class => "btn btn-warning", :type => "submit", 'ng-click' => 'hasClicked = true', 'ng-disabled' => 'form.$invalid', 'ng-hide' => 'hasClicked' }= t('.title')
30
30
  %img.ng-hide{ 'ng-src' => asset_path('mno_enterprise/loader-32x32-bg-inverse.gif'), 'ng-show' => 'hasClicked' }
31
31
 
32
32
  %hr
@@ -1,35 +1,36 @@
1
1
  %div{ 'ng-init' => "user = { $pwdScore: {}, email: '#{params['email']}' }" }
2
2
 
3
3
  = form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { 'name' => 'form', :class => 'form-horizontal autofill-detect', :autocomplete => "off" }) do |f|
4
-
4
+
5
5
  - unless devise_error_messages!.empty?
6
6
  .row
7
7
  .alert.alert-error
8
8
  %button.close ×
9
9
  = devise_error_messages!
10
-
10
+
11
11
  .row
12
12
  .col-sm-12
13
13
  = f.email_field :email, placeholder: "*Email", :required => true, 'ng-model' => 'user.email', :class => 'form-control'
14
-
14
+
15
15
  %br
16
-
16
+
17
17
  .row
18
18
  .col-sm-12
19
19
  = f.text_field :company, placeholder: "Company", 'ng-model' => 'user.company', class: 'form-control'
20
-
20
+
21
21
  %br
22
-
22
+
23
23
  .row
24
24
  .col-sm-12
25
25
  .checkbox-section.text-center
26
26
  = check_box_tag 'tos', 'accept', false, :required => true, :style => "margin-top: -3px;", 'ng-model' => 'acceptTos'
27
- %label{for: 'tos'} I accept the
28
- = link_to "Terms of Use", MnoEnterprise.router.terms_url, :target => '_blank'
29
-
27
+ %label{for: 'tos'}= t('mno_enterprise.auth.registrations.new.user_accept')
28
+ = link_to t('.tos'), MnoEnterprise.router.terms_url, target: '_blank'
29
+
30
30
  %br
31
31
  .row
32
32
  .col-sm-12
33
33
  .text-center
34
- %button{ :class => "btn btn-warning", :type => "submit", 'ng-click' => 'hasClicked = true', 'ng-disabled' => 'form.$invalid', 'ng-hide' => 'hasClicked' } Create my account!
35
- %img.ng-hide{ 'ng-src' => asset_path('mno_enterprise/loader-32x32-bg-inverse.gif'), 'ng-show' => 'hasClicked' }
34
+ %button{ :class => "btn btn-warning", :type => "submit", 'ng-click' => 'hasClicked = true', 'ng-disabled' => 'form.$invalid', 'ng-hide' => 'hasClicked' }
35
+ = t('mno_enterprise.auth.registrations.new.create')
36
+ %img.ng-hide{ 'ng-src' => asset_path('mno_enterprise/loader-32x32-bg-inverse.gif'), 'ng-show' => 'hasClicked' }
@@ -1,4 +1,11 @@
1
- - if MnoEnterprise.style.design.material
2
- = render "mno_enterprise/auth/registrations/material/new"
3
- - else
4
- = render "mno_enterprise/auth/registrations/default/new"
1
+ .registration
2
+ .container
3
+ .row
4
+ .login-box-wrapper
5
+ .login-box-title
6
+ %h2= t('mno_enterprise.auth.registrations.new.title')
7
+ .login-box
8
+ .brand-logo
9
+ = render "mno_enterprise/auth/registrations/form"
10
+ %hr
11
+ = render "mno_enterprise/auth/shared/links"
@@ -4,14 +4,15 @@
4
4
  %br
5
5
  %div
6
6
  = f.password_field :password, :placeholder => "Password", :required => true, 'ng-model' => 'password', :class => 'form-control', :autocomplete => "off"
7
-
7
+
8
8
  %br/
9
9
  %div
10
- %button{ :class => "btn btn-warning btn-login", :type => "submit", 'ng-click' => 'hasClicked = true', 'ng-disabled' => 'loginForm.$invalid', 'ng-hide' => 'hasClicked' } Sign in
10
+ %button{ :class => "btn btn-warning btn-login", :type => "submit", 'ng-click' => 'hasClicked = true', 'ng-disabled' => 'loginForm.$invalid', 'ng-hide' => 'hasClicked' }
11
+ = t('mno_enterprise.auth.sessions.new.sign_in')
11
12
  %img.ng-hide{ 'ng-src' => asset_path('mno_enterprise/loader-32x32-bg-inverse.gif'), 'ng-show' => 'hasClicked' }
12
-
13
+
13
14
  - if devise_mapping.rememberable? && MnoEnterprise.style.devise.remember_checkbox_shown
14
15
  %br/
15
16
  %div.form-inline.checkbox-section
16
17
  = f.check_box :remember_me, { checked: true }
17
- = f.label :remember_me
18
+ = f.label :remember_me
@@ -1,4 +1,11 @@
1
- - if MnoEnterprise.style.design.material
2
- = render "mno_enterprise/auth/sessions/material/new"
3
- - else
4
- = render "mno_enterprise/auth/sessions/default/new"
1
+ .registration
2
+ .container
3
+ .row
4
+ .login-box-wrapper
5
+ .login-box-title
6
+ %h2= t('mno_enterprise.auth.sessions.new.title')
7
+ .login-box
8
+ .brand-logo
9
+ = render "mno_enterprise/auth/sessions/form"
10
+ %hr
11
+ = render "mno_enterprise/auth/shared/links"
@@ -1,24 +1,24 @@
1
1
  - if controller_name != 'sessions'
2
- = link_to "Already have an account? Log in", new_session_path(resource_name)
2
+ = link_to t('mno_enterprise.auth.shared.links.login'), new_session_path(resource_name)
3
3
  %br/
4
4
 
5
5
  - if devise_mapping.registerable? && controller_name != 'registrations'
6
- = link_to "Don't have an account? Sign up", new_registration_path(resource_name)
6
+ = link_to t('mno_enterprise.auth.shared.links.signup'), new_registration_path(resource_name)
7
7
  %br/
8
8
 
9
9
  - if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' && MnoEnterprise.style.devise.forgot_password_link_shown
10
- = link_to "Forgot your password?", new_password_path(resource_name)
10
+ = link_to t('mno_enterprise.auth.shared.links.recover_password'), new_password_path(resource_name)
11
11
  %br/
12
12
 
13
13
  - if devise_mapping.confirmable? && controller_name != 'confirmations' && MnoEnterprise.style.devise.confirmation_link_shown
14
- = link_to "Didn't receive confirmation instructions?", new_confirmation_path(resource_name)
14
+ = link_to t('mno_enterprise.auth.shared.links.resend_confirmation'), new_confirmation_path(resource_name)
15
15
  %br/
16
16
 
17
17
  - if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' && MnoEnterprise.style.devise.unlock_link_shown
18
- = link_to "Didn't receive unlock instructions?", new_unlock_path(resource_name)
18
+ = link_to t('mno_enterprise.auth.shared.links.unlock'), new_unlock_path(resource_name)
19
19
  %br/
20
20
 
21
21
  - if devise_mapping.omniauthable? && MnoEnterprise.style.devise.omniauth_link_shown
22
22
  - resource_class.omniauth_providers.each do |provider|
23
- = link_to "Sign in with #{provider.to_s.titleize}", omniauth_authorize_path(resource_name, provider)
23
+ = link_to t('mno_enterprise.auth.shared.links.omni_login', provider: provider.to_s.titleize), omniauth_authorize_path(resource_name, provider)
24
24
  %br/
@@ -1,4 +1,4 @@
1
- %h2 Resend unlock instructions
1
+ %h2= t('.title')
2
2
  = form_for(resource, as: resource_name, url: unlock_path(resource_name), html: { method: :post }) do |f|
3
3
  = devise_error_messages!
4
4
  .field
@@ -6,5 +6,6 @@
6
6
  %br/
7
7
  = f.email_field :email, autofocus: true
8
8
  .actions
9
- = f.submit "Resend unlock instructions"
9
+ = f.submit t('.unlock')
10
+
10
11
  = render "devise/shared/links"
@@ -13,7 +13,10 @@ json.cache! ['v1', @user.cache_key] do
13
13
  json.website @user.website
14
14
  json.sso_session @user.sso_session
15
15
  json.admin_role @user.admin_role
16
-
16
+ if current_impersonator
17
+ json.current_impersonator true
18
+ end
19
+
17
20
  # Embed association if user is persisted
18
21
  if @user.id
19
22
  json.organizations do
@@ -24,7 +27,6 @@ json.cache! ['v1', @user.cache_key] do
24
27
  json.currency o.billing_currency
25
28
  json.current_user_role o.role
26
29
  json.has_myob_essentials_only o.has_myob_essentials_only?
27
- json.financial_year_end_month o.financial_year_end_month
28
30
  end
29
31
  end
30
32
 
@@ -1 +1 @@
1
- json.extract! kpi, :id, :element_watched, :endpoint, :source, :targets, :settings, :extra_params
1
+ json.extract! kpi, :id, :name, :element_watched, :endpoint, :source, :targets, :settings, :extra_params
@@ -2,6 +2,6 @@ json.credit_card do
2
2
  if credit_card
3
3
  json.extract! credit_card, :id, :title,:first_name,:last_name,:month,:year,:country,:billing_address,:billing_city,:billing_postcode, :billing_country
4
4
  json.number credit_card.masked_number
5
- json.verification_value credit_card.id ? 'CVV' : nil
5
+ json.verification_value 'CVV'
6
6
  end
7
- end
7
+ end
@@ -3,17 +3,14 @@
3
3
  .row.text-center
4
4
  = image_tag("mno_enterprise/main-logo.png")
5
5
  .row
6
- %h2 App Access Not Granted
6
+ %h2= t('.title')
7
7
  %hr
8
8
  .row
9
9
  .col-md-6.col-md-offset-3
10
10
  .align-center
11
- %h3
12
- It looks like the administrator of this application has not granted you access.
13
- %p You should ask your administrator to share this application with you.
11
+ %h3= t('.explanation')
12
+ %p= t('.recommendation')
14
13
  .spacer4
15
14
  .align-center
16
- %h5
17
- If you think this is a mistake, please send us an email at
18
- = mail_to support_email
15
+ %h5= t('.support_help_html', email: mail_to(support_email))
19
16
  .spacer4
@@ -3,16 +3,13 @@
3
3
  .row.text-center
4
4
  = image_tag("mno_enterprise/main-logo.png")
5
5
  .row
6
- %h2 Successful logout
6
+ %h2= t('.title')
7
7
  %hr
8
8
  .row
9
9
  .col-md-6.col-md-offset-3
10
10
  .align-center
11
- %h3
12
- You have successfully logged out from your application
11
+ %h3= t('.explanation')
13
12
  .spacer4
14
13
  .align-center
15
- %h5
16
- If you think this is a mistake, please send us an email at
17
- = mail_to support_email
14
+ %h5= t('.support_help_html', email: mail_to(support_email))
18
15
  .spacer4
@@ -3,17 +3,14 @@
3
3
  .row.text-center
4
4
  = image_tag("mno_enterprise/main-logo.png")
5
5
  .row
6
- %h2 Billing Details Required
6
+ %h2= t('.title')
7
7
  %hr
8
8
  .row
9
9
  .col-md-6.col-md-offset-3
10
10
  .align-center
11
- %h3
12
- Oops! It looks like the free trial has ended for this application and no billing details have been entered.
13
- %p Please ask your administrator to enter valid billing details for your company.
11
+ %h3= t('.explanation')
12
+ %p= t('.recommendation')
14
13
  .spacer4
15
14
  .align-center
16
- %h5
17
- If you think this is a mistake, please send us an email at
18
- = mail_to support_email
15
+ %h5= t('.support_help_html', email: mail_to(support_email))
19
16
  .spacer4
@@ -3,10 +3,10 @@
3
3
  .container
4
4
  .row
5
5
  .col-md-6.text-center.col-md-offset-3
6
- %h3 You order is being prepared
6
+ %h3= t('mno_enterprise.provision.provision_apps.title')
7
7
  .spacer1
8
8
  = image_tag('mno_enterprise/loader-32x32-bg-inverse.gif')
9
-
9
+
10
10
  - # Provision applications in the background and remove params
11
11
  - # Used to avoid double-provisioning on page reload and keep
12
12
  - # actual provisioning (create action) as POST
@@ -18,13 +18,11 @@
18
18
  else
19
19
  setTimeout(function() { defer(method) }, 50);
20
20
  }
21
-
21
+
22
22
  function provisionApps() {
23
23
  $(document).ready( function() {
24
-
25
- //window.location.href.replace(window.location.search,'');
26
- window.history.replaceState({}, 'Preparing Order', window.location.pathname + "?status=preparing");
27
-
24
+ window.history.replaceState({}, "#{t('mno_enterprise.provision.provision_apps.title')}", window.location.pathname + "?status=preparing");
25
+
28
26
  $.ajax({
29
27
  url: "#{provision_index_path}",
30
28
  method: "POST",
@@ -35,8 +33,8 @@
35
33
  }).always(function() {
36
34
  window.location.href = "#{after_provision_path}?dhbRefId=#{@organization.id}"
37
35
  });
38
-
36
+
39
37
  });
40
38
  }
41
-
39
+
42
40
  defer(provisionApps);
@@ -1,17 +1,17 @@
1
1
  .banners.promo.dark.darkblue
2
2
  .container
3
3
  .row
4
- %h2 Choose an organization
4
+ %h2= t('mno_enterprise.provision.select_organization.title')
5
5
  .banners.promo
6
6
  .container
7
7
  .row
8
8
  .col-md-6.col-md-offset-3
9
9
  .align-center
10
- %h3 You belong to multiple organizations
11
- %p Please select the organization you are making this new order for
10
+ %h3= t('mno_enterprise.provision.select_organization.explanation')
11
+ %p= t('mno_enterprise.provision.select_organization.select')
12
12
  = form_tag(new_provision_path, method: :get) do
13
13
  - @apps.each do |app|
14
14
  = hidden_field_tag 'apps[]', app
15
15
  = select_tag :organization_id, options_for_select(@organizations.map { |o| [o.name, o.id]} )
16
- = submit_tag 'Go', class: 'btn'
16
+ = submit_tag t('mno_enterprise.provision.select_organization.submit'), class: 'btn'
17
17
  .spacer4
@@ -3,11 +3,11 @@
3
3
  .container
4
4
  .row
5
5
  .col-md-6.text-center.col-md-offset-3
6
- %h3 You are about to be connected via our integration partner
6
+ %h3= t('.you_are_redirected')
7
7
  = image_tag('mno_enterprise/maestrano/logo-whitebg.png')
8
-
8
+
9
9
  .spacer1
10
-
10
+
11
11
  %hr
12
12
  = image_tag('mno_enterprise/loader-32x32-bg-inverse.gif')
13
13
  %hr
@@ -23,4 +23,4 @@
23
23
  window.location.href = "#{@redirect_to}";
24
24
  }
25
25
 
26
- defer(doRedirect);
26
+ defer(doRedirect);
@@ -6,24 +6,25 @@
6
6
  .col-md-6.text-center.col-md-offset-3
7
7
  = image_tag 'mno_enterprise/main-logo.png', class: 'top-picture'
8
8
  .spacer2
9
- %h3 Which version of MYOB do you use?
10
-
9
+ %h3= t('.which_version_used')
10
+
11
11
  .spacer1
12
-
12
+
13
13
  %hr
14
-
14
+
15
15
  - # form with options
16
16
  .align-center
17
17
  = form_tag authorize_webhook_oauth_path, method: :get do
18
18
  = hidden_field_tag :perform, true
19
-
19
+
20
20
  .spacer1
21
-
21
+
22
22
  .form-group
23
- %p My version of MYOB is:
24
- = select_tag :version, options_for_select([["Account Right Live","account_right"],["Essentials","essentials"]], "essentials")
25
-
23
+ %p= t('.my_version_is')
24
+ = select_tag :version, options_for_select([["Account Right (Desktop)","account_right"],["Essentials (Cloud)","essentials"]], "essentials")
25
+
26
26
  %hr
27
-
27
+
28
28
  .form-group
29
- %button{ class: 'btn btn-warning', type: 'submit' } Connect
29
+ %button{ class: 'btn btn-warning', type: 'submit' }
30
+ = t('.connect')
@@ -6,29 +6,30 @@
6
6
  .col-md-6.text-center.col-md-offset-3
7
7
  = image_tag 'mno_enterprise/main-logo.png', class: 'top-picture'
8
8
  .spacer2
9
- %h3 How do you want us to connect your Xero account?
10
-
9
+ %h3= t('.how_do_you_want_to_connect')
10
+
11
11
  .spacer1
12
-
12
+
13
13
  %hr
14
-
14
+
15
15
  - # form with options
16
16
  .align-center
17
17
  = form_tag authorize_webhook_oauth_path, method: :get do
18
18
  = hidden_field_tag :perform, true
19
-
20
- %p Do you want to connect any of the following extra modules?
19
+
20
+ %p= t('.which_extra_modules')
21
21
  .form-inline
22
22
  = check_box_tag 'extra_params[]', :payroll, false, {'ng-model' => 'payroll'}
23
23
  = label_tag :payroll
24
-
24
+
25
25
  .spacer1
26
26
 
27
27
  .form-group{'ng-if' => 'payroll', 'ng-cloak' => true}
28
- %p What is the country associated with your Xero account?
28
+ %p= t('.which_country_for_the_account')
29
29
  = select_tag :xero_country, options_for_select([["Australia","AU"],["USA","US"]], "AU")
30
30
 
31
31
  %hr
32
-
32
+
33
33
  .form-group
34
- %button{ class: 'btn btn-warning', type: 'submit' } Connect
34
+ %button{ class: 'btn btn-warning', type: 'submit' }
35
+ = t('.connect')