Exemplo n.º 1
0
 def signin_POST(self,id=0):
     log.info('made it to account signin_POST?' )
     if 'email' in self.request.arguments:
         user = meta.DBSession.query(Person).filter_by(
                     email=self.get_argument('email').lower()).first()
         
         if user is None:
             self.add_error("We were not able to verify that email\
                  or password, please try again")
         
         elif 'password' in self.request.arguments:
             if user.is_authenticated(self.get_argument('password')):
                 a = Activity(site_id=user.site_id,person_id=user.id,activity='Logging In')
                 #a.ref_url = 'comment url'
                 a.category = 'account'
                 a.ip = self.request.remote_ip 
                 a.save()
                 remember_me = False
                 if 'remember_me' in self.request.arguments:
                     remember_me = True
                 self.set_current_user(user,is_authenticated = True,remember_me=remember_me,islogon=True)
                 return self.redirect("/dashboard")
             else:
                 self.add_error("We were not able to verify that \
                     email or password, please try again")
         else:
             self.add_error("You did not submit a password, please try again.")
     else:
         self.add_error("You need to enter an email and password to signin.")
         
     self.render('/user/signin.html')
Exemplo n.º 2
0
 def inviteusers_POST(self,id=0):
     """
     admin is sending out a number of invites to users
     """
     raise Exception("not implemented")
     if 'emails' in self.request.arguments:
         emails = self.get_argument("emails")
         delay = 4
         from demisauce.lib import scheduler
         for email in emails.split(','):
             email = email.strip().lower()
             user = Person.by_email(self.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('/user/viewh/%s' % (user.hashedemail))
                 dnew = {}
                 dnew['link'] = '%s/user/verify?unique=%s&node=%s&return_url=%s' %\
                     (base_url(),user.user_uniqueid,user.id,url2)
                 dnew['from'] = self.user.displayname
                 a = Activity(site_id=user.site_id,person_id=user.id,activity='sending email invite')
                 a.ip = self.request.remote_ip 
                 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'
Exemplo n.º 3
0
 def get(self,site_slug='',format="json"):
     if not self.user and 'hashedemail' in self.request.arguments: 
         user = user.Person.by_hashedemail(str(self.get_argument('hashedemail')))
     elif self.user:
         user = self.user
     else:
         return
     
     if 'site_slug' in self.request.arguments:
         site_slug = str(self.get_argument('site_slug'))
     if 'activity' in self.request.arguments:
         activity_name = str(self.get_argument('activity'))
     
     a = Activity(site_id=user.site_id,person_id=user.id,activity=activity_name)
     a.ip = self.request.remote_ip 
     if 'ref_url' in self.request.arguments:
         a.ref_url = self.get_argument('ref_url')
     if 'category' in self.request.arguments:
         a.category = self.get_argument('category')
     if 'cnames' in self.request.arguments:
         names = [n for n in self.get_argument('cnames').split(',') if n != '']
         if len(names) > 0:
             a.custom1name = names[0]
             a.custom1val = request.params[names[0]]
         if len(names) > 1:
             a.custom2name = names[1]
             a.custom2val = request.params[names[1]]
     a.save()
Exemplo n.º 4
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)
Exemplo n.º 5
0
 def signin(self,id=0):
     log.info('made it to account signin?' )
     email = None
     if self.get_current_user():
         return self.redirect("/home/index")
     elif 'dsuserkey' in self.cookies:
         user = meta.DBSession.query(Person).filter_by(
                 user_uniqueid=self.get_cookie('dsuserkey').lower()).first()
         
         if user:
             a = Activity(site_id=user.site_id,person_id=user.id,activity='Logging In')
             #a.ref_url = 'comment url'
             a.category = 'account'
             a.ip = self.request.remote_ip 
             self.set_current_user(user)
             return self.redirect('/home/default')
     
     if 'email' in self.cookies:
         email = self.get_cookie('email').lower()
                         
     googleurl = google_auth_url('%s/user/usersettings' % options.base_url)
     self.render('/user/signin.html',google_auth_url=googleurl,email=email)