test
This commit is contained in:
parent
7f0267aedd
commit
8c7a0fdf0a
386
config/routes.rb
386
config/routes.rb
|
@ -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
|
||||
|
|
|
@ -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
|
Reference in New Issue