Commit c668a3249b8ac651705ebd70dbdb89809e1d65da
1 parent
8c6a28dd
Exists in
theme-brasil-digital-from-staging
and in
9 other branches
Fix user creation pt-br messages
Showing
7 changed files
with
39 additions
and
106 deletions
Show diff stats
app/models/user.rb
| ... | ... | @@ -104,18 +104,18 @@ class User < ActiveRecord::Base |
| 104 | 104 | |
| 105 | 105 | validates_presence_of :login |
| 106 | 106 | validates_presence_of :email |
| 107 | - validates_format_of :login, :message => _('incorrect login format'), :with => Profile::IDENTIFIER_FORMAT, :if => (lambda {|user| !user.login.blank?}) | |
| 107 | + validates_format_of :login, :message => :login_format, :with => Profile::IDENTIFIER_FORMAT, :if => (lambda {|user| !user.login.blank?}) | |
| 108 | 108 | validates_presence_of :password, :if => :password_required? |
| 109 | 109 | validates_presence_of :password_confirmation, :if => :password_required? |
| 110 | - validates_length_of :password, :message => _('length must be within 4 to 40 characters'), :within => 4..40, :if => :password_required? | |
| 110 | + validates_length_of :password, :within => 4..40, :if => :password_required? | |
| 111 | 111 | validates_confirmation_of :password, :if => :password_required? |
| 112 | - validates_length_of :login, :message => _('length must be within 2 to 40 characters'), :within => 2..40, :if => (lambda {|user| !user.login.blank?}) | |
| 113 | - validates_length_of :email, :message => _('length must be within 3 to 100 characters'),:within => 3..100, :if => (lambda {|user| !user.email.blank?}) | |
| 112 | + validates_length_of :login, :within => 2..40, :if => (lambda {|user| !user.login.blank?}) | |
| 113 | + validates_length_of :email, :within => 3..100, :if => (lambda {|user| !user.email.blank?}) | |
| 114 | 114 | validates_uniqueness_of :login, :case_sensitive => false, :scope => :environment_id |
| 115 | 115 | validates_uniqueness_of :email, :case_sensitive => false, :scope => :environment_id |
| 116 | 116 | before_save :encrypt_password |
| 117 | 117 | before_save :normalize_email, if: proc{ |u| u.email.present? } |
| 118 | - validates_format_of :email, :message => _('incorrect email format'), :with => Noosfero::Constants::EMAIL_FORMAT, :if => (lambda {|user| !user.email.blank?}) | |
| 118 | + validates_format_of :email, :with => Noosfero::Constants::EMAIL_FORMAT, :if => (lambda {|user| !user.email.blank?}) | |
| 119 | 119 | |
| 120 | 120 | 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 |
| 121 | 121 | ... | ... |
config/locales/en-US.yml
| ... | ... | @@ -221,6 +221,9 @@ |
| 221 | 221 | <<: *errors_template |
| 222 | 222 | full_messages: |
| 223 | 223 | format: "%{attribute} %{message}" |
| 224 | + models: | |
| 225 | + user: | |
| 226 | + login_format: "with invalid format. It must contain only lowercase letters, digits, '_' and '-', and must begin with a letter or a digit." | |
| 224 | 227 | |
| 225 | 228 | en: |
| 226 | 229 | <<: *en-US | ... | ... |
config/locales/pt-BR.yml
| ... | ... | @@ -229,9 +229,11 @@ |
| 229 | 229 | <<: *errors_messages |
| 230 | 230 | template: |
| 231 | 231 | <<: *errors_template |
| 232 | - | |
| 233 | 232 | full_messages: |
| 234 | 233 | format: "%{attribute} %{message}" |
| 234 | + models: | |
| 235 | + user: | |
| 236 | + login_format: "com formato inválido. Só pode conter letras minúsculas não acentudadas, dígitos, '_' e '-', e deve iniciar com uma letra ou um dígito." | |
| 235 | 237 | |
| 236 | 238 | pt: |
| 237 | 239 | <<: *pt-BR | ... | ... |
config/locales/pt-PT.yml
db/schema.rb
| ... | ... | @@ -11,7 +11,7 @@ |
| 11 | 11 | # |
| 12 | 12 | # It's strongly recommended to check this file into your version control system. |
| 13 | 13 | |
| 14 | -ActiveRecord::Schema.define(:version => 20150712194411) do | |
| 14 | +ActiveRecord::Schema.define(:version => 20150722042714) do | |
| 15 | 15 | |
| 16 | 16 | create_table "abuse_reports", :force => true do |t| |
| 17 | 17 | t.integer "reporter_id" |
| ... | ... | @@ -163,8 +163,6 @@ ActiveRecord::Schema.define(:version => 20150712194411) do |
| 163 | 163 | t.integer "author_id" |
| 164 | 164 | t.integer "created_by_id" |
| 165 | 165 | t.boolean "show_to_followers", :default => true |
| 166 | - t.integer "sash_id" | |
| 167 | - t.integer "level", :default => 0 | |
| 168 | 166 | end |
| 169 | 167 | |
| 170 | 168 | add_index "articles", ["comments_count"], :name => "index_articles_on_comments_count" |
| ... | ... | @@ -191,17 +189,6 @@ ActiveRecord::Schema.define(:version => 20150712194411) do |
| 191 | 189 | add_index "articles_categories", ["article_id"], :name => "index_articles_categories_on_article_id" |
| 192 | 190 | add_index "articles_categories", ["category_id"], :name => "index_articles_categories_on_category_id" |
| 193 | 191 | |
| 194 | - create_table "badges_sashes", :force => true do |t| | |
| 195 | - t.integer "badge_id" | |
| 196 | - t.integer "sash_id" | |
| 197 | - t.boolean "notified_user", :default => false | |
| 198 | - t.datetime "created_at" | |
| 199 | - end | |
| 200 | - | |
| 201 | - add_index "badges_sashes", ["badge_id", "sash_id"], :name => "index_badges_sashes_on_badge_id_and_sash_id" | |
| 202 | - add_index "badges_sashes", ["badge_id"], :name => "index_badges_sashes_on_badge_id" | |
| 203 | - add_index "badges_sashes", ["sash_id"], :name => "index_badges_sashes_on_sash_id" | |
| 204 | - | |
| 205 | 192 | create_table "blocks", :force => true do |t| |
| 206 | 193 | t.string "title" |
| 207 | 194 | t.integer "box_id" |
| ... | ... | @@ -297,10 +284,8 @@ ActiveRecord::Schema.define(:version => 20150712194411) do |
| 297 | 284 | t.string "referrer" |
| 298 | 285 | t.text "settings" |
| 299 | 286 | t.integer "paragraph_id" |
| 300 | - t.string "paragraph_uuid" | |
| 301 | 287 | end |
| 302 | 288 | |
| 303 | - add_index "comments", ["paragraph_uuid"], :name => "index_comments_on_paragraph_uuid" | |
| 304 | 289 | add_index "comments", ["source_id", "spam"], :name => "index_comments_on_source_id_and_spam" |
| 305 | 290 | |
| 306 | 291 | create_table "contact_lists", :force => true do |t| |
| ... | ... | @@ -370,7 +355,6 @@ ActiveRecord::Schema.define(:version => 20150712194411) do |
| 370 | 355 | t.string "default_language" |
| 371 | 356 | t.string "noreply_email" |
| 372 | 357 | t.string "redirection_after_signup", :default => "keep_on_same_page" |
| 373 | - t.text "send_email_plugin_allow_to" | |
| 374 | 358 | t.string "date_format", :default => "month_name_with_year" |
| 375 | 359 | end |
| 376 | 360 | |
| ... | ... | @@ -407,17 +391,6 @@ ActiveRecord::Schema.define(:version => 20150712194411) do |
| 407 | 391 | add_index "friendships", ["person_id", "friend_id"], :name => "index_friendships_on_person_id_and_friend_id" |
| 408 | 392 | add_index "friendships", ["person_id"], :name => "index_friendships_on_person_id" |
| 409 | 393 | |
| 410 | - create_table "gamification_plugin_badges", :force => true do |t| | |
| 411 | - t.string "name" | |
| 412 | - t.integer "level" | |
| 413 | - t.string "description" | |
| 414 | - t.string "custom_fields" | |
| 415 | - t.integer "owner_id" | |
| 416 | - t.string "owner_type" | |
| 417 | - t.datetime "created_at", :null => false | |
| 418 | - t.datetime "updated_at", :null => false | |
| 419 | - end | |
| 420 | - | |
| 421 | 394 | create_table "images", :force => true do |t| |
| 422 | 395 | t.integer "parent_id" |
| 423 | 396 | t.string "content_type" |
| ... | ... | @@ -474,46 +447,6 @@ ActiveRecord::Schema.define(:version => 20150712194411) do |
| 474 | 447 | t.datetime "updated_at" |
| 475 | 448 | end |
| 476 | 449 | |
| 477 | - create_table "mark_comment_as_read_plugin", :force => true do |t| | |
| 478 | - t.integer "comment_id" | |
| 479 | - t.integer "person_id" | |
| 480 | - end | |
| 481 | - | |
| 482 | - add_index "mark_comment_as_read_plugin", ["comment_id", "person_id"], :name => "index_mark_comment_as_read_plugin_on_comment_id_and_person_id", :unique => true | |
| 483 | - | |
| 484 | - create_table "merit_actions", :force => true do |t| | |
| 485 | - t.integer "user_id" | |
| 486 | - t.string "action_method" | |
| 487 | - t.integer "action_value" | |
| 488 | - t.boolean "had_errors", :default => false | |
| 489 | - t.string "target_model" | |
| 490 | - t.integer "target_id" | |
| 491 | - t.text "target_data" | |
| 492 | - t.boolean "processed", :default => false | |
| 493 | - t.datetime "created_at", :null => false | |
| 494 | - t.datetime "updated_at", :null => false | |
| 495 | - end | |
| 496 | - | |
| 497 | - create_table "merit_activity_logs", :force => true do |t| | |
| 498 | - t.integer "action_id" | |
| 499 | - t.string "related_change_type" | |
| 500 | - t.integer "related_change_id" | |
| 501 | - t.string "description" | |
| 502 | - t.datetime "created_at" | |
| 503 | - end | |
| 504 | - | |
| 505 | - create_table "merit_score_points", :force => true do |t| | |
| 506 | - t.integer "score_id" | |
| 507 | - t.integer "num_points", :default => 0 | |
| 508 | - t.string "log" | |
| 509 | - t.datetime "created_at" | |
| 510 | - end | |
| 511 | - | |
| 512 | - create_table "merit_scores", :force => true do |t| | |
| 513 | - t.integer "sash_id" | |
| 514 | - t.string "category", :default => "default" | |
| 515 | - end | |
| 516 | - | |
| 517 | 450 | create_table "national_region_types", :force => true do |t| |
| 518 | 451 | t.string "name" |
| 519 | 452 | end |
| ... | ... | @@ -530,15 +463,6 @@ ActiveRecord::Schema.define(:version => 20150712194411) do |
| 530 | 463 | add_index "national_regions", ["name"], :name => "name_index" |
| 531 | 464 | add_index "national_regions", ["national_region_code"], :name => "code_index" |
| 532 | 465 | |
| 533 | - create_table "pairwise_plugin_choices_related", :force => true do |t| | |
| 534 | - t.integer "choice_id" | |
| 535 | - t.integer "parent_choice_id" | |
| 536 | - t.integer "question_id" | |
| 537 | - t.integer "user_id" | |
| 538 | - t.datetime "created_at", :null => false | |
| 539 | - t.datetime "updated_at", :null => false | |
| 540 | - end | |
| 541 | - | |
| 542 | 466 | create_table "price_details", :force => true do |t| |
| 543 | 467 | t.decimal "price", :default => 0.0 |
| 544 | 468 | t.integer "product_id" |
| ... | ... | @@ -646,21 +570,15 @@ ActiveRecord::Schema.define(:version => 20150712194411) do |
| 646 | 570 | t.boolean "allow_members_to_invite", :default => true |
| 647 | 571 | t.boolean "invite_friends_only", :default => false |
| 648 | 572 | t.boolean "secret", :default => false |
| 649 | - t.integer "sash_id" | |
| 650 | - t.integer "level", :default => 0 | |
| 651 | 573 | end |
| 652 | 574 | |
| 653 | 575 | add_index "profiles", ["activities_count"], :name => "index_profiles_on_activities_count" |
| 654 | 576 | add_index "profiles", ["created_at"], :name => "index_profiles_on_created_at" |
| 655 | - add_index "profiles", ["enabled"], :name => "index_profiles_on_enabled" | |
| 656 | 577 | add_index "profiles", ["environment_id"], :name => "index_profiles_on_environment_id" |
| 657 | 578 | add_index "profiles", ["friends_count"], :name => "index_profiles_on_friends_count" |
| 658 | 579 | add_index "profiles", ["identifier"], :name => "index_profiles_on_identifier" |
| 659 | 580 | add_index "profiles", ["members_count"], :name => "index_profiles_on_members_count" |
| 660 | 581 | add_index "profiles", ["region_id"], :name => "index_profiles_on_region_id" |
| 661 | - add_index "profiles", ["type"], :name => "index_profiles_on_type" | |
| 662 | - add_index "profiles", ["validated"], :name => "index_profiles_on_validated" | |
| 663 | - add_index "profiles", ["visible"], :name => "index_profiles_on_visible" | |
| 664 | 582 | |
| 665 | 583 | create_table "proposals_discussion_plugin_proposal_evaluations", :force => true do |t| |
| 666 | 584 | t.integer "proposal_task_id" |
| ... | ... | @@ -718,12 +636,6 @@ ActiveRecord::Schema.define(:version => 20150712194411) do |
| 718 | 636 | t.boolean "is_global" |
| 719 | 637 | end |
| 720 | 638 | |
| 721 | - add_index "role_assignments", ["accessor_id", "accessor_type", "resource_id", "resource_type"], :name => "index_on_role_assigments_accessor_resource_role" | |
| 722 | - add_index "role_assignments", ["accessor_id", "accessor_type", "role_id"], :name => "index_on_role_assigments_accessor_role" | |
| 723 | - add_index "role_assignments", ["accessor_id", "accessor_type"], :name => "index_role_assignments_on_accessor_id_and_accessor_type" | |
| 724 | - add_index "role_assignments", ["resource_id", "resource_type", "role_id"], :name => "index_on_role_assigments_resource_role" | |
| 725 | - add_index "role_assignments", ["resource_id", "resource_type"], :name => "index_role_assignments_on_resource_id_and_resource_type" | |
| 726 | - | |
| 727 | 639 | create_table "roles", :force => true do |t| |
| 728 | 640 | t.string "name" |
| 729 | 641 | t.string "key" |
| ... | ... | @@ -733,11 +645,6 @@ ActiveRecord::Schema.define(:version => 20150712194411) do |
| 733 | 645 | t.integer "profile_id" |
| 734 | 646 | end |
| 735 | 647 | |
| 736 | - create_table "sashes", :force => true do |t| | |
| 737 | - t.datetime "created_at", :null => false | |
| 738 | - t.datetime "updated_at", :null => false | |
| 739 | - end | |
| 740 | - | |
| 741 | 648 | create_table "scraps", :force => true do |t| |
| 742 | 649 | t.text "content" |
| 743 | 650 | t.integer "sender_id" | ... | ... |
script/updatepo/data/pt.upo
| ... | ... | @@ -128,8 +128,3 @@ msgid "Saved with success!"# msgstr "Salvo com sucesso!" |
| 128 | 128 | msgid "Select at least one category"# msgstr "Selecione pelo menos uma categoria" |
| 129 | 129 | msgid "Task Acceptance"# msgstr "Aceitar Tarefa" |
| 130 | 130 | msgid "Select an acceptance email template:"# msgstr "Selecionar modelo de email para aceitar:" |
| 131 | -msgid "incorrect email format"# msgstr "formato do email inválido. O mesmo só pode ser composto por letras minúsculas, números, '_' e '-'. Adicionalmente não é permitido usar acentuação nem começar com '_' ou '-'" | |
| 132 | -msgid "incorrect login format"# msgstr "formato do login inválido. O mesmo só pode ser composto por letras minúsculas, números, '_' e '-'. Adicionalmente não é permitido usar acentuação nem começar com '_' ou '-'" | |
| 133 | -msgid "length must be within 4 to 40 characters"# msgstr "o tamanho do campo deve ser entre 4 e 40 caracteres" | |
| 134 | -msgid "length must be within 2 to 40 characters"# msgstr "o tamanho do campo deve ser entre 2 e 40 caracteres" | |
| 135 | -msgid "length must be within 3 to 100 characters"# msgstr "o tamanho do campo deve ser entre 3 e 100 caracteres" | ... | ... |
test/unit/api/session_test.rb
| ... | ... | @@ -39,7 +39,32 @@ class SessionTest < ActiveSupport::TestCase |
| 39 | 39 | assert json['private_token'].blank? |
| 40 | 40 | end |
| 41 | 41 | |
| 42 | - should 'do not register a user without email' do | |
| 42 | + should 'not register a user with invalid login' do | |
| 43 | + params = {:login => "c", :password => "newuserapi", :password_confirmation => "newuserapi", :email => "newuserapi@email.com" } | |
| 44 | + post "/api/v1/register?#{params.to_query}" | |
| 45 | + assert_equal 400, last_response.status | |
| 46 | + json = JSON.parse(last_response.body) | |
| 47 | + msg = json['message'].split(':') | |
| 48 | + key = msg[0][2, 5] | |
| 49 | + val = msg[1][2, 38] | |
| 50 | + assert_equal "login", key | |
| 51 | + assert_equal "is too short (minimum is 2 characters)", val | |
| 52 | + end | |
| 53 | + | |
| 54 | + should 'not register a user with invalid login pt' do | |
| 55 | + I18n.locale = "pt-BR" | |
| 56 | + params = {:lang => "pt-BR", :login => "c", :password => "newuserapi", :password_confirmation => "newuserapi", :email => "newuserapi@email.com" } | |
| 57 | + post "/api/v1/register?#{params.to_query}" | |
| 58 | + assert_equal 400, last_response.status | |
| 59 | + json = JSON.parse(last_response.body) | |
| 60 | + msg = json['message'].split(':') | |
| 61 | + key = msg[0][2, 5] | |
| 62 | + val = msg[1][2, 35] | |
| 63 | + assert_equal "login", key | |
| 64 | + assert val.include? "muito curto" | |
| 65 | + end | |
| 66 | + | |
| 67 | + should 'not register a user without email' do | |
| 43 | 68 | params = {:login => "newuserapi", :password => "newuserapi", :password_confirmation => "newuserapi", :email => nil } |
| 44 | 69 | post "/api/v1/register?#{params.to_query}" |
| 45 | 70 | assert_equal 400, last_response.status | ... | ... |