Skip to content

Commit

Permalink
fix: don't try to load member when there is no user
Browse files Browse the repository at this point in the history
- It is unnecessary to load member for user if the user
  is not present in session (id = -1).
- Handle it the same way as when user is not member.
- Removed unused import.
  • Loading branch information
zlamalp committed Apr 19, 2023
1 parent 2cc2246 commit 016eb5d
Show file tree
Hide file tree
Showing 2 changed files with 98 additions and 70 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
package cz.metacentrum.perun.wui.model.columnProviders;

import com.google.gwt.cell.client.FieldUpdater;
import com.google.gwt.thirdparty.guava.common.collect.Sets;
import cz.metacentrum.perun.wui.model.ColumnProvider;
import cz.metacentrum.perun.wui.model.beans.Owner;
import cz.metacentrum.perun.wui.model.resources.PerunComparator;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -251,95 +251,124 @@ public void onClick(ClickEvent event) {
});

} else {
// get member and his attributes to decide whether he is valid with no expiration date to know whether to display extension dialog or not
MembersManager.getMemberByUser(PerunSession.getInstance().getUserId(), vo.getId(), new JsonEvents() {
@Override
public void onFinished(JavaScriptObject result) {
Member member = (Member) result;
MembersManager.getRichMemberWithAttributes(member.getId(), new JsonEvents() {
@Override
public void onFinished(JavaScriptObject result) {
RichMember richMember = (RichMember) result;
if (Objects.equals(richMember.getMembershipStatus(), "VALID") &&
richMember.getAttribute(EXPIRATION_ATTRIBUTE_URN) == null) {
neverExp = true;

// if there is a known user
if (PerunSession.getInstance().getUserId() > 0) {

// get member and his attributes to decide whether he is valid with no expiration date to know whether to display extension dialog or not
MembersManager.getMemberByUser(PerunSession.getInstance().getUserId(), vo.getId(), new JsonEvents() {
@Override
public void onFinished(JavaScriptObject result) {
Member member = (Member) result;
MembersManager.getRichMemberWithAttributes(member.getId(), new JsonEvents() {
@Override
public void onFinished(JavaScriptObject result) {
RichMember richMember = (RichMember) result;
if (Objects.equals(richMember.getMembershipStatus(), "VALID") &&
richMember.getAttribute(EXPIRATION_ATTRIBUTE_URN) == null) {
neverExp = true;
}
loader.onFinished();
loader.removeFromParent();

// CHECK SIMILAR USERS
// Make sure we load form only after user decide to skip identity joining

if (!registrar.getSimilarUsers().isEmpty() &&
!isApplicationPending(registrar) &&
!PerunConfiguration.findSimilarUsersDisabled()) {
showSimilarUsersDialog(registrar.getSimilarUsers(), new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
loadSteps(pp, registrar);
}
});
} else {
loadSteps(pp, registrar);
}
}
loader.onFinished();
loader.removeFromParent();

// CHECK SIMILAR USERS
// Make sure we load form only after user decide to skip identity joining
@Override
public void onError(PerunException error) {
loader.onFinished();
loader.removeFromParent();

// CHECK SIMILAR USERS
// Make sure we load form only after user decide to skip identity joining

if (!registrar.getSimilarUsers().isEmpty() &&
!isApplicationPending(registrar) &&
!PerunConfiguration.findSimilarUsersDisabled()) {
showSimilarUsersDialog(registrar.getSimilarUsers(), new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
loadSteps(pp, registrar);
}
});
} else {
loadSteps(pp, registrar);
}
}

@Override
public void onLoadingStart() {

if (!registrar.getSimilarUsers().isEmpty() &&
!isApplicationPending(registrar) &&
!PerunConfiguration.findSimilarUsersDisabled()) {
showSimilarUsersDialog(registrar.getSimilarUsers(), new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
loadSteps(pp, registrar);
}
});
} else {
loadSteps(pp, registrar);
}
}
});
}

@Override
public void onError(PerunException error) {
loader.onFinished();
loader.removeFromParent();
@Override
public void onError(PerunException error) {
loader.onFinished();
loader.removeFromParent();

// CHECK SIMILAR USERS
// Make sure we load form only after user decide to skip identity joining
// CHECK SIMILAR USERS
// Make sure we load form only after user decide to skip identity joining

if (!registrar.getSimilarUsers().isEmpty() &&
if (!registrar.getSimilarUsers().isEmpty() &&
!isApplicationPending(registrar) &&
!PerunConfiguration.findSimilarUsersDisabled()) {
showSimilarUsersDialog(registrar.getSimilarUsers(), new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
loadSteps(pp, registrar);
}
});
} else {
loadSteps(pp, registrar);
}
showSimilarUsersDialog(registrar.getSimilarUsers(), new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
loadSteps(pp, registrar);
}
});
} else {
loadSteps(pp, registrar);
}
}

@Override
public void onLoadingStart() {
@Override
public void onLoadingStart() {

}
});
}
}
});

@Override
public void onError(PerunException error) {
loader.onFinished();
loader.removeFromParent();
} else {

// same as onError() of getMemberByUser
loader.onFinished();
loader.removeFromParent();

// CHECK SIMILAR USERS
// Make sure we load form only after user decide to skip identity joining
// CHECK SIMILAR USERS
// Make sure we load form only after user decide to skip identity joining

if (!registrar.getSimilarUsers().isEmpty() &&
if (!registrar.getSimilarUsers().isEmpty() &&
!isApplicationPending(registrar) &&
!PerunConfiguration.findSimilarUsersDisabled()) {
showSimilarUsersDialog(registrar.getSimilarUsers(), new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
loadSteps(pp, registrar);
}
});
} else {
loadSteps(pp, registrar);
}
showSimilarUsersDialog(registrar.getSimilarUsers(), new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
loadSteps(pp, registrar);
}
});
} else {
loadSteps(pp, registrar);
}

@Override
public void onLoadingStart() {
}

}
});
}

}
Expand Down

0 comments on commit 016eb5d

Please sign in to comment.