SEBSERV-27 finished Institution GUI
This commit is contained in:
parent
aa3e5339db
commit
af5a06ee79
46 changed files with 146 additions and 81 deletions
|
@ -10,10 +10,17 @@ package ch.ethz.seb.sebserver.gbl.api;
|
|||
|
||||
public final class API {
|
||||
|
||||
public enum BulkActionType {
|
||||
HARD_DELETE,
|
||||
DEACTIVATE,
|
||||
ACTIVATE;
|
||||
}
|
||||
|
||||
public static final String PARAM_LOGO_IMAGE = "logoImageBase64";
|
||||
public static final String PARAM_INSTITUTION_ID = "institutionId";
|
||||
public static final String PARAM_MODEL_ID = "modelId";
|
||||
public static final String PARAM_ENTITY_TYPE = "entityType";
|
||||
public static final String PARAM_BULK_ACTION_TYPE = "bulkActionType";
|
||||
|
||||
public static final String INSTITUTION_VAR_PATH_SEGMENT = "/{" + PARAM_INSTITUTION_ID + "}";
|
||||
public static final String MODEL_ID_VAR_PATH_SEGMENT = "/{" + PARAM_MODEL_ID + "}";
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
package ch.ethz.seb.sebserver.gbl.model;
|
||||
package ch.ethz.seb.sebserver.gbl.api;
|
||||
|
||||
import javax.annotation.Generated;
|
||||
|
|
@ -11,7 +11,7 @@ package ch.ethz.seb.sebserver.gbl.authorization;
|
|||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.user.UserRole;
|
||||
|
||||
/** Defines a Privilege by combining a PrivilegeType for base (overall) rights,
|
||||
|
|
|
@ -11,6 +11,7 @@ package ch.ethz.seb.sebserver.gbl.model;
|
|||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.API;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
|
||||
public interface Entity extends ModelIdAware {
|
||||
|
||||
|
|
|
@ -14,6 +14,8 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
|||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
|
||||
public class EntityKey {
|
||||
|
||||
@JsonProperty(value = "modelId", required = true)
|
||||
|
|
|
@ -14,6 +14,7 @@ import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
|||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.API;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class EntityName implements ModelIdAware, ModelNameAware {
|
||||
|
|
|
@ -19,10 +19,10 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
|||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.api.POSTMapper;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Activatable;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Domain.EXAM;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.authorization.GrantEntity;
|
||||
|
||||
public final class Exam implements GrantEntity, Activatable {
|
||||
|
|
|
@ -16,10 +16,10 @@ import javax.validation.constraints.Size;
|
|||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Domain.EXAM;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Domain.INDICATOR;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Domain.THRESHOLD;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Utils;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.authorization.GrantEntity;
|
||||
|
||||
|
|
|
@ -16,10 +16,10 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
|||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.api.POSTMapper;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Activatable;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Domain.INSTITUTION;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.authorization.GrantEntity;
|
||||
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
|
|
|
@ -15,12 +15,12 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
|||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.api.POSTMapper;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Activatable;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Domain.INSTITUTION;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Domain.LMS_SETUP;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityName;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.authorization.GrantEntity;
|
||||
|
||||
public final class LmsSetup implements GrantEntity, Activatable {
|
||||
|
|
|
@ -13,8 +13,8 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
|
|||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.model.Domain.USER_ACTIVITY_LOG;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Entity;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.dao.UserActivityLogDAO.ActivityType;
|
||||
|
||||
public class UserActivityLog implements Entity {
|
||||
|
|
|
@ -19,10 +19,10 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
|||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Activatable;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Domain.USER;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Domain.USER_ROLE;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Utils;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.authorization.GrantEntity;
|
||||
|
||||
|
|
|
@ -22,10 +22,10 @@ import com.fasterxml.jackson.annotation.JsonCreator;
|
|||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.api.POSTMapper;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Domain.USER;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Domain.USER_ROLE;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.authorization.GrantEntity;
|
||||
|
||||
public final class UserMod implements GrantEntity {
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
|
||||
package ch.ethz.seb.sebserver.gbl.model.user;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Entity;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
|
||||
/** Defines the possible user roles of SEB Server users. */
|
||||
public enum UserRole implements Entity {
|
||||
|
|
|
@ -35,7 +35,9 @@ public class GuiWebsecurityConfig extends WebSecurityConfigurerAdapter {
|
|||
// RAP/RWT resources has to be accessible
|
||||
new AntPathRequestMatcher("/rwt-resources/**"),
|
||||
// project specific static resources
|
||||
new AntPathRequestMatcher("/images/**"));
|
||||
new AntPathRequestMatcher("/images/**"),
|
||||
|
||||
new AntPathRequestMatcher("/favicon.ico"));
|
||||
|
||||
@Override
|
||||
public void configure(final WebSecurity web) {
|
||||
|
|
|
@ -12,6 +12,7 @@ import org.eclipse.swt.widgets.Composite;
|
|||
import org.eclipse.swt.widgets.Shell;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gui.service.i18n.LocTextKey;
|
||||
import ch.ethz.seb.sebserver.gui.service.page.action.Action;
|
||||
import ch.ethz.seb.sebserver.gui.service.page.action.ActionDefinition;
|
||||
import ch.ethz.seb.sebserver.gui.service.page.activity.ActivitySelection;
|
||||
|
@ -129,9 +130,9 @@ public interface PageContext {
|
|||
/** Apply a confirm dialog with a specified confirm message and a callback code
|
||||
* block that will be executed on users OK selection.
|
||||
*
|
||||
* @param confirmMessage
|
||||
* @param confirmMessage the localized confirm message key
|
||||
* @param onOK callback code block that will be executed on users OK selection */
|
||||
void applyConfirmDialog(String confirmMessage, Runnable onOK);
|
||||
void applyConfirmDialog(LocTextKey confirmMessage, Runnable onOK);
|
||||
|
||||
void forwardToPage(
|
||||
PageDefinition pageDefinition,
|
||||
|
|
|
@ -9,15 +9,14 @@
|
|||
package ch.ethz.seb.sebserver.gui.service.page.action;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.function.BooleanSupplier;
|
||||
import java.util.function.Function;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.util.Result;
|
||||
import ch.ethz.seb.sebserver.gui.service.i18n.LocTextKey;
|
||||
import ch.ethz.seb.sebserver.gui.service.page.PageContext;
|
||||
import ch.ethz.seb.sebserver.gui.service.page.PageMessageException;
|
||||
import ch.ethz.seb.sebserver.gui.service.page.event.ActionEvent;
|
||||
|
@ -29,9 +28,8 @@ public final class Action implements Runnable {
|
|||
private static final Logger log = LoggerFactory.getLogger(Action.class);
|
||||
|
||||
public final ActionDefinition definition;
|
||||
String confirmationMessage;
|
||||
BooleanSupplier confirmComdition = () -> true;
|
||||
String successMessage;
|
||||
Supplier<LocTextKey> confirm;
|
||||
LocTextKey successMessage;
|
||||
boolean updateOnSelection;
|
||||
|
||||
final RestService restService;
|
||||
|
@ -51,10 +49,11 @@ public final class Action implements Runnable {
|
|||
|
||||
@Override
|
||||
public void run() {
|
||||
if (StringUtils.isNotBlank(this.confirmationMessage) && this.confirmComdition.getAsBoolean()) {
|
||||
this.pageContext.applyConfirmDialog(
|
||||
this.confirmationMessage,
|
||||
() -> exec());
|
||||
if (this.confirm != null) {
|
||||
final LocTextKey confirmMessage = this.confirm.get();
|
||||
if (confirmMessage != null) {
|
||||
this.pageContext.applyConfirmDialog(confirmMessage, () -> exec());
|
||||
}
|
||||
} else {
|
||||
exec();
|
||||
}
|
||||
|
@ -89,13 +88,18 @@ public final class Action implements Runnable {
|
|||
return this;
|
||||
}
|
||||
|
||||
public Action withConfirm(final String confirmationMessage) {
|
||||
this.confirmationMessage = confirmationMessage;
|
||||
public Action withConfirm(final String confirmationMessageKey) {
|
||||
this.confirm = () -> new LocTextKey(confirmationMessageKey);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Action withSuccess(final String successMessage) {
|
||||
this.successMessage = successMessage;
|
||||
public Action withConfirm(final Supplier<LocTextKey> confirm) {
|
||||
this.confirm = confirm;
|
||||
return this;
|
||||
}
|
||||
|
||||
public Action withSuccess(final String successMessageKey) {
|
||||
this.successMessage = new LocTextKey(successMessageKey);
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
@ -14,8 +14,8 @@ import java.util.Collection;
|
|||
import java.util.function.Function;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.API;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.institution.Institution;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Result;
|
||||
import ch.ethz.seb.sebserver.gui.service.page.PageContext;
|
||||
|
|
|
@ -8,7 +8,9 @@
|
|||
|
||||
package ch.ethz.seb.sebserver.gui.service.page.content;
|
||||
|
||||
import java.util.Set;
|
||||
import java.util.UUID;
|
||||
import java.util.function.Supplier;
|
||||
|
||||
import org.apache.commons.lang3.BooleanUtils;
|
||||
import org.eclipse.swt.SWT;
|
||||
|
@ -16,13 +18,17 @@ import org.eclipse.swt.layout.GridData;
|
|||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.API;
|
||||
import ch.ethz.seb.sebserver.gbl.api.API.BulkActionType;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.PrivilegeType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Domain;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Entity;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.institution.Institution;
|
||||
import ch.ethz.seb.sebserver.gbl.profile.GuiProfile;
|
||||
import ch.ethz.seb.sebserver.gui.service.i18n.LocTextKey;
|
||||
|
@ -36,6 +42,7 @@ import ch.ethz.seb.sebserver.gui.service.page.form.FormHandle;
|
|||
import ch.ethz.seb.sebserver.gui.service.page.form.PageFormService;
|
||||
import ch.ethz.seb.sebserver.gui.service.remote.webservice.api.RestService;
|
||||
import ch.ethz.seb.sebserver.gui.service.remote.webservice.api.institution.GetInstitution;
|
||||
import ch.ethz.seb.sebserver.gui.service.remote.webservice.api.institution.GetInstitutionDependency;
|
||||
import ch.ethz.seb.sebserver.gui.service.remote.webservice.api.institution.NewInstitution;
|
||||
import ch.ethz.seb.sebserver.gui.service.remote.webservice.api.institution.SaveInstitution;
|
||||
import ch.ethz.seb.sebserver.gui.service.remote.webservice.auth.CurrentUser;
|
||||
|
@ -46,6 +53,8 @@ import ch.ethz.seb.sebserver.gui.service.widget.WidgetFactory;
|
|||
@GuiProfile
|
||||
public class InstitutionForm implements TemplateComposer {
|
||||
|
||||
private static final Logger log = LoggerFactory.getLogger(InstitutionForm.class);
|
||||
|
||||
private final PageFormService pageFormService;
|
||||
private final RestService restService;
|
||||
private final CurrentUser currentUser;
|
||||
|
@ -62,8 +71,12 @@ public class InstitutionForm implements TemplateComposer {
|
|||
|
||||
@Override
|
||||
public void compose(final PageContext pageContext) {
|
||||
final WidgetFactory widgetFactory = this.pageFormService.getWidgetFactory();
|
||||
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Compose Institutoion Form");
|
||||
}
|
||||
|
||||
final WidgetFactory widgetFactory = this.pageFormService.getWidgetFactory();
|
||||
final boolean readonly = BooleanUtils.toBoolean(
|
||||
pageContext.getAttribute(AttributeKeys.READ_ONLY, "true"));
|
||||
final boolean createNew = BooleanUtils.toBoolean(
|
||||
|
@ -165,6 +178,7 @@ public class InstitutionForm implements TemplateComposer {
|
|||
} else {
|
||||
formContext.createAction(ActionDefinition.INSTITUTION_DEACTIVATE)
|
||||
.withExec(InstitutionActions::deactivateInstitution)
|
||||
.withConfirm(confirmDeactivation(institution))
|
||||
.publish();
|
||||
}
|
||||
}
|
||||
|
@ -177,7 +191,27 @@ public class InstitutionForm implements TemplateComposer {
|
|||
.withConfirm("sebserver.overall.action.modify.cancel.confirm")
|
||||
.publish();
|
||||
}
|
||||
}
|
||||
|
||||
private Supplier<LocTextKey> confirmDeactivation(final Institution institution) {
|
||||
return () -> {
|
||||
try {
|
||||
final Set<EntityKey> dependencies = this.restService.getBuilder(GetInstitutionDependency.class)
|
||||
.withURIVariable(API.PARAM_MODEL_ID, String.valueOf(institution.id))
|
||||
.withQueryParam(API.PARAM_BULK_ACTION_TYPE, BulkActionType.DEACTIVATE.name())
|
||||
.call()
|
||||
.getOrThrow();
|
||||
final int size = dependencies.size();
|
||||
if (size > 0) {
|
||||
return new LocTextKey("sebserver.institution.form.confirm.deactivation", String.valueOf(size));
|
||||
} else {
|
||||
return new LocTextKey("sebserver.institution.form.confirm.deactivation.noDependencies");
|
||||
}
|
||||
} catch (final Exception e) {
|
||||
log.error("Failed to get dependencyies for Institution: {}", institution, e);
|
||||
return new LocTextKey("sebserver.institution.form.confirm.deactivation", "");
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -24,10 +24,11 @@ import org.slf4j.LoggerFactory;
|
|||
|
||||
import ch.ethz.seb.sebserver.gbl.api.APIMessage;
|
||||
import ch.ethz.seb.sebserver.gbl.api.APIMessageError;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Utils;
|
||||
import ch.ethz.seb.sebserver.gui.service.i18n.I18nSupport;
|
||||
import ch.ethz.seb.sebserver.gui.service.i18n.LocTextKey;
|
||||
import ch.ethz.seb.sebserver.gui.service.page.ComposerService;
|
||||
import ch.ethz.seb.sebserver.gui.service.page.PageContext;
|
||||
import ch.ethz.seb.sebserver.gui.service.page.PageDefinition;
|
||||
|
@ -250,12 +251,13 @@ public class PageContextImpl implements PageContext {
|
|||
|
||||
@Override
|
||||
@SuppressWarnings("serial")
|
||||
public void applyConfirmDialog(final String confirmMessage, final Runnable onOK) {
|
||||
public void applyConfirmDialog(final LocTextKey confirmMessage, final Runnable onOK) {
|
||||
final Message messageBox = new Message(
|
||||
this.root.getShell(),
|
||||
this.i18nSupport.getText("org.sebserver.dialog.confirm.title"),
|
||||
this.i18nSupport.getText(confirmMessage),
|
||||
SWT.OK | SWT.CANCEL);
|
||||
messageBox.setMarkupEnabled(true);
|
||||
messageBox.open(new DialogCallback() {
|
||||
@Override
|
||||
public void dialogClosed(final int returnCode) {
|
||||
|
|
|
@ -26,10 +26,10 @@ import org.springframework.stereotype.Component;
|
|||
import org.springframework.web.context.WebApplicationContext;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.API;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.Privilege;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.Privilege.RoleTypeKey;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.PrivilegeType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.user.UserInfo;
|
||||
import ch.ethz.seb.sebserver.gbl.model.user.UserRole;
|
||||
import ch.ethz.seb.sebserver.gbl.profile.GuiProfile;
|
||||
|
|
|
@ -11,9 +11,9 @@ package ch.ethz.seb.sebserver.webservice.servicelayer.authorization;
|
|||
import java.util.Collection;
|
||||
import java.util.Set;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.Privilege;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.PrivilegeType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.user.UserInfo;
|
||||
import ch.ethz.seb.sebserver.gbl.model.user.UserRole;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Result;
|
||||
|
|
|
@ -19,10 +19,10 @@ import javax.annotation.PostConstruct;
|
|||
import org.springframework.context.annotation.Lazy;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.Privilege;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.Privilege.RoleTypeKey;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.PrivilegeType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.user.UserRole;
|
||||
import ch.ethz.seb.sebserver.gbl.profile.WebServiceProfile;
|
||||
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
|
||||
package ch.ethz.seb.sebserver.webservice.servicelayer.authorization;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.PrivilegeType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
|
||||
public class PermissionDeniedException extends RuntimeException {
|
||||
|
||||
|
|
|
@ -16,27 +16,16 @@ import java.util.LinkedHashSet;
|
|||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.api.API.BulkActionType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Result;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Utils;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.dao.UserActivityLogDAO.ActivityType;
|
||||
|
||||
public final class BulkAction {
|
||||
|
||||
public enum Type {
|
||||
HARD_DELETE(ActivityType.DELETE),
|
||||
DEACTIVATE(ActivityType.DEACTIVATE),
|
||||
ACTIVATE(ActivityType.ACTIVATE);
|
||||
|
||||
public final ActivityType activityType;
|
||||
|
||||
private Type(final ActivityType activityType) {
|
||||
this.activityType = activityType;
|
||||
}
|
||||
}
|
||||
|
||||
public final Type type;
|
||||
public final BulkActionType type;
|
||||
public final EntityType sourceType;
|
||||
public final Set<EntityKey> sources;
|
||||
|
||||
|
@ -46,7 +35,7 @@ public final class BulkAction {
|
|||
boolean alreadyProcessed = false;
|
||||
|
||||
public BulkAction(
|
||||
final Type type,
|
||||
final BulkActionType type,
|
||||
final EntityType sourceType,
|
||||
final Collection<EntityKey> sources) {
|
||||
|
||||
|
@ -60,7 +49,7 @@ public final class BulkAction {
|
|||
}
|
||||
|
||||
public BulkAction(
|
||||
final Type type,
|
||||
final BulkActionType type,
|
||||
final EntityType sourceType,
|
||||
final EntityKey... sources) {
|
||||
|
||||
|
@ -86,6 +75,23 @@ public final class BulkAction {
|
|||
return Collections.emptySet();
|
||||
}
|
||||
|
||||
public ActivityType getActivityType() {
|
||||
if (this.type == null) {
|
||||
return null;
|
||||
}
|
||||
|
||||
switch (this.type) {
|
||||
case ACTIVATE:
|
||||
return ActivityType.ACTIVATE;
|
||||
case DEACTIVATE:
|
||||
return ActivityType.DEACTIVATE;
|
||||
case HARD_DELETE:
|
||||
return ActivityType.DELETE;
|
||||
default:
|
||||
throw new IllegalStateException("There is no ActivityType mapped to the BulkActionType " + this.type);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "BulkAction [type=" + this.type + ", sourceType=" + this.sourceType + ", sources=" + this.sources + "]";
|
||||
|
|
|
@ -17,12 +17,13 @@ import java.util.Map;
|
|||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityProcessingReport;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.profile.WebServiceProfile;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Result;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.dao.UserActivityLogDAO;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.dao.UserActivityLogDAO.ActivityType;
|
||||
|
||||
@Service
|
||||
@WebServiceProfile
|
||||
|
@ -103,13 +104,15 @@ public class BulkActionService {
|
|||
}
|
||||
|
||||
private void processUserActivityLog(final BulkAction action) {
|
||||
if (action.type.activityType == null) {
|
||||
final ActivityType activityType = action.getActivityType();
|
||||
|
||||
if (activityType == null) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (final EntityKey key : action.dependencies) {
|
||||
this.userActivityLogDAO.log(
|
||||
action.type.activityType,
|
||||
activityType,
|
||||
key.entityType,
|
||||
key.modelId,
|
||||
"bulk action dependency");
|
||||
|
@ -117,7 +120,7 @@ public class BulkActionService {
|
|||
|
||||
for (final EntityKey key : action.sources) {
|
||||
this.userActivityLogDAO.log(
|
||||
action.type.activityType,
|
||||
activityType,
|
||||
key.entityType,
|
||||
key.modelId,
|
||||
"bulk action source");
|
||||
|
|
|
@ -17,9 +17,9 @@ import java.util.stream.Collectors;
|
|||
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Entity;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Result;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.dao.ActivatableEntityDAO;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.dao.DAOLoggingSupport;
|
||||
|
|
|
@ -17,10 +17,10 @@ import java.util.stream.Collectors;
|
|||
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Entity;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityName;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.ModelIdAware;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Result;
|
||||
|
||||
|
|
|
@ -11,8 +11,8 @@ package ch.ethz.seb.sebserver.webservice.servicelayer.dao;
|
|||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.web.bind.annotation.ResponseStatus;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
|
||||
@ResponseStatus(HttpStatus.NOT_FOUND)
|
||||
public final class ResourceNotFoundException extends RuntimeException {
|
||||
|
|
|
@ -11,8 +11,8 @@ package ch.ethz.seb.sebserver.webservice.servicelayer.dao;
|
|||
import java.util.Collection;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Entity;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.user.UserActivityLog;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Result;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.authorization.SEBServerUser;
|
||||
|
|
|
@ -28,8 +28,8 @@ import org.springframework.stereotype.Component;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.Constants;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.exam.Exam;
|
||||
import ch.ethz.seb.sebserver.gbl.model.exam.Exam.ExamStatus;
|
||||
import ch.ethz.seb.sebserver.gbl.model.exam.Exam.ExamType;
|
||||
|
|
|
@ -23,8 +23,8 @@ import org.springframework.context.annotation.Lazy;
|
|||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.exam.Indicator;
|
||||
import ch.ethz.seb.sebserver.gbl.model.exam.Indicator.IndicatorType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.exam.Indicator.Threshold;
|
||||
|
|
|
@ -26,9 +26,9 @@ import org.springframework.context.annotation.Lazy;
|
|||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.api.APIMessage.FieldValidationException;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.institution.Institution;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Result;
|
||||
import ch.ethz.seb.sebserver.webservice.datalayer.batis.mapper.InstitutionRecordDynamicSqlSupport;
|
||||
|
|
|
@ -28,8 +28,8 @@ import org.springframework.stereotype.Component;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import ch.ethz.seb.sebserver.WebSecurityConfig;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.institution.LmsSetup;
|
||||
import ch.ethz.seb.sebserver.gbl.model.institution.LmsSetup.LmsType;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Result;
|
||||
|
|
|
@ -27,9 +27,9 @@ import org.springframework.transaction.annotation.Transactional;
|
|||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.Constants;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Entity;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.user.UserActivityLog;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Result;
|
||||
import ch.ethz.seb.sebserver.webservice.datalayer.batis.mapper.UserActivityLogRecordDynamicSqlSupport;
|
||||
|
|
|
@ -32,10 +32,10 @@ import org.springframework.stereotype.Component;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import ch.ethz.seb.sebserver.WebSecurityConfig;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.api.APIMessage.APIMessageException;
|
||||
import ch.ethz.seb.sebserver.gbl.api.APIMessage.ErrorMessage;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.user.UserInfo;
|
||||
import ch.ethz.seb.sebserver.gbl.model.user.UserMod;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Result;
|
||||
|
|
|
@ -15,10 +15,11 @@ import org.springframework.web.bind.annotation.RequestMethod;
|
|||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.API;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.api.API.BulkActionType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Entity;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityProcessingReport;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Page;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Result;
|
||||
import ch.ethz.seb.sebserver.webservice.datalayer.batis.mapper.UserRecordDynamicSqlSupport;
|
||||
|
@ -27,7 +28,6 @@ import ch.ethz.seb.sebserver.webservice.servicelayer.authorization.Authorization
|
|||
import ch.ethz.seb.sebserver.webservice.servicelayer.authorization.GrantEntity;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.authorization.UserService;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.bulkaction.BulkAction;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.bulkaction.BulkAction.Type;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.bulkaction.BulkActionService;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.dao.ActivatableEntityDAO;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.dao.UserActivityLogDAO;
|
||||
|
@ -124,7 +124,7 @@ public abstract class ActivatableEntityController<T extends GrantEntity, M exten
|
|||
private Result<EntityProcessingReport> setActive(final String id, final boolean active) {
|
||||
final EntityType entityType = this.entityDAO.entityType();
|
||||
final BulkAction bulkAction = new BulkAction(
|
||||
(active) ? Type.ACTIVATE : Type.DEACTIVATE,
|
||||
(active) ? BulkActionType.ACTIVATE : BulkActionType.DEACTIVATE,
|
||||
entityType,
|
||||
new EntityKey(id, entityType));
|
||||
|
||||
|
|
|
@ -28,13 +28,14 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|||
|
||||
import ch.ethz.seb.sebserver.gbl.Constants;
|
||||
import ch.ethz.seb.sebserver.gbl.api.API;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.api.API.BulkActionType;
|
||||
import ch.ethz.seb.sebserver.gbl.api.POSTMapper;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.PrivilegeType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Entity;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityName;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityProcessingReport;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Page;
|
||||
import ch.ethz.seb.sebserver.gbl.util.Result;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.PaginationService;
|
||||
|
@ -42,7 +43,6 @@ import ch.ethz.seb.sebserver.webservice.servicelayer.authorization.Authorization
|
|||
import ch.ethz.seb.sebserver.webservice.servicelayer.authorization.GrantEntity;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.authorization.UserService;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.bulkaction.BulkAction;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.bulkaction.BulkAction.Type;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.bulkaction.BulkActionService;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.dao.EntityDAO;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.dao.FilterMap;
|
||||
|
@ -150,14 +150,14 @@ public abstract class EntityController<T extends GrantEntity, M extends GrantEnt
|
|||
produces = MediaType.APPLICATION_JSON_VALUE)
|
||||
public Collection<EntityKey> getDependencies(
|
||||
@PathVariable final String modelId,
|
||||
@RequestParam final BulkAction.Type type) {
|
||||
@RequestParam(API.PARAM_BULK_ACTION_TYPE) final BulkActionType bulkActionType) {
|
||||
|
||||
this.entityDAO
|
||||
.byModelId(modelId)
|
||||
.flatMap(this.authorization::checkReadonly);
|
||||
|
||||
final BulkAction bulkAction = new BulkAction(
|
||||
type,
|
||||
bulkActionType,
|
||||
this.entityDAO.entityType(),
|
||||
Arrays.asList(new EntityKey(modelId, this.entityDAO.entityType())));
|
||||
|
||||
|
@ -302,7 +302,7 @@ public abstract class EntityController<T extends GrantEntity, M extends GrantEnt
|
|||
public EntityProcessingReport hardDelete(@PathVariable final String modelId) {
|
||||
final EntityType entityType = this.entityDAO.entityType();
|
||||
final BulkAction bulkAction = new BulkAction(
|
||||
Type.HARD_DELETE,
|
||||
BulkActionType.HARD_DELETE,
|
||||
entityType,
|
||||
new EntityKey(modelId, entityType));
|
||||
|
||||
|
|
|
@ -31,11 +31,11 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.API;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.api.POSTMapper;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.PrivilegeType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Domain.LMS_SETUP;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Page;
|
||||
import ch.ethz.seb.sebserver.gbl.model.exam.Exam;
|
||||
import ch.ethz.seb.sebserver.gbl.model.exam.Indicator;
|
||||
|
|
|
@ -22,9 +22,9 @@ import org.springframework.web.bind.annotation.RequestMethod;
|
|||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.API;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.api.POSTMapper;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.PrivilegeType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.institution.LmsSetup;
|
||||
import ch.ethz.seb.sebserver.gbl.model.institution.LmsSetupTestResult;
|
||||
import ch.ethz.seb.sebserver.gbl.profile.WebServiceProfile;
|
||||
|
|
|
@ -15,10 +15,10 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.API;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.PrivilegeType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Domain.LMS_SETUP;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Entity;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Page;
|
||||
import ch.ethz.seb.sebserver.gbl.model.exam.QuizData;
|
||||
import ch.ethz.seb.sebserver.gbl.profile.WebServiceProfile;
|
||||
|
|
|
@ -18,8 +18,8 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.API;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.PrivilegeType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Page;
|
||||
import ch.ethz.seb.sebserver.gbl.model.user.UserActivityLog;
|
||||
import ch.ethz.seb.sebserver.gbl.profile.WebServiceProfile;
|
||||
|
|
|
@ -61,6 +61,8 @@ sebserver.institution.form.title=Institution ({0})
|
|||
sebserver.institution.form.name=Name
|
||||
sebserver.institution.form.urlSuffix=URL Suffix
|
||||
sebserver.institution.form.logoImage=Logo Image
|
||||
sebserver.institution.form.confirm.deactivation=Note that there are {0} other entities that belongs to this Institution.<br/>Those will also be deactivated by deactivating this Institution.<br/><br/>Are You sure to deactivate this Institution?
|
||||
sebserver.institution.form.confirm.deactivation.noDependencies=Are You sure to deactivate this Institution?
|
||||
|
||||
sebserver.form.validation.fieldError.name=Name is mandatory and must have a size between 3 and 255 character
|
||||
sebserver.form.validation.fieldError.urlSuffix=URL Suffix must have a size between 3 and 255 character
|
||||
|
|
|
@ -14,8 +14,8 @@ import java.io.IOException;
|
|||
|
||||
import org.junit.Test;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.api.JSONMapper;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.dao.UserActivityLogDAO.ActivityType;
|
||||
|
||||
public class UserActivityLogTest {
|
||||
|
|
|
@ -24,14 +24,14 @@ import org.springframework.test.context.jdbc.Sql;
|
|||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.API;
|
||||
import ch.ethz.seb.sebserver.gbl.api.API.BulkActionType;
|
||||
import ch.ethz.seb.sebserver.gbl.api.APIMessage;
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityKey;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityName;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityProcessingReport;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.Page;
|
||||
import ch.ethz.seb.sebserver.gbl.model.institution.Institution;
|
||||
import ch.ethz.seb.sebserver.webservice.servicelayer.bulkaction.BulkAction;
|
||||
|
||||
@Sql(scripts = { "classpath:schema-test.sql", "classpath:data-test.sql" })
|
||||
public class InstitutionAPITest extends AdministrationAPIIntegrationTester {
|
||||
|
@ -411,7 +411,7 @@ public class InstitutionAPITest extends AdministrationAPIIntegrationTester {
|
|||
.withPath(API.INSTITUTION_ENDPOINT)
|
||||
.withPath("1")
|
||||
.withPath(API.DEPENDENCY_PATH_SEGMENT)
|
||||
.withAttribute("type", BulkAction.Type.DEACTIVATE.name())
|
||||
.withAttribute(API.PARAM_BULK_ACTION_TYPE, BulkActionType.DEACTIVATE.name())
|
||||
.withExpectedStatus(HttpStatus.OK)
|
||||
.getAsObject(new TypeReference<Collection<EntityKey>>() {
|
||||
});
|
||||
|
|
|
@ -21,8 +21,8 @@ import org.joda.time.DateTimeZone;
|
|||
import org.junit.Test;
|
||||
import org.mockito.Mockito;
|
||||
|
||||
import ch.ethz.seb.sebserver.gbl.api.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.authorization.PrivilegeType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.EntityType;
|
||||
import ch.ethz.seb.sebserver.gbl.model.user.UserInfo;
|
||||
import ch.ethz.seb.sebserver.gbl.model.user.UserRole;
|
||||
|
||||
|
|
Loading…
Reference in a new issue