Commit e1995033 authored by Kaspar Vollenweider's avatar Kaspar Vollenweider

journal model validates not to have volunteer user as author

parent 99e93c2e
Pipeline #39318 passed with stage
in 35 minutes and 4 seconds
class Journal < ApplicationRecord
include ImportRelation
belongs_to :user, -> { with_deleted }, inverse_of: 'journals'
belongs_to :assignment, optional: true
belongs_to :journalable, polymorphic: true, required: false
CATEGORIES = [
:telephone,
:conversation,
......@@ -14,6 +10,13 @@ class Journal < ApplicationRecord
:group_offer
].freeze
belongs_to :user, -> { with_deleted }, inverse_of: 'journals'
belongs_to :assignment, optional: true
belongs_to :journalable, polymorphic: true, required: false
validates :category, presence: true
validate :user_role_validation
def self.categories_filters
CATEGORIES.map do |category|
{
......@@ -24,5 +27,9 @@ class Journal < ApplicationRecord
end
end
validates :category, presence: true
private
def user_role_validation
errors.add(:user, :no_volunteer) if user.volunteer?
end
end
......@@ -547,6 +547,17 @@ de:
working_percent: Stellenprozent
errors:
models:
event_volunteer:
attributes:
volunteer:
required: muss ausgewählt werden.
group_offer:
department:
blank: Freiwilligenverantwortliche können nur ihrem Standort zugeteilte Gruppenangebote erfassen
journal:
attributes:
user:
no_volunteer: Freiwillige können keine Journale verfassen.
profile:
attributes:
avatar:
......@@ -557,6 +568,12 @@ de:
blank: darf nicht leer sein
last_name:
blank: darf nicht leer sein
semester_process_volunteer_mission:
attributes:
assignment: &id-mission-relation-insuficient
insuficient_relation: Es wird mindestens ein Assignment oder GroupAssignment benötigt
too_many_relations: Es darf nur ein Assignment oder ein GroupAssignment verbunden werden
group_assignment: *id-mission-relation-insuficient
user:
attributes:
email:
......@@ -576,19 +593,6 @@ de:
spoofed_media_type: Die Inhalte entsprechen nicht ihrer Deklaration
avatar_content_type:
invalid: ist ungültig
group_offer:
department:
blank: Freiwilligenverantwortliche können nur ihrem Standort zugeteilte Gruppenangebote erfassen
event_volunteer:
attributes:
volunteer:
required: muss ausgewählt werden.
semester_process_volunteer_mission:
attributes:
assignment: &id-mission-relation-insuficient
insuficient_relation: Es wird mindestens ein Assignment oder GroupAssignment benötigt
too_many_relations: Es darf nur ein Assignment oder ein GroupAssignment verbunden werden
group_assignment: *id-mission-relation-insuficient
models:
assignment: Begleitung
feedback: Halbjahres-Rapport
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment