diff --git a/Gemfile.lock b/Gemfile.lock index 34f5318d7..01529c5e3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,11 +1,3 @@ -GIT - remote: https://gitlink.org.cn/KingChan/sonarqube.git - revision: 80f07d427322ef02c0714c77a382e87aed0bef81 - specs: - sonarqube (1.3.0) - httparty (~> 0.14, >= 0.14.0) - terminal-table (~> 1.5, >= 1.5.1) - GEM remote: https://mirrors.cloud.tencent.com/rubygems/ specs: @@ -107,6 +99,7 @@ GEM archive-zip (~> 0.10) nokogiri (~> 1.8) chunky_png (1.3.11) + coderay (1.1.3) concurrent-ruby (1.1.6) connection_pool (2.2.2) crass (1.0.6) @@ -143,7 +136,7 @@ GEM fugit (1.4.1) et-orbi (~> 1.1, >= 1.1.8) raabro (~> 1.4) - gitea-client (1.4.6) + gitea-client (1.5.9) rest-client (~> 2.1.0) globalid (0.4.2) activesupport (>= 4.2.0) @@ -156,11 +149,8 @@ GEM hashie (3.6.0) htmlentities (4.3.4) http-accept (1.7.0) - http-cookie (1.0.5) + http-cookie (1.0.8) domain_name (~> 0.5) - httparty (0.21.0) - mini_mime (>= 1.0.0) - multi_xml (>= 0.5.2) i18n (1.8.2) concurrent-ruby (~> 1.0) io-like (0.3.1) @@ -189,7 +179,8 @@ GEM rb-fsevent (~> 0.9, >= 0.9.4) rb-inotify (~> 0.9, >= 0.9.7) ruby_dep (~> 1.2) - loofah (2.4.0) + logger (1.6.6) + loofah (2.20.0) crass (~> 1.0.2) nokogiri (>= 1.5.9) mail (2.7.1) @@ -198,9 +189,10 @@ GEM mimemagic (~> 0.3.2) maruku (0.7.3) method_source (0.9.2) - mime-types (3.5.2) + mime-types (3.6.0) + logger mime-types-data (~> 3.2015) - mime-types-data (3.2024.0507) + mime-types-data (3.2025.0220) mimemagic (0.3.10) nokogiri (~> 1) rake @@ -255,6 +247,11 @@ GEM popper_js (1.16.0) powerpack (0.1.2) prettier (0.18.2) + pry (0.12.2) + coderay (~> 1.1.0) + method_source (~> 0.9.0) + pry-rails (0.3.9) + pry (>= 0.10.4) public_suffix (4.0.3) puma (5.6.5) nio4r (~> 2.0) @@ -448,8 +445,6 @@ GEM actionpack (>= 4.0) activesupport (>= 4.0) sprockets (>= 3.0.0) - terminal-table (1.8.0) - unicode-display_width (~> 1.1, >= 1.1.1) thor (1.0.1) thread_safe (0.3.6) tilt (2.0.10) @@ -460,9 +455,7 @@ GEM thread_safe (~> 0.1) uglifier (4.2.0) execjs (>= 0.3.0, < 3) - unf (0.1.4) - unf_ext - unf_ext (0.0.9.1) + unf (0.2.0) unicode-display_width (1.6.1) web-console (3.7.0) actionview (>= 5.0) @@ -504,7 +497,7 @@ DEPENDENCIES enumerize faraday (~> 0.15.4) font-awesome-sass (= 4.7.0) - gitea-client (~> 1.4.3) + gitea-client (~> 1.5.8) grape-entity (~> 0.7.1) groupdate (~> 4.1.0) harmonious_dictionary (~> 0.0.1) @@ -514,6 +507,7 @@ DEPENDENCIES kaminari (~> 1.1, >= 1.1.1) letter_avatar listen (>= 3.0.5, < 3.2) + loofah (~> 2.20.0) mysql2 (>= 0.4.4, < 0.6.0) oauth2 omniauth (~> 1.9.0) @@ -526,6 +520,7 @@ DEPENDENCIES parallel (~> 1.19, >= 1.19.1) pdfkit prettier + pry-rails puma (~> 5.6.5) rack-cors rails (~> 5.2.0) @@ -552,7 +547,6 @@ DEPENDENCIES simple_xlsx_reader (~> 1.0.4) sinatra solargraph (~> 0.38.0) - sonarqube! spreadsheet spring spring-watcher-listen (~> 2.0.0) diff --git a/app/controllers/action/node_inputs_controller.rb b/app/controllers/action/node_inputs_controller.rb index cf108f324..5e1a319c4 100644 --- a/app/controllers/action/node_inputs_controller.rb +++ b/app/controllers/action/node_inputs_controller.rb @@ -67,9 +67,9 @@ class Action::NodeInputsController < ApplicationController def node_input_params if params.require(:action_node_input) - params.require(:action_node_input).permit(:name, :input_type, :description, :is_required, :sort_no) + params.require(:action_node_input).permit(:name, :input_type, :description, :is_required, :sort_no, :default_value) else - params.permit(:name, :input_type, :description, :is_required, :sort_no) + params.permit(:name, :input_type, :description, :is_required, :sort_no, :default_value) end end end diff --git a/app/controllers/api/v1/projects/pipelines_controller.rb b/app/controllers/api/v1/projects/pipelines_controller.rb index 68305a40b..1e1be4dc8 100644 --- a/app/controllers/api/v1/projects/pipelines_controller.rb +++ b/app/controllers/api/v1/projects/pipelines_controller.rb @@ -47,6 +47,7 @@ class Api::V1::Projects::PipelinesController < Api::V1::BaseController interactor = sha.present? ? Gitea::UpdateFileInteractor.call(current_user.gitea_token, @owner.login, content_params("update").merge(sha: sha)) : Gitea::CreateFileInteractor.call(current_user.gitea_token, @owner.login, content_params("create")) tip_exception(interactor.error) unless interactor.success? file = interactor.result + @pipeline.save render_ok({ pipeline_yaml: pipeline_yaml, pipeline_name: params[:pipeline_name], file_name: @pipeline.file_name, sha: sha.present? ? sha : file['content']['sha'] }) end @@ -79,8 +80,8 @@ class Api::V1::Projects::PipelinesController < Api::V1::BaseController def destroy @pipeline = Action::Pipeline.find(params[:id]) - if pipeline - interactor = Gitea::DeleteFileInteractor.call(current_user.gitea_token, @owner.login, content_params("update")) + if @pipeline + interactor = Gitea::DeleteFileInteractor.call(current_user.gitea_token, @owner.login, del_content_params.merge(identifier: @project.identifier)) tip_exception(interactor.error) unless interactor.success? @pipeline.destroy! end @@ -114,7 +115,7 @@ class Api::V1::Projects::PipelinesController < Api::V1::BaseController def show @pipeline = Action::Pipeline.find_by(id: params[:id]) - @pipeline = Action::Pipeline.new(id: 0, pipeline_name: "test-ss", yaml: build_test_yaml) if @pipeline.blank? + # @pipeline = Action::Pipeline.new(id: 0, pipeline_name: "test-ss", yaml: build_test_yaml) if @pipeline.blank? end def build_pipeline_yaml_new(pipeline_name, pipeline_json) @@ -172,6 +173,15 @@ class Api::V1::Projects::PipelinesController < Api::V1::BaseController } end + def del_content_params(opt) + { + filepath: ".gitea/workflows/#{@pipeline.pipeline_name}.yml", + base64_filepath: Base64.encode64(".gitea/workflows/#{@pipeline.pipeline_name}.yml").gsub(/\n/, ''), + branch: @pipeline.branch, + sha: get_pipeline_file_sha(@pipeline.file_name, @pipeline.branch) + } + end + def build_nodes(params_nodes) steps_nodes = [] params_nodes.each do |input_node| diff --git a/app/controllers/licenses_controller.rb b/app/controllers/licenses_controller.rb index 6e3ee8f0e..6b66e8813 100644 --- a/app/controllers/licenses_controller.rb +++ b/app/controllers/licenses_controller.rb @@ -4,4 +4,8 @@ class LicensesController < ApplicationController q = License.ransack(name_cont: params[:name]) @licenses = q.result(distinct: true) end + + def show + @license = License.find(params[:id]) + end end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 761a88fa8..4c18cac4b 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -263,7 +263,7 @@ class UsersController < ApplicationController begin @user = current_user begin - result = Notice::Read::CountService.call(current_user.id) + result = EduSetting.get("notice_disable").to_s == "true" ? nil : Notice::Read::CountService.call(current_user.id) @message_unread_total = result.nil? ? 0 : result[2]["unread_notification"] rescue @message_unread_total = 0 diff --git a/app/models/action/pipeline.rb b/app/models/action/pipeline.rb index 227fa4aa8..c5a511168 100644 --- a/app/models/action/pipeline.rb +++ b/app/models/action/pipeline.rb @@ -33,7 +33,7 @@ class Action::Pipeline < ApplicationRecord belongs_to :user, optional: true belongs_to :project - validates :name, presence: { message: "不能为空" } + validates :pipeline_name, presence: { message: "不能为空" } validates :json, length: { maximum: 65535, too_long: "不能超过65535个字符"} validates :yaml, length: { maximum: 65535, too_long: "不能超过65535个字符"} end diff --git a/app/views/action/node_inputs/_form.html.erb b/app/views/action/node_inputs/_form.html.erb index deccfa69e..a3dc844dc 100644 --- a/app/views/action/node_inputs/_form.html.erb +++ b/app/views/action/node_inputs/_form.html.erb @@ -23,6 +23,10 @@ <%= form.label :description, "描述" %> <%= form.text_area :description, rows: 5, :style => 'width:800px;' %> +