Compare commits
	
		
			4 Commits 
		
	
	
		
			master
			...
			Bug37-Dmyt
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | 6acac2dbc7 | |
|  | 18a41dd1bb | |
|  | 036489041f | |
|  | 207d12a4a3 | 
							
								
								
									
										20
									
								
								Admin.php
								
								
								
								
							
							
						
						
									
										20
									
								
								Admin.php
								
								
								
								
							|  | @ -51,11 +51,11 @@ if ($_SESSION['user_type'] != "Lecturer") { | ||||||
|         </li> |         </li> | ||||||
| 
 | 
 | ||||||
|         <li class="nav-item"> |         <li class="nav-item"> | ||||||
|           <a class="nav-link" data-toggle="tab" href="#menu2" id="batch_tab">Batch Create New Student Accounts</a> |           <a class="nav-link" data-toggle="tab" href="#menu2">Batch Create New Student Accounts</a> | ||||||
|         </li> |         </li> | ||||||
| 
 | 
 | ||||||
|         <li class="nav-item"> |         <li class="nav-item"> | ||||||
|           <a class="nav-link" data-toggle="tab" href="#menu1" id="existing_accounts_tab">Existing Accounts</a> |           <a class="nav-link" data-toggle="tab" href="#menu1">Existing Accounts</a> | ||||||
|         </li> |         </li> | ||||||
| 
 | 
 | ||||||
|       </ul> |       </ul> | ||||||
|  | @ -66,7 +66,7 @@ if ($_SESSION['user_type'] != "Lecturer") { | ||||||
|         <div id="home" class="container tab-pane active"><br> |         <div id="home" class="container tab-pane active"><br> | ||||||
| 
 | 
 | ||||||
|           <b>Create Lecturer/TA Accounts </b> |           <b>Create Lecturer/TA Accounts </b> | ||||||
|           <form method="post" action="Script.php" id="create_account_form"> |           <form method="post" action="Script.php"> | ||||||
|             <input type="hidden" name="frm_createlecturrer" value="true" required="" /> |             <input type="hidden" name="frm_createlecturrer" value="true" required="" /> | ||||||
|             Full_Name |             Full_Name | ||||||
|             <input type="text" name="fullname" placeholder="Full Name" class="form-control" required=""> |             <input type="text" name="fullname" placeholder="Full Name" class="form-control" required=""> | ||||||
|  | @ -76,9 +76,9 @@ if ($_SESSION['user_type'] != "Lecturer") { | ||||||
|             Passport_Number / ID (Used as Intial Password) |             Passport_Number / ID (Used as Intial Password) | ||||||
|             <input type="text" class="form-control" name="passport" placeholder="Passport No./ID" required=""> |             <input type="text" class="form-control" name="passport" placeholder="Passport No./ID" required=""> | ||||||
|             <br> User Type : |             <br> User Type : | ||||||
|             <input type="radio" name="type" value="Lecturer" required="" id="role_lecturer"> Lecturer |             <input type="radio" name="type" value="Lecturer" required=""> Lecturer | ||||||
|             <input type="radio" name="type" value="TA" required="" id="role_TA"> T/A |             <input type="radio" name="type" value="TA" required=""> T/A | ||||||
|             <input type="submit" class="btn btn-primary" value="Create" id="create_btn"><br> |             <input type="submit" class="btn btn-primary" value="Create"><br> | ||||||
|             <?php |             <?php | ||||||
| 
 | 
 | ||||||
|             error_reporting(E_ALL); |             error_reporting(E_ALL); | ||||||
|  | @ -121,10 +121,10 @@ if ($_SESSION['user_type'] != "Lecturer") { | ||||||
|               $btn = "<button class='btn-primary' onclick=\"updatePass(" . $row['User_ID'] . ",'$pass')\">Reset</button>"; |               $btn = "<button class='btn-primary' onclick=\"updatePass(" . $row['User_ID'] . ",'$pass')\">Reset</button>"; | ||||||
|               if ($row['Status'] == "Active") { |               if ($row['Status'] == "Active") { | ||||||
|                 $newstatus = "Blocked"; |                 $newstatus = "Blocked"; | ||||||
|                 $btnBlock = "<button class='btn-danger' onclick=\"blockUser(" . $row['User_ID'] . ",'$newstatus')\" id=\"block_account_1\">Block</button>"; |                 $btnBlock = "<button class='btn-danger' onclick=\"blockUser(" . $row['User_ID'] . ",'$newstatus')\">Block</button>"; | ||||||
|               } else { |               } else { | ||||||
|                 $newstatus = "Active"; |                 $newstatus = "Active"; | ||||||
|                 $btnBlock = "<button class='btn-success' onclick=\"blockUser(" . $row['User_ID'] . ",'$newstatus')\" id=\"activate_account_1\">Activate</button>"; |                 $btnBlock = "<button class='btn-success' onclick=\"blockUser(" . $row['User_ID'] . ",'$newstatus')\">Activate</button>"; | ||||||
|               } |               } | ||||||
| 
 | 
 | ||||||
|               echo "<tr><td>" . $row['User_ID'] . "</td><td>" . $row['Full_Name'] . "</td><td>" . $row['Email'] . "</td> <td>" . $row['Passport_Number'] . "</td><td>$btn</td><td>$btnBlock</td></tr>"; |               echo "<tr><td>" . $row['User_ID'] . "</td><td>" . $row['Full_Name'] . "</td><td>" . $row['Email'] . "</td> <td>" . $row['Passport_Number'] . "</td><td>$btn</td><td>$btnBlock</td></tr>"; | ||||||
|  | @ -138,11 +138,11 @@ if ($_SESSION['user_type'] != "Lecturer") { | ||||||
| 
 | 
 | ||||||
|         <div id="menu2" class="container tab-pane fade" style="margin-top:10px"> |         <div id="menu2" class="container tab-pane fade" style="margin-top:10px"> | ||||||
|           <b>Separate two student numbers with a space.</b><br> |           <b>Separate two student numbers with a space.</b><br> | ||||||
|           <form action="batch_insert.php" method="post" id="batch_form"> |           <form action="batch_insert.php" method="post"> | ||||||
|             <p> |             <p> | ||||||
|               <textarea cols="80" rows="16" name="users" required=""></textarea> |               <textarea cols="80" rows="16" name="users" required=""></textarea> | ||||||
|             </p> |             </p> | ||||||
|             <input type="submit" class="btn btn-primary" value="Register Students" id="register_btn"><br> |             <input type="submit" class="btn btn-primary" value="Register Students"><br> | ||||||
|           </form> |           </form> | ||||||
|         </div> |         </div> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										1103
									
								
								Courses.php
								
								
								
								
							
							
						
						
									
										1103
									
								
								Courses.php
								
								
								
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										11
									
								
								Footer.php
								
								
								
								
							
							
						
						
									
										11
									
								
								Footer.php
								
								
								
								
							|  | @ -1,4 +1,9 @@ | ||||||
| <br><br><br><br><br><br><br><br><br> |  | ||||||
| <div style="background-color:white;width:100%di"> |  | ||||||
|   |   | ||||||
| </div> |  <footer class="footer bg-primary"> | ||||||
|  |       <div class="container text-light">  | ||||||
|  |         <p >LRR was originally developed as a <a href="http://lanlab.org/course/2018f/se/homepage.html" style="color:white;">Software engineering course project</a> by Mohamed Nor and Elmahdi Houzi.  Please submit your suggestions or bug reports to  lanhui _at_ zjnu.edu.cn.  Last updated on 18/04/2020 by Ashly. <a href="./homepage" style="color:white;">More information ...</a></p>  | ||||||
|  |       <small>© 2018 Copyright: <a href="http://lanlab.org/">lanlab.org</a></small> | ||||||
|  |       </div> | ||||||
|  |     </footer> | ||||||
|  |    | ||||||
|  |   | ||||||
|  |  | ||||||
							
								
								
									
										219
									
								
								Header.php
								
								
								
								
							
							
						
						
									
										219
									
								
								Header.php
								
								
								
								
							|  | @ -19,137 +19,37 @@ if (mysqli_connect_errno()) { | ||||||
| 
 | 
 | ||||||
| <head> | <head> | ||||||
|   |   | ||||||
|   <link href="./css/bootstrap.min.css" rel="stylesheet" type="text/css" /> |   <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/> | ||||||
|   <link href="./font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css" /> |   <link href="./font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css" /><!-- Font-awesome CSS --> | ||||||
|   <link href="./css/bootstrap.min.css" rel="stylesheet" type="text/css" /> |   <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous"><!-- Bootstrap CSS --> | ||||||
|  | 
 | ||||||
|  |   <link href="./css/Styles.css" rel="stylesheet" type="text/css" /> | ||||||
| 
 | 
 | ||||||
|   <script src="./css/jquery.min.js" type="text/javascript"></script> |   <script src="./css/jquery.min.js" type="text/javascript"></script> | ||||||
|   <script src="./css/bootsrap.min.js" type="text/javascript"></script> |   <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script> | ||||||
|  |     <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js" integrity="sha384-ZMP7rVo3mIykV+2+9J3UJ46jBk0WLaUAdn689aCwoqbBJiSnjAK/l8WvCWPIPm49" crossorigin="anonymous"></script> | ||||||
|  |     <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script> | ||||||
|  |    | ||||||
|   <script src="./css/jquery.datetimepicker.min.js" type="text/javascript"></script> |   <script src="./css/jquery.datetimepicker.min.js" type="text/javascript"></script> | ||||||
|  |   <script src="./js/CustomDropdown.js" type="text/javascript"></script> | ||||||
|   |   | ||||||
| </head> |     <style> | ||||||
|  |       .bd-placeholder-img { | ||||||
|  |         font-size: 1.125rem; | ||||||
|  |         text-anchor: middle; | ||||||
|  |         -webkit-user-select: none; | ||||||
|  |         -moz-user-select: none; | ||||||
|  |         user-select: none; | ||||||
|  |       } | ||||||
| 
 | 
 | ||||||
| <body> |       /*Rule to include a block of CSS properties only if a certain condition is true.*/ | ||||||
| 
 |       /*https://www.w3schools.com/css/css_rwd_mediaqueries.asp*/ | ||||||
|   <nav class="navbar navbar-expand-lg navbar-dark bg-dark" style="padding-left:150px;padding-right:150px;margin:auto;"> |       @media (min-width: 768px) { | ||||||
|     <a class="navbar-brand" href="~\..\index.php"> <img src="logo.png" style="width:30px;height:30px;"> LRR </a> |         .bd-placeholder-img-lg { | ||||||
|     <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarColor02" aria-controls="navbarColor02" aria-expanded="false" aria-label="Toggle navigation"> |           font-size: 3.5rem; | ||||||
|       <span class="navbar-toggler-icon"></span> |  | ||||||
|     </button> |  | ||||||
| 
 |  | ||||||
|     <div class="collapse navbar-collapse" id="navbarColor02"> |  | ||||||
|       <ul class="navbar-nav mr-auto"> |  | ||||||
|         <li class="nav-item active"> |  | ||||||
| 
 |  | ||||||
|         <li class="nav-item active"> |  | ||||||
|           <!-- <a class='nav-link' href='~\..\Visitors.php'>     <i class='fa fa-globe'></i>  Visitor Portal <span class='sr-only'>(current)</span></a> --> |  | ||||||
|         </li> |  | ||||||
|         <?php |  | ||||||
|         if (isset($_SESSION["user_fullname"])) { |  | ||||||
| 
 |  | ||||||
|           echo "       <a class='nav-link' href='~\..\Courses.php'><i class='fa fa-book'></i> Courses <span class='sr-only'>(current)</span></a>"; |  | ||||||
|         ?>
 |  | ||||||
|           </li> |  | ||||||
|       </ul> |  | ||||||
|       <form class="form-inline my-2 my-lg-0" style="color:#fff;"> |  | ||||||
|         Welcome   <b> <?php echo $_SESSION['user_fullname']; ?> </b>  
 |  | ||||||
| 
 |  | ||||||
|         <?php |  | ||||||
|           $c_date =  date("Y-m-d H:i"); |  | ||||||
|           if (isset($_SESSION['user_student_id'])) |  | ||||||
|             echo "(" . $_SESSION['user_type'] . " - " . $_SESSION['user_student_id'] . ")   "; |  | ||||||
|           else |  | ||||||
|             echo "(" . $_SESSION['user_type'] . ")   "; |  | ||||||
|         ?>
 |  | ||||||
| 
 |  | ||||||
|         <?php |  | ||||||
|           if ($_SESSION['user_type'] == "Lecturer") { |  | ||||||
|             echo  "     <i class=\"fa fa-cog\" style=\"color:#fff;\"> </i>  <a style='color:#fff !important' href=\"~\..\Admin.php\" id=\"admin_tab\">Admin </a>"; |  | ||||||
|           } |  | ||||||
|         ?>
 |  | ||||||
| 
 |  | ||||||
|             <i class="fa fa-user" style="color:#fff;"> </i> |  | ||||||
|          <a href="#" style='color:#fff !important' onclick="updatePass(<?php echo $_SESSION['user_id']; ?>)">Update password</a> |  | ||||||
|             <i class="fa fa-lock" style="color:#fff;"> </i>  <a style='color:#fff !important' href="~\..\logout.php">Logout </a> |  | ||||||
| 
 |  | ||||||
|       <?php |  | ||||||
|         } |         } | ||||||
|       ?>
 |       } | ||||||
|       </form> |     </style> | ||||||
|     </div> |  | ||||||
|   </nav> |  | ||||||
| 
 |  | ||||||
|   <style> |  | ||||||
|     .nav-item { |  | ||||||
|       border-color: #00ff66;
 |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .nav-tabs { |  | ||||||
|       border-color: #00ff66;
 |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .btn-default { |  | ||||||
|       border: 2px solid #00ff66;
 |  | ||||||
|       width: 100%; |  | ||||||
|       text-align: left; |  | ||||||
|       margin: 3px auto; |  | ||||||
|       font-weight: bold; |  | ||||||
|       font-size: 13pt; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .table-bordered { |  | ||||||
|       padding: 5px !important; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .alert { |  | ||||||
|       font-weight: bold; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     h1, |  | ||||||
|     h2, |  | ||||||
|     h3, |  | ||||||
|     h4 { |  | ||||||
|       color: #03407B;
 |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     a { |  | ||||||
|       color: #03407B;
 |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .break-word { |  | ||||||
|       word-wrap: break-word; |  | ||||||
|       white-space: -moz-pre-wrap !important; |  | ||||||
|       /* Mozilla, since 1999 */ |  | ||||||
|       white-space: -pre-wrap; |  | ||||||
|       /* Opera 4-6 */ |  | ||||||
|       white-space: -o-pre-wrap; |  | ||||||
|       /* Opera 7 */ |  | ||||||
|       white-space: pre-wrap; |  | ||||||
|       /* css-3 */ |  | ||||||
|       word-wrap: break-word; |  | ||||||
|       /* Internet Explorer 5.5+ */ |  | ||||||
|       white-space: -webkit-pre-wrap; |  | ||||||
|       /* Newer versions of Chrome/Safari*/ |  | ||||||
|       word-break: break-all; |  | ||||||
|       white-space: normal; |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .ui-widget-content.ui-dialog { |  | ||||||
|       border: 2px solid #03488B;
 |  | ||||||
| 
 |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .ui-dialog>.ui-widget-header { |  | ||||||
|       background: #03488B;
 |  | ||||||
|       color: white |  | ||||||
|     } |  | ||||||
| 
 |  | ||||||
|     .ui-button { |  | ||||||
|       background: #03488B;
 |  | ||||||
|       color: white |  | ||||||
|     } |  | ||||||
|   </style> |  | ||||||
| 
 |  | ||||||
|   <script> |   <script> | ||||||
|     function updatePass(id) { |     function updatePass(id) { | ||||||
| 
 | 
 | ||||||
|  | @ -169,3 +69,72 @@ if (mysqli_connect_errno()) { | ||||||
|       window.location.href = "\Script.php\?action=statuschange&uid=" + id + "&status=" + status; |       window.location.href = "\Script.php\?action=statuschange&uid=" + id + "&status=" + status; | ||||||
|     } |     } | ||||||
|   </script> |   </script> | ||||||
|  | </head> | ||||||
|  | 
 | ||||||
|  | <body> | ||||||
|  | 
 | ||||||
|  |   | ||||||
|  | <nav class="navbar navbar-expand-md navbar-dark bg-primary sticky-top"> | ||||||
|  |   <div class="container-fluid">  | ||||||
|  |     <a class="navbar-brand" href="~\..\index.php"> <img src="logo.png" width="30" height="30"> LRR </a> | ||||||
|  | 
 | ||||||
|  |         <?php   | ||||||
|  |           if (isset($_SESSION["user_fullname"]))  | ||||||
|  |           {  | ||||||
|  |         ?>
 | ||||||
|  |             <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarResponsive"> | ||||||
|  |             <span class="navbar-toggler-icon"></span> | ||||||
|  |             </button> | ||||||
|  | 
 | ||||||
|  |         <?php | ||||||
|  |           } | ||||||
|  |         ?>
 | ||||||
|  | 
 | ||||||
|  |     <div class="collapse navbar-collapse" id="navbarResponsive"> | ||||||
|  |        | ||||||
|  |         <?php | ||||||
|  |         if (isset($_SESSION["user_fullname"])) { | ||||||
|  |           echo "<ul class=\"navbar-nav mr-auto\">"; | ||||||
|  |           echo "<li class=\"nav-item active\">"; | ||||||
|  |           echo "<a class='nav-link' href='~\..\Courses.php'><i class='fa fa-book'></i> Courses</a>"; | ||||||
|  |           echo "</li></ul>";  | ||||||
|  |         ?>
 | ||||||
|  |          | ||||||
|  |     <ul class="nav navbar-nav navbar-right"> | ||||||
|  |         <li class="nav-item"> | ||||||
|  |           <a class="nav-link text-light" href="#">Welcome <b> <?php echo $_SESSION['user_fullname']; ?> </b>
 | ||||||
|  | 
 | ||||||
|  |           <?php | ||||||
|  |             $c_date =  date("Y-m-d H:i"); | ||||||
|  |             if (isset($_SESSION['user_student_id'])) | ||||||
|  |               echo "(" . $_SESSION['user_type'] . " - " . $_SESSION['user_student_id'] . ")   "; | ||||||
|  |             else | ||||||
|  |               echo "(" . $_SESSION['user_type'] . ")   "; | ||||||
|  |           ?>
 | ||||||
|  |           </a> | ||||||
|  |         </li> | ||||||
|  |         <li class="nav-item dropdown"> | ||||||
|  |           <a class="nav-link dropdown-toggle text-light"  id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> Menu </a> | ||||||
|  |           <div class="dropdown-menu" aria-labelledby="navbarDropdown"> | ||||||
|  |             <a href="#" class="dropdown-item" onclick="updatePass(<?php echo $_SESSION['user_id']; ?>)"><i class="fa fa-user ">Update passwor</i></a> | ||||||
|  |             | ||||||
|  |             <?php | ||||||
|  |                 if ($_SESSION['user_type'] == "Lecturer") { | ||||||
|  |                   echo  "<a class=\"dropdown-item\" href=\"~\..\Admin.php\"><i class=\"fa fa-cog\" >Admin</i> </a>"; | ||||||
|  |                 } | ||||||
|  |               ?>  
 | ||||||
|  |           </div> | ||||||
|  |         </li> | ||||||
|  |         <li class="nav-item"> | ||||||
|  |             <a class="nav-link text-light" href="~\..\logout.php"><i class="fa fa-lock" > Logout</i> </a> | ||||||
|  |         </li> | ||||||
|  |       </ul> | ||||||
|  | 
 | ||||||
|  |       <?php | ||||||
|  |         } | ||||||
|  |       ?>
 | ||||||
|  | 
 | ||||||
|  |     </div> | ||||||
|  | 
 | ||||||
|  |   </div> | ||||||
|  | </nav>  | ||||||
|  | @ -0,0 +1,15 @@ | ||||||
|  | /* Sticky footer styles | ||||||
|  | -------------------------------------------------- */ | ||||||
|  | html { | ||||||
|  |   position: relative; | ||||||
|  |   min-height: 100%; | ||||||
|  | } | ||||||
|  | body { | ||||||
|  |   margin-bottom: 100px; /* Margin bottom by footer height */ | ||||||
|  | } | ||||||
|  | .footer { | ||||||
|  |   position: absolute; | ||||||
|  |   bottom: 0; | ||||||
|  |   width: 100%; | ||||||
|  |   height: 100px; /* Set the fixed height of the footer here */  | ||||||
|  | } | ||||||
							
								
								
									
										161
									
								
								index.php
								
								
								
								
							
							
						
						
									
										161
									
								
								index.php
								
								
								
								
							|  | @ -1,7 +1,7 @@ | ||||||
| <?php | <?php | ||||||
|   $page='Home'; | $page='Home'; | ||||||
|   require 'Header.php'; | require 'Header.php'; | ||||||
|   session_start(); | session_start(); | ||||||
| ?>
 | ?>
 | ||||||
| 
 | 
 | ||||||
| <?php | <?php | ||||||
|  | @ -10,119 +10,78 @@ if (isset($_SESSION["user_fullname"])) { | ||||||
|     header("Location: Courses.php"); |     header("Location: Courses.php"); | ||||||
| } | } | ||||||
| ?>
 | ?>
 | ||||||
|  | <div class="album py-5 bg-white"> | ||||||
|  |         <div class="container bg-white"> | ||||||
| 
 | 
 | ||||||
| <br><br><br> |           <div class="row align-items-center">  | ||||||
| 
 | 
 | ||||||
| <div class="row" style="width:85%;margin:auto;"> |             <div class="col-md-6"> | ||||||
|   <div class="col-md-4"> |               <div class="mb-6 box-shadow"> | ||||||
|     <br><br> |                  <img class="mx-auto d-block" src="logo.png" />   | ||||||
|     <img src="logo.png" style="width:40%; position:relative; right:-95px; top:1px;"> |                 <div class="card-body"> | ||||||
|     <br><br> |                   <h1 style="font-family: Poppins-Regular;">Lab Report Repository</h1> | ||||||
|     <div style="width:20%; position:relative; right:-90px; font-family: Poppins-Regular;"> |                 </div> | ||||||
|     <h1>Lab Report Repository</h1> |               </div> | ||||||
|     <br><br> |             </div>  | ||||||
|     </div> |  | ||||||
|     </div> |  | ||||||
|     <br> |  | ||||||
|     <div style = "position:relative; left:240px; top:-2px;"> |  | ||||||
|     <h4 class="list-group-item active" style="font-weight:normal;font-family: Poppins-Regular;"> Sign in </h4> |  | ||||||
|     <div class="list-group-item"> |  | ||||||
| 
 | 
 | ||||||
|     <div class="panel-body"> |             <div class="col-md-6"> | ||||||
|  |               <div class="card mb-6 box-shadow"> | ||||||
|  |                     <div class="card-header bg-primary" >   | ||||||
|  |                         <h4 class="list-group-item active" style="font-weight:normal;font-family: Poppins-Regular;"> Sign in </h4> | ||||||
|  |                     </div>  | ||||||
|  |                  <div class="card-body"> | ||||||
|  |                    <form  method="post" action="Script.php" name="frm_login"> | ||||||
|  |                     <input type="hidden" name="frm_login" value="true"/> | ||||||
|  |                     <p>Student ID / Instructor Email</p> | ||||||
|  |                     <input type="text" name="user" placeholder="Email / Student Number" class="form-control" required="required" /> | ||||||
|  |                     <br> | ||||||
|  |                     <p>Password</p> | ||||||
|  |                     <input type="password" class="form-control"  name="password" placeholder="Password" required="required" /> | ||||||
|  |                     <div class="text-center"> | ||||||
|  |                         <br><input type="submit" class="btn btn-primary my-2 btn-lg btn-block" value="Login"> | ||||||
|  |                     </div> | ||||||
|  |                     <br> <a href="recover_password.php">Reset my password</a> | ||||||
|  |                     <div class="text-center"> | ||||||
|  |                         <br><span >Don't have an account?</span> | ||||||
|  |                         <a href="signup.php" >Sign Up</a>  | ||||||
|  |                     </div>  | ||||||
| 
 | 
 | ||||||
|     <form method="post" action="Script.php" name="frm_login"> |             <?php  | ||||||
|     <input type="hidden" name="frm_login" value="true"/> |  | ||||||
|     Student ID / Instructor Email |  | ||||||
|     <input type="text" name="user" placeholder="Email / Student Number" class="form-control" required="required" id="user_name" /> |  | ||||||
|     <br> |  | ||||||
|     Password |  | ||||||
|     <input type="password" class="form-control"  name="password" placeholder="password" required="required" id="user_password" /> |  | ||||||
|     <div class="text-center"> |  | ||||||
|     <br><input type="submit" class="btn-primary" value="Login" id="login_btn"> |  | ||||||
|     </div> |  | ||||||
|     <br> <a href="recover_password.php" style="font-weight:normal;color:#2471A3; font-family: Poppins-Regular;
 |  | ||||||
|     font-size: 17px;">Reset my password</a>
 |  | ||||||
|     <div class="text-center"> |  | ||||||
|     <br><span class="txt1">Don't have an account?</span> |  | ||||||
|          <a class="txt2" href="signup.php" style="font-weight:normal" id="signup_link">Sign Up</a> |  | ||||||
|         </a> |  | ||||||
|     </div> |  | ||||||
| 
 | 
 | ||||||
|     <?php  |             error_reporting(E_ALL); | ||||||
| 
 | 
 | ||||||
|     error_reporting(E_ALL); |             if(isset($_SESSION['info_login'])) { | ||||||
|      |                 echo  '<hr><div class="alert alert-danger" role="alert">'.$_SESSION['info_login'].'</div>'; | ||||||
|     if(isset($_SESSION['info_login'])) { |                 $_SESSION['info_login']=null; | ||||||
|         echo  '<hr><div class="alert alert-danger" role="alert">'.$_SESSION['info_login'].'</div>'; |             } | ||||||
|         $_SESSION['info_login']=null; |  | ||||||
|     } |  | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     // wrong pass
 |     // wrong pass
 | ||||||
|     if(isset($_SESSION['wrong_pass'])) { |             if(isset($_SESSION['wrong_pass'])) { | ||||||
|         echo  '<hr><div class="alert alert-danger" role="alert">'.$_SESSION['wrong_pass'].'</div>'; |                 echo  '<hr><div class="alert alert-danger" role="alert">'.$_SESSION['wrong_pass'].'</div>'; | ||||||
|         $_SESSION['wrong_pass']=null; |                 $_SESSION['wrong_pass']=null; | ||||||
|     } |             } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
|     if(isset($_SESSION['infoChangePassword'])) { |             if(isset($_SESSION['infoChangePassword'])) { | ||||||
|         echo  '<hr><div class="alert alert-danger" role="alert">'.$_SESSION['infoChangePassword'].'</div>'; |                 echo  '<hr><div class="alert alert-danger" role="alert">'.$_SESSION['infoChangePassword'].'</div>'; | ||||||
|         $_SESSION['infoChangePassword']=null; |                 $_SESSION['infoChangePassword']=null; | ||||||
|     } |             } | ||||||
|     ?>
 |             ?>
 | ||||||
|   |   | ||||||
|     </div> |                 </form> | ||||||
|     </form> |                 </div> | ||||||
|     </div> |               </div> | ||||||
| </div> |             </div>  | ||||||
| </div> |           </div> | ||||||
| </div> |         </div> | ||||||
|  |       </div> | ||||||
| 
 | 
 | ||||||
| </div> | <?php  | ||||||
| 
 | require 'Footer.php';  | ||||||
| 
 | ?>
 | ||||||
| <div id="footer"> |  | ||||||
|     LRR was originally developed as a <a href="http://lanlab.org/course/2018f/se/homepage.html" style="color:white;">software engineering course project</a> by Mohamed Nor and Elmahdi Houzi.  Please submit your suggestions or bug reports to  lanhui _at_ zjnu.edu.cn.  Last updated on 18/04/2020 by Ashly. <a href="./homepage" style="color:white;">More information ...</a> |  | ||||||
|     </div> |  | ||||||
| 
 | 
 | ||||||
| </body> | </body> | ||||||
| 
 | 
 | ||||||
| <style> |  | ||||||
|     /*------------------------------------------------------------------ |  | ||||||
| [ Login Button ]*/ |  | ||||||
| .btn-primary { |  | ||||||
|             color: white; |  | ||||||
|             border-radius: 5px; |  | ||||||
|             text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); |  | ||||||
|             background: rgb(75, 184, 240); |  | ||||||
|             padding:5px 100px; |  | ||||||
|             font-family: Poppins-Regular; |  | ||||||
|             font-size: 23px; |  | ||||||
|             line-height: 1.5; |  | ||||||
|         } |  | ||||||
| 
 |  | ||||||
| #footer{
 |  | ||||||
| position:fixed; |  | ||||||
| bottom:0; |  | ||||||
| left:0; |  | ||||||
| background-color:#03417C;
 |  | ||||||
| color:#FFF;
 |  | ||||||
| text-align:center; |  | ||||||
| width:100%; |  | ||||||
| } |  | ||||||
| .txt1 { |  | ||||||
|   font-family: Poppins-Regular; |  | ||||||
|   font-size: 18px; |  | ||||||
|   line-height: 1.5; |  | ||||||
|   color: #666666;
 |  | ||||||
| } |  | ||||||
| .txt2 { |  | ||||||
|   font-family: Poppins-Regular; |  | ||||||
|   font-size: 19px; |  | ||||||
|   line-height: 1.5; |  | ||||||
|   color: #2471A3;
 |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| </style> |  | ||||||
| 
 | 
 | ||||||
| </html> | </html> | ||||||
|  |  | ||||||
|  | @ -0,0 +1,9 @@ | ||||||
|  | $(document).ready(function(e){ | ||||||
|  |     $('.search-panel .dropdown-menu').find('a').click(function(e) { | ||||||
|  | 		e.preventDefault(); | ||||||
|  | 		var param = $(this).attr("href").replace("#",""); | ||||||
|  | 		var concept = $(this).text(); | ||||||
|  | 		$('.search-panel span#search_concept').text(concept); | ||||||
|  | 		$('.input-group #search_param').val(param); | ||||||
|  | 	}); | ||||||
|  | }); | ||||||
							
								
								
									
										48
									
								
								signup.php
								
								
								
								
							
							
						
						
									
										48
									
								
								signup.php
								
								
								
								
							|  | @ -6,35 +6,37 @@ include 'NoDirectPhpAcess.php'; | ||||||
| include 'Header.php'; | include 'Header.php'; | ||||||
| ?>
 | ?>
 | ||||||
| 
 | 
 | ||||||
| <div class="row"> | <div class="album py-5 bg-white"> | ||||||
|  |     <div class="container bg-white"> | ||||||
|   |   | ||||||
|     <div class="col-md-4 list-group" style="margin:auto;"> |     <div class="col-md-6 panel panel-primary" > | ||||||
| 
 | 
 | ||||||
|         <br> |         <br> | ||||||
| 
 | 
 | ||||||
|         <h4 class="list-group-item active"> Please fill in each field below </h4> |         <h4 class="list-group-item active"> Please fill in each field below </h4> | ||||||
|         <div class="list-group-item"> |         <div class="list-group-item"> | ||||||
| 
 | 
 | ||||||
|             <div class="panel-body"> |             <div class="panel panel-primary"> | ||||||
| 
 | 
 | ||||||
|                 <form method="post" action="Script.php" id="signup_form"> |                 <form method="post" action="Script.php"> | ||||||
|                     <input type="hidden" name="frm_signup_2" value="true" /> |                     <input type="hidden" name="frm_signup_2" value="true" /> | ||||||
|                     Full Name |                     <p>Full Name</p> | ||||||
|                     <input type="text" name="fullname" placeholder="Your full name" class="form-control" value="<?php echo $_SESSION['user_fullname']; ?>" required="required" id="full_name"/> |                     <input type="text" name="fullname" placeholder="Your full name" class="form-control" value="<?php echo $_SESSION['user_fullname']; ?>" required="required" /> | ||||||
| 
 | 
 | ||||||
|                     Student ID |                     <p>Student ID</p> | ||||||
|                     <input type="text" name="user_student_id" placeholder="Entre your student ID" class="form-control" value="<?php echo $_SESSION['user_student_id']; ?>" required="required" id="student_id"> |                     <input type="text" name="user_student_id" placeholder="Entre your student ID" class="form-control" value="<?php echo $_SESSION['user_student_id']; ?>" required="required"> | ||||||
| 
 | 
 | ||||||
|                     Email |                     <p>Email</p> | ||||||
|                     <input type="text" name="email" placeholder="Email" class="form-control" value="<?php echo $_SESSION['user_email']; ?>" required="required" id="email" /> |                     <input type="text" name="email" placeholder="Email" class="form-control" value="<?php echo $_SESSION['user_email']; ?>" required="required" /> | ||||||
| 
 | 
 | ||||||
|                     Password (<i>must include uppercase and lowercase letters, digits and special characters</i>) |                     <p>Password (<i>must include uppercase and lowercase letters, digits and special characters</i>)</p> | ||||||
|                     <input type="password" class="form-control" name="password" placeholder="Enter password" required="required" id="password1" /> |                     <input id="password" type="password" pattern="^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{4,}$" title="Password must have at least characters that include lowercase letters, uppercase letters, numbers and sepcial characters (e.g., !?.,*^)." class="form-control" name="password" placeholder="Enter password" required="required"  onchange="if(this.checkValidity()) form.password_two.pattern = this.value;" /> | ||||||
| 
 | 
 | ||||||
|                     Confirm Password |                     <p>Confirm Password</p> | ||||||
|                     <input type="password" class="form-control" name="confirmpassword" placeholder="Confirm password" required="required" id="password2" /> |                     <input id="password_two" type="password" pattern="^(?=.*[A-Za-z])(?=.*\d)(?=.*[@$!%*#?&])[A-Za-z\d@$!%*#?&]{4,}$" title="Password must have at least characters that include lowercase letters, uppercase letters, numbers and sepcial characters" class="form-control" name="confirmpassword" placeholder="Confirm password" required="required" onchange="this.setCustomValidity(this.validity.patternMismatch ? 'Please enter the same Password as above' : '');" /> | ||||||
|                     <br> |                     <br> | ||||||
|                     <input type="submit" class="btn-primary" value="Sign up" id="signup_btn"> | 
 | ||||||
|  |                     <input type="submit" class="btn btn-primary" value="Sign up"> | ||||||
|                     <?php |                     <?php | ||||||
|                     error_reporting(E_ALL); |                     error_reporting(E_ALL); | ||||||
|                     if (isset($_SESSION['info_signup2'])) { |                     if (isset($_SESSION['info_signup2'])) { | ||||||
|  | @ -48,17 +50,5 @@ include 'Header.php'; | ||||||
|         </div> |         </div> | ||||||
|     </div> |     </div> | ||||||
| </div> | </div> | ||||||
| <style> | </div> | ||||||
|     /*------------------------------------------------------------------ | 
 | ||||||
| [ Login Button ]*/ |  | ||||||
|     .btn-primary { |  | ||||||
|         color: white; |  | ||||||
|         border-radius: 5px; |  | ||||||
|         text-shadow: 0 1px 1px rgba(0, 0, 0, 0.2); |  | ||||||
|         background: rgb(75, 184, 240); |  | ||||||
|         padding: 5px 105px; |  | ||||||
|         font-family: Poppins-Regular; |  | ||||||
|         font-size: 23px; |  | ||||||
|         line-height: 1.5; |  | ||||||
|     } |  | ||||||
| </style> |  | ||||||
|  |  | ||||||
|  | @ -32,12 +32,12 @@ class Admin(Actor): | ||||||
| 
 | 
 | ||||||
| 			#Locate "Admin" tab. | 			#Locate "Admin" tab. | ||||||
| 			wait = WebDriverWait(driver, 10) | 			wait = WebDriverWait(driver, 10) | ||||||
| 			admin = wait.until(EC.presence_of_element_located((By.ID, "admin_tab"))) | 			admin = wait.until(EC.presence_of_element_located((By.XPATH, "/html/body/nav/div/form/a[1]"))) | ||||||
| 			admin.click() | 			admin.click() | ||||||
| 
 | 
 | ||||||
| 			#Locate "Create Lecturer/TA account" form | 			#Locate "Create Lecturer/TA account" form | ||||||
| 			wait2 = WebDriverWait(driver, 10) | 			wait2 = WebDriverWait(driver, 10) | ||||||
| 			new_account_form = wait2.until(EC.presence_of_element_located((By.ID, "create_account_form"))) | 			new_account_form = wait2.until(EC.presence_of_element_located((By.ID, "frm_create_acc"))) | ||||||
| 
 | 
 | ||||||
| 			#Fill in the form fields | 			#Fill in the form fields | ||||||
| 			name_field = new_account_form.find_element(By.XPATH, "//input[@name='fullname']") | 			name_field = new_account_form.find_element(By.XPATH, "//input[@name='fullname']") | ||||||
|  | @ -53,13 +53,13 @@ class Admin(Actor): | ||||||
| 
 | 
 | ||||||
| 			#If "Lecturer" is specified in type parameter, select Lecturer account type, else use default | 			#If "Lecturer" is specified in type parameter, select Lecturer account type, else use default | ||||||
| 			if type == "Lecturer": | 			if type == "Lecturer": | ||||||
| 				type_radio = new_account_form.find_element(By.ID, "role_lecturer") | 				type_radio = new_account_form.find_element(By.XPATH, "//input[@value='Lecturer']") | ||||||
| 			else: | 			else: | ||||||
| 				type_radio = new_account_form.find_element(By.ID, "role_TA") | 				type_radio = new_account_form.find_element(By.XPATH, "//input[@value='TA']") | ||||||
| 
 | 
 | ||||||
| 			type_radio.click() | 			type_radio.click() | ||||||
| 
 | 
 | ||||||
| 			submit_btn = new_account_form.find_element(By.ID, "create_btn") | 			submit_btn = new_account_form.find_element(By.XPATH, "//input[@type='submit'][@value='Create']") | ||||||
| 			submit_btn.click() | 			submit_btn.click() | ||||||
| 
 | 
 | ||||||
| 			return 0 | 			return 0 | ||||||
|  | @ -92,23 +92,23 @@ class Admin(Actor): | ||||||
| 
 | 
 | ||||||
| 			#Locate the "Admin" tab. | 			#Locate the "Admin" tab. | ||||||
| 			wait = WebDriverWait(driver, 10) | 			wait = WebDriverWait(driver, 10) | ||||||
| 			admin = wait.until(EC.presence_of_element_located((By.ID, "admin_tab"))) | 			admin = wait.until(EC.presence_of_element_located((By.XPATH, "/html/body/nav/div/form/a[1]"))) | ||||||
| 			admin.click() | 			admin.click() | ||||||
| 
 | 
 | ||||||
| 			#Navigate to "Batch create form" | 			#Navigate to "Batch create form" | ||||||
| 			wait2 = WebDriverWait(driver, 10) | 			wait2 = WebDriverWait(driver, 10) | ||||||
| 			batch_tab = wait2.until(EC.presence_of_element_located((By.ID, "batch_tab"))) | 			batch_tab = wait2.until(EC.presence_of_element_located((By.XPATH, "/html/body/div[2]/div[1]/div/ul/li[2]/a"))) | ||||||
| 			batch_tab.click() | 			batch_tab.click() | ||||||
| 
 | 
 | ||||||
| 			#Fill in the form | 			#Fill in the form | ||||||
| 			wait3 = WebDriverWait(driver, 10) | 			wait3 = WebDriverWait(driver, 10) | ||||||
| 			batch_form = wait3.until(EC.presence_of_element_located((By.ID, "batch_form"))) | 			batch_form = wait3.until(EC.presence_of_element_located((By.ID, "frm_batch_acc"))) | ||||||
| 			 | 			 | ||||||
| 			text_area = batch_form.find_element(By.XPATH, "//textarea[@name='users']") | 			text_area = batch_form.find_element(By.XPATH, "//textarea[@name='users']") | ||||||
| 			for i in range(len(lst)): | 			for i in range(len(lst)): | ||||||
| 				text_area.send_keys(lst[i]+" ") | 				text_area.send_keys(lst[i]+" ") | ||||||
| 
 | 
 | ||||||
| 			submit_btn = batch_form.find_element(By.ID, "register_btn") | 			submit_btn = batch_form.find_element(By.XPATH, "//input[@type='submit'][@value='Create All']") | ||||||
| 			submit_btn.click() | 			submit_btn.click() | ||||||
| 
 | 
 | ||||||
| 		except: | 		except: | ||||||
|  | @ -139,22 +139,22 @@ class Admin(Actor): | ||||||
| 
 | 
 | ||||||
| 			#Locate the "Admin" tab. | 			#Locate the "Admin" tab. | ||||||
| 			wait = WebDriverWait(driver, 10) | 			wait = WebDriverWait(driver, 10) | ||||||
| 			admin = wait.until(EC.presence_of_element_located((By.ID, "admin_tab"))) | 			admin = wait.until(EC.presence_of_element_located((By.XPATH, "/html/body/nav/div/form/a[1]"))) | ||||||
| 			admin.click() | 			admin.click() | ||||||
| 
 | 
 | ||||||
| 			#Navigate to "Exisitin Accounts" table | 			#Navigate to "Exisitin Accounts" table | ||||||
| 			wait2 = WebDriverWait(driver, 10) | 			wait2 = WebDriverWait(driver, 10) | ||||||
| 			exist_acc_tab = wait2.until(EC.presence_of_element_located((By.ID, "existing_accounts_tab"))) | 			exist_acc_tab = wait2.until(EC.presence_of_element_located((By.XPATH, "/html/body/div[2]/div[1]/div/ul/li[3]/a"))) | ||||||
| 			exist_acc_tab.click()		 | 			exist_acc_tab.click()		 | ||||||
| 			 | 			 | ||||||
| 			#Alternate between block and activate | 			#Alternate between block and activate | ||||||
| 			if op == "block": | 			if op == "block": | ||||||
| 				#Locate first account and block it on existing account table | 				#Locate first account and block it on existing account table | ||||||
| 				wait3 = WebDriverWait(driver, 10) | 				wait3 = WebDriverWait(driver, 10) | ||||||
| 				button = driver.find_element(By.ID, "block_account_1") | 				button = driver.find_element_by_id("block_acc_1") | ||||||
| 			elif op == "activate": | 			elif op == "activate": | ||||||
| 				wait3 = WebDriverWait(driver, 10) | 				wait3 = WebDriverWait(driver, 10) | ||||||
| 				button = driver.find_element(By.ID, "activate_account_1") | 				button = driver.find_element_by_id("activate_acc_1") | ||||||
| 			 | 			 | ||||||
| 			driver.execute_script("arguments[0].click();", button) | 			driver.execute_script("arguments[0].click();", button) | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -60,25 +60,26 @@ class Instructor(Actor): | ||||||
| 
 | 
 | ||||||
| 			#wait until the lab submission form shows up | 			#wait until the lab submission form shows up | ||||||
| 			wait2 = WebDriverWait(driver, 10) | 			wait2 = WebDriverWait(driver, 10) | ||||||
| 			new_lab_assignment_form = wait2.until(EC.presence_of_element_located((By.ID, "newlab_form"))) | 			new_lab_assignment_form = wait2.until(EC.presence_of_element_located((By.XPATH, "//form[@id='nlaf']"))) | ||||||
| 			 | 			 | ||||||
| 			#Fill the required form fields and submit. | 			#Fill the required form fields and submit. | ||||||
| 			lab_date = new_lab_assignment_form.find_element(By.ID, "date") | 			lab_date = new_lab_assignment_form.find_element(By.XPATH, "//input[@id='date'][@name='deadlinedate']") | ||||||
| 			lab_date.send_keys(dateStr) | 			timeStr = self.utility.getTodayDate() | ||||||
| 			lab_title = new_lab_assignment_form.find_element(By.ID, "lab_title") | 			lab_date.send_keys(timeStr) | ||||||
|  | 			lab_title = new_lab_assignment_form.find_element(By.XPATH, "//form[@id='nlaf']/input[@id='ltitle']") | ||||||
| 			lab_title.send_keys("TESTASSIGNMENT"+str(dateStr)) | 			lab_title.send_keys("TESTASSIGNMENT"+str(dateStr)) | ||||||
| 			lab_instructions = new_lab_assignment_form.find_element(By.ID, "lab_instructor") | 			lab_instructions = new_lab_assignment_form.find_element(By.XPATH, "//form[@id='nlaf']/textarea[@id='linstruct']") | ||||||
| 			lab_instructions.send_keys("TESTINSTRUCTIONS"+str(dateStr)) | 			lab_instructions.send_keys("TESTINSTRUCTIONS"+str(dateStr)) | ||||||
| 			lab_marks = new_lab_assignment_form.find_element(By.ID, "lab_mark") | 			lab_marks = new_lab_assignment_form.find_element(By.XPATH, "//form[@id='nlaf']/input[@id='lmark']") | ||||||
| 			lab_marks.send_keys("4") | 			lab_marks.send_keys("4") | ||||||
| 
 | 
 | ||||||
| 			#if group == 0 select individual submission, if group == 1 select group submission | 			#if group == 0 select individual submission, if group == 1 select group submission | ||||||
| 			if group == 0:		 | 			if group == 0:		 | ||||||
| 				submission_type = new_lab_assignment_form.find_element(By.ID, "lab_individual") | 				submission_type = new_lab_assignment_form.find_element(By.XPATH, "//form[@id='nlaf']/input[@id='lindi']") | ||||||
| 			elif group == 1: | 			elif group == 1: | ||||||
| 				submission_type = new_lab_assignment_form.find_element(By.ID, "lab_group") | 				submission_type = new_lab_assignment_form.find_element(By.XPATH, "//form[@id='nlaf']/input[@id='lgrp']") | ||||||
| 			submission_type.click() | 			submission_type.click() | ||||||
| 			submit = new_lab_assignment_form.find_element(By.ID, "submit_btn") | 			submit = new_lab_assignment_form.find_element(By.XPATH, "//form[@id='nlaf']/input[@id='lbtn']") | ||||||
| 			submit.click() | 			submit.click() | ||||||
| 			return 0 | 			return 0 | ||||||
| 		except: | 		except: | ||||||
|  | @ -114,25 +115,25 @@ class Instructor(Actor): | ||||||
| 			timeStr = self.utility.getTime() | 			timeStr = self.utility.getTime() | ||||||
| 			 | 			 | ||||||
| 			#Fill the required form fields and submit | 			#Fill the required form fields and submit | ||||||
| 			course_name = driver.find_element(By.ID, "course_name") | 			course_name = driver.find_element(By.ID, "cname") | ||||||
| 			course_name.send_keys("TESTCOURSE"+str(dateStr)+str(timeStr)) | 			course_name.send_keys("TESTCOURSE"+str(dateStr)+str(timeStr)) | ||||||
| 			 | 			 | ||||||
| 			#This URL is needed to access the same created course via its link in post_lab_report() method. | 			#This URL is needed to access the same created course via its link in post_lab_report() method. | ||||||
| 			global courseURL | 			global courseURL | ||||||
| 			courseURL = "TESTCOURSE"+str(dateStr)+str(timeStr) | 			courseURL = "TESTCOURSE"+str(dateStr)+str(timeStr) | ||||||
| 			course_code = driver.find_element(By.ID, "course_code") | 			course_code = driver.find_element(By.ID, "ccode") | ||||||
| 			course_code.send_keys("TC"+str(dateStr)+str(timeStr)) | 			course_code.send_keys("TC"+str(dateStr)+str(timeStr)) | ||||||
| 			self.utility.storeCourseCode("TC"+str(dateStr)+str(timeStr))#Store course code to be used | 			self.utility.storeCourseCode("TC"+str(dateStr)+str(timeStr))#Store course code to be used | ||||||
| 			academic_year = driver.find_element(By.ID, "academic_year")				#later by student. | 			academic_year = driver.find_element(By.ID, "ayear")				#later by student. | ||||||
| 			academic_year.send_keys("2021") | 			academic_year.send_keys("2021") | ||||||
| 			faculty = driver.find_element(By.ID, "faculty") | 			faculty = driver.find_element(By.ID, "fac") | ||||||
| 			faculty.send_keys("TESTING DEPARTMENT") | 			faculty.send_keys("TESTING DEPARTMENT") | ||||||
| 
 | 
 | ||||||
| 			#If joining == 0 does not require join approval, if joining == 1 requires join approval | 			#If joining == 0 does not require join approval, if joining == 1 requires join approval | ||||||
| 			if joining == 0 : | 			if joining == 0 : | ||||||
| 				joining_students = driver.find_element(By.ID, "join_no") | 				joining_students = driver.find_element(By.ID, "jno") | ||||||
| 			elif group == 1: | 			elif group == 1: | ||||||
| 				joining_students = driver.find_element(By.ID, "join_yes") | 				joining_students = driver.find_element(By.ID, "jyes") | ||||||
| 			joining_students.click() | 			joining_students.click() | ||||||
| 			submit = driver.find_element(By.ID, "portal_btn") | 			submit = driver.find_element(By.ID, "portal_btn") | ||||||
| 			submit.click() | 			submit.click() | ||||||
|  |  | ||||||
|  | @ -55,10 +55,10 @@ class Student(Actor): | ||||||
| 
 | 
 | ||||||
| 			#Wait until the course is found, and join. | 			#Wait until the course is found, and join. | ||||||
| 			wait2 = WebDriverWait(driver, 10) | 			wait2 = WebDriverWait(driver, 10) | ||||||
| 			join_btn = wait2.until(EC.element_to_be_clickable((By.ID, "join_btn"))) | 			course_card = wait.until(EC.element_to_be_clickable((By.LINK_TEXT, str("Join Course")))) | ||||||
| 			join_btn.click() | 			course_card.click() | ||||||
| 
 | 
 | ||||||
| 			#If joined course successfully, proceed. | 			#If the joined course successfully, proceed. | ||||||
| 			wait3 = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "/html/body/div[1]/div[1]/span"))) | 			wait3 = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.XPATH, "/html/body/div[1]/div[1]/span"))) | ||||||
| 			return 0 | 			return 0 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -44,7 +44,6 @@ class MyUtility: | ||||||
| 		""" | 		""" | ||||||
| 		try: | 		try: | ||||||
| 			driver = webdriver.Chrome() | 			driver = webdriver.Chrome() | ||||||
| 			driver.maximize_window() |  | ||||||
| 			driver.get(self.getPageURL()) | 			driver.get(self.getPageURL()) | ||||||
| 			return driver | 			return driver | ||||||
| 		except: | 		except: | ||||||
|  | @ -70,11 +69,11 @@ class MyUtility: | ||||||
| 		try: | 		try: | ||||||
| 			driver = self.getSession() | 			driver = self.getSession() | ||||||
| 			WebDriverWait(driver, 10) | 			WebDriverWait(driver, 10) | ||||||
| 			username = driver.find_element(By.ID, "user_name") | 			username = driver.find_element(By.ID, "uname") | ||||||
| 			username.send_keys(obj.getStudentID()) | 			username.send_keys(obj.getStudentID()) | ||||||
| 			password = driver.find_element(By.ID, "user_password") | 			password = driver.find_element(By.ID, "upass") | ||||||
| 			password.send_keys(obj.getPassword()) | 			password.send_keys(obj.getPassword()) | ||||||
| 			login = driver.find_element(By.ID, "login_btn") | 			login = driver.find_element(By.ID, "log_btn") | ||||||
| 			login.click() | 			login.click() | ||||||
| 			return driver | 			return driver | ||||||
| 		except: | 		except: | ||||||
|  | @ -105,35 +104,26 @@ class MyUtility: | ||||||
| 			driver = self.getSession() | 			driver = self.getSession() | ||||||
| 			wait = WebDriverWait(driver, 10, ignored_exceptions='StaleElementReferenceException') | 			wait = WebDriverWait(driver, 10, ignored_exceptions='StaleElementReferenceException') | ||||||
| 
 | 
 | ||||||
| 			#Click the sign up button, and fill the sign up form | 			#Locate the signup form and fill in the student ID | ||||||
| 			signup_btn = wait.until(EC.presence_of_element_located((By.ID, "signup_link"))) | 			signup_form = wait.until(EC.presence_of_element_located((By.ID, "signup_frm"))) | ||||||
| 			signup_btn.click() | 			student_id = signup_form.find_element(By.ID, "std_id") | ||||||
| 			 |  | ||||||
| 			#Find and fill full student name |  | ||||||
| 			wait2 = WebDriverWait(driver, 10) |  | ||||||
| 			signup_form = wait2.until(EC.presence_of_element_located((By.ID, "signup_form"))) |  | ||||||
| 			name_field = signup_form.find_element(By.ID, "full_name") |  | ||||||
| 			name_field.send_keys(name) |  | ||||||
| 
 |  | ||||||
| 			#Find and fill student ID |  | ||||||
| 			student_id = signup_form.find_element(By.ID, "student_id") |  | ||||||
| 			std_id = self.fetch_new_student_id() | 			std_id = self.fetch_new_student_id() | ||||||
| 			student_id.send_keys(std_id) | 			student_id.send_keys(std_id) | ||||||
|  | 			next_btn = signup_form.find_element(By.ID, "next_btn") | ||||||
|  | 			next_btn.click() | ||||||
| 
 | 
 | ||||||
| 			#Find and fill email | 			#Fill in student data and sign up. | ||||||
| 			email_field = signup_form.find_element(By.ID, "email") | 			wait2 = WebDriverWait(driver, 10, ignored_exceptions='StaleElementReferenceException') | ||||||
|  | 			reg_form = wait2.until(EC.presence_of_element_located((By.ID, "frm"))) | ||||||
|  | 			name_field = reg_form.find_element(By.XPATH, "//form/input[2]") | ||||||
|  | 			name_field.send_keys(name) | ||||||
|  | 			email_field = reg_form.find_element(By.XPATH, "//form/input[3]") | ||||||
| 			email_field.send_keys(email) | 			email_field.send_keys(email) | ||||||
| 			 | 			password_field = reg_form.find_element(By.XPATH, "//form/input[4]") | ||||||
| 			#Find and fill password |  | ||||||
| 			password_field = signup_form.find_element(By.ID, "password1") |  | ||||||
| 			password_field.send_keys(password) | 			password_field.send_keys(password) | ||||||
| 			 | 			re_password_field = reg_form.find_element(By.XPATH, "//form/input[5]") | ||||||
| 			#Find and fill password confirmation |  | ||||||
| 			re_password_field = signup_form.find_element(By.ID, "password2") |  | ||||||
| 			re_password_field.send_keys(password) | 			re_password_field.send_keys(password) | ||||||
| 			 | 			submit = reg_form.find_element(By.XPATH, "//form/input[6]") | ||||||
| 			#Sign up new student |  | ||||||
| 			submit = signup_form.find_element(By.ID, "signup_btn") |  | ||||||
| 			submit.click() | 			submit.click() | ||||||
| 			return 0 | 			return 0 | ||||||
| 
 | 
 | ||||||
|  | @ -312,12 +302,3 @@ class MyUtility: | ||||||
| 			ls.append(chr(random.randint(97,122))) | 			ls.append(chr(random.randint(97,122))) | ||||||
| 
 | 
 | ||||||
| 		return ''.join(ls) | 		return ''.join(ls) | ||||||
| 
 |  | ||||||
| 	def clean(self, file): |  | ||||||
| 		"""This method clean the test scripts directory by resetting some |  | ||||||
| 		.txt files. |  | ||||||
| 		""" |  | ||||||
| 
 |  | ||||||
| 		#Clean 'course_code.txt' file |  | ||||||
| 		f = open(file, "w+") |  | ||||||
| 		f.close() |  | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue