Limit programming groups to two people

* adapt text on programming_groups/new site
* in German change from 'Sie' to 'du'
This commit is contained in:
kiragrammel
2023-09-04 13:31:41 +02:00
committed by Sebastian Serth
parent 0e4a239960
commit 97764bd02e
6 changed files with 28 additions and 20 deletions

View File

@ -11,7 +11,8 @@ class ProgrammingGroup < ApplicationRecord
has_many :runners, as: :contributor, dependent: :destroy
belongs_to :exercise
validate :group_size
validate :min_group_size
validate :max_group_size
validate :no_erroneous_users
accepts_nested_attributes_for :programming_group_memberships
@ -71,12 +72,18 @@ class ProgrammingGroup < ApplicationRecord
private
def group_size
def min_group_size
if users.size < 2
errors.add(:base, :size_too_small)
end
end
def max_group_size
if users.size > 2
errors.add(:base, :size_too_large)
end
end
def no_erroneous_users
@erroneous_users.each do |partner_id|
errors.add(:base, :invalid_partner_id, partner_id:)

View File

@ -1,7 +1,7 @@
= form_for(@programming_group, url: exercise_programming_groups_path) do |f|
= render('shared/form_errors', object: @programming_group)
.mb-3
= f.label(:programming_partner_ids, class: 'form-label')
= f.label(:programming_partner_id, class: 'form-label')
= f.text_field(:programming_partner_ids, class: 'form-control', required: true, value: (@programming_group.programming_partner_ids - [current_user.id_with_type]).join(', '))
.help-block.form-text = t('.hints.programming_partner_ids')
/.help-block.form-text = t('.hints.programming_partner_ids')
.actions.mb-0 = render('shared/submit_button', f: f, object: @programming_group)

View File

@ -1,4 +1,4 @@
h1 = t('shared.new_model', model: ProgrammingGroup.model_name.human)
h1 = t('programming_groups.new.create_programming_pair')
.row
.col-md-6
p