Class: AccessionsController
- Inherits:
-
ApplicationController
show all
- Defined in:
- frontend/app/controllers/accessions_controller.rb
Instance Method Summary
(collapse)
can_access?, permission_mappings, set_access_control
Instance Method Details
- (Object) create
93
94
95
96
97
98
99
100
101
102
|
# File 'frontend/app/controllers/accessions_controller.rb', line 93
def create
handle_crud(:instance => :accession,
:model => Accession,
:on_invalid => ->(){ render action: "new" },
:on_valid => ->(id){
flash[:success] = I18n.t("accession._frontend.messages.created", JSONModelI18nWrapper.new(:accession => @accession))
redirect_to(:controller => :accessions,
:action => :edit,
:id => id) })
end
|
- (Object) defaults
47
48
49
50
51
52
53
54
55
|
# File 'frontend/app/controllers/accessions_controller.rb', line 47
def defaults
defaults = DefaultValues.get 'accession'
values = defaults ? defaults.form_values : {:accession_date => Date.today.strftime('%Y-%m-%d')}
@accession = Accession.new(values)._always_valid!
render "defaults"
end
|
- (Object) delete
135
136
137
138
139
140
141
|
# File 'frontend/app/controllers/accessions_controller.rb', line 135
def delete
accession = Accession.find(params[:id])
accession.delete
flash[:success] = I18n.t("accession._frontend.messages.deleted", JSONModelI18nWrapper.new(:accession => accession))
redirect_to(:controller => :accessions, :action => :index, :deleted_uri => accession.uri)
end
|
- (Object) edit
80
81
82
83
84
85
86
|
# File 'frontend/app/controllers/accessions_controller.rb', line 80
def edit
@accession = fetch_resolved(params[:id])
if @accession.suppressed
redirect_to(:controller => :accessions, :action => :show, :id => params[:id])
end
end
|
- (Object) index
12
13
14
|
# File 'frontend/app/controllers/accessions_controller.rb', line 12
def index
@search_data = Search.for_type(session[:repo_id], "accession", params_for_backend_search.merge({"facet[]" => SearchResultData.ACCESSION_FACETS}))
end
|
- (Object) new
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
# File 'frontend/app/controllers/accessions_controller.rb', line 23
def new
@accession = Accession.new({:accession_date => Date.today.strftime('%Y-%m-%d')})._always_valid!
if params[:accession_id]
acc = Accession.find(params[:accession_id], find_opts)
if acc
@accession.populate_from_accession(acc)
flash.now[:info] = I18n.t("accession._frontend.messages.spawned", JSONModelI18nWrapper.new(:accession => acc))
flash[:spawned_from_accession] = acc.id
end
elsif user_prefs['default_values']
defaults = DefaultValues.get 'accession'
if defaults
@accession.update(defaults.values)
end
end
end
|
- (Object) show
17
18
19
20
21
|
# File 'frontend/app/controllers/accessions_controller.rb', line 17
def show
@accession = fetch_resolved(params[:id])
flash[:info] = I18n.t("accession._frontend.messages.suppressed_info", JSONModelI18nWrapper.new(:accession => @accession)) if @accession.suppressed
end
|
- (Object) suppress
117
118
119
120
121
122
123
|
# File 'frontend/app/controllers/accessions_controller.rb', line 117
def suppress
accession = Accession.find(params[:id])
accession.set_suppressed(true)
flash[:success] = I18n.t("accession._frontend.messages.suppressed", JSONModelI18nWrapper.new(:accession => accession))
redirect_to(:controller => :accessions, :action => :show, :id => params[:id])
end
|
- (Object) transfer
88
89
90
|
# File 'frontend/app/controllers/accessions_controller.rb', line 88
def transfer
handle_transfer(Accession)
end
|
- (Object) unsuppress
126
127
128
129
130
131
132
|
# File 'frontend/app/controllers/accessions_controller.rb', line 126
def unsuppress
accession = Accession.find(params[:id])
accession.set_suppressed(false)
flash[:success] = I18n.t("accession._frontend.messages.unsuppressed", JSONModelI18nWrapper.new(:accession => accession))
redirect_to(:controller => :accessions, :action => :show, :id => params[:id])
end
|
- (Object) update
104
105
106
107
108
109
110
111
112
113
114
115
|
# File 'frontend/app/controllers/accessions_controller.rb', line 104
def update
handle_crud(:instance => :accession,
:model => Accession,
:obj => fetch_resolved(params[:id]),
:on_invalid => ->(){
return render action: "edit"
},
:on_valid => ->(id){
flash[:success] = I18n.t("accession._frontend.messages.updated", JSONModelI18nWrapper.new(:accession => @accession))
redirect_to :controller => :accessions, :action => :edit, :id => id
})
end
|
- (Object) update_defaults
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
|
# File 'frontend/app/controllers/accessions_controller.rb', line 58
def update_defaults
begin
DefaultValues.from_hash({
"record_type" => "accession",
"lock_version" => params[:accession].delete('lock_version'),
"defaults" => cleanup_params_for_schema(
params[:accession],
JSONModel(:accession).schema
)
}).save
flash[:success] = I18n.t("default_values.messages.defaults_updated")
redirect_to :controller => :accessions, :action => :defaults
rescue Exception => e
flash[:error] = e.message
redirect_to :controller => :accessions, :action => :defaults
end
end
|