From f87ef993740f73f9cdc90256cfa86eb3995625d2 Mon Sep 17 00:00:00 2001 From: brantje Date: Tue, 20 Sep 2016 20:03:37 +0200 Subject: [PATCH] Small start with sharing --- css/app.css | 3 + css/app.css.map | 4 +- js/app/app.js | 3 + js/app/controllers/credential.js | 7 ++ js/app/controllers/share.js | 93 +++++++++++++++++++ js/templates.js | 22 ++++- sass/app.scss | 1 + sass/share_credential.scss | 3 + templates/main.php | 1 + .../forms/share_credential/basics.html | 41 ++++++++ .../share_credential/expire_settings.html | 1 + templates/views/share_credential.html | 14 +++ templates/views/show_vault.html | 2 +- 13 files changed, 190 insertions(+), 5 deletions(-) create mode 100644 js/app/controllers/share.js create mode 100644 sass/share_credential.scss create mode 100644 templates/views/partials/forms/share_credential/basics.html create mode 100644 templates/views/partials/forms/share_credential/expire_settings.html create mode 100644 templates/views/share_credential.html diff --git a/css/app.css b/css/app.css index 47488b71..125cdfcf 100644 --- a/css/app.css +++ b/css/app.css @@ -353,6 +353,9 @@ #app-navigation > ul ul { display: inherit !important; } +.table { + width: 100%; } + #app-settings-content:not(.ng-hide) { height: 60px; display: inherit !important; diff --git a/css/app.css.map b/css/app.css.map index c813b15b..e14169b3 100644 --- a/css/app.css.map +++ b/css/app.css.map @@ -1,7 +1,7 @@ { "version": 3, -"mappings": "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", -"sources": ["../sass/partials/button.scss","../sass/partials/tabs.scss","../sass/partials/pwgen.scss","../sass/mixins.scss","../sass/vaults.scss","../sass/credentials.scss","../sass/menu.scss","../sass/app.scss"], +"mappings": "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", +"sources": ["../sass/partials/button.scss","../sass/partials/tabs.scss","../sass/partials/pwgen.scss","../sass/mixins.scss","../sass/vaults.scss","../sass/credentials.scss","../sass/menu.scss","../sass/share_credential.scss","../sass/app.scss"], "names": [], "file": "app.css" } diff --git a/js/app/app.js b/js/app/app.js index 2d895a8d..465f6bef 100644 --- a/js/app/app.js +++ b/js/app/app.js @@ -41,6 +41,9 @@ angular .when('/vault/:vault_id/edit/:credential_id', { templateUrl: 'views/edit_credential.html', controller: 'CredentialEditCtrl' + }).when('/vault/:vault_id/:credential_id/share', { + templateUrl: 'views/share_credential.html', + controller: 'ShareCtrl' }) .otherwise({ redirectTo: '/' diff --git a/js/app/controllers/credential.js b/js/app/controllers/credential.js index 105c4709..4f8a2fa8 100644 --- a/js/app/controllers/credential.js +++ b/js/app/controllers/credential.js @@ -41,6 +41,13 @@ angular.module('passmanApp') $location.path('/vault/' + $scope.active_vault.vault_id + '/edit/' + _credential.credential_id) }; + $scope.shareCredential = function (credential) { + var _credential = angular.copy(credential); + $rootScope.$emit('app_menu', false); + SettingsService.setSetting('share_credential', CredentialService.encryptCredential(_credential)); + $location.path('/vault/' + $scope.active_vault.vault_id + '/' + _credential.credential_id +'/share') + }; + var notification; $scope.deleteCredential = function (credential) { var _credential = angular.copy(credential); diff --git a/js/app/controllers/share.js b/js/app/controllers/share.js new file mode 100644 index 00000000..cad329d9 --- /dev/null +++ b/js/app/controllers/share.js @@ -0,0 +1,93 @@ +'use strict'; + +/** + * @ngdoc function + * @name passmanApp.controller:MainCtrl + * @description + * # MainCtrl + * Controller of the passmanApp + */ +angular.module('passmanApp') + .controller('ShareCtrl', ['$scope', 'VaultService', 'CredentialService', 'SettingsService', '$location', '$routeParams', function ($scope, VaultService, CredentialService, SettingsService, $location, $routeParams) { + $scope.active_vault = VaultService.getActiveVault(); + + $scope.tabs = [{ + title: 'Share with users and groups', + url: 'views/partials/forms/share_credential/basics.html', + }, { + title: 'Share link', + url: 'views/partials/forms/share_credential/expire_settings.html', + color: 'green' + }]; + $scope.currentTab = { + title: 'General', + url: 'views/partials/forms/share_credential/basics.html' + }; + + $scope.onClickTab = function (tab) { + $scope.currentTab = tab; + }; + + $scope.isActiveTab = function (tab) { + return tab.url == $scope.currentTab.url; + }; + + if (!SettingsService.getSetting('defaultVault') || !SettingsService.getSetting('defaultVaultPass')) { + if (!$scope.active_vault) { + $location.path('/') + } + } else { + if (SettingsService.getSetting('defaultVault') && SettingsService.getSetting('defaultVaultPass')) { + var _vault = angular.copy(SettingsService.getSetting('defaultVault')); + _vault.vaultKey = angular.copy(SettingsService.getSetting('defaultVaultPass')); + VaultService.setActiveVault(_vault); + $scope.active_vault = _vault; + + } + } + var storedCredential = SettingsService.getSetting('share_credential'); + if (!storedCredential) { + $location.path('/vault/' + $routeParams.vault_id); + } else { + $scope.storedCredential = CredentialService.decryptCredential(angular.copy(storedCredential)); + } + if ($scope.active_vault) { + $scope.$parent.selectedVault = true; + } + $scope.cancel = function(){ + SettingsService.setSetting('share_credential', null); + $location.path('/vault/' + $scope.storedCredential.vault_id); + }; + + + $scope.searchUsersAndGroups = function($query){ + + }; + + $scope.share_settings = { + credentialSharedWithUserAndGroup:[ + { + userId: 'someuser', + accessLevel: 'CAN_VIEW' + }, + { + userId: 'someuser', + accessLevel: 'CAN_EDIT' + } + ] + }; + + $scope.accessLevels = [ + { + label: 'Can edit', + value: 'CAN_EDIT' + }, + { + label: 'Can view', + value: 'CAN_VIEW' + } + ] + + + + }]); diff --git a/js/templates.js b/js/templates.js index e51aba1f..e94eb0e1 100644 --- a/js/templates.js +++ b/js/templates.js @@ -1,4 +1,4 @@ -angular.module('templates-main', ['views/edit_credential.html', 'views/partials/forms/edit_credential/basics.html', 'views/partials/forms/edit_credential/custom_fields.html', 'views/partials/forms/edit_credential/files.html', 'views/partials/forms/edit_credential/otp.html', 'views/partials/forms/edit_credential/password.html', 'views/partials/password-meter.html', 'views/show_vault.html', 'views/vaults.html']); +angular.module('templates-main', ['views/edit_credential.html', 'views/partials/forms/edit_credential/basics.html', 'views/partials/forms/edit_credential/custom_fields.html', 'views/partials/forms/edit_credential/files.html', 'views/partials/forms/edit_credential/otp.html', 'views/partials/forms/edit_credential/password.html', 'views/partials/forms/share_credential/basics.html', 'views/partials/forms/share_credential/expire_settings.html', 'views/partials/password-meter.html', 'views/share_credential.html', 'views/show_vault.html', 'views/vaults.html']); angular.module('views/edit_credential.html', []).run(['$templateCache', function($templateCache) { 'use strict'; @@ -38,16 +38,34 @@ angular.module('views/partials/forms/edit_credential/password.html', []).run(['$ '
Password generation settings
'); }]); +angular.module('views/partials/forms/share_credential/basics.html', []).run(['$templateCache', function($templateCache) { + 'use strict'; + $templateCache.put('views/partials/forms/share_credential/basics.html', + '
User / groupAccess
{{user.userId}}{{user.accessLevel}}
'); +}]); + +angular.module('views/partials/forms/share_credential/expire_settings.html', []).run(['$templateCache', function($templateCache) { + 'use strict'; + $templateCache.put('views/partials/forms/share_credential/expire_settings.html', + 'Expire settings'); +}]); + angular.module('views/partials/password-meter.html', []).run(['$templateCache', function($templateCache) { 'use strict'; $templateCache.put('views/partials/password-meter.html', '
Details Hide details
{{message}}
Password score:
{{score.score}}
Cracking times
100 / hour
Throttled online attack
{{score.crack_times_display.online_throttling_100_per_hour}}
10 / second
Unthrottled online attack
{{score.crack_times_display.online_no_throttling_10_per_second}}
10k / second
Offline attack, slow hash, many cores
{{score.crack_times_display.offline_slow_hashing_1e4_per_second}}
10B / second
offline attack, fast hash, many cores
{{score.crack_times_display.offline_fast_hashing_1e10_per_second}}
Match sequence:
See match sequence
{{sequence.token}}
Pattern{{sequence.pattern}}
Matched word{{sequence.matched_word}}
Dictionary name{{sequence.dictionary_name}}
Rank{{sequence.rank}}
Reversed{{sequence.reversed}}
Guesses{{sequence.guesses}}
Base guesses{{sequence.base_guesses}}
Uppercase variations{{sequence.uppercase_variations}}
l33t-variations{{sequence.l33t_variations}}
'); }]); +angular.module('views/share_credential.html', []).run(['$templateCache', function($templateCache) { + 'use strict'; + $templateCache.put('views/share_credential.html', + '
'); +}]); + angular.module('views/show_vault.html', []).run(['$templateCache', function($templateCache) { 'use strict'; $templateCache.put('views/show_vault.html', - '
New
Showing deleted since: All time {{delete_time | date:\'dd-MM-yyyy @ HH:mm:ss\'}}
{{credential.label}} {{tag.text}}
Label{{selectedCredential.label}}
Account
Password
OTP
E-mail
URL
Files
{{field.label}}
Changed{{selectedCredential.changed * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}
Created{{selectedCredential.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}
{{tag.text}}
Edit Delete Recover Share
'); + '
New
Showing deleted since: All time {{delete_time | date:\'dd-MM-yyyy @ HH:mm:ss\'}}
{{credential.label}} {{tag.text}}
Label{{selectedCredential.label}}
Account
Password
OTP
E-mail
URL
Files
{{field.label}}
Changed{{selectedCredential.changed * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}
Created{{selectedCredential.created * 1000 | date:\'dd-MM-yyyy @ HH:mm:ss\'}}
{{tag.text}}
Edit Delete Recover Share
'); }]); angular.module('views/vaults.html', []).run(['$templateCache', function($templateCache) { diff --git a/sass/app.scss b/sass/app.scss index b85bdbbd..12af5678 100644 --- a/sass/app.scss +++ b/sass/app.scss @@ -8,6 +8,7 @@ @import 'vaults'; @import 'credentials'; @import 'menu'; +@import 'share_credential'; #app-settings-content:not(.ng-hide) { height: 60px; diff --git a/sass/share_credential.scss b/sass/share_credential.scss new file mode 100644 index 00000000..ea2ea1ee --- /dev/null +++ b/sass/share_credential.scss @@ -0,0 +1,3 @@ +.table{ + width: 100%; +} \ No newline at end of file diff --git a/templates/main.php b/templates/main.php index fed13686..3b2f25f6 100644 --- a/templates/main.php +++ b/templates/main.php @@ -29,6 +29,7 @@ script('passman', 'app/controllers/menu'); script('passman', 'app/controllers/vault'); script('passman', 'app/controllers/credential'); script('passman', 'app/controllers/edit_credential'); +script('passman', 'app/controllers/share'); script('passman', 'app/filters/range'); script('passman', 'app/filters/propsfilter'); script('passman', 'app/filters/byte'); diff --git a/templates/views/partials/forms/share_credential/basics.html b/templates/views/partials/forms/share_credential/basics.html new file mode 100644 index 00000000..f2f88080 --- /dev/null +++ b/templates/views/partials/forms/share_credential/basics.html @@ -0,0 +1,41 @@ +
+
+
+ + + + + + + + +
+ + +
+
+
+
+
+
+ + + + + + + + + + + +
User / groupAccess
{{user.userId}}{{user.accessLevel}}
+
+
\ No newline at end of file diff --git a/templates/views/partials/forms/share_credential/expire_settings.html b/templates/views/partials/forms/share_credential/expire_settings.html new file mode 100644 index 00000000..40e99090 --- /dev/null +++ b/templates/views/partials/forms/share_credential/expire_settings.html @@ -0,0 +1 @@ +Expire settings \ No newline at end of file diff --git a/templates/views/share_credential.html b/templates/views/share_credential.html new file mode 100644 index 00000000..0109ee88 --- /dev/null +++ b/templates/views/share_credential.html @@ -0,0 +1,14 @@ + + +
+
+ + + +
+ + diff --git a/templates/views/show_vault.html b/templates/views/show_vault.html index 85f9175a..b571d17d 100644 --- a/templates/views/show_vault.html +++ b/templates/views/show_vault.html @@ -187,7 +187,7 @@ Recover - + Share