148 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
		
		
			
		
	
	
			148 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Ruby
		
	
	
	
|  | class Desktopapp::DesktopApp < Sinatra::Base | ||
|  | 	 | ||
|  | 	#set :views, settings.root+'/desktop/' | ||
|  | 	 | ||
|  | 	get "/desktop/desktop" do  | ||
|  | 		erb :desktop | ||
|  | 	end | ||
|  | 
 | ||
|  | 	get "/desktop/app_manager" do | ||
|  | 		erb :app_manager  | ||
|  | 	end | ||
|  | 
 | ||
|  | 	get "/desktop/sections" do | ||
|  | 		erb :sections | ||
|  | 	end | ||
|  | 
 | ||
|  | 	get "/desktop/settings" do | ||
|  | 		erb :settings | ||
|  | 	end | ||
|  | 
 | ||
|  | 	post "/desktop/save_desktop_settings" do | ||
|  | 		@desktop = Desktop.find(params["desktopid"]) | ||
|  | 	    @savewhat = params["save"] | ||
|  | 	    case @savewhat | ||
|  | 	    when "theme" | ||
|  | 	      @desktop.update_attributes(:theme => params["theme"]) | ||
|  | 	      @desktop.update_attributes(:wallpaper => nil) | ||
|  | 	    when "desktopnames" | ||
|  | 	      @sections = @desktop.sections | ||
|  | 	      x = 0; | ||
|  | 	      @sections.each do |section| | ||
|  | 	        @desktopnewnames = params["desktopnms"] | ||
|  | 	        section.update_attributes(:name => @desktopnewnames[x] ) | ||
|  | 	        x = x+1
 | ||
|  | 	      end | ||
|  | 	    when "appnewsection" | ||
|  | 	      @section = Section.find(params["newsectionid"]) | ||
|  | 	      @groups = @section.groups | ||
|  | 	      @app = Tile.find(params["appid"]) | ||
|  | 	      @groups.each do |group| | ||
|  | 	        @tiles = group.tiles.where(:data_category.all => ["app"]) | ||
|  | 	        if @tiles.length < 12
 | ||
|  | 	          @app.update_attributes(:group_id => group.id) | ||
|  | 	          break | ||
|  | 	        end | ||
|  | 	      end | ||
|  | 	      when "customtheme" | ||
|  | 	        @desktop.update_attributes(:theme => "custom") | ||
|  | 	        @desktop.update_attributes(:customtheme => params['theme']) | ||
|  | 	      when "wallpaper" | ||
|  | 	        @desktop.update_attributes(:wallpaper => params["wallpapernm"]) | ||
|  | 	      end | ||
|  | 	     a = Array.new | ||
|  | 	     a << {"success"=>"true"} | ||
|  | 	     a.to_json | ||
|  | 	end | ||
|  | 
 | ||
|  | 	get "/desktop/get_desktop_settings" do | ||
|  | 		@desktop = Desktop.find(params["desktopid"]) | ||
|  | 	     @getwhat = params["get"] | ||
|  | 	     case @getwhat | ||
|  | 	      when "desktop" | ||
|  | 	        	 @desktop.to_json | ||
|  | 	      when "sectionnames" | ||
|  | 	        secnames = Array.new | ||
|  | 	        @sections = @desktop.sections | ||
|  | 	        @sections.each do |section| | ||
|  | 	          secnames << section.name | ||
|  | 	        end | ||
|  | 	        secnames.to_json | ||
|  | 	      when "theme" | ||
|  | 	        @theme = @desktop.theme | ||
|  | 	       	@theme.to_json | ||
|  | 	     end | ||
|  | 	end | ||
|  | 
 | ||
|  | 	get "/desktop/getgroups" do | ||
|  | 		 @section = Section.find(params["sectionid"]) | ||
|  | 	    @groups = @section.groups | ||
|  | 	    a = Array.new | ||
|  | 	    @groups.each do |group| | ||
|  | 	      a << group.tiles | ||
|  | 	    end | ||
|  | 	    a.to_json | ||
|  | 	end | ||
|  | 
 | ||
|  | 	get "/desktop/getsectionlist" do | ||
|  | 		@desktop = Desktop.find(params["desktopid"]) | ||
|  |   		@sections = @desktop.sections | ||
|  |     	@sections.to_json  | ||
|  | 	end | ||
|  | 
 | ||
|  | 	get "/desktop/settingthemes" do | ||
|  | 		 @themes = DesktopTheme.all | ||
|  | 		 erb :'settings/themes' | ||
|  | 	end | ||
|  | 
 | ||
|  | 	get "/desktop/settingsections" do | ||
|  | 		erb :'settings/sections' | ||
|  | 	end | ||
|  | 
 | ||
|  | 	get "/desktop/getapplist" do | ||
|  | 		@desktop = Desktop.find(params["desktopid"]) | ||
|  | 	     @sections = @desktop.sections | ||
|  | 	     a = Array.new | ||
|  | 	     @sections.each do |section| | ||
|  | 	       @groups = section.groups | ||
|  | 	       @groups.each do |group| | ||
|  | 	         @tiles = group.tiles.where(:data_category.all => ["app"]) | ||
|  | 	         a << @tiles | ||
|  | 	       end | ||
|  | 	     end | ||
|  | 	     a.to_json | ||
|  | 	end | ||
|  | 
 | ||
|  | 	post "/desktop/newpositions" do | ||
|  | 		@newpositions = params["newpos"] | ||
|  | 	    @section = Section.find(params["sectionid"]) | ||
|  | 	    @groupids = params["groupids"] | ||
|  | 	    @groups = @section.groups | ||
|  | 	     z = 0
 | ||
|  | 	    @newpositions.each do |grp| | ||
|  | 	      x = 1
 | ||
|  | 	      grp.each do |tileid| | ||
|  | 	        if x != 1
 | ||
|  | 	          y = 1
 | ||
|  | 	          tileid.each do |id| | ||
|  | 	            @tile = Tile.find(id) | ||
|  | 	            @tile.update_attributes({:position => y}) | ||
|  | 	            if @tile.group_id != @groupids[z] | ||
|  | 	              @tile.update_attributes({:group_id => @groupids[z]}) | ||
|  | 	            end | ||
|  | 	             y = y + 1
 | ||
|  | 	          end | ||
|  | 	          z = z + 1
 | ||
|  | 	        end | ||
|  | 	        x = x + 1
 | ||
|  | 	      end | ||
|  | 	    end | ||
|  | 	    b = Array.new | ||
|  | 	    b << {"success"=>"true"} | ||
|  | 	    b.to_json | ||
|  | 	end | ||
|  | 
 | ||
|  | 	get "/desktop/settingconnection" do | ||
|  | 		erb :'settings/connections' | ||
|  | 	end | ||
|  | end |