Skip to content
Snippets Groups Projects
Unverified Commit ce6172e8 authored by Alexis Reigel's avatar Alexis Reigel
Browse files

allow uploading favicon in appearance settings

parent c8a4d202
No related branches found
No related tags found
No related merge requests found
Loading
Loading
@@ -41,6 +41,13 @@ class Admin::AppearancesController < Admin::ApplicationController
redirect_to admin_appearances_path, notice: 'Header logo was succesfully removed.'
end
 
def favicon
@appearance.remove_favicon!
@appearance.save
redirect_to admin_appearances_path, notice: 'Favicon was succesfully removed.'
end
private
 
# Use callbacks to share common setup or constraints between actions.
Loading
Loading
@@ -61,6 +68,8 @@ class Admin::AppearancesController < Admin::ApplicationController
logo_cache
header_logo
header_logo_cache
favicon
favicon_cache
new_project_guidelines
updated_by
]
Loading
Loading
Loading
Loading
@@ -2,7 +2,7 @@ module UploadsActions
include Gitlab::Utils::StrongMemoize
include SendFileUpload
 
UPLOAD_MOUNTS = %w(avatar attachment file logo header_logo).freeze
UPLOAD_MOUNTS = %w(avatar attachment file logo header_logo favicon).freeze
 
def create
link_to_file = UploadService.new(model, params[:file], uploader_class).execute
Loading
Loading
Loading
Loading
@@ -14,6 +14,7 @@ class Appearance < ActiveRecord::Base
 
mount_uploader :logo, AttachmentUploader
mount_uploader :header_logo, AttachmentUploader
mount_uploader :favicon, FaviconUploader
 
# Overrides CacheableAttributes.current_without_cache
def self.current_without_cache
Loading
Loading
Loading
Loading
@@ -55,6 +55,23 @@
.hint
Guidelines parsed with #{link_to "GitLab Flavored Markdown", help_page_path('user/markdown'), target: '_blank'}.
 
%fieldset.app_logo
%legend
Favicon:
.form-group
= f.label :favicon, 'Favicon', class: 'control-label'
.col-sm-10
- if @appearance.favicon?
= image_tag @appearance.favicon.default_without_format_conversion.url, class: 'appearance-light-logo-preview'
- if @appearance.persisted?
%br
= link_to 'Remove favicon', favicon_admin_appearances_path, data: { confirm: "Favicon will be removed. Are you sure?"}, method: :delete, class: "btn btn-remove btn-sm remove-logo"
%hr
= f.hidden_field :favicon_cache
= f.file_field :favicon, class: ''
.hint
Maximum file size is 1MB. The resulting favicons will be cropped to be square and scaled down to a size of 32x32 px.
.form-actions
= f.submit 'Save', class: 'btn btn-save append-right-10'
- if @appearance.persisted?
Loading
Loading
Loading
Loading
@@ -102,6 +102,7 @@ namespace :admin do
get :preview_sign_in
delete :logo
delete :header_logos
delete :favicon
end
end
 
Loading
Loading
Loading
Loading
@@ -17,7 +17,7 @@ scope path: :uploads do
# Appearance
get "-/system/:model/:mounted_as/:id/:filename",
to: "uploads#show",
constraints: { model: /appearance/, mounted_as: /logo|header_logo/, filename: /.+/ }
constraints: { model: /appearance/, mounted_as: /logo|header_logo|favicon/, filename: /.+/ }
 
# Project markdown uploads
get ":namespace_id/:project_id/:secret/:filename",
Loading
Loading
class AddFaviconToAppearances < ActiveRecord::Migration
DOWNTIME = false
def change
add_column :appearances, :favicon, :string
end
end
Loading
Loading
@@ -38,6 +38,7 @@ ActiveRecord::Schema.define(version: 20180529152628) do
t.integer "cached_markdown_version"
t.text "new_project_guidelines"
t.text "new_project_guidelines_html"
t.string "favicon"
end
 
create_table "application_setting_terms", force: :cascade do |t|
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