Weitere Korrekturen in Zusammenhang mit Sprachunabhängigen Items und Validerung

git-svn-id: https://svn.libreccm.org/ccm/trunk@1216 8810af33-2d31-482b-a856-94f89814c4df
master
jensp 2011-11-01 13:39:10 +00:00
parent 2f4e7b1a50
commit 373769cf44
27 changed files with 271 additions and 157 deletions

View File

@ -25,6 +25,7 @@ import com.arsdigita.cms.contenttypes.ui.GenericOrganizationalUnitSubordinateOrg
import com.arsdigita.cms.contenttypes.ui.GenericOrganizationalUnitSubordinateOrgaUnitsTable; import com.arsdigita.cms.contenttypes.ui.GenericOrganizationalUnitSubordinateOrgaUnitsTable;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard; import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.domain.DataObjectNotFoundException; import com.arsdigita.domain.DataObjectNotFoundException;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.persistence.DataCollection; import com.arsdigita.persistence.DataCollection;
import com.arsdigita.persistence.DataObject; import com.arsdigita.persistence.DataObject;
import com.arsdigita.persistence.OID; import com.arsdigita.persistence.OID;
@ -77,7 +78,7 @@ public class GenericOrganizationalUnit extends ContentPage {
public GenericOrganizationalUnit(final String type) { public GenericOrganizationalUnit(final String type) {
super(type); super(type);
} }
public String getAddendum() { public String getAddendum() {
return (String) get(ADDENDUM); return (String) get(ADDENDUM);
} }
@ -131,9 +132,11 @@ public class GenericOrganizationalUnit extends ContentPage {
GenericPerson personToLink = person; GenericPerson personToLink = person;
final ContentBundle bundle = person.getContentBundle(); final ContentBundle bundle = person.getContentBundle();
if ((bundle != null) && (bundle.hasInstance(this.getLanguage(), true))) { if ((bundle != null) && (bundle.hasInstance(this.getLanguage(), Kernel.
getConfig().
languageIndependentItems()))) {
personToLink = personToLink =
(GenericPerson) bundle.getInstance(this.getLanguage(), true); (GenericPerson) bundle.getInstance(this.getLanguage());
} }
Assert.exists(personToLink, GenericPerson.class); Assert.exists(personToLink, GenericPerson.class);
@ -221,11 +224,12 @@ public class GenericOrganizationalUnit extends ContentPage {
final DataObject link = add(SUBORDINATE_ORGAUNITS, orgaunit); final DataObject link = add(SUBORDINATE_ORGAUNITS, orgaunit);
link.set(GenericOrganizationalUnitSubordinateCollection.ASSOCTYPE, link.set(GenericOrganizationalUnitSubordinateCollection.ASSOCTYPE,
assocType); assocType);
link.set( link.set(
GenericOrganizationalUnitSubordinateCollection.SUBORDINATE_ORGAUNIT_ORDER, GenericOrganizationalUnitSubordinateCollection.SUBORDINATE_ORGAUNIT_ORDER,
(int) getSubordinateOrgaUnits().size()); (int) getSubordinateOrgaUnits().size());
link.set(GenericOrganizationalUnitSuperiorCollection.SUPERIOR_ORGAUNIT_ORDER, link.set(
GenericOrganizationalUnitSuperiorCollection.SUPERIOR_ORGAUNIT_ORDER,
((int) getSuperiorOrgaUnits().size()) + 1); ((int) getSuperiorOrgaUnits().size()) + 1);
link.save(); link.save();
} }

View File

@ -19,6 +19,7 @@ import com.arsdigita.cms.contenttypes.GenericContact;
import com.arsdigita.cms.ui.ItemSearchWidget; import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.cms.ContentType; import com.arsdigita.cms.ContentType;
import com.arsdigita.cms.contenttypes.util.ContenttypesGlobalizationUtil; import com.arsdigita.cms.contenttypes.util.ContenttypesGlobalizationUtil;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.util.UncheckedWrapperException; import com.arsdigita.util.UncheckedWrapperException;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
@ -162,7 +163,9 @@ public class GenericContactAttachAddressPropertyForm extends BasicPageForm
GenericAddress address = (GenericAddress) data.get(ITEM_SEARCH); GenericAddress address = (GenericAddress) data.get(ITEM_SEARCH);
if (!(address.getContentBundle().hasInstance(contact.getLanguage(), true))) { if (!(address.getContentBundle().hasInstance(contact.getLanguage(),
Kernel.getConfig().
languageIndependentItems()))) {
data.addError( ContenttypesGlobalizationUtil.globalize( data.addError( ContenttypesGlobalizationUtil.globalize(
"cms.contenttypes.ui.contact.select_address.no_suitable_language_variant")); "cms.contenttypes.ui.contact.select_address.no_suitable_language_variant"));
} }

View File

@ -28,6 +28,7 @@ import com.arsdigita.cms.contenttypes.GenericContactTypeCollection;
import com.arsdigita.cms.contenttypes.GenericPersonContactCollection; import com.arsdigita.cms.contenttypes.GenericPersonContactCollection;
import com.arsdigita.cms.contenttypes.util.ContenttypesGlobalizationUtil; import com.arsdigita.cms.contenttypes.util.ContenttypesGlobalizationUtil;
import com.arsdigita.globalization.GlobalizationHelper; import com.arsdigita.globalization.GlobalizationHelper;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.util.UncheckedWrapperException; import com.arsdigita.util.UncheckedWrapperException;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
@ -38,7 +39,7 @@ import org.apache.log4j.Logger;
*/ */
public class GenericContactAttachPersonPropertyForm extends BasicPageForm public class GenericContactAttachPersonPropertyForm extends BasicPageForm
implements FormProcessListener, FormInitListener, FormSubmissionListener { implements FormProcessListener, FormInitListener, FormSubmissionListener {
private static final Logger logger = private static final Logger logger =
Logger.getLogger( Logger.getLogger(
GenericContactPropertyForm.class); GenericContactPropertyForm.class);
@ -72,14 +73,14 @@ public class GenericContactAttachPersonPropertyForm extends BasicPageForm
GenericContactPersonPropertiesStep step) { GenericContactPersonPropertiesStep step) {
super(ID, itemModel); super(ID, itemModel);
addSubmissionListener(this); addSubmissionListener(this);
addSaveCancelSection(); addSaveCancelSection();
addInitListener(this); addInitListener(this);
addSubmissionListener(this); addSubmissionListener(this);
} }
@Override @Override
public void addWidgets() { public void addWidgets() {
add(new Label((String) ContenttypesGlobalizationUtil.globalize( add(new Label((String) ContenttypesGlobalizationUtil.globalize(
@ -104,41 +105,41 @@ public class GenericContactAttachPersonPropertyForm extends BasicPageForm
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();
contactType.addOption(new Option(ct.getKey(), ct.getName())); contactType.addOption(new Option(ct.getKey(), ct.getName()));
} }
add(contactType); add(contactType);
} }
public void init(FormSectionEvent fse) { public void init(FormSectionEvent fse) {
FormData data = fse.getFormData(); FormData data = fse.getFormData();
PageState state = fse.getPageState(); PageState state = fse.getPageState();
GenericContact contact = (GenericContact) getItemSelectionModel(). GenericContact contact = (GenericContact) getItemSelectionModel().
getSelectedObject(state); getSelectedObject(state);
setVisible(state, true); setVisible(state, true);
if (contact != null) { if (contact != null) {
data.put(ITEM_SEARCH, contact.getPerson()); data.put(ITEM_SEARCH, contact.getPerson());
data.put(CONTACTS_KEY, contact.getContactType()); data.put(CONTACTS_KEY, contact.getContactType());
} }
} }
public void process(FormSectionEvent fse) { public void process(FormSectionEvent fse) {
FormData data = fse.getFormData(); FormData data = fse.getFormData();
PageState state = fse.getPageState(); PageState state = fse.getPageState();
GenericContact contact = (GenericContact) getItemSelectionModel(). GenericContact contact = (GenericContact) getItemSelectionModel().
getSelectedObject(state); getSelectedObject(state);
if (!this.getSaveCancelSection().getCancelButton().isSelected(state)) { if (!this.getSaveCancelSection().getCancelButton().isSelected(state)) {
GenericPerson person = (GenericPerson) data.get(ITEM_SEARCH); GenericPerson person = (GenericPerson) data.get(ITEM_SEARCH);
person = (GenericPerson) person.getContentBundle().getInstance(contact. person = (GenericPerson) person.getContentBundle().getInstance(contact.
getLanguage()); getLanguage());
contact.setPerson(person, (String) data.get(CONTACTS_KEY)); contact.setPerson(person, (String) data.get(CONTACTS_KEY));
} }
init(fse); init(fse);
@ -151,13 +152,13 @@ public class GenericContactAttachPersonPropertyForm extends BasicPageForm
public void addSaveCancelSection() { public void addSaveCancelSection() {
try { try {
getSaveCancelSection().getSaveButton().addPrintListener(new PrintListener() { getSaveCancelSection().getSaveButton().addPrintListener(new PrintListener() {
public void prepare(PrintEvent e) { public void prepare(PrintEvent e) {
GenericContact contact = GenericContact contact =
(GenericContact) getItemSelectionModel(). (GenericContact) getItemSelectionModel().
getSelectedObject(e.getPageState()); getSelectedObject(e.getPageState());
Submit target = (Submit) e.getTarget(); Submit target = (Submit) e.getTarget();
if (contact.getPerson() != null) { if (contact.getPerson() != null) {
target.setButtonLabel((String) ContenttypesGlobalizationUtil. target.setButtonLabel((String) ContenttypesGlobalizationUtil.
globalize( globalize(
@ -175,29 +176,32 @@ public class GenericContactAttachPersonPropertyForm extends BasicPageForm
throw new UncheckedWrapperException("this cannot happen", ex); throw new UncheckedWrapperException("this cannot happen", ex);
} }
} }
@Override @Override
public void validate(FormSectionEvent e) throws FormProcessException { public void validate(FormSectionEvent e) throws FormProcessException {
final PageState state = e.getPageState(); final PageState state = e.getPageState();
final FormData data = e.getFormData(); final FormData data = e.getFormData();
if (data.get(ITEM_SEARCH) == null) { if (data.get(ITEM_SEARCH) == null) {
throw new FormProcessException((String) ContenttypesGlobalizationUtil. throw new FormProcessException((String) ContenttypesGlobalizationUtil.
globalize( globalize(
"cms.contenttypes.ui.contact.select_person.wrong_type"). "cms.contenttypes.ui.contact.select_person.wrong_type").
localize()); localize());
} }
GenericContact contact = (GenericContact) getItemSelectionModel(). GenericContact contact = (GenericContact) getItemSelectionModel().
getSelectedObject(state); getSelectedObject(state);
GenericPerson person = (GenericPerson) data.get(ITEM_SEARCH); GenericPerson person = (GenericPerson) data.get(ITEM_SEARCH);
if (!(person.getContentBundle().hasInstance(contact.getLanguage(), true))) { if (!(person.getContentBundle().hasInstance(contact.getLanguage(),
data.addError("cms.contenttypes.ui.contact.select_person.no_suitable_language_variant"); Kernel.getConfig().
languageIndependentItems()))) {
data.addError(
"cms.contenttypes.ui.contact.select_person.no_suitable_language_variant");
} }
} }
public void submitted(FormSectionEvent e) throws FormProcessException { public void submitted(FormSectionEvent e) throws FormProcessException {
if (getSaveCancelSection().getCancelButton().isSelected(e.getPageState())) { if (getSaveCancelSection().getCancelButton().isSelected(e.getPageState())) {
init(e); init(e);

View File

@ -42,6 +42,7 @@ 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.GlobalizationHelper;
import com.arsdigita.kernel.Kernel;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
/** /**
@ -202,7 +203,9 @@ public class GenericOrganizationalUnitContactAddForm
GenericContact contact = (GenericContact) data.get(ITEM_SEARCH); GenericContact contact = (GenericContact) data.get(ITEM_SEARCH);
if (!(contact.getContentBundle().hasInstance(orgaunit.getLanguage(), true))) { if (!(contact.getContentBundle().hasInstance(orgaunit.getLanguage(),
Kernel.getConfig().
languageIndependentItems()))) {
data.addError( data.addError(
ContenttypesGlobalizationUtil.globalize( ContenttypesGlobalizationUtil.globalize(
"cms.contenttypes.ui.genericorgaunit.select_contact.no_suitable_language_variant")); "cms.contenttypes.ui.genericorgaunit.select_contact.no_suitable_language_variant"));

View File

@ -43,6 +43,7 @@ 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.GlobalizationHelper;
import com.arsdigita.kernel.Kernel;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
/** /**
@ -245,11 +246,13 @@ public class GenericOrganizationalUnitPersonAddForm
GenericPerson person = (GenericPerson) data.get(ITEM_SEARCH); GenericPerson person = (GenericPerson) data.get(ITEM_SEARCH);
if (!(person.getContentBundle().hasInstance(orga.getLanguage(), true))) { if (!(person.getContentBundle().hasInstance(orga.getLanguage(),
Kernel.getConfig().
languageIndependentItems()))) {
data.addError( data.addError(
ContenttypesGlobalizationUtil.globalize( ContenttypesGlobalizationUtil.globalize(
"cms.contenttypes.ui.genericorgaunit.person.no_suitable_language_variant")); "cms.contenttypes.ui.genericorgaunit.person.no_suitable_language_variant"));
return; return;
} }
@ -265,7 +268,7 @@ public class GenericOrganizationalUnitPersonAddForm
ContenttypesGlobalizationUtil.globalize( ContenttypesGlobalizationUtil.globalize(
"cms.contenttypes.ui.genericorgaunit.person.already_added")); "cms.contenttypes.ui.genericorgaunit.person.already_added"));
} }
persons.close(); persons.close();
} }
} }

View File

@ -13,6 +13,7 @@ import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnitSubordinateCollection; import com.arsdigita.cms.contenttypes.GenericOrganizationalUnitSubordinateCollection;
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.kernel.Kernel;
/** /**
* Form for adding a subordinate organizational unit to a organizational unit. * Form for adding a subordinate organizational unit to a organizational unit.
@ -35,29 +36,29 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitAddForm
final GenericOrgaUnitSubordinateOrgaUnitAddFormCustomizer customizer) { final GenericOrgaUnitSubordinateOrgaUnitAddFormCustomizer customizer) {
super("SubordinateOrgaUnitsAddForm", itemModel); super("SubordinateOrgaUnitsAddForm", itemModel);
this.customizer = customizer; this.customizer = customizer;
add(new Label(customizer.getSelectSubordinateOrgaUnitLabel())); add(new Label(customizer.getSelectSubordinateOrgaUnitLabel()));
itemSearch = new ItemSearchWidget( itemSearch = new ItemSearchWidget(
ITEM_SEARCH, ITEM_SEARCH,
ContentType.findByAssociatedObjectType( ContentType.findByAssociatedObjectType(
customizer.getSubordinateOrgaUnitType())); customizer.getSubordinateOrgaUnitType()));
add(itemSearch); add(itemSearch);
} }
@Override @Override
protected void addWidgets() { protected void addWidgets() {
/*add(new Label(customizer.getSelectSubordinateOrgaUnitLabel())); /*add(new Label(customizer.getSelectSubordinateOrgaUnitLabel()));
itemSearch = new ItemSearchWidget( itemSearch = new ItemSearchWidget(
ITEM_SEARCH, ITEM_SEARCH,
ContentType.findByAssociatedObjectType( ContentType.findByAssociatedObjectType(
customizer.getSubordinateOrgaUnitType())); customizer.getSubordinateOrgaUnitType()));
add(itemSearch); */ add(itemSearch); */
} }
@Override @Override
public void init(final FormSectionEvent fse) throws FormProcessException { public void init(final FormSectionEvent fse) throws FormProcessException {
final PageState state = fse.getPageState(); final PageState state = fse.getPageState();
setVisible(state, true); setVisible(state, true);
} }
@ -76,7 +77,8 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitAddForm
subOrgaUnit = (GenericOrganizationalUnit) subOrgaUnit. subOrgaUnit = (GenericOrganizationalUnit) subOrgaUnit.
getContentBundle().getInstance(orgaunit.getLanguage(), true); getContentBundle().getInstance(orgaunit.getLanguage(), true);
orgaunit.addSubordinateOrgaUnit(subOrgaUnit, customizer.getAssocType()); orgaunit.addSubordinateOrgaUnit(subOrgaUnit,
customizer.getAssocType());
} }
init(fse); init(fse);
@ -97,26 +99,31 @@ public class GenericOrganizationalUnitSubordinateOrgaUnitAddForm
(GenericOrganizationalUnit) getItemSelectionModel(). (GenericOrganizationalUnit) getItemSelectionModel().
getSelectedObject(state); getSelectedObject(state);
GenericOrganizationalUnit subOrgaUnit = GenericOrganizationalUnit subOrgaUnit =
(GenericOrganizationalUnit) data.get( (GenericOrganizationalUnit) data.get(
ITEM_SEARCH); ITEM_SEARCH);
if (!(subOrgaUnit.getContentBundle().hasInstance(orgaunit.getLanguage(), if (!(subOrgaUnit.getContentBundle().hasInstance(orgaunit.getLanguage(),
true))) { Kernel.getConfig().
languageIndependentItems()))) {
data.addError(customizer.getNoSuitableLanguageVariantMessage()); data.addError(customizer.getNoSuitableLanguageVariantMessage());
return; return;
} }
subOrgaUnit = (GenericOrganizationalUnit) subOrgaUnit.getContentBundle().getInstance(orgaunit.getLanguage(), true); subOrgaUnit = (GenericOrganizationalUnit) subOrgaUnit.getContentBundle().
getInstance(orgaunit.getLanguage(), true);
if (orgaunit.getID().equals(subOrgaUnit.getID())) { if (orgaunit.getID().equals(subOrgaUnit.getID())) {
data.addError(customizer.getAddingToItselfMessage()); data.addError(customizer.getAddingToItselfMessage());
return; return;
} }
final GenericOrganizationalUnitSubordinateCollection subOrgaUnits = orgaunit.getSubordinateOrgaUnits(); final GenericOrganizationalUnitSubordinateCollection subOrgaUnits =
subOrgaUnits.addFilter(String.format("id = %s", subOrgaUnit.getID().toString())); orgaunit.
getSubordinateOrgaUnits();
subOrgaUnits.addFilter(String.format("id = %s", subOrgaUnit.getID().
toString()));
if (subOrgaUnits.size() > 0) { if (subOrgaUnits.size() > 0) {
data.addError(customizer.getAlreadyAddedMessage()); data.addError(customizer.getAlreadyAddedMessage());
} }
subOrgaUnits.close(); subOrgaUnits.close();
} }
} }

View File

@ -2,7 +2,6 @@ package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.FormData; import com.arsdigita.bebop.FormData;
import com.arsdigita.bebop.FormProcessException; import com.arsdigita.bebop.FormProcessException;
import com.arsdigita.bebop.FormSection;
import com.arsdigita.bebop.Label; import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.PageState; import com.arsdigita.bebop.PageState;
import com.arsdigita.bebop.event.FormInitListener; import com.arsdigita.bebop.event.FormInitListener;
@ -14,6 +13,7 @@ import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnitSuperiorCollection; import com.arsdigita.cms.contenttypes.GenericOrganizationalUnitSuperiorCollection;
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.kernel.Kernel;
/** /**
* *
@ -23,7 +23,7 @@ import com.arsdigita.cms.ui.authoring.BasicItemForm;
public class GenericOrganizationalUnitSuperiorOrgaUnitAddForm public class GenericOrganizationalUnitSuperiorOrgaUnitAddForm
extends BasicItemForm extends BasicItemForm
implements FormProcessListener, implements FormProcessListener,
FormInitListener { FormInitListener {
private ItemSearchWidget itemSearch; private ItemSearchWidget itemSearch;
private final String ITEM_SEARCH = "superiorOrgaUnits"; private final String ITEM_SEARCH = "superiorOrgaUnits";
@ -58,14 +58,15 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitAddForm
final FormData data = fse.getFormData(); final FormData data = fse.getFormData();
final PageState state = fse.getPageState(); final PageState state = fse.getPageState();
final GenericOrganizationalUnit orgaunit = final GenericOrganizationalUnit orgaunit =
(GenericOrganizationalUnit) getItemSelectionModel(). (GenericOrganizationalUnit) getItemSelectionModel().
getSelectedObject(state); getSelectedObject(state);
if (getSaveCancelSection().getSaveButton().isSelected(state)) { if (getSaveCancelSection().getSaveButton().isSelected(state)) {
GenericOrganizationalUnit supOrgaUnit = GenericOrganizationalUnit supOrgaUnit =
(GenericOrganizationalUnit) data.get( (GenericOrganizationalUnit) data.get(
ITEM_SEARCH); ITEM_SEARCH);
supOrgaUnit = (GenericOrganizationalUnit) supOrgaUnit.getContentBundle().getInstance(orgaunit.getLanguage(), true); supOrgaUnit = (GenericOrganizationalUnit) supOrgaUnit.
getContentBundle().getInstance(orgaunit.getLanguage(), true);
orgaunit.addSuperiorOrgaUnit(supOrgaUnit, customizer.getAssocType()); orgaunit.addSuperiorOrgaUnit(supOrgaUnit, customizer.getAssocType());
} }
@ -84,26 +85,31 @@ public class GenericOrganizationalUnitSuperiorOrgaUnitAddForm
} }
final GenericOrganizationalUnit orgaunit = final GenericOrganizationalUnit orgaunit =
(GenericOrganizationalUnit) getItemSelectionModel(). (GenericOrganizationalUnit) getItemSelectionModel().
getSelectedObject(state); getSelectedObject(state);
GenericOrganizationalUnit supOrgaUnit = GenericOrganizationalUnit supOrgaUnit =
(GenericOrganizationalUnit) data.get( (GenericOrganizationalUnit) data.get(
ITEM_SEARCH); ITEM_SEARCH);
if (!(supOrgaUnit.getContentBundle().hasInstance(orgaunit.getLanguage(), if (!(supOrgaUnit.getContentBundle().hasInstance(orgaunit.getLanguage(),
true))) { Kernel.getConfig().
languageIndependentItems()))) {
data.addError(customizer.getNoSuitableLanguageVariantMessage()); data.addError(customizer.getNoSuitableLanguageVariantMessage());
return; return;
} }
supOrgaUnit = (GenericOrganizationalUnit) supOrgaUnit.getContentBundle().getInstance(orgaunit.getLanguage(), true); supOrgaUnit = (GenericOrganizationalUnit) supOrgaUnit.getContentBundle().
getInstance(orgaunit.getLanguage(), true);
if (orgaunit.getID().equals(supOrgaUnit.getID())) { if (orgaunit.getID().equals(supOrgaUnit.getID())) {
data.addError(customizer.getAddingToItselfMessage()); data.addError(customizer.getAddingToItselfMessage());
return; return;
} }
final GenericOrganizationalUnitSuperiorCollection supOrgaUnits = orgaunit.getSuperiorOrgaUnits(); final GenericOrganizationalUnitSuperiorCollection supOrgaUnits =
supOrgaUnits.addFilter(String.format("id = %s", supOrgaUnit.getID().toString())); orgaunit.
getSuperiorOrgaUnits();
supOrgaUnits.addFilter(String.format("id = %s", supOrgaUnit.getID().
toString()));
if (supOrgaUnits.size() > 0) { if (supOrgaUnits.size() > 0) {
data.addError(customizer.getAlreadyAddedMessage()); data.addError(customizer.getAlreadyAddedMessage());
} }

View File

@ -17,6 +17,7 @@ import com.arsdigita.cms.contenttypes.GenericPerson;
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.BasicPageForm; import com.arsdigita.cms.ui.authoring.BasicPageForm;
import com.arsdigita.kernel.Kernel;
import com.arsdigita.util.UncheckedWrapperException; import com.arsdigita.util.UncheckedWrapperException;
/** /**
@ -137,7 +138,9 @@ public class GenericPersonAliasSetForm
} else if (person.equals(data.get(ITEM_SEARCH))) { } else if (person.equals(data.get(ITEM_SEARCH))) {
data.addError(ContenttypesGlobalizationUtil.globalize( data.addError(ContenttypesGlobalizationUtil.globalize(
"cms.contenttypes.person.alias.select.same_as_person")); "cms.contenttypes.person.alias.select.same_as_person"));
} else if (!alias.getContentBundle().hasInstance(person.getLanguage(), true)) { } else if (!alias.getContentBundle().hasInstance(person.getLanguage(),
Kernel.getConfig().
languageIndependentItems())) {
data.addError( data.addError(
ContenttypesGlobalizationUtil.globalize( ContenttypesGlobalizationUtil.globalize(
"cms.contenttypes.person.alias.select.no_suitable_language_variant")); "cms.contenttypes.person.alias.select.no_suitable_language_variant"));

View File

@ -42,6 +42,7 @@ import com.arsdigita.cms.ui.ItemSearchWidget;
import com.arsdigita.globalization.GlobalizationHelper; import com.arsdigita.globalization.GlobalizationHelper;
import com.arsdigita.kernel.Kernel;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
/** /**
@ -156,24 +157,27 @@ public class GenericPersonContactAddForm extends BasicItemForm {
GenericContact contact = (GenericContact) data.get(ITEM_SEARCH); GenericContact contact = (GenericContact) data.get(ITEM_SEARCH);
if (!(contact.getContentBundle().hasInstance(person.getLanguage(), true))) { if (!(contact.getContentBundle().hasInstance(person.getLanguage(),
Kernel.getConfig().
languageIndependentItems()))) {
data.addError( data.addError(
ContenttypesGlobalizationUtil.globalize( ContenttypesGlobalizationUtil.globalize(
"cms.contenttypes.ui.person.select_contact.no_suitable_language_variant")); "cms.contenttypes.ui.person.select_contact.no_suitable_language_variant"));
return; return;
} }
contact = (GenericContact) contact.getContentBundle().getInstance(person.getLanguage()); contact = (GenericContact) contact.getContentBundle().getInstance(person.
getLanguage());
GenericPersonContactCollection contacts = person.getContacts(); GenericPersonContactCollection contacts = person.getContacts();
contacts.addFilter(String.format("id = %s", contact.getID().toString())); contacts.addFilter(String.format("id = %s", contact.getID().toString()));
if (contacts.size() > 0) { if (contacts.size() > 0) {
data.addError( data.addError(
ContenttypesGlobalizationUtil.globalize( ContenttypesGlobalizationUtil.globalize(
"cms.contenttypes.ui.person.select_contact.already_added")); "cms.contenttypes.ui.person.select_contact.already_added"));
} }
contacts.close(); contacts.close();
} }
} }

View File

@ -32,6 +32,7 @@ import com.arsdigita.cms.contenttypes.ArticleInCollectedVolume;
import com.arsdigita.cms.contenttypes.CollectedVolume; import com.arsdigita.cms.contenttypes.CollectedVolume;
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.kernel.Kernel;
/** /**
* Form for adding an association between an ArticleInCollectedVolume and a * Form for adding an association between an ArticleInCollectedVolume and a
@ -102,16 +103,22 @@ public class ArticleInCollectedVolumeCollectedVolumeForm
"publications.ui.articleInCollectedVolume.selectCollectedVolume.no_collected_volume_selected")); "publications.ui.articleInCollectedVolume.selectCollectedVolume.no_collected_volume_selected"));
return; return;
} }
ArticleInCollectedVolume article = (ArticleInCollectedVolume) getItemSelectionModel().getSelectedObject(state); ArticleInCollectedVolume article =
(ArticleInCollectedVolume) getItemSelectionModel().
CollectedVolume collectedVolume = (CollectedVolume) data.get(ITEM_SEARCH); getSelectedObject(state);
if (!(collectedVolume.getContentBundle().hasInstance(article.getLanguage(), true))) { CollectedVolume collectedVolume =
data.addError( (CollectedVolume) data.get(ITEM_SEARCH);
if (!(collectedVolume.getContentBundle().hasInstance(
article.getLanguage(),
Kernel.getConfig().
languageIndependentItems()))) {
data.addError(
PublicationGlobalizationUtil.globalize( PublicationGlobalizationUtil.globalize(
"publications.ui.articleInCollectedVolume.selectCollectedVolume.no_suitable_language_variant")); "publications.ui.articleInCollectedVolume.selectCollectedVolume.no_suitable_language_variant"));
return; return;
} }
} }
} }

View File

@ -32,6 +32,7 @@ import com.arsdigita.cms.contenttypes.ArticleInJournal;
import com.arsdigita.cms.contenttypes.Journal; import com.arsdigita.cms.contenttypes.Journal;
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.kernel.Kernel;
/** /**
* Form for adding an associatio between an article in a journal and a journal. * Form for adding an associatio between an article in a journal and a journal.
@ -87,23 +88,28 @@ public class ArticleInJournalJournalForm
@Override @Override
public void validate(FormSectionEvent fse) throws FormProcessException { public void validate(FormSectionEvent fse) throws FormProcessException {
final PageState state= fse.getPageState(); final PageState state = fse.getPageState();
final FormData data = fse.getFormData(); final FormData data = fse.getFormData();
if (data.get(ITEM_SEARCH) == null) { if (data.get(ITEM_SEARCH) == null) {
data.addError(PublicationGlobalizationUtil.globalize( data.addError(
"publications.ui.articleInJournal.selectJournal.no_journal_selected")); PublicationGlobalizationUtil.globalize(
"publications.ui.articleInJournal.selectJournal.no_journal_selected"));
return; return;
} }
ArticleInJournal article = (ArticleInJournal) getItemSelectionModel().getSelectedObject( ArticleInJournal article = (ArticleInJournal) getItemSelectionModel().
getSelectedObject(
state); state);
Journal journal = (Journal) data.get(ITEM_SEARCH); Journal journal = (Journal) data.get(ITEM_SEARCH);
if (!(journal.getContentBundle().hasInstance(article.getLanguage(), true))) { if (!(journal.getContentBundle().hasInstance(article.getLanguage(),
data.addError(PublicationGlobalizationUtil.globalize( Kernel.getConfig().
"publications.ui.articleInJournal.selectJournal.no_suitable_language_variant")); languageIndependentItems()))) {
data.addError(
PublicationGlobalizationUtil.globalize(
"publications.ui.articleInJournal.selectJournal.no_suitable_language_variant"));
return; return;
} }
} }
} }

View File

@ -33,6 +33,7 @@ import com.arsdigita.cms.contenttypes.ArticleInCollectedVolumeCollection;
import com.arsdigita.cms.contenttypes.CollectedVolume; import com.arsdigita.cms.contenttypes.CollectedVolume;
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.kernel.Kernel;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
/** /**
@ -102,32 +103,42 @@ public class CollectedVolumeArticleAddForm
public void validate(FormSectionEvent fse) throws FormProcessException { public void validate(FormSectionEvent fse) throws FormProcessException {
final PageState state = fse.getPageState(); final PageState state = fse.getPageState();
final FormData data = fse.getFormData(); final FormData data = fse.getFormData();
if (data.get(ITEM_SEARCH) == null) { if (data.get(ITEM_SEARCH) == null) {
data.addError(PublicationGlobalizationUtil.globalize( data.addError(
"publications.ui.collected_volume.articles.select_article.no_article_selected")); PublicationGlobalizationUtil.globalize(
"publications.ui.collected_volume.articles.select_article.no_article_selected"));
return; return;
} }
CollectedVolume collectedVolume = (CollectedVolume) getItemSelectionModel().getSelectedObject(state); CollectedVolume collectedVolume =
ArticleInCollectedVolume article = (ArticleInCollectedVolume) data.get(ITEM_SEARCH); (CollectedVolume) getItemSelectionModel().
getSelectedObject(state);
if (!(article.getContentBundle().hasInstance(collectedVolume.getLanguage(), true))) { ArticleInCollectedVolume article = (ArticleInCollectedVolume) data.get(
data.addError(PublicationGlobalizationUtil.globalize( ITEM_SEARCH);
"publications.ui.collected_volume.articles.select_article.no_suitable_language_variant"));
if (!(article.getContentBundle().hasInstance(
collectedVolume.getLanguage(), Kernel.getConfig().
languageIndependentItems()))) {
data.addError(
PublicationGlobalizationUtil.globalize(
"publications.ui.collected_volume.articles.select_article.no_suitable_language_variant"));
return; return;
} }
article = (ArticleInCollectedVolume) article.getContentBundle().getInstance(collectedVolume.getLanguage()); article = (ArticleInCollectedVolume) article.getContentBundle().
ArticleInCollectedVolumeCollection articles = collectedVolume.getArticles(); getInstance(collectedVolume.getLanguage());
ArticleInCollectedVolumeCollection articles = collectedVolume.
getArticles();
articles.addFilter(String.format("id = %s", article.getID().toString())); articles.addFilter(String.format("id = %s", article.getID().toString()));
if (articles.size() > 0) { if (articles.size() > 0) {
data.addError(PublicationGlobalizationUtil.globalize( data.addError(
"publications.ui.collected_volume.articles.select_article.already_added")); PublicationGlobalizationUtil.globalize(
"publications.ui.collected_volume.articles.select_article.already_added"));
return; return;
} }
articles.close(); articles.close();
} }
} }

View File

@ -13,6 +13,7 @@ import com.arsdigita.cms.contenttypes.Expertise;
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit; import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
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.kernel.Kernel;
/** /**
* *
@ -66,24 +67,31 @@ public class ExpertiseOrdererForm
init(fse); init(fse);
} }
@Override public void validate(FormSectionEvent fse) throws FormProcessException { @Override
public void validate(FormSectionEvent fse) throws FormProcessException {
final PageState state = fse.getPageState(); final PageState state = fse.getPageState();
final FormData data = fse.getFormData(); final FormData data = fse.getFormData();
if (data.get(ITEM_SEARCH) == null) { if (data.get(ITEM_SEARCH) == null) {
data.addError(PublicationGlobalizationUtil.globalize( data.addError(PublicationGlobalizationUtil.globalize(
"publications.ui.expertise.orderer.no_orderer_selected")); "publications.ui.expertise.orderer.no_orderer_selected"));
return; return;
} }
Expertise expertise = (Expertise) getItemSelectionModel().getSelectedObject(state); Expertise expertise = (Expertise) getItemSelectionModel().
GenericOrganizationalUnit orderer = (GenericOrganizationalUnit) data.get(ITEM_SEARCH); getSelectedObject(state);
if (!(orderer.getContentBundle().hasInstance(expertise.getLanguage(), true))) { GenericOrganizationalUnit orderer =
data.addError(PublicationGlobalizationUtil.globalize( (GenericOrganizationalUnit) data.get(
"publications.ui.expertise.orderer.no_suitable_langauge_variant")); ITEM_SEARCH);
if (!(orderer.getContentBundle().hasInstance(expertise.getLanguage(),
Kernel.getConfig().
languageIndependentItems()))) {
data.addError(
PublicationGlobalizationUtil.globalize(
"publications.ui.expertise.orderer.no_suitable_langauge_variant"));
return; return;
} }
} }

View File

@ -13,6 +13,7 @@ import com.arsdigita.cms.contenttypes.Expertise;
import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit; import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
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.kernel.Kernel;
/** /**
* *
@ -77,11 +78,16 @@ public class ExpertiseOrganizationForm
"publications.ui.expertise.organization.no_orga_selected")); "publications.ui.expertise.organization.no_orga_selected"));
return; return;
} }
Expertise expertise = (Expertise) getItemSelectionModel().getSelectedObject(state); Expertise expertise = (Expertise) getItemSelectionModel().
GenericOrganizationalUnit orga = (GenericOrganizationalUnit) data.get(ITEM_SEARCH); getSelectedObject(state);
if (!(orga.getContentBundle().hasInstance(expertise.getLanguage(), true))) { GenericOrganizationalUnit orga = (GenericOrganizationalUnit) data.get(
data.addError(PublicationGlobalizationUtil.globalize( ITEM_SEARCH);
if (!(orga.getContentBundle().hasInstance(expertise.getLanguage(),
Kernel.getConfig().
languageIndependentItems()))) {
data.addError(
PublicationGlobalizationUtil.globalize(
"publications.ui.expertise.organization.no_suitable_language_variant")); "publications.ui.expertise.organization.no_suitable_language_variant"));
return; return;
} }

View File

@ -14,6 +14,7 @@ import com.arsdigita.cms.contenttypes.GenericOrganizationalUnitPublicationsColle
import com.arsdigita.cms.contenttypes.Publication; import com.arsdigita.cms.contenttypes.Publication;
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.kernel.Kernel;
/** /**
* *
@ -86,7 +87,8 @@ public class GenericOrganizationalUnitPublicationAddForm
getSelectedObject(state); getSelectedObject(state);
Publication publication = (Publication) data.get(ITEM_SEARCH); Publication publication = (Publication) data.get(ITEM_SEARCH);
if (!(publication.getContentBundle().hasInstance(orgaunit.getLanguage(), if (!(publication.getContentBundle().hasInstance(orgaunit.getLanguage(),
true))) { Kernel.getConfig().
languageIndependentItems()))) {
data.addError( data.addError(
PublicationGlobalizationUtil.globalize( PublicationGlobalizationUtil.globalize(
"genericorganizationalunit.ui.publication.no_suitable_language_variant")); "genericorganizationalunit.ui.publication.no_suitable_language_variant"));

View File

@ -32,6 +32,7 @@ import com.arsdigita.cms.contenttypes.InProceedings;
import com.arsdigita.cms.contenttypes.Proceedings; import com.arsdigita.cms.contenttypes.Proceedings;
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.kernel.Kernel;
/** /**
* Form for adding an association between a InProceedings publication and * Form for adding an association between a InProceedings publication and
@ -103,7 +104,7 @@ public class InProceedingsProceedingsForm
getSelectedObject(state); getSelectedObject(state);
Proceedings proceedings = (Proceedings) data.get(ITEM_SEARCH); Proceedings proceedings = (Proceedings) data.get(ITEM_SEARCH);
if (!(proceedings.getContentBundle().hasInstance(inProceedings. if (!(proceedings.getContentBundle().hasInstance(inProceedings.
getLanguage(), true))) { getLanguage(), Kernel.getConfig().languageIndependentItems()))) {
data.addError( data.addError(
PublicationGlobalizationUtil.globalize( PublicationGlobalizationUtil.globalize(
"publications.ui.inProceedings.selectProceedings.no_suitable_language_variant")); "publications.ui.inProceedings.selectProceedings.no_suitable_language_variant"));

View File

@ -13,6 +13,7 @@ import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
import com.arsdigita.cms.contenttypes.InternetArticle; import com.arsdigita.cms.contenttypes.InternetArticle;
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.kernel.Kernel;
/** /**
* *
@ -82,7 +83,8 @@ public class InternetArticleOrganizationForm
getSelectedObject(state); getSelectedObject(state);
GenericOrganizationalUnit orga = (GenericOrganizationalUnit) data.get( GenericOrganizationalUnit orga = (GenericOrganizationalUnit) data.get(
ITEM_SEARCH); ITEM_SEARCH);
if (!(orga.getContentBundle().hasInstance(article.getLanguage(), true))) { if (!(orga.getContentBundle().hasInstance(article.getLanguage(), Kernel.
getConfig().languageIndependentItems()))) {
data.addError( data.addError(
PublicationGlobalizationUtil.globalize( PublicationGlobalizationUtil.globalize(
"publications.ui.internetarticle.select_organization.no_suitable_language_variant")); "publications.ui.internetarticle.select_organization.no_suitable_language_variant"));

View File

@ -33,6 +33,7 @@ import com.arsdigita.cms.contenttypes.ArticleInJournalCollection;
import com.arsdigita.cms.contenttypes.Journal; import com.arsdigita.cms.contenttypes.Journal;
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.kernel.Kernel;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
/** /**
@ -109,7 +110,9 @@ public class JournalArticleAddForm
Journal journal = (Journal) getItemSelectionModel().getSelectedObject( Journal journal = (Journal) getItemSelectionModel().getSelectedObject(
state); state);
ArticleInJournal article = (ArticleInJournal) data.get(ITEM_SEARCH); ArticleInJournal article = (ArticleInJournal) data.get(ITEM_SEARCH);
if (!(article.getContentBundle().hasInstance(journal.getLanguage(), true))) { if (!(article.getContentBundle().hasInstance(journal.getLanguage(),
Kernel.getConfig().
languageIndependentItems()))) {
data.addError( data.addError(
PublicationGlobalizationUtil.globalize( PublicationGlobalizationUtil.globalize(
"publications.ui.journal.articles.select_article.no_suitable_language_variant")); "publications.ui.journal.articles.select_article.no_suitable_language_variant"));

View File

@ -13,6 +13,7 @@ import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
import com.arsdigita.cms.contenttypes.Proceedings; import com.arsdigita.cms.contenttypes.Proceedings;
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.kernel.Kernel;
/** /**
* *
@ -83,8 +84,11 @@ public class ProceedingsOrganizerForm
getSelectedObject(state); getSelectedObject(state);
GenericOrganizationalUnit organizer = (GenericOrganizationalUnit) data. GenericOrganizationalUnit organizer = (GenericOrganizationalUnit) data.
get(ITEM_SEARCH); get(ITEM_SEARCH);
if (!(organizer.getContentBundle().hasInstance(proceedings.getLanguage(), true))) { if (!(organizer.getContentBundle().hasInstance(proceedings.getLanguage(),
data.addError(PublicationGlobalizationUtil.globalize( Kernel.getConfig().
languageIndependentItems()))) {
data.addError(
PublicationGlobalizationUtil.globalize(
"publications.ui.proceedings.organizer.no_suitable_language_variant")); "publications.ui.proceedings.organizer.no_suitable_language_variant"));
return; return;
} }

View File

@ -33,6 +33,7 @@ import com.arsdigita.cms.contenttypes.InProceedingsCollection;
import com.arsdigita.cms.contenttypes.Proceedings; import com.arsdigita.cms.contenttypes.Proceedings;
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.kernel.Kernel;
/** /**
* *
@ -105,14 +106,17 @@ public class ProceedingsPapersAddForm
Proceedings proceedings = (Proceedings) getItemSelectionModel(). Proceedings proceedings = (Proceedings) getItemSelectionModel().
getSelectedObject(state); getSelectedObject(state);
InProceedings paper = (InProceedings) data.get(ITEM_SEARCH); InProceedings paper = (InProceedings) data.get(ITEM_SEARCH);
if (!(paper.getContentBundle().hasInstance(proceedings.getLanguage(), true))) { if (!(paper.getContentBundle().hasInstance(proceedings.getLanguage(),
Kernel.getConfig().
languageIndependentItems()))) {
data.addError( data.addError(
PublicationGlobalizationUtil.globalize( PublicationGlobalizationUtil.globalize(
"publications.ui.proceedings.select_paper.no_suitable_language_variant")); "publications.ui.proceedings.select_paper.no_suitable_language_variant"));
return; return;
} }
paper = (InProceedings) paper.getContentBundle().getInstance(proceedings.getLanguage()); paper = (InProceedings) paper.getContentBundle().getInstance(proceedings.
getLanguage());
InProceedingsCollection papers = proceedings.getPapers(); InProceedingsCollection papers = proceedings.getPapers();
papers.addFilter(String.format("id = %s", paper.getID().toString())); papers.addFilter(String.format("id = %s", paper.getID().toString()));
if (papers.size() > 0) { if (papers.size() > 0) {

View File

@ -37,6 +37,7 @@ import com.arsdigita.cms.contenttypes.Publication;
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.cms.ui.authoring.SimpleEditStep; import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.kernel.Kernel;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
/** /**
@ -211,7 +212,9 @@ public class PublicationAuthorAddForm
getSelectedAuthor(); getSelectedAuthor();
editing = true; editing = true;
} }
if (!(author.getContentBundle().hasInstance(publication.getLanguage(), true))) { if (!(author.getContentBundle().hasInstance(publication.getLanguage(),
Kernel.getConfig().
languageIndependentItems()))) {
data.addError( data.addError(
PublicationGlobalizationUtil.globalize( PublicationGlobalizationUtil.globalize(
"publications.ui.authors.selectAuthor.no_suitable_language_variant")); "publications.ui.authors.selectAuthor.no_suitable_language_variant"));

View File

@ -14,7 +14,7 @@ import com.arsdigita.cms.contenttypes.Publication;
import com.arsdigita.cms.contenttypes.PublicationGenericOrganizationalsUnitCollection; import com.arsdigita.cms.contenttypes.PublicationGenericOrganizationalsUnitCollection;
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.persistence.DataCollection; import com.arsdigita.kernel.Kernel;
/** /**
* *
@ -86,7 +86,8 @@ public class PublicationGenericOrganizationalUnitAddForm
GenericOrganizationalUnit orgaunit = (GenericOrganizationalUnit) data. GenericOrganizationalUnit orgaunit = (GenericOrganizationalUnit) data.
get(ITEM_SEARCH); get(ITEM_SEARCH);
if (!(orgaunit.getContentBundle().hasInstance(publication.getLanguage(), if (!(orgaunit.getContentBundle().hasInstance(publication.getLanguage(),
true))) { Kernel.getConfig().
languageIndependentItems()))) {
data.addError(PublicationGlobalizationUtil.globalize( data.addError(PublicationGlobalizationUtil.globalize(
"publications.ui.orgaunit.no_suitable_language_variant")); "publications.ui.orgaunit.no_suitable_language_variant"));
return; return;

View File

@ -35,6 +35,7 @@ import com.arsdigita.cms.contenttypes.Series;
import com.arsdigita.cms.contenttypes.SeriesCollection; import com.arsdigita.cms.contenttypes.SeriesCollection;
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.kernel.Kernel;
/** /**
* *
@ -108,7 +109,9 @@ public class PublicationSeriesAddForm
Publication publication = (Publication) getItemSelectionModel(). Publication publication = (Publication) getItemSelectionModel().
getSelectedObject(state); getSelectedObject(state);
Series series = (Series) data.get(ITEM_SEARCH); Series series = (Series) data.get(ITEM_SEARCH);
if (!(series.getContentBundle().hasInstance(publication.getLanguage(), true))) { if (!(series.getContentBundle().hasInstance(publication.getLanguage(),
Kernel.getConfig().
languageIndependentItems()))) {
data.addError( data.addError(
PublicationGlobalizationUtil.globalize( PublicationGlobalizationUtil.globalize(
"publications.ui.series.select_series.no_suitable_language_variant")); "publications.ui.series.select_series.no_suitable_language_variant"));

View File

@ -13,6 +13,7 @@ import com.arsdigita.cms.contenttypes.PublicationWithPublisher;
import com.arsdigita.cms.contenttypes.Publisher; import com.arsdigita.cms.contenttypes.Publisher;
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.kernel.Kernel;
/** /**
* *
@ -85,7 +86,9 @@ public class PublicationWithPublisherSetPublisherForm
(PublicationWithPublisher) getItemSelectionModel(). (PublicationWithPublisher) getItemSelectionModel().
getSelectedObject(state); getSelectedObject(state);
Publisher publisher = (Publisher) data.get(ITEM_SEARCH); Publisher publisher = (Publisher) data.get(ITEM_SEARCH);
if (!(publisher.getContentBundle().hasInstance(publication.getLanguage(), true))) { if (!(publisher.getContentBundle().hasInstance(publication.getLanguage(),
Kernel.getConfig().
languageIndependentItems()))) {
data.addError( data.addError(
PublicationGlobalizationUtil.globalize( PublicationGlobalizationUtil.globalize(
"publications.ui.with_publisher.publisher.no_suitable_language_variant")); "publications.ui.with_publisher.publisher.no_suitable_language_variant"));

View File

@ -35,6 +35,7 @@ import com.arsdigita.cms.contenttypes.GenericPerson;
import com.arsdigita.cms.contenttypes.Series; import com.arsdigita.cms.contenttypes.Series;
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.kernel.Kernel;
import java.util.Calendar; import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.GregorianCalendar; import java.util.GregorianCalendar;
@ -177,39 +178,44 @@ public class SeriesEditshipAddForm
fse.getPageState())) { fse.getPageState())) {
editStep.setSelectedEditor(null); editStep.setSelectedEditor(null);
editStep.setSelectedEditorDateFrom(null); editStep.setSelectedEditorDateFrom(null);
editStep.setSelectedEditorDateTo(null); editStep.setSelectedEditorDateTo(null);
} }
init(fse); init(fse);
} }
@Override @Override
public void validate(FormSectionEvent fse) throws FormProcessException { public void validate(FormSectionEvent fse) throws FormProcessException {
final PageState state = fse.getPageState(); final PageState state = fse.getPageState();
final FormData data = fse.getFormData(); final FormData data = fse.getFormData();
if (data.get(ITEM_SEARCH) == null) { if (data.get(ITEM_SEARCH) == null) {
data.addError(PublicationGlobalizationUtil.globalize( data.addError(PublicationGlobalizationUtil.globalize(
"publications.ui.series.editship.no_editor_selected")); "publications.ui.series.editship.no_editor_selected"));
return; return;
} }
Series series = (Series) getItemSelectionModel().getSelectedObject(state); Series series =
(Series) getItemSelectionModel().getSelectedObject(state);
GenericPerson editor = (GenericPerson) data.get(ITEM_SEARCH); GenericPerson editor = (GenericPerson) data.get(ITEM_SEARCH);
if (!(editor.getContentBundle().hasInstance(series.getLanguage(), true))) { if (!(editor.getContentBundle().hasInstance(series.getLanguage(),
data.addError(PublicationGlobalizationUtil.globalize( Kernel.getConfig().
"publications.ui.series.editship.no_suitable_language_variant")); languageIndependentItems()))) {
data.addError(
PublicationGlobalizationUtil.globalize(
"publications.ui.series.editship.no_suitable_language_variant"));
return; return;
} }
editor = (GenericPerson) editor.getContentBundle().getInstance(series.getLanguage()); editor = (GenericPerson) editor.getContentBundle().getInstance(series.
getLanguage());
EditshipCollection editors = series.getEditors(); EditshipCollection editors = series.getEditors();
editors.addFilter(String.format("id = %s", editor.getID().toString())); editors.addFilter(String.format("id = %s", editor.getID().toString()));
if (editors.size() > 0) { if (editors.size() > 0) {
data.addError(PublicationGlobalizationUtil.globalize( data.addError(PublicationGlobalizationUtil.globalize(
"publications.ui.series.editship.already_added")); "publications.ui.series.editship.already_added"));
} }
editors.close(); editors.close();
} }
} }

View File

@ -35,6 +35,7 @@ import com.arsdigita.cms.contenttypes.Series;
import com.arsdigita.cms.contenttypes.VolumeInSeriesCollection; import com.arsdigita.cms.contenttypes.VolumeInSeriesCollection;
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.kernel.Kernel;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
/** /**
@ -119,7 +120,9 @@ public class SeriesVolumeAddForm extends BasicItemForm {
Series series = (Series) getItemSelectionModel(). Series series = (Series) getItemSelectionModel().
getSelectedObject(state); getSelectedObject(state);
Publication volume = (Publication) data.get(ITEM_SEARCH); Publication volume = (Publication) data.get(ITEM_SEARCH);
if (!(volume.getContentBundle().hasInstance(series.getLanguage(), true))) { if (!(volume.getContentBundle().hasInstance(series.getLanguage(),
Kernel.getConfig().
languageIndependentItems()))) {
data.addError( data.addError(
PublicationGlobalizationUtil.globalize( PublicationGlobalizationUtil.globalize(
"publications.ui.series.volume_of_series.no_suitable_language_variant")); "publications.ui.series.volume_of_series.no_suitable_language_variant"));

View File

@ -13,6 +13,7 @@ import com.arsdigita.cms.contenttypes.GenericOrganizationalUnit;
import com.arsdigita.cms.contenttypes.UnPublished; import com.arsdigita.cms.contenttypes.UnPublished;
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.kernel.Kernel;
/** /**
* *
@ -82,8 +83,11 @@ public class UnPublishedOrganizationForm
getSelectedObject(state); getSelectedObject(state);
GenericOrganizationalUnit orga = (GenericOrganizationalUnit) data.get( GenericOrganizationalUnit orga = (GenericOrganizationalUnit) data.get(
ITEM_SEARCH); ITEM_SEARCH);
if (!(orga.getContentBundle().hasInstance(unPublished.getLanguage(), true))) { if (!(orga.getContentBundle().hasInstance(unPublished.getLanguage(),
data.addError(PublicationGlobalizationUtil.globalize( Kernel.getConfig().
languageIndependentItems()))) {
data.addError(
PublicationGlobalizationUtil.globalize(
"publications.ui.unpublished.organization.no_suitable_language_variant")); "publications.ui.unpublished.organization.no_suitable_language_variant"));
return; return;
} }