Plumbing user password change page

Signed-off-by: James Ketrenos <james.p.ketrenos@intel.com>
This commit is contained in:
James Ketrenos 2018-12-02 18:56:23 -08:00
parent 9361471478
commit 31c14a55a1
4 changed files with 32 additions and 17 deletions

View File

@ -1,7 +1,7 @@
#### Upgrade to Node >v6 #### Upgrade to Node >v6
```bash ```bash
wget -qO- https://deb.nodesource.com/setup_6.x | sudo bash - wget -qO- https://deb.nodesource.com/setup_8.x | sudo bash -
sudo apt-get install --yes nodejs sudo apt-get install --yes nodejs
``` ```

View File

@ -34,6 +34,7 @@
<link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Droid+Sans+Mono" /> <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Droid+Sans+Mono" />
<link rel="import" href="../../elements/user-profile.html">
<link rel="import" href="../../elements/photo-lightbox.html"> <link rel="import" href="../../elements/photo-lightbox.html">
<link rel="import" href="../../elements/photo-thumbnail.html"> <link rel="import" href="../../elements/photo-thumbnail.html">
@ -422,6 +423,7 @@
<!--paper-button>login</paper-button--> <!--paper-button>login</paper-button-->
</div> </div>
<div hidden$="[[!user]]"> <div hidden$="[[!user]]">
<paper-icon-button on-tap="profile" icon="account-box"></paper-icon-button>
<paper-button on-tap="logout">logout</paper-button> <paper-button on-tap="logout">logout</paper-button>
</div> </div>
</div> </div>
@ -432,6 +434,7 @@
<paper-spinner active$="[[loading]]" class="thin"></paper-spinner> <paper-spinner active$="[[loading]]" class="thin"></paper-spinner>
<div>~ Loading ~</div> <div>~ Loading ~</div>
</div> </div>
<user-profile id="profile"></user-profile>
<div id="content"> <div id="content">
<div id="thumbnails" class="layout horizontal wrap"></div> <div id="thumbnails" class="layout horizontal wrap"></div>
<div id="bottom" class="layout vertical center"> <div id="bottom" class="layout vertical center">
@ -786,6 +789,11 @@
}); });
}, },
profile: function(event) {
this.$.profile.user = this.user;
this.mode = "profile";
},
logout: function(event) { logout: function(event) {
this.path = ""; this.path = "";
window.fetch("api/v1/users/logout", function(error, xhr) { window.fetch("api/v1/users/logout", function(error, xhr) {

View File

@ -13,13 +13,13 @@
"author": "James Ketrenos", "author": "James Ketrenos",
"license": "Apache-2.0", "license": "Apache-2.0",
"dependencies": { "dependencies": {
"bluebird": "^3.5.1", "bluebird": "^3.5.3",
"body-parser": "^1.18.2", "body-parser": "^1.18.3",
"config": "^1.28.1", "config": "^1.31.0",
"connect-sqlite3": "^0.9.11", "connect-sqlite3": "^0.9.11",
"cookie-parser": "^1.4.3", "cookie-parser": "^1.4.3",
"exif-reader": "github:paras20xx/exif-reader", "exif-reader": "github:paras20xx/exif-reader",
"express": "^4.16.2", "express": "^4.16.4",
"express-session": "^1.15.6", "express-session": "^1.15.6",
"face-recognition": "^0.9.4", "face-recognition": "^0.9.4",
"handlebars": "^4.0.12", "handlebars": "^4.0.12",
@ -27,14 +27,14 @@
"mariasql": "^0.2.6", "mariasql": "^0.2.6",
"moment": "^2.22.2", "moment": "^2.22.2",
"moment-holiday": "^1.5.1", "moment-holiday": "^1.5.1",
"morgan": "^1.9.0", "morgan": "^1.9.1",
"mustache": "^3.0.0", "mustache": "^3.0.1",
"nodemailer": "^4.6.8", "nodemailer": "^4.7.0",
"qs": "^6.5.2", "qs": "^6.6.0",
"sequelize": "^4.28.6", "sequelize": "^4.41.2",
"sequelize-mysql": "^1.7.0", "sequelize-mysql": "^1.7.0",
"sharp": "^0.20.5", "sharp": "^0.20.8",
"sqlite3": "^4.0.2" "sqlite3": "^4.0.4"
}, },
"jshintConfig": { "jshintConfig": {
"undef": true, "undef": true,

View File

@ -233,7 +233,7 @@ function processBlock(items) {
} }
/* Even if the hash doesn't need to be updated, the entry needs to be scanned */ /* Even if the hash doesn't need to be updated, the entry needs to be scanned */
console.log("process needed because of " + query); // console.log("process needed because of " + query);
needsProcessing.push(asset); needsProcessing.push(asset);
if (!query) { if (!query) {
@ -394,7 +394,7 @@ function processBlock(items) {
} }
}); });
}).catch(function(error) { }).catch(function(error) {
setStatus("Error processing file. Continuing."); setStatus("Error processing file. Continuing.", "error");
throw error; throw error;
}).then(function() { }).then(function() {
setStatus("Completed processing queue. Marking " + duplicates.length + " duplicates."); setStatus("Completed processing queue. Marking " + duplicates.length + " duplicates.");
@ -616,10 +616,17 @@ function computeHash(filepath) {
return new Promise(function(resolve, reject) { return new Promise(function(resolve, reject) {
let input = fs.createReadStream(filepath), let input = fs.createReadStream(filepath),
hash = crypto.createHash("sha256"); hash = crypto.createHash("sha256");
if (!input) { if (!input) {
console.warn("Unable to open " + filepath);
return reject(); return reject();
} }
input.on("error", function(error) {
console.warn("Error reading " + filepath);
reject(error);
});
input.on("readable", function() { input.on("readable", function() {
const data = input.read(); const data = input.read();
if (data) { if (data) {
@ -725,9 +732,9 @@ function doScan() {
newEntries++; newEntries++;
} }
if (!asset.scanned || asset.scanned < asset.stats.mtime || !asset.modified) { if (!asset.scanned || asset.scanned < asset.stats.mtime || !asset.modified) {
if (!asset.scanned) { console.log("no scan date on asset"); } // if (!asset.scanned) { console.log("no scan date on asset"); }
if (asset.scanned < asset.stats.mtime) { console.log("scan date older than mtime"); } // if (asset.scanned < asset.stats.mtime) { console.log("scan date older than mtime"); }
if (!asset.modified) { console.log("no mtime."); } // if (!asset.modified) { console.log("no mtime."); }
needsProcessing.push(asset); needsProcessing.push(asset);
} else { } else {
updateScanned.push(asset.id); updateScanned.push(asset.id);