before_filter :check_user_profile, except: ERROR_ACTIONS
before_filter :check_user_notifications, except: ERROR_ACTIONS
before_filter :load_filters_and_paging_params, except: ERROR_ACTIONS
- before_filter :find_object_by_uuid, except: [:index, :choose] + ERROR_ACTIONS
+ before_filter :find_object_by_uuid, except: [:create, :index, :choose] + ERROR_ACTIONS
theme :select_theme
begin
end
end
end
+ # After this, params[:filters] can be trusted to be an array of arrays:
+ params[:filters] = filters
@filters += filters
end
end
return render_not_found("object not found")
end
respond_to do |f|
- f.json { render json: @object.attributes.merge(href: url_for(@object)) }
+ f.json do
+ extra_attrs = { href: url_for(action: :show, id: @object) }
+ @object.textile_attributes.each do |textile_attr|
+ extra_attrs.merge!({ "#{textile_attr}Textile" => view_context.render_markup(@object.attributes[textile_attr]) })
+ end
+ render json: @object.attributes.merge(extra_attrs)
+ end
f.html {
if params['tab_pane']
render_pane params['tab_pane']
def choose
params[:limit] ||= 40
- find_objects_for_index if !@objects
respond_to do |f|
if params[:partial]
f.json {
+ find_objects_for_index if !@objects
render json: {
content: render_to_string(partial: "choose_rows.html",
formats: [:html]),
}
end
f.js {
+ find_objects_for_index if !@objects
render partial: 'choose', locals: {multiple: params[:multiple]}
}
end
@object ||= model_class.new @new_resource_attrs, params["options"]
if @object.save
respond_to do |f|
- f.json { render json: @object.attributes.merge(href: url_for(@object)) }
+ f.json { render json: @object.attributes.merge(href: url_for(action: :show, id: @object)) }
f.html {
redirect_to @object
}
false # We may redirect to login, or not, based on the current action.
else
session[:arvados_api_token] = params[:api_token]
+ # If we later have trouble contacting the API server, we still want
+ # to be able to render basic user information in the UI--see
+ # render_exception above. We store that in the session here. This is
+ # not intended to be used as a general-purpose cache. See #2891.
session[:user] = {
uuid: user.uuid,
email: user.email,
@my_project_tree =
sorted_paths.call buildtree.call(children_of, 'me')
@shared_project_tree =
- sorted_paths.call({'Shared with me' =>
+ sorted_paths.call({'Projects shared with me' =>
buildtree.call(children_of, false)})
end