Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions app/controllers/assignments_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -213,7 +213,14 @@ def varying_rubrics_by_round?
private
# Only allow a list of trusted parameters through.
def assignment_params
params.require(:assignment).permit(:title, :description)
# Handle both wrapped and unwrapped params
permitted_params = if params[:assignment].present?
params.require(:assignment)
else
params
end

permitted_params.permit!
end

# Helper method to determine staggered_and_no_topic for the assignment
Expand All @@ -226,4 +233,4 @@ def get_staggered_and_no_topic(assignment)

assignment.staggered_and_no_topic?(topic_id)
end
end
end
59 changes: 59 additions & 0 deletions db/migrate/20251202090000_add_frontend_fields_to_assignments.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
class AddFrontendFieldsToAssignments < ActiveRecord::Migration[8.0]
def change
change_table :assignments, bulk: true do |t|
# Base / flags
t.boolean :show_template_review, default: false, null: false

# Team-related
t.boolean :show_teammate_review, default: false, null: false
t.boolean :is_pair_programming, default: false, null: false
t.boolean :has_mentors, default: false, null: false
t.boolean :auto_assign_mentors, default: false, null: false

# Review-related
t.integer :maximum_number_of_reviews_per_submission
t.string :review_strategy
t.boolean :review_rubric_varies_by_round, default: false, null: false
t.boolean :review_rubric_varies_by_topic, default: false, null: false
t.boolean :review_rubric_varies_by_role, default: false, null: false
t.boolean :has_max_review_limit, default: false, null: false
t.integer :set_allowed_number_of_reviews_per_reviewer
t.integer :set_required_number_of_reviews_per_reviewer
t.boolean :is_review_anonymous, default: false, null: false
t.boolean :is_review_done_by_teams, default: false, null: false
t.boolean :allow_self_reviews, default: false, null: false
t.boolean :reviews_visible_to_other_reviewers, default: false, null: false
t.integer :number_of_review_rounds
t.boolean :has_quizzes, default: false, null: false
t.boolean :calibration_for_training, default: false, null: false

# Deadline flags
t.boolean :use_signup_deadline, default: false, null: false
t.boolean :use_drop_topic_deadline, default: false, null: false
t.boolean :use_team_formation_deadline, default: false, null: false
t.boolean :staggered_deadline_assignment, default: false, null: false

# Arrays / JSON fields
t.json :weights
t.json :notification_limits
t.json :use_date_updater
t.json :submission_allowed
t.json :review_allowed
t.json :teammate_allowed
t.json :metareview_allowed
t.json :reminder

# Tag prompts / availability and topic-related flags
t.boolean :allow_tag_prompts, default: false, null: false
t.boolean :available_to_students, default: false, null: false
t.boolean :allow_topic_suggestion_from_students, default: false, null: false
t.boolean :enable_bidding_for_topics, default: false, null: false
t.boolean :enable_bidding_for_reviews, default: false, null: false
t.boolean :enable_authors_to_review_other_topics, default: false, null: false
t.boolean :allow_reviewer_to_choose_topic_to_review, default: false, null: false
t.boolean :allow_participants_to_create_bookmarks, default: false, null: false
end
end
end


25 changes: 25 additions & 0 deletions db/migrate/20251202100000_add_remaining_fields_to_assignments.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
class AddRemainingFieldsToAssignments < ActiveRecord::Migration[8.0]
def change
change_table :assignments, bulk: true do |t|
# Team/mentors
t.boolean :auto_assign_mentors, default: false, null: false

# Review/quizzes
t.boolean :has_quizzes, default: false, null: false
t.boolean :calibration_for_training, default: false, null: false

# Deadline flag
t.boolean :staggered_deadline_assignment, default: false, null: false

# Tag/visibility/topic flags
t.boolean :available_to_students, default: false, null: false
t.boolean :allow_topic_suggestion_from_students, default: false, null: false
t.boolean :enable_bidding_for_topics, default: false, null: false
t.boolean :enable_bidding_for_reviews, default: false, null: false
t.boolean :enable_authors_to_review_other_topics, default: false, null: false
t.boolean :allow_reviewer_to_choose_topic_to_review, default: false, null: false
t.boolean :allow_participants_to_create_bookmarks, default: false, null: false
end
end
end

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
class AddApplyLatePolicyToAssignments < ActiveRecord::Migration[8.0]
def change
add_column :assignments, :apply_late_policy, :boolean, default: false, null: false
end
end


43 changes: 42 additions & 1 deletion db/schema.rb

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading