diff --git a/src/popup/app/config.js b/src/popup/app/config.js index 389ba248..c0144159 100644 --- a/src/popup/app/config.js +++ b/src/popup/app/config.js @@ -88,7 +88,7 @@ templateUrl: "app/vault/views/vaultEditSite.html", controller: 'vaultEditSiteController', data: { authorize: true }, - params: { animation: null } + params: { animation: null, fromView: true } }); }) .run(function ($rootScope, userService, loginService, tokenService, $state) { diff --git a/src/popup/app/vault/vaultEditSiteController.js b/src/popup/app/vault/vaultEditSiteController.js index e0003194..7cc7d2ff 100644 --- a/src/popup/app/vault/vaultEditSiteController.js +++ b/src/popup/app/vault/vaultEditSiteController.js @@ -1,16 +1,47 @@ angular .module('bit.vault') - .controller('vaultEditSiteController', function ($scope, siteService, cryptoService) { + .controller('vaultEditSiteController', function ($scope, $state, $stateParams, siteService, cipherService, $q) { $scope.site = { folderId: null }; - $scope.editSite = function (model) { - + siteService.get($stateParams.siteId, function (site) { + cipherService.decryptSite(site).then(function (model) { + $scope.site = model; + }); + }); + + popupUtils.initListSectionItemListeners(); + + $scope.savePromise = null; + $scope.save = function (model) { + $scope.savePromise = cipherService.encryptSite(model).then(function (siteModel) { + var site = new Site(siteModel, true); + return site; + }).then(function (site) { + return saveSite(site, function (site) { + alert('Saved ' + site.id + '!'); + }); + }); }; $scope.close = function () { - $scope.parentScope.closeEditSite(); + if ($stateParams.fromView) { + $state.go('viewSite', { siteId: $stateParams.siteId, animation: 'out-slide-down' }); + } + else { + $state.go('tabs.vault', { animation: 'out-slide-down' }); + } }; + + function saveSite(site) { + return $q(function (resolve, reject) { + siteService.saveWithServer(site, function (site) { + resolve(site); + }, function (error) { + reject(error); + }); + }); + } }); diff --git a/src/popup/app/vault/views/vaultAddSite.html b/src/popup/app/vault/views/vaultAddSite.html index acd0c055..438a1fb9 100644 --- a/src/popup/app/vault/views/vaultAddSite.html +++ b/src/popup/app/vault/views/vaultAddSite.html @@ -1,7 +1,7 @@ 
diff --git a/src/popup/app/vault/views/vaultEditSite.html b/src/popup/app/vault/views/vaultEditSite.html index 58e0a7d7..7048becb 100644 --- a/src/popup/app/vault/views/vaultEditSite.html +++ b/src/popup/app/vault/views/vaultEditSite.html @@ -1,63 +1,69 @@ - - - -

Edit Site

- -
- + +
+
+ Cancel +
+
+ + +
+
Edit Site
+
+
-
- Site Information -
- - - - - - Generate Password - - -
-   -
- -
- Favorite -