This commit is contained in:
Joshua Milton 2012-06-26 16:59:29 +08:00
parent 7f0267aedd
commit 8c7a0fdf0a
2 changed files with 288 additions and 288 deletions

View File

@ -1,193 +1,193 @@
Orbit::Application.routes.draw do
devise_for :users
# routes for sinatra app
match '/site/set_registered', :to => CentralServerExchangeApp
match '/site/public_key', :to => CentralServerExchangeApp
match '/site/update', :to => GithubApp
match '/purchase/:type', :to => CentralServerExchangeApp
match 'load_orbit_bar' => 'pages#load_orbit_bar'
# routes for admin
namespace :admin do
resources :assets
resources :app_auths
resources :object_auths do
collection do
match 'new/:type/:obj_id',:action => 'new',:via => "get",:as => :init
end
member do
match ':id/create_role',:action => 'create_role',:via => "post",:as => :create_role
match 'remove/:type/:target_id' ,:action=> 'remove_role',:via => "delete",:as =>:remove
end
end
resources :ad_banners do
collection do
match 'new_ad_image' => 'ad_images#new',:as => :new_ad_image,:via => :get
match 'new_ad_image' => 'ad_images#create',:as => :create_ad_image,:via => :post
end
resources :ad_images ,:except => [:show,:index]
end
resources :dashboards
resources :designs do
collection do
get 'upload_package'
post 'upload_package'
end
member do
post 'edit_file' => 'designs#edit_file'
end
end
resources :infos do
get 'add_attribute_field'
end
resources :items
resources :links do
member do
get 'delete'
end
end
resources :pages do
member do
get 'delete'
get 'reload_themes'
end
end
resources :module_apps do
resources :app_auths do
member do
match 'remove/:type/:target_id' ,:action=> 'remove',:via => "delete",:as =>:remove
end
end
member do
match 'assign_manager' ,:action=> 'assign_manager',:via => "post",:as =>:assign_manager
match 'assign_sub_manager' ,:action=> 'assign_sub_manager',:via => "post",:as =>:assign_sub_manager
match 'remove_manager/:app_manager_id' ,:action=> 'remove_manager',:via => "delete",:as =>:remove_manager
match 'remove_sub_manager/:app_sub_manager_id' ,:action=> 'remove_sub_manager',:via => "delete",:as =>:remove_sub_manager
get 'reload_frontend_pages'
end
end
resources :page_parts do
member do
get 'reload_widgets'
end
end
resources :purchases do
collection do
get 'install_app'
end
member do
get 'download'
end
end
resources :roles do
get 'add_sub_role'
get 'add_attribute_field'
end
resources :sites
resources :snippets
resources :tags
resources :translations
resources :users
end
# end admin
namespace :panel do
resources :users
end
match '/desktop/'=>'desktop#index'
# Sinatra Routes start
match '/desktop/desktop', :to => Desktopapp::DesktopApp
match '/desktop/app_manager', :to => Desktopapp::DesktopApp
match '/desktop/sections', :to => Desktopapp::DesktopApp
match '/desktop/settings', :to => Desktopapp::DesktopApp
match '/desktop/get_desktop_settings/', :to => Desktopapp::DesktopApp
match '/desktop/save_desktop_settings/', :to => Desktopapp::DesktopApp
match '/desktop/getgroups/', :to => Desktopapp::DesktopApp
match '/desktop/getsectionlist/', :to => Desktopapp::DesktopApp
match '/desktop/settingthemes/', :to => Desktopapp::DesktopApp
match '/desktop/settingsections/', :to => Desktopapp::DesktopApp
match '/desktop/getapplist/', :to => Desktopapp::DesktopApp
match '/desktop/newpositions/', :to => Desktopapp::DesktopApp
match '/desktop/settingconnection/', :to => Desktopapp::DesktopApp
match '/desktop/journal_p/', :to => Desktopapp::DesktopAppPublications
match '/desktop/journal_p_list/', :to => Desktopapp::DesktopAppPublications
match '/desktop/journal_p_add/', :to => Desktopapp::DesktopAppPublications
match '/desktop_publications/getjournals', :to => Desktopapp::DesktopAppPublications
# match '/desktop/twitter/', :to => Desktopapp::Otheraccounts
# match '/desktop/forgmail/', :to => Desktopapp::Otheraccounts
# match '/desktop/getaccounts', :to => Desktopapp::Otheraccounts
# match '/desktop/save_account_info/', :to => Desktopapp::Otheraccounts
match '/desktop_appstore/appstore', :to => Desktopapp::DesktopAppAppstore
match '/desktop_appstore/widgets', :to => Desktopapp::DesktopAppAppstore
match '/desktop_appstore/getuserwidgets', :to => Desktopapp::DesktopAppAppstore
match '/desktop_appstore/widgets_settings', :to => Desktopapp::DesktopAppAppstore
# Sinatra Routes end
# match '/desktop/desktop'=>'desktop#desktop'
# match '/desktop/app_manager'=>'desktop#app_manager'
# match '/desktop/sections'=>'desktop#sections'
# match '/desktop/settings'=>'desktop#settings'
# match '/desktop/get_desktop_settings/'=>'desktop#get_desktop_settings'
# match '/desktop/save_desktop_settings/'=>'desktop#save_desktop_settings'
# match '/desktop/getgroups/'=>'desktop#getgroups'
# match '/desktop/getsectionlist/'=>'desktop#getsectionlist'
# match '/desktop/settingthemes/'=>'desktop#settingthemes'
# match '/desktop/settingsections/'=>'desktop#settingsections'
# match '/desktop/getapplist/'=>'desktop#getapplist'
# match '/desktop/newpositions/'=>'desktop#newpositions'
# match '/desktop/settingconnection/'=>'desktop#settingconnection'
# match '/desktop/journal_p/'=>'desktop_publications#journal_p'
# match '/desktop/journal_p_list/'=>'desktop_publications#journal_p_list'
# match '/desktop/journal_p_add/'=>'desktop_publications#journal_p_add'
# match '/desktop_publications/getjournals' => 'desktop_publications#getjournals'
match '/desktop/twitter/'=>'otheraccounts#twitter'
match '/desktop/forgmail/'=>'otheraccounts#gmail'
match '/desktop/getaccounts'=>'otheraccounts#getaccounts'
match '/desktop/save_account_info/'=>'otheraccounts#saveaccountinfo'
# match '/desktop_appstore/appstore'=>'desktop_appstore#appstore'
# match '/desktop_appstore/widgets'=>'desktop_appstore#widgets'
# match '/desktop_appstore/getuserwidgets'=>'desktop_appstore#getuserwidgets'
# match '/desktop_appstore/widgets_settings'=>'desktop_appstore#widgets_settings'
match '/desktop/temp_func/'=>'desktop#temp_func'
match '/panel/:app_name/front_end/:app_action/:id' => 'pages#show_from_link', :constraints => lambda { |request|
!request.query_string.include?("inner=true")
}
match '/panel/:app_name/front_end/:app_action' => 'pages#index_from_link', :constraints => lambda { |request|
!request.query_string.include?("inner=true")
}
# routes for gridfs files
match "/gridfs/*path" => "gridfs#serve"
# match "/images/*path" => "gridfs#serve_images"
# match "/admin/pages/images/*path" => "gridfs#serve_images"
# routes for pages to generate
match '*page_name' => 'pages#show', :as => :page, :constraints => lambda{|request|
!request.path.starts_with?("/panel")
}
root :to => 'pages#index'
end
Orbit::Application.routes.draw do
devise_for :users
# routes for sinatra app
match '/site/set_registered', :to => CentralServerExchangeApp
match '/site/public_key', :to => CentralServerExchangeApp
match '/site/update', :to => GithubApp
match '/purchase/:type', :to => CentralServerExchangeApp
match 'load_orbit_bar' => 'pages#load_orbit_bar'
# routes for admin
namespace :admin do
resources :assets
resources :app_auths
resources :object_auths do
collection do
match 'new/:type/:obj_id',:action => 'new',:via => "get",:as => :init
end
member do
match ':id/create_role',:action => 'create_role',:via => "post",:as => :create_role
match 'remove/:type/:target_id' ,:action=> 'remove_role',:via => "delete",:as =>:remove
end
end
resources :ad_banners do
collection do
match 'new_ad_image' => 'ad_images#new',:as => :new_ad_image,:via => :get
match 'new_ad_image' => 'ad_images#create',:as => :create_ad_image,:via => :post
end
resources :ad_images ,:except => [:show,:index]
end
resources :dashboards
resources :designs do
collection do
get 'upload_package'
post 'upload_package'
end
member do
post 'edit_file' => 'designs#edit_file'
end
end
resources :infos do
get 'add_attribute_field'
end
resources :items
resources :links do
member do
get 'delete'
end
end
resources :pages do
member do
get 'delete'
get 'reload_themes'
end
end
resources :module_apps do
resources :app_auths do
member do
match 'remove/:type/:target_id' ,:action=> 'remove',:via => "delete",:as =>:remove
end
end
member do
match 'assign_manager' ,:action=> 'assign_manager',:via => "post",:as =>:assign_manager
match 'assign_sub_manager' ,:action=> 'assign_sub_manager',:via => "post",:as =>:assign_sub_manager
match 'remove_manager/:app_manager_id' ,:action=> 'remove_manager',:via => "delete",:as =>:remove_manager
match 'remove_sub_manager/:app_sub_manager_id' ,:action=> 'remove_sub_manager',:via => "delete",:as =>:remove_sub_manager
get 'reload_frontend_pages'
end
end
resources :page_parts do
member do
get 'reload_widgets'
end
end
resources :purchases do
collection do
get 'install_app'
end
member do
get 'download'
end
end
resources :roles do
get 'add_sub_role'
get 'add_attribute_field'
end
resources :sites
resources :snippets
resources :tags
resources :translations
resources :users
end
# end admin
namespace :panel do
resources :users
end
match '/desktop/'=>'desktop#index'
# Sinatra Routes start
# match '/desktop/desktop', :to => Desktopapp::DesktopApp
# match '/desktop/app_manager', :to => Desktopapp::DesktopApp
# match '/desktop/sections', :to => Desktopapp::DesktopApp
# match '/desktop/settings', :to => Desktopapp::DesktopApp
# match '/desktop/get_desktop_settings/', :to => Desktopapp::DesktopApp
# match '/desktop/save_desktop_settings/', :to => Desktopapp::DesktopApp
# match '/desktop/getgroups/', :to => Desktopapp::DesktopApp
# match '/desktop/getsectionlist/', :to => Desktopapp::DesktopApp
# match '/desktop/settingthemes/', :to => Desktopapp::DesktopApp
# match '/desktop/settingsections/', :to => Desktopapp::DesktopApp
# match '/desktop/getapplist/', :to => Desktopapp::DesktopApp
# match '/desktop/newpositions/', :to => Desktopapp::DesktopApp
# match '/desktop/settingconnection/', :to => Desktopapp::DesktopApp
# match '/desktop/journal_p/', :to => Desktopapp::DesktopAppPublications
# match '/desktop/journal_p_list/', :to => Desktopapp::DesktopAppPublications
# match '/desktop/journal_p_add/', :to => Desktopapp::DesktopAppPublications
# match '/desktop_publications/getjournals', :to => Desktopapp::DesktopAppPublications
# match '/desktop/twitter/', :to => Desktopapp::Otheraccounts
# match '/desktop/forgmail/', :to => Desktopapp::Otheraccounts
# match '/desktop/getaccounts', :to => Desktopapp::Otheraccounts
# match '/desktop/save_account_info/', :to => Desktopapp::Otheraccounts
# match '/desktop_appstore/appstore', :to => Desktopapp::DesktopAppAppstore
# match '/desktop_appstore/widgets', :to => Desktopapp::DesktopAppAppstore
# match '/desktop_appstore/getuserwidgets', :to => Desktopapp::DesktopAppAppstore
# match '/desktop_appstore/widgets_settings', :to => Desktopapp::DesktopAppAppstore
# Sinatra Routes end
match '/desktop/desktop'=>'desktop#desktop'
match '/desktop/app_manager'=>'desktop#app_manager'
match '/desktop/sections'=>'desktop#sections'
match '/desktop/settings'=>'desktop#settings'
match '/desktop/get_desktop_settings/'=>'desktop#get_desktop_settings'
match '/desktop/save_desktop_settings/'=>'desktop#save_desktop_settings'
match '/desktop/getgroups/'=>'desktop#getgroups'
match '/desktop/getsectionlist/'=>'desktop#getsectionlist'
match '/desktop/settingthemes/'=>'desktop#settingthemes'
match '/desktop/settingsections/'=>'desktop#settingsections'
match '/desktop/getapplist/'=>'desktop#getapplist'
match '/desktop/newpositions/'=>'desktop#newpositions'
match '/desktop/settingconnection/'=>'desktop#settingconnection'
match '/desktop/journal_p/'=>'desktop_publications#journal_p'
match '/desktop/journal_p_list/'=>'desktop_publications#journal_p_list'
match '/desktop/journal_p_add/'=>'desktop_publications#journal_p_add'
match '/desktop_publications/getjournals' => 'desktop_publications#getjournals'
match '/desktop/twitter/'=>'otheraccounts#twitter'
match '/desktop/forgmail/'=>'otheraccounts#gmail'
match '/desktop/getaccounts'=>'otheraccounts#getaccounts'
match '/desktop/save_account_info/'=>'otheraccounts#saveaccountinfo'
match '/desktop_appstore/appstore'=>'desktop_appstore#appstore'
match '/desktop_appstore/widgets'=>'desktop_appstore#widgets'
match '/desktop_appstore/getuserwidgets'=>'desktop_appstore#getuserwidgets'
match '/desktop_appstore/widgets_settings'=>'desktop_appstore#widgets_settings'
match '/desktop/temp_func/'=>'desktop#temp_func'
match '/panel/:app_name/front_end/:app_action/:id' => 'pages#show_from_link', :constraints => lambda { |request|
!request.query_string.include?("inner=true")
}
match '/panel/:app_name/front_end/:app_action' => 'pages#index_from_link', :constraints => lambda { |request|
!request.query_string.include?("inner=true")
}
# routes for gridfs files
match "/gridfs/*path" => "gridfs#serve"
# match "/images/*path" => "gridfs#serve_images"
# match "/admin/pages/images/*path" => "gridfs#serve_images"
# routes for pages to generate
match '*page_name' => 'pages#show', :as => :page, :constraints => lambda{|request|
!request.path.starts_with?("/panel")
}
root :to => 'pages#index'
end

View File

@ -1,96 +1,96 @@
class Desktopapp::DesktopAppAppstore < Sinatra::Base
register Sinatra::Warden
get '/desktop_appstore/appstore' do
erb :appstore
end
get '/desktop_appstore/widgets' do
erb :'appstore/widgets'
end
get '/desktop_appstore/getuserwidgets' do
# @widgets = current_user.desktop.desktop_widgets
# @groups = Array.new
# @sections = current_user.desktop.sections
# @sections.each do |section|
# @groups << section.groups
# end
# @widgets.each do |widget|
# @count = 0;
# @sectionids = Array.new
# @groups.each do |group|
# group.each do |grp|
# @widge = 0
# @gid = widget.id.to_s
# @widge = grp.tiles.where(:data_content.all => [@gid]).count
# @count = @count + @widge
# if @widge > 0
# @sectionids << grp.section_id
# end
# end
# end
# if @count > 0
# widget.status = "Installed"
# widget.section = @sectionids
# else
# widget.status = "Downloaded"
# end
# end
# @widgets.to_json
current_user.to_json
end
get '/desktop_appstore/widgets_settings' do
what = params["what"]
@widgetid = params["widget"]
@sectionid = params["section"]
@msg = Array.new
case what
when "remove"
@section = Section.find(@sectionid)
@groups = @section.groups
@groups.each do |group|
@tile = group.tiles.where(:data_content.all => [@widgetid])
if @tile.count > 0
@thistile = @tile
end
end
@t = Tile.find(@thistile.first.id)
@t.delete
@msg << {"success"=>true}
when "add"
@widget = current_user.desktop.desktop_widgets.find(@widgetid)
@section = Section.find(@sectionid)
@groups = @section.groups
@totalwidgets = 0
@groups.each do |group|
@tile = group.tiles.where(:data_content.all => [@widgetid]).count
if @tile > 0
@msg << {"success"=>false,"error"=>"Duplicate widget"}
else
no_of_widgets = group.tiles.where(:data_category.all => ["widget"]).count
@totalwidgets = @totalwidgets + no_of_widgets
end
end
if @totalwidgets >= 12
@msg << {"success"=>false,"error"=>"Section full"}
else
wshape = @widget.shape
wdata_content = @widgetid
wdata_category = "widget"
wname = @widget.name
if @groups.first.tiles.where(:data_category.all => ["widget"]).count >= 6
groupid = @groups.last.id
else
groupid = @groups.first.id
end
Tile.create(data_category: wdata_category,data_content: wdata_content, group_id: groupid, position: 10, title: wname, shape: wshape)
@msg << {"success"=>true}
end
end
@msg.to_json
end
class Desktopapp::DesktopAppAppstore < Sinatra::Base
get '/desktop_appstore/appstore' do
erb :appstore
end
get '/desktop_appstore/widgets' do
erb :'appstore/widgets'
end
get '/desktop_appstore/getuserwidgets' do
# @widgets = current_user.desktop.desktop_widgets
# @groups = Array.new
# @sections = current_user.desktop.sections
# @sections.each do |section|
# @groups << section.groups
# end
# @widgets.each do |widget|
# @count = 0;
# @sectionids = Array.new
# @groups.each do |group|
# group.each do |grp|
# @widge = 0
# @gid = widget.id.to_s
# @widge = grp.tiles.where(:data_content.all => [@gid]).count
# @count = @count + @widge
# if @widge > 0
# @sectionids << grp.section_id
# end
# end
# end
# if @count > 0
# widget.status = "Installed"
# widget.section = @sectionids
# else
# widget.status = "Downloaded"
# end
# end
# @widgets.to_json
current_user.to_json
end
get '/desktop_appstore/widgets_settings' do
what = params["what"]
@widgetid = params["widget"]
@sectionid = params["section"]
@msg = Array.new
case what
when "remove"
@section = Section.find(@sectionid)
@groups = @section.groups
@groups.each do |group|
@tile = group.tiles.where(:data_content.all => [@widgetid])
if @tile.count > 0
@thistile = @tile
end
end
@t = Tile.find(@thistile.first.id)
@t.delete
@msg << {"success"=>true}
when "add"
@widget = current_user.desktop.desktop_widgets.find(@widgetid)
@section = Section.find(@sectionid)
@groups = @section.groups
@totalwidgets = 0
@groups.each do |group|
@tile = group.tiles.where(:data_content.all => [@widgetid]).count
if @tile > 0
@msg << {"success"=>false,"error"=>"Duplicate widget"}
else
no_of_widgets = group.tiles.where(:data_category.all => ["widget"]).count
@totalwidgets = @totalwidgets + no_of_widgets
end
end
if @totalwidgets >= 12
@msg << {"success"=>false,"error"=>"Section full"}
else
wshape = @widget.shape
wdata_content = @widgetid
wdata_category = "widget"
wname = @widget.name
if @groups.first.tiles.where(:data_category.all => ["widget"]).count >= 6
groupid = @groups.last.id
else
groupid = @groups.first.id
end
Tile.create(data_category: wdata_category,data_content: wdata_content, group_id: groupid, position: 10, title: wname, shape: wshape)
@msg << {"success"=>true}
end
end
@msg.to_json
end
end