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 "?";
}
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()));
}
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;
}
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();
}
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;
}
Aggregations