From 4662424f6fe7bade2932ef6769dc694e523e07de Mon Sep 17 00:00:00 2001 From: Chima Date: Thu, 23 Feb 2017 13:19:13 +0100 Subject: [PATCH 1/3] fix: added hospital info doc to environment --- config/environment.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/config/environment.js b/config/environment.js index ae20b6bbcc..ede0572321 100644 --- a/config/environment.js +++ b/config/environment.js @@ -70,5 +70,18 @@ module.exports = function(environment) { schedulerLicenseKey: 'GPL-My-Project-Is-Open-Source' }; + ENV.hospitalInfoDoc = { + "_id": "option_2_print_header", + "_rev": "1-4457555eacb405267c6d3b7a53d8521d", + "data": { + "value": { + "facilityName": "Beit CURE International Hospital", + "headerLine1": "PO Box 31236", + "headerLine2": "Blantyre 3", + "headerLine3": "+265 (0) 1 871 900 / +265 (0) 1 875 015 /+265 (0) 1 873 694 / +265 (0) 999 505 212", + "logoURL": "https://curehospital.mw/wp-content/uploads/4/2012/11/CURE-Malawi-Logo_rgb_280_89.jpg" + } + } + } return ENV; }; From d98df0d0599aa9d0d8ce289090818810abe4c516 Mon Sep 17 00:00:00 2001 From: Chima Date: Thu, 23 Feb 2017 13:20:07 +0100 Subject: [PATCH 2/3] fix: create sample docs on couchdb --- app/services/database.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/app/services/database.js b/app/services/database.js index e04e25c424..71b0f22ff7 100644 --- a/app/services/database.js +++ b/app/services/database.js @@ -3,6 +3,7 @@ import createPouchViews from 'hospitalrun/utils/pouch-views'; import List from 'npm:pouchdb-list'; import PouchAdapterMemory from 'npm:pouchdb-adapter-memory'; import UnauthorizedError from 'hospitalrun/utils/unauthorized-error'; +import enviroment from './../config/environment'; const { isEmpty @@ -20,9 +21,42 @@ export default Ember.Service.extend({ .then((db) => { this.set('mainDB', db); this.set('setMainDB', true); + }) + .then(() => { + this.createSampleDocs([enviroment.hospitalInfoDoc]); }); }, + createSampleDocs(docs) { + return new Ember.RSVP.Promise((resolve, reject) => { + let mainDB = this.get('mainDB'); + let ids = docs.map((doc) => { + return doc._id; + }); + return mainDB.allDocs({ keys: ids }) + .then((res) => { + if (res.rows) { + let docsToCreate = res.rows.filter((row) => { + return row.error && row.error === 'not_found'; + }).map((row) => { + return docs.find((doc) => { + return doc._id === row.key; + }); + }); + if (docsToCreate.length) { + return mainDB.bulkDocs(docsToCreate); + } + } + }) + .then((res) => { + resolve(res); + }) + .catch((err) => { + reject(err); + }); + }); + }, + createDB(configs) { return new Ember.RSVP.Promise((resolve, reject) => { let pouchOptions = {}; From 4a2070948d77737a188ca0886ebf0e6c8c9b112f Mon Sep 17 00:00:00 2001 From: Chima Date: Thu, 23 Feb 2017 15:29:13 +0100 Subject: [PATCH 3/3] fix: made sure sample docs are created when deleted --- app/services/database.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/app/services/database.js b/app/services/database.js index 71b0f22ff7..7297713aea 100644 --- a/app/services/database.js +++ b/app/services/database.js @@ -37,10 +37,15 @@ export default Ember.Service.extend({ .then((res) => { if (res.rows) { let docsToCreate = res.rows.filter((row) => { - return row.error && row.error === 'not_found'; + return (row.error && row.error === 'not_found') || (row.value && row.value.deleted); }).map((row) => { return docs.find((doc) => { - return doc._id === row.key; + if (doc._id === row.key) { + if (row.value && row.value.deleted && row.value.rev !== doc._rev) { + doc._rev = row.value.rev; + } + return true; + } }); }); if (docsToCreate.length) {