CSC/ECE 517 Fall 2015/oss E1565 AAJ: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
Line 81: Line 81:
| To include institution for newly created users.
| To include institution for newly created users.
|}
|}
===Views===
===Views/admin===
{| class="wikitable"
{| class="wikitable"
|-
|-
Line 104: Line 104:
| There is no show method in Admin Controller.
| There is no show method in Admin Controller.
|-
|-
| search_alltags_foruser
| list_super_administrators.html.erb
| |Merged search_alltags_allusers and search_alltags_foruser functions into search_alltags function
| Removed the Parent column from line 4
| Duplicate code present in both the functions. They differed only with the usage of parameters passed.
| Super admins don't have any parents.
|-
|-
| search_fortags_allusers
| list_super_administrators.html.erb
| | Merged search_fortags_allusers and search_fortags_foruser functions into search_fortags function
| Removed <pre><%= link_to 'New Super administrator', :action => 'new' %></pre>
| Duplicate code present in both the functions. They differed only with the usage of parameters passed.
| There can be only one superadmin.|}
|-
| search_fortags_foruser
| Merged search_fortags_allusers and search_fortags_foruser functions into search_fortags function
| Duplicate code present in both the functions. They differed only with the usage of parameters passed.
|-
| add_new_bookmark
| Changed the method name to "create"
| It is a much more meaningful and simpler name for a method that creates a new bookmark
|-
| edit_this_bookmark
| Changed the name to "edit"
| It is a much more appropriate name for a method that edits the bookmark it was called on
|-
| add_bmapping
| Moved to class 'Bmapping'
| This method helps in creating new bmapping. Hence it makes more sense if it belongs to bmapping class itself.
|-
| add_bmapping_signuptopic
| Moved to class 'Bmapping'
| This method helps in adding a signup topic to a newly created bmapping. Hence it makes more sense if it belongs to bmapping class itself.
|}

Revision as of 01:25, 1 November 2015

E1565: Refactoring Admin Controller and Course Controller

This page provides a description of the Expertiza based OSS project aimed at refactoring Admin Controller and Course Controller.

In order to run our code visit the link 152.46.16.123:3000 and use the following credentials - username: admin, password: admin.

Introduction to Expertiza

Expertiza is a web application where students can submit and peer-review learning objects (articles, code, web sites, etc). It is used in select courses at NC State and by professors at several other colleges and universities.


Problem Statement

Files involved

admin_controller.rb
views in app/views/admin folder
user_controller

What they do:

The admin controller defines the changes that can be done on other types of users by super-admin and provides the view accordingly.

What needs to be done:

  • The text field for adding a new admin/instructor has to be removed, leaving only the button.
  • When the button is clicked, it should be redirected to new user creation view making the role (super-admin, admin or instructor) selected as default.
  • Make sure that user creation works for super-admin/admin/instructor.
  • Associate the users with the institution table
  • Add a drop down to the view of creating users so that new account creator can select the institute and save it.

Changes Made

Admin Controller

Method Name Changes Made Reason For Change
show_super_admin Added this method to controller This method helps in displaying the specified super_admin
show_admin Added this method to Admin Controller This method helps in displaying the specified admin
remove_instructor Added this method to Admin Controller This method helps in destroying an instructor.
remove_administrator Added this method to Admin Controller This method helps in destroying an administrator.
remove_super_administrator Added this method to Admin Controller. This method helps in destroying a super_admin.

Institution Controller

Method Name Changes Made Reason For Change
create Changed line
 @institution = Institution.new(params[:institution])
to
@institution = Institution.new(:name => params[:institution][:name])
Was throwing error

User Controller

Method Name Changes Made Reason For Change
create Added the line
@user.institutions_id=params[:users][:institutions_id]
To include institution for newly created users
user_params Added the parameter institutions ID. To include institution for newly created users.

Views/admin

Method Name Changes Made Reason For Change
list_administrators.html.erb Removed the text field next to New Administrator button The button redirects to a new user page and passes a hidden field with role:administrator
list_administrators.html.erb Changed line 7 to
<%= link_to user.name, :action => 'show_admin',:id => user.id %>
There is no show method in Admin Controller
list_instructors.html.erb Removed the text field next to New Instructor button The button redirects to a new user page and passes a hidden field with role:Instructor
list_super_administrators.html.erb Changed line 7 to
<%= link_to user.name, :action => 'show_super_admin',:id => user.id %>
There is no show method in Admin Controller.
list_super_administrators.html.erb Removed the Parent column from line 4 Super admins don't have any parents.
list_super_administrators.html.erb Removed
<%= link_to 'New Super administrator', :action => 'new' %>
}