mirror of
https://github.com/Blair-SGA-Dev-Team/blazerapp.git
synced 2026-07-16 06:50:22 -04:00
stuff
This commit is contained in:
@@ -21,9 +21,51 @@ CREATE TABLE teachers (
|
||||
id SERIAL PRIMARY KEY,
|
||||
lang VARCHAR,
|
||||
name VARCHAR NOT NULL,
|
||||
emails VARCHAR[]
|
||||
emails VARCHAR NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE announcements (
|
||||
id SERIAL PRIMARY KEY,
|
||||
lang VARCHAR,
|
||||
message VARCHAR NOT NULL,
|
||||
teacher VARCHAR NOT NULL,
|
||||
date DATE,
|
||||
time TIME
|
||||
);
|
||||
|
||||
CREATE TABLE clubs (
|
||||
id SERIAL PRIMARY KEY,
|
||||
lang VARCHAR,
|
||||
name VARCHAR NOT NULL,
|
||||
meeting VARCHAR NOT NULL,
|
||||
link VARCHAR NOT NULL,
|
||||
sponsor VARCHAR NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE lunch_events (
|
||||
id SERIAL PRIMARY KEY,
|
||||
lang VARCHAR,
|
||||
title VARCHAR NOT NULL,
|
||||
text VARCHAR NOT NULL,
|
||||
location VARCHAR NOT NULL,
|
||||
time TIME
|
||||
);
|
||||
|
||||
CREATE TABLE ssl_opps (
|
||||
id SERIAL PRIMARY KEY,
|
||||
lang VARCHAR,
|
||||
title VARCHAR NOT NULL,
|
||||
text VARCHAR NOT NULL,
|
||||
location VARCHAR NOT NULL,
|
||||
teacher VARCHAR NOT NULL,
|
||||
time TIME
|
||||
);
|
||||
|
||||
CREATE TABLE polls (
|
||||
id SERIAL PRIMARY KEY,
|
||||
lang VARCHAR,
|
||||
url VARCHAR NOT NULL
|
||||
);
|
||||
|
||||
CREATE TABLE new (
|
||||
id SERIAL PRIMARY KEY,
|
||||
@@ -32,3 +74,10 @@ CREATE TABLE new (
|
||||
name VARCHAR NOT NULL,
|
||||
new_date DATE
|
||||
);
|
||||
|
||||
CREATE TABLE important (
|
||||
id SERIAL PRIMARY KEY,
|
||||
lang VARCHAR,
|
||||
image VARCHAR,
|
||||
text VARCHAR NOT NULL
|
||||
)
|
||||
|
||||
+10
-1
@@ -157,7 +157,7 @@ api_route! {
|
||||
api_route! {
|
||||
teachers {
|
||||
name: (Text, String, String),
|
||||
emails: (Array<Text>, Vec<String>, EmailList),
|
||||
emails: (Text, String, String),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -170,6 +170,15 @@ api_route! {
|
||||
}
|
||||
}
|
||||
|
||||
api_route! {
|
||||
student {
|
||||
name: (Text, String, String),
|
||||
meeting: (Text, String, String),
|
||||
link: (Text, String, String),
|
||||
sponsor: (Text, String, String),
|
||||
}
|
||||
}
|
||||
|
||||
api_route! {
|
||||
clubs {
|
||||
name: (Text, String, String),
|
||||
|
||||
@@ -0,0 +1,174 @@
|
||||
{{! vim: set ft=html: }}
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="/static/style.css">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Rubik:wght@400;600;700&display=swap" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-md p-3" style="">
|
||||
<h2 style="font-size: 24px; font-weight: bold">
|
||||
Admin Panel
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div class="container-md d-flex gap-4" style="">
|
||||
<!-- announcements list -->
|
||||
<div class="p-3" style="flex: 1;">
|
||||
<h1 style="font-size: 28px;">Announcements</h1>
|
||||
|
||||
<div class="vstack gap-3 mt-4">
|
||||
{{#each ctx}}
|
||||
<div class="bg-light border rounded-3 p-2">
|
||||
<small>ID: {{id}} | LANG: {{lang}}</small>
|
||||
<h3 class="my-2" style="font-size: 18px;">{{teacher}}</h3>
|
||||
<p class="mb-2">{{message}}</p>
|
||||
<small><b>{{date}}</b> at time <b>{{time}}</b></small>
|
||||
<form action="announcements/del" method="post">
|
||||
<div class="d-flex mt-3">
|
||||
<input type="number" class="form-control form-control-sm" id="id" name="id" value = {{id}} style="display: none">
|
||||
</div>
|
||||
<input type="submit" value="Delete">
|
||||
</form>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- announcements actions -->
|
||||
<div class="p-3" style="flex: 1;">
|
||||
<h1 style="font-size: 28px;">Announcements Actions</h1>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div class="my-4">
|
||||
<h2 style="font-size: 20px;">Add Event</h2>
|
||||
<form action="announcements/add" method="post">
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Lang</p>
|
||||
<label for="lang" class="form-label"><small>'en' for English, 'es' for Spanish</small></label>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="lang" name="lang">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Teacher</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="teacher" name="teacher">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Message</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="message" name="message">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Date</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="date" name="date">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Time of Submission</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="time" name="time">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="my-4">
|
||||
<h2 style="font-size: 20px;">Update Event</h2>
|
||||
<form action="anouncements/upd" method="post">
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">ID of event to update</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="number" class="form-control form-control-sm" id="id" name="id">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Lang</p>
|
||||
<label for="lang" class="form-label"><small>'en' for English, 'es' for Spanish</small></label>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="lang" name="lang">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Teacher</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="teacher" name="teacher">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Message</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="message" name="message">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Date</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="date" name="date">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Time of Submission</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="time" name="time">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Teacher/Organizer Email</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="emails" name="emails">
|
||||
</div>
|
||||
</div>
|
||||
<input type="submit", value="Submit">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,175 @@
|
||||
{{! vim: set ft=html: }}
|
||||
|
||||
<html>
|
||||
<head>
|
||||
<link rel="stylesheet" href="/static/style.css">
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">
|
||||
<link rel="preconnect" href="https://fonts.googleapis.com">
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Rubik:wght@400;600;700&display=swap" rel="stylesheet">
|
||||
</head>
|
||||
<body>
|
||||
<div class="container-md p-3" style="">
|
||||
<h2 style="font-size: 24px; font-weight: bold">
|
||||
Admin Panel
|
||||
</h2>
|
||||
</div>
|
||||
|
||||
<div class="container-md d-flex gap-4" style="">
|
||||
<!-- clubs list -->
|
||||
<div class="p-3" style="flex: 1;">
|
||||
<h1 style="font-size: 28px;">Clubs</h1>
|
||||
|
||||
<div class="vstack gap-3 mt-4">
|
||||
{{#each ctx}}
|
||||
<div class="bg-light border rounded-3 p-2">
|
||||
<small>ID: {{id}} | LANG: {{lang}}</small>
|
||||
<h3 class="my-2" style="font-size: 18px;">{{name}}</h3>
|
||||
<p class="mb-2">{{meeting}}</p>
|
||||
<small><b>{{link}}</b></small>
|
||||
<p class="mt-2 mb-0">Sponsor: {{sponsor}}</p>
|
||||
<form action="clubs/del" method="post">
|
||||
<div class="d-flex mt-3">
|
||||
<input type="number" class="form-control form-control-sm" id="id" name="id" value = {{id}} style="display: none">
|
||||
</div>
|
||||
<input type="submit" value="Delete">
|
||||
</form>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- clubs actions -->
|
||||
<div class="p-3" style="flex: 1;">
|
||||
<h1 style="font-size: 28px;">Clubs Actions</h1>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div class="my-4">
|
||||
<h2 style="font-size: 20px;">Add Event</h2>
|
||||
<form action="clubs/add" method="post">
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Lang</p>
|
||||
<label for="lang" class="form-label"><small>'en' for English, 'es' for Spanish</small></label>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="lang" name="lang">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Teacher</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="teacher" name="teacher">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Message</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="message" name="message">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Date</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="date" name="date">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Time of Submission</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="time" name="time">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<div class="my-4">
|
||||
<h2 style="font-size: 20px;">Update Event</h2>
|
||||
<form action="anouncements/upd" method="post">
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">ID of event to update</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="number" class="form-control form-control-sm" id="id" name="id">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Lang</p>
|
||||
<label for="lang" class="form-label"><small>'en' for English, 'es' for Spanish</small></label>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="lang" name="lang">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Teacher</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="teacher" name="teacher">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Message</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="message" name="message">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Date</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="date" name="date">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Time of Submission</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="time" name="time">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">Teacher/Organizer Email</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="text" class="form-control form-control-sm" id="emails" name="emails">
|
||||
</div>
|
||||
</div>
|
||||
<input type="submit", value="Submit">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -28,6 +28,12 @@
|
||||
<p class="mb-2">{{text}}</p>
|
||||
<small><b>{{event_date}}</b> at <b>{{location}}</b></small>
|
||||
<p class="mt-2 mb-0">Organizer: {{name}} | Organizer Email: {{emails}}</p>
|
||||
<form action="events/del" method="post">
|
||||
<div class="d-flex mt-3">
|
||||
<input type="number" class="form-control form-control-sm" id="id" name="id" value = {{id}} style="display: none">
|
||||
</div>
|
||||
<input type="submit" value="Delete">
|
||||
</form>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
@@ -110,25 +116,6 @@
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div class="my-4">
|
||||
<h2 style="font-size: 20px;">Delete Event</h2>
|
||||
<form action="events/del" method="post">
|
||||
<div class="d-flex mt-3">
|
||||
<div style="flex: 1; justify-content: center;">
|
||||
<p class="my-0">ID of event to delete</p>
|
||||
</div>
|
||||
<div style="flex: 1; align: center;">
|
||||
<input type="number" class="form-control form-control-sm" id="id" name="id">
|
||||
</div>
|
||||
</div>
|
||||
<input type="submit" value="Submit">
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<hr/>
|
||||
|
||||
<div class="my-4">
|
||||
<h2 style="font-size: 20px;">Update Event</h2>
|
||||
<form action="events/upd" method="post">
|
||||
@@ -212,10 +199,4 @@
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
|
||||
<!--<p>Teacher/Organizer </p>
|
||||
<input type="text", id="name", name="name">
|
||||
<p>Teacher/Organizer Email</p>
|
||||
<input type="text", id="emails", name="emails">
|
||||
<p></p>-_!>
|
||||
</html>
|
||||
Reference in New Issue
Block a user