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 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()