Esempio n. 1
0
def view_clients_get(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None

    if client_id is None:
        raise exception.HTTPBadRequest(detail='Missing required parameters',
                                       explanation='Client Id is required')

    services = request.services()
    client = None
    try:
        clientsStore = services['store.admin.clients']
        client = clientsStore.get(client_id)
    except Exception as e:
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    if client is None:
        raise exception.HTTPInternalServerError(detail='Client not found',
                                                explanation='Client not found')
    else:
        raise exception.HTTPOk(detail='client',
                               body={
                                   'client': {
                                       'id': client[0],
                                       'active': client[1],
                                       'name': client[2],
                                       'address': client[3],
                                       'countryId': client[4],
                                       'currencyId': client[5]
                                   }
                               })
Esempio n. 2
0
def api_common_countries_get(request):
    params = request.json_body
    country_id = params['countryId'] if 'countryId' in params else None

    if country_id is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Country Id is required'
        )

    services = request.services()
    store = services['store.common.countries']
    country = {}
    try:
        r = store.get(country_id)
        country = {
            'name': r[0],
            'alpha_2': r[1],
            'alpha_3': r[2],
            'id': r[3]
        }
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(
            detail=str(e),
            explanation=str(e)
        )

    raise exception.HTTPOk(
        detail='country found',
        body={
            'country': country
        }
    )
Esempio n. 3
0
def view_clients_user_remove(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    user_id = params['userId'] if 'userId' in params else None

    if client_id is None or user_id is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameter',
            explanation='Client Id and User Id is required'
        )

    services = request.services()
    try:
        usersStore = services['store.admin.users']
        usersStore.removeClientUser(client_id, user_id)
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(
            detail=str(e),
            explanation=str(e)
            
        )

    raise exception.HTTPOk(
        detail='Client User removed',
        body={'message': 'Client User removed'}
    )
Esempio n. 4
0
def api_purchasing_vendor_get(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    vendor_id = params['vendorId'] if 'vendorId' in params else None

    if client_id is None or filter is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameter',
            explanation='Client Id and filter is required')

    services = request.services()
    vendorStore = services['store.purchasing.vendors']
    vendor = {}
    try:
        r = vendorStore.get(client_id, vendor_id)
        vendor = {
            'id': r[0],
            'name': r[1],
            'address': r[2],
            'country_id': r[3]
        }
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail='vendor found', body={'vendor': vendor})
Esempio n. 5
0
def api_hr_shifts_filter(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    filter = params['filter'] if 'filter' in params else None

    if client_id is None or filter is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Client Id and filter is required')

    services = request.services()
    store = services['store.hr.shifts']
    shifts = []
    try:
        result = store.filter(client_id, filter)
        shifts = [{
            'id': r[0],
            'active': r[1],
            'created': r[2],
            'name': r[3],
            'start': r[4],
            'end': r[5]
        } for r in result]
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail=f'{len(result)} shifts found',
                           body={'shifts': shifts})
Esempio n. 6
0
def api_accounting_account_get(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    account_id = params['accountId'] if 'accountId' in params else None

    if client_id is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameter',
            explanation='Client Id and Account Id is required')

    services = request.services()
    account = {}
    try:
        accountStore = services['store.accounting.accounts']
        r = accountStore.get(client_id, account_id)
        account = {
            'id': r[0],
            'active': r[1],
            'created_ts': r[2],
            'type_id': r[3],
            'name': r[4],
            'description': r[5]
        }
    except StoreException as e:
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail='account found', body={'account': account})
Esempio n. 7
0
def api_members_filter(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    filter = params['filter'] if 'filter' in params else None

    if client_id is None or filter is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Client Id and filter is required')

    services = request.services()
    membersStore = services['store.hr.members']
    members = []
    try:
        result = membersStore.filter(client_id, filter)
        members = [{
            'id': r[0],
            'firstName': r[1],
            'middleName': r[2],
            'lastName': r[3],
            'prefix': r[4],
            'suffix': r[5]
        } for r in result]
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail=f'{len(members)} members found',
                           body={'members': members})
Esempio n. 8
0
def view_inventory_item_substitutes_add(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    item_id = params['itemId'] if 'itemId' in params else None
    substitute_item_id = params[
        'substituteItemId'] if 'substituteItemId' in params else None

    if client_id is None or item_id is None or substitute_item_id is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Client Id, Item Id and Substitute Item Id is required'
        )

    services = request.services()
    itemStore = services['store.inventory.items']
    try:
        itemStore.addSubstitute(client_id, item_id, substitute_item_id)
    except ValidationError as e:
        log.error(e)
        raise exception.HTTPBadRequest(detail=e.message,
                                       explanation='Incorrect parameters')
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(
        detail='Inventory Item Substitute record created',
        body={'message': 'Inventory Item Substitute record created'})
Esempio n. 9
0
def serve_websocket(request, port):
    """Start UWSGI websocket loop and proxy."""
    env = request.environ

    # Send HTTP response 101 Switch Protocol downstream
    uwsgi.websocket_handshake(env['HTTP_SEC_WEBSOCKET_KEY'],
                              env.get('HTTP_ORIGIN', ''))

    # Map the websocket URL to the upstream localhost:4000x Notebook instance
    parts = urlparse(request.url)
    parts = parts._replace(scheme="ws", netloc="localhost:{}".format(port))
    url = urlunparse(parts)

    # Proxy initial connection headers
    headers = [(header, value) for header, value in request.headers.items()
               if header.lower() in CAPTURE_CONNECT_HEADERS]

    logger.info("Connecting to upstream websockets: %s, headers: %s", url,
                headers)

    ws = ProxyClient(url, headers=headers)
    ws.connect()

    # TODO: Will complain loudly about already send headers - how to abort?
    return httpexceptions.HTTPOk()
Esempio n. 10
0
def view_inventory_items_uom(request):
    params = request.json_body
    dimension = params['dimension'] if 'dimension' in params else ''

    services = request.services()
    uoms = []
    try:
        uomStore = services['store.common.uom']
        result = []
        if dimension == 'length':
            result = uomStore.length()
        elif dimension == 'area':
            result = uomStore.area()
        elif dimension == 'volume':
            result = uomStore.volume()
        elif dimension == 'weight':
            result = uomStore.weight()
        elif dimension == 'quantity':
            result = uomStore.quantity()
        elif dimension == '':
            result = uomStore.all()

        uoms = [{'id': r[0], 'name': r[1], 'symbol': r[2]} for r in result]
    except Exception as e:
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail='{0} uom found'.format(len(uoms)),
                           body={'uoms': uoms})
Esempio n. 11
0
def view_inventory_item_update(request):
    params = request.json_body

    client_id = params['clientId'] if 'clientId' in params else None
    if client_id is None:
        raise exception.HTTPBadRequest(detail='Missing required parameter',
                                       explanation='Client Id is required')

    services = request.services()
    itemStore = services['store.inventory.items']
    validator = services['validator.json']
    try:
        # validate( instance = params, schema = schema)
        validator.validate(instance=params, schema_file='/inventory/item.json')

        itemStore.update(params)
    except ValidationError as e:
        log.error(e)
        raise exception.HTTPBadRequest(detail=e.message,
                                       explanation='Incorrect parameters')
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail='Inventory Item record updated',
                           body={'message': 'Inventory Item record updated'})
Esempio n. 12
0
def api_inventory_locations_get(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    location_id = params['locationId'] if 'locationId' in params else None

    if client_id is None or filter is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Client Id and Location Id is required')

    services = request.services()
    store = services['store.inventory.locations']
    location = {}
    try:
        r = store.get(client_id, location_id)
        location = {
            'id': r[0],
            'facilityId': r[1],
            'name': r[2],
            'floorId': r[3],
            'aisleId': r[4],
            'areaId': r[5],
            'sectionId': r[6],
            'shelfId': r[7],
            'rackId': r[8],
            'levelId': r[9],
            'binId': r[10]
        }
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail='location found',
                           body={'location': location})
Esempio n. 13
0
def api_inventory_locations_update(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    location_id = params['locationId'] if 'locationId' in params else None
    facility_id = params['facilityId'] if 'facilityId' in params else None
    name = params['name'] if 'name' in params else None
    floor_id = params['floorId'] if 'floorId' in params else None
    aisle_id = params['aisleId'] if 'aisleId' in params else None
    area_id = params['areaId'] if 'areaId' in params else None
    section_id = params['sectionId'] if 'sectionId' in params else None
    shelf_id = params['shelfId'] if 'shelfId' in params else None
    rack_id = params['rackId'] if 'rackId' in params else None
    level_id = params['levelId'] if 'levelId' in params else None
    bin_id = params['binId'] if 'binId' in params else None

    if client_id is None or location_id is None or facility_id is None or name is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Client Id, Warehouse Id and name is required')

    services = request.services()
    store = services['store.inventory.locations']
    try:
        store.update(client_id, location_id, facility_id, name, floor_id,
                     aisle_id, area_id, section_id, shelf_id, rack_id,
                     level_id, bin_id)
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail='Inventory Location update',
                           body={'message': 'Inventory Location update'})
Esempio n. 14
0
def api_inventory_locations_filter(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    filter = params['filter'] if 'filter' in params else None

    if client_id is None or filter is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Client Id and filter is required')

    services = request.services()
    store = services['store.inventory.locations']
    locations = []
    try:
        result = store.filter(client_id, filter)
        locations = [{
            'id': r[0],
            'facilityId': r[1],
            'name': r[2],
            'floorId': r[3],
            'aisleId': r[4],
            'areaId': r[5],
            'sectionId': r[6],
            'shelfId': r[7],
            'rackId': r[8],
            'levelId': r[9],
            'binId': r[10]
        } for r in result]
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail=f'{len(locations)} locations found',
                           body={'locations': locations})
Esempio n. 15
0
def view_clients_organizations_update(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    org_id = params['organizationId'] if 'organizationId' in params else None
    name = params['name'] if 'name' in params else None
    description = params['description'] if 'description' in params else None

    if client_id is None or org_id is None or name is None or description is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation=
            'Client Id, Organization Id, name and description is required')

    session = request.session
    client_id = session['client']

    services = request.services()
    try:
        orgStore = services['store.clients.organizations']
        result = orgStore.update(client_id, org_id, name, description)
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail='Client Organization updated',
                           body={'message': 'Client Organization updated'})
Esempio n. 16
0
def view_clients_role_active(request):
    params = request.json_body
    role_id = params['roleId'] if 'roleId' in params else None
    active = params['active'] if 'active' in params else None

    if role_id is None or active is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Role Id and Active status is required'
        )

    services = request.services()
    try:
        rolesStore = services['store.admin.roles']
        rolesStore.setActive(role_id, active)
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(
            detail=str(e),
            explanation=str(e)
        )

    raise exception.HTTPOk(
        detail='Client Role active status updated',
        body={'message': 'Client Role active status updated'}
    )
Esempio n. 17
0
def view_accounting_accounts_filter(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    filter = params['filter'] if 'filter' in params else None

    if client_id is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameter',
            explanation='Client Id and filter is required')

    services = request.services()
    accounts = []
    try:
        accountStore = services['store.accounting.accounts']
        result = accountStore.filter(client_id, filter)
        accounts = [{
            'id': r[0],
            'active': r[1],
            'type_id': r[2],
            'name': r[3],
            'description': r[4]
        } for r in result]
    except Exception as e:
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail='{0} accounts found'.format(len(accounts)),
                           body={'accounts': accounts})
Esempio n. 18
0
def view_clients_roles_permissions(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    role_id = params['roleId'] if 'roleId' in params else None

    if client_id is None or role_id is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Client Id and Role Id is required'
        )

    permissions = []
    services = request.services()
    try:
        rolesStore = services['store.admin.roles']
        result = rolesStore.permissions(client_id, role_id)
        permissions = [{
            'id': r[0],
            'active': r[1],
            'name': r[2]
        } for r in result]
    except Exception as e:
        raise exception.HTTPInternalServerError(
            detail=str(e),
            explanation=str(e)
        )

    raise exception.HTTPOk(
        detail='{0} client roles found'.format(len(permissions)),
        body={
            'permissions': permissions
        }
    )
Esempio n. 19
0
def api_accounting_transactions_filter(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    filter = params['filter'] if 'filter' in params else None

    if client_id is None or filter is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Client Id and filter is required')

    services = request.services()
    store = services['store.accounting.transactions']
    transactions = []

    try:
        result = store.filter(client_id, filter)
        transactions = [{
            'transaction_id': r[0],
            'created': r[1],
            'posted': r[2],
            'currency_id': r[3],
            'description': r[4]
        } for r in result]
    except StoreException as e:
        log.error(e)
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail=f'{len(transactions)} transaction found',
                           body={'transactions': transactions})
Esempio n. 20
0
def view_client_roles_permission_remove(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    role_id = params['roleId'] if 'roleId' in params else None
    permission_id = params['permissionId'] if 'permissionId' in params else None

    if client_id is None or role_id is None or permission_id is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Client Id, Role Id and Permission Id is required'
        )

    services = request.services()
    try:
        rolesStore = services['store.admin.roles']
        rolesStore.removePermission(client_id, role_id, permission_id)
    except Exception as e:
        raise exception.HTTPInternalServerError(
            detail=str(e),
            explanation=str(e)
        )

    raise exception.HTTPOk(
        detail='client role permission removed',
        body={ 'message': 'Client Role permission removed' }
    )
Esempio n. 21
0
def api_hr_members_get(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    member_id = params['memberId'] if 'memberId' in params else None

    if client_id is None or member_id is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Client Id and Member Id is required')

    services = request.services()
    membersStore = services['store.hr.members']
    member = {}
    try:
        r = membersStore.get(client_id, member_id)
        result_ids = membersStore.get_ids(member_id)

        identifiers = [{'idType': r[0], 'value': r[1]} for r in result_ids]

        member = {
            'id': r[0],
            'firstName': r[1],
            'middleName': r[2],
            'lastName': r[3],
            'prefix': r[4],
            'suffix': r[5],
            'identifiers': identifiers
        }
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail='member found', body={'member': member})
Esempio n. 22
0
def view_clients_roles_add(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    role_id = params['roleId'] if 'roleId' in params else None
    name = params['name'] if 'name' in params else None

    if not all([client_id, role_id, name]):
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Client Id and Role Name is required'
        )

    services = request.services()
    try:
        rolesStore = services['store.admin.roles']
        rolesStore.add(
            client_id, 
            role_id,
            name
        )
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(
            detail=str(e),
            explanation=str(e)
        )

    raise exception.HTTPOk(
        detail='Client Role added',
        body={'message': 'Client Role added'}
    )
Esempio n. 23
0
def api_hr_shifts_save(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    shift_id = params['shiftId'] if 'shiftId' in params else None
    name = params['name'] if 'name' in params else None
    start = params['start'] if 'start' in params else None
    end = params['end'] if 'end' in params else None

    if client_id is None or shift_id is None or name is None or start is None or end is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation=
            'Client Id, shift id, name, start and end times are required')

    services = request.services()
    store = services['store.hr.shifts']
    try:
        store.save(client_id, shift_id, name, start, end)
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail='shift record saved',
                           body={'message': 'shift record saved'})
Esempio n. 24
0
 def delete_swatch(self):
     try:
         deleted = swatchservice.delete_swatch(
             self.user_id, self.request.matchdict['swatch_name'])
         return exp.HTTPOk() if deleted else exp.HTTPNotFound()
     except:
         return exp.HTTPInternalServerError()
Esempio n. 25
0
def api_common_uom_filter(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    dimension = params['dimension'] if 'dimension' in params else None
    filter = params['filter'] if 'filter' in params else None

    if client_id is None or dimension is None or filter is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameter',
            explanation='Client Id, dimension and filter is required')

    services = request.services()
    uoms = []
    try:
        store = services['store.common.uom']

        result = []
        if filter is None:
            result = store.all()
        else:
            result = store.filter(client_id, dimension, filter)

        uoms = [{'id': r[0], 'name': r[1], 'symbol': r[2]} for r in result]
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail=f'{len(uoms)} units found',
                           body={'uoms': uoms})
Esempio n. 26
0
def api_purchasing_po_filter(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    filter = params['filter'] if 'filter' in params else None

    if client_id is None or filter is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Client Id and filter is required')

    services = request.services()
    poStore = services['store.purchasing.po']
    pos = []
    try:
        result = poStore.filter(client_id, filter)
        pos = [{
            'id': r[0],
            'created': r[1],
            'description': r[2]
        } for r in result]
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail='{0} purchase orders found'.format(len(pos)),
                           body={'purchaseOrders': pos})
Esempio n. 27
0
def view_client_user_roles_add(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None
    user_id = params['userId'] if 'userId' in params else None
    role_ids = params['roleIds'] if 'roleIds' in params else None

    if client_id is None or user_id is None or role_ids is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Client Id, User Id and Role Ids are required'
        )

    services = request.services()
    try:
        usersStore = services['store.admin.users']
        usersStore.addClientUserRoles(client_id, user_id, role_ids)
    except Exception as e:
        raise exception.HTTPInternalServerError(
            detail=str(e),
            explanation=str(e)
        )

    raise exception.HTTPOk(
        detail='Client User Roles added',
        body={
            'message': 'Client User Roles added'
        }
    )
Esempio n. 28
0
def view_clients_organizations_set_parent(request):
    params = request.json_body
    org_id = params['organizationId'] if 'organizationId' in params else None
    parent_org_id = params[
        'parentOrganizationId'] if 'parentOrganizationId' in params else None

    if org_id is None or parent_org_id is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameters',
            explanation='Organization Id and Parent Organization Id is required'
        )

    session = request.session
    client_id = session['client']

    services = request.services()
    try:
        orgStore = services['store.clients.organizations']
        result = orgStore.setParentOrg(client_id, org_id, parent_org_id)
    except Exception as e:
        log.error(e)
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(
        detail='Client Organization assigned',
        body={'message': 'Client Organization assigned parent'})
Esempio n. 29
0
def view_clients_users_all(request):
    params = request.json_body
    client_id = params['clientId'] if 'clientId' in params else None

    if client_id is None:
        raise exception.HTTPBadRequest(
            detail='Missing required parameter',
            explanation='Client Id is required'
        )

    users = []
    services = request.services()
    try:
        usersStore = services['store.admin.users']
        result = usersStore.getAllClientUsers(client_id)
        users = [{
            'id': r[0],
            'active': r[1],
            'email': r[2],
            'name': r[3]
        } 
        for r in result]
    except Exception as e:
        raise exception.HTTPInternalServerError(
            detail=str(e),
            explanation=str(e)
        )

    raise exception.HTTPOk(
        detail='{0} client users found'.format(len(users)),
        body={
            'users': users
        }
    )
Esempio n. 30
0
def view_clients_filter(request):
    params = request.json_body
    filter = params['filter'] if 'filter' in params else None

    if filter is None:
        raise exception.HTTPBadRequest(detail='Missing required parameters',
                                       explanation='Filter is required')

    services = request.services()
    clients = []
    try:
        clientsStore = services['store.admin.clients']
        result = clientsStore.filter(filter)
        clients = [{
            'id': c[0],
            'active': c[1],
            'name': c[2],
            'address': c[3],
            'country_id': c[4],
            'currency_id': c[5]
        } for c in result]
    except Exception as e:
        raise exception.HTTPInternalServerError(detail=str(e),
                                                explanation=str(e))

    raise exception.HTTPOk(detail='{0} clients found'.format(len(clients)),
                           body={'clients': clients})