enju_event 0.0.9 → 0.0.10
Sign up to get free protection for your applications and to get access to all the features.
- data/app/models/event.rb +1 -1
- data/app/models/event_import_file.rb +78 -33
- data/app/views/event_import_files/new.html.erb +0 -2
- data/app/views/event_import_files/show.html.erb +2 -2
- data/config/locales/translation_en.yml +1 -1
- data/config/locales/translation_ja.yml +1 -1
- data/db/migrate/20081028093607_create_event_import_files.rb +1 -2
- data/db/migrate/20120413051535_add_event_fingerprint_to_event_import_file.rb +5 -0
- data/db/migrate/20120413170734_add_error_message_to_event_import_file.rb +5 -0
- data/lib/enju_event/version.rb +1 -1
- data/spec/controllers/calendar_controller_spec.rb +57 -0
- data/spec/controllers/participates_controller_spec.rb +1 -0
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb +5 -0
- data/spec/dummy/db/schema.rb +34 -33
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/private/system/event_import_files/event_imports/000/000/001/original/event_import_file_sample1.tsv +5 -0
- data/spec/dummy/private/system/event_import_files/event_imports/000/000/001/original/event_import_file_sample2.tsv +3 -0
- data/spec/dummy/private/system/event_import_files/event_imports/000/000/004/original/event_destroy_file.tsv +4 -0
- data/spec/dummy/private/system/event_import_files/event_imports/000/000/004/original/event_import_file_sample1.tsv +5 -0
- data/spec/dummy/private/system/event_import_files/event_imports/000/000/004/original/event_import_file_sample2.tsv +3 -0
- data/spec/dummy/private/system/event_import_files/event_imports/000/000/004/original/event_update_file.tsv +4 -0
- data/spec/dummy/private/system/event_imports/4/original/event_destroy_file.tsv +4 -0
- data/spec/dummy/private/system/event_imports/4/original/event_import_file_sample1.tsv +1 -1
- data/spec/dummy/private/system/event_imports/4/original/event_import_file_sample2.tsv +1 -1
- data/spec/dummy/private/system/event_imports/4/original/event_update_file.tsv +4 -0
- data/spec/dummy/solr/data/test/index/segments_1 +0 -0
- data/spec/dummy/solr/data/test/spellchecker/segments_1 +0 -0
- data/spec/fixtures/event_import_files.yml +0 -3
- data/spec/fixtures/libraries.yml +3 -2
- data/spec/models/event_import_file_spec.rb +29 -0
- data/spec/support/controller_macros.rb +3 -3
- metadata +75 -55
- data/spec/dummy/log/sunspot-solr-test.log +0 -222
- data/spec/dummy/log/test.log +0 -79263
data/app/models/event.rb
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
class EventImportFile < ActiveRecord::Base
|
2
2
|
include ImportFile
|
3
3
|
default_scope :order => 'id DESC'
|
4
|
-
scope :not_imported, where(:state => 'pending'
|
4
|
+
scope :not_imported, where(:state => 'pending')
|
5
5
|
scope :stucked, where('created_at < ? AND state = ?', 1.hour.ago, 'pending')
|
6
6
|
|
7
7
|
if configatron.uploaded_file.storage == :s3
|
@@ -15,7 +15,6 @@ class EventImportFile < ActiveRecord::Base
|
|
15
15
|
validates_attachment_presence :event_import
|
16
16
|
belongs_to :user, :validate => true
|
17
17
|
has_many :event_import_results
|
18
|
-
before_create :set_digest
|
19
18
|
|
20
19
|
state_machine :initial => :pending do
|
21
20
|
event :sm_start do
|
@@ -31,19 +30,15 @@ class EventImportFile < ActiveRecord::Base
|
|
31
30
|
end
|
32
31
|
end
|
33
32
|
|
34
|
-
def set_digest(options = {:type => 'sha1'})
|
35
|
-
if File.exists?(event_import.queued_for_write[:original])
|
36
|
-
self.file_hash = Digest::SHA1.hexdigest(File.open(event_import.queued_for_write[:original].path, 'rb').read)
|
37
|
-
end
|
38
|
-
end
|
39
|
-
|
40
33
|
def import_start
|
41
34
|
sm_start!
|
42
35
|
case edit_mode
|
43
36
|
when 'create'
|
44
37
|
import
|
45
38
|
when 'update'
|
39
|
+
modify
|
46
40
|
when 'destroy'
|
41
|
+
remove
|
47
42
|
else
|
48
43
|
import
|
49
44
|
end
|
@@ -55,43 +50,36 @@ class EventImportFile < ActiveRecord::Base
|
|
55
50
|
record = 2
|
56
51
|
|
57
52
|
rows = open_import_file
|
58
|
-
|
59
|
-
|
60
|
-
raise "You should specify a name in the first line"
|
61
|
-
end
|
62
|
-
if [field['start_at'], field['end_at']].reject{|field| field.to_s.strip == ""}.empty?
|
63
|
-
raise "You should specify dates in the first line"
|
64
|
-
end
|
65
|
-
#rows.shift
|
53
|
+
check_field(rows.first)
|
54
|
+
|
66
55
|
rows.each do |row|
|
67
56
|
next if row['dummy'].to_s.strip.present?
|
68
57
|
import_result = EventImportResult.create!(:event_import_file => self, :body => row.fields.join("\t"))
|
69
58
|
|
70
59
|
event = Event.new
|
71
|
-
event.name = row['name']
|
60
|
+
event.name = row['name'].to_s.strip
|
72
61
|
event.note = row['note']
|
73
62
|
event.start_at = row['start_at']
|
74
63
|
event.end_at = row['end_at']
|
75
64
|
category = row['category'].to_s.strip
|
76
|
-
|
77
|
-
|
65
|
+
if row['all_day'].to_s.strip.downcase == 'false'
|
66
|
+
event.all_day = false
|
67
|
+
else
|
68
|
+
event.all_day = true
|
69
|
+
end
|
70
|
+
library = Library.where(:name => row['library']).first
|
78
71
|
library = Library.web if library.blank?
|
79
72
|
event.library = library
|
80
73
|
event_category = EventCategory.where(:name => category).first || EventCategory.where(:name => 'unknown').first
|
81
74
|
event.event_category = event_category
|
82
75
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
GC.start
|
90
|
-
end
|
76
|
+
if event.save!
|
77
|
+
import_result.event = event
|
78
|
+
num[:imported] += 1
|
79
|
+
if record % 50 == 0
|
80
|
+
Sunspot.commit
|
81
|
+
GC.start
|
91
82
|
end
|
92
|
-
rescue
|
93
|
-
Rails.logger.info("event import failed: column #{record}")
|
94
|
-
num[:failed] += 1
|
95
83
|
end
|
96
84
|
import_result.save!
|
97
85
|
record += 1
|
@@ -101,6 +89,54 @@ class EventImportFile < ActiveRecord::Base
|
|
101
89
|
rows.close
|
102
90
|
sm_complete!
|
103
91
|
return num
|
92
|
+
#rescue => e
|
93
|
+
# self.error_message = e
|
94
|
+
# sm_fail!
|
95
|
+
end
|
96
|
+
|
97
|
+
def modify
|
98
|
+
sm_start!
|
99
|
+
rows = open_import_file
|
100
|
+
check_field(rows.first)
|
101
|
+
|
102
|
+
rows.each do |row|
|
103
|
+
next if row['dummy'].to_s.strip.present?
|
104
|
+
event = Event.find(row['id'].to_s.strip)
|
105
|
+
event_category = EventCategory.where(:name => row['category'].to_s.strip).first
|
106
|
+
event.event_category = event_category if event_category
|
107
|
+
library = Library.where(:name => row['library'].to_s.strip).first
|
108
|
+
event.library = library if library
|
109
|
+
event.name = row['name'] if row['name'].to_s.strip.present?
|
110
|
+
event.start_at = row['start_at'] if row['start_at'].to_s.strip.present?
|
111
|
+
event.end_at = row['end_at'] if row['end_at'].to_s.strip.present?
|
112
|
+
event.note = row['end_at'] if row['note'].to_s.strip.present?
|
113
|
+
if row['all_day'].to_s.strip.downcase == 'false'
|
114
|
+
event.all_day = false
|
115
|
+
else
|
116
|
+
event.all_day = true
|
117
|
+
end
|
118
|
+
event.save!
|
119
|
+
end
|
120
|
+
sm_complete!
|
121
|
+
#rescue => e
|
122
|
+
# self.error_message = e
|
123
|
+
# sm_fail!
|
124
|
+
end
|
125
|
+
|
126
|
+
def remove
|
127
|
+
sm_start!
|
128
|
+
rows = open_import_file
|
129
|
+
rows.shift
|
130
|
+
|
131
|
+
rows.each do |row|
|
132
|
+
next if row['dummy'].to_s.strip.present?
|
133
|
+
event = Event.find(row['id'].to_s.strip)
|
134
|
+
event.destroy
|
135
|
+
end
|
136
|
+
sm_complete!
|
137
|
+
#rescue => e
|
138
|
+
# self.error_message = e
|
139
|
+
# sm_fail!
|
104
140
|
end
|
105
141
|
|
106
142
|
def self.import
|
@@ -115,9 +151,9 @@ class EventImportFile < ActiveRecord::Base
|
|
115
151
|
def open_import_file
|
116
152
|
tempfile = Tempfile.new('event_import_file')
|
117
153
|
if configatron.uploaded_file.storage == :s3
|
118
|
-
uploaded_file_path =
|
154
|
+
uploaded_file_path = event_import.expiring_url(10)
|
119
155
|
else
|
120
|
-
uploaded_file_path =
|
156
|
+
uploaded_file_path = event_import.path
|
121
157
|
end
|
122
158
|
open(uploaded_file_path){|f|
|
123
159
|
f.each{|line|
|
@@ -140,6 +176,15 @@ class EventImportFile < ActiveRecord::Base
|
|
140
176
|
file.close
|
141
177
|
rows
|
142
178
|
end
|
179
|
+
|
180
|
+
def check_field(field)
|
181
|
+
if [field['name']].reject{|f| f.to_s.strip == ""}.empty?
|
182
|
+
raise "You should specify a name in the first line"
|
183
|
+
end
|
184
|
+
if [field['start_at'], field['end_at']].reject{|field| field.to_s.strip == ""}.empty?
|
185
|
+
raise "You should specify dates in the first line"
|
186
|
+
end
|
187
|
+
end
|
143
188
|
end
|
144
189
|
|
145
190
|
# == Schema Information
|
@@ -150,7 +195,6 @@ end
|
|
150
195
|
# parent_id :integer
|
151
196
|
# content_type :string(255)
|
152
197
|
# size :integer
|
153
|
-
# file_hash :string(255)
|
154
198
|
# user_id :integer
|
155
199
|
# note :text
|
156
200
|
# imported_at :datetime
|
@@ -162,5 +206,6 @@ end
|
|
162
206
|
# created_at :datetime
|
163
207
|
# updated_at :datetime
|
164
208
|
# edit_mode :string(255)
|
209
|
+
# event_import_fingerprint :string(255)
|
165
210
|
#
|
166
211
|
|
@@ -10,7 +10,6 @@
|
|
10
10
|
<%= f.file_field :event_import -%>
|
11
11
|
</div>
|
12
12
|
|
13
|
-
<!--
|
14
13
|
<div class="field">
|
15
14
|
<%= f.label :edit_mode -%><br />
|
16
15
|
<%= f.radio_button :edit_mode, 'create', :checked => 'checked' %>
|
@@ -20,7 +19,6 @@
|
|
20
19
|
<%= f.radio_button :edit_mode, 'destroy' %>
|
21
20
|
<%= f.label :edit_mode, t('page.destroy'), :value => 'destroy' %>
|
22
21
|
</div>
|
23
|
-
-->
|
24
22
|
|
25
23
|
<div class="actions">
|
26
24
|
<%= f.submit %>
|
@@ -24,8 +24,8 @@
|
|
24
24
|
</p>
|
25
25
|
|
26
26
|
<p>
|
27
|
-
<strong><%= t('activerecord.attributes.event_import_file.
|
28
|
-
<%= @event_import_file.
|
27
|
+
<strong><%= t('activerecord.attributes.event_import_file.event_import_fingerprint') -%>:</strong>
|
28
|
+
<%= @event_import_file.event_import_fingerprint -%>
|
29
29
|
</p>
|
30
30
|
|
31
31
|
<p>
|
@@ -4,7 +4,6 @@ class CreateEventImportFiles < ActiveRecord::Migration
|
|
4
4
|
t.integer :parent_id
|
5
5
|
t.string :content_type
|
6
6
|
t.integer :size
|
7
|
-
t.string :file_hash
|
8
7
|
t.integer :user_id
|
9
8
|
t.text :note
|
10
9
|
t.datetime :imported_at
|
@@ -14,12 +13,12 @@ class CreateEventImportFiles < ActiveRecord::Migration
|
|
14
13
|
t.integer :event_import_file_size
|
15
14
|
t.datetime :event_import_updated_at
|
16
15
|
t.string :edit_mode
|
16
|
+
t.string :event_import_fingerprint
|
17
17
|
|
18
18
|
t.timestamps
|
19
19
|
end
|
20
20
|
add_index :event_import_files, :parent_id
|
21
21
|
add_index :event_import_files, :user_id
|
22
|
-
add_index :event_import_files, :file_hash
|
23
22
|
add_index :event_import_files, :state
|
24
23
|
end
|
25
24
|
|
data/lib/enju_event/version.rb
CHANGED
@@ -0,0 +1,57 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe CalendarController do
|
4
|
+
fixtures :all
|
5
|
+
|
6
|
+
describe "GET index", :solr => true do
|
7
|
+
describe "When logged in as Administrator" do
|
8
|
+
login_admin
|
9
|
+
|
10
|
+
it "assigns all event_stripss as @event_stripss" do
|
11
|
+
get :index
|
12
|
+
assigns(:event_strips).should_not be_empty
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "When not logged in" do
|
17
|
+
it "assigns all event_stripss as @event_stripss" do
|
18
|
+
get :index
|
19
|
+
assigns(:event_strips).should_not be_empty
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should get index when a year and a month are set" do
|
23
|
+
get :index, :year => 2010, :month => 3
|
24
|
+
response.should be_success
|
25
|
+
assigns(:event_strips).should_not be_empty
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should redirect to a new event if no event is present" do
|
29
|
+
get :show, :year => 2010, :month => 3, :day => 1
|
30
|
+
response.should redirect_to new_event_path(:date => '2010/03/01')
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should redirect to an existing event" do
|
34
|
+
get :show, :year => 2008, :month => 1, :day => 13
|
35
|
+
response.should redirect_to events_path(:date => '2008/01/13')
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe "GET show" do
|
41
|
+
describe "When logged in as Administrator" do
|
42
|
+
login_admin
|
43
|
+
|
44
|
+
it "should redirect to a new event" do
|
45
|
+
get :show, :year => '2011', :month => '1', :day => '1'
|
46
|
+
response.should redirect_to(new_event_path(:date => '2011/01/01'))
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
describe "When not logged in" do
|
51
|
+
it "should redirect to a new event" do
|
52
|
+
get :show, :year => '2011', :month => '1', :day => '1'
|
53
|
+
response.should redirect_to(new_event_path(:date => '2011/01/01'))
|
54
|
+
end
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
File without changes
|
data/spec/dummy/db/schema.rb
CHANGED
@@ -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 =>
|
14
|
+
ActiveRecord::Schema.define(:version => 20120413170734) do
|
15
15
|
|
16
16
|
create_table "countries", :force => true do |t|
|
17
17
|
t.string "name", :null => false
|
@@ -37,8 +37,8 @@ ActiveRecord::Schema.define(:version => 20111201163718) do
|
|
37
37
|
t.datetime "locked_at"
|
38
38
|
t.datetime "failed_at"
|
39
39
|
t.string "locked_by"
|
40
|
-
t.datetime "created_at"
|
41
|
-
t.datetime "updated_at"
|
40
|
+
t.datetime "created_at", :null => false
|
41
|
+
t.datetime "updated_at", :null => false
|
42
42
|
end
|
43
43
|
|
44
44
|
add_index "delayed_jobs", ["priority", "run_at"], :name => "delayed_jobs_priority"
|
@@ -48,15 +48,14 @@ ActiveRecord::Schema.define(:version => 20111201163718) do
|
|
48
48
|
t.text "display_name"
|
49
49
|
t.text "note"
|
50
50
|
t.integer "position"
|
51
|
-
t.datetime "created_at"
|
52
|
-
t.datetime "updated_at"
|
51
|
+
t.datetime "created_at", :null => false
|
52
|
+
t.datetime "updated_at", :null => false
|
53
53
|
end
|
54
54
|
|
55
55
|
create_table "event_import_files", :force => true do |t|
|
56
56
|
t.integer "parent_id"
|
57
57
|
t.string "content_type"
|
58
58
|
t.integer "size"
|
59
|
-
t.string "file_hash"
|
60
59
|
t.integer "user_id"
|
61
60
|
t.text "note"
|
62
61
|
t.datetime "imported_at"
|
@@ -66,11 +65,12 @@ ActiveRecord::Schema.define(:version => 20111201163718) do
|
|
66
65
|
t.integer "event_import_file_size"
|
67
66
|
t.datetime "event_import_updated_at"
|
68
67
|
t.string "edit_mode"
|
69
|
-
t.datetime "created_at"
|
70
|
-
t.datetime "updated_at"
|
68
|
+
t.datetime "created_at", :null => false
|
69
|
+
t.datetime "updated_at", :null => false
|
70
|
+
t.string "event_fingerprint"
|
71
|
+
t.text "error_message"
|
71
72
|
end
|
72
73
|
|
73
|
-
add_index "event_import_files", ["file_hash"], :name => "index_event_import_files_on_file_hash"
|
74
74
|
add_index "event_import_files", ["parent_id"], :name => "index_event_import_files_on_parent_id"
|
75
75
|
add_index "event_import_files", ["state"], :name => "index_event_import_files_on_state"
|
76
76
|
add_index "event_import_files", ["user_id"], :name => "index_event_import_files_on_user_id"
|
@@ -79,8 +79,8 @@ ActiveRecord::Schema.define(:version => 20111201163718) do
|
|
79
79
|
t.integer "event_import_file_id"
|
80
80
|
t.integer "event_id"
|
81
81
|
t.text "body"
|
82
|
-
t.datetime "created_at"
|
83
|
-
t.datetime "updated_at"
|
82
|
+
t.datetime "created_at", :null => false
|
83
|
+
t.datetime "updated_at", :null => false
|
84
84
|
end
|
85
85
|
|
86
86
|
create_table "events", :force => true do |t|
|
@@ -93,8 +93,8 @@ ActiveRecord::Schema.define(:version => 20111201163718) do
|
|
93
93
|
t.boolean "all_day", :default => false, :null => false
|
94
94
|
t.datetime "deleted_at"
|
95
95
|
t.text "display_name"
|
96
|
-
t.datetime "created_at"
|
97
|
-
t.datetime "updated_at"
|
96
|
+
t.datetime "created_at", :null => false
|
97
|
+
t.datetime "updated_at", :null => false
|
98
98
|
end
|
99
99
|
|
100
100
|
add_index "events", ["event_category_id"], :name => "index_events_on_event_category_id"
|
@@ -136,9 +136,10 @@ ActiveRecord::Schema.define(:version => 20111201163718) do
|
|
136
136
|
t.integer "users_count", :default => 0, :null => false
|
137
137
|
t.integer "position"
|
138
138
|
t.integer "country_id"
|
139
|
-
t.datetime "created_at"
|
140
|
-
t.datetime "updated_at"
|
139
|
+
t.datetime "created_at", :null => false
|
140
|
+
t.datetime "updated_at", :null => false
|
141
141
|
t.datetime "deleted_at"
|
142
|
+
t.string "isil"
|
142
143
|
end
|
143
144
|
|
144
145
|
add_index "libraries", ["library_group_id"], :name => "index_libraries_on_library_group_id"
|
@@ -156,8 +157,8 @@ ActiveRecord::Schema.define(:version => 20111201163718) do
|
|
156
157
|
t.integer "valid_period_for_new_user", :default => 365, :null => false
|
157
158
|
t.boolean "post_to_union_catalog", :default => false, :null => false
|
158
159
|
t.integer "country_id"
|
159
|
-
t.datetime "created_at"
|
160
|
-
t.datetime "updated_at"
|
160
|
+
t.datetime "created_at", :null => false
|
161
|
+
t.datetime "updated_at", :null => false
|
161
162
|
t.text "admin_networks"
|
162
163
|
t.boolean "allow_bookmark_external_url", :default => false, :null => false
|
163
164
|
t.integer "position"
|
@@ -170,8 +171,8 @@ ActiveRecord::Schema.define(:version => 20111201163718) do
|
|
170
171
|
t.integer "patron_id", :null => false
|
171
172
|
t.integer "event_id", :null => false
|
172
173
|
t.integer "position"
|
173
|
-
t.datetime "created_at"
|
174
|
-
t.datetime "updated_at"
|
174
|
+
t.datetime "created_at", :null => false
|
175
|
+
t.datetime "updated_at", :null => false
|
175
176
|
end
|
176
177
|
|
177
178
|
add_index "participates", ["event_id"], :name => "index_participates_on_event_id"
|
@@ -182,8 +183,8 @@ ActiveRecord::Schema.define(:version => 20111201163718) do
|
|
182
183
|
t.text "display_name"
|
183
184
|
t.text "note"
|
184
185
|
t.integer "position"
|
185
|
-
t.datetime "created_at"
|
186
|
-
t.datetime "updated_at"
|
186
|
+
t.datetime "created_at", :null => false
|
187
|
+
t.datetime "updated_at", :null => false
|
187
188
|
end
|
188
189
|
|
189
190
|
create_table "patrons", :force => true do |t|
|
@@ -199,8 +200,8 @@ ActiveRecord::Schema.define(:version => 20111201163718) do
|
|
199
200
|
t.string "full_name"
|
200
201
|
t.text "full_name_transcription"
|
201
202
|
t.text "full_name_alternative"
|
202
|
-
t.datetime "created_at"
|
203
|
-
t.datetime "updated_at"
|
203
|
+
t.datetime "created_at", :null => false
|
204
|
+
t.datetime "updated_at", :null => false
|
204
205
|
t.datetime "deleted_at"
|
205
206
|
t.string "zip_code_1"
|
206
207
|
t.string "zip_code_2"
|
@@ -247,8 +248,8 @@ ActiveRecord::Schema.define(:version => 20111201163718) do
|
|
247
248
|
t.text "display_name"
|
248
249
|
t.text "note"
|
249
250
|
t.integer "position"
|
250
|
-
t.datetime "created_at"
|
251
|
-
t.datetime "updated_at"
|
251
|
+
t.datetime "created_at", :null => false
|
252
|
+
t.datetime "updated_at", :null => false
|
252
253
|
end
|
253
254
|
|
254
255
|
create_table "shelves", :force => true do |t|
|
@@ -258,8 +259,8 @@ ActiveRecord::Schema.define(:version => 20111201163718) do
|
|
258
259
|
t.integer "library_id", :default => 1, :null => false
|
259
260
|
t.integer "items_count", :default => 0, :null => false
|
260
261
|
t.integer "position"
|
261
|
-
t.datetime "created_at"
|
262
|
-
t.datetime "updated_at"
|
262
|
+
t.datetime "created_at", :null => false
|
263
|
+
t.datetime "updated_at", :null => false
|
263
264
|
t.datetime "deleted_at"
|
264
265
|
end
|
265
266
|
|
@@ -270,15 +271,15 @@ ActiveRecord::Schema.define(:version => 20111201163718) do
|
|
270
271
|
t.text "display_name"
|
271
272
|
t.text "note"
|
272
273
|
t.integer "position"
|
273
|
-
t.datetime "created_at"
|
274
|
-
t.datetime "updated_at"
|
274
|
+
t.datetime "created_at", :null => false
|
275
|
+
t.datetime "updated_at", :null => false
|
275
276
|
end
|
276
277
|
|
277
278
|
create_table "user_has_roles", :force => true do |t|
|
278
279
|
t.integer "user_id"
|
279
280
|
t.integer "role_id"
|
280
|
-
t.datetime "created_at"
|
281
|
-
t.datetime "updated_at"
|
281
|
+
t.datetime "created_at", :null => false
|
282
|
+
t.datetime "updated_at", :null => false
|
282
283
|
end
|
283
284
|
|
284
285
|
create_table "users", :force => true do |t|
|
@@ -288,8 +289,8 @@ ActiveRecord::Schema.define(:version => 20111201163718) do
|
|
288
289
|
t.text "note"
|
289
290
|
t.string "locale"
|
290
291
|
t.string "user_number"
|
291
|
-
t.datetime "created_at"
|
292
|
-
t.datetime "updated_at"
|
292
|
+
t.datetime "created_at", :null => false
|
293
|
+
t.datetime "updated_at", :null => false
|
293
294
|
t.string "email", :default => "", :null => false
|
294
295
|
t.string "encrypted_password", :limit => 128, :default => "", :null => false
|
295
296
|
t.string "reset_password_token"
|
data/spec/dummy/db/test.sqlite3
CHANGED
Binary file
|
Binary file
|
Binary file
|
@@ -4,7 +4,6 @@ event_import_file_00001:
|
|
4
4
|
id: 1
|
5
5
|
event_import_file_name: MyString
|
6
6
|
event_import_file_size: 1
|
7
|
-
file_hash: MyString
|
8
7
|
user_id: 1
|
9
8
|
event_import_content_type: text/csv
|
10
9
|
state: completed
|
@@ -12,7 +11,6 @@ event_import_file_00002:
|
|
12
11
|
id: 2
|
13
12
|
event_import_file_name: MyString
|
14
13
|
event_import_file_size: 1
|
15
|
-
file_hash: MyString
|
16
14
|
user_id: 1
|
17
15
|
event_import_content_type: text/csv
|
18
16
|
state: pending
|
@@ -20,7 +18,6 @@ event_import_file_00003:
|
|
20
18
|
id: 3
|
21
19
|
event_import_file_name: MyString
|
22
20
|
event_import_file_size: 1
|
23
|
-
file_hash: MyString
|
24
21
|
user_id: 1
|
25
22
|
event_import_content_type: text/csv
|
26
23
|
state: pending
|