Skip to content
Snippets Groups Projects
Commit cf57f6c1 authored by Andriy Dyadyura's avatar Andriy Dyadyura
Browse files

Merge branch 'master' of https://gitlab.com/gitlab-org/gitlab-ce into new-list-margin

parents 2d62a719 75c3a2f8
No related branches found
No related tags found
No related merge requests found
Showing
with 93 additions and 44 deletions
Please view this file on the master branch, on stable branches it's out of date. Please view this file on the master branch, on stable branches it's out of date.
   
v 8.4.0 (unreleased) v 8.4.0 (unreleased)
- Fix Error 500 when doing a search in dashboard before visiting any project (Stan Hu)
- Implement new UI for group page - Implement new UI for group page
- Add project permissions to all project API endpoints (Stan Hu) - Add project permissions to all project API endpoints (Stan Hu)
   
Loading
Loading
Loading
@@ -172,7 +172,7 @@ gem 'd3_rails', '~> 3.5.5'
Loading
@@ -172,7 +172,7 @@ gem 'd3_rails', '~> 3.5.5'
gem "cal-heatmap-rails", "~> 0.0.1" gem "cal-heatmap-rails", "~> 0.0.1"
   
# underscore-rails # underscore-rails
gem "underscore-rails", "~> 1.4.4" gem "underscore-rails", "~> 1.8.0"
   
# Sanitize user input # Sanitize user input
gem "sanitize", '~> 2.0' gem "sanitize", '~> 2.0'
Loading
Loading
Loading
@@ -769,7 +769,7 @@ GEM
Loading
@@ -769,7 +769,7 @@ GEM
uglifier (2.7.2) uglifier (2.7.2)
execjs (>= 0.3.0) execjs (>= 0.3.0)
json (>= 1.8.0) json (>= 1.8.0)
underscore-rails (1.4.4) underscore-rails (1.8.3)
unf (0.1.4) unf (0.1.4)
unf_ext unf_ext
unf_ext (0.0.7.1) unf_ext (0.0.7.1)
Loading
@@ -965,7 +965,7 @@ DEPENDENCIES
Loading
@@ -965,7 +965,7 @@ DEPENDENCIES
tinder (~> 1.10.0) tinder (~> 1.10.0)
turbolinks (~> 2.5.0) turbolinks (~> 2.5.0)
uglifier (~> 2.7.2) uglifier (~> 2.7.2)
underscore-rails (~> 1.4.4) underscore-rails (~> 1.8.0)
unf (~> 0.1.4) unf (~> 0.1.4)
unicorn (~> 4.8.2) unicorn (~> 4.8.2)
unicorn-worker-killer (~> 0.4.2) unicorn-worker-killer (~> 0.4.2)
Loading
Loading
Loading
@@ -8,17 +8,17 @@ class @ProjectsList
Loading
@@ -8,17 +8,17 @@ class @ProjectsList
   
$(".projects-list-filter").keyup -> $(".projects-list-filter").keyup ->
terms = $(this).val() terms = $(this).val()
uiBox = $(this).closest('.projects-list-holder') uiBox = $('div.projects-list-holder')
if terms == "" || terms == undefined if terms == "" || terms == undefined
uiBox.find(".projects-list li").show() uiBox.find("ul.projects-list li").show()
else else
uiBox.find(".projects-list li").each (index) -> uiBox.find("ul.projects-list li").each (index) ->
name = $(this).find(".filter-title").text() name = $(this).find("span.filter-title").text()
   
if name.toLowerCase().search(terms.toLowerCase()) == -1 if name.toLowerCase().search(terms.toLowerCase()) == -1
$(this).hide() $(this).hide()
else else
$(this).show() $(this).show()
uiBox.find(".projects-list li.bottom").hide() uiBox.find("ul.projects-list li.bottom").hide()
   
   
Loading
@@ -374,7 +374,7 @@ table {
Loading
@@ -374,7 +374,7 @@ table {
} }
} }
   
.center-top-menu { .center-top-menu, .left-top-menu {
@include nav-menu; @include nav-menu;
text-align: center; text-align: center;
margin-top: 5px; margin-top: 5px;
Loading
@@ -408,6 +408,11 @@ table {
Loading
@@ -408,6 +408,11 @@ table {
} }
} }
   
.left-top-menu {
text-align: left;
border-bottom: 1px solid #EEE;
}
.center-middle-menu { .center-middle-menu {
@include nav-menu; @include nav-menu;
padding: 0; padding: 0;
Loading
Loading
Loading
@@ -81,7 +81,7 @@
Loading
@@ -81,7 +81,7 @@
display: none; display: none;
} }
   
.center-top-menu { .center-top-menu, .left-top-menu {
li a { li a {
font-size: 14px; font-size: 14px;
padding: 19px 10px; padding: 19px 10px;
Loading
Loading
Loading
@@ -335,6 +335,36 @@ ul.nav.nav-projects-tabs {
Loading
@@ -335,6 +335,36 @@ ul.nav.nav-projects-tabs {
} }
} }
   
.top-area {
border-bottom: 1px solid #EEE;
ul.left-top-menu {
display: inline-block;
width: 50%;
margin-bottom: 0px;
border-bottom: none;
}
.projects-search-form {
width: 50%;
display: inline-block;
float: right;
padding-top: 7px;
text-align: right;
.btn-green {
margin-top: -2px;
margin-left: 10px;
}
}
@media (max-width: $screen-xs-max) {
.projects-search-form {
padding-top: 15px;
}
}
}
.fork-namespaces { .fork-namespaces {
.fork-thumbnail { .fork-thumbnail {
text-align: center; text-align: center;
Loading
@@ -412,11 +442,18 @@ pre.light-well {
Loading
@@ -412,11 +442,18 @@ pre.light-well {
   
.projects-search-form { .projects-search-form {
margin: -$gl-padding; margin: -$gl-padding;
background-color: #f8fafc;
padding: $gl-padding; padding: $gl-padding;
margin-bottom: 0px; margin-bottom: 0px;
border-top: 1px solid #e7e9ed;
border-bottom: 1px solid #e7e9ed; input {
display: inline-block;
width: calc(100% - 151px);
}
.btn {
display: inline-block;
width: 135px;
}
} }
   
.git-empty { .git-empty {
Loading
Loading
= content_for :flash_message do = content_for :flash_message do
= render 'shared/project_limit' = render 'shared/project_limit'
.top-area
%ul.left-top-menu
= nav_link(page: [dashboard_projects_path, root_path]) do
= link_to dashboard_projects_path, title: 'Home', class: 'shortcuts-activity', data: {placement: 'right'} do
Your Projects
= nav_link(page: starred_dashboard_projects_path) do
= link_to starred_dashboard_projects_path, title: 'Starred Projects', data: {placement: 'right'} do
Starred Projects
= nav_link(page: [explore_root_path, trending_explore_projects_path, starred_explore_projects_path, explore_projects_path], html_options: { class: 'hidden-xs' }) do
= link_to explore_root_path, title: 'Explore', data: {placement: 'right'} do
Explore Projects
   
%ul.center-top-menu .projects-search-form
= nav_link(page: [dashboard_projects_path, root_path]) do = search_field_tag :filter_projects, nil, placeholder: 'Filter by name...', class: 'projects-list-filter form-control hidden-xs', spellcheck: false
= link_to dashboard_projects_path, title: 'Home', class: 'shortcuts-activity', data: {placement: 'right'} do - if current_user.can_create_project?
Your Projects = link_to new_project_path, class: 'btn btn-green' do
= nav_link(page: starred_dashboard_projects_path) do %i.fa.fa-plus
= link_to starred_dashboard_projects_path, title: 'Starred Projects', data: {placement: 'right'} do New Project
Starred Projects
= nav_link(page: [explore_root_path, trending_explore_projects_path, starred_explore_projects_path, explore_projects_path], html_options: { class: 'hidden-xs' }) do
= link_to explore_root_path, title: 'Explore', data: {placement: 'right'} do
Explore Projects
.projects-list-holder .projects-list-holder
.projects-search-form
.input-group
= search_field_tag :filter_projects, nil, placeholder: 'Filter by name', class: 'projects-list-filter form-control', spellcheck: false
- if current_user.can_create_project?
%span.input-group-btn
= link_to new_project_path, class: 'btn btn-green' do
%i.fa.fa-plus
New Project
   
= render 'shared/projects/list', projects: @projects, ci: true = render 'shared/projects/list', projects: @projects, ci: true
Loading
@@ -6,7 +6,7 @@
Loading
@@ -6,7 +6,7 @@
- if issue.description.present? - if issue.description.present?
.description.term .description.term
= preserve do = preserve do
= search_md_sanitize(markdown(issue.description)) = search_md_sanitize(markdown(issue.description, { project: issue.project }))
%span.light %span.light
#{issue.project.name_with_namespace} #{issue.project.name_with_namespace}
- if issue.closed? - if issue.closed?
Loading
Loading
class AddBuildEventsToServices < ActiveRecord::Migration class AddBuildEventsToServices < ActiveRecord::Migration
def up def change
add_column :services, :build_events, :boolean, default: false, null: false add_column :services, :build_events, :boolean, default: false, null: false
add_column :web_hooks, :build_events, :boolean, default: false, null: false add_column :web_hooks, :build_events, :boolean, default: false, null: false
end end
Loading
Loading
Loading
@@ -10,4 +10,7 @@ class MigrateCiWebHooks < ActiveRecord::Migration
Loading
@@ -10,4 +10,7 @@ class MigrateCiWebHooks < ActiveRecord::Migration
'JOIN projects ON ci_projects.gitlab_id = projects.id' 'JOIN projects ON ci_projects.gitlab_id = projects.id'
) )
end end
def down
end
end end
class AddCiToProject < ActiveRecord::Migration class AddCiToProject < ActiveRecord::Migration
def up def change
add_column :projects, :ci_id, :integer add_column :projects, :ci_id, :integer
add_column :projects, :builds_enabled, :boolean, default: true, null: false add_column :projects, :builds_enabled, :boolean, default: true, null: false
add_column :projects, :shared_runners_enabled, :boolean, default: true, null: false add_column :projects, :shared_runners_enabled, :boolean, default: true, null: false
Loading
Loading
class AddProjectIdToCi < ActiveRecord::Migration class AddProjectIdToCi < ActiveRecord::Migration
def up def change
add_column :ci_builds, :gl_project_id, :integer add_column :ci_builds, :gl_project_id, :integer
add_column :ci_runner_projects, :gl_project_id, :integer add_column :ci_runner_projects, :gl_project_id, :integer
add_column :ci_triggers, :gl_project_id, :integer add_column :ci_triggers, :gl_project_id, :integer
Loading
Loading
Loading
@@ -14,6 +14,10 @@ class MigrateCiToProject < ActiveRecord::Migration
Loading
@@ -14,6 +14,10 @@ class MigrateCiToProject < ActiveRecord::Migration
migrate_ci_service migrate_ci_service
end end
   
def down
# We can't reverse the data
end
def migrate_project_id_for_table(table) def migrate_project_id_for_table(table)
subquery = "SELECT gitlab_id FROM ci_projects WHERE ci_projects.id = #{table}.project_id" subquery = "SELECT gitlab_id FROM ci_projects WHERE ci_projects.id = #{table}.project_id"
execute("UPDATE #{table} SET gl_project_id=(#{subquery}) WHERE gl_project_id IS NULL") execute("UPDATE #{table} SET gl_project_id=(#{subquery}) WHERE gl_project_id IS NULL")
Loading
Loading
class AddIndexToCiTables < ActiveRecord::Migration class AddIndexToCiTables < ActiveRecord::Migration
def up def change
add_index :ci_builds, :gl_project_id add_index :ci_builds, :gl_project_id
add_index :ci_runner_projects, :gl_project_id add_index :ci_runner_projects, :gl_project_id
add_index :ci_triggers, :gl_project_id add_index :ci_triggers, :gl_project_id
Loading
Loading
class DropNullForCiTables < ActiveRecord::Migration class DropNullForCiTables < ActiveRecord::Migration
def up def change
remove_index :ci_variables, :project_id remove_index :ci_variables, :project_id
remove_index :ci_runner_projects, :project_id remove_index :ci_runner_projects, :project_id
change_column_null :ci_triggers, :project_id, true change_column_null :ci_triggers, :project_id, true
Loading
Loading
Loading
@@ -92,7 +92,7 @@ check_pids(){
Loading
@@ -92,7 +92,7 @@ check_pids(){
   
## Called when we have started the two processes and are waiting for their pid files. ## Called when we have started the two processes and are waiting for their pid files.
wait_for_pids(){ wait_for_pids(){
# We are sleeping a bit here mostly because sidekiq is slow at writing it's pid # We are sleeping a bit here mostly because sidekiq is slow at writing its pid
i=0; i=0;
while [ ! -f $web_server_pid_path ] || [ ! -f $sidekiq_pid_path ] || [ ! -f $gitlab_workhorse_pid_path ] || { [ "$mail_room_enabled" = true ] && [ ! -f $mail_room_pid_path ]; }; do while [ ! -f $web_server_pid_path ] || [ ! -f $sidekiq_pid_path ] || [ ! -f $gitlab_workhorse_pid_path ] || { [ "$mail_room_enabled" = true ] && [ ! -f $mail_room_pid_path ]; }; do
sleep 0.1; sleep 0.1;
Loading
@@ -108,7 +108,7 @@ wait_for_pids(){
Loading
@@ -108,7 +108,7 @@ wait_for_pids(){
} }
   
# We use the pids in so many parts of the script it makes sense to always check them. # We use the pids in so many parts of the script it makes sense to always check them.
# Only after start() is run should the pids change. Sidekiq sets it's own pid. # Only after start() is run should the pids change. Sidekiq sets its own pid.
check_pids check_pids
   
   
Loading
@@ -290,7 +290,7 @@ stop_gitlab() {
Loading
@@ -290,7 +290,7 @@ stop_gitlab() {
sleep 1 sleep 1
# Cleaning up unused pids # Cleaning up unused pids
rm "$web_server_pid_path" 2>/dev/null rm "$web_server_pid_path" 2>/dev/null
# rm "$sidekiq_pid_path" 2>/dev/null # Sidekiq seems to be cleaning up it's own pid. # rm "$sidekiq_pid_path" 2>/dev/null # Sidekiq seems to be cleaning up its own pid.
rm -f "$gitlab_workhorse_pid_path" rm -f "$gitlab_workhorse_pid_path"
if [ "$mail_room_enabled" = true ]; then if [ "$mail_room_enabled" = true ]; then
rm "$mail_room_pid_path" 2>/dev/null rm "$mail_room_pid_path" 2>/dev/null
Loading
@@ -299,7 +299,7 @@ stop_gitlab() {
Loading
@@ -299,7 +299,7 @@ stop_gitlab() {
print_status print_status
} }
   
## Prints the status of GitLab and it's components. ## Prints the status of GitLab and its components.
print_status() { print_status() {
check_status check_status
if [ "$web_status" != "0" ] && [ "$sidekiq_status" != "0" ] && [ "$gitlab_workhorse_status" != "0" ] && { [ "$mail_room_enabled" != true ] || [ "$mail_room_status" != "0" ]; }; then if [ "$web_status" != "0" ] && [ "$sidekiq_status" != "0" ] && [ "$gitlab_workhorse_status" != "0" ] && { [ "$mail_room_enabled" != true ] || [ "$mail_room_status" != "0" ]; }; then
Loading
@@ -333,7 +333,7 @@ print_status() {
Loading
@@ -333,7 +333,7 @@ print_status() {
fi fi
} }
   
## Tells unicorn to reload it's config and Sidekiq to restart ## Tells unicorn to reload its config and Sidekiq to restart
reload_gitlab(){ reload_gitlab(){
exit_if_not_running exit_if_not_running
if [ "$wpid" = "0" ];then if [ "$wpid" = "0" ];then
Loading
Loading
Loading
@@ -9,11 +9,11 @@ RAILS_ENV="production"
Loading
@@ -9,11 +9,11 @@ RAILS_ENV="production"
# The default is "git". # The default is "git".
app_user="git" app_user="git"
   
# app_root defines the folder in which gitlab and it's components are installed. # app_root defines the folder in which gitlab and its components are installed.
# The default is "/home/$app_user/gitlab" # The default is "/home/$app_user/gitlab"
app_root="/home/$app_user/gitlab" app_root="/home/$app_user/gitlab"
   
# pid_path defines a folder in which the gitlab and it's components place their pids. # pid_path defines a folder in which the gitlab and its components place their pids.
# This variable is also used below to define the relevant pids for the gitlab components. # This variable is also used below to define the relevant pids for the gitlab components.
# The default is "$app_root/tmp/pids" # The default is "$app_root/tmp/pids"
pid_path="$app_root/tmp/pids" pid_path="$app_root/tmp/pids"
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment