Sha256: b10f76a9e154429ca8fd3151756b7c8ba32d3ec1451bbf0903fe7f40e59fc4d5

Contents?: true

Size: 980 Bytes

Versions: 11

Compression:

Stored size: 980 Bytes

Contents

class EmailPagePortlet < Cms::Portlet

  description "Display a form that allows visitors to email the current page to a friend."

  def render
    pmap = flash[instance_name] || params
    @email_message = Cms::EmailMessage.new pmap[:email_message]
    @email_message.errors.add_from_hash flash["#{instance_name}_errors"]
    @email_page_portlet_url = pmap[:email_page_portlet_url] || request.url
  end


  #----- Handlers --------------------------------------------------------------
  def deliver
    message = Cms::EmailMessage.new(email_message_params())
    message.subject = self.subject
    message.body = "#{params[:email_page_portlet_url]}\n\n#{message.body}"
    message.sender = self.sender
    if message.save
      url_for_success
    else
      store_params_in_flash
      store_errors_in_flash(message.errors)
      url_for_failure
    end
  end

  def email_message_params
    params.require(:email_message).permit(Cms::EmailMessage.permitted_params)
  end

end

Version data entries

11 entries across 11 versions & 2 rubygems

Version Path
browsercms-artirix-4.0.4 app/portlets/email_page_portlet.rb
browsercms-artirix-4.0.3.3 app/portlets/email_page_portlet.rb
browsercms-artirix-4.0.3.2 app/portlets/email_page_portlet.rb
browsercms-artirix-4.0.3.1 app/portlets/email_page_portlet.rb
browsercms-artirix-4.0.3 app/portlets/email_page_portlet.rb
browsercms-artirix-4.0.2 app/portlets/email_page_portlet.rb
browsercms-artirix-4.0.1.1 app/portlets/email_page_portlet.rb
browsercms-artirix-4.0.0.rc1.art4 app/portlets/email_page_portlet.rb
browsercms-4.0.0.rc1 app/portlets/email_page_portlet.rb
browsercms-4.0.0.beta app/portlets/email_page_portlet.rb
browsercms-4.0.0.alpha app/portlets/email_page_portlet.rb