From 042b59bb791ebd8c514e734989cdf339e921a721 Mon Sep 17 00:00:00 2001 From: Michael Foiani Date: Fri, 6 Sep 2019 12:28:56 -0400 Subject: Added options to archive previous year's data --- .firebase/hosting.YnVpbGQvZXM1LWJ1bmRsZWQ.cache | 42 +++++++++--------- src/actions/firebaseFirestore.js | 43 +++++++++++++++++++ src/components/mao-admin.js | 57 +++++++++++++++++++++++-- 3 files changed, 117 insertions(+), 25 deletions(-) diff --git a/.firebase/hosting.YnVpbGQvZXM1LWJ1bmRsZWQ.cache b/.firebase/hosting.YnVpbGQvZXM1LWJ1bmRsZWQ.cache index 32555b3..0634bba 100644 --- a/.firebase/hosting.YnVpbGQvZXM1LWJ1bmRsZWQ.cache +++ b/.firebase/hosting.YnVpbGQvZXM1LWJ1bmRsZWQ.cache @@ -1,18 +1,18 @@ -manifest.json,1532748264732,48be121a31c10943ba072492d82077532ea6bd267ce11e7674095b952bf170f0 -push-manifest.json,1532748264736,b2716f9e251743f49dcecb89579da4383facda94d2e8cdba09444f669f0e5960 -images/manifest/icon-144x144.png,1532748264731,ed9d0ec1b0ce6dcbe89d8264482ba5b8349db2e054932c3dd882d29b1fdd6742 -images/manifest/icon-192x192.png,1532748264731,85ff27c28c135b202144a89437522b459608d4c03646e9e797360043d81ed435 -images/favicon.ico,1532748264731,9cadf7f12db623faedfdc99e1185edb76072915fa96ddc081e93e484a146d997 -images/manifest/icon-48x48.png,1532748264731,cc9e0b045dc1b388f046b6e37647f5a83adb276ef25295abb02bea214a1787d7 -images/manifest/icon-72x72.png,1532748264731,455b0c5a2187bbd04a17763b798c48a572f9210f1f70bd0f334abc64aa8e1ff8 -index.html,1551530668468,5435d07632b713525396de32a1ae83378b0609dd65611b87db10833e315e1690 -images/manifest/icon-96x96.png,1532748264731,ea18ec549fd56bbac8462fd909a591c43b83e01be10ec80a46f075faba7a2ca6 +manifest.json,1564385875703,48be121a31c10943ba072492d82077532ea6bd267ce11e7674095b952bf170f0 +push-manifest.json,1564385875707,b2716f9e251743f49dcecb89579da4383facda94d2e8cdba09444f669f0e5960 +images/favicon.ico,1564385875701,9cadf7f12db623faedfdc99e1185edb76072915fa96ddc081e93e484a146d997 +images/manifest/icon-144x144.png,1564385875702,ed9d0ec1b0ce6dcbe89d8264482ba5b8349db2e054932c3dd882d29b1fdd6742 +index.html,1567736063621,5435d07632b713525396de32a1ae83378b0609dd65611b87db10833e315e1690 +images/manifest/icon-192x192.png,1564385875702,85ff27c28c135b202144a89437522b459608d4c03646e9e797360043d81ed435 +images/manifest/icon-48x48.png,1564385875702,cc9e0b045dc1b388f046b6e37647f5a83adb276ef25295abb02bea214a1787d7 +images/manifest/icon-72x72.png,1564385875702,455b0c5a2187bbd04a17763b798c48a572f9210f1f70bd0f334abc64aa8e1ff8 +images/manifest/icon-96x96.png,1564385875702,ea18ec549fd56bbac8462fd909a591c43b83e01be10ec80a46f075faba7a2ca6 node_modules/@webcomponents/webcomponentsjs/LICENSE.md,499162500000,2ebf7ac7493b75329f6ed779a964f089ff7131636c1b0c700bb338dc0970a9e7 -node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js,499162500000,5c6f3a75df09c836278129c48fcf0635aadd0203a492c68fd07c9b4fc634e70e -node_modules/@webcomponents/webcomponentsjs/package.json,1550029204815,ea78de3ea7ece059a321bac877d3abacea699beef70a81896c2855b02088f579 node_modules/@webcomponents/webcomponentsjs/README.md,499162500000,4598a8619047b3d2841a2e90928cdc1b590f72b0613562240105e374d63dd709 +node_modules/@webcomponents/webcomponentsjs/custom-elements-es5-adapter.js,499162500000,5c6f3a75df09c836278129c48fcf0635aadd0203a492c68fd07c9b4fc634e70e +service-worker.js,1567736063651,af6e8664139d7c8e11b0fd1421ea59312a14a5b10e87573a971333b295502101 +node_modules/@webcomponents/webcomponentsjs/package.json,1564450883490,a4a3b41586cac0e45f7b638f03021fba2470b039fe4f17742bf8d7752809452f node_modules/@webcomponents/webcomponentsjs/webcomponents-loader.js,499162500000,2ad3aac83f888ec799e6704040378a4b35e2e33cae7641bb0de76332e1877fe2 -service-worker.js,1551530668513,2e60442f9662d53701f40c1d81dae6dca834b97ecccfb874adeee01e38880281 node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-ce.js,499162500000,75af30101bf7cc9033945511c173eba065e1bbbe4487b62ff928d532bc9e3433 node_modules/@webcomponents/webcomponentsjs/entrypoints/custom-elements-es5-adapter-index.js,499162500000,dd6f2f458c5fb5ebcb9dd5d2cdf2299382cef6937717095feaf31dc452702dab node_modules/@webcomponents/webcomponentsjs/entrypoints/webcomponents-bundle-index.js,499162500000,0d50ebf82ad257ab3e5322841e2332267c45325e808b5f23f95dee510c87fe76 @@ -20,20 +20,20 @@ node_modules/@webcomponents/webcomponentsjs/entrypoints/webcomponents-ce-index.j node_modules/@webcomponents/webcomponentsjs/entrypoints/webcomponents-sd-ce-index.js,499162500000,96cef5dfa81ea2848c25fef85749d8268903fed2285cee75e0d7ea134e1a4ef8 node_modules/@webcomponents/webcomponentsjs/entrypoints/webcomponents-sd-ce-pf-index.js,499162500000,f339147d6aff6d698dc1258a5c3de596d08f4d570d92f4332276512dd888c905 node_modules/@webcomponents/webcomponentsjs/entrypoints/webcomponents-sd-index.js,499162500000,44766a75eeb04c1d003464c0809b5681736f29c5c7d36bad9fef009ebcea9b29 -src/components/mao-account.js,1551530668485,d7f526afc9b152ff58327e4a65d81e694b5c67cd93c326925a613ad0520a989a -src/components/mao-admin.js,1551530668485,5bca0c5e5398cdd14b5ac2401a4b5471c6e5c87b2301d2404dd6a2eaf96eb1d8 -src/components/mao-home.js,1551530668483,716e4346f186ecb4caee0c6209145b4445eef904a3fd7c485aa470adb207c6ef -src/components/my-view404.js,1551530668486,51d9271a41d608f5af686e58d48ef2c1f13f4d92ecd319bc01deb3dcb735ed84 -src/components/mao-tutoring.js,1551530668484,cac1a6fce1613b1075a9caa6eb6d783325cfa84091f6094a7806effb1e322111 -images/manifest/icon-512x512.png,1532748264731,e6a244422f62786b99e8652859a4f513fd45a9a90c0fff20e95a93b3240fc695 +src/components/mao-account.js,1567736063631,100058b271383dd5566cba67c07746f8a63792f2586bcaaa0bf85633b824fc9c +src/components/mao-admin.js,1567736063632,bc9976f989f7a6e029959892175c7568a3c585c0c47c87859c5d0fc5d5e35f5d +src/components/mao-competitions.js,1567736063630,970830cdd8634ac3c65665b6e04a63aeebd3b31019b681d032533d9872ba4947 +src/components/mao-home.js,1567736063630,9a508ef91ee6ae3bc7e2e84332b49ecd6db1ac86fd1f63182739abb0953e2865 +src/components/my-view404.js,1567736063632,31e6de6732990b7847e1f71a7321587d12145dca5e2388a81321e5e2c5fbf26c +src/components/mao-tutoring.js,1567736063631,2cd113a671e187c4f741d53997cb6a36621359ee6bd94e8ca5c81c082a81607e +images/manifest/icon-512x512.png,1564385875702,e6a244422f62786b99e8652859a4f513fd45a9a90c0fff20e95a93b3240fc695 node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd.js,499162500000,b09fede732b5995aa131149db6bcf1f8687e86986e7dd2766df269aaaf324522 -src/components/mao-competitions.js,1551530668483,e782e3c96148d5929b017233db558327e1f430be3042b70538d59b2a08d6efab node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd-ce.js,499162500000,7aaac4e064f67cf1fa6aad77032cd21e69af5c0997932ca48c9b355772ff0de6 node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-ce.js.map,499162500000,3bf4c4ecd87385f809d823a99c442d4fc76507742bb74f4c1d2ce426bb157283 -src/components/mao-forums.js,1551530668484,4a1ffe40a11ca98c06fa127801e3b322067448afa5e9c206b148651ce6606106 +src/components/mao-forums.js,1567736063631,a410d04aa471610c824cf2266658a93c80d3b3b0262601b7100efe1e4e77c0df node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js,499162500000,15b40d33a3200eb720fd24151ef995b947f262d344e0ba3ba917f980ea434345 node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd-ce-pf.js,499162500000,50c8b000c236442b396c2f0031955a10531746d194f3b692f22fd4fd162ca001 -src/components/mao-app.js,1551530668505,52411d7a6b07b2ff0f2b788ae82530c96e87c641b1dbb6c47d59d17c1f4ac60a +src/components/mao-app.js,1567736063643,2f29052251e9a53aa73f86285b4397f71d6f7d1284870931f54b89b5d9b885f3 node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd.js.map,499162500000,540ee626d15e42daa4a44098b597132a72f469e8626f296d351cf2093e934d21 node_modules/@webcomponents/webcomponentsjs/bundles/webcomponents-sd-ce.js.map,499162500000,fec4df513a15aa1cec41f1b1957818597264672851c0d7d778398b6beda9122d node_modules/@webcomponents/webcomponentsjs/webcomponents-bundle.js.map,499162500000,c0d01c1384f5466ca32efe63564b1dc1b21487118d3e1ddc466b8048007672df diff --git a/src/actions/firebaseFirestore.js b/src/actions/firebaseFirestore.js index 10e285a..c43a77f 100644 --- a/src/actions/firebaseFirestore.js +++ b/src/actions/firebaseFirestore.js @@ -228,3 +228,46 @@ export const createComment = (postId, content) => (dispatch, getState) => { } } +//TODO: Make it per year, not hard coded... + +export const archiveClass2019 = () => (dispatch, getState) => { + if(getState().app.offline) { + alert('Failed to archive class. Please establish internet connection.'); + } else { + var docRef = firestore.collection('users'); + docRef.get().then((oldUsers) => { + oldUsers.forEach((user) => { + var newPath = firestore.collection('archived').doc('2019').collection('users'); + newPath.doc(user.id).set(user.data()); + + if(user.data().username && user.data().username.includes('2019')) { + console.log(user.data().username, user.id); + docRef.doc(user.id).delete(); + } + + docRef.doc(user.id).update({hours: 0}); + + }); + }); + } +} + +export const archiveCompetitions2019 = () => (dispatch, getState) => { + if(getState().app.offline) { + alert('Failed to archive competitions. Please establish internet connection.'); + } else { + var docRef = firestore.collection('competitions'); + docRef.get().then((oldCompetitions) => { + oldCompetitions.forEach((comp) => { + console.log(comp.id, comp.data()); + var newPath = firestore.collection('archived').doc('2019').collection('competitions'); + newPath.doc(comp.id).set(comp.data()); + + //This will delete the document in its old place... + docRef.doc(comp.id).delete(); + + }); + }); + + } +} diff --git a/src/components/mao-admin.js b/src/components/mao-admin.js index 05357fc..19bf16e 100644 --- a/src/components/mao-admin.js +++ b/src/components/mao-admin.js @@ -17,7 +17,10 @@ import { store } from '../store.js'; // These are the shared styles needed by this element. import { SharedStyles } from './shared-styles.js'; -import { ButtonSharedStyles } from './button-shared-styles.js' +import { ButtonSharedStyles } from './button-shared-styles.js'; + +//These are the actions needed by this element. +import { archiveClass2019, archiveCompetitions2019 } from '../actions/firebaseFirestore.js'; // Import paper elements import '@polymer/paper-input/paper-input.js'; @@ -56,10 +59,36 @@ class MaoAdmin extends connect(store)(PageViewElement) { text-align: center; } + .white { + background-color: white; + + width: 50%; + + display: block; + margin-right: auto; + margin-left: auto; + } + + .search-grid { + display: grid; + + grid-template-columns: 1fr; + } + + .search-grid > paper-button { + display: grid; + + background-color: white; + } + @media (min-width: 460px) { .main-grid { grid-template-columns: 1fr 1fr 1fr; } + + .search-grid { + grid-template-columns: 3fr 1fr; + } } @@ -72,7 +101,7 @@ class MaoAdmin extends connect(store)(PageViewElement) {
Show Hours Requests - Show Competitions And Registry + Show Comps & Registry ${props.usersHidden ? 'Show User Data' : 'Hide User Data'}
@@ -89,6 +118,8 @@ class MaoAdmin extends connect(store)(PageViewElement) { @@ -101,8 +132,14 @@ class MaoAdmin extends connect(store)(PageViewElement) {