Skip to content

Commit

Permalink
Merge pull request #618 from Ayaya/issue_405
Browse files Browse the repository at this point in the history
Issue 405
  • Loading branch information
jerboaa committed Jan 28, 2012
2 parents 695464f + 12eb808 commit 81f6952
Show file tree
Hide file tree
Showing 16 changed files with 55 additions and 46 deletions.
10 changes: 5 additions & 5 deletions app/controllers/assignments_controller.rb
Expand Up @@ -308,7 +308,7 @@ def creategroup
raise I18n.t('create_group.fail.due_date_passed')
end
if !@assignment.student_form_groups ||
@assignment.instructor_form_groups
@assignment.invalid_override
raise I18n.t('create_group.fail.not_allow_to_form_groups')
end
if @student.has_accepted_grouping_for?(@assignment.id)
Expand Down Expand Up @@ -376,7 +376,7 @@ def invite_member
return unless request.post?
@assignment = Assignment.find(params[:id])
# if instructor formed group return
return if @assignment.instructor_form_groups
return if @assignment.invalid_override

@student = @current_user
@grouping = @student.accepted_grouping_for(@assignment.id)
Expand Down Expand Up @@ -497,15 +497,15 @@ def process_assignment_form(assignment, params)
if params[:is_group_assignment] == "true"
# Is the instructor forming groups?
if params[:assignment][:student_form_groups] == "0"
assignment.instructor_form_groups = true
assignment.invalid_override = true
else
assignment.student_form_groups = true
assignment.instructor_form_groups = false
assignment.invalid_override = false
assignment.group_name_autogenerated = true
end
else
assignment.student_form_groups = false;
assignment.instructor_form_groups = false;
assignment.invalid_override = false;
assignment.group_min = 1;
assignment.group_max = 1;
end
Expand Down
2 changes: 1 addition & 1 deletion app/models/assignment.rb
Expand Up @@ -206,7 +206,7 @@ def submission_by(user) #FIXME: needs schema updates

# Return true if this is a group assignment; false otherwise
def group_assignment?
instructor_form_groups || group_min != 1 || group_max > 1
invalid_override || group_min != 1 || group_max > 1
end

# Returns the group by the user for this assignment. If pending=true,
Expand Down
10 changes: 5 additions & 5 deletions app/views/assignments/student_interface.html.erb
Expand Up @@ -186,7 +186,7 @@
# passed.
if @assignment.past_collection_date? &&
@assignment.student_form_groups &&
!@assignment.instructor_form_groups &&
!@assignment.invalid_override &&
@assignment.group_max > 1
%>
<p class="information">
Expand Down Expand Up @@ -262,16 +262,16 @@
<li><%= I18n.t("student.section_groups_only") %></li>
<% end %>
<% if @assignment.student_form_groups &&
!@assignment.instructor_form_groups &&
!@assignment.invalid_override &&
@assignment.group_max > 1 %>
<li><%= I18n.t("student.students_can_form_groups") %></li>
<li>
<%=raw( I18n.t("student.form_group",
:group_min => h(@assignment.group_min),
:group_max => h(@assignment.group_max)) )%>
</li>
<% elsif @assignment.instructor_form_groups %>
<li><%= I18n.t("student.instructor_form_groups") %></li>
<% elsif @assignment.invalid_override %>
<li><%= I18n.t("student.invalid_override") %></li>
<% else%>
<li><%= I18n.t("student.student_work_alone") %></li>
<% end %>
Expand Down Expand Up @@ -363,7 +363,7 @@

if !@grouping.nil? &&
@grouping.inviter == @current_user &&
!@assignment.instructor_form_groups %>
!@assignment.invalid_override %>
<div id="invite_dialog">
<%= form_tag({:action => 'invite_member',
:id => @assignment.id},
Expand Down
2 changes: 1 addition & 1 deletion config/locales/en.yml
Expand Up @@ -600,7 +600,7 @@ en:
url_group_repository: "URL to your group's repository"
group_properties: " Group Properties "
students_can_form_groups: " Students can form groups. "
instructor_form_groups: "Instructor forms groups."
invalid_override: "Instructor forms groups."
student_work_alone: "Students work alone"
group_credits: "Your group has <strong>%{available_grace_credits}</strong> available grace credits"
invite: "Invite"
Expand Down
2 changes: 1 addition & 1 deletion config/locales/fr.yml
Expand Up @@ -589,7 +589,7 @@ fr:
url_group_repository: "L'adresse du répertoire de votre groupe"
group_properties: "Propriétés du groupe"
students_can_form_groups: "Les étudiants peuvent former des groupes."
instructor_form_groups: "Les correcteurs/administrateurs forment les groupes."
invalid_override: "Les correcteurs/administrateurs forment les groupes."
student_work_alone: "Les étudiants travaillent seuls"
group_credits: "Votre groupe a <strong>%{available_grace_credits}</strong> crédit(s) de grâce disponible(s)"
invite: "Inviter"
Expand Down
@@ -0,0 +1,9 @@
class RenameInstructorFormGroupsToInvalidOverride < ActiveRecord::Migration
def self.up
rename_column(:assignments, :instructor_form_groups, :invalid_override)
end

def self.down
rename_column(:assignments, :invalid_override, :instructor_form_groups)
end
end
4 changes: 2 additions & 2 deletions db/schema.rb
Expand Up @@ -10,7 +10,7 @@
#
# It's strongly recommended to check this file into your version control system.

ActiveRecord::Schema.define(:version => 20110313200240) do
ActiveRecord::Schema.define(:version => 20120121222559) do

create_table "annotation_categories", :force => true do |t|
t.text "annotation_category_name"
Expand Down Expand Up @@ -74,7 +74,7 @@
t.boolean "group_name_autogenerated"
t.boolean "group_name_displayed"
t.string "repository_folder", :null => false
t.boolean "instructor_form_groups"
t.boolean "invalid_override"
t.float "results_average"
t.string "marking_scheme_type", :default => "rubric"
t.boolean "allow_web_submits", :default => true
Expand Down
12 changes: 6 additions & 6 deletions lib/benchmarking/submission_files/assignments_controller.rb
Expand Up @@ -115,9 +115,9 @@ def edit

# Is the instructor forming groups?
if params[:is_group_assignment] == "true" && params[:assignment][:student_form_groups] == "0"
params[:assignment][:instructor_form_groups] = true
params[:assignment][:invalid_override] = true
else
params[:assignment][:instructor_form_groups] = false
params[:assignment][:invalid_override] = false
end

@assignment.attributes = params[:assignment]
Expand Down Expand Up @@ -147,9 +147,9 @@ def new
end
# Is the instructor forming groups?
if params[:is_group_assignment] == "true" && params[:assignment][:student_form_groups] == "0"
params[:assignment][:instructor_form_groups] = true
params[:assignment][:invalid_override] = true
else
params[:assignment][:instructor_form_groups] = false
params[:assignment][:invalid_override] = false
end

@assignment = Assignment.new(params[:assignment])
Expand Down Expand Up @@ -235,7 +235,7 @@ def creategroup
@student = @current_user

begin
if !@assignment.student_form_groups || @assignment.instructor_form_groups
if !@assignment.student_form_groups || @assignment.invalid_override
raise "Assignment does not allow students to form groups"
end
if @student.has_accepted_grouping_for?(@assignment.id)
Expand Down Expand Up @@ -289,7 +289,7 @@ def invite_member
return unless request.post?
@assignment = Assignment.find(params[:id])
# if instructor formed group return
return if @assignment.instructor_form_groups
return if @assignment.invalid_override

@student = @current_user
@grouping = @student.accepted_grouping_for(@assignment.id)
Expand Down
4 changes: 2 additions & 2 deletions lib/tasks/demo.rake
Expand Up @@ -32,7 +32,7 @@ namespace :markus do
a1.group_name_displayed = false
a1.repository_folder = "A1"
a1.submission_rule = rule
a1.instructor_form_groups = false
a1.invalid_override = false
a1.marking_scheme_type = Assignment::MARKING_SCHEME_TYPE[:rubric]
a1.save

Expand All @@ -49,7 +49,7 @@ namespace :markus do
a2.group_name_displayed = false
a2.repository_folder = "A2"
a2.submission_rule = rule
a2.instructor_form_groups = false
a2.invalid_override = false
a2.marking_scheme_type = Assignment::MARKING_SCHEME_TYPE[:rubric]
a2.save

Expand Down
4 changes: 2 additions & 2 deletions lib/tasks/populate.rake
Expand Up @@ -79,7 +79,7 @@ namespace :markus do
# students can form groups
a2.group_min = 3
a2.group_max = 5
a2.instructor_form_groups = false
a2.invalid_override = false
a2.marking_scheme_type = Assignment::MARKING_SCHEME_TYPE[:rubric]
a2.allow_web_submits = true
req_file1 = AssignmentFile.new
Expand All @@ -105,7 +105,7 @@ Neptune,ignored_repo,c7dallap,c7guarni,c7kimear\n"
:message => "Learn how to use functions, parameter passing and proper return codes.\nNote: You have been assigned to a group by the instructor.",
:group_min => 1, :group_max => 1, :student_form_groups => false,
:group_name_autogenerated => true, :group_name_displayed => true,
:repository_folder => "A3", :due_date => 3.week.from_now, :instructor_form_groups => true)
:repository_folder => "A3", :due_date => 3.week.from_now, :invalid_override => true)
req_file1 = AssignmentFile.new
req_file1.filename = "gcd.sh"
req_file1.assignment = a3
Expand Down
2 changes: 1 addition & 1 deletion lib/tasks/results.rake
Expand Up @@ -22,7 +22,7 @@ namespace :load do
a1.group_name_displayed = false
a1.repository_folder = a1.short_identifier
a1.submission_rule = rule
a1.instructor_form_groups = false
a1.invalid_override = false
a1.marking_scheme_type = Assignment::MARKING_SCHEME_TYPE[:rubric]
a1.display_grader_names_to_students = false
a1.build_assignment_stat
Expand Down
2 changes: 1 addition & 1 deletion lib/tasks/simulator.rake
Expand Up @@ -74,7 +74,7 @@ namespace :markus do
assignment.group_name_displayed = false
assignment.repository_folder = assignment_short_identifier
assignment.submission_rule = rule
assignment.instructor_form_groups = false
assignment.invalid_override = false
assignment.marking_scheme_type = Assignment::MARKING_SCHEME_TYPE[:rubric]
assignment.display_grader_names_to_students = false
assignment.save
Expand Down
2 changes: 1 addition & 1 deletion test/blueprints/blueprints.rb
Expand Up @@ -62,7 +62,7 @@
group_min {2}
group_max {4}
student_form_groups {true}
instructor_form_groups {false}
invalid_override {false}
group_name_autogenerated {true}
repository_folder {"repo/#{short_identifier}"}
marking_scheme_type {'rubric'}
Expand Down
32 changes: 16 additions & 16 deletions test/fixtures/assignments.yml
Expand Up @@ -27,7 +27,7 @@ assignment_1:
group_min: 2
group_max: 4
student_form_groups: true
instructor_form_groups: false
invalid_override: false
group_name_autogenerated: true
group_name_displayed: true
created_at: <%= Time.now.to_s(:db)%>
Expand All @@ -46,7 +46,7 @@ assignment_build_on_top_of_1:
group_min: 1
group_max: 1
student_form_groups: false
instructor_form_groups: true
invalid_override: true
group_name_autogenerated: true
group_name_displayed: false
created_at: <%= Time.now.to_s(:db)%>
Expand All @@ -65,7 +65,7 @@ assignment_2:
group_min: 1
group_max: 1
student_form_groups: false
instructor_form_groups: false
invalid_override: false
group_name_autogenerated: true
group_name_displayed: true
created_at: <%= Time.now.to_s(:db)%>
Expand All @@ -84,7 +84,7 @@ assignment_3:
group_min: 2
group_max: 4
student_form_groups: false
instructor_form_groups: true
invalid_override: true
group_name_autogenerated: false
group_name_displayed: false
created_at: <%= Time.now.to_s(:db)%>
Expand All @@ -103,7 +103,7 @@ assignment_4:
group_min: 2
group_max: 4
student_form_groups: false
instructor_form_groups: true
invalid_override: true
group_name_autogenerated: false
group_name_displayed: false
created_at: <%= 42.days.ago.to_s(:db)%>
Expand All @@ -122,7 +122,7 @@ assignment_5:
group_min: 2
group_max: 4
student_form_groups: false
instructor_form_groups: true
invalid_override: true
group_name_autogenerated: false
group_name_displayed: false
created_at: <%= 42.days.ago.to_s(:db)%>
Expand All @@ -141,7 +141,7 @@ assignment_6:
group_min: 1
group_max: 1
student_form_groups: false
instructor_form_groups: true
invalid_override: true
group_name_autogenerated: true
group_name_displayed: false
created_at: <%= 42.days.ago.to_s(:db)%>
Expand All @@ -160,7 +160,7 @@ flexible_assignment:
group_min: 2
group_max: 4
student_form_groups: false
instructor_form_groups: true
invalid_override: true
group_name_autogenerated: false
group_name_displayed: false
created_at: <%= 42.days.ago.to_s(:db)%>
Expand All @@ -179,7 +179,7 @@ flexible_assignment_without_criterion:
group_min: 2
group_max: 4
student_form_groups: false
instructor_form_groups: true
invalid_override: true
group_name_autogenerated: false
group_name_displayed: false
created_at: <%= 42.days.ago.to_s(:db)%>
Expand All @@ -198,7 +198,7 @@ flexible_assignment_2:
group_min: 2
group_max: 4
student_form_groups: false
instructor_form_groups: true
invalid_override: true
group_name_autogenerated: false
group_name_displayed: false
created_at: <%= 42.days.ago.to_s(:db)%>
Expand All @@ -217,7 +217,7 @@ assignment_test_result1:
group_min: 2
group_max: 3
student_form_groups: true
instructor_form_groups: false
invalid_override: false
group_name_autogenerated: false
group_name_displayed: false
created_at: <%= 10.days.ago.to_s(:db)%>
Expand All @@ -236,7 +236,7 @@ assignment_with_web_submit:
group_min: 1
group_max: 1
student_form_groups: false
instructor_form_groups: true
invalid_override: true
group_name_autogenerated: true
group_name_displayed: false
created_at: <%= Time.now.to_s(:db)%>
Expand All @@ -255,7 +255,7 @@ assignment_without_web_submit:
group_min: 1
group_max: 1
student_form_groups: false
instructor_form_groups: true
invalid_override: true
group_name_autogenerated: true
group_name_displayed: false
created_at: <%= Time.now.to_s(:db)%>
Expand All @@ -274,7 +274,7 @@ assignment_with_display_grader_names_to_students:
group_min: 1
group_max: 1
student_form_groups: false
instructor_form_groups: true
invalid_override: true
group_name_autogenerated: true
group_name_displayed: false
created_at: <%= Time.now.to_s(:db)%>
Expand All @@ -293,7 +293,7 @@ assignment_without_display_grader_names_to_students:
group_min: 1
group_max: 1
student_form_groups: false
instructor_form_groups: true
invalid_override: true
group_name_autogenerated: true
group_name_displayed: false
created_at: <%= Time.now.to_s(:db)%>
Expand All @@ -313,7 +313,7 @@ assignment_with_deep_repository_folder:
group_min: 1
group_max: 1
student_form_groups: false
instructor_form_groups: true
invalid_override: true
group_name_autogenerated: true
group_name_displayed: false
created_at: <%= Time.now.to_s(:db)%>
Expand Down
2 changes: 1 addition & 1 deletion test/functional/groups_controller_csv_upload_test.rb
Expand Up @@ -144,7 +144,7 @@ class GroupsControllerCsvUploadTest < AuthenticatedControllerTest
setup do
# We do *not* want to be admin
MarkusConfigurator.stubs(:markus_config_repository_admin?).returns(false)
@assignment = Assignment.make(:instructor_form_groups => true,
@assignment = Assignment.make(:invalid_override => true,
:group_min => 1, :group_max => 3,
:student_form_groups => false)
@res = post_as @admin, :csv_upload, { :assignment_id => @assignment.id, :group => { :grouplist=> @non_admin_repos_csv_file } }
Expand Down
2 changes: 1 addition & 1 deletion test/unit/assignment_test.rb
Expand Up @@ -851,7 +851,7 @@ def teardown
@assignment = Assignment.make({:group_min => 1,
:group_max => 1,
:student_form_groups => false,
:instructor_form_groups => true,
:invalid_override => true,
:due_date => 2.days.ago,
:created_at => 42.days.ago })
end
Expand Down

0 comments on commit 81f6952

Please sign in to comment.