Search in sources :

Example 6 with UserId

use of de.metas.user.UserId in project metasfresh-webui-api by metasfresh.

the class ServletLoggingFilter method extractUserName.

private static final String extractUserName(final UserSession userSession) {
    final String userName = userSession.getUserName();
    if (!Check.isEmpty(userName, true)) {
        return userName;
    }
    final UserId loggedUserId = userSession.getLoggedUserIdIfExists().orElse(null);
    if (loggedUserId != null) {
        return String.valueOf(loggedUserId.getRepoId());
    }
    return "?";
}
Also used : UserId(de.metas.user.UserId)

Example 7 with UserId

use of de.metas.user.UserId in project metasfresh-webui-api by metasfresh.

the class WEBUI_UserGroupRecordAccess_Base method revokeAccessFromSelectedRows.

protected final void revokeAccessFromSelectedRows() {
    final Principal principal = getPrincipal();
    final UserId requestedBy = getUserId();
    final boolean revokeAllPermissions;
    final List<Access> permissionsToRevoke;
    final Access permission = getPermissionOrNull();
    if (permission == null) {
        revokeAllPermissions = true;
        permissionsToRevoke = ImmutableList.of();
    } else {
        revokeAllPermissions = false;
        permissionsToRevoke = ImmutableList.of(permission);
    }
    final IView view = getView();
    getSelectedRowIds().stream().map(view::getTableRecordReferenceOrNull).forEach(recordRef -> userGroupRecordAccessService.revokeAccess(RecordAccessRevokeRequest.builder().recordRef(recordRef).principal(principal).revokeAllPermissions(revokeAllPermissions).permissions(permissionsToRevoke).issuer(PermissionIssuer.MANUAL).requestedBy(requestedBy).build()));
}
Also used : IView(de.metas.ui.web.view.IView) UserId(de.metas.user.UserId) Access(de.metas.security.permissions.Access) Principal(de.metas.security.Principal)

Example 8 with UserId

use of de.metas.user.UserId in project metasfresh-webui-api by metasfresh.

the class DataEntrySubTabBindingRepository method updateDataEntryRecord.

private boolean updateDataEntryRecord(@NonNull final Document document, @NonNull final DataEntryRecord dataEntryRecord) {
    boolean refreshNeeded = false;
    final UserId userId = UserId.ofRepoId(Env.getAD_User_ID(document.getCtx()));
    for (final IDocumentFieldView fieldView : document.getFieldViews()) {
        final DataEntryFieldBindingDescriptor dataBinding = fieldView.getDescriptor().getDataBindingNotNull(DataEntryFieldBindingDescriptor.class);
        final FieldType fieldType = dataBinding.getFieldType();
        if (fieldType.equals(FieldType.SUB_TAB_ID) || fieldType.equals(FieldType.PARENT_LINK_ID) || fieldType.equals(FieldType.CREATED_UPDATED_INFO)) {
            continue;
        }
        final Object dataEntryFieldValue = dataEntryWebuiTools.extractFieldValueForDataEntry(fieldView);
        final DataEntryFieldId dataEntryFieldId = dataEntryWebuiTools.computeDataEntryFieldId(fieldView);
        final boolean valueChanged = dataEntryRecord.setRecordField(dataEntryFieldId, userId, dataEntryFieldValue);
        refreshNeeded = refreshNeeded || valueChanged;
    }
    return refreshNeeded;
}
Also used : DataEntryFieldId(de.metas.dataentry.DataEntryFieldId) UserId(de.metas.user.UserId) IDocumentFieldView(de.metas.ui.web.window.model.IDocumentFieldView) FieldType(de.metas.dataentry.FieldType)

Example 9 with UserId

use of de.metas.user.UserId in project metasfresh-webui-api by metasfresh.

the class PackageableRowsRepository method createPackageableRow.

private PackageableRow createPackageableRow(final Collection<Packageable> packageables) {
    Check.assumeNotEmpty(packageables, "packageables is not empty");
    final BPartnerId customerId = Packageable.extractSingleValue(packageables, Packageable::getCustomerId).get();
    final LookupValue customer = bpartnerLookup.get().findById(customerId);
    final WarehouseTypeId warehouseTypeId = Packageable.extractSingleValue(packageables, Packageable::getWarehouseTypeId).orElse(null);
    final ITranslatableString warehouseTypeName;
    if (warehouseTypeId != null) {
        warehouseTypeName = warehousesRepo.getWarehouseTypeById(warehouseTypeId).getName();
    } else {
        warehouseTypeName = null;
    }
    final ShipperId shipperId = Packageable.extractSingleValue(packageables, Packageable::getShipperId).orElse(null);
    final LookupValue shipper = shipperLookup.get().findById(shipperId);
    final OrderId salesOrderId = Packageable.extractSingleValue(packageables, Packageable::getSalesOrderId).get();
    final String salesOrderDocumentNo = Packageable.extractSingleValue(packageables, Packageable::getSalesOrderDocumentNo).get();
    final UserId lockedByUserId = Packageable.extractSingleValue(packageables, Packageable::getLockedBy).orElse(null);
    final LookupValue lockedByUser = userLookup.get().findById(lockedByUserId);
    return PackageableRow.builder().orderId(salesOrderId).orderDocumentNo(salesOrderDocumentNo).customer(customer).warehouseTypeId(warehouseTypeId).warehouseTypeName(warehouseTypeName).lockedByUser(lockedByUser).lines(packageables.size()).shipper(shipper).lineNetAmt(buildNetAmtTranslatableString(packageables)).packageables(packageables).build();
}
Also used : UserId(de.metas.user.UserId) ITranslatableString(de.metas.i18n.ITranslatableString) WarehouseTypeId(org.adempiere.warehouse.WarehouseTypeId) BPartnerId(de.metas.bpartner.BPartnerId) ITranslatableString(de.metas.i18n.ITranslatableString) OrderId(de.metas.order.OrderId) ShipperId(de.metas.shipping.ShipperId) LookupValue(de.metas.ui.web.window.datatypes.LookupValue)

Example 10 with UserId

use of de.metas.user.UserId in project metasfresh-webui-api by metasfresh.

the class UserSession method getCurrentIfMatchingOrNull.

public static UserSession getCurrentIfMatchingOrNull(@NonNull final UserId adUserId) {
    final UserSession userSession = getCurrentOrNull();
    if (userSession == null) {
        return null;
    }
    final UserId loggedUserId = userSession.getLoggedUserIdIfExists().orElse(null);
    if (!UserId.equals(loggedUserId, adUserId)) {
        return null;
    }
    return userSession;
}
Also used : UserId(de.metas.user.UserId)

Aggregations

UserId (de.metas.user.UserId)22 AdempiereException (org.adempiere.exceptions.AdempiereException)4 GetMapping (org.springframework.web.bind.annotation.GetMapping)4 BoilerPlateContext (de.metas.letters.model.MADBoilerPlate.BoilerPlateContext)3 DocumentPath (de.metas.ui.web.window.datatypes.DocumentPath)3 LookupValue (de.metas.ui.web.window.datatypes.LookupValue)3 JSONDocumentPath (de.metas.ui.web.window.datatypes.json.JSONDocumentPath)3 ApiOperation (io.swagger.annotations.ApiOperation)3 DeleteMapping (org.springframework.web.bind.annotation.DeleteMapping)3 PostMapping (org.springframework.web.bind.annotation.PostMapping)3 ImmutableSet (com.google.common.collect.ImmutableSet)2 BPartnerId (de.metas.bpartner.BPartnerId)2 Principal (de.metas.security.Principal)2 Access (de.metas.security.permissions.Access)2 I_AD_User (org.compiere.model.I_AD_User)2 Supplier (com.google.common.base.Supplier)1 ImmutableList (com.google.common.collect.ImmutableList)1 BPartnerLocationId (de.metas.bpartner.BPartnerLocationId)1 DataEntryFieldId (de.metas.dataentry.DataEntryFieldId)1 FieldType (de.metas.dataentry.FieldType)1