Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## views/email_request/notification.rhtml
- A new request at tumblize.com was just posted!
- Here are the details of the request:
- Full Name: <% @request['name'] %>
- E-mail Address: <% @request['email'] %>
- Tumblog Name: <% @request['tumblrName'] %>
- "The Life Story": <% @request['inspiration'] %>
- Web Services:
- <% @request['webServices'].each{ |service, uri| %>
- #{service}: #{uri}
- <% } %>
- Selected Designer: <% @request['name'] %>
- <% @debugval %>
- ## app/controllers/request_handler_controller.rb
- class RequestHandlerController < ApplicationController
- def email
- @request = {
- 'name' => params["name"],
- 'email' => params["email"],
- 'tumblrName' => params["tumblrName"],
- 'inspiration' => params["inspiration"],
- 'designer' => params["designer"],
- 'webServices' => {
- 'flickr' => params["flickr"],
- 'lastfm' => params["lastfm"],
- 'facebook' => params["facebook"]}}
- EmailRequest.deliver_notification(@request, "debug")
- redirect_to SUCCESS_PAGE
- end
- require 'basecamp'
- def basecamp
- @requestor = Request.new(
- :name => params['name'],
- :email => params['email'],
- :email_confirmation => params['emailConfirm'],
- :tumblrName => params["tumblrName"],
- :inspiration => params["inspiration"],
- :designer => params["designer"],
- :webServices => params["webServices"],
- :webServicesSelections => params["webServicesSelections"]
- )
- if @requestor.valid?
- #push_to_api(@requestor)
- redirect_to SUCCESS_PAGE
- else
- redirect_to :back
- end
- end
- end
- ## app/models/email_request.rb
- class EmailRequest < ActionMailer::Base
- def notification(request, debugval)
- recipients "paul@metalabdesign.com"
- from "tumblizee@tumblize.com"
- subject "New Tumblize Request"
- body :request => request, :debugval => debugval
- content_type "text/html"
- end
- end
- ## app/models/request.rb
- class Request < ActiveForm
- # Only instance variables are necessary as we have no database
- attr_accessor :name, :email, :email_confirmation, :tumblrName, :inspiration, :designer, :webServices, :webServicesSelections
- # The following are required fields
- # validates_presence_of :name, :email, :email_confirmation, :tumblrName, :designer, :on => :create
- # A reasonable length name
- # validates_length_of :name, :within => 5..100, :too_short => "just a bit more detail, please", :too_long => "oops. tmi.", :on => :create
- # Email should match confirmation, and be an valid e-mail address
- # validates_format_of :email, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/, :message => "don't call us, we'll call you", :on => :create
- # validates_confirmation_of :email, :message => "inspect, please", :on => :create
- end
Add Comment
Please, Sign In to add comment