Merge branch 'private-me-form-new-password' into develop

This commit is contained in:
Martin Edenhofer 2017-04-19 01:09:57 +02:00
commit e9104157f8
21 changed files with 51 additions and 85 deletions

View file

@ -226,7 +226,10 @@ class App.ControllerForm extends App.Controller
# set autocomplete option
if attribute.autocomplete is undefined
if attribute.type is 'hidden'
attribute.autocomplete = ''
else
attribute.autocomplete = 'autocomplete="new-password"'
else
attribute.autocomplete = 'autocomplete="' + attribute.autocomplete + '"'

View file

@ -533,8 +533,8 @@ class App.ChannelEmailAccountWizard extends App.WizardModal
# base
configureAttributesBase = [
{ name: 'realname', display: 'Organization & Department Name', tag: 'input', type: 'text', limit: 160, null: false, placeholder: 'Organization Support', autocomplete: 'off' },
{ name: 'email', display: 'Email', tag: 'input', type: 'email', limit: 120, null: false, placeholder: 'support@example.com', autocapitalize: false, autocomplete: 'off' },
{ name: 'realname', display: 'Organization & Department Name', tag: 'input', type: 'text', limit: 160, null: false, placeholder: 'Organization Support', autocomplete: 'new-password' },
{ name: 'email', display: 'Email', tag: 'input', type: 'email', limit: 120, null: false, placeholder: 'support@example.com', autocapitalize: false, autocomplete: 'new-password' },
{ name: 'password', display: 'Password', tag: 'input', type: 'password', limit: 120, null: false, autocapitalize: false, autocomplete: 'new-password', single: true },
{ name: 'group_id', display: 'Destination Group', tag: 'select', null: false, relation: 'Group', nulloption: true },
]
@ -564,7 +564,7 @@ class App.ChannelEmailAccountWizard extends App.WizardModal
configureAttributesInbound = [
{ name: 'adapter', display: 'Type', tag: 'select', multiple: false, null: false, options: @channelDriver.email.inbound },
{ name: 'options::host', display: 'Host', tag: 'input', type: 'text', limit: 120, null: false, autocapitalize: false },
{ name: 'options::user', display: 'User', tag: 'input', type: 'text', limit: 120, null: false, autocapitalize: false, autocomplete: 'off', },
{ name: 'options::user', display: 'User', tag: 'input', type: 'text', limit: 120, null: false, autocapitalize: false, autocomplete: 'new-password', },
{ name: 'options::password', display: 'Password', tag: 'input', type: 'password', limit: 120, null: false, autocapitalize: false, autocomplete: 'new-password', single: true },
{ name: 'options::ssl', display: 'SSL', tag: 'boolean', null: true, options: { true: 'yes', false: 'no' }, default: true, translate: true, item_class: 'formGroup--halfSize' },
{ name: 'options::port', display: 'Port', tag: 'input', type: 'text', limit: 6, null: true, autocapitalize: false, default: '993', item_class: 'formGroup--halfSize' },
@ -618,7 +618,7 @@ class App.ChannelEmailAccountWizard extends App.WizardModal
if adapter is 'smtp'
configureAttributesOutbound = [
{ name: 'options::host', display: 'Host', tag: 'input', type: 'text', limit: 120, null: false, autocapitalize: false, autofocus: true },
{ name: 'options::user', display: 'User', tag: 'input', type: 'text', limit: 120, null: true, autocapitalize: false, autocomplete: 'off', },
{ name: 'options::user', display: 'User', tag: 'input', type: 'text', limit: 120, null: true, autocapitalize: false, autocomplete: 'new-password', },
{ name: 'options::password', display: 'Password', tag: 'input', type: 'password', limit: 120, null: true, autocapitalize: false, autocomplete: 'new-password', single: true },
{ name: 'options::port', display: 'Port', tag: 'input', type: 'text', limit: 6, null: true, autocapitalize: false },
]
@ -932,7 +932,7 @@ class App.ChannelEmailNotificationWizard extends App.WizardModal
if adapter is 'smtp'
configureAttributesOutbound = [
{ name: 'options::host', display: 'Host', tag: 'input', type: 'text', limit: 120, null: false, autocapitalize: false, autofocus: true },
{ name: 'options::user', display: 'User', tag: 'input', type: 'text', limit: 120, null: true, autocapitalize: false, autocomplete: 'off' },
{ name: 'options::user', display: 'User', tag: 'input', type: 'text', limit: 120, null: true, autocapitalize: false, autocomplete: 'new-password' },
{ name: 'options::password', display: 'Password', tag: 'input', type: 'password', limit: 120, null: true, autocapitalize: false, autocomplete: 'new-password', single: true },
{ name: 'options::port', display: 'Port', tag: 'input', type: 'text', limit: 6, null: true, autocapitalize: false },
]

View file

@ -450,7 +450,7 @@ class EmailNotification extends App.WizardFullScreen
if adapter is 'smtp'
configureAttributesOutbound = [
{ name: 'options::host', display: 'Host', tag: 'input', type: 'text', limit: 120, null: false, autocapitalize: false, autofocus: true },
{ name: 'options::user', display: 'User', tag: 'input', type: 'text', limit: 120, null: true, autocapitalize: false, autocomplete: 'off' },
{ name: 'options::user', display: 'User', tag: 'input', type: 'text', limit: 120, null: true, autocapitalize: false, autocomplete: 'new-password' },
{ name: 'options::password', display: 'Password', tag: 'input', type: 'password', limit: 120, null: true, autocapitalize: false, autocomplete: 'new-password', single: true },
{ name: 'options::port', display: 'Port', tag: 'input', type: 'text', limit: 6, null: true, autocapitalize: false },
]
@ -673,7 +673,7 @@ class ChannelEmail extends App.WizardFullScreen
configureAttributesInbound = [
{ name: 'adapter', display: 'Type', tag: 'select', multiple: false, null: false, options: @channelDriver.email.inbound },
{ name: 'options::host', display: 'Host', tag: 'input', type: 'text', limit: 120, null: false, autocapitalize: false },
{ name: 'options::user', display: 'User', tag: 'input', type: 'text', limit: 120, null: false, autocapitalize: false, autocomplete: 'off', },
{ name: 'options::user', display: 'User', tag: 'input', type: 'text', limit: 120, null: false, autocapitalize: false, autocomplete: 'new-password', },
{ name: 'options::password', display: 'Password', tag: 'input', type: 'password', limit: 120, null: false, autocapitalize: false, autocomplete: 'new-password', single: true },
{ name: 'options::ssl', display: 'SSL', tag: 'boolean', null: true, options: { true: 'yes', false: 'no' }, default: true, translate: true, item_class: 'formGroup--halfSize' },
{ name: 'options::port', display: 'Port', tag: 'input', type: 'text', limit: 6, null: true, autocapitalize: false, default: '993', item_class: 'formGroup--halfSize' },
@ -725,7 +725,7 @@ class ChannelEmail extends App.WizardFullScreen
if adapter is 'smtp'
configureAttributesOutbound = [
{ name: 'options::host', display: 'Host', tag: 'input', type: 'text', limit: 120, null: false, autocapitalize: false, autofocus: true },
{ name: 'options::user', display: 'User', tag: 'input', type: 'text', limit: 120, null: true, autocapitalize: false, autocomplete: 'off', },
{ name: 'options::user', display: 'User', tag: 'input', type: 'text', limit: 120, null: true, autocapitalize: false, autocomplete: 'new-password', },
{ name: 'options::password', display: 'Password', tag: 'input', type: 'password', limit: 120, null: true, autocapitalize: false, autocomplete: 'new-password', single: true },
{ name: 'options::port', display: 'Port', tag: 'input', type: 'text', limit: 6, null: true, autocapitalize: false },
]

View file

@ -10,7 +10,7 @@ class App.User extends App.Model
{ name: 'lastname', display: 'Lastname', tag: 'input', type: 'text', limit: 100, null: false, signup: true, info: true, invite_agent: true, invite_customer: true },
{ name: 'email', display: 'Email', tag: 'input', type: 'email', limit: 100, null: false, signup: true, info: true, invite_agent: true, invite_customer: true },
{ name: 'organization_id', display: 'Organization', tag: 'select', multiple: false, nulloption: true, null: true, relation: 'Organization', signup: false, info: true, invite_customer: true },
{ name: 'password', display: 'Password', tag: 'input', type: 'password', limit: 50, null: true, autocomplete: 'off', signup: true, },
{ name: 'password', display: 'Password', tag: 'input', type: 'password', limit: 50, null: true, autocomplete: 'new-password', signup: true, },
{ name: 'note', display: 'Note', tag: 'textarea', note: 'Notes are visible to agents only, never to customers.', limit: 250, null: true, info: true, invite_customer: true },
{ name: 'role_ids', display: 'Permissions', tag: 'user_permission', null: false, invite_agent: true, invite_customer: true, item_class: 'checkbox' },
{ name: 'active', display: 'Active', tag: 'active', default: true },

View file

@ -1,10 +1,6 @@
<div class="modal-dialog wizard">
<form autocomplete="off" class="modal-content setup wizard js-intro" autocomplete="off">
<!-- dummy to prevent chrome to ask for password save -->
<input style="display:none">
<input type="password" style="display:none">
<!-- /dummy to prevent chrome to ask for password save -->
<form class="modal-content setup wizard js-intro">
<div class="modal-header">
<div class="modal-close js-close">
<%- @Icon('diagonal-cross') %>
@ -27,7 +23,7 @@
</div>
</form>
<form autocomplete="off" class="modal-content setup wizard hide js-probe">
<form class="modal-content setup wizard hide js-probe">
<div class="modal-header">
<div class="modal-close js-close">
<%- @Icon('diagonal-cross') %>
@ -44,7 +40,7 @@
<div class="modal-footer"></div>
</form>
<form autocomplete="off" class="modal-content setup wizard hide js-test">
<form class="modal-content setup wizard hide js-test">
<div class="modal-header">
<div class="modal-close js-close">
<%- @Icon('diagonal-cross') %>
@ -61,7 +57,7 @@
<div class="modal-footer"></div>
</form>
<form autocomplete="off" class="modal-content setup wizard hide js-verify">
<form class="modal-content setup wizard hide js-verify">
<div class="modal-header">
<div class="modal-close js-close">
<%- @Icon('diagonal-cross') %>
@ -79,11 +75,7 @@
<div class="modal-footer"></div>
</form>
<form autocomplete="off" class="modal-content setup wizard hide js-inbound" autocomplete="off">
<!-- dummy to prevent chrome to ask for password save -->
<input style="display:none">
<input type="password" style="display:none">
<!-- /dummy to prevent chrome to ask for password save -->
<form class="modal-content setup wizard hide js-inbound">
<div class="modal-header">
<div class="modal-close js-close">
<%- @Icon('diagonal-cross') %>
@ -106,7 +98,7 @@
</div>
</form>
<form autocomplete="off" class="modal-content setup wizard hide js-inbound-acknowledge">
<form class="modal-content setup wizard hide js-inbound-acknowledge">
<div class="modal-header">
<div class="modal-close js-close">
<%- @Icon('diagonal-cross') %>
@ -129,11 +121,7 @@
</div>
</form>
<form autocomplete="off" class="modal-content setup wizard hide js-outbound" autocomplete="off">
<!-- dummy to prevent chrome to ask for password save -->
<input style="display:none">
<input type="password" style="display:none">
<!-- /dummy to prevent chrome to ask for password save -->
<form class="modal-content setup wizard hide js-outbound">
<div class="modal-header">
<div class="modal-close js-close">
<%- @Icon('diagonal-cross') %>

View file

@ -34,12 +34,7 @@
<div class="modal-footer"></div>
</form>
<form class="modal-content setup wizard js-outbound" autocomplete="off">
<!-- dummy to prevent chrome to ask for password save -->
<input style="display:none">
<input type="password" style="display:none">
<!-- /dummy to prevent chrome to ask for password save -->
<div class="modal-header">
<form class="modal-content setup wizard js-outbound">
<div class="modal-close js-close">
<%- @Icon('diagonal-cross') %>
</div>

View file

@ -9,7 +9,7 @@
<label for="application_id">Facebook APP ID <span>*</span></label>
</div>
<div class="controls">
<input id="application_id" type="text" name="application_id" value="<% if @external_credential && @external_credential.credentials: %><%= @external_credential.credentials.application_id %><% end %>" class="form-control" required autocomplete="off" >
<input id="application_id" type="text" name="application_id" value="<% if @external_credential && @external_credential.credentials: %><%= @external_credential.credentials.application_id %><% end %>" class="form-control" required autocomplete="new-password">
</div>
</div>
<div class="input form-group">
@ -17,7 +17,7 @@
<label for="application_secret">Facebook App Secret <span>*</span></label>
</div>
<div class="controls">
<input id="application_secret" type="text" name="application_secret" value="<% if @external_credential && @external_credential.credentials: %><%= @external_credential.credentials.application_secret %><% end %>" class="form-control" required autocomplete="off" >
<input id="application_secret" type="text" name="application_secret" value="<% if @external_credential && @external_credential.credentials: %><%= @external_credential.credentials.application_secret %><% end %>" class="form-control" required autocomplete="new-password">
</div>
</div>
<h2><%- @T('Your callback URL') %></h2>

View file

@ -8,7 +8,7 @@
<% end %>
<% if @buttons: %>
<% for button in @buttons: %>
<a data-type="<%= button['data-type'] %>" class="btn <%= button['class'] %>"><%- @T( button.name ) %></a>
<a data-type="<%= button['data-type'] %>" class="btn <%= button.class %>" href="<%= button.href %>"><%- @T(button.name) %></a>
<% end %>
<% end %>
</div>

View file

@ -1,3 +1,3 @@
<input id="<%= @attribute.id %>" type="hidden" name="<%= @attribute.name %>" value="<%= @attribute.value %>" <%= @attribute.required %> />
<input id="<%= @attribute.id %>_autocompletion" type="text" name="<%= @attribute.name %>_autocompletion" value="<%= @attribute.valueShown %>" class="form-control <%= @attribute.class %>" <%= @attribute.required %> <%= @attribute.autofocus %> <%- @attribute.autocapitalize %> <% if @attribute.placeholder: %>placeholder="<%- @Ti(@attribute.placeholder) %>"<% end %>/>
<input id="<%= @attribute.id %>_autocompletion" type="text" name="<%= @attribute.name %>_autocompletion" value="<%= @attribute.valueShown %>" class="form-control <%= @attribute.class %>" <%= @attribute.required %> <%= @attribute.autofocus %> <%- @attribute.autocapitalize %> <% if @attribute.placeholder: %>placeholder="<%- @Ti(@attribute.placeholder) %>"<% end %> autocomplete="new-password"/>
<input id="<%= @attribute.id %>_autocompletion_value_shown" type="hidden" name="<%= @attribute.name %>_autocompletion_value_shown" value="<%= @attribute.valueShown %>"/>

View file

@ -3,7 +3,7 @@
<% if @attribute.multiple: %>
<%- @tokens %>
<% end %>
<input name="<%- @attribute.name %>_completion" class="user-select token-input js-objectSelect" autocapitalize="off" placeholder="<%- @attribute.placeholder %>" autocomplete="off" role="textbox" aria-autocomplete="list" value="<%= @name %>" aria-haspopup="true">
<input name="<%- @attribute.name %>_completion" class="user-select token-input js-objectSelect" autocapitalize="off" placeholder="<%- @attribute.placeholder %>" autocomplete="new-password" <%= @attribute.autofocus %> role="textbox" aria-autocomplete="list" value="<%= @name %>" aria-haspopup="true">
<% if @attribute.disableCreateObject isnt true: %><%- @Icon('arrow-down', 'dropdown-arrow') %><% end %>
</div>

View file

@ -11,7 +11,7 @@
class="searchableSelect-main form-control js-input<%= " #{ @class }" if @class %>"
placeholder="<%= @placeholder %>"
value="<%= @valueName %>"
autocomplete="off"
autocomplete="new-password"
>
<div class="searchableSelect-autocomplete">
<span class="searchableSelect-autocomplete-invisible js-autocomplete-invisible"></span>

View file

@ -1,6 +1,6 @@
<div class="main flex vertical centered darkBackground">
<%- @Icon('full-logo', 'wizard-logo') %>
<form class="setup wizard js-admin" autocomplete="off">
<form class="setup wizard js-admin">
<div class="wizard-slide">
<h2><%- @T('Administrator Account') %></h2>
<div class="wizard-body vertical justified js-admin-form"></div>

View file

@ -1,6 +1,6 @@
<div class="main flex vertical centered darkBackground">
<%- @Icon('full-logo', 'wizard-logo') %>
<form class="setup wizard js-agent" autocomplete="off">
<form class="setup wizard js-agent">
<div class="wizard-slide">
<h2><%- @T('Invite Colleagues') %></h2>
<div class="wizard-body vertical justified js-agent-form"></div>

View file

@ -1,11 +1,7 @@
<div class="main flex vertical centered darkBackground">
<%- @Icon('full-logo', 'wizard-logo') %>
<form class="setup wizard js-intro" autocomplete="off">
<!-- dummy to prevent chrome to ask for password save -->
<input style="display:none">
<input type="password" style="display:none">
<!-- /dummy to prevent chrome to ask for password save -->
<form class="setup wizard js-intro">
<div class="wizard-slide">
<h2><%- @T('Email Account') %></h2>
<div class="wizard-body vertical justified">
@ -13,11 +9,11 @@
<fieldset>
<div class="form-group">
<label><%- @T('Full Name') %></label>
<input type="text" class="form-control" value="" name="realname" placeholder="<%- @Ti('Organization Support') %>" required>
<input type="text" class="form-control" value="" name="realname" placeholder="<%- @Ti('Organization Support') %>" required autocomplete="new-password">
</div>
<div class="form-group">
<label><%- @T('Email') %></label>
<input type="email" class="form-control" value="" name="email" placeholder="<%- @Ti('support@example.com') %>" required autocomplete="off">
<input type="email" class="form-control" value="" name="email" placeholder="<%- @Ti('support@example.com') %>" required autocomplete="new-password">
</div>
<div class="form-group">
<label><%- @T('Password') %></label>
@ -66,11 +62,7 @@
</div>
</form>
<form class="setup wizard hide js-inbound" autocomplete="off">
<!-- dummy to prevent chrome to ask for password save -->
<input style="display:none">
<input type="password" style="display:none">
<!-- /dummy to prevent chrome to ask for password save -->
<form class="setup wizard hide js-inbound">
<div class="wizard-slide">
<h2><%- @T('Email Inbound') %></h2>
<div class="wizard-body vertical justified">
@ -98,11 +90,7 @@
</div>
</form>
<form class="setup wizard hide js-outbound" autocomplete="off">
<!-- dummy to prevent chrome to ask for password save -->
<input style="display:none">
<input type="password" style="display:none">
<!-- /dummy to prevent chrome to ask for password save -->
<form class="setup wizard hide js-outbound">
<div class="wizard-slide">
<h2><%- @T('Email Outbound') %></h2>
<div class="wizard-body vertical justified">

View file

@ -1,11 +1,7 @@
<div class="main flex vertical centered darkBackground">
<%- @Icon('full-logo', 'wizard-logo') %>
<form class="setup wizard js-outbound" autocomplete="off">
<!-- dummy to prevent chrome to ask for password save -->
<input style="display:none">
<input type="password" style="display:none">
<!-- /dummy to prevent chrome to ask for password save -->
<form class="setup wizard js-outbound">
<div class="wizard-slide">
<h2><%- @T('Email Notification') %></h2>
<div class="wizard-body vertical justified">

View file

@ -9,7 +9,7 @@
<label for="api_token"><%- @T('%s Api Token', 'Telegram') %> <span>*</span></label>
</div>
<div class="controls">
<input id="api_token" type="text" name="api_token" value="" class="form-control" required autocomplete="off">
<input id="api_token" type="text" name="api_token" value="" class="form-control" required autocomplete="new-password">
</div>
</div>
<h2><%- @T('Settings') %></h2>
@ -18,7 +18,7 @@
<label for="welcome"><%- @T('Welcome message') %> <span>*</span></label>
</div>
<div class="controls">
<input id="welcome" type="text" name="welcome" value="" placeholder="<%- @Ti('You are welcome! Just ask me something!') %>" class="form-control" required autocomplete="off">
<input id="welcome" type="text" name="welcome" value="" placeholder="<%- @Ti('You are welcome! Just ask me something!') %>" class="form-control" required autocomplete="new-password">
</div>
</div>
<div class="input form-group">

View file

@ -6,7 +6,7 @@
<label for="api_token"><%- @T('%s Api Token', 'Telegram') %> <span>*</span></label>
</div>
<div class="controls">
<input id="api_token" type="text" name="api_token" value="<%= @channel.options.api_token %>" class="form-control" required autocomplete="off">
<input id="api_token" type="text" name="api_token" value="<%= @channel.options.api_token %>" class="form-control" required autocomplete="new-password">
</div>
</div>
<h2><%- @T('Settings') %></h2>
@ -15,7 +15,7 @@
<label for="welcome"><%- @T('welcome message') %> <span>*</span></label>
</div>
<div class="controls">
<input id="welcome" type="text" name="welcome" value="<%= @channel.options.welcome %>" placeholder="<%- @Ti('You are welcome! Just ask me something!') %>" class="form-control" required autocomplete="off">
<input id="welcome" type="text" name="welcome" value="<%= @channel.options.welcome %>" placeholder="<%- @Ti('You are welcome! Just ask me something!') %>" class="form-control" required autocomplete="new-password">
</div>
</div>
<div class="input form-group">

View file

@ -9,7 +9,7 @@
<label for="consumer_key">Twitter Consumer Key <span>*</span></label>
</div>
<div class="controls">
<input id="consumer_key" type="text" name="consumer_key" value="<% if @external_credential && @external_credential.credentials: %><%= @external_credential.credentials.consumer_key %><% end %>" class="form-control" required autocomplete="off" >
<input id="consumer_key" type="text" name="consumer_key" value="<% if @external_credential && @external_credential.credentials: %><%= @external_credential.credentials.consumer_key %><% end %>" class="form-control" required autocomplete="new-password" >
</div>
</div>
<div class="input form-group">
@ -17,7 +17,7 @@
<label for="consumer_secret">Twitter Consumer Secret <span>*</span></label>
</div>
<div class="controls">
<input id="consumer_secret" type="text" name="consumer_secret" value="<% if @external_credential && @external_credential.credentials: %><%= @external_credential.credentials.consumer_secret %><% end %>" class="form-control" required autocomplete="off" >
<input id="consumer_secret" type="text" name="consumer_secret" value="<% if @external_credential && @external_credential.credentials: %><%= @external_credential.credentials.consumer_secret %><% end %>" class="form-control" required autocomplete="new-password" >
</div>
</div>
<h2><%- @T('Your callback URL') %></h2>

View file

@ -1,10 +1,6 @@
<div class="modal-dialog wizard">
<form class="modal-content setup wizard js-user" autocomplete="off">
<!-- dummy to prevent chrome to ask for password save -->
<input style="display:none">
<input type="password" style="display:none">
<!-- /dummy to prevent chrome to ask for password save -->
<form class="modal-content setup wizard js-user">
<div class="modal-header">
<div class="modal-close js-close">
<%- @Icon('diagonal-cross') %>

View file

@ -4,7 +4,7 @@
<%- @T( 'Search' ) %>
<br>
-->
<input type="text" name="" id="text-module-search" class="span2" value="<%= @search %>" autocomplete="off"/>
<input type="text" name="" id="text-module-search" class="span2" value="<%= @search %>" autocomplete="new-password"/>
<a href="#" class="close">&times;</a>
<br>
<div id="form-text-module" class="max-size-scroll"></div>