fix: Error when deleting a user (OD-2543)

This commit is contained in:
Robin Shen 2025-09-01 21:46:55 +08:00
parent f717f5ecd8
commit 9c1373442b
3 changed files with 19 additions and 1 deletions

View File

@ -209,6 +209,18 @@ public class User extends AbstractEntity implements AuthenticationInfo {
@Cache(usage=CacheConcurrencyStrategy.READ_WRITE)
private Collection<PullRequestMention> pullRequestMentions = new ArrayList<>();
@OneToMany(mappedBy=IssueDescriptionRevision.PROP_USER, cascade=CascadeType.REMOVE)
private Collection<IssueDescriptionRevision> issueDescriptionRevisions = new ArrayList<>();
@OneToMany(mappedBy=PullRequestDescriptionRevision.PROP_USER, cascade=CascadeType.REMOVE)
private Collection<PullRequestDescriptionRevision> pullRequestDescriptionRevisions = new ArrayList<>();
@OneToMany(mappedBy=IssueCommentRevision.PROP_USER, cascade=CascadeType.REMOVE)
private Collection<IssueCommentRevision> issueCommentRevisions = new ArrayList<>();
@OneToMany(mappedBy=PullRequestCommentRevision.PROP_USER, cascade=CascadeType.REMOVE)
private Collection<PullRequestCommentRevision> pullRequestCommentRevisions = new ArrayList<>();
@JsonIgnore
@Lob
@Column(nullable=false, length=65535)

View File

@ -18,6 +18,8 @@ public abstract class CommentRevision extends AbstractEntity {
private static final long serialVersionUID = 1L;
public static final String PROP_USER = "user";
public static final int MAX_CONTENT_LEN = 100000;
@ManyToOne(fetch=FetchType.LAZY)

View File

@ -11,7 +11,10 @@ import org.apache.wicket.model.AbstractReadOnlyModel;
import org.apache.wicket.request.cycle.RequestCycle;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import io.onedev.server.OneDev;
import io.onedev.server.entitymanager.SettingManager;
import io.onedev.server.model.User;
import io.onedev.server.security.SecurityUtils;
import io.onedev.server.util.DateRange;
import io.onedev.server.web.component.user.profile.UserProfilePanel;
import io.onedev.server.web.page.user.UserPage;
@ -32,7 +35,8 @@ public class UserProfilePage extends UserPage {
@Override
protected boolean isPermitted() {
return true;
return SecurityUtils.getAuthUser() != null
|| OneDev.getInstance(SettingManager.class).getSecuritySetting().isEnableAnonymousAccess();
}
@Override