From f38432f3bcb18177d9ea6967599931dc5bd64daa Mon Sep 17 00:00:00 2001 From: bee0005 Date: Sat, 27 Aug 2016 13:21:08 +0000 Subject: [PATCH] add directory --- app/controllers/volume_controller.rb | 75 +++++++++------- app/views/volume/info.html.erb | 126 ++++++++++++++++++++------- config/routes.rb | 1 + 3 files changed, 142 insertions(+), 60 deletions(-) diff --git a/app/controllers/volume_controller.rb b/app/controllers/volume_controller.rb index afef770..1fb04ed 100644 --- a/app/controllers/volume_controller.rb +++ b/app/controllers/volume_controller.rb @@ -1,9 +1,11 @@ class VolumeController < ApplicationController + helper_method :file_directory + def info + file_directory('/home/ubuntu') @volumes = Array.new volume = Hash.new i = 0 - if get_info.blank? flash[:danger] = "Check Server" else @@ -35,38 +37,51 @@ class VolumeController < ApplicationController end - def get_files(name) - mnt_path = "/opt/gluster-web-interface/app/mntpoint" + "/" + name.delete(' ') - files = Array.new - file = Hash.new - - puts "start///////" - puts "path: " + mnt_path - - `sudo mkdir #{dir}` - `sudo mount.glusterfs gluster-1:/#{dir_name} #{dir}` - - dir_list = `ls #{dir} -l` - puts dir_list - + def file_directory(dir) + @current_dir = dir + dir_list = `ls #{@current_dir} -l` parsing_list = dir_list.split("\n") - @total = parsing_list[0] - @cur_dir = dir - + @files = Array.new + file = Hash.new i = 0 + @total_list = parsing_list[0] for t in 1..(parsing_list.length-1) - puts "@@@@@@@@@@@" + parsing_list[t] - parsing_file = parsing_list[t].split(" ") - file["auth"] = parsing_file[0] - file["size"] = parsing_file[4] - file["date"] = parsing_file[5] + " " + parsing_file[6] + " "+ parsing_file[7] - file["name"] = parsing_file[8] - files[i] = file - file = Hash.new - i+=1 + parsing_file = parsing_list[t].split(" ") + file["auth"] = parsing_file[0] + file["size"] = parsing_file[4] + file["date"] = parsing_file[5] + " " + parsing_file[6] + " "+ parsing_file[7] + file["name"] = parsing_file[8] + @files[i] = file + file = Hash.new + i+=1 end - puts files - - return files + puts @files + end + + + def change_file_directory(dir) + @change_dir = dir + dir_list = `ls #{@change_dir} -l` + parsing_list = dir_list.split("\n") + @change_files = Array.new + file = Hash.new + i = 0 + @change_total_list = parsing_list[0] + for t in 1..(parsing_list.length-1) + parsing_file = parsing_list[t].split(" ") + file["auth"] = parsing_file[0] + file["size"] = parsing_file[4] + file["date"] = parsing_file[5] + " " + parsing_file[6] + " "+ parsing_file[7] + file["name"] = parsing_file[8] + @change_files[i] = file + file = Hash.new + i+=1 + end + puts @change_files + end + + def checkDir + file_directory(params[:path]) + render :json => {:file => @files , :current => @current_dir} end end diff --git a/app/views/volume/info.html.erb b/app/views/volume/info.html.erb index 49539eb..c092567 100644 --- a/app/views/volume/info.html.erb +++ b/app/views/volume/info.html.erb @@ -4,7 +4,7 @@
-

Volume

+

Volume Info

- <%f = get_files(t["Volume Name"])%> - <%f.each do |t|%> -
- Current directory : <%=@cur_dir%>
- Numbers : <%=@total%>
-
-
+

File Manager

+

Current directory : <%=@current_dir%>


@@ -85,20 +80,32 @@ - - + + + + + + + + <%@files.each do |t|%> - - + <% if t["auth"][0]=='d'%> + + <% else %> + + <% end %> + - + <%end%>
+ .. +
<%=t["name"]%><%=t["auth"][0]%> + ')"><%=t["name"]%> + <%=t["name"]%><%=t["auth"]%> <%=t["size"]%> <%=t["date"]%>
- <%end%> -
@@ -144,20 +151,79 @@ + + + + + diff --git a/config/routes.rb b/config/routes.rb index 6a51e09..014995f 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -17,6 +17,7 @@ Rails.application.routes.draw do get 'volume/info' => 'volume#info' get 'peer/index' => 'peer#index' post 'file_upload' => 'volume#file_upload' + post 'volume/changeDir' => 'volume#checkDir' # Example of regular route: # get 'products/:id' => 'catalog#view'