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.
Files changed (35) hide show
  1. data/app/models/event.rb +1 -1
  2. data/app/models/event_import_file.rb +78 -33
  3. data/app/views/event_import_files/new.html.erb +0 -2
  4. data/app/views/event_import_files/show.html.erb +2 -2
  5. data/config/locales/translation_en.yml +1 -1
  6. data/config/locales/translation_ja.yml +1 -1
  7. data/db/migrate/20081028093607_create_event_import_files.rb +1 -2
  8. data/db/migrate/20120413051535_add_event_fingerprint_to_event_import_file.rb +5 -0
  9. data/db/migrate/20120413170734_add_error_message_to_event_import_file.rb +5 -0
  10. data/lib/enju_event/version.rb +1 -1
  11. data/spec/controllers/calendar_controller_spec.rb +57 -0
  12. data/spec/controllers/participates_controller_spec.rb +1 -0
  13. data/spec/dummy/db/development.sqlite3 +0 -0
  14. data/spec/dummy/db/migrate/20120105074911_add_isil_to_library.rb +5 -0
  15. data/spec/dummy/db/schema.rb +34 -33
  16. data/spec/dummy/db/test.sqlite3 +0 -0
  17. data/spec/dummy/private/system/event_import_files/event_imports/000/000/001/original/event_import_file_sample1.tsv +5 -0
  18. data/spec/dummy/private/system/event_import_files/event_imports/000/000/001/original/event_import_file_sample2.tsv +3 -0
  19. data/spec/dummy/private/system/event_import_files/event_imports/000/000/004/original/event_destroy_file.tsv +4 -0
  20. data/spec/dummy/private/system/event_import_files/event_imports/000/000/004/original/event_import_file_sample1.tsv +5 -0
  21. data/spec/dummy/private/system/event_import_files/event_imports/000/000/004/original/event_import_file_sample2.tsv +3 -0
  22. data/spec/dummy/private/system/event_import_files/event_imports/000/000/004/original/event_update_file.tsv +4 -0
  23. data/spec/dummy/private/system/event_imports/4/original/event_destroy_file.tsv +4 -0
  24. data/spec/dummy/private/system/event_imports/4/original/event_import_file_sample1.tsv +1 -1
  25. data/spec/dummy/private/system/event_imports/4/original/event_import_file_sample2.tsv +1 -1
  26. data/spec/dummy/private/system/event_imports/4/original/event_update_file.tsv +4 -0
  27. data/spec/dummy/solr/data/test/index/segments_1 +0 -0
  28. data/spec/dummy/solr/data/test/spellchecker/segments_1 +0 -0
  29. data/spec/fixtures/event_import_files.yml +0 -3
  30. data/spec/fixtures/libraries.yml +3 -2
  31. data/spec/models/event_import_file_spec.rb +29 -0
  32. data/spec/support/controller_macros.rb +3 -3
  33. metadata +75 -55
  34. data/spec/dummy/log/sunspot-solr-test.log +0 -222
  35. data/spec/dummy/log/test.log +0 -79263
data/app/models/event.rb CHANGED
@@ -47,7 +47,7 @@ class Event < ActiveRecord::Base
47
47
  end
48
48
 
49
49
  def set_all_day
50
- if self.all_day
50
+ if all_day
51
51
  self.start_at = self.start_at.beginning_of_day
52
52
  self.end_at = self.end_at.end_of_day
53
53
  end
@@ -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', :imported_at => nil)
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
- field = rows.first
59
- if [field['name']].reject{|f| f.to_s.strip == ""}.empty?
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
- event.all_day = true
77
- library = Library.where(:name => row['library_short_name']).first
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
- begin
84
- if event.save!
85
- import_result.event = event
86
- num[:imported] += 1
87
- if record % 50 == 0
88
- Sunspot.commit
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 = open(self.event_import.expiring_url(10)).path
154
+ uploaded_file_path = event_import.expiring_url(10)
119
155
  else
120
- uploaded_file_path = self.event_import.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.file_hash') -%>:</strong>
28
- <%= @event_import_file.file_hash -%>
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>
@@ -24,7 +24,7 @@ en:
24
24
  event_import_file_name: Filename
25
25
  event_import_content_type: Content type
26
26
  event_import_file_size: Size
27
- file_hash: File hash
27
+ event_import_fingerprint: File hash
28
28
  note: Note
29
29
  imported_at: Imported at
30
30
  event_import_updated_at: Updated at
@@ -24,7 +24,7 @@ ja:
24
24
  event_import_file_name: ファイル名
25
25
  event_import_content_type: Content-Type
26
26
  event_import_file_size: ファイルサイズ
27
- file_hash: ファイルのハッシュ
27
+ event_import_fingerprint: ファイルのハッシュ
28
28
  note: 注記
29
29
  imported_at: インポート時刻
30
30
  event_import_updated_at: 更新時刻
@@ -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
 
@@ -0,0 +1,5 @@
1
+ class AddEventFingerprintToEventImportFile < ActiveRecord::Migration
2
+ def change
3
+ add_column :event_import_files, :event_fingerprint, :string
4
+ end
5
+ end
@@ -0,0 +1,5 @@
1
+ class AddErrorMessageToEventImportFile < ActiveRecord::Migration
2
+ def change
3
+ add_column :event_import_files, :error_message, :text
4
+ end
5
+ end
@@ -1,3 +1,3 @@
1
1
  module EnjuEvent
2
- VERSION = "0.0.9"
2
+ VERSION = "0.0.10"
3
3
  end
@@ -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
@@ -2,6 +2,7 @@ require 'spec_helper'
2
2
  require 'sunspot/rails/spec_helper'
3
3
 
4
4
  describe ParticipatesController do
5
+ fixtures :all
5
6
  disconnect_sunspot
6
7
 
7
8
  def valid_attributes
File without changes
@@ -0,0 +1,5 @@
1
+ class AddIsilToLibrary < ActiveRecord::Migration
2
+ def change
3
+ add_column :libraries, :isil, :string
4
+ end
5
+ end
@@ -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 => 20111201163718) do
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"
Binary file
@@ -0,0 +1,5 @@
1
+ "name" "category" "library_shortname" "start_at" "end_at" "dummy"
2
+ "イベント名" "カテゴリ。休館日の場合はclosed" "図書館名" "開始日" "終了日" "インポート省略"
3
+ "hogehoge" "おはなし会" "kamata" "2009-04-01" "2009-04-03"
4
+ "hogehoge" "hachioji"
5
+ "休館日" "closed" "kamata" "2011-04-01" "2011-04-03"
@@ -0,0 +1,3 @@
1
+ "name" "library_shortname" "start_at" "end_at"
2
+ "���{��̍Â���" "kamata" "2011-03-26" "2011-03-27"
3
+ "���{��̍Â���2" "kamata" "2011-03-26" "2011-03-27"
@@ -0,0 +1,5 @@
1
+ "name" "category" "library" "start_at" "end_at" "dummy"
2
+ "イベント名" "カテゴリ。休館日の場合はclosed" "図書館名" "開始日" "終了日" "インポート省略"
3
+ "hogehoge" "おはなし会" "kamata" "2009-04-01" "2009-04-03"
4
+ "hogehoge" "hachioji"
5
+ "休館日" "closed" "kamata" "2011-04-01" "2011-04-03"
@@ -0,0 +1,3 @@
1
+ "name" "library" "start_at" "end_at"
2
+ "���{��̍Â���" "kamata" "2011-03-26" "2011-03-27"
3
+ "���{��̍Â���2" "kamata" "2011-03-26" "2011-03-27"
@@ -0,0 +1,4 @@
1
+ id name category library start_at end_at all_day note dummy
2
+ 1 変更後のイベント名 kamata 2012-04-01 2012-04-02
3
+ 2 mita 2012-04-03 FALSE
4
+ 3 変更後のイベント名 この行は無視される
@@ -0,0 +1,4 @@
1
+ id dummy
2
+ 1
3
+ 2
4
+ 3 この行は無視される
@@ -1,4 +1,4 @@
1
- "name" "category" "library_shortname" "start_at" "end_at" "dummy"
1
+ "name" "category" "library" "start_at" "end_at" "dummy"
2
2
  "イベント名" "カテゴリ。休館日の場合はclosed" "図書館名" "開始日" "終了日" "インポート省略"
3
3
  "hogehoge" "おはなし会" "kamata" "2009-04-01" "2009-04-03"
4
4
  "hogehoge" "hachioji"
@@ -1,3 +1,3 @@
1
- "name" "library_shortname" "start_at" "end_at"
1
+ "name" "library" "start_at" "end_at"
2
2
  "���{��̍Â���" "kamata" "2011-03-26" "2011-03-27"
3
3
  "���{��̍Â���2" "kamata" "2011-03-26" "2011-03-27"
@@ -0,0 +1,4 @@
1
+ id name category library start_at end_at all_day note dummy
2
+ 1 変更後のイベント名 kamata 2012-04-01 2012-04-02
3
+ 2 mita 2012-04-03 FALSE
4
+ 3 変更後のイベント名 この行は無視される
@@ -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