Description:
added more user for codejom registration
Commit status:
[Not Reviewed]
References:
Diff options:
Comments:
0 Commit comments
0 Inline Comments
Unresolved TODOs:
There are no unresolved TODOs
r224:a42bdb5b1634 - - 5 files changed: 75 inserted, 16 deleted
@@ -1,6 +1,7 | |||
|
1 | + # -*- coding: undecided -*- | |
|
1 | 2 | require 'digest/sha1' |
|
2 | 3 | |
|
3 | 4 | class User < ActiveRecord::Base |
|
4 | 5 | |
|
5 | 6 | has_and_belongs_to_many :roles |
|
6 | 7 | |
@@ -29,16 +30,19 | |||
|
29 | 30 | |
|
30 | 31 | named_scope :activated_users, :conditions => {:activated => true} |
|
31 | 32 | |
|
32 | 33 | validates_presence_of :login |
|
33 | 34 | validates_uniqueness_of :login |
|
34 | 35 | validates_format_of :login, :with => /^[\_A-Za-z0-9]+$/ |
|
35 |
- validates_length_of :login, :within => 3.. |
|
|
36 | + validates_length_of :login, :within => 3..20 | |
|
36 | 37 | |
|
37 | 38 | validates_presence_of :full_name |
|
38 | 39 | validates_length_of :full_name, :minimum => 1 |
|
40 | + | |
|
41 | + validates_presence_of :member1_full_name | |
|
42 | + validates_length_of :member1_full_name, :minimum => 1 | |
|
39 | 43 | |
|
40 | 44 | validates_presence_of :password, :if => :password_required? |
|
41 | 45 | validates_length_of :password, :within => 4..20, :if => :password_required? |
|
42 | 46 | validates_confirmation_of :password, :if => :password_required? |
|
43 | 47 | |
|
44 | 48 | validates_format_of :email, |
@@ -46,12 +50,14 | |||
|
46 | 50 | :if => :email_validation? |
|
47 | 51 | validate :uniqueness_of_email_from_activated_users, |
|
48 | 52 | :if => :email_validation? |
|
49 | 53 | validate :enough_time_interval_between_same_email_registrations, |
|
50 | 54 | :if => :email_validation? |
|
51 | 55 | |
|
56 | + validate :school_names_for_high_school_users | |
|
57 | + | |
|
52 | 58 | # these are for ytopc |
|
53 | 59 | # disable for now |
|
54 | 60 | #validates_presence_of :province |
|
55 | 61 | |
|
56 | 62 | attr_accessor :password |
|
57 | 63 | |
@@ -292,7 +298,18 | |||
|
292 | 298 | begin |
|
293 | 299 | return VALIDATE_USER_EMAILS |
|
294 | 300 | rescue |
|
295 | 301 | return false |
|
296 | 302 | end |
|
297 | 303 | end |
|
304 | + | |
|
305 | + | |
|
306 | + def school_names_for_high_school_users | |
|
307 | + if self.high_school | |
|
308 | + if (self.member1_school_name=='' or | |
|
309 | + (self.member2_full_name!='' and self.member2_school_name=='') or | |
|
310 | + (self.member3_full_name!='' and self.member3_school_name=='')) | |
|
311 | + self.errors.add_to_base("โปรดระบุชื่อโรงเรียนสำหรับสมาชิกในทีมทุกคน") | |
|
312 | + end | |
|
313 | + end | |
|
314 | + end | |
|
298 | 315 | end |
@@ -17,17 +17,16 | |||
|
17 | 17 | %p=t 'main.start_soon' |
|
18 | 18 | |
|
19 | 19 | - if Configuration.show_tasks_to?(@user) |
|
20 | 20 | .problem-list |
|
21 | 21 | = render :partial => 'problem_title', :collection => @problems, :as => :problem |
|
22 | 22 | .problem-content |
|
23 | - - if @current_problem_id==nil | |
|
24 | - %span{:id => "problem-panel-filler"} | |
|
25 | - %b Welcome to Code Jom | |
|
26 | - %br/ | |
|
27 | - Choose problems from the list on the right. | |
|
23 | + %span{:id => "problem-panel-filler", :style => (@current_problem_id!=nil) ? "display:none" : ""} | |
|
24 | + %b Welcome to Code Jom | |
|
25 | + %br/ | |
|
26 | + Choose problems from the list on the right. | |
|
28 | 27 | = render :partial => 'problem', :collection => @problems |
|
29 | 28 | |
|
30 | 29 | %br{:clear=>'both'}/ |
|
31 | 30 | %hr/ |
|
32 | 31 | |
|
33 | 32 | :javascript |
@@ -29,11 +29,44 | |||
|
29 | 29 | %tr |
|
30 | 30 | %td |
|
31 | 31 | %td |
|
32 | 32 | %small |
|
33 | 33 | =t 'registration.email_guide' |
|
34 | 34 | %tr |
|
35 | + %td{:align => "right"} | |
|
36 | + ประเภทการสมัคร: | |
|
37 | + %td | |
|
38 | + =select :user, :high_school, [['ระดับมัธยมศึกษา',true], ['บุคคลทั่วไป',false]] | |
|
39 | + %tr | |
|
40 | + %td{:align => "right"} | |
|
41 | + ชื่อ-นามสกุลสมาชิกคนแรก: | |
|
42 | + %td | |
|
43 | + = f.text_field :member1_full_name | |
|
44 | + โรงเรียน: | |
|
45 | + = f.text_field :member1_school_name | |
|
46 | + %tr | |
|
47 | + %td{:align => "right"} | |
|
48 | + ชื่อ-นามสกุลสมาชิกคนที่สอง: | |
|
49 | + %td | |
|
50 | + = f.text_field :member2_full_name | |
|
51 | + โรงเรียน: | |
|
52 | + = f.text_field :member2_school_name | |
|
53 | + %tr | |
|
54 | + %td{:align => "right"} | |
|
55 | + ชื่อ-นามสกุลสมาชิกคนที่สาม: | |
|
56 | + %td | |
|
57 | + = f.text_field :member3_full_name | |
|
58 | + โรงเรียน: | |
|
59 | + = f.text_field :member3_school_name | |
|
60 | + %tr | |
|
61 | + %td | |
|
62 | + %td | |
|
63 | + %small | |
|
64 | + ภายในทีมไม่จำเป็นต้องมีสมาชิกครบ 3 คน | |
|
65 | + | |
|
66 | + | |
|
67 | + %tr | |
|
35 | 68 | %td/ |
|
36 | 69 | %td |
|
37 | 70 | = submit_tag((t 'registration.register'), :name => 'commit') |
|
38 | 71 | = submit_tag((t 'cancel'), :name => 'cancel') |
|
39 | 72 |
@@ -2,14 +2,14 | |||
|
2 | 2 | # See http://github.com/svenfuchs/rails-i18n/tree/master/rails%2Flocale for starting points. |
|
3 | 3 | |
|
4 | 4 | th: |
|
5 | 5 | cancel: 'ยกเลิก' |
|
6 | 6 | |
|
7 | 7 | login_label: 'ชื่อเข้าใช้ระบบ (login)' |
|
8 |
- full_name_label: 'ชื่อ |
|
|
9 | - email_label: 'E-mail' | |
|
8 | + full_name_label: 'ชื่อทีม' | |
|
9 | + email_label: 'E-mail สำหรับติดต่อ' | |
|
10 | 10 | password_label: 'รหัสผ่าน' |
|
11 | 11 | |
|
12 | 12 | go_ahead_to: "ไปยัง" |
|
13 | 13 | go_back_to: "กลับไปยัง" |
|
14 | 14 | login_page: "หน้าเข้าใช้ระบบ" |
|
15 | 15 | home_page: "หน้าแรก" |
@@ -53,21 +53,21 | |||
|
53 | 53 | title: "ทดสอบโปรแกรมบนสภาพแวดล้อมของเครื่องตรวจ" |
|
54 | 54 | intro: "คุณสามารถทดลองการทำงานของโปรแกรมที่เขียนกับข้อมูลชุดทดสอบของคุณเองในสภาพแวดล้อมจริงของการตรวจโปรแกรมได้ โดยเลือกโปรแกรมส่งแล้วที่ด้านล่างพร้อมทั้งส่งแฟ้มข้อมูลชุดทดสอบที่ต้องการให้ทำงานด้วย" |
|
55 | 55 | disabled_at_end_announcement: "<b>หมายเหตุ:</b> ระบบทดสอบโปรแกรมจะหยุดทำงานในช่วงเวลา 30 นาทีสุดท้ายของการแข่งขัน" |
|
56 | 56 | |
|
57 | 57 | registration: |
|
58 | 58 | title: "ลงทะเบียนผู้ใช้ใหม่" |
|
59 |
- description: "ในการลงทะเบียน ให้ผู้สนใจเข้าร่วมการแข่งขันกรอกข้อมูลด้านล่าง จากนั้นระบบจะส่ง e-mail ไปยัง e-mail ที่ระบุเพื่อให้ยืนยันตัวตนและเปิดใช้บัญชีผู้ใช้<br/>ในกรณีที่ผู้เข้าแข่งขันเป็นนักเรียน รบกวนช่วยให้ข้อมูลเกี่ยวกับโรงเรียน |
|
|
59 | + description: "ในการลงทะเบียน ให้ผู้สนใจเข้าร่วมการแข่งขันกรอกข้อมูลด้านล่าง จากนั้นระบบจะส่ง e-mail ไปยัง e-mail ที่ระบุเพื่อให้ยืนยันตัวตนและเปิดใช้บัญชีผู้ใช้<br/>ในกรณีที่ผู้เข้าแข่งขันเป็นนักเรียน รบกวนช่วยให้ข้อมูลเกี่ยวกับโรงเรียนด้วย" | |
|
60 | 60 | |
|
61 | 61 | successful_title: "การลงทะเบียนเสร็จเรียบร้อย" |
|
62 | 62 | |
|
63 | - login_guide: "ใช้ได้เฉพาะ a-z, A-Z, 0-9 และ _ ความยาวไม่เกิน 20 ตัวอักษร" | |
|
63 | + login_guide: "ใช้ได้เฉพาะ a-z, A-Z, 0-9 และ _ ความยาวไม่เกิน 20 ตัวอักษร ชื่อนี้จะใช้แสดงในกระดานแสดงผล" | |
|
64 | 64 | email_guide: "กรุณาตรวจสอบ e-mail ที่ใส่ให้ถูกต้อง<br/>คุณจะต้องยืนยันการลงทะเบียนผ่านทางข้อมูลที่จะส่งให้ทาง e-mail" |
|
65 | 65 | register: "ลงทะเบียน" |
|
66 | 66 | |
|
67 |
- email_body: "สวัสดี |
|
|
67 | + email_body: "สวัสดี ทีม {{full_name}}, | |
|
68 | 68 | |
|
69 | 69 | คุณได้ลงทะเบียนเข้าร่วมการแข่งขัน {{contest_name}} |
|
70 | 70 | |
|
71 | 71 | บัญชีเข้าใช้ของคุณคือ: {{login}} |
|
72 | 72 | |
|
73 | 73 | รหัสผ่านคือ: {{password}} |
@@ -132,7 +132,10 | |||
|
132 | 132 | attributes: |
|
133 | 133 | user: |
|
134 | 134 | login: "ชื่อเข้าใช้ระบบ" |
|
135 | 135 | full_name: "ชื่อเต็ม" |
|
136 | 136 | email: "e-mail" |
|
137 | 137 | province: "จังหวัด" |
|
138 | - | |
|
138 | + member1_full_name: "ชื่อ-นามสกุลสมาชิกคนแรก" | |
|
139 | + member2_full_name: "ชื่อ-นามสกุลสมาชิกคนที่สอง" | |
|
140 | + member3_full_name: "ชื่อ-นามสกุลสมาชิกคนที่สาม" | |
|
141 | + No newline at end of file |
@@ -6,13 +6,13 | |||
|
6 | 6 | # to create the application database on another system, you should be using db:schema:load, not running |
|
7 | 7 | # all the migrations from scratch. The latter is a flawed and unsustainable approach (the more migrations |
|
8 | 8 | # you'll amass, the slower it'll run and the greater likelihood for issues). |
|
9 | 9 | # |
|
10 | 10 | # It's strongly recommended to check this file into your version control system. |
|
11 | 11 | |
|
12 |
- ActiveRecord::Schema.define(:version => 2010012 |
|
|
12 | + ActiveRecord::Schema.define(:version => 20100126170609) do | |
|
13 | 13 | |
|
14 | 14 | create_table "announcements", :force => true do |t| |
|
15 | 15 | t.string "author" |
|
16 | 16 | t.text "body" |
|
17 | 17 | t.boolean "published" |
|
18 | 18 | t.datetime "created_at" |
@@ -220,22 +220,29 | |||
|
220 | 220 | t.datetime "started_at" |
|
221 | 221 | t.datetime "created_at" |
|
222 | 222 | t.datetime "updated_at" |
|
223 | 223 | end |
|
224 | 224 | |
|
225 | 225 | create_table "users", :force => true do |t| |
|
226 | - t.string "login", :limit => 50 | |
|
226 | + t.string "login", :limit => 50 | |
|
227 | 227 | t.string "full_name" |
|
228 | 228 | t.string "hashed_password" |
|
229 | - t.string "salt", :limit => 5 | |
|
229 | + t.string "salt", :limit => 5 | |
|
230 | 230 | t.string "alias" |
|
231 | 231 | t.string "email" |
|
232 | 232 | t.integer "site_id" |
|
233 | 233 | t.integer "country_id" |
|
234 | - t.boolean "activated", :default => false | |
|
234 | + t.boolean "activated", :default => false | |
|
235 | 235 | t.datetime "created_at" |
|
236 | 236 | t.datetime "updated_at" |
|
237 | + t.string "member1_full_name" | |
|
238 | + t.string "member2_full_name" | |
|
239 | + t.string "member3_full_name" | |
|
240 | + t.boolean "high_school" | |
|
241 | + t.string "member1_school_name" | |
|
242 | + t.string "member2_school_name" | |
|
243 | + t.string "member3_school_name" | |
|
237 | 244 | end |
|
238 | 245 | |
|
239 | 246 | add_index "users", ["login"], :name => "index_users_on_login", :unique => true |
|
240 | 247 | |
|
241 | 248 | end |
You need to be logged in to leave comments.
Login now