Skip to content

Commit

Permalink
Merge pull request #2 from ashawe/Phase2
Browse files Browse the repository at this point in the history
Merge Phase2
  • Loading branch information
ashawe committed Mar 2, 2022
2 parents 4580893 + 1eb3706 commit 095450a
Show file tree
Hide file tree
Showing 53 changed files with 3,652 additions and 1 deletion.
Binary file modified Design - Restaurant Ordering System.docx
Binary file not shown.
25 changes: 25 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,27 @@
# ENPM809WProject-RestaurantOrderingSystem

## Project Setup:

- Install XAMPP / LAMPP on the machine.
- Clone the repository in the ```/opt/lampp/htdocs/``` folder on linux or
```C:/program files/xampp/htdocs``` or similar on windows
- Create a file called CONFIG.php in the ```/opt/lampp/htdocs``` folder with the following contents:
```
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "ros";
?>
```
- goto ```localhost/phpmyadmin```. It should log you in automatically (default username is root and password is <empty>)
- Create a database named ```ros```
- Adding tables & Data:
- to simply get the database snapshot I have right now is to "import" using the file ```sql scripts/ros.sql```
- NOTE: Create.sql might not be updated.

### Sample credentials
admin@mail.com:admin@1321
chef@mail.com:Hehehe123
Binary file added Test Cases - Restaurant Ordering System.pdf
Binary file not shown.
2 changes: 1 addition & 1 deletion assets/erdiagram.drawio
Original file line number Diff line number Diff line change
@@ -1 +1 @@
<mxfile host="app.diagrams.net" modified="2021-10-05T21:13:35.350Z" agent="5.0 (Windows)" etag="ayLkWAZeDabpWu9G2go5" version="15.4.1" type="device"><diagram id="R2lEEEUBdFMjLlhIrx00" name="Page-1">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</diagram></mxfile>
<mxfile host="app.diagrams.net" modified="2021-11-19T23:18:42.163Z" agent="5.0 (X11)" etag="kdJ6BQ3aX4GYqwwhB2mf" version="15.8.3" type="device"><diagram id="R2lEEEUBdFMjLlhIrx00" name="Page-1">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</diagram></mxfile>
Binary file modified assets/erdiagram.drawio.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
135 changes: 135 additions & 0 deletions implementation/add-chef.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
<?php
require_once 'db/db-connect.php';
require 'db/admin-db-functions.php';

$PWD = "";

session_start();

// check if login redirected the user => show toast
if( isset($_SERVER['HTTP_REFERER']) )
{
$PATH_REFFERER = parse_url($_SERVER['HTTP_REFERER'], PHP_URL_PATH);
if($PATH_REFFERER == "/ENPM809WProject-hsaglani/implementation/login.php")
$PRINT_MSG = "Welcome Admin";
}

// check if user has access to this page.
if( !isset($_SESSION['role']) || $_SESSION['role'] != "ADMIN")
{
header('Location: login.php?prompt=please+login+as+admin+to+continue');
}

if(isset($_POST['chef-mail']) && $_SESSION['role'] == "ADMIN")
{
$chefMail = $_POST['chef-mail'];
$ret = addChef($chefMail);
$PWD = $ret;
if($ret!=NULL)
{
$SUCCESS = true;
writeToLog("Admin added chef:" . $chefMail);
}
else
writeToLog("Chef could not be added. Error: " . mysqli_error($conn));
}

?>

<!DOCTYPE html>
<html lang="en">

<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Add Chef</title>

<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<link rel="stylesheet" href="assets/css/main.css">
<link rel="stylesheet" href="assets/css/cover.css">

<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
</head>

<body class="d-flex h-100 bg-dark">
<div class="container d-flex w-100 h-100 p-3 mx-auto flex-column">
<header>
<div class="">
<a href="index.php"><h3 class="float-md-start mb-0 text-white">Restaurant Ordering System</h3></a>
<nav class="nav nav-masthead justify-content-center float-md-end">
<a class="nav-link text-white" aria-current="page" href="view-suggestions.php">Manage Ratings / Reviews</a>
<ul class="navbar-nav mx-3">
<li class="nav-item dropdown text-white">
<a class="text-white nav-link dropdown-toggle" href="#" id="navbarDarkDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Food
</a>
<ul class="dropdown-menu dropdown-menu-dark" aria-labelledby="navbarDarkDropdownMenuLink">
<li><a class="dropdown-item text-white" href="add-edit-food.php">Add Food</a></li>
<li><a class="dropdown-item text-white" href="manage-food.php">Manage Food</a></li>
</ul>
</li>
</ul>
<ul class="navbar-nav mx-3">
<li class="nav-item dropdown text-white">
<a class="text-white nav-link active dropdown-toggle" href="#" id="navbarDarkDropdownMenuLink" role="button" data-bs-toggle="dropdown" aria-expanded="false">
Chef
</a>
<ul class="dropdown-menu dropdown-menu-dark" aria-labelledby="navbarDarkDropdownMenuLink">
<li><a class="dropdown-item text-white" href="add-chef.php">Add Chef</a></li>
<li><a class="dropdown-item text-white" href="manage-chef.php">Manage Chef</a></li>
</ul>
</li>
</ul>
<a class="nav-link text-white" aria-current="page" href="logout.php">Logout</a>
</nav>
</div>
</header>

<main class="py-3 text-white">
<h1 class="my-5 text-center">Add Chef!</h1>
<div class="container">
<div class="row" style="gap:25px">
<form method="POST">
<div class="mb-3">
<label for="food-name" class="form-label">Chef's Email Address</label>
<input type="email" class="form-control" id="food-name" name="chef-mail">
<div id="food-name-help" class="form-text">Enter chef's email id for login. A secure one time password will be generated for them. On their first login, they can choose a different password.</div>
</div>
<button type="submit" class="btn btn-primary">Add Chef</button>
</form>
</div>
<div class="row <?= isset($_POST['chef-mail']) && $SUCCESS ? "" : "d-none" ?>">
<p class="muted">Give these credentials to the chef for login. They will need to reset password upon first login.</p>
<h3>Chef Mail: <?= isset($_POST['chef-mail']) || $SUCCESS ? $_POST['chef-mail'] : "" ?> </h3>
<h3>Chef Password: <?= isset($_POST['chef-mail']) || $SUCCESS ? $ret : "" ?> </h3>
</div>
</div>
</main>

<footer class="mt-auto text-white-50" style="position: fixed;">
<div class="toast-container">
</div>
</footer>
</div>

<script src="assets/js/main.js"></script>
<script>
<?php
if(isset($_POST['chef-mail']) && isset($SUCCESS) ) {
if($SUCCESS)
echo "$( document ).ready(function(){ generateToast('success-failure-toast','Chef Added Successfully','success');});";
else
echo "$( document ).ready(function(){ generateToast('success-failure-toast','There was some error adding chef. Check logs.','danger');});";
}
?>
<?php
if(isset($PRINT_MSG)) {
echo "$( document ).ready(function(){ generateToast('login-toast','Welcome Admin!.','success');});";
}
?>
</script>
</body>

</html>
Loading

0 comments on commit 095450a

Please sign in to comment.