コード例 #1
0
ファイル: movuca.py プロジェクト: goldenboy/Movuca
 def __init__(self, db):
     self.db = db
     self.hmac_key = Auth.get_or_create_key()
     Auth.__init__(self, self.db, hmac_key=self.hmac_key)
     #self.settings.logout_onlogout = lambda user: remove_session(user)
     #self.settings.register_onaccept = lambda form: add_to_users_group(form)
     self.settings.controller = 'person'
     self.settings.on_failed_authorization = self.url('account', args='not_authorized')
     self.settings.formstyle = 'divs'
     self.settings.label_separator = ''
     self.settings.register_next = self.url('show')
     self.settings.registration_requires_verification = self.db.config.auth.registration_requires_verification
     self.settings.registration_requires_approval = self.db.config.auth.registration_requires_approval
     if 'register' in self.db.request.args and self.db.config.auth.use_recaptcha:
         from gluon.tools import Recaptcha
         recaptcha_options = dict(self.db.config.get_list('auth', 'recaptcha'))
         self.settings.captcha = Recaptcha(self.db.request,
                                 recaptcha_options['public'],
                                 recaptcha_options['private'],
                                 options="theme:'%(theme)s', lang:'%(lang)s'" % recaptcha_options)
     from datamodel.user import User
     user = User(self)
     self.entity = user.entity
     if self.db.config.auth.server == 'default':
         self.settings.mailer = Mailer(self.db)
     else:
         self.settings.mailer.server = self.db.config.auth.server
         self.settings.mailer.sender = self.db.config.auth.sender
         self.settings.mailer.login = self.db.config.auth.login
コード例 #2
0
ファイル: test_sqlhtml.py プロジェクト: kjkuan/web2py
class TestSQLTABLE(unittest.TestCase):
    def setUp(self):
        request = Request(env={})
        request.application = 'a'
        request.controller = 'c'
        request.function = 'f'
        request.folder = 'applications/admin'
        response = Response()
        session = Session()
        T = translator('', 'en')
        session.connect(request, response)
        from gluon.globals import current
        current.request = request
        current.response = response
        current.session = session
        current.T = T
        self.db = DAL(DEFAULT_URI, check_reserved=['all'])
        self.auth = Auth(self.db)
        self.auth.define_tables(username=True, signature=False)
        self.db.define_table('t0', Field('tt'), self.auth.signature)
        self.auth.enable_record_versioning(self.db)
        # Create a user
        self.db.auth_user.insert(first_name='Bart',
                                 last_name='Simpson',
                                 username='******',
                                 email='*****@*****.**',
                                 password='******',
                                 registration_key=None,
                                 registration_id=None)

        self.db.commit()
コード例 #3
0
class TestSQLTABLE(unittest.TestCase):
    def setUp(self):
        request = Request(env={})
        request.application = "a"
        request.controller = "c"
        request.function = "f"
        request.folder = "applications/admin"
        response = Response()
        session = Session()
        T = translator("", "en")
        session.connect(request, response)
        from gluon.globals import current

        current.request = request
        current.response = response
        current.session = session
        current.T = T
        self.db = DAL(DEFAULT_URI, check_reserved=["all"])
        self.auth = Auth(self.db)
        self.auth.define_tables(username=True, signature=False)
        self.db.define_table("t0", Field("tt"), self.auth.signature)
        self.auth.enable_record_versioning(self.db)
        # Create a user
        self.db.auth_user.insert(
            first_name="Bart",
            last_name="Simpson",
            username="******",
            email="*****@*****.**",
            password="******",
            registration_key=None,
            registration_id=None,
        )

        self.db.commit()
コード例 #4
0
ファイル: tools.py プロジェクト: goldenboy/shared
    def _auth(self):
        """Create a auth instance. """

        auth = Auth(self.environment, self.db)  # authentication/authorization
        auth.settings.hmac_key = self.local_settings.hmac_key
        auth.define_tables()                    # creates all needed tables
        if self.settings_loader:
            self.settings_loader.import_settings(group='auth',
                    storage=auth.settings)
        auth.settings.mailer = self.mail
        auth.settings.verify_email_onaccept = self.verify_email_onaccept
        host = ''
        request = self.environment['request']
        if 'wsgi' in request.keys():
            if 'environ' in request['wsgi'].keys():
                host = request['wsgi']['environ']['HTTP_HOST']
        elif 'env' in request.keys():
            host = request.env.http_post
        else:
            LOG.warn("No host for verify_email and reset_password links")
        auth.messages.verify_email = 'Click on the link http://' + host \
            + '/' + request.application \
            + '/default/user/verify_email/%(key)s to verify your email'
        auth.messages.reset_password = '******' + host \
            + '/' + request.application \
            + '/default/user/reset_password/%(key)s to reset your password'
        auth.signature = self.db.Table(self.db, 'auth_signature',
                              Field('created_on', 'datetime',
                                    default=request.now,
                                    writable=False, readable=False),
                              Field('updated_on', 'datetime',
                                    default=request.now, update=request.now,
                                    writable=False, readable=False))
        return auth
コード例 #5
0
ファイル: movuca.py プロジェクト: timmie/Movuca
    def __init__(self, db):
        self.db = db
        self.hmac_key = Auth.get_or_create_key()
        Auth.__init__(self, self.db, hmac_key=self.hmac_key)
        #self.settings.logout_onlogout = lambda user: self.remove_session(user)
        #self.settings.register_onaccept = lambda form: add_to_users_group(form)
        self.settings.register_onaccept = [lambda form: self.send_welcome_email(form.vars),
                                           lambda form: self.initial_user_permission(form.vars)]
        #self.settings.login_onaccept = [lambda form: self.initial_user_permission(form.vars)]
        #self.settings.profile_onvalidation = []
        self.settings.profile_onaccept = [lambda form: self.remove_facebook_google_alert(form)]  # remove facebook / google alert session
        #self.settings.change_password_onaccept = [] # send alert email
        self.settings.controller = 'person'
        self.settings.allow_basic_login = True
        self.settings.register_verify_password = True
        self.settings.login_url = self.url('account', args='login')
        self.settings.verify_email_next = self.url('account', args='login')
        self.settings.logged_url = self.url('account', args='profile')
        self.settings.login_next = self.db.CURL('person', 'show')
        self.settings.register_next = self.db.CURL('person', 'show')
        self.settings.profile_next = self.db.CURL('person', 'account', args='profile')
        self.settings.retrieve_username_next = self.url('account', args='login')
        self.settings.retrieve_password_next = self.url('account', args='login')
        self.settings.request_reset_password_next = self.url('account', args='login')
        self.settings.reset_password_next = self.url('account', args='login')
        self.settings.change_password_next = self.db.CURL('person', 'show')

        self.messages.verify_email = \
            'Click on the link http://' + self.db.request.env.http_host + \
            self.db.CURL('person', 'account', args=['verify_email']) + \
            '/%(key)s to verify your email'

        self.messages.reset_password = \
            'Click on the link http://' + self.db.request.env.http_host + \
            self.db.CURL('person', 'account', args=['reset_password']) + \
            '/%(key)s to reset your password'

        self.settings.on_failed_authorization = self.url('account', args='not_authorized')
        self.settings.formstyle = 'divs'
        self.settings.label_separator = ''
        self.settings.register_next = self.url('show')
        self.settings.registration_requires_verification = self.db.config.auth.registration_requires_verification
        self.settings.registration_requires_approval = self.db.config.auth.registration_requires_approval
        if 'register' in self.db.request.args and self.db.config.auth.use_recaptcha:
            from gluon.tools import Recaptcha
            recaptcha_options = dict(self.db.config.get_list('auth', 'recaptcha'))
            self.settings.captcha = Recaptcha(self.db.request,
                                    recaptcha_options['public'],
                                    recaptcha_options['private'],
                                    options="theme:'%(theme)s', lang:'%(lang)s'" % recaptcha_options)
        from datamodel.user import User
        user = User(self)
        self.entity = user.entity
        if self.db.config.auth.server == 'default':
            self.settings.mailer = Mailer(self.db)
        else:
            self.settings.mailer.server = self.db.config.auth.server
            self.settings.mailer.sender = self.db.config.auth.sender
            self.settings.mailer.login = self.db.config.auth.login
コード例 #6
0
ファイル: default.py プロジェクト: arturocuma/general_ledger
def login():
    from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
    auth = Auth(db_maestro)
    ## configure email
    mail = auth.settings.mailer
    mail.settings.server = 'smtp.gmail.com:587'
    mail.settings.sender = '*****@*****.**'
    mail.settings.login = '******'
    form = auth.login()
    return dict(form=form, formReset = auth.retrieve_password())
コード例 #7
0
ファイル: boilerplate.py プロジェクト: mycguo/instantpress
    def init_auth(self):
        """ Auth """

        request = current.request
        settings = self.app_settings

        auth = Auth(self.db)
        self.auth = auth
        auth.settings.hmac_key = settings.security_key  # before define_tables()

        #If I use janrain to login, disable register.
        if settings.register_method in ['Disabled', 'Janrain']:
            # disable register
            auth.settings.actions_disabled.append('register')

        # If I use Recaptcha to register.
        if settings.register_method in ['Recaptcha']:
            auth.settings.captcha = Recaptcha(request,
                                                settings.recaptcha_public_key,
                                                settings.recaptcha_private_key)

        self.auth_def()  # the auth definition

        # creates all needed tables
        auth.define_tables(username=True, migrate=settings.migrate)
        auth.settings.mailer = self.mail  # for user email verification

        if settings.register_method in ['None', 'Recaptcha', 'Approval']:
            auth.settings.registration_requires_verification = False
        else:
            auth.settings.registration_requires_verification = True

        if settings.register_method in ['Approval']:
            auth.settings.registration_requires_approval = True
        else:
            auth.settings.registration_requires_approval = False

        auth.settings.reset_password_requires_verification = True

        if settings.register_method in ['Janrain']:
            base_http = 'http://' + str(request.env.http_host)
            auth.settings.actions_disabled = ['register',
                                              'change_password',
                                              'request_reset_password']
            auth.settings.login_form = RPXAccount(request,
                                            api_key=settings.janrain_api_key,
                                            domain=settings.janrain_domain,
                                            url=base_http + \
                                            '/%s/default/user/login' % \
                                            request.application)

        auth.messages.verify_email = settings.verify_email
        auth.messages.reset_password = settings.reset_password

        return auth
コード例 #8
0
ファイル: setConst.py プロジェクト: orfeopy/orfeopy
 def __init__(self, file, globals, db, mail):
     ''' Inicio de variables globales
         que pertenecen al framework'''
         
     Auth.__init__(self, globals, db)
     datos           = ConvertXmlToDict(file)
     self.config     = datos.config_var
     self.globals    = globals
     self.db   		= db
     self.mail 		= mail
     self.setMessa()
コード例 #9
0
ファイル: myapp.py プロジェクト: k1-Matsu/web2py-appliances
    def __init__(self, db):
        self.db = db
        self.hmac_key = Auth.get_or_create_key()
        Auth.__init__(self, self.db, hmac_key=self.hmac_key)
        user = User(self)
        self.entity = user.entity

        # READ AUTH CONFIGURATION FROM CONFIG
        self.settings.formstyle = self.db.config.auth.formstyle
        if self.db.config.auth.server == "default":
            self.settings.mailer = Mailer(self.db.config)
        else:
            self.settings.mailer.server = self.db.config.auth.server
            self.settings.mailer.sender = self.db.config.auth.sender
            self.settings.mailer.login = self.db.config.auth.login
コード例 #10
0
ファイル: s3tools.py プロジェクト: Koperj/SahanaEden
    def __init__(self, environment, deployment_settings, db=None):

        """ Initialise parent class & make any necessary modifications """

        Auth.__init__(self, environment, db)

        self.deployment_settings = deployment_settings
        self.session = self.environment.session

        self.settings.lock_keys = False
        self.settings.username_field = False
        self.settings.lock_keys = True
        self.messages.lock_keys = False
        self.messages.email_sent = 'Verification Email sent - please check your email to validate. If you do not receive this email please check you junk email or spam filters'
        self.messages.email_verified = 'Email verified - you can now login'
        self.messages.registration_disabled = "Registration Disabled!"
        self.messages.lock_keys = True
コード例 #11
0
ファイル: nas.py プロジェクト: tazjel/nerva2py
class AdminUiConnect(object):
  
  def __init__(self, ui):
    self.ui = ui
  
  def auth_ini(self, controller,use_username=True,reset_password=False,register=False):
    self.auth = Auth(self.ui.db, controller=controller, function="login")
    self.auth.settings.extra_fields[self.auth.settings.table_user_name]= [
      Field('agree','boolean', default=True,
        label='I agree to the Terms and Conditions',
        requires=IS_NOT_EMPTY(error_message='You must agree this!'))
    ]
    self.auth.define_tables(username=use_username, migrate=False, fake_migrate=False)
    self.auth.settings.remember_me_form = False
    self.auth.settings.reset_password_requires_verification = True
    if not reset_password:
      self.auth.settings.actions_disabled.append('request_reset_password')
    if not register:
      self.auth.settings.actions_disabled.append('register')
    self.auth.settings.register_next = URL('index',**{'user_signature': True})
    self.auth.settings.change_password_next = URL('index',**{'user_signature': True})
    self.auth.settings.formstyle = 'table3cols'
    self.auth.settings.allow_basic_login=True
    self.auth.settings.login_onaccept.append(self.login_onaccept)
    return self.auth
  
  def check_alias(self,alias):
    import re
    return re.sub(r'[^a-zA-Z0-9_]','', alias)
  
  def delete_data(self, table, ref_id=None, log_enabled=True):
    try:
      if self.ui.db[table].has_key("deleted"):
        self.ui.db(self.ui.db[table]["id"]==ref_id).update(**{"deleted":True})
      else:
        self.ui.db(self.ui.db[table].id==ref_id).delete()
      if log_enabled and self.ui.db.has_key("auth_event"):
        values={"time_stamp":self.ui.request.now, "client_ip":self.ui.request.client,
                "user_id":self.ui.session.auth.user.id, "origin":self.auth.settings.controller, 
                "description":"User "+str(self.ui.session.auth.user.id)+" deleted ("+str(table)+")"}
        self.ui.db.auth_event.insert(**values)
      self.ui.db.commit()
      return True
    except Exception, err:
      self.error_message = str(err)
      return False
コード例 #12
0
ファイル: customAuth.py プロジェクト: troverman/deliveryfor
 def __init__(self, environment, p, db=None, migrate=True):
     Auth.__init__(self, environment, db)
     global T
     T = p
     self.messages.invalid_login = T("We're sorry. " + \
         "The email or password you entered didn't match our records.  " + \
         "Please try again.")
     self.messages.lock_keys = False
     self.messages.disabled_login = T('Sorry. Your account has been disabled. Please contact support.')
     self.messages.lock_keys = True
     self.settings.table_user = db.define_table(
         self.settings.table_user_name,
         db.Field('first_name', length=128,default=''),
         db.Field('last_name', length=128,default=''),
         db.Field('email', length=128,default='',unique=True),
         db.Field('twitter_id', length=128,default=None,unique=True),
         db.Field('facebook_id', length=128,default=None,unique=True),
         db.Field('password', 'password', readable=False),
         db.Field('marketing', 'boolean', default=False),
         db.Field('zipcode', 'integer'),
         db.Field('birthday', 'date'),
         db.Field('registration_key', length=128, writable=False,
                  readable=False,default=''),
         migrate=migrate)
     table = self.settings.table_user
     table.first_name.requires = IS_NOT_EMPTY()
     table.last_name.requires = IS_NOT_EMPTY()
     table.password.requires = [IS_LENGTH(minsize=6,
                                 error_message="We're sorry.  Please " + \
                                 "enter a password with at least six " + \
                                 "characters."),
                                CRYPT()]
     table.email.requires = [IS_EMAIL(error_message=T("Please enter a valid email address.")),
                          IS_NOT_IN_DB(db, '%s.email'
                          % self.settings.table_user._tablename,
                          error_message=T("We're sorry. " + \
                          "That email address already exists in our system. " + \
                          "Please login or choose another email address."))]
     table.zipcode.requires = IS_NULL_OR(IS_INT_IN_RANGE(1, 99999,
                                              error_message=T("Invalid Zip Code")))
     table.birthday.requires=IS_NULL_OR(IS_DATE(format=T('%Y-%m-%d'),
                                     error_message=T('must be YYYY-MM-DD!')))
     table.registration_key.default = ''
コード例 #13
0
ファイル: test_appadmin.py プロジェクト: leonelcamara/web2py
 def setUp(self):
     from gluon.globals import Request, Response, Session, current
     from gluon.html import A, DIV, FORM, MENU, TABLE, TR, INPUT, URL, XML
     from gluon.html import ASSIGNJS
     from gluon.validators import IS_NOT_EMPTY
     from gluon.compileapp import LOAD
     from gluon.http import HTTP, redirect
     from gluon.tools import Auth
     from gluon.sql import SQLDB
     from gluon.sqlhtml import SQLTABLE, SQLFORM
     self.original_check_credentials = fileutils.check_credentials
     fileutils.check_credentials = fake_check_credentials
     request = Request(env={})
     request.application = 'welcome'
     request.controller = 'appadmin'
     request.function = self._testMethodName.split('_')[1]
     request.folder = 'applications/welcome'
     request.env.http_host = '127.0.0.1:8000'
     request.env.remote_addr = '127.0.0.1'
     response = Response()
     session = Session()
     T = TranslatorFactory('', 'en')
     session.connect(request, response)
     current.request = request
     current.response = response
     current.session = session
     current.T = T
     db = DAL(DEFAULT_URI, check_reserved=['all'])
     auth = Auth(db)
     auth.define_tables(username=True, signature=False)
     db.define_table('t0', Field('tt'), auth.signature)
     # Create a user
     db.auth_user.insert(first_name='Bart',
                         last_name='Simpson',
                         username='******',
                         email='*****@*****.**',
                         password='******',
                         registration_key=None,
                         registration_id=None)
     self.env = locals()
コード例 #14
0
    def setUp(self):
        global request, session, auth
        request = Request(globals())  # Use a clean Request object
        request.application = 'runestone'
        session = Session()
        auth = Auth(db, hmac_key=Auth.get_or_create_key())
        # bring in the ajax controllers
        exec(compile(open("applications/runestone/controllers/ajax.py").read(), "applications/runestone/controllers/ajax.py", 'exec'), globals())

        # Create a default user and course.
        self.course_name_1 = 'test_course_1'
        self.course_id_1 = self.createCourse(self.course_name_1)
        self.user_name_1 = 'test_user_1'
        self.user_id_1 = self.createUser(self.user_name_1, self.course_id_1)
コード例 #15
0
class TestSQLTABLE(unittest.TestCase):
    def setUp(self):
        request = Request(env={})
        request.application = 'a'
        request.controller = 'c'
        request.function = 'f'
        request.folder = 'applications/admin'
        response = Response()
        session = Session()
        T = translator('', 'en')
        session.connect(request, response)
        from gluon.globals import current
        current.request = request
        current.response = response
        current.session = session
        current.T = T
        self.db = DAL(DEFAULT_URI, check_reserved=['all'])
        self.auth = Auth(self.db)
        self.auth.define_tables(username=True, signature=False)
        self.db.define_table('t0', Field('tt'), self.auth.signature)
        self.auth.enable_record_versioning(self.db)
        # Create a user
        self.db.auth_user.insert(first_name='Bart',
                                 last_name='Simpson',
                                 username='******',
                                 email='*****@*****.**',
                                 password='******',
                                 registration_key=None,
                                 registration_id=None)

        self.db.commit()

    def test_SQLTABLE(self):
        rows = self.db(self.db.auth_user.id > 0).select(self.db.auth_user.ALL)
        sqltable = SQLTABLE(rows)
        self.assertEqual(sqltable.xml(), b'<table><thead><tr><th>auth_user.id</th><th>auth_user.first_name</th><th>auth_user.last_name</th><th>auth_user.email</th><th>auth_user.username</th><th>auth_user.password</th><th>auth_user.registration_key</th><th>auth_user.reset_password_key</th><th>auth_user.registration_id</th></tr></thead><tbody><tr class="w2p_odd odd"><td>1</td><td>Bart</td><td>Simpson</td><td>[email protected]</td><td>user1</td><td>password_123</td><td>None</td><td></td><td>None</td></tr></tbody></table>')
コード例 #16
0
ファイル: nas.py プロジェクト: tazjel/nerva2py
 def auth_ini(self, controller,use_username=True,reset_password=False,register=False):
   self.auth = Auth(self.ui.db, controller=controller, function="login")
   self.auth.settings.extra_fields[self.auth.settings.table_user_name]= [
     Field('agree','boolean', default=True,
       label='I agree to the Terms and Conditions',
       requires=IS_NOT_EMPTY(error_message='You must agree this!'))
   ]
   self.auth.define_tables(username=use_username, migrate=False, fake_migrate=False)
   self.auth.settings.remember_me_form = False
   self.auth.settings.reset_password_requires_verification = True
   if not reset_password:
     self.auth.settings.actions_disabled.append('request_reset_password')
   if not register:
     self.auth.settings.actions_disabled.append('register')
   self.auth.settings.register_next = URL('index',**{'user_signature': True})
   self.auth.settings.change_password_next = URL('index',**{'user_signature': True})
   self.auth.settings.formstyle = 'table3cols'
   self.auth.settings.allow_basic_login=True
   self.auth.settings.login_onaccept.append(self.login_onaccept)
   return self.auth
コード例 #17
0
ファイル: db.py プロジェクト: timmytimj/Kvasir
if request.env.web2py_runtime_gae:  # if running on Google App Engine
    db = DAL('gae')  # connect to Google BigTable
    session.connect(request, response,
                    db=db)  # and store sessions and tickets there
    ### or use the following lines to store sessions in Memcache
    # from gluon.contrib.memdb import MEMDB
    # from google.appengine.api.memcache import Client
    # session.connect(request, response, db = MEMDB(Client()))
else:  # else use a normal relational database
    db = DAL(settings.database_uri,
             check_reserved=['all'],
             lazy_tables=lazy_tables,
             pool_size=pool_size)

auth = Auth(db)  # authentication/authorization
crud = Crud(db)  # for CRUD helpers using auth
service = Service()  # for json, xml, jsonrpc, xmlrpc, amfrpc
plugins = PluginManager()
#db._common_fields.append(auth.signature)

auth.settings.hmac_key = settings.kvasir_config.get(
    'security_key')  # before define_tables()
auth.settings.actions_disabled = [
    'register', 'request_reset_password', 'retrieve_username'
]
auth.settings.allow_basic_login = True
#crud.settings.auth = auth                      # =auth to enforce authorization on crud
current.auth = auth

response.generic_patterns = ['*.load', '*.json', '*.xml', '*.html', '*.csv']
コード例 #18
0
ファイル: db.py プロジェクト: roshambo/online-dnd
db = DAL("sqlite://storage.sqlite")

from gluon.tools import Auth

auth = Auth(db)
auth.define_tables(username=True)

auth.define_tables(username=False, signature=False)

auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
auth.settings.reset_password_requires_verification = True

db.define_table("chat", Field("me_from"), Field("me_body", "text"), Field("me_html", "text"))

db.define_table(
    "image",
    Field("x", default=10),
    Field("y", default=10),
    Field("title", default="Enter Username!"),
    # Field('player_id', 'reference auth_user', default=auth.user_id),
    format="%(title)s",
)

db.define_table(
    "charCore",
    Field("title", default="Enter Username!"),
    Field("pname"),
    Field("cname"),
    Field("STR", "integer", default=0),
    Field("DEX", "integer", default=0),
コード例 #19
0
ファイル: db.py プロジェクト: simrankedia/RX-GUIDE
## (optional) optimize handling of static files
# response.optimize_css = 'concat,minify,inline'
# response.optimize_js = 'concat,minify,inline'

#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db, csrf_prevention=False)
crud, service, plugins = Crud(db), Service(), PluginManager()

## create all tables needed by auth if not custom tables
auth.define_tables(username=False, signature=False)

## configure email
mail = auth.settings.mailer
mail.settings.server = 'logging' or 'smtp.gmail.com:587'
mail.settings.sender = '*****@*****.**'
mail.settings.login = '******'

## configure auth policy
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
auth.settings.reset_password_requires_verification = True
コード例 #20
0
ファイル: 01_config.py プロジェクト: amaurirg/Web2Py
## (optional) static assets folder versioning
# response.static_version = '0.0.0'
#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Crud, Service, PluginManager, Mail, datetime, prettydate

crud = Crud(db)
auth = Auth(db, hmac_key=Auth.get_or_create_key())
service = Service()
plugins = PluginManager()

## create all tables needed by auth if not custom tables
auth.define_tables(username=True, signature=True)
#auth.settings.create_user_groups=False

# all we need is login
auth.settings.actions_disabled = [
    'register', 'change_password', 'request_reset_password',
    'retrieve_username', 'profile'
]

# you don't have to remember me
auth.settings.remember_me_form = False
コード例 #21
0
ファイル: db.py プロジェクト: systemslab/popperci
# response.static_version = '0.0.0'

# -------------------------------------------------------------------------
# Here is sample code if you need for
# - email capabilities
# - authentication (registration, login, logout, ... )
# - authorization (role based authorization)
# - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
# - old style crud actions
# (more options discussed in gluon/tools.py)
# -------------------------------------------------------------------------

from gluon.tools import Auth, Service, PluginManager

# host names must be a list of allowed host names (glob syntax allowed)
auth = Auth(db, host_names=myconf.get('host.names'))
service = Service()
plugins = PluginManager()

# -------------------------------------------------------------------------
# create all tables needed by auth if not custom tables
# -------------------------------------------------------------------------
auth.define_tables(username=True, signature=False)

# -------------------------------------------------------------------------
# configure email
# -------------------------------------------------------------------------
mail = auth.settings.mailer
mail.settings.server = 'logging' if request.is_local else myconf.get('smtp.server')
mail.settings.sender = myconf.get('smtp.sender')
mail.settings.login = myconf.get('smtp.login')
コード例 #22
0
ファイル: db.py プロジェクト: jjacobson93/javelin-web2py
## (optional) optimize handling of static files
# response.optimize_css = 'concat,minify,inline'
# response.optimize_js = 'concat,minify,inline'

#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db)
crud, service, plugins = Crud(db), Service(), PluginManager()

## add field for user.active
auth.settings.extra_fields['auth_user'] = [
    Field('active', 'boolean', default=True)
]

## create all tables needed by auth if not custom tables
auth.define_tables(username=True, signature=False)

## configure email
mail = auth.settings.mailer
mail.settings.server = 'smtp.gmail.com:587'
mail.settings.sender = '*****@*****.**'
mail.settings.login = '******'
コード例 #23
0
# response.optimize_css = 'concat,minify,inline'
# response.optimize_js = 'concat,minify,inline'

#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Crud, Service, PluginManager, prettydate

auth = Auth(db, hmac_key=Auth.get_or_create_key())
crud, service, plugins = Crud(db), Service(), PluginManager()
username = True

## create all tables needed by auth if not custom tables
auth.define_tables(migrate=True)

## configure email
mail = auth.settings.mailer
mail.settings.server = 'smtp.gmail.com:587'
mail.settings.sender = '*****@*****.**'
mail.settings.login = '******'

## configure auth policy
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
コード例 #24
0
ファイル: db.py プロジェクト: jyoti690/baadal
    Field('userid', 'string', required=True, unique=True),
    Field('email', 'string', requires=IS_EMAIL()),
    Field('faculty_privileges', 'integer', requires=IS_INT_IN_RANGE(0, 1)),
    Field('password', 'string', required=True),
    Field('request_time', 'integer', requires=IS_INT_IN_RANGE(0, 1)),
    Field('approval_status', 'integer'))

db.define_table(
    'clone_requests', Field('id', 'integer'),
    Field('user', 'string', required=True),
    Field('vm_id', 'string', required=True), Field('clone_name', 'string'),
    Field('full_clone', 'integer', requires=IS_INT_IN_RANGE(0, 1)),
    Field('request_time', 'integer', requires=IS_INT_IN_RANGE(0, 1)),
    Field('status', 'integer'))

auth = Auth(db)
auth.define_tables(username=True)
auth.settings.login_methods.append(
    ldap_auth(mode='custom',
              username_attrib='uid',
              custom_scope='subtree',
              server=ldap_host,
              base_dn=ldap_dn))
auth.settings.create_user_groups = False
auth.settings.login_onaccept = [login_callback]

#auth.settings.login_url = '/baadal/user/login.html'
auth.settings.remember_me_form = False
auth.settings.logout_next = '/baadal/default/user/login'
auth.settings.login_next = '/baadal/user/index'
#auth.settings.on_failed_authorization = '/baadal/default/404.html'
コード例 #25
0
ファイル: db.py プロジェクト: pgastinger/proxyscript
    ## store sessions and tickets there
    session.connect(request, response, db=db)
    ## or store session in Memcache, Redis, etc.
    ## from gluon.contrib.memdb import MEMDB
    ## from google.appengine.api.memcache import Client
    ## session.connect(request, response, db = MEMDB(Client()))

## by default give a view/generic.extension to all actions from localhost
## none otherwise. a pattern can be 'controller/function.extension'
response.generic_patterns = ['*'] if request.is_local else []
## choose a style for forms
response.formstyle = myconf.take('forms.formstyle')  # or 'bootstrap3_stacked' or 'bootstrap2' or other
response.form_label_separator = myconf.take('forms.separator')

from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db)
crud, service, plugins = Crud(db), Service(), PluginManager()

## create all tables needed by auth if not custom tables
auth.define_tables(username=True)
auth.settings.create_user_groups=False

## configure auth policy
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
auth.settings.reset_password_requires_verification = True

## after defining tables, uncomment below to enable auditing
auth.enable_record_versioning(db)

# Active Directory Authentication
コード例 #26
0
ファイル: db.py プロジェクト: tiench189/ClassbookStore
db = DAL(settings.database_uri,
         pool_size=10,
         check_reserved=['all'],
         migrate_enabled=settings.migrate,
         decode_credentials=True)

response.generic_patterns = ['*']

from gluon.tools import Auth, Mail
auth = Auth(db, hmac_key=settings.security_key)
auth.define_tables(username=True, migrate=settings.migrate, signature=True)

mail = Mail()
mail.settings.server = settings.email_server
mail.settings.sender = settings.email_sender
mail.settings.login = settings.email_login

from datetime import datetime
from fs.osfs import OSFS
osFileServer = OSFS(settings.home_dir)

## Google Api Key
GOOGLE_API_KEY = "AIzaSyBFA3zO-fDW6iVg11fMqf6MANE4AwB1xRU"
GCM_SEND_HOST = "android.googleapis.com"
GCM_SEND_URL = "/gcm/send"
コード例 #27
0
ファイル: 200_app.py プロジェクト: pyslan/mar12web2pystore
# coding: utf-8

# auth
# mailer
# crypto

from gluon.tools import Auth, Mail, Service

# class MyServiceHandler(Service):
#     def windows_wpf(self, *args, **kwargs):
#         pass

service = Service()

auth = Auth(db, hmac_key=Auth.get_or_create_key(), controller="home")

mail = Mail()
mail.settings.server = "logging"
mail.settings.sender = "*****@*****.**"
mail.settings.login = "******"

auth.settings.mailer = mail
auth.settings.formstyle = "divs"
auth.settings.extra_fields['auth_user'] = [
    Field("cliente_especial", "boolean", default=False),
    Field("bloqueado", "boolean", default=False)
]

# auth.settings.login_next = URL()

auth.define_tables()
コード例 #28
0
## by default give a view/generic.extension to all actions from localhost
## none otherwise. a pattern can be 'controller/function.extension'
response.generic_patterns = ['*'] if request.is_local else []

#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db, hmac_key=Auth.get_or_create_key())
crud, service, plugins = Crud(db), Service(), PluginManager()

## create all tables needed by auth if not custom tables
auth.define_tables()

## configure email
mail = auth.settings.mailer
mail.settings.server = 'logging' or 'smtp.gmail.com:587'
mail.settings.sender = '*****@*****.**'
mail.settings.login = '******'

## configure auth policy
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
auth.settings.reset_password_requires_verification = True
コード例 #29
0
ファイル: test_ajax.py プロジェクト: dfrankow/RunestoneServer
 def setUp(self):
     global request, session, auth
     request = Request(globals())  # Use a clean Request object
     session = Session()
     auth = Auth(db, hmac_key=Auth.get_or_create_key())
     execfile("applications/runestone/controllers/ajax.py", globals())
コード例 #30
0
ファイル: db.py プロジェクト: chugle/hw2
db = DAL("sqlite://storage.sqlite")

db.define_table('image',
                Field('title', unique=True),
                Field('file', 'upload'),
                format='%(title)s')

db.define_table('comment', Field('image_id', db.image), Field('author'),
                Field('email'), Field('body', 'text'))

db.image.title.requires = IS_NOT_IN_DB(db, db.image.title)
db.comment.image_id.requires = IS_IN_DB(db, db.image.id, '%(title)s')
db.comment.author.requires = IS_NOT_EMPTY()
db.comment.email.requires = IS_EMAIL()
db.comment.body.requires = IS_NOT_EMPTY()

db.comment.image_id.writable = db.comment.image_id.readable = False

from gluon.tools import Auth
auth = Auth(db)
auth.define_tables()
コード例 #31
0
# (optional) static assets folder versioning
# -------------------------------------------------------------------------
# response.static_version = '0.0.0'

# -------------------------------------------------------------------------
# Here is sample code if you need for
# - email capabilities
# - authentication (registration, login, logout, ... )
# - authorization (role based authorization)
# - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
# - old style crud actions
# (more options discussed in gluon/tools.py)
# -------------------------------------------------------------------------

# host names must be a list of allowed host names (glob syntax allowed)
auth = Auth(db, host_names=configuration.get('host.names'))

# -------------------------------------------------------------------------
# create all tables needed by auth, maybe add a list of extra fields
# -------------------------------------------------------------------------
auth.settings.extra_fields['auth_user'] = []
auth.define_tables(username=False, signature=False)

# -------------------------------------------------------------------------
# configure email
# -------------------------------------------------------------------------
mail = auth.settings.mailer
mail.settings.server = 'logging' if request.is_local else configuration.get(
    'smtp.server')
mail.settings.sender = configuration.get('smtp.sender')
mail.settings.login = configuration.get('smtp.login')
コード例 #32
0
db = DAL('sqlite://storage.sqlite')
from gluon.tools import Auth

auth = Auth(db)  #secure=True
auth.define_tables(username=True)

#db.auth_user.password.requires=IS_STRONG()
#fr#om gluon.tools import Recaptcha
#auth.settings.captcha = Recaptcha(request,
#   '6LcD0PESAAAAAAv8xXDZS_g39KeqDKVhdpw5Ui3B',
#  '6LcD0PESAAAAACBYOTT1juQXfClchb_QP8BuXCOZ')

db.define_table('Restaurants',
                Field('name', 'string', required=True, requires=IS_LOWER()),
                Field('area', required=True, requires=IS_LOWER()),
                Field('city', required=True, requires=IS_LOWER()),
                Field('address', 'string', requires=IS_NOT_EMPTY()),
                Field('cuisine', 'string', requires=IS_NOT_EMPTY()),
                Field('comments'), Field('images', 'upload'))

db.Restaurants.name.requires = IS_NOT_EMPTY()
db.Restaurants.area.requires = IS_NOT_EMPTY()
db.Restaurants.city.requires = IS_NOT_EMPTY()

db.define_table('Comments', Field('comment', 'string',
                                  requires=IS_NOT_EMPTY()),
                Field('user', 'string', readable=False, writable=False),
                Field('rid', 'integer', readable=False, writable=False),
                Field('table_name', 'string', readable=False, writable=False))

db.define_table('Images', Field('image', 'upload', requires=IS_NOT_EMPTY()),
コード例 #33
0
ファイル: fake.py プロジェクト: tbellembois/chimitheque
if 0:

    from gluon.html import *
    from gluon.validators import *
    from gluon.http import redirect, HTTP
    from gluon.sqlhtml import SQLFORM, SQLTABLE
    from gluon.compileapp import LOAD

    from gluon.globals import Request, Response, Session, current
    from gluon.cache import Cache
    from gluon.languages import translator
    from gluon.tools import Auth, Crud, Mail, Service, PluginManager
    from gluon.dal import DAL, Field
    from chimitheque_multiple_widget import CHIMITHEQUE_MULTIPLE_widget

    # API objects
    request = Request()
    response = Response()
    session = Session()
    cache = Cache(request)
    T = translator(request, 'fr')

    # Objects commonly defined in application model files
    # (names are conventions only -- not part of API)
    db = DAL()
    auth = Auth(db)
    crud = Crud(db)
    mail = Mail()
    service = Service()
    plugins = PluginManager()
    settings = {}
コード例 #34
0
#db.dependencia.id.format = "%(nombre)s"
#db.dependencia.id.represent= lambda id, row: db.dependencia[id].nombre

db.define_table('departamento',
    Field('departamento', 'string', length=100, required= True, notnull=True),
    Field('dependencia', 'reference dependencia'),
    format = "%(departamento)s",
    singular = "Departamento",
    plural = "Departamentos",    
)
#db.departamento.dependencia.requires = IS_IN_DB(db, 'dependencia.id', '%(nombre)s', 
 #                                              zero='--Seleccione una dependencia--', error_message='Valor no Permitido')


from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db)
auth.settings.cas_domains.append('http://190.169.221.43:8080')
crud, service, plugins = Crud(db), Service(), PluginManager()

## create all tables needed by auth if not custom tables
# after
# auth = Auth(globals(),db)
#db.define_table(
#    auth.settings.table_user_name,
#    Field('first_name', length=128, label = 'nombre'),
#    Field('last_name', length=128, label = 'apellido'),
#    Field('email', length=128, unique=True),
#    Field('password', 'password', length=512, readable=False, label='Password'),
#    Field('registration_key', length=512, writable=False, readable=False, default=''),
#    Field('reset_password_key', length=512, writable=False, readable=False, default=''),
#    Field('registration_id', length=512, writable=False, readable=False, default=''),
コード例 #35
0
## (optional) optimize handling of static files
# response.optimize_css = 'concat,minify,inline'
# response.optimize_js = 'concat,minify,inline' 

#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db)
crud, service, plugins = Crud(db), Service(), PluginManager()

## create all tables needed by auth if not custom tables
auth.define_tables(username=True, signature=False)

response.generic_patterns = ['*'] if request.is_local else []
response.generic_patterns = ['load']
## configure email
mail = auth.settings.mailer
mail.settings.server = 'logging' or 'mail.darwish-group.com:143'
mail.settings.sender = '*****@*****.**'
mail.settings.login = '******'

## configure auth policy
auth.settings.registration_requires_verification = False
コード例 #36
0
ファイル: basemodel.py プロジェクト: goldenboy/Movuca
 def define_table(self):
     fakeauth = Auth(DAL(None))
     self.fields.extend([fakeauth.signature])
     self.entity = self.db.define_table(
         self.tablename, *self.fields,
         **dict(migrate=self.migrate, format=self.format))
コード例 #37
0
# response.static_version = '0.0.0'

# -------------------------------------------------------------------------
# Here is sample code if you need for
# - email capabilities
# - authentication (registration, login, logout, ... )
# - authorization (role based authorization)
# - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
# - old style crud actions
# (more options discussed in gluon/tools.py)
# -------------------------------------------------------------------------

from gluon.tools import Auth, Crud, Service, PluginManager

# host names must be a list of allowed host names (glob syntax allowed)
auth = Auth(db, host_names=configuration.get('host.names'))
service = Service()
plugins = PluginManager()
crud = Crud(db)

# -------------------------------------------------------------------------
# Turn of record change detection globally to allow saving a form multiple times
crud.settings.detect_record_change = False
crud.settings.label_separator = ' '
crud.settings.update_deletable = False
crud.settings.auth = auth
crud.messages.record_created = T('Saved')
crud.messages.record_updated = T('Saved')
crud.messages.submit_button = T('Save')
# -------------------------------------------------------------------------
コード例 #38
0
# response.static_version = '0.0.0'

# -------------------------------------------------------------------------
# Here is sample code if you need for
# - email capabilities
# - authentication (registration, login, logout, ... )
# - authorization (role based authorization)
# - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
# - old style crud actions
# (more options discussed in gluon/tools.py)
# -------------------------------------------------------------------------

from gluon.tools import Auth, Service, PluginManager

# host names must be a list of allowed host names (glob syntax allowed)
auth = Auth(db, host_names=myconf.get('host.names'))
service = Service()
plugins = PluginManager()

# -------------------------------------------------------------------------
# create all tables needed by auth if not custom tables
# -------------------------------------------------------------------------
auth.settings.table_user_name = 'usuario'

auth.define_tables(username=True, signature=False)

db.usuario.username.length = 8
db.usuario.password.requires = CRYPT()
db.usuario.username.requires = IS_MATCH(
    '^[0-9]*$|^admin$', error_message='Numero de Cedula Invalido.')
db.usuario.first_name.requires = IS_MATCH(
コード例 #39
0
ファイル: config.py プロジェクト: fndiaz/hosts3
#config.db.uri = "sqlite://hosts.sqlite"
config.db.pool_size = 10
config.db.check_reserved = ['all']


db = DAL(**config.db)

# logging
import logging
logger = logging.getLogger("web2py.app.blog")
logger.setLevel(logging.DEBUG)

#auth Rbac
from gluon.tools import Auth

auth = Auth(db, controller="initial", function="user")

#settings
auth.settings.remember_me_form = False
auth.settings.formstyle = "divs"
auth.settings.login_next = URL('initial', 'principal')
auth.settings.logout_next = URL('user', 'login?_next=')
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
#auth.settings.actions_disabled = ['register']
auth.messages.logged_in = 'Bem Vindo' 
auth.messages.logged_out = 'Até logo'
auth.messages.access_denied = 'Acesso negado! Contate o administrador'
auth.messages.invalid_email = 'email Inválido'
auth.messages.invalid_login = '******'
コード例 #40
0
# -------------------------------------------------------------------------
# response.static_version = '0.0.0'

# -------------------------------------------------------------------------
# Here is sample code if you need for
# - email capabilities
# - authentication (registration, login, logout, ... )
# - authorization (role based authorization)
# - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
# - old style crud actions
# (more options discussed in gluon/tools.py)
# -------------------------------------------------------------------------

# host names must be a list of allowed host names (glob syntax allowed)
auth = Auth(db,
            hmac_key=Auth.get_or_create_key(),
            controller="default",
            function="user")
auth.settings.login_next = URL('index')

# -------------------------------------------------------------------------
# create all tables needed by auth if not custom tables
# -------------------------------------------------------------------------
auth.define_tables(username=False, signature=False)

# -------------------------------------------------------------------------
# configure email
# -------------------------------------------------------------------------

# -------------------------------------------------------------------------
# configure auth policy
# -------------------------------------------------------------------------
コード例 #41
0
ファイル: db.py プロジェクト: zerolinux5/slug_friends
## (optional) optimize handling of static files
# response.optimize_css = 'concat,minify,inline'
# response.optimize_js = 'concat,minify,inline'

#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db)
crud, service, plugins = Crud(db), Service(), PluginManager()

auth.settings.extra_fields['auth_user'] = [
    Field('username',
          'string',
          requires=IS_NOT_EMPTY(error_message=auth.messages.is_empty)),
    Field('photo',
          'upload',
          requires=IS_NOT_EMPTY(error_message=auth.messages.is_empty)),
    Field('description',
          'text',
          requires=IS_NOT_EMPTY(error_message=auth.messages.is_empty)),
]

## create all tables needed by auth if not custom tables
コード例 #42
0
ファイル: gcontable.py プロジェクト: eadomenech/agis
if False:
    from gluon import *
    from db import *
    from menu import *
    from tables import *
    from gluon.contrib.appconfig import AppConfig
    from gluon.tools import Auth, Service, PluginManager
    request = current.request
    response = current.response
    session = current.session
    cache = current.cache
    T = current.T
    db = DAL('sqlite://storage.sqlite')
    myconf = AppConfig(reload=True)
    auth = Auth(db)
    service = Service()
    plugins = PluginManager()
    from agiscore.gui.mic import MenuLateral, MenuMigas
    menu_lateral = MenuLateral(list())
    menu_migas = MenuMigas()

from gluon.storage import Storage
from agiscore.gui.mic import Accion, grid_simple

# TODO: remove
response.menu = []

menu_lateral.append(Accion(T('Tipos de pagos'),
                           URL('index'),
                           True),
コード例 #43
0
ファイル: db.py プロジェクト: diegoscunha/Helpy
                Field('is_atende', required=True, requires=IS_IN_SET(['sim', 'não']), widget=SQLFORM.widgets.radio.widget, label='Atende chamados?'), singular='Clientes', format='%(nome_fantasia)s')

# TABLE setor - crud - OK
db.define_table('setor',
                Field('nome', type='string', length=60, required=True, requires=[IS_NOT_EMPTY('Campo obrigatório!'), IS_LENGTH(60, error_message='Informe no maxímo 60 caracteres!')], notnull=True, label='Nome'),
                Field('cliente_id', 'reference cliente', label='Cliente'), singular='Setores', format='%(nome)s')

# TABLE cliente_sistema - OK
db.define_table('cliente_sistema',
                Field('cliente_id', 'reference cliente', required=True, requires=IS_NOT_EMPTY('Campo obrigatório!'), notnull=True, label='Cliente'),
                Field('sistema_id', 'reference sistema', required=True, requires=IS_NOT_EMPTY('Campo obrigatório!'), notnull=True, label='Sistema'),
                Field('is_ativo', required=True, notnull=True, requires=[IS_IN_SET(['sim', 'não']), IS_NOT_EMPTY('Campo obrigatório!')], widget=SQLFORM.widgets.radio.widget, label='Sistema ativo?'), primarykey= ['cliente_id', 'sistema_id'])

# Componente Auth
from gluon.tools import Auth
auth = Auth(db)

auth.settings.extra_fields['auth_user']= [
  Field('is_admin', required=True, notnull=True, requires=[IS_IN_SET(['sim', 'não']), IS_NOT_EMPTY('Campo obrigatório!')], widget=SQLFORM.widgets.radio.widget, label='É administrador?'),
  Field('is_atendente', required=True, notnull=True, requires=[IS_IN_SET(['sim', 'não']), IS_NOT_EMPTY('Campo obrigatório!')], widget=SQLFORM.widgets.radio.widget, label='Atende chamados?'),
  Field('cliente_id', 'reference cliente', required=True, requires=IS_NOT_EMPTY('Campo obrigatório!'), notnull=True, label='Cliente'),
  Field('telefone', length=14, requires=IS_LENGTH(14, error_message='Informe no maxímo 14 caracteres!'), label='Telefone')]
auth.define_tables(username=True)

# verificar primary key da tabela
# TABLE liberacao_sistema - OK
db.define_table('liberacao_sistema',
                Field('cliente_id', 'reference cliente', required=True, requires=IS_NOT_EMPTY('Campo obrigatório!'), notnull=True, label='Cliente'),
                Field('solicitante_id', 'reference auth_user', required=True, requires=IS_NOT_EMPTY('Campo obrigatório!'), notnull=True, label='Solicitante'),
                Field('sistema_id', 'reference sistema', required=True, requires=IS_NOT_EMPTY('Campo obrigatório!'), notnull=True, label='Sistema'),
                Field('responsavel_id', 'reference auth_user', required=True, requires=IS_NOT_EMPTY('Campo obrigatório!'), notnull=True, label='Responsável'),
コード例 #44
0
# -*- coding: utf-8 -*-

db = DAL('sqlite://storage.sqlite',
         migrate_enabled=False)  # if not, use SQLite or other DB

# by default give a view/generic.extension to all actions from localhost
# none otherwise. a pattern can be 'controller/function.extension'
response.generic_patterns = ['*'] if request.is_local else []

T.set_current_languages('ro', 'ro-ro')
T.force(session.lang)

from gluon.tools import Mail, Auth, Crud, Service, PluginManager, prettydate
mail = Mail()  # mailer
auth = Auth(db)  # authentication/authorization
crud = Crud(db)  # for CRUD helpers using auth
#service = Service()                            # for json, xml, jsonrpc, xmlrpc, amfrpc
plugins = PluginManager()  # for configuring plugins

mail.settings.server = 'smtp.gmail.com:587'  # your SMTP server
mail.settings.sender = '*****@*****.**'  # your email
mail.settings.login = '******'  # your credentials or None

auth.settings.hmac_key = 'sha512:e68b4107-4595-4284-9cd1-ef04a2ed3205'  # before define_tables()
auth.define_tables()  # creates all needed tables
auth.settings.mailer = mail  # for user email verification
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
auth.messages.verify_email = 'Click on the link http://' + request.env.http_host + URL(
    'default', 'user', args=['verify_email']) + '/%(key)s to verify your email'
auth.settings.reset_password_requires_verification = True
コード例 #45
0
ファイル: db.py プロジェクト: jredrejo/bancal
# (optional) optimize handling of static files
# response.optimize_css = 'concat,minify,inline'
# response.optimize_js = 'concat,minify,inline'

#
# Here is sample code if you need for
# - email capabilities
# - authentication (registration, login, logout, ... )
# - authorization (role based authorization)
# - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
# - old style crud actions
# (more options discussed in gluon/tools.py)
#

from gluon.tools import Auth, Crud, Service, PluginManager
auth = Auth(db)
(crud, service, plugins) = (Crud(db), Service(), PluginManager())


# configure email

mail = auth.settings.mailer
mail.settings.server = 'logging' or 'smtp.gmail.com:587'
mail.settings.sender = '*****@*****.**'
mail.settings.login = '******'

# configure auth policy

auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = True
auth.settings.reset_password_requires_verification = True
コード例 #46
0
ファイル: db.py プロジェクト: flysaiah/RunestoneServer
## (optional) optimize handling of static files
# response.optimize_css = 'concat,minify,inline'
# response.optimize_js = 'concat,minify,inline'

#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db, hmac_key=Auth.get_or_create_key())
crud, service, plugins = Crud(db), Service(), PluginManager()

if settings.enable_captchas:
    ## Enable captcha's :-(
    from gluon.tools import Recaptcha
    auth.settings.captcha = Recaptcha(request,
        '6Lfb_t4SAAAAAB9pG_o1CwrMB40YPsdBsD8GsvlD',
        '6Lfb_t4SAAAAAGvAHwmkahQ6s44478AL5Cf-fI-x',
        options="theme:'blackglass'")

auth.settings.login_captcha = False
auth.settings.retrieve_password_captcha	= False
#auth.settings.retrieve_username_captcha	= False

コード例 #47
0
ファイル: shotauth.py プロジェクト: MichaelBechmann/shot
 def __init__(self, db, controller, function):
     self.db = db
     Auth.__init__(self, db=db, controller=controller, function=function)
コード例 #48
0
# response.optimize_js = 'concat,minify,inline'
## (optional) static assets folder versioning
# response.static_version = '0.0.0'
#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Service, PluginManager

auth = Auth(db)
service = Service()
plugins = PluginManager()

## create all tables needed by auth if not custom tables
auth.define_tables(username=False, signature=True, enable_tokens=True)

## configure email
mail = auth.settings.mailer
mail.settings.server = 'secure.emailsrvr.com:465'  #'logging' if request.is_local else 'secure.emailsrvr.com:465'
mail.settings.sender = '*****@*****.**'
mail.settings.login = '******'
mail.settings.ssl = True

## configure auth policy
#auth.settings.create_user_groups = False
コード例 #49
0
ファイル: db.py プロジェクト: ThomasDalla/FansubCheck_web2py
## (optional) optimize handling of static files
# response.optimize_css = 'concat,minify,inline'
# response.optimize_js = 'concat,minify,inline'

#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db, hmac_key=Auth.get_or_create_key())
crud, service, plugins = Crud(db), Service(), PluginManager()

## create all tables needed by auth if not custom tables

########################################
db.define_table('auth_user',
    Field('username', type='string',
          label=T('Username')),
    Field('first_name', type='string',
          label=T('First Name')),
    Field('last_name', type='string',
          label=T('Last Name')),
    Field('email', type='string',
          label=T('Email')),
    Field('password', type='password',
コード例 #50
0
# -*- coding: utf-8 -*-
import os
import yaml

if False:
    from gluon import *
    #TODO:si se importan los modulos aqui dentro, todo va..¿cambiarlo en todos?
    from applications.init.modules import db_pages, db_pagepermissions, \
                                    db_pagemodules, db_basemodules, \
                                    db_eventlog, db_packages, db_pynuke
    from gluon.tools import *
    from gluon.tools import Auth
    db = DAL()
    auth = Auth(db)
    request, session, response, T, cache = current.request, current.session,\
                                current.response, current.t, current.cache
    db = current.db
    settings = current.settings
    auth = Auth(db, hmac_key=Auth.get_or_create_key())
    crud, service, plugins = Crud(db), Service(), PluginManager()

clPagNav = db_pages.Pages.Navigation()
clEventLog = db_eventlog.EventLog()
clBaseModules = db_basemodules.BaseModules()
clPack = db_packages.Packages()
clPynuke_nav = db_pynuke.PyNuke.Navigation()

strings_to_remove_from_url = settings.strings_to_remove_from_url


def user():
コード例 #51
0
ファイル: db.py プロジェクト: ricardodelacruz/fase1
# response.optimize_css = 'concat,minify,inline'
# response.optimize_js = 'concat,minify,inline'
## (optional) static assets folder versioning
# response.static_version = '0.0.0'
#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db)
crud, service, plugins = Crud(db), Service(), PluginManager()

## create all tables needed by auth if not custom tables
## auth.define_tables(username=False, signature=False)

## configure email
mail = auth.settings.mailer
mail.settings.server = 'logging' or 'smtp.gmail.com:587'
mail.settings.sender = '*****@*****.**'
mail.settings.login = '******'

## configure auth policy
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
auth.settings.reset_password_requires_verification = True
コード例 #52
0
ファイル: db.py プロジェクト: tribonieila/MerchHR
# (optional) static assets folder versioning
# -------------------------------------------------------------------------
# response.static_version = '0.0.0'

# -------------------------------------------------------------------------
# Here is sample code if you need for
# - email capabilities
# - authentication (registration, login, logout, ... )
# - authorization (role based authorization)
# - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
# - old style crud actions
# (more options discussed in gluon/tools.py)
# -------------------------------------------------------------------------

# host names must be a list of allowed host names (glob syntax allowed)
auth = Auth(db, host_names=configuration.get('host.names'))

# -------------------------------------------------------------------------
# create all tables needed by auth, maybe add a list of extra fields
# -------------------------------------------------------------------------
auth.settings.extra_fields['auth_user'] = []
auth.define_tables(username=False, signature=False)

# -------------------------------------------------------------------------
# configure email
# -------------------------------------------------------------------------
mail = auth.settings.mailer
mail.settings.server = 'logging' if request.is_local else configuration.get(
    'smtp.server')
mail.settings.sender = configuration.get('smtp.sender')
mail.settings.login = configuration.get('smtp.login')
コード例 #53
0
ファイル: db.py プロジェクト: span007/paideia
plugins = PluginManager()       # for configuring plugins
current.db = db                 # to access db from modules

#-------------------------------------------------------------
# get private data from secure file
#-------------------------------------------------------------
keydata = {}
with open('applications/paideia/private/app.keys', 'r') as keyfile:
    for line in keyfile:
        k, v = line.split()
        keydata[k] = v

#-------------------------------------------------------------
#configure authorization
#-------------------------------------------------------------
auth = Auth(db, hmac_key=Auth.get_or_create_key())  # authent/authorization

#-------------------------------------------------------------
# place auth in current so it can be imported by modules
#-------------------------------------------------------------

current.auth = auth

#-------------------------------------------------------------
#misc auth settings
#-------------------------------------------------------------
auth.settings.create_user_groups = False
auth.settings.label_separator = ''

#-------------------------------------------------------------
# Customizing auth tables
コード例 #54
0
## (optional) optimize handling of static files
# response.optimize_css = 'concat,minify,inline'
# response.optimize_js = 'concat,minify,inline'

#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db, hmac_key=Auth.get_or_create_key())
crud, service, plugins = Crud(db), Service(), PluginManager()


from plugin_ckeditor import CKEditor
ckeditor = CKEditor(db)
#ckeditor.define_tables()

# a table for Country
db.define_table('country',
    Field('name','string', required=True),
    Field('iso2','string',required=True),
    Field('iso3','string',required=True),
    Field('iso_id','integer', required=False),
    )
コード例 #55
0
ファイル: db.py プロジェクト: nandkunal/mymusic
# response.optimize_js = 'concat,minify,inline'
## (optional) static assets folder versioning
# response.static_version = '0.0.0'
#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Service, PluginManager

auth = Auth(db)
service = Service()
plugins = PluginManager()

## create all tables needed by auth if not custom tables
auth.define_tables(username=False, signature=False)

## configure email
mail = auth.settings.mailer
mail.settings.server = 'logging' if request.is_local else 'smtp.gmail.com:587'
mail.settings.sender = '*****@*****.**'
mail.settings.login = '******'

## configure auth policy
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
コード例 #56
0
ファイル: db.py プロジェクト: josevsousa/ecommercer
# response.static_version = '0.0.0'

# -------------------------------------------------------------------------
# Here is sample code if you need for
# - email capabilities
# - authentication (registration, login, logout, ... )
# - authorization (role based authorization)
# - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
# - old style crud actions
# (more options discussed in gluon/tools.py)
# -------------------------------------------------------------------------

from gluon.tools import Auth, Service, PluginManager

# host names must be a list of allowed host names (glob syntax allowed)
auth = Auth(db, host_names=myconf.get('host.names'), controller="home", function="user")
service = Service()
plugins = PluginManager()

# -------------------------------------------------------------------------
# create all tables needed by auth if not custom tables
# -------------------------------------------------------------------------

##pra onde o user vai depois do login
auth.settings.login_next = URL("home","index")

auth.define_tables(username=False, signature=False)

# -------------------------------------------------------------------------
# configure email
# -------------------------------------------------------------------------
コード例 #57
0
ファイル: db.py プロジェクト: Praveengajula585/IgoR
## (optional) optimize handling of static files
# response.optimize_css = 'concat,minify,inline'
# response.optimize_js = 'concat,minify,inline'

#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db, hmac_key=Auth.get_or_create_key())
crud, service, plugins = Crud(db), Service(), PluginManager()

## create all tables needed by auth if not custom tables
auth.define_tables()

## configure email
mail=auth.settings.mailer
mail.settings.server = 'logging' or 'smtp.gmail.com:587'
mail.settings.sender = '*****@*****.**'
mail.settings.login = '******'

## configure auth policy
auth.settings.registration_requires_verification = False
auth.settings.registration_requires_approval = False
auth.settings.reset_password_requires_verification = True
コード例 #58
0
ファイル: db.py プロジェクト: nnhsse201920/RunestoneServer
response.generic_patterns = ["*"] if request.is_local else []
## (optional) optimize handling of static files
# response.optimize_css = 'concat,minify,inline'
# response.optimize_js = 'concat,minify,inline'

#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

auth = Auth(db, hmac_key=Auth.get_or_create_key())
crud, service, plugins = Crud(db), Service(), PluginManager()

# Make the settings and database available in modules.
current.db = db
current.settings = settings
current.auth = auth

if settings.enable_captchas:
    ## Enable captcha's :-(
    from gluon.tools import Recaptcha

    auth.settings.captcha = Recaptcha(
        request,
        "6Lfb_t4SAAAAAB9pG_o1CwrMB40YPsdBsD8GsvlD",
        "6Lfb_t4SAAAAAGvAHwmkahQ6s44478AL5Cf-fI-x",
コード例 #59
0
ファイル: db.py プロジェクト: hsorby/web2py-appliances
import random
import time

now = time.time()
import datetime

timestamp = datetime.datetime.today()
today = datetime.date.today()

db = DAL("sqlite://main.db")

from gluon.tools import Auth

auth = Auth(db)

auth.settings.extra_fields["auth_user"] = [Field("name", compute=lambda r: "%(first_name)s %(last_name)s" % r)]
auth.define_tables()
コード例 #60
0
ファイル: db.py プロジェクト: tababbitt/RunestoneServer
## (optional) optimize handling of static files
# response.optimize_css = 'concat,minify,inline'
# response.optimize_js = 'concat,minify,inline'

#########################################################################
## Here is sample code if you need for
## - email capabilities
## - authentication (registration, login, logout, ... )
## - authorization (role based authorization)
## - services (xml, csv, json, xmlrpc, jsonrpc, amf, rss)
## - old style crud actions
## (more options discussed in gluon/tools.py)
#########################################################################

from gluon.tools import Auth, Crud, Service, PluginManager, prettydate
auth = Auth(db, hmac_key=Auth.get_or_create_key())
crud, service, plugins = Crud(db), Service(), PluginManager()

if settings.enable_captchas:
    ## Enable captcha's :-(
    from gluon.tools import Recaptcha
    auth.settings.captcha = Recaptcha(
        request,
        '6Lfb_t4SAAAAAB9pG_o1CwrMB40YPsdBsD8GsvlD',
        '6Lfb_t4SAAAAAGvAHwmkahQ6s44478AL5Cf-fI-x',
        options="theme:'blackglass'")

auth.settings.login_captcha = False
auth.settings.retrieve_password_captcha = False
#auth.settings.retrieve_username_captcha	= False