liquid_feedback_frontend

changeset 388:4795131441d9

Member method send_invitation now supports external template file
author bsw
date Mon Mar 05 17:40:50 2012 +0100 (2012-03-05)
parents e012250163ca
children d75ace4af616
files model/member.lua
line diff
     1.1 --- a/model/member.lua	Mon Mar 05 14:51:58 2012 +0100
     1.2 +++ b/model/member.lua	Mon Mar 05 17:40:50 2012 +0100
     1.3 @@ -328,24 +328,38 @@
     1.4      :add_where("activated NOTNULL AND active")
     1.5  end
     1.6  
     1.7 -function Member.object:send_invitation()
     1.8 +function Member.object:send_invitation(template_file, subject)
     1.9    trace.disable()
    1.10    self.invite_code = multirand.string( 24, "23456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" )
    1.11 -  local content = slot.use_temporary(function()
    1.12 -    slot.put(_"Hello\n\n")
    1.13 -    slot.put(_"You are invited to LiquidFeedback. To register please click the following link:\n\n")
    1.14 -    slot.put(request.get_absolute_baseurl() .. "index/register.html?invite=" .. self.invite_code .. "\n\n")
    1.15 -    slot.put(_"If this link is not working, please open following url in your web browser:\n\n")
    1.16 -    slot.put(request.get_absolute_baseurl() .. "index/register.html\n\n")
    1.17 -    slot.put(_"On that page please enter the invite key:\n\n")
    1.18 -    slot.put(self.invite_code .. "\n\n")
    1.19 -  end)
    1.20 +  self:save()
    1.21 +  
    1.22 +  local subject = subject
    1.23 +  local content
    1.24 +  
    1.25 +  if template_file then
    1.26 +    local fh = io.open(template_file, "r")
    1.27 +    content = fh:read("*a")
    1.28 +    content = (content:gsub("#{invite_code}", self.invite_code))
    1.29 +    print (content)
    1.30 +  else
    1.31 +    subject = config.mail_subject_prefix .. _"Invitation to LiquidFeedback"
    1.32 +    content = slot.use_temporary(function()
    1.33 +      slot.put(_"Hello\n\n")
    1.34 +      slot.put(_"You are invited to LiquidFeedback. To register please click the following link:\n\n")
    1.35 +      slot.put(request.get_absolute_baseurl() .. "index/register.html?invite=" .. self.invite_code .. "\n\n")
    1.36 +      slot.put(_"If this link is not working, please open following url in your web browser:\n\n")
    1.37 +      slot.put(request.get_absolute_baseurl() .. "index/register.html\n\n")
    1.38 +      slot.put(_"On that page please enter the invite key:\n\n")
    1.39 +      slot.put(self.invite_code .. "\n\n")
    1.40 +    end)
    1.41 +  end
    1.42 +
    1.43    local success = net.send_mail{
    1.44      envelope_from = config.mail_envelope_from,
    1.45      from          = config.mail_from,
    1.46      reply_to      = config.mail_reply_to,
    1.47      to            = self.notify_email_unconfirmed or self.notify_email,
    1.48 -    subject       = config.mail_subject_prefix .. _"Invitation to LiquidFeedback",
    1.49 +    subject       = subject,
    1.50      content_type  = "text/plain; charset=UTF-8",
    1.51      content       = content
    1.52    }

Impressum / About Us