<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dwang32</id>
	<title>Expertiza_Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dwang32"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Dwang32"/>
	<updated>2026-09-03T23:04:35Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Requestnew.png&amp;diff=114440</id>
		<title>File:Requestnew.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Requestnew.png&amp;diff=114440"/>
		<updated>2017-12-04T20:38:02Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: uploaded a new version of &amp;amp;quot;File:Requestnew.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Showrequest.png&amp;diff=114439</id>
		<title>File:Showrequest.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Showrequest.png&amp;diff=114439"/>
		<updated>2017-12-04T20:37:17Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: uploaded a new version of &amp;amp;quot;File:Showrequest.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Clickable.png&amp;diff=114438</id>
		<title>File:Clickable.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Clickable.png&amp;diff=114438"/>
		<updated>2017-12-04T20:35:56Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: uploaded a new version of &amp;amp;quot;File:Clickable.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=114437</id>
		<title>CSC/ECE 517 Fall 2017/E17A6. Fix account creation over web to work reasonably</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=114437"/>
		<updated>2017-12-04T20:34:54Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction to Expertise'''==&lt;br /&gt;
&lt;br /&gt;
Expertiza is a educational website that allows school users to submit peer reviews on assignments. To register to use this website, one needs to be either a course TA or Instructor and send a request to expertiza administrator to get approved. The request function only serves TAs and Instructors, so students won't be able to register. A student account is created by instructors or TAs. The whole purpose of this approval process is because students have no point of using this website without enrolling to an instructors course first, so they shouldn't request accounts from expertiza but from their instructors and TAs.&lt;br /&gt;
&lt;br /&gt;
A pending request page that displays all the requests should also be able to perform actions like approve or reject with an note.&lt;br /&gt;
&lt;br /&gt;
However, currently, all of these are done manually, which means no pending request page currently exists, no simple approve or reject action, and no user experience, and all users are added into the database through command line operations in the database(only instructor and TA roles which is acceptable currently but not when more other institutions try to user Expertiza).&lt;br /&gt;
&lt;br /&gt;
In addition, we also want users be able to add their institution if it does not show under the list provided by us.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Problem Statement'''==&lt;br /&gt;
'''Overall Introduction'''&lt;br /&gt;
&lt;br /&gt;
Request account function is currently not working properly. A new user who tries to request an expertiza account can do so, but the instructor can see yet has no power to approve any request. The approval process is currently done manually, which is cumbersome. &lt;br /&gt;
Our mission is to fix the request account functionality so that whoever requests for a new accounts can be approved by instructor clicking a button, and secondly, optimize the functionality to improve user experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Detailed Requirements and Plan===&lt;br /&gt;
'''1. Add institution''' &amp;lt;br\&amp;gt;&lt;br /&gt;
-A registering user should be able to choose their institution from a drop-down menu, but they should also be able to add an institution if they couldn't find one. &amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-The new institution should be saved as a new record into the ''institution table''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-New account request should be saved to ''requested_users table'' with correct institution id.&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.superadmin, admin should be able to approve/decline requests'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-add a new drop-down item under “Administration &amp;gt; Show…” so requests can be visually displayed and handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-enable the &amp;quot;approve&amp;quot; function for admin and superadmin&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-make clickable user email address so a conversation is possible&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3. The record retain after admin's approval/rejection and an email will be sent to remind'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-an email should be sent when a request is approved or declined&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-all record should be kept on the page even it has been handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Use Case Diagram ===&lt;br /&gt;
&lt;br /&gt;
The following is the use case diagram for the feature that we are going to implement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Fix request.png]]&lt;br /&gt;
&lt;br /&gt;
===Fix 1. Add institution ===&lt;br /&gt;
- redesign the view shown in the previous section to include a field named institution in the current form to allow user to submit their institution if they couldn't find one in the list, and save it into the table corresponding to the form it submits to.&lt;br /&gt;
&lt;br /&gt;
- design a requested_user table to save all account requests&lt;br /&gt;
&lt;br /&gt;
===Fix 2. Add new Page and Action===&lt;br /&gt;
- to create an new view that can show all pending account requests and include actions like approve and reject to allow instructors to process requests on the same page&lt;br /&gt;
&lt;br /&gt;
- create corresponding new controller with methods corresponding to actions like reject, approve and index.&lt;br /&gt;
&lt;br /&gt;
[[File:Rel.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Fix 3. The record retains after admin's approval and email reminder ===&lt;br /&gt;
- redesign the view and model to retain the request record after super-admin or admin approves the request.&lt;br /&gt;
&lt;br /&gt;
- add an email tag in the corresponding view, so there will be an email send to email address offered by requester after approval/rejection.&lt;br /&gt;
&lt;br /&gt;
=='''Screens after the modification'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. First of all, a new user need to click 'REQUEST ACCOUNT' to create a new account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:cs.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. In the 'request new' page, in the original version, the user can only choose an institution from the drop-down menu. After our modification, the user can choose the 'Not List' choice in the drop-down menu and type in an institution when (s)he is not able to find his(her) institution in the drop-down menu.&lt;br /&gt;
&lt;br /&gt;
[[File:Requestnew.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. After log in as an admin/super admin, the user can see a drop-down item under 'Administration-&amp;gt;Show-&amp;gt;Pending Users' to see all account requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Showrequest.png]] ‎&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. After clicking the 'Pending Users', the admin can see a list of new account requests and the emails are clickable to send email to the requesting user. Also, after the admin accepts the request, the record should retain in the view and an email informing the requestor will be sent to the requestors' given email address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Clickable.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. After clicking the email address, the sending email page will pop up and admin can converse requestors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sendemail.png]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
==='''1. MVC'''===&lt;br /&gt;
The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).&lt;br /&gt;
&lt;br /&gt;
==='''2. Dry Principle'''===&lt;br /&gt;
We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Test Plan'''==&lt;br /&gt;
Both manual and RSpec test will be performed on the following items.&lt;br /&gt;
&lt;br /&gt;
1. a proper error message for improper information filled in, such as wrong email address format or existing account.&lt;br /&gt;
&lt;br /&gt;
2. When a pending account gets approved or rejected, an email will be sent to the submitted email address.&lt;br /&gt;
&lt;br /&gt;
3. A new item &amp;quot;show&amp;quot; should be added under administration and direct instructor to pending requests page when clicked&lt;br /&gt;
&lt;br /&gt;
4. pending requests will have an email column that is clickable which allows instructor to send emails to applicants before a decision is made.&lt;br /&gt;
&lt;br /&gt;
5. when a request is processed, its record is still kept with the status of processed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team Informantion ==&lt;br /&gt;
Guiyang Fan(gfan@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Haoxu Ren(hren3@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Dongyu Wang(dwang32@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Yichi Zhang(yzhan222@ncsu.edu)&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Sendemail.png&amp;diff=114436</id>
		<title>File:Sendemail.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Sendemail.png&amp;diff=114436"/>
		<updated>2017-12-04T20:34:48Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: uploaded a new version of &amp;amp;quot;File:Sendemail.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=114435</id>
		<title>CSC/ECE 517 Fall 2017/E17A6. Fix account creation over web to work reasonably</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=114435"/>
		<updated>2017-12-04T20:19:08Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: /* Screens after the modification */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction to Expertise'''==&lt;br /&gt;
&lt;br /&gt;
Expertiza is a educational website that allows school users to submit peer reviews on assignments. To register to use this website, one needs to be either a course TA or Instructor and send a request to expertiza administrator to get approved. The request function only serves TAs and Instructors, so students won't be able to register. A student account is created by instructors or TAs. The whole purpose of this approval process is because students have no point of using this website without enrolling to an instructors course first, so they shouldn't request accounts from expertiza but from their instructors and TAs.&lt;br /&gt;
&lt;br /&gt;
A pending request page that displays all the requests should also be able to perform actions like approve or reject with an note.&lt;br /&gt;
&lt;br /&gt;
However, currently, all of these are done manually, which means no pending request page currently exists, no simple approve or reject action, and no user experience, and all users are added into the database through command line operations in the database(only instructor and TA roles which is acceptable currently but not when more other institutions try to user Expertiza).&lt;br /&gt;
&lt;br /&gt;
In addition, we also want users be able to add their institution if it does not show under the list provided by us.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Problem Statement'''==&lt;br /&gt;
'''Overall Introduction'''&lt;br /&gt;
&lt;br /&gt;
Request account function is currently not working properly. A new user who tries to request an expertiza account can do so, but the instructor can see yet has no power to approve any request. The approval process is currently done manually, which is cumbersome. &lt;br /&gt;
Our mission is to fix the request account functionality so that whoever requests for a new accounts can be approved by instructor clicking a button, and secondly, optimize the functionality to improve user experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Detailed Requirements and Plan===&lt;br /&gt;
'''1. Add institution''' &amp;lt;br\&amp;gt;&lt;br /&gt;
-A registering user should be able to choose their institution from a drop-down menu, but they should also be able to add an institution if they couldn't find one. &amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-The new institution should be saved as a new record into the ''institution table''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-New account request should be saved to ''requested_users table'' with correct institution id.&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.superadmin, admin should be able to approve/decline requests'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-add a new drop-down item under “Administration &amp;gt; Show…” so requests can be visually displayed and handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-enable the &amp;quot;approve&amp;quot; function for admin and superadmin&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-make clickable user email address so a conversation is possible&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3. The record retain after admin's approval/rejection and an email will be sent to remind'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-an email should be sent when a request is approved or declined&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-all record should be kept on the page even it has been handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Use Case Diagram ===&lt;br /&gt;
&lt;br /&gt;
The following is the use case diagram for the feature that we are going to implement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Fix request.png]]&lt;br /&gt;
&lt;br /&gt;
===Fix 1. Add institution ===&lt;br /&gt;
- redesign the view shown in the previous section to include a field named institution in the current form to allow user to submit their institution if they couldn't find one in the list, and save it into the table corresponding to the form it submits to.&lt;br /&gt;
&lt;br /&gt;
- design a requested_user table to save all account requests&lt;br /&gt;
&lt;br /&gt;
===Fix 2. Add new Page and Action===&lt;br /&gt;
- to create an new view that can show all pending account requests and include actions like approve and reject to allow instructors to process requests on the same page&lt;br /&gt;
&lt;br /&gt;
- create corresponding new controller with methods corresponding to actions like reject, approve and index.&lt;br /&gt;
&lt;br /&gt;
[[File:Rel.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Fix 3. The record retains after admin's approval and email reminder ===&lt;br /&gt;
- redesign the view and model to retain the request record after super-admin or admin approves the request.&lt;br /&gt;
&lt;br /&gt;
- add an email tag in the corresponding view, so there will be an email send to email address offered by requester after approval/rejection.&lt;br /&gt;
&lt;br /&gt;
=='''Screens after the modification'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. First of all, a new user need to click 'REQUEST ACCOUNT' to create a new account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:cs.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. In the 'request new' page, in the original version, the user can only choose an institution from the drop-down menu. After our modification, the user can choose the 'Not List' choice in the drop-down menu and type in an institution when (s)he is not able to find his(her) institution in the drop-down menu.&lt;br /&gt;
&lt;br /&gt;
[[File:Requestnew.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. After log in as an admin/super admin, the user can see a drop-down item under 'Administration-&amp;gt;Show-&amp;gt;Pending Users' to see all account requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Showrequest.png]] ‎&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. After clicking the 'Pending Users', the admin can see a list of new account requests and the emails are clickable to send email to the requesting user. Also, after the admin accepts the request, the record should retain in the view and an email informing the requestor will be sent to the requestors' given email address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Clickable.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. After clicking the email address, the sending email page will pop up and admin can converse requestors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Sendemail.png]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
==='''1. MVC'''===&lt;br /&gt;
The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).&lt;br /&gt;
&lt;br /&gt;
==='''2. Dry Principle'''===&lt;br /&gt;
We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Test Plan'''==&lt;br /&gt;
Both manual and RSpec test will be performed on the following items.&lt;br /&gt;
&lt;br /&gt;
1. a proper error message for improper information filled in, such as wrong email address format or existing account.&lt;br /&gt;
&lt;br /&gt;
2. When a pending account gets approved or rejected, an email will be sent to the submitted email address.&lt;br /&gt;
&lt;br /&gt;
3. A new item &amp;quot;show&amp;quot; should be added under administration and direct instructor to pending requests page when clicked&lt;br /&gt;
&lt;br /&gt;
4. pending requests will have an email column that is clickable which allows instructor to send emails to applicants before a decision is made.&lt;br /&gt;
&lt;br /&gt;
5. when a request is processed, its record is still kept with the status of processed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team Informantion ==&lt;br /&gt;
Guiyang Fan(gfan@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Haoxu Ren(hren3@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Dongyu Wang(dwang32@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Yichi Zhang(yzhan222@ncsu.edu)&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Sendemail.png&amp;diff=114434</id>
		<title>File:Sendemail.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Sendemail.png&amp;diff=114434"/>
		<updated>2017-12-04T20:16:11Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Clickable.png&amp;diff=114433</id>
		<title>File:Clickable.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Clickable.png&amp;diff=114433"/>
		<updated>2017-12-04T20:14:47Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Showrequest.png&amp;diff=114432</id>
		<title>File:Showrequest.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Showrequest.png&amp;diff=114432"/>
		<updated>2017-12-04T20:13:21Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Requestnew.png&amp;diff=114431</id>
		<title>File:Requestnew.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Requestnew.png&amp;diff=114431"/>
		<updated>2017-12-04T20:10:48Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=114430</id>
		<title>CSC/ECE 517 Fall 2017/E17A6. Fix account creation over web to work reasonably</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=114430"/>
		<updated>2017-12-04T20:09:32Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: /* Mockup Screens */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction to Expertise'''==&lt;br /&gt;
&lt;br /&gt;
Expertiza is a educational website that allows school users to submit peer reviews on assignments. To register to use this website, one needs to be either a course TA or Instructor and send a request to expertiza administrator to get approved. The request function only serves TAs and Instructors, so students won't be able to register. A student account is created by instructors or TAs. The whole purpose of this approval process is because students have no point of using this website without enrolling to an instructors course first, so they shouldn't request accounts from expertiza but from their instructors and TAs.&lt;br /&gt;
&lt;br /&gt;
A pending request page that displays all the requests should also be able to perform actions like approve or reject with an note.&lt;br /&gt;
&lt;br /&gt;
However, currently, all of these are done manually, which means no pending request page currently exists, no simple approve or reject action, and no user experience, and all users are added into the database through command line operations in the database(only instructor and TA roles which is acceptable currently but not when more other institutions try to user Expertiza).&lt;br /&gt;
&lt;br /&gt;
In addition, we also want users be able to add their institution if it does not show under the list provided by us.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Problem Statement'''==&lt;br /&gt;
'''Overall Introduction'''&lt;br /&gt;
&lt;br /&gt;
Request account function is currently not working properly. A new user who tries to request an expertiza account can do so, but the instructor can see yet has no power to approve any request. The approval process is currently done manually, which is cumbersome. &lt;br /&gt;
Our mission is to fix the request account functionality so that whoever requests for a new accounts can be approved by instructor clicking a button, and secondly, optimize the functionality to improve user experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Detailed Requirements and Plan===&lt;br /&gt;
'''1. Add institution''' &amp;lt;br\&amp;gt;&lt;br /&gt;
-A registering user should be able to choose their institution from a drop-down menu, but they should also be able to add an institution if they couldn't find one. &amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-The new institution should be saved as a new record into the ''institution table''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-New account request should be saved to ''requested_users table'' with correct institution id.&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.superadmin, admin should be able to approve/decline requests'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-add a new drop-down item under “Administration &amp;gt; Show…” so requests can be visually displayed and handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-enable the &amp;quot;approve&amp;quot; function for admin and superadmin&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-make clickable user email address so a conversation is possible&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3. The record retain after admin's approval/rejection and an email will be sent to remind'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-an email should be sent when a request is approved or declined&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-all record should be kept on the page even it has been handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Use Case Diagram ===&lt;br /&gt;
&lt;br /&gt;
The following is the use case diagram for the feature that we are going to implement.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Fix request.png]]&lt;br /&gt;
&lt;br /&gt;
===Fix 1. Add institution ===&lt;br /&gt;
- redesign the view shown in the previous section to include a field named institution in the current form to allow user to submit their institution if they couldn't find one in the list, and save it into the table corresponding to the form it submits to.&lt;br /&gt;
&lt;br /&gt;
- design a requested_user table to save all account requests&lt;br /&gt;
&lt;br /&gt;
===Fix 2. Add new Page and Action===&lt;br /&gt;
- to create an new view that can show all pending account requests and include actions like approve and reject to allow instructors to process requests on the same page&lt;br /&gt;
&lt;br /&gt;
- create corresponding new controller with methods corresponding to actions like reject, approve and index.&lt;br /&gt;
&lt;br /&gt;
[[File:Rel.jpg]]&lt;br /&gt;
&lt;br /&gt;
===Fix 3. The record retains after admin's approval and email reminder ===&lt;br /&gt;
- redesign the view and model to retain the request record after super-admin or admin approves the request.&lt;br /&gt;
&lt;br /&gt;
- add an email tag in the corresponding view, so there will be an email send to email address offered by requester after approval/rejection.&lt;br /&gt;
&lt;br /&gt;
=='''Screens after the modification'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. First of all, a new user need to click 'REQUEST ACCOUNT' to create a new account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:cs.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. In the 'request new' page, in the original version, the user can only choose an institution from the drop-down menu. After our modification, the user can choose the 'Not List' choice in the drop-down menu and type in an institution when (s)he is not able to find his(her) institution in the drop-down menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Screen_Shot_2017-11-06_at_10.17.01_PM.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Add a picture after changing.&lt;br /&gt;
&lt;br /&gt;
3. After log in as an admin/super admin, the user can see a drop-down item under 'Administration-&amp;gt;Show requests' to see all the new account requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Administrator.png]] ‎&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. After clicking the 'Show requests', the admin can see a list of new account requests and the emails are clickable to send email to the requesting user. Also, after the admin approves the request, the record should retain in the view and an email informing the requestor will be sent to the requestors' given email address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Requests.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. After clicking the email address, the email editor will pop up and admin can converse requestors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Emails.png]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
==='''1. MVC'''===&lt;br /&gt;
The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).&lt;br /&gt;
&lt;br /&gt;
==='''2. Dry Principle'''===&lt;br /&gt;
We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Test Plan'''==&lt;br /&gt;
Both manual and RSpec test will be performed on the following items.&lt;br /&gt;
&lt;br /&gt;
1. a proper error message for improper information filled in, such as wrong email address format or existing account.&lt;br /&gt;
&lt;br /&gt;
2. When a pending account gets approved or rejected, an email will be sent to the submitted email address.&lt;br /&gt;
&lt;br /&gt;
3. A new item &amp;quot;show&amp;quot; should be added under administration and direct instructor to pending requests page when clicked&lt;br /&gt;
&lt;br /&gt;
4. pending requests will have an email column that is clickable which allows instructor to send emails to applicants before a decision is made.&lt;br /&gt;
&lt;br /&gt;
5. when a request is processed, its record is still kept with the status of processed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team Informantion ==&lt;br /&gt;
Guiyang Fan(gfan@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Haoxu Ren(hren3@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Dongyu Wang(dwang32@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Yichi Zhang(yzhan222@ncsu.edu)&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Requests.png&amp;diff=113186</id>
		<title>File:Requests.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Requests.png&amp;diff=113186"/>
		<updated>2017-11-14T04:07:01Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: uploaded a new version of &amp;amp;quot;File:Requests.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Requests.png&amp;diff=113185</id>
		<title>File:Requests.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Requests.png&amp;diff=113185"/>
		<updated>2017-11-14T04:05:57Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: uploaded a new version of &amp;amp;quot;File:Requests.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113180</id>
		<title>CSC/ECE 517 Fall 2017/E17A6. Fix account creation over web to work reasonably</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113180"/>
		<updated>2017-11-14T03:57:13Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction to Expertise'''==&lt;br /&gt;
&lt;br /&gt;
Expertiza is a educational website that allows school users to submit peer reviews on assignments. To register to use this website, one needs to be either a course TA or Instructor and send a request to expertiza administrator to get approved. The request function only serves TAs and Instructors, so students won't be able to register. A student account is created by instructors or TAs. The whole purpose of this approval process is because students have no point of using this website without enrolling to an instructors course first, so they shouldn't request accounts from expertiza but from their instructors and TAs.&lt;br /&gt;
&lt;br /&gt;
A pending request page that displays all the requests should also be able to perform actions like approve or reject with an note.&lt;br /&gt;
&lt;br /&gt;
However, currently, all of these are done manually, which means no pending request page currently exists, no simple approve or reject action, and no user experience, and all users are added into the database through command line operations in the database(only instructor and TA roles which is acceptable currently but not when more other institutions try to user Expertiza).&lt;br /&gt;
&lt;br /&gt;
In addition, we also want users be able to add their institution if it does not show under the list provided by us.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Problem Statement'''==&lt;br /&gt;
'''Overall Introduction'''&lt;br /&gt;
&lt;br /&gt;
Request account function is currently not working properly. A new user who tries to request an expertiza account can do so, but the instructor can see yet has no power to approve any request. The approval process is currently done manually, which is cumbersome. &lt;br /&gt;
Our mission is to fix the request account functionality so that whoever requests for a new accounts can be approved by instructor clicking a button, and secondly, optimize the functionality to improve user experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Detailed Requirements and Plan===&lt;br /&gt;
'''1. Add institution''' &amp;lt;br\&amp;gt;&lt;br /&gt;
-A registering user should be able to choose their institution from a drop-down menu, but they should also be able to add an institution if they couldn't find one. &amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-The new institution should be saved as a new record into the ''institution table''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-New account request should be saved to ''requested_users table'' with correct institution id.&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.superadmin, admin should be able to approve/decline requests'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-add a new drop-down item under “Administration &amp;gt; Show…” so requests can be visually displayed and handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-enable the &amp;quot;approve&amp;quot; function for admin and superadmin&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-make clickable user email address so a conversation is possible&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3. The record retain after admin's approval/rejection and an email will be sent to remind'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-an email should be sent when a request is approved or declined&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-all record should be kept on the page even it has been handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix 1. Add institution ===&lt;br /&gt;
- redesign the view shown in the previous section to include a field named institution in the current form to allow user to submit their institution if they couldn't find one in the list, and save it into the table corresponding to the form it submits to.&lt;br /&gt;
&lt;br /&gt;
- design a requested_user table to save all account requests&lt;br /&gt;
&lt;br /&gt;
===Fix 2. Add new Page and Action===&lt;br /&gt;
- to create an new view that can show all pending account requests and include actions like approve and reject to allow instructors to process requests on the same page&lt;br /&gt;
&lt;br /&gt;
- create corresponding new controller with methods corresponding to actions like reject, approve and index.&lt;br /&gt;
&lt;br /&gt;
===Fix 3. The record retains after admin's approval and email reminder ===&lt;br /&gt;
- redesign the view and model to retain the request record after super-admin or admin approves the request.&lt;br /&gt;
&lt;br /&gt;
- add an email tag in the corresponding view, so there will be an email send to email address offered by requester after approval/rejection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Mockup Screens'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1. First of all, a new user need to click 'REQUEST ACCOUNT' to create a new account.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:cs.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. In the 'request new' page, in the original version, the user can only choose an institution from the drop-down menu. After our modification, the user can choose the 'Not List' choice in the drop-down menu and type in an institution when (s)he is not able to find his(her) institution in the drop-down menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Screen_Shot_2017-11-06_at_10.17.01_PM.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
加一张改了之后的图&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
3. After log in as an admin/super admin, the user can see a drop-down item under 'Administration-&amp;gt;Show requests' to see all the new account requests.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Administrator.png]] ‎&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4. After clicking the 'Show requests', the admin can see a list of new account requests and the emails are clickable to send email to the requesting user. Also, after the admin approves the request, the record should retain in the view and an email informing the requestor will be sent to the requestors' given email address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Requests.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
5. After clicking the email address, the email editor will pop up and admin can converse requestors.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Emails.png]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
==='''1. MVC'''===&lt;br /&gt;
The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).&lt;br /&gt;
&lt;br /&gt;
==='''2. Dry Principle'''===&lt;br /&gt;
We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Test Plan'''==&lt;br /&gt;
Both manual and RSpec test will be performed on the following items.&lt;br /&gt;
&lt;br /&gt;
1. a proper error message for improper information filled in, such as wrong email address format or existing account.&lt;br /&gt;
&lt;br /&gt;
2. When a pending account gets approved or rejected, an email will be sent to the submitted email address.&lt;br /&gt;
&lt;br /&gt;
3. A new item &amp;quot;show&amp;quot; should be added under administration and direct instructor to pending requests page when clicked&lt;br /&gt;
&lt;br /&gt;
4. pending requests will have an email column that is clickable which allows instructor to send emails to applicants before a decision is made.&lt;br /&gt;
&lt;br /&gt;
5. when a request is processed, its record is still kept with the status of processed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team Informantion ==&lt;br /&gt;
Guiyang Fan(gfan@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Haoxu Ren(hren3@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Dongyu Wang(dwang32@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Yichi Zhang&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113179</id>
		<title>CSC/ECE 517 Fall 2017/E17A6. Fix account creation over web to work reasonably</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113179"/>
		<updated>2017-11-14T03:54:03Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction to Expertise'''==&lt;br /&gt;
&lt;br /&gt;
Expertiza is a educational website that allows school users to submit peer reviews on assignments. To register to use this website, one needs to be either a course TA or Instructor and send a request to expertiza administrator to get approved. The request function only serves TAs and Instructors, so students won't be able to register. A student account is created by instructors or TAs. The whole purpose of this approval process is because students have no point of using this website without enrolling to an instructors course first, so they shouldn't request accounts from expertiza but from their instructors and TAs.&lt;br /&gt;
&lt;br /&gt;
A pending request page that displays all the requests should also be able to perform actions like approve or reject with an note.&lt;br /&gt;
&lt;br /&gt;
However, currently, all of these are done manually, which means no pending request page currently exists, no simple approve or reject action, and no user experience, and all users are added into the database through command line operations in the database(only instructor and TA roles which is acceptable currently but not when more other institutions try to user Expertiza).&lt;br /&gt;
&lt;br /&gt;
In addition, we also want users be able to add their institution if it does not show under the list provided by us.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Problem Statement'''==&lt;br /&gt;
'''Overall Introduction'''&lt;br /&gt;
&lt;br /&gt;
Request account function is currently not working properly. A new user who tries to request an expertiza account can do so, but the instructor can see yet has no power to approve any request. The approval process is currently done manually, which is cumbersome. &lt;br /&gt;
Our mission is to fix the request account functionality so that whoever requests for a new accounts can be approved by instructor clicking a button, and secondly, optimize the functionality to improve user experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Detailed Requirements and Plan===&lt;br /&gt;
'''1. Add institution''' &amp;lt;br\&amp;gt;&lt;br /&gt;
-A registering user should be able to choose their institution from a drop-down menu, but they should also be able to add an institution if they couldn't find one. &amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-The new institution should be saved as a new record into the ''institution table''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-New account request should be saved to ''requested_users table'' with correct institution id.&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.superadmin, admin should be able to approve/decline requests'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-add a new drop-down item under “Administration &amp;gt; Show…” so requests can be visually displayed and handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-enable the &amp;quot;approve&amp;quot; function for admin and superadmin&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-make clickable user email address so a conversation is possible&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3. The record retain after admin's approval/rejection and an email will be sent to remind'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-an email should be sent when a request is approved or declined&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-all record should be kept on the page even it has been handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix 1. Add institution ===&lt;br /&gt;
- redesign the view shown in the previous section to include a field named institution in the current form to allow user to submit their institution if they couldn't find one in the list, and save it into the table corresponding to the form it submits to.&lt;br /&gt;
&lt;br /&gt;
- design a requested_user table to save all account requests&lt;br /&gt;
&lt;br /&gt;
===Fix 2. Add new Page and Action===&lt;br /&gt;
- to create an new view that can show all pending account requests and include actions like approve and reject to allow instructors to process requests on the same page&lt;br /&gt;
&lt;br /&gt;
- create corresponding new controller with methods corresponding to actions like reject, approve and index.&lt;br /&gt;
&lt;br /&gt;
===Fix 3. The record retains after admin's approval and email reminder ===&lt;br /&gt;
- redesign the view and model to retain the request record after super-admin or admin approves the request.&lt;br /&gt;
&lt;br /&gt;
- add an email tag in the corresponding view, so there will be an email send to email address offered by requester after approval/rejection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Mockup Screens'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
后面再加修改后的对比图&lt;br /&gt;
&lt;br /&gt;
1. First of all, a new user need to click 'REQUEST ACCOUNT' to create a new account.&lt;br /&gt;
&lt;br /&gt;
[[File:cs.png]]&lt;br /&gt;
&lt;br /&gt;
2. In the 'request new' page, in the original version, the user can only choose an institution from the drop-down menu. After our modification, the user can choose the 'Not List' choice in the drop-down menu and type in an institution when (s)he is not able to find his(her) institution in the drop-down menu.&lt;br /&gt;
&lt;br /&gt;
[[File:Screen_Shot_2017-11-06_at_10.17.01_PM.png]]&lt;br /&gt;
&lt;br /&gt;
加一张改了之后的图&lt;br /&gt;
&lt;br /&gt;
3. After log in as an admin/super admin, the user can see a drop-down item under 'Administration-&amp;gt;Show requests' to see all the new account requests.&lt;br /&gt;
&lt;br /&gt;
[[File:Administrator.png]] ‎&lt;br /&gt;
&lt;br /&gt;
4. After clicking the 'Show requests', the admin can see a list of new account requests and the emails are clickable to send email to the requesting user.&lt;br /&gt;
&lt;br /&gt;
[[File:Requests.png]]&lt;br /&gt;
&lt;br /&gt;
5. After clicking the email address, the email editor will pop up and admin can converse requestors.&lt;br /&gt;
&lt;br /&gt;
[[File:Email.png]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
==='''1. MVC'''===&lt;br /&gt;
The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).&lt;br /&gt;
&lt;br /&gt;
==='''2. Dry Principle'''===&lt;br /&gt;
We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Test Plan'''==&lt;br /&gt;
Both manual and RSpec test will be performed on the following items.&lt;br /&gt;
&lt;br /&gt;
1. a proper error message for improper information filled in, such as wrong email address format or existing account.&lt;br /&gt;
&lt;br /&gt;
2. When a pending account gets approved or rejected, an email will be sent to the submitted email address.&lt;br /&gt;
&lt;br /&gt;
3. A new item &amp;quot;show&amp;quot; should be added under administration and direct instructor to pending requests page when clicked&lt;br /&gt;
&lt;br /&gt;
4. pending requests will have an email column that is clickable which allows instructor to send emails to applicants before a decision is made.&lt;br /&gt;
&lt;br /&gt;
5. when a request is processed, its record is still kept with the status of processed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team Informantion ==&lt;br /&gt;
Guiyang Fan(gfan@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Haoxu Ren(hren3@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Dongyu Wang(dwang32@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Yichi Zhang&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Emails.png&amp;diff=113178</id>
		<title>File:Emails.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Emails.png&amp;diff=113178"/>
		<updated>2017-11-14T03:44:05Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: uploaded a new version of &amp;amp;quot;File:Emails.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Emails.png&amp;diff=113177</id>
		<title>File:Emails.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Emails.png&amp;diff=113177"/>
		<updated>2017-11-14T03:43:28Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Requests.png&amp;diff=113176</id>
		<title>File:Requests.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Requests.png&amp;diff=113176"/>
		<updated>2017-11-14T03:42:52Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: uploaded a new version of &amp;amp;quot;File:Requests.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Requests.png&amp;diff=113175</id>
		<title>File:Requests.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Requests.png&amp;diff=113175"/>
		<updated>2017-11-14T03:42:23Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: uploaded a new version of &amp;amp;quot;File:Requests.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113174</id>
		<title>CSC/ECE 517 Fall 2017/E17A6. Fix account creation over web to work reasonably</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113174"/>
		<updated>2017-11-14T03:42:05Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction to Expertise'''==&lt;br /&gt;
&lt;br /&gt;
Expertiza is a educational website that allows school users to submit peer reviews on assignments. To register to use this website, one needs to be either a course TA or Instructor and send a request to expertiza administrator to get approved. The request function only serves TAs and Instructors, so students won't be able to register. A student account is created by instructors or TAs. The whole purpose of this approval process is because students have no point of using this website without enrolling to an instructors course first, so they shouldn't request accounts from expertiza but from their instructors and TAs.&lt;br /&gt;
&lt;br /&gt;
A pending request page that displays all the requests should also be able to perform actions like approve or reject with an note.&lt;br /&gt;
&lt;br /&gt;
However, currently, all of these are done manually, which means no pending request page currently exists, no simple approve or reject action, and no user experience, and all users are added into the database through command line operations in the database(only instructor and TA roles which is acceptable currently but not when more other institutions try to user Expertiza).&lt;br /&gt;
&lt;br /&gt;
In addition, we also want users be able to add their institution if it does not show under the list provided by us.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Problem Statement'''==&lt;br /&gt;
'''Overall Introduction'''&lt;br /&gt;
&lt;br /&gt;
Request account function is currently not working properly. A new user who tries to request an expertiza account can do so, but the instructor can see yet has no power to approve any request. The approval process is currently done manually, which is cumbersome. &lt;br /&gt;
Our mission is to fix the request account functionality so that whoever requests for a new accounts can be approved by instructor clicking a button, and secondly, optimize the functionality to improve user experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Detailed Requirements and Plan===&lt;br /&gt;
'''1. Add institution''' &amp;lt;br\&amp;gt;&lt;br /&gt;
-A registering user should be able to choose their institution from a drop-down menu, but they should also be able to add an institution if they couldn't find one. &amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-The new institution should be saved as a new record into the ''institution table''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-New account request should be saved to ''requested_users table'' with correct institution id.&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.superadmin, admin should be able to approve/decline requests'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-add a new drop-down item under “Administration &amp;gt; Show…” so requests can be visually displayed and handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-enable the &amp;quot;approve&amp;quot; function for admin and superadmin&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-make clickable user email address so a conversation is possible&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3. The record retain after admin's approval/rejection and an email will be sent to remind'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-an email should be sent when a request is approved or declined&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-all record should be kept on the page even it has been handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix 1. Add institution ===&lt;br /&gt;
- redesign the view shown in the previous section to include a field named institution in the current form to allow user to submit their institution if they couldn't find one in the list, and save it into the table corresponding to the form it submits to.&lt;br /&gt;
&lt;br /&gt;
- design a requested_user table to save all account requests&lt;br /&gt;
&lt;br /&gt;
===Fix 2. Add new Page and Action===&lt;br /&gt;
- to create an new view that can show all pending account requests and include actions like approve and reject to allow instructors to process requests on the same page&lt;br /&gt;
&lt;br /&gt;
- create corresponding new controller with methods corresponding to actions like reject, approve and index.&lt;br /&gt;
&lt;br /&gt;
===Fix 3. The record retains after admin's approval and email reminder ===&lt;br /&gt;
- redesign the view and model to retain the request record after super-admin or admin approves the request.&lt;br /&gt;
&lt;br /&gt;
- add an email tag in the corresponding view, so there will be an email send to email address offered by requester after approval/rejection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Mockup Screens'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
加一张现在没有“Administration &amp;gt; Show…”的图，加一张user email不能click的图， 加一张all record的图&lt;br /&gt;
&lt;br /&gt;
后面再加修改后的对比图&lt;br /&gt;
&lt;br /&gt;
[[File:cs.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screen_Shot_2017-11-06_at_10.17.01_PM.png]]&lt;br /&gt;
&lt;br /&gt;
加一张改了之后的图&lt;br /&gt;
&lt;br /&gt;
[[File:Administrator.png]] ‎&lt;br /&gt;
&lt;br /&gt;
[[File:Requests.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Email.png]]&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
==='''1. MVC'''===&lt;br /&gt;
The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).&lt;br /&gt;
&lt;br /&gt;
==='''2. Dry Principle'''===&lt;br /&gt;
We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Test Plan'''==&lt;br /&gt;
Both manual and RSpec test will be performed on the following items.&lt;br /&gt;
&lt;br /&gt;
1. a proper error message for improper information filled in, such as wrong email address format or existing account.&lt;br /&gt;
&lt;br /&gt;
2. When a pending account gets approved or rejected, an email will be sent to the submitted email address.&lt;br /&gt;
&lt;br /&gt;
3. A new item &amp;quot;show&amp;quot; should be added under administration and direct instructor to pending requests page when clicked&lt;br /&gt;
&lt;br /&gt;
4. pending requests will have an email column that is clickable which allows instructor to send emails to applicants before a decision is made.&lt;br /&gt;
&lt;br /&gt;
5. when a request is processed, its record is still kept with the status of processed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team Informantion ==&lt;br /&gt;
Guiyang Fan(gfan@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Haoxu Ren(hren3@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Dongyu Wang(dwang32@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Yichi Zhang&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Requests.png&amp;diff=113173</id>
		<title>File:Requests.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Requests.png&amp;diff=113173"/>
		<updated>2017-11-14T03:41:04Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: uploaded a new version of &amp;amp;quot;File:Requests.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Requests.png&amp;diff=113172</id>
		<title>File:Requests.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Requests.png&amp;diff=113172"/>
		<updated>2017-11-14T03:38:59Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Administrator.png&amp;diff=113171</id>
		<title>File:Administrator.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Administrator.png&amp;diff=113171"/>
		<updated>2017-11-14T03:37:10Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: uploaded a new version of &amp;amp;quot;File:Administrator.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113170</id>
		<title>CSC/ECE 517 Fall 2017/E17A6. Fix account creation over web to work reasonably</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113170"/>
		<updated>2017-11-14T03:32:39Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=='''Introduction to Expertise'''==&lt;br /&gt;
&lt;br /&gt;
Expertiza is a educational website that allows school users to submit peer reviews on assignments. To register to use this website, one needs to be either a course TA or Instructor and send a request to expertiza administrator to get approved. The request function only serves TAs and Instructors, so students won't be able to register. A student account is created by instructors or TAs. The whole purpose of this approval process is because students have no point of using this website without enrolling to an instructors course first, so they shouldn't request accounts from expertiza but from their instructors and TAs.&lt;br /&gt;
&lt;br /&gt;
A pending request page that displays all the requests should also be able to perform actions like approve or reject with an note.&lt;br /&gt;
&lt;br /&gt;
However, currently, all of these are done manually, which means no pending request page currently exists, no simple approve or reject action, and no user experience, and all users are added into the database through command line operations in the database(only instructor and TA roles which is acceptable currently but not when more other institutions try to user Expertiza).&lt;br /&gt;
&lt;br /&gt;
In addition, we also want users be able to add their institution if it does not show under the list provided by us.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Problem Statement'''==&lt;br /&gt;
'''Overall Introduction'''&lt;br /&gt;
&lt;br /&gt;
Request account function is currently not working properly. A new user who tries to request an expertiza account can do so, but the instructor can see yet has no power to approve any request. The approval process is currently done manually, which is cumbersome. &lt;br /&gt;
Our mission is to fix the request account functionality so that whoever requests for a new accounts can be approved by instructor clicking a button, and secondly, optimize the functionality to improve user experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Detailed Requirements and Plan===&lt;br /&gt;
'''1. Add institution''' &amp;lt;br\&amp;gt;&lt;br /&gt;
-A registering user should be able to choose their institution from a drop-down menu, but they should also be able to add an institution if they couldn't find one. &amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-The new institution should be saved as a new record into the ''institution table''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-New account request should be saved to ''requested_users table'' with correct institution id.&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.superadmin, admin should be able to approve/decline requests'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-add a new drop-down item under “Administration &amp;gt; Show…” so requests can be visually displayed and handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-enable the &amp;quot;approve&amp;quot; function for admin and superadmin&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-make clickable user email address so a conversation is possible&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3. The record retain after admin's approval/rejection and an email will be sent to remind'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-an email should be sent when a request is approved or declined&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-all record should be kept on the page even it has been handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix 1. Add institution ===&lt;br /&gt;
- redesign the view shown in the previous section to include a field named institution in the current form to allow user to submit their institution if they couldn't find one in the list, and save it into the table corresponding to the form it submits to.&lt;br /&gt;
&lt;br /&gt;
- design a requested_user table to save all account requests&lt;br /&gt;
&lt;br /&gt;
===Fix 2. Add new Page and Action===&lt;br /&gt;
- to create an new view that can show all pending account requests and include actions like approve and reject to allow instructors to process requests on the same page&lt;br /&gt;
&lt;br /&gt;
- create corresponding new controller with methods corresponding to actions like reject, approve and index.&lt;br /&gt;
&lt;br /&gt;
===Fix 3. The record retains after admin's approval and email reminder ===&lt;br /&gt;
- redesign the view and model to retain the request record after super-admin or admin approves the request.&lt;br /&gt;
&lt;br /&gt;
- add an email tag in the corresponding view, so there will be an email send to email address offered by requester after approval/rejection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Mockup Screens'''==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
加一张现在没有“Administration &amp;gt; Show…”的图，加一张user email不能click的图， 加一张all record的图&lt;br /&gt;
&lt;br /&gt;
后面再加修改后的对比图&lt;br /&gt;
&lt;br /&gt;
[[File:cs.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screen_Shot_2017-11-06_at_10.17.01_PM.png]]&lt;br /&gt;
&lt;br /&gt;
加一张改了之后的图&lt;br /&gt;
&lt;br /&gt;
[[File:Administrator.png]] ‎&lt;br /&gt;
&lt;br /&gt;
=='''Design Pattern'''==&lt;br /&gt;
&lt;br /&gt;
==='''1. MVC'''===&lt;br /&gt;
The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).&lt;br /&gt;
&lt;br /&gt;
==='''2. Dry Principle'''===&lt;br /&gt;
We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=='''Test Plan'''==&lt;br /&gt;
Both manual and RSpec test will be performed on the following items.&lt;br /&gt;
&lt;br /&gt;
1. a proper error message for improper information filled in, such as wrong email address format or existing account.&lt;br /&gt;
&lt;br /&gt;
2. When a pending account gets approved or rejected, an email will be sent to the submitted email address.&lt;br /&gt;
&lt;br /&gt;
3. A new item &amp;quot;show&amp;quot; should be added under administration and direct instructor to pending requests page when clicked&lt;br /&gt;
&lt;br /&gt;
4. pending requests will have an email column that is clickable which allows instructor to send emails to applicants before a decision is made.&lt;br /&gt;
&lt;br /&gt;
5. when a request is processed, its record is still kept with the status of processed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team Informantion ==&lt;br /&gt;
Guiyang Fan(gfan@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Haoxu Ren(hren3@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Dongyu Wang(dwang32@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Yichi Zhang&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113169</id>
		<title>CSC/ECE 517 Fall 2017/E17A6. Fix account creation over web to work reasonably</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113169"/>
		<updated>2017-11-14T03:30:57Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: /* Mockup Screens */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction to Expertiza==&lt;br /&gt;
&lt;br /&gt;
Expertiza is a educational website that allows school users to submit peer reviews on assignments. To register to use this website, one needs to be either a course TA or Instructor and send a request to expertiza administrator to get approved. The request function only serves TAs and Instructors, so students won't be able to register. A student account is created by instructors or TAs. The whole purpose of this approval process is because students have no point of using this website without enrolling to an instructors course first, so they shouldn't request accounts from expertiza but from their instructors and TAs.&lt;br /&gt;
&lt;br /&gt;
A pending request page that displays all the requests should also be able to perform actions like approve or reject with an note.&lt;br /&gt;
&lt;br /&gt;
However, currently, all of these are done manually, which means no pending request page currently exists, no simple approve or reject action, and no user experience, and all users are added into the database through command line operations in the database(only instructor and TA roles which is acceptable currently but not when more other institutions try to user Expertiza).&lt;br /&gt;
&lt;br /&gt;
In addition, we also want users be able to add their institution if it does not show under the list provided by us.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
'''Overall Introduction'''&lt;br /&gt;
&lt;br /&gt;
Request account function is currently not working properly. A new user who tries to request an expertiza account can do so, but the instructor can see yet has no power to approve any request. The approval process is currently done manually, which is cumbersome. &lt;br /&gt;
Our mission is to fix the request account functionality so that whoever requests for a new accounts can be approved by instructor clicking a button, and secondly, optimize the functionality to improve user experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Detailed Requirements and Plan===&lt;br /&gt;
'''1. Add institution''' &amp;lt;br\&amp;gt;&lt;br /&gt;
-A registering user should be able to choose their institution from a drop-down menu, but they should also be able to add an institution if they couldn't find one. &amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-The new institution should be saved as a new record into the ''institution table''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-New account request should be saved to ''requested_users table'' with correct institution id.&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.superadmin, admin should be able to approve/decline requests'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-add a new drop-down item under “Administration &amp;gt; Show…” so requests can be visually displayed and handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-enable the &amp;quot;approve&amp;quot; function for admin and superadmin&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-make clickable user email address so a conversation is possible&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3. The record retain after admin's approval/rejection and an email will be sent to remind'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-an email should be sent when a request is approved or declined&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-all record should be kept on the page even it has been handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix 1. Add institution ===&lt;br /&gt;
- redesign the view shown in the previous section to include a field named institution in the current form to allow user to submit their institution if they couldn't find one in the list, and save it into the table corresponding to the form it submits to.&lt;br /&gt;
&lt;br /&gt;
- design a requested_user table to save all account requests&lt;br /&gt;
&lt;br /&gt;
===Fix 2. Add new Page and Action===&lt;br /&gt;
- to create an new view that can show all pending account requests and include actions like approve and reject to allow instructors to process requests on the same page&lt;br /&gt;
&lt;br /&gt;
- create corresponding new controller with methods corresponding to actions like reject, approve and index.&lt;br /&gt;
&lt;br /&gt;
===Fix 3. The record retains after admin's approval and email reminder ===&lt;br /&gt;
- redesign the view and model to retain the request record after super-admin or admin approves the request.&lt;br /&gt;
&lt;br /&gt;
- add an email tag in the corresponding view, so there will be an email send to email address offered by requester after approval/rejection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mockup Screens==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
加一张现在没有“Administration &amp;gt; Show…”的图，加一张user email不能click的图， 加一张all record的图&lt;br /&gt;
&lt;br /&gt;
后面再加修改后的对比图&lt;br /&gt;
&lt;br /&gt;
[[File:cs.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screen_Shot_2017-11-06_at_10.17.01_PM.png]]&lt;br /&gt;
&lt;br /&gt;
加一张改了之后的图&lt;br /&gt;
&lt;br /&gt;
[[File:Administrator.png]] ‎&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
==='''1. MVC'''===&lt;br /&gt;
The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).&lt;br /&gt;
&lt;br /&gt;
==='''2. Dry Principle'''===&lt;br /&gt;
We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Both manual and RSpec test will be performed on the following items.&lt;br /&gt;
&lt;br /&gt;
1. a proper error message for improper information filled in, such as wrong email address format or existing account.&lt;br /&gt;
&lt;br /&gt;
2. When a pending account gets approved or rejected, an email will be sent to the submitted email address.&lt;br /&gt;
&lt;br /&gt;
3. A new item &amp;quot;show&amp;quot; should be added under administration and direct instructor to pending requests page when clicked&lt;br /&gt;
&lt;br /&gt;
4. pending requests will have an email column that is clickable which allows instructor to send emails to applicants before a decision is made.&lt;br /&gt;
&lt;br /&gt;
5. when a request is processed, its record is still kept with the status of processed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team Informantion ==&lt;br /&gt;
Guiyang Fan(gfan@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Haoxu Ren(hren3@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Dongyu Wang(dwang32@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Yichi Zhang&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113168</id>
		<title>CSC/ECE 517 Fall 2017/E17A6. Fix account creation over web to work reasonably</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113168"/>
		<updated>2017-11-14T03:28:17Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction to Expertiza==&lt;br /&gt;
&lt;br /&gt;
Expertiza is a educational website that allows school users to submit peer reviews on assignments. To register to use this website, one needs to be either a course TA or Instructor and send a request to expertiza administrator to get approved. The request function only serves TAs and Instructors, so students won't be able to register. A student account is created by instructors or TAs. The whole purpose of this approval process is because students have no point of using this website without enrolling to an instructors course first, so they shouldn't request accounts from expertiza but from their instructors and TAs.&lt;br /&gt;
&lt;br /&gt;
A pending request page that displays all the requests should also be able to perform actions like approve or reject with an note.&lt;br /&gt;
&lt;br /&gt;
However, currently, all of these are done manually, which means no pending request page currently exists, no simple approve or reject action, and no user experience, and all users are added into the database through command line operations in the database(only instructor and TA roles which is acceptable currently but not when more other institutions try to user Expertiza).&lt;br /&gt;
&lt;br /&gt;
In addition, we also want users be able to add their institution if it does not show under the list provided by us.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
'''Overall Introduction'''&lt;br /&gt;
&lt;br /&gt;
Request account function is currently not working properly. A new user who tries to request an expertiza account can do so, but the instructor can see yet has no power to approve any request. The approval process is currently done manually, which is cumbersome. &lt;br /&gt;
Our mission is to fix the request account functionality so that whoever requests for a new accounts can be approved by instructor clicking a button, and secondly, optimize the functionality to improve user experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Detailed Requirements and Plan===&lt;br /&gt;
'''1. Add institution''' &amp;lt;br\&amp;gt;&lt;br /&gt;
-A registering user should be able to choose their institution from a drop-down menu, but they should also be able to add an institution if they couldn't find one. &amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-The new institution should be saved as a new record into the ''institution table''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-New account request should be saved to ''requested_users table'' with correct institution id.&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.superadmin, admin should be able to approve/decline requests'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-add a new drop-down item under “Administration &amp;gt; Show…” so requests can be visually displayed and handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-enable the &amp;quot;approve&amp;quot; function for admin and superadmin&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-make clickable user email address so a conversation is possible&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3. The record retain after admin's approval/rejection and an email will be sent to remind'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-an email should be sent when a request is approved or declined&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-all record should be kept on the page even it has been handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix 1. Add institution ===&lt;br /&gt;
- redesign the view shown in the previous section to include a field named institution in the current form to allow user to submit their institution if they couldn't find one in the list, and save it into the table corresponding to the form it submits to.&lt;br /&gt;
&lt;br /&gt;
- design a requested_user table to save all account requests&lt;br /&gt;
&lt;br /&gt;
===Fix 2. Add new Page and Action===&lt;br /&gt;
- to create an new view that can show all pending account requests and include actions like approve and reject to allow instructors to process requests on the same page&lt;br /&gt;
&lt;br /&gt;
- create corresponding new controller with methods corresponding to actions like reject, approve and index.&lt;br /&gt;
&lt;br /&gt;
===Fix 3. The record retains after admin's approval and email reminder ===&lt;br /&gt;
- redesign the view and model to retain the request record after super-admin or admin approves the request.&lt;br /&gt;
&lt;br /&gt;
- add an email tag in the corresponding view, so there will be an email send to email address offered by requester after approval/rejection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Mockup Screens==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
加一张现在没有“Administration &amp;gt; Show…”的图，加一张user email不能click的图， 加一张all record的图&lt;br /&gt;
&lt;br /&gt;
后面再加修改后的对比图&lt;br /&gt;
&lt;br /&gt;
[[File:cs.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screen_Shot_2017-11-06_at_10.17.01_PM.png]]&lt;br /&gt;
&lt;br /&gt;
加一张改了之后的图&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
==='''1. MVC'''===&lt;br /&gt;
The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).&lt;br /&gt;
&lt;br /&gt;
==='''2. Dry Principle'''===&lt;br /&gt;
We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Both manual and RSpec test will be performed on the following items.&lt;br /&gt;
&lt;br /&gt;
1. a proper error message for improper information filled in, such as wrong email address format or existing account.&lt;br /&gt;
&lt;br /&gt;
2. When a pending account gets approved or rejected, an email will be sent to the submitted email address.&lt;br /&gt;
&lt;br /&gt;
3. A new item &amp;quot;show&amp;quot; should be added under administration and direct instructor to pending requests page when clicked&lt;br /&gt;
&lt;br /&gt;
4. pending requests will have an email column that is clickable which allows instructor to send emails to applicants before a decision is made.&lt;br /&gt;
&lt;br /&gt;
5. when a request is processed, its record is still kept with the status of processed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team Informantion ==&lt;br /&gt;
Guiyang Fan(gfan@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Haoxu Ren(hren3@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Dongyu Wang(dwang32@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Yichi Zhang&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Administrator.png&amp;diff=113167</id>
		<title>File:Administrator.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Administrator.png&amp;diff=113167"/>
		<updated>2017-11-14T03:27:10Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113164</id>
		<title>CSC/ECE 517 Fall 2017/E17A6. Fix account creation over web to work reasonably</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113164"/>
		<updated>2017-11-14T02:45:42Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction to Expertiza==&lt;br /&gt;
&lt;br /&gt;
Expertiza is a educational website that allows school users to submit peer reviews on assignments. To register to use this website, one needs to be either a course TA or Instructor and send a request to expertiza administrator to get approved. The request function only serves TAs and Instructors, so students won't be able to register. A student account is created by instructors or TAs. The whole purpose of this approval process is because students have no point of using this website without enrolling to an instructors course first, so they shouldn't request accounts from expertiza but from their instructors and TAs.&lt;br /&gt;
&lt;br /&gt;
A pending request page that displays all the requests should also be able to perform actions like approve or reject with an note.&lt;br /&gt;
&lt;br /&gt;
However, currently, all of these are done manually, which means no pending request page currently exists, no simple approve or reject action, and no user experience, and all users are added into the database through command line operations in the database(only instructor and TA roles which is acceptable currently but not when more other institutions try to user Expertiza).&lt;br /&gt;
&lt;br /&gt;
In addition, we also want users be able to add their institution if it does not show under the list provided by us.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
'''Overall Introduction'''&lt;br /&gt;
&lt;br /&gt;
Request account function is currently not working properly. A new user who tries to request an expertiza account can do so, but the instructor can see yet has no power to approve any request. The approval process is currently done manually, which is cumbersome. &lt;br /&gt;
Our mission is to fix the request account functionality so that whoever requests for a new accounts can be approved by instructor clicking a button, and secondly, optimize the functionality to improve user experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:cs.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screen_Shot_2017-11-06_at_10.17.01_PM.png]]&lt;br /&gt;
&lt;br /&gt;
加一张现在没有“Administration &amp;gt; Show…”的图，加一张user email不能click的图， 加一张all record的图&lt;br /&gt;
&lt;br /&gt;
后面再加修改后的对比图&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Detailed Requirements and Plan===&lt;br /&gt;
'''1. Add institution''' &amp;lt;br\&amp;gt;&lt;br /&gt;
-A registering user should be able to choose their institution from a drop-down menu, but they should also be able to add an institution if they couldn't find one. &amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-The new institution should be saved as a new record into the ''institution table''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-New account request should be saved to ''requested_users table'' with correct institution id.&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.superadmin, admin should be able to approve/decline requests'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-add a new drop-down item under “Administration &amp;gt; Show…” so requests can be visually displayed and handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-enable the &amp;quot;approve&amp;quot; function for admin and superadmin&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-make clickable user email address so a conversation is possible&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3. The record retain after admin's approval/rejection and an email will be sent to remind'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-an email should be sent when a request is approved or declined&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-all record should be kept on the page even it has been handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix 1. Add institution ===&lt;br /&gt;
- redesign the view shown in the previous section to include a field named institution in the current form to allow user to submit their institution if they couldn't find one in the list, and save it into the table corresponding to the form it submits to.&lt;br /&gt;
&lt;br /&gt;
- design a requested_user table to save all account requests&lt;br /&gt;
&lt;br /&gt;
===Fix 2. Add new Page and Action===&lt;br /&gt;
- to create an new view that can show all pending account requests and include actions like approve and reject to allow instructors to process requests on the same page&lt;br /&gt;
&lt;br /&gt;
- create corresponding new controller with methods corresponding to actions like reject, approve and index.&lt;br /&gt;
&lt;br /&gt;
===Fix 3. The record retains after admin's approval and email reminder ===&lt;br /&gt;
- redesign the view and model to retain the request record after super-admin or admin approves the request.&lt;br /&gt;
&lt;br /&gt;
- add an email tag in the corresponding view, so there will be an email send to email address offered by requester after approval/rejection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
==='''1. MVC'''===&lt;br /&gt;
The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).&lt;br /&gt;
&lt;br /&gt;
==='''2. Dry Principle'''===&lt;br /&gt;
We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Both manual and RSpec test will be performed on the following items.&lt;br /&gt;
&lt;br /&gt;
1. a proper error message for improper information filled in, such as wrong email address format or existing account.&lt;br /&gt;
&lt;br /&gt;
2. When a pending account gets approved or rejected, an email will be sent to the submitted email address.&lt;br /&gt;
&lt;br /&gt;
3. A new item &amp;quot;show&amp;quot; should be added under administration and direct instructor to pending requests page when clicked&lt;br /&gt;
&lt;br /&gt;
4. pending requests will have an email column that is clickable which allows instructor to send emails to applicants before a decision is made.&lt;br /&gt;
&lt;br /&gt;
5. when a request is processed, its record is still kept with the status of processed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team Informantion ==&lt;br /&gt;
Guiyang Fan(gfan@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Haoxu Ren(hren3@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Dongyu Wang(dwang32@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Yichi Zhang&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113163</id>
		<title>CSC/ECE 517 Fall 2017/E17A6. Fix account creation over web to work reasonably</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113163"/>
		<updated>2017-11-14T02:42:36Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction to Expertiza==&lt;br /&gt;
&lt;br /&gt;
Expertiza is a educational website that allows school users to submit peer reviews on assignments. To register to use this website, one needs to be either a course TA or Instructor and send a request to expertiza administrator to get approved. The request function only serves TAs and Instructors, so students won't be able to register. A student account is created by instructors or TAs. The whole purpose of this approval process is because students have no point of using this website without enrolling to an instructors course first, so they shouldn't request accounts from expertiza but from their instructors and TAs.&lt;br /&gt;
&lt;br /&gt;
A pending request page that displays all the requests should also be able to perform actions like approve or reject with an note.&lt;br /&gt;
&lt;br /&gt;
However, currently, all of these are done manually, which means no pending request page currently exists, no simple approve or reject action, and no user experience, and all users are added into the database through command line operations in the database(only instructor and TA roles which is acceptable currently but not when more other institutions try to user Expertiza).&lt;br /&gt;
&lt;br /&gt;
In addition, we also want users be able to add their institution if it does not show under the list provided by us.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
'''Overall Introduction'''&lt;br /&gt;
&lt;br /&gt;
Request account function is currently not working properly. A new user who tries to request an expertiza account can do so, but the instructor can see yet has no power to approve any request. The approval process is currently done manually, which is cumbersome. &lt;br /&gt;
Our mission is to fix the request account functionality so that whoever requests for a new accounts can be approved by instructor clicking a button, and secondly, optimize the functionality to improve user experience.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:cs.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screen_Shot_2017-11-06_at_10.17.01_PM.png]]&lt;br /&gt;
&lt;br /&gt;
===Detailed Requirements and Plan===&lt;br /&gt;
'''1. Add institution''' &amp;lt;br\&amp;gt;&lt;br /&gt;
-A registering user should be able to choose their institution from a drop-down menu, but they should also be able to add an institution if they couldn't find one. &amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-The new institution should be saved as a new record into the ''institution table''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-New account request should be saved to ''requested_users table'' with correct institution id.&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.superadmin, admin should be able to approve/decline requests'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-add a new drop-down item under “Administration &amp;gt; Show…” so requests can be visually displayed and handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-enable the &amp;quot;approve&amp;quot; function for admin and superadmin&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-make clickable user email address so a conversation is possible&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3. The record retain after admin's approval/rejection and an email will be sent to remind'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-an email should be sent when a request is approved or declined&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-all record should be kept on the page even it has been handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix 1. Add institution ===&lt;br /&gt;
- redesign the view shown in the previous section to include a field named institution in the current form to allow user to submit their institution if they couldn't find one in the list, and save it into the table corresponding to the form it submits to.&lt;br /&gt;
&lt;br /&gt;
- design a requested_user table to save all account requests&lt;br /&gt;
&lt;br /&gt;
===Fix 2. Add new Page and Action===&lt;br /&gt;
- to create an new view that can show all pending account requests and include actions like approve and reject to allow instructors to process requests on the same page&lt;br /&gt;
&lt;br /&gt;
- create corresponding new controller with methods corresponding to actions like reject, approve and index.&lt;br /&gt;
&lt;br /&gt;
===Fix 3. The record retains after admin's approval and email reminder ===&lt;br /&gt;
- redesign the view and model to retain the request record after super-admin or admin approves the request.&lt;br /&gt;
&lt;br /&gt;
- add an email tag in the corresponding view, so there will be an email send to email address offered by requester after approval/rejection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Design Pattern==&lt;br /&gt;
&lt;br /&gt;
==='''1. MVC'''===&lt;br /&gt;
The project is implemented in Ruby on Rails that uses MVC architecture. It separates an application’s data model, user interface, and control logic into three distinct components (model, view and controller, respectively).&lt;br /&gt;
&lt;br /&gt;
==='''2. Dry Principle'''===&lt;br /&gt;
We are trying to reuse the existing functionalities in Expertiza, thus avoiding code duplication. Whenever possible, code modification based on the existing classes, controllers, or tables will be done instead of creating the new one.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Test Plan==&lt;br /&gt;
Both manual and RSpec test will be performed on the following items.&lt;br /&gt;
&lt;br /&gt;
1. a proper error message for improper information filled in, such as wrong email address format or existing account.&lt;br /&gt;
&lt;br /&gt;
2. When a pending account gets approved or rejected, an email will be sent to the submitted email address.&lt;br /&gt;
&lt;br /&gt;
3. A new item &amp;quot;show&amp;quot; should be added under administration and direct instructor to pending requests page when clicked&lt;br /&gt;
&lt;br /&gt;
4. pending requests will have an email column that is clickable which allows instructor to send emails to applicants before a decision is made.&lt;br /&gt;
&lt;br /&gt;
5. when a request is processed, its record is still kept with the status of processed.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Team Informantion ==&lt;br /&gt;
Guiyang Fan(gfan@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Haoxu Ren(hren3@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Dongyu Wang(dwang32@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Yichi Zhang&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113162</id>
		<title>CSC/ECE 517 Fall 2017/E17A6. Fix account creation over web to work reasonably</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113162"/>
		<updated>2017-11-14T02:29:52Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction to Expertiza==&lt;br /&gt;
&lt;br /&gt;
Expertiza is a educational website that allows school users to submit peer reviews on assignments. To register to use this website, one needs to be either a course TA or Instructor and send a request to expertiza administrator to get approved. The request function only serves TAs and Instructors, so students won't be able to register. A student account is created by instructors or TAs. The whole purpose of this approval process is because students have no point of using this website without enrolling to an instructors course first, so they shouldn't request accounts from expertiza but from their instructors and TAs.&lt;br /&gt;
&lt;br /&gt;
A pending request page that displays all the requests should also be able to perform actions like approve or reject with an note.&lt;br /&gt;
&lt;br /&gt;
However, currently, all of these are done manually, which means no pending request page currently exists, no simple approve or reject action, and no user experience, and all users are added into the database through command line operations in the database(only instructor and TA roles which is acceptable currently but not when more other institutions try to user Expertiza).&lt;br /&gt;
&lt;br /&gt;
In addition, we also want users be able to add their institution if it does not show under the list provided by us.&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
'''Overall Introduction'''&lt;br /&gt;
&lt;br /&gt;
Request account function is currently not working properly. A new user who tries to request an expertiza account can do so, but the instructor can see yet has no power to approve any request. The approval process is currently done manually, which is cumbersome. &lt;br /&gt;
Our mission is to fix the request account functionality so that whoever requests for a new accounts can be approved by instructor clicking a button, and secondly, optimize the functionality to improve user experience.&lt;br /&gt;
&lt;br /&gt;
'''Problem details'''&lt;br /&gt;
&lt;br /&gt;
'''1. New user request page'''&lt;br /&gt;
&lt;br /&gt;
After you click “REQUEST ACCOUNT” button, Expertiza will redirect to a page to allow submitting new user request. Currently, a new user can only choose institution from the dropdown. The new user should be able to add a new institution. Modifying the current view to allow new user to add a new institution if s/he cannot find it from dropdown. The new institution should be able to saved into institutions table as a new record. And the newly created request will be stored in requested_users table and make sure to save correct institution_id. &lt;br /&gt;
&lt;br /&gt;
It will be better to add a place to ask new user to write a brief introduction (a textarea). The data should also be saved to requested_users table. Write a migration file to add a new column (type: text) to requested_users table. Also, in models/requested_user.rb, there are some validations, such as validate email address. It will be better to update the flash message on the view when validation fails.&lt;br /&gt;
&lt;br /&gt;
'''2. Super-admin and admin are able to approve or decline new user requests.''' &lt;br /&gt;
&lt;br /&gt;
Currently, you have to go to /users/list_pending_requested this url to access a list of pending requests. It will be better to add an option in “Administration &amp;gt; Show…” menu.&lt;br /&gt;
&lt;br /&gt;
Also, Make “Email Address” column in /users/list_pending_requested page clickable. So that super-admin or admin could converse with requesters by clicking email addresses directly.&lt;br /&gt;
&lt;br /&gt;
'''3. The record retains after admin's approval.'''&lt;br /&gt;
&lt;br /&gt;
After super-admin or admin approves the request, make sure the record does not disappear on the page. And there should be an email send to email address offered by requester. &lt;br /&gt;
&lt;br /&gt;
[[File:cs.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screen_Shot_2017-11-06_at_10.17.01_PM.png]]&lt;br /&gt;
&lt;br /&gt;
===Task Specifications and Plan===&lt;br /&gt;
'''1. Add institution''' &amp;lt;br\&amp;gt;&lt;br /&gt;
-A registering user should be able to choose their institution from a drop-down menu, but they should also be able to add an institution if they couldn't find one. &amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-The new institution should be saved as a new record into the ''institution table''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-New account request should be saved to ''requested_users table'' with correct institution id.&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.superadmin, admin should be able to approve/decline requests'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-add a new drop-down item under “Administration &amp;gt; Show…” so requests can be visually displayed and handled&amp;lt;br\&amp;gt;&lt;br /&gt;
-enable the &amp;quot;approve&amp;quot; function for admin and superadmin&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-make clickable user email address so a conversation is possible&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-an email should be sent when a request is approved or declined&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-all record should be kept on the page even it has been handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix 1. Add institution ===&lt;br /&gt;
- redesign the view shown in the previous section to include a field named institution in the current form to allow user to submit their institution if they couldn't find one in the list, and save it into the table corresponding to the form it submits to.&lt;br /&gt;
&lt;br /&gt;
- design a requested_user table to save all account requests&lt;br /&gt;
&lt;br /&gt;
===Fix 2. Add new Page and Action===&lt;br /&gt;
- to create an new view that can show all pending account requests and include actions like approve and reject to allow instructors to process requests on the same page&lt;br /&gt;
&lt;br /&gt;
- create corresponding new controller with methods corresponding to actions like reject, approve and index.&lt;br /&gt;
&lt;br /&gt;
===Fix 3. The record retains after admin's approval and email reminder ===&lt;br /&gt;
- redesign the view and model to retain the request record after super-admin or admin approves the request.&lt;br /&gt;
&lt;br /&gt;
- add an email tag in the corresponding view, so there will be an email send to email address offered by requester.&lt;br /&gt;
&lt;br /&gt;
=Test Plan=&lt;br /&gt;
Both manual and RSpec test will be performed on the following items.&lt;br /&gt;
&lt;br /&gt;
1. a proper error message for improper information filled in, such as wrong email address format or existing account.&lt;br /&gt;
&lt;br /&gt;
2. When a pending account gets approved or rejected, an email will be sent to the submitted email address.&lt;br /&gt;
&lt;br /&gt;
3. A new item &amp;quot;show&amp;quot; should be added under administration and direct instructor to pending requests page when clicked&lt;br /&gt;
&lt;br /&gt;
4. pending requests will have an email column that is clickable which allows instructor to send emails to applicants before a decision is made.&lt;br /&gt;
&lt;br /&gt;
5. when a request is processed, its record is still kept with the status of processed.&lt;br /&gt;
&lt;br /&gt;
== Team Informantion ==&lt;br /&gt;
Guiyang Fan(gfan@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Haoxu Ren(hren3@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Dongyu Wang(dwang32@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Yichi Zhang&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113161</id>
		<title>CSC/ECE 517 Fall 2017/E17A6. Fix account creation over web to work reasonably</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113161"/>
		<updated>2017-11-14T02:23:49Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: /* Problem Statement */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction to Expertiza==&lt;br /&gt;
&lt;br /&gt;
Expertiza is a educational website that allows school users to submit peer reviews on assignments. To register to use this website, one needs to be either a course TA or Instructor and send a request to expertiza administrator to get approved. The request function only serves TAs and Instructors, so students won't be able to register. A student account is created by instructors or TAs. The whole purpose of this approval process is because students have no point of using this website without enrolling to an instructors course first, so they shouldn't request accounts from expertiza but from their instructors and TAs.&lt;br /&gt;
&lt;br /&gt;
A pending request page that displays all the requests should also be able to perform actions like approve or reject with an note.&lt;br /&gt;
&lt;br /&gt;
However, currently, all of these are done manually, which means no pending request page currently exists, no simple approve or reject action, and no user experience, and all users are added into the database through command line operations in the database(only instructor and TA roles which is acceptable currently but not when more other institutions try to user Expertiza).&lt;br /&gt;
&lt;br /&gt;
In addition, we also want users be able to add their institution if it does not show under the list provided by us.&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
'''Overall Introduction'''&lt;br /&gt;
&lt;br /&gt;
Request account function is currently not working properly. A new user who tries to request an expertiza account can do so, but the instructor can see yet has no power to approve any request. The approval process is currently done manually, which is cumbersome. &lt;br /&gt;
Our mission is to fix the request account functionality so that whoever requests for a new accounts can be approved by instructor clicking a button, and secondly, optimize the functionality to improve user experience.&lt;br /&gt;
&lt;br /&gt;
'''Problem details'''&lt;br /&gt;
&lt;br /&gt;
'''1. New user request page'''&lt;br /&gt;
&lt;br /&gt;
After you click “REQUEST ACCOUNT” button, Expertiza will redirect to a page to allow submitting new user request. Currently, a new user can only choose institution from the dropdown. The new user should be able to add a new institution. Modifying the current view to allow new user to add a new institution if s/he cannot find it from dropdown. The new institution should be able to saved into institutions table as a new record. And the newly created request will be stored in requested_users table and make sure to save correct institution_id. &lt;br /&gt;
&lt;br /&gt;
It will be better to add a place to ask new user to write a brief introduction (a textarea). The data should also be saved to requested_users table. Write a migration file to add a new column (type: text) to requested_users table. Also, in models/requested_user.rb, there are some validations, such as validate email address. It will be better to update the flash message on the view when validation fails.&lt;br /&gt;
&lt;br /&gt;
'''2. Super-admin and admin are able to approve or decline new user requests.''' &lt;br /&gt;
&lt;br /&gt;
Currently, you have to go to /users/list_pending_requested this url to access a list of pending requests. It will be better to add an option in “Administration &amp;gt; Show…” menu.&lt;br /&gt;
&lt;br /&gt;
Also, Make “Email Address” column in /users/list_pending_requested page clickable. So that super-admin or admin could converse with requesters by clicking email addresses directly.&lt;br /&gt;
&lt;br /&gt;
'''3. The record retains after admin's approval.'''&lt;br /&gt;
&lt;br /&gt;
After super-admin or admin approves the request, make sure the record does not disappear on the page. And there should be an email send to email address offered by requester. &lt;br /&gt;
&lt;br /&gt;
[[File:cs.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screen_Shot_2017-11-06_at_10.17.01_PM.png]]&lt;br /&gt;
&lt;br /&gt;
===Task Specifications and Plan===&lt;br /&gt;
'''1. Add institution''' &amp;lt;br\&amp;gt;&lt;br /&gt;
-A registering user should be able to choose their institution from a drop-down menu, but they should also be able to add an institution if they couldn't find one. &amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-The new institution should be saved as a new record into the ''institution table''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-New account request should be saved to ''requested_users table'' with correct institution id.&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.superadmin, admin should be able to approve/decline requests'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-add a new drop-down item under “Administration &amp;gt; Show…” so requests can be visually displayed and handled&amp;lt;br\&amp;gt;&lt;br /&gt;
-enable the &amp;quot;approve&amp;quot; function for admin and superadmin&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-make clickable user email address so a conversation is possible&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-an email should be sent when a request is approved or declined&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-all record should be kept on the page even it has been handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix 1. Add institution ===&lt;br /&gt;
- redesign the view shown in the previous section to include a field named institution in the current form to allow user to submit their institution if they couldn't find one in the list, and save it into the table corresponding to the form it submits to.&lt;br /&gt;
&lt;br /&gt;
- design a requested_user table to save all account requests&lt;br /&gt;
&lt;br /&gt;
===Fix 2. Add new Page and Action===&lt;br /&gt;
- to create an new view that can show all pending account requests and include actions like approve and reject to allow instructors to process requests on the same page&lt;br /&gt;
&lt;br /&gt;
- create corresponding new controller with methods corresponding to actions like reject, approve and index.&lt;br /&gt;
&lt;br /&gt;
=Test Plan=&lt;br /&gt;
Both manual and RSpec test will be performed on the following items.&lt;br /&gt;
&lt;br /&gt;
1. a proper error message for improper information filled in, such as wrong email address format or existing account.&lt;br /&gt;
&lt;br /&gt;
2. When a pending account gets approved or rejected, an email will be sent to the submitted email address.&lt;br /&gt;
&lt;br /&gt;
3. A new item &amp;quot;show&amp;quot; should be added under administration and direct instructor to pending requests page when clicked&lt;br /&gt;
&lt;br /&gt;
4. pending requests will have an email column that is clickable which allows instructor to send emails to applicants before a decision is made.&lt;br /&gt;
&lt;br /&gt;
5. when a request is processed, its record is still kept with the status of processed.&lt;br /&gt;
&lt;br /&gt;
== Team Informantion ==&lt;br /&gt;
Guiyang Fan(gfan@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Haoxu Ren(hren3@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Dongyu Wang(dwang32@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Yichi Zhang&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113159</id>
		<title>CSC/ECE 517 Fall 2017/E17A6. Fix account creation over web to work reasonably</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=113159"/>
		<updated>2017-11-14T02:03:32Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: /* Introduction */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction to Expertiza==&lt;br /&gt;
&lt;br /&gt;
Expertiza is a educational website that allows school users to submit peer reviews on assignments. To register to use this website, one needs to be either a course TA or Instructor and send a request to expertiza administrator to get approved. The request function only serves TAs and Instructors, so students won't be able to register. A student account is created by instructors or TAs. The whole purpose of this approval process is because students have no point of using this website without enrolling to an instructors course first, so they shouldn't request accounts from expertiza but from their instructors and TAs.&lt;br /&gt;
&lt;br /&gt;
A pending request page that displays all the requests should also be able to perform actions like approve or reject with an note.&lt;br /&gt;
&lt;br /&gt;
However, currently, all of these are done manually, which means no pending request page currently exists, no simple approve or reject action, and no user experience, and all users are added into the database through command line operations in the database(only instructor and TA roles which is acceptable currently but not when more other institutions try to user Expertiza).&lt;br /&gt;
&lt;br /&gt;
In addition, we also want users be able to add their institution if it does not show under the list provided by us.&lt;br /&gt;
&lt;br /&gt;
==Problem Statement==&lt;br /&gt;
Request account function is currently not working properly. A new user who tries to request an expertiza account can do so, but the instructor can see yet has no power to approve any request. The approval process is currently done manually, which is cumbersome. &lt;br /&gt;
Our mission is to fix the request account functionality so that whoever requests for a new accounts can be approved by instructor clicking a button, and secondly, optimize the functionality to improve user experience.&lt;br /&gt;
&lt;br /&gt;
[[File:cs.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screen_Shot_2017-11-06_at_10.17.01_PM.png]]&lt;br /&gt;
&lt;br /&gt;
===Task Specifications and Plan===&lt;br /&gt;
'''1. Add institution''' &amp;lt;br\&amp;gt;&lt;br /&gt;
-A registering user should be able to choose their institution from a drop-down menu, but they should also be able to add an institution if they couldn't find one. &amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-The new institution should be saved as a new record into the ''institution table''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-New account request should be saved to ''requested_users table'' with correct institution id.&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''2.superadmin, admin should be able to approve/decline requests'''&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-add a new drop-down item under “Administration &amp;gt; Show…” so requests can be visually displayed and handled&amp;lt;br\&amp;gt;&lt;br /&gt;
-enable the &amp;quot;approve&amp;quot; function for admin and superadmin&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-make clickable user email address so a conversation is possible&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-an email should be sent when a request is approved or declined&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
-all record should be kept on the page even it has been handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Fix 1. Add institution ===&lt;br /&gt;
- redesign the view shown in the previous section to include a field named institution in the current form to allow user to submit their institution if they couldn't find one in the list, and save it into the table corresponding to the form it submits to.&lt;br /&gt;
&lt;br /&gt;
- design a requested_user table to save all account requests&lt;br /&gt;
&lt;br /&gt;
===Fix 2. Add new Page and Action===&lt;br /&gt;
- to create an new view that can show all pending account requests and include actions like approve and reject to allow instructors to process requests on the same page&lt;br /&gt;
&lt;br /&gt;
- create corresponding new controller with methods corresponding to actions like reject, approve and index.&lt;br /&gt;
&lt;br /&gt;
=Test Plan=&lt;br /&gt;
Both manual and RSpec test will be performed on the following items.&lt;br /&gt;
&lt;br /&gt;
1. a proper error message for improper information filled in, such as wrong email address format or existing account.&lt;br /&gt;
&lt;br /&gt;
2. When a pending account gets approved or rejected, an email will be sent to the submitted email address.&lt;br /&gt;
&lt;br /&gt;
3. A new item &amp;quot;show&amp;quot; should be added under administration and direct instructor to pending requests page when clicked&lt;br /&gt;
&lt;br /&gt;
4. pending requests will have an email column that is clickable which allows instructor to send emails to applicants before a decision is made.&lt;br /&gt;
&lt;br /&gt;
5. when a request is processed, its record is still kept with the status of processed.&lt;br /&gt;
&lt;br /&gt;
== Team Informantion ==&lt;br /&gt;
Guiyang Fan(gfan@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Haoxu Ren(hren3@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Dongyu Wang(dwang32@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Yichi Zhang&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=112356</id>
		<title>CSC/ECE 517 Fall 2017/E17A6. Fix account creation over web to work reasonably</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2017/E17A6._Fix_account_creation_over_web_to_work_reasonably&amp;diff=112356"/>
		<updated>2017-11-07T19:13:03Z</updated>

		<summary type="html">&lt;p&gt;Dwang32: /* Team Informantion */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Introduction==&lt;br /&gt;
&lt;br /&gt;
===Problem Statement===&lt;br /&gt;
Request account function is currently not working properly. A new user who tries to request an expertiza account can do so, but the instructor can see yet has no power to approve any request. The approval process is currently done manually, which is cumbersome. &lt;br /&gt;
Our mission is to fix the request account functionality so that whoever request for a new accounts can be approved by instructor clicking an button and optimize the functionality to improve user experience.&lt;br /&gt;
&lt;br /&gt;
[[File:cs.png]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screen_Shot_2017-11-06_at_10.17.01_PM.png]]&lt;br /&gt;
&lt;br /&gt;
===Task Specifications===&lt;br /&gt;
'''1. Add institution''' &amp;lt;br\&amp;gt;&lt;br /&gt;
-A registering user should be able to choose their institution from a drop-down menu, but they should also be able to add an institution if they couldn't find one. &amp;lt;br\&amp;gt;&lt;br /&gt;
-The new institution should be saved as a new record into the ''institution table''&amp;lt;br\&amp;gt;&lt;br /&gt;
-New account request should be saved to ''requested_users table'' with correct institution id.&amp;lt;br\&amp;gt;&lt;br /&gt;
'''2.superadmin, admin should be able to approve/decline requests'''&amp;lt;br\&amp;gt;&lt;br /&gt;
-add a new drop-down item under “Administration &amp;gt; Show…” so requests can be visually displayed and handled&amp;lt;br\&amp;gt;&lt;br /&gt;
-enable the &amp;quot;approve&amp;quot; function for admin and superadmin&amp;lt;br\&amp;gt;&lt;br /&gt;
-make clickable user email address so a conversation is possible&amp;lt;br\&amp;gt;&lt;br /&gt;
-an email should be sent when a request is approved or declined&amp;lt;br\&amp;gt;&lt;br /&gt;
-all record should be kept on the page even it has been handled&amp;lt;br\&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Team Informantion ==&lt;br /&gt;
Guiyang Fan(gfan@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Haoxu Ren(hren3@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Dongyu Wang(dwang32@ncsu.edu)&lt;br /&gt;
&lt;br /&gt;
Yichi Zhang&lt;/div&gt;</summary>
		<author><name>Dwang32</name></author>
	</entry>
</feed>