Enhanced globalization for the options of several SingleSelect fields using RelationAttributes (Database driven enums).
git-svn-id: https://svn.libreccm.org/ccm/trunk@2748 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
52d8a5285e
commit
96770a673d
|
|
@ -33,8 +33,8 @@ import com.arsdigita.bebop.parameters.NotEmptyValidationListener;
|
||||||
import com.arsdigita.bebop.parameters.StringParameter;
|
import com.arsdigita.bebop.parameters.StringParameter;
|
||||||
import com.arsdigita.cms.ContentSection;
|
import com.arsdigita.cms.ContentSection;
|
||||||
import com.arsdigita.cms.ItemSelectionModel;
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
import com.arsdigita.cms.RelationAttribute;
|
|
||||||
import com.arsdigita.cms.RelationAttributeCollection;
|
import com.arsdigita.cms.RelationAttributeCollection;
|
||||||
|
import com.arsdigita.cms.RelationAttributeResourceBundleControl;
|
||||||
import com.arsdigita.cms.contentassets.GenericOrgaUnitTextAsset;
|
import com.arsdigita.cms.contentassets.GenericOrgaUnitTextAsset;
|
||||||
import com.arsdigita.cms.contentassets.GenericOrgaUnitTextAssetGlobalizationUtil;
|
import com.arsdigita.cms.contentassets.GenericOrgaUnitTextAssetGlobalizationUtil;
|
||||||
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
|
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
|
||||||
|
|
@ -42,7 +42,7 @@ import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||||
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
||||||
import com.arsdigita.util.UncheckedWrapperException;
|
import com.arsdigita.util.UncheckedWrapperException;
|
||||||
import java.util.TooManyListenersException;
|
import java.util.TooManyListenersException;
|
||||||
import com.arsdigita.globalization.GlobalizationHelper;
|
import com.arsdigita.globalization.GlobalizedMessage;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
|
@ -80,9 +80,15 @@ public class GenericOrgaUnitTextAssetEdit extends BasicItemForm implements FormS
|
||||||
|
|
||||||
final RelationAttributeCollection names = new RelationAttributeCollection(
|
final RelationAttributeCollection names = new RelationAttributeCollection(
|
||||||
"GenericOrgaUnitTextAssetName");
|
"GenericOrgaUnitTextAssetName");
|
||||||
names.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().getLanguage());
|
//names.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().getLanguage());
|
||||||
while (names.next()) {
|
while (names.next()) {
|
||||||
target.addOption(new Option(names.getKey(), names.getName()));
|
//target.addOption(new Option(names.getKey(), names.getName()));
|
||||||
|
target.addOption(new Option(
|
||||||
|
names.getKey(),
|
||||||
|
new Label(new GlobalizedMessage(
|
||||||
|
names.getKey(),
|
||||||
|
"GenericOrgaUnitTextAssetName",
|
||||||
|
new RelationAttributeResourceBundleControl()))));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@ import com.arsdigita.bebop.parameters.NotNullValidationListener;
|
||||||
import com.arsdigita.bebop.parameters.ParameterModel;
|
import com.arsdigita.bebop.parameters.ParameterModel;
|
||||||
import com.arsdigita.bebop.parameters.StringParameter;
|
import com.arsdigita.bebop.parameters.StringParameter;
|
||||||
import com.arsdigita.cms.ItemSelectionModel;
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
|
import com.arsdigita.cms.RelationAttributeResourceBundleControl;
|
||||||
import com.arsdigita.cms.contenttypes.GenericContact;
|
import com.arsdigita.cms.contenttypes.GenericContact;
|
||||||
import com.arsdigita.cms.contenttypes.GenericContactEntry;
|
import com.arsdigita.cms.contenttypes.GenericContactEntry;
|
||||||
import com.arsdigita.cms.contenttypes.util.ContenttypesGlobalizationUtil;
|
import com.arsdigita.cms.contenttypes.util.ContenttypesGlobalizationUtil;
|
||||||
|
|
@ -37,10 +38,9 @@ import com.arsdigita.cms.contenttypes.GenericContactEntryKeys;
|
||||||
import com.arsdigita.cms.util.GlobalizationUtil;
|
import com.arsdigita.cms.util.GlobalizationUtil;
|
||||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||||
|
|
||||||
import com.arsdigita.globalization.GlobalizationHelper;
|
import com.arsdigita.globalization.GlobalizedMessage;
|
||||||
import com.arsdigita.util.UncheckedWrapperException;
|
import com.arsdigita.util.UncheckedWrapperException;
|
||||||
import java.util.TooManyListenersException;
|
import java.util.TooManyListenersException;
|
||||||
import java.util.logging.Level;
|
|
||||||
|
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
|
|
@ -84,11 +84,17 @@ public class GenericContactEntryAddForm extends BasicItemForm {
|
||||||
final SingleSelect target = (SingleSelect) event.getTarget();
|
final SingleSelect target = (SingleSelect) event.getTarget();
|
||||||
|
|
||||||
final GenericContactEntryKeys keyList = new GenericContactEntryKeys();
|
final GenericContactEntryKeys keyList = new GenericContactEntryKeys();
|
||||||
keyList.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale()
|
// keyList.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale()
|
||||||
.getLanguage());
|
// .getLanguage());
|
||||||
while (keyList.next()) {
|
while (keyList.next()) {
|
||||||
String currentKey = keyList.getKey();
|
String currentKey = keyList.getKey();
|
||||||
target.addOption(new Option(currentKey, keyList.getName()));
|
//target.addOption(new Option(currentKey, keyList.getName()));
|
||||||
|
target.addOption(new Option(
|
||||||
|
currentKey,
|
||||||
|
new Label(new GlobalizedMessage(
|
||||||
|
currentKey,
|
||||||
|
GenericContactEntryKeys.ATTRIBUTE_NAME,
|
||||||
|
new RelationAttributeResourceBundleControl()))));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -113,13 +113,14 @@ public class GenericOrganizationalUnitPersonAddForm
|
||||||
|
|
||||||
final RelationAttributeCollection roles = new RelationAttributeCollection(
|
final RelationAttributeCollection roles = new RelationAttributeCollection(
|
||||||
getRoleAttributeName());
|
getRoleAttributeName());
|
||||||
roles.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().
|
// roles.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().
|
||||||
getLanguage());
|
// getLanguage());
|
||||||
while (roles.next()) {
|
while (roles.next()) {
|
||||||
RelationAttribute role;
|
RelationAttribute role;
|
||||||
role = roles.getRelationAttribute();
|
role = roles.getRelationAttribute();
|
||||||
//target.addOption(new Option(role.getKey(), role.getName()));
|
//target.addOption(new Option(role.getKey(), role.getName()));
|
||||||
target.addOption(new Option(role.getKey(),
|
target.addOption(new Option(
|
||||||
|
role.getKey(),
|
||||||
new Label(new GlobalizedMessage(
|
new Label(new GlobalizedMessage(
|
||||||
role.getKey(),
|
role.getKey(),
|
||||||
getRoleAttributeName(),
|
getRoleAttributeName(),
|
||||||
|
|
@ -150,14 +151,16 @@ public class GenericOrganizationalUnitPersonAddForm
|
||||||
final SingleSelect target = (SingleSelect) event.getTarget();
|
final SingleSelect target = (SingleSelect) event.getTarget();
|
||||||
RelationAttributeCollection statusColl = new RelationAttributeCollection(
|
RelationAttributeCollection statusColl = new RelationAttributeCollection(
|
||||||
getStatusAttributeName());
|
getStatusAttributeName());
|
||||||
statusColl.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().
|
// statusColl.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().
|
||||||
getLanguage());
|
// getLanguage());
|
||||||
while (statusColl.next()) {
|
while (statusColl.next()) {
|
||||||
RelationAttribute status;
|
RelationAttribute status;
|
||||||
status = statusColl.getRelationAttribute();
|
status = statusColl.getRelationAttribute();
|
||||||
//target.addOption(new Option(status.getKey(), status.getName()));
|
//target.addOption(new Option(status.getKey(), status.getName()));
|
||||||
target.addOption(new Option(status.getKey(),
|
target.addOption(new Option(
|
||||||
new Label(new GlobalizedMessage(status.getKey(),
|
status.getKey(),
|
||||||
|
new Label(new GlobalizedMessage(
|
||||||
|
status.getKey(),
|
||||||
getStatusAttributeName(),
|
getStatusAttributeName(),
|
||||||
new RelationAttributeResourceBundleControl()))));
|
new RelationAttributeResourceBundleControl()))));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@ import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||||
import com.arsdigita.bebop.parameters.StringParameter;
|
import com.arsdigita.bebop.parameters.StringParameter;
|
||||||
import com.arsdigita.cms.ContentType;
|
import com.arsdigita.cms.ContentType;
|
||||||
import com.arsdigita.cms.RelationAttribute;
|
import com.arsdigita.cms.RelationAttribute;
|
||||||
|
import com.arsdigita.cms.RelationAttributeResourceBundleControl;
|
||||||
import com.arsdigita.cms.contenttypes.GenericContact;
|
import com.arsdigita.cms.contenttypes.GenericContact;
|
||||||
import com.arsdigita.cms.contenttypes.GenericContactTypeCollection;
|
import com.arsdigita.cms.contenttypes.GenericContactTypeCollection;
|
||||||
import com.arsdigita.cms.contenttypes.GenericPersonContactCollection;
|
import com.arsdigita.cms.contenttypes.GenericPersonContactCollection;
|
||||||
|
|
@ -43,7 +44,7 @@ import com.arsdigita.cms.contenttypes.GenericPerson;
|
||||||
import com.arsdigita.cms.ui.ItemSearchWidget;
|
import com.arsdigita.cms.ui.ItemSearchWidget;
|
||||||
import com.arsdigita.cms.util.GlobalizationUtil;
|
import com.arsdigita.cms.util.GlobalizationUtil;
|
||||||
|
|
||||||
import com.arsdigita.globalization.GlobalizationHelper;
|
import com.arsdigita.globalization.GlobalizedMessage;
|
||||||
|
|
||||||
import com.arsdigita.kernel.Kernel;
|
import com.arsdigita.kernel.Kernel;
|
||||||
import com.arsdigita.util.UncheckedWrapperException;
|
import com.arsdigita.util.UncheckedWrapperException;
|
||||||
|
|
@ -111,12 +112,18 @@ public class GenericPersonContactAddForm extends BasicItemForm {
|
||||||
// Add the Options to the SingleSelect widget
|
// Add the Options to the SingleSelect widget
|
||||||
final GenericContactTypeCollection contacttypes
|
final GenericContactTypeCollection contacttypes
|
||||||
= new GenericContactTypeCollection();
|
= new GenericContactTypeCollection();
|
||||||
contacttypes.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().
|
// contacttypes.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().
|
||||||
getLanguage());
|
// getLanguage());
|
||||||
|
|
||||||
while (contacttypes.next()) {
|
while (contacttypes.next()) {
|
||||||
RelationAttribute ct = contacttypes.getRelationAttribute();
|
RelationAttribute ct = contacttypes.getRelationAttribute();
|
||||||
target.addOption(new Option(ct.getKey(), ct.getName()));
|
//target.addOption(new Option(ct.getKey(), ct.getName()));
|
||||||
|
target.addOption(new Option(
|
||||||
|
ct.getKey(),
|
||||||
|
new Label(new GlobalizedMessage(
|
||||||
|
ct.getKey(),
|
||||||
|
GenericContactTypeCollection.ATTRIBUTE_NAME,
|
||||||
|
new RelationAttributeResourceBundleControl()))));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,13 +34,14 @@ import com.arsdigita.cms.ContentType;
|
||||||
import com.arsdigita.cms.ItemSelectionModel;
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
import com.arsdigita.cms.RelationAttribute;
|
import com.arsdigita.cms.RelationAttribute;
|
||||||
import com.arsdigita.cms.RelationAttributeCollection;
|
import com.arsdigita.cms.RelationAttributeCollection;
|
||||||
|
import com.arsdigita.cms.RelationAttributeResourceBundleControl;
|
||||||
import com.arsdigita.cms.contentassets.SciPublicationsPersonsService;
|
import com.arsdigita.cms.contentassets.SciPublicationsPersonsService;
|
||||||
import com.arsdigita.cms.contenttypes.GenericPerson;
|
import com.arsdigita.cms.contenttypes.GenericPerson;
|
||||||
import com.arsdigita.cms.contenttypes.Publication;
|
import com.arsdigita.cms.contenttypes.Publication;
|
||||||
import com.arsdigita.cms.contenttypes.util.ContenttypesGlobalizationUtil;
|
import com.arsdigita.cms.contenttypes.util.ContenttypesGlobalizationUtil;
|
||||||
import com.arsdigita.cms.ui.ItemSearchWidget;
|
import com.arsdigita.cms.ui.ItemSearchWidget;
|
||||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||||
import com.arsdigita.globalization.GlobalizationHelper;
|
import com.arsdigita.globalization.GlobalizedMessage;
|
||||||
import com.arsdigita.toolbox.GlobalisationUtil;
|
import com.arsdigita.toolbox.GlobalisationUtil;
|
||||||
import com.arsdigita.util.UncheckedWrapperException;
|
import com.arsdigita.util.UncheckedWrapperException;
|
||||||
import java.util.TooManyListenersException;
|
import java.util.TooManyListenersException;
|
||||||
|
|
@ -94,12 +95,18 @@ public class SciPublicationsPersonsPersonForm extends BasicItemForm {
|
||||||
final SingleSelect target = (SingleSelect) event.getTarget();
|
final SingleSelect target = (SingleSelect) event.getTarget();
|
||||||
final RelationAttributeCollection relations = new RelationAttributeCollection(
|
final RelationAttributeCollection relations = new RelationAttributeCollection(
|
||||||
SciPublicationsPersonsService.RELATION_ATTRIBUTE);
|
SciPublicationsPersonsService.RELATION_ATTRIBUTE);
|
||||||
relations.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale()
|
// relations.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale()
|
||||||
.getLanguage());
|
// .getLanguage());
|
||||||
while (relations.next()) {
|
while (relations.next()) {
|
||||||
RelationAttribute relation;
|
RelationAttribute relation;
|
||||||
relation = relations.getRelationAttribute();
|
relation = relations.getRelationAttribute();
|
||||||
target.addOption(new Option(relation.getKey(), relation.getName()));
|
//target.addOption(new Option(relation.getKey(), relation.getName()));
|
||||||
|
target.addOption(new Option(
|
||||||
|
relation.getKey(),
|
||||||
|
new Label(new GlobalizedMessage(
|
||||||
|
relation.getKey(),
|
||||||
|
SciPublicationsPersonsService.RELATION_ATTRIBUTE,
|
||||||
|
new RelationAttributeResourceBundleControl()))));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -31,11 +31,12 @@ import com.arsdigita.bebop.parameters.NotEmptyValidationListener;
|
||||||
import com.arsdigita.bebop.parameters.NotNullValidationListener;
|
import com.arsdigita.bebop.parameters.NotNullValidationListener;
|
||||||
import com.arsdigita.cms.ItemSelectionModel;
|
import com.arsdigita.cms.ItemSelectionModel;
|
||||||
import com.arsdigita.cms.RelationAttribute;
|
import com.arsdigita.cms.RelationAttribute;
|
||||||
|
import com.arsdigita.cms.RelationAttributeResourceBundleControl;
|
||||||
import com.arsdigita.cms.contentassets.PublicationTypeAsset;
|
import com.arsdigita.cms.contentassets.PublicationTypeAsset;
|
||||||
import com.arsdigita.cms.contentassets.PublicationTypeValuesCollection;
|
import com.arsdigita.cms.contentassets.PublicationTypeValuesCollection;
|
||||||
import com.arsdigita.cms.contenttypes.Publication;
|
import com.arsdigita.cms.contenttypes.Publication;
|
||||||
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
import com.arsdigita.cms.ui.authoring.BasicItemForm;
|
||||||
import com.arsdigita.globalization.GlobalizationHelper;
|
import com.arsdigita.globalization.GlobalizedMessage;
|
||||||
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -51,7 +52,8 @@ public class PublicationTypeAssetAddForm extends BasicItemForm {
|
||||||
private final ItemSelectionModel itemModel;
|
private final ItemSelectionModel itemModel;
|
||||||
private final ACSObjectSelectionModel typeModel;
|
private final ACSObjectSelectionModel typeModel;
|
||||||
|
|
||||||
public PublicationTypeAssetAddForm(final ItemSelectionModel itemModel, final ACSObjectSelectionModel typeModel) {
|
public PublicationTypeAssetAddForm(final ItemSelectionModel itemModel,
|
||||||
|
final ACSObjectSelectionModel typeModel) {
|
||||||
super("PublicationTypeAssetAddForm", itemModel);
|
super("PublicationTypeAssetAddForm", itemModel);
|
||||||
|
|
||||||
this.itemModel = itemModel;
|
this.itemModel = itemModel;
|
||||||
|
|
@ -69,11 +71,17 @@ public class PublicationTypeAssetAddForm extends BasicItemForm {
|
||||||
type.addOption(new Option("", new Label(PublicationTypeAssetGlobalizationUtil.globalize(
|
type.addOption(new Option("", new Label(PublicationTypeAssetGlobalizationUtil.globalize(
|
||||||
"scipublications.publication_type_asset.form.type.select_one"))));
|
"scipublications.publication_type_asset.form.type.select_one"))));
|
||||||
final PublicationTypeValuesCollection values = new PublicationTypeValuesCollection();
|
final PublicationTypeValuesCollection values = new PublicationTypeValuesCollection();
|
||||||
values.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().getLanguage());
|
//values.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().getLanguage());
|
||||||
|
|
||||||
while (values.next()) {
|
while (values.next()) {
|
||||||
final RelationAttribute value = values.getRelationAttribute();
|
final RelationAttribute value = values.getRelationAttribute();
|
||||||
type.addOption(new Option(value.getKey(), value.getName()));
|
//type.addOption(new Option(value.getKey(), value.getName()));
|
||||||
|
type.addOption(new Option(
|
||||||
|
value.getKey(),
|
||||||
|
new Label(new GlobalizedMessage(
|
||||||
|
value.getKey(),
|
||||||
|
PublicationTypeValuesCollection.ATTRIBUTE_NAME,
|
||||||
|
new RelationAttributeResourceBundleControl()))));
|
||||||
}
|
}
|
||||||
type.setLabel(PublicationTypeAssetGlobalizationUtil.
|
type.setLabel(PublicationTypeAssetGlobalizationUtil.
|
||||||
globalize("scipublications.publication_type_asset.form.type"));
|
globalize("scipublications.publication_type_asset.form.type"));
|
||||||
|
|
@ -101,7 +109,8 @@ public class PublicationTypeAssetAddForm extends BasicItemForm {
|
||||||
final PageState state = event.getPageState();
|
final PageState state = event.getPageState();
|
||||||
|
|
||||||
if (typeModel.getSelectedObject(state) != null) {
|
if (typeModel.getSelectedObject(state) != null) {
|
||||||
final PublicationTypeAsset typeAsset = (PublicationTypeAsset) typeModel.getSelectedObject(state);
|
final PublicationTypeAsset typeAsset = (PublicationTypeAsset) typeModel.
|
||||||
|
getSelectedObject(state);
|
||||||
final FormData data = event.getFormData();
|
final FormData data = event.getFormData();
|
||||||
|
|
||||||
data.put(PUB_TYPE, typeAsset.getPublicationType());
|
data.put(PUB_TYPE, typeAsset.getPublicationType());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue