Example #1
0
 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')
Example #2
0
 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')
Example #3
0
 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')
     
Example #4
0
 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')
Example #5
0
 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)
Example #6
0
 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')