cla pr and destroy user_cla

This commit is contained in:
chenjing 2023-06-16 10:07:06 +08:00
parent 74dcdebe5e
commit fb4a44a6fa
6 changed files with 28 additions and 9 deletions

View File

@ -2,20 +2,32 @@ class Users::ClasController < Users::BaseController
before_action :require_login
before_action :private_user_resources!
def index
@user_clas = UserCla.where(user: @_observed_user)
@user_clas = UserCla.where(user: current_user)
end
def create
tip_exception("已签署过该组织CLA!") if @_observed_user.user_clas.where(cla_id: params[:cla_id]).size > 0
ActiveRecord::Base.transaction do
Users::UserClaForm.new(user_cla_params).validate!
@user_cla = UserCla.build(user_cla_params, @_observed_user.id)
render_ok
@user_cla = current_user.user_clas.find_by(cla_id: params[:cla_id])
if @user_cla
@user_cla.update_attributes(state: 1)
else
ActiveRecord::Base.transaction do
Users::UserClaForm.new(user_cla_params).validate!
@user_cla = UserCla.build(user_cla_params, current_user.id)
end
end
render_ok
rescue Exception => e
uid_logger_error(e.message)
tip_exception(e.message)
end
def destroy
@user_cla = current_user.user_clas.find_by(cla_id: params[:cla_id])
@user_cla.update_attributes(state: 2)
render_ok
end
private
def user_cla_params

View File

@ -36,7 +36,9 @@ class Cla < ApplicationRecord
)
end
def valid_sign(user_id)
user_clas.where(user_id: user_id, state:1).present?
end
def fresh_count
update(count:self.users.count)
end

View File

@ -8,7 +8,7 @@ class PullRequests::SendJournalService < ApplicationService
end
def call
if @org.enabling_cla && @org.cla.present? && @org.cla.pr_need && !@org.is_member?(@current_user&.id)
if @org.enabling_cla && @org.cla.present? && @org.cla.pr_need && !@org.is_member?(@current_user&.id) && !@org.cla.valid_sign(@current_user&.id)
ActiveRecord::Base.transaction do
sender_id = if Rails.env.development?
User.last.id

View File

@ -3,6 +3,7 @@ json.identifier project.identifier
json.name project.name
json.description project.description
json.is_public project.is_public
json.pr_need @project.owner&.cla.try(:pr_need)
json.owner do
json.partial! "/users/user_simple", locals: {user: project.owner}
end

View File

@ -10,7 +10,11 @@ json.project_name @project.name
json.project_author @project.owner.try(:login)
json.project_author_name @project.owner.try(:show_real_name)
json.has_created_pull_requests @project.pull_requests.size > 0
<<<<<<< 74dcdebe5ebf2bf33c242d7cdffe9497372406ca
json.disable_pr_vew @project.pr_view_admin? && !@project.manager?(current_user)
=======
json.pr_need @project.owner&.cla.try(:pr_need)
>>>>>>> cla pr and destroy user_cla
json.issues do
json.array! @issues.to_a do |issue|

View File

@ -390,7 +390,7 @@ Rails.application.routes.draw do
scope module: :users do
resource :interest, only: [:create]
resources :clas, only: [:index,:create]
resources :clas
resources :accounts, only: [:show, :update] do
resource :phone_bind, only: [:create]
resource :email_bind, only: [:create]