summaryrefslogtreecommitdiff
path: root/app/controllers/projects/issues_controller.rb
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/projects/issues_controller.rb')
-rw-r--r--app/controllers/projects/issues_controller.rb21
1 files changed, 15 insertions, 6 deletions
diff --git a/app/controllers/projects/issues_controller.rb b/app/controllers/projects/issues_controller.rb
index ae48a02f623..f88eb9e0322 100644
--- a/app/controllers/projects/issues_controller.rb
+++ b/app/controllers/projects/issues_controller.rb
@@ -155,11 +155,11 @@ class Projects::IssuesController < Projects::ApplicationController
def can_create_branch
can_create = current_user &&
can?(current_user, :push_code, @project) &&
- issue.can_be_worked_on?
+ @issue.can_be_worked_on?
respond_to do |format|
format.json do
- render json: { can_create_branch: can_create, suggested_branch_name: issue.suggested_branch_name }
+ render json: { can_create_branch: can_create, suggested_branch_name: @issue.suggested_branch_name }
end
end
end
@@ -176,10 +176,19 @@ class Projects::IssuesController < Projects::ApplicationController
end
def import_csv
- redirect_to(
- project_issues_path(project),
- notice: _("Your issues are being imported. Once finished, you'll get a confirmation email.")
- )
+ return render_404 unless Feature.enabled?(:issues_import_csv) && can?(current_user, :import_issues, project)
+
+ service = UploadService.new(project, params[:file])
+
+ if service.execute
+ ImportIssuesCsvWorker.perform_async(current_user.id, project.id, service.uploader.upload.id)
+
+ flash[:notice] = _("Your issues are being imported. Once finished, you'll get a confirmation email.")
+ else
+ flash[:alert] = _("File upload error.")
+ end
+
+ redirect_to project_issues_path(project)
end
protected