enju_message 0.1.14.pre9 → 0.1.14.pre10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/message_request.rb +4 -4
- data/lib/enju_message/version.rb +1 -1
- data/spec/dummy/app/models/user.rb +4 -37
- data/spec/dummy/db/migrate/001_create_patrons.rb +1 -10
- data/spec/dummy/db/migrate/059_create_libraries.rb +28 -0
- data/spec/dummy/db/migrate/069_create_shelves.rb +15 -0
- data/spec/dummy/db/migrate/{20111201163342_create_user_groups.rb → 077_create_user_groups.rb} +2 -2
- data/spec/dummy/db/migrate/080_create_library_groups.rb +2 -9
- data/spec/dummy/db/migrate/120_create_baskets.rb +12 -0
- data/spec/dummy/db/migrate/124_create_bookstores.rb +17 -0
- data/spec/dummy/db/migrate/130_create_request_status_types.rb +12 -0
- data/spec/dummy/db/migrate/131_create_request_types.rb +12 -0
- data/spec/dummy/db/migrate/20081006090811_create_subscriptions.rb +17 -0
- data/spec/dummy/db/migrate/20081006093246_create_subscribes.rb +14 -0
- data/spec/dummy/db/migrate/20081023092436_create_search_engines.rb +17 -0
- data/spec/dummy/db/migrate/20081025083323_create_countries.rb +28 -0
- data/spec/dummy/db/migrate/20091202124834_create_versions.rb +18 -0
- data/spec/dummy/db/migrate/20100314190054_add_opening_hour_to_library.rb +9 -0
- data/spec/dummy/db/migrate/20110301121550_add_birth_date_and_death_date_to_patron.rb +11 -0
- data/spec/dummy/db/migrate/20110318183304_add_valid_period_for_new_user_to_user_group.rb +11 -0
- data/spec/dummy/db/migrate/20111201155456_devise_create_users.rb +46 -0
- data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb +5 -0
- data/spec/dummy/db/migrate/20120129014038_create_budget_types.rb +12 -0
- data/spec/dummy/db/migrate/20120319173203_create_accepts.rb +14 -0
- data/spec/dummy/db/migrate/20120510140958_add_closed_to_shelf.rb +5 -0
- data/spec/dummy/db/migrate/20130221154434_add_additional_attributes_to_user.rb +26 -0
- data/spec/dummy/db/migrate/20130412083556_add_latitude_and_longitude_to_library.rb +6 -0
- data/spec/dummy/db/schema.rb +202 -27
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/solr/data/test/index/{_6n.fdt → _93.fdt} +0 -0
- data/spec/dummy/solr/data/test/index/{_6n.fdx → _93.fdx} +0 -0
- data/spec/dummy/solr/data/test/index/{_6n.fnm → _93.fnm} +0 -0
- data/spec/dummy/solr/data/test/index/{_6n.frq → _93.frq} +0 -0
- data/spec/dummy/solr/data/test/index/{_6n.nrm → _93.nrm} +0 -0
- data/spec/dummy/solr/data/test/index/{_6n.prx → _93.prx} +0 -0
- data/spec/dummy/solr/data/test/index/{_6n.tii → _93.tii} +0 -0
- data/spec/dummy/solr/data/test/index/{_6n.tis → _93.tis} +0 -0
- data/spec/dummy/solr/data/test/index/segments.gen +0 -0
- data/spec/dummy/solr/data/test/index/segments_i1 +0 -0
- data/spec/factories/library.rb +13 -0
- data/spec/factories/user.rb +34 -9
- data/spec/fixtures/libraries.yml +102 -0
- data/spec/fixtures/library_groups.yml +20 -20
- metadata +71 -47
- data/spec/dummy/app/models/library_group.rb +0 -86
- data/spec/dummy/app/models/patron.rb +0 -167
- data/spec/dummy/app/models/patron_type.rb +0 -19
- data/spec/dummy/app/models/role.rb +0 -8
- data/spec/dummy/app/models/user_group.rb +0 -2
- data/spec/dummy/app/models/user_has_role.rb +0 -4
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20110115022329_add_position_to_library_group.rb +0 -9
- data/spec/dummy/db/migrate/20111201155456_create_users.rb +0 -14
- data/spec/dummy/db/migrate/20111201155513_add_devise_to_users.rb +0 -52
- data/spec/dummy/db/migrate/20120213092115_add_queue_to_delayed_jobs.rb +0 -9
- data/spec/dummy/solr/data/test/index/segments_dd +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 10a4be314ce274452de8e18e40ec20a5774da96a
|
4
|
+
data.tar.gz: 9e8071d4fe863f3482f72157894b696d8dc149c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b450fcb44ad5062b5771765e5359f703420045289b005a65c9ee885c199e6ec287f449598cb1c70de9ba6b05fc803caa8ff523c237b7470c4ccab8b9eef8f2c4
|
7
|
+
data.tar.gz: baac98bb78f2187a7e381936e87f51d69d62917dbae7417fb87967fcc4dff41494228de34cc5ec82e2f7f1a8850938864776d5816b3ab77211ba085c8122e7bc
|
@@ -48,7 +48,7 @@ class MessageRequest < ActiveRecord::Base
|
|
48
48
|
end
|
49
49
|
self.sent_at = Time.zone.now
|
50
50
|
save(:validate => false)
|
51
|
-
if ['reservation_expired_for_patron', 'reservation_expired_for_patron'].include?(
|
51
|
+
if ['reservation_expired_for_patron', 'reservation_expired_for_patron'].include?(message_template.status)
|
52
52
|
self.receiver.reserves.each do |reserve|
|
53
53
|
reserve.expiration_notice_to_patron = true
|
54
54
|
reserve.save(:validate => false)
|
@@ -64,10 +64,10 @@ class MessageRequest < ActiveRecord::Base
|
|
64
64
|
|
65
65
|
def save_message_body(options = {})
|
66
66
|
options = {
|
67
|
-
:receiver =>
|
68
|
-
:locale =>
|
67
|
+
:receiver => receiver,
|
68
|
+
:locale => receiver.locale
|
69
69
|
}.merge(options)
|
70
|
-
self.update_attributes!({:body =>
|
70
|
+
self.update_attributes!({:body => message_template.embed_body(options)})
|
71
71
|
end
|
72
72
|
|
73
73
|
def self.send_messages
|
data/lib/enju_message/version.rb
CHANGED
@@ -1,46 +1,13 @@
|
|
1
1
|
class User < ActiveRecord::Base
|
2
2
|
# Include default devise modules. Others available are:
|
3
3
|
# :token_authenticatable, :encryptable, :confirmable, :lockable, :timeoutable and :omniauthable
|
4
|
-
devise :database_authenticatable,
|
5
|
-
:recoverable, :rememberable, :trackable,
|
4
|
+
devise :database_authenticatable, #:registerable,
|
5
|
+
:recoverable, :rememberable, :trackable, #:validatable,
|
6
|
+
:lockable, :lock_strategy => :none, :unlock_strategy => :none
|
6
7
|
|
7
8
|
# Setup accessible (or protected) attributes for your model
|
8
9
|
attr_accessible :email, :password, :password_confirmation, :remember_me
|
9
10
|
|
10
|
-
|
11
|
-
has_one :role, :through => :user_has_role
|
12
|
-
has_one :patron
|
13
|
-
belongs_to :user_group
|
14
|
-
belongs_to :required_role, :class_name => 'Role', :foreign_key => 'required_role_id'
|
15
|
-
before_create :set_role_and_patron
|
16
|
-
|
11
|
+
enju_leaf_user_model
|
17
12
|
enju_message_user_model
|
18
|
-
|
19
|
-
extend FriendlyId
|
20
|
-
friendly_id :username
|
21
|
-
|
22
|
-
def set_role_and_patron
|
23
|
-
self.required_role = Role.where(:name => 'Librarian').first
|
24
|
-
self.locale = I18n.default_locale.to_s
|
25
|
-
unless self.patron
|
26
|
-
self.patron = Patron.create(:full_name => self.username) if self.username
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
def has_role?(role_in_question)
|
31
|
-
return false unless role
|
32
|
-
return true if role.name == role_in_question
|
33
|
-
case role.name
|
34
|
-
when 'Administrator'
|
35
|
-
return true
|
36
|
-
when 'Librarian'
|
37
|
-
return true if role_in_question == 'User'
|
38
|
-
else
|
39
|
-
false
|
40
|
-
end
|
41
|
-
end
|
42
|
-
|
43
|
-
def full_name
|
44
|
-
username
|
45
|
-
end
|
46
13
|
end
|
@@ -1,5 +1,5 @@
|
|
1
1
|
class CreatePatrons < ActiveRecord::Migration
|
2
|
-
def
|
2
|
+
def change
|
3
3
|
create_table :patrons do |t|
|
4
4
|
t.integer :user_id
|
5
5
|
t.string :last_name
|
@@ -38,11 +38,6 @@ class CreatePatrons < ActiveRecord::Migration
|
|
38
38
|
t.integer :patron_type_id, :default => 1, :null => false
|
39
39
|
t.integer :lock_version, :default => 0, :null => false
|
40
40
|
t.text :note
|
41
|
-
t.integer :creates_count, :default => 0, :null => false
|
42
|
-
t.integer :realizes_count, :default => 0, :null => false
|
43
|
-
t.integer :produces_count, :default => 0, :null => false
|
44
|
-
t.integer :owns_count, :default => 0, :null => false
|
45
|
-
#t.integer :resource_has_subjects_count, :default => 0, :null => false
|
46
41
|
t.integer :required_role_id, :default => 1, :null => false
|
47
42
|
t.integer :required_score, :default => 0, :null => false
|
48
43
|
t.string :state
|
@@ -55,8 +50,4 @@ class CreatePatrons < ActiveRecord::Migration
|
|
55
50
|
add_index :patrons, :required_role_id
|
56
51
|
add_index :patrons, :full_name
|
57
52
|
end
|
58
|
-
|
59
|
-
def self.down
|
60
|
-
drop_table :patrons
|
61
|
-
end
|
62
53
|
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
class CreateLibraries < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :libraries do |t|
|
4
|
+
t.string :name, :null => false
|
5
|
+
t.text :display_name
|
6
|
+
t.string :short_display_name, :null => false
|
7
|
+
t.string :zip_code
|
8
|
+
t.text :street
|
9
|
+
t.text :locality
|
10
|
+
t.text :region
|
11
|
+
t.string :telephone_number_1
|
12
|
+
t.string :telephone_number_2
|
13
|
+
t.string :fax_number
|
14
|
+
t.text :note
|
15
|
+
t.integer :call_number_rows, :default => 1, :null => false
|
16
|
+
t.string :call_number_delimiter, :default => "|", :null => false
|
17
|
+
t.integer :library_group_id, :default => 1, :null => false
|
18
|
+
t.integer :users_count, :default => 0, :null => false
|
19
|
+
t.integer :position
|
20
|
+
t.integer :country_id
|
21
|
+
|
22
|
+
t.timestamps
|
23
|
+
t.datetime :deleted_at
|
24
|
+
end
|
25
|
+
add_index :libraries, :library_group_id
|
26
|
+
add_index :libraries, :name, :unique => true
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class CreateShelves < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :shelves do |t|
|
4
|
+
t.string :name, :null => false
|
5
|
+
t.text :display_name
|
6
|
+
t.text :note
|
7
|
+
t.integer :library_id, :default => 1, :null => false
|
8
|
+
t.integer :items_count, :default => 0, :null => false
|
9
|
+
t.integer :position
|
10
|
+
t.timestamps
|
11
|
+
t.datetime :deleted_at
|
12
|
+
end
|
13
|
+
add_index :shelves, :library_id
|
14
|
+
end
|
15
|
+
end
|
data/spec/dummy/db/migrate/{20111201163342_create_user_groups.rb → 077_create_user_groups.rb}
RENAMED
@@ -1,12 +1,12 @@
|
|
1
1
|
class CreateUserGroups < ActiveRecord::Migration
|
2
2
|
def change
|
3
3
|
create_table :user_groups do |t|
|
4
|
-
t.string :name
|
4
|
+
t.string :name, :not_null => true
|
5
5
|
t.text :display_name
|
6
6
|
t.text :note
|
7
7
|
t.integer :position
|
8
|
-
|
9
8
|
t.timestamps
|
9
|
+
t.datetime :deleted_at
|
10
10
|
end
|
11
11
|
end
|
12
12
|
end
|
@@ -1,25 +1,18 @@
|
|
1
1
|
class CreateLibraryGroups < ActiveRecord::Migration
|
2
|
-
def
|
2
|
+
def change
|
3
3
|
create_table :library_groups do |t|
|
4
4
|
t.string :name, :null => false
|
5
5
|
t.text :display_name
|
6
6
|
t.string :short_name, :null => false
|
7
7
|
t.string :email
|
8
8
|
t.text :my_networks
|
9
|
-
t.boolean :use_dsbl, :default => false, :null => false
|
10
|
-
t.text :dsbl_list
|
11
9
|
t.text :login_banner
|
12
10
|
t.text :note
|
13
|
-
t.integer :valid_period_for_new_user, :default => 365, :null => false
|
14
|
-
t.boolean :post_to_union_catalog, :default => false, :null => false
|
15
11
|
t.integer :country_id
|
12
|
+
t.integer :position
|
16
13
|
|
17
14
|
t.timestamps
|
18
15
|
end
|
19
16
|
add_index :library_groups, :short_name
|
20
17
|
end
|
21
|
-
|
22
|
-
def self.down
|
23
|
-
drop_table :library_groups
|
24
|
-
end
|
25
18
|
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateBookstores < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :bookstores do |t|
|
4
|
+
t.text :name, :null => false
|
5
|
+
t.string :zip_code
|
6
|
+
t.text :address
|
7
|
+
t.text :note
|
8
|
+
t.string :telephone_number
|
9
|
+
t.string :fax_number
|
10
|
+
t.string :url
|
11
|
+
t.integer :position
|
12
|
+
t.datetime :deleted_at
|
13
|
+
|
14
|
+
t.timestamps
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateSubscriptions < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :subscriptions do |t|
|
4
|
+
t.text :title, :null => false
|
5
|
+
t.text :note
|
6
|
+
#t.integer :subscription_list_id, :integer
|
7
|
+
t.integer :user_id
|
8
|
+
t.integer :order_list_id
|
9
|
+
t.datetime :deleted_at
|
10
|
+
t.integer :subscribes_count, :default => 0, :null => false
|
11
|
+
|
12
|
+
t.timestamps
|
13
|
+
end
|
14
|
+
add_index :subscriptions, :user_id
|
15
|
+
add_index :subscriptions, :order_list_id
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class CreateSubscribes < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :subscribes do |t|
|
4
|
+
t.integer :subscription_id, :null => false
|
5
|
+
t.integer :work_id, :null => false
|
6
|
+
t.datetime :start_at, :null => false
|
7
|
+
t.datetime :end_at, :null => false
|
8
|
+
|
9
|
+
t.timestamps
|
10
|
+
end
|
11
|
+
add_index :subscribes, :subscription_id
|
12
|
+
add_index :subscribes, :work_id
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateSearchEngines < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :search_engines do |t|
|
4
|
+
t.string :name, :null => false
|
5
|
+
t.text :display_name
|
6
|
+
t.string :url, :null => false
|
7
|
+
t.text :base_url, :null => false
|
8
|
+
t.text :http_method, :null => false
|
9
|
+
t.text :query_param, :null => false
|
10
|
+
t.text :additional_param
|
11
|
+
t.text :note
|
12
|
+
t.integer :position
|
13
|
+
|
14
|
+
t.timestamps
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
class CreateCountries < ActiveRecord::Migration
|
2
|
+
|
3
|
+
# ISO 3166 is the International Standard for country codes.
|
4
|
+
#
|
5
|
+
# ISO 3166-1:2006 Codes for the representation of names of countries and their subdivisions - Part 1:
|
6
|
+
# Country codes which is what most users know as ISO's country codes. First published in 1974, it is has since
|
7
|
+
# then become one of the world's most popular and most widely used standard solution for coding country names.
|
8
|
+
# It contains a two-letter code which is recommended as the general purpose code, a three-letter code which has
|
9
|
+
# better mnenomic properties and a numeric-3 code which can be useful if script independence of the codes is important.
|
10
|
+
#
|
11
|
+
# http://www.iso.org/iso/country_codes/background_on_iso_3166/what_is_iso_3166.htm
|
12
|
+
|
13
|
+
def change
|
14
|
+
create_table :countries do |t|
|
15
|
+
t.string :name, :size => 80, :null => false
|
16
|
+
t.text :display_name
|
17
|
+
t.string :alpha_2, :size => 2
|
18
|
+
t.string :alpha_3, :size => 3
|
19
|
+
t.string :numeric_3, :size => 3
|
20
|
+
t.text :note
|
21
|
+
t.integer :position
|
22
|
+
end
|
23
|
+
add_index :countries, :name
|
24
|
+
add_index :countries, :alpha_2
|
25
|
+
add_index :countries, :alpha_3
|
26
|
+
add_index :countries, :numeric_3
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
class CreateVersions < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
create_table :versions do |t|
|
4
|
+
t.string :item_type, :null => false
|
5
|
+
t.integer :item_id, :null => false
|
6
|
+
t.string :event, :null => false
|
7
|
+
t.string :whodunnit
|
8
|
+
t.text :object
|
9
|
+
t.datetime :created_at
|
10
|
+
end
|
11
|
+
add_index :versions, [:item_type, :item_id]
|
12
|
+
end
|
13
|
+
|
14
|
+
def self.down
|
15
|
+
remove_index :versions, [:item_type, :item_id]
|
16
|
+
drop_table :versions
|
17
|
+
end
|
18
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class AddBirthDateAndDeathDateToPatron < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
add_column :patrons, :birth_date, :string
|
4
|
+
add_column :patrons, :death_date, :string
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.down
|
8
|
+
remove_column :patrons, :death_date
|
9
|
+
remove_column :patrons, :birth_date
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class AddValidPeriodForNewUserToUserGroup < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
add_column :user_groups, :valid_period_for_new_user, :integer, :default => 0, :null => false
|
4
|
+
add_column :user_groups, :expired_at, :timestamp
|
5
|
+
end
|
6
|
+
|
7
|
+
def self.down
|
8
|
+
remove_column :user_groups, :valid_period_for_new_user
|
9
|
+
remove_column :user_groups, :expired_at
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,46 @@
|
|
1
|
+
class DeviseCreateUsers < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table(:users) do |t|
|
4
|
+
## Database authenticatable
|
5
|
+
t.string :email, :null => false, :default => ""
|
6
|
+
t.string :encrypted_password, :null => false, :default => ""
|
7
|
+
|
8
|
+
## Recoverable
|
9
|
+
t.string :reset_password_token
|
10
|
+
t.datetime :reset_password_sent_at
|
11
|
+
|
12
|
+
## Rememberable
|
13
|
+
t.datetime :remember_created_at
|
14
|
+
|
15
|
+
## Trackable
|
16
|
+
t.integer :sign_in_count, :default => 0
|
17
|
+
t.datetime :current_sign_in_at
|
18
|
+
t.datetime :last_sign_in_at
|
19
|
+
t.string :current_sign_in_ip
|
20
|
+
t.string :last_sign_in_ip
|
21
|
+
|
22
|
+
## Confirmable
|
23
|
+
# t.string :confirmation_token
|
24
|
+
# t.datetime :confirmed_at
|
25
|
+
# t.datetime :confirmation_sent_at
|
26
|
+
# t.string :unconfirmed_email # Only if using reconfirmable
|
27
|
+
|
28
|
+
## Lockable
|
29
|
+
# t.integer :failed_attempts, :default => 0 # Only if lock strategy is :failed_attempts
|
30
|
+
# t.string :unlock_token # Only if unlock strategy is :email or :both
|
31
|
+
# t.datetime :locked_at
|
32
|
+
|
33
|
+
## Token authenticatable
|
34
|
+
# t.string :authentication_token
|
35
|
+
|
36
|
+
|
37
|
+
t.timestamps
|
38
|
+
end
|
39
|
+
|
40
|
+
add_index :users, :email, :unique => true
|
41
|
+
add_index :users, :reset_password_token, :unique => true
|
42
|
+
# add_index :users, :confirmation_token, :unique => true
|
43
|
+
# add_index :users, :unlock_token, :unique => true
|
44
|
+
# add_index :users, :authentication_token, :unique => true
|
45
|
+
end
|
46
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
class CreateAccepts < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :accepts do |t|
|
4
|
+
t.integer :basket_id
|
5
|
+
t.integer :item_id
|
6
|
+
t.integer :librarian_id
|
7
|
+
|
8
|
+
t.timestamps
|
9
|
+
end
|
10
|
+
|
11
|
+
add_index :accepts, :basket_id
|
12
|
+
add_index :accepts, :item_id
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
class AddAdditionalAttributesToUser < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
add_column :users, :username, :string
|
4
|
+
add_column :users, :user_number, :string
|
5
|
+
add_column :users, :state, :string
|
6
|
+
add_column :users, :locale, :string
|
7
|
+
add_column :users, :deleted_at, :datetime
|
8
|
+
add_column :users, :expired_at, :datetime
|
9
|
+
add_column :users, :library_id, :integer, :default => 1, :null => false
|
10
|
+
add_column :users, :required_role_id, :integer, :default => 1, :null => false
|
11
|
+
add_column :users, :user_group_id, :integer, :default => 1, :null => false
|
12
|
+
add_column :users, :note, :text
|
13
|
+
add_column :users, :keyword_list, :text
|
14
|
+
|
15
|
+
add_column :users, :failed_attempts, :integer
|
16
|
+
add_column :users, :unlock_token, :string
|
17
|
+
add_column :users, :locked_at, :datetime
|
18
|
+
|
19
|
+
add_column :users, :confirmed_at, :datetime
|
20
|
+
|
21
|
+
add_index :users, :username, :unique => true
|
22
|
+
add_index :users, :user_group_id
|
23
|
+
add_index :users, :user_number, :unique => true
|
24
|
+
add_index :users, :unlock_token, :unique => true
|
25
|
+
end
|
26
|
+
end
|