def get_data(self, sessionKey, requestKey): return get_scalar_nc( 'main', """ select a.request_data from unique_requests as a where a.session_key = %(s)s and a.request_key = %(r)s """, { 's': sessionKey, 'r': requestKey }, 'request_data')
def user_has_draft_item(cls, id): s = SessionHelper() return get_scalar_nc( 'main', """ select exists (select 0 from draft_items where ref_user_account_id = %(i)s) as a """, { 'i': s.peek('user.account_id') }, 'a')
def username_in_use(self, username): return get_scalar_nc( 'main', """ select exists (select 0 from user_accounts where user_name like %(u)s) as e """, { 'u': username }, 'e')
def id_from_email(self, email): return get_scalar_nc( 'main', """ select a.user_account_id from user_accounts as a where a.email like %(e)s """, { 'e': email }, 'user_account_id')
def submit(self, oidIdentifier, email): s = SessionHelper() # See if the OpenID identifier or email are already in the database exists = get_scalar_nc( 'main', """ select exists (select 0 from openid_accounts where openid_identifier = %(i)s) as a """, { 'i': oidIdentifier }, 'a') if exists: raise cherrypy.HTTPError(400, 'OpenID identifier in use.') exists = get_scalar_nc( 'main', """ select exists (select 0 from user_accounts where email like %(e)s) as a """, { 'e': email }, 'a') message = self._create_email_exists_message(email, oidIdentifier) \ if exists \ else self._create_new_account_message(email, oidIdentifier) self._send_email( message=message, smtpServer=self._get_smtp_server(), email=email) r = cherrypy.request r.model['pageData']['userEmail'] = email env = r.app.jinjaEnv template = env.get_template( 'html/{0}/account/create/submit.html'.format( r.model['userSettings']['layout'])) return template.render(model=r.model)
def exists(self, sessionKey, requestKey, value): return get_scalar_nc( 'main', """ select exists (select 0 from unique_requests where session_key = %(s)s and request_key = %(r)s and request_value = %(v)s) as a """, { 's': sessionKey, 'r': requestKey, 'v': value }, 'a')