def register(self): if not Validate.bool(self.settings('allow_local_registration','false')): return HTTPFound(location=route_url('menu', self.request)) self.response['email'] = '' if 'form.submitted' in self.request.params: self.response['email'] = Validate.sanatize(self.request.params['email']) password = Validate.sanatize(self.request.params['password']) repassword = Validate.sanatize(self.request.params['re.password']) if Users.by({'email':self.response['email']}).first(): self.response['message'] = "Email already in use" return self.template('register.pt') if not Validate.email(self.response['email']): self.response['message'] = "Not a valid email address" return self.template('register.pt') if not Validate.password(password): self.response['message'] = "Improper password." return self.template('register.pt') if repassword != password: self.response['message'] = "Passwords do not match." return self.template('register.pt') # Below is good Users.registerLocalUser(self.response['email'], password) return HTTPFound(location=route_url('login', self.request)) return self.template('register.pt')
def email(self): id = self.request.matchdict['id'] test = Tests.by({'id':id,'alias':self.request.user.alias}).first() if not test: raise HTTPForbidden() file = self._generate_pdf(id) self.response['id'] = id self.response['emails'] = self.request.params.get('email.addresses',None) if 'form.submitted' in self.request.params: if self.request.params['email.ok'] == '1': emails = self.request.params['email.addresses'].replace(' ','').split(',') for email in emails: if not Validate.email(email): self.notify('Invalid email address',warn=True) return self.template('email.pt') try: message = Message(subject=self._email_fmt(id, str(Properties.get('MAILER_TO_SUBJECT','Submission'))), sender=str(Properties.get('MAILER_GLOBAL_FROM_ADDRESS','System')), recipients=emails, body=self._email_fmt(id, str(Properties.get('MAILER_BODY','Submission')))) attachment = Attachment('submission_' + str(id) + '.pdf', 'application/pdf', file) message.attach(attachment) mailer = get_mailer(self.request) mailer.send(message) self.notify('Email sent!') except Exception as e: print "ERROR: " + str(e) self.notify('Unable to send email!',warn=True) else: self.notify('Unable to send example email!',warn=True) return self.template('email.pt')
def register(self): if not Validate.bool(self.settings("allow_local_registration", "false")): return HTTPFound(location=route_url("menu", self.request)) self.response["email"] = "" if "form.submitted" in self.request.params: self.response["email"] = Validate.sanatize(self.request.params["email"]) password = Validate.sanatize(self.request.params["password"]) repassword = Validate.sanatize(self.request.params["re.password"]) if Users.by({"email": self.response["email"]}).first(): self.notify("Email already in use!", warn=True) return self.template("register.pt") if not Validate.email(self.response["email"]): self.notify("Not a valid email address!", warn=True) return self.template("register.pt") if not Validate.password(password): self.notify("Improper password!", warn=True) return self.template("register.pt") if repassword != password: self.notify("Passwords do not match!", warn=True) return self.template("register.pt") # Below is good Users.registerLocalUser(self.response["email"], password) return HTTPFound(location=route_url("login", self.request)) return self.template("register.pt")