Skip to content

Commit

Permalink
Merge pull request #2042 from scireum/feature/sbi/SIRI-1020
Browse files Browse the repository at this point in the history
  • Loading branch information
sabieber authored Oct 21, 2024
2 parents 77dfa1c + a9d2cdc commit 88ff5b3
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@
package sirius.biz.tycho.smart;

import sirius.biz.tenants.Tenant;
import sirius.biz.tenants.TenantController;
import sirius.biz.tenants.TenantUserManager;
import sirius.biz.tenants.Tenants;
import sirius.kernel.commons.Strings;
import sirius.kernel.di.std.Part;
Expand Down Expand Up @@ -41,17 +43,15 @@ public void collectValues(String type, Object payload, Consumer<SmartValue> valu
}

UserInfo currentUser = UserContext.getCurrentUser();
if (Strings.areEqual(tenant.getIdAsString(), currentUser.getTenantId())) {
return;
}
if (currentUser.hasPermission("permission-select-tenant")) {
if (currentUser.hasPermission(TenantUserManager.PERMISSION_SELECT_TENANT)
&& !Strings.areEqual(tenant.getIdAsString(), currentUser.getTenantId())) {
valueCollector.accept(new SmartValue("fa-solid fa-exchange-alt",
NLS.get("TenantController.select"),
"/tenants/select/" + tenant.getIdAsString(),
null));
}

if (currentUser.hasPermission("permission-manage-tenants")) {
if (currentUser.hasPermission(TenantController.PERMISSION_MANAGE_TENANTS)) {
valueCollector.accept(new SmartValue("fa-solid fa-pen-to-square",
NLS.get("TenantController.edit"),
"/tenant/" + tenant.getIdAsString(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@

package sirius.biz.tycho.smart;

import sirius.biz.tenants.TenantUserManager;
import sirius.biz.tenants.Tenants;
import sirius.biz.tenants.UserAccount;
import sirius.kernel.commons.Strings;
Expand All @@ -33,14 +34,15 @@ public class UserAccountSmartValueProvider implements SmartValueProvider {
public void collectValues(String type, Object payload, Consumer<SmartValue> valueCollector) {
if (payload instanceof UserAccount<?, ?> user) {
if (tenants != null
&& UserContext.getCurrentUser().hasPermission("permission-select-tenant")
&& UserContext.getCurrentUser()
.hasPermission(TenantUserManager.PERMISSION_SELECT_TENANT)
&& !Strings.areEqual(user.getTenantAsString(), UserContext.getCurrentUser().getTenantId())) {
valueCollector.accept(new SmartValue("fa-solid fa-exchange-alt",
tenants.fetchCachedTenantName(user.getTenantAsString()),
"/tenants/select/" + user.getTenantAsString(),
null));
}
if (UserContext.getCurrentUser().hasPermission("permission-select-user-account")
if (UserContext.getCurrentUser().hasPermission(TenantUserManager.PERMISSION_SELECT_USER_ACCOUNT)
&& !Strings.areEqual(user.getUniqueName(), UserContext.getCurrentUser().getUserId())) {
valueCollector.accept(new SmartValue("fa-solid fa-exchange-alt",
user.getUserAccountData().getShortName(),
Expand Down

0 comments on commit 88ff5b3

Please sign in to comment.