diff --git a/config/routes.rb b/config/routes.rb index 97ddec52..1cabd352 100644 --- a/config/routes.rb +++ b/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 diff --git a/lib/desktopapp/desktop_app_appstore.rb b/lib/desktopapp/desktop_app_appstore.rb index 5e7f6b87..5ad72f77 100644 --- a/lib/desktopapp/desktop_app_appstore.rb +++ b/lib/desktopapp/desktop_app_appstore.rb @@ -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 \ No newline at end of file