CCM NG: Site Admin UI
git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@5097 8810af33-2d31-482b-a856-94f89814c4df
Former-commit-id: fd7cda38ef
pull/2/head
parent
77cfc6c77e
commit
23c922aa1f
|
|
@ -65,7 +65,7 @@ class SitesController implements Serializable {
|
|||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
protected boolean isUnique(final String domainOfSite) {
|
||||
|
||||
return sitesRepo.findByDomain(domainOfSite).isPresent();
|
||||
return !sitesRepo.findByDomain(domainOfSite).isPresent();
|
||||
}
|
||||
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
|
|
|
|||
|
|
@ -100,14 +100,12 @@ public class SitesForm extends Form {
|
|||
domainOfSiteField.setLabel(new GlobalizedMessage(
|
||||
"ui.admin.sites.domain_of_site",
|
||||
ADMIN_BUNDLE));
|
||||
domainOfSiteField
|
||||
.addValidationListener(new NotEmptyValidationListener());
|
||||
super.add(domainOfSiteField);
|
||||
|
||||
defaultSiteCheckbox = new CheckboxGroup(DEFAULT_SITE);
|
||||
defaultSiteCheckbox.addOption(new Option("isDefault",
|
||||
new Label(
|
||||
new GlobalizedMessage(
|
||||
defaultSiteCheckbox
|
||||
.addOption(new Option("isDefault",
|
||||
new Label(new GlobalizedMessage(
|
||||
"ui.admin.sites.is_default_site",
|
||||
ADMIN_BUNDLE))));
|
||||
super.add(defaultSiteCheckbox);
|
||||
|
|
@ -157,6 +155,17 @@ public class SitesForm extends Form {
|
|||
|
||||
final String domainOfSite = data.getString(DOMAIN_OF_SITE);
|
||||
|
||||
if (domainOfSite == null
|
||||
|| domainOfSite.isEmpty()
|
||||
|| domainOfSite.matches("\\s*")) {
|
||||
|
||||
data.addError(
|
||||
DOMAIN_OF_SITE,
|
||||
new GlobalizedMessage(
|
||||
"ui.admin.sites.domain_of_site.error.empty",
|
||||
ADMIN_BUNDLE));
|
||||
}
|
||||
|
||||
final CdiUtil cdiUtil = CdiUtil.createCdiUtil();
|
||||
final SitesController controller = cdiUtil
|
||||
.findBean(SitesController.class);
|
||||
|
|
@ -164,7 +173,7 @@ public class SitesForm extends Form {
|
|||
data.addError(
|
||||
DOMAIN_OF_SITE,
|
||||
new GlobalizedMessage(
|
||||
"ui.admin.sites.domain_of_site.error.not:unique",
|
||||
"ui.admin.sites.domain_of_site.error.not_unique",
|
||||
ADMIN_BUNDLE));
|
||||
}
|
||||
}
|
||||
|
|
@ -232,7 +241,11 @@ public class SitesForm extends Form {
|
|||
if (selectedSiteIdStr == null || selectedSiteIdStr.isEmpty()) {
|
||||
site = new Site();
|
||||
site.setDomainOfSite(domainOfSite);
|
||||
if (defaultSite == null || defaultSite.length == 0) {
|
||||
site.setDefaultSite(false);
|
||||
} else {
|
||||
site.setDefaultSite(defaultSite[0]);
|
||||
}
|
||||
site.setDefaultTheme(defaultTheme);
|
||||
} else {
|
||||
site = siteRepo
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ import static com.arsdigita.ui.admin.AdminUiConstants.*;
|
|||
public class SitesTab extends LayoutPanel {
|
||||
|
||||
private final ParameterSingleSelectionModel<String> selectedSiteId;
|
||||
private final ActionLink addNewSite;
|
||||
private final SitesTable sitesTable;
|
||||
private final SitesForm sitesForm;
|
||||
|
||||
|
|
@ -52,7 +53,7 @@ public class SitesTab extends LayoutPanel {
|
|||
sitesTable = new SitesTable(this, selectedSiteId);
|
||||
sitesForm = new SitesForm(this, selectedSiteId);
|
||||
|
||||
final ActionLink addNewSite = new ActionLink(new GlobalizedMessage(
|
||||
addNewSite = new ActionLink(new GlobalizedMessage(
|
||||
"ui.admin.sites.add_new_site_link",
|
||||
ADMIN_BUNDLE));
|
||||
addNewSite
|
||||
|
|
@ -76,16 +77,19 @@ public class SitesTab extends LayoutPanel {
|
|||
|
||||
page.addGlobalStateParam(selectedSiteId.getStateParameter());
|
||||
|
||||
page.setVisibleDefault(addNewSite, true);
|
||||
page.setVisibleDefault(sitesTable, true);
|
||||
page.setVisibleDefault(sitesForm, false);
|
||||
}
|
||||
|
||||
protected void showSiteForm(final PageState state) {
|
||||
addNewSite.setVisible(state, false);
|
||||
sitesTable.setVisible(state, false);
|
||||
sitesForm.setVisible(state, true);
|
||||
}
|
||||
|
||||
protected void hideSiteForm(final PageState state) {
|
||||
addNewSite.setVisible(state, true);
|
||||
sitesTable.setVisible(state, true);
|
||||
sitesForm.setVisible(state, false);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -211,7 +211,7 @@ public class SitesTable extends Table {
|
|||
|
||||
switch (columnIndex) {
|
||||
case COL_SITE_DOMAIN:
|
||||
return currentRow.getSiteId();
|
||||
return currentRow.getDomainOfSite();
|
||||
case COL_IS_DEFAULT_SITE:
|
||||
return currentRow.isDefaultSite();
|
||||
case COL_DEFAULT_THEME:
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import org.libreccm.core.CoreConstants;
|
|||
import org.libreccm.security.RequiresPrivilege;
|
||||
|
||||
import java.util.Optional;
|
||||
import java.util.UUID;
|
||||
|
||||
import javax.enterprise.context.RequestScoped;
|
||||
import javax.persistence.NoResultException;
|
||||
|
|
@ -75,6 +76,7 @@ public class SiteRepository extends AbstractEntityRepository<Long, Site> {
|
|||
}
|
||||
|
||||
@RequiresPrivilege(CoreConstants.PRIVILEGE_ADMIN)
|
||||
@Transactional(Transactional.TxType.REQUIRED)
|
||||
@Override
|
||||
public void save(final Site site) {
|
||||
super.save(site);
|
||||
|
|
@ -96,4 +98,9 @@ public class SiteRepository extends AbstractEntityRepository<Long, Site> {
|
|||
return site.getObjectId() == 0;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void initNewEntity(final Site site) {
|
||||
site.setUuid(UUID.randomUUID().toString());
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -625,3 +625,9 @@ ui.admin.sites.table.columns.applications.header=Applications
|
|||
ui.admin.sites.table.columns.delete.header=Delete
|
||||
ui.admin.sites.delete.confirm=Are you sure to delete this site?
|
||||
ui.admin.sites.table.columns.remove.label=Delete
|
||||
ui.admin.sites.create_new=Create new site
|
||||
ui.admin.sites.edit=Edit Site
|
||||
ui.admin.sites.domain_of_site=Domain of Site
|
||||
ui.admin.sites.is_default_site=Is default site?
|
||||
ui.admin.sites.domain_of_site.error.not_unique=The domain of the Site is not unique.
|
||||
ui.admin.sites.domain_of_site.error.empty=The domain of a Site can't be empty.
|
||||
|
|
|
|||
|
|
@ -629,3 +629,9 @@ ui.admin.sites.table.columns.applications.header=Applications
|
|||
ui.admin.sites.table.columns.delete.header=L\u00f6schen
|
||||
ui.admin.sites.delete.confirm=Sind Sie sicher, dass Sie diese Site l\u00f6schen wollen?
|
||||
ui.admin.sites.table.columns.remove.label=L\u00f6schen
|
||||
ui.admin.sites.create_new=Neue Site anlegen
|
||||
ui.admin.sites.edit=Seite bearbeiten
|
||||
ui.admin.sites.domain_of_site=Domain der Site
|
||||
ui.admin.sites.is_default_site=Ist Standard Site?
|
||||
ui.admin.sites.domain_of_site.error.not_unique=Die Domain der Site ist nicht eindeutig.
|
||||
ui.admin.sites.domain_of_site.error.empty=The Domain einer Site darf nicht leer sein.
|
||||
|
|
|
|||
|
|
@ -622,3 +622,9 @@ ui.admin.sites.table.columns.applications.header=Applications
|
|||
ui.admin.sites.table.columns.delete.header=Delete
|
||||
ui.admin.sites.delete.confirm=Are you sure to delete this site?
|
||||
ui.admin.sites.table.columns.remove.label=Delete
|
||||
ui.admin.sites.create_new=Create new site
|
||||
ui.admin.sites.edit=Edit Site
|
||||
ui.admin.sites.domain_of_site=Domain of Site
|
||||
ui.admin.sites.is_default_site=Is default site?
|
||||
ui.admin.sites.domain_of_site.error.not_unique=The domain of the Site is not unique.
|
||||
ui.admin.sites.domain_of_site.error.empty=The domain of a Site can't be empty.
|
||||
|
|
|
|||
|
|
@ -613,3 +613,9 @@ ui.admin.sites.table.columns.applications.header=Applications
|
|||
ui.admin.sites.table.columns.delete.header=Delete
|
||||
ui.admin.sites.delete.confirm=Are you sure to delete this site?
|
||||
ui.admin.sites.table.columns.remove.label=Delete
|
||||
ui.admin.sites.create_new=Create new site
|
||||
ui.admin.sites.edit=Edit Site
|
||||
ui.admin.sites.domain_of_site=Domain of Site
|
||||
ui.admin.sites.is_default_site=Is default site?
|
||||
ui.admin.sites.domain_of_site.error.not_unique=The domain of the Site is not unique.
|
||||
ui.admin.sites.domain_of_site.error.empty=The domain of a Site can't be empty.
|
||||
|
|
|
|||
Loading…
Reference in New Issue