From bde92206415dc75688601d968fd613cbbb79ed2f Mon Sep 17 00:00:00 2001 From: chenjing Date: Tue, 13 Jun 2023 17:16:30 +0800 Subject: [PATCH] change cla --- .../javascripts/admins/organizations/index.js | 58 +++++++++++++------ .../admins/organizations_controller.rb | 11 ++-- .../organizations/clas_controller.rb | 2 +- app/models/ci/user.rb | 2 +- app/models/organization.rb | 8 +-- app/models/user.rb | 2 +- .../organizations/_detail.json.jbuilder | 2 +- ...50_change_cal_to_enabling_cla_for_users.rb | 5 ++ 8 files changed, 60 insertions(+), 30 deletions(-) create mode 100644 db/migrate/20230613082850_change_cal_to_enabling_cla_for_users.rb diff --git a/app/assets/javascripts/admins/organizations/index.js b/app/assets/javascripts/admins/organizations/index.js index b301e537d..97a5c76d1 100644 --- a/app/assets/javascripts/admins/organizations/index.js +++ b/app/assets/javascripts/admins/organizations/index.js @@ -10,32 +10,54 @@ $(document).on('turbolinks:load', function(){ // organizations open cla $('.organizations-list-container').on('click', '.open-cla-action', function(){ - var $action = $(this); + var $openClaAction = $(this); + var $closeClaAction = $openClaAction.siblings('.close-cla-action'); - var userId = $action.data('id'); - $.ajax({ - url: '/admins/organizations/' + userId + '/open_cla', - method: 'POST', - dataType: 'json', - success: function() { - showSuccessNotify(); + var userId = $openClaAction.data('id'); + customConfirm({ + content: '确认开通吗?', + ok: function () { + $.ajax({ + url: '/admins/organizations/' + userId + '/open_cla', + method: 'POST', + dataType: 'json', + success: function() { + showSuccessNotify(); + $closeClaAction.show(); + $openClaAction.hide(); + }, + error: function(res){ + $.notify({ message: res.responseJSON.message }, { type: 'danger' }); + } + }); } - }); + }) }); // organizations close cla $('.organizations-list-container').on('click', '.close-cla-action', function(){ - var $action = $(this); + var $closeClaAction = $(this); + var $openClaAction= $closeClaAction.siblings('.open-cla-action'); - var userId = $action.data('id'); - $.ajax({ - url: '/admins/organizations/' + userId + '/close_cla', - method: 'POST', - dataType: 'json', - success: function() { - showSuccessNotify(); + var userId = $openClaAction.data('id'); + customConfirm({ + content: '确认关闭吗?', + ok: function () { + $.ajax({ + url: '/admins/organizations/' + userId + '/close_cla', + method: 'POST', + dataType: 'json', + success: function() { + showSuccessNotify(); + $openClaAction.show(); + $closeClaAction.hide(); + }, + error: function(res){ + $.notify({ message: res.responseJSON.message }, { type: 'danger' }); + } + }); } - }); + }) }); diff --git a/app/controllers/admins/organizations_controller.rb b/app/controllers/admins/organizations_controller.rb index 9ca23ba38..c2e0ea96c 100644 --- a/app/controllers/admins/organizations_controller.rb +++ b/app/controllers/admins/organizations_controller.rb @@ -11,15 +11,18 @@ class Admins::OrganizationsController < Admins::BaseController def open_cla - @org = Organization.find(params[:id]) @org.open_cla! render_ok end def close_cla - @org = Organization.find(params[:id]) - @org.close_cla! - render_ok + if @org.cla.nil? + @org.close_cla! + render_ok + else + render_error(' 该组织已创建CLA 不允许关闭') + end + end def show diff --git a/app/controllers/organizations/clas_controller.rb b/app/controllers/organizations/clas_controller.rb index 369fb435c..531dc3c5d 100644 --- a/app/controllers/organizations/clas_controller.rb +++ b/app/controllers/organizations/clas_controller.rb @@ -9,7 +9,7 @@ class Organizations::ClasController < Organizations::BaseController end def create - tip_exception("您的组织还未拥有创建CLA权限,请联系管理员") if @organization.cla == false + tip_exception("您的组织还未拥有创建CLA权限,请联系管理员") if @organization.enabling_cla == false ActiveRecord::Base.transaction do if @organization.cla.present? return tip_exception("组织已存在CLA!") diff --git a/app/models/ci/user.rb b/app/models/ci/user.rb index be151dee2..62ed4c447 100644 --- a/app/models/ci/user.rb +++ b/app/models/ci/user.rb @@ -47,7 +47,7 @@ # watchers_count :integer default("0") # devops_step :integer default("0") # sign_cla :boolean default("0") -# cla :boolean default("0") +# enabling_cla :boolean default("0") # # Indexes # diff --git a/app/models/organization.rb b/app/models/organization.rb index 281a52980..e58cc91be 100644 --- a/app/models/organization.rb +++ b/app/models/organization.rb @@ -47,7 +47,7 @@ # watchers_count :integer default("0") # devops_step :integer default("0") # sign_cla :boolean default("0") -# cla :boolean default("0") +# enabling_cla :boolean default("0") # # Indexes # @@ -184,15 +184,15 @@ class Organization < Owner end def open_cla! - update_attribute(:cla, true) + update_attribute(:enabling_cla, true) end def close_cla! - update_attribute(:cla, false) + update_attribute(:enabling_cla, false) end def open_cla? - cla == true + enabling_cla == true end end diff --git a/app/models/user.rb b/app/models/user.rb index 7250eb09d..fd79bc408 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -47,7 +47,7 @@ # watchers_count :integer default("0") # devops_step :integer default("0") # sign_cla :boolean default("0") -# cla :boolean default("0") +# enabling_cla :boolean default("0") # # Indexes # diff --git a/app/views/organizations/organizations/_detail.json.jbuilder b/app/views/organizations/organizations/_detail.json.jbuilder index fffc019dc..1968e78c8 100644 --- a/app/views/organizations/organizations/_detail.json.jbuilder +++ b/app/views/organizations/organizations/_detail.json.jbuilder @@ -17,4 +17,4 @@ json.news_content organization.news_content json.memo organization.memo json.news_title organization.news_title json.news_url organization.news_url -json.cla organization.cla \ No newline at end of file +json.enabling_cla organization.enabling_cla \ No newline at end of file diff --git a/db/migrate/20230613082850_change_cal_to_enabling_cla_for_users.rb b/db/migrate/20230613082850_change_cal_to_enabling_cla_for_users.rb new file mode 100644 index 000000000..1c4a9e93b --- /dev/null +++ b/db/migrate/20230613082850_change_cal_to_enabling_cla_for_users.rb @@ -0,0 +1,5 @@ +class ChangeCalToEnablingClaForUsers < ActiveRecord::Migration[5.2] + def change + rename_column :users, :cla ,:enabling_cla + end +end