E1844 Issues related to names

From Expertiza_Wiki
Revision as of 23:41, 2 November 2018 by Ntripat (talk | contribs)
Jump to navigation Jump to search

Introduction

Problem Statement

In Expertiza, teams are created for every homework. Somewhere in the bidding code, or the code that assigns topics based on bids, team names are generated. In this case, team names are not appended to the name of the assignment, like they are when teams are created elsewhere in the code. The team names should be of the form "Team_random_number". Also currently, the usernames can have spaces in them but then you cannot impersonate that user. The expertiza should prohibit spaces in usernames.


Issues to be fixed

Issues as described by the problem statement:

Issue #842: Team names created by bidding are incorrect Somewhere in the bidding code, or the code that assigns topics based on bids, team names are generated. In this case, team names are not appended to the name of the assignment, like they are when teams are created elsewhere in the code. Team names generated everywhere must be standardized.

Issue #982: Usernames can have spaces in them. And currently, if you create a user with a space in the username, you can't impersonate that user. Expertiza should prohibit spaces in usernames. Implementation should probably just include a format check in the user model, and tests to validate a username.


Modified Files

Issue #842

1) app/controllers/lottery_controller.rb

2) app/controllers/suggestion_controller.rb

3) app/models/team.rb

4) spec/models/team_spec.rb

Issue #982

1) app/models/user.rb

2) spec/models/user_spec.rb


Approach used to resolve the issues

Issue #842

Teams are generated within Expertiza in various scenarios. Teams are generated for every assignment, and team names are generated in various formats at several places in the bidding code. Also, automatic generation of teams for assignment follows a different team name format.

Issue #982

Expertiza allows spaces in username. But, if a user has username with spaces then that user cannot be impersonated by an instructor. Thus, the task is to prohibit users from having spaces in usernames.

Pseudocode representing the logic we have used to modify app_models_user.rb

If username has spaces
 disallow spaces using regex  /\s/

Issue #842

1)Login as Instructor, create an OSS assignment for bidding with all the necessary details like maximum no of users per team, add topics for the assignment, add participants(students) in the assignment.

2)Login as a Student(say A), say student A, whom you have enrolled in the assignment. You should be able to see the assignment now in the Assignment section.

3)Click on the assignment and then click on 'Your team'.

4)Invite a student(say B) to be your teammate.

5)Login as student B and accept A's request to join his/her team.

6)Now, the team name would appear on the top section of the webpage. The team name would be of format : Team_RandomNumber ( say Team_21 ).

Screenshots from conducted Test