diff --git a/app/models/user.rb b/app/models/user.rb
--- a/app/models/user.rb
+++ b/app/models/user.rb
@@ -1,3 +1,4 @@
+# -*- coding: undecided -*-
require 'digest/sha1'
class User < ActiveRecord::Base
@@ -32,10 +33,13 @@
validates_presence_of :login
validates_uniqueness_of :login
validates_format_of :login, :with => /^[\_A-Za-z0-9]+$/
- validates_length_of :login, :within => 3..30
+ validates_length_of :login, :within => 3..20
validates_presence_of :full_name
validates_length_of :full_name, :minimum => 1
+
+ validates_presence_of :member1_full_name
+ validates_length_of :member1_full_name, :minimum => 1
validates_presence_of :password, :if => :password_required?
validates_length_of :password, :within => 4..20, :if => :password_required?
@@ -49,6 +53,8 @@
validate :enough_time_interval_between_same_email_registrations,
:if => :email_validation?
+ validate :school_names_for_high_school_users
+
# these are for ytopc
# disable for now
#validates_presence_of :province
@@ -295,4 +301,15 @@
return false
end
end
+
+
+ def school_names_for_high_school_users
+ if self.high_school
+ if (self.member1_school_name=='' or
+ (self.member2_full_name!='' and self.member2_school_name=='') or
+ (self.member3_full_name!='' and self.member3_school_name==''))
+ self.errors.add_to_base("โปรดระบุชื่อโรงเรียนสำหรับสมาชิกในทีมทุกคน")
+ end
+ end
+ end
end
diff --git a/app/views/main/list.html.haml b/app/views/main/list.html.haml
--- a/app/views/main/list.html.haml
+++ b/app/views/main/list.html.haml
@@ -20,11 +20,10 @@
.problem-list
= render :partial => 'problem_title', :collection => @problems, :as => :problem
.problem-content
- - if @current_problem_id==nil
- %span{:id => "problem-panel-filler"}
- %b Welcome to Code Jom
- %br/
- Choose problems from the list on the right.
+ %span{:id => "problem-panel-filler", :style => (@current_problem_id!=nil) ? "display:none" : ""}
+ %b Welcome to Code Jom
+ %br/
+ Choose problems from the list on the right.
= render :partial => 'problem', :collection => @problems
%br{:clear=>'both'}/
diff --git a/app/views/users/new.html.haml b/app/views/users/new.html.haml
--- a/app/views/users/new.html.haml
+++ b/app/views/users/new.html.haml
@@ -32,6 +32,39 @@
%small
=t 'registration.email_guide'
%tr
+ %td{:align => "right"}
+ ประเภทการสมัคร:
+ %td
+ =select :user, :high_school, [['ระดับมัธยมศึกษา',true], ['บุคคลทั่วไป',false]]
+ %tr
+ %td{:align => "right"}
+ ชื่อ-นามสกุลสมาชิกคนแรก:
+ %td
+ = f.text_field :member1_full_name
+ โรงเรียน:
+ = f.text_field :member1_school_name
+ %tr
+ %td{:align => "right"}
+ ชื่อ-นามสกุลสมาชิกคนที่สอง:
+ %td
+ = f.text_field :member2_full_name
+ โรงเรียน:
+ = f.text_field :member2_school_name
+ %tr
+ %td{:align => "right"}
+ ชื่อ-นามสกุลสมาชิกคนที่สาม:
+ %td
+ = f.text_field :member3_full_name
+ โรงเรียน:
+ = f.text_field :member3_school_name
+ %tr
+ %td
+ %td
+ %small
+ ภายในทีมไม่จำเป็นต้องมีสมาชิกครบ 3 คน
+
+
+ %tr
%td/
%td
= submit_tag((t 'registration.register'), :name => 'commit')
diff --git a/config/locales/th.yml b/config/locales/th.yml
--- a/config/locales/th.yml
+++ b/config/locales/th.yml
@@ -5,8 +5,8 @@
cancel: 'ยกเลิก'
login_label: 'ชื่อเข้าใช้ระบบ (login)'
- full_name_label: 'ชื่อเต็ม'
- email_label: 'E-mail'
+ full_name_label: 'ชื่อทีม'
+ email_label: 'E-mail สำหรับติดต่อ'
password_label: 'รหัสผ่าน'
go_ahead_to: "ไปยัง"
@@ -56,15 +56,15 @@
registration:
title: "ลงทะเบียนผู้ใช้ใหม่"
- description: "ในการลงทะเบียน ให้ผู้สนใจเข้าร่วมการแข่งขันกรอกข้อมูลด้านล่าง จากนั้นระบบจะส่ง e-mail ไปยัง e-mail ที่ระบุเพื่อให้ยืนยันตัวตนและเปิดใช้บัญชีผู้ใช้
ในกรณีที่ผู้เข้าแข่งขันเป็นนักเรียน รบกวนช่วยให้ข้อมูลเกี่ยวกับโรงเรียนและจังหวัดด้วย"
+ description: "ในการลงทะเบียน ให้ผู้สนใจเข้าร่วมการแข่งขันกรอกข้อมูลด้านล่าง จากนั้นระบบจะส่ง e-mail ไปยัง e-mail ที่ระบุเพื่อให้ยืนยันตัวตนและเปิดใช้บัญชีผู้ใช้
ในกรณีที่ผู้เข้าแข่งขันเป็นนักเรียน รบกวนช่วยให้ข้อมูลเกี่ยวกับโรงเรียนด้วย"
successful_title: "การลงทะเบียนเสร็จเรียบร้อย"
- login_guide: "ใช้ได้เฉพาะ a-z, A-Z, 0-9 และ _ ความยาวไม่เกิน 20 ตัวอักษร"
+ login_guide: "ใช้ได้เฉพาะ a-z, A-Z, 0-9 และ _ ความยาวไม่เกิน 20 ตัวอักษร ชื่อนี้จะใช้แสดงในกระดานแสดงผล"
email_guide: "กรุณาตรวจสอบ e-mail ที่ใส่ให้ถูกต้อง
คุณจะต้องยืนยันการลงทะเบียนผ่านทางข้อมูลที่จะส่งให้ทาง e-mail"
register: "ลงทะเบียน"
- email_body: "สวัสดีครับ {{full_name}},
+ email_body: "สวัสดี ทีม {{full_name}},
คุณได้ลงทะเบียนเข้าร่วมการแข่งขัน {{contest_name}}
@@ -135,4 +135,7 @@
full_name: "ชื่อเต็ม"
email: "e-mail"
province: "จังหวัด"
-
+ member1_full_name: "ชื่อ-นามสกุลสมาชิกคนแรก"
+ member2_full_name: "ชื่อ-นามสกุลสมาชิกคนที่สอง"
+ member3_full_name: "ชื่อ-นามสกุลสมาชิกคนที่สาม"
+
\ No newline at end of file
diff --git a/db/schema.rb b/db/schema.rb
--- a/db/schema.rb
+++ b/db/schema.rb
@@ -9,7 +9,7 @@
#
# It's strongly recommended to check this file into your version control system.
-ActiveRecord::Schema.define(:version => 20100124191250) do
+ActiveRecord::Schema.define(:version => 20100126170609) do
create_table "announcements", :force => true do |t|
t.string "author"
@@ -223,17 +223,24 @@
end
create_table "users", :force => true do |t|
- t.string "login", :limit => 50
+ t.string "login", :limit => 50
t.string "full_name"
t.string "hashed_password"
- t.string "salt", :limit => 5
+ t.string "salt", :limit => 5
t.string "alias"
t.string "email"
t.integer "site_id"
t.integer "country_id"
- t.boolean "activated", :default => false
+ t.boolean "activated", :default => false
t.datetime "created_at"
t.datetime "updated_at"
+ t.string "member1_full_name"
+ t.string "member2_full_name"
+ t.string "member3_full_name"
+ t.boolean "high_school"
+ t.string "member1_school_name"
+ t.string "member2_school_name"
+ t.string "member3_school_name"
end
add_index "users", ["login"], :name => "index_users_on_login", :unique => true