Added projects. Part 7
This commit is contained in:
96
app.rb
96
app.rb
@@ -293,9 +293,17 @@ get "/bldcfginfo" do
|
||||
if @filename.nil?
|
||||
print_error_page(503, "Не задано имя конфигурационного файла")
|
||||
else
|
||||
@page_name = @filename
|
||||
@content = File.readlines(@filename)
|
||||
erb :cfgsinfo
|
||||
unless check_safe_path(@filename)
|
||||
print_error_page(503, "Доступ к файлу #{@filename} запрещен")
|
||||
else
|
||||
unless File.exist?(@filename)
|
||||
print_error_page(503, "Файл #{@filename} не существует")
|
||||
else
|
||||
@page_name = @filename
|
||||
@content = File.readlines(@filename)
|
||||
erb :cfgsinfo
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -401,7 +409,7 @@ post "/prjagit/:id" do
|
||||
if prj_info.nil?
|
||||
print_error_page(503, "Путь к проектам не существует")
|
||||
else
|
||||
proj_repo_list = prj.get_project_gits(prj_info[:id])
|
||||
proj_repo_list = prj.get_project_gits(prj_info[:id], repo)
|
||||
git_info = repo.get_repo_short_info_by_id(params["gitlist"].to_i)
|
||||
if git_info.nil?
|
||||
print_error_page(503, "Репозиторий исчез")
|
||||
@@ -446,7 +454,7 @@ get "/prjrgit/:id/:git_id" do
|
||||
if prj_info.nil?
|
||||
print_error_page(503, "Путь к проектам не существует")
|
||||
else
|
||||
proj_repo_list = prj.get_project_gits(prj_info[:id])
|
||||
proj_repo_list = prj.get_project_gits(prj_info[:id], repo)
|
||||
git_info = repo.get_repo_short_info_by_id(params["git_id"].to_i)
|
||||
if git_info.nil?
|
||||
print_error_page(503, "Репозиторий исчез")
|
||||
@@ -466,6 +474,84 @@ get "/prjrgit/:id/:git_id" do
|
||||
redirect back
|
||||
end
|
||||
|
||||
get "/prjgitf/:id/:git_id" do
|
||||
prj = ProjectsActions.new(cfg.get_projects_path, db)
|
||||
if prj.path.nil?
|
||||
print_error_page(503, "Путь к проектам не существует")
|
||||
else
|
||||
repo = GitRepo.new(cfg.get_repo, db)
|
||||
if repo.path.nil?
|
||||
print_error_page(503, "Путь к репозиториям не существует")
|
||||
else
|
||||
prj_info = prj.get_project(params["id"])
|
||||
if prj_info.nil?
|
||||
print_error_page(503, "Путь к проектам не существует")
|
||||
else
|
||||
proj_repo_list = prj.get_project_gits(prj_info[:id], repo)
|
||||
git_info = repo.get_repo_short_info_by_id(params["git_id"].to_i)
|
||||
if git_info.nil?
|
||||
print_error_page(503, "Репозиторий исчез")
|
||||
else
|
||||
if params["p"].nil?
|
||||
filepath = ""
|
||||
else
|
||||
filepath = params["p"]
|
||||
end
|
||||
proj_path = prj.get_project_path_git(prj_info[:id], git_info[:reponame])
|
||||
f_path = File.join(proj_path, filepath)
|
||||
if File.exist?(f_path)
|
||||
if File.directory?(f_path)
|
||||
@file_content = []
|
||||
@files_list = Dir[File.join(f_path, "*")].map do |item|
|
||||
if File.directory?(item)
|
||||
{ :file => item.delete_prefix(proj_path + "/"), :isdir => true }
|
||||
else
|
||||
{ :file => item.delete_prefix(proj_path + "/"), :isdir => false }
|
||||
end
|
||||
end
|
||||
else
|
||||
@file_content = File.readlines(f_path)
|
||||
@files_list = Dir[File.join(File.dirname(f_path), "*")].map do |item|
|
||||
if File.directory?(item)
|
||||
{ :file => item.delete_prefix(proj_path + "/"), :isdir => true }
|
||||
else
|
||||
{ :file => item.delete_prefix(proj_path + "/"), :isdir => false }
|
||||
end
|
||||
end
|
||||
end
|
||||
if filepath != ""
|
||||
if File.dirname(f_path) == proj_path
|
||||
fn = ""
|
||||
else
|
||||
if File.directory?(f_path)
|
||||
fn = File.dirname(f_path).delete_prefix(proj_path + "/")
|
||||
else
|
||||
f_path = File.dirname(f_path)
|
||||
if File.dirname(f_path) == proj_path
|
||||
fn = ""
|
||||
else
|
||||
fn = File.dirname(f_path).delete_prefix(proj_path + "/")
|
||||
end
|
||||
end
|
||||
end
|
||||
@files_list = [{ :file => "..", :isdir => true, :fname => fn }] + @files_list
|
||||
end
|
||||
@proj_info = prj_info
|
||||
@proj_git_name = git_info
|
||||
@file_name = filepath
|
||||
erb :fileinfo
|
||||
else
|
||||
print_error_page(503, "Файл не существует")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
get "/gitbld/:id/:git_id" do
|
||||
end
|
||||
|
||||
not_found do
|
||||
status 404
|
||||
@page_name = "Кто-то потерялся"
|
||||
|
||||
Reference in New Issue
Block a user