Commit 26ad2509 authored by Douwe Maan's avatar Douwe Maan

Add a page title to every page.

parent f2cf6d75
...@@ -2,6 +2,7 @@ Please view this file on the master branch, on stable branches it's out of date. ...@@ -2,6 +2,7 @@ Please view this file on the master branch, on stable branches it's out of date.
v 7.11.0 (unreleased) v 7.11.0 (unreleased)
- Don't allow a merge request to be merged when its title starts with "WIP". - Don't allow a merge request to be merged when its title starts with "WIP".
- Add a page title to every page.
- Get Gitorious importer to work again. - Get Gitorious importer to work again.
- Fix clone URL field and X11 Primary selection (Dmitry Medvinsky) - Fix clone URL field and X11 Primary selection (Dmitry Medvinsky)
- Ignore invalid lines in .gitmodules - Ignore invalid lines in .gitmodules
......
...@@ -2,10 +2,16 @@ ...@@ -2,10 +2,16 @@
# #
# Automatically sets the layout and ensures an administrator is logged in # Automatically sets the layout and ensures an administrator is logged in
class Admin::ApplicationController < ApplicationController class Admin::ApplicationController < ApplicationController
layout 'admin'
before_action :authenticate_admin! before_action :authenticate_admin!
before_action :set_title
def authenticate_admin! def authenticate_admin!
return render_404 unless current_user.is_admin? return render_404 unless current_user.is_admin?
end end
def set_title
@title = "Admin area"
@title_url = admin_root_path
@sidebar = "admin"
end
end end
class Dashboard::ApplicationController < ApplicationController
before_action :set_title
private
def set_title
@title = "Dashboard"
@title_url = root_path
@sidebar = "dashboard"
end
end
class Dashboard::GroupsController < ApplicationController class Dashboard::GroupsController < Dashboard::ApplicationController
def index def index
@group_members = current_user.group_members.page(params[:page]).per(PER_PAGE) @group_members = current_user.group_members.page(params[:page]).per(PER_PAGE)
end end
......
class Dashboard::MilestonesController < ApplicationController class Dashboard::MilestonesController < Dashboard::ApplicationController
before_action :load_projects before_action :load_projects
def index def index
......
class Dashboard::ProjectsController < ApplicationController class Dashboard::ProjectsController < Dashboard::ApplicationController
before_action :event_filter before_action :event_filter
def starred def starred
......
class DashboardController < ApplicationController class DashboardController < Dashboard::ApplicationController
respond_to :html
before_action :load_projects, except: [:projects] before_action :load_projects, except: [:projects]
before_action :event_filter, only: :show before_action :event_filter, only: :show
respond_to :html
def show def show
@projects = @projects.includes(:namespace) @projects = @projects.includes(:namespace)
@last_push = current_user.recent_push @last_push = current_user.recent_push
......
class Explore::ApplicationController < ApplicationController
before_action :set_title
private
def set_title
@title = "Explore GitLab"
@title_url = explore_root_path
@sidebar = "explore"
end
end
class Explore::GroupsController < ApplicationController class Explore::GroupsController < Explore::ApplicationController
skip_before_action :authenticate_user!, skip_before_action :authenticate_user!,
:reject_blocked, :set_current_user_for_observers :reject_blocked, :set_current_user_for_observers
layout "explore"
def index def index
@groups = GroupsFinder.new.execute(current_user) @groups = GroupsFinder.new.execute(current_user)
@groups = @groups.search(params[:search]) if params[:search].present? @groups = @groups.search(params[:search]) if params[:search].present?
......
class Explore::ProjectsController < ApplicationController class Explore::ProjectsController < Explore::ApplicationController
skip_before_action :authenticate_user!, skip_before_action :authenticate_user!,
:reject_blocked :reject_blocked
layout 'explore'
def index def index
@projects = ProjectsFinder.new.execute(current_user) @projects = ProjectsFinder.new.execute(current_user)
@tags = @projects.tags_on(:tags) @tags = @projects.tags_on(:tags)
......
class Groups::ApplicationController < ApplicationController class Groups::ApplicationController < ApplicationController
before_action :set_title
private private
...@@ -18,11 +19,9 @@ class Groups::ApplicationController < ApplicationController ...@@ -18,11 +19,9 @@ class Groups::ApplicationController < ApplicationController
end end
end end
def determine_layout def set_title
if current_user @title = group.name
'group' @title_url = group_path(group)
else @sidebar = "group"
'public_group'
end
end end
end end
class Groups::AvatarsController < ApplicationController class Groups::AvatarsController < ApplicationController
layout "profile"
def destroy def destroy
@group = Group.find_by(path: params[:group_id]) @group = Group.find_by(path: params[:group_id])
@group.remove_avatar! @group.remove_avatar!
......
class Groups::MilestonesController < ApplicationController class Groups::MilestonesController < Groups::ApplicationController
layout 'group'
before_action :authorize_group_milestone!, only: :update before_action :authorize_group_milestone!, only: :update
def index def index
......
...@@ -11,9 +11,6 @@ class GroupsController < Groups::ApplicationController ...@@ -11,9 +11,6 @@ class GroupsController < Groups::ApplicationController
# Load group projects # Load group projects
before_action :load_projects, except: [:new, :create, :projects, :edit, :update] before_action :load_projects, except: [:new, :create, :projects, :edit, :update]
before_action :event_filter, only: :show before_action :event_filter, only: :show
before_action :set_title, only: [:new, :create]
layout :determine_layout
def new def new
@group = Group.new @group = Group.new
...@@ -120,16 +117,10 @@ class GroupsController < Groups::ApplicationController ...@@ -120,16 +117,10 @@ class GroupsController < Groups::ApplicationController
end end
def set_title def set_title
@title = 'New Group'
end
def determine_layout
if [:new, :create].include?(action_name.to_sym) if [:new, :create].include?(action_name.to_sym)
'navless' @title = 'New Group'
elsif current_user
'group'
else else
'public_group' super
end end
end end
......
...@@ -3,12 +3,12 @@ class HelpController < ApplicationController ...@@ -3,12 +3,12 @@ class HelpController < ApplicationController
end end
def show def show
category = clean_path_info(path_params[:category]) @category = clean_path_info(path_params[:category])
file = path_params[:file] @file = path_params[:file]
respond_to do |format| respond_to do |format|
format.any(:markdown, :md, :html) do format.any(:markdown, :md, :html) do
path = Rails.root.join('doc', category, "#{file}.md") path = Rails.root.join('doc', @category, "#{@file}.md")
if File.exist?(path) if File.exist?(path)
@markdown = File.read(path) @markdown = File.read(path)
...@@ -22,7 +22,7 @@ class HelpController < ApplicationController ...@@ -22,7 +22,7 @@ class HelpController < ApplicationController
# Allow access to images in the doc folder # Allow access to images in the doc folder
format.any(:png, :gif, :jpeg) do format.any(:png, :gif, :jpeg) do
path = Rails.root.join('doc', category, "#{file}.#{params[:format]}") path = Rails.root.join('doc', @category, "#{@file}.#{params[:format]}")
if File.exist?(path) if File.exist?(path)
send_file(path, disposition: 'inline') send_file(path, disposition: 'inline')
......
...@@ -4,8 +4,6 @@ class InvitesController < ApplicationController ...@@ -4,8 +4,6 @@ class InvitesController < ApplicationController
respond_to :html respond_to :html
layout 'navless'
def show def show
end end
......
class Oauth::ApplicationsController < Doorkeeper::ApplicationsController class Oauth::ApplicationsController < Doorkeeper::ApplicationsController
before_action :authenticate_user! before_action :authenticate_user!
layout "profile" before_action :set_title
def index def index
head :forbidden and return head :forbidden and return
...@@ -36,4 +36,10 @@ class Oauth::ApplicationsController < Doorkeeper::ApplicationsController ...@@ -36,4 +36,10 @@ class Oauth::ApplicationsController < Doorkeeper::ApplicationsController
rescue_from ActiveRecord::RecordNotFound do |exception| rescue_from ActiveRecord::RecordNotFound do |exception|
render "errors/not_found", layout: "errors", status: 404 render "errors/not_found", layout: "errors", status: 404
end end
def set_title
@title = "Profile"
@title_url = profile_path
@sidebar = "profile"
end
end end
class Oauth::AuthorizationsController < Doorkeeper::AuthorizationsController class Oauth::AuthorizationsController < Doorkeeper::AuthorizationsController
before_action :authenticate_resource_owner! before_action :authenticate_resource_owner!
layout "profile" before_action :set_title
def new def new
if pre_auth.authorizable? if pre_auth.authorizable?
...@@ -54,4 +54,10 @@ class Oauth::AuthorizationsController < Doorkeeper::AuthorizationsController ...@@ -54,4 +54,10 @@ class Oauth::AuthorizationsController < Doorkeeper::AuthorizationsController
def strategy def strategy
@strategy ||= server.authorization_request(pre_auth.response_type) @strategy ||= server.authorization_request(pre_auth.response_type)
end end
def set_title
@title = "Profile"
@title_url = profile_path
@sidebar = "profile"
end
end end
class Oauth::AuthorizedApplicationsController < Doorkeeper::AuthorizedApplicationsController class Oauth::AuthorizedApplicationsController < Doorkeeper::AuthorizedApplicationsController
layout "profile" before_filter :set_title
def destroy def destroy
Doorkeeper::AccessToken.revoke_all_for(params[:id], current_resource_owner) Doorkeeper::AccessToken.revoke_all_for(params[:id], current_resource_owner)
redirect_to applications_profile_url, notice: I18n.t(:notice, scope: [:doorkeeper, :flash, :authorized_applications, :destroy]) redirect_to applications_profile_url, notice: I18n.t(:notice, scope: [:doorkeeper, :flash, :authorized_applications, :destroy])
end end
private
def set_title
@title = "Profile"
@title_url = profile_path
@sidebar = "profile"
end
end end
class Profiles::AccountsController < ApplicationController class Profiles::AccountsController < Profiles::ApplicationController
layout "profile"
def show def show
@user = current_user @user = current_user
end end
......
class Profiles::ApplicationController < ApplicationController
before_action :set_title
private
def set_title
@title = "Profile"
@title_url = profile_path
@sidebar = "profile"
end
end
class Profiles::AvatarsController < ApplicationController class Profiles::AvatarsController < Profiles::ApplicationController
layout "profile"
def destroy def destroy
@user = current_user @user = current_user
@user.remove_avatar! @user.remove_avatar!
......
class Profiles::EmailsController < ApplicationController class Profiles::EmailsController < Profiles::ApplicationController
layout "profile"
def index def index
@primary = current_user.email @primary = current_user.email
@public_email = current_user.public_email @public_email = current_user.public_email
......
class Profiles::KeysController < ApplicationController class Profiles::KeysController < Profiles::ApplicationController
layout "profile"
skip_before_action :authenticate_user!, only: [:get_keys] skip_before_action :authenticate_user!, only: [:get_keys]
def index def index
......
class Profiles::NotificationsController < ApplicationController class Profiles::NotificationsController < Profiles::ApplicationController
layout 'profile'
def show def show
@user = current_user @user = current_user
@notification = current_user.notification @notification = current_user.notification
......
class Profiles::PasswordsController < ApplicationController class Profiles::PasswordsController < ApplicationController
layout :determine_layout
skip_before_action :check_password_expiration, only: [:new, :create] skip_before_action :check_password_expiration, only: [:new, :create]
before_action :set_user before_action :set_user
...@@ -67,14 +65,10 @@ class Profiles::PasswordsController < ApplicationController ...@@ -67,14 +65,10 @@ class Profiles::PasswordsController < ApplicationController
end end
def set_title def set_title
@title = "New password"
end
def determine_layout
if [:new, :create].include?(action_name.to_sym) if [:new, :create].include?(action_name.to_sym)
'navless' @title = "New password"
else else
'profile' super
end end
end end
......
class ProfilesController < ApplicationController class ProfilesController < Profiles::ApplicationController
include ActionView::Helpers::SanitizeHelper include ActionView::Helpers::SanitizeHelper
before_action :user before_action :user
before_action :authorize_change_username!, only: :update_username before_action :authorize_change_username!, only: :update_username
skip_before_action :require_email, only: [:show, :update] skip_before_action :require_email, only: [:show, :update]
layout 'profile'
def show def show
end end
......
class Projects::ApplicationController < ApplicationController class Projects::ApplicationController < ApplicationController
before_action :project before_action :project
before_action :repository before_action :repository
layout :determine_layout layout 'project'
def authenticate_user! def authenticate_user!
# Restrict access to Projects area only # Restrict access to Projects area only
...@@ -17,14 +17,6 @@ class Projects::ApplicationController < ApplicationController ...@@ -17,14 +17,6 @@ class Projects::ApplicationController < ApplicationController
super super
end end
def determine_layout
if current_user
'projects'
else
'public_projects'
end
end
def require_branch_head def require_branch_head
unless @repository.branch_names.include?(@ref) unless @repository.branch_names.include?(@ref)
redirect_to( redirect_to(
......
class Projects::AvatarsController < Projects::ApplicationController class Projects::AvatarsController < Projects::ApplicationController
layout 'project'
before_action :project before_action :project
def show def show
......
...@@ -18,7 +18,6 @@ class Projects::ForksController < Projects::ApplicationController ...@@ -18,7 +18,6 @@ class Projects::ForksController < Projects::ApplicationController
notice: 'Project was successfully forked.' notice: 'Project was successfully forked.'
) )
else else
@title = 'Fork project'
render :error render :error
end end
end end
......
class Projects::UploadsController < Projects::ApplicationController class Projects::UploadsController < Projects::ApplicationController
layout 'project'
skip_before_action :authenticate_user!, :reject_blocked!, :project, skip_before_action :authenticate_user!, :reject_blocked!, :project,
:repository, if: -> { action_name == 'show' && image? } :repository, if: -> { action_name == 'show' && image? }
......
...@@ -9,14 +9,14 @@ class ProjectsController < ApplicationController ...@@ -9,14 +9,14 @@ class ProjectsController < ApplicationController
before_action :set_title, only: [:new, :create] before_action :set_title, only: [:new, :create]
before_action :event_filter, only: :show before_action :event_filter, only: :show
layout 'navless', only: [:new, :create, :fork] layout :determine_layout
def new def new
@project = Project.new @project = Project.new
end end
def edit def edit
render 'edit', layout: 'project_settings' render 'edit'
end end
def create def create
...@@ -46,7 +46,7 @@ class ProjectsController < ApplicationController ...@@ -46,7 +46,7 @@ class ProjectsController < ApplicationController
end end
format.js format.js
else else
format.html { render 'edit', layout: 'project_settings' } format.html { render 'edit' }
format.js format.js
end end
end end
...@@ -72,13 +72,13 @@ class ProjectsController < ApplicationController ...@@ -72,13 +72,13 @@ class ProjectsController < ApplicationController
format.html do format.html do
if @project.repository_exists? if @project.repository_exists?
if @project.empty_repo? if @project.empty_repo?
render 'projects/empty', layout: user_layout render 'projects/empty'
else else
@last_push = current_user.recent_push(@project.id) if current_user @last_push = current_user.recent_push(@project.id) if current_user
render :show, layout: user_layout render :show
end end
else else
render 'projects/no_repo', layout: user_layout render 'projects/no_repo'
end end
end end
...@@ -164,8 +164,14 @@ class ProjectsController < ApplicationController ...@@ -164,8 +164,14 @@ class ProjectsController < ApplicationController
@title = 'New Project' @title = 'New Project'
end end
def user_layout def determine_layout
current_user ? 'projects' : 'public_projects' if [:new, :create].include?(action_name.to_sym)
'application'
elsif [:edit, :update].include?(action_name.to_sym)
'project_settings'
else
'project'
end
end end
def load_events def load_events
......
class SearchController < ApplicationController class SearchController < ApplicationController
include SearchHelper include SearchHelper
before_action :set_title
def show def show
return if params[:search].nil? || params[:search].blank? return if params[:search].nil? || params[:search].blank?
...@@ -55,4 +57,11 @@ class SearchController < ApplicationController ...@@ -55,4 +57,11 @@ class SearchController < ApplicationController
render json: search_autocomplete_opts(term).to_json render json: search_autocomplete_opts(term).to_json
end end
private
def set_title
@title = "Search"
@title_url = search_path
end
end end
...@@ -13,8 +13,6 @@ class SnippetsController < ApplicationController ...@@ -13,8 +13,6 @@ class SnippetsController < ApplicationController
respond_to :html respond_to :html
layout :determine_layout
def index def index
if params[:username].present? if params[:username].present?
@user = User.find_by(username: params[:username]) @user = User.find_by(username: params[:username])
...@@ -101,13 +99,10 @@ class SnippetsController < ApplicationController ...@@ -101,13 +99,10 @@ class SnippetsController < ApplicationController
def set_title def set_title
@title = 'Snippets' @title = 'Snippets'
@title_url = snippets_path @title_url = snippets_path
@sidebar = "snippets"
end end
def snippet_params def snippet_params
params.require(:personal_snippet).permit(:title, :content, :file_name, :private, :visibility_level) params.require(:personal_snippet).permit(:title, :content, :file_name, :private, :visibility_level)
end end
def determine_layout
current_user ? 'snippets' : 'public_users'
end
end end
class UsersController < ApplicationController class UsersController < ApplicationController
skip_before_action :authenticate_user! skip_before_action :authenticate_user!
before_action :set_user before_action :set_user
layout :determine_layout
def show def show
@contributed_projects = contributed_projects.joined(@user). @contributed_projects = contributed_projects.joined(@user).
...@@ -51,14 +50,6 @@ class UsersController < ApplicationController ...@@ -51,14 +50,6 @@ class UsersController < ApplicationController
render 'calendar_activities', layout: false render 'calendar_activities', layout: false
end end
def determine_layout
if current_user
'navless'
else
'public_users'
end
end
private private
def set_user def set_user
......
...@@ -332,4 +332,12 @@ module ApplicationHelper ...@@ -332,4 +332,12 @@ module ApplicationHelper
end end
"#{entity_title}#{count}" "#{entity_title}#{count}"
end end
def page_title(*titles)
@page_title ||= []
@page_title.push(*titles.compact) if titles.any?
@page_title.join(" | ")
end
end end
...@@ -19,24 +19,6 @@ module GroupsHelper ...@@ -19,24 +19,6 @@ module GroupsHelper
end end
end end
def group_head_title
title = @group.name
title = if current_action?(:issues)
"Issues - " + title
elsif current_action?(:merge_requests)
"Merge requests - " + title
elsif current_action?(:members)
"Members - " + title
elsif current_action?(:edit)
"Settings - " + title
else
title
end
title
end
def group_settings_page? def group_settings_page?
if current_controller?('groups') if current_controller?('groups')
current_action?('edit') || current_action?('projects') current_action?('edit') || current_action?('projects')
......
...@@ -192,46 +192,6 @@ module ProjectsHelper ...@@ -192,46 +192,6 @@ module ProjectsHelper
'unknown' 'unknown'
end end
def project_head_title
title = @project.name_with_namespace
title = if current_controller?(:tree)
"#{@project.path}\/#{@path} at #{@ref} - " + title
elsif current_controller?(:issues)
if current_action?(:show)
"Issue ##{@issue.iid} - #{@issue.title} - " + title
else
"Issues - " + title
end
elsif current_controller?(:blob)
if current_action?(:new) || current_action?(:create)
"New file at #{@ref}"
elsif current_action?(:show)
"#{@blob.path} at #{@ref}"
elsif @blob
"Edit file #{@blob.path} at #{@ref}"
end
elsif current_controller?(:commits)
"Commits at #{@ref} - " + title
elsif current_controller?(:merge_requests)
if current_action?(:show)
"Merge request ##{@merge_request.iid} - " + title
else
"Merge requests - " + title
end
elsif current_controller?(:wikis)
"Wiki - " + title
elsif current_controller?(:network)
"Network graph - " + title
elsif current_controller?(:graphs)
"Graphs - " + title
else
title
end
title
end
def default_url_to_repo(project = nil) def default_url_to_repo(project = nil)
project = project || @project project = project || @project
current_user ? project.url_to_repo : project.http_url_to_repo current_user ? project.url_to_repo : project.http_url_to_repo
......
- page_title "Settings"
%h3.page-title Application settings %h3.page-title Application settings
%hr %hr
= render 'form' = render 'form'
- page_title "Edit", @application.name, "Applications"
%h3.page-title Edit application %h3.page-title Edit application
- @url = admin_application_path(@application) - @url = admin_application_path(@application)
= render 'form', application: @application = render 'form', application: @application
- page_title "Applications"
%h3.page-title %h3.page-title
System OAuth applications System OAuth applications
%p.light %p.light
......
- page_title "New application"
%h3.page-title New application %h3.page-title New application
- @url = admin_applications_path - @url = admin_applications_path
= render 'form', application: @application = render 'form', application: @application
- page_title @application.name, "Applications"
%h3.page-title %h3.page-title
Application: #{@application.name} Application: #{@application.name}
......
- page_title "Background Jobs"
%h3.page-title Background Jobs %h3.page-title Background Jobs
%p.light GitLab uses #{link_to "sidekiq", "http://sidekiq.org/"} library for async job processing %p.light GitLab uses #{link_to "sidekiq", "http://sidekiq.org/"} library for async job processing
......
- page_title "Broadcast Messages"
%h3.page-title %h3.page-title
Broadcast Messages Broadcast Messages
%p.light %p.light
......
- page_title "Deploy Keys"
.panel.panel-default .panel.panel-default
.panel-heading .panel-heading
Public deploy keys (#{@deploy_keys.count}) Public deploy keys (#{@deploy_keys.count})
......
- page_title "New Deploy Key"
%h3.page-title New public deploy key %h3.page-title New public deploy key
%hr %hr
......
- page_title @deploy_key.title, "Deploy Keys"
.row .row
.col-md-4 .col-md-4
.panel.panel-default .panel.panel-default
......
- page_title "Edit", @group.name, "Groups"
%h3.page-title Edit group: #{@group.name} %h3.page-title Edit group: #{@group.name}
%hr %hr
= render 'form' = render 'form'
- page_title "Groups"
%h3.page-title %h3.page-title
Groups (#{@groups.total_count}) Groups (#{@groups.total_count})
= link_to 'New Group', new_admin_group_path, class: "btn btn-new pull-right" = link_to 'New Group', new_admin_group_path, class: "btn btn-new pull-right"
......
- page_title "New group"
%h3.page-title New group %h3.page-title New group
%hr %hr
= render 'form' = render 'form'
- page_title @group.name, "Groups"
%h3.page-title %h3.page-title
Group: #{@group.name} Group: #{@group.name}
......
- page_title "System Hooks"
%h3.page-title %h3.page-title
System hooks System hooks
......
- page_title @key.title, "Keys"
= render "profiles/keys/key_details", admin: true = render "profiles/keys/key_details", admin: true
- page_title "Logs"
- loggers = [Gitlab::GitLogger, Gitlab::AppLogger, - loggers = [Gitlab::GitLogger, Gitlab::AppLogger,
Gitlab::ProductionLogger, Gitlab::SidekiqLogger] Gitlab::ProductionLogger, Gitlab::SidekiqLogger]
%ul.nav.nav-tabs.log-tabs %ul.nav.nav-tabs.log-tabs
......
- page_title "Projects"
= render 'shared/show_aside' = render 'shared/show_aside'
.row .row
......
- page_title @project.name_with_namespace, "Projects"
%h3.page-title %h3.page-title
Project: #{@project.name_with_namespace} Project: #{@project.name_with_namespace}
= link_to edit_project_path(@project), class: "btn pull-right" do = link_to edit_project_path(@project), class: "btn pull-right" do
......
- page_title @service.title, "Service Templates"
= render 'form' = render 'form'
- page_title "Service Templates"
%h3.page-title Service templates %h3.page-title Service templates
%p.light Service template allows you to set default values for project services %p.light Service template allows you to set default values for project services
......
- page_title "Edit", @user.name, "Users"
%h3.page-title %h3.page-title
Edit user: #{@user.name} Edit user: #{@user.name}
.back-link .back-link
......
- page_title "Users"
= render 'shared/show_aside' = render 'shared/show_aside'
.row .row
......
- page_title "New user"
%h3.page-title %h3.page-title
New user New user
%hr %hr
......
- page_title @user.name, "Users"
%h3.page-title %h3.page-title
User: User:
= @user.name = @user.name
......
- page_title "Groups"
%h3.page-title %h3.page-title
Group Membership Group Membership
- if current_user.can_create_group? - if current_user.can_create_group?
......
- page_title "Issues"
= content_for :meta_tags do = content_for :meta_tags do
- if current_user - if current_user
= auto_discovery_link_tag(:atom, issues_dashboard_url(format: :atom, private_token: current_user.private_token), title: "#{current_user.name} issues") = auto_discovery_link_tag(:atom, issues_dashboard_url(format: :atom, private_token: current_user.private_token), title: "#{current_user.name} issues")
......
- page_title "Merge Requests"
%h3.page-title %h3.page-title
Merge Requests Merge Requests
......
- page_title "Milestones"
%h3.page-title %h3.page-title
Milestones Milestones
%span.pull-right #{@dashboard_milestones.count} milestones %span.pull-right #{@dashboard_milestones.count} milestones
......
- page_title @dashboard_milestone.title, "Milestones"
%h4.page-title %h4.page-title
.issue-box{ class: "issue-box-#{@dashboard_milestone.closed? ? 'closed' : 'open'}" } .issue-box{ class: "issue-box-#{@dashboard_milestone.closed? ? 'closed' : 'open'}" }
- if @dashboard_milestone.closed? - if @dashboard_milestone.closed?
......
- page_title "Starred Projects"
- if @projects.any? - if @projects.any?
= render 'shared/show_aside' = render 'shared/show_aside'
......
- page_title "Sign up"
= render 'devise/shared/signup_box' = render 'devise/shared/signup_box'
= render 'devise/shared/sign_in_link' = render 'devise/shared/sign_in_link'
- page_title "Sign in"
%div %div
- if signin_enabled? || ldap_enabled? - if signin_enabled? || ldap_enabled?
= render 'devise/shared/signin_box' = render 'devise/shared/signin_box'
......
- page_title "Edit", @application.name, "Applications"
%h3.page-title Edit application %h3.page-title Edit application
= render 'form', application: @application = render 'form', application: @application
- page_title "Applications"
%h3.page-title Your applications %h3.page-title Your applications
%p= link_to 'New Application', new_oauth_application_path, class: 'btn btn-success' %p= link_to 'New Application', new_oauth_application_path, class: 'btn btn-success'
%table.table.table-striped %table.table.table-striped
......
- page_title @application.name, "Application"
%h3.page-title %h3.page-title
Application: #{@application.name} Application: #{@application.name}
......
- page_title "Access Denied"
%h1 403 %h1 403
%h3 Access Denied %h3 Access Denied
%hr %hr
......
- page_title "Encoding Error"
%h1 500 %h1 500
%h3 Encoding Error %h3 Encoding Error
%hr %hr
......
- page_title "Git Resource Not Found"
%h1 404 %h1 404
%h3 Git Resource Not found %h3 Git Resource Not found
%hr %hr
......
- page_title "Not Found"
%h1 404 %h1 404
%h3 The resource you were looking for doesn't exist. %h3 The resource you were looking for doesn't exist.
%hr %hr
......
- page_title "Auth Error"
%h1 422 %h1 422
%h3 Sign-in using #{@provider} auth failed %h3 Sign-in using #{@provider} auth failed
%hr %hr
......
- page_title "Groups"
.clearfix .clearfix
.pull-left .pull-left
= form_tag explore_groups_path, method: :get, class: 'form-inline form-tiny' do |f| = form_tag explore_groups_path, method: :get, class: 'form-inline form-tiny' do |f|
......
- page_title "Projects"
.clearfix .clearfix
= render 'filter' = render 'filter'
......
- page_title "Starred Projects"
.explore-trending-block .explore-trending-block
%p.lead %p.lead
%i.fa.fa-star %i.fa.fa-star
......
- page_title "Trending Projects"
.explore-title .explore-title
%h3 %h3
Explore GitLab Explore GitLab
......
%ul.sidebar-subnav
= nav_link(path: 'groups#edit') do
= link_to edit_group_path(@group), title: 'Group', data: {placement: 'right'} do
= icon('pencil-square-o')
%span
Group
= nav_link(path: 'groups#projects') do
= link_to projects_group_path(@group), title: 'Projects', data: {placement: 'right'} do
= icon('folder')
%span
Projects
- page_title "Settings"
.panel.panel-default .panel.panel-default
.panel-heading .panel-heading
%strong= @group.name %strong= @group.name
......
- page_title "Members"
- show_roles = should_user_see_group_roles?(current_user, @group) - show_roles = should_user_see_group_roles?(current_user, @group)
%h3.page-title %h3.page-title
......
- page_title "Issues"
= content_for :meta_tags do = content_for :meta_tags do
- if current_user - if current_user
= auto_discovery_link_tag(:atom, issues_group_url(@group, format: :atom, private_token: current_user.private_token), title: "#{@group.name} issues") = auto_discovery_link_tag(:atom, issues_group_url(@group, format: :atom, private_token: current_user.private_token), title: "#{@group.name} issues")
......
- page_title "Merge Requests"
%h3.page-title %h3.page-title
Merge Requests Merge Requests
......
- page_title "Milestones"
%h3.page-title %h3.page-title
Milestones Milestones
%span.pull-right #{@group_milestones.count} milestones %span.pull-right #{@group_milestones.count} milestones
......
- page_title @group_milestone.title, "Milestone"
%h4.page-title %h4.page-title
.issue-box{ class: "issue-box-#{@group_milestone.closed? ? 'closed' : 'open'}" } .issue-box{ class: "issue-box-#{@group_milestone.closed? ? 'closed' : 'open'}" }
- if @group_milestone.closed? - if @group_milestone.closed?
......
- page_title "Projects"
.panel.panel-default .panel.panel-default
.panel-heading .panel-heading
%strong= @group.name %strong= @group.name
......
- page_title "Help"
%div %div
%h1 %h1
GitLab GitLab
......
- page_title @file, *@category.split("/").reverse, "Help"
.documentation.wiki .documentation.wiki
= markdown @markdown.gsub('$your_email', current_user.email) = markdown @markdown.gsub('$your_email', current_user.email)
- page_title "UI Development Kit", "Help"
- lorem = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed fermentum nisi sapien, non consequat lectus aliquam ultrices. Suspendisse sodales est euismod nunc condimentum, a consectetur diam ornare." - lorem = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed fermentum nisi sapien, non consequat lectus aliquam ultrices. Suspendisse sodales est euismod nunc condimentum, a consectetur diam ornare."
.gitlab-ui-dev-kit .gitlab-ui-dev-kit
......
- page_title "Bitbucket import"
%h3.page-title %h3.page-title
%i.fa.fa-bitbucket %i.fa.fa-bitbucket
Import projects from Bitbucket Import projects from Bitbucket
......
- page_title "GitHub import"
%h3.page-title %h3.page-title
%i.fa.fa-github %i.fa.fa-github
Import projects from GitHub Import projects from GitHub
......
- page_title "GitLab.com import"
%h3.page-title %h3.page-title
%i.fa.fa-heart %i.fa.fa-heart
Import projects from GitLab.com Import projects from GitLab.com
......
- page_title "Gitorious import"
%h3.page-title %h3.page-title
%i.icon-gitorious.icon-gitorious-big %i.icon-gitorious.icon-gitorious-big
Import projects from Gitorious.org Import projects from Gitorious.org
......
- page_title "Google Code import"
%h3.page-title %h3.page-title
%i.fa.fa-google %i.fa.fa-google
Import projects from Google Code Import projects from Google Code
......
- page_title "User map", "Google Code import"
%h3.page-title %h3.page-title
%i.fa.fa-google %i.fa.fa-google
Import projects from Google Code Import projects from Google Code
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment