From ccfae827234a4b8acb86d1944b9b5b7bdd68481a Mon Sep 17 00:00:00 2001 From: Dmitriy Zaporozhets Date: Wed, 18 Jan 2012 01:19:57 +0200 Subject: [PATCH] project alert/error messages --- app/assets/stylesheets/projects.css.scss | 4 +++ app/assets/stylesheets/style.scss | 32 ++++++++++++++++++- app/models/repository.rb | 4 +-- app/views/layouts/project.html.haml | 25 +++++++-------- app/views/projects/_form.html.haml | 10 ++---- app/views/projects/empty.html.erb | 39 ------------------------ app/views/projects/empty.html.haml | 39 ++++++++++++++++++++++++ app/views/projects/files.html.haml | 3 +- app/views/snippets/index.html.haml | 6 ++++ config/database.yml | 2 +- 10 files changed, 101 insertions(+), 63 deletions(-) delete mode 100644 app/views/projects/empty.html.erb create mode 100644 app/views/projects/empty.html.haml diff --git a/app/assets/stylesheets/projects.css.scss b/app/assets/stylesheets/projects.css.scss index dbc7d820..d6aaec73 100644 --- a/app/assets/stylesheets/projects.css.scss +++ b/app/assets/stylesheets/projects.css.scss @@ -588,3 +588,7 @@ tr.line_notes_row { } } } + +.new-project-hodler { + padding:20px; +} diff --git a/app/assets/stylesheets/style.scss b/app/assets/stylesheets/style.scss index 9acb8d0e..01ef6c34 100644 --- a/app/assets/stylesheets/style.scss +++ b/app/assets/stylesheets/style.scss @@ -712,8 +712,8 @@ body, button, input, select, textarea { .errors_holder { background:#D30; color:#fff; - border:1px solid $lite_border_color; @include round-borders-all(4px); + border:1px solid #a30; padding:5px; list-style:none; font-weight: bold; @@ -723,3 +723,33 @@ body, button, input, select, textarea { padding:10px; } } + +.notice_holder { + background:#DDF4FB; + color:#444; + border:1px solid #C6EDF9; + @include round-borders-all(4px); + padding:5px; + list-style:none; + font-weight: bold; + text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.25); + + li { + padding:10px; + } +} + +.alert_holder { + background:#FDF5D9; + color:#444; + border:1px solid #FCEEC1; + @include round-borders-all(4px); + padding:5px; + list-style:none; + font-weight: bold; + text-shadow: 0 -1px 0 rgba(255, 255, 255, 0.25); + + li { + padding:10px; + } +} diff --git a/app/models/repository.rb b/app/models/repository.rb index 0bf1bc18..f4fdfe54 100644 --- a/app/models/repository.rb +++ b/app/models/repository.rb @@ -74,9 +74,9 @@ class Repository end def repo_exists? - repo && !repo.branches.empty? + @repo_exists ||= (repo && !repo.branches.empty?) rescue - false + @repo_exists = false end def tags diff --git a/app/views/layouts/project.html.haml b/app/views/layouts/project.html.haml index c52c4868..1b27ddaf 100644 --- a/app/views/layouts/project.html.haml +++ b/app/views/layouts/project.html.haml @@ -26,18 +26,19 @@ = link_to project_path(@project), :class => project_tab_class do Project - = link_to "Repository", project_repository_path(@project), :class => repository_tab_class - = link_to "Tree", tree_project_ref_path(@project, @project.root_ref), :class => tree_tab_class - = link_to "Commits", project_commits_path(@project), :class => (controller.controller_name == "commits") ? "current" : nil - = link_to "Network", graph_project_path(@project), :class => current_page?(:controller => "projects", :action => "graph", :id => @project) ? "current" : nil - = link_to project_issues_filter_path(@project), :class => (controller.controller_name == "issues") ? "current" : nil do - Issues - = link_to wall_project_path(@project), :class => current_page?(:controller => "projects", :action => "wall", :id => @project) ? "current" : nil do - Wall - - if @project.common_notes.today.count > 0 - %span{ :class => "number" }= @project.common_notes.today.count - = link_to project_merge_requests_path(@project), :class => (controller.controller_name == "merge_requests") ? "current" : nil do - Requests + - if @project.repo_exists? + = link_to "Repository", project_repository_path(@project), :class => repository_tab_class + = link_to "Tree", tree_project_ref_path(@project, @project.root_ref), :class => tree_tab_class + = link_to "Commits", project_commits_path(@project), :class => (controller.controller_name == "commits") ? "current" : nil + = link_to "Network", graph_project_path(@project), :class => current_page?(:controller => "projects", :action => "graph", :id => @project) ? "current" : nil + = link_to project_issues_filter_path(@project), :class => (controller.controller_name == "issues") ? "current" : nil do + Issues + = link_to wall_project_path(@project), :class => current_page?(:controller => "projects", :action => "wall", :id => @project) ? "current" : nil do + Wall + - if @project.common_notes.today.count > 0 + %span{ :class => "number" }= @project.common_notes.today.count + = link_to project_merge_requests_path(@project), :class => (controller.controller_name == "merge_requests") ? "current" : nil do + Requests diff --git a/app/views/projects/_form.html.haml b/app/views/projects/_form.html.haml index 2fc6f9d9..421e8409 100644 --- a/app/views/projects/_form.html.haml +++ b/app/views/projects/_form.html.haml @@ -6,13 +6,9 @@ = @project.name .clear - if @project.errors.any? - #error_explanation - %h2 - = pluralize(@project.errors.count, "error") - prohibited this project from being saved: - %ul - - @project.errors.full_messages.each do |msg| - %li= msg + %ul.errors_holder + - @project.errors.full_messages.each do |msg| + %li= msg %table %tr %td= f.label :name diff --git a/app/views/projects/empty.html.erb b/app/views/projects/empty.html.erb deleted file mode 100644 index b85f801e..00000000 --- a/app/views/projects/empty.html.erb +++ /dev/null @@ -1,39 +0,0 @@ -<% bash_lexer = Pygments::Lexer[:bash] %> -
-
-

Git global setup:

-<% setup_str = < - <%= raw bash_lexer.highlight(setup_str) %> -
-
-

Next steps:

-<% repo_setup_str = < - <%= raw bash_lexer.highlight(repo_setup_str) %> - -

-

Existing Git Repo?

-<% exist_repo_setup_str = < - <%= raw bash_lexer.highlight(exist_repo_setup_str) %> - -
-
-
diff --git a/app/views/projects/empty.html.haml b/app/views/projects/empty.html.haml new file mode 100644 index 00000000..f089c6ec --- /dev/null +++ b/app/views/projects/empty.html.haml @@ -0,0 +1,39 @@ +- if current_user.require_ssh_key? + %ul.errors_holder + %li You have no ssh keys added yo tour profile. + %li You wont be able to pull/push repository. + %li Visit profile → keys and add public key of every machine you want to use for work with gitlabhq. + + +%ul.alert_holder + %li You should push repository to proceed. + %li After push you will be able to browse code, commits etc. + +- bash_lexer = Pygments::Lexer[:bash] +%div.git-empty + %h3 Git global setup: + - setup_str = ["git config --global user.name \"#{current_user.name}\"", + "git config --global user.email \"#{current_user.email}\""].join("\n") + = raw bash_lexer.highlight(setup_str) + + %br + %br + %h3 Create Repository + - repo_setup_str = ["mkdir #{@project.path}", + "cd #{@project.path}", + "git init", + "touch README", + "git add README", + "git commit -m 'first commit'", + "git remote add origin #{@project.url_to_repo}", + "git push -u origin master"].join("\n") + + = raw bash_lexer.highlight(repo_setup_str) + + %br + %br + %h3 Existing Git Repo? + - exist_repo_setup_str = ["cd existing_git_repo", + "git remote add origin #{@project.url_to_repo}", + "git push -u origin master"].join("\n") + = raw bash_lexer.highlight(exist_repo_setup_str) diff --git a/app/views/projects/files.html.haml b/app/views/projects/files.html.haml index 0d1ba8e8..8ea4ac8a 100644 --- a/app/views/projects/files.html.haml +++ b/app/views/projects/files.html.haml @@ -12,6 +12,7 @@ = time_ago_in_words(note.created_at) ago - else - %h3 All files attached to project wall, issues etc will be displayed here + .notice_holder + %li All files attached to project wall, issues etc will be displayed here diff --git a/app/views/snippets/index.html.haml b/app/views/snippets/index.html.haml index cdc33562..c7c4c6b1 100644 --- a/app/views/snippets/index.html.haml +++ b/app/views/snippets/index.html.haml @@ -4,3 +4,9 @@ %div{ :class => "update-data ui-box ui-box-small ui-box-big" } .data = render @snippets.fresh +- else + .notice_holder + %li Snippets do not exist yet. + - if can? current_user, :write_snippet, @project + %li You can add a new one by clicking on plus icon + diff --git a/config/database.yml b/config/database.yml index 51a4dd45..ff126d9c 100644 --- a/config/database.yml +++ b/config/database.yml @@ -20,6 +20,6 @@ test: production: adapter: sqlite3 - database: db/production.sqlite3 + database: db/development.sqlite3 pool: 5 timeout: 5000