Fixed project deletion errors
This commit is contained in:
@@ -354,15 +354,27 @@ class DBase
|
||||
end
|
||||
|
||||
def delete_project(prj_id)
|
||||
result = ProjectsProjects.where(proj_id_repository: prj_id.to_i)
|
||||
count = 0
|
||||
result.each do |item|
|
||||
count = count + 1
|
||||
end
|
||||
return 1 if count > 0
|
||||
ReposProjects.where(proj_id: prj_id.to_i).delete
|
||||
ProjectsReposSpec.where(proj_id: prj_id.to_i).delete
|
||||
builds = BuildTask.where(proj_id: prj_id.to_i)
|
||||
builds.each do |item|
|
||||
rpms = BuildRpms.where(build_id: item[:id])
|
||||
Rpms.where(id: rpms[:rpm_id]).delete
|
||||
rpms.each do |rpm|
|
||||
rpm_id_t = rpm[:rpm_id]
|
||||
BuildRpms.where(build_id: item[:id], rpm_id: rpm_id_t).delete
|
||||
Rpms.where(id: rpm_id_t).delete
|
||||
end
|
||||
end
|
||||
BuildTask.where(proj_id: prj_id.to_i).delete
|
||||
ProjectsProjects.where(proj_id: prj_id.to_i).delete
|
||||
Projects.where(id: prj_id.to_i).delete
|
||||
0
|
||||
end
|
||||
|
||||
def projects_with_current_as_link(prj_id)
|
||||
|
||||
@@ -373,7 +373,9 @@ class ProjectsActions
|
||||
if linked.nil? || linked.length == 0
|
||||
proj_path = get_project_path(prj_id)
|
||||
FileUtils.rm_rf(proj_path, secure: true)
|
||||
@db.delete_project(prj_id)
|
||||
if @db.delete_project(prj_id) != 0
|
||||
@error = "На текущий проект ссылаются другие проекты. Удаление запрещено"
|
||||
end
|
||||
else
|
||||
@error = "На текущий проект ссылаются другие проекты. Удаление запрещено"
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user