mirror of
https://github.com/nextcloud/passman.git
synced 2025-09-22 12:54:37 +08:00
Add SettingService, setting default vault works
This commit is contained in:
parent
086a4879d4
commit
9c49cc3e1c
8 changed files with 71 additions and 6 deletions
|
@ -16,7 +16,8 @@ angular
|
|||
'ngRoute',
|
||||
'ngSanitize',
|
||||
'ngTouch',
|
||||
'templates-main'
|
||||
'templates-main',
|
||||
'LocalStorageModule'
|
||||
])
|
||||
.config(function ($routeProvider) {
|
||||
$routeProvider
|
||||
|
@ -29,4 +30,7 @@ angular
|
|||
});
|
||||
}).config(['$httpProvider', function ($httpProvider) {
|
||||
$httpProvider.defaults.headers.common.requesttoken = oc_requesttoken;
|
||||
}]);
|
||||
}]).config(function (localStorageServiceProvider) {
|
||||
localStorageServiceProvider
|
||||
.setNotify(true, true);
|
||||
});
|
||||
|
|
|
@ -8,17 +8,35 @@
|
|||
* Controller of the passmanApp
|
||||
*/
|
||||
angular.module('passmanApp')
|
||||
.controller('VaultCtrl', ['$scope', 'VaultService', function ($scope, VaultService) {
|
||||
.controller('VaultCtrl', ['$scope', 'VaultService', 'SettingsService', function ($scope, VaultService, SettingsService) {
|
||||
VaultService.getVaults().then(function (vaults) {
|
||||
$scope.vaults = vaults;
|
||||
if(SettingsService.getSetting('defaultVault') != null){
|
||||
var default_vault = SettingsService.getSetting('defaultVault');
|
||||
angular.forEach(vaults, function (vault) {
|
||||
if(vault.guid == default_vault.guid){
|
||||
$scope.default_vault = true;
|
||||
$scope.list_selected_vault = SettingsService.getSetting('defaultVault');
|
||||
return;
|
||||
}
|
||||
})
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
$scope.default_vault = false;
|
||||
$scope.remember_vault_password = false;
|
||||
|
||||
$scope.list_selected_vault = false;
|
||||
|
||||
$scope.toggleDefaultVault = function(){
|
||||
$scope.default_vault = !$scope.default_vault;
|
||||
if($scope.default_vault == true){
|
||||
SettingsService.setSetting('defaultVault', $scope.list_selected_vault);
|
||||
} else {
|
||||
SettingsService.setSetting('defaultVault', null);
|
||||
}
|
||||
};
|
||||
|
||||
$scope.clearState = function () {
|
||||
$scope.list_selected_vault = false;
|
||||
$scope.creating_vault = false;
|
||||
|
|
31
js/app/services/settingsservice.js
Normal file
31
js/app/services/settingsservice.js
Normal file
|
@ -0,0 +1,31 @@
|
|||
'use strict';
|
||||
|
||||
/**
|
||||
* @ngdoc service
|
||||
* @name passmanApp.VaultService
|
||||
* @description
|
||||
* # VaultService
|
||||
* Service in the passmanApp.
|
||||
*/
|
||||
angular.module('passmanApp')
|
||||
.service('SettingsService', ['localStorageService', function (localStorageService) {
|
||||
var settings = {
|
||||
defaultVault: null,
|
||||
defaultVaultPassword: null
|
||||
};
|
||||
|
||||
var cookie = localStorageService.get('settings');
|
||||
settings = angular.merge(settings, cookie);
|
||||
return {
|
||||
getSettings: function(){
|
||||
return settings
|
||||
},
|
||||
getSetting: function(name){
|
||||
return settings[name]
|
||||
},
|
||||
setSetting: function (name, value) {
|
||||
settings[name] = value;
|
||||
localStorageService.set('settings', settings);
|
||||
}
|
||||
}
|
||||
}]);
|
|
@ -3,5 +3,5 @@ angular.module('templates-main', ['views/vaults.html']);
|
|||
angular.module('views/vaults.html', []).run(['$templateCache', function($templateCache) {
|
||||
'use strict';
|
||||
$templateCache.put('views/vaults.html',
|
||||
'<div class="vault_wrapper"><div class="vaults" ng-if="!list_selected_vault && !creating_vault"><div class="ui-select-container ui-select-bootstrap vaultlist"><ul><li ng-click="newVault()">+ Create a new vault</li><li ng-repeat="vault in vaults" ng-class="{\'selected\': vault == list_selected_vault }" ng-click="selectVault(vault)"><div><span class="ui-select-choices-row-inner"><div class="ng-binding ng-scope">{{vault.name}}</div><small class="ng-binding ng-scope">Created: {{vault.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}} | Last accessed: {{vault.last_access * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</small></span></div></li><li ng-if="vaults.length === 0">No vaults found, why not create one?</li></ul></div></div><div ng-if="creating_vault"><div class="login_form" ng-init="vault_name = \'\' ">Please give your new vault a name.<div><input type="text" ng-model="vault_name"></div><div class="button_wrapper"><div class="button button-geen" ng-click="createVault(vault_name)">Create vault</div><div class="button button-red" ng-click="clearState()">Cancel</div></div></div></div><div ng-if="list_selected_vault != false"><div class="vaultlist"><ul><li ng-click="clearState()">Go back to vaults</li></ul></div><div class="login_form">Please input the password for {{list_selected_vault.name}}<div><input type="password"></div><div><div><label><input type="checkbox" ng-model="default_vault"> Set this vault as default.</label></div><div><label><input type="checkbox" ng-model="remember_vault_password"> Login automatically to this vault.</label></div></div><div class="button button-geen">Decrypt vault</div></div></div></div>');
|
||||
'<div class="vault_wrapper"><div class="vaults" ng-if="!list_selected_vault && !creating_vault"><div class="ui-select-container ui-select-bootstrap vaultlist"><ul><li ng-click="newVault()">+ Create a new vault</li><li ng-repeat="vault in vaults" ng-class="{\'selected\': vault == list_selected_vault }" ng-click="selectVault(vault)"><div><span class="ui-select-choices-row-inner"><div class="ng-binding ng-scope">{{vault.name}}</div><small class="ng-binding ng-scope">Created: {{vault.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}} | Last accessed: {{vault.last_access * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}</small></span></div></li><li ng-if="vaults.length === 0">No vaults found, why not create one?</li></ul></div></div><div ng-if="creating_vault"><div class="login_form" ng-init="vault_name = \'\' ">Please give your new vault a name.<div><input type="text" ng-model="vault_name"></div><div class="button_wrapper"><div class="button button-geen" ng-click="createVault(vault_name)">Create vault</div><div class="button button-red" ng-click="clearState()">Cancel</div></div></div></div><div ng-if="list_selected_vault != false"><div class="vaultlist"><ul><li ng-click="clearState()">Go back to vaults</li></ul></div><div class="login_form">Please input the password for {{list_selected_vault.name}}<div><input type="password"></div><div><div><label><input type="checkbox" ng-checked="default_vault" ng-click="toggleDefaultVault()"> Set this vault as default.</label></div><div><label><input type="checkbox" ng-model="remember_vault_password"> Login automatically to this vault.</label></div></div><div class="button button-geen">Decrypt vault</div></div></div></div>');
|
||||
}]);
|
||||
|
|
9
js/vendor/angular-local-storage/angular-local-storage.min.js
vendored
Normal file
9
js/vendor/angular-local-storage/angular-local-storage.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
js/vendor/angular-local-storage/angular-local-storage.min.js.map
vendored
Normal file
1
js/vendor/angular-local-storage/angular-local-storage.min.js.map
vendored
Normal file
File diff suppressed because one or more lines are too long
|
@ -9,6 +9,7 @@ script('passman', 'vendor/angular-resource/angular-resource.min');
|
|||
script('passman', 'vendor/angular-route/angular-route.min');
|
||||
script('passman', 'vendor/angular-sanitize/angular-sanitize.min');
|
||||
script('passman', 'vendor/angular-touch/angular-touch.min');
|
||||
script('passman', 'vendor/angular-local-storage/angular-local-storage.min');
|
||||
|
||||
|
||||
script('passman', 'app/app');
|
||||
|
@ -19,6 +20,7 @@ script('passman', 'app/filters/propsfilter');
|
|||
script('passman', 'app/services/cacheservice');
|
||||
script('passman', 'app/services/vaultservice');
|
||||
script('passman', 'app/services/credentialservice');
|
||||
script('passman', 'app/services/settingsservice');
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
<div>
|
||||
<div>
|
||||
<label>
|
||||
<input type="checkbox" ng-model="default_vault">
|
||||
<input type="checkbox" ng-checked="default_vault" ng-click="toggleDefaultVault()">
|
||||
Set this vault as default.
|
||||
</label>
|
||||
</div>
|
||||
|
|
Loading…
Add table
Reference in a new issue