def inviteusers_POST(self): """ admin is sending out a number of invites to users """ if 'emails' in request.POST: emails = request.POST['emails'] delay = 4 from demisauce.lib import scheduler for email in emails.split(','): email = email.strip().lower() user = Person.by_email(c.user.site_id,email) if user is None: user = Person(site_id=c.site_id,email=email, displayname=email) user.save() #send emails url2 = urllib.quote_plus('/account/viewh/%s' % (user.hashedemail)) dnew = {} dnew['link'] = '%s/account/verify?unique=%s&node=%s&return_url=%s' %\ (base_url(),user.user_uniqueid,user.id,url2) dnew['from'] = c.user.displayname a = Activity(site_id=user.site_id,person_id=user.id,activity='sending email invite') a.ref_url = 'account admin invite' a.category = 'account' a.save() scheduler.add_interval_task(send_emails,0,('invitation_to_demisauce',[user.email],dnew) , initialdelay=delay) delay += 3 return 'from form %s' % emails return 'error'
def interest(self): """ User has selected to enter an email to be on waitinglist """ if 'email' in request.POST: user = meta.DBSession.query(Person).filter_by( email=request.POST['email'].lower()).first() if user is None: site = Site(name=self.form_result['email'],email=self.form_result['email']) site.save() user = Person(site_id=site.id,email=self.form_result['email'], displayname=self.form_result['email']) user.slug = user.hashedemail user.save() a = Activity(site_id=user.site_id,person_id=user.id,activity='Signup Interest Form') #a.ref_url = 'comment url' a.category = 'account' a.save() #TODO: refactor/extract email send to trigger event api #send emails url2 = urllib.quote_plus('/account/viewh/%s' % (user.hashedemail)) delay = 4 from demisauce.lib import scheduler dnew = {} dnew['link'] = '%s/account/verify?unique=%s&node=%s&return_url=%s' %\ (c.base_url,user.user_uniqueid,user.id,url2) dnew['displayname'] = user.displayname dnew['email'] = user.email dnew['title'] = 'welcome' scheduler.add_interval_task(send_emails,0,('thank_you_for_registering_with_demisauce', [user.email],dnew) , initialdelay=delay) if 'demisauce.admin' in config: scheduler.add_interval_task(send_emails,0,('a-new-user-has-registered', [config['demisauce.admin']],dnew) , initialdelay=8) h.add_alert("Thank You!") return redirect_wsave(controller='home',action='index') else: h.add_error("You need to enter an email.") return render('/account/signup.html')