<?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=Vsshinde</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=Vsshinde"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Vsshinde"/>
	<updated>2026-05-16T01:28:43Z</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_2016/E1652_Fix_teammate_advertisements_and_requests_to_join_a_team&amp;diff=102872</id>
		<title>CSC/ECE 517 Fall 2016/E1652 Fix teammate advertisements and requests to join a team</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016/E1652_Fix_teammate_advertisements_and_requests_to_join_a_team&amp;diff=102872"/>
		<updated>2016-10-28T19:26:46Z</updated>

		<summary type="html">&lt;p&gt;Vsshinde: adding changes for issue 311 and 227&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==='''Introduction to Expertiza'''===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Expertiza is a peer review system where the students can submit their work and do reviews on fellow students’ work. Expertiza is an open source project and is based on “Ruby on Rails” framework. Expertiza facilitates easy creation of assignments and a list of topics for the same. It allows students to suggest a topic for an assignment as well. Students can form teams and invite other students to join their team for various assignments. Moreover, students can post team advertisements and describe the qualities they are looking for in their team members and other students can respond to the same. Expertiza overall gives a simple web interface for assignment management for both the students as well as instructors.&lt;br /&gt;
&lt;br /&gt;
==='''Background'''===&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
In Expertiza, there are teammate advertisement, invitation and join team request features which facilitate students to form teams. Teammate advertisement works only for assignments with topics. The topic holders can create advertisement and a trumpet icon will show on the signup sheet page. If one respond to the advertisement, a join team request will be created and the topic holder can see it on “Your team” page. After a student get a team and the team is not full, (s)he should also be able to send invitations to others.&lt;br /&gt;
&lt;br /&gt;
==='''Issues'''===&lt;br /&gt;
----&lt;br /&gt;
'''Issue 312 :''' When a student gets accepted by a team, all the other join team requests/pending invitations should be removed.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Current Scenario :'''When a student gets accepted by a team, all other join team requests/pending invitations are still shown on his page and their corresponding entries in the database.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Fix:'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Files Changed'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''app/controllers/invitation_controller.rb''&lt;br /&gt;
[[File:Invitation_controller.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
If a student accepts an invite and that add was successful to the database, we call ''remove_pending_invitations()'' passing the ''student’s user_id'' and the current ''assignment_id'' to be deleted from the list of pending invitations. &lt;br /&gt;
Similarly, we call ''remove_pending_join_team_requests()'' passing the ''participant_id'' as a parameter. ''Participant_id'' is fetched from the ''Participant'' table which gives data on which all students participate in a particular assignment. &lt;br /&gt;
''remove_pending_invitations()'' and ''remove_pending_join_team_requests()'' methods are defined in ''models/invitation.rb'' and ''models/join_team_request.rb'' as these methods are manipulating the database and it has to handled by the models while controller simply invokes these methods.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''app/models/invitation.rb''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Invitation_model.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''remove_pending_invitations()'' looks for all entries in the ''Invitation'' database that matches the ''student_id'' and an ''assignment_id'' and has a ''reply_status'' as ''waiting'' and destroys all of them.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''app/models/join_team_request.rb''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Join_team request_model.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''remove_pending_join_team_requests()'' looks for all entries in the ''JoinTeamRequest'' database where a matching ''participant_id'' and the ''status'' is ''pending'' and deletes all those entries.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Issue 311:''' When one respond to an advertisement, (s)he should only be able to respond once.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Current scenario : A student can respond to an advertisement any number of times.&lt;br /&gt;
Fix :&lt;br /&gt;
Files Changed :&lt;br /&gt;
''app/controllers/join_team_requests_controller.rb''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Join_team_request_controller.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
We check if the join request initiated by a student is a ''firstRequest?''. If it is a ''firstRequest?'' we allow the student to save the join request to the database else we flash a note saying the student has already responded to this particular advertisement once.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''app/models/join_team_request.rb''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Join_team_request_model1.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''firstRequest?'' method fetches all entries from ''JoinTeamRequest'' table with a matching ''team_id'' and ''participant_id''. If the number of entries returned by this query is less than 1 means the student is requesting a join team request for the first time.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Issue 227:''' If user A got a topic and user B got no topic, then A join B’s team, A’s topic be be dropped and A and B end up with a new team with no topic. This issue should be handle carefully because we cannot simply add B to A’s team (imagine, if A has teammate X and B has teammate Y...). One of a potential fix is that, for assignment w/ topics, one cannot not post an ad unless (s)he holds a topic, similarly, one cannot sent invitations unless (s)he holds a topic. &lt;br /&gt;
&lt;br /&gt;
Current Scenario : A student cannot create a team advertisement without a topic but can invite other students to join his/her team without a topic.&lt;br /&gt;
&lt;br /&gt;
Fix:&lt;br /&gt;
Files Changed&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''app/views/student_teams/view.html.erb''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Student_teams_view.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Here we give access to the invite people link if and only if the team is not full and the student has a topic.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Issue 5:'''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''app/controllers/student_teams_controller.rb''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Student_teams_controller.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
''app/models/response_map.rb''&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[File:Response_map.png]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;/div&gt;</summary>
		<author><name>Vsshinde</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=102847</id>
		<title>CSC/ECE 517 Fall 2016</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2016&amp;diff=102847"/>
		<updated>2016-10-28T19:19:12Z</updated>

		<summary type="html">&lt;p&gt;Vsshinde: adding link to project E1652&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[http://www.example.com link title]==Calibration Assignment Submissions==&lt;br /&gt;
*[[Calibration Assignment Submission (Firebrick JS)]]&lt;br /&gt;
*[[Calibration Assignment Submission (Active Job)]]&lt;br /&gt;
==Writing Assignments 2==&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1643. Refactor Suggestion controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1631. Refactoring Bidding Interface]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1674.Refactor leaderboard.rb and write unit tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1668.Test e-mailing functionality]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1658. Refractor lottery_controller.rb and write integration tests]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1660. Review requirements and thresholds]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1650. Sort instructor views alphabetically by default]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1644. Refactor and test Teams Controller]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1659. Refactor on_the_fly_calc.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1657. Introduce a Student View for instructors]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1653. Fix and improve rubric criteria]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1642. Refactor review_response_map.rb]]&lt;br /&gt;
*[[CSC/ECE 517 Fall 2016/E1666. Test team functionality]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1654. Improve_date-picker_and_deadlines]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1652 Fix teammate advertisements and requests to join a team ]]&lt;br /&gt;
*[[CSC/ECE_517_Fall_2016/E1662. UI issues/fixes]]&lt;/div&gt;</summary>
		<author><name>Vsshinde</name></author>
	</entry>
</feed>