Description:
Changed to HTML5 email field and fixed some text appearance
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
r378:0a752bff0187 - - 5 files changed: 8 inserted, 7 deleted
@@ -1,22 +1,22 | |||||
|
1 | <%= error_messages_for 'user' %> |
|
1 | <%= error_messages_for 'user' %> |
|
2 |
|
2 | ||
|
3 | <!--[form:user]--> |
|
3 | <!--[form:user]--> |
|
4 | <p><label for="user_name">Login</label><br/> |
|
4 | <p><label for="user_name">Login</label><br/> |
|
5 | <%= text_field 'user', 'login' %></p> |
|
5 | <%= text_field 'user', 'login' %></p> |
|
6 |
|
6 | ||
|
7 | <p><label for="user_name">Full name</label><br/> |
|
7 | <p><label for="user_name">Full name</label><br/> |
|
8 | <%= text_field 'user', 'full_name' %></p> |
|
8 | <%= text_field 'user', 'full_name' %></p> |
|
9 |
|
9 | ||
|
10 | <p><label for="password">Password</label><br/> |
|
10 | <p><label for="password">Password</label><br/> |
|
11 | <%= password_field 'user', 'password' %></p> |
|
11 | <%= password_field 'user', 'password' %></p> |
|
12 |
|
12 | ||
|
13 | <p><label for="password_confirmation">Password (confirm)</label><br/> |
|
13 | <p><label for="password_confirmation">Password (confirm)</label><br/> |
|
14 | <%= password_field 'user', 'password_confirmation' %></p> |
|
14 | <%= password_field 'user', 'password_confirmation' %></p> |
|
15 |
|
15 | ||
|
16 | <p><label for="user_email">E-mail</label><br/> |
|
16 | <p><label for="user_email">E-mail</label><br/> |
|
17 |
- <%= |
|
17 | + <%= email_field 'user', 'email' %></p> |
|
18 |
|
18 | ||
|
19 | <p><label for="user_alias">Alias</label><br/> |
|
19 | <p><label for="user_alias">Alias</label><br/> |
|
20 | <%= text_field 'user', 'alias' %></p> |
|
20 | <%= text_field 'user', 'alias' %></p> |
|
21 | <!--[eoform:user]--> |
|
21 | <!--[eoform:user]--> |
|
22 |
|
22 |
@@ -1,86 +1,86 | |||||
|
1 | <h1>Listing users</h1> |
|
1 | <h1>Listing users</h1> |
|
2 |
|
2 | ||
|
3 | <div class="submitbox"> |
|
3 | <div class="submitbox"> |
|
4 | <b>Quick add</b> |
|
4 | <b>Quick add</b> |
|
5 | <%= form_tag :action => 'create' do %> |
|
5 | <%= form_tag :action => 'create' do %> |
|
6 | <table border="0"> |
|
6 | <table border="0"> |
|
7 | <tr> |
|
7 | <tr> |
|
8 | <td><label for="user_login">Login</label></td> |
|
8 | <td><label for="user_login">Login</label></td> |
|
9 | <td><label for="user_full_name">Full name</label></td> |
|
9 | <td><label for="user_full_name">Full name</label></td> |
|
10 | <td><label for="user_password">Password</label></td> |
|
10 | <td><label for="user_password">Password</label></td> |
|
11 | <td><label for="user_password_confirmation">Confirm</label></td> |
|
11 | <td><label for="user_password_confirmation">Confirm</label></td> |
|
12 | <td><label for="user_email">Email</label></td> |
|
12 | <td><label for="user_email">Email</label></td> |
|
13 | </tr> |
|
13 | </tr> |
|
14 | <tr> |
|
14 | <tr> |
|
15 | <td><%= text_field 'user', 'login', :size => 10 %></td> |
|
15 | <td><%= text_field 'user', 'login', :size => 10 %></td> |
|
16 | <td><%= text_field 'user', 'full_name', :size => 30 %></td> |
|
16 | <td><%= text_field 'user', 'full_name', :size => 30 %></td> |
|
17 | <td><%= password_field 'user', 'password', :size => 10 %></td> |
|
17 | <td><%= password_field 'user', 'password', :size => 10 %></td> |
|
18 | <td><%= password_field 'user', 'password_confirmation', :size => 10 %></td> |
|
18 | <td><%= password_field 'user', 'password_confirmation', :size => 10 %></td> |
|
19 |
- <td><%= |
|
19 | + <td><%= email_field 'user', 'email', :size => 15 %></td> |
|
20 | <td><%= submit_tag "Create" %></td> |
|
20 | <td><%= submit_tag "Create" %></td> |
|
21 | </tr> |
|
21 | </tr> |
|
22 | </table> |
|
22 | </table> |
|
23 | <% end %> |
|
23 | <% end %> |
|
24 | <br/> |
|
24 | <br/> |
|
25 | <b>Import from site management</b> |
|
25 | <b>Import from site management</b> |
|
26 | <%= form_tag({:action => 'import'}, :multipart => true) do %> |
|
26 | <%= form_tag({:action => 'import'}, :multipart => true) do %> |
|
27 | File: <%= file_field_tag 'file' %> <%= submit_tag 'Import' %> |
|
27 | File: <%= file_field_tag 'file' %> <%= submit_tag 'Import' %> |
|
28 | <% end %> |
|
28 | <% end %> |
|
29 | <br/> |
|
29 | <br/> |
|
30 | <b>What else: </b> |
|
30 | <b>What else: </b> |
|
31 | <%= link_to '[New user]', :action => 'new' %> |
|
31 | <%= link_to '[New user]', :action => 'new' %> |
|
32 | <%= link_to '[New list of users]', :action => 'new_list' %> |
|
32 | <%= link_to '[New list of users]', :action => 'new_list' %> |
|
33 | <%= link_to '[View administrators]', :action => 'admin' %> |
|
33 | <%= link_to '[View administrators]', :action => 'admin' %> |
|
34 | <%= link_to '[Random passwords]', :action => 'random_all_passwords' %> |
|
34 | <%= link_to '[Random passwords]', :action => 'random_all_passwords' %> |
|
35 | <%= link_to '[View active users]', :action => 'active' %> |
|
35 | <%= link_to '[View active users]', :action => 'active' %> |
|
36 | <%= link_to '[Mass mailing]', :action => 'mass_mailing' %> |
|
36 | <%= link_to '[Mass mailing]', :action => 'mass_mailing' %> |
|
37 | <% if GraderConfiguration.multicontests? %> |
|
37 | <% if GraderConfiguration.multicontests? %> |
|
38 | <br/><b>Multi-contest:</b> |
|
38 | <br/><b>Multi-contest:</b> |
|
39 | <%= link_to '[Manage bulk users in contests]', :action => 'contest_management' %> |
|
39 | <%= link_to '[Manage bulk users in contests]', :action => 'contest_management' %> |
|
40 | View users in: |
|
40 | View users in: |
|
41 | <% @contests.each do |contest| %> |
|
41 | <% @contests.each do |contest| %> |
|
42 | <%= link_to "[#{contest.name}]", :action => 'contests', :id => contest.id %> |
|
42 | <%= link_to "[#{contest.name}]", :action => 'contests', :id => contest.id %> |
|
43 | <% end %> |
|
43 | <% end %> |
|
44 | <%= link_to "[no contest]", :action => 'contests', :id => 'none' %> |
|
44 | <%= link_to "[no contest]", :action => 'contests', :id => 'none' %> |
|
45 | <% end %> |
|
45 | <% end %> |
|
46 | </div> |
|
46 | </div> |
|
47 |
|
47 | ||
|
48 | Total <%= @user_count %> users | |
|
48 | Total <%= @user_count %> users | |
|
49 | <% if !@paginated %> |
|
49 | <% if !@paginated %> |
|
50 | Display all users. |
|
50 | Display all users. |
|
51 | <%= link_to '[show in pages]', :action => 'list', :page => '1' %> |
|
51 | <%= link_to '[show in pages]', :action => 'list', :page => '1' %> |
|
52 | <% else %> |
|
52 | <% else %> |
|
53 | Display in pages. |
|
53 | Display in pages. |
|
54 | <%= link_to '[display all]', :action => 'list', :page => 'all' %> | |
|
54 | <%= link_to '[display all]', :action => 'list', :page => 'all' %> | |
|
55 | <%= will_paginate @users, :container => false %> |
|
55 | <%= will_paginate @users, :container => false %> |
|
56 | <% end %> |
|
56 | <% end %> |
|
57 | <table class="info"> |
|
57 | <table class="info"> |
|
58 | <tr class="info-head"> |
|
58 | <tr class="info-head"> |
|
59 | <% for column in User.content_columns %> |
|
59 | <% for column in User.content_columns %> |
|
60 | <% if !@hidden_columns.index(column.name) %> |
|
60 | <% if !@hidden_columns.index(column.name) %> |
|
61 | <th><%= column.human_name %></th> |
|
61 | <th><%= column.human_name %></th> |
|
62 | <% end %> |
|
62 | <% end %> |
|
63 | <% end %> |
|
63 | <% end %> |
|
64 | <th></th> |
|
64 | <th></th> |
|
65 | <th></th> |
|
65 | <th></th> |
|
66 | <th></th> |
|
66 | <th></th> |
|
67 | </tr> |
|
67 | </tr> |
|
68 |
|
68 | ||
|
69 | <% for user in @users %> |
|
69 | <% for user in @users %> |
|
70 | <tr class="info-<%= cycle("odd","even") %>"> |
|
70 | <tr class="info-<%= cycle("odd","even") %>"> |
|
71 | <% for column in User.content_columns %> |
|
71 | <% for column in User.content_columns %> |
|
72 | <% if !@hidden_columns.index(column.name) %> |
|
72 | <% if !@hidden_columns.index(column.name) %> |
|
73 | <td><%=h user.send(column.name) %></td> |
|
73 | <td><%=h user.send(column.name) %></td> |
|
74 | <% end %> |
|
74 | <% end %> |
|
75 | <% end %> |
|
75 | <% end %> |
|
76 | <td><%= link_to 'Show', :action => 'show', :id => user %></td> |
|
76 | <td><%= link_to 'Show', :action => 'show', :id => user %></td> |
|
77 | <td><%= link_to 'Edit', :action => 'edit', :id => user %></td> |
|
77 | <td><%= link_to 'Edit', :action => 'edit', :id => user %></td> |
|
78 | <td><%= link_to 'Destroy', { :action => 'destroy', :id => user }, :confirm => 'Are you sure?', :method => :post %></td> |
|
78 | <td><%= link_to 'Destroy', { :action => 'destroy', :id => user }, :confirm => 'Are you sure?', :method => :post %></td> |
|
79 | </tr> |
|
79 | </tr> |
|
80 | <% end %> |
|
80 | <% end %> |
|
81 | </table> |
|
81 | </table> |
|
82 |
|
82 | ||
|
83 | <br /> |
|
83 | <br /> |
|
84 |
|
84 | ||
|
85 | <%= link_to '[New user]', :action => 'new' %> |
|
85 | <%= link_to '[New user]', :action => 'new' %> |
|
86 | <%= link_to '[New list of users]', :action => 'new_list' %> |
|
86 | <%= link_to '[New list of users]', :action => 'new_list' %> |
@@ -1,18 +1,19 | |||||
|
1 | .contest-title |
|
1 | .contest-title |
|
2 | %h1 |
|
2 | %h1 |
|
3 | = "#{GraderConfiguration['contest.name']}: #{t 'registration.password_retrieval.header'}" |
|
3 | = "#{GraderConfiguration['contest.name']}: #{t 'registration.password_retrieval.header'}" |
|
4 |
|
4 | ||
|
5 | - if flash[:notice] |
|
5 | - if flash[:notice] |
|
6 | %hr/ |
|
6 | %hr/ |
|
7 | %b= flash[:notice] |
|
7 | %b= flash[:notice] |
|
8 | %hr/ |
|
8 | %hr/ |
|
9 |
|
9 | ||
|
10 | %br/ |
|
10 | %br/ |
|
11 |
|
11 | ||
|
12 | = form_tag :action => 'retrieve_password' do |
|
12 | = form_tag :action => 'retrieve_password' do |
|
13 | =t 'registration.password_retrieval.instructions' |
|
13 | =t 'registration.password_retrieval.instructions' |
|
14 | - = text_field 'email', nil, :size => 20 |
|
14 | + %br/ |
|
|
15 | + = email_field 'email', nil, :size => 20 | ||
|
15 | %br/ |
|
16 | %br/ |
|
16 | = submit_tag(t 'registration.password_retrieval.button_label') |
|
17 | = submit_tag(t 'registration.password_retrieval.button_label') |
|
17 |
|
18 | ||
|
18 | = link_to "#{t 'go_back_to'}#{t 'home_page'}", :controller => 'main', :action => 'index' |
|
19 | = link_to "#{t 'go_back_to'}#{t 'home_page'}", :controller => 'main', :action => 'index' |
@@ -1,39 +1,39 | |||||
|
1 | .contest-title |
|
1 | .contest-title |
|
2 | %h1 |
|
2 | %h1 |
|
3 | = "#{GraderConfiguration['contest.name']}: #{t 'registration.title'}" |
|
3 | = "#{GraderConfiguration['contest.name']}: #{t 'registration.title'}" |
|
4 |
|
4 | ||
|
5 | .registration-desc |
|
5 | .registration-desc |
|
6 | =t 'registration.description' |
|
6 | =t 'registration.description' |
|
7 |
|
7 | ||
|
8 | = error_messages_for :user, :header_message => (t 'registration.errors.header') |
|
8 | = error_messages_for :user, :header_message => (t 'registration.errors.header') |
|
9 |
|
9 | ||
|
10 | %table |
|
10 | %table |
|
11 | = form_for @user, :url => { :action => 'register' } do |f| |
|
11 | = form_for @user, :url => { :action => 'register' } do |f| |
|
12 | %tr |
|
12 | %tr |
|
13 | %td{:align => "right"} |
|
13 | %td{:align => "right"} |
|
14 | = "#{t 'login_label'}:" |
|
14 | = "#{t 'login_label'}:" |
|
15 | %td= f.text_field :login |
|
15 | %td= f.text_field :login |
|
16 | %tr |
|
16 | %tr |
|
17 | %td |
|
17 | %td |
|
18 | %td |
|
18 | %td |
|
19 | %small |
|
19 | %small |
|
20 | =t 'registration.login_guide' |
|
20 | =t 'registration.login_guide' |
|
21 | %tr |
|
21 | %tr |
|
22 | %td{:align => "right"} |
|
22 | %td{:align => "right"} |
|
23 | = "#{t 'full_name_label'}:" |
|
23 | = "#{t 'full_name_label'}:" |
|
24 | %td= f.text_field :full_name |
|
24 | %td= f.text_field :full_name |
|
25 | %tr |
|
25 | %tr |
|
26 | %td{:align => "right"} |
|
26 | %td{:align => "right"} |
|
27 | = "#{t 'email_label'}:" |
|
27 | = "#{t 'email_label'}:" |
|
28 |
- %td= f. |
|
28 | + %td= f.email_field :email |
|
29 | %tr |
|
29 | %tr |
|
30 | %td |
|
30 | %td |
|
31 | %td |
|
31 | %td |
|
32 | %small |
|
32 | %small |
|
33 |
- =t |
|
33 | + =t('registration.email_guide').html_safe |
|
34 | %tr |
|
34 | %tr |
|
35 | %td/ |
|
35 | %td/ |
|
36 | %td |
|
36 | %td |
|
37 | = submit_tag((t 'registration.register'), :name => 'commit') |
|
37 | = submit_tag((t 'registration.register'), :name => 'commit') |
|
38 | = submit_tag((t 'cancel'), :name => 'cancel') |
|
38 | = submit_tag((t 'cancel'), :name => 'cancel') |
|
39 |
|
39 |
@@ -1,109 +1,109 | |||||
|
1 | # Sample localization file for English. Add more files in this directory for other locales. |
|
1 | # Sample localization file for English. Add more files in this directory for other locales. |
|
2 | # See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points. |
|
2 | # See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points. |
|
3 |
|
3 | ||
|
4 | en: |
|
4 | en: |
|
5 | cancel: 'Cancel' |
|
5 | cancel: 'Cancel' |
|
6 |
|
6 | ||
|
7 | login_label: 'Login' |
|
7 | login_label: 'Login' |
|
8 | full_name_label: 'Full name' |
|
8 | full_name_label: 'Full name' |
|
9 | email_label: 'E-mail' |
|
9 | email_label: 'E-mail' |
|
10 | password_label: 'Password' |
|
10 | password_label: 'Password' |
|
11 |
|
11 | ||
|
12 | - go_ahead_to: "Go ahead to" |
|
12 | + go_ahead_to: "Go ahead to " |
|
13 | - go_back_to: "Go back to" |
|
13 | + go_back_to: "Go back to " |
|
14 | login_page: "login page" |
|
14 | login_page: "login page" |
|
15 | home_page: "home page" |
|
15 | home_page: "home page" |
|
16 |
|
16 | ||
|
17 | menu: |
|
17 | menu: |
|
18 | main: 'Main' |
|
18 | main: 'Main' |
|
19 | messages: 'Messages' |
|
19 | messages: 'Messages' |
|
20 | tasks: 'Tasks' |
|
20 | tasks: 'Tasks' |
|
21 | submissions: 'Submissions' |
|
21 | submissions: 'Submissions' |
|
22 | test: 'Test Interface' |
|
22 | test: 'Test Interface' |
|
23 | help: 'Help' |
|
23 | help: 'Help' |
|
24 | settings: 'Settings' |
|
24 | settings: 'Settings' |
|
25 | log_out: 'Log out' |
|
25 | log_out: 'Log out' |
|
26 |
|
26 | ||
|
27 | title_bar: |
|
27 | title_bar: |
|
28 | current_time: "Current time is" |
|
28 | current_time: "Current time is" |
|
29 | remaining_time: "Time left: " |
|
29 | remaining_time: "Time left: " |
|
30 | contest_not_started: "The contest has not started." |
|
30 | contest_not_started: "The contest has not started." |
|
31 |
|
31 | ||
|
32 | login: |
|
32 | login: |
|
33 | message: 'Please login to see the problem list' |
|
33 | message: 'Please login to see the problem list' |
|
34 | login_submit: 'Login' |
|
34 | login_submit: 'Login' |
|
35 | participation: 'Want to participate?' |
|
35 | participation: 'Want to participate?' |
|
36 | please: 'Please' |
|
36 | please: 'Please' |
|
37 | register: 'register' |
|
37 | register: 'register' |
|
38 | forget_password: 'Forget password?' |
|
38 | forget_password: 'Forget password?' |
|
39 |
|
39 | ||
|
40 | main: |
|
40 | main: |
|
41 | start_soon: "The contest at your site will start soon. Please wait." |
|
41 | start_soon: "The contest at your site will start soon. Please wait." |
|
42 | specified_in_header: "Specified in header" |
|
42 | specified_in_header: "Specified in header" |
|
43 |
|
43 | ||
|
44 | problem_desc: "desc" |
|
44 | problem_desc: "desc" |
|
45 | submitted_at: "Submitted at" |
|
45 | submitted_at: "Submitted at" |
|
46 | graded_at: "Graded at" |
|
46 | graded_at: "Graded at" |
|
47 | score: "score: " |
|
47 | score: "score: " |
|
48 | cmp_msg: "compiler msg" |
|
48 | cmp_msg: "compiler msg" |
|
49 | src_link: "src" |
|
49 | src_link: "src" |
|
50 | submissions_link: "submissions" |
|
50 | submissions_link: "submissions" |
|
51 |
|
51 | ||
|
52 | confirm_contest_start: |
|
52 | confirm_contest_start: |
|
53 | box_title: "Contest confirmation" |
|
53 | box_title: "Contest confirmation" |
|
54 | contest_list: "You will participate in contest:" |
|
54 | contest_list: "You will participate in contest:" |
|
55 | timer_starts_after_click: "The timer will start after you click the start button." |
|
55 | timer_starts_after_click: "The timer will start after you click the start button." |
|
56 | start_button: "Start!" |
|
56 | start_button: "Start!" |
|
57 | start_button_confirm: "Are you sure?" |
|
57 | start_button_confirm: "Are you sure?" |
|
58 |
|
58 | ||
|
59 | test: |
|
59 | test: |
|
60 | title: "Test Interface" |
|
60 | title: "Test Interface" |
|
61 | intro: "You can test your submission with your own test data on the grading environment using this test interface." |
|
61 | intro: "You can test your submission with your own test data on the grading environment using this test interface." |
|
62 | disabled_at_end_announcement: "<b>Note:</b> Test interface will be disabled in the last 30 minutes of the contest time on your site." |
|
62 | disabled_at_end_announcement: "<b>Note:</b> Test interface will be disabled in the last 30 minutes of the contest time on your site." |
|
63 |
|
63 | ||
|
64 | registration: |
|
64 | registration: |
|
65 | title: "New user registration" |
|
65 | title: "New user registration" |
|
66 |
|
66 | ||
|
67 | description: "Please enter your information below. Please make sure your e-mail is correct, because you will have to confirm the registration through an e-mail we send to that e-mail address." |
|
67 | description: "Please enter your information below. Please make sure your e-mail is correct, because you will have to confirm the registration through an e-mail we send to that e-mail address." |
|
68 |
|
68 | ||
|
69 | successful_title: "Registration successful" |
|
69 | successful_title: "Registration successful" |
|
70 |
|
70 | ||
|
71 | login_guide: "Only a-z, A-Z, 0-9 and _. Can be at most 20 characters long" |
|
71 | login_guide: "Only a-z, A-Z, 0-9 and _. Can be at most 20 characters long" |
|
72 | email_guide: "Please make sure that your e-mail is correct.<br/>You'll need to verify your account by email." |
|
72 | email_guide: "Please make sure that your e-mail is correct.<br/>You'll need to verify your account by email." |
|
73 | register: "Register" |
|
73 | register: "Register" |
|
74 |
|
74 | ||
|
75 | email_body: "Hello %{full_name}, |
|
75 | email_body: "Hello %{full_name}, |
|
76 |
|
76 | ||
|
77 | You have registered for %{contest_name} |
|
77 | You have registered for %{contest_name} |
|
78 |
|
78 | ||
|
79 | Your login is: %{login} |
|
79 | Your login is: %{login} |
|
80 |
|
80 | ||
|
81 | Your password is: %{password} |
|
81 | Your password is: %{password} |
|
82 |
|
82 | ||
|
83 | Please follow the link: |
|
83 | Please follow the link: |
|
84 |
|
84 | ||
|
85 | %{activation_url} |
|
85 | %{activation_url} |
|
86 |
|
86 | ||
|
87 | to activate your user account. |
|
87 | to activate your user account. |
|
88 |
|
88 | ||
|
89 | If you did not register, please ignore this e-mail |
|
89 | If you did not register, please ignore this e-mail |
|
90 | and report this event to %{admin_email}. |
|
90 | and report this event to %{admin_email}. |
|
91 |
|
91 | ||
|
92 | Thanks!" |
|
92 | Thanks!" |
|
93 |
|
93 | ||
|
94 | email_sent: "We have sent a confimation message to your e-mail. (Please also check the Junk mail box." |
|
94 | email_sent: "We have sent a confimation message to your e-mail. (Please also check the Junk mail box." |
|
95 | email_verify_at: "Please check at %{email} and confirm." |
|
95 | email_verify_at: "Please check at %{email} and confirm." |
|
96 |
|
96 | ||
|
97 | activation_sucessful_title: "User activated" |
|
97 | activation_sucessful_title: "User activated" |
|
98 | account_activated: "Your account has been activated." |
|
98 | account_activated: "Your account has been activated." |
|
99 |
|
99 | ||
|
100 | activation_failed_title: "Activation failed" |
|
100 | activation_failed_title: "Activation failed" |
|
101 |
|
101 | ||
|
102 | errors: |
|
102 | errors: |
|
103 | header: "Errors occured during registration" |
|
103 | header: "Errors occured during registration" |
|
104 | email: |
|
104 | email: |
|
105 | title: "Errors in sending registration confirmation" |
|
105 | title: "Errors in sending registration confirmation" |
|
106 | expl: "<h2>Your user account has been created, but the system cannot send you the confirmation e-mail.</h2> |
|
106 | expl: "<h2>Your user account has been created, but the system cannot send you the confirmation e-mail.</h2> |
|
107 | Maybe there's a problem in the configuration. Please report the admin at %{email}.<br/>Thank you!" |
|
107 | Maybe there's a problem in the configuration. Please report the admin at %{email}.<br/>Thank you!" |
|
108 | activation: |
|
108 | activation: |
|
109 | email_exists: "A user with this E-mail exists." |
|
109 | email_exists: "A user with this E-mail exists." |
You need to be logged in to leave comments.
Login now