From 2ad92eb7fd155e8592486c036fad07a324ecb7a9 Mon Sep 17 00:00:00 2001 From: Teppy Date: Sat, 21 Dec 2024 00:29:45 -0500 Subject: [PATCH] changes --- foftickets.js | 31 ++++++++-- public/js/nav.js | 8 +++ public/styles.css | 4 +- views/camps.ejs | 43 +++++++++++++ views/groups.ejs | 134 +++++++++++++++++++++++++++++++++++++++++ views/partials/nav.ejs | 8 ++- 6 files changed, 218 insertions(+), 10 deletions(-) create mode 100644 public/js/nav.js create mode 100644 views/camps.ejs create mode 100644 views/groups.ejs diff --git a/foftickets.js b/foftickets.js index 940ce60..2f3e46a 100644 --- a/foftickets.js +++ b/foftickets.js @@ -64,7 +64,7 @@ const tickets = { "habitat-1" : { owner: "teppy@egenesis.com" , offered: "", pa "habitat-6" : { owner: "teppy@egenesis.com" , offered: "", paid: 0.00 }, }; -const camps = { "habitat": { issued: 6 } }; +const camps = { "habitat": { leader: "teppy@egenesis.com", lastid:6 } }; const tokens = { "abc" : { username: "teppy@egenesis.com", expires: 0 } }; @@ -157,6 +157,24 @@ function categorizeTickets(username) { } +app.get('/camps',requireSuperUser, (req,res) => { + const camplist={}; + for (const c in camps) { + camplist[c]={ leader:camps[c].leader, issued:0, claimed:0, used:0 }; + } + for (const t in tickets) { + const parts=t.split("-"); + const campname=parts[0]; + const ticketnum=Number(parts[1]); +// camplist[campname]??={ leader:"", issued:0, claimed:0, used:0 }; + camplist[campname].issued+=1; + if (tickets[t].owner!="") camplist[campname].claimed+=1; + if (tickets[t].used) camplist[campname].used+=1; + } + return res.render("camps",{ username:"Teppy", camps:camplist }); + }) + + app.get('/issue', requireSuperUser, (req,res) => { const camplist={}; for (const t in tickets) { @@ -171,16 +189,17 @@ app.get('/issue', requireSuperUser, (req,res) => { return res.render("issue",{ username:"Teppy", camps:camplist }); }) -app.post("/issue",(req,res) => { +app.post("/camps",(req,res) => { const campname=req.body.campname; const email=req.body.email; const qty=Number(req.body.qty); - camps[campname]??={ issued:0 }; + console.log("New camp: ",campname); + camps[campname]??={ leader:leader, lastid:0 }; for (let i=0; i + + + Camps + + + + <%- include('partials/nav') %> +

Camp Editor (Administrator <%= username %>)

+
+ + + + + + + + + <% for (const c in camps) { %> + + + + + + + + <% } %> + + +
CampLeader#Issued#Claimed#Used
<%=c%><%=camps[c].leader%> <%=camps[c].issued%> <%=camps[c].claimed%> <%=camps[c].used%>
+
Create New Group:
+ Group Name:
+ Lead Email:
+ Initial Qty:
+ +
+ + + + + + diff --git a/views/groups.ejs b/views/groups.ejs new file mode 100644 index 0000000..1abf625 --- /dev/null +++ b/views/groups.ejs @@ -0,0 +1,134 @@ + + + + Groups (Camps) + + + + <%- include('partials/nav') %> +

Welcome, <%= username %>!

+
+ + + + + + + + + <% for (const t in tickets) { %> + + + + + + + + <% } %> + + +
CampLeader#Issued#Claimed#Used
<%=t%> >
+
+ + + diff --git a/views/partials/nav.ejs b/views/partials/nav.ejs index cf9b1de..3f143bf 100644 --- a/views/partials/nav.ejs +++ b/views/partials/nav.ejs @@ -8,8 +8,10 @@