Added projects. Part 3

master
alexey 1 month ago
parent b72764d347
commit 8d10b21963

@ -211,6 +211,10 @@ post "/recips/:rcp_id" do
session[:rcpcreate_error] = @error_data
redirect url("/recips/#{rcp_id}")
else
session[:rcp_old_filepath] = nil
session[:rcp_old_description] = nil
session[:rcp_old_codedata] = nil
session[:rcp_old_gitlst] = nil
redirect "/recips"
end
end
@ -265,6 +269,10 @@ post "/rcpcreate" do
session[:rcpcreate_error] = @error_data
redirect "/rcpcreate"
else
session[:rcp_old_filepath] = nil
session[:rcp_old_description] = nil
session[:rcp_old_codedata] = nil
session[:rcp_old_gitlst] = nil
redirect "/recips"
end
end
@ -316,6 +324,28 @@ get "/prjcreate" do
erb :prjcrt
end
post "/prjcreate" do
session[:prj_old_name] = params["projname"]
session[:prj_old_description] = params["description"]
session[:prj_old_list] = params["conflist"]
if params["projname"].nil? || params["description"].nil? || params["projname"].strip == "" || params["description"].strip == "" || params["conflist"].nil? || params["conflist"].strip == ""
session[:rcpcreate_error] = "Имя проекта, описание и окружение сборки не должны быть пустыми"
redirect "/prjcreate"
else
prj = ProjectsActions.new(cfg.get_projects_path, db)
result = prj.create_project(params["projname"], params["description"], params["conflist"])
if result != 0
session[:prjcreate_error] = prj.error
redirect "/prjcreate"
else
session[:prj_old_name] = nil
session[:prj_old_description] = nil
session[:prj_old_list] = nil
redirect "/projs"
end
end
end
not_found do
status 404
@page_name = "Кто-то потерялся"

@ -121,9 +121,9 @@ class DBase
def proj_create(proj_name, proj_descr)
@error = nil
data = Projects.where(projname: project_name).first
data = Projects.where(projname: proj_name).first
if data.nil?
id = Projects.insert(projname: project_name, descr: description, public: 1)
id = Projects.insert(projname: proj_name, descr: proj_descr, public: 1)
@last_id = id
else
@error = "Данный проект уже существует"

@ -48,22 +48,27 @@ class ProjectsActions
@error = "Проект с таким именем уже существует: #{project_name}"
ret_val = 1
else
Dir.mkdir(fname)
created = false
PROJECTS_STRUCTURE.each_pair do |key, value|
new_path = File.join(fname, value)
Dir.mkdir(new_path)
end
if File.exist?(configuration)
conf_path = File.join(@path, PROJECTS_STRUCTURE[:CONFIGS], project_name)
FileUtils.cp(configuration, conf_path)
@error = @db.proj_create(project_name, description)
if @error.nil?
created = true
begin
Dir.mkdir(fname)
PROJECTS_STRUCTURE.each_pair do |key, value|
new_path = File.join(fname, value)
Dir.mkdir(new_path)
end
if File.exist?(configuration)
conf_path = File.join(fname, PROJECTS_STRUCTURE[:CONFIGS], "#{project_name}.cfg")
FileUtils.cp(configuration, conf_path)
@error = @db.proj_create(project_name, description)
if @error.nil?
created = true
end
else
ret_val = 1
@error = "Конфигурация #{configuration} не существует"
end
else
rescue => e
ret_val = 1
@error = "Конфигурация #{configuration} не существует"
@error = e.message
end
unless created
FileUtils.rm_rf(fname, secure: true)

@ -14,6 +14,7 @@ Sequel.migration do
primary_key :id
String :projname
String :descr, text: true
Integer :public
Datetime :create_at, default: Sequel.lit("CURRENT_TIMESTAMP")
end

@ -2,7 +2,7 @@
<script src="/js/jquery.dropdown.min.js"></script>
<% unless @error_data.nil? %>
<div class="container">
<div class="alert alert-warning alert-dismissible fade show" role="alert"><span><%= @error_data %></span><button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Закрыть"></button></div>
<div class="alert alert-warning alert-dismissible fade show" role="alert"><span><%= @error_data.to_s.force_encoding("UTF-8") %></span><button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Закрыть"></button></div>
</div>
<% end %>
<div class="container">

Loading…
Cancel
Save