Commit ee2d7246f0bb9ae8e96237bcd2d8e3d4b1018f0e
1 parent
5f0ea83e
Exists in
master
and in
28 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 | ... | ... |