Ejemplo n.º 1
0
 def interest(self,id=0):
     """
     User has selected to enter an email to be on waitinglist
     """
     
     log.debug(self.request.arguments)
     form = SignupForm(QueryDict(self.request.arguments))
     log.debug(form.data)
     if 'email' in self.request.arguments and form.validate():
         user = meta.DBSession.query(Person).filter_by(
                 email=self.get_argument("email").lower()).first()
         
         if user is None:
             new_email = form.email.data.lower()
             site = Site(name=new_email,email=new_email)
             site.save()
             user = Person(site_id=site.id,email=new_email,
                           displayname=new_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.ip = self.request.remote_ip 
             a.category = 'account'
             a.save()
             
             link = '%s/user/verify?unique=%s&node=%s&return_url=%s' %\
                 (options.base_url,
                     user.user_uniqueid,
                     user.id,
                     urllib.quote_plus('/user/viewh/%s' % (user.hashedemail)))
             json_dict = {
                 'emails':[user.email],
                 'template_name':'thank_you_for_registering_with_demisauce',
                 'template_data':{
                     'link':link,
                     'displayname':user.displayname,
                     'email':user.email,
                     'title':'welcome'
                 }
             }
             self.db.gearman_client.do_task(Task("email_send",json.dumps(json_dict), background=True))
             
         self.add_alert("Thank You!")
         self.redirect("/")
     
     return self.render('/user/signup.html',form=form)