fix bugs
This commit is contained in:
parent
cd595646d8
commit
01f15da5ed
|
@ -27,6 +27,7 @@ class AccountsController < ApplicationController
|
||||||
@user.gitea_uid = gitea_user['id']
|
@user.gitea_uid = gitea_user['id']
|
||||||
if @user.save!
|
if @user.save!
|
||||||
UserExtension.create!(user_id: @user.id)
|
UserExtension.create!(user_id: @user.id)
|
||||||
|
@user.create_wallet(balance: 0)
|
||||||
render_ok({user: {id: @user.id, token: @user.gitea_token}})
|
render_ok({user: {id: @user.id, token: @user.gitea_token}})
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
|
|
@ -9,6 +9,7 @@ class ApplicationController < ActionController::Base
|
||||||
include GitHelper
|
include GitHelper
|
||||||
include LoggerHelper
|
include LoggerHelper
|
||||||
include LoginHelper
|
include LoginHelper
|
||||||
|
include UpdateHelper
|
||||||
|
|
||||||
protect_from_forgery prepend: true, unless: -> { request.format.json? }
|
protect_from_forgery prepend: true, unless: -> { request.format.json? }
|
||||||
|
|
||||||
|
@ -371,7 +372,13 @@ class ApplicationController < ActionController::Base
|
||||||
def user_trace_log
|
def user_trace_log
|
||||||
user = current_user
|
user = current_user
|
||||||
# print("*********************url:", request.url, "****routes", request.request_method)
|
# print("*********************url:", request.url, "****routes", request.request_method)
|
||||||
Rails.logger.user_trace.info("{id: #{user.id}, login: #{user.login}, url: #{request.url}, params: #{params}, response_code: #{response.code}, time: #{Time.now}}")
|
Rails.logger.user_trace.info("{id: #{user.id}, login: #{user.login}, url: #{request.url}, method: #{request.method}, params: #{params}, response_code: #{response.code}, time: #{Time.now}}")
|
||||||
|
end
|
||||||
|
|
||||||
|
def user_trace_update_log(old_value_hash)
|
||||||
|
user = current_user
|
||||||
|
str = "{id: #{user.id}, login: #{user.login}, url: #{request.url}, method: #{request.method}, params: #{params.merge(old_value: old_value_hash)}, response_code: #{response.code}, time: #{Time.now}}"
|
||||||
|
Rails.logger.user_trace.info(str)
|
||||||
end
|
end
|
||||||
|
|
||||||
def try_to_autologin
|
def try_to_autologin
|
||||||
|
|
|
@ -1,9 +1,12 @@
|
||||||
class ForksController < ApplicationController
|
class ForksController < ApplicationController
|
||||||
before_action :require_login, :find_project_with_id
|
before_action :require_login, :find_project_with_id
|
||||||
before_action :authenticate_project!, :authenticate_user!
|
before_action :authenticate_project!, :authenticate_user!
|
||||||
|
skip_after_action :user_trace_log, only: [:create]
|
||||||
|
|
||||||
def create
|
def create
|
||||||
@new_project = Projects::ForkService.new(current_user, @project, params[:organization]).call
|
@new_project = Projects::ForkService.new(current_user, @project, params[:organization]).call
|
||||||
|
user = current_user
|
||||||
|
Rails.logger.user_trace.info("{id: #{user.id}, login: #{user.login}, url: #{request.url}, method: #{request.method}, params: #{params.merge(forkee: @new_project.id)}, response_code: #{response.code}, time: #{Time.now}}")
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
|
|
@ -8,6 +8,8 @@ class IssuesController < ApplicationController
|
||||||
before_action :set_issue, only: [:edit, :update, :destroy, :show, :copy, :close_issue, :lock_issue]
|
before_action :set_issue, only: [:edit, :update, :destroy, :show, :copy, :close_issue, :lock_issue]
|
||||||
before_action :get_branches, only: [:new, :edit]
|
before_action :get_branches, only: [:new, :edit]
|
||||||
|
|
||||||
|
skip_after_action :user_trace_log, only: [:update]
|
||||||
|
|
||||||
include ApplicationHelper
|
include ApplicationHelper
|
||||||
include TagChosenHelper
|
include TagChosenHelper
|
||||||
|
|
||||||
|
@ -161,7 +163,11 @@ class IssuesController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
user = current_user
|
||||||
|
# issue_json = issue_send_params(@issue).except(:issue_classify, :author_id, :project_id).to_json
|
||||||
|
issue_hash = old_value_to_hash(@issue, params)
|
||||||
if @issue.update_attributes(issue_params)
|
if @issue.update_attributes(issue_params)
|
||||||
|
user_trace_update_log(issue_hash)
|
||||||
issue_files = params[:attachment_ids]
|
issue_files = params[:attachment_ids]
|
||||||
change_files = false
|
change_files = false
|
||||||
issue_file_ids = []
|
issue_file_ids = []
|
||||||
|
|
|
@ -3,6 +3,7 @@ class JournalsController < ApplicationController
|
||||||
before_action :set_issue
|
before_action :set_issue
|
||||||
before_action :check_issue_permission
|
before_action :check_issue_permission
|
||||||
before_action :set_journal, only: [:destroy, :edit, :update]
|
before_action :set_journal, only: [:destroy, :edit, :update]
|
||||||
|
skip_after_action :user_trace_log, only: [:update]
|
||||||
|
|
||||||
def index
|
def index
|
||||||
@page = params[:page] || 1
|
@page = params[:page] || 1
|
||||||
|
@ -67,7 +68,9 @@ class JournalsController < ApplicationController
|
||||||
def update
|
def update
|
||||||
content = params[:content]
|
content = params[:content]
|
||||||
if content.present?
|
if content.present?
|
||||||
|
old_value = old_value_to_hash(@journal, params)
|
||||||
if @journal.update_attribute(:notes, content)
|
if @journal.update_attribute(:notes, content)
|
||||||
|
user_trace_update_log(old_value)
|
||||||
normal_status(0, "更新成功")
|
normal_status(0, "更新成功")
|
||||||
else
|
else
|
||||||
normal_status(-1, "更新失败")
|
normal_status(-1, "更新失败")
|
||||||
|
|
|
@ -5,6 +5,7 @@ class MembersController < ApplicationController
|
||||||
before_action :operate!, except: %i[index]
|
before_action :operate!, except: %i[index]
|
||||||
before_action :check_member_exists!, only: %i[create]
|
before_action :check_member_exists!, only: %i[create]
|
||||||
before_action :check_member_not_exists!, only: %i[remove change_role]
|
before_action :check_member_not_exists!, only: %i[remove change_role]
|
||||||
|
skip_after_action :user_trace_log, only: [:change_role]
|
||||||
|
|
||||||
def create
|
def create
|
||||||
interactor = Projects::AddMemberInteractor.call(@project.owner, @project, @user)
|
interactor = Projects::AddMemberInteractor.call(@project.owner, @project, @user)
|
||||||
|
@ -34,7 +35,9 @@ class MembersController < ApplicationController
|
||||||
end
|
end
|
||||||
|
|
||||||
def change_role
|
def change_role
|
||||||
|
old_value = @project.members.where(user_id: params[:user_id])[0].roles.last.name
|
||||||
interactor = Projects::ChangeMemberRoleInteractor.call(@project.owner, @project, @user, params[:role])
|
interactor = Projects::ChangeMemberRoleInteractor.call(@project.owner, @project, @user, params[:role])
|
||||||
|
user_trace_update_log(old_value)
|
||||||
render_response(interactor)
|
render_response(interactor)
|
||||||
rescue Exception => e
|
rescue Exception => e
|
||||||
uid_logger_error(e.message)
|
uid_logger_error(e.message)
|
||||||
|
|
|
@ -4,6 +4,9 @@ class PullRequestsController < ApplicationController
|
||||||
before_action :set_repository
|
before_action :set_repository
|
||||||
before_action :find_pull_request, except: [:index, :new, :create, :check_can_merge,:get_branches,:create_merge_infos]
|
before_action :find_pull_request, except: [:index, :new, :create, :check_can_merge,:get_branches,:create_merge_infos]
|
||||||
# before_action :get_relatived, only: [:edit]
|
# before_action :get_relatived, only: [:edit]
|
||||||
|
#
|
||||||
|
skip_after_action :user_trace_log, only: [:update]
|
||||||
|
|
||||||
include TagChosenHelper
|
include TagChosenHelper
|
||||||
include ApplicationHelper
|
include ApplicationHelper
|
||||||
|
|
||||||
|
@ -127,8 +130,18 @@ class PullRequestsController < ApplicationController
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
old_issue_value = old_value_to_hash(@issue, @issue_params)
|
||||||
|
old_pr_value = old_value_to_hash(@pull_request, @local_params.compact)
|
||||||
|
old_value = {issue: old_issue_value, pull_request: old_pr_value}
|
||||||
|
puts("------------------------------\nissue = #{@issue.attributes}\n")
|
||||||
|
puts("issue_params = #{@issue_params}\n")
|
||||||
|
puts("pr = #{@pull_request.attributes}\n")
|
||||||
|
puts("local_params = #{@local_params}\n")
|
||||||
|
puts("old_issue = #{old_issue_value}\nold_pr = #{old_pr_value}\nold_value = #{old_value}\n------------------------------\n")
|
||||||
|
|
||||||
if @issue.update_attributes(@issue_params)
|
if @issue.update_attributes(@issue_params)
|
||||||
if @pull_request.update_attributes(@local_params.compact)
|
if @pull_request.update_attributes(@local_params.compact)
|
||||||
|
user_trace_update_log(old_value)
|
||||||
gitea_request = Gitea::PullRequest::UpdateService.new(@project.owner, @repository.try(:identifier), @requests_params, @pull_request.try(:gpid)).call
|
gitea_request = Gitea::PullRequest::UpdateService.new(@project.owner, @repository.try(:identifier), @requests_params, @pull_request.try(:gpid)).call
|
||||||
if gitea_request
|
if gitea_request
|
||||||
if params[:issue_tag_ids].present?
|
if params[:issue_tag_ids].present?
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
class SponsorTiersController < ApplicationController
|
class SponsorTiersController < ApplicationController
|
||||||
before_action :set_sponsor_tier, only: [:show, :edit, :update, :destroy]
|
before_action :set_sponsor_tier, only: [:show, :edit, :update, :destroy]
|
||||||
|
before_action :check_sponsor, only: [:show]
|
||||||
|
|
||||||
# GET /sponsor_tiers
|
# GET /sponsor_tiers
|
||||||
# GET /sponsor_tiers.json
|
# GET /sponsor_tiers.json
|
||||||
|
@ -12,7 +13,7 @@ class SponsorTiersController < ApplicationController
|
||||||
# GET /sponsor_tiers/1
|
# GET /sponsor_tiers/1
|
||||||
# GET /sponsor_tiers/1.json
|
# GET /sponsor_tiers/1.json
|
||||||
def show
|
def show
|
||||||
@check_sponsorship = Sponsorship.where("sponsor_id=? AND developer_id=?", current_user.id, @sponsor_tier.user)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
# GET /sponsor_tiers/new
|
# GET /sponsor_tiers/new
|
||||||
|
@ -29,12 +30,14 @@ class SponsorTiersController < ApplicationController
|
||||||
# POST /sponsor_tiers.json
|
# POST /sponsor_tiers.json
|
||||||
def create
|
def create
|
||||||
# print("------------\n", sponsor_tier_params, "\n------------\n")
|
# print("------------\n", sponsor_tier_params, "\n------------\n")
|
||||||
|
@check_sponsorship = nil
|
||||||
@sponsor_tier = SponsorTier.new(sponsor_tier_params)
|
@sponsor_tier = SponsorTier.new(sponsor_tier_params)
|
||||||
|
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if @sponsor_tier.save
|
if @sponsor_tier.save
|
||||||
format.html { redirect_to @sponsor_tier, notice: 'Sponsor tier was successfully created.' }
|
format.html { redirect_to @sponsor_tier, notice: 'Sponsor tier was successfully created.' }
|
||||||
format.json { render :show, status: :created, location: @sponsor_tier }
|
format.json { render :show, status: :created, location: @sponsor_tier }
|
||||||
|
# render json: {status: 1, message: '创建成功' }
|
||||||
else
|
else
|
||||||
format.html { render :new }
|
format.html { render :new }
|
||||||
format.json { render json: @sponsor_tier.errors, status: :unprocessable_entity }
|
format.json { render json: @sponsor_tier.errors, status: :unprocessable_entity }
|
||||||
|
@ -45,14 +48,17 @@ class SponsorTiersController < ApplicationController
|
||||||
# PATCH/PUT /sponsor_tiers/1
|
# PATCH/PUT /sponsor_tiers/1
|
||||||
# PATCH/PUT /sponsor_tiers/1.json
|
# PATCH/PUT /sponsor_tiers/1.json
|
||||||
def update
|
def update
|
||||||
|
@check_sponsorship = nil
|
||||||
respond_to do |format|
|
respond_to do |format|
|
||||||
if User.current.id == @sponsor_tier.user_id && @sponsor_tier.update(sponsor_tier_params)
|
if User.current.id == @sponsor_tier.user_id && @sponsor_tier.update(sponsor_tier_params)
|
||||||
format.html { redirect_to @sponsor_tier, notice: 'Sponsor tier was successfully updated.' }
|
format.html { redirect_to @sponsor_tier, notice: 'Sponsor tier was successfully updated.' }
|
||||||
format.json { render :show, status: :ok, location: @sponsor_tier }
|
format.json { render :show, status: :ok, location: @sponsor_tier }
|
||||||
|
# render json: {status: 1, message: '修改成功' }
|
||||||
else
|
else
|
||||||
format.html { render :edit }
|
format.html { render :edit }
|
||||||
format.json { render json: @sponsor_tier.errors, status: :unprocessable_entity }
|
format.json { render json: @sponsor_tier.errors, status: :unprocessable_entity }
|
||||||
# format.json { render status: :unprocessable_entity }
|
# format.json { render status: :unprocessable_entity }
|
||||||
|
# render json: {status: -1, message: '修改失败' }
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
@ -73,6 +79,10 @@ class SponsorTiersController < ApplicationController
|
||||||
|
|
||||||
private
|
private
|
||||||
# Use callbacks to share common setup or constraints between actions.
|
# Use callbacks to share common setup or constraints between actions.
|
||||||
|
def check_sponsor
|
||||||
|
@check_sponsorship = Sponsorship.where("sponsor_id=? AND developer_id=?", current_user.id, @sponsor_tier.user)
|
||||||
|
end
|
||||||
|
|
||||||
def set_sponsor_tier
|
def set_sponsor_tier
|
||||||
@sponsor_tier = SponsorTier.find(params[:id])
|
@sponsor_tier = SponsorTier.find(params[:id])
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,5 +1,8 @@
|
||||||
class SponsorshipsController < ApplicationController
|
class SponsorshipsController < ApplicationController
|
||||||
before_action :set_sponsorship, only: [:show, :edit, :update, :destroy]
|
before_action :set_sponsorship, only: [:show, :edit, :update, :destroy]
|
||||||
|
# before_action :require_login, except: [:index, :stopped, :sponsored, :sponsoring, :stopped_sponsored, :stopped_sponsoring]
|
||||||
|
before_action :require_login, only: [:show, :new, :create, :edit, :update, :destroy]
|
||||||
|
skip_after_action :user_trace_log, only: [:update]
|
||||||
|
|
||||||
# GET /sponsorships
|
# GET /sponsorships
|
||||||
# GET /sponsorships.json
|
# GET /sponsorships.json
|
||||||
|
@ -17,6 +20,9 @@ class SponsorshipsController < ApplicationController
|
||||||
else
|
else
|
||||||
@sponsorships = Sponsorship.where("developer_id=? AND visible=1", params[:id])
|
@sponsorships = Sponsorship.where("developer_id=? AND visible=1", params[:id])
|
||||||
end
|
end
|
||||||
|
sort = params[:sort_by] || "created_at"
|
||||||
|
sort_direction = params[:sort_direction] || "desc"
|
||||||
|
@sponsorships = @sponsorships.reorder("#{sort} #{sort_direction}")
|
||||||
@total = @sponsorships.length
|
@total = @sponsorships.length
|
||||||
@sponsorships = kaminari_paginate(@sponsorships)
|
@sponsorships = kaminari_paginate(@sponsorships)
|
||||||
end
|
end
|
||||||
|
@ -27,6 +33,9 @@ class SponsorshipsController < ApplicationController
|
||||||
else
|
else
|
||||||
@sponsorships = Sponsorship.where("sponsor_id=? AND visible=1", params[:id])
|
@sponsorships = Sponsorship.where("sponsor_id=? AND visible=1", params[:id])
|
||||||
end
|
end
|
||||||
|
sort = params[:sort_by] || "created_at"
|
||||||
|
sort_direction = params[:sort_direction] || "desc"
|
||||||
|
@sponsorships = @sponsorships.reorder("#{sort} #{sort_direction}")
|
||||||
@total = @sponsorships.length
|
@total = @sponsorships.length
|
||||||
@sponsorships = kaminari_paginate(@sponsorships)
|
@sponsorships = kaminari_paginate(@sponsorships)
|
||||||
end
|
end
|
||||||
|
@ -37,6 +46,9 @@ class SponsorshipsController < ApplicationController
|
||||||
else
|
else
|
||||||
@stopped_sponsorships = StoppedSponsorship.where("developer_id=? AND visible=1", params[:id])
|
@stopped_sponsorships = StoppedSponsorship.where("developer_id=? AND visible=1", params[:id])
|
||||||
end
|
end
|
||||||
|
sort = params[:sort_by] || "created_at"
|
||||||
|
sort_direction = params[:sort_direction] || "desc"
|
||||||
|
@stopped_sponsorships = @stopped_sponsorships.reorder("#{sort} #{sort_direction}")
|
||||||
@total = @stopped_sponsorships.length
|
@total = @stopped_sponsorships.length
|
||||||
@stopped_sponsorships = kaminari_paginate(@stopped_sponsorships)
|
@stopped_sponsorships = kaminari_paginate(@stopped_sponsorships)
|
||||||
end
|
end
|
||||||
|
@ -47,6 +59,9 @@ class SponsorshipsController < ApplicationController
|
||||||
else
|
else
|
||||||
@stopped_sponsorships = StoppedSponsorship.where("sponsor_id=? AND visible=1", params[:id])
|
@stopped_sponsorships = StoppedSponsorship.where("sponsor_id=? AND visible=1", params[:id])
|
||||||
end
|
end
|
||||||
|
sort = params[:sort_by] || "created_at"
|
||||||
|
sort_direction = params[:sort_direction] || "desc"
|
||||||
|
@stopped_sponsorships = @stopped_sponsorships.reorder("#{sort} #{sort_direction}")
|
||||||
@total = @stopped_sponsorships.length
|
@total = @stopped_sponsorships.length
|
||||||
@stopped_sponsorships = kaminari_paginate(@stopped_sponsorships)
|
@stopped_sponsorships = kaminari_paginate(@stopped_sponsorships)
|
||||||
end
|
end
|
||||||
|
@ -116,7 +131,10 @@ class SponsorshipsController < ApplicationController
|
||||||
if @sponsorship.sponsor.id != current_user.id
|
if @sponsorship.sponsor.id != current_user.id
|
||||||
return render json: {status: -1, message: '没有权限' }
|
return render json: {status: -1, message: '没有权限' }
|
||||||
end
|
end
|
||||||
|
old_value = old_value_to_hash(@sponsorship, params)
|
||||||
|
# params.delete :sponsorship
|
||||||
if @sponsorship.update(sponsorship_params)
|
if @sponsorship.update(sponsorship_params)
|
||||||
|
user_trace_update_log(old_value)
|
||||||
render json: {status: 1, message: '修改成功' }
|
render json: {status: 1, message: '修改成功' }
|
||||||
else
|
else
|
||||||
render json: {status: -1, message: '修改失败' }
|
render json: {status: -1, message: '修改失败' }
|
||||||
|
|
|
@ -3,6 +3,7 @@ class VersionReleasesController < ApplicationController
|
||||||
before_action :set_user_and_project
|
before_action :set_user_and_project
|
||||||
before_action :require_login, except: [:index]
|
before_action :require_login, except: [:index]
|
||||||
before_action :find_version , only: [:edit, :update, :destroy]
|
before_action :find_version , only: [:edit, :update, :destroy]
|
||||||
|
skip_after_action :user_trace_log, only: [:update]
|
||||||
|
|
||||||
def index
|
def index
|
||||||
version_releases = Gitea::Versions::ListService.new(@user.gitea_token, @user.try(:login), @repository.try(:identifier)).call
|
version_releases = Gitea::Versions::ListService.new(@user.gitea_token, @user.try(:login), @repository.try(:identifier)).call
|
||||||
|
@ -78,14 +79,14 @@ class VersionReleasesController < ApplicationController
|
||||||
ActiveRecord::Base.transaction do
|
ActiveRecord::Base.transaction do
|
||||||
begin
|
begin
|
||||||
version_params = releases_params
|
version_params = releases_params
|
||||||
|
old_value = old_value_to_hash(@version, version_params)
|
||||||
if @version.update_attributes!(version_params)
|
if @version.update_attributes!(version_params)
|
||||||
create_attachments(params[:attachment_ids], @version) if params[:attachment_ids].present?
|
create_attachments(params[:attachment_ids], @version) if params[:attachment_ids].present?
|
||||||
git_version_release = Gitea::Versions::UpdateService.new(@user.gitea_token, @user.try(:login), @repository.try(:identifier), version_params, @version.try(:version_gid)).call
|
git_version_release = Gitea::Versions::UpdateService.new(@user.gitea_token, @user.try(:login), @repository.try(:identifier), version_params, @version.try(:version_gid)).call
|
||||||
unless git_version_release
|
unless git_version_release
|
||||||
raise Error, "更新失败"
|
raise Error, "更新失败"
|
||||||
end
|
end
|
||||||
|
user_trace_update_log(old_value)
|
||||||
normal_status(0, "更新成功")
|
normal_status(0, "更新成功")
|
||||||
else
|
else
|
||||||
normal_status(-1, "更新失败")
|
normal_status(-1, "更新失败")
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
module UpdateHelper
|
||||||
|
def old_value_to_hash(old_value, params)
|
||||||
|
params = params.dup.stringify_keys
|
||||||
|
old_value.attributes.select { |key, value| params.key?(key) }
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,7 +1,7 @@
|
||||||
json.tier do
|
json.tier do
|
||||||
json.partial! "sponsor_tiers/sponsor_tier", sponsor_tier: @sponsor_tier
|
json.partial! "sponsor_tiers/sponsor_tier", sponsor_tier: @sponsor_tier
|
||||||
end
|
end
|
||||||
if @check_sponsorship.length.zero?
|
if @check_sponsorship.nil? || @check_sponsorship.length.zero?
|
||||||
json.is_sponsoring false
|
json.is_sponsoring false
|
||||||
else
|
else
|
||||||
json.is_sponsoring true
|
json.is_sponsoring true
|
||||||
|
|
Loading…
Reference in New Issue