module FoodsoftMessages
  module UserLink
    def self.included(base) # :nodoc:
      base.class_eval do
        # modify user presentation link to writing a message for the user
        def show_user_link(user = @current_user)
          if user.nil? || !FoodsoftMessages.enabled?
            show_user user
          else
            link_to show_user(user), new_message_path('message[mail_to]' => user.id),
                    :title => I18n.t('helpers.messages.write_message')
          end
        end
      end
    end
  end
end

# modify existing helper
ActiveSupport.on_load(:after_initialize) do
  ApplicationHelper.send :include, FoodsoftMessages::UserLink
end