parent
b435e8f06b
commit
c2ef4f67a0
|
|
@ -48,4 +48,8 @@ public class Message {
|
||||||
return messageType;
|
return messageType;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public String getMessageTypeClass() {
|
||||||
|
return messageType.toString().toLowerCase();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -22,18 +22,16 @@ import org.libreccm.categorization.Domain;
|
||||||
import org.libreccm.categorization.DomainOwnership;
|
import org.libreccm.categorization.DomainOwnership;
|
||||||
import org.libreccm.ui.Message;
|
import org.libreccm.ui.Message;
|
||||||
|
|
||||||
import java.time.Instant;
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
import java.time.LocalDateTime;
|
|
||||||
import java.time.ZoneId;
|
|
||||||
import java.time.ZoneOffset;
|
import java.time.ZoneOffset;
|
||||||
import java.time.format.DateTimeFormatter;
|
import java.time.format.DateTimeFormatter;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.Date;
|
import java.util.HashSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
|
import java.util.Set;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import javax.enterprise.context.RequestScoped;
|
import javax.enterprise.context.RequestScoped;
|
||||||
|
|
@ -68,8 +66,11 @@ public class CategorySystemDetailsModel {
|
||||||
|
|
||||||
private final List<Message> messages;
|
private final List<Message> messages;
|
||||||
|
|
||||||
|
private Set<String> invalidFields;
|
||||||
|
|
||||||
public CategorySystemDetailsModel() {
|
public CategorySystemDetailsModel() {
|
||||||
messages = new ArrayList<>();
|
messages = new ArrayList<>();
|
||||||
|
invalidFields = new HashSet<>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public long getCategorySystemId() {
|
public long getCategorySystemId() {
|
||||||
|
|
@ -96,8 +97,8 @@ public class CategorySystemDetailsModel {
|
||||||
return domainKey;
|
return domainKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void setDomainKey(final String uuid) {
|
protected void setDomainKey(final String domainKey) {
|
||||||
this.uuid = uuid;
|
this.domainKey = domainKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getUri() {
|
public String getUri() {
|
||||||
|
|
@ -156,6 +157,18 @@ public class CategorySystemDetailsModel {
|
||||||
messages.add(message);
|
messages.add(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Set<String> getInvalidFields() {
|
||||||
|
return Collections.unmodifiableSet(invalidFields);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void addInvalidField(final String invalidField) {
|
||||||
|
invalidFields.add(invalidField);
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void setInvalidFields(final Set<String> invalidFields) {
|
||||||
|
this.invalidFields = new HashSet<>(invalidFields);
|
||||||
|
}
|
||||||
|
|
||||||
@Transactional(Transactional.TxType.REQUIRED)
|
@Transactional(Transactional.TxType.REQUIRED)
|
||||||
protected void setCategorySystem(final Domain domain) {
|
protected void setCategorySystem(final Domain domain) {
|
||||||
Objects.requireNonNull(domain);
|
Objects.requireNonNull(domain);
|
||||||
|
|
|
||||||
|
|
@ -89,8 +89,6 @@ public class CategorySystemFormController {
|
||||||
@Transactional(Transactional.TxType.REQUIRED)
|
@Transactional(Transactional.TxType.REQUIRED)
|
||||||
public String createCategorySystem() {
|
public String createCategorySystem() {
|
||||||
|
|
||||||
final Domain domain = domainManager.createDomain(domainKey, domainKey);
|
|
||||||
|
|
||||||
if (!isValidUri()) {
|
if (!isValidUri()) {
|
||||||
categorySystemDetailsModel.setDomainKey(domainKey);
|
categorySystemDetailsModel.setDomainKey(domainKey);
|
||||||
categorySystemDetailsModel.setUri(uri);
|
categorySystemDetailsModel.setUri(uri);
|
||||||
|
|
@ -102,11 +100,14 @@ public class CategorySystemFormController {
|
||||||
adminMessages.get("categorysystems.form.errors.uri_invalid"),
|
adminMessages.get("categorysystems.form.errors.uri_invalid"),
|
||||||
MessageType.PRIMARY)
|
MessageType.PRIMARY)
|
||||||
);
|
);
|
||||||
|
categorySystemDetailsModel.addInvalidField("uri");
|
||||||
|
return "org/libreccm/ui/admin/categories/categorysystem-form.xhtml";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
final Domain domain = domainManager.createDomain(domainKey, domainKey);
|
||||||
domain.setUri(uri);
|
domain.setUri(uri);
|
||||||
domain.setVersion(version);
|
domain.setVersion(version);
|
||||||
if (released == null) {
|
if (released == null || released.isEmpty()) {
|
||||||
domain.setReleased(null);
|
domain.setReleased(null);
|
||||||
} else {
|
} else {
|
||||||
domain.setReleased(convertReleased());
|
domain.setReleased(convertReleased());
|
||||||
|
|
@ -158,13 +159,14 @@ public class CategorySystemFormController {
|
||||||
"categorysystems.form.errors.uri_invalid"),
|
"categorysystems.form.errors.uri_invalid"),
|
||||||
MessageType.PRIMARY)
|
MessageType.PRIMARY)
|
||||||
);
|
);
|
||||||
|
categorySystemDetailsModel.addInvalidField("uri");
|
||||||
return "org/libreccm/ui/admin/categories/categorysystem-form.xhtml";
|
return "org/libreccm/ui/admin/categories/categorysystem-form.xhtml";
|
||||||
}
|
}
|
||||||
final Domain domain = result.get();
|
final Domain domain = result.get();
|
||||||
domain.setDomainKey(domainKey);
|
domain.setDomainKey(domainKey);
|
||||||
domain.setUri(uri);
|
domain.setUri(uri);
|
||||||
domain.setVersion(version);
|
domain.setVersion(version);
|
||||||
if (released == null) {
|
if (released == null || released.isEmpty()) {
|
||||||
domain.setReleased(null);
|
domain.setReleased(null);
|
||||||
} else {
|
} else {
|
||||||
domain.setReleased(convertReleased());
|
domain.setReleased(convertReleased());
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,12 @@
|
||||||
<div class="container">
|
<div class="container">
|
||||||
<h1>#{CategorySystemDetailsModel.new ? AdminMessages['categorysystems.new.label'] : AdminMessages.getMessage('categorysystems.edit.label', [CategorySystemDetailsModel.domainKey])}</h1>
|
<h1>#{CategorySystemDetailsModel.new ? AdminMessages['categorysystems.new.label'] : AdminMessages.getMessage('categorysystems.edit.label', [CategorySystemDetailsModel.domainKey])}</h1>
|
||||||
|
|
||||||
|
<c:forEach items="#{CategorySystemDetailsModel.messages}" var="message">
|
||||||
|
<div class="alert alert-#{message.messageTypeClass}" role="alert">
|
||||||
|
#{message.message}
|
||||||
|
</div>
|
||||||
|
</c:forEach>
|
||||||
|
|
||||||
<form action="#{CategorySystemDetailsModel.new ? mvc.uri('CategorySystemFormController#createCategorySystem') : mvc.uri('CategorySystemFormController#updateCategorySystem', {'categorySystemIdentifier': CategorySystemDetailsModel.domainKey })}"
|
<form action="#{CategorySystemDetailsModel.new ? mvc.uri('CategorySystemFormController#createCategorySystem') : mvc.uri('CategorySystemFormController#updateCategorySystem', {'categorySystemIdentifier': CategorySystemDetailsModel.domainKey })}"
|
||||||
method="post">
|
method="post">
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue