| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- class ContactController < ApplicationController
- def index
- @message = Message.new
- end
- def create
- # Validate message fields
- valid = true
- @errors = []
- # Name is irrelevant, don't vlaidate
- # Email has to LOOK like an email
- if !(request.POST["sender_email"].match(URI::MailTo::EMAIL_REGEXP))
- valid = false
- @errors.push("INVALID_EMAIL")
- end
- # Text needs to have something
- if request.POST["text"].length < 1
- valid = false
- @error.push("INVALID_TEXT")
- end
- # If valid, save and send the email
- if valid
- @message = Message.new()
- @message.user_id = @user.id
- @message.sender_name = request.POST["sender_name"]
- @message.sender_email = request.POST["sender_email"]
- @message.text = request.POST["text"]
- @message.dtime = Time.now
- @message.language = I18n.locale
- @message.ip = request.remote_ip
-
-
- if @message.save
- ApplicationMailer.message_email(@user, @message).deliver_later
- else
- print("Error saving message: \n")
- print(" FROM: " + request.POST["sender_name"] + "(" + request.POST["sender_email"] + ")\n")
- print(" TEXT: " + request.POST["text"] + ")\n")
- print(@message.errors.full_messages)
- print("\n")
- end
- respond_to do |format|
- format.json { render 'contact/success'}
- end
- # If invalid, return the error
- else
- respond_to do |format|
- format.json { render 'contact/error', status: 400}
- end
- end
- end
- end
|