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
|