Exemplo n.º 1
0
def crud():
    tablename = request.args(0)
    action = request.args(1)
    id_ = request.args(2)
    
    if session.crud and session.crud.return_page:
        return_page = session.crud.return_page
    else:
        return_page = URL('admin_', 'manage_users')
    
    crud = Crud(shotdb)
    crud.settings.controller = 'admin_'
    crud.settings.create_next = return_page
    crud.settings.update_next = return_page
    crud.settings.update_deletable = True
    crud.settings.showid = True   
    
    if(action == 'add'):
        crud_response = crud.create(tablename)
        
    elif(action == 'edit' and id_ != None):
        onaccept = None
        if tablename == 'auth_user':
            shotdb['auth_user']['registration_key'].writable = True
            
        elif tablename == 'config':
            crud.settings.update_deletable = False
            shotdb['config']['name'].writable = False
            
            # update the configuration object, drop the passed argument form
            onaccept = lambda form: config.update(shotdb)

        crud_response = crud.update(tablename, id_, onaccept = onaccept)    
            
    else:
        crud_response = 'Nothing selected!'
    
    return dict(crud_response = crud_response)
Exemplo n.º 2
0
    ),
    Field("active", "boolean"),
    Field("value", "string"),
    Field("description", "string"),
)  # end of config


# Create all tables required for authentication and the wiki
auth = ShotAuth(shotdb, controller="access", function="user")

# Add custom columns
auth.settings.extra_fields["auth_user"] = [Field("person", shotdb.person), Field("sale_numbers", "list:integer")]

auth.define_tables(username=True, signature=True)
auth.settings.create_user_groups = None
auth.settings.manager_actions = dict(db_admin=dict(role="admin", heading="Manage Database", tables=shotdb.tables))

# This error message is deliberately defined here and not in controller access
auth.messages.access_denied = "Zugriff verweigert!"


# define the wiki database tables
auth.shotwiki(resolve=False)


# perform update of the configuration parameters
config.update(shotdb)

# version number for static assets
response.static_version = "0.0.6"