diff --git a/app/controllers/organisations_controller.rb b/app/controllers/organisations_controller.rb index efc395f..a9ee7a4 100644 --- a/app/controllers/organisations_controller.rb +++ b/app/controllers/organisations_controller.rb @@ -58,9 +58,6 @@ def admin_edit if user_signed_in? && current_user.is_org_admin? then @organisation = Organisation.find(params[:id]) - - @logo_max_height = Dragonfly::LOGO_MAX_HEIGHT - @logo_max_width = Dragonfly::LOGO_MAX_WIDTH else render(:file => File.join(Rails.root, 'public/403.html'), :status => 403, :layout => false) end @@ -71,11 +68,11 @@ # PUT /organisations/1.json def admin_update if user_signed_in? && current_user.is_org_admin? then - @organisation = Organisation.find(params[:id]) - @organisation.banner_text = params["org_banner_text"] - @organisation.logo = params[:organisation][:logo] if params[:organisation][:logo] - assign_params = params[:organisation].dup - assign_params.delete(:logo) + @organisation = Organisation.find(params[:id]) + @organisation.banner_text = params["org_banner_text"] + @organisation.logo = params[:organisation][:logo] if params[:organisation][:logo] + assign_params = params[:organisation].dup + assign_params.delete(:logo) respond_to do |format| if @organisation.update_attributes(assign_params) diff --git a/app/models/organisation.rb b/app/models/organisation.rb index e30a5f9..190a8b7 100644 --- a/app/models/organisation.rb +++ b/app/models/organisation.rb @@ -31,8 +31,10 @@ :token_permission_type_ids, :language_id # allow validations for logo upload - dragonfly_accessor :logo - validates_property :height, of: :logo, in: (0..160) + dragonfly_accessor :logo do + after_assign :resize_image + end + validates_property :width, of: :logo, in: (0..160) validates_property :format, of: :logo, in: ['jpeg', 'png', 'gif','jpg','bmp'] validates_size_of :logo, maximum: 500.kilobytes @@ -181,4 +183,16 @@ end end end + + private + ## + # checks size of logo and resizes if necessary + # + def resize_image + unless logo.nil? + if logo.height != 160 && logo.width != 160 + self.logo = logo.thumb('160x') # resize width and maintain aspect ratio + end + end + end end diff --git a/config/locales/de.yml b/config/locales/de.yml index 8650c18..b02b379 100644 --- a/config/locales/de.yml +++ b/config/locales/de.yml @@ -108,8 +108,8 @@ org_name: "Name" org_abbr: "Abkürzung" org_logo_failed_message: "Logo Upload fehlgeschlagen." - org_logo: "Logo (160 x 160)" - new_org_logo: "Laden Sie ein neues Logo-Datei (160 x 160)" + org_logo: "Logo" + new_org_logo: "Laden Sie ein neues Logo-Datei" remove_logo: "Wenn Sie die Standard DMPRoadmap Logo verwenden entscheiden , prüfen Sie bitte dieses Feld Ihre aktuelle Logo zu entfernen." org_desc: "Beschreibung" org_target_url: "Web-Seite" diff --git a/config/locales/en-UK.yml b/config/locales/en-UK.yml index 0e94e1f..92afa49 100644 --- a/config/locales/en-UK.yml +++ b/config/locales/en-UK.yml @@ -150,8 +150,8 @@ org_name: "Name" org_abbr: "Abbreviation" org_logo_failed_message: "Logo Upload Failed." - org_logo: "Logo (160 x 160)" - new_org_logo: "Upload a new logo file (160 x 160)" + org_logo: "Logo" + new_org_logo: "Upload a new logo file" remove_logo: "If you decide to use the default DMPRoadmap logo, please check this box to remove your current logo." org_desc: "Description" org_banner_text: "Top banner text" diff --git a/config/locales/en-US.yml b/config/locales/en-US.yml index bc2182c..f6af71a 100644 --- a/config/locales/en-US.yml +++ b/config/locales/en-US.yml @@ -142,8 +142,8 @@ org_name: "Name" org_abbr: "Abbreviation" org_logo_failed_message: "Logo Upload Failed." - org_logo: "Logo (160 x 160)" - new_org_logo: "Upload a new logo file (160 x 160)" + org_logo: "Logo" + new_org_logo: "Upload a new logo file" remove_logo: "If you decide to use the default DMPRoadmap logo, please check this box to remove your current logo." org_desc: "Description" org_banner_text: "Top banner text" diff --git a/config/locales/fr.yml b/config/locales/fr.yml index ef30d5c..08c60f8 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -115,8 +115,8 @@ org_name: "Nom" org_abbr: "Abréviation" org_logo_failed_message: "Logo Échec de l'envoi." - org_logo: "Logo (160 x 160)" - new_org_logo: "Ajouter un nouveau fichier de logo (160 x 160)" + org_logo: "Logo" + new_org_logo: "Ajouter un nouveau fichier de logo" remove_logo: "Si vous décidez d'utiliser le logo de DMPRoadmap par défaut , s'il vous plaît cocher cette case pour supprimer votre logo actuel." org_desc: "Description" org_target_url: "Site Web"