Commit ee2d7246f0bb9ae8e96237bcd2d8e3d4b1018f0e
1 parent
5f0ea83e
Exists in
master
and in
8 other branches
Fix translation of custom AR validation messages
Showing
17 changed files
with
26 additions
and
20 deletions
Show diff stats
app/models/category.rb
1 | 1 | class Category < ActiveRecord::Base |
2 | 2 | |
3 | - validates_exclusion_of :slug, :in => [ 'index' ], :message => N_('%{fn} cannot be like that.') | |
3 | + validates_exclusion_of :slug, :in => [ 'index' ], :message => N_('%{fn} cannot be like that.').fix_i18n | |
4 | 4 | validates_presence_of :name, :environment_id |
5 | - validates_uniqueness_of :slug,:scope => [ :environment_id, :parent_id ], :message => N_('%{fn} is already being used by another category.') | |
5 | + validates_uniqueness_of :slug,:scope => [ :environment_id, :parent_id ], :message => N_('%{fn} is already being used by another category.').fix_i18n | |
6 | 6 | belongs_to :environment |
7 | 7 | |
8 | 8 | validates_inclusion_of :display_color, :in => [ 1, 2, 3, 4, nil ] |
9 | - validates_uniqueness_of :display_color, :scope => :environment_id, :if => (lambda { |cat| ! cat.display_color.nil? }), :message => N_('%{fn} was already assigned to another category.') | |
9 | + validates_uniqueness_of :display_color, :scope => :environment_id, :if => (lambda { |cat| ! cat.display_color.nil? }), :message => N_('%{fn} was already assigned to another category.').fix_i18n | |
10 | 10 | |
11 | 11 | # Finds all top level categories for a given environment. |
12 | 12 | named_scope :top_level_for, lambda { |environment| | ... | ... |
app/models/change_password.rb
... | ... | @@ -30,10 +30,10 @@ class ChangePassword < Task |
30 | 30 | unless data.login.blank? || data.email.blank? |
31 | 31 | user = User.find_by_login_and_environment_id(data.login, data.environment_id) |
32 | 32 | if user.nil? |
33 | - data.errors.add(:login, _('%{fn} is not a valid username.')) | |
33 | + data.errors.add(:login, _('%{fn} is not a valid username.').fix_i18n) | |
34 | 34 | else |
35 | 35 | if user.email != data.email |
36 | - data.errors.add(:email, _('%{fn} is invalid.')) | |
36 | + data.errors.add(:email) | |
37 | 37 | end |
38 | 38 | end |
39 | 39 | end | ... | ... |
app/models/comment.rb
... | ... | @@ -17,7 +17,7 @@ class Comment < ActiveRecord::Base |
17 | 17 | validates_presence_of :author_id, :if => (lambda { |rec| rec.name.blank? && rec.email.blank? }) |
18 | 18 | validates_each :name do |rec,attribute,value| |
19 | 19 | if rec.author_id && (!rec.name.blank? || !rec.email.blank?) |
20 | - rec.errors.add(:name, _('%{fn} can only be informed for unauthenticated authors')) | |
20 | + rec.errors.add(:name, _('%{fn} can only be informed for unauthenticated authors').fix_i18n) | |
21 | 21 | end |
22 | 22 | end |
23 | 23 | ... | ... |
app/models/community.rb
app/models/create_community.rb
... | ... | @@ -16,7 +16,7 @@ class CreateCommunity < Task |
16 | 16 | def validate |
17 | 17 | self.environment.required_community_fields.each do |field| |
18 | 18 | if self.send(field).blank? |
19 | - self.errors.add(field, _('%{fn} can\'t be blank')) | |
19 | + self.errors.add_on_blank(field) | |
20 | 20 | end |
21 | 21 | end |
22 | 22 | end | ... | ... |
app/models/create_enterprise.rb
... | ... | @@ -40,12 +40,12 @@ class CreateEnterprise < Task |
40 | 40 | |
41 | 41 | if self.region && self.target |
42 | 42 | unless self.region.validators.include?(self.target) || self.target_type == "Environment" |
43 | - self.errors.add(:target, '%{fn} is not a validator for the chosen region') | |
43 | + self.errors.add(:target, _('%{fn} is not a validator for the chosen region').fix_i18n) | |
44 | 44 | end |
45 | 45 | end |
46 | 46 | |
47 | 47 | if self.status != Task::Status::CANCELLED && self.identifier && Profile.exists?(:identifier => self.identifier) |
48 | - self.errors.add(:identifier, '%{fn} is already being as identifier by another enterprise, organization or person.') | |
48 | + self.errors.add(:identifier, _('%{fn} is already being as identifier by another enterprise, organization or person.').fix_i18n) | |
49 | 49 | end |
50 | 50 | end |
51 | 51 | ... | ... |
app/models/domain.rb
... | ... | @@ -10,14 +10,14 @@ class Domain < ActiveRecord::Base |
10 | 10 | |
11 | 11 | # <tt>name</tt> must be a sequence of word characters (a to z, plus 0 to 9, |
12 | 12 | # plus '_'). Letters must be lowercase |
13 | - validates_format_of :name, :with => /^([a-z0-9_-]+\.)+[a-z0-9_-]+$/, :message => N_('%{fn} must be composed only of lowercase latters (a to z), numbers (0 to 9), "_" and "-"') | |
13 | + validates_format_of :name, :with => /^([a-z0-9_-]+\.)+[a-z0-9_-]+$/, :message => N_('%{fn} must be composed only of lowercase latters (a to z), numbers (0 to 9), "_" and "-"').fix_i18n | |
14 | 14 | |
15 | 15 | # checks validations that could not be expressed using Rails' predefined |
16 | 16 | # validations. In particular: |
17 | 17 | # * <tt>name</tt> must not start with 'www.' |
18 | 18 | def validate |
19 | 19 | if self.name =~ /^www\./ |
20 | - self.errors.add(:name, _('%{fn} must not start with www.')) | |
20 | + self.errors.add(:name, _('%{fn} must not start with www.').fix_i18n) | |
21 | 21 | end |
22 | 22 | end |
23 | 23 | ... | ... |
app/models/enterprise.rb
app/models/event.rb
... | ... | @@ -22,7 +22,7 @@ class Event < Article |
22 | 22 | |
23 | 23 | validates_each :start_date do |event,field,value| |
24 | 24 | if event.end_date && event.start_date && event.start_date > event.end_date |
25 | - event.errors.add(:start_date, _('%{fn} cannot come before end date.')) | |
25 | + event.errors.add(:start_date, _('%{fn} cannot come before end date.').fix_i18n) | |
26 | 26 | end |
27 | 27 | end |
28 | 28 | ... | ... |
app/models/image.rb
... | ... | @@ -17,7 +17,7 @@ class Image < ActiveRecord::Base |
17 | 17 | :icon => '20x20!' }, |
18 | 18 | :max_size => 5.megabytes # remember to update validate message below |
19 | 19 | |
20 | - validates_attachment :size => N_("%{fn} of uploaded file was larger than the maximum size of 5.0 MB") | |
20 | + validates_attachment :size => N_("%{fn} of uploaded file was larger than the maximum size of 5.0 MB").fix_i18n | |
21 | 21 | |
22 | 22 | delay_attachment_fu_thumbnails |
23 | 23 | ... | ... |
app/models/person.rb
... | ... | @@ -197,7 +197,7 @@ class Person < Profile |
197 | 197 | |
198 | 198 | validates_each :email, :on => :update do |record,attr,value| |
199 | 199 | if User.find(:first, :conditions => ['email = ? and id != ? and environment_id = ?', value, record.user.id, record.environment.id]) |
200 | - record.errors.add(attr, _('%{fn} is already used by other user')) | |
200 | + record.errors.add(attr, _('%{fn} is already used by other user').fix_i18n) | |
201 | 201 | end |
202 | 202 | end |
203 | 203 | ... | ... |
app/models/uploaded_file.rb
... | ... | @@ -50,7 +50,7 @@ class UploadedFile < Article |
50 | 50 | :thumbnail_class => Thumbnail, |
51 | 51 | :max_size => 5.megabytes # remember to update validate message below |
52 | 52 | |
53 | - validates_attachment :size => N_("%{fn} of uploaded file was larger than the maximum size of 5.0 MB") | |
53 | + validates_attachment :size => N_("%{fn} of uploaded file was larger than the maximum size of 5.0 MB").fix_i18n | |
54 | 54 | |
55 | 55 | delay_attachment_fu_thumbnails |
56 | 56 | ... | ... |
app/models/user.rb
... | ... | @@ -100,7 +100,7 @@ class User < ActiveRecord::Base |
100 | 100 | before_save :encrypt_password |
101 | 101 | validates_format_of :email, :with => Noosfero::Constants::EMAIL_FORMAT, :if => (lambda {|user| !user.email.blank?}) |
102 | 102 | |
103 | - validates_inclusion_of :terms_accepted, :in => [ '1' ], :if => lambda { |u| ! u.terms_of_use.blank? }, :message => N_('%{fn} must be checked in order to signup.') | |
103 | + validates_inclusion_of :terms_accepted, :in => [ '1' ], :if => lambda { |u| ! u.terms_of_use.blank? }, :message => N_('%{fn} must be checked in order to signup.').fix_i18n | |
104 | 104 | |
105 | 105 | # Authenticates a user by their login name and unencrypted password. Returns the user or nil. |
106 | 106 | def self.authenticate(login, password, environment = nil) | ... | ... |
lib/noosfero/core_ext/string.rb
test/unit/comment_test.rb
test/unit/person_test.rb
... | ... | @@ -133,6 +133,7 @@ class PersonTest < ActiveSupport::TestCase |
133 | 133 | other.email = 'user@domain.com' |
134 | 134 | other.valid? |
135 | 135 | assert other.errors.invalid?(:email) |
136 | + assert_no_match /\{fn\}/, other.errors.on(:email) | |
136 | 137 | end |
137 | 138 | |
138 | 139 | should 'be able to use an e-mail already used in other environment' do | ... | ... |
vendor/plugins/validates_as_cnpj/lib/validates_as_cnpj.rb
... | ... | @@ -62,14 +62,14 @@ module ActiveRecord |
62 | 62 | module Validations |
63 | 63 | module ClassMethods |
64 | 64 | def validates_as_cnpj(*attr_names) |
65 | - configuration = { :message => "%{fn} is invalid" } | |
65 | + configuration = { } | |
66 | 66 | configuration.update(attr_names.pop) if attr_names.last.is_a?(Hash) |
67 | 67 | |
68 | 68 | validates_each(attr_names, configuration) do |record, attr_name, value| |
69 | 69 | next if value.blank? |
70 | 70 | |
71 | 71 | unless ValidaCNPJ::valida_cnpj(value) |
72 | - record.errors.add(attr_name, configuration[:message]) | |
72 | + record.errors.add(attr_name) | |
73 | 73 | end |
74 | 74 | end |
75 | 75 | end | ... | ... |