aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Foiani <mfoiani2019@communiyschoolnaples.org>2018-08-13 16:22:44 -0400
committerMichael Foiani <mfoiani2019@communiyschoolnaples.org>2018-08-13 16:22:44 -0400
commitf14bf1edb18b02359fefb61f6d5f342892f7056c (patch)
treeffb354db6491f40620bf36f555fbb8f844958935 /src
parent6e8b40c5d78eb6d6cfb3c4d8f2d84b53e55523d0 (diff)
Trying to find ways to get img in firebase storage to show in admin panel when viewing requests.
Diffstat (limited to 'src')
-rw-r--r--src/actions/firebaseAdmin.js2
-rw-r--r--src/actions/firebaseFirestore.js12
-rw-r--r--src/actions/firebaseStorage.js2
-rw-r--r--src/components/mao-admin.js15
-rw-r--r--src/components/mao-tutoring.js4
-rw-r--r--src/components/request-element.js10
6 files changed, 34 insertions, 11 deletions
diff --git a/src/actions/firebaseAdmin.js b/src/actions/firebaseAdmin.js
index 4a00833..4b64cbf 100644
--- a/src/actions/firebaseAdmin.js
+++ b/src/actions/firebaseAdmin.js
@@ -76,7 +76,7 @@ export const adminRejectHours = (_id) => (dispatch) => {
export const adminDeleteRequest = (_id) => (dispatch) => {
var docRef = firestore.collection('requests').doc(_id);
docRef.delete().then(() => {
- console.log('Deleted request with id ' + _id);
+ //Delete associated picture
});
}
diff --git a/src/actions/firebaseFirestore.js b/src/actions/firebaseFirestore.js
index 3efeb6a..789d9d3 100644
--- a/src/actions/firebaseFirestore.js
+++ b/src/actions/firebaseFirestore.js
@@ -1,4 +1,4 @@
-import { firestore } from '../firebase.js';
+import { firestore, storage } from '../firebase.js';
export const UPDATE_DIVISON = 'UPDATE_DIVISON';
export const UPDATE_HOURS = 'UPDATE_HOURS';
@@ -104,13 +104,21 @@ export const requestHours = (_time, _trainee, _location, _subject, _date, _pictu
var docRef = firestore.collection('requests');
const _uid = getState().firebaseAuth.uid;
const _email = getState().firebaseAuth.userEmail;
+ var _imgPath = "";
+
+ var storageRef = storage.ref().child('requests/' + _uid + '/' + _pictureName);
+ storageRef.getDownloadURL().then((url) => {
+ _imgPath = url;
+ });
+
+
docRef.add({
time: _time,
trainee: _trainee,
location: _location,
subject: _subject,
day: _date,
- picture: _pictureName,
+ imgPath: _imgPath,
uid: _uid,
email: _email
});
diff --git a/src/actions/firebaseStorage.js b/src/actions/firebaseStorage.js
index 0367a38..d6a2192 100644
--- a/src/actions/firebaseStorage.js
+++ b/src/actions/firebaseStorage.js
@@ -14,6 +14,8 @@ export const uploadPicture = (file, uploader) => (dispatch, getState) => {
console.log(percentage);
uploader.value = percentage;
});
+
+ dispatch(updatePicture(file.name));
}
}
diff --git a/src/components/mao-admin.js b/src/components/mao-admin.js
index 6c8a2c9..ffdcb19 100644
--- a/src/components/mao-admin.js
+++ b/src/components/mao-admin.js
@@ -101,11 +101,11 @@ class MaoAdmin extends connect(store)(PageViewElement) {
static get properties() { return {
// This is the data from the store.
- signedIn: Boolean,
- isAdmin: Boolean,
-
- requests: Array,
- registry: Array,
+ signedIn: Boolean,
+ isAdmin: Boolean,
+ requests: Array,
+ registry: Array,
+ adminImgs: String,
requestsHidden: Boolean,
registryHidden: Boolean
@@ -114,10 +114,11 @@ class MaoAdmin extends connect(store)(PageViewElement) {
_stateChanged(state) {
this.signedIn = state.firebaseAuth .signedIn;
this.isAdmin = state.firebaseAdmin .isAdmin;
-
this.requests = state.firebaseAdmin .requests;
this.registry = state.firebaseAdmin .compList;
+ this.adminImgs = state.firebaseAdmin.adminImgs;
+
this.updateInformation();
}
@@ -164,8 +165,10 @@ class MaoAdmin extends connect(store)(PageViewElement) {
requestElement.location = this.requests[i].location;
requestElement.time = this.requests[i].time;
requestElement.trainee = this.requests[i].trainee;
+ requestElement.subject = this.requests[i].subject;
requestElement.uid = this.requests[i].uid;
requestElement.docId = this.requests[i].docId;
+ requestElement.imgPath = this.requests[i].imgPath;
requestGrid.appendChild(requestElement);
}
diff --git a/src/components/mao-tutoring.js b/src/components/mao-tutoring.js
index 423effd..a18cc2c 100644
--- a/src/components/mao-tutoring.js
+++ b/src/components/mao-tutoring.js
@@ -318,7 +318,7 @@ class MaoTutoring extends connect(store)(PageViewElement) {
}
requestHours() {
- if(this.shadowRoot && !this.isUploaded) {
+ if(this.shadowRoot && this.isUploaded) {
var timeElement = this.shadowRoot.getElementById('timeField');
var traineeElement = this.shadowRoot.getElementById('traineeField');
var subjectElement = this.shadowRoot.getElementById('subjectField');
@@ -342,7 +342,7 @@ class MaoTutoring extends connect(store)(PageViewElement) {
const subject = subjectElement .value;
const date = dateElement .value;
- store.dispatch(requestHours(timeHours, traineeName, subject, location, date, this.pictureName));
+ store.dispatch(requestHours(timeHours, traineeName, location, subject, date, this.pictureName));
timeElement .value = "";
traineeElement .value = "";
diff --git a/src/components/request-element.js b/src/components/request-element.js
index c2bfa34..935bf32 100644
--- a/src/components/request-element.js
+++ b/src/components/request-element.js
@@ -52,6 +52,7 @@ class RequestElement extends connect(store)(LitElement) {
<p><em>Location:</em> ${'\t' + this.location }</p>
<p><em>Minutes: </em> ${'\t' + (this.time*60) }</p>
<p><em>Trainee: </em> ${'\t' + this.trainee }</p>
+ <p><em>Subject: </em> ${'\t' + this.subject }</p>
</div>
</div>
<div hidden="${!props.infoTabOpen}" class="card-actions">
@@ -67,6 +68,11 @@ class RequestElement extends connect(store)(LitElement) {
on-tap= "${() => this.rejectHours()}">
Reject Time
</paper-button>
+ <iron-image
+ style:"width:100%; height:auto;"
+ preload
+ src="${props.imgPath}">
+ </iron-image>
</div>
</paper-card>
`;
@@ -78,8 +84,10 @@ class RequestElement extends connect(store)(LitElement) {
location: String,
time: Number,
trainee: String,
+ subject: String,
uid: String,
id: String,
+ imgPath: String,
infoTabOpen: Boolean
}};
@@ -92,8 +100,10 @@ class RequestElement extends connect(store)(LitElement) {
this.location = "Unknown location";
this.time = -1;
this.trainee = "Unknown trainee";
+ this.subject = "Unknown subject";
this.uid = "Unknown uid";
this.docId = "Unknown docId";
+ this.imgPath = "";
this.infoTabOpen = false;
}