74 lines
1.7 KiB
Ruby
74 lines
1.7 KiB
Ruby
|
class UpgradeController < ApplicationController
|
||
|
def index
|
||
|
data = nil
|
||
|
case params[:module]
|
||
|
when "announcement"
|
||
|
data = get_announcements
|
||
|
else
|
||
|
data = {"success" => false, "msg" => "Module not found."}
|
||
|
end
|
||
|
render :json => data.to_json
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def get_announcements
|
||
|
ma = ModuleApp.find_by_key("announcement")
|
||
|
|
||
|
categories = ma.categories.collect do |c|
|
||
|
{
|
||
|
"title" => c.title_translations,
|
||
|
"disable" => c.disable
|
||
|
}
|
||
|
end
|
||
|
|
||
|
tags = ma.tags.collect do |t|
|
||
|
{
|
||
|
"name" => t.name_translations,
|
||
|
"is_default" => t.is_default
|
||
|
}
|
||
|
end
|
||
|
|
||
|
bulletins = Bulletin.all.collect do |b|
|
||
|
image = request.protocol + request.host_with_port + b.image.url if !b.image.nil? && b.image.to_s != "sign-in-logo.png"
|
||
|
links = b.bulletin_links.collect do |bl|
|
||
|
{
|
||
|
"title" => bl.title_translations,
|
||
|
"url" => bl.url
|
||
|
}
|
||
|
end
|
||
|
files = b.bulletin_files.collect do |bf|
|
||
|
file = request.protocol + request.host_with_port + bf.file.url if !bf.file.nil?
|
||
|
{
|
||
|
"title" => bf.title_translations,
|
||
|
"description" => bf.description_translations,
|
||
|
"file" => file
|
||
|
}
|
||
|
end
|
||
|
|
||
|
ts = b.tags.collect do |t|
|
||
|
{
|
||
|
"name" => t.name_translations
|
||
|
}
|
||
|
end
|
||
|
|
||
|
{
|
||
|
"id" => b.id.to_s,
|
||
|
"title" => b.title_translations,
|
||
|
"subtitle" => b.subtitle_translations,
|
||
|
"text" => b.text_translations,
|
||
|
"public" => b.public,
|
||
|
"email_sent" => b.email_sent,
|
||
|
"email_sentdate" => b.email_sentdate,
|
||
|
"other_mailaddress" => b.other_mailaddress,
|
||
|
"category" => b.category.title_translations,
|
||
|
"tags" => ts,
|
||
|
"image" => image,
|
||
|
"links" => links,
|
||
|
"files" => files
|
||
|
}
|
||
|
end
|
||
|
|
||
|
return {"announcements" => bulletins, "categories" => categories, "tags" => tags, "success" => true}
|
||
|
end
|
||
|
end
|