52 lines
1.7 KiB
Ruby
52 lines
1.7 KiB
Ruby
class ReleasesController < ApplicationController
|
|
|
|
caches_page :show
|
|
|
|
def show
|
|
@release = Release.find(params[:id])
|
|
|
|
respond_to do |format|
|
|
format.html
|
|
format.js {
|
|
render :partial => "whatsnew", :layout => false
|
|
}
|
|
end
|
|
end
|
|
|
|
def check
|
|
edition = ProductEdition.find_by_internal_code(params[:product])
|
|
product = edition ? edition.product : Product.find_by_internal_code(params[:product])
|
|
release = product.current_release
|
|
new_version = release.newer_than(params[:build].to_i)
|
|
|
|
@response = ["### update check response ###"]
|
|
if new_version
|
|
releases = product.releases.find_newer_than(params[:build])
|
|
@response << release.version
|
|
@response << release.build
|
|
@response << I18n.l(release.date, :format => :iso)
|
|
@response << download_url(product)
|
|
@response << direct_download_url(:filename => product.file_url)
|
|
@response << "### changelog begin ###"
|
|
if releases.size == 1
|
|
@response << release.changelog
|
|
else
|
|
@response << "This cumulative update contains #{releases.size} previous updates that you have not installed."
|
|
@response << ""
|
|
releases.each do |release|
|
|
@response << "===================================================="
|
|
@response << "Changes in version #{release.version} (#{I18n.l(release.date, :format => :cute)})"
|
|
@response << "===================================================="
|
|
@response << release.changelog
|
|
@response << "" unless releases.last == release
|
|
end
|
|
end
|
|
@response << "### changelog end ###"
|
|
else
|
|
@response << "### no new version ###"
|
|
end
|
|
|
|
render :layout => false
|
|
end
|
|
end
|