diff --git a/app/controllers/concerns/operate_project_ability_able.rb b/app/controllers/concerns/operate_project_ability_able.rb index 13f48e6cb..4d18ae1e4 100644 --- a/app/controllers/concerns/operate_project_ability_able.rb +++ b/app/controllers/concerns/operate_project_ability_able.rb @@ -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 diff --git a/app/controllers/repositories_controller.rb b/app/controllers/repositories_controller.rb index a6c81a8de..c8ab51cba 100644 --- a/app/controllers/repositories_controller.rb +++ b/app/controllers/repositories_controller.rb @@ -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 diff --git a/config/routes.rb b/config/routes.rb index 42b053497..fb7d8be63 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -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