enju_event 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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