Ejemplo n.º 1
0
def help(request):

    page_title = 'Login'

    return {'layout': site_layout('max'),
            'page_title': page_title,
            }
Ejemplo n.º 2
0
def view_test3(request):
    page_title = "test."
    au = get_authenticated_user(request)

    params = {"format": None, "type": "vir"}
    for p in params:
        try:
            params[p] = request.params[p]
        except:
            pass

    format = params["format"]
    type = params["type"]

    return {"layout": site_layout("max"), "page_title": page_title, "au": au}
Ejemplo n.º 3
0
def view_nodes(request):

    page_title_type = 'objects/'
    page_title_name = 'nodes'
    au = get_authenticated_user(request)
    (perpage, offset) = get_pag_params(request)

    payload = {}
    for k in request.GET:
        payload[k] = request.GET[k]

    uri = '/api/nodes'
    log.info('UI requesting data from API={0},payload={1}'.format(uri, payload))

    if payload:
        r = _api_get(request, uri, payload)
    else:
        r = _api_get(request, uri)

    if r:
        total = r['meta']['total']
        nodes = r['results']
    else:
        total = 0
        nodes = []

    # Used by the columns menu to determine what to show/hide.
    column_selectors = [ {'name': 'node_id', 'pretty_name': 'Node ID' },
                         {'name': 'node_name', 'pretty_name': 'Node Name' },
                         {'name': 'unique_id', 'pretty_name': 'Unique Id' },
                         {'name': 'status', 'pretty_name': 'Status' },
                         {'name': 'node_groups', 'pretty_name': 'Node Groups' },
                         {'name': 'updated_by', 'pretty_name': 'Updated By' },
                         {'name': 'updated', 'pretty_name': 'Date Updated' },
                         {'name': 'created', 'pretty_name': 'Date Created' },
    ]

    return {'layout': site_layout('max'),
            'page_title_type': page_title_type,
            'page_title_name': page_title_name,
            'perpage': perpage,
            'offset': offset,
            'total': total,
            'au': au,
            'column_selectors': column_selectors,
            'nodes': nodes,
           }
Ejemplo n.º 4
0
def view_test2(request):
    page_title_type = 'objects_'
    page_title_name = 'Statuses'
    au = get_authenticated_user(request)

    params = {'format': None,
              'type': 'vir',
             }
    for p in params:
        try:
            params[p] = request.params[p]
        except:
            pass

    format = params['format']
    type = params['type']

    if format == 'json' or format == 'xml':
        return {'Hello':'world'}

    if type == 'ec2':
        host = 'aws1prdtcw1.opsprod.ctgrd.com'
        uniq_id = 'i-303a6c4a'
        ng = 'tcw'
        vhost = 'aws1'
    elif type == 'rds':
        host = 'aws1devcpd1.csqa.ctgrd.com'
        uniq_id = 'aws1devcpd1.cltftmkcg4dd.us-east-1.rds.amazonaws.com'
        ng = 'none'
        vhost = 'aws1'
    else:
        host = 'vir1prdpaw1.prod.cs'
        uniq_id = '6A:37:2A:68:E1:B0'
        ng = 'paw'
        vhost = 'vir1prdxen41.prod.cs'

    return {'layout': site_layout('max'),
            'page_title_type': page_title_type,
            'page_title_name': page_title_name,
            'au': au,
#            'results': results,
            'type': type,
            'host': host,
            'uniq_id': uniq_id,
            'ng': ng,
            'vhost': vhost,
           }
Ejemplo n.º 5
0
def view_operating_systems(request):

    page_title_type = 'object/'
    page_title_name = 'operating_systems'
    au = get_authenticated_user(request)
    (perpage, offset) = get_pag_params(request)

    payload = {}
    for k in request.GET:
        payload[k] = request.GET[k]

    uri = '/api/operating_systems'
    log.info('UI requesting data from API={0},payload={1}'.format(uri, payload))

    if payload:
        r = _api_get(request, uri, payload)
    else:
        r = _api_get(request, uri)

    if r:
        total = r['meta']['total']
        operating_systems = r['results']
    else:
        total = 0
        operating_systems = []

    # Used by the columns menu to determine what to show/hide.
    column_selectors = [ {'name': 'operating_system_id', 'pretty_name': 'Operating system ID' },
                         {'name': 'variant', 'pretty_name': 'Variant' },
                         {'name': 'version_number', 'pretty_name': 'Version Number' },
                         {'name': 'architecture', 'pretty_name': 'Architecture' },
                         {'name': 'description', 'pretty_name': 'Description' },
                         {'name': 'updated_by', 'pretty_name': 'Updated By' },
                         {'name': 'updated', 'pretty_name': 'Date Updated' },
                         {'name': 'created', 'pretty_name': 'Date Created' },
    ]

    return {'layout': site_layout('max'),
            'page_title_type': page_title_type,
            'page_title_name': page_title_name,
            'perpage': perpage,
            'offset': offset,
            'total': total,
            'au': au,
            'column_selectors': column_selectors,
            'operating_systems': operating_systems,
           }
Ejemplo n.º 6
0
def view_hardware_profiles(request):

    page_title_type = 'objects/'
    page_title_name = 'hardware_profiles'
    au = get_authenticated_user(request)
    (perpage, offset) = get_pag_params(request)

    payload = {}
    for k in request.GET:
        payload[k] = request.GET[k]

    uri = '/api/hardware_profiles'
    log.info('UI requesting data from API={0},payload={1}'.format(uri, payload))

    if payload:
        r = _api_get(request, uri, payload)
    else:
        r = _api_get(request, uri)

    if r:
        total = r['meta']['total']
        hardware_profiles = r['results']
    else:
        total = 0
        hardware_profiles = []

    # Used by the columns menu to determine what to show/hide.
    column_selectors = [ {'name': 'hardware_profile_id', 'pretty_name': 'Hardware Profile ID' },
                         {'name': 'manufacturer', 'pretty_name': 'Manufacturer' },
                         {'name': 'model', 'pretty_name': 'Model' },
                         {'name': 'updated_by', 'pretty_name': 'Updated By' },
                         {'name': 'updated', 'pretty_name': 'Date Updated' },
                         {'name': 'created', 'pretty_name': 'Date Created' },
    ]

    return {'layout': site_layout('max'),
            'page_title_type': page_title_type,
            'page_title_name': page_title_name,
            'perpage': perpage,
            'offset': offset,
            'total': total,
            'au': au,
            'column_selectors': column_selectors,
            'hardware_profiles': hardware_profiles,
           }
Ejemplo n.º 7
0
def view_home(request):
    page_title_type = '_'
    page_title_name = 'Home'
    au = get_authenticated_user(request)

    # Used by the columns menu to determine what to show/hide.
    column_selectors = [ {'name': 'status_id', 'pretty_name': 'Status ID' },
                         {'name': 'status_name', 'pretty_name': 'Status Name' },
                         {'name': 'description', 'pretty_name': 'Description' },
                         {'name': 'updated_by', 'pretty_name': 'Updated By' },
                         {'name': 'updated', 'pretty_name': 'Date Update' },
                         {'name': 'created', 'pretty_name': 'Date Created' },
    ]

    return {'layout': site_layout('max'),
            'page_title_type': page_title_type,
            'page_title_name': page_title_name,
            'au': au,
            'column_selectors': column_selectors,
           }
Ejemplo n.º 8
0
def logout(request):

    page_title = "Login"
    message = None

    try:
        if request.params["message"]:
            message = request.params["message"]
    except:
        pass

    headers = forget(request)
    # Do I really need this?
    headers.append(("Set-Cookie", "un=; Max-Age=0; Path=/"))
    request.response.headers = headers
    # No idea why I have to re-define these, but I do or it poops itself
    request.response.content_type = "text/html"
    request.response.charset = "UTF-8"
    request.response.status = "200 OK"

    return {"layout": site_layout("max"), "page_title": page_title, "message": message}
Ejemplo n.º 9
0
def view_test(request):
    page_title = 'Test'
    au = get_authenticated_user(request)
    results = False
    params = {'type': 'vir',
             }
    for p in params:
        try:
            params[p] = request.params[p]
        except:
            pass

    type = params['type']
    if type == 'ec2':
        host = 'aws1prdtcw1.opsprod.ctgrd.com'
        uniq_id = 'i-303a6c4a'
        ng = 'tcw'
        vhost = 'aws1'
    elif type == 'rds':
        host = 'aws1devcpd1.csqa.ctgrd.com'
        uniq_id = 'aws1devcpd1.cltftmkcg4dd.us-east-1.rds.amazonaws.com'
        ng = 'none'
        vhost = 'aws1'
    else:
        host = 'vir1prdpaw1.prod.cs'
        uniq_id = '6A:37:2A:68:E1:B0'
        ng = 'paw'
        vhost = 'vir1prdxen41.prod.cs'

    return {'layout': site_layout('max'),
            'page_title': page_title,
            'au': au,
            'results': results,
            'type': type,
            'host': host,
            'uniq_id': uniq_id,
            'ng': ng,
            'vhost': vhost,
           }
Ejemplo n.º 10
0
def login(request):
    page_title = 'Login'

    au = get_authenticated_user(request)

    if request.referer:
        referer_host = request.referer.split('/')[2]
    else:
        referer_host = None

    # Need to send the client a 401 so it can send a user/pass to auth. Need a second condition to check for authenticated user
    if request.path_info.split('/')[1][:3] == 'api':
        logging.debug('request came from the api, sending request to re-auth')
        return HTTPUnauthorized()

    if request.referer and referer_host == request.host and request.referer.split('/')[3][:6] != 'logout':
        return_url = request.referer
    elif request.path != '/login':
        return_url = request.url
    else:
        return_url = '/'

    login = ''
    password = ''
    error = ''

    if 'form.submitted' in request.POST:
        login = request.POST['login']
        password = request.POST['password']

        # Try local first, ldap second
        data = local_authenticate(login, password)
        if data is None:
            connector = get_ldap_connector(request)
            data = connector.authenticate(login, password)
            
        if data is not None:
            dn = data[0]
            encrypted = signed_serialize(login, request.registry.settings['arsenal.cookie_token'])
            headers = remember(request, dn)
            headers.append(('Set-Cookie', 'un=' + str(encrypted) + '; Max-Age=604800; Path=/'))

            if 'api.client' in request.POST:
                return HTTPOk(headers=headers)
            else:
                return HTTPFound(request.POST['return_url'], headers=headers)
        else:
            error = 'Invalid credentials'
            if 'api.client' in request.POST:
                return HTTPForbidden()

    if request.authenticated_userid:

        if request.path == '/login':
            error = 'You are already logged in'
            page_title = 'Already Logged In'
        else:
            error = 'You do not have permission to access this page'
            page_title = 'Access Denied'
            if 'api.client' in request.POST:
                return HTTPForbidden()

    return {'layout': site_layout('max'),
            'page_title': page_title,
            'au': au,
            'return_url': return_url,
            'login': login,
            'password': password,
            'error': error,
           }
Ejemplo n.º 11
0
                    encrypted_password = sha512_crypt.encrypt(password, salt=salt)
                    user.salt = salt
                    user.password = encrypted_password
                    DBSession.flush()
                    return_url = '/logout?message=Your password has been changed successfully. Log in again.'
                    return HTTPFound(return_url)

                DBSession.flush()

            except Exception, e:
                pass
                log.info("%s (%s)" % (Exception, e))

    # Get the changes
    au = get_authenticated_user(request)
    subtitle = au['first_last']

    column_selectors = []

    return {'layout': site_layout('max'),
            'page_title_name': page_title_name,
            'page_title_type': page_title_type,
            'au': au,
            'perpage': perpage,
            'offset': offset,
            'total': total,
            'column_selectors': column_selectors,
            'subtitle': subtitle,
            'change_pw': change_pw,
           }