def _send_notification(self, response, account): response.add_notification \ ( GTW.Notification ( _T ("Activation of account %s successful.") % (account.name, ) ) )
def add_notification (self, noti) : notifications = GTW.Notification_Collection (self.session) if notifications is not None : if not isinstance (noti, GTW.Notification) : noti = GTW.Notification (noti) notifications.append (noti) self.notifications_added += 1
def _response_body(self, resource, request, response): req_data = request.req_data top = resource.top self.errors = Errors() username = self.get_username(request, "username") self.get_account \ (resource, username, getattr (top, "DEBUG", False)) if not self.account and not self.errors: self.errors [None].append \ (_T ("Account could not be found")) if self.errors: response.errors = self.errors result = resource.GET ()._response_body \ (resource, request, response) return result else: Auth = top.scope.GTW.OMP.Auth account = self.account host = request.host next = request.referrer or "/" passwd, token = Auth.Account.reset_password(account) link = resource.parent.href_action(account, token, request) top.scope.commit() resource.send_email \ ( resource.email_template , email_to = username , email_subject = ( _T ("Password reset for user %s on website %s") % (username, host) ) , email_from = resource.email_from , new_password = passwd , link = link , NAV = top , page = resource , host = host ) response.add_notification \ ( GTW.Notification (_T ( "The reset password instructions have been " "sent to your email address %s." ) % (username, ) ) ) raise top.Status.See_Other(next)
def _send_notification(self, response, account): response.add_notification \ (GTW.Notification (_T ("The password has been changed."))) try: request = response._request self.send_email \ ( self.new_password_template , NAV = self.top , account_name = account.name , email_from = self.email_from , email_subject = _T \ ("Password change for account %s" % (account.name, )) , email_to = account.name , host = request.host , page = self , request = request ) except Exception as exc: logging.exception("Exception during Change-Password")
def __call__(self, resource, request, response): Status = resource.Status language = resource.language with TFL.I18N.context(language): next = request.req_data.get("next", request.referrer) choice = TFL.I18N.Config.choice if language.startswith(choice[0]): request.use_language(choice) response.set_cookie("language", language, max_age=1 << 31) response.add_notification \ ( GTW.Notification (_T (u"Language %s selected") % language) ) else: logging.error \ ( "%s: request for language %r; " "I18N.context returned %r" % (resource.abs_href, language, choice) ) raise Status.See_Other(next) raise Status.Not_Found()
def _response_body(self, resource, request, response): req_data = request.req_data top = resource.top HTTP_Status = top.Status ETM = top.account_manager account = ETM.pid_query(req_data["p"]) action = top.scope.GTW.OMP.Auth._Account_Token_Action_.query \ (account = account, token = req_data ["t"]).first () if action: try: description = action.description next = action.handle(resource) if description: response.add_notification \ ( GTW.Notification (" ".join (( _T (description), account.name))) ) raise HTTP_Status.See_Other(next) except GTW.OMP.Auth.Action_Expired: action.destroy() top.scope.commit() raise HTTP_Status.Not_Found()
def _response_body(self, resource, request, response): debug = getattr(resource.top, "DEBUG", False) req_data = request.req_data top = resource.top HTTP_Status = top.Status self.errors = Errors() old_email, _ = self._credentials_validation \ (resource, request, debug = debug) new_email = self.get_email(request) if not self.errors: account = self.account next = req_data.get("next", "/") host = request.host token = account.change_email_prepare(new_email) link = resource.parent.href_action \ (account, token, request) top.scope.commit() subject = \ (_T ( "Confirmation for change of email " "for account %s to %s for website %s" ) % (old_email, new_email, host) ) try: resource.send_email \ ( resource.new_email_template , NAV = top , email_from = resource.email_from , email_subject = subject , email_to = new_email , host = host , link = link , page = resource ) except Exception as exc: self.errors[None].append(str(exc)) else: response.add_notification \ ( GTW.Notification (_T ( "A confirmation email has been sent to " "the new email address %s." ) % (new_email, ) ) ) try: resource.send_email \ ( resource.old_email_template , NAV = top , email_from = resource.email_from , email_subject = subject , email_to = old_email , host = host , new_email = new_email , old_email = old_email , page = resource , request = request ) except Exception as exc: logging.exception("Exception during Change-Email") raise HTTP_Status.See_Other(next) response.errors = self.errors response.account = self.account result = resource.GET ()._response_body \ (resource, request, response) return result