Skip to content
This repository was archived by the owner on Sep 8, 2019. It is now read-only.

Commit 130fd33

Browse files
kluzynickkluzynick
authored andcommitted
Can now add, edit, and remove from users
1 parent 51fccc7 commit 130fd33

File tree

8 files changed

+176
-62
lines changed

8 files changed

+176
-62
lines changed

frontend/www/get_users.js

Lines changed: 0 additions & 50 deletions
This file was deleted.

frontend/www/settings.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
var baseip="http://192.168.176.129";

frontend/www/users/add.html

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
</head>
66
<body>
77
<h1> Add Users </h1>
8-
<p> Welcome to the users database. Please select a function.</p>
8+
<p> To add a user, fill out the textboxes and hit submit.</p>
99
<form name="add_data">
1010
First name:<br>
1111
<input type="text" id="firstname" value=""><br>
@@ -16,7 +16,8 @@ <h1> Add Users </h1>
1616
Banner ID:<br>
1717
<input type="text" id="banner_id" value=""><br>
1818
<br>
19-
<input type="button" onclick="get_users()" value="Add"/><br>
19+
<input type="button" onclick="add_user()" value="Add"/><br>
2020
</form>
21+
<p id = "result"></p>
2122
</body>
2223
</html>

frontend/www/users/add_user.js

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
function add_user(){
2+
var fn, ln, em, bi, person
3+
4+
if (document.getElementById("firstname")){
5+
fn = document.getElementById("firstname").value;
6+
}else{
7+
fn = "";
8+
}
9+
if (document.getElementById("lastname")){
10+
ln = document.getElementById("lastname").value;
11+
}
12+
else{
13+
ln="";
14+
}
15+
if (document.getElementById("email")){
16+
em = document.getElementById("email").value;
17+
}else{
18+
em = "";
19+
}
20+
if (document.getElementById("banner_id")){
21+
bi = document.getElementById("banner_id").value;
22+
}
23+
else{
24+
bi="";
25+
}
26+
console.log(fn + ", " + ln + ": " + em + " " + bi);
27+
var xhttp = new XMLHttpRequest();
28+
xhttp.onreadystatechange = function() {
29+
if (this.readyState == 4 && this.status == 200) {
30+
document.getElementById("result").innerHTML = "User added!";
31+
} else {
32+
document.getElementById("result").innerHTML ="Error adding user";
33+
}
34+
}
35+
if (fn !== "" | ln !== "" | bi !== ""){
36+
person = {first_name:fn , last_name:ln, banner_id:parseInt(bi), email:em };
37+
xhttp.open("POST", baseip+":8000/users/", true);
38+
xhttp.send(JSON.stringify(person));
39+
console.log("Sent to database");
40+
}else{
41+
document.getElementById("result").innerHTML ="Error: First name, Last name, and Banner ID are required";
42+
console.log("Error in text fields");
43+
}
44+
45+
}

frontend/www/users/delete_user.js

Whitespace-only changes.

frontend/www/users/edit.html

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
<html>
2+
<head>
3+
<title>Kluzy-Users</title>
4+
<script type="text/javascript" src="update_user.js"></script>
5+
</head>
6+
<body onload="get_user_from_url();">
7+
<h1> Edit User </h1>
8+
<p> Edit the user selected from your search.</p>
9+
<div>
10+
<h2> Current User Data </h2>
11+
<table id = "current_user"></table>
12+
</div>
13+
<div>
14+
<h2> Updated User Data </h2>
15+
<form name="edit_data">
16+
First name:<br>
17+
<input type="text" id="firstname" value=""><br>
18+
Last name:<br>
19+
<input type="text" id="lastname" value=""><br>
20+
Email:<br>
21+
<input type="text" id="email" value=""><br>
22+
Banner ID:<br>
23+
<input type="text" id="banner_id" value=""><br>
24+
<br>
25+
<input type="button" onclick="update_user()" value="Edit"/><br>
26+
</form>
27+
</div>
28+
<p id = "result"></p>
29+
<div>
30+
<h2> DELETE USER </h2>
31+
<input type="button" onclick="delete_user()" value="Cannot be undone!"/><br>
32+
</div>
33+
</body>
34+
</html>

frontend/www/users/get_users.js

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
function get_users() {
2-
//Things to add:
3-
//Edit/Delete
4-
//Add
5-
var x, fn, ln,people,y;
2+
var x, fn, ln,y;
3+
var people;
4+
//people.id = "seach_table";
65
if (document.getElementById("firstname")){
76
fn = document.getElementById("firstname").value;
87
}else{
@@ -23,21 +22,23 @@ function get_users() {
2322
for(x in search_results.users){
2423
//people += search_results.users[x].first_name+ " " + search_results.users[x].last_name + ", email: "+search_results.users[x].email+"<br>";
2524
y=parseInt(x)+1;
26-
people += "<tr> <td>"+ y +"</td><td>"+search_results.users[x].first_name+ "</td><td>" + search_results.users[x].last_name + "</td><td>"+search_results.users[x].email+"</td></td>";
25+
people += "<tr> <td>"+ y +"</td><td>"+search_results.users[x].first_name+ "</td><td>" + search_results.users[x].last_name
26+
+ "</td><td>"+search_results.users[x].email+"</td><td>" +
27+
"<input type=\"button\" onclick=\"location.href=\'/users/edit.html?user_id="+search_results.users[x].id+"\'\" value=\"Edit\"/></td></tr>";
2728
}
2829
document.getElementById("user").innerHTML = people;
2930
}
3031
};
3132
console.log("first name: \""+fn + "\" lastname: \"" + ln+"\"");
3233
if (fn !=="" && ln !==""){
33-
xhttp.open("GET", "http://192.168.176.129:8000/users/?first_name_exact="+fn+"&last_name_exact="+ln, true);
34+
xhttp.open("GET", baseip+":8000/users/?first_name_exact="+fn+"&last_name_exact="+ln, true);
3435
}else if(fn !==""){
35-
xhttp.open("GET", "http://192.168.176.129:8000/users/?first_name_exact="+fn, true);
36+
xhttp.open("GET", baseip+":8000/users/?first_name_exact="+fn, true);
3637
}else if(ln !==""){
37-
xhttp.open("GET", "http://192.168.176.129:8000/users/?last_name_exact="+ln, true);
38+
xhttp.open("GET", baseip+":8000/users/?last_name_exact="+ln, true);
3839
}else {
3940
console.log("Empty Search");
40-
xhttp.open("GET", "http://192.168.176.129:8000/users/", true);
41+
xhttp.open("GET", baseip+":8000/users/", true);
4142
}
4243
xhttp.send();
43-
}
44+
}

frontend/www/users/update_user.js

Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
function get_user_from_url(){
2+
var url = window.location + "";
3+
var point = url.indexOf("=");
4+
var user_id = url.substring(point+1, url.length);
5+
6+
console.log("User ID is " + user_id);
7+
var xhttp = new XMLHttpRequest();
8+
xhttp.onreadystatechange = function() {
9+
if (this.readyState == 4 && this.status == 200) {
10+
var search_results = JSON.parse(this.responseText);
11+
var user = "<tr><td> First name: </td><td> " + search_results.first_name + "</td></tr>" +
12+
"<tr><td> Last name: </td><td> " + search_results.last_name + "</td></tr>" +
13+
"<tr><td> Email: </td><td> " + search_results.email + "</td></tr>" +
14+
"<tr><td> Banner ID: </td><td> " + search_results.banner_id + "</td></tr>";
15+
document.getElementById("current_user").innerHTML = user;
16+
}};
17+
xhttp.open("GET", baseip+":8000/users/"+user_id,true);
18+
xhttp.send();
19+
}
20+
function update_user(){
21+
if (document.getElementById("firstname").value === ""){
22+
fn = null;
23+
}else{
24+
fn = document.getElementById("firstname").value;
25+
}
26+
27+
if (document.getElementById("lastname").value===""){
28+
ln=null
29+
}
30+
else{
31+
ln = document.getElementById("lastname").value;
32+
}
33+
if (document.getElementById("email").value===""){
34+
em=null;
35+
}else{
36+
em = document.getElementById("email").value;
37+
}
38+
if (document.getElementById("banner_id").value===""){
39+
bi=null
40+
}
41+
else{
42+
bi = document.getElementById("banner_id").value;
43+
}
44+
var xhttp = new XMLHttpRequest();
45+
xhttp.onreadystatechange = function() {
46+
if (this.readyState == 4 && this.status == 204) {
47+
document.getElementById("result").innerHTML = "User Editted!";
48+
get_user_from_url();
49+
} else {
50+
document.getElementById("result").innerHTML ="Error editted user";
51+
}}
52+
// Reaquire User
53+
var url = window.location + "";
54+
var point = url.indexOf("=");
55+
var user_id = url.substring(point+1, url.length);
56+
person = {first_name:fn , last_name:ln, banner_id:parseInt(bi), email:em };
57+
xhttp.open("POST", baseip+":8000/users/"+user_id, true);
58+
xhttp.send(JSON.stringify(person));
59+
console.log("Sent to database");
60+
61+
62+
}
63+
64+
function delete_user() {
65+
var url = window.location + "";
66+
var point = url.indexOf("=");
67+
var user_id = url.substring(point+1, url.length);
68+
69+
var xhttp = new XMLHttpRequest();
70+
xhttp.onreadystatechange = function() {
71+
if (this.readyState == 4 && this.status == 204) {
72+
document.getElementById("result").innerHTML = "User Deleted!";
73+
74+
} else {
75+
document.getElementById("result").innerHTML ="Error deleting user";
76+
}}
77+
xhttp.open("DELETE", baseip+":8000/users/"+user_id, true);
78+
xhttp.send();
79+
80+
81+
82+
}

0 commit comments

Comments
 (0)