gitlab-org--gitlab-foss/app/views/import/base/create.js.haml
Stan Hu f1a241e0ed Fix broken code import and display error messages if something went wrong with creating project
Clicking "Import" in Bitbucket import status page would result in:

```
  Rendered import/base/create.js.haml (38.3ms)
Completed 500 Internal Server Error in 1362ms (ActiveRecord: 20.2ms)

NoMethodError - undefined method `namespace_projects_path' for #<#<Class:0x007fd6c0f29498>:0x007fd6c0cf09d8>:
  actionpack (4.1.11) lib/action_dispatch/routing/polymorphic_routes.rb:142:in `polymorphic_url'
  actionpack (4.1.11) lib/action_dispatch/routing/polymorphic_routes.rb:148:in `polymorphic_path'
  actionview (4.1.11) lib/action_view/routing_url_for.rb:87:in `url_for'
  turbolinks (2.5.3) lib/turbolinks/xhr_url_for.rb:12:in `url_for_with_xhr_referer'
  actionview (4.1.11) lib/action_view/helpers/url_helper.rb:181:in `link_to'
  app/views/import/base/create.js.haml:23:in `_app_views_import_base_create_js_haml__1092746368522631377_70280180507700'
  actionview (4.1.11) lib/action_view/template.rb:145:in `block in render'
  activesupport (4.1.11) lib/active_support/notifications.rb:161:in `instrument'
  actionview (4.1.11) lib/action_view/template.rb:339:in `instrument'
  actionview (4.1.11) lib/action_view/template.rb:143:in `render'
  rack-mini-profiler (0.9.0) lib/mini_profiler/profiling_methods.rb:108:in `block in profile_method'
  actionview (4.1.11) lib/action_view/renderer/template_renderer.rb:55:in `block (2 levels) in render_template'
  actionview (4.1.11) lib/action_view/renderer/abstract_renderer.rb:38:in `block in instrument'
  activesupport (4.1.11) lib/active_support/notifications.rb:159:in `block in instrument'
  activesupport (4.1.11) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  activesupport (4.1.11) lib/active_support/notifications.rb:159:in `instrument'
```

Closes #2241
2015-08-10 23:56:01 -07:00

29 lines
1.5 KiB
Text

- if @already_been_taken
:plain
target_field = $("tr#repo_#{@repo_id} .import-target")
origin_target = target_field.text()
project_name = "#{@project_name}"
origin_namespace = "#{@target_namespace}"
target_field.empty()
target_field.append("<p class='alert alert-danger'>This namespace already been taken! Please choose another one</p>")
target_field.append("<input type='text' name='target_namespace' />")
target_field.append("/" + project_name)
target_field.data("project_name", project_name)
target_field.find('input').prop("value", origin_namespace)
- elsif @access_denied
:plain
job = $("tr#repo_#{@repo_id}")
job.find(".import-actions").html("<p class='alert alert-danger'>Access denied! Please verify you can add deploy keys to this repository.</p>")
- elsif @project.persisted?
:plain
job = $("tr#repo_#{@repo_id}")
job.attr("id", "project_#{@project.id}")
target_field = job.find(".import-target")
target_field.empty()
target_field.append('<strong>#{link_to @project.path_with_namespace, namespace_project_path(@project.namespace, @project)}</strong>')
$("table.import-jobs tbody").prepend(job)
job.addClass("active").find(".import-actions").html("<i class='fa fa-spinner fa-spin'></i> started")
- else
:plain
job = $("tr#repo_#{@repo_id}")
job.find(".import-actions").html("<p class='alert alert-danger'>Error saving project: #{escape_javascript(@project.errors.messages.to_s)}</p>")