Class: EventsController
- Inherits:
-
ApplicationController
show all
- Defined in:
- frontend/app/controllers/events_controller.rb
Instance Method Summary
(collapse)
can_access?, permission_mappings, set_access_control
Instance Method Details
- (Object) create
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
|
# File 'frontend/app/controllers/events_controller.rb', line 56
def create
handle_crud(:instance => :event,
:model => JSONModel(:event),
:on_invalid => ->(){
if params.has_key?(:redirect_action)
@redirect_action = params[:redirect_action]
end
render :action => :new
},
:on_valid => ->(id){
flash[:success] = I18n.t("event._frontend.messages.created")
return redirect_to :controller => :events, :action => :new if params.has_key?(:plus_one)
if params.has_key?(:redirect_record)
ref = JSONModel.parse_reference(params[:redirect_record])
redirect_action = :show
if !params[:redirect_action].blank?
redirect_action = params[:redirect_action].intern
end
if ref[:type].include?('agent_')
redirect_to :controller => "agents", :action => redirect_action, :id => ref[:id], :agent_type => ref[:type]
else
redirect_to :controller => ref[:type].pluralize, :action => redirect_action, :id => ref[:id]
end
else
redirect_to :controller => :events, :action => :edit, :id => id
end
})
end
|
- (Object) defaults
107
108
109
110
111
112
113
114
115
|
# File 'frontend/app/controllers/events_controller.rb', line 107
def defaults
defaults = DefaultValues.get 'event'
values = defaults ? defaults.form_values : {}
@event = JSONModel(:event).new(values)._always_valid!
render "defaults"
end
|
- (Object) delete
98
99
100
101
102
103
104
|
# File 'frontend/app/controllers/events_controller.rb', line 98
def delete
event = JSONModel(:event).find(params[:id])
event.delete
flash[:success] = I18n.t("event._frontend.messages.deleted", JSONModelI18nWrapper.new(:event => event))
redirect_to(:controller => :events, :action => :index, :deleted_uri => event.uri)
end
|
- (Object) edit
48
49
50
51
52
53
54
|
# File 'frontend/app/controllers/events_controller.rb', line 48
def edit
@event = JSONModel(:event).find(params[:id], find_opts)
if @event.suppressed
redirect_to(:controller => :events, :action => :show, :id => params[:id])
end
end
|
- (Object) index
10
11
12
|
# File 'frontend/app/controllers/events_controller.rb', line 10
def index
@search_data = Search.for_type(session[:repo_id], "event", params_for_backend_search.merge({"facet[]" => SearchResultData.EVENT_FACETS}))
end
|
- (Object) new
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
# File 'frontend/app/controllers/events_controller.rb', line 20
def new
@event = JSONModel(:event).new._always_valid!
@event.linked_agents = [{}]
@event.linked_records = [{}]
if user_prefs['default_values']
defaults = DefaultValues.get 'event'
@event.update(defaults.values) if defaults
end
if params.has_key?(:event_type)
@event.event_type = params[:event_type]
end
if params.has_key?(:record_uri)
@event.linked_records = []
record = JSONModel(params[:record_type]).find_by_uri(params[:record_uri])
@event.linked_records << {'ref' => record.uri, '_resolved' => record.to_hash, 'role' => 'source'}
if request.referrer.end_with?("/edit")
@redirect_action = 'edit'
end
end
end
|
- (Object) show
14
15
16
17
18
|
# File 'frontend/app/controllers/events_controller.rb', line 14
def show
@event = JSONModel(:event).find(params[:id], find_opts)
flash.now[:info] = I18n.t("event._frontend.messages.suppressed_info") if @event.suppressed
end
|
- (Object) update
86
87
88
89
90
91
92
93
94
95
|
# File 'frontend/app/controllers/events_controller.rb', line 86
def update
handle_crud(:instance => :event,
:model => JSONModel(:event),
:obj => JSONModel(:event).find(params[:id]),
:on_invalid => ->(){ render :action => :edit },
:on_valid => ->(id){
flash[:success] = I18n.t("event._frontend.messages.updated")
redirect_to :controller => :events, :action => :edit, :id => id
})
end
|
- (Object) update_defaults
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
|
# File 'frontend/app/controllers/events_controller.rb', line 117
def update_defaults
begin
DefaultValues.from_hash({
"record_type" => "event",
"lock_version" => params[:event].delete('lock_version'),
"defaults" => cleanup_params_for_schema(
params[:event],
JSONModel(:event).schema)
}).save
flash[:success] = I18n.t("default_values.messages.defaults_updated")
redirect_to :controller => :events, :action => :defaults
rescue Exception => e
flash[:error] = e.message
redirect_to :controller => :events, :action => :defaults
end
end
|