enju_event 0.1.17.pre18 → 0.1.17.pre19
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/event_export_files_controller.rb +100 -0
- data/app/controllers/event_import_files_controller.rb +21 -12
- data/app/controllers/event_import_results_controller.rb +1 -1
- data/app/controllers/events_controller.rb +16 -16
- data/app/controllers/participates_controller.rb +8 -8
- data/app/models/enju_event/ability.rb +2 -0
- data/app/models/event.rb +36 -15
- data/app/models/event_category.rb +1 -1
- data/app/models/event_export_file.rb +51 -0
- data/app/models/event_export_file_state_machine.rb +15 -0
- data/app/models/event_export_file_transition.rb +20 -0
- data/app/models/event_import_file.rb +44 -45
- data/app/models/event_import_result.rb +2 -2
- data/app/models/participate.rb +2 -2
- data/app/views/calendar/index.html.erb +6 -6
- data/app/views/event_categories/edit.html.erb +1 -1
- data/app/views/event_categories/index.html.erb +3 -3
- data/app/views/event_categories/new.html.erb +1 -1
- data/app/views/event_categories/show.html.erb +1 -1
- data/app/views/event_export_files/_form.html.erb +22 -0
- data/app/views/event_export_files/edit.html.erb +6 -0
- data/app/views/event_export_files/index.html.erb +44 -0
- data/app/views/event_export_files/new.html.erb +16 -0
- data/app/views/event_export_files/show.html.erb +31 -0
- data/app/views/event_import_files/edit.html.erb +1 -1
- data/app/views/event_import_files/index.html.erb +30 -25
- data/app/views/event_import_files/new.html.erb +24 -12
- data/app/views/event_import_files/show.html.erb +14 -4
- data/app/views/event_import_results/index.html.erb +6 -6
- data/app/views/event_import_results/{index.tsv.erb → index.txt.erb} +1 -1
- data/app/views/event_import_results/show.html.erb +1 -1
- data/app/views/events/_form.html.erb +6 -6
- data/app/views/events/edit.html.erb +2 -2
- data/app/views/events/index.atom.builder +2 -2
- data/app/views/events/index.html.erb +22 -22
- data/app/views/events/index.mobile.erb +11 -11
- data/app/views/events/index.rss.builder +5 -5
- data/app/views/events/index.txt.erb +4 -0
- data/app/views/events/new.html.erb +1 -1
- data/app/views/events/show.html.erb +5 -5
- data/app/views/events/show.mobile.erb +4 -4
- data/app/views/layouts/calendar.html.erb +3 -3
- data/app/views/participates/edit.html.erb +1 -1
- data/app/views/participates/index.html.erb +3 -3
- data/app/views/participates/new.html.erb +1 -1
- data/app/views/participates/show.html.erb +1 -1
- data/app/workers/event_export_file_queue.rb +7 -0
- data/config/locales/translation_en.yml +10 -0
- data/config/locales/translation_ja.yml +11 -1
- data/config/routes.rb +4 -3
- data/db/migrate/113_create_events.rb +2 -2
- data/db/migrate/20140720192418_add_default_library_id_to_event_import_file.rb +5 -0
- data/db/migrate/20140812152348_create_event_export_files.rb +11 -0
- data/db/migrate/20140812153137_create_event_export_file_transitions.rb +14 -0
- data/db/migrate/20140814070854_add_default_event_category_id_to_event_import_file.rb +5 -0
- data/lib/enju_event/version.rb +1 -1
- data/spec/controllers/calendar_controller_spec.rb +2 -2
- data/spec/controllers/event_categories_controller_spec.rb +21 -21
- data/spec/controllers/event_export_files_controller_spec.rb +286 -0
- data/spec/controllers/event_import_files_controller_spec.rb +20 -60
- data/spec/controllers/event_import_results_controller_spec.rb +6 -18
- data/spec/controllers/events_controller_spec.rb +21 -63
- data/spec/controllers/participates_controller_spec.rb +21 -21
- data/spec/dummy/app/helpers/application_helper.rb +1 -0
- data/spec/dummy/app/models/user.rb +2 -84
- data/spec/dummy/config/environments/test.rb +6 -6
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/001_create_agents.rb +0 -1
- data/spec/dummy/db/migrate/{20111201155456_devise_create_users.rb → 002_devise_create_users.rb} +6 -2
- data/spec/dummy/db/migrate/005_create_manifestations.rb +7 -7
- data/spec/dummy/db/migrate/006_create_items.rb +0 -3
- data/spec/dummy/db/migrate/041_create_roles.rb +13 -0
- data/spec/dummy/db/migrate/080_create_library_groups.rb +0 -1
- data/spec/dummy/db/migrate/154_create_messages.rb +0 -1
- data/spec/dummy/db/migrate/20080819181903_create_message_requests.rb +0 -2
- data/spec/dummy/db/migrate/20081028083142_create_agent_import_files.rb +0 -2
- data/spec/dummy/db/migrate/20081028083208_create_resource_import_files.rb +1 -3
- data/spec/dummy/db/migrate/20081212080038_create_manifestation_checkout_stats.rb +0 -1
- data/spec/dummy/db/migrate/20081215094302_create_user_checkout_stats.rb +0 -1
- data/spec/dummy/db/migrate/20081216190724_create_manifestation_reserve_stats.rb +0 -1
- data/spec/dummy/db/migrate/20081220023628_create_user_reserve_stats.rb +0 -1
- data/spec/dummy/db/migrate/20090321130448_add_completed_at_to_user_checkout_stat.rb +0 -4
- data/spec/dummy/db/migrate/20100129142347_create_import_requests.rb +0 -1
- data/spec/dummy/db/migrate/{20111201163718_create_user_has_roles.rb → 20100606065209_create_user_has_roles.rb} +2 -0
- data/spec/dummy/db/migrate/20110627034940_create_series_statement_merge_lists.rb +9 -0
- data/spec/dummy/db/migrate/20110627035057_create_series_statement_merges.rb +12 -0
- data/spec/dummy/db/migrate/20121116031206_add_fulltext_content_to_manifestation.rb +5 -0
- data/spec/dummy/db/migrate/20130221154434_add_additional_attributes_to_user.rb +0 -10
- data/spec/dummy/db/migrate/20140110122216_create_user_import_files.rb +18 -0
- data/spec/dummy/db/migrate/20140110131010_create_user_import_results.rb +11 -0
- data/spec/dummy/db/migrate/20140122054321_create_profiles.rb +20 -0
- data/spec/dummy/db/migrate/20140518111006_create_message_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140518135713_create_message_request_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140519170214_create_resource_import_file_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140519171220_create_import_request_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140524020735_create_agent_import_file_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140524074813_create_user_import_file_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140528045518_create_user_checkout_stat_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140528045539_create_user_reserve_stat_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140528045600_create_manifestation_checkout_stat_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140528045617_create_manifestation_reserve_stat_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140614065404_create_resource_export_files.rb +11 -0
- data/spec/dummy/db/migrate/20140614141500_create_resource_export_file_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140628072217_add_user_encoding_to_user_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20140628073524_add_user_encoding_to_agent_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20140628073535_add_user_encoding_to_resource_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20140709113413_create_user_export_files.rb +11 -0
- data/spec/dummy/db/migrate/20140709113905_create_user_export_file_transitions.rb +14 -0
- data/spec/dummy/db/migrate/20140720140916_add_binding_item_identifier_to_item.rb +8 -0
- data/spec/dummy/db/migrate/20140720170714_add_default_library_id_to_user_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20140720170735_add_default_user_group_id_to_user_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20140721151416_add_default_shelf_id_to_resource_import_file.rb +5 -0
- data/spec/dummy/db/migrate/20140802082007_add_manifestation_id_to_item.rb +6 -0
- data/spec/dummy/db/migrate/20140810061942_add_user_id_to_stat.rb +12 -0
- data/spec/dummy/db/migrate/20140810091231_add_checkout_icalendar_token_to_profile.rb +6 -0
- data/spec/dummy/db/migrate/20140810091417_add_save_checkout_history_to_profile.rb +5 -0
- data/spec/dummy/db/migrate/20140811031145_add_expired_at_to_profile.rb +5 -0
- data/spec/dummy/db/schema.rb +290 -165
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/private/system/event_import_files/event_imports/000/000/004/original/event_import51.txt +3 -0
- data/spec/dummy/private/system/event_import_files/event_imports/000/000/004/original/event_import_file_sample1.tsv +1 -1
- data/spec/dummy/solr/default/data/index/_1dz.fdt +0 -0
- data/spec/dummy/solr/default/data/index/{_b2.si → _1dz.si} +0 -0
- data/spec/dummy/solr/default/data/index/{_b2_Lucene41_0.tim → _1dz_Lucene41_0.tim} +0 -0
- data/spec/dummy/solr/default/data/index/_1e0.fdt +0 -0
- data/spec/dummy/solr/default/data/index/{_b3.fnm → _1e0.fnm} +0 -0
- data/spec/dummy/solr/default/data/index/{_b3.si → _1e0.si} +0 -0
- data/spec/dummy/solr/default/data/index/_1e0_Lucene41_0.pos +0 -0
- data/spec/dummy/solr/default/data/index/_1e0_Lucene41_0.tim +0 -0
- data/spec/dummy/solr/default/data/index/_1e0_Lucene41_0.tip +0 -0
- data/spec/dummy/solr/default/data/index/segments.gen +0 -0
- data/spec/dummy/solr/default/data/index/segments_1yj +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000002528 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000002529 +0 -0
- data/spec/dummy/solr/default/data/tlog/{tlog.0000000000000000632 → tlog.0000000000000002530} +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000002531 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000002532 +0 -0
- data/spec/dummy/solr/default/data/tlog/{tlog.0000000000000000635 → tlog.0000000000000002533} +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000002534 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000002535 +0 -0
- data/spec/dummy/solr/default/data/tlog/{tlog.0000000000000000638 → tlog.0000000000000002536} +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000002537 +0 -0
- data/spec/dummy/solr/test/data/index/_a.fdt +0 -0
- data/spec/dummy/solr/test/data/index/_a.fdx +0 -0
- data/spec/dummy/solr/test/data/index/_a.fnm +0 -0
- data/spec/dummy/solr/test/data/index/_a.nvd +0 -0
- data/spec/dummy/solr/test/data/index/_a.nvm +0 -0
- data/spec/dummy/solr/test/data/index/_a.si +0 -0
- data/spec/dummy/solr/test/data/index/_a_Lucene41_0.doc +0 -0
- data/spec/dummy/solr/test/data/index/_a_Lucene41_0.pos +0 -0
- data/spec/dummy/solr/test/data/index/_a_Lucene41_0.tim +0 -0
- data/spec/dummy/solr/test/data/index/_a_Lucene41_0.tip +0 -0
- data/spec/dummy/solr/test/data/index/segments.gen +0 -0
- data/spec/dummy/solr/test/data/index/segments_n +0 -0
- data/spec/dummy/solr/test/data/tlog/tlog.0000000000000000013 +0 -0
- data/spec/dummy/solr/test/data/tlog/tlog.0000000000000000014 +0 -0
- data/spec/dummy/solr/test/data/tlog/tlog.0000000000000000015 +0 -0
- data/spec/dummy/solr/test/data/tlog/tlog.0000000000000000016 +0 -0
- data/spec/dummy/solr/test/data/tlog/tlog.0000000000000000017 +0 -0
- data/spec/dummy/solr/test/data/tlog/tlog.0000000000000000018 +0 -0
- data/spec/dummy/solr/test/data/tlog/tlog.0000000000000000019 +0 -0
- data/spec/dummy/solr/test/data/tlog/tlog.0000000000000000020 +0 -0
- data/spec/dummy/solr/test/data/tlog/tlog.0000000000000000021 +0 -0
- data/spec/dummy/tmp/cache/stdout +27 -0
- data/spec/dummy/tmp/pids/redis-test.pid +1 -0
- data/spec/factories/event.rb +2 -0
- data/spec/factories/profile.rb +10 -0
- data/spec/factories/user.rb +21 -9
- data/spec/fixtures/event_categories.yml +8 -8
- data/spec/fixtures/event_export_files.yml +26 -0
- data/spec/fixtures/event_import_files.yml +2 -1
- data/spec/fixtures/events.yml +2 -3
- data/spec/fixtures/library_groups.yml +0 -2
- data/spec/fixtures/message_templates.yml +105 -0
- data/spec/fixtures/profiles.yml +98 -0
- data/spec/fixtures/user_groups.yml +3 -3
- data/spec/fixtures/users.yml +3 -21
- data/spec/models/event_export_file_spec.rb +31 -0
- data/spec/models/event_import_file_spec.rb +37 -11
- data/spec/models/event_spec.rb +2 -3
- data/spec/support/resque.rb +1 -0
- data/spec/views/event_export_files/edit.html.erb_spec.rb +16 -0
- data/spec/views/event_export_files/index.html.erb_spec.rb +17 -0
- data/spec/views/event_export_files/new.html.erb_spec.rb +16 -0
- data/spec/views/event_export_files/show.html.erb_spec.rb +13 -0
- metadata +222 -118
- data/app/views/events/index.csv.erb +0 -4
- data/spec/dummy/app/mailers/notifier.rb +0 -28
- data/spec/dummy/db/migrate/029_create_subjects.rb +0 -27
- data/spec/dummy/db/migrate/142_create_classifications.rb +0 -19
- data/spec/dummy/db/migrate/143_create_subject_has_classifications.rb +0 -16
- data/spec/dummy/db/migrate/144_create_classification_types.rb +0 -16
- data/spec/dummy/db/migrate/145_create_subject_heading_types.rb +0 -16
- data/spec/dummy/db/migrate/146_create_subject_types.rb +0 -16
- data/spec/dummy/db/migrate/20080606052544_create_work_has_subjects.rb +0 -18
- data/spec/dummy/db/migrate/20090208044541_create_subject_heading_type_has_subjects.rb +0 -16
- data/spec/dummy/db/migrate/20110425133109_add_issn_to_series_statement.rb +0 -9
- data/spec/dummy/db/migrate/20110618091240_add_periodical_to_series_statement.rb +0 -9
- data/spec/dummy/db/migrate/20110820131417_create_series_has_manifestations.rb +0 -13
- data/spec/dummy/db/migrate/20110913120629_add_lft_and_rgt_to_classification.rb +0 -11
- data/spec/dummy/db/migrate/20110916053430_rename_manifestation_number_list_to_number_string.rb +0 -13
- data/spec/dummy/db/migrate/20111009183423_add_ndc_to_manifestation.rb +0 -9
- data/spec/dummy/db/migrate/20111201121844_create_roles.rb +0 -12
- data/spec/dummy/db/migrate/20120406020752_add_url_to_subject.rb +0 -5
- data/spec/dummy/db/migrate/20120415060308_rename_resource_import_file_imported_at_to_executed_at.rb +0 -9
- data/spec/dummy/db/migrate/20130504133816_add_manifestation_id_to_subject.rb +0 -6
- data/spec/dummy/db/migrate/20130504143515_add_manifestation_id_to_classification.rb +0 -6
- data/spec/dummy/db/migrate/20130504195916_add_subject_heading_type_id_to_subject.rb +0 -5
- data/spec/dummy/solr/default/data/index/_b2.fdt +0 -0
- data/spec/dummy/solr/default/data/index/_b3.fdt +0 -0
- data/spec/dummy/solr/default/data/index/_b3_Lucene41_0.pos +0 -0
- data/spec/dummy/solr/default/data/index/_b3_Lucene41_0.tim +0 -0
- data/spec/dummy/solr/default/data/index/_b3_Lucene41_0.tip +0 -0
- data/spec/dummy/solr/default/data/index/segments_ht +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000630 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000631 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000633 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000634 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000636 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000637 +0 -0
- data/spec/dummy/solr/default/data/tlog/tlog.0000000000000000639 +0 -0
- data/spec/dummy/solr/test/data/index/segments_1 +0 -0
- /data/spec/dummy/solr/default/data/index/{_b2.fdx → _1dz.fdx} +0 -0
- /data/spec/dummy/solr/default/data/index/{_b2.fnm → _1dz.fnm} +0 -0
- /data/spec/dummy/solr/default/data/index/{_b2.nvd → _1dz.nvd} +0 -0
- /data/spec/dummy/solr/default/data/index/{_b2.nvm → _1dz.nvm} +0 -0
- /data/spec/dummy/solr/default/data/index/{_b2_Lucene41_0.doc → _1dz_Lucene41_0.doc} +0 -0
- /data/spec/dummy/solr/default/data/index/{_b2_Lucene41_0.pos → _1dz_Lucene41_0.pos} +0 -0
- /data/spec/dummy/solr/default/data/index/{_b2_Lucene41_0.tip → _1dz_Lucene41_0.tip} +0 -0
- /data/spec/dummy/solr/default/data/index/{_b3.fdx → _1e0.fdx} +0 -0
- /data/spec/dummy/solr/default/data/index/{_b3.nvd → _1e0.nvd} +0 -0
- /data/spec/dummy/solr/default/data/index/{_b3.nvm → _1e0.nvm} +0 -0
- /data/spec/dummy/solr/default/data/index/{_b3_Lucene41_0.doc → _1e0_Lucene41_0.doc} +0 -0
@@ -1,7 +1,8 @@
|
|
1
1
|
class EventImportFile < ActiveRecord::Base
|
2
2
|
include Statesman::Adapters::ActiveRecordModel
|
3
3
|
include ImportFile
|
4
|
-
attr_accessible :event_import, :edit_mode, :user_encoding, :mode
|
4
|
+
attr_accessible :event_import, :edit_mode, :user_encoding, :mode,
|
5
|
+
:default_library_id, :default_event_category_id
|
5
6
|
default_scope {order('event_import_files.id DESC')}
|
6
7
|
scope :not_imported, -> {in_state(:pending)}
|
7
8
|
scope :stucked, -> {in_state(:pending).where('created_at < ?', 1.hour.ago)}
|
@@ -12,7 +13,7 @@ class EventImportFile < ActiveRecord::Base
|
|
12
13
|
:s3_permissions => :private
|
13
14
|
else
|
14
15
|
has_attached_file :event_import,
|
15
|
-
:
|
16
|
+
path: ":rails_root/private/system/:class/:attachment/:id_partition/:style/:filename"
|
16
17
|
end
|
17
18
|
validates_attachment_content_type :event_import, :content_type => [
|
18
19
|
'text/csv',
|
@@ -22,7 +23,9 @@ class EventImportFile < ActiveRecord::Base
|
|
22
23
|
'application/vnd.ms-excel'
|
23
24
|
]
|
24
25
|
validates_attachment_presence :event_import
|
25
|
-
belongs_to :user, :
|
26
|
+
belongs_to :user, validate: true
|
27
|
+
belongs_to :default_library, class_name: 'Library'
|
28
|
+
belongs_to :default_event_category, class_name: 'EventCategory'
|
26
29
|
has_many :event_import_results
|
27
30
|
|
28
31
|
has_many :event_import_file_transitions
|
@@ -40,7 +43,7 @@ class EventImportFile < ActiveRecord::Base
|
|
40
43
|
def import
|
41
44
|
transition_to!(:started)
|
42
45
|
num = {:imported => 0, :failed => 0}
|
43
|
-
rows = open_import_file(create_import_temp_file)
|
46
|
+
rows = open_import_file(create_import_temp_file(event_import))
|
44
47
|
check_field(rows.first)
|
45
48
|
row_num = 1
|
46
49
|
|
@@ -48,24 +51,26 @@ class EventImportFile < ActiveRecord::Base
|
|
48
51
|
row_num += 1
|
49
52
|
next if row['dummy'].to_s.strip.present?
|
50
53
|
event_import_result = EventImportResult.new
|
51
|
-
event_import_result.assign_attributes({:event_import_file_id => id, :
|
54
|
+
event_import_result.assign_attributes({:event_import_file_id => id, body: row.fields.join("\t")}, as: :admin)
|
52
55
|
event_import_result.save!
|
53
56
|
|
54
57
|
event = Event.new
|
55
58
|
event.name = row['name'].to_s.strip
|
59
|
+
event.display_name = row['display_name']
|
56
60
|
event.note = row['note']
|
57
|
-
event.start_at = row['start_at']
|
58
|
-
event.end_at = row['end_at']
|
59
|
-
category = row['
|
60
|
-
if row['all_day'].to_s.strip
|
61
|
-
event.all_day = false
|
62
|
-
else
|
61
|
+
event.start_at = Time.zone.parse(row['start_at']) if row['start_at'].present?
|
62
|
+
event.end_at = Time.zone.parse(row['end_at']) if row['end_at'].present?
|
63
|
+
category = row['event_category'].to_s.strip
|
64
|
+
if %w(t true TRUE).include?(row['all_day'].to_s.strip)
|
63
65
|
event.all_day = true
|
66
|
+
else
|
67
|
+
event.all_day = false
|
64
68
|
end
|
65
|
-
library = Library.where(:
|
66
|
-
library = Library.web if library.blank?
|
69
|
+
library = Library.where(name: row['library']).first
|
70
|
+
library = default_library || Library.web if library.blank?
|
67
71
|
event.library = library
|
68
|
-
event_category = EventCategory.where(
|
72
|
+
event_category = EventCategory.where(name: row['event_category']).first
|
73
|
+
event_category = default_event_category if event_category.blank?
|
69
74
|
event.event_category = event_category
|
70
75
|
|
71
76
|
if event.save
|
@@ -83,7 +88,8 @@ class EventImportFile < ActiveRecord::Base
|
|
83
88
|
Sunspot.commit
|
84
89
|
rows.close
|
85
90
|
transition_to!(:completed)
|
86
|
-
|
91
|
+
send_message
|
92
|
+
num
|
87
93
|
rescue => e
|
88
94
|
self.error_message = "line #{row_num}: #{e.message}"
|
89
95
|
transition_to!(:failed)
|
@@ -92,7 +98,7 @@ class EventImportFile < ActiveRecord::Base
|
|
92
98
|
|
93
99
|
def modify
|
94
100
|
transition_to!(:started)
|
95
|
-
rows = open_import_file(create_import_temp_file)
|
101
|
+
rows = open_import_file(create_import_temp_file(event_import))
|
96
102
|
check_field(rows.first)
|
97
103
|
row_num = 1
|
98
104
|
|
@@ -100,18 +106,18 @@ class EventImportFile < ActiveRecord::Base
|
|
100
106
|
row_num += 1
|
101
107
|
next if row['dummy'].to_s.strip.present?
|
102
108
|
event = Event.find(row['id'].to_s.strip)
|
103
|
-
event_category = EventCategory.where(:
|
109
|
+
event_category = EventCategory.where(name: row['event_category'].to_s.strip).first
|
104
110
|
event.event_category = event_category if event_category
|
105
|
-
library = Library.where(:
|
111
|
+
library = Library.where(name: row['library'].to_s.strip).first
|
106
112
|
event.library = library if library
|
107
113
|
event.name = row['name'] if row['name'].to_s.strip.present?
|
108
|
-
event.start_at = row['start_at'] if row['start_at'].
|
109
|
-
event.end_at = row['end_at'] if row['end_at'].
|
110
|
-
event.note = row['
|
111
|
-
if row['all_day'].to_s.strip
|
112
|
-
event.all_day = false
|
113
|
-
else
|
114
|
+
event.start_at = Time.zone.parse(row['start_at']) if row['start_at'].present?
|
115
|
+
event.end_at = Time.zone.parse(row['end_at']) if row['end_at'].present?
|
116
|
+
event.note = row['note'] if row['note'].to_s.strip.present?
|
117
|
+
if %w(t true TRUE).include?(row['all_day'].to_s.strip)
|
114
118
|
event.all_day = true
|
119
|
+
else
|
120
|
+
event.all_day = false
|
115
121
|
end
|
116
122
|
event.save!
|
117
123
|
end
|
@@ -124,7 +130,7 @@ class EventImportFile < ActiveRecord::Base
|
|
124
130
|
|
125
131
|
def remove
|
126
132
|
transition_to!(:started)
|
127
|
-
rows = open_import_file(create_import_temp_file)
|
133
|
+
rows = open_import_file(create_import_temp_file(event_import))
|
128
134
|
rows.shift
|
129
135
|
row_num = 1
|
130
136
|
|
@@ -156,28 +162,20 @@ class EventImportFile < ActiveRecord::Base
|
|
156
162
|
EventImportFileTransition
|
157
163
|
end
|
158
164
|
|
159
|
-
def create_import_temp_file
|
160
|
-
tempfile = Tempfile.new(self.class.name.underscore)
|
161
|
-
if Setting.uploaded_file.storage == :s3
|
162
|
-
uploaded_file_path = event_import.expiring_url(10)
|
163
|
-
else
|
164
|
-
uploaded_file_path = event_import.path
|
165
|
-
end
|
166
|
-
open(uploaded_file_path){|f|
|
167
|
-
f.each{|line|
|
168
|
-
tempfile.puts(convert_encoding(line))
|
169
|
-
}
|
170
|
-
}
|
171
|
-
tempfile.close
|
172
|
-
tempfile
|
173
|
-
end
|
174
|
-
|
175
165
|
def open_import_file(tempfile)
|
176
|
-
file = CSV.open(tempfile, :
|
166
|
+
file = CSV.open(tempfile, col_sep: "\t")
|
167
|
+
header_columns = %w(
|
168
|
+
id name display_name library event_category start_at end_at all_day note dummy
|
169
|
+
)
|
177
170
|
header = file.first
|
178
|
-
|
171
|
+
ignored_columns = header - header_columns
|
172
|
+
unless ignored_columns.empty?
|
173
|
+
self.error_message = I18n.t('import.following_column_were_ignored', column: ignored_columns.join(', '))
|
174
|
+
save!
|
175
|
+
end
|
176
|
+
rows = CSV.open(tempfile, headers: header, col_sep: "\t")
|
179
177
|
event_import_result = EventImportResult.new
|
180
|
-
event_import_result.assign_attributes({:event_import_file_id => id, :
|
178
|
+
event_import_result.assign_attributes({:event_import_file_id => id, body: header.join("\t")}, as: :admin)
|
181
179
|
event_import_result.save!
|
182
180
|
tempfile.close(true)
|
183
181
|
file.close
|
@@ -215,5 +213,6 @@ end
|
|
215
213
|
# event_import_fingerprint :string(255)
|
216
214
|
# error_message :text
|
217
215
|
# user_encoding :string(255)
|
216
|
+
# default_library_id :integer
|
217
|
+
# default_event_category_id :integer
|
218
218
|
#
|
219
|
-
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class EventImportResult < ActiveRecord::Base
|
2
|
-
attr_accessible :event_id, :event_import_file_id, :body, :
|
3
|
-
default_scope :
|
2
|
+
attr_accessible :event_id, :event_import_file_id, :body, as: :admin
|
3
|
+
default_scope order: 'event_import_results.id'
|
4
4
|
scope :file_id, proc{|file_id| {:conditions => {:event_import_file_id => file_id}}}
|
5
5
|
scope :failed, where(:event_id => nil)
|
6
6
|
|
data/app/models/participate.rb
CHANGED
@@ -4,8 +4,8 @@ class Participate < ActiveRecord::Base
|
|
4
4
|
belongs_to :event
|
5
5
|
|
6
6
|
validates_presence_of :agent_id, :event_id
|
7
|
-
validates_uniqueness_of :agent_id, :
|
8
|
-
acts_as_list :
|
7
|
+
validates_uniqueness_of :agent_id, scope: :event_id
|
8
|
+
acts_as_list scope: :event_id
|
9
9
|
|
10
10
|
paginates_per 10
|
11
11
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<div id="content_detail" class="ui-corner-all ui-widget-content">
|
2
2
|
<%- if @library -%>
|
3
3
|
<h1 class="title">
|
4
|
-
<%= t('calendar.library_calendar', :
|
4
|
+
<%= t('calendar.library_calendar', library_name: @library.display_name.localize) -%>
|
5
5
|
</h1>
|
6
6
|
<%- else -%>
|
7
7
|
<h1 class="title">
|
@@ -24,9 +24,9 @@
|
|
24
24
|
|
25
25
|
<p>
|
26
26
|
<%- if @library -%>
|
27
|
-
(<%= link_to 'iCalendar', library_events_path(@library, :
|
27
|
+
(<%= link_to 'iCalendar', library_events_path(@library, format: :ics) -%>)
|
28
28
|
<%- else -%>
|
29
|
-
(<%= link_to 'iCalendar', events_path(:
|
29
|
+
(<%= link_to 'iCalendar', events_path(format: :ics) -%>)
|
30
30
|
<%- end -%>
|
31
31
|
</p>
|
32
32
|
|
@@ -36,10 +36,10 @@
|
|
36
36
|
|
37
37
|
<div id="submenu" class="ui-corner-all ui-widget-content">
|
38
38
|
<ul>
|
39
|
-
<li><%= link_to t('page.listing', :
|
40
|
-
<li><%= link_to t('page.show_all'), :
|
39
|
+
<li><%= link_to t('page.listing', model: t('activerecord.models.event')), events_path -%></li>
|
40
|
+
<li><%= link_to t('page.show_all'), controller: :calendar, action: :index -%></li>
|
41
41
|
<%- @libraries.each do |library| -%>
|
42
|
-
<li><%= link_to library.display_name.localize, :
|
42
|
+
<li><%= link_to library.display_name.localize, controller: :calendar, action: :index, library_id: library.name -%></li>
|
43
43
|
<%- end -%>
|
44
44
|
</ul>
|
45
45
|
</div>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div id="content_detail" class="ui-corner-all ui-widget-content">
|
2
|
-
<h1 class="title"><%= t('page.editing', :
|
2
|
+
<h1 class="title"><%= t('page.editing', model: t('activerecord.models.event_category')) -%></h1>
|
3
3
|
<div id="content_list">
|
4
4
|
<%= render 'form' %>
|
5
5
|
</div>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div id="content_detail" class="ui-corner-all ui-widget-content">
|
2
|
-
<h1 class="title"><%= t('page.listing', :
|
2
|
+
<h1 class="title"><%= t('page.listing', model: t('activerecord.models.event_category')) -%></h1>
|
3
3
|
<div id="content_list">
|
4
4
|
|
5
5
|
<table class="table table-striped index">
|
@@ -26,7 +26,7 @@
|
|
26
26
|
<%= link_to t('page.edit'), edit_event_category_path(event_category) -%>
|
27
27
|
<% end %>
|
28
28
|
<%- if can? :delete, event_category -%>
|
29
|
-
<%= link_to t('page.destroy'), event_category, :
|
29
|
+
<%= link_to t('page.destroy'), event_category, data: {confirm: t('page.are_you_sure')}, method: :delete -%>
|
30
30
|
<%- end -%>
|
31
31
|
</td>
|
32
32
|
</tr>
|
@@ -40,7 +40,7 @@
|
|
40
40
|
<div id="submenu" class="ui-corner-all ui-widget-content">
|
41
41
|
<ul>
|
42
42
|
<%- if can? :create, EventCategory -%>
|
43
|
-
<li><%= link_to t('page.new', :
|
43
|
+
<li><%= link_to t('page.new', model: t('activerecord.models.event_category')), new_event_category_path -%></li>
|
44
44
|
<%- end -%>
|
45
45
|
</ul>
|
46
46
|
</div>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div id="content_detail" class="ui-corner-all ui-widget-content">
|
2
|
-
<h1 class="title"><%= t('page.new', :
|
2
|
+
<h1 class="title"><%= t('page.new', model: t('activerecord.models.event_category')) -%></h1>
|
3
3
|
<div id="content_list">
|
4
4
|
<%= render 'form' %>
|
5
5
|
</div>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div id="content_detail" class="ui-corner-all ui-widget-content">
|
2
|
-
<h1 class="title"><%= t('page.showing', :
|
2
|
+
<h1 class="title"><%= t('page.showing', model: t('activerecord.models.event_category')) -%></h1>
|
3
3
|
<div id="content_list">
|
4
4
|
<p id="notice"><%= notice %></p>
|
5
5
|
|
@@ -0,0 +1,22 @@
|
|
1
|
+
<%= form_for(@event_export_file) do |f| %>
|
2
|
+
<%= f.error_messages %>
|
3
|
+
|
4
|
+
<%= f.hidden_field :mode, value: 'export' if @event_export_file.new_record? %><br>
|
5
|
+
<!--
|
6
|
+
<div class="field">
|
7
|
+
<%= f.label :user_id %><br>
|
8
|
+
<%= @event_export_file.user.username %>
|
9
|
+
</div>
|
10
|
+
<div class="field">
|
11
|
+
<%= f.label :event_export %><br>
|
12
|
+
<%= f.text_field :event_export %>
|
13
|
+
</div>
|
14
|
+
-->
|
15
|
+
<div class="actions">
|
16
|
+
<% if @event_export_file.new_record? %>
|
17
|
+
<%= f.submit t('page.export') %>
|
18
|
+
<% else %>
|
19
|
+
<%= f.submit %>
|
20
|
+
<% end %>
|
21
|
+
</div>
|
22
|
+
<% end %>
|
@@ -0,0 +1,44 @@
|
|
1
|
+
<div id="content_detail" class="ui-corner-all ui-widget-content">
|
2
|
+
<h1 class="title"><%= t('page.listing', model: t('activerecord.models.event_export_file')) -%></h1>
|
3
|
+
<div id="content_list">
|
4
|
+
|
5
|
+
<table class="table table-striped index">
|
6
|
+
<thead>
|
7
|
+
<tr>
|
8
|
+
<th>Id</th>
|
9
|
+
<th><%= t('activerecord.models.user') %></th>
|
10
|
+
<th><%= t('activerecord.attributes.event_export_file.event_export_file_name') -%></th>
|
11
|
+
<th><%= t('activerecord.attributes.event_export_file.state') -%></th>
|
12
|
+
<th></th>
|
13
|
+
</tr>
|
14
|
+
</thead>
|
15
|
+
|
16
|
+
<tbody>
|
17
|
+
<% @event_export_files.each do |event_export_file| %>
|
18
|
+
<tr class="line<%= cycle("0", "1") -%>">
|
19
|
+
<td><%= link_to event_export_file.id, event_export_file %></td>
|
20
|
+
<td><%= event_export_file.user.try(:username) %></td>
|
21
|
+
<td>
|
22
|
+
<%= link_to event_export_file.event_export_file_name, event_export_file.event_export.url if event_export_file.event_export.path %>
|
23
|
+
<br />
|
24
|
+
<%= event_export_file.created_at %>
|
25
|
+
</td>
|
26
|
+
<td><%= localized_state(event_export_file.current_state) -%></td>
|
27
|
+
<td>
|
28
|
+
<%= link_to t('page.destroy'), event_export_file, method: :delete, data: {confirm: t('page.are_you_sure')}, method: :delete -%>
|
29
|
+
</td>
|
30
|
+
</tr>
|
31
|
+
<% end %>
|
32
|
+
</tbody>
|
33
|
+
</table>
|
34
|
+
|
35
|
+
<%= paginate(@event_export_files) %>
|
36
|
+
|
37
|
+
</div>
|
38
|
+
</div>
|
39
|
+
|
40
|
+
<div id="submenu" class="ui-corner-all ui-widget-content">
|
41
|
+
<ul>
|
42
|
+
<li><%= link_to t('page.new', model: t('activerecord.models.event_export_file')), new_event_export_file_path -%></li>
|
43
|
+
</ul>
|
44
|
+
</div>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<div id="content_detail" class="ui-corner-all ui-widget-content">
|
2
|
+
<h1 class="title"><%= t('page.new', model: t('activerecord.models.event_export_file')) -%></h1>
|
3
|
+
<div id="content_list">
|
4
|
+
|
5
|
+
<p><%= t('export.are_you_sure_to_export') %></p>
|
6
|
+
|
7
|
+
<%= render 'form' %>
|
8
|
+
|
9
|
+
</div>
|
10
|
+
</div>
|
11
|
+
|
12
|
+
<div id="submenu" class="ui-corner-all ui-widget-content">
|
13
|
+
<ul>
|
14
|
+
<li><%= link_to t('page.listing', model: t('activerecord.models.event_export_file')), event_export_files_path -%></li>
|
15
|
+
</ul>
|
16
|
+
</div>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<div id="content_detail" class="ui-corner-all ui-widget-content">
|
2
|
+
<h1 class="title"><%= t('page.showing', model: t('activerecord.models.event_export_file')) -%></h1>
|
3
|
+
<div id="content_list">
|
4
|
+
<p id="notice"><%= notice %></p>
|
5
|
+
|
6
|
+
<p>
|
7
|
+
<strong><%= t('activerecord.models.user') %></strong>
|
8
|
+
<%= @event_export_file.user.try(:username) %>
|
9
|
+
</p>
|
10
|
+
|
11
|
+
<p>
|
12
|
+
<strong><%= t('activerecord.attributes.event_export_file.event_export_file_name') -%></strong>
|
13
|
+
<%= link_to @event_export_file.event_export_file_name, @event_export_file.event_export.url if @event_export_file.event_export_file_name %>
|
14
|
+
</p>
|
15
|
+
|
16
|
+
<p>
|
17
|
+
<strong><%= t('activerecord.attributes.event_export_file.state') -%>:</strong>
|
18
|
+
<%= localized_state(@event_export_file.current_state) -%>
|
19
|
+
</p>
|
20
|
+
|
21
|
+
</div>
|
22
|
+
</div>
|
23
|
+
|
24
|
+
<div id="submenu" class="ui-corner-all ui-widget-content">
|
25
|
+
<ul>
|
26
|
+
<li><%= back_to_index(flash[:page_info]) -%></li>
|
27
|
+
<% if current_user.has_role?('Administrator') %>
|
28
|
+
<li><%= link_to 'Resque', resque_path %></li>
|
29
|
+
<% end %>
|
30
|
+
</ul>
|
31
|
+
</div>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div id="content_detail" class="ui-corner-all ui-widget-content">
|
2
|
-
<h1 class="title"><%= t('page.editing', :
|
2
|
+
<h1 class="title"><%= t('page.editing', model: t('activerecord.models.event_import_file')) -%></h1>
|
3
3
|
<div id="content_list">
|
4
4
|
|
5
5
|
<%= form_for(@event_import_file) do |f| -%>
|
@@ -1,32 +1,37 @@
|
|
1
1
|
<div id="content_detail" class="ui-corner-all ui-widget-content">
|
2
|
-
<h1 class="title"><%= t('page.listing', :
|
2
|
+
<h1 class="title"><%= t('page.listing', model: t('activerecord.models.event_import_file')) -%></h1>
|
3
3
|
<div id="content_list">
|
4
4
|
|
5
5
|
<table class="table table-striped index">
|
6
|
-
<
|
7
|
-
<
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
6
|
+
<thead>
|
7
|
+
<tr>
|
8
|
+
<th style="width: 30px">Id</th>
|
9
|
+
<th><%= t('activerecord.attributes.event_import_file.event_import_file_name') -%></th>
|
10
|
+
<th><%= t('activerecord.attributes.event_import_file.edit_mode') -%></th>
|
11
|
+
<th><%= t('activerecord.attributes.event_import_file.executed_at') -%></th>
|
12
|
+
<th><%= t('activerecord.attributes.event_import_file.state') -%></th>
|
13
|
+
<th></th>
|
14
|
+
</tr>
|
15
|
+
</thead>
|
15
16
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
17
|
+
<tbody>
|
18
|
+
<% @event_import_files.each do |event_import_file| %>
|
19
|
+
<tr class="line<%= cycle("0", "1") -%>">
|
20
|
+
<td><%= link_to (event_import_file.id), event_import_file -%></td>
|
21
|
+
<td>
|
22
|
+
<%= link_to event_import_file.event_import_file_name, event_import_file -%>
|
23
|
+
<br />
|
24
|
+
<%= t('activerecord.models.user') -%>: <%= link_to event_import_file.user.username, event_import_file.user.profile if event_import_file.user.try(:profile) -%></td>
|
25
|
+
<td><%= event_import_file.edit_mode -%></td>
|
26
|
+
<td><%= l(event_import_file.executed_at) if event_import_file.executed_at -%></td>
|
27
|
+
<td><%= localized_state(event_import_file.current_state) -%></td>
|
28
|
+
<td>
|
29
|
+
<%= link_to t('page.show'), event_import_file -%>
|
30
|
+
<%= link_to t('page.destroy'), event_import_file, data: {confirm: t('page.are_you_sure')}, method: :delete -%>
|
31
|
+
</td>
|
32
|
+
</tr>
|
33
|
+
<% end %>
|
34
|
+
</tbody>
|
30
35
|
</table>
|
31
36
|
|
32
37
|
<%= paginate(@event_import_files) -%>
|
@@ -35,6 +40,6 @@
|
|
35
40
|
|
36
41
|
<div id="submenu" class="ui-corner-all ui-widget-content">
|
37
42
|
<ul>
|
38
|
-
<li><%= link_to t('page.new', :
|
43
|
+
<li><%= link_to t('page.new', model: t('activerecord.models.event_import_file')), new_event_import_file_path -%></li>
|
39
44
|
</ul>
|
40
45
|
</div>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<div id="content_detail" class="ui-corner-all ui-widget-content">
|
2
|
-
<h1 class="title"><%= t('page.new', :
|
2
|
+
<h1 class="title"><%= t('page.new', model: t('activerecord.models.event_import_file')) -%></h1>
|
3
3
|
<div id="content_list">
|
4
4
|
|
5
|
-
<%= form_for(@event_import_file, :
|
5
|
+
<%= form_for(@event_import_file, html: { multipart: true }) do |f| -%>
|
6
6
|
<%= f.error_messages -%>
|
7
7
|
|
8
8
|
<div class="field">
|
@@ -12,24 +12,36 @@
|
|
12
12
|
|
13
13
|
<div class="field">
|
14
14
|
<%= f.label :edit_mode -%><br />
|
15
|
-
<%= f.radio_button :edit_mode, 'create', :
|
16
|
-
<%= f.label :edit_mode, t('page.create'), :
|
15
|
+
<%= f.radio_button :edit_mode, 'create', checked: 'checked' %>
|
16
|
+
<%= f.label :edit_mode, t('page.create'), value: 'create' %>
|
17
17
|
<%= f.radio_button :edit_mode, 'update' %>
|
18
|
-
<%= f.label :edit_mode, t('page.update'), :
|
18
|
+
<%= f.label :edit_mode, t('page.update'), value: 'update' %>
|
19
19
|
<%= f.radio_button :edit_mode, 'destroy' %>
|
20
|
-
<%= f.label :edit_mode, t('page.destroy'), :
|
20
|
+
<%= f.label :edit_mode, t('page.destroy'), value: 'destroy' %>
|
21
21
|
</div>
|
22
22
|
|
23
23
|
<div class="field">
|
24
24
|
<%= f.label :user_encoding -%><br />
|
25
|
-
<%= f.radio_button :user_encoding, 'auto_detect', :
|
26
|
-
<%= f.label :user_encoding, t('import.auto_detect'), :
|
25
|
+
<%= f.radio_button :user_encoding, 'auto_detect', checked: 'checked' %>
|
26
|
+
<%= f.label :user_encoding, t('import.auto_detect'), value: 'auto_detect' %>
|
27
27
|
<%= f.radio_button :user_encoding, 'utf-8' %>
|
28
|
-
<%= f.label :user_encoding, 'UTF-8', :
|
28
|
+
<%= f.label :user_encoding, 'UTF-8', value: 'utf-8' %>
|
29
29
|
<%= f.radio_button :user_encoding, 'shift_jis' %>
|
30
|
-
<%= f.label :user_encoding, 'Shift_JIS', :
|
31
|
-
<%= f.radio_button :user_encoding, 'euc-
|
32
|
-
<%= f.label :user_encoding, 'EUC-JP', :
|
30
|
+
<%= f.label :user_encoding, 'Shift_JIS', value: 'shift_jis' %>
|
31
|
+
<%= f.radio_button :user_encoding, 'euc-jp' %>
|
32
|
+
<%= f.label :user_encoding, 'EUC-JP', value: 'euc-jp' %>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div class="field">
|
36
|
+
<%= f.label :default_event_category_id -%>
|
37
|
+
<%= f.select(:default_event_category_id, @event_categories.collect{|e| [e.display_name.localize, e.id]}) -%><br />
|
38
|
+
<%= t('event_import_file.default_event_category') %>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div class="field">
|
42
|
+
<%= f.label :default_library_id -%>
|
43
|
+
<%= f.select(:default_library_id, @libraries.collect{|l| [l.display_name.localize, l.id]}) -%><br />
|
44
|
+
<%= t('event_import_file.default_library') %>
|
33
45
|
</div>
|
34
46
|
|
35
47
|
<div class="actions">
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div id="content_detail" class="ui-corner-all ui-widget-content">
|
2
|
-
<h1 class="title"><%= t('page.showing', :
|
2
|
+
<h1 class="title"><%= t('page.showing', model: t('activerecord.models.event_import_file')) -%></h1>
|
3
3
|
<div id="content_list">
|
4
4
|
<p id="notice"><%= notice %></p>
|
5
5
|
|
@@ -10,7 +10,7 @@
|
|
10
10
|
|
11
11
|
<p>
|
12
12
|
<strong><%= t('activerecord.attributes.event_import_file.event_import_file_name') -%>:</strong>
|
13
|
-
<%= link_to @event_import_file.event_import_file_name, event_import_file_path(@event_import_file, :
|
13
|
+
<%= link_to @event_import_file.event_import_file_name, event_import_file_path(@event_import_file, format: :download) -%>
|
14
14
|
</p>
|
15
15
|
|
16
16
|
<p>
|
@@ -48,6 +48,16 @@
|
|
48
48
|
<%= @event_import_file.user_encoding -%>
|
49
49
|
</p>
|
50
50
|
|
51
|
+
<p>
|
52
|
+
<strong><%= t('activerecord.attributes.event_import_file.default_event_category_id') -%>:</strong>
|
53
|
+
<%= link_to @event_import_file.default_event_category.display_name.localize, @event_import_file.default_event_category if @event_import_file.default_event_category.try(:display_name) -%>
|
54
|
+
</p>
|
55
|
+
|
56
|
+
<p>
|
57
|
+
<strong><%= t('activerecord.attributes.event_import_file.default_library_id') -%>:</strong>
|
58
|
+
<%= link_to @event_import_file.default_library.display_name.localize, @event_import_file.default_library if @event_import_file.default_library.try(:display_name) -%>
|
59
|
+
</p>
|
60
|
+
|
51
61
|
<p>
|
52
62
|
<strong><%= t('activerecord.attributes.event_import_file.state') -%>:</strong>
|
53
63
|
<%= localized_state(@event_import_file.current_state) -%>
|
@@ -60,7 +70,7 @@
|
|
60
70
|
|
61
71
|
<p>
|
62
72
|
<strong><%= t('activerecord.models.user') -%>:</strong>
|
63
|
-
<%= link_to @event_import_file.user.username, @event_import_file.user -%>
|
73
|
+
<%= link_to @event_import_file.user.username, @event_import_file.user.profile if @event_import_file.user.try(:profile) -%>
|
64
74
|
</p>
|
65
75
|
|
66
76
|
</div>
|
@@ -69,7 +79,7 @@
|
|
69
79
|
<div id="submenu" class="ui-corner-all ui-widget-content">
|
70
80
|
<%= form_for(@event_import_file) do |f| %>
|
71
81
|
<ul>
|
72
|
-
<li><%= link_to t('activerecord.models.event_import_result'),
|
82
|
+
<li><%= link_to t('activerecord.models.event_import_result'), event_import_results_path(event_import_file_id: @event_import_file.id) -%></li>
|
73
83
|
<li><%= back_to_index(flash[:page_info]) -%></li>
|
74
84
|
<% if current_user.has_role?('Administrator') %>
|
75
85
|
<li><%= link_to 'Resque', resque_path %></li>
|
@@ -1,5 +1,5 @@
|
|
1
1
|
<div id="content_detail" class="ui-corner-all ui-widget-content">
|
2
|
-
<h1 class="title"><%= t('page.listing', :
|
2
|
+
<h1 class="title"><%= t('page.listing', model: t('activerecord.models.event_import_result')) -%></h1>
|
3
3
|
<div id="content_list">
|
4
4
|
<% if @event_import_file %>
|
5
5
|
<h2 class="event_title">
|
@@ -24,7 +24,7 @@
|
|
24
24
|
<td><%= link_to event_import_result.event.display_name.localize, event_import_result.event if event_import_result.event %></td>
|
25
25
|
<td>
|
26
26
|
<%= link_to t('page.show'), event_import_result %>
|
27
|
-
<%= link_to t('page.destroy'), event_import_result, :
|
27
|
+
<%= link_to t('page.destroy'), event_import_result, data: {confirm: t('page.are_you_sure')}, method: :delete %>
|
28
28
|
</td>
|
29
29
|
</tr>
|
30
30
|
<% end %>
|
@@ -39,11 +39,11 @@
|
|
39
39
|
<ul>
|
40
40
|
<li>
|
41
41
|
<% if @event_import_file %>
|
42
|
-
<%= link_to (image_tag 'icons/page_white_excel.png', :
|
43
|
-
(<%= link_to 'TSV',
|
42
|
+
<%= link_to (image_tag 'icons/page_white_excel.png', size: '16x16', alt: 'TSV', class: 'icon'), event_import_results_path(event_import_file_id: @event_import_file.id, format: :txt, locale: @locale.to_s) -%>
|
43
|
+
(<%= link_to 'TSV', event_import_results_path(event_import_file_id: @event_import_file.id, format: :txt, locale: @locale.to_s) -%>)
|
44
44
|
<% else %>
|
45
|
-
<%= link_to (image_tag 'icons/page_white_excel.png', :
|
46
|
-
(<%= link_to 'TSV', event_import_results_path(:
|
45
|
+
<%= link_to (image_tag 'icons/page_white_excel.png', size: '16x16', alt: 'TSV', class: 'icon'), event_import_results_path(format: :txt, locale: @locale.to_s) -%>
|
46
|
+
(<%= link_to 'TSV', event_import_results_path(format: :txt, locale: @locale.to_s) -%>)
|
47
47
|
<% end %>
|
48
48
|
</li>
|
49
49
|
</ul>
|