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-94f89814c4df
master
jensp 2014-07-10 17:55:53 +00:00
parent 52d8a5285e
commit 96770a673d
6 changed files with 109 additions and 71 deletions

View File

@ -33,8 +33,8 @@ import com.arsdigita.bebop.parameters.NotEmptyValidationListener;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.ContentSection;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.RelationAttribute;
import com.arsdigita.cms.RelationAttributeCollection;
import com.arsdigita.cms.RelationAttributeResourceBundleControl;
import com.arsdigita.cms.contentassets.GenericOrgaUnitTextAsset;
import com.arsdigita.cms.contentassets.GenericOrgaUnitTextAssetGlobalizationUtil;
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.util.UncheckedWrapperException;
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(
"GenericOrgaUnitTextAssetName");
names.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().getLanguage());
//names.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().getLanguage());
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()))));
}
}

View File

@ -30,6 +30,7 @@ import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.bebop.parameters.ParameterModel;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.RelationAttributeResourceBundleControl;
import com.arsdigita.cms.contenttypes.GenericContact;
import com.arsdigita.cms.contenttypes.GenericContactEntry;
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.ui.authoring.BasicItemForm;
import com.arsdigita.globalization.GlobalizationHelper;
import com.arsdigita.globalization.GlobalizedMessage;
import com.arsdigita.util.UncheckedWrapperException;
import java.util.TooManyListenersException;
import java.util.logging.Level;
import org.apache.log4j.Logger;
@ -84,11 +84,17 @@ public class GenericContactEntryAddForm extends BasicItemForm {
final SingleSelect target = (SingleSelect) event.getTarget();
final GenericContactEntryKeys keyList = new GenericContactEntryKeys();
keyList.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale()
.getLanguage());
// keyList.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale()
// .getLanguage());
while (keyList.next()) {
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()))));
}
}

View File

@ -113,13 +113,14 @@ public class GenericOrganizationalUnitPersonAddForm
final RelationAttributeCollection roles = new RelationAttributeCollection(
getRoleAttributeName());
roles.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().
getLanguage());
// roles.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().
// getLanguage());
while (roles.next()) {
RelationAttribute role;
role = roles.getRelationAttribute();
//target.addOption(new Option(role.getKey(), role.getName()));
target.addOption(new Option(role.getKey(),
target.addOption(new Option(
role.getKey(),
new Label(new GlobalizedMessage(
role.getKey(),
getRoleAttributeName(),
@ -150,14 +151,16 @@ public class GenericOrganizationalUnitPersonAddForm
final SingleSelect target = (SingleSelect) event.getTarget();
RelationAttributeCollection statusColl = new RelationAttributeCollection(
getStatusAttributeName());
statusColl.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().
getLanguage());
// statusColl.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().
// getLanguage());
while (statusColl.next()) {
RelationAttribute status;
status = statusColl.getRelationAttribute();
//target.addOption(new Option(status.getKey(), status.getName()));
target.addOption(new Option(status.getKey(),
new Label(new GlobalizedMessage(status.getKey(),
target.addOption(new Option(
status.getKey(),
new Label(new GlobalizedMessage(
status.getKey(),
getStatusAttributeName(),
new RelationAttributeResourceBundleControl()))));
}

View File

@ -36,6 +36,7 @@ import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.RelationAttribute;
import com.arsdigita.cms.RelationAttributeResourceBundleControl;
import com.arsdigita.cms.contenttypes.GenericContact;
import com.arsdigita.cms.contenttypes.GenericContactTypeCollection;
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.util.GlobalizationUtil;
import com.arsdigita.globalization.GlobalizationHelper;
import com.arsdigita.globalization.GlobalizedMessage;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.util.UncheckedWrapperException;
@ -111,12 +112,18 @@ public class GenericPersonContactAddForm extends BasicItemForm {
// Add the Options to the SingleSelect widget
final GenericContactTypeCollection contacttypes
= new GenericContactTypeCollection();
contacttypes.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().
getLanguage());
// contacttypes.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().
// getLanguage());
while (contacttypes.next()) {
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()))));
}
}

View File

@ -34,13 +34,14 @@ import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.RelationAttribute;
import com.arsdigita.cms.RelationAttributeCollection;
import com.arsdigita.cms.RelationAttributeResourceBundleControl;
import com.arsdigita.cms.contentassets.SciPublicationsPersonsService;
import com.arsdigita.cms.contenttypes.GenericPerson;
import com.arsdigita.cms.contenttypes.Publication;
import com.arsdigita.cms.contenttypes.util.ContenttypesGlobalizationUtil;
import com.arsdigita.cms.ui.ItemSearchWidget;
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.util.UncheckedWrapperException;
import java.util.TooManyListenersException;
@ -94,12 +95,18 @@ public class SciPublicationsPersonsPersonForm extends BasicItemForm {
final SingleSelect target = (SingleSelect) event.getTarget();
final RelationAttributeCollection relations = new RelationAttributeCollection(
SciPublicationsPersonsService.RELATION_ATTRIBUTE);
relations.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale()
.getLanguage());
// relations.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale()
// .getLanguage());
while (relations.next()) {
RelationAttribute relation;
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()))));
}
}

View File

@ -31,11 +31,12 @@ import com.arsdigita.bebop.parameters.NotEmptyValidationListener;
import com.arsdigita.bebop.parameters.NotNullValidationListener;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.RelationAttribute;
import com.arsdigita.cms.RelationAttributeResourceBundleControl;
import com.arsdigita.cms.contentassets.PublicationTypeAsset;
import com.arsdigita.cms.contentassets.PublicationTypeValuesCollection;
import com.arsdigita.cms.contenttypes.Publication;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.globalization.GlobalizationHelper;
import com.arsdigita.globalization.GlobalizedMessage;
import com.arsdigita.kernel.ui.ACSObjectSelectionModel;
/**
@ -51,7 +52,8 @@ public class PublicationTypeAssetAddForm extends BasicItemForm {
private final ItemSelectionModel itemModel;
private final ACSObjectSelectionModel typeModel;
public PublicationTypeAssetAddForm(final ItemSelectionModel itemModel, final ACSObjectSelectionModel typeModel) {
public PublicationTypeAssetAddForm(final ItemSelectionModel itemModel,
final ACSObjectSelectionModel typeModel) {
super("PublicationTypeAssetAddForm", itemModel);
this.itemModel = itemModel;
@ -69,11 +71,17 @@ public class PublicationTypeAssetAddForm extends BasicItemForm {
type.addOption(new Option("", new Label(PublicationTypeAssetGlobalizationUtil.globalize(
"scipublications.publication_type_asset.form.type.select_one"))));
final PublicationTypeValuesCollection values = new PublicationTypeValuesCollection();
values.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().getLanguage());
//values.addLanguageFilter(GlobalizationHelper.getNegotiatedLocale().getLanguage());
while (values.next()) {
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.
globalize("scipublications.publication_type_asset.form.type"));
@ -101,7 +109,8 @@ public class PublicationTypeAssetAddForm extends BasicItemForm {
final PageState state = event.getPageState();
if (typeModel.getSelectedObject(state) != null) {
final PublicationTypeAsset typeAsset = (PublicationTypeAsset) typeModel.getSelectedObject(state);
final PublicationTypeAsset typeAsset = (PublicationTypeAsset) typeModel.
getSelectedObject(state);
final FormData data = event.getFormData();
data.put(PUB_TYPE, typeAsset.getPublicationType());