Verbesserung und Vervollständigung der multi-language Unterstützung.

git-svn-id: https://svn.libreccm.org/ccm/trunk@2198 8810af33-2d31-482b-a856-94f89814c4df
master
pb 2013-06-09 23:47:25 +00:00
parent 51756339c1
commit ed68a29314
17 changed files with 211 additions and 133 deletions

View File

@ -5,22 +5,27 @@ cms.contenttypes.ui.mparticle.an_item_with_name_already_exists=An item with name
cms.contenttypes.ui.mparticle.an_item_with_this_name_already_exists=An item with this name already exists
cms.contenttypes.ui.mparticle.article_summary=Article Summary
cms.contenttypes.ui.mparticle.article_title=Article Title
cms.contenttypes.ui.mparticle.body_text=Body text:
cms.contenttypes.ui.mparticle.caption=Caption:
cms.contenttypes.ui.mparticle.section.text=Section text:
cms.contenttypes.ui.mparticle.section.caption=Caption:
cms.contenttypes.ui.mparticle.current_image=Current image:
cms.contenttypes.ui.mparticle.delete_section=Delete section
cms.contenttypes.ui.mparticle.edit_section=Edit Section
cms.contenttypes.ui.mparticle.image=Image:
cms.contenttypes.ui.mparticle.move_section_name=Move section
cms.contenttypes.ui.mparticle.section.image=Image:
cms.contenttypes.ui.mparticle.move_section_name=Move section: {0}
cms.contenttypes.ui.mparticle.move_to_beginning=Move to beginning
cms.contenttypes.ui.mparticle.name=Name:
cms.contenttypes.ui.mparticle.no_sections_yet=No sections yet
cms.contenttypes.ui.mparticle.no_text_available=No Text Available
cms.contenttypes.ui.mparticle.section_text_asset=Section text asset
cms.contenttypes.ui.mparticle.section_title=Section Title
cms.contenttypes.ui.mparticle.select_image=Select image:
cms.contenttypes.ui.mparticle.section.title=Section Title :
cms.contenttypes.ui.mparticle.section.select_image=Select image:
cms.contenttypes.ui.mparticle.submission_cancelled=Submission cancelled
cms.contenttypes.ui.mparticle.summary=Description:
cms.contenttypes.ui.mparticle.title=Title:
cms.contenttypes.ui.mparticle.view_all_sections=View all sections
cms.contenttypes.ui.mparticle.no_launch_date=launch date is required
cms.contenttypes.ui.mparticle.section_table.header_section=Section
cms.contenttypes.ui.mparticle.section_table.header_delete=Delete
cms.contenttypes.ui.mparticle.section_table.header_move=Move
cms.contenttypes.ui.mparticle.section_table.header_edit=Edit
cms.contenttypes.ui.mparticle.section_table.link_delete=delete
cms.contenttypes.ui.mparticle.section_table.link_move=move
cms.contenttypes.ui.mparticle.section_table.link_edit=edit
cms.contenttypes.ui.mparticle.section.create_break=Create page break

View File

@ -1,26 +1,31 @@
mparticle.authoring.body_text.description=Edit the body text in sections
cms.contenttypes.ui.mparticle.add_new_section=Neuen Abschnitt hinzuf\u00FCgen
cms.contenttypes.ui.mparticle.add_section=Abschnitt hinzuf\u00FCgen
cms.contenttypes.ui.mparticle.add_new_section=Neuen Abschnitt hinzuf\u00fcgen
cms.contenttypes.ui.mparticle.add_section=Abschnitt hinzuf\u00fcgen
cms.contenttypes.ui.mparticle.an_item_with_name_already_exists=Ein Element mit dem Namen existiert bereits.
cms.contenttypes.ui.mparticle.an_item_with_this_name_already_exists=Ein Element mit diesem Namen existiert bereits.
cms.contenttypes.ui.mparticle.article_summary=Artikel Zusammenfassung
cms.contenttypes.ui.mparticle.article_title=Articel Titel
cms.contenttypes.ui.mparticle.body_text=Haupttext:
cms.contenttypes.ui.mparticle.caption=Bildtext:
cms.contenttypes.ui.mparticle.section.text=Abschnittstext:
cms.contenttypes.ui.mparticle.section.caption=Bildtext:
cms.contenttypes.ui.mparticle.current_image=Aktuelles Bild:
cms.contenttypes.ui.mparticle.delete_section=Abschnitt l\u00F6schen
cms.contenttypes.ui.mparticle.delete_section=Abschnitt l\u00f6schen
cms.contenttypes.ui.mparticle.edit_section=Abschnitt bearbeiten
cms.contenttypes.ui.mparticle.image=Bild:
cms.contenttypes.ui.mparticle.move_section_name=Abschnitt verschieben
cms.contenttypes.ui.mparticle.section.image=Bild:
cms.contenttypes.ui.mparticle.move_section_name=verschiebe Abschnitt: {0}
cms.contenttypes.ui.mparticle.move_to_beginning=An den Anfang verschieben
cms.contenttypes.ui.mparticle.name=Name:
cms.contenttypes.ui.mparticle.no_sections_yet=Zur Zeit keine Abschnitte
cms.contenttypes.ui.mparticle.no_text_available=Kein Text verf\u00FCgbar
cms.contenttypes.ui.mparticle.no_text_available=Kein Text verf\u00fcgbar
cms.contenttypes.ui.mparticle.section_text_asset=Section text asset
cms.contenttypes.ui.mparticle.section_title=Section Title
cms.contenttypes.ui.mparticle.select_image=Select image:
cms.contenttypes.ui.mparticle.section.title=Titel des Abschnitts:
cms.contenttypes.ui.mparticle.section.select_image=Select image:
cms.contenttypes.ui.mparticle.submission_cancelled=Vorlage verworfen
cms.contenttypes.ui.mparticle.summary=Beschreibung:
cms.contenttypes.ui.mparticle.title=Titel:
cms.contenttypes.ui.mparticle.view_all_sections=Alle Abschnitte anschauen
cms.contenttypes.ui.mparticle.no_launch_date=Ver\u00F6ffentlichungsdatum fehlt
cms.contenttypes.ui.mparticle.no_launch_date=Ver\u00f6ffentlichungsdatum fehlt
cms.contenttypes.ui.mparticle.section_table.header_section=Abschnitt
cms.contenttypes.ui.mparticle.section_table.header_delete=L\u00f6schen
cms.contenttypes.ui.mparticle.section_table.header_move=Verschieben
cms.contenttypes.ui.mparticle.section_table.header_edit=Bearbeiten
cms.contenttypes.ui.mparticle.section_table.link_delete=l\u00f6schen
cms.contenttypes.ui.mparticle.section_table.link_move=verschieben
cms.contenttypes.ui.mparticle.section_table.link_edit=bearbeiten
cms.contenttypes.ui.mparticle.section.create_break=Seitenumbruch einf\u00fcgen

View File

@ -5,22 +5,27 @@ cms.contenttypes.ui.mparticle.an_item_with_name_already_exists=An item with name
cms.contenttypes.ui.mparticle.an_item_with_this_name_already_exists=An item with this name already exists
cms.contenttypes.ui.mparticle.article_summary=Article Summary
cms.contenttypes.ui.mparticle.article_title=Article Title
cms.contenttypes.ui.mparticle.body_text=Body text:
cms.contenttypes.ui.mparticle.caption=Caption:
cms.contenttypes.ui.mparticle.section.text=Section text:
cms.contenttypes.ui.mparticle.section.caption=L\u00e9gende
cms.contenttypes.ui.mparticle.current_image=Current image:
cms.contenttypes.ui.mparticle.delete_section=Delete section
cms.contenttypes.ui.mparticle.edit_section=Edit Section
cms.contenttypes.ui.mparticle.image=Image:
cms.contenttypes.ui.mparticle.move_section_name=Move section
cms.contenttypes.ui.mparticle.section.image=Image:
cms.contenttypes.ui.mparticle.move_section_name=Move section: {0}
cms.contenttypes.ui.mparticle.move_to_beginning=Move to beginning
cms.contenttypes.ui.mparticle.name=Name:
cms.contenttypes.ui.mparticle.no_sections_yet=No sections yet
cms.contenttypes.ui.mparticle.no_text_available=No Text Available
cms.contenttypes.ui.mparticle.section_text_asset=Section text asset
cms.contenttypes.ui.mparticle.section_title=Section Title
cms.contenttypes.ui.mparticle.select_image=Select image:
cms.contenttypes.ui.mparticle.section.title=Section Title:
cms.contenttypes.ui.mparticle.section.select_image=Select image:
cms.contenttypes.ui.mparticle.submission_cancelled=Submission cancelled
cms.contenttypes.ui.mparticle.summary=Description:
cms.contenttypes.ui.mparticle.title=Title:
cms.contenttypes.ui.mparticle.view_all_sections=View all sections
cms.contenttypes.ui.mparticle.no_launch_date=launch date is required
cms.contenttypes.ui.mparticle.section_table.header_section=Section
cms.contenttypes.ui.mparticle.section_table.header_delete=Delete
cms.contenttypes.ui.mparticle.section_table.header_move=Move
cms.contenttypes.ui.mparticle.section_table.header_edit=Edit
cms.contenttypes.ui.mparticle.section_table.link_delete=delete
cms.contenttypes.ui.mparticle.section_table.link_move=move
cms.contenttypes.ui.mparticle.section_table.link_edit=edit
cms.contenttypes.ui.mparticle.section.create_break=Create section break

View File

@ -146,7 +146,8 @@ public class ArticleSectionPanel extends SimpleComponent implements
bundle = (ContentBundle) item;
resolved = bundle.getInstance(GlobalizationHelper.getNegotiatedLocale().getLanguage());
resolved = bundle.getInstance(GlobalizationHelper
.getNegotiatedLocale().getLanguage());
if (resolved == null) {
resolved = bundle.getPrimaryInstance();
}

View File

@ -81,11 +81,11 @@ public class ImageUploadSection extends FormSection
add(m_deleteImage);
add(new Label(
MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.select_image")));
.globalize("cms.contenttypes.ui.mparticle.section.select_image")));
add(new FileUpload(m_name + IMAGE));
add(new Label(
MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.caption")));
.globalize("cms.contenttypes.ui.mparticle.section.caption")));
TextField caption = new TextField(m_name + CAPTION);
caption.setSize(40);
add(caption);
@ -113,7 +113,8 @@ public class ImageUploadSection extends FormSection
FormData data = event.getFormData();
PageState state = event.getPageState();
ReusableImageAsset image = (ReusableImageAsset)m_selImage.getSelectedObject(state);
ReusableImageAsset image = (ReusableImageAsset)
m_selImage.getSelectedObject(state);
m_currentImage.setVisible(state, false);
m_imageDisplay.setVisible(state, false);
@ -171,7 +172,9 @@ public class ImageUploadSection extends FormSection
if ( image != null ) {
try {
a = new ReusableImageAsset();
a.loadFromFile(getImageFilename(event), image, ReusableImageAsset.MIME_JPEG);
a.loadFromFile(getImageFilename(event),
image,
ReusableImageAsset.MIME_JPEG);
a.setDescription((String)data.get(m_name + CAPTION));
} catch ( Exception ex ) {
log.error("Could not load " + getImageFilename(event));

View File

@ -37,6 +37,7 @@ import com.arsdigita.cms.ui.authoring.CreationComponent;
import com.arsdigita.cms.ui.authoring.CreationSelector;
import com.arsdigita.cms.ui.authoring.LanguageWidget;
import com.arsdigita.cms.ui.authoring.ApplyWorkflowFormSection;
import com.arsdigita.cms.util.GlobalizationUtil;
import com.arsdigita.cms.contenttypes.util.MPArticleGlobalizationUtil;
import com.arsdigita.util.Assert;
@ -64,15 +65,15 @@ public class MultiPartArticleCreate extends MultiPartArticleForm
m_workflowSection.setCreationSelector(m_parent);
m_workflowSection.setContentType(m_itemModel.getContentType());
addSubmissionListener(this);
getSaveCancelSection().getSaveButton().setButtonLabel("Create");
getSaveCancelSection().getSaveButton().setButtonLabel(
GlobalizationUtil.globalize("cms.ui.create"));
}
@Override
protected void addWidgets() {
m_workflowSection = new ApplyWorkflowFormSection();
add(m_workflowSection, ColumnPanel.INSERT);
add(new Label(
MPArticleGlobalizationUtil
add(new Label(GlobalizationUtil
.globalize("cms.ui.language.field")));
add(new LanguageWidget(LANGUAGE));
super.addWidgets();

View File

@ -25,12 +25,13 @@ import com.arsdigita.cms.ContentPage;
import com.arsdigita.cms.ContentSection;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.MultiPartArticle;
import com.arsdigita.cms.contenttypes.util.MPArticleGlobalizationUtil;
import com.arsdigita.domain.DomainObject;
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
import com.arsdigita.cms.contenttypes.util.MPArticleGlobalizationUtil;
import com.arsdigita.cms.util.GlobalizationUtil;
import java.text.DateFormat;
@ -75,14 +76,14 @@ public class MultiPartArticleEdit extends SimpleEditStep {
) {
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
sheet.add( MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.name"),
MultiPartArticle.NAME );
sheet.add( MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.title"),
sheet.add( GlobalizationUtil
.globalize("cms.contenttypes.ui.title"),
MultiPartArticle.TITLE );
sheet.add( GlobalizationUtil
.globalize("cms.contenttypes.ui.name"),
MultiPartArticle.NAME );
if (!ContentSection.getConfig().getHideLaunchDate()) {
sheet.add(MPArticleGlobalizationUtil
sheet.add(GlobalizationUtil
.globalize("cms.contenttypes.ui.launch_date"),
ContentPage.LAUNCH_DATE,
new DomainObjectPropertySheet.AttributeFormatter() {
@ -94,13 +95,12 @@ public class MultiPartArticleEdit extends SimpleEditStep {
return DateFormat.getDateInstance(DateFormat.LONG)
.format(page.getLaunchDate());
} else {
return "<i>unknown</i>";
return "unknown";
}
}
});
}
sheet.add( MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.summary"),
sheet.add( GlobalizationUtil.globalize("cms.contenttypes.ui.summary"),
MultiPartArticle.SUMMARY );
return sheet;

View File

@ -63,8 +63,10 @@ import java.util.Date;
* @version $id$
*/
public abstract class MultiPartArticleForm extends FormSection
implements FormInitListener, FormProcessListener, FormValidationListener
{
implements FormInitListener,
FormProcessListener,
FormValidationListener {
protected ItemSelectionModel m_itemModel;
protected SaveCancelSection m_saveCancelSection;
@ -114,7 +116,8 @@ public abstract class MultiPartArticleForm extends FormSection
protected void addWidgets () {
add(new Label(MPArticleGlobalizationUtil.globalize("cms.contenttypes.ui.mparticle.title")));
add(new Label(GlobalizationUtil
.globalize("cms.contenttypes.ui.title")));
TextField titleWidget = new TextField(new TrimmedStringParameter(TITLE));
titleWidget.addValidationListener(new NotNullValidationListener());
titleWidget.setOnFocus("if (this.form." + NAME + ".value == '') { " +
@ -126,7 +129,8 @@ public abstract class MultiPartArticleForm extends FormSection
);
add(titleWidget);
add(new Label(MPArticleGlobalizationUtil.globalize("cms.contenttypes.ui.mparticle.name")));
add(new Label(GlobalizationUtil
.globalize("cms.contenttypes.ui.name")));
TextField nameWidget = new TextField(new TrimmedStringParameter(NAME));
nameWidget.addValidationListener(new NameValidationListener());
nameWidget.setOnFocus("defaulting = false");
@ -138,7 +142,8 @@ public abstract class MultiPartArticleForm extends FormSection
add(nameWidget);
if (!ContentSection.getConfig().getHideLaunchDate()) {
add(new Label(MPArticleGlobalizationUtil.globalize("cms.ui.authoring.page_launch_date")));
add(new Label(GlobalizationUtil
.globalize("cms.ui.authoring.page_launch_date")));
ParameterModel launchDateParam = new DateParameter(LAUNCH_DATE);
com.arsdigita.bebop.form.Date launchDate
= new com.arsdigita.bebop.form.Date(launchDateParam);
@ -150,10 +155,14 @@ public abstract class MultiPartArticleForm extends FormSection
add(launchDate);
}
add(new Label(MPArticleGlobalizationUtil.globalize("cms.contenttypes.ui.mparticle.summary")));
add(new Label(GlobalizationUtil
.globalize("cms.contenttypes.ui.summary")));
TextArea summaryWidget = new TextArea(new TrimmedStringParameter(SUMMARY));
if (ContentSection.getConfig().mandatoryDescriptions()) {
summaryWidget.addValidationListener(new NotEmptyValidationListener(GlobalizationUtil.globalize("cms.contenttypes.ui.description_missing")));
summaryWidget
.addValidationListener(new
NotEmptyValidationListener(GlobalizationUtil
.globalize("cms.contenttypes.ui.description_missing")));
}
summaryWidget.setRows(5);
summaryWidget.setCols(30);

View File

@ -91,7 +91,8 @@ public class MultiPartArticleViewSections extends ResettableContainer
private String m_typeIDStr;
public MultiPartArticleViewSections ( ItemSelectionModel selArticle, AuthoringKitWizard wizard) {
public MultiPartArticleViewSections ( ItemSelectionModel selArticle,
AuthoringKitWizard wizard) {
super();
m_selArticle = selArticle;
m_wizard = wizard;
@ -129,13 +130,16 @@ public class MultiPartArticleViewSections extends ResettableContainer
m_sectionTable.setSectionModel(m_selSection);
Label emptyView = new Label(MPArticleGlobalizationUtil.globalize("cms.contenttypes.ui.mparticle.no_sections_yet"));
Label emptyView = new Label(MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.no_sections_yet"));
m_sectionTable.setEmptyView(emptyView);
m_moveSectionLabel = new Label ("Section Name");
m_moveSectionLabel = new Label (MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.section.title"));
c.add(m_moveSectionLabel, ColumnPanel.FULL_WIDTH | ColumnPanel.LEFT);
m_beginLink = new ActionLink( (String) MPArticleGlobalizationUtil.globalize("cms.contenttypes.ui.mparticle.move_to_beginning").localize());
m_beginLink = new ActionLink( MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.move_to_beginning"));
c.add(m_beginLink);
m_beginLink.addActionListener ( new ActionListener() {
@ -158,28 +162,34 @@ public class MultiPartArticleViewSections extends ResettableContainer
} else {
m_beginLink.setVisible(state, true);
m_moveSectionLabel.setVisible(state, true);
m_moveSectionLabel.setLabel
((String) MPArticleGlobalizationUtil.globalize
("cms.contenttypes.ui.mparticle.move_section_name")
.localize() + " "
+ ((ArticleSection)m_moveSection.getSelectedObject(state))
.getTitle(), state);
Object[] parmObj = {
((ArticleSection)m_moveSection.getSelectedObject(state))
.getTitle()
};
m_moveSectionLabel
.setLabel(MPArticleGlobalizationUtil.globalize(
"cms.contenttypes.ui.mparticle.move_section_name",
parmObj )
, state
);
}
}
});
// handle clicks to preview or delete a Section
m_sectionTable.addTableActionListener ( new TableActionListener () {
m_sectionTable.addTableActionListener ( new
TableActionListener () {
public void cellSelected ( TableActionEvent event ) {
PageState state = event.getPageState();
TableColumn col = m_sectionTable.getColumnModel()
.get(event.getColumn().intValue());
String colName = (String)col.getHeaderValue();
.get(event.getColumn()
.intValue());
if ( SectionTable.COL_DEL.equals(colName) ) {
if (col.getModelIndex() == SectionTable.COL_INDEX_DELETE) {
onlyShowComponent(state, SECTION_DEL+m_typeIDStr);
} else if ( SectionTable.COL_EDIT.equals(colName) ) {
} else if (col.getModelIndex() == SectionTable.COL_INDEX_EDIT) {
onlyShowComponent(state, SECTION_EDIT+m_typeIDStr);
}
}
@ -215,9 +225,11 @@ public class MultiPartArticleViewSections extends ResettableContainer
Label label = (Label)event.getTarget();
if ( m_selSection.getSelectedKey(state) == null ) {
label.setLabel( (String) MPArticleGlobalizationUtil.globalize("cms.contenttypes.ui.mparticle.add_section").localize());
label.setLabel(MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.add_section"));
} else {
label.setLabel( (String) MPArticleGlobalizationUtil.globalize("cms.contenttypes.ui.mparticle.edit_section").localize());
label.setLabel(MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.edit_section"));
}
}
}));
@ -244,7 +256,8 @@ public class MultiPartArticleViewSections extends ResettableContainer
c.setBorderColor("#FFFFFF");
c.setPadColor("#FFFFFF");
c.add(new Label(MPArticleGlobalizationUtil.globalize("cms.contenttypes.ui.mparticle.delete_section")));
c.add(new Label(MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.delete_section")));
m_sectionDelete = new SectionDeleteForm(m_selArticle, m_selSection);
m_sectionDelete.addSubmissionListener ( new FormSubmissionListener () {
public void submitted ( FormSectionEvent e ) {
@ -264,7 +277,8 @@ public class MultiPartArticleViewSections extends ResettableContainer
* Utility method to create a link to display the section list.
*/
protected ActionLink buildViewAllLink () {
ActionLink viewAllLink = new ActionLink( (String) MPArticleGlobalizationUtil.globalize("cms.contenttypes.ui.mparticle.view_all_sections").localize());
ActionLink viewAllLink = new ActionLink(MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.view_all_sections"));
viewAllLink.setClassAttr(ACTION_LINK);
viewAllLink.addActionListener( new ActionListener() {
public void actionPerformed ( ActionEvent event ) {
@ -280,7 +294,8 @@ public class MultiPartArticleViewSections extends ResettableContainer
* Utility method to create a link to display the section list.
*/
protected ActionLink buildAddLink () {
ActionLink addLink = new ActionLink( (String) MPArticleGlobalizationUtil.globalize("cms.contenttypes.ui.mparticle.add_new_section").localize()) {
ActionLink addLink = new ActionLink(MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.add_new_section")) {
public boolean isVisible(PageState state) {
SecurityManager sm = Utilities.getSecurityManager(state);
ContentItem item = (ContentItem)m_selArticle.getSelectedObject(state);

View File

@ -33,6 +33,7 @@ import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.contenttypes.ArticleSection;
import com.arsdigita.cms.contenttypes.MultiPartArticle;
import com.arsdigita.cms.contenttypes.util.MPArticleGlobalizationUtil;
import com.arsdigita.cms.util.GlobalizationUtil;
import com.arsdigita.util.Assert;
import org.apache.log4j.Logger;
@ -78,7 +79,8 @@ public class SectionDeleteForm extends Form
protected SaveCancelSection addSaveCancelSection () {
m_saveCancelSection = new SaveCancelSection();
m_saveCancelSection.getSaveButton().setButtonLabel("Delete");
m_saveCancelSection.getSaveButton().setButtonLabel(
GlobalizationUtil.globalize("cms.ui.delete"));
add(m_saveCancelSection, ColumnPanel.FULL_WIDTH | ColumnPanel.LEFT);
return m_saveCancelSection;
}

View File

@ -159,14 +159,14 @@ public class SectionEditForm extends Form {
*/
protected void addWidgets() {
add(new Label(MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.title")));
.globalize("cms.contenttypes.ui.mparticle.section.title")));
TextField titleWidget = new TextField(
new TrimmedStringParameter(TITLE));
titleWidget.addValidationListener(new NotNullValidationListener());
add(titleWidget);
add(new Label(MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.body_text")),
.globalize("cms.contenttypes.ui.mparticle.section.text")),
ColumnPanel.LEFT | ColumnPanel.FULL_WIDTH);
CMSDHTMLEditor textWidget =
new CMSDHTMLEditor(new TrimmedStringParameter(TEXT));
@ -177,15 +177,16 @@ public class SectionEditForm extends Form {
ColumnPanel.LEFT | ColumnPanel.FULL_WIDTH);
add(new Label(MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.image")),
.globalize("cms.contenttypes.ui.mparticle.section.image")),
ColumnPanel.FULL_WIDTH | ColumnPanel.LEFT);
m_imageUpload = new ImageUploadSection("image", m_selImage);
add(m_imageUpload, ColumnPanel.FULL_WIDTH | ColumnPanel.LEFT);
add(new Label(""));
CheckboxGroup pageBreak = new CheckboxGroup(PAGE_BREAK);
pageBreak.addOption(new Option("true", "Create page break"));
pageBreak.addOption(new Option("true",
new Label(MPArticleGlobalizationUtil
.globalize("cms.contenttypes.ui.mparticle.section.create_break")) ));
add(pageBreak);
}
@ -316,7 +317,8 @@ public class SectionEditForm extends Form {
section.setPageBreak(pageBreak);
// get the image asset
ReusableImageAsset reusableImageAsset = m_imageUpload.processImageUpload(event);
ReusableImageAsset reusableImageAsset =
m_imageUpload.processImageUpload(event);
if ( reusableImageAsset != null ) {
section.setImage(reusableImageAsset);
m_selImage.setSelectedObject(state, reusableImageAsset);

View File

@ -38,9 +38,11 @@ import com.arsdigita.cms.contenttypes.ArticleSection;
import com.arsdigita.cms.contenttypes.ArticleSectionCollection;
import com.arsdigita.cms.contenttypes.MultiPartArticle;
import com.arsdigita.cms.dispatcher.Utilities;
import com.arsdigita.cms.contenttypes.util.MPArticleGlobalizationUtil;
import com.arsdigita.domain.DomainObjectFactory;
import com.arsdigita.persistence.OID;
import com.arsdigita.util.LockableImpl;
import org.apache.log4j.Logger;
import java.math.BigDecimal;
@ -58,11 +60,11 @@ public class SectionTable extends Table
private static final Logger log =
Logger.getLogger(SectionTable.class.getName());
// column headings
public static final String COL_TITLE = "Section";
public static final String COL_EDIT = "Edit";
public static final String COL_MOVE = "Move";
public static final String COL_DEL = "Delete";
// match columns by (symbolic) index, makes for easier reordering
public static final int COL_INDEX_TITLE = 0; // "Section";
public static final int COL_INDEX_EDIT = 1; // "Edit";
public static final int COL_INDEX_MOVE = 2; // "Move";
public static final int COL_INDEX_DELETE = 3; // "Delete";
private ItemSelectionModel m_selArticle;
private ItemSelectionModel m_selSection;
@ -83,10 +85,26 @@ public class SectionTable extends Table
m_moveSection = moveSection;
TableColumnModel model = getColumnModel();
model.add( new TableColumn( 0, COL_TITLE ));
model.add( new TableColumn( 1, COL_EDIT ));
model.add( new TableColumn( 2, COL_MOVE ));
model.add( new TableColumn( 3, COL_DEL ));
model.add( new TableColumn(
COL_INDEX_TITLE,
new Label(MPArticleGlobalizationUtil.globalize(
"cms.contenttypes.ui.mparticle.section_table.header_section")
) ));
model.add( new TableColumn(
COL_INDEX_EDIT,
new Label(MPArticleGlobalizationUtil.globalize(
"cms.contenttypes.ui.mparticle.section_table.header_edit")
) ));
model.add( new TableColumn(
COL_INDEX_MOVE,
new Label(MPArticleGlobalizationUtil.globalize(
"cms.contenttypes.ui.mparticle.section_table.header_move")
) ));
model.add( new TableColumn(
COL_INDEX_DELETE,
new Label(MPArticleGlobalizationUtil.globalize(
"cms.contenttypes.ui.mparticle.section_table.header_delete")
) ));
model.get(1).setCellRenderer(new SectionTableCellRenderer(true));
model.get(2).setCellRenderer(new SectionTableCellRenderer(true));
@ -99,13 +117,14 @@ public class SectionTable extends Table
public void cellSelected ( TableActionEvent event ) {
PageState state = event.getPageState();
TableColumn col = getColumnModel()
.get(event.getColumn().intValue());
String colName = (String)col.getHeaderValue();
TableColumn col = getColumnModel().get(event.getColumn()
.intValue());
if ( COL_MOVE.equals(colName) ) {
if ( col.getModelIndex() == COL_INDEX_MOVE ) {
if ( m_moveSection.getSelectedKey(state) == null ) {
m_moveSection.setSelectedKey(state, m_selSection.getSelectedKey(state));
m_moveSection.setSelectedKey(state,
m_selSection
.getSelectedKey(state));
} else {
MultiPartArticle article = (MultiPartArticle)
m_selArticle.getSelectedObject(state);
@ -153,8 +172,6 @@ public class SectionTable extends Table
}
/**
* The model builder to generate a suitable model for the SectionTable
*/
@ -175,7 +192,8 @@ public class SectionTable extends Table
public TableModel makeModel ( Table table, PageState state ) {
table.getRowSelectionModel().clearSelection(state);
MultiPartArticle article = (MultiPartArticle)m_selArticle.getSelectedObject(state);
MultiPartArticle article = (MultiPartArticle)m_selArticle
.getSelectedObject(state);
return new SectionTableModel(table, state, article, m_moveSection);
}
@ -202,7 +220,8 @@ public class SectionTable extends Table
* @param moveSection
*/
public SectionTableModel ( Table table, PageState state,
MultiPartArticle article, ItemSelectionModel moveSection ) {
MultiPartArticle article,
ItemSelectionModel moveSection ) {
m_colModel = table.getColumnModel();
m_state = state;
m_sections = article.getSections();
@ -215,8 +234,8 @@ public class SectionTable extends Table
return m_colModel.size();
}
/** Move to the next row and return true if the model is now positioned on
* a valid row.
/** Move to the next row and return true if the model is now positioned
* on a valid row.
*/
public boolean nextRow () {
if ( m_sections.next() ) {
@ -226,21 +245,24 @@ public class SectionTable extends Table
return false;
}
/** Return the data element for the given column and the current row. */
/**
* Return the data element for the given column and the current row.
*/
public Object getElementAt( int columnIndex ) {
if ( m_colModel == null ) { return null; }
// match columns by name... makes for easier reordering
TableColumn col = m_colModel.get(columnIndex);
String colName = (String)col.getHeaderValue();
if ( COL_TITLE.equals(colName) ) {
// match columns by (symbolic) index, makes for easier reordering
if ( columnIndex == COL_INDEX_TITLE ) {
return m_section.getTitle();
} else if ( COL_EDIT.equals(colName) ) {
} else if ( columnIndex == COL_INDEX_EDIT ) {
return "edit";
} else if ( COL_DEL.equals(colName) ) {
//return new Label(MPArticleGlobalizationUtil.globalize(
// "cms.contenttypes.ui.mparticle.section_table.link_edit")
// );
} else if ( columnIndex == COL_INDEX_DELETE ) {
return "delete";
} else if ( COL_MOVE.equals(colName) ) {
} else if ( columnIndex == COL_INDEX_MOVE ) {
if ( m_moveSection.getSelectedKey(m_state) == null ) {
return "move";
} else {
@ -251,7 +273,9 @@ public class SectionTable extends Table
return null;
}
/** Return the key for the given column and the current row. */
/**
* Return the key for the given column and the current row.
*/
public Object getKeyAt ( int columnIndex ) {
return m_section.getID();
}

View File

@ -51,7 +51,7 @@ cms.contenttypes.ui.contact.attach_person=Attach Person
cms.contenttypes.ui.contact.edit_person=Edit Person
cms.contenttypes.ui.contact.reattach_person=Reattach Person
cms.contenttypes.ui.contact.delete_person=Delete Person
cms.contenttypes.ui.contact.emptyPerson=There is no Address attached
cms.contenttypes.ui.contact.emptyPerson=There is no Person attached
cms.contenttypes.ui.contact.select_person=Please select a Person content type
cms.contenttypes.ui.contact.select_person.add=Add
cms.contenttypes.ui.contact.select_person.change=Change

View File

@ -8,19 +8,20 @@
*/
package com.arsdigita.cms.contenttypes.ui;
import com.arsdigita.bebop.PageState;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.BasicPageForm;
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
import com.arsdigita.domain.DomainObject;
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
import com.arsdigita.bebop.Component;
import com.arsdigita.bebop.Label;
import com.arsdigita.bebop.PageState;
import com.arsdigita.cms.contenttypes.GenericAddress;
import com.arsdigita.cms.contenttypes.GenericContact;
import com.arsdigita.cms.contenttypes.util.ContenttypesGlobalizationUtil;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.ui.authoring.AuthoringKitWizard;
import com.arsdigita.cms.ui.authoring.BasicPageForm;
import com.arsdigita.cms.ui.authoring.SimpleEditStep;
import com.arsdigita.cms.ui.workflow.WorkflowLockedComponentAccess;
import com.arsdigita.cms.util.GlobalizationUtil;
import com.arsdigita.domain.DomainObject;
import com.arsdigita.toolbox.ui.DomainObjectPropertySheet;
/**
*
@ -124,7 +125,7 @@ public class GenericContactAddressPropertiesStep extends SimpleEditStep {
return GenericAddress.getCountryNameFromIsoCode(Address.
getIsoCountryCode());
} else {
return (String) ContenttypesGlobalizationUtil.globalize(
return (String) GlobalizationUtil.globalize(
"cms.ui.unknown").localize();
}
}

View File

@ -25,6 +25,7 @@ import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.ItemSelectionModel;
import com.arsdigita.cms.RelationAttribute;
import com.arsdigita.cms.ui.authoring.BasicPageForm;
import com.arsdigita.cms.util.GlobalizationUtil;
import com.arsdigita.cms.contenttypes.GenericContact;
import com.arsdigita.cms.contenttypes.GenericContactTypeCollection;
import com.arsdigita.cms.contenttypes.GenericPerson;
@ -39,7 +40,10 @@ import org.apache.log4j.Logger;
*
* @author quasi
*/
public class GenericContactEditPersonPropertyForm extends BasicPageForm implements FormProcessListener, FormInitListener, FormSubmissionListener {
public class GenericContactEditPersonPropertyForm extends BasicPageForm
implements FormProcessListener,
FormInitListener,
FormSubmissionListener {
private static final Logger logger = Logger.getLogger(GenericContactPropertyForm.class);
private GenericContactPersonPropertiesStep m_step;
@ -118,7 +122,7 @@ public class GenericContactEditPersonPropertyForm extends BasicPageForm implemen
contactType.addValidationListener(new NotNullValidationListener());
contactType.addOption(new
Option("",
new Label(ContenttypesGlobalizationUtil
new Label(GlobalizationUtil
.globalize("cms.ui.select_one"))));
// Add the Options to the SingleSelect widget

View File

@ -26,13 +26,14 @@ import com.arsdigita.bebop.form.SingleSelect;
import com.arsdigita.bebop.form.TextField;
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.contenttypes.GenericContact;
import com.arsdigita.cms.contenttypes.GenericContactEntry;
import com.arsdigita.cms.contenttypes.util.ContenttypesGlobalizationUtil;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.bebop.parameters.StringParameter;
import com.arsdigita.cms.contenttypes.GenericContactEntryKeys;
import com.arsdigita.cms.util.GlobalizationUtil;
import com.arsdigita.cms.ui.authoring.BasicItemForm;
import com.arsdigita.globalization.GlobalizationHelper;
@ -63,7 +64,7 @@ public class GenericContactEntryAddForm extends BasicItemForm {
ParameterModel contactEntryKeyParam = new StringParameter(GenericContactEntry.KEY);
SingleSelect contactEntryKey = new SingleSelect(contactEntryKeyParam);
contactEntryKey.addValidationListener(new NotNullValidationListener());
contactEntryKey.addOption(new Option("", new Label((String)ContenttypesGlobalizationUtil.globalize("cms.ui.select_one").localize())));
contactEntryKey.addOption(new Option("", new Label((String)GlobalizationUtil.globalize("cms.ui.select_one").localize())));
// Add the Options to the SingleSelect widget
GenericContactEntryKeys keyList = new GenericContactEntryKeys();

View File

@ -136,8 +136,8 @@ public class GenericContactPropertiesStep extends SimpleEditStep {
/* The DisplayComponent for the Basic Properties */
DomainObjectPropertySheet sheet = new DomainObjectPropertySheet(itemModel);
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.name"), "name");
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.title"), "title");
sheet.add(GlobalizationUtil.globalize("cms.contenttypes.ui.name"), "name");
if (!ContentSection.getConfig().getHideLaunchDate()) {