1
0
mirror of https://github.com/bitwarden/browser.git synced 2024-11-24 12:06:15 +01:00

attachments for shared view

This commit is contained in:
Kyle Spearrin 2017-07-25 15:45:52 -04:00
parent 444f63db42
commit bbd8a1265b
2 changed files with 56 additions and 1 deletions

View File

@ -2,7 +2,7 @@
.module('bit.vault') .module('bit.vault')
.controller('vaultSharedController', function ($scope, apiService, cipherService, $analytics, $q, $localStorage, .controller('vaultSharedController', function ($scope, apiService, cipherService, $analytics, $q, $localStorage,
$uibModal, $filter, $rootScope) { $uibModal, $filter, $rootScope, authService, cryptoService) {
$scope.logins = []; $scope.logins = [];
$scope.collections = []; $scope.collections = [];
$scope.loading = true; $scope.loading = true;
@ -52,6 +52,54 @@
'Edit the login and copy it manually instead.'); 'Edit the login and copy it manually instead.');
}; };
$scope.attachments = function (login) {
authService.getUserProfile().then(function (profile) {
return {
isPremium: profile.premium,
orgUseStorage: login.organizationId && !!profile.organizations[login.organizationId].maxStorageGb
};
}).then(function (perms) {
if (login.organizationId && !perms.orgUseStorage) {
$uibModal.open({
animation: true,
templateUrl: 'app/views/paidOrgRequired.html',
controller: 'paidOrgRequiredController',
resolve: {
orgId: function () { return login.organizationId; }
}
});
return;
}
if (!login.organizationId && !perms.isPremium) {
$uibModal.open({
animation: true,
templateUrl: 'app/views/premiumRequired.html',
controller: 'premiumRequiredController'
});
return;
}
if (!login.organizationId && !cryptoService.getEncKey()) {
toastr.error('You cannot use this feature until you update your encryption key.', 'Feature Unavailable');
return;
}
var attachmentModel = $uibModal.open({
animation: true,
templateUrl: 'app/vault/views/vaultAttachments.html',
controller: 'vaultAttachmentsController',
resolve: {
loginId: function () { return login.id; }
}
});
attachmentModel.result.then(function (hasAttachments) {
login.hasAttachments = hasAttachments;
});
});
};
$scope.filterByCollection = function (collection) { $scope.filterByCollection = function (collection) {
return function (cipher) { return function (cipher) {
if (!cipher.collectionIds || !cipher.collectionIds.length) { if (!cipher.collectionIds || !cipher.collectionIds.length) {

View File

@ -62,6 +62,11 @@
<i class="fa fa-fw fa-pencil"></i> Edit <i class="fa fa-fw fa-pencil"></i> Edit
</a> </a>
</li> </li>
<li>
<a href="#" stop-click ng-click="attachments(login)">
<i class="fa fa-fw fa-paperclip"></i> Attachments
</a>
</li>
<li ng-show="login.edit"> <li ng-show="login.edit">
<a href="#" stop-click ng-click="editCollections(login)"> <a href="#" stop-click ng-click="editCollections(login)">
<i class="fa fa-fw fa-cubes"></i> Collections <i class="fa fa-fw fa-cubes"></i> Collections
@ -85,6 +90,8 @@
<td> <td>
<a href="#" stop-click ng-click="editLogin(login)">{{login.name}}</a> <a href="#" stop-click ng-click="editLogin(login)">{{login.name}}</a>
<i class="fa fa-star text-muted" title="Favorite" ng-show="login.favorite"></i> <i class="fa fa-star text-muted" title="Favorite" ng-show="login.favorite"></i>
<i class="fa fa-paperclip text-muted" title="Attachments" ng-if="login.hasAttachments"
stop-prop></i><br />
<div class="text-sm text-muted">{{login.username}}</div> <div class="text-sm text-muted">{{login.username}}</div>
</td> </td>
</tr> </tr>