@@ -30,15 +30,20 @@ class User < ActiveRecord::Base
30
30
has_many :taggings , -> { includes ( :tag ) } , dependent : :destroy
31
31
has_many :tags , -> { distinct } , through : :taggings
32
32
33
- validates :homesite , http_url : { protocols : [ "http" , "https" ] , message : "L’adresse du site Web personnel n’est pas valide" } ,
33
+ validates :homesite , uri : { protocols : [ "http" , "https" ] , message : "L’adresse du site Web personnel n’est pas valide" } ,
34
34
length : { maximum : 100 , message : "L’adresse du site Web personnel est trop longue" }
35
35
validates :name , length : { maximum : 40 , message : "Le nom affiché est trop long" }
36
36
validates :jabber_id , length : { maximum : 32 , message : "L’adresse XMPP est trop longue" }
37
- validates :mastodon_url , http_url : { protocols : [ "https" ] , message : "L’adresse du compte Mastodon n’est pas valide" } ,
37
+ validates :mastodon_url , uri : { protocols : [ "https" ] , message : "L’adresse du compte Mastodon n’est pas valide" } ,
38
38
length : { maximum : 255 , message : "L’adresse du compte Mastodon est trop longue" }
39
39
validates :signature , length : { maximum : 255 , message : "La signature est trop longue" }
40
40
validates :custom_avatar_url , length : { maximum : 255 , message : "L’adresse de l’avatar est trop longue" }
41
41
42
+ before_validation do |user |
43
+ user . homesite = UriValidator . before_validation ( user . homesite )
44
+ user . mastodon_url = UriValidator . before_validation ( user . mastodon_url )
45
+ end
46
+
42
47
def self . collective
43
48
find_by ( name : "Collectif" )
44
49
end
0 commit comments