Commit 7a132b13 authored by Sascha's avatar Sascha

Merge branch 'develop' into 'master'

Preparing v1.8.2

Closes #80

See merge request psono/psono-client!99
parents 286afa15 13f30fc3
......@@ -17,7 +17,6 @@ var run = require('gulp-run');
var sass = require('gulp-sass');
var jwt = require('jsonwebtoken');
var karma_server = require('karma').Server;
var runSequence = require('run-sequence');
var webstore_upload = require('webstore-upload');
var fs = require("fs");
......@@ -58,7 +57,7 @@ var build = function(build_path, type) {
"src/common/data/css/lib/angular-datatables.css",
"src/common/data/css/lib/datatables.bootstrap.css",
"src/common/data/css/lib/angular-ui-select.css",
"src/common/data/css/lib/loading-barbar.min.css",
"src/common/data/css/lib/loading-bar.min.css",
'src/common/data/css/angular-tree-view.css',
'src/common/data/css/style.css'
])
......@@ -369,11 +368,10 @@ gulp.task('build-chrome', function() {
});
gulp.task('default', function(callback) {
runSequence(['sass', 'template'],
['build-chrome', 'build-firefox', 'build-webclient'],
callback);
});
gulp.task('default', gulp.series(
gulp.parallel('sass', 'template'),
gulp.parallel('build-chrome', 'build-firefox', 'build-webclient')
));
/**
* Watcher to compile the project again once something changes
......@@ -382,7 +380,8 @@ gulp.task('default', function(callback) {
* - initiates the task for the creation of the firefox build folder
* - initiates the task for the creation of the chrome build folder
*/
gulp.task('watch', ['default'], function() {
gulp.task('watch', gulp.series('default',
function() {
gulp.watch([
'src/common/data/**/*',
'src/chrome/**/*',
......@@ -391,8 +390,7 @@ gulp.task('watch', ['default'], function() {
'!src/common/data/css/**/*',
'!src/common/data/sass/**/*.scss'], ['build-webclient', 'build-firefox', 'build-chrome']);
gulp.watch('src/common/data/sass/**/*.scss', ['default']);
});
}));
/**
* Deploys the Chrome Extension to the Chrome Web Store
......@@ -459,12 +457,13 @@ gulp.task('firefox-deploy', function() {
});
gulp.task('updateversion', function() {
gulp.task('updateversion', function(cb) {
var commit_tag = process.env.CI_COMMIT_TAG;
var commit_sha = process.env.CI_COMMIT_SHA;
if (! /^v\d*\.\d*\.\d*$/.test(commit_tag)) {
cb();
return;
}
......@@ -497,6 +496,8 @@ gulp.task('updateversion', function() {
}))
.pipe(gulp.dest(path.join("./build/", browser)));
});
cb();
});
......@@ -504,7 +505,7 @@ gulp.task('updateversion', function() {
* Create ngdocs documentation once and exit
*/
gulp.task('docs', [], function () {
gulp.task('docs', function () {
var options = {
html5Mode: false,
......
......@@ -56,7 +56,7 @@
</div>
<form name="activationForm" ng-if="!success">
<form name="activationForm" ng-if="!success" autocomplete="off">
<div class="form-group">
<textarea rows="3" class="form-control" id="activationKey" placeholder="{{'KEY' | translate}}" ng-model="activationFormKey" required></textarea>
</div>
......
......@@ -30,7 +30,8 @@ body {
.panel-body .widget-searchform {
position: absolute;
right: 2px;
top: -36px; }
top: -36px;
width: 100%; }
.note {
font-style: italic; }
......
......@@ -40,7 +40,7 @@
<div ng-controller="WrapperCtrl" class="ng-cloak" id="panel">
<div ng-if="view === 'logged_in'" ng-controller="PanelCtrl">
<form name="searchForm" ng-if="!show_2fa_button">
<form name="searchForm" ng-if="!show_2fa_button" autocomplete="off">
<div class="form-group">
<input id="datastoresearch" name="datastoresearch" class="form-control" ng-model="datastore.search"
placeholder="{{'SEARCH_DATSTORE' | translate}}" autofocus>
......@@ -163,7 +163,7 @@
</div>
</form>
<form name="newServerForm" ng-if="view === 'new_server'">
<form name="newServerForm" ng-if="view === 'new_server'" autocomplete="off">
<!-- new Server View -->
<div class="form-group">
<h4>{{'NEW_SERVER' | translate}}</h4>
......@@ -192,7 +192,7 @@
</div>
</form>
<form name="signatureChangedForm" ng-if="view === 'signature_changed'">
<form name="signatureChangedForm" ng-if="view === 'signature_changed'" autocomplete="off">
<!-- signature changed View -->
<div class="form-group">
<h4>{{'SERVER_SIGNATURE_CHANGED' | translate}}:</h4>
......@@ -226,7 +226,7 @@
</div>
</form>
<form name="askPlainForm" ng-if="view === 'ask_send_plain'">
<form name="askPlainForm" ng-if="view === 'ask_send_plain'" autocomplete="off">
<!-- signature changed View -->
<div class="form-group">
<h4>{{'SERVER_ASKS_FOR_YOUR_PLAINTEXT_PASSWORD' | translate}}:</h4>
......@@ -249,7 +249,7 @@
</div>
</form>
<form name="googleAuthenticatorForm" ng-if="view === 'google_authenticator_2fa'">
<form name="googleAuthenticatorForm" ng-if="view === 'google_authenticator_2fa'" autocomplete="off">
<!-- google_authenticator_2fa View -->
<div class="form-group">
{{'ENTER_YOUR_GOOGLE_AUTHENTICATOR_CODE' | translate}}:
......@@ -270,7 +270,7 @@
</div>
</form>
<form name="yubikeyOTPForm" ng-if="view === 'yubikey_otp_2fa'">
<form name="yubikeyOTPForm" ng-if="view === 'yubikey_otp_2fa'" autocomplete="off">
<!-- yubikey_otp_2fa View -->
<div class="form-group">
{{'ENTER_YOUR_YUBIKEY_OTP_TOKEN' | translate}}:
......@@ -291,7 +291,7 @@
</div>
</form>
<form name="duoForm" ng-if="view === 'duo_2fa'">
<form name="duoForm" ng-if="view === 'duo_2fa'" autocomplete="off">
<!-- duo_2fa View -->
<div class="form-group">
{{'APPROVE_THE_PUSH_NOTIFICATION' | translate}}:
......
......@@ -45,7 +45,7 @@
<div class="lostpasswordbox dark">
<img src="img/logo.png" alt="Psono Web Client" id="logo">
<form name="emergencycodeActivationForm" ng-if="!data.status && view === 'default'">
<form name="emergencycodeActivationForm" ng-if="!data.status && view === 'default'" autocomplete="off">
<div ng-class="{'input-group': emergencycodeActivationFormUsername == null || emergencycodeActivationFormUsername.indexOf('@') == -1}">
<input type="text" class="form-control" id="lostpasswordUsername" placeholder="{{'USERNAME' | translate}}"
ng-model="emergencycodeActivationFormUsername" required aria-describedby="username-addon" autofocus>
......@@ -103,7 +103,7 @@
</form>
<form name="newServerForm" ng-if="view === 'new_server'">
<form name="newServerForm" ng-if="view === 'new_server'" autocomplete="off">
<!-- new Server View -->
<div class="form-group">
<h4>{{'NEW_SERVER' | translate}}</h4>
......@@ -132,7 +132,7 @@
</div>
</form>
<form name="signatureChangedForm" ng-if="view === 'signature_changed'">
<form name="signatureChangedForm" ng-if="view === 'signature_changed'" autocomplete="off">
<!-- signature changed View -->
<div class="form-group">
<h4>{{'SERVER_SIGNATURE_CHANGED' | translate}}:</h4>
......
......@@ -50,7 +50,7 @@
<h4>{{'SECOND_FACTOR_REQUIRED' | translate}}:</h4>
</div>
<form>
<form autocomplete="off">
<div class="row" ng-repeat="field in account.fields" style="padding-bottom: 10px;">
<label class="control-label col-xs-7 col-sm-7 col-md-7">
{{field.title | translate}}
......
......@@ -241,7 +241,7 @@
</div>
</form>
<form name="newServerForm" ng-if="view === 'new_server'">
<form name="newServerForm" ng-if="view === 'new_server'" autocomplete="off">
<!-- new Server View -->
<div class="form-group">
<h4>{{'NEW_SERVER' | translate}}</h4>
......@@ -270,7 +270,7 @@
</div>
</form>
<form name="signatureChangedForm" ng-if="view === 'signature_changed'">
<form name="signatureChangedForm" ng-if="view === 'signature_changed'" autocomplete="off">
<!-- signature changed View -->
<div class="form-group">
<h4>{{'SERVER_SIGNATURE_CHANGED' | translate}}:</h4>
......@@ -304,7 +304,7 @@
</div>
</form>
<form name="askPlainForm" ng-if="view === 'ask_send_plain'">
<form name="askPlainForm" ng-if="view === 'ask_send_plain'" autocomplete="off">
<!-- signature changed View -->
<div class="form-group">
<h4>{{'SERVER_ASKS_FOR_YOUR_PLAINTEXT_PASSWORD' | translate}}:</h4>
......@@ -327,7 +327,7 @@
</div>
</form>
<form name="googleAuthenticatorForm" ng-if="view === 'google_authenticator_2fa'">
<form name="googleAuthenticatorForm" ng-if="view === 'google_authenticator_2fa'" autocomplete="off">
<!-- google_authenticator_2fa View -->
<div class="form-group">
{{'ENTER_YOUR_GOOGLE_AUTHENTICATOR_CODE' | translate}}:
......@@ -348,7 +348,7 @@
</div>
</form>
<form name="yubikeyOTPForm" ng-if="view === 'yubikey_otp_2fa'">
<form name="yubikeyOTPForm" ng-if="view === 'yubikey_otp_2fa'" autocomplete="off">
<!-- yubikey_otp_2fa View -->
<div class="form-group">
{{'ENTER_YOUR_YUBIKEY_OTP_TOKEN' | translate}}:
......@@ -369,7 +369,7 @@
</div>
</form>
<form name="duoForm" ng-if="view === 'duo_2fa'">
<form name="duoForm" ng-if="view === 'duo_2fa'" autocomplete="off">
<!-- duo_2fa View -->
<div class="form-group">
{{'APPROVE_THE_PUSH_NOTIFICATION' | translate}}:
......
......@@ -55,7 +55,7 @@
<a href="index.html" class="btn btn-danger" role="button">{{'BACK_TO_HOME' | translate}}</a>
</div>
<form name="lostpasswordForm" ng-if="!success && !recovery_enabled">
<form name="lostpasswordForm" ng-if="!success && !recovery_enabled" autocomplete="off">
<div ng-class="{'input-group': lostpasswordFormUsername == null || lostpasswordFormUsername.indexOf('@') == -1}">
<input type="text" class="form-control" id="lostpasswordUsername" placeholder="{{'USERNAME' | translate}}"
ng-model="lostpasswordFormUsername" required aria-describedby="username-addon" autofocus>
......
......@@ -112,7 +112,7 @@
</div>
</form>
<form name="newServerForm" ng-if="view === 'new_server'">
<form name="newServerForm" ng-if="view === 'new_server'" autocomplete="off">
<!-- new Server View -->
<div class="form-group">
<h4>{{'NEW_SERVER' | translate}}</h4>
......@@ -141,7 +141,7 @@
</div>
</form>
<form name="signatureChangedForm" ng-if="view === 'signature_changed'">
<form name="signatureChangedForm" ng-if="view === 'signature_changed'" autocomplete="off">
<!-- signature changed View -->
<div class="form-group">
<h4>{{'SERVER_SIGNATURE_CHANGED' | translate}}:</h4>
......@@ -175,7 +175,7 @@
</div>
</form>
<form name="askPlainForm" ng-if="view === 'ask_send_plain'">
<form name="askPlainForm" ng-if="view === 'ask_send_plain'" autocomplete="off">
<!-- signature changed View -->
<div class="form-group">
<h4>{{'SERVER_ASKS_FOR_YOUR_PLAINTEXT_PASSWORD' | translate}}:</h4>
......@@ -198,7 +198,7 @@
</div>
</form>
<form name="googleAuthenticatorForm" ng-if="view === 'google_authenticator_2fa'">
<form name="googleAuthenticatorForm" ng-if="view === 'google_authenticator_2fa'" autocomplete="off">
<!-- google_authenticator_2fa View -->
<div class="form-group">
{{'ENTER_YOUR_GOOGLE_AUTHENTICATOR_CODE' | translate}}:
......@@ -219,7 +219,7 @@
</div>
</form>
<form name="yubikeyOTPForm" ng-if="view === 'yubikey_otp_2fa'">
<form name="yubikeyOTPForm" ng-if="view === 'yubikey_otp_2fa'" autocomplete="off">
<!-- yubikey_otp_2fa View -->
<div class="form-group">
{{'ENTER_YOUR_YUBIKEY_OTP_TOKEN' | translate}}:
......@@ -240,7 +240,7 @@
</div>
</form>
<form name="duoForm" ng-if="view === 'duo_2fa'">
<form name="duoForm" ng-if="view === 'duo_2fa'" autocomplete="off">
<!-- duo_2fa View -->
<div class="form-group">
{{'APPROVE_THE_PUSH_NOTIFICATION' | translate}}:
......
......@@ -39,6 +39,7 @@ body {
position: absolute;
right: 2px;
top: -36px;
width: 100%;
}
}
......
......@@ -17,7 +17,7 @@
</div>
<div class="panel-body" style="height: auto;">
<form class="form-horizontal" role="form">
<form class="form-horizontal" role="form" autocomplete="off">
<uib-tabset class="tabset_expand" active="active_tab">
<uib-tab index="$index" ng-repeat="tab in tabs" heading="{{ tab.title | translate }}" select="open_tab(tab.key)">
......
......@@ -19,7 +19,7 @@
</div>
<div class="panel-body">
<form name="searchTreeForm" class="widget-searchform">
<form name="searchTreeForm" class="widget-searchform" autocomplete="off">
<div class="row">
<div class="expandable" ng-class="{'col-xs-offset-4 col-xs-8 col-sm-offset-6 col-sm-6 col-md-offset-8 col-md-4': !focused, 'col-xs-12 col-sm-12 col-md-offset-6 col-md-6 focused': focused}">
<div class="input-group">
......@@ -104,7 +104,7 @@
</div>
<div class="col-lg-6" ng-if="show_share_content" ng-controller="ModalEditEntryBigCtrl">
<form name="editEntryForm" novalidate>
<form name="editEntryForm" novalidate autocomplete="off">
<div class="panel panel-default">
<div class="panel-heading">
......
......@@ -122,7 +122,7 @@
<div class="alert alert-info">
<strong>{{'INFO' | translate}}!</strong> {{'SECURITY_REPORT_GOAL' | translate}}
</div>
<form class="form-horizontal">
<form class="form-horizontal" autocomplete="off">
<div class="form-group">
<label class="control-label col-sm-2" for="password">
{{'YOUR_PASSWORD' | translate}} <em>{{'OPTIONAL_IN_BRACKETS' | translate}}</em>
......
......@@ -16,7 +16,7 @@
</div>
<div class="panel-body">
<form name="searchTreeForm" class="widget-searchform">
<form name="searchTreeForm" class="widget-searchform" autocomplete="off">
<div class="row">
<div class="expandable" ng-class="{'col-xs-offset-4 col-xs-8 col-sm-offset-6 col-sm-6 col-md-offset-8 col-md-4': !focused, 'col-xs-12 col-sm-12 col-md-offset-6 col-md-6 focused': focused}">
<div class="input-group">
......
<form name="modalAcceptShareForm" novalidate>
<form name="modalAcceptShareForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{ title }}</h3>
......
<form name="modalAddGPGReceiverForm" novalidate>
<form name="modalAddGPGReceiverForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'ADDRESS_BOOK' | translate}}</h3>
......
<form name="modalAddGPGUserForm" novalidate>
<form name="modalAddGPGUserForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'ADD_GPG_USER' | translate}}</h3>
......
<form name="modalMoveEntryForm" novalidate>
<form name="modalMoveEntryForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{ title | translate }}</h3>
......
<form name="modalMoveEntryForm" novalidate>
<form name="modalMoveEntryForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{ title | translate }}</h3>
......
<form name="modalCreateAPIKeyForm" novalidate>
<form name="modalCreateAPIKeyForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'CREATE_NEW_API_KEY' | translate}}</h3>
......
<form name="modalCreateDatastoreForm" novalidate>
<form name="modalCreateDatastoreForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'CREATE_DATASTORE' | translate}}</h3>
......
<form name="modalDecryptMessageGPGForm" novalidate>
<form name="modalDecryptMessageGPGForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'DECRYPT_MESSAGE' | translate}}</h3>
......
<form name="displayShareRightsForm" novalidate>
<form name="displayShareRightsForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'SHARE_RIGHTS_OF' | translate}} {{node.name}}</h3>
......
<form name="modalEditAPIKeyForm" novalidate>
<form name="modalEditAPIKeyForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'EDIT_API_KEY' | translate}}</h3>
......
<form name="modalEditDatastoreForm" novalidate>
<form name="modalEditDatastoreForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'EDIT_DATASTORE' | translate}}</h3>
......
<form name="editEntryForm" novalidate>
<form name="editEntryForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'EDIT' | translate}} {{bp.selected.name | translate}}</h3>
......
<form name="editFolderForm" novalidate>
<form name="editFolderForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'EDIT_FOLDER' | translate}}</h3>
......
<form name="editFolderForm" novalidate>
<form name="editFolderForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'EDIT_USER' | translate}}</h3>
......
<form name="editGroupForm" novalidate>
<form name="editGroupForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'EDIT_GROUP' | translate}}</h3>
......
<form name="modalEncryptMessageGPGForm" novalidate>
<form name="modalEncryptMessageGPGForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'ENCRYPT_MESSAGE' | translate}}</h3>
......
<form name="modalShowRecoverycodeForm" novalidate>
<form name="modalShowRecoverycodeForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="close()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'GENERATE_NEW_GPG_KEY' | translate}}</h3>
......
<form name="goOfflineForm" novalidate>
<form name="goOfflineForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'CACHING' | translate}}</h3>
......
<form name="modalHistoryForm" novalidate>
<form name="modalHistoryForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'HISTORY' | translate}}</h3>
......
<form name="modalShowRecoverycodeForm" novalidate>
<form name="modalShowRecoverycodeForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="close()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'IMPORT_GPG_KEY' | translate}}</h3>
......
<form name="newEntryForm" novalidate>
<form name="newEntryForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'NEW' | translate}} {{bp.selected.name | translate}}</h3>
......
<form name="newFolderForm" novalidate>
<form name="newFolderForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'NEW_FOLDER' | translate}}</h3>
......
<form name="newGroupForm" novalidate>
<form name="newGroupForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'NEW_GROUP' | translate}}</h3>
......
<form name="newGroupForm" novalidate>
<form name="newGroupForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'PICK_USER' | translate}}</h3>
......
<form name="modalSetupGoogleAuthenticatorForm" novalidate>
<form name="modalSetupGoogleAuthenticatorForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="close()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'GOOGLE_AUTHENTICATOR' | translate}}</h3>
......
<form name="modalSetupYubikeyOTPForm" novalidate>
<form name="modalSetupYubikeyOTPForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="close()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'YUBIKEY' | translate}}</h3>
......
<form name="shareEntryForm" novalidate>
<form name="shareEntryForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'SHARE' | translate}} {{node.name}}</h3>
......
<form name="editEntryForm" novalidate>
<form name="editEntryForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'SHOW' | translate}} {{bp.selected.name | translate}}</h3>
......
<form name="modalShowRecoverycodeForm" novalidate>
<form name="modalShowRecoverycodeForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="close()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'RECOVERY_INFORMATION' | translate}}</h3>
......
<form name="unlockOfflineCacheForm" novalidate>
<form name="unlockOfflineCacheForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{'UNLOCK_OFFLINE_CACHE' | translate}}</h3>
......
<form name="modalDeleteVerifyForm" novalidate>
<form name="modalDeleteVerifyForm" novalidate autocomplete="off">
<div class="modal-header">
<button type="button" class="close" ng-click="cancel()"><span aria-hidden="true">&times;</span></button>
<h3 class="modal-title">{{ title | translate }}</h3>
......
......@@ -211,7 +211,7 @@
</div>
<hr>
<form class="form-horizontal" ng-if="!export_disabled">
<form class="form-horizontal" ng-if="!export_disabled" autocomplete="off">
<div class="form-group">
<label class="control-label col-sm-2" for="export_type">
{{'TYPE' | translate}}:
......@@ -261,7 +261,7 @@
</div>
<hr>
<form class="form-horizontal">
<form class="form-horizontal" autocomplete="off">
<div class="form-group">
<label class="control-label col-sm-2" for="import_type">
{{'TYPE' | translate}}:
......
......@@ -17,7 +17,7 @@
</div>
<div class="panel-body" style="height: auto;">
<form class="form-horizontal" role="form">
<form class="form-horizontal" role="form" autocomplete="off">
<uib-tabset class="tabset_expand" active="active_tab">
<uib-tab index="$index" ng-repeat="tab in tabs" heading="{{ tab.title | translate }}" select="open_tab(tab.key)">
......
This source diff could not be displayed because it is too large. You can view the blob instead.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment