FIX repositories controller bug

This commit is contained in:
Jasder 2020-08-12 14:51:12 +08:00
parent 066dede6e3
commit 082c3b05b3
3 changed files with 19 additions and 30 deletions

View File

@ -10,7 +10,7 @@ module OperateProjectAbilityAble
end
def authorizate_user_can_edit_repo!
return if @repo.project.manager?(current_user) || current_user.admin?
return if @repository.project.manager?(current_user) || current_user.admin?
render_forbidden('你没有权限操作.')
end

View File

@ -3,9 +3,8 @@ class RepositoriesController < ApplicationController
include OperateProjectAbilityAble
before_action :require_login, only: %i[edit update create_file update_file delete_file sync_mirror]
before_action :load_project
before_action :load_repository
before_action :authorizate!, except: [:sync_mirror, :tags, :commit]
before_action :find_repository_by_id, only: %i[commit sync_mirror]
before_action :authorizate_user_can_edit_repo!, only: %i[sync_mirror]
before_action :get_ref, only: %i[entries sub_entries top_counts]
before_action :get_latest_commit, only: %i[entries sub_entries top_counts]
@ -56,7 +55,7 @@ class RepositoriesController < ApplicationController
end
def commit
@commit = Gitea::Repository::Commits::GetService.new(@repo.user.login, @repo.identifier, params[:sha], current_user.gitea_token).call
@commit = Gitea::Repository::Commits::GetService.new(@repository.user.login, @repository.identifier, params[:sha], current_user.gitea_token).call
end
def tags
@ -102,10 +101,10 @@ class RepositoriesController < ApplicationController
end
def sync_mirror
return render_error("正在镜像中..") if @repo.mirror.waiting?
return render_error("正在镜像中..") if @repository.mirror.waiting?
@repo.sync_mirror!
SyncMirroredRepositoryJob.perform_later(@repo.id, current_user.id)
@repository.sync_mirror!
SyncMirroredRepositoryJob.perform_later(@repository.id, current_user.id)
render_ok
end

View File

@ -155,23 +155,6 @@ Rails.application.routes.draw do
end
end
resources :repositories, only: [:index, :show, :edit] do
member do
get :entries
match :sub_entries, :via => [:get, :put]
get :commits
post :files
get :tags
post :create_file
put :update_file
delete :delete_file
post :repo_hook
post :sync_mirror
get :top_counts
get 'commits/:sha', to: 'repositories#commit', as: 'commit'
end
end
resources :users_for_private_messages, only: [:index]
resources :files, only: [:index, :show, :update] do
@ -286,12 +269,19 @@ Rails.application.routes.draw do
resource :repositories, path: '/', only: [:show, :create, :edit] do
member do
get 'archive'
get 'top_counts'
get 'entries'
get 'sub_entries'
get 'commits'
get 'tags'
get :archive
get :top_counts
get :entries
match :sub_entries, :via => [:get, :put]
get :commits
get :tags
post :create_file
put :update_file
delete :delete_file
post :repo_hook
post :sync_mirror
get :top_counts
get 'commits/:sha', to: 'repositories#commit', as: 'commit'
end
end