diff --git a/app/views/projects/_empty.html.haml b/app/views/projects/_empty.html.haml index 0e4f73cbefc..56276e164de 100644 --- a/app/views/projects/_empty.html.haml +++ b/app/views/projects/_empty.html.haml @@ -1,3 +1,58 @@ .row-content-block.second-block.center %h3.page-title The repository for this project is empty + - if can?(current_user, :push_code, @project) + %p + If you already have files you can push them using command line instructions below. + %p + Otherwise you can start with adding a + = succeed ',' do + = link_to "README", new_readme_path, class: 'underlined-link' + a + = succeed ',' do + = link_to "LICENSE", add_special_file_path(@project, file_name: 'LICENSE'), class: 'underlined-link' + or a + = link_to '.gitignore', add_special_file_path(@project, file_name: '.gitignore'), class: 'underlined-link' + to this project. + %p + You will need to be owner or have the master permission level for the initial push, as the master branch is automatically protected. + +- if can?(current_user, :push_code, @project) + %div{ class: container_class } + .prepend-top-20 + .empty_wrapper + %h3.page-title-empty + Command line instructions + %div.git-empty + %fieldset + %h5 Git global setup + %pre.light-well + :preserve + git config --global user.name "#{h git_user_name}" + git config --global user.email "#{h git_user_email}" + + %fieldset + %h5 Create a new repository + %pre.light-well + :preserve + git clone #{ content_tag(:span, default_url_to_repo, class: 'clone')} + cd #{h @project.path} + touch README.md + git add README.md + git commit -m "add README" + git push -u origin master + + %fieldset + %h5 Existing folder or Git repository + %pre.light-well + :preserve + cd existing_folder + git init + git remote add origin #{ content_tag(:span, default_url_to_repo, class: 'clone')} + git add . + git commit + git push -u origin master + + - if can? current_user, :remove_project, @project + .prepend-top-20 + = link_to 'Remove project', [@project.namespace.becomes(Namespace), @project], data: { confirm: remove_project_message(@project)}, method: :delete, class: "btn btn-remove pull-right" diff --git a/app/views/projects/empty.html.haml b/app/views/projects/empty.html.haml index 7a39064adc5..94895699453 100644 --- a/app/views/projects/empty.html.haml +++ b/app/views/projects/empty.html.haml @@ -6,62 +6,4 @@ = render 'shared/no_password' = render "home_panel" - -.row-content-block.second-block.center - %h3.page-title - The repository for this project is empty - - if can?(current_user, :push_code, @project) - %p - If you already have files you can push them using command line instructions below. - %p - Otherwise you can start with adding a - = succeed ',' do - = link_to "README", new_readme_path, class: 'underlined-link' - a - = succeed ',' do - = link_to "LICENSE", add_special_file_path(@project, file_name: 'LICENSE'), class: 'underlined-link' - or a - = link_to '.gitignore', add_special_file_path(@project, file_name: '.gitignore'), class: 'underlined-link' - to this project. - %p - You will need to be owner or have the master permission level for the initial push, as the master branch is automatically protected. - -- if can?(current_user, :push_code, @project) - %div{ class: container_class } - .prepend-top-20 - .empty_wrapper - %h3.page-title-empty - Command line instructions - %div.git-empty - %fieldset - %h5 Git global setup - %pre.light-well - :preserve - git config --global user.name "#{h git_user_name}" - git config --global user.email "#{h git_user_email}" - - %fieldset - %h5 Create a new repository - %pre.light-well - :preserve - git clone #{ content_tag(:span, default_url_to_repo, class: 'clone')} - cd #{h @project.path} - touch README.md - git add README.md - git commit -m "add README" - git push -u origin master - - %fieldset - %h5 Existing folder or Git repository - %pre.light-well - :preserve - cd existing_folder - git init - git remote add origin #{ content_tag(:span, default_url_to_repo, class: 'clone')} - git add . - git commit - git push -u origin master - - - if can? current_user, :remove_project, @project - .prepend-top-20 - = link_to 'Remove project', [@project.namespace.becomes(Namespace), @project], data: { confirm: remove_project_message(@project)}, method: :delete, class: "btn btn-remove pull-right" += render "empty" diff --git a/spec/helpers/preferences_helper_spec.rb b/spec/helpers/preferences_helper_spec.rb index 2bd4eace89f..02b464f7e07 100644 --- a/spec/helpers/preferences_helper_spec.rb +++ b/spec/helpers/preferences_helper_spec.rb @@ -87,17 +87,18 @@ describe PreferencesHelper do end describe 'default_project_view' do - let(:project) { create(:project) } - context 'user not signed in' do - before { stub_user } + before do + @project = create(:project) + stub_user + end it 'returns readme view if repository is not empty' do expect(helper.default_project_view).to eq('readme') end it 'returns activity if repository is empty' do - expect(project).to receive(:empty_repo?).and_return(true) + expect(@project).to receive(:empty_repo?).and_return(true) expect(helper.default_project_view).to eq('empty') end