<?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=Dbardha</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=Dbardha"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Dbardha"/>
	<updated>2026-05-18T19:47:36Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019&amp;diff=128510</id>
		<title>CSC/ECE 517 Fall 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019&amp;diff=128510"/>
		<updated>2019-11-11T04:18:07Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* [[CSC/ECE 517 Fall 2019 - Project E1947. Refactor quiz_questionnaire_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - Project E1965. Review report should link to the usual view for reviews]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - Project E1943. Refactor sign up sheet controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1972. OSS project J. Skellington: Accessing Assignment Rubrics]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1961. Email notification to reviewers and instructors]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1971. OSS project Finklestein: Instructors &amp;amp; Institutions]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1953. Tagging report for student]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1955.Write  unit tests for student_task.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1954. Auto-generate submission directory names based on assignment names]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1958. Two issues related to assignment management]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1948. Refactor review_mapping_helper.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1959. Intelligent copying of assignments without topics]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1968. Fixes for adding members to teams]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1969. Fixes for reviews not being available]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1951. Remove multiple topics at a time]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1957. Time travel Not Allowed..!!! Restrict TAs’ ability to change their own grade + limit file-size upload]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1963. Changing assignment participant role]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1941. Issues related to topic deadlines]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1966. Tabbed_reviews partial file refactor for displaying the alternate view of reviews]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1962. Email notification upon account creation]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1967. Fix glitches in author feedback]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1960. Create new late policy successfully and fixing &amp;quot;Back&amp;quot; link]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1939. OSS Project Juniper: Bookmark enhancements]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - M1950. Support Asynchronous Web Assembly Compilation]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1938. OSS project Duke Blue: Fix import glitches]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1985. Let course staff and students do reviews]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - M1951. Implement missing OffscreenCanvas APIs]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1940. Improving email notification]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1956. There is no shortcut to get free review points: Review Assignment Bug]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1942. Refactor stage deadlines in assignment.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - M1952. Missing DOM features project]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1945. Refactor users_controller.rb]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1964. Export review scores for projects]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1949. Write Unit Tests for Importing assignment participants and import glitches]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1944. Refactor review mapping controller]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1946. Refactor Questionnaire controller]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1982. Regulate changing of rubrics while projects are in progress]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1989. Track the time students look at other submissions]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1990. Integrate suggestion detection algorithm]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1995. Tests for email functionality]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1993 Track Time Between Successive Tag Assignments]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1979. Completion/Progress view]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1995. Weights in grade calculation]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1980. Sort instructor reports by name, ID, score, etc.]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1984. Improve self-review  Link peer review &amp;amp; self-review to derive grades]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1994. Mentor management for assignments without topics]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1997. Issues related to meta-reviewing]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1981. Student-generated questions added to rubric]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1996. Enhancements to review grader]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1987. Improving search facility in Expertiza]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1978. Fix issues related to deadlines and late policies]]&lt;br /&gt;
* [[CSC/ECE 517 Fall 2019 - E1991. Improvements to anonymized view]]&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1991._Improvements_to_anonymized_view&amp;diff=128508</id>
		<title>CSC/ECE 517 Fall 2019 - E1991. Improvements to anonymized view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1991._Improvements_to_anonymized_view&amp;diff=128508"/>
		<updated>2019-11-11T04:16:49Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: Created page with &amp;quot;== ''' Introduction ''' == The [http://expertiza.ncsu.edu/ Expertiza] project takes advantage of peer-review among students to allow them to learn from each other. Tracking the t...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ''' Introduction ''' ==&lt;br /&gt;
The [http://expertiza.ncsu.edu/ Expertiza] project takes advantage of peer-review among students to allow them to learn from each other. Tracking the time that a student spends on each submitted resources is meaningful to instructors to study and improve the teaching experience. Unfortunately, most peer assessment systems do not manage the content of students’ submission within the systems. They usually allow the authors to submit external links to the submission (e.g. GitHub code / deployed application), which makes it difficult for the system to track the time that the reviewers spend on the submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ''' Problem Statement ''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ''' Proposed Solution ''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ''' User Flowchart/Design ''' ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  ''' Test Plan ''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ''' Team Information ''' ==&lt;br /&gt;
#Shubham Dilip Pampattiwar (sdpampat)&lt;br /&gt;
#Pranav Maruti Gaikwad (pmgaikwa)&lt;br /&gt;
#Omkar Sunil Kulkarni (oskulkar)&lt;br /&gt;
#Deepayan Bardhan (dbardha)&lt;br /&gt;
&lt;br /&gt;
'''Mentor''': Sharique Khan (mkhan8)&lt;br /&gt;
&amp;lt;br&amp;gt;'''Professor''': Dr. Edward F. Gehringer (efg)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1991_Improvements_to_anonymized_view&amp;diff=128308</id>
		<title>CSC/ECE 517 Fall 2019 - E1991 Improvements to anonymized view</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1991_Improvements_to_anonymized_view&amp;diff=128308"/>
		<updated>2019-11-11T00:10:18Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: Created page with &amp;quot;== ''' Introduction ''' == The [http://expertiza.ncsu.edu/ Expertiza] project takes advantage of peer-review among students to allow them to learn from each other. Tracking the t...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== ''' Introduction ''' ==&lt;br /&gt;
The [http://expertiza.ncsu.edu/ Expertiza] project takes advantage of peer-review among students to allow them to learn from each other. Tracking the time that a student spends on each submitted resources is meaningful to instructors to study and improve the teaching experience. Unfortunately, most peer assessment systems do not manage the content of students’ submission within the systems. They usually allow the authors to submit external links to the submission (e.g. GitHub code / deployed application), which makes it difficult for the system to track the time that the reviewers spend on the submissions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ''' Problem Statement ''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ''' Proposed Solution ''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== ''' User Flowchart/Design ''' ===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==  ''' Test Plan ''' ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== ''' Team Information ''' ==&lt;br /&gt;
#Shubham Dilip Pampattiwar (sdpampat)&lt;br /&gt;
#Pranav Maruti Gaikwad (pmgaikwa)&lt;br /&gt;
#Omkar Sunil Kulkarni (oskulkar)&lt;br /&gt;
#Deepayan Bardhan (dbardha)&lt;br /&gt;
&lt;br /&gt;
'''Mentor''': Sharique Khan (mkhan8)&lt;br /&gt;
&amp;lt;br&amp;gt;'''Professor''': Dr. Edward F. Gehringer (efg)&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
&lt;br /&gt;
#[https://github.com/expertiza/expertiza Expertiza on GitHub]&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=127282</id>
		<title>CSC/ECE 517 Fall 2019 - E1945. Refactor users controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=127282"/>
		<updated>2019-11-06T05:45:26Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== '''About Expertiza''' ==&lt;br /&gt;
Expertiza is an open-source project based on Ruby on Rails framework. It allows the instructor to create new assignments and customize new or existing assignments. The instructor is allowed to create a list of topics for the students to which they can sign up for. For working on different projects and assignments the students can form teams in Expertiza. Peer review is another feature where students can review other students' submissions. This feature is available in Expertiza. Furthermore, Expertiza supports submission across various document types, including URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
== '''Abstract''' ==&lt;br /&gt;
The UserController is a controller used for managing the creation, modification, and destruction of users in the Expertiza system. Instructor users must be added by creating a request for a new account. A key part of our team’s work was moving methods associated with managing a new account request from the UserController to a new controller named AccountRequestController. This removed coupling between account requests and user objects. Furthermore, it allowed an account request to be properly associated with its own controller, model, and view. Additionally, the team refactored and documented some methods in the UserController.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
&lt;br /&gt;
The ''users_controller.rb'' file included the standard CRUD methods for a ''User'' model along with methods for other workflows. Most notably, the ''users_controller.rb'' file handled the creation and management of a ''RequestedUser'' object. The file also included a few methods which had a bad name or lack documentation. Thus it required to make the following changes to make the code more readable and change certain views.&lt;br /&gt;
&lt;br /&gt;
The following tasks were required to be done for the project by our team:&lt;br /&gt;
&lt;br /&gt;
* Separate all methods related to the workflow of a ''RequestedUser'' object&lt;br /&gt;
* Move below-mentioned methods to a new file named ''account_request_controller.rb''&lt;br /&gt;
# created_approved_user&lt;br /&gt;
# list_pending_requested&lt;br /&gt;
# request_new&lt;br /&gt;
# created_requested_user_record&lt;br /&gt;
# roles_for_request_sign_up&lt;br /&gt;
# Requested_user_params&lt;br /&gt;
* The ''RequestedUser'' model should be renamed to ''AccountRequest'' and it’s lifetime must be managed by the new ''AccountRequestController''&lt;br /&gt;
* The form that was currently displayed when the “Request Account” button is clicked from the Expertiza login page. It had to be edited with the following changes&lt;br /&gt;
** Only instructor accounts can be created, so the dropdown had to be removed&lt;br /&gt;
** All form labels had to be bold-faced&lt;br /&gt;
** The “Self Introduction” label should be re-named to “Self-Introduction”&lt;br /&gt;
** The textbox for the self-introduction field should include some hint (“Please include a link to your website”)&lt;br /&gt;
* Comments had to be written for the following methods&lt;br /&gt;
# get_role&lt;br /&gt;
# show_selection&lt;br /&gt;
# foreign&lt;br /&gt;
* The paginate_list method had to be invoked at the correct location (in the list method) so that it paginates the users list correctly. Presently all users being shown on a single page by default on clicking the user list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Our Work''' ==&lt;br /&gt;
&lt;br /&gt;
=== Changing the Request Account Page ===&lt;br /&gt;
&lt;br /&gt;
This is the page that was loading originally when '''request account''' button is clicked in the login page:&lt;br /&gt;
&lt;br /&gt;
[[File:Newuser.png|center|frame|none]]&lt;br /&gt;
&lt;br /&gt;
==== Removing Dropdown ====&lt;br /&gt;
Only the Instructor account can be created and not TA which is there as an option originally. &lt;br /&gt;
For this in the '''request_new.html.erb''' file, the selection tag has been changed to label tag in which the '''Instructor''' is put on the label&lt;br /&gt;
&lt;br /&gt;
==== All form labels had to be bold-faced ====&lt;br /&gt;
For this in the individual forms inside the view are visited and bold tag has been added individually.&lt;br /&gt;
&lt;br /&gt;
==== Renaming Self Introduction ====&lt;br /&gt;
Inside the '''_self_introduction.html.erb''' file the label is edited to the required one.&lt;br /&gt;
&lt;br /&gt;
==== Adding hints in text-box ====&lt;br /&gt;
Initially, the text-box was blank and some hints had to be added. This was done by adding a place_holder attribute inside the text area inside the '''_self_introduction.html.erb''' file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is the current page that gets loaded after fixing the above issues:&lt;br /&gt;
&lt;br /&gt;
[[File:Expertiza.png|center|frame|none]]&lt;br /&gt;
&lt;br /&gt;
=== Adding comments for methods  ===&lt;br /&gt;
The following methods had comments written or renamed for better understanding of the working of the methods and to reflect their actual behaviour.&lt;br /&gt;
#get_role - The method was renamed to '''role''', a comment was added explaining that it finds the role of a given user object&lt;br /&gt;
#show_selection - The method was renamed to '''show_if_authorized''', as this method should only display the users if the current user is authorized. Also changed it from a GET to a POST request since it more accurately reflects its working.&lt;br /&gt;
#foreign - A comment was added for this method, explaining that it stores all roles possible and that it gets role id of the session’s user.&lt;br /&gt;
&lt;br /&gt;
[[File:Foreign.png|center|caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Invoking paginate_list method ===&lt;br /&gt;
&lt;br /&gt;
Invoked the paginate_list method at the correct location(in the list method) so that it paginates the users list correctly. The number of users per-page has currently been set to 100, which was showing all users in a single page by default.  Also added a section at the bottom of the '''list.html.erb''' page for navigating between the paginated list of users.&lt;br /&gt;
&lt;br /&gt;
[[File:Paginate.png|center|]]&lt;br /&gt;
&lt;br /&gt;
As it can be seen now that there are page numbers and not all the users are being showed on the same page as was the case beforehand.&lt;br /&gt;
&lt;br /&gt;
== '''Results''' ==&lt;br /&gt;
The refactoring of the user_controller made the view for the account request more clearer and easy to understand for the user i.e. the UI was improved. Also, the code was made more cleaner and easy to read by for people who works on this later as the methods are segregated for performing their corresponding tasks and they comments are given for those which were not clear. Furthermore, the paginate users is now repaired and is working properly which lets the students list to be shown page wise instead of all the students in a single page which was not readable.&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
Tests for UserController were updated to account for the fact that some methods now use the AccountRequestController. The tests for the methods that were moved to AccountRequestController were moved to a new spec in the file ''account_request_spec.rb''. The team did this because it made sense to make a new spec for a new controller. Nevertheless, most test functionalities remained the same. The tests were also updated to not select the user role from the “User Role” dropdown. This was done because the dropdown was removed from the UI since only instructor accounts can be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Useful Links''' ==&lt;br /&gt;
&lt;br /&gt;
'''Github Repo:''' https://github.com/deepayanbardhan/expertiza&lt;br /&gt;
&lt;br /&gt;
'''VCL Deployment Link:''' http://152.46.19.122:3000&lt;br /&gt;
&lt;br /&gt;
'''Project Mentor:'''&lt;br /&gt;
&amp;lt;br&amp;gt;Ramya Vijayakumar&lt;br /&gt;
&lt;br /&gt;
'''Project Members:'''&amp;lt;br&amp;gt;&lt;br /&gt;
Benjamin Fisher&amp;lt;br&amp;gt;&lt;br /&gt;
Deepayan Bardhan&amp;lt;br&amp;gt;&lt;br /&gt;
Sanket Pai&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=127281</id>
		<title>CSC/ECE 517 Fall 2019 - E1945. Refactor users controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=127281"/>
		<updated>2019-11-06T05:40:42Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== '''About Expertiza''' ==&lt;br /&gt;
Expertiza is an open-source project based on Ruby on Rails framework. It allows the instructor to create new assignments and customize new or existing assignments. The instructor is allowed to create a list of topics for the students to which they can sign up for. For working on different projects and assignments the students can form teams in Expertiza. Peer review is another feature where students can review other students' submissions. This feature is available in Expertiza. Furthermore, Expertiza supports submission across various document types, including URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
== '''Abstract''' ==&lt;br /&gt;
The UserController is a controller used for managing the creation, modification, and destruction of users in the Expertiza system. Instructor users must be added by creating a request for a new account. A key part of our team’s work was moving methods associated with managing a new account request from the UserController to a new controller named AccountRequestController. This removed coupling between account requests and user objects. Furthermore, it allowed an account request to be properly associated with its own controller, model, and view. Additionally, the team refactored and documented some methods in the UserController.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
&lt;br /&gt;
The ''users_controller.rb'' file included the standard CRUD methods for a ''User'' model along with methods for other workflows. Most notably, the ''users_controller.rb'' file handled the creation and management of a ''RequestedUser'' object. The file also included a few methods which had a bad name or lack documentation. Thus it required to make the following changes to make the code more readable and change certain views.&lt;br /&gt;
&lt;br /&gt;
The following tasks were required to be done for the project by our team:&lt;br /&gt;
&lt;br /&gt;
* Separate all methods related to the workflow of a ''RequestedUser'' object&lt;br /&gt;
* Move below-mentioned methods to a new file named ''account_request_controller.rb''&lt;br /&gt;
# created_approved_user&lt;br /&gt;
# list_pending_requested&lt;br /&gt;
# request_new&lt;br /&gt;
# created_requested_user_record&lt;br /&gt;
# roles_for_request_sign_up&lt;br /&gt;
# Requested_user_params&lt;br /&gt;
* The ''RequestedUser'' model should be renamed to ''AccountRequest'' and it’s lifetime must be managed by the new ''AccountRequestController''&lt;br /&gt;
* The form that was currently displayed when the “Request Account” button is clicked from the Expertiza login page. It had to be edited with the following changes&lt;br /&gt;
** Only instructor accounts can be created, so the dropdown had to be removed&lt;br /&gt;
** All form labels had to be bold-faced&lt;br /&gt;
** The “Self Introduction” label should be re-named to “Self-Introduction”&lt;br /&gt;
** The textbox for the self-introduction field should include some hint (“Please include a link to your website”)&lt;br /&gt;
* Comments had to be written for the following methods&lt;br /&gt;
# get_role&lt;br /&gt;
# show_selection&lt;br /&gt;
# foreign&lt;br /&gt;
* The paginate_list method had to be invoked at the correct location (in the list method) so that it paginates the users list correctly. Presently all users being shown on a single page by default on clicking the user list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Our Work''' ==&lt;br /&gt;
&lt;br /&gt;
=== Changing the Request Account Page ===&lt;br /&gt;
&lt;br /&gt;
This is the page that was loading originally when '''request account''' button is clicked in the login page:&lt;br /&gt;
&lt;br /&gt;
[[File:Newuser.png|center|frame|none]]&lt;br /&gt;
&lt;br /&gt;
==== Removing Dropdown ====&lt;br /&gt;
Only the Instructor account can be created and not TA which is there as an option originally. &lt;br /&gt;
For this in the '''request_new.html.erb''' file, the selection tag has been changed to label tag in which the '''Instructor''' is put on the label&lt;br /&gt;
&lt;br /&gt;
==== All form labels had to be bold-faced ====&lt;br /&gt;
For this in the individual forms inside the view are visited and bold tag has been added individually.&lt;br /&gt;
&lt;br /&gt;
==== Renaming Self Introduction ====&lt;br /&gt;
Inside the '''_self_introduction.html.erb''' file the label is edited to the required one.&lt;br /&gt;
&lt;br /&gt;
==== Adding hints in text-box ====&lt;br /&gt;
Initially, the text-box was blank and some hints had to be added. This was done by adding a place_holder attribute inside the text area inside the '''_self_introduction.html.erb''' file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is the current page that gets loaded after fixing the above issues:&lt;br /&gt;
&lt;br /&gt;
[[File:Expertiza.png|center|frame|none]]&lt;br /&gt;
&lt;br /&gt;
=== Adding comments for methods  ===&lt;br /&gt;
The following methods had comments written or renamed for better understanding of the working of the methods and to reflect their actual behaviour.&lt;br /&gt;
#get_role - The method was renamed to '''role''', a comment was added explaining that it finds the role of a given user object&lt;br /&gt;
#show_selection - The method was renamed to '''show_if_authorized''', as this method should only display the users if the current user is authorized. Also changed it from a GET to a POST request since it more accurately reflects its working.&lt;br /&gt;
#foreign - A comment was added for this method, explaining that it stores all roles possible and that it gets role id of the session’s user.&lt;br /&gt;
&lt;br /&gt;
[[File:Foreign.png|center|caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Invoking paginate_list method ===&lt;br /&gt;
&lt;br /&gt;
Invoked the paginate_list method at the correct location(in the list method) so that it paginates the users list correctly. The number of users per-page has currently been set to 100, which was showing all users in a single page by default.  Also added a section at the bottom of the '''list.html.erb''' page for navigating between the paginated list of users.&lt;br /&gt;
&lt;br /&gt;
[[File:Paginate.png|center|]]&lt;br /&gt;
&lt;br /&gt;
As it can be seen now that there are page numbers and not all the users are being showed on the same page as was the case beforehand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Test Plan''' ==&lt;br /&gt;
&lt;br /&gt;
Tests for UserController were updated to account for the fact that some methods now use the AccountRequestController. The tests for the methods that were moved to AccountRequestController were moved to a new spec in the file ''account_request_spec.rb''. The team did this because it made sense to make a new spec for a new controller. Nevertheless, most test functionalities remained the same. The tests were also updated to not select the user role from the “User Role” dropdown. This was done because the dropdown was removed from the UI since only instructor accounts can be created.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Useful Links''' ==&lt;br /&gt;
&lt;br /&gt;
'''Github Repo:''' https://github.com/deepayanbardhan/expertiza&lt;br /&gt;
&lt;br /&gt;
'''VCL Deployment Link:''' http://152.46.19.122:3000&lt;br /&gt;
&lt;br /&gt;
'''Project Mentor:'''&lt;br /&gt;
&amp;lt;br&amp;gt;Ramya Vijayakumar&lt;br /&gt;
&lt;br /&gt;
'''Project Members:'''&amp;lt;br&amp;gt;&lt;br /&gt;
Benjamin Fisher&amp;lt;br&amp;gt;&lt;br /&gt;
Deepayan Bardhan&amp;lt;br&amp;gt;&lt;br /&gt;
Sanket Pai&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=127280</id>
		<title>CSC/ECE 517 Fall 2019 - E1945. Refactor users controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=127280"/>
		<updated>2019-11-06T05:31:00Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== '''About Expertiza''' ==&lt;br /&gt;
Expertiza is an open-source project based on Ruby on Rails framework. It allows the instructor to create new assignments and customize new or existing assignments. The instructor is allowed to create a list of topics for the students to which they can sign up for. For working on different projects and assignments the students can form teams in Expertiza. Peer review is another feature where students can review other students' submissions. This feature is available in Expertiza. Furthermore, Expertiza supports submission across various document types, including URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
== '''Abstract''' ==&lt;br /&gt;
The UserController is a controller used for managing the creation, modification, and destruction of users in the Expertiza system. Instructor users must be added by creating a request for a new account. A key part of our team’s work was moving methods associated with managing a new account request from the UserController to a new controller named AccountRequestController. This removed coupling between account requests and user objects. Furthermore, it allowed an account request to be properly associated with its own controller, model, and view. Additionally, the team refactored and documented some methods in the UserController.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
&lt;br /&gt;
The ''users_controller.rb'' file included the standard CRUD methods for a ''User'' model along with methods for other workflows. Most notably, the ''users_controller.rb'' file handled the creation and management of a ''RequestedUser'' object. The file also included a few methods which had a bad name or lack documentation. Thus it required to make the following changes to make the code more readable and change certain views.&lt;br /&gt;
&lt;br /&gt;
The following tasks were required to be done for the project by our team:&lt;br /&gt;
&lt;br /&gt;
* Separate all methods related to the workflow of a ''RequestedUser'' object&lt;br /&gt;
* Move below-mentioned methods to a new file named ''account_request_controller.rb''&lt;br /&gt;
# created_approved_user&lt;br /&gt;
# list_pending_requested&lt;br /&gt;
# request_new&lt;br /&gt;
# created_requested_user_record&lt;br /&gt;
# roles_for_request_sign_up&lt;br /&gt;
# Requested_user_params&lt;br /&gt;
* The ''RequestedUser'' model should be renamed to ''AccountRequest'' and it’s lifetime must be managed by the new ''AccountRequestController''&lt;br /&gt;
* The form that was currently displayed when the “Request Account” button is clicked from the Expertiza login page. It had to be edited with the following changes&lt;br /&gt;
** Only instructor accounts can be created, so the dropdown had to be removed&lt;br /&gt;
** All form labels had to be bold-faced&lt;br /&gt;
** The “Self Introduction” label should be re-named to “Self-Introduction”&lt;br /&gt;
** The textbox for the self-introduction field should include some hint (“Please include a link to your website”)&lt;br /&gt;
* Comments had to be written for the following methods&lt;br /&gt;
# get_role&lt;br /&gt;
# show_selection&lt;br /&gt;
# foreign&lt;br /&gt;
* The paginate_list method had to be invoked at the correct location (in the list method) so that it paginates the users list correctly. Presently all users being shown on a single page by default on clicking the user list.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Our Work''' ==&lt;br /&gt;
&lt;br /&gt;
=== Changing the Request Account Page ===&lt;br /&gt;
&lt;br /&gt;
This is the page that was loading originally when '''request account''' button is clicked in the login page:&lt;br /&gt;
&lt;br /&gt;
[[File:Newuser.png|center|frame|none]]&lt;br /&gt;
&lt;br /&gt;
==== Removing Dropdown ====&lt;br /&gt;
Only the Instructor account can be created and not TA which is there as an option originally. &lt;br /&gt;
For this in the '''request_new.html.erb''' file, the selection tag has been changed to label tag in which the '''Instructor''' is put on the label&lt;br /&gt;
&lt;br /&gt;
==== All form labels had to be bold-faced ====&lt;br /&gt;
For this in the individual forms inside the view are visited and bold tag has been added individually.&lt;br /&gt;
&lt;br /&gt;
==== Renaming Self Introduction ====&lt;br /&gt;
Inside the '''_self_introduction.html.erb''' file the label is edited to the required one.&lt;br /&gt;
&lt;br /&gt;
==== Adding hints in text-box ====&lt;br /&gt;
Initially, the text-box was blank and some hints had to be added. This was done by adding a place_holder attribute inside the text area inside the '''_self_introduction.html.erb''' file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This is the current page that gets loaded after fixing the above issues:&lt;br /&gt;
&lt;br /&gt;
[[File:Expertiza.png|center|frame|none]]&lt;br /&gt;
&lt;br /&gt;
=== Adding comments for methods  ===&lt;br /&gt;
The following methods had comments written or renamed for better understanding of the working of the methods and to reflect their actual behaviour.&lt;br /&gt;
#get_role - The method was renamed to '''role''', a comment was added explaining that it finds the role of a given user object&lt;br /&gt;
#show_selection - The method was renamed to '''show_if_authorized''', as this method should only display the users if the current user is authorized. Also changed it from a GET to a POST request since it more accurately reflects its working.&lt;br /&gt;
#foreign - A comment was added for this method, explaining that it stores all roles possible and that it gets role id of the session’s user.&lt;br /&gt;
&lt;br /&gt;
[[File:Foreign.png|center|caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Invoking paginate_list method ===&lt;br /&gt;
&lt;br /&gt;
Invoked the paginate_list method at the correct location(in the list method) so that it paginates the users list correctly. The number of users per-page has currently been set to 100, which was showing all users in a single page by default.  Also added a section at the bottom of the '''list.html.erb''' page for navigating between the paginated list of users.&lt;br /&gt;
&lt;br /&gt;
[[File:Paginate.png|center|]]&lt;br /&gt;
&lt;br /&gt;
As it can be seen now that there are page numbers and not all the users are being showed on the same page as was the case beforehand.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Test''' ==&lt;br /&gt;
&lt;br /&gt;
Tests for UserController were updated to account for the fact that some methods now use the AccountRequestController. The tests for the methods that were moved to AccountRequestController were moved to a new spec in the file account_request_spec.rb. The team did this because it made sense to make a new spec for a new controller. Nevertheless, most test functionalities remained the same. The tests were also updated to not select the user role from the “User Role” dropdown. This was done because the dropdown was removed from the UI since only instructor accounts can be created.&lt;br /&gt;
&lt;br /&gt;
'''Github Repo:''' https://github.com/deepayanbardhan/expertiza&lt;br /&gt;
&lt;br /&gt;
'''VCL Deployment Link:''' http://152.46.19.122:3000&lt;br /&gt;
&lt;br /&gt;
'''Project Mentor:'''&lt;br /&gt;
&amp;lt;br&amp;gt;Ramya Vijayakumar&lt;br /&gt;
&lt;br /&gt;
'''Project Members:'''&amp;lt;br&amp;gt;&lt;br /&gt;
Benjamin Fisher&amp;lt;br&amp;gt;&lt;br /&gt;
Deepayan Bardhan&amp;lt;br&amp;gt;&lt;br /&gt;
Sanket Pai&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Newuser.png&amp;diff=127275</id>
		<title>File:Newuser.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Newuser.png&amp;diff=127275"/>
		<updated>2019-11-06T03:48:16Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:New_user.png&amp;diff=127226</id>
		<title>File:New user.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:New_user.png&amp;diff=127226"/>
		<updated>2019-11-05T23:03:13Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:New_user.jpg&amp;diff=127182</id>
		<title>File:New user.jpg</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:New_user.jpg&amp;diff=127182"/>
		<updated>2019-11-05T22:23:25Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=127088</id>
		<title>CSC/ECE 517 Fall 2019 - E1945. Refactor users controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=127088"/>
		<updated>2019-11-05T03:48:57Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
== '''About Expertiza''' ==&lt;br /&gt;
Expertiza is an open-source project based on Ruby on Rails framework. It allows the instructor to create new assignments and customize new or existing assignments. The instructor is allowed to create a list of topics for the students to which they can sign up for. For working on different projects and assignments the students can form teams in Expertiza. Peer review is another feature where students can review other students' submissions. This feature is available in Expertiza. Furthermore, Expertiza supports submission across various document types, including URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
== '''Abstract''' ==&lt;br /&gt;
The UserController is a controller used for managing the creation, modification, and destruction of users in the Expertiza system. Instructor users must be added by creating a request for a new account. A key part of our team’s work was moving methods associated with managing a new account request from the UserController to a new controller named AccountRequestController. This removed coupling between account requests and user objects. Furthermore, it allowed an account request to be properly associated with its own controller, model, and view. Additionally, the team refactored and documented some methods in the UserController.&lt;br /&gt;
&lt;br /&gt;
== '''Problem Statement''' ==&lt;br /&gt;
The following tasks were accomplished in the project by our team:&lt;br /&gt;
&lt;br /&gt;
*Moved the following methods from UserController to AccountRequestController&lt;br /&gt;
# Methods affected:&lt;br /&gt;
#* created_approved_user&lt;br /&gt;
#* list_pending_requested&lt;br /&gt;
#* request_new&lt;br /&gt;
#* created_requested_user_record&lt;br /&gt;
#* roles_for_request_sign_up&lt;br /&gt;
#* Requested_user_params&lt;br /&gt;
# All the above mentioned methods have been moved to a new file named account_request_controller.rb&lt;br /&gt;
# The RequestedUser model has been renamed to AccountRequest. And is now managed by the AccountRequestController&lt;br /&gt;
# The form that is currently displayed when the “Request Account” button is clicked from the Expertiza login page has been edited with the following changes&lt;br /&gt;
#* Only instructor accounts can be created, so the dropdown has been removed&lt;br /&gt;
#* All form labels are now bold-faced&lt;br /&gt;
#* The “Self Introduction” label has been re-named to “Self-Introduction”&lt;br /&gt;
#* The textbox for the self-introduction field now includes some hint (“Please include a link to your website”)&lt;br /&gt;
&lt;br /&gt;
This is the current page after fixing the issues that gets loaded after the “request Account” button is clicked&lt;br /&gt;
&lt;br /&gt;
[[File:Expertiza.png|center|500px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Comments were written or renamed for the following methods to get a clear understanding of the working of the methods and to reflect their actual behaviour.&lt;br /&gt;
#get_role - The method was renamed to role, a comment was added explaining that it finds the role of a given user object&lt;br /&gt;
#show_selection - The method was renamed to show_if_authorized, as this method should only display the users if the current user is authorized. Also changed it from a GET to a POST request since it more accurately reflects its working.&lt;br /&gt;
#foreign - A comment was added for this method, explaining that it stores all roles possible and that it gets role id of the session’s user.&lt;br /&gt;
&lt;br /&gt;
[[File:Foreign.png|center|caption]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Invoked the paginate_list method at the correct location(in the list method) so that it paginates the users list correctly. The number of users per-page has currently been set to 100, which was showing all users in a single page by default.  Also added a section at the bottom of the list.html.erb page for navigating between the paginated list of users.&lt;br /&gt;
&lt;br /&gt;
[[File:Paginate.png|center|]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*Tests for UserController were updated to account for the fact that some methods now use the AccountRequestController. The tests for the methods that were moved to AccountRequestController were moved to a new spec in the file account_request_spec.rb. The team did this because it made sense to make a new spec for a new controller. Nevertheless, most test functionalities remained the same. The tests were also updated to not select the user role from the “User Role” dropdown. This was done because the dropdown was removed from the UI since only instructor accounts can be created.&lt;br /&gt;
&lt;br /&gt;
'''Github Repo:''' https://github.com/deepayanbardhan/expertiza&lt;br /&gt;
&lt;br /&gt;
'''VCL Deployment Link:''' http://152.46.19.122:3000&lt;br /&gt;
&lt;br /&gt;
'''Project Mentor:'''&lt;br /&gt;
Ramya Vijayakumar&lt;br /&gt;
&lt;br /&gt;
'''Project Members:'''&lt;br /&gt;
Benjamin Fisher,&lt;br /&gt;
Deepayan Bardhan,&lt;br /&gt;
Sanket Pai&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Expertiza.png&amp;diff=127083</id>
		<title>File:Expertiza.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Expertiza.png&amp;diff=127083"/>
		<updated>2019-11-05T03:29:27Z</updated>

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

		<summary type="html">&lt;p&gt;Dbardha: uploaded a new version of &amp;amp;quot;File:Expertiza.png&amp;amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=126568</id>
		<title>CSC/ECE 517 Fall 2019 - E1945. Refactor users controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=126568"/>
		<updated>2019-10-29T03:56:59Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CSC/ECE 517 Fall 2019 - E1945. Refactor Users_controller.rb&lt;br /&gt;
&lt;br /&gt;
===='''About Expertiza'''====&lt;br /&gt;
Expertiza is an open-source project based on Ruby on Rails framework. It allows the instructor to create new assignments and customize new or existing assignments. The instructor is allowed to create a list of topics for the students to which they can sign up for. For working on different projects and assignments the students can form teams in Expertiza. Peer review is another feature where students can review other students' submissions. This feature is available in Expertiza. Furthermore, Expertiza supports submission across various document types, including URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
===='''Abstract'''====&lt;br /&gt;
The UserController is a controller used for managing the creation, modification, and destruction of users in the Expertiza system. Instructor users must be added by creating a request for a new account. A key part of our team’s work was moving methods associated with managing a new account request from the UserController to a new controller named AccountRequestController. This removed coupling between account requests and user objects. Furthermore, it allowed an account request to be properly associated with its own controller, model, and view. Additionally, the team refactored and documented some methods in the UserController.&lt;br /&gt;
&lt;br /&gt;
===='''Problem Statement'''====&lt;br /&gt;
The following tasks were accomplished in the project by our team:&lt;br /&gt;
&lt;br /&gt;
*Moved the following methods from UserController to AccountRequestController&lt;br /&gt;
#Methods affected:&lt;br /&gt;
##created_approved_user&lt;br /&gt;
##list_pending_requested&lt;br /&gt;
##request_new&lt;br /&gt;
##created_requested_user_record&lt;br /&gt;
##roles_for_request_sign_up&lt;br /&gt;
##Requested_user_params&lt;br /&gt;
#All the above mentioned methods have been moved to a new file named account_request_controller.rb&lt;br /&gt;
#The RequestedUser model has been renamed to AccountRequest. And is now managed by the AccountRequestController&lt;br /&gt;
#The form that is currently displayed when the “Request Account” button is clicked from the Expertiza login page has been edited with the following changes&lt;br /&gt;
##Only instructor accounts can be created, so the dropdown has been removed&lt;br /&gt;
##All form labels are now bold-faced&lt;br /&gt;
##The “Self Introduction” label has been re-named to “Self-Introduction”&lt;br /&gt;
##The textbox for the self-introduction field now includes some hint (“Please include a link to your website”)&lt;br /&gt;
This is the current page after fixing the issues that gets loaded after the “request Account” button is clicked&lt;br /&gt;
&lt;br /&gt;
[[File:Expertiza.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comments were written or renamed for the following methods to get a clear understanding of the working of the methods and to reflect their actual behaviour.&lt;br /&gt;
get_role - The method was renamed to role, a comment was added explaining that it finds the role of a given user object&lt;br /&gt;
show_selection - The method was renamed to show_if_authorized, as this method should only display the users if the current user is authorized. Also changed it from a GET to a POST request since it more accurately reflects its working.&lt;br /&gt;
foreign - A comment was added for this method, explaining that it stores all roles possible and that it gets role id of the session’s user.&lt;br /&gt;
&lt;br /&gt;
[[File:Foreign.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Invoked the paginate_list method at the correct location(in the list method) so that it paginates the users list correctly. The number of users per-page has currently been set to 100, which was showing all users in a single page by default.  Also added a section at the bottom of the list.html.erb page for navigating between the paginated list of users.&lt;br /&gt;
&lt;br /&gt;
[[File:Paginate.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tests for UserController were updated to account for the fact that some methods now use the AccountRequestController. The tests for the methods that were moved to AccountRequestController were moved to a new spec in the file account_request_spec.rb. The team did this because it made sense to make a new spec for a new controller. Nevertheless, most test functionalities remained the same. The tests were also updated to not select the user role from the “User Role” dropdown. This was done because the dropdown was removed from the UI since only instructor accounts can be created.&lt;br /&gt;
&lt;br /&gt;
'''Github Repo:''' https://github.com/deepayanbardhan/expertiza&lt;br /&gt;
'''VCL Deployment Link:''' http://152.46.19.122:3000&lt;br /&gt;
&lt;br /&gt;
'''Project Mentor:'''&lt;br /&gt;
Ramya Vijayakumar&lt;br /&gt;
&lt;br /&gt;
'''Project Members:'''&lt;br /&gt;
Benjamin Fisher,&lt;br /&gt;
Deepayan Bardhan,&lt;br /&gt;
Sanket Pai&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=126562</id>
		<title>CSC/ECE 517 Fall 2019 - E1945. Refactor users controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=126562"/>
		<updated>2019-10-29T03:54:31Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CSC/ECE 517 Fall 2019 - E1945. Refactor Users_controller.rb&lt;br /&gt;
&lt;br /&gt;
===='''About Expertiza'''====&lt;br /&gt;
Expertiza is an open-source project based on Ruby on Rails framework. It allows the instructor to create new assignments and customize new or existing assignments. The instructor is allowed to create a list of topics for the students to which they can sign up for. For working on different projects and assignments the students can form teams in Expertiza. Peer review is another feature where students can review other students' submissions. This feature is available in Expertiza. Furthermore, Expertiza supports submission across various document types, including URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
===='''Abstract'''====&lt;br /&gt;
The UserController is a controller used for managing the creation, modification, and destruction of users in the Expertiza system. Instructor users must be added by creating a request for a new account. A key part of our team’s work was moving methods associated with managing a new account request from the UserController to a new controller named AccountRequestController. This removed coupling between account requests and user objects. Furthermore, it allowed an account request to be properly associated with its own controller, model, and view. Additionally, the team refactored and documented some methods in the UserController.&lt;br /&gt;
&lt;br /&gt;
===='''Problem Statement'''====&lt;br /&gt;
The following tasks were accomplished in the project by our team:&lt;br /&gt;
&lt;br /&gt;
*Moved the following methods from UserController to AccountRequestController&lt;br /&gt;
#Methods affected:&lt;br /&gt;
##created_approved_user&lt;br /&gt;
##list_pending_requested&lt;br /&gt;
##request_new&lt;br /&gt;
##created_requested_user_record&lt;br /&gt;
##roles_for_request_sign_up&lt;br /&gt;
##Requested_user_params&lt;br /&gt;
#All the above mentioned methods have been moved to a new file named account_request_controller.rb&lt;br /&gt;
#The RequestedUser model has been renamed to AccountRequest. And is now managed by the AccountRequestController&lt;br /&gt;
#The form that is currently displayed when the “Request Account” button is clicked from the Expertiza login page has been edited with the following changes&lt;br /&gt;
##Only instructor accounts can be created, so the dropdown has been removed&lt;br /&gt;
##All form labels are now bold-faced&lt;br /&gt;
##The “Self Introduction” label has been re-named to “Self-Introduction”&lt;br /&gt;
##The textbox for the self-introduction field now includes some hint (“Please include a link to your website”)&lt;br /&gt;
This is the current page after fixing the issues that gets loaded after the “request Account” button is clicked&lt;br /&gt;
&lt;br /&gt;
[[File:Expertiza.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comments were written or renamed for the following methods to get a clear understanding of the working of the methods and to reflect their actual behaviour.&lt;br /&gt;
get_role - The method was renamed to role, a comment was added explaining that it finds the role of a given user object&lt;br /&gt;
show_selection - The method was renamed to show_if_authorized, as this method should only display the users if the current user is authorized. Also changed it from a GET to a POST request since it more accurately reflects its working.&lt;br /&gt;
foreign - A comment was added for this method, explaining that it stores all roles possible and that it gets role id of the session’s user.&lt;br /&gt;
&lt;br /&gt;
[[File:Foreign.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Invoked the paginate_list method at the correct location(in the list method) so that it paginates the users list correctly. The number of users per-page has currently been set to 100, which was showing all users in a single page by default.  Also added a section at the bottom of the list.html.erb page for navigating between the paginated list of users.&lt;br /&gt;
&lt;br /&gt;
[[File:Paginate.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tests for UserController were updated to account for the fact that some methods now use the AccountRequestController. The tests for the methods that were moved to AccountRequestController were moved to a new spec in the file account_request_spec.rb. The team did this because it made sense to make a new spec for a new controller. Nevertheless, most test functionalities remained the same. The tests were also updated to not select the user role from the “User Role” dropdown. This was done because the dropdown was removed from the UI since only instructor accounts can be created.&lt;br /&gt;
&lt;br /&gt;
'''Github Repo:''' https://github.com/deepayanbardhan/expertiza&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Project Mentor:'''&lt;br /&gt;
Ramya Vijayakumar&lt;br /&gt;
&lt;br /&gt;
'''Project Members:'''&lt;br /&gt;
Benjamin Fisher&lt;br /&gt;
Deepayan Bardhan&lt;br /&gt;
Sanket Pai&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Paginate.png&amp;diff=126561</id>
		<title>File:Paginate.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Paginate.png&amp;diff=126561"/>
		<updated>2019-10-29T03:53:59Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=126555</id>
		<title>CSC/ECE 517 Fall 2019 - E1945. Refactor users controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=126555"/>
		<updated>2019-10-29T03:50:12Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CSC/ECE 517 Fall 2019 - E1945. Refactor Users_controller.rb&lt;br /&gt;
&lt;br /&gt;
===='''About Expertiza'''====&lt;br /&gt;
Expertiza is an open-source project based on Ruby on Rails framework. It allows the instructor to create new assignments and customize new or existing assignments. The instructor is allowed to create a list of topics for the students to which they can sign up for. For working on different projects and assignments the students can form teams in Expertiza. Peer review is another feature where students can review other students' submissions. This feature is available in Expertiza. Furthermore, Expertiza supports submission across various document types, including URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
===='''Abstract'''====&lt;br /&gt;
The UserController is a controller used for managing the creation, modification, and destruction of users in the Expertiza system. Instructor users must be added by creating a request for a new account. A key part of our team’s work was moving methods associated with managing a new account request from the UserController to a new controller named AccountRequestController. This removed coupling between account requests and user objects. Furthermore, it allowed an account request to be properly associated with its own controller, model, and view. Additionally, the team refactored and documented some methods in the UserController.&lt;br /&gt;
&lt;br /&gt;
===='''Problem Statement'''====&lt;br /&gt;
The following tasks were accomplished in the project by our team:&lt;br /&gt;
&lt;br /&gt;
*Moved the following methods from UserController to AccountRequestController&lt;br /&gt;
#Methods affected:&lt;br /&gt;
##created_approved_user&lt;br /&gt;
##list_pending_requested&lt;br /&gt;
##request_new&lt;br /&gt;
##created_requested_user_record&lt;br /&gt;
##roles_for_request_sign_up&lt;br /&gt;
##Requested_user_params&lt;br /&gt;
#All the above mentioned methods have been moved to a new file named account_request_controller.rb&lt;br /&gt;
#The RequestedUser model has been renamed to AccountRequest. And is now managed by the AccountRequestController&lt;br /&gt;
#The form that is currently displayed when the “Request Account” button is clicked from the Expertiza login page has been edited with the following changes&lt;br /&gt;
##Only instructor accounts can be created, so the dropdown has been removed&lt;br /&gt;
##All form labels are now bold-faced&lt;br /&gt;
##The “Self Introduction” label has been re-named to “Self-Introduction”&lt;br /&gt;
##The textbox for the self-introduction field now includes some hint (“Please include a link to your website”)&lt;br /&gt;
This is the current page after fixing the issues that gets loaded after the “request Account” button is clicked&lt;br /&gt;
&lt;br /&gt;
[[File:Expertiza.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comments were written or renamed for the following methods to get a clear understanding of the working of the methods and to reflect their actual behaviour.&lt;br /&gt;
get_role - The method was renamed to role, a comment was added explaining that it finds the role of a given user object&lt;br /&gt;
show_selection - The method was renamed to show_if_authorized, as this method should only display the users if the current user is authorized. Also changed it from a GET to a POST request since it more accurately reflects its working.&lt;br /&gt;
foreign - A comment was added for this method, explaining that it stores all roles possible and that it gets role id of the session’s user.&lt;br /&gt;
&lt;br /&gt;
[[File:Foreign.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Invoked the paginate_list method at the correct location(in the list method) so that it paginates the users list correctly. The number of users per-page has currently been set to 100, which was showing all users in a single page by default.  Also added a section at the bottom of the list.html.erb page for navigating between the paginated list of users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tests for UserController were updated to account for the fact that some methods now use the AccountRequestController. The tests for the methods that were moved to AccountRequestController were moved to a new spec in the file account_request_spec.rb. The team did this because it made sense to make a new spec for a new controller. Nevertheless, most test functionalities remained the same. The tests were also updated to not select the user role from the “User Role” dropdown. This was done because the dropdown was removed from the UI since only instructor accounts can be created.&lt;br /&gt;
&lt;br /&gt;
'''Github Repo:''' https://github.com/deepayanbardhan/expertiza&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Project Mentor:'''&lt;br /&gt;
Ramya Vijayakumar&lt;br /&gt;
&lt;br /&gt;
'''Project Members:'''&lt;br /&gt;
Benjamin Fisher&lt;br /&gt;
Deepayan Bardhan&lt;br /&gt;
Sanket Pai&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Foreign.png&amp;diff=126550</id>
		<title>File:Foreign.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Foreign.png&amp;diff=126550"/>
		<updated>2019-10-29T03:49:19Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=126543</id>
		<title>CSC/ECE 517 Fall 2019 - E1945. Refactor users controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=126543"/>
		<updated>2019-10-29T03:47:58Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CSC/ECE 517 Fall 2019 - E1945. Refactor Users_controller.rb&lt;br /&gt;
&lt;br /&gt;
===='''About Expertiza'''====&lt;br /&gt;
Expertiza is an open-source project based on Ruby on Rails framework. It allows the instructor to create new assignments and customize new or existing assignments. The instructor is allowed to create a list of topics for the students to which they can sign up for. For working on different projects and assignments the students can form teams in Expertiza. Peer review is another feature where students can review other students' submissions. This feature is available in Expertiza. Furthermore, Expertiza supports submission across various document types, including URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
===='''Abstract'''====&lt;br /&gt;
The UserController is a controller used for managing the creation, modification, and destruction of users in the Expertiza system. Instructor users must be added by creating a request for a new account. A key part of our team’s work was moving methods associated with managing a new account request from the UserController to a new controller named AccountRequestController. This removed coupling between account requests and user objects. Furthermore, it allowed an account request to be properly associated with its own controller, model, and view. Additionally, the team refactored and documented some methods in the UserController.&lt;br /&gt;
&lt;br /&gt;
===='''Problem Statement'''====&lt;br /&gt;
The following tasks were accomplished in the project by our team:&lt;br /&gt;
&lt;br /&gt;
*Moved the following methods from UserController to AccountRequestController&lt;br /&gt;
#Methods affected:&lt;br /&gt;
##created_approved_user&lt;br /&gt;
##list_pending_requested&lt;br /&gt;
##request_new&lt;br /&gt;
##created_requested_user_record&lt;br /&gt;
##roles_for_request_sign_up&lt;br /&gt;
##Requested_user_params&lt;br /&gt;
#All the above mentioned methods have been moved to a new file named account_request_controller.rb&lt;br /&gt;
#The RequestedUser model has been renamed to AccountRequest. And is now managed by the AccountRequestController&lt;br /&gt;
#The form that is currently displayed when the “Request Account” button is clicked from the Expertiza login page has been edited with the following changes&lt;br /&gt;
##Only instructor accounts can be created, so the dropdown has been removed&lt;br /&gt;
##All form labels are now bold-faced&lt;br /&gt;
##The “Self Introduction” label has been re-named to “Self-Introduction”&lt;br /&gt;
##The textbox for the self-introduction field now includes some hint (“Please include a link to your website”)&lt;br /&gt;
This is the current page after fixing the issues that gets loaded after the “request Account” button is clicked&lt;br /&gt;
&lt;br /&gt;
[[File:Expertiza.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comments were written or renamed for the following methods to get a clear understanding of the working of the methods and to reflect their actual behaviour.&lt;br /&gt;
get_role - The method was renamed to role, a comment was added explaining that it finds the role of a given user object&lt;br /&gt;
show_selection - The method was renamed to show_if_authorized, as this method should only display the users if the current user is authorized. Also changed it from a GET to a POST request since it more accurately reflects its working.&lt;br /&gt;
foreign - A comment was added for this method, explaining that it stores all roles possible and that it gets role id of the session’s user.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Invoked the paginate_list method at the correct location(in the list method) so that it paginates the users list correctly. The number of users per-page has currently been set to 100, which was showing all users in a single page by default.  Also added a section at the bottom of the list.html.erb page for navigating between the paginated list of users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tests for UserController were updated to account for the fact that some methods now use the AccountRequestController. The tests for the methods that were moved to AccountRequestController were moved to a new spec in the file account_request_spec.rb. The team did this because it made sense to make a new spec for a new controller. Nevertheless, most test functionalities remained the same. The tests were also updated to not select the user role from the “User Role” dropdown. This was done because the dropdown was removed from the UI since only instructor accounts can be created.&lt;br /&gt;
&lt;br /&gt;
'''Github Repo:''' https://github.com/deepayanbardhan/expertiza&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Project Mentor:'''&lt;br /&gt;
Ramya Vijayakumar&lt;br /&gt;
&lt;br /&gt;
'''Project Members:'''&lt;br /&gt;
Benjamin Fisher&lt;br /&gt;
Deepayan Bardhan&lt;br /&gt;
Sanket Pai&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=File:Expertiza.png&amp;diff=126527</id>
		<title>File:Expertiza.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=File:Expertiza.png&amp;diff=126527"/>
		<updated>2019-10-29T03:44:09Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=126516</id>
		<title>CSC/ECE 517 Fall 2019 - E1945. Refactor users controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=126516"/>
		<updated>2019-10-29T03:39:18Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CSC/ECE 517 Fall 2019 - E1945. Refactor Users_controller.rb&lt;br /&gt;
&lt;br /&gt;
==Contents:==&lt;br /&gt;
&lt;br /&gt;
#About Expertiza&lt;br /&gt;
#Users Controller&lt;br /&gt;
#Problem Statement&lt;br /&gt;
##Documentation of methods&lt;br /&gt;
##Refactoring Methods to Account Controller&lt;br /&gt;
##Making AccountRequest Model&lt;br /&gt;
#What We did&lt;br /&gt;
##Refactoring Users controller&lt;br /&gt;
##Refactoring Tests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===='''About Expertiza'''====&lt;br /&gt;
Expertiza is an open-source project based on Ruby on Rails framework. It allows the instructor to create new assignments and customize new or existing assignments. The instructor is allowed to create a list of topics for the students to which they can sign up for. For working on different projects and assignments the students can form teams in Expertiza. Peer review is another feature where students can review other students' submissions. This feature is available in Expertiza. Furthermore, Expertiza supports submission across various document types, including URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
===='''Abstract'''====&lt;br /&gt;
The UserController is a controller used for managing the creation, modification, and destruction of users in the Expertiza system. Instructor users must be added by creating a request for a new account. A key part of our team’s work was moving methods associated with managing a new account request from the UserController to a new controller named AccountRequestController. This removed coupling between account requests and user objects. Furthermore, it allowed an account request to be properly associated with its own controller, model, and view. Additionally, the team refactored and documented some methods in the UserController.&lt;br /&gt;
&lt;br /&gt;
===='''Problem Statement'''====&lt;br /&gt;
The following tasks were accomplished in the project by our team:&lt;br /&gt;
&lt;br /&gt;
*Moved the following methods from UserController to AccountRequestController&lt;br /&gt;
#Methods affected:&lt;br /&gt;
##created_approved_user&lt;br /&gt;
##list_pending_requested&lt;br /&gt;
##request_new&lt;br /&gt;
##created_requested_user_record&lt;br /&gt;
##roles_for_request_sign_up&lt;br /&gt;
##Requested_user_params&lt;br /&gt;
#All the above mentioned methods have been moved to a new file named account_request_controller.rb&lt;br /&gt;
#The RequestedUser model has been renamed to AccountRequest. And is now managed by the AccountRequestController&lt;br /&gt;
#The form that is currently displayed when the “Request Account” button is clicked from the Expertiza login page has been edited with the following changes&lt;br /&gt;
##Only instructor accounts can be created, so the dropdown has been removed&lt;br /&gt;
##All form labels are now bold-faced&lt;br /&gt;
##The “Self Introduction” label has been re-named to “Self-Introduction”&lt;br /&gt;
##The textbox for the self-introduction field now includes some hint (“Please include a link to your website”)&lt;br /&gt;
This is the current page after fixing the issues that gets loaded after the “request Account” button is clicked&lt;br /&gt;
&lt;br /&gt;
[https://ibb.co/8YpnP74]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comments were written or renamed for the following methods to get a clear understanding of the working of the methods and to reflect their actual behaviour.&lt;br /&gt;
get_role - The method was renamed to role, a comment was added explaining that it finds the role of a given user object&lt;br /&gt;
show_selection - The method was renamed to show_if_authorized, as this method should only display the users if the current user is authorized. Also changed it from a GET to a POST request since it more accurately reflects its working.&lt;br /&gt;
foreign - A comment was added for this method, explaining that it stores all roles possible and that it gets role id of the session’s user.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Invoked the paginate_list method at the correct location(in the list method) so that it paginates the users list correctly. The number of users per-page has currently been set to 100, which was showing all users in a single page by default.  Also added a section at the bottom of the list.html.erb page for navigating between the paginated list of users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tests for UserController were updated to account for the fact that some methods now use the AccountRequestController. The tests for the methods that were moved to AccountRequestController were moved to a new spec in the file account_request_spec.rb. The team did this because it made sense to make a new spec for a new controller. Nevertheless, most test functionalities remained the same. The tests were also updated to not select the user role from the “User Role” dropdown. This was done because the dropdown was removed from the UI since only instructor accounts can be created.&lt;br /&gt;
&lt;br /&gt;
'''Github Repo:''' https://github.com/deepayanbardhan/expertiza&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Project Mentor:'''&lt;br /&gt;
Ramya Vijayakumar&lt;br /&gt;
&lt;br /&gt;
'''Project Members:'''&lt;br /&gt;
Benjamin Fisher&lt;br /&gt;
Deepayan Bardhan&lt;br /&gt;
Sanket Pai&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=126501</id>
		<title>CSC/ECE 517 Fall 2019 - E1945. Refactor users controller.rb</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2019_-_E1945._Refactor_users_controller.rb&amp;diff=126501"/>
		<updated>2019-10-29T03:35:25Z</updated>

		<summary type="html">&lt;p&gt;Dbardha: /* Contents: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;CSC/ECE 517 Fall 2019 - E1945. Refactor Users_controller.rb&lt;br /&gt;
&lt;br /&gt;
==Contents:==&lt;br /&gt;
&lt;br /&gt;
#About Expertiza&lt;br /&gt;
#Users Controller&lt;br /&gt;
#Problem Statement&lt;br /&gt;
##Documentation of methods&lt;br /&gt;
##Refactoring Methods to Account Controller&lt;br /&gt;
##Making AccountRequest Model&lt;br /&gt;
#What We did&lt;br /&gt;
##Refactoring Users controller&lt;br /&gt;
##Refactoring Tests&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===='''About Expertiza'''====&lt;br /&gt;
Expertiza is an open-source project based on Ruby on Rails framework. It allows the instructor to create new assignments and customize new or existing assignments. The instructor is allowed to create a list of topics for the students to which they can sign up for. For working on different projects and assignments the students can form teams in Expertiza. Peer review is another feature where students can review other students' submissions. This feature is available in Expertiza. Furthermore, Expertiza supports submission across various document types, including URLs and wiki pages.&lt;br /&gt;
&lt;br /&gt;
===='''Abstract'''====&lt;br /&gt;
The UserController is a controller used for managing the creation, modification, and destruction of users in the Expertiza system. Instructor users must be added by creating a request for a new account. A key part of our team’s work was moving methods associated with managing a new account request from the UserController to a new controller named AccountRequestController. This removed coupling between account requests and user objects. Furthermore, it allowed an account request to be properly associated with its own controller, model, and view. Additionally, the team refactored and documented some methods in the UserController.&lt;br /&gt;
&lt;br /&gt;
===='''Problem Statement'''====&lt;br /&gt;
The following tasks were accomplished in the project by our team:&lt;br /&gt;
&lt;br /&gt;
*Moved the following methods from UserController to AccountRequestController&lt;br /&gt;
#Methods affected:&lt;br /&gt;
##created_approved_user&lt;br /&gt;
##list_pending_requested&lt;br /&gt;
##request_new&lt;br /&gt;
##created_requested_user_record&lt;br /&gt;
##roles_for_request_sign_up&lt;br /&gt;
##Requested_user_params&lt;br /&gt;
#All the above mentioned methods have been moved to a new file named account_request_controller.rb&lt;br /&gt;
#The RequestedUser model has been renamed to AccountRequest. And is now managed by the AccountRequestController&lt;br /&gt;
#The form that is currently displayed when the “Request Account” button is clicked from the Expertiza login page has been edited with the following changes&lt;br /&gt;
##Only instructor accounts can be created, so the dropdown has been removed&lt;br /&gt;
##All form labels are now bold-faced&lt;br /&gt;
##The “Self Introduction” label has been re-named to “Self-Introduction”&lt;br /&gt;
##The textbox for the self-introduction field now includes some hint (“Please include a link to your website”)&lt;br /&gt;
This is the current page after fixing the issues that gets loaded after the “request Account” button is clicked&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Comments were written or renamed for the following methods to get a clear understanding of the working of the methods and to reflect their actual behaviour.&lt;br /&gt;
get_role - The method was renamed to role, a comment was added explaining that it finds the role of a given user object&lt;br /&gt;
show_selection - The method was renamed to show_if_authorized, as this method should only display the users if the current user is authorized. Also changed it from a GET to a POST request since it more accurately reflects its working.&lt;br /&gt;
foreign - A comment was added for this method, explaining that it stores all roles possible and that it gets role id of the session’s user.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Invoked the paginate_list method at the correct location(in the list method) so that it paginates the users list correctly. The number of users per-page has currently been set to 100, which was showing all users in a single page by default.  Also added a section at the bottom of the list.html.erb page for navigating between the paginated list of users.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Tests for UserController were updated to account for the fact that some methods now use the AccountRequestController. The tests for the methods that were moved to AccountRequestController were moved to a new spec in the file account_request_spec.rb. The team did this because it made sense to make a new spec for a new controller. Nevertheless, most test functionalities remained the same. The tests were also updated to not select the user role from the “User Role” dropdown. This was done because the dropdown was removed from the UI since only instructor accounts can be created.&lt;br /&gt;
&lt;br /&gt;
'''Github Repo:''' https://github.com/deepayanbardhan/expertiza&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Project Mentor:'''&lt;br /&gt;
Ramya Vijayakumar&lt;br /&gt;
&lt;br /&gt;
'''Project Members:'''&lt;br /&gt;
Benjamin Fisher&lt;br /&gt;
Deepayan Bardhan&lt;br /&gt;
Sanket Pai&lt;/div&gt;</summary>
		<author><name>Dbardha</name></author>
	</entry>
</feed>