Compare commits
	
		
			1 Commits 
		
	
	
		
			master
			...
			Bug200-War
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | 266b357752 | 
							
								
								
									
										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> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										34
									
								
								Courses.php
								
								
								
								
							
							
						
						
									
										34
									
								
								Courses.php
								
								
								
								
							|  | @ -190,7 +190,7 @@ New Date/Time <br><input type="date" name="date" required=""> <input type="time" | ||||||
| 
 | 
 | ||||||
|                         <h3> Post new Lab Assignment </a></h3> |                         <h3> Post new Lab Assignment </a></h3> | ||||||
| 
 | 
 | ||||||
|                         <form method='post' enctype='multipart/form-data' action='Script.php' id="newlab_form"> |                         <form method='post' enctype='multipart/form-data' action='Script.php'> | ||||||
|                             <?php |                             <?php | ||||||
|                             $_SESSION['url'] = $url; |                             $_SESSION['url'] = $url; | ||||||
|                             ?>
 |                             ?>
 | ||||||
|  | @ -205,11 +205,11 @@ New Date/Time <br><input type="date" name="date" required=""> <input type="time" | ||||||
|                             </div> |                             </div> | ||||||
| 
 | 
 | ||||||
|                             Title |                             Title | ||||||
|                             <input type='text' name='title' placeholder='Ttle' class='form-control' required='' value="" id="lab_title"> |                             <input type='text' name='title' placeholder='Ttle' class='form-control' required='' value=""> | ||||||
|                             Instructions |                             Instructions | ||||||
|                             <textarea name='instructions' placeholder='Assignment Instructions' class='form-control' required='' value="" id="lab_instructor"></textarea> |                             <textarea name='instructions' placeholder='Assignment Instructions' class='form-control' required='' value=""></textarea> | ||||||
|                             Marks |                             Marks | ||||||
|                             <input type='text' name='marks' placeholder='Marks' class='form-control' required='' value="" id="lab_mark"> |                             <input type='text' name='marks' placeholder='Marks' class='form-control' required='' value=""> | ||||||
|                             Attachment 1 |                             Attachment 1 | ||||||
|                             <input type='file' name='attachment1' placeholder='Attachment 1' class='form-control'> |                             <input type='file' name='attachment1' placeholder='Attachment 1' class='form-control'> | ||||||
| 
 | 
 | ||||||
|  | @ -222,11 +222,11 @@ New Date/Time <br><input type="date" name="date" required=""> <input type="time" | ||||||
|                             Attachment 4 |                             Attachment 4 | ||||||
|                             <input type='file' name='attachment4' placeholder='Attachment 4' class='form-control'> |                             <input type='file' name='attachment4' placeholder='Attachment 4' class='form-control'> | ||||||
|                             <br> |                             <br> | ||||||
|                             Submission Type <input type='radio' name='type' value='Individual' required='' id="lab_individual"> Individual |                             Submission Type <input type='radio' name='type' value='Individual' required=''> Individual | ||||||
| 
 | 
 | ||||||
|                             <input type='radio' name='type' value='Group' required='' id="lab_group"> Group |                             <input type='radio' name='type' value='Group' required=''> Group | ||||||
|                             <hr> |                             <hr> | ||||||
|                             <input type='submit' class='btn btn-primary' value='Post Lab Assignment' id="submit_btn"><br> |                             <input type='submit' class='btn btn-primary' value='Post Lab Assignment'><br> | ||||||
|                         </form><br><br><br><br> |                         </form><br><br><br><br> | ||||||
|         <?php |         <?php | ||||||
|                     } |                     } | ||||||
|  | @ -431,28 +431,28 @@ WHERE  Lecturer_User_ID=$lecturer_id and course_students_table.Status='Pending'" | ||||||
|                     <input type="hidden" name="frm_createCourse" value="true" required="" /> |                     <input type="hidden" name="frm_createCourse" value="true" required="" /> | ||||||
|                     <input type="hidden" name="l" value="l" required="" /> |                     <input type="hidden" name="l" value="l" required="" /> | ||||||
|                     Course Name |                     Course Name | ||||||
|                     <input type="text" name="name" placeholder="Course Name" class="form-control" required="" id="course_name"> |                     <input type="text" name="name" placeholder="Course Name" class="form-control" required=""> | ||||||
| 
 | 
 | ||||||
|                     Course Code |                     Course Code | ||||||
|                     <input type="text" name="code" placeholder="Course Code" class="form-control" required="" id="course_code"> |                     <input type="text" name="code" placeholder="Course Code" class="form-control" required=""> | ||||||
| 
 | 
 | ||||||
|                     URL (Leave blank to use Course Code & Year) |                     URL (Leave blank to use Course Code & Year) | ||||||
|                     <input type="text" name="url" placeholder="Choose Custom URL " class="form-control"> |                     <input type="text" name="url" placeholder="Choose Custom URL " class="form-control"> | ||||||
| 
 | 
 | ||||||
|                     Academic Year |                     Academic Year | ||||||
|                     <input type="text" name="academic" placeholder="Academic Year" class="form-control" required="" id="academic_year"> |                     <input type="text" name="academic" placeholder="Academic Year" class="form-control" required=""> | ||||||
| 
 | 
 | ||||||
|                     Faculty <br> |                     Faculty <br> | ||||||
|                     <input type="text" name="faculty" placeholder="Faculty" class="form-control" required="" id="faculty"> |                     <input type="text" name="faculty" placeholder="Faculty" class="form-control" required=""> | ||||||
| 
 | 
 | ||||||
|                     <input type="hidden" name="lecturer" value="<?php echo $_SESSION['user_id'];  ?>"> |                     <input type="hidden" name="lecturer" value="<?php echo $_SESSION['user_id'];  ?>"> | ||||||
| 
 | 
 | ||||||
|                     Verify Joining Students |                     Verify Joining Students | ||||||
|                     <input type="radio" name="verify" value="1" id="join_yes"> Yes |                     <input type="radio" name="verify" value="1"> Yes | ||||||
|                     <input type="radio" name="verify" value="0" checked="" id="join_no"> No |                     <input type="radio" name="verify" value="0" checked=""> No | ||||||
| 
 | 
 | ||||||
|                     <br> |                     <br> | ||||||
|                     <input type="submit" class="btn btn-primary" value="Create Portal" id="portal_btn"><br> |                     <input type="submit" class="btn btn-primary" value="Create Portal"><br> | ||||||
| 
 | 
 | ||||||
|                 </form> |                 </form> | ||||||
| 
 | 
 | ||||||
|  | @ -529,7 +529,7 @@ if ($_SESSION['user_type'] == "Student") { | ||||||
|                         } |                         } | ||||||
| 
 | 
 | ||||||
|                         echo "<div class='btn btn-default' style='word-wrap:break-word'>
 |                         echo "<div class='btn btn-default' style='word-wrap:break-word'>
 | ||||||
|   [$code] $name <br>($url) <br>  <a href='~\..\Script.php?JoinCourse=y&id=$id&std=$student_id&joining=$v' class='btn-sm btn-success' onclick=return confirm(\"Are you sure to join this course?\")' id='join_btn'> $msg2 </a>
 |   [$code] $name <br>($url) <br>  <a href='~\..\Script.php?JoinCourse=y&id=$id&std=$student_id&joining=$v' class='btn-sm btn-success' onclick=return confirm(\"Are you sure to join this course?\")' > $msg2 </a>
 | ||||||
|    <br> <span style='font-size:10pt'>Faculty: $faculty | Year: $academic | Lecturer: $lecturer </span><br>$msg</div> |    <br> <span style='font-size:10pt'>Faculty: $faculty | Year: $academic | Lecturer: $lecturer </span><br>$msg</div> | ||||||
|                         ";
 |                         ";
 | ||||||
|                     } |                     } | ||||||
|  | @ -578,7 +578,7 @@ INNER JOIN course_students_table on course_students_table.Course_ID=courses_tabl | ||||||
|             <div class='row'>  |             <div class='row'>  | ||||||
|             <div class='col-md-10'>  |             <div class='col-md-10'>  | ||||||
|             <div class='row'><div class='col-md-6'> Find course by Code |             <div class='row'><div class='col-md-6'> Find course by Code | ||||||
|             <input  type='text' class='form-control' name='search' placeholder='Enter Course Code' id='search_field'> |             <input  type='text' class='form-control' name='search' placeholder='Enter Course Code'> | ||||||
|             </div><div class='col-md-6'> |             </div><div class='col-md-6'> | ||||||
| List courses by faculty | List courses by faculty | ||||||
| 
 | 
 | ||||||
|  | @ -597,7 +597,7 @@ List courses by faculty | ||||||
| 
 | 
 | ||||||
| </div> | </div> | ||||||
|                  <div class='col-md-1'> <br> |                  <div class='col-md-1'> <br> | ||||||
|             <input type='submit' class='btn btn-primary' value='Find' id='find_btn'> |             <input type='submit' class='btn btn-primary' value='Find'> | ||||||
|             </div> |             </div> | ||||||
|         |         | ||||||
|         </div> |         </div> | ||||||
|  |  | ||||||
|  | @ -64,7 +64,7 @@ if (mysqli_connect_errno()) { | ||||||
| 
 | 
 | ||||||
|         <?php |         <?php | ||||||
|           if ($_SESSION['user_type'] == "Lecturer") { |           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>"; |             echo  "     <i class=\"fa fa-cog\" style=\"color:#fff;\"> </i>  <a style='color:#fff !important' href=\"~\..\Admin.php\">Admin </a>"; | ||||||
|           } |           } | ||||||
|         ?>
 |         ?>
 | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -75,7 +75,6 @@ if (!empty($_POST["frm_signup_2"])) { | ||||||
|     $_SESSION['user_fullname'] = $fullname; |     $_SESSION['user_fullname'] = $fullname; | ||||||
|     $_SESSION['user_type'] = "Student"; |     $_SESSION['user_type'] = "Student"; | ||||||
|     $_SESSION['user_email'] = $email; |     $_SESSION['user_email'] = $email; | ||||||
|     $_SESSION['user_student_id'] = $student_id; |  | ||||||
| 
 | 
 | ||||||
|     // check confirmed password
 |     // check confirmed password
 | ||||||
|     if (strcasecmp($password, $confirmpassword) != 0) { |     if (strcasecmp($password, $confirmpassword) != 0) { | ||||||
|  | @ -302,7 +301,7 @@ function is_valid_file_format($file) | ||||||
|         'cvc', 'c', 'class', 'cpp', 'h', 'java', 'sh', 'swift', 'zip', 'rar', 'ods', 'xlr', 'bak', 'ico', 'swf' |         'cvc', 'c', 'class', 'cpp', 'h', 'java', 'sh', 'swift', 'zip', 'rar', 'ods', 'xlr', 'bak', 'ico', 'swf' | ||||||
|     ); |     ); | ||||||
| 
 | 
 | ||||||
|     utf8_encode($filename = $_FILES[$file]['name']); |     $filename = utf8_encode($_FILES[$file]['name']); | ||||||
|     $ext = pathinfo($filename, PATHINFO_EXTENSION); |     $ext = pathinfo($filename, PATHINFO_EXTENSION); | ||||||
|     $result = in_array($ext, $allowed); |     $result = in_array($ext, $allowed); | ||||||
|     return $result; |     return $result; | ||||||
|  |  | ||||||
|  | @ -33,18 +33,18 @@ if (isset($_SESSION["user_fullname"])) { | ||||||
|     <form method="post" action="Script.php" name="frm_login"> |     <form method="post" action="Script.php" name="frm_login"> | ||||||
|     <input type="hidden" name="frm_login" value="true"/> |     <input type="hidden" name="frm_login" value="true"/> | ||||||
|     Student ID / Instructor Email |     Student ID / Instructor Email | ||||||
|     <input type="text" name="user" placeholder="Email / Student Number" class="form-control" required="required" id="user_name" /> |     <input type="text" name="user" placeholder="Email / Student Number" class="form-control" required="required" /> | ||||||
|     <br> |     <br> | ||||||
|     Password |     Password | ||||||
|     <input type="password" class="form-control"  name="password" placeholder="password" required="required" id="user_password" /> |     <input type="password" class="form-control"  name="password" placeholder="password" required="required" /> | ||||||
|     <div class="text-center"> |     <div class="text-center"> | ||||||
|     <br><input type="submit" class="btn-primary" value="Login" id="login_btn"> |     <br><input type="submit" class="btn-primary" value="Login"> | ||||||
|     </div> |     </div> | ||||||
|     <br> <a href="recover_password.php" style="font-weight:normal;color:#2471A3; font-family: Poppins-Regular;
 |     <br> <a href="recover_password.php" style="font-weight:normal;color:#2471A3; font-family: Poppins-Regular;
 | ||||||
|     font-size: 17px;">Reset my password</a>
 |     font-size: 17px;">Reset my password</a>
 | ||||||
|     <div class="text-center"> |     <div class="text-center"> | ||||||
|     <br><span class="txt1">Don't have an account?</span> |     <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 class="txt2" href="signup.php" style="font-weight:normal">Sign Up</a> | ||||||
|         </a> |         </a> | ||||||
|     </div> |     </div> | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
							
								
								
									
										14
									
								
								signup.php
								
								
								
								
							
							
						
						
									
										14
									
								
								signup.php
								
								
								
								
							|  | @ -17,24 +17,24 @@ include 'Header.php'; | ||||||
| 
 | 
 | ||||||
|             <div class="panel-body"> |             <div class="panel-body"> | ||||||
| 
 | 
 | ||||||
|                 <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 |                     Full Name | ||||||
|                     <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 |                     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" 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 |                     Email | ||||||
|                     <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>) |                     Password (<i>must include uppercase and lowercase letters, digits and special characters</i>) | ||||||
|                     <input type="password" class="form-control" name="password" placeholder="Enter password" required="required" id="password1" /> |                     <input type="password" class="form-control" name="password" placeholder="Enter password" required="required" /> | ||||||
| 
 | 
 | ||||||
|                     Confirm Password |                     Confirm Password | ||||||
|                     <input type="password" class="form-control" name="confirmpassword" placeholder="Confirm password" required="required" id="password2" /> |                     <input type="password" class="form-control" name="confirmpassword" placeholder="Confirm password" required="required" /> | ||||||
|                     <br> |                     <br> | ||||||
|                     <input type="submit" class="btn-primary" value="Sign up" id="signup_btn"> |                     <input type="submit" class="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'])) { | ||||||
|  |  | ||||||
|  | @ -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