diff --git a/app/assets/javascripts/profile.js.coffee b/app/assets/javascripts/profile.js.coffee index 01def4fe63e7ab2bffee02e2893a2584475181d2..d13c6007819847b080e9be15d624ba2cd28c35cb 100644 --- a/app/assets/javascripts/profile.js.coffee +++ b/app/assets/javascripts/profile.js.coffee @@ -31,7 +31,6 @@ class @Profile setTimeout ( -> # The cropper must be asynchronously initialized $modalCropImg.cropper aspectRatio: 1 - autoCropArea: 1 modal: false scalable: false rotatable: false diff --git a/app/uploaders/avatar_uploader.rb b/app/uploaders/avatar_uploader.rb index 239c99e06dc7136ce4903eb6f42587175491de6b..60ee80cf0024e0b4201c028ce92fd8309f0333cd 100644 --- a/app/uploaders/avatar_uploader.rb +++ b/app/uploaders/avatar_uploader.rb @@ -10,8 +10,15 @@ class AvatarUploader < CarrierWave::Uploader::Base process :cropper + def is_integer? string + true if Integer(string) rescue false + end + def cropper - if model.instance_of? User + is_compliant = model.kind_of?(User) && is_integer?(model.avatar_crop_size) + is_compliant = is_compliant && is_integer?(model.avatar_crop_x) && is_integer?(model.avatar_crop_y) + + if is_compliant manipulate! do |img| img.crop "#{model.avatar_crop_size}x#{model.avatar_crop_size}+#{model.avatar_crop_x}+#{model.avatar_crop_y}" end