Skip to content

Commit

Permalink
Merge pull request #2 from NiklasSchmitt/fixed-extension-lock
Browse files Browse the repository at this point in the history
Fixed extension lock.
  • Loading branch information
binsky08 authored Sep 12, 2023
2 parents 83ded36 + c2cdd89 commit 7f12768
Show file tree
Hide file tree
Showing 6 changed files with 67 additions and 41 deletions.
10 changes: 8 additions & 2 deletions html/inject/password_picker.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
<div id="password_picker">
<div class="tabs">
<div class="tab add" data-name="add"><span class="fa fa-plus" aria-hidden="true" t="[add_account, title]"></span></div>
<div class="tab list active" data-name="list"><span class="fa fa-list" aria-hidden="true" t="[accounts, title]"></span></div>
<div class="tab list" data-name="list"><span class="fa fa-list" aria-hidden="true" t="[accounts, title]"></span></div>
<div class="tab search" data-name="search"><span class="fa fa-search" aria-hidden="true" t="[search, title]"></span></div>
<div class="tab generate" data-name="generate"><span class="fa fa-refresh" aria-hidden="true" t="[password_generator, title]"></span></div>
<div class="tab ignore" data-name="ignore"><span class="fa fa-ban" aria-hidden="true" t="[ignore_site_tab, title]"></span></div>
Expand Down Expand Up @@ -64,7 +64,7 @@ <h2 t="save_site"></h2>
<button class="btn btn-success" id="savepw-save" t="save"></button>
<button class="btn" id="savepw-cancel" t="cancel"></button>
</div>
<div class="tab-list-content">
<div class="tab-list-content" style="display: none">
<div class="no-credentials">
<div class="btn btn-secondary save" t="btn_save_site"></div>
<div class="clearfix"></div>
Expand Down Expand Up @@ -157,6 +157,12 @@ <h2 t="ignore_site"></h2>
<div class="btn btn-info disable-page" t="disable_page">Disable page</div>
</div>
</div>
<div class="tab-unlock-content" style="display: none">
<h2 t="browser_action_title_locked"></h2>
<div class="text">
<div style="line-height: 1.5em" t="extension_locked"></div>
</div>
</div>
</div>
</div>
</body>
Expand Down
88 changes: 50 additions & 38 deletions js/ui/password_picker/password_picker.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,15 @@ $(document).ready(function () {
var _this = this;
var storage = new API.Storage();
var runtimeSettings = {};
var IsMasterPasswordSet = true;

API.runtime.sendMessage(API.runtime.id, {method: 'getMasterPasswordSet'}).then(function (MasterPasswordSet) {
if (!MasterPasswordSet) {
IsMasterPasswordSet = false;
$('.tabs > .tab').not('.close').hide();
makeTabActive('unlock');
}
});

API.runtime.sendMessage(API.runtime.id, {'method': 'getRuntimeSettings'}).then(function (settings) {
var accounts = settings.accounts;
Expand Down Expand Up @@ -281,49 +290,52 @@ $(document).ready(function () {
disablePassman('url', tab.url);
});

API.runtime.sendMessage(API.runtime.id, {
method: "getCredentialsByUrl",
args: [tab.url]
}).then(function (logins) {
if (logins.length === 0) {
API.runtime.sendMessage(API.runtime.id, {
'method': 'getSetting',
args: 'no_results_found_tab'
}).then(function (value) {
makeTabActive(value);
});
return;
}
if (logins.length !== 0) {
picker.find('.tab-list-content').html('');
if(runtimeSettings.passwordPickerGotoList){
makeTabActive('list');
if (IsMasterPasswordSet === false) {
makeTabActive('unlock');
} else {
API.runtime.sendMessage(API.runtime.id, {
method: "getCredentialsByUrl",
args: [tab.url]
}).then(function (logins) {
if (logins.length === 0) {
API.runtime.sendMessage(API.runtime.id, {
'method': 'getSetting',
args: 'no_results_found_tab'
}).then(function (value) {
makeTabActive(value);
});
return;
}
}
for (var i = 0; i < logins.length; i++) {
var login = logins[i];
var div = $('<div>', {class: 'account', text: login.label});
$('<br>').appendTo(div);
var username = (login.username !== '' ) ? login.username : login.email;
$('<small>').text(username).appendTo(div);
/* jshint ignore:start */
div.click((function (login) {
return function () {
//enterLoginDetails(login);
//API.runtime.sendMessage(API.runtime.id, {method: 'getMasterPasswordSet'})
fillLogin(login)
};
})(login));
/* jshint ignore:end*/

picker.find('.tab-list-content').append(div);
}
});
if (logins.length !== 0) {
picker.find('.tab-list-content').html('');
if(runtimeSettings.passwordPickerGotoList){
makeTabActive('list');
}
}
for (var i = 0; i < logins.length; i++) {
var login = logins[i];
var div = $('<div>', {class: 'account', text: login.label});
$('<br>').appendTo(div);
var username = (login.username !== '' ) ? login.username : login.email;
$('<small>').text(username).appendTo(div);
/* jshint ignore:start */
div.click((function (login) {
return function () {
//enterLoginDetails(login);
//API.runtime.sendMessage(API.runtime.id, {method: 'getMasterPasswordSet'})
fillLogin(login)
};
})(login));
/* jshint ignore:end*/

picker.find('.tab-list-content').append(div);
}
});
}
}

_this.returnActiveTab = returnActiveTab;


$('.no-credentials .save').on('click', function () {
$('.tab.add').click();
});
Expand Down
1 change: 1 addition & 0 deletions js/ui/popup/controllers/list.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@
API.runtime.sendMessage(API.runtime.id, {method: "getMasterPasswordSet"}).then(function (isPasswordSet) {
//First check attributes
if (!isPasswordSet) {
window.location = '#!/locked';
return;
}

Expand Down
2 changes: 1 addition & 1 deletion js/ui/popup/controllers/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@
var initApp = function () {
port.onMessage.addListener(messageParser);
API.runtime.sendMessage(API.runtime.id, {method: "getMasterPasswordSet"}).then(function (isPasswordSet) {
//First check attributes
if (!isPasswordSet) {
window.location = '#!/locked';
return;
}
$scope.refreshing_credentials = true;
Expand Down
1 change: 1 addition & 0 deletions js/ui/popup/controllers/password_prompt.js
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
$rootScope.$broadcast('hideHeader');
$scope.master_password_remember = false;
$scope.master_password = '';

$scope.apply_settings = function () {
$scope.saving = true;
$scope.invalidPassword = false;
Expand Down
6 changes: 6 additions & 0 deletions js/ui/popup/controllers/search.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,12 @@
*/
angular.module('passmanExtension')
.controller('SearchCtrl', ['$scope', function ($scope) {
API.runtime.sendMessage(API.runtime.id, {method: 'getMasterPasswordSet'}).then(function (MasterPasswordSet) {
if (!MasterPasswordSet) {
window.location = '#!/locked';
}
$scope.$apply();
});
$scope.found_credentials = false;
$scope.searchText = '';
$scope.search = function () {
Expand Down

0 comments on commit 7f12768

Please sign in to comment.