예제 #1
0
 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'
예제 #2
0
 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')